diff --git a/src/game/Doom2DF.dpr b/src/game/Doom2DF.dpr
index f7a58b9eae1f8a95e9f91ac73aae3f780d7e1b5e..17f17b77fb2922dff852b8e48a958e8a61ca4ecf 100644 (file)
--- a/src/game/Doom2DF.dpr
+++ b/src/game/Doom2DF.dpr
+(* Copyright (C) DooM 2D:Forever Developers
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *)
+{$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
+ conbuf in '../shared/conbuf.pas',
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';
+ g_language in 'g_language.pas',
+ ImagingTypes,
+ Imaging,
+ ImagingUtility,
+ lua in '../lib/lua/lua.pas',
+ lualib in '../lib/lua/lualib.pas',
+ lauxlib in '../lib/lua/lauxlib.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);
+ for f := 1 to ParamCount do
+ begin
+ if ParamStr(f) = '--gdb' then noct := true
+ else if ParamStr(f) = '--log' then conbufDumpToStdOut := true;
end;
+ 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.