#include "gfx.h" #include "gfx_setupdl.h" #include "sys_matrix.h" #include "draw.h" #include "play_state.h" #include "assets/objects/object_gi_key/object_gi_key.h" #include "assets/objects/object_gi_jewel/object_gi_jewel.h" #include "assets/objects/object_gi_melody/object_gi_melody.h" #include "assets/objects/object_gi_heart/object_gi_heart.h" #include "assets/objects/object_gi_compass/object_gi_compass.h" #include "assets/objects/object_gi_bosskey/object_gi_bosskey.h" #include "assets/objects/object_gi_medal/object_gi_medal.h" #include "assets/objects/object_gi_nuts/object_gi_nuts.h" #include "assets/objects/object_gi_hearts/object_gi_hearts.h" #include "assets/objects/object_gi_arrowcase/object_gi_arrowcase.h" #include "assets/objects/object_gi_bombpouch/object_gi_bombpouch.h" #include "assets/objects/object_gi_bottle/object_gi_bottle.h" #include "assets/objects/object_gi_stick/object_gi_stick.h" #include "assets/objects/object_gi_map/object_gi_map.h" #include "assets/objects/object_gi_shield_1/object_gi_shield_1.h" #include "assets/objects/object_gi_magicpot/object_gi_magicpot.h" #include "assets/objects/object_gi_bomb_1/object_gi_bomb_1.h" #include "assets/objects/object_gi_purse/object_gi_purse.h" #include "assets/objects/object_gi_gerudo/object_gi_gerudo.h" #include "assets/objects/object_gi_arrow/object_gi_arrow.h" #include "assets/objects/object_gi_bomb_2/object_gi_bomb_2.h" #include "assets/objects/object_gi_egg/object_gi_egg.h" #include "assets/objects/object_gi_scale/object_gi_scale.h" #include "assets/objects/object_gi_shield_2/object_gi_shield_2.h" #include "assets/objects/object_gi_hookshot/object_gi_hookshot.h" #include "assets/objects/object_gi_ocarina/object_gi_ocarina.h" #include "assets/objects/object_gi_milk/object_gi_milk.h" #include "assets/objects/object_gi_pachinko/object_gi_pachinko.h" #include "assets/objects/object_gi_boomerang/object_gi_boomerang.h" #include "assets/objects/object_gi_bow/object_gi_bow.h" #include "assets/objects/object_gi_glasses/object_gi_glasses.h" #include "assets/objects/object_gi_liquid/object_gi_liquid.h" #include "assets/objects/object_gi_shield_3/object_gi_shield_3.h" #include "assets/objects/object_gi_letter/object_gi_letter.h" #include "assets/objects/object_gi_clothes/object_gi_clothes.h" #include "assets/objects/object_gi_bean/object_gi_bean.h" #include "assets/objects/object_gi_fish/object_gi_fish.h" #include "assets/objects/object_gi_saw/object_gi_saw.h" #include "assets/objects/object_gi_hammer/object_gi_hammer.h" #include "assets/objects/object_gi_grass/object_gi_grass.h" #include "assets/objects/object_gi_longsword/object_gi_longsword.h" #include "assets/objects/object_gi_niwatori/object_gi_niwatori.h" #include "assets/objects/object_gi_bottle_letter/object_gi_bottle_letter.h" #include "assets/objects/object_gi_ocarina_0/object_gi_ocarina_0.h" #include "assets/objects/object_gi_boots_2/object_gi_boots_2.h" #include "assets/objects/object_gi_seed/object_gi_seed.h" #include "assets/objects/object_gi_gloves/object_gi_gloves.h" #include "assets/objects/object_gi_coin/object_gi_coin.h" #include "assets/objects/object_gi_ki_tan_mask/object_gi_ki_tan_mask.h" #include "assets/objects/object_gi_redead_mask/object_gi_redead_mask.h" #include "assets/objects/object_gi_skj_mask/object_gi_skj_mask.h" #include "assets/objects/object_gi_rabit_mask/object_gi_rabit_mask.h" #include "assets/objects/object_gi_truth_mask/object_gi_truth_mask.h" #include "assets/objects/object_gi_eye_lotion/object_gi_eye_lotion.h" #include "assets/objects/object_gi_powder/object_gi_powder.h" #include "assets/objects/object_gi_mushroom/object_gi_mushroom.h" #include "assets/objects/object_gi_ticketstone/object_gi_ticketstone.h" #include "assets/objects/object_gi_brokensword/object_gi_brokensword.h" #include "assets/objects/object_gi_prescription/object_gi_prescription.h" #include "assets/objects/object_gi_bracelet/object_gi_bracelet.h" #include "assets/objects/object_gi_soldout/object_gi_soldout.h" #include "assets/objects/object_gi_frog/object_gi_frog.h" #include "assets/objects/object_gi_golonmask/object_gi_golonmask.h" #include "assets/objects/object_gi_zoramask/object_gi_zoramask.h" #include "assets/objects/object_gi_gerudomask/object_gi_gerudomask.h" #include "assets/objects/object_gi_hoverboots/object_gi_hoverboots.h" #include "assets/objects/object_gi_m_arrow/object_gi_m_arrow.h" #include "assets/objects/object_gi_sutaru/object_gi_sutaru.h" #include "assets/objects/object_gi_goddess/object_gi_goddess.h" #include "assets/objects/object_gi_fire/object_gi_fire.h" #include "assets/objects/object_gi_insect/object_gi_insect.h" #include "assets/objects/object_gi_butterfly/object_gi_butterfly.h" #include "assets/objects/object_gi_ghost/object_gi_ghost.h" #include "assets/objects/object_gi_soul/object_gi_soul.h" #include "assets/objects/object_gi_dekupouch/object_gi_dekupouch.h" #include "assets/objects/object_gi_rupy/object_gi_rupy.h" #include "assets/objects/object_gi_sword_1/object_gi_sword_1.h" #include "assets/objects/object_st/object_st.h" // "Get Item" Model Draw Functions void GetItem_DrawMaskOrBombchu(PlayState* play, s16 giDrawId); void GetItem_DrawSoldOut(PlayState* play, s16 giDrawId); void GetItem_DrawBlueFire(PlayState* play, s16 giDrawId); void GetItem_DrawPoes(PlayState* play, s16 giDrawId); void GetItem_DrawFairy(PlayState* play, s16 giDrawId); void GetItem_DrawMirrorShield(PlayState* play, s16 giDrawId); void GetItem_DrawSkullToken(PlayState* play, s16 giDrawId); void GetItem_DrawEggOrMedallion(PlayState* play, s16 giDrawId); void GetItem_DrawCompass(PlayState* play, s16 giDrawId); void GetItem_DrawPotion(PlayState* play, s16 giDrawId); void GetItem_DrawGoronSword(PlayState* play, s16 giDrawId); void GetItem_DrawDekuNuts(PlayState* play, s16 giDrawId); void GetItem_DrawRecoveryHeart(PlayState* play, s16 giDrawId); void GetItem_DrawFish(PlayState* play, s16 giDrawId); void GetItem_DrawOpa0(PlayState* play, s16 giDrawId); void GetItem_DrawOpa0Xlu1(PlayState* play, s16 giDrawId); void GetItem_DrawXlu01(PlayState* play, s16 giDrawId); void GetItem_DrawOpa10Xlu2(PlayState* play, s16 giDrawId); void GetItem_DrawMagicArrow(PlayState* play, s16 giDrawId); void GetItem_DrawMagicSpell(PlayState* play, s16 giDrawId); void GetItem_DrawOpa1023(PlayState* play, s16 giDrawId); void GetItem_DrawOpa10Xlu32(PlayState* play, s16 giDrawId); void GetItem_DrawSmallRupee(PlayState* play, s16 giDrawId); void GetItem_DrawScale(PlayState* play, s16 giDrawId); void GetItem_DrawBulletBag(PlayState* play, s16 giDrawId); void GetItem_DrawWallet(PlayState* play, s16 giDrawId); typedef struct DrawItemTableEntry { /* 0x00 */ void (*drawFunc)(PlayState*, s16); /* 0x04 */ Gfx* dlists[8]; } DrawItemTableEntry; // size = 0x24 DrawItemTableEntry sDrawItemTable[] = { // GID_BOTTLE_EMPTY { GetItem_DrawOpa0Xlu1, { gGiBottleStopperDL, gGiBottleDL } }, // GID_SMALL_KEY { GetItem_DrawOpa0, { gGiSmallKeyDL } }, // GID_SONG_MINUET { GetItem_DrawXlu01, { gGiMinuetColorDL, gGiSongNoteDL } }, // GID_SONG_BOLERO { GetItem_DrawXlu01, { gGiBoleroColorDL, gGiSongNoteDL } }, // GID_SONG_SERENADE { GetItem_DrawXlu01, { gGiSerenadeColorDL, gGiSongNoteDL } }, // GID_SONG_REQUIEM { GetItem_DrawXlu01, { gGiRequiemColorDL, gGiSongNoteDL } }, // GID_SONG_NOCTURNE { GetItem_DrawXlu01, { gGiNocturneColorDL, gGiSongNoteDL } }, // GID_SONG_PRELUDE { GetItem_DrawXlu01, { gGiPreludeColorDL, gGiSongNoteDL } }, // GID_RECOVERY_HEART { GetItem_DrawRecoveryHeart, { gGiRecoveryHeartDL } }, // GID_BOSS_KEY { GetItem_DrawOpa0Xlu1, { gGiBossKeyDL, gGiBossKeyGemDL } }, // GID_COMPASS { GetItem_DrawCompass, { gGiCompassDL, gGiCompassGlassDL } }, // GID_MEDALLION_FOREST { GetItem_DrawEggOrMedallion, { gGiForestMedallionFaceDL, gGiMedallionDL } }, // GID_MEDALLION_FIRE { GetItem_DrawEggOrMedallion, { gGiFireMedallionFaceDL, gGiMedallionDL } }, // GID_MEDALLION_WATER { GetItem_DrawEggOrMedallion, { gGiWaterMedallionFaceDL, gGiMedallionDL } }, // GID_MEDALLION_SPIRIT { GetItem_DrawEggOrMedallion, { gGiSpiritMedallionFaceDL, gGiMedallionDL } }, // GID_MEDALLION_SHADOW { GetItem_DrawEggOrMedallion, { gGiShadowMedallionFaceDL, gGiMedallionDL } }, // GID_MEDALLION_LIGHT { GetItem_DrawEggOrMedallion, { gGiLightMedallionFaceDL, gGiMedallionDL } }, // GID_DEKU_NUTS { GetItem_DrawDekuNuts, { gGiNutDL } }, // GID_HEART_CONTAINER { GetItem_DrawXlu01, { gGiHeartBorderDL, gGiHeartContainerDL } }, // GID_HEART_PIECE { GetItem_DrawXlu01, { gGiHeartBorderDL, gGiHeartPieceDL } }, // GID_QUIVER_30 { GetItem_DrawOpa1023, { gGiQuiverInnerDL, gGiQuiver30InnerColorDL, gGiQuiver30OuterColorDL, gGiQuiverOuterDL } }, // GID_QUIVER_40 { GetItem_DrawOpa1023, { gGiQuiverInnerDL, gGiQuiver40InnerColorDL, gGiQuiver40OuterColorDL, gGiQuiverOuterDL } }, // GID_QUIVER_50 { GetItem_DrawOpa1023, { gGiQuiverInnerDL, gGiQuiver50InnerColorDL, gGiQuiver50OuterColorDL, gGiQuiverOuterDL } }, // GID_BOMB_BAG_20 { GetItem_DrawOpa1023, { gGiBombBagDL, gGiBombBag20BagColorDL, gGiBombBag20RingColorDL, gGiBombBagRingDL } }, // GID_BOMB_BAG_30 { GetItem_DrawOpa1023, { gGiBombBagDL, gGiBombBag30BagColorDL, gGiBombBag30RingColorDL, gGiBombBagRingDL } }, // GID_BOMB_BAG_40 { GetItem_DrawOpa1023, { gGiBombBagDL, gGiBombBag40BagColorDL, gGiBombBag40RingColorDL, gGiBombBagRingDL } }, // GID_DEKU_STICK { GetItem_DrawOpa0, { gGiStickDL } }, // GID_DUNGEON_MAP { GetItem_DrawOpa0, { gGiDungeonMapDL } }, // GID_SHIELD_DEKU { GetItem_DrawOpa0, { gGiDekuShieldDL } }, // GID_MAGIC_JAR_SMALL { GetItem_DrawOpa0, { gGiMagicJarSmallDL } }, // GID_MAGIC_JAR_LARGE { GetItem_DrawOpa0, { gGiMagicJarLargeDL } }, // GID_BOMB { GetItem_DrawOpa0, { gGiBombDL } }, // GID_STONE_OF_AGONY { GetItem_DrawOpa0, { gGiStoneOfAgonyDL } }, // GID_WALLET_ADULT { GetItem_DrawWallet, { gGiWalletDL, gGiAdultWalletColorDL, gGiAdultWalletRupeeOuterColorDL, gGiWalletRupeeOuterDL, gGiAdultWalletStringColorDL, gGiWalletStringDL, gGiAdultWalletRupeeInnerColorDL, gGiWalletRupeeInnerDL } }, // GID_WALLET_GIANT { GetItem_DrawWallet, { gGiWalletDL, gGiGiantsWalletColorDL, gGiGiantsWalletRupeeOuterColorDL, gGiWalletRupeeOuterDL, gGiGiantsWalletStringColorDL, gGiWalletStringDL, gGiGiantsWalletRupeeInnerColorDL, gGiWalletRupeeInnerDL } }, // GID_GERUDOS_CARD { GetItem_DrawOpa0, { gGiGerudoCardDL } }, // GID_ARROWS_5 { GetItem_DrawOpa0, { gGiArrowSmallDL } }, // GID_ARROWS_10 { GetItem_DrawOpa0, { gGiArrowMediumDL } }, // GID_ARROWS_30 { GetItem_DrawOpa0, { gGiArrowLargeDL } }, // GID_BOMBCHU { GetItem_DrawMaskOrBombchu, { gGiBombchuDL } }, // GID_EGG { GetItem_DrawEggOrMedallion, { gGiEggMaterialDL, gGiEggDL } }, // GID_SCALE_SILVER { GetItem_DrawScale, { gGiScaleWaterDL, gGiSilverScaleWaterColorDL, gGiSilverScaleColorDL, gGiScaleDL } }, // GID_SCALE_GOLDEN { GetItem_DrawScale, { gGiScaleWaterDL, gGiGoldenScaleWaterColorDL, gGiGoldenScaleColorDL, gGiScaleDL } }, // GID_SHIELD_HYLIAN { GetItem_DrawOpa0, { gGiHylianShieldDL } }, // GID_HOOKSHOT { GetItem_DrawOpa0, { gGiHookshotDL } }, // GID_LONGSHOT { GetItem_DrawOpa0, { gGiLongshotDL } }, // GID_OCARINA_OF_TIME { GetItem_DrawOpa0Xlu1, { gGiOcarinaTimeDL, gGiOcarinaTimeHolesDL } }, // GID_BOTTLE_MILK_FULL { GetItem_DrawOpa0Xlu1, { gGiMilkBottleContentsDL, gGiMilkBottleDL } }, // GID_MASK_KEATON { GetItem_DrawOpa0Xlu1, { gGiKeatonMaskDL, gGiKeatonMaskEyesDL } }, // GID_MASK_SPOOKY { GetItem_DrawOpa0, { gGiSpookyMaskDL } }, // GID_SLINGSHOT { GetItem_DrawOpa0, { gGiSlingshotDL } }, // GID_BOOMERANG { GetItem_DrawOpa0, { gGiBoomerangDL } }, // GID_BOW { GetItem_DrawOpa0, { gGiBowDL } }, // GID_LENS_OF_TRUTH { GetItem_DrawOpa0Xlu1, { gGiLensDL, gGiLensGlassDL } }, // GID_BOTTLE_POTION_GREEN { GetItem_DrawPotion, { gGiPotionPotDL, gGiGreenPotColorDL, gGiGreenLiquidColorDL, gGiPotionLiquidDL, gGiGreenPatternColorDL, gGiPotionPatternDL } }, // GID_BOTTLE_POTION_RED { GetItem_DrawPotion, { gGiPotionPotDL, gGiRedPotColorDL, gGiRedLiquidColorDL, gGiPotionLiquidDL, gGiRedPatternColorDL, gGiPotionPatternDL } }, // GID_BOTTLE_POTION_BLUE { GetItem_DrawPotion, { gGiPotionPotDL, gGiBluePotColorDL, gGiBlueLiquidColorDL, gGiPotionLiquidDL, gGiBluePatternColorDL, gGiPotionPatternDL } }, // GID_SHIELD_MIRROR { GetItem_DrawMirrorShield, { gGiMirrorShieldDL, gGiMirrorShieldSymbolDL } }, // GID_ZELDAS_LETTER { GetItem_DrawOpa0Xlu1, { gGiLetterDL, gGiLetterWritingDL } }, // GID_TUNIC_GORON { GetItem_DrawOpa1023, { gGiTunicCollarDL, gGiGoronCollarColorDL, gGiGoronTunicColorDL, gGiTunicDL } }, // GID_TUNIC_ZORA { GetItem_DrawOpa1023, { gGiTunicCollarDL, gGiZoraCollarColorDL, gGiZoraTunicColorDL, gGiTunicDL } }, // GID_MAGIC_BEAN { GetItem_DrawOpa0, { gGiBeanDL } }, // GID_FISH { GetItem_DrawFish, { gGiFishDL } }, // GID_POACHERS_SAW { GetItem_DrawOpa0, { gGiSawDL } }, // GID_HAMMER { GetItem_DrawOpa0, { gGiHammerDL } }, // GID_GRASS { GetItem_DrawOpa0, { gGiGrassDL } }, // GID_SWORD_BIGGORON { GetItem_DrawGoronSword, { gGiBiggoronSwordDL } }, // GID_CUCCO { GetItem_DrawOpa10Xlu2, { gGiChickenDL, gGiChickenColorDL, gGiChickenEyesDL } }, // GID_BOTTLE_RUTOS_LETTER { GetItem_DrawOpa0Xlu1, { gGiLetterBottleContentsDL, gGiLetterBottleDL } }, // GID_OCARINA_FAIRY { GetItem_DrawOpa0Xlu1, { gGiOcarinaFairyDL, gGiOcarinaFairyHolesDL } }, // GID_BOOTS_IRON { GetItem_DrawOpa0Xlu1, { gGiIronBootsDL, gGiIronBootsRivetsDL } }, // GID_DEKU_SEEDS { GetItem_DrawOpa0, { gGiSeedDL } }, // GID_SILVER_GAUNTLETS { GetItem_DrawOpa10Xlu32, { gGiGauntletsDL, gGiSilverGauntletsColorDL, gGiGauntletsPlateDL, gGiSilverGauntletsPlateColorDL } }, // GID_GOLD_GAUNTLETS { GetItem_DrawOpa10Xlu32, { gGiGauntletsDL, gGiGoldenGauntletsColorDL, gGiGauntletsPlateDL, gGiGoldenGauntletsPlateColorDL } }, // GID_NCOIN_YELLOW { GetItem_DrawOpa10Xlu2, { gGiCoinDL, gGiYellowCoinColorDL, gGiNDL } }, // GID_NCOIN_RED { GetItem_DrawOpa10Xlu2, { gGiCoinDL, gGiRedCoinColorDL, gGiNDL } }, // GID_NCOIN_GREEN { GetItem_DrawOpa10Xlu2, { gGiCoinDL, gGiGreenCoinColorDL, gGiNDL } }, // GID_NCOIN_BLUE { GetItem_DrawOpa10Xlu2, { gGiCoinDL, gGiBlueCoinColorDL, gGiNDL } }, // GID_MASK_SKULL { GetItem_DrawOpa0, { gGiSkullMaskDL } }, // GID_MASK_BUNNY_HOOD { GetItem_DrawOpa0Xlu1, { gGiBunnyHoodDL, gGiBunnyHoodEyesDL } }, // GID_MASK_TRUTH { GetItem_DrawOpa0Xlu1, { gGiMaskOfTruthDL, gGiMaskOfTruthAccentsDL } }, // GID_EYE_DROPS { GetItem_DrawOpa0Xlu1, { gGiEyeDropsCapDL, gGiEyeDropsBottleDL } }, // GID_ODD_POTION { GetItem_DrawOpa0, { gGiOddPotionDL } }, // GID_ODD_MUSHROOM { GetItem_DrawOpa0, { gGiOddMushroomDL } }, // GID_CLAIM_CHECK { GetItem_DrawOpa0Xlu1, { gGiClaimCheckDL, gGiClaimCheckWritingDL } }, // GID_BROKEN_GORONS_SWORD { GetItem_DrawGoronSword, { gGiBrokenGoronSwordDL } }, // GID_PRESCRIPTION { GetItem_DrawOpa0Xlu1, { gGiPrescriptionDL, gGiPrescriptionWritingDL } }, // GID_GORONS_BRACELET { GetItem_DrawOpa0, { gGiGoronBraceletDL } }, // GID_SOLDOUT { GetItem_DrawSoldOut, { gGiSoldOutDL } }, // GID_EYEBALL_FROG { GetItem_DrawOpa0Xlu1, { gGiFrogDL, gGiFrogEyesDL } }, // GID_MASK_GORON { GetItem_DrawMaskOrBombchu, { gGiGoronMaskDL } }, // GID_MASK_ZORA { GetItem_DrawMaskOrBombchu, { gGiZoraMaskDL } }, // GID_MASK_GERUDO { GetItem_DrawMaskOrBombchu, { gGiGerudoMaskDL } }, // GID_COJIRO { GetItem_DrawOpa10Xlu2, { gGiChickenDL, gGiCojiroColorDL, gGiChickenEyesDL } }, // GID_BOOTS_HOVER { GetItem_DrawOpa0, { gGiHoverBootsDL } }, // GID_ARROW_FIRE { GetItem_DrawMagicArrow, { gGiMagicArrowDL, gGiFireArrowColorDL, gGiArrowMagicDL } }, // GID_ARROW_ICE { GetItem_DrawMagicArrow, { gGiMagicArrowDL, gGiIceArrowColorDL, gGiArrowMagicDL } }, // GID_ARROW_LIGHT { GetItem_DrawMagicArrow, { gGiMagicArrowDL, gGiLightArrowColorDL, gGiArrowMagicDL } }, // GID_SKULL_TOKEN { GetItem_DrawSkullToken, { gGiSkulltulaTokenDL, gGiSkulltulaTokenFlameDL } }, // GID_DINS_FIRE { GetItem_DrawMagicSpell, { gGiMagicSpellDiamondDL, gGiDinsFireColorDL, gGiMagicSpellOrbDL } }, // GID_FARORES_WIND { GetItem_DrawMagicSpell, { gGiMagicSpellDiamondDL, gGiFaroresWindColorDL, gGiMagicSpellOrbDL } }, // GID_NAYRUS_LOVE { GetItem_DrawMagicSpell, { gGiMagicSpellDiamondDL, gGiNayrusLoveColorDL, gGiMagicSpellOrbDL } }, // GID_BLUE_FIRE { GetItem_DrawBlueFire, { gGiBlueFireChamberstickDL, gGiBlueFireFlameDL } }, // GID_BUG { GetItem_DrawOpa0Xlu1, { gGiBugsContainerDL, gGiBugsGlassDL } }, // GID_BUTTERFLY { GetItem_DrawOpa0Xlu1, { gGiButterflyContainerDL, gGiButterflyGlassDL } }, // GID_POE { GetItem_DrawPoes, { gGiGhostContainerLidDL, gGiGhostContainerGlassDL, gGiGhostContainerContentsDL, gGiPoeColorDL } }, // GID_FAIRY { GetItem_DrawFairy, { gGiFairyContainerBaseCapDL, gGiFairyContainerGlassDL, gGiFairyContainerContentsDL } }, // GID_BULLET_BAG { GetItem_DrawBulletBag, { gGiBulletBagDL, gGiBulletBagColorDL, gGiBulletBagStringDL, gGiBulletBagStringColorDL, gGiBulletBagWritingDL } }, // GID_RUPEE_GREEN { GetItem_DrawSmallRupee, { gGiRupeeInnerDL, gGiGreenRupeeInnerColorDL, gGiRupeeOuterDL, gGiGreenRupeeOuterColorDL } }, // GID_RUPEE_BLUE { GetItem_DrawSmallRupee, { gGiRupeeInnerDL, gGiBlueRupeeInnerColorDL, gGiRupeeOuterDL, gGiBlueRupeeOuterColorDL } }, // GID_RUPEE_RED { GetItem_DrawSmallRupee, { gGiRupeeInnerDL, gGiRedRupeeInnerColorDL, gGiRupeeOuterDL, gGiRedRupeeOuterColorDL } }, // GID_BIG_POE { GetItem_DrawPoes, { gGiGhostContainerLidDL, gGiGhostContainerGlassDL, gGiGhostContainerContentsDL, gGiBigPoeColorDL } }, // GID_RUPEE_PURPLE { GetItem_DrawOpa10Xlu32, { gGiRupeeInnerDL, gGiPurpleRupeeInnerColorDL, gGiRupeeOuterDL, gGiPurpleRupeeOuterColorDL } }, // GID_RUPEE_GOLD { GetItem_DrawOpa10Xlu32, { gGiRupeeInnerDL, gGiGoldRupeeInnerColorDL, gGiRupeeOuterDL, gGiGoldRupeeOuterColorDL } }, // GID_BULLET_BAG_50 { GetItem_DrawBulletBag, { gGiBulletBagDL, gGiBulletBag50ColorDL, gGiBulletBagStringDL, gGiBulletBag50StringColorDL, gGiBulletBagWritingDL } }, // GID_SWORD_KOKIRI { GetItem_DrawOpa0, { gGiKokiriSwordDL } }, // GID_SKULL_TOKEN_2 { GetItem_DrawSkullToken, { gSkulltulaTokenDL, gSkulltulaTokenFlameDL } }, }; /** * Draw "Get Item" Model * Calls the corresponding draw function for the given draw ID */ void GetItem_Draw(PlayState* play, s16 giDrawId) { sDrawItemTable[giDrawId].drawFunc(play, giDrawId); } // All remaining functions in this file are draw functions referenced in the table and called by the function above void GetItem_DrawMaskOrBombchu(PlayState* play, s16 giDrawId) { s32 pad; OPEN_DISPS(play->state.gfxCtx, "../z_draw.c", 556); Gfx_SetupDL_26Opa(play->state.gfxCtx); MATRIX_FINALIZE_AND_LOAD(POLY_OPA_DISP++, play->state.gfxCtx, "../z_draw.c", 560); gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[giDrawId].dlists[0]); CLOSE_DISPS(play->state.gfxCtx, "../z_draw.c", 565); } void GetItem_DrawSoldOut(PlayState* play, s16 giDrawId) { s32 pad; OPEN_DISPS(play->state.gfxCtx, "../z_draw.c", 572); POLY_XLU_DISP = Gfx_SetupDL(POLY_XLU_DISP, SETUPDL_5); MATRIX_FINALIZE_AND_LOAD(POLY_XLU_DISP++, play->state.gfxCtx, "../z_draw.c", 576); gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[giDrawId].dlists[0]); CLOSE_DISPS(play->state.gfxCtx, "../z_draw.c", 581); } void GetItem_DrawBlueFire(PlayState* play, s16 giDrawId) { s32 pad; OPEN_DISPS(play->state.gfxCtx, "../z_draw.c", 588); Gfx_SetupDL_25Opa(play->state.gfxCtx); MATRIX_FINALIZE_AND_LOAD(POLY_OPA_DISP++, play->state.gfxCtx, "../z_draw.c", 592); gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[giDrawId].dlists[0]); Gfx_SetupDL_25Xlu(play->state.gfxCtx); gSPSegment(POLY_XLU_DISP++, 0x08, Gfx_TwoTexScroll(play->state.gfxCtx, G_TX_RENDERTILE, 0 * (play->state.frames * 0), 0 * (play->state.frames * 0), 16, 32, 1, 1 * (play->state.frames * 1), 1 * -(play->state.frames * 8), 16, 32)); Matrix_Push(); Matrix_Translate(-8.0f, -2.0f, 0.0f, MTXMODE_APPLY); Matrix_ReplaceRotation(&play->billboardMtxF); MATRIX_FINALIZE_AND_LOAD(POLY_XLU_DISP++, play->state.gfxCtx, "../z_draw.c", 615); gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[giDrawId].dlists[1]); Matrix_Pop(); CLOSE_DISPS(play->state.gfxCtx, "../z_draw.c", 621); } void GetItem_DrawPoes(PlayState* play, s16 giDrawId) { s32 pad; OPEN_DISPS(play->state.gfxCtx, "../z_draw.c", 628); Gfx_SetupDL_25Opa(play->state.gfxCtx); MATRIX_FINALIZE_AND_LOAD(POLY_OPA_DISP++, play->state.gfxCtx, "../z_draw.c", 632); gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[giDrawId].dlists[0]); Gfx_SetupDL_25Xlu(play->state.gfxCtx); MATRIX_FINALIZE_AND_LOAD(POLY_XLU_DISP++, play->state.gfxCtx, "../z_draw.c", 641); gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[giDrawId].dlists[1]); gSPSegment(POLY_XLU_DISP++, 0x08, Gfx_TwoTexScroll(play->state.gfxCtx, G_TX_RENDERTILE, 0 * (play->state.frames * 0), 0 * (play->state.frames * 0), 16, 32, 1, 1 * (play->state.frames * 1), 1 * -(play->state.frames * 6), 16, 32)); Matrix_Push(); Matrix_ReplaceRotation(&play->billboardMtxF); MATRIX_FINALIZE_AND_LOAD(POLY_XLU_DISP++, play->state.gfxCtx, "../z_draw.c", 656); gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[giDrawId].dlists[3]); gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[giDrawId].dlists[2]); Matrix_Pop(); CLOSE_DISPS(play->state.gfxCtx, "../z_draw.c", 663); } void GetItem_DrawFairy(PlayState* play, s16 giDrawId) { s32 pad; OPEN_DISPS(play->state.gfxCtx, "../z_draw.c", 670); Gfx_SetupDL_25Opa(play->state.gfxCtx); MATRIX_FINALIZE_AND_LOAD(POLY_OPA_DISP++, play->state.gfxCtx, "../z_draw.c", 674); gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[giDrawId].dlists[0]); Gfx_SetupDL_25Xlu(play->state.gfxCtx); MATRIX_FINALIZE_AND_LOAD(POLY_XLU_DISP++, play->state.gfxCtx, "../z_draw.c", 683); gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[giDrawId].dlists[1]); gSPSegment(POLY_XLU_DISP++, 0x08, Gfx_TwoTexScroll(play->state.gfxCtx, G_TX_RENDERTILE, 0 * (play->state.frames * 0), 0 * (play->state.frames * 0), 32, 32, 1, 1 * (play->state.frames * 1), 1 * -(play->state.frames * 6), 32, 32)); Matrix_Push(); Matrix_ReplaceRotation(&play->billboardMtxF); MATRIX_FINALIZE_AND_LOAD(POLY_XLU_DISP++, play->state.gfxCtx, "../z_draw.c", 698); gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[giDrawId].dlists[2]); Matrix_Pop(); CLOSE_DISPS(play->state.gfxCtx, "../z_draw.c", 704); } void GetItem_DrawMirrorShield(PlayState* play, s16 giDrawId) { s32 pad; OPEN_DISPS(play->state.gfxCtx, "../z_draw.c", 712); Gfx_SetupDL_25Opa(play->state.gfxCtx); gSPSegment(POLY_OPA_DISP++, 0x08, Gfx_TwoTexScroll(play->state.gfxCtx, G_TX_RENDERTILE, 0 * (play->state.frames * 0) % 256, 1 * (play->state.frames * 2) % 256, 64, 64, 1, 0 * (play->state.frames * 0) % 128, 1 * (play->state.frames * 1) % 128, 32, 32)); MATRIX_FINALIZE_AND_LOAD(POLY_OPA_DISP++, play->state.gfxCtx, "../z_draw.c", 723); gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[giDrawId].dlists[0]); Gfx_SetupDL_25Xlu(play->state.gfxCtx); MATRIX_FINALIZE_AND_LOAD(POLY_XLU_DISP++, play->state.gfxCtx, "../z_draw.c", 730); gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[giDrawId].dlists[1]); CLOSE_DISPS(play->state.gfxCtx, "../z_draw.c", 735); } void GetItem_DrawSkullToken(PlayState* play, s16 giDrawId) { s32 pad; OPEN_DISPS(play->state.gfxCtx, "../z_draw.c", 742); Gfx_SetupDL_25Opa(play->state.gfxCtx); MATRIX_FINALIZE_AND_LOAD(POLY_OPA_DISP++, play->state.gfxCtx, "../z_draw.c", 746); gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[giDrawId].dlists[0]); Gfx_SetupDL_25Xlu(play->state.gfxCtx); gSPSegment(POLY_XLU_DISP++, 0x08, Gfx_TwoTexScroll(play->state.gfxCtx, G_TX_RENDERTILE, 0 * (play->state.frames * 0), 1 * -(play->state.frames * 5), 32, 32, 1, 0 * (play->state.frames * 0), 0 * (play->state.frames * 0), 32, 64)); MATRIX_FINALIZE_AND_LOAD(POLY_XLU_DISP++, play->state.gfxCtx, "../z_draw.c", 760); gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[giDrawId].dlists[1]); CLOSE_DISPS(play->state.gfxCtx, "../z_draw.c", 765); } void GetItem_DrawEggOrMedallion(PlayState* play, s16 giDrawId) { DrawItemTableEntry* entry = &sDrawItemTable[giDrawId]; OPEN_DISPS(play->state.gfxCtx, "../z_draw.c", 772); Gfx_SetupDL_26Opa(play->state.gfxCtx); MATRIX_FINALIZE_AND_LOAD(POLY_OPA_DISP++, play->state.gfxCtx, "../z_draw.c", 776); gSPDisplayList(POLY_OPA_DISP++, entry->dlists[0]); gSPDisplayList(POLY_OPA_DISP++, entry->dlists[1]); CLOSE_DISPS(play->state.gfxCtx, "../z_draw.c", 783); } void GetItem_DrawCompass(PlayState* play, s16 giDrawId) { s32 pad; OPEN_DISPS(play->state.gfxCtx, "../z_draw.c", 811); Gfx_SetupDL_25Opa(play->state.gfxCtx); MATRIX_FINALIZE_AND_LOAD(POLY_OPA_DISP++, play->state.gfxCtx, "../z_draw.c", 815); gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[giDrawId].dlists[0]); POLY_XLU_DISP = Gfx_SetupDL(POLY_XLU_DISP, SETUPDL_5); MATRIX_FINALIZE_AND_LOAD(POLY_XLU_DISP++, play->state.gfxCtx, "../z_draw.c", 822); gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[giDrawId].dlists[1]); CLOSE_DISPS(play->state.gfxCtx, "../z_draw.c", 827); } void GetItem_DrawPotion(PlayState* play, s16 giDrawId) { s32 pad; OPEN_DISPS(play->state.gfxCtx, "../z_draw.c", 834); Gfx_SetupDL_25Opa(play->state.gfxCtx); gSPSegment(POLY_OPA_DISP++, 0x08, Gfx_TwoTexScroll(play->state.gfxCtx, G_TX_RENDERTILE, -1 * (play->state.frames * 1), 1 * (play->state.frames * 1), 32, 32, 1, -1 * (play->state.frames * 1), 1 * (play->state.frames * 1), 32, 32)); MATRIX_FINALIZE_AND_LOAD(POLY_OPA_DISP++, play->state.gfxCtx, "../z_draw.c", 845); gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[giDrawId].dlists[1]); gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[giDrawId].dlists[0]); gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[giDrawId].dlists[2]); gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[giDrawId].dlists[3]); Gfx_SetupDL_25Xlu(play->state.gfxCtx); MATRIX_FINALIZE_AND_LOAD(POLY_XLU_DISP++, play->state.gfxCtx, "../z_draw.c", 855); gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[giDrawId].dlists[4]); gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[giDrawId].dlists[5]); CLOSE_DISPS(play->state.gfxCtx, "../z_draw.c", 861); } void GetItem_DrawGoronSword(PlayState* play, s16 giDrawId) { s32 pad; OPEN_DISPS(play->state.gfxCtx, "../z_draw.c", 868); Gfx_SetupDL_25Opa(play->state.gfxCtx); gSPSegment(POLY_OPA_DISP++, 0x08, Gfx_TwoTexScroll(play->state.gfxCtx, G_TX_RENDERTILE, 1 * (play->state.frames * 1), 0 * (play->state.frames * 1), 32, 32, 1, 0 * (play->state.frames * 1), 0 * (play->state.frames * 1), 32, 32)); MATRIX_FINALIZE_AND_LOAD(POLY_OPA_DISP++, play->state.gfxCtx, "../z_draw.c", 878); gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[giDrawId].dlists[0]); CLOSE_DISPS(play->state.gfxCtx, "../z_draw.c", 883); } void GetItem_DrawDekuNuts(PlayState* play, s16 giDrawId) { s32 pad; OPEN_DISPS(play->state.gfxCtx, "../z_draw.c", 890); Gfx_SetupDL_25Opa(play->state.gfxCtx); gSPSegment(POLY_OPA_DISP++, 0x08, Gfx_TwoTexScroll(play->state.gfxCtx, G_TX_RENDERTILE, 1 * (play->state.frames * 6), 1 * (play->state.frames * 6), 32, 32, 1, 1 * (play->state.frames * 6), 1 * (play->state.frames * 6), 32, 32)); MATRIX_FINALIZE_AND_LOAD(POLY_OPA_DISP++, play->state.gfxCtx, "../z_draw.c", 901); gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[giDrawId].dlists[0]); CLOSE_DISPS(play->state.gfxCtx, "../z_draw.c", 906); } void GetItem_DrawRecoveryHeart(PlayState* play, s16 giDrawId) { s32 pad; OPEN_DISPS(play->state.gfxCtx, "../z_draw.c", 913); Gfx_SetupDL_25Xlu(play->state.gfxCtx); gSPSegment(POLY_XLU_DISP++, 0x08, Gfx_TwoTexScroll(play->state.gfxCtx, G_TX_RENDERTILE, 0 * (play->state.frames * 1), 1 * -(play->state.frames * 3), 32, 32, 1, 0 * (play->state.frames * 1), 1 * -(play->state.frames * 2), 32, 32)); MATRIX_FINALIZE_AND_LOAD(POLY_XLU_DISP++, play->state.gfxCtx, "../z_draw.c", 924); gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[giDrawId].dlists[0]); CLOSE_DISPS(play->state.gfxCtx, "../z_draw.c", 929); } void GetItem_DrawFish(PlayState* play, s16 giDrawId) { s32 pad; OPEN_DISPS(play->state.gfxCtx, "../z_draw.c", 936); Gfx_SetupDL_25Xlu(play->state.gfxCtx); gSPSegment(POLY_XLU_DISP++, 0x08, Gfx_TwoTexScroll(play->state.gfxCtx, G_TX_RENDERTILE, 0 * (play->state.frames * 0), 1 * (play->state.frames * 1), 32, 32, 1, 0 * (play->state.frames * 0), 1 * (play->state.frames * 1), 32, 32)); MATRIX_FINALIZE_AND_LOAD(POLY_XLU_DISP++, play->state.gfxCtx, "../z_draw.c", 947); gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[giDrawId].dlists[0]); CLOSE_DISPS(play->state.gfxCtx, "../z_draw.c", 952); } void GetItem_DrawOpa0(PlayState* play, s16 giDrawId) { s32 pad; OPEN_DISPS(play->state.gfxCtx, "../z_draw.c", 959); Gfx_SetupDL_25Opa(play->state.gfxCtx); MATRIX_FINALIZE_AND_LOAD(POLY_OPA_DISP++, play->state.gfxCtx, "../z_draw.c", 963); gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[giDrawId].dlists[0]); CLOSE_DISPS(play->state.gfxCtx, "../z_draw.c", 968); } void GetItem_DrawOpa0Xlu1(PlayState* play, s16 giDrawId) { s32 pad; OPEN_DISPS(play->state.gfxCtx, "../z_draw.c", 975); Gfx_SetupDL_25Opa(play->state.gfxCtx); MATRIX_FINALIZE_AND_LOAD(POLY_OPA_DISP++, play->state.gfxCtx, "../z_draw.c", 979); gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[giDrawId].dlists[0]); Gfx_SetupDL_25Xlu(play->state.gfxCtx); MATRIX_FINALIZE_AND_LOAD(POLY_XLU_DISP++, play->state.gfxCtx, "../z_draw.c", 986); gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[giDrawId].dlists[1]); CLOSE_DISPS(play->state.gfxCtx, "../z_draw.c", 991); } void GetItem_DrawXlu01(PlayState* play, s16 giDrawId) { DrawItemTableEntry* entry = &sDrawItemTable[giDrawId]; OPEN_DISPS(play->state.gfxCtx, "../z_draw.c", 998); Gfx_SetupDL_25Xlu(play->state.gfxCtx); MATRIX_FINALIZE_AND_LOAD(POLY_XLU_DISP++, play->state.gfxCtx, "../z_draw.c", 1002); gSPDisplayList(POLY_XLU_DISP++, entry->dlists[0]); gSPDisplayList(POLY_XLU_DISP++, entry->dlists[1]); CLOSE_DISPS(play->state.gfxCtx, "../z_draw.c", 1008); } void GetItem_DrawOpa10Xlu2(PlayState* play, s16 giDrawId) { s32 pad; OPEN_DISPS(play->state.gfxCtx, "../z_draw.c", 1015); Gfx_SetupDL_25Opa(play->state.gfxCtx); MATRIX_FINALIZE_AND_LOAD(POLY_OPA_DISP++, play->state.gfxCtx, "../z_draw.c", 1019); gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[giDrawId].dlists[1]); gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[giDrawId].dlists[0]); Gfx_SetupDL_25Xlu(play->state.gfxCtx); MATRIX_FINALIZE_AND_LOAD(POLY_XLU_DISP++, play->state.gfxCtx, "../z_draw.c", 1027); gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[giDrawId].dlists[2]); CLOSE_DISPS(play->state.gfxCtx, "../z_draw.c", 1032); } void GetItem_DrawMagicArrow(PlayState* play, s16 giDrawId) { s32 pad; OPEN_DISPS(play->state.gfxCtx, "../z_draw.c", 1039); Gfx_SetupDL_25Opa(play->state.gfxCtx); MATRIX_FINALIZE_AND_LOAD(POLY_OPA_DISP++, play->state.gfxCtx, "../z_draw.c", 1043); gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[giDrawId].dlists[0]); Gfx_SetupDL_25Xlu(play->state.gfxCtx); MATRIX_FINALIZE_AND_LOAD(POLY_XLU_DISP++, play->state.gfxCtx, "../z_draw.c", 1050); gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[giDrawId].dlists[1]); gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[giDrawId].dlists[2]); CLOSE_DISPS(play->state.gfxCtx, "../z_draw.c", 1056); } void GetItem_DrawMagicSpell(PlayState* play, s16 giDrawId) { s32 pad; OPEN_DISPS(play->state.gfxCtx, "../z_draw.c", 1063); Gfx_SetupDL_25Xlu(play->state.gfxCtx); gSPSegment(POLY_XLU_DISP++, 0x08, Gfx_TwoTexScroll(play->state.gfxCtx, G_TX_RENDERTILE, 1 * (play->state.frames * 2), 1 * -(play->state.frames * 6), 32, 32, 1, 1 * (play->state.frames * 1), -1 * (play->state.frames * 2), 32, 32)); MATRIX_FINALIZE_AND_LOAD(POLY_XLU_DISP++, play->state.gfxCtx, "../z_draw.c", 1074); gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[giDrawId].dlists[0]); gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[giDrawId].dlists[1]); gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[giDrawId].dlists[2]); CLOSE_DISPS(play->state.gfxCtx, "../z_draw.c", 1081); } void GetItem_DrawOpa1023(PlayState* play, s16 giDrawId) { s32 pad; OPEN_DISPS(play->state.gfxCtx, "../z_draw.c", 1088); Gfx_SetupDL_25Opa(play->state.gfxCtx); MATRIX_FINALIZE_AND_LOAD(POLY_OPA_DISP++, play->state.gfxCtx, "../z_draw.c", 1092); gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[giDrawId].dlists[1]); gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[giDrawId].dlists[0]); gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[giDrawId].dlists[2]); gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[giDrawId].dlists[3]); CLOSE_DISPS(play->state.gfxCtx, "../z_draw.c", 1100); } void GetItem_DrawOpa10Xlu32(PlayState* play, s16 giDrawId) { s32 pad; OPEN_DISPS(play->state.gfxCtx, "../z_draw.c", 1108); Gfx_SetupDL_25Opa(play->state.gfxCtx); MATRIX_FINALIZE_AND_LOAD(POLY_OPA_DISP++, play->state.gfxCtx, "../z_draw.c", 1112); gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[giDrawId].dlists[1]); gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[giDrawId].dlists[0]); Gfx_SetupDL_25Xlu(play->state.gfxCtx); MATRIX_FINALIZE_AND_LOAD(POLY_XLU_DISP++, play->state.gfxCtx, "../z_draw.c", 1120); gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[giDrawId].dlists[3]); gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[giDrawId].dlists[2]); CLOSE_DISPS(play->state.gfxCtx, "../z_draw.c", 1126); } void GetItem_DrawSmallRupee(PlayState* play, s16 giDrawId) { s32 pad; OPEN_DISPS(play->state.gfxCtx, "../z_draw.c", 1133); Matrix_Scale(0.7f, 0.7f, 0.7f, MTXMODE_APPLY); Gfx_SetupDL_25Opa(play->state.gfxCtx); MATRIX_FINALIZE_AND_LOAD(POLY_OPA_DISP++, play->state.gfxCtx, "../z_draw.c", 1140); gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[giDrawId].dlists[1]); gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[giDrawId].dlists[0]); Gfx_SetupDL_25Xlu(play->state.gfxCtx); MATRIX_FINALIZE_AND_LOAD(POLY_XLU_DISP++, play->state.gfxCtx, "../z_draw.c", 1148); gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[giDrawId].dlists[3]); gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[giDrawId].dlists[2]); CLOSE_DISPS(play->state.gfxCtx, "../z_draw.c", 1154); } void GetItem_DrawScale(PlayState* play, s16 giDrawId) { s32 pad; OPEN_DISPS(play->state.gfxCtx, "../z_draw.c", 1162); Gfx_SetupDL_25Xlu(play->state.gfxCtx); gSPSegment(POLY_XLU_DISP++, 0x08, Gfx_TwoTexScroll(play->state.gfxCtx, G_TX_RENDERTILE, 1 * (play->state.frames * 2), -1 * (play->state.frames * 2), 64, 64, 1, 1 * (play->state.frames * 4), 1 * -(play->state.frames * 4), 32, 32)); MATRIX_FINALIZE_AND_LOAD(POLY_XLU_DISP++, play->state.gfxCtx, "../z_draw.c", 1173); gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[giDrawId].dlists[2]); gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[giDrawId].dlists[3]); gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[giDrawId].dlists[1]); gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[giDrawId].dlists[0]); CLOSE_DISPS(play->state.gfxCtx, "../z_draw.c", 1181); } void GetItem_DrawBulletBag(PlayState* play, s16 giDrawId) { DrawItemTableEntry* entry = &sDrawItemTable[giDrawId]; OPEN_DISPS(play->state.gfxCtx, "../z_draw.c", 1188); Gfx_SetupDL_25Opa(play->state.gfxCtx); MATRIX_FINALIZE_AND_LOAD(POLY_OPA_DISP++, play->state.gfxCtx, "../z_draw.c", 1192); gSPDisplayList(POLY_OPA_DISP++, entry->dlists[1]); gSPDisplayList(POLY_OPA_DISP++, entry->dlists[0]); Gfx_SetupDL_25Xlu(play->state.gfxCtx); MATRIX_FINALIZE_AND_LOAD(POLY_XLU_DISP++, play->state.gfxCtx, "../z_draw.c", 1200); gSPDisplayList(POLY_XLU_DISP++, entry->dlists[2]); gSPDisplayList(POLY_XLU_DISP++, entry->dlists[3]); gSPDisplayList(POLY_XLU_DISP++, entry->dlists[4]); CLOSE_DISPS(play->state.gfxCtx, "../z_draw.c", 1207); } void GetItem_DrawWallet(PlayState* play, s16 giDrawId) { s32 pad; OPEN_DISPS(play->state.gfxCtx, "../z_draw.c", 1214); Gfx_SetupDL_25Opa(play->state.gfxCtx); MATRIX_FINALIZE_AND_LOAD(POLY_OPA_DISP++, play->state.gfxCtx, "../z_draw.c", 1218); gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[giDrawId].dlists[1]); gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[giDrawId].dlists[0]); gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[giDrawId].dlists[2]); gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[giDrawId].dlists[3]); gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[giDrawId].dlists[4]); gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[giDrawId].dlists[5]); gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[giDrawId].dlists[6]); gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[giDrawId].dlists[7]); CLOSE_DISPS(play->state.gfxCtx, "../z_draw.c", 1230); }