Shipwright/soh/soh/Enhancements/randomizer/randomizerTypes.h

1853 lines
56 KiB
C

#pragma once
#include <stdint.h>
#include "z64item.h"
#include "randomizer_inf.h"
#define MAX_TRICK_NAME_SIZE 50
// This should probably go in a less rando-specific location
// but the best location will probably be in the modding engine
// which doesn't exist yet.
typedef enum {
MOD_NONE,
MOD_RANDOMIZER
} ModIndex;
typedef enum {
TABLE_VANILLA = MOD_NONE,
TABLE_RANDOMIZER = MOD_RANDOMIZER
} TableIndex;
typedef struct {
char tex[512];
uint16_t width;
uint16_t height;
uint8_t im_fmt;
uint8_t im_siz;
uint8_t id;
} Sprite;
// Check tracker check visibility categories
typedef enum {
RCSHOW_UNCHECKED,
RCSHOW_SEEN,
RCSHOW_IDENTIFIED,
RCSHOW_SCUMMED,
RCSHOW_COLLECTED,
RCSHOW_SAVED,
} RandomizerCheckStatus;
typedef enum {
HINT_TYPE_TRIAL,
HINT_TYPE_ALWAYS,
HINT_TYPE_WOTH, // Way of the Hero
HINT_TYPE_BARREN,
HINT_TYPE_ENTRANCE,
HINT_TYPE_SOMETIMES,
HINT_TYPE_RANDOM,
HINT_TYPE_ITEM,
HINT_TYPE_SONG,
HINT_TYPE_OVERWORLD,
HINT_TYPE_DUNGEON,
HINT_TYPE_JUNK,
HINT_TYPE_NAMED_ITEM,
HINT_TYPE_MAX
} HintType;
// Check types based on main settings
typedef enum {
RCTYPE_STANDARD, // Base set of rando checks
RCTYPE_SKULL_TOKEN, // Gold Skulltulas
RCTYPE_COW, // Cows
RCTYPE_ADULT_TRADE, // Adult trade quest checks
RCTYPE_FROG_SONG, // Frog song purple rupee checks
RCTYPE_MAP_COMPASS, // Maps/Compasses
RCTYPE_SMALL_KEY, // Small Keys
RCTYPE_GF_KEY, // Gerudo Fortress Keys
RCTYPE_BOSS_KEY, // Boss Keys
RCTYPE_GANON_BOSS_KEY, // Ganon's boss key
RCTYPE_SHOP, // shops
RCTYPE_SCRUB, // scrubs
RCTYPE_MERCHANT, // merchants
RCTYPE_CHEST_GAME, // todo replace this once we implement it, just using it to exclude for now
RCTYPE_LINKS_POCKET, // todo this feels hacky
RCTYPE_GOSSIP_STONE,
RCTYPE_SONG_LOCATION, // Song locations
RCTYPE_BOSS_HEART_OR_OTHER_REWARD, // Boss heart container or lesser dungeon rewards (lens, ice arrow)
RCTYPE_DUNGEON_REWARD, // Dungeon rewards (blue warps)
RCTYPE_OCARINA, // Ocarina locations
} RandomizerCheckType;
typedef enum { RCVORMQ_VANILLA, RCVORMQ_MQ, RCVORMQ_BOTH } RandomizerCheckVanillaOrMQ;
typedef enum {
RCAREA_KOKIRI_FOREST,
RCAREA_LOST_WOODS,
RCAREA_SACRED_FOREST_MEADOW,
RCAREA_HYRULE_FIELD,
RCAREA_LAKE_HYLIA,
RCAREA_GERUDO_VALLEY,
RCAREA_GERUDO_FORTRESS,
RCAREA_WASTELAND,
RCAREA_DESERT_COLOSSUS,
RCAREA_MARKET,
RCAREA_HYRULE_CASTLE,
RCAREA_KAKARIKO_VILLAGE,
RCAREA_GRAVEYARD,
RCAREA_DEATH_MOUNTAIN_TRAIL,
RCAREA_GORON_CITY,
RCAREA_DEATH_MOUNTAIN_CRATER,
RCAREA_ZORAS_RIVER,
RCAREA_ZORAS_DOMAIN,
RCAREA_ZORAS_FOUNTAIN,
RCAREA_LON_LON_RANCH,
RCAREA_DEKU_TREE,
RCAREA_DODONGOS_CAVERN,
RCAREA_JABU_JABUS_BELLY,
RCAREA_FOREST_TEMPLE,
RCAREA_FIRE_TEMPLE,
RCAREA_WATER_TEMPLE,
RCAREA_SPIRIT_TEMPLE,
RCAREA_SHADOW_TEMPLE,
RCAREA_BOTTOM_OF_THE_WELL,
RCAREA_ICE_CAVERN,
RCAREA_GERUDO_TRAINING_GROUND,
RCAREA_GANONS_CASTLE,
// If adding any more areas, Check Tracker will need a refactor
RCAREA_INVALID
} RandomizerCheckArea;
typedef enum {
RC_UNKNOWN_CHECK,
RC_LINKS_POCKET,
RC_QUEEN_GOHMA,
RC_KING_DODONGO,
RC_BARINADE,
RC_PHANTOM_GANON,
RC_VOLVAGIA,
RC_MORPHA,
RC_BONGO_BONGO,
RC_TWINROVA,
RC_GANON,
RC_GIFT_FROM_SAGES,
RC_SONG_FROM_IMPA,
RC_SONG_FROM_MALON,
RC_SONG_FROM_SARIA,
RC_SONG_FROM_ROYAL_FAMILYS_TOMB,
RC_SONG_FROM_OCARINA_OF_TIME,
RC_SONG_FROM_WINDMILL,
RC_SHEIK_IN_FOREST,
RC_SHEIK_IN_CRATER,
RC_SHEIK_IN_ICE_CAVERN,
RC_SHEIK_AT_COLOSSUS,
RC_SHEIK_IN_KAKARIKO,
RC_SHEIK_AT_TEMPLE,
RC_KF_MIDOS_TOP_LEFT_CHEST,
RC_KF_MIDOS_TOP_RIGHT_CHEST,
RC_KF_MIDOS_BOTTOM_LEFT_CHEST,
RC_KF_MIDOS_BOTTOM_RIGHT_CHEST,
RC_KF_KOKIRI_SWORD_CHEST,
RC_KF_STORMS_GROTTO_CHEST,
RC_KF_LINKS_HOUSE_COW,
RC_KF_GS_KNOW_IT_ALL_HOUSE,
RC_KF_GS_BEAN_PATCH,
RC_KF_GS_HOUSE_OF_TWINS,
RC_KF_SHOP_ITEM_1,
RC_KF_SHOP_ITEM_2,
RC_KF_SHOP_ITEM_3,
RC_KF_SHOP_ITEM_4,
RC_KF_SHOP_ITEM_5,
RC_KF_SHOP_ITEM_6,
RC_KF_SHOP_ITEM_7,
RC_KF_SHOP_ITEM_8,
RC_LW_GIFT_FROM_SARIA,
RC_LW_OCARINA_MEMORY_GAME,
RC_LW_TARGET_IN_WOODS,
RC_LW_NEAR_SHORTCUTS_GROTTO_CHEST,
RC_LW_TRADE_COJIRO,
RC_DEKU_THEATER_SKULL_MASK,
RC_DEKU_THEATER_MASK_OF_TRUTH,
RC_LW_SKULL_KID,
RC_LW_TRADE_ODD_POTION,
RC_LW_DEKU_SCRUB_NEAR_BRIDGE,
RC_LW_DEKU_SCRUB_NEAR_DEKU_THEATER_LEFT,
RC_LW_DEKU_SCRUB_NEAR_DEKU_THEATER_RIGHT,
RC_LW_DEKU_SCRUB_GROTTO_FRONT,
RC_LW_DEKU_SCRUB_GROTTO_REAR,
RC_LW_GS_BEAN_PATCH_NEAR_BRIDGE,
RC_LW_GS_BEAN_PATCH_NEAR_THEATER,
RC_LW_GS_ABOVE_THEATER,
RC_SFM_WOLFOS_GROTTO_CHEST,
RC_SFM_DEKU_SCRUB_GROTTO_FRONT,
RC_SFM_DEKU_SCRUB_GROTTO_REAR,
RC_SFM_GS,
RC_HF_OCARINA_OF_TIME_ITEM,
RC_HF_NEAR_MARKET_GROTTO_CHEST,
RC_HF_TEKTITE_GROTTO_FREESTANDING_POH,
RC_HF_SOUTHEAST_GROTTO_CHEST,
RC_HF_OPEN_GROTTO_CHEST,
RC_HF_DEKU_SCRUB_GROTTO,
RC_HF_COW_GROTTO_COW,
RC_HF_GS_COW_GROTTO,
RC_HF_GS_NEAR_KAK_GROTTO,
RC_MARKET_SHOOTING_GALLERY_REWARD,
RC_MARKET_BOMBCHU_BOWLING_FIRST_PRIZE,
RC_MARKET_BOMBCHU_BOWLING_SECOND_PRIZE,
RC_MARKET_BOMBCHU_BOWLING_BOMBCHUS,
RC_MARKET_LOST_DOG,
RC_MARKET_TREASURE_CHEST_GAME_REWARD,
RC_MARKET_10_BIG_POES,
RC_MARKET_TREASURE_CHEST_GAME_ITEM_1,
RC_MARKET_TREASURE_CHEST_GAME_ITEM_2,
RC_MARKET_TREASURE_CHEST_GAME_ITEM_3,
RC_MARKET_TREASURE_CHEST_GAME_ITEM_4,
RC_MARKET_TREASURE_CHEST_GAME_ITEM_5,
RC_MARKET_GS_GUARD_HOUSE,
RC_MARKET_BAZAAR_ITEM_1,
RC_MARKET_BAZAAR_ITEM_2,
RC_MARKET_BAZAAR_ITEM_3,
RC_MARKET_BAZAAR_ITEM_4,
RC_MARKET_BAZAAR_ITEM_5,
RC_MARKET_BAZAAR_ITEM_6,
RC_MARKET_BAZAAR_ITEM_7,
RC_MARKET_BAZAAR_ITEM_8,
RC_MARKET_POTION_SHOP_ITEM_1,
RC_MARKET_POTION_SHOP_ITEM_2,
RC_MARKET_POTION_SHOP_ITEM_3,
RC_MARKET_POTION_SHOP_ITEM_4,
RC_MARKET_POTION_SHOP_ITEM_5,
RC_MARKET_POTION_SHOP_ITEM_6,
RC_MARKET_POTION_SHOP_ITEM_7,
RC_MARKET_POTION_SHOP_ITEM_8,
RC_MARKET_BOMBCHU_SHOP_ITEM_1,
RC_MARKET_BOMBCHU_SHOP_ITEM_2,
RC_MARKET_BOMBCHU_SHOP_ITEM_3,
RC_MARKET_BOMBCHU_SHOP_ITEM_4,
RC_MARKET_BOMBCHU_SHOP_ITEM_5,
RC_MARKET_BOMBCHU_SHOP_ITEM_6,
RC_MARKET_BOMBCHU_SHOP_ITEM_7,
RC_MARKET_BOMBCHU_SHOP_ITEM_8,
RC_TOT_LIGHT_ARROWS_CUTSCENE,
RC_TOT_MASTER_SWORD,
RC_HC_MALON_EGG,
RC_HC_ZELDAS_LETTER,
RC_HC_GREAT_FAIRY_REWARD,
RC_HC_GS_TREE,
RC_HC_GS_STORMS_GROTTO,
RC_LLR_TALONS_CHICKENS,
RC_LLR_FREESTANDING_POH,
RC_LLR_DEKU_SCRUB_GROTTO_LEFT,
RC_LLR_DEKU_SCRUB_GROTTO_CENTER,
RC_LLR_DEKU_SCRUB_GROTTO_RIGHT,
RC_LLR_STABLES_LEFT_COW,
RC_LLR_STABLES_RIGHT_COW,
RC_LLR_TOWER_LEFT_COW,
RC_LLR_TOWER_RIGHT_COW,
RC_LLR_GS_HOUSE_WINDOW,
RC_LLR_GS_TREE,
RC_LLR_GS_RAIN_SHED,
RC_LLR_GS_BACK_WALL,
RC_KAK_ANJU_AS_CHILD,
RC_KAK_ANJU_AS_ADULT,
RC_KAK_IMPAS_HOUSE_FREESTANDING_POH,
RC_KAK_WINDMILL_FREESTANDING_POH,
RC_KAK_MAN_ON_ROOF,
RC_KAK_OPEN_GROTTO_CHEST,
RC_KAK_REDEAD_GROTTO_CHEST,
RC_KAK_SHOOTING_GALLERY_REWARD,
RC_KAK_TRADE_ODD_MUSHROOM,
RC_KAK_GRANNYS_SHOP,
RC_KAK_TRADE_POCKET_CUCCO,
RC_KAK_10_GOLD_SKULLTULA_REWARD,
RC_KAK_20_GOLD_SKULLTULA_REWARD,
RC_KAK_30_GOLD_SKULLTULA_REWARD,
RC_KAK_40_GOLD_SKULLTULA_REWARD,
RC_KAK_50_GOLD_SKULLTULA_REWARD,
RC_KAK_100_GOLD_SKULLTULA_REWARD,
RC_KAK_IMPAS_HOUSE_COW,
RC_KAK_GS_TREE,
RC_KAK_GS_GUARDS_HOUSE,
RC_KAK_GS_WATCHTOWER,
RC_KAK_GS_SKULLTULA_HOUSE,
RC_KAK_GS_HOUSE_UNDER_CONSTRUCTION,
RC_KAK_GS_ABOVE_IMPAS_HOUSE,
RC_KAK_BAZAAR_ITEM_1,
RC_KAK_BAZAAR_ITEM_2,
RC_KAK_BAZAAR_ITEM_3,
RC_KAK_BAZAAR_ITEM_4,
RC_KAK_BAZAAR_ITEM_5,
RC_KAK_BAZAAR_ITEM_6,
RC_KAK_BAZAAR_ITEM_7,
RC_KAK_BAZAAR_ITEM_8,
RC_KAK_POTION_SHOP_ITEM_1,
RC_KAK_POTION_SHOP_ITEM_2,
RC_KAK_POTION_SHOP_ITEM_3,
RC_KAK_POTION_SHOP_ITEM_4,
RC_KAK_POTION_SHOP_ITEM_5,
RC_KAK_POTION_SHOP_ITEM_6,
RC_KAK_POTION_SHOP_ITEM_7,
RC_KAK_POTION_SHOP_ITEM_8,
RC_GRAVEYARD_SHIELD_GRAVE_CHEST,
RC_GRAVEYARD_HEART_PIECE_GRAVE_CHEST,
RC_GRAVEYARD_ROYAL_FAMILYS_TOMB_CHEST,
RC_GRAVEYARD_FREESTANDING_POH,
RC_GRAVEYARD_DAMPE_GRAVEDIGGING_TOUR,
RC_GRAVEYARD_HOOKSHOT_CHEST,
RC_GRAVEYARD_DAMPE_RACE_FREESTANDING_POH,
RC_GRAVEYARD_GS_BEAN_PATCH,
RC_GRAVEYARD_GS_WALL,
RC_DMT_FREESTANDING_POH,
RC_DMT_CHEST,
RC_DMT_STORMS_GROTTO_CHEST,
RC_DMT_TRADE_BROKEN_SWORD,
RC_DMT_TRADE_EYEDROPS,
RC_DMT_TRADE_CLAIM_CHECK,
RC_DMT_GREAT_FAIRY_REWARD,
RC_DMT_COW_GROTTO_COW,
RC_DMT_GS_NEAR_KAK,
RC_DMT_GS_BEAN_PATCH,
RC_DMT_GS_ABOVE_DODONGOS_CAVERN,
RC_DMT_GS_FALLING_ROCKS_PATH,
RC_GC_DARUNIAS_JOY,
RC_GC_POT_FREESTANDING_POH,
RC_GC_ROLLING_GORON_AS_CHILD,
RC_GC_ROLLING_GORON_AS_ADULT,
RC_GC_MEDIGORON,
RC_GC_MAZE_LEFT_CHEST,
RC_GC_MAZE_RIGHT_CHEST,
RC_GC_MAZE_CENTER_CHEST,
RC_GC_DEKU_SCRUB_GROTTO_LEFT,
RC_GC_DEKU_SCRUB_GROTTO_CENTER,
RC_GC_DEKU_SCRUB_GROTTO_RIGHT,
RC_GC_GS_CENTER_PLATFORM,
RC_GC_GS_BOULDER_MAZE,
RC_GC_SHOP_ITEM_1,
RC_GC_SHOP_ITEM_2,
RC_GC_SHOP_ITEM_3,
RC_GC_SHOP_ITEM_4,
RC_GC_SHOP_ITEM_5,
RC_GC_SHOP_ITEM_6,
RC_GC_SHOP_ITEM_7,
RC_GC_SHOP_ITEM_8,
RC_DMC_VOLCANO_FREESTANDING_POH,
RC_DMC_WALL_FREESTANDING_POH,
RC_DMC_UPPER_GROTTO_CHEST,
RC_DMC_GREAT_FAIRY_REWARD,
RC_DMC_DEKU_SCRUB,
RC_DMC_DEKU_SCRUB_GROTTO_LEFT,
RC_DMC_DEKU_SCRUB_GROTTO_CENTER,
RC_DMC_DEKU_SCRUB_GROTTO_RIGHT,
RC_DMC_GS_CRATE,
RC_DMC_GS_BEAN_PATCH,
RC_ZR_MAGIC_BEAN_SALESMAN,
RC_ZR_OPEN_GROTTO_CHEST,
RC_ZR_FROGS_ZELDAS_LULLABY,
RC_ZR_FROGS_EPONAS_SONG,
RC_ZR_FROGS_SARIAS_SONG,
RC_ZR_FROGS_SUNS_SONG,
RC_ZR_FROGS_SONG_OF_TIME,
RC_ZR_FROGS_IN_THE_RAIN,
RC_ZR_FROGS_OCARINA_GAME,
RC_ZR_NEAR_OPEN_GROTTO_FREESTANDING_POH,
RC_ZR_NEAR_DOMAIN_FREESTANDING_POH,
RC_ZR_DEKU_SCRUB_GROTTO_FRONT,
RC_ZR_DEKU_SCRUB_GROTTO_REAR,
RC_ZR_GS_TREE,
RC_ZR_GS_LADDER,
RC_ZR_GS_NEAR_RAISED_GROTTOS,
RC_ZR_GS_ABOVE_BRIDGE,
RC_ZD_DIVING_MINIGAME,
RC_ZD_CHEST,
RC_ZD_KING_ZORA_THAWED,
RC_ZD_TRADE_PRESCRIPTION,
RC_ZD_GS_FROZEN_WATERFALL,
RC_ZD_SHOP_ITEM_1,
RC_ZD_SHOP_ITEM_2,
RC_ZD_SHOP_ITEM_3,
RC_ZD_SHOP_ITEM_4,
RC_ZD_SHOP_ITEM_5,
RC_ZD_SHOP_ITEM_6,
RC_ZD_SHOP_ITEM_7,
RC_ZD_SHOP_ITEM_8,
RC_ZF_GREAT_FAIRY_REWARD,
RC_ZF_ICEBERC_FREESTANDING_POH,
RC_ZF_BOTTOM_FREESTANDING_POH,
RC_ZF_GS_ABOVE_THE_LOG,
RC_ZF_GS_TREE,
RC_ZF_GS_HIDDEN_CAVE,
RC_LH_UNDERWATER_ITEM,
RC_LH_CHILD_FISHING,
RC_LH_ADULT_FISHING,
RC_LH_LAB_DIVE,
RC_LH_TRADE_FROG,
RC_LH_FREESTANDING_POH,
RC_LH_SUN,
RC_LH_DEKU_SCRUB_GROTTO_LEFT,
RC_LH_DEKU_SCRUB_GROTTO_CENTER,
RC_LH_DEKU_SCRUB_GROTTO_RIGHT,
RC_LH_GS_BEAN_PATCH,
RC_LH_GS_LAB_WALL,
RC_LH_GS_SMALL_ISLAND,
RC_LH_GS_LAB_CRATE,
RC_LH_GS_TREE,
RC_GV_CRATE_FREESTANDING_POH,
RC_GV_WATERFALL_FREESTANDING_POH,
RC_GV_CHEST,
RC_GV_TRADE_SAW,
RC_GV_DEKU_SCRUB_GROTTO_FRONT,
RC_GV_DEKU_SCRUB_GROTTO_REAR,
RC_GV_COW,
RC_GV_GS_SMALL_BRIDGE,
RC_GV_GS_BEAN_PATCH,
RC_GV_GS_BEHIND_TENT,
RC_GV_GS_PILLAR,
RC_GF_CHEST,
RC_GF_HBA_1000_POINTS,
RC_GF_HBA_1500_POINTS,
RC_GF_GERUDO_MEMBERSHIP_CARD,
RC_GF_NORTH_F1_CARPENTER,
RC_GF_NORTH_F2_CARPENTER,
RC_GF_SOUTH_F1_CARPENTER,
RC_GF_SOUTH_F2_CARPENTER,
RC_GF_GS_TOP_FLOOR,
RC_GF_GS_ARCHERY_RANGE,
RC_HIDEOUT_JAIL_GUARD_1_TORCH,
RC_HIDEOUT_JAIL_GUARD_2_TORCHES,
RC_HIDEOUT_JAIL_GUARD_3_TORCHES,
RC_HIDEOUT_JAIL_GUARD_4_TORCHES,
RC_HIDEOUT_GERUDO_MEMBERSHIP_CARD,
RC_WASTELAND_BOMBCHU_SALESMAN,
RC_WASTELAND_CHEST,
RC_WASTELAND_GS,
RC_COLOSSUS_GREAT_FAIRY_REWARD,
RC_COLOSSUS_FREESTANDING_POH,
RC_COLOSSUS_DEKU_SCRUB_GROTTO_FRONT,
RC_COLOSSUS_DEKU_SCRUB_GROTTO_REAR,
RC_COLOSSUS_GS_BEAN_PATCH,
RC_COLOSSUS_GS_TREE,
RC_COLOSSUS_GS_HILL,
RC_OGC_GREAT_FAIRY_REWARD,
RC_OGC_GS,
RC_DEKU_TREE_MAP_CHEST,
RC_DEKU_TREE_SLINGSHOT_ROOM_SIDE_CHEST,
RC_DEKU_TREE_SLINGSHOT_CHEST,
RC_DEKU_TREE_COMPASS_CHEST,
RC_DEKU_TREE_COMPASS_ROOM_SIDE_CHEST,
RC_DEKU_TREE_BASEMENT_CHEST,
RC_DEKU_TREE_GS_COMPASS_ROOM,
RC_DEKU_TREE_GS_BASEMENT_VINES,
RC_DEKU_TREE_GS_BASEMENT_GATE,
RC_DEKU_TREE_GS_BASEMENT_BACK_ROOM,
RC_DEKU_TREE_MQ_MAP_CHEST,
RC_DEKU_TREE_MQ_SLINGSHOT_CHEST,
RC_DEKU_TREE_MQ_SLINGSHOT_ROOM_BACK_CHEST,
RC_DEKU_TREE_MQ_COMPASS_CHEST,
RC_DEKU_TREE_MQ_BASEMENT_CHEST,
RC_DEKU_TREE_MQ_BEFORE_SPINNING_LOG_CHEST,
RC_DEKU_TREE_MQ_AFTER_SPINNING_LOG_CHEST,
RC_DEKU_TREE_MQ_DEKU_SCRUB,
RC_DEKU_TREE_MQ_GS_LOBBY,
RC_DEKU_TREE_MQ_GS_COMPASS_ROOM,
RC_DEKU_TREE_MQ_GS_BASEMENT_GRAVES_ROOM,
RC_DEKU_TREE_MQ_GS_BASEMENT_BACK_ROOM,
RC_DEKU_TREE_QUEEN_GOHMA_HEART,
RC_DODONGOS_CAVERN_MAP_CHEST,
RC_DODONGOS_CAVERN_COMPASS_CHEST,
RC_DODONGOS_CAVERN_BOMB_FLOWER_PLATFORM_CHEST,
RC_DODONGOS_CAVERN_BOMB_BAG_CHEST,
RC_DODONGOS_CAVERN_END_OF_BRIDGE_CHEST,
RC_DODONGOS_CAVERN_DEKU_SCRUB_SIDE_ROOM_NEAR_DODONGOS,
RC_DODONGOS_CAVERN_DEKU_SCRUB_LOBBY,
RC_DODONGOS_CAVERN_DEKU_SCRUB_NEAR_BOMB_BAG_LEFT,
RC_DODONGOS_CAVERN_DEKU_SCRUB_NEAR_BOMB_BAG_RIGHT,
RC_DODONGOS_CAVERN_GS_SIDE_ROOM_NEAR_LOWER_LIZALFOS,
RC_DODONGOS_CAVERN_GS_SCARECROW,
RC_DODONGOS_CAVERN_GS_ALCOVE_ABOVE_STAIRS,
RC_DODONGOS_CAVERN_GS_VINES_ABOVE_STAIRS,
RC_DODONGOS_CAVERN_GS_BACK_ROOM,
RC_DODONGOS_CAVERN_MQ_MAP_CHEST,
RC_DODONGOS_CAVERN_MQ_BOMB_BAG_CHEST,
RC_DODONGOS_CAVERN_MQ_TORCH_PUZZLE_ROOM_CHEST,
RC_DODONGOS_CAVERN_MQ_LARVAE_ROOM_CHEST,
RC_DODONGOS_CAVERN_MQ_COMPASS_CHEST,
RC_DODONGOS_CAVERN_MQ_UNDER_GRAVE_CHEST,
RC_DODONGOS_CAVERN_MQ_DEKU_SCRUB_LOBBY_FRONT,
RC_DODONGOS_CAVERN_MQ_DEKU_SCRUB_LOBBY_REAR,
RC_DODONGOS_CAVERN_MQ_DEKU_SCRUB_SIDE_ROOM_NEAR_LOWER_LIZALFOS,
RC_DODONGOS_CAVERN_MQ_DEKU_SCRUB_STAIRCASE,
RC_DODONGOS_CAVERN_MQ_GS_SCRUB_ROOM,
RC_DODONGOS_CAVERN_MQ_GS_LARVAE_ROOM,
RC_DODONGOS_CAVERN_MQ_GS_LIZALFOS_ROOM,
RC_DODONGOS_CAVERN_MQ_GS_SONG_OF_TIME_BLOCK_ROOM,
RC_DODONGOS_CAVERN_MQ_GS_BACK_AREA,
RC_DODONGOS_CAVERN_BOSS_ROOM_CHEST,
RC_DODONGOS_CAVERN_KING_DODONGO_HEART,
RC_JABU_JABUS_BELLY_BOOMERANG_CHEST,
RC_JABU_JABUS_BELLY_MAP_CHEST,
RC_JABU_JABUS_BELLY_COMPASS_CHEST,
RC_JABU_JABUS_BELLY_DEKU_SCRUB,
RC_JABU_JABUS_BELLY_GS_WATER_SWITCH_ROOM,
RC_JABU_JABUS_BELLY_GS_LOBBY_BASEMENT_LOWER,
RC_JABU_JABUS_BELLY_GS_LOBBY_BASEMENT_UPPER,
RC_JABU_JABUS_BELLY_GS_NEAR_BOSS,
RC_JABU_JABUS_BELLY_MQ_MAP_CHEST,
RC_JABU_JABUS_BELLY_MQ_FIRST_ROOM_SIDE_CHEST,
RC_JABU_JABUS_BELLY_MQ_SECOND_ROOM_LOWER_CHEST,
RC_JABU_JABUS_BELLY_MQ_COMPASS_CHEST,
RC_JABU_JABUS_BELLY_MQ_BASEMENT_NEAR_SWITCHES_CHEST,
RC_JABU_JABUS_BELLY_MQ_BASEMENT_NEAR_VINES_CHEST,
RC_JABU_JABUS_BELLY_MQ_BOOMERANG_ROOM_SMALL_CHEST,
RC_JABU_JABUS_BELLY_MQ_BOOMERANG_CHEST,
RC_JABU_JABUS_BELLY_MQ_FALLING_LIKE_LIKE_ROOM_CHEST,
RC_JABU_JABUS_BELLY_MQ_SECOND_ROOM_UPPER_CHEST,
RC_JABU_JABUS_BELLY_MQ_NEAR_BOSS_CHEST,
RC_JABU_JABUS_BELLY_MQ_COW,
RC_JABU_JABUS_BELLY_MQ_GS_BOOMERANG_CHEST_ROOM,
RC_JABU_JABUS_BELLY_MQ_GS_TAILPASARAN_ROOM,
RC_JABU_JABUS_BELLY_MQ_GS_INVISIBLE_ENEMIES_ROOM,
RC_JABU_JABUS_BELLY_MQ_GS_NEAR_BOSS,
RC_JABU_JABUS_BELLY_BARINADE_HEART,
RC_BOTTOM_OF_THE_WELL_FRONT_LEFT_FAKE_WALL_CHEST,
RC_BOTTOM_OF_THE_WELL_FRONT_CENTER_BOMBABLE_CHEST,
RC_BOTTOM_OF_THE_WELL_BACK_LEFT_BOMBABLE_CHEST,
RC_BOTTOM_OF_THE_WELL_UNDERWATER_LEFT_CHEST,
RC_BOTTOM_OF_THE_WELL_FREESTANDING_KEY,
RC_BOTTOM_OF_THE_WELL_COMPASS_CHEST,
RC_BOTTOM_OF_THE_WELL_CENTER_SKULLTULA_CHEST,
RC_BOTTOM_OF_THE_WELL_RIGHT_BOTTOM_FAKE_WALL_CHEST,
RC_BOTTOM_OF_THE_WELL_FIRE_KEESE_CHEST,
RC_BOTTOM_OF_THE_WELL_LIKE_LIKE_CHEST,
RC_BOTTOM_OF_THE_WELL_MAP_CHEST,
RC_BOTTOM_OF_THE_WELL_UNDERWATER_FRONT_CHEST,
RC_BOTTOM_OF_THE_WELL_INVISIBLE_CHEST,
RC_BOTTOM_OF_THE_WELL_LENS_OF_TRUTH_CHEST,
RC_BOTTOM_OF_THE_WELL_GS_WEST_INNER_ROOM,
RC_BOTTOM_OF_THE_WELL_GS_EAST_INNER_ROOM,
RC_BOTTOM_OF_THE_WELL_GS_LIKE_LIKE_CAGE,
RC_BOTTOM_OF_THE_WELL_MQ_MAP_CHEST,
RC_BOTTOM_OF_THE_WELL_MQ_EAST_INNER_ROOM_FREESTANDING_KEY,
RC_BOTTOM_OF_THE_WELL_MQ_COMPASS_CHEST,
RC_BOTTOM_OF_THE_WELL_MQ_DEAD_HAND_FREESTANDING_KEY,
RC_BOTTOM_OF_THE_WELL_MQ_LENS_OF_TRUTH_CHEST,
RC_BOTTOM_OF_THE_WELL_MQ_GS_COFFIN_ROOM,
RC_BOTTOM_OF_THE_WELL_MQ_GS_WEST_INNER_ROOM,
RC_BOTTOM_OF_THE_WELL_MQ_GS_BASEMENT,
RC_FOREST_TEMPLE_FIRST_ROOM_CHEST,
RC_FOREST_TEMPLE_FIRST_STALFOS_CHEST,
RC_FOREST_TEMPLE_RAISED_ISLAND_COURTYARD_CHEST,
RC_FOREST_TEMPLE_MAP_CHEST,
RC_FOREST_TEMPLE_WELL_CHEST,
RC_FOREST_TEMPLE_EYE_SWITCH_CHEST,
RC_FOREST_TEMPLE_BOSS_KEY_CHEST,
RC_FOREST_TEMPLE_FLOORMASTER_CHEST,
RC_FOREST_TEMPLE_RED_POE_CHEST,
RC_FOREST_TEMPLE_BOW_CHEST,
RC_FOREST_TEMPLE_BLUE_POE_CHEST,
RC_FOREST_TEMPLE_FALLING_CEILING_ROOM_CHEST,
RC_FOREST_TEMPLE_BASEMENT_CHEST,
RC_FOREST_TEMPLE_GS_FIRST_ROOM,
RC_FOREST_TEMPLE_GS_LOBBY,
RC_FOREST_TEMPLE_GS_RAISED_ISLAND_COURTYARD,
RC_FOREST_TEMPLE_GS_LEVEL_ISLAND_COURTYARD,
RC_FOREST_TEMPLE_GS_BASEMENT,
RC_FOREST_TEMPLE_MQ_FIRST_ROOM_CHEST,
RC_FOREST_TEMPLE_MQ_WOLFOS_CHEST,
RC_FOREST_TEMPLE_MQ_WELL_CHEST,
RC_FOREST_TEMPLE_MQ_RAISED_ISLAND_COURTYARD_LOWER_CHEST,
RC_FOREST_TEMPLE_MQ_RAISED_ISLAND_COURTYARD_UPPER_CHEST,
RC_FOREST_TEMPLE_MQ_BOSS_KEY_CHEST,
RC_FOREST_TEMPLE_MQ_REDEAD_CHEST,
RC_FOREST_TEMPLE_MQ_MAP_CHEST,
RC_FOREST_TEMPLE_MQ_BOW_CHEST,
RC_FOREST_TEMPLE_MQ_COMPASS_CHEST,
RC_FOREST_TEMPLE_MQ_FALLING_CEILING_ROOM_CHEST,
RC_FOREST_TEMPLE_MQ_BASEMENT_CHEST,
RC_FOREST_TEMPLE_MQ_GS_FIRST_HALLWAY,
RC_FOREST_TEMPLE_MQ_GS_RAISED_ISLAND_COURTYARD,
RC_FOREST_TEMPLE_MQ_GS_LEVEL_ISLAND_COURTYARD,
RC_FOREST_TEMPLE_MQ_GS_WELL,
RC_FOREST_TEMPLE_MQ_GS_BLOCK_PUSH_ROOM,
RC_FOREST_TEMPLE_PHANTOM_GANON_HEART,
RC_FIRE_TEMPLE_NEAR_BOSS_CHEST,
RC_FIRE_TEMPLE_FLARE_DANCER_CHEST,
RC_FIRE_TEMPLE_BOSS_KEY_CHEST,
RC_FIRE_TEMPLE_BIG_LAVA_ROOM_LOWER_OPEN_DOOR_CHEST,
RC_FIRE_TEMPLE_BIG_LAVA_ROOM_BLOCKED_DOOR_CHEST,
RC_FIRE_TEMPLE_BOULDER_MAZE_LOWER_CHEST,
RC_FIRE_TEMPLE_BOULDER_MAZE_SIDE_ROOM_CHEST,
RC_FIRE_TEMPLE_MAP_CHEST,
RC_FIRE_TEMPLE_BOULDER_MAZE_SHORTCUT_CHEST,
RC_FIRE_TEMPLE_BOULDER_MAZE_UPPER_CHEST,
RC_FIRE_TEMPLE_SCARECROW_CHEST,
RC_FIRE_TEMPLE_COMPASS_CHEST,
RC_FIRE_TEMPLE_MEGATON_HAMMER_CHEST,
RC_FIRE_TEMPLE_HIGHEST_GORON_CHEST,
RC_FIRE_TEMPLE_GS_BOSS_KEY_LOOP,
RC_FIRE_TEMPLE_GS_SONG_OF_TIME_ROOM,
RC_FIRE_TEMPLE_GS_BOULDER_MAZE,
RC_FIRE_TEMPLE_GS_SCARECROW_CLIMB,
RC_FIRE_TEMPLE_GS_SCARECROW_TOP,
RC_FIRE_TEMPLE_MQ_MAP_ROOM_SIDE_CHEST,
RC_FIRE_TEMPLE_MQ_MEGATON_HAMMER_CHEST,
RC_FIRE_TEMPLE_MQ_MAP_CHEST,
RC_FIRE_TEMPLE_MQ_NEAR_BOSS_CHEST,
RC_FIRE_TEMPLE_MQ_BIG_LAVA_ROOM_BLOCKED_DOOR_CHEST,
RC_FIRE_TEMPLE_MQ_BOSS_KEY_CHEST,
RC_FIRE_TEMPLE_MQ_LIZALFOS_MAZE_SIDE_ROOM_CHEST,
RC_FIRE_TEMPLE_MQ_COMPASS_CHEST,
RC_FIRE_TEMPLE_MQ_LIZALFOS_MAZE_UPPER_CHEST,
RC_FIRE_TEMPLE_MQ_LIZALFOS_MAZE_LOWER_CHEST,
RC_FIRE_TEMPLE_MQ_FREESTANDING_KEY,
RC_FIRE_TEMPLE_MQ_CHEST_ON_FIRE,
RC_FIRE_TEMPLE_MQ_GS_BIG_LAVA_ROOM_OPEN_DOOR,
RC_FIRE_TEMPLE_MQ_GS_SKULL_ON_FIRE,
RC_FIRE_TEMPLE_MQ_GS_FIRE_WALL_MAZE_CENTER,
RC_FIRE_TEMPLE_MQ_GS_FIRE_WALL_MAZE_SIDE_ROOM,
RC_FIRE_TEMPLE_MQ_GS_ABOVE_FIRE_WALL_MAZE,
RC_FIRE_TEMPLE_VOLVAGIA_HEART,
RC_WATER_TEMPLE_COMPASS_CHEST,
RC_WATER_TEMPLE_MAP_CHEST,
RC_WATER_TEMPLE_CRACKED_WALL_CHEST,
RC_WATER_TEMPLE_TORCHES_CHEST,
RC_WATER_TEMPLE_BOSS_KEY_CHEST,
RC_WATER_TEMPLE_CENTRAL_PILLAR_CHEST,
RC_WATER_TEMPLE_CENTRAL_BOW_TARGET_CHEST,
RC_WATER_TEMPLE_LONGSHOT_CHEST,
RC_WATER_TEMPLE_RIVER_CHEST,
RC_WATER_TEMPLE_DRAGON_CHEST,
RC_WATER_TEMPLE_GS_BEHIND_GATE,
RC_WATER_TEMPLE_GS_NEAR_BOSS_KEY_CHEST,
RC_WATER_TEMPLE_GS_CENTRAL_PILLAR,
RC_WATER_TEMPLE_GS_FALLING_PLATFORM_ROOM,
RC_WATER_TEMPLE_GS_RIVER,
RC_WATER_TEMPLE_MQ_LONGSHOT_CHEST,
RC_WATER_TEMPLE_MQ_MAP_CHEST,
RC_WATER_TEMPLE_MQ_COMPASS_CHEST,
RC_WATER_TEMPLE_MQ_CENTRAL_PILLAR_CHEST,
RC_WATER_TEMPLE_MQ_BOSS_KEY_CHEST,
RC_WATER_TEMPLE_MQ_FREESTANDING_KEY,
RC_WATER_TEMPLE_MQ_GS_LIZALFOS_HALLWAY,
RC_WATER_TEMPLE_MQ_GS_BEFORE_UPPER_WATER_SWITCH,
RC_WATER_TEMPLE_MQ_GS_RIVER,
RC_WATER_TEMPLE_MQ_GS_FREESTANDING_KEY_AREA,
RC_WATER_TEMPLE_MQ_GS_TRIPLE_WALL_TORCH,
RC_WATER_TEMPLE_MORPHA_HEART,
RC_SHADOW_TEMPLE_MAP_CHEST,
RC_SHADOW_TEMPLE_HOVER_BOOTS_CHEST,
RC_SHADOW_TEMPLE_COMPASS_CHEST,
RC_SHADOW_TEMPLE_EARLY_SILVER_RUPEE_CHEST,
RC_SHADOW_TEMPLE_INVISIBLE_BLADES_VISIBLE_CHEST,
RC_SHADOW_TEMPLE_INVISIBLE_BLADES_INVISIBLE_CHEST,
RC_SHADOW_TEMPLE_FALLING_SPIKES_LOWER_CHEST,
RC_SHADOW_TEMPLE_FALLING_SPIKES_UPPER_CHEST,
RC_SHADOW_TEMPLE_FALLING_SPIKES_SWITCH_CHEST,
RC_SHADOW_TEMPLE_INVISIBLE_SPIKES_CHEST,
RC_SHADOW_TEMPLE_FREESTANDING_KEY,
RC_SHADOW_TEMPLE_WIND_HINT_CHEST,
RC_SHADOW_TEMPLE_AFTER_WIND_ENEMY_CHEST,
RC_SHADOW_TEMPLE_AFTER_WIND_HIDDEN_CHEST,
RC_SHADOW_TEMPLE_SPIKE_WALLS_LEFT_CHEST,
RC_SHADOW_TEMPLE_BOSS_KEY_CHEST,
RC_SHADOW_TEMPLE_INVISIBLE_FLOORMASTER_CHEST,
RC_SHADOW_TEMPLE_GS_LIKE_LIKE_ROOM,
RC_SHADOW_TEMPLE_GS_FALLING_SPIKES_ROOM,
RC_SHADOW_TEMPLE_GS_SINGLE_GIANT_POT,
RC_SHADOW_TEMPLE_GS_NEAR_SHIP,
RC_SHADOW_TEMPLE_GS_TRIPLE_GIANT_POT,
RC_SHADOW_TEMPLE_MQ_EARLY_GIBDOS_CHEST,
RC_SHADOW_TEMPLE_MQ_MAP_CHEST,
RC_SHADOW_TEMPLE_MQ_NEAR_SHIP_INVISIBLE_CHEST,
RC_SHADOW_TEMPLE_MQ_COMPASS_CHEST,
RC_SHADOW_TEMPLE_MQ_HOVER_BOOTS_CHEST,
RC_SHADOW_TEMPLE_MQ_INVISIBLE_BLADES_INVISIBLE_CHEST,
RC_SHADOW_TEMPLE_MQ_INVISIBLE_BLADES_VISIBLE_CHEST,
RC_SHADOW_TEMPLE_MQ_BEAMOS_SILVER_RUPEES_CHEST,
RC_SHADOW_TEMPLE_MQ_FALLING_SPIKES_LOWER_CHEST,
RC_SHADOW_TEMPLE_MQ_FALLING_SPIKES_UPPER_CHEST,
RC_SHADOW_TEMPLE_MQ_FALLING_SPIKES_SWITCH_CHEST,
RC_SHADOW_TEMPLE_MQ_INVISIBLE_SPIKES_CHEST,
RC_SHADOW_TEMPLE_MQ_STALFOS_ROOM_CHEST,
RC_SHADOW_TEMPLE_MQ_WIND_HINT_CHEST,
RC_SHADOW_TEMPLE_MQ_AFTER_WIND_HIDDEN_CHEST,
RC_SHADOW_TEMPLE_MQ_AFTER_WIND_ENEMY_CHEST,
RC_SHADOW_TEMPLE_MQ_BOSS_KEY_CHEST,
RC_SHADOW_TEMPLE_MQ_SPIKE_WALLS_LEFT_CHEST,
RC_SHADOW_TEMPLE_MQ_FREESTANDING_KEY,
RC_SHADOW_TEMPLE_MQ_BOMB_FLOWER_CHEST,
RC_SHADOW_TEMPLE_MQ_GS_FALLING_SPIKES_ROOM,
RC_SHADOW_TEMPLE_MQ_GS_WIND_HINT_ROOM,
RC_SHADOW_TEMPLE_MQ_GS_AFTER_WIND,
RC_SHADOW_TEMPLE_MQ_GS_AFTER_SHIP,
RC_SHADOW_TEMPLE_MQ_GS_NEAR_BOSS,
RC_SHADOW_TEMPLE_BONGO_BONGO_HEART,
RC_SPIRIT_TEMPLE_CHILD_BRIDGE_CHEST,
RC_SPIRIT_TEMPLE_CHILD_EARLY_TORCHES_CHEST,
RC_SPIRIT_TEMPLE_CHILD_CLIMB_NORTH_CHEST,
RC_SPIRIT_TEMPLE_CHILD_CLIMB_EAST_CHEST,
RC_SPIRIT_TEMPLE_MAP_CHEST,
RC_SPIRIT_TEMPLE_SUN_BLOCK_ROOM_CHEST,
RC_SPIRIT_TEMPLE_MQ_ENTRANCE_FRONT_LEFT_CHEST,
RC_SPIRIT_TEMPLE_MQ_ENTRANCE_BACK_RIGHT_CHEST,
RC_SPIRIT_TEMPLE_MQ_ENTRANCE_FRONT_RIGHT_CHEST,
RC_SPIRIT_TEMPLE_MQ_ENTRANCE_BACK_LEFT_CHEST,
RC_SPIRIT_TEMPLE_MQ_MAP_CHEST,
RC_SPIRIT_TEMPLE_MQ_MAP_ROOM_ENEMY_CHEST,
RC_SPIRIT_TEMPLE_MQ_CHILD_CLIMB_NORTH_CHEST,
RC_SPIRIT_TEMPLE_MQ_CHILD_CLIMB_SOUTH_CHEST,
RC_SPIRIT_TEMPLE_MQ_COMPASS_CHEST,
RC_SPIRIT_TEMPLE_MQ_SILVER_BLOCK_HALLWAY_CHEST,
RC_SPIRIT_TEMPLE_MQ_SUN_BLOCK_ROOM_CHEST,
RC_SPIRIT_TEMPLE_SILVER_GAUNTLETS_CHEST,
RC_SPIRIT_TEMPLE_COMPASS_CHEST,
RC_SPIRIT_TEMPLE_EARLY_ADULT_RIGHT_CHEST,
RC_SPIRIT_TEMPLE_FIRST_MIRROR_LEFT_CHEST,
RC_SPIRIT_TEMPLE_FIRST_MIRROR_RIGHT_CHEST,
RC_SPIRIT_TEMPLE_STATUE_ROOM_NORTHEAST_CHEST,
RC_SPIRIT_TEMPLE_STATUE_ROOM_HAND_CHEST,
RC_SPIRIT_TEMPLE_NEAR_FOUR_ARMOS_CHEST,
RC_SPIRIT_TEMPLE_HALLWAY_RIGHT_INVISIBLE_CHEST,
RC_SPIRIT_TEMPLE_HALLWAY_LEFT_INVISIBLE_CHEST,
RC_SPIRIT_TEMPLE_MQ_CHILD_HAMMER_SWITCH_CHEST,
RC_SPIRIT_TEMPLE_MQ_STATUE_ROOM_LULLABY_CHEST,
RC_SPIRIT_TEMPLE_MQ_STATUE_ROOM_INVISIBLE_CHEST,
RC_SPIRIT_TEMPLE_MQ_LEEVER_ROOM_CHEST,
RC_SPIRIT_TEMPLE_MQ_SYMPHONY_ROOM_CHEST,
RC_SPIRIT_TEMPLE_MQ_BEAMOS_ROOM_CHEST,
RC_SPIRIT_TEMPLE_MQ_CHEST_SWITCH_CHEST,
RC_SPIRIT_TEMPLE_MQ_BOSS_KEY_CHEST,
RC_SPIRIT_TEMPLE_MIRROR_SHIELD_CHEST,
RC_SPIRIT_TEMPLE_BOSS_KEY_CHEST,
RC_SPIRIT_TEMPLE_TOPMOST_CHEST,
RC_SPIRIT_TEMPLE_MQ_MIRROR_PUZZLE_INVISIBLE_CHEST,
RC_SPIRIT_TEMPLE_GS_METAL_FENCE,
RC_SPIRIT_TEMPLE_GS_SUN_ON_FLOOR_ROOM,
RC_SPIRIT_TEMPLE_GS_HALL_AFTER_SUN_BLOCK_ROOM,
RC_SPIRIT_TEMPLE_GS_LOBBY,
RC_SPIRIT_TEMPLE_GS_BOULDER_ROOM,
RC_SPIRIT_TEMPLE_MQ_GS_SUN_BLOCK_ROOM,
RC_SPIRIT_TEMPLE_MQ_GS_LEEVER_ROOM,
RC_SPIRIT_TEMPLE_MQ_GS_SYMPHONY_ROOM,
RC_SPIRIT_TEMPLE_MQ_GS_NINE_THRONES_ROOM_WEST,
RC_SPIRIT_TEMPLE_MQ_GS_NINE_THRONES_ROOM_NORTH,
RC_SPIRIT_TEMPLE_TWINROVA_HEART,
RC_ICE_CAVERN_MAP_CHEST,
RC_ICE_CAVERN_COMPASS_CHEST,
RC_ICE_CAVERN_FREESTANDING_POH,
RC_ICE_CAVERN_IRON_BOOTS_CHEST,
RC_ICE_CAVERN_GS_SPINNING_SCYTHE_ROOM,
RC_ICE_CAVERN_GS_HEART_PIECE_ROOM,
RC_ICE_CAVERN_GS_PUSH_BLOCK_ROOM,
RC_ICE_CAVERN_MQ_MAP_CHEST,
RC_ICE_CAVERN_MQ_COMPASS_CHEST,
RC_ICE_CAVERN_MQ_FREESTANDING_POH,
RC_ICE_CAVERN_MQ_IRON_BOOTS_CHEST,
RC_ICE_CAVERN_MQ_GS_RED_ICE,
RC_ICE_CAVERN_MQ_GS_ICE_BLOCK,
RC_ICE_CAVERN_MQ_GS_SCARECROW,
RC_GERUDO_TRAINING_GROUND_LOBBY_LEFT_CHEST,
RC_GERUDO_TRAINING_GROUND_LOBBY_RIGHT_CHEST,
RC_GERUDO_TRAINING_GROUND_STALFOS_CHEST,
RC_GERUDO_TRAINING_GROUND_BEFORE_HEAVY_BLOCK_CHEST,
RC_GERUDO_TRAINING_GROUND_HEAVY_BLOCK_FIRST_CHEST,
RC_GERUDO_TRAINING_GROUND_HEAVY_BLOCK_SECOND_CHEST,
RC_GERUDO_TRAINING_GROUND_HEAVY_BLOCK_THIRD_CHEST,
RC_GERUDO_TRAINING_GROUND_HEAVY_BLOCK_FOURTH_CHEST,
RC_GERUDO_TRAINING_GROUND_EYE_STATUE_CHEST,
RC_GERUDO_TRAINING_GROUND_NEAR_SCARECROW_CHEST,
RC_GERUDO_TRAINING_GROUND_HAMMER_ROOM_CLEAR_CHEST,
RC_GERUDO_TRAINING_GROUND_HAMMER_ROOM_SWITCH_CHEST,
RC_GERUDO_TRAINING_GROUND_FREESTANDING_KEY,
RC_GERUDO_TRAINING_GROUND_MAZE_RIGHT_CENTRAL_CHEST,
RC_GERUDO_TRAINING_GROUND_MAZE_RIGHT_SIDE_CHEST,
RC_GERUDO_TRAINING_GROUND_UNDERWATER_SILVER_RUPEE_CHEST,
RC_GERUDO_TRAINING_GROUND_BEAMOS_CHEST,
RC_GERUDO_TRAINING_GROUND_HIDDEN_CEILING_CHEST,
RC_GERUDO_TRAINING_GROUND_MAZE_PATH_FIRST_CHEST,
RC_GERUDO_TRAINING_GROUND_MAZE_PATH_SECOND_CHEST,
RC_GERUDO_TRAINING_GROUND_MAZE_PATH_THIRD_CHEST,
RC_GERUDO_TRAINING_GROUND_MAZE_PATH_FINAL_CHEST,
RC_GERUDO_TRAINING_GROUND_MQ_LOBBY_LEFT_CHEST,
RC_GERUDO_TRAINING_GROUND_MQ_LOBBY_RIGHT_CHEST,
RC_GERUDO_TRAINING_GROUND_MQ_FIRST_IRON_KNUCKLE_CHEST,
RC_GERUDO_TRAINING_GROUND_MQ_BEFORE_HEAVY_BLOCK_CHEST,
RC_GERUDO_TRAINING_GROUND_MQ_HEAVY_BLOCK_CHEST,
RC_GERUDO_TRAINING_GROUND_MQ_EYE_STATUE_CHEST,
RC_GERUDO_TRAINING_GROUND_MQ_ICE_ARROWS_CHEST,
RC_GERUDO_TRAINING_GROUND_MQ_SECOND_IRON_KNUCKLE_CHEST,
RC_GERUDO_TRAINING_GROUND_MQ_FLAME_CIRCLE_CHEST,
RC_GERUDO_TRAINING_GROUND_MQ_MAZE_RIGHT_CENTRAL_CHEST,
RC_GERUDO_TRAINING_GROUND_MQ_MAZE_RIGHT_SIDE_CHEST,
RC_GERUDO_TRAINING_GROUND_MQ_UNDERWATER_SILVER_RUPEE_CHEST,
RC_GERUDO_TRAINING_GROUND_MQ_DINOLFOS_CHEST,
RC_GERUDO_TRAINING_GROUND_MQ_HIDDEN_CEILING_CHEST,
RC_GERUDO_TRAINING_GROUND_MQ_MAZE_PATH_FIRST_CHEST,
RC_GERUDO_TRAINING_GROUND_MQ_MAZE_PATH_THIRD_CHEST,
RC_GERUDO_TRAINING_GROUND_MQ_MAZE_PATH_SECOND_CHEST,
RC_GANONS_CASTLE_FOREST_TRIAL_CHEST,
RC_GANONS_CASTLE_WATER_TRIAL_LEFT_CHEST,
RC_GANONS_CASTLE_WATER_TRIAL_RIGHT_CHEST,
RC_GANONS_CASTLE_SHADOW_TRIAL_FRONT_CHEST,
RC_GANONS_CASTLE_SHADOW_TRIAL_GOLDEN_GAUNTLETS_CHEST,
RC_GANONS_CASTLE_LIGHT_TRIAL_FIRST_LEFT_CHEST,
RC_GANONS_CASTLE_LIGHT_TRIAL_SECOND_LEFT_CHEST,
RC_GANONS_CASTLE_LIGHT_TRIAL_THIRD_LEFT_CHEST,
RC_GANONS_CASTLE_LIGHT_TRIAL_FIRST_RIGHT_CHEST,
RC_GANONS_CASTLE_LIGHT_TRIAL_SECOND_RIGHT_CHEST,
RC_GANONS_CASTLE_LIGHT_TRIAL_THIRD_RIGHT_CHEST,
RC_GANONS_CASTLE_LIGHT_TRIAL_INVISIBLE_ENEMIES_CHEST,
RC_GANONS_CASTLE_LIGHT_TRIAL_LULLABY_CHEST,
RC_GANONS_CASTLE_SPIRIT_TRIAL_CRYSTAL_SWITCH_CHEST,
RC_GANONS_CASTLE_SPIRIT_TRIAL_INVISIBLE_CHEST,
RC_GANONS_CASTLE_DEKU_SCRUB_LEFT,
RC_GANONS_CASTLE_DEKU_SCRUB_CENTER_LEFT,
RC_GANONS_CASTLE_DEKU_SCRUB_CENTER_RIGHT,
RC_GANONS_CASTLE_DEKU_SCRUB_RIGHT,
RC_GANONS_CASTLE_MQ_FOREST_TRIAL_FREESTANDING_KEY,
RC_GANONS_CASTLE_MQ_FOREST_TRIAL_EYE_SWITCH_CHEST,
RC_GANONS_CASTLE_MQ_FOREST_TRIAL_FROZEN_EYE_SWITCH_CHEST,
RC_GANONS_CASTLE_MQ_WATER_TRIAL_CHEST,
RC_GANONS_CASTLE_MQ_SHADOW_TRIAL_BOMB_FLOWER_CHEST,
RC_GANONS_CASTLE_MQ_SHADOW_TRIAL_EYE_SWITCH_CHEST,
RC_GANONS_CASTLE_MQ_LIGHT_TRIAL_LULLABY_CHEST,
RC_GANONS_CASTLE_MQ_SPIRIT_TRIAL_FIRST_CHEST,
RC_GANONS_CASTLE_MQ_SPIRIT_TRIAL_INVISIBLE_CHEST,
RC_GANONS_CASTLE_MQ_SPIRIT_TRIAL_SUN_FRONT_LEFT_CHEST,
RC_GANONS_CASTLE_MQ_SPIRIT_TRIAL_SUN_BACK_LEFT_CHEST,
RC_GANONS_CASTLE_MQ_SPIRIT_TRIAL_SUN_BACK_RIGHT_CHEST,
RC_GANONS_CASTLE_MQ_SPIRIT_TRIAL_GOLDEN_GAUNTLETS_CHEST,
RC_GANONS_CASTLE_MQ_DEKU_SCRUB_LEFT,
RC_GANONS_CASTLE_MQ_DEKU_SCRUB_CENTER_LEFT,
RC_GANONS_CASTLE_MQ_DEKU_SCRUB_CENTER,
RC_GANONS_CASTLE_MQ_DEKU_SCRUB_CENTER_RIGHT,
RC_GANONS_CASTLE_MQ_DEKU_SCRUB_RIGHT,
RC_GANONS_TOWER_BOSS_KEY_CHEST,
RC_PIERRE,
RC_DELIVER_RUTOS_LETTER,
RC_MASTER_SWORD_PEDESTAL,
RC_COLOSSUS_GOSSIP_STONE,
RC_DMC_GOSSIP_STONE,
RC_DMC_UPPER_GROTTO_GOSSIP_STONE,
RC_DMT_GOSSIP_STONE,
RC_DMT_STORMS_GROTTO_GOSSIP_STONE,
RC_DODONGOS_CAVERN_GOSSIP_STONE,
RC_FAIRY_GOSSIP_STONE,
RC_GC_MAZE_GOSSIP_STONE,
RC_GC_MEDIGORON_GOSSIP_STONE,
RC_GV_GOSSIP_STONE,
RC_GY_GOSSIP_STONE,
RC_HC_MALON_GOSSIP_STONE,
RC_HC_ROCK_WALL_GOSSIP_STONE,
RC_HC_STORMS_GROTTO_GOSSIP_STONE,
RC_HF_COW_GROTTO_GOSSIP_STONE,
RC_HF_NEAR_MARKET_GOSSIP_STONE,
RC_HF_OPEN_GROTTO_GOSSIP_STONE,
RC_HF_SOUTHEAST_GOSSIP_STONE,
RC_JABU_GOSSIP_STONE,
RC_KF_DEKU_TREE_LEFT_GOSSIP_STONE,
RC_KF_DEKU_TREE_RIGHT_GOSSIP_STONE,
RC_KF_GOSSIP_STONE,
RC_KF_STORMS_GOSSIP_STONE,
RC_KAK_OPEN_GROTTO_GOSSIP_STONE,
RC_LH_LAB_GOSSIP_STONE,
RC_LH_SOUTHEAST_GOSSIP_STONE,
RC_LH_SOUTHWEST_GOSSIP_STONE,
RC_LW_GOSSIP_STONE,
RC_LW_NEAR_SHORTCUTS_GOSSIP_STONE,
RC_SFM_MAZE_LOWER_GOSSIP_STONE,
RC_SFM_MAZE_UPPER_GOSSIP_STONE,
RC_SFM_SARIA_GOSSIP_STONE,
RC_TOT_LEFT_CENTER_GOSSIP_STONE,
RC_TOT_LEFT_GOSSIP_STONE,
RC_TOT_RIGHT_CENTER_GOSSIP_STONE,
RC_TOT_RIGHT_GOSSIP_STONE,
RC_ZD_GOSSIP_STONE,
RC_ZR_NEAR_DOMAIN_GOSSIP_STONE,
RC_ZR_NEAR_GROTTOS_GOSSIP_STONE,
RC_ZR_OPEN_GROTTO_GOSSIP_STONE,
RC_GANONDORF_HINT,
RC_TRIFORCE_COMPLETED,
RC_MAX
} RandomizerCheck;
// Randomizer tricks and glitches (beta) based on knowledge of what is achievable in Ship of Harkinian randomizer, excludes Item manipulation (e.g. RBA/GIM/SRM) and Wrong Warping and Ganon BK Skip
// TODO Fill and alphabetize (area based tricks must have area in name and come alphetized after general tricks)
// TODO test commented out tricks to see if consistent with console on SoH
// TODO add area specific tricks
typedef enum {
RT_VISIBLE_COLLISION, // -- general tricks
RT_GROTTOS_WITHOUT_AGONY,
RT_FEWER_TUNIC_REQUIREMENTS,
RT_RUSTED_SWITCHES,
RT_FLAMING_CHESTS,
RT_BUNNY_HOOD_JUMPS,
RT_DAMAGE_BOOST_SIMPLE,
RT_HOVER_BOOST_SIMPLE,
RT_KF_ADULT_GS, // -- location tricks
RT_LW_BRIDGE,
RT_LW_MIDO_BACKFLIP,
RT_LW_GS_BEAN,
RT_HC_STORMS_GS,
RT_KAK_MAN_ON_ROOF,
RT_KAK_TOWER_GS,
RT_KAK_ADULT_WINDMILL_POH,
RT_KAK_CHILD_WINDMILL_POH,
RT_KAK_ROOFTOP_GS,
RT_GY_POH,
RT_GY_CHILD_DAMPE_RACE_POH,
RT_GY_SHADOW_FIRE_ARROWS,
RT_DMT_SOIL_GS,
RT_DMT_BOMBABLE,
RT_DMT_HOOKSHOT_LOWER_GS,
RT_DMT_HOVERS_LOWER_GS,
RT_DMT_BEAN_LOWER_GS,
RT_DMT_JS_LOWER_GS,
RT_DMT_CLIMB_HOVERS,
RT_DMT_UPPER_GS,
RT_DMT_BOLERO_BIGGORON,
RT_GC_POT,
RT_GC_POT_STRENGTH,
RT_GC_ROLLING_STRENGTH,
RT_GC_LEFTMOST,
RT_GC_GROTTO,
RT_GC_LINK_GORON_DINS,
RT_DMC_HOVER_BEAN_POH,
RT_DMC_BOLERO_JUMP,
RT_DMC_BOULDER_JS,
RT_DMC_BOULDER_SKIP,
RT_ZR_LOWER,
RT_ZR_UPPER,
RT_ZR_HOVERS,
RT_ZR_CUCCO,
RT_ZD_KING_ZORA_SKIP,
RT_ZD_GS,
RT_LH_LAB_WALL_GS,
RT_LH_LAB_DIVING,
RT_LH_WATER_HOOKSHOT,
RT_GV_CRATE_HOVERS,
RT_GF_KITCHEN,
RT_GF_JUMP,
RT_HW_BUNNY_CROSSING,
RT_HW_CROSSING,
RT_LENS_HW,
RT_HW_REVERSE,
RT_COLOSSUS_GS,
RT_DEKU_BASEMENT_GS,
RT_DEKU_B1_SKIP,
RT_DEKU_B1_BOW_WEBS,
RT_DEKU_MQ_COMPASS_GS,
RT_DEKU_MQ_LOG,
RT_DC_SCARECROW_GS,
RT_DC_VINES_GS,
RT_DC_STAIRCASE,
RT_DC_SLINGSHOT_SKIP,
RT_DC_SCRUB_ROOM,
RT_DC_JUMP,
RT_DC_HAMMER_FLOOR,
RT_DC_MQ_CHILD_BOMBS,
RT_DC_MQ_CHILD_EYES,
RT_DC_MQ_ADULT_EYES,
RT_JABU_ALCOVE_JUMP_DIVE,
RT_JABU_BOSS_HOVER,
RT_JABU_NEAR_BOSS_RANGED,
RT_JABU_NEAR_BOSS_EXPLOSIVES,
RT_LENS_JABU_MQ,
RT_JABU_MQ_RANG_JUMP,
RT_JABU_MQ_SOT_GS,
RT_LENS_BOTW,
RT_BOTW_CHILD_DEADHAND,
RT_BOTW_BASEMENT,
RT_BOTW_MQ_PITS,
RT_BOTW_MQ_DEADHAND_KEY,
RT_FOREST_FIRST_GS,
RT_FOREST_OUTDOORS_EAST_GS,
RT_FOREST_VINES,
RT_FOREST_OUTDOORS_LEDGE,
RT_FOREST_DOORFRAME,
RT_FOREST_OUTSIDE_BACKDOOR,
RT_FOREST_MQ_WELL_SWIM,
RT_FOREST_MQ_BLOCK_PUZZLE,
RT_FOREST_MQ_JS_HALLWAY_SWITCH,
RT_FOREST_MQ_HOOKSHOT_HALLWAY_SWITCH,
RT_FOREST_MQ_RANG_HALLWAY_SWITCH,
RT_FIRE_BOSS_DOOR_JUMP,
RT_FIRE_SOT,
RT_FIRE_STRENGTH,
RT_FIRE_SCARECROW,
RT_FIRE_FLAME_MAZE,
RT_FIRE_MQ_NEAR_BOSS,
RT_FIRE_MQ_BLOCKED_CHEST,
RT_FIRE_MQ_BK_CHEST,
RT_FIRE_MQ_CLIMB,
RT_FIRE_MQ_MAZE_SIDE_ROOM,
RT_FIRE_MQ_MAZE_HOVERS,
RT_FIRE_MQ_MAZE_JUMP,
RT_FIRE_MQ_ABOVE_MAZE_GS,
RT_FIRE_MQ_FLAME_MAZE,
RT_WATER_LONGSHOT_TORCH,
RT_WATER_CRACKED_WALL_HOVERS,
RT_WATER_CRACKED_WALL,
RT_WATER_BK_REGION,
RT_WATER_NORTH_BASEMENT_LEDGE_JUMP,
RT_WATER_BK_JUMP_DIVE,
RT_WATER_FW_CENTRAL_GS,
RT_WATER_IRONS_CENTRAL_GS,
RT_WATER_CENTRAL_BOW,
RT_WATER_HOOKSHOT_FALLING_PLATFORM_GS,
RT_WATER_RANG_FALLING_PLATFORM_GS,
RT_WATER_RIVER_GS,
RT_WATER_DRAGON_JUMP_DIVE,
RT_WATER_ADULT_DRAGON,
RT_WATER_CHILD_DRAGON,
RT_WATER_MQ_CENTRAL_PILLAR,
RT_WATER_MQ_LOCKED_GS,
RT_LENS_SHADOW,
RT_LENS_SHADOW_PLATFORM,
RT_LENS_BONGO,
RT_SHADOW_UMBRELLA,
RT_SHADOW_UMBRELLA_GS,
RT_SHADOW_FREESTANDING_KEY,
RT_SHADOW_STATUE,
RT_SHADOW_BONGO,
RT_LENS_SHADOW_MQ,
RT_LENS_SHADOW_MQ_INVISIBLE_BLADES,
RT_LENS_SHADOW_MQ_PLATFORM,
RT_LENS_SHADOW_MQ_DEADHAND,
RT_SHADOW_MQ_GAP,
RT_SHADOW_MQ_INVISIBLE_BLADES,
RT_SHADOW_MQ_HUGE_PIT,
RT_SHADOW_MQ_WINDY_WALKWAY,
RT_LENS_SPIRIT,
RT_SPIRIT_CHILD_CHU,
RT_SPIRIT_LOBBY_GS,
RT_SPIRIT_LOWER_ADULT_SWITCH,
RT_SPIRIT_LOBBY_JUMP,
RT_SPIRIT_PLATFORM_HOOKSHOT,
RT_SPIRIT_MAP_CHEST,
RT_SPIRIT_SUN_CHEST,
RT_SPIRIT_WALL,
RT_LENS_SPIRIT_MQ,
RT_SPIRIT_MQ_SUN_BLOCK_SOT,
RT_SPIRIT_MQ_SUN_BLOCK_GS,
RT_SPIRIT_MQ_LOWER_ADULT,
RT_SPIRIT_MQ_FROZEN_EYE,
RT_ICE_BLOCK_GS,
RT_ICE_MQ_RED_ICE_GS,
RT_ICE_MQ_SCARECROW,
RT_LENS_GTG,
RT_GTG_WITHOUT_HOOKSHOT,
RT_GTG_FAKE_WALL,
RT_LENS_GTG_MQ,
RT_GTG_MQ_WITH_HOOKSHOT,
RT_GTG_MQ_WIHTOUT_HOOKSHOT,
RT_LENS_GANON,
RT_GANON_SPIRIT_TRIAL_HOOKSHOT,
RT_LENS_GANON_MQ,
RT_GANON_MQ_FIRE_TRIAL,
RT_GANON_MQ_SHADOW_TRIAL,
RT_GANON_MQ_LIGHT_TRIAL,
//RT_ROCS_FEATHER --if implemented with main branch
RT_FOREST_TEMPLE_BK_SKIP,
RT_FIRE_TEMPLE_BK_SKIP,
RT_WATER_TEMPLE_BK_SKIP,
RT_SHADOW_TEMPLE_BK_SKIP,
RT_SPIRIT_BK_SKIP,
RT_ACUTE_ANGLE_CLIP,
RT_ADVANCED_CLIPS,
RT_BLANK_A,
RT_CUTSCENE_DIVE,
RT_DAMAGE_BOOST,
RT_DOOM_JUMP,
RT_EPG,
RT_EQUIP_SWAP,
RT_EQUIP_SWAP_EXPECTS_DINS,
RT_FLAME_STORAGE,
RT_FW_VOID_WARP,
RT_GROUND_CLIP,
RT_GROUND_JUMP,
RT_HESS,
RT_HOOKSHOT_CLIP,
RT_HOOKSHOT_JUMP,
RT_HOVERING,
RT_HOVERING_BOW_SLINGSHOT,
RT_HOVERING_CONTORTION,
RT_HOVERING_ENEMY,
RT_HOVERING_HOVERBOOTS,
RT_HOVERING_WALL,
RT_ISG,
RT_LADDER_CLIP,
RT_LADDER_CLIP_HOOKSHOT,
RT_LEDGE_CANCEL,
RT_LEDGE_CLIP,
RT_LUNGE_STORAGE,
RT_MEGAFLIP_BOMB,
RT_MEGAFLIP_BOMBCHU,
RT_MEGASIDEHOP_BOMB,
RT_MEGASIDEHOP_BOMBCHU,
RT_NAVI_DIVE,
RT_OCARINA_ITEMS,
RT_OCARINA_ITEMS_BOMB,
RT_OCARINA_ITEMS_ESS,
RT_OCARINA_ITEMS_PUTAWAY,
RT_ONE_WAY_CLIPS,
RT_QUICKDRAW,
RT_QUICK_PUTAWAY,
RT_SEEMWALK,
RT_SUPERSLIDE,
RT_SUPERSLIDE_TELEPORT,
RT_TIME_STOP,
RT_TRIPLE_SLASH_CLIP,
RT_VINE_CLIP,
RT_WEIRDSHOT,
RT_WEIRDSHOT_CHU,
RT_WEIRDSHOT_ENEMY,
//RT_FW_VOID_WARP_FAST_TEXT, --untested tricks:
//RT_ACTION_SWAP,
//RT_ACTOR_GLITCH,
//RT_ADULT_TRADE_TTG,
RT_TOT_DOT_SKIP_SWORDLESS, //AREA SPECIFIC GLITCHES
RT_TOT_DOT_SKIP_SWORD,
RT_LLR_STEAL_EPONA,
RT_KF_POKEY_SKIP,
RT_KF_MIDO_SKIP,
RT_KF_CLIMB_TWINS_HOUSE,
RT_KF_DEKU_TREE_ADULT,
RT_KF_WWT_ESCAPE,
RT_LW_AQUAESCAPE,
RT_LW_MIDO_SKIP_ADULT,
RT_OGC_GOLD_GAUNTLET_SKIP,
RT_GY_ROYAL_TOMB,
RT_ZF_JABU_ADULT_BOMBCHU,
RT_ZF_JABU_ADULT_HOVERBOOT_BOMB,
RT_FOREST_TEMPLE_FOUR_POE_SKIP,
RT_FOREST_TEMPLE_JUNGLE_JUMP,
//RT_DARUNIA_CUTSCENE,
RT_BOTTOM_OF_THE_WELL_SKULL_PUSH,
RT_GANONS_CASTLE_BARRIER_SKIP_HOVER,
RT_GANONS_CASTLE_GOLD_GAUNTLET_SKIP,
RT_MAX
} RandomizerTrick;
// based on https://github.com/TestRunnerSRL/OoT-Randomizer/blob/e337d7f603b91a6bacb618fb32cc7fd70ed9ffca/ItemList.py
typedef enum {
RG_NONE,
RG_KOKIRI_SWORD,
RG_MASTER_SWORD,
RG_GIANTS_KNIFE,
RG_BIGGORON_SWORD,
RG_DEKU_SHIELD,
RG_HYLIAN_SHIELD,
RG_MIRROR_SHIELD,
RG_GORON_TUNIC,
RG_ZORA_TUNIC,
RG_IRON_BOOTS,
RG_HOVER_BOOTS,
RG_BOOMERANG,
RG_LENS_OF_TRUTH,
RG_MEGATON_HAMMER,
RG_STONE_OF_AGONY,
RG_DINS_FIRE,
RG_FARORES_WIND,
RG_NAYRUS_LOVE,
RG_FIRE_ARROWS,
RG_ICE_ARROWS,
RG_LIGHT_ARROWS,
RG_GERUDO_MEMBERSHIP_CARD,
RG_MAGIC_BEAN,
RG_MAGIC_BEAN_PACK,
RG_DOUBLE_DEFENSE,
RG_WEIRD_EGG,
RG_ZELDAS_LETTER,
RG_POCKET_EGG,
RG_COJIRO,
RG_ODD_MUSHROOM,
RG_ODD_POTION,
RG_POACHERS_SAW,
RG_BROKEN_SWORD,
RG_PRESCRIPTION,
RG_EYEBALL_FROG,
RG_EYEDROPS,
RG_CLAIM_CHECK,
RG_GOLD_SKULLTULA_TOKEN,
RG_PROGRESSIVE_HOOKSHOT,
RG_PROGRESSIVE_STRENGTH,
RG_PROGRESSIVE_BOMB_BAG,
RG_PROGRESSIVE_BOW,
RG_PROGRESSIVE_SLINGSHOT,
RG_PROGRESSIVE_WALLET,
RG_PROGRESSIVE_SCALE,
RG_PROGRESSIVE_NUT_UPGRADE,
RG_PROGRESSIVE_STICK_UPGRADE,
RG_PROGRESSIVE_BOMBCHUS,
RG_PROGRESSIVE_MAGIC_METER,
RG_MAGIC_SINGLE, // Added for refactor of GetItemEntries
RG_MAGIC_DOUBLE, // Added for refactor of GetItemEntries
RG_PROGRESSIVE_OCARINA,
RG_PROGRESSIVE_GORONSWORD,
RG_EMPTY_BOTTLE,
RG_BOTTLE_WITH_MILK,
RG_BOTTLE_WITH_RED_POTION,
RG_BOTTLE_WITH_GREEN_POTION,
RG_BOTTLE_WITH_BLUE_POTION,
RG_BOTTLE_WITH_FAIRY,
RG_BOTTLE_WITH_FISH,
RG_BOTTLE_WITH_BLUE_FIRE,
RG_BOTTLE_WITH_BUGS,
RG_BOTTLE_WITH_POE,
RG_RUTOS_LETTER,
RG_BOTTLE_WITH_BIG_POE,
RG_ZELDAS_LULLABY,
RG_EPONAS_SONG,
RG_SARIAS_SONG,
RG_SUNS_SONG,
RG_SONG_OF_TIME,
RG_SONG_OF_STORMS,
RG_MINUET_OF_FOREST,
RG_BOLERO_OF_FIRE,
RG_SERENADE_OF_WATER,
RG_REQUIEM_OF_SPIRIT,
RG_NOCTURNE_OF_SHADOW,
RG_PRELUDE_OF_LIGHT,
RG_DEKU_TREE_MAP,
RG_DODONGOS_CAVERN_MAP,
RG_JABU_JABUS_BELLY_MAP,
RG_FOREST_TEMPLE_MAP,
RG_FIRE_TEMPLE_MAP,
RG_WATER_TEMPLE_MAP,
RG_SPIRIT_TEMPLE_MAP,
RG_SHADOW_TEMPLE_MAP,
RG_BOTTOM_OF_THE_WELL_MAP,
RG_ICE_CAVERN_MAP,
RG_DEKU_TREE_COMPASS,
RG_DODONGOS_CAVERN_COMPASS,
RG_JABU_JABUS_BELLY_COMPASS,
RG_FOREST_TEMPLE_COMPASS,
RG_FIRE_TEMPLE_COMPASS,
RG_WATER_TEMPLE_COMPASS,
RG_SPIRIT_TEMPLE_COMPASS,
RG_SHADOW_TEMPLE_COMPASS,
RG_BOTTOM_OF_THE_WELL_COMPASS,
RG_ICE_CAVERN_COMPASS,
RG_FOREST_TEMPLE_BOSS_KEY,
RG_FIRE_TEMPLE_BOSS_KEY,
RG_WATER_TEMPLE_BOSS_KEY,
RG_SPIRIT_TEMPLE_BOSS_KEY,
RG_SHADOW_TEMPLE_BOSS_KEY,
RG_GANONS_CASTLE_BOSS_KEY,
RG_FOREST_TEMPLE_SMALL_KEY,
RG_FIRE_TEMPLE_SMALL_KEY,
RG_WATER_TEMPLE_SMALL_KEY,
RG_SPIRIT_TEMPLE_SMALL_KEY,
RG_SHADOW_TEMPLE_SMALL_KEY,
RG_BOTTOM_OF_THE_WELL_SMALL_KEY,
RG_GERUDO_TRAINING_GROUNDS_SMALL_KEY,
RG_GERUDO_FORTRESS_SMALL_KEY,
RG_GANONS_CASTLE_SMALL_KEY,
RG_TREASURE_GAME_SMALL_KEY,
RG_FOREST_TEMPLE_KEY_RING,
RG_FIRE_TEMPLE_KEY_RING,
RG_WATER_TEMPLE_KEY_RING,
RG_SPIRIT_TEMPLE_KEY_RING,
RG_SHADOW_TEMPLE_KEY_RING,
RG_BOTTOM_OF_THE_WELL_KEY_RING,
RG_GERUDO_TRAINING_GROUNDS_KEY_RING,
RG_GERUDO_FORTRESS_KEY_RING,
RG_GANONS_CASTLE_KEY_RING,
RG_KOKIRI_EMERALD,
RG_GORON_RUBY,
RG_ZORA_SAPPHIRE,
RG_FOREST_MEDALLION,
RG_FIRE_MEDALLION,
RG_WATER_MEDALLION,
RG_SPIRIT_MEDALLION,
RG_SHADOW_MEDALLION,
RG_LIGHT_MEDALLION,
RG_RECOVERY_HEART,
RG_GREEN_RUPEE,
RG_GREG_RUPEE,
RG_BLUE_RUPEE,
RG_RED_RUPEE,
RG_PURPLE_RUPEE,
RG_HUGE_RUPEE,
RG_PIECE_OF_HEART,
RG_HEART_CONTAINER,
RG_ICE_TRAP,
RG_MILK,
RG_BOMBS_5,
RG_BOMBS_10,
RG_BOMBS_20,
RG_BOMBCHU_5,
RG_BOMBCHU_10,
RG_BOMBCHU_20,
RG_BOMBCHU_DROP,
RG_ARROWS_5,
RG_ARROWS_10,
RG_ARROWS_30,
RG_DEKU_NUTS_5,
RG_DEKU_NUTS_10,
RG_DEKU_SEEDS_30,
RG_DEKU_STICK_1,
RG_RED_POTION_REFILL,
RG_GREEN_POTION_REFILL,
RG_BLUE_POTION_REFILL,
RG_TREASURE_GAME_HEART,
RG_TREASURE_GAME_GREEN_RUPEE,
RG_BUY_DEKU_NUT_5,
RG_BUY_ARROWS_30,
RG_BUY_ARROWS_50,
RG_BUY_BOMBS_525,
RG_BUY_DEKU_NUT_10,
RG_BUY_DEKU_STICK_1,
RG_BUY_BOMBS_10,
RG_BUY_FISH,
RG_BUY_RED_POTION_30,
RG_BUY_GREEN_POTION,
RG_BUY_BLUE_POTION,
RG_BUY_HYLIAN_SHIELD,
RG_BUY_DEKU_SHIELD,
RG_BUY_GORON_TUNIC,
RG_BUY_ZORA_TUNIC,
RG_BUY_HEART,
RG_BUY_BOMBCHU_10,
RG_BUY_BOMBCHU_20,
RG_BUY_DEKU_SEEDS_30,
RG_SOLD_OUT,
RG_BUY_BLUE_FIRE,
RG_BUY_BOTTLE_BUG,
RG_BUY_POE,
RG_BUY_FAIRYS_SPIRIT,
RG_BUY_ARROWS_10,
RG_BUY_BOMBS_20,
RG_BUY_BOMBS_30,
RG_BUY_BOMBS_535,
RG_BUY_RED_POTION_40,
RG_BUY_RED_POTION_50,
RG_TRIFORCE,
RG_TRIFORCE_PIECE,
RG_HINT,
RG_TYCOON_WALLET,
RG_MAX
} RandomizerGet;
typedef struct {
RandomizerGet rgID;
RandomizerGet fakeRgID;
char trickName[MAX_TRICK_NAME_SIZE];
} RandomizerGetData;
typedef enum {
RSK_NONE,
RSK_LOGIC_RULES,
RSK_FOREST,
RSK_KAK_GATE,
RSK_DOOR_OF_TIME,
RSK_ZORAS_FOUNTAIN,
RSK_STARTING_AGE,
RSK_GERUDO_FORTRESS,
RSK_RAINBOW_BRIDGE,
RSK_RAINBOW_BRIDGE_STONE_COUNT,
RSK_RAINBOW_BRIDGE_MEDALLION_COUNT,
RSK_RAINBOW_BRIDGE_REWARD_COUNT,
RSK_RAINBOW_BRIDGE_DUNGEON_COUNT,
RSK_RAINBOW_BRIDGE_TOKEN_COUNT,
RSK_BRIDGE_OPTIONS,
RSK_GANONS_TRIALS,
RSK_TRIAL_COUNT,
RSK_STARTING_OCARINA,
RSK_SHUFFLE_OCARINA,
RSK_STARTING_DEKU_SHIELD,
RSK_STARTING_KOKIRI_SWORD,
RSK_STARTING_ZELDAS_LULLABY,
RSK_STARTING_EPONAS_SONG,
RSK_STARTING_SARIAS_SONG,
RSK_STARTING_SUNS_SONG,
RSK_STARTING_SONG_OF_TIME,
RSK_STARTING_SONG_OF_STORMS,
RSK_STARTING_MINUET_OF_FOREST,
RSK_STARTING_BOLERO_OF_FIRE,
RSK_STARTING_SERENADE_OF_WATER,
RSK_STARTING_REQUIEM_OF_SPIRIT,
RSK_STARTING_NOCTURNE_OF_SHADOW,
RSK_STARTING_PRELUDE_OF_LIGHT,
RSK_SHUFFLE_KOKIRI_SWORD,
RSK_SHUFFLE_MASTER_SWORD,
RSK_STARTING_MAPS_COMPASSES,
RSK_SHUFFLE_DUNGEON_REWARDS,
RSK_SHUFFLE_SONGS,
RSK_SHUFFLE_TOKENS,
RSK_SHOPSANITY,
RSK_SHOPSANITY_PRICES,
RSK_SHOPSANITY_PRICES_AFFORDABLE,
RSK_SHUFFLE_SCRUBS,
RSK_SHUFFLE_COWS,
RSK_SHUFFLE_WEIRD_EGG,
RSK_SHUFFLE_GERUDO_MEMBERSHIP_CARD,
RSK_SHUFFLE_FROG_SONG_RUPEES,
RSK_ITEM_POOL,
RSK_ICE_TRAPS,
RSK_GOSSIP_STONE_HINTS,
RSK_TOT_ALTAR_HINT,
RSK_LIGHT_ARROWS_HINT,
RSK_DAMPES_DIARY_HINT,
RSK_GREG_HINT,
RSK_SARIA_HINT,
RSK_FROGS_HINT,
RSK_KAK_10_SKULLS_HINT,
RSK_KAK_20_SKULLS_HINT,
RSK_KAK_30_SKULLS_HINT,
RSK_KAK_40_SKULLS_HINT,
RSK_KAK_50_SKULLS_HINT,
RSK_WARP_SONG_HINTS,
RSK_SCRUB_TEXT_HINT,
RSK_HINT_CLARITY,
RSK_HINT_DISTRIBUTION,
RSK_KEYSANITY,
RSK_GERUDO_KEYS,
RSK_BOSS_KEYSANITY,
RSK_GANONS_BOSS_KEY,
RSK_SKIP_CHILD_STEALTH,
RSK_SKIP_CHILD_ZELDA,
RSK_STARTING_CONSUMABLES,
RSK_FULL_WALLETS,
RSK_LANGUAGE,
RSK_SHUFFLE_CHEST_MINIGAME,
RSK_CUCCO_COUNT,
RSK_BIG_POE_COUNT,
RSK_SKIP_EPONA_RACE,
RSK_SKIP_TOWER_ESCAPE,
RSK_COMPLETE_MASK_QUEST,
RSK_SKIP_SCARECROWS_SONG,
RSK_ENABLE_GLITCH_CUTSCENES,
RSK_SKULLS_SUNS_SONG,
RSK_SHUFFLE_ADULT_TRADE,
RSK_SHUFFLE_MAGIC_BEANS,
RSK_SHUFFLE_MERCHANTS,
RSK_BLUE_FIRE_ARROWS,
RSK_SUNLIGHT_ARROWS,
RSK_ENABLE_BOMBCHU_DROPS,
RSK_BOMBCHUS_IN_LOGIC,
RSK_LINKS_POCKET,
RSK_RANDOM_MQ_DUNGEONS,
RSK_MQ_DUNGEON_COUNT,
RSK_MQ_DEKU_TREE,
RSK_MQ_DODONGOS_CAVERN,
RSK_MQ_JABU_JABU,
RSK_MQ_FOREST_TEMPLE,
RSK_MQ_FIRE_TEMPLE,
RSK_MQ_WATER_TEMPLE,
RSK_MQ_SPIRIT_TEMPLE,
RSK_MQ_SHADOW_TEMPLE,
RSK_MQ_BOTTOM_OF_THE_WELL,
RSK_MQ_ICE_CAVERN,
RSK_MQ_GTG,
RSK_MQ_GANONS_CASTLE,
RSK_LACS_STONE_COUNT,
RSK_LACS_MEDALLION_COUNT,
RSK_LACS_REWARD_COUNT,
RSK_LACS_DUNGEON_COUNT,
RSK_LACS_TOKEN_COUNT,
RSK_LACS_OPTIONS,
RSK_KEYRINGS,
RSK_KEYRINGS_RANDOM_COUNT,
RSK_KEYRINGS_GERUDO_FORTRESS,
RSK_KEYRINGS_FOREST_TEMPLE,
RSK_KEYRINGS_FIRE_TEMPLE,
RSK_KEYRINGS_WATER_TEMPLE,
RSK_KEYRINGS_SPIRIT_TEMPLE,
RSK_KEYRINGS_SHADOW_TEMPLE,
RSK_KEYRINGS_BOTTOM_OF_THE_WELL,
RSK_KEYRINGS_GTG,
RSK_KEYRINGS_GANONS_CASTLE,
RSK_SHUFFLE_ENTRANCES,
RSK_SHUFFLE_DUNGEON_ENTRANCES,
RSK_SHUFFLE_OVERWORLD_ENTRANCES,
RSK_SHUFFLE_INTERIOR_ENTRANCES,
RSK_SHUFFLE_GROTTO_ENTRANCES,
RSK_SHUFFLE_OWL_DROPS,
RSK_SHUFFLE_WARP_SONGS,
RSK_SHUFFLE_OVERWORLD_SPAWNS,
RSK_MIXED_ENTRANCE_POOLS,
RSK_MIX_DUNGEON_ENTRANCES,
RSK_MIX_BOSS_ENTRANCES,
RSK_MIX_OVERWORLD_ENTRANCES,
RSK_MIX_INTERIOR_ENTRANCES,
RSK_MIX_GROTTO_ENTRANCES,
RSK_DECOUPLED_ENTRANCES,
RSK_STARTING_SKULLTULA_TOKEN,
RSK_ALL_LOCATIONS_REACHABLE,
RSK_SHUFFLE_BOSS_ENTRANCES,
RSK_SHUFFLE_100_GS_REWARD,
RSK_TRIFORCE_HUNT,
RSK_TRIFORCE_HUNT_PIECES_TOTAL,
RSK_TRIFORCE_HUNT_PIECES_REQUIRED,
RSK_MAX
} RandomizerSettingKey;
typedef struct {
RandomizerCheckStatus status;
uint16_t skipped;
int16_t price;
uint16_t hintItem;
} RandomizerCheckTrackerData;
//Generic Settings (any binary option can use this)
// off/on
typedef enum {
RO_GENERIC_OFF,
RO_GENERIC_ON,
} RandoOptionGenericOffOn;
// no/yes
typedef enum {
RO_GENERIC_NO,
RO_GENERIC_YES,
} RandoOptionGenericNoYes;
// don't skip/skip
typedef enum {
RO_GENERIC_DONT_SKIP,
RO_GENERIC_SKIP,
} RandoOptionGenericSkip;
//Forest settings (closed, closed deku, open)
typedef enum {
RO_FOREST_CLOSED,
RO_FOREST_CLOSED_DEKU,
RO_FOREST_OPEN,
} RandoOptionForest;
//Door of Time settings (closed, song only, open)
typedef enum {
RO_DOOROFTIME_CLOSED,
RO_DOOROFTIME_SONGONLY,
RO_DOOROFTIME_OPEN,
} RandoOptionDoorOfTime;
//Zora's Fountain settings (closed, closed as child, open)
typedef enum {
RO_ZF_CLOSED,
RO_ZF_CLOSED_CHILD,
RO_ZF_OPEN,
} RandoOptionZorasFountain;
//Starting Age settings (child, adult, random)
typedef enum {
RO_AGE_CHILD,
RO_AGE_ADULT,
RO_AGE_RANDOM,
} RandoOptionStartingAge;
//Gerudo Fortress settings (normal, fast, open)
typedef enum {
RO_GF_NORMAL,
RO_GF_FAST,
RO_GF_OPEN,
} RandoOptionGerudoFortress;
//Kakariko Gate settings (closed/open)
typedef enum {
RO_KAK_GATE_CLOSED,
RO_KAK_GATE_OPEN,
} RandoOptionKakarikoGate;
//Rainbow Bridge settings (vanilla, always open, stones, medallions, dungeon rewards, dungeons, tokens)
typedef enum {
RO_BRIDGE_VANILLA = 0,
RO_BRIDGE_ALWAYS_OPEN,
RO_BRIDGE_STONES,
RO_BRIDGE_MEDALLIONS,
RO_BRIDGE_DUNGEON_REWARDS,
RO_BRIDGE_DUNGEONS,
RO_BRIDGE_TOKENS,
RO_BRIDGE_GREG,
} RandoOptionRainbowBridge;
// Bridge Reward Options settings (Standard rewards, Greg as reward, Greg as wildcard)
typedef enum {
RO_BRIDGE_STANDARD_REWARD,
RO_BRIDGE_GREG_REWARD,
RO_BRIDGE_WILDCARD_REWARD,
} RandoOptionBridgeRewards;
//Shopsanity settings (off, 0-4 items, random)
typedef enum {
RO_SHOPSANITY_OFF,
RO_SHOPSANITY_ZERO_ITEMS,
RO_SHOPSANITY_ONE_ITEM,
RO_SHOPSANITY_TWO_ITEMS,
RO_SHOPSANITY_THREE_ITEMS,
RO_SHOPSANITY_FOUR_ITEMS,
RO_SHOPSANITY_RANDOM,
} RandoOptionShopsanity;
//Shopsanity price ranges
typedef enum {
RO_SHOPSANITY_PRICE_BALANCED, //Balanced random from 0-300
RO_SHOPSANITY_PRICE_STARTER, //Wallets are random within their range, in increments of 5 rupees
RO_SHOPSANITY_PRICE_ADULT,
RO_SHOPSANITY_PRICE_GIANT,
RO_SHOPSANITY_PRICE_TYCOON,
} RandoOptionShopsanityPrices;
//Scrubsanity settings (off, affordable, expensive, random)
typedef enum {
RO_SCRUBS_OFF,
RO_SCRUBS_AFFORDABLE,
RO_SCRUBS_EXPENSIVE,
RO_SCRUBS_RANDOM,
} RandoOptionScrubsanity;
//Ammo drop settings (on, "on+bombchu", off)
typedef enum {
RO_AMMO_DROPS_ON,
RO_AMMO_DROPS_ON_PLUS_BOMBCHU,
RO_AMMO_DROPS_OFF,
} RandoOptionAmmoDrops;
//Any Dungeon Item (start with, vanilla, own dungeon, any dungeon,
//overworld, anywhere)
typedef enum {
RO_DUNGEON_ITEM_LOC_STARTWITH,
RO_DUNGEON_ITEM_LOC_VANILLA,
RO_DUNGEON_ITEM_LOC_OWN_DUNGEON,
RO_DUNGEON_ITEM_LOC_ANY_DUNGEON,
RO_DUNGEON_ITEM_LOC_OVERWORLD,
RO_DUNGEON_ITEM_LOC_ANYWHERE,
} RandoOptionDungeonItemLocation;
//Dungeon reward settings
typedef enum {
RO_DUNGEON_REWARDS_END_OF_DUNGEON,
RO_DUNGEON_REWARDS_ANY_DUNGEON,
RO_DUNGEON_REWARDS_OVERWORLD,
RO_DUNGEON_REWARDS_ANYWHERE,
} RandoOptionDungeonRewards;
//Keyring Settings
typedef enum {
RO_KEYRINGS_OFF,
RO_KEYRINGS_RANDOM,
RO_KEYRINGS_COUNT,
RO_KEYRINGS_SELECTION,
} RandoOptionKeyrings;
//Ganon's Boss Key Settings (vanilla, own dungeon, start with,
//overworld, anywhere, 100 GS reward)
typedef enum {
RO_GANON_BOSS_KEY_VANILLA,
RO_GANON_BOSS_KEY_OWN_DUNGEON,
RO_GANON_BOSS_KEY_STARTWITH,
RO_GANON_BOSS_KEY_ANY_DUNGEON,
RO_GANON_BOSS_KEY_OVERWORLD,
RO_GANON_BOSS_KEY_ANYWHERE,
RO_GANON_BOSS_KEY_LACS_VANILLA,
RO_GANON_BOSS_KEY_LACS_STONES,
RO_GANON_BOSS_KEY_LACS_MEDALLIONS,
RO_GANON_BOSS_KEY_LACS_REWARDS,
RO_GANON_BOSS_KEY_LACS_DUNGEONS,
RO_GANON_BOSS_KEY_LACS_TOKENS,
RO_GANON_BOSS_KEY_KAK_TOKENS,
RO_GANON_BOSS_KEY_TRIFORCE_HUNT,
} RandoOptionGanonsBossKey;
// LACS Reward Options settings (Standard rewards, Greg as reward, Greg as wildcard)
typedef enum {
RO_LACS_STANDARD_REWARD,
RO_LACS_GREG_REWARD,
RO_LACS_WILDCARD_REWARD,
} RandoOptionLACSRewards;
//Ganon's Trials
typedef enum {
RO_GANONS_TRIALS_SKIP,
RO_GANONS_TRIALS_SET_NUMBER,
RO_GANONS_TRIALS_RANDOM_NUMBER,
} RandoOptionGanonsTrials;
//Shuffle Dungeon Entrance Settings (Off, on, plus ganon)
typedef enum {
RO_DUNGEON_ENTRANCE_SHUFFLE_OFF,
RO_DUNGEON_ENTRANCE_SHUFFLE_ON,
RO_DUNGEON_ENTRANCE_SHUFFLE_ON_PLUS_GANON,
} RandoOptionDungeonEntranceShuffle;
//Shuffle Boss Room Entrance Settings (Off, Age Restricted, Full)
typedef enum {
RO_BOSS_ROOM_ENTRANCE_SHUFFLE_OFF,
RO_BOSS_ROOM_ENTRANCE_SHUFFLE_AGE_RESTRICTED,
RO_BOSS_ROOM_ENTRANCE_SHUFFLE_FULL,
} RandoOptionBossRoomEntranceShuffle;
//Shuffle Interior Entrance Settings (Off, simple, all)
typedef enum {
RO_INTERIOR_ENTRANCE_SHUFFLE_OFF,
RO_INTERIOR_ENTRANCE_SHUFFLE_SIMPLE,
RO_INTERIOR_ENTRANCE_SHUFFLE_ALL,
} RandoOptionInteriorEntranceShuffle;
//Song shuffle Settings (Song locations, Dungeon rewards, anywhere)
typedef enum {
RO_SONG_SHUFFLE_SONG_LOCATIONS,
RO_SONG_SHUFFLE_DUNGEON_REWARDS,
RO_SONG_SHUFFLE_ANYWHERE,
} RandoOptionSongShuffle;
//Shuffle Merchants Settings (Off, On no hint, on with wint)
typedef enum {
RO_SHUFFLE_MERCHANTS_OFF,
RO_SHUFFLE_MERCHANTS_ON_NO_HINT,
RO_SHUFFLE_MERCHANTS_ON_HINT,
} RandoOptionShuffleMerchants;
//Starting Ocarina Settings (off, fairy)
typedef enum {
RO_STARTING_OCARINA_OFF,
RO_STARTING_OCARINA_FAIRY,
} RandoOptionStartingOcarina;
//Item Pool Settings
typedef enum {
RO_ITEM_POOL_PLENTIFUL,
RO_ITEM_POOL_BALANCED,
RO_ITEM_POOL_SCARCE,
RO_ITEM_POOL_MINIMAL,
} RandoOptionItemPool;
//Ice Trap Settings
typedef enum {
RO_ICE_TRAPS_OFF,
RO_ICE_TRAPS_NORMAL,
RO_ICE_TRAPS_EXTRA,
RO_ICE_TRAPS_MAYHEM,
RO_ICE_TRAPS_ONSLAUGHT,
} RandoOptionIceTraps;
//Gossip Stone Hint Settings (no hints, needs nothing,
//needs mask of truth, needs stone of agony)
typedef enum {
RO_GOSSIP_STONES_NONE,
RO_GOSSIP_STONES_NEED_NOTHING,
RO_GOSSIP_STONES_NEED_TRUTH,
RO_GOSSIP_STONES_NEED_STONE,
} RandoOptionGossipStones;
//Hint Clarity Settings (obscure, ambiguous, clear)
typedef enum {
RO_HINT_CLARITY_OBSCURE,
RO_HINT_CLARITY_AMBIGUOUS,
RO_HINT_CLARITY_CLEAR,
} RandoOptionHintClarity;
//Hint Distribution Settings (useless, balanced, strong, very strong)
typedef enum {
RO_HINT_DIST_USELESS,
RO_HINT_DIST_BALANCED,
RO_HINT_DIST_STRONG,
RO_HINT_DIST_VERY_STRONG,
} RandoOptionHintDistribution;
//Gerudo Fortress Key Settings (vanilla, any dungeon, overworld,
//anywhere)
typedef enum {
RO_GERUDO_KEYS_VANILLA,
RO_GERUDO_KEYS_ANY_DUNGEON,
RO_GERUDO_KEYS_OVERWORLD,
RO_GERUDO_KEYS_ANYWHERE,
} RandoOptionGerudoKeys;
//Tokensanity settings (off, dungeons, overworld, all)
typedef enum {
RO_TOKENSANITY_OFF,
RO_TOKENSANITY_DUNGEONS,
RO_TOKENSANITY_OVERWORLD,
RO_TOKENSANITY_ALL,
} RandoOptionTokensanity;
//Link's Pocket Settings (dungeon reward, advancement, anything, nothing)
typedef enum {
RO_LINKS_POCKET_DUNGEON_REWARD,
RO_LINKS_POCKET_ADVANCEMENT,
RO_LINKS_POCKET_ANYTHING,
RO_LINKS_POCKET_NOTHING,
} RandoOptionLinksPocket;
// Logic (glitchless/no logic)
typedef enum {
RO_LOGIC_GLITCHLESS,
//RO_LOGIC_GLITCHED,
RO_LOGIC_NO_LOGIC,
RO_LOGIC_VANILLA,
} RandoOptionLogic;
// MQ Dungeons
typedef enum {
RO_MQ_DUNGEONS_NONE,
RO_MQ_DUNGEONS_SET_NUMBER,
RO_MQ_DUNGEONS_RANDOM_NUMBER,
RO_MQ_DUNGEONS_SELECTION,
} RandoOptionMQDungeons;
typedef enum {
CAN_OBTAIN,
CANT_OBTAIN_MISC,
CANT_OBTAIN_ALREADY_HAVE,
CANT_OBTAIN_NEED_UPGRADE,
CANT_OBTAIN_NEED_EMPTY_BOTTLE,
} ItemObtainability;
typedef struct ScrubIdentity {
RandomizerInf randomizerInf;
RandomizerCheck randomizerCheck;
GetItemID getItemId;
int32_t itemPrice;
uint8_t isShuffled;
} ScrubIdentity;
typedef struct ShopItemIdentity {
RandomizerInf randomizerInf;
RandomizerCheck randomizerCheck;
GetItemID ogItemId;
int32_t enGirlAShopItem;
int32_t itemPrice;
} ShopItemIdentity;
typedef struct CowIdentity {
RandomizerInf randomizerInf;
RandomizerCheck randomizerCheck;
} CowIdentity;
typedef enum {
TRACKER_WINDOW_FLOATING,
TRACKER_WINDOW_WINDOW
} TrackerWindowType;
typedef enum {
TRACKER_DISPLAY_ALWAYS,
TRACKER_DISPLAY_COMBO_BUTTON
} TrackerDisplayType;
typedef enum {
TRACKER_COMBO_BUTTON_A,
TRACKER_COMBO_BUTTON_B,
TRACKER_COMBO_BUTTON_C_UP,
TRACKER_COMBO_BUTTON_C_DOWN,
TRACKER_COMBO_BUTTON_C_LEFT,
TRACKER_COMBO_BUTTON_C_RIGHT,
TRACKER_COMBO_BUTTON_L,
TRACKER_COMBO_BUTTON_Z,
TRACKER_COMBO_BUTTON_R,
TRACKER_COMBO_BUTTON_START,
TRACKER_COMBO_BUTTON_D_UP,
TRACKER_COMBO_BUTTON_D_DOWN,
TRACKER_COMBO_BUTTON_D_LEFT,
TRACKER_COMBO_BUTTON_D_RIGHT,
} TrackerComboButton;
typedef enum {
TH_MESSAGE_START,
TH_MESSAGE_PROGRESS,
TH_MESSAGE_HALFWAY,
TH_MESSAGE_ALMOSTDONE,
TH_MESSAGE_FINISHED,
TH_MESSAGE_SURPLUS,
} TriforceHuntMessages;