From d37a378466433eb9fa8d66600c1fde992af21e28 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philip=20Dub=C3=A9?= <159546+serprex@users.noreply.github.com> Date: Tue, 8 Sep 2026 17:14:07 +0000 Subject: [PATCH] Don't apply inverted X axis aiming to first person movement (#7163) --- soh/src/overlays/actors/ovl_player_actor/z_player.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/soh/src/overlays/actors/ovl_player_actor/z_player.c b/soh/src/overlays/actors/ovl_player_actor/z_player.c index e94f673ede..d8c16755aa 100644 --- a/soh/src/overlays/actors/ovl_player_actor/z_player.c +++ b/soh/src/overlays/actors/ovl_player_actor/z_player.c @@ -12661,8 +12661,9 @@ s16 func_8084ABD8(PlayState* play, Player* this, s32 arg2, s16 arg3) { f32 movementSpeed = LINK_IS_ADULT ? 9.0f : 8.25f; GameInteractor_Should(VB_PLAYER_MODIFY_FIRST_PERSON_SPEED, true, this, &movementSpeed); - f32 relX = (sControlInput->rel.stick_x / 10 * -invertXAxisMulti); - f32 relY = (sControlInput->rel.stick_y / 10); + f32 relX = + (sControlInput->rel.stick_x * (CVarGetInteger(CVAR_ENHANCEMENT("MirroredWorld"), 0) ? 1 : -1)) / 10.0f; + f32 relY = sControlInput->rel.stick_y / 10.0f; // Normalize so that diagonal movement isn't faster f32 relMag = sqrtf((relX * relX) + (relY * relY));