diff --git a/soh/soh/Enhancements/randomizer/randomizer.cpp b/soh/soh/Enhancements/randomizer/randomizer.cpp index 3e4827378..7c7476aff 100644 --- a/soh/soh/Enhancements/randomizer/randomizer.cpp +++ b/soh/soh/Enhancements/randomizer/randomizer.cpp @@ -2137,7 +2137,7 @@ GetItemID Randomizer::GetItemFromGet(RandomizerGet randoGet, GetItemID ogItemId) return GI_RUPEE_BLUE; //todo default: { - if (IsGetItemRandoExclusive(randoGet)) { + if (!IsItemVanilla(randoGet)) { return (GetItemID)randoGet; } return ogItemId; @@ -2145,50 +2145,66 @@ GetItemID Randomizer::GetItemFromGet(RandomizerGet randoGet, GetItemID ogItemId) } } -bool Randomizer::IsGetItemRandoExclusive(RandomizerGet randoGet) { +bool Randomizer::IsItemVanilla(RandomizerGet randoGet) { switch (randoGet) { - case RG_LIGHT_MEDALLION: - case RG_FOREST_MEDALLION: - case RG_FIRE_MEDALLION: - case RG_WATER_MEDALLION: - case RG_SHADOW_MEDALLION: - case RG_SPIRIT_MEDALLION: - case RG_KOKIRI_EMERALD: - case RG_GORON_RUBY: - case RG_ZORA_SAPPHIRE: - case RG_ZELDAS_LULLABY: - case RG_SUNS_SONG: - case RG_EPONAS_SONG: - case RG_SONG_OF_STORMS: - case RG_SONG_OF_TIME: - case RG_SARIAS_SONG: - case RG_MINUET_OF_FOREST: - case RG_BOLERO_OF_FIRE: - case RG_SERENADE_OF_WATER: - case RG_NOCTURNE_OF_SHADOW: - case RG_REQUIEM_OF_SPIRIT: - case RG_PRELUDE_OF_LIGHT: - case RG_PROGRESSIVE_MAGIC_METER: - case RG_DOUBLE_DEFENSE: - case RG_BOTTLE_WITH_RED_POTION: - case RG_BOTTLE_WITH_GREEN_POTION: - case RG_BOTTLE_WITH_BLUE_POTION: - case RG_BOTTLE_WITH_FAIRY: - case RG_BOTTLE_WITH_FISH: - case RG_BOTTLE_WITH_BLUE_FIRE: - case RG_BOTTLE_WITH_BUGS: - case RG_BOTTLE_WITH_POE: - case RG_BOTTLE_WITH_BIG_POE: - case RG_ICE_TRAP: + case RG_KOKIRI_SWORD: + case RG_GIANTS_KNIFE: + case RG_BIGGORON_SWORD: + case RG_DEKU_SHIELD: + case RG_HYLIAN_SHIELD: + case RG_MIRROR_SHIELD: + case RG_GORON_TUNIC: + case RG_ZORA_TUNIC: + case RG_IRON_BOOTS: + case RG_HOVER_BOOTS: + case RG_BOOMERANG: + case RG_LENS_OF_TRUTH: + case RG_MEGATON_HAMMER: + case RG_STONE_OF_AGONY: + case RG_DINS_FIRE: + case RG_FARORES_WIND: + case RG_NAYRUS_LOVE: + case RG_FIRE_ARROWS: + case RG_ICE_ARROWS: + case RG_LIGHT_ARROWS: + case RG_GERUDO_MEMBERSHIP_CARD: + case RG_MAGIC_BEAN: + case RG_WEIRD_EGG: + case RG_ZELDAS_LETTER: + case RG_POCKET_EGG: + case RG_COJIRO: + case RG_ODD_MUSHROOM: + case RG_ODD_POTION: + case RG_POACHERS_SAW: + case RG_BROKEN_SWORD: + case RG_PRESCRIPTION: + case RG_EYEBALL_FROG: + case RG_EYEDROPS: + case RG_CLAIM_CHECK: + case RG_GOLD_SKULLTULA_TOKEN: + case RG_PROGRESSIVE_HOOKSHOT: + case RG_PROGRESSIVE_STRENGTH: + case RG_PROGRESSIVE_BOMB_BAG: + case RG_PROGRESSIVE_BOW: + case RG_PROGRESSIVE_SLINGSHOT: + case RG_PROGRESSIVE_WALLET: + case RG_PROGRESSIVE_SCALE: + case RG_PROGRESSIVE_NUT_UPGRADE: + case RG_PROGRESSIVE_STICK_UPGRADE: + case RG_PROGRESSIVE_BOMBCHUS: + case RG_PROGRESSIVE_OCARINA: + case RG_PROGRESSIVE_GORONSWORD: + case RG_EMPTY_BOTTLE: + case RG_BOTTLE_WITH_MILK: return true; default: return false; } } -bool Randomizer::CheckContainsRandoItem(RandomizerCheck randoCheck) { +bool Randomizer::CheckContainsVanillaItem(RandomizerCheck randoCheck) { RandomizerGet randoGet = this->itemLocations[randoCheck]; - return IsGetItemRandoExclusive(randoGet); + return IsItemVanilla(randoGet); } std::string Randomizer::GetAdultAltarText() const { diff --git a/soh/soh/Enhancements/randomizer/randomizer.h b/soh/soh/Enhancements/randomizer/randomizer.h index fac9ba93c..f6aa8279a 100644 --- a/soh/soh/Enhancements/randomizer/randomizer.h +++ b/soh/soh/Enhancements/randomizer/randomizer.h @@ -21,7 +21,7 @@ class Randomizer { void ParseRandomizerSettingsFile(const char* spoilerFileName); void ParseHintLocationsFile(const char* spoilerFileName); void ParseItemLocationsFile(const char* spoilerFileName, bool silent); - bool IsGetItemRandoExclusive(RandomizerGet randoGet); + bool IsItemVanilla(RandomizerGet randoGet); public: @@ -48,7 +48,7 @@ class Randomizer { GetItemID GetRandomizedItemIdFromKnownCheck(RandomizerCheck randomizerCheck, GetItemID ogId); GetItemID GetRandomizedItemId(GetItemID ogId, s16 actorId, s16 actorParams, s16 sceneNum); static void CreateCustomMessages(); - bool CheckContainsRandoItem(RandomizerCheck randoCheck); + bool CheckContainsVanillaItem(RandomizerCheck randoCheck); }; #ifdef __cplusplus diff --git a/soh/soh/OTRGlobals.cpp b/soh/soh/OTRGlobals.cpp index 7c1f6a66e..fefd7f613 100644 --- a/soh/soh/OTRGlobals.cpp +++ b/soh/soh/OTRGlobals.cpp @@ -286,7 +286,7 @@ extern "C" void VanillaItemTable_Init() { GET_ITEM_NONE, }; ItemTableManager::Instance->AddItemTable(MOD_NONE); - for (uint8_t i = 0; i < ARRAY_SIZE(getItemTable); i++) { + for (uint8_t i = 0; i < ARRAY_COUNT(getItemTable); i++) { getItemTable[i].modIndex = MOD_NONE; ItemTableManager::Instance->AddItemEntry(MOD_NONE, i, getItemTable[i]); } @@ -1621,7 +1621,7 @@ extern "C" GetItemEntry ItemTable_RetrieveEntry(s16 tableID, s16 getItemID) { } extern "C" s32 Randomizer_GetRandomizedItemId(GetItemID ogId, s16 actorId, s16 actorParams, s16 sceneNum) { - if (OTRGlobals::Instance->gRandomizer->CheckContainsRandoItem(OTRGlobals::Instance->gRandomizer->GetCheckFromActor(sceneNum, actorId, actorParams))) { + if (OTRGlobals::Instance->gRandomizer->CheckContainsVanillaItem(OTRGlobals::Instance->gRandomizer->GetCheckFromActor(sceneNum, actorId, actorParams))) { OTRGlobals::Instance->getItemModIndex = MOD_RANDOMIZER; } else { OTRGlobals::Instance->getItemModIndex = MOD_NONE; @@ -1631,7 +1631,7 @@ extern "C" s32 Randomizer_GetRandomizedItemId(GetItemID ogId, s16 actorId, s16 a extern "C" GetItemEntry Randomizer_GetRandomizedItem(GetItemID ogId, s16 actorId, s16 actorParams, s16 sceneNum) { s16 getItemModIndex; - if (OTRGlobals::Instance->gRandomizer->CheckContainsRandoItem( + if (OTRGlobals::Instance->gRandomizer->CheckContainsVanillaItem( OTRGlobals::Instance->gRandomizer->GetCheckFromActor(sceneNum, actorId, actorParams))) { getItemModIndex = MOD_RANDOMIZER; } else { @@ -1642,7 +1642,7 @@ extern "C" GetItemEntry Randomizer_GetRandomizedItem(GetItemID ogId, s16 actorId } extern "C" s32 Randomizer_GetItemIdFromKnownCheck(RandomizerCheck randomizerCheck, GetItemID ogId) { - if (OTRGlobals::Instance->gRandomizer->CheckContainsRandoItem(randomizerCheck)) { + if (OTRGlobals::Instance->gRandomizer->CheckContainsVanillaItem(randomizerCheck)) { OTRGlobals::Instance->getItemModIndex = MOD_RANDOMIZER; } else { OTRGlobals::Instance->getItemModIndex = MOD_NONE; @@ -1652,7 +1652,7 @@ extern "C" s32 Randomizer_GetItemIdFromKnownCheck(RandomizerCheck randomizerChec extern "C" GetItemEntry Randomizer_GetItemFromKnownCheck(RandomizerCheck randomizerCheck, GetItemID ogId) { s16 getItemModIndex; - if (OTRGlobals::Instance->gRandomizer->CheckContainsRandoItem(randomizerCheck)) { + if (OTRGlobals::Instance->gRandomizer->CheckContainsVanillaItem(randomizerCheck)) { getItemModIndex = MOD_RANDOMIZER; } else { getItemModIndex = MOD_NONE;