X-Git-Url: https://deadsoftware.ru/gitweb?a=blobdiff_plain;f=src%2Feditor%2Ff_maptest.pas;h=6f819eda6e51a273031ff8a2c03f8636e3e7db75;hb=78890b1e0b8fae82e29e68e3aa0ea77bf5b6e86d;hp=69f7f40f0568c338ddfee771a442719314fac0e8;hpb=3dc2fe6b3d29cd54425db8f590e922f2dce50e99;p=d2df-editor.git diff --git a/src/editor/f_maptest.pas b/src/editor/f_maptest.pas index 69f7f40..6f819ed 100644 --- a/src/editor/f_maptest.pas +++ b/src/editor/f_maptest.pas @@ -10,10 +10,14 @@ uses ComCtrls; type + + { TMapTestForm } + TMapTestForm = class (TForm) bOK: TButton; bCancel: TButton; GroupBox1: TGroupBox; + LabelArgs: TLabel; // Режим игры: rbDM: TRadioButton; rbTDM: TRadioButton; @@ -38,6 +42,7 @@ type // Путь: LabelPath: TLabel; edD2dexe: TEdit; + edD2DArgs: TEdit; bChooseD2d: TButton; FindD2dDialog: TOpenDialog; @@ -59,7 +64,7 @@ var implementation uses - f_main, CONFIG; + f_main, g_options, CONFIG; {$R *.lfm} @@ -70,7 +75,7 @@ var n: Integer; begin - config := TConfig.CreateFile(EditorDir+'Editor.cfg'); + config := TConfig.CreateFile(CfgFileName); if rbTDM.Checked then s := 'TDM' @@ -113,8 +118,10 @@ begin config.WriteStr('TestRun', 'Exe', edD2dExe.Text); TestD2dExe := edD2dExe.Text; + config.WriteStr('TestRun', 'Args', edD2DArgs.Text); + TestD2DArgs := edD2DArgs.Text; - config.SaveFile(EditorDir+'Editor.cfg'); + config.SaveFile(CfgFileName); config.Free(); Close(); end; @@ -146,6 +153,7 @@ begin cbMonstersDM.Checked := TestOptionsMonstersDM; cbMapOnce.Checked := TestMapOnce; edD2dExe.Text := TestD2dExe; + edD2DArgs.Text := TestD2DArgs; end; procedure TMapTestForm.FormCreate(Sender: TObject); @@ -153,7 +161,7 @@ var config: TConfig; begin - config := TConfig.CreateFile(EditorDir+'Editor.cfg'); + config := TConfig.CreateFile(CfgFileName); TestGameMode := config.ReadStr('TestRun', 'GameMode', 'DM'); TestLimTime := config.ReadStr('TestRun', 'LimTime', '0'); @@ -164,11 +172,27 @@ begin TestOptionsWeaponStay := config.ReadBool('TestRun', 'WeaponStay', False); TestOptionsMonstersDM := config.ReadBool('TestRun', 'MonstersDM', False); TestMapOnce := config.ReadBool('TestRun', 'MapOnce', False); - TestD2dExe := config.ReadStr('TestRun', 'Exe', EditorDir+'Doom2DF.exe'); + TestD2dExe := config.ReadStr('TestRun', 'Exe', GameExeFile); + TestD2DArgs := config.ReadStr('TestRun', 'Args', ''); config.Free(); - FindD2dDialog.InitialDir := TestD2dExe; + {$IF DEFINED(DARWIN)} + if LowerCase(ExtractFileExt(TestD2dExe)) = '.app' then + FindD2dDialog.InitialDir := ExtractFileDir(TestD2dExe) + else + FindD2dDialog.InitialDir := TestD2dExe; + FindD2dDialog.DefaultExt := '.app'; + FindD2dDialog.Filter := 'Doom 2D Forever.app|*.app|Doom 2D Forever (Unix Executable)|Doom2DF;*'; + {$ELSEIF DEFINED(WINDOWS)} + FindD2dDialog.InitialDir := TestD2dExe; + FindD2dDialog.DefaultExt := '.exe'; + FindD2dDialog.Filter := 'Doom2DF.exe|Doom2DF.exe;*.exe'; + {$ELSE} + FindD2dDialog.InitialDir := TestD2dExe; + FindD2dDialog.DefaultExt := ''; + FindD2dDialog.Filter := 'Doom2DF|Doom2DF;*'; + {$ENDIF} end; procedure TMapTestForm.bChooseD2dClick(Sender: TObject);