DEADSOFTWARE

fix regresion: holmes with sdl2
[d2df-sdl.git] / src / game / Doom2DF.lpr
index cd61dfefbf0ab826d393d10d69b6b65e8e51e21c..7f869f160006312da7185f9baf3d2a2a8e88cfe6 100644 (file)
@@ -2,8 +2,7 @@
  *
  * 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.
+ * the Free Software Foundation, version 3 of the License ONLY.
  *
  * This program is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
 {$ENDIF}
 {$HINTS OFF}
 
-{$IF DEFINED(USE_SDLMIXER)}
-  {$IF DEFINED(USE_FMOD) OR DEFINED(USE_OPENAL)}
+{$IF DEFINED(USE_SYSSTUB)}
+  {$IF DEFINED(USE_SDL) OR DEFINED(USE_SDL2)}
+    {$ERROR Only one system driver must be selected!}
+  {$ENDIF}
+{$ELSEIF DEFINED(USE_SDL)}
+  {$IF DEFINED(USE_SYSSTUB) OR DEFINED(USE_SDL2)}
+    {$ERROR Only one system driver must be selected!}
+  {$ENDIF}
+{$ELSEIF DEFINED(USE_SDL2)}
+  {$IF DEFINED(USE_SYSSTUB) OR DEFINED(USE_SDL)}
+    {$ERROR Only one system driver must be selected!}
+  {$ENDIF}
+{$ELSE}
+  {$ERROR System driver not selected. Use -dUSE_SYSSTUB or -dUSE_SDL or -dUSE_SDL2}
+{$ENDIF}
+
+{$IF DEFINED(USE_SOUNDSTUB)}
+  {$IF DEFINED(USE_SDLMIXER) OR DEFINED(USE_FMOD) OR DEFINED(USE_OPENAL)}
+    {$ERROR Only one sound driver must be selected!}
+  {$ENDIF}
+{$ELSEIF DEFINED(USE_SDLMIXER)}
+  {$IF DEFINED(USE_SOUNDSTUB) OR 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)}
+  {$IF DEFINED(USE_SOUNDSTUB) OR 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)}
+  {$IF DEFINED(USE_SOUNDSTUB) OR DEFINED(USE_SDLMIXER) OR DEFINED(USE_FMOD)}
     {$ERROR Only one sound driver must be selected!}
   {$ENDIF}
 {$ELSE}
-  {$ERROR Sound driver not selected. Use -DUSE_SDLMIXER or -DUSE_FMOD or -DUSE_OPENAL}
+  {$ERROR Sound driver not selected. Use -dUSE_SOUNDSTUB or -dUSE_SDLMIXER or -dUSE_FMOD or -dUSE_OPENAL}
+{$ENDIF}
+
+{$IFDEF ENABLE_HOLMES}
+  {$IFDEF HEADLESS}
+    {$ERROR Holmes in HEADLESS mode has no sense}
+  {$ENDIF}
+  {$IFNDEF USE_SDL2}
+    {$ERROR Holmes supported only with SDL2}
+  {$ENDIF}
+  {$IFDEF USE_GLES1}
+    {$ERROR Holmes not supported with GLES}
+  {$ENDIF}
 {$ENDIF}
 
 uses
@@ -55,18 +86,26 @@ uses
 {$IFDEF USE_MINIUPNPC}
   miniupnpc in '../lib/miniupnpc/miniupnpc.pas',
 {$ENDIF}
+
+{$IFDEF USE_SDL}
+  SDL,
+{$ENDIF}
+{$IFDEF USE_SDL2}
   SDL2 in '../lib/sdl2/sdl2.pas',
-{$IFDEF USE_SDLMIXER}
-  SDL2_mixer in '../lib/sdl2/SDL2_mixer.pas',
+  {$IFDEF USE_SDLMIXER}
+    SDL2_mixer in '../lib/sdl2/SDL2_mixer.pas',
+  {$ENDIF}
 {$ENDIF}
+
 {$IFDEF USE_OPENAL}
   AL in '../lib/openal/al.pas',
   e_soundfile in '../engine/e_soundfile.pas',
-  e_soundfile_wav in '../engine/e_soundfile_wav.pas',
+  {$IF DEFINED(USE_SDL) OR DEFINED(USE_SDL2)}
+    e_soundfile_wav in '../engine/e_soundfile_wav.pas',
+  {$ENDIF}
   {$IFDEF USE_VORBIS}
-    ogg in '../lib/vorbis/ogg.pas',
     vorbis in '../lib/vorbis/vorbis.pas',
-    e_soundfile_ogg in '../engine/e_soundfile_ogg.pas',
+    e_soundfile_vorbis in '../engine/e_soundfile_vorbis.pas',
   {$ENDIF}
   {$IFDEF USE_FLUIDSYNTH}
     fluidsynth in '../lib/fluidsynth/fluidsynth.pas',
@@ -84,7 +123,15 @@ uses
     mpg123 in '../lib/mpg123/mpg123.pas',
     e_soundfile_mp3 in '../engine/e_soundfile_mp3.pas',
   {$ENDIF}
+  {$IFDEF USE_OPUS}
+    opus in '../lib/opus/opus.pas',
+    e_soundfile_opus in '../engine/e_soundfile_opus.pas',
+  {$ENDIF}
+  {$IF DEFINED(USE_VORBIS) OR DEFINED(USE_OPUS)}
+    ogg in '../lib/vorbis/ogg.pas', // this has to come last because link order
+  {$ENDIF}
 {$ENDIF}
+
   ENet in '../lib/enet/enet.pp',
   e_graphics in '../engine/e_graphics.pas',
   e_input in '../engine/e_input.pas',
@@ -126,6 +173,19 @@ uses
   g_triggers in 'g_triggers.pas',
   g_weapons in 'g_weapons.pas',
   g_window in 'g_window.pas',
+{$IFDEF USE_SYSSTUB}
+  g_system in 'stub/g_system.pas',
+  g_touch in 'stub/g_touch.pas',
+{$ENDIF}
+{$IFDEF USE_SDL}
+  g_system in 'sdl/g_system.pas',
+  g_touch in 'sdl/g_touch.pas',
+{$ENDIF}
+{$IFDEF USE_SDL2}
+  g_system in 'sdl2/g_system.pas',
+  g_touch in 'sdl2/g_touch.pas',
+{$ENDIF}
+
   SysUtils,
 {$IFDEF USE_FMOD}
   fmod in '../lib/FMOD/fmod.pas',
@@ -136,6 +196,7 @@ uses
   xprofiler in '../shared/xprofiler.pas',
   binheap in '../shared/binheap.pas',
   hashtable in '../shared/hashtable.pas',
+  fhashdb in '../shared/fhashdb.pas',
   idpool in '../shared/idpool.pas',
   xparser in '../shared/xparser.pas',
   xdynrec in '../shared/xdynrec.pas',