From 40ffb23b44e12ebcc5f556e2f2dadd05e3cf53b0 Mon Sep 17 00:00:00 2001 From: Mitchell Richters Date: Thu, 13 Jan 2022 21:44:51 +1100 Subject: [PATCH] - Duke: Directly check the backend input code's `crouch_toggle` to always remain crouched after pausing, even if the first tic doesn't have input. * This is needed because unlike the other games, Duke doesn't have any decent state manager for the player like Blood and SW do. --- source/games/duke/src/player_d.cpp | 2 +- source/games/duke/src/player_r.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/source/games/duke/src/player_d.cpp b/source/games/duke/src/player_d.cpp index fe1c2480a..7c2619da1 100644 --- a/source/games/duke/src/player_d.cpp +++ b/source/games/duke/src/player_d.cpp @@ -1867,7 +1867,7 @@ static void movement(int snum, ESyncBits actions, sectortype* psect, int fz, int p->on_warping_sector = 0; - if (actions & SB_CROUCH) + if ((actions & SB_CROUCH) || crouch_toggle) { playerCrouch(snum); } diff --git a/source/games/duke/src/player_r.cpp b/source/games/duke/src/player_r.cpp index 92fd562cf..4b2428207 100644 --- a/source/games/duke/src/player_r.cpp +++ b/source/games/duke/src/player_r.cpp @@ -2228,7 +2228,7 @@ static void movement(int snum, ESyncBits actions, sectortype* psect, int fz, int p->on_warping_sector = 0; - if ((actions & SB_CROUCH) && !p->OnMotorcycle) + if (((actions & SB_CROUCH) || crouch_toggle) && !p->OnMotorcycle) { playerCrouch(snum); }