1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2025-02-17 20:41:28 +00:00

Some cleanup/doc on the item icons (#1263)

* Some cleanup/doc on the item enum and icons

* `gItemIconBigBottlePoeTex` -> `gItemIconBottleBigPoeTex`

* Biggoron sword / giant knife items (?)

* `SPSTONE_` -> `SPIRITUAL_` ?

* `gItemIconBrokenBiggoronSwordTex` -> `gItemIconBrokenGoronsSwordTex`

* `gQuestIcon...MedallionTex` -> `gQuestIconMedallion...Tex`

* `ITEM_MAGIC_` -> `ITEM_MAGIC_JAR_`small/big

* `ITEM_BOW_ARROW_` -> `ITEM_BOW_`

* `MASK_BUNNY` -> `MASK_BUNNY_HOOD`

* Update `GID_` enum from `ITEM_` enum

* ITEM/GID`_ARROW_`small/medium/large -> 5/10/30

* Run formatter

* .

* fix regressions and revert bad ideas

* chicken

* obey the newline police and also prevent the range police from intervening

* fixups

* dimensions -> dimension (singular)

* Note on inconsequential oddities about the `gItemIcons` mapping
This commit is contained in:
Dragorn421 2022-12-13 03:45:54 +01:00 committed by GitHub
parent c420885513
commit 880e7c937c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
17 changed files with 369 additions and 336 deletions

View file

@ -1,24 +1,24 @@
<Root> <Root>
<File Name="icon_item_24_static" Segment="9"> <File Name="icon_item_24_static" Segment="9">
<Texture Name="gForestMedallionIconTex" OutName="forest_medallion_icon" Format="rgba32" Width="24" Height="24" Offset="0x0"/> <Texture Name="gQuestIconMedallionForestTex" OutName="forest_medallion_icon" Format="rgba32" Width="24" Height="24" Offset="0x0"/>
<Texture Name="gFireMedallionIconTex" OutName="fire_medallion_icon" Format="rgba32" Width="24" Height="24" Offset="0x900"/> <Texture Name="gQuestIconMedallionFireTex" OutName="fire_medallion_icon" Format="rgba32" Width="24" Height="24" Offset="0x900"/>
<Texture Name="gWaterMedallionIconTex" OutName="water_medallion_icon" Format="rgba32" Width="24" Height="24" Offset="0x1200"/> <Texture Name="gQuestIconMedallionWaterTex" OutName="water_medallion_icon" Format="rgba32" Width="24" Height="24" Offset="0x1200"/>
<Texture Name="gSpiritMedallionIconTex" OutName="spirit_medallion_icon" Format="rgba32" Width="24" Height="24" Offset="0x1B00"/> <Texture Name="gQuestIconMedallionSpiritTex" OutName="spirit_medallion_icon" Format="rgba32" Width="24" Height="24" Offset="0x1B00"/>
<Texture Name="gShadowMedallionIconTex" OutName="shadow_medallion_icon" Format="rgba32" Width="24" Height="24" Offset="0x2400"/> <Texture Name="gQuestIconMedallionShadowTex" OutName="shadow_medallion_icon" Format="rgba32" Width="24" Height="24" Offset="0x2400"/>
<Texture Name="gLightMedallionIconTex" OutName="light_medallion_icon" Format="rgba32" Width="24" Height="24" Offset="0x2D00"/> <Texture Name="gQuestIconMedallionLightTex" OutName="light_medallion_icon" Format="rgba32" Width="24" Height="24" Offset="0x2D00"/>
<Texture Name="gKokiriEmeraldIconTex" OutName="kokiri_emerald_icon" Format="rgba32" Width="24" Height="24" Offset="0x3600"/> <Texture Name="gQuestIconKokiriEmeraldTex" OutName="kokiri_emerald_icon" Format="rgba32" Width="24" Height="24" Offset="0x3600"/>
<Texture Name="gGoronRubyIconTex" OutName="goron_ruby_icon" Format="rgba32" Width="24" Height="24" Offset="0x3F00"/> <Texture Name="gQuestIconGoronRubyTex" OutName="goron_ruby_icon" Format="rgba32" Width="24" Height="24" Offset="0x3F00"/>
<Texture Name="gZoraSapphireIconTex" OutName="zora_sapphire_icon" Format="rgba32" Width="24" Height="24" Offset="0x4800"/> <Texture Name="gQuestIconZoraSapphireTex" OutName="zora_sapphire_icon" Format="rgba32" Width="24" Height="24" Offset="0x4800"/>
<Texture Name="gStoneOfAgonyIconTex" OutName="stone_of_agony_icon" Format="rgba32" Width="24" Height="24" Offset="0x5100"/> <Texture Name="gQuestIconStoneOfAgonyTex" OutName="stone_of_agony_icon" Format="rgba32" Width="24" Height="24" Offset="0x5100"/>
<Texture Name="gGerudosCardIconTex" OutName="gerudos_card_icon" Format="rgba32" Width="24" Height="24" Offset="0x5A00"/> <Texture Name="gQuestIconGerudosCardTex" OutName="gerudos_card_icon" Format="rgba32" Width="24" Height="24" Offset="0x5A00"/>
<Texture Name="gGoldSkulltulaIconTex" OutName="gold_skulltula_icon" Format="rgba32" Width="24" Height="24" Offset="0x6300"/> <Texture Name="gQuestIconGoldSkulltulaTex" OutName="gold_skulltula_icon" Format="rgba32" Width="24" Height="24" Offset="0x6300"/>
<Texture Name="gHeartContainerIconTex" OutName="heart_container_icon" Format="rgba32" Width="24" Height="24" Offset="0x6C00"/> <Texture Name="gQuestIconHeartContainerTex" OutName="heart_container_icon" Format="rgba32" Width="24" Height="24" Offset="0x6C00"/>
<Texture Name="gUnusedPieceOfHeartIconTex" OutName="unsed_piece_of_heart_icon" Format="rgba32" Width="24" Height="24" Offset="0x7500"/> <Texture Name="gQuestIconHeartPieceTex" OutName="heart_piece_icon" Format="rgba32" Width="24" Height="24" Offset="0x7500"/>
<Texture Name="gBossKeyIconTex" OutName="boss_key_icon" Format="rgba32" Width="24" Height="24" Offset="0x7E00"/> <Texture Name="gQuestIconDungeonBossKeyTex" OutName="boss_key_icon" Format="rgba32" Width="24" Height="24" Offset="0x7E00"/>
<Texture Name="gCompassIconTex" OutName="compass_icon" Format="rgba32" Width="24" Height="24" Offset="0x8700"/> <Texture Name="gQuestIconDungeonCompassTex" OutName="compass_icon" Format="rgba32" Width="24" Height="24" Offset="0x8700"/>
<Texture Name="gDungeonMapIconTex" OutName="dungeon_map_icon" Format="rgba32" Width="24" Height="24" Offset="0x9000"/> <Texture Name="gQuestIconDungeonMapTex" OutName="dungeon_map_icon" Format="rgba32" Width="24" Height="24" Offset="0x9000"/>
<Texture Name="gSmallKeyIconTex" OutName="small_key_icon" Format="rgba32" Width="24" Height="24" Offset="0x9900"/> <Texture Name="gQuestIconSmallKeyTex" OutName="small_key_icon" Format="rgba32" Width="24" Height="24" Offset="0x9900"/>
<Texture Name="gSmallMagicJarIconTex" OutName="small_magic_jar_icon" Format="rgba32" Width="24" Height="24" Offset="0xA200"/> <Texture Name="gQuestIconMagicJarSmallTex" OutName="small_magic_jar_icon" Format="rgba32" Width="24" Height="24" Offset="0xA200"/>
<Texture Name="gBigMagicJarIconTex" OutName="big_magic_jar_icon" Format="rgba32" Width="24" Height="24" Offset="0xAB00"/> <Texture Name="gQuestIconMagicJarBigTex" OutName="big_magic_jar_icon" Format="rgba32" Width="24" Height="24" Offset="0xAB00"/>
</File> </File>
</Root> </Root>

View file

@ -1,95 +1,95 @@
<Root> <Root>
<File Name="icon_item_static" Segment="8"> <File Name="icon_item_static" Segment="8">
<Texture Name="gDekuStickIconTex" OutName="deku_stick_icon" Format="rgba32" Width="32" Height="32" Offset="0x0"/> <Texture Name="gItemIconDekuStickTex" OutName="deku_stick_icon" Format="rgba32" Width="32" Height="32" Offset="0x0"/>
<Texture Name="gDekuNutIconTex" OutName="deku_nut_icon" Format="rgba32" Width="32" Height="32" Offset="0x1000"/> <Texture Name="gItemIconDekuNutTex" OutName="deku_nut_icon" Format="rgba32" Width="32" Height="32" Offset="0x1000"/>
<Texture Name="gBombIconTex" OutName="bomb_icon" Format="rgba32" Width="32" Height="32" Offset="0x2000"/> <Texture Name="gItemIconBombTex" OutName="bomb_icon" Format="rgba32" Width="32" Height="32" Offset="0x2000"/>
<Texture Name="gFairyBowIconTex" OutName="fairy_bow_icon" Format="rgba32" Width="32" Height="32" Offset="0x3000"/> <Texture Name="gItemIconBowTex" OutName="bow_icon" Format="rgba32" Width="32" Height="32" Offset="0x3000"/>
<Texture Name="gFireArrowIconTex" OutName="fire_arrow_icon" Format="rgba32" Width="32" Height="32" Offset="0x4000"/> <Texture Name="gItemIconArrowFireTex" OutName="fire_arrow_icon" Format="rgba32" Width="32" Height="32" Offset="0x4000"/>
<Texture Name="gDinsFireIconTex" OutName="dins_fire_icon" Format="rgba32" Width="32" Height="32" Offset="0x5000"/> <Texture Name="gItemIconDinsFireTex" OutName="dins_fire_icon" Format="rgba32" Width="32" Height="32" Offset="0x5000"/>
<Texture Name="gFairySlingshotIconTex" OutName="fairy_slingshot_icon" Format="rgba32" Width="32" Height="32" Offset="0x6000"/> <Texture Name="gItemIconSlingshotTex" OutName="slingshot_icon" Format="rgba32" Width="32" Height="32" Offset="0x6000"/>
<Texture Name="gFairyOcarinaIconTex" OutName="fairy_ocarina_icon" Format="rgba32" Width="32" Height="32" Offset="0x7000"/> <Texture Name="gItemIconOcarinaFairyTex" OutName="fairy_ocarina_icon" Format="rgba32" Width="32" Height="32" Offset="0x7000"/>
<Texture Name="gOcarinaofTimeIconTex" OutName="ocarina_of_time_icon" Format="rgba32" Width="32" Height="32" Offset="0x8000"/> <Texture Name="gItemIconOcarinaOfTimeTex" OutName="ocarina_of_time_icon" Format="rgba32" Width="32" Height="32" Offset="0x8000"/>
<Texture Name="gBombchuIconTex" OutName="bombchu_icon" Format="rgba32" Width="32" Height="32" Offset="0x9000"/> <Texture Name="gItemIconBombchuTex" OutName="bombchu_icon" Format="rgba32" Width="32" Height="32" Offset="0x9000"/>
<Texture Name="gHookshotIconTex" OutName="hookshot_icon" Format="rgba32" Width="32" Height="32" Offset="0xA000"/> <Texture Name="gItemIconHookshotTex" OutName="hookshot_icon" Format="rgba32" Width="32" Height="32" Offset="0xA000"/>
<Texture Name="gLongshotIconTex" OutName="longshot_icon" Format="rgba32" Width="32" Height="32" Offset="0xB000"/> <Texture Name="gItemIconLongshotTex" OutName="longshot_icon" Format="rgba32" Width="32" Height="32" Offset="0xB000"/>
<Texture Name="gIceArrowIconTex" OutName="ice_arrow_icon" Format="rgba32" Width="32" Height="32" Offset="0xC000"/> <Texture Name="gItemIconArrowIceTex" OutName="ice_arrow_icon" Format="rgba32" Width="32" Height="32" Offset="0xC000"/>
<Texture Name="gFaroresWindIconTex" OutName="farores_wind_icon" Format="rgba32" Width="32" Height="32" Offset="0xD000"/> <Texture Name="gItemIconFaroresWindTex" OutName="farores_wind_icon" Format="rgba32" Width="32" Height="32" Offset="0xD000"/>
<Texture Name="gBoomerangIconTex" OutName="boomerang_icon" Format="rgba32" Width="32" Height="32" Offset="0xE000"/> <Texture Name="gItemIconBoomerangTex" OutName="boomerang_icon" Format="rgba32" Width="32" Height="32" Offset="0xE000"/>
<Texture Name="gLensofTruthIconTex" OutName="lens_of_truth_icon" Format="rgba32" Width="32" Height="32" Offset="0xF000"/> <Texture Name="gItemIconLensOfTruthTex" OutName="lens_of_truth_icon" Format="rgba32" Width="32" Height="32" Offset="0xF000"/>
<Texture Name="gMagicBeansIconTex" OutName="magic_beans_icon" Format="rgba32" Width="32" Height="32" Offset="0x10000"/> <Texture Name="gItemIconMagicBeanTex" OutName="magic_bean_icon" Format="rgba32" Width="32" Height="32" Offset="0x10000"/>
<Texture Name="gMegatonHammerIconTex" OutName="megaton_hammer_icon" Format="rgba32" Width="32" Height="32" Offset="0x11000"/> <Texture Name="gItemIconHammerTex" OutName="hammer_icon" Format="rgba32" Width="32" Height="32" Offset="0x11000"/>
<Texture Name="gLightArrowIconTex" OutName="light_arrow_icon" Format="rgba32" Width="32" Height="32" Offset="0x12000"/> <Texture Name="gItemIconArrowLightTex" OutName="light_arrow_icon" Format="rgba32" Width="32" Height="32" Offset="0x12000"/>
<Texture Name="gNayrusLoveIconTex" OutName="nayrus_love_icon" Format="rgba32" Width="32" Height="32" Offset="0x13000"/> <Texture Name="gItemIconNayrusLoveTex" OutName="nayrus_love_icon" Format="rgba32" Width="32" Height="32" Offset="0x13000"/>
<Texture Name="gEmptyBottleIconTex" OutName="empty_bottle_icon" Format="rgba32" Width="32" Height="32" Offset="0x14000"/> <Texture Name="gItemIconBottleEmptyTex" OutName="empty_bottle_icon" Format="rgba32" Width="32" Height="32" Offset="0x14000"/>
<Texture Name="gRedPotionIconTex" OutName="red_potion_icon" Format="rgba32" Width="32" Height="32" Offset="0x15000"/> <Texture Name="gItemIconBottlePotionRedTex" OutName="red_potion_icon" Format="rgba32" Width="32" Height="32" Offset="0x15000"/>
<Texture Name="gGreenPotionIconTex" OutName="green_potion_icon" Format="rgba32" Width="32" Height="32" Offset="0x16000"/> <Texture Name="gItemIconBottlePotionGreenTex" OutName="green_potion_icon" Format="rgba32" Width="32" Height="32" Offset="0x16000"/>
<Texture Name="gBluePotionIconTex" OutName="blue_potion_icon" Format="rgba32" Width="32" Height="32" Offset="0x17000"/> <Texture Name="gItemIconBottlePotionBlueTex" OutName="blue_potion_icon" Format="rgba32" Width="32" Height="32" Offset="0x17000"/>
<Texture Name="gBottledFairyIconTex" OutName="bottled_fairy_icon" Format="rgba32" Width="32" Height="32" Offset="0x18000"/> <Texture Name="gItemIconBottleFairyTex" OutName="bottled_fairy_icon" Format="rgba32" Width="32" Height="32" Offset="0x18000"/>
<Texture Name="gFishIconTex" OutName="fish_icon" Format="rgba32" Width="32" Height="32" Offset="0x19000"/> <Texture Name="gItemIconBottleFishTex" OutName="bottled_fish_icon" Format="rgba32" Width="32" Height="32" Offset="0x19000"/>
<Texture Name="gMilkFullIconTex" OutName="milk_full_icon" Format="rgba32" Width="32" Height="32" Offset="0x1A000"/> <Texture Name="gItemIconBottleMilkFullTex" OutName="bottled_milk_full_icon" Format="rgba32" Width="32" Height="32" Offset="0x1A000"/>
<Texture Name="gRutosLetterIconTex" OutName="rutos_letter_icon" Format="rgba32" Width="32" Height="32" Offset="0x1B000"/> <Texture Name="gItemIconBottleRutosLetterTex" OutName="bottled_rutos_letter_icon" Format="rgba32" Width="32" Height="32" Offset="0x1B000"/>
<Texture Name="gBlueFireIconTex" OutName="blue_fire_icon" Format="rgba32" Width="32" Height="32" Offset="0x1C000"/> <Texture Name="gItemIconBottleBlueFireTex" OutName="bottled_blue_fire_icon" Format="rgba32" Width="32" Height="32" Offset="0x1C000"/>
<Texture Name="gBugIconTex" OutName="bug_icon" Format="rgba32" Width="32" Height="32" Offset="0x1D000"/> <Texture Name="gItemIconBottleBugTex" OutName="bottled_bug_icon" Format="rgba32" Width="32" Height="32" Offset="0x1D000"/>
<Texture Name="gBigPoeIconTex" OutName="big_poe_icon" Format="rgba32" Width="32" Height="32" Offset="0x1E000"/> <Texture Name="gItemIconBottleBigPoeTex" OutName="bottled_big_poe_icon" Format="rgba32" Width="32" Height="32" Offset="0x1E000"/>
<Texture Name="gMilkhalfIconTex" OutName="milk_half_icon" Format="rgba32" Width="32" Height="32" Offset="0x1F000"/> <Texture Name="gItemIconBottleMilkHalfTex" OutName="bottled_milk_half_icon" Format="rgba32" Width="32" Height="32" Offset="0x1F000"/>
<Texture Name="gPoeIconTex" OutName="poe_icon" Format="rgba32" Width="32" Height="32" Offset="0x20000"/> <Texture Name="gItemIconBottlePoeTex" OutName="bottled_poe_icon" Format="rgba32" Width="32" Height="32" Offset="0x20000"/>
<Texture Name="gWeirdEggIconTex" OutName="weird_egg_icon" Format="rgba32" Width="32" Height="32" Offset="0x21000"/> <Texture Name="gItemIconWeirdEggTex" OutName="weird_egg_icon" Format="rgba32" Width="32" Height="32" Offset="0x21000"/>
<Texture Name="gCuccoIconTex" OutName="cucco_icon" Format="rgba32" Width="32" Height="32" Offset="0x22000"/> <Texture Name="gItemIconChickenTex" OutName="chicken_icon" Format="rgba32" Width="32" Height="32" Offset="0x22000"/>
<Texture Name="gZeldasLetterIconTex" OutName="zeldas_letter_icon" Format="rgba32" Width="32" Height="32" Offset="0x23000"/> <Texture Name="gItemIconZeldasLetterTex" OutName="zeldas_letter_icon" Format="rgba32" Width="32" Height="32" Offset="0x23000"/>
<Texture Name="gKeatonMaskIconTex" OutName="keaton_mask_icon" Format="rgba32" Width="32" Height="32" Offset="0x24000"/> <Texture Name="gItemIconMaskKeatonTex" OutName="keaton_mask_icon" Format="rgba32" Width="32" Height="32" Offset="0x24000"/>
<Texture Name="gSkullMaskIconTex" OutName="skull_mask_icon" Format="rgba32" Width="32" Height="32" Offset="0x25000"/> <Texture Name="gItemIconMaskSkullTex" OutName="skull_mask_icon" Format="rgba32" Width="32" Height="32" Offset="0x25000"/>
<Texture Name="gSpookyMaskIconTex" OutName="spooky_mask_icon" Format="rgba32" Width="32" Height="32" Offset="0x26000"/> <Texture Name="gItemIconMaskSpookyTex" OutName="spooky_mask_icon" Format="rgba32" Width="32" Height="32" Offset="0x26000"/>
<Texture Name="gBunnyHoodIconTex" OutName="bunny_hood_icon" Format="rgba32" Width="32" Height="32" Offset="0x27000"/> <Texture Name="gItemIconMaskBunnyHoodTex" OutName="bunny_hood_icon" Format="rgba32" Width="32" Height="32" Offset="0x27000"/>
<Texture Name="gGoronMaskIconTex" OutName="goron_mask_icon" Format="rgba32" Width="32" Height="32" Offset="0x28000"/> <Texture Name="gItemIconMaskGoronTex" OutName="goron_mask_icon" Format="rgba32" Width="32" Height="32" Offset="0x28000"/>
<Texture Name="gZoraMaskIconTex" OutName="zoras_mask_icon" Format="rgba32" Width="32" Height="32" Offset="0x29000"/> <Texture Name="gItemIconMaskZoraTex" OutName="zora_mask_icon" Format="rgba32" Width="32" Height="32" Offset="0x29000"/>
<Texture Name="gGerudoMaskIconTex" OutName="gerudos_mask_icon" Format="rgba32" Width="32" Height="32" Offset="0x2A000"/> <Texture Name="gItemIconMaskGerudoTex" OutName="gerudo_mask_icon" Format="rgba32" Width="32" Height="32" Offset="0x2A000"/>
<Texture Name="gMaskofTruthIconTex" OutName="mask_of_truth_icon" Format="rgba32" Width="32" Height="32" Offset="0x2B000"/> <Texture Name="gItemIconMaskTruthTex" OutName="mask_of_truth_icon" Format="rgba32" Width="32" Height="32" Offset="0x2B000"/>
<Texture Name="gSoldOutIconTex" OutName="sold_out_icon" Format="rgba32" Width="32" Height="32" Offset="0x2C000"/> <Texture Name="gItemIconSoldOutTex" OutName="sold_out_icon" Format="rgba32" Width="32" Height="32" Offset="0x2C000"/>
<Texture Name="gPocketEggIconTex" OutName="pocket_egg" Format="rgba32" Width="32" Height="32" Offset="0x2D000"/> <Texture Name="gItemIconPocketEggTex" OutName="pocket_egg_icon" Format="rgba32" Width="32" Height="32" Offset="0x2D000"/>
<Texture Name="gPocketCuccoIconTex" OutName="pocket_cucco_icon" Format="rgba32" Width="32" Height="32" Offset="0x2E000"/> <Texture Name="gItemIconPocketCuccoTex" OutName="pocket_cucco_icon" Format="rgba32" Width="32" Height="32" Offset="0x2E000"/>
<Texture Name="gCojiroIconTex" OutName="cojiro_icon" Format="rgba32" Width="32" Height="32" Offset="0x2F000"/> <Texture Name="gItemIconCojiroTex" OutName="cojiro_icon" Format="rgba32" Width="32" Height="32" Offset="0x2F000"/>
<Texture Name="gOddMushroomIconTex" OutName="odd_mushroom_icon" Format="rgba32" Width="32" Height="32" Offset="0x30000"/> <Texture Name="gItemIconOddMushroomTex" OutName="odd_mushroom_icon" Format="rgba32" Width="32" Height="32" Offset="0x30000"/>
<Texture Name="gOddPotionIconTex" OutName="odd_potion_icon" Format="rgba32" Width="32" Height="32" Offset="0x31000"/> <Texture Name="gItemIconOddPotionTex" OutName="odd_potion_icon" Format="rgba32" Width="32" Height="32" Offset="0x31000"/>
<Texture Name="gPoachersSawIconTex" OutName="poachers_saw_icon" Format="rgba32" Width="32" Height="32" Offset="0x32000"/> <Texture Name="gItemIconPoachersSawTex" OutName="poachers_saw_icon" Format="rgba32" Width="32" Height="32" Offset="0x32000"/>
<Texture Name="gBrokenBiggoronSwordIconTex" OutName="broken_biggoron_sword_icon" Format="rgba32" Width="32" Height="32" Offset="0x33000"/> <Texture Name="gItemIconBrokenGoronsSwordTex" OutName="broken_gorons_sword_icon" Format="rgba32" Width="32" Height="32" Offset="0x33000"/>
<Texture Name="gPrescriptionIconTex" OutName="prescription_icon" Format="rgba32" Width="32" Height="32" Offset="0x34000"/> <Texture Name="gItemIconPrescriptionTex" OutName="prescription_icon" Format="rgba32" Width="32" Height="32" Offset="0x34000"/>
<Texture Name="gEyeBallFrogIconTex" OutName="eyeball_frog_icon" Format="rgba32" Width="32" Height="32" Offset="0x35000"/> <Texture Name="gItemIconEyeballFrogTex" OutName="eyeball_frog_icon" Format="rgba32" Width="32" Height="32" Offset="0x35000"/>
<Texture Name="gEyeDropsIconTex" OutName="eye_drops_icon" Format="rgba32" Width="32" Height="32" Offset="0x36000"/> <Texture Name="gItemIconEyeDropsTex" OutName="eye_drops_icon" Format="rgba32" Width="32" Height="32" Offset="0x36000"/>
<Texture Name="gClaimCheckIconTex" OutName="claim_check_icon" Format="rgba32" Width="32" Height="32" Offset="0x37000"/> <Texture Name="gItemIconClaimCheckTex" OutName="claim_check_icon" Format="rgba32" Width="32" Height="32" Offset="0x37000"/>
<Texture Name="gFairyBowFireIconTex" OutName="fairy_bow_fire_icon" Format="rgba32" Width="32" Height="32" Offset="0x38000"/> <Texture Name="gItemIconBowFireTex" OutName="bow_fire_icon" Format="rgba32" Width="32" Height="32" Offset="0x38000"/>
<Texture Name="gFairyBowIceIconTex" OutName="fairy_bow_ice_icon" Format="rgba32" Width="32" Height="32" Offset="0x39000"/> <Texture Name="gItemIconBowIceTex" OutName="bow_ice_icon" Format="rgba32" Width="32" Height="32" Offset="0x39000"/>
<Texture Name="gFairyBowLightIconTex" OutName="fairy_bow_light_icon" Format="rgba32" Width="32" Height="32" Offset="0x3A000"/> <Texture Name="gItemIconBowLightTex" OutName="bow_light_icon" Format="rgba32" Width="32" Height="32" Offset="0x3A000"/>
<Texture Name="gKokiriSwordIconTex" OutName="kokiri_sword_icon" Format="rgba32" Width="32" Height="32" Offset="0x3B000"/> <Texture Name="gItemIconSwordKokiriTex" OutName="kokiri_sword_icon" Format="rgba32" Width="32" Height="32" Offset="0x3B000"/>
<Texture Name="gMasterSwordIconTex" OutName="master_sword_icon" Format="rgba32" Width="32" Height="32" Offset="0x3C000"/> <Texture Name="gItemIconSwordMasterTex" OutName="master_sword_icon" Format="rgba32" Width="32" Height="32" Offset="0x3C000"/>
<Texture Name="gBiggoronSwordIconTex" OutName="biggoron_sword_icon" Format="rgba32" Width="32" Height="32" Offset="0x3D000"/> <Texture Name="gItemIconSwordBiggoronTex" OutName="biggoron_sword_icon" Format="rgba32" Width="32" Height="32" Offset="0x3D000"/>
<Texture Name="gDekuShieldIconTex" OutName="deku_shield_icon" Format="rgba32" Width="32" Height="32" Offset="0x3E000"/> <Texture Name="gItemIconShieldDekuTex" OutName="deku_shield_icon" Format="rgba32" Width="32" Height="32" Offset="0x3E000"/>
<Texture Name="gHylianShieldIconTex" OutName="hylian_shield_icon" Format="rgba32" Width="32" Height="32" Offset="0x3F000"/> <Texture Name="gItemIconShieldHylianTex" OutName="hylian_shield_icon" Format="rgba32" Width="32" Height="32" Offset="0x3F000"/>
<Texture Name="gMirrorShieldIconTex" OutName="mirror_shield_icon" Format="rgba32" Width="32" Height="32" Offset="0x40000"/> <Texture Name="gItemIconShieldMirrorTex" OutName="mirror_shield_icon" Format="rgba32" Width="32" Height="32" Offset="0x40000"/>
<Texture Name="gKokiriTunicIconTex" OutName="kokiri_tunic_icon" Format="rgba32" Width="32" Height="32" Offset="0x41000"/> <Texture Name="gItemIconTunicKokiriTex" OutName="kokiri_tunic_icon" Format="rgba32" Width="32" Height="32" Offset="0x41000"/>
<Texture Name="gGoronTunicIconTex" OutName="goron_tunic_icon" Format="rgba32" Width="32" Height="32" Offset="0x42000"/> <Texture Name="gItemIconTunicGoronTex" OutName="goron_tunic_icon" Format="rgba32" Width="32" Height="32" Offset="0x42000"/>
<Texture Name="gZoraTunicIconTex" OutName="zora_tunic_icon" Format="rgba32" Width="32" Height="32" Offset="0x43000"/> <Texture Name="gItemIconTunicZoraTex" OutName="zora_tunic_icon" Format="rgba32" Width="32" Height="32" Offset="0x43000"/>
<Texture Name="gKokiriBootsIconTex" OutName="kokiri_boots_icon" Format="rgba32" Width="32" Height="32" Offset="0x44000"/> <Texture Name="gItemIconBootsKokiriTex" OutName="kokiri_boots_icon" Format="rgba32" Width="32" Height="32" Offset="0x44000"/>
<Texture Name="gIronBootsIconTex" OutName="iron_boots_icon" Format="rgba32" Width="32" Height="32" Offset="0x45000"/> <Texture Name="gItemIconBootsIronTex" OutName="iron_boots_icon" Format="rgba32" Width="32" Height="32" Offset="0x45000"/>
<Texture Name="gHoverBootsIconTex" OutName="hover_boots_icon" Format="rgba32" Width="32" Height="32" Offset="0x46000"/> <Texture Name="gItemIconBootsHoverTex" OutName="hover_boots_icon" Format="rgba32" Width="32" Height="32" Offset="0x46000"/>
<Texture Name="gBulletBag30IconTex" OutName="bullet_bag_30_icon" Format="rgba32" Width="32" Height="32" Offset="0x47000"/> <Texture Name="gItemIconBulletBag30Tex" OutName="bullet_bag_30_icon" Format="rgba32" Width="32" Height="32" Offset="0x47000"/>
<Texture Name="gBulletBag40IconTex" OutName="bullet_bag_40_icon" Format="rgba32" Width="32" Height="32" Offset="0x48000"/> <Texture Name="gItemIconBulletBag40Tex" OutName="bullet_bag_40_icon" Format="rgba32" Width="32" Height="32" Offset="0x48000"/>
<Texture Name="gBulletBag50IconTex" OutName="bullet_bag_50_icon" Format="rgba32" Width="32" Height="32" Offset="0x49000"/> <Texture Name="gItemIconBulletBag50Tex" OutName="bullet_bag_50_icon" Format="rgba32" Width="32" Height="32" Offset="0x49000"/>
<Texture Name="gQuiver30IconTex" OutName="quiver_30_icon" Format="rgba32" Width="32" Height="32" Offset="0x4A000"/> <Texture Name="gItemIconQuiver30Tex" OutName="quiver_30_icon" Format="rgba32" Width="32" Height="32" Offset="0x4A000"/>
<Texture Name="gQuiver40IconTex" OutName="quiver_40_icon" Format="rgba32" Width="32" Height="32" Offset="0x4B000"/> <Texture Name="gItemIconQuiver40Tex" OutName="quiver_40_icon" Format="rgba32" Width="32" Height="32" Offset="0x4B000"/>
<Texture Name="gQuiver50IconTex" OutName="quiver_50_icon" Format="rgba32" Width="32" Height="32" Offset="0x4C000"/> <Texture Name="gItemIconQuiver50Tex" OutName="quiver_50_icon" Format="rgba32" Width="32" Height="32" Offset="0x4C000"/>
<Texture Name="gBombBag20IconTex" OutName="bomb_bag_20_icon" Format="rgba32" Width="32" Height="32" Offset="0x4D000"/> <Texture Name="gItemIconBombBag20Tex" OutName="bomb_bag_20_icon" Format="rgba32" Width="32" Height="32" Offset="0x4D000"/>
<Texture Name="gBombBag30IconTex" OutName="bomb_bag_30_icon" Format="rgba32" Width="32" Height="32" Offset="0x4E000"/> <Texture Name="gItemIconBombBag30Tex" OutName="bomb_bag_30_icon" Format="rgba32" Width="32" Height="32" Offset="0x4E000"/>
<Texture Name="gBombBag40IconTex" OutName="bomb_bag_40_icon" Format="rgba32" Width="32" Height="32" Offset="0x4F000"/> <Texture Name="gItemIconBombBag40Tex" OutName="bomb_bag_40_icon" Format="rgba32" Width="32" Height="32" Offset="0x4F000"/>
<Texture Name="gGoronsBraceletIconTex" OutName="gorons_bracelet_icon" Format="rgba32" Width="32" Height="32" Offset="0x50000"/> <Texture Name="gItemIconGoronsBraceletTex" OutName="gorons_bracelet_icon" Format="rgba32" Width="32" Height="32" Offset="0x50000"/>
<Texture Name="gSilverGauntletsIconTex" OutName="silver_gauntlets_icon" Format="rgba32" Width="32" Height="32" Offset="0x51000"/> <Texture Name="gItemIconSilverGauntletsTex" OutName="silver_gauntlets_icon" Format="rgba32" Width="32" Height="32" Offset="0x51000"/>
<Texture Name="gGoldenGauntletsIconTex" OutName="golden_gauntlets_icon" Format="rgba32" Width="32" Height="32" Offset="0x52000"/> <Texture Name="gItemIconGoldenGauntletsTex" OutName="golden_gauntlets_icon" Format="rgba32" Width="32" Height="32" Offset="0x52000"/>
<Texture Name="gSilverScaleIconTex" OutName="silver_scale_icon" Format="rgba32" Width="32" Height="32" Offset="0x53000"/> <Texture Name="gItemIconScaleSilverTex" OutName="silver_scale_icon" Format="rgba32" Width="32" Height="32" Offset="0x53000"/>
<Texture Name="gGoldenScaleIconTex" OutName="golden_scale_icon" Format="rgba32" Width="32" Height="32" Offset="0x54000"/> <Texture Name="gItemIconScaleGoldenTex" OutName="golden_scale_icon" Format="rgba32" Width="32" Height="32" Offset="0x54000"/>
<Texture Name="gBrokenGiantsKnifeIconTex" OutName="broken_giants_knife_icon" Format="rgba32" Width="32" Height="32" Offset="0x55000"/> <Texture Name="gItemIconBrokenGiantsKnifeTex" OutName="broken_giants_knife_icon" Format="rgba32" Width="32" Height="32" Offset="0x55000"/>
<Texture Name="gAdultsWalletIconTex" OutName="adults_wallet_icon" Format="rgba32" Width="32" Height="32" Offset="0x56000"/> <Texture Name="gItemIconAdultsWalletTex" OutName="adults_wallet_icon" Format="rgba32" Width="32" Height="32" Offset="0x56000"/>
<Texture Name="gGiantsWalletIconTex" OutName="giants_wallet_icon" Format="rgba32" Width="32" Height="32" Offset="0x57000"/> <Texture Name="gItemIconGiantsWalletTex" OutName="giants_wallet_icon" Format="rgba32" Width="32" Height="32" Offset="0x57000"/>
<Texture Name="gDekuSeedsIconTex" OutName="deku_seeds_icon" Format="rgba32" Width="32" Height="32" Offset="0x58000"/> <Texture Name="gItemIconDekuSeedsTex" OutName="deku_seeds_icon" Format="rgba32" Width="32" Height="32" Offset="0x58000"/>
<Texture Name="gFishingPoleIconTex" OutName="fishing_pole_icon" Format="rgba32" Width="32" Height="32" Offset="0x59000"/> <Texture Name="gItemIconFishingPoleTex" OutName="fishing_pole_icon" Format="rgba32" Width="32" Height="32" Offset="0x59000"/>
<Texture Name="gHeartPieceIcon1Tex" OutName="heart_piece_icon_1" Format="ia8" Width="48" Height="48" Offset="0x5A000"/> <Texture Name="gHeartPieceIcon1Tex" OutName="heart_piece_icon_1" Format="ia8" Width="48" Height="48" Offset="0x5A000"/>
<Texture Name="gHeartPieceIcon2Tex" OutName="heart_piece_icon_2" Format="ia8" Width="48" Height="48" Offset="0x5A900"/> <Texture Name="gHeartPieceIcon2Tex" OutName="heart_piece_icon_2" Format="ia8" Width="48" Height="48" Offset="0x5A900"/>
<Texture Name="gHeartPieceIcon3Tex" OutName="heart_piece_icon_3" Format="ia8" Width="48" Height="48" Offset="0x5B200"/> <Texture Name="gHeartPieceIcon3Tex" OutName="heart_piece_icon_3" Format="ia8" Width="48" Height="48" Offset="0x5B200"/>

View file

@ -23,11 +23,11 @@
<Texture Name="gMapChestIconTex" OutName="map_chest_icon" Format="rgba16" Width="8" Height="8" Offset="0x2580"/> <Texture Name="gMapChestIconTex" OutName="map_chest_icon" Format="rgba16" Width="8" Height="8" Offset="0x2580"/>
<Texture Name="gArcheryScoreIconTex" OutName="archery_score_icon" Format="rgba16" Width="24" Height="16" Offset="0x2600"/> <Texture Name="gArcheryScoreIconTex" OutName="archery_score_icon" Format="rgba16" Width="24" Height="16" Offset="0x2600"/>
<Texture Name="gMapBossIconTex" OutName="map_boss_icon" Format="ia8" Width="8" Height="8" Offset="0x2900"/> <Texture Name="gMapBossIconTex" OutName="map_boss_icon" Format="ia8" Width="8" Height="8" Offset="0x2900"/>
<Texture Name="gOcarinaATex" OutName="ocarina_a" Format="ia8" Width="16" Height="16" Offset="0x2940"/> <Texture Name="gOcarinaBtnIconATex" OutName="ocarina_a" Format="ia8" Width="16" Height="16" Offset="0x2940"/>
<Texture Name="gOcarinaCDownTex" OutName="ocarina_c_down" Format="ia8" Width="16" Height="16" Offset="0x2A40"/> <Texture Name="gOcarinaBtnIconCDownTex" OutName="ocarina_c_down" Format="ia8" Width="16" Height="16" Offset="0x2A40"/>
<Texture Name="gOcarinaCRightTex" OutName="ocarina_c_right" Format="ia8" Width="16" Height="16" Offset="0x2B40"/> <Texture Name="gOcarinaBtnIconCRightTex" OutName="ocarina_c_right" Format="ia8" Width="16" Height="16" Offset="0x2B40"/>
<Texture Name="gOcarinaCLeftTex" OutName="ocarina_c_left" Format="ia8" Width="16" Height="16" Offset="0x2C40"/> <Texture Name="gOcarinaBtnIconCLeftTex" OutName="ocarina_c_left" Format="ia8" Width="16" Height="16" Offset="0x2C40"/>
<Texture Name="gOcarinaCUpTex" OutName="ocarina_c_up" Format="ia8" Width="16" Height="16" Offset="0x2D40"/> <Texture Name="gOcarinaBtnIconCUpTex" OutName="ocarina_c_up" Format="ia8" Width="16" Height="16" Offset="0x2D40"/>
<Texture Name="gOcarinaTrebleClefTex" OutName="ocarina_treble_clef" Format="i4" Width="16" Height="32" Offset="0x2E40"/> <Texture Name="gOcarinaTrebleClefTex" OutName="ocarina_treble_clef" Format="i4" Width="16" Height="32" Offset="0x2E40"/>
<Texture Name="gNaviCUpJPTex" OutName="navi_c_up_jp" Format="ia4" Width="32" Height="8" Offset="0x2F40"/> <Texture Name="gNaviCUpJPTex" OutName="navi_c_up_jp" Format="ia4" Width="32" Height="8" Offset="0x2F40"/>
<Texture Name="gNaviCUpENGTex" OutName="navi_c_up_eng" Format="ia4" Width="32" Height="8" Offset="0x2FC0"/> <Texture Name="gNaviCUpENGTex" OutName="navi_c_up_eng" Format="ia4" Width="32" Height="8" Offset="0x2FC0"/>

View file

@ -99,7 +99,7 @@
#define R_TEXTBOX_HEIGHT YREG(23) #define R_TEXTBOX_HEIGHT YREG(23)
#define R_TEXTBOX_ICON_XPOS YREG(71) #define R_TEXTBOX_ICON_XPOS YREG(71)
#define R_TEXTBOX_ICON_YPOS YREG(72) #define R_TEXTBOX_ICON_YPOS YREG(72)
#define R_TEXTBOX_ICON_SIZE YREG(75) #define R_TEXTBOX_ICON_DIMENSION YREG(75)
#define R_MESSAGE_DEBUGGER_SELECT YREG(78) #define R_MESSAGE_DEBUGGER_SELECT YREG(78)
#define R_MESSAGE_DEBUGGER_TEXTID YREG(79) #define R_MESSAGE_DEBUGGER_TEXTID YREG(79)
#define R_C_UP_ICON_X YREG(88) #define R_C_UP_ICON_X YREG(88)

View file

@ -1,6 +1,34 @@
#ifndef Z64INTERFACE_H #ifndef Z64INTERFACE_H
#define Z64INTERFACE_H #define Z64INTERFACE_H
extern u8 _icon_item_staticSegmentRomStart[];
extern u8 _icon_item_24_staticSegmentRomStart[];
// An "item icon" (gItemIcon*Tex) is 32x32 rgba32
#define ITEM_ICON_WIDTH 32
#define ITEM_ICON_HEIGHT 32
#define ITEM_ICON_SIZE (ITEM_ICON_WIDTH * ITEM_ICON_HEIGHT * 4) // The size in bytes of an item icon
/**
* Get the VROM address of the item icon for the specified item.
*
* @param itemId An ItemId value in the range `ITEM_DEKU_STICK`..`ITEM_FISHING_POLE`
*/
#define GET_ITEM_ICON_VROM(itemId) ((uintptr_t)_icon_item_staticSegmentRomStart + ((itemId)*ITEM_ICON_SIZE))
// A "quest icon" (gQuestIcon*Tex) is 24x24 rgba32
#define QUEST_ICON_WIDTH 24
#define QUEST_ICON_HEIGHT 24
#define QUEST_ICON_SIZE (QUEST_ICON_WIDTH * QUEST_ICON_HEIGHT * 4) // The size in bytes of a quest icon
/**
* Get the VROM address of the quest icon for the specified item.
*
* @param itemId An ItemId value in the range `ITEM_MEDALLION_FOREST`..`ITEM_MAGIC_JAR_BIG`
*/
#define GET_QUEST_ICON_VROM(itemId) \
((uintptr_t)_icon_item_24_staticSegmentRomStart + (((itemId)-ITEM_MEDALLION_FOREST) * QUEST_ICON_SIZE))
/** /**
* Button HUD Positions (Upper Left) * Button HUD Positions (Upper Left)
*/ */

View file

@ -1,14 +1,6 @@
#ifndef Z64ITEM_H #ifndef Z64ITEM_H
#define Z64ITEM_H #define Z64ITEM_H
#define ICON_ITEM_TEX_WIDTH 32
#define ICON_ITEM_TEX_HEIGHT 32
#define ICON_ITEM_TEX_SIZE ((ICON_ITEM_TEX_WIDTH * ICON_ITEM_TEX_HEIGHT) * 4) // 32x32 RGBA32 texture
#define ICON_ITEM_24_TEX_WIDTH 24
#define ICON_ITEM_24_TEX_HEIGHT 24
#define ICON_ITEM_24_TEX_SIZE ((ICON_ITEM_24_TEX_WIDTH * ICON_ITEM_24_TEX_HEIGHT) * 4) // 24x24 RGBA32 texture
// Note that z_kaleido_scope_PAL.c assumes that the dimensions and texture format here also matches the dimensions and // Note that z_kaleido_scope_PAL.c assumes that the dimensions and texture format here also matches the dimensions and
// texture format for MAP_NAME_TEX1_* // texture format for MAP_NAME_TEX1_*
#define ITEM_NAME_TEX_WIDTH 128 #define ITEM_NAME_TEX_WIDTH 128

View file

@ -78,136 +78,141 @@ u32 gGsFlagsMasks[] = { 0x000000FF, 0x0000FF00, 0x00FF0000, 0xFF000000 };
u32 gGsFlagsShifts[] = { 0, 8, 16, 24 }; u32 gGsFlagsShifts[] = { 0, 8, 16, 24 };
void* gItemIcons[] = { void* gItemIcons[] = {
gDekuStickIconTex, // icon_item_static 32x32 rgba32
gDekuNutIconTex, gItemIconDekuStickTex, // ITEM_DEKU_STICK
gBombIconTex, gItemIconDekuNutTex, // ITEM_DEKU_NUT
gFairyBowIconTex, gItemIconBombTex, // ITEM_BOMB
gFireArrowIconTex, gItemIconBowTex, // ITEM_BOW
gDinsFireIconTex, gItemIconArrowFireTex, // ITEM_ARROW_FIRE
gFairySlingshotIconTex, gItemIconDinsFireTex, // ITEM_DINS_FIRE
gFairyOcarinaIconTex, gItemIconSlingshotTex, // ITEM_SLINGSHOT
gOcarinaofTimeIconTex, gItemIconOcarinaFairyTex, // ITEM_OCARINA_FAIRY
gBombchuIconTex, gItemIconOcarinaOfTimeTex, // ITEM_OCARINA_OF_TIME
gHookshotIconTex, gItemIconBombchuTex, // ITEM_BOMBCHU
gLongshotIconTex, gItemIconHookshotTex, // ITEM_HOOKSHOT
gIceArrowIconTex, gItemIconLongshotTex, // ITEM_LONGSHOT
gFaroresWindIconTex, gItemIconArrowIceTex, // ITEM_ARROW_ICE
gBoomerangIconTex, gItemIconFaroresWindTex, // ITEM_FARORES_WIND
gLensofTruthIconTex, gItemIconBoomerangTex, // ITEM_BOOMERANG
gMagicBeansIconTex, gItemIconLensOfTruthTex, // ITEM_LENS_OF_TRUTH
gMegatonHammerIconTex, gItemIconMagicBeanTex, // ITEM_MAGIC_BEAN
gLightArrowIconTex, gItemIconHammerTex, // ITEM_HAMMER
gNayrusLoveIconTex, gItemIconArrowLightTex, // ITEM_ARROW_LIGHT
gEmptyBottleIconTex, gItemIconNayrusLoveTex, // ITEM_NAYRUS_LOVE
gRedPotionIconTex, gItemIconBottleEmptyTex, // ITEM_BOTTLE_EMPTY
gGreenPotionIconTex, gItemIconBottlePotionRedTex, // ITEM_BOTTLE_POTION_RED
gBluePotionIconTex, gItemIconBottlePotionGreenTex, // ITEM_BOTTLE_POTION_GREEN
gBottledFairyIconTex, gItemIconBottlePotionBlueTex, // ITEM_BOTTLE_POTION_BLUE
gFishIconTex, gItemIconBottleFairyTex, // ITEM_BOTTLE_FAIRY
gMilkFullIconTex, gItemIconBottleFishTex, // ITEM_BOTTLE_FISH
gRutosLetterIconTex, gItemIconBottleMilkFullTex, // ITEM_BOTTLE_MILK_FULL
gBlueFireIconTex, gItemIconBottleRutosLetterTex, // ITEM_BOTTLE_RUTOS_LETTER
gBugIconTex, gItemIconBottleBlueFireTex, // ITEM_BOTTLE_BLUE_FIRE
gBigPoeIconTex, gItemIconBottleBugTex, // ITEM_BOTTLE_BUG
gMilkhalfIconTex, gItemIconBottleBigPoeTex, // ITEM_BOTTLE_BIG_POE
gPoeIconTex, gItemIconBottleMilkHalfTex, // ITEM_BOTTLE_MILK_HALF
gWeirdEggIconTex, gItemIconBottlePoeTex, // ITEM_BOTTLE_POE
gCuccoIconTex, gItemIconWeirdEggTex, // ITEM_WEIRD_EGG
gZeldasLetterIconTex, gItemIconChickenTex, // ITEM_CHICKEN
gKeatonMaskIconTex, gItemIconZeldasLetterTex, // ITEM_ZELDAS_LETTER
gSkullMaskIconTex, gItemIconMaskKeatonTex, // ITEM_MASK_KEATON
gSpookyMaskIconTex, gItemIconMaskSkullTex, // ITEM_MASK_SKULL
gBunnyHoodIconTex, gItemIconMaskSpookyTex, // ITEM_MASK_SPOOKY
gGoronMaskIconTex, gItemIconMaskBunnyHoodTex, // ITEM_MASK_BUNNY_HOOD
gZoraMaskIconTex, gItemIconMaskGoronTex, // ITEM_MASK_GORON
gGerudoMaskIconTex, gItemIconMaskZoraTex, // ITEM_MASK_ZORA
gMaskofTruthIconTex, gItemIconMaskGerudoTex, // ITEM_MASK_GERUDO
gSoldOutIconTex, gItemIconMaskTruthTex, // ITEM_MASK_TRUTH
gPocketEggIconTex, gItemIconSoldOutTex, // ITEM_SOLD_OUT
gPocketCuccoIconTex, gItemIconPocketEggTex, // ITEM_POCKET_EGG
gCojiroIconTex, gItemIconPocketCuccoTex, // ITEM_POCKET_CUCCO
gOddMushroomIconTex, gItemIconCojiroTex, // ITEM_COJIRO
gOddPotionIconTex, gItemIconOddMushroomTex, // ITEM_ODD_MUSHROOM
gPoachersSawIconTex, gItemIconOddPotionTex, // ITEM_ODD_POTION
gBrokenBiggoronSwordIconTex, gItemIconPoachersSawTex, // ITEM_POACHERS_SAW
gPrescriptionIconTex, gItemIconBrokenGoronsSwordTex, // ITEM_BROKEN_GORONS_SWORD
gEyeBallFrogIconTex, gItemIconPrescriptionTex, // ITEM_PRESCRIPTION
gEyeDropsIconTex, gItemIconEyeballFrogTex, // ITEM_EYEBALL_FROG
gClaimCheckIconTex, gItemIconEyeDropsTex, // ITEM_EYE_DROPS
gFairyBowFireIconTex, gItemIconClaimCheckTex, // ITEM_CLAIM_CHECK
gFairyBowIceIconTex, gItemIconBowFireTex, // ITEM_BOW_FIRE
gFairyBowLightIconTex, gItemIconBowIceTex, // ITEM_BOW_ICE
gKokiriSwordIconTex, gItemIconBowLightTex, // ITEM_BOW_LIGHT
gMasterSwordIconTex, gItemIconSwordKokiriTex, // ITEM_SWORD_KOKIRI
gBiggoronSwordIconTex, gItemIconSwordMasterTex, // ITEM_SWORD_MASTER
gDekuShieldIconTex, gItemIconSwordBiggoronTex, // ITEM_SWORD_BIGGORON
gHylianShieldIconTex, gItemIconShieldDekuTex, // ITEM_SHIELD_DEKU
gMirrorShieldIconTex, gItemIconShieldHylianTex, // ITEM_SHIELD_HYLIAN
gKokiriTunicIconTex, gItemIconShieldMirrorTex, // ITEM_SHIELD_MIRROR
gGoronTunicIconTex, gItemIconTunicKokiriTex, // ITEM_TUNIC_KOKIRI
gZoraTunicIconTex, gItemIconTunicGoronTex, // ITEM_TUNIC_GORON
gKokiriBootsIconTex, gItemIconTunicZoraTex, // ITEM_TUNIC_ZORA
gIronBootsIconTex, gItemIconBootsKokiriTex, // ITEM_BOOTS_KOKIRI
gHoverBootsIconTex, gItemIconBootsIronTex, // ITEM_BOOTS_IRON
gBulletBag30IconTex, gItemIconBootsHoverTex, // ITEM_BOOTS_HOVER
gBulletBag40IconTex, gItemIconBulletBag30Tex, // ITEM_BULLET_BAG_30
gBulletBag50IconTex, gItemIconBulletBag40Tex, // ITEM_BULLET_BAG_40
gQuiver30IconTex, gItemIconBulletBag50Tex, // ITEM_BULLET_BAG_50
gQuiver40IconTex, gItemIconQuiver30Tex, // ITEM_QUIVER_30
gQuiver50IconTex, gItemIconQuiver40Tex, // ITEM_QUIVER_40
gBombBag20IconTex, gItemIconQuiver50Tex, // ITEM_QUIVER_50
gBombBag30IconTex, gItemIconBombBag20Tex, // ITEM_BOMB_BAG_20
gBombBag40IconTex, gItemIconBombBag30Tex, // ITEM_BOMB_BAG_30
gGoronsBraceletIconTex, gItemIconBombBag40Tex, // ITEM_BOMB_BAG_40
gSilverGauntletsIconTex, gItemIconGoronsBraceletTex, // ITEM_STRENGTH_GORONS_BRACELET
gGoldenGauntletsIconTex, gItemIconSilverGauntletsTex, // ITEM_STRENGTH_SILVER_GAUNTLETS
gSilverScaleIconTex, gItemIconGoldenGauntletsTex, // ITEM_STRENGTH_GOLD_GAUNTLETS
gGoldenScaleIconTex, gItemIconScaleSilverTex, // ITEM_SCALE_SILVER
gBrokenGiantsKnifeIconTex, gItemIconScaleGoldenTex, // ITEM_SCALE_GOLDEN
gAdultsWalletIconTex, gItemIconBrokenGiantsKnifeTex, // ITEM_GIANTS_KNIFE
gGiantsWalletIconTex, gItemIconAdultsWalletTex, // ITEM_ADULTS_WALLET
gDekuSeedsIconTex, gItemIconGiantsWalletTex, // ITEM_GIANTS_WALLET
gFishingPoleIconTex, gItemIconDekuSeedsTex, // ITEM_DEKU_SEEDS
gSongNoteTex, gItemIconFishingPoleTex, // ITEM_FISHING_POLE
gSongNoteTex, // icon_item_static 16x24 ia8
gSongNoteTex, gSongNoteTex, // ITEM_SONG_MINUET
gSongNoteTex, gSongNoteTex, // ITEM_SONG_BOLERO
gSongNoteTex, gSongNoteTex, // ITEM_SONG_SERENADE
gSongNoteTex, gSongNoteTex, // ITEM_SONG_REQUIEM
gSongNoteTex, gSongNoteTex, // ITEM_SONG_NOCTURNE
gSongNoteTex, gSongNoteTex, // ITEM_SONG_PRELUDE
gSongNoteTex, gSongNoteTex, // ITEM_SONG_LULLABY
gSongNoteTex, gSongNoteTex, // ITEM_SONG_EPONA
gSongNoteTex, gSongNoteTex, // ITEM_SONG_SARIA
gSongNoteTex, gSongNoteTex, // ITEM_SONG_SUN
gForestMedallionIconTex, gSongNoteTex, // ITEM_SONG_TIME
gFireMedallionIconTex, gSongNoteTex, // ITEM_SONG_STORMS
gWaterMedallionIconTex, // icon_item_24static 24x24 rgba32
gSpiritMedallionIconTex, gQuestIconMedallionForestTex, // ITEM_MEDALLION_FOREST
gShadowMedallionIconTex, gQuestIconMedallionFireTex, // ITEM_MEDALLION_FIRE
gLightMedallionIconTex, gQuestIconMedallionWaterTex, // ITEM_MEDALLION_WATER
gKokiriEmeraldIconTex, gQuestIconMedallionSpiritTex, // ITEM_MEDALLION_SPIRIT
gGoronRubyIconTex, gQuestIconMedallionShadowTex, // ITEM_MEDALLION_SHADOW
gZoraSapphireIconTex, gQuestIconMedallionLightTex, // ITEM_MEDALLION_LIGHT
gStoneOfAgonyIconTex, gQuestIconKokiriEmeraldTex, // ITEM_KOKIRI_EMERALD
gGerudosCardIconTex, gQuestIconGoronRubyTex, // ITEM_GORON_RUBY
gGoldSkulltulaIconTex, gQuestIconZoraSapphireTex, // ITEM_ZORA_SAPPHIRE
gHeartContainerIconTex, gQuestIconStoneOfAgonyTex, // ITEM_STONE_OF_AGONY
gUnusedPieceOfHeartIconTex, gQuestIconGerudosCardTex, // ITEM_GERUDOS_CARD
gBossKeyIconTex, gQuestIconGoldSkulltulaTex, // ITEM_SKULL_TOKEN
gDungeonMapIconTex, gQuestIconHeartContainerTex, // ITEM_HEART_CONTAINER
gCompassIconTex, gQuestIconHeartPieceTex, // ITEM_HEART_PIECE
gBossKeyIconTex, gQuestIconDungeonBossKeyTex, // ITEM_DUNGEON_BOSS_KEY
gSmallMagicJarIconTex, gQuestIconDungeonMapTex, // ITEM_DUNGEON_COMPASS (swapped with map (inconsequential))
gBigMagicJarIconTex, gQuestIconDungeonCompassTex, // ITEM_DUNGEON_MAP (swapped with compass (inconsequential))
gHeartPieceIcon1Tex, gQuestIconDungeonBossKeyTex, // ITEM_SMALL_KEY (but texture is boss key (inconsequential))
gHeartPieceIcon2Tex, gQuestIconMagicJarSmallTex, // ITEM_MAGIC_JAR_SMALL
gHeartPieceIcon3Tex, gQuestIconMagicJarBigTex, // ITEM_MAGIC_JAR_BIG
gOcarinaCUpTex, // icon_item_static 48x48 ia8
gOcarinaCDownTex, gHeartPieceIcon1Tex, // ITEM_HEART_PIECE_2
gOcarinaCLeftTex, gHeartPieceIcon2Tex, // ITEM_INVALID_1
gOcarinaCRightTex, gHeartPieceIcon3Tex, // ITEM_INVALID_2
gOcarinaATex, // parameter_static 16x16 ia8
gOcarinaBtnIconCUpTex, // ITEM_INVALID_3
gOcarinaBtnIconCDownTex, // ITEM_INVALID_4
gOcarinaBtnIconCLeftTex, // ITEM_INVALID_5
gOcarinaBtnIconCRightTex, // ITEM_INVALID_6
gOcarinaBtnIconATex, // ITEM_INVALID_7
}; };
// Used to map item IDs to inventory slots // Used to map item IDs to inventory slots

View file

@ -4,6 +4,8 @@ void Interface_Destroy(PlayState* play) {
Map_Destroy(play); Map_Destroy(play);
} }
#define ICON_ITEM_SEGMENT_SIZE (4 * ITEM_ICON_SIZE)
void Interface_Init(PlayState* play) { void Interface_Init(PlayState* play) {
InterfaceContext* interfaceCtx = &play->interfaceCtx; InterfaceContext* interfaceCtx = &play->interfaceCtx;
u32 parameterSize; u32 parameterSize;
@ -70,10 +72,10 @@ void Interface_Init(PlayState* play) {
(uintptr_t)_do_action_staticSegmentRomStart + doActionOffset, DO_ACTION_TEX_SIZE, (uintptr_t)_do_action_staticSegmentRomStart + doActionOffset, DO_ACTION_TEX_SIZE,
"../z_construct.c", 178); "../z_construct.c", 178);
interfaceCtx->iconItemSegment = GameState_Alloc(&play->state, 4 * ICON_ITEM_TEX_SIZE, "../z_construct.c", 190); interfaceCtx->iconItemSegment = GameState_Alloc(&play->state, ICON_ITEM_SEGMENT_SIZE, "../z_construct.c", 190);
// "Icon Item Texture Initialization = %x" // "Icon Item Texture Initialization = %x"
osSyncPrintf("アイコンアイテム テクスチャ初期=%x\n", 4 * ICON_ITEM_TEX_SIZE); osSyncPrintf("アイコンアイテム テクスチャ初期=%x\n", ICON_ITEM_SEGMENT_SIZE);
osSyncPrintf("parameter->icon_itemSegment=%x\n", interfaceCtx->iconItemSegment); osSyncPrintf("parameter->icon_itemSegment=%x\n", interfaceCtx->iconItemSegment);
ASSERT(interfaceCtx->iconItemSegment != NULL, "parameter->icon_itemSegment != NULL", "../z_construct.c", 193); ASSERT(interfaceCtx->iconItemSegment != NULL, "parameter->icon_itemSegment != NULL", "../z_construct.c", 193);
@ -83,36 +85,31 @@ void Interface_Init(PlayState* play) {
gSaveContext.equips.buttonItems[3]); gSaveContext.equips.buttonItems[3]);
if (gSaveContext.equips.buttonItems[0] < 0xF0) { if (gSaveContext.equips.buttonItems[0] < 0xF0) {
DmaMgr_RequestSyncDebug(interfaceCtx->iconItemSegment, DmaMgr_RequestSyncDebug(interfaceCtx->iconItemSegment + (0 * ITEM_ICON_SIZE),
(uintptr_t)_icon_item_staticSegmentRomStart + GET_ITEM_ICON_VROM(gSaveContext.equips.buttonItems[0]), ITEM_ICON_SIZE,
gSaveContext.equips.buttonItems[0] * ICON_ITEM_TEX_SIZE, "../z_construct.c", 198);
ICON_ITEM_TEX_SIZE, "../z_construct.c", 198);
} else if (gSaveContext.equips.buttonItems[0] != 0xFF) { } else if (gSaveContext.equips.buttonItems[0] != 0xFF) {
DmaMgr_RequestSyncDebug(interfaceCtx->iconItemSegment, DmaMgr_RequestSyncDebug(interfaceCtx->iconItemSegment + (0 * ITEM_ICON_SIZE),
(uintptr_t)_icon_item_staticSegmentRomStart + GET_ITEM_ICON_VROM(gSaveContext.equips.buttonItems[0]), ITEM_ICON_SIZE,
gSaveContext.equips.buttonItems[0] * ICON_ITEM_TEX_SIZE, "../z_construct.c", 203);
ICON_ITEM_TEX_SIZE, "../z_construct.c", 203);
} }
if (gSaveContext.equips.buttonItems[1] < 0xF0) { if (gSaveContext.equips.buttonItems[1] < 0xF0) {
DmaMgr_RequestSyncDebug(interfaceCtx->iconItemSegment + ICON_ITEM_TEX_SIZE, DmaMgr_RequestSyncDebug(interfaceCtx->iconItemSegment + (1 * ITEM_ICON_SIZE),
(uintptr_t)_icon_item_staticSegmentRomStart + GET_ITEM_ICON_VROM(gSaveContext.equips.buttonItems[1]), ITEM_ICON_SIZE,
gSaveContext.equips.buttonItems[1] * ICON_ITEM_TEX_SIZE, "../z_construct.c", 209);
ICON_ITEM_TEX_SIZE, "../z_construct.c", 209);
} }
if (gSaveContext.equips.buttonItems[2] < 0xF0) { if (gSaveContext.equips.buttonItems[2] < 0xF0) {
DmaMgr_RequestSyncDebug(interfaceCtx->iconItemSegment + 2 * ICON_ITEM_TEX_SIZE, DmaMgr_RequestSyncDebug(interfaceCtx->iconItemSegment + (2 * ITEM_ICON_SIZE),
(uintptr_t)_icon_item_staticSegmentRomStart + GET_ITEM_ICON_VROM(gSaveContext.equips.buttonItems[2]), ITEM_ICON_SIZE,
gSaveContext.equips.buttonItems[2] * ICON_ITEM_TEX_SIZE, "../z_construct.c", 214);
ICON_ITEM_TEX_SIZE, "../z_construct.c", 214);
} }
if (gSaveContext.equips.buttonItems[3] < 0xF0) { if (gSaveContext.equips.buttonItems[3] < 0xF0) {
DmaMgr_RequestSyncDebug(interfaceCtx->iconItemSegment + 3 * ICON_ITEM_TEX_SIZE, DmaMgr_RequestSyncDebug(interfaceCtx->iconItemSegment + (3 * ITEM_ICON_SIZE),
(uintptr_t)_icon_item_staticSegmentRomStart + GET_ITEM_ICON_VROM(gSaveContext.equips.buttonItems[3]), ITEM_ICON_SIZE,
gSaveContext.equips.buttonItems[3] * ICON_ITEM_TEX_SIZE, "../z_construct.c", 219);
ICON_ITEM_TEX_SIZE, "../z_construct.c", 219);
} }
osSyncPrintf("%d\n", ((void)0, gSaveContext.timerState)); osSyncPrintf("%d\n", ((void)0, gSaveContext.timerState));
@ -173,6 +170,9 @@ void Interface_Init(PlayState* play) {
R_A_BTN_COLOR(2) = 50; R_A_BTN_COLOR(2) = 50;
} }
#define TEXTBOX_SEGMENT_SIZE \
(MESSAGE_STATIC_TEX_SIZE + MAX(MAX(ITEM_ICON_SIZE, QUEST_ICON_SIZE), 2 * MESSAGE_TEXTURE_STATIC_TEX_SIZE))
void Message_Init(PlayState* play) { void Message_Init(PlayState* play) {
MessageContext* msgCtx = &play->msgCtx; MessageContext* msgCtx = &play->msgCtx;
s32 pad; s32 pad;
@ -188,15 +188,11 @@ void Message_Init(PlayState* play) {
View_Init(&msgCtx->view, play->state.gfxCtx); View_Init(&msgCtx->view, play->state.gfxCtx);
msgCtx->textboxSegment = msgCtx->textboxSegment = GameState_Alloc(&play->state, TEXTBOX_SEGMENT_SIZE, "../z_construct.c", 349);
GameState_Alloc(&play->state,
MESSAGE_STATIC_TEX_SIZE +
MAX(MAX(ICON_ITEM_TEX_SIZE, ICON_ITEM_24_TEX_SIZE), 2 * MESSAGE_TEXTURE_STATIC_TEX_SIZE),
"../z_construct.c", 349);
osSyncPrintf("message->fukidashiSegment=%x\n", msgCtx->textboxSegment); osSyncPrintf("message->fukidashiSegment=%x\n", msgCtx->textboxSegment);
osSyncPrintf("吹き出しgame_alloc=%x\n", 0x2200); // "Textbox game_alloc=%x" osSyncPrintf("吹き出しgame_alloc=%x\n", TEXTBOX_SEGMENT_SIZE); // "Textbox game_alloc=%x"
ASSERT(msgCtx->textboxSegment != NULL, "message->fukidashiSegment != NULL", "../z_construct.c", 352); ASSERT(msgCtx->textboxSegment != NULL, "message->fukidashiSegment != NULL", "../z_construct.c", 352);
Font_LoadOrderedFont(&play->msgCtx.font); Font_LoadOrderedFont(&play->msgCtx.font);
@ -257,7 +253,7 @@ void Regs_InitDataImpl(void) {
R_TEXTBOX_ICON_YPOS = 10; R_TEXTBOX_ICON_YPOS = 10;
YREG(73) = -8; YREG(73) = -8;
YREG(74) = 8; YREG(74) = 8;
R_TEXTBOX_ICON_SIZE = 24; R_TEXTBOX_ICON_DIMENSION = 24;
YREG(76) = 32; YREG(76) = 32;
YREG(77) = 0; YREG(77) = 0;
R_MESSAGE_DEBUGGER_SELECT = 0; R_MESSAGE_DEBUGGER_SELECT = 0;

View file

@ -755,17 +755,17 @@ u16 Message_DrawItemIcon(PlayState* play, u16 itemId, Gfx** p, u16 i) {
gDPSetPrimColor(gfx++, 0, 0, 255, 255, 255, msgCtx->textColorAlpha); gDPSetPrimColor(gfx++, 0, 0, 255, 255, 255, msgCtx->textColorAlpha);
if (itemId >= ITEM_MEDALLION_FOREST) { if (itemId >= ITEM_MEDALLION_FOREST) {
gDPLoadTextureBlock(gfx++, msgCtx->textboxSegment + MESSAGE_STATIC_TEX_SIZE, G_IM_FMT_RGBA, G_IM_SIZ_32b, 24, gDPLoadTextureBlock(gfx++, msgCtx->textboxSegment + MESSAGE_STATIC_TEX_SIZE, G_IM_FMT_RGBA, G_IM_SIZ_32b,
24, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, QUEST_ICON_WIDTH, QUEST_ICON_HEIGHT, 0, G_TX_NOMIRROR | G_TX_WRAP,
G_TX_NOLOD, G_TX_NOLOD); G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
} else { } else {
gDPLoadTextureBlock(gfx++, msgCtx->textboxSegment + MESSAGE_STATIC_TEX_SIZE, G_IM_FMT_RGBA, G_IM_SIZ_32b, 32, gDPLoadTextureBlock(gfx++, msgCtx->textboxSegment + MESSAGE_STATIC_TEX_SIZE, G_IM_FMT_RGBA, G_IM_SIZ_32b,
32, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, ITEM_ICON_WIDTH, ITEM_ICON_HEIGHT, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP,
G_TX_NOLOD, G_TX_NOLOD); G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
} }
gSPTextureRectangle(gfx++, (msgCtx->textPosX + R_TEXTBOX_ICON_XPOS) << 2, R_TEXTBOX_ICON_YPOS << 2, gSPTextureRectangle(gfx++, (msgCtx->textPosX + R_TEXTBOX_ICON_XPOS) << 2, R_TEXTBOX_ICON_YPOS << 2,
(msgCtx->textPosX + R_TEXTBOX_ICON_XPOS + R_TEXTBOX_ICON_SIZE) << 2, (msgCtx->textPosX + R_TEXTBOX_ICON_XPOS + R_TEXTBOX_ICON_DIMENSION) << 2,
(R_TEXTBOX_ICON_YPOS + R_TEXTBOX_ICON_SIZE) << 2, G_TX_RENDERTILE, 0, 0, 1 << 10, 1 << 10); (R_TEXTBOX_ICON_YPOS + R_TEXTBOX_ICON_DIMENSION) << 2, G_TX_RENDERTILE, 0, 0, 1 << 10, 1 << 10);
gDPPipeSync(gfx++); gDPPipeSync(gfx++);
gDPSetCombineLERP(gfx++, 0, 0, 0, PRIMITIVE, TEXEL0, 0, PRIMITIVE, 0, 0, 0, 0, PRIMITIVE, TEXEL0, 0, PRIMITIVE, 0); gDPSetCombineLERP(gfx++, 0, 0, 0, PRIMITIVE, TEXEL0, 0, PRIMITIVE, 0, 0, 0, 0, PRIMITIVE, TEXEL0, 0, PRIMITIVE, 0);
@ -1164,21 +1164,18 @@ void Message_LoadItemIcon(PlayState* play, u16 itemId, s16 y) {
} }
if (itemId < ITEM_MEDALLION_FOREST) { if (itemId < ITEM_MEDALLION_FOREST) {
R_TEXTBOX_ICON_XPOS = R_TEXT_INIT_XPOS - sIconItem32XOffsets[gSaveContext.language]; R_TEXTBOX_ICON_XPOS = R_TEXT_INIT_XPOS - sIconItem32XOffsets[gSaveContext.language];
R_TEXTBOX_ICON_YPOS = y + 6; R_TEXTBOX_ICON_YPOS = y + ((44 - ITEM_ICON_HEIGHT) / 2);
R_TEXTBOX_ICON_SIZE = 32; R_TEXTBOX_ICON_DIMENSION = ITEM_ICON_WIDTH; // assumes the image is square
DmaMgr_RequestSyncDebug(msgCtx->textboxSegment + MESSAGE_STATIC_TEX_SIZE, DmaMgr_RequestSyncDebug(msgCtx->textboxSegment + MESSAGE_STATIC_TEX_SIZE, GET_ITEM_ICON_VROM(itemId),
(uintptr_t)_icon_item_staticSegmentRomStart + (itemId * ICON_ITEM_TEX_SIZE), ITEM_ICON_SIZE, "../z_message_PAL.c", 1473);
ICON_ITEM_TEX_SIZE, "../z_message_PAL.c", 1473);
// "Item 32-0" // "Item 32-0"
osSyncPrintf("アイテム32-0\n"); osSyncPrintf("アイテム32-0\n");
} else { } else {
R_TEXTBOX_ICON_XPOS = R_TEXT_INIT_XPOS - sIconItem24XOffsets[gSaveContext.language]; R_TEXTBOX_ICON_XPOS = R_TEXT_INIT_XPOS - sIconItem24XOffsets[gSaveContext.language];
R_TEXTBOX_ICON_YPOS = y + 10; R_TEXTBOX_ICON_YPOS = y + ((44 - QUEST_ICON_HEIGHT) / 2);
R_TEXTBOX_ICON_SIZE = 24; R_TEXTBOX_ICON_DIMENSION = QUEST_ICON_WIDTH; // assumes the image is square
DmaMgr_RequestSyncDebug(msgCtx->textboxSegment + MESSAGE_STATIC_TEX_SIZE, DmaMgr_RequestSyncDebug(msgCtx->textboxSegment + MESSAGE_STATIC_TEX_SIZE, GET_QUEST_ICON_VROM(itemId),
(uintptr_t)_icon_item_24_staticSegmentRomStart + QUEST_ICON_SIZE, "../z_message_PAL.c", 1482);
(itemId - ITEM_MEDALLION_FOREST) * ICON_ITEM_24_TEX_SIZE,
ICON_ITEM_24_TEX_SIZE, "../z_message_PAL.c", 1482);
// "Item 24" // "Item 24"
osSyncPrintf("アイテム24%d (%d) {%d}\n", itemId, itemId - ITEM_KOKIRI_EMERALD, 84); osSyncPrintf("アイテム24%d (%d) {%d}\n", itemId, itemId - ITEM_KOKIRI_EMERALD, 84);
} }
@ -1977,7 +1974,11 @@ void Message_DrawMain(PlayState* play, Gfx** p) {
}; };
static s16 sOcarinaEffectActorParams[] = { 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000 }; static s16 sOcarinaEffectActorParams[] = { 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000 };
static void* sOcarinaNoteTextures[] = { static void* sOcarinaNoteTextures[] = {
gOcarinaATex, gOcarinaCDownTex, gOcarinaCRightTex, gOcarinaCLeftTex, gOcarinaCUpTex, gOcarinaBtnIconATex, // OCARINA_BTN_A
gOcarinaBtnIconCDownTex, // OCARINA_BTN_C_DOWN
gOcarinaBtnIconCRightTex, // OCARINA_BTN_C_RIGHT
gOcarinaBtnIconCLeftTex, // OCARINA_BTN_C_LEFT
gOcarinaBtnIconCUpTex, // OCARINA_BTN_C_UP
}; };
static s16 sOcarinaButtonAPrimColors[][3] = { static s16 sOcarinaButtonAPrimColors[][3] = {
{ 80, 255, 150 }, { 80, 255, 150 },

View file

@ -1298,10 +1298,9 @@ void Interface_LoadItemIcon1(PlayState* play, u16 button) {
InterfaceContext* interfaceCtx = &play->interfaceCtx; InterfaceContext* interfaceCtx = &play->interfaceCtx;
osCreateMesgQueue(&interfaceCtx->loadQueue, &interfaceCtx->loadMsg, 1); osCreateMesgQueue(&interfaceCtx->loadQueue, &interfaceCtx->loadMsg, 1);
DmaMgr_RequestAsync(&interfaceCtx->dmaRequest_160, interfaceCtx->iconItemSegment + button * ICON_ITEM_TEX_SIZE, DmaMgr_RequestAsync(&interfaceCtx->dmaRequest_160, interfaceCtx->iconItemSegment + (button * ITEM_ICON_SIZE),
(uintptr_t)_icon_item_staticSegmentRomStart + GET_ITEM_ICON_VROM(gSaveContext.equips.buttonItems[button]), ITEM_ICON_SIZE, 0,
(gSaveContext.equips.buttonItems[button] * ICON_ITEM_TEX_SIZE), &interfaceCtx->loadQueue, NULL, "../z_parameter.c", 1171);
ICON_ITEM_TEX_SIZE, 0, &interfaceCtx->loadQueue, NULL, "../z_parameter.c", 1171);
osRecvMesg(&interfaceCtx->loadQueue, NULL, OS_MESG_BLOCK); osRecvMesg(&interfaceCtx->loadQueue, NULL, OS_MESG_BLOCK);
} }
@ -1309,10 +1308,9 @@ void Interface_LoadItemIcon2(PlayState* play, u16 button) {
InterfaceContext* interfaceCtx = &play->interfaceCtx; InterfaceContext* interfaceCtx = &play->interfaceCtx;
osCreateMesgQueue(&interfaceCtx->loadQueue, &interfaceCtx->loadMsg, 1); osCreateMesgQueue(&interfaceCtx->loadQueue, &interfaceCtx->loadMsg, 1);
DmaMgr_RequestAsync(&interfaceCtx->dmaRequest_180, interfaceCtx->iconItemSegment + button * ICON_ITEM_TEX_SIZE, DmaMgr_RequestAsync(&interfaceCtx->dmaRequest_180, interfaceCtx->iconItemSegment + (button * ITEM_ICON_SIZE),
(uintptr_t)_icon_item_staticSegmentRomStart + GET_ITEM_ICON_VROM(gSaveContext.equips.buttonItems[button]), ITEM_ICON_SIZE, 0,
(gSaveContext.equips.buttonItems[button] * ICON_ITEM_TEX_SIZE), &interfaceCtx->loadQueue, NULL, "../z_parameter.c", 1193);
ICON_ITEM_TEX_SIZE, 0, &interfaceCtx->loadQueue, NULL, "../z_parameter.c", 1193);
osRecvMesg(&interfaceCtx->loadQueue, NULL, OS_MESG_BLOCK); osRecvMesg(&interfaceCtx->loadQueue, NULL, OS_MESG_BLOCK);
} }
@ -3375,8 +3373,8 @@ void Interface_Draw(PlayState* play) {
gSPVertex(OVERLAY_DISP++, &pauseCtx->cursorVtx[16], 4, 0); gSPVertex(OVERLAY_DISP++, &pauseCtx->cursorVtx[16], 4, 0);
gDPLoadTextureBlock(OVERLAY_DISP++, gItemIcons[pauseCtx->equipTargetItem], G_IM_FMT_RGBA, G_IM_SIZ_32b, gDPLoadTextureBlock(OVERLAY_DISP++, gItemIcons[pauseCtx->equipTargetItem], G_IM_FMT_RGBA, G_IM_SIZ_32b,
32, 32, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, ITEM_ICON_WIDTH, ITEM_ICON_HEIGHT, 0, G_TX_NOMIRROR | G_TX_WRAP,
G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
} else { } else {
// Magic Arrow Equip Effect // Magic Arrow Equip Effect
svar1 = pauseCtx->equipTargetItem - 0xBF; svar1 = pauseCtx->equipTargetItem - 0xBF;

View file

@ -1133,7 +1133,7 @@ s32 EnOssan_HasPlayerSelectedItem(PlayState* play, EnOssan* this, Input* input)
case SI_MILK_BOTTLE: case SI_MILK_BOTTLE:
func_80078884(NA_SE_SY_DECIDE); func_80078884(NA_SE_SY_DECIDE);
this->drawCursor = 0; this->drawCursor = 0;
this->stateFlag = OSSAN_STATE_SELECT_ITEM_MILK_BOTTLE; this->stateFlag = OSSAN_STATE_SELECT_ITEM_BOTTLE_MILK_FULL;
return true; return true;
case SI_WEIRD_EGG: case SI_WEIRD_EGG:
func_80078884(NA_SE_SY_DECIDE); func_80078884(NA_SE_SY_DECIDE);
@ -1840,7 +1840,8 @@ void EnOssan_UpdateItemSelectedProperty(EnOssan* this) {
for (i = 0; i < 8; i++) { for (i = 0; i < 8; i++) {
if (temp_a1[0] != NULL) { if (temp_a1[0] != NULL) {
if (this->stateFlag != OSSAN_STATE_SELECT_ITEM && this->stateFlag != OSSAN_STATE_SELECT_ITEM_MILK_BOTTLE && if (this->stateFlag != OSSAN_STATE_SELECT_ITEM &&
this->stateFlag != OSSAN_STATE_SELECT_ITEM_BOTTLE_MILK_FULL &&
this->stateFlag != OSSAN_STATE_SELECT_ITEM_WEIRD_EGG && this->stateFlag != OSSAN_STATE_SELECT_ITEM_WEIRD_EGG &&
this->stateFlag != OSSAN_STATE_SELECT_ITEM_UNIMPLEMENTED && this->stateFlag != OSSAN_STATE_SELECT_ITEM_UNIMPLEMENTED &&
this->stateFlag != OSSAN_STATE_SELECT_ITEM_BOMBS && this->stateFlag != OSSAN_STATE_SELECT_ITEM_MASK && this->stateFlag != OSSAN_STATE_SELECT_ITEM_BOMBS && this->stateFlag != OSSAN_STATE_SELECT_ITEM_MASK &&

View file

@ -108,7 +108,7 @@ typedef enum {
/* 07 */ OSSAN_STATE_BROWSE_RIGHT_SHELF, /* 07 */ OSSAN_STATE_BROWSE_RIGHT_SHELF,
/* 08 */ OSSAN_STATE_LOOK_SHOPKEEPER, // From looking at shelf /* 08 */ OSSAN_STATE_LOOK_SHOPKEEPER, // From looking at shelf
/* 09 */ OSSAN_STATE_SELECT_ITEM, // Select most items /* 09 */ OSSAN_STATE_SELECT_ITEM, // Select most items
/* 10 */ OSSAN_STATE_SELECT_ITEM_MILK_BOTTLE, /* 10 */ OSSAN_STATE_SELECT_ITEM_BOTTLE_MILK_FULL,
/* 11 */ OSSAN_STATE_SELECT_ITEM_WEIRD_EGG, /* 11 */ OSSAN_STATE_SELECT_ITEM_WEIRD_EGG,
/* 12 */ OSSAN_STATE_SELECT_ITEM_UNIMPLEMENTED, // Handles two unfinished shop items /* 12 */ OSSAN_STATE_SELECT_ITEM_UNIMPLEMENTED, // Handles two unfinished shop items
/* 13 */ OSSAN_STATE_SELECT_ITEM_BOMBS, /* 13 */ OSSAN_STATE_SELECT_ITEM_BOMBS,

View file

@ -30,7 +30,11 @@ void KaleidoScope_DrawQuestStatus(PlayState* play, GraphicsContext* gfxCtx) {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
}; };
static void* D_8082A130[] = { static void* D_8082A130[] = {
gOcarinaATex, gOcarinaCDownTex, gOcarinaCRightTex, gOcarinaCLeftTex, gOcarinaCUpTex, gOcarinaBtnIconATex, // OCARINA_BTN_A
gOcarinaBtnIconCDownTex, // OCARINA_BTN_C_DOWN
gOcarinaBtnIconCRightTex, // OCARINA_BTN_C_RIGHT
gOcarinaBtnIconCLeftTex, // OCARINA_BTN_C_LEFT
gOcarinaBtnIconCUpTex, // OCARINA_BTN_C_UP
}; };
static u16 D_8082A144[] = { static u16 D_8082A144[] = {
0xFFCC, 0xFFCC, 0xFFCC, 0xFFCC, 0xFFCC, 0xFFCC, 0xFFCC, 0xFFCC, 0xFFCC, 0xFFCC,
@ -333,7 +337,8 @@ void KaleidoScope_DrawQuestStatus(PlayState* play, GraphicsContext* gfxCtx) {
gDPSetEnvColor(POLY_OPA_DISP++, D_8082A0D8[sp218], D_8082A0E4[sp218], D_8082A0F0[sp218], 0); gDPSetEnvColor(POLY_OPA_DISP++, D_8082A0D8[sp218], D_8082A0E4[sp218], D_8082A0F0[sp218], 0);
gSPVertex(POLY_OPA_DISP++, &pauseCtx->questVtx[sp21A], 4, 0); gSPVertex(POLY_OPA_DISP++, &pauseCtx->questVtx[sp21A], 4, 0);
KaleidoScope_DrawQuadTextureRGBA32(gfxCtx, gItemIcons[ITEM_MEDALLION_FOREST + sp218], 24, 24, 0); KaleidoScope_DrawQuadTextureRGBA32(gfxCtx, gItemIcons[ITEM_MEDALLION_FOREST + sp218], QUEST_ICON_WIDTH,
QUEST_ICON_HEIGHT, 0);
} }
} }
@ -381,7 +386,8 @@ void KaleidoScope_DrawQuestStatus(PlayState* play, GraphicsContext* gfxCtx) {
for (sp218 = 0; sp218 < 3; sp218++, sp21A += 4) { for (sp218 = 0; sp218 < 3; sp218++, sp21A += 4) {
if (CHECK_QUEST_ITEM(QUEST_KOKIRI_EMERALD + sp218)) { if (CHECK_QUEST_ITEM(QUEST_KOKIRI_EMERALD + sp218)) {
gSPVertex(POLY_OPA_DISP++, &pauseCtx->questVtx[sp21A], 4, 0); gSPVertex(POLY_OPA_DISP++, &pauseCtx->questVtx[sp21A], 4, 0);
KaleidoScope_DrawQuadTextureRGBA32(gfxCtx, gItemIcons[ITEM_KOKIRI_EMERALD + sp218], 24, 24, 0); KaleidoScope_DrawQuadTextureRGBA32(gfxCtx, gItemIcons[ITEM_KOKIRI_EMERALD + sp218], QUEST_ICON_WIDTH,
QUEST_ICON_HEIGHT, 0);
} }
} }
@ -392,7 +398,8 @@ void KaleidoScope_DrawQuestStatus(PlayState* play, GraphicsContext* gfxCtx) {
if (CHECK_QUEST_ITEM(QUEST_STONE_OF_AGONY + sp218)) { if (CHECK_QUEST_ITEM(QUEST_STONE_OF_AGONY + sp218)) {
gSPVertex(POLY_OPA_DISP++, &pauseCtx->questVtx[sp21A], 4, 0); gSPVertex(POLY_OPA_DISP++, &pauseCtx->questVtx[sp21A], 4, 0);
gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 255, 255, 255, pauseCtx->alpha); gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 255, 255, 255, pauseCtx->alpha);
KaleidoScope_DrawQuadTextureRGBA32(gfxCtx, gItemIcons[ITEM_STONE_OF_AGONY + sp218], 24, 24, 0); KaleidoScope_DrawQuadTextureRGBA32(gfxCtx, gItemIcons[ITEM_STONE_OF_AGONY + sp218], QUEST_ICON_WIDTH,
QUEST_ICON_HEIGHT, 0);
} }
} }
@ -449,7 +456,7 @@ void KaleidoScope_DrawQuestStatus(PlayState* play, GraphicsContext* gfxCtx) {
POLY_OPA_DISP = KaleidoScope_QuadTextureIA8( POLY_OPA_DISP = KaleidoScope_QuadTextureIA8(
POLY_OPA_DISP, POLY_OPA_DISP,
gItemIcons[0x79 + gItemIcons[ITEM_HEART_PIECE_2 - 1 +
(((gSaveContext.inventory.questItems & 0xF0000000) & 0xF0000000) >> QUEST_HEART_PIECE_COUNT)], (((gSaveContext.inventory.questItems & 0xF0000000) & 0xF0000000) >> QUEST_HEART_PIECE_COUNT)],
48, 48, 0); 48, 48, 0);
} }

View file

@ -555,29 +555,32 @@ void KaleidoScope_DrawEquipment(PlayState* play) {
if (1) {} if (1) {}
if ((point != 0) && (CUR_UPG_VALUE(sChildUpgrades[i]) != 0)) { if ((point != 0) && (CUR_UPG_VALUE(sChildUpgrades[i]) != 0)) {
KaleidoScope_DrawQuadTextureRGBA32(play->state.gfxCtx, KaleidoScope_DrawQuadTextureRGBA32(play->state.gfxCtx,
gItemIcons[sChildUpgradeItemBases[i] + point - 1], 32, 32, 0); gItemIcons[sChildUpgradeItemBases[i] + point - 1], ITEM_ICON_WIDTH,
ITEM_ICON_HEIGHT, 0);
} }
} else { } else {
if ((i == 0) && (CUR_UPG_VALUE(sAdultUpgrades[i]) == 0)) { if ((i == 0) && (CUR_UPG_VALUE(sAdultUpgrades[i]) == 0)) {
KaleidoScope_DrawQuadTextureRGBA32( KaleidoScope_DrawQuadTextureRGBA32(
play->state.gfxCtx, gItemIcons[sChildUpgradeItemBases[i] + CUR_UPG_VALUE(sChildUpgrades[i]) - 1], play->state.gfxCtx, gItemIcons[sChildUpgradeItemBases[i] + CUR_UPG_VALUE(sChildUpgrades[i]) - 1],
32, 32, 0); ITEM_ICON_WIDTH, ITEM_ICON_HEIGHT, 0);
} else if (CUR_UPG_VALUE(sAdultUpgrades[i]) != 0) { } else if (CUR_UPG_VALUE(sAdultUpgrades[i]) != 0) {
KaleidoScope_DrawQuadTextureRGBA32( KaleidoScope_DrawQuadTextureRGBA32(
play->state.gfxCtx, gItemIcons[sAdultUpgradeItemBases[i] + CUR_UPG_VALUE(sAdultUpgrades[i]) - 1], play->state.gfxCtx, gItemIcons[sAdultUpgradeItemBases[i] + CUR_UPG_VALUE(sAdultUpgrades[i]) - 1],
32, 32, 0); ITEM_ICON_WIDTH, ITEM_ICON_HEIGHT, 0);
} }
} }
for (k = 0, bit = rowStart, point = 4; k < 3; k++, point += 4, temp++, bit++) { for (k = 0, bit = rowStart, point = 4; k < 3; k++, point += 4, temp++, bit++) {
if (((u32)i == 0) && (k == 2) && (gSaveContext.bgsFlag != 0)) { if (((u32)i == 0) && (k == 2) && (gSaveContext.bgsFlag != 0)) {
KaleidoScope_DrawQuadTextureRGBA32(play->state.gfxCtx, gBiggoronSwordIconTex, 32, 32, point); KaleidoScope_DrawQuadTextureRGBA32(play->state.gfxCtx, gItemIconSwordBiggoronTex, ITEM_ICON_WIDTH,
ITEM_ICON_HEIGHT, point);
} else if ((i == 0) && (k == 2) && (gBitFlags[bit + 1] & gSaveContext.inventory.equipment)) { } else if ((i == 0) && (k == 2) && (gBitFlags[bit + 1] & gSaveContext.inventory.equipment)) {
KaleidoScope_DrawQuadTextureRGBA32(play->state.gfxCtx, gBrokenGiantsKnifeIconTex, 32, 32, point); KaleidoScope_DrawQuadTextureRGBA32(play->state.gfxCtx, gItemIconBrokenGiantsKnifeTex, ITEM_ICON_WIDTH,
ITEM_ICON_HEIGHT, point);
} else if (gBitFlags[bit] & gSaveContext.inventory.equipment) { } else if (gBitFlags[bit] & gSaveContext.inventory.equipment) {
KaleidoScope_DrawQuadTextureRGBA32(play->state.gfxCtx, gItemIcons[ITEM_SWORD_KOKIRI + temp], 32, 32, KaleidoScope_DrawQuadTextureRGBA32(play->state.gfxCtx, gItemIcons[ITEM_SWORD_KOKIRI + temp],
point); ITEM_ICON_WIDTH, ITEM_ICON_HEIGHT, point);
} }
} }
} }

View file

@ -467,8 +467,8 @@ void KaleidoScope_DrawItemSelect(PlayState* play) {
} }
gSPVertex(POLY_OPA_DISP++, &pauseCtx->itemVtx[j + 0], 4, 0); gSPVertex(POLY_OPA_DISP++, &pauseCtx->itemVtx[j + 0], 4, 0);
KaleidoScope_DrawQuadTextureRGBA32(play->state.gfxCtx, gItemIcons[gSaveContext.inventory.items[i]], 32, 32, KaleidoScope_DrawQuadTextureRGBA32(play->state.gfxCtx, gItemIcons[gSaveContext.inventory.items[i]],
0); ITEM_ICON_WIDTH, ITEM_ICON_HEIGHT, 0);
} }
} }

View file

@ -9,9 +9,9 @@
void KaleidoScope_DrawDungeonMap(PlayState* play, GraphicsContext* gfxCtx) { void KaleidoScope_DrawDungeonMap(PlayState* play, GraphicsContext* gfxCtx) {
static void* dungeonItemTexs[] = { static void* dungeonItemTexs[] = {
gBossKeyIconTex, gQuestIconDungeonBossKeyTex,
gCompassIconTex, gQuestIconDungeonCompassTex,
gDungeonMapIconTex, gQuestIconDungeonMapTex,
}; };
static void* dungeonTitleTexs[] = { static void* dungeonTitleTexs[] = {
gPauseDekuTitleENGTex, gPauseDodongoTitleENGTex, gPauseJabuTitleENGTex, gPauseForestTitleENGTex, gPauseDekuTitleENGTex, gPauseDodongoTitleENGTex, gPauseJabuTitleENGTex, gPauseForestTitleENGTex,
@ -302,7 +302,7 @@ void KaleidoScope_DrawDungeonMap(PlayState* play, GraphicsContext* gfxCtx) {
gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 255, 255, 255, pauseCtx->alpha); gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 255, 255, 255, pauseCtx->alpha);
if (GET_GS_FLAGS(gSaveContext.mapIndex) == gAreaGsFlags[gSaveContext.mapIndex]) { if (GET_GS_FLAGS(gSaveContext.mapIndex) == gAreaGsFlags[gSaveContext.mapIndex]) {
KaleidoScope_DrawQuadTextureRGBA32(gfxCtx, gGoldSkulltulaIconTex, 24, 24, 8); KaleidoScope_DrawQuadTextureRGBA32(gfxCtx, gQuestIconGoldSkulltulaTex, QUEST_ICON_WIDTH, QUEST_ICON_HEIGHT, 8);
} }
if ((play->sceneId >= SCENE_DEKU_TREE) && (play->sceneId <= SCENE_TREASURE_BOX_SHOP)) { if ((play->sceneId >= SCENE_DEKU_TREE) && (play->sceneId <= SCENE_TREASURE_BOX_SHOP)) {

View file

@ -1184,7 +1184,8 @@ void KaleidoScope_DrawInfoPanel(PlayState* play) {
gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 255, 255, 255, pauseCtx->alpha); gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 255, 255, 255, pauseCtx->alpha);
gDPSetEnvColor(POLY_OPA_DISP++, 0, 0, 0, 0); gDPSetEnvColor(POLY_OPA_DISP++, 0, 0, 0, 0);
KaleidoScope_DrawQuadTextureRGBA32(play->state.gfxCtx, gGoldSkulltulaIconTex, 24, 24, 0); KaleidoScope_DrawQuadTextureRGBA32(play->state.gfxCtx, gQuestIconGoldSkulltulaTex, QUEST_ICON_WIDTH,
QUEST_ICON_HEIGHT, 0);
} }
} }
} else if ((pauseCtx->unk_1E4 < 3) || (pauseCtx->unk_1E4 == 7) || (pauseCtx->unk_1E4 == 8)) { } else if ((pauseCtx->unk_1E4 < 3) || (pauseCtx->unk_1E4 == 7) || (pauseCtx->unk_1E4 == 8)) {
@ -2550,7 +2551,8 @@ void KaleidoScope_Update(PlayState* play) {
for (i = 0; i < ARRAY_COUNTU(gItemAgeReqs); i++) { for (i = 0; i < ARRAY_COUNTU(gItemAgeReqs); i++) {
if ((gItemAgeReqs[i] != 9) && (gItemAgeReqs[i] != ((void)0, gSaveContext.linkAge))) { if ((gItemAgeReqs[i] != 9) && (gItemAgeReqs[i] != ((void)0, gSaveContext.linkAge))) {
KaleidoScope_GrayOutTextureRGBA32(SEGMENTED_TO_VIRTUAL(gItemIcons[i]), 0x400); KaleidoScope_GrayOutTextureRGBA32(SEGMENTED_TO_VIRTUAL(gItemIcons[i]),
ITEM_ICON_WIDTH * ITEM_ICON_HEIGHT);
} }
} }