23113e77f629fd2b426ddc783bc1c31f0b30a33f
1 (* Copyright (C) Doom 2D: Forever Developers
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 3 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 *)
16 {$INCLUDE ../shared/a_modes.inc}
19 interface
29 var
37 implementation
39 uses
40 {$INCLUDE ../nogl/noGLuses.inc}
41 {$IFDEF ENABLE_HOLMES}
43 {$ENDIF}
50 xparser;
53 var
57 var
59 {$IF not DEFINED(HEADLESS) and DEFINED(ENABLE_HOLMES)}
61 {$ENDIF}
62 begin
76 TMsgType.Notify
77 );
80 TMsgType.Notify
81 );
83 {$IFDEF HEADLESS}
85 {$ENDIF}
88 {$IFDEF HEADLESS}
89 {$IFDEF USE_SDLMIXER}
91 // HACK: shit this into env and hope for the best
93 {$ELSE}
95 {$ENDIF}
96 {$ELSE}
97 {$IFDEF USE_SDLMIXER}
98 {*sdlflags := SDL_INIT_EVERYTHING;*}
100 {$ELSE}
102 {$ENDIF}
103 {$ENDIF}
113 //GetSystemDefaultLCID()
115 //e_WriteLog('Read language file', MSG_NOTIFY);
116 //g_Language_Load(DataDir + gLanguage + '.txt');
120 {$IFNDEF HEADLESS}
121 {$IFNDEF ANDROID}
123 {$ENDIF}
124 {$ENDIF}
126 {$IF not DEFINED(HEADLESS) and DEFINED(ENABLE_HOLMES)}
129 begin
132 try
139 begin
142 //raise;
144 else
145 begin
147 //raise;
151 begin
152 try
156 begin
158 //raise;
161 else
162 begin
163 //raise;
169 {$ENDIF}
173 {$WARNINGS OFF}
175 {$WARNINGS ON}
177 {$IFNDEF HEADLESS}
179 {$ENDIF}
186 var
188 begin
189 Randomize;
191 {$IFDEF HEADLESS}
192 {$IFDEF USE_SDLMIXER}
194 {$ELSE}
196 {$ENDIF}
197 {$ELSE}
199 {$ENDIF}
203 g_Touch_Init;
205 (*
206 if (e_JoysticksAvailable > 0) then
207 e_WriteLog('Input: Joysticks available.', TMsgType.Notify)
208 else
209 e_WriteLog('Input: No Joysticks.', TMsgType.Notify);
210 *)
213 begin
226 begin
234 begin
242 begin
248 begin
254 var
256 begin
259 begin
299 var
301 begin
306 result :=
311 {
312 if ct = I_GAME_CHEAT_JETPACK then
313 begin
314 e_WriteLog('ls1: ['+ls1+']', MSG_NOTIFY);
315 e_WriteLog('ls2: ['+ls2+']', MSG_NOTIFY);
316 e_WriteLog('bf0: ['+Copy(charbuff, 17-Length(ls1)-eofs, Length(ls1))+']', MSG_NOTIFY);
317 e_WriteLog('bf1: ['+Translit(Copy(charbuff, 17-Length(ls1)-eofs, Length(ls1)))+']', MSG_NOTIFY);
318 e_WriteLog('bf2: ['+Copy(charbuff, 17-Length(ls2)-eofs, Length(ls2))+']', MSG_NOTIFY);
319 e_WriteLog('bf3: ['+Translit(Copy(charbuff, 17-Length(ls2)-eofs, Length(ls2)))+']', MSG_NOTIFY);
320 end;
321 }
326 const
328 label
329 Cheated;
330 var
334 begin
335 {
336 if (not gGameOn) or (not gCheats) or ((gGameSettings.GameType <> GT_SINGLE) and
337 (gGameSettings.GameMode <> GM_COOP) and (not gDebugMode))
338 or g_Game_IsNet then Exit;
339 }
345 //
347 begin
352 // RAMBO
354 begin
359 // TANK
361 begin
366 // IDDQD
368 begin
374 //
376 begin
380 // GOODBYE
382 begin
386 begin
388 //g_Game_ExitLevel(gTriggers[a].Data.MapName);
390 Break;
394 //
396 if CheckCheat(I_GAME_CHEAT_CHANGEMAP, 2) and (s2[1] >= '0') and (s2[1] <= '9') and (s2[2] >= '0') and (s2[2] <= '9') then
397 begin
399 begin
405 //
407 begin
411 // BULLFROG
413 begin
417 // FORMULA1
419 begin
423 // CONDOM
425 begin
430 //
432 begin
437 // PURELOVE
439 begin
444 //
446 begin
451 // CASPER
453 begin
458 //
460 begin
465 // INFERNO
467 begin
473 begin
478 begin
482 Exit;
484 Cheated:
490 var
492 begin
495 begin
500 begin
506 begin
508 g_Console_Chat_Switch
510 g_Console_Switch
514 begin
516 begin
518 Exit;
522 begin
524 end
526 begin
530 if (not g_Game_IsNet) and (g_ActiveWindow = nil) then g_Game_Pause(false); //Fn loves to do this
531 end
533 begin
535 begin
537 end
539 begin
541 begin
543 begin
545 g_Game_Free;
547 Exit;
559 begin
574 else
575 begin
578 begin
580 end
582 begin
586 end
588 begin
598 var
601 begin
603 begin
605 Exit
611 begin
613 end
615 begin
619 end
620 else
621 begin