diff options
| author | Garrett Cox <garrettjcox@gmail.com> | 2026-01-16 20:38:11 -0600 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-01-16 20:38:11 -0600 |
| commit | 214872e7f38185e2208d480cb6055dc304dcde6c (patch) | |
| tree | fbbfda95fcd8cb608eb8d2de68d2f85488808ad8 | |
| parent | 4430281d1aab4076c40e62e5bb5be1383361afe3 (diff) | |
Better handling of Grottos & Enemy Drops in the Check tracker (#1463)
| -rw-r--r-- | mm/2s2h/Rando/CheckTracker/CheckTracker.cpp | 57 | ||||
| -rw-r--r-- | mm/2s2h/Rando/Logic/Regions/Miscellaneous.cpp | 15 | ||||
| -rw-r--r-- | mm/2s2h/Rando/StaticData/Checks.cpp | 112 | ||||
| -rw-r--r-- | mm/2s2h/Rando/StaticData/StaticData.h | 10 | ||||
| -rw-r--r-- | mm/2s2h/Rando/Types.h | 1 |
5 files changed, 108 insertions, 87 deletions
diff --git a/mm/2s2h/Rando/CheckTracker/CheckTracker.cpp b/mm/2s2h/Rando/CheckTracker/CheckTracker.cpp index 8a5c53a9f..84e8aaa69 100644 --- a/mm/2s2h/Rando/CheckTracker/CheckTracker.cpp +++ b/mm/2s2h/Rando/CheckTracker/CheckTracker.cpp @@ -58,7 +58,7 @@ float trackerScale = 1.0f; float searchBoxPadding = 15.0f; ImVec4 trackerBG = ImVec4{ 0, 0, 0, 0.5f }; -std::map<SceneId, std::vector<RandoCheckId>> sceneChecks; +std::map<SceneId, std::set<RandoCheckId>> sceneChecks; std::vector<SceneId> sortedSceneIds; std::unordered_map<RandoCheckId, std::string> accessLogicFuncs; @@ -125,8 +125,58 @@ void initializeSceneChecks() { continue; } + // Skip Grotto Checks, they will be handled below + if (randoStaticCheck.sceneId == SCENE_KAKUSIANA) { + continue; + } + + // Skip Enemy Drops, they will be handled below + if (randoStaticCheck.randoCheckType == RCTYPE_ENEMY_DROP) { + continue; + } + SceneId sceneId = (SceneId)Play_GetOriginalSceneId(randoStaticCheck.sceneId); - sceneChecks[sceneId].push_back(randoStaticCheck.randoCheckId); + sceneChecks[sceneId].insert(randoStaticCheck.randoCheckId); + } + + for (auto& [regionId, staticRegion] : Rando::Logic::Regions) { + // Handle grottos separately, their checks are assigned to the connected region + if (staticRegion.sceneId == SCENE_KAKUSIANA) { + RandoRegionId connectedRegionId = RR_MAX; + if (regionId == RR_LONE_PEAK_SHRINE) { + connectedRegionId = RR_LONE_PEAK_SHRINE; + } else { + for (auto& [entrance, _] : staticRegion.exits) { + connectedRegionId = Rando::Logic::GetRegionIdFromEntrance(entrance); + } + for (auto& [regionId, _] : staticRegion.connections) { + connectedRegionId = regionId; + } + if (connectedRegionId == RR_MAX) { + continue; + } + } + SceneId connectedSceneId = Rando::Logic::Regions[connectedRegionId].sceneId; + for (auto& [randoCheckId, _] : staticRegion.checks) { + RandoSaveCheck& randoSaveCheck = RANDO_SAVE_CHECKS[randoCheckId]; + if (!randoSaveCheck.shuffled) { + continue; + } + sceneChecks[connectedSceneId].insert(randoCheckId); + } + } else { + // Handle enemy drop seperately, they can be in multiple regions + for (auto& [randoCheckId, _] : staticRegion.checks) { + auto& randoStaticCheck = Rando::StaticData::Checks[randoCheckId]; + RandoSaveCheck& randoSaveCheck = RANDO_SAVE_CHECKS[randoCheckId]; + if (!randoSaveCheck.shuffled || randoStaticCheck.randoCheckType != RCTYPE_ENEMY_DROP) { + continue; + } + + SceneId sceneId = (SceneId)Play_GetOriginalSceneId(staticRegion.sceneId); + sceneChecks[sceneId].insert(randoCheckId); + } + } } sortedSceneIds.clear(); @@ -268,9 +318,6 @@ void CheckTrackerDrawNonLogicalList() { ImGui::Separator(); ImGui::PushStyleColor(ImGuiCol_Header, ImVec4(0, 0, 0, 0)); std::string headerText = Ship_GetSceneName(sceneId); - if (sceneId == SCENE_SPOT00) { - headerText = "Various Regions"; - } headerText += " (" + std::to_string(obtainedCheckSum) + "/" + std::to_string(unfilteredChecks.size()) + ")"; ImGui::PushStyleColor(ImGuiCol_Text, obtainedCheckSum == unfilteredChecks.size() diff --git a/mm/2s2h/Rando/Logic/Regions/Miscellaneous.cpp b/mm/2s2h/Rando/Logic/Regions/Miscellaneous.cpp deleted file mode 100644 index 648af2e5c..000000000 --- a/mm/2s2h/Rando/Logic/Regions/Miscellaneous.cpp +++ /dev/null @@ -1,15 +0,0 @@ -#include "2s2h/GameInteractor/GameInteractor.h" -#include "2s2h/ShipInit.hpp" - -#include "2s2h/Rando/Logic/Logic.h" - -using namespace Rando::Logic; - -// clang-format off -static RegisterShipInitFunc initFunc([]() { - Regions[RR_MISCELLANEOUS] = RandoRegion{ .name = "Various Regions", .sceneId = SCENE_SPOT00, - // This region currently directly houses nothing, but enemy drop checks reference the scene ID so that they can - // appear together in the check tracker. - }; -}, {}); -// clang-format on
\ No newline at end of file diff --git a/mm/2s2h/Rando/StaticData/Checks.cpp b/mm/2s2h/Rando/StaticData/Checks.cpp index b3b2e3974..00bc0d8a8 100644 --- a/mm/2s2h/Rando/StaticData/Checks.cpp +++ b/mm/2s2h/Rando/StaticData/Checks.cpp @@ -2233,62 +2233,62 @@ std::map<RandoCheckId, RandoStaticCheck> Checks = { RC(RC_ZORA_CAPE_GROTTO_GRASS_14, RCTYPE_GRASS, SCENE_KAKUSIANA, FLAG_NONE, 0x0, RI_JUNK), // Enemy Drops - RC(RC_ENEMY_DROP_ALIEN, RCTYPE_ENEMY_DROP, SCENE_SPOT00, FLAG_NONE, 0x0, RI_ARROWS_30), - RC(RC_ENEMY_DROP_ARMOS, RCTYPE_ENEMY_DROP, SCENE_SPOT00, FLAG_NONE, 0x0, RI_JUNK), - RC(RC_ENEMY_DROP_BAD_BAT, RCTYPE_ENEMY_DROP, SCENE_SPOT00, FLAG_NONE, 0x0, RI_NONE), - RC(RC_ENEMY_DROP_BEAMOS, RCTYPE_ENEMY_DROP, SCENE_SPOT00, FLAG_NONE, 0x0, RI_JUNK), - RC(RC_ENEMY_DROP_BIO_DEKU_BABA, RCTYPE_ENEMY_DROP, SCENE_SPOT00, FLAG_NONE, 0x0, RI_JUNK), - RC(RC_ENEMY_DROP_BLUE_BUBBLE, RCTYPE_ENEMY_DROP, SCENE_SPOT00, FLAG_NONE, 0x0, RI_JUNK), - RC(RC_ENEMY_DROP_BOE, RCTYPE_ENEMY_DROP, SCENE_SPOT00, FLAG_NONE, 0x0, RI_JUNK), - RC(RC_ENEMY_DROP_REAL_BOMBCHU, RCTYPE_ENEMY_DROP, SCENE_SPOT00, FLAG_NONE, 0x0, RI_JUNK), - RC(RC_ENEMY_DROP_CAPTAIN_KEETA, RCTYPE_ENEMY_DROP, SCENE_SPOT00, FLAG_NONE, 0x0, RI_NONE), - RC(RC_ENEMY_DROP_CHUCHU, RCTYPE_ENEMY_DROP, SCENE_SPOT00, FLAG_NONE, 0x0, RI_JUNK), - RC(RC_ENEMY_DROP_DEATH_ARMOS, RCTYPE_ENEMY_DROP, SCENE_SPOT00, FLAG_NONE, 0x0, RI_JUNK), - RC(RC_ENEMY_DROP_DEEP_PYTHON, RCTYPE_ENEMY_DROP, SCENE_SPOT00, FLAG_NONE, 0x0, RI_NONE), - RC(RC_ENEMY_DROP_DEKU_BABA, RCTYPE_ENEMY_DROP, SCENE_SPOT00, FLAG_NONE, 0x0, RI_JUNK), - RC(RC_ENEMY_DROP_DESBREKO, RCTYPE_ENEMY_DROP, SCENE_SPOT00, FLAG_NONE, 0x0, RI_JUNK), - RC(RC_ENEMY_DROP_DEXIHAND, RCTYPE_ENEMY_DROP, SCENE_SPOT00, FLAG_NONE, 0x0, RI_NONE), - RC(RC_ENEMY_DROP_DINOLFOS, RCTYPE_ENEMY_DROP, SCENE_SPOT00, FLAG_NONE, 0x0, RI_NONE), - RC(RC_ENEMY_DROP_DODONGO, RCTYPE_ENEMY_DROP, SCENE_SPOT00, FLAG_NONE, 0x0, RI_JUNK), - RC(RC_ENEMY_DROP_DRAGONFLY, RCTYPE_ENEMY_DROP, SCENE_SPOT00, FLAG_NONE, 0x0, RI_JUNK), - RC(RC_ENEMY_DROP_EENO, RCTYPE_ENEMY_DROP, SCENE_SPOT00, FLAG_NONE, 0x0, RI_JUNK), - RC(RC_ENEMY_DROP_EYEGORE, RCTYPE_ENEMY_DROP, SCENE_SPOT00, FLAG_NONE, 0x0, RI_NONE), - RC(RC_ENEMY_DROP_FLYING_POT, RCTYPE_ENEMY_DROP, SCENE_SPOT00, FLAG_NONE, 0x0, RI_JUNK), - RC(RC_ENEMY_DROP_FLOORMASTER, RCTYPE_ENEMY_DROP, SCENE_SPOT00, FLAG_NONE, 0x0, RI_JUNK), - RC(RC_ENEMY_DROP_FREEZARD, RCTYPE_ENEMY_DROP, SCENE_SPOT00, FLAG_NONE, 0x0, RI_JUNK), - RC(RC_ENEMY_DROP_GARO, RCTYPE_ENEMY_DROP, SCENE_SPOT00, FLAG_NONE, 0x0, RI_NONE), - RC(RC_ENEMY_DROP_GARO_MASTER, RCTYPE_ENEMY_DROP, SCENE_SPOT00, FLAG_NONE, 0x0, RI_NONE), - RC(RC_ENEMY_DROP_GEKKO, RCTYPE_ENEMY_DROP, SCENE_SPOT00, FLAG_NONE, 0x0, RI_NONE), - RC(RC_ENEMY_DROP_GIANT_BEE, RCTYPE_ENEMY_DROP, SCENE_SPOT00, FLAG_NONE, 0x0, RI_NONE), - RC(RC_ENEMY_DROP_GOMESS, RCTYPE_ENEMY_DROP, SCENE_SPOT00, FLAG_NONE, 0x0, RI_NONE), - RC(RC_ENEMY_DROP_GUAY, RCTYPE_ENEMY_DROP, SCENE_SPOT00, FLAG_NONE, 0x0, RI_JUNK), - RC(RC_ENEMY_DROP_HIPLOOP, RCTYPE_ENEMY_DROP, SCENE_SPOT00, FLAG_NONE, 0x0, RI_JUNK), - RC(RC_ENEMY_DROP_IGOS_DU_IKANA, RCTYPE_ENEMY_DROP, SCENE_SPOT00, FLAG_NONE, 0x0, RI_NONE), - RC(RC_ENEMY_DROP_IRON_KNUCKLE, RCTYPE_ENEMY_DROP, SCENE_SPOT00, FLAG_NONE, 0x0, RI_JUNK), - RC(RC_ENEMY_DROP_KEESE, RCTYPE_ENEMY_DROP, SCENE_SPOT00, FLAG_NONE, 0x0, RI_JUNK), - RC(RC_ENEMY_DROP_LEEVER, RCTYPE_ENEMY_DROP, SCENE_SPOT00, FLAG_NONE, 0x0, RI_JUNK), - RC(RC_ENEMY_DROP_LIKE_LIKE, RCTYPE_ENEMY_DROP, SCENE_SPOT00, FLAG_NONE, 0x0, RI_JUNK), - RC(RC_ENEMY_DROP_MAD_SCRUB, RCTYPE_ENEMY_DROP, SCENE_SPOT00, FLAG_NONE, 0x0, RI_JUNK), - RC(RC_ENEMY_DROP_MINI_BABA, RCTYPE_ENEMY_DROP, SCENE_SPOT00, FLAG_NONE, 0x0, RI_DEKU_NUT), - RC(RC_ENEMY_DROP_NEJIRON, RCTYPE_ENEMY_DROP, SCENE_SPOT00, FLAG_NONE, 0x0, RI_JUNK), - RC(RC_ENEMY_DROP_OCTOROK, RCTYPE_ENEMY_DROP, SCENE_SPOT00, FLAG_NONE, 0x0, RI_JUNK), - RC(RC_ENEMY_DROP_PEAHAT, RCTYPE_ENEMY_DROP, SCENE_SPOT00, FLAG_NONE, 0x0, RI_JUNK), - RC(RC_ENEMY_DROP_PIRATE, RCTYPE_ENEMY_DROP, SCENE_SPOT00, FLAG_NONE, 0x0, RI_NONE), - RC(RC_ENEMY_DROP_POE_SISTER, RCTYPE_ENEMY_DROP, SCENE_SPOT00, FLAG_NONE, 0x0, RI_JUNK), - RC(RC_ENEMY_DROP_RED_BUBBLE, RCTYPE_ENEMY_DROP, SCENE_SPOT00, FLAG_NONE, 0x0, RI_JUNK), - RC(RC_ENEMY_DROP_REDEAD, RCTYPE_ENEMY_DROP, SCENE_SPOT00, FLAG_NONE, 0x0, RI_JUNK), - RC(RC_ENEMY_DROP_SHELLBLADE, RCTYPE_ENEMY_DROP, SCENE_SPOT00, FLAG_NONE, 0x0, RI_JUNK), - RC(RC_ENEMY_DROP_SKULLFISH, RCTYPE_ENEMY_DROP, SCENE_SPOT00, FLAG_NONE, 0x0, RI_JUNK), - RC(RC_ENEMY_DROP_SKULLTULA, RCTYPE_ENEMY_DROP, SCENE_SPOT00, FLAG_NONE, 0x0, RI_JUNK), - RC(RC_ENEMY_DROP_SKULLWALLTULA, RCTYPE_ENEMY_DROP, SCENE_SPOT00, FLAG_NONE, 0x0, RI_NONE), - RC(RC_ENEMY_DROP_SNAPPER, RCTYPE_ENEMY_DROP, SCENE_SPOT00, FLAG_NONE, 0x0, RI_JUNK), - RC(RC_ENEMY_DROP_STALCHILD, RCTYPE_ENEMY_DROP, SCENE_SPOT00, FLAG_NONE, 0x0, RI_JUNK), - RC(RC_ENEMY_DROP_TAKKURI, RCTYPE_ENEMY_DROP, SCENE_SPOT00, FLAG_NONE, 0x0, RI_RUPEE_HUGE), - RC(RC_ENEMY_DROP_TEKTITE, RCTYPE_ENEMY_DROP, SCENE_SPOT00, FLAG_NONE, 0x0, RI_JUNK), - RC(RC_ENEMY_DROP_WALLMASTER, RCTYPE_ENEMY_DROP, SCENE_SPOT00, FLAG_NONE, 0x0, RI_JUNK), - RC(RC_ENEMY_DROP_WART, RCTYPE_ENEMY_DROP, SCENE_SPOT00, FLAG_NONE, 0x0, RI_NONE), - RC(RC_ENEMY_DROP_WIZROBE, RCTYPE_ENEMY_DROP, SCENE_SPOT00, FLAG_NONE, 0x0, RI_NONE), - RC(RC_ENEMY_DROP_WOLFOS, RCTYPE_ENEMY_DROP, SCENE_SPOT00, FLAG_NONE, 0x0, RI_JUNK), + RC(RC_ENEMY_DROP_ALIEN, RCTYPE_ENEMY_DROP, SCENE_MAX, FLAG_NONE, 0x0, RI_ARROWS_30), + RC(RC_ENEMY_DROP_ARMOS, RCTYPE_ENEMY_DROP, SCENE_MAX, FLAG_NONE, 0x0, RI_JUNK), + RC(RC_ENEMY_DROP_BAD_BAT, RCTYPE_ENEMY_DROP, SCENE_MAX, FLAG_NONE, 0x0, RI_NONE), + RC(RC_ENEMY_DROP_BEAMOS, RCTYPE_ENEMY_DROP, SCENE_MAX, FLAG_NONE, 0x0, RI_JUNK), + RC(RC_ENEMY_DROP_BIO_DEKU_BABA, RCTYPE_ENEMY_DROP, SCENE_MAX, FLAG_NONE, 0x0, RI_JUNK), + RC(RC_ENEMY_DROP_BLUE_BUBBLE, RCTYPE_ENEMY_DROP, SCENE_MAX, FLAG_NONE, 0x0, RI_JUNK), + RC(RC_ENEMY_DROP_BOE, RCTYPE_ENEMY_DROP, SCENE_MAX, FLAG_NONE, 0x0, RI_JUNK), + RC(RC_ENEMY_DROP_REAL_BOMBCHU, RCTYPE_ENEMY_DROP, SCENE_MAX, FLAG_NONE, 0x0, RI_JUNK), + RC(RC_ENEMY_DROP_CAPTAIN_KEETA, RCTYPE_ENEMY_DROP, SCENE_MAX, FLAG_NONE, 0x0, RI_NONE), + RC(RC_ENEMY_DROP_CHUCHU, RCTYPE_ENEMY_DROP, SCENE_MAX, FLAG_NONE, 0x0, RI_JUNK), + RC(RC_ENEMY_DROP_DEATH_ARMOS, RCTYPE_ENEMY_DROP, SCENE_MAX, FLAG_NONE, 0x0, RI_JUNK), + RC(RC_ENEMY_DROP_DEEP_PYTHON, RCTYPE_ENEMY_DROP, SCENE_MAX, FLAG_NONE, 0x0, RI_NONE), + RC(RC_ENEMY_DROP_DEKU_BABA, RCTYPE_ENEMY_DROP, SCENE_MAX, FLAG_NONE, 0x0, RI_JUNK), + RC(RC_ENEMY_DROP_DESBREKO, RCTYPE_ENEMY_DROP, SCENE_MAX, FLAG_NONE, 0x0, RI_JUNK), + RC(RC_ENEMY_DROP_DEXIHAND, RCTYPE_ENEMY_DROP, SCENE_MAX, FLAG_NONE, 0x0, RI_NONE), + RC(RC_ENEMY_DROP_DINOLFOS, RCTYPE_ENEMY_DROP, SCENE_MAX, FLAG_NONE, 0x0, RI_NONE), + RC(RC_ENEMY_DROP_DODONGO, RCTYPE_ENEMY_DROP, SCENE_MAX, FLAG_NONE, 0x0, RI_JUNK), + RC(RC_ENEMY_DROP_DRAGONFLY, RCTYPE_ENEMY_DROP, SCENE_MAX, FLAG_NONE, 0x0, RI_JUNK), + RC(RC_ENEMY_DROP_EENO, RCTYPE_ENEMY_DROP, SCENE_MAX, FLAG_NONE, 0x0, RI_JUNK), + RC(RC_ENEMY_DROP_EYEGORE, RCTYPE_ENEMY_DROP, SCENE_MAX, FLAG_NONE, 0x0, RI_NONE), + RC(RC_ENEMY_DROP_FLYING_POT, RCTYPE_ENEMY_DROP, SCENE_MAX, FLAG_NONE, 0x0, RI_JUNK), + RC(RC_ENEMY_DROP_FLOORMASTER, RCTYPE_ENEMY_DROP, SCENE_MAX, FLAG_NONE, 0x0, RI_JUNK), + RC(RC_ENEMY_DROP_FREEZARD, RCTYPE_ENEMY_DROP, SCENE_MAX, FLAG_NONE, 0x0, RI_JUNK), + RC(RC_ENEMY_DROP_GARO, RCTYPE_ENEMY_DROP, SCENE_MAX, FLAG_NONE, 0x0, RI_NONE), + RC(RC_ENEMY_DROP_GARO_MASTER, RCTYPE_ENEMY_DROP, SCENE_MAX, FLAG_NONE, 0x0, RI_NONE), + RC(RC_ENEMY_DROP_GEKKO, RCTYPE_ENEMY_DROP, SCENE_MAX, FLAG_NONE, 0x0, RI_NONE), + RC(RC_ENEMY_DROP_GIANT_BEE, RCTYPE_ENEMY_DROP, SCENE_MAX, FLAG_NONE, 0x0, RI_NONE), + RC(RC_ENEMY_DROP_GOMESS, RCTYPE_ENEMY_DROP, SCENE_MAX, FLAG_NONE, 0x0, RI_NONE), + RC(RC_ENEMY_DROP_GUAY, RCTYPE_ENEMY_DROP, SCENE_MAX, FLAG_NONE, 0x0, RI_JUNK), + RC(RC_ENEMY_DROP_HIPLOOP, RCTYPE_ENEMY_DROP, SCENE_MAX, FLAG_NONE, 0x0, RI_JUNK), + RC(RC_ENEMY_DROP_IGOS_DU_IKANA, RCTYPE_ENEMY_DROP, SCENE_MAX, FLAG_NONE, 0x0, RI_NONE), + RC(RC_ENEMY_DROP_IRON_KNUCKLE, RCTYPE_ENEMY_DROP, SCENE_MAX, FLAG_NONE, 0x0, RI_JUNK), + RC(RC_ENEMY_DROP_KEESE, RCTYPE_ENEMY_DROP, SCENE_MAX, FLAG_NONE, 0x0, RI_JUNK), + RC(RC_ENEMY_DROP_LEEVER, RCTYPE_ENEMY_DROP, SCENE_MAX, FLAG_NONE, 0x0, RI_JUNK), + RC(RC_ENEMY_DROP_LIKE_LIKE, RCTYPE_ENEMY_DROP, SCENE_MAX, FLAG_NONE, 0x0, RI_JUNK), + RC(RC_ENEMY_DROP_MAD_SCRUB, RCTYPE_ENEMY_DROP, SCENE_MAX, FLAG_NONE, 0x0, RI_JUNK), + RC(RC_ENEMY_DROP_MINI_BABA, RCTYPE_ENEMY_DROP, SCENE_MAX, FLAG_NONE, 0x0, RI_DEKU_NUT), + RC(RC_ENEMY_DROP_NEJIRON, RCTYPE_ENEMY_DROP, SCENE_MAX, FLAG_NONE, 0x0, RI_JUNK), + RC(RC_ENEMY_DROP_OCTOROK, RCTYPE_ENEMY_DROP, SCENE_MAX, FLAG_NONE, 0x0, RI_JUNK), + RC(RC_ENEMY_DROP_PEAHAT, RCTYPE_ENEMY_DROP, SCENE_MAX, FLAG_NONE, 0x0, RI_JUNK), + RC(RC_ENEMY_DROP_PIRATE, RCTYPE_ENEMY_DROP, SCENE_MAX, FLAG_NONE, 0x0, RI_NONE), + RC(RC_ENEMY_DROP_POE_SISTER, RCTYPE_ENEMY_DROP, SCENE_MAX, FLAG_NONE, 0x0, RI_JUNK), + RC(RC_ENEMY_DROP_RED_BUBBLE, RCTYPE_ENEMY_DROP, SCENE_MAX, FLAG_NONE, 0x0, RI_JUNK), + RC(RC_ENEMY_DROP_REDEAD, RCTYPE_ENEMY_DROP, SCENE_MAX, FLAG_NONE, 0x0, RI_JUNK), + RC(RC_ENEMY_DROP_SHELLBLADE, RCTYPE_ENEMY_DROP, SCENE_MAX, FLAG_NONE, 0x0, RI_JUNK), + RC(RC_ENEMY_DROP_SKULLFISH, RCTYPE_ENEMY_DROP, SCENE_MAX, FLAG_NONE, 0x0, RI_JUNK), + RC(RC_ENEMY_DROP_SKULLTULA, RCTYPE_ENEMY_DROP, SCENE_MAX, FLAG_NONE, 0x0, RI_JUNK), + RC(RC_ENEMY_DROP_SKULLWALLTULA, RCTYPE_ENEMY_DROP, SCENE_MAX, FLAG_NONE, 0x0, RI_NONE), + RC(RC_ENEMY_DROP_SNAPPER, RCTYPE_ENEMY_DROP, SCENE_MAX, FLAG_NONE, 0x0, RI_JUNK), + RC(RC_ENEMY_DROP_STALCHILD, RCTYPE_ENEMY_DROP, SCENE_MAX, FLAG_NONE, 0x0, RI_JUNK), + RC(RC_ENEMY_DROP_TAKKURI, RCTYPE_ENEMY_DROP, SCENE_MAX, FLAG_NONE, 0x0, RI_RUPEE_HUGE), + RC(RC_ENEMY_DROP_TEKTITE, RCTYPE_ENEMY_DROP, SCENE_MAX, FLAG_NONE, 0x0, RI_JUNK), + RC(RC_ENEMY_DROP_WALLMASTER, RCTYPE_ENEMY_DROP, SCENE_MAX, FLAG_NONE, 0x0, RI_JUNK), + RC(RC_ENEMY_DROP_WART, RCTYPE_ENEMY_DROP, SCENE_MAX, FLAG_NONE, 0x0, RI_NONE), + RC(RC_ENEMY_DROP_WIZROBE, RCTYPE_ENEMY_DROP, SCENE_MAX, FLAG_NONE, 0x0, RI_NONE), + RC(RC_ENEMY_DROP_WOLFOS, RCTYPE_ENEMY_DROP, SCENE_MAX, FLAG_NONE, 0x0, RI_JUNK), }; // clang-format on diff --git a/mm/2s2h/Rando/StaticData/StaticData.h b/mm/2s2h/Rando/StaticData/StaticData.h index 6e3641cdc..1bf25dec8 100644 --- a/mm/2s2h/Rando/StaticData/StaticData.h +++ b/mm/2s2h/Rando/StaticData/StaticData.h @@ -68,16 +68,6 @@ extern std::map<RandoOptionId, RandoStaticOption> Options; RandoOptionId GetOptionIdFromName(const char* name); -struct RandoStaticRegion { - RandoRegionId randoRegionId; - const char* name; - SceneId sceneId; - std::map<RandoCheckId, std::function<bool()>> checks; - std::map<RandoRegionId, std::function<bool()>> regions; -}; - -extern std::map<RandoRegionId, RandoStaticRegion> Regions; - } // namespace StaticData } // namespace Rando diff --git a/mm/2s2h/Rando/Types.h b/mm/2s2h/Rando/Types.h index d77db02a1..40915d917 100644 --- a/mm/2s2h/Rando/Types.h +++ b/mm/2s2h/Rando/Types.h @@ -2661,7 +2661,6 @@ typedef enum { RR_MAGIC_HAGS_POTION_SHOP, RR_MARINE_RESEARCH_LAB, RR_MAYOR_RESIDENCE, - RR_MISCELLANEOUS, RR_MILK_BAR, RR_MILK_ROAD, RR_MILK_ROAD_BEHIND_FENCE, |
