diff --git a/decompRename.js b/decompRename.js new file mode 100644 index 00000000000..6dd0f173c4f --- /dev/null +++ b/decompRename.js @@ -0,0 +1,216 @@ +const fs = require('fs'); +const path = require('path'); + +const C_FILES_REGEX = /.+(\.cpp|\.c|\.inc|\.h)$/; + +const z64itemMap = { + // EquipmentType + 'EQUIP_SWORD': 'EQUIP_TYPE_SWORD', + 'EQUIP_SHIELD': 'EQUIP_TYPE_SHIELD', + 'EQUIP_TUNIC': 'EQUIP_TYPE_TUNIC', + 'EQUIP_BOOTS': 'EQUIP_TYPE_BOOTS', + // UpgradeType + 'UPG_STICKS': 'UPG_DEKU_STICKS', + 'UPG_NUTS': 'UPG_DEKU_NUTS', + // QuestItem + 'QUEST_GERUDO_CARD': 'QUEST_GERUDOS_CARD', + 'QUEST_HEART_PIECE': 'QUEST_HEART_PIECE_COUNT', + // DungeonItem + 'DUNGEON_KEY_BOSS': 'DUNGEON_BOSS_KEY', + // InventorySlot + 'SLOT_STICK': 'SLOT_DEKU_STICK', + 'SLOT_NUT': 'SLOT_DEKU_NUT', + 'SLOT_LENS': 'SLOT_LENS_OF_TRUTH', + 'SLOT_BEAN': 'SLOT_MAGIC_BEAN', + // ItemID + 'ITEM_STICK': 'ITEM_DEKU_STICK', + 'ITEM_NUT': 'ITEM_DEKU_NUT', + 'ITEM_OCARINA_TIME': 'ITEM_OCARINA_OF_TIME', + 'ITEM_LENS': 'ITEM_LENS_OF_TRUTH', + 'ITEM_BEAN': 'ITEM_MAGIC_BEAN', + 'ITEM_BOTTLE': 'ITEM_BOTTLE_EMPTY', + 'ITEM_POTION_RED': 'ITEM_BOTTLE_POTION_RED', + 'ITEM_POTION_GREEN': 'ITEM_BOTTLE_POTION_GREEN', + 'ITEM_POTION_BLUE': 'ITEM_BOTTLE_POTION_BLUE', + 'ITEM_FAIRY': 'ITEM_BOTTLE_FAIRY', + 'ITEM_FISH': 'ITEM_BOTTLE_FISH', + 'ITEM_MILK_BOTTLE': 'ITEM_BOTTLE_MILK_FULL', + 'ITEM_LETTER_RUTO': 'ITEM_BOTTLE_RUTOS_LETTER', + 'ITEM_BLUE_FIRE': 'ITEM_BOTTLE_BLUE_FIRE', + 'ITEM_BUG': 'ITEM_BOTTLE_BUG', + 'ITEM_BIG_POE': 'ITEM_BOTTLE_BIG_POE', + 'ITEM_MILK_HALF': 'ITEM_BOTTLE_MILK_HALF', + 'ITEM_POE': 'ITEM_BOTTLE_POE', + 'ITEM_LETTER_ZELDA': 'ITEM_ZELDAS_LETTER', + 'ITEM_MASK_BUNNY': 'ITEM_MASK_BUNNY_HOOD', + 'ITEM_SAW': 'ITEM_POACHERS_SAW', + 'ITEM_SWORD_BROKEN': 'ITEM_BROKEN_GORONS_SWORD', + 'ITEM_FROG': 'ITEM_EYEBALL_FROG', + 'ITEM_EYEDROPS': 'ITEM_EYE_DROPS', + 'ITEM_BOW_ARROW_FIRE': 'ITEM_BOW_FIRE', + 'ITEM_BOW_ARROW_ICE': 'ITEM_BOW_ICE', + 'ITEM_BOW_ARROW_LIGHT': 'ITEM_BOW_LIGHT', + 'ITEM_SWORD_BGS': 'ITEM_SWORD_BIGGORON', + 'ITEM_BRACELET': 'ITEM_STRENGTH_GORONS_BRACELET', + 'ITEM_GAUNTLETS_SILVER': 'ITEM_STRENGTH_SILVER_GAUNTLETS', + 'ITEM_GAUNTLETS_GOLD': 'ITEM_STRENGTH_GOLD_GAUNTLETS', + 'ITEM_SWORD_KNIFE': 'ITEM_GIANTS_KNIFE', + 'ITEM_WALLET_ADULT': 'ITEM_ADULTS_WALLET', + 'ITEM_WALLET_GIANT': 'ITEM_GIANTS_WALLET', + 'ITEM_SEEDS': 'ITEM_DEKU_SEEDS', + 'ITEM_GERUDO_CARD': 'ITEM_GERUDOS_CARD', + 'ITEM_KEY_BOSS': 'ITEM_DUNGEON_BOSS_KEY', + 'ITEM_COMPASS': 'ITEM_DUNGEON_COMPASS', + 'ITEM_KEY_SMALL': 'ITEM_SMALL_KEY', + 'ITEM_MAGIC_SMALL': 'ITEM_MAGIC_JAR_SMALL', + 'ITEM_MAGIC_LARGE': 'ITEM_MAGIC_JAR_BIG', + 'ITEM_SINGLE_MAGIC': 'ITEM_INVALID_1', + 'ITEM_DOUBLE_MAGIC': 'ITEM_INVALID_2', + 'ITEM_DOUBLE_DEFENSE': 'ITEM_INVALID_3', + 'ITEM_HEART': 'ITEM_RECOVERY_HEART', + 'ITEM_STICKS_5': 'ITEM_DEKU_STICKS_5', + 'ITEM_STICKS_10': 'ITEM_DEKU_STICKS_10', + 'ITEM_NUTS_5': 'ITEM_DEKU_NUTS_5', + 'ITEM_NUTS_10': 'ITEM_DEKU_NUTS_10', + 'ITEM_ARROWS_SMALL': 'ITEM_ARROWS_5', + 'ITEM_ARROWS_MEDIUM': 'ITEM_ARROWS_10', + 'ITEM_ARROWS_LARGE': 'ITEM_ARROWS_30', + 'ITEM_SEEDS_30': 'ITEM_DEKU_SEEDS_30', + 'ITEM_STICK_UPGRADE_20': 'ITEM_DEKU_STICK_UPGRADE_20', + 'ITEM_STICK_UPGRADE_30': 'ITEM_DEKU_STICK_UPGRADE_30', + 'ITEM_NUT_UPGRADE_30': 'ITEM_DEKU_NUT_UPGRADE_30', + 'ITEM_NUT_UPGRADE_40': 'ITEM_DEKU_NUT_UPGRADE_40', + // GetItemID + 'GI_NUTS_5': 'GI_DEKU_NUTS_5', + 'GI_STICKS_1': 'GI_DEKU_STICKS_1', + 'GI_LENS': 'GI_LENS_OF_TRUTH', + 'GI_LETTER_ZELDA': 'GI_ZELDAS_LETTER', + 'GI_OCARINA_OOT': 'GI_OCARINA_OF_TIME', + 'GI_BOTTLE': 'GI_BOTTLE_EMPTY', + 'GI_POTION_RED': 'GI_BOTTLE_POTION_RED', + 'GI_POTION_GREEN': 'GI_BOTTLE_POTION_GREEN', + 'GI_POTION_BLUE': 'GI_BOTTLE_POTION_BLUE', + 'GI_FAIRY': 'GI_BOTTLE_FAIRY', + 'GI_MILK_BOTTLE': 'GI_BOTTLE_MILK_FULL', + 'GI_LETTER_RUTO': 'GI_BOTTLE_RUTOS_LETTER', + 'GI_BEAN': 'GI_MAGIC_BEAN', + 'GI_MASK_BUNNY': 'GI_MASK_BUNNY_HOOD', + 'GI_SAW': 'GI_POACHERS_SAW', + 'GI_SWORD_BROKEN': 'GI_BROKEN_GORONS_SWORD', + 'GI_FROG': 'GI_EYEBALL_FROG', + 'GI_EYEDROPS': 'GI_EYE_DROPS', + 'GI_GAUNTLETS_SILVER': 'GI_SILVER_GAUNTLETS', + 'GI_GAUNTLETS_GOLD': 'GI_GOLD_GAUNTLETS', + 'GI_SCALE_GOLD': 'GI_SCALE_GOLDEN', + 'GI_GERUDO_CARD': 'GI_GERUDOS_CARD', + 'GI_SEEDS_5': 'GI_DEKU_SEEDS_5', + 'GI_KEY_BOSS': 'GI_BOSS_KEY', + 'GI_MAP': 'GI_DUNGEON_MAP', + 'GI_KEY_SMALL': 'GI_SMALL_KEY', + 'GI_MAGIC_SMALL': 'GI_MAGIC_JAR_SMALL', + 'GI_MAGIC_LARGE': 'GI_MAGIC_JAR_LARGE', + 'GI_HEART': 'GI_RECOVERY_HEART', + 'GI_ARROWS_SMALL': 'GI_ARROWS_5', + 'GI_ARROWS_MEDIUM': 'GI_ARROWS_10', + 'GI_ARROWS_LARGE': 'GI_ARROWS_30', + 'GI_BRACELET': 'GI_GORONS_BRACELET', + 'GI_SWORD_BGS': 'GI_SWORD_BIGGORON', + 'GI_STICKS_5': 'GI_DEKU_STICKS_5', + 'GI_STICKS_10': 'GI_DEKU_STICKS_10', + 'GI_NUTS_5_2': 'GI_DEKU_NUTS_5_2', + 'GI_NUTS_10': 'GI_DEKU_NUTS_10', + 'GI_SEEDS_30': 'GI_DEKU_SEEDS_30', + 'GI_FISH': 'GI_BOTTLE_FISH', + 'GI_BUGS': 'GI_BOTTLE_BUGS', + 'GI_BLUE_FIRE': 'GI_BOTTLE_BLUE_FIRE', + 'GI_POE': 'GI_BOTTLE_POE', + 'GI_BIG_POE': 'GI_BOTTLE_BIG_POE', + 'GI_STICK_UPGRADE_20': 'GI_DEKU_STICK_UPGRADE_20', + 'GI_STICK_UPGRADE_30': 'GI_DEKU_STICK_UPGRADE_30', + 'GI_NUT_UPGRADE_30': 'GI_DEKU_NUT_UPGRADE_30', + 'GI_NUT_UPGRADE_40': 'GI_DEKU_NUT_UPGRADE_40', + // GetItemDrawID + 'GID_BOTTLE': 'GID_BOTTLE_EMPTY', + 'GID_KEY_SMALL': 'GID_SMALL_KEY', + 'GID_HEART': 'GID_RECOVERY_HEART', + 'GID_KEY_BOSS': 'GID_BOSS_KEY', + 'GID_NUTS': 'GID_DEKU_NUTS', + 'GID_STICK': 'GID_DEKU_STICK', + 'GID_MAGIC_SMALL': 'GID_MAGIC_JAR_SMALL', + 'GID_MAGIC_LARGE': 'GID_MAGIC_JAR_LARGE', + 'GID_GERUDO_CARD': 'GID_GERUDOS_CARD', + 'GID_ARROWS_SMALL': 'GID_ARROWS_5', + 'GID_ARROWS_MEDIUM': 'GID_ARROWS_10', + 'GID_ARROWS_LARGE': 'GID_ARROWS_30', + 'GID_OCARINA_TIME': 'GID_OCARINA_OF_TIME', + 'GID_MILK': 'GID_BOTTLE_MILK_FULL', + 'GID_LENS': 'GID_LENS_OF_TRUTH', + 'GID_POTION_GREEN': 'GID_BOTTLE_POTION_GREEN', + 'GID_POTION_RED': 'GID_BOTTLE_POTION_RED', + 'GID_POTION_BLUE': 'GID_BOTTLE_POTION_BLUE', + 'GID_LETTER_ZELDA': 'GID_ZELDAS_LETTER', + 'GID_BEAN': 'GID_MAGIC_BEAN', + 'GID_SAW': 'GID_POACHERS_SAW', + 'GID_SWORD_BGS': 'GID_SWORD_BIGGORON', + 'GID_CHICKEN': 'GID_CUCCO', + 'GID_LETTER_RUTO': 'GID_BOTTLE_RUTOS_LETTER', + 'GID_SEEDS': 'GID_DEKU_SEEDS', + 'GID_GAUNTLETS_SILVER': 'GID_SILVER_GAUNTLETS', + 'GID_GAUNTLETS_GOLD': 'GID_GOLD_GAUNTLETS', + 'GID_MASK_BUNNY': 'GID_MASK_BUNNY_HOOD', + 'GID_EYEDROPS': 'GID_EYE_DROPS', + 'GID_SWORD_BROKEN': 'GID_BROKEN_GORONS_SWORD', + 'GID_BRACELET': 'GID_GORONS_BRACELET', + 'GID_FROG': 'GID_EYEBALL_FROG', + // ExchangeItemID + 'EXCH_ITEM_LETTER_ZELDA': 'EXCH_ITEM_ZELDAS_LETTER', + 'EXCH_ITEM_BEAN': 'EXCH_ITEM_MAGIC_BEAN', + 'EXCH_ITEM_SAW': 'EXCH_ITEM_POACHERS_SAW', + 'EXCH_ITEM_SWORD_BROKEN': 'EXCH_ITEM_BROKEN_GORONS_SWORD', + 'EXCH_ITEM_FROG': 'EXCH_ITEM_EYEBALL_FROG', + 'EXCH_ITEM_EYEDROPS': 'EXCH_ITEM_EYE_DROPS', + 'EXCH_ITEM_MASK_BUNNY': 'EXCH_ITEM_MASK_BUNNY_HOOD', + 'EXCH_ITEM_FISH': 'EXCH_ITEM_BOTTLE_FISH', + 'EXCH_ITEM_BLUE_FIRE': 'EXCH_ITEM_BOTTLE_BLUE_FIRE', + 'EXCH_ITEM_BUG': 'EXCH_ITEM_BOTTLE_BUG', + 'EXCH_ITEM_POE': 'EXCH_ITEM_BOTTLE_POE', + 'EXCH_ITEM_BIG_POE': 'EXCH_ITEM_BOTTLE_BIG_POE', + 'EXCH_ITEM_LETTER_RUTO': 'EXCH_ITEM_BOTTLE_RUTOS_LETTER', +} + +const maps = [z64itemMap]; + +// Regex patterns to match and replace +function processFile(filePath) { + const content = fs.readFileSync(filePath, 'utf8'); + let updatedContent = content; + + maps.forEach((map) => { + Object.keys(map).forEach((before) => { + const after = map[before]; + const beforeRegex = new RegExp(`\\b${before}\\b`, 'g'); + updatedContent = updatedContent.replace(beforeRegex, after); + }); + }); + + fs.writeFileSync(filePath, updatedContent, 'utf8'); +} + +// Recursive function to process files in a directory +function processFiles(dirPath) { + const files = fs.readdirSync(dirPath); + + files.forEach((file) => { + const filePath = path.join(dirPath, file); + const stat = fs.statSync(filePath); + + if (stat.isDirectory() && !filePath.match(/\.git$/)) { + processFiles(filePath); + } else if (C_FILES_REGEX.test(file)) { + processFile(filePath); + } + }); +} + +// Start processing files in the directory +processFiles(__dirname); diff --git a/libultraship b/libultraship index 317edd72cc3..ec44917cf55 160000 --- a/libultraship +++ b/libultraship @@ -1 +1 @@ -Subproject commit 317edd72cc317387f8ac010a9ec772d4bfdfdbb6 +Subproject commit ec44917cf5536c8c59aaa7865696926e0bec1ba0 diff --git a/soh/include/macros.h b/soh/include/macros.h index 5157315ac12..dd2b611108e 100644 --- a/soh/include/macros.h +++ b/soh/include/macros.h @@ -54,7 +54,7 @@ #define SLOT(item) gItemSlots[item] #define INV_CONTENT(item) gSaveContext.inventory.items[SLOT(item)] #define AMMO(item) gSaveContext.inventory.ammo[SLOT(item)] -#define BEANS_BOUGHT AMMO(ITEM_BEAN + 1) +#define BEANS_BOUGHT AMMO(ITEM_MAGIC_BEAN + 1) #define ALL_EQUIP_VALUE(equip) ((s32)(gSaveContext.inventory.equipment & gEquipMasks[equip]) >> gEquipShifts[equip]) #define CUR_EQUIP_VALUE(equip) ((s32)(gSaveContext.equips.equipment & gEquipMasks[equip]) >> gEquipShifts[equip]) @@ -100,8 +100,8 @@ #define B_BTN_ITEM ((gSaveContext.buttonStatus[0] == ITEM_NONE) \ ? ITEM_NONE \ - : (gSaveContext.equips.buttonItems[0] == ITEM_SWORD_KNIFE) \ - ? ITEM_SWORD_BGS \ + : (gSaveContext.equips.buttonItems[0] == ITEM_GIANTS_KNIFE) \ + ? ITEM_SWORD_BIGGORON \ : gSaveContext.equips.buttonItems[0]) #define C_BTN_ITEM(button) ((gSaveContext.buttonStatus[(button) + 1] != BTN_DISABLED) \ diff --git a/soh/include/z64item.h b/soh/include/z64item.h index 2f0038872f1..314ea1272e8 100644 --- a/soh/include/z64item.h +++ b/soh/include/z64item.h @@ -2,10 +2,10 @@ #define Z64ITEM_H typedef enum { - /* 0x00 */ EQUIP_SWORD, - /* 0x01 */ EQUIP_SHIELD, - /* 0x02 */ EQUIP_TUNIC, - /* 0x03 */ EQUIP_BOOTS + /* 0x00 */ EQUIP_TYPE_SWORD, + /* 0x01 */ EQUIP_TYPE_SHIELD, + /* 0x02 */ EQUIP_TYPE_TUNIC, + /* 0x03 */ EQUIP_TYPE_BOOTS } EquipmentType; typedef enum { @@ -15,8 +15,8 @@ typedef enum { /* 0x03 */ UPG_SCALE, /* 0x04 */ UPG_WALLET, /* 0x05 */ UPG_BULLET_BAG, - /* 0x06 */ UPG_STICKS, - /* 0x07 */ UPG_NUTS + /* 0x06 */ UPG_DEKU_STICKS, + /* 0x07 */ UPG_DEKU_NUTS } UpgradeType; typedef enum { @@ -42,20 +42,20 @@ typedef enum { /* 0x13 */ QUEST_GORON_RUBY, /* 0x14 */ QUEST_ZORA_SAPPHIRE, /* 0x15 */ QUEST_STONE_OF_AGONY, - /* 0x16 */ QUEST_GERUDO_CARD, + /* 0x16 */ QUEST_GERUDOS_CARD, /* 0x17 */ QUEST_SKULL_TOKEN, - /* 0x18 */ QUEST_HEART_PIECE + /* 0x18 */ QUEST_HEART_PIECE_COUNT } QuestItem; typedef enum { - /* 0x00 */ DUNGEON_KEY_BOSS, + /* 0x00 */ DUNGEON_BOSS_KEY, /* 0x01 */ DUNGEON_COMPASS, /* 0x02 */ DUNGEON_MAP } DungeonItem; typedef enum { - /* 0x00 */ SLOT_STICK, - /* 0x01 */ SLOT_NUT, + /* 0x00 */ SLOT_DEKU_STICK, + /* 0x01 */ SLOT_DEKU_NUT, /* 0x02 */ SLOT_BOMB, /* 0x03 */ SLOT_BOW, /* 0x04 */ SLOT_ARROW_FIRE, @@ -67,8 +67,8 @@ typedef enum { /* 0x0A */ SLOT_ARROW_ICE, /* 0x0B */ SLOT_FARORES_WIND, /* 0x0C */ SLOT_BOOMERANG, - /* 0x0D */ SLOT_LENS, - /* 0x0E */ SLOT_BEAN, + /* 0x0D */ SLOT_LENS_OF_TRUTH, + /* 0x0E */ SLOT_MAGIC_BEAN, /* 0x0F */ SLOT_HAMMER, /* 0x10 */ SLOT_ARROW_LIGHT, /* 0x11 */ SLOT_NAYRUS_LOVE, @@ -88,46 +88,46 @@ typedef enum { } InventorySlot; typedef enum { - /* 0x00 */ ITEM_STICK, - /* 0x01 */ ITEM_NUT, + /* 0x00 */ ITEM_DEKU_STICK, + /* 0x01 */ ITEM_DEKU_NUT, /* 0x02 */ ITEM_BOMB, /* 0x03 */ ITEM_BOW, /* 0x04 */ ITEM_ARROW_FIRE, /* 0x05 */ ITEM_DINS_FIRE, /* 0x06 */ ITEM_SLINGSHOT, /* 0x07 */ ITEM_OCARINA_FAIRY, - /* 0x08 */ ITEM_OCARINA_TIME, + /* 0x08 */ ITEM_OCARINA_OF_TIME, /* 0x09 */ ITEM_BOMBCHU, /* 0x0A */ ITEM_HOOKSHOT, /* 0x0B */ ITEM_LONGSHOT, /* 0x0C */ ITEM_ARROW_ICE, /* 0x0D */ ITEM_FARORES_WIND, /* 0x0E */ ITEM_BOOMERANG, - /* 0x0F */ ITEM_LENS, - /* 0x10 */ ITEM_BEAN, + /* 0x0F */ ITEM_LENS_OF_TRUTH, + /* 0x10 */ ITEM_MAGIC_BEAN, /* 0x11 */ ITEM_HAMMER, /* 0x12 */ ITEM_ARROW_LIGHT, /* 0x13 */ ITEM_NAYRUS_LOVE, - /* 0x14 */ ITEM_BOTTLE, - /* 0x15 */ ITEM_POTION_RED, - /* 0x16 */ ITEM_POTION_GREEN, - /* 0x17 */ ITEM_POTION_BLUE, - /* 0x18 */ ITEM_FAIRY, - /* 0x19 */ ITEM_FISH, - /* 0x1A */ ITEM_MILK_BOTTLE, - /* 0x1B */ ITEM_LETTER_RUTO, - /* 0x1C */ ITEM_BLUE_FIRE, - /* 0x1D */ ITEM_BUG, - /* 0x1E */ ITEM_BIG_POE, - /* 0x1F */ ITEM_MILK_HALF, - /* 0x20 */ ITEM_POE, + /* 0x14 */ ITEM_BOTTLE_EMPTY, + /* 0x15 */ ITEM_BOTTLE_POTION_RED, + /* 0x16 */ ITEM_BOTTLE_POTION_GREEN, + /* 0x17 */ ITEM_BOTTLE_POTION_BLUE, + /* 0x18 */ ITEM_BOTTLE_FAIRY, + /* 0x19 */ ITEM_BOTTLE_FISH, + /* 0x1A */ ITEM_BOTTLE_MILK_FULL, + /* 0x1B */ ITEM_BOTTLE_RUTOS_LETTER, + /* 0x1C */ ITEM_BOTTLE_BLUE_FIRE, + /* 0x1D */ ITEM_BOTTLE_BUG, + /* 0x1E */ ITEM_BOTTLE_BIG_POE, + /* 0x1F */ ITEM_BOTTLE_MILK_HALF, + /* 0x20 */ ITEM_BOTTLE_POE, /* 0x21 */ ITEM_WEIRD_EGG, /* 0x22 */ ITEM_CHICKEN, - /* 0x23 */ ITEM_LETTER_ZELDA, + /* 0x23 */ ITEM_ZELDAS_LETTER, /* 0x24 */ ITEM_MASK_KEATON, /* 0x25 */ ITEM_MASK_SKULL, /* 0x26 */ ITEM_MASK_SPOOKY, - /* 0x27 */ ITEM_MASK_BUNNY, + /* 0x27 */ ITEM_MASK_BUNNY_HOOD, /* 0x28 */ ITEM_MASK_GORON, /* 0x29 */ ITEM_MASK_ZORA, /* 0x2A */ ITEM_MASK_GERUDO, @@ -138,18 +138,18 @@ typedef enum { /* 0x2F */ ITEM_COJIRO, /* 0x30 */ ITEM_ODD_MUSHROOM, /* 0x31 */ ITEM_ODD_POTION, - /* 0x32 */ ITEM_SAW, - /* 0x33 */ ITEM_SWORD_BROKEN, + /* 0x32 */ ITEM_POACHERS_SAW, + /* 0x33 */ ITEM_BROKEN_GORONS_SWORD, /* 0x34 */ ITEM_PRESCRIPTION, - /* 0x35 */ ITEM_FROG, - /* 0x36 */ ITEM_EYEDROPS, + /* 0x35 */ ITEM_EYEBALL_FROG, + /* 0x36 */ ITEM_EYE_DROPS, /* 0x37 */ ITEM_CLAIM_CHECK, - /* 0x38 */ ITEM_BOW_ARROW_FIRE, - /* 0x39 */ ITEM_BOW_ARROW_ICE, - /* 0x3A */ ITEM_BOW_ARROW_LIGHT, + /* 0x38 */ ITEM_BOW_FIRE, + /* 0x39 */ ITEM_BOW_ICE, + /* 0x3A */ ITEM_BOW_LIGHT, /* 0x3B */ ITEM_SWORD_KOKIRI, /* 0x3C */ ITEM_SWORD_MASTER, - /* 0x3D */ ITEM_SWORD_BGS, + /* 0x3D */ ITEM_SWORD_BIGGORON, /* 0x3E */ ITEM_SHIELD_DEKU, /* 0x3F */ ITEM_SHIELD_HYLIAN, /* 0x40 */ ITEM_SHIELD_MIRROR, @@ -168,15 +168,15 @@ typedef enum { /* 0x4D */ ITEM_BOMB_BAG_20, /* 0x4E */ ITEM_BOMB_BAG_30, /* 0x4F */ ITEM_BOMB_BAG_40, - /* 0x50 */ ITEM_BRACELET, - /* 0x51 */ ITEM_GAUNTLETS_SILVER, - /* 0x52 */ ITEM_GAUNTLETS_GOLD, + /* 0x50 */ ITEM_STRENGTH_GORONS_BRACELET, + /* 0x51 */ ITEM_STRENGTH_SILVER_GAUNTLETS, + /* 0x52 */ ITEM_STRENGTH_GOLD_GAUNTLETS, /* 0x53 */ ITEM_SCALE_SILVER, /* 0x54 */ ITEM_SCALE_GOLDEN, - /* 0x55 */ ITEM_SWORD_KNIFE, - /* 0x56 */ ITEM_WALLET_ADULT, - /* 0x57 */ ITEM_WALLET_GIANT, - /* 0x58 */ ITEM_SEEDS, + /* 0x55 */ ITEM_GIANTS_KNIFE, + /* 0x56 */ ITEM_ADULTS_WALLET, + /* 0x57 */ ITEM_GIANTS_WALLET, + /* 0x58 */ ITEM_DEKU_SEEDS, /* 0x59 */ ITEM_FISHING_POLE, /* 0x5A */ ITEM_SONG_MINUET, /* 0x5B */ ITEM_SONG_BOLERO, @@ -200,50 +200,50 @@ typedef enum { /* 0x6D */ ITEM_GORON_RUBY, /* 0x6E */ ITEM_ZORA_SAPPHIRE, /* 0x6F */ ITEM_STONE_OF_AGONY, - /* 0x70 */ ITEM_GERUDO_CARD, + /* 0x70 */ ITEM_GERUDOS_CARD, /* 0x71 */ ITEM_SKULL_TOKEN, /* 0x72 */ ITEM_HEART_CONTAINER, /* 0x73 */ ITEM_HEART_PIECE, - /* 0x74 */ ITEM_KEY_BOSS, - /* 0x75 */ ITEM_COMPASS, + /* 0x74 */ ITEM_DUNGEON_BOSS_KEY, + /* 0x75 */ ITEM_DUNGEON_COMPASS, /* 0x76 */ ITEM_DUNGEON_MAP, - /* 0x77 */ ITEM_KEY_SMALL, - /* 0x78 */ ITEM_MAGIC_SMALL, - /* 0x79 */ ITEM_MAGIC_LARGE, + /* 0x77 */ ITEM_SMALL_KEY, + /* 0x78 */ ITEM_MAGIC_JAR_SMALL, + /* 0x79 */ ITEM_MAGIC_JAR_BIG, /* 0x7A */ ITEM_HEART_PIECE_2, - /* 0x7B */ ITEM_SINGLE_MAGIC, - /* 0x7C */ ITEM_DOUBLE_MAGIC, - /* 0x7D */ ITEM_DOUBLE_DEFENSE, + /* 0x7B */ ITEM_INVALID_1, + /* 0x7C */ ITEM_INVALID_2, + /* 0x7D */ ITEM_INVALID_3, /* 0x7E */ ITEM_INVALID_4, /* 0x7F */ ITEM_INVALID_5, /* 0x80 */ ITEM_INVALID_6, /* 0x81 */ ITEM_INVALID_7, /* 0x82 */ ITEM_MILK, - /* 0x83 */ ITEM_HEART, + /* 0x83 */ ITEM_RECOVERY_HEART, /* 0x84 */ ITEM_RUPEE_GREEN, /* 0x85 */ ITEM_RUPEE_BLUE, /* 0x86 */ ITEM_RUPEE_RED, /* 0x87 */ ITEM_RUPEE_PURPLE, /* 0x88 */ ITEM_RUPEE_GOLD, /* 0x89 */ ITEM_INVALID_8, - /* 0x8A */ ITEM_STICKS_5, - /* 0x8B */ ITEM_STICKS_10, - /* 0x8C */ ITEM_NUTS_5, - /* 0x8D */ ITEM_NUTS_10, + /* 0x8A */ ITEM_DEKU_STICKS_5, + /* 0x8B */ ITEM_DEKU_STICKS_10, + /* 0x8C */ ITEM_DEKU_NUTS_5, + /* 0x8D */ ITEM_DEKU_NUTS_10, /* 0x8E */ ITEM_BOMBS_5, /* 0x8F */ ITEM_BOMBS_10, /* 0x90 */ ITEM_BOMBS_20, /* 0x91 */ ITEM_BOMBS_30, - /* 0x92 */ ITEM_ARROWS_SMALL, - /* 0x93 */ ITEM_ARROWS_MEDIUM, - /* 0x94 */ ITEM_ARROWS_LARGE, - /* 0x95 */ ITEM_SEEDS_30, + /* 0x92 */ ITEM_ARROWS_5, + /* 0x93 */ ITEM_ARROWS_10, + /* 0x94 */ ITEM_ARROWS_30, + /* 0x95 */ ITEM_DEKU_SEEDS_30, /* 0x96 */ ITEM_BOMBCHUS_5, /* 0x97 */ ITEM_BOMBCHUS_20, - /* 0x98 */ ITEM_STICK_UPGRADE_20, - /* 0x99 */ ITEM_STICK_UPGRADE_30, - /* 0x9A */ ITEM_NUT_UPGRADE_30, - /* 0x9B */ ITEM_NUT_UPGRADE_40, + /* 0x98 */ ITEM_DEKU_STICK_UPGRADE_20, + /* 0x99 */ ITEM_DEKU_STICK_UPGRADE_30, + /* 0x9A */ ITEM_DEKU_NUT_UPGRADE_30, + /* 0x9B */ ITEM_DEKU_NUT_UPGRADE_40, /* 0xFC */ ITEM_LAST_USED = 0xFC, /* 0xFE */ ITEM_NONE_FE = 0xFE, /* 0xFF */ ITEM_NONE = 0xFF @@ -256,42 +256,42 @@ typedef enum { typedef enum { /* 0x00 */ GI_NONE, /* 0x01 */ GI_BOMBS_5, - /* 0x02 */ GI_NUTS_5, + /* 0x02 */ GI_DEKU_NUTS_5, /* 0x03 */ GI_BOMBCHUS_10, /* 0x04 */ GI_BOW, /* 0x05 */ GI_SLINGSHOT, /* 0x06 */ GI_BOOMERANG, - /* 0x07 */ GI_STICKS_1, + /* 0x07 */ GI_DEKU_STICKS_1, /* 0x08 */ GI_HOOKSHOT, /* 0x09 */ GI_LONGSHOT, - /* 0x0A */ GI_LENS, - /* 0x0B */ GI_LETTER_ZELDA, - /* 0x0C */ GI_OCARINA_OOT, + /* 0x0A */ GI_LENS_OF_TRUTH, + /* 0x0B */ GI_ZELDAS_LETTER, + /* 0x0C */ GI_OCARINA_OF_TIME, /* 0x0D */ GI_HAMMER, /* 0x0E */ GI_COJIRO, - /* 0x0F */ GI_BOTTLE, - /* 0x10 */ GI_POTION_RED, - /* 0x11 */ GI_POTION_GREEN, - /* 0x12 */ GI_POTION_BLUE, - /* 0x13 */ GI_FAIRY, - /* 0x14 */ GI_MILK_BOTTLE, - /* 0x15 */ GI_LETTER_RUTO, - /* 0x16 */ GI_BEAN, + /* 0x0F */ GI_BOTTLE_EMPTY, + /* 0x10 */ GI_BOTTLE_POTION_RED, + /* 0x11 */ GI_BOTTLE_POTION_GREEN, + /* 0x12 */ GI_BOTTLE_POTION_BLUE, + /* 0x13 */ GI_BOTTLE_FAIRY, + /* 0x14 */ GI_BOTTLE_MILK_FULL, + /* 0x15 */ GI_BOTTLE_RUTOS_LETTER, + /* 0x16 */ GI_MAGIC_BEAN, /* 0x17 */ GI_MASK_SKULL, /* 0x18 */ GI_MASK_SPOOKY, /* 0x19 */ GI_CHICKEN, // uses bean message ID /* 0x1A */ GI_MASK_KEATON, - /* 0x1B */ GI_MASK_BUNNY, + /* 0x1B */ GI_MASK_BUNNY_HOOD, /* 0x1C */ GI_MASK_TRUTH, /* 0x1D */ GI_POCKET_EGG, /* 0x1E */ GI_POCKET_CUCCO, // uses bean message ID /* 0x1F */ GI_ODD_MUSHROOM, /* 0x20 */ GI_ODD_POTION, - /* 0x21 */ GI_SAW, - /* 0x22 */ GI_SWORD_BROKEN, + /* 0x21 */ GI_POACHERS_SAW, + /* 0x22 */ GI_BROKEN_GORONS_SWORD, /* 0x23 */ GI_PRESCRIPTION, - /* 0x24 */ GI_FROG, - /* 0x25 */ GI_EYEDROPS, + /* 0x24 */ GI_EYEBALL_FROG, + /* 0x25 */ GI_EYE_DROPS, /* 0x26 */ GI_CLAIM_CHECK, /* 0x27 */ GI_SWORD_KOKIRI, /* 0x28 */ GI_SWORD_KNIFE, @@ -307,29 +307,29 @@ typedef enum { /* 0x32 */ GI_BOMB_BAG_20, /* 0x33 */ GI_BOMB_BAG_30, /* 0x34 */ GI_BOMB_BAG_40, - /* 0x35 */ GI_GAUNTLETS_SILVER, - /* 0x36 */ GI_GAUNTLETS_GOLD, + /* 0x35 */ GI_SILVER_GAUNTLETS, + /* 0x36 */ GI_GOLD_GAUNTLETS, /* 0x37 */ GI_SCALE_SILVER, - /* 0x38 */ GI_SCALE_GOLD, + /* 0x38 */ GI_SCALE_GOLDEN, /* 0x39 */ GI_STONE_OF_AGONY, - /* 0x3A */ GI_GERUDO_CARD, + /* 0x3A */ GI_GERUDOS_CARD, /* 0x3B */ GI_OCARINA_FAIRY, // uses Ocarina of Time message ID - /* 0x3C */ GI_SEEDS_5, + /* 0x3C */ GI_DEKU_SEEDS_5, /* 0x3D */ GI_HEART_CONTAINER, /* 0x3E */ GI_HEART_PIECE, - /* 0x3F */ GI_KEY_BOSS, + /* 0x3F */ GI_BOSS_KEY, /* 0x40 */ GI_COMPASS, - /* 0x41 */ GI_MAP, - /* 0x42 */ GI_KEY_SMALL, - /* 0x43 */ GI_MAGIC_SMALL, // or blue rupee if not from a drop - /* 0x44 */ GI_MAGIC_LARGE, // or blue rupee if not from a drop + /* 0x41 */ GI_DUNGEON_MAP, + /* 0x42 */ GI_SMALL_KEY, + /* 0x43 */ GI_MAGIC_JAR_SMALL, // or blue rupee if not from a drop + /* 0x44 */ GI_MAGIC_JAR_LARGE, // or blue rupee if not from a drop /* 0x45 */ GI_WALLET_ADULT, /* 0x46 */ GI_WALLET_GIANT, /* 0x47 */ GI_WEIRD_EGG, - /* 0x48 */ GI_HEART, - /* 0x49 */ GI_ARROWS_SMALL, // amount changes depending on context - /* 0x4A */ GI_ARROWS_MEDIUM, // amount changes depending on context - /* 0x4B */ GI_ARROWS_LARGE, // amount changes depending on context + /* 0x48 */ GI_RECOVERY_HEART, + /* 0x49 */ GI_ARROWS_5, // amount changes depending on context + /* 0x4A */ GI_ARROWS_10, // amount changes depending on context + /* 0x4B */ GI_ARROWS_30, // amount changes depending on context /* 0x4C */ GI_RUPEE_GREEN, /* 0x4D */ GI_RUPEE_BLUE, /* 0x4E */ GI_RUPEE_RED, @@ -338,10 +338,10 @@ typedef enum { /* 0x51 */ GI_MASK_GORON, /* 0x52 */ GI_MASK_ZORA, /* 0x53 */ GI_MASK_GERUDO, - /* 0x54 */ GI_BRACELET, + /* 0x54 */ GI_GORONS_BRACELET, /* 0x55 */ GI_RUPEE_PURPLE, /* 0x56 */ GI_RUPEE_GOLD, - /* 0x57 */ GI_SWORD_BGS, + /* 0x57 */ GI_SWORD_BIGGORON, /* 0x58 */ GI_ARROW_FIRE, /* 0x59 */ GI_ARROW_ICE, /* 0x5A */ GI_ARROW_LIGHT, @@ -351,32 +351,32 @@ typedef enum { /* 0x5E */ GI_NAYRUS_LOVE, /* 0x5F */ GI_BULLET_BAG_30, /* 0x60 */ GI_BULLET_BAG_40, - /* 0x61 */ GI_STICKS_5, - /* 0x62 */ GI_STICKS_10, - /* 0x63 */ GI_NUTS_5_2, - /* 0x64 */ GI_NUTS_10, + /* 0x61 */ GI_DEKU_STICKS_5, + /* 0x62 */ GI_DEKU_STICKS_10, + /* 0x63 */ GI_DEKU_NUTS_5_2, + /* 0x64 */ GI_DEKU_NUTS_10, /* 0x65 */ GI_BOMBS_1, /* 0x66 */ GI_BOMBS_10, /* 0x67 */ GI_BOMBS_20, /* 0x68 */ GI_BOMBS_30, - /* 0x69 */ GI_SEEDS_30, + /* 0x69 */ GI_DEKU_SEEDS_30, /* 0x6A */ GI_BOMBCHUS_5, /* 0x6B */ GI_BOMBCHUS_20, - /* 0x6C */ GI_FISH, - /* 0x6D */ GI_BUGS, - /* 0x6E */ GI_BLUE_FIRE, - /* 0x6F */ GI_POE, - /* 0x70 */ GI_BIG_POE, + /* 0x6C */ GI_BOTTLE_FISH, + /* 0x6D */ GI_BOTTLE_BUGS, + /* 0x6E */ GI_BOTTLE_BLUE_FIRE, + /* 0x6F */ GI_BOTTLE_POE, + /* 0x70 */ GI_BOTTLE_BIG_POE, /* 0x71 */ GI_DOOR_KEY, // specific to chest minigame /* 0x72 */ GI_RUPEE_GREEN_LOSE, // specific to chest minigame /* 0x73 */ GI_RUPEE_BLUE_LOSE, // specific to chest minigame /* 0x74 */ GI_RUPEE_RED_LOSE, // specific to chest minigame /* 0x75 */ GI_RUPEE_PURPLE_LOSE, // specific to chest minigame /* 0x76 */ GI_HEART_PIECE_WIN, // specific to chest minigame - /* 0x77 */ GI_STICK_UPGRADE_20, - /* 0x78 */ GI_STICK_UPGRADE_30, - /* 0x79 */ GI_NUT_UPGRADE_30, - /* 0x7A */ GI_NUT_UPGRADE_40, + /* 0x77 */ GI_DEKU_STICK_UPGRADE_20, + /* 0x78 */ GI_DEKU_STICK_UPGRADE_30, + /* 0x79 */ GI_DEKU_NUT_UPGRADE_30, + /* 0x7A */ GI_DEKU_NUT_UPGRADE_40, /* 0x7B */ GI_BULLET_BAG_50, /* 0x7C */ GI_ICE_TRAP, // freezes link when opened from a chest /* 0x7D */ GI_TEXT_0, // no model appears over Link, shows text id 0 (pocket egg) @@ -384,16 +384,16 @@ typedef enum { } GetItemID; typedef enum { - /* 0x00 */ GID_BOTTLE, - /* 0x01 */ GID_KEY_SMALL, + /* 0x00 */ GID_BOTTLE_EMPTY, + /* 0x01 */ GID_SMALL_KEY, /* 0x02 */ GID_SONG_MINUET, /* 0x03 */ GID_SONG_BOLERO, /* 0x04 */ GID_SONG_SERENADE, /* 0x05 */ GID_SONG_REQUIEM, /* 0x06 */ GID_SONG_NOCTURNE, /* 0x07 */ GID_SONG_PRELUDE, - /* 0x08 */ GID_HEART, - /* 0x09 */ GID_KEY_BOSS, + /* 0x08 */ GID_RECOVERY_HEART, + /* 0x09 */ GID_BOSS_KEY, /* 0x0A */ GID_COMPASS, /* 0x0B */ GID_MEDALLION_FOREST, /* 0x0C */ GID_MEDALLION_FIRE, @@ -401,7 +401,7 @@ typedef enum { /* 0x0E */ GID_MEDALLION_SPIRIT, /* 0x0F */ GID_MEDALLION_SHADOW, /* 0x10 */ GID_MEDALLION_LIGHT, - /* 0x11 */ GID_NUTS, + /* 0x11 */ GID_DEKU_NUTS, /* 0x12 */ GID_HEART_CONTAINER, /* 0x13 */ GID_HEART_PIECE, /* 0x14 */ GID_QUIVER_30, @@ -410,19 +410,19 @@ typedef enum { /* 0x17 */ GID_BOMB_BAG_20, /* 0x18 */ GID_BOMB_BAG_30, /* 0x19 */ GID_BOMB_BAG_40, - /* 0x1A */ GID_STICK, + /* 0x1A */ GID_DEKU_STICK, /* 0x1B */ GID_DUNGEON_MAP, /* 0x1C */ GID_SHIELD_DEKU, - /* 0x1D */ GID_MAGIC_SMALL, - /* 0x1E */ GID_MAGIC_LARGE, + /* 0x1D */ GID_MAGIC_JAR_SMALL, + /* 0x1E */ GID_MAGIC_JAR_LARGE, /* 0x1F */ GID_BOMB, /* 0x20 */ GID_STONE_OF_AGONY, /* 0x21 */ GID_WALLET_ADULT, /* 0x22 */ GID_WALLET_GIANT, - /* 0x23 */ GID_GERUDO_CARD, - /* 0x24 */ GID_ARROWS_SMALL, - /* 0x25 */ GID_ARROWS_MEDIUM, - /* 0x26 */ GID_ARROWS_LARGE, + /* 0x23 */ GID_GERUDOS_CARD, + /* 0x24 */ GID_ARROWS_5, + /* 0x25 */ GID_ARROWS_10, + /* 0x26 */ GID_ARROWS_30, /* 0x27 */ GID_BOMBCHU, /* 0x28 */ GID_EGG, /* 0x29 */ GID_SCALE_SILVER, @@ -430,50 +430,50 @@ typedef enum { /* 0x2B */ GID_SHIELD_HYLIAN, /* 0x2C */ GID_HOOKSHOT, /* 0x2D */ GID_LONGSHOT, - /* 0x2E */ GID_OCARINA_TIME, - /* 0x2F */ GID_MILK, + /* 0x2E */ GID_OCARINA_OF_TIME, + /* 0x2F */ GID_BOTTLE_MILK_FULL, /* 0x30 */ GID_MASK_KEATON, /* 0x31 */ GID_MASK_SPOOKY, /* 0x32 */ GID_SLINGSHOT, /* 0x33 */ GID_BOOMERANG, /* 0x34 */ GID_BOW, - /* 0x35 */ GID_LENS, - /* 0x36 */ GID_POTION_GREEN, - /* 0x37 */ GID_POTION_RED, - /* 0x38 */ GID_POTION_BLUE, + /* 0x35 */ GID_LENS_OF_TRUTH, + /* 0x36 */ GID_BOTTLE_POTION_GREEN, + /* 0x37 */ GID_BOTTLE_POTION_RED, + /* 0x38 */ GID_BOTTLE_POTION_BLUE, /* 0x39 */ GID_SHIELD_MIRROR, - /* 0x3A */ GID_LETTER_ZELDA, + /* 0x3A */ GID_ZELDAS_LETTER, /* 0x3B */ GID_TUNIC_GORON, /* 0x3C */ GID_TUNIC_ZORA, - /* 0x3D */ GID_BEAN, + /* 0x3D */ GID_MAGIC_BEAN, /* 0x3E */ GID_FISH, - /* 0x3F */ GID_SAW, + /* 0x3F */ GID_POACHERS_SAW, /* 0x40 */ GID_HAMMER, /* 0x41 */ GID_GRASS, - /* 0x42 */ GID_SWORD_BGS, - /* 0x43 */ GID_CHICKEN, - /* 0x44 */ GID_LETTER_RUTO, + /* 0x42 */ GID_SWORD_BIGGORON, + /* 0x43 */ GID_CUCCO, + /* 0x44 */ GID_BOTTLE_RUTOS_LETTER, /* 0x45 */ GID_OCARINA_FAIRY, /* 0x46 */ GID_BOOTS_IRON, - /* 0x47 */ GID_SEEDS, - /* 0x48 */ GID_GAUNTLETS_SILVER, - /* 0x49 */ GID_GAUNTLETS_GOLD, + /* 0x47 */ GID_DEKU_SEEDS, + /* 0x48 */ GID_SILVER_GAUNTLETS, + /* 0x49 */ GID_GOLD_GAUNTLETS, /* 0x4A */ GID_NCOIN_YELLOW, /* 0x4B */ GID_NCOIN_RED, /* 0x4C */ GID_NCOIN_GREEN, /* 0x4D */ GID_NCOIN_BLUE, /* 0x4E */ GID_MASK_SKULL, - /* 0x4F */ GID_MASK_BUNNY, + /* 0x4F */ GID_MASK_BUNNY_HOOD, /* 0x50 */ GID_MASK_TRUTH, - /* 0x51 */ GID_EYEDROPS, + /* 0x51 */ GID_EYE_DROPS, /* 0x52 */ GID_ODD_POTION, /* 0x53 */ GID_ODD_MUSHROOM, /* 0x54 */ GID_CLAIM_CHECK, - /* 0x55 */ GID_SWORD_BROKEN, + /* 0x55 */ GID_BROKEN_GORONS_SWORD, /* 0x56 */ GID_PRESCRIPTION, - /* 0x57 */ GID_BRACELET, + /* 0x57 */ GID_GORONS_BRACELET, /* 0x58 */ GID_SOLDOUT, - /* 0x59 */ GID_FROG, + /* 0x59 */ GID_EYEBALL_FROG, /* 0x5A */ GID_MASK_GORON, /* 0x5B */ GID_MASK_ZORA, /* 0x5C */ GID_MASK_GERUDO, @@ -518,35 +518,35 @@ typedef enum { typedef enum { /* 0x00 */ EXCH_ITEM_NONE, - /* 0x01 */ EXCH_ITEM_LETTER_ZELDA, + /* 0x01 */ EXCH_ITEM_ZELDAS_LETTER, /* 0x02 */ EXCH_ITEM_WEIRD_EGG, /* 0x03 */ EXCH_ITEM_CHICKEN, - /* 0x04 */ EXCH_ITEM_BEAN, + /* 0x04 */ EXCH_ITEM_MAGIC_BEAN, /* 0x05 */ EXCH_ITEM_POCKET_EGG, /* 0x06 */ EXCH_ITEM_POCKET_CUCCO, /* 0x07 */ EXCH_ITEM_COJIRO, /* 0x08 */ EXCH_ITEM_ODD_MUSHROOM, /* 0x09 */ EXCH_ITEM_ODD_POTION, - /* 0x0A */ EXCH_ITEM_SAW, - /* 0x0B */ EXCH_ITEM_SWORD_BROKEN, + /* 0x0A */ EXCH_ITEM_POACHERS_SAW, + /* 0x0B */ EXCH_ITEM_BROKEN_GORONS_SWORD, /* 0x0C */ EXCH_ITEM_PRESCRIPTION, - /* 0x0D */ EXCH_ITEM_FROG, - /* 0x0E */ EXCH_ITEM_EYEDROPS, + /* 0x0D */ EXCH_ITEM_EYEBALL_FROG, + /* 0x0E */ EXCH_ITEM_EYE_DROPS, /* 0x0F */ EXCH_ITEM_CLAIM_CHECK, /* 0x10 */ EXCH_ITEM_MASK_SKULL, /* 0x11 */ EXCH_ITEM_MASK_SPOOKY, /* 0x12 */ EXCH_ITEM_MASK_KEATON, - /* 0x13 */ EXCH_ITEM_MASK_BUNNY, + /* 0x13 */ EXCH_ITEM_MASK_BUNNY_HOOD, /* 0x14 */ EXCH_ITEM_MASK_TRUTH, /* 0x15 */ EXCH_ITEM_MASK_GORON, /* 0x16 */ EXCH_ITEM_MASK_ZORA, /* 0x17 */ EXCH_ITEM_MASK_GERUDO, - /* 0x18 */ EXCH_ITEM_FISH, - /* 0x19 */ EXCH_ITEM_BLUE_FIRE, - /* 0x1A */ EXCH_ITEM_BUG, - /* 0x1B */ EXCH_ITEM_POE, - /* 0x1C */ EXCH_ITEM_BIG_POE, - /* 0x1D */ EXCH_ITEM_LETTER_RUTO, + /* 0x18 */ EXCH_ITEM_BOTTLE_FISH, + /* 0x19 */ EXCH_ITEM_BOTTLE_BLUE_FIRE, + /* 0x1A */ EXCH_ITEM_BOTTLE_BUG, + /* 0x1B */ EXCH_ITEM_BOTTLE_POE, + /* 0x1C */ EXCH_ITEM_BOTTLE_BIG_POE, + /* 0x1D */ EXCH_ITEM_BOTTLE_RUTOS_LETTER, /* 0x1E */ EXCH_ITEM_MAX } ExchangeItemID; diff --git a/soh/soh/Enhancements/boss-rush/BossRush.cpp b/soh/soh/Enhancements/boss-rush/BossRush.cpp index d35b8825ea4..ca849221288 100644 --- a/soh/soh/Enhancements/boss-rush/BossRush.cpp +++ b/soh/soh/Enhancements/boss-rush/BossRush.cpp @@ -351,10 +351,10 @@ void BossRush_InitSave() { // Set items std::array brItems = { - ITEM_STICK, ITEM_NUT, ITEM_BOMB, ITEM_BOW, ITEM_NONE, ITEM_NONE, - ITEM_SLINGSHOT, ITEM_NONE, ITEM_NONE, ITEM_HOOKSHOT, ITEM_NONE, ITEM_NONE, - ITEM_BOOMERANG, ITEM_LENS, ITEM_NONE, ITEM_HAMMER, ITEM_ARROW_LIGHT, ITEM_NONE, - ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE, + ITEM_DEKU_STICK, ITEM_DEKU_NUT, ITEM_BOMB, ITEM_BOW, ITEM_NONE, ITEM_NONE, + ITEM_SLINGSHOT, ITEM_NONE, ITEM_NONE, ITEM_HOOKSHOT, ITEM_NONE, ITEM_NONE, + ITEM_BOOMERANG, ITEM_LENS_OF_TRUTH, ITEM_NONE, ITEM_HAMMER, ITEM_ARROW_LIGHT, ITEM_NONE, + ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE, }; if (gSaveContext.bossRushOptions[BR_OPTIONS_LONGSHOT] == BR_CHOICE_LONGSHOT_YES) { @@ -363,26 +363,26 @@ void BossRush_InitSave() { switch (gSaveContext.bossRushOptions[BR_OPTIONS_BOTTLE]) { case BR_CHOICE_BOTTLE_EMPTY: - brItems[18] = ITEM_BOTTLE; + brItems[18] = ITEM_BOTTLE_EMPTY; break; case BR_CHOICE_BOTTLE_FAIRY: - brItems[18] = ITEM_FAIRY; + brItems[18] = ITEM_BOTTLE_FAIRY; break; case BR_CHOICE_BOTTLE_REDPOTION: - brItems[18] = ITEM_POTION_RED; + brItems[18] = ITEM_BOTTLE_POTION_RED; break; case BR_CHOICE_BOTTLE_GREENPOTION: - brItems[18] = ITEM_POTION_GREEN; + brItems[18] = ITEM_BOTTLE_POTION_GREEN; break; case BR_CHOICE_BOTTLE_BLUEPOTION: - brItems[18] = ITEM_POTION_BLUE; + brItems[18] = ITEM_BOTTLE_POTION_BLUE; break; default: break; } if (gSaveContext.bossRushOptions[BR_OPTIONS_BUNNYHOOD] == BR_CHOICE_BUNNYHOOD_YES) { - brItems[23] = ITEM_MASK_BUNNY; + brItems[23] = ITEM_MASK_BUNNY_HOOD; } for (int item = 0; item < ARRAY_COUNT(gSaveContext.inventory.items); item++) { @@ -424,8 +424,8 @@ void BossRush_InitSave() { Inventory_ChangeUpgrade(UPG_QUIVER, upgradeLevel); Inventory_ChangeUpgrade(UPG_BOMB_BAG, upgradeLevel); Inventory_ChangeUpgrade(UPG_BULLET_BAG, upgradeLevel); - Inventory_ChangeUpgrade(UPG_STICKS, upgradeLevel); - Inventory_ChangeUpgrade(UPG_NUTS, upgradeLevel); + Inventory_ChangeUpgrade(UPG_DEKU_STICKS, upgradeLevel); + Inventory_ChangeUpgrade(UPG_DEKU_NUTS, upgradeLevel); Inventory_ChangeUpgrade(UPG_STRENGTH, 1); // Set flags and Link's age based on chosen settings. @@ -457,13 +457,13 @@ void BossRush_SetEquipment(uint8_t linkAge) { // Set Child Equipment. if (linkAge == LINK_AGE_CHILD) { brButtonItems = { - ITEM_SWORD_KOKIRI, ITEM_STICK, ITEM_NUT, ITEM_BOMB, ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE + ITEM_SWORD_KOKIRI, ITEM_DEKU_STICK, ITEM_DEKU_NUT, ITEM_BOMB, ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE }; - brCButtonSlots = { SLOT_STICK, SLOT_NUT, SLOT_BOMB, SLOT_NONE, SLOT_NONE, SLOT_NONE, SLOT_NONE }; + brCButtonSlots = { SLOT_DEKU_STICK, SLOT_DEKU_NUT, SLOT_BOMB, SLOT_NONE, SLOT_NONE, SLOT_NONE, SLOT_NONE }; - Inventory_ChangeEquipment(EQUIP_SWORD, PLAYER_SWORD_KOKIRI); - Inventory_ChangeEquipment(EQUIP_SHIELD, PLAYER_SHIELD_DEKU); + Inventory_ChangeEquipment(EQUIP_TYPE_SWORD, PLAYER_SWORD_KOKIRI); + Inventory_ChangeEquipment(EQUIP_TYPE_SHIELD, PLAYER_SHIELD_DEKU); // Set Adult equipment. } else { brButtonItems = { ITEM_SWORD_MASTER, ITEM_BOW, ITEM_HAMMER, ITEM_BOMB, @@ -471,9 +471,9 @@ void BossRush_SetEquipment(uint8_t linkAge) { brCButtonSlots = { SLOT_BOW, SLOT_HAMMER, SLOT_BOMB, SLOT_NONE, SLOT_NONE, SLOT_NONE, SLOT_NONE }; - Inventory_ChangeEquipment(EQUIP_SWORD, PLAYER_SWORD_MASTER); - Inventory_ChangeEquipment(EQUIP_SHIELD, PLAYER_SHIELD_MIRROR); - Inventory_ChangeEquipment(EQUIP_TUNIC, PLAYER_TUNIC_GORON + 1); // Game expects tunic + 1, don't ask me why. + Inventory_ChangeEquipment(EQUIP_TYPE_SWORD, PLAYER_SWORD_MASTER); + Inventory_ChangeEquipment(EQUIP_TYPE_SHIELD, PLAYER_SHIELD_MIRROR); + Inventory_ChangeEquipment(EQUIP_TYPE_TUNIC, PLAYER_TUNIC_GORON + 1); // Game expects tunic + 1, don't ask me why. } // Button Items diff --git a/soh/soh/Enhancements/crowd-control/CrowdControl.cpp b/soh/soh/Enhancements/crowd-control/CrowdControl.cpp index a9f3b1f198e..0586d3ee961 100644 --- a/soh/soh/Enhancements/crowd-control/CrowdControl.cpp +++ b/soh/soh/Enhancements/crowd-control/CrowdControl.cpp @@ -467,12 +467,12 @@ CrowdControl::Effect* CrowdControl::ParseMessage(char payload[512]) { case kEffectRefillSticks: effect->giEffect = new GameInteractionEffect::AddOrTakeAmmo(); effect->giEffect->parameters[0] = receivedParameter; - effect->giEffect->parameters[1] = ITEM_STICK; + effect->giEffect->parameters[1] = ITEM_DEKU_STICK; break; case kEffectRefillNuts: effect->giEffect = new GameInteractionEffect::AddOrTakeAmmo(); effect->giEffect->parameters[0] = receivedParameter; - effect->giEffect->parameters[1] = ITEM_NUT; + effect->giEffect->parameters[1] = ITEM_DEKU_NUT; break; case kEffectRefillBombs: effect->giEffect = new GameInteractionEffect::AddOrTakeAmmo(); @@ -518,12 +518,12 @@ CrowdControl::Effect* CrowdControl::ParseMessage(char payload[512]) { case kEffectTakeSticks: effect->giEffect = new GameInteractionEffect::AddOrTakeAmmo(); effect->giEffect->parameters[0] = receivedParameter * -1; - effect->giEffect->parameters[1] = ITEM_STICK; + effect->giEffect->parameters[1] = ITEM_DEKU_STICK; break; case kEffectTakeNuts: effect->giEffect = new GameInteractionEffect::AddOrTakeAmmo(); effect->giEffect->parameters[0] = receivedParameter * -1; - effect->giEffect->parameters[1] = ITEM_NUT; + effect->giEffect->parameters[1] = ITEM_DEKU_NUT; break; case kEffectTakeBombs: effect->giEffect = new GameInteractionEffect::AddOrTakeAmmo(); diff --git a/soh/soh/Enhancements/debugconsole.cpp b/soh/soh/Enhancements/debugconsole.cpp index c94d5f8063b..9e9f6cea4fc 100644 --- a/soh/soh/Enhancements/debugconsole.cpp +++ b/soh/soh/Enhancements/debugconsole.cpp @@ -214,10 +214,10 @@ static bool ResetHandler(std::shared_ptr Console, std::vector ammoItems{ - { "sticks", ITEM_STICK }, { "nuts", ITEM_NUT }, - { "bombs", ITEM_BOMB }, { "seeds", ITEM_SLINGSHOT }, - { "arrows", ITEM_BOW }, { "bombchus", ITEM_BOMBCHU }, - { "beans", ITEM_BEAN } + { "sticks", ITEM_DEKU_STICK }, { "nuts", ITEM_DEKU_NUT }, + { "bombs", ITEM_BOMB }, { "seeds", ITEM_SLINGSHOT }, + { "arrows", ITEM_BOW }, { "bombchus", ITEM_BOMBCHU }, + { "beans", ITEM_MAGIC_BEAN } }; static bool AddAmmoHandler(std::shared_ptr Console, const std::vector& args, std::string* output) { @@ -300,10 +300,10 @@ static bool TakeAmmoHandler(std::shared_ptr Console, const std::ve } const static std::map bottleItems{ - { "green_potion", ITEM_POTION_GREEN }, { "red_potion", ITEM_POTION_RED }, { "blue_potion", ITEM_POTION_BLUE }, - { "milk", ITEM_MILK }, { "half_milk", ITEM_MILK_HALF }, { "fairy", ITEM_FAIRY }, - { "bugs", ITEM_BUG }, { "fish", ITEM_FISH }, { "poe", ITEM_POE }, - { "big_poe", ITEM_BIG_POE }, { "blue_fire", ITEM_BLUE_FIRE }, { "rutos_letter", ITEM_LETTER_RUTO }, + { "green_potion", ITEM_BOTTLE_POTION_GREEN }, { "red_potion", ITEM_BOTTLE_POTION_RED }, { "blue_potion", ITEM_BOTTLE_POTION_BLUE }, + { "milk", ITEM_MILK }, { "half_milk", ITEM_BOTTLE_MILK_HALF }, { "fairy", ITEM_BOTTLE_FAIRY }, + { "bugs", ITEM_BOTTLE_BUG }, { "fish", ITEM_BOTTLE_FISH }, { "poe", ITEM_BOTTLE_POE }, + { "big_poe", ITEM_BOTTLE_BIG_POE }, { "blue_fire", ITEM_BOTTLE_BLUE_FIRE }, { "rutos_letter", ITEM_BOTTLE_RUTOS_LETTER }, }; static bool BottleHandler(std::shared_ptr Console, const std::vector& args, std::string* output) { diff --git a/soh/soh/Enhancements/debugger/debugSaveEditor.cpp b/soh/soh/Enhancements/debugger/debugSaveEditor.cpp index cb16a991510..7f069b2b4e8 100644 --- a/soh/soh/Enhancements/debugger/debugSaveEditor.cpp +++ b/soh/soh/Enhancements/debugger/debugSaveEditor.cpp @@ -41,46 +41,46 @@ typedef struct { // Maps items ids to info for use in ImGui std::map itemMapping = { - ITEM_MAP_ENTRY(ITEM_STICK), - ITEM_MAP_ENTRY(ITEM_NUT), + ITEM_MAP_ENTRY(ITEM_DEKU_STICK), + ITEM_MAP_ENTRY(ITEM_DEKU_NUT), ITEM_MAP_ENTRY(ITEM_BOMB), ITEM_MAP_ENTRY(ITEM_BOW), ITEM_MAP_ENTRY(ITEM_ARROW_FIRE), ITEM_MAP_ENTRY(ITEM_DINS_FIRE), ITEM_MAP_ENTRY(ITEM_SLINGSHOT), ITEM_MAP_ENTRY(ITEM_OCARINA_FAIRY), - ITEM_MAP_ENTRY(ITEM_OCARINA_TIME), + ITEM_MAP_ENTRY(ITEM_OCARINA_OF_TIME), ITEM_MAP_ENTRY(ITEM_BOMBCHU), ITEM_MAP_ENTRY(ITEM_HOOKSHOT), ITEM_MAP_ENTRY(ITEM_LONGSHOT), ITEM_MAP_ENTRY(ITEM_ARROW_ICE), ITEM_MAP_ENTRY(ITEM_FARORES_WIND), ITEM_MAP_ENTRY(ITEM_BOOMERANG), - ITEM_MAP_ENTRY(ITEM_LENS), - ITEM_MAP_ENTRY(ITEM_BEAN), + ITEM_MAP_ENTRY(ITEM_LENS_OF_TRUTH), + ITEM_MAP_ENTRY(ITEM_MAGIC_BEAN), ITEM_MAP_ENTRY(ITEM_HAMMER), ITEM_MAP_ENTRY(ITEM_ARROW_LIGHT), ITEM_MAP_ENTRY(ITEM_NAYRUS_LOVE), - ITEM_MAP_ENTRY(ITEM_BOTTLE), - ITEM_MAP_ENTRY(ITEM_POTION_RED), - ITEM_MAP_ENTRY(ITEM_POTION_GREEN), - ITEM_MAP_ENTRY(ITEM_POTION_BLUE), - ITEM_MAP_ENTRY(ITEM_FAIRY), - ITEM_MAP_ENTRY(ITEM_FISH), - ITEM_MAP_ENTRY(ITEM_MILK_BOTTLE), - ITEM_MAP_ENTRY(ITEM_LETTER_RUTO), - ITEM_MAP_ENTRY(ITEM_BLUE_FIRE), - ITEM_MAP_ENTRY(ITEM_BUG), - ITEM_MAP_ENTRY(ITEM_BIG_POE), - ITEM_MAP_ENTRY(ITEM_MILK_HALF), - ITEM_MAP_ENTRY(ITEM_POE), + ITEM_MAP_ENTRY(ITEM_BOTTLE_EMPTY), + ITEM_MAP_ENTRY(ITEM_BOTTLE_POTION_RED), + ITEM_MAP_ENTRY(ITEM_BOTTLE_POTION_GREEN), + ITEM_MAP_ENTRY(ITEM_BOTTLE_POTION_BLUE), + ITEM_MAP_ENTRY(ITEM_BOTTLE_FAIRY), + ITEM_MAP_ENTRY(ITEM_BOTTLE_FISH), + ITEM_MAP_ENTRY(ITEM_BOTTLE_MILK_FULL), + ITEM_MAP_ENTRY(ITEM_BOTTLE_RUTOS_LETTER), + ITEM_MAP_ENTRY(ITEM_BOTTLE_BLUE_FIRE), + ITEM_MAP_ENTRY(ITEM_BOTTLE_BUG), + ITEM_MAP_ENTRY(ITEM_BOTTLE_BIG_POE), + ITEM_MAP_ENTRY(ITEM_BOTTLE_MILK_HALF), + ITEM_MAP_ENTRY(ITEM_BOTTLE_POE), ITEM_MAP_ENTRY(ITEM_WEIRD_EGG), ITEM_MAP_ENTRY(ITEM_CHICKEN), - ITEM_MAP_ENTRY(ITEM_LETTER_ZELDA), + ITEM_MAP_ENTRY(ITEM_ZELDAS_LETTER), ITEM_MAP_ENTRY(ITEM_MASK_KEATON), ITEM_MAP_ENTRY(ITEM_MASK_SKULL), ITEM_MAP_ENTRY(ITEM_MASK_SPOOKY), - ITEM_MAP_ENTRY(ITEM_MASK_BUNNY), + ITEM_MAP_ENTRY(ITEM_MASK_BUNNY_HOOD), ITEM_MAP_ENTRY(ITEM_MASK_GORON), ITEM_MAP_ENTRY(ITEM_MASK_ZORA), ITEM_MAP_ENTRY(ITEM_MASK_GERUDO), @@ -91,18 +91,18 @@ std::map itemMapping = { ITEM_MAP_ENTRY(ITEM_COJIRO), ITEM_MAP_ENTRY(ITEM_ODD_MUSHROOM), ITEM_MAP_ENTRY(ITEM_ODD_POTION), - ITEM_MAP_ENTRY(ITEM_SAW), - ITEM_MAP_ENTRY(ITEM_SWORD_BROKEN), + ITEM_MAP_ENTRY(ITEM_POACHERS_SAW), + ITEM_MAP_ENTRY(ITEM_BROKEN_GORONS_SWORD), ITEM_MAP_ENTRY(ITEM_PRESCRIPTION), - ITEM_MAP_ENTRY(ITEM_FROG), - ITEM_MAP_ENTRY(ITEM_EYEDROPS), + ITEM_MAP_ENTRY(ITEM_EYEBALL_FROG), + ITEM_MAP_ENTRY(ITEM_EYE_DROPS), ITEM_MAP_ENTRY(ITEM_CLAIM_CHECK), - ITEM_MAP_ENTRY(ITEM_BOW_ARROW_FIRE), - ITEM_MAP_ENTRY(ITEM_BOW_ARROW_ICE), - ITEM_MAP_ENTRY(ITEM_BOW_ARROW_LIGHT), + ITEM_MAP_ENTRY(ITEM_BOW_FIRE), + ITEM_MAP_ENTRY(ITEM_BOW_ICE), + ITEM_MAP_ENTRY(ITEM_BOW_LIGHT), ITEM_MAP_ENTRY(ITEM_SWORD_KOKIRI), ITEM_MAP_ENTRY(ITEM_SWORD_MASTER), - ITEM_MAP_ENTRY(ITEM_SWORD_BGS), + ITEM_MAP_ENTRY(ITEM_SWORD_BIGGORON), ITEM_MAP_ENTRY(ITEM_SHIELD_DEKU), ITEM_MAP_ENTRY(ITEM_SHIELD_HYLIAN), ITEM_MAP_ENTRY(ITEM_SHIELD_MIRROR), @@ -121,24 +121,24 @@ std::map itemMapping = { ITEM_MAP_ENTRY(ITEM_BOMB_BAG_20), ITEM_MAP_ENTRY(ITEM_BOMB_BAG_30), ITEM_MAP_ENTRY(ITEM_BOMB_BAG_40), - ITEM_MAP_ENTRY(ITEM_BRACELET), - ITEM_MAP_ENTRY(ITEM_GAUNTLETS_SILVER), - ITEM_MAP_ENTRY(ITEM_GAUNTLETS_GOLD), + ITEM_MAP_ENTRY(ITEM_STRENGTH_GORONS_BRACELET), + ITEM_MAP_ENTRY(ITEM_STRENGTH_SILVER_GAUNTLETS), + ITEM_MAP_ENTRY(ITEM_STRENGTH_GOLD_GAUNTLETS), ITEM_MAP_ENTRY(ITEM_SCALE_SILVER), ITEM_MAP_ENTRY(ITEM_SCALE_GOLDEN), - ITEM_MAP_ENTRY(ITEM_SWORD_KNIFE), - ITEM_MAP_ENTRY(ITEM_WALLET_ADULT), - ITEM_MAP_ENTRY(ITEM_WALLET_GIANT), - ITEM_MAP_ENTRY(ITEM_SEEDS), + ITEM_MAP_ENTRY(ITEM_GIANTS_KNIFE), + ITEM_MAP_ENTRY(ITEM_ADULTS_WALLET), + ITEM_MAP_ENTRY(ITEM_GIANTS_WALLET), + ITEM_MAP_ENTRY(ITEM_DEKU_SEEDS), ITEM_MAP_ENTRY(ITEM_FISHING_POLE), - ITEM_MAP_ENTRY(ITEM_KEY_BOSS), - ITEM_MAP_ENTRY(ITEM_COMPASS), + ITEM_MAP_ENTRY(ITEM_DUNGEON_BOSS_KEY), + ITEM_MAP_ENTRY(ITEM_DUNGEON_COMPASS), ITEM_MAP_ENTRY(ITEM_DUNGEON_MAP), - ITEM_MAP_ENTRY(ITEM_KEY_SMALL), + ITEM_MAP_ENTRY(ITEM_SMALL_KEY), ITEM_MAP_ENTRY(ITEM_HEART_CONTAINER), ITEM_MAP_ENTRY(ITEM_HEART_PIECE), - ITEM_MAP_ENTRY(ITEM_MAGIC_SMALL), - ITEM_MAP_ENTRY(ITEM_MAGIC_LARGE) + ITEM_MAP_ENTRY(ITEM_MAGIC_JAR_SMALL), + ITEM_MAP_ENTRY(ITEM_MAGIC_JAR_BIG) }; std::map gregMapping = { @@ -181,9 +181,9 @@ extern "C" u8 gAmmoItems[]; // Modification of gAmmoItems that replaces ITEM_NONE with the item in inventory slot it represents u8 gAllAmmoItems[] = { - ITEM_STICK, ITEM_NUT, ITEM_BOMB, ITEM_BOW, ITEM_ARROW_FIRE, ITEM_DINS_FIRE, - ITEM_SLINGSHOT, ITEM_OCARINA_TIME, ITEM_BOMBCHU, ITEM_LONGSHOT, ITEM_ARROW_ICE, ITEM_FARORES_WIND, - ITEM_BOOMERANG, ITEM_LENS, ITEM_BEAN, ITEM_HAMMER, + ITEM_DEKU_STICK, ITEM_DEKU_NUT, ITEM_BOMB, ITEM_BOW, ITEM_ARROW_FIRE, ITEM_DINS_FIRE, + ITEM_SLINGSHOT, ITEM_OCARINA_OF_TIME, ITEM_BOMBCHU, ITEM_LONGSHOT, ITEM_ARROW_ICE, ITEM_FARORES_WIND, + ITEM_BOOMERANG, ITEM_LENS_OF_TRUTH, ITEM_MAGIC_BEAN, ITEM_HAMMER, }; typedef struct { @@ -212,7 +212,7 @@ std::map questMapping = { QUEST_MAP_ENTRY(QUEST_GORON_RUBY, dgQuestIconGoronRubyTex), QUEST_MAP_ENTRY(QUEST_ZORA_SAPPHIRE, dgQuestIconZoraSapphireTex), QUEST_MAP_ENTRY(QUEST_STONE_OF_AGONY, dgQuestIconStoneOfAgonyTex), - QUEST_MAP_ENTRY(QUEST_GERUDO_CARD, dgQuestIconGerudosCardTex), + QUEST_MAP_ENTRY(QUEST_GERUDOS_CARD, dgQuestIconGerudosCardTex), QUEST_MAP_ENTRY(QUEST_SKULL_TOKEN, dgQuestIconGoldSkulltulaTex), }; @@ -1203,10 +1203,10 @@ void DrawUpgradeIcon(const std::string& categoryName, int32_t categoryId, const void DrawEquipmentTab() { const std::vector equipmentValues = { - ITEM_SWORD_KOKIRI, ITEM_SWORD_MASTER, ITEM_SWORD_BGS, ITEM_SWORD_BROKEN, - ITEM_SHIELD_DEKU, ITEM_SHIELD_HYLIAN, ITEM_SHIELD_MIRROR, ITEM_NONE, - ITEM_TUNIC_KOKIRI, ITEM_TUNIC_GORON, ITEM_TUNIC_ZORA, ITEM_NONE, - ITEM_BOOTS_KOKIRI, ITEM_BOOTS_IRON, ITEM_BOOTS_HOVER, ITEM_NONE, + ITEM_SWORD_KOKIRI, ITEM_SWORD_MASTER, ITEM_SWORD_BIGGORON, ITEM_BROKEN_GORONS_SWORD, + ITEM_SHIELD_DEKU, ITEM_SHIELD_HYLIAN, ITEM_SHIELD_MIRROR, ITEM_NONE, + ITEM_TUNIC_KOKIRI, ITEM_TUNIC_GORON, ITEM_TUNIC_ZORA, ITEM_NONE, + ITEM_BOOTS_KOKIRI, ITEM_BOOTS_IRON, ITEM_BOOTS_HOVER, ITEM_NONE, }; for (int32_t i = 0; i < equipmentValues.size(); i++) { // Skip over unused 4th slots for shields, boots, and tunics @@ -1276,9 +1276,9 @@ void DrawEquipmentTab() { const std::vector strengthValues = { ITEM_NONE, - ITEM_BRACELET, - ITEM_GAUNTLETS_SILVER, - ITEM_GAUNTLETS_GOLD, + ITEM_STRENGTH_GORONS_BRACELET, + ITEM_STRENGTH_SILVER_GAUNTLETS, + ITEM_STRENGTH_GOLD_GAUNTLETS, }; DrawUpgradeIcon("Strength", UPG_STRENGTH, strengthValues); @@ -1304,7 +1304,7 @@ void DrawEquipmentTab() { "20", "30", }; - DrawUpgrade("Sticks", UPG_STICKS, stickNames); + DrawUpgrade("Sticks", UPG_DEKU_STICKS, stickNames); const std::vector nutNames = { "None", @@ -1312,7 +1312,7 @@ void DrawEquipmentTab() { "30", "40", }; - DrawUpgrade("Deku Nuts", UPG_NUTS, nutNames); + DrawUpgrade("Deku Nuts", UPG_DEKU_NUTS, nutNames); } // Draws a toggleable icon for a quest item that is faded when disabled @@ -1336,7 +1336,7 @@ void DrawQuestItemButton(uint32_t item) { // Draws a toggleable icon for a dungeon item that is faded when disabled void DrawDungeonItemButton(uint32_t item, uint32_t scene) { const ItemMapEntry& entry = itemMapping[item]; - uint32_t bitMask = 1 << (entry.id - ITEM_KEY_BOSS); // Bitset starts at ITEM_KEY_BOSS == 0. the rest are sequential + uint32_t bitMask = 1 << (entry.id - ITEM_DUNGEON_BOSS_KEY); // Bitset starts at ITEM_DUNGEON_BOSS_KEY == 0. the rest are sequential bool hasItem = (bitMask & gSaveContext.inventory.dungeonItems[scene]) != 0; ImGui::PushStyleColor(ImGuiCol_Button, ImVec4(0, 0, 0, 0)); if (ImGui::ImageButton(LUS::Context::GetInstance()->GetWindow()->GetGui()->GetTextureByName(hasItem ? entry.name : entry.nameFaded), @@ -1376,7 +1376,7 @@ void DrawQuestStatusTab() { DrawQuestItemButton(QUEST_STONE_OF_AGONY); ImGui::SameLine(); - DrawQuestItemButton(QUEST_GERUDO_CARD); + DrawQuestItemButton(QUEST_GERUDOS_CARD); for (const SongMapEntry& entry : songMapping) { if ((entry.id != QUEST_SONG_MINUET) && (entry.id != QUEST_SONG_LULLABY)) { @@ -1441,15 +1441,15 @@ void DrawQuestStatusTab() { } ImGui::PopItemWidth(); - DrawDungeonItemButton(ITEM_KEY_BOSS, dungeonItemsScene); + DrawDungeonItemButton(ITEM_DUNGEON_BOSS_KEY, dungeonItemsScene); ImGui::SameLine(); - DrawDungeonItemButton(ITEM_COMPASS, dungeonItemsScene); + DrawDungeonItemButton(ITEM_DUNGEON_COMPASS, dungeonItemsScene); ImGui::SameLine(); DrawDungeonItemButton(ITEM_DUNGEON_MAP, dungeonItemsScene); if (dungeonItemsScene != SCENE_JABU_JABU_BOSS) { float lineHeight = ImGui::GetTextLineHeightWithSpacing(); - ImGui::Image(LUS::Context::GetInstance()->GetWindow()->GetGui()->GetTextureByName(itemMapping[ITEM_KEY_SMALL].name), ImVec2(lineHeight, lineHeight)); + ImGui::Image(LUS::Context::GetInstance()->GetWindow()->GetGui()->GetTextureByName(itemMapping[ITEM_SMALL_KEY].name), ImVec2(lineHeight, lineHeight)); ImGui::SameLine(); if (ImGui::InputScalar("##Keys", ImGuiDataType_S8, gSaveContext.inventory.dungeonKeys + dungeonItemsScene)) { gSaveContext.sohStats.dungeonKeys[dungeonItemsScene] = gSaveContext.inventory.dungeonKeys[dungeonItemsScene]; @@ -1478,7 +1478,7 @@ void DrawPlayerTab() { case ITEM_SWORD_MASTER: curSword = "Master Sword"; break; - case ITEM_SWORD_BGS: + case ITEM_SWORD_BIGGORON: curSword = "Biggoron's Sword"; break; case ITEM_FISHING_POLE: @@ -1602,39 +1602,39 @@ void DrawPlayerTab() { if (ImGui::Selectable("None")) { player->currentSwordItemId = ITEM_NONE; gSaveContext.equips.buttonItems[0] = ITEM_NONE; - Inventory_ChangeEquipment(EQUIP_SWORD, PLAYER_SWORD_NONE); + Inventory_ChangeEquipment(EQUIP_TYPE_SWORD, PLAYER_SWORD_NONE); } if (ImGui::Selectable("Kokiri Sword")) { player->currentSwordItemId = ITEM_SWORD_KOKIRI; gSaveContext.equips.buttonItems[0] = ITEM_SWORD_KOKIRI; - Inventory_ChangeEquipment(EQUIP_SWORD, PLAYER_SWORD_KOKIRI); + Inventory_ChangeEquipment(EQUIP_TYPE_SWORD, PLAYER_SWORD_KOKIRI); } if (ImGui::Selectable("Master Sword")) { player->currentSwordItemId = ITEM_SWORD_MASTER; gSaveContext.equips.buttonItems[0] = ITEM_SWORD_MASTER; - Inventory_ChangeEquipment(EQUIP_SWORD, PLAYER_SWORD_MASTER); + Inventory_ChangeEquipment(EQUIP_TYPE_SWORD, PLAYER_SWORD_MASTER); } if (ImGui::Selectable("Biggoron's Sword")) { if (gSaveContext.bgsFlag) { if (gSaveContext.swordHealth < 8) { gSaveContext.swordHealth = 8; } - player->currentSwordItemId = ITEM_SWORD_BGS; - gSaveContext.equips.buttonItems[0] = ITEM_SWORD_BGS; + player->currentSwordItemId = ITEM_SWORD_BIGGORON; + gSaveContext.equips.buttonItems[0] = ITEM_SWORD_BIGGORON; } else { if (gSaveContext.swordHealth < 8) { gSaveContext.swordHealth = 8; } - player->currentSwordItemId = ITEM_SWORD_BGS; - gSaveContext.equips.buttonItems[0] = ITEM_SWORD_KNIFE; + player->currentSwordItemId = ITEM_SWORD_BIGGORON; + gSaveContext.equips.buttonItems[0] = ITEM_GIANTS_KNIFE; } - Inventory_ChangeEquipment(EQUIP_SWORD, PLAYER_SWORD_BIGGORON); + Inventory_ChangeEquipment(EQUIP_TYPE_SWORD, PLAYER_SWORD_BIGGORON); } if (ImGui::Selectable("Fishing Pole")) { player->currentSwordItemId = ITEM_FISHING_POLE; gSaveContext.equips.buttonItems[0] = ITEM_FISHING_POLE; - Inventory_ChangeEquipment(EQUIP_SWORD, PLAYER_SWORD_MASTER); + Inventory_ChangeEquipment(EQUIP_TYPE_SWORD, PLAYER_SWORD_MASTER); } ImGui::EndCombo(); @@ -1642,19 +1642,19 @@ void DrawPlayerTab() { if (ImGui::BeginCombo("Shield", curShield)) { if (ImGui::Selectable("None")) { player->currentShield = PLAYER_SHIELD_NONE; - Inventory_ChangeEquipment(EQUIP_SHIELD, PLAYER_SHIELD_NONE); + Inventory_ChangeEquipment(EQUIP_TYPE_SHIELD, PLAYER_SHIELD_NONE); } if (ImGui::Selectable("Deku Shield")) { player->currentShield = PLAYER_SHIELD_DEKU; - Inventory_ChangeEquipment(EQUIP_SHIELD, PLAYER_SHIELD_DEKU); + Inventory_ChangeEquipment(EQUIP_TYPE_SHIELD, PLAYER_SHIELD_DEKU); } if (ImGui::Selectable("Hylian Shield")) { player->currentShield = PLAYER_SHIELD_HYLIAN; - Inventory_ChangeEquipment(EQUIP_SHIELD, PLAYER_SHIELD_HYLIAN); + Inventory_ChangeEquipment(EQUIP_TYPE_SHIELD, PLAYER_SHIELD_HYLIAN); } if (ImGui::Selectable("Mirror Shield")) { player->currentShield = PLAYER_SHIELD_MIRROR; - Inventory_ChangeEquipment(EQUIP_SHIELD, PLAYER_SHIELD_MIRROR); + Inventory_ChangeEquipment(EQUIP_TYPE_SHIELD, PLAYER_SHIELD_MIRROR); } ImGui::EndCombo(); } @@ -1662,15 +1662,15 @@ void DrawPlayerTab() { if (ImGui::BeginCombo("Tunic", curTunic)) { if (ImGui::Selectable("Kokiri Tunic")) { player->currentTunic = PLAYER_TUNIC_KOKIRI; - Inventory_ChangeEquipment(EQUIP_TUNIC, PLAYER_TUNIC_KOKIRI + 1); + Inventory_ChangeEquipment(EQUIP_TYPE_TUNIC, PLAYER_TUNIC_KOKIRI + 1); } if (ImGui::Selectable("Goron Tunic")) { player->currentTunic = PLAYER_TUNIC_GORON; - Inventory_ChangeEquipment(EQUIP_TUNIC, PLAYER_TUNIC_GORON + 1); + Inventory_ChangeEquipment(EQUIP_TYPE_TUNIC, PLAYER_TUNIC_GORON + 1); } if (ImGui::Selectable("Zora Tunic")) { player->currentTunic = PLAYER_TUNIC_ZORA; - Inventory_ChangeEquipment(EQUIP_TUNIC, PLAYER_TUNIC_ZORA + 1); + Inventory_ChangeEquipment(EQUIP_TYPE_TUNIC, PLAYER_TUNIC_ZORA + 1); } ImGui::EndCombo(); } @@ -1678,15 +1678,15 @@ void DrawPlayerTab() { if (ImGui::BeginCombo("Boots", curBoots)) { if (ImGui::Selectable("Kokiri Boots")) { player->currentBoots = PLAYER_BOOTS_KOKIRI; - Inventory_ChangeEquipment(EQUIP_BOOTS, PLAYER_BOOTS_KOKIRI + 1); + Inventory_ChangeEquipment(EQUIP_TYPE_BOOTS, PLAYER_BOOTS_KOKIRI + 1); } if (ImGui::Selectable("Iron Boots")) { player->currentBoots = PLAYER_BOOTS_IRON; - Inventory_ChangeEquipment(EQUIP_BOOTS, PLAYER_BOOTS_IRON + 1); + Inventory_ChangeEquipment(EQUIP_TYPE_BOOTS, PLAYER_BOOTS_IRON + 1); } if (ImGui::Selectable("Hover Boots")) { player->currentBoots = PLAYER_BOOTS_HOVER; - Inventory_ChangeEquipment(EQUIP_BOOTS, PLAYER_BOOTS_HOVER + 1); + Inventory_ChangeEquipment(EQUIP_TYPE_BOOTS, PLAYER_BOOTS_HOVER + 1); } ImGui::EndCombo(); } diff --git a/soh/soh/Enhancements/game-interactor/GameInteractionEffect.cpp b/soh/soh/Enhancements/game-interactor/GameInteractionEffect.cpp index 8a8120e703f..119a9f2f868 100644 --- a/soh/soh/Enhancements/game-interactor/GameInteractionEffect.cpp +++ b/soh/soh/Enhancements/game-interactor/GameInteractionEffect.cpp @@ -425,9 +425,9 @@ namespace GameInteractionEffect { GameInteractionEffectQueryResult GiveOrTakeShield::CanBeApplied() { if (!GameInteractor::IsSaveLoaded() || GameInteractor::IsGameplayPaused()) { return GameInteractionEffectQueryResult::TemporarilyNotPossible; - } else if ((parameters[0] > 0 && ((gBitFlags[parameters[0] - ITEM_SHIELD_DEKU] << gEquipShifts[EQUIP_SHIELD]) & + } else if ((parameters[0] > 0 && ((gBitFlags[parameters[0] - ITEM_SHIELD_DEKU] << gEquipShifts[EQUIP_TYPE_SHIELD]) & gSaveContext.inventory.equipment)) || - (parameters[0] < 0 && !((gBitFlags[(parameters[0] * -1) - ITEM_SHIELD_DEKU] << gEquipShifts[EQUIP_SHIELD]) & + (parameters[0] < 0 && !((gBitFlags[(parameters[0] * -1) - ITEM_SHIELD_DEKU] << gEquipShifts[EQUIP_TYPE_SHIELD]) & gSaveContext.inventory.equipment))) { return GameInteractionEffectQueryResult::NotPossible; } else { diff --git a/soh/soh/Enhancements/game-interactor/GameInteractor.cpp b/soh/soh/Enhancements/game-interactor/GameInteractor.cpp index eb330947bbb..56ca49f48c9 100644 --- a/soh/soh/Enhancements/game-interactor/GameInteractor.cpp +++ b/soh/soh/Enhancements/game-interactor/GameInteractor.cpp @@ -58,11 +58,11 @@ bool GameInteractor::CanAddOrTakeAmmo(int16_t amount, int16_t item) { int16_t upgradeToCheck = 0; switch (item) { - case ITEM_STICK: - upgradeToCheck = UPG_STICKS; + case ITEM_DEKU_STICK: + upgradeToCheck = UPG_DEKU_STICKS; break; - case ITEM_NUT: - upgradeToCheck = UPG_NUTS; + case ITEM_DEKU_NUT: + upgradeToCheck = UPG_DEKU_NUTS; break; case ITEM_BOW: upgradeToCheck = UPG_QUIVER; @@ -81,7 +81,7 @@ bool GameInteractor::CanAddOrTakeAmmo(int16_t amount, int16_t item) { return false; } - if (item != ITEM_BOMBCHU && item != ITEM_BEAN) { + if (item != ITEM_BOMBCHU && item != ITEM_MAGIC_BEAN) { if ((CUR_CAPACITY(upgradeToCheck) == 0) || (amount > 0 && AMMO(item) == CUR_CAPACITY(upgradeToCheck))) { return false; } @@ -89,7 +89,7 @@ bool GameInteractor::CanAddOrTakeAmmo(int16_t amount, int16_t item) { } else { // Separate checks for beans and bombchus because they don't have capacity upgrades if (INV_CONTENT(item) != item || - (amount > 0 && ((item == ITEM_BOMBCHU && AMMO(item) == 50) || (item == ITEM_BEAN && AMMO(item) == 10)))) { + (amount > 0 && ((item == ITEM_BOMBCHU && AMMO(item) == 50) || (item == ITEM_MAGIC_BEAN && AMMO(item) == 10)))) { return false; } return true; diff --git a/soh/soh/Enhancements/game-interactor/GameInteractor_RawAction.cpp b/soh/soh/Enhancements/game-interactor/GameInteractor_RawAction.cpp index 1dedc3fa106..31e76b2e6cb 100644 --- a/soh/soh/Enhancements/game-interactor/GameInteractor_RawAction.cpp +++ b/soh/soh/Enhancements/game-interactor/GameInteractor_RawAction.cpp @@ -98,7 +98,7 @@ void GameInteractor::RawAction::SetWeatherStorm(bool active) { void GameInteractor::RawAction::ForceEquipBoots(int8_t boots) { Player* player = GET_PLAYER(gPlayState); player->currentBoots = boots; - Inventory_ChangeEquipment(EQUIP_BOOTS, boots + 1); + Inventory_ChangeEquipment(EQUIP_TYPE_BOOTS, boots + 1); Player_SetBootData(gPlayState, player); } @@ -274,24 +274,24 @@ void GameInteractor::RawAction::GiveOrTakeShield(int32_t shield) { break; } - gSaveContext.inventory.equipment &= ~(gBitFlags[shield - ITEM_SHIELD_DEKU] << gEquipShifts[EQUIP_SHIELD]); + gSaveContext.inventory.equipment &= ~(gBitFlags[shield - ITEM_SHIELD_DEKU] << gEquipShifts[EQUIP_TYPE_SHIELD]); if (player->currentShield == shieldToCheck) { player->currentShield = PLAYER_SHIELD_NONE; - Inventory_ChangeEquipment(EQUIP_SHIELD, PLAYER_SHIELD_NONE); + Inventory_ChangeEquipment(EQUIP_TYPE_SHIELD, PLAYER_SHIELD_NONE); } } else { Item_Give(gPlayState, shield); if (player->currentShield == PLAYER_SHIELD_NONE) { if (LINK_IS_CHILD && shield == ITEM_SHIELD_DEKU) { player->currentShield = PLAYER_SHIELD_DEKU; - Inventory_ChangeEquipment(EQUIP_SHIELD, PLAYER_SHIELD_DEKU); + Inventory_ChangeEquipment(EQUIP_TYPE_SHIELD, PLAYER_SHIELD_DEKU); } else if (LINK_IS_ADULT && shield == ITEM_SHIELD_MIRROR) { player->currentShield = PLAYER_SHIELD_MIRROR; - Inventory_ChangeEquipment(EQUIP_SHIELD, PLAYER_SHIELD_MIRROR); + Inventory_ChangeEquipment(EQUIP_TYPE_SHIELD, PLAYER_SHIELD_MIRROR); } else if (shield == ITEM_SHIELD_HYLIAN) { player->currentShield = PLAYER_SHIELD_HYLIAN; - Inventory_ChangeEquipment(EQUIP_SHIELD, PLAYER_SHIELD_HYLIAN); + Inventory_ChangeEquipment(EQUIP_TYPE_SHIELD, PLAYER_SHIELD_HYLIAN); } } } diff --git a/soh/soh/Enhancements/gameplaystats.cpp b/soh/soh/Enhancements/gameplaystats.cpp index 31bf36d3ccd..7381df387c9 100644 --- a/soh/soh/Enhancements/gameplaystats.cpp +++ b/soh/soh/Enhancements/gameplaystats.cpp @@ -695,81 +695,81 @@ void SetupDisplayNames() { // To add a timestamp for an item or event, add it to this list and ensure // it has a corresponding entry in the enum (see gameplaystats.h) - strcpy(itemTimestampDisplayName[ITEM_BOW], "Fairy Bow: "); - strcpy(itemTimestampDisplayName[ITEM_ARROW_FIRE], "Fire Arrows: "); - strcpy(itemTimestampDisplayName[ITEM_DINS_FIRE], "Din's Fire: "); - strcpy(itemTimestampDisplayName[ITEM_SLINGSHOT], "Slingshot: "); - strcpy(itemTimestampDisplayName[ITEM_OCARINA_FAIRY], "Fairy Ocarina: "); - strcpy(itemTimestampDisplayName[ITEM_OCARINA_TIME], "Ocarina of Time: "); - strcpy(itemTimestampDisplayName[ITEM_BOMBCHU], "Bombchus: "); - strcpy(itemTimestampDisplayName[ITEM_HOOKSHOT], "Hookshot: "); - strcpy(itemTimestampDisplayName[ITEM_LONGSHOT], "Longshot: "); - strcpy(itemTimestampDisplayName[ITEM_ARROW_ICE], "Ice Arrows: "); - strcpy(itemTimestampDisplayName[ITEM_FARORES_WIND], "Farore's Wind: "); - strcpy(itemTimestampDisplayName[ITEM_BOOMERANG], "Boomerang: "); - strcpy(itemTimestampDisplayName[ITEM_LENS], "Lens of Truth: "); - strcpy(itemTimestampDisplayName[ITEM_HAMMER], "Megaton Hammer: "); - strcpy(itemTimestampDisplayName[ITEM_ARROW_LIGHT], "Light Arrows: "); - strcpy(itemTimestampDisplayName[ITEM_BOTTLE], "Bottle: "); - strcpy(itemTimestampDisplayName[ITEM_LETTER_ZELDA], "Zelda's Letter: "); - strcpy(itemTimestampDisplayName[ITEM_SWORD_KOKIRI], "Kokiri Sword: "); - strcpy(itemTimestampDisplayName[ITEM_SWORD_MASTER], "Master Sword: "); - strcpy(itemTimestampDisplayName[ITEM_SWORD_BGS], "Biggoron's Sword: "); - strcpy(itemTimestampDisplayName[ITEM_SHIELD_DEKU], "Deku Shield: "); - strcpy(itemTimestampDisplayName[ITEM_SHIELD_HYLIAN], "Hylian Shield: "); - strcpy(itemTimestampDisplayName[ITEM_SHIELD_MIRROR], "Mirror Shield: "); - strcpy(itemTimestampDisplayName[ITEM_TUNIC_GORON], "Goron Tunic: "); - strcpy(itemTimestampDisplayName[ITEM_TUNIC_ZORA], "Zora Tunic: "); - strcpy(itemTimestampDisplayName[ITEM_BOOTS_IRON], "Iron Boots: "); - strcpy(itemTimestampDisplayName[ITEM_BOOTS_HOVER], "Hover Boots: "); - strcpy(itemTimestampDisplayName[ITEM_BOMB_BAG_20], "Bomb Bag: "); - strcpy(itemTimestampDisplayName[ITEM_BRACELET], "Goron's Bracelet: "); - strcpy(itemTimestampDisplayName[ITEM_GAUNTLETS_SILVER], "Silver Gauntlets: "); - strcpy(itemTimestampDisplayName[ITEM_GAUNTLETS_GOLD], "Gold Gauntlets: "); - strcpy(itemTimestampDisplayName[ITEM_SCALE_SILVER], "Silver Scale: "); - strcpy(itemTimestampDisplayName[ITEM_SCALE_GOLDEN], "Gold Scale: "); - strcpy(itemTimestampDisplayName[ITEM_WALLET_ADULT], "Adult's Wallet: "); - strcpy(itemTimestampDisplayName[ITEM_WALLET_GIANT], "Giant's Wallet: "); - strcpy(itemTimestampDisplayName[ITEM_WEIRD_EGG], "Weird Egg: "); - strcpy(itemTimestampDisplayName[ITEM_GERUDO_CARD], "Gerudo's Card: "); - strcpy(itemTimestampDisplayName[ITEM_COJIRO], "Cojiro: "); - strcpy(itemTimestampDisplayName[ITEM_POCKET_EGG], "Pocket Egg: "); - strcpy(itemTimestampDisplayName[ITEM_MASK_SKULL], "Skull Mask: "); - strcpy(itemTimestampDisplayName[ITEM_MASK_SPOOKY], "Spooky Mask: "); - strcpy(itemTimestampDisplayName[ITEM_MASK_KEATON], "Keaton Mask: "); - strcpy(itemTimestampDisplayName[ITEM_MASK_BUNNY], "Bunny Hood: "); - strcpy(itemTimestampDisplayName[ITEM_ODD_MUSHROOM], "Odd Mushroom: "); - strcpy(itemTimestampDisplayName[ITEM_ODD_POTION], "Odd Potion: "); - strcpy(itemTimestampDisplayName[ITEM_SAW], "Poacher's Saw: "); - strcpy(itemTimestampDisplayName[ITEM_SWORD_BROKEN], "Broken Goron Sword: "); - strcpy(itemTimestampDisplayName[ITEM_PRESCRIPTION], "Prescription: "); - strcpy(itemTimestampDisplayName[ITEM_FROG], "Eyeball Frog: "); - strcpy(itemTimestampDisplayName[ITEM_EYEDROPS], "Eye Drops: "); - strcpy(itemTimestampDisplayName[ITEM_CLAIM_CHECK], "Claim Check: "); - strcpy(itemTimestampDisplayName[ITEM_SONG_MINUET], "Minuet of Forest: "); - strcpy(itemTimestampDisplayName[ITEM_SONG_BOLERO], "Bolero of Fire: "); - strcpy(itemTimestampDisplayName[ITEM_SONG_SERENADE], "Serenade of Water: "); - strcpy(itemTimestampDisplayName[ITEM_SONG_REQUIEM], "Requiem of Spirit: "); - strcpy(itemTimestampDisplayName[ITEM_SONG_NOCTURNE], "Nocturne of Shadow: "); - strcpy(itemTimestampDisplayName[ITEM_SONG_PRELUDE], "Prelude of Light: "); - strcpy(itemTimestampDisplayName[ITEM_SONG_LULLABY], "Zelda's Lullaby: "); - strcpy(itemTimestampDisplayName[ITEM_SONG_EPONA], "Epona's Song: "); - strcpy(itemTimestampDisplayName[ITEM_SONG_SARIA], "Saria's Song: "); - strcpy(itemTimestampDisplayName[ITEM_SONG_SUN], "Sun's Song: "); - strcpy(itemTimestampDisplayName[ITEM_SONG_TIME], "Song of Time: "); - strcpy(itemTimestampDisplayName[ITEM_SONG_STORMS], "Song of Storms: "); - strcpy(itemTimestampDisplayName[ITEM_MEDALLION_FOREST], "Forest Medallion: "); - strcpy(itemTimestampDisplayName[ITEM_MEDALLION_FIRE], "Fire Medallion: "); - strcpy(itemTimestampDisplayName[ITEM_MEDALLION_WATER], "Water Medallion: "); - strcpy(itemTimestampDisplayName[ITEM_MEDALLION_SPIRIT], "Spirit Medallion: "); - strcpy(itemTimestampDisplayName[ITEM_MEDALLION_SHADOW], "Shadow Medallion: "); - strcpy(itemTimestampDisplayName[ITEM_MEDALLION_LIGHT], "Light Medallion: "); - strcpy(itemTimestampDisplayName[ITEM_KOKIRI_EMERALD], "Kokiri's Emerald: "); - strcpy(itemTimestampDisplayName[ITEM_GORON_RUBY], "Goron's Ruby: "); - strcpy(itemTimestampDisplayName[ITEM_ZORA_SAPPHIRE], "Zora's Sapphire: "); - strcpy(itemTimestampDisplayName[ITEM_KEY_BOSS], "Ganon's Boss Key: "); - strcpy(itemTimestampDisplayName[ITEM_SINGLE_MAGIC], "Magic: "); - strcpy(itemTimestampDisplayName[ITEM_DOUBLE_DEFENSE], "Double Defense: "); + strcpy(itemTimestampDisplayName[ITEM_BOW], "Fairy Bow: "); + strcpy(itemTimestampDisplayName[ITEM_ARROW_FIRE], "Fire Arrows: "); + strcpy(itemTimestampDisplayName[ITEM_DINS_FIRE], "Din's Fire: "); + strcpy(itemTimestampDisplayName[ITEM_SLINGSHOT], "Slingshot: "); + strcpy(itemTimestampDisplayName[ITEM_OCARINA_FAIRY], "Fairy Ocarina: "); + strcpy(itemTimestampDisplayName[ITEM_OCARINA_OF_TIME], "Ocarina of Time: "); + strcpy(itemTimestampDisplayName[ITEM_BOMBCHU], "Bombchus: "); + strcpy(itemTimestampDisplayName[ITEM_HOOKSHOT], "Hookshot: "); + strcpy(itemTimestampDisplayName[ITEM_LONGSHOT], "Longshot: "); + strcpy(itemTimestampDisplayName[ITEM_ARROW_ICE], "Ice Arrows: "); + strcpy(itemTimestampDisplayName[ITEM_FARORES_WIND], "Farore's Wind: "); + strcpy(itemTimestampDisplayName[ITEM_BOOMERANG], "Boomerang: "); + strcpy(itemTimestampDisplayName[ITEM_LENS_OF_TRUTH], "Lens of Truth: "); + strcpy(itemTimestampDisplayName[ITEM_HAMMER], "Megaton Hammer: "); + strcpy(itemTimestampDisplayName[ITEM_ARROW_LIGHT], "Light Arrows: "); + strcpy(itemTimestampDisplayName[ITEM_BOTTLE_EMPTY], "Bottle: "); + strcpy(itemTimestampDisplayName[ITEM_ZELDAS_LETTER], "Zelda's Letter: "); + strcpy(itemTimestampDisplayName[ITEM_SWORD_KOKIRI], "Kokiri Sword: "); + strcpy(itemTimestampDisplayName[ITEM_SWORD_MASTER], "Master Sword: "); + strcpy(itemTimestampDisplayName[ITEM_SWORD_BIGGORON], "Biggoron's Sword: "); + strcpy(itemTimestampDisplayName[ITEM_SHIELD_DEKU], "Deku Shield: "); + strcpy(itemTimestampDisplayName[ITEM_SHIELD_HYLIAN], "Hylian Shield: "); + strcpy(itemTimestampDisplayName[ITEM_SHIELD_MIRROR], "Mirror Shield: "); + strcpy(itemTimestampDisplayName[ITEM_TUNIC_GORON], "Goron Tunic: "); + strcpy(itemTimestampDisplayName[ITEM_TUNIC_ZORA], "Zora Tunic: "); + strcpy(itemTimestampDisplayName[ITEM_BOOTS_IRON], "Iron Boots: "); + strcpy(itemTimestampDisplayName[ITEM_BOOTS_HOVER], "Hover Boots: "); + strcpy(itemTimestampDisplayName[ITEM_BOMB_BAG_20], "Bomb Bag: "); + strcpy(itemTimestampDisplayName[ITEM_STRENGTH_GORONS_BRACELET], "Goron's Bracelet: "); + strcpy(itemTimestampDisplayName[ITEM_STRENGTH_SILVER_GAUNTLETS], "Silver Gauntlets: "); + strcpy(itemTimestampDisplayName[ITEM_STRENGTH_GOLD_GAUNTLETS], "Gold Gauntlets: "); + strcpy(itemTimestampDisplayName[ITEM_SCALE_SILVER], "Silver Scale: "); + strcpy(itemTimestampDisplayName[ITEM_SCALE_GOLDEN], "Gold Scale: "); + strcpy(itemTimestampDisplayName[ITEM_ADULTS_WALLET], "Adult's Wallet: "); + strcpy(itemTimestampDisplayName[ITEM_GIANTS_WALLET], "Giant's Wallet: "); + strcpy(itemTimestampDisplayName[ITEM_WEIRD_EGG], "Weird Egg: "); + strcpy(itemTimestampDisplayName[ITEM_GERUDOS_CARD], "Gerudo's Card: "); + strcpy(itemTimestampDisplayName[ITEM_COJIRO], "Cojiro: "); + strcpy(itemTimestampDisplayName[ITEM_POCKET_EGG], "Pocket Egg: "); + strcpy(itemTimestampDisplayName[ITEM_MASK_SKULL], "Skull Mask: "); + strcpy(itemTimestampDisplayName[ITEM_MASK_SPOOKY], "Spooky Mask: "); + strcpy(itemTimestampDisplayName[ITEM_MASK_KEATON], "Keaton Mask: "); + strcpy(itemTimestampDisplayName[ITEM_MASK_BUNNY_HOOD], "Bunny Hood: "); + strcpy(itemTimestampDisplayName[ITEM_ODD_MUSHROOM], "Odd Mushroom: "); + strcpy(itemTimestampDisplayName[ITEM_ODD_POTION], "Odd Potion: "); + strcpy(itemTimestampDisplayName[ITEM_POACHERS_SAW], "Poacher's Saw: "); + strcpy(itemTimestampDisplayName[ITEM_BROKEN_GORONS_SWORD], "Broken Goron Sword: "); + strcpy(itemTimestampDisplayName[ITEM_PRESCRIPTION], "Prescription: "); + strcpy(itemTimestampDisplayName[ITEM_EYEBALL_FROG], "Eyeball Frog: "); + strcpy(itemTimestampDisplayName[ITEM_EYE_DROPS], "Eye Drops: "); + strcpy(itemTimestampDisplayName[ITEM_CLAIM_CHECK], "Claim Check: "); + strcpy(itemTimestampDisplayName[ITEM_SONG_MINUET], "Minuet of Forest: "); + strcpy(itemTimestampDisplayName[ITEM_SONG_BOLERO], "Bolero of Fire: "); + strcpy(itemTimestampDisplayName[ITEM_SONG_SERENADE], "Serenade of Water: "); + strcpy(itemTimestampDisplayName[ITEM_SONG_REQUIEM], "Requiem of Spirit: "); + strcpy(itemTimestampDisplayName[ITEM_SONG_NOCTURNE], "Nocturne of Shadow: "); + strcpy(itemTimestampDisplayName[ITEM_SONG_PRELUDE], "Prelude of Light: "); + strcpy(itemTimestampDisplayName[ITEM_SONG_LULLABY], "Zelda's Lullaby: "); + strcpy(itemTimestampDisplayName[ITEM_SONG_EPONA], "Epona's Song: "); + strcpy(itemTimestampDisplayName[ITEM_SONG_SARIA], "Saria's Song: "); + strcpy(itemTimestampDisplayName[ITEM_SONG_SUN], "Sun's Song: "); + strcpy(itemTimestampDisplayName[ITEM_SONG_TIME], "Song of Time: "); + strcpy(itemTimestampDisplayName[ITEM_SONG_STORMS], "Song of Storms: "); + strcpy(itemTimestampDisplayName[ITEM_MEDALLION_FOREST], "Forest Medallion: "); + strcpy(itemTimestampDisplayName[ITEM_MEDALLION_FIRE], "Fire Medallion: "); + strcpy(itemTimestampDisplayName[ITEM_MEDALLION_WATER], "Water Medallion: "); + strcpy(itemTimestampDisplayName[ITEM_MEDALLION_SPIRIT], "Spirit Medallion: "); + strcpy(itemTimestampDisplayName[ITEM_MEDALLION_SHADOW], "Shadow Medallion: "); + strcpy(itemTimestampDisplayName[ITEM_MEDALLION_LIGHT], "Light Medallion: "); + strcpy(itemTimestampDisplayName[ITEM_KOKIRI_EMERALD], "Kokiri's Emerald: "); + strcpy(itemTimestampDisplayName[ITEM_GORON_RUBY], "Goron's Ruby: "); + strcpy(itemTimestampDisplayName[ITEM_ZORA_SAPPHIRE], "Zora's Sapphire: "); + strcpy(itemTimestampDisplayName[ITEM_DUNGEON_BOSS_KEY], "Ganon's Boss Key: "); + strcpy(itemTimestampDisplayName[ITEM_INVALID_1], "Magic: "); + strcpy(itemTimestampDisplayName[ITEM_INVALID_3], "Double Defense: "); // Other events strcpy(itemTimestampDisplayName[TIMESTAMP_DEFEAT_GOHMA], "Gohma Defeated: "); diff --git a/soh/soh/Enhancements/mods.cpp b/soh/soh/Enhancements/mods.cpp index 73d6c463401..28691f992d3 100644 --- a/soh/soh/Enhancements/mods.cpp +++ b/soh/soh/Enhancements/mods.cpp @@ -71,13 +71,13 @@ void RegisterInfiniteAmmo() { GameInteractor::Instance->RegisterGameHook([]() { if (CVarGetInteger("gInfiniteAmmo", 0) != 0) { // Deku Sticks - if (AMMO(ITEM_STICK) < CUR_CAPACITY(UPG_STICKS)) { - AMMO(ITEM_STICK) = CUR_CAPACITY(UPG_STICKS); + if (AMMO(ITEM_DEKU_STICK) < CUR_CAPACITY(UPG_DEKU_STICKS)) { + AMMO(ITEM_DEKU_STICK) = CUR_CAPACITY(UPG_DEKU_STICKS); } // Deku Nuts - if (AMMO(ITEM_NUT) < CUR_CAPACITY(UPG_NUTS)) { - AMMO(ITEM_NUT) = CUR_CAPACITY(UPG_NUTS); + if (AMMO(ITEM_DEKU_NUT) < CUR_CAPACITY(UPG_DEKU_NUTS)) { + AMMO(ITEM_DEKU_NUT) = CUR_CAPACITY(UPG_DEKU_NUTS); } // Bombs @@ -223,8 +223,8 @@ void RegisterOcarinaTimeTravel() { Actor* nearbyOcarinaSpot = Actor_FindNearby(gPlayState, player, ACTOR_EN_OKARINA_TAG, ACTORCAT_PROP, 120.0f); Actor* nearbyDoorOfTime = Actor_FindNearby(gPlayState, player, ACTOR_DOOR_TOKI, ACTORCAT_BG, 500.0f); Actor* nearbyFrogs = Actor_FindNearby(gPlayState, player, ACTOR_EN_FR, ACTORCAT_NPC, 300.0f); - uint8_t hasMasterSword = (gBitFlags[ITEM_SWORD_MASTER - ITEM_SWORD_KOKIRI] << gEquipShifts[EQUIP_SWORD]) & gSaveContext.inventory.equipment; - uint8_t hasOcarinaOfTime = (INV_CONTENT(ITEM_OCARINA_TIME) == ITEM_OCARINA_TIME); + uint8_t hasMasterSword = (gBitFlags[ITEM_SWORD_MASTER - ITEM_SWORD_KOKIRI] << gEquipShifts[EQUIP_TYPE_SWORD]) & gSaveContext.inventory.equipment; + uint8_t hasOcarinaOfTime = (INV_CONTENT(ITEM_OCARINA_OF_TIME) == ITEM_OCARINA_OF_TIME); // If TimeTravel + Player have the Ocarina of Time + Have Master Sword + is in proper range // TODO: Once Swordless Adult is fixed: Remove the Master Sword check if (((CVarGetInteger("gTimeTravel", 0) == 1 && hasOcarinaOfTime) || CVarGetInteger("gTimeTravel", 0) == 2) && hasMasterSword && @@ -259,37 +259,37 @@ void AutoSave(GetItemEntry itemEntry) { // Autosave for major items if (itemEntry.modIndex == 0) { switch (item) { - case ITEM_STICK: - case ITEM_NUT: + case ITEM_DEKU_STICK: + case ITEM_DEKU_NUT: case ITEM_BOMB: case ITEM_BOW: - case ITEM_SEEDS: + case ITEM_DEKU_SEEDS: case ITEM_FISHING_POLE: - case ITEM_MAGIC_SMALL: - case ITEM_MAGIC_LARGE: + case ITEM_MAGIC_JAR_SMALL: + case ITEM_MAGIC_JAR_BIG: case ITEM_INVALID_4: case ITEM_INVALID_5: case ITEM_INVALID_6: case ITEM_INVALID_7: - case ITEM_HEART: + case ITEM_RECOVERY_HEART: case ITEM_RUPEE_GREEN: case ITEM_RUPEE_BLUE: case ITEM_RUPEE_RED: case ITEM_RUPEE_PURPLE: case ITEM_RUPEE_GOLD: case ITEM_INVALID_8: - case ITEM_STICKS_5: - case ITEM_STICKS_10: - case ITEM_NUTS_5: - case ITEM_NUTS_10: + case ITEM_DEKU_STICKS_5: + case ITEM_DEKU_STICKS_10: + case ITEM_DEKU_NUTS_5: + case ITEM_DEKU_NUTS_10: case ITEM_BOMBS_5: case ITEM_BOMBS_10: case ITEM_BOMBS_20: case ITEM_BOMBS_30: - case ITEM_ARROWS_SMALL: - case ITEM_ARROWS_MEDIUM: - case ITEM_ARROWS_LARGE: - case ITEM_SEEDS_30: + case ITEM_ARROWS_5: + case ITEM_ARROWS_10: + case ITEM_ARROWS_30: + case ITEM_DEKU_SEEDS_30: case ITEM_NONE: break; case ITEM_BOMBCHU: @@ -950,8 +950,8 @@ void RegisterAltTrapTypes() { Play_TriggerRespawn(gPlayState); break; case ADD_AMMO_TRAP: - AMMO(ITEM_STICK) = AMMO(ITEM_STICK) * 0.5; - AMMO(ITEM_NUT) = AMMO(ITEM_NUT) * 0.5; + AMMO(ITEM_DEKU_STICK) = AMMO(ITEM_DEKU_STICK) * 0.5; + AMMO(ITEM_DEKU_NUT) = AMMO(ITEM_DEKU_NUT) * 0.5; AMMO(ITEM_SLINGSHOT) = AMMO(ITEM_SLINGSHOT) * 0.5; AMMO(ITEM_BOW) = AMMO(ITEM_BOW) * 0.5; AMMO(ITEM_BOMB) = AMMO(ITEM_BOMB) * 0.5; diff --git a/soh/soh/Enhancements/randomizer/3drando/item.cpp b/soh/soh/Enhancements/randomizer/3drando/item.cpp index 3e10a165c9b..4bfe1bccdd3 100644 --- a/soh/soh/Enhancements/randomizer/3drando/item.cpp +++ b/soh/soh/Enhancements/randomizer/3drando/item.cpp @@ -71,10 +71,10 @@ ItemOverride_Value Item::Value() const { val.looksLikeItemId = RandomElement(IceTrapModels); } if (getItemId >= 0x95 && getItemId <= 0x9A) { //Boss keys - val.looksLikeItemId = GI_KEY_BOSS; + val.looksLikeItemId = GI_BOSS_KEY; } if (getItemId >= 0xAF && getItemId <= 0xB7) { //Small keys - val.looksLikeItemId = GI_KEY_SMALL; + val.looksLikeItemId = GI_SMALL_KEY; } if (type == ITEMTYPE_SHOP) { // With the current shopsanity implementation, we need a way to detect diff --git a/soh/soh/Enhancements/randomizer/3drando/item_list.cpp b/soh/soh/Enhancements/randomizer/3drando/item_list.cpp index 417203a5b55..ac37ec0d249 100644 --- a/soh/soh/Enhancements/randomizer/3drando/item_list.cpp +++ b/soh/soh/Enhancements/randomizer/3drando/item_list.cpp @@ -14,7 +14,7 @@ void ItemTable_Init() { // RandomizerGet itemTable[KOKIRI_SWORD] = Item(RG_KOKIRI_SWORD, Text{"Kokiri Sword", "Épée Kokiri", "Espada Kokiri"}, ITEMTYPE_ITEM, GI_SWORD_KOKIRI, true, &KokiriSword, KOKIRI_SWORD); //[MASTER_SWORD] itemTable[GIANTS_KNIFE] = Item(RG_GIANTS_KNIFE, Text{"Giant's Knife", "Lame des Géants", "Espada de Biggoron"}, ITEMTYPE_ITEM, GI_SWORD_KNIFE, false, &noVariable, GIANTS_KNIFE); - itemTable[BIGGORON_SWORD] = Item(RG_BIGGORON_SWORD, Text{"Biggoron's Sword", "Épée de Biggoron", "Espada de Biggoron"}, ITEMTYPE_ITEM, GI_SWORD_BGS, true, &BiggoronSword, BIGGORON_SWORD); + itemTable[BIGGORON_SWORD] = Item(RG_BIGGORON_SWORD, Text{"Biggoron's Sword", "Épée de Biggoron", "Espada de Biggoron"}, ITEMTYPE_ITEM, GI_SWORD_BIGGORON, true, &BiggoronSword, BIGGORON_SWORD); itemTable[DEKU_SHIELD] = Item(RG_DEKU_SHIELD, Text{"Deku Shield", "Bouclier Mojo", "Escudo deku"}, ITEMTYPE_ITEM, GI_SHIELD_DEKU, false, &noVariable, DEKU_SHIELD); itemTable[HYLIAN_SHIELD] = Item(RG_HYLIAN_SHIELD, Text{"Hylian Shield", "Bouclier Hylien", "Escudo hyliano"}, ITEMTYPE_ITEM, GI_SHIELD_HYLIAN, false, &noVariable, HYLIAN_SHIELD); itemTable[MIRROR_SHIELD] = Item(RG_MIRROR_SHIELD, Text{"Mirror Shield", "Bouclier Miroir", "Escudo espejo"}, ITEMTYPE_ITEM, GI_SHIELD_MIRROR, true, &MirrorShield, MIRROR_SHIELD); @@ -25,7 +25,7 @@ void ItemTable_Init() { // RandomizerGet itemTable[BOOMERANG] = Item(RG_BOOMERANG, Text{"Boomerang", "Boomerang", "Búmeran"}, ITEMTYPE_ITEM, GI_BOOMERANG, true, &Boomerang, BOOMERANG); - itemTable[LENS_OF_TRUTH] = Item(RG_LENS_OF_TRUTH, Text{"Lens of Truth", "Monocle de Vérité", "Lupa de la Verdad"}, ITEMTYPE_ITEM, GI_LENS, true, &LensOfTruth, LENS_OF_TRUTH); + itemTable[LENS_OF_TRUTH] = Item(RG_LENS_OF_TRUTH, Text{"Lens of Truth", "Monocle de Vérité", "Lupa de la Verdad"}, ITEMTYPE_ITEM, GI_LENS_OF_TRUTH, true, &LensOfTruth, LENS_OF_TRUTH); itemTable[MEGATON_HAMMER] = Item(RG_MEGATON_HAMMER, Text{"Megaton Hammer", "Masse des Titans", "Martillo Megatón"}, ITEMTYPE_ITEM, GI_HAMMER, true, &Hammer, MEGATON_HAMMER); itemTable[STONE_OF_AGONY] = Item(RG_STONE_OF_AGONY, Text{"Stone of Agony", "Pierre de Souffrance", "Piedra de la Agonía"}, ITEMTYPE_ITEM, GI_STONE_OF_AGONY, true, &ShardOfAgony, STONE_OF_AGONY); itemTable[DINS_FIRE] = Item(RG_DINS_FIRE, Text{"Din's Fire", "Feu de Din", "Fuego de Din"}, ITEMTYPE_ITEM, GI_DINS_FIRE, true, &DinsFire, DINS_FIRE); @@ -34,18 +34,18 @@ void ItemTable_Init() { // RandomizerGet itemTable[FIRE_ARROWS] = Item(RG_FIRE_ARROWS, Text{"Fire Arrow", "Flèche de Feu", "Flecha de fuego"}, ITEMTYPE_ITEM, GI_ARROW_FIRE, true, &FireArrows, FIRE_ARROWS); itemTable[ICE_ARROWS] = Item(RG_ICE_ARROWS, Text{"Ice Arrow", "Flèche de Glace", "Flecha de hielo"}, ITEMTYPE_ITEM, GI_ARROW_ICE, true, &IceArrows, ICE_ARROWS); itemTable[LIGHT_ARROWS] = Item(RG_LIGHT_ARROWS, Text{"Light Arrow", "Flèche de Lumière", "Flecha de luz"}, ITEMTYPE_ITEM, GI_ARROW_LIGHT, true, &LightArrows, LIGHT_ARROWS); - itemTable[GERUDO_MEMBERSHIP_CARD] = Item(RG_GERUDO_MEMBERSHIP_CARD, Text{"Gerudo Membership Card", "Carte Gerudo", "Pase de socio gerudo"}, ITEMTYPE_ITEM, GI_GERUDO_CARD, true, &GerudoToken, GERUDO_MEMBERSHIP_CARD); - itemTable[MAGIC_BEAN] = Item(RG_MAGIC_BEAN, Text{"Magic Bean", "Haricots Magiques", "Habichuelas mágicas"}, ITEMTYPE_ITEM, GI_BEAN, true, &MagicBean, MAGIC_BEAN); + itemTable[GERUDO_MEMBERSHIP_CARD] = Item(RG_GERUDO_MEMBERSHIP_CARD, Text{"Gerudo Membership Card", "Carte Gerudo", "Pase de socio gerudo"}, ITEMTYPE_ITEM, GI_GERUDOS_CARD, true, &GerudoToken, GERUDO_MEMBERSHIP_CARD); + itemTable[MAGIC_BEAN] = Item(RG_MAGIC_BEAN, Text{"Magic Bean", "Haricots Magiques", "Habichuelas mágicas"}, ITEMTYPE_ITEM, GI_MAGIC_BEAN, true, &MagicBean, MAGIC_BEAN); itemTable[MAGIC_BEAN_PACK] = Item(RG_MAGIC_BEAN_PACK, Text{"Magic Bean Pack", "Paquet de Haricots Magiques", "Lote de habichuelas mágicas"}, ITEMTYPE_ITEM, 0xC9, true, &MagicBeanPack, MAGIC_BEAN_PACK); itemTable[DOUBLE_DEFENSE] = Item(RG_DOUBLE_DEFENSE, Text{"Double Defense", "Double Défence", "Doble poder defensivo"}, ITEMTYPE_ITEM, 0xB8, true, &DoubleDefense, DOUBLE_DEFENSE); itemTable[WEIRD_EGG] = Item(RG_WEIRD_EGG, Text{"Weird Egg", "Oeuf Curieux", "Huevo extraño"}, ITEMTYPE_ITEM, GI_WEIRD_EGG, true, &WeirdEgg, WEIRD_EGG); // itemTable[CUCCO] = Item(RG_CUCCO, Text{"Cucco", "Cocotte", "Cuco"}, ITEMTYPE_ITEM, GI_CUCCO, true, &Cucco, CUCCO); - itemTable[ZELDAS_LETTER] = Item(RG_ZELDAS_LETTER, Text{"Zelda's Letter", "Lettre de Zelda", "Carta de Zelda"}, ITEMTYPE_ITEM, GI_LETTER_ZELDA, true, &ZeldasLetter, ZELDAS_LETTER); + itemTable[ZELDAS_LETTER] = Item(RG_ZELDAS_LETTER, Text{"Zelda's Letter", "Lettre de Zelda", "Carta de Zelda"}, ITEMTYPE_ITEM, GI_ZELDAS_LETTER, true, &ZeldasLetter, ZELDAS_LETTER); // itemTable[KEATON_MASK] = Item(RG_KEATON_MASK, Text{"Keaton Mask", "Masque du Renard", "Careta de Keaton"}, ITEMTYPE_ITEM, GI_MASK_KEATON, true, &KeatonMask, KEATON_MASK); // itemTable[SKULL_MASK] = Item(RG_SKULL_MASK, Text{"Skull Mask", "Masque de Mort", "Máscara de calavera"}, ITEMTYPE_ITEM, GI_MASK_SKULL, true, &SkullMask, SKULL_MASK); // itemTable[SPOOKY_MASK] = Item(RG_SPOOKY_MASK, Text{"Spooky Mask", "Masque d'Effroi", "Máscara tenebrosa"}, ITEMTYPE_ITEM, GI_MASK_SPOOKY, true, &SpookyMask, SPOOKY_MASK); -// itemTable[BUNNY_HOOD] = Item(RG_BUNNY_HOOD, Text{"Bunny Hood", "Masque du Lapin", "Capucha de conejo"}, ITEMTYPE_ITEM, GI_MASK_BUNNY, true, &BunnyHood, BUNNY_HOOD); +// itemTable[BUNNY_HOOD] = Item(RG_BUNNY_HOOD, Text{"Bunny Hood", "Masque du Lapin", "Capucha de conejo"}, ITEMTYPE_ITEM, GI_MASK_BUNNY_HOOD, true, &BunnyHood, BUNNY_HOOD); // itemTable[GORON_MASK] = Item(RG_GORON_MASK, Text{"Goron Mask", "Masque de Goron", "Máscara Goron"}, ITEMTYPE_ITEM, GI_MASK_GORON, true, &GoronMask, GORON_MASK); // itemTable[ZORA_MASK] = Item(RG_ZORA_MASK, Text{"Zora Mask", "Masque de Zora", "Máscara Zora"}, ITEMTYPE_ITEM, GI_MASK_ZORA, true, &ZoraMask, ZORA_MASK); // itemTable[GERUDO_MASK] = Item(RG_GERUDO_MASK, Text{"Gerudo Mask", "Masque de Gerudo", "Máscara Gerudo"}, ITEMTYPE_ITEM, GI_MASK_GERUDO, true, &GerudoMask, GERUDO_MASK); @@ -55,11 +55,11 @@ void ItemTable_Init() { // RandomizerGet itemTable[COJIRO] = Item(RG_COJIRO, Text{"Cojiro", "P'tit Poulet", "Cojiro"}, ITEMTYPE_ITEM, GI_COJIRO, true, &Cojiro, COJIRO); itemTable[ODD_MUSHROOM] = Item(RG_ODD_MUSHROOM, Text{"Odd Mushroom", "Champignon Suspect", "Champiñón extraño"}, ITEMTYPE_ITEM, GI_ODD_MUSHROOM, true, &OddMushroom, ODD_MUSHROOM); itemTable[ODD_POTION] = Item(RG_ODD_POTION, Text{"Odd Potion", "Mixture Suspecte", "Medicina rara"}, ITEMTYPE_ITEM, GI_ODD_POTION, true, &OddPoultice, ODD_POTION); - itemTable[POACHERS_SAW] = Item(RG_POACHERS_SAW, Text{"Poacher's Saw", "Scie du Chasseur", "Sierra del furtivo"}, ITEMTYPE_ITEM, GI_SAW, true, &PoachersSaw, POACHERS_SAW); - itemTable[BROKEN_SWORD] = Item(RG_BROKEN_SWORD, Text{"Broken Goron's Sword", "Épée Brisée de Goron", "Espada goron rota"}, ITEMTYPE_ITEM, GI_SWORD_BROKEN, true, &BrokenSword, BROKEN_SWORD); + itemTable[POACHERS_SAW] = Item(RG_POACHERS_SAW, Text{"Poacher's Saw", "Scie du Chasseur", "Sierra del furtivo"}, ITEMTYPE_ITEM, GI_POACHERS_SAW, true, &PoachersSaw, POACHERS_SAW); + itemTable[BROKEN_SWORD] = Item(RG_BROKEN_SWORD, Text{"Broken Goron's Sword", "Épée Brisée de Goron", "Espada goron rota"}, ITEMTYPE_ITEM, GI_BROKEN_GORONS_SWORD, true, &BrokenSword, BROKEN_SWORD); itemTable[PRESCRIPTION] = Item(RG_PRESCRIPTION, Text{"Prescription", "Ordonnance", "Receta"}, ITEMTYPE_ITEM, GI_PRESCRIPTION, true, &Prescription, PRESCRIPTION); - itemTable[EYEBALL_FROG] = Item(RG_EYEBALL_FROG, Text{"Eyeball Frog", "Crapaud-qui-louche", "Rana de ojos saltones"}, ITEMTYPE_ITEM, GI_FROG, true, &EyeballFrog, EYEBALL_FROG); - itemTable[EYEDROPS] = Item(RG_EYEDROPS, Text{"World's Finest Eyedrops", "Super Gouttes", "Supergotas oculares"}, ITEMTYPE_ITEM, GI_EYEDROPS, true, &Eyedrops, EYEDROPS); + itemTable[EYEBALL_FROG] = Item(RG_EYEBALL_FROG, Text{"Eyeball Frog", "Crapaud-qui-louche", "Rana de ojos saltones"}, ITEMTYPE_ITEM, GI_EYEBALL_FROG, true, &EyeballFrog, EYEBALL_FROG); + itemTable[EYEDROPS] = Item(RG_EYEDROPS, Text{"World's Finest Eyedrops", "Super Gouttes", "Supergotas oculares"}, ITEMTYPE_ITEM, GI_EYE_DROPS, true, &Eyedrops, EYEDROPS); itemTable[CLAIM_CHECK] = Item(RG_CLAIM_CHECK, Text{"Claim Check", "Certificat", "Recibo"}, ITEMTYPE_ITEM, GI_CLAIM_CHECK, true, &ClaimCheck, CLAIM_CHECK); itemTable[GOLD_SKULLTULA_TOKEN] = Item(RG_GOLD_SKULLTULA_TOKEN, Text{"Gold Skulltula Token", "Symbole de Skulltula d'Or", "Símbolo de skulltula dorada"}, ITEMTYPE_TOKEN, GI_SKULL_TOKEN, true, &GoldSkulltulaTokens, GOLD_SKULLTULA_TOKEN); @@ -175,7 +175,7 @@ void ItemTable_Init() { // RandomizerGet itemTable[LIGHT_MEDALLION] = Item(RG_LIGHT_MEDALLION, Text{"Light Medallion", "Médaillon de la Lumière", "Medallón de la Luz"}, ITEMTYPE_DUNGEONREWARD, 0xD3, true, &LightMedallion, LIGHT_MEDALLION); //Generic Items - itemTable[RECOVERY_HEART] = Item(RG_RECOVERY_HEART, Text{"Recovery Heart", "Coeur de Vie", "Corazón"}, ITEMTYPE_ITEM, GI_HEART, false, &noVariable, RECOVERY_HEART); + itemTable[RECOVERY_HEART] = Item(RG_RECOVERY_HEART, Text{"Recovery Heart", "Coeur de Vie", "Corazón"}, ITEMTYPE_ITEM, GI_RECOVERY_HEART, false, &noVariable, RECOVERY_HEART); itemTable[GREEN_RUPEE] = Item(RG_GREEN_RUPEE, Text{"Green Rupee", "Rubis Vert", "Rupia verde"}, ITEMTYPE_ITEM, GI_RUPEE_GREEN, false, &noVariable, GREEN_RUPEE); itemTable[GREG_RUPEE] = Item(RG_GREG_RUPEE, Text{"Greg the Green Rupee", "Rubis Greg", "Rupia Greg"}, ITEMTYPE_ITEM, GI_RUPEE_GREEN, true, &Greg, GREG_RUPEE); itemTable[BLUE_RUPEE] = Item(RG_BLUE_RUPEE, Text{"Blue Rupee", "Rubis Bleu", "Rupia azul"}, ITEMTYPE_ITEM, GI_RUPEE_BLUE, false, &noVariable, BLUE_RUPEE); @@ -195,16 +195,16 @@ void ItemTable_Init() { // RandomizerGet itemTable[BOMBCHU_10] = Item(RG_BOMBCHU_10, Text{"Bombchus (10)", "Missiles (10)", "Bombchus (10)"}, ITEMTYPE_REFILL, GI_BOMBCHUS_10, true, &Bombchus10, BOMBCHU_10); itemTable[BOMBCHU_20] = Item(RG_BOMBCHU_20, Text{"Bombchus (20)", "Missiles (20)", "Bombchus (20)"}, ITEMTYPE_REFILL, GI_BOMBCHUS_20, true, &Bombchus20, BOMBCHU_20); itemTable[BOMBCHU_DROP] = Item(RG_BOMBCHU_DROP, Text{"Bombchu Drop", "Drop Missiles", "Bombchus"}, ITEMTYPE_DROP, GI_BOMBCHUS_10, true, &BombchuDrop, NONE); - itemTable[ARROWS_5] = Item(RG_ARROWS_5, Text{"Arrows (5)", "Flèches (5)", "Flechas (5)"}, ITEMTYPE_REFILL, GI_ARROWS_SMALL, false, &noVariable, ARROWS_5); - itemTable[ARROWS_10] = Item(RG_ARROWS_10, Text{"Arrows (10)", "Flèches (10)", "Flechas (10)"}, ITEMTYPE_REFILL, GI_ARROWS_MEDIUM, false, &noVariable, ARROWS_10); - itemTable[ARROWS_30] = Item(RG_ARROWS_30, Text{"Arrows (30)", "Flèches (30)", "Flechas (30)"}, ITEMTYPE_REFILL, GI_ARROWS_LARGE, false, &noVariable, ARROWS_30); - itemTable[DEKU_NUTS_5] = Item(RG_DEKU_NUTS_5, Text{"Deku Nuts (5)", "Noix Mojo (5)", "Nueces deku (5)"}, ITEMTYPE_REFILL, GI_NUTS_5, false, &noVariable, DEKU_NUTS_5); - itemTable[DEKU_NUTS_10] = Item(RG_DEKU_NUTS_10, Text{"Deku Nuts (10)", "Noix Mojo (10)", "Nueces deku (10)"}, ITEMTYPE_REFILL, GI_NUTS_10, false, &noVariable, DEKU_NUTS_10); - itemTable[DEKU_SEEDS_30] = Item(RG_DEKU_SEEDS_30, Text{"Deku Seeds (30)", "Graines Mojo (30)", "Semillas deku (30)"}, ITEMTYPE_REFILL, GI_SEEDS_30, false, &noVariable, DEKU_SEEDS_30); - itemTable[DEKU_STICK_1] = Item(RG_DEKU_STICK_1, Text{"Deku Stick (1)", "Bâton Mojo (1)", "Palo deku (1)"}, ITEMTYPE_REFILL, GI_STICKS_1, false, &noVariable, DEKU_STICK_1); - itemTable[RED_POTION_REFILL] = Item(RG_RED_POTION_REFILL, Text{"Red Potion Refill", "Recharge de Potion Rouge", "Recarga de poción roja"}, ITEMTYPE_REFILL, GI_POTION_RED, false, &noVariable, NONE); - itemTable[GREEN_POTION_REFILL] = Item(RG_GREEN_POTION_REFILL, Text{"Green Potion Refill", "Recharge de Potion Verte", "Recarga de poción verde"}, ITEMTYPE_REFILL, GI_POTION_GREEN, false, &noVariable, NONE); - itemTable[BLUE_POTION_REFILL] = Item(RG_BLUE_POTION_REFILL, Text{"Blue Potion Refill", "Recharge de Potion Bleue", "Recarga de poción azul"}, ITEMTYPE_REFILL, GI_POTION_BLUE, false, &noVariable, NONE); + itemTable[ARROWS_5] = Item(RG_ARROWS_5, Text{"Arrows (5)", "Flèches (5)", "Flechas (5)"}, ITEMTYPE_REFILL, GI_ARROWS_5, false, &noVariable, ARROWS_5); + itemTable[ARROWS_10] = Item(RG_ARROWS_10, Text{"Arrows (10)", "Flèches (10)", "Flechas (10)"}, ITEMTYPE_REFILL, GI_ARROWS_10, false, &noVariable, ARROWS_10); + itemTable[ARROWS_30] = Item(RG_ARROWS_30, Text{"Arrows (30)", "Flèches (30)", "Flechas (30)"}, ITEMTYPE_REFILL, GI_ARROWS_30, false, &noVariable, ARROWS_30); + itemTable[DEKU_NUTS_5] = Item(RG_DEKU_NUTS_5, Text{"Deku Nuts (5)", "Noix Mojo (5)", "Nueces deku (5)"}, ITEMTYPE_REFILL, GI_DEKU_NUTS_5, false, &noVariable, DEKU_NUTS_5); + itemTable[DEKU_NUTS_10] = Item(RG_DEKU_NUTS_10, Text{"Deku Nuts (10)", "Noix Mojo (10)", "Nueces deku (10)"}, ITEMTYPE_REFILL, GI_DEKU_NUTS_10, false, &noVariable, DEKU_NUTS_10); + itemTable[DEKU_SEEDS_30] = Item(RG_DEKU_SEEDS_30, Text{"Deku Seeds (30)", "Graines Mojo (30)", "Semillas deku (30)"}, ITEMTYPE_REFILL, GI_DEKU_SEEDS_30, false, &noVariable, DEKU_SEEDS_30); + itemTable[DEKU_STICK_1] = Item(RG_DEKU_STICK_1, Text{"Deku Stick (1)", "Bâton Mojo (1)", "Palo deku (1)"}, ITEMTYPE_REFILL, GI_DEKU_STICKS_1, false, &noVariable, DEKU_STICK_1); + itemTable[RED_POTION_REFILL] = Item(RG_RED_POTION_REFILL, Text{"Red Potion Refill", "Recharge de Potion Rouge", "Recarga de poción roja"}, ITEMTYPE_REFILL, GI_BOTTLE_POTION_RED, false, &noVariable, NONE); + itemTable[GREEN_POTION_REFILL] = Item(RG_GREEN_POTION_REFILL, Text{"Green Potion Refill", "Recharge de Potion Verte", "Recarga de poción verde"}, ITEMTYPE_REFILL, GI_BOTTLE_POTION_GREEN, false, &noVariable, NONE); + itemTable[BLUE_POTION_REFILL] = Item(RG_BLUE_POTION_REFILL, Text{"Blue Potion Refill", "Recharge de Potion Bleue", "Recarga de poción azul"}, ITEMTYPE_REFILL, GI_BOTTLE_POTION_BLUE, false, &noVariable, NONE); //Treasure Game itemTable[TREASURE_GAME_HEART] = Item(RG_TREASURE_GAME_HEART, Text{"Piece of Heart (WINNER)", "Quart de Coeur (Chasse-aux-Trésors)", "Pieza de corazón (Cofre del Tesoro)"}, ITEMTYPE_ITEM, GI_HEART_PIECE_WIN, true, &PieceOfHeart, TREASURE_GAME_HEART); diff --git a/soh/soh/Enhancements/randomizer/3drando/item_pool.cpp b/soh/soh/Enhancements/randomizer/3drando/item_pool.cpp index 485fc4154c6..55eb8463796 100644 --- a/soh/soh/Enhancements/randomizer/3drando/item_pool.cpp +++ b/soh/soh/Enhancements/randomizer/3drando/item_pool.cpp @@ -611,7 +611,7 @@ void GenerateItemPool() { IceTrapModels = { GI_SHIELD_MIRROR, GI_BOOMERANG, - GI_LENS, + GI_LENS_OF_TRUTH, GI_HAMMER, GI_BOOTS_IRON, GI_BOOTS_HOVER, @@ -881,7 +881,7 @@ void GenerateItemPool() { //Gerudo Membership Card if (ShuffleGerudoToken && GerudoFortress.IsNot(GERUDOFORTRESS_OPEN)) { AddItemToMainPool(GERUDO_MEMBERSHIP_CARD); - IceTrapModels.push_back(GI_GERUDO_CARD); + IceTrapModels.push_back(GI_GERUDOS_CARD); } else if (ShuffleGerudoToken) { AddItemToPool(PendingJunkPool, GERUDO_MEMBERSHIP_CARD); PlaceItemInLocation(GF_GERUDO_MEMBERSHIP_CARD, ICE_TRAP, false, true); @@ -1166,7 +1166,7 @@ void GenerateItemPool() { AddItemToMainPool(PROGRESSIVE_GORONSWORD, 2); IceTrapModels.push_back(0xD4); // Progressive Goron Sword } else { - IceTrapModels.push_back(GI_SWORD_BGS); + IceTrapModels.push_back(GI_SWORD_BIGGORON); } //Replace ice traps with junk from the pending junk pool if necessary diff --git a/soh/soh/Enhancements/randomizer/3drando/shops.cpp b/soh/soh/Enhancements/randomizer/3drando/shops.cpp index 8c47ac97653..1d635bf71d0 100644 --- a/soh/soh/Enhancements/randomizer/3drando/shops.cpp +++ b/soh/soh/Enhancements/randomizer/3drando/shops.cpp @@ -233,7 +233,7 @@ void InitTrickNames() { Text{"Medigoron's Sword", "l'Épée de Medigoron", "La espada de Medigoron"}, Text{"Razor Sword", "Lame Rasoir", "Espada de esmeril"}, Text{"Royal Claymore", "Claymore Royale", "Royal Claymore"}}; - trickNameTable[GI_SWORD_BGS] = { + trickNameTable[GI_SWORD_BIGGORON] = { Text{"Power Sword", "Épée de Puissance", "Espada de poder"}, Text{"Fierce Deity Sword", "Épée du dieu démon", "Espada de la Fiera Deidad"}, Text{"Tempered Sword", "Épée de Légende Nv.2", "Espada Maestra mejorada"}, @@ -274,7 +274,7 @@ void InitTrickNames() { Text{"Poached Egg", "Oeuf à la coque", "Huevo pasado"}, Text{"Lon Lon Egg", "Oeuf Lon Lon", "Huevo Lon Lon"}, Text{"Zora Egg", "Oeuf Zora", "Huevo Zora"}}; - trickNameTable[GI_LETTER_ZELDA] = { + trickNameTable[GI_ZELDAS_LETTER] = { Text{"Ruto's Letter", "Lettre de Ruto", "Carta de Ruto"}, Text{"Royal Letter", "Lettre Eoyale", "Carta para Kafei"}, Text{"Zelda's Business Card", "Carte d'affaires de Zelda", "Carta"}, @@ -286,7 +286,7 @@ void InitTrickNames() { Text{"Prank Fetch Toy", "Inséparable Bâtonnet", "Bumerang"}, Text{"Gale Boomerang", "Boomerang Tornade", "Bumerán tornado"}, Text{"Magic Boomerang", "Boomerang Magique", "Bumerán mágico"}}; - trickNameTable[GI_LENS] = { + trickNameTable[GI_LENS_OF_TRUTH] = { Text{"Sheikah-leidoscope", "Sheikah-léidoscope", "Monóculo de la Verdad"}, Text{"Sheikah Sensor", "Sonar Sheikah", "Sensor Sheikah"}, Text{"Crystal of Vision", "Cristal de Vision", "Cristal de Visión"}, @@ -331,7 +331,7 @@ void InitTrickNames() { Text{"Wand of Gamelon", "Baguette de Gamelon", "Varita de Gamelón"}, Text{"Shock Arrow", "Flèches Électriques", "Flecha eléctrica"}, Text{"Silver Arrow", "Flèches d'Argent", "Flecha de plata"}}; - trickNameTable[GI_GERUDO_CARD] = { + trickNameTable[GI_GERUDOS_CARD] = { Text{"Desert Title Deed", "Abonnement Gerudo", "Escritura del desierto"}, Text{"Sickle Moon Flag", "Drapeau du croissant de lune", "Bandera de la Luna Creciente"}, Text{"Complimentary ID", "Bon de félicitation", "Cupón especial"}, @@ -373,13 +373,13 @@ void InitTrickNames() { Text{"Secret Medicine", "Médicament", "Pócima secreta"}, Text{"Mushroom Spores", "Spores de Champignons", "Esporas de hongos"}, Text{"Hanyu Spore", "Hanyu Spore", "Espora Hanyu"}}; - trickNameTable[GI_SAW] = { + trickNameTable[GI_POACHERS_SAW] = { Text{"Carpenter's Saw", "Scie du charpentier", "Sierra del carpintero"}, Text{"Poacher's Sword", "Hache du chasseur", "Espada del capataz"}, Text{"Ancient Bladesaw", "Longue Épée Archéonique", "Mandoble ancestral"}, Text{"Woodcutter's Axe", "Hache du Bûcheron", "Hacha de leñador"}, Text{"Grog's Saw", "Scie de Grog", "Sierra del Cazador Furtivo"}}; - trickNameTable[GI_SWORD_BROKEN] = { + trickNameTable[GI_BROKEN_GORONS_SWORD] = { Text{"Broken Biggoron's Sword", "Épée brisée de Grogoron", "Espada de Biggoron rota"}, Text{"Broken Giant's Knife", "Lame des Géants brisée", "Daga gigante rota"}, Text{"Broken Noble Sword", "Épée noble brisée", "Espada noble rota"}, @@ -392,12 +392,12 @@ void InitTrickNames() { Text{"Swordsman's Scroll", "Précis d'escrime", "Esgrimidorium"}, Text{"Portrait of Oren", "Portrait d'Orlène", "Retrato de Oren"}, Text{"Letter to King Zora", "Lettre au roi Zora", "Carta al Rey Zora"}}; - trickNameTable[GI_FROG] = { + trickNameTable[GI_EYEBALL_FROG] = { Text{"Don Gero", "Don Gero", "Don Gero"}, Text{"Hot-Footed Frog", "Grenouille à pieds chauds", "Rana de patas calientes"}, Text{"Lost Swordsmith", "Forgeron perdu", "Espadachín perdido"}, Text{"Eyedrop Frog", "Grenouille-qui-louche", "Globo Ocular de Rana"}}; - trickNameTable[GI_EYEDROPS] = { + trickNameTable[GI_EYE_DROPS] = { Text{"Biggoron's Eyedrops", "Gouttes de Grogoron", "Gotas de Biggoron"}, Text{"Hyrule's Finest Eyedrops", "Eau du Lac Hylia", "Gotas oculares"}, Text{"Moon's Tear", "Larme de Lune", "Lágrima de Luna"}, @@ -655,7 +655,7 @@ void InitTrickNames() { Text{"Sign of Destiny", "Glyphe du destin", "Glifo del destino"}, Text{"Medallion of Light", "Médaillon du temple de lumière", "Medalla de la Luz"}}; - trickNameTable[GI_HEART] = { + trickNameTable[GI_RECOVERY_HEART] = { Text{"Love", "Bisou", "Te amo"}, Text{"Life", "Vie", "vida"}, Text{"HP", "VP", "VP"}}; @@ -829,7 +829,7 @@ void InitTrickNames() { Text{"Skrik Mask", "Masque Skrik", "Máscara Escalofriante"}, Text{"ReDead Mask", "Masque de Remort", "Máscara de ReDead"}, Text{"Gibdo Mask", "Masque de Gibdo", "Careta de Gibdo"}}; - trickNameTable[GI_MASK_BUNNY] = { + trickNameTable[GI_MASK_BUNNY_HOOD] = { Text{"Peppy Mask", "Masque de Peppy", "Capucha de Pascua"}, Text{"Bunny Ears", "Oreilles de lapin", "Orejas de conejo"}, Text{"Postman's Hat", "Casquette du facteur", "Gorra de cartero"}}; diff --git a/soh/soh/Enhancements/randomizer/randomizer.cpp b/soh/soh/Enhancements/randomizer/randomizer.cpp index 578532a331d..9f95183f324 100644 --- a/soh/soh/Enhancements/randomizer/randomizer.cpp +++ b/soh/soh/Enhancements/randomizer/randomizer.cpp @@ -184,39 +184,39 @@ std::unordered_map getItemIdToItemId = { { GI_DINS_FIRE, ITEM_DINS_FIRE }, { GI_SLINGSHOT, ITEM_SLINGSHOT }, { GI_OCARINA_FAIRY, ITEM_OCARINA_FAIRY }, - { GI_OCARINA_OOT, ITEM_OCARINA_TIME }, + { GI_OCARINA_OF_TIME, ITEM_OCARINA_OF_TIME }, { GI_HOOKSHOT, ITEM_HOOKSHOT }, { GI_LONGSHOT, ITEM_LONGSHOT }, { GI_ARROW_ICE, ITEM_ARROW_ICE }, { GI_FARORES_WIND, ITEM_FARORES_WIND }, { GI_BOOMERANG, ITEM_BOOMERANG }, - { GI_LENS, ITEM_LENS }, + { GI_LENS_OF_TRUTH, ITEM_LENS_OF_TRUTH }, { GI_HAMMER, ITEM_HAMMER }, { GI_ARROW_LIGHT, ITEM_ARROW_LIGHT }, { GI_NAYRUS_LOVE, ITEM_NAYRUS_LOVE }, - { GI_BOTTLE, ITEM_BOTTLE }, - { GI_POTION_RED, ITEM_POTION_RED }, - { GI_POTION_GREEN, ITEM_POTION_GREEN }, - { GI_POTION_BLUE, ITEM_POTION_BLUE }, - { GI_FAIRY, ITEM_FAIRY }, - { GI_FISH, ITEM_FISH }, - { GI_MILK_BOTTLE, ITEM_MILK_BOTTLE }, - { GI_LETTER_RUTO, ITEM_LETTER_RUTO }, - { GI_BLUE_FIRE, ITEM_BLUE_FIRE }, - { GI_BUGS, ITEM_BUG }, - { GI_BIG_POE, ITEM_BIG_POE }, - { GI_POE, ITEM_POE }, + { GI_BOTTLE_EMPTY, ITEM_BOTTLE_EMPTY }, + { GI_BOTTLE_POTION_RED, ITEM_BOTTLE_POTION_RED }, + { GI_BOTTLE_POTION_GREEN, ITEM_BOTTLE_POTION_GREEN }, + { GI_BOTTLE_POTION_BLUE, ITEM_BOTTLE_POTION_BLUE }, + { GI_BOTTLE_FAIRY, ITEM_BOTTLE_FAIRY }, + { GI_BOTTLE_FISH, ITEM_BOTTLE_FISH }, + { GI_BOTTLE_MILK_FULL, ITEM_BOTTLE_MILK_FULL }, + { GI_BOTTLE_RUTOS_LETTER, ITEM_BOTTLE_RUTOS_LETTER }, + { GI_BOTTLE_BLUE_FIRE, ITEM_BOTTLE_BLUE_FIRE }, + { GI_BOTTLE_BUGS, ITEM_BOTTLE_BUG }, + { GI_BOTTLE_BIG_POE, ITEM_BOTTLE_BIG_POE }, + { GI_BOTTLE_POE, ITEM_BOTTLE_POE }, { GI_WEIRD_EGG, ITEM_WEIRD_EGG }, - { GI_LETTER_ZELDA, ITEM_LETTER_ZELDA }, + { GI_ZELDAS_LETTER, ITEM_ZELDAS_LETTER }, { GI_POCKET_EGG, ITEM_POCKET_EGG }, { GI_COJIRO, ITEM_COJIRO }, { GI_ODD_MUSHROOM, ITEM_ODD_MUSHROOM }, { GI_ODD_POTION, ITEM_ODD_POTION }, - { GI_SAW, ITEM_SAW }, - { GI_SWORD_BROKEN, ITEM_SWORD_BROKEN }, + { GI_POACHERS_SAW, ITEM_POACHERS_SAW }, + { GI_BROKEN_GORONS_SWORD, ITEM_BROKEN_GORONS_SWORD }, { GI_PRESCRIPTION, ITEM_PRESCRIPTION }, - { GI_FROG, ITEM_FROG }, - { GI_EYEDROPS, ITEM_EYEDROPS }, + { GI_EYEBALL_FROG, ITEM_EYEBALL_FROG }, + { GI_EYE_DROPS, ITEM_EYE_DROPS }, { GI_CLAIM_CHECK, ITEM_CLAIM_CHECK } }; @@ -1664,33 +1664,33 @@ ItemObtainability Randomizer::GetItemObtainabilityFromRandomizerGet(RandomizerGe // Equipment case RG_KOKIRI_SWORD: - return !CHECK_OWNED_EQUIP(EQUIP_SWORD, 0) ? CAN_OBTAIN : CANT_OBTAIN_ALREADY_HAVE; + return !CHECK_OWNED_EQUIP(EQUIP_TYPE_SWORD, 0) ? CAN_OBTAIN : CANT_OBTAIN_ALREADY_HAVE; case RG_BIGGORON_SWORD: return !gSaveContext.bgsFlag ? CAN_OBTAIN : CANT_OBTAIN_ALREADY_HAVE; case RG_DEKU_SHIELD: case RG_BUY_DEKU_SHIELD: - return !CHECK_OWNED_EQUIP(EQUIP_SHIELD, 0) ? CAN_OBTAIN : CANT_OBTAIN_ALREADY_HAVE; + return !CHECK_OWNED_EQUIP(EQUIP_TYPE_SHIELD, 0) ? CAN_OBTAIN : CANT_OBTAIN_ALREADY_HAVE; case RG_HYLIAN_SHIELD: case RG_BUY_HYLIAN_SHIELD: - return !CHECK_OWNED_EQUIP(EQUIP_SHIELD, 1) ? CAN_OBTAIN : CANT_OBTAIN_ALREADY_HAVE; + return !CHECK_OWNED_EQUIP(EQUIP_TYPE_SHIELD, 1) ? CAN_OBTAIN : CANT_OBTAIN_ALREADY_HAVE; case RG_MIRROR_SHIELD: - return !CHECK_OWNED_EQUIP(EQUIP_SHIELD, 2) ? CAN_OBTAIN : CANT_OBTAIN_ALREADY_HAVE; + return !CHECK_OWNED_EQUIP(EQUIP_TYPE_SHIELD, 2) ? CAN_OBTAIN : CANT_OBTAIN_ALREADY_HAVE; case RG_GORON_TUNIC: case RG_BUY_GORON_TUNIC: - return !CHECK_OWNED_EQUIP(EQUIP_TUNIC, 1) ? CAN_OBTAIN : CANT_OBTAIN_ALREADY_HAVE; + return !CHECK_OWNED_EQUIP(EQUIP_TYPE_TUNIC, 1) ? CAN_OBTAIN : CANT_OBTAIN_ALREADY_HAVE; case RG_ZORA_TUNIC: case RG_BUY_ZORA_TUNIC: - return !CHECK_OWNED_EQUIP(EQUIP_TUNIC, 2) ? CAN_OBTAIN : CANT_OBTAIN_ALREADY_HAVE; + return !CHECK_OWNED_EQUIP(EQUIP_TYPE_TUNIC, 2) ? CAN_OBTAIN : CANT_OBTAIN_ALREADY_HAVE; case RG_IRON_BOOTS: - return !CHECK_OWNED_EQUIP(EQUIP_BOOTS, 1) ? CAN_OBTAIN : CANT_OBTAIN_ALREADY_HAVE; + return !CHECK_OWNED_EQUIP(EQUIP_TYPE_BOOTS, 1) ? CAN_OBTAIN : CANT_OBTAIN_ALREADY_HAVE; case RG_HOVER_BOOTS: - return !CHECK_OWNED_EQUIP(EQUIP_BOOTS, 2) ? CAN_OBTAIN : CANT_OBTAIN_ALREADY_HAVE; + return !CHECK_OWNED_EQUIP(EQUIP_TYPE_BOOTS, 2) ? CAN_OBTAIN : CANT_OBTAIN_ALREADY_HAVE; // Inventory Items case RG_PROGRESSIVE_STICK_UPGRADE: - return CUR_UPG_VALUE(UPG_STICKS) < 3 ? CAN_OBTAIN : CANT_OBTAIN_ALREADY_HAVE; + return CUR_UPG_VALUE(UPG_DEKU_STICKS) < 3 ? CAN_OBTAIN : CANT_OBTAIN_ALREADY_HAVE; case RG_PROGRESSIVE_NUT_UPGRADE: - return CUR_UPG_VALUE(UPG_NUTS) < 3 ? CAN_OBTAIN : CANT_OBTAIN_ALREADY_HAVE; + return CUR_UPG_VALUE(UPG_DEKU_NUTS) < 3 ? CAN_OBTAIN : CANT_OBTAIN_ALREADY_HAVE; case RG_PROGRESSIVE_BOMB_BAG: return CUR_UPG_VALUE(UPG_BOMB_BAG) < 3 ? CAN_OBTAIN : CANT_OBTAIN_ALREADY_HAVE; case RG_BOMBS_5: @@ -1721,7 +1721,7 @@ ItemObtainability Randomizer::GetItemObtainabilityFromRandomizerGet(RandomizerGe case ITEM_NONE: case ITEM_OCARINA_FAIRY: return CAN_OBTAIN; - case ITEM_OCARINA_TIME: + case ITEM_OCARINA_OF_TIME: default: return CANT_OBTAIN_ALREADY_HAVE; } @@ -1753,10 +1753,10 @@ ItemObtainability Randomizer::GetItemObtainabilityFromRandomizerGet(RandomizerGe case RG_BOOMERANG: return INV_CONTENT(ITEM_BOOMERANG) == ITEM_NONE ? CAN_OBTAIN : CANT_OBTAIN_ALREADY_HAVE; case RG_LENS_OF_TRUTH: - return INV_CONTENT(ITEM_LENS) == ITEM_NONE ? CAN_OBTAIN : CANT_OBTAIN_ALREADY_HAVE; + return INV_CONTENT(ITEM_LENS_OF_TRUTH) == ITEM_NONE ? CAN_OBTAIN : CANT_OBTAIN_ALREADY_HAVE; case RG_MAGIC_BEAN: case RG_MAGIC_BEAN_PACK: - return AMMO(ITEM_BEAN) < 10 ? CAN_OBTAIN : CANT_OBTAIN_ALREADY_HAVE; + return AMMO(ITEM_MAGIC_BEAN) < 10 ? CAN_OBTAIN : CANT_OBTAIN_ALREADY_HAVE; case RG_MEGATON_HAMMER: return INV_CONTENT(ITEM_HAMMER) == ITEM_NONE ? CAN_OBTAIN : CANT_OBTAIN_ALREADY_HAVE; case RG_FIRE_ARROWS: @@ -1825,7 +1825,7 @@ ItemObtainability Randomizer::GetItemObtainabilityFromRandomizerGet(RandomizerGe case RG_STONE_OF_AGONY: return !CHECK_QUEST_ITEM(QUEST_STONE_OF_AGONY) ? CAN_OBTAIN : CANT_OBTAIN_ALREADY_HAVE; case RG_GERUDO_MEMBERSHIP_CARD: - return !CHECK_QUEST_ITEM(QUEST_GERUDO_CARD) ? CAN_OBTAIN : CANT_OBTAIN_ALREADY_HAVE; + return !CHECK_QUEST_ITEM(QUEST_GERUDOS_CARD) ? CAN_OBTAIN : CANT_OBTAIN_ALREADY_HAVE; case RG_DOUBLE_DEFENSE: return !gSaveContext.isDoubleDefenseAcquired ? CAN_OBTAIN : CANT_OBTAIN_ALREADY_HAVE; case RG_GOLD_SKULLTULA_TOKEN: @@ -1909,17 +1909,17 @@ ItemObtainability Randomizer::GetItemObtainabilityFromRandomizerGet(RandomizerGe case RG_ICE_CAVERN_COMPASS: return !CHECK_DUNGEON_ITEM(DUNGEON_COMPASS, SCENE_ICE_CAVERN) ? CAN_OBTAIN : CANT_OBTAIN_ALREADY_HAVE; case RG_FOREST_TEMPLE_BOSS_KEY: - return !CHECK_DUNGEON_ITEM(DUNGEON_KEY_BOSS, SCENE_FOREST_TEMPLE) ? CAN_OBTAIN : CANT_OBTAIN_ALREADY_HAVE; + return !CHECK_DUNGEON_ITEM(DUNGEON_BOSS_KEY, SCENE_FOREST_TEMPLE) ? CAN_OBTAIN : CANT_OBTAIN_ALREADY_HAVE; case RG_FIRE_TEMPLE_BOSS_KEY: - return !CHECK_DUNGEON_ITEM(DUNGEON_KEY_BOSS, SCENE_FIRE_TEMPLE) ? CAN_OBTAIN : CANT_OBTAIN_ALREADY_HAVE; + return !CHECK_DUNGEON_ITEM(DUNGEON_BOSS_KEY, SCENE_FIRE_TEMPLE) ? CAN_OBTAIN : CANT_OBTAIN_ALREADY_HAVE; case RG_WATER_TEMPLE_BOSS_KEY: - return !CHECK_DUNGEON_ITEM(DUNGEON_KEY_BOSS, SCENE_WATER_TEMPLE) ? CAN_OBTAIN : CANT_OBTAIN_ALREADY_HAVE; + return !CHECK_DUNGEON_ITEM(DUNGEON_BOSS_KEY, SCENE_WATER_TEMPLE) ? CAN_OBTAIN : CANT_OBTAIN_ALREADY_HAVE; case RG_SPIRIT_TEMPLE_BOSS_KEY: - return !CHECK_DUNGEON_ITEM(DUNGEON_KEY_BOSS, SCENE_SPIRIT_TEMPLE) ? CAN_OBTAIN : CANT_OBTAIN_ALREADY_HAVE; + return !CHECK_DUNGEON_ITEM(DUNGEON_BOSS_KEY, SCENE_SPIRIT_TEMPLE) ? CAN_OBTAIN : CANT_OBTAIN_ALREADY_HAVE; case RG_SHADOW_TEMPLE_BOSS_KEY: - return !CHECK_DUNGEON_ITEM(DUNGEON_KEY_BOSS, SCENE_SHADOW_TEMPLE) ? CAN_OBTAIN : CANT_OBTAIN_ALREADY_HAVE; + return !CHECK_DUNGEON_ITEM(DUNGEON_BOSS_KEY, SCENE_SHADOW_TEMPLE) ? CAN_OBTAIN : CANT_OBTAIN_ALREADY_HAVE; case RG_GANONS_CASTLE_BOSS_KEY: - return !CHECK_DUNGEON_ITEM(DUNGEON_KEY_BOSS, SCENE_GANONS_TOWER) ? CAN_OBTAIN : CANT_OBTAIN_ALREADY_HAVE; + return !CHECK_DUNGEON_ITEM(DUNGEON_BOSS_KEY, SCENE_GANONS_TOWER) ? CAN_OBTAIN : CANT_OBTAIN_ALREADY_HAVE; case RG_FOREST_TEMPLE_SMALL_KEY: return gSaveContext.inventory.dungeonKeys[SCENE_FOREST_TEMPLE] < FOREST_TEMPLE_SMALL_KEY_MAX ? CAN_OBTAIN : CANT_OBTAIN_ALREADY_HAVE; case RG_FIRE_TEMPLE_SMALL_KEY: @@ -2004,11 +2004,11 @@ GetItemID Randomizer::GetItemIdFromRandomizerGet(RandomizerGet randoGet, GetItem case RG_KOKIRI_SWORD: return GI_SWORD_KOKIRI; case RG_PROGRESSIVE_GORONSWORD: //todo progressive? - return GI_SWORD_BGS; + return GI_SWORD_BIGGORON; case RG_GIANTS_KNIFE: return GI_SWORD_KNIFE; case RG_BIGGORON_SWORD: - return GI_SWORD_BGS; + return GI_SWORD_BIGGORON; case RG_DEKU_SHIELD: case RG_BUY_DEKU_SHIELD: return GI_SHIELD_DEKU; @@ -2030,22 +2030,22 @@ GetItemID Randomizer::GetItemIdFromRandomizerGet(RandomizerGet randoGet, GetItem // Inventory Items case RG_PROGRESSIVE_STICK_UPGRADE: - switch (CUR_UPG_VALUE(UPG_STICKS)) { + switch (CUR_UPG_VALUE(UPG_DEKU_STICKS)) { case 0: case 1: - return GI_STICK_UPGRADE_20; + return GI_DEKU_STICK_UPGRADE_20; case 2: case 3: - return GI_STICK_UPGRADE_30; + return GI_DEKU_STICK_UPGRADE_30; } case RG_PROGRESSIVE_NUT_UPGRADE: - switch (CUR_UPG_VALUE(UPG_NUTS)) { + switch (CUR_UPG_VALUE(UPG_DEKU_NUTS)) { case 0: case 1: - return GI_NUT_UPGRADE_30; + return GI_DEKU_NUT_UPGRADE_30; case 2: case 3: - return GI_NUT_UPGRADE_40; + return GI_DEKU_NUT_UPGRADE_40; } case RG_PROGRESSIVE_BOMB_BAG: switch (CUR_UPG_VALUE(UPG_BOMB_BAG)) { @@ -2081,13 +2081,13 @@ GetItemID Randomizer::GetItemIdFromRandomizerGet(RandomizerGet randoGet, GetItem } case RG_ARROWS_5: case RG_BUY_ARROWS_10: - return GI_ARROWS_SMALL; + return GI_ARROWS_5; case RG_ARROWS_10: case RG_BUY_ARROWS_30: - return GI_ARROWS_MEDIUM; + return GI_ARROWS_10; case RG_ARROWS_30: case RG_BUY_ARROWS_50: - return GI_ARROWS_LARGE; + return GI_ARROWS_30; case RG_PROGRESSIVE_SLINGSHOT: switch (CUR_UPG_VALUE(UPG_BULLET_BAG)) { case 0: @@ -2100,14 +2100,14 @@ GetItemID Randomizer::GetItemIdFromRandomizerGet(RandomizerGet randoGet, GetItem } case RG_DEKU_SEEDS_30: case RG_BUY_DEKU_SEEDS_30: - return GI_SEEDS_30; + return GI_DEKU_SEEDS_30; case RG_PROGRESSIVE_OCARINA: switch (INV_CONTENT(ITEM_OCARINA_FAIRY)) { case ITEM_NONE: return GI_OCARINA_FAIRY; case ITEM_OCARINA_FAIRY: - case ITEM_OCARINA_TIME: - return GI_OCARINA_OOT; + case ITEM_OCARINA_OF_TIME: + return GI_OCARINA_OF_TIME; } case RG_BOMBCHU_5: case RG_BOMBCHU_DROP: @@ -2129,9 +2129,9 @@ GetItemID Randomizer::GetItemIdFromRandomizerGet(RandomizerGet randoGet, GetItem case RG_BOOMERANG: return GI_BOOMERANG; case RG_LENS_OF_TRUTH: - return GI_LENS; + return GI_LENS_OF_TRUTH; case RG_MAGIC_BEAN: - return GI_BEAN; + return GI_MAGIC_BEAN; case RG_MEGATON_HAMMER: return GI_HAMMER; case RG_FIRE_ARROWS: @@ -2149,11 +2149,11 @@ GetItemID Randomizer::GetItemIdFromRandomizerGet(RandomizerGet randoGet, GetItem // Bottles case RG_EMPTY_BOTTLE: - return GI_BOTTLE; + return GI_BOTTLE_EMPTY; case RG_BOTTLE_WITH_MILK: - return GI_MILK_BOTTLE; + return GI_BOTTLE_MILK_FULL; case RG_RUTOS_LETTER: - return GI_LETTER_RUTO; + return GI_BOTTLE_RUTOS_LETTER; // Bottle Refills case RG_MILK: @@ -2162,29 +2162,29 @@ GetItemID Randomizer::GetItemIdFromRandomizerGet(RandomizerGet randoGet, GetItem case RG_BUY_RED_POTION_30: case RG_BUY_RED_POTION_40: case RG_BUY_RED_POTION_50: - return GI_POTION_RED; + return GI_BOTTLE_POTION_RED; case RG_GREEN_POTION_REFILL: case RG_BUY_GREEN_POTION: - return GI_POTION_GREEN; + return GI_BOTTLE_POTION_GREEN; case RG_BLUE_POTION_REFILL: case RG_BUY_BLUE_POTION: - return GI_POTION_BLUE; + return GI_BOTTLE_POTION_BLUE; case RG_BUY_FISH: - return GI_FISH; + return GI_BOTTLE_FISH; case RG_BUY_BLUE_FIRE: - return GI_BLUE_FIRE; + return GI_BOTTLE_BLUE_FIRE; case RG_BUY_BOTTLE_BUG: - return GI_BUGS; + return GI_BOTTLE_BUGS; case RG_BUY_POE: - return GI_POE; + return GI_BOTTLE_POE; case RG_BUY_FAIRYS_SPIRIT: - return GI_FAIRY; + return GI_BOTTLE_FAIRY; // Trade Items case RG_WEIRD_EGG: return GI_WEIRD_EGG; case RG_ZELDAS_LETTER: - return GI_LETTER_ZELDA; + return GI_ZELDAS_LETTER; case RG_POCKET_EGG: return GI_POCKET_EGG; case RG_COJIRO: @@ -2194,15 +2194,15 @@ GetItemID Randomizer::GetItemIdFromRandomizerGet(RandomizerGet randoGet, GetItem case RG_ODD_POTION: return GI_ODD_POTION; case RG_POACHERS_SAW: - return GI_SAW; + return GI_POACHERS_SAW; case RG_BROKEN_SWORD: - return GI_SWORD_BROKEN; + return GI_BROKEN_GORONS_SWORD; case RG_PRESCRIPTION: return GI_PRESCRIPTION; case RG_EYEBALL_FROG: - return GI_FROG; + return GI_EYEBALL_FROG; case RG_EYEDROPS: - return GI_EYEDROPS; + return GI_EYE_DROPS; case RG_CLAIM_CHECK: return GI_CLAIM_CHECK; @@ -2210,18 +2210,18 @@ GetItemID Randomizer::GetItemIdFromRandomizerGet(RandomizerGet randoGet, GetItem case RG_STONE_OF_AGONY: return GI_STONE_OF_AGONY; case RG_GERUDO_MEMBERSHIP_CARD: - return GI_GERUDO_CARD; + return GI_GERUDOS_CARD; case RG_GOLD_SKULLTULA_TOKEN: return GI_SKULL_TOKEN; case RG_PROGRESSIVE_STRENGTH: switch (CUR_UPG_VALUE(UPG_STRENGTH)) { case 0: - return GI_BRACELET; + return GI_GORONS_BRACELET; case 1: - return GI_GAUNTLETS_SILVER; + return GI_SILVER_GAUNTLETS; case 2: case 3: - return GI_GAUNTLETS_GOLD; + return GI_GOLD_GAUNTLETS; } case RG_PROGRESSIVE_WALLET: switch (CUR_UPG_VALUE(UPG_WALLET)) { @@ -2239,7 +2239,7 @@ GetItemID Randomizer::GetItemIdFromRandomizerGet(RandomizerGet randoGet, GetItem return GI_SCALE_SILVER; case 1: case 2: - return GI_SCALE_GOLD; + return GI_SCALE_GOLDEN; } case RG_PROGRESSIVE_MAGIC_METER: switch (gSaveContext.magicLevel) { @@ -2252,7 +2252,7 @@ GetItemID Randomizer::GetItemIdFromRandomizerGet(RandomizerGet randoGet, GetItem case RG_RECOVERY_HEART: case RG_BUY_HEART: - return GI_HEART; + return GI_RECOVERY_HEART; case RG_GREEN_RUPEE: return GI_RUPEE_GREEN; case RG_BLUE_RUPEE: @@ -2270,13 +2270,13 @@ GetItemID Randomizer::GetItemIdFromRandomizerGet(RandomizerGet randoGet, GetItem case RG_DEKU_NUTS_5: case RG_BUY_DEKU_NUT_5: - return GI_NUTS_5; + return GI_DEKU_NUTS_5; case RG_DEKU_NUTS_10: case RG_BUY_DEKU_NUT_10: - return GI_NUTS_10; + return GI_DEKU_NUTS_10; case RG_DEKU_STICK_1: case RG_BUY_DEKU_STICK_1: - return GI_STICKS_1; + return GI_DEKU_STICKS_1; case RG_TREASURE_GAME_SMALL_KEY: return GI_DOOR_KEY; case RG_TREASURE_GAME_HEART: @@ -5871,138 +5871,138 @@ void Randomizer::CreateCustomMessages() { "You found %gGreg%w!", "%gGreg%w! Du hast ihn wirklich gefunden!", "Félicitation! Vous avez trouvé %gGreg%w!"), - GIMESSAGE(RG_BOTTLE_WITH_BLUE_FIRE, ITEM_BLUE_FIRE, + GIMESSAGE(RG_BOTTLE_WITH_BLUE_FIRE, ITEM_BOTTLE_BLUE_FIRE, "You got a %rBottle with Blue &Fire%w! Use it to melt Red Ice!", "Du erhältst eine %rFlasche mit&blauem Feuer%w! Nutze es um&%rRotes Eis%w zu schmelzen!", "Vous obtenez une %rBouteille avec&une Flamme Bleue%w! Utilisez-la&pour faire fondre la %rGlace&Rouge%w!"), - GIMESSAGE(RG_BOTTLE_WITH_BIG_POE, ITEM_BIG_POE, + GIMESSAGE(RG_BOTTLE_WITH_BIG_POE, ITEM_BOTTLE_BIG_POE, "You got a %rBig Poe in a Bottle%w!&Sell it to the Ghost Shop!", "Du hast einen %rNachtschwärmer%w&in einer Flasche gefangen!&Gehe zum %rGespenstermarkt%w&und verkaufe ihn!", "Vous obtenez une %rBouteille avec&une Âme%w! Vendez-la au Marchand&d'Âme"), - GIMESSAGE(RG_BOTTLE_WITH_BLUE_POTION, ITEM_POTION_BLUE, + GIMESSAGE(RG_BOTTLE_WITH_BLUE_POTION, ITEM_BOTTLE_POTION_BLUE, "You got a %rBottle of Blue Potion%w!&Drink it to replenish your&%ghealth%w and %bmagic%w!", "Du erhältst ein %rBlaues Elexier%w!&Nutze es, um deine %rMagie- und&Energieleiste%w komplett&aufzufüllen!", "Vous obtenez une %rBouteille avec&une Potion Bleue%w! Buvez-la pour&restaurer votre %rénergie vitale%w&ainsi que votre %gmagie%w!"), - GIMESSAGE(RG_BOTTLE_WITH_FISH, ITEM_FISH, + GIMESSAGE(RG_BOTTLE_WITH_FISH, ITEM_BOTTLE_FISH, "You got a %rFish in a Bottle%w!&It looks fresh and delicious!&They say Jabu-Jabu loves them!", "Du hast jetzt einen %rFisch in&einer Flasche%w! Er sieht richtig&frisch aus! Man sagt,&Lord Jabu-Jabu liebt Fische!", "Vous obtenez une %rBouteille avec&un Poisson%w! Il a l'air délicieux!&Il paraîtrait que %bJabu-Jabu %wen&serait friand!"), - GIMESSAGE(RG_BOTTLE_WITH_BUGS, ITEM_BUG, + GIMESSAGE(RG_BOTTLE_WITH_BUGS, ITEM_BOTTLE_BUG, "You got a %rBug in a Bottle%w!&They love to burrow in&dirt holes!", "Du hast jetzt %rKäfer in einer&Flasche&%w!&Sie graben gerne&in Erdlöchern.", "Vous obtenez une %rBouteille avec&des Insectes%w! Ils adorent creuser&dans la terre meuble!"), - GIMESSAGE(RG_BOTTLE_WITH_FAIRY, ITEM_FAIRY, + GIMESSAGE(RG_BOTTLE_WITH_FAIRY, ITEM_BOTTLE_FAIRY, "You got a %rFairy in a Bottle%w!&Use it wisely!", "Du hast jetzt eine %rFee in einer&Flasche%w! Nutze sie weise!", "Vous obtenez une %rBouteille avec&une Fée%w! Faites-en bon usage!"), - GIMESSAGE(RG_BOTTLE_WITH_RED_POTION, ITEM_POTION_RED, + GIMESSAGE(RG_BOTTLE_WITH_RED_POTION, ITEM_BOTTLE_POTION_RED, "You got a %rBottle of Red Potion%w!&Drink it to replenish your&%ghealth%w!", "Du erhältst ein %rRotes Elexier%w!&Nutze es, um deine %rEnergieleiste&%weinmalig komplett aufzufüllen!", "Vous obtenez une %rBouteille avec&une Potion Rouge%w! Buvez-la pour&restaurer votre %rénergie vitale%w!"), - GIMESSAGE(RG_BOTTLE_WITH_GREEN_POTION, ITEM_POTION_GREEN, + GIMESSAGE(RG_BOTTLE_WITH_GREEN_POTION, ITEM_BOTTLE_POTION_GREEN, "You got a %rBottle of Green Potion%w!&Drink it to replenish your&%bmagic%w!", "Du erhältst ein %rGrünes Elexier%w!&Nutze es, um deine %bMagieleiste&%weinmalig komplett aufzufüllen!", "Vous obtenez une %rBouteille avec&une Potion Verte%w! Buvez-la pour&restaurer votre %gmagie%w!"), - GIMESSAGE(RG_BOTTLE_WITH_POE, ITEM_POE, + GIMESSAGE(RG_BOTTLE_WITH_POE, ITEM_BOTTLE_POE, "You got a %rPoe in a Bottle%w!&That creepy Ghost Shop might&be interested in this...", "Du hast jetzt ein %rIrrlicht in einer&Flasche%w! Der %rGespenstermarkt%w&interessiert sich für vielleicht&dafür...", "Vous obtenez une %rBouteille avec&un Esprit%w! Ça intéresserait&peut-être le vendeur d'Âme "), - GIMESSAGE(RG_GERUDO_FORTRESS_SMALL_KEY, ITEM_KEY_SMALL, + GIMESSAGE(RG_GERUDO_FORTRESS_SMALL_KEY, ITEM_SMALL_KEY, "You found a %yThieves Hideout &%wSmall Key!", "Du erhältst einen %rKleinen&Schlüssel%w für das %yDiebesversteck%w!", "Vous obtenez une %rPetite Clé %w&du %yRepaire des Voleurs%w!"), - GIMESSAGE(RG_FOREST_TEMPLE_SMALL_KEY, ITEM_KEY_SMALL, + GIMESSAGE(RG_FOREST_TEMPLE_SMALL_KEY, ITEM_SMALL_KEY, "You found a %gForest Temple &%wSmall Key!", "Du erhältst einen %rKleinen&Schlüssel%w für den %gWaldtempel%w!", "Vous obtenez une %rPetite Clé %w&du %gTemple de la Forêt%w!"), - GIMESSAGE(RG_FIRE_TEMPLE_SMALL_KEY, ITEM_KEY_SMALL, + GIMESSAGE(RG_FIRE_TEMPLE_SMALL_KEY, ITEM_SMALL_KEY, "You found a %rFire Temple &%wSmall Key!", "Du erhältst einen %rKleinen&Schlüssel%w für den %rFeuertempel%w!", "Vous obtenez une %rPetite Clé %w&du %rTemple du Feu%w!"), - GIMESSAGE(RG_WATER_TEMPLE_SMALL_KEY, ITEM_KEY_SMALL, + GIMESSAGE(RG_WATER_TEMPLE_SMALL_KEY, ITEM_SMALL_KEY, "You found a %bWater Temple &%wSmall Key!", "Du erhältst einen %rKleinen&Schlüssel%w für den %bWassertempel%w!", "Vous obtenez une %rPetite Clé %w&du %bTemple de l'Eau%w!"), - GIMESSAGE(RG_SPIRIT_TEMPLE_SMALL_KEY, ITEM_KEY_SMALL, + GIMESSAGE(RG_SPIRIT_TEMPLE_SMALL_KEY, ITEM_SMALL_KEY, "You found a %ySpirit Temple &%wSmall Key!", "Du erhältst einen %rKleinen&Schlüssel%w für den %yGeistertempel%w!", "Vous obtenez une %rPetite Clé %w&du %yTemple de l'Esprit%w!"), - GIMESSAGE(RG_SHADOW_TEMPLE_SMALL_KEY, ITEM_KEY_SMALL, + GIMESSAGE(RG_SHADOW_TEMPLE_SMALL_KEY, ITEM_SMALL_KEY, "You found a %pShadow Temple &%wSmall Key!", "Du erhältst einen %rKleinen&Schlüssel%w für den %pSchattentempel%w!", "Vous obtenez une %rPetite Clé %w&du %pTemple de l'Ombre%w!"), - GIMESSAGE(RG_BOTTOM_OF_THE_WELL_SMALL_KEY, ITEM_KEY_SMALL, + GIMESSAGE(RG_BOTTOM_OF_THE_WELL_SMALL_KEY, ITEM_SMALL_KEY, "You found a %pBottom of the &Well %wSmall Key!", "Du erhältst einen %rKleinen&Schlüssel%w für den %pGrund des Brunnens%w!", "Vous obtenez une %rPetite Clé %w&du %pPuits%w!"), - GIMESSAGE(RG_GERUDO_TRAINING_GROUNDS_SMALL_KEY, ITEM_KEY_SMALL, + GIMESSAGE(RG_GERUDO_TRAINING_GROUNDS_SMALL_KEY, ITEM_SMALL_KEY, "You found a %yGerudo Training &Grounds %wSmall Key!", "Du erhältst einen %rKleinen&Schlüssel%w für die %yGerudo&Trainingsarena%w!", "Vous obtenez une %rPetite Clé %w&du %yGymnase Gerudo%w!"), - GIMESSAGE(RG_GANONS_CASTLE_SMALL_KEY, ITEM_KEY_SMALL, + GIMESSAGE(RG_GANONS_CASTLE_SMALL_KEY, ITEM_SMALL_KEY, "You found a %rGanon's Castle &%wSmall Key!", "Du erhältst einen %rKleinen&Schlüssel%w für die %rGanons Schloß%w!", "Vous obtenez une %rPetite Clé %w&du %rChâteau de Ganon%w!"), - GIMESSAGE(RG_GERUDO_FORTRESS_KEY_RING, ITEM_KEY_SMALL, + GIMESSAGE(RG_GERUDO_FORTRESS_KEY_RING, ITEM_SMALL_KEY, "You found a %yThieves Hideout &%wKeyring!", "Du erhältst ein %rSchlüsselbund%w&für das %yDiebesversteck%w!", "Vous obtenez un trousseau de&clés du %yRepaire des Voleurs%w!"), - GIMESSAGE(RG_FOREST_TEMPLE_KEY_RING, ITEM_KEY_SMALL, + GIMESSAGE(RG_FOREST_TEMPLE_KEY_RING, ITEM_SMALL_KEY, "You found a %gForest Temple &%wKeyring!", "Du erhältst ein %rSchlüsselbund%w&für den %gWaldtempel%w!", "Vous obtenez un trousseau de&clés du %gTemple de la Forêt%w!"), - GIMESSAGE(RG_FIRE_TEMPLE_KEY_RING, ITEM_KEY_SMALL, + GIMESSAGE(RG_FIRE_TEMPLE_KEY_RING, ITEM_SMALL_KEY, "You found a %rFire Temple &%wKeyring!", "Du erhältst ein %rSchlüsselbund%w&für den %rFeuertempel%w!", "Vous obtenez un trousseau de&clés du %rTemple du Feu%w!"), - GIMESSAGE(RG_WATER_TEMPLE_KEY_RING, ITEM_KEY_SMALL, + GIMESSAGE(RG_WATER_TEMPLE_KEY_RING, ITEM_SMALL_KEY, "You found a %bWater Temple &%wKeyring!", "Du erhältst ein %rSchlüsselbund%w&für den %bWassertempel%w!", "Vous obtenez un trousseau de&clés du %bTemple de l'Eau%w!"), - GIMESSAGE(RG_SPIRIT_TEMPLE_KEY_RING, ITEM_KEY_SMALL, + GIMESSAGE(RG_SPIRIT_TEMPLE_KEY_RING, ITEM_SMALL_KEY, "You found a %ySpirit Temple &%wKeyring!", "Du erhältst ein %rSchlüsselbund%w&für den %yGeistertempel%w!", "Vous obtenez un trousseau de&clés du %yTemple de l'Esprit%w!"), - GIMESSAGE(RG_SHADOW_TEMPLE_KEY_RING, ITEM_KEY_SMALL, + GIMESSAGE(RG_SHADOW_TEMPLE_KEY_RING, ITEM_SMALL_KEY, "You found a %pShadow Temple &%wKeyring!", "Du erhältst ein %rSchlüsselbund%w&für den %pSchattentempel%w!", "Vous obtenez un trousseau de&clés du %pTemple de l'Ombre%w!"), - GIMESSAGE(RG_BOTTOM_OF_THE_WELL_KEY_RING, ITEM_KEY_SMALL, + GIMESSAGE(RG_BOTTOM_OF_THE_WELL_KEY_RING, ITEM_SMALL_KEY, "You found a %pBottom of the &Well %wKeyring!", "Du erhältst ein %rSchlüsselbund%w&für den %pGrund des Brunnens%w!", "Vous obtenez un trousseau de&clés du %pPuits%w!"), - GIMESSAGE(RG_GERUDO_TRAINING_GROUNDS_KEY_RING, ITEM_KEY_SMALL, + GIMESSAGE(RG_GERUDO_TRAINING_GROUNDS_KEY_RING, ITEM_SMALL_KEY, "You found a %yGerudo Training &Grounds %wKeyring!", "Du erhältst ein %rSchlüsselbund%w&für die %yGerudo Trainingsarena%w!", "Vous obtenez un trousseau de&clés du %yGymnase Gerudo%w!"), - GIMESSAGE(RG_GANONS_CASTLE_KEY_RING, ITEM_KEY_SMALL, + GIMESSAGE(RG_GANONS_CASTLE_KEY_RING, ITEM_SMALL_KEY, "You found a %rGanon's Castle &%wKeyring!", "Du erhältst ein %rSchlüsselbund%w&für %rGanons Schloß%w!", "Vous obtenez un trousseau de&clés du %rChâteau de Ganon%w!"), - GIMESSAGE(RG_FOREST_TEMPLE_BOSS_KEY, ITEM_KEY_BOSS, + GIMESSAGE(RG_FOREST_TEMPLE_BOSS_KEY, ITEM_DUNGEON_BOSS_KEY, "You found the %gForest Temple &%wBoss Key!", "Du erhältst den %rMaster-Schlüssel%w&für den %gWaldtempel%w!", "Vous obtenez la %rClé d'or %wdu&%gTemple de la Forêt%w!"), - GIMESSAGE(RG_FIRE_TEMPLE_BOSS_KEY, ITEM_KEY_BOSS, + GIMESSAGE(RG_FIRE_TEMPLE_BOSS_KEY, ITEM_DUNGEON_BOSS_KEY, "You found the %rFire Temple &%wBoss Key!", "Du erhältst den %rMaster-Schlüssel%w&für den %rFeuertempel%w!", "Vous obtenez la %rClé d'or %wdu&%rTemple du Feu%w!"), - GIMESSAGE(RG_WATER_TEMPLE_BOSS_KEY, ITEM_KEY_BOSS, + GIMESSAGE(RG_WATER_TEMPLE_BOSS_KEY, ITEM_DUNGEON_BOSS_KEY, "You found the %bWater Temple &%wBoss Key!", "Du erhältst den %rMaster-Schlüssel%w&für den %bWassertempel%w!", "Vous obtenez la %rClé d'or %wdu&%bTemple de l'Eau%w!"), - GIMESSAGE(RG_SPIRIT_TEMPLE_BOSS_KEY, ITEM_KEY_BOSS, + GIMESSAGE(RG_SPIRIT_TEMPLE_BOSS_KEY, ITEM_DUNGEON_BOSS_KEY, "You found the %ySpirit Temple &%wBoss Key!", "Du erhältst den %rMaster-Schlüssel%w&für den %yGeistertempel%w!", "Vous obtenez la %rClé d'or %wdu&%yTemple de l'Esprit%w!"), - GIMESSAGE(RG_SHADOW_TEMPLE_BOSS_KEY, ITEM_KEY_BOSS, + GIMESSAGE(RG_SHADOW_TEMPLE_BOSS_KEY, ITEM_DUNGEON_BOSS_KEY, "You found the %pShadow Temple &%wBoss Key!", "Du erhältst den %rMaster-Schlüssel%w&für den %pSchattentempel%w!", "Vous obtenez la %rClé d'or %wdu&%pTemple de l'Ombre%w!"), - GIMESSAGE(RG_GANONS_CASTLE_BOSS_KEY, ITEM_KEY_BOSS, + GIMESSAGE(RG_GANONS_CASTLE_BOSS_KEY, ITEM_DUNGEON_BOSS_KEY, "You found the %rGanon's Castle &%wBoss Key!", "Du erhältst den %rMaster-Schlüssel%w&für %rGanons Schloß%w!", "Vous obtenez la %rClé d'or %wdu&%rChâteau de Ganon%w!"), @@ -6048,52 +6048,52 @@ void Randomizer::CreateCustomMessages() { "Du erhältst die %rKarte%w für die&%cEishöhle%w!{{typeHint}}", "Vous obtenez la %rCarte %wde &la %cCaverne Polaire%w!{{typeHint}}"), - GIMESSAGE(RG_DEKU_TREE_COMPASS, ITEM_COMPASS, + GIMESSAGE(RG_DEKU_TREE_COMPASS, ITEM_DUNGEON_COMPASS, "You found the %gDeku Tree &%wCompass!", "Du erhältst den %rKompaß%w für den&%gDeku-Baum%w!", "Vous obtenez la %rBoussole %wde&l'%gArbre Mojo%w!"), - GIMESSAGE(RG_DODONGOS_CAVERN_COMPASS, ITEM_COMPASS, + GIMESSAGE(RG_DODONGOS_CAVERN_COMPASS, ITEM_DUNGEON_COMPASS, "You found the %rDodongo's Cavern &%wCompass!", "Du erhältst den %rKompaß%w für&%rDodongos Höhle%w!", "Vous obtenez la %rBoussole %wde la&%rCaverne Dodongo%w!"), - GIMESSAGE(RG_JABU_JABUS_BELLY_COMPASS, ITEM_COMPASS, + GIMESSAGE(RG_JABU_JABUS_BELLY_COMPASS, ITEM_DUNGEON_COMPASS, "You found the %bJabu Jabu's Belly &%wCompass!", "Du erhältst den %rKompaß%w für den&%bJabu-Jabus Bauch%w!", "Vous obtenez la %rBoussole %wdu &%bVentre de Jabu-Jabu%w!"), - GIMESSAGE(RG_FOREST_TEMPLE_COMPASS, ITEM_COMPASS, + GIMESSAGE(RG_FOREST_TEMPLE_COMPASS, ITEM_DUNGEON_COMPASS, "You found the %gForest Temple &%wCompass!", "Du erhältst den %rKompaß%w für den&%gWaldtempel%w!", "Vous obtenez la %rBoussole %wdu &%gTemple de la Forêt%w!"), - GIMESSAGE(RG_FIRE_TEMPLE_COMPASS, ITEM_COMPASS, + GIMESSAGE(RG_FIRE_TEMPLE_COMPASS, ITEM_DUNGEON_COMPASS, "You found the %rFire Temple &%wCompass!", "Du erhältst den %rKompaß%w für den&%rFeuertempel%w!", "Vous obtenez la %rBoussole %wdu &%rTemple du Feu%w!"), - GIMESSAGE(RG_WATER_TEMPLE_COMPASS, ITEM_COMPASS, + GIMESSAGE(RG_WATER_TEMPLE_COMPASS, ITEM_DUNGEON_COMPASS, "You found the %bWater Temple &%wCompass!", "Du erhältst den %rKompaß%w für den&%bWassertempel%w!", "Vous obtenez la %rBoussole %wdu &%bTemple de l'Eau%w!"), - GIMESSAGE(RG_SPIRIT_TEMPLE_COMPASS, ITEM_COMPASS, + GIMESSAGE(RG_SPIRIT_TEMPLE_COMPASS, ITEM_DUNGEON_COMPASS, "You found the %ySpirit Temple &%wCompass!", "Du erhältst den %rKompaß%w für den&%yGeistertempel%w!", "Vous obtenez la %rBoussole %wdu &%yTemple de l'Esprit%w!"), - GIMESSAGE(RG_SHADOW_TEMPLE_COMPASS, ITEM_COMPASS, + GIMESSAGE(RG_SHADOW_TEMPLE_COMPASS, ITEM_DUNGEON_COMPASS, "You found the %pShadow Temple &%wCompass!", "Du erhältst den %rKompaß%w für den&%pSchattentempel%w!", "Vous obtenez la %rBoussole %wdu &%pTemple de l'Ombre%w!"), - GIMESSAGE(RG_BOTTOM_OF_THE_WELL_COMPASS, ITEM_COMPASS, + GIMESSAGE(RG_BOTTOM_OF_THE_WELL_COMPASS, ITEM_DUNGEON_COMPASS, "You found the %pBottom of the &Well %wCompass!", "Du erhältst den %rKompaß%w für den&%pGrund des Brunnens%w!", "Vous obtenez la %rBoussole %wdu &%pPuits%w!"), - GIMESSAGE(RG_ICE_CAVERN_COMPASS, ITEM_COMPASS, + GIMESSAGE(RG_ICE_CAVERN_COMPASS, ITEM_DUNGEON_COMPASS, "You found the %cIce Cavern &%wCompass!", "Du erhältst den %rKompaß%w für die&%cEishöhle%w!", "Vous obtenez la %rBoussole %wde &la %cCaverne Polaire%w!"), - GIMESSAGE(RG_MAGIC_BEAN_PACK, ITEM_BEAN, + GIMESSAGE(RG_MAGIC_BEAN_PACK, ITEM_MAGIC_BEAN, "You got a %rPack of Magic Beans%w!&Find a suitable spot for a garden&and plant them. Then, wait for&something fun to happen!", "Du erhältst eine %rPackung&Wundererbsen%w! Suche nach einer&Stelle um sie einzupflanzen.&Warte ab, was passiert!", "Vous obtenez un %rPaquet de&Haricots Magiques%w! Trouvez&un endroit approprié pour un&jardin et plantez-les.^Attendez ensuite que quelque&chose d'amusant se produise!"), - GIMESSAGE(RG_TYCOON_WALLET, ITEM_WALLET_GIANT, + GIMESSAGE(RG_TYCOON_WALLET, ITEM_GIANTS_WALLET, "You got a %rTycoon's Wallet%w!&It's gigantic! Now you can carry&up to %y999 rupees%w!", "Du erhältst die %rGoldene&Geldbörse%w! Die größte aller&Geldbörsen! Jetzt kannst Du bis&zu %y999 Rubine%w mit dir führen!", "Vous obtenez la %rBourse de Magnat%w!&Elle peut contenir jusqu'à %y999 rubis%w!&C'est gigantesque!") @@ -6151,43 +6151,43 @@ void InitRandoItemTable() { // RandomizerGet enum values for both. static GetItemEntry randoGetItemTable[] = { GET_ITEM(RG_ICE_TRAP, OBJECT_GI_RUPY, GID_RUPEE_GOLD, TEXT_RANDOMIZER_CUSTOM_ITEM, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_RANDOMIZER, RG_ICE_TRAP), - GET_ITEM(RG_MAGIC_SINGLE, OBJECT_GI_MAGICPOT, GID_MAGIC_SMALL, 0xE4, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_RANDOMIZER, RG_MAGIC_SINGLE), - GET_ITEM(RG_MAGIC_DOUBLE, OBJECT_GI_MAGICPOT, GID_MAGIC_LARGE, 0xE8, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_LESSER, MOD_RANDOMIZER, RG_MAGIC_DOUBLE), + GET_ITEM(RG_MAGIC_SINGLE, OBJECT_GI_MAGICPOT, GID_MAGIC_JAR_SMALL, 0xE4, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_RANDOMIZER, RG_MAGIC_SINGLE), + GET_ITEM(RG_MAGIC_DOUBLE, OBJECT_GI_MAGICPOT, GID_MAGIC_JAR_LARGE, 0xE8, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_LESSER, MOD_RANDOMIZER, RG_MAGIC_DOUBLE), GET_ITEM(RG_DOUBLE_DEFENSE, OBJECT_GI_HEARTS, GID_HEART_CONTAINER, 0xE9, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_LESSER, MOD_RANDOMIZER, RG_DOUBLE_DEFENSE), GET_ITEM(RG_GREG_RUPEE, OBJECT_GI_RUPY, GID_RUPEE_GREEN, TEXT_RANDOMIZER_CUSTOM_ITEM, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_RANDOMIZER, RG_GREG_RUPEE), - GET_ITEM(RG_BOTTLE_WITH_RED_POTION, OBJECT_GI_LIQUID, GID_POTION_RED, TEXT_RANDOMIZER_CUSTOM_ITEM, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_RANDOMIZER, RG_BOTTLE_WITH_RED_POTION), - GET_ITEM(RG_BOTTLE_WITH_GREEN_POTION, OBJECT_GI_LIQUID, GID_POTION_GREEN, TEXT_RANDOMIZER_CUSTOM_ITEM, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_RANDOMIZER, RG_BOTTLE_WITH_GREEN_POTION), - GET_ITEM(RG_BOTTLE_WITH_BLUE_POTION, OBJECT_GI_LIQUID, GID_POTION_BLUE, TEXT_RANDOMIZER_CUSTOM_ITEM, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_RANDOMIZER, RG_BOTTLE_WITH_BLUE_POTION), - GET_ITEM(RG_BOTTLE_WITH_FAIRY, OBJECT_GI_BOTTLE, GID_BOTTLE, TEXT_RANDOMIZER_CUSTOM_ITEM, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_RANDOMIZER, RG_BOTTLE_WITH_FAIRY), + GET_ITEM(RG_BOTTLE_WITH_RED_POTION, OBJECT_GI_LIQUID, GID_BOTTLE_POTION_RED, TEXT_RANDOMIZER_CUSTOM_ITEM, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_RANDOMIZER, RG_BOTTLE_WITH_RED_POTION), + GET_ITEM(RG_BOTTLE_WITH_GREEN_POTION, OBJECT_GI_LIQUID, GID_BOTTLE_POTION_GREEN, TEXT_RANDOMIZER_CUSTOM_ITEM, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_RANDOMIZER, RG_BOTTLE_WITH_GREEN_POTION), + GET_ITEM(RG_BOTTLE_WITH_BLUE_POTION, OBJECT_GI_LIQUID, GID_BOTTLE_POTION_BLUE, TEXT_RANDOMIZER_CUSTOM_ITEM, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_RANDOMIZER, RG_BOTTLE_WITH_BLUE_POTION), + GET_ITEM(RG_BOTTLE_WITH_FAIRY, OBJECT_GI_BOTTLE, GID_BOTTLE_EMPTY, TEXT_RANDOMIZER_CUSTOM_ITEM, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_RANDOMIZER, RG_BOTTLE_WITH_FAIRY), GET_ITEM(RG_BOTTLE_WITH_FISH, OBJECT_GI_FISH, GID_FISH, TEXT_RANDOMIZER_CUSTOM_ITEM, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_RANDOMIZER, RG_BOTTLE_WITH_FISH), GET_ITEM(RG_BOTTLE_WITH_BLUE_FIRE, OBJECT_GI_FIRE, GID_BLUE_FIRE, TEXT_RANDOMIZER_CUSTOM_ITEM, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_RANDOMIZER, RG_BOTTLE_WITH_BLUE_FIRE), GET_ITEM(RG_BOTTLE_WITH_BUGS, OBJECT_GI_INSECT, GID_BUG, TEXT_RANDOMIZER_CUSTOM_ITEM, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_RANDOMIZER, RG_BOTTLE_WITH_BUGS), GET_ITEM(RG_BOTTLE_WITH_POE, OBJECT_GI_GHOST, GID_POE, TEXT_RANDOMIZER_CUSTOM_ITEM, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_RANDOMIZER, RG_BOTTLE_WITH_POE), GET_ITEM(RG_BOTTLE_WITH_BIG_POE, OBJECT_GI_GHOST, GID_BIG_POE, TEXT_RANDOMIZER_CUSTOM_ITEM, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_RANDOMIZER, RG_BOTTLE_WITH_BIG_POE), - GET_ITEM(RG_GERUDO_FORTRESS_SMALL_KEY, OBJECT_GI_KEY, GID_KEY_SMALL, TEXT_ITEM_KEY_SMALL, 0x80, CHEST_ANIM_SHORT, ITEM_CATEGORY_SMALL_KEY, MOD_RANDOMIZER, RG_GERUDO_FORTRESS_SMALL_KEY), - GET_ITEM(RG_FOREST_TEMPLE_SMALL_KEY, OBJECT_GI_KEY, GID_KEY_SMALL, TEXT_ITEM_KEY_SMALL, 0x80, CHEST_ANIM_SHORT, ITEM_CATEGORY_SMALL_KEY, MOD_RANDOMIZER, RG_FOREST_TEMPLE_SMALL_KEY), - GET_ITEM(RG_FIRE_TEMPLE_SMALL_KEY, OBJECT_GI_KEY, GID_KEY_SMALL, TEXT_ITEM_KEY_SMALL, 0x80, CHEST_ANIM_SHORT, ITEM_CATEGORY_SMALL_KEY, MOD_RANDOMIZER, RG_FIRE_TEMPLE_SMALL_KEY), - GET_ITEM(RG_WATER_TEMPLE_SMALL_KEY, OBJECT_GI_KEY, GID_KEY_SMALL, TEXT_ITEM_KEY_SMALL, 0x80, CHEST_ANIM_SHORT, ITEM_CATEGORY_SMALL_KEY, MOD_RANDOMIZER, RG_WATER_TEMPLE_SMALL_KEY), - GET_ITEM(RG_SPIRIT_TEMPLE_SMALL_KEY, OBJECT_GI_KEY, GID_KEY_SMALL, TEXT_ITEM_KEY_SMALL, 0x80, CHEST_ANIM_SHORT, ITEM_CATEGORY_SMALL_KEY, MOD_RANDOMIZER, RG_SPIRIT_TEMPLE_SMALL_KEY), - GET_ITEM(RG_SHADOW_TEMPLE_SMALL_KEY, OBJECT_GI_KEY, GID_KEY_SMALL, TEXT_ITEM_KEY_SMALL, 0x80, CHEST_ANIM_SHORT, ITEM_CATEGORY_SMALL_KEY, MOD_RANDOMIZER, RG_SHADOW_TEMPLE_SMALL_KEY), - GET_ITEM(RG_BOTTOM_OF_THE_WELL_SMALL_KEY, OBJECT_GI_KEY, GID_KEY_SMALL, TEXT_ITEM_KEY_SMALL, 0x80, CHEST_ANIM_SHORT, ITEM_CATEGORY_SMALL_KEY, MOD_RANDOMIZER, RG_BOTTOM_OF_THE_WELL_SMALL_KEY), - GET_ITEM(RG_GERUDO_TRAINING_GROUNDS_SMALL_KEY, OBJECT_GI_KEY, GID_KEY_SMALL, TEXT_ITEM_KEY_SMALL, 0x80, CHEST_ANIM_SHORT, ITEM_CATEGORY_SMALL_KEY, MOD_RANDOMIZER, RG_GERUDO_TRAINING_GROUNDS_SMALL_KEY), - GET_ITEM(RG_GANONS_CASTLE_SMALL_KEY, OBJECT_GI_KEY, GID_KEY_SMALL, TEXT_ITEM_KEY_SMALL, 0x80, CHEST_ANIM_SHORT, ITEM_CATEGORY_SMALL_KEY, MOD_RANDOMIZER, RG_GANONS_CASTLE_SMALL_KEY), - GET_ITEM(RG_GERUDO_FORTRESS_KEY_RING, OBJECT_GI_KEY, GID_KEY_SMALL, TEXT_RANDOMIZER_CUSTOM_ITEM, 0x80, CHEST_ANIM_SHORT, ITEM_CATEGORY_SMALL_KEY, MOD_RANDOMIZER, RG_GERUDO_FORTRESS_KEY_RING), - GET_ITEM(RG_FOREST_TEMPLE_KEY_RING, OBJECT_GI_KEY, GID_KEY_SMALL, TEXT_RANDOMIZER_CUSTOM_ITEM, 0x80, CHEST_ANIM_SHORT, ITEM_CATEGORY_SMALL_KEY, MOD_RANDOMIZER, RG_FOREST_TEMPLE_KEY_RING), - GET_ITEM(RG_FIRE_TEMPLE_KEY_RING, OBJECT_GI_KEY, GID_KEY_SMALL, TEXT_RANDOMIZER_CUSTOM_ITEM, 0x80, CHEST_ANIM_SHORT, ITEM_CATEGORY_SMALL_KEY, MOD_RANDOMIZER, RG_FIRE_TEMPLE_KEY_RING), - GET_ITEM(RG_WATER_TEMPLE_KEY_RING, OBJECT_GI_KEY, GID_KEY_SMALL, TEXT_RANDOMIZER_CUSTOM_ITEM, 0x80, CHEST_ANIM_SHORT, ITEM_CATEGORY_SMALL_KEY, MOD_RANDOMIZER, RG_WATER_TEMPLE_KEY_RING), - GET_ITEM(RG_SPIRIT_TEMPLE_KEY_RING, OBJECT_GI_KEY, GID_KEY_SMALL, TEXT_RANDOMIZER_CUSTOM_ITEM, 0x80, CHEST_ANIM_SHORT, ITEM_CATEGORY_SMALL_KEY, MOD_RANDOMIZER, RG_SPIRIT_TEMPLE_KEY_RING), - GET_ITEM(RG_SHADOW_TEMPLE_KEY_RING, OBJECT_GI_KEY, GID_KEY_SMALL, TEXT_RANDOMIZER_CUSTOM_ITEM, 0x80, CHEST_ANIM_SHORT, ITEM_CATEGORY_SMALL_KEY, MOD_RANDOMIZER, RG_SHADOW_TEMPLE_KEY_RING), - GET_ITEM(RG_BOTTOM_OF_THE_WELL_KEY_RING, OBJECT_GI_KEY, GID_KEY_SMALL, TEXT_RANDOMIZER_CUSTOM_ITEM, 0x80, CHEST_ANIM_SHORT, ITEM_CATEGORY_SMALL_KEY, MOD_RANDOMIZER, RG_BOTTOM_OF_THE_WELL_KEY_RING), - GET_ITEM(RG_GERUDO_TRAINING_GROUNDS_KEY_RING, OBJECT_GI_KEY, GID_KEY_SMALL, TEXT_RANDOMIZER_CUSTOM_ITEM, 0x80, CHEST_ANIM_SHORT, ITEM_CATEGORY_SMALL_KEY, MOD_RANDOMIZER, RG_GERUDO_TRAINING_GROUNDS_KEY_RING), - GET_ITEM(RG_GANONS_CASTLE_KEY_RING, OBJECT_GI_KEY, GID_KEY_SMALL, TEXT_RANDOMIZER_CUSTOM_ITEM, 0x80, CHEST_ANIM_SHORT, ITEM_CATEGORY_SMALL_KEY, MOD_RANDOMIZER, RG_GANONS_CASTLE_KEY_RING), - GET_ITEM(RG_FOREST_TEMPLE_BOSS_KEY, OBJECT_GI_BOSSKEY, GID_KEY_BOSS, TEXT_ITEM_KEY_BOSS, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_BOSS_KEY, MOD_RANDOMIZER, RG_FOREST_TEMPLE_BOSS_KEY), - GET_ITEM(RG_FIRE_TEMPLE_BOSS_KEY, OBJECT_GI_BOSSKEY, GID_KEY_BOSS, TEXT_ITEM_KEY_BOSS, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_BOSS_KEY, MOD_RANDOMIZER, RG_FIRE_TEMPLE_BOSS_KEY), - GET_ITEM(RG_WATER_TEMPLE_BOSS_KEY, OBJECT_GI_BOSSKEY, GID_KEY_BOSS, TEXT_ITEM_KEY_BOSS, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_BOSS_KEY, MOD_RANDOMIZER, RG_WATER_TEMPLE_BOSS_KEY), - GET_ITEM(RG_SPIRIT_TEMPLE_BOSS_KEY, OBJECT_GI_BOSSKEY, GID_KEY_BOSS, TEXT_ITEM_KEY_BOSS, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_BOSS_KEY, MOD_RANDOMIZER, RG_SPIRIT_TEMPLE_BOSS_KEY), - GET_ITEM(RG_SHADOW_TEMPLE_BOSS_KEY, OBJECT_GI_BOSSKEY, GID_KEY_BOSS, TEXT_ITEM_KEY_BOSS, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_BOSS_KEY, MOD_RANDOMIZER, RG_SHADOW_TEMPLE_BOSS_KEY), - GET_ITEM(RG_GANONS_CASTLE_BOSS_KEY, OBJECT_GI_BOSSKEY, GID_KEY_BOSS, TEXT_ITEM_KEY_BOSS, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_BOSS_KEY, MOD_RANDOMIZER, RG_GANONS_CASTLE_BOSS_KEY), + GET_ITEM(RG_GERUDO_FORTRESS_SMALL_KEY, OBJECT_GI_KEY, GID_SMALL_KEY, TEXT_ITEM_KEY_SMALL, 0x80, CHEST_ANIM_SHORT, ITEM_CATEGORY_SMALL_KEY, MOD_RANDOMIZER, RG_GERUDO_FORTRESS_SMALL_KEY), + GET_ITEM(RG_FOREST_TEMPLE_SMALL_KEY, OBJECT_GI_KEY, GID_SMALL_KEY, TEXT_ITEM_KEY_SMALL, 0x80, CHEST_ANIM_SHORT, ITEM_CATEGORY_SMALL_KEY, MOD_RANDOMIZER, RG_FOREST_TEMPLE_SMALL_KEY), + GET_ITEM(RG_FIRE_TEMPLE_SMALL_KEY, OBJECT_GI_KEY, GID_SMALL_KEY, TEXT_ITEM_KEY_SMALL, 0x80, CHEST_ANIM_SHORT, ITEM_CATEGORY_SMALL_KEY, MOD_RANDOMIZER, RG_FIRE_TEMPLE_SMALL_KEY), + GET_ITEM(RG_WATER_TEMPLE_SMALL_KEY, OBJECT_GI_KEY, GID_SMALL_KEY, TEXT_ITEM_KEY_SMALL, 0x80, CHEST_ANIM_SHORT, ITEM_CATEGORY_SMALL_KEY, MOD_RANDOMIZER, RG_WATER_TEMPLE_SMALL_KEY), + GET_ITEM(RG_SPIRIT_TEMPLE_SMALL_KEY, OBJECT_GI_KEY, GID_SMALL_KEY, TEXT_ITEM_KEY_SMALL, 0x80, CHEST_ANIM_SHORT, ITEM_CATEGORY_SMALL_KEY, MOD_RANDOMIZER, RG_SPIRIT_TEMPLE_SMALL_KEY), + GET_ITEM(RG_SHADOW_TEMPLE_SMALL_KEY, OBJECT_GI_KEY, GID_SMALL_KEY, TEXT_ITEM_KEY_SMALL, 0x80, CHEST_ANIM_SHORT, ITEM_CATEGORY_SMALL_KEY, MOD_RANDOMIZER, RG_SHADOW_TEMPLE_SMALL_KEY), + GET_ITEM(RG_BOTTOM_OF_THE_WELL_SMALL_KEY, OBJECT_GI_KEY, GID_SMALL_KEY, TEXT_ITEM_KEY_SMALL, 0x80, CHEST_ANIM_SHORT, ITEM_CATEGORY_SMALL_KEY, MOD_RANDOMIZER, RG_BOTTOM_OF_THE_WELL_SMALL_KEY), + GET_ITEM(RG_GERUDO_TRAINING_GROUNDS_SMALL_KEY, OBJECT_GI_KEY, GID_SMALL_KEY, TEXT_ITEM_KEY_SMALL, 0x80, CHEST_ANIM_SHORT, ITEM_CATEGORY_SMALL_KEY, MOD_RANDOMIZER, RG_GERUDO_TRAINING_GROUNDS_SMALL_KEY), + GET_ITEM(RG_GANONS_CASTLE_SMALL_KEY, OBJECT_GI_KEY, GID_SMALL_KEY, TEXT_ITEM_KEY_SMALL, 0x80, CHEST_ANIM_SHORT, ITEM_CATEGORY_SMALL_KEY, MOD_RANDOMIZER, RG_GANONS_CASTLE_SMALL_KEY), + GET_ITEM(RG_GERUDO_FORTRESS_KEY_RING, OBJECT_GI_KEY, GID_SMALL_KEY, TEXT_RANDOMIZER_CUSTOM_ITEM, 0x80, CHEST_ANIM_SHORT, ITEM_CATEGORY_SMALL_KEY, MOD_RANDOMIZER, RG_GERUDO_FORTRESS_KEY_RING), + GET_ITEM(RG_FOREST_TEMPLE_KEY_RING, OBJECT_GI_KEY, GID_SMALL_KEY, TEXT_RANDOMIZER_CUSTOM_ITEM, 0x80, CHEST_ANIM_SHORT, ITEM_CATEGORY_SMALL_KEY, MOD_RANDOMIZER, RG_FOREST_TEMPLE_KEY_RING), + GET_ITEM(RG_FIRE_TEMPLE_KEY_RING, OBJECT_GI_KEY, GID_SMALL_KEY, TEXT_RANDOMIZER_CUSTOM_ITEM, 0x80, CHEST_ANIM_SHORT, ITEM_CATEGORY_SMALL_KEY, MOD_RANDOMIZER, RG_FIRE_TEMPLE_KEY_RING), + GET_ITEM(RG_WATER_TEMPLE_KEY_RING, OBJECT_GI_KEY, GID_SMALL_KEY, TEXT_RANDOMIZER_CUSTOM_ITEM, 0x80, CHEST_ANIM_SHORT, ITEM_CATEGORY_SMALL_KEY, MOD_RANDOMIZER, RG_WATER_TEMPLE_KEY_RING), + GET_ITEM(RG_SPIRIT_TEMPLE_KEY_RING, OBJECT_GI_KEY, GID_SMALL_KEY, TEXT_RANDOMIZER_CUSTOM_ITEM, 0x80, CHEST_ANIM_SHORT, ITEM_CATEGORY_SMALL_KEY, MOD_RANDOMIZER, RG_SPIRIT_TEMPLE_KEY_RING), + GET_ITEM(RG_SHADOW_TEMPLE_KEY_RING, OBJECT_GI_KEY, GID_SMALL_KEY, TEXT_RANDOMIZER_CUSTOM_ITEM, 0x80, CHEST_ANIM_SHORT, ITEM_CATEGORY_SMALL_KEY, MOD_RANDOMIZER, RG_SHADOW_TEMPLE_KEY_RING), + GET_ITEM(RG_BOTTOM_OF_THE_WELL_KEY_RING, OBJECT_GI_KEY, GID_SMALL_KEY, TEXT_RANDOMIZER_CUSTOM_ITEM, 0x80, CHEST_ANIM_SHORT, ITEM_CATEGORY_SMALL_KEY, MOD_RANDOMIZER, RG_BOTTOM_OF_THE_WELL_KEY_RING), + GET_ITEM(RG_GERUDO_TRAINING_GROUNDS_KEY_RING, OBJECT_GI_KEY, GID_SMALL_KEY, TEXT_RANDOMIZER_CUSTOM_ITEM, 0x80, CHEST_ANIM_SHORT, ITEM_CATEGORY_SMALL_KEY, MOD_RANDOMIZER, RG_GERUDO_TRAINING_GROUNDS_KEY_RING), + GET_ITEM(RG_GANONS_CASTLE_KEY_RING, OBJECT_GI_KEY, GID_SMALL_KEY, TEXT_RANDOMIZER_CUSTOM_ITEM, 0x80, CHEST_ANIM_SHORT, ITEM_CATEGORY_SMALL_KEY, MOD_RANDOMIZER, RG_GANONS_CASTLE_KEY_RING), + GET_ITEM(RG_FOREST_TEMPLE_BOSS_KEY, OBJECT_GI_BOSSKEY, GID_BOSS_KEY, TEXT_ITEM_KEY_BOSS, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_BOSS_KEY, MOD_RANDOMIZER, RG_FOREST_TEMPLE_BOSS_KEY), + GET_ITEM(RG_FIRE_TEMPLE_BOSS_KEY, OBJECT_GI_BOSSKEY, GID_BOSS_KEY, TEXT_ITEM_KEY_BOSS, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_BOSS_KEY, MOD_RANDOMIZER, RG_FIRE_TEMPLE_BOSS_KEY), + GET_ITEM(RG_WATER_TEMPLE_BOSS_KEY, OBJECT_GI_BOSSKEY, GID_BOSS_KEY, TEXT_ITEM_KEY_BOSS, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_BOSS_KEY, MOD_RANDOMIZER, RG_WATER_TEMPLE_BOSS_KEY), + GET_ITEM(RG_SPIRIT_TEMPLE_BOSS_KEY, OBJECT_GI_BOSSKEY, GID_BOSS_KEY, TEXT_ITEM_KEY_BOSS, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_BOSS_KEY, MOD_RANDOMIZER, RG_SPIRIT_TEMPLE_BOSS_KEY), + GET_ITEM(RG_SHADOW_TEMPLE_BOSS_KEY, OBJECT_GI_BOSSKEY, GID_BOSS_KEY, TEXT_ITEM_KEY_BOSS, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_BOSS_KEY, MOD_RANDOMIZER, RG_SHADOW_TEMPLE_BOSS_KEY), + GET_ITEM(RG_GANONS_CASTLE_BOSS_KEY, OBJECT_GI_BOSSKEY, GID_BOSS_KEY, TEXT_ITEM_KEY_BOSS, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_BOSS_KEY, MOD_RANDOMIZER, RG_GANONS_CASTLE_BOSS_KEY), GET_ITEM(RG_DEKU_TREE_MAP, OBJECT_GI_MAP, GID_DUNGEON_MAP, TEXT_ITEM_DUNGEON_MAP, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_LESSER, MOD_RANDOMIZER, RG_DEKU_TREE_MAP), GET_ITEM(RG_DODONGOS_CAVERN_MAP, OBJECT_GI_MAP, GID_DUNGEON_MAP, TEXT_ITEM_DUNGEON_MAP, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_LESSER, MOD_RANDOMIZER, RG_DODONGOS_CAVERN_MAP), GET_ITEM(RG_JABU_JABUS_BELLY_MAP, OBJECT_GI_MAP, GID_DUNGEON_MAP, TEXT_ITEM_DUNGEON_MAP, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_LESSER, MOD_RANDOMIZER, RG_JABU_JABUS_BELLY_MAP), @@ -6208,7 +6208,7 @@ void InitRandoItemTable() { GET_ITEM(RG_SHADOW_TEMPLE_COMPASS, OBJECT_GI_COMPASS, GID_COMPASS, TEXT_ITEM_COMPASS, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_LESSER, MOD_RANDOMIZER, RG_SHADOW_TEMPLE_COMPASS), GET_ITEM(RG_BOTTOM_OF_THE_WELL_COMPASS, OBJECT_GI_COMPASS, GID_COMPASS, TEXT_ITEM_COMPASS, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_LESSER, MOD_RANDOMIZER, RG_BOTTOM_OF_THE_WELL_COMPASS), GET_ITEM(RG_ICE_CAVERN_COMPASS, OBJECT_GI_COMPASS, GID_COMPASS, TEXT_ITEM_COMPASS, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_LESSER, MOD_RANDOMIZER, RG_ICE_CAVERN_COMPASS), - GET_ITEM(RG_MAGIC_BEAN_PACK, OBJECT_GI_BEAN, GID_BEAN, TEXT_RANDOMIZER_CUSTOM_ITEM, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_RANDOMIZER, RG_MAGIC_BEAN_PACK), + GET_ITEM(RG_MAGIC_BEAN_PACK, OBJECT_GI_BEAN, GID_MAGIC_BEAN, TEXT_RANDOMIZER_CUSTOM_ITEM, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_RANDOMIZER, RG_MAGIC_BEAN_PACK), GET_ITEM(RG_TYCOON_WALLET, OBJECT_GI_PURSE, GID_WALLET_GIANT, TEXT_RANDOMIZER_CUSTOM_ITEM, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_LESSER, MOD_RANDOMIZER, RG_TYCOON_WALLET), GET_ITEM(RG_PROGRESSIVE_BOMBCHUS, OBJECT_GI_BOMB_2, GID_BOMBCHU, 0x33, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_RANDOMIZER, RG_PROGRESSIVE_BOMBCHUS), GET_ITEM(RG_TRIFORCE_PIECE, OBJECT_GI_BOMB_2, GID_TRIFORCE_PIECE, TEXT_RANDOMIZER_CUSTOM_ITEM, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_RANDOMIZER, RG_TRIFORCE_PIECE), diff --git a/soh/soh/Enhancements/randomizer/randomizer_check_objects.cpp b/soh/soh/Enhancements/randomizer/randomizer_check_objects.cpp index be05be35d6c..2911cf8ecc6 100644 --- a/soh/soh/Enhancements/randomizer/randomizer_check_objects.cpp +++ b/soh/soh/Enhancements/randomizer/randomizer_check_objects.cpp @@ -10,20 +10,20 @@ std::map rcObjects = { RC_OBJECT(RC_KF_MIDOS_TOP_LEFT_CHEST, RCVORMQ_BOTH, RCTYPE_STANDARD, RCAREA_KOKIRI_FOREST, ACTOR_EN_BOX, SCENE_MIDOS_HOUSE, 22944, GI_RUPEE_BLUE, "Mido Top Left Chest", "KF Mido Top Left Chest", false), RC_OBJECT(RC_KF_MIDOS_TOP_RIGHT_CHEST, RCVORMQ_BOTH, RCTYPE_STANDARD, RCAREA_KOKIRI_FOREST, ACTOR_EN_BOX, SCENE_MIDOS_HOUSE, 22945, GI_RUPEE_BLUE, "Mido Top Right Chest", "KF Mido Top Right Chest", false), RC_OBJECT(RC_KF_MIDOS_BOTTOM_LEFT_CHEST, RCVORMQ_BOTH, RCTYPE_STANDARD, RCAREA_KOKIRI_FOREST, ACTOR_EN_BOX, SCENE_MIDOS_HOUSE, 22914, GI_RUPEE_GREEN, "Mido Bottom Left Chest", "KF Mido Bottom Left Chest", false), - RC_OBJECT(RC_KF_MIDOS_BOTTOM_RIGHT_CHEST, RCVORMQ_BOTH, RCTYPE_STANDARD, RCAREA_KOKIRI_FOREST, ACTOR_EN_BOX, SCENE_MIDOS_HOUSE, 22787, GI_HEART, "Mido Bottom Right Chest", "KF Mido Bottom Right Chest", false), + RC_OBJECT(RC_KF_MIDOS_BOTTOM_RIGHT_CHEST, RCVORMQ_BOTH, RCTYPE_STANDARD, RCAREA_KOKIRI_FOREST, ACTOR_EN_BOX, SCENE_MIDOS_HOUSE, 22787, GI_RECOVERY_HEART, "Mido Bottom Right Chest", "KF Mido Bottom Right Chest", false), RC_OBJECT(RC_KF_STORMS_GROTTO_CHEST, RCVORMQ_BOTH, RCTYPE_STANDARD, RCAREA_KOKIRI_FOREST, ACTOR_EN_BOX, SCENE_GROTTOS, 22988, GI_RUPEE_RED, "Storms Grotto Chest", "KF Storms Grotto Chest", false), RC_OBJECT(RC_KF_GS_BEAN_PATCH, RCVORMQ_BOTH, RCTYPE_SKULL_TOKEN, RCAREA_KOKIRI_FOREST, ACTOR_EN_SI, SCENE_KOKIRI_FOREST, 27649, GI_SKULL_TOKEN, "GS Bean Patch", "KF GS Bean Patch", true), RC_OBJECT(RC_KF_GS_KNOW_IT_ALL_HOUSE, RCVORMQ_BOTH, RCTYPE_SKULL_TOKEN, RCAREA_KOKIRI_FOREST, ACTOR_EN_SI, SCENE_KOKIRI_FOREST, 19458, GI_SKULL_TOKEN, "GS Know It All House", "KF GS Know It All House", true), RC_OBJECT(RC_KF_GS_HOUSE_OF_TWINS, RCVORMQ_BOTH, RCTYPE_SKULL_TOKEN, RCAREA_KOKIRI_FOREST, ACTOR_EN_SI, SCENE_KOKIRI_FOREST, 19460, GI_SKULL_TOKEN, "GS House of Twins", "KF GS House of Twins", true), RC_OBJECT(RC_KF_LINKS_HOUSE_COW, RCVORMQ_BOTH, RCTYPE_COW, RCAREA_KOKIRI_FOREST, ACTOR_EN_COW, SCENE_LINKS_HOUSE, 0x00, GI_MILK, "Links House Cow", "KF Links House Cow", false), RC_OBJECT(RC_KF_SHOP_ITEM_1, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_KOKIRI_FOREST, ACTOR_EN_GIRLA, SCENE_KOKIRI_SHOP, 0x00, GI_SHIELD_DEKU, "Shop Item 1", "KF Shop Item 1", true), - RC_OBJECT(RC_KF_SHOP_ITEM_2, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_KOKIRI_FOREST, ACTOR_EN_GIRLA, SCENE_KOKIRI_SHOP, 0x01, GI_NUTS_5_2, "Shop Item 2", "KF Shop Item 2", false), - RC_OBJECT(RC_KF_SHOP_ITEM_3, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_KOKIRI_FOREST, ACTOR_EN_GIRLA, SCENE_KOKIRI_SHOP, 0x02, GI_NUTS_10, "Shop Item 3", "KF Shop Item 3", false), - RC_OBJECT(RC_KF_SHOP_ITEM_4, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_KOKIRI_FOREST, ACTOR_EN_GIRLA, SCENE_KOKIRI_SHOP, 0x03, GI_STICKS_1, "Shop Item 4", "KF Shop Item 4", false), - RC_OBJECT(RC_KF_SHOP_ITEM_5, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_KOKIRI_FOREST, ACTOR_EN_GIRLA, SCENE_KOKIRI_SHOP, 0x04, GI_SEEDS_30, "Shop Item 5", "KF Shop Item 5", false), - RC_OBJECT(RC_KF_SHOP_ITEM_6, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_KOKIRI_FOREST, ACTOR_EN_GIRLA, SCENE_KOKIRI_SHOP, 0x05, GI_ARROWS_SMALL, "Shop Item 6", "KF Shop Item 6", false), - RC_OBJECT(RC_KF_SHOP_ITEM_7, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_KOKIRI_FOREST, ACTOR_EN_GIRLA, SCENE_KOKIRI_SHOP, 0x06, GI_ARROWS_MEDIUM, "Shop Item 7", "KF Shop Item 7", false), - RC_OBJECT(RC_KF_SHOP_ITEM_8, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_KOKIRI_FOREST, ACTOR_EN_GIRLA, SCENE_KOKIRI_SHOP, 0x07, GI_HEART, "Shop Item 8", "KF Shop Item 8", false), + RC_OBJECT(RC_KF_SHOP_ITEM_2, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_KOKIRI_FOREST, ACTOR_EN_GIRLA, SCENE_KOKIRI_SHOP, 0x01, GI_DEKU_NUTS_5_2, "Shop Item 2", "KF Shop Item 2", false), + RC_OBJECT(RC_KF_SHOP_ITEM_3, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_KOKIRI_FOREST, ACTOR_EN_GIRLA, SCENE_KOKIRI_SHOP, 0x02, GI_DEKU_NUTS_10, "Shop Item 3", "KF Shop Item 3", false), + RC_OBJECT(RC_KF_SHOP_ITEM_4, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_KOKIRI_FOREST, ACTOR_EN_GIRLA, SCENE_KOKIRI_SHOP, 0x03, GI_DEKU_STICKS_1, "Shop Item 4", "KF Shop Item 4", false), + RC_OBJECT(RC_KF_SHOP_ITEM_5, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_KOKIRI_FOREST, ACTOR_EN_GIRLA, SCENE_KOKIRI_SHOP, 0x04, GI_DEKU_SEEDS_30, "Shop Item 5", "KF Shop Item 5", false), + RC_OBJECT(RC_KF_SHOP_ITEM_6, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_KOKIRI_FOREST, ACTOR_EN_GIRLA, SCENE_KOKIRI_SHOP, 0x05, GI_ARROWS_5, "Shop Item 6", "KF Shop Item 6", false), + RC_OBJECT(RC_KF_SHOP_ITEM_7, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_KOKIRI_FOREST, ACTOR_EN_GIRLA, SCENE_KOKIRI_SHOP, 0x06, GI_ARROWS_10, "Shop Item 7", "KF Shop Item 7", false), + RC_OBJECT(RC_KF_SHOP_ITEM_8, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_KOKIRI_FOREST, ACTOR_EN_GIRLA, SCENE_KOKIRI_SHOP, 0x07, GI_RECOVERY_HEART, "Shop Item 8", "KF Shop Item 8", false), RC_OBJECT(RC_KF_DEKU_TREE_LEFT_GOSSIP_STONE, RCVORMQ_BOTH, RCTYPE_GOSSIP_STONE, RCAREA_KOKIRI_FOREST, ACTOR_EN_GS, SCENE_KOKIRI_FOREST, 14623, GI_NONE, "Deku Tree Left Gossip Stone", "KF Deku Tree Left Gossip Stone", false), RC_OBJECT(RC_KF_DEKU_TREE_RIGHT_GOSSIP_STONE, RCVORMQ_BOTH, RCTYPE_GOSSIP_STONE, RCAREA_KOKIRI_FOREST, ACTOR_EN_GS, SCENE_KOKIRI_FOREST, 14880, GI_NONE, "Deku Tree Right Gossip Stone", "KF Deku Tree Right Gossip Stone", false), RC_OBJECT(RC_KF_GOSSIP_STONE, RCVORMQ_BOTH, RCTYPE_GOSSIP_STONE, RCAREA_KOKIRI_FOREST, ACTOR_EN_GS, SCENE_KOKIRI_FOREST, 14366, GI_NONE, "Gossip Stone", "KF Gossip Stone", false), @@ -33,14 +33,14 @@ std::map rcObjects = { RC_OBJECT(RC_LW_NEAR_SHORTCUTS_GROTTO_CHEST, RCVORMQ_BOTH, RCTYPE_STANDARD, RCAREA_LOST_WOODS, ACTOR_EN_BOX, SCENE_GROTTOS, 22964, GI_RUPEE_BLUE, "Near Shortcuts Grotto Chest", "LW Near Shortcuts Grotto Chest", false), RC_OBJECT(RC_LW_SKULL_KID, RCVORMQ_BOTH, RCTYPE_STANDARD, RCAREA_LOST_WOODS, ACTOR_ID_MAX, SCENE_LOST_WOODS, 0x00, GI_HEART_PIECE, "Skull Kid", "LW Skull Kid", true), RC_OBJECT(RC_LW_TRADE_COJIRO, RCVORMQ_BOTH, RCTYPE_ADULT_TRADE, RCAREA_LOST_WOODS, ACTOR_ID_MAX, SCENE_LOST_WOODS, 0x00, GI_ODD_MUSHROOM, "Trade Cojiro", "LW Trade Cojiro", true), - RC_OBJECT(RC_LW_TRADE_ODD_POTION, RCVORMQ_BOTH, RCTYPE_ADULT_TRADE, RCAREA_LOST_WOODS, ACTOR_ID_MAX, SCENE_LOST_WOODS, 0x00, GI_SAW, "Trade Odd Potion", "LW Trade Odd Potion", true), + RC_OBJECT(RC_LW_TRADE_ODD_POTION, RCVORMQ_BOTH, RCTYPE_ADULT_TRADE, RCAREA_LOST_WOODS, ACTOR_ID_MAX, SCENE_LOST_WOODS, 0x00, GI_POACHERS_SAW, "Trade Odd Potion", "LW Trade Odd Potion", true), RC_OBJECT(RC_LW_OCARINA_MEMORY_GAME, RCVORMQ_BOTH, RCTYPE_STANDARD, RCAREA_LOST_WOODS, ACTOR_ID_MAX, SCENE_LOST_WOODS, 0x00, GI_HEART_PIECE, "Ocarina Memory Game", "LW Ocarina Memory Game", true), RC_OBJECT(RC_LW_TARGET_IN_WOODS, RCVORMQ_BOTH, RCTYPE_STANDARD, RCAREA_LOST_WOODS, ACTOR_ID_MAX, SCENE_LOST_WOODS, 0x00, GI_NONE, "Target in Woods", "LW Target in Woods", true), - RC_OBJECT(RC_LW_DEKU_SCRUB_NEAR_DEKU_THEATER_RIGHT, RCVORMQ_BOTH, RCTYPE_SCRUB, RCAREA_LOST_WOODS, ACTOR_EN_DNS, SCENE_LOST_WOODS, 0x00, GI_NUTS_5_2, "Deku Scrub Near Deku Theater Right", "LW Deku Scrub Near Deku Theater Right", false), - RC_OBJECT(RC_LW_DEKU_SCRUB_NEAR_DEKU_THEATER_LEFT, RCVORMQ_BOTH, RCTYPE_SCRUB, RCAREA_LOST_WOODS, ACTOR_EN_DNS, SCENE_LOST_WOODS, 0x01, GI_STICKS_1, "Deku Scrub Near Deku Theater Left", "LW Deku Scrub Near Deku Theater Left", false), - RC_OBJECT(RC_LW_DEKU_SCRUB_NEAR_BRIDGE, RCVORMQ_BOTH, RCTYPE_SCRUB, RCAREA_LOST_WOODS, ACTOR_EN_DNS, SCENE_LOST_WOODS, 0x09, GI_STICK_UPGRADE_20, "Deku Scrub Near Bridge", "LW Deku Scrub Near Bridge", true), - RC_OBJECT(RC_LW_DEKU_SCRUB_GROTTO_REAR, RCVORMQ_BOTH, RCTYPE_SCRUB, RCAREA_LOST_WOODS, ACTOR_EN_DNS, SCENE_GROTTOS, TWO_ACTOR_PARAMS(0x03,0xF5), GI_SEEDS_30, "Deku Scrub Grotto Rear", "LW Deku Scrub Grotto Rear", false), - RC_OBJECT(RC_LW_DEKU_SCRUB_GROTTO_FRONT, RCVORMQ_BOTH, RCTYPE_SCRUB, RCAREA_LOST_WOODS, ACTOR_EN_DNS, SCENE_GROTTOS, TWO_ACTOR_PARAMS(0x0A,0xF5), GI_NUT_UPGRADE_30, "Deku Scrub Grotto Front", "LW Deku Scrub Grotto Front", false), + RC_OBJECT(RC_LW_DEKU_SCRUB_NEAR_DEKU_THEATER_RIGHT, RCVORMQ_BOTH, RCTYPE_SCRUB, RCAREA_LOST_WOODS, ACTOR_EN_DNS, SCENE_LOST_WOODS, 0x00, GI_DEKU_NUTS_5_2, "Deku Scrub Near Deku Theater Right", "LW Deku Scrub Near Deku Theater Right", false), + RC_OBJECT(RC_LW_DEKU_SCRUB_NEAR_DEKU_THEATER_LEFT, RCVORMQ_BOTH, RCTYPE_SCRUB, RCAREA_LOST_WOODS, ACTOR_EN_DNS, SCENE_LOST_WOODS, 0x01, GI_DEKU_STICKS_1, "Deku Scrub Near Deku Theater Left", "LW Deku Scrub Near Deku Theater Left", false), + RC_OBJECT(RC_LW_DEKU_SCRUB_NEAR_BRIDGE, RCVORMQ_BOTH, RCTYPE_SCRUB, RCAREA_LOST_WOODS, ACTOR_EN_DNS, SCENE_LOST_WOODS, 0x09, GI_DEKU_STICK_UPGRADE_20, "Deku Scrub Near Bridge", "LW Deku Scrub Near Bridge", true), + RC_OBJECT(RC_LW_DEKU_SCRUB_GROTTO_REAR, RCVORMQ_BOTH, RCTYPE_SCRUB, RCAREA_LOST_WOODS, ACTOR_EN_DNS, SCENE_GROTTOS, TWO_ACTOR_PARAMS(0x03,0xF5), GI_DEKU_SEEDS_30, "Deku Scrub Grotto Rear", "LW Deku Scrub Grotto Rear", false), + RC_OBJECT(RC_LW_DEKU_SCRUB_GROTTO_FRONT, RCVORMQ_BOTH, RCTYPE_SCRUB, RCAREA_LOST_WOODS, ACTOR_EN_DNS, SCENE_GROTTOS, TWO_ACTOR_PARAMS(0x0A,0xF5), GI_DEKU_NUT_UPGRADE_30, "Deku Scrub Grotto Front", "LW Deku Scrub Grotto Front", false), RC_OBJECT(RC_DEKU_THEATER_SKULL_MASK, RCVORMQ_BOTH, RCTYPE_STANDARD, RCAREA_LOST_WOODS, ACTOR_ID_MAX, SCENE_GROTTOS, 0x00, GI_NONE, "Deku Theater Skull Mask", "Deku Theater Skull Mask", true), RC_OBJECT(RC_DEKU_THEATER_MASK_OF_TRUTH, RCVORMQ_BOTH, RCTYPE_STANDARD, RCAREA_LOST_WOODS, ACTOR_ID_MAX, SCENE_GROTTOS, 0x00, GI_NONE, "Deku Theater Mask of Truth", "Deku Theater Mask of Truth", true), RC_OBJECT(RC_LW_GS_BEAN_PATCH_NEAR_BRIDGE, RCVORMQ_BOTH, RCTYPE_SKULL_TOKEN, RCAREA_LOST_WOODS, ACTOR_EN_SI, SCENE_LOST_WOODS, 27905, GI_SKULL_TOKEN, "GS Bean Patch Near Bridge", "LW GS Bean Patch Near Bridge", true), @@ -52,8 +52,8 @@ std::map rcObjects = { RC_OBJECT(RC_SFM_WOLFOS_GROTTO_CHEST, RCVORMQ_BOTH, RCTYPE_STANDARD, RCAREA_SACRED_FOREST_MEADOW, ACTOR_EN_BOX, SCENE_GROTTOS, 31409, GI_RUPEE_PURPLE, "Wolfos Grotto Chest", "SFM Wolfos Grotto Chest", false), - RC_OBJECT(RC_SFM_DEKU_SCRUB_GROTTO_REAR, RCVORMQ_BOTH, RCTYPE_SCRUB, RCAREA_SACRED_FOREST_MEADOW, ACTOR_EN_DNS, SCENE_GROTTOS, TWO_ACTOR_PARAMS(0x07,0xEE), GI_POTION_RED, "Deku Scrub Grotto Rear", "SFM Deku Scrub Grotto Rear", false), - RC_OBJECT(RC_SFM_DEKU_SCRUB_GROTTO_FRONT, RCVORMQ_BOTH, RCTYPE_SCRUB, RCAREA_SACRED_FOREST_MEADOW, ACTOR_EN_DNS, SCENE_GROTTOS, TWO_ACTOR_PARAMS(0x08,0xEE), GI_POTION_GREEN, "Deku Scrub Grotto Front", "SFM Deku Scrub Grotto Front", false), + RC_OBJECT(RC_SFM_DEKU_SCRUB_GROTTO_REAR, RCVORMQ_BOTH, RCTYPE_SCRUB, RCAREA_SACRED_FOREST_MEADOW, ACTOR_EN_DNS, SCENE_GROTTOS, TWO_ACTOR_PARAMS(0x07,0xEE), GI_BOTTLE_POTION_RED, "Deku Scrub Grotto Rear", "SFM Deku Scrub Grotto Rear", false), + RC_OBJECT(RC_SFM_DEKU_SCRUB_GROTTO_FRONT, RCVORMQ_BOTH, RCTYPE_SCRUB, RCAREA_SACRED_FOREST_MEADOW, ACTOR_EN_DNS, SCENE_GROTTOS, TWO_ACTOR_PARAMS(0x08,0xEE), GI_BOTTLE_POTION_GREEN, "Deku Scrub Grotto Front", "SFM Deku Scrub Grotto Front", false), RC_OBJECT(RC_SFM_GS, RCVORMQ_BOTH, RCTYPE_SKULL_TOKEN, RCAREA_SACRED_FOREST_MEADOW, ACTOR_EN_SI, SCENE_SACRED_FOREST_MEADOW, 19720, GI_SKULL_TOKEN, "GS", "SFM GS", true), RC_OBJECT(RC_SHEIK_IN_FOREST, RCVORMQ_BOTH, RCTYPE_SONG_LOCATION, RCAREA_SACRED_FOREST_MEADOW, ACTOR_ID_MAX, SCENE_SACRED_FOREST_MEADOW, 0x00, GI_NONE, "Sheik in Forest", "Sheik in Forest", true), RC_OBJECT(RC_SONG_FROM_SARIA, RCVORMQ_BOTH, RCTYPE_SONG_LOCATION, RCAREA_SACRED_FOREST_MEADOW, ACTOR_ID_MAX, SCENE_SACRED_FOREST_MEADOW, 0x00, GI_NONE, "Song from Saria", "Song from Saria", true), @@ -65,7 +65,7 @@ std::map rcObjects = { RC_OBJECT(RC_HF_SOUTHEAST_GROTTO_CHEST, RCVORMQ_BOTH, RCTYPE_STANDARD, RCAREA_HYRULE_FIELD, ACTOR_EN_BOX, SCENE_GROTTOS, 22978, GI_RUPEE_RED, "Southeast Grotto Chest", "HF Southeast Grotto Chest", false), RC_OBJECT(RC_HF_OPEN_GROTTO_CHEST, RCVORMQ_BOTH, RCTYPE_STANDARD, RCAREA_HYRULE_FIELD, ACTOR_EN_BOX, SCENE_GROTTOS, 22947, GI_RUPEE_BLUE, "Open Grotto Chest", "HF Open Grotto Chest", false), RC_OBJECT(RC_HF_NEAR_MARKET_GROTTO_CHEST, RCVORMQ_BOTH, RCTYPE_STANDARD, RCAREA_HYRULE_FIELD, ACTOR_EN_BOX, SCENE_GROTTOS, 22944, GI_RUPEE_BLUE, "Near Market Grotto Chest", "HF Near Market Grotto Chest", false), - RC_OBJECT(RC_HF_OCARINA_OF_TIME_ITEM, RCVORMQ_BOTH, RCTYPE_OCARINA, RCAREA_HYRULE_FIELD, ACTOR_ID_MAX, SCENE_HYRULE_FIELD, 0x00, GI_OCARINA_OOT, "Ocarina of Time Item", "HF Ocarina of Time Item", true), + RC_OBJECT(RC_HF_OCARINA_OF_TIME_ITEM, RCVORMQ_BOTH, RCTYPE_OCARINA, RCAREA_HYRULE_FIELD, ACTOR_ID_MAX, SCENE_HYRULE_FIELD, 0x00, GI_OCARINA_OF_TIME, "Ocarina of Time Item", "HF Ocarina of Time Item", true), RC_OBJECT(RC_HF_TEKTITE_GROTTO_FREESTANDING_POH, RCVORMQ_BOTH, RCTYPE_STANDARD, RCAREA_HYRULE_FIELD, ACTOR_EN_ITEM00, SCENE_GROTTOS, 262, GI_HEART_PIECE, "Tektite Grotto Freestanding PoH", "HF Tektite Grotto Freestanding PoH", true), RC_OBJECT(RC_HF_DEKU_SCRUB_GROTTO, RCVORMQ_BOTH, RCTYPE_SCRUB, RCAREA_HYRULE_FIELD, ACTOR_EN_DNS, SCENE_GROTTOS, TWO_ACTOR_PARAMS(0x02,0xE6), GI_HEART_PIECE, "Deku Scrub Grotto", "HF Deku Scrub Grotto", true), RC_OBJECT(RC_HF_GS_COW_GROTTO, RCVORMQ_BOTH, RCTYPE_SKULL_TOKEN, RCAREA_HYRULE_FIELD, ACTOR_EN_SI, SCENE_GROTTOS, 10753, GI_SKULL_TOKEN, "GS Cow Grotto", "HF GS Cow Grotto", true), @@ -79,15 +79,15 @@ std::map rcObjects = { RC_OBJECT(RC_LH_CHILD_FISHING, RCVORMQ_BOTH, RCTYPE_STANDARD, RCAREA_LAKE_HYLIA, ACTOR_ID_MAX, SCENE_FISHING_POND, 0x00, GI_HEART_PIECE, "Child Fishing", "LH Child Fishing", true), - RC_OBJECT(RC_LH_ADULT_FISHING, RCVORMQ_BOTH, RCTYPE_STANDARD, RCAREA_LAKE_HYLIA, ACTOR_ID_MAX, SCENE_FISHING_POND, 0x00, GI_SCALE_GOLD, "Adult Fishing", "LH Adult Fishing", true), + RC_OBJECT(RC_LH_ADULT_FISHING, RCVORMQ_BOTH, RCTYPE_STANDARD, RCAREA_LAKE_HYLIA, ACTOR_ID_MAX, SCENE_FISHING_POND, 0x00, GI_SCALE_GOLDEN, "Adult Fishing", "LH Adult Fishing", true), RC_OBJECT(RC_LH_LAB_DIVE, RCVORMQ_BOTH, RCTYPE_STANDARD, RCAREA_LAKE_HYLIA, ACTOR_ID_MAX, SCENE_LAKESIDE_LABORATORY, 0x00, GI_HEART_PIECE, "Lab Dive", "LH Lab Dive", true), - RC_OBJECT(RC_LH_TRADE_FROG, RCVORMQ_BOTH, RCTYPE_ADULT_TRADE, RCAREA_LAKE_HYLIA, ACTOR_ID_MAX, SCENE_LAKESIDE_LABORATORY, 0x00, GI_FROG, "Lab Trade Eyeball Frog", "LH Lab Trade Eyeball Frog", true), - RC_OBJECT(RC_LH_UNDERWATER_ITEM, RCVORMQ_BOTH, RCTYPE_STANDARD, RCAREA_LAKE_HYLIA, ACTOR_ID_MAX, SCENE_LAKE_HYLIA, 0x00, GI_LETTER_RUTO, "Underwater Item", "LH Underwater Item", true), + RC_OBJECT(RC_LH_TRADE_FROG, RCVORMQ_BOTH, RCTYPE_ADULT_TRADE, RCAREA_LAKE_HYLIA, ACTOR_ID_MAX, SCENE_LAKESIDE_LABORATORY, 0x00, GI_EYEBALL_FROG, "Lab Trade Eyeball Frog", "LH Lab Trade Eyeball Frog", true), + RC_OBJECT(RC_LH_UNDERWATER_ITEM, RCVORMQ_BOTH, RCTYPE_STANDARD, RCAREA_LAKE_HYLIA, ACTOR_ID_MAX, SCENE_LAKE_HYLIA, 0x00, GI_BOTTLE_RUTOS_LETTER, "Underwater Item", "LH Underwater Item", true), RC_OBJECT(RC_LH_SUN, RCVORMQ_BOTH, RCTYPE_STANDARD, RCAREA_LAKE_HYLIA, ACTOR_ID_MAX, SCENE_LAKE_HYLIA, 0x00, GI_ARROW_FIRE, "Sun", "LH Sun", true), RC_OBJECT(RC_LH_FREESTANDING_POH, RCVORMQ_BOTH, RCTYPE_STANDARD, RCAREA_LAKE_HYLIA, ACTOR_EN_ITEM00, SCENE_LAKE_HYLIA, 7686, GI_HEART_PIECE, "Freestanding PoH", "LH Freestanding PoH", true), - RC_OBJECT(RC_LH_DEKU_SCRUB_GROTTO_LEFT, RCVORMQ_BOTH, RCTYPE_SCRUB, RCAREA_LAKE_HYLIA, ACTOR_EN_DNS, SCENE_GROTTOS, TWO_ACTOR_PARAMS(0x00,0xEF), GI_NUTS_5_2, "Deku Scrub Grotto Left", "LH Deku Scrub Grotto Left", false), + RC_OBJECT(RC_LH_DEKU_SCRUB_GROTTO_LEFT, RCVORMQ_BOTH, RCTYPE_SCRUB, RCAREA_LAKE_HYLIA, ACTOR_EN_DNS, SCENE_GROTTOS, TWO_ACTOR_PARAMS(0x00,0xEF), GI_DEKU_NUTS_5_2, "Deku Scrub Grotto Left", "LH Deku Scrub Grotto Left", false), RC_OBJECT(RC_LH_DEKU_SCRUB_GROTTO_RIGHT, RCVORMQ_BOTH, RCTYPE_SCRUB, RCAREA_LAKE_HYLIA, ACTOR_EN_DNS, SCENE_GROTTOS, TWO_ACTOR_PARAMS(0x05,0xEF), GI_BOMBS_5, "Deku Scrub Grotto Right", "LH Deku Scrub Grotto Right", false), - RC_OBJECT(RC_LH_DEKU_SCRUB_GROTTO_CENTER, RCVORMQ_BOTH, RCTYPE_SCRUB, RCAREA_LAKE_HYLIA, ACTOR_EN_DNS, SCENE_GROTTOS, TWO_ACTOR_PARAMS(0x03,0xEF), GI_SEEDS_30, "Deku Scrub Grotto Center", "LH Deku Scrub Grotto Center", false), + RC_OBJECT(RC_LH_DEKU_SCRUB_GROTTO_CENTER, RCVORMQ_BOTH, RCTYPE_SCRUB, RCAREA_LAKE_HYLIA, ACTOR_EN_DNS, SCENE_GROTTOS, TWO_ACTOR_PARAMS(0x03,0xEF), GI_DEKU_SEEDS_30, "Deku Scrub Grotto Center", "LH Deku Scrub Grotto Center", false), RC_OBJECT(RC_LH_GS_BEAN_PATCH, RCVORMQ_BOTH, RCTYPE_SKULL_TOKEN, RCAREA_LAKE_HYLIA, ACTOR_EN_SI, SCENE_LAKE_HYLIA, 29185, GI_SKULL_TOKEN, "GS Bean Patch", "LH GS Bean Patch", true), RC_OBJECT(RC_LH_GS_SMALL_ISLAND, RCVORMQ_BOTH, RCTYPE_SKULL_TOKEN, RCAREA_LAKE_HYLIA, ACTOR_EN_SI, SCENE_LAKE_HYLIA, 20994, GI_SKULL_TOKEN, "GS Small Island", "LH GS Small Island", true), RC_OBJECT(RC_LH_GS_LAB_WALL, RCVORMQ_BOTH, RCTYPE_SKULL_TOKEN, RCAREA_LAKE_HYLIA, ACTOR_EN_SI, SCENE_LAKE_HYLIA, 20996, GI_SKULL_TOKEN, "GS Lab Wall", "LH GS Lab Wall", true), @@ -102,8 +102,8 @@ std::map rcObjects = { RC_OBJECT(RC_GV_TRADE_SAW, RCVORMQ_BOTH, RCTYPE_ADULT_TRADE, RCAREA_GERUDO_VALLEY, ACTOR_ID_MAX, SCENE_GERUDO_VALLEY, 0x00, GI_NONE, "Trade Saw", "GV Trade Saw", true), RC_OBJECT(RC_GV_WATERFALL_FREESTANDING_POH, RCVORMQ_BOTH, RCTYPE_STANDARD, RCAREA_GERUDO_VALLEY, ACTOR_EN_ITEM00, SCENE_GERUDO_VALLEY, 262, GI_HEART_PIECE, "Waterfall Freestanding PoH", "GV Waterfall Freestanding PoH", true), RC_OBJECT(RC_GV_CRATE_FREESTANDING_POH, RCVORMQ_BOTH, RCTYPE_STANDARD, RCAREA_GERUDO_VALLEY, ACTOR_EN_ITEM00, SCENE_GERUDO_VALLEY, 518, GI_HEART_PIECE, "Crate Freestanding PoH", "GV Crate Freestanding PoH", true), - RC_OBJECT(RC_GV_DEKU_SCRUB_GROTTO_REAR, RCVORMQ_BOTH, RCTYPE_SCRUB, RCAREA_GERUDO_VALLEY, ACTOR_EN_DNS, SCENE_GROTTOS, TWO_ACTOR_PARAMS(0x07,0xF0), GI_POTION_RED, "Deku Scrub Grotto Rear", "GV Deku Scrub Grotto Rear", false), - RC_OBJECT(RC_GV_DEKU_SCRUB_GROTTO_FRONT, RCVORMQ_BOTH, RCTYPE_SCRUB, RCAREA_GERUDO_VALLEY, ACTOR_EN_DNS, SCENE_GROTTOS, TWO_ACTOR_PARAMS(0x08,0xF0), GI_POTION_GREEN, "Deku Scrub Grotto Front", "GV Deku Scrub Grotto Front", false), + RC_OBJECT(RC_GV_DEKU_SCRUB_GROTTO_REAR, RCVORMQ_BOTH, RCTYPE_SCRUB, RCAREA_GERUDO_VALLEY, ACTOR_EN_DNS, SCENE_GROTTOS, TWO_ACTOR_PARAMS(0x07,0xF0), GI_BOTTLE_POTION_RED, "Deku Scrub Grotto Rear", "GV Deku Scrub Grotto Rear", false), + RC_OBJECT(RC_GV_DEKU_SCRUB_GROTTO_FRONT, RCVORMQ_BOTH, RCTYPE_SCRUB, RCAREA_GERUDO_VALLEY, ACTOR_EN_DNS, SCENE_GROTTOS, TWO_ACTOR_PARAMS(0x08,0xF0), GI_BOTTLE_POTION_GREEN, "Deku Scrub Grotto Front", "GV Deku Scrub Grotto Front", false), RC_OBJECT(RC_GV_GS_BEAN_PATCH, RCVORMQ_BOTH, RCTYPE_SKULL_TOKEN, RCAREA_GERUDO_VALLEY, ACTOR_EN_SI, SCENE_GERUDO_VALLEY, 29441, GI_SKULL_TOKEN, "GS Bean Patch", "GV GS Bean Patch", true), RC_OBJECT(RC_GV_GS_SMALL_BRIDGE, RCVORMQ_BOTH, RCTYPE_SKULL_TOKEN, RCAREA_GERUDO_VALLEY, ACTOR_EN_SI, SCENE_GERUDO_VALLEY, 21250, GI_SKULL_TOKEN, "GS Small Bridge", "GV GS Small Bridge", true), RC_OBJECT(RC_GV_GS_PILLAR, RCVORMQ_BOTH, RCTYPE_SKULL_TOKEN, RCAREA_GERUDO_VALLEY, ACTOR_EN_SI, SCENE_GERUDO_VALLEY, 21252, GI_SKULL_TOKEN, "GS Pillar", "GV GS Pillar", true), @@ -116,10 +116,10 @@ std::map rcObjects = { RC_OBJECT(RC_GF_HBA_1000_POINTS, RCVORMQ_BOTH, RCTYPE_STANDARD, RCAREA_GERUDO_FORTRESS, ACTOR_ID_MAX, SCENE_GERUDOS_FORTRESS, 0x00, GI_HEART_PIECE, "GF HBA 1000 Points", "GF HBA 1000 Points", true), RC_OBJECT(RC_GF_HBA_1500_POINTS, RCVORMQ_BOTH, RCTYPE_STANDARD, RCAREA_GERUDO_FORTRESS, ACTOR_ID_MAX, SCENE_GERUDOS_FORTRESS, 0x00, GI_QUIVER_50, "GF HBA 1500 Points", "GF HBA 1500 Points", true), RC_OBJECT(RC_GF_GERUDO_MEMBERSHIP_CARD, RCVORMQ_BOTH, RCTYPE_STANDARD, RCAREA_GERUDO_FORTRESS, ACTOR_ID_MAX, SCENE_THIEVES_HIDEOUT, 0x00, GI_HEART_PIECE, "GF Gerudo Membership Card", "GF Gerudo Membership Card", true), - RC_OBJECT(RC_GF_NORTH_F1_CARPENTER, RCVORMQ_BOTH, RCTYPE_GF_KEY, RCAREA_GERUDO_FORTRESS, ACTOR_EN_ITEM00, SCENE_THIEVES_HIDEOUT, 3089, GI_KEY_SMALL, "GF North F1 Carpenter", "GF North F1 Carpenter", true), - RC_OBJECT(RC_GF_NORTH_F2_CARPENTER, RCVORMQ_BOTH, RCTYPE_GF_KEY, RCAREA_GERUDO_FORTRESS, ACTOR_EN_ITEM00, SCENE_THIEVES_HIDEOUT, 2577, GI_KEY_SMALL, "GF North F2 Carpenter", "GF North F2 Carpenter", true), - RC_OBJECT(RC_GF_SOUTH_F1_CARPENTER, RCVORMQ_BOTH, RCTYPE_GF_KEY, RCAREA_GERUDO_FORTRESS, ACTOR_EN_ITEM00, SCENE_THIEVES_HIDEOUT, 3601, GI_KEY_SMALL, "GF South F1 Carpenter", "GF South F1 Carpenter", true), - RC_OBJECT(RC_GF_SOUTH_F2_CARPENTER, RCVORMQ_BOTH, RCTYPE_GF_KEY, RCAREA_GERUDO_FORTRESS, ACTOR_EN_ITEM00, SCENE_THIEVES_HIDEOUT, 3857, GI_KEY_SMALL, "GF South F2 Carpenter", "GF South F2 Carpenter", true), + RC_OBJECT(RC_GF_NORTH_F1_CARPENTER, RCVORMQ_BOTH, RCTYPE_GF_KEY, RCAREA_GERUDO_FORTRESS, ACTOR_EN_ITEM00, SCENE_THIEVES_HIDEOUT, 3089, GI_SMALL_KEY, "GF North F1 Carpenter", "GF North F1 Carpenter", true), + RC_OBJECT(RC_GF_NORTH_F2_CARPENTER, RCVORMQ_BOTH, RCTYPE_GF_KEY, RCAREA_GERUDO_FORTRESS, ACTOR_EN_ITEM00, SCENE_THIEVES_HIDEOUT, 2577, GI_SMALL_KEY, "GF North F2 Carpenter", "GF North F2 Carpenter", true), + RC_OBJECT(RC_GF_SOUTH_F1_CARPENTER, RCVORMQ_BOTH, RCTYPE_GF_KEY, RCAREA_GERUDO_FORTRESS, ACTOR_EN_ITEM00, SCENE_THIEVES_HIDEOUT, 3601, GI_SMALL_KEY, "GF South F1 Carpenter", "GF South F1 Carpenter", true), + RC_OBJECT(RC_GF_SOUTH_F2_CARPENTER, RCVORMQ_BOTH, RCTYPE_GF_KEY, RCAREA_GERUDO_FORTRESS, ACTOR_EN_ITEM00, SCENE_THIEVES_HIDEOUT, 3857, GI_SMALL_KEY, "GF South F2 Carpenter", "GF South F2 Carpenter", true), RC_OBJECT(RC_GF_GS_ARCHERY_RANGE, RCVORMQ_BOTH, RCTYPE_SKULL_TOKEN, RCAREA_GERUDO_FORTRESS, ACTOR_EN_SI, SCENE_GERUDOS_FORTRESS, 21505, GI_SKULL_TOKEN, "GS Archery Range", "GF GS Archery Range", true), RC_OBJECT(RC_GF_GS_TOP_FLOOR, RCVORMQ_BOTH, RCTYPE_SKULL_TOKEN, RCAREA_GERUDO_FORTRESS, ACTOR_EN_SI, SCENE_GERUDOS_FORTRESS, 21506, GI_SKULL_TOKEN, "GS Top Floor", "GF GS Top Floor", true), @@ -130,8 +130,8 @@ std::map rcObjects = { RC_OBJECT(RC_COLOSSUS_FREESTANDING_POH, RCVORMQ_BOTH, RCTYPE_STANDARD, RCAREA_DESERT_COLOSSUS, ACTOR_EN_ITEM00, SCENE_DESERT_COLOSSUS, 3334, GI_HEART_PIECE, "Freestanding PoH", "Colossus Freestanding PoH", true), - RC_OBJECT(RC_COLOSSUS_DEKU_SCRUB_GROTTO_REAR, RCVORMQ_BOTH, RCTYPE_SCRUB, RCAREA_DESERT_COLOSSUS, ACTOR_EN_DNS, SCENE_GROTTOS, TWO_ACTOR_PARAMS(0x07,0xFD), GI_POTION_RED, "Deku Scrub Grotto Rear", "Colossus Deku Scrub Grotto Rear", false), - RC_OBJECT(RC_COLOSSUS_DEKU_SCRUB_GROTTO_FRONT, RCVORMQ_BOTH, RCTYPE_SCRUB, RCAREA_DESERT_COLOSSUS, ACTOR_EN_DNS, SCENE_GROTTOS, TWO_ACTOR_PARAMS(0x08,0xFD), GI_POTION_GREEN, "Deku Scrub Grotto Front", "Colossus Deku Scrub Grotto Front", false), + RC_OBJECT(RC_COLOSSUS_DEKU_SCRUB_GROTTO_REAR, RCVORMQ_BOTH, RCTYPE_SCRUB, RCAREA_DESERT_COLOSSUS, ACTOR_EN_DNS, SCENE_GROTTOS, TWO_ACTOR_PARAMS(0x07,0xFD), GI_BOTTLE_POTION_RED, "Deku Scrub Grotto Rear", "Colossus Deku Scrub Grotto Rear", false), + RC_OBJECT(RC_COLOSSUS_DEKU_SCRUB_GROTTO_FRONT, RCVORMQ_BOTH, RCTYPE_SCRUB, RCAREA_DESERT_COLOSSUS, ACTOR_EN_DNS, SCENE_GROTTOS, TWO_ACTOR_PARAMS(0x08,0xFD), GI_BOTTLE_POTION_GREEN, "Deku Scrub Grotto Front", "Colossus Deku Scrub Grotto Front", false), RC_OBJECT(RC_COLOSSUS_GS_BEAN_PATCH, RCVORMQ_BOTH, RCTYPE_SKULL_TOKEN, RCAREA_DESERT_COLOSSUS, ACTOR_EN_SI, SCENE_DESERT_COLOSSUS, 29953, GI_SKULL_TOKEN, "GS Bean Patch", "Colossus GS Bean Patch", true), RC_OBJECT(RC_COLOSSUS_GS_HILL, RCVORMQ_BOTH, RCTYPE_SKULL_TOKEN, RCAREA_DESERT_COLOSSUS, ACTOR_EN_SI, SCENE_DESERT_COLOSSUS, 21764, GI_SKULL_TOKEN, "GS Hill", "Colossus GS Hill", true), RC_OBJECT(RC_COLOSSUS_GS_TREE, RCVORMQ_BOTH, RCTYPE_SKULL_TOKEN, RCAREA_DESERT_COLOSSUS, ACTOR_EN_SI, SCENE_DESERT_COLOSSUS, 21768, GI_SKULL_TOKEN, "GS Tree", "Colossus GS Tree", true), @@ -145,7 +145,7 @@ std::map rcObjects = { RC_OBJECT(RC_MARKET_BOMBCHU_BOWLING_SECOND_PRIZE, RCVORMQ_BOTH, RCTYPE_STANDARD, RCAREA_MARKET, ACTOR_ID_MAX, SCENE_BOMBCHU_BOWLING_ALLEY, 0x00, GI_HEART_PIECE, "Bombchu Bowling Second Prize", "MK Bombchu Bowling Second Prize", true), RC_OBJECT(RC_MARKET_LOST_DOG, RCVORMQ_BOTH, RCTYPE_STANDARD, RCAREA_MARKET, ACTOR_ID_MAX, SCENE_DOG_LADY_HOUSE, 0x00, GI_HEART_PIECE, "Lost Dog", "MK Lost Dog", true), RC_OBJECT(RC_MARKET_SHOOTING_GALLERY_REWARD, RCVORMQ_BOTH, RCTYPE_STANDARD, RCAREA_MARKET, ACTOR_ID_MAX, SCENE_SHOOTING_GALLERY, 0x00, GI_BULLET_BAG_40, "Shooting Gallery", "MK Shooting Gallery", true), - RC_OBJECT(RC_MARKET_10_BIG_POES, RCVORMQ_BOTH, RCTYPE_STANDARD, RCAREA_MARKET, ACTOR_ID_MAX, SCENE_MARKET_GUARD_HOUSE, 0x00, GI_BOTTLE, "10 Big Poes", "MK 10 Big Poes", true), + RC_OBJECT(RC_MARKET_10_BIG_POES, RCVORMQ_BOTH, RCTYPE_STANDARD, RCAREA_MARKET, ACTOR_ID_MAX, SCENE_MARKET_GUARD_HOUSE, 0x00, GI_BOTTLE_EMPTY, "10 Big Poes", "MK 10 Big Poes", true), RC_OBJECT(RC_MARKET_TREASURE_CHEST_GAME_ITEM_1, RCVORMQ_BOTH, RCTYPE_CHEST_GAME, RCAREA_MARKET, ACTOR_EN_BOX, SCENE_TREASURE_BOX_SHOP, 0x00, GI_NONE, "Chest Game First Room Chest", "MK Chest Game First Room Chest", false), RC_OBJECT(RC_MARKET_TREASURE_CHEST_GAME_ITEM_2, RCVORMQ_BOTH, RCTYPE_CHEST_GAME, RCAREA_MARKET, ACTOR_EN_BOX, SCENE_TREASURE_BOX_SHOP, 0x00, GI_NONE, "Chest Game Second Room Chest", "MK Chest Game Second Room Chest", false), RC_OBJECT(RC_MARKET_TREASURE_CHEST_GAME_ITEM_3, RCVORMQ_BOTH, RCTYPE_CHEST_GAME, RCAREA_MARKET, ACTOR_EN_BOX, SCENE_TREASURE_BOX_SHOP, 0x00, GI_NONE, "Chest Game Third Room Chest", "MK Chest Game Third Room Chest", false), @@ -162,22 +162,22 @@ std::map rcObjects = { RC_OBJECT(RC_MARKET_BOMBCHU_SHOP_ITEM_6, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_MARKET, ACTOR_EN_GIRLA, SCENE_BOMBCHU_SHOP, 0x05, GI_BOMBCHUS_20, "Bombchu Shop Item 6", "MK Bombchu Shop Item 6", false), RC_OBJECT(RC_MARKET_BOMBCHU_SHOP_ITEM_7, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_MARKET, ACTOR_EN_GIRLA, SCENE_BOMBCHU_SHOP, 0x06, GI_BOMBCHUS_20, "Bombchu Shop Item 7", "MK Bombchu Shop Item 7", false), RC_OBJECT(RC_MARKET_BOMBCHU_SHOP_ITEM_8, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_MARKET, ACTOR_EN_GIRLA, SCENE_BOMBCHU_SHOP, 0x07, GI_BOMBCHUS_20, "Bombchu Shop Item 8", "MK Bombchu Shop Item 8", false), - RC_OBJECT(RC_MARKET_POTION_SHOP_ITEM_1, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_MARKET, ACTOR_EN_GIRLA, SCENE_POTION_SHOP_MARKET, 0x00, GI_POTION_GREEN, "Potion Shop Item 1", "MK Potion Shop Item 1", false), - RC_OBJECT(RC_MARKET_POTION_SHOP_ITEM_2, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_MARKET, ACTOR_EN_GIRLA, SCENE_POTION_SHOP_MARKET, 0x01, GI_BLUE_FIRE, "Potion Shop Item 2", "MK Potion Shop Item 2", false), - RC_OBJECT(RC_MARKET_POTION_SHOP_ITEM_3, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_MARKET, ACTOR_EN_GIRLA, SCENE_POTION_SHOP_MARKET, 0x02, GI_POTION_RED, "Potion Shop Item 3", "MK Potion Shop Item 3", false), - RC_OBJECT(RC_MARKET_POTION_SHOP_ITEM_4, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_MARKET, ACTOR_EN_GIRLA, SCENE_POTION_SHOP_MARKET, 0x03, GI_FAIRY, "Potion Shop Item 4", "MK Potion Shop Item 4", false), - RC_OBJECT(RC_MARKET_POTION_SHOP_ITEM_5, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_MARKET, ACTOR_EN_GIRLA, SCENE_POTION_SHOP_MARKET, 0x04, GI_NUTS_5_2, "Potion Shop Item 5", "MK Potion Shop Item 5", false), - RC_OBJECT(RC_MARKET_POTION_SHOP_ITEM_6, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_MARKET, ACTOR_EN_GIRLA, SCENE_POTION_SHOP_MARKET, 0x05, GI_BUGS, "Potion Shop Item 6", "MK Potion Shop Item 6", false), - RC_OBJECT(RC_MARKET_POTION_SHOP_ITEM_7, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_MARKET, ACTOR_EN_GIRLA, SCENE_POTION_SHOP_MARKET, 0x06, GI_POE, "Potion Shop Item 7", "MK Potion Shop Item 7", false), - RC_OBJECT(RC_MARKET_POTION_SHOP_ITEM_8, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_MARKET, ACTOR_EN_GIRLA, SCENE_POTION_SHOP_MARKET, 0x07, GI_FISH, "Potion Shop Item 8", "MK Potion Shop Item 8", false), + RC_OBJECT(RC_MARKET_POTION_SHOP_ITEM_1, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_MARKET, ACTOR_EN_GIRLA, SCENE_POTION_SHOP_MARKET, 0x00, GI_BOTTLE_POTION_GREEN, "Potion Shop Item 1", "MK Potion Shop Item 1", false), + RC_OBJECT(RC_MARKET_POTION_SHOP_ITEM_2, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_MARKET, ACTOR_EN_GIRLA, SCENE_POTION_SHOP_MARKET, 0x01, GI_BOTTLE_BLUE_FIRE, "Potion Shop Item 2", "MK Potion Shop Item 2", false), + RC_OBJECT(RC_MARKET_POTION_SHOP_ITEM_3, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_MARKET, ACTOR_EN_GIRLA, SCENE_POTION_SHOP_MARKET, 0x02, GI_BOTTLE_POTION_RED, "Potion Shop Item 3", "MK Potion Shop Item 3", false), + RC_OBJECT(RC_MARKET_POTION_SHOP_ITEM_4, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_MARKET, ACTOR_EN_GIRLA, SCENE_POTION_SHOP_MARKET, 0x03, GI_BOTTLE_FAIRY, "Potion Shop Item 4", "MK Potion Shop Item 4", false), + RC_OBJECT(RC_MARKET_POTION_SHOP_ITEM_5, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_MARKET, ACTOR_EN_GIRLA, SCENE_POTION_SHOP_MARKET, 0x04, GI_DEKU_NUTS_5_2, "Potion Shop Item 5", "MK Potion Shop Item 5", false), + RC_OBJECT(RC_MARKET_POTION_SHOP_ITEM_6, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_MARKET, ACTOR_EN_GIRLA, SCENE_POTION_SHOP_MARKET, 0x05, GI_BOTTLE_BUGS, "Potion Shop Item 6", "MK Potion Shop Item 6", false), + RC_OBJECT(RC_MARKET_POTION_SHOP_ITEM_7, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_MARKET, ACTOR_EN_GIRLA, SCENE_POTION_SHOP_MARKET, 0x06, GI_BOTTLE_POE, "Potion Shop Item 7", "MK Potion Shop Item 7", false), + RC_OBJECT(RC_MARKET_POTION_SHOP_ITEM_8, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_MARKET, ACTOR_EN_GIRLA, SCENE_POTION_SHOP_MARKET, 0x07, GI_BOTTLE_FISH, "Potion Shop Item 8", "MK Potion Shop Item 8", false), RC_OBJECT(RC_MARKET_BAZAAR_ITEM_1, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_MARKET, ACTOR_EN_GIRLA, SCENE_BAZAAR, 0x00, GI_SHIELD_HYLIAN, "Bazaar Item 1", "MK Bazaar Item 1", false), RC_OBJECT(RC_MARKET_BAZAAR_ITEM_2, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_MARKET, ACTOR_EN_GIRLA, SCENE_BAZAAR, 0x01, GI_BOMBS_5, "Bazaar Item 2", "MK Bazaar Item 2", false), - RC_OBJECT(RC_MARKET_BAZAAR_ITEM_3, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_MARKET, ACTOR_EN_GIRLA, SCENE_BAZAAR, 0x02, GI_NUTS_5_2, "Bazaar Item 3", "MK Bazaar Item 3", false), - RC_OBJECT(RC_MARKET_BAZAAR_ITEM_4, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_MARKET, ACTOR_EN_GIRLA, SCENE_BAZAAR, 0x03, GI_HEART, "Bazaar Item 4", "MK Bazaar Item 4", false), - RC_OBJECT(RC_MARKET_BAZAAR_ITEM_5, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_MARKET, ACTOR_EN_GIRLA, SCENE_BAZAAR, 0x04, GI_ARROWS_SMALL, "Bazaar Item 5", "MK Bazaar Item 5", false), - RC_OBJECT(RC_MARKET_BAZAAR_ITEM_6, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_MARKET, ACTOR_EN_GIRLA, SCENE_BAZAAR, 0x05, GI_ARROWS_LARGE, "Bazaar Item 6", "MK Bazaar Item 6", false), - RC_OBJECT(RC_MARKET_BAZAAR_ITEM_7, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_MARKET, ACTOR_EN_GIRLA, SCENE_BAZAAR, 0x06, GI_STICKS_1, "Bazaar Item 7", "MK Bazaar Item 7", false), - RC_OBJECT(RC_MARKET_BAZAAR_ITEM_8, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_MARKET, ACTOR_EN_GIRLA, SCENE_BAZAAR, 0x07, GI_ARROWS_MEDIUM, "Bazaar Item 8", "MK Bazaar Item 8", false), + RC_OBJECT(RC_MARKET_BAZAAR_ITEM_3, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_MARKET, ACTOR_EN_GIRLA, SCENE_BAZAAR, 0x02, GI_DEKU_NUTS_5_2, "Bazaar Item 3", "MK Bazaar Item 3", false), + RC_OBJECT(RC_MARKET_BAZAAR_ITEM_4, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_MARKET, ACTOR_EN_GIRLA, SCENE_BAZAAR, 0x03, GI_RECOVERY_HEART, "Bazaar Item 4", "MK Bazaar Item 4", false), + RC_OBJECT(RC_MARKET_BAZAAR_ITEM_5, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_MARKET, ACTOR_EN_GIRLA, SCENE_BAZAAR, 0x04, GI_ARROWS_5, "Bazaar Item 5", "MK Bazaar Item 5", false), + RC_OBJECT(RC_MARKET_BAZAAR_ITEM_6, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_MARKET, ACTOR_EN_GIRLA, SCENE_BAZAAR, 0x05, GI_ARROWS_30, "Bazaar Item 6", "MK Bazaar Item 6", false), + RC_OBJECT(RC_MARKET_BAZAAR_ITEM_7, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_MARKET, ACTOR_EN_GIRLA, SCENE_BAZAAR, 0x06, GI_DEKU_STICKS_1, "Bazaar Item 7", "MK Bazaar Item 7", false), + RC_OBJECT(RC_MARKET_BAZAAR_ITEM_8, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_MARKET, ACTOR_EN_GIRLA, SCENE_BAZAAR, 0x07, GI_ARROWS_10, "Bazaar Item 8", "MK Bazaar Item 8", false), RC_OBJECT(RC_TOT_LEFT_CENTER_GOSSIP_STONE, RCVORMQ_BOTH, RCTYPE_GOSSIP_STONE, RCAREA_MARKET, ACTOR_EN_GS, SCENE_ID_MAX, 0x00, GI_NONE, "ToT Left Center Gossip Stone", "ToT Left Center Gossip Stone", false), RC_OBJECT(RC_TOT_LEFT_GOSSIP_STONE, RCVORMQ_BOTH, RCTYPE_GOSSIP_STONE, RCAREA_MARKET, ACTOR_EN_GS, SCENE_ID_MAX, 0x00, GI_NONE, "ToT Left Gossip Stone", "ToT Left Gossip Stone", false), RC_OBJECT(RC_TOT_RIGHT_CENTER_GOSSIP_STONE, RCVORMQ_BOTH, RCTYPE_GOSSIP_STONE, RCAREA_MARKET, ACTOR_EN_GS, SCENE_ID_MAX, 0x00, GI_NONE, "ToT Right Center Gossip Stone", "ToT Right Center Gossip Stone", false), @@ -185,11 +185,11 @@ std::map rcObjects = { RC_OBJECT(RC_HC_MALON_EGG, RCVORMQ_BOTH, RCTYPE_STANDARD, RCAREA_HYRULE_CASTLE, ACTOR_ID_MAX, SCENE_HYRULE_CASTLE, 0x00, GI_NONE, "Malon Egg", "HC Malon Egg", true), - RC_OBJECT(RC_HC_ZELDAS_LETTER, RCVORMQ_BOTH, RCTYPE_STANDARD, RCAREA_HYRULE_CASTLE, ACTOR_ID_MAX, SCENE_CASTLE_COURTYARD_ZELDA, 0x00, GI_LETTER_ZELDA, "Zeldas Letter", "HC Zeldas Letter", true), + RC_OBJECT(RC_HC_ZELDAS_LETTER, RCVORMQ_BOTH, RCTYPE_STANDARD, RCAREA_HYRULE_CASTLE, ACTOR_ID_MAX, SCENE_CASTLE_COURTYARD_ZELDA, 0x00, GI_ZELDAS_LETTER, "Zeldas Letter", "HC Zeldas Letter", true), RC_OBJECT(RC_OGC_GS, RCVORMQ_BOTH, RCTYPE_SKULL_TOKEN, RCAREA_HYRULE_CASTLE, ACTOR_EN_SI, SCENE_OUTSIDE_GANONS_CASTLE, 11777, GI_SKULL_TOKEN, "OGC GS", "OGC GS", true), RC_OBJECT(RC_HC_GS_STORMS_GROTTO, RCVORMQ_BOTH, RCTYPE_SKULL_TOKEN, RCAREA_HYRULE_CASTLE, ACTOR_EN_SI, SCENE_GROTTOS, 11778, GI_SKULL_TOKEN, "GS Storms Grotto", "HC GS Storms Grotto", true), RC_OBJECT(RC_HC_GS_TREE, RCVORMQ_BOTH, RCTYPE_SKULL_TOKEN, RCAREA_HYRULE_CASTLE, ACTOR_EN_SI, SCENE_HYRULE_CASTLE, -29180, GI_SKULL_TOKEN, "GS Tree", "HC GS Tree", true), - RC_OBJECT(RC_HC_GREAT_FAIRY_REWARD, RCVORMQ_BOTH, RCTYPE_STANDARD, RCAREA_HYRULE_CASTLE, ACTOR_BG_DY_YOSEIZO,SCENE_GREAT_FAIRYS_FOUNTAIN_SPELLS, 2, GI_MAGIC_SMALL, "Great Fairy Reward", "HC Great Fairy Reward", true), + RC_OBJECT(RC_HC_GREAT_FAIRY_REWARD, RCVORMQ_BOTH, RCTYPE_STANDARD, RCAREA_HYRULE_CASTLE, ACTOR_BG_DY_YOSEIZO,SCENE_GREAT_FAIRYS_FOUNTAIN_SPELLS, 2, GI_MAGIC_JAR_SMALL, "Great Fairy Reward", "HC Great Fairy Reward", true), RC_OBJECT(RC_OGC_GREAT_FAIRY_REWARD, RCVORMQ_BOTH, RCTYPE_STANDARD, RCAREA_HYRULE_CASTLE, ACTOR_BG_DY_YOSEIZO,SCENE_GREAT_FAIRYS_FOUNTAIN_MAGIC, 3, GI_NONE, "OGC Great Fairy Reward", "OGC Great Fairy Reward", true), RC_OBJECT(RC_SONG_FROM_IMPA, RCVORMQ_BOTH, RCTYPE_SONG_LOCATION, RCAREA_HYRULE_CASTLE, ACTOR_ID_MAX, SCENE_ID_MAX, 0x00, GI_NONE, "Song from Impa", "Song from Impa", true), RC_OBJECT(RC_HC_MALON_GOSSIP_STONE, RCVORMQ_BOTH, RCTYPE_GOSSIP_STONE, RCAREA_HYRULE_CASTLE, ACTOR_EN_GS, SCENE_HYRULE_CASTLE, 14610, GI_NONE, "Malon Gossip Stone", "HC Malon Gossip Stone", false), @@ -208,9 +208,9 @@ std::map rcObjects = { RC_OBJECT(RC_KAK_MAN_ON_ROOF, RCVORMQ_BOTH, RCTYPE_STANDARD, RCAREA_KAKARIKO_VILLAGE, ACTOR_ID_MAX, SCENE_KAKARIKO_VILLAGE, 0x00, GI_HEART_PIECE, "Man on Roof", "Kak Man on Roof", true), RC_OBJECT(RC_KAK_SHOOTING_GALLERY_REWARD, RCVORMQ_BOTH, RCTYPE_STANDARD, RCAREA_KAKARIKO_VILLAGE, ACTOR_ID_MAX, SCENE_SHOOTING_GALLERY, 0x00, GI_NONE, "Shooting Gallery Reward", "Kak Shooting Gallery Reward", true), RC_OBJECT(RC_KAK_TRADE_ODD_MUSHROOM, RCVORMQ_BOTH, RCTYPE_ADULT_TRADE, RCAREA_KAKARIKO_VILLAGE, ACTOR_ID_MAX, SCENE_POTION_SHOP_GRANNY, 0x00, GI_ODD_POTION, "Trade Odd Mushroom", "Kak Trade Odd Mushroom", true), - RC_OBJECT(RC_KAK_GRANNYS_SHOP, RCVORMQ_BOTH, RCTYPE_MERCHANT, RCAREA_KAKARIKO_VILLAGE, ACTOR_ID_MAX, SCENE_POTION_SHOP_GRANNY, 0x00, GI_POTION_BLUE, "Granny's Shop", "Kak Granny's Shop", false), + RC_OBJECT(RC_KAK_GRANNYS_SHOP, RCVORMQ_BOTH, RCTYPE_MERCHANT, RCAREA_KAKARIKO_VILLAGE, ACTOR_ID_MAX, SCENE_POTION_SHOP_GRANNY, 0x00, GI_BOTTLE_POTION_BLUE, "Granny's Shop", "Kak Granny's Shop", false), RC_OBJECT(RC_KAK_ANJU_AS_ADULT, RCVORMQ_BOTH, RCTYPE_ADULT_TRADE, RCAREA_KAKARIKO_VILLAGE, ACTOR_ID_MAX, SCENE_KAKARIKO_VILLAGE, 0x00, GI_POCKET_EGG, "Anju as Adult", "Kak Anju as Adult", true), - RC_OBJECT(RC_KAK_ANJU_AS_CHILD, RCVORMQ_BOTH, RCTYPE_STANDARD, RCAREA_KAKARIKO_VILLAGE, ACTOR_ID_MAX, SCENE_KAKARIKO_VILLAGE, 0x00, GI_BOTTLE, "Anju as Child", "Kak Anju as Child", true), + RC_OBJECT(RC_KAK_ANJU_AS_CHILD, RCVORMQ_BOTH, RCTYPE_STANDARD, RCAREA_KAKARIKO_VILLAGE, ACTOR_ID_MAX, SCENE_KAKARIKO_VILLAGE, 0x00, GI_BOTTLE_EMPTY, "Anju as Child", "Kak Anju as Child", true), RC_OBJECT(RC_KAK_TRADE_POCKET_CUCCO, RCVORMQ_BOTH, RCTYPE_ADULT_TRADE, RCAREA_KAKARIKO_VILLAGE, ACTOR_ID_MAX, SCENE_KAKARIKO_VILLAGE, 0x00, GI_COJIRO, "Trade Pocket Cucco", "Kak Trade Pocket Cucco", true), RC_OBJECT(RC_KAK_IMPAS_HOUSE_FREESTANDING_POH, RCVORMQ_BOTH, RCTYPE_STANDARD, RCAREA_KAKARIKO_VILLAGE, ACTOR_EN_ITEM00, SCENE_IMPAS_HOUSE, 262, GI_HEART_PIECE, "Impas House Freestanding PoH", "Kak Impas House Freestanding PoH", true), RC_OBJECT(RC_KAK_WINDMILL_FREESTANDING_POH, RCVORMQ_BOTH, RCTYPE_STANDARD, RCAREA_KAKARIKO_VILLAGE, ACTOR_EN_ITEM00, SCENE_WINDMILL_AND_DAMPES_GRAVE, 262, GI_HEART_PIECE, "Windmill Freestanding PoH", "Kak Windmill Freestanding PoH", true), @@ -223,22 +223,22 @@ std::map rcObjects = { RC_OBJECT(RC_SHEIK_IN_KAKARIKO, RCVORMQ_BOTH, RCTYPE_SONG_LOCATION, RCAREA_KAKARIKO_VILLAGE, ACTOR_ID_MAX, SCENE_ID_MAX, 0x00, GI_NONE, "Sheik in Kakariko", "Sheik in Kakariko", true), RC_OBJECT(RC_SONG_FROM_WINDMILL, RCVORMQ_BOTH, RCTYPE_SONG_LOCATION, RCAREA_KAKARIKO_VILLAGE, ACTOR_ID_MAX, SCENE_ID_MAX, 0x00, GI_NONE, "Song from Windmill", "Song from Windmill", true), RC_OBJECT(RC_KAK_IMPAS_HOUSE_COW, RCVORMQ_BOTH, RCTYPE_COW, RCAREA_KAKARIKO_VILLAGE, ACTOR_EN_COW, SCENE_IMPAS_HOUSE, 0x00, GI_MILK, "Impas House Cow", "Kak Impas House Cow", false), - RC_OBJECT(RC_KAK_POTION_SHOP_ITEM_1, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_KAKARIKO_VILLAGE, ACTOR_EN_GIRLA, SCENE_POTION_SHOP_KAKARIKO, 0x00, GI_POTION_GREEN, "Potion Shop Item 1", "Kak Potion Shop Item 1", false), - RC_OBJECT(RC_KAK_POTION_SHOP_ITEM_2, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_KAKARIKO_VILLAGE, ACTOR_EN_GIRLA, SCENE_POTION_SHOP_KAKARIKO, 0x01, GI_BLUE_FIRE, "Potion Shop Item 2", "Kak Potion Shop Item 2", false), - RC_OBJECT(RC_KAK_POTION_SHOP_ITEM_3, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_KAKARIKO_VILLAGE, ACTOR_EN_GIRLA, SCENE_POTION_SHOP_KAKARIKO, 0x02, GI_POTION_RED, "Potion Shop Item 3", "Kak Potion Shop Item 3", false), - RC_OBJECT(RC_KAK_POTION_SHOP_ITEM_4, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_KAKARIKO_VILLAGE, ACTOR_EN_GIRLA, SCENE_POTION_SHOP_KAKARIKO, 0x03, GI_FAIRY, "Potion Shop Item 4", "Kak Potion Shop Item 4", false), - RC_OBJECT(RC_KAK_POTION_SHOP_ITEM_5, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_KAKARIKO_VILLAGE, ACTOR_EN_GIRLA, SCENE_POTION_SHOP_KAKARIKO, 0x04, GI_NUTS_5_2, "Potion Shop Item 5", "Kak Potion Shop Item 5", false), - RC_OBJECT(RC_KAK_POTION_SHOP_ITEM_6, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_KAKARIKO_VILLAGE, ACTOR_EN_GIRLA, SCENE_POTION_SHOP_KAKARIKO, 0x05, GI_BUGS, "Potion Shop Item 6", "Kak Potion Shop Item 6", false), - RC_OBJECT(RC_KAK_POTION_SHOP_ITEM_7, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_KAKARIKO_VILLAGE, ACTOR_EN_GIRLA, SCENE_POTION_SHOP_KAKARIKO, 0x06, GI_POE, "Potion Shop Item 7", "Kak Potion Shop Item 7", false), - RC_OBJECT(RC_KAK_POTION_SHOP_ITEM_8, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_KAKARIKO_VILLAGE, ACTOR_EN_GIRLA, SCENE_POTION_SHOP_KAKARIKO, 0x07, GI_FISH, "Potion Shop Item 8", "Kak Potion Shop Item 8", false), + RC_OBJECT(RC_KAK_POTION_SHOP_ITEM_1, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_KAKARIKO_VILLAGE, ACTOR_EN_GIRLA, SCENE_POTION_SHOP_KAKARIKO, 0x00, GI_BOTTLE_POTION_GREEN, "Potion Shop Item 1", "Kak Potion Shop Item 1", false), + RC_OBJECT(RC_KAK_POTION_SHOP_ITEM_2, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_KAKARIKO_VILLAGE, ACTOR_EN_GIRLA, SCENE_POTION_SHOP_KAKARIKO, 0x01, GI_BOTTLE_BLUE_FIRE, "Potion Shop Item 2", "Kak Potion Shop Item 2", false), + RC_OBJECT(RC_KAK_POTION_SHOP_ITEM_3, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_KAKARIKO_VILLAGE, ACTOR_EN_GIRLA, SCENE_POTION_SHOP_KAKARIKO, 0x02, GI_BOTTLE_POTION_RED, "Potion Shop Item 3", "Kak Potion Shop Item 3", false), + RC_OBJECT(RC_KAK_POTION_SHOP_ITEM_4, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_KAKARIKO_VILLAGE, ACTOR_EN_GIRLA, SCENE_POTION_SHOP_KAKARIKO, 0x03, GI_BOTTLE_FAIRY, "Potion Shop Item 4", "Kak Potion Shop Item 4", false), + RC_OBJECT(RC_KAK_POTION_SHOP_ITEM_5, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_KAKARIKO_VILLAGE, ACTOR_EN_GIRLA, SCENE_POTION_SHOP_KAKARIKO, 0x04, GI_DEKU_NUTS_5_2, "Potion Shop Item 5", "Kak Potion Shop Item 5", false), + RC_OBJECT(RC_KAK_POTION_SHOP_ITEM_6, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_KAKARIKO_VILLAGE, ACTOR_EN_GIRLA, SCENE_POTION_SHOP_KAKARIKO, 0x05, GI_BOTTLE_BUGS, "Potion Shop Item 6", "Kak Potion Shop Item 6", false), + RC_OBJECT(RC_KAK_POTION_SHOP_ITEM_7, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_KAKARIKO_VILLAGE, ACTOR_EN_GIRLA, SCENE_POTION_SHOP_KAKARIKO, 0x06, GI_BOTTLE_POE, "Potion Shop Item 7", "Kak Potion Shop Item 7", false), + RC_OBJECT(RC_KAK_POTION_SHOP_ITEM_8, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_KAKARIKO_VILLAGE, ACTOR_EN_GIRLA, SCENE_POTION_SHOP_KAKARIKO, 0x07, GI_BOTTLE_FISH, "Potion Shop Item 8", "Kak Potion Shop Item 8", false), RC_OBJECT(RC_KAK_BAZAAR_ITEM_1, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_KAKARIKO_VILLAGE, ACTOR_EN_GIRLA, SCENE_TEST01, 0x00, GI_SHIELD_HYLIAN, "Bazaar Item 1", "Kak Bazaar Item 1", false), RC_OBJECT(RC_KAK_BAZAAR_ITEM_2, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_KAKARIKO_VILLAGE, ACTOR_EN_GIRLA, SCENE_TEST01, 0x01, GI_BOMBS_5, "Bazaar Item 2", "Kak Bazaar Item 2", false), - RC_OBJECT(RC_KAK_BAZAAR_ITEM_3, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_KAKARIKO_VILLAGE, ACTOR_EN_GIRLA, SCENE_TEST01, 0x02, GI_NUTS_5_2, "Bazaar Item 3", "Kak Bazaar Item 3", false), - RC_OBJECT(RC_KAK_BAZAAR_ITEM_4, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_KAKARIKO_VILLAGE, ACTOR_EN_GIRLA, SCENE_TEST01, 0x03, GI_HEART, "Bazaar Item 4", "Kak Bazaar Item 4", false), - RC_OBJECT(RC_KAK_BAZAAR_ITEM_5, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_KAKARIKO_VILLAGE, ACTOR_EN_GIRLA, SCENE_TEST01, 0x04, GI_ARROWS_SMALL, "Bazaar Item 5", "Kak Bazaar Item 5", false), - RC_OBJECT(RC_KAK_BAZAAR_ITEM_6, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_KAKARIKO_VILLAGE, ACTOR_EN_GIRLA, SCENE_TEST01, 0x05, GI_ARROWS_LARGE, "Bazaar Item 6", "Kak Bazaar Item 6", false), - RC_OBJECT(RC_KAK_BAZAAR_ITEM_7, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_KAKARIKO_VILLAGE, ACTOR_EN_GIRLA, SCENE_TEST01, 0x06, GI_STICKS_1, "Bazaar Item 7", "Kak Bazaar Item 7", false), - RC_OBJECT(RC_KAK_BAZAAR_ITEM_8, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_KAKARIKO_VILLAGE, ACTOR_EN_GIRLA, SCENE_TEST01, 0x07, GI_ARROWS_MEDIUM, "Bazaar Item 8", "Kak Bazaar Item 8", false), + RC_OBJECT(RC_KAK_BAZAAR_ITEM_3, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_KAKARIKO_VILLAGE, ACTOR_EN_GIRLA, SCENE_TEST01, 0x02, GI_DEKU_NUTS_5_2, "Bazaar Item 3", "Kak Bazaar Item 3", false), + RC_OBJECT(RC_KAK_BAZAAR_ITEM_4, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_KAKARIKO_VILLAGE, ACTOR_EN_GIRLA, SCENE_TEST01, 0x03, GI_RECOVERY_HEART, "Bazaar Item 4", "Kak Bazaar Item 4", false), + RC_OBJECT(RC_KAK_BAZAAR_ITEM_5, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_KAKARIKO_VILLAGE, ACTOR_EN_GIRLA, SCENE_TEST01, 0x04, GI_ARROWS_5, "Bazaar Item 5", "Kak Bazaar Item 5", false), + RC_OBJECT(RC_KAK_BAZAAR_ITEM_6, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_KAKARIKO_VILLAGE, ACTOR_EN_GIRLA, SCENE_TEST01, 0x05, GI_ARROWS_30, "Bazaar Item 6", "Kak Bazaar Item 6", false), + RC_OBJECT(RC_KAK_BAZAAR_ITEM_7, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_KAKARIKO_VILLAGE, ACTOR_EN_GIRLA, SCENE_TEST01, 0x06, GI_DEKU_STICKS_1, "Bazaar Item 7", "Kak Bazaar Item 7", false), + RC_OBJECT(RC_KAK_BAZAAR_ITEM_8, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_KAKARIKO_VILLAGE, ACTOR_EN_GIRLA, SCENE_TEST01, 0x07, GI_ARROWS_10, "Bazaar Item 8", "Kak Bazaar Item 8", false), RC_OBJECT(RC_KAK_OPEN_GROTTO_GOSSIP_STONE, RCVORMQ_BOTH, RCTYPE_GOSSIP_STONE, RCAREA_KAKARIKO_VILLAGE, ACTOR_EN_GS, SCENE_GROTTOS, -22984, GI_NONE, "Open Grotto Gossip Stone", "Kak Open Grotto Gossip Stone", false), @@ -278,9 +278,9 @@ std::map rcObjects = { RC_OBJECT(RC_GC_ROLLING_GORON_AS_ADULT, RCVORMQ_BOTH, RCTYPE_STANDARD, RCAREA_GORON_CITY, ACTOR_ID_MAX, SCENE_GORON_CITY, 0x00, GI_NONE, "Rolling Goron as Adult", "GC Rolling Goron as Adult", true), RC_OBJECT(RC_GC_DARUNIAS_JOY, RCVORMQ_BOTH, RCTYPE_STANDARD, RCAREA_GORON_CITY, ACTOR_ID_MAX, SCENE_GORON_CITY, 0x00, GI_NONE, "Darunias Joy", "GC Darunias Joy", true), RC_OBJECT(RC_GC_POT_FREESTANDING_POH, RCVORMQ_BOTH, RCTYPE_STANDARD, RCAREA_GORON_CITY, ACTOR_EN_ITEM00, SCENE_GORON_CITY, 7942, GI_HEART_PIECE, "Pot Freestanding PoH", "GC Pot Freestanding PoH", true), - RC_OBJECT(RC_GC_DEKU_SCRUB_GROTTO_LEFT, RCVORMQ_BOTH, RCTYPE_SCRUB, RCAREA_GORON_CITY, ACTOR_EN_DNS, SCENE_GROTTOS, TWO_ACTOR_PARAMS(0x00,0xFB), GI_NUTS_5_2, "Deku Scrub Grotto Left", "GC Deku Scrub Grotto Left", false), + RC_OBJECT(RC_GC_DEKU_SCRUB_GROTTO_LEFT, RCVORMQ_BOTH, RCTYPE_SCRUB, RCAREA_GORON_CITY, ACTOR_EN_DNS, SCENE_GROTTOS, TWO_ACTOR_PARAMS(0x00,0xFB), GI_DEKU_NUTS_5_2, "Deku Scrub Grotto Left", "GC Deku Scrub Grotto Left", false), RC_OBJECT(RC_GC_DEKU_SCRUB_GROTTO_RIGHT, RCVORMQ_BOTH, RCTYPE_SCRUB, RCAREA_GORON_CITY, ACTOR_EN_DNS, SCENE_GROTTOS, TWO_ACTOR_PARAMS(0x05,0xFB), GI_BOMBS_5, "Deku Scrub Grotto Right", "GC Deku Scrub Grotto Right", false), - RC_OBJECT(RC_GC_DEKU_SCRUB_GROTTO_CENTER, RCVORMQ_BOTH, RCTYPE_SCRUB, RCAREA_GORON_CITY, ACTOR_EN_DNS, SCENE_GROTTOS, TWO_ACTOR_PARAMS(0x03,0xFB), GI_SEEDS_30, "Deku Scrub Grotto Center", "GC Deku Scrub Grotto Center", false), + RC_OBJECT(RC_GC_DEKU_SCRUB_GROTTO_CENTER, RCVORMQ_BOTH, RCTYPE_SCRUB, RCAREA_GORON_CITY, ACTOR_EN_DNS, SCENE_GROTTOS, TWO_ACTOR_PARAMS(0x03,0xFB), GI_DEKU_SEEDS_30, "Deku Scrub Grotto Center", "GC Deku Scrub Grotto Center", false), RC_OBJECT(RC_GC_MEDIGORON, RCVORMQ_BOTH, RCTYPE_MERCHANT, RCAREA_GORON_CITY, ACTOR_ID_MAX, SCENE_GORON_CITY, 0x00, GI_NONE, "Medigoron", "GC Medigoron", false), RC_OBJECT(RC_GC_GS_CENTER_PLATFORM, RCVORMQ_BOTH, RCTYPE_SKULL_TOKEN, RCAREA_GORON_CITY, ACTOR_EN_SI, SCENE_GORON_CITY, 12064, GI_SKULL_TOKEN, "GS Center Platform", "GC GS Center Platform", true), RC_OBJECT(RC_GC_GS_BOULDER_MAZE, RCVORMQ_BOTH, RCTYPE_SKULL_TOKEN, RCAREA_GORON_CITY, ACTOR_EN_SI, SCENE_GORON_CITY, -28864, GI_SKULL_TOKEN, "GS Boulder Maze", "GC GS Boulder Maze", true), @@ -289,9 +289,9 @@ std::map rcObjects = { RC_OBJECT(RC_GC_SHOP_ITEM_3, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_GORON_CITY, ACTOR_EN_GIRLA, SCENE_GORON_SHOP, 0x02, GI_BOMBS_20, "Shop Item 3", "GC Shop Item 3", false), RC_OBJECT(RC_GC_SHOP_ITEM_4, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_GORON_CITY, ACTOR_EN_GIRLA, SCENE_GORON_SHOP, 0x03, GI_BOMBS_30, "Shop Item 4", "GC Shop Item 4", false), RC_OBJECT(RC_GC_SHOP_ITEM_5, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_GORON_CITY, ACTOR_EN_GIRLA, SCENE_GORON_SHOP, 0x04, GI_TUNIC_GORON, "Shop Item 5", "GC Shop Item 5", false), - RC_OBJECT(RC_GC_SHOP_ITEM_6, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_GORON_CITY, ACTOR_EN_GIRLA, SCENE_GORON_SHOP, 0x05, GI_HEART, "Shop Item 6", "GC Shop Item 6", false), - RC_OBJECT(RC_GC_SHOP_ITEM_7, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_GORON_CITY, ACTOR_EN_GIRLA, SCENE_GORON_SHOP, 0x06, GI_POTION_RED, "Shop Item 7", "GC Shop Item 7", false), - RC_OBJECT(RC_GC_SHOP_ITEM_8, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_GORON_CITY, ACTOR_EN_GIRLA, SCENE_GORON_SHOP, 0x07, GI_HEART, "Shop Item 8", "GC Shop Item 8", false), + RC_OBJECT(RC_GC_SHOP_ITEM_6, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_GORON_CITY, ACTOR_EN_GIRLA, SCENE_GORON_SHOP, 0x05, GI_RECOVERY_HEART, "Shop Item 6", "GC Shop Item 6", false), + RC_OBJECT(RC_GC_SHOP_ITEM_7, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_GORON_CITY, ACTOR_EN_GIRLA, SCENE_GORON_SHOP, 0x06, GI_BOTTLE_POTION_RED, "Shop Item 7", "GC Shop Item 7", false), + RC_OBJECT(RC_GC_SHOP_ITEM_8, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_GORON_CITY, ACTOR_EN_GIRLA, SCENE_GORON_SHOP, 0x07, GI_RECOVERY_HEART, "Shop Item 8", "GC Shop Item 8", false), RC_OBJECT(RC_GC_MAZE_GOSSIP_STONE, RCVORMQ_BOTH, RCTYPE_GOSSIP_STONE, RCAREA_GORON_CITY, ACTOR_EN_GS, SCENE_GORON_CITY, 14357, GI_NONE, "Maze Gossip Stone", "GC Maze Gossip Stone", false), RC_OBJECT(RC_GC_MEDIGORON_GOSSIP_STONE, RCVORMQ_BOTH, RCTYPE_GOSSIP_STONE, RCAREA_GORON_CITY, ACTOR_EN_GS, SCENE_GORON_CITY, 14873, GI_NONE, "Medigoron Gossip Stone", "GC Medigoron Gossip Stone", false), @@ -300,9 +300,9 @@ std::map rcObjects = { RC_OBJECT(RC_DMC_WALL_FREESTANDING_POH, RCVORMQ_BOTH, RCTYPE_STANDARD, RCAREA_DEATH_MOUNTAIN_CRATER, ACTOR_EN_ITEM00, SCENE_DEATH_MOUNTAIN_CRATER, 518, GI_HEART_PIECE, "Wall Freestanding PoH", "DMC Wall Freestanding PoH", true), RC_OBJECT(RC_DMC_VOLCANO_FREESTANDING_POH, RCVORMQ_BOTH, RCTYPE_STANDARD, RCAREA_DEATH_MOUNTAIN_CRATER, ACTOR_EN_ITEM00, SCENE_DEATH_MOUNTAIN_CRATER, 2054, GI_HEART_PIECE, "Volcano Freestanding PoH", "DMC Volcano Freestanding PoH", true), RC_OBJECT(RC_DMC_DEKU_SCRUB, RCVORMQ_BOTH, RCTYPE_SCRUB, RCAREA_DEATH_MOUNTAIN_CRATER, ACTOR_EN_DNS, SCENE_DEATH_MOUNTAIN_CRATER, 0x05, GI_BOMBS_5, "Deku Scrub", "DMC Deku Scrub", false), - RC_OBJECT(RC_DMC_DEKU_SCRUB_GROTTO_LEFT, RCVORMQ_BOTH, RCTYPE_SCRUB, RCAREA_DEATH_MOUNTAIN_CRATER, ACTOR_EN_DNS, SCENE_GROTTOS, TWO_ACTOR_PARAMS(0x00,0xF9), GI_NUTS_5_2, "Deku Scrub Grotto Left", "DMC Deku Scrub Grotto Left", false), + RC_OBJECT(RC_DMC_DEKU_SCRUB_GROTTO_LEFT, RCVORMQ_BOTH, RCTYPE_SCRUB, RCAREA_DEATH_MOUNTAIN_CRATER, ACTOR_EN_DNS, SCENE_GROTTOS, TWO_ACTOR_PARAMS(0x00,0xF9), GI_DEKU_NUTS_5_2, "Deku Scrub Grotto Left", "DMC Deku Scrub Grotto Left", false), RC_OBJECT(RC_DMC_DEKU_SCRUB_GROTTO_RIGHT, RCVORMQ_BOTH, RCTYPE_SCRUB, RCAREA_DEATH_MOUNTAIN_CRATER, ACTOR_EN_DNS, SCENE_GROTTOS, TWO_ACTOR_PARAMS(0x05,0xF9), GI_BOMBS_5, "Deku Scrub Grotto Right", "DMC Deku Scrub Grotto Right", false), - RC_OBJECT(RC_DMC_DEKU_SCRUB_GROTTO_CENTER, RCVORMQ_BOTH, RCTYPE_SCRUB, RCAREA_DEATH_MOUNTAIN_CRATER, ACTOR_EN_DNS, SCENE_GROTTOS, TWO_ACTOR_PARAMS(0x03,0xF9), GI_SEEDS_30, "Deku Scrub Grotto Center", "DMC Deku Scrub Grotto Center", false), + RC_OBJECT(RC_DMC_DEKU_SCRUB_GROTTO_CENTER, RCVORMQ_BOTH, RCTYPE_SCRUB, RCAREA_DEATH_MOUNTAIN_CRATER, ACTOR_EN_DNS, SCENE_GROTTOS, TWO_ACTOR_PARAMS(0x03,0xF9), GI_DEKU_SEEDS_30, "Deku Scrub Grotto Center", "DMC Deku Scrub Grotto Center", false), RC_OBJECT(RC_DMC_GS_BEAN_PATCH, RCVORMQ_BOTH, RCTYPE_SKULL_TOKEN, RCAREA_DEATH_MOUNTAIN_CRATER, ACTOR_EN_SI, SCENE_DEATH_MOUNTAIN_CRATER, 28417, GI_SKULL_TOKEN, "GS Bean Patch", "DMC GS Bean Patch", true), RC_OBJECT(RC_DMC_GS_CRATE, RCVORMQ_BOTH, RCTYPE_SKULL_TOKEN, RCAREA_DEATH_MOUNTAIN_CRATER, ACTOR_EN_SI, SCENE_DEATH_MOUNTAIN_CRATER, -28800, GI_SKULL_TOKEN, "GS Crate", "DMC GS Crate", true), RC_OBJECT(RC_DMC_GREAT_FAIRY_REWARD, RCVORMQ_BOTH, RCTYPE_STANDARD, RCAREA_DEATH_MOUNTAIN_CRATER, ACTOR_BG_DY_YOSEIZO,SCENE_GREAT_FAIRYS_FOUNTAIN_MAGIC, 2, GI_NONE, "Great Fairy Reward", "DMC Great Fairy Reward", true), @@ -322,8 +322,8 @@ std::map rcObjects = { RC_OBJECT(RC_ZR_FROGS_OCARINA_GAME, RCVORMQ_BOTH, RCTYPE_STANDARD, RCAREA_ZORAS_RIVER, ACTOR_EN_FR, SCENE_ZORAS_RIVER, 0x00, GI_HEART_PIECE, "Frogs Ocarina Game", "ZR Frogs Ocarina Game", true), RC_OBJECT(RC_ZR_NEAR_OPEN_GROTTO_FREESTANDING_POH, RCVORMQ_BOTH, RCTYPE_STANDARD, RCAREA_ZORAS_RIVER, ACTOR_EN_ITEM00, SCENE_ZORAS_RIVER, 1030, GI_HEART_PIECE, "Near Open Grotto Freestanding PoH", "ZR Near Open Grotto Freestanding PoH", true), RC_OBJECT(RC_ZR_NEAR_DOMAIN_FREESTANDING_POH, RCVORMQ_BOTH, RCTYPE_STANDARD, RCAREA_ZORAS_RIVER, ACTOR_EN_ITEM00, SCENE_ZORAS_RIVER, 2822, GI_HEART_PIECE, "Near Domain Freestanding PoH", "ZR Near Domain Freestanding PoH", true), - RC_OBJECT(RC_ZR_DEKU_SCRUB_GROTTO_REAR, RCVORMQ_BOTH, RCTYPE_SCRUB, RCAREA_ZORAS_RIVER, ACTOR_EN_DNS, SCENE_GROTTOS, TWO_ACTOR_PARAMS(0x07,0xEB), GI_POTION_RED, "Deku Scrub Grotto Rear", "ZR Deku Scrub Grotto Rear", false), - RC_OBJECT(RC_ZR_DEKU_SCRUB_GROTTO_FRONT, RCVORMQ_BOTH, RCTYPE_SCRUB, RCAREA_ZORAS_RIVER, ACTOR_EN_DNS, SCENE_GROTTOS, TWO_ACTOR_PARAMS(0x08,0xEB), GI_POTION_GREEN, "Deku Scrub Grotto Front", "ZR Deku Scrub Grotto Front", false), + RC_OBJECT(RC_ZR_DEKU_SCRUB_GROTTO_REAR, RCVORMQ_BOTH, RCTYPE_SCRUB, RCAREA_ZORAS_RIVER, ACTOR_EN_DNS, SCENE_GROTTOS, TWO_ACTOR_PARAMS(0x07,0xEB), GI_BOTTLE_POTION_RED, "Deku Scrub Grotto Rear", "ZR Deku Scrub Grotto Rear", false), + RC_OBJECT(RC_ZR_DEKU_SCRUB_GROTTO_FRONT, RCVORMQ_BOTH, RCTYPE_SCRUB, RCAREA_ZORAS_RIVER, ACTOR_EN_DNS, SCENE_GROTTOS, TWO_ACTOR_PARAMS(0x08,0xEB), GI_BOTTLE_POTION_GREEN, "Deku Scrub Grotto Front", "ZR Deku Scrub Grotto Front", false), RC_OBJECT(RC_ZR_GS_LADDER, RCVORMQ_BOTH, RCTYPE_SKULL_TOKEN, RCAREA_ZORAS_RIVER, ACTOR_EN_SI, SCENE_ZORAS_RIVER, 20737, GI_SKULL_TOKEN, "GS Ladder", "ZR GS Ladder", true), RC_OBJECT(RC_ZR_GS_TREE, RCVORMQ_BOTH, RCTYPE_SKULL_TOKEN, RCAREA_ZORAS_RIVER, ACTOR_EN_SI, SCENE_ZORAS_RIVER, -28414, GI_SKULL_TOKEN, "GS Tree", "ZR GS Tree", true), RC_OBJECT(RC_ZR_GS_ABOVE_BRIDGE, RCVORMQ_BOTH, RCTYPE_SKULL_TOKEN, RCAREA_ZORAS_RIVER, ACTOR_EN_SI, SCENE_ZORAS_RIVER, 20744, GI_SKULL_TOKEN, "GS Above Bridge", "ZR GS Above Bridge", true), @@ -339,13 +339,13 @@ std::map rcObjects = { RC_OBJECT(RC_ZD_TRADE_PRESCRIPTION, RCVORMQ_BOTH, RCTYPE_ADULT_TRADE, RCAREA_ZORAS_DOMAIN, ACTOR_ID_MAX, SCENE_ZORAS_DOMAIN, 0x00, GI_NONE, "Trade Prescription", "ZD Trade Prescription", true), RC_OBJECT(RC_ZD_GS_FROZEN_WATERFALL, RCVORMQ_BOTH, RCTYPE_SKULL_TOKEN, RCAREA_ZORAS_DOMAIN, ACTOR_EN_SI, SCENE_ZORAS_DOMAIN, 20800, GI_SKULL_TOKEN, "GS Frozen Waterfall", "ZD GS Frozen Waterfall", true), RC_OBJECT(RC_ZD_SHOP_ITEM_1, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_ZORAS_DOMAIN, ACTOR_EN_GIRLA, SCENE_ZORA_SHOP, 0x00, GI_TUNIC_ZORA, "Shop Item 1", "ZD Shop Item 1", false), - RC_OBJECT(RC_ZD_SHOP_ITEM_2, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_ZORAS_DOMAIN, ACTOR_EN_GIRLA, SCENE_ZORA_SHOP, 0x01, GI_ARROWS_SMALL, "Shop Item 2", "ZD Shop Item 2", false), - RC_OBJECT(RC_ZD_SHOP_ITEM_3, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_ZORAS_DOMAIN, ACTOR_EN_GIRLA, SCENE_ZORA_SHOP, 0x02, GI_HEART, "Shop Item 3", "ZD Shop Item 3", false), - RC_OBJECT(RC_ZD_SHOP_ITEM_4, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_ZORAS_DOMAIN, ACTOR_EN_GIRLA, SCENE_ZORA_SHOP, 0x03, GI_ARROWS_MEDIUM, "Shop Item 4", "ZD Shop Item 4", false), - RC_OBJECT(RC_ZD_SHOP_ITEM_5, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_ZORAS_DOMAIN, ACTOR_EN_GIRLA, SCENE_ZORA_SHOP, 0x04, GI_NUTS_5_2, "Shop Item 5", "ZD Shop Item 5", false), - RC_OBJECT(RC_ZD_SHOP_ITEM_6, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_ZORAS_DOMAIN, ACTOR_EN_GIRLA, SCENE_ZORA_SHOP, 0x05, GI_ARROWS_LARGE, "Shop Item 6", "ZD Shop Item 6", false), - RC_OBJECT(RC_ZD_SHOP_ITEM_7, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_ZORAS_DOMAIN, ACTOR_EN_GIRLA, SCENE_ZORA_SHOP, 0x06, GI_FISH, "Shop Item 7", "ZD Shop Item 7", false), - RC_OBJECT(RC_ZD_SHOP_ITEM_8, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_ZORAS_DOMAIN, ACTOR_EN_GIRLA, SCENE_ZORA_SHOP, 0x07, GI_POTION_RED, "Shop Item 8", "ZD Shop Item 8", false), + RC_OBJECT(RC_ZD_SHOP_ITEM_2, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_ZORAS_DOMAIN, ACTOR_EN_GIRLA, SCENE_ZORA_SHOP, 0x01, GI_ARROWS_5, "Shop Item 2", "ZD Shop Item 2", false), + RC_OBJECT(RC_ZD_SHOP_ITEM_3, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_ZORAS_DOMAIN, ACTOR_EN_GIRLA, SCENE_ZORA_SHOP, 0x02, GI_RECOVERY_HEART, "Shop Item 3", "ZD Shop Item 3", false), + RC_OBJECT(RC_ZD_SHOP_ITEM_4, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_ZORAS_DOMAIN, ACTOR_EN_GIRLA, SCENE_ZORA_SHOP, 0x03, GI_ARROWS_10, "Shop Item 4", "ZD Shop Item 4", false), + RC_OBJECT(RC_ZD_SHOP_ITEM_5, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_ZORAS_DOMAIN, ACTOR_EN_GIRLA, SCENE_ZORA_SHOP, 0x04, GI_DEKU_NUTS_5_2, "Shop Item 5", "ZD Shop Item 5", false), + RC_OBJECT(RC_ZD_SHOP_ITEM_6, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_ZORAS_DOMAIN, ACTOR_EN_GIRLA, SCENE_ZORA_SHOP, 0x05, GI_ARROWS_30, "Shop Item 6", "ZD Shop Item 6", false), + RC_OBJECT(RC_ZD_SHOP_ITEM_7, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_ZORAS_DOMAIN, ACTOR_EN_GIRLA, SCENE_ZORA_SHOP, 0x06, GI_BOTTLE_FISH, "Shop Item 7", "ZD Shop Item 7", false), + RC_OBJECT(RC_ZD_SHOP_ITEM_8, RCVORMQ_BOTH, RCTYPE_SHOP, RCAREA_ZORAS_DOMAIN, ACTOR_EN_GIRLA, SCENE_ZORA_SHOP, 0x07, GI_BOTTLE_POTION_RED, "Shop Item 8", "ZD Shop Item 8", false), RC_OBJECT(RC_ZD_GOSSIP_STONE, RCVORMQ_BOTH, RCTYPE_GOSSIP_STONE, RCAREA_ZORAS_DOMAIN, ACTOR_EN_GS, SCENE_ZORAS_DOMAIN, 14345, GI_NONE, "Gossip Stone", "ZD Gossip Stone", false), @@ -361,9 +361,9 @@ std::map rcObjects = { RC_OBJECT(RC_LLR_TALONS_CHICKENS, RCVORMQ_BOTH, RCTYPE_STANDARD, RCAREA_LON_LON_RANCH, ACTOR_ID_MAX, SCENE_LON_LON_BUILDINGS, 0x00, GI_NONE, "Talons Chickens", "LLR Talons Chickens", true), RC_OBJECT(RC_LLR_FREESTANDING_POH, RCVORMQ_BOTH, RCTYPE_STANDARD, RCAREA_LON_LON_RANCH, ACTOR_EN_ITEM00, SCENE_LON_LON_BUILDINGS, 262, GI_HEART_PIECE, "Freestanding PoH", "LLR Freestanding PoH", true), - RC_OBJECT(RC_LLR_DEKU_SCRUB_GROTTO_LEFT, RCVORMQ_BOTH, RCTYPE_SCRUB, RCAREA_LON_LON_RANCH, ACTOR_EN_DNS, SCENE_GROTTOS, TWO_ACTOR_PARAMS(0x00,0xFC), GI_NUTS_5_2, "Deku Scrub Grotto Left", "LLR Deku Scrub Grotto Left", false), + RC_OBJECT(RC_LLR_DEKU_SCRUB_GROTTO_LEFT, RCVORMQ_BOTH, RCTYPE_SCRUB, RCAREA_LON_LON_RANCH, ACTOR_EN_DNS, SCENE_GROTTOS, TWO_ACTOR_PARAMS(0x00,0xFC), GI_DEKU_NUTS_5_2, "Deku Scrub Grotto Left", "LLR Deku Scrub Grotto Left", false), RC_OBJECT(RC_LLR_DEKU_SCRUB_GROTTO_RIGHT, RCVORMQ_BOTH, RCTYPE_SCRUB, RCAREA_LON_LON_RANCH, ACTOR_EN_DNS, SCENE_GROTTOS, TWO_ACTOR_PARAMS(0x05,0xFC), GI_BOMBS_5, "Deku Scrub Grotto Right", "LLR Deku Scrub Grotto Right", false), - RC_OBJECT(RC_LLR_DEKU_SCRUB_GROTTO_CENTER, RCVORMQ_BOTH, RCTYPE_SCRUB, RCAREA_LON_LON_RANCH, ACTOR_EN_DNS, SCENE_GROTTOS, TWO_ACTOR_PARAMS(0x03,0xFC), GI_SEEDS_30, "Deku Scrub Grotto Center", "LLR Deku Scrub Grotto Center", false), + RC_OBJECT(RC_LLR_DEKU_SCRUB_GROTTO_CENTER, RCVORMQ_BOTH, RCTYPE_SCRUB, RCAREA_LON_LON_RANCH, ACTOR_EN_DNS, SCENE_GROTTOS, TWO_ACTOR_PARAMS(0x03,0xFC), GI_DEKU_SEEDS_30, "Deku Scrub Grotto Center", "LLR Deku Scrub Grotto Center", false), RC_OBJECT(RC_LLR_GS_BACK_WALL, RCVORMQ_BOTH, RCTYPE_SKULL_TOKEN, RCAREA_LON_LON_RANCH, ACTOR_EN_SI, SCENE_LON_LON_RANCH, 11009, GI_SKULL_TOKEN, "GS Back Wall", "LLR GS Back Wall", true), RC_OBJECT(RC_LLR_GS_RAIN_SHED, RCVORMQ_BOTH, RCTYPE_SKULL_TOKEN, RCAREA_LON_LON_RANCH, ACTOR_EN_SI, SCENE_LON_LON_RANCH, 11010, GI_SKULL_TOKEN, "GS Rain Shed", "LLR GS Rain Shed", true), RC_OBJECT(RC_LLR_GS_HOUSE_WINDOW, RCVORMQ_BOTH, RCTYPE_SKULL_TOKEN, RCAREA_LON_LON_RANCH, ACTOR_EN_SI, SCENE_LON_LON_RANCH, 11012, GI_SKULL_TOKEN, "GS House Window", "LLR GS House Window", true), @@ -375,18 +375,18 @@ std::map rcObjects = { RC_OBJECT(RC_LLR_TOWER_RIGHT_COW, RCVORMQ_BOTH, RCTYPE_COW, RCAREA_LON_LON_RANCH, ACTOR_EN_COW, SCENE_LON_LON_BUILDINGS, TWO_ACTOR_PARAMS(-142,-140), GI_MILK, "Tower Right Cow", "LLR Tower Right Cow", false), - RC_OBJECT(RC_DEKU_TREE_MAP_CHEST, RCVORMQ_VANILLA, RCTYPE_MAP_COMPASS, RCAREA_DEKU_TREE, ACTOR_EN_BOX, SCENE_DEKU_TREE, 2083, GI_MAP, "Map Chest", "Deku Tree Map Chest", true), + RC_OBJECT(RC_DEKU_TREE_MAP_CHEST, RCVORMQ_VANILLA, RCTYPE_MAP_COMPASS, RCAREA_DEKU_TREE, ACTOR_EN_BOX, SCENE_DEKU_TREE, 2083, GI_DUNGEON_MAP, "Map Chest", "Deku Tree Map Chest", true), RC_OBJECT(RC_DEKU_TREE_COMPASS_CHEST, RCVORMQ_VANILLA, RCTYPE_MAP_COMPASS, RCAREA_DEKU_TREE, ACTOR_EN_BOX, SCENE_DEKU_TREE, 2050, GI_COMPASS, "Compass Chest", "Deku Tree Compass Chest", true), - RC_OBJECT(RC_DEKU_TREE_COMPASS_ROOM_SIDE_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_DEKU_TREE, ACTOR_EN_BOX, SCENE_DEKU_TREE, 22790, GI_HEART, "Compass Room Side Chest", "Deku Tree Compass Room Side Chest", false), - RC_OBJECT(RC_DEKU_TREE_BASEMENT_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_DEKU_TREE, ACTOR_EN_BOX, SCENE_DEKU_TREE, 22788, GI_HEART, "Basement Chest", "Deku Tree Basement Chest", false), + RC_OBJECT(RC_DEKU_TREE_COMPASS_ROOM_SIDE_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_DEKU_TREE, ACTOR_EN_BOX, SCENE_DEKU_TREE, 22790, GI_RECOVERY_HEART, "Compass Room Side Chest", "Deku Tree Compass Room Side Chest", false), + RC_OBJECT(RC_DEKU_TREE_BASEMENT_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_DEKU_TREE, ACTOR_EN_BOX, SCENE_DEKU_TREE, 22788, GI_RECOVERY_HEART, "Basement Chest", "Deku Tree Basement Chest", false), RC_OBJECT(RC_DEKU_TREE_SLINGSHOT_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_DEKU_TREE, ACTOR_EN_BOX, SCENE_DEKU_TREE, 161, GI_SLINGSHOT, "Slingshot Chest", "Deku Tree Slingshot Chest", true), - RC_OBJECT(RC_DEKU_TREE_SLINGSHOT_ROOM_SIDE_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_DEKU_TREE, ACTOR_EN_BOX, SCENE_DEKU_TREE, 22789, GI_HEART, "Slingshot Room Side Chest", "Deku Tree Slingshot Room Side Chest", false), - RC_OBJECT(RC_DEKU_TREE_MQ_MAP_CHEST, RCVORMQ_MQ, RCTYPE_MAP_COMPASS, RCAREA_DEKU_TREE, ACTOR_EN_BOX, SCENE_DEKU_TREE, 2083, GI_MAP, "MQ Map Chest", "Deku Tree MQ Map Chest", true), + RC_OBJECT(RC_DEKU_TREE_SLINGSHOT_ROOM_SIDE_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_DEKU_TREE, ACTOR_EN_BOX, SCENE_DEKU_TREE, 22789, GI_RECOVERY_HEART, "Slingshot Room Side Chest", "Deku Tree Slingshot Room Side Chest", false), + RC_OBJECT(RC_DEKU_TREE_MQ_MAP_CHEST, RCVORMQ_MQ, RCTYPE_MAP_COMPASS, RCAREA_DEKU_TREE, ACTOR_EN_BOX, SCENE_DEKU_TREE, 2083, GI_DUNGEON_MAP, "MQ Map Chest", "Deku Tree MQ Map Chest", true), RC_OBJECT(RC_DEKU_TREE_MQ_COMPASS_CHEST, RCVORMQ_MQ, RCTYPE_MAP_COMPASS, RCAREA_DEKU_TREE, ACTOR_EN_BOX, SCENE_DEKU_TREE, 2049, GI_COMPASS, "MQ Compass Chest", "Deku Tree MQ Compass Chest", true), RC_OBJECT(RC_DEKU_TREE_MQ_SLINGSHOT_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_DEKU_TREE, ACTOR_EN_BOX, SCENE_DEKU_TREE, 4262, GI_SLINGSHOT, "MQ Slingshot Chest", "Deku Tree MQ Slingshot Chest", true), RC_OBJECT(RC_DEKU_TREE_MQ_SLINGSHOT_ROOM_BACK_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_DEKU_TREE, ACTOR_EN_BOX, SCENE_DEKU_TREE, -31454, GI_SHIELD_DEKU, "MQ Slingshot Room Back Chest", "Deku Tree MQ Slingshot Room Back Chest", false), RC_OBJECT(RC_DEKU_TREE_MQ_BASEMENT_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_DEKU_TREE, ACTOR_EN_BOX, SCENE_DEKU_TREE, -31452, GI_SHIELD_DEKU, "MQ Basement Chest", "Deku Tree MQ Basement Chest", false), - RC_OBJECT(RC_DEKU_TREE_MQ_BEFORE_SPINNING_LOG_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_DEKU_TREE, ACTOR_EN_BOX, SCENE_DEKU_TREE, 22789, GI_HEART, "MQ Before Spinning Log Chest", "Deku Tree MQ Before Spinning Log Chest", false), + RC_OBJECT(RC_DEKU_TREE_MQ_BEFORE_SPINNING_LOG_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_DEKU_TREE, ACTOR_EN_BOX, SCENE_DEKU_TREE, 22789, GI_RECOVERY_HEART, "MQ Before Spinning Log Chest", "Deku Tree MQ Before Spinning Log Chest", false), RC_OBJECT(RC_DEKU_TREE_MQ_AFTER_SPINNING_LOG_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_DEKU_TREE, ACTOR_EN_BOX, SCENE_DEKU_TREE, 23200, GI_RUPEE_PURPLE, "MQ After Spinning Log Chest", "Deku Tree MQ After Spinning Log Chest", false), RC_OBJECT(RC_DEKU_TREE_MQ_DEKU_SCRUB, RCVORMQ_MQ, RCTYPE_SCRUB, RCAREA_DEKU_TREE, ACTOR_EN_DNS, SCENE_DEKU_TREE, 0x04, GI_SHIELD_DEKU, "MQ Deku Scrub", "Deku Tree MQ Deku Scrub", false), RC_OBJECT(RC_DEKU_TREE_GS_BASEMENT_BACK_ROOM, RCVORMQ_VANILLA, RCTYPE_SKULL_TOKEN, RCAREA_DEKU_TREE, ACTOR_EN_SI, SCENE_DEKU_TREE, 8193, GI_SKULL_TOKEN, "GS Basement Back Room", "Deku Tree GS Basement Back Room", true), @@ -402,25 +402,25 @@ std::map rcObjects = { RC_OBJECT(RC_DODONGOS_CAVERN_BOSS_ROOM_CHEST, RCVORMQ_BOTH, RCTYPE_STANDARD, RCAREA_DODONGOS_CAVERN, ACTOR_EN_BOX, SCENE_DODONGOS_CAVERN_BOSS, 20512, GI_BOMBS_5, "Boss Room Chest", "Dodongos Cavern Boss Room Chest", false), - RC_OBJECT(RC_DODONGOS_CAVERN_MAP_CHEST, RCVORMQ_VANILLA, RCTYPE_MAP_COMPASS, RCAREA_DODONGOS_CAVERN, ACTOR_EN_BOX, SCENE_DODONGOS_CAVERN, 2088, GI_MAP, "Map Chest", "Dodongos Cavern Map Chest", true), + RC_OBJECT(RC_DODONGOS_CAVERN_MAP_CHEST, RCVORMQ_VANILLA, RCTYPE_MAP_COMPASS, RCAREA_DODONGOS_CAVERN, ACTOR_EN_BOX, SCENE_DODONGOS_CAVERN, 2088, GI_DUNGEON_MAP, "Map Chest", "Dodongos Cavern Map Chest", true), RC_OBJECT(RC_DODONGOS_CAVERN_COMPASS_CHEST, RCVORMQ_VANILLA, RCTYPE_MAP_COMPASS, RCAREA_DODONGOS_CAVERN, ACTOR_EN_BOX, SCENE_DODONGOS_CAVERN, 2053, GI_COMPASS, "Compass Chest", "Dodongos Cavern Compass Chest", true), RC_OBJECT(RC_DODONGOS_CAVERN_BOMB_FLOWER_PLATFORM_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_DODONGOS_CAVERN, ACTOR_EN_BOX, SCENE_DODONGOS_CAVERN, 22982, GI_RUPEE_RED, "Bomb Flower Platform Chest", "Dodongos Cavern Bomb Flower Platform Chest", false), RC_OBJECT(RC_DODONGOS_CAVERN_BOMB_BAG_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_DODONGOS_CAVERN, ACTOR_EN_BOX, SCENE_DODONGOS_CAVERN, 1604, GI_BOMB_BAG_20, "Bomb Bag Chest", "Dodongos Cavern Bomb Bag Chest", true), RC_OBJECT(RC_DODONGOS_CAVERN_END_OF_BRIDGE_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_DODONGOS_CAVERN, ACTOR_EN_BOX, SCENE_DODONGOS_CAVERN, 21802, GI_SHIELD_DEKU, "End Of Bridge Chest", "Dodongos Cavern End Of Bridge Chest", false), - RC_OBJECT(RC_DODONGOS_CAVERN_DEKU_SCRUB_NEAR_BOMB_BAG_LEFT, RCVORMQ_VANILLA, RCTYPE_SCRUB, RCAREA_DODONGOS_CAVERN, ACTOR_EN_DNS, SCENE_DODONGOS_CAVERN, 0x00, GI_NUTS_5_2, "Deku Scrub Near Bomb Bag Left", "Dodongos Cavern Deku Scrub Near Bomb Bag Left", false), - RC_OBJECT(RC_DODONGOS_CAVERN_DEKU_SCRUB_SIDE_ROOM_NEAR_DODONGOS, RCVORMQ_VANILLA, RCTYPE_SCRUB, RCAREA_DODONGOS_CAVERN, ACTOR_EN_DNS, SCENE_DODONGOS_CAVERN, 0x01, GI_STICKS_1, "Deku Scrub Side Room Near Dodongos", "Dodongos Cavern Deku Scrub Side Room Near Dodongos", false), - RC_OBJECT(RC_DODONGOS_CAVERN_DEKU_SCRUB_NEAR_BOMB_BAG_RIGHT, RCVORMQ_VANILLA, RCTYPE_SCRUB, RCAREA_DODONGOS_CAVERN, ACTOR_EN_DNS, SCENE_DODONGOS_CAVERN, 0x03, GI_SEEDS_30, "Deku Scrub Near Bomb Bag Right", "Dodongos Cavern Deku Scrub Near Bomb Bag Right", false), + RC_OBJECT(RC_DODONGOS_CAVERN_DEKU_SCRUB_NEAR_BOMB_BAG_LEFT, RCVORMQ_VANILLA, RCTYPE_SCRUB, RCAREA_DODONGOS_CAVERN, ACTOR_EN_DNS, SCENE_DODONGOS_CAVERN, 0x00, GI_DEKU_NUTS_5_2, "Deku Scrub Near Bomb Bag Left", "Dodongos Cavern Deku Scrub Near Bomb Bag Left", false), + RC_OBJECT(RC_DODONGOS_CAVERN_DEKU_SCRUB_SIDE_ROOM_NEAR_DODONGOS, RCVORMQ_VANILLA, RCTYPE_SCRUB, RCAREA_DODONGOS_CAVERN, ACTOR_EN_DNS, SCENE_DODONGOS_CAVERN, 0x01, GI_DEKU_STICKS_1, "Deku Scrub Side Room Near Dodongos", "Dodongos Cavern Deku Scrub Side Room Near Dodongos", false), + RC_OBJECT(RC_DODONGOS_CAVERN_DEKU_SCRUB_NEAR_BOMB_BAG_RIGHT, RCVORMQ_VANILLA, RCTYPE_SCRUB, RCAREA_DODONGOS_CAVERN, ACTOR_EN_DNS, SCENE_DODONGOS_CAVERN, 0x03, GI_DEKU_SEEDS_30, "Deku Scrub Near Bomb Bag Right", "Dodongos Cavern Deku Scrub Near Bomb Bag Right", false), RC_OBJECT(RC_DODONGOS_CAVERN_DEKU_SCRUB_LOBBY, RCVORMQ_VANILLA, RCTYPE_SCRUB, RCAREA_DODONGOS_CAVERN, ACTOR_EN_DNS, SCENE_DODONGOS_CAVERN, 0x04, GI_SHIELD_DEKU, "Deku Scrub Lobby", "Dodongos Cavern Deku Scrub Lobby", false), - RC_OBJECT(RC_DODONGOS_CAVERN_MQ_MAP_CHEST, RCVORMQ_MQ, RCTYPE_MAP_COMPASS, RCAREA_DODONGOS_CAVERN, ACTOR_EN_BOX, SCENE_DODONGOS_CAVERN, 2080, GI_MAP, "MQ Map Chest", "Dodongos Cavern MQ Map Chest", true), + RC_OBJECT(RC_DODONGOS_CAVERN_MQ_MAP_CHEST, RCVORMQ_MQ, RCTYPE_MAP_COMPASS, RCAREA_DODONGOS_CAVERN, ACTOR_EN_BOX, SCENE_DODONGOS_CAVERN, 2080, GI_DUNGEON_MAP, "MQ Map Chest", "Dodongos Cavern MQ Map Chest", true), RC_OBJECT(RC_DODONGOS_CAVERN_MQ_BOMB_BAG_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_DODONGOS_CAVERN, ACTOR_EN_BOX, SCENE_DODONGOS_CAVERN, 1604, GI_BOMB_BAG_20, "MQ Bomb Bag Chest", "Dodongos Cavern MQ Bomb Bag Chest", true), RC_OBJECT(RC_DODONGOS_CAVERN_MQ_COMPASS_CHEST, RCVORMQ_MQ, RCTYPE_MAP_COMPASS, RCAREA_DODONGOS_CAVERN, ACTOR_EN_BOX, SCENE_DODONGOS_CAVERN, 6149, GI_COMPASS, "MQ Compass Chest", "Dodongos Cavern MQ Compass Chest", true), RC_OBJECT(RC_DODONGOS_CAVERN_MQ_LARVAE_ROOM_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_DODONGOS_CAVERN, ACTOR_EN_BOX, SCENE_DODONGOS_CAVERN, 29986, GI_SHIELD_DEKU, "MQ Larvae Room Chest", "Dodongos Cavern MQ Larvae Room Chest", false), RC_OBJECT(RC_DODONGOS_CAVERN_MQ_TORCH_PUZZLE_ROOM_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_DODONGOS_CAVERN, ACTOR_EN_BOX, SCENE_DODONGOS_CAVERN, 22947, GI_RUPEE_BLUE, "MQ Torch Puzzle Room Chest", "Dodongos Cavern MQ Torch Puzzle Room Chest", false), RC_OBJECT(RC_DODONGOS_CAVERN_MQ_UNDER_GRAVE_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_DODONGOS_CAVERN, ACTOR_EN_BOX, SCENE_DODONGOS_CAVERN, 21825, GI_SHIELD_HYLIAN, "MQ Under Grave Chest", "Dodongos Cavern MQ Under Grave Chest", false), - RC_OBJECT(RC_DODONGOS_CAVERN_MQ_DEKU_SCRUB_LOBBY_REAR, RCVORMQ_MQ, RCTYPE_SCRUB, RCAREA_DODONGOS_CAVERN, ACTOR_EN_DNS, SCENE_DODONGOS_CAVERN, 0x01, GI_STICKS_1, "MQ Deku Scrub Lobby Rear", "Dodongos Cavern Deku Scrub Lobby Rear", false), - RC_OBJECT(RC_DODONGOS_CAVERN_MQ_DEKU_SCRUB_LOBBY_FRONT, RCVORMQ_MQ, RCTYPE_SCRUB, RCAREA_DODONGOS_CAVERN, ACTOR_EN_DNS, SCENE_DODONGOS_CAVERN, 0x03, GI_SEEDS_30, "MQ Deku Scrub Lobby Front", "Dodongos Cavern Deku Scrub Lobby Front", false), + RC_OBJECT(RC_DODONGOS_CAVERN_MQ_DEKU_SCRUB_LOBBY_REAR, RCVORMQ_MQ, RCTYPE_SCRUB, RCAREA_DODONGOS_CAVERN, ACTOR_EN_DNS, SCENE_DODONGOS_CAVERN, 0x01, GI_DEKU_STICKS_1, "MQ Deku Scrub Lobby Rear", "Dodongos Cavern Deku Scrub Lobby Rear", false), + RC_OBJECT(RC_DODONGOS_CAVERN_MQ_DEKU_SCRUB_LOBBY_FRONT, RCVORMQ_MQ, RCTYPE_SCRUB, RCAREA_DODONGOS_CAVERN, ACTOR_EN_DNS, SCENE_DODONGOS_CAVERN, 0x03, GI_DEKU_SEEDS_30, "MQ Deku Scrub Lobby Front", "Dodongos Cavern Deku Scrub Lobby Front", false), RC_OBJECT(RC_DODONGOS_CAVERN_MQ_DEKU_SCRUB_STAIRCASE, RCVORMQ_MQ, RCTYPE_SCRUB, RCAREA_DODONGOS_CAVERN, ACTOR_EN_DNS, SCENE_DODONGOS_CAVERN, 0x04, GI_SHIELD_DEKU, "MQ Deku Scrub Staircase", "Dodongos Cavern Deku Scrub Staircase", false), - RC_OBJECT(RC_DODONGOS_CAVERN_MQ_DEKU_SCRUB_SIDE_ROOM_NEAR_LOWER_LIZALFOS, RCVORMQ_MQ, RCTYPE_SCRUB, RCAREA_DODONGOS_CAVERN, ACTOR_EN_DNS, SCENE_DODONGOS_CAVERN, 0x07, GI_POTION_RED, "MQ Deku Scrub Side Room Near Lower Lizalfos", "Dodongos Cavern Deku Scrub Side Room Near Lower Lizalfos", false), + RC_OBJECT(RC_DODONGOS_CAVERN_MQ_DEKU_SCRUB_SIDE_ROOM_NEAR_LOWER_LIZALFOS, RCVORMQ_MQ, RCTYPE_SCRUB, RCAREA_DODONGOS_CAVERN, ACTOR_EN_DNS, SCENE_DODONGOS_CAVERN, 0x07, GI_BOTTLE_POTION_RED, "MQ Deku Scrub Side Room Near Lower Lizalfos", "Dodongos Cavern Deku Scrub Side Room Near Lower Lizalfos", false), RC_OBJECT(RC_DODONGOS_CAVERN_GS_VINES_ABOVE_STAIRS, RCVORMQ_VANILLA, RCTYPE_SKULL_TOKEN, RCAREA_DODONGOS_CAVERN, ACTOR_EN_SI, SCENE_DODONGOS_CAVERN, 8449, GI_SKULL_TOKEN, "GS Vines Above Stairs", "Dodongos Cavern GS Vines Above Stairs", true), RC_OBJECT(RC_DODONGOS_CAVERN_GS_SCARECROW, RCVORMQ_VANILLA, RCTYPE_SKULL_TOKEN, RCAREA_DODONGOS_CAVERN, ACTOR_EN_SI, SCENE_DODONGOS_CAVERN, 8450, GI_SKULL_TOKEN, "GS Scarecrow", "Dodongos Cavern GS Scarecrow", true), RC_OBJECT(RC_DODONGOS_CAVERN_GS_ALCOVE_ABOVE_STAIRS, RCVORMQ_VANILLA, RCTYPE_SKULL_TOKEN, RCAREA_DODONGOS_CAVERN, ACTOR_EN_SI, SCENE_DODONGOS_CAVERN, 8452, GI_SKULL_TOKEN, "GS Alcove Above Stairs", "Dodongos Cavern GS Alcove Above Stairs", true), @@ -436,20 +436,20 @@ std::map rcObjects = { RC_OBJECT(RC_DODONGOS_CAVERN_GOSSIP_STONE, RCVORMQ_VANILLA, RCTYPE_GOSSIP_STONE, RCAREA_DODONGOS_CAVERN, ACTOR_EN_GS, SCENE_DODONGOS_CAVERN, 4372, GI_NONE, "Gossip Stone", "Dodongo's Cavern Gossip Stone", false), - RC_OBJECT(RC_JABU_JABUS_BELLY_MAP_CHEST, RCVORMQ_VANILLA, RCTYPE_MAP_COMPASS, RCAREA_JABU_JABUS_BELLY, ACTOR_EN_BOX, SCENE_JABU_JABU, 6178, GI_MAP, "Map Chest", "Jabu Jabus Belly Map Chest", true), + RC_OBJECT(RC_JABU_JABUS_BELLY_MAP_CHEST, RCVORMQ_VANILLA, RCTYPE_MAP_COMPASS, RCAREA_JABU_JABUS_BELLY, ACTOR_EN_BOX, SCENE_JABU_JABU, 6178, GI_DUNGEON_MAP, "Map Chest", "Jabu Jabus Belly Map Chest", true), RC_OBJECT(RC_JABU_JABUS_BELLY_COMPASS_CHEST, RCVORMQ_VANILLA, RCTYPE_MAP_COMPASS, RCAREA_JABU_JABUS_BELLY, ACTOR_EN_BOX, SCENE_JABU_JABU, -18428, GI_COMPASS, "Compass Chest", "Jabu Jabus Belly Compass Chest", true), RC_OBJECT(RC_JABU_JABUS_BELLY_BOOMERANG_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_JABU_JABUS_BELLY, ACTOR_EN_BOX, SCENE_JABU_JABU, 4289, GI_BOOMERANG, "Boomerang Chest", "Jabu Jabus Belly Boomerang Chest", true), - RC_OBJECT(RC_JABU_JABUS_BELLY_DEKU_SCRUB, RCVORMQ_VANILLA, RCTYPE_SCRUB, RCAREA_JABU_JABUS_BELLY, ACTOR_EN_DNS, SCENE_JABU_JABU, 0x00, GI_NUTS_5_2, "Deku Scrub", "Jabu Jabus Belly Deku Scrub", false), - RC_OBJECT(RC_JABU_JABUS_BELLY_MQ_FIRST_ROOM_SIDE_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_JABU_JABUS_BELLY, ACTOR_EN_BOX, SCENE_JABU_JABU, -32699, GI_NUTS_5, "MQ First Room Side Chest", "Jabu Jabus Belly MQ First Room Side Chest", false), - RC_OBJECT(RC_JABU_JABUS_BELLY_MQ_MAP_CHEST, RCVORMQ_MQ, RCTYPE_MAP_COMPASS, RCAREA_JABU_JABUS_BELLY, ACTOR_EN_BOX, SCENE_JABU_JABU, -18397, GI_MAP, "MQ Map Chest", "Jabu Jabus Belly MQ Map Chest", true), - RC_OBJECT(RC_JABU_JABUS_BELLY_MQ_SECOND_ROOM_LOWER_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_JABU_JABUS_BELLY, ACTOR_EN_BOX, SCENE_JABU_JABU, 20546, GI_NUTS_5, "MQ Second Room Lower Chest", "Jabu Jabus Belly MQ Second Room Lower Chest", false), + RC_OBJECT(RC_JABU_JABUS_BELLY_DEKU_SCRUB, RCVORMQ_VANILLA, RCTYPE_SCRUB, RCAREA_JABU_JABUS_BELLY, ACTOR_EN_DNS, SCENE_JABU_JABU, 0x00, GI_DEKU_NUTS_5_2, "Deku Scrub", "Jabu Jabus Belly Deku Scrub", false), + RC_OBJECT(RC_JABU_JABUS_BELLY_MQ_FIRST_ROOM_SIDE_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_JABU_JABUS_BELLY, ACTOR_EN_BOX, SCENE_JABU_JABU, -32699, GI_DEKU_NUTS_5, "MQ First Room Side Chest", "Jabu Jabus Belly MQ First Room Side Chest", false), + RC_OBJECT(RC_JABU_JABUS_BELLY_MQ_MAP_CHEST, RCVORMQ_MQ, RCTYPE_MAP_COMPASS, RCAREA_JABU_JABUS_BELLY, ACTOR_EN_BOX, SCENE_JABU_JABU, -18397, GI_DUNGEON_MAP, "MQ Map Chest", "Jabu Jabus Belly MQ Map Chest", true), + RC_OBJECT(RC_JABU_JABUS_BELLY_MQ_SECOND_ROOM_LOWER_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_JABU_JABUS_BELLY, ACTOR_EN_BOX, SCENE_JABU_JABU, 20546, GI_DEKU_NUTS_5, "MQ Second Room Lower Chest", "Jabu Jabus Belly MQ Second Room Lower Chest", false), RC_OBJECT(RC_JABU_JABUS_BELLY_MQ_COMPASS_CHEST, RCVORMQ_MQ, RCTYPE_MAP_COMPASS, RCAREA_JABU_JABUS_BELLY, ACTOR_EN_BOX, SCENE_JABU_JABU, -18432, GI_COMPASS, "MQ Compass Chest", "Jabu Jabus Belly MQ Compass Chest", true), - RC_OBJECT(RC_JABU_JABUS_BELLY_MQ_SECOND_ROOM_UPPER_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_JABU_JABUS_BELLY, ACTOR_EN_BOX, SCENE_JABU_JABU, -30457, GI_HEART, "MQ Second Room Upper Chest", "Jabu Jabus Belly MQ Second Room Upper Chest", false), - RC_OBJECT(RC_JABU_JABUS_BELLY_MQ_BASEMENT_NEAR_SWITCHES_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_JABU_JABUS_BELLY, ACTOR_EN_BOX, SCENE_JABU_JABU, -32696, GI_NUTS_5, "MQ Basement Near Switches Chest", "Jabu Jabus Belly MQ Basement Near Switches Chest", false), + RC_OBJECT(RC_JABU_JABUS_BELLY_MQ_SECOND_ROOM_UPPER_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_JABU_JABUS_BELLY, ACTOR_EN_BOX, SCENE_JABU_JABU, -30457, GI_RECOVERY_HEART, "MQ Second Room Upper Chest", "Jabu Jabus Belly MQ Second Room Upper Chest", false), + RC_OBJECT(RC_JABU_JABUS_BELLY_MQ_BASEMENT_NEAR_SWITCHES_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_JABU_JABUS_BELLY, ACTOR_EN_BOX, SCENE_JABU_JABU, -32696, GI_DEKU_NUTS_5, "MQ Basement Near Switches Chest", "Jabu Jabus Belly MQ Basement Near Switches Chest", false), RC_OBJECT(RC_JABU_JABUS_BELLY_MQ_BASEMENT_NEAR_VINES_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_JABU_JABUS_BELLY, ACTOR_EN_BOX, SCENE_JABU_JABU, -32668, GI_BOMBCHUS_10, "MQ Basement Near Vines Chest", "Jabu Jabus Belly MQ Basement Near Vines Chest", false), RC_OBJECT(RC_JABU_JABUS_BELLY_MQ_NEAR_BOSS_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_JABU_JABUS_BELLY, ACTOR_EN_BOX, SCENE_JABU_JABU, -31446, GI_SHIELD_DEKU, "MQ Near Boss Chest", "Jabu Jabus Belly MQ Near Boss Chest", false), - RC_OBJECT(RC_JABU_JABUS_BELLY_MQ_FALLING_LIKE_LIKE_ROOM_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_JABU_JABUS_BELLY, ACTOR_EN_BOX, SCENE_JABU_JABU, 28905, GI_STICKS_1, "MQ Falling Like Like Room Chest", "Jabu Jabus Belly MQ Falling Like Like Room Chest", false), - RC_OBJECT(RC_JABU_JABUS_BELLY_MQ_BOOMERANG_ROOM_SMALL_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_JABU_JABUS_BELLY, ACTOR_EN_BOX, SCENE_JABU_JABU, 20545, GI_NUTS_5, "MQ Boomerang Room Small Chest", "Jabu Jabus Belly MQ Boomerang Room Small Chest", false), + RC_OBJECT(RC_JABU_JABUS_BELLY_MQ_FALLING_LIKE_LIKE_ROOM_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_JABU_JABUS_BELLY, ACTOR_EN_BOX, SCENE_JABU_JABU, 28905, GI_DEKU_STICKS_1, "MQ Falling Like Like Room Chest", "Jabu Jabus Belly MQ Falling Like Like Room Chest", false), + RC_OBJECT(RC_JABU_JABUS_BELLY_MQ_BOOMERANG_ROOM_SMALL_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_JABU_JABUS_BELLY, ACTOR_EN_BOX, SCENE_JABU_JABU, 20545, GI_DEKU_NUTS_5, "MQ Boomerang Room Small Chest", "Jabu Jabus Belly MQ Boomerang Room Small Chest", false), RC_OBJECT(RC_JABU_JABUS_BELLY_MQ_BOOMERANG_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_JABU_JABUS_BELLY, ACTOR_EN_BOX, SCENE_JABU_JABU, 4294, GI_BOOMERANG, "MQ Boomerang Chest", "Jabu Jabus Belly MQ Boomerang Chest", true), RC_OBJECT(RC_JABU_JABUS_BELLY_MQ_COW, RCVORMQ_MQ, RCTYPE_COW, RCAREA_JABU_JABUS_BELLY, ACTOR_EN_COW, SCENE_JABU_JABU, 0x00, GI_MILK, "MQ Cow", "Jabu Jabus Belly MQ Cow", false), RC_OBJECT(RC_JABU_JABUS_BELLY_GS_LOBBY_BASEMENT_LOWER, RCVORMQ_VANILLA, RCTYPE_SKULL_TOKEN, RCAREA_JABU_JABUS_BELLY, ACTOR_EN_SI, SCENE_JABU_JABU, 8705, GI_SKULL_TOKEN, "GS Lobby Basement Lower", "Jabu Jabus Belly GS Lobby Basement Lower", true), @@ -464,31 +464,31 @@ std::map rcObjects = { RC_OBJECT(RC_JABU_JABUS_BELLY_BARINADE_HEART, RCVORMQ_BOTH, RCTYPE_BOSS_HEART_OR_OTHER_REWARD, RCAREA_JABU_JABUS_BELLY, ACTOR_ITEM_B_HEART, SCENE_JABU_JABU_BOSS, 0x00, GI_HEART_CONTAINER, "Barinade Heart Container", "Jabu Jabus Belly Barinade Heart Container", true), - RC_OBJECT(RC_FOREST_TEMPLE_FIRST_ROOM_CHEST, RCVORMQ_VANILLA, RCTYPE_SMALL_KEY, RCAREA_FOREST_TEMPLE, ACTOR_EN_BOX, SCENE_FOREST_TEMPLE, 22595, GI_KEY_SMALL, "First Room Chest", "Forest Temple First Room Chest", true), - RC_OBJECT(RC_FOREST_TEMPLE_FIRST_STALFOS_CHEST, RCVORMQ_VANILLA, RCTYPE_SMALL_KEY, RCAREA_FOREST_TEMPLE, ACTOR_EN_BOX, SCENE_FOREST_TEMPLE, 30784, GI_KEY_SMALL, "First Stalfos Chest", "Forest Temple First Stalfos Chest", true), - RC_OBJECT(RC_FOREST_TEMPLE_RAISED_ISLAND_COURTYARD_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_FOREST_TEMPLE, ACTOR_EN_BOX, SCENE_FOREST_TEMPLE, 22789, GI_HEART, "Raised Island Courtyard Chest", "Forest Temple Raised Island Courtyard Chest", false), - RC_OBJECT(RC_FOREST_TEMPLE_MAP_CHEST, RCVORMQ_VANILLA, RCTYPE_MAP_COMPASS, RCAREA_FOREST_TEMPLE, ACTOR_EN_BOX, SCENE_FOREST_TEMPLE, 6177, GI_MAP, "Map Chest", "Forest Temple Map Chest", true), - RC_OBJECT(RC_FOREST_TEMPLE_WELL_CHEST, RCVORMQ_VANILLA, RCTYPE_SMALL_KEY, RCAREA_FOREST_TEMPLE, ACTOR_EN_BOX, SCENE_FOREST_TEMPLE, 22601, GI_KEY_SMALL, "Well Chest", "Forest Temple Well Chest", true), - RC_OBJECT(RC_FOREST_TEMPLE_FALLING_CEILING_ROOM_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_FOREST_TEMPLE, ACTOR_EN_BOX, SCENE_FOREST_TEMPLE, 22855, GI_ARROWS_MEDIUM, "Falling Ceiling Room Chest", "Forest Temple Falling Ceiling Room Chest", false), - RC_OBJECT(RC_FOREST_TEMPLE_EYE_SWITCH_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_FOREST_TEMPLE, ACTOR_EN_BOX, SCENE_FOREST_TEMPLE, -30364, GI_ARROWS_LARGE, "Eye Switch Chest", "Forest Temple Eye Switch Chest", false), - RC_OBJECT(RC_FOREST_TEMPLE_BOSS_KEY_CHEST, RCVORMQ_VANILLA, RCTYPE_BOSS_KEY, RCAREA_FOREST_TEMPLE, ACTOR_EN_BOX, SCENE_FOREST_TEMPLE, 10222, GI_KEY_BOSS, "Boss Key Chest", "Forest Temple Boss Key Chest", true), - RC_OBJECT(RC_FOREST_TEMPLE_FLOORMASTER_CHEST, RCVORMQ_VANILLA, RCTYPE_SMALL_KEY, RCAREA_FOREST_TEMPLE, ACTOR_EN_BOX, SCENE_FOREST_TEMPLE, 30786, GI_KEY_SMALL, "Floormaster Chest", "Forest Temple Floormaster Chest", true), + RC_OBJECT(RC_FOREST_TEMPLE_FIRST_ROOM_CHEST, RCVORMQ_VANILLA, RCTYPE_SMALL_KEY, RCAREA_FOREST_TEMPLE, ACTOR_EN_BOX, SCENE_FOREST_TEMPLE, 22595, GI_SMALL_KEY, "First Room Chest", "Forest Temple First Room Chest", true), + RC_OBJECT(RC_FOREST_TEMPLE_FIRST_STALFOS_CHEST, RCVORMQ_VANILLA, RCTYPE_SMALL_KEY, RCAREA_FOREST_TEMPLE, ACTOR_EN_BOX, SCENE_FOREST_TEMPLE, 30784, GI_SMALL_KEY, "First Stalfos Chest", "Forest Temple First Stalfos Chest", true), + RC_OBJECT(RC_FOREST_TEMPLE_RAISED_ISLAND_COURTYARD_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_FOREST_TEMPLE, ACTOR_EN_BOX, SCENE_FOREST_TEMPLE, 22789, GI_RECOVERY_HEART, "Raised Island Courtyard Chest", "Forest Temple Raised Island Courtyard Chest", false), + RC_OBJECT(RC_FOREST_TEMPLE_MAP_CHEST, RCVORMQ_VANILLA, RCTYPE_MAP_COMPASS, RCAREA_FOREST_TEMPLE, ACTOR_EN_BOX, SCENE_FOREST_TEMPLE, 6177, GI_DUNGEON_MAP, "Map Chest", "Forest Temple Map Chest", true), + RC_OBJECT(RC_FOREST_TEMPLE_WELL_CHEST, RCVORMQ_VANILLA, RCTYPE_SMALL_KEY, RCAREA_FOREST_TEMPLE, ACTOR_EN_BOX, SCENE_FOREST_TEMPLE, 22601, GI_SMALL_KEY, "Well Chest", "Forest Temple Well Chest", true), + RC_OBJECT(RC_FOREST_TEMPLE_FALLING_CEILING_ROOM_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_FOREST_TEMPLE, ACTOR_EN_BOX, SCENE_FOREST_TEMPLE, 22855, GI_ARROWS_10, "Falling Ceiling Room Chest", "Forest Temple Falling Ceiling Room Chest", false), + RC_OBJECT(RC_FOREST_TEMPLE_EYE_SWITCH_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_FOREST_TEMPLE, ACTOR_EN_BOX, SCENE_FOREST_TEMPLE, -30364, GI_ARROWS_30, "Eye Switch Chest", "Forest Temple Eye Switch Chest", false), + RC_OBJECT(RC_FOREST_TEMPLE_BOSS_KEY_CHEST, RCVORMQ_VANILLA, RCTYPE_BOSS_KEY, RCAREA_FOREST_TEMPLE, ACTOR_EN_BOX, SCENE_FOREST_TEMPLE, 10222, GI_BOSS_KEY, "Boss Key Chest", "Forest Temple Boss Key Chest", true), + RC_OBJECT(RC_FOREST_TEMPLE_FLOORMASTER_CHEST, RCVORMQ_VANILLA, RCTYPE_SMALL_KEY, RCAREA_FOREST_TEMPLE, ACTOR_EN_BOX, SCENE_FOREST_TEMPLE, 30786, GI_SMALL_KEY, "Floormaster Chest", "Forest Temple Floormaster Chest", true), RC_OBJECT(RC_FOREST_TEMPLE_BOW_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_FOREST_TEMPLE, ACTOR_EN_BOX, SCENE_FOREST_TEMPLE, -20340, GI_BOW, "Bow Chest", "Forest Temple Bow Chest", true), - RC_OBJECT(RC_FOREST_TEMPLE_RED_POE_CHEST, RCVORMQ_VANILLA, RCTYPE_SMALL_KEY, RCAREA_FOREST_TEMPLE, ACTOR_EN_BOX, SCENE_FOREST_TEMPLE, 30797, GI_KEY_SMALL, "Red Poe Chest", "Forest Temple Red Poe Chest", true), + RC_OBJECT(RC_FOREST_TEMPLE_RED_POE_CHEST, RCVORMQ_VANILLA, RCTYPE_SMALL_KEY, RCAREA_FOREST_TEMPLE, ACTOR_EN_BOX, SCENE_FOREST_TEMPLE, 30797, GI_SMALL_KEY, "Red Poe Chest", "Forest Temple Red Poe Chest", true), RC_OBJECT(RC_FOREST_TEMPLE_BLUE_POE_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_FOREST_TEMPLE, ACTOR_EN_BOX, SCENE_FOREST_TEMPLE, 6159, GI_COMPASS, "Blue Poe Chest", "Forest Temple Blue Poe Chest", true), - RC_OBJECT(RC_FOREST_TEMPLE_BASEMENT_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_FOREST_TEMPLE, ACTOR_EN_BOX, SCENE_FOREST_TEMPLE, 22827, GI_ARROWS_SMALL, "Basement Chest", "Forest Temple Basement Chest", false), - RC_OBJECT(RC_FOREST_TEMPLE_MQ_FIRST_ROOM_CHEST, RCVORMQ_MQ, RCTYPE_SMALL_KEY, RCAREA_FOREST_TEMPLE, ACTOR_EN_BOX, SCENE_FOREST_TEMPLE, -30653, GI_KEY_SMALL, "MQ First Room Chest", "Forest Temple MQ First Room Chest", true), - RC_OBJECT(RC_FOREST_TEMPLE_MQ_WOLFOS_CHEST, RCVORMQ_MQ, RCTYPE_SMALL_KEY, RCAREA_FOREST_TEMPLE, ACTOR_EN_BOX, SCENE_FOREST_TEMPLE, 30784, GI_KEY_SMALL, "MQ Wolfos Chest", "Forest Temple MQ Wolfos Chest", true), + RC_OBJECT(RC_FOREST_TEMPLE_BASEMENT_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_FOREST_TEMPLE, ACTOR_EN_BOX, SCENE_FOREST_TEMPLE, 22827, GI_ARROWS_5, "Basement Chest", "Forest Temple Basement Chest", false), + RC_OBJECT(RC_FOREST_TEMPLE_MQ_FIRST_ROOM_CHEST, RCVORMQ_MQ, RCTYPE_SMALL_KEY, RCAREA_FOREST_TEMPLE, ACTOR_EN_BOX, SCENE_FOREST_TEMPLE, -30653, GI_SMALL_KEY, "MQ First Room Chest", "Forest Temple MQ First Room Chest", true), + RC_OBJECT(RC_FOREST_TEMPLE_MQ_WOLFOS_CHEST, RCVORMQ_MQ, RCTYPE_SMALL_KEY, RCAREA_FOREST_TEMPLE, ACTOR_EN_BOX, SCENE_FOREST_TEMPLE, 30784, GI_SMALL_KEY, "MQ Wolfos Chest", "Forest Temple MQ Wolfos Chest", true), RC_OBJECT(RC_FOREST_TEMPLE_MQ_BOW_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_FOREST_TEMPLE, ACTOR_EN_BOX, SCENE_FOREST_TEMPLE, -20340, GI_BOW, "MQ Bow Chest", "Forest Temple MQ Bow Chest", true), - RC_OBJECT(RC_FOREST_TEMPLE_MQ_RAISED_ISLAND_COURTYARD_LOWER_CHEST, RCVORMQ_MQ, RCTYPE_SMALL_KEY, RCAREA_FOREST_TEMPLE, ACTOR_EN_BOX, SCENE_FOREST_TEMPLE, 22593, GI_KEY_SMALL, "MQ Raised Island Courtyard Lower Chest", "Forest Temple MQ Raised Island Courtyard Lower Chest", true), - RC_OBJECT(RC_FOREST_TEMPLE_MQ_RAISED_ISLAND_COURTYARD_UPPER_CHEST, RCVORMQ_MQ, RCTYPE_SMALL_KEY, RCAREA_FOREST_TEMPLE, ACTOR_EN_BOX, SCENE_FOREST_TEMPLE, 22597, GI_KEY_SMALL, "MQ Raised Island Courtyard Upper Chest", "Forest Temple MQ Raised Island Courtyard Upper Chest", true), - RC_OBJECT(RC_FOREST_TEMPLE_MQ_WELL_CHEST, RCVORMQ_MQ, RCTYPE_SMALL_KEY, RCAREA_FOREST_TEMPLE, ACTOR_EN_BOX, SCENE_FOREST_TEMPLE, 22601, GI_KEY_SMALL, "MQ Well Chest", "Forest Temple MQ Well Chest", true), - RC_OBJECT(RC_FOREST_TEMPLE_MQ_MAP_CHEST, RCVORMQ_MQ, RCTYPE_MAP_COMPASS, RCAREA_FOREST_TEMPLE, ACTOR_EN_BOX, SCENE_FOREST_TEMPLE, 6189, GI_MAP, "MQ Map Chest", "Forest Temple MQ Map Chest", true), + RC_OBJECT(RC_FOREST_TEMPLE_MQ_RAISED_ISLAND_COURTYARD_LOWER_CHEST, RCVORMQ_MQ, RCTYPE_SMALL_KEY, RCAREA_FOREST_TEMPLE, ACTOR_EN_BOX, SCENE_FOREST_TEMPLE, 22593, GI_SMALL_KEY, "MQ Raised Island Courtyard Lower Chest", "Forest Temple MQ Raised Island Courtyard Lower Chest", true), + RC_OBJECT(RC_FOREST_TEMPLE_MQ_RAISED_ISLAND_COURTYARD_UPPER_CHEST, RCVORMQ_MQ, RCTYPE_SMALL_KEY, RCAREA_FOREST_TEMPLE, ACTOR_EN_BOX, SCENE_FOREST_TEMPLE, 22597, GI_SMALL_KEY, "MQ Raised Island Courtyard Upper Chest", "Forest Temple MQ Raised Island Courtyard Upper Chest", true), + RC_OBJECT(RC_FOREST_TEMPLE_MQ_WELL_CHEST, RCVORMQ_MQ, RCTYPE_SMALL_KEY, RCAREA_FOREST_TEMPLE, ACTOR_EN_BOX, SCENE_FOREST_TEMPLE, 22601, GI_SMALL_KEY, "MQ Well Chest", "Forest Temple MQ Well Chest", true), + RC_OBJECT(RC_FOREST_TEMPLE_MQ_MAP_CHEST, RCVORMQ_MQ, RCTYPE_MAP_COMPASS, RCAREA_FOREST_TEMPLE, ACTOR_EN_BOX, SCENE_FOREST_TEMPLE, 6189, GI_DUNGEON_MAP, "MQ Map Chest", "Forest Temple MQ Map Chest", true), RC_OBJECT(RC_FOREST_TEMPLE_MQ_COMPASS_CHEST, RCVORMQ_MQ, RCTYPE_MAP_COMPASS, RCAREA_FOREST_TEMPLE, ACTOR_EN_BOX, SCENE_FOREST_TEMPLE, 6159, GI_COMPASS, "MQ Compass Chest", "Forest Temple MQ Compass Chest", true), - RC_OBJECT(RC_FOREST_TEMPLE_MQ_FALLING_CEILING_ROOM_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_FOREST_TEMPLE, ACTOR_EN_BOX, SCENE_FOREST_TEMPLE, -30426, GI_ARROWS_SMALL, "MQ Falling Ceiling Room Chest", "Forest Temple MQ Falling Ceiling Room Chest", false), - RC_OBJECT(RC_FOREST_TEMPLE_MQ_BASEMENT_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_FOREST_TEMPLE, ACTOR_EN_BOX, SCENE_FOREST_TEMPLE, 22827, GI_ARROWS_SMALL, "MQ Basement Chest", "Forest Temple MQ Basement Chest", false), - RC_OBJECT(RC_FOREST_TEMPLE_MQ_REDEAD_CHEST, RCVORMQ_MQ, RCTYPE_SMALL_KEY, RCAREA_FOREST_TEMPLE, ACTOR_EN_BOX, SCENE_FOREST_TEMPLE, 30786, GI_KEY_SMALL, "MQ Redead Chest", "Forest Temple MQ Redead Chest", true), - RC_OBJECT(RC_FOREST_TEMPLE_MQ_BOSS_KEY_CHEST, RCVORMQ_MQ, RCTYPE_BOSS_KEY, RCAREA_FOREST_TEMPLE, ACTOR_EN_BOX, SCENE_FOREST_TEMPLE, 10222, GI_KEY_BOSS, "MQ Boss Key Chest", "Forest Temple MQ Boss Key Chest", true), + RC_OBJECT(RC_FOREST_TEMPLE_MQ_FALLING_CEILING_ROOM_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_FOREST_TEMPLE, ACTOR_EN_BOX, SCENE_FOREST_TEMPLE, -30426, GI_ARROWS_5, "MQ Falling Ceiling Room Chest", "Forest Temple MQ Falling Ceiling Room Chest", false), + RC_OBJECT(RC_FOREST_TEMPLE_MQ_BASEMENT_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_FOREST_TEMPLE, ACTOR_EN_BOX, SCENE_FOREST_TEMPLE, 22827, GI_ARROWS_5, "MQ Basement Chest", "Forest Temple MQ Basement Chest", false), + RC_OBJECT(RC_FOREST_TEMPLE_MQ_REDEAD_CHEST, RCVORMQ_MQ, RCTYPE_SMALL_KEY, RCAREA_FOREST_TEMPLE, ACTOR_EN_BOX, SCENE_FOREST_TEMPLE, 30786, GI_SMALL_KEY, "MQ Redead Chest", "Forest Temple MQ Redead Chest", true), + RC_OBJECT(RC_FOREST_TEMPLE_MQ_BOSS_KEY_CHEST, RCVORMQ_MQ, RCTYPE_BOSS_KEY, RCAREA_FOREST_TEMPLE, ACTOR_EN_BOX, SCENE_FOREST_TEMPLE, 10222, GI_BOSS_KEY, "MQ Boss Key Chest", "Forest Temple MQ Boss Key Chest", true), RC_OBJECT(RC_FOREST_TEMPLE_GS_RAISED_ISLAND_COURTYARD, RCVORMQ_VANILLA, RCTYPE_SKULL_TOKEN, RCAREA_FOREST_TEMPLE, ACTOR_EN_SI, SCENE_FOREST_TEMPLE, 8961, GI_SKULL_TOKEN, "GS Raised Island Courtyard", "Forest Temple GS Raised Island Courtyard", true), RC_OBJECT(RC_FOREST_TEMPLE_GS_FIRST_ROOM, RCVORMQ_VANILLA, RCTYPE_SKULL_TOKEN, RCAREA_FOREST_TEMPLE, ACTOR_EN_SI, SCENE_FOREST_TEMPLE, 8962, GI_SKULL_TOKEN, "GS First Room", "Forest Temple GS First Room", true), RC_OBJECT(RC_FOREST_TEMPLE_GS_LEVEL_ISLAND_COURTYARD, RCVORMQ_VANILLA, RCTYPE_SKULL_TOKEN, RCAREA_FOREST_TEMPLE, ACTOR_EN_SI, SCENE_FOREST_TEMPLE, 8964, GI_SKULL_TOKEN, "GS Level Island Courtyard", "Forest Temple GS Level Island Courtyard", true), @@ -503,32 +503,32 @@ std::map rcObjects = { RC_OBJECT(RC_FOREST_TEMPLE_PHANTOM_GANON_HEART, RCVORMQ_BOTH, RCTYPE_BOSS_HEART_OR_OTHER_REWARD, RCAREA_FOREST_TEMPLE, ACTOR_ITEM_B_HEART, SCENE_FOREST_TEMPLE_BOSS, 0x00, GI_HEART_CONTAINER, "Phantom Ganon Heart Container", "Forest Temple Phantom Ganon Heart Container", true), - RC_OBJECT(RC_FIRE_TEMPLE_NEAR_BOSS_CHEST, RCVORMQ_VANILLA, RCTYPE_SMALL_KEY, RCAREA_FIRE_TEMPLE, ACTOR_EN_BOX, SCENE_FIRE_TEMPLE, 22593, GI_KEY_SMALL, "Near Boss Chest", "Fire Temple Near Boss Chest", true), + RC_OBJECT(RC_FIRE_TEMPLE_NEAR_BOSS_CHEST, RCVORMQ_VANILLA, RCTYPE_SMALL_KEY, RCAREA_FIRE_TEMPLE, ACTOR_EN_BOX, SCENE_FIRE_TEMPLE, 22593, GI_SMALL_KEY, "Near Boss Chest", "Fire Temple Near Boss Chest", true), RC_OBJECT(RC_FIRE_TEMPLE_FLARE_DANCER_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_FIRE_TEMPLE, ACTOR_EN_BOX, SCENE_FIRE_TEMPLE, 31936, GI_BOMBS_10, "Flare Dancer Chest", "Fire Temple Flare Dancer Chest", false), - RC_OBJECT(RC_FIRE_TEMPLE_BOSS_KEY_CHEST, RCVORMQ_VANILLA, RCTYPE_BOSS_KEY, RCAREA_FIRE_TEMPLE, ACTOR_EN_BOX, SCENE_FIRE_TEMPLE, 10220, GI_KEY_BOSS, "Boss Key Chest", "Fire Temple Boss Key Chest", true), - RC_OBJECT(RC_FIRE_TEMPLE_BIG_LAVA_ROOM_BLOCKED_DOOR_CHEST, RCVORMQ_VANILLA, RCTYPE_SMALL_KEY, RCAREA_FIRE_TEMPLE, ACTOR_EN_BOX, SCENE_FIRE_TEMPLE, 22594, GI_KEY_SMALL, "Big Lava Room Blocked Door Chest", "Fire Temple Big Lava Room Blocked Door Chest", true), - RC_OBJECT(RC_FIRE_TEMPLE_BIG_LAVA_ROOM_LOWER_OPEN_DOOR_CHEST, RCVORMQ_VANILLA, RCTYPE_SMALL_KEY, RCAREA_FIRE_TEMPLE, ACTOR_EN_BOX, SCENE_FIRE_TEMPLE, 22596, GI_KEY_SMALL, "Big Lava Room Lower Open Door Chest", "Fire Temple Big Lava Room Lower Open Door Chest", true), - RC_OBJECT(RC_FIRE_TEMPLE_BOULDER_MAZE_LOWER_CHEST, RCVORMQ_VANILLA, RCTYPE_SMALL_KEY, RCAREA_FIRE_TEMPLE, ACTOR_EN_BOX, SCENE_FIRE_TEMPLE, 22595, GI_KEY_SMALL, "Boulder Maze Lower Chest", "Fire Temple Boulder Maze Lower Chest", true), - RC_OBJECT(RC_FIRE_TEMPLE_BOULDER_MAZE_UPPER_CHEST, RCVORMQ_VANILLA, RCTYPE_SMALL_KEY, RCAREA_FIRE_TEMPLE, ACTOR_EN_BOX, SCENE_FIRE_TEMPLE, 22598, GI_KEY_SMALL, "Boulder Maze Upper Chest", "Fire Temple Boulder Maze Upper Chest", true), - RC_OBJECT(RC_FIRE_TEMPLE_BOULDER_MAZE_SIDE_ROOM_CHEST, RCVORMQ_VANILLA, RCTYPE_SMALL_KEY, RCAREA_FIRE_TEMPLE, ACTOR_EN_BOX, SCENE_FIRE_TEMPLE, 22600, GI_KEY_SMALL, "Boulder Maze Side Room Chest", "Fire Temple Boulder Maze Side Room Chest", true), - RC_OBJECT(RC_FIRE_TEMPLE_BOULDER_MAZE_SHORTCUT_CHEST, RCVORMQ_VANILLA, RCTYPE_SMALL_KEY, RCAREA_FIRE_TEMPLE, ACTOR_EN_BOX, SCENE_FIRE_TEMPLE, 22603, GI_KEY_SMALL, "Boulder Maze Shortcut Chest", "Fire Temple Boulder Maze Shortcut Chest", true), + RC_OBJECT(RC_FIRE_TEMPLE_BOSS_KEY_CHEST, RCVORMQ_VANILLA, RCTYPE_BOSS_KEY, RCAREA_FIRE_TEMPLE, ACTOR_EN_BOX, SCENE_FIRE_TEMPLE, 10220, GI_BOSS_KEY, "Boss Key Chest", "Fire Temple Boss Key Chest", true), + RC_OBJECT(RC_FIRE_TEMPLE_BIG_LAVA_ROOM_BLOCKED_DOOR_CHEST, RCVORMQ_VANILLA, RCTYPE_SMALL_KEY, RCAREA_FIRE_TEMPLE, ACTOR_EN_BOX, SCENE_FIRE_TEMPLE, 22594, GI_SMALL_KEY, "Big Lava Room Blocked Door Chest", "Fire Temple Big Lava Room Blocked Door Chest", true), + RC_OBJECT(RC_FIRE_TEMPLE_BIG_LAVA_ROOM_LOWER_OPEN_DOOR_CHEST, RCVORMQ_VANILLA, RCTYPE_SMALL_KEY, RCAREA_FIRE_TEMPLE, ACTOR_EN_BOX, SCENE_FIRE_TEMPLE, 22596, GI_SMALL_KEY, "Big Lava Room Lower Open Door Chest", "Fire Temple Big Lava Room Lower Open Door Chest", true), + RC_OBJECT(RC_FIRE_TEMPLE_BOULDER_MAZE_LOWER_CHEST, RCVORMQ_VANILLA, RCTYPE_SMALL_KEY, RCAREA_FIRE_TEMPLE, ACTOR_EN_BOX, SCENE_FIRE_TEMPLE, 22595, GI_SMALL_KEY, "Boulder Maze Lower Chest", "Fire Temple Boulder Maze Lower Chest", true), + RC_OBJECT(RC_FIRE_TEMPLE_BOULDER_MAZE_UPPER_CHEST, RCVORMQ_VANILLA, RCTYPE_SMALL_KEY, RCAREA_FIRE_TEMPLE, ACTOR_EN_BOX, SCENE_FIRE_TEMPLE, 22598, GI_SMALL_KEY, "Boulder Maze Upper Chest", "Fire Temple Boulder Maze Upper Chest", true), + RC_OBJECT(RC_FIRE_TEMPLE_BOULDER_MAZE_SIDE_ROOM_CHEST, RCVORMQ_VANILLA, RCTYPE_SMALL_KEY, RCAREA_FIRE_TEMPLE, ACTOR_EN_BOX, SCENE_FIRE_TEMPLE, 22600, GI_SMALL_KEY, "Boulder Maze Side Room Chest", "Fire Temple Boulder Maze Side Room Chest", true), + RC_OBJECT(RC_FIRE_TEMPLE_BOULDER_MAZE_SHORTCUT_CHEST, RCVORMQ_VANILLA, RCTYPE_SMALL_KEY, RCAREA_FIRE_TEMPLE, ACTOR_EN_BOX, SCENE_FIRE_TEMPLE, 22603, GI_SMALL_KEY, "Boulder Maze Shortcut Chest", "Fire Temple Boulder Maze Shortcut Chest", true), RC_OBJECT(RC_FIRE_TEMPLE_SCARECROW_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_FIRE_TEMPLE, ACTOR_EN_BOX, SCENE_FIRE_TEMPLE, 23245, GI_RUPEE_GOLD, "Scarecrow Chest", "Fire Temple Scarecrow Chest", false), - RC_OBJECT(RC_FIRE_TEMPLE_MAP_CHEST, RCVORMQ_VANILLA, RCTYPE_MAP_COMPASS, RCAREA_FIRE_TEMPLE, ACTOR_EN_BOX, SCENE_FIRE_TEMPLE, 2090, GI_MAP, "Map Chest", "Fire Temple Map Chest", true), + RC_OBJECT(RC_FIRE_TEMPLE_MAP_CHEST, RCVORMQ_VANILLA, RCTYPE_MAP_COMPASS, RCAREA_FIRE_TEMPLE, ACTOR_EN_BOX, SCENE_FIRE_TEMPLE, 2090, GI_DUNGEON_MAP, "Map Chest", "Fire Temple Map Chest", true), RC_OBJECT(RC_FIRE_TEMPLE_COMPASS_CHEST, RCVORMQ_VANILLA, RCTYPE_MAP_COMPASS, RCAREA_FIRE_TEMPLE, ACTOR_EN_BOX, SCENE_FIRE_TEMPLE, 2055, GI_COMPASS, "Compass Chest", "Fire Temple Compass Chest", true), - RC_OBJECT(RC_FIRE_TEMPLE_HIGHEST_GORON_CHEST, RCVORMQ_VANILLA, RCTYPE_SMALL_KEY, RCAREA_FIRE_TEMPLE, ACTOR_EN_BOX, SCENE_FIRE_TEMPLE, 22601, GI_KEY_SMALL, "Highest Goron Chest", "Fire Temple Highest Goron Chest", true), + RC_OBJECT(RC_FIRE_TEMPLE_HIGHEST_GORON_CHEST, RCVORMQ_VANILLA, RCTYPE_SMALL_KEY, RCAREA_FIRE_TEMPLE, ACTOR_EN_BOX, SCENE_FIRE_TEMPLE, 22601, GI_SMALL_KEY, "Highest Goron Chest", "Fire Temple Highest Goron Chest", true), RC_OBJECT(RC_FIRE_TEMPLE_MEGATON_HAMMER_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_FIRE_TEMPLE, ACTOR_EN_BOX, SCENE_FIRE_TEMPLE, 421, GI_HAMMER, "Megaton Hammer Chest", "Fire Temple Megaton Hammer Chest", true), - RC_OBJECT(RC_FIRE_TEMPLE_MQ_NEAR_BOSS_CHEST, RCVORMQ_MQ, RCTYPE_SMALL_KEY, RCAREA_FIRE_TEMPLE, ACTOR_EN_BOX, SCENE_FIRE_TEMPLE, 22599, GI_KEY_SMALL, "MQ Near Boss Chest", "Fire Temple MQ Near Boss Chest", true), + RC_OBJECT(RC_FIRE_TEMPLE_MQ_NEAR_BOSS_CHEST, RCVORMQ_MQ, RCTYPE_SMALL_KEY, RCAREA_FIRE_TEMPLE, ACTOR_EN_BOX, SCENE_FIRE_TEMPLE, 22599, GI_SMALL_KEY, "MQ Near Boss Chest", "Fire Temple MQ Near Boss Chest", true), RC_OBJECT(RC_FIRE_TEMPLE_MQ_MEGATON_HAMMER_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_FIRE_TEMPLE, ACTOR_EN_BOX, SCENE_FIRE_TEMPLE, 4512, GI_HAMMER, "MQ Megaton Hammer Chest", "Fire Temple MQ Megaton Hammer Chest", true), RC_OBJECT(RC_FIRE_TEMPLE_MQ_COMPASS_CHEST, RCVORMQ_MQ, RCTYPE_MAP_COMPASS, RCAREA_FIRE_TEMPLE, ACTOR_EN_BOX, SCENE_FIRE_TEMPLE, 2059, GI_COMPASS, "MQ Compass Chest", "Fire Temple MQ Compass Chest", true), RC_OBJECT(RC_FIRE_TEMPLE_MQ_LIZALFOS_MAZE_LOWER_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_FIRE_TEMPLE, ACTOR_EN_BOX, SCENE_FIRE_TEMPLE, 23747, GI_BOMBS_10, "MQ Lizalfos Maze Lower Chest", "Fire Temple MQ Lizalfos Maze Lower Chest", false), RC_OBJECT(RC_FIRE_TEMPLE_MQ_LIZALFOS_MAZE_UPPER_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_FIRE_TEMPLE, ACTOR_EN_BOX, SCENE_FIRE_TEMPLE, 23782, GI_BOMBS_20, "MQ Lizalfos Maze Upper Chest", "Fire Temple MQ Lizalfos Maze Upper Chest", false), - RC_OBJECT(RC_FIRE_TEMPLE_MQ_CHEST_ON_FIRE, RCVORMQ_MQ, RCTYPE_SMALL_KEY, RCAREA_FIRE_TEMPLE, ACTOR_EN_BOX, SCENE_FIRE_TEMPLE, 22597, GI_KEY_SMALL, "MQ Chest on Fire", "Fire Temple MQ Chest on Fire", true), + RC_OBJECT(RC_FIRE_TEMPLE_MQ_CHEST_ON_FIRE, RCVORMQ_MQ, RCTYPE_SMALL_KEY, RCAREA_FIRE_TEMPLE, ACTOR_EN_BOX, SCENE_FIRE_TEMPLE, 22597, GI_SMALL_KEY, "MQ Chest on Fire", "Fire Temple MQ Chest on Fire", true), RC_OBJECT(RC_FIRE_TEMPLE_MQ_MAP_ROOM_SIDE_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_FIRE_TEMPLE, ACTOR_EN_BOX, SCENE_FIRE_TEMPLE, 30018, GI_SHIELD_HYLIAN, "MQ Map Room Side Chest", "Fire Temple MQ Map Room Side Chest", false), - RC_OBJECT(RC_FIRE_TEMPLE_MQ_MAP_CHEST, RCVORMQ_MQ, RCTYPE_MAP_COMPASS, RCAREA_FIRE_TEMPLE, ACTOR_EN_BOX, SCENE_FIRE_TEMPLE, 2092, GI_MAP, "MQ Map Chest", "Fire Temple MQ Map Chest", true), - RC_OBJECT(RC_FIRE_TEMPLE_MQ_BOSS_KEY_CHEST, RCVORMQ_MQ, RCTYPE_BOSS_KEY, RCAREA_FIRE_TEMPLE, ACTOR_EN_BOX, SCENE_FIRE_TEMPLE, 10212, GI_KEY_BOSS, "MQ Boss Key Chest", "Fire Temple MQ Boss Key Chest", true), - RC_OBJECT(RC_FIRE_TEMPLE_MQ_BIG_LAVA_ROOM_BLOCKED_DOOR_CHEST, RCVORMQ_MQ, RCTYPE_SMALL_KEY, RCAREA_FIRE_TEMPLE, ACTOR_EN_BOX, SCENE_FIRE_TEMPLE, 22593, GI_KEY_SMALL, "MQ Big Lava Room Blocked Door Chest", "Fire Temple MQ Big Lava Room Blocked Door Chest", true), - RC_OBJECT(RC_FIRE_TEMPLE_MQ_LIZALFOS_MAZE_SIDE_ROOM_CHEST, RCVORMQ_MQ, RCTYPE_SMALL_KEY, RCAREA_FIRE_TEMPLE, ACTOR_EN_BOX, SCENE_FIRE_TEMPLE, 22600, GI_KEY_SMALL, "MQ Lizalfos Maze Side Room Chest", "Fire Temple MQ Lizalfos Maze Side Room Chest", true), - RC_OBJECT(RC_FIRE_TEMPLE_MQ_FREESTANDING_KEY, RCVORMQ_MQ, RCTYPE_SMALL_KEY, RCAREA_FIRE_TEMPLE, ACTOR_EN_ITEM00, SCENE_FIRE_TEMPLE, 7185, GI_KEY_SMALL, "MQ Freestanding Key", "Fire Temple MQ Freestanding Key", true), + RC_OBJECT(RC_FIRE_TEMPLE_MQ_MAP_CHEST, RCVORMQ_MQ, RCTYPE_MAP_COMPASS, RCAREA_FIRE_TEMPLE, ACTOR_EN_BOX, SCENE_FIRE_TEMPLE, 2092, GI_DUNGEON_MAP, "MQ Map Chest", "Fire Temple MQ Map Chest", true), + RC_OBJECT(RC_FIRE_TEMPLE_MQ_BOSS_KEY_CHEST, RCVORMQ_MQ, RCTYPE_BOSS_KEY, RCAREA_FIRE_TEMPLE, ACTOR_EN_BOX, SCENE_FIRE_TEMPLE, 10212, GI_BOSS_KEY, "MQ Boss Key Chest", "Fire Temple MQ Boss Key Chest", true), + RC_OBJECT(RC_FIRE_TEMPLE_MQ_BIG_LAVA_ROOM_BLOCKED_DOOR_CHEST, RCVORMQ_MQ, RCTYPE_SMALL_KEY, RCAREA_FIRE_TEMPLE, ACTOR_EN_BOX, SCENE_FIRE_TEMPLE, 22593, GI_SMALL_KEY, "MQ Big Lava Room Blocked Door Chest", "Fire Temple MQ Big Lava Room Blocked Door Chest", true), + RC_OBJECT(RC_FIRE_TEMPLE_MQ_LIZALFOS_MAZE_SIDE_ROOM_CHEST, RCVORMQ_MQ, RCTYPE_SMALL_KEY, RCAREA_FIRE_TEMPLE, ACTOR_EN_BOX, SCENE_FIRE_TEMPLE, 22600, GI_SMALL_KEY, "MQ Lizalfos Maze Side Room Chest", "Fire Temple MQ Lizalfos Maze Side Room Chest", true), + RC_OBJECT(RC_FIRE_TEMPLE_MQ_FREESTANDING_KEY, RCVORMQ_MQ, RCTYPE_SMALL_KEY, RCAREA_FIRE_TEMPLE, ACTOR_EN_ITEM00, SCENE_FIRE_TEMPLE, 7185, GI_SMALL_KEY, "MQ Freestanding Key", "Fire Temple MQ Freestanding Key", true), RC_OBJECT(RC_FIRE_TEMPLE_GS_SONG_OF_TIME_ROOM, RCVORMQ_VANILLA, RCTYPE_SKULL_TOKEN, RCAREA_FIRE_TEMPLE, ACTOR_EN_SI, SCENE_FIRE_TEMPLE, 9217, GI_SKULL_TOKEN, "GS Song of Time Room", "Fire Temple GS Song of Time Room", true), RC_OBJECT(RC_FIRE_TEMPLE_GS_BOSS_KEY_LOOP, RCVORMQ_VANILLA, RCTYPE_SKULL_TOKEN, RCAREA_FIRE_TEMPLE, ACTOR_EN_SI, SCENE_FIRE_TEMPLE, 9218, GI_SKULL_TOKEN, "GS Boss Key Loop", "Fire Temple GS Boss Key Loop", true), RC_OBJECT(RC_FIRE_TEMPLE_GS_BOULDER_MAZE, RCVORMQ_VANILLA, RCTYPE_SKULL_TOKEN, RCAREA_FIRE_TEMPLE, ACTOR_EN_SI, SCENE_FIRE_TEMPLE, 9220, GI_SKULL_TOKEN, "GS Boulder Maze", "Fire Temple GS Boulder Maze", true), @@ -543,22 +543,22 @@ std::map rcObjects = { RC_OBJECT(RC_FIRE_TEMPLE_VOLVAGIA_HEART, RCVORMQ_BOTH, RCTYPE_BOSS_HEART_OR_OTHER_REWARD, RCAREA_FIRE_TEMPLE, ACTOR_ITEM_B_HEART, SCENE_FIRE_TEMPLE_BOSS, 0x00, GI_HEART_CONTAINER, "Volvagia Heart Container", "Fire Temple Volvagia Heart Container", true), - RC_OBJECT(RC_WATER_TEMPLE_MAP_CHEST, RCVORMQ_VANILLA, RCTYPE_MAP_COMPASS, RCAREA_WATER_TEMPLE, ACTOR_EN_BOX, SCENE_WATER_TEMPLE, 6178, GI_MAP, "Map Chest", "Water Temple Map Chest", true), + RC_OBJECT(RC_WATER_TEMPLE_MAP_CHEST, RCVORMQ_VANILLA, RCTYPE_MAP_COMPASS, RCAREA_WATER_TEMPLE, ACTOR_EN_BOX, SCENE_WATER_TEMPLE, 6178, GI_DUNGEON_MAP, "Map Chest", "Water Temple Map Chest", true), RC_OBJECT(RC_WATER_TEMPLE_COMPASS_CHEST, RCVORMQ_VANILLA, RCTYPE_MAP_COMPASS, RCAREA_WATER_TEMPLE, ACTOR_EN_BOX, SCENE_WATER_TEMPLE, 2057, GI_COMPASS, "Compass Chest", "Water Temple Compass Chest", true), - RC_OBJECT(RC_WATER_TEMPLE_TORCHES_CHEST, RCVORMQ_VANILLA, RCTYPE_SMALL_KEY, RCAREA_WATER_TEMPLE, ACTOR_EN_BOX, SCENE_WATER_TEMPLE, 30785, GI_KEY_SMALL, "Torches Chest", "Water Temple Torches Chest", true), - RC_OBJECT(RC_WATER_TEMPLE_DRAGON_CHEST, RCVORMQ_VANILLA, RCTYPE_SMALL_KEY, RCAREA_WATER_TEMPLE, ACTOR_EN_BOX, SCENE_WATER_TEMPLE, 22602, GI_KEY_SMALL, "Dragon Chest", "Water Temple Dragon Chest", true), - RC_OBJECT(RC_WATER_TEMPLE_CENTRAL_BOW_TARGET_CHEST, RCVORMQ_VANILLA, RCTYPE_SMALL_KEY, RCAREA_WATER_TEMPLE, ACTOR_EN_BOX, SCENE_WATER_TEMPLE, 22600, GI_KEY_SMALL, "Central Bow Target Chest", "Water Temple Central Bow Target Chest", true), - RC_OBJECT(RC_WATER_TEMPLE_CENTRAL_PILLAR_CHEST, RCVORMQ_VANILLA, RCTYPE_SMALL_KEY, RCAREA_WATER_TEMPLE, ACTOR_EN_BOX, SCENE_WATER_TEMPLE, 22598, GI_KEY_SMALL, "Central Pillar Chest", "Water Temple Central Pillar Chest", true), - RC_OBJECT(RC_WATER_TEMPLE_CRACKED_WALL_CHEST, RCVORMQ_VANILLA, RCTYPE_SMALL_KEY, RCAREA_WATER_TEMPLE, ACTOR_EN_BOX, SCENE_WATER_TEMPLE, 22592, GI_KEY_SMALL, "Cracked Wall Chest", "Water Temple Cracked Wall Chest", true), - RC_OBJECT(RC_WATER_TEMPLE_BOSS_KEY_CHEST, RCVORMQ_VANILLA, RCTYPE_BOSS_KEY, RCAREA_WATER_TEMPLE, ACTOR_EN_BOX, SCENE_WATER_TEMPLE, 10213, GI_KEY_BOSS, "Boss Key Chest", "Water Temple Boss Key Chest", true), + RC_OBJECT(RC_WATER_TEMPLE_TORCHES_CHEST, RCVORMQ_VANILLA, RCTYPE_SMALL_KEY, RCAREA_WATER_TEMPLE, ACTOR_EN_BOX, SCENE_WATER_TEMPLE, 30785, GI_SMALL_KEY, "Torches Chest", "Water Temple Torches Chest", true), + RC_OBJECT(RC_WATER_TEMPLE_DRAGON_CHEST, RCVORMQ_VANILLA, RCTYPE_SMALL_KEY, RCAREA_WATER_TEMPLE, ACTOR_EN_BOX, SCENE_WATER_TEMPLE, 22602, GI_SMALL_KEY, "Dragon Chest", "Water Temple Dragon Chest", true), + RC_OBJECT(RC_WATER_TEMPLE_CENTRAL_BOW_TARGET_CHEST, RCVORMQ_VANILLA, RCTYPE_SMALL_KEY, RCAREA_WATER_TEMPLE, ACTOR_EN_BOX, SCENE_WATER_TEMPLE, 22600, GI_SMALL_KEY, "Central Bow Target Chest", "Water Temple Central Bow Target Chest", true), + RC_OBJECT(RC_WATER_TEMPLE_CENTRAL_PILLAR_CHEST, RCVORMQ_VANILLA, RCTYPE_SMALL_KEY, RCAREA_WATER_TEMPLE, ACTOR_EN_BOX, SCENE_WATER_TEMPLE, 22598, GI_SMALL_KEY, "Central Pillar Chest", "Water Temple Central Pillar Chest", true), + RC_OBJECT(RC_WATER_TEMPLE_CRACKED_WALL_CHEST, RCVORMQ_VANILLA, RCTYPE_SMALL_KEY, RCAREA_WATER_TEMPLE, ACTOR_EN_BOX, SCENE_WATER_TEMPLE, 22592, GI_SMALL_KEY, "Cracked Wall Chest", "Water Temple Cracked Wall Chest", true), + RC_OBJECT(RC_WATER_TEMPLE_BOSS_KEY_CHEST, RCVORMQ_VANILLA, RCTYPE_BOSS_KEY, RCAREA_WATER_TEMPLE, ACTOR_EN_BOX, SCENE_WATER_TEMPLE, 10213, GI_BOSS_KEY, "Boss Key Chest", "Water Temple Boss Key Chest", true), RC_OBJECT(RC_WATER_TEMPLE_LONGSHOT_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_WATER_TEMPLE, ACTOR_EN_BOX, SCENE_WATER_TEMPLE, 295, GI_LONGSHOT, "Longshot Chest", "Water Temple Longshot Chest", true), - RC_OBJECT(RC_WATER_TEMPLE_RIVER_CHEST, RCVORMQ_VANILLA, RCTYPE_SMALL_KEY, RCAREA_WATER_TEMPLE, ACTOR_EN_BOX, SCENE_WATER_TEMPLE, 22595, GI_KEY_SMALL, "River Chest", "Water Temple River Chest", true), - RC_OBJECT(RC_WATER_TEMPLE_MQ_CENTRAL_PILLAR_CHEST, RCVORMQ_MQ, RCTYPE_SMALL_KEY, RCAREA_WATER_TEMPLE, ACTOR_EN_BOX, SCENE_WATER_TEMPLE, -30650, GI_KEY_SMALL, "MQ Central Pillar Chest", "Water Temple MQ Central Pillar Chest", true), - RC_OBJECT(RC_WATER_TEMPLE_MQ_BOSS_KEY_CHEST, RCVORMQ_MQ, RCTYPE_BOSS_KEY, RCAREA_WATER_TEMPLE, ACTOR_EN_BOX, SCENE_WATER_TEMPLE, 10213, GI_KEY_BOSS, "MQ Boss Key Chest", "Water Temple MQ Boss Key Chest", true), + RC_OBJECT(RC_WATER_TEMPLE_RIVER_CHEST, RCVORMQ_VANILLA, RCTYPE_SMALL_KEY, RCAREA_WATER_TEMPLE, ACTOR_EN_BOX, SCENE_WATER_TEMPLE, 22595, GI_SMALL_KEY, "River Chest", "Water Temple River Chest", true), + RC_OBJECT(RC_WATER_TEMPLE_MQ_CENTRAL_PILLAR_CHEST, RCVORMQ_MQ, RCTYPE_SMALL_KEY, RCAREA_WATER_TEMPLE, ACTOR_EN_BOX, SCENE_WATER_TEMPLE, -30650, GI_SMALL_KEY, "MQ Central Pillar Chest", "Water Temple MQ Central Pillar Chest", true), + RC_OBJECT(RC_WATER_TEMPLE_MQ_BOSS_KEY_CHEST, RCVORMQ_MQ, RCTYPE_BOSS_KEY, RCAREA_WATER_TEMPLE, ACTOR_EN_BOX, SCENE_WATER_TEMPLE, 10213, GI_BOSS_KEY, "MQ Boss Key Chest", "Water Temple MQ Boss Key Chest", true), RC_OBJECT(RC_WATER_TEMPLE_MQ_LONGSHOT_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_WATER_TEMPLE, ACTOR_EN_BOX, SCENE_WATER_TEMPLE, -20192, GI_LONGSHOT, "MQ Longshot Chest", "Water Temple MQ Longshot Chest", true), RC_OBJECT(RC_WATER_TEMPLE_MQ_COMPASS_CHEST, RCVORMQ_MQ, RCTYPE_MAP_COMPASS, RCAREA_WATER_TEMPLE, ACTOR_EN_BOX, SCENE_WATER_TEMPLE, 6145, GI_COMPASS, "MQ Compass Chest", "Water Temple MQ Compass Chest", true), - RC_OBJECT(RC_WATER_TEMPLE_MQ_MAP_CHEST, RCVORMQ_MQ, RCTYPE_MAP_COMPASS, RCAREA_WATER_TEMPLE, ACTOR_EN_BOX, SCENE_WATER_TEMPLE, -18398, GI_MAP, "MQ Map Chest", "Water Temple MQ Map Chest", true), - RC_OBJECT(RC_WATER_TEMPLE_MQ_FREESTANDING_KEY, RCVORMQ_MQ, RCTYPE_SMALL_KEY, RCAREA_WATER_TEMPLE, ACTOR_EN_ITEM00, SCENE_WATER_TEMPLE, 273, GI_KEY_SMALL, "MQ Freestanding Key", "Water Temple MQ Freestanding Key", true), + RC_OBJECT(RC_WATER_TEMPLE_MQ_MAP_CHEST, RCVORMQ_MQ, RCTYPE_MAP_COMPASS, RCAREA_WATER_TEMPLE, ACTOR_EN_BOX, SCENE_WATER_TEMPLE, -18398, GI_DUNGEON_MAP, "MQ Map Chest", "Water Temple MQ Map Chest", true), + RC_OBJECT(RC_WATER_TEMPLE_MQ_FREESTANDING_KEY, RCVORMQ_MQ, RCTYPE_SMALL_KEY, RCAREA_WATER_TEMPLE, ACTOR_EN_ITEM00, SCENE_WATER_TEMPLE, 273, GI_SMALL_KEY, "MQ Freestanding Key", "Water Temple MQ Freestanding Key", true), RC_OBJECT(RC_WATER_TEMPLE_GS_BEHIND_GATE, RCVORMQ_VANILLA, RCTYPE_SKULL_TOKEN, RCAREA_WATER_TEMPLE, ACTOR_EN_SI, SCENE_WATER_TEMPLE, 9473, GI_SKULL_TOKEN, "GS Behind Gate", "Water Temple GS Behind Gate", true), RC_OBJECT(RC_WATER_TEMPLE_GS_FALLING_PLATFORM_ROOM, RCVORMQ_VANILLA, RCTYPE_SKULL_TOKEN, RCAREA_WATER_TEMPLE, ACTOR_EN_SI, SCENE_WATER_TEMPLE, 9474, GI_SKULL_TOKEN, "GS Falling Platform Room", "Water Temple GS Falling Platform Room", true), RC_OBJECT(RC_WATER_TEMPLE_GS_CENTRAL_PILLAR, RCVORMQ_VANILLA, RCTYPE_SKULL_TOKEN, RCAREA_WATER_TEMPLE, ACTOR_EN_SI, SCENE_WATER_TEMPLE, 9476, GI_SKULL_TOKEN, "GS Central Pillar", "Water Temple GS Central Pillar", true), @@ -573,45 +573,45 @@ std::map rcObjects = { RC_OBJECT(RC_WATER_TEMPLE_MORPHA_HEART, RCVORMQ_BOTH, RCTYPE_BOSS_HEART_OR_OTHER_REWARD, RCAREA_WATER_TEMPLE, ACTOR_ITEM_B_HEART, SCENE_WATER_TEMPLE_BOSS, 0x00, GI_HEART_CONTAINER, "Morpha Heart Container", "Water Temple Morpha Heart Container", true), - RC_OBJECT(RC_SPIRIT_TEMPLE_SILVER_GAUNTLETS_CHEST, RCVORMQ_BOTH, RCTYPE_STANDARD, RCAREA_SPIRIT_TEMPLE, ACTOR_EN_BOX, SCENE_DESERT_COLOSSUS, 1707, GI_GAUNTLETS_SILVER, "Silver Gauntlets Chest", "Spirit Temple Silver Gauntlets Chest", true), + RC_OBJECT(RC_SPIRIT_TEMPLE_SILVER_GAUNTLETS_CHEST, RCVORMQ_BOTH, RCTYPE_STANDARD, RCAREA_SPIRIT_TEMPLE, ACTOR_EN_BOX, SCENE_DESERT_COLOSSUS, 1707, GI_SILVER_GAUNTLETS, "Silver Gauntlets Chest", "Spirit Temple Silver Gauntlets Chest", true), RC_OBJECT(RC_SPIRIT_TEMPLE_MIRROR_SHIELD_CHEST, RCVORMQ_BOTH, RCTYPE_STANDARD, RCAREA_SPIRIT_TEMPLE, ACTOR_EN_BOX, SCENE_DESERT_COLOSSUS, 13673, GI_SHIELD_MIRROR, "Mirror Shield Chest", "Spirit Temple Mirror Shield Chest", true), RC_OBJECT(RC_SPIRIT_TEMPLE_CHILD_BRIDGE_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_SPIRIT_TEMPLE, ACTOR_EN_BOX, SCENE_SPIRIT_TEMPLE, 21800, GI_SHIELD_DEKU, "Child Bridge Chest", "Spirit Temple Child Bridge Chest", false), - RC_OBJECT(RC_SPIRIT_TEMPLE_CHILD_EARLY_TORCHES_CHEST, RCVORMQ_VANILLA, RCTYPE_SMALL_KEY, RCAREA_SPIRIT_TEMPLE, ACTOR_EN_BOX, SCENE_SPIRIT_TEMPLE, -30656, GI_KEY_SMALL, "Child Early Torches Chest", "Spirit Temple Child Early Torches Chest", true), + RC_OBJECT(RC_SPIRIT_TEMPLE_CHILD_EARLY_TORCHES_CHEST, RCVORMQ_VANILLA, RCTYPE_SMALL_KEY, RCAREA_SPIRIT_TEMPLE, ACTOR_EN_BOX, SCENE_SPIRIT_TEMPLE, -30656, GI_SMALL_KEY, "Child Early Torches Chest", "Spirit Temple Child Early Torches Chest", true), RC_OBJECT(RC_SPIRIT_TEMPLE_COMPASS_CHEST, RCVORMQ_VANILLA, RCTYPE_MAP_COMPASS, RCAREA_SPIRIT_TEMPLE, ACTOR_EN_BOX, SCENE_SPIRIT_TEMPLE, 14340, GI_COMPASS, "Compass Chest", "Spirit Temple Compass Chest", true), - RC_OBJECT(RC_SPIRIT_TEMPLE_EARLY_ADULT_RIGHT_CHEST, RCVORMQ_VANILLA, RCTYPE_SMALL_KEY, RCAREA_SPIRIT_TEMPLE, ACTOR_EN_BOX, SCENE_SPIRIT_TEMPLE, 22599, GI_KEY_SMALL, "Early Adult Right Chest", "Spirit Temple Early Adult Right Chest", true), - RC_OBJECT(RC_SPIRIT_TEMPLE_FIRST_MIRROR_LEFT_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_SPIRIT_TEMPLE, ACTOR_EN_BOX, SCENE_SPIRIT_TEMPLE, -30451, GI_HEART, "First Mirror Left Chest", "Spirit Temple First Mirror Left Chest", false), + RC_OBJECT(RC_SPIRIT_TEMPLE_EARLY_ADULT_RIGHT_CHEST, RCVORMQ_VANILLA, RCTYPE_SMALL_KEY, RCAREA_SPIRIT_TEMPLE, ACTOR_EN_BOX, SCENE_SPIRIT_TEMPLE, 22599, GI_SMALL_KEY, "Early Adult Right Chest", "Spirit Temple Early Adult Right Chest", true), + RC_OBJECT(RC_SPIRIT_TEMPLE_FIRST_MIRROR_LEFT_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_SPIRIT_TEMPLE, ACTOR_EN_BOX, SCENE_SPIRIT_TEMPLE, -30451, GI_RECOVERY_HEART, "First Mirror Left Chest", "Spirit Temple First Mirror Left Chest", false), RC_OBJECT(RC_SPIRIT_TEMPLE_FIRST_MIRROR_RIGHT_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_SPIRIT_TEMPLE, ACTOR_EN_BOX, SCENE_SPIRIT_TEMPLE, -28786, GI_ICE_TRAP, "First Mirror Right Chest", "Spirit Temple First Mirror Right Chest", false), - RC_OBJECT(RC_SPIRIT_TEMPLE_MAP_CHEST, RCVORMQ_VANILLA, RCTYPE_MAP_COMPASS, RCAREA_SPIRIT_TEMPLE, ACTOR_EN_BOX, SCENE_SPIRIT_TEMPLE, -18397, GI_MAP, "Map Chest", "Spirit Temple Map Chest", true), + RC_OBJECT(RC_SPIRIT_TEMPLE_MAP_CHEST, RCVORMQ_VANILLA, RCTYPE_MAP_COMPASS, RCAREA_SPIRIT_TEMPLE, ACTOR_EN_BOX, SCENE_SPIRIT_TEMPLE, -18397, GI_DUNGEON_MAP, "Map Chest", "Spirit Temple Map Chest", true), RC_OBJECT(RC_SPIRIT_TEMPLE_CHILD_CLIMB_NORTH_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_SPIRIT_TEMPLE, ACTOR_EN_BOX, SCENE_SPIRIT_TEMPLE, -32666, GI_BOMBCHUS_10, "Child Climb North Chest", "Spirit Temple Child Climb North Chest", false), RC_OBJECT(RC_SPIRIT_TEMPLE_CHILD_CLIMB_EAST_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_SPIRIT_TEMPLE, ACTOR_EN_BOX, SCENE_SPIRIT_TEMPLE, -31444, GI_SHIELD_DEKU, "Child Climb East Chest", "Spirit Temple Child Climb East Chest", false), - RC_OBJECT(RC_SPIRIT_TEMPLE_SUN_BLOCK_ROOM_CHEST, RCVORMQ_VANILLA, RCTYPE_SMALL_KEY, RCAREA_SPIRIT_TEMPLE, ACTOR_EN_BOX, SCENE_SPIRIT_TEMPLE, -30655, GI_KEY_SMALL, "Sun Block Room Chest", "Spirit Temple Sun Block Room Chest", true), - RC_OBJECT(RC_SPIRIT_TEMPLE_STATUE_ROOM_HAND_CHEST, RCVORMQ_VANILLA, RCTYPE_SMALL_KEY, RCAREA_SPIRIT_TEMPLE, ACTOR_EN_BOX, SCENE_SPIRIT_TEMPLE, -30654, GI_KEY_SMALL, "Statue Room Hand Chest", "Spirit Temple Statue Room Hand Chest", true), - RC_OBJECT(RC_SPIRIT_TEMPLE_STATUE_ROOM_NORTHEAST_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_SPIRIT_TEMPLE, ACTOR_EN_BOX, SCENE_SPIRIT_TEMPLE, -30577, GI_MAGIC_LARGE, "Statue Room Northeast Chest", "Spirit Temple Statue Room Northeast Chest", false), - RC_OBJECT(RC_SPIRIT_TEMPLE_NEAR_FOUR_ARMOS_CHEST, RCVORMQ_VANILLA, RCTYPE_SMALL_KEY, RCAREA_SPIRIT_TEMPLE, ACTOR_EN_BOX, SCENE_SPIRIT_TEMPLE, 22597, GI_KEY_SMALL, "Near Four Armos Chest", "Spirit Temple Near Four Armos Chest", true), - RC_OBJECT(RC_SPIRIT_TEMPLE_HALLWAY_RIGHT_INVISIBLE_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_SPIRIT_TEMPLE, ACTOR_EN_BOX, SCENE_SPIRIT_TEMPLE, 26900, GI_HEART, "Hallway Right Invisible Chest", "Spirit Temple Hallway Right Invisible Chest", false), - RC_OBJECT(RC_SPIRIT_TEMPLE_HALLWAY_LEFT_INVISIBLE_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_SPIRIT_TEMPLE, ACTOR_EN_BOX, SCENE_SPIRIT_TEMPLE, 26901, GI_HEART, "Hallway Left Invisible Chest", "Spirit Temple Hallway Left Invisible Chest", false), - RC_OBJECT(RC_SPIRIT_TEMPLE_BOSS_KEY_CHEST, RCVORMQ_VANILLA, RCTYPE_BOSS_KEY, RCAREA_SPIRIT_TEMPLE, ACTOR_EN_BOX, SCENE_SPIRIT_TEMPLE, 10218, GI_KEY_BOSS, "Boss Key Chest", "Spirit Temple Boss Key Chest", true), + RC_OBJECT(RC_SPIRIT_TEMPLE_SUN_BLOCK_ROOM_CHEST, RCVORMQ_VANILLA, RCTYPE_SMALL_KEY, RCAREA_SPIRIT_TEMPLE, ACTOR_EN_BOX, SCENE_SPIRIT_TEMPLE, -30655, GI_SMALL_KEY, "Sun Block Room Chest", "Spirit Temple Sun Block Room Chest", true), + RC_OBJECT(RC_SPIRIT_TEMPLE_STATUE_ROOM_HAND_CHEST, RCVORMQ_VANILLA, RCTYPE_SMALL_KEY, RCAREA_SPIRIT_TEMPLE, ACTOR_EN_BOX, SCENE_SPIRIT_TEMPLE, -30654, GI_SMALL_KEY, "Statue Room Hand Chest", "Spirit Temple Statue Room Hand Chest", true), + RC_OBJECT(RC_SPIRIT_TEMPLE_STATUE_ROOM_NORTHEAST_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_SPIRIT_TEMPLE, ACTOR_EN_BOX, SCENE_SPIRIT_TEMPLE, -30577, GI_MAGIC_JAR_LARGE, "Statue Room Northeast Chest", "Spirit Temple Statue Room Northeast Chest", false), + RC_OBJECT(RC_SPIRIT_TEMPLE_NEAR_FOUR_ARMOS_CHEST, RCVORMQ_VANILLA, RCTYPE_SMALL_KEY, RCAREA_SPIRIT_TEMPLE, ACTOR_EN_BOX, SCENE_SPIRIT_TEMPLE, 22597, GI_SMALL_KEY, "Near Four Armos Chest", "Spirit Temple Near Four Armos Chest", true), + RC_OBJECT(RC_SPIRIT_TEMPLE_HALLWAY_RIGHT_INVISIBLE_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_SPIRIT_TEMPLE, ACTOR_EN_BOX, SCENE_SPIRIT_TEMPLE, 26900, GI_RECOVERY_HEART, "Hallway Right Invisible Chest", "Spirit Temple Hallway Right Invisible Chest", false), + RC_OBJECT(RC_SPIRIT_TEMPLE_HALLWAY_LEFT_INVISIBLE_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_SPIRIT_TEMPLE, ACTOR_EN_BOX, SCENE_SPIRIT_TEMPLE, 26901, GI_RECOVERY_HEART, "Hallway Left Invisible Chest", "Spirit Temple Hallway Left Invisible Chest", false), + RC_OBJECT(RC_SPIRIT_TEMPLE_BOSS_KEY_CHEST, RCVORMQ_VANILLA, RCTYPE_BOSS_KEY, RCAREA_SPIRIT_TEMPLE, ACTOR_EN_BOX, SCENE_SPIRIT_TEMPLE, 10218, GI_BOSS_KEY, "Boss Key Chest", "Spirit Temple Boss Key Chest", true), RC_OBJECT(RC_SPIRIT_TEMPLE_TOPMOST_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_SPIRIT_TEMPLE, ACTOR_EN_BOX, SCENE_SPIRIT_TEMPLE, -29454, GI_BOMBS_20, "Topmost Chest", "Spirit Temple Topmost Chest", true), RC_OBJECT(RC_SPIRIT_TEMPLE_MQ_ENTRANCE_FRONT_LEFT_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_SPIRIT_TEMPLE, ACTOR_EN_BOX, SCENE_SPIRIT_TEMPLE, 20602, GI_BOMBCHUS_10, "MQ Entrance Front Left Chest", "Spirit Temple MQ Entrance Front Left Chest", false), RC_OBJECT(RC_SPIRIT_TEMPLE_MQ_ENTRANCE_BACK_RIGHT_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_SPIRIT_TEMPLE, ACTOR_EN_BOX, SCENE_SPIRIT_TEMPLE, -32641, GI_BOMBCHUS_10, "MQ Entrance Back Right Chest", "Spirit Temple MQ Entrance Back Right Chest", false), - RC_OBJECT(RC_SPIRIT_TEMPLE_MQ_ENTRANCE_FRONT_RIGHT_CHEST, RCVORMQ_MQ, RCTYPE_SMALL_KEY, RCAREA_SPIRIT_TEMPLE, ACTOR_EN_BOX, SCENE_SPIRIT_TEMPLE, -30629, GI_KEY_SMALL, "MQ Entrance Front Right Chest", "Spirit Temple MQ Entrance Front Right Chest", true), - RC_OBJECT(RC_SPIRIT_TEMPLE_MQ_ENTRANCE_BACK_LEFT_CHEST, RCVORMQ_MQ, RCTYPE_SMALL_KEY, RCAREA_SPIRIT_TEMPLE, ACTOR_EN_BOX, SCENE_SPIRIT_TEMPLE, -30626, GI_KEY_SMALL, "MQ Entrance Back Left Chest", "Spirit Temple MQ Entrance Back Left Chest", true), - RC_OBJECT(RC_SPIRIT_TEMPLE_MQ_CHILD_HAMMER_SWITCH_CHEST, RCVORMQ_MQ, RCTYPE_SMALL_KEY, RCAREA_SPIRIT_TEMPLE, ACTOR_EN_BOX, SCENE_SPIRIT_TEMPLE, -30627, GI_KEY_SMALL, "MQ Child Hammer Switch Chest", "Spirit Temple MQ Child Hammer Switch Chest", true), - RC_OBJECT(RC_SPIRIT_TEMPLE_MQ_MAP_CHEST, RCVORMQ_MQ, RCTYPE_MAP_COMPASS, RCAREA_SPIRIT_TEMPLE, ACTOR_EN_BOX, SCENE_SPIRIT_TEMPLE, 2080, GI_MAP, "MQ Map Chest", "Spirit Temple MQ Map Chest", true), - RC_OBJECT(RC_SPIRIT_TEMPLE_MQ_MAP_ROOM_ENEMY_CHEST, RCVORMQ_MQ, RCTYPE_SMALL_KEY, RCAREA_SPIRIT_TEMPLE, ACTOR_EN_BOX, SCENE_SPIRIT_TEMPLE, 30792, GI_KEY_SMALL, "MQ Map Room Enemy Chest", "Spirit Temple MQ Map Room Enemy Chest", true), + RC_OBJECT(RC_SPIRIT_TEMPLE_MQ_ENTRANCE_FRONT_RIGHT_CHEST, RCVORMQ_MQ, RCTYPE_SMALL_KEY, RCAREA_SPIRIT_TEMPLE, ACTOR_EN_BOX, SCENE_SPIRIT_TEMPLE, -30629, GI_SMALL_KEY, "MQ Entrance Front Right Chest", "Spirit Temple MQ Entrance Front Right Chest", true), + RC_OBJECT(RC_SPIRIT_TEMPLE_MQ_ENTRANCE_BACK_LEFT_CHEST, RCVORMQ_MQ, RCTYPE_SMALL_KEY, RCAREA_SPIRIT_TEMPLE, ACTOR_EN_BOX, SCENE_SPIRIT_TEMPLE, -30626, GI_SMALL_KEY, "MQ Entrance Back Left Chest", "Spirit Temple MQ Entrance Back Left Chest", true), + RC_OBJECT(RC_SPIRIT_TEMPLE_MQ_CHILD_HAMMER_SWITCH_CHEST, RCVORMQ_MQ, RCTYPE_SMALL_KEY, RCAREA_SPIRIT_TEMPLE, ACTOR_EN_BOX, SCENE_SPIRIT_TEMPLE, -30627, GI_SMALL_KEY, "MQ Child Hammer Switch Chest", "Spirit Temple MQ Child Hammer Switch Chest", true), + RC_OBJECT(RC_SPIRIT_TEMPLE_MQ_MAP_CHEST, RCVORMQ_MQ, RCTYPE_MAP_COMPASS, RCAREA_SPIRIT_TEMPLE, ACTOR_EN_BOX, SCENE_SPIRIT_TEMPLE, 2080, GI_DUNGEON_MAP, "MQ Map Chest", "Spirit Temple MQ Map Chest", true), + RC_OBJECT(RC_SPIRIT_TEMPLE_MQ_MAP_ROOM_ENEMY_CHEST, RCVORMQ_MQ, RCTYPE_SMALL_KEY, RCAREA_SPIRIT_TEMPLE, ACTOR_EN_BOX, SCENE_SPIRIT_TEMPLE, 30792, GI_SMALL_KEY, "MQ Map Room Enemy Chest", "Spirit Temple MQ Map Room Enemy Chest", true), RC_OBJECT(RC_SPIRIT_TEMPLE_MQ_CHILD_CLIMB_NORTH_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_SPIRIT_TEMPLE, ACTOR_EN_BOX, SCENE_SPIRIT_TEMPLE, 28774, GI_BOMBCHUS_10, "MQ Child Climb North Chest", "Spirit Temple MQ Child Climb North Chest", false), - RC_OBJECT(RC_SPIRIT_TEMPLE_MQ_CHILD_CLIMB_SOUTH_CHEST, RCVORMQ_MQ, RCTYPE_SMALL_KEY, RCAREA_SPIRIT_TEMPLE, ACTOR_EN_BOX, SCENE_SPIRIT_TEMPLE, -30644, GI_KEY_SMALL, "MQ Child Climb South Chest", "Spirit Temple MQ Child Climb South Chest", true), + RC_OBJECT(RC_SPIRIT_TEMPLE_MQ_CHILD_CLIMB_SOUTH_CHEST, RCVORMQ_MQ, RCTYPE_SMALL_KEY, RCAREA_SPIRIT_TEMPLE, ACTOR_EN_BOX, SCENE_SPIRIT_TEMPLE, -30644, GI_SMALL_KEY, "MQ Child Climb South Chest", "Spirit Temple MQ Child Climb South Chest", true), RC_OBJECT(RC_SPIRIT_TEMPLE_MQ_COMPASS_CHEST, RCVORMQ_MQ, RCTYPE_MAP_COMPASS, RCAREA_SPIRIT_TEMPLE, ACTOR_EN_BOX, SCENE_SPIRIT_TEMPLE, -18429, GI_COMPASS, "MQ Compass Chest", "Spirit Temple MQ Compass Chest", true), - RC_OBJECT(RC_SPIRIT_TEMPLE_MQ_STATUE_ROOM_LULLABY_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_SPIRIT_TEMPLE, ACTOR_EN_BOX, SCENE_SPIRIT_TEMPLE, -30577, GI_MAGIC_LARGE, "MQ Statue Room Lullaby Chest", "Spirit Temple MQ Statue Room Lullaby Chest", false), - RC_OBJECT(RC_SPIRIT_TEMPLE_MQ_STATUE_ROOM_INVISIBLE_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_SPIRIT_TEMPLE, ACTOR_EN_BOX, SCENE_SPIRIT_TEMPLE, 26882, GI_HEART, "MQ Statue Room Invisible Chest", "Spirit Temple MQ Statue Room Invisible Chest", false), - RC_OBJECT(RC_SPIRIT_TEMPLE_MQ_SILVER_BLOCK_HALLWAY_CHEST, RCVORMQ_MQ, RCTYPE_SMALL_KEY, RCAREA_SPIRIT_TEMPLE, ACTOR_EN_BOX, SCENE_SPIRIT_TEMPLE, -30628, GI_KEY_SMALL, "MQ Silver Block Hallway Chest", "Spirit Temple MQ Silver Block Hallway Chest", true), - RC_OBJECT(RC_SPIRIT_TEMPLE_MQ_SUN_BLOCK_ROOM_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_SPIRIT_TEMPLE, ACTOR_EN_BOX, SCENE_SPIRIT_TEMPLE, -30463, GI_HEART, "MQ Sun Block Room Chest", "Spirit Temple MQ Sun Block Room Chest", false), + RC_OBJECT(RC_SPIRIT_TEMPLE_MQ_STATUE_ROOM_LULLABY_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_SPIRIT_TEMPLE, ACTOR_EN_BOX, SCENE_SPIRIT_TEMPLE, -30577, GI_MAGIC_JAR_LARGE, "MQ Statue Room Lullaby Chest", "Spirit Temple MQ Statue Room Lullaby Chest", false), + RC_OBJECT(RC_SPIRIT_TEMPLE_MQ_STATUE_ROOM_INVISIBLE_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_SPIRIT_TEMPLE, ACTOR_EN_BOX, SCENE_SPIRIT_TEMPLE, 26882, GI_RECOVERY_HEART, "MQ Statue Room Invisible Chest", "Spirit Temple MQ Statue Room Invisible Chest", false), + RC_OBJECT(RC_SPIRIT_TEMPLE_MQ_SILVER_BLOCK_HALLWAY_CHEST, RCVORMQ_MQ, RCTYPE_SMALL_KEY, RCAREA_SPIRIT_TEMPLE, ACTOR_EN_BOX, SCENE_SPIRIT_TEMPLE, -30628, GI_SMALL_KEY, "MQ Silver Block Hallway Chest", "Spirit Temple MQ Silver Block Hallway Chest", true), + RC_OBJECT(RC_SPIRIT_TEMPLE_MQ_SUN_BLOCK_ROOM_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_SPIRIT_TEMPLE, ACTOR_EN_BOX, SCENE_SPIRIT_TEMPLE, -30463, GI_RECOVERY_HEART, "MQ Sun Block Room Chest", "Spirit Temple MQ Sun Block Room Chest", false), RC_OBJECT(RC_SPIRIT_TEMPLE_MQ_SYMPHONY_ROOM_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_SPIRIT_TEMPLE, ACTOR_EN_BOX, SCENE_SPIRIT_TEMPLE, 23207, GI_RUPEE_PURPLE, "MQ Symphony Room Chest", "Spirit Temple MQ Symphony Room Chest", false), RC_OBJECT(RC_SPIRIT_TEMPLE_MQ_LEEVER_ROOM_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_SPIRIT_TEMPLE, ACTOR_EN_BOX, SCENE_SPIRIT_TEMPLE, 31396, GI_RUPEE_PURPLE, "MQ Leever Room Chest", "Spirit Temple MQ Leever Room Chest", false), RC_OBJECT(RC_SPIRIT_TEMPLE_MQ_BEAMOS_ROOM_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_SPIRIT_TEMPLE, ACTOR_EN_BOX, SCENE_SPIRIT_TEMPLE, 24472, GI_ICE_TRAP, "MQ Beamos Room Chest", "Spirit Temple MQ Beamos Room Chest", false), - RC_OBJECT(RC_SPIRIT_TEMPLE_MQ_CHEST_SWITCH_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_SPIRIT_TEMPLE, ACTOR_EN_BOX, SCENE_SPIRIT_TEMPLE, 31097, GI_ARROWS_LARGE, "MQ Chest Switch Chest", "Spirit Temple MQ Chest Switch Chest", false), - RC_OBJECT(RC_SPIRIT_TEMPLE_MQ_BOSS_KEY_CHEST, RCVORMQ_MQ, RCTYPE_BOSS_KEY, RCAREA_SPIRIT_TEMPLE, ACTOR_EN_BOX, SCENE_SPIRIT_TEMPLE, 10213, GI_KEY_BOSS, "MQ Boss Key Chest", "Spirit Temple MQ Boss Key Chest", true), - RC_OBJECT(RC_SPIRIT_TEMPLE_MQ_MIRROR_PUZZLE_INVISIBLE_CHEST, RCVORMQ_MQ, RCTYPE_SMALL_KEY, RCAREA_SPIRIT_TEMPLE, ACTOR_EN_BOX, SCENE_SPIRIT_TEMPLE, 26706, GI_KEY_SMALL, "MQ Mirror Puzzle Invisible Chest", "Spirit Temple MQ Mirror Puzzle Invisible Chest", true), + RC_OBJECT(RC_SPIRIT_TEMPLE_MQ_CHEST_SWITCH_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_SPIRIT_TEMPLE, ACTOR_EN_BOX, SCENE_SPIRIT_TEMPLE, 31097, GI_ARROWS_30, "MQ Chest Switch Chest", "Spirit Temple MQ Chest Switch Chest", false), + RC_OBJECT(RC_SPIRIT_TEMPLE_MQ_BOSS_KEY_CHEST, RCVORMQ_MQ, RCTYPE_BOSS_KEY, RCAREA_SPIRIT_TEMPLE, ACTOR_EN_BOX, SCENE_SPIRIT_TEMPLE, 10213, GI_BOSS_KEY, "MQ Boss Key Chest", "Spirit Temple MQ Boss Key Chest", true), + RC_OBJECT(RC_SPIRIT_TEMPLE_MQ_MIRROR_PUZZLE_INVISIBLE_CHEST, RCVORMQ_MQ, RCTYPE_SMALL_KEY, RCAREA_SPIRIT_TEMPLE, ACTOR_EN_BOX, SCENE_SPIRIT_TEMPLE, 26706, GI_SMALL_KEY, "MQ Mirror Puzzle Invisible Chest", "Spirit Temple MQ Mirror Puzzle Invisible Chest", true), RC_OBJECT(RC_SPIRIT_TEMPLE_GS_HALL_AFTER_SUN_BLOCK_ROOM, RCVORMQ_VANILLA, RCTYPE_SKULL_TOKEN, RCAREA_SPIRIT_TEMPLE, ACTOR_EN_SI, SCENE_SPIRIT_TEMPLE, 9729, GI_SKULL_TOKEN, "GS Hall After Sun Block Room", "Spirit Temple GS Hall After Sun Block Room", true), RC_OBJECT(RC_SPIRIT_TEMPLE_GS_BOULDER_ROOM, RCVORMQ_VANILLA, RCTYPE_SKULL_TOKEN, RCAREA_SPIRIT_TEMPLE, ACTOR_EN_SI, SCENE_SPIRIT_TEMPLE, 9730, GI_SKULL_TOKEN, "GS Boulder Room", "Spirit Temple GS Boulder Room", true), RC_OBJECT(RC_SPIRIT_TEMPLE_GS_LOBBY, RCVORMQ_VANILLA, RCTYPE_SKULL_TOKEN, RCAREA_SPIRIT_TEMPLE, ACTOR_EN_SI, SCENE_SPIRIT_TEMPLE, 9732, GI_SKULL_TOKEN, "GS Lobby", "Spirit Temple GS Lobby", true), @@ -626,43 +626,43 @@ std::map rcObjects = { RC_OBJECT(RC_SPIRIT_TEMPLE_TWINROVA_HEART, RCVORMQ_BOTH, RCTYPE_BOSS_HEART_OR_OTHER_REWARD, RCAREA_SPIRIT_TEMPLE, ACTOR_ITEM_B_HEART, SCENE_SPIRIT_TEMPLE_BOSS, 0x00, GI_HEART_CONTAINER, "Twinrova Heart Container", "Spirit Temple Twinrova Heart Container", true), - RC_OBJECT(RC_SHADOW_TEMPLE_MAP_CHEST, RCVORMQ_VANILLA, RCTYPE_MAP_COMPASS, RCAREA_SHADOW_TEMPLE, ACTOR_EN_BOX, SCENE_SHADOW_TEMPLE, 6177, GI_MAP, "Map Chest", "Shadow Temple Map Chest", true), + RC_OBJECT(RC_SHADOW_TEMPLE_MAP_CHEST, RCVORMQ_VANILLA, RCTYPE_MAP_COMPASS, RCAREA_SHADOW_TEMPLE, ACTOR_EN_BOX, SCENE_SHADOW_TEMPLE, 6177, GI_DUNGEON_MAP, "Map Chest", "Shadow Temple Map Chest", true), RC_OBJECT(RC_SHADOW_TEMPLE_HOVER_BOOTS_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_SHADOW_TEMPLE, ACTOR_EN_BOX, SCENE_SHADOW_TEMPLE, 5607, GI_BOOTS_HOVER, "Hover Boots Chest", "Shadow Temple Hover Boots Chest", true), RC_OBJECT(RC_SHADOW_TEMPLE_COMPASS_CHEST, RCVORMQ_VANILLA, RCTYPE_MAP_COMPASS, RCAREA_SHADOW_TEMPLE, ACTOR_EN_BOX, SCENE_SHADOW_TEMPLE, 6147, GI_COMPASS, "Compass Chest", "Shadow Temple Compass Chest", true), - RC_OBJECT(RC_SHADOW_TEMPLE_EARLY_SILVER_RUPEE_CHEST, RCVORMQ_VANILLA, RCTYPE_SMALL_KEY, RCAREA_SHADOW_TEMPLE, ACTOR_EN_BOX, SCENE_SHADOW_TEMPLE, 22594, GI_KEY_SMALL, "Early Silver Rupee Chest", "Shadow Temple Early Silver Rupee Chest", true), - RC_OBJECT(RC_SHADOW_TEMPLE_INVISIBLE_BLADES_VISIBLE_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_SHADOW_TEMPLE, ACTOR_EN_BOX, SCENE_SHADOW_TEMPLE, 22668, GI_MAGIC_LARGE, "Invisible Blades Visible Chest", "Shadow Temple Invisible Blades Visible Chest", false), - RC_OBJECT(RC_SHADOW_TEMPLE_INVISIBLE_BLADES_INVISIBLE_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_SHADOW_TEMPLE, ACTOR_EN_BOX, SCENE_SHADOW_TEMPLE, 26998, GI_ARROWS_LARGE, "Invisible Blades Invisible Chest", "Shadow Temple Invisible Blades Invisible Chest", false), - RC_OBJECT(RC_SHADOW_TEMPLE_FALLING_SPIKES_LOWER_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_SHADOW_TEMPLE, ACTOR_EN_BOX, SCENE_SHADOW_TEMPLE, 22853, GI_ARROWS_MEDIUM, "Falling Spikes Lower Chest", "Shadow Temple Falling Spikes Lower Chest", false), - RC_OBJECT(RC_SHADOW_TEMPLE_FALLING_SPIKES_UPPER_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_SHADOW_TEMPLE, ACTOR_EN_BOX, SCENE_SHADOW_TEMPLE, 22662, GI_MAGIC_LARGE, "Falling Spikes Upper Chest", "Shadow Temple Falling Spikes Upper Chest", false), - RC_OBJECT(RC_SHADOW_TEMPLE_FALLING_SPIKES_SWITCH_CHEST, RCVORMQ_VANILLA, RCTYPE_SMALL_KEY, RCAREA_SHADOW_TEMPLE, ACTOR_EN_BOX, SCENE_SHADOW_TEMPLE, -30652, GI_KEY_SMALL, "Falling Spikes Switch Chest", "Shadow Temple Falling Spikes Switch Chest", true), - RC_OBJECT(RC_SHADOW_TEMPLE_INVISIBLE_SPIKES_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_SHADOW_TEMPLE, ACTOR_EN_BOX, SCENE_SHADOW_TEMPLE, 30857, GI_MAGIC_LARGE, "Invisible Spikes Chest", "Shadow Temple Invisible Spikes Chest", false), - RC_OBJECT(RC_SHADOW_TEMPLE_WIND_HINT_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_SHADOW_TEMPLE, ACTOR_EN_BOX, SCENE_SHADOW_TEMPLE, 26965, GI_ARROWS_MEDIUM, "Wind Hint Chest", "Shadow Temple Wind Hint Chest", false), - RC_OBJECT(RC_SHADOW_TEMPLE_AFTER_WIND_ENEMY_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_SHADOW_TEMPLE, ACTOR_EN_BOX, SCENE_SHADOW_TEMPLE, 30856, GI_MAGIC_LARGE, "After Wind Enemy Chest", "Shadow Temple After Wind Enemy Chest", false), - RC_OBJECT(RC_SHADOW_TEMPLE_AFTER_WIND_HIDDEN_CHEST, RCVORMQ_VANILLA, RCTYPE_SMALL_KEY, RCAREA_SHADOW_TEMPLE, ACTOR_EN_BOX, SCENE_SHADOW_TEMPLE, 26708, GI_KEY_SMALL, "After Wind Hidden Chest", "Shadow Temple After Wind Hidden Chest", false), - RC_OBJECT(RC_SHADOW_TEMPLE_SPIKE_WALLS_LEFT_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_SHADOW_TEMPLE, ACTOR_EN_BOX, SCENE_SHADOW_TEMPLE, 22666, GI_MAGIC_LARGE, "Spike Walls Left Chest", "Shadow Temple Spike Walls Left Chest", false), - RC_OBJECT(RC_SHADOW_TEMPLE_BOSS_KEY_CHEST, RCVORMQ_VANILLA, RCTYPE_BOSS_KEY, RCAREA_SHADOW_TEMPLE, ACTOR_EN_BOX, SCENE_SHADOW_TEMPLE, 10219, GI_KEY_BOSS, "Boss Key Chest", "Shadow Temple Boss Key Chest", true), - RC_OBJECT(RC_SHADOW_TEMPLE_INVISIBLE_FLOORMASTER_CHEST, RCVORMQ_VANILLA, RCTYPE_SMALL_KEY, RCAREA_SHADOW_TEMPLE, ACTOR_EN_BOX, SCENE_SHADOW_TEMPLE, 30797, GI_KEY_SMALL, "Invisible Floormaster Chest", "Shadow Temple Invisible Floormaster Chest", true), - RC_OBJECT(RC_SHADOW_TEMPLE_FREESTANDING_KEY, RCVORMQ_VANILLA, RCTYPE_SMALL_KEY, RCAREA_SHADOW_TEMPLE, ACTOR_EN_ITEM00, SCENE_SHADOW_TEMPLE, 273, GI_KEY_SMALL, "Freestanding Key", "Shadow Temple Freestanding Key", true), + RC_OBJECT(RC_SHADOW_TEMPLE_EARLY_SILVER_RUPEE_CHEST, RCVORMQ_VANILLA, RCTYPE_SMALL_KEY, RCAREA_SHADOW_TEMPLE, ACTOR_EN_BOX, SCENE_SHADOW_TEMPLE, 22594, GI_SMALL_KEY, "Early Silver Rupee Chest", "Shadow Temple Early Silver Rupee Chest", true), + RC_OBJECT(RC_SHADOW_TEMPLE_INVISIBLE_BLADES_VISIBLE_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_SHADOW_TEMPLE, ACTOR_EN_BOX, SCENE_SHADOW_TEMPLE, 22668, GI_MAGIC_JAR_LARGE, "Invisible Blades Visible Chest", "Shadow Temple Invisible Blades Visible Chest", false), + RC_OBJECT(RC_SHADOW_TEMPLE_INVISIBLE_BLADES_INVISIBLE_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_SHADOW_TEMPLE, ACTOR_EN_BOX, SCENE_SHADOW_TEMPLE, 26998, GI_ARROWS_30, "Invisible Blades Invisible Chest", "Shadow Temple Invisible Blades Invisible Chest", false), + RC_OBJECT(RC_SHADOW_TEMPLE_FALLING_SPIKES_LOWER_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_SHADOW_TEMPLE, ACTOR_EN_BOX, SCENE_SHADOW_TEMPLE, 22853, GI_ARROWS_10, "Falling Spikes Lower Chest", "Shadow Temple Falling Spikes Lower Chest", false), + RC_OBJECT(RC_SHADOW_TEMPLE_FALLING_SPIKES_UPPER_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_SHADOW_TEMPLE, ACTOR_EN_BOX, SCENE_SHADOW_TEMPLE, 22662, GI_MAGIC_JAR_LARGE, "Falling Spikes Upper Chest", "Shadow Temple Falling Spikes Upper Chest", false), + RC_OBJECT(RC_SHADOW_TEMPLE_FALLING_SPIKES_SWITCH_CHEST, RCVORMQ_VANILLA, RCTYPE_SMALL_KEY, RCAREA_SHADOW_TEMPLE, ACTOR_EN_BOX, SCENE_SHADOW_TEMPLE, -30652, GI_SMALL_KEY, "Falling Spikes Switch Chest", "Shadow Temple Falling Spikes Switch Chest", true), + RC_OBJECT(RC_SHADOW_TEMPLE_INVISIBLE_SPIKES_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_SHADOW_TEMPLE, ACTOR_EN_BOX, SCENE_SHADOW_TEMPLE, 30857, GI_MAGIC_JAR_LARGE, "Invisible Spikes Chest", "Shadow Temple Invisible Spikes Chest", false), + RC_OBJECT(RC_SHADOW_TEMPLE_WIND_HINT_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_SHADOW_TEMPLE, ACTOR_EN_BOX, SCENE_SHADOW_TEMPLE, 26965, GI_ARROWS_10, "Wind Hint Chest", "Shadow Temple Wind Hint Chest", false), + RC_OBJECT(RC_SHADOW_TEMPLE_AFTER_WIND_ENEMY_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_SHADOW_TEMPLE, ACTOR_EN_BOX, SCENE_SHADOW_TEMPLE, 30856, GI_MAGIC_JAR_LARGE, "After Wind Enemy Chest", "Shadow Temple After Wind Enemy Chest", false), + RC_OBJECT(RC_SHADOW_TEMPLE_AFTER_WIND_HIDDEN_CHEST, RCVORMQ_VANILLA, RCTYPE_SMALL_KEY, RCAREA_SHADOW_TEMPLE, ACTOR_EN_BOX, SCENE_SHADOW_TEMPLE, 26708, GI_SMALL_KEY, "After Wind Hidden Chest", "Shadow Temple After Wind Hidden Chest", false), + RC_OBJECT(RC_SHADOW_TEMPLE_SPIKE_WALLS_LEFT_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_SHADOW_TEMPLE, ACTOR_EN_BOX, SCENE_SHADOW_TEMPLE, 22666, GI_MAGIC_JAR_LARGE, "Spike Walls Left Chest", "Shadow Temple Spike Walls Left Chest", false), + RC_OBJECT(RC_SHADOW_TEMPLE_BOSS_KEY_CHEST, RCVORMQ_VANILLA, RCTYPE_BOSS_KEY, RCAREA_SHADOW_TEMPLE, ACTOR_EN_BOX, SCENE_SHADOW_TEMPLE, 10219, GI_BOSS_KEY, "Boss Key Chest", "Shadow Temple Boss Key Chest", true), + RC_OBJECT(RC_SHADOW_TEMPLE_INVISIBLE_FLOORMASTER_CHEST, RCVORMQ_VANILLA, RCTYPE_SMALL_KEY, RCAREA_SHADOW_TEMPLE, ACTOR_EN_BOX, SCENE_SHADOW_TEMPLE, 30797, GI_SMALL_KEY, "Invisible Floormaster Chest", "Shadow Temple Invisible Floormaster Chest", true), + RC_OBJECT(RC_SHADOW_TEMPLE_FREESTANDING_KEY, RCVORMQ_VANILLA, RCTYPE_SMALL_KEY, RCAREA_SHADOW_TEMPLE, ACTOR_EN_ITEM00, SCENE_SHADOW_TEMPLE, 273, GI_SMALL_KEY, "Freestanding Key", "Shadow Temple Freestanding Key", true), RC_OBJECT(RC_SHADOW_TEMPLE_MQ_COMPASS_CHEST, RCVORMQ_MQ, RCTYPE_MAP_COMPASS, RCAREA_SHADOW_TEMPLE, ACTOR_EN_BOX, SCENE_SHADOW_TEMPLE, 6145, GI_COMPASS, "MQ Compass Chest", "Shadow Temple MQ Compass Chest", true), RC_OBJECT(RC_SHADOW_TEMPLE_MQ_HOVER_BOOTS_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_SHADOW_TEMPLE, ACTOR_EN_BOX, SCENE_SHADOW_TEMPLE, 5607, GI_BOOTS_HOVER, "MQ Hover Boots Chest", "Shadow Temple MQ Hover Boots Chest", true), - RC_OBJECT(RC_SHADOW_TEMPLE_MQ_EARLY_GIBDOS_CHEST, RCVORMQ_MQ, RCTYPE_SMALL_KEY, RCAREA_SHADOW_TEMPLE, ACTOR_EN_BOX, SCENE_SHADOW_TEMPLE, 30787, GI_KEY_SMALL, "MQ Early Gibdos Chest", "Shadow Temple MQ Early Gibdos Chest", true), - RC_OBJECT(RC_SHADOW_TEMPLE_MQ_MAP_CHEST, RCVORMQ_MQ, RCTYPE_MAP_COMPASS, RCAREA_SHADOW_TEMPLE, ACTOR_EN_BOX, SCENE_SHADOW_TEMPLE, 2082, GI_MAP, "MQ Map Chest", "Shadow Temple MQ Map Chest", true), - RC_OBJECT(RC_SHADOW_TEMPLE_MQ_BEAMOS_SILVER_RUPEES_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_SHADOW_TEMPLE, ACTOR_EN_BOX, SCENE_SHADOW_TEMPLE, -30417, GI_ARROWS_SMALL, "MQ Beamos Silver Rupees Chest", "Shadow Temple MQ Beamos Silver Rupees Chest", false), - RC_OBJECT(RC_SHADOW_TEMPLE_MQ_FALLING_SPIKES_SWITCH_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_SHADOW_TEMPLE, ACTOR_EN_BOX, SCENE_SHADOW_TEMPLE, 22662, GI_MAGIC_LARGE, "MQ Falling Spikes Switch Chest", "Shadow Temple MQ Falling Spikes Switch Chest", false), - RC_OBJECT(RC_SHADOW_TEMPLE_MQ_FALLING_SPIKES_LOWER_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_SHADOW_TEMPLE, ACTOR_EN_BOX, SCENE_SHADOW_TEMPLE, 22853, GI_ARROWS_MEDIUM, "MQ Falling Spikes Lower Chest", "Shadow Temple MQ Falling Spikes Lower Chest", false), - RC_OBJECT(RC_SHADOW_TEMPLE_MQ_FALLING_SPIKES_UPPER_CHEST, RCVORMQ_MQ, RCTYPE_SMALL_KEY, RCAREA_SHADOW_TEMPLE, ACTOR_EN_BOX, SCENE_SHADOW_TEMPLE, -30652, GI_KEY_SMALL, "MQ Falling Spikes Upper Chest", "Shadow Temple MQ Falling Spikes Upper Chest", false), - RC_OBJECT(RC_SHADOW_TEMPLE_MQ_INVISIBLE_SPIKES_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_SHADOW_TEMPLE, ACTOR_EN_BOX, SCENE_SHADOW_TEMPLE, 30857, GI_MAGIC_LARGE, "MQ Invisible Spikes Chest", "Shadow Temple MQ Invisible Spikes Chest", false), - RC_OBJECT(RC_SHADOW_TEMPLE_MQ_BOSS_KEY_CHEST, RCVORMQ_MQ, RCTYPE_BOSS_KEY, RCAREA_SHADOW_TEMPLE, ACTOR_EN_BOX, SCENE_SHADOW_TEMPLE, 10219, GI_KEY_BOSS, "MQ Boss Key Chest", "Shadow Temple MQ Boss Key Chest", true), - RC_OBJECT(RC_SHADOW_TEMPLE_MQ_SPIKE_WALLS_LEFT_CHEST, RCVORMQ_MQ, RCTYPE_SMALL_KEY, RCAREA_SHADOW_TEMPLE, ACTOR_EN_BOX, SCENE_SHADOW_TEMPLE, 22666, GI_KEY_SMALL, "MQ Spike Walls Left Chest", "Shadow Temple MQ Spike Walls Left Chest", true), + RC_OBJECT(RC_SHADOW_TEMPLE_MQ_EARLY_GIBDOS_CHEST, RCVORMQ_MQ, RCTYPE_SMALL_KEY, RCAREA_SHADOW_TEMPLE, ACTOR_EN_BOX, SCENE_SHADOW_TEMPLE, 30787, GI_SMALL_KEY, "MQ Early Gibdos Chest", "Shadow Temple MQ Early Gibdos Chest", true), + RC_OBJECT(RC_SHADOW_TEMPLE_MQ_MAP_CHEST, RCVORMQ_MQ, RCTYPE_MAP_COMPASS, RCAREA_SHADOW_TEMPLE, ACTOR_EN_BOX, SCENE_SHADOW_TEMPLE, 2082, GI_DUNGEON_MAP, "MQ Map Chest", "Shadow Temple MQ Map Chest", true), + RC_OBJECT(RC_SHADOW_TEMPLE_MQ_BEAMOS_SILVER_RUPEES_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_SHADOW_TEMPLE, ACTOR_EN_BOX, SCENE_SHADOW_TEMPLE, -30417, GI_ARROWS_5, "MQ Beamos Silver Rupees Chest", "Shadow Temple MQ Beamos Silver Rupees Chest", false), + RC_OBJECT(RC_SHADOW_TEMPLE_MQ_FALLING_SPIKES_SWITCH_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_SHADOW_TEMPLE, ACTOR_EN_BOX, SCENE_SHADOW_TEMPLE, 22662, GI_MAGIC_JAR_LARGE, "MQ Falling Spikes Switch Chest", "Shadow Temple MQ Falling Spikes Switch Chest", false), + RC_OBJECT(RC_SHADOW_TEMPLE_MQ_FALLING_SPIKES_LOWER_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_SHADOW_TEMPLE, ACTOR_EN_BOX, SCENE_SHADOW_TEMPLE, 22853, GI_ARROWS_10, "MQ Falling Spikes Lower Chest", "Shadow Temple MQ Falling Spikes Lower Chest", false), + RC_OBJECT(RC_SHADOW_TEMPLE_MQ_FALLING_SPIKES_UPPER_CHEST, RCVORMQ_MQ, RCTYPE_SMALL_KEY, RCAREA_SHADOW_TEMPLE, ACTOR_EN_BOX, SCENE_SHADOW_TEMPLE, -30652, GI_SMALL_KEY, "MQ Falling Spikes Upper Chest", "Shadow Temple MQ Falling Spikes Upper Chest", false), + RC_OBJECT(RC_SHADOW_TEMPLE_MQ_INVISIBLE_SPIKES_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_SHADOW_TEMPLE, ACTOR_EN_BOX, SCENE_SHADOW_TEMPLE, 30857, GI_MAGIC_JAR_LARGE, "MQ Invisible Spikes Chest", "Shadow Temple MQ Invisible Spikes Chest", false), + RC_OBJECT(RC_SHADOW_TEMPLE_MQ_BOSS_KEY_CHEST, RCVORMQ_MQ, RCTYPE_BOSS_KEY, RCAREA_SHADOW_TEMPLE, ACTOR_EN_BOX, SCENE_SHADOW_TEMPLE, 10219, GI_BOSS_KEY, "MQ Boss Key Chest", "Shadow Temple MQ Boss Key Chest", true), + RC_OBJECT(RC_SHADOW_TEMPLE_MQ_SPIKE_WALLS_LEFT_CHEST, RCVORMQ_MQ, RCTYPE_SMALL_KEY, RCAREA_SHADOW_TEMPLE, ACTOR_EN_BOX, SCENE_SHADOW_TEMPLE, 22666, GI_SMALL_KEY, "MQ Spike Walls Left Chest", "Shadow Temple MQ Spike Walls Left Chest", true), RC_OBJECT(RC_SHADOW_TEMPLE_MQ_STALFOS_ROOM_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_SHADOW_TEMPLE, ACTOR_EN_BOX, SCENE_SHADOW_TEMPLE, 31184, GI_RUPEE_RED, "MQ Stalfos Room Chest", "Shadow Temple MQ Stalfos Room Chest", false), - RC_OBJECT(RC_SHADOW_TEMPLE_MQ_INVISIBLE_BLADES_INVISIBLE_CHEST, RCVORMQ_MQ, RCTYPE_SMALL_KEY, RCAREA_SHADOW_TEMPLE, ACTOR_EN_BOX, SCENE_SHADOW_TEMPLE, 26710, GI_KEY_SMALL, "MQ Invisible Blades Invisible Chest", "Shadow Temple MQ Invisible Blades Invisible Chest", true), - RC_OBJECT(RC_SHADOW_TEMPLE_MQ_INVISIBLE_BLADES_VISIBLE_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_SHADOW_TEMPLE, ACTOR_EN_BOX, SCENE_SHADOW_TEMPLE, 22668, GI_MAGIC_LARGE, "MQ Invisible Blades Visible Chest", "Shadow Temple MQ Invisible Blades Visible Chest", false), - RC_OBJECT(RC_SHADOW_TEMPLE_MQ_BOMB_FLOWER_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_SHADOW_TEMPLE, ACTOR_EN_BOX, SCENE_SHADOW_TEMPLE, 31053, GI_ARROWS_MEDIUM, "MQ Bomb Flower Chest", "Shadow Temple MQ Bomb Flower Chest", false), - RC_OBJECT(RC_SHADOW_TEMPLE_MQ_WIND_HINT_CHEST, RCVORMQ_MQ, RCTYPE_SMALL_KEY, RCAREA_SHADOW_TEMPLE, ACTOR_EN_BOX, SCENE_SHADOW_TEMPLE, 26709, GI_KEY_SMALL, "MQ Wind Hint Chest", "Shadow Temple MQ Wind Hint Chest", true), - RC_OBJECT(RC_SHADOW_TEMPLE_MQ_AFTER_WIND_HIDDEN_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_SHADOW_TEMPLE, ACTOR_EN_BOX, SCENE_SHADOW_TEMPLE, 26932, GI_ARROWS_SMALL, "MQ After Wind Hidden Chest", "Shadow Temple MQ After Wind Hidden Chest", false), - RC_OBJECT(RC_SHADOW_TEMPLE_MQ_AFTER_WIND_ENEMY_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_SHADOW_TEMPLE, ACTOR_EN_BOX, SCENE_SHADOW_TEMPLE, 30856, GI_MAGIC_LARGE, "MQ After Wind Enemy Chest", "Shadow Temple MQ After Wind Enemy Chest", false), - RC_OBJECT(RC_SHADOW_TEMPLE_MQ_NEAR_SHIP_INVISIBLE_CHEST, RCVORMQ_MQ, RCTYPE_SMALL_KEY, RCAREA_SHADOW_TEMPLE, ACTOR_EN_BOX, SCENE_SHADOW_TEMPLE, 26702, GI_KEY_SMALL, "MQ Near Ship Invisible Chest", "Shadow Temple MQ Near Ship Invisible Chest", true), - RC_OBJECT(RC_SHADOW_TEMPLE_MQ_FREESTANDING_KEY, RCVORMQ_MQ, RCTYPE_SMALL_KEY, RCAREA_SHADOW_TEMPLE, ACTOR_EN_ITEM00, SCENE_SHADOW_TEMPLE, 1553, GI_KEY_SMALL, "MQ Freestanding Key", "Shadow Temple MQ Freestanding Key", true), + RC_OBJECT(RC_SHADOW_TEMPLE_MQ_INVISIBLE_BLADES_INVISIBLE_CHEST, RCVORMQ_MQ, RCTYPE_SMALL_KEY, RCAREA_SHADOW_TEMPLE, ACTOR_EN_BOX, SCENE_SHADOW_TEMPLE, 26710, GI_SMALL_KEY, "MQ Invisible Blades Invisible Chest", "Shadow Temple MQ Invisible Blades Invisible Chest", true), + RC_OBJECT(RC_SHADOW_TEMPLE_MQ_INVISIBLE_BLADES_VISIBLE_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_SHADOW_TEMPLE, ACTOR_EN_BOX, SCENE_SHADOW_TEMPLE, 22668, GI_MAGIC_JAR_LARGE, "MQ Invisible Blades Visible Chest", "Shadow Temple MQ Invisible Blades Visible Chest", false), + RC_OBJECT(RC_SHADOW_TEMPLE_MQ_BOMB_FLOWER_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_SHADOW_TEMPLE, ACTOR_EN_BOX, SCENE_SHADOW_TEMPLE, 31053, GI_ARROWS_10, "MQ Bomb Flower Chest", "Shadow Temple MQ Bomb Flower Chest", false), + RC_OBJECT(RC_SHADOW_TEMPLE_MQ_WIND_HINT_CHEST, RCVORMQ_MQ, RCTYPE_SMALL_KEY, RCAREA_SHADOW_TEMPLE, ACTOR_EN_BOX, SCENE_SHADOW_TEMPLE, 26709, GI_SMALL_KEY, "MQ Wind Hint Chest", "Shadow Temple MQ Wind Hint Chest", true), + RC_OBJECT(RC_SHADOW_TEMPLE_MQ_AFTER_WIND_HIDDEN_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_SHADOW_TEMPLE, ACTOR_EN_BOX, SCENE_SHADOW_TEMPLE, 26932, GI_ARROWS_5, "MQ After Wind Hidden Chest", "Shadow Temple MQ After Wind Hidden Chest", false), + RC_OBJECT(RC_SHADOW_TEMPLE_MQ_AFTER_WIND_ENEMY_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_SHADOW_TEMPLE, ACTOR_EN_BOX, SCENE_SHADOW_TEMPLE, 30856, GI_MAGIC_JAR_LARGE, "MQ After Wind Enemy Chest", "Shadow Temple MQ After Wind Enemy Chest", false), + RC_OBJECT(RC_SHADOW_TEMPLE_MQ_NEAR_SHIP_INVISIBLE_CHEST, RCVORMQ_MQ, RCTYPE_SMALL_KEY, RCAREA_SHADOW_TEMPLE, ACTOR_EN_BOX, SCENE_SHADOW_TEMPLE, 26702, GI_SMALL_KEY, "MQ Near Ship Invisible Chest", "Shadow Temple MQ Near Ship Invisible Chest", true), + RC_OBJECT(RC_SHADOW_TEMPLE_MQ_FREESTANDING_KEY, RCVORMQ_MQ, RCTYPE_SMALL_KEY, RCAREA_SHADOW_TEMPLE, ACTOR_EN_ITEM00, SCENE_SHADOW_TEMPLE, 1553, GI_SMALL_KEY, "MQ Freestanding Key", "Shadow Temple MQ Freestanding Key", true), RC_OBJECT(RC_SHADOW_TEMPLE_GS_SINGLE_GIANT_POT, RCVORMQ_VANILLA, RCTYPE_SKULL_TOKEN, RCAREA_SHADOW_TEMPLE, ACTOR_EN_SI, SCENE_SHADOW_TEMPLE, 9985, GI_SKULL_TOKEN, "GS Single Giant Pot", "Shadow Temple GS Single Giant Pot", true), RC_OBJECT(RC_SHADOW_TEMPLE_GS_FALLING_SPIKES_ROOM, RCVORMQ_VANILLA, RCTYPE_SKULL_TOKEN, RCAREA_SHADOW_TEMPLE, ACTOR_EN_SI, SCENE_SHADOW_TEMPLE, 9986, GI_SKULL_TOKEN, "GS Falling Spikes Room", "Shadow Temple GS Falling Spikes Room", true), RC_OBJECT(RC_SHADOW_TEMPLE_GS_TRIPLE_GIANT_POT, RCVORMQ_VANILLA, RCTYPE_SKULL_TOKEN, RCAREA_SHADOW_TEMPLE, ACTOR_EN_SI, SCENE_SHADOW_TEMPLE, 9988, GI_SKULL_TOKEN, "GS Triple Giant Pot", "Shadow Temple GS Triple Giant Pot", true), @@ -677,25 +677,25 @@ std::map rcObjects = { RC_OBJECT(RC_SHADOW_TEMPLE_BONGO_BONGO_HEART, RCVORMQ_BOTH, RCTYPE_BOSS_HEART_OR_OTHER_REWARD, RCAREA_SHADOW_TEMPLE, ACTOR_ITEM_B_HEART, SCENE_SHADOW_TEMPLE_BOSS, 0x00, GI_HEART_CONTAINER, "Bongo Bongo Heart Container", "Shadow Temple Bongo Bongo Heart Container", true), - RC_OBJECT(RC_BOTTOM_OF_THE_WELL_FRONT_LEFT_FAKE_WALL_CHEST, RCVORMQ_VANILLA, RCTYPE_SMALL_KEY, RCAREA_BOTTOM_OF_THE_WELL, ACTOR_EN_BOX, SCENE_BOTTOM_OF_THE_WELL, 22600, GI_KEY_SMALL, "Front Left Fake Wall Chest", "Bottom of the Well Front Left Fake Wall Chest", true), + RC_OBJECT(RC_BOTTOM_OF_THE_WELL_FRONT_LEFT_FAKE_WALL_CHEST, RCVORMQ_VANILLA, RCTYPE_SMALL_KEY, RCAREA_BOTTOM_OF_THE_WELL, ACTOR_EN_BOX, SCENE_BOTTOM_OF_THE_WELL, 22600, GI_SMALL_KEY, "Front Left Fake Wall Chest", "Bottom of the Well Front Left Fake Wall Chest", true), RC_OBJECT(RC_BOTTOM_OF_THE_WELL_FRONT_CENTER_BOMBABLE_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_BOTTOM_OF_THE_WELL, ACTOR_EN_BOX, SCENE_BOTTOM_OF_THE_WELL, 20578, GI_BOMBCHUS_10, "Front Center Bombable Chest", "Bottom of the Well Front Center Bombable Chest", false), - RC_OBJECT(RC_BOTTOM_OF_THE_WELL_RIGHT_BOTTOM_FAKE_WALL_CHEST, RCVORMQ_VANILLA, RCTYPE_SMALL_KEY, RCAREA_BOTTOM_OF_THE_WELL, ACTOR_EN_BOX, SCENE_BOTTOM_OF_THE_WELL, 22597, GI_KEY_SMALL, "Right Bottom Fake Wall Chest", "Bottom of the Well Right Bottom Fake Wall Chest", true), + RC_OBJECT(RC_BOTTOM_OF_THE_WELL_RIGHT_BOTTOM_FAKE_WALL_CHEST, RCVORMQ_VANILLA, RCTYPE_SMALL_KEY, RCAREA_BOTTOM_OF_THE_WELL, ACTOR_EN_BOX, SCENE_BOTTOM_OF_THE_WELL, 22597, GI_SMALL_KEY, "Right Bottom Fake Wall Chest", "Bottom of the Well Right Bottom Fake Wall Chest", true), RC_OBJECT(RC_BOTTOM_OF_THE_WELL_COMPASS_CHEST, RCVORMQ_VANILLA, RCTYPE_MAP_COMPASS, RCAREA_BOTTOM_OF_THE_WELL, ACTOR_EN_BOX, SCENE_BOTTOM_OF_THE_WELL, 2049, GI_COMPASS, "Compass Chest", "Bottom of the Well Compass Chest", true), - RC_OBJECT(RC_BOTTOM_OF_THE_WELL_CENTER_SKULLTULA_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_BOTTOM_OF_THE_WELL, ACTOR_EN_BOX, SCENE_BOTTOM_OF_THE_WELL, 20558, GI_NUTS_5, "Center Skulltula Chest", "Bottom of the Well Center Skulltula Chest", false), - RC_OBJECT(RC_BOTTOM_OF_THE_WELL_BACK_LEFT_BOMBABLE_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_BOTTOM_OF_THE_WELL, ACTOR_EN_BOX, SCENE_BOTTOM_OF_THE_WELL, 23684, GI_NUTS_10, "Back Left Bombable Chest", "Bottom of the Well Back Left Bombable Chest", false), - RC_OBJECT(RC_BOTTOM_OF_THE_WELL_LENS_OF_TRUTH_CHEST, RCVORMQ_VANILLA, RCTYPE_BOSS_HEART_OR_OTHER_REWARD, RCAREA_BOTTOM_OF_THE_WELL, ACTOR_EN_BOX, SCENE_BOTTOM_OF_THE_WELL, 4419, GI_LENS, "Lens of Truth Chest", "Bottom of the Well Lens of Truth Chest", true), + RC_OBJECT(RC_BOTTOM_OF_THE_WELL_CENTER_SKULLTULA_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_BOTTOM_OF_THE_WELL, ACTOR_EN_BOX, SCENE_BOTTOM_OF_THE_WELL, 20558, GI_DEKU_NUTS_5, "Center Skulltula Chest", "Bottom of the Well Center Skulltula Chest", false), + RC_OBJECT(RC_BOTTOM_OF_THE_WELL_BACK_LEFT_BOMBABLE_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_BOTTOM_OF_THE_WELL, ACTOR_EN_BOX, SCENE_BOTTOM_OF_THE_WELL, 23684, GI_DEKU_NUTS_10, "Back Left Bombable Chest", "Bottom of the Well Back Left Bombable Chest", false), + RC_OBJECT(RC_BOTTOM_OF_THE_WELL_LENS_OF_TRUTH_CHEST, RCVORMQ_VANILLA, RCTYPE_BOSS_HEART_OR_OTHER_REWARD, RCAREA_BOTTOM_OF_THE_WELL, ACTOR_EN_BOX, SCENE_BOTTOM_OF_THE_WELL, 4419, GI_LENS_OF_TRUTH, "Lens of Truth Chest", "Bottom of the Well Lens of Truth Chest", true), RC_OBJECT(RC_BOTTOM_OF_THE_WELL_INVISIBLE_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_BOTTOM_OF_THE_WELL, ACTOR_EN_BOX, SCENE_BOTTOM_OF_THE_WELL, 27348, GI_RUPEE_GOLD, "Invisible Chest", "Bottom of the Well Invisible Chest", false), RC_OBJECT(RC_BOTTOM_OF_THE_WELL_UNDERWATER_FRONT_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_BOTTOM_OF_THE_WELL, ACTOR_EN_BOX, SCENE_BOTTOM_OF_THE_WELL, 23760, GI_BOMBS_10, "Underwater Front Chest", "Bottom of the Well Underwater Front Chest", false), - RC_OBJECT(RC_BOTTOM_OF_THE_WELL_UNDERWATER_LEFT_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_BOTTOM_OF_THE_WELL, ACTOR_EN_BOX, SCENE_BOTTOM_OF_THE_WELL, 22793, GI_HEART, "Underwater Left Chest", "Bottom of the Well Underwater Left Chest", false), - RC_OBJECT(RC_BOTTOM_OF_THE_WELL_MAP_CHEST, RCVORMQ_VANILLA, RCTYPE_MAP_COMPASS, RCAREA_BOTTOM_OF_THE_WELL, ACTOR_EN_BOX, SCENE_BOTTOM_OF_THE_WELL, 2087, GI_MAP, "Map Chest", "Bottom of the Well Map Chest", true), + RC_OBJECT(RC_BOTTOM_OF_THE_WELL_UNDERWATER_LEFT_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_BOTTOM_OF_THE_WELL, ACTOR_EN_BOX, SCENE_BOTTOM_OF_THE_WELL, 22793, GI_RECOVERY_HEART, "Underwater Left Chest", "Bottom of the Well Underwater Left Chest", false), + RC_OBJECT(RC_BOTTOM_OF_THE_WELL_MAP_CHEST, RCVORMQ_VANILLA, RCTYPE_MAP_COMPASS, RCAREA_BOTTOM_OF_THE_WELL, ACTOR_EN_BOX, SCENE_BOTTOM_OF_THE_WELL, 2087, GI_DUNGEON_MAP, "Map Chest", "Bottom of the Well Map Chest", true), RC_OBJECT(RC_BOTTOM_OF_THE_WELL_FIRE_KEESE_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_BOTTOM_OF_THE_WELL, ACTOR_EN_BOX, SCENE_BOTTOM_OF_THE_WELL, 21802, GI_SHIELD_DEKU, "Fire Keese Chest", "Bottom of the Well Fire Keese Chest", false), RC_OBJECT(RC_BOTTOM_OF_THE_WELL_LIKE_LIKE_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_BOTTOM_OF_THE_WELL, ACTOR_EN_BOX, SCENE_BOTTOM_OF_THE_WELL, 21836, GI_SHIELD_HYLIAN, "Like Like Chest", "Bottom of the Well Like Like Chest", false), - RC_OBJECT(RC_BOTTOM_OF_THE_WELL_FREESTANDING_KEY, RCVORMQ_VANILLA, RCTYPE_SMALL_KEY, RCAREA_BOTTOM_OF_THE_WELL, ACTOR_EN_ITEM00, SCENE_BOTTOM_OF_THE_WELL, 273, GI_KEY_SMALL, "Freestanding Key", "Bottom of the Well Freestanding Key", true), - RC_OBJECT(RC_BOTTOM_OF_THE_WELL_MQ_MAP_CHEST, RCVORMQ_MQ, RCTYPE_MAP_COMPASS, RCAREA_BOTTOM_OF_THE_WELL, ACTOR_EN_BOX, SCENE_BOTTOM_OF_THE_WELL, 2083, GI_MAP, "MQ Map Chest", "Bottom of the Well MQ Map Chest", true), - RC_OBJECT(RC_BOTTOM_OF_THE_WELL_MQ_LENS_OF_TRUTH_CHEST, RCVORMQ_MQ, RCTYPE_BOSS_HEART_OR_OTHER_REWARD, RCAREA_BOTTOM_OF_THE_WELL, ACTOR_EN_BOX, SCENE_BOTTOM_OF_THE_WELL, -20159, GI_LENS, "MQ Lens of Truth Chest", "Bottom of the Well MQ Lens of Truth Chest", true), + RC_OBJECT(RC_BOTTOM_OF_THE_WELL_FREESTANDING_KEY, RCVORMQ_VANILLA, RCTYPE_SMALL_KEY, RCAREA_BOTTOM_OF_THE_WELL, ACTOR_EN_ITEM00, SCENE_BOTTOM_OF_THE_WELL, 273, GI_SMALL_KEY, "Freestanding Key", "Bottom of the Well Freestanding Key", true), + RC_OBJECT(RC_BOTTOM_OF_THE_WELL_MQ_MAP_CHEST, RCVORMQ_MQ, RCTYPE_MAP_COMPASS, RCAREA_BOTTOM_OF_THE_WELL, ACTOR_EN_BOX, SCENE_BOTTOM_OF_THE_WELL, 2083, GI_DUNGEON_MAP, "MQ Map Chest", "Bottom of the Well MQ Map Chest", true), + RC_OBJECT(RC_BOTTOM_OF_THE_WELL_MQ_LENS_OF_TRUTH_CHEST, RCVORMQ_MQ, RCTYPE_BOSS_HEART_OR_OTHER_REWARD, RCAREA_BOTTOM_OF_THE_WELL, ACTOR_EN_BOX, SCENE_BOTTOM_OF_THE_WELL, -20159, GI_LENS_OF_TRUTH, "MQ Lens of Truth Chest", "Bottom of the Well MQ Lens of Truth Chest", true), RC_OBJECT(RC_BOTTOM_OF_THE_WELL_MQ_COMPASS_CHEST, RCVORMQ_MQ, RCTYPE_MAP_COMPASS, RCAREA_BOTTOM_OF_THE_WELL, ACTOR_EN_BOX, SCENE_BOTTOM_OF_THE_WELL, 6146, GI_COMPASS, "MQ Compass Chest", "Bottom of the Well MQ Compass Chest", true), - RC_OBJECT(RC_BOTTOM_OF_THE_WELL_MQ_DEAD_HAND_FREESTANDING_KEY, RCVORMQ_MQ, RCTYPE_SMALL_KEY, RCAREA_BOTTOM_OF_THE_WELL, ACTOR_EN_ITEM00, SCENE_BOTTOM_OF_THE_WELL, 529, GI_KEY_SMALL, "MQ Dead Hand Freestanding Key", "Bottom of the Well MQ Dead Hand Freestanding Key", true), - RC_OBJECT(RC_BOTTOM_OF_THE_WELL_MQ_EAST_INNER_ROOM_FREESTANDING_KEY, RCVORMQ_MQ, RCTYPE_SMALL_KEY, RCAREA_BOTTOM_OF_THE_WELL, ACTOR_EN_ITEM00, SCENE_BOTTOM_OF_THE_WELL, 273, GI_KEY_SMALL, "MQ East Inner Room Freestanding Key", "Bottom of the Well MQ East Inner Room Freestanding Key", true), + RC_OBJECT(RC_BOTTOM_OF_THE_WELL_MQ_DEAD_HAND_FREESTANDING_KEY, RCVORMQ_MQ, RCTYPE_SMALL_KEY, RCAREA_BOTTOM_OF_THE_WELL, ACTOR_EN_ITEM00, SCENE_BOTTOM_OF_THE_WELL, 529, GI_SMALL_KEY, "MQ Dead Hand Freestanding Key", "Bottom of the Well MQ Dead Hand Freestanding Key", true), + RC_OBJECT(RC_BOTTOM_OF_THE_WELL_MQ_EAST_INNER_ROOM_FREESTANDING_KEY, RCVORMQ_MQ, RCTYPE_SMALL_KEY, RCAREA_BOTTOM_OF_THE_WELL, ACTOR_EN_ITEM00, SCENE_BOTTOM_OF_THE_WELL, 273, GI_SMALL_KEY, "MQ East Inner Room Freestanding Key", "Bottom of the Well MQ East Inner Room Freestanding Key", true), RC_OBJECT(RC_BOTTOM_OF_THE_WELL_GS_LIKE_LIKE_CAGE, RCVORMQ_VANILLA, RCTYPE_SKULL_TOKEN, RCAREA_BOTTOM_OF_THE_WELL, ACTOR_EN_SI, SCENE_BOTTOM_OF_THE_WELL, 10241, GI_SKULL_TOKEN, "GS Like Like Cage", "Bottom of the Well GS Like Like Cage", true), RC_OBJECT(RC_BOTTOM_OF_THE_WELL_GS_EAST_INNER_ROOM, RCVORMQ_VANILLA, RCTYPE_SKULL_TOKEN, RCAREA_BOTTOM_OF_THE_WELL, ACTOR_EN_SI, SCENE_BOTTOM_OF_THE_WELL, 10242, GI_SKULL_TOKEN, "GS East Inner Room", "Bottom of the Well GS East Inner Room", true), RC_OBJECT(RC_BOTTOM_OF_THE_WELL_GS_WEST_INNER_ROOM, RCVORMQ_VANILLA, RCTYPE_SKULL_TOKEN, RCAREA_BOTTOM_OF_THE_WELL, ACTOR_EN_SI, SCENE_BOTTOM_OF_THE_WELL, 10244, GI_SKULL_TOKEN, "GS West Inner Room", "Bottom of the Well GS West Inner Room", true), @@ -704,13 +704,13 @@ std::map rcObjects = { RC_OBJECT(RC_BOTTOM_OF_THE_WELL_MQ_GS_WEST_INNER_ROOM, RCVORMQ_MQ, RCTYPE_SKULL_TOKEN, RCAREA_BOTTOM_OF_THE_WELL, ACTOR_EN_SI, SCENE_BOTTOM_OF_THE_WELL, 10242, GI_SKULL_TOKEN, "MQ GS West Inner Room", "Bottom of the Well MQ GS West Inner Room", true), - RC_OBJECT(RC_ICE_CAVERN_MAP_CHEST, RCVORMQ_VANILLA, RCTYPE_MAP_COMPASS, RCAREA_ICE_CAVERN, ACTOR_EN_BOX, SCENE_ICE_CAVERN, 2080, GI_MAP, "Map Chest", "Ice Cavern Map Chest", true), + RC_OBJECT(RC_ICE_CAVERN_MAP_CHEST, RCVORMQ_VANILLA, RCTYPE_MAP_COMPASS, RCAREA_ICE_CAVERN, ACTOR_EN_BOX, SCENE_ICE_CAVERN, 2080, GI_DUNGEON_MAP, "Map Chest", "Ice Cavern Map Chest", true), RC_OBJECT(RC_ICE_CAVERN_COMPASS_CHEST, RCVORMQ_VANILLA, RCTYPE_MAP_COMPASS, RCAREA_ICE_CAVERN, ACTOR_EN_BOX, SCENE_ICE_CAVERN, 2049, GI_COMPASS, "Compass Chest", "Ice Cavern Compass Chest", true), RC_OBJECT(RC_ICE_CAVERN_IRON_BOOTS_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_ICE_CAVERN, ACTOR_EN_BOX, SCENE_ICE_CAVERN, 5570, GI_BOOTS_IRON, "Iron Boots Chest", "Ice Cavern Iron Boots Chest", true), RC_OBJECT(RC_ICE_CAVERN_FREESTANDING_POH, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_ICE_CAVERN, ACTOR_EN_ITEM00, SCENE_ICE_CAVERN, 262, GI_HEART_PIECE, "Freestanding PoH", "Ice Cavern Freestanding PoH", true), RC_OBJECT(RC_ICE_CAVERN_MQ_IRON_BOOTS_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_ICE_CAVERN, ACTOR_EN_BOX, SCENE_ICE_CAVERN, 5570, GI_BOOTS_IRON, "MQ Iron Boots Chest", "Ice Cavern MQ Iron Boots Chest", true), RC_OBJECT(RC_ICE_CAVERN_MQ_COMPASS_CHEST, RCVORMQ_MQ, RCTYPE_MAP_COMPASS, RCAREA_ICE_CAVERN, ACTOR_EN_BOX, SCENE_ICE_CAVERN, 2048, GI_COMPASS, "MQ Compass Chest", "Ice Cavern MQ Compass Chest", true), - RC_OBJECT(RC_ICE_CAVERN_MQ_MAP_CHEST, RCVORMQ_MQ, RCTYPE_MAP_COMPASS, RCAREA_ICE_CAVERN, ACTOR_EN_BOX, SCENE_ICE_CAVERN, -18399, GI_MAP, "MQ Map Chest", "Ice Cavern MQ Map Chest", true), + RC_OBJECT(RC_ICE_CAVERN_MQ_MAP_CHEST, RCVORMQ_MQ, RCTYPE_MAP_COMPASS, RCAREA_ICE_CAVERN, ACTOR_EN_BOX, SCENE_ICE_CAVERN, -18399, GI_DUNGEON_MAP, "MQ Map Chest", "Ice Cavern MQ Map Chest", true), RC_OBJECT(RC_ICE_CAVERN_MQ_FREESTANDING_POH, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_ICE_CAVERN, ACTOR_EN_ITEM00, SCENE_ICE_CAVERN, 262, GI_HEART_PIECE, "MQ Freestanding PoH", "Ice Cavern MQ Freestanding PoH", true), RC_OBJECT(RC_ICE_CAVERN_GS_PUSH_BLOCK_ROOM, RCVORMQ_VANILLA, RCTYPE_SKULL_TOKEN, RCAREA_ICE_CAVERN, ACTOR_EN_SI, SCENE_ICE_CAVERN, 10497, GI_SKULL_TOKEN, "GS Push Block Room", "Ice Cavern GS Push Block Room", true), RC_OBJECT(RC_ICE_CAVERN_GS_SPINNING_SCYTHE_ROOM, RCVORMQ_VANILLA, RCTYPE_SKULL_TOKEN, RCAREA_ICE_CAVERN, ACTOR_EN_SI, SCENE_ICE_CAVERN, 10498, GI_SKULL_TOKEN, "GS Spinning Scythe Room", "Ice Cavern GS Spinning Scythe Room", true), @@ -721,85 +721,85 @@ std::map rcObjects = { RC_OBJECT(RC_SHEIK_IN_ICE_CAVERN, RCVORMQ_BOTH, RCTYPE_SONG_LOCATION, RCAREA_ICE_CAVERN, ACTOR_ID_MAX, SCENE_ICE_CAVERN, 0x00, GI_NONE, "Sheik in Ice Cavern", "Sheik in Ice Cavern", true), - RC_OBJECT(RC_GERUDO_TRAINING_GROUND_LOBBY_LEFT_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_GERUDO_TRAINING_GROUND, ACTOR_EN_BOX, SCENE_GERUDO_TRAINING_GROUND, -30573, GI_MAGIC_LARGE, "Lobby Left Chest", "Gerudo Training Grounds Lobby Left Chest", false), - RC_OBJECT(RC_GERUDO_TRAINING_GROUND_LOBBY_RIGHT_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_GERUDO_TRAINING_GROUND, ACTOR_EN_BOX, SCENE_GERUDO_TRAINING_GROUND, -30393, GI_ARROWS_MEDIUM, "Lobby Right Chest", "Gerudo Training Grounds Lobby Right Chest", false), - RC_OBJECT(RC_GERUDO_TRAINING_GROUND_STALFOS_CHEST, RCVORMQ_VANILLA, RCTYPE_SMALL_KEY, RCAREA_GERUDO_TRAINING_GROUND, ACTOR_EN_BOX, SCENE_GERUDO_TRAINING_GROUND, -30656, GI_KEY_SMALL, "Stalfos Chest", "Gerudo Training Grounds Stalfos Chest", true), - RC_OBJECT(RC_GERUDO_TRAINING_GROUND_BEAMOS_CHEST, RCVORMQ_VANILLA, RCTYPE_SMALL_KEY, RCAREA_GERUDO_TRAINING_GROUND, ACTOR_EN_BOX, SCENE_GERUDO_TRAINING_GROUND, -30655, GI_KEY_SMALL, "Beamos Chest", "Gerudo Training Grounds Beamos Chest", true), - RC_OBJECT(RC_GERUDO_TRAINING_GROUND_HIDDEN_CEILING_CHEST, RCVORMQ_VANILLA, RCTYPE_SMALL_KEY, RCAREA_GERUDO_TRAINING_GROUND, ACTOR_EN_BOX, SCENE_GERUDO_TRAINING_GROUND, 22603, GI_KEY_SMALL, "Hidden Ceiling Chest", "Gerudo Training Grounds Hidden Ceiling Chest", true), + RC_OBJECT(RC_GERUDO_TRAINING_GROUND_LOBBY_LEFT_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_GERUDO_TRAINING_GROUND, ACTOR_EN_BOX, SCENE_GERUDO_TRAINING_GROUND, -30573, GI_MAGIC_JAR_LARGE, "Lobby Left Chest", "Gerudo Training Grounds Lobby Left Chest", false), + RC_OBJECT(RC_GERUDO_TRAINING_GROUND_LOBBY_RIGHT_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_GERUDO_TRAINING_GROUND, ACTOR_EN_BOX, SCENE_GERUDO_TRAINING_GROUND, -30393, GI_ARROWS_10, "Lobby Right Chest", "Gerudo Training Grounds Lobby Right Chest", false), + RC_OBJECT(RC_GERUDO_TRAINING_GROUND_STALFOS_CHEST, RCVORMQ_VANILLA, RCTYPE_SMALL_KEY, RCAREA_GERUDO_TRAINING_GROUND, ACTOR_EN_BOX, SCENE_GERUDO_TRAINING_GROUND, -30656, GI_SMALL_KEY, "Stalfos Chest", "Gerudo Training Grounds Stalfos Chest", true), + RC_OBJECT(RC_GERUDO_TRAINING_GROUND_BEAMOS_CHEST, RCVORMQ_VANILLA, RCTYPE_SMALL_KEY, RCAREA_GERUDO_TRAINING_GROUND, ACTOR_EN_BOX, SCENE_GERUDO_TRAINING_GROUND, -30655, GI_SMALL_KEY, "Beamos Chest", "Gerudo Training Grounds Beamos Chest", true), + RC_OBJECT(RC_GERUDO_TRAINING_GROUND_HIDDEN_CEILING_CHEST, RCVORMQ_VANILLA, RCTYPE_SMALL_KEY, RCAREA_GERUDO_TRAINING_GROUND, ACTOR_EN_BOX, SCENE_GERUDO_TRAINING_GROUND, 22603, GI_SMALL_KEY, "Hidden Ceiling Chest", "Gerudo Training Grounds Hidden Ceiling Chest", true), RC_OBJECT(RC_GERUDO_TRAINING_GROUND_MAZE_PATH_FIRST_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_GERUDO_TRAINING_GROUND, ACTOR_EN_BOX, SCENE_GERUDO_TRAINING_GROUND, 23206, GI_RUPEE_PURPLE, "Maze Path First Chest", "Gerudo Training Grounds Maze Path First Chest", false), RC_OBJECT(RC_GERUDO_TRAINING_GROUND_MAZE_PATH_SECOND_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_GERUDO_TRAINING_GROUND, ACTOR_EN_BOX, SCENE_GERUDO_TRAINING_GROUND, 22986, GI_RUPEE_RED, "Maze Path Second Chest", "Gerudo Training Grounds Maze Path Second Chest", false), - RC_OBJECT(RC_GERUDO_TRAINING_GROUND_MAZE_PATH_THIRD_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_GERUDO_TRAINING_GROUND, ACTOR_EN_BOX, SCENE_GERUDO_TRAINING_GROUND, 22889, GI_ARROWS_LARGE, "Maze Path Third Chest", "Gerudo Training Grounds Maze Path Third Chest", false), + RC_OBJECT(RC_GERUDO_TRAINING_GROUND_MAZE_PATH_THIRD_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_GERUDO_TRAINING_GROUND, ACTOR_EN_BOX, SCENE_GERUDO_TRAINING_GROUND, 22889, GI_ARROWS_30, "Maze Path Third Chest", "Gerudo Training Grounds Maze Path Third Chest", false), RC_OBJECT(RC_GERUDO_TRAINING_GROUND_MAZE_PATH_FINAL_CHEST, RCVORMQ_VANILLA, RCTYPE_BOSS_HEART_OR_OTHER_REWARD, RCAREA_GERUDO_TRAINING_GROUND, ACTOR_EN_BOX, SCENE_GERUDO_TRAINING_GROUND, 2860, GI_ARROW_ICE, "Maze Path Final Chest", "Gerudo Training Grounds Maze Path Final Chest", true), RC_OBJECT(RC_GERUDO_TRAINING_GROUND_MAZE_RIGHT_CENTRAL_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_GERUDO_TRAINING_GROUND, ACTOR_EN_BOX, SCENE_GERUDO_TRAINING_GROUND, 23877, GI_BOMBCHUS_5, "Maze Right Central Chest", "Gerudo Training Grounds Maze Right Central Chest", false), - RC_OBJECT(RC_GERUDO_TRAINING_GROUND_MAZE_RIGHT_SIDE_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_GERUDO_TRAINING_GROUND, ACTOR_EN_BOX, SCENE_GERUDO_TRAINING_GROUND, 22888, GI_ARROWS_LARGE, "Maze Right Side Chest", "Gerudo Training Grounds Maze Right Side Chest", false), - RC_OBJECT(RC_GERUDO_TRAINING_GROUND_UNDERWATER_SILVER_RUPEE_CHEST, RCVORMQ_VANILLA, RCTYPE_SMALL_KEY, RCAREA_GERUDO_TRAINING_GROUND, ACTOR_EN_BOX, SCENE_GERUDO_TRAINING_GROUND, -30643, GI_KEY_SMALL, "Underwater Silver Rupee Chest", "Gerudo Training Grounds Underwater Silver Rupee Chest", true), - RC_OBJECT(RC_GERUDO_TRAINING_GROUND_HAMMER_ROOM_CLEAR_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_GERUDO_TRAINING_GROUND, ACTOR_EN_BOX, SCENE_GERUDO_TRAINING_GROUND, 31058, GI_ARROWS_MEDIUM, "Hammer Room Clear Chest", "Gerudo Training Grounds Hammer Room Clear Chest", false), - RC_OBJECT(RC_GERUDO_TRAINING_GROUND_HAMMER_ROOM_SWITCH_CHEST, RCVORMQ_VANILLA, RCTYPE_SMALL_KEY, RCAREA_GERUDO_TRAINING_GROUND, ACTOR_EN_BOX, SCENE_GERUDO_TRAINING_GROUND, 22608, GI_KEY_SMALL, "Hammer Room Switch Chest", "Gerudo Training Grounds Hammer Room Switch Chest", true), - RC_OBJECT(RC_GERUDO_TRAINING_GROUND_EYE_STATUE_CHEST, RCVORMQ_VANILLA, RCTYPE_SMALL_KEY, RCAREA_GERUDO_TRAINING_GROUND, ACTOR_EN_BOX, SCENE_GERUDO_TRAINING_GROUND, -30653, GI_KEY_SMALL, "Eye Statue Chest", "Gerudo Training Grounds Eye Statue Chest", true), - RC_OBJECT(RC_GERUDO_TRAINING_GROUND_NEAR_SCARECROW_CHEST, RCVORMQ_VANILLA, RCTYPE_SMALL_KEY, RCAREA_GERUDO_TRAINING_GROUND, ACTOR_EN_BOX, SCENE_GERUDO_TRAINING_GROUND, 22596, GI_KEY_SMALL, "Near Scarecrow Chest", "Gerudo Training Grounds Near Scarecrow Chest", true), - RC_OBJECT(RC_GERUDO_TRAINING_GROUND_BEFORE_HEAVY_BLOCK_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_GERUDO_TRAINING_GROUND, ACTOR_EN_BOX, SCENE_GERUDO_TRAINING_GROUND, 31089, GI_ARROWS_LARGE, "Before Heavy Block Chest", "Gerudo Training Grounds Before Heavy Block Chest", false), + RC_OBJECT(RC_GERUDO_TRAINING_GROUND_MAZE_RIGHT_SIDE_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_GERUDO_TRAINING_GROUND, ACTOR_EN_BOX, SCENE_GERUDO_TRAINING_GROUND, 22888, GI_ARROWS_30, "Maze Right Side Chest", "Gerudo Training Grounds Maze Right Side Chest", false), + RC_OBJECT(RC_GERUDO_TRAINING_GROUND_UNDERWATER_SILVER_RUPEE_CHEST, RCVORMQ_VANILLA, RCTYPE_SMALL_KEY, RCAREA_GERUDO_TRAINING_GROUND, ACTOR_EN_BOX, SCENE_GERUDO_TRAINING_GROUND, -30643, GI_SMALL_KEY, "Underwater Silver Rupee Chest", "Gerudo Training Grounds Underwater Silver Rupee Chest", true), + RC_OBJECT(RC_GERUDO_TRAINING_GROUND_HAMMER_ROOM_CLEAR_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_GERUDO_TRAINING_GROUND, ACTOR_EN_BOX, SCENE_GERUDO_TRAINING_GROUND, 31058, GI_ARROWS_10, "Hammer Room Clear Chest", "Gerudo Training Grounds Hammer Room Clear Chest", false), + RC_OBJECT(RC_GERUDO_TRAINING_GROUND_HAMMER_ROOM_SWITCH_CHEST, RCVORMQ_VANILLA, RCTYPE_SMALL_KEY, RCAREA_GERUDO_TRAINING_GROUND, ACTOR_EN_BOX, SCENE_GERUDO_TRAINING_GROUND, 22608, GI_SMALL_KEY, "Hammer Room Switch Chest", "Gerudo Training Grounds Hammer Room Switch Chest", true), + RC_OBJECT(RC_GERUDO_TRAINING_GROUND_EYE_STATUE_CHEST, RCVORMQ_VANILLA, RCTYPE_SMALL_KEY, RCAREA_GERUDO_TRAINING_GROUND, ACTOR_EN_BOX, SCENE_GERUDO_TRAINING_GROUND, -30653, GI_SMALL_KEY, "Eye Statue Chest", "Gerudo Training Grounds Eye Statue Chest", true), + RC_OBJECT(RC_GERUDO_TRAINING_GROUND_NEAR_SCARECROW_CHEST, RCVORMQ_VANILLA, RCTYPE_SMALL_KEY, RCAREA_GERUDO_TRAINING_GROUND, ACTOR_EN_BOX, SCENE_GERUDO_TRAINING_GROUND, 22596, GI_SMALL_KEY, "Near Scarecrow Chest", "Gerudo Training Grounds Near Scarecrow Chest", true), + RC_OBJECT(RC_GERUDO_TRAINING_GROUND_BEFORE_HEAVY_BLOCK_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_GERUDO_TRAINING_GROUND, ACTOR_EN_BOX, SCENE_GERUDO_TRAINING_GROUND, 31089, GI_ARROWS_30, "Before Heavy Block Chest", "Gerudo Training Grounds Before Heavy Block Chest", false), RC_OBJECT(RC_GERUDO_TRAINING_GROUND_HEAVY_BLOCK_FIRST_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_GERUDO_TRAINING_GROUND, ACTOR_EN_BOX, SCENE_GERUDO_TRAINING_GROUND, 31439, GI_RUPEE_GOLD, "Heavy Block First Chest", "Gerudo Training Grounds Heavy Block First Chest", false), - RC_OBJECT(RC_GERUDO_TRAINING_GROUND_HEAVY_BLOCK_SECOND_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_GERUDO_TRAINING_GROUND, ACTOR_EN_BOX, SCENE_GERUDO_TRAINING_GROUND, 30862, GI_MAGIC_LARGE, "Heavy Block Second Chest", "Gerudo Training Grounds Heavy Block Second Chest", false), - RC_OBJECT(RC_GERUDO_TRAINING_GROUND_HEAVY_BLOCK_THIRD_CHEST, RCVORMQ_VANILLA, RCTYPE_SMALL_KEY, RCAREA_GERUDO_TRAINING_GROUND, ACTOR_EN_BOX, SCENE_GERUDO_TRAINING_GROUND, 26708, GI_KEY_SMALL, "Heavy Block Third Chest", "Gerudo Training Grounds Heavy Block Third Chest", true), + RC_OBJECT(RC_GERUDO_TRAINING_GROUND_HEAVY_BLOCK_SECOND_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_GERUDO_TRAINING_GROUND, ACTOR_EN_BOX, SCENE_GERUDO_TRAINING_GROUND, 30862, GI_MAGIC_JAR_LARGE, "Heavy Block Second Chest", "Gerudo Training Grounds Heavy Block Second Chest", false), + RC_OBJECT(RC_GERUDO_TRAINING_GROUND_HEAVY_BLOCK_THIRD_CHEST, RCVORMQ_VANILLA, RCTYPE_SMALL_KEY, RCAREA_GERUDO_TRAINING_GROUND, ACTOR_EN_BOX, SCENE_GERUDO_TRAINING_GROUND, 26708, GI_SMALL_KEY, "Heavy Block Third Chest", "Gerudo Training Grounds Heavy Block Third Chest", true), RC_OBJECT(RC_GERUDO_TRAINING_GROUND_HEAVY_BLOCK_FOURTH_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_GERUDO_TRAINING_GROUND, ACTOR_EN_BOX, SCENE_GERUDO_TRAINING_GROUND, 24450, GI_ICE_TRAP, "Heavy Block Fourth Chest", "Gerudo Training Grounds Heavy Block Fourth Chest", false), - RC_OBJECT(RC_GERUDO_TRAINING_GROUND_FREESTANDING_KEY, RCVORMQ_VANILLA, RCTYPE_SMALL_KEY, RCAREA_GERUDO_TRAINING_GROUND, ACTOR_EN_ITEM00, SCENE_GERUDO_TRAINING_GROUND, 273, GI_KEY_SMALL, "Freestanding Key", "Gerudo Training Grounds Freestanding Key", true), + RC_OBJECT(RC_GERUDO_TRAINING_GROUND_FREESTANDING_KEY, RCVORMQ_VANILLA, RCTYPE_SMALL_KEY, RCAREA_GERUDO_TRAINING_GROUND, ACTOR_EN_ITEM00, SCENE_GERUDO_TRAINING_GROUND, 273, GI_SMALL_KEY, "Freestanding Key", "Gerudo Training Grounds Freestanding Key", true), RC_OBJECT(RC_GERUDO_TRAINING_GROUND_MQ_LOBBY_RIGHT_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_GERUDO_TRAINING_GROUND, ACTOR_EN_BOX, SCENE_GERUDO_TRAINING_GROUND, 23879, GI_BOMBCHUS_5, "MQ Lobby Right Chest", "Gerudo Training Grounds MQ Lobby Right Chest", false), - RC_OBJECT(RC_GERUDO_TRAINING_GROUND_MQ_LOBBY_LEFT_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_GERUDO_TRAINING_GROUND, ACTOR_EN_BOX, SCENE_GERUDO_TRAINING_GROUND, 22867, GI_ARROWS_MEDIUM, "MQ Lobby Left Chest", "Gerudo Training Grounds MQ Lobby Left Chest", false), + RC_OBJECT(RC_GERUDO_TRAINING_GROUND_MQ_LOBBY_LEFT_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_GERUDO_TRAINING_GROUND, ACTOR_EN_BOX, SCENE_GERUDO_TRAINING_GROUND, 22867, GI_ARROWS_10, "MQ Lobby Left Chest", "Gerudo Training Grounds MQ Lobby Left Chest", false), RC_OBJECT(RC_GERUDO_TRAINING_GROUND_MQ_FIRST_IRON_KNUCKLE_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_GERUDO_TRAINING_GROUND, ACTOR_EN_BOX, SCENE_GERUDO_TRAINING_GROUND, -30304, GI_RUPEE_BLUE, "MQ First Iron Knuckle Chest", "Gerudo Training Grounds MQ First Iron Knuckle Chest", false), - RC_OBJECT(RC_GERUDO_TRAINING_GROUND_MQ_BEFORE_HEAVY_BLOCK_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_GERUDO_TRAINING_GROUND, ACTOR_EN_BOX, SCENE_GERUDO_TRAINING_GROUND, 31057, GI_ARROWS_MEDIUM, "MQ Before Heavy Block Chest", "Gerudo Training Grounds MQ Before Heavy Block Chest", false), + RC_OBJECT(RC_GERUDO_TRAINING_GROUND_MQ_BEFORE_HEAVY_BLOCK_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_GERUDO_TRAINING_GROUND, ACTOR_EN_BOX, SCENE_GERUDO_TRAINING_GROUND, 31057, GI_ARROWS_10, "MQ Before Heavy Block Chest", "Gerudo Training Grounds MQ Before Heavy Block Chest", false), RC_OBJECT(RC_GERUDO_TRAINING_GROUND_MQ_EYE_STATUE_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_GERUDO_TRAINING_GROUND, ACTOR_EN_BOX, SCENE_GERUDO_TRAINING_GROUND, -32669, GI_BOMBCHUS_10, "MQ Eye Statue Chest", "Gerudo Training Grounds MQ Eye Statue Chest", false), - RC_OBJECT(RC_GERUDO_TRAINING_GROUND_MQ_FLAME_CIRCLE_CHEST, RCVORMQ_MQ, RCTYPE_SMALL_KEY, RCAREA_GERUDO_TRAINING_GROUND, ACTOR_EN_BOX, SCENE_GERUDO_TRAINING_GROUND, -30642, GI_KEY_SMALL, "MQ Flame Circle Chest", "Gerudo Training Grounds MQ Flame Circle Chest", true), - RC_OBJECT(RC_GERUDO_TRAINING_GROUND_MQ_SECOND_IRON_KNUCKLE_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_GERUDO_TRAINING_GROUND, ACTOR_EN_BOX, SCENE_GERUDO_TRAINING_GROUND, 31058, GI_ARROWS_MEDIUM, "MQ Second Iron Knuckle Chest", "Gerudo Training Grounds MQ Second Iron Knuckle Chest", false), - RC_OBJECT(RC_GERUDO_TRAINING_GROUND_MQ_DINOLFOS_CHEST, RCVORMQ_MQ, RCTYPE_SMALL_KEY, RCAREA_GERUDO_TRAINING_GROUND, ACTOR_EN_BOX, SCENE_GERUDO_TRAINING_GROUND, -30655, GI_KEY_SMALL, "MQ Dinolfos Chest", "Gerudo Training Grounds MQ Dinolfos Chest", true), + RC_OBJECT(RC_GERUDO_TRAINING_GROUND_MQ_FLAME_CIRCLE_CHEST, RCVORMQ_MQ, RCTYPE_SMALL_KEY, RCAREA_GERUDO_TRAINING_GROUND, ACTOR_EN_BOX, SCENE_GERUDO_TRAINING_GROUND, -30642, GI_SMALL_KEY, "MQ Flame Circle Chest", "Gerudo Training Grounds MQ Flame Circle Chest", true), + RC_OBJECT(RC_GERUDO_TRAINING_GROUND_MQ_SECOND_IRON_KNUCKLE_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_GERUDO_TRAINING_GROUND, ACTOR_EN_BOX, SCENE_GERUDO_TRAINING_GROUND, 31058, GI_ARROWS_10, "MQ Second Iron Knuckle Chest", "Gerudo Training Grounds MQ Second Iron Knuckle Chest", false), + RC_OBJECT(RC_GERUDO_TRAINING_GROUND_MQ_DINOLFOS_CHEST, RCVORMQ_MQ, RCTYPE_SMALL_KEY, RCAREA_GERUDO_TRAINING_GROUND, ACTOR_EN_BOX, SCENE_GERUDO_TRAINING_GROUND, -30655, GI_SMALL_KEY, "MQ Dinolfos Chest", "Gerudo Training Grounds MQ Dinolfos Chest", true), RC_OBJECT(RC_GERUDO_TRAINING_GROUND_MQ_ICE_ARROWS_CHEST, RCVORMQ_MQ, RCTYPE_BOSS_HEART_OR_OTHER_REWARD, RCAREA_GERUDO_TRAINING_GROUND, ACTOR_EN_BOX, SCENE_GERUDO_TRAINING_GROUND, -17628, GI_ARROW_ICE, "MQ Ice Arrows Chest", "Gerudo Training Grounds MQ Ice Arrows Chest", true), - RC_OBJECT(RC_GERUDO_TRAINING_GROUND_MQ_MAZE_RIGHT_CENTRAL_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_GERUDO_TRAINING_GROUND, ACTOR_EN_BOX, SCENE_GERUDO_TRAINING_GROUND, 22661, GI_MAGIC_LARGE, "MQ Maze Right Central Chest", "Gerudo Training Grounds MQ Maze Right Central Chest", false), + RC_OBJECT(RC_GERUDO_TRAINING_GROUND_MQ_MAZE_RIGHT_CENTRAL_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_GERUDO_TRAINING_GROUND, ACTOR_EN_BOX, SCENE_GERUDO_TRAINING_GROUND, 22661, GI_MAGIC_JAR_LARGE, "MQ Maze Right Central Chest", "Gerudo Training Grounds MQ Maze Right Central Chest", false), RC_OBJECT(RC_GERUDO_TRAINING_GROUND_MQ_MAZE_PATH_FIRST_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_GERUDO_TRAINING_GROUND, ACTOR_EN_BOX, SCENE_GERUDO_TRAINING_GROUND, 22918, GI_RUPEE_GREEN, "MQ Maze Path First Chest", "Gerudo Training Grounds MQ Maze Path First Chest", false), RC_OBJECT(RC_GERUDO_TRAINING_GROUND_MQ_MAZE_RIGHT_SIDE_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_GERUDO_TRAINING_GROUND, ACTOR_EN_BOX, SCENE_GERUDO_TRAINING_GROUND, 24136, GI_RUPEE_GREEN_LOSE, "MQ Maze Right Side Chest", "Gerudo Training Grounds MQ Maze Right Side Chest", false), RC_OBJECT(RC_GERUDO_TRAINING_GROUND_MQ_MAZE_PATH_THIRD_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_GERUDO_TRAINING_GROUND, ACTOR_EN_BOX, SCENE_GERUDO_TRAINING_GROUND, 24137, GI_RUPEE_GREEN_LOSE, "MQ Maze Path Third Chest", "Gerudo Training Grounds MQ Maze Path Third Chest", false), RC_OBJECT(RC_GERUDO_TRAINING_GROUND_MQ_MAZE_PATH_SECOND_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_GERUDO_TRAINING_GROUND, ACTOR_EN_BOX, SCENE_GERUDO_TRAINING_GROUND, 22986, GI_RUPEE_RED, "MQ Maze Path Second Chest", "Gerudo Training Grounds MQ Maze Path Second Chest", false), RC_OBJECT(RC_GERUDO_TRAINING_GROUND_MQ_HIDDEN_CEILING_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_GERUDO_TRAINING_GROUND, ACTOR_EN_BOX, SCENE_GERUDO_TRAINING_GROUND, 23211, GI_RUPEE_PURPLE, "MQ Hidden Ceiling Chest", "Gerudo Training Grounds MQ Hidden Ceiling Chest", false), - RC_OBJECT(RC_GERUDO_TRAINING_GROUND_MQ_UNDERWATER_SILVER_RUPEE_CHEST, RCVORMQ_MQ, RCTYPE_SMALL_KEY, RCAREA_GERUDO_TRAINING_GROUND, ACTOR_EN_BOX, SCENE_GERUDO_TRAINING_GROUND, -30643, GI_KEY_SMALL, "MQ Underwater Silver Rupee Chest", "Gerudo Training Grounds MQ Underwater Silver Rupee Chest", true), + RC_OBJECT(RC_GERUDO_TRAINING_GROUND_MQ_UNDERWATER_SILVER_RUPEE_CHEST, RCVORMQ_MQ, RCTYPE_SMALL_KEY, RCAREA_GERUDO_TRAINING_GROUND, ACTOR_EN_BOX, SCENE_GERUDO_TRAINING_GROUND, -30643, GI_SMALL_KEY, "MQ Underwater Silver Rupee Chest", "Gerudo Training Grounds MQ Underwater Silver Rupee Chest", true), RC_OBJECT(RC_GERUDO_TRAINING_GROUND_MQ_HEAVY_BLOCK_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_GERUDO_TRAINING_GROUND, ACTOR_EN_BOX, SCENE_GERUDO_TRAINING_GROUND, 31394, GI_RUPEE_PURPLE, "MQ Heavy Block Chest", "Gerudo Training Grounds MQ Heavy Block Chest", false), - RC_OBJECT(RC_GANONS_TOWER_BOSS_KEY_CHEST, RCVORMQ_BOTH, RCTYPE_GANON_BOSS_KEY, RCAREA_GANONS_CASTLE, ACTOR_EN_BOX, SCENE_GANONS_TOWER, 10219, GI_KEY_BOSS, "Boss Key Chest", "Ganon's Tower Boss Key Chest", true), - RC_OBJECT(RC_GANONS_CASTLE_FOREST_TRIAL_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_GANONS_CASTLE, ACTOR_EN_BOX, SCENE_INSIDE_GANONS_CASTLE, 30857, GI_MAGIC_LARGE, "Forest Trial Chest", "Ganon's Castle Forest Trial Chest", false), + RC_OBJECT(RC_GANONS_TOWER_BOSS_KEY_CHEST, RCVORMQ_BOTH, RCTYPE_GANON_BOSS_KEY, RCAREA_GANONS_CASTLE, ACTOR_EN_BOX, SCENE_GANONS_TOWER, 10219, GI_BOSS_KEY, "Boss Key Chest", "Ganon's Tower Boss Key Chest", true), + RC_OBJECT(RC_GANONS_CASTLE_FOREST_TRIAL_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_GANONS_CASTLE, ACTOR_EN_BOX, SCENE_INSIDE_GANONS_CASTLE, 30857, GI_MAGIC_JAR_LARGE, "Forest Trial Chest", "Ganon's Castle Forest Trial Chest", false), RC_OBJECT(RC_GANONS_CASTLE_WATER_TRIAL_LEFT_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_GANONS_CASTLE, ACTOR_EN_BOX, SCENE_INSIDE_GANONS_CASTLE, 24455, GI_ICE_TRAP, "Water Trial Left Chest", "Ganon's Castle Water Trial Left Chest", false), - RC_OBJECT(RC_GANONS_CASTLE_WATER_TRIAL_RIGHT_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_GANONS_CASTLE, ACTOR_EN_BOX, SCENE_INSIDE_GANONS_CASTLE, 22790, GI_HEART, "Water Trial Right Chest", "Ganon's Castle Water Trial Right Chest", false), - RC_OBJECT(RC_GANONS_CASTLE_SHADOW_TRIAL_FRONT_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_GANONS_CASTLE, ACTOR_EN_BOX, SCENE_INSIDE_GANONS_CASTLE, 22664, GI_MAGIC_LARGE, "Shadow Trial Front Chest", "Ganon's Castle Shadow Trial Front Chest", false), - RC_OBJECT(RC_GANONS_CASTLE_SHADOW_TRIAL_GOLDEN_GAUNTLETS_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_GANONS_CASTLE, ACTOR_EN_BOX, SCENE_INSIDE_GANONS_CASTLE, 14021, GI_GAUNTLETS_GOLD, "Shadow Trial Golden Gauntlets Chest", "Ganon's Castle Shadow Trial Golden Gauntlets Chest", true), + RC_OBJECT(RC_GANONS_CASTLE_WATER_TRIAL_RIGHT_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_GANONS_CASTLE, ACTOR_EN_BOX, SCENE_INSIDE_GANONS_CASTLE, 22790, GI_RECOVERY_HEART, "Water Trial Right Chest", "Ganon's Castle Water Trial Right Chest", false), + RC_OBJECT(RC_GANONS_CASTLE_SHADOW_TRIAL_FRONT_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_GANONS_CASTLE, ACTOR_EN_BOX, SCENE_INSIDE_GANONS_CASTLE, 22664, GI_MAGIC_JAR_LARGE, "Shadow Trial Front Chest", "Ganon's Castle Shadow Trial Front Chest", false), + RC_OBJECT(RC_GANONS_CASTLE_SHADOW_TRIAL_GOLDEN_GAUNTLETS_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_GANONS_CASTLE, ACTOR_EN_BOX, SCENE_INSIDE_GANONS_CASTLE, 14021, GI_GOLD_GAUNTLETS, "Shadow Trial Golden Gauntlets Chest", "Ganon's Castle Shadow Trial Golden Gauntlets Chest", true), RC_OBJECT(RC_GANONS_CASTLE_SPIRIT_TRIAL_CRYSTAL_SWITCH_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_GANONS_CASTLE, ACTOR_EN_BOX, SCENE_INSIDE_GANONS_CASTLE, -29326, GI_BOMBCHUS_20, "Spirit Trial Crystal Switch Chest", "Ganon's Castle Spirit Trial Crystal Switch Chest", false), - RC_OBJECT(RC_GANONS_CASTLE_SPIRIT_TRIAL_INVISIBLE_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_GANONS_CASTLE, ACTOR_EN_BOX, SCENE_INSIDE_GANONS_CASTLE, 26964, GI_ARROWS_MEDIUM, "Spirit Trial Invisible Chest", "Ganon's Castle Spirit Trial Invisible Chest", false), - RC_OBJECT(RC_GANONS_CASTLE_LIGHT_TRIAL_FIRST_LEFT_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_GANONS_CASTLE, ACTOR_EN_BOX, SCENE_INSIDE_GANONS_CASTLE, 22668, GI_MAGIC_LARGE, "Light Trial First Left Chest", "Ganon's Castle Light Trial First Left Chest", false), + RC_OBJECT(RC_GANONS_CASTLE_SPIRIT_TRIAL_INVISIBLE_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_GANONS_CASTLE, ACTOR_EN_BOX, SCENE_INSIDE_GANONS_CASTLE, 26964, GI_ARROWS_10, "Spirit Trial Invisible Chest", "Ganon's Castle Spirit Trial Invisible Chest", false), + RC_OBJECT(RC_GANONS_CASTLE_LIGHT_TRIAL_FIRST_LEFT_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_GANONS_CASTLE, ACTOR_EN_BOX, SCENE_INSIDE_GANONS_CASTLE, 22668, GI_MAGIC_JAR_LARGE, "Light Trial First Left Chest", "Ganon's Castle Light Trial First Left Chest", false), RC_OBJECT(RC_GANONS_CASTLE_LIGHT_TRIAL_SECOND_LEFT_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_GANONS_CASTLE, ACTOR_EN_BOX, SCENE_INSIDE_GANONS_CASTLE, 24459, GI_ICE_TRAP, "Light Trial Second Left Chest", "Ganon's Castle Light Trial Second Left Chest", false), - RC_OBJECT(RC_GANONS_CASTLE_LIGHT_TRIAL_THIRD_LEFT_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_GANONS_CASTLE, ACTOR_EN_BOX, SCENE_INSIDE_GANONS_CASTLE, 22797, GI_HEART, "Light Trial Third Left Chest", "Ganon's Castle Light Trial Third Left Chest", false), + RC_OBJECT(RC_GANONS_CASTLE_LIGHT_TRIAL_THIRD_LEFT_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_GANONS_CASTLE, ACTOR_EN_BOX, SCENE_INSIDE_GANONS_CASTLE, 22797, GI_RECOVERY_HEART, "Light Trial Third Left Chest", "Ganon's Castle Light Trial Third Left Chest", false), RC_OBJECT(RC_GANONS_CASTLE_LIGHT_TRIAL_FIRST_RIGHT_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_GANONS_CASTLE, ACTOR_EN_BOX, SCENE_INSIDE_GANONS_CASTLE, 24462, GI_ICE_TRAP, "Light Trial First Right Chest", "Ganon's Castle Light Trial First Right Chest", false), - RC_OBJECT(RC_GANONS_CASTLE_LIGHT_TRIAL_SECOND_RIGHT_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_GANONS_CASTLE, ACTOR_EN_BOX, SCENE_INSIDE_GANONS_CASTLE, 22890, GI_ARROWS_LARGE, "Light Trial Second Right Chest", "Ganon's Castle Light Trial Second Right Chest", false), + RC_OBJECT(RC_GANONS_CASTLE_LIGHT_TRIAL_SECOND_RIGHT_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_GANONS_CASTLE, ACTOR_EN_BOX, SCENE_INSIDE_GANONS_CASTLE, 22890, GI_ARROWS_30, "Light Trial Second Right Chest", "Ganon's Castle Light Trial Second Right Chest", false), RC_OBJECT(RC_GANONS_CASTLE_LIGHT_TRIAL_THIRD_RIGHT_CHEST, RCVORMQ_VANILLA, RCTYPE_STANDARD, RCAREA_GANONS_CASTLE, ACTOR_EN_BOX, SCENE_INSIDE_GANONS_CASTLE, 24463, GI_ICE_TRAP, "Light Trial Third Right Chest", "Ganon's Castle Light Trial Third Right Chest", false), - RC_OBJECT(RC_GANONS_CASTLE_LIGHT_TRIAL_INVISIBLE_ENEMIES_CHEST, RCVORMQ_VANILLA, RCTYPE_SMALL_KEY, RCAREA_GANONS_CASTLE, ACTOR_EN_BOX, SCENE_INSIDE_GANONS_CASTLE, 30800, GI_KEY_SMALL, "Light Trial Invisible Enemies Chest", "Ganon's Castle Light Trial Invisible Enemies Chest", true), - RC_OBJECT(RC_GANONS_CASTLE_LIGHT_TRIAL_LULLABY_CHEST, RCVORMQ_VANILLA, RCTYPE_SMALL_KEY, RCAREA_GANONS_CASTLE, ACTOR_EN_BOX, SCENE_INSIDE_GANONS_CASTLE, -30639, GI_KEY_SMALL, "Light Trial Lullaby Chest", "Ganon's Castle Light Trial Lullaby Chest", true), + RC_OBJECT(RC_GANONS_CASTLE_LIGHT_TRIAL_INVISIBLE_ENEMIES_CHEST, RCVORMQ_VANILLA, RCTYPE_SMALL_KEY, RCAREA_GANONS_CASTLE, ACTOR_EN_BOX, SCENE_INSIDE_GANONS_CASTLE, 30800, GI_SMALL_KEY, "Light Trial Invisible Enemies Chest", "Ganon's Castle Light Trial Invisible Enemies Chest", true), + RC_OBJECT(RC_GANONS_CASTLE_LIGHT_TRIAL_LULLABY_CHEST, RCVORMQ_VANILLA, RCTYPE_SMALL_KEY, RCAREA_GANONS_CASTLE, ACTOR_EN_BOX, SCENE_INSIDE_GANONS_CASTLE, -30639, GI_SMALL_KEY, "Light Trial Lullaby Chest", "Ganon's Castle Light Trial Lullaby Chest", true), RC_OBJECT(RC_GANONS_CASTLE_DEKU_SCRUB_CENTER_LEFT, RCVORMQ_VANILLA, RCTYPE_SCRUB, RCAREA_GANONS_CASTLE, ACTOR_EN_DNS, SCENE_INSIDE_GANONS_CASTLE, 0x05, GI_BOMBS_5, "Deku Scrub Center-Left", "Ganon's Castle Deku Scrub Center-Left", false), - RC_OBJECT(RC_GANONS_CASTLE_DEKU_SCRUB_CENTER_RIGHT, RCVORMQ_VANILLA, RCTYPE_SCRUB, RCAREA_GANONS_CASTLE, ACTOR_EN_DNS, SCENE_INSIDE_GANONS_CASTLE, 0x03, GI_SEEDS_30, "Deku Scrub Center-Right", "Ganon's Castle Deku Scrub Center-Right", false), - RC_OBJECT(RC_GANONS_CASTLE_DEKU_SCRUB_RIGHT, RCVORMQ_VANILLA, RCTYPE_SCRUB, RCAREA_GANONS_CASTLE, ACTOR_EN_DNS, SCENE_INSIDE_GANONS_CASTLE, 0x07, GI_POTION_RED, "Deku Scrub Right", "Ganon's Castle Deku Scrub Right", false), - RC_OBJECT(RC_GANONS_CASTLE_DEKU_SCRUB_LEFT, RCVORMQ_VANILLA, RCTYPE_SCRUB, RCAREA_GANONS_CASTLE, ACTOR_EN_DNS, SCENE_INSIDE_GANONS_CASTLE, 0x08, GI_POTION_GREEN, "Deku Scrub Left", "Ganon's Castle Deku Scrub Left", false), + RC_OBJECT(RC_GANONS_CASTLE_DEKU_SCRUB_CENTER_RIGHT, RCVORMQ_VANILLA, RCTYPE_SCRUB, RCAREA_GANONS_CASTLE, ACTOR_EN_DNS, SCENE_INSIDE_GANONS_CASTLE, 0x03, GI_DEKU_SEEDS_30, "Deku Scrub Center-Right", "Ganon's Castle Deku Scrub Center-Right", false), + RC_OBJECT(RC_GANONS_CASTLE_DEKU_SCRUB_RIGHT, RCVORMQ_VANILLA, RCTYPE_SCRUB, RCAREA_GANONS_CASTLE, ACTOR_EN_DNS, SCENE_INSIDE_GANONS_CASTLE, 0x07, GI_BOTTLE_POTION_RED, "Deku Scrub Right", "Ganon's Castle Deku Scrub Right", false), + RC_OBJECT(RC_GANONS_CASTLE_DEKU_SCRUB_LEFT, RCVORMQ_VANILLA, RCTYPE_SCRUB, RCAREA_GANONS_CASTLE, ACTOR_EN_DNS, SCENE_INSIDE_GANONS_CASTLE, 0x08, GI_BOTTLE_POTION_GREEN, "Deku Scrub Left", "Ganon's Castle Deku Scrub Left", false), RC_OBJECT(RC_GANONS_CASTLE_MQ_WATER_TRIAL_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_GANONS_CASTLE, ACTOR_EN_BOX, SCENE_INSIDE_GANONS_CASTLE, 22977, GI_RUPEE_RED, "MQ Water Trial Chest", "Ganon's Castle MQ Water Trial Chest", false), - RC_OBJECT(RC_GANONS_CASTLE_MQ_FOREST_TRIAL_EYE_SWITCH_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_GANONS_CASTLE, ACTOR_EN_BOX, SCENE_INSIDE_GANONS_CASTLE, -30398, GI_ARROWS_MEDIUM, "MQ Forest Trial Eye Switch Chest", "Ganon's Castle MQ Forest Trial Eye Switch Chest", false), + RC_OBJECT(RC_GANONS_CASTLE_MQ_FOREST_TRIAL_EYE_SWITCH_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_GANONS_CASTLE, ACTOR_EN_BOX, SCENE_INSIDE_GANONS_CASTLE, -30398, GI_ARROWS_10, "MQ Forest Trial Eye Switch Chest", "Ganon's Castle MQ Forest Trial Eye Switch Chest", false), RC_OBJECT(RC_GANONS_CASTLE_MQ_FOREST_TRIAL_FROZEN_EYE_SWITCH_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_GANONS_CASTLE, ACTOR_EN_BOX, SCENE_INSIDE_GANONS_CASTLE, -32733, GI_BOMBS_5, "MQ Forest Trial Frozen Eye Switch Chest", "Ganon's Castle MQ Forest Trial Frozen Eye Switch Chest", false), - RC_OBJECT(RC_GANONS_CASTLE_MQ_LIGHT_TRIAL_LULLABY_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_GANONS_CASTLE, ACTOR_EN_BOX, SCENE_INSIDE_GANONS_CASTLE, -30460, GI_HEART, "MQ Light Trial Lullaby Chest", "Ganon's Castle MQ Light Trial Lullaby Chest", false), - RC_OBJECT(RC_GANONS_CASTLE_MQ_SHADOW_TRIAL_BOMB_FLOWER_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_GANONS_CASTLE, ACTOR_EN_BOX, SCENE_INSIDE_GANONS_CASTLE, -30400, GI_ARROWS_MEDIUM, "MQ Shadow Trial Bomb Flower Chest", "Ganon's Castle MQ Shadow Trial Bomb Flower Chest", false), - RC_OBJECT(RC_GANONS_CASTLE_MQ_SHADOW_TRIAL_EYE_SWITCH_CHEST, RCVORMQ_MQ, RCTYPE_SMALL_KEY, RCAREA_GANONS_CASTLE, ACTOR_EN_BOX, SCENE_INSIDE_GANONS_CASTLE, -30651, GI_KEY_SMALL, "MQ Shadow Trial Eye Switch Chest", "Ganon's Castle MQ Shadow Trial Eye Switch Chest", true), - RC_OBJECT(RC_GANONS_CASTLE_MQ_SPIRIT_TRIAL_GOLDEN_GAUNTLETS_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_GANONS_CASTLE, ACTOR_EN_BOX, SCENE_INSIDE_GANONS_CASTLE, -18746, GI_GAUNTLETS_GOLD, "MQ Spirit Trial Golden Gauntlets Chest", "Ganon's Castle MQ Spirit Trial Golden Gauntlets Chest", true), - RC_OBJECT(RC_GANONS_CASTLE_MQ_SPIRIT_TRIAL_SUN_BACK_RIGHT_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_GANONS_CASTLE, ACTOR_EN_BOX, SCENE_INSIDE_GANONS_CASTLE, -30457, GI_HEART, "MQ Spirit Trial Sun Back Right Chest", "Ganon's Castle MQ Spirit Trial Sun Back Right Chest", false), - RC_OBJECT(RC_GANONS_CASTLE_MQ_SPIRIT_TRIAL_SUN_BACK_LEFT_CHEST, RCVORMQ_MQ, RCTYPE_SMALL_KEY, RCAREA_GANONS_CASTLE, ACTOR_EN_BOX, SCENE_INSIDE_GANONS_CASTLE, -30648, GI_KEY_SMALL, "MQ Spirit Trial Sun Back Left Chest", "Ganon's Castle MQ Spirit Trial Sun Back Left Chest", true), - RC_OBJECT(RC_GANONS_CASTLE_MQ_SPIRIT_TRIAL_SUN_FRONT_LEFT_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_GANONS_CASTLE, ACTOR_EN_BOX, SCENE_INSIDE_GANONS_CASTLE, -30455, GI_HEART, "MQ Spirit Trial Sun Front Left Chest", "Ganon's Castle MQ Spirit Trial Sun Front Left Chest", false), + RC_OBJECT(RC_GANONS_CASTLE_MQ_LIGHT_TRIAL_LULLABY_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_GANONS_CASTLE, ACTOR_EN_BOX, SCENE_INSIDE_GANONS_CASTLE, -30460, GI_RECOVERY_HEART, "MQ Light Trial Lullaby Chest", "Ganon's Castle MQ Light Trial Lullaby Chest", false), + RC_OBJECT(RC_GANONS_CASTLE_MQ_SHADOW_TRIAL_BOMB_FLOWER_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_GANONS_CASTLE, ACTOR_EN_BOX, SCENE_INSIDE_GANONS_CASTLE, -30400, GI_ARROWS_10, "MQ Shadow Trial Bomb Flower Chest", "Ganon's Castle MQ Shadow Trial Bomb Flower Chest", false), + RC_OBJECT(RC_GANONS_CASTLE_MQ_SHADOW_TRIAL_EYE_SWITCH_CHEST, RCVORMQ_MQ, RCTYPE_SMALL_KEY, RCAREA_GANONS_CASTLE, ACTOR_EN_BOX, SCENE_INSIDE_GANONS_CASTLE, -30651, GI_SMALL_KEY, "MQ Shadow Trial Eye Switch Chest", "Ganon's Castle MQ Shadow Trial Eye Switch Chest", true), + RC_OBJECT(RC_GANONS_CASTLE_MQ_SPIRIT_TRIAL_GOLDEN_GAUNTLETS_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_GANONS_CASTLE, ACTOR_EN_BOX, SCENE_INSIDE_GANONS_CASTLE, -18746, GI_GOLD_GAUNTLETS, "MQ Spirit Trial Golden Gauntlets Chest", "Ganon's Castle MQ Spirit Trial Golden Gauntlets Chest", true), + RC_OBJECT(RC_GANONS_CASTLE_MQ_SPIRIT_TRIAL_SUN_BACK_RIGHT_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_GANONS_CASTLE, ACTOR_EN_BOX, SCENE_INSIDE_GANONS_CASTLE, -30457, GI_RECOVERY_HEART, "MQ Spirit Trial Sun Back Right Chest", "Ganon's Castle MQ Spirit Trial Sun Back Right Chest", false), + RC_OBJECT(RC_GANONS_CASTLE_MQ_SPIRIT_TRIAL_SUN_BACK_LEFT_CHEST, RCVORMQ_MQ, RCTYPE_SMALL_KEY, RCAREA_GANONS_CASTLE, ACTOR_EN_BOX, SCENE_INSIDE_GANONS_CASTLE, -30648, GI_SMALL_KEY, "MQ Spirit Trial Sun Back Left Chest", "Ganon's Castle MQ Spirit Trial Sun Back Left Chest", true), + RC_OBJECT(RC_GANONS_CASTLE_MQ_SPIRIT_TRIAL_SUN_FRONT_LEFT_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_GANONS_CASTLE, ACTOR_EN_BOX, SCENE_INSIDE_GANONS_CASTLE, -30455, GI_RECOVERY_HEART, "MQ Spirit Trial Sun Front Left Chest", "Ganon's Castle MQ Spirit Trial Sun Front Left Chest", false), RC_OBJECT(RC_GANONS_CASTLE_MQ_SPIRIT_TRIAL_FIRST_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_GANONS_CASTLE, ACTOR_EN_BOX, SCENE_INSIDE_GANONS_CASTLE, 20586, GI_BOMBCHUS_10, "MQ Spirit Trial First Chest", "Ganon's Castle MQ Spirit Trial First Chest", false), - RC_OBJECT(RC_GANONS_CASTLE_MQ_SPIRIT_TRIAL_INVISIBLE_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_GANONS_CASTLE, ACTOR_EN_BOX, SCENE_INSIDE_GANONS_CASTLE, 26964, GI_ARROWS_MEDIUM, "MQ Spirit Trial Invisible Chest", "Ganon's Castle MQ Spirit Trial Invisible Chest", false), - RC_OBJECT(RC_GANONS_CASTLE_MQ_FOREST_TRIAL_FREESTANDING_KEY, RCVORMQ_MQ, RCTYPE_SMALL_KEY, RCAREA_GANONS_CASTLE, ACTOR_EN_ITEM00, SCENE_INSIDE_GANONS_CASTLE, 273, GI_KEY_SMALL, "MQ Forest Trial Freestanding Key", "Ganon's Castle MQ Forest Trial Freestanding Key", true), - RC_OBJECT(RC_GANONS_CASTLE_MQ_DEKU_SCRUB_RIGHT, RCVORMQ_MQ, RCTYPE_SCRUB, RCAREA_GANONS_CASTLE, ACTOR_EN_DNS, SCENE_INSIDE_GANONS_CASTLE, 0x00, GI_NUTS_5_2, "MQ Deku Scrub Right", "Ganon's Castle MQ Deku Scrub Right", false), + RC_OBJECT(RC_GANONS_CASTLE_MQ_SPIRIT_TRIAL_INVISIBLE_CHEST, RCVORMQ_MQ, RCTYPE_STANDARD, RCAREA_GANONS_CASTLE, ACTOR_EN_BOX, SCENE_INSIDE_GANONS_CASTLE, 26964, GI_ARROWS_10, "MQ Spirit Trial Invisible Chest", "Ganon's Castle MQ Spirit Trial Invisible Chest", false), + RC_OBJECT(RC_GANONS_CASTLE_MQ_FOREST_TRIAL_FREESTANDING_KEY, RCVORMQ_MQ, RCTYPE_SMALL_KEY, RCAREA_GANONS_CASTLE, ACTOR_EN_ITEM00, SCENE_INSIDE_GANONS_CASTLE, 273, GI_SMALL_KEY, "MQ Forest Trial Freestanding Key", "Ganon's Castle MQ Forest Trial Freestanding Key", true), + RC_OBJECT(RC_GANONS_CASTLE_MQ_DEKU_SCRUB_RIGHT, RCVORMQ_MQ, RCTYPE_SCRUB, RCAREA_GANONS_CASTLE, ACTOR_EN_DNS, SCENE_INSIDE_GANONS_CASTLE, 0x00, GI_DEKU_NUTS_5_2, "MQ Deku Scrub Right", "Ganon's Castle MQ Deku Scrub Right", false), RC_OBJECT(RC_GANONS_CASTLE_MQ_DEKU_SCRUB_CENTER_LEFT, RCVORMQ_MQ, RCTYPE_SCRUB, RCAREA_GANONS_CASTLE, ACTOR_EN_DNS, SCENE_INSIDE_GANONS_CASTLE, 0x05, GI_BOMBS_5, "MQ Deku Scrub Center-Left", "Ganon's Castle MQ Deku Scrub Center-Left", false), - RC_OBJECT(RC_GANONS_CASTLE_MQ_DEKU_SCRUB_CENTER, RCVORMQ_MQ, RCTYPE_SCRUB, RCAREA_GANONS_CASTLE, ACTOR_EN_DNS, SCENE_INSIDE_GANONS_CASTLE, 0x03, GI_SEEDS_30, "MQ Deku Scrub Center", "Ganon's Castle MQ Deku Scrub Center", false), - RC_OBJECT(RC_GANONS_CASTLE_MQ_DEKU_SCRUB_CENTER_RIGHT, RCVORMQ_MQ, RCTYPE_SCRUB, RCAREA_GANONS_CASTLE, ACTOR_EN_DNS, SCENE_INSIDE_GANONS_CASTLE, 0x07, GI_POTION_RED, "MQ Deku Scrub Center-Right", "Ganon's Castle MQ Deku Scrub Center-Right", false), - RC_OBJECT(RC_GANONS_CASTLE_MQ_DEKU_SCRUB_LEFT, RCVORMQ_MQ, RCTYPE_SCRUB, RCAREA_GANONS_CASTLE, ACTOR_EN_DNS, SCENE_INSIDE_GANONS_CASTLE, 0x08, GI_POTION_GREEN, "MQ Deku Scrub Left", "Ganon's Castle MQ Deku Scrub Left", false), + RC_OBJECT(RC_GANONS_CASTLE_MQ_DEKU_SCRUB_CENTER, RCVORMQ_MQ, RCTYPE_SCRUB, RCAREA_GANONS_CASTLE, ACTOR_EN_DNS, SCENE_INSIDE_GANONS_CASTLE, 0x03, GI_DEKU_SEEDS_30, "MQ Deku Scrub Center", "Ganon's Castle MQ Deku Scrub Center", false), + RC_OBJECT(RC_GANONS_CASTLE_MQ_DEKU_SCRUB_CENTER_RIGHT, RCVORMQ_MQ, RCTYPE_SCRUB, RCAREA_GANONS_CASTLE, ACTOR_EN_DNS, SCENE_INSIDE_GANONS_CASTLE, 0x07, GI_BOTTLE_POTION_RED, "MQ Deku Scrub Center-Right", "Ganon's Castle MQ Deku Scrub Center-Right", false), + RC_OBJECT(RC_GANONS_CASTLE_MQ_DEKU_SCRUB_LEFT, RCVORMQ_MQ, RCTYPE_SCRUB, RCAREA_GANONS_CASTLE, ACTOR_EN_DNS, SCENE_INSIDE_GANONS_CASTLE, 0x08, GI_BOTTLE_POTION_GREEN, "MQ Deku Scrub Left", "Ganon's Castle MQ Deku Scrub Left", false), RC_OBJECT(RC_UNKNOWN_CHECK, RCVORMQ_BOTH, RCTYPE_STANDARD, RCAREA_INVALID, ACTOR_ID_MAX, SCENE_ID_MAX, 0x00, GI_NONE, "Invalid Check", "Invalid Check", false), diff --git a/soh/soh/Enhancements/randomizer/randomizer_check_tracker.cpp b/soh/soh/Enhancements/randomizer/randomizer_check_tracker.cpp index 0884a694fe5..9ce341523fd 100644 --- a/soh/soh/Enhancements/randomizer/randomizer_check_tracker.cpp +++ b/soh/soh/Enhancements/randomizer/randomizer_check_tracker.cpp @@ -599,16 +599,16 @@ void CheckTrackerItemReceive(GetItemEntry giEntry) { } else if (giEntry.itemId == ITEM_SONG_PRELUDE) { SetCheckCollected(RC_SHEIK_AT_TEMPLE); return; - } else if (giEntry.itemId == ITEM_BRACELET) { + } else if (giEntry.itemId == ITEM_STRENGTH_GORONS_BRACELET) { SetCheckCollected(RC_GC_DARUNIAS_JOY); return; - } else if (giEntry.itemId == ITEM_LETTER_ZELDA) { + } else if (giEntry.itemId == ITEM_ZELDAS_LETTER) { SetCheckCollected(RC_HC_ZELDAS_LETTER); return; } else if (giEntry.itemId == ITEM_WEIRD_EGG) { SetCheckCollected(RC_HC_MALON_EGG); return; - } else if (giEntry.itemId == ITEM_BEAN) { + } else if (giEntry.itemId == ITEM_MAGIC_BEAN) { SetCheckCollected(RC_ZR_MAGIC_BEAN_SALESMAN); return; } diff --git a/soh/soh/Enhancements/randomizer/randomizer_item_tracker.cpp b/soh/soh/Enhancements/randomizer/randomizer_item_tracker.cpp index f24ab818b9d..abaaffea65e 100644 --- a/soh/soh/Enhancements/randomizer/randomizer_item_tracker.cpp +++ b/soh/soh/Enhancements/randomizer/randomizer_item_tracker.cpp @@ -35,27 +35,27 @@ bool shouldUpdateVectors = true; std::vector mainWindowItems = {}; std::vector inventoryItems = { - ITEM_TRACKER_ITEM(ITEM_STICK, 0, DrawItem), ITEM_TRACKER_ITEM(ITEM_NUT, 0, DrawItem), ITEM_TRACKER_ITEM(ITEM_BOMB, 0, DrawItem), + ITEM_TRACKER_ITEM(ITEM_DEKU_STICK, 0, DrawItem), ITEM_TRACKER_ITEM(ITEM_DEKU_NUT, 0, DrawItem), ITEM_TRACKER_ITEM(ITEM_BOMB, 0, DrawItem), ITEM_TRACKER_ITEM(ITEM_BOW, 0, DrawItem), ITEM_TRACKER_ITEM(ITEM_ARROW_FIRE, 0, DrawItem), ITEM_TRACKER_ITEM(ITEM_DINS_FIRE, 0, DrawItem), ITEM_TRACKER_ITEM(ITEM_SLINGSHOT, 0, DrawItem), ITEM_TRACKER_ITEM(ITEM_OCARINA_FAIRY, 0, DrawItem), ITEM_TRACKER_ITEM(ITEM_BOMBCHU, 0, DrawItem), ITEM_TRACKER_ITEM(ITEM_HOOKSHOT, 0, DrawItem), ITEM_TRACKER_ITEM(ITEM_ARROW_ICE, 0, DrawItem), ITEM_TRACKER_ITEM(ITEM_FARORES_WIND, 0, DrawItem), - ITEM_TRACKER_ITEM(ITEM_BOOMERANG, 0, DrawItem), ITEM_TRACKER_ITEM(ITEM_LENS, 0, DrawItem), ITEM_TRACKER_ITEM(ITEM_BEAN, 0, DrawItem), + ITEM_TRACKER_ITEM(ITEM_BOOMERANG, 0, DrawItem), ITEM_TRACKER_ITEM(ITEM_LENS_OF_TRUTH, 0, DrawItem), ITEM_TRACKER_ITEM(ITEM_MAGIC_BEAN, 0, DrawItem), ITEM_TRACKER_ITEM(ITEM_HAMMER, 0, DrawItem), ITEM_TRACKER_ITEM(ITEM_ARROW_LIGHT, 0, DrawItem), ITEM_TRACKER_ITEM(ITEM_NAYRUS_LOVE, 0, DrawItem), - ITEM_TRACKER_ITEM(ITEM_BOTTLE, 0, DrawBottle), ITEM_TRACKER_ITEM(ITEM_BOTTLE, 1, DrawBottle), ITEM_TRACKER_ITEM(ITEM_BOTTLE, 2, DrawBottle), - ITEM_TRACKER_ITEM(ITEM_BOTTLE, 3, DrawBottle), ITEM_TRACKER_ITEM(ITEM_POCKET_EGG, 0, DrawItem), ITEM_TRACKER_ITEM(ITEM_MASK_KEATON, 0, DrawItem), + ITEM_TRACKER_ITEM(ITEM_BOTTLE_EMPTY, 0, DrawBottle), ITEM_TRACKER_ITEM(ITEM_BOTTLE_EMPTY, 1, DrawBottle), ITEM_TRACKER_ITEM(ITEM_BOTTLE_EMPTY, 2, DrawBottle), + ITEM_TRACKER_ITEM(ITEM_BOTTLE_EMPTY, 3, DrawBottle), ITEM_TRACKER_ITEM(ITEM_POCKET_EGG, 0, DrawItem), ITEM_TRACKER_ITEM(ITEM_MASK_KEATON, 0, DrawItem), }; std::vector equipmentItems = { - ITEM_TRACKER_ITEM(ITEM_SWORD_KOKIRI, 1 << 0, DrawEquip), ITEM_TRACKER_ITEM(ITEM_SWORD_MASTER, 1 << 1, DrawEquip), ITEM_TRACKER_ITEM(ITEM_SWORD_BGS, 1 << 2, DrawEquip), + ITEM_TRACKER_ITEM(ITEM_SWORD_KOKIRI, 1 << 0, DrawEquip), ITEM_TRACKER_ITEM(ITEM_SWORD_MASTER, 1 << 1, DrawEquip), ITEM_TRACKER_ITEM(ITEM_SWORD_BIGGORON, 1 << 2, DrawEquip), ITEM_TRACKER_ITEM(ITEM_TUNIC_KOKIRI, 1 << 8, DrawEquip), ITEM_TRACKER_ITEM(ITEM_TUNIC_GORON, 1 << 9, DrawEquip), ITEM_TRACKER_ITEM(ITEM_TUNIC_ZORA, 1 << 10, DrawEquip), ITEM_TRACKER_ITEM(ITEM_SHIELD_DEKU, 1 << 4, DrawEquip), ITEM_TRACKER_ITEM(ITEM_SHIELD_HYLIAN, 1 << 5, DrawEquip), ITEM_TRACKER_ITEM(ITEM_SHIELD_MIRROR, 1 << 6, DrawEquip), ITEM_TRACKER_ITEM(ITEM_BOOTS_KOKIRI, 1 << 12, DrawEquip), ITEM_TRACKER_ITEM(ITEM_BOOTS_IRON, 1 << 13, DrawEquip), ITEM_TRACKER_ITEM(ITEM_BOOTS_HOVER, 1 << 14, DrawEquip), }; std::vector miscItems = { - ITEM_TRACKER_ITEM(ITEM_BRACELET, 0, DrawItem), ITEM_TRACKER_ITEM(ITEM_SCALE_SILVER, 0, DrawItem), ITEM_TRACKER_ITEM(ITEM_WALLET_ADULT, 0, DrawItem), - ITEM_TRACKER_ITEM(ITEM_HEART_CONTAINER, 0, DrawItem), ITEM_TRACKER_ITEM(ITEM_HEART_PIECE, 0, DrawItem), ITEM_TRACKER_ITEM(ITEM_MAGIC_SMALL, 0, DrawItem), - ITEM_TRACKER_ITEM(QUEST_GERUDO_CARD, 1 << 22, DrawQuest), ITEM_TRACKER_ITEM(QUEST_SKULL_TOKEN, 1 << 23, DrawQuest), ITEM_TRACKER_ITEM(QUEST_STONE_OF_AGONY, 1 << 21, DrawQuest), + ITEM_TRACKER_ITEM(ITEM_STRENGTH_GORONS_BRACELET, 0, DrawItem), ITEM_TRACKER_ITEM(ITEM_SCALE_SILVER, 0, DrawItem), ITEM_TRACKER_ITEM(ITEM_ADULTS_WALLET, 0, DrawItem), + ITEM_TRACKER_ITEM(ITEM_HEART_CONTAINER, 0, DrawItem), ITEM_TRACKER_ITEM(ITEM_HEART_PIECE, 0, DrawItem), ITEM_TRACKER_ITEM(ITEM_MAGIC_JAR_SMALL, 0, DrawItem), + ITEM_TRACKER_ITEM(QUEST_GERUDOS_CARD, 1 << 22, DrawQuest), ITEM_TRACKER_ITEM(QUEST_SKULL_TOKEN, 1 << 23, DrawQuest), ITEM_TRACKER_ITEM(QUEST_STONE_OF_AGONY, 1 << 21, DrawQuest), }; std::vector dungeonRewardStones = { @@ -85,57 +85,57 @@ std::vector triforcePieces = { }; std::vector itemTrackerDungeonsWithMapsHorizontal = { - { SCENE_DEKU_TREE, { ITEM_DUNGEON_MAP, ITEM_COMPASS } }, - { SCENE_DODONGOS_CAVERN, { ITEM_DUNGEON_MAP, ITEM_COMPASS } }, - { SCENE_JABU_JABU, { ITEM_DUNGEON_MAP, ITEM_COMPASS } }, - { SCENE_FOREST_TEMPLE, { ITEM_KEY_SMALL, ITEM_KEY_BOSS, ITEM_DUNGEON_MAP, ITEM_COMPASS } }, - { SCENE_FIRE_TEMPLE, { ITEM_KEY_SMALL, ITEM_KEY_BOSS, ITEM_DUNGEON_MAP, ITEM_COMPASS } }, - { SCENE_WATER_TEMPLE, { ITEM_KEY_SMALL, ITEM_KEY_BOSS, ITEM_DUNGEON_MAP, ITEM_COMPASS } }, - { SCENE_SPIRIT_TEMPLE, { ITEM_KEY_SMALL, ITEM_KEY_BOSS, ITEM_DUNGEON_MAP, ITEM_COMPASS } }, - { SCENE_SHADOW_TEMPLE, { ITEM_KEY_SMALL, ITEM_KEY_BOSS, ITEM_DUNGEON_MAP, ITEM_COMPASS } }, - { SCENE_INSIDE_GANONS_CASTLE, { ITEM_KEY_SMALL, ITEM_KEY_BOSS } }, - { SCENE_BOTTOM_OF_THE_WELL, { ITEM_KEY_SMALL, ITEM_DUNGEON_MAP, ITEM_COMPASS } }, - { SCENE_ICE_CAVERN, { ITEM_DUNGEON_MAP, ITEM_COMPASS } }, - { SCENE_GERUDO_TRAINING_GROUND, { ITEM_KEY_SMALL } }, + { SCENE_DEKU_TREE, { ITEM_DUNGEON_MAP, ITEM_DUNGEON_COMPASS } }, + { SCENE_DODONGOS_CAVERN, { ITEM_DUNGEON_MAP, ITEM_DUNGEON_COMPASS } }, + { SCENE_JABU_JABU, { ITEM_DUNGEON_MAP, ITEM_DUNGEON_COMPASS } }, + { SCENE_FOREST_TEMPLE, { ITEM_SMALL_KEY, ITEM_DUNGEON_BOSS_KEY, ITEM_DUNGEON_MAP, ITEM_DUNGEON_COMPASS } }, + { SCENE_FIRE_TEMPLE, { ITEM_SMALL_KEY, ITEM_DUNGEON_BOSS_KEY, ITEM_DUNGEON_MAP, ITEM_DUNGEON_COMPASS } }, + { SCENE_WATER_TEMPLE, { ITEM_SMALL_KEY, ITEM_DUNGEON_BOSS_KEY, ITEM_DUNGEON_MAP, ITEM_DUNGEON_COMPASS } }, + { SCENE_SPIRIT_TEMPLE, { ITEM_SMALL_KEY, ITEM_DUNGEON_BOSS_KEY, ITEM_DUNGEON_MAP, ITEM_DUNGEON_COMPASS } }, + { SCENE_SHADOW_TEMPLE, { ITEM_SMALL_KEY, ITEM_DUNGEON_BOSS_KEY, ITEM_DUNGEON_MAP, ITEM_DUNGEON_COMPASS } }, + { SCENE_INSIDE_GANONS_CASTLE, { ITEM_SMALL_KEY, ITEM_DUNGEON_BOSS_KEY } }, + { SCENE_BOTTOM_OF_THE_WELL, { ITEM_SMALL_KEY, ITEM_DUNGEON_MAP, ITEM_DUNGEON_COMPASS } }, + { SCENE_ICE_CAVERN, { ITEM_DUNGEON_MAP, ITEM_DUNGEON_COMPASS } }, + { SCENE_GERUDO_TRAINING_GROUND, { ITEM_SMALL_KEY } }, }; std::vector itemTrackerDungeonsHorizontal = { - { SCENE_FOREST_TEMPLE, { ITEM_KEY_SMALL, ITEM_KEY_BOSS } }, - { SCENE_FIRE_TEMPLE, { ITEM_KEY_SMALL, ITEM_KEY_BOSS } }, - { SCENE_WATER_TEMPLE, { ITEM_KEY_SMALL, ITEM_KEY_BOSS } }, - { SCENE_SPIRIT_TEMPLE, { ITEM_KEY_SMALL, ITEM_KEY_BOSS } }, - { SCENE_SHADOW_TEMPLE, { ITEM_KEY_SMALL, ITEM_KEY_BOSS } }, - { SCENE_INSIDE_GANONS_CASTLE, { ITEM_KEY_SMALL, ITEM_KEY_BOSS } }, - { SCENE_BOTTOM_OF_THE_WELL, { ITEM_KEY_SMALL } }, - { SCENE_GERUDO_TRAINING_GROUND, { ITEM_KEY_SMALL } }, + { SCENE_FOREST_TEMPLE, { ITEM_SMALL_KEY, ITEM_DUNGEON_BOSS_KEY } }, + { SCENE_FIRE_TEMPLE, { ITEM_SMALL_KEY, ITEM_DUNGEON_BOSS_KEY } }, + { SCENE_WATER_TEMPLE, { ITEM_SMALL_KEY, ITEM_DUNGEON_BOSS_KEY } }, + { SCENE_SPIRIT_TEMPLE, { ITEM_SMALL_KEY, ITEM_DUNGEON_BOSS_KEY } }, + { SCENE_SHADOW_TEMPLE, { ITEM_SMALL_KEY, ITEM_DUNGEON_BOSS_KEY } }, + { SCENE_INSIDE_GANONS_CASTLE, { ITEM_SMALL_KEY, ITEM_DUNGEON_BOSS_KEY } }, + { SCENE_BOTTOM_OF_THE_WELL, { ITEM_SMALL_KEY } }, + { SCENE_GERUDO_TRAINING_GROUND, { ITEM_SMALL_KEY } }, }; std::vector itemTrackerDungeonsWithMapsCompact = { - { SCENE_FOREST_TEMPLE, { ITEM_KEY_SMALL, ITEM_KEY_BOSS, ITEM_DUNGEON_MAP, ITEM_COMPASS } }, - { SCENE_FIRE_TEMPLE, { ITEM_KEY_SMALL, ITEM_KEY_BOSS, ITEM_DUNGEON_MAP, ITEM_COMPASS } }, - { SCENE_WATER_TEMPLE, { ITEM_KEY_SMALL, ITEM_KEY_BOSS, ITEM_DUNGEON_MAP, ITEM_COMPASS } }, - { SCENE_SPIRIT_TEMPLE, { ITEM_KEY_SMALL, ITEM_KEY_BOSS, ITEM_DUNGEON_MAP, ITEM_COMPASS } }, - { SCENE_SHADOW_TEMPLE, { ITEM_KEY_SMALL, ITEM_KEY_BOSS, ITEM_DUNGEON_MAP, ITEM_COMPASS } }, - { SCENE_BOTTOM_OF_THE_WELL, { ITEM_KEY_SMALL, ITEM_DUNGEON_MAP, ITEM_COMPASS } }, - { SCENE_DEKU_TREE, { ITEM_DUNGEON_MAP, ITEM_COMPASS } }, - { SCENE_DODONGOS_CAVERN, { ITEM_DUNGEON_MAP, ITEM_COMPASS } }, - { SCENE_JABU_JABU, { ITEM_DUNGEON_MAP, ITEM_COMPASS } }, - { SCENE_ICE_CAVERN, { ITEM_DUNGEON_MAP, ITEM_COMPASS } }, - { SCENE_INSIDE_GANONS_CASTLE, { ITEM_KEY_SMALL, ITEM_KEY_BOSS } }, - { SCENE_GERUDO_TRAINING_GROUND, { ITEM_KEY_SMALL } }, + { SCENE_FOREST_TEMPLE, { ITEM_SMALL_KEY, ITEM_DUNGEON_BOSS_KEY, ITEM_DUNGEON_MAP, ITEM_DUNGEON_COMPASS } }, + { SCENE_FIRE_TEMPLE, { ITEM_SMALL_KEY, ITEM_DUNGEON_BOSS_KEY, ITEM_DUNGEON_MAP, ITEM_DUNGEON_COMPASS } }, + { SCENE_WATER_TEMPLE, { ITEM_SMALL_KEY, ITEM_DUNGEON_BOSS_KEY, ITEM_DUNGEON_MAP, ITEM_DUNGEON_COMPASS } }, + { SCENE_SPIRIT_TEMPLE, { ITEM_SMALL_KEY, ITEM_DUNGEON_BOSS_KEY, ITEM_DUNGEON_MAP, ITEM_DUNGEON_COMPASS } }, + { SCENE_SHADOW_TEMPLE, { ITEM_SMALL_KEY, ITEM_DUNGEON_BOSS_KEY, ITEM_DUNGEON_MAP, ITEM_DUNGEON_COMPASS } }, + { SCENE_BOTTOM_OF_THE_WELL, { ITEM_SMALL_KEY, ITEM_DUNGEON_MAP, ITEM_DUNGEON_COMPASS } }, + { SCENE_DEKU_TREE, { ITEM_DUNGEON_MAP, ITEM_DUNGEON_COMPASS } }, + { SCENE_DODONGOS_CAVERN, { ITEM_DUNGEON_MAP, ITEM_DUNGEON_COMPASS } }, + { SCENE_JABU_JABU, { ITEM_DUNGEON_MAP, ITEM_DUNGEON_COMPASS } }, + { SCENE_ICE_CAVERN, { ITEM_DUNGEON_MAP, ITEM_DUNGEON_COMPASS } }, + { SCENE_INSIDE_GANONS_CASTLE, { ITEM_SMALL_KEY, ITEM_DUNGEON_BOSS_KEY } }, + { SCENE_GERUDO_TRAINING_GROUND, { ITEM_SMALL_KEY } }, }; std::vector itemTrackerDungeonsCompact = { - { SCENE_FOREST_TEMPLE, { ITEM_KEY_SMALL, ITEM_KEY_BOSS } }, - { SCENE_FIRE_TEMPLE, { ITEM_KEY_SMALL, ITEM_KEY_BOSS } }, - { SCENE_WATER_TEMPLE, { ITEM_KEY_SMALL, ITEM_KEY_BOSS } }, - { SCENE_SPIRIT_TEMPLE, { ITEM_KEY_SMALL, ITEM_KEY_BOSS } }, - { SCENE_SHADOW_TEMPLE, { ITEM_KEY_SMALL, ITEM_KEY_BOSS } }, - { SCENE_INSIDE_GANONS_CASTLE, { ITEM_KEY_SMALL, ITEM_KEY_BOSS } }, - { SCENE_BOTTOM_OF_THE_WELL, { ITEM_KEY_SMALL } }, - { SCENE_GERUDO_TRAINING_GROUND, { ITEM_KEY_SMALL } }, - { SCENE_THIEVES_HIDEOUT, { ITEM_KEY_SMALL } }, + { SCENE_FOREST_TEMPLE, { ITEM_SMALL_KEY, ITEM_DUNGEON_BOSS_KEY } }, + { SCENE_FIRE_TEMPLE, { ITEM_SMALL_KEY, ITEM_DUNGEON_BOSS_KEY } }, + { SCENE_WATER_TEMPLE, { ITEM_SMALL_KEY, ITEM_DUNGEON_BOSS_KEY } }, + { SCENE_SPIRIT_TEMPLE, { ITEM_SMALL_KEY, ITEM_DUNGEON_BOSS_KEY } }, + { SCENE_SHADOW_TEMPLE, { ITEM_SMALL_KEY, ITEM_DUNGEON_BOSS_KEY } }, + { SCENE_INSIDE_GANONS_CASTLE, { ITEM_SMALL_KEY, ITEM_DUNGEON_BOSS_KEY } }, + { SCENE_BOTTOM_OF_THE_WELL, { ITEM_SMALL_KEY } }, + { SCENE_GERUDO_TRAINING_GROUND, { ITEM_SMALL_KEY } }, + { SCENE_THIEVES_HIDEOUT, { ITEM_SMALL_KEY } }, }; std::map itemTrackerDungeonShortNames = { @@ -157,46 +157,46 @@ std::map itemTrackerDungeonShortNames = { std::vector dungeonItems = {}; std::unordered_map actualItemTrackerItemMap = { - { ITEM_BOTTLE, ITEM_TRACKER_ITEM(ITEM_BOTTLE, 0, DrawItem) }, - { ITEM_BIG_POE, ITEM_TRACKER_ITEM(ITEM_BIG_POE, 0, DrawItem) }, - { ITEM_BLUE_FIRE, ITEM_TRACKER_ITEM(ITEM_BLUE_FIRE, 0, DrawItem) }, - { ITEM_BUG, ITEM_TRACKER_ITEM(ITEM_BUG, 0, DrawItem) }, - { ITEM_FAIRY, ITEM_TRACKER_ITEM(ITEM_FAIRY, 0, DrawItem) }, - { ITEM_FISH, ITEM_TRACKER_ITEM(ITEM_FISH, 0, DrawItem) }, - { ITEM_POTION_GREEN, ITEM_TRACKER_ITEM(ITEM_POTION_GREEN, 0, DrawItem) }, - { ITEM_POE, ITEM_TRACKER_ITEM(ITEM_POE, 0, DrawItem) }, - { ITEM_POTION_RED, ITEM_TRACKER_ITEM(ITEM_POTION_RED, 0, DrawItem) }, - { ITEM_POTION_BLUE, ITEM_TRACKER_ITEM(ITEM_POTION_BLUE, 0, DrawItem) }, - { ITEM_MILK_BOTTLE, ITEM_TRACKER_ITEM(ITEM_MILK_BOTTLE, 0, DrawItem) }, - { ITEM_MILK_HALF, ITEM_TRACKER_ITEM(ITEM_MILK_HALF, 0, DrawItem) }, - { ITEM_LETTER_RUTO, ITEM_TRACKER_ITEM(ITEM_LETTER_RUTO, 0, DrawItem) }, + { ITEM_BOTTLE_EMPTY, ITEM_TRACKER_ITEM(ITEM_BOTTLE_EMPTY, 0, DrawItem) }, + { ITEM_BOTTLE_BIG_POE, ITEM_TRACKER_ITEM(ITEM_BOTTLE_BIG_POE, 0, DrawItem) }, + { ITEM_BOTTLE_BLUE_FIRE, ITEM_TRACKER_ITEM(ITEM_BOTTLE_BLUE_FIRE, 0, DrawItem) }, + { ITEM_BOTTLE_BUG, ITEM_TRACKER_ITEM(ITEM_BOTTLE_BUG, 0, DrawItem) }, + { ITEM_BOTTLE_FAIRY, ITEM_TRACKER_ITEM(ITEM_BOTTLE_FAIRY, 0, DrawItem) }, + { ITEM_BOTTLE_FISH, ITEM_TRACKER_ITEM(ITEM_BOTTLE_FISH, 0, DrawItem) }, + { ITEM_BOTTLE_POTION_GREEN, ITEM_TRACKER_ITEM(ITEM_BOTTLE_POTION_GREEN, 0, DrawItem) }, + { ITEM_BOTTLE_POE, ITEM_TRACKER_ITEM(ITEM_BOTTLE_POE, 0, DrawItem) }, + { ITEM_BOTTLE_POTION_RED, ITEM_TRACKER_ITEM(ITEM_BOTTLE_POTION_RED, 0, DrawItem) }, + { ITEM_BOTTLE_POTION_BLUE, ITEM_TRACKER_ITEM(ITEM_BOTTLE_POTION_BLUE, 0, DrawItem) }, + { ITEM_BOTTLE_MILK_FULL, ITEM_TRACKER_ITEM(ITEM_BOTTLE_MILK_FULL, 0, DrawItem) }, + { ITEM_BOTTLE_MILK_HALF, ITEM_TRACKER_ITEM(ITEM_BOTTLE_MILK_HALF, 0, DrawItem) }, + { ITEM_BOTTLE_RUTOS_LETTER, ITEM_TRACKER_ITEM(ITEM_BOTTLE_RUTOS_LETTER, 0, DrawItem) }, { ITEM_HOOKSHOT, ITEM_TRACKER_ITEM(ITEM_HOOKSHOT, 0, DrawItem) }, { ITEM_LONGSHOT, ITEM_TRACKER_ITEM(ITEM_LONGSHOT, 0, DrawItem) }, { ITEM_OCARINA_FAIRY, ITEM_TRACKER_ITEM(ITEM_OCARINA_FAIRY, 0, DrawItem) }, - { ITEM_OCARINA_TIME, ITEM_TRACKER_ITEM(ITEM_OCARINA_TIME, 0, DrawItem) }, + { ITEM_OCARINA_OF_TIME, ITEM_TRACKER_ITEM(ITEM_OCARINA_OF_TIME, 0, DrawItem) }, - { ITEM_MAGIC_SMALL, ITEM_TRACKER_ITEM(ITEM_MAGIC_SMALL, 0, DrawItem) }, - { ITEM_MAGIC_LARGE, ITEM_TRACKER_ITEM(ITEM_MAGIC_LARGE, 0, DrawItem) }, + { ITEM_MAGIC_JAR_SMALL, ITEM_TRACKER_ITEM(ITEM_MAGIC_JAR_SMALL, 0, DrawItem) }, + { ITEM_MAGIC_JAR_BIG, ITEM_TRACKER_ITEM(ITEM_MAGIC_JAR_BIG, 0, DrawItem) }, - { ITEM_WALLET_ADULT, ITEM_TRACKER_ITEM(ITEM_WALLET_ADULT, 0, DrawItem) }, - { ITEM_WALLET_GIANT, ITEM_TRACKER_ITEM(ITEM_WALLET_GIANT, 0, DrawItem) }, + { ITEM_ADULTS_WALLET, ITEM_TRACKER_ITEM(ITEM_ADULTS_WALLET, 0, DrawItem) }, + { ITEM_GIANTS_WALLET, ITEM_TRACKER_ITEM(ITEM_GIANTS_WALLET, 0, DrawItem) }, - { ITEM_BRACELET, ITEM_TRACKER_ITEM(ITEM_BRACELET, 0, DrawItem) }, - { ITEM_GAUNTLETS_SILVER, ITEM_TRACKER_ITEM(ITEM_GAUNTLETS_SILVER, 0, DrawItem) }, - { ITEM_GAUNTLETS_GOLD, ITEM_TRACKER_ITEM(ITEM_GAUNTLETS_GOLD, 0, DrawItem) }, + { ITEM_STRENGTH_GORONS_BRACELET, ITEM_TRACKER_ITEM(ITEM_STRENGTH_GORONS_BRACELET, 0, DrawItem) }, + { ITEM_STRENGTH_SILVER_GAUNTLETS, ITEM_TRACKER_ITEM(ITEM_STRENGTH_SILVER_GAUNTLETS, 0, DrawItem) }, + { ITEM_STRENGTH_GOLD_GAUNTLETS, ITEM_TRACKER_ITEM(ITEM_STRENGTH_GOLD_GAUNTLETS, 0, DrawItem) }, { ITEM_SCALE_SILVER, ITEM_TRACKER_ITEM(ITEM_SCALE_SILVER, 0, DrawItem) }, { ITEM_SCALE_GOLDEN, ITEM_TRACKER_ITEM(ITEM_SCALE_GOLDEN, 0, DrawItem) }, { ITEM_WEIRD_EGG, ITEM_TRACKER_ITEM(ITEM_WEIRD_EGG, 0, DrawItem) }, { ITEM_CHICKEN, ITEM_TRACKER_ITEM(ITEM_CHICKEN, 0, DrawItem) }, - { ITEM_LETTER_ZELDA, ITEM_TRACKER_ITEM(ITEM_LETTER_ZELDA, 0, DrawItem) }, + { ITEM_ZELDAS_LETTER, ITEM_TRACKER_ITEM(ITEM_ZELDAS_LETTER, 0, DrawItem) }, { ITEM_MASK_KEATON, ITEM_TRACKER_ITEM(ITEM_MASK_KEATON, 0, DrawItem) }, { ITEM_MASK_SKULL, ITEM_TRACKER_ITEM(ITEM_MASK_SKULL, 0, DrawItem) }, { ITEM_MASK_SPOOKY, ITEM_TRACKER_ITEM(ITEM_MASK_SPOOKY, 0, DrawItem) }, - { ITEM_MASK_BUNNY, ITEM_TRACKER_ITEM(ITEM_MASK_BUNNY, 0, DrawItem) }, + { ITEM_MASK_BUNNY_HOOD, ITEM_TRACKER_ITEM(ITEM_MASK_BUNNY_HOOD, 0, DrawItem) }, { ITEM_MASK_GORON, ITEM_TRACKER_ITEM(ITEM_MASK_GORON, 0, DrawItem) }, { ITEM_MASK_ZORA, ITEM_TRACKER_ITEM(ITEM_MASK_ZORA, 0, DrawItem) }, { ITEM_MASK_GERUDO, ITEM_TRACKER_ITEM(ITEM_MASK_GERUDO, 0, DrawItem) }, @@ -208,11 +208,11 @@ std::unordered_map actualItemTrackerItemMap = { { ITEM_COJIRO, ITEM_TRACKER_ITEM(ITEM_COJIRO, 0, DrawItem) }, { ITEM_ODD_MUSHROOM, ITEM_TRACKER_ITEM(ITEM_ODD_MUSHROOM, 0, DrawItem) }, { ITEM_ODD_POTION, ITEM_TRACKER_ITEM(ITEM_ODD_POTION, 0, DrawItem) }, - { ITEM_SAW, ITEM_TRACKER_ITEM(ITEM_SAW, 0, DrawItem) }, - { ITEM_SWORD_BROKEN, ITEM_TRACKER_ITEM(ITEM_SWORD_BROKEN, 0, DrawItem) }, + { ITEM_POACHERS_SAW, ITEM_TRACKER_ITEM(ITEM_POACHERS_SAW, 0, DrawItem) }, + { ITEM_BROKEN_GORONS_SWORD, ITEM_TRACKER_ITEM(ITEM_BROKEN_GORONS_SWORD, 0, DrawItem) }, { ITEM_PRESCRIPTION, ITEM_TRACKER_ITEM(ITEM_PRESCRIPTION, 0, DrawItem) }, - { ITEM_FROG, ITEM_TRACKER_ITEM(ITEM_FROG, 0, DrawItem) }, - { ITEM_EYEDROPS, ITEM_TRACKER_ITEM(ITEM_EYEDROPS, 0, DrawItem) }, + { ITEM_EYEBALL_FROG, ITEM_TRACKER_ITEM(ITEM_EYEBALL_FROG, 0, DrawItem) }, + { ITEM_EYE_DROPS, ITEM_TRACKER_ITEM(ITEM_EYE_DROPS, 0, DrawItem) }, { ITEM_CLAIM_CHECK, ITEM_TRACKER_ITEM(ITEM_CLAIM_CHECK, 0, DrawItem) }, }; @@ -311,15 +311,15 @@ ItemTrackerNumbers GetItemCurrentAndMax(ItemTrackerItem item) { result.currentAmmo = 0; switch (item.id) { - case ITEM_STICK: - result.currentCapacity = CUR_CAPACITY(UPG_STICKS); + case ITEM_DEKU_STICK: + result.currentCapacity = CUR_CAPACITY(UPG_DEKU_STICKS); result.maxCapacity = 30; - result.currentAmmo = AMMO(ITEM_STICK); + result.currentAmmo = AMMO(ITEM_DEKU_STICK); break; - case ITEM_NUT: - result.currentCapacity = CUR_CAPACITY(UPG_NUTS); + case ITEM_DEKU_NUT: + result.currentCapacity = CUR_CAPACITY(UPG_DEKU_NUTS); result.maxCapacity = 40; - result.currentAmmo = AMMO(ITEM_NUT); + result.currentAmmo = AMMO(ITEM_DEKU_NUT); break; case ITEM_BOMB: result.currentCapacity = CUR_CAPACITY(UPG_BOMB_BAG); @@ -336,8 +336,8 @@ ItemTrackerNumbers GetItemCurrentAndMax(ItemTrackerItem item) { result.maxCapacity = 50; result.currentAmmo = AMMO(ITEM_SLINGSHOT); break; - case ITEM_WALLET_ADULT: - case ITEM_WALLET_GIANT: + case ITEM_ADULTS_WALLET: + case ITEM_GIANTS_WALLET: result.currentCapacity = CUR_CAPACITY(UPG_WALLET); result.maxCapacity = OTRGlobals::Instance->gRandomizer->GetRandoSettingValue(RSK_SHOPSANITY) > RO_SHOPSANITY_ZERO_ITEMS ? 999 : 500; result.currentAmmo = gSaveContext.rupees; @@ -347,10 +347,10 @@ ItemTrackerNumbers GetItemCurrentAndMax(ItemTrackerItem item) { result.maxCapacity = 50; result.currentAmmo = AMMO(ITEM_BOMBCHU); break; - case ITEM_BEAN: - result.currentCapacity = INV_CONTENT(ITEM_BEAN) == ITEM_BEAN ? 10 : 0; + case ITEM_MAGIC_BEAN: + result.currentCapacity = INV_CONTENT(ITEM_MAGIC_BEAN) == ITEM_MAGIC_BEAN ? 10 : 0; result.maxCapacity = 10; - result.currentAmmo = AMMO(ITEM_BEAN); + result.currentAmmo = AMMO(ITEM_MAGIC_BEAN); break; case QUEST_SKULL_TOKEN: result.maxCapacity = result.currentCapacity = 100; @@ -364,7 +364,7 @@ ItemTrackerNumbers GetItemCurrentAndMax(ItemTrackerItem item) { result.maxCapacity = result.currentCapacity = 36; result.currentAmmo = gSaveContext.sohStats.heartPieces; break; - case ITEM_KEY_SMALL: + case ITEM_SMALL_KEY: // Though the ammo/capacity naming doesn't really make sense for keys, we are // hijacking the same system to display key counts as there are enough similarities result.currentAmmo = MAX(gSaveContext.inventory.dungeonKeys[item.data], 0); @@ -417,7 +417,7 @@ void DrawItemCount(ItemTrackerItem item) { int32_t trackerNumberDisplayMode = CVarGetInteger("gItemTrackerCapacityTrack", ITEM_TRACKER_NUMBER_CURRENT_CAPACITY_ONLY); int32_t trackerKeyNumberDisplayMode = CVarGetInteger("gItemTrackerKeyTrack", KEYS_COLLECTED_MAX); - if (item.id == ITEM_KEY_SMALL && IsValidSaveFile()) { + if (item.id == ITEM_SMALL_KEY && IsValidSaveFile()) { std::string currentString = ""; std::string maxString = std::to_string(currentAndMax.maxCapacity); ImU32 currentColor = IM_COL_WHITE; @@ -454,7 +454,7 @@ void DrawItemCount(ItemTrackerItem item) { trackerNumberDisplayMode == ITEM_TRACKER_NUMBER_CURRENT_AMMO_ONLY || // These items have a static capacity, so display ammo instead item.id == ITEM_BOMBCHU || - item.id == ITEM_BEAN || + item.id == ITEM_MAGIC_BEAN || item.id == QUEST_SKULL_TOKEN || item.id == ITEM_HEART_CONTAINER || item.id == ITEM_HEART_PIECE; @@ -579,20 +579,20 @@ void DrawItem(ItemTrackerItem item) { actualItemId = item.id; hasItem = gSaveContext.sohStats.heartPieces > 0; break; - case ITEM_MAGIC_SMALL: - case ITEM_MAGIC_LARGE: - actualItemId = gSaveContext.magicLevel == 2 ? ITEM_MAGIC_LARGE : ITEM_MAGIC_SMALL; + case ITEM_MAGIC_JAR_SMALL: + case ITEM_MAGIC_JAR_BIG: + actualItemId = gSaveContext.magicLevel == 2 ? ITEM_MAGIC_JAR_BIG : ITEM_MAGIC_JAR_SMALL; hasItem = gSaveContext.magicLevel > 0; break; - case ITEM_WALLET_ADULT: - case ITEM_WALLET_GIANT: - actualItemId = CUR_UPG_VALUE(UPG_WALLET) == 2 ? ITEM_WALLET_GIANT : ITEM_WALLET_ADULT; + case ITEM_ADULTS_WALLET: + case ITEM_GIANTS_WALLET: + actualItemId = CUR_UPG_VALUE(UPG_WALLET) == 2 ? ITEM_GIANTS_WALLET : ITEM_ADULTS_WALLET; hasItem = true; break; - case ITEM_BRACELET: - case ITEM_GAUNTLETS_SILVER: - case ITEM_GAUNTLETS_GOLD: - actualItemId = CUR_UPG_VALUE(UPG_STRENGTH) == 3 ? ITEM_GAUNTLETS_GOLD : CUR_UPG_VALUE(UPG_STRENGTH) == 2 ? ITEM_GAUNTLETS_SILVER : ITEM_BRACELET; + case ITEM_STRENGTH_GORONS_BRACELET: + case ITEM_STRENGTH_SILVER_GAUNTLETS: + case ITEM_STRENGTH_GOLD_GAUNTLETS: + actualItemId = CUR_UPG_VALUE(UPG_STRENGTH) == 3 ? ITEM_STRENGTH_GOLD_GAUNTLETS : CUR_UPG_VALUE(UPG_STRENGTH) == 2 ? ITEM_STRENGTH_SILVER_GAUNTLETS : ITEM_STRENGTH_GORONS_BRACELET; hasItem = CUR_UPG_VALUE(UPG_STRENGTH) > 0; break; case ITEM_SCALE_SILVER: @@ -648,12 +648,12 @@ void DrawBottle(ItemTrackerItem item) { void DrawDungeonItem(ItemTrackerItem item) { uint32_t itemId = item.id; ImU32 dungeonColor = IM_COL_WHITE; - uint32_t bitMask = 1 << (item.id - ITEM_KEY_BOSS); // Bitset starts at ITEM_KEY_BOSS == 0. the rest are sequential + uint32_t bitMask = 1 << (item.id - ITEM_DUNGEON_BOSS_KEY); // Bitset starts at ITEM_DUNGEON_BOSS_KEY == 0. the rest are sequential int iconSize = CVarGetInteger("gItemTrackerIconSize", 36); bool hasItem = (bitMask & gSaveContext.inventory.dungeonItems[item.data]) != 0; bool hasSmallKey = (gSaveContext.inventory.dungeonKeys[item.data]) >= 0; ImGui::BeginGroup(); - if (itemId == ITEM_KEY_SMALL) { + if (itemId == ITEM_SMALL_KEY) { ImGui::Image(LUS::Context::GetInstance()->GetWindow()->GetGui()->GetTextureByName(hasSmallKey && IsValidSaveFile() ? item.name : item.nameFaded), ImVec2(iconSize, iconSize), ImVec2(0, 0), ImVec2(1, 1)); } @@ -666,7 +666,7 @@ void DrawDungeonItem(ItemTrackerItem item) { dungeonColor = IM_COL_PURPLE; } - if (itemId == ITEM_KEY_SMALL) { + if (itemId == ITEM_SMALL_KEY) { DrawItemCount(item); ImVec2 p = ImGui::GetCursorScreenPos(); @@ -824,22 +824,22 @@ std::vector GetDungeonItemsVector(std::vector i) { switch (dungeons[j].items[i]) { - case ITEM_KEY_SMALL: - dungeonItems.push_back(ITEM_TRACKER_ITEM(ITEM_KEY_SMALL, dungeons[j].id, DrawDungeonItem)); + case ITEM_SMALL_KEY: + dungeonItems.push_back(ITEM_TRACKER_ITEM(ITEM_SMALL_KEY, dungeons[j].id, DrawDungeonItem)); break; - case ITEM_KEY_BOSS: + case ITEM_DUNGEON_BOSS_KEY: // Swap Ganon's Castle boss key to the right scene ID manually if (dungeons[j].id == SCENE_INSIDE_GANONS_CASTLE) { - dungeonItems.push_back(ITEM_TRACKER_ITEM(ITEM_KEY_BOSS, SCENE_GANONS_TOWER, DrawDungeonItem)); + dungeonItems.push_back(ITEM_TRACKER_ITEM(ITEM_DUNGEON_BOSS_KEY, SCENE_GANONS_TOWER, DrawDungeonItem)); } else { - dungeonItems.push_back(ITEM_TRACKER_ITEM(ITEM_KEY_BOSS, dungeons[j].id, DrawDungeonItem)); + dungeonItems.push_back(ITEM_TRACKER_ITEM(ITEM_DUNGEON_BOSS_KEY, dungeons[j].id, DrawDungeonItem)); } break; case ITEM_DUNGEON_MAP: dungeonItems.push_back(ITEM_TRACKER_ITEM(ITEM_DUNGEON_MAP, dungeons[j].id, DrawDungeonItem)); break; - case ITEM_COMPASS: - dungeonItems.push_back(ITEM_TRACKER_ITEM(ITEM_COMPASS, dungeons[j].id, DrawDungeonItem)); + case ITEM_DUNGEON_COMPASS: + dungeonItems.push_back(ITEM_TRACKER_ITEM(ITEM_DUNGEON_COMPASS, dungeons[j].id, DrawDungeonItem)); break; } } else { @@ -871,17 +871,17 @@ void UpdateVectors() { if (CVarGetInteger("gItemTrackerDisplayDungeonItemsMaps", 1)) { dungeonItems = GetDungeonItemsVector(itemTrackerDungeonsWithMapsHorizontal, 12); // Manually adding Thieves Hideout to an open spot so we don't get an additional row for one item - dungeonItems[23] = ITEM_TRACKER_ITEM(ITEM_KEY_SMALL, SCENE_THIEVES_HIDEOUT, DrawDungeonItem); + dungeonItems[23] = ITEM_TRACKER_ITEM(ITEM_SMALL_KEY, SCENE_THIEVES_HIDEOUT, DrawDungeonItem); } else { // Manually adding Thieves Hideout to an open spot so we don't get an additional row for one item dungeonItems = GetDungeonItemsVector(itemTrackerDungeonsHorizontal, 8); - dungeonItems[15] = ITEM_TRACKER_ITEM(ITEM_KEY_SMALL, SCENE_THIEVES_HIDEOUT, DrawDungeonItem); + dungeonItems[15] = ITEM_TRACKER_ITEM(ITEM_SMALL_KEY, SCENE_THIEVES_HIDEOUT, DrawDungeonItem); } } else { if (CVarGetInteger("gItemTrackerDisplayDungeonItemsMaps", 1)) { dungeonItems = GetDungeonItemsVector(itemTrackerDungeonsWithMapsCompact); // Manually adding Thieves Hideout to an open spot so we don't get an additional row for one item - dungeonItems[35] = ITEM_TRACKER_ITEM(ITEM_KEY_SMALL, SCENE_THIEVES_HIDEOUT, DrawDungeonItem); + dungeonItems[35] = ITEM_TRACKER_ITEM(ITEM_SMALL_KEY, SCENE_THIEVES_HIDEOUT, DrawDungeonItem); } else { dungeonItems = GetDungeonItemsVector(itemTrackerDungeonsCompact); } diff --git a/soh/soh/Enhancements/randomizer/savefile.cpp b/soh/soh/Enhancements/randomizer/savefile.cpp index ed7443910cd..69572914e42 100644 --- a/soh/soh/Enhancements/randomizer/savefile.cpp +++ b/soh/soh/Enhancements/randomizer/savefile.cpp @@ -15,7 +15,7 @@ GetItemEntry Randomizer_GetItemFromKnownCheck(RandomizerCheck randomizerCheck, G void StartingItemGive(GetItemEntry getItemEntry) { if (getItemEntry.modIndex == MOD_NONE) { - if (getItemEntry.getItemId == GI_SWORD_BGS) { + if (getItemEntry.getItemId == GI_SWORD_BIGGORON) { gSaveContext.bgsFlag = true; } Item_Give(NULL, getItemEntry.itemId); @@ -53,43 +53,43 @@ void GiveLinkRupees(int numOfRupees) { void GiveLinkDekuSticks(int howManySticks) { int maxStickCount; - if (CUR_UPG_VALUE(UPG_STICKS) == 0) { - INV_CONTENT(ITEM_STICK) = ITEM_STICK; - Inventory_ChangeUpgrade(UPG_STICKS, 1); + if (CUR_UPG_VALUE(UPG_DEKU_STICKS) == 0) { + INV_CONTENT(ITEM_DEKU_STICK) = ITEM_DEKU_STICK; + Inventory_ChangeUpgrade(UPG_DEKU_STICKS, 1); maxStickCount = 10; - } else if (CUR_UPG_VALUE(UPG_STICKS) == 1) { + } else if (CUR_UPG_VALUE(UPG_DEKU_STICKS) == 1) { maxStickCount = 10; - } else if (CUR_UPG_VALUE(UPG_STICKS) == 2) { + } else if (CUR_UPG_VALUE(UPG_DEKU_STICKS) == 2) { maxStickCount = 20; - } else if (CUR_UPG_VALUE(UPG_STICKS) == 3) { + } else if (CUR_UPG_VALUE(UPG_DEKU_STICKS) == 3) { maxStickCount = 30; } - if ((AMMO(ITEM_STICK) + howManySticks) > maxStickCount) { - AMMO(ITEM_STICK) = maxStickCount; + if ((AMMO(ITEM_DEKU_STICK) + howManySticks) > maxStickCount) { + AMMO(ITEM_DEKU_STICK) = maxStickCount; } else { - AMMO(ITEM_STICK) += howManySticks; + AMMO(ITEM_DEKU_STICK) += howManySticks; } } void GiveLinkDekuNuts(int howManyNuts) { int maxNutCount; - if (CUR_UPG_VALUE(UPG_NUTS) == 0) { - INV_CONTENT(ITEM_NUT) = ITEM_NUT; - Inventory_ChangeUpgrade(UPG_NUTS, 1); + if (CUR_UPG_VALUE(UPG_DEKU_NUTS) == 0) { + INV_CONTENT(ITEM_DEKU_NUT) = ITEM_DEKU_NUT; + Inventory_ChangeUpgrade(UPG_DEKU_NUTS, 1); maxNutCount = 20; - } else if (CUR_UPG_VALUE(UPG_NUTS) == 1) { + } else if (CUR_UPG_VALUE(UPG_DEKU_NUTS) == 1) { maxNutCount = 20; - } else if (CUR_UPG_VALUE(UPG_NUTS) == 2) { + } else if (CUR_UPG_VALUE(UPG_DEKU_NUTS) == 2) { maxNutCount = 30; - } else if (CUR_UPG_VALUE(UPG_NUTS) == 3) { + } else if (CUR_UPG_VALUE(UPG_DEKU_NUTS) == 3) { maxNutCount = 40; } - if ((AMMO(ITEM_NUT) + howManyNuts) > maxNutCount) { - AMMO(ITEM_NUT) = maxNutCount; + if ((AMMO(ITEM_DEKU_NUT) + howManyNuts) > maxNutCount) { + AMMO(ITEM_DEKU_NUT) = maxNutCount; } else { - AMMO(ITEM_NUT) += howManyNuts; + AMMO(ITEM_DEKU_NUT) += howManyNuts; } } @@ -348,7 +348,7 @@ extern "C" void Randomizer_InitSaveFile() { // set this at the end to ensure we always start with the letter // this is for the off chance we got the weird egg from impa (which should never happen) - INV_CONTENT(ITEM_LETTER_ZELDA) = ITEM_LETTER_ZELDA; + INV_CONTENT(ITEM_ZELDAS_LETTER) = ITEM_ZELDAS_LETTER; } HIGH_SCORE(HS_POE_POINTS) = 1000 - (100 * Randomizer_GetSettingValue(RSK_BIG_POE_COUNT)); @@ -421,7 +421,7 @@ extern "C" void Randomizer_InitSaveFile() { gSaveContext.sceneFlags[SCENE_THIEVES_HIDEOUT].collect |= (1 << 0x0C); // picked up key if (!Randomizer_GetSettingValue(RSK_SHUFFLE_GERUDO_MEMBERSHIP_CARD)) { - Item_Give(NULL, ITEM_GERUDO_CARD); + Item_Give(NULL, ITEM_GERUDOS_CARD); } } diff --git a/soh/soh/Enhancements/tts/tts.cpp b/soh/soh/Enhancements/tts/tts.cpp index 0fde40656c6..e48215a2d35 100644 --- a/soh/soh/Enhancements/tts/tts.cpp +++ b/soh/soh/Enhancements/tts/tts.cpp @@ -335,13 +335,13 @@ void RegisterOnKaleidoscopeUpdateHook() { { char arg[8]; // at least big enough where no s8 string will overflow switch (pauseCtx->cursorItem[PAUSE_ITEM]) { - case ITEM_STICK: - case ITEM_NUT: + case ITEM_DEKU_STICK: + case ITEM_DEKU_NUT: case ITEM_BOMB: case ITEM_BOMBCHU: case ITEM_SLINGSHOT: case ITEM_BOW: - case ITEM_BEAN: + case ITEM_MAGIC_BEAN: snprintf(arg, sizeof(arg), "%d", AMMO(pauseCtx->cursorItem[PAUSE_ITEM])); break; default: @@ -445,8 +445,8 @@ void RegisterOnKaleidoscopeUpdateHook() { // BGS from kaleido reports as ITEM_HEART_PIECE_2 (122) // remap BGS and broken knife to be the BGS item for the current equip check - if (checkEquipItem == ITEM_HEART_PIECE_2 || checkEquipItem == ITEM_SWORD_KNIFE) { - checkEquipItem = ITEM_SWORD_BGS; + if (checkEquipItem == ITEM_HEART_PIECE_2 || checkEquipItem == ITEM_GIANTS_KNIFE) { + checkEquipItem = ITEM_SWORD_BIGGORON; } // Check if equipment item is currently equipped or assigned to a button diff --git a/soh/soh/OTRGlobals.cpp b/soh/soh/OTRGlobals.cpp index 8b56d352cee..0d196bed018 100644 --- a/soh/soh/OTRGlobals.cpp +++ b/soh/soh/OTRGlobals.cpp @@ -431,129 +431,129 @@ extern "C" void OTRAudio_Exit() { extern "C" void VanillaItemTable_Init() { static GetItemEntry getItemTable[] = { - GET_ITEM(ITEM_BOMBS_5, OBJECT_GI_BOMB_1, GID_BOMB, 0x32, 0x59, CHEST_ANIM_SHORT, ITEM_CATEGORY_JUNK, MOD_NONE, GI_BOMBS_5), - GET_ITEM(ITEM_NUTS_5, OBJECT_GI_NUTS, GID_NUTS, 0x34, 0x0C, CHEST_ANIM_SHORT, ITEM_CATEGORY_JUNK, MOD_NONE, GI_NUTS_5), - GET_ITEM(ITEM_BOMBCHU, OBJECT_GI_BOMB_2, GID_BOMBCHU, 0x33, 0x80, CHEST_ANIM_SHORT, ITEM_CATEGORY_JUNK, MOD_NONE, GI_BOMBCHUS_10), - GET_ITEM(ITEM_BOW, OBJECT_GI_BOW, GID_BOW, 0x31, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_BOW), - GET_ITEM(ITEM_SLINGSHOT, OBJECT_GI_PACHINKO, GID_SLINGSHOT, 0x30, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_SLINGSHOT), - GET_ITEM(ITEM_BOOMERANG, OBJECT_GI_BOOMERANG, GID_BOOMERANG, 0x35, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_BOOMERANG), - GET_ITEM(ITEM_STICK, OBJECT_GI_STICK, GID_STICK, 0x37, 0x0D, CHEST_ANIM_SHORT, ITEM_CATEGORY_JUNK, MOD_NONE, GI_STICKS_1), - GET_ITEM(ITEM_HOOKSHOT, OBJECT_GI_HOOKSHOT, GID_HOOKSHOT, 0x36, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_HOOKSHOT), - GET_ITEM(ITEM_LONGSHOT, OBJECT_GI_HOOKSHOT, GID_LONGSHOT, 0x4F, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_LONGSHOT), - GET_ITEM(ITEM_LENS, OBJECT_GI_GLASSES, GID_LENS, 0x39, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_LENS), - GET_ITEM(ITEM_LETTER_ZELDA, OBJECT_GI_LETTER, GID_LETTER_ZELDA, 0x69, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_LETTER_ZELDA), - GET_ITEM(ITEM_OCARINA_TIME, OBJECT_GI_OCARINA, GID_OCARINA_TIME, 0x3A, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_OCARINA_OOT), - GET_ITEM(ITEM_HAMMER, OBJECT_GI_HAMMER, GID_HAMMER, 0x38, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_HAMMER), - GET_ITEM(ITEM_COJIRO, OBJECT_GI_NIWATORI, GID_COJIRO, 0x02, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_COJIRO), - GET_ITEM(ITEM_BOTTLE, OBJECT_GI_BOTTLE, GID_BOTTLE, 0x42, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_BOTTLE), - GET_ITEM(ITEM_POTION_RED, OBJECT_GI_LIQUID, GID_POTION_RED, 0x43, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_JUNK, MOD_NONE, GI_POTION_RED), - GET_ITEM(ITEM_POTION_GREEN, OBJECT_GI_LIQUID, GID_POTION_GREEN, 0x44, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_JUNK, MOD_NONE, GI_POTION_GREEN), - GET_ITEM(ITEM_POTION_BLUE, OBJECT_GI_LIQUID, GID_POTION_BLUE, 0x45, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_JUNK, MOD_NONE, GI_POTION_BLUE), - GET_ITEM(ITEM_FAIRY, OBJECT_GI_BOTTLE, GID_BOTTLE, 0x46, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_JUNK, MOD_NONE, GI_FAIRY), - GET_ITEM(ITEM_MILK_BOTTLE, OBJECT_GI_MILK, GID_MILK, 0x98, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_MILK_BOTTLE), - GET_ITEM(ITEM_LETTER_RUTO, OBJECT_GI_BOTTLE_LETTER, GID_LETTER_RUTO, 0x99, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_LETTER_RUTO), - GET_ITEM(ITEM_BEAN, OBJECT_GI_BEAN, GID_BEAN, 0x48, 0x80, CHEST_ANIM_SHORT, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_BEAN), - GET_ITEM(ITEM_MASK_SKULL, OBJECT_GI_SKJ_MASK, GID_MASK_SKULL, 0x10, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_MASK_SKULL), - GET_ITEM(ITEM_MASK_SPOOKY, OBJECT_GI_REDEAD_MASK, GID_MASK_SPOOKY, 0x11, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_MASK_SPOOKY), - GET_ITEM(ITEM_CHICKEN, OBJECT_GI_NIWATORI, GID_CHICKEN, 0x48, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_CHICKEN), - GET_ITEM(ITEM_MASK_KEATON, OBJECT_GI_KI_TAN_MASK, GID_MASK_KEATON, 0x12, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_MASK_KEATON), - GET_ITEM(ITEM_MASK_BUNNY, OBJECT_GI_RABIT_MASK, GID_MASK_BUNNY, 0x13, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_MASK_BUNNY), - GET_ITEM(ITEM_MASK_TRUTH, OBJECT_GI_TRUTH_MASK, GID_MASK_TRUTH, 0x17, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_MASK_TRUTH), - GET_ITEM(ITEM_POCKET_EGG, OBJECT_GI_EGG, GID_EGG, 0x01, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_POCKET_EGG), - GET_ITEM(ITEM_POCKET_CUCCO, OBJECT_GI_NIWATORI, GID_CHICKEN, 0x48, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_POCKET_CUCCO), - GET_ITEM(ITEM_ODD_MUSHROOM, OBJECT_GI_MUSHROOM, GID_ODD_MUSHROOM, 0x03, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_ODD_MUSHROOM), - GET_ITEM(ITEM_ODD_POTION, OBJECT_GI_POWDER, GID_ODD_POTION, 0x04, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_ODD_POTION), - GET_ITEM(ITEM_SAW, OBJECT_GI_SAW, GID_SAW, 0x05, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_SAW), - GET_ITEM(ITEM_SWORD_BROKEN, OBJECT_GI_BROKENSWORD, GID_SWORD_BROKEN, 0x08, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_SWORD_BROKEN), - GET_ITEM(ITEM_PRESCRIPTION, OBJECT_GI_PRESCRIPTION, GID_PRESCRIPTION, 0x09, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_PRESCRIPTION), - GET_ITEM(ITEM_FROG, OBJECT_GI_FROG, GID_FROG, 0x0D, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_FROG), - GET_ITEM(ITEM_EYEDROPS, OBJECT_GI_EYE_LOTION, GID_EYEDROPS, 0x0E, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_EYEDROPS), - GET_ITEM(ITEM_CLAIM_CHECK, OBJECT_GI_TICKETSTONE, GID_CLAIM_CHECK, 0x0A, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_CLAIM_CHECK), - GET_ITEM(ITEM_SWORD_KOKIRI, OBJECT_GI_SWORD_1, GID_SWORD_KOKIRI, 0xA4, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_SWORD_KOKIRI), - GET_ITEM(ITEM_SWORD_BGS, OBJECT_GI_LONGSWORD, GID_SWORD_BGS, 0x4B, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_SWORD_KNIFE), - GET_ITEM(ITEM_SHIELD_DEKU, OBJECT_GI_SHIELD_1, GID_SHIELD_DEKU, 0x4C, 0xA0, CHEST_ANIM_SHORT, ITEM_CATEGORY_LESSER, MOD_NONE, GI_SHIELD_DEKU), - GET_ITEM(ITEM_SHIELD_HYLIAN, OBJECT_GI_SHIELD_2, GID_SHIELD_HYLIAN, 0x4D, 0xA0, CHEST_ANIM_SHORT, ITEM_CATEGORY_LESSER, MOD_NONE, GI_SHIELD_HYLIAN), - GET_ITEM(ITEM_SHIELD_MIRROR, OBJECT_GI_SHIELD_3, GID_SHIELD_MIRROR, 0x4E, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_SHIELD_MIRROR), - GET_ITEM(ITEM_TUNIC_GORON, OBJECT_GI_CLOTHES, GID_TUNIC_GORON, 0x50, 0xA0, CHEST_ANIM_LONG, ITEM_CATEGORY_LESSER, MOD_NONE, GI_TUNIC_GORON), - GET_ITEM(ITEM_TUNIC_ZORA, OBJECT_GI_CLOTHES, GID_TUNIC_ZORA, 0x51, 0xA0, CHEST_ANIM_LONG, ITEM_CATEGORY_LESSER, MOD_NONE, GI_TUNIC_ZORA), - GET_ITEM(ITEM_BOOTS_IRON, OBJECT_GI_BOOTS_2, GID_BOOTS_IRON, 0x53, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_BOOTS_IRON), - GET_ITEM(ITEM_BOOTS_HOVER, OBJECT_GI_HOVERBOOTS, GID_BOOTS_HOVER, 0x54, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_BOOTS_HOVER), - GET_ITEM(ITEM_QUIVER_40, OBJECT_GI_ARROWCASE, GID_QUIVER_40, 0x56, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_LESSER, MOD_NONE, GI_QUIVER_40), - GET_ITEM(ITEM_QUIVER_50, OBJECT_GI_ARROWCASE, GID_QUIVER_50, 0x57, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_LESSER, MOD_NONE, GI_QUIVER_50), - GET_ITEM(ITEM_BOMB_BAG_20, OBJECT_GI_BOMBPOUCH, GID_BOMB_BAG_20, 0x58, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_BOMB_BAG_20), - GET_ITEM(ITEM_BOMB_BAG_30, OBJECT_GI_BOMBPOUCH, GID_BOMB_BAG_30, 0x59, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_LESSER, MOD_NONE, GI_BOMB_BAG_30), - GET_ITEM(ITEM_BOMB_BAG_40, OBJECT_GI_BOMBPOUCH, GID_BOMB_BAG_40, 0x5A, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_LESSER, MOD_NONE, GI_BOMB_BAG_40), - GET_ITEM(ITEM_GAUNTLETS_SILVER, OBJECT_GI_GLOVES, GID_GAUNTLETS_SILVER, 0x5B, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_GAUNTLETS_SILVER), - GET_ITEM(ITEM_GAUNTLETS_GOLD, OBJECT_GI_GLOVES, GID_GAUNTLETS_GOLD, 0x5C, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_GAUNTLETS_GOLD), - GET_ITEM(ITEM_SCALE_SILVER, OBJECT_GI_SCALE, GID_SCALE_SILVER, 0xCD, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_SCALE_SILVER), - GET_ITEM(ITEM_SCALE_GOLDEN, OBJECT_GI_SCALE, GID_SCALE_GOLDEN, 0xCE, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_SCALE_GOLD), - GET_ITEM(ITEM_STONE_OF_AGONY, OBJECT_GI_MAP, GID_STONE_OF_AGONY, 0x68, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_STONE_OF_AGONY), - GET_ITEM(ITEM_GERUDO_CARD, OBJECT_GI_GERUDO, GID_GERUDO_CARD, 0x7B, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_GERUDO_CARD), - GET_ITEM(ITEM_OCARINA_FAIRY, OBJECT_GI_OCARINA_0, GID_OCARINA_FAIRY, 0x4A, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_OCARINA_FAIRY), - GET_ITEM(ITEM_SEEDS, OBJECT_GI_SEED, GID_SEEDS, 0xDC, 0x50, CHEST_ANIM_SHORT, ITEM_CATEGORY_JUNK, MOD_NONE, GI_SEEDS_5), - GET_ITEM(ITEM_HEART_CONTAINER, OBJECT_GI_HEARTS, GID_HEART_CONTAINER, 0xC6, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_LESSER, MOD_NONE, GI_HEART_CONTAINER), - GET_ITEM(ITEM_HEART_PIECE_2, OBJECT_GI_HEARTS, GID_HEART_PIECE, 0xC2, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_LESSER, MOD_NONE, GI_HEART_PIECE), - GET_ITEM(ITEM_KEY_BOSS, OBJECT_GI_BOSSKEY, GID_KEY_BOSS, 0xC7, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_BOSS_KEY, MOD_NONE, GI_KEY_BOSS), - GET_ITEM(ITEM_COMPASS, OBJECT_GI_COMPASS, GID_COMPASS, 0x67, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_LESSER, MOD_NONE, GI_COMPASS), - GET_ITEM(ITEM_DUNGEON_MAP, OBJECT_GI_MAP, GID_DUNGEON_MAP, 0x66, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_LESSER, MOD_NONE, GI_MAP), - GET_ITEM(ITEM_KEY_SMALL, OBJECT_GI_KEY, GID_KEY_SMALL, 0x60, 0x80, CHEST_ANIM_SHORT, ITEM_CATEGORY_SMALL_KEY, MOD_NONE, GI_KEY_SMALL), - GET_ITEM(ITEM_MAGIC_SMALL, OBJECT_GI_MAGICPOT, GID_MAGIC_SMALL, 0x52, 0x6F, CHEST_ANIM_SHORT, ITEM_CATEGORY_JUNK, MOD_NONE, GI_MAGIC_SMALL), - GET_ITEM(ITEM_MAGIC_LARGE, OBJECT_GI_MAGICPOT, GID_MAGIC_LARGE, 0x52, 0x6E, CHEST_ANIM_SHORT, ITEM_CATEGORY_JUNK, MOD_NONE, GI_MAGIC_LARGE), - GET_ITEM(ITEM_WALLET_ADULT, OBJECT_GI_PURSE, GID_WALLET_ADULT, 0x5E, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_WALLET_ADULT), - GET_ITEM(ITEM_WALLET_GIANT, OBJECT_GI_PURSE, GID_WALLET_GIANT, 0x5F, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_WALLET_GIANT), - GET_ITEM(ITEM_WEIRD_EGG, OBJECT_GI_EGG, GID_EGG, 0x9A, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_WEIRD_EGG), - GET_ITEM(ITEM_HEART, OBJECT_GI_HEART, GID_HEART, 0x55, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_JUNK, MOD_NONE, GI_HEART), - GET_ITEM(ITEM_ARROWS_SMALL, OBJECT_GI_ARROW, GID_ARROWS_SMALL, 0xE6, 0x48, CHEST_ANIM_SHORT, ITEM_CATEGORY_JUNK, MOD_NONE, GI_ARROWS_SMALL), - GET_ITEM(ITEM_ARROWS_MEDIUM, OBJECT_GI_ARROW, GID_ARROWS_MEDIUM, 0xE6, 0x49, CHEST_ANIM_SHORT, ITEM_CATEGORY_JUNK, MOD_NONE, GI_ARROWS_MEDIUM), - GET_ITEM(ITEM_ARROWS_LARGE, OBJECT_GI_ARROW, GID_ARROWS_LARGE, 0xE6, 0x4A, CHEST_ANIM_SHORT, ITEM_CATEGORY_JUNK, MOD_NONE, GI_ARROWS_LARGE), - GET_ITEM(ITEM_RUPEE_GREEN, OBJECT_GI_RUPY, GID_RUPEE_GREEN, 0x6F, 0x00, CHEST_ANIM_SHORT, ITEM_CATEGORY_JUNK, MOD_NONE, GI_RUPEE_GREEN), - GET_ITEM(ITEM_RUPEE_BLUE, OBJECT_GI_RUPY, GID_RUPEE_BLUE, 0xCC, 0x01, CHEST_ANIM_SHORT, ITEM_CATEGORY_JUNK, MOD_NONE, GI_RUPEE_BLUE), - GET_ITEM(ITEM_RUPEE_RED, OBJECT_GI_RUPY, GID_RUPEE_RED, 0xF0, 0x02, CHEST_ANIM_SHORT, ITEM_CATEGORY_JUNK, MOD_NONE, GI_RUPEE_RED), - GET_ITEM(ITEM_HEART_CONTAINER, OBJECT_GI_HEARTS, GID_HEART_CONTAINER, 0xC6, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_LESSER, MOD_NONE, GI_HEART_CONTAINER_2), - GET_ITEM(ITEM_MILK, OBJECT_GI_MILK, GID_MILK, 0x98, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_JUNK, MOD_NONE, GI_MILK), - GET_ITEM(ITEM_MASK_GORON, OBJECT_GI_GOLONMASK, GID_MASK_GORON, 0x14, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_MASK_GORON), - GET_ITEM(ITEM_MASK_ZORA, OBJECT_GI_ZORAMASK, GID_MASK_ZORA, 0x15, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_MASK_ZORA), - GET_ITEM(ITEM_MASK_GERUDO, OBJECT_GI_GERUDOMASK, GID_MASK_GERUDO, 0x16, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_MASK_GERUDO), - GET_ITEM(ITEM_BRACELET, OBJECT_GI_BRACELET, GID_BRACELET, 0x79, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_BRACELET), - GET_ITEM(ITEM_RUPEE_PURPLE, OBJECT_GI_RUPY, GID_RUPEE_PURPLE, 0xF1, 0x14, CHEST_ANIM_SHORT, ITEM_CATEGORY_JUNK, MOD_NONE, GI_RUPEE_PURPLE), - GET_ITEM(ITEM_RUPEE_GOLD, OBJECT_GI_RUPY, GID_RUPEE_GOLD, 0xF2, 0x13, CHEST_ANIM_SHORT, ITEM_CATEGORY_LESSER, MOD_NONE, GI_RUPEE_GOLD), - GET_ITEM(ITEM_SWORD_BGS, OBJECT_GI_LONGSWORD, GID_SWORD_BGS, 0x0C, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_SWORD_BGS), - GET_ITEM(ITEM_ARROW_FIRE, OBJECT_GI_M_ARROW, GID_ARROW_FIRE, 0x70, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_ARROW_FIRE), - GET_ITEM(ITEM_ARROW_ICE, OBJECT_GI_M_ARROW, GID_ARROW_ICE, 0x71, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_ARROW_ICE), - GET_ITEM(ITEM_ARROW_LIGHT, OBJECT_GI_M_ARROW, GID_ARROW_LIGHT, 0x72, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_ARROW_LIGHT), - GET_ITEM(ITEM_SKULL_TOKEN, OBJECT_GI_SUTARU, GID_SKULL_TOKEN, 0xB4, 0x80, CHEST_ANIM_SHORT, ITEM_CATEGORY_SKULLTULA_TOKEN, MOD_NONE, GI_SKULL_TOKEN), - GET_ITEM(ITEM_DINS_FIRE, OBJECT_GI_GODDESS, GID_DINS_FIRE, 0xAD, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_DINS_FIRE), - GET_ITEM(ITEM_FARORES_WIND, OBJECT_GI_GODDESS, GID_FARORES_WIND, 0xAE, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_FARORES_WIND), - GET_ITEM(ITEM_NAYRUS_LOVE, OBJECT_GI_GODDESS, GID_NAYRUS_LOVE, 0xAF, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_NAYRUS_LOVE), - GET_ITEM(ITEM_BULLET_BAG_30, OBJECT_GI_DEKUPOUCH, GID_BULLET_BAG, 0x07, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_LESSER, MOD_NONE, GI_BULLET_BAG_30), - GET_ITEM(ITEM_BULLET_BAG_40, OBJECT_GI_DEKUPOUCH, GID_BULLET_BAG, 0x07, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_LESSER, MOD_NONE, GI_BULLET_BAG_40), - GET_ITEM(ITEM_STICKS_5, OBJECT_GI_STICK, GID_STICK, 0x37, 0x0D, CHEST_ANIM_SHORT, ITEM_CATEGORY_JUNK, MOD_NONE, GI_STICKS_5), - GET_ITEM(ITEM_STICKS_10, OBJECT_GI_STICK, GID_STICK, 0x37, 0x0D, CHEST_ANIM_SHORT, ITEM_CATEGORY_JUNK, MOD_NONE, GI_STICKS_10), - GET_ITEM(ITEM_NUTS_5, OBJECT_GI_NUTS, GID_NUTS, 0x34, 0x0C, CHEST_ANIM_SHORT, ITEM_CATEGORY_JUNK, MOD_NONE, GI_NUTS_5_2), - GET_ITEM(ITEM_NUTS_10, OBJECT_GI_NUTS, GID_NUTS, 0x34, 0x0C, CHEST_ANIM_SHORT, ITEM_CATEGORY_JUNK, MOD_NONE, GI_NUTS_10), - GET_ITEM(ITEM_BOMB, OBJECT_GI_BOMB_1, GID_BOMB, 0x32, 0x59, CHEST_ANIM_SHORT, ITEM_CATEGORY_JUNK, MOD_NONE, GI_BOMBS_1), - GET_ITEM(ITEM_BOMBS_10, OBJECT_GI_BOMB_1, GID_BOMB, 0x32, 0x59, CHEST_ANIM_SHORT, ITEM_CATEGORY_JUNK, MOD_NONE, GI_BOMBS_10), - GET_ITEM(ITEM_BOMBS_20, OBJECT_GI_BOMB_1, GID_BOMB, 0x32, 0x59, CHEST_ANIM_SHORT, ITEM_CATEGORY_JUNK, MOD_NONE, GI_BOMBS_20), - GET_ITEM(ITEM_BOMBS_30, OBJECT_GI_BOMB_1, GID_BOMB, 0x32, 0x59, CHEST_ANIM_SHORT, ITEM_CATEGORY_JUNK, MOD_NONE, GI_BOMBS_30), - GET_ITEM(ITEM_SEEDS_30, OBJECT_GI_SEED, GID_SEEDS, 0xDC, 0x50, CHEST_ANIM_SHORT, ITEM_CATEGORY_JUNK, MOD_NONE, GI_SEEDS_30), - GET_ITEM(ITEM_BOMBCHUS_5, OBJECT_GI_BOMB_2, GID_BOMBCHU, 0x33, 0x80, CHEST_ANIM_SHORT, ITEM_CATEGORY_JUNK, MOD_NONE, GI_BOMBCHUS_5), - GET_ITEM(ITEM_BOMBCHUS_20, OBJECT_GI_BOMB_2, GID_BOMBCHU, 0x33, 0x80, CHEST_ANIM_SHORT, ITEM_CATEGORY_JUNK, MOD_NONE, GI_BOMBCHUS_20), - GET_ITEM(ITEM_FISH, OBJECT_GI_FISH, GID_FISH, 0x47, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_JUNK, MOD_NONE, GI_FISH), - GET_ITEM(ITEM_BUG, OBJECT_GI_INSECT, GID_BUG, 0x7A, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_JUNK, MOD_NONE, GI_BUGS), - GET_ITEM(ITEM_BLUE_FIRE, OBJECT_GI_FIRE, GID_BLUE_FIRE, 0x5D, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_JUNK, MOD_NONE, GI_BLUE_FIRE), - GET_ITEM(ITEM_POE, OBJECT_GI_GHOST, GID_POE, 0x97, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_JUNK, MOD_NONE, GI_POE), - GET_ITEM(ITEM_BIG_POE, OBJECT_GI_GHOST, GID_BIG_POE, 0xF9, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_JUNK, MOD_NONE, GI_BIG_POE), - GET_ITEM(ITEM_KEY_SMALL, OBJECT_GI_KEY, GID_KEY_SMALL, 0xF3, 0x80, CHEST_ANIM_SHORT, ITEM_CATEGORY_SMALL_KEY, MOD_NONE, GI_DOOR_KEY), - GET_ITEM(ITEM_RUPEE_GREEN, OBJECT_GI_RUPY, GID_RUPEE_GREEN, 0xF4, 0x00, CHEST_ANIM_SHORT, ITEM_CATEGORY_JUNK, MOD_NONE, GI_RUPEE_GREEN_LOSE), - GET_ITEM(ITEM_RUPEE_BLUE, OBJECT_GI_RUPY, GID_RUPEE_BLUE, 0xF5, 0x01, CHEST_ANIM_SHORT, ITEM_CATEGORY_JUNK, MOD_NONE, GI_RUPEE_BLUE_LOSE), - GET_ITEM(ITEM_RUPEE_RED, OBJECT_GI_RUPY, GID_RUPEE_RED, 0xF6, 0x02, CHEST_ANIM_SHORT, ITEM_CATEGORY_JUNK, MOD_NONE, GI_RUPEE_RED_LOSE), - GET_ITEM(ITEM_RUPEE_PURPLE, OBJECT_GI_RUPY, GID_RUPEE_PURPLE, 0xF7, 0x14, CHEST_ANIM_SHORT, ITEM_CATEGORY_JUNK, MOD_NONE, GI_RUPEE_PURPLE_LOSE), - GET_ITEM(ITEM_HEART_PIECE_2, OBJECT_GI_HEARTS, GID_HEART_PIECE, 0xFA, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_LESSER, MOD_NONE, GI_HEART_PIECE_WIN), - GET_ITEM(ITEM_STICK_UPGRADE_20, OBJECT_GI_STICK, GID_STICK, 0x90, 0x80, CHEST_ANIM_SHORT, ITEM_CATEGORY_LESSER, MOD_NONE, GI_STICK_UPGRADE_20), - GET_ITEM(ITEM_STICK_UPGRADE_30, OBJECT_GI_STICK, GID_STICK, 0x91, 0x80, CHEST_ANIM_SHORT, ITEM_CATEGORY_LESSER, MOD_NONE, GI_STICK_UPGRADE_30), - GET_ITEM(ITEM_NUT_UPGRADE_30, OBJECT_GI_NUTS, GID_NUTS, 0xA7, 0x80, CHEST_ANIM_SHORT, ITEM_CATEGORY_LESSER, MOD_NONE, GI_NUT_UPGRADE_30), - GET_ITEM(ITEM_NUT_UPGRADE_40, OBJECT_GI_NUTS, GID_NUTS, 0xA8, 0x80, CHEST_ANIM_SHORT, ITEM_CATEGORY_LESSER, MOD_NONE, GI_NUT_UPGRADE_40), - GET_ITEM(ITEM_BULLET_BAG_50, OBJECT_GI_DEKUPOUCH, GID_BULLET_BAG_50, 0x6C, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_LESSER, MOD_NONE, GI_BULLET_BAG_50), + GET_ITEM(ITEM_BOMBS_5, OBJECT_GI_BOMB_1, GID_BOMB, 0x32, 0x59, CHEST_ANIM_SHORT, ITEM_CATEGORY_JUNK, MOD_NONE, GI_BOMBS_5), + GET_ITEM(ITEM_DEKU_NUTS_5, OBJECT_GI_NUTS, GID_DEKU_NUTS, 0x34, 0x0C, CHEST_ANIM_SHORT, ITEM_CATEGORY_JUNK, MOD_NONE, GI_DEKU_NUTS_5), + GET_ITEM(ITEM_BOMBCHU, OBJECT_GI_BOMB_2, GID_BOMBCHU, 0x33, 0x80, CHEST_ANIM_SHORT, ITEM_CATEGORY_JUNK, MOD_NONE, GI_BOMBCHUS_10), + GET_ITEM(ITEM_BOW, OBJECT_GI_BOW, GID_BOW, 0x31, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_BOW), + GET_ITEM(ITEM_SLINGSHOT, OBJECT_GI_PACHINKO, GID_SLINGSHOT, 0x30, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_SLINGSHOT), + GET_ITEM(ITEM_BOOMERANG, OBJECT_GI_BOOMERANG, GID_BOOMERANG, 0x35, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_BOOMERANG), + GET_ITEM(ITEM_DEKU_STICK, OBJECT_GI_STICK, GID_DEKU_STICK, 0x37, 0x0D, CHEST_ANIM_SHORT, ITEM_CATEGORY_JUNK, MOD_NONE, GI_DEKU_STICKS_1), + GET_ITEM(ITEM_HOOKSHOT, OBJECT_GI_HOOKSHOT, GID_HOOKSHOT, 0x36, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_HOOKSHOT), + GET_ITEM(ITEM_LONGSHOT, OBJECT_GI_HOOKSHOT, GID_LONGSHOT, 0x4F, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_LONGSHOT), + GET_ITEM(ITEM_LENS_OF_TRUTH, OBJECT_GI_GLASSES, GID_LENS_OF_TRUTH, 0x39, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_LENS_OF_TRUTH), + GET_ITEM(ITEM_ZELDAS_LETTER, OBJECT_GI_LETTER, GID_ZELDAS_LETTER, 0x69, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_ZELDAS_LETTER), + GET_ITEM(ITEM_OCARINA_OF_TIME, OBJECT_GI_OCARINA, GID_OCARINA_OF_TIME, 0x3A, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_OCARINA_OF_TIME), + GET_ITEM(ITEM_HAMMER, OBJECT_GI_HAMMER, GID_HAMMER, 0x38, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_HAMMER), + GET_ITEM(ITEM_COJIRO, OBJECT_GI_NIWATORI, GID_COJIRO, 0x02, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_COJIRO), + GET_ITEM(ITEM_BOTTLE_EMPTY, OBJECT_GI_BOTTLE, GID_BOTTLE_EMPTY, 0x42, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_BOTTLE_EMPTY), + GET_ITEM(ITEM_BOTTLE_POTION_RED, OBJECT_GI_LIQUID, GID_BOTTLE_POTION_RED, 0x43, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_JUNK, MOD_NONE, GI_BOTTLE_POTION_RED), + GET_ITEM(ITEM_BOTTLE_POTION_GREEN, OBJECT_GI_LIQUID, GID_BOTTLE_POTION_GREEN, 0x44, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_JUNK, MOD_NONE, GI_BOTTLE_POTION_GREEN), + GET_ITEM(ITEM_BOTTLE_POTION_BLUE, OBJECT_GI_LIQUID, GID_BOTTLE_POTION_BLUE, 0x45, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_JUNK, MOD_NONE, GI_BOTTLE_POTION_BLUE), + GET_ITEM(ITEM_BOTTLE_FAIRY, OBJECT_GI_BOTTLE, GID_BOTTLE_EMPTY, 0x46, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_JUNK, MOD_NONE, GI_BOTTLE_FAIRY), + GET_ITEM(ITEM_BOTTLE_MILK_FULL, OBJECT_GI_MILK, GID_BOTTLE_MILK_FULL, 0x98, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_BOTTLE_MILK_FULL), + GET_ITEM(ITEM_BOTTLE_RUTOS_LETTER, OBJECT_GI_BOTTLE_LETTER, GID_BOTTLE_RUTOS_LETTER, 0x99, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_BOTTLE_RUTOS_LETTER), + GET_ITEM(ITEM_MAGIC_BEAN, OBJECT_GI_BEAN, GID_MAGIC_BEAN, 0x48, 0x80, CHEST_ANIM_SHORT, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_MAGIC_BEAN), + GET_ITEM(ITEM_MASK_SKULL, OBJECT_GI_SKJ_MASK, GID_MASK_SKULL, 0x10, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_MASK_SKULL), + GET_ITEM(ITEM_MASK_SPOOKY, OBJECT_GI_REDEAD_MASK, GID_MASK_SPOOKY, 0x11, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_MASK_SPOOKY), + GET_ITEM(ITEM_CHICKEN, OBJECT_GI_NIWATORI, GID_CUCCO, 0x48, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_CHICKEN), + GET_ITEM(ITEM_MASK_KEATON, OBJECT_GI_KI_TAN_MASK, GID_MASK_KEATON, 0x12, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_MASK_KEATON), + GET_ITEM(ITEM_MASK_BUNNY_HOOD, OBJECT_GI_RABIT_MASK, GID_MASK_BUNNY_HOOD, 0x13, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_MASK_BUNNY_HOOD), + GET_ITEM(ITEM_MASK_TRUTH, OBJECT_GI_TRUTH_MASK, GID_MASK_TRUTH, 0x17, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_MASK_TRUTH), + GET_ITEM(ITEM_POCKET_EGG, OBJECT_GI_EGG, GID_EGG, 0x01, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_POCKET_EGG), + GET_ITEM(ITEM_POCKET_CUCCO, OBJECT_GI_NIWATORI, GID_CUCCO, 0x48, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_POCKET_CUCCO), + GET_ITEM(ITEM_ODD_MUSHROOM, OBJECT_GI_MUSHROOM, GID_ODD_MUSHROOM, 0x03, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_ODD_MUSHROOM), + GET_ITEM(ITEM_ODD_POTION, OBJECT_GI_POWDER, GID_ODD_POTION, 0x04, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_ODD_POTION), + GET_ITEM(ITEM_POACHERS_SAW, OBJECT_GI_SAW, GID_POACHERS_SAW, 0x05, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_POACHERS_SAW), + GET_ITEM(ITEM_BROKEN_GORONS_SWORD, OBJECT_GI_BROKENSWORD, GID_BROKEN_GORONS_SWORD, 0x08, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_BROKEN_GORONS_SWORD), + GET_ITEM(ITEM_PRESCRIPTION, OBJECT_GI_PRESCRIPTION, GID_PRESCRIPTION, 0x09, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_PRESCRIPTION), + GET_ITEM(ITEM_EYEBALL_FROG, OBJECT_GI_FROG, GID_EYEBALL_FROG, 0x0D, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_EYEBALL_FROG), + GET_ITEM(ITEM_EYE_DROPS, OBJECT_GI_EYE_LOTION, GID_EYE_DROPS, 0x0E, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_EYE_DROPS), + GET_ITEM(ITEM_CLAIM_CHECK, OBJECT_GI_TICKETSTONE, GID_CLAIM_CHECK, 0x0A, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_CLAIM_CHECK), + GET_ITEM(ITEM_SWORD_KOKIRI, OBJECT_GI_SWORD_1, GID_SWORD_KOKIRI, 0xA4, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_SWORD_KOKIRI), + GET_ITEM(ITEM_SWORD_BIGGORON, OBJECT_GI_LONGSWORD, GID_SWORD_BIGGORON, 0x4B, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_SWORD_KNIFE), + GET_ITEM(ITEM_SHIELD_DEKU, OBJECT_GI_SHIELD_1, GID_SHIELD_DEKU, 0x4C, 0xA0, CHEST_ANIM_SHORT, ITEM_CATEGORY_LESSER, MOD_NONE, GI_SHIELD_DEKU), + GET_ITEM(ITEM_SHIELD_HYLIAN, OBJECT_GI_SHIELD_2, GID_SHIELD_HYLIAN, 0x4D, 0xA0, CHEST_ANIM_SHORT, ITEM_CATEGORY_LESSER, MOD_NONE, GI_SHIELD_HYLIAN), + GET_ITEM(ITEM_SHIELD_MIRROR, OBJECT_GI_SHIELD_3, GID_SHIELD_MIRROR, 0x4E, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_SHIELD_MIRROR), + GET_ITEM(ITEM_TUNIC_GORON, OBJECT_GI_CLOTHES, GID_TUNIC_GORON, 0x50, 0xA0, CHEST_ANIM_LONG, ITEM_CATEGORY_LESSER, MOD_NONE, GI_TUNIC_GORON), + GET_ITEM(ITEM_TUNIC_ZORA, OBJECT_GI_CLOTHES, GID_TUNIC_ZORA, 0x51, 0xA0, CHEST_ANIM_LONG, ITEM_CATEGORY_LESSER, MOD_NONE, GI_TUNIC_ZORA), + GET_ITEM(ITEM_BOOTS_IRON, OBJECT_GI_BOOTS_2, GID_BOOTS_IRON, 0x53, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_BOOTS_IRON), + GET_ITEM(ITEM_BOOTS_HOVER, OBJECT_GI_HOVERBOOTS, GID_BOOTS_HOVER, 0x54, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_BOOTS_HOVER), + GET_ITEM(ITEM_QUIVER_40, OBJECT_GI_ARROWCASE, GID_QUIVER_40, 0x56, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_LESSER, MOD_NONE, GI_QUIVER_40), + GET_ITEM(ITEM_QUIVER_50, OBJECT_GI_ARROWCASE, GID_QUIVER_50, 0x57, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_LESSER, MOD_NONE, GI_QUIVER_50), + GET_ITEM(ITEM_BOMB_BAG_20, OBJECT_GI_BOMBPOUCH, GID_BOMB_BAG_20, 0x58, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_BOMB_BAG_20), + GET_ITEM(ITEM_BOMB_BAG_30, OBJECT_GI_BOMBPOUCH, GID_BOMB_BAG_30, 0x59, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_LESSER, MOD_NONE, GI_BOMB_BAG_30), + GET_ITEM(ITEM_BOMB_BAG_40, OBJECT_GI_BOMBPOUCH, GID_BOMB_BAG_40, 0x5A, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_LESSER, MOD_NONE, GI_BOMB_BAG_40), + GET_ITEM(ITEM_STRENGTH_SILVER_GAUNTLETS, OBJECT_GI_GLOVES, GID_SILVER_GAUNTLETS, 0x5B, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_SILVER_GAUNTLETS), + GET_ITEM(ITEM_STRENGTH_GOLD_GAUNTLETS, OBJECT_GI_GLOVES, GID_GOLD_GAUNTLETS, 0x5C, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_GOLD_GAUNTLETS), + GET_ITEM(ITEM_SCALE_SILVER, OBJECT_GI_SCALE, GID_SCALE_SILVER, 0xCD, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_SCALE_SILVER), + GET_ITEM(ITEM_SCALE_GOLDEN, OBJECT_GI_SCALE, GID_SCALE_GOLDEN, 0xCE, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_SCALE_GOLDEN), + GET_ITEM(ITEM_STONE_OF_AGONY, OBJECT_GI_MAP, GID_STONE_OF_AGONY, 0x68, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_STONE_OF_AGONY), + GET_ITEM(ITEM_GERUDOS_CARD, OBJECT_GI_GERUDO, GID_GERUDOS_CARD, 0x7B, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_GERUDOS_CARD), + GET_ITEM(ITEM_OCARINA_FAIRY, OBJECT_GI_OCARINA_0, GID_OCARINA_FAIRY, 0x4A, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_OCARINA_FAIRY), + GET_ITEM(ITEM_DEKU_SEEDS, OBJECT_GI_SEED, GID_DEKU_SEEDS, 0xDC, 0x50, CHEST_ANIM_SHORT, ITEM_CATEGORY_JUNK, MOD_NONE, GI_DEKU_SEEDS_5), + GET_ITEM(ITEM_HEART_CONTAINER, OBJECT_GI_HEARTS, GID_HEART_CONTAINER, 0xC6, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_LESSER, MOD_NONE, GI_HEART_CONTAINER), + GET_ITEM(ITEM_HEART_PIECE_2, OBJECT_GI_HEARTS, GID_HEART_PIECE, 0xC2, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_LESSER, MOD_NONE, GI_HEART_PIECE), + GET_ITEM(ITEM_DUNGEON_BOSS_KEY, OBJECT_GI_BOSSKEY, GID_BOSS_KEY, 0xC7, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_BOSS_KEY, MOD_NONE, GI_BOSS_KEY), + GET_ITEM(ITEM_DUNGEON_COMPASS, OBJECT_GI_COMPASS, GID_COMPASS, 0x67, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_LESSER, MOD_NONE, GI_COMPASS), + GET_ITEM(ITEM_DUNGEON_MAP, OBJECT_GI_MAP, GID_DUNGEON_MAP, 0x66, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_LESSER, MOD_NONE, GI_DUNGEON_MAP), + GET_ITEM(ITEM_SMALL_KEY, OBJECT_GI_KEY, GID_SMALL_KEY, 0x60, 0x80, CHEST_ANIM_SHORT, ITEM_CATEGORY_SMALL_KEY, MOD_NONE, GI_SMALL_KEY), + GET_ITEM(ITEM_MAGIC_JAR_SMALL, OBJECT_GI_MAGICPOT, GID_MAGIC_JAR_SMALL, 0x52, 0x6F, CHEST_ANIM_SHORT, ITEM_CATEGORY_JUNK, MOD_NONE, GI_MAGIC_JAR_SMALL), + GET_ITEM(ITEM_MAGIC_JAR_BIG, OBJECT_GI_MAGICPOT, GID_MAGIC_JAR_LARGE, 0x52, 0x6E, CHEST_ANIM_SHORT, ITEM_CATEGORY_JUNK, MOD_NONE, GI_MAGIC_JAR_LARGE), + GET_ITEM(ITEM_ADULTS_WALLET, OBJECT_GI_PURSE, GID_WALLET_ADULT, 0x5E, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_WALLET_ADULT), + GET_ITEM(ITEM_GIANTS_WALLET, OBJECT_GI_PURSE, GID_WALLET_GIANT, 0x5F, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_WALLET_GIANT), + GET_ITEM(ITEM_WEIRD_EGG, OBJECT_GI_EGG, GID_EGG, 0x9A, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_WEIRD_EGG), + GET_ITEM(ITEM_RECOVERY_HEART, OBJECT_GI_HEART, GID_RECOVERY_HEART, 0x55, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_JUNK, MOD_NONE, GI_RECOVERY_HEART), + GET_ITEM(ITEM_ARROWS_5, OBJECT_GI_ARROW, GID_ARROWS_5, 0xE6, 0x48, CHEST_ANIM_SHORT, ITEM_CATEGORY_JUNK, MOD_NONE, GI_ARROWS_5), + GET_ITEM(ITEM_ARROWS_10, OBJECT_GI_ARROW, GID_ARROWS_10, 0xE6, 0x49, CHEST_ANIM_SHORT, ITEM_CATEGORY_JUNK, MOD_NONE, GI_ARROWS_10), + GET_ITEM(ITEM_ARROWS_30, OBJECT_GI_ARROW, GID_ARROWS_30, 0xE6, 0x4A, CHEST_ANIM_SHORT, ITEM_CATEGORY_JUNK, MOD_NONE, GI_ARROWS_30), + GET_ITEM(ITEM_RUPEE_GREEN, OBJECT_GI_RUPY, GID_RUPEE_GREEN, 0x6F, 0x00, CHEST_ANIM_SHORT, ITEM_CATEGORY_JUNK, MOD_NONE, GI_RUPEE_GREEN), + GET_ITEM(ITEM_RUPEE_BLUE, OBJECT_GI_RUPY, GID_RUPEE_BLUE, 0xCC, 0x01, CHEST_ANIM_SHORT, ITEM_CATEGORY_JUNK, MOD_NONE, GI_RUPEE_BLUE), + GET_ITEM(ITEM_RUPEE_RED, OBJECT_GI_RUPY, GID_RUPEE_RED, 0xF0, 0x02, CHEST_ANIM_SHORT, ITEM_CATEGORY_JUNK, MOD_NONE, GI_RUPEE_RED), + GET_ITEM(ITEM_HEART_CONTAINER, OBJECT_GI_HEARTS, GID_HEART_CONTAINER, 0xC6, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_LESSER, MOD_NONE, GI_HEART_CONTAINER_2), + GET_ITEM(ITEM_MILK, OBJECT_GI_MILK, GID_BOTTLE_MILK_FULL, 0x98, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_JUNK, MOD_NONE, GI_MILK), + GET_ITEM(ITEM_MASK_GORON, OBJECT_GI_GOLONMASK, GID_MASK_GORON, 0x14, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_MASK_GORON), + GET_ITEM(ITEM_MASK_ZORA, OBJECT_GI_ZORAMASK, GID_MASK_ZORA, 0x15, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_MASK_ZORA), + GET_ITEM(ITEM_MASK_GERUDO, OBJECT_GI_GERUDOMASK, GID_MASK_GERUDO, 0x16, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_MASK_GERUDO), + GET_ITEM(ITEM_STRENGTH_GORONS_BRACELET, OBJECT_GI_BRACELET, GID_GORONS_BRACELET, 0x79, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_GORONS_BRACELET), + GET_ITEM(ITEM_RUPEE_PURPLE, OBJECT_GI_RUPY, GID_RUPEE_PURPLE, 0xF1, 0x14, CHEST_ANIM_SHORT, ITEM_CATEGORY_JUNK, MOD_NONE, GI_RUPEE_PURPLE), + GET_ITEM(ITEM_RUPEE_GOLD, OBJECT_GI_RUPY, GID_RUPEE_GOLD, 0xF2, 0x13, CHEST_ANIM_SHORT, ITEM_CATEGORY_LESSER, MOD_NONE, GI_RUPEE_GOLD), + GET_ITEM(ITEM_SWORD_BIGGORON, OBJECT_GI_LONGSWORD, GID_SWORD_BIGGORON, 0x0C, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_SWORD_BIGGORON), + GET_ITEM(ITEM_ARROW_FIRE, OBJECT_GI_M_ARROW, GID_ARROW_FIRE, 0x70, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_ARROW_FIRE), + GET_ITEM(ITEM_ARROW_ICE, OBJECT_GI_M_ARROW, GID_ARROW_ICE, 0x71, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_ARROW_ICE), + GET_ITEM(ITEM_ARROW_LIGHT, OBJECT_GI_M_ARROW, GID_ARROW_LIGHT, 0x72, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_ARROW_LIGHT), + GET_ITEM(ITEM_SKULL_TOKEN, OBJECT_GI_SUTARU, GID_SKULL_TOKEN, 0xB4, 0x80, CHEST_ANIM_SHORT, ITEM_CATEGORY_SKULLTULA_TOKEN, MOD_NONE, GI_SKULL_TOKEN), + GET_ITEM(ITEM_DINS_FIRE, OBJECT_GI_GODDESS, GID_DINS_FIRE, 0xAD, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_DINS_FIRE), + GET_ITEM(ITEM_FARORES_WIND, OBJECT_GI_GODDESS, GID_FARORES_WIND, 0xAE, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_FARORES_WIND), + GET_ITEM(ITEM_NAYRUS_LOVE, OBJECT_GI_GODDESS, GID_NAYRUS_LOVE, 0xAF, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_NONE, GI_NAYRUS_LOVE), + GET_ITEM(ITEM_BULLET_BAG_30, OBJECT_GI_DEKUPOUCH, GID_BULLET_BAG, 0x07, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_LESSER, MOD_NONE, GI_BULLET_BAG_30), + GET_ITEM(ITEM_BULLET_BAG_40, OBJECT_GI_DEKUPOUCH, GID_BULLET_BAG, 0x07, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_LESSER, MOD_NONE, GI_BULLET_BAG_40), + GET_ITEM(ITEM_DEKU_STICKS_5, OBJECT_GI_STICK, GID_DEKU_STICK, 0x37, 0x0D, CHEST_ANIM_SHORT, ITEM_CATEGORY_JUNK, MOD_NONE, GI_DEKU_STICKS_5), + GET_ITEM(ITEM_DEKU_STICKS_10, OBJECT_GI_STICK, GID_DEKU_STICK, 0x37, 0x0D, CHEST_ANIM_SHORT, ITEM_CATEGORY_JUNK, MOD_NONE, GI_DEKU_STICKS_10), + GET_ITEM(ITEM_DEKU_NUTS_5, OBJECT_GI_NUTS, GID_DEKU_NUTS, 0x34, 0x0C, CHEST_ANIM_SHORT, ITEM_CATEGORY_JUNK, MOD_NONE, GI_DEKU_NUTS_5_2), + GET_ITEM(ITEM_DEKU_NUTS_10, OBJECT_GI_NUTS, GID_DEKU_NUTS, 0x34, 0x0C, CHEST_ANIM_SHORT, ITEM_CATEGORY_JUNK, MOD_NONE, GI_DEKU_NUTS_10), + GET_ITEM(ITEM_BOMB, OBJECT_GI_BOMB_1, GID_BOMB, 0x32, 0x59, CHEST_ANIM_SHORT, ITEM_CATEGORY_JUNK, MOD_NONE, GI_BOMBS_1), + GET_ITEM(ITEM_BOMBS_10, OBJECT_GI_BOMB_1, GID_BOMB, 0x32, 0x59, CHEST_ANIM_SHORT, ITEM_CATEGORY_JUNK, MOD_NONE, GI_BOMBS_10), + GET_ITEM(ITEM_BOMBS_20, OBJECT_GI_BOMB_1, GID_BOMB, 0x32, 0x59, CHEST_ANIM_SHORT, ITEM_CATEGORY_JUNK, MOD_NONE, GI_BOMBS_20), + GET_ITEM(ITEM_BOMBS_30, OBJECT_GI_BOMB_1, GID_BOMB, 0x32, 0x59, CHEST_ANIM_SHORT, ITEM_CATEGORY_JUNK, MOD_NONE, GI_BOMBS_30), + GET_ITEM(ITEM_DEKU_SEEDS_30, OBJECT_GI_SEED, GID_DEKU_SEEDS, 0xDC, 0x50, CHEST_ANIM_SHORT, ITEM_CATEGORY_JUNK, MOD_NONE, GI_DEKU_SEEDS_30), + GET_ITEM(ITEM_BOMBCHUS_5, OBJECT_GI_BOMB_2, GID_BOMBCHU, 0x33, 0x80, CHEST_ANIM_SHORT, ITEM_CATEGORY_JUNK, MOD_NONE, GI_BOMBCHUS_5), + GET_ITEM(ITEM_BOMBCHUS_20, OBJECT_GI_BOMB_2, GID_BOMBCHU, 0x33, 0x80, CHEST_ANIM_SHORT, ITEM_CATEGORY_JUNK, MOD_NONE, GI_BOMBCHUS_20), + GET_ITEM(ITEM_BOTTLE_FISH, OBJECT_GI_FISH, GID_FISH, 0x47, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_JUNK, MOD_NONE, GI_BOTTLE_FISH), + GET_ITEM(ITEM_BOTTLE_BUG, OBJECT_GI_INSECT, GID_BUG, 0x7A, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_JUNK, MOD_NONE, GI_BOTTLE_BUGS), + GET_ITEM(ITEM_BOTTLE_BLUE_FIRE, OBJECT_GI_FIRE, GID_BLUE_FIRE, 0x5D, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_JUNK, MOD_NONE, GI_BOTTLE_BLUE_FIRE), + GET_ITEM(ITEM_BOTTLE_POE, OBJECT_GI_GHOST, GID_POE, 0x97, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_JUNK, MOD_NONE, GI_BOTTLE_POE), + GET_ITEM(ITEM_BOTTLE_BIG_POE, OBJECT_GI_GHOST, GID_BIG_POE, 0xF9, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_JUNK, MOD_NONE, GI_BOTTLE_BIG_POE), + GET_ITEM(ITEM_SMALL_KEY, OBJECT_GI_KEY, GID_SMALL_KEY, 0xF3, 0x80, CHEST_ANIM_SHORT, ITEM_CATEGORY_SMALL_KEY, MOD_NONE, GI_DOOR_KEY), + GET_ITEM(ITEM_RUPEE_GREEN, OBJECT_GI_RUPY, GID_RUPEE_GREEN, 0xF4, 0x00, CHEST_ANIM_SHORT, ITEM_CATEGORY_JUNK, MOD_NONE, GI_RUPEE_GREEN_LOSE), + GET_ITEM(ITEM_RUPEE_BLUE, OBJECT_GI_RUPY, GID_RUPEE_BLUE, 0xF5, 0x01, CHEST_ANIM_SHORT, ITEM_CATEGORY_JUNK, MOD_NONE, GI_RUPEE_BLUE_LOSE), + GET_ITEM(ITEM_RUPEE_RED, OBJECT_GI_RUPY, GID_RUPEE_RED, 0xF6, 0x02, CHEST_ANIM_SHORT, ITEM_CATEGORY_JUNK, MOD_NONE, GI_RUPEE_RED_LOSE), + GET_ITEM(ITEM_RUPEE_PURPLE, OBJECT_GI_RUPY, GID_RUPEE_PURPLE, 0xF7, 0x14, CHEST_ANIM_SHORT, ITEM_CATEGORY_JUNK, MOD_NONE, GI_RUPEE_PURPLE_LOSE), + GET_ITEM(ITEM_HEART_PIECE_2, OBJECT_GI_HEARTS, GID_HEART_PIECE, 0xFA, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_LESSER, MOD_NONE, GI_HEART_PIECE_WIN), + GET_ITEM(ITEM_DEKU_STICK_UPGRADE_20, OBJECT_GI_STICK, GID_DEKU_STICK, 0x90, 0x80, CHEST_ANIM_SHORT, ITEM_CATEGORY_LESSER, MOD_NONE, GI_DEKU_STICK_UPGRADE_20), + GET_ITEM(ITEM_DEKU_STICK_UPGRADE_30, OBJECT_GI_STICK, GID_DEKU_STICK, 0x91, 0x80, CHEST_ANIM_SHORT, ITEM_CATEGORY_LESSER, MOD_NONE, GI_DEKU_STICK_UPGRADE_30), + GET_ITEM(ITEM_DEKU_NUT_UPGRADE_30, OBJECT_GI_NUTS, GID_DEKU_NUTS, 0xA7, 0x80, CHEST_ANIM_SHORT, ITEM_CATEGORY_LESSER, MOD_NONE, GI_DEKU_NUT_UPGRADE_30), + GET_ITEM(ITEM_DEKU_NUT_UPGRADE_40, OBJECT_GI_NUTS, GID_DEKU_NUTS, 0xA8, 0x80, CHEST_ANIM_SHORT, ITEM_CATEGORY_LESSER, MOD_NONE, GI_DEKU_NUT_UPGRADE_40), + GET_ITEM(ITEM_BULLET_BAG_50, OBJECT_GI_DEKUPOUCH, GID_BULLET_BAG_50, 0x6C, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_LESSER, MOD_NONE, GI_BULLET_BAG_50), GET_ITEM_NONE, GET_ITEM_NONE, GET_ITEM_NONE // GI_MAX - if you need to add to this table insert it before this entry. @@ -570,15 +570,15 @@ extern "C" void VanillaItemTable_Init() { } std::unordered_map ItemIDtoGetItemID{ - { ITEM_ARROWS_LARGE, GI_ARROWS_LARGE }, - { ITEM_ARROWS_MEDIUM, GI_ARROWS_MEDIUM }, - { ITEM_ARROWS_SMALL, GI_ARROWS_SMALL }, + { ITEM_ARROWS_30, GI_ARROWS_30 }, + { ITEM_ARROWS_10, GI_ARROWS_10 }, + { ITEM_ARROWS_5, GI_ARROWS_5 }, { ITEM_ARROW_FIRE, GI_ARROW_FIRE }, { ITEM_ARROW_ICE, GI_ARROW_ICE }, { ITEM_ARROW_LIGHT, GI_ARROW_LIGHT }, - { ITEM_BEAN, GI_BEAN }, - { ITEM_BIG_POE, GI_BIG_POE }, - { ITEM_BLUE_FIRE, GI_BLUE_FIRE }, + { ITEM_MAGIC_BEAN, GI_MAGIC_BEAN }, + { ITEM_BOTTLE_BIG_POE, GI_BOTTLE_BIG_POE }, + { ITEM_BOTTLE_BLUE_FIRE, GI_BOTTLE_BLUE_FIRE }, { ITEM_BOMB, GI_BOMBS_1 }, { ITEM_BOMBCHU, GI_BOMBCHUS_10 }, { ITEM_BOMBCHUS_20, GI_BOMBCHUS_20 }, @@ -593,43 +593,43 @@ std::unordered_map ItemIDtoGetItemID{ { ITEM_BOOMERANG, GI_BOOMERANG }, { ITEM_BOOTS_HOVER, GI_BOOTS_HOVER }, { ITEM_BOOTS_IRON, GI_BOOTS_IRON }, - { ITEM_BOTTLE, GI_BOTTLE }, + { ITEM_BOTTLE_EMPTY, GI_BOTTLE_EMPTY }, { ITEM_BOW, GI_BOW }, - { ITEM_BRACELET, GI_BRACELET }, - { ITEM_BUG, GI_BUGS }, + { ITEM_STRENGTH_GORONS_BRACELET, GI_GORONS_BRACELET }, + { ITEM_BOTTLE_BUG, GI_BOTTLE_BUGS }, { ITEM_BULLET_BAG_30, GI_BULLET_BAG_30 }, { ITEM_BULLET_BAG_40, GI_BULLET_BAG_40 }, { ITEM_BULLET_BAG_50, GI_BULLET_BAG_50 }, { ITEM_CHICKEN, GI_CHICKEN }, { ITEM_CLAIM_CHECK, GI_CLAIM_CHECK }, { ITEM_COJIRO, GI_COJIRO }, - { ITEM_COMPASS, GI_COMPASS }, + { ITEM_DUNGEON_COMPASS, GI_COMPASS }, { ITEM_DINS_FIRE, GI_DINS_FIRE }, - { ITEM_DUNGEON_MAP, GI_MAP }, - { ITEM_EYEDROPS, GI_EYEDROPS }, - { ITEM_FAIRY, GI_FAIRY }, + { ITEM_DUNGEON_MAP, GI_DUNGEON_MAP }, + { ITEM_EYE_DROPS, GI_EYE_DROPS }, + { ITEM_BOTTLE_FAIRY, GI_BOTTLE_FAIRY }, { ITEM_FARORES_WIND, GI_FARORES_WIND }, - { ITEM_FISH, GI_FISH }, - { ITEM_FROG, GI_FROG }, - { ITEM_GAUNTLETS_GOLD, GI_GAUNTLETS_GOLD }, - { ITEM_GAUNTLETS_SILVER, GI_GAUNTLETS_SILVER }, - { ITEM_GERUDO_CARD, GI_GERUDO_CARD }, + { ITEM_BOTTLE_FISH, GI_BOTTLE_FISH }, + { ITEM_EYEBALL_FROG, GI_EYEBALL_FROG }, + { ITEM_STRENGTH_GOLD_GAUNTLETS, GI_GOLD_GAUNTLETS }, + { ITEM_STRENGTH_SILVER_GAUNTLETS, GI_SILVER_GAUNTLETS }, + { ITEM_GERUDOS_CARD, GI_GERUDOS_CARD }, { ITEM_HAMMER, GI_HAMMER }, - { ITEM_HEART, GI_HEART }, + { ITEM_RECOVERY_HEART, GI_RECOVERY_HEART }, { ITEM_HEART_CONTAINER, GI_HEART_CONTAINER }, { ITEM_HEART_CONTAINER, GI_HEART_CONTAINER_2 }, { ITEM_HEART_PIECE_2, GI_HEART_PIECE }, { ITEM_HEART_PIECE_2, GI_HEART_PIECE_WIN }, { ITEM_HOOKSHOT, GI_HOOKSHOT }, - { ITEM_KEY_BOSS, GI_KEY_BOSS }, - { ITEM_KEY_SMALL, GI_DOOR_KEY }, - { ITEM_KEY_SMALL, GI_KEY_SMALL }, - { ITEM_LENS, GI_LENS }, - { ITEM_LETTER_RUTO, GI_LETTER_RUTO }, - { ITEM_LETTER_ZELDA, GI_LETTER_ZELDA }, + { ITEM_DUNGEON_BOSS_KEY, GI_BOSS_KEY }, + { ITEM_SMALL_KEY, GI_DOOR_KEY }, + { ITEM_SMALL_KEY, GI_SMALL_KEY }, + { ITEM_LENS_OF_TRUTH, GI_LENS_OF_TRUTH }, + { ITEM_BOTTLE_RUTOS_LETTER, GI_BOTTLE_RUTOS_LETTER }, + { ITEM_ZELDAS_LETTER, GI_ZELDAS_LETTER }, { ITEM_LONGSHOT, GI_LONGSHOT }, - { ITEM_MAGIC_LARGE, GI_MAGIC_LARGE }, - { ITEM_MAGIC_SMALL, GI_MAGIC_SMALL }, - { ITEM_MASK_BUNNY, GI_MASK_BUNNY }, + { ITEM_MAGIC_JAR_BIG, GI_MAGIC_JAR_LARGE }, + { ITEM_MAGIC_JAR_SMALL, GI_MAGIC_JAR_SMALL }, + { ITEM_MASK_BUNNY_HOOD, GI_MASK_BUNNY_HOOD }, { ITEM_MASK_GERUDO, GI_MASK_GERUDO }, { ITEM_MASK_GORON, GI_MASK_GORON }, { ITEM_MASK_KEATON, GI_MASK_KEATON }, @@ -638,24 +638,24 @@ std::unordered_map ItemIDtoGetItemID{ { ITEM_MASK_TRUTH, GI_MASK_TRUTH }, { ITEM_MASK_ZORA, GI_MASK_ZORA }, { ITEM_MILK, GI_MILK }, - { ITEM_MILK_BOTTLE, GI_MILK_BOTTLE }, + { ITEM_BOTTLE_MILK_FULL, GI_BOTTLE_MILK_FULL }, { ITEM_NAYRUS_LOVE, GI_NAYRUS_LOVE }, - { ITEM_NUT, GI_NUTS_5 }, - { ITEM_NUTS_10, GI_NUTS_10 }, - { ITEM_NUTS_5, GI_NUTS_5 }, - { ITEM_NUTS_5, GI_NUTS_5_2 }, - { ITEM_NUT_UPGRADE_30, GI_NUT_UPGRADE_30 }, - { ITEM_NUT_UPGRADE_40, GI_NUT_UPGRADE_40 }, + { ITEM_DEKU_NUT, GI_DEKU_NUTS_5 }, + { ITEM_DEKU_NUTS_10, GI_DEKU_NUTS_10 }, + { ITEM_DEKU_NUTS_5, GI_DEKU_NUTS_5 }, + { ITEM_DEKU_NUTS_5, GI_DEKU_NUTS_5_2 }, + { ITEM_DEKU_NUT_UPGRADE_30, GI_DEKU_NUT_UPGRADE_30 }, + { ITEM_DEKU_NUT_UPGRADE_40, GI_DEKU_NUT_UPGRADE_40 }, { ITEM_OCARINA_FAIRY, GI_OCARINA_FAIRY }, - { ITEM_OCARINA_TIME, GI_OCARINA_OOT }, + { ITEM_OCARINA_OF_TIME, GI_OCARINA_OF_TIME }, { ITEM_ODD_MUSHROOM, GI_ODD_MUSHROOM }, { ITEM_ODD_POTION, GI_ODD_POTION }, { ITEM_POCKET_CUCCO, GI_POCKET_CUCCO }, { ITEM_POCKET_EGG, GI_POCKET_EGG }, - { ITEM_POE, GI_POE }, - { ITEM_POTION_BLUE, GI_POTION_BLUE }, - { ITEM_POTION_GREEN, GI_POTION_GREEN }, - { ITEM_POTION_RED, GI_POTION_RED }, + { ITEM_BOTTLE_POE, GI_BOTTLE_POE }, + { ITEM_BOTTLE_POTION_BLUE, GI_BOTTLE_POTION_BLUE }, + { ITEM_BOTTLE_POTION_GREEN, GI_BOTTLE_POTION_GREEN }, + { ITEM_BOTTLE_POTION_RED, GI_BOTTLE_POTION_RED }, { ITEM_PRESCRIPTION, GI_PRESCRIPTION }, { ITEM_QUIVER_40, GI_QUIVER_40 }, { ITEM_QUIVER_50, GI_QUIVER_50 }, @@ -668,30 +668,30 @@ std::unordered_map ItemIDtoGetItemID{ { ITEM_RUPEE_PURPLE, GI_RUPEE_PURPLE_LOSE }, { ITEM_RUPEE_RED, GI_RUPEE_RED }, { ITEM_RUPEE_RED, GI_RUPEE_RED_LOSE }, - { ITEM_SAW, GI_SAW }, - { ITEM_SCALE_GOLDEN, GI_SCALE_GOLD }, + { ITEM_POACHERS_SAW, GI_POACHERS_SAW }, + { ITEM_SCALE_GOLDEN, GI_SCALE_GOLDEN }, { ITEM_SCALE_SILVER, GI_SCALE_SILVER }, - { ITEM_SEEDS, GI_SEEDS_5 }, - { ITEM_SEEDS_30, GI_SEEDS_30 }, + { ITEM_DEKU_SEEDS, GI_DEKU_SEEDS_5 }, + { ITEM_DEKU_SEEDS_30, GI_DEKU_SEEDS_30 }, { ITEM_SHIELD_DEKU, GI_SHIELD_DEKU }, { ITEM_SHIELD_HYLIAN, GI_SHIELD_HYLIAN }, { ITEM_SHIELD_MIRROR, GI_SHIELD_MIRROR }, { ITEM_SKULL_TOKEN, GI_SKULL_TOKEN }, { ITEM_SLINGSHOT, GI_SLINGSHOT }, - { ITEM_STICK, GI_STICKS_1 }, - { ITEM_STICKS_10, GI_STICKS_10 }, - { ITEM_STICKS_5, GI_STICKS_5 }, - { ITEM_STICK_UPGRADE_20, GI_STICK_UPGRADE_20 }, - { ITEM_STICK_UPGRADE_30, GI_STICK_UPGRADE_30 }, + { ITEM_DEKU_STICK, GI_DEKU_STICKS_1 }, + { ITEM_DEKU_STICKS_10, GI_DEKU_STICKS_10 }, + { ITEM_DEKU_STICKS_5, GI_DEKU_STICKS_5 }, + { ITEM_DEKU_STICK_UPGRADE_20, GI_DEKU_STICK_UPGRADE_20 }, + { ITEM_DEKU_STICK_UPGRADE_30, GI_DEKU_STICK_UPGRADE_30 }, { ITEM_STONE_OF_AGONY, GI_STONE_OF_AGONY }, - { ITEM_SWORD_BGS, GI_SWORD_BGS }, - { ITEM_SWORD_BGS, GI_SWORD_KNIFE }, - { ITEM_SWORD_BROKEN, GI_SWORD_BROKEN }, + { ITEM_SWORD_BIGGORON, GI_SWORD_BIGGORON }, + { ITEM_SWORD_BIGGORON, GI_SWORD_KNIFE }, + { ITEM_BROKEN_GORONS_SWORD, GI_BROKEN_GORONS_SWORD }, { ITEM_SWORD_KOKIRI, GI_SWORD_KOKIRI }, { ITEM_TUNIC_GORON, GI_TUNIC_GORON }, { ITEM_TUNIC_ZORA, GI_TUNIC_ZORA }, - { ITEM_WALLET_ADULT, GI_WALLET_ADULT }, - { ITEM_WALLET_GIANT, GI_WALLET_GIANT }, + { ITEM_ADULTS_WALLET, GI_WALLET_ADULT }, + { ITEM_GIANTS_WALLET, GI_WALLET_GIANT }, { ITEM_WEIRD_EGG, GI_WEIRD_EGG } }; @@ -1700,7 +1700,7 @@ Color_RGB8 GetColorForControllerLED() { LEDColorSource source = static_cast(CVarGetInteger("gLedColorSource", LED_SOURCE_TUNIC_ORIGINAL)); bool criticalOverride = CVarGetInteger("gLedCriticalOverride", 1); if (gPlayState && (source == LED_SOURCE_TUNIC_ORIGINAL || source == LED_SOURCE_TUNIC_COSMETICS)) { - switch (CUR_EQUIP_VALUE(EQUIP_TUNIC) - 1) { + switch (CUR_EQUIP_VALUE(EQUIP_TYPE_TUNIC) - 1) { case PLAYER_TUNIC_KOKIRI: color = source == LED_SOURCE_TUNIC_COSMETICS ? CVarGetColor24("gCosmetics.Link_KokiriTunic.Value", kokiriColor) diff --git a/soh/soh/SaveManager.cpp b/soh/soh/SaveManager.cpp index e41c6b8ca61..ef1f8c16781 100644 --- a/soh/soh/SaveManager.cpp +++ b/soh/soh/SaveManager.cpp @@ -693,10 +693,10 @@ void SaveManager::InitFileDebug() { // Inventory static std::array sItems = { - ITEM_STICK, ITEM_NUT, ITEM_BOMB, ITEM_BOW, ITEM_ARROW_FIRE, ITEM_DINS_FIRE, - ITEM_SLINGSHOT, ITEM_OCARINA_FAIRY, ITEM_BOMBCHU, ITEM_HOOKSHOT, ITEM_ARROW_ICE, ITEM_FARORES_WIND, - ITEM_BOOMERANG, ITEM_LENS, ITEM_BEAN, ITEM_HAMMER, ITEM_ARROW_LIGHT, ITEM_NAYRUS_LOVE, - ITEM_BOTTLE, ITEM_POTION_RED, ITEM_POTION_GREEN, ITEM_POTION_BLUE, ITEM_POCKET_EGG, ITEM_WEIRD_EGG, + ITEM_DEKU_STICK, ITEM_DEKU_NUT, ITEM_BOMB, ITEM_BOW, ITEM_ARROW_FIRE, ITEM_DINS_FIRE, + ITEM_SLINGSHOT, ITEM_OCARINA_FAIRY, ITEM_BOMBCHU, ITEM_HOOKSHOT, ITEM_ARROW_ICE, ITEM_FARORES_WIND, + ITEM_BOOMERANG, ITEM_LENS_OF_TRUTH, ITEM_MAGIC_BEAN, ITEM_HAMMER, ITEM_ARROW_LIGHT, ITEM_NAYRUS_LOVE, + ITEM_BOTTLE_EMPTY, ITEM_BOTTLE_POTION_RED, ITEM_BOTTLE_POTION_GREEN, ITEM_BOTTLE_POTION_BLUE, ITEM_POCKET_EGG, ITEM_WEIRD_EGG, }; for (int item = 0; item < ARRAY_COUNT(gSaveContext.inventory.items); item++) { gSaveContext.inventory.items[item] = sItems[item]; @@ -731,11 +731,11 @@ void SaveManager::InitFileDebug() { if (LINK_AGE_IN_YEARS == YEARS_CHILD) { gSaveContext.equips.buttonItems[0] = ITEM_SWORD_KOKIRI; - Inventory_ChangeEquipment(EQUIP_SWORD, 1); + Inventory_ChangeEquipment(EQUIP_TYPE_SWORD, 1); if (gSaveContext.fileNum == 0xFF) { gSaveContext.equips.buttonItems[1] = ITEM_SLINGSHOT; gSaveContext.equips.cButtonSlots[0] = SLOT_SLINGSHOT; - Inventory_ChangeEquipment(EQUIP_SHIELD, 1); + Inventory_ChangeEquipment(EQUIP_TYPE_SHIELD, 1); } } @@ -784,7 +784,7 @@ void SaveManager::InitFileMaxed() { gSaveContext.savedSceneNum = 0x51; // Equipment - static std::array sButtonItems = { ITEM_SWORD_MASTER, ITEM_BOW, ITEM_BOMB, ITEM_OCARINA_TIME, ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE }; + static std::array sButtonItems = { ITEM_SWORD_MASTER, ITEM_BOW, ITEM_BOMB, ITEM_OCARINA_OF_TIME, ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE }; for (int button = 0; button < ARRAY_COUNT(gSaveContext.equips.buttonItems); button++) { gSaveContext.equips.buttonItems[button] = sButtonItems[button]; } @@ -796,10 +796,10 @@ void SaveManager::InitFileMaxed() { // Inventory static std::array sItems = { - ITEM_STICK, ITEM_NUT, ITEM_BOMB, ITEM_BOW, ITEM_ARROW_FIRE, ITEM_DINS_FIRE, - ITEM_SLINGSHOT, ITEM_OCARINA_TIME, ITEM_BOMBCHU, ITEM_LONGSHOT, ITEM_ARROW_ICE, ITEM_FARORES_WIND, - ITEM_BOOMERANG, ITEM_LENS, ITEM_BEAN, ITEM_HAMMER, ITEM_ARROW_LIGHT, ITEM_NAYRUS_LOVE, - ITEM_FAIRY, ITEM_FAIRY, ITEM_BUG, ITEM_FISH, ITEM_CLAIM_CHECK, ITEM_MASK_BUNNY, + ITEM_DEKU_STICK, ITEM_DEKU_NUT, ITEM_BOMB, ITEM_BOW, ITEM_ARROW_FIRE, ITEM_DINS_FIRE, + ITEM_SLINGSHOT, ITEM_OCARINA_OF_TIME, ITEM_BOMBCHU, ITEM_LONGSHOT, ITEM_ARROW_ICE, ITEM_FARORES_WIND, + ITEM_BOOMERANG, ITEM_LENS_OF_TRUTH, ITEM_MAGIC_BEAN, ITEM_HAMMER, ITEM_ARROW_LIGHT, ITEM_NAYRUS_LOVE, + ITEM_BOTTLE_FAIRY, ITEM_BOTTLE_FAIRY, ITEM_BOTTLE_BUG, ITEM_BOTTLE_FISH, ITEM_CLAIM_CHECK, ITEM_MASK_BUNNY_HOOD, }; for (int item = 0; item < ARRAY_COUNT(gSaveContext.inventory.items); item++) { gSaveContext.inventory.items[item] = sItems[item]; @@ -874,11 +874,11 @@ void SaveManager::InitFileMaxed() { if (LINK_AGE_IN_YEARS == YEARS_CHILD) { gSaveContext.equips.buttonItems[0] = ITEM_SWORD_KOKIRI; - Inventory_ChangeEquipment(EQUIP_SWORD, 1); + Inventory_ChangeEquipment(EQUIP_TYPE_SWORD, 1); if (gSaveContext.fileNum == 0xFF) { gSaveContext.equips.buttonItems[1] = ITEM_SLINGSHOT; gSaveContext.equips.cButtonSlots[0] = SLOT_SLINGSHOT; - Inventory_ChangeEquipment(EQUIP_SHIELD, 1); + Inventory_ChangeEquipment(EQUIP_TYPE_SHIELD, 1); } } diff --git a/soh/src/code/code_80097A00.c b/soh/src/code/code_80097A00.c index e2c8a61ef09..53833df1a5c 100644 --- a/soh/src/code/code_80097A00.c +++ b/soh/src/code/code_80097A00.c @@ -171,9 +171,9 @@ void* gItemIcons[] = { // Used to map item IDs to inventory slots u8 gItemSlots[] = { - SLOT_STICK, SLOT_NUT, SLOT_BOMB, SLOT_BOW, SLOT_ARROW_FIRE, SLOT_DINS_FIRE, + SLOT_DEKU_STICK, SLOT_DEKU_NUT, SLOT_BOMB, SLOT_BOW, SLOT_ARROW_FIRE, SLOT_DINS_FIRE, SLOT_SLINGSHOT, SLOT_OCARINA, SLOT_OCARINA, SLOT_BOMBCHU, SLOT_HOOKSHOT, SLOT_HOOKSHOT, - SLOT_ARROW_ICE, SLOT_FARORES_WIND, SLOT_BOOMERANG, SLOT_LENS, SLOT_BEAN, SLOT_HAMMER, + SLOT_ARROW_ICE, SLOT_FARORES_WIND, SLOT_BOOMERANG, SLOT_LENS_OF_TRUTH, SLOT_MAGIC_BEAN, SLOT_HAMMER, SLOT_ARROW_LIGHT, SLOT_NAYRUS_LOVE, SLOT_BOTTLE_1, SLOT_BOTTLE_1, SLOT_BOTTLE_1, SLOT_BOTTLE_1, SLOT_BOTTLE_1, SLOT_BOTTLE_1, SLOT_BOTTLE_1, SLOT_BOTTLE_1, SLOT_BOTTLE_1, SLOT_BOTTLE_1, SLOT_BOTTLE_1, SLOT_BOTTLE_1, SLOT_BOTTLE_1, SLOT_TRADE_CHILD, SLOT_TRADE_CHILD, SLOT_TRADE_CHILD, @@ -202,11 +202,11 @@ u8 Inventory_DeleteEquipment(PlayState* play, s16 equipment) { gSaveContext.equips.equipment &= gEquipNegMasks[equipment]; gSaveContext.inventory.equipment ^= gBitFlags[sp26 - 1] << gEquipShifts[equipment]; - if (equipment == EQUIP_TUNIC) { + if (equipment == EQUIP_TYPE_TUNIC) { gSaveContext.equips.equipment |= 0x0100; } - if (equipment == EQUIP_SWORD) { + if (equipment == EQUIP_TYPE_SWORD) { gSaveContext.equips.buttonItems[0] = ITEM_NONE; gSaveContext.infTable[29] = 1; } diff --git a/soh/src/code/code_800EC960.c b/soh/src/code/code_800EC960.c index f2f72885d28..9b383bf5c0f 100644 --- a/soh/src/code/code_800EC960.c +++ b/soh/src/code/code_800EC960.c @@ -3972,7 +3972,7 @@ void Audio_PlayFanfare_Rando(GetItemEntry getItem) { s16 itemId = getItem.itemId; if (getItem.modIndex == MOD_NONE) { - if (((itemId >= ITEM_RUPEE_GREEN) && (itemId <= ITEM_RUPEE_GOLD)) || (itemId == ITEM_HEART)) { + if (((itemId >= ITEM_RUPEE_GREEN) && (itemId <= ITEM_RUPEE_GOLD)) || (itemId == ITEM_RECOVERY_HEART)) { Audio_PlaySoundGeneral(NA_SE_SY_GET_BOXITEM, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8); } else { if (itemId == ITEM_HEART_CONTAINER || diff --git a/soh/src/code/z_elf_message.c b/soh/src/code/z_elf_message.c index 6c5558fafdc..5e0bed34882 100644 --- a/soh/src/code/z_elf_message.c +++ b/soh/src/code/z_elf_message.c @@ -37,7 +37,7 @@ u32 ElfMessage_CheckCondition(ElfMessage* msg) { return ((msg->byte0 & 1) == 1) == ((flag & gSaveContext.eventChkInf[(msg->byte1 & 0xF0) >> 4]) != 0); case (ELF_MSG_CONDITION_DUNGEON_ITEM << 1): return ((msg->byte0 & 1) == 1) == - (CHECK_DUNGEON_ITEM(msg->byte1 - ITEM_KEY_BOSS, gSaveContext.mapIndex) != 0); + (CHECK_DUNGEON_ITEM(msg->byte1 - ITEM_DUNGEON_BOSS_KEY, gSaveContext.mapIndex) != 0); case (ELF_MSG_CONDITION_ITEM << 1): return ((msg->byte0 & 1) == 1) == (msg->byte3 == INV_CONTENT(msg->byte1)); case (ELF_MSG_CONDITION_OTHER << 1): @@ -46,7 +46,7 @@ u32 ElfMessage_CheckCondition(ElfMessage* msg) { return ((msg->byte0 & 1) == 1) == ((msg->byte1 & 0x0F) == CUR_UPG_VALUE(UPG_STRENGTH)); case (ELF_MSG_CONDITION_BOOTS << 4): return ((msg->byte0 & 1) == 1) == - (((gBitFlags[msg->byte3 - ITEM_BOOTS_KOKIRI] << gEquipShifts[EQUIP_BOOTS]) & + (((gBitFlags[msg->byte3 - ITEM_BOOTS_KOKIRI] << gEquipShifts[EQUIP_TYPE_BOOTS]) & gSaveContext.inventory.equipment) != 0); case (ELF_MSG_CONDITION_SONG << 4): return ((msg->byte0 & 1) == 1) == diff --git a/soh/src/code/z_en_item00.c b/soh/src/code/z_en_item00.c index 42ea78f90ba..ea4f4cb2184 100644 --- a/soh/src/code/z_en_item00.c +++ b/soh/src/code/z_en_item00.c @@ -524,7 +524,7 @@ void EnItem00_Init(Actor* thisx, PlayState* play) { Item_Give(play, ITEM_RUPEE_GOLD); break; case ITEM00_HEART: - Item_Give(play, ITEM_HEART); + Item_Give(play, ITEM_RECOVERY_HEART); break; case ITEM00_FLEXIBLE: Health_ChangeBy(play, 0x70); @@ -537,31 +537,31 @@ void EnItem00_Init(Actor* thisx, PlayState* play) { Item_Give(play, ITEM_BOW); break; case ITEM00_ARROWS_SMALL: - Item_Give(play, ITEM_ARROWS_SMALL); + Item_Give(play, ITEM_ARROWS_5); break; case ITEM00_ARROWS_MEDIUM: - Item_Give(play, ITEM_ARROWS_MEDIUM); + Item_Give(play, ITEM_ARROWS_10); break; case ITEM00_ARROWS_LARGE: - Item_Give(play, ITEM_ARROWS_LARGE); + Item_Give(play, ITEM_ARROWS_30); break; case ITEM00_MAGIC_LARGE: - getItemId = GI_MAGIC_SMALL; + getItemId = GI_MAGIC_JAR_SMALL; break; case ITEM00_MAGIC_SMALL: - getItemId = GI_MAGIC_LARGE; + getItemId = GI_MAGIC_JAR_LARGE; break; case ITEM00_SMALL_KEY: - Item_Give(play, ITEM_KEY_SMALL); + Item_Give(play, ITEM_SMALL_KEY); break; case ITEM00_SEEDS: - getItemId = GI_SEEDS_5; + getItemId = GI_DEKU_SEEDS_5; break; case ITEM00_NUTS: - getItemId = GI_NUTS_5; + getItemId = GI_DEKU_NUTS_5; break; case ITEM00_STICK: - getItemId = GI_STICKS_1; + getItemId = GI_DEKU_STICKS_1; break; case ITEM00_HEART_PIECE: case ITEM00_HEART_CONTAINER: @@ -884,13 +884,13 @@ void EnItem00_Update(Actor* thisx, PlayState* play) { Item_Give(play, ITEM_RUPEE_GOLD); break; case ITEM00_STICK: - getItemId = GI_STICKS_1; + getItemId = GI_DEKU_STICKS_1; break; case ITEM00_NUTS: - getItemId = GI_NUTS_5; + getItemId = GI_DEKU_NUTS_5; break; case ITEM00_HEART: - Item_Give(play, ITEM_HEART); + Item_Give(play, ITEM_RECOVERY_HEART); break; case ITEM00_FLEXIBLE: Health_ChangeBy(play, 0x70); @@ -903,19 +903,19 @@ void EnItem00_Update(Actor* thisx, PlayState* play) { Item_Give(play, ITEM_BOW); break; case ITEM00_ARROWS_SMALL: - Item_Give(play, ITEM_ARROWS_SMALL); + Item_Give(play, ITEM_ARROWS_5); break; case ITEM00_ARROWS_MEDIUM: - Item_Give(play, ITEM_ARROWS_MEDIUM); + Item_Give(play, ITEM_ARROWS_10); break; case ITEM00_ARROWS_LARGE: - Item_Give(play, ITEM_ARROWS_LARGE); + Item_Give(play, ITEM_ARROWS_30); break; case ITEM00_SEEDS: - getItemId = GI_SEEDS_5; + getItemId = GI_DEKU_SEEDS_5; break; case ITEM00_SMALL_KEY: - getItemId = GI_KEY_SMALL; + getItemId = GI_SMALL_KEY; break; case ITEM00_HEART_PIECE: getItemId = GI_HEART_PIECE; @@ -924,10 +924,10 @@ void EnItem00_Update(Actor* thisx, PlayState* play) { getItemId = GI_HEART_CONTAINER; break; case ITEM00_MAGIC_LARGE: - getItemId = GI_MAGIC_LARGE; + getItemId = GI_MAGIC_JAR_LARGE; break; case ITEM00_MAGIC_SMALL: - getItemId = GI_MAGIC_SMALL; + getItemId = GI_MAGIC_JAR_SMALL; break; case ITEM00_SHIELD_DEKU: getItemId = GI_SHIELD_DEKU; @@ -1062,7 +1062,7 @@ void EnItem00_Draw(Actor* thisx, PlayState* play) { if (CVarGetInteger("gNewDrops", 0) && this->unk_15A >= 0) { mtxScale = 16.0f; Matrix_Scale(mtxScale, mtxScale, mtxScale, MTXMODE_APPLY); - GetItem_Draw(play, GID_HEART); + GetItem_Draw(play, GID_RECOVERY_HEART); break; } else { // Overworld hearts that are always 3D @@ -1077,7 +1077,7 @@ void EnItem00_Draw(Actor* thisx, PlayState* play) { } else { mtxScale = 16.0f; Matrix_Scale(mtxScale, mtxScale, mtxScale, MTXMODE_APPLY); - GetItem_Draw(play, GID_HEART); + GetItem_Draw(play, GID_RECOVERY_HEART); } break; } @@ -1096,56 +1096,56 @@ void EnItem00_Draw(Actor* thisx, PlayState* play) { if (CVarGetInteger("gNewDrops", 0)) { mtxScale = 7.0f; Matrix_Scale(mtxScale, mtxScale, mtxScale, MTXMODE_APPLY); - GetItem_Draw(play, GID_ARROWS_SMALL); + GetItem_Draw(play, GID_ARROWS_5); break; } case ITEM00_ARROWS_MEDIUM: if (CVarGetInteger("gNewDrops", 0)) { mtxScale = 7.0f; Matrix_Scale(mtxScale, mtxScale, mtxScale, MTXMODE_APPLY); - GetItem_Draw(play, GID_ARROWS_MEDIUM); + GetItem_Draw(play, GID_ARROWS_10); break; } case ITEM00_ARROWS_LARGE: if (CVarGetInteger("gNewDrops", 0)) { mtxScale = 7.0f; Matrix_Scale(mtxScale, mtxScale, mtxScale, MTXMODE_APPLY); - GetItem_Draw(play, GID_ARROWS_LARGE); + GetItem_Draw(play, GID_ARROWS_30); break; } case ITEM00_NUTS: if (CVarGetInteger("gNewDrops", 0)) { mtxScale = 9.0f; Matrix_Scale(mtxScale, mtxScale, mtxScale, MTXMODE_APPLY); - GetItem_Draw(play, GID_NUTS); + GetItem_Draw(play, GID_DEKU_NUTS); break; } case ITEM00_STICK: if (CVarGetInteger("gNewDrops", 0)) { mtxScale = 7.5f; Matrix_Scale(mtxScale, mtxScale, mtxScale, MTXMODE_APPLY); - GetItem_Draw(play, GID_STICK); + GetItem_Draw(play, GID_DEKU_STICK); break; } case ITEM00_MAGIC_LARGE: if (CVarGetInteger("gNewDrops", 0)) { mtxScale = 8.0f; Matrix_Scale(mtxScale, mtxScale, mtxScale, MTXMODE_APPLY); - GetItem_Draw(play, GID_MAGIC_LARGE); + GetItem_Draw(play, GID_MAGIC_JAR_LARGE); break; } case ITEM00_MAGIC_SMALL: if (CVarGetInteger("gNewDrops", 0)) { mtxScale = 8.0f; Matrix_Scale(mtxScale, mtxScale, mtxScale, MTXMODE_APPLY); - GetItem_Draw(play, GID_MAGIC_SMALL); + GetItem_Draw(play, GID_MAGIC_JAR_SMALL); break; } case ITEM00_SEEDS: if (CVarGetInteger("gNewDrops", 0)) { mtxScale = 7.0f; Matrix_Scale(mtxScale, mtxScale, mtxScale, MTXMODE_APPLY); - GetItem_Draw(play, GID_SEEDS); + GetItem_Draw(play, GID_DEKU_SEEDS); break; } case ITEM00_BOMBCHU: @@ -1159,7 +1159,7 @@ void EnItem00_Draw(Actor* thisx, PlayState* play) { if (CVarGetInteger("gNewDrops", 0) && !IS_RANDO) { mtxScale = 8.0f; Matrix_Scale(mtxScale, mtxScale, mtxScale, MTXMODE_APPLY); - GetItem_Draw(play, GID_KEY_SMALL); + GetItem_Draw(play, GID_SMALL_KEY); } else { // All collectibles fallthrough here when 3d drops are off EnItem00_DrawCollectible(this, play); @@ -1206,12 +1206,12 @@ void EnItem00_CustomItemsParticles(Actor* Parent, PlayState* play, GetItemEntry case ITEM_SONG_PRELUDE: color_slot = 5; break; - case ITEM_STICK_UPGRADE_20: - case ITEM_STICK_UPGRADE_30: + case ITEM_DEKU_STICK_UPGRADE_20: + case ITEM_DEKU_STICK_UPGRADE_30: color_slot = 6; break; - case ITEM_NUT_UPGRADE_30: - case ITEM_NUT_UPGRADE_40: + case ITEM_DEKU_NUT_UPGRADE_30: + case ITEM_DEKU_NUT_UPGRADE_40: color_slot = 7; break; default: diff --git a/soh/src/code/z_game_over.c b/soh/src/code/z_game_over.c index 4b10cb5e2a1..9663ef616a0 100644 --- a/soh/src/code/z_game_over.c +++ b/soh/src/code/z_game_over.c @@ -52,8 +52,8 @@ void GameOver_Update(PlayState* play) { // restore "temporary B" to the B Button if not a sword item if (gSaveContext.equips.buttonItems[0] != ITEM_SWORD_KOKIRI && gSaveContext.equips.buttonItems[0] != ITEM_SWORD_MASTER && - gSaveContext.equips.buttonItems[0] != ITEM_SWORD_BGS && - gSaveContext.equips.buttonItems[0] != ITEM_SWORD_KNIFE) { + gSaveContext.equips.buttonItems[0] != ITEM_SWORD_BIGGORON && + gSaveContext.equips.buttonItems[0] != ITEM_GIANTS_KNIFE) { if (gSaveContext.buttonStatus[0] != BTN_ENABLED) { gSaveContext.equips.buttonItems[0] = gSaveContext.buttonStatus[0]; diff --git a/soh/src/code/z_map_exp.c b/soh/src/code/z_map_exp.c index c4db0098b23..6e8db29c39d 100644 --- a/soh/src/code/z_map_exp.c +++ b/soh/src/code/z_map_exp.c @@ -404,7 +404,7 @@ void Map_InitData(PlayState* play, s16 room) { } } else if (play->sceneNum == SCENE_GERUDOS_FORTRESS) { if ((!IS_RANDO && GET_EVENTCHKINF_CARPENTERS_FREE_ALL()) || - (IS_RANDO && CHECK_QUEST_ITEM(QUEST_GERUDO_CARD))) { + (IS_RANDO && CHECK_QUEST_ITEM(QUEST_GERUDOS_CARD))) { extendedMapIndex = 0x17; } } diff --git a/soh/src/code/z_message_PAL.c b/soh/src/code/z_message_PAL.c index 78eac4ece4e..7e2c57cc912 100644 --- a/soh/src/code/z_message_PAL.c +++ b/soh/src/code/z_message_PAL.c @@ -1617,7 +1617,7 @@ void Message_OpenText(PlayState* play, u16 textId) { // Increments text id based on piece of heart count, assumes the piece of heart text is all // in order and that you don't have more than the intended amount of heart pieces. textId += (gSaveContext.inventory.questItems & 0xF0000000 & 0xF0000000) >> 0x1C; - } else if (!IS_RANDO && (msgCtx->textId == 0xC && CHECK_OWNED_EQUIP(EQUIP_SWORD, 2))) { + } else if (!IS_RANDO && (msgCtx->textId == 0xC && CHECK_OWNED_EQUIP(EQUIP_TYPE_SWORD, 2))) { textId = 0xB; // Traded Giant's Knife for Biggoron Sword } else if (!IS_RANDO && (msgCtx->textId == 0xB4 && (Flags_GetEventChkInf(EVENTCHKINF_SPOKE_TO_CURSED_MAN_IN_SKULL_HOUSE)))) { textId = 0xB5; // Destroyed Gold Skulltula diff --git a/soh/src/code/z_parameter.c b/soh/src/code/z_parameter.c index 75c85e3e4ee..6e6a08293a3 100644 --- a/soh/src/code/z_parameter.c +++ b/soh/src/code/z_parameter.c @@ -152,15 +152,15 @@ static u16 sHBAScoreDigits[] = { 0, 0, 0, 0 }; static u16 sCUpInvisible = 0; static u16 sCUpTimer = 0; -s16 gSpoilingItems[] = { ITEM_ODD_MUSHROOM, ITEM_FROG, ITEM_EYEDROPS }; +s16 gSpoilingItems[] = { ITEM_ODD_MUSHROOM, ITEM_EYEBALL_FROG, ITEM_EYE_DROPS }; s16 gSpoilingItemReverts[] = { ITEM_COJIRO, ITEM_PRESCRIPTION, ITEM_PRESCRIPTION }; static Color_RGB8 sMagicBorder = {255,255,255}; static Color_RGB8 sMagicBorder_ori = {255,255,255}; static s16 sExtraItemBases[] = { - ITEM_STICK, ITEM_STICK, ITEM_NUT, ITEM_NUT, ITEM_BOMB, ITEM_BOMB, ITEM_BOMB, ITEM_BOMB, ITEM_BOW, - ITEM_BOW, ITEM_BOW, ITEM_SEEDS, ITEM_BOMBCHU, ITEM_BOMBCHU, ITEM_STICK, ITEM_STICK, ITEM_NUT, ITEM_NUT, + ITEM_DEKU_STICK, ITEM_DEKU_STICK, ITEM_DEKU_NUT, ITEM_DEKU_NUT, ITEM_BOMB, ITEM_BOMB, ITEM_BOMB, ITEM_BOMB, ITEM_BOW, + ITEM_BOW, ITEM_BOW, ITEM_DEKU_SEEDS, ITEM_BOMBCHU, ITEM_BOMBCHU, ITEM_DEKU_STICK, ITEM_DEKU_STICK, ITEM_DEKU_NUT, ITEM_DEKU_NUT, }; static s16 D_80125A58 = 0; @@ -1006,8 +1006,8 @@ void func_80083108(PlayState* play) { if ((gSaveContext.equips.buttonItems[0] != ITEM_SWORD_KOKIRI) && (gSaveContext.equips.buttonItems[0] != ITEM_SWORD_MASTER) && - (gSaveContext.equips.buttonItems[0] != ITEM_SWORD_BGS) && - (gSaveContext.equips.buttonItems[0] != ITEM_SWORD_KNIFE)) { + (gSaveContext.equips.buttonItems[0] != ITEM_SWORD_BIGGORON) && + (gSaveContext.equips.buttonItems[0] != ITEM_GIANTS_KNIFE)) { gSaveContext.equips.buttonItems[0] = gSaveContext.buttonStatus[0]; } else { gSaveContext.buttonStatus[0] = gSaveContext.equips.buttonItems[0]; @@ -1022,7 +1022,7 @@ void func_80083108(PlayState* play) { for (i = 1; i < ARRAY_COUNT(gSaveContext.equips.buttonItems); i++) { if ((gSaveContext.equips.buttonItems[i] != ITEM_OCARINA_FAIRY) && - (gSaveContext.equips.buttonItems[i] != ITEM_OCARINA_TIME)) { + (gSaveContext.equips.buttonItems[i] != ITEM_OCARINA_OF_TIME)) { if (gSaveContext.buttonStatus[BUTTON_STATUS_INDEX(i)] == BTN_ENABLED) { sp28 = 1; } @@ -1102,8 +1102,8 @@ void func_80083108(PlayState* play) { if (interfaceCtx->restrictions.bottles != 0) { for (i = 1; i < ARRAY_COUNT(gSaveContext.equips.buttonItems); i++) { - if ((gSaveContext.equips.buttonItems[i] >= ITEM_BOTTLE) && - (gSaveContext.equips.buttonItems[i] <= ITEM_POE)) { + if ((gSaveContext.equips.buttonItems[i] >= ITEM_BOTTLE_EMPTY) && + (gSaveContext.equips.buttonItems[i] <= ITEM_BOTTLE_POE)) { if (gSaveContext.buttonStatus[BUTTON_STATUS_INDEX(i)] == BTN_ENABLED) { sp28 = 1; } @@ -1113,8 +1113,8 @@ void func_80083108(PlayState* play) { } } else if (interfaceCtx->restrictions.bottles == 0) { for (i = 1; i < ARRAY_COUNT(gSaveContext.equips.buttonItems); i++) { - if ((gSaveContext.equips.buttonItems[i] >= ITEM_BOTTLE) && - (gSaveContext.equips.buttonItems[i] <= ITEM_POE)) { + if ((gSaveContext.equips.buttonItems[i] >= ITEM_BOTTLE_EMPTY) && + (gSaveContext.equips.buttonItems[i] <= ITEM_BOTTLE_POE)) { if (gSaveContext.buttonStatus[BUTTON_STATUS_INDEX(i)] == BTN_DISABLED) { sp28 = 1; } @@ -1179,7 +1179,7 @@ void func_80083108(PlayState* play) { if (interfaceCtx->restrictions.ocarina != 0) { for (i = 1; i < ARRAY_COUNT(gSaveContext.equips.buttonItems); i++) { if ((gSaveContext.equips.buttonItems[i] == ITEM_OCARINA_FAIRY) || - (gSaveContext.equips.buttonItems[i] == ITEM_OCARINA_TIME)) { + (gSaveContext.equips.buttonItems[i] == ITEM_OCARINA_OF_TIME)) { if (gSaveContext.buttonStatus[BUTTON_STATUS_INDEX(i)] == BTN_ENABLED) { sp28 = 1; } @@ -1190,7 +1190,7 @@ void func_80083108(PlayState* play) { } else if (interfaceCtx->restrictions.ocarina == 0) { for (i = 1; i < ARRAY_COUNT(gSaveContext.equips.buttonItems); i++) { if ((gSaveContext.equips.buttonItems[i] == ITEM_OCARINA_FAIRY) || - (gSaveContext.equips.buttonItems[i] == ITEM_OCARINA_TIME)) { + (gSaveContext.equips.buttonItems[i] == ITEM_OCARINA_OF_TIME)) { if (gSaveContext.buttonStatus[BUTTON_STATUS_INDEX(i)] == BTN_DISABLED) { sp28 = 1; } @@ -1250,15 +1250,15 @@ void func_80083108(PlayState* play) { if (interfaceCtx->restrictions.all != 0) { for (i = 1; i < ARRAY_COUNT(gSaveContext.equips.buttonItems); i++) { if ((gSaveContext.equips.buttonItems[i] != ITEM_OCARINA_FAIRY) && - (gSaveContext.equips.buttonItems[i] != ITEM_OCARINA_TIME) && - !((gSaveContext.equips.buttonItems[i] >= ITEM_BOTTLE) && - (gSaveContext.equips.buttonItems[i] <= ITEM_POE)) && + (gSaveContext.equips.buttonItems[i] != ITEM_OCARINA_OF_TIME) && + !((gSaveContext.equips.buttonItems[i] >= ITEM_BOTTLE_EMPTY) && + (gSaveContext.equips.buttonItems[i] <= ITEM_BOTTLE_POE)) && !((gSaveContext.equips.buttonItems[i] >= ITEM_SHIELD_DEKU) && // Never disable equipment (gSaveContext.equips.buttonItems[i] <= ITEM_BOOTS_HOVER)) && // (tunics/boots) on C-buttons !((gSaveContext.equips.buttonItems[i] >= ITEM_WEIRD_EGG) && (gSaveContext.equips.buttonItems[i] <= ITEM_CLAIM_CHECK))) { if ((play->sceneNum != SCENE_TREASURE_BOX_SHOP) || - (gSaveContext.equips.buttonItems[i] != ITEM_LENS)) { + (gSaveContext.equips.buttonItems[i] != ITEM_LENS_OF_TRUTH)) { if (gSaveContext.buttonStatus[BUTTON_STATUS_INDEX(i)] == BTN_ENABLED) { sp28 = 1; } @@ -1281,9 +1281,9 @@ void func_80083108(PlayState* play) { (gSaveContext.equips.buttonItems[i] != ITEM_FARORES_WIND) && (gSaveContext.equips.buttonItems[i] != ITEM_NAYRUS_LOVE) && (gSaveContext.equips.buttonItems[i] != ITEM_OCARINA_FAIRY) && - (gSaveContext.equips.buttonItems[i] != ITEM_OCARINA_TIME) && - !((gSaveContext.equips.buttonItems[i] >= ITEM_BOTTLE) && - (gSaveContext.equips.buttonItems[i] <= ITEM_POE)) && + (gSaveContext.equips.buttonItems[i] != ITEM_OCARINA_OF_TIME) && + !((gSaveContext.equips.buttonItems[i] >= ITEM_BOTTLE_EMPTY) && + (gSaveContext.equips.buttonItems[i] <= ITEM_BOTTLE_POE)) && !((gSaveContext.equips.buttonItems[i] >= ITEM_WEIRD_EGG) && (gSaveContext.equips.buttonItems[i] <= ITEM_CLAIM_CHECK))) { if (gSaveContext.buttonStatus[BUTTON_STATUS_INDEX(i)] == BTN_DISABLED) { @@ -1422,9 +1422,9 @@ void Inventory_SwapAgeEquipment(void) { if (gSaveContext.adultEquips.buttonItems[0] == ITEM_NONE) { gSaveContext.equips.buttonItems[0] = ITEM_SWORD_MASTER; - if (gSaveContext.inventory.items[SLOT_NUT] != ITEM_NONE) { - gSaveContext.equips.buttonItems[1] = ITEM_NUT; - gSaveContext.equips.cButtonSlots[0] = SLOT_NUT; + if (gSaveContext.inventory.items[SLOT_DEKU_NUT] != ITEM_NONE) { + gSaveContext.equips.buttonItems[1] = ITEM_DEKU_NUT; + gSaveContext.equips.cButtonSlots[0] = SLOT_DEKU_NUT; } else { gSaveContext.equips.buttonItems[1] = gSaveContext.equips.cButtonSlots[0] = ITEM_NONE; } @@ -1452,8 +1452,8 @@ void Inventory_SwapAgeEquipment(void) { gSaveContext.equips.cButtonSlots[i - 1] = gSaveContext.adultEquips.cButtonSlots[i - 1]; } - if (((gSaveContext.equips.buttonItems[i] >= ITEM_BOTTLE) && - (gSaveContext.equips.buttonItems[i] <= ITEM_POE)) || + if (((gSaveContext.equips.buttonItems[i] >= ITEM_BOTTLE_EMPTY) && + (gSaveContext.equips.buttonItems[i] <= ITEM_BOTTLE_POE)) || ((gSaveContext.equips.buttonItems[i] >= ITEM_WEIRD_EGG) && (gSaveContext.equips.buttonItems[i] <= ITEM_CLAIM_CHECK))) { osSyncPrintf("Register_Item_Pt(%d)=%d\n", i, gSaveContext.equips.cButtonSlots[i - 1]); @@ -1496,8 +1496,8 @@ void Inventory_SwapAgeEquipment(void) { gSaveContext.equips.cButtonSlots[i - 1] = gSaveContext.childEquips.cButtonSlots[i - 1]; } - if (((gSaveContext.equips.buttonItems[i] >= ITEM_BOTTLE) && - (gSaveContext.equips.buttonItems[i] <= ITEM_POE)) || + if (((gSaveContext.equips.buttonItems[i] >= ITEM_BOTTLE_EMPTY) && + (gSaveContext.equips.buttonItems[i] <= ITEM_BOTTLE_POE)) || ((gSaveContext.equips.buttonItems[i] >= ITEM_WEIRD_EGG) && (gSaveContext.equips.buttonItems[i] <= ITEM_CLAIM_CHECK))) { osSyncPrintf("Register_Item_Pt(%d)=%d\n", i, gSaveContext.equips.cButtonSlots[i - 1]); @@ -1520,8 +1520,8 @@ void Inventory_SwapAgeEquipment(void) { gSaveContext.equips.cButtonSlots[i - 1] = gSaveContext.childEquips.cButtonSlots[i - 1]; } - if (((gSaveContext.equips.buttonItems[i] >= ITEM_BOTTLE) && - (gSaveContext.equips.buttonItems[i] <= ITEM_POE)) || + if (((gSaveContext.equips.buttonItems[i] >= ITEM_BOTTLE_EMPTY) && + (gSaveContext.equips.buttonItems[i] <= ITEM_BOTTLE_POE)) || ((gSaveContext.equips.buttonItems[i] >= ITEM_WEIRD_EGG) && (gSaveContext.equips.buttonItems[i] <= ITEM_CLAIM_CHECK))) { osSyncPrintf("Register_Item_Pt(%d)=%d\n", i, gSaveContext.equips.cButtonSlots[i - 1]); @@ -1564,11 +1564,11 @@ void Inventory_SwapAgeEquipment(void) { } } CVarSetInteger("gSwitchTimeline", 0); - temp = gEquipMasks[EQUIP_SHIELD] & gSaveContext.equips.equipment; + temp = gEquipMasks[EQUIP_TYPE_SHIELD] & gSaveContext.equips.equipment; if (temp != 0) { - temp >>= gEquipShifts[EQUIP_SHIELD]; + temp >>= gEquipShifts[EQUIP_TYPE_SHIELD]; if (!(gBitFlags[temp + 3] & gSaveContext.inventory.equipment)) { - gSaveContext.equips.equipment &= gEquipNegMasks[EQUIP_SHIELD]; + gSaveContext.equips.equipment &= gEquipNegMasks[EQUIP_TYPE_SHIELD]; } } } @@ -1583,13 +1583,13 @@ void Interface_InitHorsebackArchery(PlayState* play) { } void func_800849EC(PlayState* play) { - gSaveContext.inventory.equipment |= gBitFlags[2] << gEquipShifts[EQUIP_SWORD]; - gSaveContext.inventory.equipment ^= 8 << gEquipShifts[EQUIP_SWORD]; + gSaveContext.inventory.equipment |= gBitFlags[2] << gEquipShifts[EQUIP_TYPE_SWORD]; + gSaveContext.inventory.equipment ^= 8 << gEquipShifts[EQUIP_TYPE_SWORD]; if (gBitFlags[3] & gSaveContext.inventory.equipment) { - gSaveContext.equips.buttonItems[0] = ITEM_SWORD_KNIFE; + gSaveContext.equips.buttonItems[0] = ITEM_GIANTS_KNIFE; } else { - gSaveContext.equips.buttonItems[0] = ITEM_SWORD_BGS; + gSaveContext.equips.buttonItems[0] = ITEM_SWORD_BIGGORON; } Interface_LoadItemIcon1(play, 0); @@ -1657,9 +1657,9 @@ void GameplayStats_SetTimestamp(PlayState* play, u8 item) { if (gSaveContext.sohStats.itemTimestamp[item] != 0){ return; } - // Use ITEM_KEY_BOSS only for Ganon's boss key - not any other boss keys + // Use ITEM_DUNGEON_BOSS_KEY only for Ganon's boss key - not any other boss keys if (play != NULL) { - if (item == ITEM_KEY_BOSS && play->sceneNum != 13 && play->sceneNum != 10) { + if (item == ITEM_DUNGEON_BOSS_KEY && play->sceneNum != 13 && play->sceneNum != 10) { return; } } @@ -1672,9 +1672,9 @@ void GameplayStats_SetTimestamp(PlayState* play, u8 item) { } // Count any bottled item as a bottle - if (item >= ITEM_BOTTLE && item <= ITEM_POE) { - if (gSaveContext.sohStats.itemTimestamp[ITEM_BOTTLE] == 0) { - gSaveContext.sohStats.itemTimestamp[ITEM_BOTTLE] = time; + if (item >= ITEM_BOTTLE_EMPTY && item <= ITEM_BOTTLE_POE) { + if (gSaveContext.sohStats.itemTimestamp[ITEM_BOTTLE_EMPTY] == 0) { + gSaveContext.sohStats.itemTimestamp[ITEM_BOTTLE_EMPTY] = time; } return; } @@ -1700,15 +1700,15 @@ void Randomizer_GameplayStats_SetTimestamp(uint16_t item) { time = 1; } - // Use ITEM_KEY_BOSS to timestamp Ganon's boss key + // Use ITEM_DUNGEON_BOSS_KEY to timestamp Ganon's boss key if (item == RG_GANONS_CASTLE_BOSS_KEY) { - gSaveContext.sohStats.itemTimestamp[ITEM_KEY_BOSS] = time; + gSaveContext.sohStats.itemTimestamp[ITEM_DUNGEON_BOSS_KEY] = time; } // Count any bottled item as a bottle if (item >= RG_EMPTY_BOTTLE && item <= RG_BOTTLE_WITH_BIG_POE) { - if (gSaveContext.sohStats.itemTimestamp[ITEM_BOTTLE] == 0) { - gSaveContext.sohStats.itemTimestamp[ITEM_BOTTLE] = time; + if (gSaveContext.sohStats.itemTimestamp[ITEM_BOTTLE_EMPTY] == 0) { + gSaveContext.sohStats.itemTimestamp[ITEM_BOTTLE_EMPTY] = time; } return; } @@ -1720,10 +1720,10 @@ void Randomizer_GameplayStats_SetTimestamp(uint16_t item) { return; } if (item == RG_MAGIC_SINGLE) { - gSaveContext.sohStats.itemTimestamp[ITEM_SINGLE_MAGIC] = time; + gSaveContext.sohStats.itemTimestamp[ITEM_INVALID_1] = time; } if (item == RG_DOUBLE_DEFENSE) { - gSaveContext.sohStats.itemTimestamp[ITEM_DOUBLE_DEFENSE] = time; + gSaveContext.sohStats.itemTimestamp[ITEM_INVALID_3] = time; } } @@ -1771,8 +1771,8 @@ u8 Item_Give(PlayState* play, u8 item) { GameplayStats_SetTimestamp(play, item); slot = SLOT(item); - if (item >= ITEM_STICKS_5) { - slot = SLOT(sExtraItemBases[item - ITEM_STICKS_5]); + if (item >= ITEM_DEKU_STICKS_5) { + slot = SLOT(sExtraItemBases[item - ITEM_DEKU_STICKS_5]); } osSyncPrintf(VT_FGCOL(YELLOW)); @@ -1810,7 +1810,7 @@ u8 Item_Give(PlayState* play, u8 item) { osSyncPrintf(VT_RST); return Return_Item(item, MOD_NONE, ITEM_NONE); - } else if ((item == ITEM_STONE_OF_AGONY) || (item == ITEM_GERUDO_CARD)) { + } else if ((item == ITEM_STONE_OF_AGONY) || (item == ITEM_GERUDOS_CARD)) { gSaveContext.inventory.questItems |= gBitFlags[item - ITEM_STONE_OF_AGONY + QUEST_STONE_OF_AGONY]; osSyncPrintf(VT_FGCOL(YELLOW)); @@ -1828,21 +1828,21 @@ u8 Item_Give(PlayState* play, u8 item) { osSyncPrintf(VT_RST); return Return_Item(item, MOD_NONE, ITEM_NONE); - } else if ((item >= ITEM_SWORD_KOKIRI) && (item <= ITEM_SWORD_BGS)) { - gSaveContext.inventory.equipment |= gBitFlags[item - ITEM_SWORD_KOKIRI] << gEquipShifts[EQUIP_SWORD]; + } else if ((item >= ITEM_SWORD_KOKIRI) && (item <= ITEM_SWORD_BIGGORON)) { + gSaveContext.inventory.equipment |= gBitFlags[item - ITEM_SWORD_KOKIRI] << gEquipShifts[EQUIP_TYPE_SWORD]; // Both Giant's Knife and Biggoron Sword have the same Item ID, so this part handles both of them - if (item == ITEM_SWORD_BGS) { + if (item == ITEM_SWORD_BIGGORON) { gSaveContext.swordHealth = 8; // In rando, when buying Giant's Knife, also check // for 0xE in case we don't have Kokiri Sword - if (ALL_EQUIP_VALUE(EQUIP_SWORD) == 0xF || (IS_RANDO && ALL_EQUIP_VALUE(EQUIP_SWORD) == 0xE)) { + if (ALL_EQUIP_VALUE(EQUIP_TYPE_SWORD) == 0xF || (IS_RANDO && ALL_EQUIP_VALUE(EQUIP_TYPE_SWORD) == 0xE)) { - gSaveContext.inventory.equipment ^= 8 << gEquipShifts[EQUIP_SWORD]; + gSaveContext.inventory.equipment ^= 8 << gEquipShifts[EQUIP_TYPE_SWORD]; - if (gSaveContext.equips.buttonItems[0] == ITEM_SWORD_KNIFE) { - gSaveContext.equips.buttonItems[0] = ITEM_SWORD_BGS; + if (gSaveContext.equips.buttonItems[0] == ITEM_GIANTS_KNIFE) { + gSaveContext.equips.buttonItems[0] = ITEM_SWORD_BIGGORON; if (play != NULL) { Interface_LoadItemIcon1(play, 0); } @@ -1860,18 +1860,18 @@ u8 Item_Give(PlayState* play, u8 item) { return Return_Item(item, MOD_NONE, ITEM_NONE); } else if ((item >= ITEM_SHIELD_DEKU) && (item <= ITEM_SHIELD_MIRROR)) { - gSaveContext.inventory.equipment |= (gBitFlags[item - ITEM_SHIELD_DEKU] << gEquipShifts[EQUIP_SHIELD]); + gSaveContext.inventory.equipment |= (gBitFlags[item - ITEM_SHIELD_DEKU] << gEquipShifts[EQUIP_TYPE_SHIELD]); return Return_Item(item, MOD_NONE, ITEM_NONE); } else if ((item >= ITEM_TUNIC_KOKIRI) && (item <= ITEM_TUNIC_ZORA)) { - gSaveContext.inventory.equipment |= (gBitFlags[item - ITEM_TUNIC_KOKIRI] << gEquipShifts[EQUIP_TUNIC]); + gSaveContext.inventory.equipment |= (gBitFlags[item - ITEM_TUNIC_KOKIRI] << gEquipShifts[EQUIP_TYPE_TUNIC]); return Return_Item(item, MOD_NONE, ITEM_NONE); } else if ((item >= ITEM_BOOTS_KOKIRI) && (item <= ITEM_BOOTS_HOVER)) { - gSaveContext.inventory.equipment |= (gBitFlags[item - ITEM_BOOTS_KOKIRI] << gEquipShifts[EQUIP_BOOTS]); + gSaveContext.inventory.equipment |= (gBitFlags[item - ITEM_BOOTS_KOKIRI] << gEquipShifts[EQUIP_TYPE_BOOTS]); return Return_Item(item, MOD_NONE, ITEM_NONE); - } else if ((item == ITEM_KEY_BOSS) || (item == ITEM_COMPASS) || (item == ITEM_DUNGEON_MAP)) { - gSaveContext.inventory.dungeonItems[gSaveContext.mapIndex] |= gBitFlags[item - ITEM_KEY_BOSS]; + } else if ((item == ITEM_DUNGEON_BOSS_KEY) || (item == ITEM_DUNGEON_COMPASS) || (item == ITEM_DUNGEON_MAP)) { + gSaveContext.inventory.dungeonItems[gSaveContext.mapIndex] |= gBitFlags[item - ITEM_DUNGEON_BOSS_KEY]; return Return_Item(item, MOD_NONE, ITEM_NONE); - } else if (item == ITEM_KEY_SMALL) { + } else if (item == ITEM_SMALL_KEY) { if (gSaveContext.inventory.dungeonKeys[gSaveContext.mapIndex] < 0) { gSaveContext.inventory.dungeonKeys[gSaveContext.mapIndex] = 1; return Return_Item(item, MOD_NONE, ITEM_NONE); @@ -1927,13 +1927,13 @@ u8 Item_Give(PlayState* play, u8 item) { Inventory_ChangeUpgrade(UPG_BOMB_BAG, 3); AMMO(ITEM_BOMB) = CAPACITY(UPG_BOMB_BAG, 3); return Return_Item(item, MOD_NONE, ITEM_NONE); - } else if (item == ITEM_BRACELET) { + } else if (item == ITEM_STRENGTH_GORONS_BRACELET) { Inventory_ChangeUpgrade(UPG_STRENGTH, 1); return Return_Item(item, MOD_NONE, ITEM_NONE); - } else if (item == ITEM_GAUNTLETS_SILVER) { + } else if (item == ITEM_STRENGTH_SILVER_GAUNTLETS) { Inventory_ChangeUpgrade(UPG_STRENGTH, 2); return Return_Item(item, MOD_NONE, ITEM_NONE); - } else if (item == ITEM_GAUNTLETS_GOLD) { + } else if (item == ITEM_STRENGTH_GOLD_GAUNTLETS) { Inventory_ChangeUpgrade(UPG_STRENGTH, 3); return Return_Item(item, MOD_NONE, ITEM_NONE); } else if (item == ITEM_SCALE_SILVER) { @@ -1942,45 +1942,45 @@ u8 Item_Give(PlayState* play, u8 item) { } else if (item == ITEM_SCALE_GOLDEN) { Inventory_ChangeUpgrade(UPG_SCALE, 2); return Return_Item(item, MOD_NONE, ITEM_NONE); - } else if (item == ITEM_WALLET_ADULT) { + } else if (item == ITEM_ADULTS_WALLET) { Inventory_ChangeUpgrade(UPG_WALLET, 1); if (IS_RANDO && Randomizer_GetSettingValue(RSK_FULL_WALLETS)) { Rupees_ChangeBy(200); } return Return_Item(item, MOD_NONE, ITEM_NONE); - } else if (item == ITEM_WALLET_GIANT) { + } else if (item == ITEM_GIANTS_WALLET) { Inventory_ChangeUpgrade(UPG_WALLET, 2); if (IS_RANDO && Randomizer_GetSettingValue(RSK_FULL_WALLETS)) { Rupees_ChangeBy(500); } return Return_Item(item, MOD_NONE, ITEM_NONE); - } else if (item == ITEM_STICK_UPGRADE_20) { + } else if (item == ITEM_DEKU_STICK_UPGRADE_20) { if (gSaveContext.inventory.items[slot] == ITEM_NONE) { - INV_CONTENT(ITEM_STICK) = ITEM_STICK; + INV_CONTENT(ITEM_DEKU_STICK) = ITEM_DEKU_STICK; } - Inventory_ChangeUpgrade(UPG_STICKS, 2); - AMMO(ITEM_STICK) = CAPACITY(UPG_STICKS, 2); + Inventory_ChangeUpgrade(UPG_DEKU_STICKS, 2); + AMMO(ITEM_DEKU_STICK) = CAPACITY(UPG_DEKU_STICKS, 2); return Return_Item(item, MOD_NONE, ITEM_NONE); - } else if (item == ITEM_STICK_UPGRADE_30) { + } else if (item == ITEM_DEKU_STICK_UPGRADE_30) { if (gSaveContext.inventory.items[slot] == ITEM_NONE) { - INV_CONTENT(ITEM_STICK) = ITEM_STICK; + INV_CONTENT(ITEM_DEKU_STICK) = ITEM_DEKU_STICK; } - Inventory_ChangeUpgrade(UPG_STICKS, 3); - AMMO(ITEM_STICK) = CAPACITY(UPG_STICKS, 3); + Inventory_ChangeUpgrade(UPG_DEKU_STICKS, 3); + AMMO(ITEM_DEKU_STICK) = CAPACITY(UPG_DEKU_STICKS, 3); return Return_Item(item, MOD_NONE, ITEM_NONE); - } else if (item == ITEM_NUT_UPGRADE_30) { + } else if (item == ITEM_DEKU_NUT_UPGRADE_30) { if (gSaveContext.inventory.items[slot] == ITEM_NONE) { - INV_CONTENT(ITEM_NUT) = ITEM_NUT; + INV_CONTENT(ITEM_DEKU_NUT) = ITEM_DEKU_NUT; } - Inventory_ChangeUpgrade(UPG_NUTS, 2); - AMMO(ITEM_NUT) = CAPACITY(UPG_NUTS, 2); + Inventory_ChangeUpgrade(UPG_DEKU_NUTS, 2); + AMMO(ITEM_DEKU_NUT) = CAPACITY(UPG_DEKU_NUTS, 2); return Return_Item(item, MOD_NONE, ITEM_NONE); - } else if (item == ITEM_NUT_UPGRADE_40) { + } else if (item == ITEM_DEKU_NUT_UPGRADE_40) { if (gSaveContext.inventory.items[slot] == ITEM_NONE) { - INV_CONTENT(ITEM_NUT) = ITEM_NUT; + INV_CONTENT(ITEM_DEKU_NUT) = ITEM_DEKU_NUT; } - Inventory_ChangeUpgrade(UPG_NUTS, 3); - AMMO(ITEM_NUT) = CAPACITY(UPG_NUTS, 3); + Inventory_ChangeUpgrade(UPG_DEKU_NUTS, 3); + AMMO(ITEM_DEKU_NUT) = CAPACITY(UPG_DEKU_NUTS, 3); return Return_Item(item, MOD_NONE, ITEM_NONE); } else if (item == ITEM_LONGSHOT) { INV_CONTENT(item) = item; @@ -2015,51 +2015,51 @@ u8 Item_Give(PlayState* play, u8 item) { } } return Return_Item(item, MOD_NONE, ITEM_NONE); - } else if (item == ITEM_STICK) { + } else if (item == ITEM_DEKU_STICK) { if (gSaveContext.inventory.items[slot] == ITEM_NONE) { - Inventory_ChangeUpgrade(UPG_STICKS, 1); - AMMO(ITEM_STICK) = 1; + Inventory_ChangeUpgrade(UPG_DEKU_STICKS, 1); + AMMO(ITEM_DEKU_STICK) = 1; } else { - AMMO(ITEM_STICK)++; - if (AMMO(ITEM_STICK) > CUR_CAPACITY(UPG_STICKS)) { - AMMO(ITEM_STICK) = CUR_CAPACITY(UPG_STICKS); + AMMO(ITEM_DEKU_STICK)++; + if (AMMO(ITEM_DEKU_STICK) > CUR_CAPACITY(UPG_DEKU_STICKS)) { + AMMO(ITEM_DEKU_STICK) = CUR_CAPACITY(UPG_DEKU_STICKS); } } - } else if ((item == ITEM_STICKS_5) || (item == ITEM_STICKS_10)) { + } else if ((item == ITEM_DEKU_STICKS_5) || (item == ITEM_DEKU_STICKS_10)) { if (gSaveContext.inventory.items[slot] == ITEM_NONE) { - Inventory_ChangeUpgrade(UPG_STICKS, 1); - AMMO(ITEM_STICK) = sAmmoRefillCounts[item - ITEM_STICKS_5]; + Inventory_ChangeUpgrade(UPG_DEKU_STICKS, 1); + AMMO(ITEM_DEKU_STICK) = sAmmoRefillCounts[item - ITEM_DEKU_STICKS_5]; } else { - AMMO(ITEM_STICK) += sAmmoRefillCounts[item - ITEM_STICKS_5]; - if (AMMO(ITEM_STICK) > CUR_CAPACITY(UPG_STICKS)) { - AMMO(ITEM_STICK) = CUR_CAPACITY(UPG_STICKS); + AMMO(ITEM_DEKU_STICK) += sAmmoRefillCounts[item - ITEM_DEKU_STICKS_5]; + if (AMMO(ITEM_DEKU_STICK) > CUR_CAPACITY(UPG_DEKU_STICKS)) { + AMMO(ITEM_DEKU_STICK) = CUR_CAPACITY(UPG_DEKU_STICKS); } } - item = ITEM_STICK; - } else if (item == ITEM_NUT) { + item = ITEM_DEKU_STICK; + } else if (item == ITEM_DEKU_NUT) { if (gSaveContext.inventory.items[slot] == ITEM_NONE) { - Inventory_ChangeUpgrade(UPG_NUTS, 1); - AMMO(ITEM_NUT) = ITEM_NUT; + Inventory_ChangeUpgrade(UPG_DEKU_NUTS, 1); + AMMO(ITEM_DEKU_NUT) = ITEM_DEKU_NUT; } else { - AMMO(ITEM_NUT)++; - if (AMMO(ITEM_NUT) > CUR_CAPACITY(UPG_NUTS)) { - AMMO(ITEM_NUT) = CUR_CAPACITY(UPG_NUTS); + AMMO(ITEM_DEKU_NUT)++; + if (AMMO(ITEM_DEKU_NUT) > CUR_CAPACITY(UPG_DEKU_NUTS)) { + AMMO(ITEM_DEKU_NUT) = CUR_CAPACITY(UPG_DEKU_NUTS); } } - } else if ((item == ITEM_NUTS_5) || (item == ITEM_NUTS_10)) { + } else if ((item == ITEM_DEKU_NUTS_5) || (item == ITEM_DEKU_NUTS_10)) { if (gSaveContext.inventory.items[slot] == ITEM_NONE) { - Inventory_ChangeUpgrade(UPG_NUTS, 1); - AMMO(ITEM_NUT) += sAmmoRefillCounts[item - ITEM_NUTS_5]; + Inventory_ChangeUpgrade(UPG_DEKU_NUTS, 1); + AMMO(ITEM_DEKU_NUT) += sAmmoRefillCounts[item - ITEM_DEKU_NUTS_5]; // "Deku Nuts %d(%d)=%d BS_count=%d" - osSyncPrintf("デクの実 %d(%d)=%d BS_count=%d\n", item, ITEM_NUTS_5, item - ITEM_NUTS_5, - sAmmoRefillCounts[item - ITEM_NUTS_5]); + osSyncPrintf("デクの実 %d(%d)=%d BS_count=%d\n", item, ITEM_DEKU_NUTS_5, item - ITEM_DEKU_NUTS_5, + sAmmoRefillCounts[item - ITEM_DEKU_NUTS_5]); } else { - AMMO(ITEM_NUT) += sAmmoRefillCounts[item - ITEM_NUTS_5]; - if (AMMO(ITEM_NUT) > CUR_CAPACITY(UPG_NUTS)) { - AMMO(ITEM_NUT) = CUR_CAPACITY(UPG_NUTS); + AMMO(ITEM_DEKU_NUT) += sAmmoRefillCounts[item - ITEM_DEKU_NUTS_5]; + if (AMMO(ITEM_DEKU_NUT) > CUR_CAPACITY(UPG_DEKU_NUTS)) { + AMMO(ITEM_DEKU_NUT) = CUR_CAPACITY(UPG_DEKU_NUTS); } } - item = ITEM_NUT; + item = ITEM_DEKU_NUT; } else if (item == ITEM_BOMB) { // "Bomb Bomb Bomb Bomb Bomb Bomb Bomb" osSyncPrintf(" 爆弾 爆弾 爆弾 爆弾 爆弾 爆弾 爆弾 \n"); @@ -2094,8 +2094,8 @@ u8 Item_Give(PlayState* play, u8 item) { } } return Return_Item(item, MOD_NONE, ITEM_NONE); - } else if ((item >= ITEM_ARROWS_SMALL) && (item <= ITEM_ARROWS_LARGE)) { - AMMO(ITEM_BOW) += sAmmoRefillCounts[item - ITEM_ARROWS_SMALL + 4]; + } else if ((item >= ITEM_ARROWS_5) && (item <= ITEM_ARROWS_30)) { + AMMO(ITEM_BOW) += sAmmoRefillCounts[item - ITEM_ARROWS_5 + 4]; if ((AMMO(ITEM_BOW) >= CUR_CAPACITY(UPG_QUIVER)) || (AMMO(ITEM_BOW) < 0)) { AMMO(ITEM_BOW) = CUR_CAPACITY(UPG_QUIVER); @@ -2109,7 +2109,7 @@ u8 Item_Give(PlayState* play, u8 item) { INV_CONTENT(ITEM_SLINGSHOT) = ITEM_SLINGSHOT; AMMO(ITEM_SLINGSHOT) = 30; return Return_Item(item, MOD_NONE, ITEM_NONE); - } else if (item == ITEM_SEEDS) { + } else if (item == ITEM_DEKU_SEEDS) { AMMO(ITEM_SLINGSHOT) += 5; if (AMMO(ITEM_SLINGSHOT) >= CUR_CAPACITY(UPG_BULLET_BAG)) { @@ -2121,8 +2121,8 @@ u8 Item_Give(PlayState* play, u8 item) { return Return_Item(item, MOD_NONE, ITEM_NONE); } - return Return_Item(item, MOD_NONE, ITEM_SEEDS); - } else if (item == ITEM_SEEDS_30) { + return Return_Item(item, MOD_NONE, ITEM_DEKU_SEEDS); + } else if (item == ITEM_DEKU_SEEDS_30) { AMMO(ITEM_SLINGSHOT) += 30; if (AMMO(ITEM_SLINGSHOT) >= CUR_CAPACITY(UPG_BULLET_BAG)) { @@ -2134,16 +2134,16 @@ u8 Item_Give(PlayState* play, u8 item) { return Return_Item(item, MOD_NONE, ITEM_NONE); } - return Return_Item(item, MOD_NONE, ITEM_SEEDS); + return Return_Item(item, MOD_NONE, ITEM_DEKU_SEEDS); } else if (item == ITEM_OCARINA_FAIRY) { INV_CONTENT(ITEM_OCARINA_FAIRY) = ITEM_OCARINA_FAIRY; return Return_Item(item, MOD_NONE, ITEM_NONE); - } else if (item == ITEM_OCARINA_TIME) { - INV_CONTENT(ITEM_OCARINA_TIME) = ITEM_OCARINA_TIME; + } else if (item == ITEM_OCARINA_OF_TIME) { + INV_CONTENT(ITEM_OCARINA_OF_TIME) = ITEM_OCARINA_OF_TIME; // always update "equips" as this is what is currently on the c-buttons for (i = 1; i < ARRAY_COUNT(gSaveContext.equips.buttonItems); i++) { if (gSaveContext.equips.buttonItems[i] == ITEM_OCARINA_FAIRY) { - gSaveContext.equips.buttonItems[i] = ITEM_OCARINA_TIME; + gSaveContext.equips.buttonItems[i] = ITEM_OCARINA_OF_TIME; Interface_LoadItemIcon1(play, i); } } @@ -2152,7 +2152,7 @@ u8 Item_Give(PlayState* play, u8 item) { if (IS_RANDO && LINK_IS_CHILD) { for (i = 1; i < ARRAY_COUNT(gSaveContext.adultEquips.buttonItems); i++) { if (gSaveContext.adultEquips.buttonItems[i] == ITEM_OCARINA_FAIRY) { - gSaveContext.adultEquips.buttonItems[i] = ITEM_OCARINA_TIME; + gSaveContext.adultEquips.buttonItems[i] = ITEM_OCARINA_OF_TIME; if (play != NULL) { Interface_LoadItemIcon1(play, i); } @@ -2162,7 +2162,7 @@ u8 Item_Give(PlayState* play, u8 item) { if (IS_RANDO && LINK_IS_ADULT) { for (i = 1; i < ARRAY_COUNT(gSaveContext.childEquips.buttonItems); i++) { if (gSaveContext.childEquips.buttonItems[i] == ITEM_OCARINA_FAIRY) { - gSaveContext.childEquips.buttonItems[i] = ITEM_OCARINA_TIME; + gSaveContext.childEquips.buttonItems[i] = ITEM_OCARINA_OF_TIME; if (play != NULL) { Interface_LoadItemIcon1(play, i); } @@ -2170,18 +2170,18 @@ u8 Item_Give(PlayState* play, u8 item) { } } return Return_Item(item, MOD_NONE, ITEM_NONE); - } else if (item == ITEM_BEAN) { + } else if (item == ITEM_MAGIC_BEAN) { if (gSaveContext.inventory.items[slot] == ITEM_NONE) { INV_CONTENT(item) = item; - AMMO(ITEM_BEAN) = 1; + AMMO(ITEM_MAGIC_BEAN) = 1; BEANS_BOUGHT = 1; } else { - AMMO(ITEM_BEAN)++; + AMMO(ITEM_MAGIC_BEAN)++; BEANS_BOUGHT++; } return Return_Item(item, MOD_NONE, ITEM_NONE); } else if ((item == ITEM_HEART_PIECE_2) || (item == ITEM_HEART_PIECE)) { - gSaveContext.inventory.questItems += 1 << (QUEST_HEART_PIECE + 4); + gSaveContext.inventory.questItems += 1 << (QUEST_HEART_PIECE_COUNT + 4); gSaveContext.sohStats.heartPieces++; return Return_Item(item, MOD_NONE, ITEM_NONE); } else if (item == ITEM_HEART_CONTAINER) { @@ -2189,13 +2189,13 @@ u8 Item_Give(PlayState* play, u8 item) { gSaveContext.health += 0x10; gSaveContext.sohStats.heartContainers++; return Return_Item(item, MOD_NONE, ITEM_NONE); - } else if (item == ITEM_HEART) { + } else if (item == ITEM_RECOVERY_HEART) { osSyncPrintf("回復ハート回復ハート回復ハート\n"); // "Recovery Heart" if (play != NULL) { Health_ChangeBy(play, 0x10); } return Return_Item(item, MOD_NONE, item); - } else if (item == ITEM_MAGIC_SMALL) { + } else if (item == ITEM_MAGIC_JAR_SMALL) { if (gSaveContext.magicState != 10) { if (play != NULL) { Magic_Fill(play); @@ -2212,7 +2212,7 @@ u8 Item_Give(PlayState* play, u8 item) { } return Return_Item(item, MOD_NONE, item); - } else if (item == ITEM_MAGIC_LARGE) { + } else if (item == ITEM_MAGIC_JAR_BIG) { if (gSaveContext.magicState != 10) { if (play != NULL) { Magic_Fill(play); @@ -2231,7 +2231,7 @@ u8 Item_Give(PlayState* play, u8 item) { } else if ((item >= ITEM_RUPEE_GREEN) && (item <= ITEM_INVALID_8)) { Rupees_ChangeBy(sAmmoRefillCounts[item - ITEM_RUPEE_GREEN + 10]); return Return_Item(item, MOD_NONE, ITEM_NONE); - } else if (item == ITEM_BOTTLE) { + } else if (item == ITEM_BOTTLE_EMPTY) { temp = SLOT(item); for (i = 0; i < 4; i++) { @@ -2240,17 +2240,17 @@ u8 Item_Give(PlayState* play, u8 item) { return Return_Item(item, MOD_NONE, ITEM_NONE); } } - } else if (((item >= ITEM_POTION_RED) && (item <= ITEM_POE)) || (item == ITEM_MILK)) { + } else if (((item >= ITEM_BOTTLE_POTION_RED) && (item <= ITEM_BOTTLE_POE)) || (item == ITEM_MILK)) { temp = SLOT(item); - if ((item != ITEM_MILK_BOTTLE) && (item != ITEM_LETTER_RUTO)) { + if ((item != ITEM_BOTTLE_MILK_FULL) && (item != ITEM_BOTTLE_RUTOS_LETTER)) { if (item == ITEM_MILK) { - item = ITEM_MILK_BOTTLE; + item = ITEM_BOTTLE_MILK_FULL; temp = SLOT(item); } for (i = 0; i < 4; i++) { - if (gSaveContext.inventory.items[temp + i] == ITEM_BOTTLE) { + if (gSaveContext.inventory.items[temp + i] == ITEM_BOTTLE_EMPTY) { // "Item_Pt(1)=%d Item_Pt(2)=%d Item_Pt(3)=%d Empty Bottle=%d Content=%d" osSyncPrintf("Item_Pt(1)=%d Item_Pt(2)=%d Item_Pt(3)=%d 空瓶=%d 中味=%d\n", gSaveContext.equips.cButtonSlots[0], gSaveContext.equips.cButtonSlots[1], @@ -2281,7 +2281,7 @@ u8 Item_Give(PlayState* play, u8 item) { } return Return_Item(item, MOD_NONE, ITEM_NONE); } else if ((item >= ITEM_WEIRD_EGG) && (item <= ITEM_CLAIM_CHECK)) { - if ((item == ITEM_SAW) && CVarGetInteger("gDekuNutUpgradeFix", 0) == 0) { + if ((item == ITEM_POACHERS_SAW) && CVarGetInteger("gDekuNutUpgradeFix", 0) == 0) { Flags_SetItemGetInf(ITEMGETINF_OBTAINED_NUT_UPGRADE_FROM_STAGE); } @@ -2343,9 +2343,9 @@ u16 Randomizer_Item_Give(PlayState* play, GetItemEntry giEntry) { } if (item == RG_MAGIC_BEAN_PACK) { - if (INV_CONTENT(ITEM_BEAN) == ITEM_NONE) { - INV_CONTENT(ITEM_BEAN) = ITEM_BEAN; - AMMO(ITEM_BEAN) = 10; + if (INV_CONTENT(ITEM_MAGIC_BEAN) == ITEM_NONE) { + INV_CONTENT(ITEM_MAGIC_BEAN) = ITEM_MAGIC_BEAN; + AMMO(ITEM_MAGIC_BEAN) = 10; } return Return_Item_Entry(giEntry, RG_NONE); } @@ -2358,36 +2358,36 @@ u16 Randomizer_Item_Give(PlayState* play, GetItemEntry giEntry) { } if (item >= RG_BOTTLE_WITH_RED_POTION && item <= RG_BOTTLE_WITH_BIG_POE) { - temp = SLOT(ITEM_BOTTLE); + temp = SLOT(ITEM_BOTTLE_EMPTY); for (i = 0; i < 4; i++) { if (gSaveContext.inventory.items[temp + i] == ITEM_NONE) { switch (item) { case RG_BOTTLE_WITH_RED_POTION: - item = ITEM_POTION_RED; + item = ITEM_BOTTLE_POTION_RED; break; case RG_BOTTLE_WITH_GREEN_POTION: - item = ITEM_POTION_GREEN; + item = ITEM_BOTTLE_POTION_GREEN; break; case RG_BOTTLE_WITH_BLUE_POTION: - item = ITEM_POTION_BLUE; + item = ITEM_BOTTLE_POTION_BLUE; break; case RG_BOTTLE_WITH_FAIRY: - item = ITEM_FAIRY; + item = ITEM_BOTTLE_FAIRY; break; case RG_BOTTLE_WITH_FISH: - item = ITEM_FISH; + item = ITEM_BOTTLE_FISH; break; case RG_BOTTLE_WITH_BLUE_FIRE: - item = ITEM_BLUE_FIRE; + item = ITEM_BOTTLE_BLUE_FIRE; break; case RG_BOTTLE_WITH_BUGS: - item = ITEM_BUG; + item = ITEM_BOTTLE_BUG; break; case RG_BOTTLE_WITH_POE: - item = ITEM_POE; + item = ITEM_BOTTLE_POE; break; case RG_BOTTLE_WITH_BIG_POE: - item = ITEM_BIG_POE; + item = ITEM_BOTTLE_BIG_POE; break; } @@ -2568,8 +2568,8 @@ u8 Item_CheckObtainability(u8 item) { s16 slot = SLOT(item); s32 temp; - if (item >= ITEM_STICKS_5) { - slot = SLOT(sExtraItemBases[item - ITEM_STICKS_5]); + if (item >= ITEM_DEKU_STICKS_5) { + slot = SLOT(sExtraItemBases[item - ITEM_DEKU_STICKS_5]); } osSyncPrintf(VT_FGCOL(GREEN)); @@ -2577,7 +2577,7 @@ u8 Item_CheckObtainability(u8 item) { osSyncPrintf(VT_RST); if (IS_RANDO) { - if (item == ITEM_SINGLE_MAGIC || item == ITEM_DOUBLE_MAGIC || item == ITEM_DOUBLE_DEFENSE) { + if (item == ITEM_INVALID_1 || item == ITEM_INVALID_2 || item == ITEM_INVALID_3) { return ITEM_NONE; } } @@ -2588,36 +2588,36 @@ u8 Item_CheckObtainability(u8 item) { return ITEM_NONE; } else if ((item >= ITEM_KOKIRI_EMERALD) && (item <= ITEM_SKULL_TOKEN)) { return ITEM_NONE; - } else if ((item >= ITEM_SWORD_KOKIRI) && (item <= ITEM_SWORD_BGS)) { - if (item == ITEM_SWORD_BGS) { + } else if ((item >= ITEM_SWORD_KOKIRI) && (item <= ITEM_SWORD_BIGGORON)) { + if (item == ITEM_SWORD_BIGGORON) { return ITEM_NONE; - } else if ((gBitFlags[item - ITEM_SWORD_KOKIRI] << gEquipShifts[EQUIP_SWORD]) & + } else if ((gBitFlags[item - ITEM_SWORD_KOKIRI] << gEquipShifts[EQUIP_TYPE_SWORD]) & gSaveContext.inventory.equipment) { return IS_RANDO ? ITEM_NONE : item; } else { return ITEM_NONE; } } else if ((item >= ITEM_SHIELD_DEKU) && (item <= ITEM_SHIELD_MIRROR)) { - if ((gBitFlags[item - ITEM_SHIELD_DEKU] << gEquipShifts[EQUIP_SHIELD]) & gSaveContext.inventory.equipment) { + if ((gBitFlags[item - ITEM_SHIELD_DEKU] << gEquipShifts[EQUIP_TYPE_SHIELD]) & gSaveContext.inventory.equipment) { return IS_RANDO ? ITEM_NONE : item; } else { return ITEM_NONE; } } else if ((item >= ITEM_TUNIC_KOKIRI) && (item <= ITEM_TUNIC_ZORA)) { - if ((gBitFlags[item - ITEM_TUNIC_KOKIRI] << gEquipShifts[EQUIP_TUNIC]) & gSaveContext.inventory.equipment) { + if ((gBitFlags[item - ITEM_TUNIC_KOKIRI] << gEquipShifts[EQUIP_TYPE_TUNIC]) & gSaveContext.inventory.equipment) { return IS_RANDO ? ITEM_NONE : item; } else { return ITEM_NONE; } } else if ((item >= ITEM_BOOTS_KOKIRI) && (item <= ITEM_BOOTS_HOVER)) { - if ((gBitFlags[item - ITEM_BOOTS_KOKIRI] << gEquipShifts[EQUIP_BOOTS]) & gSaveContext.inventory.equipment) { + if ((gBitFlags[item - ITEM_BOOTS_KOKIRI] << gEquipShifts[EQUIP_TYPE_BOOTS]) & gSaveContext.inventory.equipment) { return IS_RANDO ? ITEM_NONE : item; } else { return ITEM_NONE; } - } else if ((item == ITEM_KEY_BOSS) || (item == ITEM_COMPASS) || (item == ITEM_DUNGEON_MAP)) { + } else if ((item == ITEM_DUNGEON_BOSS_KEY) || (item == ITEM_DUNGEON_COMPASS) || (item == ITEM_DUNGEON_MAP)) { return ITEM_NONE; - } else if (item == ITEM_KEY_SMALL) { + } else if (item == ITEM_SMALL_KEY) { return ITEM_NONE; } else if ((item >= ITEM_SLINGSHOT) && (item <= ITEM_BOMBCHU)) { return ITEM_NONE; @@ -2639,27 +2639,27 @@ u8 Item_CheckObtainability(u8 item) { } else { return 0; } - } else if ((item >= ITEM_STICK_UPGRADE_20) && (item <= ITEM_NUT_UPGRADE_40)) { + } else if ((item >= ITEM_DEKU_STICK_UPGRADE_20) && (item <= ITEM_DEKU_NUT_UPGRADE_40)) { return ITEM_NONE; - } else if ((item >= ITEM_BOMB_BAG_30) && (item <= ITEM_WALLET_GIANT)) { + } else if ((item >= ITEM_BOMB_BAG_30) && (item <= ITEM_GIANTS_WALLET)) { return ITEM_NONE; } else if (item == ITEM_LONGSHOT) { return ITEM_NONE; - } else if ((item == ITEM_SEEDS) || (item == ITEM_SEEDS_30)) { + } else if ((item == ITEM_DEKU_SEEDS) || (item == ITEM_DEKU_SEEDS_30)) { if (!Flags_GetItemGetInf(ITEMGETINF_13)) { return ITEM_NONE; } else { - return ITEM_SEEDS; + return ITEM_DEKU_SEEDS; } - } else if (item == ITEM_BEAN) { + } else if (item == ITEM_MAGIC_BEAN) { return ITEM_NONE; } else if ((item == ITEM_HEART_PIECE_2) || (item == ITEM_HEART_PIECE)) { return ITEM_NONE; } else if (item == ITEM_HEART_CONTAINER) { return ITEM_NONE; - } else if (item == ITEM_HEART) { - return ITEM_HEART; - } else if ((item == ITEM_MAGIC_SMALL) || (item == ITEM_MAGIC_LARGE)) { + } else if (item == ITEM_RECOVERY_HEART) { + return ITEM_RECOVERY_HEART; + } else if ((item == ITEM_MAGIC_JAR_SMALL) || (item == ITEM_MAGIC_JAR_BIG)) { // "Magic Pot Get_Inf_Table( 25, 0x0100)=%d" osSyncPrintf("魔法の壷 Get_Inf_Table( 25, 0x0100)=%d\n", Flags_GetInfTable(INFTABLE_198)); if (!Flags_GetInfTable(INFTABLE_198)) { @@ -2669,19 +2669,19 @@ u8 Item_CheckObtainability(u8 item) { } } else if ((item >= ITEM_RUPEE_GREEN) && (item <= ITEM_INVALID_8)) { return ITEM_NONE; - } else if (item == ITEM_BOTTLE) { + } else if (item == ITEM_BOTTLE_EMPTY) { return ITEM_NONE; - } else if (((item >= ITEM_POTION_RED) && (item <= ITEM_POE)) || (item == ITEM_MILK)) { + } else if (((item >= ITEM_BOTTLE_POTION_RED) && (item <= ITEM_BOTTLE_POE)) || (item == ITEM_MILK)) { temp = SLOT(item); - if ((item != ITEM_MILK_BOTTLE) && (item != ITEM_LETTER_RUTO)) { + if ((item != ITEM_BOTTLE_MILK_FULL) && (item != ITEM_BOTTLE_RUTOS_LETTER)) { if (item == ITEM_MILK) { - item = ITEM_MILK_BOTTLE; + item = ITEM_BOTTLE_MILK_FULL; temp = SLOT(item); } for (i = 0; i < 4; i++) { - if (gSaveContext.inventory.items[temp + i] == ITEM_BOTTLE) { + if (gSaveContext.inventory.items[temp + i] == ITEM_BOTTLE_EMPTY) { return ITEM_NONE; } } @@ -2702,7 +2702,7 @@ u8 Item_CheckObtainability(u8 item) { void Inventory_DeleteItem(u16 item, u16 invSlot) { s16 i; - if (item == ITEM_BEAN) { + if (item == ITEM_MAGIC_BEAN) { BEANS_BOUGHT = 0; } @@ -2742,13 +2742,13 @@ s32 Inventory_ReplaceItem(PlayState* play, u16 oldItem, u16 newItem) { s32 Inventory_HasEmptyBottle(void) { u8* items = gSaveContext.inventory.items; - if (items[SLOT_BOTTLE_1] == ITEM_BOTTLE) { + if (items[SLOT_BOTTLE_1] == ITEM_BOTTLE_EMPTY) { return 1; - } else if (items[SLOT_BOTTLE_2] == ITEM_BOTTLE) { + } else if (items[SLOT_BOTTLE_2] == ITEM_BOTTLE_EMPTY) { return 1; - } else if (items[SLOT_BOTTLE_3] == ITEM_BOTTLE) { + } else if (items[SLOT_BOTTLE_3] == ITEM_BOTTLE_EMPTY) { return 1; - } else if (items[SLOT_BOTTLE_4] == ITEM_BOTTLE) { + } else if (items[SLOT_BOTTLE_4] == ITEM_BOTTLE_EMPTY) { return 1; } else { return 0; @@ -2788,9 +2788,9 @@ void Inventory_UpdateBottleItem(PlayState* play, u8 item, u8 button) { gSaveContext.inventory.items[gSaveContext.equips.cButtonSlots[button - 1]]); // Special case to only empty half of a Lon Lon Milk Bottle - if ((gSaveContext.inventory.items[gSaveContext.equips.cButtonSlots[button - 1]] == ITEM_MILK_BOTTLE) && - (item == ITEM_BOTTLE)) { - item = ITEM_MILK_HALF; + if ((gSaveContext.inventory.items[gSaveContext.equips.cButtonSlots[button - 1]] == ITEM_BOTTLE_MILK_FULL) && + (item == ITEM_BOTTLE_EMPTY)) { + item = ITEM_BOTTLE_MILK_HALF; } gSaveContext.inventory.items[gSaveContext.equips.cButtonSlots[button - 1]] = item; @@ -2803,15 +2803,15 @@ void Inventory_UpdateBottleItem(PlayState* play, u8 item, u8 button) { } s32 Inventory_ConsumeFairy(PlayState* play) { - s32 bottleSlot = SLOT(ITEM_FAIRY); + s32 bottleSlot = SLOT(ITEM_BOTTLE_FAIRY); s16 i; s16 j; for (i = 0; i < 4; i++) { - if (gSaveContext.inventory.items[bottleSlot + i] == ITEM_FAIRY) { + if (gSaveContext.inventory.items[bottleSlot + i] == ITEM_BOTTLE_FAIRY) { for (j = 1; j < ARRAY_COUNT(gSaveContext.equips.buttonItems); j++) { - if (gSaveContext.equips.buttonItems[j] == ITEM_FAIRY) { - gSaveContext.equips.buttonItems[j] = ITEM_BOTTLE; + if (gSaveContext.equips.buttonItems[j] == ITEM_BOTTLE_FAIRY) { + gSaveContext.equips.buttonItems[j] = ITEM_BOTTLE_EMPTY; Interface_LoadItemIcon1(play, j); i = 0; bottleSlot = gSaveContext.equips.cButtonSlots[j - 1]; @@ -2819,7 +2819,7 @@ s32 Inventory_ConsumeFairy(PlayState* play) { } } osSyncPrintf("妖精使用=%d\n", bottleSlot); // "Fairy Usage=%d" - gSaveContext.inventory.items[bottleSlot + i] = ITEM_BOTTLE; + gSaveContext.inventory.items[bottleSlot + i] = ITEM_BOTTLE_EMPTY; return 1; } } @@ -3033,10 +3033,10 @@ void Rupees_ChangeBy(s16 rupeeChange) { void GameplayStats_UpdateAmmoUsed(s16 item, s16 ammoUsed) { switch (item) { - case ITEM_STICK: + case ITEM_DEKU_STICK: gSaveContext.sohStats.count[COUNT_AMMO_USED_STICK] += ammoUsed; break; - case ITEM_NUT: + case ITEM_DEKU_NUT: gSaveContext.sohStats.count[COUNT_AMMO_USED_NUT] += ammoUsed; break; case ITEM_BOMB: @@ -3051,7 +3051,7 @@ void GameplayStats_UpdateAmmoUsed(s16 item, s16 ammoUsed) { case ITEM_BOMBCHU: gSaveContext.sohStats.count[COUNT_AMMO_USED_BOMBCHU] += ammoUsed; break; - case ITEM_BEAN: + case ITEM_MAGIC_BEAN: gSaveContext.sohStats.count[COUNT_AMMO_USED_BEAN] += ammoUsed; break; default: @@ -3064,21 +3064,21 @@ void Inventory_ChangeAmmo(s16 item, s16 ammoChange) { // "Item = (%d) Amount = (%d + %d)" osSyncPrintf("アイテム = (%d) 数 = (%d + %d) ", item, AMMO(item), ammoChange); - if (item == ITEM_STICK) { - AMMO(ITEM_STICK) += ammoChange; + if (item == ITEM_DEKU_STICK) { + AMMO(ITEM_DEKU_STICK) += ammoChange; - if (AMMO(ITEM_STICK) >= CUR_CAPACITY(UPG_STICKS)) { - AMMO(ITEM_STICK) = CUR_CAPACITY(UPG_STICKS); - } else if (AMMO(ITEM_STICK) < 0) { - AMMO(ITEM_STICK) = 0; + if (AMMO(ITEM_DEKU_STICK) >= CUR_CAPACITY(UPG_DEKU_STICKS)) { + AMMO(ITEM_DEKU_STICK) = CUR_CAPACITY(UPG_DEKU_STICKS); + } else if (AMMO(ITEM_DEKU_STICK) < 0) { + AMMO(ITEM_DEKU_STICK) = 0; } - } else if (item == ITEM_NUT) { - AMMO(ITEM_NUT) += ammoChange; + } else if (item == ITEM_DEKU_NUT) { + AMMO(ITEM_DEKU_NUT) += ammoChange; - if (AMMO(ITEM_NUT) >= CUR_CAPACITY(UPG_NUTS)) { - AMMO(ITEM_NUT) = CUR_CAPACITY(UPG_NUTS); - } else if (AMMO(ITEM_NUT) < 0) { - AMMO(ITEM_NUT) = 0; + if (AMMO(ITEM_DEKU_NUT) >= CUR_CAPACITY(UPG_DEKU_NUTS)) { + AMMO(ITEM_DEKU_NUT) = CUR_CAPACITY(UPG_DEKU_NUTS); + } else if (AMMO(ITEM_DEKU_NUT) < 0) { + AMMO(ITEM_DEKU_NUT) = 0; } } else if (item == ITEM_BOMBCHU) { AMMO(ITEM_BOMBCHU) += ammoChange; @@ -3096,7 +3096,7 @@ void Inventory_ChangeAmmo(s16 item, s16 ammoChange) { } else if (AMMO(ITEM_BOW) < 0) { AMMO(ITEM_BOW) = 0; } - } else if ((item == ITEM_SLINGSHOT) || (item == ITEM_SEEDS)) { + } else if ((item == ITEM_SLINGSHOT) || (item == ITEM_DEKU_SEEDS)) { AMMO(ITEM_SLINGSHOT) += ammoChange; if (AMMO(ITEM_SLINGSHOT) >= CUR_CAPACITY(UPG_BULLET_BAG)) { @@ -3112,8 +3112,8 @@ void Inventory_ChangeAmmo(s16 item, s16 ammoChange) { } else if (AMMO(ITEM_BOMB) < 0) { AMMO(ITEM_BOMB) = 0; } - } else if (item == ITEM_BEAN) { - AMMO(ITEM_BEAN) += ammoChange; + } else if (item == ITEM_MAGIC_BEAN) { + AMMO(ITEM_MAGIC_BEAN) += ammoChange; } osSyncPrintf("合計 = (%d)\n", AMMO(item)); // "Total = (%d)" @@ -3377,7 +3377,7 @@ void Interface_UpdateMagicBar(PlayState* play) { (play->sceneLoadFlag == 0) && (play->transitionMode == 0) && !Play_InCsMode(play)) { bool hasLens = false; for (int buttonIndex = 1; buttonIndex < (CVarGetInteger("gDpadEquips", 0) != 0) ? ARRAY_COUNT(gSaveContext.equips.buttonItems) : 4; buttonIndex++) { - if (gSaveContext.equips.buttonItems[buttonIndex] == ITEM_LENS) { + if (gSaveContext.equips.buttonItems[buttonIndex] == ITEM_LENS_OF_TRUTH) { hasLens = true; break; } @@ -4749,11 +4749,11 @@ void Interface_DrawAmmoCount(PlayState* play, s16 button, s16 alpha) { i = gSaveContext.equips.buttonItems[button]; - if ((i == ITEM_STICK) || (i == ITEM_NUT) || (i == ITEM_BOMB) || (i == ITEM_BOW) || - ((i >= ITEM_BOW_ARROW_FIRE) && (i <= ITEM_BOW_ARROW_LIGHT)) || (i == ITEM_SLINGSHOT) || (i == ITEM_BOMBCHU) || - (i == ITEM_BEAN)) { + if ((i == ITEM_DEKU_STICK) || (i == ITEM_DEKU_NUT) || (i == ITEM_BOMB) || (i == ITEM_BOW) || + ((i >= ITEM_BOW_FIRE) && (i <= ITEM_BOW_LIGHT)) || (i == ITEM_SLINGSHOT) || (i == ITEM_BOMBCHU) || + (i == ITEM_MAGIC_BEAN)) { - if ((i >= ITEM_BOW_ARROW_FIRE) && (i <= ITEM_BOW_ARROW_LIGHT)) { + if ((i >= ITEM_BOW_FIRE) && (i <= ITEM_BOW_LIGHT)) { i = ITEM_BOW; } @@ -4773,9 +4773,9 @@ void Interface_DrawAmmoCount(PlayState* play, s16 button, s16 alpha) { } else if (((i == ITEM_BOW) && (AMMO(i) == CUR_CAPACITY(UPG_QUIVER))) || ((i == ITEM_BOMB) && (AMMO(i) == CUR_CAPACITY(UPG_BOMB_BAG))) || ((i == ITEM_SLINGSHOT) && (AMMO(i) == CUR_CAPACITY(UPG_BULLET_BAG))) || - ((i == ITEM_STICK) && (AMMO(i) == CUR_CAPACITY(UPG_STICKS))) || - ((i == ITEM_NUT) && (AMMO(i) == CUR_CAPACITY(UPG_NUTS))) || ((i == ITEM_BOMBCHU) && (ammo == 50)) || - ((i == ITEM_BEAN) && (ammo == 15))) { + ((i == ITEM_DEKU_STICK) && (AMMO(i) == CUR_CAPACITY(UPG_DEKU_STICKS))) || + ((i == ITEM_DEKU_NUT) && (AMMO(i) == CUR_CAPACITY(UPG_DEKU_NUTS))) || ((i == ITEM_BOMBCHU) && (ammo == 50)) || + ((i == ITEM_MAGIC_BEAN) && (ammo == 15))) { gDPSetPrimColor(OVERLAY_DISP++, 0, 0, 120, 255, 0, alpha); } @@ -5705,8 +5705,8 @@ void Interface_Draw(PlayState* play) { if ((gSaveContext.equips.buttonItems[0] != ITEM_SWORD_KOKIRI) && (gSaveContext.equips.buttonItems[0] != ITEM_SWORD_MASTER) && - (gSaveContext.equips.buttonItems[0] != ITEM_SWORD_BGS) && - (gSaveContext.equips.buttonItems[0] != ITEM_SWORD_KNIFE)) { + (gSaveContext.equips.buttonItems[0] != ITEM_SWORD_BIGGORON) && + (gSaveContext.equips.buttonItems[0] != ITEM_GIANTS_KNIFE)) { if (gSaveContext.buttonStatus[0] != BTN_ENABLED) { gSaveContext.equips.buttonItems[0] = gSaveContext.buttonStatus[0]; } else { @@ -6414,11 +6414,11 @@ void Interface_Update(PlayState* play) { D_80125A58 = Player_GetEnvironmentalHazard(play); if (D_80125A58 == 1) { - if (CUR_EQUIP_VALUE(EQUIP_TUNIC) == 2 || CVarGetInteger("gSuperTunic", 0) != 0) { + if (CUR_EQUIP_VALUE(EQUIP_TYPE_TUNIC) == 2 || CVarGetInteger("gSuperTunic", 0) != 0) { D_80125A58 = 0; } } else if ((Player_GetEnvironmentalHazard(play) >= 2) && (Player_GetEnvironmentalHazard(play) < 5)) { - if (CUR_EQUIP_VALUE(EQUIP_TUNIC) == 3 || CVarGetInteger("gSuperTunic", 0) != 0) { + if (CUR_EQUIP_VALUE(EQUIP_TYPE_TUNIC) == 3 || CVarGetInteger("gSuperTunic", 0) != 0) { D_80125A58 = 0; } } diff --git a/soh/src/code/z_play.c b/soh/src/code/z_play.c index fb462883419..7f5366d2fe8 100644 --- a/soh/src/code/z_play.c +++ b/soh/src/code/z_play.c @@ -654,12 +654,12 @@ void Play_Init(GameState* thisx) { Fault_AddClient(&D_801614B8, ZeldaArena_Display, NULL, NULL); // In order to keep bunny hood equipped on first load, we need to pre-set the age reqs for the item and slot if ((CVarGetInteger("gMMBunnyHood", BUNNY_HOOD_VANILLA) != BUNNY_HOOD_VANILLA && CVarGetInteger("gAdultBunnyHood", 0)) || CVarGetInteger("gTimelessEquipment", 0)) { - gItemAgeReqs[ITEM_MASK_BUNNY] = 9; - if(INV_CONTENT(ITEM_TRADE_CHILD) == ITEM_MASK_BUNNY) + gItemAgeReqs[ITEM_MASK_BUNNY_HOOD] = 9; + if(INV_CONTENT(ITEM_TRADE_CHILD) == ITEM_MASK_BUNNY_HOOD) gSlotAgeReqs[SLOT_TRADE_CHILD] = 9; } else { - gItemAgeReqs[ITEM_MASK_BUNNY] = gSlotAgeReqs[SLOT_TRADE_CHILD] = 1; + gItemAgeReqs[ITEM_MASK_BUNNY_HOOD] = gSlotAgeReqs[SLOT_TRADE_CHILD] = 1; } func_800304DC(play, &play->actorCtx, play->linkActorEntry); @@ -2317,11 +2317,11 @@ void Play_PerformSave(PlayState* play) { if (gSaveContext.temporaryWeapon) { gSaveContext.equips.buttonItems[0] = ITEM_NONE; GET_PLAYER(play)->currentSwordItemId = ITEM_NONE; - Inventory_ChangeEquipment(EQUIP_SWORD, PLAYER_SWORD_NONE); + Inventory_ChangeEquipment(EQUIP_TYPE_SWORD, PLAYER_SWORD_NONE); Save_SaveFile(); gSaveContext.equips.buttonItems[0] = ITEM_SWORD_KOKIRI; GET_PLAYER(play)->currentSwordItemId = ITEM_SWORD_KOKIRI; - Inventory_ChangeEquipment(EQUIP_SWORD, PLAYER_SWORD_KOKIRI); + Inventory_ChangeEquipment(EQUIP_TYPE_SWORD, PLAYER_SWORD_KOKIRI); } else { Save_SaveFile(); } diff --git a/soh/src/code/z_player_lib.c b/soh/src/code/z_player_lib.c index 32a3e6e48a0..378468ddb53 100644 --- a/soh/src/code/z_player_lib.c +++ b/soh/src/code/z_player_lib.c @@ -435,9 +435,9 @@ void func_8008EC70(Player* this) { void Player_SetEquipmentData(PlayState* play, Player* this) { if (this->csMode != 0x56) { - this->currentShield = CUR_EQUIP_VALUE(EQUIP_SHIELD); - this->currentTunic = CUR_EQUIP_VALUE(EQUIP_TUNIC) - 1; - this->currentBoots = CUR_EQUIP_VALUE(EQUIP_BOOTS) - 1; + this->currentShield = CUR_EQUIP_VALUE(EQUIP_TYPE_SHIELD); + this->currentTunic = CUR_EQUIP_VALUE(EQUIP_TYPE_TUNIC) - 1; + this->currentBoots = CUR_EQUIP_VALUE(EQUIP_TYPE_BOOTS) - 1; this->currentSwordItemId = B_BTN_ITEM; Player_SetModelGroup(this, Player_ActionToModelGroup(this, this->heldItemAction)); Player_SetBootData(play, this); @@ -447,7 +447,7 @@ void Player_SetEquipmentData(PlayState* play, Player* this) { void Player_UpdateBottleHeld(PlayState* play, Player* this, s32 item, s32 actionParam) { Inventory_UpdateBottleItem(play, item, this->heldItemButton); - if (item != ITEM_BOTTLE) { + if (item != ITEM_BOTTLE_EMPTY) { this->heldItemId = item; this->heldItemAction = actionParam; } @@ -1874,11 +1874,11 @@ void Player_DrawPause(PlayState* play, u8* segment, SkelAnime* skelAnime, Vec3f* if (CVarGetInteger("gPauseLiveLink", 0) || CVarGetInteger("gPauseTriforce", 0)) { uintptr_t anim = 0; // Initialise anim - if (CUR_EQUIP_VALUE(EQUIP_SWORD) >= 3) { + if (CUR_EQUIP_VALUE(EQUIP_TYPE_SWORD) >= 3) { EquipedStance = 1; - } else if (CUR_EQUIP_VALUE(EQUIP_SHIELD) == 0) { + } else if (CUR_EQUIP_VALUE(EQUIP_TYPE_SHIELD) == 0) { EquipedStance = 2; - } else if (CUR_EQUIP_VALUE(EQUIP_SHIELD) == 2 && LINK_AGE_IN_YEARS == YEARS_CHILD) { + } else if (CUR_EQUIP_VALUE(EQUIP_TYPE_SHIELD) == 2 && LINK_AGE_IN_YEARS == YEARS_CHILD) { EquipedStance = 3; } else { // Link is idle so revert to 0 @@ -1949,8 +1949,8 @@ void Player_DrawPause(PlayState* play, u8* segment, SkelAnime* skelAnime, Vec3f* if (FrameCountSinceLastAnim >= SwitchAtFrame) { LastAnim = SelectedAnim; if (LastAnim==1) { - if ((CUR_EQUIP_VALUE(EQUIP_SWORD)!=PLAYER_SWORD_NONE) && (CUR_EQUIP_VALUE(EQUIP_SHIELD)!= PLAYER_SHIELD_NONE)) { // if the player has a sword and shield equipped - if ((LINK_AGE_IN_YEARS == YEARS_ADULT) || (CUR_EQUIP_VALUE(EQUIP_SHIELD) == PLAYER_SHIELD_DEKU)) { // if he's an adult or a kid with the deku shield + if ((CUR_EQUIP_VALUE(EQUIP_TYPE_SWORD)!=PLAYER_SWORD_NONE) && (CUR_EQUIP_VALUE(EQUIP_TYPE_SHIELD)!= PLAYER_SHIELD_NONE)) { // if the player has a sword and shield equipped + if ((LINK_AGE_IN_YEARS == YEARS_ADULT) || (CUR_EQUIP_VALUE(EQUIP_TYPE_SHIELD) == PLAYER_SHIELD_DEKU)) { // if he's an adult or a kid with the deku shield SelectedAnim = (rand() % (6 - 2 + 1)) + 2; // select any 5 animations that aren't the default standing anim } else { //else if he's a child with a shield that isn't the deku shield s16 randval = (rand() % (5 - 2 + 1)) + 2; // 4 animations @@ -1960,15 +1960,15 @@ void Player_DrawPause(PlayState* play, u8* segment, SkelAnime* skelAnime, Vec3f* SelectedAnim=randval; } } - } else if ((CUR_EQUIP_VALUE(EQUIP_SWORD) != PLAYER_SWORD_NONE) && (CUR_EQUIP_VALUE(EQUIP_SHIELD)==PLAYER_SHIELD_NONE)) { // if the player has a sword equipped but no shield + } else if ((CUR_EQUIP_VALUE(EQUIP_TYPE_SWORD) != PLAYER_SWORD_NONE) && (CUR_EQUIP_VALUE(EQUIP_TYPE_SHIELD)==PLAYER_SHIELD_NONE)) { // if the player has a sword equipped but no shield s16 randval = (rand() % (5 - 2 + 1)) + 2; // 4 animations if (randval==4) { //if its the shield anim SelectedAnim==6; // set to yawn anim } else { SelectedAnim=randval; } - } else if ((CUR_EQUIP_VALUE(EQUIP_SWORD) == PLAYER_SWORD_NONE) && (CUR_EQUIP_VALUE(EQUIP_SHIELD)!=PLAYER_SHIELD_NONE)) { //if the player has a shield equipped but no sword - if ((LINK_AGE_IN_YEARS == YEARS_ADULT) || (CUR_EQUIP_VALUE(EQUIP_SHIELD) == PLAYER_SHIELD_DEKU)) {// if he's an adult or a kid with the deku shield + } else if ((CUR_EQUIP_VALUE(EQUIP_TYPE_SWORD) == PLAYER_SWORD_NONE) && (CUR_EQUIP_VALUE(EQUIP_TYPE_SHIELD)!=PLAYER_SHIELD_NONE)) { //if the player has a shield equipped but no sword + if ((LINK_AGE_IN_YEARS == YEARS_ADULT) || (CUR_EQUIP_VALUE(EQUIP_TYPE_SHIELD) == PLAYER_SHIELD_DEKU)) {// if he's an adult or a kid with the deku shield s16 randval = (rand() % (5 - 2 + 1)) + 2; // 4 animations if (randval==5) { //if its the sword anim SelectedAnim==6; // set to yawn anim @@ -1983,7 +1983,7 @@ void Player_DrawPause(PlayState* play, u8* segment, SkelAnime* skelAnime, Vec3f* SelectedAnim=randval; } } - } else if ((CUR_EQUIP_VALUE(EQUIP_SWORD) == PLAYER_SWORD_NONE) && (CUR_EQUIP_VALUE(EQUIP_SHIELD)==PLAYER_SHIELD_NONE)) { // if the player has no sword or shield equipped + } else if ((CUR_EQUIP_VALUE(EQUIP_TYPE_SWORD) == PLAYER_SWORD_NONE) && (CUR_EQUIP_VALUE(EQUIP_TYPE_SHIELD)==PLAYER_SHIELD_NONE)) { // if the player has no sword or shield equipped s16 randval = (rand() % (4 - 2 + 1)) + 2; // 3 animations if (randval==4) { //if its the shield anim SelectedAnim==6; // set to yawn anim diff --git a/soh/src/code/z_sram.c b/soh/src/code/z_sram.c index 1612c0fdcb5..fe5a31711c3 100644 --- a/soh/src/code/z_sram.c +++ b/soh/src/code/z_sram.c @@ -159,18 +159,18 @@ void Sram_OpenSave() { i = gSaveContext.eventChkInf[4] & ~1; gSaveContext.eventChkInf[4] = i; - INV_CONTENT(ITEM_LETTER_ZELDA) = ITEM_CHICKEN; + INV_CONTENT(ITEM_ZELDAS_LETTER) = ITEM_CHICKEN; for (j = 1; j < ARRAY_COUNT(gSaveContext.equips.buttonItems); j++) { - if (gSaveContext.equips.buttonItems[j] == ITEM_LETTER_ZELDA) { + if (gSaveContext.equips.buttonItems[j] == ITEM_ZELDAS_LETTER) { gSaveContext.equips.buttonItems[j] = ITEM_CHICKEN; } } } // check for owning kokiri sword.. to restore master sword? bug or debug feature? - if (LINK_AGE_IN_YEARS == YEARS_ADULT && !CHECK_OWNED_EQUIP(EQUIP_SWORD, 1)) { - gSaveContext.inventory.equipment |= gBitFlags[1] << gEquipShifts[EQUIP_SWORD]; + if (LINK_AGE_IN_YEARS == YEARS_ADULT && !CHECK_OWNED_EQUIP(EQUIP_TYPE_SWORD, 1)) { + gSaveContext.inventory.equipment |= gBitFlags[1] << gEquipShifts[EQUIP_TYPE_SWORD]; gSaveContext.equips.buttonItems[0] = ITEM_SWORD_MASTER; gSaveContext.equips.equipment &= ~0xF; gSaveContext.equips.equipment |= 2; diff --git a/soh/src/elf_message/elf_message_field.c b/soh/src/elf_message/elf_message_field.c index fe1e8ee97e5..c283d110d09 100644 --- a/soh/src/elf_message/elf_message_field.c +++ b/soh/src/elf_message/elf_message_field.c @@ -22,7 +22,7 @@ ElfMessage gOverworldNaviMsgs[] = { ELF_MSG_BOOTS(CHECK, 0x52, false, ITEM_BOOTS_IRON), ELF_MSG_MEDALLION(CHECK, 0x53, false, ITEM_MEDALLION_WATER), ELF_MSG_FLAG(CHECK, 0x54, false, 0xAA), /* eventChkInf[10] & 0x400 */ - ELF_MSG_ITEM(CHECK, 0x55, true, ITEM_LENS, ITEM_NONE), + ELF_MSG_ITEM(CHECK, 0x55, true, ITEM_LENS_OF_TRUTH, ITEM_NONE), ELF_MSG_MEDALLION(CHECK, 0x57, false, ITEM_MEDALLION_SHADOW), ELF_MSG_SONG(CHECK, 0x58, false, ITEM_SONG_REQUIEM), ELF_MSG_STRENGTH_UPG(CHECK, 0x56, true, 1), diff --git a/soh/src/overlays/actors/ovl_Bg_Toki_Swd/z_bg_toki_swd.c b/soh/src/overlays/actors/ovl_Bg_Toki_Swd/z_bg_toki_swd.c index 7680adb6f08..a5f25fdf1b5 100644 --- a/soh/src/overlays/actors/ovl_Bg_Toki_Swd/z_bg_toki_swd.c +++ b/soh/src/overlays/actors/ovl_Bg_Toki_Swd/z_bg_toki_swd.c @@ -91,7 +91,7 @@ void BgTokiSwd_Init(Actor* thisx, PlayState* play) { Player* player = GET_PLAYER(gPlayState); player->currentSwordItemId = ITEM_NONE; gSaveContext.equips.buttonItems[0] = ITEM_NONE; - Inventory_ChangeEquipment(EQUIP_SWORD, PLAYER_SWORD_NONE); + Inventory_ChangeEquipment(EQUIP_TYPE_SWORD, PLAYER_SWORD_NONE); } } diff --git a/soh/src/overlays/actors/ovl_Door_Shutter/z_door_shutter.c b/soh/src/overlays/actors/ovl_Door_Shutter/z_door_shutter.c index 290e809f6bd..668834723d7 100644 --- a/soh/src/overlays/actors/ovl_Door_Shutter/z_door_shutter.c +++ b/soh/src/overlays/actors/ovl_Door_Shutter/z_door_shutter.c @@ -388,7 +388,7 @@ void func_80996B0C(DoorShutter* this, PlayState* play) { if (this->unk_16E != 0) { if (this->doorType == SHUTTER_BOSS) { - if (!CHECK_DUNGEON_ITEM(DUNGEON_KEY_BOSS, gSaveContext.mapIndex)) { + if (!CHECK_DUNGEON_ITEM(DUNGEON_BOSS_KEY, gSaveContext.mapIndex)) { player->naviTextId = -0x204; return; } diff --git a/soh/src/overlays/actors/ovl_En_Box/z_en_box.c b/soh/src/overlays/actors/ovl_En_Box/z_en_box.c index 1e2c4d6cd59..76f7434f514 100644 --- a/soh/src/overlays/actors/ovl_En_Box/z_en_box.c +++ b/soh/src/overlays/actors/ovl_En_Box/z_en_box.c @@ -652,7 +652,7 @@ void EnBox_UpdateSizeAndTexture(EnBox* this, PlayState* play) { // If it's a bottle and they already have one, consider the item lesser } else if ( (this->getItemEntry.modIndex == MOD_RANDOMIZER && this->getItemEntry.getItemId >= RG_BOTTLE_WITH_RED_POTION && this->getItemEntry.getItemId <= RG_BOTTLE_WITH_BIG_POE) || - (this->getItemEntry.modIndex == MOD_NONE && (this->getItemEntry.getItemId == GI_BOTTLE || this->getItemEntry.getItemId == GI_MILK_BOTTLE)) + (this->getItemEntry.modIndex == MOD_NONE && (this->getItemEntry.getItemId == GI_BOTTLE_EMPTY || this->getItemEntry.getItemId == GI_BOTTLE_MILK_FULL)) ) { if (gSaveContext.inventory.items[SLOT_BOTTLE_1] != ITEM_NONE) { getItemCategory = ITEM_CATEGORY_LESSER; diff --git a/soh/src/overlays/actors/ovl_En_Dekubaba/z_en_dekubaba.c b/soh/src/overlays/actors/ovl_En_Dekubaba/z_en_dekubaba.c index 2b4344f68ce..066ce555295 100644 --- a/soh/src/overlays/actors/ovl_En_Dekubaba/z_en_dekubaba.c +++ b/soh/src/overlays/actors/ovl_En_Dekubaba/z_en_dekubaba.c @@ -1028,7 +1028,7 @@ void EnDekubaba_DeadStickDrop(EnDekubaba* this, PlayState* play) { return; } - func_8002F554(&this->actor, play, GI_STICKS_1); + func_8002F554(&this->actor, play, GI_DEKU_STICKS_1); } // Update and associated functions diff --git a/soh/src/overlays/actors/ovl_En_Dns/z_en_dns.c b/soh/src/overlays/actors/ovl_En_Dns/z_en_dns.c index 85d47753a31..347ece528e9 100644 --- a/soh/src/overlays/actors/ovl_En_Dns/z_en_dns.c +++ b/soh/src/overlays/actors/ovl_En_Dns/z_en_dns.c @@ -91,27 +91,27 @@ static char* D_809F0424[] = { "緑のくすり売り ", "デクの棒持てる数を増やす", "デクの実持てる数を増やす", }; -static DnsItemEntry D_809F0450 = { 20, 5, GI_NUTS_5_2, func_809EF5A4, func_809EFA28 }; +static DnsItemEntry D_809F0450 = { 20, 5, GI_DEKU_NUTS_5_2, func_809EF5A4, func_809EFA28 }; -static DnsItemEntry D_809F0460 = { 15, 1, GI_STICKS_1, func_809EF658, func_809EF9F8 }; +static DnsItemEntry D_809F0460 = { 15, 1, GI_DEKU_STICKS_1, func_809EF658, func_809EF9F8 }; static DnsItemEntry D_809F0470 = { 10, 1, GI_HEART_PIECE, func_809EF70C, func_809EFA58 }; -static DnsItemEntry D_809F0480 = { 40, 30, GI_SEEDS_30, func_809EF73C, func_809EF9F8 }; +static DnsItemEntry D_809F0480 = { 40, 30, GI_DEKU_SEEDS_30, func_809EF73C, func_809EF9F8 }; static DnsItemEntry D_809F0490 = { 50, 1, GI_SHIELD_DEKU, func_809EF800, func_809EF9F8 }; static DnsItemEntry D_809F04A0 = { 40, 5, GI_BOMBS_5, func_809EF854, func_809EFA9C }; -static DnsItemEntry D_809F04B0 = { 70, 20, GI_ARROWS_LARGE, func_809EF8F4, func_809EFACC }; +static DnsItemEntry D_809F04B0 = { 70, 20, GI_ARROWS_30, func_809EF8F4, func_809EFACC }; -static DnsItemEntry D_809F04C0 = { 40, 1, GI_POTION_RED, func_809EF9A4, func_809EF9F8 }; +static DnsItemEntry D_809F04C0 = { 40, 1, GI_BOTTLE_POTION_RED, func_809EF9A4, func_809EF9F8 }; -static DnsItemEntry D_809F04D0 = { 40, 1, GI_POTION_GREEN, func_809EF9A4, func_809EF9F8 }; +static DnsItemEntry D_809F04D0 = { 40, 1, GI_BOTTLE_POTION_GREEN, func_809EF9A4, func_809EF9F8 }; -static DnsItemEntry D_809F04E0 = { 40, 1, GI_STICK_UPGRADE_20, func_809EF70C, func_809EFAFC }; +static DnsItemEntry D_809F04E0 = { 40, 1, GI_DEKU_STICK_UPGRADE_20, func_809EF70C, func_809EFAFC }; -static DnsItemEntry D_809F04F0 = { 40, 1, GI_NUT_UPGRADE_30, func_809EF70C, func_809EFB40 }; +static DnsItemEntry D_809F04F0 = { 40, 1, GI_DEKU_NUT_UPGRADE_30, func_809EF70C, func_809EFB40 }; static DnsItemEntry* sItemEntries[] = { &D_809F0450, &D_809F0460, &D_809F0470, &D_809F0480, &D_809F0490, &D_809F04A0, @@ -224,26 +224,26 @@ u32 EnDns_RandomizerPurchaseableCheck(EnDns* this) { } u32 func_809EF5A4(EnDns* this) { - if ((CUR_CAPACITY(UPG_NUTS) != 0) && (AMMO(ITEM_NUT) >= CUR_CAPACITY(UPG_NUTS))) { + if ((CUR_CAPACITY(UPG_DEKU_NUTS) != 0) && (AMMO(ITEM_DEKU_NUT) >= CUR_CAPACITY(UPG_DEKU_NUTS))) { return 1; } if (gSaveContext.rupees < this->dnsItemEntry->itemPrice) { return 0; } - if (Item_CheckObtainability(ITEM_NUT) == ITEM_NONE) { + if (Item_CheckObtainability(ITEM_DEKU_NUT) == ITEM_NONE) { return 2; } return 4; } u32 func_809EF658(EnDns* this) { - if ((CUR_CAPACITY(UPG_STICKS) != 0) && (AMMO(ITEM_STICK) >= CUR_CAPACITY(UPG_STICKS))) { + if ((CUR_CAPACITY(UPG_DEKU_STICKS) != 0) && (AMMO(ITEM_DEKU_STICK) >= CUR_CAPACITY(UPG_DEKU_STICKS))) { return 1; } if (gSaveContext.rupees < this->dnsItemEntry->itemPrice) { return 0; } - if (Item_CheckObtainability(ITEM_STICK) == ITEM_NONE) { + if (Item_CheckObtainability(ITEM_DEKU_STICK) == ITEM_NONE) { return 2; } return 4; @@ -266,7 +266,7 @@ u32 func_809EF73C(EnDns* this) { if (gSaveContext.rupees < this->dnsItemEntry->itemPrice) { return 0; } - if (Item_CheckObtainability(ITEM_SEEDS) == ITEM_NONE) { + if (Item_CheckObtainability(ITEM_DEKU_SEEDS) == ITEM_NONE) { return 2; } return 4; @@ -414,16 +414,16 @@ void func_809EFDD0(EnDns* this, PlayState* play) { u16 pendingGetItemId; if (!IS_RANDO || !this->scrubIdentity.isShuffled) { if (this->actor.params == 0x9) { - if (CUR_UPG_VALUE(UPG_STICKS) < 2) { - pendingGetItemId = GI_STICK_UPGRADE_20; + if (CUR_UPG_VALUE(UPG_DEKU_STICKS) < 2) { + pendingGetItemId = GI_DEKU_STICK_UPGRADE_20; } else { - pendingGetItemId = GI_STICK_UPGRADE_30; + pendingGetItemId = GI_DEKU_STICK_UPGRADE_30; } } else if (this->actor.params == 0xA) { - if (CUR_UPG_VALUE(UPG_NUTS) < 2) { - pendingGetItemId = GI_NUT_UPGRADE_30; + if (CUR_UPG_VALUE(UPG_DEKU_NUTS) < 2) { + pendingGetItemId = GI_DEKU_NUT_UPGRADE_30; } else { - pendingGetItemId = GI_NUT_UPGRADE_40; + pendingGetItemId = GI_DEKU_NUT_UPGRADE_40; } } else { pendingGetItemId = this->dnsItemEntry->getItemId; diff --git a/soh/src/overlays/actors/ovl_En_Dnt_Demo/z_en_dnt_demo.c b/soh/src/overlays/actors/ovl_En_Dnt_Demo/z_en_dnt_demo.c index eb9942fba76..f36f370d1e6 100644 --- a/soh/src/overlays/actors/ovl_En_Dnt_Demo/z_en_dnt_demo.c +++ b/soh/src/overlays/actors/ovl_En_Dnt_Demo/z_en_dnt_demo.c @@ -140,7 +140,7 @@ void EnDntDemo_Judge(EnDntDemo* this, PlayState* play) { switch (Player_GetMask(play)) { case PLAYER_MASK_SKULL: if (!Flags_GetTreasure(play, 0x1F) && !Player_InBlockingCsMode(play, player)) { - GetItemEntry getItemEntry = Randomizer_GetItemFromKnownCheck(RC_DEKU_THEATER_SKULL_MASK, GI_STICK_UPGRADE_30); + GetItemEntry getItemEntry = Randomizer_GetItemFromKnownCheck(RC_DEKU_THEATER_SKULL_MASK, GI_DEKU_STICK_UPGRADE_30); GiveItemEntryWithoutActor(play, getItemEntry); player->pendingFlag.flagID = 0x1F; player->pendingFlag.flagType = FLAG_SCENE_TREASURE; @@ -148,7 +148,7 @@ void EnDntDemo_Judge(EnDntDemo* this, PlayState* play) { break; case PLAYER_MASK_TRUTH: if (!Flags_GetTreasure(play, 0x1E) && !Player_InBlockingCsMode(play, player)) { - GetItemEntry getItemEntry = Randomizer_GetItemFromKnownCheck(RC_DEKU_THEATER_MASK_OF_TRUTH, GI_NUT_UPGRADE_40); + GetItemEntry getItemEntry = Randomizer_GetItemFromKnownCheck(RC_DEKU_THEATER_MASK_OF_TRUTH, GI_DEKU_NUT_UPGRADE_40); GiveItemEntryWithoutActor(play, getItemEntry); player->pendingFlag.flagID = 0x1E; player->pendingFlag.flagType = FLAG_SCENE_TREASURE; diff --git a/soh/src/overlays/actors/ovl_En_Dnt_Jiji/z_en_dnt_jiji.c b/soh/src/overlays/actors/ovl_En_Dnt_Jiji/z_en_dnt_jiji.c index ae09cb4384d..d1167d6cced 100644 --- a/soh/src/overlays/actors/ovl_En_Dnt_Jiji/z_en_dnt_jiji.c +++ b/soh/src/overlays/actors/ovl_En_Dnt_Jiji/z_en_dnt_jiji.c @@ -188,10 +188,10 @@ void EnDntJiji_Walk(EnDntJiji* this, PlayState* play) { this->actor.speedXZ = 3.0f; } if (this->actor.xzDistToPlayer < 100.0f) { - if (CUR_UPG_VALUE(UPG_STICKS) == 1) { - this->getItemId = GI_STICK_UPGRADE_20; + if (CUR_UPG_VALUE(UPG_DEKU_STICKS) == 1) { + this->getItemId = GI_DEKU_STICK_UPGRADE_20; } else { - this->getItemId = GI_STICK_UPGRADE_30; + this->getItemId = GI_DEKU_STICK_UPGRADE_30; } this->actor.textId = 0x104D; Message_StartTextbox(play, this->actor.textId, NULL); @@ -220,10 +220,10 @@ void EnDntJiji_SetupCower(EnDntJiji* this, PlayState* play) { EffectSsHahen_SpawnBurst(play, &this->actor.world.pos, 3.0f, 0, 9, 3, 10, HAHEN_OBJECT_DEFAULT, 10, NULL); Audio_PlayActorSound2(&this->actor, NA_SE_EN_NUTS_UP); - if ((CUR_UPG_VALUE(UPG_NUTS) == 1) || (CUR_UPG_VALUE(UPG_NUTS) == 0)) { - this->getItemId = GI_NUT_UPGRADE_30; + if ((CUR_UPG_VALUE(UPG_DEKU_NUTS) == 1) || (CUR_UPG_VALUE(UPG_DEKU_NUTS) == 0)) { + this->getItemId = GI_DEKU_NUT_UPGRADE_30; } else { - this->getItemId = GI_NUT_UPGRADE_40; + this->getItemId = GI_DEKU_NUT_UPGRADE_40; } this->actor.flags |= ACTOR_FLAG_TARGETABLE; this->actor.textId = 0x10DB; @@ -276,7 +276,7 @@ void EnDntJiji_SetupGivePrize(EnDntJiji* this, PlayState* play) { void EnDntJiji_GivePrize(EnDntJiji* this, PlayState* play) { SkelAnime_Update(&this->skelAnime); if ((Message_GetState(&play->msgCtx) == TEXT_STATE_DONE) && Message_ShouldAdvance(play)) { - if ((this->getItemId == GI_NUT_UPGRADE_30) || (this->getItemId == GI_NUT_UPGRADE_40)) { + if ((this->getItemId == GI_DEKU_NUT_UPGRADE_30) || (this->getItemId == GI_DEKU_NUT_UPGRADE_40)) { // "nut" osSyncPrintf("実 \n"); osSyncPrintf("実 \n"); diff --git a/soh/src/overlays/actors/ovl_En_Ds/z_en_ds.c b/soh/src/overlays/actors/ovl_En_Ds/z_en_ds.c index 6da75b1e783..d40fec3c750 100644 --- a/soh/src/overlays/actors/ovl_En_Ds/z_en_ds.c +++ b/soh/src/overlays/actors/ovl_En_Ds/z_en_ds.c @@ -206,10 +206,10 @@ void EnDs_GiveBluePotion(EnDs* this, PlayState* play) { this->actionFunc = EnDs_Talk; } else { if (EnDs_RandoCanGetGrannyItem()) { - GetItemEntry entry = Randomizer_GetItemFromKnownCheck(RC_KAK_GRANNYS_SHOP, GI_POTION_BLUE); + GetItemEntry entry = Randomizer_GetItemFromKnownCheck(RC_KAK_GRANNYS_SHOP, GI_BOTTLE_POTION_BLUE); GiveItemEntryFromActor(&this->actor, play, entry, 10000.0f, 50.0f); } else { - func_8002F434(&this->actor, play, GI_POTION_BLUE, 10000.0f, 50.0f); + func_8002F434(&this->actor, play, GI_BOTTLE_POTION_BLUE, 10000.0f, 50.0f); } } } @@ -232,11 +232,11 @@ void EnDs_OfferBluePotion(EnDs* this, PlayState* play) { GetItemEntry itemEntry; if (EnDs_RandoCanGetGrannyItem()) { - itemEntry = Randomizer_GetItemFromKnownCheck(RC_KAK_GRANNYS_SHOP, GI_POTION_BLUE); + itemEntry = Randomizer_GetItemFromKnownCheck(RC_KAK_GRANNYS_SHOP, GI_BOTTLE_POTION_BLUE); GiveItemEntryFromActor(&this->actor, play, itemEntry, 10000.0f, 50.0f); } else { - itemEntry = ItemTable_Retrieve(GI_POTION_BLUE); - func_8002F434(&this->actor, play, GI_POTION_BLUE, 10000.0f, 50.0f); + itemEntry = ItemTable_Retrieve(GI_BOTTLE_POTION_BLUE); + func_8002F434(&this->actor, play, GI_BOTTLE_POTION_BLUE, 10000.0f, 50.0f); } gSaveContext.pendingSale = itemEntry.itemId; diff --git a/soh/src/overlays/actors/ovl_En_Du/z_en_du.c b/soh/src/overlays/actors/ovl_En_Du/z_en_du.c index acd64e308fc..06db7fc4690 100644 --- a/soh/src/overlays/actors/ovl_En_Du/z_en_du.c +++ b/soh/src/overlays/actors/ovl_En_Du/z_en_du.c @@ -549,9 +549,9 @@ void func_809FEC70(EnDu* this, PlayState* play) { } else { f32 xzRange = this->actor.xzDistToPlayer + 1.0f; if (!IS_RANDO) { - func_8002F434(&this->actor, play, GI_BRACELET, xzRange, fabsf(this->actor.yDistToPlayer) + 1.0f); + func_8002F434(&this->actor, play, GI_GORONS_BRACELET, xzRange, fabsf(this->actor.yDistToPlayer) + 1.0f); } else { - GetItemEntry getItemEntry = Randomizer_GetItemFromKnownCheck(RC_GC_DARUNIAS_JOY, GI_BRACELET); + GetItemEntry getItemEntry = Randomizer_GetItemFromKnownCheck(RC_GC_DARUNIAS_JOY, GI_GORONS_BRACELET); GiveItemEntryFromActor(&this->actor, play, getItemEntry, xzRange, fabsf(this->actor.yDistToPlayer) + 1.0f); } } diff --git a/soh/src/overlays/actors/ovl_En_Gb/z_en_gb.c b/soh/src/overlays/actors/ovl_En_Gb/z_en_gb.c index 53c14902648..0340c8ff779 100644 --- a/soh/src/overlays/actors/ovl_En_Gb/z_en_gb.c +++ b/soh/src/overlays/actors/ovl_En_Gb/z_en_gb.c @@ -290,11 +290,11 @@ void func_80A2F83C(EnGb* this, PlayState* play) { func_80A2F180(this); this->actionFunc = func_80A2F94C; break; - case EXCH_ITEM_POE: + case EXCH_ITEM_BOTTLE_POE: player->actor.textId = 0x70F6; this->actionFunc = func_80A2F9C0; break; - case EXCH_ITEM_BIG_POE: + case EXCH_ITEM_BOTTLE_BIG_POE: player->actor.textId = 0x70F7; this->actionFunc = func_80A2FA50; break; @@ -302,7 +302,7 @@ void func_80A2F83C(EnGb* this, PlayState* play) { return; } if (this->dyna.actor.xzDistToPlayer < 100.0f) { - func_8002F298(&this->dyna.actor, play, 100.0f, EXCH_ITEM_POE); + func_8002F298(&this->dyna.actor, play, 100.0f, EXCH_ITEM_BOTTLE_POE); } } @@ -322,7 +322,7 @@ void func_80A2F9C0(EnGb* this, PlayState* play) { Flags_SetInfTable(INFTABLE_SPOKE_TO_POE_COLLECTOR_IN_RUINED_MARKET); } func_80A2F180(this); - Player_UpdateBottleHeld(play, GET_PLAYER(play), ITEM_BOTTLE, PLAYER_IA_BOTTLE); + Player_UpdateBottleHeld(play, GET_PLAYER(play), ITEM_BOTTLE_EMPTY, PLAYER_IA_BOTTLE); Rupees_ChangeBy(10); this->actionFunc = func_80A2F83C; } @@ -334,7 +334,7 @@ void func_80A2FA50(EnGb* this, PlayState* play) { Flags_SetInfTable(INFTABLE_SPOKE_TO_POE_COLLECTOR_IN_RUINED_MARKET); } func_80A2F180(this); - Player_UpdateBottleHeld(play, GET_PLAYER(play), ITEM_BOTTLE, PLAYER_IA_BOTTLE); + Player_UpdateBottleHeld(play, GET_PLAYER(play), ITEM_BOTTLE_EMPTY, PLAYER_IA_BOTTLE); Rupees_ChangeBy(50); HIGH_SCORE(HS_POE_POINTS) += 100; if ( @@ -360,9 +360,9 @@ void func_80A2FA50(EnGb* this, PlayState* play) { void func_80A2FB40(EnGb* this, PlayState* play) { if (Message_GetState(&play->msgCtx) == TEXT_STATE_DONE && Message_ShouldAdvance(play)) { if (!IS_RANDO) { - func_8002F434(&this->dyna.actor, play, GI_BOTTLE, 100.0f, 10.0f); + func_8002F434(&this->dyna.actor, play, GI_BOTTLE_EMPTY, 100.0f, 10.0f); } else { - GetItemEntry getItemEntry = Randomizer_GetItemFromKnownCheck(RC_MARKET_10_BIG_POES, GI_BOTTLE); + GetItemEntry getItemEntry = Randomizer_GetItemFromKnownCheck(RC_MARKET_10_BIG_POES, GI_BOTTLE_EMPTY); GiveItemEntryFromActor(&this->dyna.actor, play, getItemEntry, 100.0f, 10.0f); } this->actionFunc = func_80A2FBB0; @@ -375,9 +375,9 @@ void func_80A2FBB0(EnGb* this, PlayState* play) { this->actionFunc = func_80A2FC0C; } else { if (!IS_RANDO) { - func_8002F434(&this->dyna.actor, play, GI_BOTTLE, 100.0f, 10.0f); + func_8002F434(&this->dyna.actor, play, GI_BOTTLE_EMPTY, 100.0f, 10.0f); } else { - GetItemEntry getItemEntry = Randomizer_GetItemFromKnownCheck(RC_MARKET_10_BIG_POES, GI_BOTTLE); + GetItemEntry getItemEntry = Randomizer_GetItemFromKnownCheck(RC_MARKET_10_BIG_POES, GI_BOTTLE_EMPTY); GiveItemEntryFromActor(&this->dyna.actor, play, getItemEntry, 100.0f, 10.0f); } } diff --git a/soh/src/overlays/actors/ovl_En_Ge1/z_en_ge1.c b/soh/src/overlays/actors/ovl_En_Ge1/z_en_ge1.c index 813ed937341..5762674398f 100644 --- a/soh/src/overlays/actors/ovl_En_Ge1/z_en_ge1.c +++ b/soh/src/overlays/actors/ovl_En_Ge1/z_en_ge1.c @@ -236,7 +236,7 @@ void EnGe1_SetAnimationIdle(EnGe1* this) { s32 EnGe1_CheckCarpentersFreed(void) { if (IS_RANDO) { - if (CHECK_QUEST_ITEM(QUEST_GERUDO_CARD)) { + if (CHECK_QUEST_ITEM(QUEST_GERUDOS_CARD)) { return 1; } else { return 0; @@ -427,7 +427,7 @@ void EnGe1_RefuseOpenNoCard_GTGGuard(EnGe1* this, PlayState* play) { } void EnGe1_CheckForCard_GTGGuard(EnGe1* this, PlayState* play) { - if (CHECK_QUEST_ITEM(QUEST_GERUDO_CARD)) { + if (CHECK_QUEST_ITEM(QUEST_GERUDOS_CARD)) { EnGe1_SetTalkAction(this, play, 0x6014, 100.0f, EnGe1_OfferOpen_GTGGuard); } else { //! @bug This outcome is inaccessible in normal gameplay since this function it is unreachable without diff --git a/soh/src/overlays/actors/ovl_En_Ge2/z_en_ge2.c b/soh/src/overlays/actors/ovl_En_Ge2/z_en_ge2.c index eba22b432be..e2ffe0593ab 100644 --- a/soh/src/overlays/actors/ovl_En_Ge2/z_en_ge2.c +++ b/soh/src/overlays/actors/ovl_En_Ge2/z_en_ge2.c @@ -228,7 +228,7 @@ s32 Ge2_DetectPlayerInUpdate(PlayState* play, EnGe2* this, Vec3f* pos, s16 yRot, s32 EnGe2_CheckCarpentersFreed(void) { if (IS_RANDO) { - if (CHECK_QUEST_ITEM(QUEST_GERUDO_CARD)) { + if (CHECK_QUEST_ITEM(QUEST_GERUDOS_CARD)) { return 1; } else { return 0; @@ -472,9 +472,9 @@ void EnGe2_WaitTillCardGiven(EnGe2* this, PlayState* play) { this->actionFunc = EnGe2_SetActionAfterTalk; } else { if (!IS_RANDO) { - func_8002F434(&this->actor, play, GI_GERUDO_CARD, 10000.0f, 50.0f); + func_8002F434(&this->actor, play, GI_GERUDOS_CARD, 10000.0f, 50.0f); } else { - GetItemEntry getItemEntry = Randomizer_GetItemFromKnownCheck(RC_GF_GERUDO_MEMBERSHIP_CARD, GI_GERUDO_CARD); + GetItemEntry getItemEntry = Randomizer_GetItemFromKnownCheck(RC_GF_GERUDO_MEMBERSHIP_CARD, GI_GERUDOS_CARD); GiveItemEntryFromActor(&this->actor, play, getItemEntry, 10000.0f, 50.0f); } } @@ -486,9 +486,9 @@ void EnGe2_GiveCard(EnGe2* this, PlayState* play) { this->actor.flags &= ~ACTOR_FLAG_WILL_TALK; this->actionFunc = EnGe2_WaitTillCardGiven; if (!IS_RANDO) { - func_8002F434(&this->actor, play, GI_GERUDO_CARD, 10000.0f, 50.0f); + func_8002F434(&this->actor, play, GI_GERUDOS_CARD, 10000.0f, 50.0f); } else { - GetItemEntry getItemEntry = Randomizer_GetItemFromKnownCheck(RC_GF_GERUDO_MEMBERSHIP_CARD, GI_GERUDO_CARD); + GetItemEntry getItemEntry = Randomizer_GetItemFromKnownCheck(RC_GF_GERUDO_MEMBERSHIP_CARD, GI_GERUDOS_CARD); GiveItemEntryFromActor(&this->actor, play, getItemEntry, 10000.0f, 50.0f); } } diff --git a/soh/src/overlays/actors/ovl_En_Ge3/z_en_ge3.c b/soh/src/overlays/actors/ovl_En_Ge3/z_en_ge3.c index 90d2981f01c..ed4b357ecad 100644 --- a/soh/src/overlays/actors/ovl_En_Ge3/z_en_ge3.c +++ b/soh/src/overlays/actors/ovl_En_Ge3/z_en_ge3.c @@ -145,9 +145,9 @@ void EnGe3_WaitTillCardGiven(EnGe3* this, PlayState* play) { this->actionFunc = EnGe3_Wait; } else { if (!IS_RANDO) { - func_8002F434(&this->actor, play, GI_GERUDO_CARD, 10000.0f, 50.0f); + func_8002F434(&this->actor, play, GI_GERUDOS_CARD, 10000.0f, 50.0f); } else { - GetItemEntry getItemEntry = Randomizer_GetItemFromKnownCheck(RC_GF_GERUDO_MEMBERSHIP_CARD, GI_GERUDO_CARD); + GetItemEntry getItemEntry = Randomizer_GetItemFromKnownCheck(RC_GF_GERUDO_MEMBERSHIP_CARD, GI_GERUDOS_CARD); GiveItemEntryFromActor(&this->actor, play, getItemEntry, 10000.0f, 50.0f); } } @@ -159,9 +159,9 @@ void EnGe3_GiveCard(EnGe3* this, PlayState* play) { this->actor.flags &= ~ACTOR_FLAG_WILL_TALK; this->actionFunc = EnGe3_WaitTillCardGiven; if (!IS_RANDO) { - func_8002F434(&this->actor, play, GI_GERUDO_CARD, 10000.0f, 50.0f); + func_8002F434(&this->actor, play, GI_GERUDOS_CARD, 10000.0f, 50.0f); } else { - GetItemEntry getItemEntry = Randomizer_GetItemFromKnownCheck(RC_GF_GERUDO_MEMBERSHIP_CARD, GI_GERUDO_CARD); + GetItemEntry getItemEntry = Randomizer_GetItemFromKnownCheck(RC_GF_GERUDO_MEMBERSHIP_CARD, GI_GERUDOS_CARD); GiveItemEntryFromActor(&this->actor, play, getItemEntry, 10000.0f, 50.0f); } } diff --git a/soh/src/overlays/actors/ovl_En_GirlA/z_en_girla.c b/soh/src/overlays/actors/ovl_En_GirlA/z_en_girla.c index bb9ee05c297..8bec4d06073 100644 --- a/soh/src/overlays/actors/ovl_En_GirlA/z_en_girla.c +++ b/soh/src/overlays/actors/ovl_En_GirlA/z_en_girla.c @@ -144,7 +144,7 @@ static char* sShopItemDescriptions[] = { }; static s16 sMaskShopItems[8] = { - ITEM_MASK_KEATON, ITEM_MASK_SPOOKY, ITEM_MASK_SKULL, ITEM_MASK_BUNNY, + ITEM_MASK_KEATON, ITEM_MASK_SPOOKY, ITEM_MASK_SKULL, ITEM_MASK_BUNNY_HOOD, ITEM_MASK_TRUTH, ITEM_MASK_ZORA, ITEM_MASK_GORON, ITEM_MASK_GERUDO, }; @@ -166,40 +166,40 @@ typedef struct { static ShopItemEntry shopItemEntries[] = { // SI_DEKU_NUTS_5 - { OBJECT_GI_NUTS, GID_NUTS, func_8002ED80, 15, 5, 0x00B2, 0x007F, GI_NUTS_5_2, EnGirlA_CanBuy_DekuNuts, + { OBJECT_GI_NUTS, GID_DEKU_NUTS, func_8002ED80, 15, 5, 0x00B2, 0x007F, GI_DEKU_NUTS_5_2, EnGirlA_CanBuy_DekuNuts, EnGirlA_ItemGive_DekuNuts, EnGirlA_BuyEvent_ShieldDiscount }, /* SI_ARROWS_30 */ - { OBJECT_GI_ARROW, GID_ARROWS_MEDIUM, func_8002EBCC, 60, 30, 0x00C1, 0x009B, GI_ARROWS_MEDIUM, + { OBJECT_GI_ARROW, GID_ARROWS_10, func_8002EBCC, 60, 30, 0x00C1, 0x009B, GI_ARROWS_10, EnGirlA_CanBuy_Arrows, EnGirlA_ItemGive_Arrows, EnGirlA_BuyEvent_ShieldDiscount }, /* SI_ARROWS_50 */ - { OBJECT_GI_ARROW, GID_ARROWS_LARGE, func_8002EBCC, 90, 50, 0x00B0, 0x007D, GI_ARROWS_LARGE, EnGirlA_CanBuy_Arrows, + { OBJECT_GI_ARROW, GID_ARROWS_30, func_8002EBCC, 90, 50, 0x00B0, 0x007D, GI_ARROWS_30, EnGirlA_CanBuy_Arrows, EnGirlA_ItemGive_Arrows, EnGirlA_BuyEvent_ShieldDiscount }, /* SI_BOMBS_5_R25 */ { OBJECT_GI_BOMB_1, GID_BOMB, func_8002EBCC, 25, 5, 0x00A3, 0x008B, GI_BOMBS_5, EnGirlA_CanBuy_Bombs, EnGirlA_ItemGive_Bombs, EnGirlA_BuyEvent_ShieldDiscount }, /* SI_DEKU_NUTS_10 */ - { OBJECT_GI_NUTS, GID_NUTS, func_8002ED80, 30, 10, 0x00A2, 0x0087, GI_NUTS_10, EnGirlA_CanBuy_DekuNuts, + { OBJECT_GI_NUTS, GID_DEKU_NUTS, func_8002ED80, 30, 10, 0x00A2, 0x0087, GI_DEKU_NUTS_10, EnGirlA_CanBuy_DekuNuts, EnGirlA_ItemGive_DekuNuts, EnGirlA_BuyEvent_ShieldDiscount }, /* SI_DEKU_STICK */ - { OBJECT_GI_STICK, GID_STICK, NULL, 10, 1, 0x00A1, 0x0088, GI_STICKS_1, EnGirlA_CanBuy_DekuSticks, + { OBJECT_GI_STICK, GID_DEKU_STICK, NULL, 10, 1, 0x00A1, 0x0088, GI_DEKU_STICKS_1, EnGirlA_CanBuy_DekuSticks, EnGirlA_ItemGive_DekuSticks, EnGirlA_BuyEvent_ShieldDiscount }, /* SI_BOMBS_10 */ { OBJECT_GI_BOMB_1, GID_BOMB, func_8002EBCC, 50, 10, 0x00B1, 0x007C, GI_BOMBS_10, EnGirlA_CanBuy_Bombs, EnGirlA_ItemGive_Bombs, EnGirlA_BuyEvent_ShieldDiscount }, /* SI_FISH */ - { OBJECT_GI_FISH, GID_FISH, func_8002ED80, 200, 1, 0x00B3, 0x007E, GI_FISH, EnGirlA_CanBuy_Fish, NULL, + { OBJECT_GI_FISH, GID_FISH, func_8002ED80, 200, 1, 0x00B3, 0x007E, GI_BOTTLE_FISH, EnGirlA_CanBuy_Fish, NULL, EnGirlA_BuyEvent_ShieldDiscount }, /* SI_RED_POTION_R30 */ - { OBJECT_GI_LIQUID, GID_POTION_RED, func_8002EBCC, 30, 1, 0x00A5, 0x008E, GI_POTION_RED, EnGirlA_CanBuy_RedPotion, + { OBJECT_GI_LIQUID, GID_BOTTLE_POTION_RED, func_8002EBCC, 30, 1, 0x00A5, 0x008E, GI_BOTTLE_POTION_RED, EnGirlA_CanBuy_RedPotion, EnGirlA_ItemGive_BottledItem, EnGirlA_BuyEvent_ShieldDiscount }, /* SI_GREEN_POTION */ - { OBJECT_GI_LIQUID, GID_POTION_GREEN, func_8002EBCC, 30, 1, 0x00A6, 0x008F, GI_POTION_GREEN, + { OBJECT_GI_LIQUID, GID_BOTTLE_POTION_GREEN, func_8002EBCC, 30, 1, 0x00A6, 0x008F, GI_BOTTLE_POTION_GREEN, EnGirlA_CanBuy_GreenPotion, EnGirlA_ItemGive_BottledItem, EnGirlA_BuyEvent_ShieldDiscount }, /* SI_BLUE_POTION */ - { OBJECT_GI_LIQUID, GID_POTION_BLUE, func_8002EBCC, 60, 1, 0x00A7, 0x0090, GI_POTION_BLUE, + { OBJECT_GI_LIQUID, GID_BOTTLE_POTION_BLUE, func_8002EBCC, 60, 1, 0x00A7, 0x0090, GI_BOTTLE_POTION_BLUE, EnGirlA_CanBuy_BluePotion, EnGirlA_ItemGive_BottledItem, EnGirlA_BuyEvent_ShieldDiscount }, /* SI_LONGSWORD */ - { OBJECT_GI_LONGSWORD, GID_SWORD_BGS, func_8002EBCC, 1000, 1, 0x00A8, 0x0091, GI_SWORD_KNIFE, + { OBJECT_GI_LONGSWORD, GID_SWORD_BIGGORON, func_8002EBCC, 1000, 1, 0x00A8, 0x0091, GI_SWORD_KNIFE, EnGirlA_CanBuy_Longsword, EnGirlA_ItemGive_Longsword, EnGirlA_BuyEvent_ShieldDiscount }, /* SI_HYLIAN_SHIELD */ { OBJECT_GI_SHIELD_2, GID_SHIELD_HYLIAN, func_8002EBCC, 80, 1, 0x00A9, 0x0092, GI_SHIELD_HYLIAN, @@ -214,16 +214,16 @@ static ShopItemEntry shopItemEntries[] = { { OBJECT_GI_CLOTHES, GID_TUNIC_ZORA, NULL, 300, 1, 0x00AB, 0x0094, GI_TUNIC_ZORA, EnGirlA_CanBuy_ZoraTunic, EnGirlA_ItemGive_ZoraTunic, EnGirlA_BuyEvent_ZoraTunic }, /* SI_HEART */ - { OBJECT_GI_HEART, GID_HEART, NULL, 10, 16, 0x00AC, 0x0095, GI_HEART, EnGirlA_CanBuy_Health, + { OBJECT_GI_HEART, GID_RECOVERY_HEART, NULL, 10, 16, 0x00AC, 0x0095, GI_RECOVERY_HEART, EnGirlA_CanBuy_Health, EnGirlA_ItemGive_Health, EnGirlA_BuyEvent_ShieldDiscount }, /* SI_MILK_BOTTLE */ - { OBJECT_GI_MILK, GID_MILK, func_80A3C498, 100, 1, 0x00AD, 0x0097, GI_MILK_BOTTLE, EnGirlA_CanBuy_MilkBottle, + { OBJECT_GI_MILK, GID_BOTTLE_MILK_FULL, func_80A3C498, 100, 1, 0x00AD, 0x0097, GI_BOTTLE_MILK_FULL, EnGirlA_CanBuy_MilkBottle, EnGirlA_ItemGive_MilkBottle, EnGirlA_BuyEvent_ShieldDiscount }, /* SI_WEIRD_EGG */ { OBJECT_GI_EGG, GID_EGG, func_8002EBCC, 100, 1, 0x00AE, 0x0099, GI_WEIRD_EGG, EnGirlA_CanBuy_WeirdEgg, EnGirlA_ItemGive_WeirdEgg, EnGirlA_BuyEvent_ShieldDiscount }, /* SI_19 */ - { OBJECT_GI_MILK, GID_MILK, func_80A3C498, 10000, 1, 0x00B4, 0x0085, GI_NONE, EnGirlA_CanBuy_Unk19, + { OBJECT_GI_MILK, GID_BOTTLE_MILK_FULL, func_80A3C498, 10000, 1, 0x00B4, 0x0085, GI_NONE, EnGirlA_CanBuy_Unk19, EnGirlA_ItemGive_Unk19, EnGirlA_BuyEvent_ShieldDiscount }, /* SI_20 */ { OBJECT_GI_EGG, GID_EGG, func_8002EBCC, 10000, 1, 0x00B5, 0x0085, GI_NONE, EnGirlA_CanBuy_Unk20, @@ -253,7 +253,7 @@ static ShopItemEntry shopItemEntries[] = { { OBJECT_GI_BOMB_2, GID_BOMBCHU, func_8002EBCC, 100, 10, 0x00BC, 0x008C, GI_BOMBCHUS_10, EnGirlA_CanBuy_Bombchus, NULL, EnGirlA_BuyEvent_ObtainBombchuPack }, /* SI_DEKU_SEEDS_30 */ - { OBJECT_GI_SEED, GID_SEEDS, func_8002EBCC, 30, 30, 0x00DF, 0x00DE, GI_SEEDS_30, EnGirlA_CanBuy_DekuSeeds, + { OBJECT_GI_SEED, GID_DEKU_SEEDS, func_8002EBCC, 30, 30, 0x00DF, 0x00DE, GI_DEKU_SEEDS_30, EnGirlA_CanBuy_DekuSeeds, EnGirlA_ItemGive_DekuSeeds, EnGirlA_BuyEvent_ShieldDiscount }, /* SI_KEATON_MASK */ { OBJECT_GI_KI_TAN_MASK, GID_MASK_KEATON, func_8002EBCC, 0, 1, 0x70B2, 0x70BE, GI_MASK_KEATON, @@ -265,7 +265,7 @@ static ShopItemEntry shopItemEntries[] = { { OBJECT_GI_SKJ_MASK, GID_MASK_SKULL, func_8002EBCC, 0, 1, 0x70B0, 0x70BC, GI_MASK_SKULL, EnGirlA_CanBuy_DekuSeeds, EnGirlA_ItemGive_DekuSeeds, EnGirlA_BuyEvent_ShieldDiscount }, /* SI_BUNNY_HOOD */ - { OBJECT_GI_RABIT_MASK, GID_MASK_BUNNY, func_8002EBCC, 0, 1, 0x70B3, 0x70BF, GI_MASK_BUNNY, + { OBJECT_GI_RABIT_MASK, GID_MASK_BUNNY_HOOD, func_8002EBCC, 0, 1, 0x70B3, 0x70BF, GI_MASK_BUNNY_HOOD, EnGirlA_CanBuy_DekuSeeds, EnGirlA_ItemGive_DekuSeeds, EnGirlA_BuyEvent_ShieldDiscount }, /* SI_MASK_OF_TRUTH */ { OBJECT_GI_TRUTH_MASK, GID_MASK_TRUTH, func_80A3C498, 0, 1, 0x70AF, 0x70C3, GI_MASK_TRUTH, @@ -283,22 +283,22 @@ static ShopItemEntry shopItemEntries[] = { { OBJECT_GI_SOLDOUT, GID_SOLDOUT, func_8002EBCC, 0, 0, 0x00BD, 0x70C2, GI_MASK_GERUDO, EnGirlA_CanBuy_SoldOut, NULL, NULL }, /* SI_BLUE_FIRE */ - { OBJECT_GI_FIRE, GID_BLUE_FIRE, func_8002EBCC, 300, 1, 0x00B9, 0x00B8, GI_BLUE_FIRE, EnGirlA_CanBuy_BlueFire, + { OBJECT_GI_FIRE, GID_BLUE_FIRE, func_8002EBCC, 300, 1, 0x00B9, 0x00B8, GI_BOTTLE_BLUE_FIRE, EnGirlA_CanBuy_BlueFire, EnGirlA_ItemGive_BottledItem, EnGirlA_BuyEvent_ShieldDiscount }, /* SI_BUGS */ - { OBJECT_GI_INSECT, GID_BUG, func_80A3C498, 50, 1, 0x00BB, 0x00BA, GI_BUGS, EnGirlA_CanBuy_Bugs, + { OBJECT_GI_INSECT, GID_BUG, func_80A3C498, 50, 1, 0x00BB, 0x00BA, GI_BOTTLE_BUGS, EnGirlA_CanBuy_Bugs, EnGirlA_ItemGive_BottledItem, EnGirlA_BuyEvent_ShieldDiscount }, /* SI_BIG_POE */ - { OBJECT_GI_GHOST, GID_BIG_POE, func_80A3C498, 50, 1, 0x506F, 0x5070, GI_BIG_POE, EnGirlA_CanBuy_Poe, + { OBJECT_GI_GHOST, GID_BIG_POE, func_80A3C498, 50, 1, 0x506F, 0x5070, GI_BOTTLE_BIG_POE, EnGirlA_CanBuy_Poe, EnGirlA_ItemGive_BottledItem, EnGirlA_BuyEvent_ShieldDiscount }, /* SI_POE */ - { OBJECT_GI_GHOST, GID_POE, func_80A3C498, 30, 1, 0x506D, 0x506E, GI_POE, EnGirlA_CanBuy_Poe, + { OBJECT_GI_GHOST, GID_POE, func_80A3C498, 30, 1, 0x506D, 0x506E, GI_BOTTLE_POE, EnGirlA_CanBuy_Poe, EnGirlA_ItemGive_BottledItem, EnGirlA_BuyEvent_ShieldDiscount }, /* SI_FAIRY */ - { OBJECT_GI_SOUL, GID_FAIRY, func_80A3C498, 50, 1, 0x00B7, 0x00B6, GI_FAIRY, EnGirlA_CanBuy_Fairy, + { OBJECT_GI_SOUL, GID_FAIRY, func_80A3C498, 50, 1, 0x00B7, 0x00B6, GI_BOTTLE_FAIRY, EnGirlA_CanBuy_Fairy, EnGirlA_ItemGive_BottledItem, EnGirlA_BuyEvent_ShieldDiscount }, /* SI_ARROWS_10 */ - { OBJECT_GI_ARROW, GID_ARROWS_SMALL, func_8002EBCC, 20, 10, 0x00A0, 0x008A, GI_ARROWS_SMALL, EnGirlA_CanBuy_Arrows, + { OBJECT_GI_ARROW, GID_ARROWS_5, func_8002EBCC, 20, 10, 0x00A0, 0x008A, GI_ARROWS_5, EnGirlA_CanBuy_Arrows, EnGirlA_ItemGive_Arrows, EnGirlA_BuyEvent_ShieldDiscount }, /* SI_BOMBS_20 */ { OBJECT_GI_BOMB_1, GID_BOMB, func_8002EBCC, 80, 20, 0x001C, 0x0006, GI_BOMBS_20, EnGirlA_CanBuy_Bombs, @@ -310,10 +310,10 @@ static ShopItemEntry shopItemEntries[] = { { OBJECT_GI_BOMB_1, GID_BOMB, func_8002EBCC, 35, 5, 0x00CB, 0x00CA, GI_BOMBS_5, EnGirlA_CanBuy_Bombs, EnGirlA_ItemGive_Bombs, EnGirlA_BuyEvent_ShieldDiscount }, /* SI_RED_POTION_R40 */ - { OBJECT_GI_LIQUID, GID_POTION_RED, func_8002EBCC, 40, 1, 0x0064, 0x0062, GI_POTION_RED, EnGirlA_CanBuy_RedPotion, + { OBJECT_GI_LIQUID, GID_BOTTLE_POTION_RED, func_8002EBCC, 40, 1, 0x0064, 0x0062, GI_BOTTLE_POTION_RED, EnGirlA_CanBuy_RedPotion, EnGirlA_ItemGive_BottledItem, EnGirlA_BuyEvent_ShieldDiscount }, /* SI_RED_POTION_R50 */ - { OBJECT_GI_LIQUID, GID_POTION_RED, func_8002EBCC, 50, 1, 0x0065, 0x0063, GI_POTION_RED, EnGirlA_CanBuy_RedPotion, + { OBJECT_GI_LIQUID, GID_BOTTLE_POTION_RED, func_8002EBCC, 50, 1, 0x0065, 0x0063, GI_BOTTLE_POTION_RED, EnGirlA_CanBuy_RedPotion, EnGirlA_ItemGive_BottledItem, EnGirlA_BuyEvent_ShieldDiscount }, /* SI_RANDOMIZED_ITEM */ { OBJECT_INVALID, GID_MAXIMUM, NULL, 40, 1, 0x9100, 0x9100 + NUM_SHOP_ITEMS, GI_NONE, EnGirlA_CanBuy_Randomizer, @@ -487,26 +487,26 @@ s32 EnGirlA_CanBuy_Bombs(PlayState* play, EnGirlA* this) { } s32 EnGirlA_CanBuy_DekuNuts(PlayState* play, EnGirlA* this) { - if ((CUR_CAPACITY(UPG_NUTS) != 0) && (AMMO(ITEM_NUT) >= CUR_CAPACITY(UPG_NUTS))) { + if ((CUR_CAPACITY(UPG_DEKU_NUTS) != 0) && (AMMO(ITEM_DEKU_NUT) >= CUR_CAPACITY(UPG_DEKU_NUTS))) { return CANBUY_RESULT_CANT_GET_NOW; } if (gSaveContext.rupees < this->basePrice) { return CANBUY_RESULT_NEED_RUPEES; } - if ((Item_CheckObtainability(ITEM_NUT) == ITEM_NONE) && !CVarGetInteger("gFastDrops", 0)) { + if ((Item_CheckObtainability(ITEM_DEKU_NUT) == ITEM_NONE) && !CVarGetInteger("gFastDrops", 0)) { return CANBUY_RESULT_SUCCESS_FANFARE; } return CANBUY_RESULT_SUCCESS; } s32 EnGirlA_CanBuy_DekuSticks(PlayState* play, EnGirlA* this) { - if ((CUR_CAPACITY(UPG_STICKS) != 0) && (AMMO(ITEM_STICK) >= CUR_CAPACITY(UPG_STICKS))) { + if ((CUR_CAPACITY(UPG_DEKU_STICKS) != 0) && (AMMO(ITEM_DEKU_STICK) >= CUR_CAPACITY(UPG_DEKU_STICKS))) { return CANBUY_RESULT_CANT_GET_NOW; } if (gSaveContext.rupees < this->basePrice) { return CANBUY_RESULT_NEED_RUPEES; } - if ((Item_CheckObtainability(ITEM_STICK) == ITEM_NONE) && !CVarGetInteger("gFastDrops", 0)) { + if ((Item_CheckObtainability(ITEM_DEKU_STICK) == ITEM_NONE) && !CVarGetInteger("gFastDrops", 0)) { return CANBUY_RESULT_SUCCESS_FANFARE; } return CANBUY_RESULT_SUCCESS; @@ -519,7 +519,7 @@ s32 EnGirlA_CanBuy_Fish(PlayState* play, EnGirlA* this) { if (gSaveContext.rupees < this->basePrice) { return CANBUY_RESULT_NEED_RUPEES; } - if (Item_CheckObtainability(ITEM_FISH) == ITEM_NONE) { + if (Item_CheckObtainability(ITEM_BOTTLE_FISH) == ITEM_NONE) { return CANBUY_RESULT_SUCCESS_FANFARE; } return CANBUY_RESULT_SUCCESS; @@ -532,7 +532,7 @@ s32 EnGirlA_CanBuy_RedPotion(PlayState* play, EnGirlA* this) { if (gSaveContext.rupees < this->basePrice) { return CANBUY_RESULT_NEED_RUPEES; } - if (Item_CheckObtainability(ITEM_POTION_RED) == ITEM_NONE) { + if (Item_CheckObtainability(ITEM_BOTTLE_POTION_RED) == ITEM_NONE) { return CANBUY_RESULT_SUCCESS_FANFARE; } return CANBUY_RESULT_SUCCESS; @@ -545,7 +545,7 @@ s32 EnGirlA_CanBuy_GreenPotion(PlayState* play, EnGirlA* this) { if (gSaveContext.rupees < this->basePrice) { return CANBUY_RESULT_NEED_RUPEES; } - if (Item_CheckObtainability(ITEM_POTION_GREEN) == ITEM_NONE) { + if (Item_CheckObtainability(ITEM_BOTTLE_POTION_GREEN) == ITEM_NONE) { return CANBUY_RESULT_SUCCESS_FANFARE; } return CANBUY_RESULT_SUCCESS; @@ -558,7 +558,7 @@ s32 EnGirlA_CanBuy_BluePotion(PlayState* play, EnGirlA* this) { if (gSaveContext.rupees < this->basePrice) { return CANBUY_RESULT_NEED_RUPEES; } - if (Item_CheckObtainability(ITEM_POTION_BLUE) == ITEM_NONE) { + if (Item_CheckObtainability(ITEM_BOTTLE_POTION_BLUE) == ITEM_NONE) { return CANBUY_RESULT_SUCCESS_FANFARE; } return CANBUY_RESULT_SUCCESS; @@ -571,7 +571,7 @@ s32 EnGirlA_CanBuy_Longsword(PlayState* play, EnGirlA* this) { if (gSaveContext.rupees < this->basePrice) { return CANBUY_RESULT_NEED_RUPEES; } - if (Item_CheckObtainability(ITEM_SWORD_BGS) == ITEM_NONE) { + if (Item_CheckObtainability(ITEM_SWORD_BIGGORON) == ITEM_NONE) { return CANBUY_RESULT_SUCCESS_FANFARE; } return CANBUY_RESULT_SUCCESS; @@ -651,7 +651,7 @@ s32 EnGirlA_CanBuy_MilkBottle(PlayState* play, EnGirlA* this) { if (gSaveContext.rupees < this->basePrice) { return CANBUY_RESULT_NEED_RUPEES; } - if (Item_CheckObtainability(ITEM_MILK_BOTTLE) == ITEM_NONE) { + if (Item_CheckObtainability(ITEM_BOTTLE_MILK_FULL) == ITEM_NONE) { return CANBUY_RESULT_SUCCESS_FANFARE; } return CANBUY_RESULT_SUCCESS; @@ -661,7 +661,7 @@ s32 EnGirlA_CanBuy_WeirdEgg(PlayState* play, EnGirlA* this) { if (gSaveContext.rupees < this->basePrice) { return CANBUY_RESULT_NEED_RUPEES; } - if (Item_CheckObtainability(ITEM_LETTER_ZELDA) == ITEM_NONE) { + if (Item_CheckObtainability(ITEM_ZELDAS_LETTER) == ITEM_NONE) { return CANBUY_RESULT_SUCCESS_FANFARE; } return CANBUY_RESULT_SUCCESS; @@ -704,7 +704,7 @@ s32 EnGirlA_CanBuy_DekuSeeds(PlayState* play, EnGirlA* this) { if (gSaveContext.rupees < this->basePrice) { return CANBUY_RESULT_NEED_RUPEES; } - if ((Item_CheckObtainability(ITEM_SEEDS) == ITEM_NONE) && !CVarGetInteger("gFastDrops", 0)) { + if ((Item_CheckObtainability(ITEM_DEKU_SEEDS) == ITEM_NONE) && !CVarGetInteger("gFastDrops", 0)) { return CANBUY_RESULT_SUCCESS_FANFARE; } return CANBUY_RESULT_SUCCESS; @@ -721,7 +721,7 @@ s32 EnGirlA_CanBuy_BlueFire(PlayState* play, EnGirlA* this) { if (gSaveContext.rupees < this->basePrice) { return CANBUY_RESULT_NEED_RUPEES; } - if (Item_CheckObtainability(ITEM_BLUE_FIRE) == ITEM_NONE) { + if (Item_CheckObtainability(ITEM_BOTTLE_BLUE_FIRE) == ITEM_NONE) { return CANBUY_RESULT_SUCCESS_FANFARE; } return CANBUY_RESULT_SUCCESS; @@ -734,7 +734,7 @@ s32 EnGirlA_CanBuy_Bugs(PlayState* play, EnGirlA* this) { if (gSaveContext.rupees < this->basePrice) { return CANBUY_RESULT_NEED_RUPEES; } - if (Item_CheckObtainability(ITEM_BUG) == ITEM_NONE) { + if (Item_CheckObtainability(ITEM_BOTTLE_BUG) == ITEM_NONE) { return CANBUY_RESULT_SUCCESS_FANFARE; } return CANBUY_RESULT_SUCCESS; @@ -747,7 +747,7 @@ s32 EnGirlA_CanBuy_Poe(PlayState* play, EnGirlA* this) { if (gSaveContext.rupees < this->basePrice) { return CANBUY_RESULT_NEED_RUPEES; } - if (Item_CheckObtainability(ITEM_POE) == ITEM_NONE) { + if (Item_CheckObtainability(ITEM_BOTTLE_POE) == ITEM_NONE) { return CANBUY_RESULT_SUCCESS_FANFARE; } return CANBUY_RESULT_SUCCESS; @@ -760,7 +760,7 @@ s32 EnGirlA_CanBuy_Fairy(PlayState* play, EnGirlA* this) { if (gSaveContext.rupees < this->basePrice) { return CANBUY_RESULT_NEED_RUPEES; } - if (Item_CheckObtainability(ITEM_FAIRY) == ITEM_NONE) { + if (Item_CheckObtainability(ITEM_BOTTLE_FAIRY) == ITEM_NONE) { return CANBUY_RESULT_SUCCESS_FANFARE; } return CANBUY_RESULT_SUCCESS; @@ -829,10 +829,10 @@ void EnGirlA_ItemGive_DekuNuts(PlayState* play, EnGirlA* this) { gSaveContext.pendingSaleMod = entry.modIndex; switch (this->itemCount) { case 5: - Item_Give(play, ITEM_NUTS_5); + Item_Give(play, ITEM_DEKU_NUTS_5); break; case 10: - Item_Give(play, ITEM_NUTS_10); + Item_Give(play, ITEM_DEKU_NUTS_10); break; } Rupees_ChangeBy(-this->basePrice); @@ -842,7 +842,7 @@ void EnGirlA_ItemGive_DekuSticks(PlayState* play, EnGirlA* this) { GetItemEntry entry = ItemTable_Retrieve(this->getItemId); gSaveContext.pendingSale = entry.itemId; gSaveContext.pendingSaleMod = entry.modIndex; - Item_Give(play, ITEM_STICK); + Item_Give(play, ITEM_DEKU_STICK); Rupees_ChangeBy(-this->basePrice); } @@ -899,7 +899,7 @@ void EnGirlA_ItemGive_MilkBottle(PlayState* play, EnGirlA* this) { GetItemEntry entry = ItemTable_Retrieve(this->getItemId); gSaveContext.pendingSale = entry.itemId; gSaveContext.pendingSaleMod = entry.modIndex; - Item_Give(play, ITEM_MILK_BOTTLE); + Item_Give(play, ITEM_BOTTLE_MILK_FULL); Rupees_ChangeBy(-this->basePrice); } @@ -929,7 +929,7 @@ void EnGirlA_ItemGive_DekuSeeds(PlayState* play, EnGirlA* this) { GetItemEntry entry = ItemTable_Retrieve(this->getItemId); gSaveContext.pendingSale = entry.itemId; gSaveContext.pendingSaleMod = entry.modIndex; - Item_Give(play, ITEM_SEEDS_30); + Item_Give(play, ITEM_DEKU_SEEDS_30); Rupees_ChangeBy(-this->basePrice); } @@ -939,31 +939,31 @@ void EnGirlA_ItemGive_BottledItem(PlayState* play, EnGirlA* this) { gSaveContext.pendingSaleMod = entry.modIndex; switch (this->actor.params) { case SI_FISH: - Item_Give(play, ITEM_FISH); + Item_Give(play, ITEM_BOTTLE_FISH); break; case SI_RED_POTION_R30: - Item_Give(play, ITEM_POTION_RED); + Item_Give(play, ITEM_BOTTLE_POTION_RED); break; case SI_GREEN_POTION: - Item_Give(play, ITEM_POTION_GREEN); + Item_Give(play, ITEM_BOTTLE_POTION_GREEN); break; case SI_BLUE_POTION: - Item_Give(play, ITEM_POTION_BLUE); + Item_Give(play, ITEM_BOTTLE_POTION_BLUE); break; case SI_BLUE_FIRE: - Item_Give(play, ITEM_BLUE_FIRE); + Item_Give(play, ITEM_BOTTLE_BLUE_FIRE); break; case SI_BUGS: - Item_Give(play, ITEM_BUG); + Item_Give(play, ITEM_BOTTLE_BUG); break; case SI_BIG_POE: - Item_Give(play, ITEM_BIG_POE); + Item_Give(play, ITEM_BOTTLE_BIG_POE); break; case SI_POE: - Item_Give(play, ITEM_POE); + Item_Give(play, ITEM_BOTTLE_POE); break; case SI_FAIRY: - Item_Give(play, ITEM_FAIRY); + Item_Give(play, ITEM_BOTTLE_FAIRY); break; } Rupees_ChangeBy(-this->basePrice); @@ -980,7 +980,7 @@ void EnGirlA_ItemGive_Randomizer(PlayState* play, EnGirlA* this) { gSaveContext.pendingSaleMod = getItemEntry.modIndex; if (getItemEntry.modIndex == MOD_NONE) { // RANDOTOD: Move this into Item_Give() or some other more central location - if (getItemEntry.getItemId == GI_SWORD_BGS) { + if (getItemEntry.getItemId == GI_SWORD_BIGGORON) { gSaveContext.bgsFlag = true; } Item_Give(play, getItemEntry.itemId); diff --git a/soh/src/overlays/actors/ovl_En_Go/z_en_go.c b/soh/src/overlays/actors/ovl_En_Go/z_en_go.c index ea9b1356118..55a45b1699b 100644 --- a/soh/src/overlays/actors/ovl_En_Go/z_en_go.c +++ b/soh/src/overlays/actors/ovl_En_Go/z_en_go.c @@ -103,13 +103,13 @@ u16 EnGo_GetTextID(PlayState* play, Actor* thisx) { } else { return 0x305D; } - } else if (INV_CONTENT(ITEM_TRADE_ADULT) >= ITEM_EYEDROPS) { - player->exchangeItemId = EXCH_ITEM_EYEDROPS; + } else if (INV_CONTENT(ITEM_TRADE_ADULT) >= ITEM_EYE_DROPS) { + player->exchangeItemId = EXCH_ITEM_EYE_DROPS; return 0x3059; } else if (INV_CONTENT(ITEM_TRADE_ADULT) >= ITEM_PRESCRIPTION) { return 0x3058; } else { - player->exchangeItemId = EXCH_ITEM_SWORD_BROKEN; + player->exchangeItemId = EXCH_ITEM_BROKEN_GORONS_SWORD; return 0x3053; } case 0x00: @@ -120,7 +120,7 @@ u16 EnGo_GetTextID(PlayState* play, Actor* thisx) { } else { return 0x3041; } - } else if (CHECK_OWNED_EQUIP(EQUIP_TUNIC, 1) || (Flags_GetInfTable(INFTABLE_10D))) { + } else if (CHECK_OWNED_EQUIP(EQUIP_TYPE_TUNIC, 1) || (Flags_GetInfTable(INFTABLE_10D))) { if (Flags_GetInfTable(INFTABLE_SPOKE_TO_GORON_LINK)) { return 0x3038; } else { @@ -596,8 +596,8 @@ void func_80A3F908(EnGo* this, PlayState* play) { } if (((this->actor.params & 0xF0) == 0x90) && (isUnkCondition == true)) { - if (INV_CONTENT(ITEM_TRADE_ADULT) == ITEM_SWORD_BROKEN) { - if (func_8002F368(play) == EXCH_ITEM_SWORD_BROKEN) { + if (INV_CONTENT(ITEM_TRADE_ADULT) == ITEM_BROKEN_GORONS_SWORD) { + if (func_8002F368(play) == EXCH_ITEM_BROKEN_GORONS_SWORD) { if (Flags_GetInfTable(INFTABLE_B4)) { this->actor.textId = 0x3055; } else { @@ -609,8 +609,8 @@ void func_80A3F908(EnGo* this, PlayState* play) { player->actor.textId = this->actor.textId; } - if (INV_CONTENT(ITEM_TRADE_ADULT) == ITEM_EYEDROPS) { - if (func_8002F368(play) == EXCH_ITEM_EYEDROPS) { + if (INV_CONTENT(ITEM_TRADE_ADULT) == ITEM_EYE_DROPS) { + if (func_8002F368(play) == EXCH_ITEM_EYE_DROPS) { this->actor.textId = 0x3059; } else { this->actor.textId = 0x3058; @@ -651,7 +651,7 @@ void EnGo_Init(Actor* thisx, PlayState* play) { switch (this->actor.params & 0xF0) { case 0x00: Actor_SetScale(&this->actor, 0.008f); - if (CHECK_OWNED_EQUIP(EQUIP_TUNIC, 1)) { + if (CHECK_OWNED_EQUIP(EQUIP_TYPE_TUNIC, 1)) { EnGo_SetMovedPos(this, play); EnGo_SetupAction(this, EnGo_CurledUp); } else { @@ -862,7 +862,7 @@ void EnGo_BiggoronActionFunc(EnGo* this, PlayState* play) { if (!IS_RANDO && gSaveContext.bgsFlag) { this->interactInfo.talkState = NPC_TALK_STATE_IDLE; } else { - if (INV_CONTENT(ITEM_TRADE_ADULT) == ITEM_EYEDROPS) { + if (INV_CONTENT(ITEM_TRADE_ADULT) == ITEM_EYE_DROPS) { EnGo_ChangeAnim(this, ENGO_ANIM_2); this->unk_21E = 100; this->interactInfo.talkState = NPC_TALK_STATE_IDLE; @@ -959,26 +959,26 @@ void EnGo_GetItem(EnGo* this, PlayState* play) { if ((this->actor.params & 0xF0) == 0x90) { if (INV_CONTENT(ITEM_TRADE_ADULT) == ITEM_CLAIM_CHECK) { if (!IS_RANDO) { - getItemId = GI_SWORD_BGS; + getItemId = GI_SWORD_BIGGORON; } else { - getItemEntry = Randomizer_GetItemFromKnownCheck(RC_DMT_TRADE_CLAIM_CHECK, GI_SWORD_BGS); + getItemEntry = Randomizer_GetItemFromKnownCheck(RC_DMT_TRADE_CLAIM_CHECK, GI_SWORD_BIGGORON); getItemId = getItemEntry.getItemId; } this->unk_20C = 1; } - if (INV_CONTENT(ITEM_TRADE_ADULT) == ITEM_EYEDROPS) { + if (INV_CONTENT(ITEM_TRADE_ADULT) == ITEM_EYE_DROPS) { if (IS_RANDO) { getItemEntry = Randomizer_GetItemFromKnownCheck(RC_DMT_TRADE_EYEDROPS, GI_CLAIM_CHECK); getItemId = getItemEntry.getItemId; - Randomizer_ConsumeAdultTradeItem(play, ITEM_EYEDROPS); + Randomizer_ConsumeAdultTradeItem(play, ITEM_EYE_DROPS); } else { getItemId = GI_CLAIM_CHECK; } } - if (INV_CONTENT(ITEM_TRADE_ADULT) == ITEM_SWORD_BROKEN) { + if (INV_CONTENT(ITEM_TRADE_ADULT) == ITEM_BROKEN_GORONS_SWORD) { if (IS_RANDO) { getItemEntry = Randomizer_GetItemFromKnownCheck(RC_DMT_TRADE_BROKEN_SWORD, GI_PRESCRIPTION); - Randomizer_ConsumeAdultTradeItem(play, ITEM_SWORD_BROKEN); + Randomizer_ConsumeAdultTradeItem(play, ITEM_BROKEN_GORONS_SWORD); getItemId = getItemEntry.getItemId; } else { getItemId = GI_PRESCRIPTION; diff --git a/soh/src/overlays/actors/ovl_En_Go2/z_en_go2.c b/soh/src/overlays/actors/ovl_En_Go2/z_en_go2.c index 02c4d37a777..14928d745ec 100644 --- a/soh/src/overlays/actors/ovl_En_Go2/z_en_go2.c +++ b/soh/src/overlays/actors/ovl_En_Go2/z_en_go2.c @@ -527,7 +527,7 @@ u16 EnGo2_GetTextIdGoronCityLink(PlayState* play, EnGo2* this) { if (CHECK_QUEST_ITEM(QUEST_MEDALLION_FIRE)) { return Flags_GetInfTable(INFTABLE_10F) ? 0x3042 : 0x3041; - } else if (CHECK_OWNED_EQUIP(EQUIP_TUNIC, 1)) { + } else if (CHECK_OWNED_EQUIP(EQUIP_TYPE_TUNIC, 1)) { return Flags_GetInfTable(INFTABLE_SPOKE_TO_GORON_LINK) ? 0x3038 : 0x3037; } else if (Flags_GetInfTable(INFTABLE_STOPPED_GORON_LINKS_ROLLING)) { this->unk_20C = 0; @@ -612,10 +612,10 @@ u16 EnGo2_GetTextIdGoronDmtBiggoron(PlayState* play, EnGo2* this) { player->exchangeItemId = EXCH_ITEM_CLAIM_CHECK; return 0x305E; } else if (INV_CONTENT(ITEM_TRADE_ADULT) >= ITEM_PRESCRIPTION) { - player->exchangeItemId = EXCH_ITEM_EYEDROPS; + player->exchangeItemId = EXCH_ITEM_EYE_DROPS; return 0x3058; } else { - player->exchangeItemId = EXCH_ITEM_SWORD_BROKEN; + player->exchangeItemId = EXCH_ITEM_BROKEN_GORONS_SWORD; return 0x3053; } } @@ -632,10 +632,10 @@ s16 EnGo2_UpdateTalkStateGoronDmtBiggoron(PlayState* play, EnGo2* this) { } if(IS_RANDO) { - EnGo2_GetItemEntry(this, play, Randomizer_GetItemFromKnownCheck(RC_DMT_TRADE_CLAIM_CHECK, GI_SWORD_BGS)); + EnGo2_GetItemEntry(this, play, Randomizer_GetItemFromKnownCheck(RC_DMT_TRADE_CLAIM_CHECK, GI_SWORD_BIGGORON)); Flags_SetTreasure(play, 0x1F); } else { - EnGo2_GetItem(this, play, GI_SWORD_BGS); + EnGo2_GetItem(this, play, GI_SWORD_BIGGORON); } this->actionFunc = EnGo2_SetupGetItem; return NPC_TALK_STATE_ACTION; @@ -665,7 +665,7 @@ s16 EnGo2_UpdateTalkStateGoronDmtBiggoron(PlayState* play, EnGo2* this) { if (play->msgCtx.choiceIndex == 0) { if (IS_RANDO) { GetItemEntry getItemEntry = Randomizer_GetItemFromKnownCheck(RC_DMT_TRADE_BROKEN_SWORD, GI_PRESCRIPTION); - Randomizer_ConsumeAdultTradeItem(play, ITEM_SWORD_BROKEN); + Randomizer_ConsumeAdultTradeItem(play, ITEM_BROKEN_GORONS_SWORD); EnGo2_GetItemEntry(this, play, getItemEntry); Flags_SetRandomizerInf(RAND_INF_ADULT_TRADES_DMT_TRADE_BROKEN_SWORD); } else { @@ -1102,7 +1102,7 @@ void EnGo2_BiggoronSetTextId(EnGo2* this, PlayState* play, Player* player) { } else if ((INV_CONTENT(ITEM_TRADE_ADULT) >= ITEM_PRESCRIPTION) && (INV_CONTENT(ITEM_TRADE_ADULT) <= ITEM_CLAIM_CHECK)) { - if (func_8002F368(play) == EXCH_ITEM_EYEDROPS) { + if (func_8002F368(play) == EXCH_ITEM_EYE_DROPS) { this->actor.textId = 0x3059; } else { this->actor.textId = 0x3058; @@ -1112,8 +1112,8 @@ void EnGo2_BiggoronSetTextId(EnGo2* this, PlayState* play, Player* player) { } player->actor.textId = this->actor.textId; - } else if (INV_CONTENT(ITEM_TRADE_ADULT) <= ITEM_SWORD_BROKEN) { - if (func_8002F368(play) == EXCH_ITEM_SWORD_BROKEN) { + } else if (INV_CONTENT(ITEM_TRADE_ADULT) <= ITEM_BROKEN_GORONS_SWORD) { + if (func_8002F368(play) == EXCH_ITEM_BROKEN_GORONS_SWORD) { if (Flags_GetInfTable(INFTABLE_B4)) { textId = 0x3055; } else { @@ -1180,7 +1180,7 @@ void func_80A454CC(EnGo2* this) { Animation_ChangeByInfo(&this->skelAnime, sAnimationInfo, ENGO2_ANIM_9); break; case GORON_DMT_BIGGORON: - if (INV_CONTENT(ITEM_TRADE_ADULT) >= ITEM_SWORD_BROKEN && INV_CONTENT(ITEM_TRADE_ADULT) <= ITEM_EYEDROPS) { + if (INV_CONTENT(ITEM_TRADE_ADULT) >= ITEM_BROKEN_GORONS_SWORD && INV_CONTENT(ITEM_TRADE_ADULT) <= ITEM_EYE_DROPS) { Animation_ChangeByInfo(&this->skelAnime, sAnimationInfo, ENGO2_ANIM_4); break; } @@ -1221,7 +1221,7 @@ s32 EnGo2_IsCameraModified(EnGo2* this, PlayState* play) { return true; } else if (((!IS_RANDO && !CHECK_QUEST_ITEM(QUEST_MEDALLION_FIRE)) || (IS_RANDO && !Flags_GetRandomizerInf(RAND_INF_DUNGEONS_DONE_FIRE_TEMPLE))) && - CHECK_OWNED_EQUIP(EQUIP_TUNIC, 1)) { + CHECK_OWNED_EQUIP(EQUIP_TYPE_TUNIC, 1)) { return true; } else { return false; @@ -1280,7 +1280,7 @@ void EnGo2_SelectGoronWakingUp(EnGo2* this) { case GORON_CITY_LINK: if (((!IS_RANDO && !CHECK_QUEST_ITEM(QUEST_MEDALLION_FIRE)) || (IS_RANDO && !Flags_GetRandomizerInf(RAND_INF_DUNGEONS_DONE_FIRE_TEMPLE))) && - CHECK_OWNED_EQUIP(EQUIP_TUNIC, 1)) { + CHECK_OWNED_EQUIP(EQUIP_TYPE_TUNIC, 1)) { EnGo2_WakingUp(this); break; } @@ -1568,7 +1568,7 @@ void EnGo2_GoronFireClearCamera(EnGo2* this, PlayState* play) { } void EnGo2_BiggoronAnimation(EnGo2* this) { - if (INV_CONTENT(ITEM_TRADE_ADULT) >= ITEM_SWORD_BROKEN && INV_CONTENT(ITEM_TRADE_ADULT) <= ITEM_EYEDROPS && + if (INV_CONTENT(ITEM_TRADE_ADULT) >= ITEM_BROKEN_GORONS_SWORD && INV_CONTENT(ITEM_TRADE_ADULT) <= ITEM_EYE_DROPS && (this->actor.params & 0x1F) == GORON_DMT_BIGGORON && this->interactInfo.talkState == NPC_TALK_STATE_IDLE) { if (DECR(this->animTimer) == 0) { this->animTimer = Rand_S16Offset(30, 30); @@ -1642,7 +1642,7 @@ void EnGo2_Init(Actor* thisx, PlayState* play) { this->actor.home.pos = this->actor.world.pos; if (((!IS_RANDO && !CHECK_QUEST_ITEM(QUEST_MEDALLION_FIRE)) || (IS_RANDO && !Flags_GetRandomizerInf(RAND_INF_DUNGEONS_DONE_FIRE_TEMPLE))) && - CHECK_OWNED_EQUIP(EQUIP_TUNIC, 1)) { + CHECK_OWNED_EQUIP(EQUIP_TYPE_TUNIC, 1)) { EnGo2_GetItemAnimation(this, play); } else { this->actionFunc = EnGo2_CurledUp; @@ -1670,8 +1670,8 @@ void EnGo2_Init(Actor* thisx, PlayState* play) { case GORON_DMT_BIGGORON: this->actor.shape.shadowDraw = NULL; this->actor.flags &= ~ACTOR_FLAG_TARGETABLE; - if ((INV_CONTENT(ITEM_TRADE_ADULT) >= ITEM_SWORD_BROKEN) && - (INV_CONTENT(ITEM_TRADE_ADULT) <= ITEM_EYEDROPS)) { + if ((INV_CONTENT(ITEM_TRADE_ADULT) >= ITEM_BROKEN_GORONS_SWORD) && + (INV_CONTENT(ITEM_TRADE_ADULT) <= ITEM_EYE_DROPS)) { this->eyeMouthTexState = 1; } this->collider.base.acFlags = 0; @@ -1905,7 +1905,7 @@ void EnGo2_SetGetItem(EnGo2* this, PlayState* play) { Flags_SetInfTable(INFTABLE_GORON_CITY_DOORS_UNLOCKED); EnGo2_GetItemAnimation(this, play); return; - case GI_SWORD_BGS: + case GI_SWORD_BIGGORON: gSaveContext.bgsFlag = true; break; case GI_BOMB_BAG_30: @@ -1961,7 +1961,7 @@ void EnGo2_BiggoronEyedrops(EnGo2* this, PlayState* play) { this->skelAnime.curFrame = this->skelAnime.endFrame; if (IS_RANDO) { GetItemEntry getItemEntry = Randomizer_GetItemFromKnownCheck(RC_DMT_TRADE_EYEDROPS, GI_CLAIM_CHECK); - Randomizer_ConsumeAdultTradeItem(play, ITEM_EYEDROPS); + Randomizer_ConsumeAdultTradeItem(play, ITEM_EYE_DROPS); EnGo2_GetItemEntry(this, play, getItemEntry); Flags_SetRandomizerInf(RAND_INF_ADULT_TRADES_DMT_TRADE_EYEDROPS); } else { diff --git a/soh/src/overlays/actors/ovl_En_Heishi2/z_en_heishi2.c b/soh/src/overlays/actors/ovl_En_Heishi2/z_en_heishi2.c index 379ce28934a..26d3244b34f 100644 --- a/soh/src/overlays/actors/ovl_En_Heishi2/z_en_heishi2.c +++ b/soh/src/overlays/actors/ovl_En_Heishi2/z_en_heishi2.c @@ -406,7 +406,7 @@ void func_80A53AD4(EnHeishi2* this, PlayState* play) { this->unk_300 = TEXT_STATE_DONE; if (Actor_ProcessTalkRequest(&this->actor, play)) { exchangeItemId = func_8002F368(play); - if (exchangeItemId == EXCH_ITEM_LETTER_ZELDA) { + if (exchangeItemId == EXCH_ITEM_ZELDAS_LETTER) { func_80078884(NA_SE_SY_CORRECT_CHIME); player->actor.textId = 0x2010; this->unk_300 = TEXT_STATE_EVENT; @@ -418,7 +418,7 @@ void func_80A53AD4(EnHeishi2* this, PlayState* play) { yawDiffTemp = this->actor.yawTowardsPlayer - this->actor.shape.rot.y; yawDiff = ABS(yawDiffTemp); if (!(120.0f < this->actor.xzDistToPlayer) && (yawDiff < 0x4300)) { - func_8002F298(&this->actor, play, 100.0f, EXCH_ITEM_LETTER_ZELDA); + func_8002F298(&this->actor, play, 100.0f, EXCH_ITEM_ZELDAS_LETTER); } } } diff --git a/soh/src/overlays/actors/ovl_En_Hy/z_en_hy.c b/soh/src/overlays/actors/ovl_En_Hy/z_en_hy.c index e0ff7470d10..5e3741cb708 100644 --- a/soh/src/overlays/actors/ovl_En_Hy/z_en_hy.c +++ b/soh/src/overlays/actors/ovl_En_Hy/z_en_hy.c @@ -422,7 +422,7 @@ u16 func_80A6F810(PlayState* play, Actor* thisx) { if (textId != 0) { if ((this->actor.params & 0x7F) == ENHY_TYPE_BOJ_5) { - player->exchangeItemId = EXCH_ITEM_BLUE_FIRE; + player->exchangeItemId = EXCH_ITEM_BOTTLE_BLUE_FIRE; } return textId; } @@ -472,7 +472,7 @@ u16 func_80A6F810(PlayState* play, Actor* thisx) { case ENHY_TYPE_AHG_4: return (Flags_GetEventChkInf(EVENTCHKINF_ZELDA_FLED_HYRULE_CASTLE)) ? 0x704B : ((Flags_GetInfTable(INFTABLE_C5)) ? 0x7024 : 0x7023); case ENHY_TYPE_BOJ_5: - player->exchangeItemId = EXCH_ITEM_BLUE_FIRE; + player->exchangeItemId = EXCH_ITEM_BOTTLE_BLUE_FIRE; return 0x700C; case ENHY_TYPE_BBA: return (Flags_GetEventChkInf(EVENTCHKINF_ZELDA_FLED_HYRULE_CASTLE)) ? 0x704A : ((Flags_GetInfTable(INFTABLE_C6)) ? 0x7022 : 0x7021); @@ -555,7 +555,7 @@ u16 func_80A6F810(PlayState* play, Actor* thisx) { s16 func_80A70058(PlayState* play, Actor* thisx) { EnHy* this = (EnHy*)thisx; - s16 beggarItems[] = { ITEM_BLUE_FIRE, ITEM_FISH, ITEM_BUG, ITEM_FAIRY }; + s16 beggarItems[] = { ITEM_BOTTLE_BLUE_FIRE, ITEM_BOTTLE_FISH, ITEM_BOTTLE_BUG, ITEM_BOTTLE_FAIRY }; s16 beggarRewards[] = { 150, 100, 50, 25 }; switch (Message_GetState(&play->msgCtx)) { @@ -596,7 +596,7 @@ s16 func_80A70058(PlayState* play, Actor* thisx) { case 0x70F3: Rupees_ChangeBy(beggarRewards[this->actor.textId - 0x70F0]); Animation_ChangeByInfo(&this->skelAnime, sAnimationInfo, ENHY_ANIM_17); - Player_UpdateBottleHeld(play, GET_PLAYER(play), ITEM_BOTTLE, PLAYER_IA_BOTTLE); + Player_UpdateBottleHeld(play, GET_PLAYER(play), ITEM_BOTTLE_EMPTY, PLAYER_IA_BOTTLE); break; case 0x7016: Flags_SetInfTable(INFTABLE_C0); @@ -734,12 +734,12 @@ void func_80A70834(EnHy* this, PlayState* play) { Player* player = GET_PLAYER(play); if ((this->actor.params & 0x7F) == ENHY_TYPE_BOJ_5) { - if (!Inventory_HasSpecificBottle(ITEM_BLUE_FIRE) && !Inventory_HasSpecificBottle(ITEM_BUG) && - !Inventory_HasSpecificBottle(ITEM_FISH)) { + if (!Inventory_HasSpecificBottle(ITEM_BOTTLE_BLUE_FIRE) && !Inventory_HasSpecificBottle(ITEM_BOTTLE_BUG) && + !Inventory_HasSpecificBottle(ITEM_BOTTLE_FISH)) { switch (func_8002F368(play)) { - case EXCH_ITEM_POE: - case EXCH_ITEM_BIG_POE: - case EXCH_ITEM_LETTER_RUTO: + case EXCH_ITEM_BOTTLE_POE: + case EXCH_ITEM_BOTTLE_BIG_POE: + case EXCH_ITEM_BOTTLE_RUTOS_LETTER: this->actor.textId = 0x70EF; break; default: @@ -750,13 +750,13 @@ void func_80A70834(EnHy* this, PlayState* play) { } } else { switch (func_8002F368(play)) { - case EXCH_ITEM_BLUE_FIRE: + case EXCH_ITEM_BOTTLE_BLUE_FIRE: this->actor.textId = 0x70F0; break; - case EXCH_ITEM_FISH: + case EXCH_ITEM_BOTTLE_FISH: this->actor.textId = 0x70F1; break; - case EXCH_ITEM_BUG: + case EXCH_ITEM_BOTTLE_BUG: this->actor.textId = 0x70F2; break; default: diff --git a/soh/src/overlays/actors/ovl_En_Karebaba/z_en_karebaba.c b/soh/src/overlays/actors/ovl_En_Karebaba/z_en_karebaba.c index d78cf0820b0..93cf03ab938 100644 --- a/soh/src/overlays/actors/ovl_En_Karebaba/z_en_karebaba.c +++ b/soh/src/overlays/actors/ovl_En_Karebaba/z_en_karebaba.c @@ -367,7 +367,7 @@ void EnKarebaba_DeadItemDrop(EnKarebaba* this, PlayState* play) { if (Actor_HasParent(&this->actor, play) || this->actor.params == 0) { EnKarebaba_SetupDead(this); } else { - func_8002F554(&this->actor, play, GI_STICKS_1); + func_8002F554(&this->actor, play, GI_DEKU_STICKS_1); } } diff --git a/soh/src/overlays/actors/ovl_En_Ko/z_en_ko.c b/soh/src/overlays/actors/ovl_En_Ko/z_en_ko.c index 25299f5b06b..bfef510fb38 100644 --- a/soh/src/overlays/actors/ovl_En_Ko/z_en_ko.c +++ b/soh/src/overlays/actors/ovl_En_Ko/z_en_ko.c @@ -1235,11 +1235,11 @@ void func_80A99504(EnKo* this, PlayState* play) { this->actionFunc = func_80A99560; } else { if (IS_RANDO) { - GetItemEntry itemEntry = Randomizer_GetItemFromKnownCheck(RC_LW_TRADE_ODD_POTION, GI_SAW); + GetItemEntry itemEntry = Randomizer_GetItemFromKnownCheck(RC_LW_TRADE_ODD_POTION, GI_POACHERS_SAW); Randomizer_ConsumeAdultTradeItem(play, ITEM_ODD_POTION); GiveItemEntryFromActor(&this->actor, play, itemEntry, 120.0f, 10.0f); } else { - s32 itemId = GI_SAW; + s32 itemId = GI_POACHERS_SAW; func_8002F434(&this->actor, play, itemId, 120.0f, 10.0f); } } diff --git a/soh/src/overlays/actors/ovl_En_Kz/z_en_kz.c b/soh/src/overlays/actors/ovl_En_Kz/z_en_kz.c index 75b7479f334..aded9f1ee6a 100644 --- a/soh/src/overlays/actors/ovl_En_Kz/z_en_kz.c +++ b/soh/src/overlays/actors/ovl_En_Kz/z_en_kz.c @@ -77,13 +77,13 @@ u16 EnKz_GetTextNoMaskChild(PlayState* play, EnKz* this) { (!IS_RANDO && CHECK_QUEST_ITEM(QUEST_ZORA_SAPPHIRE))) { // Allow turning in Ruto's letter even if you have already rescued her if (IS_RANDO && !Flags_GetEventChkInf(EVENTCHKINF_KING_ZORA_MOVED)) { - player->exchangeItemId = EXCH_ITEM_LETTER_RUTO; + player->exchangeItemId = EXCH_ITEM_BOTTLE_RUTOS_LETTER; } return 0x402B; } else if (Flags_GetEventChkInf(EVENTCHKINF_KING_ZORA_MOVED)) { return 0x401C; } else { - player->exchangeItemId = EXCH_ITEM_LETTER_RUTO; + player->exchangeItemId = EXCH_ITEM_BOTTLE_RUTOS_LETTER; return 0x401A; } } @@ -91,11 +91,11 @@ u16 EnKz_GetTextNoMaskChild(PlayState* play, EnKz* this) { u16 EnKz_GetTextNoMaskAdult(PlayState* play, EnKz* this) { Player* player = GET_PLAYER(play); - // this works because both ITEM_NONE and later trade items are > ITEM_FROG - if (INV_CONTENT(ITEM_TRADE_ADULT) >= ITEM_FROG) { + // this works because both ITEM_NONE and later trade items are > ITEM_EYEBALL_FROG + if (INV_CONTENT(ITEM_TRADE_ADULT) >= ITEM_EYEBALL_FROG) { if (!Flags_GetInfTable(INFTABLE_139)) { if (!IS_RANDO) { - return CHECK_OWNED_EQUIP(EQUIP_TUNIC, 2) ? 0x401F : 0x4012; + return CHECK_OWNED_EQUIP(EQUIP_TYPE_TUNIC, 2) ? 0x401F : 0x4012; } else { return 0x4012; } @@ -244,7 +244,7 @@ void func_80A9CB18(EnKz* this, PlayState* play) { if (func_80A9C95C(play, this, &this->interactInfo.talkState, 340.0f, EnKz_GetText, func_80A9C6C0)) { if (((IS_RANDO && LINK_IS_CHILD) || this->actor.textId == 0x401A) && !Flags_GetEventChkInf(EVENTCHKINF_KING_ZORA_MOVED)) { - if (func_8002F368(play) == EXCH_ITEM_LETTER_RUTO) { + if (func_8002F368(play) == EXCH_ITEM_BOTTLE_RUTOS_LETTER) { this->actor.textId = 0x401B; this->sfxPlayed = false; } else { @@ -272,7 +272,7 @@ void func_80A9CB18(EnKz* this, PlayState* play) { player->actor.textId = this->actor.textId; } else { if (!IS_RANDO) { - this->actor.textId = CHECK_OWNED_EQUIP(EQUIP_TUNIC, 2) ? 0x401F : 0x4012; + this->actor.textId = CHECK_OWNED_EQUIP(EQUIP_TYPE_TUNIC, 2) ? 0x401F : 0x4012; } else { this->actor.textId = 0x4012; } @@ -432,7 +432,7 @@ void EnKz_Mweep(EnKz* this, PlayState* play) { Play_CameraSetAtEye(play, this->cutsceneCamera, &pos, &initPos); if ((EnKz_FollowPath(this, play) == 1) && (this->waypoint == 0)) { Animation_ChangeByInfo(&this->skelanime, sAnimationInfo, ENKZ_ANIM_1); - Inventory_ReplaceItem(play, ITEM_LETTER_RUTO, ITEM_BOTTLE); + Inventory_ReplaceItem(play, ITEM_BOTTLE_RUTOS_LETTER, ITEM_BOTTLE_EMPTY); EnKz_SetMovedPos(this, play); Flags_SetEventChkInf(EVENTCHKINF_KING_ZORA_MOVED); this->actor.speedXZ = 0.0; @@ -472,7 +472,7 @@ void EnKz_SetupGetItem(EnKz* this, PlayState* play) { } else { if (IS_RANDO) { if (this->isTrading) { - getItemEntry = Randomizer_GetItemFromKnownCheck(RC_ZD_TRADE_PRESCRIPTION, GI_FROG); + getItemEntry = Randomizer_GetItemFromKnownCheck(RC_ZD_TRADE_PRESCRIPTION, GI_EYEBALL_FROG); getItemId = getItemEntry.getItemId; Randomizer_ConsumeAdultTradeItem(play, ITEM_PRESCRIPTION); Flags_SetTreasure(play, 0x1F); @@ -481,7 +481,7 @@ void EnKz_SetupGetItem(EnKz* this, PlayState* play) { getItemId = getItemEntry.getItemId; } } else { - getItemId = this->isTrading ? GI_FROG : GI_TUNIC_ZORA; + getItemId = this->isTrading ? GI_EYEBALL_FROG : GI_TUNIC_ZORA; } yRange = fabsf(this->actor.yDistToPlayer) + 1.0f; xzRange = this->actor.xzDistToPlayer + 1.0f; @@ -495,7 +495,7 @@ void EnKz_SetupGetItem(EnKz* this, PlayState* play) { void EnKz_StartTimer(EnKz* this, PlayState* play) { if ((Message_GetState(&play->msgCtx) == TEXT_STATE_DONE) && Message_ShouldAdvance(play)) { - if (INV_CONTENT(ITEM_TRADE_ADULT) == ITEM_FROG && !IS_RANDO) { + if (INV_CONTENT(ITEM_TRADE_ADULT) == ITEM_EYEBALL_FROG && !IS_RANDO) { func_80088AA0(180); // start timer2 with 3 minutes gSaveContext.eventInf[1] &= ~1; } diff --git a/soh/src/overlays/actors/ovl_En_Ma1/z_en_ma1.c b/soh/src/overlays/actors/ovl_En_Ma1/z_en_ma1.c index f388d49896d..c2927265662 100644 --- a/soh/src/overlays/actors/ovl_En_Ma1/z_en_ma1.c +++ b/soh/src/overlays/actors/ovl_En_Ma1/z_en_ma1.c @@ -437,7 +437,7 @@ void func_80AA0F44(EnMa1* this, PlayState* play) { // If rando'ed, a textbox is closing, it's malon's 'my mom wrote this song' text, AND we do have an ocarina // in our inventory. This allows us to grant the check when talking to malon with the ocarina in our inventory. if (IS_RANDO && (Actor_TextboxIsClosing(&this->actor, play) && play->msgCtx.textId == 0x2049) && - (INV_CONTENT(ITEM_OCARINA_FAIRY) != ITEM_NONE || INV_CONTENT(ITEM_OCARINA_TIME) != ITEM_NONE)) { + (INV_CONTENT(ITEM_OCARINA_FAIRY) != ITEM_NONE || INV_CONTENT(ITEM_OCARINA_OF_TIME) != ITEM_NONE)) { this->actionFunc = EnMa1_WaitForSongGive; } } diff --git a/soh/src/overlays/actors/ovl_En_Md/z_en_md.c b/soh/src/overlays/actors/ovl_En_Md/z_en_md.c index d757a5a020f..c04e6c09420 100644 --- a/soh/src/overlays/actors/ovl_En_Md/z_en_md.c +++ b/soh/src/overlays/actors/ovl_En_Md/z_en_md.c @@ -384,7 +384,7 @@ u16 EnMd_GetTextKokiriForest(PlayState* play, EnMd* this) { return 0x1034; } - if ((CUR_EQUIP_VALUE(EQUIP_SHIELD) == 1) && (CUR_EQUIP_VALUE(EQUIP_SWORD) == 1)) { + if ((CUR_EQUIP_VALUE(EQUIP_TYPE_SHIELD) == 1) && (CUR_EQUIP_VALUE(EQUIP_TYPE_SWORD) == 1)) { return 0x1033; } diff --git a/soh/src/overlays/actors/ovl_En_Mk/z_en_mk.c b/soh/src/overlays/actors/ovl_En_Mk/z_en_mk.c index e5501858c8e..a815e85d225 100644 --- a/soh/src/overlays/actors/ovl_En_Mk/z_en_mk.c +++ b/soh/src/overlays/actors/ovl_En_Mk/z_en_mk.c @@ -102,12 +102,12 @@ void func_80AACA94(EnMk* this, PlayState* play) { } } else { if (IS_RANDO) { - GetItemEntry getItemEntry = Randomizer_GetItemFromKnownCheck(RC_LH_TRADE_FROG, GI_EYEDROPS); - Randomizer_ConsumeAdultTradeItem(play, ITEM_FROG); + GetItemEntry getItemEntry = Randomizer_GetItemFromKnownCheck(RC_LH_TRADE_FROG, GI_EYE_DROPS); + Randomizer_ConsumeAdultTradeItem(play, ITEM_EYEBALL_FROG); GiveItemEntryFromActor(&this->actor, play, getItemEntry, 10000.0f, 50.0f); Flags_SetRandomizerInf(RAND_INF_ADULT_TRADES_LH_TRADE_FROG); } else { - s32 getItemID = GI_EYEDROPS; + s32 getItemID = GI_EYE_DROPS; func_8002F434(&this->actor, play, getItemID, 10000.0f, 50.0f); } } @@ -117,12 +117,12 @@ void func_80AACB14(EnMk* this, PlayState* play) { if (Actor_TextboxIsClosing(&this->actor, play)) { this->actionFunc = func_80AACA94; if (IS_RANDO) { - GetItemEntry getItemEntry = Randomizer_GetItemFromKnownCheck(RC_LH_TRADE_FROG, GI_EYEDROPS); - Randomizer_ConsumeAdultTradeItem(play, ITEM_FROG); + GetItemEntry getItemEntry = Randomizer_GetItemFromKnownCheck(RC_LH_TRADE_FROG, GI_EYE_DROPS); + Randomizer_ConsumeAdultTradeItem(play, ITEM_EYEBALL_FROG); GiveItemEntryFromActor(&this->actor, play, getItemEntry, 10000.0f, 50.0f); Flags_SetRandomizerInf(RAND_INF_ADULT_TRADES_LH_TRADE_FROG); } else { - s32 getItemID = GI_EYEDROPS; + s32 getItemID = GI_EYE_DROPS; func_8002F434(&this->actor, play, getItemID, 10000.0f, 50.0f); } } @@ -256,7 +256,7 @@ void EnMk_Wait(EnMk* this, PlayState* play) { this->actionFunc = func_80AACA40; } else { // Skip eye drop text on rando if Link went in the water, so you can still receive the dive check - if (INV_CONTENT(ITEM_ODD_MUSHROOM) == ITEM_EYEDROPS && + if (INV_CONTENT(ITEM_ODD_MUSHROOM) == ITEM_EYE_DROPS && (!IS_RANDO || this->swimFlag == 0)) { player->actor.textId = 0x4032; this->actionFunc = func_80AACA40; @@ -282,7 +282,7 @@ void EnMk_Wait(EnMk* this, PlayState* play) { } } break; - case EXCH_ITEM_FROG: + case EXCH_ITEM_EYEBALL_FROG: player->actor.textId = 0x4019; this->actionFunc = func_80AACEE8; Animation_Change(&this->skelAnime, &object_mk_Anim_000368, 1.0f, 0.0f, @@ -308,7 +308,7 @@ void EnMk_Wait(EnMk* this, PlayState* play) { angle = this->actor.yawTowardsPlayer - this->actor.shape.rot.y; if ((ABS(angle) < 0x2151) && (this->actor.xzDistToPlayer < 100.0f)) { - func_8002F298(&this->actor, play, 100.0f, EXCH_ITEM_FROG); + func_8002F298(&this->actor, play, 100.0f, EXCH_ITEM_EYEBALL_FROG); this->flags |= 1; } } diff --git a/soh/src/overlays/actors/ovl_En_Ms/z_en_ms.c b/soh/src/overlays/actors/ovl_En_Ms/z_en_ms.c index 8c4f78a0cc5..db6577e204c 100644 --- a/soh/src/overlays/actors/ovl_En_Ms/z_en_ms.c +++ b/soh/src/overlays/actors/ovl_En_Ms/z_en_ms.c @@ -136,9 +136,9 @@ void EnMs_Talk(EnMs* this, PlayState* play) { } if (IS_RANDO && Randomizer_GetSettingValue(RSK_SHUFFLE_MAGIC_BEANS)) { GiveItemEntryFromActor(&this->actor, play, - Randomizer_GetItemFromKnownCheck(RC_ZR_MAGIC_BEAN_SALESMAN, GI_BEAN), 90.0f, 10.0f); + Randomizer_GetItemFromKnownCheck(RC_ZR_MAGIC_BEAN_SALESMAN, GI_MAGIC_BEAN), 90.0f, 10.0f); } else { - func_8002F434(&this->actor, play, GI_BEAN, 90.0f, 10.0f); + func_8002F434(&this->actor, play, GI_MAGIC_BEAN, 90.0f, 10.0f); } this->actionFunc = EnMs_Sell; return; @@ -158,16 +158,16 @@ void EnMs_Sell(EnMs* this, PlayState* play) { (IS_RANDO && Randomizer_GetSettingValue(RSK_SHUFFLE_MAGIC_BEANS)) ? EnMs_Wait : EnMs_TalkAfterPurchase; } else { if (IS_RANDO && Randomizer_GetSettingValue(RSK_SHUFFLE_MAGIC_BEANS)) { - GetItemEntry itemEntry = Randomizer_GetItemFromKnownCheck(RC_ZR_MAGIC_BEAN_SALESMAN, GI_BEAN); + GetItemEntry itemEntry = Randomizer_GetItemFromKnownCheck(RC_ZR_MAGIC_BEAN_SALESMAN, GI_MAGIC_BEAN); gSaveContext.pendingSale = itemEntry.itemId; gSaveContext.pendingSaleMod = itemEntry.modIndex; GiveItemEntryFromActor(&this->actor, play, itemEntry, 90.0f, 10.0f); BEANS_BOUGHT = 10; } else { - GetItemEntry entry = ItemTable_Retrieve(GI_BEAN); + GetItemEntry entry = ItemTable_Retrieve(GI_MAGIC_BEAN); gSaveContext.pendingSaleMod = entry.modIndex; gSaveContext.pendingSale = entry.itemId; - func_8002F434(&this->actor, play, GI_BEAN, 90.0f, 10.0f); + func_8002F434(&this->actor, play, GI_MAGIC_BEAN, 90.0f, 10.0f); } } } diff --git a/soh/src/overlays/actors/ovl_En_Niw_Lady/z_en_niw_lady.c b/soh/src/overlays/actors/ovl_En_Niw_Lady/z_en_niw_lady.c index 8ddf52fad9b..eb7226b3008 100644 --- a/soh/src/overlays/actors/ovl_En_Niw_Lady/z_en_niw_lady.c +++ b/soh/src/overlays/actors/ovl_En_Niw_Lady/z_en_niw_lady.c @@ -309,10 +309,10 @@ void func_80ABA654(EnNiwLady* this, PlayState* play) { this->actor.parent = NULL; if (!IS_RANDO) { - this->getItemId = GI_BOTTLE; - func_8002F434(&this->actor, play, GI_BOTTLE, 100.0f, 50.0f); + this->getItemId = GI_BOTTLE_EMPTY; + func_8002F434(&this->actor, play, GI_BOTTLE_EMPTY, 100.0f, 50.0f); } else { - this->getItemEntry = Randomizer_GetItemFromKnownCheck(RC_KAK_ANJU_AS_CHILD, GI_BOTTLE); + this->getItemEntry = Randomizer_GetItemFromKnownCheck(RC_KAK_ANJU_AS_CHILD, GI_BOTTLE_EMPTY); GiveItemEntryFromActor(&this->actor, play, this->getItemEntry, 100.0f, 50.0f); } diff --git a/soh/src/overlays/actors/ovl_En_Okarina_Tag/z_en_okarina_tag.c b/soh/src/overlays/actors/ovl_En_Okarina_Tag/z_en_okarina_tag.c index 74afaacff49..e0c6c641b82 100644 --- a/soh/src/overlays/actors/ovl_En_Okarina_Tag/z_en_okarina_tag.c +++ b/soh/src/overlays/actors/ovl_En_Okarina_Tag/z_en_okarina_tag.c @@ -258,7 +258,7 @@ void func_80ABF4C8(EnOkarinaTag* this, PlayState* play) { case 4: if (IS_RANDO) { if (Randomizer_GetSettingValue(RSK_DOOR_OF_TIME) == RO_DOOROFTIME_CLOSED && - (INV_CONTENT(ITEM_OCARINA_FAIRY) != ITEM_OCARINA_TIME || + (INV_CONTENT(ITEM_OCARINA_FAIRY) != ITEM_OCARINA_OF_TIME || !CHECK_QUEST_ITEM(QUEST_KOKIRI_EMERALD) || !CHECK_QUEST_ITEM(QUEST_GORON_RUBY) || !CHECK_QUEST_ITEM(QUEST_ZORA_SAPPHIRE))) { func_80078884(NA_SE_SY_OCARINA_ERROR); @@ -325,7 +325,7 @@ void func_80ABF708(EnOkarinaTag* this, PlayState* play) { void GivePlayerRandoRewardSunSong(EnOkarinaTag* song, PlayState* play, RandomizerCheck check) { Flags_SetTreasure(play, 0x1F); - GetItemEntry getItemEntry = Randomizer_GetItemFromKnownCheck(check, GI_LETTER_ZELDA); + GetItemEntry getItemEntry = Randomizer_GetItemFromKnownCheck(check, GI_ZELDAS_LETTER); GiveItemEntryFromActor(&song->actor, play, getItemEntry, 10000.0f, 100.0f); } diff --git a/soh/src/overlays/actors/ovl_En_Partner/z_en_partner.c b/soh/src/overlays/actors/ovl_En_Partner/z_en_partner.c index 4a2201ab749..cfafc686d64 100644 --- a/soh/src/overlays/actors/ovl_En_Partner/z_en_partner.c +++ b/soh/src/overlays/actors/ovl_En_Partner/z_en_partner.c @@ -319,7 +319,7 @@ void UseDekuStick(Actor* thisx, PlayState* play, u8 started) { if (this->itemTimer <= 0) { if (started == 1) { - if (AMMO(ITEM_STICK) > 0) { + if (AMMO(ITEM_DEKU_STICK) > 0) { func_808328EC(this, NA_SE_EV_FLAME_IGNITION); } else { func_80078884(NA_SE_SY_ERROR); @@ -327,7 +327,7 @@ void UseDekuStick(Actor* thisx, PlayState* play, u8 started) { } if (started == 2) { - if (AMMO(ITEM_STICK) > 0) { + if (AMMO(ITEM_DEKU_STICK) > 0) { this->stickWeaponInfo.tip = this->actor.world.pos; this->stickWeaponInfo.tip.y += 7.0f; @@ -337,7 +337,7 @@ void UseDekuStick(Actor* thisx, PlayState* play, u8 started) { CollisionCheck_SetAT(play, &play->colChkCtx, &this->collider.base); if (this->damageTimer <= 0) { - Inventory_ChangeAmmo(ITEM_STICK, -1); + Inventory_ChangeAmmo(ITEM_DEKU_STICK, -1); this->damageTimer = 20; } else { this->damageTimer--; @@ -352,11 +352,11 @@ void UseNuts(Actor* thisx, PlayState* play, u8 started) { if (this->itemTimer <= 0) { if (started == 1) { - if (AMMO(ITEM_NUT) > 0) { + if (AMMO(ITEM_DEKU_NUT) > 0) { this->itemTimer = 10; Actor_Spawn(&play->actorCtx, play, ACTOR_EN_ARROW, this->actor.world.pos.x, this->actor.world.pos.y + 7, this->actor.world.pos.z, 0x1000, this->actor.world.rot.y, 0, ARROW_NUT, false); - Inventory_ChangeAmmo(ITEM_NUT, -1); + Inventory_ChangeAmmo(ITEM_DEKU_NUT, -1); } else { func_80078884(NA_SE_SY_ERROR); } @@ -431,7 +431,7 @@ void UseBeans(Actor* thisx, PlayState* play, u8 started) { if (this->itemTimer <= 0) { if (started == 1) { - this->entry = ItemTable_Retrieve(GI_BEAN); + this->entry = ItemTable_Retrieve(GI_MAGIC_BEAN); if (play->actorCtx.titleCtx.alpha <= 0) { if (gSaveContext.rupees >= 100 && GiveItemEntryWithoutActor(play, this->entry)) { Rupees_ChangeBy(-100); @@ -510,7 +510,7 @@ void UseItem(uint8_t usedItem, u8 started, Actor* thisx, PlayState* play) { if (this->usedItem != 0xFF && this->itemTimer <= 0) { switch (usedItem) { - case SLOT_STICK: + case SLOT_DEKU_STICK: UseDekuStick(this, play, started); break; case SLOT_BOMB: @@ -519,7 +519,7 @@ void UseItem(uint8_t usedItem, u8 started, Actor* thisx, PlayState* play) { case SLOT_BOMBCHU: UseBombchus(this, play, started); break; - case SLOT_NUT: + case SLOT_DEKU_NUT: UseNuts(this, play, started); break; case SLOT_BOW: @@ -558,10 +558,10 @@ void UseItem(uint8_t usedItem, u8 started, Actor* thisx, PlayState* play) { case SLOT_BOOMERANG: UseBoomerang(this, play, started); break; - case SLOT_LENS: + case SLOT_LENS_OF_TRUTH: UseLens(this, play, started); break; - case SLOT_BEAN: + case SLOT_MAGIC_BEAN: UseBeans(this, play, started); break; } diff --git a/soh/src/overlays/actors/ovl_En_Po_Field/z_en_po_field.c b/soh/src/overlays/actors/ovl_En_Po_Field/z_en_po_field.c index c11feb327d9..dc6c9e249c6 100644 --- a/soh/src/overlays/actors/ovl_En_Po_Field/z_en_po_field.c +++ b/soh/src/overlays/actors/ovl_En_Po_Field/z_en_po_field.c @@ -710,11 +710,11 @@ void EnPoField_SoulInteract(EnPoField* this, PlayState* play) { if (Inventory_HasEmptyBottle()) { Audio_PlayActorSound2(&this->actor, NA_SE_EN_PO_BIG_GET); if (this->actor.params == 0) { - Item_Give(play, ITEM_POE); + Item_Give(play, ITEM_BOTTLE_POE); this->actor.textId = 0x5008; } else { this->actor.textId = 0x508F; - Item_Give(play, ITEM_BIG_POE); + Item_Give(play, ITEM_BOTTLE_BIG_POE); Flags_SetSwitch(play, sEnPoFieldSpawnSwitchFlags[this->spawnFlagIndex]); } } else { diff --git a/soh/src/overlays/actors/ovl_En_Poh/z_en_poh.c b/soh/src/overlays/actors/ovl_En_Poh/z_en_poh.c index 809150fe630..a996a4ae7b9 100644 --- a/soh/src/overlays/actors/ovl_En_Poh/z_en_poh.c +++ b/soh/src/overlays/actors/ovl_En_Poh/z_en_poh.c @@ -823,7 +823,7 @@ void EnPoh_TalkRegular(EnPoh* this, PlayState* play) { if (play->msgCtx.choiceIndex == 0) { if (Inventory_HasEmptyBottle()) { this->actor.textId = 0x5008; - Item_Give(play, ITEM_POE); + Item_Give(play, ITEM_BOTTLE_POE); Audio_PlayActorSound2(&this->actor, NA_SE_EN_PO_BIG_GET); } else { this->actor.textId = 0x5006; diff --git a/soh/src/overlays/actors/ovl_En_Rr/z_en_rr.c b/soh/src/overlays/actors/ovl_En_Rr/z_en_rr.c index 49207d64365..0d0a026295a 100644 --- a/soh/src/overlays/actors/ovl_En_Rr/z_en_rr.c +++ b/soh/src/overlays/actors/ovl_En_Rr/z_en_rr.c @@ -298,15 +298,15 @@ void EnRr_SetupReleasePlayer(EnRr* this, PlayState* play) { this->wobbleSizeTarget = 2048.0f; tunic = 0; shield = 0; - if (CUR_EQUIP_VALUE(EQUIP_SHIELD) != 3 /* Mirror shield */) { - shield = Inventory_DeleteEquipment(play, EQUIP_SHIELD); + if (CUR_EQUIP_VALUE(EQUIP_TYPE_SHIELD) != 3 /* Mirror shield */) { + shield = Inventory_DeleteEquipment(play, EQUIP_TYPE_SHIELD); if (shield != 0) { this->eatenShield = shield; this->retreat = true; } } - if (CUR_EQUIP_VALUE(EQUIP_TUNIC) != 1 /* Kokiri tunic */ && !IS_RANDO /* Randomizer Save File */) { - tunic = Inventory_DeleteEquipment(play, EQUIP_TUNIC); + if (CUR_EQUIP_VALUE(EQUIP_TYPE_TUNIC) != 1 /* Kokiri tunic */ && !IS_RANDO /* Randomizer Save File */) { + tunic = Inventory_DeleteEquipment(play, EQUIP_TYPE_TUNIC); if (tunic != 0) { this->eatenTunic = tunic; this->retreat = true; diff --git a/soh/src/overlays/actors/ovl_En_Si/z_en_si.c b/soh/src/overlays/actors/ovl_En_Si/z_en_si.c index 49e88f90345..6521bf5798a 100644 --- a/soh/src/overlays/actors/ovl_En_Si/z_en_si.c +++ b/soh/src/overlays/actors/ovl_En_Si/z_en_si.c @@ -243,7 +243,7 @@ void Randomizer_GiveSkullReward(EnSi* this, PlayState* play) { if (getItem.modIndex == MOD_NONE) { // RANDOTOD: Move this into Item_Give() or some other more central location - if (getItem.getItemId == GI_SWORD_BGS) { + if (getItem.getItemId == GI_SWORD_BIGGORON) { gSaveContext.bgsFlag = true; } Item_Give(play, giveItemId); diff --git a/soh/src/overlays/actors/ovl_En_Skj/z_en_skj.c b/soh/src/overlays/actors/ovl_En_Skj/z_en_skj.c index 3492d6de952..f09c92b567f 100644 --- a/soh/src/overlays/actors/ovl_En_Skj/z_en_skj.c +++ b/soh/src/overlays/actors/ovl_En_Skj/z_en_skj.c @@ -400,7 +400,7 @@ void EnSkj_Init(Actor* thisx, PlayState* play2) { default: this->actor.params = type; if (((this->actor.params != 0) && (this->actor.params != 1)) && (this->actor.params != 2)) { - if (INV_CONTENT(ITEM_TRADE_ADULT) < ITEM_SAW) { + if (INV_CONTENT(ITEM_TRADE_ADULT) < ITEM_POACHERS_SAW) { Actor_Kill(&this->actor); return; } diff --git a/soh/src/overlays/actors/ovl_En_Ta/z_en_ta.c b/soh/src/overlays/actors/ovl_En_Ta/z_en_ta.c index 9b0dc07e2a4..f5c554da7bb 100644 --- a/soh/src/overlays/actors/ovl_En_Ta/z_en_ta.c +++ b/soh/src/overlays/actors/ovl_En_Ta/z_en_ta.c @@ -879,9 +879,9 @@ void func_80B15E80(EnTa* this, PlayState* play) { func_8002F434(&this->actor, play, GI_MILK, 10000.0f, 50.0f); } else { if (!IS_RANDO) { - func_8002F434(&this->actor, play, GI_MILK_BOTTLE, 10000.0f, 50.0f); + func_8002F434(&this->actor, play, GI_BOTTLE_MILK_FULL, 10000.0f, 50.0f); } else { - GetItemEntry getItemEntry = Randomizer_GetItemFromKnownCheck(RC_LLR_TALONS_CHICKENS, GI_MILK_BOTTLE); + GetItemEntry getItemEntry = Randomizer_GetItemFromKnownCheck(RC_LLR_TALONS_CHICKENS, GI_BOTTLE_MILK_FULL); GiveItemEntryFromActor(&this->actor, play, getItemEntry, 10000.0f, 50.0f); } } @@ -894,9 +894,9 @@ void func_80B15F54(EnTa* this, PlayState* play) { this->unk_2E0 &= ~0x2; func_80B13AA0(this, func_80B15E80, func_80B16938); if (!IS_RANDO) { - func_8002F434(&this->actor, play, GI_MILK_BOTTLE, 10000.0f, 50.0f); + func_8002F434(&this->actor, play, GI_BOTTLE_MILK_FULL, 10000.0f, 50.0f); } else { - GetItemEntry getItemEntry = Randomizer_GetItemFromKnownCheck(RC_LLR_TALONS_CHICKENS, GI_MILK_BOTTLE); + GetItemEntry getItemEntry = Randomizer_GetItemFromKnownCheck(RC_LLR_TALONS_CHICKENS, GI_BOTTLE_MILK_FULL); GiveItemEntryFromActor(&this->actor, play, getItemEntry, 10000.0f, 50.0f); } } diff --git a/soh/src/overlays/actors/ovl_En_Toryo/z_en_toryo.c b/soh/src/overlays/actors/ovl_En_Toryo/z_en_toryo.c index d52b82d8df6..8a507aee4cb 100644 --- a/soh/src/overlays/actors/ovl_En_Toryo/z_en_toryo.c +++ b/soh/src/overlays/actors/ovl_En_Toryo/z_en_toryo.c @@ -320,12 +320,12 @@ void func_80B20768(EnToryo* this, PlayState* play) { this->unk_1E4 = 5; } else { if (IS_RANDO) { - GetItemEntry itemEntry = Randomizer_GetItemFromKnownCheck(RC_GV_TRADE_SAW, GI_SWORD_BROKEN); - Randomizer_ConsumeAdultTradeItem(play, ITEM_SAW); + GetItemEntry itemEntry = Randomizer_GetItemFromKnownCheck(RC_GV_TRADE_SAW, GI_BROKEN_GORONS_SWORD); + Randomizer_ConsumeAdultTradeItem(play, ITEM_POACHERS_SAW); GiveItemEntryFromActor(&this->actor, play, itemEntry, 100.0f, 10.0f); Flags_SetRandomizerInf(RAND_INF_ADULT_TRADES_GV_TRADE_SAW); } else { - s32 itemId = GI_SWORD_BROKEN; + s32 itemId = GI_BROKEN_GORONS_SWORD; func_8002F434(&this->actor, play, itemId, 100.0f, 10.0f); } } diff --git a/soh/src/overlays/actors/ovl_En_Wood02/z_en_wood02.c b/soh/src/overlays/actors/ovl_En_Wood02/z_en_wood02.c index 4adb7afe761..a1a46ca99c8 100644 --- a/soh/src/overlays/actors/ovl_En_Wood02/z_en_wood02.c +++ b/soh/src/overlays/actors/ovl_En_Wood02/z_en_wood02.c @@ -352,7 +352,7 @@ void EnWood02_Update(Actor* thisx, PlayState* play2) { dropsSpawnPt = this->actor.world.pos; dropsSpawnPt.y += 200.0f; - if ((this->unk_14C >= 0) && (this->unk_14C < 0x64) && (CVarGetInteger("gTreeStickDrops", 0)) && !(INV_CONTENT(ITEM_STICK) == ITEM_NONE)) { + if ((this->unk_14C >= 0) && (this->unk_14C < 0x64) && (CVarGetInteger("gTreeStickDrops", 0)) && !(INV_CONTENT(ITEM_DEKU_STICK) == ITEM_NONE)) { (numDrops = (Rand_ZeroOne() * 4)); for (i = 0; i < numDrops; ++i) { Item_DropCollectible(play, &dropsSpawnPt, ITEM00_STICK); diff --git a/soh/src/overlays/actors/ovl_En_Xc/z_en_xc.c b/soh/src/overlays/actors/ovl_En_Xc/z_en_xc.c index c72a82df699..965540a38f7 100644 --- a/soh/src/overlays/actors/ovl_En_Xc/z_en_xc.c +++ b/soh/src/overlays/actors/ovl_En_Xc/z_en_xc.c @@ -376,7 +376,7 @@ void EnXc_SetupSerenadeAction(EnXc* this, PlayState* play) { } // Player is adult and does not have iron boots and has not learned Serenade - if ((!CHECK_OWNED_EQUIP(EQUIP_BOOTS, 1) && !Flags_GetEventChkInf(EVENTCHKINF_LEARNED_SERENADE_OF_WATER)) && LINK_IS_ADULT) { + if ((!CHECK_OWNED_EQUIP(EQUIP_TYPE_BOOTS, 1) && !Flags_GetEventChkInf(EVENTCHKINF_LEARNED_SERENADE_OF_WATER)) && LINK_IS_ADULT) { this->action = SHEIK_ACTION_SERENADE; osSyncPrintf("水のセレナーデ シーク誕生!!!!!!!!!!!!!!!!!!\n"); } else { @@ -390,7 +390,7 @@ s32 EnXc_SerenadeCS(EnXc* this, PlayState* play) { Player* player = GET_PLAYER(play); s32 stateFlags = player->stateFlags1; - if (((CHECK_OWNED_EQUIP(EQUIP_BOOTS, 1) && !IS_RANDO) || + if (((CHECK_OWNED_EQUIP(EQUIP_TYPE_BOOTS, 1) && !IS_RANDO) || (Flags_GetTreasure(play, 2) && IS_RANDO)) && !Flags_GetEventChkInf(EVENTCHKINF_LEARNED_SERENADE_OF_WATER) && !(stateFlags & 0x20000000) && !Play_InCsMode(play)) { @@ -2241,13 +2241,13 @@ void EnXc_SetupDialogueAction(EnXc* this, PlayState* play) { } else { this->actor.flags |= ACTOR_FLAG_TARGETABLE | ACTOR_FLAG_FRIENDLY; if (IS_RANDO && gPlayState->sceneNum == SCENE_TEMPLE_OF_TIME) { - if (!CHECK_DUNGEON_ITEM(DUNGEON_KEY_BOSS, SCENE_GANONS_TOWER)) { + if (!CHECK_DUNGEON_ITEM(DUNGEON_BOSS_KEY, SCENE_GANONS_TOWER)) { this->actor.textId = TEXT_SHEIK_NEED_HOOK; } else { this->actor.textId = TEXT_SHEIK_HAVE_HOOK; } } else if (IS_RANDO && gPlayState->sceneNum == SCENE_INSIDE_GANONS_CASTLE) { - if (CHECK_OWNED_EQUIP(EQUIP_SWORD, 1) && INV_CONTENT(ITEM_ARROW_LIGHT) == ITEM_ARROW_LIGHT && + if (CHECK_OWNED_EQUIP(EQUIP_TYPE_SWORD, 1) && INV_CONTENT(ITEM_ARROW_LIGHT) == ITEM_ARROW_LIGHT && CUR_CAPACITY(UPG_QUIVER) >= 30 && gSaveContext.isMagicAcquired) { this->actor.textId = TEXT_SHEIK_HAVE_HOOK; } else { diff --git a/soh/src/overlays/actors/ovl_En_Zl1/z_en_zl1.c b/soh/src/overlays/actors/ovl_En_Zl1/z_en_zl1.c index 133556f52c1..2bc3fcfadc7 100644 --- a/soh/src/overlays/actors/ovl_En_Zl1/z_en_zl1.c +++ b/soh/src/overlays/actors/ovl_En_Zl1/z_en_zl1.c @@ -510,7 +510,7 @@ void func_80B4BF2C(EnZl1* this, PlayState* play) { if ((Message_GetState(msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { this->actor.textId = 0xFFFF; play->talkWithPlayer(play, &this->actor); - func_8002F434(&this->actor, play, GI_LETTER_ZELDA, 120.0f, 10.0f); + func_8002F434(&this->actor, play, GI_ZELDAS_LETTER, 120.0f, 10.0f); play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING; play->msgCtx.stateTimer = 4; this->unk_1E2++; @@ -525,7 +525,7 @@ void func_80B4BF2C(EnZl1* this, PlayState* play) { this->actor.parent = NULL; this->unk_1E2++; } else { - func_8002F434(&this->actor, play, GI_LETTER_ZELDA, 120.0f, 10.0f); + func_8002F434(&this->actor, play, GI_ZELDAS_LETTER, 120.0f, 10.0f); } break; case 3: diff --git a/soh/src/overlays/actors/ovl_En_Zl4/z_en_zl4.c b/soh/src/overlays/actors/ovl_En_Zl4/z_en_zl4.c index 3f5412b05fe..1b9ebf154cc 100644 --- a/soh/src/overlays/actors/ovl_En_Zl4/z_en_zl4.c +++ b/soh/src/overlays/actors/ovl_En_Zl4/z_en_zl4.c @@ -233,7 +233,7 @@ void GivePlayerRandoRewardZeldaChild(EnZl4* zelda, PlayState* play, RandomizerCh Flags_SetTreasure(play, 0x1E); } else if (!Flags_GetTreasure(play, 0x1E) && !Randomizer_GetSettingValue(RSK_SKIP_CHILD_ZELDA) && Actor_TextboxIsClosing(&zelda->actor, play) && (play->msgCtx.textId == 0x703C || play->msgCtx.textId == 0x703D)) { - GetItemEntry getItemEntry = Randomizer_GetItemFromKnownCheck(check, GI_LETTER_ZELDA); + GetItemEntry getItemEntry = Randomizer_GetItemFromKnownCheck(check, GI_ZELDAS_LETTER); GiveItemEntryFromActor(&zelda->actor, play, getItemEntry, 10000.0f, 100.0f); } else if (Flags_GetTreasure(play, 0x1E) && !Player_InBlockingCsMode(play, GET_PLAYER(play))) { gSaveContext.unk_13EE = 0x32; @@ -1127,7 +1127,7 @@ s32 EnZl4_CsMakePlan(EnZl4* this, PlayState* play) { Camera_ChangeSetting(GET_ACTIVE_CAM(play), 1); this->talkState = 7; play->talkWithPlayer(play, &this->actor); - func_8002F434(&this->actor, play, GI_LETTER_ZELDA, fabsf(this->actor.xzDistToPlayer) + 1.0f, + func_8002F434(&this->actor, play, GI_ZELDAS_LETTER, fabsf(this->actor.xzDistToPlayer) + 1.0f, fabsf(this->actor.yDistToPlayer) + 1.0f); play->msgCtx.stateTimer = 4; play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING; @@ -1138,7 +1138,7 @@ s32 EnZl4_CsMakePlan(EnZl4* this, PlayState* play) { Animation_ChangeByInfo(&this->skelAnime, sAnimationInfo, ZL4_ANIM_0); this->talkState++; } else { - func_8002F434(&this->actor, play, GI_LETTER_ZELDA, fabsf(this->actor.xzDistToPlayer) + 1.0f, + func_8002F434(&this->actor, play, GI_ZELDAS_LETTER, fabsf(this->actor.xzDistToPlayer) + 1.0f, fabsf(this->actor.yDistToPlayer) + 1.0f); } // no break here is required for matching diff --git a/soh/src/overlays/actors/ovl_Fishing/z_fishing.c b/soh/src/overlays/actors/ovl_Fishing/z_fishing.c index ecb16dcb6c9..6a044dda15e 100644 --- a/soh/src/overlays/actors/ovl_Fishing/z_fishing.c +++ b/soh/src/overlays/actors/ovl_Fishing/z_fishing.c @@ -5070,9 +5070,9 @@ void Fishing_HandleOwnerDialog(Fishing* this, PlayState* play) { Flags_SetRandomizerInf(RAND_INF_ADULT_FISHING); sSinkingLureLocation = (u8)Rand_ZeroFloat(3.999f) + 1; if (!IS_RANDO) { - getItemId = GI_SCALE_GOLD; + getItemId = GI_SCALE_GOLDEN; } else { - getItemEntry = Randomizer_GetItemFromKnownCheck(RC_LH_ADULT_FISHING, GI_SCALE_GOLD); + getItemEntry = Randomizer_GetItemFromKnownCheck(RC_LH_ADULT_FISHING, GI_SCALE_GOLDEN); getItemId = getItemEntry.getItemId; } } @@ -5131,7 +5131,7 @@ void Fishing_HandleOwnerDialog(Fishing* this, PlayState* play) { if (gSaveContext.temporaryWeapon) { player->currentSwordItemId = ITEM_NONE; gSaveContext.equips.buttonItems[0] = ITEM_NONE; - Inventory_ChangeEquipment(EQUIP_SWORD, PLAYER_SWORD_NONE); + Inventory_ChangeEquipment(EQUIP_TYPE_SWORD, PLAYER_SWORD_NONE); gSaveContext.temporaryWeapon = false; } @@ -5150,9 +5150,9 @@ void Fishing_HandleOwnerDialog(Fishing* this, PlayState* play) { this->unk_15C = 24; } else { if (!IS_RANDO) { - func_8002F434(&this->actor, play, GI_SCALE_GOLD, 2000.0f, 1000.0f); + func_8002F434(&this->actor, play, GI_SCALE_GOLDEN, 2000.0f, 1000.0f); } else { - GetItemEntry getItemEntry = Randomizer_GetItemFromKnownCheck(RC_LH_ADULT_FISHING, GI_SCALE_GOLD); + GetItemEntry getItemEntry = Randomizer_GetItemFromKnownCheck(RC_LH_ADULT_FISHING, GI_SCALE_GOLDEN); GiveItemEntryFromActor(&this->actor, play, getItemEntry, 2000.0f, 1000.0f); } } diff --git a/soh/src/overlays/actors/ovl_Item_Etcetera/z_item_etcetera.c b/soh/src/overlays/actors/ovl_Item_Etcetera/z_item_etcetera.c index 189f9cfe724..3580ff8ed6f 100644 --- a/soh/src/overlays/actors/ovl_Item_Etcetera/z_item_etcetera.c +++ b/soh/src/overlays/actors/ovl_Item_Etcetera/z_item_etcetera.c @@ -44,13 +44,13 @@ static s16 sObjectIds[] = { // Indexes passed to the item table in z_draw.c static s16 sDrawItemIndexes[] = { - GID_BOTTLE, GID_LETTER_RUTO, GID_SHIELD_HYLIAN, GID_QUIVER_40, GID_SCALE_SILVER, - GID_SCALE_GOLDEN, GID_KEY_SMALL, GID_ARROW_FIRE, GID_RUPEE_GREEN, GID_RUPEE_BLUE, - GID_RUPEE_RED, GID_RUPEE_PURPLE, GID_HEART_PIECE, GID_KEY_SMALL, + GID_BOTTLE_EMPTY, GID_BOTTLE_RUTOS_LETTER, GID_SHIELD_HYLIAN, GID_QUIVER_40, GID_SCALE_SILVER, + GID_SCALE_GOLDEN, GID_SMALL_KEY, GID_ARROW_FIRE, GID_RUPEE_GREEN, GID_RUPEE_BLUE, + GID_RUPEE_RED, GID_RUPEE_PURPLE, GID_HEART_PIECE, GID_SMALL_KEY, }; static s16 sGetItemIds[] = { - GI_BOTTLE, GI_LETTER_RUTO, GI_SHIELD_HYLIAN, GI_QUIVER_40, GI_SCALE_SILVER, GI_SCALE_GOLD, GI_KEY_SMALL, + GI_BOTTLE_EMPTY, GI_BOTTLE_RUTOS_LETTER, GI_SHIELD_HYLIAN, GI_QUIVER_40, GI_SCALE_SILVER, GI_SCALE_GOLDEN, GI_SMALL_KEY, GI_ARROW_FIRE, GI_NONE, GI_NONE, GI_NONE, GI_NONE, GI_NONE, GI_NONE, }; @@ -159,7 +159,7 @@ void func_80B858B4(ItemEtcetera* this, PlayState* play) { if (!IS_RANDO) { func_8002F434(&this->actor, play, this->getItemId, 30.0f, 50.0f); } else { - GetItemEntry getItemEntry = Randomizer_GetItemFromKnownCheck(RC_LH_UNDERWATER_ITEM, GI_LETTER_RUTO); + GetItemEntry getItemEntry = Randomizer_GetItemFromKnownCheck(RC_LH_UNDERWATER_ITEM, GI_BOTTLE_RUTOS_LETTER); GiveItemEntryFromActor(&this->actor, play, getItemEntry, 30.0f, 50.0f); } @@ -251,7 +251,7 @@ void ItemEtcetera_Draw(Actor* thisx, PlayState* play) { if (type == ITEM_ETC_ARROW_FIRE) { randoGetItem = Randomizer_GetItemFromKnownCheck(RC_LH_SUN, GI_ARROW_FIRE); } else if (type == ITEM_ETC_LETTER) { - randoGetItem = Randomizer_GetItemFromKnownCheck(RC_LH_UNDERWATER_ITEM, GI_LETTER_RUTO); + randoGetItem = Randomizer_GetItemFromKnownCheck(RC_LH_UNDERWATER_ITEM, GI_BOTTLE_RUTOS_LETTER); } EnItem00_CustomItemsParticles(&this->actor, play, randoGetItem); diff --git a/soh/src/overlays/actors/ovl_Item_Ocarina/z_item_ocarina.c b/soh/src/overlays/actors/ovl_Item_Ocarina/z_item_ocarina.c index 5cfb6b81fbe..10396a04edc 100644 --- a/soh/src/overlays/actors/ovl_Item_Ocarina/z_item_ocarina.c +++ b/soh/src/overlays/actors/ovl_Item_Ocarina/z_item_ocarina.c @@ -190,9 +190,9 @@ void ItemOcarina_WaitInWater(ItemOcarina* this, PlayState* play) { this->actor.draw = NULL; } else { if (!IS_RANDO) { - func_8002F434(&this->actor, play, GI_OCARINA_OOT, 30.0f, 50.0f); + func_8002F434(&this->actor, play, GI_OCARINA_OF_TIME, 30.0f, 50.0f); } else { - GetItemEntry getItemEntry = Randomizer_GetItemFromKnownCheck(RC_HF_OCARINA_OF_TIME_ITEM, GI_OCARINA_OOT); + GetItemEntry getItemEntry = Randomizer_GetItemFromKnownCheck(RC_HF_OCARINA_OF_TIME_ITEM, GI_OCARINA_OF_TIME); GiveItemEntryFromActor(&this->actor, play, getItemEntry, 30.0f, 50.0f); } @@ -215,11 +215,11 @@ void ItemOcarina_Draw(Actor* thisx, PlayState* play) { func_8002ED80(thisx, play, 0); if (IS_RANDO) { - GetItemEntry randoGetItem = Randomizer_GetItemFromKnownCheck(RC_HF_OCARINA_OF_TIME_ITEM, GI_OCARINA_OOT); + GetItemEntry randoGetItem = Randomizer_GetItemFromKnownCheck(RC_HF_OCARINA_OF_TIME_ITEM, GI_OCARINA_OF_TIME); EnItem00_CustomItemsParticles(&this->actor, play, randoGetItem); GetItemEntry_Draw(play, randoGetItem); return; } - GetItem_Draw(play, GID_OCARINA_TIME); + GetItem_Draw(play, GID_OCARINA_OF_TIME); } diff --git a/soh/src/overlays/actors/ovl_Obj_Bean/z_obj_bean.c b/soh/src/overlays/actors/ovl_Obj_Bean/z_obj_bean.c index c57eb7b1d39..ac9f33859f5 100644 --- a/soh/src/overlays/actors/ovl_Obj_Bean/z_obj_bean.c +++ b/soh/src/overlays/actors/ovl_Obj_Bean/z_obj_bean.c @@ -540,12 +540,12 @@ void ObjBean_SetupWaitForBean(ObjBean* this) { void ObjBean_WaitForBean(ObjBean* this, PlayState* play) { if (Actor_ProcessTalkRequest(&this->dyna.actor, play)) { - if (func_8002F368(play) == EXCH_ITEM_BEAN) { + if (func_8002F368(play) == EXCH_ITEM_MAGIC_BEAN) { func_80B8FE00(this); Flags_SetSwitch(play, this->dyna.actor.params & 0x3F); } } else { - func_8002F298(&this->dyna.actor, play, 40.0f, EXCH_ITEM_BEAN); + func_8002F298(&this->dyna.actor, play, 40.0f, EXCH_ITEM_MAGIC_BEAN); } } diff --git a/soh/src/overlays/actors/ovl_player_actor/z_player.c b/soh/src/overlays/actors/ovl_player_actor/z_player.c index a4d933c5829..801bb5cbd11 100644 --- a/soh/src/overlays/actors/ovl_player_actor/z_player.c +++ b/soh/src/overlays/actors/ovl_player_actor/z_player.c @@ -2963,8 +2963,8 @@ void func_80835F44(PlayState* play, Player* this, s32 item) { ((actionParam >= PLAYER_IA_SHIELD_DEKU) && (actionParam <= PLAYER_IA_BOOTS_HOVER))) { if ((play->bombchuBowlingStatus == 0) && - (((actionParam == PLAYER_IA_DEKU_STICK) && (AMMO(ITEM_STICK) == 0)) || - ((actionParam == PLAYER_IA_MAGIC_BEAN) && (AMMO(ITEM_BEAN) == 0)) || + (((actionParam == PLAYER_IA_DEKU_STICK) && (AMMO(ITEM_DEKU_STICK) == 0)) || + ((actionParam == PLAYER_IA_MAGIC_BEAN) && (AMMO(ITEM_MAGIC_BEAN) == 0)) || (temp = Player_ActionToExplosive(this, actionParam), ((temp >= 0) && ((AMMO(sExplosiveInfos[temp].itemId) == 0) || (play->actorCtx.actorLists[ACTORCAT_EXPLOSIVE].length >= 3)))))) { @@ -2993,7 +2993,7 @@ void func_80835F44(PlayState* play, Player* this, s32 item) { } if (actionParam == PLAYER_IA_DEKU_NUT) { - if (AMMO(ITEM_NUT) != 0) { + if (AMMO(ITEM_DEKU_NUT) != 0) { func_8083C61C(play, this); } else { func_80078884(NA_SE_SY_ERROR); @@ -3856,7 +3856,7 @@ void func_8083819C(Player* this, PlayState* play) { if (this->currentShield == PLAYER_SHIELD_DEKU && (CVarGetInteger("gFireproofDekuShield", 0) == 0)) { Actor_Spawn(&play->actorCtx, play, ACTOR_ITEM_SHIELD, this->actor.world.pos.x, this->actor.world.pos.y, this->actor.world.pos.z, 0, 0, 0, 1, true); - Inventory_DeleteEquipment(play, EQUIP_SHIELD); + Inventory_DeleteEquipment(play, EQUIP_TYPE_SHIELD); Message_StartTextbox(play, 0x305F, NULL); } } @@ -5007,11 +5007,11 @@ void func_8083B010(Player* this) { } static u8 D_80854528[] = { - GI_LETTER_ZELDA, GI_WEIRD_EGG, GI_CHICKEN, GI_BEAN, GI_POCKET_EGG, GI_POCKET_CUCCO, - GI_COJIRO, GI_ODD_MUSHROOM, GI_ODD_POTION, GI_SAW, GI_SWORD_BROKEN, GI_PRESCRIPTION, - GI_FROG, GI_EYEDROPS, GI_CLAIM_CHECK, GI_MASK_SKULL, GI_MASK_SPOOKY, GI_MASK_KEATON, - GI_MASK_BUNNY, GI_MASK_TRUTH, GI_MASK_GORON, GI_MASK_ZORA, GI_MASK_GERUDO, GI_LETTER_RUTO, - GI_LETTER_RUTO, GI_LETTER_RUTO, GI_LETTER_RUTO, GI_LETTER_RUTO, GI_LETTER_RUTO, + GI_ZELDAS_LETTER, GI_WEIRD_EGG, GI_CHICKEN, GI_MAGIC_BEAN, GI_POCKET_EGG, GI_POCKET_CUCCO, + GI_COJIRO, GI_ODD_MUSHROOM, GI_ODD_POTION, GI_POACHERS_SAW, GI_BROKEN_GORONS_SWORD, GI_PRESCRIPTION, + GI_EYEBALL_FROG, GI_EYE_DROPS, GI_CLAIM_CHECK, GI_MASK_SKULL, GI_MASK_SPOOKY, GI_MASK_KEATON, + GI_MASK_BUNNY_HOOD, GI_MASK_TRUTH, GI_MASK_GORON, GI_MASK_ZORA, GI_MASK_GERUDO, GI_BOTTLE_RUTOS_LETTER, + GI_BOTTLE_RUTOS_LETTER, GI_BOTTLE_RUTOS_LETTER, GI_BOTTLE_RUTOS_LETTER, GI_BOTTLE_RUTOS_LETTER, GI_BOTTLE_RUTOS_LETTER, }; static LinkAnimationHeader* D_80854548[] = { @@ -5052,8 +5052,8 @@ s32 func_8083B040(Player* this, PlayState* play) { ((sp28 >= 0) && (sp28 < 6) && ((this->itemAction > PLAYER_IA_BOTTLE_POE) || ((this->targetActor != NULL) && - (((this->itemAction == PLAYER_IA_BOTTLE_POE) && (this->exchangeItemId == EXCH_ITEM_POE)) || - (this->exchangeItemId == EXCH_ITEM_BLUE_FIRE))))))) { + (((this->itemAction == PLAYER_IA_BOTTLE_POE) && (this->exchangeItemId == EXCH_ITEM_BOTTLE_POE)) || + (this->exchangeItemId == EXCH_ITEM_BOTTLE_BLUE_FIRE))))))) { if ((play->actorCtx.titleCtx.delayTimer == 0) && (play->actorCtx.titleCtx.alpha == 0)) { func_80835DE4(play, this, func_8084F104, 0); @@ -5078,14 +5078,14 @@ s32 func_8083B040(Player* this, PlayState* play) { targetActor = this->targetActor; if ((targetActor != NULL) && - ((this->exchangeItemId == sp2C) || (this->exchangeItemId == EXCH_ITEM_BLUE_FIRE) || - ((this->exchangeItemId == EXCH_ITEM_POE) && + ((this->exchangeItemId == sp2C) || (this->exchangeItemId == EXCH_ITEM_BOTTLE_BLUE_FIRE) || + ((this->exchangeItemId == EXCH_ITEM_BOTTLE_POE) && (this->itemAction == PLAYER_IA_BOTTLE_BIG_POE)) || - ((this->exchangeItemId == EXCH_ITEM_BEAN) && + ((this->exchangeItemId == EXCH_ITEM_MAGIC_BEAN) && (this->itemAction == PLAYER_IA_BOTTLE_BUG))) && - ((this->exchangeItemId != EXCH_ITEM_BEAN) || (this->itemAction == PLAYER_IA_MAGIC_BEAN))) { - if (this->exchangeItemId == EXCH_ITEM_BEAN) { - Inventory_ChangeAmmo(ITEM_BEAN, -1); + ((this->exchangeItemId != EXCH_ITEM_MAGIC_BEAN) || (this->itemAction == PLAYER_IA_MAGIC_BEAN))) { + if (this->exchangeItemId == EXCH_ITEM_MAGIC_BEAN) { + Inventory_ChangeAmmo(ITEM_MAGIC_BEAN, -1); func_80835DE4(play, this, func_8084279C, 0); this->stateFlags1 |= PLAYER_STATE1_IN_CUTSCENE; this->unk_850 = 0x50; @@ -5093,7 +5093,7 @@ s32 func_8083B040(Player* this, PlayState* play) { } targetActor->flags |= ACTOR_FLAG_PLAYER_TALKED_TO; this->unk_664 = this->targetActor; - } else if (sp2C == EXCH_ITEM_LETTER_RUTO) { + } else if (sp2C == EXCH_ITEM_BOTTLE_RUTOS_LETTER) { this->unk_84F = 1; this->actor.textId = 0x4005; func_80835EA4(play, 1); @@ -5544,7 +5544,7 @@ s32 func_8083C544(Player* this, PlayState* play) { s32 func_8083C61C(PlayState* play, Player* this) { if ((play->roomCtx.curRoom.behaviorType1 != ROOM_BEHAVIOR_TYPE1_2) && (this->actor.bgCheckFlags & 1) && - (AMMO(ITEM_NUT) != 0)) { + (AMMO(ITEM_DEKU_NUT) != 0)) { func_80835C58(play, this, func_8084E604, 0); func_80832264(play, this, &gPlayerAnim_link_normal_light_bom); this->unk_6AD = 0; @@ -7975,14 +7975,14 @@ void func_80842A28(PlayState* play, Player* this) { void func_80842A88(PlayState* play, Player* this) { if (CVarGetInteger("gDekuStickCheat", DEKU_STICK_NORMAL) == DEKU_STICK_NORMAL) { - Inventory_ChangeAmmo(ITEM_STICK, -1); + Inventory_ChangeAmmo(ITEM_DEKU_STICK, -1); func_80835F44(play, this, ITEM_NONE); } } s32 func_80842AC4(PlayState* play, Player* this) { if ((this->heldItemAction == PLAYER_IA_DEKU_STICK) && (this->unk_85C > 0.5f)) { - if (AMMO(ITEM_STICK) != 0 && CVarGetInteger("gDekuStickCheat", DEKU_STICK_NORMAL) == DEKU_STICK_NORMAL) { + if (AMMO(ITEM_DEKU_STICK) != 0 && CVarGetInteger("gDekuStickCheat", DEKU_STICK_NORMAL) == DEKU_STICK_NORMAL) { EffectSsStick_Spawn(play, &this->bodyPartsPos[PLAYER_BODYPART_R_HAND], this->actor.shape.rot.y + 0x8000); this->unk_85C = 0.5f; @@ -10345,7 +10345,7 @@ void func_80848A04(PlayState* play, Player* this) { temp = 1.0f; if (DECR(this->unk_860) == 0 && CVarGetInteger("gDekuStickCheat", DEKU_STICK_NORMAL) == DEKU_STICK_NORMAL) { - Inventory_ChangeAmmo(ITEM_STICK, -1); + Inventory_ChangeAmmo(ITEM_DEKU_STICK, -1); this->unk_860 = 1; temp = 0.0f; this->unk_85C = temp; @@ -10590,20 +10590,20 @@ void Player_UseTunicBoots(Player* this, PlayState* play) { actionParam = Player_ItemToItemAction(item); if (actionParam >= PLAYER_IA_BOOTS_KOKIRI) { u16 bootsValue = actionParam - PLAYER_IA_BOOTS_KOKIRI + 1; - if (CUR_EQUIP_VALUE(EQUIP_BOOTS) == bootsValue) { - Inventory_ChangeEquipment(EQUIP_BOOTS, PLAYER_BOOTS_KOKIRI + 1); + if (CUR_EQUIP_VALUE(EQUIP_TYPE_BOOTS) == bootsValue) { + Inventory_ChangeEquipment(EQUIP_TYPE_BOOTS, PLAYER_BOOTS_KOKIRI + 1); } else { - Inventory_ChangeEquipment(EQUIP_BOOTS, bootsValue); + Inventory_ChangeEquipment(EQUIP_TYPE_BOOTS, bootsValue); } Player_SetEquipmentData(play, this); - func_808328EC(this, CUR_EQUIP_VALUE(EQUIP_BOOTS) == PLAYER_BOOTS_IRON + 1 ? NA_SE_PL_WALK_HEAVYBOOTS + func_808328EC(this, CUR_EQUIP_VALUE(EQUIP_TYPE_BOOTS) == PLAYER_BOOTS_IRON + 1 ? NA_SE_PL_WALK_HEAVYBOOTS : NA_SE_PL_CHANGE_ARMS); } else if (actionParam >= PLAYER_IA_TUNIC_KOKIRI) { u16 tunicValue = actionParam - PLAYER_IA_TUNIC_KOKIRI + 1; - if (CUR_EQUIP_VALUE(EQUIP_TUNIC) == tunicValue) { - Inventory_ChangeEquipment(EQUIP_TUNIC, PLAYER_TUNIC_KOKIRI + 1); + if (CUR_EQUIP_VALUE(EQUIP_TYPE_TUNIC) == tunicValue) { + Inventory_ChangeEquipment(EQUIP_TYPE_TUNIC, PLAYER_TUNIC_KOKIRI + 1); } else { - Inventory_ChangeEquipment(EQUIP_TUNIC, tunicValue); + Inventory_ChangeEquipment(EQUIP_TYPE_TUNIC, tunicValue); } Player_SetEquipmentData(play, this); func_808328EC(this, NA_SE_PL_CHANGE_ARMS); @@ -11253,7 +11253,7 @@ void Player_Draw(Actor* thisx, PlayState* play2) { pos.y = -130.0f; pos.z = -150.0f; scale = 0.046f; - } else if (CUR_EQUIP_VALUE(EQUIP_SWORD) != 2) { + } else if (CUR_EQUIP_VALUE(EQUIP_TYPE_SWORD) != 2) { pos.x = 25.0f; pos.y = -228.0f; pos.z = 60.0f; @@ -12723,7 +12723,7 @@ s32 func_8084DFF4(PlayState* play, Player* this) { if (!(giEntry.modIndex == MOD_RANDOMIZER && giEntry.itemId == RG_ICE_TRAP)) { if (giEntry.modIndex == MOD_NONE) { // RANDOTOD: Move this into Item_Give() or some other more central location - if (giEntry.getItemId == GI_SWORD_BGS) { + if (giEntry.getItemId == GI_SWORD_BIGGORON) { gSaveContext.bgsFlag = true; gSaveContext.swordHealth = 8; } @@ -12740,7 +12740,7 @@ s32 func_8084DFF4(PlayState* play, Player* this) { Audio_PlayFanfare_Rando(giEntry); } else if (((giEntry.itemId >= ITEM_RUPEE_GREEN) && (giEntry.itemId <= ITEM_RUPEE_RED)) || ((giEntry.itemId >= ITEM_RUPEE_PURPLE) && (giEntry.itemId <= ITEM_RUPEE_GOLD)) || - (giEntry.itemId == ITEM_HEART)) { + (giEntry.itemId == ITEM_RECOVERY_HEART)) { Audio_PlaySoundGeneral(NA_SE_SY_GET_BOXITEM, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8); } else { if ((giEntry.itemId == ITEM_HEART_CONTAINER) || @@ -12772,18 +12772,18 @@ s32 func_8084DFF4(PlayState* play, Player* this) { Message_GetState(&play->msgCtx) == TEXT_STATE_CHOICE) { if (play->msgCtx.choiceIndex == 0) { // Equip now? Yes - if (equipItem >= ITEM_SWORD_KOKIRI && equipItem <= ITEM_SWORD_BGS) { + if (equipItem >= ITEM_SWORD_KOKIRI && equipItem <= ITEM_SWORD_BIGGORON) { gSaveContext.equips.buttonItems[0] = equipItem; - Inventory_ChangeEquipment(EQUIP_SWORD, equipItem - ITEM_SWORD_KOKIRI + 1); + Inventory_ChangeEquipment(EQUIP_TYPE_SWORD, equipItem - ITEM_SWORD_KOKIRI + 1); func_808328EC(this, NA_SE_IT_SWORD_PUTAWAY); } else if (equipItem >= ITEM_SHIELD_DEKU && equipItem <= ITEM_SHIELD_MIRROR) { - Inventory_ChangeEquipment(EQUIP_SHIELD, equipItem - ITEM_SHIELD_DEKU + 1); + Inventory_ChangeEquipment(EQUIP_TYPE_SHIELD, equipItem - ITEM_SHIELD_DEKU + 1); func_808328EC(&this->actor, NA_SE_IT_SHIELD_REMOVE); Player_SetEquipmentData(play, this); } else if (equipItem == ITEM_TUNIC_GORON || equipItem == ITEM_TUNIC_ZORA) { - Inventory_ChangeEquipment(EQUIP_TUNIC, equipItem - ITEM_TUNIC_KOKIRI + 1); + Inventory_ChangeEquipment(EQUIP_TYPE_TUNIC, equipItem - ITEM_TUNIC_KOKIRI + 1); func_808328EC(this, NA_SE_PL_CHANGE_ARMS); Player_SetEquipmentData(play, this); } @@ -12793,7 +12793,7 @@ s32 func_8084DFF4(PlayState* play, Player* this) { play->msgCtx.msgMode = MSGMODE_TEXT_DONE; } else { if (Message_GetState(&play->msgCtx) == TEXT_STATE_CLOSING) { - if (this->getItemId == GI_GAUNTLETS_SILVER && !IS_RANDO) { + if (this->getItemId == GI_SILVER_GAUNTLETS && !IS_RANDO) { play->nextEntranceIndex = 0x0123; play->sceneLoadFlag = 0x14; gSaveContext.nextCutsceneIndex = 0xFFF1; @@ -12926,7 +12926,7 @@ void func_8084E604(Player* this, PlayState* play) { if (LinkAnimation_Update(play, &this->skelAnime)) { func_8083A098(this, &gPlayerAnim_link_normal_light_bom_end, play); } else if (LinkAnimation_OnFrame(&this->skelAnime, 3.0f)) { - Inventory_ChangeAmmo(ITEM_NUT, -1); + Inventory_ChangeAmmo(ITEM_DEKU_NUT, -1); Actor_Spawn(&play->actorCtx, play, ACTOR_EN_ARROW, this->bodyPartsPos[PLAYER_BODYPART_R_HAND].x, this->bodyPartsPos[PLAYER_BODYPART_R_HAND].y, this->bodyPartsPos[PLAYER_BODYPART_R_HAND].z, 4000, this->actor.shape.rot.y, 0, ARROW_NUT, true); @@ -13177,7 +13177,7 @@ void func_8084EAC0(Player* this, PlayState* play) { if ((gSaveContext.healthAccumulator == 0) && (gSaveContext.magicState != 9)) { func_80832B78(play, this, &gPlayerAnim_link_bottle_drink_demo_end); this->unk_850 = 2; - Player_UpdateBottleHeld(play, this, ITEM_BOTTLE, PLAYER_IA_BOTTLE); + Player_UpdateBottleHeld(play, this, ITEM_BOTTLE_EMPTY, PLAYER_IA_BOTTLE); } func_80832698(this, NA_SE_VO_LI_DRINK - SFX_FLAG); } else if ((this->unk_850 == 2) && LinkAnimation_OnFrame(&this->skelAnime, 29.0f)) { @@ -13186,10 +13186,10 @@ void func_8084EAC0(Player* this, PlayState* play) { } static BottleCatchInfo D_80854A04[] = { - { ACTOR_EN_ELF, ITEM_FAIRY, 0x2A, 0x46 }, - { ACTOR_EN_FISH, ITEM_FISH, 0x1F, 0x47 }, - { ACTOR_EN_ICE_HONO, ITEM_BLUE_FIRE, 0x20, 0x5D }, - { ACTOR_EN_INSECT, ITEM_BUG, 0x21, 0x7A }, + { ACTOR_EN_ELF, ITEM_BOTTLE_FAIRY, 0x2A, 0x46 }, + { ACTOR_EN_FISH, ITEM_BOTTLE_FISH, 0x1F, 0x47 }, + { ACTOR_EN_ICE_HONO, ITEM_BOTTLE_BLUE_FIRE, 0x20, 0x5D }, + { ACTOR_EN_INSECT, ITEM_BOTTLE_BUG, 0x21, 0x7A }, }; void func_8084ECA4(Player* this, PlayState* play) { @@ -13271,7 +13271,7 @@ void func_8084EED8(Player* this, PlayState* play) { if (LinkAnimation_OnFrame(&this->skelAnime, 37.0f)) { Player_SpawnFairy(play, this, &this->leftHandPos, &D_80854A1C, FAIRY_REVIVE_BOTTLE); - Player_UpdateBottleHeld(play, this, ITEM_BOTTLE, PLAYER_IA_BOTTLE); + Player_UpdateBottleHeld(play, this, ITEM_BOTTLE_EMPTY, PLAYER_IA_BOTTLE); Player_PlaySfx(&this->actor, NA_SE_EV_BOTTLE_CAP_OPEN); Player_PlaySfx(&this->actor, NA_SE_EV_FIATY_HEAL - SFX_FLAG); } else if (LinkAnimation_OnFrame(&this->skelAnime, 47.0f)) { @@ -13316,7 +13316,7 @@ void func_8084EFC0(Player* this, PlayState* play) { (Math_CosS(this->actor.shape.rot.y) * 5.0f) + this->leftHandPos.z, 0x4000, this->actor.shape.rot.y, 0, dropInfo->actorParams, true); - Player_UpdateBottleHeld(play, this, ITEM_BOTTLE, PLAYER_IA_BOTTLE); + Player_UpdateBottleHeld(play, this, ITEM_BOTTLE_EMPTY, PLAYER_IA_BOTTLE); return; } @@ -14946,7 +14946,7 @@ void func_80852648(PlayState* play, Player* this, CsCmdActorAction* arg2) { this->heldItemId = ITEM_NONE; this->modelGroup = this->nextModelGroup = Player_ActionToModelGroup(this, PLAYER_IA_NONE); this->leftHandDLists = gPlayerLeftHandOpenDLs; - Inventory_ChangeEquipment(EQUIP_SWORD, 2); + Inventory_ChangeEquipment(EQUIP_TYPE_SWORD, 2); gSaveContext.equips.buttonItems[0] = ITEM_SWORD_MASTER; Inventory_DeleteEquipment(play, 0); } @@ -15136,13 +15136,13 @@ s32 Player_StartFishing(PlayState* play) { Player* this = GET_PLAYER(play); if (gSaveContext.linkAge == 1) { - if (!CHECK_OWNED_EQUIP(EQUIP_SWORD, 0)) { + if (!CHECK_OWNED_EQUIP(EQUIP_TYPE_SWORD, 0)) { gSaveContext.temporaryWeapon = true; } if (this->heldItemId == ITEM_NONE) { this->currentSwordItemId = ITEM_SWORD_KOKIRI; gSaveContext.equips.buttonItems[0] = ITEM_SWORD_KOKIRI; - Inventory_ChangeEquipment(EQUIP_SWORD, PLAYER_SWORD_KOKIRI); + Inventory_ChangeEquipment(EQUIP_TYPE_SWORD, PLAYER_SWORD_KOKIRI); } } 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 630a1159a7d..d2d150cc1cb 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 @@ -69,17 +69,17 @@ typedef struct { #define STN_IC_POS(i) {0x29 + ICON_SIZE * i, 0x31} static ItemData itemData[88] = { - {CREATE_SPRITE_32(dgItemIconDekuStickTex, 1), ITEM_STICK, INV_IC_POS(0, 0), SIZE_NORMAL}, - {CREATE_SPRITE_32(dgItemIconDekuNutTex, 0), ITEM_NUT, INV_IC_POS(1, 0), SIZE_NORMAL}, + {CREATE_SPRITE_32(dgItemIconDekuStickTex, 1), ITEM_DEKU_STICK, INV_IC_POS(0, 0), SIZE_NORMAL}, + {CREATE_SPRITE_32(dgItemIconDekuNutTex, 0), ITEM_DEKU_NUT, INV_IC_POS(1, 0), SIZE_NORMAL}, {CREATE_SPRITE_32(dgItemIconBombTex, 2), ITEM_BOMB, INV_IC_POS(2, 0), SIZE_NORMAL}, {CREATE_SPRITE_32(dgItemIconBowTex, 3), ITEM_BOW, INV_IC_POS(3, 0), SIZE_NORMAL}, {CREATE_SPRITE_32(dgItemIconArrowFireTex, 4), ITEM_ARROW_FIRE, INV_IC_POS(4, 0), SIZE_NORMAL}, {CREATE_SPRITE_32(dgItemIconDinsFireTex, 5), ITEM_DINS_FIRE, INV_IC_POS(5, 0), SIZE_NORMAL}, - {CREATE_SPRITE_32(dgItemIconBottleEmptyTex, 20), ITEM_BOTTLE, INV_IC_POS(6, 0), SIZE_NORMAL}, + {CREATE_SPRITE_32(dgItemIconBottleEmptyTex, 20), ITEM_BOTTLE_EMPTY, INV_IC_POS(6, 0), SIZE_NORMAL}, {CREATE_SPRITE_32(dgItemIconSlingshotTex, 6), ITEM_SLINGSHOT, INV_IC_POS(0, 1), SIZE_NORMAL}, {CREATE_SPRITE_32(dgItemIconOcarinaFairyTex, 7), ITEM_OCARINA_FAIRY, INV_IC_POS(1, 1), SIZE_NORMAL}, - {CREATE_SPRITE_32(dgItemIconOcarinaOfTimeTex, 7), ITEM_OCARINA_TIME, INV_IC_POS(1, 1), SIZE_NORMAL}, + {CREATE_SPRITE_32(dgItemIconOcarinaOfTimeTex, 7), ITEM_OCARINA_OF_TIME, INV_IC_POS(1, 1), SIZE_NORMAL}, {CREATE_SPRITE_32(dgItemIconBombchuTex, 9), ITEM_BOMBCHU, INV_IC_POS(2, 1), SIZE_NORMAL}, {CREATE_SPRITE_32(dgItemIconHookshotTex, 10), ITEM_HOOKSHOT, INV_IC_POS(3, 1), SIZE_NORMAL}, {CREATE_SPRITE_32(dgItemIconLongshotTex, 10), ITEM_LONGSHOT, INV_IC_POS(3, 1), SIZE_NORMAL}, @@ -87,11 +87,11 @@ static ItemData itemData[88] = { {CREATE_SPRITE_32(dgItemIconFaroresWindTex, 13), ITEM_FARORES_WIND, INV_IC_POS(5, 1), SIZE_NORMAL}, {CREATE_SPRITE_32(dgItemIconWeirdEggTex, 37), ITEM_WEIRD_EGG, INV_IC_POS(6, 1), SIZE_NORMAL}, {CREATE_SPRITE_32(dgItemIconChickenTex, 37), ITEM_CHICKEN, INV_IC_POS(6, 1), SIZE_NORMAL}, - {CREATE_SPRITE_32(dgItemIconZeldasLetterTex, 37), ITEM_LETTER_ZELDA, INV_IC_POS(6, 1), SIZE_NORMAL}, + {CREATE_SPRITE_32(dgItemIconZeldasLetterTex, 37), ITEM_ZELDAS_LETTER, INV_IC_POS(6, 1), SIZE_NORMAL}, {CREATE_SPRITE_32(dgItemIconMaskKeatonTex, 37), ITEM_MASK_KEATON, INV_IC_POS(6, 1), SIZE_NORMAL}, {CREATE_SPRITE_32(dgItemIconMaskSkullTex, 37), ITEM_MASK_SKULL, INV_IC_POS(6, 1), SIZE_NORMAL}, {CREATE_SPRITE_32(dgItemIconMaskSpookyTex, 37), ITEM_MASK_SPOOKY, INV_IC_POS(6, 1), SIZE_NORMAL}, - {CREATE_SPRITE_32(dgItemIconMaskBunnyHoodTex, 37), ITEM_MASK_BUNNY, INV_IC_POS(6, 1), SIZE_NORMAL}, + {CREATE_SPRITE_32(dgItemIconMaskBunnyHoodTex, 37), ITEM_MASK_BUNNY_HOOD, INV_IC_POS(6, 1), SIZE_NORMAL}, {CREATE_SPRITE_32(dgItemIconMaskGoronTex, 37), ITEM_MASK_GORON, INV_IC_POS(6, 1), SIZE_NORMAL}, {CREATE_SPRITE_32(dgItemIconMaskZoraTex, 37), ITEM_MASK_ZORA, INV_IC_POS(6, 1), SIZE_NORMAL}, {CREATE_SPRITE_32(dgItemIconMaskGerudoTex, 37), ITEM_MASK_GERUDO, INV_IC_POS(6, 1), SIZE_NORMAL}, @@ -99,8 +99,8 @@ static ItemData itemData[88] = { {CREATE_SPRITE_32(dgItemIconSoldOutTex, 37), ITEM_SOLD_OUT, INV_IC_POS(6, 1), SIZE_NORMAL}, {CREATE_SPRITE_32(dgItemIconBoomerangTex, 14), ITEM_BOOMERANG, INV_IC_POS(0, 2), SIZE_NORMAL}, - {CREATE_SPRITE_32(dgItemIconLensOfTruthTex, 15), ITEM_LENS, INV_IC_POS(1, 2), SIZE_NORMAL}, - {CREATE_SPRITE_32(dgItemIconMagicBeanTex, 16), ITEM_BEAN, INV_IC_POS(2, 2), SIZE_NORMAL}, + {CREATE_SPRITE_32(dgItemIconLensOfTruthTex, 15), ITEM_LENS_OF_TRUTH, INV_IC_POS(1, 2), SIZE_NORMAL}, + {CREATE_SPRITE_32(dgItemIconMagicBeanTex, 16), ITEM_MAGIC_BEAN, INV_IC_POS(2, 2), SIZE_NORMAL}, {CREATE_SPRITE_32(dgItemIconHammerTex, 17), ITEM_HAMMER, INV_IC_POS(3, 2), SIZE_NORMAL}, {CREATE_SPRITE_32(dgItemIconArrowLightTex, 18), ITEM_ARROW_LIGHT, INV_IC_POS(4, 2), SIZE_NORMAL}, {CREATE_SPRITE_32(dgItemIconNayrusLoveTex, 19), ITEM_NAYRUS_LOVE, INV_IC_POS(5, 2), SIZE_NORMAL}, @@ -109,16 +109,16 @@ static ItemData itemData[88] = { {CREATE_SPRITE_32(dgItemIconCojiroTex, 53), ITEM_COJIRO, INV_IC_POS(6, 2), SIZE_NORMAL}, {CREATE_SPRITE_32(dgItemIconOddMushroomTex, 53), ITEM_ODD_MUSHROOM, INV_IC_POS(6, 2), SIZE_NORMAL}, {CREATE_SPRITE_32(dgItemIconOddPotionTex, 53), ITEM_ODD_POTION, INV_IC_POS(6, 2), SIZE_NORMAL}, - {CREATE_SPRITE_32(dgItemIconPoachersSawTex, 53), ITEM_SAW, INV_IC_POS(6, 2), SIZE_NORMAL}, - {CREATE_SPRITE_32(dgItemIconBrokenGoronsSwordTex, 53), ITEM_SWORD_BROKEN, INV_IC_POS(6, 2), SIZE_NORMAL}, + {CREATE_SPRITE_32(dgItemIconPoachersSawTex, 53), ITEM_POACHERS_SAW, INV_IC_POS(6, 2), SIZE_NORMAL}, + {CREATE_SPRITE_32(dgItemIconBrokenGoronsSwordTex, 53), ITEM_BROKEN_GORONS_SWORD, INV_IC_POS(6, 2), SIZE_NORMAL}, {CREATE_SPRITE_32(dgItemIconPrescriptionTex, 53), ITEM_PRESCRIPTION, INV_IC_POS(6, 2), SIZE_NORMAL}, - {CREATE_SPRITE_32(dgItemIconEyeballFrogTex, 53), ITEM_FROG, INV_IC_POS(6, 2), SIZE_NORMAL}, - {CREATE_SPRITE_32(dgItemIconEyeDropsTex, 53), ITEM_EYEDROPS, INV_IC_POS(6, 2), SIZE_NORMAL}, + {CREATE_SPRITE_32(dgItemIconEyeballFrogTex, 53), ITEM_EYEBALL_FROG, INV_IC_POS(6, 2), SIZE_NORMAL}, + {CREATE_SPRITE_32(dgItemIconEyeDropsTex, 53), ITEM_EYE_DROPS, INV_IC_POS(6, 2), SIZE_NORMAL}, {CREATE_SPRITE_32(dgItemIconClaimCheckTex, 53), ITEM_CLAIM_CHECK, INV_IC_POS(6, 2), SIZE_NORMAL}, {CREATE_SPRITE_32(dgItemIconSwordKokiriTex, 54), ITEM_SWORD_KOKIRI, EQP_IC_POS(0, 0), SIZE_NORMAL}, {CREATE_SPRITE_32(dgItemIconSwordMasterTex, 55), ITEM_SWORD_MASTER, EQP_IC_POS(1, 0), SIZE_NORMAL}, - {CREATE_SPRITE_32(dgItemIconSwordBiggoronTex, 56), ITEM_SWORD_BGS, EQP_IC_POS(2, 0), SIZE_NORMAL}, + {CREATE_SPRITE_32(dgItemIconSwordBiggoronTex, 56), ITEM_SWORD_BIGGORON, EQP_IC_POS(2, 0), SIZE_NORMAL}, {CREATE_SPRITE_32(dgItemIconShieldDekuTex, 57), ITEM_SHIELD_DEKU, EQP_IC_POS(0, 1), SIZE_NORMAL}, {CREATE_SPRITE_32(dgItemIconShieldHylianTex, 58), ITEM_SHIELD_HYLIAN, EQP_IC_POS(1, 1), SIZE_NORMAL}, @@ -143,15 +143,15 @@ static ItemData itemData[88] = { {CREATE_SPRITE_24(dgQuestIconMedallionShadowTex, 85), ITEM_MEDALLION_SHADOW, {0x1B, 0x0A}, SIZE_NORMAL}, {CREATE_SPRITE_24(dgQuestIconMedallionLightTex, 86), ITEM_MEDALLION_LIGHT, {0x29, 0x02}, SIZE_NORMAL}, - {CREATE_SPRITE_32(dgItemIconGoronsBraceletTex, 71), ITEM_BRACELET, UPG_IC_POS(0, 0), SIZE_NORMAL}, - {CREATE_SPRITE_32(dgItemIconSilverGauntletsTex, 71), ITEM_GAUNTLETS_SILVER, UPG_IC_POS(0, 0), SIZE_NORMAL}, - {CREATE_SPRITE_32(dgItemIconGoldenGauntletsTex, 71), ITEM_GAUNTLETS_GOLD, UPG_IC_POS(0, 0), SIZE_NORMAL}, + {CREATE_SPRITE_32(dgItemIconGoronsBraceletTex, 71), ITEM_STRENGTH_GORONS_BRACELET, UPG_IC_POS(0, 0), SIZE_NORMAL}, + {CREATE_SPRITE_32(dgItemIconSilverGauntletsTex, 71), ITEM_STRENGTH_SILVER_GAUNTLETS, UPG_IC_POS(0, 0), SIZE_NORMAL}, + {CREATE_SPRITE_32(dgItemIconGoldenGauntletsTex, 71), ITEM_STRENGTH_GOLD_GAUNTLETS, UPG_IC_POS(0, 0), SIZE_NORMAL}, {CREATE_SPRITE_32(dgItemIconScaleSilverTex, 74), ITEM_SCALE_SILVER, UPG_IC_POS(1, 0), SIZE_NORMAL}, {CREATE_SPRITE_32(dgItemIconScaleGoldenTex, 74), ITEM_SCALE_GOLDEN, UPG_IC_POS(1, 0), SIZE_NORMAL}, - {CREATE_SPRITE_24(dgQuestIconMagicJarSmallTex, 97), ITEM_SINGLE_MAGIC, UPG_IC_POS(2, 0), SIZE_NORMAL}, - {CREATE_SPRITE_24(dgQuestIconMagicJarBigTex, 97), ITEM_DOUBLE_MAGIC, UPG_IC_POS(2, 0), SIZE_NORMAL}, + {CREATE_SPRITE_24(dgQuestIconMagicJarSmallTex, 97), ITEM_INVALID_1, UPG_IC_POS(2, 0), SIZE_NORMAL}, + {CREATE_SPRITE_24(dgQuestIconMagicJarBigTex, 97), ITEM_INVALID_2, UPG_IC_POS(2, 0), SIZE_NORMAL}, {CREATE_SPRITE_RUPEE(0xC8, 0xFF, 0x64), ITEM_RUPEE_GREEN, UPG_IC_POS(0, 1), SIZE_NORMAL}, - {CREATE_SPRITE_24(dgQuestIconGerudosCardTex, 91), ITEM_GERUDO_CARD, UPG_IC_POS(1, 1), SIZE_NORMAL}, + {CREATE_SPRITE_24(dgQuestIconGerudosCardTex, 91), ITEM_GERUDOS_CARD, UPG_IC_POS(1, 1), SIZE_NORMAL}, {CREATE_SPRITE_24(dgQuestIconStoneOfAgonyTex, 90), ITEM_STONE_OF_AGONY, UPG_IC_POS(2, 1), SIZE_NORMAL}, {CREATE_SPRITE_SONG(224, 107, 255), ITEM_SONG_LULLABY, SNG_IC_POS(0, 0), SIZE_SONG}, @@ -167,7 +167,7 @@ static ItemData itemData[88] = { {CREATE_SPRITE_SONG(255, 100, 255), ITEM_SONG_NOCTURNE, SNG_IC_POS(4, 1), SIZE_SONG}, {CREATE_SPRITE_SONG(255, 240, 100), ITEM_SONG_PRELUDE, SNG_IC_POS(5, 1), SIZE_SONG}, - {CREATE_SPRITE_24(dgQuestIconHeartContainerTex, 101), ITEM_DOUBLE_DEFENSE, {0x05, -0x04}, SIZE_COUNTER}, + {CREATE_SPRITE_24(dgQuestIconHeartContainerTex, 101), ITEM_INVALID_3, {0x05, -0x04}, SIZE_COUNTER}, }; static u8 color_product(u8 c1, u8 c2) { @@ -184,7 +184,7 @@ void SpriteDraw(FileChooseContext* this, Sprite* sprite, int left, int top, int u8 HasItem(s16 fileIndex, u8 item) { for (int i = 0; i < ARRAY_COUNT(Save_GetSaveMetaInfo(fileIndex)->inventoryItems); i += 1) { u8 it = Save_GetSaveMetaInfo(fileIndex)->inventoryItems[i]; - if (it == item || (item == ITEM_BOTTLE && it >= ITEM_BOTTLE && it <= ITEM_POE)) { + if (it == item || (item == ITEM_BOTTLE_EMPTY && it >= ITEM_BOTTLE_EMPTY && it <= ITEM_BOTTLE_POE)) { return 1; } } @@ -197,11 +197,11 @@ u8 HasItem(s16 fileIndex, u8 item) { return (Save_GetSaveMetaInfo(fileIndex)->questItems & (1 << (item - 0x66))) != 0; } - if (item >= ITEM_KOKIRI_EMERALD && item <= ITEM_GERUDO_CARD) { + if (item >= ITEM_KOKIRI_EMERALD && item <= ITEM_GERUDOS_CARD) { return (Save_GetSaveMetaInfo(fileIndex)->questItems & (1 << (item - 0x5A))) != 0; } - if (item >= ITEM_SWORD_KOKIRI && item <= ITEM_SWORD_BGS) { + if (item >= ITEM_SWORD_KOKIRI && item <= ITEM_SWORD_BIGGORON) { return (Save_GetSaveMetaInfo(fileIndex)->equipment & (1 << (item - 0x3B))) != 0; } @@ -217,23 +217,23 @@ u8 HasItem(s16 fileIndex, u8 item) { return (Save_GetSaveMetaInfo(fileIndex)->equipment & (1 << (item - 0x44 + 12))) != 0; } - if (item == ITEM_SINGLE_MAGIC) { + if (item == ITEM_INVALID_1) { return Save_GetSaveMetaInfo(fileIndex)->isMagicAcquired; } - if (item == ITEM_DOUBLE_MAGIC) { + if (item == ITEM_INVALID_2) { return Save_GetSaveMetaInfo(fileIndex)->isDoubleMagicAcquired; } - if (item == ITEM_BRACELET) { + if (item == ITEM_STRENGTH_GORONS_BRACELET) { return ((Save_GetSaveMetaInfo(fileIndex)->upgrades & gUpgradeMasks[UPG_STRENGTH]) >> gUpgradeShifts[UPG_STRENGTH]) == 1; } - if (item == ITEM_GAUNTLETS_SILVER) { + if (item == ITEM_STRENGTH_SILVER_GAUNTLETS) { return ((Save_GetSaveMetaInfo(fileIndex)->upgrades & gUpgradeMasks[UPG_STRENGTH]) >> gUpgradeShifts[UPG_STRENGTH]) == 2; } - if (item == ITEM_GAUNTLETS_GOLD) { + if (item == ITEM_STRENGTH_GOLD_GAUNTLETS) { return ((Save_GetSaveMetaInfo(fileIndex)->upgrades & gUpgradeMasks[UPG_STRENGTH]) >> gUpgradeShifts[UPG_STRENGTH]) == 3; } @@ -245,7 +245,7 @@ u8 HasItem(s16 fileIndex, u8 item) { return ((Save_GetSaveMetaInfo(fileIndex)->upgrades & gUpgradeMasks[UPG_SCALE]) >> gUpgradeShifts[UPG_SCALE]) == 2; } - if (item == ITEM_DOUBLE_DEFENSE) { + if (item == ITEM_INVALID_3) { return Save_GetSaveMetaInfo(fileIndex)->isDoubleDefenseAcquired; } @@ -259,24 +259,24 @@ u8 HasItem(s16 fileIndex, u8 item) { u8 ShouldRenderItem(s16 fileIndex, u8 item) { //strength - if (item == ITEM_BRACELET && (HasItem(fileIndex, ITEM_GAUNTLETS_SILVER) || HasItem(fileIndex, ITEM_GAUNTLETS_GOLD))) { + if (item == ITEM_STRENGTH_GORONS_BRACELET && (HasItem(fileIndex, ITEM_STRENGTH_SILVER_GAUNTLETS) || HasItem(fileIndex, ITEM_STRENGTH_GOLD_GAUNTLETS))) { return 0; } - if (item == ITEM_GAUNTLETS_SILVER && !HasItem(fileIndex, ITEM_GAUNTLETS_SILVER)) { + if (item == ITEM_STRENGTH_SILVER_GAUNTLETS && !HasItem(fileIndex, ITEM_STRENGTH_SILVER_GAUNTLETS)) { return 0; } - if (item == ITEM_GAUNTLETS_GOLD && !HasItem(fileIndex, ITEM_GAUNTLETS_GOLD)) { + if (item == ITEM_STRENGTH_GOLD_GAUNTLETS && !HasItem(fileIndex, ITEM_STRENGTH_GOLD_GAUNTLETS)) { return 0; } //magic - if (item == ITEM_SINGLE_MAGIC && HasItem(fileIndex, ITEM_DOUBLE_MAGIC)) { + if (item == ITEM_INVALID_1 && HasItem(fileIndex, ITEM_INVALID_2)) { return 0; } - if (item == ITEM_DOUBLE_MAGIC && !HasItem(fileIndex, ITEM_DOUBLE_MAGIC)) { + if (item == ITEM_INVALID_2 && !HasItem(fileIndex, ITEM_INVALID_2)) { return 0; } @@ -299,11 +299,11 @@ u8 ShouldRenderItem(s16 fileIndex, u8 item) { } //ocarinas - if (item == ITEM_OCARINA_FAIRY && HasItem(fileIndex, ITEM_OCARINA_TIME)) { + if (item == ITEM_OCARINA_FAIRY && HasItem(fileIndex, ITEM_OCARINA_OF_TIME)) { return 0; } - if (item == ITEM_OCARINA_TIME && !HasItem(fileIndex, ITEM_OCARINA_TIME)) { + if (item == ITEM_OCARINA_OF_TIME && !HasItem(fileIndex, ITEM_OCARINA_OF_TIME)) { return 0; } @@ -316,7 +316,7 @@ u8 ShouldRenderItem(s16 fileIndex, u8 item) { return 0; } - if (item == ITEM_LETTER_ZELDA && !HasItem(fileIndex, ITEM_LETTER_ZELDA)) { + if (item == ITEM_ZELDAS_LETTER && !HasItem(fileIndex, ITEM_ZELDAS_LETTER)) { return 0; } @@ -325,10 +325,10 @@ u8 ShouldRenderItem(s16 fileIndex, u8 item) { ( HasItem(fileIndex, ITEM_WEIRD_EGG) || HasItem(fileIndex, ITEM_CHICKEN) || - HasItem(fileIndex, ITEM_LETTER_ZELDA) || + HasItem(fileIndex, ITEM_ZELDAS_LETTER) || HasItem(fileIndex, ITEM_MASK_SKULL) || HasItem(fileIndex, ITEM_MASK_SPOOKY) || - HasItem(fileIndex, ITEM_MASK_BUNNY) || + HasItem(fileIndex, ITEM_MASK_BUNNY_HOOD) || HasItem(fileIndex, ITEM_MASK_GORON) || HasItem(fileIndex, ITEM_MASK_ZORA) || HasItem(fileIndex, ITEM_MASK_GERUDO) || @@ -347,7 +347,7 @@ u8 ShouldRenderItem(s16 fileIndex, u8 item) { return 0; } - if (item == ITEM_MASK_BUNNY && !HasItem(fileIndex, ITEM_MASK_BUNNY)) { + if (item == ITEM_MASK_BUNNY_HOOD && !HasItem(fileIndex, ITEM_MASK_BUNNY_HOOD)) { return 0; } @@ -379,11 +379,11 @@ u8 ShouldRenderItem(s16 fileIndex, u8 item) { HasItem(fileIndex, ITEM_COJIRO) || HasItem(fileIndex, ITEM_ODD_MUSHROOM) || HasItem(fileIndex, ITEM_ODD_POTION) || - HasItem(fileIndex, ITEM_SAW) || - HasItem(fileIndex, ITEM_SWORD_BROKEN) || + HasItem(fileIndex, ITEM_POACHERS_SAW) || + HasItem(fileIndex, ITEM_BROKEN_GORONS_SWORD) || HasItem(fileIndex, ITEM_PRESCRIPTION) || - HasItem(fileIndex, ITEM_FROG) || - HasItem(fileIndex, ITEM_EYEDROPS) || + HasItem(fileIndex, ITEM_EYEBALL_FROG) || + HasItem(fileIndex, ITEM_EYE_DROPS) || HasItem(fileIndex, ITEM_CLAIM_CHECK) ) ) { @@ -406,11 +406,11 @@ u8 ShouldRenderItem(s16 fileIndex, u8 item) { return 0; } - if (item == ITEM_SAW && !HasItem(fileIndex, ITEM_SAW)) { + if (item == ITEM_POACHERS_SAW && !HasItem(fileIndex, ITEM_POACHERS_SAW)) { return 0; } - if (item == ITEM_SWORD_BROKEN && !HasItem(fileIndex, ITEM_SWORD_BROKEN)) { + if (item == ITEM_BROKEN_GORONS_SWORD && !HasItem(fileIndex, ITEM_BROKEN_GORONS_SWORD)) { return 0; } @@ -418,11 +418,11 @@ u8 ShouldRenderItem(s16 fileIndex, u8 item) { return 0; } - if (item == ITEM_FROG && !HasItem(fileIndex, ITEM_FROG)) { + if (item == ITEM_EYEBALL_FROG && !HasItem(fileIndex, ITEM_EYEBALL_FROG)) { return 0; } - if (item == ITEM_EYEDROPS && !HasItem(fileIndex, ITEM_EYEDROPS)) { + if (item == ITEM_EYE_DROPS && !HasItem(fileIndex, ITEM_EYE_DROPS)) { return 0; } @@ -430,7 +430,7 @@ u8 ShouldRenderItem(s16 fileIndex, u8 item) { return 0; } - if (item == ITEM_DOUBLE_DEFENSE && !Save_GetSaveMetaInfo(fileIndex)->isDoubleDefenseAcquired) { + if (item == ITEM_INVALID_3 && !Save_GetSaveMetaInfo(fileIndex)->isDoubleDefenseAcquired) { return 0; } @@ -3020,13 +3020,13 @@ void FileChoose_LoadGame(GameState* thisx) { { if ((gSaveContext.equips.buttonItems[0] != ITEM_SWORD_KOKIRI) && (gSaveContext.equips.buttonItems[0] != ITEM_SWORD_MASTER) && - (gSaveContext.equips.buttonItems[0] != ITEM_SWORD_BGS) && - (gSaveContext.equips.buttonItems[0] != ITEM_SWORD_KNIFE)) { + (gSaveContext.equips.buttonItems[0] != ITEM_SWORD_BIGGORON) && + (gSaveContext.equips.buttonItems[0] != ITEM_GIANTS_KNIFE)) { gSaveContext.equips.buttonItems[0] = ITEM_NONE; - swordEquipMask = BOMSWAP16(gEquipMasks[EQUIP_SWORD]) & gSaveContext.equips.equipment; - gSaveContext.equips.equipment &= gEquipNegMasks[EQUIP_SWORD]; - gSaveContext.inventory.equipment ^= (gBitFlags[swordEquipMask - 1] << BOMSWAP16(gEquipShifts[EQUIP_SWORD])); + swordEquipMask = BOMSWAP16(gEquipMasks[EQUIP_TYPE_SWORD]) & gSaveContext.equips.equipment; + gSaveContext.equips.equipment &= gEquipNegMasks[EQUIP_TYPE_SWORD]; + gSaveContext.inventory.equipment ^= (gBitFlags[swordEquipMask - 1] << BOMSWAP16(gEquipShifts[EQUIP_TYPE_SWORD])); } } diff --git a/soh/src/overlays/misc/ovl_kaleido_scope/z_kaleido_debug.c b/soh/src/overlays/misc/ovl_kaleido_scope/z_kaleido_debug.c index 5b55f414493..9fed978b8fd 100644 --- a/soh/src/overlays/misc/ovl_kaleido_scope/z_kaleido_debug.c +++ b/soh/src/overlays/misc/ovl_kaleido_scope/z_kaleido_debug.c @@ -29,9 +29,9 @@ static u8 sMaxUpgradeValues[] = { // Item ID corresponding to each slot, aside from bottles and trade items static s16 sSlotItems[] = { - ITEM_STICK, ITEM_NUT, ITEM_BOMB, ITEM_BOW, ITEM_ARROW_FIRE, ITEM_DINS_FIRE, + ITEM_DEKU_STICK, ITEM_DEKU_NUT, ITEM_BOMB, ITEM_BOW, ITEM_ARROW_FIRE, ITEM_DINS_FIRE, ITEM_SLINGSHOT, ITEM_OCARINA_FAIRY, ITEM_BOMBCHU, ITEM_HOOKSHOT, ITEM_ARROW_ICE, ITEM_FARORES_WIND, - ITEM_BOOMERANG, ITEM_LENS, ITEM_BEAN, ITEM_HAMMER, ITEM_ARROW_LIGHT, ITEM_NAYRUS_LOVE, + ITEM_BOOMERANG, ITEM_LENS_OF_TRUTH, ITEM_MAGIC_BEAN, ITEM_HAMMER, ITEM_ARROW_LIGHT, ITEM_NAYRUS_LOVE, }; void KaleidoScope_DrawDebugEditorText(Gfx** gfxp) { @@ -194,7 +194,7 @@ void KaleidoScope_DrawDebugEditor(PlayState* play) { for (j = 0, x = 78; j < 6; j++, slot++, x += 26) { spD8[2] = 0; - if ((slot <= SLOT_BOW) || (slot == SLOT_SLINGSHOT) || (slot == SLOT_BOMBCHU) || (slot == SLOT_BEAN)) { + if ((slot <= SLOT_BOW) || (slot == SLOT_SLINGSHOT) || (slot == SLOT_BOMBCHU) || (slot == SLOT_MAGIC_BEAN)) { spD8[3] = AMMO(gAmmoItems[slot]); } else if (slot == SLOT_OCARINA) { spD8[3] = gSaveContext.inventory.items[slot]; @@ -410,7 +410,7 @@ void KaleidoScope_DrawDebugEditor(PlayState* play) { default: if (curSection < 0x1B) { i = curSection - 3; - if ((i <= SLOT_BOW) || (i == SLOT_SLINGSHOT) || (i == SLOT_BOMBCHU) || (i == SLOT_BEAN)) { + if ((i <= SLOT_BOW) || (i == SLOT_SLINGSHOT) || (i == SLOT_BOMBCHU) || (i == SLOT_MAGIC_BEAN)) { if (CHECK_BTN_ALL(input->press.button, BTN_CUP)) { Inventory_DeleteItem(gAmmoItems[i], SLOT(gAmmoItems[i])); AMMO(gAmmoItems[i]) = 0; @@ -437,14 +437,14 @@ void KaleidoScope_DrawDebugEditor(PlayState* play) { if (gSaveContext.inventory.items[i] == ITEM_NONE) { gSaveContext.inventory.items[i] = ITEM_OCARINA_FAIRY; } else if ((gSaveContext.inventory.items[i] >= ITEM_OCARINA_FAIRY) && - (gSaveContext.inventory.items[i] < ITEM_OCARINA_TIME)) { + (gSaveContext.inventory.items[i] < ITEM_OCARINA_OF_TIME)) { gSaveContext.inventory.items[i]++; } } else if (CHECK_BTN_ALL(input->press.button, BTN_CRIGHT)) { if (gSaveContext.inventory.items[i] == ITEM_NONE) { - gSaveContext.inventory.items[i] = ITEM_OCARINA_TIME; + gSaveContext.inventory.items[i] = ITEM_OCARINA_OF_TIME; } else if ((gSaveContext.inventory.items[i] > ITEM_OCARINA_FAIRY) && - (gSaveContext.inventory.items[i] <= ITEM_OCARINA_TIME)) { + (gSaveContext.inventory.items[i] <= ITEM_OCARINA_OF_TIME)) { gSaveContext.inventory.items[i]--; } } @@ -504,19 +504,19 @@ void KaleidoScope_DrawDebugEditor(PlayState* play) { } } else if ((i >= SLOT_BOTTLE_1) && (i <= SLOT_BOTTLE_4)) { if (CHECK_BTN_ALL(input->press.button, BTN_CUP)) { - Inventory_DeleteItem(ITEM_BOTTLE + i - SLOT_BOTTLE_1, SLOT(ITEM_BOTTLE) + i - SLOT_BOTTLE_1); + Inventory_DeleteItem(ITEM_BOTTLE_EMPTY + i - SLOT_BOTTLE_1, SLOT(ITEM_BOTTLE_EMPTY) + i - SLOT_BOTTLE_1); } else if (CHECK_BTN_ALL(input->press.button, BTN_CLEFT)) { if (gSaveContext.inventory.items[i] == ITEM_NONE) { - gSaveContext.inventory.items[i] = ITEM_BOTTLE; - } else if ((gSaveContext.inventory.items[i] >= ITEM_BOTTLE) && - (gSaveContext.inventory.items[i] <= ITEM_MILK_HALF)) { + gSaveContext.inventory.items[i] = ITEM_BOTTLE_EMPTY; + } else if ((gSaveContext.inventory.items[i] >= ITEM_BOTTLE_EMPTY) && + (gSaveContext.inventory.items[i] <= ITEM_BOTTLE_MILK_HALF)) { gSaveContext.inventory.items[i]++; } } else if (CHECK_BTN_ALL(input->press.button, BTN_CRIGHT)) { if (gSaveContext.inventory.items[i] == ITEM_NONE) { - gSaveContext.inventory.items[i] = ITEM_POE; - } else if ((gSaveContext.inventory.items[i] >= ITEM_POTION_RED) && - (gSaveContext.inventory.items[i] <= ITEM_POE)) { + gSaveContext.inventory.items[i] = ITEM_BOTTLE_POE; + } else if ((gSaveContext.inventory.items[i] >= ITEM_BOTTLE_POTION_RED) && + (gSaveContext.inventory.items[i] <= ITEM_BOTTLE_POE)) { gSaveContext.inventory.items[i]--; } } @@ -526,9 +526,9 @@ void KaleidoScope_DrawDebugEditor(PlayState* play) { CHECK_BTN_ALL(input->press.button, BTN_CRIGHT)) { if (i == SLOT_TRADE_ADULT) { if (gSaveContext.inventory.items[i] == ITEM_NONE) { - gSaveContext.inventory.items[i] = ITEM_BEAN; + gSaveContext.inventory.items[i] = ITEM_MAGIC_BEAN; } else { - Inventory_DeleteItem(ITEM_BEAN, SLOT(ITEM_BEAN)); + Inventory_DeleteItem(ITEM_MAGIC_BEAN, SLOT(ITEM_MAGIC_BEAN)); } } else { j = sSlotItems[i]; diff --git a/soh/src/overlays/misc/ovl_kaleido_scope/z_kaleido_equipment.c b/soh/src/overlays/misc/ovl_kaleido_scope/z_kaleido_equipment.c index dd6ea6a16a9..7e944609d27 100644 --- a/soh/src/overlays/misc/ovl_kaleido_scope/z_kaleido_equipment.c +++ b/soh/src/overlays/misc/ovl_kaleido_scope/z_kaleido_equipment.c @@ -5,8 +5,8 @@ static u8 sChildUpgrades[] = { UPG_BULLET_BAG, UPG_BOMB_BAG, UPG_STRENGTH, UPG_SCALE }; static u8 sAdultUpgrades[] = { UPG_QUIVER, UPG_BOMB_BAG, UPG_STRENGTH, UPG_SCALE }; -static u8 sChildUpgradeItemBases[] = { ITEM_BULLET_BAG_30, ITEM_BOMB_BAG_20, ITEM_BRACELET, ITEM_SCALE_SILVER }; -static u8 sAdultUpgradeItemBases[] = { ITEM_QUIVER_30, ITEM_BOMB_BAG_20, ITEM_BRACELET, ITEM_SCALE_SILVER }; +static u8 sChildUpgradeItemBases[] = { ITEM_BULLET_BAG_30, ITEM_BOMB_BAG_20, ITEM_STRENGTH_GORONS_BRACELET, ITEM_SCALE_SILVER }; +static u8 sAdultUpgradeItemBases[] = { ITEM_QUIVER_30, ITEM_BOMB_BAG_20, ITEM_STRENGTH_GORONS_BRACELET, ITEM_SCALE_SILVER }; static u8 sUpgradeItemOffsets[] = { 0x00, 0x03, 0x06, 0x09 }; @@ -108,7 +108,7 @@ void KaleidoScope_DrawPlayerWork(PlayState* play) { pos.y = -130.0f; pos.z = -150.0f; scale = 0.046f; - } else if (CUR_EQUIP_VALUE(EQUIP_SWORD) != 2 && !CVarGetInteger("gPauseTriforce", 0)) { + } else if (CUR_EQUIP_VALUE(EQUIP_TYPE_SWORD) != 2 && !CVarGetInteger("gPauseTriforce", 0)) { pos.x = 25.0f; pos.y = -228.0f; pos.z = 60.0f; @@ -153,8 +153,8 @@ void KaleidoScope_DrawPlayerWork(PlayState* play) { extern int fbTest; gsSPSetFB(play->state.gfxCtx->polyOpa.p++, fbTest); Player_DrawPause(play, pauseCtx->playerSegment, &pauseCtx->playerSkelAnime, &pos, &link_kaleido_rot, scale, - CUR_EQUIP_VALUE(EQUIP_SWORD), CUR_EQUIP_VALUE(EQUIP_TUNIC) - 1, CUR_EQUIP_VALUE(EQUIP_SHIELD), - CUR_EQUIP_VALUE(EQUIP_BOOTS) - 1); + CUR_EQUIP_VALUE(EQUIP_TYPE_SWORD), CUR_EQUIP_VALUE(EQUIP_TYPE_TUNIC) - 1, CUR_EQUIP_VALUE(EQUIP_TYPE_SHIELD), + CUR_EQUIP_VALUE(EQUIP_TYPE_BOOTS) - 1); gsSPResetFB(play->state.gfxCtx->polyOpa.p++); } @@ -465,7 +465,7 @@ void KaleidoScope_DrawEquipment(PlayState* play) { if (gSaveContext.bgsFlag != 0) { cursorItem = ITEM_HEART_PIECE_2; } else if (gBitFlags[3] & gSaveContext.inventory.equipment) { - cursorItem = ITEM_SWORD_KNIFE; + cursorItem = ITEM_GIANTS_KNIFE; } } @@ -480,7 +480,7 @@ void KaleidoScope_DrawEquipment(PlayState* play) { pauseCtx->nameColorSet = 1; } - if (pauseCtx->cursorItem[PAUSE_EQUIP] == ITEM_BRACELET) { + if (pauseCtx->cursorItem[PAUSE_EQUIP] == ITEM_STRENGTH_GORONS_BRACELET) { if (LINK_AGE_IN_YEARS == YEARS_CHILD || IS_RANDO) { pauseCtx->nameColorSet = 0; } else { @@ -523,28 +523,28 @@ void KaleidoScope_DrawEquipment(PlayState* play) { // If we're on the "swords" section of the equipment screen AND we're on a currently-equipped BGS/Giant's Knife if (pauseCtx->cursorY[PAUSE_EQUIP] == 0 && pauseCtx->cursorX[PAUSE_EQUIP] == 3 - && CUR_EQUIP_VALUE(EQUIP_SWORD) == 3 && CHECK_OWNED_EQUIP(0,1)){ // And we have the Master Sword - Inventory_ChangeEquipment(EQUIP_SWORD, 2); // "Unequip" it by equipping Master Sword + && CUR_EQUIP_VALUE(EQUIP_TYPE_SWORD) == 3 && CHECK_OWNED_EQUIP(0,1)){ // And we have the Master Sword + Inventory_ChangeEquipment(EQUIP_TYPE_SWORD, 2); // "Unequip" it by equipping Master Sword gSaveContext.equips.buttonItems[0] = ITEM_SWORD_MASTER; gSaveContext.infTable[29] = 0; goto RESUME_EQUIPMENT_SWORD; // Skip to here so we don't re-equip it } // If we're on the "shields" section of the equipment screen AND we're on a currently-equipped shield - if (pauseCtx->cursorY[PAUSE_EQUIP] == 1 && pauseCtx->cursorX[PAUSE_EQUIP] == CUR_EQUIP_VALUE(EQUIP_SHIELD)) { - Inventory_ChangeEquipment(EQUIP_SHIELD, 0); // Unequip it + if (pauseCtx->cursorY[PAUSE_EQUIP] == 1 && pauseCtx->cursorX[PAUSE_EQUIP] == CUR_EQUIP_VALUE(EQUIP_TYPE_SHIELD)) { + Inventory_ChangeEquipment(EQUIP_TYPE_SHIELD, 0); // Unequip it goto RESUME_EQUIPMENT; // Skip to here so we don't re-equip it } // If we're on the "tunics" section of the equipment screen AND we're on a currently-equipped tunic - if (pauseCtx->cursorY[PAUSE_EQUIP] == 2 && pauseCtx->cursorX[PAUSE_EQUIP] == CUR_EQUIP_VALUE(EQUIP_TUNIC)) { - Inventory_ChangeEquipment(EQUIP_TUNIC, 1); // "Unequip" it (by equipping Kokiri Tunic) + if (pauseCtx->cursorY[PAUSE_EQUIP] == 2 && pauseCtx->cursorX[PAUSE_EQUIP] == CUR_EQUIP_VALUE(EQUIP_TYPE_TUNIC)) { + Inventory_ChangeEquipment(EQUIP_TYPE_TUNIC, 1); // "Unequip" it (by equipping Kokiri Tunic) goto RESUME_EQUIPMENT; // Skip to here so we don't re-equip it } // If we're on the "boots" section of the equipment screen AND we're on currently-equipped boots - if (pauseCtx->cursorY[PAUSE_EQUIP] == 3 && pauseCtx->cursorX[PAUSE_EQUIP] == CUR_EQUIP_VALUE(EQUIP_BOOTS)) { - Inventory_ChangeEquipment(EQUIP_BOOTS, 1); // "Unequip" it (by equipping Kokiri Boots) + if (pauseCtx->cursorY[PAUSE_EQUIP] == 3 && pauseCtx->cursorX[PAUSE_EQUIP] == CUR_EQUIP_VALUE(EQUIP_TYPE_BOOTS)) { + Inventory_ChangeEquipment(EQUIP_TYPE_BOOTS, 1); // "Unequip" it (by equipping Kokiri Boots) goto RESUME_EQUIPMENT; // Skip to here so we don't re-equip it } } @@ -561,15 +561,15 @@ void KaleidoScope_DrawEquipment(PlayState* play) { gSaveContext.equips.buttonItems[0] = cursorItem; if ((pauseCtx->cursorX[PAUSE_EQUIP] == 3) && (gSaveContext.bgsFlag != 0)) { - gSaveContext.equips.buttonItems[0] = ITEM_SWORD_BGS; + gSaveContext.equips.buttonItems[0] = ITEM_SWORD_BIGGORON; gSaveContext.swordHealth = 8; } else { if (gSaveContext.equips.buttonItems[0] == ITEM_HEART_PIECE_2) { - gSaveContext.equips.buttonItems[0] = ITEM_SWORD_BGS; + gSaveContext.equips.buttonItems[0] = ITEM_SWORD_BIGGORON; } - if ((gSaveContext.equips.buttonItems[0] == ITEM_SWORD_BGS) && (gSaveContext.bgsFlag == 0) && + if ((gSaveContext.equips.buttonItems[0] == ITEM_SWORD_BIGGORON) && (gSaveContext.bgsFlag == 0) && (gBitFlags[3] & gSaveContext.inventory.equipment)) { - gSaveContext.equips.buttonItems[0] = ITEM_SWORD_KNIFE; + gSaveContext.equips.buttonItems[0] = ITEM_GIANTS_KNIFE; } } RESUME_EQUIPMENT_SWORD: @@ -671,8 +671,8 @@ void KaleidoScope_DrawEquipment(PlayState* play) { point = CUR_UPG_VALUE(sChildUpgrades[i]); if ((point != 0) && (CUR_UPG_VALUE(sChildUpgrades[i]) != 0)) { if (drawGreyItems && - ((sChildUpgradeItemBases[i] + CUR_UPG_VALUE(sChildUpgrades[i]) - 1) == ITEM_GAUNTLETS_SILVER || - (sChildUpgradeItemBases[i] + CUR_UPG_VALUE(sChildUpgrades[i]) - 1) == ITEM_GAUNTLETS_GOLD)) { // Grey Out the Gauntlets + ((sChildUpgradeItemBases[i] + CUR_UPG_VALUE(sChildUpgrades[i]) - 1) == ITEM_STRENGTH_SILVER_GAUNTLETS || + (sChildUpgradeItemBases[i] + CUR_UPG_VALUE(sChildUpgrades[i]) - 1) == ITEM_STRENGTH_GOLD_GAUNTLETS)) { // Grey Out the Gauntlets gDPSetGrayscaleColor(POLY_KAL_DISP++, 109, 109, 109, 255); gSPGrayscale(POLY_KAL_DISP++, true); } @@ -689,7 +689,7 @@ void KaleidoScope_DrawEquipment(PlayState* play) { gSPGrayscale(POLY_KAL_DISP++, false); } else if (CUR_UPG_VALUE(sAdultUpgrades[i]) != 0) { if (drawGreyItems && - ((sAdultUpgradeItemBases[i] + CUR_UPG_VALUE(sAdultUpgrades[i]) - 1) == ITEM_BRACELET && + ((sAdultUpgradeItemBases[i] + CUR_UPG_VALUE(sAdultUpgrades[i]) - 1) == ITEM_STRENGTH_GORONS_BRACELET && !(IS_RANDO))) { // Grey Out the Goron Bracelet when Not Randomized gDPSetGrayscaleColor(POLY_KAL_DISP++, 109, 109, 109, 255); gSPGrayscale(POLY_KAL_DISP++, true); diff --git a/soh/src/overlays/misc/ovl_kaleido_scope/z_kaleido_item.c b/soh/src/overlays/misc/ovl_kaleido_scope/z_kaleido_item.c index 2fe8fddb729..d9afd7696fb 100644 --- a/soh/src/overlays/misc/ovl_kaleido_scope/z_kaleido_item.c +++ b/soh/src/overlays/misc/ovl_kaleido_scope/z_kaleido_item.c @@ -7,8 +7,8 @@ #include "soh/Enhancements/cosmetics/cosmeticsTypes.h" u8 gAmmoItems[] = { - ITEM_STICK, ITEM_NUT, ITEM_BOMB, ITEM_BOW, ITEM_NONE, ITEM_NONE, ITEM_SLINGSHOT, ITEM_NONE, - ITEM_BOMBCHU, ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_BEAN, ITEM_NONE, + ITEM_DEKU_STICK, ITEM_DEKU_NUT, ITEM_BOMB, ITEM_BOW, ITEM_NONE, ITEM_NONE, ITEM_SLINGSHOT, ITEM_NONE, + ITEM_BOMBCHU, ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_MAGIC_BEAN, ITEM_NONE, }; static s16 sEquipState = 0; @@ -43,9 +43,9 @@ void KaleidoScope_DrawAmmoCount(PauseContext* pauseCtx, GraphicsContext* gfxCtx, } else if ((item == ITEM_BOMB && AMMO(item) == CUR_CAPACITY(UPG_BOMB_BAG)) || (item == ITEM_BOW && AMMO(item) == CUR_CAPACITY(UPG_QUIVER)) || (item == ITEM_SLINGSHOT && AMMO(item) == CUR_CAPACITY(UPG_BULLET_BAG)) || - (item == ITEM_STICK && AMMO(item) == CUR_CAPACITY(UPG_STICKS)) || - (item == ITEM_NUT && AMMO(item) == CUR_CAPACITY(UPG_NUTS)) || (item == ITEM_BOMBCHU && ammo == 50) || - (item == ITEM_BEAN && ammo == 15)) { + (item == ITEM_DEKU_STICK && AMMO(item) == CUR_CAPACITY(UPG_DEKU_STICKS)) || + (item == ITEM_DEKU_NUT && AMMO(item) == CUR_CAPACITY(UPG_DEKU_NUTS)) || (item == ITEM_BOMBCHU && ammo == 50) || + (item == ITEM_MAGIC_BEAN && ammo == 15)) { gDPSetPrimColor(POLY_KAL_DISP++, 0, 0, 120, 255, 0, pauseCtx->alpha); } } @@ -537,9 +537,9 @@ void KaleidoScope_DrawItemSelect(PlayState* play) { } gSelectingMask = cursorSlot == SLOT_TRADE_CHILD; - gSlotAgeReqs[SLOT_TRADE_CHILD] = gItemAgeReqs[ITEM_MASK_BUNNY] = + gSlotAgeReqs[SLOT_TRADE_CHILD] = gItemAgeReqs[ITEM_MASK_BUNNY_HOOD] = ((((CVarGetInteger("gMMBunnyHood", BUNNY_HOOD_VANILLA) != BUNNY_HOOD_VANILLA) && CVarGetInteger("gAdultBunnyHood", 0)) || CVarGetInteger("gTimelessEquipment", 0)) && - INV_CONTENT(ITEM_TRADE_CHILD) == ITEM_MASK_BUNNY) + INV_CONTENT(ITEM_TRADE_CHILD) == ITEM_MASK_BUNNY_HOOD) ? 9 : 1; } @@ -936,7 +936,7 @@ void KaleidoScope_UpdateItemEquip(PlayState* play) { D_8082A488--; if (D_8082A488 == 0) { - pauseCtx->equipTargetItem -= 0xBF - ITEM_BOW_ARROW_FIRE; + pauseCtx->equipTargetItem -= 0xBF - ITEM_BOW_FIRE; if (!CVarGetInteger("gSeparateArrows", 0)) { pauseCtx->equipTargetSlot = SLOT_BOW; } @@ -1014,13 +1014,13 @@ void KaleidoScope_UpdateItemEquip(PlayState* play) { pauseCtx->equipTargetItem == ITEM_ARROW_LIGHT) { switch (pauseCtx->equipTargetItem) { case ITEM_ARROW_FIRE: - pauseCtx->equipTargetItem = ITEM_BOW_ARROW_FIRE; + pauseCtx->equipTargetItem = ITEM_BOW_FIRE; break; case ITEM_ARROW_ICE: - pauseCtx->equipTargetItem = ITEM_BOW_ARROW_ICE; + pauseCtx->equipTargetItem = ITEM_BOW_ICE; break; case ITEM_ARROW_LIGHT: - pauseCtx->equipTargetItem = ITEM_BOW_ARROW_LIGHT; + pauseCtx->equipTargetItem = ITEM_BOW_LIGHT; break; } if (!CVarGetInteger("gSeparateArrows", 0)) { @@ -1054,8 +1054,8 @@ void KaleidoScope_UpdateItemEquip(PlayState* play) { //Fix for Equip Dupe if (pauseCtx->equipTargetItem == ITEM_BOW) { - if ((gSaveContext.equips.buttonItems[otherButtonIndex] >= ITEM_BOW_ARROW_FIRE) && - (gSaveContext.equips.buttonItems[otherButtonIndex] <= ITEM_BOW_ARROW_LIGHT)) { + if ((gSaveContext.equips.buttonItems[otherButtonIndex] >= ITEM_BOW_FIRE) && + (gSaveContext.equips.buttonItems[otherButtonIndex] <= ITEM_BOW_LIGHT)) { gSaveContext.equips.buttonItems[otherButtonIndex] = gSaveContext.equips.buttonItems[targetButtonIndex]; gSaveContext.equips.cButtonSlots[otherSlotIndex] = gSaveContext.equips.cButtonSlots[pauseCtx->equipTargetCBtn]; Interface_LoadItemIcon2(play, otherButtonIndex); diff --git a/soh/src/overlays/misc/ovl_kaleido_scope/z_kaleido_map_PAL.c b/soh/src/overlays/misc/ovl_kaleido_scope/z_kaleido_map_PAL.c index 238a1e4e2d0..27ead3f73d4 100644 --- a/soh/src/overlays/misc/ovl_kaleido_scope/z_kaleido_map_PAL.c +++ b/soh/src/overlays/misc/ovl_kaleido_scope/z_kaleido_map_PAL.c @@ -67,7 +67,7 @@ void KaleidoScope_DrawDungeonMap(PlayState* play, GraphicsContext* gfxCtx) { } else { pauseCtx->cursorX[PAUSE_MAP] = 1; pauseCtx->cursorPoint[PAUSE_MAP] = 0; - if (!CHECK_DUNGEON_ITEM(DUNGEON_KEY_BOSS, gSaveContext.mapIndex)) { + if (!CHECK_DUNGEON_ITEM(DUNGEON_BOSS_KEY, gSaveContext.mapIndex)) { pauseCtx->cursorPoint[PAUSE_MAP]++; if (!CHECK_DUNGEON_ITEM(DUNGEON_COMPASS, gSaveContext.mapIndex)) { pauseCtx->cursorPoint[PAUSE_MAP]++; @@ -163,7 +163,7 @@ void KaleidoScope_DrawDungeonMap(PlayState* play, GraphicsContext* gfxCtx) { pauseCtx->cursorSpecialPos = 0; pauseCtx->cursorX[PAUSE_MAP] = 1; pauseCtx->cursorPoint[PAUSE_MAP] = 0; - if (!CHECK_DUNGEON_ITEM(DUNGEON_KEY_BOSS, gSaveContext.mapIndex)) { + if (!CHECK_DUNGEON_ITEM(DUNGEON_BOSS_KEY, gSaveContext.mapIndex)) { pauseCtx->cursorPoint[PAUSE_MAP]++; if (!CHECK_DUNGEON_ITEM(DUNGEON_COMPASS, gSaveContext.mapIndex)) { pauseCtx->cursorPoint[PAUSE_MAP]++; @@ -196,7 +196,7 @@ void KaleidoScope_DrawDungeonMap(PlayState* play, GraphicsContext* gfxCtx) { if (pauseCtx->cursorSpecialPos == 0) { if (pauseCtx->cursorPoint[PAUSE_MAP] < 3) { - pauseCtx->cursorItem[PAUSE_MAP] = ITEM_KEY_BOSS + pauseCtx->cursorPoint[PAUSE_MAP]; + pauseCtx->cursorItem[PAUSE_MAP] = ITEM_DUNGEON_BOSS_KEY + pauseCtx->cursorPoint[PAUSE_MAP]; } else { pauseCtx->cursorItem[PAUSE_MAP] = PAUSE_ITEM_NONE; } diff --git a/soh/src/overlays/misc/ovl_kaleido_scope/z_kaleido_scope_PAL.c b/soh/src/overlays/misc/ovl_kaleido_scope/z_kaleido_scope_PAL.c index 642fec066c7..98a34e55501 100644 --- a/soh/src/overlays/misc/ovl_kaleido_scope/z_kaleido_scope_PAL.c +++ b/soh/src/overlays/misc/ovl_kaleido_scope/z_kaleido_scope_PAL.c @@ -3392,7 +3392,7 @@ void KaleidoScope_Update(PlayState* play) pauseCtx->worldMapPoints[i] = 0; } - if (CHECK_QUEST_ITEM(QUEST_GERUDO_CARD)) { + if (CHECK_QUEST_ITEM(QUEST_GERUDOS_CARD)) { pauseCtx->worldMapPoints[0] = 2; } @@ -3404,7 +3404,7 @@ void KaleidoScope_Update(PlayState* play) pauseCtx->worldMapPoints[1] = 2; } - if (CHECK_QUEST_ITEM(QUEST_GERUDO_CARD)) { + if (CHECK_QUEST_ITEM(QUEST_GERUDOS_CARD)) { pauseCtx->worldMapPoints[1] = 1; } @@ -3416,7 +3416,7 @@ void KaleidoScope_Update(PlayState* play) pauseCtx->worldMapPoints[2] = 2; } - if (CHECK_QUEST_ITEM(QUEST_GERUDO_CARD)) { + if (CHECK_QUEST_ITEM(QUEST_GERUDOS_CARD)) { pauseCtx->worldMapPoints[2] = 1; } @@ -3424,7 +3424,7 @@ void KaleidoScope_Update(PlayState* play) pauseCtx->worldMapPoints[3] = 1; } - if (CHECK_OWNED_EQUIP(EQUIP_BOOTS, 1)) { + if (CHECK_OWNED_EQUIP(EQUIP_TYPE_BOOTS, 1)) { pauseCtx->worldMapPoints[3] = 2; } @@ -3460,7 +3460,7 @@ void KaleidoScope_Update(PlayState* play) pauseCtx->worldMapPoints[5] = 1; } - if (INV_CONTENT(ITEM_OCARINA_TIME) == ITEM_OCARINA_TIME) { + if (INV_CONTENT(ITEM_OCARINA_OF_TIME) == ITEM_OCARINA_OF_TIME) { pauseCtx->worldMapPoints[5] = 2; } @@ -3578,7 +3578,7 @@ void KaleidoScope_Update(PlayState* play) pauseCtx->worldMapPoints[11] = 2; } - if (CHECK_OWNED_EQUIP(EQUIP_BOOTS, 1)) { + if (CHECK_OWNED_EQUIP(EQUIP_TYPE_BOOTS, 1)) { pauseCtx->worldMapPoints[11] = 1; } @@ -3592,16 +3592,16 @@ void KaleidoScope_Update(PlayState* play) if ((i == ITEM_COJIRO) || (i == ITEM_ODD_POTION)) { pauseCtx->tradeQuestLocation = 9; } - if (i == ITEM_SAW) { + if (i == ITEM_POACHERS_SAW) { pauseCtx->tradeQuestLocation = 2; } - if ((i == ITEM_SWORD_BROKEN) || (i == ITEM_EYEDROPS)) { + if ((i == ITEM_BROKEN_GORONS_SWORD) || (i == ITEM_EYE_DROPS)) { pauseCtx->tradeQuestLocation = 7; } if (i == ITEM_PRESCRIPTION) { pauseCtx->tradeQuestLocation = 11; } - if (i == ITEM_FROG) { + if (i == ITEM_EYEBALL_FROG) { pauseCtx->tradeQuestLocation = 3; } if ((i == ITEM_CLAIM_CHECK) && (gSaveContext.bgsFlag == 0)) {