DEADSOFTWARE

game: less references to HEADLESS
[d2df-sdl.git] / src / shared / a_modes.inc
index 6789e6ee7ac17a5d783d10518add164132f5a4b3..4ba00072e19a70c49acf7c929bce56f33712aa66 100644 (file)
     {$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)}
   {$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_SDL) OR DEFINED(USE_SDL2)}
     {$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}