diff --git a/src/game/Doom2DF.lpr b/src/game/Doom2DF.lpr
index 3239be1e6fd0bd800cee48c3a34d2d362f708093..a65f772097a34c719edc890c459eaffe2c102ded 100644 (file)
--- a/src/game/Doom2DF.lpr
+++ b/src/game/Doom2DF.lpr
{$ENDIF}
{$HINTS OFF}
-{$IFDEF USE_SDLMIXER}
- {$IFDEF USE_FMOD}
- {$ERROR define only one of USE_SDLMIXER or USE_FMOD}
- {$ENDIF}
+{$IF DEFINED(USE_SDLMIXER)}
+ {$IF DEFINED(USE_FMOD) OR DEFINED(USE_OPENAL)}
+ {$ERROR Only one sound driver must be selected!}
+ {$ENDIF}
+{$ELSEIF DEFINED(USE_FMOD)}
+ {$IF DEFINED(USE_SDLMIXER) OR DEFINED(USE_OPENAL)}
+ {$ERROR Only one sound driver must be selected!}
+ {$ENDIF}
+{$ELSEIF DEFINED(USE_OPENAL)}
+ {$IF DEFINED(USE_SDLMIXER) OR DEFINED(USE_FMOD)}
+ {$ERROR Only one sound driver must be selected!}
+ {$ENDIF}
{$ELSE}
- {$UNDEF USE_SDLMIXER}
- {$DEFINE USE_FMOD}
+ {$ERROR Sound driver not selected. Use -DUSE_SDLMIXER or -DUSE_FMOD or -DUSE_OPENAL}
{$ENDIF}
uses
SDL2 in '../lib/sdl2/sdl2.pas',
{$IFDEF USE_SDLMIXER}
SDL2_mixer in '../lib/sdl2/SDL2_mixer.pas',
+{$ENDIF}
+{$IFDEF USE_OPENAL}
+ AL in '../lib/openal/al.pas',
+ mpg123 in '../lib/mpg123/mpg123.pas',
+ e_soundfile in '../engine/e_soundfile.pas',
+ e_soundfile_wav in '../engine/e_soundfile_wav.pas',
+{$IFDEF USE_MODPLUG}
+ modplug in '../lib/modplug/modplug.pas',
+ e_soundfile_modplug in '../engine/e_soundfile_modplug.pas',
+{$ELSE}
+ xmp in '../lib/xmp/xmp.pas',
+ e_soundfile_xmp in '../engine/e_soundfile_xmp.pas',
+{$ENDIF}
+ e_soundfile_mp3 in '../engine/e_soundfile_mp3.pas',
{$ENDIF}
ENet in '../lib/enet/enet.pp',
e_graphics in '../engine/e_graphics.pas',
SetEnvVar('TIMIDITY_CFG', 'timidity.cfg');
{$ENDIF ANDROID}
- for f := 1 to ParamCount do
+ f := 1;
+ while f <= ParamCount do
begin
- if ParamStr(f) = '--gdb' then noct := true
- else if ParamStr(f) = '--log' then conbufDumpToStdOut := true
- else if ParamStr(f) = '--safe-log' then e_SetSafeSlowLog(true);
+ case ParamStr(f) of
+ '--gdb': noct := true;
+ '--log': conbufDumpToStdOut := true;
+ '--safe-log': e_SetSafeSlowLog(true);
+ '--log-file':
+ if f + 1 <= ParamCount then
+ begin
+ Inc(f);
+ LogFileName := ParamStr(f)
+ end;
+ end;
+ Inc(f)
end;
+
+ if LogFileName = '' then
+ begin
+{$IFDEF HEADLESS}
+ LogFileName := 'Doom2DF_H.log';
+{$ELSE}
+ LogFileName := 'Doom2DF.log';
+{$ENDIF}
+ end;
+
if noct then
begin
Main()