X-Git-Url: http://deadsoftware.ru/gitweb?a=blobdiff_plain;f=src%2Fgame%2Fg_options.pas;h=e825938b09beaf404853489cb01ae55497b560a7;hb=23a883f6c44413c380997e61b00a756bda95bc03;hp=ecc30f9b7606d64e9dec8b22579d5609d9d84944;hpb=b9615dc5473b0eadac9f3298714b440ff406d322;p=d2df-sdl.git diff --git a/src/game/g_options.pas b/src/game/g_options.pas index ecc30f9..e825938 100644 --- a/src/game/g_options.pas +++ b/src/game/g_options.pas @@ -77,16 +77,61 @@ 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; + + gwin_has_stencil: Boolean = false; + gwin_k8_enable_light_experiments: Boolean = false; + g_dbg_aimline_on: Boolean = false; + g_dbg_input: Boolean = False; + + var (* touch *) + g_touch_enabled: Boolean = False; + g_touch_size: Single = 1.0; + g_touch_offset: Single = 50.0; + g_touch_fire: Boolean = True; + g_touch_alt: Boolean = False; + + {--- 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; + {$IFDEF ENABLE_GFX} + g_gfx, + {$ENDIF} + e_log, e_input, g_console, g_sound, g_player, Math, + g_map, g_net, g_netmaster, SysUtils, CONFIG, g_game, + g_items, wadreader, envvars; var machine: Integer; @@ -236,7 +281,9 @@ begin end; (* section Game *) - g_GFX_SetMax(2000); + {$IFDEF ENABLE_GFX} + g_GFX_SetMax(2000); + {$ENDIF} g_Shells_SetMax(300); g_Gibs_SetMax(150); g_Corpses_SetMax(20); @@ -270,7 +317,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 *) @@ -331,6 +379,8 @@ initialization 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, '', ''); @@ -364,4 +414,13 @@ initialization conRegVar('g_save_stats', @gSaveStats, '', ''); conRegVar('g_screenshot_stats', @gScreenshotStats, '', ''); conRegVar('g_lastmap', @gsMap, '', ''); + + conRegVar('d_input', @g_dbg_input, '', ''); + + (* touch *) + conRegVar('touch_enable', @g_touch_enabled, 'enable/disable virtual buttons', 'draw buttons'); + conRegVar('touch_fire', @g_touch_fire, 'enable/disable fire when press virtual up/down', 'fire when press up/down'); + conRegVar('touch_size', @g_touch_size, 0.1, 10, 'size of virtual buttons', 'button size'); + conRegVar('touch_offset', @g_touch_offset, 0, 100, '', ''); + conRegVar('touch_alt', @g_touch_alt, 'althernative virtual buttons layout', 'althernative layout'); end.