From 36ea3a008be6af2fa4acc6fe201848be96e0bdfc Mon Sep 17 00:00:00 2001 From: Ryan Dwyer Date: Sun, 14 May 2023 20:29:06 +1000 Subject: [PATCH] Fix standby rooms --- src/game/bg.c | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/src/game/bg.c b/src/game/bg.c index 085c0f944..7b36e4d98 100644 --- a/src/game/bg.c +++ b/src/game/bg.c @@ -5428,7 +5428,24 @@ static void bgChooseRoomsToLoad(void) { s32 i; s32 j; - u32 stack; + + for (i = 0; g_BgPortals[i].verticesoffset != 0; i++) { + if ((g_BgPortals[i].flags & PORTALFLAG_SKIP) == 0) { + s32 roomnum1 = g_BgPortals[i].roomnum1; + s32 roomnum2 = g_BgPortals[i].roomnum2; + s32 portalnum; + + if ((g_Rooms[roomnum1].flags & ROOMFLAG_ONSCREEN) && (g_Rooms[roomnum2].flags & ROOMFLAG_ONSCREEN) == 0) { + // From room1 to room2 + g_Rooms[roomnum2].flags |= ROOMFLAG_STANDBY; + roomUnpauseProps(roomnum2, true); + } else if ((g_Rooms[roomnum2].flags & ROOMFLAG_ONSCREEN) && (g_Rooms[roomnum1].flags & ROOMFLAG_ONSCREEN) == 0) { + // From room2 to room1 + g_Rooms[roomnum1].flags |= ROOMFLAG_STANDBY; + roomUnpauseProps(roomnum1, true); + } + } + } // Update visibility per player if (g_Vars.mplayerisrunning) {