From d229ba24052cc3ced4517e5d40d54371c3315fd7 Mon Sep 17 00:00:00 2001 From: fgsfds Date: Fri, 25 Aug 2023 20:56:17 +0200 Subject: [PATCH] port: somewhat fix the health display at different FOVs --- src/game/player.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/game/player.c b/src/game/player.c index ecc9d3330..5e761a3d5 100644 --- a/src/game/player.c +++ b/src/game/player.c @@ -2689,7 +2689,15 @@ Gfx *playerRenderHealthBar(Gfx *gdl) Mtxf matrix; Mtxf *addr = gfxAllocateMatrix(); +#ifdef PLATFORM_N64 mtx00016ae4(&matrix, 0, 370, 0, 0, 0, 0, 0, 0, -1); +#else + f32 fovsc = 60.f / videoGetPlayerFovY(); + if (fovsc > 1.01f) { + fovsc *= 1.1f; + } + mtx00016ae4(&matrix, 0, 370.f * fovsc, 0, 0, 0, 0, 0, 0, -1); +#endif mtxF2L(&matrix, addr); gSPMatrix(gdl++, osVirtualToPhysical((void *)addr), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);