diff options
| author | Garrett Cox <garrettjcox@gmail.com> | 2024-12-12 09:01:10 -0600 |
|---|---|---|
| committer | Garrett Cox <garrettjcox@gmail.com> | 2024-12-12 09:01:10 -0600 |
| commit | b01bcf2dca6118b2df11fe2b394b5ea90dca32e6 (patch) | |
| tree | 6555b1b497f00268844ce19cb2537e6e796c6473 | |
| parent | b7e2c22616481ff3b40e5dd36b7e698373bf3359 (diff) | |
Add woodfall temple logic
| -rw-r--r-- | mm/2s2h/Rando/ActorBehavior/ObjTsubo.cpp | 4 | ||||
| -rw-r--r-- | mm/2s2h/Rando/Logic/GlitchlessLogic.cpp | 2 | ||||
| -rw-r--r-- | mm/2s2h/Rando/Logic/Regions.cpp | 177 | ||||
| -rw-r--r-- | mm/2s2h/Rando/MiscBehavior/MiscBehavior.cpp | 2 | ||||
| -rw-r--r-- | mm/2s2h/Rando/StaticData/Checks.cpp | 4 | ||||
| -rw-r--r-- | mm/2s2h/Rando/Types.h | 18 |
6 files changed, 196 insertions, 11 deletions
diff --git a/mm/2s2h/Rando/ActorBehavior/ObjTsubo.cpp b/mm/2s2h/Rando/ActorBehavior/ObjTsubo.cpp index e1ec86a24..325a67bc7 100644 --- a/mm/2s2h/Rando/ActorBehavior/ObjTsubo.cpp +++ b/mm/2s2h/Rando/ActorBehavior/ObjTsubo.cpp @@ -393,10 +393,10 @@ RandoCheckId IdentifyPot(Actor* actor) { randoCheckId = RC_WOODFALL_TEMPLE_POT_MAZE_2; } if (IS_AT(-120.0f, -2220.0f)) { - randoCheckId = RC_WOODFALL_TEMPLE_POT_PREBOSS_1; + randoCheckId = RC_WOODFALL_TEMPLE_POT_PRE_BOSS_1; } if (IS_AT(120.0f, -2220.0f)) { - randoCheckId = RC_WOODFALL_TEMPLE_POT_PREBOSS_2; + randoCheckId = RC_WOODFALL_TEMPLE_POT_PRE_BOSS_2; } if (IS_AT(1335.0f, 585.0f)) { randoCheckId = RC_WOODFALL_TEMPLE_POT_WATER_ROOM_1; diff --git a/mm/2s2h/Rando/Logic/GlitchlessLogic.cpp b/mm/2s2h/Rando/Logic/GlitchlessLogic.cpp index e8edb465b..7de67dd7d 100644 --- a/mm/2s2h/Rando/Logic/GlitchlessLogic.cpp +++ b/mm/2s2h/Rando/Logic/GlitchlessLogic.cpp @@ -30,7 +30,7 @@ void ApplyGlitchlessLogicToSaveContext() { // happen prior to these items being in logic. Each time an item is logically placed, it should be removed from this // section. std::vector<RandoItemId> startingItems = { - RI_SONG_EPONA, RI_HOOKSHOT, RI_ARROW_FIRE, RI_BOW, RI_POWDER_KEG, + RI_SONG_EPONA, RI_HOOKSHOT, RI_ARROW_FIRE, RI_POWDER_KEG, RI_MASK_GORON, RI_DEED_MOUNTAIN, RI_MAGIC_BEAN, RI_SONG_STORMS, RI_SONG_BOSSA_NOVA, RI_MASK_GARO, RI_SONG_ELEGY, RI_ARROW_LIGHT, RI_ARROW_ICE, RI_LENS, RI_BLUE_POTION_REFILL, RI_MASK_COUPLE, RI_MASK_ALL_NIGHT, diff --git a/mm/2s2h/Rando/Logic/Regions.cpp b/mm/2s2h/Rando/Logic/Regions.cpp index c70564fd5..2182d2e58 100644 --- a/mm/2s2h/Rando/Logic/Regions.cpp +++ b/mm/2s2h/Rando/Logic/Regions.cpp @@ -59,6 +59,7 @@ namespace Logic { #define CAN_KILL_WART ((CAN_BE_HUMAN && (HAS_ITEM(ITEM_BOW) || HAS_ITEM(ITEM_HOOKSHOT))) || CAN_BE_ZORA) #define CAN_KILL_GARO_MASTER ((CAN_BE_HUMAN && HAS_ITEM(ITEM_BOW)) || CAN_BE_GORON || CAN_USE_SWORD) #define CAN_KILL_IRONKNUCKLE (CAN_USE_SWORD || CAN_BE_GORON) +#define KEY_COUNT(dungeon) (gSaveContext.save.shipSaveInfo.rando.foundDungeonKeys[DUNGEON_INDEX_##dungeon]) // TODO: MOVE THIS STUFF OR SOMETHING void Flags_SetSceneSwitch(s32 scene, s32 flag) { @@ -1548,10 +1549,182 @@ std::unordered_map<RandoRegionId, RandoRegion> Regions = { EXIT(ENTRANCE(WOODFALL, 2), ENTRANCE(FAIRY_FOUNTAIN, 1), true), }, } }, - { RR_WOODFALL_TEMPLE, RandoRegion{ .sceneId = SCENE_MITURIN, + { RR_WOODFALL_TEMPLE_ENTRANCE, RandoRegion{ .name = "Entrance", .sceneId = SCENE_MITURIN, + .checks = { + CHECK(RC_WOODFALL_TEMPLE_ENTRANCE_CHEST, CAN_BE_DEKU), + CHECK(RC_WOODFALL_TEMPLE_SF_ENTRANCE, CAN_BE_DEKU || CAN_BE_HUMAN || CAN_BE_ZORA), + CHECK(RC_WOODFALL_TEMPLE_POT_ENTRANCE, CAN_BE_DEKU), + }, .exits = { // TO FROM EXIT(ENTRANCE(WOODFALL, 1), ENTRANCE(WOODFALL_TEMPLE, 0), true), }, + .connections = { + CONNECTION(RR_WOODFALL_TEMPLE_MAIN_ROOM, CAN_BE_DEKU), + }, + } }, + { RR_WOODFALL_TEMPLE_MAIN_ROOM, RandoRegion{ .name = "Main Room", .sceneId = SCENE_MITURIN, + .checks = { + CHECK(RC_WOODFALL_TEMPLE_POT_MAIN_ROOM_LOWER_1, true), + CHECK(RC_WOODFALL_TEMPLE_POT_MAIN_ROOM_LOWER_2, true), + CHECK(RC_WOODFALL_TEMPLE_POT_MAIN_ROOM_LOWER_3, true), + CHECK(RC_WOODFALL_TEMPLE_POT_MAIN_ROOM_LOWER_4, true), + CHECK(RC_WOODFALL_TEMPLE_POT_MAIN_ROOM_LOWER_5, true), + CHECK(RC_WOODFALL_TEMPLE_POT_MAIN_ROOM_LOWER_6, true), + CHECK(RC_WOODFALL_TEMPLE_SF_MAIN_POT, true), + // TODO: CAN_KILL_ENEMY(DEKU_BABA)? + CHECK(RC_WOODFALL_TEMPLE_SF_MAIN_DEKU_BABA, true), + CHECK(RC_WOODFALL_TEMPLE_SF_MAIN_BUBBLE, (CAN_BE_HUMAN && (HAS_ITEM(ITEM_BOW) || HAS_ITEM(ITEM_HOOKSHOT)) && HAS_ITEM(ITEM_MASK_GREAT_FAIRY))), + }, + .connections = { + CONNECTION(RR_WOODFALL_TEMPLE_ENTRANCE, true), + CONNECTION(RR_WOODFALL_TEMPLE_WATER_ROOM, true), // It's a little tight for goron but possible + CONNECTION(RR_WOODFALL_TEMPLE_MAZE_ROOM, KEY_COUNT(WOODFALL_TEMPLE) >= 1), + CONNECTION(RR_WOODFALL_TEMPLE_MAIN_ROOM_UPPER, Flags_GetSceneSwitch(SCENE_MITURIN, 0x09)), + }, + } }, + { RR_WOODFALL_TEMPLE_MAIN_ROOM_UPPER, RandoRegion{ .name = "Main Room Upper", .sceneId = SCENE_MITURIN, + .checks = { + CHECK(RC_WOODFALL_TEMPLE_POT_MAIN_ROOM_UPPER_1, true), + CHECK(RC_WOODFALL_TEMPLE_POT_MAIN_ROOM_UPPER_2, true), + CHECK(RC_WOODFALL_TEMPLE_SF_MAIN_BUBBLE, true), + CHECK(RC_WOODFALL_TEMPLE_CENTER_CHEST, CAN_BE_DEKU), + }, + .connections = { + CONNECTION(RR_WOODFALL_TEMPLE_WATER_ROOM_UPPER, true), + CONNECTION(RR_WOODFALL_TEMPLE_MAIN_ROOM, true), + CONNECTION(RR_WOODFALL_TEMPLE_PRE_BOSS_ROOM, CHECK_WEEKEVENTREG(WEEKEVENTREG_12_01)), + CONNECTION(RR_WOODFALL_TEMPLE_DARK_ROOM, true), + }, + .events = { + EVENT(Flags_SetSceneSwitch(SCENE_MITURIN, 0x09), Flags_ClearSceneSwitch(SCENE_MITURIN, 0x09), true), + EVENT(SET_WEEKEVENTREG(WEEKEVENTREG_12_01), CLEAR_WEEKEVENTREG(WEEKEVENTREG_12_01), CAN_BE_HUMAN && HAS_ITEM(ITEM_BOW)), + }, + } }, + { RR_WOODFALL_TEMPLE_PRE_BOSS_ROOM, RandoRegion{ .name = "Pre Boss Room", .sceneId = SCENE_MITURIN, + .checks = { + CHECK(RC_WOODFALL_TEMPLE_SF_PRE_BOSS_BOTTOM_RIGHT, CAN_BE_DEKU), + CHECK(RC_WOODFALL_TEMPLE_SF_PRE_BOSS_LEFT, CAN_BE_DEKU), + CHECK(RC_WOODFALL_TEMPLE_SF_PRE_BOSS_TOP_RIGHT, CAN_BE_DEKU), + CHECK(RC_WOODFALL_TEMPLE_POT_PRE_BOSS_1, CAN_BE_DEKU && HAS_ITEM(ITEM_BOW) && CAN_BE_HUMAN), + CHECK(RC_WOODFALL_TEMPLE_POT_PRE_BOSS_2, CAN_BE_DEKU && HAS_ITEM(ITEM_BOW) && CAN_BE_HUMAN), + CHECK(RC_WOODFALL_TEMPLE_SF_PRE_BOSS_PILLAR, CAN_BE_DEKU && HAS_ITEM(ITEM_BOW) && CAN_BE_HUMAN), + }, + .exits = { // TO FROM + EXIT(ENTRANCE(ODOLWAS_LAIR, 0), ONE_WAY_EXIT, CAN_BE_DEKU && HAS_ITEM(ITEM_BOW) && CAN_BE_HUMAN && CHECK_DUNGEON_ITEM(DUNGEON_BOSS_KEY, DUNGEON_INDEX_WOODFALL_TEMPLE)), + }, + .connections = { + CONNECTION(RR_WOODFALL_TEMPLE_MAIN_ROOM_UPPER, true), + }, + } }, + { RR_WOODFALL_TEMPLE_BOSS_ROOM, RandoRegion{ .sceneId = SCENE_MITURIN_BS, + .checks = { + // TODO: CAN_KILL_BOSS(Odolwa)? + CHECK(RC_WOODFALL_TEMPLE_BOSS_CONTAINER, true), + CHECK(RC_WOODFALL_TEMPLE_BOSS_WARP, true), + }, + .oneWayEntrances = { + ENTRANCE(ODOLWAS_LAIR, 0), // From Woodfall Temple Pre-Boss Room + }, + } }, + { RR_WOODFALL_TEMPLE_WATER_ROOM, RandoRegion{ .name = "Water Room", .sceneId = SCENE_MITURIN, + .checks = { + CHECK(RC_WOODFALL_TEMPLE_WATER_CHEST, CAN_BE_DEKU || (CAN_BE_HUMAN && HAS_ITEM(ITEM_HOOKSHOT))), + CHECK(RC_WOODFALL_TEMPLE_SF_WATER_ROOM_BEEHIVE, ( + // Can they break it, leaving the fairy up high? // TODO: Trick for bombs & chus here + (((CAN_BE_HUMAN && HAS_ITEM(ITEM_HOOKSHOT)) || CAN_BE_ZORA) && HAS_ITEM(ITEM_MASK_GREAT_FAIRY)) || + // Can they break it, making it drop into the water? + ((CAN_BE_HUMAN && HAS_ITEM(ITEM_BOW)) || (CAN_BE_DEKU && HAS_MAGIC)) + )), + }, + .connections = { + CONNECTION(RR_WOODFALL_TEMPLE_MAIN_ROOM, true), + CONNECTION(RR_WOODFALL_TEMPLE_MAP_ROOM, CAN_BE_DEKU), + CONNECTION(RR_WOODFALL_TEMPLE_WATER_ROOM_UPPER, CAN_BE_HUMAN && HAS_ITEM(ITEM_BOW) && CAN_BE_DEKU), + }, + } }, + { RR_WOODFALL_TEMPLE_DARK_ROOM, RandoRegion{ .name = "Dark Room", .sceneId = SCENE_MITURIN, + .checks = { + // CAN_KILL_ENEMY(DARK_FOG_DUDE)? + CHECK(RC_WOODFALL_TEMPLE_DARK_CHEST, true), + }, + .connections = { + CONNECTION(RR_WOODFALL_TEMPLE_MAIN_ROOM_UPPER, CAN_BE_DEKU && CAN_BE_HUMAN && (HAS_ITEM(ITEM_DEKU_STICK) || (HAS_ITEM(ITEM_BOW) && HAS_ITEM(ITEM_ARROW_FIRE) && HAS_MAGIC))), + CONNECTION(RR_WOODFALL_TEMPLE_MAZE_ROOM, CAN_BE_HUMAN && (HAS_ITEM(ITEM_DEKU_STICK) || (HAS_ITEM(ITEM_BOW) && HAS_ITEM(ITEM_ARROW_FIRE) && HAS_MAGIC))), + }, + } }, + { RR_WOODFALL_TEMPLE_MAZE_ROOM, RandoRegion{ .name = "Maze Room", .sceneId = SCENE_MITURIN, + .checks = { + CHECK(RC_WOODFALL_TEMPLE_POT_MAZE_1, CAN_BE_HUMAN || CAN_BE_ZORA), + CHECK(RC_WOODFALL_TEMPLE_POT_MAZE_2, CAN_BE_HUMAN || CAN_BE_ZORA), + CHECK(RC_WOODFALL_TEMPLE_SF_MAZE_BEEHIVE, ( + // TODO: Trick for bombs & chus here + (CAN_BE_HUMAN && (HAS_ITEM(ITEM_HOOKSHOT) || HAS_ITEM(ITEM_BOW))) || + CAN_BE_ZORA || (CAN_BE_DEKU && HAS_MAGIC) + )), + // TODO: Maybe add a health check here later + CHECK(RC_WOODFALL_TEMPLE_SF_MAZE_BUBBLE, CAN_BE_ZORA || CAN_BE_HUMAN), + // CAN_KILL_ENEMY(SKULLTULA) + CHECK(RC_WOODFALL_TEMPLE_SF_MAZE_SKULLTULA, true), + }, + .connections = { + CONNECTION(RR_WOODFALL_TEMPLE_MAIN_ROOM, KEY_COUNT(WOODFALL_TEMPLE) >= 1), + CONNECTION(RR_WOODFALL_TEMPLE_DARK_ROOM, CAN_BE_HUMAN && (HAS_ITEM(ITEM_DEKU_STICK) || (HAS_ITEM(ITEM_BOW) && HAS_ITEM(ITEM_ARROW_FIRE) && HAS_MAGIC))), + CONNECTION(RR_WOODFALL_TEMPLE_COMPASS_ROOM, CAN_BE_HUMAN && (HAS_ITEM(ITEM_DEKU_STICK) || (HAS_ITEM(ITEM_BOW) && HAS_ITEM(ITEM_ARROW_FIRE) && HAS_MAGIC))), + }, + } }, + { RR_WOODFALL_TEMPLE_COMPASS_ROOM, RandoRegion{ .name = "Compass Room", .sceneId = SCENE_MITURIN, + .checks = { + // CAN_KILL_ENEMY(DRAGONFLY)? + CHECK(RC_WOODFALL_TEMPLE_COMPASS, CAN_BE_DEKU || CAN_USE_EXPLOSIVE), + }, + .connections = { + CONNECTION(RR_WOODFALL_TEMPLE_MAZE_ROOM, true), + }, + } }, + { RR_WOODFALL_TEMPLE_MAP_ROOM, RandoRegion{ .name = "Map Room", .sceneId = SCENE_MITURIN, + .checks = { + // CAN_KILL_ENEMY(SNAPPER)? + CHECK(RC_WOODFALL_TEMPLE_MAP, CAN_BE_DEKU || CAN_USE_EXPLOSIVE), + }, + .connections = { + CONNECTION(RR_WOODFALL_TEMPLE_WATER_ROOM, true), + }, + } }, + { RR_WOODFALL_TEMPLE_WATER_ROOM_UPPER, RandoRegion{ .name = "Water Room Upper", .sceneId = SCENE_MITURIN, + .checks = { + CHECK(RC_WOODFALL_TEMPLE_POT_WATER_ROOM_1, true), + CHECK(RC_WOODFALL_TEMPLE_POT_WATER_ROOM_2, true), + CHECK(RC_WOODFALL_TEMPLE_POT_WATER_ROOM_3, true), + CHECK(RC_WOODFALL_TEMPLE_POT_WATER_ROOM_4, true), + }, + .connections = { + CONNECTION(RR_WOODFALL_TEMPLE_WATER_ROOM, true), + CONNECTION(RR_WOODFALL_TEMPLE_BOW_ROOM, true), + CONNECTION(RR_WOODFALL_TEMPLE_BOSS_KEY_ROOM, CAN_BE_HUMAN && HAS_ITEM(ITEM_BOW) && CAN_BE_DEKU), + CONNECTION(RR_WOODFALL_TEMPLE_MAIN_ROOM_UPPER, true), + }, + } }, + { RR_WOODFALL_TEMPLE_BOW_ROOM, RandoRegion{ .name = "Bow Room", .sceneId = SCENE_MITURIN, + .checks = { + // CAN_KILL_ENEMY(DINOLFOS)? + CHECK(RC_WOODFALL_TEMPLE_BOW, true), + }, + .connections = { + CONNECTION(RR_WOODFALL_TEMPLE_WATER_ROOM_UPPER, true), + }, + } }, + { RR_WOODFALL_TEMPLE_BOSS_KEY_ROOM, RandoRegion{ .name = "Boss Key Room", .sceneId = SCENE_MITURIN, + .checks = { + // CAN_KILL_ENEMY(GEKKO)? + CHECK(RC_WOODFALL_TEMPLE_BOSS_KEY_CHEST, HAS_ITEM(ITEM_BOW) && (CAN_BE_DEKU || CAN_USE_EXPLOSIVE)), + CHECK(RC_WOODFALL_TEMPLE_POT_MINIBOSS_ROOM_1, HAS_ITEM(ITEM_BOW) && (CAN_BE_DEKU || CAN_USE_EXPLOSIVE)), + CHECK(RC_WOODFALL_TEMPLE_POT_MINIBOSS_ROOM_2, HAS_ITEM(ITEM_BOW) && (CAN_BE_DEKU || CAN_USE_EXPLOSIVE)), + CHECK(RC_WOODFALL_TEMPLE_POT_MINIBOSS_ROOM_3, HAS_ITEM(ITEM_BOW) && (CAN_BE_DEKU || CAN_USE_EXPLOSIVE)), + CHECK(RC_WOODFALL_TEMPLE_POT_MINIBOSS_ROOM_4, HAS_ITEM(ITEM_BOW) && (CAN_BE_DEKU || CAN_USE_EXPLOSIVE)), + }, + .connections = { + CONNECTION(RR_WOODFALL_TEMPLE_WATER_ROOM_UPPER, true), + }, } }, { RR_WOODFALL, RandoRegion{ .sceneId = SCENE_21MITURINMAE, .checks = { @@ -1561,7 +1734,7 @@ std::unordered_map<RandoRegionId, RandoRegion> Regions = { }, .exits = { // TO FROM EXIT(ENTRANCE(SOUTHERN_SWAMP_POISONED, 2), ENTRANCE(WOODFALL, 0), true), - EXIT(ENTRANCE(WOODFALL_TEMPLE, 0), ENTRANCE(WOODFALL, 1), CAN_BE_DEKU), + EXIT(ENTRANCE(WOODFALL_TEMPLE, 0), ENTRANCE(WOODFALL, 1), CAN_BE_DEKU && CAN_PLAY_SONG(SONATA)), EXIT(ENTRANCE(FAIRY_FOUNTAIN, 1), ENTRANCE(WOODFALL, 2), CAN_BE_DEKU), }, } }, diff --git a/mm/2s2h/Rando/MiscBehavior/MiscBehavior.cpp b/mm/2s2h/Rando/MiscBehavior/MiscBehavior.cpp index 70ef2e7e1..796944461 100644 --- a/mm/2s2h/Rando/MiscBehavior/MiscBehavior.cpp +++ b/mm/2s2h/Rando/MiscBehavior/MiscBehavior.cpp @@ -36,7 +36,7 @@ void Rando::MiscBehavior::OnFileLoad() { // In Sram_OpenSave (right before this code runs) for non-owl saves, it overwrites the entrance to // ENTRANCE(CUTSCENE, 0), we need to override that with our starting location (Harcoded to South Clock Town) - if (!gSaveContext.save.isOwlSave) { + if (!gSaveContext.save.isOwlSave && IS_RANDO) { gSaveContext.save.entrance = ENTRANCE(SOUTH_CLOCK_TOWN, 0); } } diff --git a/mm/2s2h/Rando/StaticData/Checks.cpp b/mm/2s2h/Rando/StaticData/Checks.cpp index 19e66ba6c..4edd07d1f 100644 --- a/mm/2s2h/Rando/StaticData/Checks.cpp +++ b/mm/2s2h/Rando/StaticData/Checks.cpp @@ -839,8 +839,8 @@ std::map<RandoCheckId, RandoStaticCheck> Checks = { RC(RC_WOODFALL_TEMPLE_POT_MINIBOSS_ROOM_2, RCTYPE_POT, SCENE_MITURIN, FLAG_CYCL_SCENE_COLLECTIBLE, 0x27, RI_RUPEE_BLUE), RC(RC_WOODFALL_TEMPLE_POT_MINIBOSS_ROOM_3, RCTYPE_POT, SCENE_MITURIN, FLAG_CYCL_SCENE_COLLECTIBLE, 0x28, RI_RUPEE_BLUE), RC(RC_WOODFALL_TEMPLE_POT_MINIBOSS_ROOM_4, RCTYPE_POT, SCENE_MITURIN, FLAG_CYCL_SCENE_COLLECTIBLE, 0x29, RI_RUPEE_BLUE), - RC(RC_WOODFALL_TEMPLE_POT_PREBOSS_1, RCTYPE_POT, SCENE_MITURIN, FLAG_NONE, 0x0, RI_RECOVERY_HEART), - RC(RC_WOODFALL_TEMPLE_POT_PREBOSS_2, RCTYPE_POT, SCENE_MITURIN, FLAG_NONE, 0x0, RI_RECOVERY_HEART), + RC(RC_WOODFALL_TEMPLE_POT_PRE_BOSS_1, RCTYPE_POT, SCENE_MITURIN, FLAG_NONE, 0x0, RI_RECOVERY_HEART), + RC(RC_WOODFALL_TEMPLE_POT_PRE_BOSS_2, RCTYPE_POT, SCENE_MITURIN, FLAG_NONE, 0x0, RI_RECOVERY_HEART), RC(RC_WOODFALL_TEMPLE_POT_WATER_ROOM_1, RCTYPE_POT, SCENE_MITURIN, FLAG_NONE, 0x0, RI_RECOVERY_HEART), RC(RC_WOODFALL_TEMPLE_POT_WATER_ROOM_2, RCTYPE_POT, SCENE_MITURIN, FLAG_NONE, 0x0, RI_RECOVERY_HEART), RC(RC_WOODFALL_TEMPLE_POT_WATER_ROOM_3, RCTYPE_POT, SCENE_MITURIN, FLAG_NONE, 0x0, RI_RECOVERY_HEART), diff --git a/mm/2s2h/Rando/Types.h b/mm/2s2h/Rando/Types.h index 4963b1ff9..665b57917 100644 --- a/mm/2s2h/Rando/Types.h +++ b/mm/2s2h/Rando/Types.h @@ -837,8 +837,8 @@ typedef enum { RC_WOODFALL_TEMPLE_POT_MINIBOSS_ROOM_2, RC_WOODFALL_TEMPLE_POT_MINIBOSS_ROOM_3, RC_WOODFALL_TEMPLE_POT_MINIBOSS_ROOM_4, - RC_WOODFALL_TEMPLE_POT_PREBOSS_1, - RC_WOODFALL_TEMPLE_POT_PREBOSS_2, + RC_WOODFALL_TEMPLE_POT_PRE_BOSS_1, + RC_WOODFALL_TEMPLE_POT_PRE_BOSS_2, RC_WOODFALL_TEMPLE_POT_WATER_ROOM_1, RC_WOODFALL_TEMPLE_POT_WATER_ROOM_2, RC_WOODFALL_TEMPLE_POT_WATER_ROOM_3, @@ -1129,7 +1129,19 @@ typedef enum { RR_TREASURE_SHOP, RR_WATERFALL_RAPIDS, RR_WOODFALL_GREAT_FAIRY_FOUNTAIN, - RR_WOODFALL_TEMPLE, + RR_WOODFALL_TEMPLE_BOSS_KEY_ROOM, + RR_WOODFALL_TEMPLE_BOSS_ROOM, + RR_WOODFALL_TEMPLE_PRE_BOSS_ROOM, + RR_WOODFALL_TEMPLE_BOW_ROOM, + RR_WOODFALL_TEMPLE_ENTRANCE, + RR_WOODFALL_TEMPLE_MAIN_ROOM_UPPER, + RR_WOODFALL_TEMPLE_MAIN_ROOM, + RR_WOODFALL_TEMPLE_MAP_ROOM, + RR_WOODFALL_TEMPLE_MAZE_ROOM, + RR_WOODFALL_TEMPLE_DARK_ROOM, + RR_WOODFALL_TEMPLE_WATER_ROOM_UPPER, + RR_WOODFALL_TEMPLE_COMPASS_ROOM, + RR_WOODFALL_TEMPLE_WATER_ROOM, RR_WOODFALL, RR_WOODS_OF_MYSTERY, RR_ZORA_CAPE, |
