diff options
| author | Eblo <7004497+Eblo@users.noreply.github.com> | 2025-11-20 13:33:08 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-11-20 13:33:08 -0500 |
| commit | b5fed649cd8e7bc0e268ea4fedbfc92ab6ccfa31 (patch) | |
| tree | 67f7b6693dadc6f8650f0810df0b12cbf6a81a83 /mm/2s2h/Rando/ActorBehavior/ObjTsubo.cpp | |
| parent | eec21ccddd8b65ff9eca67a32c0d33a8f0c881c5 (diff) | |
Convert mundane shuffles to ObjectExtension (#1297)
* Convert pot shuffle to ActorExtension
* Convert crate shuffle to ActorExtension
* Convert barrel shuffle to ActorExtension
* Use ObjectExtension for mundane checks
* Convert grass to ObjectExtension
Add two missed grass checks in Woods of Mystery
* Convert cows to ObjectExtension
* Fix cow relocations
* Convert freestandings to ObjectExtension
* Convert remaining snowballs to use ActorListIndex
* Wrong ID for one snowball
* Apply feedback, document how identification works
Diffstat (limited to 'mm/2s2h/Rando/ActorBehavior/ObjTsubo.cpp')
| -rw-r--r-- | mm/2s2h/Rando/ActorBehavior/ObjTsubo.cpp | 656 |
1 files changed, 299 insertions, 357 deletions
diff --git a/mm/2s2h/Rando/ActorBehavior/ObjTsubo.cpp b/mm/2s2h/Rando/ActorBehavior/ObjTsubo.cpp index 356524558..4517c1273 100644 --- a/mm/2s2h/Rando/ActorBehavior/ObjTsubo.cpp +++ b/mm/2s2h/Rando/ActorBehavior/ObjTsubo.cpp @@ -4,6 +4,7 @@ #include "2s2h/CustomItem/CustomItem.h" #include "2s2h/Rando/Rando.h" #include "2s2h/ShipInit.hpp" +#include "2s2h/ObjectExtension/ActorListIndex.h" #include "assets/2s2h_assets.h" extern "C" { @@ -14,372 +15,322 @@ extern "C" { void ObjTsubo_Draw(Actor* actor, PlayState* play); } -std::map<SceneId, std::map<std::pair<float, float>, RandoCheckId>> potMap = { +std::map<std::tuple<s16, s16, s16>, RandoCheckId> potMap = { // Deku Shrine // - { SCENE_DANPEI, - { - { { 1881.0f, 980.0f }, RC_DEKU_SHRINE_POT_01 }, - { { 2373.0f, 0.0f }, RC_DEKU_SHRINE_POT_02 }, - } }, + { { SCENE_DANPEI, 0, 14 }, RC_DEKU_SHRINE_POT_01 }, + { { SCENE_DANPEI, 0, 15 }, RC_DEKU_SHRINE_POT_02 }, // Stone Tower // - { SCENE_F40, - { - { { 1204.0f, 1871.0f }, RC_STONE_TOWER_HIGHER_SCARECROW_POT_02 }, - { { 1364.0f, 2391.0f }, RC_STONE_TOWER_HIGHER_SCARECROW_POT_08 }, - { { -1116.0f, 2231.0f }, RC_STONE_TOWER_LOWER_SCARECROW_POT_02 }, - { { -1116.0f, 2031.0f }, RC_STONE_TOWER_LOWER_SCARECROW_POT_04 }, - { { -1116.0f, 1511.0f }, RC_STONE_TOWER_LOWER_SCARECROW_POT_11 }, - } }, + { { SCENE_F40, 0, 52 }, RC_STONE_TOWER_HIGHER_SCARECROW_POT_02 }, + { { SCENE_F40, 0, 57 }, RC_STONE_TOWER_HIGHER_SCARECROW_POT_08 }, + { { SCENE_F40, 0, 47 }, RC_STONE_TOWER_LOWER_SCARECROW_POT_02 }, + { { SCENE_F40, 0, 45 }, RC_STONE_TOWER_LOWER_SCARECROW_POT_04 }, + { { SCENE_F40, 0, 48 }, RC_STONE_TOWER_LOWER_SCARECROW_POT_11 }, // Beneath the Graveyard // - { SCENE_HAKASHITA, - { - { { 1270.0f, 380.0f }, RC_BENEATH_THE_GRAVEYARD_NIGHT_1_BATS_POT_03 }, - { { -1121.0f, -879.0f }, RC_BENEATH_THE_GRAVEYARD_NIGHT_2_AFTER_PIT_POT_01 }, - { { -1200.0f, -881.0f }, RC_BENEATH_THE_GRAVEYARD_NIGHT_2_AFTER_PIT_POT_02 }, - { { -1200.0f, -1400.0f }, RC_BENEATH_THE_GRAVEYARD_NIGHT_2_AFTER_PIT_POT_03 }, - { { -1120.0f, -1400.0f }, RC_BENEATH_THE_GRAVEYARD_NIGHT_2_AFTER_PIT_POT_04 }, - } }, + { { SCENE_HAKASHITA, 1, 6 }, RC_BENEATH_THE_GRAVEYARD_NIGHT_1_BATS_POT_03 }, + { { SCENE_HAKASHITA, 3, 12 }, RC_BENEATH_THE_GRAVEYARD_NIGHT_2_AFTER_PIT_POT_01 }, + { { SCENE_HAKASHITA, 3, 11 }, RC_BENEATH_THE_GRAVEYARD_NIGHT_2_AFTER_PIT_POT_02 }, + { { SCENE_HAKASHITA, 3, 7 }, RC_BENEATH_THE_GRAVEYARD_NIGHT_2_AFTER_PIT_POT_03 }, + { { SCENE_HAKASHITA, 3, 8 }, RC_BENEATH_THE_GRAVEYARD_NIGHT_2_AFTER_PIT_POT_04 }, // Snowhead Temple - Goht's Lair // - { SCENE_HAKUGIN_BS, - { - { { -1250.0f, -1250.0f }, RC_SNOWHEAD_TEMPLE_BOSS_POT_01 }, - { { -1400.0f, -60.0f }, RC_SNOWHEAD_TEMPLE_BOSS_POT_02 }, - { { -1600.0f, -60.0f }, RC_SNOWHEAD_TEMPLE_BOSS_POT_03 }, - { { -1250.0f, 1250.0f }, RC_SNOWHEAD_TEMPLE_BOSS_POT_04 }, - { { 61.0f, 1440.0f }, RC_SNOWHEAD_TEMPLE_BOSS_POT_05 }, - { { 61.0f, 1740.0f }, RC_SNOWHEAD_TEMPLE_BOSS_POT_06 }, - { { 1250.0f, 1250.0f }, RC_SNOWHEAD_TEMPLE_BOSS_POT_07 }, - { { 1460.0f, -60.0f }, RC_SNOWHEAD_TEMPLE_BOSS_POT_08 }, - { { 1660.0f, -60.0f }, RC_SNOWHEAD_TEMPLE_BOSS_POT_09 }, - { { 1250.0f, -1250.0f }, RC_SNOWHEAD_TEMPLE_BOSS_POT_10 }, - { { 150.0f, -1170.0f }, RC_SNOWHEAD_TEMPLE_BOSS_EARLY_POT_01 }, - { { -150.0f, -1170.0f }, RC_SNOWHEAD_TEMPLE_BOSS_EARLY_POT_02 }, - { { 0.0f, -1400.0f }, RC_SNOWHEAD_TEMPLE_BOSS_EARLY_POT_03 }, - { { 0.0f, -1600.0f }, RC_SNOWHEAD_TEMPLE_BOSS_EARLY_POT_04 }, - } }, + { { SCENE_HAKUGIN_BS, 0, 9 }, RC_SNOWHEAD_TEMPLE_BOSS_POT_01 }, + { { SCENE_HAKUGIN_BS, 0, 1 }, RC_SNOWHEAD_TEMPLE_BOSS_POT_02 }, + { { SCENE_HAKUGIN_BS, 0, 3 }, RC_SNOWHEAD_TEMPLE_BOSS_POT_03 }, + { { SCENE_HAKUGIN_BS, 0, 10 }, RC_SNOWHEAD_TEMPLE_BOSS_POT_04 }, + { { SCENE_HAKUGIN_BS, 0, 7 }, RC_SNOWHEAD_TEMPLE_BOSS_POT_05 }, + { { SCENE_HAKUGIN_BS, 0, 8 }, RC_SNOWHEAD_TEMPLE_BOSS_POT_06 }, + { { SCENE_HAKUGIN_BS, 0, 11 }, RC_SNOWHEAD_TEMPLE_BOSS_POT_07 }, + { { SCENE_HAKUGIN_BS, 0, 2 }, RC_SNOWHEAD_TEMPLE_BOSS_POT_08 }, + { { SCENE_HAKUGIN_BS, 0, 4 }, RC_SNOWHEAD_TEMPLE_BOSS_POT_09 }, + { { SCENE_HAKUGIN_BS, 0, 12 }, RC_SNOWHEAD_TEMPLE_BOSS_POT_10 }, + { { SCENE_HAKUGIN_BS, 0, 13 }, RC_SNOWHEAD_TEMPLE_BOSS_EARLY_POT_01 }, + { { SCENE_HAKUGIN_BS, 0, 14 }, RC_SNOWHEAD_TEMPLE_BOSS_EARLY_POT_02 }, + { { SCENE_HAKUGIN_BS, 0, 5 }, RC_SNOWHEAD_TEMPLE_BOSS_EARLY_POT_03 }, + { { SCENE_HAKUGIN_BS, 0, 6 }, RC_SNOWHEAD_TEMPLE_BOSS_EARLY_POT_04 }, // Snowhead Temple // - { SCENE_HAKUGIN, - { - { { -1052.0f, 338.0f }, RC_SNOWHEAD_TEMPLE_BLOCK_ROOM_POT_01 }, - { { -1091.0f, 327.0f }, RC_SNOWHEAD_TEMPLE_BLOCK_ROOM_POT_02 }, - { { 930.0f, 1065.0f }, RC_SNOWHEAD_TEMPLE_BRIDGE_ROOM_POT_01 }, - { { 810.0f, 1065.0f }, RC_SNOWHEAD_TEMPLE_BRIDGE_ROOM_POT_02 }, - { { 870.0f, 1005.0f }, RC_SNOWHEAD_TEMPLE_BRIDGE_ROOM_POT_03 }, - { { 870.0f, 1125.0f }, RC_SNOWHEAD_TEMPLE_BRIDGE_ROOM_POT_04 }, - { { 870.0f, 1065.0f }, RC_SNOWHEAD_TEMPLE_BRIDGE_ROOM_POT_05 }, - { { 795.0f, -60.0f }, RC_SNOWHEAD_TEMPLE_BRIDGE_ROOM_AFTER_POT_01 }, - { { 825.0f, -75.0f }, RC_SNOWHEAD_TEMPLE_BRIDGE_ROOM_AFTER_POT_02 }, - { { -585.0f, -645.0f }, RC_SNOWHEAD_TEMPLE_CENTRAL_ROOM_BOTTOM_POT_01 }, - { { -645.0f, -585.0f }, RC_SNOWHEAD_TEMPLE_CENTRAL_ROOM_BOTTOM_POT_02 }, - { { 570.0f, -90.0f }, RC_SNOWHEAD_TEMPLE_CENTRAL_ROOM_LEVEL_2_POT_01 }, - { { 510.0f, -90.0f }, RC_SNOWHEAD_TEMPLE_CENTRAL_ROOM_LEVEL_2_POT_02 }, - { { 435.0f, -570.0f }, RC_SNOWHEAD_TEMPLE_CENTRAL_ROOM_NEAR_BOSS_KEY_POT_01 }, - { { 410.0f, -526.0f }, RC_SNOWHEAD_TEMPLE_CENTRAL_ROOM_NEAR_BOSS_KEY_POT_02 }, - { { 473.0f, 458.0f }, RC_SNOWHEAD_TEMPLE_CENTRAL_ROOM_SCARECROW_POT_01 }, - { { 519.0f, 535.0f }, RC_SNOWHEAD_TEMPLE_CENTRAL_ROOM_SCARECROW_POT_02 }, - { { -1543.0f, 703.0f }, RC_SNOWHEAD_TEMPLE_COMPASS_ROOM_POT_01 }, - { { -1507.0f, 655.0f }, RC_SNOWHEAD_TEMPLE_COMPASS_ROOM_POT_02 }, - { { -351.0f, 1153.0f }, RC_SNOWHEAD_TEMPLE_COMPASS_ROOM_POT_03 }, - { { -378.0f, 1169.0f }, RC_SNOWHEAD_TEMPLE_COMPASS_ROOM_POT_04 }, - { { -1525.0f, 679.0f }, RC_SNOWHEAD_TEMPLE_COMPASS_ROOM_POT_05 }, - { { -727.0f, 993.0f }, RC_SNOWHEAD_TEMPLE_DUAL_SWITCHES_POT_01 }, - { { -675.0f, 920.0f }, RC_SNOWHEAD_TEMPLE_DUAL_SWITCHES_POT_02 }, - { { 225.0f, 975.0f }, RC_SNOWHEAD_TEMPLE_ENTRANCE_POT_01 }, - { { 225.0f, 1065.0f }, RC_SNOWHEAD_TEMPLE_ENTRANCE_POT_02 }, - { { -452.0f, -995.0f }, RC_SNOWHEAD_TEMPLE_PILLARS_ROOM_LOWER_POT_01 }, - { { -473.0f, -958.0f }, RC_SNOWHEAD_TEMPLE_PILLARS_ROOM_LOWER_POT_02 }, - { { -493.0f, -921.0f }, RC_SNOWHEAD_TEMPLE_PILLARS_ROOM_LOWER_POT_03 }, - { { -420.0f, -930.0f }, RC_SNOWHEAD_TEMPLE_PILLARS_ROOM_LOWER_POT_04 }, - { { -1275.0f, -600.0f }, RC_SNOWHEAD_TEMPLE_PILLARS_ROOM_LOWER_POT_05 }, - { { -1305.0f, -623.0f }, RC_SNOWHEAD_TEMPLE_PILLARS_ROOM_LOWER_POT_06 }, - { { -1335.0f, -645.0f }, RC_SNOWHEAD_TEMPLE_PILLARS_ROOM_LOWER_POT_07 }, - { { -870.0f, -105.0f }, RC_SNOWHEAD_TEMPLE_PILLARS_ROOM_UPPER_POT_01 }, - { { -915.0f, -105.0f }, RC_SNOWHEAD_TEMPLE_PILLARS_ROOM_UPPER_POT_02 }, - { { 135.0f, -1050.0f }, RC_SNOWHEAD_TEMPLE_PILLARS_ROOM_UPPER_POT_03 }, - { { 150.0f, -990.0f }, RC_SNOWHEAD_TEMPLE_PILLARS_ROOM_UPPER_POT_04 }, - { { -1184.0f, -1316.0f }, RC_SNOWHEAD_TEMPLE_PILLARS_ROOM_UPPER_POT_05 }, - { { -1116.0f, -1374.0f }, RC_SNOWHEAD_TEMPLE_PILLARS_ROOM_UPPER_POT_06 }, - { { 1320.0f, -690.0f }, RC_SNOWHEAD_TEMPLE_WIZZROBE_POT_01 }, - { { 1440.0f, -690.0f }, RC_SNOWHEAD_TEMPLE_WIZZROBE_POT_02 }, - { { 1380.0f, -690.0f }, RC_SNOWHEAD_TEMPLE_WIZZROBE_POT_03 }, - { { 1440.0f, -630.0f }, RC_SNOWHEAD_TEMPLE_WIZZROBE_POT_04 }, - { { 1440.0f, -570.0f }, RC_SNOWHEAD_TEMPLE_WIZZROBE_POT_05 }, - } }, + { { SCENE_HAKUGIN, 3, 7 }, RC_SNOWHEAD_TEMPLE_BLOCK_ROOM_POT_01 }, + { { SCENE_HAKUGIN, 3, 0 }, RC_SNOWHEAD_TEMPLE_BLOCK_ROOM_POT_02 }, + { { SCENE_HAKUGIN, 2, 8 }, RC_SNOWHEAD_TEMPLE_BRIDGE_ROOM_POT_01 }, + { { SCENE_HAKUGIN, 2, 7 }, RC_SNOWHEAD_TEMPLE_BRIDGE_ROOM_POT_02 }, + { { SCENE_HAKUGIN, 2, 9 }, RC_SNOWHEAD_TEMPLE_BRIDGE_ROOM_POT_03 }, + { { SCENE_HAKUGIN, 2, 10 }, RC_SNOWHEAD_TEMPLE_BRIDGE_ROOM_POT_04 }, + { { SCENE_HAKUGIN, 2, 11 }, RC_SNOWHEAD_TEMPLE_BRIDGE_ROOM_POT_05 }, + { { SCENE_HAKUGIN, 2, 2 }, RC_SNOWHEAD_TEMPLE_BRIDGE_ROOM_AFTER_POT_01 }, + { { SCENE_HAKUGIN, 2, 1 }, RC_SNOWHEAD_TEMPLE_BRIDGE_ROOM_AFTER_POT_02 }, + { { SCENE_HAKUGIN, 4, 48 }, RC_SNOWHEAD_TEMPLE_CENTRAL_ROOM_BOTTOM_POT_01 }, + { { SCENE_HAKUGIN, 4, 49 }, RC_SNOWHEAD_TEMPLE_CENTRAL_ROOM_BOTTOM_POT_02 }, + { { SCENE_HAKUGIN, 4, 47 }, RC_SNOWHEAD_TEMPLE_CENTRAL_ROOM_LEVEL_2_POT_01 }, + { { SCENE_HAKUGIN, 4, 46 }, RC_SNOWHEAD_TEMPLE_CENTRAL_ROOM_LEVEL_2_POT_02 }, + { { SCENE_HAKUGIN, 4, 29 }, RC_SNOWHEAD_TEMPLE_CENTRAL_ROOM_NEAR_BOSS_KEY_POT_01 }, + { { SCENE_HAKUGIN, 4, 30 }, RC_SNOWHEAD_TEMPLE_CENTRAL_ROOM_NEAR_BOSS_KEY_POT_02 }, + { { SCENE_HAKUGIN, 4, 27 }, RC_SNOWHEAD_TEMPLE_CENTRAL_ROOM_SCARECROW_POT_01 }, + { { SCENE_HAKUGIN, 4, 28 }, RC_SNOWHEAD_TEMPLE_CENTRAL_ROOM_SCARECROW_POT_02 }, + { { SCENE_HAKUGIN, 1, 5 }, RC_SNOWHEAD_TEMPLE_COMPASS_ROOM_POT_01 }, + { { SCENE_HAKUGIN, 1, 6 }, RC_SNOWHEAD_TEMPLE_COMPASS_ROOM_POT_02 }, + { { SCENE_HAKUGIN, 1, 7 }, RC_SNOWHEAD_TEMPLE_COMPASS_ROOM_POT_03 }, + { { SCENE_HAKUGIN, 1, 8 }, RC_SNOWHEAD_TEMPLE_COMPASS_ROOM_POT_04 }, + { { SCENE_HAKUGIN, 1, 9 }, RC_SNOWHEAD_TEMPLE_COMPASS_ROOM_POT_05 }, + { { SCENE_HAKUGIN, 8, 12 }, RC_SNOWHEAD_TEMPLE_DUAL_SWITCHES_POT_01 }, + { { SCENE_HAKUGIN, 8, 11 }, RC_SNOWHEAD_TEMPLE_DUAL_SWITCHES_POT_02 }, + { { SCENE_HAKUGIN, 0, 21 }, RC_SNOWHEAD_TEMPLE_ENTRANCE_POT_01 }, + { { SCENE_HAKUGIN, 0, 22 }, RC_SNOWHEAD_TEMPLE_ENTRANCE_POT_02 }, + { { SCENE_HAKUGIN, 5, 12 }, RC_SNOWHEAD_TEMPLE_PILLARS_ROOM_LOWER_POT_01 }, + { { SCENE_HAKUGIN, 5, 13 }, RC_SNOWHEAD_TEMPLE_PILLARS_ROOM_LOWER_POT_02 }, + { { SCENE_HAKUGIN, 5, 14 }, RC_SNOWHEAD_TEMPLE_PILLARS_ROOM_LOWER_POT_03 }, + { { SCENE_HAKUGIN, 5, 15 }, RC_SNOWHEAD_TEMPLE_PILLARS_ROOM_LOWER_POT_04 }, + { { SCENE_HAKUGIN, 5, 18 }, RC_SNOWHEAD_TEMPLE_PILLARS_ROOM_LOWER_POT_05 }, + { { SCENE_HAKUGIN, 5, 17 }, RC_SNOWHEAD_TEMPLE_PILLARS_ROOM_LOWER_POT_06 }, + { { SCENE_HAKUGIN, 5, 16 }, RC_SNOWHEAD_TEMPLE_PILLARS_ROOM_LOWER_POT_07 }, + { { SCENE_HAKUGIN, 5, 4 }, RC_SNOWHEAD_TEMPLE_PILLARS_ROOM_UPPER_POT_01 }, + { { SCENE_HAKUGIN, 5, 6 }, RC_SNOWHEAD_TEMPLE_PILLARS_ROOM_UPPER_POT_02 }, + { { SCENE_HAKUGIN, 5, 5 }, RC_SNOWHEAD_TEMPLE_PILLARS_ROOM_UPPER_POT_03 }, + { { SCENE_HAKUGIN, 5, 3 }, RC_SNOWHEAD_TEMPLE_PILLARS_ROOM_UPPER_POT_04 }, + { { SCENE_HAKUGIN, 5, 8 }, RC_SNOWHEAD_TEMPLE_PILLARS_ROOM_UPPER_POT_05 }, + { { SCENE_HAKUGIN, 5, 7 }, RC_SNOWHEAD_TEMPLE_PILLARS_ROOM_UPPER_POT_06 }, + { { SCENE_HAKUGIN, 12, 8 }, RC_SNOWHEAD_TEMPLE_WIZZROBE_POT_01 }, + { { SCENE_HAKUGIN, 12, 10 }, RC_SNOWHEAD_TEMPLE_WIZZROBE_POT_02 }, + { { SCENE_HAKUGIN, 12, 11 }, RC_SNOWHEAD_TEMPLE_WIZZROBE_POT_03 }, + { { SCENE_HAKUGIN, 12, 12 }, RC_SNOWHEAD_TEMPLE_WIZZROBE_POT_04 }, + { { SCENE_HAKUGIN, 12, 9 }, RC_SNOWHEAD_TEMPLE_WIZZROBE_POT_05 }, // The Moon - Majora's Lair // - { SCENE_LAST_BS, - { - { { 80.0f, 800.0f }, RC_MOON_MAJORA_POT_01 }, - { { -80.0f, 800.0f }, RC_MOON_MAJORA_POT_02 }, - } }, + { { SCENE_LAST_BS, 0, 2 }, RC_MOON_MAJORA_POT_01 }, + { { SCENE_LAST_BS, 0, 1 }, RC_MOON_MAJORA_POT_02 }, // The Moon - Goron Trial // - { SCENE_LAST_GORON, - { - { { -5670.0f, -2280.0f }, RC_MOON_TRIAL_GORON_POT_01 }, - { { -5610.0f, -2280.0f }, RC_MOON_TRIAL_GORON_POT_02 }, - { { -2700.0f, -2490.0f }, RC_MOON_TRIAL_GORON_POT_03 }, - { { -2640.0f, -2490.0f }, RC_MOON_TRIAL_GORON_POT_04 }, - { { -2580.0f, -2490.0f }, RC_MOON_TRIAL_GORON_POT_05 }, - { { -7200.0f, -1290.0f }, RC_MOON_TRIAL_GORON_POT_06 }, - { { -7260.0f, -1290.0f }, RC_MOON_TRIAL_GORON_POT_07 }, - { { -7200.0f, -1410.0f }, RC_MOON_TRIAL_GORON_POT_08 }, - { { -7260.0f, -1410.0f }, RC_MOON_TRIAL_GORON_POT_09 }, - { { -4890.0f, -1380.0f }, RC_MOON_TRIAL_GORON_POT_10 }, - { { -4890.0f, -1320.0f }, RC_MOON_TRIAL_GORON_POT_11 }, - { { -420.0f, -1425.0f }, RC_MOON_TRIAL_GORON_EARLY_POT_01 }, - { { -480.0f, -1425.0f }, RC_MOON_TRIAL_GORON_EARLY_POT_02 }, - { { -420.0f, -1275.0f }, RC_MOON_TRIAL_GORON_EARLY_POT_03 }, - { { -480.0f, -1275.0f }, RC_MOON_TRIAL_GORON_EARLY_POT_04 }, - } }, + { { SCENE_LAST_GORON, 0, 22 }, RC_MOON_TRIAL_GORON_POT_01 }, + { { SCENE_LAST_GORON, 0, 21 }, RC_MOON_TRIAL_GORON_POT_02 }, + { { SCENE_LAST_GORON, 0, 25 }, RC_MOON_TRIAL_GORON_POT_03 }, + { { SCENE_LAST_GORON, 0, 23 }, RC_MOON_TRIAL_GORON_POT_04 }, + { { SCENE_LAST_GORON, 0, 24 }, RC_MOON_TRIAL_GORON_POT_05 }, + { { SCENE_LAST_GORON, 0, 35 }, RC_MOON_TRIAL_GORON_POT_06 }, + { { SCENE_LAST_GORON, 0, 33 }, RC_MOON_TRIAL_GORON_POT_07 }, + { { SCENE_LAST_GORON, 0, 34 }, RC_MOON_TRIAL_GORON_POT_08 }, + { { SCENE_LAST_GORON, 0, 32 }, RC_MOON_TRIAL_GORON_POT_09 }, + { { SCENE_LAST_GORON, 0, 26 }, RC_MOON_TRIAL_GORON_POT_10 }, + { { SCENE_LAST_GORON, 0, 27 }, RC_MOON_TRIAL_GORON_POT_11 }, + { { SCENE_LAST_GORON, 0, 29 }, RC_MOON_TRIAL_GORON_EARLY_POT_01 }, + { { SCENE_LAST_GORON, 0, 28 }, RC_MOON_TRIAL_GORON_EARLY_POT_02 }, + { { SCENE_LAST_GORON, 0, 31 }, RC_MOON_TRIAL_GORON_EARLY_POT_03 }, + { { SCENE_LAST_GORON, 0, 30 }, RC_MOON_TRIAL_GORON_EARLY_POT_04 }, // The Moon - Link Trial // - { SCENE_LAST_LINK, - { - { { -270.0f, -90.0f }, RC_MOON_TRIAL_LINK_POT_01 }, - { { -270.0f, -150.0f }, RC_MOON_TRIAL_LINK_POT_02 }, - { { -210.0f, -90.0f }, RC_MOON_TRIAL_LINK_POT_03 }, - { { -210.0f, -150.0f }, RC_MOON_TRIAL_LINK_POT_04 }, - { { 210.0f, -90.0f }, RC_MOON_TRIAL_LINK_POT_05 }, - { { 210.0f, -150.0f }, RC_MOON_TRIAL_LINK_POT_06 }, - { { 270.0f, -90.0f }, RC_MOON_TRIAL_LINK_POT_07 }, - { { 270.0f, -150.0f }, RC_MOON_TRIAL_LINK_POT_08 }, - } }, - // Pirate's Fortress // - { SCENE_PIRATE, - { - { { 4020.0f, -1860.0f }, RC_PIRATE_FORTRESS_INTERIOR_GUARDED_POT_01 }, - { { 2040.0f, -1380.0f }, RC_PIRATE_FORTRESS_SEWERS_HEART_PIECE_ROOM_POT_02 }, - { { 1920.0f, -640.0f }, RC_PIRATE_FORTRESS_SEWERS_WATERWAY_POT_01 }, - } }, + { { SCENE_LAST_LINK, 0, 3 }, RC_MOON_TRIAL_LINK_POT_01 }, + { { SCENE_LAST_LINK, 0, 1 }, RC_MOON_TRIAL_LINK_POT_02 }, + { { SCENE_LAST_LINK, 0, 4 }, RC_MOON_TRIAL_LINK_POT_03 }, + { { SCENE_LAST_LINK, 0, 2 }, RC_MOON_TRIAL_LINK_POT_04 }, + { { SCENE_LAST_LINK, 0, 7 }, RC_MOON_TRIAL_LINK_POT_05 }, + { { SCENE_LAST_LINK, 0, 5 }, RC_MOON_TRIAL_LINK_POT_06 }, + { { SCENE_LAST_LINK, 0, 8 }, RC_MOON_TRIAL_LINK_POT_07 }, + { { SCENE_LAST_LINK, 0, 6 }, RC_MOON_TRIAL_LINK_POT_08 }, + // Pirates' Fortress Interior // + { { SCENE_PIRATE, 13, 6 }, RC_PIRATE_FORTRESS_INTERIOR_GUARDED_POT_01 }, + { { SCENE_PIRATE, 11, 35 }, RC_PIRATE_FORTRESS_SEWERS_HEART_PIECE_ROOM_POT_02 }, + { { SCENE_PIRATE, 10, 8 }, RC_PIRATE_FORTRESS_SEWERS_WATERWAY_POT_01 }, // Beneath the Well // - { SCENE_REDEAD, - { - { { 1620.0f, -960.0f }, RC_BENEATH_THE_WELL_BIG_POE_POT_01 }, - { { 1620.0f, -1560.0f }, RC_BENEATH_THE_WELL_BIG_POE_POT_02 }, - { { 2280.0f, -1560.0f }, RC_BENEATH_THE_WELL_BIG_POE_POT_03 }, - { { 2280.0f, -960.0f }, RC_BENEATH_THE_WELL_BIG_POE_POT_04 }, - { { 1185.0f, -915.0f }, RC_BENEATH_THE_WELL_MIDDLE_POT_01 }, - { { 1185.0f, -945.0f }, RC_BENEATH_THE_WELL_MIDDLE_POT_02 }, - { { 1185.0f, -975.0f }, RC_BENEATH_THE_WELL_MIDDLE_POT_03 }, - { { 1185.0f, -1005.0f }, RC_BENEATH_THE_WELL_MIDDLE_POT_04 }, - { { 1185.0f, -1035.0f }, RC_BENEATH_THE_WELL_MIDDLE_POT_05 }, - { { 1185.0f, -1065.0f }, RC_BENEATH_THE_WELL_MIDDLE_POT_06 }, - { { 1185.0f, -1095.0f }, RC_BENEATH_THE_WELL_MIDDLE_POT_07 }, - { { 1185.0f, -1125.0f }, RC_BENEATH_THE_WELL_MIDDLE_POT_08 }, - { { 1185.0f, -1155.0f }, RC_BENEATH_THE_WELL_MIDDLE_POT_09 }, - { { 1185.0f, -1185.0f }, RC_BENEATH_THE_WELL_MIDDLE_POT_10 }, - } }, + { { SCENE_REDEAD, 12, 7 }, RC_BENEATH_THE_WELL_BIG_POE_POT_01 }, + { { SCENE_REDEAD, 12, 8 }, RC_BENEATH_THE_WELL_BIG_POE_POT_02 }, + { { SCENE_REDEAD, 12, 6 }, RC_BENEATH_THE_WELL_BIG_POE_POT_03 }, + { { SCENE_REDEAD, 12, 5 }, RC_BENEATH_THE_WELL_BIG_POE_POT_04 }, + { { SCENE_REDEAD, 6, 14 }, RC_BENEATH_THE_WELL_MIDDLE_POT_01 }, + { { SCENE_REDEAD, 6, 15 }, RC_BENEATH_THE_WELL_MIDDLE_POT_02 }, + { { SCENE_REDEAD, 6, 16 }, RC_BENEATH_THE_WELL_MIDDLE_POT_03 }, + { { SCENE_REDEAD, 6, 17 }, RC_BENEATH_THE_WELL_MIDDLE_POT_04 }, + { { SCENE_REDEAD, 6, 18 }, RC_BENEATH_THE_WELL_MIDDLE_POT_05 }, + { { SCENE_REDEAD, 6, 19 }, RC_BENEATH_THE_WELL_MIDDLE_POT_06 }, + { { SCENE_REDEAD, 6, 20 }, RC_BENEATH_THE_WELL_MIDDLE_POT_07 }, + { { SCENE_REDEAD, 6, 21 }, RC_BENEATH_THE_WELL_MIDDLE_POT_08 }, + { { SCENE_REDEAD, 6, 22 }, RC_BENEATH_THE_WELL_MIDDLE_POT_09 }, + { { SCENE_REDEAD, 6, 23 }, RC_BENEATH_THE_WELL_MIDDLE_POT_10 }, // Woodfall Temple // - { SCENE_MITURIN, - { - { { 120.0f, 2100.0f }, RC_WOODFALL_TEMPLE_ENTRANCE_POT }, - { { 660.0f, -120.0f }, RC_WOODFALL_TEMPLE_MAIN_ROOM_LOWER_POT_01 }, - { { 660.0f, 120.0f }, RC_WOODFALL_TEMPLE_MAIN_ROOM_LOWER_POT_02 }, - { { 630.0f, 510.0f }, RC_WOODFALL_TEMPLE_MAIN_ROOM_LOWER_POT_03 }, - { { 570.0f, 570.0f }, RC_WOODFALL_TEMPLE_MAIN_ROOM_LOWER_POT_04 }, - { { 510.0f, 630.0f }, RC_WOODFALL_TEMPLE_MAIN_ROOM_LOWER_POT_05 }, - { { 510.0f, 510.0f }, RC_WOODFALL_TEMPLE_MAIN_ROOM_LOWER_POT_06 }, - { { 675.0f, 255.0f }, RC_WOODFALL_TEMPLE_MAIN_ROOM_UPPER_POT_01 }, - { { 645.0f, 255.0f }, RC_WOODFALL_TEMPLE_MAIN_ROOM_UPPER_POT_02 }, - { { -780.0f, -165.0f }, RC_WOODFALL_TEMPLE_MAZE_POT_01 }, - { { -780.0f, -105.0f }, RC_WOODFALL_TEMPLE_MAZE_POT_02 }, - { { -120.0f, -2220.0f }, RC_WOODFALL_TEMPLE_PRE_BOSS_POT_01 }, - { { 120.0f, -2220.0f }, RC_WOODFALL_TEMPLE_PRE_BOSS_POT_02 }, - { { 1335.0f, 585.0f }, RC_WOODFALL_TEMPLE_WATER_ROOM_POT_01 }, - { { 1335.0f, 615.0f }, RC_WOODFALL_TEMPLE_WATER_ROOM_POT_02 }, - { { 1335.0f, 645.0f }, RC_WOODFALL_TEMPLE_WATER_ROOM_POT_03 }, - { { 1335.0f, 675.0f }, RC_WOODFALL_TEMPLE_WATER_ROOM_POT_04 }, - } }, + { { SCENE_MITURIN, 2, 22 }, RC_WOODFALL_TEMPLE_ENTRANCE_POT }, + { { SCENE_MITURIN, 1, 22 }, RC_WOODFALL_TEMPLE_MAIN_ROOM_LOWER_POT_01 }, + { { SCENE_MITURIN, 1, 23 }, RC_WOODFALL_TEMPLE_MAIN_ROOM_LOWER_POT_02 }, + { { SCENE_MITURIN, 1, 27 }, RC_WOODFALL_TEMPLE_MAIN_ROOM_LOWER_POT_03 }, + { { SCENE_MITURIN, 1, 24 }, RC_WOODFALL_TEMPLE_MAIN_ROOM_LOWER_POT_04 }, + { { SCENE_MITURIN, 1, 26 }, RC_WOODFALL_TEMPLE_MAIN_ROOM_LOWER_POT_05 }, + { { SCENE_MITURIN, 1, 21 }, RC_WOODFALL_TEMPLE_MAIN_ROOM_LOWER_POT_06 }, + { { SCENE_MITURIN, 1, 10 }, RC_WOODFALL_TEMPLE_MAIN_ROOM_UPPER_POT_01 }, + { { SCENE_MITURIN, 1, 11 }, RC_WOODFALL_TEMPLE_MAIN_ROOM_UPPER_POT_02 }, + { { SCENE_MITURIN, 3, 13 }, RC_WOODFALL_TEMPLE_MAZE_POT_01 }, + { { SCENE_MITURIN, 3, 14 }, RC_WOODFALL_TEMPLE_MAZE_POT_02 }, + { { SCENE_MITURIN, 0, 28 }, RC_WOODFALL_TEMPLE_PRE_BOSS_POT_01 }, + { { SCENE_MITURIN, 0, 29 }, RC_WOODFALL_TEMPLE_PRE_BOSS_POT_02 }, + { { SCENE_MITURIN, 5, 14 }, RC_WOODFALL_TEMPLE_WATER_ROOM_POT_01 }, + { { SCENE_MITURIN, 5, 15 }, RC_WOODFALL_TEMPLE_WATER_ROOM_POT_02 }, + { { SCENE_MITURIN, 5, 16 }, RC_WOODFALL_TEMPLE_WATER_ROOM_POT_03 }, + { { SCENE_MITURIN, 5, 17 }, RC_WOODFALL_TEMPLE_WATER_ROOM_POT_04 }, // Swamp Spider House // - { SCENE_KINSTA1, - { - { { -30.0f, -1650.0f }, RC_SWAMP_SPIDER_HOUSE_GOLD_ROOM_LOWER_POT_01 }, - { { 30.0f, -1650.0f }, RC_SWAMP_SPIDER_HOUSE_GOLD_ROOM_LOWER_POT_02 }, - { { 330.0f, -1651.0f }, RC_SWAMP_SPIDER_HOUSE_GOLD_ROOM_UPPER_POT_01 }, - { { 330.0f, -1590.0f }, RC_SWAMP_SPIDER_HOUSE_GOLD_ROOM_UPPER_POT_02 }, - { { 330.0f, -1531.0f }, RC_SWAMP_SPIDER_HOUSE_GOLD_ROOM_UPPER_POT_03 }, - { { 330.0f, -1470.0f }, RC_SWAMP_SPIDER_HOUSE_GOLD_ROOM_UPPER_POT_04 }, - { { 544.0f, -569.0f }, RC_SWAMP_SPIDER_HOUSE_JAR_ROOM_POT_01 }, - { { 483.0f, -569.0f }, RC_SWAMP_SPIDER_HOUSE_JAR_ROOM_POT_02 }, - { { 575.0f, -538.0f }, RC_SWAMP_SPIDER_HOUSE_JAR_ROOM_POT_03 }, - { { 514.0f, -539.0f }, RC_SWAMP_SPIDER_HOUSE_JAR_ROOM_POT_04 }, - { { 454.0f, -539.0f }, RC_SWAMP_SPIDER_HOUSE_JAR_ROOM_POT_05 }, - { { 451.0f, -1232.0f }, RC_SWAMP_SPIDER_HOUSE_JAR_ROOM_POT_06 }, - { { 451.0f, -1290.0f }, RC_SWAMP_SPIDER_HOUSE_JAR_ROOM_POT_07 }, - { { 90.0f, -209.0f }, RC_SWAMP_SPIDER_HOUSE_MAIN_ROOM_LOWER_POT_01 }, - { { 89.0f, -269.0f }, RC_SWAMP_SPIDER_HOUSE_MAIN_ROOM_LOWER_POT_02 }, - { { -90.0f, -270.0f }, RC_SWAMP_SPIDER_HOUSE_MAIN_ROOM_LOWER_POT_03 }, - { { 330.0f, -210.0f }, RC_SWAMP_SPIDER_HOUSE_MAIN_ROOM_UPPER_LEFT_POT_01 }, - { { 270.0f, -210.0f }, RC_SWAMP_SPIDER_HOUSE_MAIN_ROOM_UPPER_LEFT_POT_02 }, - { { -270.0f, -210.0f }, RC_SWAMP_SPIDER_HOUSE_MAIN_ROOM_UPPER_RIGHT_POT_01 }, - { { -330.0f, -210.0f }, RC_SWAMP_SPIDER_HOUSE_MAIN_ROOM_UPPER_RIGHT_POT_02 }, - { { -871.0f, -872.0f }, RC_SWAMP_SPIDER_HOUSE_MONUMENT_ROOM_POT_01 }, - { { -809.0f, -870.0f }, RC_SWAMP_SPIDER_HOUSE_MONUMENT_ROOM_POT_02 }, - } }, + { { SCENE_KINSTA1, 2, 0 }, RC_SWAMP_SPIDER_HOUSE_GOLD_ROOM_LOWER_POT_01 }, + { { SCENE_KINSTA1, 2, 1 }, RC_SWAMP_SPIDER_HOUSE_GOLD_ROOM_LOWER_POT_02 }, + { { SCENE_KINSTA1, 2, 2 }, RC_SWAMP_SPIDER_HOUSE_GOLD_ROOM_UPPER_POT_01 }, + { { SCENE_KINSTA1, 2, 5 }, RC_SWAMP_SPIDER_HOUSE_GOLD_ROOM_UPPER_POT_02 }, + { { SCENE_KINSTA1, 2, 4 }, RC_SWAMP_SPIDER_HOUSE_GOLD_ROOM_UPPER_POT_03 }, + { { SCENE_KINSTA1, 2, 3 }, RC_SWAMP_SPIDER_HOUSE_GOLD_ROOM_UPPER_POT_04 }, + { { SCENE_KINSTA1, 4, 23 }, RC_SWAMP_SPIDER_HOUSE_JAR_ROOM_POT_01 }, + { { SCENE_KINSTA1, 4, 21 }, RC_SWAMP_SPIDER_HOUSE_JAR_ROOM_POT_02 }, + { { SCENE_KINSTA1, 4, 24 }, RC_SWAMP_SPIDER_HOUSE_JAR_ROOM_POT_03 }, + { { SCENE_KINSTA1, 4, 22 }, RC_SWAMP_SPIDER_HOUSE_JAR_ROOM_POT_04 }, + { { SCENE_KINSTA1, 4, 20 }, RC_SWAMP_SPIDER_HOUSE_JAR_ROOM_POT_05 }, + { { SCENE_KINSTA1, 4, 3 }, RC_SWAMP_SPIDER_HOUSE_JAR_ROOM_POT_06 }, + { { SCENE_KINSTA1, 4, 4 }, RC_SWAMP_SPIDER_HOUSE_JAR_ROOM_POT_07 }, + { { SCENE_KINSTA1, 1, 7 }, RC_SWAMP_SPIDER_HOUSE_MAIN_ROOM_LOWER_POT_01 }, + { { SCENE_KINSTA1, 1, 6 }, RC_SWAMP_SPIDER_HOUSE_MAIN_ROOM_LOWER_POT_02 }, + { { SCENE_KINSTA1, 1, 5 }, RC_SWAMP_SPIDER_HOUSE_MAIN_ROOM_LOWER_POT_03 }, + { { SCENE_KINSTA1, 1, 9 }, RC_SWAMP_SPIDER_HOUSE_MAIN_ROOM_UPPER_LEFT_POT_01 }, + { { SCENE_KINSTA1, 1, 8 }, RC_SWAMP_SPIDER_HOUSE_MAIN_ROOM_UPPER_LEFT_POT_02 }, + { { SCENE_KINSTA1, 1, 4 }, RC_SWAMP_SPIDER_HOUSE_MAIN_ROOM_UPPER_RIGHT_POT_01 }, + { { SCENE_KINSTA1, 1, 3 }, RC_SWAMP_SPIDER_HOUSE_MAIN_ROOM_UPPER_RIGHT_POT_02 }, + { { SCENE_KINSTA1, 3, 0 }, RC_SWAMP_SPIDER_HOUSE_MONUMENT_ROOM_POT_01 }, + { { SCENE_KINSTA1, 3, 1 }, RC_SWAMP_SPIDER_HOUSE_MONUMENT_ROOM_POT_02 }, // Ocean Spider House // - { SCENE_KINDAN2, - { - { { 64.0f, -1650.0f }, RC_OCEAN_SPIDER_HOUSE_MAIN_ROOM_POT_01 }, - { { 2.0f, -1722.0f }, RC_OCEAN_SPIDER_HOUSE_MAIN_ROOM_WEB_POT }, - { { -569.0f, -1200.0f }, RC_OCEAN_SPIDER_HOUSE_STORAGE_POT_02 }, - { { -630.0f, -1200.0f }, RC_OCEAN_SPIDER_HOUSE_STORAGE_POT_03 }, - } }, + { { SCENE_KINDAN2, 1, 28 }, RC_OCEAN_SPIDER_HOUSE_MAIN_ROOM_POT_01 }, + { { SCENE_KINDAN2, 1, 27 }, RC_OCEAN_SPIDER_HOUSE_MAIN_ROOM_WEB_POT }, + { { SCENE_KINDAN2, 5, 12 }, RC_OCEAN_SPIDER_HOUSE_STORAGE_POT_02 }, + { { SCENE_KINDAN2, 5, 13 }, RC_OCEAN_SPIDER_HOUSE_STORAGE_POT_03 }, // Great Bay Temple - Gyorg's Lair // - { SCENE_SEA_BS, - { - { { 150.0f, 150.0f }, RC_GREAT_BAY_TEMPLE_BOSS_POT_01 }, - { { -150.0f, 150.0f }, RC_GREAT_BAY_TEMPLE_BOSS_POT_02 }, - { { -150.0f, -150.0f }, RC_GREAT_BAY_TEMPLE_BOSS_POT_03 }, - { { 150.0f, -150.0f }, RC_GREAT_BAY_TEMPLE_BOSS_POT_04 }, - { { 1200.0f, -1200.0f }, RC_GREAT_BAY_TEMPLE_BOSS_UNDERWATER_POT_01 }, - { { 1200.0f, 1200.0f }, RC_GREAT_BAY_TEMPLE_BOSS_UNDERWATER_POT_02 }, - { { -1200.0f, 1200.0f }, RC_GREAT_BAY_TEMPLE_BOSS_UNDERWATER_POT_03 }, - { { -1200.0f, -1200.0f }, RC_GREAT_BAY_TEMPLE_BOSS_UNDERWATER_POT_04 }, - } }, + { { SCENE_SEA_BS, 0, 2 }, RC_GREAT_BAY_TEMPLE_BOSS_POT_01 }, + { { SCENE_SEA_BS, 0, 3 }, RC_GREAT_BAY_TEMPLE_BOSS_POT_02 }, + { { SCENE_SEA_BS, 0, 4 }, RC_GREAT_BAY_TEMPLE_BOSS_POT_03 }, + { { SCENE_SEA_BS, 0, 1 }, RC_GREAT_BAY_TEMPLE_BOSS_POT_04 }, + { { SCENE_SEA_BS, 0, 5 }, RC_GREAT_BAY_TEMPLE_BOSS_UNDERWATER_POT_01 }, + { { SCENE_SEA_BS, 0, 8 }, RC_GREAT_BAY_TEMPLE_BOSS_UNDERWATER_POT_02 }, + { { SCENE_SEA_BS, 0, 7 }, RC_GREAT_BAY_TEMPLE_BOSS_UNDERWATER_POT_03 }, + { { SCENE_SEA_BS, 0, 6 }, RC_GREAT_BAY_TEMPLE_BOSS_UNDERWATER_POT_04 }, // Great Bay Temple // - { SCENE_SEA, - { - { { -1905.0f, -1200.0f }, RC_GREAT_BAY_TEMPLE_BEFORE_WART_POT_03 }, - { { -1755.0f, -1200.0f }, RC_GREAT_BAY_TEMPLE_BEFORE_WART_POT_06 }, - { { -1755.0f, -1680.0f }, RC_GREAT_BAY_TEMPLE_BEFORE_WART_POT_07 }, - { { -1755.0f, -1725.0f }, RC_GREAT_BAY_TEMPLE_BEFORE_WART_POT_08 }, - { { -1755.0f, -1770.0f }, RC_GREAT_BAY_TEMPLE_BEFORE_WART_POT_09 }, - { { -1905.0f, -1680.0f }, RC_GREAT_BAY_TEMPLE_BEFORE_WART_POT_10 }, - { { -1905.0f, -1725.0f }, RC_GREAT_BAY_TEMPLE_BEFORE_WART_POT_11 }, - { { -1905.0f, -1770.0f }, RC_GREAT_BAY_TEMPLE_BEFORE_WART_POT_12 }, - { { 600.0f, -30.0f }, RC_GREAT_BAY_TEMPLE_CENTRAL_ROOM_POT_01 }, - { { 600.0f, 30.0f }, RC_GREAT_BAY_TEMPLE_CENTRAL_ROOM_POT_02 }, - { { 1265.0f, -785.0f }, RC_GREAT_BAY_TEMPLE_COMPASS_ROOM_SURFACE_POT_01 }, - { { 1235.0f, -815.0f }, RC_GREAT_BAY_TEMPLE_COMPASS_ROOM_SURFACE_POT_02 }, - { { 1575.0f, -1155.0f }, RC_GREAT_BAY_TEMPLE_COMPASS_ROOM_SURFACE_POT_03 }, - { { 1605.0f, -1125.0f }, RC_GREAT_BAY_TEMPLE_COMPASS_ROOM_SURFACE_POT_04 }, - { { 1170.0f, -1078.0f }, RC_GREAT_BAY_TEMPLE_COMPASS_ROOM_WATER_POT_01 }, - { { 1310.0f, -1078.0f }, RC_GREAT_BAY_TEMPLE_COMPASS_ROOM_WATER_POT_02 }, - { { 1310.0f, -1218.0f }, RC_GREAT_BAY_TEMPLE_COMPASS_ROOM_WATER_POT_03 }, - { { 540.0f, -930.0f }, RC_GREAT_BAY_TEMPLE_GREEN_PIPE_1_POT_01 }, - { { -540.0f, -930.0f }, RC_GREAT_BAY_TEMPLE_GREEN_PIPE_1_POT_02 }, - { { -540.0f, -2070.0f }, RC_GREAT_BAY_TEMPLE_GREEN_PIPE_1_POT_03 }, - { { 540.0f, -2070.0f }, RC_GREAT_BAY_TEMPLE_GREEN_PIPE_1_POT_04 }, - { { -479.0f, 2141.0f }, RC_GREAT_BAY_TEMPLE_PRE_BOSS_POT_01 }, - { { -524.0f, 2141.0f }, RC_GREAT_BAY_TEMPLE_PRE_BOSS_POT_02 }, - { { -391.0f, 1959.0f }, RC_GREAT_BAY_TEMPLE_PRE_BOSS_POT_03 }, - { { -436.0f, 1959.0f }, RC_GREAT_BAY_TEMPLE_PRE_BOSS_POT_04 }, - { { -391.0f, 1810.0f }, RC_GREAT_BAY_TEMPLE_PRE_BOSS_POT_05 }, - { { -436.0f, 1810.0f }, RC_GREAT_BAY_TEMPLE_PRE_BOSS_POT_06 }, - { { -524.0f, 1628.0f }, RC_GREAT_BAY_TEMPLE_PRE_BOSS_POT_07 }, - { { -479.0f, 1628.0f }, RC_GREAT_BAY_TEMPLE_PRE_BOSS_POT_08 }, - { { 2970.0f, 1020.0f }, RC_GREAT_BAY_TEMPLE_GREEN_PIPE_3_UPPER_POT_01 }, - { { 2970.0f, 960.0f }, RC_GREAT_BAY_TEMPLE_GREEN_PIPE_3_UPPER_POT_02 }, - { { 1500.0f, 540.0f }, RC_GREAT_BAY_TEMPLE_MAP_ROOM_SURFACE_POT_01 }, - { { 1590.0f, 540.0f }, RC_GREAT_BAY_TEMPLE_MAP_ROOM_SURFACE_POT_02 }, - { { 1712.0f, 1215.0f }, RC_GREAT_BAY_TEMPLE_MAP_ROOM_SURFACE_POT_03 }, - { { 1500.0f, 1030.0f }, RC_GREAT_BAY_TEMPLE_MAP_ROOM_WATER_POT_03 }, - { { 1590.0f, 1250.0f }, RC_GREAT_BAY_TEMPLE_MAP_ROOM_WATER_POT_04 }, - { { 1635.0f, 1620.0f }, RC_GREAT_BAY_TEMPLE_MAP_ROOM_WATER_POT_05 }, - { { 1470.0f, 1665.0f }, RC_GREAT_BAY_TEMPLE_MAP_ROOM_WATER_POT_07 }, - { { 1455.0f, 1620.0f }, RC_GREAT_BAY_TEMPLE_MAP_ROOM_WATER_POT_08 }, - { { 2835.0f, -555.0f }, RC_GREAT_BAY_TEMPLE_GREEN_PIPE_2_POT_01 }, - { { 2835.0f, -495.0f }, RC_GREAT_BAY_TEMPLE_GREEN_PIPE_2_POT_02 }, - { { 2745.0f, -495.0f }, RC_GREAT_BAY_TEMPLE_GREEN_PIPE_2_POT_03 }, - { { 2745.0f, -555.0f }, RC_GREAT_BAY_TEMPLE_GREEN_PIPE_2_POT_04 }, - { { 2730.0f, -975.0f }, RC_GREAT_BAY_TEMPLE_GREEN_PIPE_2_POT_05 }, - { { 2775.0f, -975.0f }, RC_GREAT_BAY_TEMPLE_GREEN_PIPE_2_POT_06 }, - { { 3555.0f, -720.0f }, RC_GREAT_BAY_TEMPLE_GREEN_PIPE_2_POT_07 }, - { { 3555.0f, -675.0f }, RC_GREAT_BAY_TEMPLE_GREEN_PIPE_2_POT_08 }, - { { -1530.0f, 60.0f }, RC_GREAT_BAY_TEMPLE_RED_PIPE_BEFORE_WART_POT_01 }, - { { -1560.0f, 30.0f }, RC_GREAT_BAY_TEMPLE_RED_PIPE_BEFORE_WART_POT_02 }, - { { -2130.0f, 60.0f }, RC_GREAT_BAY_TEMPLE_RED_PIPE_BEFORE_WART_POT_03 }, - { { -2100.0f, 30.0f }, RC_GREAT_BAY_TEMPLE_RED_PIPE_BEFORE_WART_POT_04 }, - { { -2250.0f, -1890.0f }, RC_GREAT_BAY_TEMPLE_WART_POT_01 }, - { { -2280.0f, -1920.0f }, RC_GREAT_BAY_TEMPLE_WART_POT_02 }, - { { -2280.0f, -2760.0f }, RC_GREAT_BAY_TEMPLE_WART_POT_03 }, - { { -2250.0f, -2790.0f }, RC_GREAT_BAY_TEMPLE_WART_POT_04 }, - { { -1410.0f, -2790.0f }, RC_GREAT_BAY_TEMPLE_WART_POT_05 }, - { { -1380.0f, -2760.0f }, RC_GREAT_BAY_TEMPLE_WART_POT_06 }, - { { -1380.0f, -1920.0f }, RC_GREAT_BAY_TEMPLE_WART_POT_07 }, - { { -1410.0f, -1890.0f }, RC_GREAT_BAY_TEMPLE_WART_POT_08 }, - } }, + { { SCENE_SEA, 14, 3 }, RC_GREAT_BAY_TEMPLE_BEFORE_WART_POT_03 }, + { { SCENE_SEA, 14, 5 }, RC_GREAT_BAY_TEMPLE_BEFORE_WART_POT_06 }, + { { SCENE_SEA, 14, 4 }, RC_GREAT_BAY_TEMPLE_BEFORE_WART_POT_07 }, + { { SCENE_SEA, 14, 10 }, RC_GREAT_BAY_TEMPLE_BEFORE_WART_POT_08 }, + { { SCENE_SEA, 14, 9 }, RC_GREAT_BAY_TEMPLE_BEFORE_WART_POT_09 }, + { { SCENE_SEA, 14, 2 }, RC_GREAT_BAY_TEMPLE_BEFORE_WART_POT_10 }, + { { SCENE_SEA, 14, 8 }, RC_GREAT_BAY_TEMPLE_BEFORE_WART_POT_11 }, + { { SCENE_SEA, 14, 7 }, RC_GREAT_BAY_TEMPLE_BEFORE_WART_POT_12 }, + { { SCENE_SEA, 0, 16 }, RC_GREAT_BAY_TEMPLE_CENTRAL_ROOM_POT_01 }, + { { SCENE_SEA, 0, 17 }, RC_GREAT_BAY_TEMPLE_CENTRAL_ROOM_POT_02 }, + { { SCENE_SEA, 4, 9 }, RC_GREAT_BAY_TEMPLE_COMPASS_ROOM_SURFACE_POT_01 }, + { { SCENE_SEA, 4, 20 }, RC_GREAT_BAY_TEMPLE_COMPASS_ROOM_SURFACE_POT_02 }, + { { SCENE_SEA, 4, 10 }, RC_GREAT_BAY_TEMPLE_COMPASS_ROOM_SURFACE_POT_03 }, + { { SCENE_SEA, 4, 21 }, RC_GREAT_BAY_TEMPLE_COMPASS_ROOM_SURFACE_POT_04 }, + { { SCENE_SEA, 4, 11 }, RC_GREAT_BAY_TEMPLE_COMPASS_ROOM_WATER_POT_01 }, + { { SCENE_SEA, 4, 13 }, RC_GREAT_BAY_TEMPLE_COMPASS_ROOM_WATER_POT_02 }, + { { SCENE_SEA, 4, 12 }, RC_GREAT_BAY_TEMPLE_COMPASS_ROOM_WATER_POT_03 }, + { { SCENE_SEA, 12, 9 }, RC_GREAT_BAY_TEMPLE_GREEN_PIPE_1_POT_01 }, + { { SCENE_SEA, 12, 7 }, RC_GREAT_BAY_TEMPLE_GREEN_PIPE_1_POT_02 }, + { { SCENE_SEA, 12, 6 }, RC_GREAT_BAY_TEMPLE_GREEN_PIPE_1_POT_03 }, + { { SCENE_SEA, 12, 8 }, RC_GREAT_BAY_TEMPLE_GREEN_PIPE_1_POT_04 }, + { { SCENE_SEA, 11, 5 }, RC_GREAT_BAY_TEMPLE_PRE_BOSS_POT_01 }, + { { SCENE_SEA, 11, 3 }, RC_GREAT_BAY_TEMPLE_PRE_BOSS_POT_02 }, + { { SCENE_SEA, 11, 15 }, RC_GREAT_BAY_TEMPLE_PRE_BOSS_POT_03 }, + { { SCENE_SEA, 11, 1 }, RC_GREAT_BAY_TEMPLE_PRE_BOSS_POT_04 }, + { { SCENE_SEA, 11, 14 }, RC_GREAT_BAY_TEMPLE_PRE_BOSS_POT_05 }, + { { SCENE_SEA, 11, 0 }, RC_GREAT_BAY_TEMPLE_PRE_BOSS_POT_06 }, + { { SCENE_SEA, 11, 2 }, RC_GREAT_BAY_TEMPLE_PRE_BOSS_POT_07 }, + { { SCENE_SEA, 11, 4 }, RC_GREAT_BAY_TEMPLE_PRE_BOSS_POT_08 }, + { { SCENE_SEA, 10, 5 }, RC_GREAT_BAY_TEMPLE_GREEN_PIPE_3_UPPER_POT_01 }, + { { SCENE_SEA, 10, 4 }, RC_GREAT_BAY_TEMPLE_GREEN_PIPE_3_UPPER_POT_02 }, + { { SCENE_SEA, 1, 3 }, RC_GREAT_BAY_TEMPLE_MAP_ROOM_SURFACE_POT_01 }, + { { SCENE_SEA, 1, 4 }, RC_GREAT_BAY_TEMPLE_MAP_ROOM_SURFACE_POT_02 }, + { { SCENE_SEA, 1, 16 }, RC_GREAT_BAY_TEMPLE_MAP_ROOM_SURFACE_POT_03 }, + { { SCENE_SEA, 1, 5 }, RC_GREAT_BAY_TEMPLE_MAP_ROOM_WATER_POT_03 }, + { { SCENE_SEA, 1, 6 }, RC_GREAT_BAY_TEMPLE_MAP_ROOM_WATER_POT_04 }, + { { SCENE_SEA, 1, 11 }, RC_GREAT_BAY_TEMPLE_MAP_ROOM_WATER_POT_05 }, + { { SCENE_SEA, 1, 13 }, RC_GREAT_BAY_TEMPLE_MAP_ROOM_WATER_POT_07 }, + { { SCENE_SEA, 1, 10 }, RC_GREAT_BAY_TEMPLE_MAP_ROOM_WATER_POT_08 }, + { { SCENE_SEA, 9, 24 }, RC_GREAT_BAY_TEMPLE_GREEN_PIPE_2_POT_01 }, + { { SCENE_SEA, 9, 25 }, RC_GREAT_BAY_TEMPLE_GREEN_PIPE_2_POT_02 }, + { { SCENE_SEA, 9, 23 }, RC_GREAT_BAY_TEMPLE_GREEN_PIPE_2_POT_03 }, + { { SCENE_SEA, 9, 22 }, RC_GREAT_BAY_TEMPLE_GREEN_PIPE_2_POT_04 }, + { { SCENE_SEA, 9, 26 }, RC_GREAT_BAY_TEMPLE_GREEN_PIPE_2_POT_05 }, + { { SCENE_SEA, 9, 27 }, RC_GREAT_BAY_TEMPLE_GREEN_PIPE_2_POT_06 }, + { { SCENE_SEA, 9, 20 }, RC_GREAT_BAY_TEMPLE_GREEN_PIPE_2_POT_07 }, + { { SCENE_SEA, 9, 21 }, RC_GREAT_BAY_TEMPLE_GREEN_PIPE_2_POT_08 }, + { { SCENE_SEA, 6, 11 }, RC_GREAT_BAY_TEMPLE_RED_PIPE_BEFORE_WART_POT_01 }, + { { SCENE_SEA, 6, 10 }, RC_GREAT_BAY_TEMPLE_RED_PIPE_BEFORE_WART_POT_02 }, + { { SCENE_SEA, 6, 8 }, RC_GREAT_BAY_TEMPLE_RED_PIPE_BEFORE_WART_POT_03 }, + { { SCENE_SEA, 6, 9 }, RC_GREAT_BAY_TEMPLE_RED_PIPE_BEFORE_WART_POT_04 }, + { { SCENE_SEA, 7, 2 }, RC_GREAT_BAY_TEMPLE_WART_POT_01 }, + { { SCENE_SEA, 7, 0 }, RC_GREAT_BAY_TEMPLE_WART_POT_02 }, + { { SCENE_SEA, 7, 6 }, RC_GREAT_BAY_TEMPLE_WART_POT_03 }, + { { SCENE_SEA, 7, 1 }, RC_GREAT_BAY_TEMPLE_WART_POT_04 }, + { { SCENE_SEA, 7, 7 }, RC_GREAT_BAY_TEMPLE_WART_POT_05 }, + { { SCENE_SEA, 7, 4 }, RC_GREAT_BAY_TEMPLE_WART_POT_06 }, + { { SCENE_SEA, 7, 5 }, RC_GREAT_BAY_TEMPLE_WART_POT_07 }, + { { SCENE_SEA, 7, 3 }, RC_GREAT_BAY_TEMPLE_WART_POT_08 }, // Stone Tower Temple // - { SCENE_INISIE_N, - { - { { -30.0f, -1995.0f }, RC_STONE_TOWER_TEMPLE_SPIKED_BAR_ROOM_POT_01 }, - { { -30.0f, -1965.0f }, RC_STONE_TOWER_TEMPLE_SPIKED_BAR_ROOM_POT_02 }, - { { -30.0f, -1935.0f }, RC_STONE_TOWER_TEMPLE_SPIKED_BAR_ROOM_POT_03 }, - { { -30.0f, -1905.0f }, RC_STONE_TOWER_TEMPLE_SPIKED_BAR_ROOM_POT_04 }, - { { 30.0f, -1995.0f }, RC_STONE_TOWER_TEMPLE_SPIKED_BAR_ROOM_POT_05 }, - { { 30.0f, -1965.0f }, RC_STONE_TOWER_TEMPLE_SPIKED_BAR_ROOM_POT_06 }, - { { 30.0f, -1935.0f }, RC_STONE_TOWER_TEMPLE_SPIKED_BAR_ROOM_POT_07 }, - { { 30.0f, -1905.0f }, RC_STONE_TOWER_TEMPLE_SPIKED_BAR_ROOM_POT_08 }, - { { 45.0f, -690.0f }, RC_STONE_TOWER_TEMPLE_ENTRANCE_POT_01 }, - { { -45.0f, -690.0f }, RC_STONE_TOWER_TEMPLE_ENTRANCE_POT_02 }, - { { -1275.0f, -1395.0f }, RC_STONE_TOWER_TEMPLE_LAVA_ROOM_POT_01 }, - { { -1275.0f, -1305.0f }, RC_STONE_TOWER_TEMPLE_LAVA_ROOM_POT_02 }, - { { -1425.0f, -1395.0f }, RC_STONE_TOWER_TEMPLE_LAVA_ROOM_POT_03 }, - { { -1425.0f, -1305.0f }, RC_STONE_TOWER_TEMPLE_LAVA_ROOM_POT_04 }, - { { -1275.0f, -705.0f }, RC_STONE_TOWER_TEMPLE_LAVA_ROOM_AFTER_BLOCK_POT_01 }, - { { -1275.0f, -615.0f }, RC_STONE_TOWER_TEMPLE_LAVA_ROOM_AFTER_BLOCK_POT_02 }, - { { -1425.0f, -705.0f }, RC_STONE_TOWER_TEMPLE_LAVA_ROOM_AFTER_BLOCK_POT_03 }, - { { -1425.0f, -615.0f }, RC_STONE_TOWER_TEMPLE_LAVA_ROOM_AFTER_BLOCK_POT_04 }, - { { 1350.0f, -1770.0f }, RC_STONE_TOWER_TEMPLE_MIRROR_ROOM_POT_01 }, - { { 1230.0f, -1770.0f }, RC_STONE_TOWER_TEMPLE_MIRROR_ROOM_POT_02 }, - { { 810.0f, -1260.0f }, RC_STONE_TOWER_TEMPLE_WATER_ROOM_UNDERWATER_LOWER_POT_01 }, - { { 750.0f, -1260.0f }, RC_STONE_TOWER_TEMPLE_WATER_ROOM_UNDERWATER_LOWER_POT_02 }, - { { 810.0f, -1320.0f }, RC_STONE_TOWER_TEMPLE_WATER_ROOM_UNDERWATER_LOWER_POT_03 }, - { { 1800.0f, -900.0f }, RC_STONE_TOWER_TEMPLE_WATER_ROOM_UNDERWATER_UPPER_POT_01 }, - { { 1800.0f, -840.0f }, RC_STONE_TOWER_TEMPLE_WATER_ROOM_UNDERWATER_UPPER_POT_02 }, - { { 615.0f, -3375.0f }, RC_STONE_TOWER_TEMPLE_WIND_ROOM_POT_01 }, - { { 585.0f, -3375.0f }, RC_STONE_TOWER_TEMPLE_WIND_ROOM_POT_02 }, - { { 615.0f, -3465.0f }, RC_STONE_TOWER_TEMPLE_WIND_ROOM_POT_03 }, - { { 585.0f, -3465.0f }, RC_STONE_TOWER_TEMPLE_WIND_ROOM_POT_04 }, - } }, + { { SCENE_INISIE_N, 8, 14 }, RC_STONE_TOWER_TEMPLE_SPIKED_BAR_ROOM_POT_01 }, + { { SCENE_INISIE_N, 8, 15 }, RC_STONE_TOWER_TEMPLE_SPIKED_BAR_ROOM_POT_02 }, + { { SCENE_INISIE_N, 8, 18 }, RC_STONE_TOWER_TEMPLE_SPIKED_BAR_ROOM_POT_03 }, + { { SCENE_INISIE_N, 8, 21 }, RC_STONE_TOWER_TEMPLE_SPIKED_BAR_ROOM_POT_04 }, + { { SCENE_INISIE_N, 8, 16 }, RC_STONE_TOWER_TEMPLE_SPIKED_BAR_ROOM_POT_05 }, + { { SCENE_INISIE_N, 8, 17 }, RC_STONE_TOWER_TEMPLE_SPIKED_BAR_ROOM_POT_06 }, + { { SCENE_INISIE_N, 8, 19 }, RC_STONE_TOWER_TEMPLE_SPIKED_BAR_ROOM_POT_07 }, + { { SCENE_INISIE_N, 8, 20 }, RC_STONE_TOWER_TEMPLE_SPIKED_BAR_ROOM_POT_08 }, + { { SCENE_INISIE_N, 0, 7 }, RC_STONE_TOWER_TEMPLE_ENTRANCE_POT_01 }, + { { SCENE_INISIE_N, 0, 8 }, RC_STONE_TOWER_TEMPLE_ENTRANCE_POT_02 }, + { { SCENE_INISIE_N, 4, 15 }, RC_STONE_TOWER_TEMPLE_LAVA_ROOM_POT_01 }, + { { SCENE_INISIE_N, 4, 16 }, RC_STONE_TOWER_TEMPLE_LAVA_ROOM_POT_02 }, + { { SCENE_INISIE_N, 4, 13 }, RC_STONE_TOWER_TEMPLE_LAVA_ROOM_POT_03 }, + { { SCENE_INISIE_N, 4, 14 }, RC_STONE_TOWER_TEMPLE_LAVA_ROOM_POT_04 }, + { { SCENE_INISIE_N, 4, 17 }, RC_STONE_TOWER_TEMPLE_LAVA_ROOM_AFTER_BLOCK_POT_01 }, + { { SCENE_INISIE_N, 4, 12 }, RC_STONE_TOWER_TEMPLE_LAVA_ROOM_AFTER_BLOCK_POT_02 }, + { { SCENE_INISIE_N, 4, 18 }, RC_STONE_TOWER_TEMPLE_LAVA_ROOM_AFTER_BLOCK_POT_03 }, + { { SCENE_INISIE_N, 4, 11 }, RC_STONE_TOWER_TEMPLE_LAVA_ROOM_AFTER_BLOCK_POT_04 }, + { { SCENE_INISIE_N, 7, 6 }, RC_STONE_TOWER_TEMPLE_MIRROR_ROOM_POT_01 }, + { { SCENE_INISIE_N, 7, 5 }, RC_STONE_TOWER_TEMPLE_MIRROR_ROOM_POT_02 }, + { { SCENE_INISIE_N, 3, 12 }, RC_STONE_TOWER_TEMPLE_WATER_ROOM_UNDERWATER_LOWER_POT_01 }, + { { SCENE_INISIE_N, 3, 10 }, RC_STONE_TOWER_TEMPLE_WATER_ROOM_UNDERWATER_LOWER_POT_02 }, + { { SCENE_INISIE_N, 3, 11 }, RC_STONE_TOWER_TEMPLE_WATER_ROOM_UNDERWATER_LOWER_POT_03 }, + { { SCENE_INISIE_N, 3, 13 }, RC_STONE_TOWER_TEMPLE_WATER_ROOM_UNDERWATER_UPPER_POT_01 }, + { { SCENE_INISIE_N, 3, 14 }, RC_STONE_TOWER_TEMPLE_WATER_ROOM_UNDERWATER_UPPER_POT_02 }, + { { SCENE_INISIE_N, 9, 12 }, RC_STONE_TOWER_TEMPLE_WIND_ROOM_POT_01 }, + { { SCENE_INISIE_N, 9, 14 }, RC_STONE_TOWER_TEMPLE_WIND_ROOM_POT_02 }, + { { SCENE_INISIE_N, 9, 11 }, RC_STONE_TOWER_TEMPLE_WIND_ROOM_POT_03 }, + { { SCENE_INISIE_N, 9, 13 }, RC_STONE_TOWER_TEMPLE_WIND_ROOM_POT_04 }, // Stone Tower Temple - Inverted // - { SCENE_INISIE_R, - { - { { 2070.0f, -1620.0f }, RC_STONE_TOWER_TEMPLE_INVERTED_GOMESS_POT_01 }, - { { 2790.0f, -1620.0f }, RC_STONE_TOWER_TEMPLE_INVERTED_GOMESS_POT_02 }, - { { 2790.0f, -900.0f }, RC_STONE_TOWER_TEMPLE_INVERTED_GOMESS_POT_03 }, - { { 2070.0f, -900.0f }, RC_STONE_TOWER_TEMPLE_INVERTED_GOMESS_POT_04 }, - { { -735.0f, -1215.0f }, RC_STONE_TOWER_TEMPLE_INVERTED_POE_MAZE_SIDE_POT_01 }, - { { -735.0f, -1305.0f }, RC_STONE_TOWER_TEMPLE_INVERTED_POE_MAZE_SIDE_POT_02 }, - { { -1605.0f, -1395.0f }, RC_STONE_TOWER_TEMPLE_INVERTED_POE_WIZZROBE_SIDE_POT_01 }, - { { -1605.0f, -1305.0f }, RC_STONE_TOWER_TEMPLE_INVERTED_POE_WIZZROBE_SIDE_POT_02 }, - { { -30.0f, -1995.0f }, RC_STONE_TOWER_TEMPLE_INVERTED_PRE_BOSS_POT_01 }, - { { -30.0f, -1965.0f }, RC_STONE_TOWER_TEMPLE_INVERTED_PRE_BOSS_POT_02 }, - { { -30.0f, -1935.0f }, RC_STONE_TOWER_TEMPLE_INVERTED_PRE_BOSS_POT_03 }, - { { -30.0f, -1905.0f }, RC_STONE_TOWER_TEMPLE_INVERTED_PRE_BOSS_POT_04 }, - { { 30.0f, -1995.0f }, RC_STONE_TOWER_TEMPLE_INVERTED_PRE_BOSS_POT_05 }, - { { 30.0f, -1965.0f }, RC_STONE_TOWER_TEMPLE_INVERTED_PRE_BOSS_POT_06 }, - { { 30.0f, -1935.0f }, RC_STONE_TOWER_TEMPLE_INVERTED_PRE_BOSS_POT_07 }, - { { 30.0f, -1905.0f }, RC_STONE_TOWER_TEMPLE_INVERTED_PRE_BOSS_POT_08 }, - { { 1350.0f, -630.0f }, RC_STONE_TOWER_TEMPLE_INVERTED_UPDRAFTS_BRIDGE_POT_01 }, - { { 1230.0f, -630.0f }, RC_STONE_TOWER_TEMPLE_INVERTED_UPDRAFTS_BRIDGE_POT_02 }, - { { 735.0f, -1215.0f }, RC_STONE_TOWER_TEMPLE_INVERTED_UPDRAFTS_LEDGE_POT_02 }, - { { 735.0f, -1305.0f }, RC_STONE_TOWER_TEMPLE_INVERTED_UPDRAFTS_LEDGE_POT_03 }, - { { -1290.0f, -510.0f }, RC_STONE_TOWER_TEMPLE_INVERTED_WIZZROBE_POT_01 }, - { { -1290.0f, -450.0f }, RC_STONE_TOWER_TEMPLE_INVERTED_WIZZROBE_POT_02 }, - { { -1410.0f, -450.0f }, RC_STONE_TOWER_TEMPLE_INVERTED_WIZZROBE_POT_03 }, - { { -1410.0f, -510.0f }, RC_STONE_TOWER_TEMPLE_INVERTED_WIZZROBE_POT_04 }, - } }, + { { SCENE_INISIE_R, 11, 4 }, RC_STONE_TOWER_TEMPLE_INVERTED_GOMESS_POT_01 }, + { { SCENE_INISIE_R, 11, 1 }, RC_STONE_TOWER_TEMPLE_INVERTED_GOMESS_POT_02 }, + { { SCENE_INISIE_R, 11, 2 }, RC_STONE_TOWER_TEMPLE_INVERTED_GOMESS_POT_03 }, + { { SCENE_INISIE_R, 11, 3 }, RC_STONE_TOWER_TEMPLE_INVERTED_GOMESS_POT_04 }, + { { SCENE_INISIE_R, 2, 11 }, RC_STONE_TOWER_TEMPLE_INVERTED_POE_MAZE_SIDE_POT_01 }, + { { SCENE_INISIE_R, 2, 9 }, RC_STONE_TOWER_TEMPLE_INVERTED_POE_MAZE_SIDE_POT_02 }, + { { SCENE_INISIE_R, 2, 12 }, RC_STONE_TOWER_TEMPLE_INVERTED_POE_WIZZROBE_SIDE_POT_01 }, + { { SCENE_INISIE_R, 2, 10 }, RC_STONE_TOWER_TEMPLE_INVERTED_POE_WIZZROBE_SIDE_POT_02 }, + { { SCENE_INISIE_R, 8, 20 }, RC_STONE_TOWER_TEMPLE_INVERTED_PRE_BOSS_POT_01 }, + { { SCENE_INISIE_R, 8, 18 }, RC_STONE_TOWER_TEMPLE_INVERTED_PRE_BOSS_POT_02 }, + { { SCENE_INISIE_R, 8, 22 }, RC_STONE_TOWER_TEMPLE_INVERTED_PRE_BOSS_POT_03 }, + { { SCENE_INISIE_R, 8, 24 }, RC_STONE_TOWER_TEMPLE_INVERTED_PRE_BOSS_POT_04 }, + { { SCENE_INISIE_R, 8, 21 }, RC_STONE_TOWER_TEMPLE_INVERTED_PRE_BOSS_POT_05 }, + { { SCENE_INISIE_R, 8, 19 }, RC_STONE_TOWER_TEMPLE_INVERTED_PRE_BOSS_POT_06 }, + { { SCENE_INISIE_R, 8, 23 }, RC_STONE_TOWER_TEMPLE_INVERTED_PRE_BOSS_POT_07 }, + { { SCENE_INISIE_R, 8, 25 }, RC_STONE_TOWER_TEMPLE_INVERTED_PRE_BOSS_POT_08 }, + { { SCENE_INISIE_R, 3, 17 }, RC_STONE_TOWER_TEMPLE_INVERTED_UPDRAFTS_BRIDGE_POT_01 }, + { { SCENE_INISIE_R, 3, 16 }, RC_STONE_TOWER_TEMPLE_INVERTED_UPDRAFTS_BRIDGE_POT_02 }, + { { SCENE_INISIE_R, 3, 26 }, RC_STONE_TOWER_TEMPLE_INVERTED_UPDRAFTS_LEDGE_POT_02 }, + { { SCENE_INISIE_R, 3, 23 }, RC_STONE_TOWER_TEMPLE_INVERTED_UPDRAFTS_LEDGE_POT_03 }, + { { SCENE_INISIE_R, 4, 8 }, RC_STONE_TOWER_TEMPLE_INVERTED_WIZZROBE_POT_01 }, + { { SCENE_INISIE_R, 4, 13 }, RC_STONE_TOWER_TEMPLE_INVERTED_WIZZROBE_POT_02 }, + { { SCENE_INISIE_R, 4, 12 }, RC_STONE_TOWER_TEMPLE_INVERTED_WIZZROBE_POT_03 }, + { { SCENE_INISIE_R, 4, 9 }, RC_STONE_TOWER_TEMPLE_INVERTED_WIZZROBE_POT_04 }, }; -#define OBJTSUBO_RC (actor->home.rot.x) - -RandoCheckId IdentifyPot(Actor* actor) { +// Identify the pot based on either the collectible flag if it exists or the scene Id, room, and actor list index +void IdentifyPot(Actor* actor, bool* should) { + RandoCheckId randoCheckId = RC_UNKNOWN; + s16 actorListIndex = GetActorListIndex(actor); auto randoStaticCheck = Rando::StaticData::GetCheckFromFlag(FLAG_CYCL_SCENE_COLLECTIBLE, OBJ_TSUBO_PFE00(actor), gPlayState->sceneId); if (randoStaticCheck.randoCheckId != RC_UNKNOWN && randoStaticCheck.randoCheckType == RCTYPE_POT) { - return randoStaticCheck.randoCheckId; + // Pots using collectible flags + randoCheckId = randoStaticCheck.randoCheckId; + } else { + auto it = potMap.find({ gPlayState->sceneId, gPlayState->roomCtx.curRoom.num, actorListIndex }); + if (it != potMap.end()) { + randoCheckId = it->second; + } } - RandoCheckId randoCheckId = RC_UNKNOWN; - auto it = potMap.find((SceneId)gPlayState->sceneId); - if (it == potMap.end()) { - return randoCheckId; + if (!RANDO_SAVE_CHECKS[randoCheckId].shuffled || RANDO_SAVE_CHECKS[randoCheckId].cycleObtained) { + return; } - auto innerIt = it->second.find({ actor->home.pos.x, actor->home.pos.z }); - if (innerIt == it->second.end()) { - return randoCheckId; - } - return innerIt->second; + Rando::ActorBehavior::SetObjectRandoCheckId(actor, randoCheckId); } void ObjTsubo_RandoDraw(Actor* actor, PlayState* play) { @@ -388,7 +339,8 @@ void ObjTsubo_RandoDraw(Actor* actor, PlayState* play) { return; } - RandoItemId randoItemId = Rando::ConvertItem(RANDO_SAVE_CHECKS[OBJTSUBO_RC].randoItemId, (RandoCheckId)OBJTSUBO_RC); + RandoCheckId randoCheckId = Rando::ActorBehavior::GetObjectRandoCheckId(actor); + RandoItemId randoItemId = Rando::ConvertItem(RANDO_SAVE_CHECKS[randoCheckId].randoItemId, randoCheckId); RandoItemType randoItemType = Rando::StaticData::Items[randoItemId].randoItemType; switch (randoItemType) { @@ -423,22 +375,12 @@ void ObjTsubo_RandoDraw(Actor* actor, PlayState* play) { } void Rando::ActorBehavior::InitObjTsuboBehavior() { - COND_ID_HOOK(OnActorInit, ACTOR_OBJ_TSUBO, IS_RANDO, [](Actor* actor) { - RandoCheckId randoCheckId = IdentifyPot(actor); - if (randoCheckId == RC_UNKNOWN) { - return; - } - - if (!RANDO_SAVE_CHECKS[randoCheckId].shuffled || RANDO_SAVE_CHECKS[randoCheckId].cycleObtained) { - return; - } - - OBJTSUBO_RC = randoCheckId; - }); + COND_ID_HOOK(ShouldActorInit, ACTOR_OBJ_TSUBO, IS_RANDO, IdentifyPot); COND_VB_SHOULD(VB_POT_DRAW_BE_OVERRIDDEN, IS_RANDO, { Actor* actor = va_arg(args, Actor*); - if (OBJTSUBO_RC != RC_UNKNOWN) { + RandoCheckId randoCheckId = Rando::ActorBehavior::GetObjectRandoCheckId(actor); + if (randoCheckId != RC_UNKNOWN) { *should = false; actor->draw = ObjTsubo_RandoDraw; } @@ -446,7 +388,7 @@ void Rando::ActorBehavior::InitObjTsuboBehavior() { COND_VB_SHOULD(VB_POT_DROP_COLLECTIBLE, IS_RANDO, { Actor* actor = va_arg(args, Actor*); - RandoCheckId randoCheckId = (RandoCheckId)OBJTSUBO_RC; + RandoCheckId randoCheckId = Rando::ActorBehavior::GetObjectRandoCheckId(actor); if (randoCheckId == RC_UNKNOWN) { return; } @@ -469,7 +411,7 @@ void Rando::ActorBehavior::InitObjTsuboBehavior() { *should = false; // Clear the stored Check ID for pots that are on a timed respawn - OBJTSUBO_RC = RC_UNKNOWN; + Rando::ActorBehavior::SetObjectRandoCheckId(actor, RC_UNKNOWN); actor->draw = ObjTsubo_Draw; }); } |
