X-Git-Url: https://deadsoftware.ru/gitweb?a=blobdiff_plain;f=src%2Fgame%2Fg_game.pas;h=7e1249d6aa474c9e7d4e184c53c7a803991a1fee;hb=3fa8762396f68dff9cbdc9eff6109ded0060a89b;hp=06afe8e3c5190102f67d0ee515b033f128e1dc13;hpb=7ab0e3623e342566a036b71b847b629e26ee56e1;p=d2df-sdl.git diff --git a/src/game/g_game.pas b/src/game/g_game.pas index 06afe8e..7e1249d 100644 --- a/src/game/g_game.pas +++ b/src/game/g_game.pas @@ -325,6 +325,7 @@ var gDelayedEvents: Array of TDelayedEvent; gUseChatSounds: Boolean = True; gChatSounds: Array of TChatSound; + gSelectWeapon: Array [0..1] of Integer = (-1, -1); // [player] g_dbg_ignore_bounds: Boolean = false; r_smallmap_h: Integer = 0; // 0: left; 1: center; 2: right @@ -381,7 +382,6 @@ uses var hasPBarGfx: Boolean = false; - nextQueueWeapon: Array [0..1] of Integer = (-1, -1); // [player] // ////////////////////////////////////////////////////////////////////////// // @@ -1561,10 +1561,10 @@ begin if gPlayerAction[p, ACTION_WEAPPREV] then plr.PressKey(KEY_PREVWEAPON); if gPlayerAction[p, ACTION_ACTIVATE] then plr.PressKey(KEY_OPEN); - if nextQueueWeapon[p] >= 0 then + if gSelectWeapon[p] >= 0 then begin - plr.QueueWeaponSwitch(nextQueueWeapon[p]); - nextQueueWeapon[p] := -1 + plr.QueueWeaponSwitch(gSelectWeapon[p]); + gSelectWeapon[p] := -1 end; // HACK: add dynlight here @@ -1668,7 +1668,9 @@ begin ( ( e_KeyPressed(IK_RETURN) or e_KeyPressed(IK_KPRETURN) or e_KeyPressed(IK_SPACE) or - e_KeyPressed(VK_FIRE) or e_KeyPressed(VK_OPEN) + e_KeyPressed(VK_FIRE) or e_KeyPressed(VK_OPEN) or + e_KeyPressed(JOY0_ATTACK) or e_KeyPressed(JOY1_ATTACK) or + e_KeyPressed(JOY2_ATTACK) or e_KeyPressed(JOY3_ATTACK) ) and (not gJustChatted) and (not gConsoleShow) and (not gChatShow) and (g_ActiveWindow = nil) @@ -4640,7 +4642,8 @@ begin ProcessLoading(true); - if e_KeyPressed(IK_ESCAPE) or e_KeyPressed(IK_SPACE) or e_KeyPressed(VK_ESCAPE) then + if e_KeyPressed(IK_ESCAPE) or e_KeyPressed(IK_SPACE) or e_KeyPressed(VK_ESCAPE) or + e_KeyPressed(JOY0_JUMP) or e_KeyPressed(JOY1_JUMP) or e_KeyPressed(JOY2_JUMP) or e_KeyPressed(JOY3_JUMP) then begin State := 0; break; @@ -5154,18 +5157,7 @@ var begin stat := nil; cmd := LowerCase(P[0]); - if cmd = 'r_showfps' then - begin - if (Length(P) > 1) and - ((P[1] = '1') or (P[1] = '0')) then - gShowFPS := (P[1][1] = '1'); - - if gShowFPS then - g_Console_Add(_lc[I_MSG_SHOW_FPS_ON]) - else - g_Console_Add(_lc[I_MSG_SHOW_FPS_OFF]); - end - else if (cmd = 'g_friendlyfire') and not g_Game_IsClient then + if (cmd = 'g_friendlyfire') and not g_Game_IsClient then begin with gGameSettings do begin @@ -5813,11 +5805,6 @@ begin g_Console_Add(Format(cmd + ' is %d', [Byte(g_Debug_Player)])); end - else if (cmd = 'd_joy') then - begin - for a := 1 to 8 do - g_Console_Add(e_JoystickStateToString(a)); - end else if (cmd = 'd_mem') then begin PrintHeapStats(); @@ -6834,7 +6821,7 @@ begin begin a := WP_FIRST + StrToInt(p[1]) - 1; if (a >= WP_FIRST) and (a <= WP_LAST) then - nextQueueWeapon[0] := a + gSelectWeapon[0] := a end end else if (cmd = 'p1_weapon') or (cmd = 'p2_weapon') then @@ -6844,7 +6831,7 @@ begin a := WP_FIRST + StrToInt(p[1]) - 1; b := ord(cmd[2]) - ord('1'); if (a >= WP_FIRST) and (a <= WP_LAST) then - nextQueueWeapon[b] := a + gSelectWeapon[b] := a end end // Êîìàíäû Ñâîåé èãðû: @@ -7863,4 +7850,6 @@ begin conRegVar('r_smallmap_align_h', @r_smallmap_h, 'halign: 0: left; 1: center; 2: right', 'horizontal aligning of small maps'); conRegVar('r_smallmap_align_v', @r_smallmap_v, 'valign: 0: top; 1: center; 2: bottom', 'vertial aligning of small maps'); + + conRegVar('r_showfps', @gShowFPS, 'draw fps counter', 'draw fps counter'); end.