From 133fb92b343af2d71b0dbe6d18190829c13be35a Mon Sep 17 00:00:00 2001 From: T <> Date: Mon, 24 Mar 2025 23:09:22 +0100 Subject: [PATCH] Flip in CL_* instead so it works in case v_flipped is toggled while holding down +left or +right --- cl_input.c | 40 ++++++++++++++-------------------------- 1 file changed, 14 insertions(+), 26 deletions(-) diff --git a/cl_input.c b/cl_input.c index da79dde6..83cc93e2 100644 --- a/cl_input.c +++ b/cl_input.c @@ -121,8 +121,6 @@ static void KeyUp (cmd_state_t *cmd, kbutton_t *b) b->state |= 4; // impulse up } -extern cvar_t v_flipped; - static void IN_KLookDown(cmd_state_t *cmd) {KeyDown(cmd, &in_klook);} static void IN_KLookUp(cmd_state_t *cmd) {KeyUp(cmd, &in_klook);} static void IN_MLookDown(cmd_state_t *cmd) {KeyDown(cmd, &in_mlook);} @@ -136,22 +134,10 @@ static void IN_UpDown(cmd_state_t *cmd) {KeyDown(cmd, &in_up);} static void IN_UpUp(cmd_state_t *cmd) {KeyUp(cmd, &in_up);} static void IN_DownDown(cmd_state_t *cmd) {KeyDown(cmd, &in_down);} static void IN_DownUp(cmd_state_t *cmd) {KeyUp(cmd, &in_down);} -static void IN_LeftDown(cmd_state_t *cmd) -{ - KeyDown(cmd, v_flipped.integer ? &in_right : &in_left); -} -static void IN_LeftUp(cmd_state_t *cmd) -{ - KeyUp(cmd, v_flipped.integer ? &in_right : &in_left); -} -static void IN_RightDown(cmd_state_t *cmd) -{ - KeyDown(cmd, v_flipped.integer ? &in_left : &in_right); -} -static void IN_RightUp(cmd_state_t *cmd) -{ - KeyUp(cmd, v_flipped.integer ? &in_left : &in_right); -} +static void IN_LeftDown(cmd_state_t *cmd) {KeyDown(cmd, &in_left);} +static void IN_LeftUp(cmd_state_t *cmd) {KeyUp(cmd, &in_left);} +static void IN_RightDown(cmd_state_t *cmd) {KeyDown(cmd, &in_right);} +static void IN_RightUp(cmd_state_t *cmd) {KeyUp(cmd, &in_right);} static void IN_ForwardDown(cmd_state_t *cmd) {KeyDown(cmd, &in_forward);} static void IN_ForwardUp(cmd_state_t *cmd) {KeyUp(cmd, &in_forward);} static void IN_BackDown(cmd_state_t *cmd) {KeyDown(cmd, &in_back);} @@ -433,6 +419,8 @@ cvar_t cl_nodelta = {CF_CLIENT, "cl_nodelta", "0", "disables delta compression o cvar_t cl_csqc_generatemousemoveevents = {CF_CLIENT, "cl_csqc_generatemousemoveevents", "1", "enables calls to CSQC_InputEvent with type 2, for compliance with EXT_CSQC spec"}; +extern cvar_t v_flipped; + /* ================ CL_AdjustAngles @@ -452,21 +440,21 @@ static void CL_AdjustAngles (void) if (!(in_strafe.state & 1)) { - cl.viewangles[YAW] -= speed*cl_yawspeed.value*CL_KeyState (&in_right); - cl.viewangles[YAW] += speed*cl_yawspeed.value*CL_KeyState (&in_left); + cl.viewangles[YAW] -= speed * cl_yawspeed.value * CL_KeyState (&in_right) * (v_flipped.integer ? -1 : 1); + cl.viewangles[YAW] += speed * cl_yawspeed.value * CL_KeyState (&in_left) * (v_flipped.integer ? -1 : 1); } if (in_klook.state & 1) { V_StopPitchDrift (); - cl.viewangles[PITCH] -= speed*cl_pitchspeed.value * CL_KeyState (&in_forward); - cl.viewangles[PITCH] += speed*cl_pitchspeed.value * CL_KeyState (&in_back); + cl.viewangles[PITCH] -= speed * cl_pitchspeed.value * CL_KeyState (&in_forward); + cl.viewangles[PITCH] += speed * cl_pitchspeed.value * CL_KeyState (&in_back); } up = CL_KeyState (&in_lookup); down = CL_KeyState(&in_lookdown); - cl.viewangles[PITCH] -= speed*cl_pitchspeed.value * up; - cl.viewangles[PITCH] += speed*cl_pitchspeed.value * down; + cl.viewangles[PITCH] -= speed * cl_pitchspeed.value * up; + cl.viewangles[PITCH] += speed * cl_pitchspeed.value * down; if (up || down) V_StopPitchDrift (); @@ -511,8 +499,8 @@ void CL_Input (void) // get basic movement from keyboard if (in_strafe.state & 1) { - cl.cmd.sidemove += cl_sidespeed.value * CL_KeyState (&in_right); - cl.cmd.sidemove -= cl_sidespeed.value * CL_KeyState (&in_left); + cl.cmd.sidemove += cl_sidespeed.value * CL_KeyState (&in_right) * (v_flipped.integer ? -1 : 1); + cl.cmd.sidemove -= cl_sidespeed.value * CL_KeyState (&in_left) * (v_flipped.integer ? -1 : 1); } cl.cmd.sidemove += cl_sidespeed.value * CL_KeyState (&in_moveright); -- 2.39.5