DEADSOFTWARE

more sfs refactoring
[d2df-sdl.git] / src / game / Doom2DF.dpr
index f7a58b9eae1f8a95e9f91ac73aae3f780d7e1b5e..5a10057095b200a1a0a8c1daf75c2ef5505994aa 100644 (file)
@@ -1,12 +1,34 @@
 program Doom2DF;
-{$IFDEF WIN32}
-  {$APPTYPE GUI}
+{$IFNDEF HEADLESS}
+  {$IFDEF WIN32}
+    {$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',
@@ -20,8 +42,12 @@ uses
   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',
+  sfs in '../sfs/sfs.pas',
+  sfsPlainFS in '../sfs/sfsPlainFS.pas',
+  sfsZipFS in '../sfs/sfsZipFS.pas',
+  xstreams in '../shared/xstreams.pas',
+  utils in '../shared/utils.pas',
+  wadreader in '../shared/wadreader.pas',
   MAPSTRUCT in '../shared/MAPSTRUCT.pas',
   MAPREADER in '../shared/MAPREADER.pas',
   MAPDEF in '../shared/MAPDEF.pas',
@@ -52,10 +78,12 @@ uses
   g_weapons in 'g_weapons.pas',
   g_window in 'g_window.pas',
   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';
@@ -65,14 +93,21 @@ uses
   {$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.