DEADSOFTWARE

sfs and wad code refactoring: part 1
[d2df-sdl.git] / src / game / Doom2DF.dpr
index e72de94e0ba79020a72ee529f7d9e1c84622dc2b..d885e2b6147f3da6efac647957eae6c3d5f3d491 100644 (file)
@@ -1,6 +1,8 @@
 program Doom2DF;
-{$IFDEF WIN32}
-  {$APPTYPE GUI}
+{$IFNDEF HEADLESS}
+  {$IFDEF WIN32}
+    {$APPTYPE GUI}
+  {$ENDIF}
 {$ENDIF}
 {$HINTS OFF}
 
@@ -45,8 +47,8 @@ uses
   sfsZipFS in '../sfs/sfsZipFS.pas',
   sfsMemFS in '../sfs/sfsMemFS.pas',
   xstreams in '../sfs/xstreams.pas',
-  WADEDITOR in '../shared/WADEDITOR.pas',
-  WADSTRUCT in '../shared/WADSTRUCT.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',
@@ -92,14 +94,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.