DEADSOFTWARE

cleanup: remove g_main.pas
[d2df-sdl.git] / src / game / g_options.pas
index 3f53262185953dc4fc8a1a306df54d3ef49cdd62..f1f0653493f8ba86a2b3c107d89c75871090f0fd 100644 (file)
@@ -38,6 +38,9 @@ var
   glLegacyNPOT: Boolean;
   glRenderToFBO: Boolean = True;
   gTextureFilter: Boolean;
+  gLerpActors: Boolean = True;
+  gFrameTime: Integer = 5;
+  gMaxFPS: Integer = 200;
   gNoSound: Boolean;
   gSoundLevel: Integer;
   gMusicLevel: Integer;
@@ -74,16 +77,46 @@ var
   gsItemRespawnTime: Word = 60;
   gsWarmupTime: Word = 30;
 
+{$IFDEF HEADLESS}
+  e_NoGraphics: Boolean = True;
+{$ELSE}
+  e_NoGraphics: Boolean = False;
+{$ENDIF}
+  e_FastScreenshots: Boolean = true; // it's REALLY SLOW with `false`
+  g_dbg_scale: Single = 1.0;
+  r_pixel_scale: Single = 1.0;
+
+  {--- Read-only dirs ---}
+  GameWAD: string;
+  DataDirs: SSArray;
+  ModelDirs: SSArray;
+  MegawadDirs: SSArray;
+  MapDirs: SSArray;
+  WadDirs: SSArray;
+  AllMapDirs: SSArray; // Maps + Megawads
+
+  {--- Read-Write dirs ---}
+  LogFileName: string;
+  LogDirs: SSArray;
+  SaveDirs: SSArray;
+  CacheDirs: SSArray;
+  ConfigDirs: SSArray;
+  ScreenshotDirs: SSArray;
+  StatsDirs: SSArray;
+  MapDownloadDirs: SSArray;
+  WadDownloadDirs: SSArray;
+
+  GameWADName: string = 'GAME';
+
 implementation
 
 uses
-  {$INCLUDE ../nogl/noGLuses.inc}
   {$IFDEF USE_SDL2}
     SDL2,
   {$ENDIF}
   e_log, e_input, g_console, g_window, g_sound, g_gfx, g_player, Math,
-  g_map, g_net, g_netmaster, SysUtils, CONFIG, g_game, g_main, e_texture,
-  g_items, wadreader, e_graphics, g_touch, envvars, g_system;
+  g_map, g_net, g_netmaster, SysUtils, CONFIG, g_game,
+  g_items, wadreader, g_touch, envvars, g_system;
 
   var
     machine: Integer;
@@ -267,7 +300,8 @@ begin
   gsSpawnInvul := 0;
   gsItemRespawnTime := 60;
   gsGameFlags := GAME_OPTION_ALLOWEXIT or GAME_OPTION_DMKEYS or
-    GAME_OPTION_BOTVSPLAYER or GAME_OPTION_BOTVSMONSTER;
+    GAME_OPTION_BOTVSPLAYER or GAME_OPTION_BOTVSMONSTER or
+    GAME_OPTION_TEAMHITTRACE or GAME_OPTION_TEAMHITPROJECTILE;
   gsPlayers := 1;
 
   (* section MasterServer *)
@@ -327,6 +361,9 @@ initialization
   conRegVar('r_vsync', @gVSync, '', '');
   conRegVar('r_texfilter', @gTextureFilter, '', '');
   conRegVar('r_npot', @glNPOTOverride, '', '');
+  conRegVar('r_interp', @gLerpActors, '', 'interpolate actors');
+  conRegVar('r_scale', @g_dbg_scale, 0.01, 100.0, 'render scale', '',  false);
+  conRegVar('r_resolution_scale', @r_pixel_scale, 0.01, 100.0, 'upscale factor', '', false);
 
   (* Sound *)
   conRegVar('s_nosound', @gNoSound, '', '');