summaryrefslogtreecommitdiff
path: root/soh/src/code
diff options
context:
space:
mode:
Diffstat (limited to 'soh/src/code')
-rw-r--r--soh/src/code/z_room.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/soh/src/code/z_room.c b/soh/src/code/z_room.c
index c135123f8..23fb6a4d7 100644
--- a/soh/src/code/z_room.c
+++ b/soh/src/code/z_room.c
@@ -1,5 +1,6 @@
#include "global.h"
#include "vt.h"
+#include "soh/Enhancements/randomizer/randomizer_entrance.h"
void func_80095AB4(PlayState* play, Room* room, u32 flags);
void func_80095D04(PlayState* play, Room* room, u32 flags);
@@ -575,6 +576,12 @@ u32 func_80096FE8(PlayState* play, RoomContext* roomCtx) {
s32 func_8009728C(PlayState* play, RoomContext* roomCtx, s32 roomNum) {
size_t size;
+ // In ER, override roomNum to load based on scene and spawn
+ if (gSaveContext.n64ddFlag && gSaveContext.respawnFlag <= 0 &&
+ Randomizer_GetSettingValue(RSK_SHUFFLE_ENTRANCES)) {
+ roomNum = Entrance_OverrideSpawnSceneRoom(play->sceneNum, play->curSpawn, roomNum);
+ }
+
return OTRfunc_8009728C(play, roomCtx, roomNum);
if (roomCtx->status == 0) {