From 7ee8c8011c96ba5ab7a124c41a315859a03d3714 Mon Sep 17 00:00:00 2001 From: Tharo <17233964+Thar0@users.noreply.github.com> Date: Fri, 12 Feb 2021 21:57:06 +0000 Subject: All* Get Item objects decompiled (#668) * All get item objects OK * Name z_draw functions * fix skulltula tokens draw ids * Review suggestions, merge extract_single_asset into extract_assets as an optional argument Co-authored-by: Thar0 --- src/code/z_draw.c | 554 +++++++++++++++++++++++++++++++++--------------- src/code/z_en_item00.c | 10 +- src/code/z_player_lib.c | 2 +- 3 files changed, 387 insertions(+), 179 deletions(-) (limited to 'src/code') diff --git a/src/code/z_draw.c b/src/code/z_draw.c index c9ab4a2bf..3cdcfcaae 100644 --- a/src/code/z_draw.c +++ b/src/code/z_draw.c @@ -1,171 +1,379 @@ #include "global.h" +#include "objects/object_gi_key/object_gi_key.h" +#include "objects/object_gi_jewel/object_gi_jewel.h" +#include "objects/object_gi_melody/object_gi_melody.h" +#include "objects/object_gi_heart/object_gi_heart.h" +#include "objects/object_gi_compass/object_gi_compass.h" +#include "objects/object_gi_bosskey/object_gi_bosskey.h" +#include "objects/object_gi_medal/object_gi_medal.h" +#include "objects/object_gi_nuts/object_gi_nuts.h" +#include "objects/object_gi_hearts/object_gi_hearts.h" +#include "objects/object_gi_arrowcase/object_gi_arrowcase.h" +#include "objects/object_gi_bombpouch/object_gi_bombpouch.h" +#include "objects/object_gi_bottle/object_gi_bottle.h" +#include "objects/object_gi_stick/object_gi_stick.h" +#include "objects/object_gi_map/object_gi_map.h" +#include "objects/object_gi_shield_1/object_gi_shield_1.h" +#include "objects/object_gi_magicpot/object_gi_magicpot.h" +#include "objects/object_gi_bomb_1/object_gi_bomb_1.h" +#include "objects/object_gi_purse/object_gi_purse.h" +#include "objects/object_gi_gerudo/object_gi_gerudo.h" +#include "objects/object_gi_arrow/object_gi_arrow.h" +#include "objects/object_gi_bomb_2/object_gi_bomb_2.h" +#include "objects/object_gi_egg/object_gi_egg.h" +#include "objects/object_gi_scale/object_gi_scale.h" +#include "objects/object_gi_shield_2/object_gi_shield_2.h" +#include "objects/object_gi_hookshot/object_gi_hookshot.h" +#include "objects/object_gi_ocarina/object_gi_ocarina.h" +#include "objects/object_gi_milk/object_gi_milk.h" +#include "objects/object_gi_pachinko/object_gi_pachinko.h" +#include "objects/object_gi_boomerang/object_gi_boomerang.h" +#include "objects/object_gi_bow/object_gi_bow.h" +#include "objects/object_gi_glasses/object_gi_glasses.h" +#include "objects/object_gi_liquid/object_gi_liquid.h" +#include "objects/object_gi_shield_3/object_gi_shield_3.h" +#include "objects/object_gi_letter/object_gi_letter.h" +#include "objects/object_gi_clothes/object_gi_clothes.h" +#include "objects/object_gi_bean/object_gi_bean.h" +#include "objects/object_gi_fish/object_gi_fish.h" +#include "objects/object_gi_saw/object_gi_saw.h" +#include "objects/object_gi_hammer/object_gi_hammer.h" +#include "objects/object_gi_grass/object_gi_grass.h" +#include "objects/object_gi_longsword/object_gi_longsword.h" +#include "objects/object_gi_niwatori/object_gi_niwatori.h" +#include "objects/object_gi_bottle_letter/object_gi_bottle_letter.h" +#include "objects/object_gi_ocarina_0/object_gi_ocarina_0.h" +#include "objects/object_gi_boots_2/object_gi_boots_2.h" +#include "objects/object_gi_seed/object_gi_seed.h" +#include "objects/object_gi_gloves/object_gi_gloves.h" +#include "objects/object_gi_coin/object_gi_coin.h" +#include "objects/object_gi_ki_tan_mask/object_gi_ki_tan_mask.h" +#include "objects/object_gi_redead_mask/object_gi_redead_mask.h" +#include "objects/object_gi_skj_mask/object_gi_skj_mask.h" +#include "objects/object_gi_rabit_mask/object_gi_rabit_mask.h" +#include "objects/object_gi_truth_mask/object_gi_truth_mask.h" +#include "objects/object_gi_eye_lotion/object_gi_eye_lotion.h" +#include "objects/object_gi_powder/object_gi_powder.h" +#include "objects/object_gi_mushroom/object_gi_mushroom.h" +#include "objects/object_gi_ticketstone/object_gi_ticketstone.h" +#include "objects/object_gi_brokensword/object_gi_brokensword.h" +#include "objects/object_gi_prescription/object_gi_prescription.h" +#include "objects/object_gi_bracelet/object_gi_bracelet.h" +#include "objects/object_gi_soldout/object_gi_soldout.h" +#include "objects/object_gi_frog/object_gi_frog.h" +#include "objects/object_gi_golonmask/object_gi_golonmask.h" +#include "objects/object_gi_zoramask/object_gi_zoramask.h" +#include "objects/object_gi_gerudomask/object_gi_gerudomask.h" +#include "objects/object_gi_hoverboots/object_gi_hoverboots.h" +#include "objects/object_gi_m_arrow/object_gi_m_arrow.h" +#include "objects/object_gi_sutaru/object_gi_sutaru.h" +#include "objects/object_gi_goddess/object_gi_goddess.h" +#include "objects/object_gi_fire/object_gi_fire.h" +#include "objects/object_gi_insect/object_gi_insect.h" +#include "objects/object_gi_butterfly/object_gi_butterfly.h" +#include "objects/object_gi_ghost/object_gi_ghost.h" +#include "objects/object_gi_soul/object_gi_soul.h" +#include "objects/object_gi_dekupouch/object_gi_dekupouch.h" +#include "objects/object_gi_rupy/object_gi_rupy.h" +#include "objects/object_gi_sword_1/object_gi_sword_1.h" // "Get Item" Model Draw Functions -void func_800694E4(GlobalContext* globalCtx, s16 drawId); -void func_800695C0(GlobalContext* globalCtx, s16 drawId); -void func_8006969C(GlobalContext* globalCtx, s16 drawId); -void func_80069880(GlobalContext* globalCtx, s16 drawId); -void func_80069AC8(GlobalContext* globalCtx, s16 drawId); -void func_80069CF0(GlobalContext* globalCtx, s16 drawId); -void func_80069EB0(GlobalContext* globalCtx, s16 drawId); -void func_8006A060(GlobalContext* globalCtx, s16 drawId); -void func_8006A158(GlobalContext* globalCtx, s16 drawId); -void func_8006A2A0(GlobalContext* globalCtx, s16 drawId); -void func_8006A4B0(GlobalContext* globalCtx, s16 drawId); -void func_8006A5F0(GlobalContext* globalCtx, s16 drawId); -void func_8006A73C(GlobalContext* globalCtx, s16 drawId); -void func_8006A88C(GlobalContext* globalCtx, s16 drawId); -void func_8006A9CC(GlobalContext* globalCtx, s16 drawId); -void func_8006AAA8(GlobalContext* globalCtx, s16 drawId); -void func_8006ABEC(GlobalContext* globalCtx, s16 drawId); -void func_8006ACE4(GlobalContext* globalCtx, s16 drawId); -void func_8006AE40(GlobalContext* globalCtx, s16 drawId); -void func_8006AF9C(GlobalContext* globalCtx, s16 drawId); -void func_8006B124(GlobalContext* globalCtx, s16 drawId); -void func_8006B24C(GlobalContext* globalCtx, s16 drawId); -void func_8006B3C0(GlobalContext* globalCtx, s16 drawId); -void func_8006B54C(GlobalContext* globalCtx, s16 drawId); -void func_8006B6E4(GlobalContext* globalCtx, s16 drawId); -void func_8006B870(GlobalContext* globalCtx, s16 drawId); +void GetItem_DrawMaskOrBombchu(GlobalContext* globalCtx, s16 drawId); +void GetItem_DrawSoldOut(GlobalContext* globalCtx, s16 drawId); +void GetItem_DrawBlueFire(GlobalContext* globalCtx, s16 drawId); +void GetItem_DrawPoes(GlobalContext* globalCtx, s16 drawId); +void GetItem_DrawFairy(GlobalContext* globalCtx, s16 drawId); +void GetItem_DrawMirrorShield(GlobalContext* globalCtx, s16 drawId); +void GetItem_DrawSkullToken(GlobalContext* globalCtx, s16 drawId); +void GetItem_DrawEggOrMedallion(GlobalContext* globalCtx, s16 drawId); +void GetItem_DrawCompass(GlobalContext* globalCtx, s16 drawId); +void GetItem_DrawPotion(GlobalContext* globalCtx, s16 drawId); +void GetItem_DrawGoronSword(GlobalContext* globalCtx, s16 drawId); +void GetItem_DrawDekuNuts(GlobalContext* globalCtx, s16 drawId); +void GetItem_DrawRecoveryHeart(GlobalContext* globalCtx, s16 drawId); +void GetItem_DrawFish(GlobalContext* globalCtx, s16 drawId); +void GetItem_DrawOpa0(GlobalContext* globalCtx, s16 drawId); +void GetItem_DrawOpa0Xlu1(GlobalContext* globalCtx, s16 drawId); +void GetItem_DrawXlu01(GlobalContext* globalCtx, s16 drawId); +void GetItem_DrawOpa10Xlu2(GlobalContext* globalCtx, s16 drawId); +void GetItem_DrawMagicArrow(GlobalContext* globalCtx, s16 drawId); +void GetItem_DrawMagicSpell(GlobalContext* globalCtx, s16 drawId); +void GetItem_DrawOpa1023(GlobalContext* globalCtx, s16 drawId); +void GetItem_DrawOpa10Xlu32(GlobalContext* globalCtx, s16 drawId); +void GetItem_DrawSmallRupee(GlobalContext* globalCtx, s16 drawId); +void GetItem_DrawScale(GlobalContext* globalCtx, s16 drawId); +void GetItem_DrawBulletBag(GlobalContext* globalCtx, s16 drawId); +void GetItem_DrawWallet(GlobalContext* globalCtx, s16 drawId); typedef struct { /* 0x00 */ void (*drawFunc)(GlobalContext*, s16); /* 0x04 */ u32 dlists[8]; } DrawItemTableEntry; // size = 0x24 -// TODO: use symbols for these dlists once objects are in C DrawItemTableEntry sDrawItemTable[] = { - { func_8006AAA8, { 0x06000670, 0x06000750 } }, - { func_8006A9CC, { 0x06000800 } }, - { func_8006ABEC, { 0x06000A80, 0x06000AE0 } }, - { func_8006ABEC, { 0x06000A90, 0x06000AE0 } }, - { func_8006ABEC, { 0x06000AA0, 0x06000AE0 } }, - { func_8006ABEC, { 0x06000AB0, 0x06000AE0 } }, - { func_8006ABEC, { 0x06000AC0, 0x06000AE0 } }, - { func_8006ABEC, { 0x06000AD0, 0x06000AE0 } }, - { func_8006A73C, { 0x060000E0 } }, - { func_8006AAA8, { 0x06000CA0, 0x06000F08 } }, - { func_8006A158, { 0x06000960, 0x06000C50 } }, - { func_8006A060, { 0x06000CB0, 0x06000E18 } }, - { func_8006A060, { 0x06001AF0, 0x06000E18 } }, - { func_8006A060, { 0x06002830, 0x06000E18 } }, - { func_8006A060, { 0x06003610, 0x06000E18 } }, - { func_8006A060, { 0x06004330, 0x06000E18 } }, - { func_8006A060, { 0x06005220, 0x06000E18 } }, - { func_8006A5F0, { 0x06000E90 } }, - { func_8006ABEC, { 0x06001290, 0x06001470 } }, - { func_8006ABEC, { 0x06001290, 0x06001590 } }, - { func_8006B124, { 0x06000990, 0x060008D0, 0x06000930, 0x06000A80 } }, - { func_8006B124, { 0x06000990, 0x060008F0, 0x06000950, 0x06000A80 } }, - { func_8006B124, { 0x06000990, 0x06000910, 0x06000970, 0x06000A80 } }, - { func_8006B124, { 0x06000B90, 0x06000AD0, 0x06000B30, 0x06000D98 } }, - { func_8006B124, { 0x06000B90, 0x06000AF0, 0x06000B50, 0x06000D98 } }, - { func_8006B124, { 0x06000B90, 0x06000B10, 0x06000B70, 0x06000D98 } }, - { func_8006A9CC, { 0x060004D0 } }, - { func_8006A9CC, { 0x060003C0 } }, - { func_8006A9CC, { 0x06000A50 } }, - { func_8006A9CC, { 0x06000580 } }, - { func_8006A9CC, { 0x06000EE0 } }, - { func_8006A9CC, { 0x060009A0 } }, - { func_8006A9CC, { 0x06000B70 } }, - { func_8006B870, - { 0x06001850, 0x06001750, 0x06001790, 0x060019A0, 0x060017B0, 0x06001A28, 0x060017D0, 0x06001AD8 } }, - { func_8006B870, - { 0x06001850, 0x06001770, 0x060017F0, 0x060019A0, 0x06001810, 0x06001A28, 0x06001830, 0x06001AD8 } }, - { func_8006A9CC, { 0x06000F60 } }, - { func_8006A9CC, { 0x06000340 } }, - { func_8006A9CC, { 0x06000B90 } }, - { func_8006A9CC, { 0x06001830 } }, - { func_800694E4, { 0x060004B0 } }, - { func_8006A060, { 0x06000FD0, 0x06001008 } }, - { func_8006B54C, { 0x06000AA0, 0x06000A20, 0x06000A60, 0x06000CC8 } }, - { func_8006B54C, { 0x06000AA0, 0x06000A40, 0x06000A80, 0x06000CC8 } }, - { func_8006A9CC, { 0x06000C70 } }, - { func_8006A9CC, { 0x06000750 } }, - { func_8006A9CC, { 0x06001240 } }, - { func_8006AAA8, { 0x060008C0, 0x06000AF8 } }, - { func_8006AAA8, { 0x06001060, 0x06001288 } }, - { func_8006AAA8, { 0x06000AC0, 0x06000D50 } }, - { func_8006A9CC, { 0x060007E0 } }, - { func_8006A9CC, { 0x06000940 } }, - { func_8006A9CC, { 0x06000A30 } }, - { func_8006A9CC, { 0x06000990 } }, - { func_8006AAA8, { 0x06000D80, 0x06001010 } }, - { func_8006A2A0, { 0x06001438, 0x06001270, 0x060012D0, 0x06001790, 0x06001330, 0x06001848 } }, - { func_8006A2A0, { 0x06001438, 0x06001290, 0x060012F0, 0x06001790, 0x06001388, 0x06001848 } }, - { func_8006A2A0, { 0x06001438, 0x060012B0, 0x06001310, 0x06001790, 0x060013E0, 0x06001848 } }, - { func_80069CF0, { 0x06000FB0, 0x060011C8 } }, - { func_8006AAA8, { 0x06000CC0, 0x06000D60 } }, - { func_8006B124, { 0x06001560, 0x060014E0, 0x06001520, 0x06001608 } }, - { func_8006B124, { 0x06001560, 0x06001500, 0x06001540, 0x06001608 } }, - { func_8006A9CC, { 0x06000580 } }, - { func_8006A88C, { 0x06000600 } }, - { func_8006A9CC, { 0x060007E0 } }, - { func_8006A9CC, { 0x060009D0 } }, - { func_8006A9CC, { 0x060008E0 } }, - { func_8006A4B0, { 0x06000600 } }, - { func_8006ACE4, { 0x06001630, 0x060015F0, 0x06001948 } }, - { func_8006AAA8, { 0x060008E0, 0x06000AE0 } }, - { func_8006AAA8, { 0x060008E0, 0x06000B58 } }, - { func_8006AAA8, { 0x06001630, 0x06001A98 } }, - { func_8006A9CC, { 0x06000810 } }, - { func_8006B24C, { 0x06001540, 0x060014C0, 0x06001860, 0x06001500 } }, - { func_8006B24C, { 0x06001540, 0x060014E0, 0x06001860, 0x06001520 } }, - { func_8006ACE4, { 0x060005E0, 0x06000560, 0x06000768 } }, - { func_8006ACE4, { 0x060005E0, 0x06000580, 0x06000768 } }, - { func_8006ACE4, { 0x060005E0, 0x060005A0, 0x06000768 } }, - { func_8006ACE4, { 0x060005E0, 0x060005C0, 0x06000768 } }, - { func_8006A9CC, { 0x060009D0 } }, - { func_8006AAA8, { 0x06000BC0, 0x06000E58 } }, - { func_8006AAA8, { 0x060013D0, 0x060016B0 } }, - { func_8006AAA8, { 0x06000680, 0x06000768 } }, - { func_8006A9CC, { 0x060008B0 } }, - { func_8006A9CC, { 0x060009D0 } }, - { func_8006AAA8, { 0x06000F00, 0x06001188 } }, - { func_8006A4B0, { 0x060006E0 } }, - { func_8006AAA8, { 0x060009C0, 0x06000AF0 } }, - { func_8006A9CC, { 0x06000960 } }, - { func_800695C0, { 0x06000440 } }, - { func_8006AAA8, { 0x06000D60, 0x06001060 } }, - { func_800694E4, { 0x060014F8 } }, - { func_800694E4, { 0x06001398 } }, - { func_800694E4, { 0x060010E8 } }, - { func_8006ACE4, { 0x06001630, 0x06001610, 0x06001948 } }, - { func_8006A9CC, { 0x06001850 } }, - { func_8006AE40, { 0x06000AE0, 0x06000CA0, 0x06000D00 } }, - { func_8006AE40, { 0x06000AE0, 0x06000CC0, 0x06000D00 } }, - { func_8006AE40, { 0x06000AE0, 0x06000CE0, 0x06000D00 } }, - { func_80069EB0, { 0x06000330, 0x06000438 } }, - { func_8006AF9C, { 0x06000920, 0x060009E0, 0x06000A40 } }, - { func_8006AF9C, { 0x06000920, 0x06000A00, 0x06000A40 } }, - { func_8006AF9C, { 0x06000920, 0x06000A20, 0x06000A40 } }, - { func_8006969C, { 0x06000C60, 0x06000F08 } }, - { func_8006AAA8, { 0x06000830, 0x06000B20 } }, - { func_8006AAA8, { 0x06000830, 0x06000A70 } }, - { func_80069880, { 0x06000990, 0x06000BE0, 0x06000CF0, 0x06000950 } }, - { func_80069AC8, { 0x06000BD0, 0x06000DB8, 0x06000EF0 } }, - { func_8006B6E4, { 0x06000B70, 0x06000AF0, 0x06000F48, 0x06000B30, 0x06000FF0 } }, - { func_8006B3C0, { 0x060005E0, 0x060004A0, 0x060006F0, 0x06000540 } }, - { func_8006B3C0, { 0x060005E0, 0x060004C0, 0x060006F0, 0x06000560 } }, - { func_8006B3C0, { 0x060005E0, 0x060004E0, 0x060006F0, 0x06000580 } }, - { func_80069880, { 0x06000990, 0x06000BE0, 0x06000CF0, 0x06000970 } }, - { func_8006B24C, { 0x060005E0, 0x06000500, 0x060006F0, 0x060005A0 } }, - { func_8006B24C, { 0x060005E0, 0x06000520, 0x060006F0, 0x060005C0 } }, - { func_8006B6E4, { 0x06000B70, 0x06000B10, 0x06000F48, 0x06000B50, 0x06000FF0 } }, - { func_8006A9CC, { 0x06000960 } }, - { func_80069EB0, { 0x06004DB0, 0x06004EB8 } }, + // bottle, OBJECT_GI_BOTTLE + { GetItem_DrawOpa0Xlu1, { gGiBottleStopperDL, gGiBottleDL } }, + // small key, OBJECT_GI_KEY + { GetItem_DrawOpa0, { gGiSmallKeyDL } }, + // minuet of forest, OBJECT_GI_MELODY + { GetItem_DrawXlu01, { gGiMinuetColorDL, gGiSongNoteDL } }, + // bolero of fire, OBJECT_GI_MELODY + { GetItem_DrawXlu01, { gGiBoleroColorDL, gGiSongNoteDL } }, + // serenade of water, OBJECT_GI_MELODY + { GetItem_DrawXlu01, { gGiSerenadeColorDL, gGiSongNoteDL } }, + // requiem of spirit, OBJECT_GI_MELODY + { GetItem_DrawXlu01, { gGiRequiemColorDL, gGiSongNoteDL } }, + // nocturne of shadow, OBJECT_GI_MELODY + { GetItem_DrawXlu01, { gGiNocturneColorDL, gGiSongNoteDL } }, + // prelude of light, OBJECT_GI_MELODY + { GetItem_DrawXlu01, { gGiPreludeColorDL, gGiSongNoteDL } }, + // recovery heart, OBJECT_GI_HEART + { GetItem_DrawRecoveryHeart, { gGiRecoveryHeartDL } }, + // boss key, OBJECT_GI_BOSSKEY + { GetItem_DrawOpa0Xlu1, { gGiBossKeyDL, gGiBossKeyGemDL } }, + // compass, OBJECT_GI_COMPASS + { GetItem_DrawCompass, { gGiCompassDL, gGiCompassGlassDL } }, + // forest medallion, OBJECT_GI_MEDAL + { GetItem_DrawEggOrMedallion, { gGiForestMedallionFaceDL, gGiMedallionDL } }, + // fire medallion, OBJECT_GI_MEDAL + { GetItem_DrawEggOrMedallion, { gGiFireMedallionFaceDL, gGiMedallionDL } }, + // water medallion, OBJECT_GI_MEDAL + { GetItem_DrawEggOrMedallion, { gGiWaterMedallionFaceDL, gGiMedallionDL } }, + // spirit medallion, OBJECT_GI_MEDAL + { GetItem_DrawEggOrMedallion, { gGiSpiritMedallionFaceDL, gGiMedallionDL } }, + // shadow medallion, OBJECT_GI_MEDAL + { GetItem_DrawEggOrMedallion, { gGiShadowMedallionFaceDL, gGiMedallionDL } }, + // light medallion, OBJECT_GI_MEDAL + { GetItem_DrawEggOrMedallion, { gGiLightMedallionFaceDL, gGiMedallionDL } }, + // deku nuts, OBJECT_GI_NUTS + { GetItem_DrawDekuNuts, { gGiNutDL } }, + // heart container, OBJECT_GI_HEARTS + { GetItem_DrawXlu01, { gGiHeartBorderDL, gGiHeartContainerDL } }, + // heart piece, OBJECT_GI_HEARTS + { GetItem_DrawXlu01, { gGiHeartBorderDL, gGiHeartPieceDL } }, + // quiver 30, OBJECT_GI_ARROWCASE + { GetItem_DrawOpa1023, { gGiQuiverInnerDL, gGiQuiver30InnerColorDL, gGiQuiver30OuterColorDL, gGiQuiverOuterDL } }, + // quiver 40, OBJECT_GI_ARROWCASE + { GetItem_DrawOpa1023, { gGiQuiverInnerDL, gGiQuiver40InnerColorDL, gGiQuiver40OuterColorDL, gGiQuiverOuterDL } }, + // quiver 50, OBJECT_GI_ARROWCASE + { GetItem_DrawOpa1023, { gGiQuiverInnerDL, gGiQuiver50InnerColorDL, gGiQuiver50OuterColorDL, gGiQuiverOuterDL } }, + // bomb bag 20, OBJECT_GI_BOMBPOUCH + { GetItem_DrawOpa1023, { gGiBombBagDL, gGiBombBag20BagColorDL, gGiBombBag20RingColorDL, gGiBombBagRingDL } }, + // bomb bag 30, OBJECT_GI_BOMBPOUCH + { GetItem_DrawOpa1023, { gGiBombBagDL, gGiBombBag30BagColorDL, gGiBombBag30RingColorDL, gGiBombBagRingDL } }, + // bomb bag 40, OBJECT_GI_BOMBPOUCH + { GetItem_DrawOpa1023, { gGiBombBagDL, gGiBombBag40BagColorDL, gGiBombBag40RingColorDL, gGiBombBagRingDL } }, + // stick, OBJECT_GI_STICK + { GetItem_DrawOpa0, { gGiStickDL } }, + // dungeon map, OBJECT_GI_MAP + { GetItem_DrawOpa0, { gGiDungeonMapDL } }, + // deku shield, OBJECT_GI_SHIELD_1 + { GetItem_DrawOpa0, { gGiDekuShieldDL } }, + // small magic jar, OBJECT_GI_MAGICPOT + { GetItem_DrawOpa0, { gGiMagicJarSmallDL } }, + // large magic jar, OBJECT_GI_MAGICPOT + { GetItem_DrawOpa0, { gGiMagicJarLargeDL } }, + // bombs, OBJECT_GI_BOMB_1 + { GetItem_DrawOpa0, { gGiBombDL } }, + // stone of agony, OBJECT_GI_MAP + { GetItem_DrawOpa0, { gGiStoneOfAgonyDL } }, + // adult's wallet, OBJECT_GI_PURSE + { GetItem_DrawWallet, + { gGiWalletDL, gGiAdultWalletColorDL, gGiAdultWalletRupeeOuterColorDL, gGiWalletRupeeOuterDL, + gGiAdultWalletStringColorDL, gGiWalletStringDL, gGiAdultWalletRupeeInnerColorDL, gGiWalletRupeeInnerDL } }, + // giant's wallet, OBJECT_GI_PURSE + { GetItem_DrawWallet, + { gGiWalletDL, gGiGiantsWalletColorDL, gGiGiantsWalletRupeeOuterColorDL, gGiWalletRupeeOuterDL, + gGiGiantsWalletStringColorDL, gGiWalletStringDL, gGiGiantsWalletRupeeInnerColorDL, gGiWalletRupeeInnerDL } }, + // gerudo card, OBJECT_GI_GERUDO + { GetItem_DrawOpa0, { gGiGerudoCardDL } }, + // arrows (small), OBJECT_GI_ARROW + { GetItem_DrawOpa0, { gGiArrowSmallDL } }, + // arrows (medium), OBJECT_GI_ARROW + { GetItem_DrawOpa0, { gGiArrowMediumDL } }, + // arrows (large), OBJECT_GI_ARROW + { GetItem_DrawOpa0, { gGiArrowLargeDL } }, + // bombchus, OBJECT_GI_BOMB_2 + { GetItem_DrawMaskOrBombchu, { gGiBombchuDL } }, + // egg, OBJECT_GI_EGG + { GetItem_DrawEggOrMedallion, { gGiEggSetupDL, gGiEggDL } }, + // silver scale, OBJECT_GI_SCALE + { GetItem_DrawScale, { gGiScaleWaterDL, gGiSilverScaleWaterColorDL, gGiSilverScaleColorDL, gGiScaleDL } }, + // gold scale, OBJECT_GI_SCALE + { GetItem_DrawScale, { gGiScaleWaterDL, gGiGoldenScaleWaterColorDL, gGiGoldenScaleColorDL, gGiScaleDL } }, + // hylian shield, OBJECT_GI_SHIELD_2 + { GetItem_DrawOpa0, { gGiHylianShieldDL } }, + // hookshot, OBJECT_GI_HOOKSHOT + { GetItem_DrawOpa0, { gGiHookshotDL } }, + // longshot, OBJECT_GI_HOOKSHOT + { GetItem_DrawOpa0, { gGiLongshotDL } }, + // ocarina of time, OBJECT_GI_OCARINA + { GetItem_DrawOpa0Xlu1, { gGiOcarinaTimeDL, gGiOcarinaTimeHolesDL } }, + // milk, OBJECT_GI_MILK + { GetItem_DrawOpa0Xlu1, { gGiMilkBottleContentsDL, gGiMilkBottleDL } }, + // keaton mask, OBJECT_GI_KI_TAN_MASK + { GetItem_DrawOpa0Xlu1, { gGiKeatonMaskDL, gGiKeatonMaskEyesDL } }, + // spooky mask, OBJECT_GI_REDEAD_MASK + { GetItem_DrawOpa0, { gGiSpookyMaskDL } }, + // slingshot, OBJECT_GI_PACHINKO + { GetItem_DrawOpa0, { gGiSlingshotDL } }, + // boomerang, OBJECT_GI_BOOMERANG + { GetItem_DrawOpa0, { gGiBoomerangDL } }, + // bow, OBJECT_GI_BOW + { GetItem_DrawOpa0, { gGiBowDL } }, + // lens, OBJECT_GI_GLASSES + { GetItem_DrawOpa0Xlu1, { gGiLensDL, gGiLensGlassDL } }, + // green potion, OBJECT_GI_LIQUID + { GetItem_DrawPotion, + { gGiPotionPotDL, gGiGreenPotColorDL, gGiGreenLiquidColorDL, gGiPotionLiquidDL, gGiGreenPatternColorDL, + gGiPotionPatternDL } }, + // red potion, OBJECT_GI_LIQUID + { GetItem_DrawPotion, + { gGiPotionPotDL, gGiRedPotColorDL, gGiRedLiquidColorDL, gGiPotionLiquidDL, gGiRedPatternColorDL, + gGiPotionPatternDL } }, + // blue potion, OBJECT_GI_LIQUID + { GetItem_DrawPotion, + { gGiPotionPotDL, gGiBluePotColorDL, gGiBlueLiquidColorDL, gGiPotionLiquidDL, gGiBluePatternColorDL, + gGiPotionPatternDL } }, + // mirror shield, OBJECT_GI_SHIELD_3 + { GetItem_DrawMirrorShield, { gGiMirrorShieldDL, gGiMirrorShieldSymbolDL } }, + // zelda's letter, OBJECT_GI_LETTER + { GetItem_DrawOpa0Xlu1, { gGiLetterDL, gGiLetterWritingDL } }, + // goron tunic, OBJECT_GI_CLOTHES + { GetItem_DrawOpa1023, { gGiTunicCollarDL, gGiGoronCollarColorDL, gGiGoronTunicColorDL, gGiTunicDL } }, + // zora tunic, OBJECT_GI_CLOTHES + { GetItem_DrawOpa1023, { gGiTunicCollarDL, gGiZoraCollarColorDL, gGiZoraTunicColorDL, gGiTunicDL } }, + // beans, OBJECT_GI_BEAN + { GetItem_DrawOpa0, { gGiBeanDL } }, + // fish, OBJECT_GI_FISH + { GetItem_DrawFish, { gGiFishDL } }, + // saw, OBJECT_GI_SAW + { GetItem_DrawOpa0, { gGiSawDL } }, + // hammer, OBJECT_GI_HAMMER + { GetItem_DrawOpa0, { gGiHammerDL } }, + // grass, OBJECT_GI_GRASS + { GetItem_DrawOpa0, { gGiGrassDL } }, + // biggorons sword, OBJECT_GI_LONGSWORD + { GetItem_DrawGoronSword, { gGiBiggoronSwordDL } }, + // chicken, OBJECT_GI_NIWATORI + { GetItem_DrawOpa10Xlu2, { gGiChickenDL, gGiChickenColorDL, gGiChickenEyesDL } }, + // ruto's letter, OBJECT_GI_BOTTLE_LETTER + { GetItem_DrawOpa0Xlu1, { gGiLetterBottleContentsDL, gGiLetterBottleDL } }, + // fairy ocarina, OBJECT_GI_OCARINA_0 + { GetItem_DrawOpa0Xlu1, { gGiOcarinaFairyDL, gGiOcarinaFairyHolesDL } }, + // iron boots, OBJECT_GI_BOOTS_2 + { GetItem_DrawOpa0Xlu1, { gGiIronBootsDL, gGiIronBootsRivetsDL } }, + // seeds, OBJECT_GI_SEED + { GetItem_DrawOpa0, { gGiSeedDL } }, + // silver gauntlets, OBJECT_GI_GLOVES + { GetItem_DrawOpa10Xlu32, + { gGiGauntletsDL, gGiSilverGauntletsColorDL, gGiGauntletsPlateDL, gGiSilverGauntletsPlateColorDL } }, + // golden gauntlets, OBJECT_GI_GLOVES + { GetItem_DrawOpa10Xlu32, + { gGiGauntletsDL, gGiGoldenGauntletsColorDL, gGiGauntletsPlateDL, gGiGoldenGauntletsPlateColorDL } }, + // yellow n coin, OBJECT_GI_COIN + { GetItem_DrawOpa10Xlu2, { gGiCoinDL, gGiYellowCoinColorDL, gGiNDL } }, + // red n coin, OBJECT_GI_COIN + { GetItem_DrawOpa10Xlu2, { gGiCoinDL, gGiRedCoinColorDL, gGiNDL } }, + // green n coin, OBJECT_GI_COIN + { GetItem_DrawOpa10Xlu2, { gGiCoinDL, gGiGreenCoinColorDL, gGiNDL } }, + // blue n coin, OBJECT_GI_COIN + { GetItem_DrawOpa10Xlu2, { gGiCoinDL, gGiBlueCoinColorDL, gGiNDL } }, + // skull mask, OBJECT_GI_SKJ_MASK + { GetItem_DrawOpa0, { gGiSkullMaskDL } }, + // bunny hood OBJECT_GI_RABIT_MASK + { GetItem_DrawOpa0Xlu1, { gGiBunnyHoodDL, gGiBunnyHoodEyesDL } }, + // mask of truth, OBJECT_GI_TRUTH_MASK + { GetItem_DrawOpa0Xlu1, { gGiMaskOfTruthDL, gGiMaskOfTruthAccentsDL } }, + // eyedrops, OBJECT_GI_EYE_LOTION + { GetItem_DrawOpa0Xlu1, { gGiEyeDropsCapDL, gGiEyeDropsBottleDL } }, + // odd potion, OBJECT_GI_POWDER + { GetItem_DrawOpa0, { gGiOddPotionDL } }, + // odd mushroom, OBJECT_GI_MUSHROOM + { GetItem_DrawOpa0, { gGiOddMushroomDL } }, + // claim check, OBJECT_GI_TICKETSTONE + { GetItem_DrawOpa0Xlu1, { gGiClaimCheckDL, gGiClaimCheckWritingDL } }, + // broken goron's sword, OBJECT_GI_BROKENSWORD + { GetItem_DrawGoronSword, { gGiBrokenGoronSwordDL } }, + // prescription, OBJECT_GI_PRESCRIPTION + { GetItem_DrawOpa0Xlu1, { gGiPrescriptionDL, gGiPrescriptionWritingDL } }, + // goron bracelet, OBJECT_GI_BRACELET + { GetItem_DrawOpa0, { gGiGoronBraceletDL } }, + // sold out, OBJECT_GI_SOLDOUT + { GetItem_DrawSoldOut, { gGiSoldOutDL } }, + // frog, OBJECT_GI_FROG + { GetItem_DrawOpa0Xlu1, { gGiFrogDL, gGiFrogEyesDL } }, + // goron mask, OBJECT_GI_GOLONMASK + { GetItem_DrawMaskOrBombchu, { gGiGoronMaskDL } }, + // zora mask, OBJECT_GI_ZORAMASK + { GetItem_DrawMaskOrBombchu, { gGiZoraMaskDL } }, + // gerudo mask, OBJECT_GI_GERUDOMASK + { GetItem_DrawMaskOrBombchu, { gGiGerudoMaskDL } }, + // cojiro, OBJECT_GI_NIWATORI + { GetItem_DrawOpa10Xlu2, { gGiChickenDL, gGiCojiroColorDL, gGiChickenEyesDL } }, + // hover boots, OBJECT_GI_HOVERBOOTS + { GetItem_DrawOpa0, { gGiHoverBootsDL } }, + // fire arrows, OBJECT_GI_M_ARROW + { GetItem_DrawMagicArrow, { gGiMagicArrowDL, gGiFireArrowColorDL, gGiArrowMagicDL } }, + // ice arrows, OBJECT_GI_M_ARROW + { GetItem_DrawMagicArrow, { gGiMagicArrowDL, gGiIceArrowColorDL, gGiArrowMagicDL } }, + // light arrows, OBJECT_GI_M_ARROW + { GetItem_DrawMagicArrow, { gGiMagicArrowDL, gGiLightArrowColorDL, gGiArrowMagicDL } }, + // skulltula token, OBJECT_GI_SUTARU + { GetItem_DrawSkullToken, { gGiSkulltulaTokenDL, gGiSkulltulaTokenFlameDL } }, + // din's fire, OBJECT_GI_GODDESS + { GetItem_DrawMagicSpell, { gGiMagicSpellDiamondDL, gGiDinsFireColorDL, gGiMagicSpellOrbDL } }, + // farore's wind, OBJECT_GI_GODDESS + { GetItem_DrawMagicSpell, { gGiMagicSpellDiamondDL, gGiFaroresWindColorDL, gGiMagicSpellOrbDL } }, + // nayru's Love, OBJECT_GI_GODDESS + { GetItem_DrawMagicSpell, { gGiMagicSpellDiamondDL, gGiNayrusLoveColorDL, gGiMagicSpellOrbDL } }, + // blue fire, OBJECT_GI_FIRE + { GetItem_DrawBlueFire, { gGiBlueFireChamberstickDL, gGiBlueFireFlameDL } }, + // bugs, OBJECT_GI_INSECT + { GetItem_DrawOpa0Xlu1, { gGiBugsContainerDL, gGiBugsGlassDL } }, + // butterfly, OBJECT_GI_BUTTERFLY + { GetItem_DrawOpa0Xlu1, { gGiButterflyContainerDL, gGiButterflyGlassDL } }, + // poe, OBJECT_GI_GHOST + { GetItem_DrawPoes, { gGiGhostContainerLidDL, gGiGhostContainerGlassDL, gGiGhostContainerContentsDL, gGiPoeColorDL } }, + // fairy, OBJECT_GI_SOUL + { GetItem_DrawFairy, { gGiFairyContainerBaseCapDL, gGiFairyContainerGlassDL, gGiFairyContainerContentsDL } }, + // bullet bag 40, OBJECT_GI_DEKUPOUCH + { GetItem_DrawBulletBag, + { gGiBulletBagDL, gGiBulletBagColorDL, gGiBulletBagStringDL, gGiBulletBagStringColorDL, gGiBulletBagWritingDL } }, + // green rupee, OBJECT_GI_RUPY + { GetItem_DrawSmallRupee, { gGiRupeeInnerDL, gGiGreenRupeeInnerColorDL, gGiRupeeOuterDL, gGiGreenRupeeOuterColorDL } }, + // blue rupee, OBJECT_GI_RUPY + { GetItem_DrawSmallRupee, { gGiRupeeInnerDL, gGiBlueRupeeInnerColorDL, gGiRupeeOuterDL, gGiBlueRupeeOuterColorDL } }, + // red rupee, OBJECT_GI_RUPY + { GetItem_DrawSmallRupee, { gGiRupeeInnerDL, gGiRedRupeeInnerColorDL, gGiRupeeOuterDL, gGiRedRupeeOuterColorDL } }, + // big poe, OBJECT_GI_GHOST + { GetItem_DrawPoes, + { gGiGhostContainerLidDL, gGiGhostContainerGlassDL, gGiGhostContainerContentsDL, gGiBigPoeColorDL } }, + // purple rupee, OBJECT_GI_RUPY + { GetItem_DrawOpa10Xlu32, { gGiRupeeInnerDL, gGiPurpleRupeeInnerColorDL, gGiRupeeOuterDL, gGiPurpleRupeeOuterColorDL } }, + // gold rupee, OBJECT_GI_RUPY + { GetItem_DrawOpa10Xlu32, { gGiRupeeInnerDL, gGiGoldRupeeInnerColorDL, gGiRupeeOuterDL, gGiGoldRupeeOuterColorDL } }, + // bullet bag 50, OBJECT_GI_DEKUPOUCH + { GetItem_DrawBulletBag, + { gGiBulletBagDL, gGiBulletBag50ColorDL, gGiBulletBagStringDL, gGiBulletBag50StringColorDL, + gGiBulletBagWritingDL } }, + // kokiri sword, OBJECT_GI_SWORD_1 + { GetItem_DrawOpa0, { gGiKokiriSwordDL } }, + // gold skulltula token, OBJECT_ST + { GetItem_DrawSkullToken, { 0x06004DB0, 0x06004EB8 } }, // TODO symbols from this object }; + /** * Draw "Get Item" Model * Calls the corresponding draw function for the given draw ID */ -void func_800694A0(GlobalContext* globalCtx, s16 drawId) { +void GetItem_Draw(GlobalContext* globalCtx, s16 drawId) { sDrawItemTable[drawId].drawFunc(globalCtx, drawId); } // All remaining functions in this file are draw functions referenced in the table and called by the function above -void func_800694E4(GlobalContext* globalCtx, s16 drawId) { +void GetItem_DrawMaskOrBombchu(GlobalContext* globalCtx, s16 drawId) { s32 pad; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 556); @@ -178,7 +386,7 @@ void func_800694E4(GlobalContext* globalCtx, s16 drawId) { CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 565); } -void func_800695C0(GlobalContext* globalCtx, s16 drawId) { +void GetItem_DrawSoldOut(GlobalContext* globalCtx, s16 drawId) { s32 pad; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 572); @@ -191,7 +399,7 @@ void func_800695C0(GlobalContext* globalCtx, s16 drawId) { CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 581); } -void func_8006969C(GlobalContext* globalCtx, s16 drawId) { +void GetItem_DrawBlueFire(GlobalContext* globalCtx, s16 drawId) { s32 pad; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 588); @@ -217,7 +425,7 @@ void func_8006969C(GlobalContext* globalCtx, s16 drawId) { CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 621); } -void func_80069880(GlobalContext* globalCtx, s16 drawId) { +void GetItem_DrawPoes(GlobalContext* globalCtx, s16 drawId) { s32 pad; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 628); @@ -246,7 +454,7 @@ void func_80069880(GlobalContext* globalCtx, s16 drawId) { CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 663); } -void func_80069AC8(GlobalContext* globalCtx, s16 drawId) { +void GetItem_DrawFairy(GlobalContext* globalCtx, s16 drawId) { s32 pad; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 670); @@ -274,7 +482,7 @@ void func_80069AC8(GlobalContext* globalCtx, s16 drawId) { CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 704); } -void func_80069CF0(GlobalContext* globalCtx, s16 drawId) { +void GetItem_DrawMirrorShield(GlobalContext* globalCtx, s16 drawId) { s32 pad; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 712); @@ -297,7 +505,7 @@ void func_80069CF0(GlobalContext* globalCtx, s16 drawId) { CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 735); } -void func_80069EB0(GlobalContext* globalCtx, s16 drawId) { +void GetItem_DrawSkullToken(GlobalContext* globalCtx, s16 drawId) { s32 pad; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 742); @@ -319,7 +527,7 @@ void func_80069EB0(GlobalContext* globalCtx, s16 drawId) { CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 765); } -void func_8006A060(GlobalContext* globalCtx, s16 drawId) { +void GetItem_DrawEggOrMedallion(GlobalContext* globalCtx, s16 drawId) { s32 pad; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 772); @@ -333,7 +541,7 @@ void func_8006A060(GlobalContext* globalCtx, s16 drawId) { CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 783); } -void func_8006A158(GlobalContext* globalCtx, s16 drawId) { +void GetItem_DrawCompass(GlobalContext* globalCtx, s16 drawId) { s32 pad; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 811); @@ -351,7 +559,7 @@ void func_8006A158(GlobalContext* globalCtx, s16 drawId) { CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 827); } -void func_8006A2A0(GlobalContext* globalCtx, s16 drawId) { +void GetItem_DrawPotion(GlobalContext* globalCtx, s16 drawId) { s32 pad; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 834); @@ -377,7 +585,7 @@ void func_8006A2A0(GlobalContext* globalCtx, s16 drawId) { CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 861); } -void func_8006A4B0(GlobalContext* globalCtx, s16 drawId) { +void GetItem_DrawGoronSword(GlobalContext* globalCtx, s16 drawId) { s32 pad; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 868); @@ -394,7 +602,7 @@ void func_8006A4B0(GlobalContext* globalCtx, s16 drawId) { CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 883); } -void func_8006A5F0(GlobalContext* globalCtx, s16 drawId) { +void GetItem_DrawDekuNuts(GlobalContext* globalCtx, s16 drawId) { s32 pad; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 890); @@ -411,7 +619,7 @@ void func_8006A5F0(GlobalContext* globalCtx, s16 drawId) { CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 906); } -void func_8006A73C(GlobalContext* globalCtx, s16 drawId) { +void GetItem_DrawRecoveryHeart(GlobalContext* globalCtx, s16 drawId) { s32 pad; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 913); @@ -428,7 +636,7 @@ void func_8006A73C(GlobalContext* globalCtx, s16 drawId) { CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 929); } -void func_8006A88C(GlobalContext* globalCtx, s16 drawId) { +void GetItem_DrawFish(GlobalContext* globalCtx, s16 drawId) { s32 pad; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 936); @@ -445,7 +653,7 @@ void func_8006A88C(GlobalContext* globalCtx, s16 drawId) { CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 952); } -void func_8006A9CC(GlobalContext* globalCtx, s16 drawId) { +void GetItem_DrawOpa0(GlobalContext* globalCtx, s16 drawId) { s32 pad; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 959); @@ -458,7 +666,7 @@ void func_8006A9CC(GlobalContext* globalCtx, s16 drawId) { CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 968); } -void func_8006AAA8(GlobalContext* globalCtx, s16 drawId) { +void GetItem_DrawOpa0Xlu1(GlobalContext* globalCtx, s16 drawId) { s32 pad; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 975); @@ -476,7 +684,7 @@ void func_8006AAA8(GlobalContext* globalCtx, s16 drawId) { CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 991); } -void func_8006ABEC(GlobalContext* globalCtx, s16 drawId) { +void GetItem_DrawXlu01(GlobalContext* globalCtx, s16 drawId) { s32 pad; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 998); @@ -490,7 +698,7 @@ void func_8006ABEC(GlobalContext* globalCtx, s16 drawId) { CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 1008); } -void func_8006ACE4(GlobalContext* globalCtx, s16 drawId) { +void GetItem_DrawOpa10Xlu2(GlobalContext* globalCtx, s16 drawId) { s32 pad; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 1015); @@ -509,7 +717,7 @@ void func_8006ACE4(GlobalContext* globalCtx, s16 drawId) { CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 1032); } -void func_8006AE40(GlobalContext* globalCtx, s16 drawId) { +void GetItem_DrawMagicArrow(GlobalContext* globalCtx, s16 drawId) { s32 pad; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 1039); @@ -528,7 +736,7 @@ void func_8006AE40(GlobalContext* globalCtx, s16 drawId) { CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 1056); } -void func_8006AF9C(GlobalContext* globalCtx, s16 drawId) { +void GetItem_DrawMagicSpell(GlobalContext* globalCtx, s16 drawId) { s32 pad; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 1063); @@ -547,7 +755,7 @@ void func_8006AF9C(GlobalContext* globalCtx, s16 drawId) { CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 1081); } -void func_8006B124(GlobalContext* globalCtx, s16 drawId) { +void GetItem_DrawOpa1023(GlobalContext* globalCtx, s16 drawId) { s32 pad; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 1088); @@ -563,7 +771,7 @@ void func_8006B124(GlobalContext* globalCtx, s16 drawId) { CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 1100); } -void func_8006B24C(GlobalContext* globalCtx, s16 drawId) { +void GetItem_DrawOpa10Xlu32(GlobalContext* globalCtx, s16 drawId) { s32 pad; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 1108); @@ -583,7 +791,7 @@ void func_8006B24C(GlobalContext* globalCtx, s16 drawId) { CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 1126); } -void func_8006B3C0(GlobalContext* globalCtx, s16 drawId) { +void GetItem_DrawSmallRupee(GlobalContext* globalCtx, s16 drawId) { s32 pad; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 1133); @@ -605,7 +813,7 @@ void func_8006B3C0(GlobalContext* globalCtx, s16 drawId) { CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 1154); } -void func_8006B54C(GlobalContext* globalCtx, s16 drawId) { +void GetItem_DrawScale(GlobalContext* globalCtx, s16 drawId) { s32 pad; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 1162); @@ -625,7 +833,7 @@ void func_8006B54C(GlobalContext* globalCtx, s16 drawId) { CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 1181); } -void func_8006B6E4(GlobalContext* globalCtx, s16 drawId) { +void GetItem_DrawBulletBag(GlobalContext* globalCtx, s16 drawId) { s32 pad; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 1188); @@ -646,7 +854,7 @@ void func_8006B6E4(GlobalContext* globalCtx, s16 drawId) { CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 1207); } -void func_8006B870(GlobalContext* globalCtx, s16 drawId) { +void GetItem_DrawWallet(GlobalContext* globalCtx, s16 drawId) { s32 pad; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_draw.c", 1214); diff --git a/src/code/z_en_item00.c b/src/code/z_en_item00.c index 5a436b063..cd41d1dd1 100644 --- a/src/code/z_en_item00.c +++ b/src/code/z_en_item00.c @@ -692,7 +692,7 @@ void EnItem00_Draw(Actor* thisx, GlobalContext* globalCtx) { } else { unkFloat = 16.0f; Matrix_Scale(unkFloat, unkFloat, unkFloat, MTXMODE_APPLY); - func_800694A0(globalCtx, 0x08); + GetItem_Draw(globalCtx, GID_HEART); } break; } @@ -712,16 +712,16 @@ void EnItem00_Draw(Actor* thisx, GlobalContext* globalCtx) { func_8001F080(this, globalCtx); break; case ITEM00_SHIELD_DEKU: - func_800694A0(globalCtx, 0x1C); + GetItem_Draw(globalCtx, GID_SHIELD_DEKU); break; case ITEM00_SHIELD_HYLIAN: - func_800694A0(globalCtx, 0x2B); + GetItem_Draw(globalCtx, GID_SHIELD_HYLIAN); break; case ITEM00_TUNIC_ZORA: - func_800694A0(globalCtx, 0x3C); + GetItem_Draw(globalCtx, GID_TUNIC_ZORA); break; case ITEM00_TUNIC_GORON: - func_800694A0(globalCtx, 0x3B); + GetItem_Draw(globalCtx, GID_TUNIC_GORON); break; case ITEM00_FLEXIBLE: break; diff --git a/src/code/z_player_lib.c b/src/code/z_player_lib.c index b80f50251..3481b30a8 100644 --- a/src/code/z_player_lib.c +++ b/src/code/z_player_lib.c @@ -1039,7 +1039,7 @@ void Player_DrawGetItemImpl(GlobalContext* globalCtx, Player* this, Vec3f* refPo Matrix_RotateRPY(0, globalCtx->gameplayFrames * 1000, 0, MTXMODE_APPLY); Matrix_Scale(0.2f, 0.2f, 0.2f, MTXMODE_APPLY); - func_800694A0(globalCtx, drawIdPlusOne - 1); + GetItem_Draw(globalCtx, drawIdPlusOne - 1); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_player_lib.c", 2421); } -- cgit v1.2.3