From 5aa8474d2b9f8039cee1de505fc658b369c22b37 Mon Sep 17 00:00:00 2001 From: tmyqlfpir <80724828+tmyqlfpir@users.noreply.github.com> Date: Mon, 21 Aug 2023 18:23:40 +1000 Subject: [PATCH] Adjust FOV zoom speed when using non-default FOV --- src/game/player.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/game/player.c b/src/game/player.c index 950ccf151..8f4bec54d 100644 --- a/src/game/player.c +++ b/src/game/player.c @@ -2063,11 +2063,19 @@ f32 playerGetZoomFovY(void) void playerTweenFovY(f32 targetfovy) { + f32 speed = 15.0f / 30.0f; + +#ifndef PLATFORM_N64 + if (videoGetPlayerFovY() > 60.0f) { // adjust zoom speed depending on non-default fov setting (higher fov == faster zoom) + speed /= videoGetPlayerFovY() / 60.0f; + } +#endif + if (playerGetZoomFovY() != targetfovy) { if (g_Vars.currentplayer->zoominfovy > targetfovy) { - playerSetZoomFovY(targetfovy, (g_Vars.currentplayer->zoominfovy - targetfovy) * 15.0f / 30.0f); + playerSetZoomFovY(targetfovy, (g_Vars.currentplayer->zoominfovy - targetfovy) * speed); } else { - playerSetZoomFovY(targetfovy, (targetfovy - g_Vars.currentplayer->zoominfovy) * 15.0f / 30.0f); + playerSetZoomFovY(targetfovy, (targetfovy - g_Vars.currentplayer->zoominfovy) * speed); } } }