X-Git-Url: https://deadsoftware.ru/gitweb?a=blobdiff_plain;f=src%2Fgame%2Fg_game.pas;h=3105360e1e8a675a3f9b59f30e2842522b283f38;hb=02521d15eb6020ddac536714d2eefedd69fd0f6e;hp=3ad4510cf54159ab67d54f1f09bd721ebbdd5af0;hpb=bd40762ed00ea73717966bb0e5a44ae73a179be0;p=d2df-sdl.git diff --git a/src/game/g_game.pas b/src/game/g_game.pas index 3ad4510..3105360 100644 --- a/src/game/g_game.pas +++ b/src/game/g_game.pas @@ -1,4 +1,4 @@ - (* Copyright (C) Doom 2D: Forever Developers +(* Copyright (C) Doom 2D: Forever Developers * * 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 @@ -132,9 +132,6 @@ procedure g_Game_Announce_KillCombo(Param: Integer); procedure g_Game_Announce_BodyKill(SpawnerUID: Word); procedure g_Game_StartVote(Command, Initiator: string); procedure g_Game_CheckVote; -{$IFDEF ENABLE_RENDER} - procedure g_TakeScreenShot(Filename: string = ''); -{$ENDIF} procedure g_FatalError(Text: String); procedure g_SimpleError(Text: String); function g_Game_IsTestMap(): Boolean; @@ -315,12 +312,9 @@ var gRC_FullScreen, gRC_Maximized: Boolean; gLanguageChange: Boolean = False; gDebugMode: Boolean = False; - g_debug_Sounds: Boolean = False; - g_debug_Frames: Boolean = False; g_debug_WinMsgs: Boolean = False; g_debug_MonsterOff: Boolean = False; g_debug_BotAIOff: Byte = 0; - g_debug_HealthBar: Boolean = False; g_Debug_Player: Boolean = False; gCoopMonstersKilled: Word = 0; gCoopSecretsFound: Word = 0; @@ -1034,12 +1028,9 @@ end; procedure ClearDebugCvars(); begin - g_debug_Sounds := False; - g_debug_Frames := False; g_debug_WinMsgs := False; g_debug_MonsterOff := False; g_debug_BotAIOff := 0; - g_debug_HealthBar := False; g_Debug_Player := False; end; @@ -1484,7 +1475,7 @@ begin {$IFDEF ENABLE_GIBS} g_Gibs_RemoveAll; {$ENDIF} - {$IFDEF ENALBE_SHELLS} + {$IFDEF ENABLE_SHELLS} g_Shells_RemoveAll; {$ENDIF} {$IFDEF ENABLE_CORPSES} @@ -2268,8 +2259,16 @@ begin (* spectator state check from render *) - if (gPlayer1 = nil) and (gPlayer2 = nil) and (gSpectMode = SPECT_NONE) then - gSpectMode := SPECT_STATS; + if (gPlayer1 = nil) and (gPlayer2 = nil) then + begin + (* no local players -> automatically enable to spectator mode *) + if gSpectMode = SPECT_NONE then gSpectMode := SPECT_STATS; + end + else + begin + (* at least one local player -> automatically disable spectator mode *) + gSpectMode := SPECT_NONE; + end; if IsActivePlayer(g_Player_Get(gSpectPID1)) = false then gSpectPID1 := GetActivePlayerID_Next(); @@ -3439,7 +3438,7 @@ begin {$IFDEF ENABLE_GIBS} g_Gibs_RemoveAll; {$ENDIF} - {$IFDEF ENALBE_SHELLS} + {$IFDEF ENABLE_SHELLS} g_Shells_RemoveAll; {$ENDIF} {$IFDEF ENABLE_CORPSES} @@ -3778,7 +3777,7 @@ begin {$IFDEF ENABLE_GIBS} g_Gibs_RemoveAll; {$ENDIF} - {$IFDEF ENALBE_SHELLS} + {$IFDEF ENABLE_SHELLS} g_Shells_RemoveAll; {$ENDIF} {$IFDEF ENABLE_CORPSES} @@ -4671,22 +4670,6 @@ begin g_Console_Add(Format('gScreenWidth = %d, gScreenHeight = %d', [gScreenWidth, gScreenHeight])); g_Console_Add(Format('gScreenWidth = %d, gScreenHeight = %d', [gScreenWidth, gScreenHeight])); end - else if cmd = 'd_sounds' then - begin - if (Length(P) > 1) and - ((P[1] = '1') or (P[1] = '0')) then - g_Debug_Sounds := (P[1][1] = '1'); - - g_Console_Add(Format('d_sounds is %d', [Byte(g_Debug_Sounds)])); - end - else if cmd = 'd_frames' then - begin - if (Length(P) > 1) and - ((P[1] = '1') or (P[1] = '0')) then - g_Debug_Frames := (P[1][1] = '1'); - - g_Console_Add(Format('d_frames is %d', [Byte(g_Debug_Frames)])); - end else if cmd = 'd_winmsg' then begin if (Length(P) > 1) and @@ -4757,14 +4740,6 @@ begin end; end; end - else if (cmd = 'd_health') then - begin - if (Length(P) > 1) and - ((P[1] = '1') or (P[1] = '0')) then - g_debug_HealthBar := (P[1][1] = '1'); - - g_Console_Add(Format('d_health is %d', [Byte(g_debug_HealthBar)])); - end else if (cmd = 'd_player') then begin if (Length(P) > 1) and @@ -5981,7 +5956,7 @@ begin else if cmd = 'screenshot' then begin {$IFDEF ENABLE_RENDER} - g_TakeScreenShot; + r_Render_RequestScreenShot; {$ENDIF} end else if (cmd = 'weapnext') or (cmd = 'weapprev') then @@ -6315,29 +6290,6 @@ begin end; end; -{$IFDEF ENABLE_RENDER} -procedure g_TakeScreenShot(Filename: string = ''); - var t: TDateTime; dir, date, name: String; -begin - if e_NoGraphics then - Exit; - - dir := e_GetWriteableDir(ScreenshotDirs); - if Filename = '' then - begin - t := Now; - DateTimeToString(date, 'yyyy-mm-dd-hh-nn-ss', t); - Filename := 'screenshot-' + date; - end; - - name := e_CatPath(dir, Filename + '.png'); - if r_Render_WriteScreenShot(name) then - g_Console_Add(Format(_lc[I_CONSOLE_SCREENSHOT], [name])) - else - g_Console_Add(Format(_lc[I_CONSOLE_ERROR_WRITE], [name])); -end; -{$ENDIF} - {$IFDEF ENABLE_MENU} procedure g_Game_InGameMenu(Show: Boolean); begin @@ -7023,7 +6975,6 @@ begin conRegVar('pf_coldet', @g_profile_collision, 'draw collision detection profiles', 'coldet profiles'); conRegVar('pf_los', @g_profile_los, 'draw monster LOS profiles', 'monster LOS profiles'); - conRegVar('r_sq_draw', @gdbg_map_use_accel_render, 'accelerated spatial queries in rendering', 'accelerated rendering'); conRegVar('cd_sq_enabled', @gdbg_map_use_accel_coldet, 'accelerated spatial queries in map coldet', 'accelerated map coldet'); conRegVar('mon_sq_enabled', @gmon_debug_use_sqaccel, 'accelerated spatial queries for monsters', 'accelerated monster coldet'); conRegVar('wtrace_sq_enabled', @gwep_debug_fast_trace, 'accelerated spatial queries for weapon hitscan trace', 'accelerated weapon hitscan');