diff --git a/src/game/activemenu.c b/src/game/activemenu.c index 917504112..bba991a14 100644 --- a/src/game/activemenu.c +++ b/src/game/activemenu.c @@ -1275,7 +1275,8 @@ Gfx *amRender(Gfx *gdl) #endif #ifndef PLATFORM_N64 - if (PLAYERCOUNT() == 1) { + const s32 playercount = PLAYERCOUNT(); + if (playercount < 2 || (playercount == 2 && optionsGetScreenSplit() == SCREENSPLIT_HORIZONTAL)) { gSPSetExtraGeometryModeEXT(gdl++, G_ASPECT_CENTER_EXT); } #endif diff --git a/src/game/bondgun.c b/src/game/bondgun.c index 7107d7f53..67825c973 100644 --- a/src/game/bondgun.c +++ b/src/game/bondgun.c @@ -12797,7 +12797,7 @@ Gfx *bgunDrawHud(Gfx *gdl) gdl = text0f153628(gdl); #ifndef PLATFORM_N64 - if (playercount < 2) { + if (playercount < 2 || (playercount == 2 && optionsGetScreenSplit() == SCREENSPLIT_HORIZONTAL)) { gSPExtraGeometryModeEXT(gdl++, G_ASPECT_MODE_EXT, g_HudAlignModeR); } #endif @@ -13051,7 +13051,7 @@ Gfx *bgunDrawHud(Gfx *gdl) } #ifndef PLATFORM_N64 - if (playercount < 2) { + if (playercount < 2 || (playercount == 2 && optionsGetScreenSplit() == SCREENSPLIT_HORIZONTAL)) { gSPExtraGeometryModeEXT(gdl++, G_ASPECT_MODE_EXT, g_HudAlignModeL); } #endif @@ -13091,7 +13091,7 @@ Gfx *bgunDrawHud(Gfx *gdl) } #ifndef PLATFORM_N64 - if (playercount < 2) { + if (playercount < 2 || (playercount == 2 && optionsGetScreenSplit() == SCREENSPLIT_HORIZONTAL)) { gSPExtraGeometryModeEXT(gdl++, G_ASPECT_MODE_EXT, g_HudAlignModeR); } #endif diff --git a/src/game/hudmsg.c b/src/game/hudmsg.c index 650906509..6cbf73408 100644 --- a/src/game/hudmsg.c +++ b/src/game/hudmsg.c @@ -190,7 +190,7 @@ Gfx *hudmsgRenderMissionTimer(Gfx *gdl, u32 alpha) y = timery; #ifndef PLATFORM_N64 - if (PLAYERCOUNT() < 2) { + if (playercount < 2 || (playercount == 2 && optionsGetScreenSplit() == SCREENSPLIT_HORIZONTAL)) { gSPExtraGeometryModeEXT(gdl++, G_ASPECT_MODE_EXT, g_HudAlignModeL); } #endif @@ -282,7 +282,7 @@ Gfx *hudmsgRenderZoomRange(Gfx *gdl, u32 alpha) y2 = y + textheight; #ifndef PLATFORM_N64 - if (playercount == 1) { + if (playercount < 2 || (playercount == 2 && optionsGetScreenSplit() == SCREENSPLIT_HORIZONTAL)) { gSPSetExtraGeometryModeEXT(gdl++, G_ASPECT_CENTER_EXT); } #endif @@ -1450,7 +1450,8 @@ Gfx *hudmsgsRender(Gfx *gdl) } #ifndef PLATFORM_N64 - if (playercount < 2 && msg->state >= HUDMSGSTATE_FADINGIN) { + const bool doaspectfix = (playercount < 2) || (playercount == 2 && optionsGetScreenSplit() == SCREENSPLIT_HORIZONTAL); + if (doaspectfix && msg->state >= HUDMSGSTATE_FADINGIN) { if (msg->alignh == HUDMSGALIGN_SCREENLEFT || msg->alignh == HUDMSGALIGN_LEFT) { gSPExtraGeometryModeEXT(gdl++, G_ASPECT_MODE_EXT, g_HudAlignModeL); } else if (msg->alignh == HUDMSGALIGN_RIGHT) { diff --git a/src/game/mplayer/scenarios/holdthebriefcase.inc b/src/game/mplayer/scenarios/holdthebriefcase.inc index 53de09f69..4441a6050 100644 --- a/src/game/mplayer/scenarios/holdthebriefcase.inc +++ b/src/game/mplayer/scenarios/holdthebriefcase.inc @@ -417,7 +417,8 @@ Gfx *htbRenderHud(Gfx *gdl) #endif #ifndef PLATFORM_N64 - if (PLAYERCOUNT() == 1) { + const s32 playercount = PLAYERCOUNT(); + if (playercount < 2 || (playercount == 2 && optionsGetScreenSplit() == SCREENSPLIT_HORIZONTAL)) { gSPSetExtraGeometryModeEXT(gdl++, G_ASPECT_CENTER_EXT); } #endif diff --git a/src/game/mplayer/scenarios/kingofthehill.inc b/src/game/mplayer/scenarios/kingofthehill.inc index ed53d37f8..050ff36b7 100644 --- a/src/game/mplayer/scenarios/kingofthehill.inc +++ b/src/game/mplayer/scenarios/kingofthehill.inc @@ -583,7 +583,8 @@ Gfx *kohRenderHud(Gfx *gdl) } #ifndef PLATFORM_N64 - if (PLAYERCOUNT() == 1) { + const s32 playercount = PLAYERCOUNT(); + if (playercount < 2 || (playercount == 2 && optionsGetScreenSplit() == SCREENSPLIT_HORIZONTAL)) { gSPSetExtraGeometryModeEXT(gdl++, G_ASPECT_CENTER_EXT); } #endif diff --git a/src/game/mplayer/scenarios/popacap.inc b/src/game/mplayer/scenarios/popacap.inc index 4e499c87e..d0cc31933 100644 --- a/src/game/mplayer/scenarios/popacap.inc +++ b/src/game/mplayer/scenarios/popacap.inc @@ -312,7 +312,8 @@ Gfx *pacRenderHud(Gfx *gdl) sprintf(text, "%d:%02d", mins, secs); #ifndef PLATFORM_N64 - if (PLAYERCOUNT() == 1) { + const s32 playercount = PLAYERCOUNT(); + if (playercount < 2 || (playercount == 2 && optionsGetScreenSplit() == SCREENSPLIT_HORIZONTAL)) { gSPSetExtraGeometryModeEXT(gdl++, G_ASPECT_CENTER_EXT); } #endif diff --git a/src/game/propobj.c b/src/game/propobj.c index 3ba8b6dab..99c405475 100644 --- a/src/game/propobj.c +++ b/src/game/propobj.c @@ -20979,7 +20979,7 @@ Gfx *countdownTimerRender(Gfx *gdl) ms = (s32)floorf(value60 * 1.6666666269302f) - mins * 6000 - secs * 100; #ifndef PLATFORM_N64 - if (playercount == 1) { + if (playercount < 2 || (playercount == 2 && optionsGetScreenSplit() == SCREENSPLIT_HORIZONTAL)) { gSPSetExtraGeometryModeEXT(gdl++, G_ASPECT_CENTER_EXT); } #endif diff --git a/src/game/radar.c b/src/game/radar.c index e963747ba..a98ae6764 100644 --- a/src/game/radar.c +++ b/src/game/radar.c @@ -312,6 +312,11 @@ Gfx *radarRender(Gfx *gdl) } else if (optionsGetScreenSplit() != SCREENSPLIT_VERTICAL && playernum == 1) { g_RadarY -= 8; } +#ifndef PLATFORM_N64 + if (optionsGetScreenSplit() == SCREENSPLIT_HORIZONTAL) { + gSPExtraGeometryModeEXT(gdl++, G_ASPECT_MODE_EXT, g_HudAlignModeR); + } +#endif } else if (playercount >= 3) { if (playernum >= 2) { g_RadarY -= 8;