diff --git a/assets/xml/objects/object_gi_arrow.xml b/assets/xml/objects/object_gi_arrow.xml
new file mode 100644
index 0000000000..4b58787a9d
--- /dev/null
+++ b/assets/xml/objects/object_gi_arrow.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_arrowcase.xml b/assets/xml/objects/object_gi_arrowcase.xml
new file mode 100644
index 0000000000..267b0a734d
--- /dev/null
+++ b/assets/xml/objects/object_gi_arrowcase.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_bean.xml b/assets/xml/objects/object_gi_bean.xml
new file mode 100644
index 0000000000..e74247816f
--- /dev/null
+++ b/assets/xml/objects/object_gi_bean.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_bomb_1.xml b/assets/xml/objects/object_gi_bomb_1.xml
new file mode 100644
index 0000000000..bae86c11d8
--- /dev/null
+++ b/assets/xml/objects/object_gi_bomb_1.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_bomb_2.xml b/assets/xml/objects/object_gi_bomb_2.xml
new file mode 100644
index 0000000000..1400c4a4d4
--- /dev/null
+++ b/assets/xml/objects/object_gi_bomb_2.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_bombpouch.xml b/assets/xml/objects/object_gi_bombpouch.xml
new file mode 100644
index 0000000000..07134748c3
--- /dev/null
+++ b/assets/xml/objects/object_gi_bombpouch.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_boomerang.xml b/assets/xml/objects/object_gi_boomerang.xml
new file mode 100644
index 0000000000..3c1a0fe7fc
--- /dev/null
+++ b/assets/xml/objects/object_gi_boomerang.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_boots_2.xml b/assets/xml/objects/object_gi_boots_2.xml
new file mode 100644
index 0000000000..8e9cd1028d
--- /dev/null
+++ b/assets/xml/objects/object_gi_boots_2.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_bosskey.xml b/assets/xml/objects/object_gi_bosskey.xml
new file mode 100644
index 0000000000..e5e4bc86c9
--- /dev/null
+++ b/assets/xml/objects/object_gi_bosskey.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_bottle.xml b/assets/xml/objects/object_gi_bottle.xml
new file mode 100644
index 0000000000..3b0884a03f
--- /dev/null
+++ b/assets/xml/objects/object_gi_bottle.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_bottle_letter.xml b/assets/xml/objects/object_gi_bottle_letter.xml
new file mode 100644
index 0000000000..443219caf5
--- /dev/null
+++ b/assets/xml/objects/object_gi_bottle_letter.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_bow.xml b/assets/xml/objects/object_gi_bow.xml
new file mode 100644
index 0000000000..946e9c4965
--- /dev/null
+++ b/assets/xml/objects/object_gi_bow.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_bracelet.xml b/assets/xml/objects/object_gi_bracelet.xml
new file mode 100644
index 0000000000..5a0b62a60a
--- /dev/null
+++ b/assets/xml/objects/object_gi_bracelet.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_brokensword.xml b/assets/xml/objects/object_gi_brokensword.xml
new file mode 100644
index 0000000000..408741ac54
--- /dev/null
+++ b/assets/xml/objects/object_gi_brokensword.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_butterfly.xml b/assets/xml/objects/object_gi_butterfly.xml
new file mode 100644
index 0000000000..76ac706096
--- /dev/null
+++ b/assets/xml/objects/object_gi_butterfly.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_clothes.xml b/assets/xml/objects/object_gi_clothes.xml
new file mode 100644
index 0000000000..2a10dce11b
--- /dev/null
+++ b/assets/xml/objects/object_gi_clothes.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_coin.xml b/assets/xml/objects/object_gi_coin.xml
new file mode 100644
index 0000000000..22e29f255f
--- /dev/null
+++ b/assets/xml/objects/object_gi_coin.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_compass.xml b/assets/xml/objects/object_gi_compass.xml
new file mode 100644
index 0000000000..076229b11e
--- /dev/null
+++ b/assets/xml/objects/object_gi_compass.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_dekupouch.xml b/assets/xml/objects/object_gi_dekupouch.xml
new file mode 100644
index 0000000000..3d6d95d98a
--- /dev/null
+++ b/assets/xml/objects/object_gi_dekupouch.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_egg.xml b/assets/xml/objects/object_gi_egg.xml
new file mode 100644
index 0000000000..4847309969
--- /dev/null
+++ b/assets/xml/objects/object_gi_egg.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_eye_lotion.xml b/assets/xml/objects/object_gi_eye_lotion.xml
new file mode 100644
index 0000000000..5128c5f6ff
--- /dev/null
+++ b/assets/xml/objects/object_gi_eye_lotion.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_fire.xml b/assets/xml/objects/object_gi_fire.xml
new file mode 100644
index 0000000000..a57fba6e86
--- /dev/null
+++ b/assets/xml/objects/object_gi_fire.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_fish.xml b/assets/xml/objects/object_gi_fish.xml
new file mode 100644
index 0000000000..edb39dc297
--- /dev/null
+++ b/assets/xml/objects/object_gi_fish.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_frog.xml b/assets/xml/objects/object_gi_frog.xml
new file mode 100644
index 0000000000..f180fd267b
--- /dev/null
+++ b/assets/xml/objects/object_gi_frog.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_gerudo.xml b/assets/xml/objects/object_gi_gerudo.xml
new file mode 100644
index 0000000000..3be8d34620
--- /dev/null
+++ b/assets/xml/objects/object_gi_gerudo.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_gerudomask.xml b/assets/xml/objects/object_gi_gerudomask.xml
new file mode 100644
index 0000000000..b53bf24af6
--- /dev/null
+++ b/assets/xml/objects/object_gi_gerudomask.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_ghost.xml b/assets/xml/objects/object_gi_ghost.xml
new file mode 100644
index 0000000000..186f4c74b7
--- /dev/null
+++ b/assets/xml/objects/object_gi_ghost.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_glasses.xml b/assets/xml/objects/object_gi_glasses.xml
new file mode 100644
index 0000000000..63d32ab5ac
--- /dev/null
+++ b/assets/xml/objects/object_gi_glasses.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_gloves.xml b/assets/xml/objects/object_gi_gloves.xml
new file mode 100644
index 0000000000..1b4282dcaa
--- /dev/null
+++ b/assets/xml/objects/object_gi_gloves.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_goddess.xml b/assets/xml/objects/object_gi_goddess.xml
new file mode 100644
index 0000000000..50cbdd8918
--- /dev/null
+++ b/assets/xml/objects/object_gi_goddess.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_golonmask.xml b/assets/xml/objects/object_gi_golonmask.xml
new file mode 100644
index 0000000000..98f53f1c25
--- /dev/null
+++ b/assets/xml/objects/object_gi_golonmask.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_grass.xml b/assets/xml/objects/object_gi_grass.xml
new file mode 100644
index 0000000000..ae7834201a
--- /dev/null
+++ b/assets/xml/objects/object_gi_grass.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_hammer.xml b/assets/xml/objects/object_gi_hammer.xml
new file mode 100644
index 0000000000..feb5c8659d
--- /dev/null
+++ b/assets/xml/objects/object_gi_hammer.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_heart.xml b/assets/xml/objects/object_gi_heart.xml
new file mode 100644
index 0000000000..48e78b1b5c
--- /dev/null
+++ b/assets/xml/objects/object_gi_heart.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_hearts.xml b/assets/xml/objects/object_gi_hearts.xml
new file mode 100644
index 0000000000..d2e763e631
--- /dev/null
+++ b/assets/xml/objects/object_gi_hearts.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_hookshot.xml b/assets/xml/objects/object_gi_hookshot.xml
new file mode 100644
index 0000000000..a6b3b0fdac
--- /dev/null
+++ b/assets/xml/objects/object_gi_hookshot.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_hoverboots.xml b/assets/xml/objects/object_gi_hoverboots.xml
new file mode 100644
index 0000000000..c4a67877b2
--- /dev/null
+++ b/assets/xml/objects/object_gi_hoverboots.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_insect.xml b/assets/xml/objects/object_gi_insect.xml
new file mode 100644
index 0000000000..7af5b5b3b2
--- /dev/null
+++ b/assets/xml/objects/object_gi_insect.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_jewel.xml b/assets/xml/objects/object_gi_jewel.xml
new file mode 100644
index 0000000000..cd9ddf1466
--- /dev/null
+++ b/assets/xml/objects/object_gi_jewel.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_key.xml b/assets/xml/objects/object_gi_key.xml
new file mode 100644
index 0000000000..a37d45a71c
--- /dev/null
+++ b/assets/xml/objects/object_gi_key.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_ki_tan_mask.xml b/assets/xml/objects/object_gi_ki_tan_mask.xml
new file mode 100644
index 0000000000..f66535af37
--- /dev/null
+++ b/assets/xml/objects/object_gi_ki_tan_mask.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_letter.xml b/assets/xml/objects/object_gi_letter.xml
new file mode 100644
index 0000000000..167a7ff5d8
--- /dev/null
+++ b/assets/xml/objects/object_gi_letter.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_liquid.xml b/assets/xml/objects/object_gi_liquid.xml
new file mode 100644
index 0000000000..5eeeca0fd2
--- /dev/null
+++ b/assets/xml/objects/object_gi_liquid.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_longsword.xml b/assets/xml/objects/object_gi_longsword.xml
new file mode 100644
index 0000000000..7161e42e38
--- /dev/null
+++ b/assets/xml/objects/object_gi_longsword.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_m_arrow.xml b/assets/xml/objects/object_gi_m_arrow.xml
new file mode 100644
index 0000000000..0fd659ae95
--- /dev/null
+++ b/assets/xml/objects/object_gi_m_arrow.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_magicpot.xml b/assets/xml/objects/object_gi_magicpot.xml
new file mode 100644
index 0000000000..7623e6353e
--- /dev/null
+++ b/assets/xml/objects/object_gi_magicpot.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_map.xml b/assets/xml/objects/object_gi_map.xml
new file mode 100644
index 0000000000..8887dd22c9
--- /dev/null
+++ b/assets/xml/objects/object_gi_map.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_medal.xml b/assets/xml/objects/object_gi_medal.xml
new file mode 100644
index 0000000000..28e5b1e683
--- /dev/null
+++ b/assets/xml/objects/object_gi_medal.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_melody.xml b/assets/xml/objects/object_gi_melody.xml
new file mode 100644
index 0000000000..b01fca9538
--- /dev/null
+++ b/assets/xml/objects/object_gi_melody.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_milk.xml b/assets/xml/objects/object_gi_milk.xml
new file mode 100644
index 0000000000..00b9530d95
--- /dev/null
+++ b/assets/xml/objects/object_gi_milk.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_mushroom.xml b/assets/xml/objects/object_gi_mushroom.xml
new file mode 100644
index 0000000000..5b19bca743
--- /dev/null
+++ b/assets/xml/objects/object_gi_mushroom.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_niwatori.xml b/assets/xml/objects/object_gi_niwatori.xml
new file mode 100644
index 0000000000..713cc1ce5a
--- /dev/null
+++ b/assets/xml/objects/object_gi_niwatori.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_nuts.xml b/assets/xml/objects/object_gi_nuts.xml
new file mode 100644
index 0000000000..5508fe8569
--- /dev/null
+++ b/assets/xml/objects/object_gi_nuts.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_ocarina.xml b/assets/xml/objects/object_gi_ocarina.xml
new file mode 100644
index 0000000000..7693cc122f
--- /dev/null
+++ b/assets/xml/objects/object_gi_ocarina.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_ocarina_0.xml b/assets/xml/objects/object_gi_ocarina_0.xml
new file mode 100644
index 0000000000..336d338946
--- /dev/null
+++ b/assets/xml/objects/object_gi_ocarina_0.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_pachinko.xml b/assets/xml/objects/object_gi_pachinko.xml
new file mode 100644
index 0000000000..5f808baf92
--- /dev/null
+++ b/assets/xml/objects/object_gi_pachinko.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_powder.xml b/assets/xml/objects/object_gi_powder.xml
new file mode 100644
index 0000000000..fb7dc0155d
--- /dev/null
+++ b/assets/xml/objects/object_gi_powder.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_prescription.xml b/assets/xml/objects/object_gi_prescription.xml
new file mode 100644
index 0000000000..081de301c4
--- /dev/null
+++ b/assets/xml/objects/object_gi_prescription.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_purse.xml b/assets/xml/objects/object_gi_purse.xml
new file mode 100644
index 0000000000..3034942ff4
--- /dev/null
+++ b/assets/xml/objects/object_gi_purse.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_rabit_mask.xml b/assets/xml/objects/object_gi_rabit_mask.xml
new file mode 100644
index 0000000000..75f855550d
--- /dev/null
+++ b/assets/xml/objects/object_gi_rabit_mask.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_redead_mask.xml b/assets/xml/objects/object_gi_redead_mask.xml
new file mode 100644
index 0000000000..7de08487f8
--- /dev/null
+++ b/assets/xml/objects/object_gi_redead_mask.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_rupy.xml b/assets/xml/objects/object_gi_rupy.xml
new file mode 100644
index 0000000000..0a1af96d0f
--- /dev/null
+++ b/assets/xml/objects/object_gi_rupy.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_saw.xml b/assets/xml/objects/object_gi_saw.xml
new file mode 100644
index 0000000000..dcc038b7c1
--- /dev/null
+++ b/assets/xml/objects/object_gi_saw.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_scale.xml b/assets/xml/objects/object_gi_scale.xml
new file mode 100644
index 0000000000..1cf5de5b99
--- /dev/null
+++ b/assets/xml/objects/object_gi_scale.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_seed.xml b/assets/xml/objects/object_gi_seed.xml
new file mode 100644
index 0000000000..82c15c82d2
--- /dev/null
+++ b/assets/xml/objects/object_gi_seed.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_shield_1.xml b/assets/xml/objects/object_gi_shield_1.xml
new file mode 100644
index 0000000000..2e93695699
--- /dev/null
+++ b/assets/xml/objects/object_gi_shield_1.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_shield_2.xml b/assets/xml/objects/object_gi_shield_2.xml
new file mode 100644
index 0000000000..176ae025fe
--- /dev/null
+++ b/assets/xml/objects/object_gi_shield_2.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_shield_3.xml b/assets/xml/objects/object_gi_shield_3.xml
new file mode 100644
index 0000000000..250bf7fea3
--- /dev/null
+++ b/assets/xml/objects/object_gi_shield_3.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_skj_mask.xml b/assets/xml/objects/object_gi_skj_mask.xml
new file mode 100644
index 0000000000..e6c90f76f1
--- /dev/null
+++ b/assets/xml/objects/object_gi_skj_mask.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_soldout.xml b/assets/xml/objects/object_gi_soldout.xml
new file mode 100644
index 0000000000..ae3f4685f9
--- /dev/null
+++ b/assets/xml/objects/object_gi_soldout.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_soul.xml b/assets/xml/objects/object_gi_soul.xml
new file mode 100644
index 0000000000..76ffc56852
--- /dev/null
+++ b/assets/xml/objects/object_gi_soul.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_stick.xml b/assets/xml/objects/object_gi_stick.xml
new file mode 100644
index 0000000000..fed89f4659
--- /dev/null
+++ b/assets/xml/objects/object_gi_stick.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_sutaru.xml b/assets/xml/objects/object_gi_sutaru.xml
new file mode 100644
index 0000000000..a2606afbe3
--- /dev/null
+++ b/assets/xml/objects/object_gi_sutaru.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_sword_1.xml b/assets/xml/objects/object_gi_sword_1.xml
new file mode 100644
index 0000000000..e1119abca0
--- /dev/null
+++ b/assets/xml/objects/object_gi_sword_1.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_ticketstone.xml b/assets/xml/objects/object_gi_ticketstone.xml
new file mode 100644
index 0000000000..0fa37fe11e
--- /dev/null
+++ b/assets/xml/objects/object_gi_ticketstone.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_truth_mask.xml b/assets/xml/objects/object_gi_truth_mask.xml
new file mode 100644
index 0000000000..f28c7cbcad
--- /dev/null
+++ b/assets/xml/objects/object_gi_truth_mask.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_gi_zoramask.xml b/assets/xml/objects/object_gi_zoramask.xml
new file mode 100644
index 0000000000..096fdeedfc
--- /dev/null
+++ b/assets/xml/objects/object_gi_zoramask.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/extract_assets.py b/extract_assets.py
index fa378eb347..820a3c3ce0 100755
--- a/extract_assets.py
+++ b/extract_assets.py
@@ -1,4 +1,6 @@
-#!/usr/bin/python3
+#!/usr/bin/env python3
+
+import argparse
import os
from shutil import copyfile
from multiprocessing import Pool
@@ -25,22 +27,28 @@ def ExtractFunc(fullPath):
Extract(fullPath, outPath)
def main():
- xmlFiles = []
+ parser = argparse.ArgumentParser(description="baserom asset extractor")
+ parser.add_argument("-s", "--single", help="asset path relative to assets/, e.g. objects/gameplay_keep")
+ args = parser.parse_args()
- for currentPath, folders, files in os.walk("assets"):
- for file in files:
- fullPath = os.path.join(currentPath, file)
- if file.endswith(".xml") and currentPath.startswith("assets/xml/"):
- outPath = ("assets/" + fullPath.split("assets/xml/")[1]).split(".xml")[0]
- xmlFiles.append(fullPath)
+ asset_path = args.single
+ if asset_path is not None:
+ if asset_path.endswith("/"):
+ asset_path = asset_path[0:-1]
+ Extract(f"assets/xml/{asset_path}.xml", f"assets/{asset_path}/")
+ else:
+ xmlFiles = []
+ for currentPath, folders, files in os.walk("assets"):
+ for file in files:
+ fullPath = os.path.join(currentPath, file)
+ if file.endswith(".xml") and currentPath.startswith("assets/xml/"):
+ outPath = ("assets/" + fullPath.split("assets/xml/")[1]).split(".xml")[0]
+ xmlFiles.append(fullPath)
- numCores = cpu_count()
- print("Extracting assets with " + str(numCores) + " CPU cores.")
- p = Pool(numCores)
- p.map(ExtractFunc, xmlFiles)
-
-
- #os.system("make resources")
+ numCores = cpu_count()
+ print("Extracting assets with " + str(numCores) + " CPU cores.")
+ p = Pool(numCores)
+ p.map(ExtractFunc, xmlFiles)
if __name__ == "__main__":
main()
diff --git a/include/functions.h b/include/functions.h
index 8d3184ce7c..72c2159997 100644
--- a/include/functions.h
+++ b/include/functions.h
@@ -893,7 +893,7 @@ void Cutscene_HandleEntranceTriggers(GlobalContext* globalCtx);
void Cutscene_HandleConditionalTriggers(GlobalContext* globalCtx);
void Cutscene_SetSegment(GlobalContext* globalCtx, u32 segment);
void* MemCopy(void* dest, void* src, s32 size);
-void func_800694A0(GlobalContext* globalCtx, s16 drawId);
+void GetItem_Draw(GlobalContext* globalCtx, s16 drawId);
void func_8006BA00(GlobalContext* globalCtx);
void func_8006BA30(GlobalContext* globalCtx);
void Audio_PlaySoundAtPosition(GlobalContext* globalCtx, Vec3f* pos, s32 duration, u16 sfxId);
diff --git a/include/z64item.h b/include/z64item.h
index 167d09ea70..869fb1b557 100644
--- a/include/z64item.h
+++ b/include/z64item.h
@@ -377,6 +377,127 @@ typedef enum {
/* 0x7E */ GI_MAX
} GetItemID;
+typedef enum {
+ /* 0x00 */ GID_BOTTLE,
+ /* 0x01 */ GID_KEY_SMALL,
+ /* 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,
+ /* 0x0A */ GID_COMPASS,
+ /* 0x0B */ GID_MEDALLION_FOREST,
+ /* 0x0C */ GID_MEDALLION_FIRE,
+ /* 0x0D */ GID_MEDALLION_WATER,
+ /* 0x0E */ GID_MEDALLION_SPIRIT,
+ /* 0x0F */ GID_MEDALLION_SHADOW,
+ /* 0x10 */ GID_MEDALLION_LIGHT,
+ /* 0x11 */ GID_NUTS,
+ /* 0x12 */ GID_HEART_CONTAINER,
+ /* 0x13 */ GID_HEART_PIECE,
+ /* 0x14 */ GID_QUIVER_30,
+ /* 0x15 */ GID_QUIVER_40,
+ /* 0x16 */ GID_QUIVER_50,
+ /* 0x17 */ GID_BOMB_BAG_20,
+ /* 0x18 */ GID_BOMB_BAG_30,
+ /* 0x19 */ GID_BOMB_BAG_40,
+ /* 0x1A */ GID_STICK,
+ /* 0x1B */ GID_DUNGEON_MAP,
+ /* 0x1C */ GID_SHIELD_DEKU,
+ /* 0x1D */ GID_MAGIC_SMALL,
+ /* 0x1E */ GID_MAGIC_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,
+ /* 0x27 */ GID_BOMBCHU,
+ /* 0x28 */ GID_EGG,
+ /* 0x29 */ GID_SCALE_SILVER,
+ /* 0x2A */ GID_SCALE_GOLDEN,
+ /* 0x2B */ GID_SHIELD_HYLIAN,
+ /* 0x2C */ GID_HOOKSHOT,
+ /* 0x2D */ GID_LONGSHOT,
+ /* 0x2E */ GID_OCARINA_TIME,
+ /* 0x2F */ GID_MILK,
+ /* 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,
+ /* 0x39 */ GID_SHIELD_MIRROR,
+ /* 0x3A */ GID_LETTER_ZELDA,
+ /* 0x3B */ GID_TUNIC_GORON,
+ /* 0x3C */ GID_TUNIC_ZORA,
+ /* 0x3D */ GID_BEAN,
+ /* 0x3E */ GID_FISH,
+ /* 0x3F */ GID_SAW,
+ /* 0x40 */ GID_HAMMER,
+ /* 0x41 */ GID_GRASS,
+ /* 0x42 */ GID_SWORD_BGS,
+ /* 0x43 */ GID_CHICKEN,
+ /* 0x44 */ GID_LETTER_RUTO,
+ /* 0x45 */ GID_OCARINA_FAIRY,
+ /* 0x46 */ GID_BOOTS_IRON,
+ /* 0x47 */ GID_SEEDS,
+ /* 0x48 */ GID_GAUNTLETS_SILVER,
+ /* 0x49 */ GID_GAUNTLETS_GOLD,
+ /* 0x4A */ GID_NCOIN_YELLOW,
+ /* 0x4B */ GID_NCOIN_RED,
+ /* 0x4C */ GID_NCOIN_GREEN,
+ /* 0x4D */ GID_NCOIN_BLUE,
+ /* 0x4E */ GID_MASK_SKULL,
+ /* 0x4F */ GID_MASK_BUNNY,
+ /* 0x50 */ GID_MASK_TRUTH,
+ /* 0x51 */ GID_EYEDROPS,
+ /* 0x52 */ GID_ODD_POTION,
+ /* 0x53 */ GID_ODD_MUSHROOM,
+ /* 0x54 */ GID_CLAIM_CHECK,
+ /* 0x55 */ GID_SWORD_BROKEN,
+ /* 0x56 */ GID_PRESCRIPTION,
+ /* 0x57 */ GID_BRACELET,
+ /* 0x58 */ GID_SOLDOUT,
+ /* 0x59 */ GID_FROG,
+ /* 0x5A */ GID_MASK_GORON,
+ /* 0x5B */ GID_MASK_ZORA,
+ /* 0x5C */ GID_MASK_GERUDO,
+ /* 0x5D */ GID_COJIRO,
+ /* 0x5E */ GID_BOOTS_HOVER,
+ /* 0x5F */ GID_ARROW_FIRE,
+ /* 0x60 */ GID_ARROW_ICE,
+ /* 0x61 */ GID_ARROW_LIGHT,
+ /* 0x62 */ GID_SKULL_TOKEN,
+ /* 0x63 */ GID_DINS_FIRE,
+ /* 0x64 */ GID_FARORES_WIND,
+ /* 0x65 */ GID_NAYRUS_LOVE,
+ /* 0x66 */ GID_BLUE_FIRE,
+ /* 0x67 */ GID_BUG,
+ /* 0x68 */ GID_BUTTERFLY,
+ /* 0x69 */ GID_POE,
+ /* 0x6A */ GID_FAIRY,
+ /* 0x6B */ GID_BULLET_BAG,
+ /* 0x6C */ GID_RUPEE_GREEN,
+ /* 0x6D */ GID_RUPEE_BLUE,
+ /* 0x6E */ GID_RUPEE_RED,
+ /* 0x6F */ GID_BIG_POE,
+ /* 0x70 */ GID_RUPEE_PURPLE,
+ /* 0x71 */ GID_RUPEE_GOLD,
+ /* 0x72 */ GID_BULLET_BAG_50,
+ /* 0x73 */ GID_SWORD_KOKIRI,
+ /* 0x74 */ GID_SKULL_TOKEN_2,
+ /* 0x75 */ GID_MAX
+} GetItemDrawID;
+
typedef enum {
/* 0x00 */ EXCH_ITEM_NONE,
/* 0x01 */ EXCH_ITEM_LETTER_ZELDA,
diff --git a/spec b/spec
index ae9f5a810a..14a7933c5f 100644
--- a/spec
+++ b/spec
@@ -4425,7 +4425,8 @@ endseg
beginseg
name "object_gi_key"
romalign 0x1000
- include "build/baserom/object_gi_key.o"
+ include "build/assets/objects/object_gi_key/object_gi_key.o"
+ number 6
endseg
beginseg
@@ -4443,7 +4444,8 @@ endseg
beginseg
name "object_gi_jewel"
romalign 0x1000
- include "build/baserom/object_gi_jewel.o"
+ include "build/assets/objects/object_gi_jewel/object_gi_jewel.o"
+ number 6
endseg
beginseg
@@ -4499,37 +4501,43 @@ endseg
beginseg
name "object_gi_melody"
romalign 0x1000
- include "build/baserom/object_gi_melody.o"
+ include "build/assets/objects/object_gi_melody/object_gi_melody.o"
+ number 6
endseg
beginseg
name "object_gi_heart"
romalign 0x1000
- include "build/baserom/object_gi_heart.o"
+ include "build/assets/objects/object_gi_heart/object_gi_heart.o"
+ number 6
endseg
beginseg
name "object_gi_compass"
romalign 0x1000
- include "build/baserom/object_gi_compass.o"
+ include "build/assets/objects/object_gi_compass/object_gi_compass.o"
+ number 6
endseg
beginseg
name "object_gi_bosskey"
romalign 0x1000
- include "build/baserom/object_gi_bosskey.o"
+ include "build/assets/objects/object_gi_bosskey/object_gi_bosskey.o"
+ number 6
endseg
beginseg
name "object_gi_medal"
romalign 0x1000
- include "build/baserom/object_gi_medal.o"
+ include "build/assets/objects/object_gi_medal/object_gi_medal.o"
+ number 6
endseg
beginseg
name "object_gi_nuts"
romalign 0x1000
- include "build/baserom/object_gi_nuts.o"
+ include "build/assets/objects/object_gi_nuts/object_gi_nuts.o"
+ number 6
endseg
beginseg
@@ -4541,19 +4549,22 @@ endseg
beginseg
name "object_gi_hearts"
romalign 0x1000
- include "build/baserom/object_gi_hearts.o"
+ include "build/assets/objects/object_gi_hearts/object_gi_hearts.o"
+ number 6
endseg
beginseg
name "object_gi_arrowcase"
romalign 0x1000
- include "build/baserom/object_gi_arrowcase.o"
+ include "build/assets/objects/object_gi_arrowcase/object_gi_arrowcase.o"
+ number 6
endseg
beginseg
name "object_gi_bombpouch"
romalign 0x1000
- include "build/baserom/object_gi_bombpouch.o"
+ include "build/assets/objects/object_gi_bombpouch/object_gi_bombpouch.o"
+ number 6
endseg
beginseg
@@ -4595,19 +4606,22 @@ endseg
beginseg
name "object_gi_bottle"
romalign 0x1000
- include "build/baserom/object_gi_bottle.o"
+ include "build/assets/objects/object_gi_bottle/object_gi_bottle.o"
+ number 6
endseg
beginseg
name "object_gi_stick"
romalign 0x1000
- include "build/baserom/object_gi_stick.o"
+ include "build/assets/objects/object_gi_stick/object_gi_stick.o"
+ number 6
endseg
beginseg
name "object_gi_map"
romalign 0x1000
- include "build/baserom/object_gi_map.o"
+ include "build/assets/objects/object_gi_map/object_gi_map.o"
+ number 6
endseg
beginseg
@@ -4625,7 +4639,8 @@ endseg
beginseg
name "object_gi_shield_1"
romalign 0x1000
- include "build/baserom/object_gi_shield_1.o"
+ include "build/assets/objects/object_gi_shield_1/object_gi_shield_1.o"
+ number 6
endseg
beginseg
@@ -4637,13 +4652,15 @@ endseg
beginseg
name "object_gi_magicpot"
romalign 0x1000
- include "build/baserom/object_gi_magicpot.o"
+ include "build/assets/objects/object_gi_magicpot/object_gi_magicpot.o"
+ number 6
endseg
beginseg
name "object_gi_bomb_1"
romalign 0x1000
- include "build/baserom/object_gi_bomb_1.o"
+ include "build/assets/objects/object_gi_bomb_1/object_gi_bomb_1.o"
+ number 6
endseg
beginseg
@@ -4661,7 +4678,8 @@ endseg
beginseg
name "object_gi_purse"
romalign 0x1000
- include "build/baserom/object_gi_purse.o"
+ include "build/assets/objects/object_gi_purse/object_gi_purse.o"
+ number 6
endseg
beginseg
@@ -4697,55 +4715,64 @@ endseg
beginseg
name "object_gi_gerudo"
romalign 0x1000
- include "build/baserom/object_gi_gerudo.o"
+ include "build/assets/objects/object_gi_gerudo/object_gi_gerudo.o"
+ number 6
endseg
beginseg
name "object_gi_arrow"
romalign 0x1000
- include "build/baserom/object_gi_arrow.o"
+ include "build/assets/objects/object_gi_arrow/object_gi_arrow.o"
+ number 6
endseg
beginseg
name "object_gi_bomb_2"
romalign 0x1000
- include "build/baserom/object_gi_bomb_2.o"
+ include "build/assets/objects/object_gi_bomb_2/object_gi_bomb_2.o"
+ number 6
endseg
beginseg
name "object_gi_egg"
romalign 0x1000
- include "build/baserom/object_gi_egg.o"
+ include "build/assets/objects/object_gi_egg/object_gi_egg.o"
+ number 6
endseg
beginseg
name "object_gi_scale"
romalign 0x1000
- include "build/baserom/object_gi_scale.o"
+ include "build/assets/objects/object_gi_scale/object_gi_scale.o"
+ number 6
endseg
beginseg
name "object_gi_shield_2"
romalign 0x1000
- include "build/baserom/object_gi_shield_2.o"
+ include "build/assets/objects/object_gi_shield_2/object_gi_shield_2.o"
+ number 6
endseg
beginseg
name "object_gi_hookshot"
romalign 0x1000
- include "build/baserom/object_gi_hookshot.o"
+ include "build/assets/objects/object_gi_hookshot/object_gi_hookshot.o"
+ number 6
endseg
beginseg
name "object_gi_ocarina"
romalign 0x1000
- include "build/baserom/object_gi_ocarina.o"
+ include "build/assets/objects/object_gi_ocarina/object_gi_ocarina.o"
+ number 6
endseg
beginseg
name "object_gi_milk"
romalign 0x1000
- include "build/baserom/object_gi_milk.o"
+ include "build/assets/objects/object_gi_milk/object_gi_milk.o"
+ number 6
endseg
beginseg
@@ -4782,31 +4809,36 @@ endseg
beginseg
name "object_gi_pachinko"
romalign 0x1000
- include "build/baserom/object_gi_pachinko.o"
+ include "build/assets/objects/object_gi_pachinko/object_gi_pachinko.o"
+ number 6
endseg
beginseg
name "object_gi_boomerang"
romalign 0x1000
- include "build/baserom/object_gi_boomerang.o"
+ include "build/assets/objects/object_gi_boomerang/object_gi_boomerang.o"
+ number 6
endseg
beginseg
name "object_gi_bow"
romalign 0x1000
- include "build/baserom/object_gi_bow.o"
+ include "build/assets/objects/object_gi_bow/object_gi_bow.o"
+ number 6
endseg
beginseg
name "object_gi_glasses"
romalign 0x1000
- include "build/baserom/object_gi_glasses.o"
+ include "build/assets/objects/object_gi_glasses/object_gi_glasses.o"
+ number 6
endseg
beginseg
name "object_gi_liquid"
romalign 0x1000
- include "build/baserom/object_gi_liquid.o"
+ include "build/assets/objects/object_gi_liquid/object_gi_liquid.o"
+ number 6
endseg
beginseg
@@ -4824,13 +4856,15 @@ endseg
beginseg
name "object_gi_shield_3"
romalign 0x1000
- include "build/baserom/object_gi_shield_3.o"
+ include "build/assets/objects/object_gi_shield_3/object_gi_shield_3.o"
+ number 6
endseg
beginseg
name "object_gi_letter"
romalign 0x1000
- include "build/baserom/object_gi_letter.o"
+ include "build/assets/objects/object_gi_letter/object_gi_letter.o"
+ number 6
endseg
beginseg
@@ -4848,43 +4882,50 @@ endseg
beginseg
name "object_gi_clothes"
romalign 0x1000
- include "build/baserom/object_gi_clothes.o"
+ include "build/assets/objects/object_gi_clothes/object_gi_clothes.o"
+ number 6
endseg
beginseg
name "object_gi_bean"
romalign 0x1000
- include "build/baserom/object_gi_bean.o"
+ include "build/assets/objects/object_gi_bean/object_gi_bean.o"
+ number 6
endseg
beginseg
name "object_gi_fish"
romalign 0x1000
- include "build/baserom/object_gi_fish.o"
+ include "build/assets/objects/object_gi_fish/object_gi_fish.o"
+ number 6
endseg
beginseg
name "object_gi_saw"
romalign 0x1000
- include "build/baserom/object_gi_saw.o"
+ include "build/assets/objects/object_gi_saw/object_gi_saw.o"
+ number 6
endseg
beginseg
name "object_gi_hammer"
romalign 0x1000
- include "build/baserom/object_gi_hammer.o"
+ include "build/assets/objects/object_gi_hammer/object_gi_hammer.o"
+ number 6
endseg
beginseg
name "object_gi_grass"
romalign 0x1000
- include "build/baserom/object_gi_grass.o"
+ include "build/assets/objects/object_gi_grass/object_gi_grass.o"
+ number 6
endseg
beginseg
name "object_gi_longsword"
romalign 0x1000
- include "build/baserom/object_gi_longsword.o"
+ include "build/assets/objects/object_gi_longsword/object_gi_longsword.o"
+ number 6
endseg
beginseg
@@ -4980,7 +5021,8 @@ endseg
beginseg
name "object_gi_niwatori"
romalign 0x1000
- include "build/baserom/object_gi_niwatori.o"
+ include "build/assets/objects/object_gi_niwatori/object_gi_niwatori.o"
+ number 6
endseg
beginseg
@@ -4992,7 +5034,8 @@ endseg
beginseg
name "object_gi_bottle_letter"
romalign 0x1000
- include "build/baserom/object_gi_bottle_letter.o"
+ include "build/assets/objects/object_gi_bottle_letter/object_gi_bottle_letter.o"
+ number 6
endseg
beginseg
@@ -5010,7 +5053,8 @@ endseg
beginseg
name "object_gi_ocarina_0"
romalign 0x1000
- include "build/baserom/object_gi_ocarina_0.o"
+ include "build/assets/objects/object_gi_ocarina_0/object_gi_ocarina_0.o"
+ number 6
endseg
beginseg
@@ -5070,13 +5114,15 @@ endseg
beginseg
name "object_gi_boots_2"
romalign 0x1000
- include "build/baserom/object_gi_boots_2.o"
+ include "build/assets/objects/object_gi_boots_2/object_gi_boots_2.o"
+ number 6
endseg
beginseg
name "object_gi_seed"
romalign 0x1000
- include "build/baserom/object_gi_seed.o"
+ include "build/assets/objects/object_gi_seed/object_gi_seed.o"
+ number 6
endseg
beginseg
@@ -5185,13 +5231,15 @@ endseg
beginseg
name "object_gi_gloves"
romalign 0x1000
- include "build/baserom/object_gi_gloves.o"
+ include "build/assets/objects/object_gi_gloves/object_gi_gloves.o"
+ number 6
endseg
beginseg
name "object_gi_coin"
romalign 0x1000
- include "build/baserom/object_gi_coin.o"
+ include "build/assets/objects/object_gi_coin/object_gi_coin.o"
+ number 6
endseg
beginseg
@@ -5227,31 +5275,36 @@ endseg
beginseg
name "object_gi_ki_tan_mask"
romalign 0x1000
- include "build/baserom/object_gi_ki_tan_mask.o"
+ include "build/assets/objects/object_gi_ki_tan_mask/object_gi_ki_tan_mask.o"
+ number 6
endseg
beginseg
name "object_gi_redead_mask"
romalign 0x1000
- include "build/baserom/object_gi_redead_mask.o"
+ include "build/assets/objects/object_gi_redead_mask/object_gi_redead_mask.o"
+ number 6
endseg
beginseg
name "object_gi_skj_mask"
romalign 0x1000
- include "build/baserom/object_gi_skj_mask.o"
+ include "build/assets/objects/object_gi_skj_mask/object_gi_skj_mask.o"
+ number 6
endseg
beginseg
name "object_gi_rabit_mask"
romalign 0x1000
- include "build/baserom/object_gi_rabit_mask.o"
+ include "build/assets/objects/object_gi_rabit_mask/object_gi_rabit_mask.o"
+ number 6
endseg
beginseg
name "object_gi_truth_mask"
romalign 0x1000
- include "build/baserom/object_gi_truth_mask.o"
+ include "build/assets/objects/object_gi_truth_mask/object_gi_truth_mask.o"
+ number 6
endseg
beginseg
@@ -5293,31 +5346,36 @@ endseg
beginseg
name "object_gi_eye_lotion"
romalign 0x1000
- include "build/baserom/object_gi_eye_lotion.o"
+ include "build/assets/objects/object_gi_eye_lotion/object_gi_eye_lotion.o"
+ number 6
endseg
beginseg
name "object_gi_powder"
romalign 0x1000
- include "build/baserom/object_gi_powder.o"
+ include "build/assets/objects/object_gi_powder/object_gi_powder.o"
+ number 6
endseg
beginseg
name "object_gi_mushroom"
romalign 0x1000
- include "build/baserom/object_gi_mushroom.o"
+ include "build/assets/objects/object_gi_mushroom/object_gi_mushroom.o"
+ number 6
endseg
beginseg
name "object_gi_ticketstone"
romalign 0x1000
- include "build/baserom/object_gi_ticketstone.o"
+ include "build/assets/objects/object_gi_ticketstone/object_gi_ticketstone.o"
+ number 6
endseg
beginseg
name "object_gi_brokensword"
romalign 0x1000
- include "build/baserom/object_gi_brokensword.o"
+ include "build/assets/objects/object_gi_brokensword/object_gi_brokensword.o"
+ number 6
endseg
beginseg
@@ -5335,25 +5393,29 @@ endseg
beginseg
name "object_gi_prescription"
romalign 0x1000
- include "build/baserom/object_gi_prescription.o"
+ include "build/assets/objects/object_gi_prescription/object_gi_prescription.o"
+ number 6
endseg
beginseg
name "object_gi_bracelet"
romalign 0x1000
- include "build/baserom/object_gi_bracelet.o"
+ include "build/assets/objects/object_gi_bracelet/object_gi_bracelet.o"
+ number 6
endseg
beginseg
name "object_gi_soldout"
romalign 0x1000
- include "build/baserom/object_gi_soldout.o"
+ include "build/assets/objects/object_gi_soldout/object_gi_soldout.o"
+ number 6
endseg
beginseg
name "object_gi_frog"
romalign 0x1000
- include "build/baserom/object_gi_frog.o"
+ include "build/assets/objects/object_gi_frog/object_gi_frog.o"
+ number 6
endseg
beginseg
@@ -5395,19 +5457,22 @@ endseg
beginseg
name "object_gi_golonmask"
romalign 0x1000
- include "build/baserom/object_gi_golonmask.o"
+ include "build/assets/objects/object_gi_golonmask/object_gi_golonmask.o"
+ number 6
endseg
beginseg
name "object_gi_zoramask"
romalign 0x1000
- include "build/baserom/object_gi_zoramask.o"
+ include "build/assets/objects/object_gi_zoramask/object_gi_zoramask.o"
+ number 6
endseg
beginseg
name "object_gi_gerudomask"
romalign 0x1000
- include "build/baserom/object_gi_gerudomask.o"
+ include "build/assets/objects/object_gi_gerudomask/object_gi_gerudomask.o"
+ number 6
endseg
beginseg
@@ -5437,13 +5502,15 @@ endseg
beginseg
name "object_gi_hoverboots"
romalign 0x1000
- include "build/baserom/object_gi_hoverboots.o"
+ include "build/assets/objects/object_gi_hoverboots/object_gi_hoverboots.o"
+ number 6
endseg
beginseg
name "object_gi_m_arrow"
romalign 0x1000
- include "build/baserom/object_gi_m_arrow.o"
+ include "build/assets/objects/object_gi_m_arrow/object_gi_m_arrow.o"
+ number 6
endseg
beginseg
@@ -5467,13 +5534,15 @@ endseg
beginseg
name "object_gi_sutaru"
romalign 0x1000
- include "build/baserom/object_gi_sutaru.o"
+ include "build/assets/objects/object_gi_sutaru/object_gi_sutaru.o"
+ number 6
endseg
beginseg
name "object_gi_goddess"
romalign 0x1000
- include "build/baserom/object_gi_goddess.o"
+ include "build/assets/objects/object_gi_goddess/object_gi_goddess.o"
+ number 6
endseg
beginseg
@@ -5607,31 +5676,36 @@ endseg
beginseg
name "object_gi_fire"
romalign 0x1000
- include "build/baserom/object_gi_fire.o"
+ include "build/assets/objects/object_gi_fire/object_gi_fire.o"
+ number 6
endseg
beginseg
name "object_gi_insect"
romalign 0x1000
- include "build/baserom/object_gi_insect.o"
+ include "build/assets/objects/object_gi_insect/object_gi_insect.o"
+ number 6
endseg
beginseg
name "object_gi_butterfly"
romalign 0x1000
- include "build/baserom/object_gi_butterfly.o"
+ include "build/assets/objects/object_gi_butterfly/object_gi_butterfly.o"
+ number 6
endseg
beginseg
name "object_gi_ghost"
romalign 0x1000
- include "build/baserom/object_gi_ghost.o"
+ include "build/assets/objects/object_gi_ghost/object_gi_ghost.o"
+ number 6
endseg
beginseg
name "object_gi_soul"
romalign 0x1000
- include "build/baserom/object_gi_soul.o"
+ include "build/assets/objects/object_gi_soul/object_gi_soul.o"
+ number 6
endseg
beginseg
@@ -5662,7 +5736,8 @@ endseg
beginseg
name "object_gi_dekupouch"
romalign 0x1000
- include "build/baserom/object_gi_dekupouch.o"
+ include "build/assets/objects/object_gi_dekupouch/object_gi_dekupouch.o"
+ number 6
endseg
beginseg
@@ -5686,7 +5761,8 @@ endseg
beginseg
name "object_gi_rupy"
romalign 0x1000
- include "build/baserom/object_gi_rupy.o"
+ include "build/assets/objects/object_gi_rupy/object_gi_rupy.o"
+ number 6
endseg
beginseg
@@ -5782,7 +5858,8 @@ endseg
beginseg
name "object_gi_sword_1"
romalign 0x1000
- include "build/baserom/object_gi_sword_1.o"
+ include "build/assets/objects/object_gi_sword_1/object_gi_sword_1.o"
+ number 6
endseg
beginseg
diff --git a/src/code/z_draw.c b/src/code/z_draw.c
index c9ab4a2bf4..3cdcfcaae7 100644
--- a/src/code/z_draw.c
+++ b/src/code/z_draw.c
@@ -1,171 +1,379 @@
#include "global.h"
+#include "objects/object_gi_key/object_gi_key.h"
+#include "objects/object_gi_jewel/object_gi_jewel.h"
+#include "objects/object_gi_melody/object_gi_melody.h"
+#include "objects/object_gi_heart/object_gi_heart.h"
+#include "objects/object_gi_compass/object_gi_compass.h"
+#include "objects/object_gi_bosskey/object_gi_bosskey.h"
+#include "objects/object_gi_medal/object_gi_medal.h"
+#include "objects/object_gi_nuts/object_gi_nuts.h"
+#include "objects/object_gi_hearts/object_gi_hearts.h"
+#include "objects/object_gi_arrowcase/object_gi_arrowcase.h"
+#include "objects/object_gi_bombpouch/object_gi_bombpouch.h"
+#include "objects/object_gi_bottle/object_gi_bottle.h"
+#include "objects/object_gi_stick/object_gi_stick.h"
+#include "objects/object_gi_map/object_gi_map.h"
+#include "objects/object_gi_shield_1/object_gi_shield_1.h"
+#include "objects/object_gi_magicpot/object_gi_magicpot.h"
+#include "objects/object_gi_bomb_1/object_gi_bomb_1.h"
+#include "objects/object_gi_purse/object_gi_purse.h"
+#include "objects/object_gi_gerudo/object_gi_gerudo.h"
+#include "objects/object_gi_arrow/object_gi_arrow.h"
+#include "objects/object_gi_bomb_2/object_gi_bomb_2.h"
+#include "objects/object_gi_egg/object_gi_egg.h"
+#include "objects/object_gi_scale/object_gi_scale.h"
+#include "objects/object_gi_shield_2/object_gi_shield_2.h"
+#include "objects/object_gi_hookshot/object_gi_hookshot.h"
+#include "objects/object_gi_ocarina/object_gi_ocarina.h"
+#include "objects/object_gi_milk/object_gi_milk.h"
+#include "objects/object_gi_pachinko/object_gi_pachinko.h"
+#include "objects/object_gi_boomerang/object_gi_boomerang.h"
+#include "objects/object_gi_bow/object_gi_bow.h"
+#include "objects/object_gi_glasses/object_gi_glasses.h"
+#include "objects/object_gi_liquid/object_gi_liquid.h"
+#include "objects/object_gi_shield_3/object_gi_shield_3.h"
+#include "objects/object_gi_letter/object_gi_letter.h"
+#include "objects/object_gi_clothes/object_gi_clothes.h"
+#include "objects/object_gi_bean/object_gi_bean.h"
+#include "objects/object_gi_fish/object_gi_fish.h"
+#include "objects/object_gi_saw/object_gi_saw.h"
+#include "objects/object_gi_hammer/object_gi_hammer.h"
+#include "objects/object_gi_grass/object_gi_grass.h"
+#include "objects/object_gi_longsword/object_gi_longsword.h"
+#include "objects/object_gi_niwatori/object_gi_niwatori.h"
+#include "objects/object_gi_bottle_letter/object_gi_bottle_letter.h"
+#include "objects/object_gi_ocarina_0/object_gi_ocarina_0.h"
+#include "objects/object_gi_boots_2/object_gi_boots_2.h"
+#include "objects/object_gi_seed/object_gi_seed.h"
+#include "objects/object_gi_gloves/object_gi_gloves.h"
+#include "objects/object_gi_coin/object_gi_coin.h"
+#include "objects/object_gi_ki_tan_mask/object_gi_ki_tan_mask.h"
+#include "objects/object_gi_redead_mask/object_gi_redead_mask.h"
+#include "objects/object_gi_skj_mask/object_gi_skj_mask.h"
+#include "objects/object_gi_rabit_mask/object_gi_rabit_mask.h"
+#include "objects/object_gi_truth_mask/object_gi_truth_mask.h"
+#include "objects/object_gi_eye_lotion/object_gi_eye_lotion.h"
+#include "objects/object_gi_powder/object_gi_powder.h"
+#include "objects/object_gi_mushroom/object_gi_mushroom.h"
+#include "objects/object_gi_ticketstone/object_gi_ticketstone.h"
+#include "objects/object_gi_brokensword/object_gi_brokensword.h"
+#include "objects/object_gi_prescription/object_gi_prescription.h"
+#include "objects/object_gi_bracelet/object_gi_bracelet.h"
+#include "objects/object_gi_soldout/object_gi_soldout.h"
+#include "objects/object_gi_frog/object_gi_frog.h"
+#include "objects/object_gi_golonmask/object_gi_golonmask.h"
+#include "objects/object_gi_zoramask/object_gi_zoramask.h"
+#include "objects/object_gi_gerudomask/object_gi_gerudomask.h"
+#include "objects/object_gi_hoverboots/object_gi_hoverboots.h"
+#include "objects/object_gi_m_arrow/object_gi_m_arrow.h"
+#include "objects/object_gi_sutaru/object_gi_sutaru.h"
+#include "objects/object_gi_goddess/object_gi_goddess.h"
+#include "objects/object_gi_fire/object_gi_fire.h"
+#include "objects/object_gi_insect/object_gi_insect.h"
+#include "objects/object_gi_butterfly/object_gi_butterfly.h"
+#include "objects/object_gi_ghost/object_gi_ghost.h"
+#include "objects/object_gi_soul/object_gi_soul.h"
+#include "objects/object_gi_dekupouch/object_gi_dekupouch.h"
+#include "objects/object_gi_rupy/object_gi_rupy.h"
+#include "objects/object_gi_sword_1/object_gi_sword_1.h"
// "Get Item" Model Draw Functions
-void func_800694E4(GlobalContext* globalCtx, s16 drawId);
-void func_800695C0(GlobalContext* globalCtx, s16 drawId);
-void func_8006969C(GlobalContext* globalCtx, s16 drawId);
-void func_80069880(GlobalContext* globalCtx, s16 drawId);
-void func_80069AC8(GlobalContext* globalCtx, s16 drawId);
-void func_80069CF0(GlobalContext* globalCtx, s16 drawId);
-void func_80069EB0(GlobalContext* globalCtx, s16 drawId);
-void func_8006A060(GlobalContext* globalCtx, s16 drawId);
-void func_8006A158(GlobalContext* globalCtx, s16 drawId);
-void func_8006A2A0(GlobalContext* globalCtx, s16 drawId);
-void func_8006A4B0(GlobalContext* globalCtx, s16 drawId);
-void func_8006A5F0(GlobalContext* globalCtx, s16 drawId);
-void func_8006A73C(GlobalContext* globalCtx, s16 drawId);
-void func_8006A88C(GlobalContext* globalCtx, s16 drawId);
-void func_8006A9CC(GlobalContext* globalCtx, s16 drawId);
-void func_8006AAA8(GlobalContext* globalCtx, s16 drawId);
-void func_8006ABEC(GlobalContext* globalCtx, s16 drawId);
-void func_8006ACE4(GlobalContext* globalCtx, s16 drawId);
-void func_8006AE40(GlobalContext* globalCtx, s16 drawId);
-void func_8006AF9C(GlobalContext* globalCtx, s16 drawId);
-void func_8006B124(GlobalContext* globalCtx, s16 drawId);
-void func_8006B24C(GlobalContext* globalCtx, s16 drawId);
-void func_8006B3C0(GlobalContext* globalCtx, s16 drawId);
-void func_8006B54C(GlobalContext* globalCtx, s16 drawId);
-void func_8006B6E4(GlobalContext* globalCtx, s16 drawId);
-void func_8006B870(GlobalContext* globalCtx, s16 drawId);
+void GetItem_DrawMaskOrBombchu(GlobalContext* globalCtx, s16 drawId);
+void GetItem_DrawSoldOut(GlobalContext* globalCtx, s16 drawId);
+void GetItem_DrawBlueFire(GlobalContext* globalCtx, s16 drawId);
+void GetItem_DrawPoes(GlobalContext* globalCtx, s16 drawId);
+void GetItem_DrawFairy(GlobalContext* globalCtx, s16 drawId);
+void GetItem_DrawMirrorShield(GlobalContext* globalCtx, s16 drawId);
+void GetItem_DrawSkullToken(GlobalContext* globalCtx, s16 drawId);
+void GetItem_DrawEggOrMedallion(GlobalContext* globalCtx, s16 drawId);
+void GetItem_DrawCompass(GlobalContext* globalCtx, s16 drawId);
+void GetItem_DrawPotion(GlobalContext* globalCtx, s16 drawId);
+void GetItem_DrawGoronSword(GlobalContext* globalCtx, s16 drawId);
+void GetItem_DrawDekuNuts(GlobalContext* globalCtx, s16 drawId);
+void GetItem_DrawRecoveryHeart(GlobalContext* globalCtx, s16 drawId);
+void GetItem_DrawFish(GlobalContext* globalCtx, s16 drawId);
+void GetItem_DrawOpa0(GlobalContext* globalCtx, s16 drawId);
+void GetItem_DrawOpa0Xlu1(GlobalContext* globalCtx, s16 drawId);
+void GetItem_DrawXlu01(GlobalContext* globalCtx, s16 drawId);
+void GetItem_DrawOpa10Xlu2(GlobalContext* globalCtx, s16 drawId);
+void GetItem_DrawMagicArrow(GlobalContext* globalCtx, s16 drawId);
+void GetItem_DrawMagicSpell(GlobalContext* globalCtx, s16 drawId);
+void GetItem_DrawOpa1023(GlobalContext* globalCtx, s16 drawId);
+void GetItem_DrawOpa10Xlu32(GlobalContext* globalCtx, s16 drawId);
+void GetItem_DrawSmallRupee(GlobalContext* globalCtx, s16 drawId);
+void GetItem_DrawScale(GlobalContext* globalCtx, s16 drawId);
+void GetItem_DrawBulletBag(GlobalContext* globalCtx, s16 drawId);
+void GetItem_DrawWallet(GlobalContext* globalCtx, s16 drawId);
typedef struct {
/* 0x00 */ void (*drawFunc)(GlobalContext*, s16);
/* 0x04 */ u32 dlists[8];
} DrawItemTableEntry; // size = 0x24
-// TODO: use symbols for these dlists once objects are in C
DrawItemTableEntry sDrawItemTable[] = {
- { func_8006AAA8, { 0x06000670, 0x06000750 } },
- { func_8006A9CC, { 0x06000800 } },
- { func_8006ABEC, { 0x06000A80, 0x06000AE0 } },
- { func_8006ABEC, { 0x06000A90, 0x06000AE0 } },
- { func_8006ABEC, { 0x06000AA0, 0x06000AE0 } },
- { func_8006ABEC, { 0x06000AB0, 0x06000AE0 } },
- { func_8006ABEC, { 0x06000AC0, 0x06000AE0 } },
- { func_8006ABEC, { 0x06000AD0, 0x06000AE0 } },
- { func_8006A73C, { 0x060000E0 } },
- { func_8006AAA8, { 0x06000CA0, 0x06000F08 } },
- { func_8006A158, { 0x06000960, 0x06000C50 } },
- { func_8006A060, { 0x06000CB0, 0x06000E18 } },
- { func_8006A060, { 0x06001AF0, 0x06000E18 } },
- { func_8006A060, { 0x06002830, 0x06000E18 } },
- { func_8006A060, { 0x06003610, 0x06000E18 } },
- { func_8006A060, { 0x06004330, 0x06000E18 } },
- { func_8006A060, { 0x06005220, 0x06000E18 } },
- { func_8006A5F0, { 0x06000E90 } },
- { func_8006ABEC, { 0x06001290, 0x06001470 } },
- { func_8006ABEC, { 0x06001290, 0x06001590 } },
- { func_8006B124, { 0x06000990, 0x060008D0, 0x06000930, 0x06000A80 } },
- { func_8006B124, { 0x06000990, 0x060008F0, 0x06000950, 0x06000A80 } },
- { func_8006B124, { 0x06000990, 0x06000910, 0x06000970, 0x06000A80 } },
- { func_8006B124, { 0x06000B90, 0x06000AD0, 0x06000B30, 0x06000D98 } },
- { func_8006B124, { 0x06000B90, 0x06000AF0, 0x06000B50, 0x06000D98 } },
- { func_8006B124, { 0x06000B90, 0x06000B10, 0x06000B70, 0x06000D98 } },
- { func_8006A9CC, { 0x060004D0 } },
- { func_8006A9CC, { 0x060003C0 } },
- { func_8006A9CC, { 0x06000A50 } },
- { func_8006A9CC, { 0x06000580 } },
- { func_8006A9CC, { 0x06000EE0 } },
- { func_8006A9CC, { 0x060009A0 } },
- { func_8006A9CC, { 0x06000B70 } },
- { func_8006B870,
- { 0x06001850, 0x06001750, 0x06001790, 0x060019A0, 0x060017B0, 0x06001A28, 0x060017D0, 0x06001AD8 } },
- { func_8006B870,
- { 0x06001850, 0x06001770, 0x060017F0, 0x060019A0, 0x06001810, 0x06001A28, 0x06001830, 0x06001AD8 } },
- { func_8006A9CC, { 0x06000F60 } },
- { func_8006A9CC, { 0x06000340 } },
- { func_8006A9CC, { 0x06000B90 } },
- { func_8006A9CC, { 0x06001830 } },
- { func_800694E4, { 0x060004B0 } },
- { func_8006A060, { 0x06000FD0, 0x06001008 } },
- { func_8006B54C, { 0x06000AA0, 0x06000A20, 0x06000A60, 0x06000CC8 } },
- { func_8006B54C, { 0x06000AA0, 0x06000A40, 0x06000A80, 0x06000CC8 } },
- { func_8006A9CC, { 0x06000C70 } },
- { func_8006A9CC, { 0x06000750 } },
- { func_8006A9CC, { 0x06001240 } },
- { func_8006AAA8, { 0x060008C0, 0x06000AF8 } },
- { func_8006AAA8, { 0x06001060, 0x06001288 } },
- { func_8006AAA8, { 0x06000AC0, 0x06000D50 } },
- { func_8006A9CC, { 0x060007E0 } },
- { func_8006A9CC, { 0x06000940 } },
- { func_8006A9CC, { 0x06000A30 } },
- { func_8006A9CC, { 0x06000990 } },
- { func_8006AAA8, { 0x06000D80, 0x06001010 } },
- { func_8006A2A0, { 0x06001438, 0x06001270, 0x060012D0, 0x06001790, 0x06001330, 0x06001848 } },
- { func_8006A2A0, { 0x06001438, 0x06001290, 0x060012F0, 0x06001790, 0x06001388, 0x06001848 } },
- { func_8006A2A0, { 0x06001438, 0x060012B0, 0x06001310, 0x06001790, 0x060013E0, 0x06001848 } },
- { func_80069CF0, { 0x06000FB0, 0x060011C8 } },
- { func_8006AAA8, { 0x06000CC0, 0x06000D60 } },
- { func_8006B124, { 0x06001560, 0x060014E0, 0x06001520, 0x06001608 } },
- { func_8006B124, { 0x06001560, 0x06001500, 0x06001540, 0x06001608 } },
- { func_8006A9CC, { 0x06000580 } },
- { func_8006A88C, { 0x06000600 } },
- { func_8006A9CC, { 0x060007E0 } },
- { func_8006A9CC, { 0x060009D0 } },
- { func_8006A9CC, { 0x060008E0 } },
- { func_8006A4B0, { 0x06000600 } },
- { func_8006ACE4, { 0x06001630, 0x060015F0, 0x06001948 } },
- { func_8006AAA8, { 0x060008E0, 0x06000AE0 } },
- { func_8006AAA8, { 0x060008E0, 0x06000B58 } },
- { func_8006AAA8, { 0x06001630, 0x06001A98 } },
- { func_8006A9CC, { 0x06000810 } },
- { func_8006B24C, { 0x06001540, 0x060014C0, 0x06001860, 0x06001500 } },
- { func_8006B24C, { 0x06001540, 0x060014E0, 0x06001860, 0x06001520 } },
- { func_8006ACE4, { 0x060005E0, 0x06000560, 0x06000768 } },
- { func_8006ACE4, { 0x060005E0, 0x06000580, 0x06000768 } },
- { func_8006ACE4, { 0x060005E0, 0x060005A0, 0x06000768 } },
- { func_8006ACE4, { 0x060005E0, 0x060005C0, 0x06000768 } },
- { func_8006A9CC, { 0x060009D0 } },
- { func_8006AAA8, { 0x06000BC0, 0x06000E58 } },
- { func_8006AAA8, { 0x060013D0, 0x060016B0 } },
- { func_8006AAA8, { 0x06000680, 0x06000768 } },
- { func_8006A9CC, { 0x060008B0 } },
- { func_8006A9CC, { 0x060009D0 } },
- { func_8006AAA8, { 0x06000F00, 0x06001188 } },
- { func_8006A4B0, { 0x060006E0 } },
- { func_8006AAA8, { 0x060009C0, 0x06000AF0 } },
- { func_8006A9CC, { 0x06000960 } },
- { func_800695C0, { 0x06000440 } },
- { func_8006AAA8, { 0x06000D60, 0x06001060 } },
- { func_800694E4, { 0x060014F8 } },
- { func_800694E4, { 0x06001398 } },
- { func_800694E4, { 0x060010E8 } },
- { func_8006ACE4, { 0x06001630, 0x06001610, 0x06001948 } },
- { func_8006A9CC, { 0x06001850 } },
- { func_8006AE40, { 0x06000AE0, 0x06000CA0, 0x06000D00 } },
- { func_8006AE40, { 0x06000AE0, 0x06000CC0, 0x06000D00 } },
- { func_8006AE40, { 0x06000AE0, 0x06000CE0, 0x06000D00 } },
- { func_80069EB0, { 0x06000330, 0x06000438 } },
- { func_8006AF9C, { 0x06000920, 0x060009E0, 0x06000A40 } },
- { func_8006AF9C, { 0x06000920, 0x06000A00, 0x06000A40 } },
- { func_8006AF9C, { 0x06000920, 0x06000A20, 0x06000A40 } },
- { func_8006969C, { 0x06000C60, 0x06000F08 } },
- { func_8006AAA8, { 0x06000830, 0x06000B20 } },
- { func_8006AAA8, { 0x06000830, 0x06000A70 } },
- { func_80069880, { 0x06000990, 0x06000BE0, 0x06000CF0, 0x06000950 } },
- { func_80069AC8, { 0x06000BD0, 0x06000DB8, 0x06000EF0 } },
- { func_8006B6E4, { 0x06000B70, 0x06000AF0, 0x06000F48, 0x06000B30, 0x06000FF0 } },
- { func_8006B3C0, { 0x060005E0, 0x060004A0, 0x060006F0, 0x06000540 } },
- { func_8006B3C0, { 0x060005E0, 0x060004C0, 0x060006F0, 0x06000560 } },
- { func_8006B3C0, { 0x060005E0, 0x060004E0, 0x060006F0, 0x06000580 } },
- { func_80069880, { 0x06000990, 0x06000BE0, 0x06000CF0, 0x06000970 } },
- { func_8006B24C, { 0x060005E0, 0x06000500, 0x060006F0, 0x060005A0 } },
- { func_8006B24C, { 0x060005E0, 0x06000520, 0x060006F0, 0x060005C0 } },
- { func_8006B6E4, { 0x06000B70, 0x06000B10, 0x06000F48, 0x06000B50, 0x06000FF0 } },
- { func_8006A9CC, { 0x06000960 } },
- { func_80069EB0, { 0x06004DB0, 0x06004EB8 } },
+ // bottle, OBJECT_GI_BOTTLE
+ { GetItem_DrawOpa0Xlu1, { gGiBottleStopperDL, gGiBottleDL } },
+ // small key, OBJECT_GI_KEY
+ { GetItem_DrawOpa0, { gGiSmallKeyDL } },
+ // minuet of forest, OBJECT_GI_MELODY
+ { GetItem_DrawXlu01, { gGiMinuetColorDL, gGiSongNoteDL } },
+ // bolero of fire, OBJECT_GI_MELODY
+ { GetItem_DrawXlu01, { gGiBoleroColorDL, gGiSongNoteDL } },
+ // serenade of water, OBJECT_GI_MELODY
+ { GetItem_DrawXlu01, { gGiSerenadeColorDL, gGiSongNoteDL } },
+ // requiem of spirit, OBJECT_GI_MELODY
+ { GetItem_DrawXlu01, { gGiRequiemColorDL, gGiSongNoteDL } },
+ // nocturne of shadow, OBJECT_GI_MELODY
+ { GetItem_DrawXlu01, { gGiNocturneColorDL, gGiSongNoteDL } },
+ // prelude of light, OBJECT_GI_MELODY
+ { GetItem_DrawXlu01, { gGiPreludeColorDL, gGiSongNoteDL } },
+ // recovery heart, OBJECT_GI_HEART
+ { GetItem_DrawRecoveryHeart, { gGiRecoveryHeartDL } },
+ // boss key, OBJECT_GI_BOSSKEY
+ { GetItem_DrawOpa0Xlu1, { gGiBossKeyDL, gGiBossKeyGemDL } },
+ // compass, OBJECT_GI_COMPASS
+ { GetItem_DrawCompass, { gGiCompassDL, gGiCompassGlassDL } },
+ // forest medallion, OBJECT_GI_MEDAL
+ { GetItem_DrawEggOrMedallion, { gGiForestMedallionFaceDL, gGiMedallionDL } },
+ // fire medallion, OBJECT_GI_MEDAL
+ { GetItem_DrawEggOrMedallion, { gGiFireMedallionFaceDL, gGiMedallionDL } },
+ // water medallion, OBJECT_GI_MEDAL
+ { GetItem_DrawEggOrMedallion, { gGiWaterMedallionFaceDL, gGiMedallionDL } },
+ // spirit medallion, OBJECT_GI_MEDAL
+ { GetItem_DrawEggOrMedallion, { gGiSpiritMedallionFaceDL, gGiMedallionDL } },
+ // shadow medallion, OBJECT_GI_MEDAL
+ { GetItem_DrawEggOrMedallion, { gGiShadowMedallionFaceDL, gGiMedallionDL } },
+ // light medallion, OBJECT_GI_MEDAL
+ { GetItem_DrawEggOrMedallion, { gGiLightMedallionFaceDL, gGiMedallionDL } },
+ // deku nuts, OBJECT_GI_NUTS
+ { GetItem_DrawDekuNuts, { gGiNutDL } },
+ // heart container, OBJECT_GI_HEARTS
+ { GetItem_DrawXlu01, { gGiHeartBorderDL, gGiHeartContainerDL } },
+ // heart piece, OBJECT_GI_HEARTS
+ { GetItem_DrawXlu01, { gGiHeartBorderDL, gGiHeartPieceDL } },
+ // quiver 30, OBJECT_GI_ARROWCASE
+ { GetItem_DrawOpa1023, { gGiQuiverInnerDL, gGiQuiver30InnerColorDL, gGiQuiver30OuterColorDL, gGiQuiverOuterDL } },
+ // quiver 40, OBJECT_GI_ARROWCASE
+ { GetItem_DrawOpa1023, { gGiQuiverInnerDL, gGiQuiver40InnerColorDL, gGiQuiver40OuterColorDL, gGiQuiverOuterDL } },
+ // quiver 50, OBJECT_GI_ARROWCASE
+ { GetItem_DrawOpa1023, { gGiQuiverInnerDL, gGiQuiver50InnerColorDL, gGiQuiver50OuterColorDL, gGiQuiverOuterDL } },
+ // bomb bag 20, OBJECT_GI_BOMBPOUCH
+ { GetItem_DrawOpa1023, { gGiBombBagDL, gGiBombBag20BagColorDL, gGiBombBag20RingColorDL, gGiBombBagRingDL } },
+ // bomb bag 30, OBJECT_GI_BOMBPOUCH
+ { GetItem_DrawOpa1023, { gGiBombBagDL, gGiBombBag30BagColorDL, gGiBombBag30RingColorDL, gGiBombBagRingDL } },
+ // bomb bag 40, OBJECT_GI_BOMBPOUCH
+ { GetItem_DrawOpa1023, { gGiBombBagDL, gGiBombBag40BagColorDL, gGiBombBag40RingColorDL, gGiBombBagRingDL } },
+ // stick, OBJECT_GI_STICK
+ { GetItem_DrawOpa0, { gGiStickDL } },
+ // dungeon map, OBJECT_GI_MAP
+ { GetItem_DrawOpa0, { gGiDungeonMapDL } },
+ // deku shield, OBJECT_GI_SHIELD_1
+ { GetItem_DrawOpa0, { gGiDekuShieldDL } },
+ // small magic jar, OBJECT_GI_MAGICPOT
+ { GetItem_DrawOpa0, { gGiMagicJarSmallDL } },
+ // large magic jar, OBJECT_GI_MAGICPOT
+ { GetItem_DrawOpa0, { gGiMagicJarLargeDL } },
+ // bombs, OBJECT_GI_BOMB_1
+ { GetItem_DrawOpa0, { gGiBombDL } },
+ // stone of agony, OBJECT_GI_MAP
+ { GetItem_DrawOpa0, { gGiStoneOfAgonyDL } },
+ // adult's wallet, OBJECT_GI_PURSE
+ { GetItem_DrawWallet,
+ { gGiWalletDL, gGiAdultWalletColorDL, gGiAdultWalletRupeeOuterColorDL, gGiWalletRupeeOuterDL,
+ gGiAdultWalletStringColorDL, gGiWalletStringDL, gGiAdultWalletRupeeInnerColorDL, gGiWalletRupeeInnerDL } },
+ // giant's wallet, OBJECT_GI_PURSE
+ { GetItem_DrawWallet,
+ { gGiWalletDL, gGiGiantsWalletColorDL, gGiGiantsWalletRupeeOuterColorDL, gGiWalletRupeeOuterDL,
+ gGiGiantsWalletStringColorDL, gGiWalletStringDL, gGiGiantsWalletRupeeInnerColorDL, gGiWalletRupeeInnerDL } },
+ // gerudo card, OBJECT_GI_GERUDO
+ { GetItem_DrawOpa0, { gGiGerudoCardDL } },
+ // arrows (small), OBJECT_GI_ARROW
+ { GetItem_DrawOpa0, { gGiArrowSmallDL } },
+ // arrows (medium), OBJECT_GI_ARROW
+ { GetItem_DrawOpa0, { gGiArrowMediumDL } },
+ // arrows (large), OBJECT_GI_ARROW
+ { GetItem_DrawOpa0, { gGiArrowLargeDL } },
+ // bombchus, OBJECT_GI_BOMB_2
+ { GetItem_DrawMaskOrBombchu, { gGiBombchuDL } },
+ // egg, OBJECT_GI_EGG
+ { GetItem_DrawEggOrMedallion, { gGiEggSetupDL, gGiEggDL } },
+ // silver scale, OBJECT_GI_SCALE
+ { GetItem_DrawScale, { gGiScaleWaterDL, gGiSilverScaleWaterColorDL, gGiSilverScaleColorDL, gGiScaleDL } },
+ // gold scale, OBJECT_GI_SCALE
+ { GetItem_DrawScale, { gGiScaleWaterDL, gGiGoldenScaleWaterColorDL, gGiGoldenScaleColorDL, gGiScaleDL } },
+ // hylian shield, OBJECT_GI_SHIELD_2
+ { GetItem_DrawOpa0, { gGiHylianShieldDL } },
+ // hookshot, OBJECT_GI_HOOKSHOT
+ { GetItem_DrawOpa0, { gGiHookshotDL } },
+ // longshot, OBJECT_GI_HOOKSHOT
+ { GetItem_DrawOpa0, { gGiLongshotDL } },
+ // ocarina of time, OBJECT_GI_OCARINA
+ { GetItem_DrawOpa0Xlu1, { gGiOcarinaTimeDL, gGiOcarinaTimeHolesDL } },
+ // milk, OBJECT_GI_MILK
+ { GetItem_DrawOpa0Xlu1, { gGiMilkBottleContentsDL, gGiMilkBottleDL } },
+ // keaton mask, OBJECT_GI_KI_TAN_MASK
+ { GetItem_DrawOpa0Xlu1, { gGiKeatonMaskDL, gGiKeatonMaskEyesDL } },
+ // spooky mask, OBJECT_GI_REDEAD_MASK
+ { GetItem_DrawOpa0, { gGiSpookyMaskDL } },
+ // slingshot, OBJECT_GI_PACHINKO
+ { GetItem_DrawOpa0, { gGiSlingshotDL } },
+ // boomerang, OBJECT_GI_BOOMERANG
+ { GetItem_DrawOpa0, { gGiBoomerangDL } },
+ // bow, OBJECT_GI_BOW
+ { GetItem_DrawOpa0, { gGiBowDL } },
+ // lens, OBJECT_GI_GLASSES
+ { GetItem_DrawOpa0Xlu1, { gGiLensDL, gGiLensGlassDL } },
+ // green potion, OBJECT_GI_LIQUID
+ { GetItem_DrawPotion,
+ { gGiPotionPotDL, gGiGreenPotColorDL, gGiGreenLiquidColorDL, gGiPotionLiquidDL, gGiGreenPatternColorDL,
+ gGiPotionPatternDL } },
+ // red potion, OBJECT_GI_LIQUID
+ { GetItem_DrawPotion,
+ { gGiPotionPotDL, gGiRedPotColorDL, gGiRedLiquidColorDL, gGiPotionLiquidDL, gGiRedPatternColorDL,
+ gGiPotionPatternDL } },
+ // blue potion, OBJECT_GI_LIQUID
+ { GetItem_DrawPotion,
+ { gGiPotionPotDL, gGiBluePotColorDL, gGiBlueLiquidColorDL, gGiPotionLiquidDL, gGiBluePatternColorDL,
+ gGiPotionPatternDL } },
+ // mirror shield, OBJECT_GI_SHIELD_3
+ { GetItem_DrawMirrorShield, { gGiMirrorShieldDL, gGiMirrorShieldSymbolDL } },
+ // zelda's letter, OBJECT_GI_LETTER
+ { GetItem_DrawOpa0Xlu1, { gGiLetterDL, gGiLetterWritingDL } },
+ // goron tunic, OBJECT_GI_CLOTHES
+ { GetItem_DrawOpa1023, { gGiTunicCollarDL, gGiGoronCollarColorDL, gGiGoronTunicColorDL, gGiTunicDL } },
+ // zora tunic, OBJECT_GI_CLOTHES
+ { GetItem_DrawOpa1023, { gGiTunicCollarDL, gGiZoraCollarColorDL, gGiZoraTunicColorDL, gGiTunicDL } },
+ // beans, OBJECT_GI_BEAN
+ { GetItem_DrawOpa0, { gGiBeanDL } },
+ // fish, OBJECT_GI_FISH
+ { GetItem_DrawFish, { gGiFishDL } },
+ // saw, OBJECT_GI_SAW
+ { GetItem_DrawOpa0, { gGiSawDL } },
+ // hammer, OBJECT_GI_HAMMER
+ { GetItem_DrawOpa0, { gGiHammerDL } },
+ // grass, OBJECT_GI_GRASS
+ { GetItem_DrawOpa0, { gGiGrassDL } },
+ // biggorons sword, OBJECT_GI_LONGSWORD
+ { GetItem_DrawGoronSword, { gGiBiggoronSwordDL } },
+ // chicken, OBJECT_GI_NIWATORI
+ { GetItem_DrawOpa10Xlu2, { gGiChickenDL, gGiChickenColorDL, gGiChickenEyesDL } },
+ // ruto's letter, OBJECT_GI_BOTTLE_LETTER
+ { GetItem_DrawOpa0Xlu1, { gGiLetterBottleContentsDL, gGiLetterBottleDL } },
+ // fairy ocarina, OBJECT_GI_OCARINA_0
+ { GetItem_DrawOpa0Xlu1, { gGiOcarinaFairyDL, gGiOcarinaFairyHolesDL } },
+ // iron boots, OBJECT_GI_BOOTS_2
+ { GetItem_DrawOpa0Xlu1, { gGiIronBootsDL, gGiIronBootsRivetsDL } },
+ // seeds, OBJECT_GI_SEED
+ { GetItem_DrawOpa0, { gGiSeedDL } },
+ // silver gauntlets, OBJECT_GI_GLOVES
+ { GetItem_DrawOpa10Xlu32,
+ { gGiGauntletsDL, gGiSilverGauntletsColorDL, gGiGauntletsPlateDL, gGiSilverGauntletsPlateColorDL } },
+ // golden gauntlets, OBJECT_GI_GLOVES
+ { GetItem_DrawOpa10Xlu32,
+ { gGiGauntletsDL, gGiGoldenGauntletsColorDL, gGiGauntletsPlateDL, gGiGoldenGauntletsPlateColorDL } },
+ // yellow n coin, OBJECT_GI_COIN
+ { GetItem_DrawOpa10Xlu2, { gGiCoinDL, gGiYellowCoinColorDL, gGiNDL } },
+ // red n coin, OBJECT_GI_COIN
+ { GetItem_DrawOpa10Xlu2, { gGiCoinDL, gGiRedCoinColorDL, gGiNDL } },
+ // green n coin, OBJECT_GI_COIN
+ { GetItem_DrawOpa10Xlu2, { gGiCoinDL, gGiGreenCoinColorDL, gGiNDL } },
+ // blue n coin, OBJECT_GI_COIN
+ { GetItem_DrawOpa10Xlu2, { gGiCoinDL, gGiBlueCoinColorDL, gGiNDL } },
+ // skull mask, OBJECT_GI_SKJ_MASK
+ { GetItem_DrawOpa0, { gGiSkullMaskDL } },
+ // bunny hood OBJECT_GI_RABIT_MASK
+ { GetItem_DrawOpa0Xlu1, { gGiBunnyHoodDL, gGiBunnyHoodEyesDL } },
+ // mask of truth, OBJECT_GI_TRUTH_MASK
+ { GetItem_DrawOpa0Xlu1, { gGiMaskOfTruthDL, gGiMaskOfTruthAccentsDL } },
+ // eyedrops, OBJECT_GI_EYE_LOTION
+ { GetItem_DrawOpa0Xlu1, { gGiEyeDropsCapDL, gGiEyeDropsBottleDL } },
+ // odd potion, OBJECT_GI_POWDER
+ { GetItem_DrawOpa0, { gGiOddPotionDL } },
+ // odd mushroom, OBJECT_GI_MUSHROOM
+ { GetItem_DrawOpa0, { gGiOddMushroomDL } },
+ // claim check, OBJECT_GI_TICKETSTONE
+ { GetItem_DrawOpa0Xlu1, { gGiClaimCheckDL, gGiClaimCheckWritingDL } },
+ // broken goron's sword, OBJECT_GI_BROKENSWORD
+ { GetItem_DrawGoronSword, { gGiBrokenGoronSwordDL } },
+ // prescription, OBJECT_GI_PRESCRIPTION
+ { GetItem_DrawOpa0Xlu1, { gGiPrescriptionDL, gGiPrescriptionWritingDL } },
+ // goron bracelet, OBJECT_GI_BRACELET
+ { GetItem_DrawOpa0, { gGiGoronBraceletDL } },
+ // sold out, OBJECT_GI_SOLDOUT
+ { GetItem_DrawSoldOut, { gGiSoldOutDL } },
+ // frog, OBJECT_GI_FROG
+ { GetItem_DrawOpa0Xlu1, { gGiFrogDL, gGiFrogEyesDL } },
+ // goron mask, OBJECT_GI_GOLONMASK
+ { GetItem_DrawMaskOrBombchu, { gGiGoronMaskDL } },
+ // zora mask, OBJECT_GI_ZORAMASK
+ { GetItem_DrawMaskOrBombchu, { gGiZoraMaskDL } },
+ // gerudo mask, OBJECT_GI_GERUDOMASK
+ { GetItem_DrawMaskOrBombchu, { gGiGerudoMaskDL } },
+ // cojiro, OBJECT_GI_NIWATORI
+ { GetItem_DrawOpa10Xlu2, { gGiChickenDL, gGiCojiroColorDL, gGiChickenEyesDL } },
+ // hover boots, OBJECT_GI_HOVERBOOTS
+ { GetItem_DrawOpa0, { gGiHoverBootsDL } },
+ // fire arrows, OBJECT_GI_M_ARROW
+ { GetItem_DrawMagicArrow, { gGiMagicArrowDL, gGiFireArrowColorDL, gGiArrowMagicDL } },
+ // ice arrows, OBJECT_GI_M_ARROW
+ { GetItem_DrawMagicArrow, { gGiMagicArrowDL, gGiIceArrowColorDL, gGiArrowMagicDL } },
+ // light arrows, OBJECT_GI_M_ARROW
+ { GetItem_DrawMagicArrow, { gGiMagicArrowDL, gGiLightArrowColorDL, gGiArrowMagicDL } },
+ // skulltula token, OBJECT_GI_SUTARU
+ { GetItem_DrawSkullToken, { gGiSkulltulaTokenDL, gGiSkulltulaTokenFlameDL } },
+ // din's fire, OBJECT_GI_GODDESS
+ { GetItem_DrawMagicSpell, { gGiMagicSpellDiamondDL, gGiDinsFireColorDL, gGiMagicSpellOrbDL } },
+ // farore's wind, OBJECT_GI_GODDESS
+ { GetItem_DrawMagicSpell, { gGiMagicSpellDiamondDL, gGiFaroresWindColorDL, gGiMagicSpellOrbDL } },
+ // nayru's Love, OBJECT_GI_GODDESS
+ { GetItem_DrawMagicSpell, { gGiMagicSpellDiamondDL, gGiNayrusLoveColorDL, gGiMagicSpellOrbDL } },
+ // blue fire, OBJECT_GI_FIRE
+ { GetItem_DrawBlueFire, { gGiBlueFireChamberstickDL, gGiBlueFireFlameDL } },
+ // bugs, OBJECT_GI_INSECT
+ { GetItem_DrawOpa0Xlu1, { gGiBugsContainerDL, gGiBugsGlassDL } },
+ // butterfly, OBJECT_GI_BUTTERFLY
+ { GetItem_DrawOpa0Xlu1, { gGiButterflyContainerDL, gGiButterflyGlassDL } },
+ // poe, OBJECT_GI_GHOST
+ { GetItem_DrawPoes, { gGiGhostContainerLidDL, gGiGhostContainerGlassDL, gGiGhostContainerContentsDL, gGiPoeColorDL } },
+ // fairy, OBJECT_GI_SOUL
+ { GetItem_DrawFairy, { gGiFairyContainerBaseCapDL, gGiFairyContainerGlassDL, gGiFairyContainerContentsDL } },
+ // bullet bag 40, OBJECT_GI_DEKUPOUCH
+ { GetItem_DrawBulletBag,
+ { gGiBulletBagDL, gGiBulletBagColorDL, gGiBulletBagStringDL, gGiBulletBagStringColorDL, gGiBulletBagWritingDL } },
+ // green rupee, OBJECT_GI_RUPY
+ { GetItem_DrawSmallRupee, { gGiRupeeInnerDL, gGiGreenRupeeInnerColorDL, gGiRupeeOuterDL, gGiGreenRupeeOuterColorDL } },
+ // blue rupee, OBJECT_GI_RUPY
+ { GetItem_DrawSmallRupee, { gGiRupeeInnerDL, gGiBlueRupeeInnerColorDL, gGiRupeeOuterDL, gGiBlueRupeeOuterColorDL } },
+ // red rupee, OBJECT_GI_RUPY
+ { GetItem_DrawSmallRupee, { gGiRupeeInnerDL, gGiRedRupeeInnerColorDL, gGiRupeeOuterDL, gGiRedRupeeOuterColorDL } },
+ // big poe, OBJECT_GI_GHOST
+ { GetItem_DrawPoes,
+ { gGiGhostContainerLidDL, gGiGhostContainerGlassDL, gGiGhostContainerContentsDL, gGiBigPoeColorDL } },
+ // purple rupee, OBJECT_GI_RUPY
+ { GetItem_DrawOpa10Xlu32, { gGiRupeeInnerDL, gGiPurpleRupeeInnerColorDL, gGiRupeeOuterDL, gGiPurpleRupeeOuterColorDL } },
+ // gold rupee, OBJECT_GI_RUPY
+ { GetItem_DrawOpa10Xlu32, { gGiRupeeInnerDL, gGiGoldRupeeInnerColorDL, gGiRupeeOuterDL, gGiGoldRupeeOuterColorDL } },
+ // bullet bag 50, OBJECT_GI_DEKUPOUCH
+ { GetItem_DrawBulletBag,
+ { gGiBulletBagDL, gGiBulletBag50ColorDL, gGiBulletBagStringDL, gGiBulletBag50StringColorDL,
+ gGiBulletBagWritingDL } },
+ // kokiri sword, OBJECT_GI_SWORD_1
+ { GetItem_DrawOpa0, { gGiKokiriSwordDL } },
+ // gold skulltula token, OBJECT_ST
+ { GetItem_DrawSkullToken, { 0x06004DB0, 0x06004EB8 } }, // TODO symbols from this object
};
+
/**
* Draw "Get Item" Model
* Calls the corresponding draw function for the given draw ID
*/
-void func_800694A0(GlobalContext* globalCtx, s16 drawId) {
+void GetItem_Draw(GlobalContext* globalCtx, s16 drawId) {
sDrawItemTable[drawId].drawFunc(globalCtx, drawId);
}
// All remaining functions in this file are draw functions referenced in the table and called by the function above
-void func_800694E4(GlobalContext* globalCtx, s16 drawId) {
+void GetItem_DrawMaskOrBombchu(GlobalContext* globalCtx, s16 drawId) {
s32 pad;
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 556);
@@ -178,7 +386,7 @@ void func_800694E4(GlobalContext* globalCtx, s16 drawId) {
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 565);
}
-void func_800695C0(GlobalContext* globalCtx, s16 drawId) {
+void GetItem_DrawSoldOut(GlobalContext* globalCtx, s16 drawId) {
s32 pad;
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 572);
@@ -191,7 +399,7 @@ void func_800695C0(GlobalContext* globalCtx, s16 drawId) {
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 581);
}
-void func_8006969C(GlobalContext* globalCtx, s16 drawId) {
+void GetItem_DrawBlueFire(GlobalContext* globalCtx, s16 drawId) {
s32 pad;
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 588);
@@ -217,7 +425,7 @@ void func_8006969C(GlobalContext* globalCtx, s16 drawId) {
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 621);
}
-void func_80069880(GlobalContext* globalCtx, s16 drawId) {
+void GetItem_DrawPoes(GlobalContext* globalCtx, s16 drawId) {
s32 pad;
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 628);
@@ -246,7 +454,7 @@ void func_80069880(GlobalContext* globalCtx, s16 drawId) {
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 663);
}
-void func_80069AC8(GlobalContext* globalCtx, s16 drawId) {
+void GetItem_DrawFairy(GlobalContext* globalCtx, s16 drawId) {
s32 pad;
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 670);
@@ -274,7 +482,7 @@ void func_80069AC8(GlobalContext* globalCtx, s16 drawId) {
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 704);
}
-void func_80069CF0(GlobalContext* globalCtx, s16 drawId) {
+void GetItem_DrawMirrorShield(GlobalContext* globalCtx, s16 drawId) {
s32 pad;
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 712);
@@ -297,7 +505,7 @@ void func_80069CF0(GlobalContext* globalCtx, s16 drawId) {
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 735);
}
-void func_80069EB0(GlobalContext* globalCtx, s16 drawId) {
+void GetItem_DrawSkullToken(GlobalContext* globalCtx, s16 drawId) {
s32 pad;
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 742);
@@ -319,7 +527,7 @@ void func_80069EB0(GlobalContext* globalCtx, s16 drawId) {
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 765);
}
-void func_8006A060(GlobalContext* globalCtx, s16 drawId) {
+void GetItem_DrawEggOrMedallion(GlobalContext* globalCtx, s16 drawId) {
s32 pad;
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 772);
@@ -333,7 +541,7 @@ void func_8006A060(GlobalContext* globalCtx, s16 drawId) {
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 783);
}
-void func_8006A158(GlobalContext* globalCtx, s16 drawId) {
+void GetItem_DrawCompass(GlobalContext* globalCtx, s16 drawId) {
s32 pad;
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 811);
@@ -351,7 +559,7 @@ void func_8006A158(GlobalContext* globalCtx, s16 drawId) {
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 827);
}
-void func_8006A2A0(GlobalContext* globalCtx, s16 drawId) {
+void GetItem_DrawPotion(GlobalContext* globalCtx, s16 drawId) {
s32 pad;
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 834);
@@ -377,7 +585,7 @@ void func_8006A2A0(GlobalContext* globalCtx, s16 drawId) {
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 861);
}
-void func_8006A4B0(GlobalContext* globalCtx, s16 drawId) {
+void GetItem_DrawGoronSword(GlobalContext* globalCtx, s16 drawId) {
s32 pad;
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 868);
@@ -394,7 +602,7 @@ void func_8006A4B0(GlobalContext* globalCtx, s16 drawId) {
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 883);
}
-void func_8006A5F0(GlobalContext* globalCtx, s16 drawId) {
+void GetItem_DrawDekuNuts(GlobalContext* globalCtx, s16 drawId) {
s32 pad;
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 890);
@@ -411,7 +619,7 @@ void func_8006A5F0(GlobalContext* globalCtx, s16 drawId) {
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 906);
}
-void func_8006A73C(GlobalContext* globalCtx, s16 drawId) {
+void GetItem_DrawRecoveryHeart(GlobalContext* globalCtx, s16 drawId) {
s32 pad;
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 913);
@@ -428,7 +636,7 @@ void func_8006A73C(GlobalContext* globalCtx, s16 drawId) {
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 929);
}
-void func_8006A88C(GlobalContext* globalCtx, s16 drawId) {
+void GetItem_DrawFish(GlobalContext* globalCtx, s16 drawId) {
s32 pad;
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 936);
@@ -445,7 +653,7 @@ void func_8006A88C(GlobalContext* globalCtx, s16 drawId) {
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 952);
}
-void func_8006A9CC(GlobalContext* globalCtx, s16 drawId) {
+void GetItem_DrawOpa0(GlobalContext* globalCtx, s16 drawId) {
s32 pad;
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 959);
@@ -458,7 +666,7 @@ void func_8006A9CC(GlobalContext* globalCtx, s16 drawId) {
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 968);
}
-void func_8006AAA8(GlobalContext* globalCtx, s16 drawId) {
+void GetItem_DrawOpa0Xlu1(GlobalContext* globalCtx, s16 drawId) {
s32 pad;
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 975);
@@ -476,7 +684,7 @@ void func_8006AAA8(GlobalContext* globalCtx, s16 drawId) {
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 991);
}
-void func_8006ABEC(GlobalContext* globalCtx, s16 drawId) {
+void GetItem_DrawXlu01(GlobalContext* globalCtx, s16 drawId) {
s32 pad;
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 998);
@@ -490,7 +698,7 @@ void func_8006ABEC(GlobalContext* globalCtx, s16 drawId) {
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 1008);
}
-void func_8006ACE4(GlobalContext* globalCtx, s16 drawId) {
+void GetItem_DrawOpa10Xlu2(GlobalContext* globalCtx, s16 drawId) {
s32 pad;
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 1015);
@@ -509,7 +717,7 @@ void func_8006ACE4(GlobalContext* globalCtx, s16 drawId) {
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 1032);
}
-void func_8006AE40(GlobalContext* globalCtx, s16 drawId) {
+void GetItem_DrawMagicArrow(GlobalContext* globalCtx, s16 drawId) {
s32 pad;
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 1039);
@@ -528,7 +736,7 @@ void func_8006AE40(GlobalContext* globalCtx, s16 drawId) {
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 1056);
}
-void func_8006AF9C(GlobalContext* globalCtx, s16 drawId) {
+void GetItem_DrawMagicSpell(GlobalContext* globalCtx, s16 drawId) {
s32 pad;
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 1063);
@@ -547,7 +755,7 @@ void func_8006AF9C(GlobalContext* globalCtx, s16 drawId) {
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 1081);
}
-void func_8006B124(GlobalContext* globalCtx, s16 drawId) {
+void GetItem_DrawOpa1023(GlobalContext* globalCtx, s16 drawId) {
s32 pad;
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 1088);
@@ -563,7 +771,7 @@ void func_8006B124(GlobalContext* globalCtx, s16 drawId) {
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 1100);
}
-void func_8006B24C(GlobalContext* globalCtx, s16 drawId) {
+void GetItem_DrawOpa10Xlu32(GlobalContext* globalCtx, s16 drawId) {
s32 pad;
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 1108);
@@ -583,7 +791,7 @@ void func_8006B24C(GlobalContext* globalCtx, s16 drawId) {
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 1126);
}
-void func_8006B3C0(GlobalContext* globalCtx, s16 drawId) {
+void GetItem_DrawSmallRupee(GlobalContext* globalCtx, s16 drawId) {
s32 pad;
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 1133);
@@ -605,7 +813,7 @@ void func_8006B3C0(GlobalContext* globalCtx, s16 drawId) {
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 1154);
}
-void func_8006B54C(GlobalContext* globalCtx, s16 drawId) {
+void GetItem_DrawScale(GlobalContext* globalCtx, s16 drawId) {
s32 pad;
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 1162);
@@ -625,7 +833,7 @@ void func_8006B54C(GlobalContext* globalCtx, s16 drawId) {
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 1181);
}
-void func_8006B6E4(GlobalContext* globalCtx, s16 drawId) {
+void GetItem_DrawBulletBag(GlobalContext* globalCtx, s16 drawId) {
s32 pad;
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 1188);
@@ -646,7 +854,7 @@ void func_8006B6E4(GlobalContext* globalCtx, s16 drawId) {
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 1207);
}
-void func_8006B870(GlobalContext* globalCtx, s16 drawId) {
+void GetItem_DrawWallet(GlobalContext* globalCtx, s16 drawId) {
s32 pad;
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 1214);
diff --git a/src/code/z_en_item00.c b/src/code/z_en_item00.c
index 5a436b0636..cd41d1dd16 100644
--- a/src/code/z_en_item00.c
+++ b/src/code/z_en_item00.c
@@ -692,7 +692,7 @@ void EnItem00_Draw(Actor* thisx, GlobalContext* globalCtx) {
} else {
unkFloat = 16.0f;
Matrix_Scale(unkFloat, unkFloat, unkFloat, MTXMODE_APPLY);
- func_800694A0(globalCtx, 0x08);
+ GetItem_Draw(globalCtx, GID_HEART);
}
break;
}
@@ -712,16 +712,16 @@ void EnItem00_Draw(Actor* thisx, GlobalContext* globalCtx) {
func_8001F080(this, globalCtx);
break;
case ITEM00_SHIELD_DEKU:
- func_800694A0(globalCtx, 0x1C);
+ GetItem_Draw(globalCtx, GID_SHIELD_DEKU);
break;
case ITEM00_SHIELD_HYLIAN:
- func_800694A0(globalCtx, 0x2B);
+ GetItem_Draw(globalCtx, GID_SHIELD_HYLIAN);
break;
case ITEM00_TUNIC_ZORA:
- func_800694A0(globalCtx, 0x3C);
+ GetItem_Draw(globalCtx, GID_TUNIC_ZORA);
break;
case ITEM00_TUNIC_GORON:
- func_800694A0(globalCtx, 0x3B);
+ GetItem_Draw(globalCtx, GID_TUNIC_GORON);
break;
case ITEM00_FLEXIBLE:
break;
diff --git a/src/code/z_player_lib.c b/src/code/z_player_lib.c
index b80f50251c..3481b30a8a 100644
--- a/src/code/z_player_lib.c
+++ b/src/code/z_player_lib.c
@@ -1039,7 +1039,7 @@ void Player_DrawGetItemImpl(GlobalContext* globalCtx, Player* this, Vec3f* refPo
Matrix_RotateRPY(0, globalCtx->gameplayFrames * 1000, 0, MTXMODE_APPLY);
Matrix_Scale(0.2f, 0.2f, 0.2f, MTXMODE_APPLY);
- func_800694A0(globalCtx, drawIdPlusOne - 1);
+ GetItem_Draw(globalCtx, drawIdPlusOne - 1);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_player_lib.c", 2421);
}
diff --git a/src/overlays/actors/ovl_Demo_Effect/z_demo_effect.c b/src/overlays/actors/ovl_Demo_Effect/z_demo_effect.c
index 8b00466e99..736ce329b6 100644
--- a/src/overlays/actors/ovl_Demo_Effect/z_demo_effect.c
+++ b/src/overlays/actors/ovl_Demo_Effect/z_demo_effect.c
@@ -435,37 +435,37 @@ void DemoEffect_Init(Actor* thisx, GlobalContext* globalCtx) {
case DEMO_EFFECT_MEDAL_FIRE:
DemoEffect_InitGetItem(this);
- this->getItem.giIndex = 12;
+ this->getItem.drawId = GID_MEDALLION_FIRE;
break;
case DEMO_EFFECT_MEDAL_WATER:
DemoEffect_InitGetItem(this);
- this->getItem.giIndex = 13;
+ this->getItem.drawId = GID_MEDALLION_WATER;
break;
case DEMO_EFFECT_MEDAL_FOREST:
DemoEffect_InitGetItem(this);
- this->getItem.giIndex = 11;
+ this->getItem.drawId = GID_MEDALLION_FOREST;
break;
case DEMO_EFFECT_MEDAL_SPIRIT:
DemoEffect_InitGetItem(this);
- this->getItem.giIndex = 14;
+ this->getItem.drawId = GID_MEDALLION_SPIRIT;
break;
case DEMO_EFFECT_MEDAL_SHADOW:
DemoEffect_InitGetItem(this);
- this->getItem.giIndex = 15;
+ this->getItem.drawId = GID_MEDALLION_SHADOW;
break;
case DEMO_EFFECT_MEDAL_LIGHT:
DemoEffect_InitGetItem(this);
- this->getItem.giIndex = 16;
+ this->getItem.drawId = GID_MEDALLION_LIGHT;
break;
case DEMO_EFFECT_LIGHTARROW:
DemoEffect_InitGetItem(this);
- this->getItem.giIndex = 97;
+ this->getItem.drawId = GID_ARROW_LIGHT;
break;
case DEMO_EFFECT_TIMEWARP_TIMEBLOCK_LARGE:
@@ -635,7 +635,7 @@ void DemoEffect_UpdateGetItem(DemoEffect* this, GlobalContext* globalCtx) {
this->getItem.isPositionInit = 1;
}
- if (this->getItem.giIndex != 97) {
+ if (this->getItem.drawId != GID_ARROW_LIGHT) {
this->actor.shape.rot.x = 0xE0C0;
} else {
this->actor.shape.rot.y += 0x0400;
@@ -660,14 +660,14 @@ void DemoEffect_UpdateGetItem(DemoEffect* this, GlobalContext* globalCtx) {
} else {
func_800788CC(NA_SE_EV_MEDAL_APPEAR_S - SFX_FLAG);
}
- if (this->getItem.giIndex != 97) {
+ if (this->getItem.drawId != GID_ARROW_LIGHT) {
this->actor.shape.rot.y += 0x3E80;
}
this->getItem.rotation = 0x3E80;
break;
case 3:
this->getItem.rotation -= (s16)((this->getItem.rotation - 0x03E8) * 0.10f);
- if (this->getItem.giIndex != 97) {
+ if (this->getItem.drawId != GID_ARROW_LIGHT) {
this->actor.shape.rot.y += this->getItem.rotation;
}
if (gSaveContext.entranceIndex == 0x0053) {
@@ -2038,7 +2038,7 @@ void DemoEffect_DrawTriforceSpot(Actor* thisx, GlobalContext* globalCtx) {
/**
* Draw function for the Get Item Actors.
- * This is either Medals or Light Arrows based on the giIndex.
+ * This is either Medals or Light Arrows based on the drawId.
*/
void DemoEffect_DrawGetItem(Actor* thisx, GlobalContext* globalCtx) {
DemoEffect* this = THIS;
@@ -2049,7 +2049,7 @@ void DemoEffect_DrawGetItem(Actor* thisx, GlobalContext* globalCtx) {
}
func_8002EBCC(thisx, globalCtx, 0);
func_8002ED80(thisx, globalCtx, 0);
- func_800694A0(globalCtx, this->getItem.giIndex);
+ GetItem_Draw(globalCtx, this->getItem.drawId);
}
}
diff --git a/src/overlays/actors/ovl_Demo_Effect/z_demo_effect.h b/src/overlays/actors/ovl_Demo_Effect/z_demo_effect.h
index 962e4518e6..e884042a36 100644
--- a/src/overlays/actors/ovl_Demo_Effect/z_demo_effect.h
+++ b/src/overlays/actors/ovl_Demo_Effect/z_demo_effect.h
@@ -54,7 +54,7 @@ typedef struct {
typedef struct {
/* 0x00 */ u8 isPositionInit;
/* 0x01 */ u8 isLoaded;
- /* 0x02 */ u8 giIndex;
+ /* 0x02 */ u8 drawId;
/* 0x04 */ s16 rotation;
} DemoEffectGetItem;
diff --git a/src/overlays/actors/ovl_En_Ex_Item/z_en_ex_item.c b/src/overlays/actors/ovl_En_Ex_Item/z_en_ex_item.c
index 296b97dd11..46ffac8400 100644
--- a/src/overlays/actors/ovl_En_Ex_Item/z_en_ex_item.c
+++ b/src/overlays/actors/ovl_En_Ex_Item/z_en_ex_item.c
@@ -138,7 +138,7 @@ void EnExItem_WaitForObject(EnExItem* this, GlobalContext* globalCtx) {
onCounter = true;
case EXITEM_BOMB_BAG_BOWLING:
this->unk_17C = func_8002EBCC;
- this->drawItemId = 0x18;
+ this->giDrawId = GID_BOMB_BAG_30;
this->timer = 65;
this->prizeRotateTimer = 35;
this->scale = 0.5f;
@@ -168,7 +168,7 @@ void EnExItem_WaitForObject(EnExItem* this, GlobalContext* globalCtx) {
onCounter = true;
case EXITEM_BOMBCHUS_BOWLING:
this->unk_17C = func_8002EBCC;
- this->drawItemId = 39;
+ this->giDrawId = GID_BOMBCHU;
this->timer = 65;
this->prizeRotateTimer = 35;
this->scale = 0.5f;
@@ -181,7 +181,7 @@ void EnExItem_WaitForObject(EnExItem* this, GlobalContext* globalCtx) {
case EXITEM_BOMBS_BOWLING:
case EXITEM_BOMBS_COUNTER:
this->unk_17C = func_8002EBCC;
- this->drawItemId = 0x1F;
+ this->giDrawId = GID_BOMB;
this->timer = 65;
this->prizeRotateTimer = 35;
this->scale = 0.5f;
@@ -197,7 +197,7 @@ void EnExItem_WaitForObject(EnExItem* this, GlobalContext* globalCtx) {
case EXITEM_PURPLE_RUPEE_COUNTER:
this->unk_17C = func_8002EBCC;
this->unk_180 = func_8002ED80;
- this->drawItemId = 0x70;
+ this->giDrawId = GID_RUPEE_PURPLE;
this->timer = 65;
this->prizeRotateTimer = 35;
this->scale = 0.5f;
@@ -222,16 +222,16 @@ void EnExItem_WaitForObject(EnExItem* this, GlobalContext* globalCtx) {
this->actor.velocity.y = 10.0f;
switch (this->type) {
case EXITEM_GREEN_RUPEE_CHEST:
- this->drawItemId = 0x6C;
+ this->giDrawId = GID_RUPEE_GREEN;
break;
case EXITEM_BLUE_RUPEE_CHEST:
- this->drawItemId = 0x6D;
+ this->giDrawId = GID_RUPEE_BLUE;
break;
case EXITEM_RED_RUPEE_CHEST:
- this->drawItemId = 0x6E;
+ this->giDrawId = GID_RUPEE_RED;
break;
case EXITEM_14:
- this->drawItemId = 0x70;
+ this->giDrawId = GID_RUPEE_PURPLE;
break;
}
this->actionFunc = EnExItem_ExitChest;
@@ -244,7 +244,7 @@ void EnExItem_WaitForObject(EnExItem* this, GlobalContext* globalCtx) {
break;
case EXITEM_BULLET_BAG:
this->unk_17C = func_8002EBCC;
- this->drawItemId = 0x6B;
+ this->giDrawId = GID_BULLET_BAG;
this->scale = 0.1f;
this->timer = 80;
this->prizeRotateTimer = 35;
@@ -481,19 +481,19 @@ void EnExItem_DrawItems(EnExItem* this, GlobalContext* globalCtx) {
}
if (this) {}
func_8002ED80(&this->actor, globalCtx, 0);
- func_800694A0(globalCtx, this->drawItemId);
+ GetItem_Draw(globalCtx, this->giDrawId);
}
void EnExItem_DrawHeartPiece(EnExItem* this, GlobalContext* globalCtx) {
func_8002ED80(&this->actor, globalCtx, 0);
- func_800694A0(globalCtx, 0x13);
+ GetItem_Draw(globalCtx, GID_HEART_PIECE);
}
void EnExItem_DrawMagic(EnExItem* this, GlobalContext* globalCtx, s16 magicIndex) {
- static s16 drawItemIds[] = { 0x63, 0x64, 0x65 };
+ static s16 sgiDrawIds[] = { GID_DINS_FIRE, GID_FARORES_WIND, GID_NAYRUS_LOVE };
func_8002ED80(&this->actor, globalCtx, 0);
- func_800694A0(globalCtx, drawItemIds[magicIndex]);
+ GetItem_Draw(globalCtx, sgiDrawIds[magicIndex]);
}
void EnExItem_DrawKey(EnExItem* this, GlobalContext* globalCtx, s32 index) {
@@ -517,5 +517,5 @@ void EnExItem_DrawRupee(EnExItem* this, GlobalContext* globalCtx) {
if (this->unk_180 != NULL) {
this->unk_180(&this->actor, globalCtx, 0);
}
- func_800694A0(globalCtx, this->drawItemId);
+ GetItem_Draw(globalCtx, this->giDrawId);
}
diff --git a/src/overlays/actors/ovl_En_Ex_Item/z_en_ex_item.h b/src/overlays/actors/ovl_En_Ex_Item/z_en_ex_item.h
index f11f2d1ee4..7ac6502950 100644
--- a/src/overlays/actors/ovl_En_Ex_Item/z_en_ex_item.h
+++ b/src/overlays/actors/ovl_En_Ex_Item/z_en_ex_item.h
@@ -15,7 +15,7 @@ typedef struct EnExItem {
/* 0x0150 */ s16 getItemObjId;
/* 0x0152 */ s16 type;
/* 0x0152 */ s16 unusedParam;
- /* 0x0156 */ s16 drawItemId;
+ /* 0x0156 */ s16 giDrawId;
/* 0x0158 */ s16 stopRotate;
/* 0x015A */ s16 timer;
/* 0x015A */ s16 chestKillTimer;
diff --git a/src/overlays/actors/ovl_En_GirlA/z_en_girla.c b/src/overlays/actors/ovl_En_GirlA/z_en_girla.c
index 0e406e3c50..517c6ac3f9 100644
--- a/src/overlays/actors/ovl_En_GirlA/z_en_girla.c
+++ b/src/overlays/actors/ovl_En_GirlA/z_en_girla.c
@@ -100,7 +100,7 @@ static u16 D_80A3C668[5] = { 0x70B6, 0x70B5, 0x70B4, 0x70B7, 0x70BB };
typedef struct {
/* 0x00 */ s16 objID;
- /* 0x02 */ s16 unk_02;
+ /* 0x02 */ s16 giDrawId;
/* 0x04 */ void (*unk_04)(Actor*, GlobalContext*, s32);
/* 0x08 */ s16 unk_08;
/* 0x0A */ s16 unk_0A;
@@ -113,101 +113,106 @@ typedef struct {
} ShopItemEntry; // size = 0x20
static ShopItemEntry D_80A3C674[] = {
- { 0x00BB, 0x0011, func_8002ED80, 0x000F, 0x0005, 0x00B2, 0x007F, GI_NUTS_5_2, func_80A3ABF8, func_80A3B714,
+ { OBJECT_GI_NUTS, GID_NUTS, func_8002ED80, 0x000F, 0x0005, 0x00B2, 0x007F, GI_NUTS_5_2, func_80A3ABF8, func_80A3B714,
func_80A3BB6C },
- { 0x00D8, 0x0025, func_8002EBCC, 0x003C, 0x001E, 0x00C1, 0x009B, GI_ARROWS_MEDIUM, func_80A3AAA8, func_80A3B634,
+ { OBJECT_GI_ARROW, GID_ARROWS_MEDIUM, func_8002EBCC, 0x003C, 0x001E, 0x00C1, 0x009B, GI_ARROWS_MEDIUM, func_80A3AAA8,
+ func_80A3B634, func_80A3BB6C },
+ { OBJECT_GI_ARROW, GID_ARROWS_LARGE, func_8002EBCC, 0x005A, 0x0032, 0x00B0, 0x007D, GI_ARROWS_LARGE, func_80A3AAA8,
+ func_80A3B634, func_80A3BB6C },
+ { OBJECT_GI_BOMB_1, GID_BOMB, func_8002EBCC, 0x0019, 0x0005, 0x00A3, 0x008B, GI_BOMBS_5, func_80A3AB58,
+ func_80A3B678, func_80A3BB6C },
+ { OBJECT_GI_NUTS, GID_NUTS, func_8002ED80, 0x001E, 0x000A, 0x00A2, 0x0087, GI_NUTS_10, func_80A3ABF8, func_80A3B714,
func_80A3BB6C },
- { 0x00D8, 0x0026, func_8002EBCC, 0x005A, 0x0032, 0x00B0, 0x007D, GI_ARROWS_LARGE, func_80A3AAA8, func_80A3B634,
+ { OBJECT_GI_STICK, GID_STICK, NULL, 0x000A, 0x0001, 0x00A1, 0x0088, GI_STICKS_1, func_80A3ACAC, func_80A3B780,
func_80A3BB6C },
- { 0x00CE, 0x001F, func_8002EBCC, 0x0019, 0x0005, 0x00A3, 0x008B, GI_BOMBS_5, func_80A3AB58, func_80A3B678,
+ { OBJECT_GI_BOMB_1, GID_BOMB, func_8002EBCC, 0x0032, 0x000A, 0x00B1, 0x007C, GI_BOMBS_10, func_80A3AB58,
+ func_80A3B678, func_80A3BB6C },
+ { OBJECT_GI_FISH, GID_FISH, func_8002ED80, 0x00C8, 0x0001, 0x00B3, 0x007E, GI_FISH, func_80A3AD60, NULL,
func_80A3BB6C },
- { 0x00BB, 0x0011, func_8002ED80, 0x001E, 0x000A, 0x00A2, 0x0087, GI_NUTS_10, func_80A3ABF8, func_80A3B714,
+ { OBJECT_GI_LIQUID, GID_POTION_RED, func_8002EBCC, 0x001E, 0x0001, 0x00A5, 0x008E, GI_POTION_RED, func_80A3ADD4,
+ func_80A3BA40, func_80A3BB6C },
+ { OBJECT_GI_LIQUID, GID_POTION_GREEN, func_8002EBCC, 0x001E, 0x0001, 0x00A6, 0x008F, GI_POTION_GREEN, func_80A3AE48,
+ func_80A3BA40, func_80A3BB6C },
+ { OBJECT_GI_LIQUID, GID_POTION_BLUE, func_8002EBCC, 0x003C, 0x0001, 0x00A7, 0x0090, GI_POTION_BLUE, func_80A3AEBC,
+ func_80A3BA40, func_80A3BB6C },
+ { OBJECT_GI_LONGSWORD, GID_SWORD_BGS, func_8002EBCC, 0x03E8, 0x0001, 0x00A8, 0x0091, GI_SWORD_KNIFE, func_80A3AF30,
+ func_80A3B7BC, func_80A3BB6C },
+ { OBJECT_GI_SHIELD_2, GID_SHIELD_HYLIAN, func_8002EBCC, 0x0050, 0x0001, 0x00A9, 0x0092, GI_SHIELD_HYLIAN,
+ func_80A3AFC4, func_80A3B800, func_80A3BB6C },
+ { OBJECT_GI_SHIELD_1, GID_SHIELD_DEKU, func_8002EBCC, 0x0028, 0x0001, 0x009F, 0x0089, GI_SHIELD_DEKU, func_80A3B040,
+ func_80A3B83C, func_80A3BB6C },
+ { OBJECT_GI_CLOTHES, GID_TUNIC_GORON, NULL, 0x00C8, 0x0001, 0x00AA, 0x0093, GI_TUNIC_GORON, func_80A3B0BC,
+ func_80A3B878, func_80A3BC0C },
+ { OBJECT_GI_CLOTHES, GID_TUNIC_ZORA, NULL, 0x012C, 0x0001, 0x00AB, 0x0094, GI_TUNIC_ZORA, func_80A3B160,
+ func_80A3B8B4, func_80A3BC3C },
+ { OBJECT_GI_HEART, GID_HEART, NULL, 0x000A, 0x0010, 0x00AC, 0x0095, GI_HEART, func_80A3B204, func_80A3B8F0,
func_80A3BB6C },
- { 0x00C7, 0x001A, NULL, 0x000A, 0x0001, 0x00A1, 0x0088, GI_STICKS_1, func_80A3ACAC, func_80A3B780, func_80A3BB6C },
- { 0x00CE, 0x001F, func_8002EBCC, 0x0032, 0x000A, 0x00B1, 0x007C, GI_BOMBS_10, func_80A3AB58, func_80A3B678,
+ { OBJECT_GI_MILK, GID_MILK, func_80A3C498, 0x0064, 0x0001, 0x00AD, 0x0097, GI_MILK_BOTTLE, func_80A3B250,
+ func_80A3B92C, func_80A3BB6C },
+ { OBJECT_GI_EGG, GID_EGG, func_8002EBCC, 0x0064, 0x0001, 0x00AE, 0x0099, GI_WEIRD_EGG, func_80A3B2AC, func_80A3B968,
func_80A3BB6C },
- { 0x00F4, 0x003E, func_8002ED80, 0x00C8, 0x0001, 0x00B3, 0x007E, GI_FISH, func_80A3AD60, NULL, func_80A3BB6C },
- { 0x00EB, 0x0037, func_8002EBCC, 0x001E, 0x0001, 0x00A5, 0x008E, GI_POTION_RED, func_80A3ADD4, func_80A3BA40,
+ { OBJECT_GI_MILK, GID_MILK, func_80A3C498, 0x2710, 0x0001, 0x00B4, 0x0085, GI_NONE, func_80A3B308, func_80A3B9A4,
func_80A3BB6C },
- { 0x00EB, 0x0036, func_8002EBCC, 0x001E, 0x0001, 0x00A6, 0x008F, GI_POTION_GREEN, func_80A3AE48, func_80A3BA40,
+ { OBJECT_GI_EGG, GID_EGG, func_8002EBCC, 0x2710, 0x0001, 0x00B5, 0x0085, GI_NONE, func_80A3B318, func_80A3B9D4,
func_80A3BB6C },
- { 0x00EB, 0x0038, func_8002EBCC, 0x003C, 0x0001, 0x00A7, 0x0090, GI_POTION_BLUE, func_80A3AEBC, func_80A3BA40,
- func_80A3BB6C },
- { 0x00F8, 0x0042, func_8002EBCC, 0x03E8, 0x0001, 0x00A8, 0x0091, GI_SWORD_KNIFE, func_80A3AF30, func_80A3B7BC,
- func_80A3BB6C },
- { 0x00DC, 0x002B, func_8002EBCC, 0x0050, 0x0001, 0x00A9, 0x0092, GI_SHIELD_HYLIAN, func_80A3AFC4, func_80A3B800,
- func_80A3BB6C },
- { 0x00CB, 0x001C, func_8002EBCC, 0x0028, 0x0001, 0x009F, 0x0089, GI_SHIELD_DEKU, func_80A3B040, func_80A3B83C,
- func_80A3BB6C },
- { 0x00F2, 0x003B, NULL, 0x00C8, 0x0001, 0x00AA, 0x0093, GI_TUNIC_GORON, func_80A3B0BC, func_80A3B878,
- func_80A3BC0C },
- { 0x00F2, 0x003C, NULL, 0x012C, 0x0001, 0x00AB, 0x0094, GI_TUNIC_ZORA, func_80A3B160, func_80A3B8B4,
- func_80A3BC3C },
- { 0x00B7, 0x0008, NULL, 0x000A, 0x0010, 0x00AC, 0x0095, GI_HEART, func_80A3B204, func_80A3B8F0, func_80A3BB6C },
- { 0x00DF, 0x002F, func_80A3C498, 0x0064, 0x0001, 0x00AD, 0x0097, GI_MILK_BOTTLE, func_80A3B250, func_80A3B92C,
- func_80A3BB6C },
- { 0x00DA, 0x0028, func_8002EBCC, 0x0064, 0x0001, 0x00AE, 0x0099, GI_WEIRD_EGG, func_80A3B2AC, func_80A3B968,
- func_80A3BB6C },
- { 0x00DF, 0x002F, func_80A3C498, 0x2710, 0x0001, 0x00B4, 0x0085, GI_NONE, func_80A3B308, func_80A3B9A4,
- func_80A3BB6C },
- { 0x00DA, 0x0028, func_8002EBCC, 0x2710, 0x0001, 0x00B5, 0x0085, GI_NONE, func_80A3B318, func_80A3B9D4,
- func_80A3BB6C },
- { 0x00D9, 0x0027, func_8002EBCC, 0x0064, 0x000A, 0x00BC, 0x008C, GI_BOMBCHUS_10, func_80A3B328, NULL,
+ { OBJECT_GI_BOMB_2, GID_BOMBCHU, func_8002EBCC, 0x0064, 0x000A, 0x00BC, 0x008C, GI_BOMBCHUS_10, func_80A3B328, NULL,
func_80A3BC6C },
- { 0x00D9, 0x0027, func_8002EBCC, 0x00B4, 0x0014, 0x0061, 0x002A, GI_BOMBCHUS_20, func_80A3B328, NULL,
+ { OBJECT_GI_BOMB_2, GID_BOMBCHU, func_8002EBCC, 0x00B4, 0x0014, 0x0061, 0x002A, GI_BOMBCHUS_20, func_80A3B328, NULL,
func_80A3BC6C },
- { 0x00D9, 0x0027, func_8002EBCC, 0x00B4, 0x0014, 0x0061, 0x002A, GI_BOMBCHUS_20, func_80A3B328, NULL,
+ { OBJECT_GI_BOMB_2, GID_BOMBCHU, func_8002EBCC, 0x00B4, 0x0014, 0x0061, 0x002A, GI_BOMBCHUS_20, func_80A3B328, NULL,
func_80A3BC6C },
- { 0x00D9, 0x0027, func_8002EBCC, 0x0064, 0x000A, 0x00BC, 0x008C, GI_BOMBCHUS_10, func_80A3B328, NULL,
+ { OBJECT_GI_BOMB_2, GID_BOMBCHU, func_8002EBCC, 0x0064, 0x000A, 0x00BC, 0x008C, GI_BOMBCHUS_10, func_80A3B328, NULL,
func_80A3BC6C },
- { 0x00D9, 0x0027, func_8002EBCC, 0x0064, 0x000A, 0x00BC, 0x008C, GI_BOMBCHUS_10, func_80A3B328, NULL,
+ { OBJECT_GI_BOMB_2, GID_BOMBCHU, func_8002EBCC, 0x0064, 0x000A, 0x00BC, 0x008C, GI_BOMBCHUS_10, func_80A3B328, NULL,
func_80A3BC6C },
- { 0x00D9, 0x0027, func_8002EBCC, 0x00B4, 0x0014, 0x0061, 0x002A, GI_BOMBCHUS_20, func_80A3B328, NULL,
+ { OBJECT_GI_BOMB_2, GID_BOMBCHU, func_8002EBCC, 0x00B4, 0x0014, 0x0061, 0x002A, GI_BOMBCHUS_20, func_80A3B328, NULL,
func_80A3BC6C },
- { 0x00D9, 0x0027, func_8002EBCC, 0x00B4, 0x0014, 0x0061, 0x002A, GI_BOMBCHUS_20, func_80A3B328, NULL,
+ { OBJECT_GI_BOMB_2, GID_BOMBCHU, func_8002EBCC, 0x00B4, 0x0014, 0x0061, 0x002A, GI_BOMBCHUS_20, func_80A3B328, NULL,
func_80A3BC6C },
- { 0x00D9, 0x0027, func_8002EBCC, 0x0064, 0x000A, 0x00BC, 0x008C, GI_BOMBCHUS_10, func_80A3B328, NULL,
+ { OBJECT_GI_BOMB_2, GID_BOMBCHU, func_8002EBCC, 0x0064, 0x000A, 0x00BC, 0x008C, GI_BOMBCHUS_10, func_80A3B328, NULL,
func_80A3BC6C },
- { 0x0119, 0x0047, func_8002EBCC, 0x001E, 0x001E, 0x00DF, 0x00DE, GI_SEEDS_30, func_80A3B3A8, func_80A3BA04,
+ { OBJECT_GI_SEED, GID_SEEDS, func_8002EBCC, 0x001E, 0x001E, 0x00DF, 0x00DE, GI_SEEDS_30, func_80A3B3A8,
+ func_80A3BA04, func_80A3BB6C },
+ { OBJECT_GI_KI_TAN_MASK, GID_MASK_KEATON, func_8002EBCC, 0x0000, 0x0001, 0x70B2, 0x70BE, GI_MASK_KEATON,
+ func_80A3B3A8, func_80A3BA04, func_80A3BB6C },
+ { OBJECT_GI_REDEAD_MASK, GID_MASK_SPOOKY, func_8002EBCC, 0x0000, 0x0001, 0x70B1, 0x70BD, GI_MASK_SPOOKY,
+ func_80A3B3A8, func_80A3BA04, func_80A3BB6C },
+ { OBJECT_GI_SKJ_MASK, GID_MASK_SKULL, func_8002EBCC, 0x0000, 0x0001, 0x70B0, 0x70BC, GI_MASK_SKULL, func_80A3B3A8,
+ func_80A3BA04, func_80A3BB6C },
+ { OBJECT_GI_RABIT_MASK, GID_MASK_BUNNY, func_8002EBCC, 0x0000, 0x0001, 0x70B3, 0x70BF, GI_MASK_BUNNY, func_80A3B3A8,
+ func_80A3BA04, func_80A3BB6C },
+ { OBJECT_GI_TRUTH_MASK, GID_MASK_TRUTH, func_80A3C498, 0x0000, 0x0001, 0x70AF, 0x70C3, GI_MASK_TRUTH, func_80A3B3A8,
+ func_80A3BA04, func_80A3BB6C },
+ { OBJECT_GI_ZORAMASK, GID_MASK_ZORA, NULL, 0x0000, 0x0001, 0x70B9, 0x70C1, GI_MASK_ZORA, func_80A3B3A8,
+ func_80A3BA04, func_80A3BB6C },
+ { OBJECT_GI_GOLONMASK, GID_MASK_GORON, NULL, 0x0000, 0x0001, 0x70B8, 0x70C0, GI_MASK_GORON, func_80A3B3A8,
+ func_80A3BA04, func_80A3BB6C },
+ { OBJECT_GI_GERUDOMASK, GID_MASK_GERUDO, NULL, 0x0000, 0x0001, 0x70BA, 0x70C2, GI_MASK_GERUDO, func_80A3B3A8,
+ func_80A3BA04, func_80A3BB6C },
+ { OBJECT_GI_SOLDOUT, GID_SOLDOUT, func_8002EBCC, 0x0000, 0x0000, 0x00BD, 0x70C2, GI_MASK_GERUDO, func_80A3B454, NULL,
+ NULL },
+ { OBJECT_GI_FIRE, GID_BLUE_FIRE, func_8002EBCC, 0x012C, 0x0001, 0x00B9, 0x00B8, GI_BLUE_FIRE, func_80A3B464,
+ func_80A3BA40, func_80A3BB6C },
+ { OBJECT_GI_INSECT, GID_BUG, func_80A3C498, 0x0032, 0x0001, 0x00BB, 0x00BA, GI_BUGS, func_80A3B4D8, func_80A3BA40,
func_80A3BB6C },
- { 0x0134, 0x0030, func_8002EBCC, 0x0000, 0x0001, 0x70B2, 0x70BE, GI_MASK_KEATON, func_80A3B3A8, func_80A3BA04,
+ { OBJECT_GI_GHOST, GID_BIG_POE, func_80A3C498, 0x0032, 0x0001, 0x506F, 0x5070, GI_BIG_POE, func_80A3B54C,
+ func_80A3BA40, func_80A3BB6C },
+ { OBJECT_GI_GHOST, GID_POE, func_80A3C498, 0x001E, 0x0001, 0x506D, 0x506E, GI_POE, func_80A3B54C, func_80A3BA40,
func_80A3BB6C },
- { 0x0135, 0x0031, func_8002EBCC, 0x0000, 0x0001, 0x70B1, 0x70BD, GI_MASK_SPOOKY, func_80A3B3A8, func_80A3BA04,
- func_80A3BB6C },
- { 0x0136, 0x004E, func_8002EBCC, 0x0000, 0x0001, 0x70B0, 0x70BC, GI_MASK_SKULL, func_80A3B3A8, func_80A3BA04,
- func_80A3BB6C },
- { 0x0137, 0x004F, func_8002EBCC, 0x0000, 0x0001, 0x70B3, 0x70BF, GI_MASK_BUNNY, func_80A3B3A8, func_80A3BA04,
- func_80A3BB6C },
- { 0x0138, 0x0050, func_80A3C498, 0x0000, 0x0001, 0x70AF, 0x70C3, GI_MASK_TRUTH, func_80A3B3A8, func_80A3BA04,
- func_80A3BB6C },
- { 0x0151, 0x005B, NULL, 0x0000, 0x0001, 0x70B9, 0x70C1, GI_MASK_ZORA, func_80A3B3A8, func_80A3BA04, func_80A3BB6C },
- { 0x0150, 0x005A, NULL, 0x0000, 0x0001, 0x70B8, 0x70C0, GI_MASK_GORON, func_80A3B3A8, func_80A3BA04,
- func_80A3BB6C },
- { 0x0152, 0x005C, NULL, 0x0000, 0x0001, 0x70BA, 0x70C2, GI_MASK_GERUDO, func_80A3B3A8, func_80A3BA04,
- func_80A3BB6C },
- { 0x0148, 0x0058, func_8002EBCC, 0x0000, 0x0000, 0x00BD, 0x70C2, GI_MASK_GERUDO, func_80A3B454, NULL, NULL },
- { 0x0173, 0x0066, func_8002EBCC, 0x012C, 0x0001, 0x00B9, 0x00B8, GI_BLUE_FIRE, func_80A3B464, func_80A3BA40,
- func_80A3BB6C },
- { 0x0174, 0x0067, func_80A3C498, 0x0032, 0x0001, 0x00BB, 0x00BA, GI_BUGS, func_80A3B4D8, func_80A3BA40,
- func_80A3BB6C },
- { 0x0176, 0x006F, func_80A3C498, 0x0032, 0x0001, 0x506F, 0x5070, GI_BIG_POE, func_80A3B54C, func_80A3BA40,
- func_80A3BB6C },
- { 0x0176, 0x0069, func_80A3C498, 0x001E, 0x0001, 0x506D, 0x506E, GI_POE, func_80A3B54C, func_80A3BA40,
- func_80A3BB6C },
- { 0x0177, 0x006A, func_80A3C498, 0x0032, 0x0001, 0x00B7, 0x00B6, GI_FAIRY, func_80A3B5C0, func_80A3BA40,
- func_80A3BB6C },
- { 0x00D8, 0x0024, func_8002EBCC, 0x0014, 0x000A, 0x00A0, 0x008A, GI_ARROWS_SMALL, func_80A3AAA8, func_80A3B634,
- func_80A3BB6C },
- { 0x00CE, 0x001F, func_8002EBCC, 0x0050, 0x0014, 0x001C, 0x0006, GI_BOMBS_20, func_80A3AB58, func_80A3B678,
- func_80A3BB6C },
- { 0x00CE, 0x001F, func_8002EBCC, 0x0078, 0x001E, 0x001D, 0x001E, GI_BOMBS_30, func_80A3AB58, func_80A3B678,
- func_80A3BB6C },
- { 0x00CE, 0x001F, func_8002EBCC, 0x0023, 0x0005, 0x00CB, 0x00CA, GI_BOMBS_5, func_80A3AB58, func_80A3B678,
- func_80A3BB6C },
- { 0x00EB, 0x0037, func_8002EBCC, 0x0028, 0x0001, 0x0064, 0x0062, GI_POTION_RED, func_80A3ADD4, func_80A3BA40,
- func_80A3BB6C },
- { 0x00EB, 0x0037, func_8002EBCC, 0x0032, 0x0001, 0x0065, 0x0063, GI_POTION_RED, func_80A3ADD4, func_80A3BA40,
+ { OBJECT_GI_SOUL, GID_FAIRY, func_80A3C498, 0x0032, 0x0001, 0x00B7, 0x00B6, GI_FAIRY, func_80A3B5C0, func_80A3BA40,
func_80A3BB6C },
+ { OBJECT_GI_ARROW, GID_ARROWS_SMALL, func_8002EBCC, 0x0014, 0x000A, 0x00A0, 0x008A, GI_ARROWS_SMALL, func_80A3AAA8,
+ func_80A3B634, func_80A3BB6C },
+ { OBJECT_GI_BOMB_1, GID_BOMB, func_8002EBCC, 0x0050, 0x0014, 0x001C, 0x0006, GI_BOMBS_20, func_80A3AB58,
+ func_80A3B678, func_80A3BB6C },
+ { OBJECT_GI_BOMB_1, GID_BOMB, func_8002EBCC, 0x0078, 0x001E, 0x001D, 0x001E, GI_BOMBS_30, func_80A3AB58,
+ func_80A3B678, func_80A3BB6C },
+ { OBJECT_GI_BOMB_1, GID_BOMB, func_8002EBCC, 0x0023, 0x0005, 0x00CB, 0x00CA, GI_BOMBS_5, func_80A3AB58,
+ func_80A3B678, func_80A3BB6C },
+ { OBJECT_GI_LIQUID, GID_POTION_RED, func_8002EBCC, 0x0028, 0x0001, 0x0064, 0x0062, GI_POTION_RED, func_80A3ADD4,
+ func_80A3BA40, func_80A3BB6C },
+ { OBJECT_GI_LIQUID, GID_POTION_RED, func_8002EBCC, 0x0032, 0x0001, 0x0065, 0x0063, GI_POTION_RED, func_80A3ADD4,
+ func_80A3BA40, func_80A3BB6C },
};
static s16 D_80A3CCB4[8] = { 0x0005, 0x000A, 0x000F, 0x0014, 0x0019, 0x001E, 0x0023, 0x0028 };
@@ -959,7 +964,7 @@ void func_80A3BFE4(EnGirlA* this, GlobalContext* globalCtx) {
this->unk_1C8 = tmp->unk_08;
this->unk_1CA = tmp->unk_0A;
this->unk_1D0 = tmp->unk_04;
- this->unk_1CC = tmp->unk_02;
+ this->giDrawId = tmp->giDrawId;
osSyncPrintf("%s(%2d)\n", D_80A3C590[params], params);
this->actor.flags &= ~1;
Actor_SetScale(&this->actor, 0.25f);
@@ -1011,5 +1016,5 @@ void func_80A3C4D4(Actor* thisx, GlobalContext* globalCtx) {
if (this->unk_1D0 != NULL) {
this->unk_1D0(thisx, globalCtx, 0);
}
- func_800694A0(globalCtx, this->unk_1CC);
+ GetItem_Draw(globalCtx, this->giDrawId);
}
diff --git a/src/overlays/actors/ovl_En_GirlA/z_en_girla.h b/src/overlays/actors/ovl_En_GirlA/z_en_girla.h
index 202940f12f..97c94a62bc 100644
--- a/src/overlays/actors/ovl_En_GirlA/z_en_girla.h
+++ b/src/overlays/actors/ovl_En_GirlA/z_en_girla.h
@@ -35,7 +35,7 @@ typedef struct EnGirlA {
/* 0x01C4 */ void* unk_1C4;
/* 0x01C8 */ s16 unk_1C8;
/* 0x01CA */ s16 unk_1CA;
- /* 0x01CC */ s16 unk_1CC;
+ /* 0x01CC */ s16 giDrawId;
/* 0x01CE */ s16 unk_1CE;
/* 0x01D0 */ EnGirlA3Func unk_1D0;
} EnGirlA; // size = 0x01D4
diff --git a/src/overlays/actors/ovl_En_Si/z_en_si.c b/src/overlays/actors/ovl_En_Si/z_en_si.c
index 60b91ce022..2be102d975 100644
--- a/src/overlays/actors/ovl_En_Si/z_en_si.c
+++ b/src/overlays/actors/ovl_En_Si/z_en_si.c
@@ -155,6 +155,6 @@ void EnSi_Draw(Actor* thisx, GlobalContext* globalCtx) {
if (this->actionFunc != func_80AFB950) {
func_8002ED80(&this->actor, globalCtx, 0);
func_8002EBCC(&this->actor, globalCtx, 0);
- func_800694A0(globalCtx, 0x74);
+ GetItem_Draw(globalCtx, GID_SKULL_TOKEN_2);
}
}
diff --git a/src/overlays/actors/ovl_Item_Etcetera/z_item_etcetera.c b/src/overlays/actors/ovl_Item_Etcetera/z_item_etcetera.c
index 59faccdef6..a1ecc5ce53 100644
--- a/src/overlays/actors/ovl_Item_Etcetera/z_item_etcetera.c
+++ b/src/overlays/actors/ovl_Item_Etcetera/z_item_etcetera.c
@@ -44,7 +44,8 @@ static s16 sObjectIds[] = {
// Indexes passed to the item table in z_draw.c
static s16 sDrawItemIndexes[] = {
- 0x0000, 0x0044, 0x002B, 0x0015, 0x0029, 0x002A, 0x0001, 0x005F, 0x006C, 0x006D, 0x006E, 0x0070, 0x0013, 0x0001,
+ 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,
};
static s16 sGetItemIds[] = {
@@ -71,7 +72,7 @@ void ItemEtcetera_Init(Actor* thisx, GlobalContext* globalCtx) {
} else {
this->objBankIndex = objBankIndex;
}
- this->drawId = sDrawItemIndexes[type];
+ this->giDrawId = sDrawItemIndexes[type];
this->getItemId = sGetItemIds[type];
this->futureActionFunc = func_80B85824;
this->drawFunc = ItemEtcetera_Draw;
@@ -204,7 +205,7 @@ void ItemEtcetera_DrawThroughLens(Actor* thisx, GlobalContext* globalCtx) {
if (globalCtx->actorCtx.unk_03 != 0) {
func_8002EBCC(&this->actor, globalCtx, 0);
func_8002ED80(&this->actor, globalCtx, 0);
- func_800694A0(globalCtx, this->drawId);
+ GetItem_Draw(globalCtx, this->giDrawId);
}
}
@@ -213,5 +214,5 @@ void ItemEtcetera_Draw(Actor* thisx, GlobalContext* globalCtx) {
func_8002EBCC(&this->actor, globalCtx, 0);
func_8002ED80(&this->actor, globalCtx, 0);
- func_800694A0(globalCtx, this->drawId);
+ GetItem_Draw(globalCtx, this->giDrawId);
}
diff --git a/src/overlays/actors/ovl_Item_Etcetera/z_item_etcetera.h b/src/overlays/actors/ovl_Item_Etcetera/z_item_etcetera.h
index 54e7b4a716..7c6551dcd6 100644
--- a/src/overlays/actors/ovl_Item_Etcetera/z_item_etcetera.h
+++ b/src/overlays/actors/ovl_Item_Etcetera/z_item_etcetera.h
@@ -11,7 +11,7 @@ typedef void (*ItemEtceteraActionFunc)(struct ItemEtcetera*, GlobalContext*);
typedef struct ItemEtcetera {
/* 0x0000 */ Actor actor;
/* 0x014C */ ItemEtceteraActionFunc futureActionFunc;
- /* 0x0150 */ s16 drawId;
+ /* 0x0150 */ s16 giDrawId;
/* 0x0152 */ s16 getItemId;
/* 0x0154 */ u8 objBankIndex;
/* 0x0158 */ ActorFunc drawFunc;
diff --git a/src/overlays/actors/ovl_Item_Inbox/z_item_inbox.c b/src/overlays/actors/ovl_Item_Inbox/z_item_inbox.c
index 47fdd74df2..683b24477d 100644
--- a/src/overlays/actors/ovl_Item_Inbox/z_item_inbox.c
+++ b/src/overlays/actors/ovl_Item_Inbox/z_item_inbox.c
@@ -56,5 +56,5 @@ void ItemInbox_Draw(Actor* thisx, GlobalContext* globalCtx) {
func_8002EBCC(&this->actor, globalCtx, 0);
func_8002ED80(&this->actor, globalCtx, 0);
- func_800694A0(globalCtx, this->actor.params & 0xFF);
+ GetItem_Draw(globalCtx, this->actor.params & 0xFF);
}
diff --git a/src/overlays/actors/ovl_Item_Ocarina/z_item_ocarina.c b/src/overlays/actors/ovl_Item_Ocarina/z_item_ocarina.c
index 19780cff9d..b4834c4fb0 100644
--- a/src/overlays/actors/ovl_Item_Ocarina/z_item_ocarina.c
+++ b/src/overlays/actors/ovl_Item_Ocarina/z_item_ocarina.c
@@ -202,5 +202,5 @@ void ItemOcarina_Draw(Actor* thisx, GlobalContext* globalCtx) {
func_8002EBCC(thisx, globalCtx, 0);
func_8002ED80(thisx, globalCtx, 0);
- func_800694A0(globalCtx, 0x2E);
+ GetItem_Draw(globalCtx, GID_OCARINA_TIME);
}
diff --git a/src/overlays/actors/ovl_player_actor/z_player.c b/src/overlays/actors/ovl_player_actor/z_player.c
index 0a51a7bd57..30ac002393 100644
--- a/src/overlays/actors/ovl_player_actor/z_player.c
+++ b/src/overlays/actors/ovl_player_actor/z_player.c
@@ -488,129 +488,129 @@ u16 D_8085361C[] = {
};
GetItemEntry sGetItemTable[] = {
- GET_ITEM(ITEM_BOMBS_5, OBJECT_GI_BOMB_1, 0x1F, 0x32, 0x59, CHEST_ANIM_SHORT),
- GET_ITEM(ITEM_NUTS_5, OBJECT_GI_NUTS, 0x11, 0x34, 0x0C, CHEST_ANIM_SHORT),
- GET_ITEM(ITEM_BOMBCHU, OBJECT_GI_BOMB_2, 0x27, 0x33, 0x80, CHEST_ANIM_SHORT),
- GET_ITEM(ITEM_BOW, OBJECT_GI_BOW, 0x34, 0x31, 0x80, CHEST_ANIM_LONG),
- GET_ITEM(ITEM_SLINGSHOT, OBJECT_GI_PACHINKO, 0x32, 0x30, 0x80, CHEST_ANIM_LONG),
- GET_ITEM(ITEM_BOOMERANG, OBJECT_GI_BOOMERANG, 0x33, 0x35, 0x80, CHEST_ANIM_LONG),
- GET_ITEM(ITEM_STICK, OBJECT_GI_STICK, 0x1A, 0x37, 0x0D, CHEST_ANIM_SHORT),
- GET_ITEM(ITEM_HOOKSHOT, OBJECT_GI_HOOKSHOT, 0x2C, 0x36, 0x80, CHEST_ANIM_LONG),
- GET_ITEM(ITEM_LONGSHOT, OBJECT_GI_HOOKSHOT, 0x2D, 0x4F, 0x80, CHEST_ANIM_LONG),
- GET_ITEM(ITEM_LENS, OBJECT_GI_GLASSES, 0x35, 0x39, 0x80, CHEST_ANIM_LONG),
- GET_ITEM(ITEM_LETTER_ZELDA, OBJECT_GI_LETTER, 0x3A, 0x69, 0x80, CHEST_ANIM_LONG),
- GET_ITEM(ITEM_OCARINA_TIME, OBJECT_GI_OCARINA, 0x2E, 0x3A, 0x80, CHEST_ANIM_LONG),
- GET_ITEM(ITEM_HAMMER, OBJECT_GI_HAMMER, 0x40, 0x38, 0x80, CHEST_ANIM_LONG),
- GET_ITEM(ITEM_COJIRO, OBJECT_GI_NIWATORI, 0x5D, 0x02, 0x80, CHEST_ANIM_LONG),
- GET_ITEM(ITEM_BOTTLE, OBJECT_GI_BOTTLE, 0x00, 0x42, 0x80, CHEST_ANIM_LONG),
- GET_ITEM(ITEM_POTION_RED, OBJECT_GI_LIQUID, 0x37, 0x43, 0x80, CHEST_ANIM_LONG),
- GET_ITEM(ITEM_POTION_GREEN, OBJECT_GI_LIQUID, 0x36, 0x44, 0x80, CHEST_ANIM_LONG),
- GET_ITEM(ITEM_POTION_BLUE, OBJECT_GI_LIQUID, 0x38, 0x45, 0x80, CHEST_ANIM_LONG),
- GET_ITEM(ITEM_FAIRY, OBJECT_GI_BOTTLE, 0x00, 0x46, 0x80, CHEST_ANIM_LONG),
- GET_ITEM(ITEM_MILK_BOTTLE, OBJECT_GI_MILK, 0x2F, 0x98, 0x80, CHEST_ANIM_LONG),
- GET_ITEM(ITEM_LETTER_RUTO, OBJECT_GI_BOTTLE_LETTER, 0x44, 0x99, 0x80, CHEST_ANIM_LONG),
- GET_ITEM(ITEM_BEAN, OBJECT_GI_BEAN, 0x3D, 0x48, 0x80, CHEST_ANIM_SHORT),
- GET_ITEM(ITEM_MASK_SKULL, OBJECT_GI_SKJ_MASK, 0x4E, 0x10, 0x80, CHEST_ANIM_LONG),
- GET_ITEM(ITEM_MASK_SPOOKY, OBJECT_GI_REDEAD_MASK, 0x31, 0x11, 0x80, CHEST_ANIM_LONG),
- GET_ITEM(ITEM_CHICKEN, OBJECT_GI_NIWATORI, 0x43, 0x48, 0x80, CHEST_ANIM_LONG),
- GET_ITEM(ITEM_MASK_KEATON, OBJECT_GI_KI_TAN_MASK, 0x30, 0x12, 0x80, CHEST_ANIM_LONG),
- GET_ITEM(ITEM_MASK_BUNNY, OBJECT_GI_RABIT_MASK, 0x4F, 0x13, 0x80, CHEST_ANIM_LONG),
- GET_ITEM(ITEM_MASK_TRUTH, OBJECT_GI_TRUTH_MASK, 0x50, 0x17, 0x80, CHEST_ANIM_LONG),
- GET_ITEM(ITEM_POCKET_EGG, OBJECT_GI_EGG, 0x28, 0x01, 0x80, CHEST_ANIM_LONG),
- GET_ITEM(ITEM_POCKET_CUCCO, OBJECT_GI_NIWATORI, 0x43, 0x48, 0x80, CHEST_ANIM_LONG),
- GET_ITEM(ITEM_ODD_MUSHROOM, OBJECT_GI_MUSHROOM, 0x53, 0x03, 0x80, CHEST_ANIM_LONG),
- GET_ITEM(ITEM_ODD_POTION, OBJECT_GI_POWDER, 0x52, 0x04, 0x80, CHEST_ANIM_LONG),
- GET_ITEM(ITEM_SAW, OBJECT_GI_SAW, 0x3F, 0x05, 0x80, CHEST_ANIM_LONG),
- GET_ITEM(ITEM_SWORD_BROKEN, OBJECT_GI_BROKENSWORD, 0x55, 0x08, 0x80, CHEST_ANIM_LONG),
- GET_ITEM(ITEM_PRESCRIPTION, OBJECT_GI_PRESCRIPTION, 0x56, 0x09, 0x80, CHEST_ANIM_LONG),
- GET_ITEM(ITEM_FROG, OBJECT_GI_FROG, 0x59, 0x0D, 0x80, CHEST_ANIM_LONG),
- GET_ITEM(ITEM_EYEDROPS, OBJECT_GI_EYE_LOTION, 0x51, 0x0E, 0x80, CHEST_ANIM_LONG),
- GET_ITEM(ITEM_CLAIM_CHECK, OBJECT_GI_TICKETSTONE, 0x54, 0x0A, 0x80, CHEST_ANIM_LONG),
- GET_ITEM(ITEM_SWORD_KOKIRI, OBJECT_GI_SWORD_1, 0x73, 0xA4, 0x80, CHEST_ANIM_LONG),
- GET_ITEM(ITEM_SWORD_BGS, OBJECT_GI_LONGSWORD, 0x42, 0x4B, 0x80, CHEST_ANIM_LONG),
- GET_ITEM(ITEM_SHIELD_DEKU, OBJECT_GI_SHIELD_1, 0x1C, 0x4C, 0xA0, CHEST_ANIM_SHORT),
- GET_ITEM(ITEM_SHIELD_HYLIAN, OBJECT_GI_SHIELD_2, 0x2B, 0x4D, 0xA0, CHEST_ANIM_SHORT),
- GET_ITEM(ITEM_SHIELD_MIRROR, OBJECT_GI_SHIELD_3, 0x39, 0x4E, 0x80, CHEST_ANIM_LONG),
- GET_ITEM(ITEM_TUNIC_GORON, OBJECT_GI_CLOTHES, 0x3B, 0x50, 0xA0, CHEST_ANIM_LONG),
- GET_ITEM(ITEM_TUNIC_ZORA, OBJECT_GI_CLOTHES, 0x3C, 0x51, 0xA0, CHEST_ANIM_LONG),
- GET_ITEM(ITEM_BOOTS_IRON, OBJECT_GI_BOOTS_2, 0x46, 0x53, 0x80, CHEST_ANIM_LONG),
- GET_ITEM(ITEM_BOOTS_HOVER, OBJECT_GI_HOVERBOOTS, 0x5E, 0x54, 0x80, CHEST_ANIM_LONG),
- GET_ITEM(ITEM_QUIVER_40, OBJECT_GI_ARROWCASE, 0x15, 0x56, 0x80, CHEST_ANIM_LONG),
- GET_ITEM(ITEM_QUIVER_50, OBJECT_GI_ARROWCASE, 0x16, 0x57, 0x80, CHEST_ANIM_LONG),
- GET_ITEM(ITEM_BOMB_BAG_20, OBJECT_GI_BOMBPOUCH, 0x17, 0x58, 0x80, CHEST_ANIM_LONG),
- GET_ITEM(ITEM_BOMB_BAG_30, OBJECT_GI_BOMBPOUCH, 0x18, 0x59, 0x80, CHEST_ANIM_LONG),
- GET_ITEM(ITEM_BOMB_BAG_40, OBJECT_GI_BOMBPOUCH, 0x19, 0x5A, 0x80, CHEST_ANIM_LONG),
- GET_ITEM(ITEM_GAUNTLETS_SILVER, OBJECT_GI_GLOVES, 0x48, 0x5B, 0x80, CHEST_ANIM_LONG),
- GET_ITEM(ITEM_GAUNTLETS_GOLD, OBJECT_GI_GLOVES, 0x49, 0x5C, 0x80, CHEST_ANIM_LONG),
- GET_ITEM(ITEM_SCALE_SILVER, OBJECT_GI_SCALE, 0x29, 0xCD, 0x80, CHEST_ANIM_LONG),
- GET_ITEM(ITEM_SCALE_GOLDEN, OBJECT_GI_SCALE, 0x2A, 0xCE, 0x80, CHEST_ANIM_LONG),
- GET_ITEM(ITEM_STONE_OF_AGONY, OBJECT_GI_MAP, 0x20, 0x68, 0x80, CHEST_ANIM_LONG),
- GET_ITEM(ITEM_GERUDO_CARD, OBJECT_GI_GERUDO, 0x23, 0x7B, 0x80, CHEST_ANIM_LONG),
- GET_ITEM(ITEM_OCARINA_FAIRY, OBJECT_GI_OCARINA_0, 0x45, 0x3A, 0x80, CHEST_ANIM_LONG),
- GET_ITEM(ITEM_SEEDS, OBJECT_GI_SEED, 0x47, 0xDC, 0x50, CHEST_ANIM_SHORT),
- GET_ITEM(ITEM_HEART_CONTAINER, OBJECT_GI_HEARTS, 0x12, 0xC6, 0x80, CHEST_ANIM_LONG),
- GET_ITEM(ITEM_HEART_PIECE_2, OBJECT_GI_HEARTS, 0x13, 0xC2, 0x80, CHEST_ANIM_LONG),
- GET_ITEM(ITEM_KEY_BOSS, OBJECT_GI_BOSSKEY, 0x09, 0xC7, 0x80, CHEST_ANIM_LONG),
- GET_ITEM(ITEM_COMPASS, OBJECT_GI_COMPASS, 0x0A, 0x67, 0x80, CHEST_ANIM_LONG),
- GET_ITEM(ITEM_DUNGEON_MAP, OBJECT_GI_MAP, 0x1B, 0x66, 0x80, CHEST_ANIM_LONG),
- GET_ITEM(ITEM_KEY_SMALL, OBJECT_GI_KEY, 0x01, 0x60, 0x80, CHEST_ANIM_SHORT),
- GET_ITEM(ITEM_MAGIC_SMALL, OBJECT_GI_MAGICPOT, 0x1D, 0x52, 0x6F, CHEST_ANIM_SHORT),
- GET_ITEM(ITEM_MAGIC_LARGE, OBJECT_GI_MAGICPOT, 0x1E, 0x52, 0x6E, CHEST_ANIM_SHORT),
- GET_ITEM(ITEM_WALLET_ADULT, OBJECT_GI_PURSE, 0x21, 0x5E, 0x80, CHEST_ANIM_LONG),
- GET_ITEM(ITEM_WALLET_GIANT, OBJECT_GI_PURSE, 0x22, 0x5F, 0x80, CHEST_ANIM_LONG),
- GET_ITEM(ITEM_WEIRD_EGG, OBJECT_GI_EGG, 0x28, 0x9A, 0x80, CHEST_ANIM_LONG),
- GET_ITEM(ITEM_HEART, OBJECT_GI_HEART, 0x08, 0x55, 0x80, CHEST_ANIM_LONG),
- GET_ITEM(ITEM_ARROWS_SMALL, OBJECT_GI_ARROW, 0x24, 0xE6, 0x48, CHEST_ANIM_SHORT),
- GET_ITEM(ITEM_ARROWS_MEDIUM, OBJECT_GI_ARROW, 0x25, 0xE6, 0x49, CHEST_ANIM_SHORT),
- GET_ITEM(ITEM_ARROWS_LARGE, OBJECT_GI_ARROW, 0x26, 0xE6, 0x4A, CHEST_ANIM_SHORT),
- GET_ITEM(ITEM_RUPEE_GREEN, OBJECT_GI_RUPY, 0x6C, 0x6F, 0x00, CHEST_ANIM_SHORT),
- GET_ITEM(ITEM_RUPEE_BLUE, OBJECT_GI_RUPY, 0x6D, 0xCC, 0x01, CHEST_ANIM_SHORT),
- GET_ITEM(ITEM_RUPEE_RED, OBJECT_GI_RUPY, 0x6E, 0xF0, 0x02, CHEST_ANIM_SHORT),
- GET_ITEM(ITEM_HEART_CONTAINER, OBJECT_GI_HEARTS, 0x12, 0xC6, 0x80, CHEST_ANIM_LONG),
- GET_ITEM(ITEM_MILK, OBJECT_GI_MILK, 0x2F, 0x98, 0x80, CHEST_ANIM_LONG),
- GET_ITEM(ITEM_MASK_GORON, OBJECT_GI_GOLONMASK, 0x5A, 0x14, 0x80, CHEST_ANIM_LONG),
- GET_ITEM(ITEM_MASK_ZORA, OBJECT_GI_ZORAMASK, 0x5B, 0x15, 0x80, CHEST_ANIM_LONG),
- GET_ITEM(ITEM_MASK_GERUDO, OBJECT_GI_GERUDOMASK, 0x5C, 0x16, 0x80, CHEST_ANIM_LONG),
- GET_ITEM(ITEM_BRACELET, OBJECT_GI_BRACELET, 0x57, 0x79, 0x80, CHEST_ANIM_LONG),
- GET_ITEM(ITEM_RUPEE_PURPLE, OBJECT_GI_RUPY, 0x70, 0xF1, 0x14, CHEST_ANIM_SHORT),
- GET_ITEM(ITEM_RUPEE_GOLD, OBJECT_GI_RUPY, 0x71, 0xF2, 0x13, CHEST_ANIM_SHORT),
- GET_ITEM(ITEM_SWORD_BGS, OBJECT_GI_LONGSWORD, 0x42, 0x0C, 0x80, CHEST_ANIM_LONG),
- GET_ITEM(ITEM_ARROW_FIRE, OBJECT_GI_M_ARROW, 0x5F, 0x70, 0x80, CHEST_ANIM_LONG),
- GET_ITEM(ITEM_ARROW_ICE, OBJECT_GI_M_ARROW, 0x60, 0x71, 0x80, CHEST_ANIM_LONG),
- GET_ITEM(ITEM_ARROW_LIGHT, OBJECT_GI_M_ARROW, 0x61, 0x72, 0x80, CHEST_ANIM_LONG),
- GET_ITEM(ITEM_SKULL_TOKEN, OBJECT_GI_SUTARU, 0x62, 0xB4, 0x80, CHEST_ANIM_SHORT),
- GET_ITEM(ITEM_DINS_FIRE, OBJECT_GI_GODDESS, 0x63, 0xAD, 0x80, CHEST_ANIM_LONG),
- GET_ITEM(ITEM_FARORES_WIND, OBJECT_GI_GODDESS, 0x64, 0xAE, 0x80, CHEST_ANIM_LONG),
- GET_ITEM(ITEM_NAYRUS_LOVE, OBJECT_GI_GODDESS, 0x65, 0xAF, 0x80, CHEST_ANIM_LONG),
- GET_ITEM(ITEM_BULLET_BAG_30, OBJECT_GI_DEKUPOUCH, 0x6B, 0x07, 0x80, CHEST_ANIM_LONG),
- GET_ITEM(ITEM_BULLET_BAG_40, OBJECT_GI_DEKUPOUCH, 0x6B, 0x07, 0x80, CHEST_ANIM_LONG),
- GET_ITEM(ITEM_STICKS_5, OBJECT_GI_STICK, 0x1A, 0x37, 0x0D, CHEST_ANIM_SHORT),
- GET_ITEM(ITEM_STICKS_10, OBJECT_GI_STICK, 0x1A, 0x37, 0x0D, CHEST_ANIM_SHORT),
- GET_ITEM(ITEM_NUTS_5, OBJECT_GI_NUTS, 0x11, 0x34, 0x0C, CHEST_ANIM_SHORT),
- GET_ITEM(ITEM_NUTS_10, OBJECT_GI_NUTS, 0x11, 0x34, 0x0C, CHEST_ANIM_SHORT),
- GET_ITEM(ITEM_BOMB, OBJECT_GI_BOMB_1, 0x1F, 0x32, 0x59, CHEST_ANIM_SHORT),
- GET_ITEM(ITEM_BOMBS_10, OBJECT_GI_BOMB_1, 0x1F, 0x32, 0x59, CHEST_ANIM_SHORT),
- GET_ITEM(ITEM_BOMBS_20, OBJECT_GI_BOMB_1, 0x1F, 0x32, 0x59, CHEST_ANIM_SHORT),
- GET_ITEM(ITEM_BOMBS_30, OBJECT_GI_BOMB_1, 0x1F, 0x32, 0x59, CHEST_ANIM_SHORT),
- GET_ITEM(ITEM_SEEDS_30, OBJECT_GI_SEED, 0x47, 0xDC, 0x50, CHEST_ANIM_SHORT),
- GET_ITEM(ITEM_BOMBCHUS_5, OBJECT_GI_BOMB_2, 0x27, 0x33, 0x80, CHEST_ANIM_SHORT),
- GET_ITEM(ITEM_BOMBCHUS_20, OBJECT_GI_BOMB_2, 0x27, 0x33, 0x80, CHEST_ANIM_SHORT),
- GET_ITEM(ITEM_FISH, OBJECT_GI_FISH, 0x3E, 0x47, 0x80, CHEST_ANIM_LONG),
- GET_ITEM(ITEM_BUG, OBJECT_GI_INSECT, 0x67, 0x7A, 0x80, CHEST_ANIM_LONG),
- GET_ITEM(ITEM_BLUE_FIRE, OBJECT_GI_FIRE, 0x66, 0x5D, 0x80, CHEST_ANIM_LONG),
- GET_ITEM(ITEM_POE, OBJECT_GI_GHOST, 0x69, 0x97, 0x80, CHEST_ANIM_LONG),
- GET_ITEM(ITEM_BIG_POE, OBJECT_GI_GHOST, 0x6F, 0xF9, 0x80, CHEST_ANIM_LONG),
- GET_ITEM(ITEM_KEY_SMALL, OBJECT_GI_KEY, 0x01, 0xF3, 0x80, CHEST_ANIM_SHORT),
- GET_ITEM(ITEM_RUPEE_GREEN, OBJECT_GI_RUPY, 0x6C, 0xF4, 0x00, CHEST_ANIM_SHORT),
- GET_ITEM(ITEM_RUPEE_BLUE, OBJECT_GI_RUPY, 0x6D, 0xF5, 0x01, CHEST_ANIM_SHORT),
- GET_ITEM(ITEM_RUPEE_RED, OBJECT_GI_RUPY, 0x6E, 0xF6, 0x02, CHEST_ANIM_SHORT),
- GET_ITEM(ITEM_RUPEE_PURPLE, OBJECT_GI_RUPY, 0x70, 0xF7, 0x14, CHEST_ANIM_SHORT),
- GET_ITEM(ITEM_HEART_PIECE_2, OBJECT_GI_HEARTS, 0x13, 0xFA, 0x80, CHEST_ANIM_LONG),
- GET_ITEM(ITEM_STICK_UPGRADE_20, OBJECT_GI_STICK, 0x1A, 0x90, 0x80, CHEST_ANIM_SHORT),
- GET_ITEM(ITEM_STICK_UPGRADE_30, OBJECT_GI_STICK, 0x1A, 0x91, 0x80, CHEST_ANIM_SHORT),
- GET_ITEM(ITEM_NUT_UPGRADE_30, OBJECT_GI_NUTS, 0x11, 0xA7, 0x80, CHEST_ANIM_SHORT),
- GET_ITEM(ITEM_NUT_UPGRADE_40, OBJECT_GI_NUTS, 0x11, 0xA8, 0x80, CHEST_ANIM_SHORT),
- GET_ITEM(ITEM_BULLET_BAG_50, OBJECT_GI_DEKUPOUCH, 0x72, 0x6C, 0x80, CHEST_ANIM_LONG),
+ GET_ITEM(ITEM_BOMBS_5, OBJECT_GI_BOMB_1, GID_BOMB, 0x32, 0x59, CHEST_ANIM_SHORT),
+ GET_ITEM(ITEM_NUTS_5, OBJECT_GI_NUTS, GID_NUTS, 0x34, 0x0C, CHEST_ANIM_SHORT),
+ GET_ITEM(ITEM_BOMBCHU, OBJECT_GI_BOMB_2, GID_BOMBCHU, 0x33, 0x80, CHEST_ANIM_SHORT),
+ GET_ITEM(ITEM_BOW, OBJECT_GI_BOW, GID_BOW, 0x31, 0x80, CHEST_ANIM_LONG),
+ GET_ITEM(ITEM_SLINGSHOT, OBJECT_GI_PACHINKO, GID_SLINGSHOT, 0x30, 0x80, CHEST_ANIM_LONG),
+ GET_ITEM(ITEM_BOOMERANG, OBJECT_GI_BOOMERANG, GID_BOOMERANG, 0x35, 0x80, CHEST_ANIM_LONG),
+ GET_ITEM(ITEM_STICK, OBJECT_GI_STICK, GID_STICK, 0x37, 0x0D, CHEST_ANIM_SHORT),
+ GET_ITEM(ITEM_HOOKSHOT, OBJECT_GI_HOOKSHOT, GID_HOOKSHOT, 0x36, 0x80, CHEST_ANIM_LONG),
+ GET_ITEM(ITEM_LONGSHOT, OBJECT_GI_HOOKSHOT, GID_LONGSHOT, 0x4F, 0x80, CHEST_ANIM_LONG),
+ GET_ITEM(ITEM_LENS, OBJECT_GI_GLASSES, GID_LENS, 0x39, 0x80, CHEST_ANIM_LONG),
+ GET_ITEM(ITEM_LETTER_ZELDA, OBJECT_GI_LETTER, GID_LETTER_ZELDA, 0x69, 0x80, CHEST_ANIM_LONG),
+ GET_ITEM(ITEM_OCARINA_TIME, OBJECT_GI_OCARINA, GID_OCARINA_TIME, 0x3A, 0x80, CHEST_ANIM_LONG),
+ GET_ITEM(ITEM_HAMMER, OBJECT_GI_HAMMER, GID_HAMMER, 0x38, 0x80, CHEST_ANIM_LONG),
+ GET_ITEM(ITEM_COJIRO, OBJECT_GI_NIWATORI, GID_COJIRO, 0x02, 0x80, CHEST_ANIM_LONG),
+ GET_ITEM(ITEM_BOTTLE, OBJECT_GI_BOTTLE, GID_BOTTLE, 0x42, 0x80, CHEST_ANIM_LONG),
+ GET_ITEM(ITEM_POTION_RED, OBJECT_GI_LIQUID, GID_POTION_RED, 0x43, 0x80, CHEST_ANIM_LONG),
+ GET_ITEM(ITEM_POTION_GREEN, OBJECT_GI_LIQUID, GID_POTION_GREEN, 0x44, 0x80, CHEST_ANIM_LONG),
+ GET_ITEM(ITEM_POTION_BLUE, OBJECT_GI_LIQUID, GID_POTION_BLUE, 0x45, 0x80, CHEST_ANIM_LONG),
+ GET_ITEM(ITEM_FAIRY, OBJECT_GI_BOTTLE, GID_BOTTLE, 0x46, 0x80, CHEST_ANIM_LONG),
+ GET_ITEM(ITEM_MILK_BOTTLE, OBJECT_GI_MILK, GID_MILK, 0x98, 0x80, CHEST_ANIM_LONG),
+ GET_ITEM(ITEM_LETTER_RUTO, OBJECT_GI_BOTTLE_LETTER, GID_LETTER_RUTO, 0x99, 0x80, CHEST_ANIM_LONG),
+ GET_ITEM(ITEM_BEAN, OBJECT_GI_BEAN, GID_BEAN, 0x48, 0x80, CHEST_ANIM_SHORT),
+ GET_ITEM(ITEM_MASK_SKULL, OBJECT_GI_SKJ_MASK, GID_MASK_SKULL, 0x10, 0x80, CHEST_ANIM_LONG),
+ GET_ITEM(ITEM_MASK_SPOOKY, OBJECT_GI_REDEAD_MASK, GID_MASK_SPOOKY, 0x11, 0x80, CHEST_ANIM_LONG),
+ GET_ITEM(ITEM_CHICKEN, OBJECT_GI_NIWATORI, GID_CHICKEN, 0x48, 0x80, CHEST_ANIM_LONG),
+ GET_ITEM(ITEM_MASK_KEATON, OBJECT_GI_KI_TAN_MASK, GID_MASK_KEATON, 0x12, 0x80, CHEST_ANIM_LONG),
+ GET_ITEM(ITEM_MASK_BUNNY, OBJECT_GI_RABIT_MASK, GID_MASK_BUNNY, 0x13, 0x80, CHEST_ANIM_LONG),
+ GET_ITEM(ITEM_MASK_TRUTH, OBJECT_GI_TRUTH_MASK, GID_MASK_TRUTH, 0x17, 0x80, CHEST_ANIM_LONG),
+ GET_ITEM(ITEM_POCKET_EGG, OBJECT_GI_EGG, GID_EGG, 0x01, 0x80, CHEST_ANIM_LONG),
+ GET_ITEM(ITEM_POCKET_CUCCO, OBJECT_GI_NIWATORI, GID_CHICKEN, 0x48, 0x80, CHEST_ANIM_LONG),
+ GET_ITEM(ITEM_ODD_MUSHROOM, OBJECT_GI_MUSHROOM, GID_ODD_MUSHROOM, 0x03, 0x80, CHEST_ANIM_LONG),
+ GET_ITEM(ITEM_ODD_POTION, OBJECT_GI_POWDER, GID_ODD_POTION, 0x04, 0x80, CHEST_ANIM_LONG),
+ GET_ITEM(ITEM_SAW, OBJECT_GI_SAW, GID_SAW, 0x05, 0x80, CHEST_ANIM_LONG),
+ GET_ITEM(ITEM_SWORD_BROKEN, OBJECT_GI_BROKENSWORD, GID_SWORD_BROKEN, 0x08, 0x80, CHEST_ANIM_LONG),
+ GET_ITEM(ITEM_PRESCRIPTION, OBJECT_GI_PRESCRIPTION, GID_PRESCRIPTION, 0x09, 0x80, CHEST_ANIM_LONG),
+ GET_ITEM(ITEM_FROG, OBJECT_GI_FROG, GID_FROG, 0x0D, 0x80, CHEST_ANIM_LONG),
+ GET_ITEM(ITEM_EYEDROPS, OBJECT_GI_EYE_LOTION, GID_EYEDROPS, 0x0E, 0x80, CHEST_ANIM_LONG),
+ GET_ITEM(ITEM_CLAIM_CHECK, OBJECT_GI_TICKETSTONE, GID_CLAIM_CHECK, 0x0A, 0x80, CHEST_ANIM_LONG),
+ GET_ITEM(ITEM_SWORD_KOKIRI, OBJECT_GI_SWORD_1, GID_SWORD_KOKIRI, 0xA4, 0x80, CHEST_ANIM_LONG),
+ GET_ITEM(ITEM_SWORD_BGS, OBJECT_GI_LONGSWORD, GID_SWORD_BGS, 0x4B, 0x80, CHEST_ANIM_LONG),
+ GET_ITEM(ITEM_SHIELD_DEKU, OBJECT_GI_SHIELD_1, GID_SHIELD_DEKU, 0x4C, 0xA0, CHEST_ANIM_SHORT),
+ GET_ITEM(ITEM_SHIELD_HYLIAN, OBJECT_GI_SHIELD_2, GID_SHIELD_HYLIAN, 0x4D, 0xA0, CHEST_ANIM_SHORT),
+ GET_ITEM(ITEM_SHIELD_MIRROR, OBJECT_GI_SHIELD_3, GID_SHIELD_MIRROR, 0x4E, 0x80, CHEST_ANIM_LONG),
+ GET_ITEM(ITEM_TUNIC_GORON, OBJECT_GI_CLOTHES, GID_TUNIC_GORON, 0x50, 0xA0, CHEST_ANIM_LONG),
+ GET_ITEM(ITEM_TUNIC_ZORA, OBJECT_GI_CLOTHES, GID_TUNIC_ZORA, 0x51, 0xA0, CHEST_ANIM_LONG),
+ GET_ITEM(ITEM_BOOTS_IRON, OBJECT_GI_BOOTS_2, GID_BOOTS_IRON, 0x53, 0x80, CHEST_ANIM_LONG),
+ GET_ITEM(ITEM_BOOTS_HOVER, OBJECT_GI_HOVERBOOTS, GID_BOOTS_HOVER, 0x54, 0x80, CHEST_ANIM_LONG),
+ GET_ITEM(ITEM_QUIVER_40, OBJECT_GI_ARROWCASE, GID_QUIVER_40, 0x56, 0x80, CHEST_ANIM_LONG),
+ GET_ITEM(ITEM_QUIVER_50, OBJECT_GI_ARROWCASE, GID_QUIVER_50, 0x57, 0x80, CHEST_ANIM_LONG),
+ GET_ITEM(ITEM_BOMB_BAG_20, OBJECT_GI_BOMBPOUCH, GID_BOMB_BAG_20, 0x58, 0x80, CHEST_ANIM_LONG),
+ GET_ITEM(ITEM_BOMB_BAG_30, OBJECT_GI_BOMBPOUCH, GID_BOMB_BAG_30, 0x59, 0x80, CHEST_ANIM_LONG),
+ GET_ITEM(ITEM_BOMB_BAG_40, OBJECT_GI_BOMBPOUCH, GID_BOMB_BAG_40, 0x5A, 0x80, CHEST_ANIM_LONG),
+ GET_ITEM(ITEM_GAUNTLETS_SILVER, OBJECT_GI_GLOVES, GID_GAUNTLETS_SILVER, 0x5B, 0x80, CHEST_ANIM_LONG),
+ GET_ITEM(ITEM_GAUNTLETS_GOLD, OBJECT_GI_GLOVES, GID_GAUNTLETS_GOLD, 0x5C, 0x80, CHEST_ANIM_LONG),
+ GET_ITEM(ITEM_SCALE_SILVER, OBJECT_GI_SCALE, GID_SCALE_SILVER, 0xCD, 0x80, CHEST_ANIM_LONG),
+ GET_ITEM(ITEM_SCALE_GOLDEN, OBJECT_GI_SCALE, GID_SCALE_GOLDEN, 0xCE, 0x80, CHEST_ANIM_LONG),
+ GET_ITEM(ITEM_STONE_OF_AGONY, OBJECT_GI_MAP, GID_STONE_OF_AGONY, 0x68, 0x80, CHEST_ANIM_LONG),
+ GET_ITEM(ITEM_GERUDO_CARD, OBJECT_GI_GERUDO, GID_GERUDO_CARD, 0x7B, 0x80, CHEST_ANIM_LONG),
+ GET_ITEM(ITEM_OCARINA_FAIRY, OBJECT_GI_OCARINA_0, GID_OCARINA_FAIRY, 0x3A, 0x80, CHEST_ANIM_LONG),
+ GET_ITEM(ITEM_SEEDS, OBJECT_GI_SEED, GID_SEEDS, 0xDC, 0x50, CHEST_ANIM_SHORT),
+ GET_ITEM(ITEM_HEART_CONTAINER, OBJECT_GI_HEARTS, GID_HEART_CONTAINER, 0xC6, 0x80, CHEST_ANIM_LONG),
+ GET_ITEM(ITEM_HEART_PIECE_2, OBJECT_GI_HEARTS, GID_HEART_PIECE, 0xC2, 0x80, CHEST_ANIM_LONG),
+ GET_ITEM(ITEM_KEY_BOSS, OBJECT_GI_BOSSKEY, GID_KEY_BOSS, 0xC7, 0x80, CHEST_ANIM_LONG),
+ GET_ITEM(ITEM_COMPASS, OBJECT_GI_COMPASS, GID_COMPASS, 0x67, 0x80, CHEST_ANIM_LONG),
+ GET_ITEM(ITEM_DUNGEON_MAP, OBJECT_GI_MAP, GID_DUNGEON_MAP, 0x66, 0x80, CHEST_ANIM_LONG),
+ GET_ITEM(ITEM_KEY_SMALL, OBJECT_GI_KEY, GID_KEY_SMALL, 0x60, 0x80, CHEST_ANIM_SHORT),
+ GET_ITEM(ITEM_MAGIC_SMALL, OBJECT_GI_MAGICPOT, GID_MAGIC_SMALL, 0x52, 0x6F, CHEST_ANIM_SHORT),
+ GET_ITEM(ITEM_MAGIC_LARGE, OBJECT_GI_MAGICPOT, GID_MAGIC_LARGE, 0x52, 0x6E, CHEST_ANIM_SHORT),
+ GET_ITEM(ITEM_WALLET_ADULT, OBJECT_GI_PURSE, GID_WALLET_ADULT, 0x5E, 0x80, CHEST_ANIM_LONG),
+ GET_ITEM(ITEM_WALLET_GIANT, OBJECT_GI_PURSE, GID_WALLET_GIANT, 0x5F, 0x80, CHEST_ANIM_LONG),
+ GET_ITEM(ITEM_WEIRD_EGG, OBJECT_GI_EGG, GID_EGG, 0x9A, 0x80, CHEST_ANIM_LONG),
+ GET_ITEM(ITEM_HEART, OBJECT_GI_HEART, GID_HEART, 0x55, 0x80, CHEST_ANIM_LONG),
+ GET_ITEM(ITEM_ARROWS_SMALL, OBJECT_GI_ARROW, GID_ARROWS_SMALL, 0xE6, 0x48, CHEST_ANIM_SHORT),
+ GET_ITEM(ITEM_ARROWS_MEDIUM, OBJECT_GI_ARROW, GID_ARROWS_MEDIUM, 0xE6, 0x49, CHEST_ANIM_SHORT),
+ GET_ITEM(ITEM_ARROWS_LARGE, OBJECT_GI_ARROW, GID_ARROWS_LARGE, 0xE6, 0x4A, CHEST_ANIM_SHORT),
+ GET_ITEM(ITEM_RUPEE_GREEN, OBJECT_GI_RUPY, GID_RUPEE_GREEN, 0x6F, 0x00, CHEST_ANIM_SHORT),
+ GET_ITEM(ITEM_RUPEE_BLUE, OBJECT_GI_RUPY, GID_RUPEE_BLUE, 0xCC, 0x01, CHEST_ANIM_SHORT),
+ GET_ITEM(ITEM_RUPEE_RED, OBJECT_GI_RUPY, GID_RUPEE_RED, 0xF0, 0x02, CHEST_ANIM_SHORT),
+ GET_ITEM(ITEM_HEART_CONTAINER, OBJECT_GI_HEARTS, GID_HEART_CONTAINER, 0xC6, 0x80, CHEST_ANIM_LONG),
+ GET_ITEM(ITEM_MILK, OBJECT_GI_MILK, GID_MILK, 0x98, 0x80, CHEST_ANIM_LONG),
+ GET_ITEM(ITEM_MASK_GORON, OBJECT_GI_GOLONMASK, GID_MASK_GORON, 0x14, 0x80, CHEST_ANIM_LONG),
+ GET_ITEM(ITEM_MASK_ZORA, OBJECT_GI_ZORAMASK, GID_MASK_ZORA, 0x15, 0x80, CHEST_ANIM_LONG),
+ GET_ITEM(ITEM_MASK_GERUDO, OBJECT_GI_GERUDOMASK, GID_MASK_GERUDO, 0x16, 0x80, CHEST_ANIM_LONG),
+ GET_ITEM(ITEM_BRACELET, OBJECT_GI_BRACELET, GID_BRACELET, 0x79, 0x80, CHEST_ANIM_LONG),
+ GET_ITEM(ITEM_RUPEE_PURPLE, OBJECT_GI_RUPY, GID_RUPEE_PURPLE, 0xF1, 0x14, CHEST_ANIM_SHORT),
+ GET_ITEM(ITEM_RUPEE_GOLD, OBJECT_GI_RUPY, GID_RUPEE_GOLD, 0xF2, 0x13, CHEST_ANIM_SHORT),
+ GET_ITEM(ITEM_SWORD_BGS, OBJECT_GI_LONGSWORD, GID_SWORD_BGS, 0x0C, 0x80, CHEST_ANIM_LONG),
+ GET_ITEM(ITEM_ARROW_FIRE, OBJECT_GI_M_ARROW, GID_ARROW_FIRE, 0x70, 0x80, CHEST_ANIM_LONG),
+ GET_ITEM(ITEM_ARROW_ICE, OBJECT_GI_M_ARROW, GID_ARROW_ICE, 0x71, 0x80, CHEST_ANIM_LONG),
+ GET_ITEM(ITEM_ARROW_LIGHT, OBJECT_GI_M_ARROW, GID_ARROW_LIGHT, 0x72, 0x80, CHEST_ANIM_LONG),
+ GET_ITEM(ITEM_SKULL_TOKEN, OBJECT_GI_SUTARU, GID_SKULL_TOKEN, 0xB4, 0x80, CHEST_ANIM_SHORT),
+ GET_ITEM(ITEM_DINS_FIRE, OBJECT_GI_GODDESS, GID_DINS_FIRE, 0xAD, 0x80, CHEST_ANIM_LONG),
+ GET_ITEM(ITEM_FARORES_WIND, OBJECT_GI_GODDESS, GID_FARORES_WIND, 0xAE, 0x80, CHEST_ANIM_LONG),
+ GET_ITEM(ITEM_NAYRUS_LOVE, OBJECT_GI_GODDESS, GID_NAYRUS_LOVE, 0xAF, 0x80, CHEST_ANIM_LONG),
+ GET_ITEM(ITEM_BULLET_BAG_30, OBJECT_GI_DEKUPOUCH, GID_BULLET_BAG, 0x07, 0x80, CHEST_ANIM_LONG),
+ GET_ITEM(ITEM_BULLET_BAG_40, OBJECT_GI_DEKUPOUCH, GID_BULLET_BAG, 0x07, 0x80, CHEST_ANIM_LONG),
+ GET_ITEM(ITEM_STICKS_5, OBJECT_GI_STICK, GID_STICK, 0x37, 0x0D, CHEST_ANIM_SHORT),
+ GET_ITEM(ITEM_STICKS_10, OBJECT_GI_STICK, GID_STICK, 0x37, 0x0D, CHEST_ANIM_SHORT),
+ GET_ITEM(ITEM_NUTS_5, OBJECT_GI_NUTS, GID_NUTS, 0x34, 0x0C, CHEST_ANIM_SHORT),
+ GET_ITEM(ITEM_NUTS_10, OBJECT_GI_NUTS, GID_NUTS, 0x34, 0x0C, CHEST_ANIM_SHORT),
+ GET_ITEM(ITEM_BOMB, OBJECT_GI_BOMB_1, GID_BOMB, 0x32, 0x59, CHEST_ANIM_SHORT),
+ GET_ITEM(ITEM_BOMBS_10, OBJECT_GI_BOMB_1, GID_BOMB, 0x32, 0x59, CHEST_ANIM_SHORT),
+ GET_ITEM(ITEM_BOMBS_20, OBJECT_GI_BOMB_1, GID_BOMB, 0x32, 0x59, CHEST_ANIM_SHORT),
+ GET_ITEM(ITEM_BOMBS_30, OBJECT_GI_BOMB_1, GID_BOMB, 0x32, 0x59, CHEST_ANIM_SHORT),
+ GET_ITEM(ITEM_SEEDS_30, OBJECT_GI_SEED, GID_SEEDS, 0xDC, 0x50, CHEST_ANIM_SHORT),
+ GET_ITEM(ITEM_BOMBCHUS_5, OBJECT_GI_BOMB_2, GID_BOMBCHU, 0x33, 0x80, CHEST_ANIM_SHORT),
+ GET_ITEM(ITEM_BOMBCHUS_20, OBJECT_GI_BOMB_2, GID_BOMBCHU, 0x33, 0x80, CHEST_ANIM_SHORT),
+ GET_ITEM(ITEM_FISH, OBJECT_GI_FISH, GID_FISH, 0x47, 0x80, CHEST_ANIM_LONG),
+ GET_ITEM(ITEM_BUG, OBJECT_GI_INSECT, GID_BUG, 0x7A, 0x80, CHEST_ANIM_LONG),
+ GET_ITEM(ITEM_BLUE_FIRE, OBJECT_GI_FIRE, GID_BLUE_FIRE, 0x5D, 0x80, CHEST_ANIM_LONG),
+ GET_ITEM(ITEM_POE, OBJECT_GI_GHOST, GID_POE, 0x97, 0x80, CHEST_ANIM_LONG),
+ GET_ITEM(ITEM_BIG_POE, OBJECT_GI_GHOST, GID_BIG_POE, 0xF9, 0x80, CHEST_ANIM_LONG),
+ GET_ITEM(ITEM_KEY_SMALL, OBJECT_GI_KEY, GID_KEY_SMALL, 0xF3, 0x80, CHEST_ANIM_SHORT),
+ GET_ITEM(ITEM_RUPEE_GREEN, OBJECT_GI_RUPY, GID_RUPEE_GREEN, 0xF4, 0x00, CHEST_ANIM_SHORT),
+ GET_ITEM(ITEM_RUPEE_BLUE, OBJECT_GI_RUPY, GID_RUPEE_BLUE, 0xF5, 0x01, CHEST_ANIM_SHORT),
+ GET_ITEM(ITEM_RUPEE_RED, OBJECT_GI_RUPY, GID_RUPEE_RED, 0xF6, 0x02, CHEST_ANIM_SHORT),
+ GET_ITEM(ITEM_RUPEE_PURPLE, OBJECT_GI_RUPY, GID_RUPEE_PURPLE, 0xF7, 0x14, CHEST_ANIM_SHORT),
+ GET_ITEM(ITEM_HEART_PIECE_2, OBJECT_GI_HEARTS, GID_HEART_PIECE, 0xFA, 0x80, CHEST_ANIM_LONG),
+ GET_ITEM(ITEM_STICK_UPGRADE_20, OBJECT_GI_STICK, GID_STICK, 0x90, 0x80, CHEST_ANIM_SHORT),
+ GET_ITEM(ITEM_STICK_UPGRADE_30, OBJECT_GI_STICK, GID_STICK, 0x91, 0x80, CHEST_ANIM_SHORT),
+ GET_ITEM(ITEM_NUT_UPGRADE_30, OBJECT_GI_NUTS, GID_NUTS, 0xA7, 0x80, CHEST_ANIM_SHORT),
+ GET_ITEM(ITEM_NUT_UPGRADE_40, OBJECT_GI_NUTS, GID_NUTS, 0xA8, 0x80, CHEST_ANIM_SHORT),
+ GET_ITEM(ITEM_BULLET_BAG_50, OBJECT_GI_DEKUPOUCH, GID_BULLET_BAG_50, 0x6C, 0x80, CHEST_ANIM_LONG),
GET_ITEM_NONE,
GET_ITEM_NONE,
};