From 6d4c9ab03d4544f178e2787f9e9e81dbeb41783f Mon Sep 17 00:00:00 2001 From: G4M3R L1F3 Date: Sat, 20 Dec 2025 00:27:42 -0400 Subject: [PATCH 1/4] Added option to disable Great Fairy rewards --- apcpp-glue.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/apcpp-glue.cpp b/apcpp-glue.cpp index a264018..ebc1112 100644 --- a/apcpp-glue.cpp +++ b/apcpp-glue.cpp @@ -248,6 +248,16 @@ extern "C" AP_RemoveQueuedLocationScout(state, location_id); } } + + if (AP_GetSlotDataInt(state, "shuffle_great_fairy_rewards") == 0) + { + for (int i = 0x00; i <= 0x04; ++i) + { + int64_t location_id = 0x3469420030000 | i; + AP_RemoveQueuedLocationScout(state, location_id); + } + AP_RemoveQueuedLocationScout(state, 0x3469420000086); + } for (int64_t i = AP_GetSlotDataInt(state, "starting_heart_locations"); i < 8; ++i) { @@ -588,6 +598,11 @@ extern "C" { _return(ctx, AP_GetSlotDataInt(state, "skullsanity") != 2); } + + DLLEXPORT void rando_great_fairy_rewards_disabled(uint8_t* rdram, recomp_context* ctx) + { + _return(ctx, AP_GetSlotDataInt(state, "shuffle_great_fairy_rewards") == 0); + } DLLEXPORT void rando_shopsanity_enabled(uint8_t* rdram, recomp_context* ctx) { From a9f74f85c825226267b9c5ec17c81bd7ee099722 Mon Sep 17 00:00:00 2001 From: G4M3R L1F3 Date: Mon, 12 Jan 2026 20:01:00 -0400 Subject: [PATCH 2/4] Removed function to check if Shuffle Great Fairy Rewards is disabled The mod now takes care of that as suggested by Hyped --- apcpp-glue.cpp | 5 ----- 1 file changed, 5 deletions(-) diff --git a/apcpp-glue.cpp b/apcpp-glue.cpp index ebc1112..5051f3a 100644 --- a/apcpp-glue.cpp +++ b/apcpp-glue.cpp @@ -598,11 +598,6 @@ extern "C" { _return(ctx, AP_GetSlotDataInt(state, "skullsanity") != 2); } - - DLLEXPORT void rando_great_fairy_rewards_disabled(uint8_t* rdram, recomp_context* ctx) - { - _return(ctx, AP_GetSlotDataInt(state, "shuffle_great_fairy_rewards") == 0); - } DLLEXPORT void rando_shopsanity_enabled(uint8_t* rdram, recomp_context* ctx) { From bb936689c7df0fe92746a0db1c8d82e2496ef204 Mon Sep 17 00:00:00 2001 From: G4M3R L1F3 Date: Wed, 21 Jan 2026 21:56:09 -0400 Subject: [PATCH 3/4] Added the option to disable ShuffleSpiderhouseReward Removes location scouts when ShuffleSpiderhouseReward is disabled --- apcpp-glue.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/apcpp-glue.cpp b/apcpp-glue.cpp index 5051f3a..ffaf757 100644 --- a/apcpp-glue.cpp +++ b/apcpp-glue.cpp @@ -258,6 +258,12 @@ extern "C" } AP_RemoveQueuedLocationScout(state, 0x3469420000086); } + + if (AP_GetSlotDataInt(state, "shuffle_spiderhouse_reward") == 0) + { + AP_RemoveQueuedLocationScout(state, 0x346942000008A); + AP_RemoveQueuedLocationScout(state, 0x3469420000009); + } for (int64_t i = AP_GetSlotDataInt(state, "starting_heart_locations"); i < 8; ++i) { From de5f44048e354f493ef3a706c34b12f631a9a57a Mon Sep 17 00:00:00 2001 From: G4M3R L1F3 Date: Thu, 22 Jan 2026 23:59:32 -0400 Subject: [PATCH 4/4] Added ShuffleTreasureChestGame option --- apcpp-glue.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/apcpp-glue.cpp b/apcpp-glue.cpp index ffaf757..4fb2210 100644 --- a/apcpp-glue.cpp +++ b/apcpp-glue.cpp @@ -335,6 +335,21 @@ extern "C" AP_RemoveQueuedLocationScout(state, 0x346942007C405); AP_RemoveQueuedLocationScout(state, 0x346942007C407); } + + if (AP_GetSlotDataInt(state, "shuffle_treasure_chest_game") == 0) + { + AP_RemoveQueuedLocationScout(state, 0x3469420061705); // Human + AP_RemoveQueuedLocationScout(state, 0x346942006172A); // Deku + AP_RemoveQueuedLocationScout(state, 0x346942006170C); // Goron + AP_RemoveQueuedLocationScout(state, 0x3469420061704); // Zora + } + else if (AP_GetSlotDataInt(state, "shuffle_treasure_chest_game") == 1) + { + AP_RemoveQueuedLocationScout(state, 0x3469420061705); // Human + AP_RemoveQueuedLocationScout(state, 0x346942006172A); // Deku + AP_RemoveQueuedLocationScout(state, 0x3469420061704); // Zora + } + if (AP_GetSlotDataInt(state, "intro_checks") == 0) {