diff options
| author | engineer124 <47598039+engineer124@users.noreply.github.com> | 2022-07-23 15:25:20 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-07-23 15:25:20 -0400 |
| commit | f3f147cc3d92dcfd2a8f9332833245db421266ba (patch) | |
| tree | 2e3ee784768d7235063386a51f27099626f889a6 /src/code | |
| parent | fbb38416cace4da63ce38f8624cd3c12418a9c8a (diff) | |
`z_draw` OK and Documented (#900)
* Import data for z_draw
* Match z_draw
* cleanup
* rupees
* Some object gi docs
* More documents
* Add explanation on function names
* more cleanup
* Fixed some things
* More docs
* Object docs WIP, still not done. I'll continue tomorrow
* More WIP, should just be mask gi objects left now
* Some masks done, many more to go
* cleanup
* Last masks finish
* Shield Stolen
* cleanup
* Apply various dicussions
* remove casts
* PR Suggestions
* Sync PowderKeg
Diffstat (limited to 'src/code')
| -rw-r--r-- | src/code/code_8012EC80.c | 12 | ||||
| -rw-r--r-- | src/code/z_draw.c | 842 | ||||
| -rw-r--r-- | src/code/z_en_item00.c | 175 | ||||
| -rw-r--r-- | src/code/z_parameter.c | 20 | ||||
| -rw-r--r-- | src/code/z_sram_NES.c | 2 |
5 files changed, 923 insertions, 128 deletions
diff --git a/src/code/code_8012EC80.c b/src/code/code_8012EC80.c index 07cb436cf..5649ae80c 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 b31f796b7..4167b4cea 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 87f1a1802..0637f6392 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 a76cb36e0..0d6c4380d 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 b5491e33b..5e29a251e 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); } |
