diff --git a/src/game/Doom2DF.dpr b/src/game/Doom2DF.dpr
index f7a58b9eae1f8a95e9f91ac73aae3f780d7e1b5e..ac174d86c59a4e1139f7d18bd9a984b6e9376c87 100644 (file)
--- a/src/game/Doom2DF.dpr
+++ b/src/game/Doom2DF.dpr
+{$MODE DELPHI}
program Doom2DF;
-{$IFDEF WIN32}
- {$APPTYPE GUI}
+{$IFNDEF HEADLESS}
+ {$IFDEF WINDOWS}
+ {$APPTYPE GUI}
+ {$ENDIF}
{$ENDIF}
{$HINTS OFF}
+{$UNDEF XXX}
+{$IFDEF USE_SDLMIXER}
+ {$DEFINE XXX}
+{$ENDIF}
+{$IFDEF USE_FMOD}
+ {$IFDEF XXX}
+ {$ERROR define one of USE_SDLMIXER or USE_FMOD}
+ {$ELSE}
+ {$DEFINE XXX}
+ {$ENDIF}
+{$ENDIF}
+
+{$IFNDEF XXX}
+ {$ERROR define USE_SDLMIXER or USE_FMOD}
+{$ENDIF}
+
uses
GL,
GLExt,
+ SDL2 in '../lib/sdl2/sdl2.pas',
+{$IFDEF USE_SDLMIXER}
+ SDL2_mixer in '../lib/sdl2/SDL2_mixer.pas',
+{$ENDIF}
ENet in '../lib/enet/enet.pp',
ENetTypes in '../lib/enet/enettypes.pp',
ENetList in '../lib/enet/enetlist.pp',
e_sound in '../engine/e_sound.pas',
e_textures in '../engine/e_textures.pas',
e_fixedbuffer in '../engine/e_fixedbuffer.pas',
- WADEDITOR in '../shared/WADEDITOR.pas',
- WADSTRUCT in '../shared/WADSTRUCT.pas',
+ utils in '../shared/utils.pas',
+ xstreams in '../shared/xstreams.pas',
+ sfs in '../sfs/sfs.pas',
+ sfsPlainFS in '../sfs/sfsPlainFS.pas',
+ sfsZipFS in '../sfs/sfsZipFS.pas',
+ wadreader in '../shared/wadreader.pas',
MAPSTRUCT in '../shared/MAPSTRUCT.pas',
MAPREADER in '../shared/MAPREADER.pas',
MAPDEF in '../shared/MAPDEF.pas',
g_triggers in 'g_triggers.pas',
g_weapons in 'g_weapons.pas',
g_window in 'g_window.pas',
- sysutils,
+ SysUtils,
+{$IFDEF USE_FMOD}
fmod in '../lib/FMOD/fmod.pas',
fmoderrors in '../lib/FMOD/fmoderrors.pas',
fmodpresets in '../lib/FMOD/fmodpresets.pas',
fmodtypes in '../lib/FMOD/fmodtypes.pas',
+{$ENDIF}
BinEditor in '../shared/BinEditor.pas',
g_panel in 'g_panel.pas',
g_language in 'g_language.pas';
-{$IFDEF WIN32}
+{$IFDEF WINDOWS}
{$R *.res}
{$R CustomRes.res}
{$ENDIF}
+var
+ f: Integer;
+ noct: Boolean = false;
begin
- try
- Main();
- e_WriteLog('Shutdown with no errors.', MSG_NOTIFY);
- except
- on E: Exception do
- e_WriteLog(Format(_lc[I_SYSTEM_ERROR_MSG], [E.Message]), MSG_FATALERROR);
- else
- e_WriteLog(Format(_lc[I_SYSTEM_ERROR_UNKNOWN], [LongWord(ExceptAddr())]), MSG_FATALERROR);
- end;
+ for f := 1 to ParamCount do if ParamStr(f) = '--gdb' then noct := true;
+ if noct then
+ Main()
+ else
+ try
+ Main();
+ e_WriteLog('Shutdown with no errors.', MSG_NOTIFY);
+ except
+ on E: Exception do
+ e_WriteLog(Format(_lc[I_SYSTEM_ERROR_MSG], [E.Message]), MSG_FATALERROR);
+ else
+ e_WriteLog(Format(_lc[I_SYSTEM_ERROR_UNKNOWN], [LongWord(ExceptAddr())]), MSG_FATALERROR);
+ end;
end.