diff --git a/assets/xml/objects/object_ani.xml b/assets/xml/objects/object_ani.xml index f039e01140..3d8f7c3857 100644 --- a/assets/xml/objects/object_ani.xml +++ b/assets/xml/objects/object_ani.xml @@ -36,13 +36,13 @@ - + - + diff --git a/assets/xml/objects/object_bsmask.xml b/assets/xml/objects/object_bsmask.xml index e776cde1ac..ea94aa89eb 100644 --- a/assets/xml/objects/object_bsmask.xml +++ b/assets/xml/objects/object_bsmask.xml @@ -1,28 +1,36 @@  + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/xml/objects/object_gi_arrow.xml b/assets/xml/objects/object_gi_arrow.xml index ab3bcbde9f..5fcfeb6ebe 100644 --- a/assets/xml/objects/object_gi_arrow.xml +++ b/assets/xml/objects/object_gi_arrow.xml @@ -1,7 +1,13 @@  + + + + - - - + + + + + diff --git a/assets/xml/objects/object_gi_arrowcase.xml b/assets/xml/objects/object_gi_arrowcase.xml index ae10b4faae..87d8c29fb3 100644 --- a/assets/xml/objects/object_gi_arrowcase.xml +++ b/assets/xml/objects/object_gi_arrowcase.xml @@ -1,12 +1,20 @@  + + + + - - - - - - - - + + + + + + + + + + + + diff --git a/assets/xml/objects/object_gi_bean.xml b/assets/xml/objects/object_gi_bean.xml index e19b48d14b..ed9d2b7a63 100644 --- a/assets/xml/objects/object_gi_bean.xml +++ b/assets/xml/objects/object_gi_bean.xml @@ -1,5 +1,11 @@  + + + + - + + + diff --git a/assets/xml/objects/object_gi_bigbomb.xml b/assets/xml/objects/object_gi_bigbomb.xml index 27d2a07416..042736edc1 100644 --- a/assets/xml/objects/object_gi_bigbomb.xml +++ b/assets/xml/objects/object_gi_bigbomb.xml @@ -1,10 +1,17 @@  + - - - - - - + + + + + + + + + + + + diff --git a/assets/xml/objects/object_gi_bomb_1.xml b/assets/xml/objects/object_gi_bomb_1.xml index 98af218735..174927ca62 100644 --- a/assets/xml/objects/object_gi_bomb_1.xml +++ b/assets/xml/objects/object_gi_bomb_1.xml @@ -1,5 +1,11 @@  + + + + - + + + diff --git a/assets/xml/objects/object_gi_bomb_2.xml b/assets/xml/objects/object_gi_bomb_2.xml index ecd07c048f..f5b3af67f9 100644 --- a/assets/xml/objects/object_gi_bomb_2.xml +++ b/assets/xml/objects/object_gi_bomb_2.xml @@ -1,5 +1,11 @@  + + + + - + + + diff --git a/assets/xml/objects/object_gi_bombpouch.xml b/assets/xml/objects/object_gi_bombpouch.xml index 06eff7cedb..2e9969cbd5 100644 --- a/assets/xml/objects/object_gi_bombpouch.xml +++ b/assets/xml/objects/object_gi_bombpouch.xml @@ -1,12 +1,20 @@  + + + + - - - - - - - - + + + + + + + + + + + + diff --git a/assets/xml/objects/object_gi_bosskey.xml b/assets/xml/objects/object_gi_bosskey.xml index ae5ac2e750..5d4bda5c01 100644 --- a/assets/xml/objects/object_gi_bosskey.xml +++ b/assets/xml/objects/object_gi_bosskey.xml @@ -1,6 +1,12 @@  + + + + - - + + + + diff --git a/assets/xml/objects/object_gi_bottle.xml b/assets/xml/objects/object_gi_bottle.xml index 95a7b8bce4..e978697ab6 100644 --- a/assets/xml/objects/object_gi_bottle.xml +++ b/assets/xml/objects/object_gi_bottle.xml @@ -1,6 +1,12 @@  + + + + - - + + + + diff --git a/assets/xml/objects/object_gi_bottle_04.xml b/assets/xml/objects/object_gi_bottle_04.xml index f215d40599..ab90eb89d9 100644 --- a/assets/xml/objects/object_gi_bottle_04.xml +++ b/assets/xml/objects/object_gi_bottle_04.xml @@ -1,12 +1,21 @@  + - - - - - - - - + + + + + + + + + + + + + + + + diff --git a/assets/xml/objects/object_gi_bottle_15.xml b/assets/xml/objects/object_gi_bottle_15.xml index afea0f6ca2..486e042a93 100644 --- a/assets/xml/objects/object_gi_bottle_15.xml +++ b/assets/xml/objects/object_gi_bottle_15.xml @@ -1,10 +1,15 @@  + - - - - - - + + + + + + + + + + diff --git a/assets/xml/objects/object_gi_bottle_16.xml b/assets/xml/objects/object_gi_bottle_16.xml index 7ee7f36408..ab736f087f 100644 --- a/assets/xml/objects/object_gi_bottle_16.xml +++ b/assets/xml/objects/object_gi_bottle_16.xml @@ -1,8 +1,13 @@  + - - - - + + + + + + + + diff --git a/assets/xml/objects/object_gi_bottle_21.xml b/assets/xml/objects/object_gi_bottle_21.xml index 779b474cd0..32cbd8e757 100644 --- a/assets/xml/objects/object_gi_bottle_21.xml +++ b/assets/xml/objects/object_gi_bottle_21.xml @@ -1,9 +1,14 @@  + - - - - - + + + + + + + + + diff --git a/assets/xml/objects/object_gi_bottle_22.xml b/assets/xml/objects/object_gi_bottle_22.xml index d613970143..bbc2ea4525 100644 --- a/assets/xml/objects/object_gi_bottle_22.xml +++ b/assets/xml/objects/object_gi_bottle_22.xml @@ -1,10 +1,15 @@  + - - - - - - + + + + + + + + + + diff --git a/assets/xml/objects/object_gi_bottle_red.xml b/assets/xml/objects/object_gi_bottle_red.xml index c2f189dcef..b52781d8d3 100644 --- a/assets/xml/objects/object_gi_bottle_red.xml +++ b/assets/xml/objects/object_gi_bottle_red.xml @@ -1,8 +1,13 @@  + - - - - + + + + + + + + diff --git a/assets/xml/objects/object_gi_bow.xml b/assets/xml/objects/object_gi_bow.xml index b7d62e12d3..f5ba88dfa7 100644 --- a/assets/xml/objects/object_gi_bow.xml +++ b/assets/xml/objects/object_gi_bow.xml @@ -1,8 +1,13 @@  + - - - - + + + + + + + + diff --git a/assets/xml/objects/object_gi_camera.xml b/assets/xml/objects/object_gi_camera.xml index 81641ca309..5e94bf88bd 100644 --- a/assets/xml/objects/object_gi_camera.xml +++ b/assets/xml/objects/object_gi_camera.xml @@ -1,9 +1,14 @@  + - - - - - + + + + + + + + + diff --git a/assets/xml/objects/object_gi_compass.xml b/assets/xml/objects/object_gi_compass.xml index 49f7cf87e7..9c724fc59e 100644 --- a/assets/xml/objects/object_gi_compass.xml +++ b/assets/xml/objects/object_gi_compass.xml @@ -1,6 +1,12 @@  + + + + - - + + + + diff --git a/assets/xml/objects/object_gi_fieldmap.xml b/assets/xml/objects/object_gi_fieldmap.xml index bdb77ad0b1..f4d6369a9f 100644 --- a/assets/xml/objects/object_gi_fieldmap.xml +++ b/assets/xml/objects/object_gi_fieldmap.xml @@ -1,9 +1,14 @@  + - - - - - + + + + + + + + + diff --git a/assets/xml/objects/object_gi_fish.xml b/assets/xml/objects/object_gi_fish.xml index 339f2d1445..7c9f4be1fb 100644 --- a/assets/xml/objects/object_gi_fish.xml +++ b/assets/xml/objects/object_gi_fish.xml @@ -1,5 +1,11 @@  + + + + - + + + diff --git a/assets/xml/objects/object_gi_ghost.xml b/assets/xml/objects/object_gi_ghost.xml index 813ba7d4ea..3ea6ca5828 100644 --- a/assets/xml/objects/object_gi_ghost.xml +++ b/assets/xml/objects/object_gi_ghost.xml @@ -1,11 +1,21 @@  + + + + - - - - - - - + + + + + + + + + + + + + diff --git a/assets/xml/objects/object_gi_glasses.xml b/assets/xml/objects/object_gi_glasses.xml index 571f0ea6df..e089e2c8d4 100644 --- a/assets/xml/objects/object_gi_glasses.xml +++ b/assets/xml/objects/object_gi_glasses.xml @@ -1,6 +1,12 @@  + + + + - - + + + + diff --git a/assets/xml/objects/object_gi_gold_dust.xml b/assets/xml/objects/object_gi_gold_dust.xml index ed787b2b2e..523134bae8 100644 --- a/assets/xml/objects/object_gi_gold_dust.xml +++ b/assets/xml/objects/object_gi_gold_dust.xml @@ -1,8 +1,13 @@  + - - - - + + + + + + + + diff --git a/assets/xml/objects/object_gi_golonmask.xml b/assets/xml/objects/object_gi_golonmask.xml index c845fd0bdf..87e65396ed 100644 --- a/assets/xml/objects/object_gi_golonmask.xml +++ b/assets/xml/objects/object_gi_golonmask.xml @@ -1,9 +1,14 @@  + - - - - - + + + + + + + + + diff --git a/assets/xml/objects/object_gi_heart.xml b/assets/xml/objects/object_gi_heart.xml index 0917876aa7..1d9e72459e 100644 --- a/assets/xml/objects/object_gi_heart.xml +++ b/assets/xml/objects/object_gi_heart.xml @@ -1,5 +1,11 @@  + + + + - + + + diff --git a/assets/xml/objects/object_gi_hearts.xml b/assets/xml/objects/object_gi_hearts.xml index 442ba21c73..0f5387caec 100644 --- a/assets/xml/objects/object_gi_hearts.xml +++ b/assets/xml/objects/object_gi_hearts.xml @@ -1,7 +1,13 @@  + + + + - - - + + + + + diff --git a/assets/xml/objects/object_gi_hookshot.xml b/assets/xml/objects/object_gi_hookshot.xml index 37a0b46426..54dbcdd74a 100644 --- a/assets/xml/objects/object_gi_hookshot.xml +++ b/assets/xml/objects/object_gi_hookshot.xml @@ -1,8 +1,13 @@  + - - - - + + + + + + + + diff --git a/assets/xml/objects/object_gi_insect.xml b/assets/xml/objects/object_gi_insect.xml index a7c3107ea5..bba46991d2 100644 --- a/assets/xml/objects/object_gi_insect.xml +++ b/assets/xml/objects/object_gi_insect.xml @@ -1,6 +1,12 @@  + + + + - - + + + + diff --git a/assets/xml/objects/object_gi_key.xml b/assets/xml/objects/object_gi_key.xml index bf4cdb7271..2f4511f1d8 100644 --- a/assets/xml/objects/object_gi_key.xml +++ b/assets/xml/objects/object_gi_key.xml @@ -1,5 +1,11 @@  + + + + - + + + diff --git a/assets/xml/objects/object_gi_ki_tan_mask.xml b/assets/xml/objects/object_gi_ki_tan_mask.xml index 3135766315..3898630daa 100644 --- a/assets/xml/objects/object_gi_ki_tan_mask.xml +++ b/assets/xml/objects/object_gi_ki_tan_mask.xml @@ -1,7 +1,15 @@  + + + + - - - + + + + + + + diff --git a/assets/xml/objects/object_gi_liquid.xml b/assets/xml/objects/object_gi_liquid.xml index bec768cfe0..ed26c4267e 100644 --- a/assets/xml/objects/object_gi_liquid.xml +++ b/assets/xml/objects/object_gi_liquid.xml @@ -1,19 +1,29 @@  + + + + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/xml/objects/object_gi_loach.xml b/assets/xml/objects/object_gi_loach.xml index c9c81f0b9a..4ffcbfe737 100644 --- a/assets/xml/objects/object_gi_loach.xml +++ b/assets/xml/objects/object_gi_loach.xml @@ -1,10 +1,15 @@  + - - - - - - + + + + + + + + + + diff --git a/assets/xml/objects/object_gi_longsword.xml b/assets/xml/objects/object_gi_longsword.xml index 6be60d411d..5385b96399 100644 --- a/assets/xml/objects/object_gi_longsword.xml +++ b/assets/xml/objects/object_gi_longsword.xml @@ -1,5 +1,11 @@  + + + + - + + + diff --git a/assets/xml/objects/object_gi_m_arrow.xml b/assets/xml/objects/object_gi_m_arrow.xml index 6351783b54..595ad25d63 100644 --- a/assets/xml/objects/object_gi_m_arrow.xml +++ b/assets/xml/objects/object_gi_m_arrow.xml @@ -1,9 +1,17 @@  + + + + - - - - - + + + + + + + + + diff --git a/assets/xml/objects/object_gi_magicmushroom.xml b/assets/xml/objects/object_gi_magicmushroom.xml index ae6cbeb49c..1d26dfa630 100644 --- a/assets/xml/objects/object_gi_magicmushroom.xml +++ b/assets/xml/objects/object_gi_magicmushroom.xml @@ -1,9 +1,14 @@  + - - - - - + + + + + + + + + diff --git a/assets/xml/objects/object_gi_magicpot.xml b/assets/xml/objects/object_gi_magicpot.xml index 2abd48eeff..459f010f4e 100644 --- a/assets/xml/objects/object_gi_magicpot.xml +++ b/assets/xml/objects/object_gi_magicpot.xml @@ -1,6 +1,12 @@  + + + + - - + + + + diff --git a/assets/xml/objects/object_gi_map.xml b/assets/xml/objects/object_gi_map.xml index 250bb4613a..c0cb2e0700 100644 --- a/assets/xml/objects/object_gi_map.xml +++ b/assets/xml/objects/object_gi_map.xml @@ -1,7 +1,17 @@  + + + + - - - + + + + + + + + + diff --git a/assets/xml/objects/object_gi_mask03.xml b/assets/xml/objects/object_gi_mask03.xml index 561ddef83a..3bc62ba8e1 100644 --- a/assets/xml/objects/object_gi_mask03.xml +++ b/assets/xml/objects/object_gi_mask03.xml @@ -1,13 +1,20 @@  + - - - - - - - - - + + + + + + + + + + + + + + + diff --git a/assets/xml/objects/object_gi_mask05.xml b/assets/xml/objects/object_gi_mask05.xml index 307a3b2f43..c6bf0baadb 100644 --- a/assets/xml/objects/object_gi_mask05.xml +++ b/assets/xml/objects/object_gi_mask05.xml @@ -1,11 +1,18 @@  + - - - - - - - + + + + + + + + + + + + + diff --git a/assets/xml/objects/object_gi_mask06.xml b/assets/xml/objects/object_gi_mask06.xml index 256d9a91eb..7d24b1d929 100644 --- a/assets/xml/objects/object_gi_mask06.xml +++ b/assets/xml/objects/object_gi_mask06.xml @@ -1,10 +1,17 @@  + - - - - - - + + + + + + + + + + + + diff --git a/assets/xml/objects/object_gi_mask09.xml b/assets/xml/objects/object_gi_mask09.xml index d6db047d57..76efc69225 100644 --- a/assets/xml/objects/object_gi_mask09.xml +++ b/assets/xml/objects/object_gi_mask09.xml @@ -1,12 +1,19 @@  + - - - - - - - - + + + + + + + + + + + + + + diff --git a/assets/xml/objects/object_gi_mask10.xml b/assets/xml/objects/object_gi_mask10.xml index adb3ee1d22..e7083f94b3 100644 --- a/assets/xml/objects/object_gi_mask10.xml +++ b/assets/xml/objects/object_gi_mask10.xml @@ -1,10 +1,15 @@  + - - - - - - + + + + + + + + + + diff --git a/assets/xml/objects/object_gi_mask11.xml b/assets/xml/objects/object_gi_mask11.xml index 46de5c2cdb..e7b175b4d2 100644 --- a/assets/xml/objects/object_gi_mask11.xml +++ b/assets/xml/objects/object_gi_mask11.xml @@ -1,14 +1,21 @@  + - - - - - - - - - - + + + + + + + + + + + + + + + + diff --git a/assets/xml/objects/object_gi_mask12.xml b/assets/xml/objects/object_gi_mask12.xml index dced8d8eb6..2f1508b9dc 100644 --- a/assets/xml/objects/object_gi_mask12.xml +++ b/assets/xml/objects/object_gi_mask12.xml @@ -1,8 +1,13 @@  + - - - - + + + + + + + + diff --git a/assets/xml/objects/object_gi_mask13.xml b/assets/xml/objects/object_gi_mask13.xml index b6d2c77336..8f5e7bf8f1 100644 --- a/assets/xml/objects/object_gi_mask13.xml +++ b/assets/xml/objects/object_gi_mask13.xml @@ -1,9 +1,14 @@  + - - - - - + + + + + + + + + diff --git a/assets/xml/objects/object_gi_mask14.xml b/assets/xml/objects/object_gi_mask14.xml index a3c96bb9d6..0b9b5be28f 100644 --- a/assets/xml/objects/object_gi_mask14.xml +++ b/assets/xml/objects/object_gi_mask14.xml @@ -1,10 +1,15 @@  + - - - - - - + + + + + + + + + + diff --git a/assets/xml/objects/object_gi_mask15.xml b/assets/xml/objects/object_gi_mask15.xml index bc612c0755..1f29f1befd 100644 --- a/assets/xml/objects/object_gi_mask15.xml +++ b/assets/xml/objects/object_gi_mask15.xml @@ -1,9 +1,14 @@  + - - - - - + + + + + + + + + diff --git a/assets/xml/objects/object_gi_mask16.xml b/assets/xml/objects/object_gi_mask16.xml index 57124d4d43..4a0650cdd6 100644 --- a/assets/xml/objects/object_gi_mask16.xml +++ b/assets/xml/objects/object_gi_mask16.xml @@ -1,11 +1,16 @@  + - - - - - - - + + + + + + + + + + + diff --git a/assets/xml/objects/object_gi_mask17.xml b/assets/xml/objects/object_gi_mask17.xml index a509ca27ed..a4df999860 100644 --- a/assets/xml/objects/object_gi_mask17.xml +++ b/assets/xml/objects/object_gi_mask17.xml @@ -1,13 +1,20 @@  + - - - - - - - - - + + + + + + + + + + + + + + + diff --git a/assets/xml/objects/object_gi_mask18.xml b/assets/xml/objects/object_gi_mask18.xml index 8e1c8ca547..ad03642903 100644 --- a/assets/xml/objects/object_gi_mask18.xml +++ b/assets/xml/objects/object_gi_mask18.xml @@ -1,12 +1,19 @@  + - - - - - - - - + + + + + + + + + + + + + + diff --git a/assets/xml/objects/object_gi_mask20.xml b/assets/xml/objects/object_gi_mask20.xml index 8b87c44fa0..f04bb157e8 100644 --- a/assets/xml/objects/object_gi_mask20.xml +++ b/assets/xml/objects/object_gi_mask20.xml @@ -1,11 +1,18 @@  + - - - - - - - + + + + + + + + + + + + + diff --git a/assets/xml/objects/object_gi_mask21.xml b/assets/xml/objects/object_gi_mask21.xml index 175d22b85f..4696963add 100644 --- a/assets/xml/objects/object_gi_mask21.xml +++ b/assets/xml/objects/object_gi_mask21.xml @@ -1,8 +1,13 @@  + - - - - + + + + + + + + diff --git a/assets/xml/objects/object_gi_mask22.xml b/assets/xml/objects/object_gi_mask22.xml index 7b3a49e537..54b0c55956 100644 --- a/assets/xml/objects/object_gi_mask22.xml +++ b/assets/xml/objects/object_gi_mask22.xml @@ -1,13 +1,20 @@  + - - - - - - - - - + + + + + + + + + + + + + + + diff --git a/assets/xml/objects/object_gi_mask23.xml b/assets/xml/objects/object_gi_mask23.xml index 458b7c825a..6efa0147be 100644 --- a/assets/xml/objects/object_gi_mask23.xml +++ b/assets/xml/objects/object_gi_mask23.xml @@ -1,8 +1,13 @@  + - - - - + + + + + + + + diff --git a/assets/xml/objects/object_gi_melody.xml b/assets/xml/objects/object_gi_melody.xml index d7617e7a69..4d4696528f 100644 --- a/assets/xml/objects/object_gi_melody.xml +++ b/assets/xml/objects/object_gi_melody.xml @@ -1,11 +1,14 @@  + - - - - - - - + + + + + + + + + diff --git a/assets/xml/objects/object_gi_milk.xml b/assets/xml/objects/object_gi_milk.xml index 137dae7779..0e2c37efa3 100644 --- a/assets/xml/objects/object_gi_milk.xml +++ b/assets/xml/objects/object_gi_milk.xml @@ -1,7 +1,15 @@  + + + + - - - + + + + + + + diff --git a/assets/xml/objects/object_gi_mssa.xml b/assets/xml/objects/object_gi_mssa.xml index 6b61b00f5f..ce1ae8c42a 100644 --- a/assets/xml/objects/object_gi_mssa.xml +++ b/assets/xml/objects/object_gi_mssa.xml @@ -1,10 +1,15 @@  + - - - - - - + + + + + + + + + + diff --git a/assets/xml/objects/object_gi_nuts.xml b/assets/xml/objects/object_gi_nuts.xml index 073e7db8f6..d142cc8bd0 100644 --- a/assets/xml/objects/object_gi_nuts.xml +++ b/assets/xml/objects/object_gi_nuts.xml @@ -1,6 +1,14 @@  + + + + - - + + + + + + diff --git a/assets/xml/objects/object_gi_nutsmask.xml b/assets/xml/objects/object_gi_nutsmask.xml index e34a593f22..c6df5804a9 100644 --- a/assets/xml/objects/object_gi_nutsmask.xml +++ b/assets/xml/objects/object_gi_nutsmask.xml @@ -1,9 +1,14 @@  + - - - - - + + + + + + + + + diff --git a/assets/xml/objects/object_gi_ocarina.xml b/assets/xml/objects/object_gi_ocarina.xml index 7b968a4912..5856529e6c 100644 --- a/assets/xml/objects/object_gi_ocarina.xml +++ b/assets/xml/objects/object_gi_ocarina.xml @@ -1,7 +1,15 @@  + + + + - - - + + + + + + + diff --git a/assets/xml/objects/object_gi_purse.xml b/assets/xml/objects/object_gi_purse.xml index 49cf9fd370..d24da1add4 100644 --- a/assets/xml/objects/object_gi_purse.xml +++ b/assets/xml/objects/object_gi_purse.xml @@ -1,17 +1,24 @@  + - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + diff --git a/assets/xml/objects/object_gi_rabit_mask.xml b/assets/xml/objects/object_gi_rabit_mask.xml index 172c080f11..16f5369768 100644 --- a/assets/xml/objects/object_gi_rabit_mask.xml +++ b/assets/xml/objects/object_gi_rabit_mask.xml @@ -1,7 +1,15 @@  + + + + - - - + + + + + + + diff --git a/assets/xml/objects/object_gi_reserve00.xml b/assets/xml/objects/object_gi_reserve00.xml index 1527a26303..3476ab7192 100644 --- a/assets/xml/objects/object_gi_reserve00.xml +++ b/assets/xml/objects/object_gi_reserve00.xml @@ -1,11 +1,20 @@  + - - - - - - - + + + + + + + + + + + + + + + diff --git a/assets/xml/objects/object_gi_reserve01.xml b/assets/xml/objects/object_gi_reserve01.xml index c31c76698f..5c6bb4d189 100644 --- a/assets/xml/objects/object_gi_reserve01.xml +++ b/assets/xml/objects/object_gi_reserve01.xml @@ -1,14 +1,21 @@  + - - - - - - - - - - + + + + + + + + + + + + + + + + diff --git a/assets/xml/objects/object_gi_reserve_b_00.xml b/assets/xml/objects/object_gi_reserve_b_00.xml index 1c1e543905..1e2c378211 100644 --- a/assets/xml/objects/object_gi_reserve_b_00.xml +++ b/assets/xml/objects/object_gi_reserve_b_00.xml @@ -1,8 +1,13 @@  + - - - - + + + + + + + + diff --git a/assets/xml/objects/object_gi_reserve_b_01.xml b/assets/xml/objects/object_gi_reserve_b_01.xml index 574763ee91..2bd1b2af21 100644 --- a/assets/xml/objects/object_gi_reserve_b_01.xml +++ b/assets/xml/objects/object_gi_reserve_b_01.xml @@ -1,10 +1,15 @@  + - - - - - - + + + + + + + + + + diff --git a/assets/xml/objects/object_gi_reserve_c_00.xml b/assets/xml/objects/object_gi_reserve_c_00.xml index 86c6b15fbd..f9cca9676c 100644 --- a/assets/xml/objects/object_gi_reserve_c_00.xml +++ b/assets/xml/objects/object_gi_reserve_c_00.xml @@ -1,9 +1,14 @@  + - - - - - + + + + + + + + + diff --git a/assets/xml/objects/object_gi_reserve_c_01.xml b/assets/xml/objects/object_gi_reserve_c_01.xml index da15309709..b88f74df5f 100644 --- a/assets/xml/objects/object_gi_reserve_c_01.xml +++ b/assets/xml/objects/object_gi_reserve_c_01.xml @@ -1,8 +1,13 @@  + - - - - + + + + + + + + diff --git a/assets/xml/objects/object_gi_rupy.xml b/assets/xml/objects/object_gi_rupy.xml index 69cd8bf5c8..98d5714d64 100644 --- a/assets/xml/objects/object_gi_rupy.xml +++ b/assets/xml/objects/object_gi_rupy.xml @@ -1,18 +1,26 @@  + + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + diff --git a/assets/xml/objects/object_gi_schedule.xml b/assets/xml/objects/object_gi_schedule.xml index e5025a9938..9350bdcc3d 100644 --- a/assets/xml/objects/object_gi_schedule.xml +++ b/assets/xml/objects/object_gi_schedule.xml @@ -1,11 +1,16 @@  + - - - - - - - + + + + + + + + + + + diff --git a/assets/xml/objects/object_gi_seahorse.xml b/assets/xml/objects/object_gi_seahorse.xml index f35e2edc97..acc1e184de 100644 --- a/assets/xml/objects/object_gi_seahorse.xml +++ b/assets/xml/objects/object_gi_seahorse.xml @@ -1,12 +1,19 @@  + - - - - - - - - + + + + + + + + + + + + + + diff --git a/assets/xml/objects/object_gi_shield_2.xml b/assets/xml/objects/object_gi_shield_2.xml index eb9fec8d2f..e3b990bcf4 100644 --- a/assets/xml/objects/object_gi_shield_2.xml +++ b/assets/xml/objects/object_gi_shield_2.xml @@ -1,10 +1,15 @@  + - - - - - - + + + + + + + + + + diff --git a/assets/xml/objects/object_gi_shield_3.xml b/assets/xml/objects/object_gi_shield_3.xml index 8e011bb92a..19f23203bd 100644 --- a/assets/xml/objects/object_gi_shield_3.xml +++ b/assets/xml/objects/object_gi_shield_3.xml @@ -1,10 +1,15 @@  + - - - - - - + + + + + + + + + + diff --git a/assets/xml/objects/object_gi_soldout.xml b/assets/xml/objects/object_gi_soldout.xml index 8a733af02e..109a650721 100644 --- a/assets/xml/objects/object_gi_soldout.xml +++ b/assets/xml/objects/object_gi_soldout.xml @@ -1,6 +1,11 @@  + - - + + + + + + diff --git a/assets/xml/objects/object_gi_soul.xml b/assets/xml/objects/object_gi_soul.xml index 945670888b..942062535b 100644 --- a/assets/xml/objects/object_gi_soul.xml +++ b/assets/xml/objects/object_gi_soul.xml @@ -1,8 +1,16 @@  + + + + - - - - + + + + + + + + diff --git a/assets/xml/objects/object_gi_stick.xml b/assets/xml/objects/object_gi_stick.xml index c038af3571..859e4f6415 100644 --- a/assets/xml/objects/object_gi_stick.xml +++ b/assets/xml/objects/object_gi_stick.xml @@ -1,5 +1,11 @@  + + + + - + + + diff --git a/assets/xml/objects/object_gi_stonemask.xml b/assets/xml/objects/object_gi_stonemask.xml index 9d3b62b8c2..497ace2df3 100644 --- a/assets/xml/objects/object_gi_stonemask.xml +++ b/assets/xml/objects/object_gi_stonemask.xml @@ -1,8 +1,13 @@  + - - - - + + + + + + + + diff --git a/assets/xml/objects/object_gi_sutaru.xml b/assets/xml/objects/object_gi_sutaru.xml index 3b991123e8..1a425dd2a4 100644 --- a/assets/xml/objects/object_gi_sutaru.xml +++ b/assets/xml/objects/object_gi_sutaru.xml @@ -1,6 +1,12 @@  + + + + - - + + + + diff --git a/assets/xml/objects/object_gi_sword_1.xml b/assets/xml/objects/object_gi_sword_1.xml index a03de82d51..3f1bd41c0b 100644 --- a/assets/xml/objects/object_gi_sword_1.xml +++ b/assets/xml/objects/object_gi_sword_1.xml @@ -1,9 +1,14 @@  + - - - - - + + + + + + + + + diff --git a/assets/xml/objects/object_gi_sword_2.xml b/assets/xml/objects/object_gi_sword_2.xml index 045936ef2a..6a2bb445be 100644 --- a/assets/xml/objects/object_gi_sword_2.xml +++ b/assets/xml/objects/object_gi_sword_2.xml @@ -1,9 +1,14 @@  + - - - - - + + + + + + + + + diff --git a/assets/xml/objects/object_gi_sword_3.xml b/assets/xml/objects/object_gi_sword_3.xml index 79a2079916..b347c33cf7 100644 --- a/assets/xml/objects/object_gi_sword_3.xml +++ b/assets/xml/objects/object_gi_sword_3.xml @@ -1,9 +1,14 @@  + - - - - - + + + + + + + + + diff --git a/assets/xml/objects/object_gi_sword_4.xml b/assets/xml/objects/object_gi_sword_4.xml index b5c826dc36..7732259c66 100644 --- a/assets/xml/objects/object_gi_sword_4.xml +++ b/assets/xml/objects/object_gi_sword_4.xml @@ -1,9 +1,14 @@  + - - - - - + + + + + + + + + diff --git a/assets/xml/objects/object_gi_truth_mask.xml b/assets/xml/objects/object_gi_truth_mask.xml index 52fdaaf65a..cbc818cea4 100644 --- a/assets/xml/objects/object_gi_truth_mask.xml +++ b/assets/xml/objects/object_gi_truth_mask.xml @@ -1,8 +1,16 @@  + + + + - - - - + + + + + + + + diff --git a/assets/xml/objects/object_gi_zoramask.xml b/assets/xml/objects/object_gi_zoramask.xml index c5ba218b41..7deefdf71b 100644 --- a/assets/xml/objects/object_gi_zoramask.xml +++ b/assets/xml/objects/object_gi_zoramask.xml @@ -1,11 +1,16 @@  + - - - - - - - + + + + + + + + + + + diff --git a/assets/xml/objects/object_st.xml b/assets/xml/objects/object_st.xml index 2dabce2f83..b8b39f94f2 100644 --- a/assets/xml/objects/object_st.xml +++ b/assets/xml/objects/object_st.xml @@ -33,8 +33,8 @@ - - + + diff --git a/include/functions.h b/include/functions.h index b4753d4ce2..4b36460cfe 100644 --- a/include/functions.h +++ b/include/functions.h @@ -1390,30 +1390,8 @@ s32 Cutscene_GetActorActionIndex(PlayState* play, u16 actorActionCmd); s32 Cutscene_CheckActorAction(PlayState* play, u16 actorActionCmd); u8 Cutscene_IsPlaying(PlayState* play); -void GetItem_Draw(PlayState* play, s16 index); -void func_800EE364(PlayState* play, s16 index); -void func_800EE400(PlayState* play, s16 index); -void func_800EE5FC(PlayState* play, s16 index); -void func_800EE7D8(PlayState* play, s16 index); -void func_800EE940(PlayState* play, s16 index); -void func_800EEA48(PlayState* play, s16 index); -void func_800EEC18(PlayState* play, s16 index); -void func_800EED20(PlayState* play, s16 index); -void func_800EEE34(PlayState* play, s16 index); -void func_800EEF4C(PlayState* play, s16 index); -void func_800EF054(PlayState* play, s16 index); -void func_800EF0F0(PlayState* play, s16 index); -void func_800EF1F4(PlayState* play, s16 index); -void func_800EF2AC(PlayState* play, s16 index); -void func_800EF364(PlayState* play, s16 index); -void func_800EF4D4(PlayState* play, s16 index); -void func_800EF65C(PlayState* play, s16 index); -void func_800EF780(PlayState* play, s16 index); -void func_800EF89C(PlayState* play, s16 index); -void func_800EF984(PlayState* play, s16 index); -void func_800EFAB8(PlayState* play, s16 index); -void func_800EFBFC(PlayState* play, s16 index); -void func_800EFD44(PlayState* play, s16 index); +void GetItem_Draw(PlayState* play, s16 drawId); + void EffFootmark_Init(PlayState* play); void EffFootmark_Add(PlayState* play, MtxF* displayMatrix, Actor* actor, u8 id, Vec3f* location, u16 size, u8 red, u8 green, u8 blue, u16 alpha, u16 alphaChange, u16 fadeoutDelay); void EffFootmark_Update(PlayState* play); diff --git a/include/variables.h b/include/variables.h index db16664a11..c048750b8f 100644 --- a/include/variables.h +++ b/include/variables.h @@ -870,7 +870,6 @@ extern EffectShieldParticleInit shieldParticleInitWood; extern u8 D_801BB12C; -extern s801BB170 D_801BB170[118]; // extern UNK_TYPE1 D_801BC210; extern Gfx D_801BC240[9]; extern Gfx D_801BC288[3]; diff --git a/include/z64.h b/include/z64.h index 01b3cbb70e..841d70800d 100644 --- a/include/z64.h +++ b/include/z64.h @@ -901,22 +901,8 @@ typedef void (*ColChkApplyFunc)(PlayState*, CollisionCheckContext*, Collider*); typedef void (*ColChkVsFunc)(PlayState*, CollisionCheckContext*, Collider*, Collider*); typedef s32 (*ColChkLineFunc)(PlayState*, CollisionCheckContext*, Collider*, Vec3f*, Vec3f*); -typedef void(*draw_func)(PlayState* play, s16 index); - typedef void(*room_draw_func)(PlayState* play, Room* room, u32 flags); -typedef struct { - /* 0x00 */ draw_func unk0; - /* 0x04 */ u32 unk4; - /* 0x08 */ u32 unk8; - /* 0x0C */ u32 unkC; - /* 0x10 */ u32 unk10; - /* 0x14 */ u32 unk14; - /* 0x18 */ u32 unk18; - /* 0x1C */ u32 unk1C; - /* 0x20 */ u32 unk20; -} s801BB170; // size = 0x24 - typedef struct { /* 0x00 */ Vec3f atOffset; /* 0x0C */ Vec3f eyeOffset; diff --git a/include/z64actor.h b/include/z64actor.h index 866b92dbb6..baec8e81a1 100644 --- a/include/z64actor.h +++ b/include/z64actor.h @@ -226,7 +226,7 @@ typedef enum { /* 0x00 */ ITEM00_RUPEE_GREEN, /* 0x01 */ ITEM00_RUPEE_BLUE, /* 0x02 */ ITEM00_RUPEE_RED, - /* 0x03 */ ITEM00_HEART, + /* 0x03 */ ITEM00_RECOVERY_HEART, /* 0x04 */ ITEM00_BOMBS_A, /* 0x05 */ ITEM00_ARROWS_10, /* 0x06 */ ITEM00_HEART_PIECE, @@ -268,7 +268,7 @@ typedef struct EnItem00 { /* 0x000 */ Actor actor; /* 0x144 */ EnItem00ActionFunc actionFunc; /* 0x148 */ s16 collectibleFlag; - /* 0x14A */ s16 unk14A; + /* 0x14A */ s16 getItemId; /* 0x14C */ s16 unk14C; /* 0x14E */ s16 unk14E; /* 0x150 */ s16 unk150; diff --git a/include/z64item.h b/include/z64item.h index 14ea9fca4d..5e8e3a656f 100644 --- a/include/z64item.h +++ b/include/z64item.h @@ -154,7 +154,7 @@ typedef enum { /* 0x21 */ ITEM_ZORA_EGG, /* 0x22 */ ITEM_GOLD_DUST, /* 0x23 */ ITEM_MUSHROOM, - /* 0x24 */ ITEM_SEA_HORSE, + /* 0x24 */ ITEM_SEAHORSE, /* 0x25 */ ITEM_CHATEAU, /* 0x26 */ ITEM_HYLIAN_LOACH, /* 0x27 */ ITEM_OBABA_DRINK, @@ -166,7 +166,7 @@ typedef enum { /* 0x2D */ ITEM_ROOM_KEY, /* 0x2E */ ITEM_LETTER_MAMA, /* 0x2F */ ITEM_LETTER_TO_KAFEI, - /* 0x30 */ ITEM_PENDANT_MEMORIES, + /* 0x30 */ ITEM_PENDANT_OF_MEMORIES, /* 0x31 */ ITEM_TINGLE_MAP, /* 0x32 */ ITEM_MASK_DEKU, /* 0x33 */ ITEM_MASK_GORON, @@ -247,7 +247,7 @@ typedef enum { /* 0x80 */ ITEM_INVALID_5, /* 0x81 */ ITEM_INVALID_6, /* 0x82 */ ITEM_INVALID_7, - /* 0x83 */ ITEM_HEART, + /* 0x83 */ ITEM_RECOVERY_HEART, /* 0x84 */ ITEM_RUPEE_GREEN, /* 0x85 */ ITEM_RUPEE_BLUE, /* 0x86 */ ITEM_RUPEE_10, @@ -279,7 +279,7 @@ typedef enum { /* 0xA0 */ ITEM_MILK, /* 0xA1 */ ITEM_GOLD_DUST_2, /* 0xA2 */ ITEM_HYLIAN_LOACH_2, - /* 0xA3 */ ITEM_SEA_HORSE_CAUGHT, + /* 0xA3 */ ITEM_SEAHORSE_CAUGHT, /* 0xF0 */ ITEM_F0 = 0xF0, /* 0xF1 */ ITEM_F1, /* 0xF2 */ ITEM_F2, @@ -304,11 +304,15 @@ typedef enum { /* 0x0A */ GI_RECOVERY_HEART, /* 0x0C */ GI_HEART_PIECE = 0x0C, /* 0x0D */ GI_HEART_CONTAINER, + /* 0x0E */ GI_MAGIC_SMALL, + /* 0x0F */ GI_MAGIC_LARGE, /* 0x11 */ GI_STRAY_FAIRY = 0x11, /* 0x14 */ GI_BOMBS_1 = 0x14, /* 0x15 */ GI_BOMBS_5, /* 0x16 */ GI_BOMBS_10, - /* 0x19 */ GI_STICKS_1 = 0x19, + /* 0x17 */ GI_BOMBS_20, + /* 0x18 */ GI_BOMBS_30, + /* 0x19 */ GI_STICKS_1, /* 0x1A */ GI_BOMBCHUS_10, /* 0x1B */ GI_BOMB_BAG_20, /* 0x1C */ GI_BOMB_BAG_30, @@ -320,28 +324,58 @@ typedef enum { /* 0x22 */ GI_QUIVER_30, /* 0x23 */ GI_QUIVER_40, /* 0x24 */ GI_QUIVER_50, - /* 0x25 */ GI_25 = 0x25, - /* 0x28 */ GI_NUTS_1 = 0x28, - /* 0x2A */ GI_NUTS_10 = 0x2A, + /* 0x25 */ GI_ARROW_FIRE, + /* 0x26 */ GI_ARROW_ICE, + /* 0x27 */ GI_ARROW_LIGHT, + /* 0x28 */ GI_NUTS_1, + /* 0x29 */ GI_NUTS_5, + /* 0x2A */ GI_NUTS_10, + /* 0x2E */ GI_BOMBCHUS_20 = 0x2E, /* 0x32 */ GI_SHIELD_HERO = 0x32, /* 0x33 */ GI_SHIELD_MIRROR, - /* 0x35 */ GI_MAGIC_BEANS = 0x35, + /* 0x34 */ GI_POWDER_KEG, + /* 0x35 */ GI_MAGIC_BEANS, /* 0x36 */ GI_BOMBCHUS_1, - /* 0x3A */ GI_BOMBCHUS_5 = 0x3A, - /* 0x3C */ GI_KEY_SMALL = 0x3C, + /* 0x37 */ GI_SWORD_KOKIRI, + /* 0x38 */ GI_SWORD_RAZOR, + /* 0x39 */ GI_SWORD_GILDED, + /* 0x3A */ GI_BOMBCHUS_5, + /* 0x3B */ GI_SWORD_GREAT_FAIRY, + /* 0x3C */ GI_KEY_SMALL, /* 0x3D */ GI_KEY_BOSS, /* 0x3E */ GI_MAP, /* 0x3F */ GI_COMPASS, + /* 0x41 */ GI_HOOKSHOT = 0x41, + /* 0x42 */ GI_LENS, + /* 0x43 */ GI_PICTO_BOX, /* 0x4C */ GI_OCARINA = 0x4C, - /* 0x50 */ GI_50 = 0x50, - /* 0x52 */ GI_SCALE_GOLD = 0x52, // Assumed, used in En_Fishing - /* 0x59 */ GI_BOTTLE_POTION_RED = 0x59, + /* 0x50 */ GI_BOMBERS_NOTEBOOK = 0x50, + /* 0x52 */ GI_SKULL_TOKEN = 0x52, + /* 0x55 */ GI_REMAINS_ODOLWA = 0x55, + /* 0x56 */ GI_REMAINS_GOHT, + /* 0x57 */ GI_REMAINS_GYORG, + /* 0x58 */ GI_REMAINS_TWINMOLD, + /* 0x59 */ GI_POTION_RED_BOTTLE, // ITEM_LONGSHOT /* 0x5A */ GI_BOTTLE, /* 0x5B */ GI_POTION_RED, /* 0x5C */ GI_POTION_GREEN, /* 0x5D */ GI_POTION_BLUE, /* 0x5E */ GI_FAIRY, - /* 0x60 */ GI_MILK_BOTTLE = 0x60, + /* 0x5F */ GI_DEKU_PRINCESS, + /* 0x60 */ GI_MILK_BOTTLE, + /* 0x61 */ GI_MILK_HALF, + /* 0x62 */ GI_FISH, + /* 0x63 */ GI_BUG, + /* 0x64 */ GI_BLUE_FIRE, + /* 0x65 */ GI_POE, + /* 0x66 */ GI_BIG_POE, + /* 0x67 */ GI_SPRING_WATER, + /* 0x68 */ GI_HOT_SPRING_WATER, + /* 0x69 */ GI_ZORA_EGG, + /* 0x6A */ GI_GOLD_DUST, + /* 0x6B */ GI_MUSHROOM, + /* 0x6E */ GI_SEAHORSE = 0x6E, + /* 0x6F */ GI_CHATEAU_BOTTLE, /* 0x76 */ GI_ICE_TRAP = 0x76, /* 0x78 */ GI_MASK_DEKU = 0x78, /* 0x79 */ GI_MASK_GORON, @@ -369,72 +403,153 @@ typedef enum { /* 0x8F */ GI_MASK_KAFEIS_MASK, /* 0x91 */ GI_CHATEAU = 0x91, /* 0x92 */ GI_MILK, - /* 0x93 */ GI_GOLD_DUST, - /* 0x94 */ GI_EEL, // Unused bottled eel - /* 0x95 */ GI_SEAHORSE, + /* 0x93 */ GI_GOLD_DUST_2, + /* 0x94 */ GI_HYLIAN_LOACH, // Unused bottled eel + /* 0x95 */ GI_SEAHORSE_CAUGHT, /* 0x96 */ GI_MOON_TEAR, /* 0x97 */ GI_DEED_LAND, /* 0x98 */ GI_DEED_SWAMP, /* 0x99 */ GI_DEED_MOUNTAIN, /* 0x9A */ GI_DEED_OCEAN, - /* 0x9B */ GI_SWORD_GREAT_FAIRY, - /* 0x9C */ GI_SWORD_KOKIRI, - /* 0x9D */ GI_SWORD_RAZOR, - /* 0x9E */ GI_SWORD_GILDED, - /* 0x9F */ GI_SHIELD_HERO_2, // Code that treats this as hero's shield is unused, so take with a grain of salt - /* 0xA1 */ GI_LETTER_TO_MAMA = 0xA1, + /* 0x9B */ GI_SWORD_GREAT_FAIRY_STOLEN, + /* 0x9C */ GI_SWORD_KOKIRI_STOLEN, + /* 0x9D */ GI_SWORD_RAZOR_STOLEN, + /* 0x9E */ GI_SWORD_GILDED_STOLEN, + /* 0x9F */ GI_SHIELD_HERO_STOLEN, // Code that treats this as hero's shield is unused, implied as intended to be stolen + /* 0xA0 */ GI_ROOM_KEY, + /* 0xA1 */ GI_LETTER_TO_MAMA, /* 0xA9 */ GI_BOTTLE_STOLEN = 0xA9, // buy back stolen bottle /* 0xAA */ GI_LETTER_TO_KAFEI, /* 0xAB */ GI_PENDANT_OF_MEMORIES, - /* 0xBA */ GI_MAX = 0xBA + /* 0xB4 */ GI_TINGLE_MAP_CLOCK_TOWN = 0xB4, + /* 0xB5 */ GI_TINGLE_MAP_WOODFALL, + /* 0xB6 */ GI_TINGLE_MAP_SNOWHEAD, + /* 0xB7 */ GI_TINGLE_MAP_ROMANI_RANCH, + /* 0xB8 */ GI_TINGLE_MAP_GREAT_BAY, + /* 0xB9 */ GI_TINGLE_MAP_STONE_TOWER, + /* 0xBA */ GI_MAX } GetItemID; typedef enum { /* 0x00 */ GID_BOTTLE, - /* 0x01 */ GID_01, - /* 0x02 */ GID_02, - /* 0x03 */ GID_03, - /* 0x0A */ GID_COMPASS = 0x0A, - /* 0x0E */ GID_0E = 0x0E, - /* 0x0F */ GID_0F, - /* 0x10 */ GID_MASK_ALL_NIGHT = 0x10, + /* 0x01 */ GID_KEY_SMALL, + /* 0x02 */ GID_MASK_KAMARO, + /* 0x03 */ GID_MASK_COUPLE, + /* 0x04 */ GID_04, + /* 0x05 */ GID_05, + /* 0x06 */ GID_06, + /* 0x07 */ GID_07, + /* 0x08 */ GID_RECOVERY_HEART, + /* 0x09 */ GID_KEY_BOSS, + /* 0x0A */ GID_COMPASS, + /* 0x0B */ GID_BOMBERS_NOTEBOOK, + /* 0x0C */ GID_MASK_STONE, + /* 0x0D */ GID_MASK_KAFEIS_MASK, + /* 0x0E */ GID_MASK_CIRCUS_LEADER, + /* 0x0F */ GID_MASK_BREMEN, + /* 0x10 */ GID_MASK_ALL_NIGHT, /* 0x11 */ GID_NUTS, - /* 0x13 */ GID_13 = 0x13, - /* 0x17 */ GID_BOMB_BAG_20 = 0x17, + /* 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 = 0x1A, + /* 0x1A */ GID_STICK, /* 0x1B */ GID_DUNGEON_MAP, - /* 0x1E */ GID_BOMB = 0x1E, - /* 0x23 */ GID_ARROWS_SMALL = 0x23, + /* 0x1C */ GID_MAGIC_SMALL, + /* 0x1D */ GID_MAGIC_LARGE, + /* 0x1E */ GID_BOMB, + /* 0x1F */ GID_STONE_OF_AGONY, + /* 0x20 */ GID_WALLET_ADULT, + /* 0x21 */ GID_WALLET_GIANT, + /* 0x22 */ GID_MASK_DON_GERO, + /* 0x23 */ GID_ARROWS_SMALL, /* 0x24 */ GID_ARROWS_MEDIUM, /* 0x25 */ GID_ARROWS_LARGE, /* 0x26 */ GID_BOMBCHU, /* 0x27 */ GID_SHIELD_HERO, - /* 0x30 */ GID_POTION_GREEN = 0x30, + /* 0x28 */ GID_HOOKSHOT, + /* 0x29 */ GID_29, + /* 0x2A */ GID_OCARINA, + /* 0x2B */ GID_MILK, + /* 0x2C */ GID_MASK_KEATON, + /* 0x2D */ GID_TINGLE_MAP, + /* 0x2E */ GID_BOW, + /* 0x2F */ GID_LENS, + /* 0x30 */ GID_POTION_GREEN, /* 0x31 */ GID_POTION_RED, /* 0x32 */ GID_POTION_BLUE, /* 0x33 */ GID_SHIELD_MIRROR, - /* 0x39 */ GID_39 = 0x39, - /* 0x3A */ GID_3A, + /* 0x34 */ GID_MAGIC_BEANS, + /* 0x35 */ GID_FISH, + /* 0x36 */ GID_LETTER_MAMA, + /* 0x37 */ GID_37, + /* 0x38 */ GID_SWORD_BGS, + /* 0x39 */ GID_MASK_SUN, + /* 0x3A */ GID_MASK_BLAST, /* 0x3B */ GID_FAIRY, - /* 0x3E */ GID_3E = 0x3E, - /* 0x44 */ GID_44 = 0x44, - /* 0x45 */ GID_45, - /* 0x47 */ GID_47 = 0x47, - /* 0x4F */ GID_4F = 0x4F, - /* 0x50 */ GID_50, - /* 0x51 */ GID_51, - /* 0x53 */ GID_53 = 0x53, - /* 0x55 */ GID_SWORD_KOKIRI = 0x55, - /* 0x5B */ GID_MASK_DEKU = 0x5B, - /* 0x66 */ GID_SWORD_RAZOR = 0x66, + /* 0x3C */ GID_MASK_SCENTS, + /* 0x3D */ GID_MASK_CAPTAIN, + /* 0x3E */ GID_MASK_BUNNY, + /* 0x3F */ GID_MASK_TRUTH, + /* 0x40 */ GID_DEED_SWAMP, + /* 0x41 */ GID_DEED_MOUNTAIN, + /* 0x42 */ GID_RUPEE_HUGE, + /* 0x43 */ GID_DEED_OCEAN, + /* 0x44 */ GID_MASK_GORON, + /* 0x45 */ GID_MASK_ZORA, + /* 0x46 */ GID_46, + /* 0x47 */ GID_ARROW_FIRE, + /* 0x48 */ GID_ARROW_ICE, + /* 0x49 */ GID_ARROW_LIGHT, + /* 0x4A */ GID_SKULL_TOKEN, + /* 0x4B */ GID_BUG, + /* 0x4C */ GID_4C, + /* 0x4D */ GID_POE, + /* 0x4E */ GID_FAIRY_2, + /* 0x4F */ GID_RUPEE_GREEN, + /* 0x50 */ GID_RUPEE_BLUE, + /* 0x51 */ GID_RUPEE_RED, + /* 0x52 */ GID_BIG_POE, + /* 0x53 */ GID_RUPEE_PURPLE, + /* 0x54 */ GID_RUPEE_SILVER, + /* 0x55 */ GID_SWORD_KOKIRI, + /* 0x56 */ GID_SKULL_TOKEN_2, + /* 0x57 */ GID_57, + /* 0x58 */ GID_ZORA_EGG, + /* 0x59 */ GID_MOON_TEAR, + /* 0x5A */ GID_DEED_LAND, + /* 0x5B */ GID_MASK_DEKU, + /* 0x5C */ GID_REMAINS_ODOLWA, + /* 0x5D */ GID_POWDER_KEG, + /* 0x5E */ GID_GOLD_DUST, + /* 0x5F */ GID_SEAHORSE, + /* 0x60 */ GID_60, + /* 0x61 */ GID_HYLIAN_LOACH, + /* 0x62 */ GID_SEAHORSE_CAUGHT, + /* 0x63 */ GID_REMAINS_GOHT, + /* 0x64 */ GID_REMAINS_GYORG, + /* 0x65 */ GID_REMAINS_TWINMOLD, + /* 0x66 */ GID_SWORD_RAZOR, /* 0x67 */ GID_SWORD_GILDED, /* 0x68 */ GID_SWORD_GREAT_FAIRY, - /* 0x6A */ GID_MASK_GREAT_FAIRY = 0x6A, - /* 0x6B */ GID_6B, - /* 0x70 */ GID_70 = 0x70, - /* 0x71 */ GID_71 + /* 0x69 */ GID_MASK_GARO, + /* 0x6A */ GID_MASK_GREAT_FAIRY, + /* 0x6B */ GID_MASK_GIBDO, + /* 0x6C */ GID_ROOM_KEY, + /* 0x6D */ GID_LETTER_TO_KAFEI, + /* 0x6E */ GID_PENDANT_OF_MEMORIES, + /* 0x6F */ GID_MUSHROOM, + /* 0x70 */ GID_MASK_ROMANI, + /* 0x71 */ GID_MASK_POSTMAN, + /* 0x72 */ GID_MASK_GIANT, + /* 0x73 */ GID_CHATEAU, + /* 0x74 */ GID_PICTO_BOX, + /* 0x75 */ GID_MASK_FIERCE_DEITY, + /* 0x76 */ GID_MAX } GetItemDrawID; // This enum may not be real, and actionparam is just used directly. diff --git a/include/z64object.h b/include/z64object.h index 34035306b4..3b221088ac 100644 --- a/include/z64object.h +++ b/include/z64object.h @@ -207,7 +207,7 @@ typedef enum { /* 0x0C3 */ OBJECT_GI_SHIELD_3, /* 0x0C4 */ OBJECT_UNSET_C4, /* 0x0C5 */ OBJECT_UNSET_C5, - /* 0x0C6 */ OBJECT_GI_MAGIC_BEANS, + /* 0x0C6 */ OBJECT_GI_BEAN, /* 0x0C7 */ OBJECT_GI_FISH, /* 0x0C8 */ OBJECT_UNSET_C8, /* 0x0C9 */ OBJECT_UNSET_C9, diff --git a/include/z64player.h b/include/z64player.h index 86adaea1e0..0f74f5a6ce 100644 --- a/include/z64player.h +++ b/include/z64player.h @@ -98,7 +98,7 @@ typedef enum { /* 0x19 */ PLAYER_AP_BOTTLE_ZORA_EGG, /* 0x1A */ PLAYER_AP_BOTTLE_DEKU_PRINCESS, /* 0x1B */ PLAYER_AP_BOTTLE_GOLD_DUST, - /* 0x1D */ PLAYER_AP_BOTTLE_SEA_HORSE = 0x1D, + /* 0x1D */ PLAYER_AP_BOTTLE_SEAHORSE = 0x1D, /* 0x1E */ PLAYER_AP_BOTTLE_MUSHROOM, /* 0x1F */ PLAYER_AP_BOTTLE_HYLIAN_LOACH, /* 0x20 */ PLAYER_AP_BOTTLE_BUG, @@ -120,7 +120,7 @@ typedef enum { /* 0x30 */ PLAYER_AP_DEED_MOUNTAIN, /* 0x31 */ PLAYER_AP_DEED_OCEAN, /* 0x33 */ PLAYER_AP_LETTER_MAMA = 0x33, - /* 0x36 */ PLAYER_AP_PENDANT_MEMORIES = 0x36, + /* 0x36 */ PLAYER_AP_PENDANT_OF_MEMORIES = 0x36, /* 0x3A */ PLAYER_AP_MASK_TRUTH = 0x3A, /* 0x3B */ PLAYER_AP_MASK_KAFEIS_MASK, /* 0x3C */ PLAYER_AP_MASK_ALL_NIGHT, diff --git a/spec b/spec index 97597b7449..26341612cf 100644 --- a/spec +++ b/spec @@ -461,7 +461,6 @@ beginseg include "build/data/code/z_debug_mode.bss.o" include "build/src/code/z_demo.o" include "build/src/code/z_draw.o" - include "build/data/code/z_draw.data.o" include "build/src/code/z_eff_footmark.o" include "build/data/code/z_eff_footmark.data.o" include "build/src/code/z_sound_source.o" diff --git a/src/code/code_8012EC80.c b/src/code/code_8012EC80.c index 07cb436cfa..5649ae80c1 100644 --- a/src/code/code_8012EC80.c +++ b/src/code/code_8012EC80.c @@ -133,7 +133,7 @@ void* gItemIcons[] = { 0x08021000, // ITEM_ZORA_EGG 0x08022000, // ITEM_GOLD_DUST 0x08023000, // ITEM_MUSHROOM - 0x08024000, // ITEM_SEA_HORSE + 0x08024000, // ITEM_SEAHORSE 0x08025000, // ITEM_CHATEAU 0x08026000, // ITEM_HYLIAN_LOACH 0x08027000, // ITEM_OBABA_DRINK @@ -145,7 +145,7 @@ void* gItemIcons[] = { 0x0802D000, // ITEM_ROOM_KEY 0x0802E000, // ITEM_LETTER_MAMA 0x0802F000, // ITEM_LETTER_TO_KAFEI - 0x08030000, // ITEM_PENDANT_MEMORIES + 0x08030000, // ITEM_PENDANT_OF_MEMORIES 0x08031000, // ITEM_TINGLE_MAP 0x08032000, // ITEM_MASK_DEKU 0x08033000, // ITEM_MASK_GORON @@ -268,7 +268,7 @@ u8 gItemSlots[] = { SLOT_BOTTLE_1, // ITEM_ZORA_EGG SLOT_BOTTLE_1, // ITEM_GOLD_DUST SLOT_BOTTLE_1, // ITEM_MUSHROOM - SLOT_BOTTLE_1, // ITEM_SEA_HORSE + SLOT_BOTTLE_1, // ITEM_SEAHORSE SLOT_BOTTLE_1, // ITEM_CHATEAU SLOT_BOTTLE_1, // ITEM_HYLIAN_LOACH SLOT_BOTTLE_1, // ITEM_OBABA_DRINK @@ -280,7 +280,7 @@ u8 gItemSlots[] = { SLOT_TRADE_KEY_MAMA, // ITEM_ROOM_KEY SLOT_TRADE_KEY_MAMA, // ITEM_LETTER_MAMA SLOT_TRADE_COUPLE, // ITEM_LETTER_TO_KAFEI - SLOT_TRADE_COUPLE, // ITEM_PENDANT_MEMORIES + SLOT_TRADE_COUPLE, // ITEM_PENDANT_OF_MEMORIES SLOT_TRADE_COUPLE, // ITEM_TINGLE_MAP SLOT_MASK_DEKU, // ITEM_MASK_DEKU SLOT_MASK_GORON, // ITEM_MASK_GORON @@ -348,7 +348,7 @@ s16 gItemPrices[] = { 20, // ITEM_ZORA_EGG 200, // ITEM_GOLD_DUST 5, // ITEM_MUSHROOM - 0, // ITEM_SEA_HORSE + 0, // ITEM_SEAHORSE 200, // ITEM_CHATEAU 20, // ITEM_HYLIAN_LOACH 0, // ITEM_OBABA_DRINK @@ -360,7 +360,7 @@ s16 gItemPrices[] = { 0, // ITEM_ROOM_KEY 0, // ITEM_LETTER_MAMA 0, // ITEM_LETTER_KAFEI - 0, // ITEM_PENDANT_MEMORIES + 0, // ITEM_PENDANT_OF_MEMORIES 0, // ITEM_TINGLE_MAP }; diff --git a/src/code/z_draw.c b/src/code/z_draw.c index b31f796b7f..4167b4cea4 100644 --- a/src/code/z_draw.c +++ b/src/code/z_draw.c @@ -1,49 +1,843 @@ +/** + * @file z_draw.c + * @brief Draw get-item models + */ #include "global.h" +#include "assets/objects/object_gi_arrow/object_gi_arrow.h" +#include "assets/objects/object_gi_arrowcase/object_gi_arrowcase.h" +#include "assets/objects/object_gi_bean/object_gi_bean.h" +#include "assets/objects/object_gi_bigbomb/object_gi_bigbomb.h" +#include "assets/objects/object_gi_bomb_1/object_gi_bomb_1.h" +#include "assets/objects/object_gi_bomb_2/object_gi_bomb_2.h" +#include "assets/objects/object_gi_bombpouch/object_gi_bombpouch.h" +#include "assets/objects/object_gi_bosskey/object_gi_bosskey.h" +#include "assets/objects/object_gi_bottle_04/object_gi_bottle_04.h" +#include "assets/objects/object_gi_bottle_15/object_gi_bottle_15.h" +#include "assets/objects/object_gi_bottle_16/object_gi_bottle_16.h" +#include "assets/objects/object_gi_bottle_21/object_gi_bottle_21.h" +#include "assets/objects/object_gi_bottle_22/object_gi_bottle_22.h" +#include "assets/objects/object_gi_bottle_red/object_gi_bottle_red.h" +#include "assets/objects/object_gi_bottle/object_gi_bottle.h" +#include "assets/objects/object_gi_bow/object_gi_bow.h" +#include "assets/objects/object_gi_camera/object_gi_camera.h" +#include "assets/objects/object_gi_compass/object_gi_compass.h" +#include "assets/objects/object_gi_fieldmap/object_gi_fieldmap.h" +#include "assets/objects/object_gi_fish/object_gi_fish.h" +#include "assets/objects/object_gi_ghost/object_gi_ghost.h" +#include "assets/objects/object_gi_glasses/object_gi_glasses.h" +#include "assets/objects/object_gi_gold_dust/object_gi_gold_dust.h" +#include "assets/objects/object_gi_golonmask/object_gi_golonmask.h" +#include "assets/objects/object_gi_heart/object_gi_heart.h" +#include "assets/objects/object_gi_hearts/object_gi_hearts.h" +#include "assets/objects/object_gi_hookshot/object_gi_hookshot.h" +#include "assets/objects/object_gi_insect/object_gi_insect.h" +#include "assets/objects/object_gi_key/object_gi_key.h" +#include "assets/objects/object_gi_ki_tan_mask/object_gi_ki_tan_mask.h" +#include "assets/objects/object_gi_liquid/object_gi_liquid.h" +#include "assets/objects/object_gi_loach/object_gi_loach.h" +#include "assets/objects/object_gi_longsword/object_gi_longsword.h" +#include "assets/objects/object_gi_m_arrow/object_gi_m_arrow.h" +#include "assets/objects/object_gi_magicmushroom/object_gi_magicmushroom.h" +#include "assets/objects/object_gi_magicpot/object_gi_magicpot.h" +#include "assets/objects/object_gi_map/object_gi_map.h" +#include "assets/objects/object_gi_mask03/object_gi_mask03.h" +#include "assets/objects/object_gi_mask05/object_gi_mask05.h" +#include "assets/objects/object_gi_mask06/object_gi_mask06.h" +#include "assets/objects/object_gi_mask09/object_gi_mask09.h" +#include "assets/objects/object_gi_mask10/object_gi_mask10.h" +#include "assets/objects/object_gi_mask11/object_gi_mask11.h" +#include "assets/objects/object_gi_mask12/object_gi_mask12.h" +#include "assets/objects/object_gi_mask13/object_gi_mask13.h" +#include "assets/objects/object_gi_mask14/object_gi_mask14.h" +#include "assets/objects/object_gi_mask15/object_gi_mask15.h" +#include "assets/objects/object_gi_mask16/object_gi_mask16.h" +#include "assets/objects/object_gi_mask17/object_gi_mask17.h" +#include "assets/objects/object_gi_mask18/object_gi_mask18.h" +#include "assets/objects/object_gi_mask20/object_gi_mask20.h" +#include "assets/objects/object_gi_mask21/object_gi_mask21.h" +#include "assets/objects/object_gi_mask22/object_gi_mask22.h" +#include "assets/objects/object_gi_mask23/object_gi_mask23.h" +#include "assets/objects/object_gi_melody/object_gi_melody.h" +#include "assets/objects/object_gi_milk/object_gi_milk.h" +#include "assets/objects/object_gi_mssa/object_gi_mssa.h" +#include "assets/objects/object_gi_nuts/object_gi_nuts.h" +#include "assets/objects/object_gi_nutsmask/object_gi_nutsmask.h" +#include "assets/objects/object_gi_ocarina/object_gi_ocarina.h" +#include "assets/objects/object_gi_purse/object_gi_purse.h" +#include "assets/objects/object_gi_rabit_mask/object_gi_rabit_mask.h" +#include "assets/objects/object_gi_reserve_b_00/object_gi_reserve_b_00.h" +#include "assets/objects/object_gi_reserve_b_01/object_gi_reserve_b_01.h" +#include "assets/objects/object_gi_reserve_c_00/object_gi_reserve_c_00.h" +#include "assets/objects/object_gi_reserve_c_01/object_gi_reserve_c_01.h" +#include "assets/objects/object_gi_reserve00/object_gi_reserve00.h" +#include "assets/objects/object_gi_reserve01/object_gi_reserve01.h" +#include "assets/objects/object_gi_rupy/object_gi_rupy.h" +#include "assets/objects/object_gi_schedule/object_gi_schedule.h" +#include "assets/objects/object_gi_seahorse/object_gi_seahorse.h" +#include "assets/objects/object_gi_shield_2/object_gi_shield_2.h" +#include "assets/objects/object_gi_shield_3/object_gi_shield_3.h" +#include "assets/objects/object_gi_soldout/object_gi_soldout.h" +#include "assets/objects/object_gi_soul/object_gi_soul.h" +#include "assets/objects/object_gi_stick/object_gi_stick.h" +#include "assets/objects/object_gi_stonemask/object_gi_stonemask.h" +#include "assets/objects/object_gi_sutaru/object_gi_sutaru.h" +#include "assets/objects/object_gi_sword_1/object_gi_sword_1.h" +#include "assets/objects/object_gi_sword_2/object_gi_sword_2.h" +#include "assets/objects/object_gi_sword_3/object_gi_sword_3.h" +#include "assets/objects/object_gi_sword_4/object_gi_sword_4.h" +#include "assets/objects/object_gi_truth_mask/object_gi_truth_mask.h" +#include "assets/objects/object_gi_zoramask/object_gi_zoramask.h" +#include "assets/objects/object_bsmask/object_bsmask.h" +#include "assets/objects/object_st/object_st.h" -#pragma GLOBAL_ASM("asm/non_matchings/code/z_draw/GetItem_Draw.s") +void GetItem_DrawBombchu(PlayState* play, s16 drawId); +void GetItem_DrawPoes(PlayState* play, s16 drawId); +void GetItem_DrawFairyBottle(PlayState* play, s16 drawId); +void GetItem_DrawSkullToken(PlayState* play, s16 drawId); +void GetItem_DrawCompass(PlayState* play, s16 drawId); +void GetItem_DrawPotion(PlayState* play, s16 drawId); +void GetItem_DrawGoronSword(PlayState* play, s16 drawId); +void GetItem_DrawDekuNuts(PlayState* play, s16 drawId); +void GetItem_DrawRecoveryHeart(PlayState* play, s16 drawId); +void GetItem_DrawFish(PlayState* play, s16 drawId); +void GetItem_DrawOpa0(PlayState* play, s16 drawId); +void GetItem_DrawOpa0Xlu1(PlayState* play, s16 drawId); +void GetItem_DrawOpa01(PlayState* play, s16 drawId); +void GetItem_DrawXlu01(PlayState* play, s16 drawId); +void GetItem_DrawSeahorse(PlayState* play, s16 drawId); +void GetItem_DrawFairyContainer(PlayState* play, s16 drawId); +void GetItem_DrawMoonsTear(PlayState* play, s16 drawId); +void GetItem_DrawMagicArrow(PlayState* play, s16 drawId); +void GetItem_DrawUpgrades(PlayState* play, s16 drawId); +void GetItem_DrawRupee(PlayState* play, s16 drawId); +void GetItem_DrawSmallRupee(PlayState* play, s16 drawId); +void GetItem_DrawWallet(PlayState* play, s16 drawId); +void GetItem_DrawRemains(PlayState* play, s16 drawId); -#pragma GLOBAL_ASM("asm/non_matchings/code/z_draw/func_800EE364.s") +typedef struct { + /* 0x00 */ void (*drawFunc)(PlayState*, s16); + /* 0x04 */ void* drawResources[8]; // Either display lists (Gfx*) or matrices (Mtx*) +} DrawItemTableEntry; // size = 0x24 -#pragma GLOBAL_ASM("asm/non_matchings/code/z_draw/func_800EE400.s") +static DrawItemTableEntry sDrawItemTable[] = { + // GID_BOTTLE, OBJECT_GI_BOTTLE + { GetItem_DrawOpa0Xlu1, { gGiEmptyBottleCorkDL, gGiEmptyBottleGlassDL } }, + // GID_KEY_SMALL, OBJECT_GI_KEY + { GetItem_DrawOpa0, { gGiSmallKeyDL } }, + // GID_MASK_KAMARO, OBJECT_GI_MASK17 + { GetItem_DrawOpa01, { gGiKamaroMaskDL, gGiKamaroMaskEmptyDL } }, + // GID_MASK_COUPLE, OBJECT_GI_MASK13 + { GetItem_DrawOpa0Xlu1, { gGiCouplesMaskFullDL, gGiCouplesMaskHalfDL } }, + // GID_04, OBJECT_GI_MELODY + { GetItem_DrawXlu01, { gGiSerenadeColorDL, gGiSongNoteDL } }, + // GID_05, OBJECT_GI_MELODY + { GetItem_DrawXlu01, { gGiRequiemColorDL, gGiSongNoteDL } }, + // GID_06, OBJECT_GI_MELODY + { GetItem_DrawXlu01, { gGiNocturneColorDL, gGiSongNoteDL } }, + // GID_07, OBJECT_GI_MELODY + { GetItem_DrawXlu01, { gGiPreludeColorDL, gGiSongNoteDL } }, + // GID_RECOVERY_HEART, OBJECT_GI_HEART + { GetItem_DrawRecoveryHeart, { gGiRecoveryHeartDL } }, + // GID_KEY_BOSS, OBJECT_GI_KEY_BOSS + { GetItem_DrawOpa0Xlu1, { gGiBossKeyDL, gGiBossKeyGemDL } }, + // GID_COMPASS, OBJECT_GI_COMPASS + { GetItem_DrawCompass, { gGiCompassDL, gGiCompassGlassDL } }, + // GID_BOMBERS_NOTEBOOK, OBJECT_GI_SCHEDULE + { GetItem_DrawOpa0Xlu1, { gGiBombersNotebookEmptyDL, gGiBombersNotebookDL } }, + // GID_MASK_STONE, OBJECT_GI_STONEMASK + { GetItem_DrawOpa0Xlu1, { gGiStoneMaskEmptyDL, gGiStoneMaskDL } }, + // GID_MASK_KAFEIS_MASK, OBJECT_GI_MASK05 + { GetItem_DrawOpa01, { gGiKafeiMaskDL, gGiKafeiMaskEmptyDL } }, + // GID_MASK_CIRCUS_LEADER, OBJECT_GI_MASK11 + { GetItem_DrawOpa0Xlu1, { gGiCircusLeaderMaskFaceDL, gGiCircusLeaderMaskEyebrowsDL } }, + // GID_MASK_BREMEN, OBJECT_GI_MASK20 + { GetItem_DrawOpa01, { gGiBremenMaskDL, gGiBremenMaskEmptyDL } }, + // GID_MASK_ALL_NIGHT, OBJECT_GI_MASK06 + { GetItem_DrawOpa0Xlu1, { gGiAllNightMaskEyesDL, gGiAllNightMaskFaceDL } }, + // GID_NUTS, OBJECT_GI_NUTS + { GetItem_DrawDekuNuts, { gGiNutDL } }, + // GID_HEART_CONTAINER, OBJECT_GI_HEARTS + { GetItem_DrawXlu01, { gGiHeartBorderDL, gGiHeartContainerDL } }, + // GID_HEART_PIECE, OBJECT_GI_HEARTS + { GetItem_DrawXlu01, { gGiHeartBorderDL, gGiHeartPieceDL } }, + // GID_QUIVER_30, OBJECT_GI_ARROWCASE + { GetItem_DrawUpgrades, { gGiQuiverInnerDL, gGiQuiver30InnerColorDL, gGiQuiver30OuterColorDL, gGiQuiverOuterDL } }, + // GID_QUIVER_40, OBJECT_GI_ARROWCASE + { GetItem_DrawUpgrades, { gGiQuiverInnerDL, gGiQuiver40InnerColorDL, gGiQuiver40OuterColorDL, gGiQuiverOuterDL } }, + // GID_QUIVER_50, OBJECT_GI_ARROWCASE + { GetItem_DrawUpgrades, { gGiQuiverInnerDL, gGiQuiver50InnerColorDL, gGiQuiver50OuterColorDL, gGiQuiverOuterDL } }, + // GID_BOMB_BAG_20, OBJECT_GI_BOMBPOUCH + { GetItem_DrawUpgrades, { gGiBombBagDL, gGiBombBag20BagColorDL, gGiBombBag20RingColorDL, gGiBombBagRingDL } }, + // GID_BOMB_BAG_30, OBJECT_GI_BOMBPOUCH + { GetItem_DrawUpgrades, { gGiBombBagDL, gGiBombBag30BagColorDL, gGiBombBag30RingColorDL, gGiBombBagRingDL } }, + // GID_BOMB_BAG_40, OBJECT_GI_BOMBPOUCH + { GetItem_DrawUpgrades, { gGiBombBagDL, gGiBombBag40BagColorDL, gGiBombBag40RingColorDL, gGiBombBagRingDL } }, + // GID_STICK, OBJECT_GI_STICK + { GetItem_DrawOpa0, { gGiStickDL } }, + // GID_DUNGEON_MAP, OBJECT_GI_MAP + { GetItem_DrawOpa0, { gGiDungeonMapDL } }, + // GID_MAGIC_SMALL, OBJECT_GI_MAGICPOT + { GetItem_DrawOpa0, { gGiMagicJarSmallDL } }, + // GID_MAGIC_LARGE, OBJECT_GI_MAGICPOT + { GetItem_DrawOpa0, { gGiMagicJarLargeDL } }, + // GID_BOMB, OBJECT_GI_BOMB_1 + { GetItem_DrawOpa0, { gGiBombDL } }, + // GID_STONE_OF_AGONY, OBJECT_GI_MAP + { GetItem_DrawOpa0, { gGiStoneOfAgonyDL } }, + // GID_WALLET_ADULT, OBJECT_GI_PURSE + { GetItem_DrawWallet, + { gGiWalletDL, gGiAdultWalletColorDL, gGiAdultWalletRupeeOuterColorDL, gGiWalletRupeeOuterDL, + gGiAdultWalletStringColorDL, gGiWalletStringDL, gGiAdultWalletRupeeInnerColorDL, gGiWalletRupeeInnerDL } }, + // GID_WALLET_GIANT, OBJECT_GI_PURSE + { GetItem_DrawWallet, + { gGiWalletDL, gGiGiantsWalletColorDL, gGiGiantsWalletRupeeOuterColorDL, gGiWalletRupeeOuterDL, + gGiGiantsWalletStringColorDL, gGiWalletStringDL, gGiGiantsWalletRupeeInnerColorDL, gGiWalletRupeeInnerDL } }, + // GID_MASK_DON_GERO, OBJECT_GI_MASK16 + { GetItem_DrawOpa0Xlu1, { gGiDonGeroMaskFaceDL, gGiDonGeroMaskBodyDL } }, + // GID_ARROWS_SMALL, OBJECT_GI_ARROW + { GetItem_DrawOpa0, { gGiArrowSmallDL } }, + // GID_ARROWS_MEDIUM, OBJECT_GI_ARROW + { GetItem_DrawOpa0, { gGiArrowMediumDL } }, + // GID_ARROWS_LARGE, OBJECT_GI_ARROW + { GetItem_DrawOpa0, { gGiArrowLargeDL } }, + // GID_BOMBCHU, OBJECT_GI_BOMB_2 + { GetItem_DrawBombchu, { gGiBombchuDL } }, + // GID_SHIELD_HERO, OBJECT_GI_SHIELD_2 + { GetItem_DrawOpa0Xlu1, { gGiHerosShieldEmblemDL, gGiHerosShieldDL } }, + // GID_HOOKSHOT, OBJECT_GI_HOOKSHOT + { GetItem_DrawOpa01, { gGiHookshotEmptyDL, gGiHookshotDL } }, + // GID_29, OBJECT_GI_HOOKSHOT + { GetItem_DrawOpa01, { gGiHookshotEmptyDL, gGiHookshotDL } }, + // GID_OCARINA, OBJECT_GI_OCARINA + { GetItem_DrawOpa0Xlu1, { gGiOcarinaOfTimeDL, gGiOcarinaOfTimeHolesDL } }, + // GID_MILK, OBJECT_GI_MILK + { GetItem_DrawOpa0Xlu1, { gGiMilkBottleContentsDL, gGiMilkBottleGlassDL } }, + // GID_MASK_KEATON, OBJECT_GI_KI_TAN_MASK + { GetItem_DrawOpa0Xlu1, { gGiKeatonMaskDL, gGiKeatonMaskEyesDL } }, + // GID_TINGLE_MAP, OBJECT_GI_FIELDMAP + { GetItem_DrawOpa01, { gGiTingleMapDL, gGiTingleMapEmptyDL } }, + // GID_BOW, OBJECT_GI_BOW + { GetItem_DrawOpa01, { gGiBowHandleDL, gGiBowStringDL } }, + // GID_LENS, OBJECT_GI_GLASSES + { GetItem_DrawOpa0Xlu1, { gGiLensDL, gGiLensGlassDL } }, + // GID_POTION_GREEN, OBJECT_GI_LIQUID + { GetItem_DrawPotion, + { gGiPotionContainerPotDL, gGiPotionContainerGreenPotColorDL, gGiPotionContainerGreenLiquidColorDL, + gGiPotionContainerLiquidDL, gGiPotionContainerGreenPatternColorDL, gGiPotionContainerPatternDL } }, + // GID_POTION_RED, OBJECT_GI_LIQUID + { GetItem_DrawPotion, + { gGiPotionContainerPotDL, gGiPotionContainerRedPotColorDL, gGiPotionContainerRedLiquidColorDL, + gGiPotionContainerLiquidDL, gGiPotionContainerRedPatternColorDL, gGiPotionContainerPatternDL } }, + // GID_POTION_BLUE, OBJECT_GI_LIQUID + { GetItem_DrawPotion, + { gGiPotionContainerPotDL, gGiPotionContainerBluePotColorDL, gGiPotionContainerBlueLiquidColorDL, + gGiPotionContainerLiquidDL, gGiPotionContainerBluePatternColorDL, gGiPotionContainerPatternDL } }, + // GID_SHIELD_MIRROR, OBJECT_GI_SHIELD_3 + { GetItem_DrawOpa0Xlu1, { gGiMirrorShieldEmptyDL, gGiMirrorShieldDL } }, + // GID_MAGIC_BEANS, OBJECT_GI_BEAN + { GetItem_DrawOpa0, { gGiBeanDL } }, + // GID_FISH, OBJECT_GI_FISH + { GetItem_DrawFish, { gGiFishContainerDL } }, + // GID_LETTER_MAMA, OBJECT_GI_RESERVE_B_01 + { GetItem_DrawOpa0Xlu1, { gGiLetterToMamaEnvelopeLetterDL, gGiLetterToMamaInscriptionsDL } }, + // GID_37 + { GetItem_DrawOpa0, { NULL } }, + // GID_SWORD_BGS, OBJECT_GI_LONGSWORD + { GetItem_DrawGoronSword, { gGiBiggoronSwordDL } }, + // GID_MASK_SUN, OBJECT_GI_MSSA + { GetItem_DrawOpa0Xlu1, { gGiSunMaskFaceDL, gGiSunMaskEyesSidePatternsDL } }, + // GID_MASK_BLAST, OBJECT_GI_MASK21 + { GetItem_DrawOpa0Xlu1, { gGiBlastMaskEmptyDL, gGiBlastMaskDL } }, + // GID_FAIRY, OBJECT_GI_BOTTLE_04 + { GetItem_DrawFairyContainer, + { gGiFairyBottleEmptyDL, gGiFairyBottleGlassCorkDL, gGiFairyBottleContentsDL, &gGiFairyBottleBillboardRotMtx } }, + // GID_MASK_SCENTS, OBJECT_GI_MASK22 + { GetItem_DrawOpa01, { gGiMaskOfScentsFaceDL, gGiMaskOfScentsTeethDL } }, + // GID_MASK_CAPTAIN, OBJECT_GI_MASK18 + { GetItem_DrawOpa01, { gGiCaptainsHatBodyDL, gGiCaptainsHatFaceDL } }, + // GID_MASK_BUNNY, OBJECT_GI_RABIT_MASK + { GetItem_DrawOpa0Xlu1, { gGiBunnyHoodDL, gGiBunnyHoodEyesDL } }, + // GID_MASK_TRUTH, OBJECT_GI_TRUTH_MASK + { GetItem_DrawOpa0Xlu1, { gGiMaskOfTruthDL, gGiMaskOfTruthAccentsDL } }, + // GID_DEED_SWAMP, OBJECT_GI_RESERVE01 + { GetItem_DrawOpa01, { gGiTitleDeedEmptyDL, gGiTitleDeedSwampColorDL } }, + // GID_DEED_MOUNTAIN, OBJECT_GI_RESERVE01 + { GetItem_DrawOpa01, { gGiTitleDeedEmptyDL, gGiTitleDeedMountainColorDL } }, + // GID_RUPEE_HUGE, OBJECT_GI_RUPY + { GetItem_DrawRupee, { gGiRupeeInnerDL, gGiGoldRupeeInnerColorDL, gGiRupeeOuterDL, gGiGoldRupeeOuterColorDL } }, + // GID_DEED_OCEAN, OBJECT_GI_RESERVE01 + { GetItem_DrawOpa01, { gGiTitleDeedEmptyDL, gGiTitleDeedOceanColorDL } }, + // GID_MASK_GORON, OBJECT_GI_GOLONMASK + { GetItem_DrawOpa0Xlu1, { gGiGoronMaskEmptyDL, gGiGoronMaskDL } }, + // GID_MASK_ZORA, OBJECT_GI_ZORAMASK + { GetItem_DrawOpa01, { gGiZoraMaskEmptyDL, gGiZoraMaskDL } }, + // GID_46 + { GetItem_DrawBombchu, { NULL } }, + // GID_ARROW_FIRE, OBJECT_GI_M_ARROW + { GetItem_DrawMagicArrow, { gGiMagicArrowAmmoDL, gGiMagicArrowFireColorDL, gGiMagicArrowGlowDL } }, + // GID_ARROW_ICE, OBJECT_GI_M_ARROW + { GetItem_DrawMagicArrow, { gGiMagicArrowAmmoDL, gGiMagicArrowIceColorDL, gGiMagicArrowGlowDL } }, + // GID_ARROW_LIGHT, OBJECT_GI_M_ARROW + { GetItem_DrawMagicArrow, { gGiMagicArrowAmmoDL, gGiMagicArrowLightColorDL, gGiMagicArrowGlowDL } }, + // GID_SKULL_TOKEN, OBJECT_GI_SUTARU + { GetItem_DrawSkullToken, { gGiSkulltulaTokenDL, gGiSkulltulaTokenFlameDL } }, + // GID_BUG, OBJECT_GI_INSECT + { GetItem_DrawOpa0Xlu1, { gGiBugContainerContentsDL, gGiBugContainerGlassDL } }, + // GID_4C + { GetItem_DrawOpa0Xlu1, { NULL } }, + // GID_POE, OBJECT_GI_GHOST + { GetItem_DrawPoes, + { gGiPoeContainerLidDL, gGiPoeContainerGlassDL, gGiPoeContainerContentsDL, gGiPoeContainerPoeColorDL } }, + // GID_FAIRY_2, OBJECT_GI_SOUL + { GetItem_DrawFairyBottle, { gGiFairyContainerBaseCapDL, gGiFairyContainerGlassDL, gGiFairyContainerContentsDL } }, + // GID_RUPEE_GREEN, OBJECT_GI_RUPY + { GetItem_DrawSmallRupee, + { gGiRupeeInnerDL, gGiGreenRupeeInnerColorDL, gGiRupeeOuterDL, gGiGreenRupeeOuterColorDL } }, + // GID_RUPEE_BLUE, OBJECT_GI_RUPY + { GetItem_DrawSmallRupee, + { gGiRupeeInnerDL, gGiBlueRupeeInnerColorDL, gGiRupeeOuterDL, gGiBlueRupeeOuterColorDL } }, + // GID_RUPEE_RED, OBJECT_GI_RUPY + { GetItem_DrawSmallRupee, { gGiRupeeInnerDL, gGiRedRupeeInnerColorDL, gGiRupeeOuterDL, gGiRedRupeeOuterColorDL } }, + // GID_BIG_POE, OBJECT_GI_GHOST + { GetItem_DrawPoes, + { gGiPoeContainerLidDL, gGiPoeContainerGlassDL, gGiPoeContainerContentsDL, gGiPoeContainerBigPoeColorDL } }, + // GID_RUPEE_PURPLE, OBJECT_GI_RUPY + { GetItem_DrawRupee, { gGiRupeeInnerDL, gGiPurpleRupeeInnerColorDL, gGiRupeeOuterDL, gGiPurpleRupeeOuterColorDL } }, + // GID_RUPEE_SILVER, OBJECT_GI_RUPY + { GetItem_DrawRupee, { gGiRupeeInnerDL, gGiSilverRupeeInnerColorDL, gGiRupeeOuterDL, gGiSilverRupeeOuterColorDL } }, + // GID_SWORD_KOKIRI, OBJECT_GI_SWORD_1 + { GetItem_DrawOpa01, { gGiKokiriSwordBladeHiltDL, gGiKokiriSwordGuardDL } }, + // GID_SKULL_TOKEN_2, OBJECT_ST + { GetItem_DrawSkullToken, { gSkulltulaTokenDL, gSkulltulaTokenFlameDL } }, + // GID_57, OBJECT_GI_BOTTLE_RED + { GetItem_DrawOpa0Xlu1, { gGiRedPotionBottleEmptyDL, gGiRedPotionBottleDL } }, + // GID_ZORA_EGG, OBJECT_GI_BOTTLE_15 + { GetItem_DrawOpa0Xlu1, { gGiZoraEggBottleContentsDL, gGiZoraEggBottleGlassAndCorkDL } }, + // GID_MOON_TEAR, OBJECT_GI_RESERVE00 + { GetItem_DrawMoonsTear, { gGiMoonsTearItemDL, gGiMoonsTearGlowDL } }, + // GID_DEED_LAND, OBJECT_GI_RESERVE01 + { GetItem_DrawOpa01, { gGiTitleDeedEmptyDL, gGiTitleDeedLandColorDL } }, + // GID_MASK_DEKU, OBJECT_GI_NUTSMASK + { GetItem_DrawOpa0Xlu1, { gGiDekuMaskEmptyDL, gGiDekuMaskDL } }, + // GID_REMAINS_ODOLWA, OBJECT_BSMASK + { GetItem_DrawRemains, { gRemainsOdolwaDL, gRemainsOdolwaDL } }, + // GID_POWDER_KEG, OBJECT_GI_BIGBOMB + { GetItem_DrawOpa0Xlu1, { gGiPowderKegBarrelDL, gGiPowderKegGoronSkullAndFuseDL } }, + // GID_GOLD_DUST, OBJECT_GI_GOLD_DUST + { GetItem_DrawOpa01, { gGiGoldDustPowderDL, gGiGoldDustPowderEmptyDL } }, + // GID_SEAHORSE, OBJECT_GI_BOTTLE_16 + { GetItem_DrawOpa0Xlu1, { gGiSeahorseBottleEmptyDL, gGiSeahorseBottleGlassAndCorkDL } }, + // GID_60, OBJECT_GI_BOTTLE_22 + { GetItem_DrawOpa0Xlu1, { gGiHylianLoachBottleContentsDL, gGiHylianLoachBottleGlassCorkWaterDL } }, + // GID_HYLIAN_LOACH, OBJECT_GI_LOACH + { GetItem_DrawOpa0Xlu1, { gGiHylianLoachEmptyDL, gGiHylianLoachDL } }, + // GID_SEAHORSE_CAUGHT, OBJECT_GI_SEAHORSE + { GetItem_DrawSeahorse, { gGiSeahorseEmptyDL, gGiSeahorseBodyDL, gGiSeahorseGlowDL, &gGiSeahorseBillboardRotMtx } }, + // GID_REMAINS_GOHT, OBJECT_BSMASK + { GetItem_DrawRemains, { gRemainsGohtDL, gRemainsGohtDL } }, + // GID_REMAINS_GYORG, OBJECT_BSMASK + { GetItem_DrawRemains, { gRemainsGyorgDL, gRemainsGyorgDL } }, + // GID_REMAINS_TWINMOLD, OBJECT_BSMASK + { GetItem_DrawRemains, { gRemainsTwinmoldDL, gRemainsTwinmoldDL } }, + // GID_SWORD_RAZOR, OBJECT_GI_SWORD_2 + { GetItem_DrawOpa01, { gGiRazorSwordDL, gGiRazorSwordEmptyDL } }, + // GID_SWORD_GILDED, OBJECT_GI_SWORD_3 + { GetItem_DrawOpa01, { gGiGildedSwordDL, gGiGildedSwordEmptyDL } }, + // GID_SWORD_GREAT_FAIRY, OBJECT_GI_SWORD_4 + { GetItem_DrawOpa0Xlu1, { gGiGreatFairySwordBladeDL, gGiGreatFairySwordHiltEmblemDL } }, + // GID_MASK_GARO, OBJECT_GI_MASK09 + { GetItem_DrawOpa0Xlu1, { gGiGarosMaskCloakDL, gGiGarosMaskFaceDL } }, + // GID_MASK_GREAT_FAIRY, OBJECT_GI_MASK14 + { GetItem_DrawOpa0Xlu1, { gGiGreatFairyMaskFaceDL, gGiGreatFairyMaskLeavesDL } }, + // GID_MASK_GIBDO, OBJECT_GI_MASK15 + { GetItem_DrawOpa0Xlu1, { gGiGibdoMaskEmptyDL, gGiGibdoMaskDL } }, + // GID_ROOM_KEY, OBJECT_GI_RESERVE_B_00 + { GetItem_DrawOpa0Xlu1, { gGiRoomKeyEmptyDL, gGiRoomKeyDL } }, + // GID_LETTER_TO_KAFEI, OBJECT_GI_RESERVE_C_00 + { GetItem_DrawOpa0Xlu1, { gGiLetterToKafeiEnvelopeLetterDL, gGiLetterToKafeiInscriptionsDL } }, + // GID_PENDANT_OF_MEMORIES, OBJECT_GI_RESERVE_C_01 + { GetItem_DrawOpa0Xlu1, { gGiPendantOfMemoriesEmptyDL, gGiPendantOfMemoriesDL } }, + // GID_MUSHROOM, OBJECT_GI_MAGICMUSHROOM + { GetItem_DrawOpa0Xlu1, { gGiMagicMushroomEmptyDL, gGiMagicMushroomDL } }, + // GID_MASK_ROMANI, OBJECT_GI_MASK10 + { GetItem_DrawOpa0Xlu1, { gGiRomaniMaskCapDL, gGiRomaniMaskNoseEyeDL } }, + // GID_MASK_POSTMAN, OBJECT_GI_MASK12 + { GetItem_DrawOpa0Xlu1, { gGiPostmanHatCapDL, gGiPostmanHatBunnyLogoDL } }, + // GID_MASK_GIANT, OBJECT_GI_MASK23 + { GetItem_DrawOpa01, { gGiGiantMaskEmptyDL, gGiGiantMaskDL } }, + // GID_CHATEAU, OBJECT_GI_BOTTLE_21 + { GetItem_DrawOpa0Xlu1, { gGiChateauRomaniBottleEmptyDL, gGiChateauRomaniBottleDL } }, + // GID_PICTO_BOX, OBJECT_GI_CAMERA + { GetItem_DrawOpa0Xlu1, { gGiPictoBoxFrameDL, gGiPictoBoxBodyAndLensDL } }, + // GID_MASK_FIERCE_DEITY, OBJECT_GI_MASK03 + { GetItem_DrawOpa01, { gGiFierceDeityMaskFaceDL, gGiFierceDeityMaskHairAndHatDL } }, +}; -#pragma GLOBAL_ASM("asm/non_matchings/code/z_draw/func_800EE5FC.s") +/** + * Draw "Get Item" Model + * Calls the corresponding draw function for the given draw ID + */ +void GetItem_Draw(PlayState* play, s16 drawId) { + sDrawItemTable[drawId].drawFunc(play, drawId); +} -#pragma GLOBAL_ASM("asm/non_matchings/code/z_draw/func_800EE7D8.s") +void GetItem_DrawBombchu(PlayState* play, s16 drawId) { + s32 pad; -#pragma GLOBAL_ASM("asm/non_matchings/code/z_draw/func_800EE940.s") + OPEN_DISPS(play->state.gfxCtx); -#pragma GLOBAL_ASM("asm/non_matchings/code/z_draw/func_800EEA48.s") + func_8012C214(play->state.gfxCtx); -#pragma GLOBAL_ASM("asm/non_matchings/code/z_draw/func_800EEC18.s") + gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].drawResources[0]); -#pragma GLOBAL_ASM("asm/non_matchings/code/z_draw/func_800EED20.s") + CLOSE_DISPS(play->state.gfxCtx); +} -#pragma GLOBAL_ASM("asm/non_matchings/code/z_draw/func_800EEE34.s") +void GetItem_DrawPoes(PlayState* play, s16 drawId) { + s32 pad; -#pragma GLOBAL_ASM("asm/non_matchings/code/z_draw/func_800EEF4C.s") + OPEN_DISPS(play->state.gfxCtx); -#pragma GLOBAL_ASM("asm/non_matchings/code/z_draw/func_800EF054.s") + func_8012C28C(play->state.gfxCtx); -#pragma GLOBAL_ASM("asm/non_matchings/code/z_draw/func_800EF0F0.s") + gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].drawResources[0]); -#pragma GLOBAL_ASM("asm/non_matchings/code/z_draw/func_800EF1F4.s") + func_8012C2DC(play->state.gfxCtx); -#pragma GLOBAL_ASM("asm/non_matchings/code/z_draw/func_800EF2AC.s") + gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[drawId].drawResources[1]); -#pragma GLOBAL_ASM("asm/non_matchings/code/z_draw/func_800EF364.s") + gSPSegment(POLY_XLU_DISP++, 0x08, + Gfx_TwoTexScroll(play->state.gfxCtx, G_TX_RENDERTILE, play->state.frames * 0, play->state.frames * 0, 16, + 32, 1, play->state.frames, -(play->state.frames * 6), 16, 32)); -#pragma GLOBAL_ASM("asm/non_matchings/code/z_draw/func_800EF4D4.s") + Matrix_Push(); + Matrix_ReplaceRotation(&play->billboardMtxF); -#pragma GLOBAL_ASM("asm/non_matchings/code/z_draw/func_800EF65C.s") + gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[drawId].drawResources[3]); + gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[drawId].drawResources[2]); -#pragma GLOBAL_ASM("asm/non_matchings/code/z_draw/func_800EF780.s") + Matrix_Pop(); -#pragma GLOBAL_ASM("asm/non_matchings/code/z_draw/func_800EF89C.s") + CLOSE_DISPS(play->state.gfxCtx); +} -#pragma GLOBAL_ASM("asm/non_matchings/code/z_draw/func_800EF984.s") +void GetItem_DrawFairyBottle(PlayState* play, s16 drawId) { + s32 pad; -#pragma GLOBAL_ASM("asm/non_matchings/code/z_draw/func_800EFAB8.s") + OPEN_DISPS(play->state.gfxCtx); -#pragma GLOBAL_ASM("asm/non_matchings/code/z_draw/func_800EFBFC.s") + func_8012C28C(play->state.gfxCtx); -#pragma GLOBAL_ASM("asm/non_matchings/code/z_draw/func_800EFD44.s") + gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].drawResources[0]); + + func_8012C2DC(play->state.gfxCtx); + + gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[drawId].drawResources[1]); + gSPSegment(POLY_XLU_DISP++, 0x08, + Gfx_TwoTexScroll(play->state.gfxCtx, G_TX_RENDERTILE, play->state.frames * 0, play->state.frames * 0, 32, + 32, 1, play->state.frames, -(play->state.frames * 6), 32, 32)); + + Matrix_Push(); + Matrix_ReplaceRotation(&play->billboardMtxF); + + gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[drawId].drawResources[2]); + + Matrix_Pop(); + + CLOSE_DISPS(play->state.gfxCtx); +} + +void GetItem_DrawSkullToken(PlayState* play, s16 drawId) { + s32 pad; + + OPEN_DISPS(play->state.gfxCtx); + + func_8012C28C(play->state.gfxCtx); + + gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].drawResources[0]); + + func_8012C2DC(play->state.gfxCtx); + + gSPSegment(POLY_XLU_DISP++, 0x08, + Gfx_TwoTexScroll(play->state.gfxCtx, G_TX_RENDERTILE, play->state.frames * 0, -(play->state.frames * 5), + 32, 32, 1, play->state.frames * 0, play->state.frames * 0, 32, 64)); + gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[drawId].drawResources[1]); + + CLOSE_DISPS(play->state.gfxCtx); +} + +void GetItem_DrawCompass(PlayState* play, s16 drawId) { + s32 pad; + + OPEN_DISPS(play->state.gfxCtx); + + func_8012C28C(play->state.gfxCtx); + + gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].drawResources[0]); + + POLY_XLU_DISP = Gfx_CallSetupDL(POLY_XLU_DISP, 5); + + gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[drawId].drawResources[1]); + + CLOSE_DISPS(play->state.gfxCtx); +} + +void GetItem_DrawPotion(PlayState* play, s16 drawId) { + s32 pad; + + OPEN_DISPS(play->state.gfxCtx); + + func_8012C28C(play->state.gfxCtx); + + gSPSegment(POLY_OPA_DISP++, 0x08, + Gfx_TwoTexScroll(play->state.gfxCtx, G_TX_RENDERTILE, -play->state.frames, play->state.frames, 32, 32, 1, + -play->state.frames, play->state.frames, 32, 32)); + gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].drawResources[1]); + gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].drawResources[0]); + gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].drawResources[2]); + gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].drawResources[3]); + + func_8012C2DC(play->state.gfxCtx); + + gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[drawId].drawResources[4]); + gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[drawId].drawResources[5]); + + CLOSE_DISPS(play->state.gfxCtx); +} + +void GetItem_DrawGoronSword(PlayState* play, s16 drawId) { + s32 pad; + + OPEN_DISPS(play->state.gfxCtx); + + func_8012C28C(play->state.gfxCtx); + + gSPSegment(POLY_OPA_DISP++, 0x08, + Gfx_TwoTexScroll(play->state.gfxCtx, G_TX_RENDERTILE, play->state.frames * 1, play->state.frames * 0, 32, + 32, 1, play->state.frames * 0, play->state.frames * 0, 32, 32)); + gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].drawResources[0]); + + CLOSE_DISPS(play->state.gfxCtx); +} + +void GetItem_DrawDekuNuts(PlayState* play, s16 drawId) { + s32 pad; + + OPEN_DISPS(play->state.gfxCtx); + + func_8012C28C(play->state.gfxCtx); + + gSPSegment(POLY_OPA_DISP++, 0x08, + Gfx_TwoTexScroll(play->state.gfxCtx, G_TX_RENDERTILE, play->state.frames * 6, play->state.frames * 6, 32, + 32, 1, play->state.frames * 6, play->state.frames * 6, 32, 32)); + gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].drawResources[0]); + + CLOSE_DISPS(play->state.gfxCtx); +} + +void GetItem_DrawRecoveryHeart(PlayState* play, s16 drawId) { + s32 pad; + + OPEN_DISPS(play->state.gfxCtx); + + func_8012C2DC(play->state.gfxCtx); + + gSPSegment(POLY_XLU_DISP++, 0x08, + Gfx_TwoTexScroll(play->state.gfxCtx, G_TX_RENDERTILE, play->state.frames * 0, -(play->state.frames * 3), + 32, 32, 1, play->state.frames * 0, -(play->state.frames * 2), 32, 32)); + gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[drawId].drawResources[0]); + + CLOSE_DISPS(play->state.gfxCtx); +} + +void GetItem_DrawFish(PlayState* play, s16 drawId) { + s32 pad; + + OPEN_DISPS(play->state.gfxCtx); + + func_8012C2DC(play->state.gfxCtx); + + gSPSegment(POLY_XLU_DISP++, 0x08, + Gfx_TwoTexScroll(play->state.gfxCtx, G_TX_RENDERTILE, play->state.frames * 0, play->state.frames * 1, 32, + 32, 1, play->state.frames * 0, play->state.frames * 1, 32, 32)); + gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[drawId].drawResources[0]); + + CLOSE_DISPS(play->state.gfxCtx); +} + +/** + * Draw `drawResources[0]` as Opa + */ +void GetItem_DrawOpa0(PlayState* play, s16 drawId) { + s32 pad; + + OPEN_DISPS(play->state.gfxCtx); + + func_8012C28C(play->state.gfxCtx); + + gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].drawResources[0]); + + CLOSE_DISPS(play->state.gfxCtx); +} + +/** + * Draw `drawResources[0]` as Opa and `drawResources[1]` as Xlu + */ +void GetItem_DrawOpa0Xlu1(PlayState* play, s16 drawId) { + s32 pad; + + OPEN_DISPS(play->state.gfxCtx); + + func_8012C28C(play->state.gfxCtx); + + gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].drawResources[0]); + + func_8012C2DC(play->state.gfxCtx); + + gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[drawId].drawResources[1]); + + CLOSE_DISPS(play->state.gfxCtx); +} + +/** + * Draw `drawResources[0]` and `drawResources[1]` as Opa + */ +void GetItem_DrawOpa01(PlayState* play, s16 drawId) { + s32 pad; + + OPEN_DISPS(play->state.gfxCtx); + + func_8012C28C(play->state.gfxCtx); + + gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].drawResources[0]); + gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].drawResources[1]); + + CLOSE_DISPS(play->state.gfxCtx); +} + +/** + * Draw `drawResources[0]` and `drawResources[1]` as Xlu + */ +void GetItem_DrawXlu01(PlayState* play, s16 drawId) { + s32 pad; + + OPEN_DISPS(play->state.gfxCtx); + + func_8012C2DC(play->state.gfxCtx); + + gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[drawId].drawResources[0]); + gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[drawId].drawResources[1]); + + CLOSE_DISPS(play->state.gfxCtx); +} + +void GetItem_DrawSeahorse(PlayState* play, s16 drawId) { + s32 pad; + MtxF mtx; + + OPEN_DISPS(play->state.gfxCtx); + + func_8012C28C(play->state.gfxCtx); + + gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].drawResources[0]); + + func_8012C2DC(play->state.gfxCtx); + + gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[drawId].drawResources[1]); + + Matrix_MtxToMtxF(Lib_SegmentedToVirtual(sDrawItemTable[drawId].drawResources[3]), &mtx); + Matrix_Mult(&mtx, MTXMODE_APPLY); + Matrix_ReplaceRotation(&play->billboardMtxF); + + gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[drawId].drawResources[2]); + + CLOSE_DISPS(play->state.gfxCtx); +} + +void GetItem_DrawFairyContainer(PlayState* play, s16 drawId) { + s32 pad; + MtxF mtx; + + OPEN_DISPS(play->state.gfxCtx); + + func_8012C28C(play->state.gfxCtx); + func_8012C2DC(play->state.gfxCtx); + AnimatedMat_Draw(play, Lib_SegmentedToVirtual(gGiFairyBottleTexAnim)); + + gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].drawResources[0]); + + gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[drawId].drawResources[1]); + + Matrix_MtxToMtxF(Lib_SegmentedToVirtual(sDrawItemTable[drawId].drawResources[3]), &mtx); + Matrix_Mult(&mtx, MTXMODE_APPLY); + Matrix_ReplaceRotation(&play->billboardMtxF); + + gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[drawId].drawResources[2]); + + CLOSE_DISPS(play->state.gfxCtx); +} + +void GetItem_DrawMoonsTear(PlayState* play, s16 drawId) { + s32 pad; + + OPEN_DISPS(play->state.gfxCtx); + + func_8012C28C(play->state.gfxCtx); + func_8012C2DC(play->state.gfxCtx); + AnimatedMat_Draw(play, Lib_SegmentedToVirtual(gGiMoonsTearTexAnim)); + + gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].drawResources[0]); + + Matrix_ReplaceRotation(&play->billboardMtxF); + + gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[drawId].drawResources[1]); + + CLOSE_DISPS(play->state.gfxCtx); +} + +void GetItem_DrawMagicArrow(PlayState* play, s16 drawId) { + s32 pad; + + OPEN_DISPS(play->state.gfxCtx); + + func_8012C28C(play->state.gfxCtx); + + gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].drawResources[0]); + + func_8012C2DC(play->state.gfxCtx); + + gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[drawId].drawResources[1]); + gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[drawId].drawResources[2]); + + CLOSE_DISPS(play->state.gfxCtx); +} + +void GetItem_DrawUpgrades(PlayState* play, s16 drawId) { + s32 pad; + + OPEN_DISPS(play->state.gfxCtx); + + func_8012C28C(play->state.gfxCtx); + + gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].drawResources[1]); + gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].drawResources[0]); + gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].drawResources[2]); + gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].drawResources[3]); + + CLOSE_DISPS(play->state.gfxCtx); +} + +void GetItem_DrawRupee(PlayState* play, s16 drawId) { + s32 pad; + + OPEN_DISPS(play->state.gfxCtx); + + func_8012C28C(play->state.gfxCtx); + + gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].drawResources[1]); + gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].drawResources[0]); + + func_8012C2DC(play->state.gfxCtx); + + gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[drawId].drawResources[3]); + gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[drawId].drawResources[2]); + + CLOSE_DISPS(play->state.gfxCtx); +} + +void GetItem_DrawSmallRupee(PlayState* play, s16 drawId) { + s32 pad; + + OPEN_DISPS(play->state.gfxCtx); + + Matrix_Scale(0.7f, 0.7f, 0.7f, MTXMODE_APPLY); + func_8012C28C(play->state.gfxCtx); + + gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].drawResources[1]); + gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].drawResources[0]); + + func_8012C2DC(play->state.gfxCtx); + + gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[drawId].drawResources[3]); + gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[drawId].drawResources[2]); + + CLOSE_DISPS(play->state.gfxCtx); +} + +void GetItem_DrawWallet(PlayState* play, s16 drawId) { + s32 pad; + + OPEN_DISPS(play->state.gfxCtx); + + func_8012C28C(play->state.gfxCtx); + + gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].drawResources[1]); + gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].drawResources[0]); + gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].drawResources[2]); + gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].drawResources[3]); + gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].drawResources[4]); + gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].drawResources[5]); + gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].drawResources[6]); + gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].drawResources[7]); + + CLOSE_DISPS(play->state.gfxCtx); +} + +void GetItem_DrawRemains(PlayState* play, s16 drawId) { + s32 pad; + s8 objectIndex; + + OPEN_DISPS(play->state.gfxCtx); + + objectIndex = Object_GetIndex(&play->objectCtx, OBJECT_BSMASK); + + gSPSegment(POLY_OPA_DISP++, 0x06, play->objectCtx.status[objectIndex].segment); + + func_8012C28C(play->state.gfxCtx); + Matrix_Scale(0.02f, 0.02f, 0.02f, MTXMODE_APPLY); + + gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].drawResources[0]); + + POLY_OPA_DISP = func_801660B8(play, POLY_OPA_DISP); + + CLOSE_DISPS(play->state.gfxCtx); +} diff --git a/src/code/z_en_item00.c b/src/code/z_en_item00.c index 87f1a18029..0637f6392a 100644 --- a/src/code/z_en_item00.c +++ b/src/code/z_en_item00.c @@ -79,14 +79,14 @@ void EnItem00_Init(Actor* thisx, PlayState* play) { if (this->actor.params == ITEM00_HEART_PIECE) { sp30 = 0; this->collectibleFlag = 0; - this->actor.params = ITEM00_HEART; + this->actor.params = ITEM00_RECOVERY_HEART; } else { Actor_MarkForDeath(&this->actor); return; } } if (this->actor.params == ITEM00_3_HEARTS) { - this->actor.params = ITEM00_HEART; + this->actor.params = ITEM00_RECOVERY_HEART; } Actor_ProcessInitChain(&this->actor, sInitChain); @@ -118,7 +118,7 @@ void EnItem00_Init(Actor* thisx, PlayState* play) { sp30 = -1; } break; - case ITEM00_HEART: + case ITEM00_RECOVERY_HEART: this->actor.home.rot.z = randPlusMinusPoint5Scaled(65535.0f); shadowOffset = 430.0f; Actor_SetScale(&this->actor, 0.02f); @@ -184,7 +184,7 @@ void EnItem00_Init(Actor* thisx, PlayState* play) { ActorShape_Init(&this->actor.shape, shadowOffset, ActorShadow_DrawCircle, shadowScale); this->actor.shape.shadowAlpha = 180; this->actor.focus.pos = this->actor.world.pos; - this->unk14A = GI_NONE; + this->getItemId = GI_NONE; if (sp30 < 0) { this->actionFunc = EnItem00_WaitForHeartObject; @@ -220,8 +220,8 @@ void EnItem00_Init(Actor* thisx, PlayState* play) { case ITEM00_RUPEE_HUGE: Item_Give(play, ITEM_RUPEE_HUGE); break; - case ITEM00_HEART: - Item_Give(play, ITEM_HEART); + case ITEM00_RECOVERY_HEART: + Item_Give(play, ITEM_RECOVERY_HEART); break; case ITEM00_FLEXIBLE: case ITEM00_BIG_FAIRY: @@ -287,7 +287,8 @@ void EnItem00_WaitForHeartObject(EnItem00* this, PlayState* play) { } void func_800A640C(EnItem00* this, PlayState* play) { - if ((this->actor.params <= ITEM00_RUPEE_RED) || ((this->actor.params == ITEM00_HEART) && (this->unk152 < 0)) || + if ((this->actor.params <= ITEM00_RUPEE_RED) || + ((this->actor.params == ITEM00_RECOVERY_HEART) && (this->unk152 < 0)) || (this->actor.params == ITEM00_HEART_PIECE) || (this->actor.params == ITEM00_HEART_CONTAINER)) { this->actor.shape.rot.y = this->actor.shape.rot.y + 960; } else if ((this->actor.params >= ITEM00_SHIELD_HERO) && (this->actor.params != ITEM00_NUTS_10) && @@ -367,7 +368,7 @@ void func_800A6780(EnItem00* this, PlayState* play) { this->unk152++; - if (this->actor.params == ITEM00_HEART) { + if (this->actor.params == ITEM00_RECOVERY_HEART) { if (this->actor.velocity.y < 0.0f) { this->actor.speedXZ = 0.0f; this->actor.gravity = -0.4f; @@ -417,12 +418,12 @@ void func_800A6780(EnItem00* this, PlayState* play) { void func_800A6A40(EnItem00* this, PlayState* play) { Player* player = GET_PLAYER(play); - if (this->unk14A != GI_NONE) { + if (this->getItemId != GI_NONE) { if (Actor_HasParent(&this->actor, play) == 0) { - Actor_PickUp(&this->actor, play, this->unk14A, 50.0f, 80.0f); + Actor_PickUp(&this->actor, play, this->getItemId, 50.0f, 80.0f); this->unk152++; } else { - this->unk14A = GI_NONE; + this->getItemId = GI_NONE; } } @@ -435,7 +436,7 @@ void func_800A6A40(EnItem00* this, PlayState* play) { if (this->actor.params <= ITEM00_RUPEE_RED) { this->actor.shape.rot.y = this->actor.shape.rot.y + 960; - } else if (this->actor.params == ITEM00_HEART) { + } else if (this->actor.params == ITEM00_RECOVERY_HEART) { this->actor.shape.rot.y = 0; } @@ -533,8 +534,8 @@ void EnItem00_Update(Actor* thisx, PlayState* play) { case ITEM00_NUTS_10: getItemId = GI_NUTS_10; break; - case ITEM00_HEART: - Item_Give(play, ITEM_HEART); + case ITEM00_RECOVERY_HEART: + Item_Give(play, ITEM_RECOVERY_HEART); break; case ITEM00_FLEXIBLE: case ITEM00_BIG_FAIRY: @@ -629,7 +630,7 @@ void EnItem00_Update(Actor* thisx, PlayState* play) { Actor_SetScale(&this->actor, this->unk154); - this->unk14A = GI_NONE; + this->getItemId = GI_NONE; this->actionFunc = func_800A6A40; } @@ -657,7 +658,7 @@ void EnItem00_Draw(Actor* thisx, PlayState* play) { case ITEM00_HEART_CONTAINER: EnItem00_DrawHeartContainer(this, play); break; - case ITEM00_HEART: + case ITEM00_RECOVERY_HEART: if (this->unk152 < 0) { if (this->unk152 == -1) { s8 bankIndex = Object_GetIndex(&play->objectCtx, OBJECT_GI_HEART); @@ -668,7 +669,7 @@ void EnItem00_Draw(Actor* thisx, PlayState* play) { } } else { Matrix_Scale(16.0f, 16.0f, 16.0f, MTXMODE_APPLY); - GetItem_Draw(play, 8); + GetItem_Draw(play, GID_RECOVERY_HEART); } break; } @@ -793,8 +794,8 @@ void EnItem00_DrawHeartContainer(EnItem00* actor, PlayState* play) { gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_MODELVIEW | G_MTX_LOAD); - gSPDisplayList(POLY_XLU_DISP++, object_gi_hearts_DL_001290); - gSPDisplayList(POLY_XLU_DISP++, object_gi_hearts_DL_001470); + gSPDisplayList(POLY_XLU_DISP++, gGiHeartBorderDL); + gSPDisplayList(POLY_XLU_DISP++, gGiHeartContainerDL); CLOSE_DISPS(play->state.gfxCtx); } @@ -826,7 +827,7 @@ s16 func_800A7650(s16 dropId) { return ITEM00_NO_DROP; } - if (dropId == ITEM00_HEART) { + if (dropId == ITEM00_RECOVERY_HEART) { if (((void)0, gSaveContext.save.playerData.healthCapacity) == ((void)0, gSaveContext.save.playerData.health)) { return ITEM00_RUPEE_GREEN; } @@ -851,7 +852,7 @@ Actor* Item_DropCollectible(PlayState* play, Vec3f* spawnPos, u32 params) { if (paramFF == ITEM00_3_HEARTS) { for (i = 0; i < 3; i++) { - spawnedActor = Item_DropCollectible(play, spawnPos, param7F00 | ITEM00_HEART | param8000); + spawnedActor = Item_DropCollectible(play, spawnPos, param7F00 | ITEM00_RECOVERY_HEART | param8000); } } else if (paramFF == ITEM00_MUSHROOM_CLOUD) { param7F00 >>= 8; @@ -958,61 +959,61 @@ Actor* Item_DropCollectible2(PlayState* play, Vec3f* spawnPos, s32 params) { } u8 sDropTable[DROP_TABLE_SIZE * DROP_TABLE_NUMBER] = { - ITEM00_RUPEE_GREEN, ITEM00_RUPEE_GREEN, ITEM00_RUPEE_BLUE, ITEM00_NO_DROP, ITEM00_NO_DROP, - ITEM00_MASK, ITEM00_MASK, ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_BOMBS_A, - ITEM00_MAGIC_SMALL, ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_HEART, - ITEM00_FLEXIBLE, ITEM00_RUPEE_GREEN, ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_NO_DROP, - ITEM00_NO_DROP, ITEM00_MASK, ITEM00_MASK, ITEM00_NO_DROP, ITEM00_NO_DROP, - ITEM00_NO_DROP, ITEM00_MAGIC_SMALL, ITEM00_NO_DROP, ITEM00_HEART, ITEM00_HEART, - ITEM00_HEART, ITEM00_FLEXIBLE, ITEM00_RUPEE_GREEN, ITEM00_RUPEE_GREEN, ITEM00_NO_DROP, - ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_MASK, ITEM00_MASK, ITEM00_NO_DROP, - ITEM00_NO_DROP, ITEM00_BOMBS_A, ITEM00_MAGIC_SMALL, ITEM00_MAGIC_LARGE, ITEM00_MAGIC_LARGE, - ITEM00_HEART, ITEM00_HEART, ITEM00_FLEXIBLE, ITEM00_RUPEE_GREEN, ITEM00_NO_DROP, - ITEM00_RUPEE_BLUE, ITEM00_RUPEE_RED, ITEM00_NO_DROP, ITEM00_MASK, ITEM00_MASK, - ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_BOMBS_A, ITEM00_MAGIC_SMALL, ITEM00_NO_DROP, - ITEM00_NO_DROP, ITEM00_HEART, ITEM00_HEART, ITEM00_FLEXIBLE, ITEM00_MASK, - ITEM00_MASK, ITEM00_MASK, ITEM00_MASK, ITEM00_NO_DROP, ITEM00_NO_DROP, - ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_NO_DROP, - ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_NO_DROP, - ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_NO_DROP, - ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_NO_DROP, - ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_NO_DROP, - ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_NO_DROP, - ITEM00_HEART, ITEM00_HEART, ITEM00_HEART, ITEM00_HEART, ITEM00_HEART, - ITEM00_HEART, ITEM00_HEART, ITEM00_HEART, ITEM00_HEART, ITEM00_HEART, - ITEM00_HEART, ITEM00_FLEXIBLE, ITEM00_HEART, ITEM00_HEART, ITEM00_HEART, - ITEM00_HEART, ITEM00_HEART, ITEM00_HEART, ITEM00_HEART, ITEM00_HEART, - ITEM00_HEART, ITEM00_HEART, ITEM00_HEART, ITEM00_HEART, ITEM00_HEART, - ITEM00_HEART, ITEM00_HEART, ITEM00_HEART, ITEM00_RUPEE_GREEN, ITEM00_RUPEE_GREEN, - ITEM00_RUPEE_GREEN, ITEM00_RUPEE_BLUE, ITEM00_RUPEE_BLUE, ITEM00_NO_DROP, ITEM00_NO_DROP, - ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_NO_DROP, - ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_RUPEE_BLUE, - ITEM00_RUPEE_BLUE, ITEM00_RUPEE_BLUE, ITEM00_RUPEE_BLUE, ITEM00_RUPEE_BLUE, ITEM00_RUPEE_BLUE, - ITEM00_RUPEE_BLUE, ITEM00_RUPEE_BLUE, ITEM00_RUPEE_BLUE, ITEM00_RUPEE_RED, ITEM00_RUPEE_RED, - ITEM00_RUPEE_RED, ITEM00_RUPEE_RED, ITEM00_RUPEE_RED, ITEM00_RUPEE_RED, ITEM00_RUPEE_RED, - ITEM00_ARROWS_10, ITEM00_ARROWS_10, ITEM00_ARROWS_10, ITEM00_ARROWS_10, ITEM00_ARROWS_10, - ITEM00_ARROWS_10, ITEM00_ARROWS_10, ITEM00_ARROWS_10, ITEM00_ARROWS_10, ITEM00_ARROWS_10, - ITEM00_ARROWS_30, ITEM00_ARROWS_30, ITEM00_MAGIC_SMALL, ITEM00_MAGIC_SMALL, ITEM00_MAGIC_LARGE, - ITEM00_MAGIC_LARGE, ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_NO_DROP, - ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_BOMBS_A, ITEM00_BOMBS_A, - ITEM00_BOMBS_A, ITEM00_BOMBS_A, ITEM00_BOMBS_A, ITEM00_BOMBS_A, ITEM00_BOMBS_A, - ITEM00_BOMBS_A, ITEM00_BOMBS_A, ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_NO_DROP, - ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_NO_DROP, - ITEM00_MAGIC_SMALL, ITEM00_MAGIC_SMALL, ITEM00_MAGIC_SMALL, ITEM00_MAGIC_SMALL, ITEM00_MAGIC_SMALL, - ITEM00_MAGIC_SMALL, ITEM00_MAGIC_LARGE, ITEM00_MAGIC_LARGE, ITEM00_MAGIC_SMALL, ITEM00_MAGIC_SMALL, - ITEM00_MAGIC_SMALL, ITEM00_MAGIC_SMALL, ITEM00_MAGIC_SMALL, ITEM00_MAGIC_SMALL, ITEM00_MAGIC_SMALL, - ITEM00_MAGIC_SMALL, ITEM00_MAGIC_SMALL, ITEM00_MAGIC_SMALL, ITEM00_MAGIC_LARGE, ITEM00_MAGIC_LARGE, - ITEM00_MAGIC_LARGE, ITEM00_MAGIC_LARGE, ITEM00_MAGIC_LARGE, ITEM00_MAGIC_LARGE, ITEM00_NO_DROP, - ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_NUTS_1, ITEM00_NUTS_1, - ITEM00_NO_DROP, ITEM00_ARROWS_10, ITEM00_ARROWS_10, ITEM00_ARROWS_10, ITEM00_STICK, - ITEM00_STICK, ITEM00_NO_DROP, ITEM00_HEART, ITEM00_HEART, ITEM00_FLEXIBLE, - ITEM00_RUPEE_GREEN, ITEM00_RUPEE_BLUE, ITEM00_RUPEE_BLUE, ITEM00_RUPEE_RED, ITEM00_NO_DROP, - ITEM00_ARROWS_10, ITEM00_ARROWS_10, ITEM00_ARROWS_30, ITEM00_BOMBS_A, ITEM00_NO_DROP, - ITEM00_STICK, ITEM00_MAGIC_SMALL, ITEM00_MAGIC_LARGE, ITEM00_HEART, ITEM00_HEART, - ITEM00_FLEXIBLE, ITEM00_RUPEE_GREEN, ITEM00_HEART, ITEM00_HEART, ITEM00_MAGIC_SMALL, - ITEM00_MASK, ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_NO_DROP, - ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_NO_DROP, - ITEM00_NO_DROP, ITEM00_NO_DROP, + ITEM00_RUPEE_GREEN, ITEM00_RUPEE_GREEN, ITEM00_RUPEE_BLUE, ITEM00_NO_DROP, ITEM00_NO_DROP, + ITEM00_MASK, ITEM00_MASK, ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_BOMBS_A, + ITEM00_MAGIC_SMALL, ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_RECOVERY_HEART, + ITEM00_FLEXIBLE, ITEM00_RUPEE_GREEN, ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_NO_DROP, + ITEM00_NO_DROP, ITEM00_MASK, ITEM00_MASK, ITEM00_NO_DROP, ITEM00_NO_DROP, + ITEM00_NO_DROP, ITEM00_MAGIC_SMALL, ITEM00_NO_DROP, ITEM00_RECOVERY_HEART, ITEM00_RECOVERY_HEART, + ITEM00_RECOVERY_HEART, ITEM00_FLEXIBLE, ITEM00_RUPEE_GREEN, ITEM00_RUPEE_GREEN, ITEM00_NO_DROP, + ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_MASK, ITEM00_MASK, ITEM00_NO_DROP, + ITEM00_NO_DROP, ITEM00_BOMBS_A, ITEM00_MAGIC_SMALL, ITEM00_MAGIC_LARGE, ITEM00_MAGIC_LARGE, + ITEM00_RECOVERY_HEART, ITEM00_RECOVERY_HEART, ITEM00_FLEXIBLE, ITEM00_RUPEE_GREEN, ITEM00_NO_DROP, + ITEM00_RUPEE_BLUE, ITEM00_RUPEE_RED, ITEM00_NO_DROP, ITEM00_MASK, ITEM00_MASK, + ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_BOMBS_A, ITEM00_MAGIC_SMALL, ITEM00_NO_DROP, + ITEM00_NO_DROP, ITEM00_RECOVERY_HEART, ITEM00_RECOVERY_HEART, ITEM00_FLEXIBLE, ITEM00_MASK, + ITEM00_MASK, ITEM00_MASK, ITEM00_MASK, ITEM00_NO_DROP, ITEM00_NO_DROP, + ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_NO_DROP, + ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_NO_DROP, + ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_NO_DROP, + ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_NO_DROP, + ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_NO_DROP, + ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_NO_DROP, + ITEM00_RECOVERY_HEART, ITEM00_RECOVERY_HEART, ITEM00_RECOVERY_HEART, ITEM00_RECOVERY_HEART, ITEM00_RECOVERY_HEART, + ITEM00_RECOVERY_HEART, ITEM00_RECOVERY_HEART, ITEM00_RECOVERY_HEART, ITEM00_RECOVERY_HEART, ITEM00_RECOVERY_HEART, + ITEM00_RECOVERY_HEART, ITEM00_FLEXIBLE, ITEM00_RECOVERY_HEART, ITEM00_RECOVERY_HEART, ITEM00_RECOVERY_HEART, + ITEM00_RECOVERY_HEART, ITEM00_RECOVERY_HEART, ITEM00_RECOVERY_HEART, ITEM00_RECOVERY_HEART, ITEM00_RECOVERY_HEART, + ITEM00_RECOVERY_HEART, ITEM00_RECOVERY_HEART, ITEM00_RECOVERY_HEART, ITEM00_RECOVERY_HEART, ITEM00_RECOVERY_HEART, + ITEM00_RECOVERY_HEART, ITEM00_RECOVERY_HEART, ITEM00_RECOVERY_HEART, ITEM00_RUPEE_GREEN, ITEM00_RUPEE_GREEN, + ITEM00_RUPEE_GREEN, ITEM00_RUPEE_BLUE, ITEM00_RUPEE_BLUE, ITEM00_NO_DROP, ITEM00_NO_DROP, + ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_NO_DROP, + ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_RUPEE_BLUE, + ITEM00_RUPEE_BLUE, ITEM00_RUPEE_BLUE, ITEM00_RUPEE_BLUE, ITEM00_RUPEE_BLUE, ITEM00_RUPEE_BLUE, + ITEM00_RUPEE_BLUE, ITEM00_RUPEE_BLUE, ITEM00_RUPEE_BLUE, ITEM00_RUPEE_RED, ITEM00_RUPEE_RED, + ITEM00_RUPEE_RED, ITEM00_RUPEE_RED, ITEM00_RUPEE_RED, ITEM00_RUPEE_RED, ITEM00_RUPEE_RED, + ITEM00_ARROWS_10, ITEM00_ARROWS_10, ITEM00_ARROWS_10, ITEM00_ARROWS_10, ITEM00_ARROWS_10, + ITEM00_ARROWS_10, ITEM00_ARROWS_10, ITEM00_ARROWS_10, ITEM00_ARROWS_10, ITEM00_ARROWS_10, + ITEM00_ARROWS_30, ITEM00_ARROWS_30, ITEM00_MAGIC_SMALL, ITEM00_MAGIC_SMALL, ITEM00_MAGIC_LARGE, + ITEM00_MAGIC_LARGE, ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_NO_DROP, + ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_BOMBS_A, ITEM00_BOMBS_A, + ITEM00_BOMBS_A, ITEM00_BOMBS_A, ITEM00_BOMBS_A, ITEM00_BOMBS_A, ITEM00_BOMBS_A, + ITEM00_BOMBS_A, ITEM00_BOMBS_A, ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_NO_DROP, + ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_NO_DROP, + ITEM00_MAGIC_SMALL, ITEM00_MAGIC_SMALL, ITEM00_MAGIC_SMALL, ITEM00_MAGIC_SMALL, ITEM00_MAGIC_SMALL, + ITEM00_MAGIC_SMALL, ITEM00_MAGIC_LARGE, ITEM00_MAGIC_LARGE, ITEM00_MAGIC_SMALL, ITEM00_MAGIC_SMALL, + ITEM00_MAGIC_SMALL, ITEM00_MAGIC_SMALL, ITEM00_MAGIC_SMALL, ITEM00_MAGIC_SMALL, ITEM00_MAGIC_SMALL, + ITEM00_MAGIC_SMALL, ITEM00_MAGIC_SMALL, ITEM00_MAGIC_SMALL, ITEM00_MAGIC_LARGE, ITEM00_MAGIC_LARGE, + ITEM00_MAGIC_LARGE, ITEM00_MAGIC_LARGE, ITEM00_MAGIC_LARGE, ITEM00_MAGIC_LARGE, ITEM00_NO_DROP, + ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_NUTS_1, ITEM00_NUTS_1, + ITEM00_NO_DROP, ITEM00_ARROWS_10, ITEM00_ARROWS_10, ITEM00_ARROWS_10, ITEM00_STICK, + ITEM00_STICK, ITEM00_NO_DROP, ITEM00_RECOVERY_HEART, ITEM00_RECOVERY_HEART, ITEM00_FLEXIBLE, + ITEM00_RUPEE_GREEN, ITEM00_RUPEE_BLUE, ITEM00_RUPEE_BLUE, ITEM00_RUPEE_RED, ITEM00_NO_DROP, + ITEM00_ARROWS_10, ITEM00_ARROWS_10, ITEM00_ARROWS_30, ITEM00_BOMBS_A, ITEM00_NO_DROP, + ITEM00_STICK, ITEM00_MAGIC_SMALL, ITEM00_MAGIC_LARGE, ITEM00_RECOVERY_HEART, ITEM00_RECOVERY_HEART, + ITEM00_FLEXIBLE, ITEM00_RUPEE_GREEN, ITEM00_RECOVERY_HEART, ITEM00_RECOVERY_HEART, ITEM00_MAGIC_SMALL, + ITEM00_MASK, ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_NO_DROP, + ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_NO_DROP, + ITEM00_NO_DROP, ITEM00_NO_DROP, }; u8 sDropTableAmounts[DROP_TABLE_SIZE * DROP_TABLE_NUMBER] = { @@ -1053,7 +1054,7 @@ void Item_DropCollectibleRandom(PlayState* play, Actor* fromActor, Vec3f* spawnP dropId = ITEM00_ARROWS_10; break; case PLAYER_FORM_ZORA: - dropId = ITEM00_HEART; + dropId = ITEM00_RECOVERY_HEART; break; case PLAYER_FORM_GORON: dropId = ITEM00_MAGIC_SMALL; @@ -1074,7 +1075,7 @@ void Item_DropCollectibleRandom(PlayState* play, Actor* fromActor, Vec3f* spawnP dropQuantity = 1; } else if (fromActor->dropFlag & 2) { params = 0x10; - dropId = ITEM00_HEART; + dropId = ITEM00_RECOVERY_HEART; dropQuantity = 1; } else if (fromActor->dropFlag & 0x20) { dropId = ITEM00_RUPEE_PURPLE; @@ -1093,11 +1094,11 @@ void Item_DropCollectibleRandom(PlayState* play, Actor* fromActor, Vec3f* spawnP if (gSaveContext.save.playerData.health <= 0x30) { params = 0x10; - dropId = ITEM00_HEART; + dropId = ITEM00_RECOVERY_HEART; dropQuantity = 3; } else if (gSaveContext.save.playerData.health <= 0x50) { params = 0x10; - dropId = ITEM00_HEART; + dropId = ITEM00_RECOVERY_HEART; dropQuantity = 1; } else if ((gSaveContext.save.playerData.magicLevel != 0) && (gSaveContext.save.playerData.magic == 0)) { params = 0xD0; @@ -1159,13 +1160,13 @@ void Item_DropCollectibleRandom(PlayState* play, Actor* fromActor, Vec3f* spawnP } s32 D_801AE194[32] = { - ITEM00_NO_DROP, ITEM00_RUPEE_GREEN, ITEM00_RUPEE_BLUE, ITEM00_NO_DROP, ITEM00_RUPEE_RED, - ITEM00_RUPEE_PURPLE, ITEM00_NO_DROP, ITEM00_RUPEE_HUGE, ITEM00_COMPASS, ITEM00_MUSHROOM_CLOUD, - ITEM00_HEART, ITEM00_3_HEARTS, ITEM00_HEART_PIECE, ITEM00_HEART_CONTAINER, ITEM00_MAGIC_SMALL, - ITEM00_MAGIC_LARGE, ITEM00_FLEXIBLE, ITEM00_BIG_FAIRY, ITEM00_NO_DROP, ITEM00_NUTS_10, - ITEM00_NO_DROP, ITEM00_BOMBS_A, ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_NO_DROP, - ITEM00_STICK, ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_NO_DROP, - ITEM00_ARROWS_10, ITEM00_ARROWS_30, + ITEM00_NO_DROP, ITEM00_RUPEE_GREEN, ITEM00_RUPEE_BLUE, ITEM00_NO_DROP, ITEM00_RUPEE_RED, + ITEM00_RUPEE_PURPLE, ITEM00_NO_DROP, ITEM00_RUPEE_HUGE, ITEM00_COMPASS, ITEM00_MUSHROOM_CLOUD, + ITEM00_RECOVERY_HEART, ITEM00_3_HEARTS, ITEM00_HEART_PIECE, ITEM00_HEART_CONTAINER, ITEM00_MAGIC_SMALL, + ITEM00_MAGIC_LARGE, ITEM00_FLEXIBLE, ITEM00_BIG_FAIRY, ITEM00_NO_DROP, ITEM00_NUTS_10, + ITEM00_NO_DROP, ITEM00_BOMBS_A, ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_NO_DROP, + ITEM00_STICK, ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_NO_DROP, ITEM00_NO_DROP, + ITEM00_ARROWS_10, ITEM00_ARROWS_30, }; s32 func_800A8150(s32 index) { diff --git a/src/code/z_parameter.c b/src/code/z_parameter.c index a76cb36e0b..0d6c4380d0 100644 --- a/src/code/z_parameter.c +++ b/src/code/z_parameter.c @@ -595,7 +595,7 @@ u8 Item_Give(PlayState* play, u8 item) { SET_QUEST_ITEM(item - ITEM_REMAINS_ODOLWA + QUEST_REMAINS_ODOWLA); return ITEM_NONE; - } else if (item == ITEM_HEART) { + } else if (item == ITEM_RECOVERY_HEART) { Health_ChangeBy(play, 0x10); return item; @@ -655,7 +655,7 @@ u8 Item_Give(PlayState* play, u8 item) { } else if (((item >= ITEM_POTION_RED) && (item <= ITEM_OBABA_DRINK)) || (item == ITEM_CHATEAU_2) || (item == ITEM_MILK) || (item == ITEM_GOLD_DUST_2) || (item == ITEM_HYLIAN_LOACH_2) || - (item == ITEM_SEA_HORSE_CAUGHT)) { + (item == ITEM_SEAHORSE_CAUGHT)) { slot = SLOT(item); if ((item != ITEM_MILK_BOTTLE) && (item != ITEM_MILK_HALF)) { @@ -671,8 +671,8 @@ u8 Item_Give(PlayState* play, u8 item) { } else if (item == ITEM_HYLIAN_LOACH_2) { item = ITEM_HYLIAN_LOACH; - } else if (item == ITEM_SEA_HORSE_CAUGHT) { - item = ITEM_SEA_HORSE; + } else if (item == ITEM_SEAHORSE_CAUGHT) { + item = ITEM_SEAHORSE; } slot = SLOT(item); @@ -712,7 +712,7 @@ u8 Item_Give(PlayState* play, u8 item) { } else if ((item >= ITEM_MOON_TEAR) && (item <= ITEM_MASK_GIANT)) { temp = INV_CONTENT(item); INV_CONTENT(item) = item; - if ((item >= ITEM_MOON_TEAR) && (item <= ITEM_PENDANT_MEMORIES) && (temp != ITEM_NONE)) { + if ((item >= ITEM_MOON_TEAR) && (item <= ITEM_PENDANT_OF_MEMORIES) && (temp != ITEM_NONE)) { for (i = EQUIP_SLOT_C_LEFT; i <= EQUIP_SLOT_C_RIGHT; i++) { if (temp == GET_CUR_FORM_BTN_ITEM(i)) { SET_CUR_FORM_BTN_ITEM(i, item); @@ -816,8 +816,8 @@ u8 Item_CheckObtainabilityImpl(u8 item) { } else if (item == ITEM_HEART_CONTAINER) { return ITEM_NONE; - } else if (item == ITEM_HEART) { - return ITEM_HEART; + } else if (item == ITEM_RECOVERY_HEART) { + return ITEM_RECOVERY_HEART; } else if ((item == ITEM_MAGIC_SMALL) || (item == ITEM_MAGIC_LARGE)) { if (!(gSaveContext.save.weekEventReg[12] & 0x80)) { @@ -843,7 +843,7 @@ u8 Item_CheckObtainabilityImpl(u8 item) { } else if (((item >= ITEM_POTION_RED) && (item <= ITEM_OBABA_DRINK)) || (item == ITEM_CHATEAU_2) || (item == ITEM_MILK) || (item == ITEM_GOLD_DUST_2) || (item == ITEM_HYLIAN_LOACH_2) || - (item == ITEM_SEA_HORSE_CAUGHT)) { + (item == ITEM_SEAHORSE_CAUGHT)) { bottleSlot = SLOT(item); if ((item != ITEM_MILK_BOTTLE) && (item != ITEM_MILK_HALF)) { @@ -859,8 +859,8 @@ u8 Item_CheckObtainabilityImpl(u8 item) { } else if (item == ITEM_HYLIAN_LOACH_2) { item = ITEM_HYLIAN_LOACH; - } else if (item == ITEM_SEA_HORSE_CAUGHT) { - item = ITEM_SEA_HORSE; + } else if (item == ITEM_SEAHORSE_CAUGHT) { + item = ITEM_SEAHORSE; } bottleSlot = SLOT(item); diff --git a/src/code/z_sram_NES.c b/src/code/z_sram_NES.c index b5491e33bb..5e29a251ee 100644 --- a/src/code/z_sram_NES.c +++ b/src/code/z_sram_NES.c @@ -412,7 +412,7 @@ void Sram_SaveEndOfCycle(PlayState* play) { Inventory_DeleteItem(ITEM_LONGSHOT, SLOT_TRADE_COUPLE); for (j = EQUIP_SLOT_C_LEFT; j <= EQUIP_SLOT_C_RIGHT; j++) { - if (GET_CUR_FORM_BTN_ITEM(j) >= ITEM_MOON_TEAR && GET_CUR_FORM_BTN_ITEM(j) <= ITEM_PENDANT_MEMORIES) { + if (GET_CUR_FORM_BTN_ITEM(j) >= ITEM_MOON_TEAR && GET_CUR_FORM_BTN_ITEM(j) <= ITEM_PENDANT_OF_MEMORIES) { SET_CUR_FORM_BTN_ITEM(j, ITEM_NONE); Interface_LoadItemIconImpl(play, j); } diff --git a/src/overlays/actors/ovl_Bg_Dblue_Movebg/z_bg_dblue_movebg.c b/src/overlays/actors/ovl_Bg_Dblue_Movebg/z_bg_dblue_movebg.c index 89c1be29c9..2bd5d103af 100644 --- a/src/overlays/actors/ovl_Bg_Dblue_Movebg/z_bg_dblue_movebg.c +++ b/src/overlays/actors/ovl_Bg_Dblue_Movebg/z_bg_dblue_movebg.c @@ -4,6 +4,7 @@ * Description: Great Bay Temple - Waterwheels and push switches */ +#include "prevent_bss_reordering.h" #include "z_bg_dblue_movebg.h" #include "objects/object_dblue_object/object_dblue_object.h" #include "overlays/actors/ovl_Obj_Hunsui/z_obj_hunsui.h" diff --git a/src/overlays/actors/ovl_Dm_Char05/z_dm_char05.c b/src/overlays/actors/ovl_Dm_Char05/z_dm_char05.c index 7f27b584db..40807c77c3 100644 --- a/src/overlays/actors/ovl_Dm_Char05/z_dm_char05.c +++ b/src/overlays/actors/ovl_Dm_Char05/z_dm_char05.c @@ -718,7 +718,7 @@ void func_80AADD9C(PlayState* play, DmChar05* this) { Matrix_Translate(this->unk_190.x, this->unk_190.y, this->unk_190.z, MTXMODE_NEW); Matrix_RotateZYX(0, play->gameplayFrames * 1000, 0, MTXMODE_APPLY); Matrix_Scale(0.2f, 0.2f, 0.2f, MTXMODE_APPLY); - GetItem_Draw(play, GID_44); + GetItem_Draw(play, GID_MASK_GORON); } if (Object_IsLoaded(&play->objectCtx, this->unk_18F)) { @@ -731,7 +731,7 @@ void func_80AADE78(PlayState* play, DmChar05* this) { Matrix_Translate(this->unk_190.x, this->unk_190.y, this->unk_190.z, MTXMODE_NEW); Matrix_RotateZYX(0, play->gameplayFrames * 1000, 0, MTXMODE_APPLY); Matrix_Scale(0.2f, 0.2f, 0.2f, MTXMODE_APPLY); - GetItem_Draw(play, GID_45); + GetItem_Draw(play, GID_MASK_ZORA); } if (Object_IsLoaded(&play->objectCtx, this->unk_18F)) { @@ -744,7 +744,7 @@ void func_80AADF54(PlayState* play, DmChar05* this) { Matrix_Translate(this->unk_190.x, this->unk_190.y, this->unk_190.z, MTXMODE_NEW); Matrix_RotateZYX(0, play->gameplayFrames * 1000, 0, MTXMODE_APPLY); Matrix_Scale(0.2f, 0.2f, 0.2f, MTXMODE_APPLY); - GetItem_Draw(play, GID_6B); + GetItem_Draw(play, GID_MASK_GIBDO); } if (Object_IsLoaded(&play->objectCtx, this->unk_18F)) { @@ -758,7 +758,7 @@ void func_80AAE030(PlayState* play, DmChar05* this) { Matrix_Translate(this->unk_190.x, this->unk_190.y, this->unk_190.z, MTXMODE_NEW); Matrix_RotateZYX(0, play->gameplayFrames * 1000, 0, MTXMODE_APPLY); Matrix_Scale(0.2f, 0.2f, 0.2f, MTXMODE_APPLY); - GetItem_Draw(play, GID_03); + GetItem_Draw(play, GID_MASK_COUPLE); } if (Object_IsLoaded(&play->objectCtx, this->unk_18F)) { @@ -768,17 +768,18 @@ void func_80AAE030(PlayState* play, DmChar05* this) { } void func_80AAE114(PlayState* play, DmChar05* this) { - s32 sp34; - s16 sp24[] = { - GID_02, GID_MASK_GREAT_FAIRY, GID_70, GID_3A, GID_0E, GID_0F, GID_3E, GID_71, + s32 getItemDrawIndex; + s16 getItemDrawIds[] = { + GID_MASK_KAMARO, GID_MASK_GREAT_FAIRY, GID_MASK_ROMANI, GID_MASK_BLAST, + GID_MASK_CIRCUS_LEADER, GID_MASK_BREMEN, GID_MASK_BUNNY, GID_MASK_POSTMAN, }; - sp34 = DMCHAR05_GET(&this->actor) - DMCHAR05_5; + getItemDrawIndex = DMCHAR05_GET(&this->actor) - DMCHAR05_5; if (this->actor.objBankIndex == this->unk_18F) { Matrix_Translate(this->actor.world.pos.x, this->actor.world.pos.y, this->actor.world.pos.z, MTXMODE_NEW); Matrix_RotateZYX(0, play->gameplayFrames * 1000, 0, MTXMODE_APPLY); Matrix_Scale(0.2f, 0.2f, 0.2f, MTXMODE_APPLY); - GetItem_Draw(play, sp24[sp34]); + GetItem_Draw(play, getItemDrawIds[getItemDrawIndex]); } if (Object_IsLoaded(&play->objectCtx, this->unk_18F)) { diff --git a/src/overlays/actors/ovl_Door_Warp1/z_door_warp1.c b/src/overlays/actors/ovl_Door_Warp1/z_door_warp1.c index 8c28cd1b5d..881785fe13 100644 --- a/src/overlays/actors/ovl_Door_Warp1/z_door_warp1.c +++ b/src/overlays/actors/ovl_Door_Warp1/z_door_warp1.c @@ -546,7 +546,7 @@ void func_808B9CE8(DoorWarp1* this, PlayState* play) { } if (!Actor_HasParent(&this->dyna.actor, play)) { - Actor_PickUp(&this->dyna.actor, play, func_808B849C(this, play) + 84, 30.0f, 80.0f); + Actor_PickUp(&this->dyna.actor, play, (GI_REMAINS_ODOLWA - 1) + func_808B849C(this, play), 30.0f, 80.0f); return; } diff --git a/src/overlays/actors/ovl_En_Bom_Bowl_Man/z_en_bom_bowl_man.c b/src/overlays/actors/ovl_En_Bom_Bowl_Man/z_en_bom_bowl_man.c index 4aaa21bcec..b87f43b370 100644 --- a/src/overlays/actors/ovl_En_Bom_Bowl_Man/z_en_bom_bowl_man.c +++ b/src/overlays/actors/ovl_En_Bom_Bowl_Man/z_en_bom_bowl_man.c @@ -495,7 +495,7 @@ void func_809C5738(EnBomBowlMan* this, PlayState* play) { } void func_809C59A4(EnBomBowlMan* this, PlayState* play) { - Actor_PickUp(&this->actor, play, GI_50, 300.0f, 300.0f); + Actor_PickUp(&this->actor, play, GI_BOMBERS_NOTEBOOK, 300.0f, 300.0f); this->unk_29C = 1; this->actionFunc = func_809C59F0; } @@ -512,7 +512,7 @@ void func_809C59F0(EnBomBowlMan* this, PlayState* play) { func_800B8500(&this->actor, play, 400.0f, 400.0f, -1); this->actionFunc = func_809C5AA4; } else { - Actor_PickUp(&this->actor, play, GI_50, 300.0f, 300.0f); + Actor_PickUp(&this->actor, play, GI_BOMBERS_NOTEBOOK, 300.0f, 300.0f); } } diff --git a/src/overlays/actors/ovl_En_Box/z_en_box.c b/src/overlays/actors/ovl_En_Box/z_en_box.c index b63018b888..bfc2420605 100644 --- a/src/overlays/actors/ovl_En_Box/z_en_box.c +++ b/src/overlays/actors/ovl_En_Box/z_en_box.c @@ -218,9 +218,9 @@ void EnBox_Init(Actor* thisx, PlayState* play) { this->dyna.actor.world.rot.x = 0; } thisx->shape.rot.x = this->dyna.actor.world.rot.x; - this->getItem = ENBOX_GET_ITEM(thisx); + this->getItemId = ENBOX_GET_ITEM(thisx); - if (Flags_GetTreasure(play, ENBOX_GET_CHEST_FLAG(&this->dyna.actor)) || this->getItem == GI_NONE) { + if (Flags_GetTreasure(play, ENBOX_GET_CHEST_FLAG(&this->dyna.actor)) || this->getItemId == GI_NONE) { this->alpha = 255; this->iceSmokeTimer = 100; EnBox_SetupAction(this, EnBox_Open); @@ -272,7 +272,7 @@ void EnBox_Init(Actor* thisx, PlayState* play) { this->movementFlags |= ENBOX_MOVE_STICK_TO_GROUND; } - if ((this->getItem == GI_STRAY_FAIRY) && !Flags_GetTreasure(play, ENBOX_GET_CHEST_FLAG(&this->dyna.actor))) { + if ((this->getItemId == GI_STRAY_FAIRY) && !Flags_GetTreasure(play, ENBOX_GET_CHEST_FLAG(&this->dyna.actor))) { this->dyna.actor.flags |= ACTOR_FLAG_10; } @@ -485,10 +485,10 @@ void EnBox_WaitOpen(EnBox* this, PlayState* play) { func_801A3098(0x2B | 0x900); } - if (this->getItem == GI_STRAY_FAIRY) { + if (this->getItemId == GI_STRAY_FAIRY) { this->movementFlags |= ENBOX_MOVE_0x20; } else { - if ((this->getItem == GI_HEART_PIECE) || (this->getItem == GI_BOTTLE)) { + if ((this->getItemId == GI_HEART_PIECE) || (this->getItemId == GI_BOTTLE)) { Flags_SetCollectible(play, this->collectableFlag); } Flags_SetTreasure(play, ENBOX_GET_CHEST_FLAG(&this->dyna.actor)); @@ -498,17 +498,17 @@ void EnBox_WaitOpen(EnBox* this, PlayState* play) { Actor_OffsetOfPointInActorCoords(&this->dyna.actor, &offset, &player->actor.world.pos); if (offset.z > -50.0f && offset.z < 0.0f && fabsf(offset.y) < 10.0f && fabsf(offset.x) < 20.0f && Player_IsFacingActor(&this->dyna.actor, 0x3000, play)) { - if (((this->getItem == GI_HEART_PIECE) || (this->getItem == GI_BOTTLE)) && + if (((this->getItemId == GI_HEART_PIECE) || (this->getItemId == GI_BOTTLE)) && Flags_GetCollectible(play, this->collectableFlag)) { - this->getItem = GI_RECOVERY_HEART; + this->getItemId = GI_RECOVERY_HEART; } - if ((this->getItem == GI_MASK_CAPTAIN) && (INV_CONTENT(ITEM_MASK_CAPTAIN) == ITEM_MASK_CAPTAIN)) { - this->getItem = GI_RECOVERY_HEART; + if ((this->getItemId == GI_MASK_CAPTAIN) && (INV_CONTENT(ITEM_MASK_CAPTAIN) == ITEM_MASK_CAPTAIN)) { + this->getItemId = GI_RECOVERY_HEART; } - if ((this->getItem == GI_MASK_GIANT) && (INV_CONTENT(ITEM_MASK_GIANT) == ITEM_MASK_GIANT)) { - this->getItem = GI_RECOVERY_HEART; + if ((this->getItemId == GI_MASK_GIANT) && (INV_CONTENT(ITEM_MASK_GIANT) == ITEM_MASK_GIANT)) { + this->getItemId = GI_RECOVERY_HEART; } - Actor_PickUpNearby(&this->dyna.actor, play, -this->getItem); + Actor_PickUpNearby(&this->dyna.actor, play, -this->getItemId); } if (Flags_GetTreasure(play, ENBOX_GET_CHEST_FLAG(&this->dyna.actor))) { EnBox_SetupAction(this, EnBox_Open); @@ -603,7 +603,7 @@ void EnBox_Update(Actor* thisx, PlayState* play) { this->movementFlags &= ~ENBOX_MOVE_STICK_TO_GROUND; EnBox_ClipToGround(this, play); } - if ((this->getItem == GI_STRAY_FAIRY) && !Flags_GetTreasure(play, ENBOX_GET_CHEST_FLAG(&this->dyna.actor))) { + if ((this->getItemId == GI_STRAY_FAIRY) && !Flags_GetTreasure(play, ENBOX_GET_CHEST_FLAG(&this->dyna.actor))) { play->actorCtx.unk5 |= 8; } this->actionFunc(this, play); @@ -615,7 +615,7 @@ void EnBox_Update(Actor* thisx, PlayState* play) { Actor_UpdateBgCheckInfo(play, &this->dyna.actor, 0.0f, 0.0f, 0.0f, 0x1C); } Actor_SetFocus(&this->dyna.actor, 40.0f); - if ((this->getItem == GI_ICE_TRAP) && (this->actionFunc == EnBox_Open) && (this->skelAnime.curFrame > 45.0f) && + if ((this->getItemId == GI_ICE_TRAP) && (this->actionFunc == EnBox_Open) && (this->skelAnime.curFrame > 45.0f) && (this->iceSmokeTimer < 100)) { EnBox_SpawnIceSmoke(this, play); } @@ -633,7 +633,7 @@ void EnBox_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, if (this->type == ENBOX_TYPE_BIG_ORNATE) { gSPDisplayList((*gfx)++, &gBoxChestBaseOrnateDL); } else if (Actor_IsSmallChest(this)) { - if (this->getItem == GI_KEY_SMALL) { + if (this->getItemId == GI_KEY_SMALL) { gSPDisplayList((*gfx)++, &gBoxChestBaseGildedDL); } else { gSPDisplayList((*gfx)++, &gBoxChestBaseDL); @@ -646,7 +646,7 @@ void EnBox_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, if (this->type == ENBOX_TYPE_BIG_ORNATE) { gSPDisplayList((*gfx)++, &gBoxChestLidOrnateDL); } else if (Actor_IsSmallChest(this)) { - if (this->getItem == GI_KEY_SMALL) { + if (this->getItemId == GI_KEY_SMALL) { gSPDisplayList((*gfx)++, &gBoxChestLidGildedDL); } else { gSPDisplayList((*gfx)++, &gBoxChestLidDL); diff --git a/src/overlays/actors/ovl_En_Box/z_en_box.h b/src/overlays/actors/ovl_En_Box/z_en_box.h index 0ea7fe8de4..cd164c9248 100644 --- a/src/overlays/actors/ovl_En_Box/z_en_box.h +++ b/src/overlays/actors/ovl_En_Box/z_en_box.h @@ -62,7 +62,7 @@ typedef struct EnBox { /* 0x1F4 */ func_80867BDC_a0 unk_1F4; /* 0x218 */ s16 cutsceneIdxA; /* 0x21A */ s16 cutsceneIdxB; - /* 0x21C */ s32 getItem; + /* 0x21C */ s32 getItemId; /* 0x220 */ s32 collectableFlag; } EnBox; // size = 0x224 diff --git a/src/overlays/actors/ovl_En_Dno/z_en_dno.c b/src/overlays/actors/ovl_En_Dno/z_en_dno.c index 646667c050..102fc6d9b0 100644 --- a/src/overlays/actors/ovl_En_Dno/z_en_dno.c +++ b/src/overlays/actors/ovl_En_Dno/z_en_dno.c @@ -610,11 +610,11 @@ void func_80A725F8(EnDno* this, PlayState* play) { case 0x802: if (Message_ShouldAdvance(play)) { if (INV_CONTENT(ITEM_MASK_SCENTS) == ITEM_MASK_SCENTS) { - this->unk_458 = GI_RUPEE_RED; + this->getItemId = GI_RUPEE_RED; } else { - this->unk_458 = GI_MASK_SCENTS; + this->getItemId = GI_MASK_SCENTS; } - Actor_PickUp(&this->actor, play, this->unk_458, 60.0f, 60.0f); + Actor_PickUp(&this->actor, play, this->getItemId, 60.0f, 60.0f); func_801477B4(play); func_80A72B84(this, play); } @@ -678,7 +678,7 @@ void func_80A72BA4(EnDno* this, PlayState* play) { this->actor.parent = NULL; this->actionFunc = func_80A72598; } else { - Actor_PickUp(&this->actor, play, this->unk_458, 60.0f, 60.0f); + Actor_PickUp(&this->actor, play, this->getItemId, 60.0f, 60.0f); } } diff --git a/src/overlays/actors/ovl_En_Dno/z_en_dno.h b/src/overlays/actors/ovl_En_Dno/z_en_dno.h index 9c78619749..bf357cad67 100644 --- a/src/overlays/actors/ovl_En_Dno/z_en_dno.h +++ b/src/overlays/actors/ovl_En_Dno/z_en_dno.h @@ -48,7 +48,7 @@ typedef struct EnDno { /* 0x44F */ UNK_TYPE1 unk_44F[0x3]; /* 0x452 */ s16 unk_452; /* 0x454 */ f32 unk_454; - /* 0x458 */ s32 unk_458; + /* 0x458 */ s32 getItemId; /* 0x45C */ s16 unk_45C; /* 0x460 */ Actor* unk_460; /* 0x464 */ u16 textId; diff --git a/src/overlays/actors/ovl_En_Fishing/z_en_fishing.c b/src/overlays/actors/ovl_En_Fishing/z_en_fishing.c index 7463eaab10..0aabfc969b 100644 --- a/src/overlays/actors/ovl_En_Fishing/z_en_fishing.c +++ b/src/overlays/actors/ovl_En_Fishing/z_en_fishing.c @@ -4938,7 +4938,7 @@ void EnFishing_HandleOwnerDialog(EnFishing* this, PlayState* play) { } else { if ((D_809171CC >= 60.0f) && !(gSaveContext.save.unk_EE4 & 0x800)) { gSaveContext.save.unk_EE4 |= 0x800; - getItemId = GI_SCALE_GOLD; + getItemId = GI_SKULL_TOKEN; sSinkingLureLocation = Rand_ZeroFloat(3.999f) + 1.0f; } } @@ -4997,7 +4997,7 @@ void EnFishing_HandleOwnerDialog(EnFishing* this, PlayState* play) { if (Actor_HasParent(&this->actor, play)) { this->unk_154 = 24; } else { - Actor_PickUp(&this->actor, play, GI_SCALE_GOLD, 2000.0f, 1000.0f); + Actor_PickUp(&this->actor, play, GI_SKULL_TOKEN, 2000.0f, 1000.0f); } break; 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 bc95efecd0..74486b30cf 100644 --- a/src/overlays/actors/ovl_En_GirlA/z_en_girla.c +++ b/src/overlays/actors/ovl_En_GirlA/z_en_girla.c @@ -138,16 +138,16 @@ static ShopItemEntry sShopItemEntries[] = { EnGirlA_BuyBottleItem, EnGirlA_BuyFanfare }, { OBJECT_GI_BOTTLE, GID_BOTTLE, func_800B8050, 1, 0x29F8, 0x29F9, GI_BOTTLE_STOLEN, EnGirlA_CanBuyBottleStolen, EnGirlA_BuyBottle, EnGirlA_BuyFanfare }, - { OBJECT_GI_SWORD_4, GID_SWORD_GREAT_FAIRY, func_800B8050, 4, 0x29F2, 0x29F3, GI_SWORD_GREAT_FAIRY, + { OBJECT_GI_SWORD_4, GID_SWORD_GREAT_FAIRY, func_800B8050, 4, 0x29F2, 0x29F3, GI_SWORD_GREAT_FAIRY_STOLEN, EnGirlA_CanBuySword, EnGirlA_BuySword, EnGirlA_BuyFanfare }, - { OBJECT_GI_SWORD_1, GID_SWORD_KOKIRI, func_800B8050, 1, 0x29F4, 0x29F5, GI_SWORD_KOKIRI, EnGirlA_CanBuySword, + { OBJECT_GI_SWORD_1, GID_SWORD_KOKIRI, func_800B8050, 1, 0x29F4, 0x29F5, GI_SWORD_KOKIRI_STOLEN, + EnGirlA_CanBuySword, EnGirlA_BuySword, EnGirlA_BuyFanfare }, + { OBJECT_GI_SWORD_2, GID_SWORD_RAZOR, func_800B8050, 2, 0x29F4, 0x29F5, GI_SWORD_RAZOR_STOLEN, EnGirlA_CanBuySword, EnGirlA_BuySword, EnGirlA_BuyFanfare }, - { OBJECT_GI_SWORD_2, GID_SWORD_RAZOR, func_800B8050, 2, 0x29F4, 0x29F5, GI_SWORD_RAZOR, EnGirlA_CanBuySword, - EnGirlA_BuySword, EnGirlA_BuyFanfare }, - { OBJECT_GI_SWORD_3, GID_SWORD_GILDED, func_800B8050, 3, 0x29F4, 0x29F5, GI_SWORD_GILDED, EnGirlA_CanBuySword, - EnGirlA_BuySword, EnGirlA_BuyFanfare }, - { OBJECT_GI_SHIELD_2, GID_SHIELD_HERO, func_800B8050, 1, 0x29F6, 0x29F7, GI_SHIELD_HERO_2, EnGirlA_CanBuyShieldHero, - EnGirlA_BuyShieldHero, EnGirlA_BuyFanfare }, + { OBJECT_GI_SWORD_3, GID_SWORD_GILDED, func_800B8050, 3, 0x29F4, 0x29F5, GI_SWORD_GILDED_STOLEN, + EnGirlA_CanBuySword, EnGirlA_BuySword, EnGirlA_BuyFanfare }, + { OBJECT_GI_SHIELD_2, GID_SHIELD_HERO, func_800B8050, 1, 0x29F6, 0x29F7, GI_SHIELD_HERO_STOLEN, + EnGirlA_CanBuyShieldHero, EnGirlA_BuyShieldHero, EnGirlA_BuyFanfare }, { OBJECT_GI_SHIELD_3, GID_SHIELD_MIRROR, func_800B8050, 1, 0x29F6, 0x29F7, GI_SHIELD_MIRROR, EnGirlA_CanBuyShieldMirror, EnGirlA_BuyShieldMirror, EnGirlA_BuyFanfare }, }; diff --git a/src/overlays/actors/ovl_En_Ot/z_en_ot.c b/src/overlays/actors/ovl_En_Ot/z_en_ot.c index dcef97ec15..ad10226edc 100644 --- a/src/overlays/actors/ovl_En_Ot/z_en_ot.c +++ b/src/overlays/actors/ovl_En_Ot/z_en_ot.c @@ -377,12 +377,12 @@ void func_80B5BFB8(EnOt* this, PlayState* play) { void func_80B5C154(EnOt* this, PlayState* play) { if (gSaveContext.save.weekEventReg[32] & 1) { - this->unk_38C = GI_RUPEE_RED; + this->getItemId = GI_RUPEE_RED; } else { - this->unk_38C = GI_HEART_PIECE; + this->getItemId = GI_HEART_PIECE; gSaveContext.save.weekEventReg[32] |= 1; } - Actor_PickUp(&this->actor, play, this->unk_38C, this->actor.xzDistToPlayer, this->actor.playerHeightRel); + Actor_PickUp(&this->actor, play, this->getItemId, this->actor.xzDistToPlayer, this->actor.playerHeightRel); this->actionFunc = func_80B5C1CC; } @@ -392,7 +392,7 @@ void func_80B5C1CC(EnOt* this, PlayState* play) { func_80B5C244(this, play); func_80B5C244(this->unk_360, play); } else { - Actor_PickUp(&this->actor, play, this->unk_38C, this->actor.xzDistToPlayer, this->actor.playerHeightRel); + Actor_PickUp(&this->actor, play, this->getItemId, this->actor.xzDistToPlayer, this->actor.playerHeightRel); } } diff --git a/src/overlays/actors/ovl_En_Ot/z_en_ot.h b/src/overlays/actors/ovl_En_Ot/z_en_ot.h index 6f4bf21051..e123b88716 100644 --- a/src/overlays/actors/ovl_En_Ot/z_en_ot.h +++ b/src/overlays/actors/ovl_En_Ot/z_en_ot.h @@ -52,7 +52,7 @@ typedef struct EnOt { /* 0x378 */ Vec3f unk_378; /* 0x384 */ u8 unk_384; /* 0x388 */ s32 unk_388; - /* 0x38C */ s32 unk_38C; + /* 0x38C */ s32 getItemId; /* 0x390 */ s16 unk_390; /* 0x394 */ Vec3f unk_394; /* 0x3A0 */ s16 unk_3A0; diff --git a/src/overlays/actors/ovl_En_Trt/z_en_trt.c b/src/overlays/actors/ovl_En_Trt/z_en_trt.c index b1f2fbeafd..5d2ffec877 100644 --- a/src/overlays/actors/ovl_En_Trt/z_en_trt.c +++ b/src/overlays/actors/ovl_En_Trt/z_en_trt.c @@ -442,7 +442,7 @@ void EnTrt_GiveRedPotionForKoume(EnTrt* this, PlayState* play) { } else if (gSaveContext.save.weekEventReg[12] & 0x10) { Actor_PickUp(&this->actor, play, GI_POTION_RED, 300.0f, 300.0f); } else { - Actor_PickUp(&this->actor, play, GI_BOTTLE_POTION_RED, 300.0f, 300.0f); + Actor_PickUp(&this->actor, play, GI_POTION_RED_BOTTLE, 300.0f, 300.0f); } } diff --git a/src/overlays/actors/ovl_En_Trt2/z_en_trt2.c b/src/overlays/actors/ovl_En_Trt2/z_en_trt2.c index 02f34c1bb7..0dd9da893c 100644 --- a/src/overlays/actors/ovl_En_Trt2/z_en_trt2.c +++ b/src/overlays/actors/ovl_En_Trt2/z_en_trt2.c @@ -406,7 +406,7 @@ void func_80AD3FF4(EnTrt2* this, PlayState* play) { } else if (gSaveContext.save.weekEventReg[12] & 0x10) { Actor_PickUp(&this->actor, play, GI_POTION_RED, 300.0f, 300.0f); } else { - Actor_PickUp(&this->actor, play, GI_BOTTLE_POTION_RED, 300.0f, 300.0f); + Actor_PickUp(&this->actor, play, GI_POTION_RED_BOTTLE, 300.0f, 300.0f); } } diff --git a/src/overlays/actors/ovl_En_Tsn/z_en_tsn.c b/src/overlays/actors/ovl_En_Tsn/z_en_tsn.c index 5800f897f1..ddf924872d 100644 --- a/src/overlays/actors/ovl_En_Tsn/z_en_tsn.c +++ b/src/overlays/actors/ovl_En_Tsn/z_en_tsn.c @@ -299,7 +299,7 @@ void func_80AE0460(EnTsn* this, PlayState* play) { ENTSN_SET_Z(&this->unk_1D8->actor, false); this->actionFunc = func_80AE0418; } else { - Actor_PickUp(&this->actor, play, GI_SEAHORSE, 2000.0f, 1000.0f); + Actor_PickUp(&this->actor, play, GI_SEAHORSE_CAUGHT, 2000.0f, 1000.0f); } } diff --git a/src/overlays/actors/ovl_Item_B_Heart/z_item_b_heart.c b/src/overlays/actors/ovl_Item_B_Heart/z_item_b_heart.c index 8842d3e31a..ac8592615d 100644 --- a/src/overlays/actors/ovl_Item_B_Heart/z_item_b_heart.c +++ b/src/overlays/actors/ovl_Item_B_Heart/z_item_b_heart.c @@ -101,13 +101,13 @@ void ItemBHeart_Draw(Actor* thisx, PlayState* play) { if (flag || thisx->world.rot.y != 0) { func_8012C2DC(play->state.gfxCtx); gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); - gSPDisplayList(POLY_XLU_DISP++, object_gi_hearts_DL_001290); - gSPDisplayList(POLY_XLU_DISP++, object_gi_hearts_DL_001470); + gSPDisplayList(POLY_XLU_DISP++, gGiHeartBorderDL); + gSPDisplayList(POLY_XLU_DISP++, gGiHeartContainerDL); } else { func_8012C28C(play->state.gfxCtx); gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); - gSPDisplayList(POLY_OPA_DISP++, object_gi_hearts_DL_001290); - gSPDisplayList(POLY_OPA_DISP++, object_gi_hearts_DL_001470); + gSPDisplayList(POLY_OPA_DISP++, gGiHeartBorderDL); + gSPDisplayList(POLY_OPA_DISP++, gGiHeartContainerDL); } CLOSE_DISPS(play->state.gfxCtx); 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 87a385dd57..d2fa8e3a0d 100644 --- a/src/overlays/actors/ovl_Item_Etcetera/z_item_etcetera.c +++ b/src/overlays/actors/ovl_Item_Etcetera/z_item_etcetera.c @@ -37,14 +37,14 @@ static s16 sObjectIds[] = { OBJECT_GI_BOTTLE, OBJECT_GI_KEY, OBJECT_GI_M_ARROW, OBJECT_GI_RUPY, OBJECT_GI_RUPY, OBJECT_GI_RUPY, OBJECT_GI_RUPY, OBJECT_GI_HEARTS, OBJECT_GI_KEY, }; -static s16 sDrawItemIndices[] = { - GID_BOTTLE, GID_BOTTLE, GID_BOTTLE, GID_BOTTLE, GID_BOTTLE, GID_BOTTLE, GID_01, - GID_47, GID_4F, GID_50, GID_51, GID_53, GID_13, GID_01, +static s16 sGetItemDrawIds[] = { + GID_BOTTLE, GID_BOTTLE, GID_BOTTLE, GID_BOTTLE, GID_BOTTLE, GID_BOTTLE, 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[] = { - GI_BOTTLE, GI_BOTTLE, GI_BOTTLE, GI_BOTTLE, GI_BOTTLE, GI_BOTTLE, GI_KEY_SMALL, - GI_25, GI_NONE, GI_NONE, GI_NONE, GI_NONE, GI_NONE, GI_NONE, + GI_BOTTLE, GI_BOTTLE, GI_BOTTLE, GI_BOTTLE, GI_BOTTLE, GI_BOTTLE, GI_KEY_SMALL, + GI_ARROW_FIRE, GI_NONE, GI_NONE, GI_NONE, GI_NONE, GI_NONE, GI_NONE, }; void ItemEtcetera_SetupAction(ItemEtcetera* this, ItemEtceteraActionFunc actionFunc) { @@ -62,8 +62,8 @@ void ItemEtcetera_Init(Actor* thisx, PlayState* play) { } else { this->objIndex = objBankIndex; } - this->giDrawId = sDrawItemIndices[type]; - this->itemID = sGetItemIds[type]; + this->getItemDrawId = sGetItemDrawIds[type]; + this->getItemId = sGetItemIds[type]; this->futureActionFunc = func_8092009C; this->drawFunc = ItemEtcetera_Draw; Actor_SetScale(&this->actor, 0.25f); @@ -104,7 +104,7 @@ void func_8092009C(ItemEtcetera* this, PlayState* play) { if (Actor_HasParent(&this->actor, play)) { Actor_MarkForDeath(&this->actor); } else { - Actor_PickUp(&this->actor, play, this->itemID, 30.0f, 50.0f); + Actor_PickUp(&this->actor, play, this->getItemId, 30.0f, 50.0f); } } @@ -126,7 +126,7 @@ void ItemEtcetera_DrawThroughLens(Actor* thisx, PlayState* play) { if (play->actorCtx.unk4 == 100) { func_800B8050(&this->actor, play, 0); func_800B8118(&this->actor, play, 0); - GetItem_Draw(play, this->giDrawId); + GetItem_Draw(play, this->getItemDrawId); } } @@ -135,5 +135,5 @@ void ItemEtcetera_Draw(Actor* thisx, PlayState* play) { func_800B8050(&this->actor, play, 0); func_800B8118(&this->actor, play, 0); - GetItem_Draw(play, this->giDrawId); + GetItem_Draw(play, this->getItemDrawId); } 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 aac8d0834f..e33f1e1fb6 100644 --- a/src/overlays/actors/ovl_Item_Etcetera/z_item_etcetera.h +++ b/src/overlays/actors/ovl_Item_Etcetera/z_item_etcetera.h @@ -30,8 +30,8 @@ typedef enum { typedef struct ItemEtcetera { /* 0x000 */ Actor actor; /* 0x144 */ ItemEtceteraActionFunc futureActionFunc; - /* 0x148 */ s16 giDrawId; - /* 0x14A */ s16 itemID; + /* 0x148 */ s16 getItemDrawId; + /* 0x14A */ s16 getItemId; /* 0x14C */ u8 objIndex; /* 0x150 */ ActorFunc drawFunc; /* 0x154 */ ItemEtceteraActionFunc actionFunc; diff --git a/src/overlays/actors/ovl_Obj_Moon_Stone/z_obj_moon_stone.c b/src/overlays/actors/ovl_Obj_Moon_Stone/z_obj_moon_stone.c index 47366a8423..31ba1fa630 100644 --- a/src/overlays/actors/ovl_Obj_Moon_Stone/z_obj_moon_stone.c +++ b/src/overlays/actors/ovl_Obj_Moon_Stone/z_obj_moon_stone.c @@ -148,11 +148,11 @@ void ObjMoonStone_Draw(Actor* thisx, PlayState* play) { OPEN_DISPS(play->state.gfxCtx); func_8012C28C(play->state.gfxCtx); func_8012C2DC(play->state.gfxCtx); - AnimatedMat_Draw(play, Lib_SegmentedToVirtual(object_gi_reserve00_Matanimheader_001C60)); + AnimatedMat_Draw(play, Lib_SegmentedToVirtual(gGiMoonsTearTexAnim)); gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); - gSPDisplayList(POLY_OPA_DISP++, object_gi_reserve00_DL_000D78); + gSPDisplayList(POLY_OPA_DISP++, gGiMoonsTearItemDL); Matrix_ReplaceRotation(&play->billboardMtxF); gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); - gSPDisplayList(POLY_XLU_DISP++, object_gi_reserve00_DL_000C80); + gSPDisplayList(POLY_XLU_DISP++, gGiMoonsTearGlowDL); CLOSE_DISPS(play->state.gfxCtx); } diff --git a/src/overlays/actors/ovl_Obj_Nozoki/z_obj_nozoki.c b/src/overlays/actors/ovl_Obj_Nozoki/z_obj_nozoki.c index 85f1b89ceb..bc73c9c0ee 100644 --- a/src/overlays/actors/ovl_Obj_Nozoki/z_obj_nozoki.c +++ b/src/overlays/actors/ovl_Obj_Nozoki/z_obj_nozoki.c @@ -465,7 +465,7 @@ void ObjNozoki_Draw(Actor* thisx, PlayState* play) { ObjNozoki* this = THIS; if (this->unk_15C == 1) { - GetItem_Draw(play, GID_39); + GetItem_Draw(play, GID_MASK_SUN); } else { Gfx_DrawDListOpa(play, D_80BA34FC[this->unk_15C]); } diff --git a/src/overlays/actors/ovl_Obj_Tsubo/z_obj_tsubo.c b/src/overlays/actors/ovl_Obj_Tsubo/z_obj_tsubo.c index 779ea2a5e8..32a0a0d540 100644 --- a/src/overlays/actors/ovl_Obj_Tsubo/z_obj_tsubo.c +++ b/src/overlays/actors/ovl_Obj_Tsubo/z_obj_tsubo.c @@ -508,7 +508,7 @@ void func_809289E4(ObjTsubo* this, PlayState* play) { s32 absYawDiff = ABS_ALT(yawDiff); if (absYawDiff > (0x10000 / 3)) { - Actor_PickUp(&this->actor, play, 0, 36.0f, 30.0f); + Actor_PickUp(&this->actor, play, GI_NONE, 36.0f, 30.0f); } } } diff --git a/tools/disasm/files.txt b/tools/disasm/files.txt index f3fca8ff46..22762b51a9 100644 --- a/tools/disasm/files.txt +++ b/tools/disasm/files.txt @@ -526,7 +526,7 @@ 0x801BB090 : "z_debug_mode", 0x801BB120 : "z_demo", 0x801BB170 : "z_draw", - 0x801BC240 : "z_eff_footmark", + 0x801BC210 : "z_eff_footmark", 0x801BC2A0 : "", 0x801BC420 : "z_face_reaction", 0x801BD830 : "", diff --git a/tools/disasm/functions.txt b/tools/disasm/functions.txt index ccb8db9ade..4dba5ceaba 100644 --- a/tools/disasm/functions.txt +++ b/tools/disasm/functions.txt @@ -1583,29 +1583,29 @@ 0x800EE29C:("Cutscene_CheckActorAction",), 0x800EE2F4:("Cutscene_IsPlaying",), 0x800EE320:("GetItem_Draw",), - 0x800EE364:("func_800EE364",), - 0x800EE400:("func_800EE400",), - 0x800EE5FC:("func_800EE5FC",), - 0x800EE7D8:("func_800EE7D8",), - 0x800EE940:("func_800EE940",), - 0x800EEA48:("func_800EEA48",), - 0x800EEC18:("func_800EEC18",), - 0x800EED20:("func_800EED20",), - 0x800EEE34:("func_800EEE34",), - 0x800EEF4C:("func_800EEF4C",), - 0x800EF054:("func_800EF054",), - 0x800EF0F0:("func_800EF0F0",), - 0x800EF1F4:("func_800EF1F4",), - 0x800EF2AC:("func_800EF2AC",), - 0x800EF364:("func_800EF364",), - 0x800EF4D4:("func_800EF4D4",), - 0x800EF65C:("func_800EF65C",), - 0x800EF780:("func_800EF780",), - 0x800EF89C:("func_800EF89C",), - 0x800EF984:("func_800EF984",), - 0x800EFAB8:("func_800EFAB8",), - 0x800EFBFC:("func_800EFBFC",), - 0x800EFD44:("func_800EFD44",), + 0x800EE364:("GetItem_DrawBombchu",), + 0x800EE400:("GetItem_DrawPoes",), + 0x800EE5FC:("GetItem_DrawFairyBottle",), + 0x800EE7D8:("GetItem_DrawSkullToken",), + 0x800EE940:("GetItem_DrawCompass",), + 0x800EEA48:("GetItem_DrawPotion",), + 0x800EEC18:("GetItem_DrawGoronSword",), + 0x800EED20:("GetItem_DrawDekuNuts",), + 0x800EEE34:("GetItem_DrawRecoveryHeart",), + 0x800EEF4C:("GetItem_DrawFish",), + 0x800EF054:("GetItem_DrawOpa0",), + 0x800EF0F0:("GetItem_DrawOpa0Xlu1",), + 0x800EF1F4:("GetItem_DrawOpa01",), + 0x800EF2AC:("GetItem_DrawXlu01",), + 0x800EF364:("GetItem_DrawSeahorse",), + 0x800EF4D4:("GetItem_DrawFairyContainer",), + 0x800EF65C:("GetItem_DrawMoonsTear",), + 0x800EF780:("GetItem_DrawMagicArrow",), + 0x800EF89C:("GetItem_DrawUpgrades",), + 0x800EF984:("GetItem_DrawRupee",), + 0x800EFAB8:("GetItem_DrawSmallRupee",), + 0x800EFBFC:("GetItem_DrawWallet",), + 0x800EFD44:("GetItem_DrawRemains",), 0x800EFE60:("EffFootmark_Init",), 0x800EFF04:("EffFootmark_Add",), 0x800F00BC:("EffFootmark_Update",), diff --git a/tools/disasm/variables.txt b/tools/disasm/variables.txt index eb9577f630..65a0ee1586 100644 --- a/tools/disasm/variables.txt +++ b/tools/disasm/variables.txt @@ -914,7 +914,7 @@ 0x801BB148:("sCsStateHandlers2","cutscene_update_func","[5]",0x14), 0x801BB15C:("D_801BB15C","UNK_TYPE2","",0x2), 0x801BB160:("D_801BB160","UNK_TYPE4","",0x4), - 0x801BB170:("D_801BB170","s801BB170","[118]",0x1098), + 0x801BB170:("sDrawItemTable","DrawItemTableEntry","[118]",0x1098), 0x801BC210:("D_801BC210","UNK_TYPE1","",0x1), 0x801BC240:("D_801BC240","Gfx","[9]",0x48), 0x801BC288:("D_801BC288","Gfx","[3]",0x18), diff --git a/tools/sizes/code_functions.csv b/tools/sizes/code_functions.csv index 2bd3163a37..9b9a7e6f25 100644 --- a/tools/sizes/code_functions.csv +++ b/tools/sizes/code_functions.csv @@ -1097,29 +1097,29 @@ asm/non_matchings/code/z_demo/Cutscene_GetActorActionIndex.s,Cutscene_GetActorAc asm/non_matchings/code/z_demo/Cutscene_CheckActorAction.s,Cutscene_CheckActorAction,0x800EE29C,0x16 asm/non_matchings/code/z_demo/Cutscene_IsPlaying.s,Cutscene_IsPlaying,0x800EE2F4,0xB asm/non_matchings/code/z_draw/GetItem_Draw.s,GetItem_Draw,0x800EE320,0x11 -asm/non_matchings/code/z_draw/func_800EE364.s,func_800EE364,0x800EE364,0x27 -asm/non_matchings/code/z_draw/func_800EE400.s,func_800EE400,0x800EE400,0x7F -asm/non_matchings/code/z_draw/func_800EE5FC.s,func_800EE5FC,0x800EE5FC,0x77 -asm/non_matchings/code/z_draw/func_800EE7D8.s,func_800EE7D8,0x800EE7D8,0x5A -asm/non_matchings/code/z_draw/func_800EE940.s,func_800EE940,0x800EE940,0x42 -asm/non_matchings/code/z_draw/func_800EEA48.s,func_800EEA48,0x800EEA48,0x74 -asm/non_matchings/code/z_draw/func_800EEC18.s,func_800EEC18,0x800EEC18,0x42 -asm/non_matchings/code/z_draw/func_800EED20.s,func_800EED20,0x800EED20,0x45 -asm/non_matchings/code/z_draw/func_800EEE34.s,func_800EEE34,0x800EEE34,0x46 -asm/non_matchings/code/z_draw/func_800EEF4C.s,func_800EEF4C,0x800EEF4C,0x42 -asm/non_matchings/code/z_draw/func_800EF054.s,func_800EF054,0x800EF054,0x27 -asm/non_matchings/code/z_draw/func_800EF0F0.s,func_800EF0F0,0x800EF0F0,0x41 -asm/non_matchings/code/z_draw/func_800EF1F4.s,func_800EF1F4,0x800EF1F4,0x2E -asm/non_matchings/code/z_draw/func_800EF2AC.s,func_800EF2AC,0x800EF2AC,0x2E -asm/non_matchings/code/z_draw/func_800EF364.s,func_800EF364,0x800EF364,0x5C -asm/non_matchings/code/z_draw/func_800EF4D4.s,func_800EF4D4,0x800EF4D4,0x62 -asm/non_matchings/code/z_draw/func_800EF65C.s,func_800EF65C,0x800EF65C,0x49 -asm/non_matchings/code/z_draw/func_800EF780.s,func_800EF780,0x800EF780,0x47 -asm/non_matchings/code/z_draw/func_800EF89C.s,func_800EF89C,0x800EF89C,0x3A -asm/non_matchings/code/z_draw/func_800EF984.s,func_800EF984,0x800EF984,0x4D -asm/non_matchings/code/z_draw/func_800EFAB8.s,func_800EFAB8,0x800EFAB8,0x51 -asm/non_matchings/code/z_draw/func_800EFBFC.s,func_800EFBFC,0x800EFBFC,0x52 -asm/non_matchings/code/z_draw/func_800EFD44.s,func_800EFD44,0x800EFD44,0x47 +asm/non_matchings/code/z_draw/GetItem_DrawBombchu.s,GetItem_DrawBombchu,0x800EE364,0x27 +asm/non_matchings/code/z_draw/GetItem_DrawPoes.s,GetItem_DrawPoes,0x800EE400,0x7F +asm/non_matchings/code/z_draw/GetItem_DrawFairyBottle.s,GetItem_DrawFairyBottle,0x800EE5FC,0x77 +asm/non_matchings/code/z_draw/GetItem_DrawSkullToken.s,GetItem_DrawSkullToken,0x800EE7D8,0x5A +asm/non_matchings/code/z_draw/GetItem_DrawCompass.s,GetItem_DrawCompass,0x800EE940,0x42 +asm/non_matchings/code/z_draw/GetItem_DrawPotion.s,GetItem_DrawPotion,0x800EEA48,0x74 +asm/non_matchings/code/z_draw/GetItem_DrawGoronSword.s,GetItem_DrawGoronSword,0x800EEC18,0x42 +asm/non_matchings/code/z_draw/GetItem_DrawDekuNuts.s,GetItem_DrawDekuNuts,0x800EED20,0x45 +asm/non_matchings/code/z_draw/GetItem_DrawRecoveryHeart.s,GetItem_DrawRecoveryHeart,0x800EEE34,0x46 +asm/non_matchings/code/z_draw/GetItem_DrawFish.s,GetItem_DrawFish,0x800EEF4C,0x42 +asm/non_matchings/code/z_draw/GetItem_DrawOpa0.s,GetItem_DrawOpa0,0x800EF054,0x27 +asm/non_matchings/code/z_draw/GetItem_DrawOpa0Xlu1.s,GetItem_DrawOpa0Xlu1,0x800EF0F0,0x41 +asm/non_matchings/code/z_draw/GetItem_DrawOpa01.s,GetItem_DrawOpa01,0x800EF1F4,0x2E +asm/non_matchings/code/z_draw/GetItem_DrawXlu01.s,GetItem_DrawXlu01,0x800EF2AC,0x2E +asm/non_matchings/code/z_draw/GetItem_DrawSeahorse.s,GetItem_DrawSeahorse,0x800EF364,0x5C +asm/non_matchings/code/z_draw/GetItem_DrawFairyContainer.s,GetItem_DrawFairyContainer,0x800EF4D4,0x62 +asm/non_matchings/code/z_draw/GetItem_DrawMoonsTear.s,GetItem_DrawMoonsTear,0x800EF65C,0x49 +asm/non_matchings/code/z_draw/GetItem_DrawMagicArrow.s,GetItem_DrawMagicArrow,0x800EF780,0x47 +asm/non_matchings/code/z_draw/GetItem_DrawUpgrades.s,GetItem_DrawUpgrades,0x800EF89C,0x3A +asm/non_matchings/code/z_draw/GetItem_DrawRupee.s,GetItem_DrawRupee,0x800EF984,0x4D +asm/non_matchings/code/z_draw/GetItem_DrawSmallRupee.s,GetItem_DrawSmallRupee,0x800EFAB8,0x51 +asm/non_matchings/code/z_draw/GetItem_DrawWallet.s,GetItem_DrawWallet,0x800EFBFC,0x52 +asm/non_matchings/code/z_draw/GetItem_DrawRemains.s,GetItem_DrawRemains,0x800EFD44,0x47 asm/non_matchings/code/z_eff_footmark/EffFootmark_Init.s,EffFootmark_Init,0x800EFE60,0x29 asm/non_matchings/code/z_eff_footmark/EffFootmark_Add.s,EffFootmark_Add,0x800EFF04,0x6E asm/non_matchings/code/z_eff_footmark/EffFootmark_Update.s,EffFootmark_Update,0x800F00BC,0x43