www.pudn.com > Mir2Delphi.rar > mir2.dpr


program mir2; 
 
uses 
  Forms, 
  Dialogs, 
  IniFiles, 
  Windows, 
  SysUtils, 
  ClMain in 'ClMain.pas' {FrmMain}, 
  DrawScrn in 'DrawScrn.pas', 
  IntroScn in 'IntroScn.pas', 
  PlayScn in 'PlayScn.pas', 
  MapUnit in 'MapUnit.pas', 
  FState in 'FState.pas' {FrmDlg}, 
  ClFunc in 'ClFunc.pas', 
  cliUtil in 'cliUtil.pas', 
  DWinCtl in 'DWinCtl.pas', 
  WIL in 'WIL.pas', 
  magiceff in 'magiceff.pas', 
  SoundUtil in 'SoundUtil.pas', 
  Actor in 'Actor.pas', 
  HerbActor in 'HerbActor.pas', 
  AxeMon in 'AxeMon.pas', 
  clEvent in 'clEvent.pas', 
  HUtil32 in 'HUtil32.pas', 
  Grobal2 in 'grobal2.pas', 
  EDcode in 'EDCode.pas'; 
 
{$R *.RES} 
 
const 
   PatchTempFile = 'Patch#n.dat'; 
   PatchTempTestFile = 'Patch#n1.dat'; 
   PatchTestProgram = 'AutoTestPatch.exe'; 
   PatchProgram = 'Patch.exe'; 
 
var 
   mini: TIniFile; 
   boneedpatch: Boolean; 
   patchprogramname: string; 
   patchtemp: string; 
   str: string; 
   pstr: array[0..255] of char; 
begin 
//  if CheckMirProgram then begin 
//     Application.Terminate; 
//     exit; 
//  end; 
 
  boneedpatch := TRUE; 
  mini := TIniFile.Create ('.\mir.ini'); 
  if mini <> nil then begin 
      if mini.ReadInteger ('setup', 'Patched', 0) = 1 then 
         boneedpatch := FALSE; 
      mini.WriteInteger ('setup', 'patched', 0); 
      if ParamStr(1) <> '' then begin 
         MainParam1 := ParamStr(1); 
         MainParam2 := ParamStr(2); 
         MainParam3 := ParamStr(3); 
         MainParam4 := ParamStr(4); 
         MainParam5 := ParamStr(5); 
         mini.WriteString ('Setup', 'Param1', MainParam1); 
         mini.WriteString ('Setup', 'Param2', MainParam2); 
         mini.WriteString ('Setup', 'Param3', MainParam3); 
         mini.WriteString ('Setup', 'Param4', MainParam4); 
         mini.WriteString ('Setup', 'Param5', MainParam5); 
      end else begin 
         str := mini.ReadString ('Setup', 'Param1', ''); 
         if str <> '' then begin 
            MainParam1 := str; 
            MainParam2 := mini.ReadString ('Setup', 'Param2', ''); 
            MainParam3 := mini.ReadString ('Setup', 'Param3', ''); 
            MainParam4 := mini.ReadString ('Setup', 'Param4', ''); 
            MainParam5 := mini.ReadString ('Setup', 'Param5', ''); 
         end; 
         mini.WriteString ('Setup', 'Param1', ''); 
         mini.WriteString ('Setup', 'Param2', ''); 
         mini.WriteString ('Setup', 'Param3', ''); 
         mini.WriteString ('Setup', 'Param4', ''); 
         mini.WriteString ('Setup', 'Param5', ''); 
      end; 
      mini.Free; 
  end; 
  if BO_FOR_TEST then begin 
     patchprogramname := PatchTestProgram; 
     patchtemp := PatchTempTestFile; 
  end else begin 
     patchprogramname := PatchProgram; 
     patchtemp := PatchTempFile; 
  end; 
  if FileExists(patchtemp) then begin  //ÆÐÄ¡ ÇÁ·Î±×·¥ÀÌ º¯°æµÇ¾ß ÇÏ´Â °æ¿ì.. 
     if FileSize(patchtemp) > 300 * 1024 then begin //ÀÏÁ¤ÇÑ Å©±â ÀÌ»ó.. 
        FileCopy (patchtemp, patchprogramname) 
     end; 
  end; 
  if boneedpatch then begin 
     if FileExists(patchprogramname) then begin 
       StrPCopy (pstr, patchprogramname); 
       WinExec (pstr, 0); 
       Application.Terminate; 
       exit; 
     end else 
       MessageDlg (patchprogramname + '¸¦ ½ÇÇà½Ãų ¼ö ¾ø½À´Ï´Ù. ÀÌ ÆÄÀÏÀÌ ¾øÀ¸¸é ÀÚµ¿ ÆÐÄ¡°¡ ¾ÈµË´Ï´Ù.', mtWarning, [mbOk], 0); 
  end; 
  if HasMMX then begin 
     Application.Initialize; 
     Application.Title := 'legend of mir2'; 
  Application.CreateForm(TFrmMain, FrmMain); 
  Application.CreateForm(TFrmDlg, FrmDlg); 
  Application.Run; 
  end else begin 
     MessageDlg ('CPU²»Ö§³ÖMMXÖ¸Á³ÌÐò½«Í˳ö.', mtError, [mbOk], 0); 
     Application.Terminate; 
     exit; 
  end; 
 
//  if CheckMirProgram then begin 
//     Application.Terminate; 
//     exit; 
//  end; 
end.