summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilip Dubé <serprex@users.noreply.github.com>2026-01-28 18:22:21 +0000
committerGitHub <noreply@github.com>2026-01-28 18:22:21 +0000
commit473a77bbb2bea8cd48d4487ca330cbe8fb91236f (patch)
treec5f644ad9b1cc0e13881fe8f81762ee8ed10de4f
parenta365446832474b33d330932e7007a5fd4b2c3cbc (diff)
Fix generation when Shuffle Speak disabled (#6206)
-rw-r--r--soh/soh/Enhancements/randomizer/logic.cpp15
-rw-r--r--soh/soh/Enhancements/randomizer/randomizerTypes.h2
-rw-r--r--soh/soh/Enhancements/randomizer/randomizer_inf.h2
3 files changed, 11 insertions, 8 deletions
diff --git a/soh/soh/Enhancements/randomizer/logic.cpp b/soh/soh/Enhancements/randomizer/logic.cpp
index 6dccaa740..1e90099dd 100644
--- a/soh/soh/Enhancements/randomizer/logic.cpp
+++ b/soh/soh/Enhancements/randomizer/logic.cpp
@@ -2673,32 +2673,35 @@ void Logic::Reset(bool resetSaveContext /*= true*/) {
SetUpgrade(UPG_STICKS, ctx->GetOption(RSK_SHUFFLE_DEKU_STICK_BAG).Is(true) ? 0 : 1);
SetUpgrade(UPG_NUTS, ctx->GetOption(RSK_SHUFFLE_DEKU_NUT_BAG).Is(true) ? 0 : 1);
- // If we're not shuffling swim, we start with it
if (ctx->GetOption(RSK_SHUFFLE_SWIM).Is(false)) {
SetRandoInf(RAND_INF_CAN_SWIM, true);
}
- // If we're not shuffling grab, we start with it
if (ctx->GetOption(RSK_SHUFFLE_GRAB).Is(false)) {
SetRandoInf(RAND_INF_CAN_GRAB, true);
}
- // If we're not shuffling climb, we start with it
if (ctx->GetOption(RSK_SHUFFLE_CLIMB).Is(false)) {
SetRandoInf(RAND_INF_CAN_CLIMB, true);
}
- // If we're not shuffling crawl, we start with it
if (ctx->GetOption(RSK_SHUFFLE_CRAWL).Is(false)) {
SetRandoInf(RAND_INF_CAN_CRAWL, true);
}
- // If we're not shuffling open chest, we start with it
if (ctx->GetOption(RSK_SHUFFLE_OPEN_CHEST).Is(false)) {
SetRandoInf(RAND_INF_CAN_OPEN_CHEST, true);
}
- // If we're not shuffling child's wallet, we start with it
+ if (ctx->GetOption(RSK_SHUFFLE_SPEAK).Is(false)) {
+ SetRandoInf(RAND_INF_CAN_SPEAK_DEKU, true);
+ SetRandoInf(RAND_INF_CAN_SPEAK_GERUDO, true);
+ SetRandoInf(RAND_INF_CAN_SPEAK_GORON, true);
+ SetRandoInf(RAND_INF_CAN_SPEAK_HYLIAN, true);
+ SetRandoInf(RAND_INF_CAN_SPEAK_KOKIRI, true);
+ SetRandoInf(RAND_INF_CAN_SPEAK_ZORA, true);
+ }
+
if (ctx->GetOption(RSK_SHUFFLE_CHILD_WALLET).Is(false)) {
SetRandoInf(RAND_INF_HAS_WALLET, true);
}
diff --git a/soh/soh/Enhancements/randomizer/randomizerTypes.h b/soh/soh/Enhancements/randomizer/randomizerTypes.h
index 0c0c18fb9..a0de7c5f0 100644
--- a/soh/soh/Enhancements/randomizer/randomizerTypes.h
+++ b/soh/soh/Enhancements/randomizer/randomizerTypes.h
@@ -6462,8 +6462,8 @@ typedef enum {
RSK_SHUFFLE_GRAB,
RSK_SHUFFLE_CLIMB,
RSK_SHUFFLE_CRAWL,
- RSK_SHUFFLE_SPEAK,
RSK_SHUFFLE_OPEN_CHEST,
+ RSK_SHUFFLE_SPEAK,
RSK_STARTING_DEKU_SHIELD,
RSK_STARTING_KOKIRI_SWORD,
RSK_STARTING_MASTER_SWORD,
diff --git a/soh/soh/Enhancements/randomizer/randomizer_inf.h b/soh/soh/Enhancements/randomizer/randomizer_inf.h
index 5ce30b484..a6489dd40 100644
--- a/soh/soh/Enhancements/randomizer/randomizer_inf.h
+++ b/soh/soh/Enhancements/randomizer/randomizer_inf.h
@@ -1142,13 +1142,13 @@ DEFINE_RAND_INF(RAND_INF_CAN_SWIM)
DEFINE_RAND_INF(RAND_INF_CAN_CLIMB)
DEFINE_RAND_INF(RAND_INF_CAN_CRAWL)
DEFINE_RAND_INF(RAND_INF_CAN_GRAB)
+DEFINE_RAND_INF(RAND_INF_CAN_OPEN_CHEST)
DEFINE_RAND_INF(RAND_INF_CAN_SPEAK_DEKU)
DEFINE_RAND_INF(RAND_INF_CAN_SPEAK_GERUDO)
DEFINE_RAND_INF(RAND_INF_CAN_SPEAK_GORON)
DEFINE_RAND_INF(RAND_INF_CAN_SPEAK_HYLIAN)
DEFINE_RAND_INF(RAND_INF_CAN_SPEAK_KOKIRI)
DEFINE_RAND_INF(RAND_INF_CAN_SPEAK_ZORA)
-DEFINE_RAND_INF(RAND_INF_CAN_OPEN_CHEST)
DEFINE_RAND_INF(RAND_INF_HAS_WALLET)