1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2024-12-27 07:07:09 +00:00

Enum comments on some arrays (#1404)

* Comment enums on some big arrays

* z_camera_data too

* comment in get item table on own lines

* `sDebugSaveInventory.ammo`

* More in z_sram

* `0xFF` -> `ITEM_NONE` in `sNewSaveInventory.items`
This commit is contained in:
Dragorn421 2022-10-16 02:02:54 +02:00 committed by GitHub
parent 0283493db8
commit 17073af8a3
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 1519 additions and 943 deletions

View file

@ -212,16 +212,62 @@ 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_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_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,
SLOT_TRADE_CHILD, SLOT_TRADE_CHILD, SLOT_TRADE_CHILD, SLOT_TRADE_CHILD, SLOT_TRADE_CHILD, SLOT_TRADE_CHILD,
SLOT_TRADE_CHILD, SLOT_TRADE_CHILD, SLOT_TRADE_CHILD, SLOT_TRADE_ADULT, SLOT_TRADE_ADULT, SLOT_TRADE_ADULT,
SLOT_TRADE_ADULT, SLOT_TRADE_ADULT, SLOT_TRADE_ADULT, SLOT_TRADE_ADULT, SLOT_TRADE_ADULT, SLOT_TRADE_ADULT,
SLOT_TRADE_ADULT, SLOT_TRADE_ADULT,
SLOT_STICK, // ITEM_STICK
SLOT_NUT, // ITEM_NUT
SLOT_BOMB, // ITEM_BOMB
SLOT_BOW, // ITEM_BOW
SLOT_ARROW_FIRE, // ITEM_ARROW_FIRE
SLOT_DINS_FIRE, // ITEM_DINS_FIRE
SLOT_SLINGSHOT, // ITEM_SLINGSHOT
SLOT_OCARINA, // ITEM_OCARINA_FAIRY
SLOT_OCARINA, // ITEM_OCARINA_TIME
SLOT_BOMBCHU, // ITEM_BOMBCHU
SLOT_HOOKSHOT, // ITEM_HOOKSHOT
SLOT_HOOKSHOT, // ITEM_LONGSHOT
SLOT_ARROW_ICE, // ITEM_ARROW_ICE
SLOT_FARORES_WIND, // ITEM_FARORES_WIND
SLOT_BOOMERANG, // ITEM_BOOMERANG
SLOT_LENS, // ITEM_LENS
SLOT_BEAN, // ITEM_BEAN
SLOT_HAMMER, // ITEM_HAMMER
SLOT_ARROW_LIGHT, // ITEM_ARROW_LIGHT
SLOT_NAYRUS_LOVE, // ITEM_NAYRUS_LOVE
SLOT_BOTTLE_1, // ITEM_BOTTLE
SLOT_BOTTLE_1, // ITEM_POTION_RED
SLOT_BOTTLE_1, // ITEM_POTION_GREEN
SLOT_BOTTLE_1, // ITEM_POTION_BLUE
SLOT_BOTTLE_1, // ITEM_FAIRY
SLOT_BOTTLE_1, // ITEM_FISH
SLOT_BOTTLE_1, // ITEM_MILK_BOTTLE
SLOT_BOTTLE_1, // ITEM_LETTER_RUTO
SLOT_BOTTLE_1, // ITEM_BLUE_FIRE
SLOT_BOTTLE_1, // ITEM_BUG
SLOT_BOTTLE_1, // ITEM_BIG_POE
SLOT_BOTTLE_1, // ITEM_MILK_HALF
SLOT_BOTTLE_1, // ITEM_POE
SLOT_TRADE_CHILD, // ITEM_WEIRD_EGG
SLOT_TRADE_CHILD, // ITEM_CHICKEN
SLOT_TRADE_CHILD, // ITEM_LETTER_ZELDA
SLOT_TRADE_CHILD, // ITEM_MASK_KEATON
SLOT_TRADE_CHILD, // ITEM_MASK_SKULL
SLOT_TRADE_CHILD, // ITEM_MASK_SPOOKY
SLOT_TRADE_CHILD, // ITEM_MASK_BUNNY
SLOT_TRADE_CHILD, // ITEM_MASK_GORON
SLOT_TRADE_CHILD, // ITEM_MASK_ZORA
SLOT_TRADE_CHILD, // ITEM_MASK_GERUDO
SLOT_TRADE_CHILD, // ITEM_MASK_TRUTH
SLOT_TRADE_CHILD, // ITEM_SOLD_OUT
SLOT_TRADE_ADULT, // ITEM_POCKET_EGG
SLOT_TRADE_ADULT, // ITEM_POCKET_CUCCO
SLOT_TRADE_ADULT, // ITEM_COJIRO
SLOT_TRADE_ADULT, // ITEM_ODD_MUSHROOM
SLOT_TRADE_ADULT, // ITEM_ODD_POTION
SLOT_TRADE_ADULT, // ITEM_SAW
SLOT_TRADE_ADULT, // ITEM_SWORD_BROKEN
SLOT_TRADE_ADULT, // ITEM_PRESCRIPTION
SLOT_TRADE_ADULT, // ITEM_FROG
SLOT_TRADE_ADULT, // ITEM_EYEDROPS
SLOT_TRADE_ADULT, // ITEM_CLAIM_CHECK
};
void Inventory_ChangeEquipment(s16 equipment, u16 value) {

File diff suppressed because it is too large Load diff

View file

@ -136,9 +136,52 @@ static ItemEquips sNewSaveEquips = {
};
static Inventory sNewSaveInventory = {
{ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF }, // items
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // ammo
// items
{
ITEM_NONE, // SLOT_STICK
ITEM_NONE, // SLOT_NUT
ITEM_NONE, // SLOT_BOMB
ITEM_NONE, // SLOT_BOW
ITEM_NONE, // SLOT_ARROW_FIRE
ITEM_NONE, // SLOT_DINS_FIRE
ITEM_NONE, // SLOT_SLINGSHOT
ITEM_NONE, // SLOT_OCARINA
ITEM_NONE, // SLOT_BOMBCHU
ITEM_NONE, // SLOT_HOOKSHOT
ITEM_NONE, // SLOT_ARROW_ICE
ITEM_NONE, // SLOT_FARORES_WIND
ITEM_NONE, // SLOT_BOOMERANG
ITEM_NONE, // SLOT_LENS
ITEM_NONE, // SLOT_BEAN
ITEM_NONE, // SLOT_HAMMER
ITEM_NONE, // SLOT_ARROW_LIGHT
ITEM_NONE, // SLOT_NAYRUS_LOVE
ITEM_NONE, // SLOT_BOTTLE_1
ITEM_NONE, // SLOT_BOTTLE_2
ITEM_NONE, // SLOT_BOTTLE_3
ITEM_NONE, // SLOT_BOTTLE_4
ITEM_NONE, // SLOT_TRADE_ADULT
ITEM_NONE, // SLOT_TRADE_CHILD
},
// ammo
{
0, // SLOT_STICK
0, // SLOT_NUT
0, // SLOT_BOMB
0, // SLOT_BOW
0, // SLOT_ARROW_FIRE
0, // SLOT_DINS_FIRE
0, // SLOT_SLINGSHOT
0, // SLOT_OCARINA
0, // SLOT_BOMBCHU
0, // SLOT_HOOKSHOT
0, // SLOT_ARROW_ICE
0, // SLOT_FARORES_WIND
0, // SLOT_BOOMERANG
0, // SLOT_LENS
0, // SLOT_BEAN
0, // SLOT_HAMMER
},
// equipment
(((1 << EQUIP_INV_TUNIC_KOKIRI) << (EQUIP_TYPE_TUNIC * 4)) |
((1 << EQUIP_INV_BOOTS_KOKIRI) << (EQUIP_TYPE_BOOTS * 4))),
@ -223,13 +266,52 @@ static ItemEquips sDebugSaveEquips = {
};
static Inventory sDebugSaveInventory = {
// items
{
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,
}, // items
{ 50, 50, 10, 30, 1, 1, 30, 1, 50, 1, 1, 1, 1, 1, 1, 1 }, // ammo
ITEM_STICK, // SLOT_STICK
ITEM_NUT, // SLOT_NUT
ITEM_BOMB, // SLOT_BOMB
ITEM_BOW, // SLOT_BOW
ITEM_ARROW_FIRE, // SLOT_ARROW_FIRE
ITEM_DINS_FIRE, // SLOT_DINS_FIRE
ITEM_SLINGSHOT, // SLOT_SLINGSHOT
ITEM_OCARINA_FAIRY, // SLOT_OCARINA
ITEM_BOMBCHU, // SLOT_BOMBCHU
ITEM_HOOKSHOT, // SLOT_HOOKSHOT
ITEM_ARROW_ICE, // SLOT_ARROW_ICE
ITEM_FARORES_WIND, // SLOT_FARORES_WIND
ITEM_BOOMERANG, // SLOT_BOOMERANG
ITEM_LENS, // SLOT_LENS
ITEM_BEAN, // SLOT_BEAN
ITEM_HAMMER, // SLOT_HAMMER
ITEM_ARROW_LIGHT, // SLOT_ARROW_LIGHT
ITEM_NAYRUS_LOVE, // SLOT_NAYRUS_LOVE
ITEM_BOTTLE, // SLOT_BOTTLE_1
ITEM_POTION_RED, // SLOT_BOTTLE_2
ITEM_POTION_GREEN, // SLOT_BOTTLE_3
ITEM_POTION_BLUE, // SLOT_BOTTLE_4
ITEM_POCKET_EGG, // SLOT_TRADE_ADULT
ITEM_WEIRD_EGG, // SLOT_TRADE_CHILD
},
// ammo
{
50, // SLOT_STICK
50, // SLOT_NUT
10, // SLOT_BOMB
30, // SLOT_BOW
1, // SLOT_ARROW_FIRE
1, // SLOT_DINS_FIRE
30, // SLOT_SLINGSHOT
1, // SLOT_OCARINA
50, // SLOT_BOMBCHU
1, // SLOT_HOOKSHOT
1, // SLOT_ARROW_ICE
1, // SLOT_FARORES_WIND
1, // SLOT_BOOMERANG
1, // SLOT_LENS
1, // SLOT_BEAN
1 // SLOT_HAMMER
},
// equipment
((((1 << EQUIP_INV_SWORD_KOKIRI) << (EQUIP_TYPE_SWORD * 4)) |
((1 << EQUIP_INV_SWORD_MASTER) << (EQUIP_TYPE_SWORD * 4)) |
@ -300,9 +382,22 @@ void Sram_InitDebugSave(void) {
}
static s16 sDungeonEntrances[] = {
ENTR_YDAN_0, ENTR_DDAN_0, ENTR_BDAN_0, ENTR_BMORI1_0, ENTR_HIDAN_0, ENTR_MIZUSIN_0,
ENTR_JYASINZOU_0, ENTR_HAKADAN_0, ENTR_HAKADANCH_0, ENTR_ICE_DOUKUTO_0, ENTR_GANON_0, ENTR_MEN_0,
ENTR_GERUDOWAY_0, ENTR_GANONTIKA_0, ENTR_GANON_SONOGO_0, ENTR_GANONTIKA_SONOGO_0,
ENTR_YDAN_0, // SCENE_YDAN
ENTR_DDAN_0, // SCENE_DDAN
ENTR_BDAN_0, // SCENE_BDAN
ENTR_BMORI1_0, // SCENE_BMORI1
ENTR_HIDAN_0, // SCENE_HIDAN
ENTR_MIZUSIN_0, // SCENE_MIZUSIN
ENTR_JYASINZOU_0, // SCENE_JYASINZOU
ENTR_HAKADAN_0, // SCENE_HAKADAN
ENTR_HAKADANCH_0, // SCENE_HAKADANCH
ENTR_ICE_DOUKUTO_0, // SCENE_ICE_DOUKUTO
ENTR_GANON_0, // SCENE_GANON
ENTR_MEN_0, // SCENE_MEN
ENTR_GERUDOWAY_0, // SCENE_GERUDOWAY
ENTR_GANONTIKA_0, // SCENE_GANONTIKA
ENTR_GANON_SONOGO_0, // SCENE_GANON_SONOGO
ENTR_GANONTIKA_SONOGO_0, // SCENE_GANONTIKA_SONOGO
};
/**

View file

@ -35,21 +35,55 @@ const ActorInit Item_Etcetera_InitVars = {
};
static s16 sObjectIds[] = {
OBJECT_GI_BOTTLE, OBJECT_GI_BOTTLE_LETTER, OBJECT_GI_SHIELD_2, OBJECT_GI_ARROWCASE, OBJECT_GI_SCALE,
OBJECT_GI_SCALE, OBJECT_GI_KEY, OBJECT_GI_M_ARROW, OBJECT_GI_RUPY, OBJECT_GI_RUPY,
OBJECT_GI_RUPY, OBJECT_GI_RUPY, OBJECT_GI_HEARTS, OBJECT_GI_KEY,
OBJECT_GI_BOTTLE, // ITEM_ETC_BOTTLE
OBJECT_GI_BOTTLE_LETTER, // ITEM_ETC_LETTER
OBJECT_GI_SHIELD_2, // ITEM_ETC_SHIELD_HYLIAN
OBJECT_GI_ARROWCASE, // ITEM_ETC_QUIVER
OBJECT_GI_SCALE, // ITEM_ETC_SCALE_SILVER
OBJECT_GI_SCALE, // ITEM_ETC_SCALE_GOLD
OBJECT_GI_KEY, // ITEM_ETC_KEY_SMALL
OBJECT_GI_M_ARROW, // ITEM_ETC_ARROW_FIRE
OBJECT_GI_RUPY, // ITEM_ETC_RUPEE_GREEN_CHEST_GAME
OBJECT_GI_RUPY, // ITEM_ETC_RUPEE_BLUE_CHEST_GAME
OBJECT_GI_RUPY, // ITEM_ETC_RUPEE_RED_CHEST_GAME
OBJECT_GI_RUPY, // ITEM_ETC_RUPEE_PURPLE_CHEST_GAME
OBJECT_GI_HEARTS, // ITEM_ETC_HEART_PIECE_CHEST_GAME
OBJECT_GI_KEY, // ITEM_ETC_KEY_SMALL_CHEST_GAME
};
// Indices passed to the item table in z_draw.c
static s16 sDrawItemIndices[] = {
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, // ITEM_ETC_BOTTLE
GID_LETTER_RUTO, // ITEM_ETC_LETTER
GID_SHIELD_HYLIAN, // ITEM_ETC_SHIELD_HYLIAN
GID_QUIVER_40, // ITEM_ETC_QUIVER
GID_SCALE_SILVER, // ITEM_ETC_SCALE_SILVER
GID_SCALE_GOLDEN, // ITEM_ETC_SCALE_GOLD
GID_KEY_SMALL, // ITEM_ETC_KEY_SMALL
GID_ARROW_FIRE, // ITEM_ETC_ARROW_FIRE
GID_RUPEE_GREEN, // ITEM_ETC_RUPEE_GREEN_CHEST_GAME
GID_RUPEE_BLUE, // ITEM_ETC_RUPEE_BLUE_CHEST_GAME
GID_RUPEE_RED, // ITEM_ETC_RUPEE_RED_CHEST_GAME
GID_RUPEE_PURPLE, // ITEM_ETC_RUPEE_PURPLE_CHEST_GAME
GID_HEART_PIECE, // ITEM_ETC_HEART_PIECE_CHEST_GAME
GID_KEY_SMALL, // ITEM_ETC_KEY_SMALL_CHEST_GAME
};
static s16 sGetItemIds[] = {
GI_BOTTLE, GI_LETTER_RUTO, GI_SHIELD_HYLIAN, GI_QUIVER_40, GI_SCALE_SILVER, GI_SCALE_GOLD, GI_KEY_SMALL,
GI_ARROW_FIRE, GI_NONE, GI_NONE, GI_NONE, GI_NONE, GI_NONE, GI_NONE,
GI_BOTTLE, // ITEM_ETC_BOTTLE
GI_LETTER_RUTO, // ITEM_ETC_LETTER
GI_SHIELD_HYLIAN, // ITEM_ETC_SHIELD_HYLIAN
GI_QUIVER_40, // ITEM_ETC_QUIVER
GI_SCALE_SILVER, // ITEM_ETC_SCALE_SILVER
GI_SCALE_GOLD, // ITEM_ETC_SCALE_GOLD
GI_KEY_SMALL, // ITEM_ETC_KEY_SMALL
GI_ARROW_FIRE, // ITEM_ETC_ARROW_FIRE
GI_NONE, // ITEM_ETC_RUPEE_GREEN_CHEST_GAME
GI_NONE, // ITEM_ETC_RUPEE_BLUE_CHEST_GAME
GI_NONE, // ITEM_ETC_RUPEE_RED_CHEST_GAME
GI_NONE, // ITEM_ETC_RUPEE_PURPLE_CHEST_GAME
GI_NONE, // ITEM_ETC_HEART_PIECE_CHEST_GAME
GI_NONE, // ITEM_ETC_KEY_SMALL_CHEST_GAME
};
void ItemEtcetera_SetupAction(ItemEtcetera* this, ItemEtceteraActionFunc actionFunc) {

View file

@ -493,130 +493,255 @@ static u16 D_8085361C[] = {
};
static GetItemEntry sGetItemTable[] = {
// GI_BOMBS_5
GET_ITEM(ITEM_BOMBS_5, OBJECT_GI_BOMB_1, GID_BOMB, 0x32, 0x59, CHEST_ANIM_SHORT),
// GI_NUTS_5
GET_ITEM(ITEM_NUTS_5, OBJECT_GI_NUTS, GID_NUTS, 0x34, 0x0C, CHEST_ANIM_SHORT),
// GI_BOMBCHUS_10
GET_ITEM(ITEM_BOMBCHU, OBJECT_GI_BOMB_2, GID_BOMBCHU, 0x33, 0x80, CHEST_ANIM_SHORT),
// GI_BOW
GET_ITEM(ITEM_BOW, OBJECT_GI_BOW, GID_BOW, 0x31, 0x80, CHEST_ANIM_LONG),
// GI_SLINGSHOT
GET_ITEM(ITEM_SLINGSHOT, OBJECT_GI_PACHINKO, GID_SLINGSHOT, 0x30, 0x80, CHEST_ANIM_LONG),
// GI_BOOMERANG
GET_ITEM(ITEM_BOOMERANG, OBJECT_GI_BOOMERANG, GID_BOOMERANG, 0x35, 0x80, CHEST_ANIM_LONG),
// GI_STICKS_1
GET_ITEM(ITEM_STICK, OBJECT_GI_STICK, GID_STICK, 0x37, 0x0D, CHEST_ANIM_SHORT),
// GI_HOOKSHOT
GET_ITEM(ITEM_HOOKSHOT, OBJECT_GI_HOOKSHOT, GID_HOOKSHOT, 0x36, 0x80, CHEST_ANIM_LONG),
// GI_LONGSHOT
GET_ITEM(ITEM_LONGSHOT, OBJECT_GI_HOOKSHOT, GID_LONGSHOT, 0x4F, 0x80, CHEST_ANIM_LONG),
// GI_LENS
GET_ITEM(ITEM_LENS, OBJECT_GI_GLASSES, GID_LENS, 0x39, 0x80, CHEST_ANIM_LONG),
// GI_LETTER_ZELDA
GET_ITEM(ITEM_LETTER_ZELDA, OBJECT_GI_LETTER, GID_LETTER_ZELDA, 0x69, 0x80, CHEST_ANIM_LONG),
// GI_OCARINA_OOT
GET_ITEM(ITEM_OCARINA_TIME, OBJECT_GI_OCARINA, GID_OCARINA_TIME, 0x3A, 0x80, CHEST_ANIM_LONG),
// GI_HAMMER
GET_ITEM(ITEM_HAMMER, OBJECT_GI_HAMMER, GID_HAMMER, 0x38, 0x80, CHEST_ANIM_LONG),
// GI_COJIRO
GET_ITEM(ITEM_COJIRO, OBJECT_GI_NIWATORI, GID_COJIRO, 0x02, 0x80, CHEST_ANIM_LONG),
// GI_BOTTLE
GET_ITEM(ITEM_BOTTLE, OBJECT_GI_BOTTLE, GID_BOTTLE, 0x42, 0x80, CHEST_ANIM_LONG),
// GI_POTION_RED
GET_ITEM(ITEM_POTION_RED, OBJECT_GI_LIQUID, GID_POTION_RED, 0x43, 0x80, CHEST_ANIM_LONG),
// GI_POTION_GREEN
GET_ITEM(ITEM_POTION_GREEN, OBJECT_GI_LIQUID, GID_POTION_GREEN, 0x44, 0x80, CHEST_ANIM_LONG),
// GI_POTION_BLUE
GET_ITEM(ITEM_POTION_BLUE, OBJECT_GI_LIQUID, GID_POTION_BLUE, 0x45, 0x80, CHEST_ANIM_LONG),
// GI_FAIRY
GET_ITEM(ITEM_FAIRY, OBJECT_GI_BOTTLE, GID_BOTTLE, 0x46, 0x80, CHEST_ANIM_LONG),
// GI_MILK_BOTTLE
GET_ITEM(ITEM_MILK_BOTTLE, OBJECT_GI_MILK, GID_MILK, 0x98, 0x80, CHEST_ANIM_LONG),
// GI_LETTER_RUTO
GET_ITEM(ITEM_LETTER_RUTO, OBJECT_GI_BOTTLE_LETTER, GID_LETTER_RUTO, 0x99, 0x80, CHEST_ANIM_LONG),
// GI_BEAN
GET_ITEM(ITEM_BEAN, OBJECT_GI_BEAN, GID_BEAN, 0x48, 0x80, CHEST_ANIM_SHORT),
// GI_MASK_SKULL
GET_ITEM(ITEM_MASK_SKULL, OBJECT_GI_SKJ_MASK, GID_MASK_SKULL, 0x10, 0x80, CHEST_ANIM_LONG),
// GI_MASK_SPOOKY
GET_ITEM(ITEM_MASK_SPOOKY, OBJECT_GI_REDEAD_MASK, GID_MASK_SPOOKY, 0x11, 0x80, CHEST_ANIM_LONG),
// GI_CHICKEN
GET_ITEM(ITEM_CHICKEN, OBJECT_GI_NIWATORI, GID_CHICKEN, 0x48, 0x80, CHEST_ANIM_LONG),
// GI_MASK_KEATON
GET_ITEM(ITEM_MASK_KEATON, OBJECT_GI_KI_TAN_MASK, GID_MASK_KEATON, 0x12, 0x80, CHEST_ANIM_LONG),
// GI_MASK_BUNNY
GET_ITEM(ITEM_MASK_BUNNY, OBJECT_GI_RABIT_MASK, GID_MASK_BUNNY, 0x13, 0x80, CHEST_ANIM_LONG),
// GI_MASK_TRUTH
GET_ITEM(ITEM_MASK_TRUTH, OBJECT_GI_TRUTH_MASK, GID_MASK_TRUTH, 0x17, 0x80, CHEST_ANIM_LONG),
// GI_POCKET_EGG
GET_ITEM(ITEM_POCKET_EGG, OBJECT_GI_EGG, GID_EGG, 0x01, 0x80, CHEST_ANIM_LONG),
// GI_POCKET_CUCCO
GET_ITEM(ITEM_POCKET_CUCCO, OBJECT_GI_NIWATORI, GID_CHICKEN, 0x48, 0x80, CHEST_ANIM_LONG),
// GI_ODD_MUSHROOM
GET_ITEM(ITEM_ODD_MUSHROOM, OBJECT_GI_MUSHROOM, GID_ODD_MUSHROOM, 0x03, 0x80, CHEST_ANIM_LONG),
// GI_ODD_POTION
GET_ITEM(ITEM_ODD_POTION, OBJECT_GI_POWDER, GID_ODD_POTION, 0x04, 0x80, CHEST_ANIM_LONG),
// GI_SAW
GET_ITEM(ITEM_SAW, OBJECT_GI_SAW, GID_SAW, 0x05, 0x80, CHEST_ANIM_LONG),
// GI_SWORD_BROKEN
GET_ITEM(ITEM_SWORD_BROKEN, OBJECT_GI_BROKENSWORD, GID_SWORD_BROKEN, 0x08, 0x80, CHEST_ANIM_LONG),
// GI_PRESCRIPTION
GET_ITEM(ITEM_PRESCRIPTION, OBJECT_GI_PRESCRIPTION, GID_PRESCRIPTION, 0x09, 0x80, CHEST_ANIM_LONG),
// GI_FROG
GET_ITEM(ITEM_FROG, OBJECT_GI_FROG, GID_FROG, 0x0D, 0x80, CHEST_ANIM_LONG),
// GI_EYEDROPS
GET_ITEM(ITEM_EYEDROPS, OBJECT_GI_EYE_LOTION, GID_EYEDROPS, 0x0E, 0x80, CHEST_ANIM_LONG),
// GI_CLAIM_CHECK
GET_ITEM(ITEM_CLAIM_CHECK, OBJECT_GI_TICKETSTONE, GID_CLAIM_CHECK, 0x0A, 0x80, CHEST_ANIM_LONG),
// GI_SWORD_KOKIRI
GET_ITEM(ITEM_SWORD_KOKIRI, OBJECT_GI_SWORD_1, GID_SWORD_KOKIRI, 0xA4, 0x80, CHEST_ANIM_LONG),
// GI_SWORD_KNIFE
GET_ITEM(ITEM_SWORD_BGS, OBJECT_GI_LONGSWORD, GID_SWORD_BGS, 0x4B, 0x80, CHEST_ANIM_LONG),
// GI_SHIELD_DEKU
GET_ITEM(ITEM_SHIELD_DEKU, OBJECT_GI_SHIELD_1, GID_SHIELD_DEKU, 0x4C, 0xA0, CHEST_ANIM_SHORT),
// GI_SHIELD_HYLIAN
GET_ITEM(ITEM_SHIELD_HYLIAN, OBJECT_GI_SHIELD_2, GID_SHIELD_HYLIAN, 0x4D, 0xA0, CHEST_ANIM_SHORT),
// GI_SHIELD_MIRROR
GET_ITEM(ITEM_SHIELD_MIRROR, OBJECT_GI_SHIELD_3, GID_SHIELD_MIRROR, 0x4E, 0x80, CHEST_ANIM_LONG),
// GI_TUNIC_GORON
GET_ITEM(ITEM_TUNIC_GORON, OBJECT_GI_CLOTHES, GID_TUNIC_GORON, 0x50, 0xA0, CHEST_ANIM_LONG),
// GI_TUNIC_ZORA
GET_ITEM(ITEM_TUNIC_ZORA, OBJECT_GI_CLOTHES, GID_TUNIC_ZORA, 0x51, 0xA0, CHEST_ANIM_LONG),
// GI_BOOTS_IRON
GET_ITEM(ITEM_BOOTS_IRON, OBJECT_GI_BOOTS_2, GID_BOOTS_IRON, 0x53, 0x80, CHEST_ANIM_LONG),
// GI_BOOTS_HOVER
GET_ITEM(ITEM_BOOTS_HOVER, OBJECT_GI_HOVERBOOTS, GID_BOOTS_HOVER, 0x54, 0x80, CHEST_ANIM_LONG),
// GI_QUIVER_40
GET_ITEM(ITEM_QUIVER_40, OBJECT_GI_ARROWCASE, GID_QUIVER_40, 0x56, 0x80, CHEST_ANIM_LONG),
// GI_QUIVER_50
GET_ITEM(ITEM_QUIVER_50, OBJECT_GI_ARROWCASE, GID_QUIVER_50, 0x57, 0x80, CHEST_ANIM_LONG),
// GI_BOMB_BAG_20
GET_ITEM(ITEM_BOMB_BAG_20, OBJECT_GI_BOMBPOUCH, GID_BOMB_BAG_20, 0x58, 0x80, CHEST_ANIM_LONG),
// GI_BOMB_BAG_30
GET_ITEM(ITEM_BOMB_BAG_30, OBJECT_GI_BOMBPOUCH, GID_BOMB_BAG_30, 0x59, 0x80, CHEST_ANIM_LONG),
// GI_BOMB_BAG_40
GET_ITEM(ITEM_BOMB_BAG_40, OBJECT_GI_BOMBPOUCH, GID_BOMB_BAG_40, 0x5A, 0x80, CHEST_ANIM_LONG),
// GI_GAUNTLETS_SILVER
GET_ITEM(ITEM_GAUNTLETS_SILVER, OBJECT_GI_GLOVES, GID_GAUNTLETS_SILVER, 0x5B, 0x80, CHEST_ANIM_LONG),
// GI_GAUNTLETS_GOLD
GET_ITEM(ITEM_GAUNTLETS_GOLD, OBJECT_GI_GLOVES, GID_GAUNTLETS_GOLD, 0x5C, 0x80, CHEST_ANIM_LONG),
// GI_SCALE_SILVER
GET_ITEM(ITEM_SCALE_SILVER, OBJECT_GI_SCALE, GID_SCALE_SILVER, 0xCD, 0x80, CHEST_ANIM_LONG),
// GI_SCALE_GOLD
GET_ITEM(ITEM_SCALE_GOLDEN, OBJECT_GI_SCALE, GID_SCALE_GOLDEN, 0xCE, 0x80, CHEST_ANIM_LONG),
// GI_STONE_OF_AGONY
GET_ITEM(ITEM_STONE_OF_AGONY, OBJECT_GI_MAP, GID_STONE_OF_AGONY, 0x68, 0x80, CHEST_ANIM_LONG),
// GI_GERUDO_CARD
GET_ITEM(ITEM_GERUDO_CARD, OBJECT_GI_GERUDO, GID_GERUDO_CARD, 0x7B, 0x80, CHEST_ANIM_LONG),
// GI_OCARINA_FAIRY
GET_ITEM(ITEM_OCARINA_FAIRY, OBJECT_GI_OCARINA_0, GID_OCARINA_FAIRY, 0x3A, 0x80, CHEST_ANIM_LONG),
// GI_SEEDS_5
GET_ITEM(ITEM_SEEDS, OBJECT_GI_SEED, GID_SEEDS, 0xDC, 0x50, CHEST_ANIM_SHORT),
// GI_HEART_CONTAINER
GET_ITEM(ITEM_HEART_CONTAINER, OBJECT_GI_HEARTS, GID_HEART_CONTAINER, 0xC6, 0x80, CHEST_ANIM_LONG),
// GI_HEART_PIECE
GET_ITEM(ITEM_HEART_PIECE_2, OBJECT_GI_HEARTS, GID_HEART_PIECE, 0xC2, 0x80, CHEST_ANIM_LONG),
// GI_KEY_BOSS
GET_ITEM(ITEM_KEY_BOSS, OBJECT_GI_BOSSKEY, GID_KEY_BOSS, 0xC7, 0x80, CHEST_ANIM_LONG),
// GI_COMPASS
GET_ITEM(ITEM_COMPASS, OBJECT_GI_COMPASS, GID_COMPASS, 0x67, 0x80, CHEST_ANIM_LONG),
// GI_MAP
GET_ITEM(ITEM_DUNGEON_MAP, OBJECT_GI_MAP, GID_DUNGEON_MAP, 0x66, 0x80, CHEST_ANIM_LONG),
// GI_KEY_SMALL
GET_ITEM(ITEM_KEY_SMALL, OBJECT_GI_KEY, GID_KEY_SMALL, 0x60, 0x80, CHEST_ANIM_SHORT),
// GI_MAGIC_SMALL
GET_ITEM(ITEM_MAGIC_SMALL, OBJECT_GI_MAGICPOT, GID_MAGIC_SMALL, 0x52, 0x6F, CHEST_ANIM_SHORT),
// GI_MAGIC_LARGE
GET_ITEM(ITEM_MAGIC_LARGE, OBJECT_GI_MAGICPOT, GID_MAGIC_LARGE, 0x52, 0x6E, CHEST_ANIM_SHORT),
// GI_WALLET_ADULT
GET_ITEM(ITEM_WALLET_ADULT, OBJECT_GI_PURSE, GID_WALLET_ADULT, 0x5E, 0x80, CHEST_ANIM_LONG),
// GI_WALLET_GIANT
GET_ITEM(ITEM_WALLET_GIANT, OBJECT_GI_PURSE, GID_WALLET_GIANT, 0x5F, 0x80, CHEST_ANIM_LONG),
// GI_WEIRD_EGG
GET_ITEM(ITEM_WEIRD_EGG, OBJECT_GI_EGG, GID_EGG, 0x9A, 0x80, CHEST_ANIM_LONG),
// GI_RECOVERY_HEART
GET_ITEM(ITEM_RECOVERY_HEART, OBJECT_GI_HEART, GID_RECOVERY_HEART, 0x55, 0x80, CHEST_ANIM_LONG),
// GI_ARROWS_SMALL
GET_ITEM(ITEM_ARROWS_SMALL, OBJECT_GI_ARROW, GID_ARROWS_SMALL, 0xE6, 0x48, CHEST_ANIM_SHORT),
// GI_ARROWS_MEDIUM
GET_ITEM(ITEM_ARROWS_MEDIUM, OBJECT_GI_ARROW, GID_ARROWS_MEDIUM, 0xE6, 0x49, CHEST_ANIM_SHORT),
// GI_ARROWS_LARGE
GET_ITEM(ITEM_ARROWS_LARGE, OBJECT_GI_ARROW, GID_ARROWS_LARGE, 0xE6, 0x4A, CHEST_ANIM_SHORT),
// GI_RUPEE_GREEN
GET_ITEM(ITEM_RUPEE_GREEN, OBJECT_GI_RUPY, GID_RUPEE_GREEN, 0x6F, 0x00, CHEST_ANIM_SHORT),
// GI_RUPEE_BLUE
GET_ITEM(ITEM_RUPEE_BLUE, OBJECT_GI_RUPY, GID_RUPEE_BLUE, 0xCC, 0x01, CHEST_ANIM_SHORT),
// GI_RUPEE_RED
GET_ITEM(ITEM_RUPEE_RED, OBJECT_GI_RUPY, GID_RUPEE_RED, 0xF0, 0x02, CHEST_ANIM_SHORT),
// GI_HEART_CONTAINER_2
GET_ITEM(ITEM_HEART_CONTAINER, OBJECT_GI_HEARTS, GID_HEART_CONTAINER, 0xC6, 0x80, CHEST_ANIM_LONG),
// GI_MILK
GET_ITEM(ITEM_MILK, OBJECT_GI_MILK, GID_MILK, 0x98, 0x80, CHEST_ANIM_LONG),
// GI_MASK_GORON
GET_ITEM(ITEM_MASK_GORON, OBJECT_GI_GOLONMASK, GID_MASK_GORON, 0x14, 0x80, CHEST_ANIM_LONG),
// GI_MASK_ZORA
GET_ITEM(ITEM_MASK_ZORA, OBJECT_GI_ZORAMASK, GID_MASK_ZORA, 0x15, 0x80, CHEST_ANIM_LONG),
// GI_MASK_GERUDO
GET_ITEM(ITEM_MASK_GERUDO, OBJECT_GI_GERUDOMASK, GID_MASK_GERUDO, 0x16, 0x80, CHEST_ANIM_LONG),
// GI_BRACELET
GET_ITEM(ITEM_BRACELET, OBJECT_GI_BRACELET, GID_BRACELET, 0x79, 0x80, CHEST_ANIM_LONG),
// GI_RUPEE_PURPLE
GET_ITEM(ITEM_RUPEE_PURPLE, OBJECT_GI_RUPY, GID_RUPEE_PURPLE, 0xF1, 0x14, CHEST_ANIM_SHORT),
// GI_RUPEE_GOLD
GET_ITEM(ITEM_RUPEE_GOLD, OBJECT_GI_RUPY, GID_RUPEE_GOLD, 0xF2, 0x13, CHEST_ANIM_SHORT),
// GI_SWORD_BGS
GET_ITEM(ITEM_SWORD_BGS, OBJECT_GI_LONGSWORD, GID_SWORD_BGS, 0x0C, 0x80, CHEST_ANIM_LONG),
// GI_ARROW_FIRE
GET_ITEM(ITEM_ARROW_FIRE, OBJECT_GI_M_ARROW, GID_ARROW_FIRE, 0x70, 0x80, CHEST_ANIM_LONG),
// GI_ARROW_ICE
GET_ITEM(ITEM_ARROW_ICE, OBJECT_GI_M_ARROW, GID_ARROW_ICE, 0x71, 0x80, CHEST_ANIM_LONG),
// GI_ARROW_LIGHT
GET_ITEM(ITEM_ARROW_LIGHT, OBJECT_GI_M_ARROW, GID_ARROW_LIGHT, 0x72, 0x80, CHEST_ANIM_LONG),
// GI_SKULL_TOKEN
GET_ITEM(ITEM_SKULL_TOKEN, OBJECT_GI_SUTARU, GID_SKULL_TOKEN, 0xB4, 0x80, CHEST_ANIM_SHORT),
// GI_DINS_FIRE
GET_ITEM(ITEM_DINS_FIRE, OBJECT_GI_GODDESS, GID_DINS_FIRE, 0xAD, 0x80, CHEST_ANIM_LONG),
// GI_FARORES_WIND
GET_ITEM(ITEM_FARORES_WIND, OBJECT_GI_GODDESS, GID_FARORES_WIND, 0xAE, 0x80, CHEST_ANIM_LONG),
// GI_NAYRUS_LOVE
GET_ITEM(ITEM_NAYRUS_LOVE, OBJECT_GI_GODDESS, GID_NAYRUS_LOVE, 0xAF, 0x80, CHEST_ANIM_LONG),
// GI_BULLET_BAG_30
GET_ITEM(ITEM_BULLET_BAG_30, OBJECT_GI_DEKUPOUCH, GID_BULLET_BAG, 0x07, 0x80, CHEST_ANIM_LONG),
// GI_BULLET_BAG_40
GET_ITEM(ITEM_BULLET_BAG_40, OBJECT_GI_DEKUPOUCH, GID_BULLET_BAG, 0x07, 0x80, CHEST_ANIM_LONG),
// GI_STICKS_5
GET_ITEM(ITEM_STICKS_5, OBJECT_GI_STICK, GID_STICK, 0x37, 0x0D, CHEST_ANIM_SHORT),
// GI_STICKS_10
GET_ITEM(ITEM_STICKS_10, OBJECT_GI_STICK, GID_STICK, 0x37, 0x0D, CHEST_ANIM_SHORT),
// GI_NUTS_5_2
GET_ITEM(ITEM_NUTS_5, OBJECT_GI_NUTS, GID_NUTS, 0x34, 0x0C, CHEST_ANIM_SHORT),
// GI_NUTS_10
GET_ITEM(ITEM_NUTS_10, OBJECT_GI_NUTS, GID_NUTS, 0x34, 0x0C, CHEST_ANIM_SHORT),
// GI_BOMBS_1
GET_ITEM(ITEM_BOMB, OBJECT_GI_BOMB_1, GID_BOMB, 0x32, 0x59, CHEST_ANIM_SHORT),
// GI_BOMBS_10
GET_ITEM(ITEM_BOMBS_10, OBJECT_GI_BOMB_1, GID_BOMB, 0x32, 0x59, CHEST_ANIM_SHORT),
// GI_BOMBS_20
GET_ITEM(ITEM_BOMBS_20, OBJECT_GI_BOMB_1, GID_BOMB, 0x32, 0x59, CHEST_ANIM_SHORT),
// GI_BOMBS_30
GET_ITEM(ITEM_BOMBS_30, OBJECT_GI_BOMB_1, GID_BOMB, 0x32, 0x59, CHEST_ANIM_SHORT),
// GI_SEEDS_30
GET_ITEM(ITEM_SEEDS_30, OBJECT_GI_SEED, GID_SEEDS, 0xDC, 0x50, CHEST_ANIM_SHORT),
// GI_BOMBCHUS_5
GET_ITEM(ITEM_BOMBCHUS_5, OBJECT_GI_BOMB_2, GID_BOMBCHU, 0x33, 0x80, CHEST_ANIM_SHORT),
// GI_BOMBCHUS_20
GET_ITEM(ITEM_BOMBCHUS_20, OBJECT_GI_BOMB_2, GID_BOMBCHU, 0x33, 0x80, CHEST_ANIM_SHORT),
// GI_FISH
GET_ITEM(ITEM_FISH, OBJECT_GI_FISH, GID_FISH, 0x47, 0x80, CHEST_ANIM_LONG),
// GI_BUGS
GET_ITEM(ITEM_BUG, OBJECT_GI_INSECT, GID_BUG, 0x7A, 0x80, CHEST_ANIM_LONG),
// GI_BLUE_FIRE
GET_ITEM(ITEM_BLUE_FIRE, OBJECT_GI_FIRE, GID_BLUE_FIRE, 0x5D, 0x80, CHEST_ANIM_LONG),
// GI_POE
GET_ITEM(ITEM_POE, OBJECT_GI_GHOST, GID_POE, 0x97, 0x80, CHEST_ANIM_LONG),
// GI_BIG_POE
GET_ITEM(ITEM_BIG_POE, OBJECT_GI_GHOST, GID_BIG_POE, 0xF9, 0x80, CHEST_ANIM_LONG),
// GI_DOOR_KEY
GET_ITEM(ITEM_KEY_SMALL, OBJECT_GI_KEY, GID_KEY_SMALL, 0xF3, 0x80, CHEST_ANIM_SHORT),
// GI_RUPEE_GREEN_LOSE
GET_ITEM(ITEM_RUPEE_GREEN, OBJECT_GI_RUPY, GID_RUPEE_GREEN, 0xF4, 0x00, CHEST_ANIM_SHORT),
// GI_RUPEE_BLUE_LOSE
GET_ITEM(ITEM_RUPEE_BLUE, OBJECT_GI_RUPY, GID_RUPEE_BLUE, 0xF5, 0x01, CHEST_ANIM_SHORT),
// GI_RUPEE_RED_LOSE
GET_ITEM(ITEM_RUPEE_RED, OBJECT_GI_RUPY, GID_RUPEE_RED, 0xF6, 0x02, CHEST_ANIM_SHORT),
// GI_RUPEE_PURPLE_LOSE
GET_ITEM(ITEM_RUPEE_PURPLE, OBJECT_GI_RUPY, GID_RUPEE_PURPLE, 0xF7, 0x14, CHEST_ANIM_SHORT),
// GI_HEART_PIECE_WIN
GET_ITEM(ITEM_HEART_PIECE_2, OBJECT_GI_HEARTS, GID_HEART_PIECE, 0xFA, 0x80, CHEST_ANIM_LONG),
// GI_STICK_UPGRADE_20
GET_ITEM(ITEM_STICK_UPGRADE_20, OBJECT_GI_STICK, GID_STICK, 0x90, 0x80, CHEST_ANIM_SHORT),
// GI_STICK_UPGRADE_30
GET_ITEM(ITEM_STICK_UPGRADE_30, OBJECT_GI_STICK, GID_STICK, 0x91, 0x80, CHEST_ANIM_SHORT),
// GI_NUT_UPGRADE_30
GET_ITEM(ITEM_NUT_UPGRADE_30, OBJECT_GI_NUTS, GID_NUTS, 0xA7, 0x80, CHEST_ANIM_SHORT),
// GI_NUT_UPGRADE_40
GET_ITEM(ITEM_NUT_UPGRADE_40, OBJECT_GI_NUTS, GID_NUTS, 0xA8, 0x80, CHEST_ANIM_SHORT),
// GI_BULLET_BAG_50
GET_ITEM(ITEM_BULLET_BAG_50, OBJECT_GI_DEKUPOUCH, GID_BULLET_BAG_50, 0x6C, 0x80, CHEST_ANIM_LONG),
// GI_ICE_TRAP
GET_ITEM_NONE,
// GI_TEXT_0
GET_ITEM_NONE,
};
@ -1026,94 +1151,208 @@ static u8 D_80853E7C[] = {
// Used to map item IDs to item actions
static s8 sItemActions[] = {
PLAYER_IA_STICK,
PLAYER_IA_NUT,
PLAYER_IA_BOMB,
PLAYER_IA_BOW,
PLAYER_IA_BOW_FIRE,
PLAYER_IA_DINS_FIRE,
PLAYER_IA_SLINGSHOT,
PLAYER_IA_OCARINA_FAIRY,
PLAYER_IA_OCARINA_TIME,
PLAYER_IA_BOMBCHU,
PLAYER_IA_HOOKSHOT,
PLAYER_IA_LONGSHOT,
PLAYER_IA_BOW_ICE,
PLAYER_IA_FARORES_WIND,
PLAYER_IA_BOOMERANG,
PLAYER_IA_LENS,
PLAYER_IA_BEAN,
PLAYER_IA_HAMMER,
PLAYER_IA_BOW_LIGHT,
PLAYER_IA_NAYRUS_LOVE,
PLAYER_IA_BOTTLE,
PLAYER_IA_BOTTLE_POTION_RED,
PLAYER_IA_BOTTLE_POTION_GREEN,
PLAYER_IA_BOTTLE_POTION_BLUE,
PLAYER_IA_BOTTLE_FAIRY,
PLAYER_IA_BOTTLE_FISH,
PLAYER_IA_BOTTLE_MILK,
PLAYER_IA_BOTTLE_LETTER,
PLAYER_IA_BOTTLE_FIRE,
PLAYER_IA_BOTTLE_BUG,
PLAYER_IA_BOTTLE_BIG_POE,
PLAYER_IA_BOTTLE_MILK_HALF,
PLAYER_IA_BOTTLE_POE,
PLAYER_IA_WEIRD_EGG,
PLAYER_IA_CHICKEN,
PLAYER_IA_LETTER_ZELDA,
PLAYER_IA_MASK_KEATON,
PLAYER_IA_MASK_SKULL,
PLAYER_IA_MASK_SPOOKY,
PLAYER_IA_MASK_BUNNY,
PLAYER_IA_MASK_GORON,
PLAYER_IA_MASK_ZORA,
PLAYER_IA_MASK_GERUDO,
PLAYER_IA_MASK_TRUTH,
PLAYER_IA_SWORD_MASTER,
PLAYER_IA_POCKET_EGG,
PLAYER_IA_POCKET_CUCCO,
PLAYER_IA_COJIRO,
PLAYER_IA_ODD_MUSHROOM,
PLAYER_IA_ODD_POTION,
PLAYER_IA_SAW,
PLAYER_IA_SWORD_BROKEN,
PLAYER_IA_PRESCRIPTION,
PLAYER_IA_FROG,
PLAYER_IA_EYEDROPS,
PLAYER_IA_CLAIM_CHECK,
PLAYER_IA_BOW_FIRE,
PLAYER_IA_BOW_ICE,
PLAYER_IA_BOW_LIGHT,
PLAYER_IA_SWORD_KOKIRI,
PLAYER_IA_SWORD_MASTER,
PLAYER_IA_SWORD_BGS,
PLAYER_IA_STICK, // ITEM_STICK
PLAYER_IA_NUT, // ITEM_NUT
PLAYER_IA_BOMB, // ITEM_BOMB
PLAYER_IA_BOW, // ITEM_BOW
PLAYER_IA_BOW_FIRE, // ITEM_ARROW_FIRE
PLAYER_IA_DINS_FIRE, // ITEM_DINS_FIRE
PLAYER_IA_SLINGSHOT, // ITEM_SLINGSHOT
PLAYER_IA_OCARINA_FAIRY, // ITEM_OCARINA_FAIRY
PLAYER_IA_OCARINA_TIME, // ITEM_OCARINA_TIME
PLAYER_IA_BOMBCHU, // ITEM_BOMBCHU
PLAYER_IA_HOOKSHOT, // ITEM_HOOKSHOT
PLAYER_IA_LONGSHOT, // ITEM_LONGSHOT
PLAYER_IA_BOW_ICE, // ITEM_ARROW_ICE
PLAYER_IA_FARORES_WIND, // ITEM_FARORES_WIND
PLAYER_IA_BOOMERANG, // ITEM_BOOMERANG
PLAYER_IA_LENS, // ITEM_LENS
PLAYER_IA_BEAN, // ITEM_BEAN
PLAYER_IA_HAMMER, // ITEM_HAMMER
PLAYER_IA_BOW_LIGHT, // ITEM_ARROW_LIGHT
PLAYER_IA_NAYRUS_LOVE, // ITEM_NAYRUS_LOVE
PLAYER_IA_BOTTLE, // ITEM_BOTTLE
PLAYER_IA_BOTTLE_POTION_RED, // ITEM_POTION_RED
PLAYER_IA_BOTTLE_POTION_GREEN, // ITEM_POTION_GREEN
PLAYER_IA_BOTTLE_POTION_BLUE, // ITEM_POTION_BLUE
PLAYER_IA_BOTTLE_FAIRY, // ITEM_FAIRY
PLAYER_IA_BOTTLE_FISH, // ITEM_FISH
PLAYER_IA_BOTTLE_MILK, // ITEM_MILK_BOTTLE
PLAYER_IA_BOTTLE_LETTER, // ITEM_LETTER_RUTO
PLAYER_IA_BOTTLE_FIRE, // ITEM_BLUE_FIRE
PLAYER_IA_BOTTLE_BUG, // ITEM_BUG
PLAYER_IA_BOTTLE_BIG_POE, // ITEM_BIG_POE
PLAYER_IA_BOTTLE_MILK_HALF, // ITEM_MILK_HALF
PLAYER_IA_BOTTLE_POE, // ITEM_POE
PLAYER_IA_WEIRD_EGG, // ITEM_WEIRD_EGG
PLAYER_IA_CHICKEN, // ITEM_CHICKEN
PLAYER_IA_LETTER_ZELDA, // ITEM_LETTER_ZELDA
PLAYER_IA_MASK_KEATON, // ITEM_MASK_KEATON
PLAYER_IA_MASK_SKULL, // ITEM_MASK_SKULL
PLAYER_IA_MASK_SPOOKY, // ITEM_MASK_SPOOKY
PLAYER_IA_MASK_BUNNY, // ITEM_MASK_BUNNY
PLAYER_IA_MASK_GORON, // ITEM_MASK_GORON
PLAYER_IA_MASK_ZORA, // ITEM_MASK_ZORA
PLAYER_IA_MASK_GERUDO, // ITEM_MASK_GERUDO
PLAYER_IA_MASK_TRUTH, // ITEM_MASK_TRUTH
PLAYER_IA_SWORD_MASTER, // ITEM_SOLD_OUT
PLAYER_IA_POCKET_EGG, // ITEM_POCKET_EGG
PLAYER_IA_POCKET_CUCCO, // ITEM_POCKET_CUCCO
PLAYER_IA_COJIRO, // ITEM_COJIRO
PLAYER_IA_ODD_MUSHROOM, // ITEM_ODD_MUSHROOM
PLAYER_IA_ODD_POTION, // ITEM_ODD_POTION
PLAYER_IA_SAW, // ITEM_SAW
PLAYER_IA_SWORD_BROKEN, // ITEM_SWORD_BROKEN
PLAYER_IA_PRESCRIPTION, // ITEM_PRESCRIPTION
PLAYER_IA_FROG, // ITEM_FROG
PLAYER_IA_EYEDROPS, // ITEM_EYEDROPS
PLAYER_IA_CLAIM_CHECK, // ITEM_CLAIM_CHECK
PLAYER_IA_BOW_FIRE, // ITEM_BOW_ARROW_FIRE
PLAYER_IA_BOW_ICE, // ITEM_BOW_ARROW_ICE
PLAYER_IA_BOW_LIGHT, // ITEM_BOW_ARROW_LIGHT
PLAYER_IA_SWORD_KOKIRI, // ITEM_SWORD_KOKIRI
PLAYER_IA_SWORD_MASTER, // ITEM_SWORD_MASTER
PLAYER_IA_SWORD_BGS, // ITEM_SWORD_BGS
};
static s32 (*D_80853EDC[])(Player* this, PlayState* play) = {
func_8083485C, func_8083485C, func_8083485C, func_808349DC, func_808349DC, func_808349DC, func_8083485C,
func_8083485C, func_8083501C, func_8083501C, func_8083501C, func_8083501C, func_8083501C, func_8083501C,
func_8083501C, func_8083501C, func_8083501C, func_8083501C, func_808356E8, func_808356E8, func_80835800,
func_8083485C, func_8083485C, func_8083485C, func_8083485C, func_8083485C, func_8083485C, func_8083485C,
func_8083485C, func_8083485C, func_8083485C, func_8083485C, func_8083485C, func_8083485C, func_8083485C,
func_8083485C, func_8083485C, func_8083485C, func_8083485C, func_8083485C, func_8083485C, func_8083485C,
func_8083485C, func_8083485C, func_8083485C, func_8083485C, func_8083485C, func_8083485C, func_8083485C,
func_8083485C, func_8083485C, func_8083485C, func_8083485C, func_8083485C, func_8083485C, func_8083485C,
func_8083485C, func_8083485C, func_8083485C, func_8083485C, func_8083485C, func_8083485C, func_8083485C,
func_8083485C, func_8083485C, func_8083485C, func_8083485C,
func_8083485C, // PLAYER_IA_NONE
func_8083485C, // PLAYER_IA_LAST_USED
func_8083485C, // PLAYER_IA_FISHING_POLE
func_808349DC, // PLAYER_IA_SWORD_MASTER
func_808349DC, // PLAYER_IA_SWORD_KOKIRI
func_808349DC, // PLAYER_IA_SWORD_BGS
func_8083485C, // PLAYER_IA_STICK
func_8083485C, // PLAYER_IA_HAMMER
func_8083501C, // PLAYER_IA_BOW
func_8083501C, // PLAYER_IA_BOW_FIRE
func_8083501C, // PLAYER_IA_BOW_ICE
func_8083501C, // PLAYER_IA_BOW_LIGHT
func_8083501C, // PLAYER_IA_BOW_0C
func_8083501C, // PLAYER_IA_BOW_0D
func_8083501C, // PLAYER_IA_BOW_0E
func_8083501C, // PLAYER_IA_SLINGSHOT
func_8083501C, // PLAYER_IA_HOOKSHOT
func_8083501C, // PLAYER_IA_LONGSHOT
func_808356E8, // PLAYER_IA_BOMB
func_808356E8, // PLAYER_IA_BOMBCHU
func_80835800, // PLAYER_IA_BOOMERANG
func_8083485C, // PLAYER_IA_MAGIC_SPELL_15
func_8083485C, // PLAYER_IA_MAGIC_SPELL_16
func_8083485C, // PLAYER_IA_MAGIC_SPELL_17
func_8083485C, // PLAYER_IA_FARORES_WIND
func_8083485C, // PLAYER_IA_NAYRUS_LOVE
func_8083485C, // PLAYER_IA_DINS_FIRE
func_8083485C, // PLAYER_IA_NUT
func_8083485C, // PLAYER_IA_OCARINA_FAIRY
func_8083485C, // PLAYER_IA_OCARINA_TIME
func_8083485C, // PLAYER_IA_BOTTLE
func_8083485C, // PLAYER_IA_BOTTLE_FISH
func_8083485C, // PLAYER_IA_BOTTLE_FIRE
func_8083485C, // PLAYER_IA_BOTTLE_BUG
func_8083485C, // PLAYER_IA_BOTTLE_POE
func_8083485C, // PLAYER_IA_BOTTLE_BIG_POE
func_8083485C, // PLAYER_IA_BOTTLE_LETTER
func_8083485C, // PLAYER_IA_BOTTLE_POTION_RED
func_8083485C, // PLAYER_IA_BOTTLE_POTION_BLUE
func_8083485C, // PLAYER_IA_BOTTLE_POTION_GREEN
func_8083485C, // PLAYER_IA_BOTTLE_MILK
func_8083485C, // PLAYER_IA_BOTTLE_MILK_HALF
func_8083485C, // PLAYER_IA_BOTTLE_FAIRY
func_8083485C, // PLAYER_IA_LETTER_ZELDA
func_8083485C, // PLAYER_IA_WEIRD_EGG
func_8083485C, // PLAYER_IA_CHICKEN
func_8083485C, // PLAYER_IA_BEAN
func_8083485C, // PLAYER_IA_POCKET_EGG
func_8083485C, // PLAYER_IA_POCKET_CUCCO
func_8083485C, // PLAYER_IA_COJIRO
func_8083485C, // PLAYER_IA_ODD_MUSHROOM
func_8083485C, // PLAYER_IA_ODD_POTION
func_8083485C, // PLAYER_IA_SAW
func_8083485C, // PLAYER_IA_SWORD_BROKEN
func_8083485C, // PLAYER_IA_PRESCRIPTION
func_8083485C, // PLAYER_IA_FROG
func_8083485C, // PLAYER_IA_EYEDROPS
func_8083485C, // PLAYER_IA_CLAIM_CHECK
func_8083485C, // PLAYER_IA_MASK_KEATON
func_8083485C, // PLAYER_IA_MASK_SKULL
func_8083485C, // PLAYER_IA_MASK_SPOOKY
func_8083485C, // PLAYER_IA_MASK_BUNNY
func_8083485C, // PLAYER_IA_MASK_GORON
func_8083485C, // PLAYER_IA_MASK_ZORA
func_8083485C, // PLAYER_IA_MASK_GERUDO
func_8083485C, // PLAYER_IA_MASK_TRUTH
func_8083485C, // PLAYER_IA_LENS
};
static void (*D_80853FE8[])(PlayState* play, Player* this) = {
func_80833770, func_80833770, func_80833770, func_80833770, func_80833770, func_80833770, func_8083377C,
func_80833790, func_8083379C, func_8083379C, func_8083379C, func_8083379C, func_8083379C, func_8083379C,
func_8083379C, func_8083379C, func_80833910, func_80833910, func_808337D4, func_808337D4, func_80833984,
func_80833770, func_80833770, func_80833770, func_80833770, func_80833770, func_80833770, func_80833770,
func_80833770, func_80833770, func_80833770, func_80833770, func_80833770, func_80833770, func_80833770,
func_80833770, func_80833770, func_80833770, func_80833770, func_80833770, func_80833770, func_80833770,
func_80833770, func_80833770, func_80833770, func_80833770, func_80833770, func_80833770, func_80833770,
func_80833770, func_80833770, func_80833770, func_80833770, func_80833770, func_80833770, func_80833770,
func_80833770, func_80833770, func_80833770, func_80833770, func_80833770, func_80833770, func_80833770,
func_80833770, func_80833770, func_80833770, func_80833770,
func_80833770, // PLAYER_IA_NONE
func_80833770, // PLAYER_IA_LAST_USED
func_80833770, // PLAYER_IA_FISHING_POLE
func_80833770, // PLAYER_IA_SWORD_MASTER
func_80833770, // PLAYER_IA_SWORD_KOKIRI
func_80833770, // PLAYER_IA_SWORD_BGS
func_8083377C, // PLAYER_IA_STICK
func_80833790, // PLAYER_IA_HAMMER
func_8083379C, // PLAYER_IA_BOW
func_8083379C, // PLAYER_IA_BOW_FIRE
func_8083379C, // PLAYER_IA_BOW_ICE
func_8083379C, // PLAYER_IA_BOW_LIGHT
func_8083379C, // PLAYER_IA_BOW_0C
func_8083379C, // PLAYER_IA_BOW_0D
func_8083379C, // PLAYER_IA_BOW_0E
func_8083379C, // PLAYER_IA_SLINGSHOT
func_80833910, // PLAYER_IA_HOOKSHOT
func_80833910, // PLAYER_IA_LONGSHOT
func_808337D4, // PLAYER_IA_BOMB
func_808337D4, // PLAYER_IA_BOMBCHU
func_80833984, // PLAYER_IA_BOOMERANG
func_80833770, // PLAYER_IA_MAGIC_SPELL_15
func_80833770, // PLAYER_IA_MAGIC_SPELL_16
func_80833770, // PLAYER_IA_MAGIC_SPELL_17
func_80833770, // PLAYER_IA_FARORES_WIND
func_80833770, // PLAYER_IA_NAYRUS_LOVE
func_80833770, // PLAYER_IA_DINS_FIRE
func_80833770, // PLAYER_IA_NUT
func_80833770, // PLAYER_IA_OCARINA_FAIRY
func_80833770, // PLAYER_IA_OCARINA_TIME
func_80833770, // PLAYER_IA_BOTTLE
func_80833770, // PLAYER_IA_BOTTLE_FISH
func_80833770, // PLAYER_IA_BOTTLE_FIRE
func_80833770, // PLAYER_IA_BOTTLE_BUG
func_80833770, // PLAYER_IA_BOTTLE_POE
func_80833770, // PLAYER_IA_BOTTLE_BIG_POE
func_80833770, // PLAYER_IA_BOTTLE_LETTER
func_80833770, // PLAYER_IA_BOTTLE_POTION_RED
func_80833770, // PLAYER_IA_BOTTLE_POTION_BLUE
func_80833770, // PLAYER_IA_BOTTLE_POTION_GREEN
func_80833770, // PLAYER_IA_BOTTLE_MILK
func_80833770, // PLAYER_IA_BOTTLE_MILK_HALF
func_80833770, // PLAYER_IA_BOTTLE_FAIRY
func_80833770, // PLAYER_IA_LETTER_ZELDA
func_80833770, // PLAYER_IA_WEIRD_EGG
func_80833770, // PLAYER_IA_CHICKEN
func_80833770, // PLAYER_IA_BEAN
func_80833770, // PLAYER_IA_POCKET_EGG
func_80833770, // PLAYER_IA_POCKET_CUCCO
func_80833770, // PLAYER_IA_COJIRO
func_80833770, // PLAYER_IA_ODD_MUSHROOM
func_80833770, // PLAYER_IA_ODD_POTION
func_80833770, // PLAYER_IA_SAW
func_80833770, // PLAYER_IA_SWORD_BROKEN
func_80833770, // PLAYER_IA_PRESCRIPTION
func_80833770, // PLAYER_IA_FROG
func_80833770, // PLAYER_IA_EYEDROPS
func_80833770, // PLAYER_IA_CLAIM_CHECK
func_80833770, // PLAYER_IA_MASK_KEATON
func_80833770, // PLAYER_IA_MASK_SKULL
func_80833770, // PLAYER_IA_MASK_SPOOKY
func_80833770, // PLAYER_IA_MASK_BUNNY
func_80833770, // PLAYER_IA_MASK_GORON
func_80833770, // PLAYER_IA_MASK_ZORA
func_80833770, // PLAYER_IA_MASK_GERUDO
func_80833770, // PLAYER_IA_MASK_TRUTH
func_80833770, // PLAYER_IA_LENS
};
typedef enum {
@ -4928,11 +5167,35 @@ 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_LETTER_ZELDA, // EXCH_ITEM_LETTER_ZELDA
GI_WEIRD_EGG, // EXCH_ITEM_WEIRD_EGG
GI_CHICKEN, // EXCH_ITEM_CHICKEN
GI_BEAN, // EXCH_ITEM_BEAN
GI_POCKET_EGG, // EXCH_ITEM_POCKET_EGG
GI_POCKET_CUCCO, // EXCH_ITEM_POCKET_CUCCO
GI_COJIRO, // EXCH_ITEM_COJIRO
GI_ODD_MUSHROOM, // EXCH_ITEM_ODD_MUSHROOM
GI_ODD_POTION, // EXCH_ITEM_ODD_POTION
GI_SAW, // EXCH_ITEM_SAW
GI_SWORD_BROKEN, // EXCH_ITEM_SWORD_BROKEN
GI_PRESCRIPTION, // EXCH_ITEM_PRESCRIPTION
GI_FROG, // EXCH_ITEM_FROG
GI_EYEDROPS, // EXCH_ITEM_EYEDROPS
GI_CLAIM_CHECK, // EXCH_ITEM_CLAIM_CHECK
GI_MASK_SKULL, // EXCH_ITEM_MASK_SKULL
GI_MASK_SPOOKY, // EXCH_ITEM_MASK_SPOOKY
GI_MASK_KEATON, // EXCH_ITEM_MASK_KEATON
GI_MASK_BUNNY, // EXCH_ITEM_MASK_BUNNY
GI_MASK_TRUTH, // EXCH_ITEM_MASK_TRUTH
GI_MASK_GORON, // EXCH_ITEM_MASK_GORON
GI_MASK_ZORA, // EXCH_ITEM_MASK_ZORA
GI_MASK_GERUDO, // EXCH_ITEM_MASK_GERUDO
GI_LETTER_RUTO, // EXCH_ITEM_FISH
GI_LETTER_RUTO, // EXCH_ITEM_BLUE_FIRE
GI_LETTER_RUTO, // EXCH_ITEM_BUG
GI_LETTER_RUTO, // EXCH_ITEM_POE
GI_LETTER_RUTO, // EXCH_ITEM_BIG_POE
GI_LETTER_RUTO, // EXCH_ITEM_LETTER_RUTO
};
static LinkAnimationHeader* D_80854548[] = {