summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGarrett Cox <garrettjcox@gmail.com>2024-11-11 10:26:35 -0600
committerGarrett Cox <garrettjcox@gmail.com>2024-11-11 10:26:35 -0600
commitf96d211b3039f0b980341e1810df531becc70e9d (patch)
tree90170f218c008a6e60758220a01be89aa5b7c9a3
parent1a95366dfe378d032e251cbf30d226bda232f8e9 (diff)
Fix an issue where all checks were marked as shuffled in glitchless and warppoint being broken in rando
-rw-r--r--mm/2s2h/DeveloperTools/WarpPoint.cpp1
-rw-r--r--mm/2s2h/Rando/Logic/GlitchlessLogic.cpp6
2 files changed, 5 insertions, 2 deletions
diff --git a/mm/2s2h/DeveloperTools/WarpPoint.cpp b/mm/2s2h/DeveloperTools/WarpPoint.cpp
index 8c46654ee..827e2181a 100644
--- a/mm/2s2h/DeveloperTools/WarpPoint.cpp
+++ b/mm/2s2h/DeveloperTools/WarpPoint.cpp
@@ -51,6 +51,7 @@ void Warp() {
// These two lines allow randomizer to be used with BootToWarpPoint. Not sure how reliable this is, might remove
GameInteractor_ExecuteOnSaveInit(gSaveContext.fileNum);
GameInteractor_ExecuteOnSaveLoad(gSaveContext.fileNum);
+ gSaveContext.save.entrance = entrance;
} else {
// The else case, and the rest of this function is primarly relevant code copied from Play_SetRespawnData and
// func_80169EFC, minus the parts that copy scene flags to scene we are warping to (this is obviously
diff --git a/mm/2s2h/Rando/Logic/GlitchlessLogic.cpp b/mm/2s2h/Rando/Logic/GlitchlessLogic.cpp
index 2d3194dfd..9a2eacf9a 100644
--- a/mm/2s2h/Rando/Logic/GlitchlessLogic.cpp
+++ b/mm/2s2h/Rando/Logic/GlitchlessLogic.cpp
@@ -179,8 +179,10 @@ void ApplyGlitchlessLogicToSaveContext() {
memcpy(&gSaveContext, &copiedSaveContext, sizeof(SaveContext));
for (auto& [randoCheckId, randoPoolEntry] : randoCheckPool) {
- RANDO_SAVE_CHECKS[randoCheckId].randoItemId = randoPoolEntry.placedItemId;
- RANDO_SAVE_CHECKS[randoCheckId].shuffled = true;
+ if (randoPoolEntry.shuffled) {
+ RANDO_SAVE_CHECKS[randoCheckId].randoItemId = randoPoolEntry.placedItemId;
+ RANDO_SAVE_CHECKS[randoCheckId].shuffled = true;
+ }
}
SPDLOG_INFO("Successfully placed all items in glitchless logic");