summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGarrett Cox <garrettjcox@gmail.com>2026-01-16 20:38:11 -0600
committerGitHub <noreply@github.com>2026-01-16 20:38:11 -0600
commit214872e7f38185e2208d480cb6055dc304dcde6c (patch)
treefbbfda95fcd8cb608eb8d2de68d2f85488808ad8
parent4430281d1aab4076c40e62e5bb5be1383361afe3 (diff)
Better handling of Grottos & Enemy Drops in the Check tracker (#1463)
-rw-r--r--mm/2s2h/Rando/CheckTracker/CheckTracker.cpp57
-rw-r--r--mm/2s2h/Rando/Logic/Regions/Miscellaneous.cpp15
-rw-r--r--mm/2s2h/Rando/StaticData/Checks.cpp112
-rw-r--r--mm/2s2h/Rando/StaticData/StaticData.h10
-rw-r--r--mm/2s2h/Rando/Types.h1
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,