3 {$INCLUDE ../shared/a_modes.inc}
8 LCLIntf
, LCLType
, LMessages
, Messages
, SysUtils
, Variants
, Classes
,
9 Graphics
, Controls
, Forms
, Dialogs
, StdCtrls
, ExtCtrls
,
13 TMapTestForm
= class (TForm
)
23 cbTwoPlayers
: TCheckBox
;
24 cbTeamDamage
: TCheckBox
;
25 cbAllowExit
: TCheckBox
;
26 cbWeaponStay
: TCheckBox
;
27 cbMonstersDM
: TCheckBox
;
43 FindD2dDialog
: TOpenDialog
;
45 procedure bOKClick(Sender
: TObject
);
46 procedure bCancelClick(Sender
: TObject
);
47 procedure FormActivate(Sender
: TObject
);
48 procedure FormCreate(Sender
: TObject
);
49 procedure bChooseD2dClick(Sender
: TObject
);
52 { Private declarations }
54 { Public declarations }
58 MapTestForm
: TMapTestForm
;
67 procedure TMapTestForm
.bOKClick(Sender
: TObject
);
74 config
:= TConfig
.CreateFile(EditorDir
+'Editor.cfg');
82 if rbCOOP
.Checked
then
86 config
.WriteStr('TestRun', 'GameMode', s
);
90 if (not TryStrToInt(s
, n
)) then
92 config
.WriteStr('TestRun', 'LimTime', s
);
96 if (not TryStrToInt(s
, n
)) then
98 config
.WriteStr('TestRun', 'LimScore', s
);
101 config
.WriteBool('TestRun', 'TwoPlayers', cbTwoPlayers
.Checked
);
102 TestOptionsTwoPlayers
:= cbTwoPlayers
.Checked
;
103 config
.WriteBool('TestRun', 'TeamDamage', cbTeamDamage
.Checked
);
104 TestOptionsTeamDamage
:= cbTeamDamage
.Checked
;
105 config
.WriteBool('TestRun', 'AllowExit', cbAllowExit
.Checked
);
106 TestOptionsAllowExit
:= cbAllowExit
.Checked
;
107 config
.WriteBool('TestRun', 'WeaponStay', cbWeaponStay
.Checked
);
108 TestOptionsWeaponStay
:= cbWeaponStay
.Checked
;
109 config
.WriteBool('TestRun', 'MonstersDM', cbMonstersDM
.Checked
);
110 TestOptionsMonstersDM
:= cbMonstersDM
.Checked
;
112 config
.WriteBool('TestRun', 'MapOnce', cbMapOnce
.Checked
);
113 TestMapOnce
:= cbMapOnce
.Checked
;
115 config
.WriteStr('TestRun', 'Exe', edD2dExe
.Text);
116 TestD2dExe
:= edD2dExe
.Text;
117 config
.WriteStr('TestRun', 'Args', edD2DArgs
.Text);
118 TestD2DArgs
:= edD2DArgs
.Text;
120 config
.SaveFile(EditorDir
+'Editor.cfg');
125 procedure TMapTestForm
.bCancelClick(Sender
: TObject
);
130 procedure TMapTestForm
.FormActivate(Sender
: TObject
);
132 if TestGameMode
= 'TDM' then
133 rbTDM
.Checked
:= True
135 if TestGameMode
= 'CTF' then
136 rbCTF
.Checked
:= True
138 if TestGameMode
= 'COOP' then
139 rbCOOP
.Checked
:= True
141 rbDM
.Checked
:= True;
143 edTime
.Text := TestLimTime
;
144 edScore
.Text := TestLimScore
;
145 cbTwoPlayers
.Checked
:= TestOptionsTwoPlayers
;
146 cbTeamDamage
.Checked
:= TestOptionsTeamDamage
;
147 cbAllowExit
.Checked
:= TestOptionsAllowExit
;
148 cbWeaponStay
.Checked
:= TestOptionsWeaponStay
;
149 cbMonstersDM
.Checked
:= TestOptionsMonstersDM
;
150 cbMapOnce
.Checked
:= TestMapOnce
;
151 edD2dExe
.Text := TestD2dExe
;
152 edD2DArgs
.Text := TestD2DArgs
;
155 procedure TMapTestForm
.FormCreate(Sender
: TObject
);
160 config
:= TConfig
.CreateFile(EditorDir
+'Editor.cfg');
162 TestGameMode
:= config
.ReadStr('TestRun', 'GameMode', 'DM');
163 TestLimTime
:= config
.ReadStr('TestRun', 'LimTime', '0');
164 TestLimScore
:= config
.ReadStr('TestRun', 'LimScore', '0');
165 TestOptionsTwoPlayers
:= config
.ReadBool('TestRun', 'TwoPlayers', False);
166 TestOptionsTeamDamage
:= config
.ReadBool('TestRun', 'TeamDamage', False);
167 TestOptionsAllowExit
:= config
.ReadBool('TestRun', 'AllowExit', True);
168 TestOptionsWeaponStay
:= config
.ReadBool('TestRun', 'WeaponStay', False);
169 TestOptionsMonstersDM
:= config
.ReadBool('TestRun', 'MonstersDM', False);
170 TestMapOnce
:= config
.ReadBool('TestRun', 'MapOnce', False);
171 TestD2dExe
:= config
.ReadStr('TestRun', 'Exe', EditorDir
+'Doom2DF.exe');
172 TestD2DArgs
:= config
.ReadStr('TestRun', 'Args', '');
176 FindD2dDialog
.InitialDir
:= TestD2dExe
;
179 procedure TMapTestForm
.bChooseD2dClick(Sender
: TObject
);
181 if FindD2dDialog
.Execute
then
183 edD2dExe
.Text := FindD2dDialog
.FileName
;