From 3d2f6770a56dd4aaa4d0ba8ec2c60ed15eace89a Mon Sep 17 00:00:00 2001 From: James R Date: Mon, 26 Sep 2022 20:44:09 -0700 Subject: [PATCH] Divide G_PlayerInputAnalog values by JOYAXISRANGE Previously right shifted by 10, which should've been equivalent to divide by 1024. It returned -799 or 800 for a full turn in either direction though. This commit lets turning values reach KART_FULLTURN in either direction. --- src/g_game.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/g_game.c b/src/g_game.c index 998e242b6..159bbb48b 100644 --- a/src/g_game.c +++ b/src/g_game.c @@ -1100,7 +1100,7 @@ void G_BuildTiccmd(ticcmd_t *cmd, INT32 realtics, UINT8 ssplayer) if (joystickvector.xaxis != 0) { - cmd->turning -= (joystickvector.xaxis * KART_FULLTURN) >> 10; + cmd->turning -= (joystickvector.xaxis * KART_FULLTURN) / JOYAXISRANGE; } if (player->spectator || objectplacing) // SRB2Kart: spectators need special controls @@ -1132,20 +1132,20 @@ void G_BuildTiccmd(ticcmd_t *cmd, INT32 realtics, UINT8 ssplayer) if (value != 0) { cmd->buttons |= BT_ACCELERATE; - forward += ((value * MAXPLMOVE) >> 10); + forward += ((value * MAXPLMOVE) / JOYAXISRANGE); } value = G_PlayerInputAnalog(forplayer, gc_brake, 0); if (value != 0) { cmd->buttons |= BT_BRAKE; - forward -= ((value * MAXPLMOVE) >> 10); + forward -= ((value * MAXPLMOVE) / JOYAXISRANGE); } // But forward/backward IS used for aiming. if (joystickvector.yaxis != 0) { - cmd->throwdir -= (joystickvector.yaxis * KART_FULLTURN) >> 10; + cmd->throwdir -= (joystickvector.yaxis * KART_FULLTURN) / JOYAXISRANGE; } }