From 02fffa75dea3f97a415de3af8506e4cd3c4d23a8 Mon Sep 17 00:00:00 2001 From: minenice55 Date: Sat, 7 Mar 2026 23:04:52 -0500 Subject: [PATCH] fix stick-tilt blending --- src/d_main.cpp | 2 +- src/g_game.c | 11 +++++------ 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/src/d_main.cpp b/src/d_main.cpp index fdc656bd8..96f8865aa 100644 --- a/src/d_main.cpp +++ b/src/d_main.cpp @@ -93,7 +93,7 @@ #define ASSET_HASH_TEXTURES_KART 0xb4211b2f32b6a291 #define ASSET_HASH_CHARS_KART 0x1e68a3e01aa5c68b #define ASSET_HASH_MAPS_KART 0x38558ed00da41ce9 -#define ASSET_HASH_MAIN_PK3 0xceb926d00133de51 +#define ASSET_HASH_MAIN_PK3 0x9a54c263d9f325cd #define ASSET_HASH_MAPPATCH_PK3 0x1745690024efbaf8 #define ASSET_HASH_BONUSCHARS_KART 0x60e6f13d822a7461 #ifdef USE_PATCH_FILE diff --git a/src/g_game.c b/src/g_game.c index 8773765f6..78f982309 100644 --- a/src/g_game.c +++ b/src/g_game.c @@ -1720,12 +1720,11 @@ void G_BuildTiccmd(ticcmd_t *cmd, INT32 realtics, UINT8 ssplayer) // if stick input is used gradually cancel out tilt based on stick intensity if (cv_tiltcontrol[forplayer].value == 1) { - accelerometertilt = joystickvector.xaxis + - FixedMul( - FRACUNIT-FixedDiv(joystickvector.xaxis, JOYAXISRANGE), - G_GetGamepadTilt(forplayer)*FRACUNIT - )/FRACUNIT; - } + fixed_t rate = FixedDiv(abs(joystickvector.xaxis), JOYAXISRANGE); + accelerometertilt = + (FixedMul(rate, joystickvector.xaxis*FRACUNIT)/FRACUNIT) + + (FixedMul(FRACUNIT-rate, G_GetGamepadTilt(forplayer)*FRACUNIT)/FRACUNIT); + } // For kart, I've turned the aim axis into a digital axis because we only // use it for aiming to throw items forward/backward and the vote screen