DEADSOFTWARE

game: less references to HEADLESS
[d2df-sdl.git] / src / shared / a_modes.inc
index 5fc22fa018c259b594338a0df0fa089adce3572b..4ba00072e19a70c49acf7c929bce56f33712aa66 100644 (file)
@@ -26,6 +26,9 @@
 {$MODESWITCH TYPEHELPERS+} // Allow the use of type helpers.
 {$MODESWITCH UNICODESTRINGS-}
 
+{$IFDEF DARWIN}
+  {$MODESWITCH OBJECTIVEC1}
+{$ENDIF}
 
 {$ASSERTIONS ON}
 {$BITPACKING OFF}
     {$WARNING Holmes in headless mode has no sense. Disabled.}
     {$UNDEF ENABLE_HOLMES}
   {$ENDIF}
+  {$IFDEF ENABLE_MENU}
+    {$WARNING Menu in headless mode has no sense. Disabled.}
+    {$UNDEF ENABLE_MENU}
+    {$DEFINE DISABLE_MENU}
+  {$ENDIF}
+  {$IFDEF ENABLE_TOUCH}
+    {$WARNING Touch screen in headless mode has no sense. Disabled.}
+    {$UNDEF ENABLE_TOUCH}
+    {$DEFINE DISABLE_TOUCH}
+  {$ENDIF}
+  {$IFDEF ENABLE_GFX}
+    {$WARNING GFX in headless mode has no sense. Disabled.}
+    {$UNDEF ENABLE_GFX}
+    {$DEFINE DISABLE_GFX}
+  {$ENDIF}
+  {$IFDEF ENABLE_GIBS}
+    {$WARNING Gibs in headless mode has no sense. Disabled.}
+    {$UNDEF ENABLE_GIBS}
+    {$DEFINE DISABLE_GIBS}
+  {$ENDIF}
+  {$IFDEF ENABLE_SHELLS}
+    {$WARNING Shells in headless mode has no sense. Disabled.}
+    {$UNDEF ENABLE_SHELLS}
+    {$DEFINE DISABLE_SHELLS}
+  {$ENDIF}
+  {$IFDEF ENABLE_CORPSES}
+    {$WARNING Corpses in headless mode has no sense. Disabled.}
+    {$UNDEF ENABLE_CORPSES}
+    {$DEFINE DISABLE_CORPSES}
+  {$ENDIF}
+  {$IFDEF ENABLE_RENDER}
+    {$WARNING Render in headless mode has no sense. Disabled.}
+    {$UNDEF ENABLE_RENDER}
+    {$DEFINE DISABLE_RENDER}
+  {$ENDIF}
+  {$IFDEF ENABLE_SYSTEM}
+    {$WARNING System in headless mode has no sense. Disabled.}
+    {$UNDEF ENABLE_SYSTEM}
+    {$DEFINE DISABLE_SYSTEM}
+  {$ENDIF}
+{$ENDIF}
+
+{$IF DEFINED(ENABLE_MENU) AND DEFINED(DISABLE_MENU)}
+  {$ERROR Select ENABLE_MENU or DISABLE_MENU}
+{$ELSEIF NOT DEFINED(ENABLE_MENU) AND NOT DEFINED(DISABLE_MENU)}
+  // defaut ENABLE/DISABLE menu
+  {$IFDEF HEADLESS}
+    {$DEFINE DISABLE_MENU}
+  {$ELSE}
+    {$DEFINE ENABLE_MENU}
+  {$ENDIF}
+{$ENDIF}
+
+{$IF DEFINED(ENABLE_TOUCH) AND DEFINED(DISABLE_TOUCH)}
+  {$ERROR Select ENABLE_TOUCH or DISABLE_TOUCH}
+{$ELSEIF NOT DEFINED(ENABLE_TOUCH) AND NOT DEFINED(DISABLE_TOUCH)}
+  // defaut ENABLE/DISABLE touch
+  {$IFDEF HEADLESS}
+    {$DEFINE DISABLE_TOUCH}
+  {$ELSE}
+    {$DEFINE ENABLE_TOUCH}
+  {$ENDIF}
+{$ENDIF}
+
+{$IF DEFINED(ENABLE_GFX) AND DEFINED(DISABLE_GFX)}
+  {$ERROR Select ENABLE_GFX or DISABLE_GFX}
+{$ELSEIF NOT DEFINED(ENABLE_GFX) AND NOT DEFINED(DISABLE_GFX)}
+  // default ENABLE/DISABLE gfx
+  {$IFDEF HEADLESS}
+    {$DEFINE DISABLE_GFX}
+  {$ELSE}
+    {$DEFINE ENABLE_GFX}
+  {$ENDIF}
+{$ENDIF}
+
+{$IF DEFINED(ENABLE_GIBS) AND DEFINED(DISABLE_GIBS)}
+  {$ERROR Select ENABLE_GIBS or DISABLE_GIBS}
+{$ELSEIF NOT DEFINED(ENABLE_GIBS) AND NOT DEFINED(DISABLE_GIBS)}
+  // default ENABLE/DISABLE gibs
+  {$IFDEF HEADLESS}
+    {$DEFINE DISABLE_GIBS}
+  {$ELSE}
+    {$DEFINE ENABLE_GIBS}
+  {$ENDIF}
+{$ENDIF}
+
+{$IF DEFINED(ENABLE_SHELLS) AND DEFINED(DISABLE_SHELLS)}
+  {$ERROR Select ENABLE_SHELLS or DISABLE_SHELLS}
+{$ELSEIF NOT DEFINED(ENABLE_SHELLS) AND NOT DEFINED(DISABLE_SHELLS)}
+  // default ENABLE/DISABLE gibs
+  {$IFDEF HEADLESS}
+    {$DEFINE DISABLE_SHELLS}
+  {$ELSE}
+    {$DEFINE ENABLE_SHELLS}
+  {$ENDIF}
+{$ENDIF}
+
+{$IF DEFINED(ENABLE_CORPSES) AND DEFINED(DISABLE_CORPSES)}
+  {$ERROR Select ENABLE_CORPSES or DISABLE_CORPSES}
+{$ELSEIF NOT DEFINED(ENABLE_CORPSES) AND NOT DEFINED(DISABLE_CORPSES)}
+  // default ENABLE/DISABLE corpses
+  {$IFDEF HEADLESS}
+    {$DEFINE DISABLE_CORPSES}
+  {$ELSE}
+    {$DEFINE ENABLE_CORPSES}
+  {$ENDIF}
+{$ENDIF}
+
+{$IF DEFINED(ENABLE_RENDER) AND DEFINED(DISABLE_RENDER)}
+  {$ERROR Select ENABLE_RENDER or DISABLE_RENDER}
+{$ELSEIF NOT DEFINED(ENABLE_RENDER) AND NOT DEFINED(DISABLE_RENDER)}
+  // default ENABLE/DISABLE render
+  {$IFDEF HEADLESS}
+    {$DEFINE DISABLE_RENDER}
+  {$ELSE}
+    {$DEFINE ENABLE_RENDER}
+  {$ENDIF}
+{$ENDIF}
+
+{$IF DEFINED(ENABLE_SYSTEM) AND DEFINED(DISABLE_SYSTEM)}
+  {$ERROR Select ENABLE_SYSTEM or DISABLE_SYSTEM}
+{$ELSEIF NOT DEFINED(ENABLE_SYSTEM) AND NOT DEFINED(DISABLE_SYSTEM)}
+  // default ENABLE/DISABLE system driver
+  {$IFDEF HEADLESS}
+    {$DEFINE DISABLE_SYSTEM}
+  {$ELSE}
+    {$DEFINE ENABLE_SYSTEM}
+  {$ENDIF}
 {$ENDIF}
 
 {$IF DEFINED(USE_SYSSTUB)}
   {$IF DEFINED(USE_SYSSTUB) OR DEFINED(USE_SDL2)}
     {$ERROR Only one system driver must be selected!}
   {$ENDIF}
