diff --git a/soh/include/z64save.h b/soh/include/z64save.h index 982da9d5c5d..34cd54e9a97 100644 --- a/soh/include/z64save.h +++ b/soh/include/z64save.h @@ -3,6 +3,7 @@ #include "ultra64.h" #include "z64math.h" +#include typedef struct { /* 0x00 */ u8 buttonItems[4]; @@ -60,6 +61,11 @@ typedef struct { /* 0x24 */ s32 tempCollectFlags; } FaroresWindData; // size = 0x28 +typedef struct { + RandomizerCheck check; + RandomizerGet get; +} ItemLocation; + typedef struct { /* 0x0000 */ s32 entranceIndex; // start of `save` substruct, originally called "memory" /* 0x0004 */ s32 linkAge; // 0: Adult; 1: Child @@ -173,6 +179,7 @@ typedef struct { /* 0x1420 */ s16 worldMapArea; /* 0x1422 */ s16 sunsSongState; // controls the effects of suns song /* 0x1424 */ s16 healthAccumulator; + ItemLocation itemLocations[512]; } SaveContext; // size = 0x1428 typedef enum { diff --git a/soh/randomizerTypes.h b/soh/randomizerTypes.h new file mode 100644 index 00000000000..b9fa7a8330c --- /dev/null +++ b/soh/randomizerTypes.h @@ -0,0 +1,499 @@ +#pragma once + + +typedef enum { + LINKS_POCKET, + QUEEN_GOHMA, + KING_DODONGO, + BARINADE, + PHANTOM_GANON, + VOLVAGIA, + MORPHA, + BONGO_BONGO, + TWINROVA, + SONG_FROM_IMPA, + SONG_FROM_MALON, + SONG_FROM_SARIA, + SONG_FROM_ROYAL_FAMILYS_TOMB, + SONG_FROM_OCARINA_OF_TIME, + SONG_FROM_WINDMILL, + SHEIK_IN_FOREST, + SHEIK_IN_CRATER, + SHEIK_IN_ICE_CAVERN, + SHEIK_AT_COLOSSUS, + SHEIK_IN_KAKARIKO, + SHEIK_AT_TEMPLE, + KF_MIDOS_TOP_LEFT_CHEST, + KF_MIDOS_TOP_RIGHT_CHEST, + KF_MIDOS_BOTTOM_LEFT_CHEST, + KF_MIDOS_BOTTOM_RIGHT_CHEST, + KF_KOKIRI_SWORD_CHEST, + KF_STORMS_GROTTO_CHEST, + LW_OCARINA_MEMORY_GAME, + LW_TARGET_IN_WOODS, + LW_NEAR_SHORTCUTS_GROTTO_CHEST, + DEKU_THEATER_SKULL_MASK, + DEKU_THEATER_MASK_OF_TRUTH, + LW_SKULL_KID, + LW_DEKU_SCRUB_NEAR_BRIDGE, + LW_DEKU_SCRUB_GROTTO_FRONT, + SFM_WOLFOS_GROTTO_CHEST, + HF_NEAR_MARKET_GROTTO_CHEST, + HF_TEKTITE_GROTTO_FREESTANDING_POH, + HF_SOUTHEAST_GROTTO_CHEST, + HF_OPEN_GROTTO_CHEST, + HF_DEKU_SCRUB_GROTTO, + MARKET_SHOOTING_GALLERY_REWARD, + MARKET_BOMBCHU_BOWLING_FIRST_PRIZE, + MARKET_BOMBCHU_BOWLING_SECOND_PRIZE, + MARKET_LOST_DOG, + MARKET_TREASURE_CHEST_GAME_REWARD, + MARKET_10_BIG_POES, + TOT_LIGHT_ARROWS_CUTSCENE, + HC_GREAT_FAIRY_REWARD, + LLR_TALONS_CHICKENS, + LLR_FREESTANDING_POH, + KAK_ANJU_AS_CHILD, + KAK_ANJU_AS_ADULT, + KAK_IMPAS_HOUSE_FREESTANDING_POH, + KAK_WINDMILL_FREESTANDING_POH, + KAK_MAN_ON_ROOF, + KAK_OPEN_GROTTO_CHEST, + KAK_REDEAD_GROTTO_CHEST, + KAK_SHOOTING_GALLERY_REWARD, + KAK_10_GOLD_SKULLTULA_REWARD, + KAK_20_GOLD_SKULLTULA_REWARD, + KAK_30_GOLD_SKULLTULA_REWARD, + KAK_40_GOLD_SKULLTULA_REWARD, + KAK_50_GOLD_SKULLTULA_REWARD, + GRAVEYARD_SHIELD_GRAVE_CHEST, + GRAVEYARD_HEART_PIECE_GRAVE_CHEST, + GRAVEYARD_ROYAL_FAMILYS_TOMB_CHEST, + GRAVEYARD_FREESTANDING_POH, + GRAVEYARD_DAMPE_GRAVEDIGGING_TOUR, + GRAVEYARD_HOOKSHOT_CHEST, + GRAVEYARD_DAMPE_RACE_FREESTANDING_POH, + DMT_FREESTANDING_POH, + DMT_CHEST, + DMT_STORMS_GROTTO_CHEST, + DMT_GREAT_FAIRY_REWARD, + DMT_BIGGORON, + GC_DARUNIAS_JOY, + GC_POT_FREESTANDING_POH, + GC_ROLLING_GORON_AS_CHILD, + GC_ROLLING_GORON_AS_ADULT, + GC_MAZE_LEFT_CHEST, + GC_MAZE_RIGHT_CHEST, + GC_MAZE_CENTER_CHEST, + DMC_VOLCANO_FREESTANDING_POH, + DMC_WALL_FREESTANDING_POH, + DMC_UPPER_GROTTO_CHEST, + DMC_GREAT_FAIRY_REWARD, + ZR_OPEN_GROTTO_CHEST, + ZR_FROGS_IN_THE_RAIN, + ZR_FROGS_OCARINA_GAME, + ZR_NEAR_OPEN_GROTTO_FREESTANDING_POH, + ZR_NEAR_DOMAIN_FREESTANDING_POH, + ZD_DIVING_MINIGAME, + ZD_CHEST, + ZD_KING_ZORA_THAWED, + ZF_GREAT_FAIRY_REWARD, + ZF_ICEBERG_FREESTANDING_POH, + ZF_BOTTOM_FREESTANDING_POH, + LH_UNDERWATER_ITEM, + LH_CHILD_FISHING, + LH_ADULT_FISHING, + LH_LAB_DIVE, + LH_FREESTANDING_POH, + LH_SUN, + GV_CRATE_FREESTANDING_POH, + GV_WATERFALL_FREESTANDING_POH, + GV_CHEST, + GF_CHEST, + GF_HBA_1000_POINTS, + GF_HBA_1500_POINTS, + WASTELAND_CHEST, + COLOSSUS_GREAT_FAIRY_REWARD, + COLOSSUS_FREESTANDING_POH, + OGC_GREAT_FAIRY_REWARD, + DEKU_TREE_MAP_CHEST, + DEKU_TREE_SLINGSHOT_ROOM_SIDE_CHEST, + DEKU_TREE_SLINGSHOT_CHEST, + DEKU_TREE_COMPASS_CHEST, + DEKU_TREE_COMPASS_ROOM_SIDE_CHEST, + DEKU_TREE_BASEMENT_CHEST, + DEKU_TREE_QUEEN_GOHMA_HEART, + DODONGOS_CAVERN_MAP_CHEST, + DODONGOS_CAVERN_COMPASS_CHEST, + DODONGOS_CAVERN_BOMB_FLOWER_PLATFORM_CHEST, + DODONGOS_CAVERN_BOMB_BAG_CHEST, + DODONGOS_CAVERN_END_OF_BRIDGE_CHEST, + DODONGOS_CAVERN_BOSS_ROOM_CHEST, + DODONGOS_CAVERN_KING_DODONGO_HEART, + JABU_JABUS_BELLY_BOOMERANG_CHEST, + JABU_JABUS_BELLY_MAP_CHEST, + JABU_JABUS_BELLY_COMPASS_CHEST, + JABU_JABUS_BELLY_BARINADE_HEART, + BOTTOM_OF_THE_WELL_FRONT_LEFT_FAKE_WALL_CHEST, + BOTTOM_OF_THE_WELL_FRONT_CENTER_BOMBABLE_CHEST, + BOTTOM_OF_THE_WELL_BACK_LEFT_BOMBABLE_CHEST, + BOTTOM_OF_THE_WELL_UNDERWATER_LEFT_CHEST, + BOTTOM_OF_THE_WELL_FREESTANDING_KEY, + BOTTOM_OF_THE_WELL_COMPASS_CHEST, + BOTTOM_OF_THE_WELL_CENTER_SKULLTULA_CHEST, + BOTTOM_OF_THE_WELL_RIGHT_BOTTOM_FAKE_WALL_CHEST, + BOTTOM_OF_THE_WELL_FIRE_KEESE_CHEST, + BOTTOM_OF_THE_WELL_LIKE_LIKE_CHEST, + BOTTOM_OF_THE_WELL_MAP_CHEST, + BOTTOM_OF_THE_WELL_UNDERWATER_FRONT_CHEST, + BOTTOM_OF_THE_WELL_INVISIBLE_CHEST, + BOTTOM_OF_THE_WELL_LENS_OF_TRUTH_CHEST, + FOREST_TEMPLE_FIRST_ROOM_CHEST, + FOREST_TEMPLE_FIRST_STALFOS_CHEST, + FOREST_TEMPLE_RAISED_ISLAND_COURTYARD_CHEST, + FOREST_TEMPLE_MAP_CHEST, + FOREST_TEMPLE_WELL_CHEST, + FOREST_TEMPLE_EYE_SWITCH_CHEST, + FOREST_TEMPLE_BOSS_KEY_CHEST, + FOREST_TEMPLE_FLOORMASTER_CHEST, + FOREST_TEMPLE_RED_POE_CHEST, + FOREST_TEMPLE_BOW_CHEST, + FOREST_TEMPLE_BLUE_POE_CHEST, + FOREST_TEMPLE_FALLING_CEILING_ROOM_CHEST, + FOREST_TEMPLE_BASEMENT_CHEST, + FOREST_TEMPLE_PHANTOM_GANON_HEART, + FIRE_TEMPLE_NEAR_BOSS_CHEST, + FIRE_TEMPLE_FLARE_DANCER_CHEST, + FIRE_TEMPLE_BOSS_KEY_CHEST, + FIRE_TEMPLE_BIG_LAVA_ROOM_LOWER_OPEN_DOOR_CHEST, + FIRE_TEMPLE_BIG_LAVA_ROOM_BLOCKED_DOOR_CHEST, + FIRE_TEMPLE_BOULDER_MAZE_LOWER_CHEST, + FIRE_TEMPLE_BOULDER_MAZE_SIDE_ROOM_CHEST, + FIRE_TEMPLE_MAP_CHEST, + FIRE_TEMPLE_BOULDER_MAZE_SHORTCUT_CHEST, + FIRE_TEMPLE_BOULDER_MAZE_UPPER_CHEST, + FIRE_TEMPLE_SCARECROW_CHEST, + FIRE_TEMPLE_COMPASS_CHEST, + FIRE_TEMPLE_MEGATON_HAMMER_CHEST, + FIRE_TEMPLE_HIGHEST_GORON_CHEST, + FIRE_TEMPLE_VOLVAGIA_HEART, + WATER_TEMPLE_COMPASS_CHEST, + WATER_TEMPLE_MAP_CHEST, + WATER_TEMPLE_CRACKED_WALL_CHEST, + WATER_TEMPLE_TORCHES_CHEST, + WATER_TEMPLE_BOSS_KEY_CHEST, + WATER_TEMPLE_CENTRAL_PILLAR_CHEST, + WATER_TEMPLE_CENTRAL_BOW_TARGET_CHEST, + WATER_TEMPLE_LONGSHOT_CHEST, + WATER_TEMPLE_RIVER_CHEST, + WATER_TEMPLE_DRAGON_CHEST, + WATER_TEMPLE_MORPHA_HEART, + SHADOW_TEMPLE_MAP_CHEST, + SHADOW_TEMPLE_HOVER_BOOTS_CHEST, + SHADOW_TEMPLE_COMPASS_CHEST, + SHADOW_TEMPLE_EARLY_SILVER_RUPEE_CHEST, + SHADOW_TEMPLE_INVISIBLE_BLADES_VISIBLE_CHEST, + SHADOW_TEMPLE_INVISIBLE_BLADES_INVISIBLE_CHEST, + SHADOW_TEMPLE_FALLING_SPIKES_LOWER_CHEST, + SHADOW_TEMPLE_FALLING_SPIKES_UPPER_CHEST, + SHADOW_TEMPLE_FALLING_SPIKES_SWITCH_CHEST, + SHADOW_TEMPLE_INVISIBLE_SPIKES_CHEST, + SHADOW_TEMPLE_FREESTANDING_KEY, + SHADOW_TEMPLE_WIND_HINT_CHEST, + SHADOW_TEMPLE_AFTER_WIND_ENEMY_CHEST, + SHADOW_TEMPLE_AFTER_WIND_HIDDEN_CHEST, + SHADOW_TEMPLE_SPIKE_WALLS_LEFT_CHEST, + SHADOW_TEMPLE_BOSS_KEY_CHEST, + SHADOW_TEMPLE_INVISIBLE_FLOORMASTER_CHEST, + SHADOW_TEMPLE_BONGO_BONGO_HEART, + SPIRIT_TEMPLE_CHILD_BRIDGE_CHEST, + SPIRIT_TEMPLE_CHILD_EARLY_TORCHES_CHEST, + SPIRIT_TEMPLE_CHILD_CLIMB_NORTH_CHEST, + SPIRIT_TEMPLE_CHILD_CLIMB_EAST_CHEST, + SPIRIT_TEMPLE_MAP_CHEST, + SPIRIT_TEMPLE_SUN_BLOCK_ROOM_CHEST, + SPIRIT_TEMPLE_SILVER_GAUNTLETS_CHEST, + SPIRIT_TEMPLE_COMPASS_CHEST, + SPIRIT_TEMPLE_EARLY_ADULT_RIGHT_CHEST, + SPIRIT_TEMPLE_FIRST_MIRROR_LEFT_CHEST, + SPIRIT_TEMPLE_FIRST_MIRROR_RIGHT_CHEST, + SPIRIT_TEMPLE_STATUE_ROOM_NORTHEAST_CHEST, + SPIRIT_TEMPLE_STATUE_ROOM_HAND_CHEST, + SPIRIT_TEMPLE_NEAR_FOUR_ARMOS_CHEST, + SPIRIT_TEMPLE_HALLWAY_RIGHT_INVISIBLE_CHEST, + SPIRIT_TEMPLE_HALLWAY_LEFT_INVISIBLE_CHEST, + SPIRIT_TEMPLE_MIRROR_SHIELD_CHEST, + SPIRIT_TEMPLE_BOSS_KEY_CHEST, + SPIRIT_TEMPLE_TOPMOST_CHEST, + SPIRIT_TEMPLE_TWINROVA_HEART, + ICE_CAVERN_MAP_CHEST, + ICE_CAVERN_COMPASS_CHEST, + ICE_CAVERN_FREESTANDING_POH, + ICE_CAVERN_IRON_BOOTS_CHEST, + GERUDO_TRAINING_GROUND_LOBBY_LEFT_CHEST, + GERUDO_TRAINING_GROUND_LOBBY_RIGHT_CHEST, + GERUDO_TRAINING_GROUND_STALFOS_CHEST, + GERUDO_TRAINING_GROUND_BEFORE_HEAVY_BLOCK_CHEST, + GERUDO_TRAINING_GROUND_HEAVY_BLOCK_FIRST_CHEST, + GERUDO_TRAINING_GROUND_HEAVY_BLOCK_SECOND_CHEST, + GERUDO_TRAINING_GROUND_HEAVY_BLOCK_THIRD_CHEST, + GERUDO_TRAINING_GROUND_HEAVY_BLOCK_FOURTH_CHEST, + GERUDO_TRAINING_GROUND_EYE_STATUE_CHEST, + GERUDO_TRAINING_GROUND_NEAR_SCARECROW_CHEST, + GERUDO_TRAINING_GROUND_HAMMER_ROOM_CLEAR_CHEST, + GERUDO_TRAINING_GROUND_HAMMER_ROOM_SWITCH_CHEST, + GERUDO_TRAINING_GROUND_FREESTANDING_KEY, + GERUDO_TRAINING_GROUND_MAZE_RIGHT_CENTRAL_CHEST, + GERUDO_TRAINING_GROUND_MAZE_RIGHT_SIDE_CHEST, + GERUDO_TRAINING_GROUND_UNDERWATER_SILVER_RUPEE_CHEST, + GERUDO_TRAINING_GROUND_BEAMOS_CHEST, + GERUDO_TRAINING_GROUND_HIDDEN_CEILING_CHEST, + GERUDO_TRAINING_GROUND_MAZE_PATH_FIRST_CHEST, + GERUDO_TRAINING_GROUND_MAZE_PATH_SECOND_CHEST, + GERUDO_TRAINING_GROUND_MAZE_PATH_THIRD_CHEST, + GERUDO_TRAINING_GROUND_MAZE_PATH_FINAL_CHEST, + GANONS_CASTLE_FOREST_TRIAL_CHEST, + GANONS_CASTLE_WATER_TRIAL_LEFT_CHEST, + GANONS_CASTLE_WATER_TRIAL_RIGHT_CHEST, + GANONS_CASTLE_SHADOW_TRIAL_FRONT_CHEST, + GANONS_CASTLE_SHADOW_TRIAL_GOLDEN_GAUNTLETS_CHEST, + GANONS_CASTLE_LIGHT_TRIAL_FIRST_LEFT_CHEST, + GANONS_CASTLE_LIGHT_TRIAL_SECOND_LEFT_CHEST, + GANONS_CASTLE_LIGHT_TRIAL_THIRD_LEFT_CHEST, + GANONS_CASTLE_LIGHT_TRIAL_FIRST_RIGHT_CHEST, + GANONS_CASTLE_LIGHT_TRIAL_SECOND_RIGHT_CHEST, + GANONS_CASTLE_LIGHT_TRIAL_THIRD_RIGHT_CHEST, + GANONS_CASTLE_LIGHT_TRIAL_INVISIBLE_ENEMIES_CHEST, + GANONS_CASTLE_LIGHT_TRIAL_LULLABY_CHEST, + GANONS_CASTLE_SPIRIT_TRIAL_CRYSTAL_SWITCH_CHEST, + GANONS_CASTLE_SPIRIT_TRIAL_INVISIBLE_CHEST, + GANONS_TOWER_BOSS_KEY_CHEST, + UNKNOWN_CHECK +} RandomizerCheck; + +// based on https://github.com/TestRunnerSRL/OoT-Randomizer/blob/e337d7f603b91a6bacb618fb32cc7fd70ed9ffca/ItemList.py +typedef enum { + UNKNOWN_GET = 0, + BOMBS_5, + DEKU_NUTS_5, + BOMBCHUS_10, + BOOMERANG, + DEKU_STICK_1, + LENS_OF_TRUTH, + MEGATON_HAMMER, + COJIRO, + BOTTLE, + BOTTLE_WITH_MILK, + RUTOS_LETTER, + DELIVER_LETTER, + SELL_BIG_POE, + MAGIC_BEAN, + SKULL_MASK, + SPOOKY_MASK, + KEATON_MASK, + BUNNY_HOOD, + MASK_OF_TRUTH, + POCKET_EGG, + POCKET_CUCCO, + ODD_MUSHROOM, + ODD_POTION, + POACHERS_SAW, + BROKEN_SWORD, + PRESCRIPTION, + EYEBALL_FROG, + EYEDROPS, + CLAIM_CHECK, + KOKIRI_SWORD, + GIANTS_KNIFE, + DEKU_SHIELD, + HYLIAN_SHIELD, + MIRROR_SHIELD, + GORON_TUNIC, + ZORA_TUNIC, + IRON_BOOTS, + HOVER_BOOTS, + STONE_OF_AGONY, + GERUDO_MEMBERSHIP_CARD, + HEART_CONTAINER, + PIECE_OF_HEART, + BOSS_KEY, + COMPASS, + MAP, + SMALL_KEY, + WEIRD_EGG, + RECOVERY_HEART, + ARROWS_5, + ARROWS_10, + ARROWS_30, + RUPEE_1, + RUPEES_5, + RUPEES_20, + MILK, + GORON_MASK, + ZORA_MASK, + GERUDO_MASK, + RUPEES_50, + RUPEES_200, + BIGGORON_SWORD, + FIRE_ARROWS, + ICE_ARROWS, + LIGHT_ARROWS, + GOLD_SKULLTULA_TOKEN, + DINS_FIRE, + NAYRUS_LOVE, + FARORES_WIND, + DEKU_NUTS_10, + BOMBS_10, + BOMBS_20, + DEKU_SEEDS_30, + BOMBCHUS_5, + BOMBCHUS_20, + RUPEE_TREASURE_CHEST_GAME, + PIECE_OF_HEART_TREASURE_CHEST_GAME, + ICE_TRAP, + PROGRESSIVE_HOOKSHOT, + PROGRESSIVE_STRENGTH_UPGRADE, + BOMB_BAG, + BOW, + SLINGSHOT, + PROGRESSIVE_WALLET, + PROGRESSIVE_SCALE, + DEKU_NUT_CAPACITY, + DEKU_STICK_CAPACITY, + BOMBCHUS, + MAGIC_METER, + OCARINA, + BOTTLE_WITH_RED_POTION, + BOTTLE_WITH_GREEN_POTION, + BOTTLE_WITH_BLUE_POTION, + BOTTLE_WITH_FAIRY, + BOTTLE_WITH_FISH, + BOTTLE_WITH_BLUE_FIRE, + BOTTLE_WITH_BUGS, + BOTTLE_WITH_BIG_POE, + BOTTLE_WITH_POE, + BOSS_KEY_FOREST_TEMPLE, + BOSS_KEY_FIRE_TEMPLE, + BOSS_KEY_WATER_TEMPLE, + BOSS_KEY_SPIRIT_TEMPLE, + BOSS_KEY_SHADOW_TEMPLE, + BOSS_KEY_GANONS_CASTLE, + COMPASS_DEKU_TREE, + COMPASS_DODONGOS_CAVERN, + COMPASS_JABU_JABUS_BELLY, + COMPASS_FOREST_TEMPLE, + COMPASS_FIRE_TEMPLE, + COMPASS_WATER_TEMPLE, + COMPASS_SPIRIT_TEMPLE, + COMPASS_SHADOW_TEMPLE, + COMPASS_BOTTOM_OF_THE_WELL, + COMPASS_ICE_CAVERN, + MAP_DEKU_TREE, + MAP_DODONGOS_CAVERN, + MAP_JABU_JABUS_BELLY, + MAP_FOREST_TEMPLE, + MAP_FIRE_TEMPLE, + MAP_WATER_TEMPLE, + MAP_SPIRIT_TEMPLE, + MAP_SHADOW_TEMPLE, + MAP_BOTTOM_OF_THE_WELL, + MAP_ICE_CAVERN, + SMALL_KEY_FOREST_TEMPLE, + SMALL_KEY_FIRE_TEMPLE, + SMALL_KEY_WATER_TEMPLE, + SMALL_KEY_SPIRIT_TEMPLE, + SMALL_KEY_SHADOW_TEMPLE, + SMALL_KEY_BOTTOM_OF_THE_WELL, + SMALL_KEY_GERUDO_TRAINING_GROUND, + SMALL_KEY_THIEVES_HIDEOUT, + SMALL_KEY_GANONS_CASTLE, + DOUBLE_DEFENSE, + MAGIC_BEAN_PACK, + TRIFORCE_PIECE, + ZELDAS_LETTER, + TIME_TRAVEL, + SCARECROW_SONG, + TRIFORCE, + SMALL_KEY_RING_FOREST_TEMPLE, + SMALL_KEY_RING_FIRE_TEMPLE, + SMALL_KEY_RING_WATER_TEMPLE, + SMALL_KEY_RING_SPIRIT_TEMPLE, + SMALL_KEY_RING_SHADOW_TEMPLE, + SMALL_KEY_RING_BOTTOM_OF_THE_WELL, + SMALL_KEY_RING_GERUDO_TRAINING_GROUND, + SMALL_KEY_RING_THIEVES_HIDEOUT, + SMALL_KEY_RING_GANONS_CASTLE, + WATER_TEMPLE_CLEAR, + FOREST_TRIAL_CLEAR, + FIRE_TRIAL_CLEAR, + WATER_TRIAL_CLEAR, + SHADOW_TRIAL_CLEAR, + SPIRIT_TRIAL_CLEAR, + LIGHT_TRIAL_CLEAR, + DEKU_STICK_DROP, + DEKU_NUT_DROP, + BLUE_FIRE, + FAIRY, + FISH, + BUGS, + BIG_POE, + BOMBCHU_DROP, + ARROWS_CONSUMABLE_REFILL, + BOMBS_CONSUMABLE_REFILL, + DEKU_SEEDS_CONSUMABLE_REFILL, + DEKU_STICKS_CONSUMABLE_REFILL, + DEKU_NUTS_CONSUMABLE_REFILL, + RUPEES_CONSUMABLE_REFILL, + MINUET_OF_FOREST, + BOLERO_OF_FIRE, + SERENADE_OF_WATER, + REQUIEM_OF_SPIRIT, + NOCTURNE_OF_SHADOW, + PRELUDE_OF_LIGHT, + ZELDAS_LULLABY, + EPONAS_SONG, + SARIAS_SONG, + SUNS_SONG, + SONG_OF_TIME, + SONG_OF_STORMS, + BUY_DEKU_NUT_5, + BUY_ARROWS_30, + BUY_ARROWS_50, + BUY_BOMBS_5_FOR_25_RUPEES, + BUY_DEKU_NUT_10, + BUY_DEKU_STICK_1, + BUY_BOMBS_10, + BUY_FISH, + BUY_RED_POTION_FOR_30_RUPEES, + BUY_GREEN_POTION, + BUY_BLUE_POTION, + BUY_HYLIAN_SHIELD, + BUY_DEKU_SHIELD, + BUY_GORON_TUNIC, + BUY_ZORA_TUNIC, + BUY_HEART, + BUY_BOMBCHU_10, + BUY_BOMBCHU_20, + BUY_BOMBCHU_5, + BUY_DEKU_SEEDS_30, + SOLD_OUT, + BUY_BLUE_FIRE, + BUY_BOTTLE_BUG, + BUY_POE, + BUY_FAIRYS_SPIRIT, + BUY_ARROWS_10, + BUY_BOMBS_20, + BUY_BOMBS_30, + BUY_BOMBS_5_FOR_35_RUPEES, + BUY_RED_POTION_FOR_40_RUPEES, + BUY_RED_POTION_FOR_50_RUPEES, + KOKIRI_EMERALD, + GORON_RUBY, + ZORA_SAPPHIRE, + FOREST_MEDALLION, + FIRE_MEDALLION, + WATER_MEDALLION, + SPIRIT_MEDALLION, + SHADOW_MEDALLION, + LIGHT_MEDALLION +} RandomizerGet; \ No newline at end of file diff --git a/soh/soh.vcxproj b/soh/soh.vcxproj index 180d3b4cdb0..230d74e54ca 100644 --- a/soh/soh.vcxproj +++ b/soh/soh.vcxproj @@ -881,6 +881,7 @@ + diff --git a/soh/soh.vcxproj.filters b/soh/soh.vcxproj.filters index 04f6030a858..24b65d11f7a 100644 --- a/soh/soh.vcxproj.filters +++ b/soh/soh.vcxproj.filters @@ -1,3778 +1,1244 @@  - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - {8d479b58-9306-40c3-9728-2cf5b185f5c4} - - - {8ebc52ba-5b1d-4bb3-9848-ba9ea57fc49f} - - - {54c2fe99-a68e-4ce2-813d-bce0ab1ac24f} - - - {0b91ecc8-6f20-4da1-87ca-6c7263aab3db} - - - {2104d3ab-707c-4ab2-bb1a-5cdce5c3d07d} - - - {022552c8-3bb8-4ba5-904c-e2c3eb28ce10} - - - {3ab8c311-cbfb-4eca-88af-2446ce3c89b0} - - - {8f2da1b8-973e-4be0-a036-c79a63bc3067} - - - {1a584bc2-7081-4251-a953-cdc7b611d62b} - - - {49bb84e4-a0b9-4733-9720-1ea120795083} - - - {d4794b4c-ae5d-4bf0-96f4-077f03807f5e} - - - {981df102-b362-4e2b-8efc-62756c28aa60} - - - {f8b2165f-9b32-4be1-a285-49349e09bef5} - - - {fcaae731-4e17-448b-b6c7-36e4c8413838} - - - {264ed8f8-f42b-475f-82ca-c264225ef56c} - - - {5fde6633-a728-4eea-a616-59d413bec476} - - - {3aeae6ac-1340-4a7b-bf34-cd196667fe37} - - - {fe745190-d4ec-4dc3-a9fd-ea553a971b14} - - - {06ba0ec4-2ee7-4454-93b5-5fd804723b6d} - - - {ffe200b9-a955-4843-a1ce-3603c132e591} - - - {18b9727f-30de-4ab8-a317-916090d4a110} - - - {9a4378ec-e30f-47b6-9ad6-5ce738b4cf99} - - - {04fc1c52-49ff-48e2-ae23-2c00867374f8} - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - Source Files\src\boot - - - Source Files\src\boot - - - Source Files\src\boot - - - Source Files\src\boot - - - Source Files\src\boot - - - Source Files\src\boot - - - Source Files\src\boot - - - Source Files\src\boot - - - Source Files\src\boot - - - Source Files\src\boot - - - Source Files\src\boot - - - Source Files\src\boot - - - Source Files\src\buffers - - - Source Files\src\buffers - - - Source Files\src\buffers - - - Source Files\src\overlays\effects - - - Source Files\src\overlays\effects - - - Source Files\src\overlays\effects - - - Source Files\src\overlays\effects - - - Source Files\src\overlays\effects - - - Source Files\src\overlays\effects - - - Source Files\src\overlays\effects - - - Source Files\src\overlays\effects - - - Source Files\src\overlays\effects - - - Source Files\src\overlays\effects - - - Source Files\src\overlays\effects - - - Source Files\src\overlays\effects - - - Source Files\src\overlays\effects - - - Source Files\src\overlays\effects - - - Source Files\src\overlays\effects - - - Source Files\src\overlays\effects - - - Source Files\src\overlays\effects - - - Source Files\src\overlays\effects - - - Source Files\src\overlays\effects - - - Source Files\src\overlays\effects - - - Source Files\src\overlays\effects - - - Source Files\src\overlays\effects - - - Source Files\src\overlays\effects - - - Source Files\src\overlays\effects - - - Source Files\src\overlays\effects - - - Source Files\src\overlays\effects - - - Source Files\src\overlays\effects - - - Source Files\src\overlays\effects - - - Source Files\src\overlays\effects - - - Source Files\src\overlays\effects - - - Source Files\src\overlays\effects - - - Source Files\src\overlays\effects - - - Source Files\src\overlays\effects - - - Source Files\src\overlays\effects - - - Source Files\src\overlays\effects - - - Source Files\src\overlays\effects - - - Source Files\src\overlays\gamestates\ovl_title - - - Source Files\src\overlays\gamestates\ovl_select - - - Source Files\src\overlays\gamestates\ovl_opening - - - Source Files\src\overlays\gamestates\ovl_file_choose - - - Source Files\src\overlays\gamestates\ovl_file_choose - - - Source Files\soh - - - Source Files\soh - - - Source Files\soh - - - Source Files\soh - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\libultra - - - Source Files\src\libultra - - - Source Files\src\libultra - - - Source Files\src\libultra - - - Source Files\src\libultra - - - Source Files\src\libultra - - - Source Files\src\libultra - - - Source Files\src\libultra - - - Source Files\src\libultra - - - Source Files\src\libultra - - - Source Files\src\libultra - - - Source Files\src\overlays\misc\ovl_kaleido_scope - - - Source Files\src\overlays\misc\ovl_kaleido_scope - - - Source Files\src\overlays\misc\ovl_kaleido_scope - - - Source Files\src\overlays\misc\ovl_kaleido_scope - - - Source Files\src\overlays\misc\ovl_kaleido_scope - - - Source Files\src\overlays\misc\ovl_kaleido_scope - - - Source Files\src\overlays\misc\ovl_kaleido_scope - - - Source Files\src\overlays\misc\ovl_kaleido_scope - - - Source Files\src\overlays\misc\ovl_kaleido_scope - - - Source Files\src\overlays\gamestates\ovl_file_choose - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\code - - - Source Files\src\overlays\gamestates\ovl_file_choose - - - Source Files\src\overlays\misc\ovl_map_mark_data - - - Source Files\soh - - - Source Files\soh\Enhancements - - - Source Files\soh\Enhancements - - - Source Files\soh\Enhancements - - - Source Files\soh - - - Source Files\soh - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\soh\Enhancements\debugger - - - Source Files\soh\Enhancements\debugger - - - Source Files\soh - - - Source Files\soh\Enhancements\debugger - - - Source Files\soh\Enhancements\debugger - - Source Files\soh - - - Source Files - - - Source Files\soh\Enhancements - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - Source Files\src\overlays\misc\ovl_kaleido_scope - - - Header Files\include - - - Header Files\include - - - Header Files\include - - - Header Files\include - - - Header Files\include - - - Header Files\include - - - Header Files\include - - - Header Files\include - - - Header Files\include - - - Header Files\include - - - Header Files\include - - - Header Files\include - - - Header Files\include - - - Header Files\include - - - Header Files\include - - - Header Files\include - - - Header Files\include - - - Header Files\include - - - Header Files\include - - - Header Files\include - - - Header Files\include - - - Header Files\include - - - Header Files\include - - - Header Files\include - - - Header Files\include - - - Header Files\include - - - Header Files\include - - - Header Files\include - - - Header Files\include - - - Header Files\include - - - Header Files\include - - - Header Files\include - - - Header Files\include - - - Header Files\include - - - Header Files\include - - - Header Files\include - - - Header Files\include - - - Header Files\include - - - Header Files\include - - - Header Files\include - - - Header Files\include - - - Header Files\include - - - Source Files\src\overlays\effects - - - Source Files\src\overlays\effects - - - Source Files\src\overlays\effects - - - Source Files\src\overlays\effects - - - Source Files\src\overlays\effects - - - Source Files\src\overlays\effects - - - Source Files\src\overlays\effects - - - Source Files\src\overlays\effects - - - Source Files\src\overlays\effects - - - Source Files\src\overlays\effects - - - Source Files\src\overlays\effects - - - Source Files\src\overlays\effects - - - Source Files\src\overlays\effects - - - Source Files\src\overlays\effects - - - Source Files\src\overlays\effects - - - Source Files\src\overlays\effects - - - Source Files\src\overlays\effects - - - Source Files\src\overlays\effects - - - Source Files\src\overlays\effects - - - Source Files\src\overlays\effects - - - Source Files\src\overlays\effects - - - Source Files\src\overlays\effects - - - Source Files\src\overlays\effects - - - Source Files\src\overlays\effects - - - Source Files\src\overlays\effects - - - Source Files\src\overlays\effects - - - Source Files\src\overlays\effects - - - Source Files\src\overlays\effects - - - Source Files\src\overlays\effects - - - Source Files\src\overlays\effects - - - Source Files\src\overlays\effects - - - Source Files\src\overlays\effects - - - Source Files\src\overlays\effects - - - Source Files\src\overlays\effects - - - Source Files\src\overlays\effects - - - Source Files\src\overlays\effects - - - Header Files\include - - - Source Files\soh - - - Source Files\src\overlays\misc\ovl_kaleido_scope - - - Header Files\soh\Enhancements - - - Header Files\soh\Enhancements - - - Header Files\soh\Enhancements - - - Header Files\soh\Enhancements - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Source Files\src\overlays\actors - - - Header Files - - - Header Files\soh\Enhancements\debugger - - - Header Files\soh\Enhancements\debugger - - - Header Files\soh - - - Header Files\soh\Enhancements\debugger - - - Header Files\soh\Enhancements\debugger - - Header Files\soh - - - Source Files\soh\Enhancements - - - Source Files\soh - + - - Header Files\include - + - - Resource Files - - - - - Resource Files - + \ No newline at end of file diff --git a/soh/soh/Enhancements/randomizer.cpp b/soh/soh/Enhancements/randomizer.cpp index 10370daa28a..33fa3ab8ca3 100644 --- a/soh/soh/Enhancements/randomizer.cpp +++ b/soh/soh/Enhancements/randomizer.cpp @@ -507,25 +507,38 @@ std::unordered_map SpoilerfileGetNameToEnum = { {"Light Medallion", LIGHT_MEDALLION} }; -void Randomizer::PopulateItemLocations(std::string spoilerFileName) { +void Randomizer::LoadItemLocations() { + for(auto itemLocation : gSaveContext.itemLocations) { + this->itemLocations[itemLocation.check] = itemLocation.get; + } +} + +void Randomizer::ParseItemLocations(std::string spoilerFileName) { // todo pull this in from cvar or something std::ifstream spoilerFileStream("spoiler.json"); - if (!spoilerFileStream) return; + if (!spoilerFileStream) + return; json spoilerFileJson; spoilerFileStream >> spoilerFileJson; json locationsJson = spoilerFileJson["locations"]; - for(auto it = locationsJson.begin(); it != locationsJson.end(); ++it) { - if(it->is_structured()) { + int index = 0; + for (auto it = locationsJson.begin(); it != locationsJson.end(); ++it) { + if (it->is_structured()) { json itemJson = *it; - for(auto itemit = itemJson.begin(); itemit != itemJson.end(); ++itemit) { - //todo handle prices - if(itemit.key() == "item") { - this->itemLocations[SpoilerfileCheckNameToEnum[it.key()]] = SpoilerfileGetNameToEnum[itemit.value()]; + for (auto itemit = itemJson.begin(); itemit != itemJson.end(); ++itemit) { + // todo handle prices + if (itemit.key() == "item") { + + gSaveContext.itemLocations[index].check = SpoilerfileCheckNameToEnum[it.key()]; + gSaveContext.itemLocations[index].get = SpoilerfileGetNameToEnum[itemit.value()]; } } } else { - this->itemLocations[SpoilerfileCheckNameToEnum[it.key()]] = SpoilerfileGetNameToEnum[it.value()]; + gSaveContext.itemLocations[index].check = SpoilerfileCheckNameToEnum[it.key()]; + gSaveContext.itemLocations[index].get = SpoilerfileGetNameToEnum[it.value()]; } + + index++; } } diff --git a/soh/soh/Enhancements/randomizer.h b/soh/soh/Enhancements/randomizer.h index 5e564622bce..07bc65e54a1 100644 --- a/soh/soh/Enhancements/randomizer.h +++ b/soh/soh/Enhancements/randomizer.h @@ -5,503 +5,7 @@ #include #include "../../include/ultra64.h" #include "../../include/z64item.h" - -typedef enum { - LINKS_POCKET, - QUEEN_GOHMA, - KING_DODONGO, - BARINADE, - PHANTOM_GANON, - VOLVAGIA, - MORPHA, - BONGO_BONGO, - TWINROVA, - SONG_FROM_IMPA, - SONG_FROM_MALON, - SONG_FROM_SARIA, - SONG_FROM_ROYAL_FAMILYS_TOMB, - SONG_FROM_OCARINA_OF_TIME, - SONG_FROM_WINDMILL, - SHEIK_IN_FOREST, - SHEIK_IN_CRATER, - SHEIK_IN_ICE_CAVERN, - SHEIK_AT_COLOSSUS, - SHEIK_IN_KAKARIKO, - SHEIK_AT_TEMPLE, - KF_MIDOS_TOP_LEFT_CHEST, - KF_MIDOS_TOP_RIGHT_CHEST, - KF_MIDOS_BOTTOM_LEFT_CHEST, - KF_MIDOS_BOTTOM_RIGHT_CHEST, - KF_KOKIRI_SWORD_CHEST, - KF_STORMS_GROTTO_CHEST, - LW_OCARINA_MEMORY_GAME, - LW_TARGET_IN_WOODS, - LW_NEAR_SHORTCUTS_GROTTO_CHEST, - DEKU_THEATER_SKULL_MASK, - DEKU_THEATER_MASK_OF_TRUTH, - LW_SKULL_KID, - LW_DEKU_SCRUB_NEAR_BRIDGE, - LW_DEKU_SCRUB_GROTTO_FRONT, - SFM_WOLFOS_GROTTO_CHEST, - HF_NEAR_MARKET_GROTTO_CHEST, - HF_TEKTITE_GROTTO_FREESTANDING_POH, - HF_SOUTHEAST_GROTTO_CHEST, - HF_OPEN_GROTTO_CHEST, - HF_DEKU_SCRUB_GROTTO, - MARKET_SHOOTING_GALLERY_REWARD, - MARKET_BOMBCHU_BOWLING_FIRST_PRIZE, - MARKET_BOMBCHU_BOWLING_SECOND_PRIZE, - MARKET_LOST_DOG, - MARKET_TREASURE_CHEST_GAME_REWARD, - MARKET_10_BIG_POES, - TOT_LIGHT_ARROWS_CUTSCENE, - HC_GREAT_FAIRY_REWARD, - LLR_TALONS_CHICKENS, - LLR_FREESTANDING_POH, - KAK_ANJU_AS_CHILD, - KAK_ANJU_AS_ADULT, - KAK_IMPAS_HOUSE_FREESTANDING_POH, - KAK_WINDMILL_FREESTANDING_POH, - KAK_MAN_ON_ROOF, - KAK_OPEN_GROTTO_CHEST, - KAK_REDEAD_GROTTO_CHEST, - KAK_SHOOTING_GALLERY_REWARD, - KAK_10_GOLD_SKULLTULA_REWARD, - KAK_20_GOLD_SKULLTULA_REWARD, - KAK_30_GOLD_SKULLTULA_REWARD, - KAK_40_GOLD_SKULLTULA_REWARD, - KAK_50_GOLD_SKULLTULA_REWARD, - GRAVEYARD_SHIELD_GRAVE_CHEST, - GRAVEYARD_HEART_PIECE_GRAVE_CHEST, - GRAVEYARD_ROYAL_FAMILYS_TOMB_CHEST, - GRAVEYARD_FREESTANDING_POH, - GRAVEYARD_DAMPE_GRAVEDIGGING_TOUR, - GRAVEYARD_HOOKSHOT_CHEST, - GRAVEYARD_DAMPE_RACE_FREESTANDING_POH, - DMT_FREESTANDING_POH, - DMT_CHEST, - DMT_STORMS_GROTTO_CHEST, - DMT_GREAT_FAIRY_REWARD, - DMT_BIGGORON, - GC_DARUNIAS_JOY, - GC_POT_FREESTANDING_POH, - GC_ROLLING_GORON_AS_CHILD, - GC_ROLLING_GORON_AS_ADULT, - GC_MAZE_LEFT_CHEST, - GC_MAZE_RIGHT_CHEST, - GC_MAZE_CENTER_CHEST, - DMC_VOLCANO_FREESTANDING_POH, - DMC_WALL_FREESTANDING_POH, - DMC_UPPER_GROTTO_CHEST, - DMC_GREAT_FAIRY_REWARD, - ZR_OPEN_GROTTO_CHEST, - ZR_FROGS_IN_THE_RAIN, - ZR_FROGS_OCARINA_GAME, - ZR_NEAR_OPEN_GROTTO_FREESTANDING_POH, - ZR_NEAR_DOMAIN_FREESTANDING_POH, - ZD_DIVING_MINIGAME, - ZD_CHEST, - ZD_KING_ZORA_THAWED, - ZF_GREAT_FAIRY_REWARD, - ZF_ICEBERG_FREESTANDING_POH, - ZF_BOTTOM_FREESTANDING_POH, - LH_UNDERWATER_ITEM, - LH_CHILD_FISHING, - LH_ADULT_FISHING, - LH_LAB_DIVE, - LH_FREESTANDING_POH, - LH_SUN, - GV_CRATE_FREESTANDING_POH, - GV_WATERFALL_FREESTANDING_POH, - GV_CHEST, - GF_CHEST, - GF_HBA_1000_POINTS, - GF_HBA_1500_POINTS, - WASTELAND_CHEST, - COLOSSUS_GREAT_FAIRY_REWARD, - COLOSSUS_FREESTANDING_POH, - OGC_GREAT_FAIRY_REWARD, - DEKU_TREE_MAP_CHEST, - DEKU_TREE_SLINGSHOT_ROOM_SIDE_CHEST, - DEKU_TREE_SLINGSHOT_CHEST, - DEKU_TREE_COMPASS_CHEST, - DEKU_TREE_COMPASS_ROOM_SIDE_CHEST, - DEKU_TREE_BASEMENT_CHEST, - DEKU_TREE_QUEEN_GOHMA_HEART, - DODONGOS_CAVERN_MAP_CHEST, - DODONGOS_CAVERN_COMPASS_CHEST, - DODONGOS_CAVERN_BOMB_FLOWER_PLATFORM_CHEST, - DODONGOS_CAVERN_BOMB_BAG_CHEST, - DODONGOS_CAVERN_END_OF_BRIDGE_CHEST, - DODONGOS_CAVERN_BOSS_ROOM_CHEST, - DODONGOS_CAVERN_KING_DODONGO_HEART, - JABU_JABUS_BELLY_BOOMERANG_CHEST, - JABU_JABUS_BELLY_MAP_CHEST, - JABU_JABUS_BELLY_COMPASS_CHEST, - JABU_JABUS_BELLY_BARINADE_HEART, - BOTTOM_OF_THE_WELL_FRONT_LEFT_FAKE_WALL_CHEST, - BOTTOM_OF_THE_WELL_FRONT_CENTER_BOMBABLE_CHEST, - BOTTOM_OF_THE_WELL_BACK_LEFT_BOMBABLE_CHEST, - BOTTOM_OF_THE_WELL_UNDERWATER_LEFT_CHEST, - BOTTOM_OF_THE_WELL_FREESTANDING_KEY, - BOTTOM_OF_THE_WELL_COMPASS_CHEST, - BOTTOM_OF_THE_WELL_CENTER_SKULLTULA_CHEST, - BOTTOM_OF_THE_WELL_RIGHT_BOTTOM_FAKE_WALL_CHEST, - BOTTOM_OF_THE_WELL_FIRE_KEESE_CHEST, - BOTTOM_OF_THE_WELL_LIKE_LIKE_CHEST, - BOTTOM_OF_THE_WELL_MAP_CHEST, - BOTTOM_OF_THE_WELL_UNDERWATER_FRONT_CHEST, - BOTTOM_OF_THE_WELL_INVISIBLE_CHEST, - BOTTOM_OF_THE_WELL_LENS_OF_TRUTH_CHEST, - FOREST_TEMPLE_FIRST_ROOM_CHEST, - FOREST_TEMPLE_FIRST_STALFOS_CHEST, - FOREST_TEMPLE_RAISED_ISLAND_COURTYARD_CHEST, - FOREST_TEMPLE_MAP_CHEST, - FOREST_TEMPLE_WELL_CHEST, - FOREST_TEMPLE_EYE_SWITCH_CHEST, - FOREST_TEMPLE_BOSS_KEY_CHEST, - FOREST_TEMPLE_FLOORMASTER_CHEST, - FOREST_TEMPLE_RED_POE_CHEST, - FOREST_TEMPLE_BOW_CHEST, - FOREST_TEMPLE_BLUE_POE_CHEST, - FOREST_TEMPLE_FALLING_CEILING_ROOM_CHEST, - FOREST_TEMPLE_BASEMENT_CHEST, - FOREST_TEMPLE_PHANTOM_GANON_HEART, - FIRE_TEMPLE_NEAR_BOSS_CHEST, - FIRE_TEMPLE_FLARE_DANCER_CHEST, - FIRE_TEMPLE_BOSS_KEY_CHEST, - FIRE_TEMPLE_BIG_LAVA_ROOM_LOWER_OPEN_DOOR_CHEST, - FIRE_TEMPLE_BIG_LAVA_ROOM_BLOCKED_DOOR_CHEST, - FIRE_TEMPLE_BOULDER_MAZE_LOWER_CHEST, - FIRE_TEMPLE_BOULDER_MAZE_SIDE_ROOM_CHEST, - FIRE_TEMPLE_MAP_CHEST, - FIRE_TEMPLE_BOULDER_MAZE_SHORTCUT_CHEST, - FIRE_TEMPLE_BOULDER_MAZE_UPPER_CHEST, - FIRE_TEMPLE_SCARECROW_CHEST, - FIRE_TEMPLE_COMPASS_CHEST, - FIRE_TEMPLE_MEGATON_HAMMER_CHEST, - FIRE_TEMPLE_HIGHEST_GORON_CHEST, - FIRE_TEMPLE_VOLVAGIA_HEART, - WATER_TEMPLE_COMPASS_CHEST, - WATER_TEMPLE_MAP_CHEST, - WATER_TEMPLE_CRACKED_WALL_CHEST, - WATER_TEMPLE_TORCHES_CHEST, - WATER_TEMPLE_BOSS_KEY_CHEST, - WATER_TEMPLE_CENTRAL_PILLAR_CHEST, - WATER_TEMPLE_CENTRAL_BOW_TARGET_CHEST, - WATER_TEMPLE_LONGSHOT_CHEST, - WATER_TEMPLE_RIVER_CHEST, - WATER_TEMPLE_DRAGON_CHEST, - WATER_TEMPLE_MORPHA_HEART, - SHADOW_TEMPLE_MAP_CHEST, - SHADOW_TEMPLE_HOVER_BOOTS_CHEST, - SHADOW_TEMPLE_COMPASS_CHEST, - SHADOW_TEMPLE_EARLY_SILVER_RUPEE_CHEST, - SHADOW_TEMPLE_INVISIBLE_BLADES_VISIBLE_CHEST, - SHADOW_TEMPLE_INVISIBLE_BLADES_INVISIBLE_CHEST, - SHADOW_TEMPLE_FALLING_SPIKES_LOWER_CHEST, - SHADOW_TEMPLE_FALLING_SPIKES_UPPER_CHEST, - SHADOW_TEMPLE_FALLING_SPIKES_SWITCH_CHEST, - SHADOW_TEMPLE_INVISIBLE_SPIKES_CHEST, - SHADOW_TEMPLE_FREESTANDING_KEY, - SHADOW_TEMPLE_WIND_HINT_CHEST, - SHADOW_TEMPLE_AFTER_WIND_ENEMY_CHEST, - SHADOW_TEMPLE_AFTER_WIND_HIDDEN_CHEST, - SHADOW_TEMPLE_SPIKE_WALLS_LEFT_CHEST, - SHADOW_TEMPLE_BOSS_KEY_CHEST, - SHADOW_TEMPLE_INVISIBLE_FLOORMASTER_CHEST, - SHADOW_TEMPLE_BONGO_BONGO_HEART, - SPIRIT_TEMPLE_CHILD_BRIDGE_CHEST, - SPIRIT_TEMPLE_CHILD_EARLY_TORCHES_CHEST, - SPIRIT_TEMPLE_CHILD_CLIMB_NORTH_CHEST, - SPIRIT_TEMPLE_CHILD_CLIMB_EAST_CHEST, - SPIRIT_TEMPLE_MAP_CHEST, - SPIRIT_TEMPLE_SUN_BLOCK_ROOM_CHEST, - SPIRIT_TEMPLE_SILVER_GAUNTLETS_CHEST, - SPIRIT_TEMPLE_COMPASS_CHEST, - SPIRIT_TEMPLE_EARLY_ADULT_RIGHT_CHEST, - SPIRIT_TEMPLE_FIRST_MIRROR_LEFT_CHEST, - SPIRIT_TEMPLE_FIRST_MIRROR_RIGHT_CHEST, - SPIRIT_TEMPLE_STATUE_ROOM_NORTHEAST_CHEST, - SPIRIT_TEMPLE_STATUE_ROOM_HAND_CHEST, - SPIRIT_TEMPLE_NEAR_FOUR_ARMOS_CHEST, - SPIRIT_TEMPLE_HALLWAY_RIGHT_INVISIBLE_CHEST, - SPIRIT_TEMPLE_HALLWAY_LEFT_INVISIBLE_CHEST, - SPIRIT_TEMPLE_MIRROR_SHIELD_CHEST, - SPIRIT_TEMPLE_BOSS_KEY_CHEST, - SPIRIT_TEMPLE_TOPMOST_CHEST, - SPIRIT_TEMPLE_TWINROVA_HEART, - ICE_CAVERN_MAP_CHEST, - ICE_CAVERN_COMPASS_CHEST, - ICE_CAVERN_FREESTANDING_POH, - ICE_CAVERN_IRON_BOOTS_CHEST, - GERUDO_TRAINING_GROUND_LOBBY_LEFT_CHEST, - GERUDO_TRAINING_GROUND_LOBBY_RIGHT_CHEST, - GERUDO_TRAINING_GROUND_STALFOS_CHEST, - GERUDO_TRAINING_GROUND_BEFORE_HEAVY_BLOCK_CHEST, - GERUDO_TRAINING_GROUND_HEAVY_BLOCK_FIRST_CHEST, - GERUDO_TRAINING_GROUND_HEAVY_BLOCK_SECOND_CHEST, - GERUDO_TRAINING_GROUND_HEAVY_BLOCK_THIRD_CHEST, - GERUDO_TRAINING_GROUND_HEAVY_BLOCK_FOURTH_CHEST, - GERUDO_TRAINING_GROUND_EYE_STATUE_CHEST, - GERUDO_TRAINING_GROUND_NEAR_SCARECROW_CHEST, - GERUDO_TRAINING_GROUND_HAMMER_ROOM_CLEAR_CHEST, - GERUDO_TRAINING_GROUND_HAMMER_ROOM_SWITCH_CHEST, - GERUDO_TRAINING_GROUND_FREESTANDING_KEY, - GERUDO_TRAINING_GROUND_MAZE_RIGHT_CENTRAL_CHEST, - GERUDO_TRAINING_GROUND_MAZE_RIGHT_SIDE_CHEST, - GERUDO_TRAINING_GROUND_UNDERWATER_SILVER_RUPEE_CHEST, - GERUDO_TRAINING_GROUND_BEAMOS_CHEST, - GERUDO_TRAINING_GROUND_HIDDEN_CEILING_CHEST, - GERUDO_TRAINING_GROUND_MAZE_PATH_FIRST_CHEST, - GERUDO_TRAINING_GROUND_MAZE_PATH_SECOND_CHEST, - GERUDO_TRAINING_GROUND_MAZE_PATH_THIRD_CHEST, - GERUDO_TRAINING_GROUND_MAZE_PATH_FINAL_CHEST, - GANONS_CASTLE_FOREST_TRIAL_CHEST, - GANONS_CASTLE_WATER_TRIAL_LEFT_CHEST, - GANONS_CASTLE_WATER_TRIAL_RIGHT_CHEST, - GANONS_CASTLE_SHADOW_TRIAL_FRONT_CHEST, - GANONS_CASTLE_SHADOW_TRIAL_GOLDEN_GAUNTLETS_CHEST, - GANONS_CASTLE_LIGHT_TRIAL_FIRST_LEFT_CHEST, - GANONS_CASTLE_LIGHT_TRIAL_SECOND_LEFT_CHEST, - GANONS_CASTLE_LIGHT_TRIAL_THIRD_LEFT_CHEST, - GANONS_CASTLE_LIGHT_TRIAL_FIRST_RIGHT_CHEST, - GANONS_CASTLE_LIGHT_TRIAL_SECOND_RIGHT_CHEST, - GANONS_CASTLE_LIGHT_TRIAL_THIRD_RIGHT_CHEST, - GANONS_CASTLE_LIGHT_TRIAL_INVISIBLE_ENEMIES_CHEST, - GANONS_CASTLE_LIGHT_TRIAL_LULLABY_CHEST, - GANONS_CASTLE_SPIRIT_TRIAL_CRYSTAL_SWITCH_CHEST, - GANONS_CASTLE_SPIRIT_TRIAL_INVISIBLE_CHEST, - GANONS_TOWER_BOSS_KEY_CHEST, - UNKNOWN_CHECK -} RandomizerCheck; - -// based on https://github.com/TestRunnerSRL/OoT-Randomizer/blob/e337d7f603b91a6bacb618fb32cc7fd70ed9ffca/ItemList.py -typedef enum { - UNKNOWN_GET = 0, - BOMBS_5, - DEKU_NUTS_5, - BOMBCHUS_10, - BOOMERANG, - DEKU_STICK_1, - LENS_OF_TRUTH, - MEGATON_HAMMER, - COJIRO, - BOTTLE, - BOTTLE_WITH_MILK, - RUTOS_LETTER, - DELIVER_LETTER, - SELL_BIG_POE, - MAGIC_BEAN, - SKULL_MASK, - SPOOKY_MASK, - KEATON_MASK, - BUNNY_HOOD, - MASK_OF_TRUTH, - POCKET_EGG, - POCKET_CUCCO, - ODD_MUSHROOM, - ODD_POTION, - POACHERS_SAW, - BROKEN_SWORD, - PRESCRIPTION, - EYEBALL_FROG, - EYEDROPS, - CLAIM_CHECK, - KOKIRI_SWORD, - GIANTS_KNIFE, - DEKU_SHIELD, - HYLIAN_SHIELD, - MIRROR_SHIELD, - GORON_TUNIC, - ZORA_TUNIC, - IRON_BOOTS, - HOVER_BOOTS, - STONE_OF_AGONY, - GERUDO_MEMBERSHIP_CARD, - HEART_CONTAINER, - PIECE_OF_HEART, - BOSS_KEY, - COMPASS, - MAP, - SMALL_KEY, - WEIRD_EGG, - RECOVERY_HEART, - ARROWS_5, - ARROWS_10, - ARROWS_30, - RUPEE_1, - RUPEES_5, - RUPEES_20, - MILK, - GORON_MASK, - ZORA_MASK, - GERUDO_MASK, - RUPEES_50, - RUPEES_200, - BIGGORON_SWORD, - FIRE_ARROWS, - ICE_ARROWS, - LIGHT_ARROWS, - GOLD_SKULLTULA_TOKEN, - DINS_FIRE, - NAYRUS_LOVE, - FARORES_WIND, - DEKU_NUTS_10, - BOMBS_10, - BOMBS_20, - DEKU_SEEDS_30, - BOMBCHUS_5, - BOMBCHUS_20, - RUPEE_TREASURE_CHEST_GAME, - PIECE_OF_HEART_TREASURE_CHEST_GAME, - ICE_TRAP, - PROGRESSIVE_HOOKSHOT, - PROGRESSIVE_STRENGTH_UPGRADE, - BOMB_BAG, - BOW, - SLINGSHOT, - PROGRESSIVE_WALLET, - PROGRESSIVE_SCALE, - DEKU_NUT_CAPACITY, - DEKU_STICK_CAPACITY, - BOMBCHUS, - MAGIC_METER, - OCARINA, - BOTTLE_WITH_RED_POTION, - BOTTLE_WITH_GREEN_POTION, - BOTTLE_WITH_BLUE_POTION, - BOTTLE_WITH_FAIRY, - BOTTLE_WITH_FISH, - BOTTLE_WITH_BLUE_FIRE, - BOTTLE_WITH_BUGS, - BOTTLE_WITH_BIG_POE, - BOTTLE_WITH_POE, - BOSS_KEY_FOREST_TEMPLE, - BOSS_KEY_FIRE_TEMPLE, - BOSS_KEY_WATER_TEMPLE, - BOSS_KEY_SPIRIT_TEMPLE, - BOSS_KEY_SHADOW_TEMPLE, - BOSS_KEY_GANONS_CASTLE, - COMPASS_DEKU_TREE, - COMPASS_DODONGOS_CAVERN, - COMPASS_JABU_JABUS_BELLY, - COMPASS_FOREST_TEMPLE, - COMPASS_FIRE_TEMPLE, - COMPASS_WATER_TEMPLE, - COMPASS_SPIRIT_TEMPLE, - COMPASS_SHADOW_TEMPLE, - COMPASS_BOTTOM_OF_THE_WELL, - COMPASS_ICE_CAVERN, - MAP_DEKU_TREE, - MAP_DODONGOS_CAVERN, - MAP_JABU_JABUS_BELLY, - MAP_FOREST_TEMPLE, - MAP_FIRE_TEMPLE, - MAP_WATER_TEMPLE, - MAP_SPIRIT_TEMPLE, - MAP_SHADOW_TEMPLE, - MAP_BOTTOM_OF_THE_WELL, - MAP_ICE_CAVERN, - SMALL_KEY_FOREST_TEMPLE, - SMALL_KEY_FIRE_TEMPLE, - SMALL_KEY_WATER_TEMPLE, - SMALL_KEY_SPIRIT_TEMPLE, - SMALL_KEY_SHADOW_TEMPLE, - SMALL_KEY_BOTTOM_OF_THE_WELL, - SMALL_KEY_GERUDO_TRAINING_GROUND, - SMALL_KEY_THIEVES_HIDEOUT, - SMALL_KEY_GANONS_CASTLE, - DOUBLE_DEFENSE, - MAGIC_BEAN_PACK, - TRIFORCE_PIECE, - ZELDAS_LETTER, - TIME_TRAVEL, - SCARECROW_SONG, - TRIFORCE, - SMALL_KEY_RING_FOREST_TEMPLE, - SMALL_KEY_RING_FIRE_TEMPLE, - SMALL_KEY_RING_WATER_TEMPLE, - SMALL_KEY_RING_SPIRIT_TEMPLE, - SMALL_KEY_RING_SHADOW_TEMPLE, - SMALL_KEY_RING_BOTTOM_OF_THE_WELL, - SMALL_KEY_RING_GERUDO_TRAINING_GROUND, - SMALL_KEY_RING_THIEVES_HIDEOUT, - SMALL_KEY_RING_GANONS_CASTLE, - WATER_TEMPLE_CLEAR, - FOREST_TRIAL_CLEAR, - FIRE_TRIAL_CLEAR, - WATER_TRIAL_CLEAR, - SHADOW_TRIAL_CLEAR, - SPIRIT_TRIAL_CLEAR, - LIGHT_TRIAL_CLEAR, - DEKU_STICK_DROP, - DEKU_NUT_DROP, - BLUE_FIRE, - FAIRY, - FISH, - BUGS, - BIG_POE, - BOMBCHU_DROP, - ARROWS_CONSUMABLE_REFILL, - BOMBS_CONSUMABLE_REFILL, - DEKU_SEEDS_CONSUMABLE_REFILL, - DEKU_STICKS_CONSUMABLE_REFILL, - DEKU_NUTS_CONSUMABLE_REFILL, - RUPEES_CONSUMABLE_REFILL, - MINUET_OF_FOREST, - BOLERO_OF_FIRE, - SERENADE_OF_WATER, - REQUIEM_OF_SPIRIT, - NOCTURNE_OF_SHADOW, - PRELUDE_OF_LIGHT, - ZELDAS_LULLABY, - EPONAS_SONG, - SARIAS_SONG, - SUNS_SONG, - SONG_OF_TIME, - SONG_OF_STORMS, - BUY_DEKU_NUT_5, - BUY_ARROWS_30, - BUY_ARROWS_50, - BUY_BOMBS_5_FOR_25_RUPEES, - BUY_DEKU_NUT_10, - BUY_DEKU_STICK_1, - BUY_BOMBS_10, - BUY_FISH, - BUY_RED_POTION_FOR_30_RUPEES, - BUY_GREEN_POTION, - BUY_BLUE_POTION, - BUY_HYLIAN_SHIELD, - BUY_DEKU_SHIELD, - BUY_GORON_TUNIC, - BUY_ZORA_TUNIC, - BUY_HEART, - BUY_BOMBCHU_10, - BUY_BOMBCHU_20, - BUY_BOMBCHU_5, - BUY_DEKU_SEEDS_30, - SOLD_OUT, - BUY_BLUE_FIRE, - BUY_BOTTLE_BUG, - BUY_POE, - BUY_FAIRYS_SPIRIT, - BUY_ARROWS_10, - BUY_BOMBS_20, - BUY_BOMBS_30, - BUY_BOMBS_5_FOR_35_RUPEES, - BUY_RED_POTION_FOR_40_RUPEES, - BUY_RED_POTION_FOR_50_RUPEES, - KOKIRI_EMERALD, - GORON_RUBY, - ZORA_SAPPHIRE, - FOREST_MEDALLION, - FIRE_MEDALLION, - WATER_MEDALLION, - SPIRIT_MEDALLION, - SHADOW_MEDALLION, - LIGHT_MEDALLION -} RandomizerGet; +#include class Randomizer { private: @@ -514,7 +18,8 @@ class Randomizer { Randomizer(); ~Randomizer(); - void PopulateItemLocations(std::string spoilerfilename); + void LoadItemLocations(); + void ParseItemLocations(std::string spoilerfilename); GetItemID GetItemFromActor(s16 actorId, GetItemID ogItemId); GetItemID GetItemFromSceneAndParams(s16 sceneNum, s16 actorParams, GetItemID ogItemId); }; diff --git a/soh/soh/OTRGlobals.cpp b/soh/soh/OTRGlobals.cpp index f6f2dbd3653..b69985ddb34 100644 --- a/soh/soh/OTRGlobals.cpp +++ b/soh/soh/OTRGlobals.cpp @@ -996,8 +996,12 @@ extern "C" int Controller_ShouldRumble(size_t i) { return 0; } -extern "C" void PopulateItemLocations(const char* spoilerfilename) { - OTRGlobals::Instance->gRandomizer->PopulateItemLocations(spoilerfilename); +extern "C" void LoadItemLocations() { + return OTRGlobals::Instance->gRandomizer->LoadItemLocations(); +} + +extern "C" void ParseItemLocations(const char* spoilerfilename) { + return OTRGlobals::Instance->gRandomizer->ParseItemLocations(spoilerfilename); } extern "C" GetItemID GetItemFromActor(s16 actorId, GetItemID ogItemId) { diff --git a/soh/soh/OTRGlobals.h b/soh/soh/OTRGlobals.h index 756366d79dd..04bc85bb5af 100644 --- a/soh/soh/OTRGlobals.h +++ b/soh/soh/OTRGlobals.h @@ -74,7 +74,7 @@ int AudioPlayer_GetDesiredBuffered(void); void AudioPlayer_Play(const uint8_t* buf, uint32_t len); void AudioMgr_CreateNextAudioBuffer(s16* samples, u32 num_samples); int Controller_ShouldRumble(size_t i); -void PopulateItemLocations(const char* spoilerfilename); +void ParseItemLocations(const char* spoilerfilename); GetItemID GetItemFromActor(s16 actorId, GetItemID ogItemId); GetItemID GetItemFromSceneAndParams(s16 sceneNum, s16 actorParams, GetItemID ogItemId); #endif diff --git a/soh/src/code/z_sram.c b/soh/src/code/z_sram.c index a774636f7b7..993358ae0c2 100644 --- a/soh/src/code/z_sram.c +++ b/soh/src/code/z_sram.c @@ -308,7 +308,10 @@ void Sram_OpenSave(SramContext* sramCtx) { i = gSramSlotOffsets[gSaveContext.fileNum]; osSyncPrintf("ぽいんと=%x(%d)\n", i, gSaveContext.fileNum); // "Point=" + SaveContext tempContext; + memcpy(&gSaveContext, sramCtx->readBuff + i, sizeof(Save)); + memcpy(&tempContext, sramCtx->readBuff + i, sizeof(SaveContext)); osSyncPrintf(VT_FGCOL(YELLOW)); osSyncPrintf("SCENE_DATA_ID = %d SceneNo = %d\n", gSaveContext.savedSceneNum, @@ -443,6 +446,8 @@ void Sram_OpenSave(SramContext* sramCtx) { } } + memcpy(&gSaveContext.itemLocations, &tempContext.itemLocations, sizeof(tempContext.itemLocations)); + gSaveContext.magicLevel = 0; } diff --git a/soh/src/overlays/gamestates/ovl_file_choose/z_file_choose.c b/soh/src/overlays/gamestates/ovl_file_choose/z_file_choose.c index 2f7e9da2b2a..2ef73332445 100644 --- a/soh/src/overlays/gamestates/ovl_file_choose/z_file_choose.c +++ b/soh/src/overlays/gamestates/ovl_file_choose/z_file_choose.c @@ -1458,6 +1458,7 @@ void FileChoose_LoadGame(GameState* thisx) { Audio_PlaySoundGeneral(NA_SE_SY_FSEL_DECIDE_L, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8); gSaveContext.fileNum = this->buttonIndex; Sram_OpenSave(&this->sramCtx); + LoadItemLocations(); gSaveContext.gameMode = 0; SET_NEXT_GAMESTATE(&this->state, Select_Init, SelectContext); this->state.running = false; @@ -1465,6 +1466,7 @@ void FileChoose_LoadGame(GameState* thisx) { Audio_PlaySoundGeneral(NA_SE_SY_FSEL_DECIDE_L, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8); gSaveContext.fileNum = this->buttonIndex; Sram_OpenSave(&this->sramCtx); + LoadItemLocations(); gSaveContext.gameMode = 0; SET_NEXT_GAMESTATE(&this->state, Gameplay_Init, GlobalContext); this->state.running = false; diff --git a/soh/src/overlays/gamestates/ovl_file_choose/z_file_nameset_PAL.c b/soh/src/overlays/gamestates/ovl_file_choose/z_file_nameset_PAL.c index a893cf4f9a2..82f5c4b17b1 100644 --- a/soh/src/overlays/gamestates/ovl_file_choose/z_file_nameset_PAL.c +++ b/soh/src/overlays/gamestates/ovl_file_choose/z_file_nameset_PAL.c @@ -448,11 +448,10 @@ void FileChoose_DrawNameEntry(GameState* thisx) { } dayTime = ((void)0, gSaveContext.dayTime); - Sram_InitSave(this, &this->sramCtx); - // todo: load spoilerfile data + ParseItemLocations("blarg"); - PopulateItemLocations("blarg"); + Sram_InitSave(this, &this->sramCtx); // todo: fill link's pocket here