+  {$IFDEF USE_SDLMIXER}
+    {$ERROR SDL_mixer not supported with SDL 1.2.x}
+  {$ENDIF}
 {$ELSEIF DEFINED(USE_SDL2)}
   {$IF DEFINED(USE_SYSSTUB) OR DEFINED(USE_SDL)}
     {$ERROR Only one system driver must be selected!}
   {$IF DEFINED(USE_GLSTUB) OR DEFINED(USE_GLES1)}
     {$ERROR Only one render driver must be selected!}
   {$ENDIF}
-{$ELSE}
+{$ELSEIF DEFINED(ENABLE_RENDER)}
   {$DEFINE USE_OPENGL}
   {.$ERROR Render driver not selected. Use -dUSE_GLSTUB or -dUSE_GLES1 or -dUSE_OPENGL}
 {$ENDIF}
 
 {$IFDEF ENABLE_HOLMES}
+  {$IFDEF DISABLE_SYSTEM}
+    {$FATAL System driver required for current Holmes implementation}
+  {$ENDIF}
+  {$IFDEF DISABLE_RENDER}
+    {$FATAL Render driver required for current Holmes implementation}
+  {$ENDIF}
   {$IFNDEF USE_SDL2}
-    {$ERROR Holmes supported only with SDL2}
+    {$FATAL SDL2 required for current Holmes implementation}
   {$ENDIF}
   {$IFNDEF USE_OPENGL}
-    {$ERROR Holmes supported only with desktop OpenGL}
+    {$FATAL Desktop OpenGL required for current Holmes implementation}
+  {$ENDIF}
+{$ENDIF}
+
+{$IFDEF ENABLE_MENU}
+  {$IFDEF DISABLE_RENDER}
+    {$FATAL Render driver required for current menu implementation}
+  {$ENDIF}
+{$ENDIF}
+
+{$IFDEF ENABLE_TOUCH}
+  {$IFDEF DISABLE_SYSTEM}
+    {$FATAL System driver required for current touch implementation}
   {$ENDIF}
 {$ENDIF}