mirror of
https://github.com/zeldaret/oot.git
synced 2025-07-04 15:04:31 +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:
parent
c420885513
commit
880e7c937c
17 changed files with 369 additions and 336 deletions
|
@ -78,136 +78,141 @@ u32 gGsFlagsMasks[] = { 0x000000FF, 0x0000FF00, 0x00FF0000, 0xFF000000 };
|
|||
u32 gGsFlagsShifts[] = { 0, 8, 16, 24 };
|
||||
|
||||
void* gItemIcons[] = {
|
||||
gDekuStickIconTex,
|
||||
gDekuNutIconTex,
|
||||
gBombIconTex,
|
||||
gFairyBowIconTex,
|
||||
gFireArrowIconTex,
|
||||
gDinsFireIconTex,
|
||||
gFairySlingshotIconTex,
|
||||
gFairyOcarinaIconTex,
|
||||
gOcarinaofTimeIconTex,
|
||||
gBombchuIconTex,
|
||||
gHookshotIconTex,
|
||||
gLongshotIconTex,
|
||||
gIceArrowIconTex,
|
||||
gFaroresWindIconTex,
|
||||
gBoomerangIconTex,
|
||||
gLensofTruthIconTex,
|
||||
gMagicBeansIconTex,
|
||||
gMegatonHammerIconTex,
|
||||
gLightArrowIconTex,
|
||||
gNayrusLoveIconTex,
|
||||
gEmptyBottleIconTex,
|
||||
gRedPotionIconTex,
|
||||
gGreenPotionIconTex,
|
||||
gBluePotionIconTex,
|
||||
gBottledFairyIconTex,
|
||||
gFishIconTex,
|
||||
gMilkFullIconTex,
|
||||
gRutosLetterIconTex,
|
||||
gBlueFireIconTex,
|
||||
gBugIconTex,
|
||||
gBigPoeIconTex,
|
||||
gMilkhalfIconTex,
|
||||
gPoeIconTex,
|
||||
gWeirdEggIconTex,
|
||||
gCuccoIconTex,
|
||||
gZeldasLetterIconTex,
|
||||
gKeatonMaskIconTex,
|
||||
gSkullMaskIconTex,
|
||||
gSpookyMaskIconTex,
|
||||
gBunnyHoodIconTex,
|
||||
gGoronMaskIconTex,
|
||||
gZoraMaskIconTex,
|
||||
gGerudoMaskIconTex,
|
||||
gMaskofTruthIconTex,
|
||||
gSoldOutIconTex,
|
||||
gPocketEggIconTex,
|
||||
gPocketCuccoIconTex,
|
||||
gCojiroIconTex,
|
||||
gOddMushroomIconTex,
|
||||
gOddPotionIconTex,
|
||||
gPoachersSawIconTex,
|
||||
gBrokenBiggoronSwordIconTex,
|
||||
gPrescriptionIconTex,
|
||||
gEyeBallFrogIconTex,
|
||||
gEyeDropsIconTex,
|
||||
gClaimCheckIconTex,
|
||||
gFairyBowFireIconTex,
|
||||
gFairyBowIceIconTex,
|
||||
gFairyBowLightIconTex,
|
||||
gKokiriSwordIconTex,
|
||||
gMasterSwordIconTex,
|
||||
gBiggoronSwordIconTex,
|
||||
gDekuShieldIconTex,
|
||||
gHylianShieldIconTex,
|
||||
gMirrorShieldIconTex,
|
||||
gKokiriTunicIconTex,
|
||||
gGoronTunicIconTex,
|
||||
gZoraTunicIconTex,
|
||||
gKokiriBootsIconTex,
|
||||
gIronBootsIconTex,
|
||||
gHoverBootsIconTex,
|
||||
gBulletBag30IconTex,
|
||||
gBulletBag40IconTex,
|
||||
gBulletBag50IconTex,
|
||||
gQuiver30IconTex,
|
||||
gQuiver40IconTex,
|
||||
gQuiver50IconTex,
|
||||
gBombBag20IconTex,
|
||||
gBombBag30IconTex,
|
||||
gBombBag40IconTex,
|
||||
gGoronsBraceletIconTex,
|
||||
gSilverGauntletsIconTex,
|
||||
gGoldenGauntletsIconTex,
|
||||
gSilverScaleIconTex,
|
||||
gGoldenScaleIconTex,
|
||||
gBrokenGiantsKnifeIconTex,
|
||||
gAdultsWalletIconTex,
|
||||
gGiantsWalletIconTex,
|
||||
gDekuSeedsIconTex,
|
||||
gFishingPoleIconTex,
|
||||
gSongNoteTex,
|
||||
gSongNoteTex,
|
||||
gSongNoteTex,
|
||||
gSongNoteTex,
|
||||
gSongNoteTex,
|
||||
gSongNoteTex,
|
||||
gSongNoteTex,
|
||||
gSongNoteTex,
|
||||
gSongNoteTex,
|
||||
gSongNoteTex,
|
||||
gSongNoteTex,
|
||||
gSongNoteTex,
|
||||
gForestMedallionIconTex,
|
||||
gFireMedallionIconTex,
|
||||
gWaterMedallionIconTex,
|
||||
gSpiritMedallionIconTex,
|
||||
gShadowMedallionIconTex,
|
||||
gLightMedallionIconTex,
|
||||
gKokiriEmeraldIconTex,
|
||||
gGoronRubyIconTex,
|
||||
gZoraSapphireIconTex,
|
||||
gStoneOfAgonyIconTex,
|
||||
gGerudosCardIconTex,
|
||||
gGoldSkulltulaIconTex,
|
||||
gHeartContainerIconTex,
|
||||
gUnusedPieceOfHeartIconTex,
|
||||
gBossKeyIconTex,
|
||||
gDungeonMapIconTex,
|
||||
gCompassIconTex,
|
||||
gBossKeyIconTex,
|
||||
gSmallMagicJarIconTex,
|
||||
gBigMagicJarIconTex,
|
||||
gHeartPieceIcon1Tex,
|
||||
gHeartPieceIcon2Tex,
|
||||
gHeartPieceIcon3Tex,
|
||||
gOcarinaCUpTex,
|
||||
gOcarinaCDownTex,
|
||||
gOcarinaCLeftTex,
|
||||
gOcarinaCRightTex,
|
||||
gOcarinaATex,
|
||||
// icon_item_static 32x32 rgba32
|
||||
gItemIconDekuStickTex, // ITEM_DEKU_STICK
|
||||
gItemIconDekuNutTex, // ITEM_DEKU_NUT
|
||||
gItemIconBombTex, // ITEM_BOMB
|
||||
gItemIconBowTex, // ITEM_BOW
|
||||
gItemIconArrowFireTex, // ITEM_ARROW_FIRE
|
||||
gItemIconDinsFireTex, // ITEM_DINS_FIRE
|
||||
gItemIconSlingshotTex, // ITEM_SLINGSHOT
|
||||
gItemIconOcarinaFairyTex, // ITEM_OCARINA_FAIRY
|
||||
gItemIconOcarinaOfTimeTex, // ITEM_OCARINA_OF_TIME
|
||||
gItemIconBombchuTex, // ITEM_BOMBCHU
|
||||
gItemIconHookshotTex, // ITEM_HOOKSHOT
|
||||
gItemIconLongshotTex, // ITEM_LONGSHOT
|
||||
gItemIconArrowIceTex, // ITEM_ARROW_ICE
|
||||
gItemIconFaroresWindTex, // ITEM_FARORES_WIND
|
||||
gItemIconBoomerangTex, // ITEM_BOOMERANG
|
||||
gItemIconLensOfTruthTex, // ITEM_LENS_OF_TRUTH
|
||||
gItemIconMagicBeanTex, // ITEM_MAGIC_BEAN
|
||||
gItemIconHammerTex, // ITEM_HAMMER
|
||||
gItemIconArrowLightTex, // ITEM_ARROW_LIGHT
|
||||
gItemIconNayrusLoveTex, // ITEM_NAYRUS_LOVE
|
||||
gItemIconBottleEmptyTex, // ITEM_BOTTLE_EMPTY
|
||||
gItemIconBottlePotionRedTex, // ITEM_BOTTLE_POTION_RED
|
||||
gItemIconBottlePotionGreenTex, // ITEM_BOTTLE_POTION_GREEN
|
||||
gItemIconBottlePotionBlueTex, // ITEM_BOTTLE_POTION_BLUE
|
||||
gItemIconBottleFairyTex, // ITEM_BOTTLE_FAIRY
|
||||
gItemIconBottleFishTex, // ITEM_BOTTLE_FISH
|
||||
gItemIconBottleMilkFullTex, // ITEM_BOTTLE_MILK_FULL
|
||||
gItemIconBottleRutosLetterTex, // ITEM_BOTTLE_RUTOS_LETTER
|
||||
gItemIconBottleBlueFireTex, // ITEM_BOTTLE_BLUE_FIRE
|
||||
gItemIconBottleBugTex, // ITEM_BOTTLE_BUG
|
||||
gItemIconBottleBigPoeTex, // ITEM_BOTTLE_BIG_POE
|
||||
gItemIconBottleMilkHalfTex, // ITEM_BOTTLE_MILK_HALF
|
||||
gItemIconBottlePoeTex, // ITEM_BOTTLE_POE
|
||||
gItemIconWeirdEggTex, // ITEM_WEIRD_EGG
|
||||
gItemIconChickenTex, // ITEM_CHICKEN
|
||||
gItemIconZeldasLetterTex, // ITEM_ZELDAS_LETTER
|
||||
gItemIconMaskKeatonTex, // ITEM_MASK_KEATON
|
||||
gItemIconMaskSkullTex, // ITEM_MASK_SKULL
|
||||
gItemIconMaskSpookyTex, // ITEM_MASK_SPOOKY
|
||||
gItemIconMaskBunnyHoodTex, // ITEM_MASK_BUNNY_HOOD
|
||||
gItemIconMaskGoronTex, // ITEM_MASK_GORON
|
||||
gItemIconMaskZoraTex, // ITEM_MASK_ZORA
|
||||
gItemIconMaskGerudoTex, // ITEM_MASK_GERUDO
|
||||
gItemIconMaskTruthTex, // ITEM_MASK_TRUTH
|
||||
gItemIconSoldOutTex, // ITEM_SOLD_OUT
|
||||
gItemIconPocketEggTex, // ITEM_POCKET_EGG
|
||||
gItemIconPocketCuccoTex, // ITEM_POCKET_CUCCO
|
||||
gItemIconCojiroTex, // ITEM_COJIRO
|
||||
gItemIconOddMushroomTex, // ITEM_ODD_MUSHROOM
|
||||
gItemIconOddPotionTex, // ITEM_ODD_POTION
|
||||
gItemIconPoachersSawTex, // ITEM_POACHERS_SAW
|
||||
gItemIconBrokenGoronsSwordTex, // ITEM_BROKEN_GORONS_SWORD
|
||||
gItemIconPrescriptionTex, // ITEM_PRESCRIPTION
|
||||
gItemIconEyeballFrogTex, // ITEM_EYEBALL_FROG
|
||||
gItemIconEyeDropsTex, // ITEM_EYE_DROPS
|
||||
gItemIconClaimCheckTex, // ITEM_CLAIM_CHECK
|
||||
gItemIconBowFireTex, // ITEM_BOW_FIRE
|
||||
gItemIconBowIceTex, // ITEM_BOW_ICE
|
||||
gItemIconBowLightTex, // ITEM_BOW_LIGHT
|
||||
gItemIconSwordKokiriTex, // ITEM_SWORD_KOKIRI
|
||||
gItemIconSwordMasterTex, // ITEM_SWORD_MASTER
|
||||
gItemIconSwordBiggoronTex, // ITEM_SWORD_BIGGORON
|
||||
gItemIconShieldDekuTex, // ITEM_SHIELD_DEKU
|
||||
gItemIconShieldHylianTex, // ITEM_SHIELD_HYLIAN
|
||||
gItemIconShieldMirrorTex, // ITEM_SHIELD_MIRROR
|
||||
gItemIconTunicKokiriTex, // ITEM_TUNIC_KOKIRI
|
||||
gItemIconTunicGoronTex, // ITEM_TUNIC_GORON
|
||||
gItemIconTunicZoraTex, // ITEM_TUNIC_ZORA
|
||||
gItemIconBootsKokiriTex, // ITEM_BOOTS_KOKIRI
|
||||
gItemIconBootsIronTex, // ITEM_BOOTS_IRON
|
||||
gItemIconBootsHoverTex, // ITEM_BOOTS_HOVER
|
||||
gItemIconBulletBag30Tex, // ITEM_BULLET_BAG_30
|
||||
gItemIconBulletBag40Tex, // ITEM_BULLET_BAG_40
|
||||
gItemIconBulletBag50Tex, // ITEM_BULLET_BAG_50
|
||||
gItemIconQuiver30Tex, // ITEM_QUIVER_30
|
||||
gItemIconQuiver40Tex, // ITEM_QUIVER_40
|
||||
gItemIconQuiver50Tex, // ITEM_QUIVER_50
|
||||
gItemIconBombBag20Tex, // ITEM_BOMB_BAG_20
|
||||
gItemIconBombBag30Tex, // ITEM_BOMB_BAG_30
|
||||
gItemIconBombBag40Tex, // ITEM_BOMB_BAG_40
|
||||
gItemIconGoronsBraceletTex, // ITEM_STRENGTH_GORONS_BRACELET
|
||||
gItemIconSilverGauntletsTex, // ITEM_STRENGTH_SILVER_GAUNTLETS
|
||||
gItemIconGoldenGauntletsTex, // ITEM_STRENGTH_GOLD_GAUNTLETS
|
||||
gItemIconScaleSilverTex, // ITEM_SCALE_SILVER
|
||||
gItemIconScaleGoldenTex, // ITEM_SCALE_GOLDEN
|
||||
gItemIconBrokenGiantsKnifeTex, // ITEM_GIANTS_KNIFE
|
||||
gItemIconAdultsWalletTex, // ITEM_ADULTS_WALLET
|
||||
gItemIconGiantsWalletTex, // ITEM_GIANTS_WALLET
|
||||
gItemIconDekuSeedsTex, // ITEM_DEKU_SEEDS
|
||||
gItemIconFishingPoleTex, // ITEM_FISHING_POLE
|
||||
// icon_item_static 16x24 ia8
|
||||
gSongNoteTex, // ITEM_SONG_MINUET
|
||||
gSongNoteTex, // ITEM_SONG_BOLERO
|
||||
gSongNoteTex, // ITEM_SONG_SERENADE
|
||||
gSongNoteTex, // ITEM_SONG_REQUIEM
|
||||
gSongNoteTex, // ITEM_SONG_NOCTURNE
|
||||
gSongNoteTex, // ITEM_SONG_PRELUDE
|
||||
gSongNoteTex, // ITEM_SONG_LULLABY
|
||||
gSongNoteTex, // ITEM_SONG_EPONA
|
||||
gSongNoteTex, // ITEM_SONG_SARIA
|
||||
gSongNoteTex, // ITEM_SONG_SUN
|
||||
gSongNoteTex, // ITEM_SONG_TIME
|
||||
gSongNoteTex, // ITEM_SONG_STORMS
|
||||
// icon_item_24static 24x24 rgba32
|
||||
gQuestIconMedallionForestTex, // ITEM_MEDALLION_FOREST
|
||||
gQuestIconMedallionFireTex, // ITEM_MEDALLION_FIRE
|
||||
gQuestIconMedallionWaterTex, // ITEM_MEDALLION_WATER
|
||||
gQuestIconMedallionSpiritTex, // ITEM_MEDALLION_SPIRIT
|
||||
gQuestIconMedallionShadowTex, // ITEM_MEDALLION_SHADOW
|
||||
gQuestIconMedallionLightTex, // ITEM_MEDALLION_LIGHT
|
||||
gQuestIconKokiriEmeraldTex, // ITEM_KOKIRI_EMERALD
|
||||
gQuestIconGoronRubyTex, // ITEM_GORON_RUBY
|
||||
gQuestIconZoraSapphireTex, // ITEM_ZORA_SAPPHIRE
|
||||
gQuestIconStoneOfAgonyTex, // ITEM_STONE_OF_AGONY
|
||||
gQuestIconGerudosCardTex, // ITEM_GERUDOS_CARD
|
||||
gQuestIconGoldSkulltulaTex, // ITEM_SKULL_TOKEN
|
||||
gQuestIconHeartContainerTex, // ITEM_HEART_CONTAINER
|
||||
gQuestIconHeartPieceTex, // ITEM_HEART_PIECE
|
||||
gQuestIconDungeonBossKeyTex, // ITEM_DUNGEON_BOSS_KEY
|
||||
gQuestIconDungeonMapTex, // ITEM_DUNGEON_COMPASS (swapped with map (inconsequential))
|
||||
gQuestIconDungeonCompassTex, // ITEM_DUNGEON_MAP (swapped with compass (inconsequential))
|
||||
gQuestIconDungeonBossKeyTex, // ITEM_SMALL_KEY (but texture is boss key (inconsequential))
|
||||
gQuestIconMagicJarSmallTex, // ITEM_MAGIC_JAR_SMALL
|
||||
gQuestIconMagicJarBigTex, // ITEM_MAGIC_JAR_BIG
|
||||
// icon_item_static 48x48 ia8
|
||||
gHeartPieceIcon1Tex, // ITEM_HEART_PIECE_2
|
||||
gHeartPieceIcon2Tex, // ITEM_INVALID_1
|
||||
gHeartPieceIcon3Tex, // ITEM_INVALID_2
|
||||
// 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
|
||||
|
|
|
@ -4,6 +4,8 @@ void Interface_Destroy(PlayState* play) {
|
|||
Map_Destroy(play);
|
||||
}
|
||||
|
||||
#define ICON_ITEM_SEGMENT_SIZE (4 * ITEM_ICON_SIZE)
|
||||
|
||||
void Interface_Init(PlayState* play) {
|
||||
InterfaceContext* interfaceCtx = &play->interfaceCtx;
|
||||
u32 parameterSize;
|
||||
|
@ -70,10 +72,10 @@ void Interface_Init(PlayState* play) {
|
|||
(uintptr_t)_do_action_staticSegmentRomStart + doActionOffset, DO_ACTION_TEX_SIZE,
|
||||
"../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"
|
||||
osSyncPrintf("アイコンアイテム テクスチャ初期=%x\n", 4 * ICON_ITEM_TEX_SIZE);
|
||||
osSyncPrintf("アイコンアイテム テクスチャ初期=%x\n", ICON_ITEM_SEGMENT_SIZE);
|
||||
osSyncPrintf("parameter->icon_itemSegment=%x\n", interfaceCtx->iconItemSegment);
|
||||
|
||||
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]);
|
||||
|
||||
if (gSaveContext.equips.buttonItems[0] < 0xF0) {
|
||||
DmaMgr_RequestSyncDebug(interfaceCtx->iconItemSegment,
|
||||
(uintptr_t)_icon_item_staticSegmentRomStart +
|
||||
gSaveContext.equips.buttonItems[0] * ICON_ITEM_TEX_SIZE,
|
||||
ICON_ITEM_TEX_SIZE, "../z_construct.c", 198);
|
||||
DmaMgr_RequestSyncDebug(interfaceCtx->iconItemSegment + (0 * ITEM_ICON_SIZE),
|
||||
GET_ITEM_ICON_VROM(gSaveContext.equips.buttonItems[0]), ITEM_ICON_SIZE,
|
||||
"../z_construct.c", 198);
|
||||
} else if (gSaveContext.equips.buttonItems[0] != 0xFF) {
|
||||
DmaMgr_RequestSyncDebug(interfaceCtx->iconItemSegment,
|
||||
(uintptr_t)_icon_item_staticSegmentRomStart +
|
||||
gSaveContext.equips.buttonItems[0] * ICON_ITEM_TEX_SIZE,
|
||||
ICON_ITEM_TEX_SIZE, "../z_construct.c", 203);
|
||||
DmaMgr_RequestSyncDebug(interfaceCtx->iconItemSegment + (0 * ITEM_ICON_SIZE),
|
||||
GET_ITEM_ICON_VROM(gSaveContext.equips.buttonItems[0]), ITEM_ICON_SIZE,
|
||||
"../z_construct.c", 203);
|
||||
}
|
||||
|
||||
if (gSaveContext.equips.buttonItems[1] < 0xF0) {
|
||||
DmaMgr_RequestSyncDebug(interfaceCtx->iconItemSegment + ICON_ITEM_TEX_SIZE,
|
||||
(uintptr_t)_icon_item_staticSegmentRomStart +
|
||||
gSaveContext.equips.buttonItems[1] * ICON_ITEM_TEX_SIZE,
|
||||
ICON_ITEM_TEX_SIZE, "../z_construct.c", 209);
|
||||
DmaMgr_RequestSyncDebug(interfaceCtx->iconItemSegment + (1 * ITEM_ICON_SIZE),
|
||||
GET_ITEM_ICON_VROM(gSaveContext.equips.buttonItems[1]), ITEM_ICON_SIZE,
|
||||
"../z_construct.c", 209);
|
||||
}
|
||||
|
||||
if (gSaveContext.equips.buttonItems[2] < 0xF0) {
|
||||
DmaMgr_RequestSyncDebug(interfaceCtx->iconItemSegment + 2 * ICON_ITEM_TEX_SIZE,
|
||||
(uintptr_t)_icon_item_staticSegmentRomStart +
|
||||
gSaveContext.equips.buttonItems[2] * ICON_ITEM_TEX_SIZE,
|
||||
ICON_ITEM_TEX_SIZE, "../z_construct.c", 214);
|
||||
DmaMgr_RequestSyncDebug(interfaceCtx->iconItemSegment + (2 * ITEM_ICON_SIZE),
|
||||
GET_ITEM_ICON_VROM(gSaveContext.equips.buttonItems[2]), ITEM_ICON_SIZE,
|
||||
"../z_construct.c", 214);
|
||||
}
|
||||
|
||||
if (gSaveContext.equips.buttonItems[3] < 0xF0) {
|
||||
DmaMgr_RequestSyncDebug(interfaceCtx->iconItemSegment + 3 * ICON_ITEM_TEX_SIZE,
|
||||
(uintptr_t)_icon_item_staticSegmentRomStart +
|
||||
gSaveContext.equips.buttonItems[3] * ICON_ITEM_TEX_SIZE,
|
||||
ICON_ITEM_TEX_SIZE, "../z_construct.c", 219);
|
||||
DmaMgr_RequestSyncDebug(interfaceCtx->iconItemSegment + (3 * ITEM_ICON_SIZE),
|
||||
GET_ITEM_ICON_VROM(gSaveContext.equips.buttonItems[3]), ITEM_ICON_SIZE,
|
||||
"../z_construct.c", 219);
|
||||
}
|
||||
|
||||
osSyncPrintf("EVENT=%d\n", ((void)0, gSaveContext.timerState));
|
||||
|
@ -173,6 +170,9 @@ void Interface_Init(PlayState* play) {
|
|||
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) {
|
||||
MessageContext* msgCtx = &play->msgCtx;
|
||||
s32 pad;
|
||||
|
@ -188,15 +188,11 @@ void Message_Init(PlayState* play) {
|
|||
|
||||
View_Init(&msgCtx->view, play->state.gfxCtx);
|
||||
|
||||
msgCtx->textboxSegment =
|
||||
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);
|
||||
msgCtx->textboxSegment = GameState_Alloc(&play->state, TEXTBOX_SEGMENT_SIZE, "../z_construct.c", 349);
|
||||
|
||||
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);
|
||||
|
||||
Font_LoadOrderedFont(&play->msgCtx.font);
|
||||
|
@ -257,7 +253,7 @@ void Regs_InitDataImpl(void) {
|
|||
R_TEXTBOX_ICON_YPOS = 10;
|
||||
YREG(73) = -8;
|
||||
YREG(74) = 8;
|
||||
R_TEXTBOX_ICON_SIZE = 24;
|
||||
R_TEXTBOX_ICON_DIMENSION = 24;
|
||||
YREG(76) = 32;
|
||||
YREG(77) = 0;
|
||||
R_MESSAGE_DEBUGGER_SELECT = 0;
|
||||
|
|
|
@ -755,17 +755,17 @@ u16 Message_DrawItemIcon(PlayState* play, u16 itemId, Gfx** p, u16 i) {
|
|||
gDPSetPrimColor(gfx++, 0, 0, 255, 255, 255, msgCtx->textColorAlpha);
|
||||
|
||||
if (itemId >= ITEM_MEDALLION_FOREST) {
|
||||
gDPLoadTextureBlock(gfx++, msgCtx->textboxSegment + MESSAGE_STATIC_TEX_SIZE, G_IM_FMT_RGBA, G_IM_SIZ_32b, 24,
|
||||
24, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK,
|
||||
G_TX_NOLOD, G_TX_NOLOD);
|
||||
gDPLoadTextureBlock(gfx++, msgCtx->textboxSegment + MESSAGE_STATIC_TEX_SIZE, G_IM_FMT_RGBA, G_IM_SIZ_32b,
|
||||
QUEST_ICON_WIDTH, QUEST_ICON_HEIGHT, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
||||
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
|
||||
} else {
|
||||
gDPLoadTextureBlock(gfx++, msgCtx->textboxSegment + MESSAGE_STATIC_TEX_SIZE, 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, G_TX_NOMASK,
|
||||
G_TX_NOLOD, G_TX_NOLOD);
|
||||
gDPLoadTextureBlock(gfx++, msgCtx->textboxSegment + MESSAGE_STATIC_TEX_SIZE, G_IM_FMT_RGBA, G_IM_SIZ_32b,
|
||||
ITEM_ICON_WIDTH, ITEM_ICON_HEIGHT, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP,
|
||||
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,
|
||||
(msgCtx->textPosX + R_TEXTBOX_ICON_XPOS + R_TEXTBOX_ICON_SIZE) << 2,
|
||||
(R_TEXTBOX_ICON_YPOS + R_TEXTBOX_ICON_SIZE) << 2, G_TX_RENDERTILE, 0, 0, 1 << 10, 1 << 10);
|
||||
(msgCtx->textPosX + R_TEXTBOX_ICON_XPOS + R_TEXTBOX_ICON_DIMENSION) << 2,
|
||||
(R_TEXTBOX_ICON_YPOS + R_TEXTBOX_ICON_DIMENSION) << 2, G_TX_RENDERTILE, 0, 0, 1 << 10, 1 << 10);
|
||||
gDPPipeSync(gfx++);
|
||||
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) {
|
||||
R_TEXTBOX_ICON_XPOS = R_TEXT_INIT_XPOS - sIconItem32XOffsets[gSaveContext.language];
|
||||
R_TEXTBOX_ICON_YPOS = y + 6;
|
||||
R_TEXTBOX_ICON_SIZE = 32;
|
||||
DmaMgr_RequestSyncDebug(msgCtx->textboxSegment + MESSAGE_STATIC_TEX_SIZE,
|
||||
(uintptr_t)_icon_item_staticSegmentRomStart + (itemId * ICON_ITEM_TEX_SIZE),
|
||||
ICON_ITEM_TEX_SIZE, "../z_message_PAL.c", 1473);
|
||||
R_TEXTBOX_ICON_YPOS = y + ((44 - ITEM_ICON_HEIGHT) / 2);
|
||||
R_TEXTBOX_ICON_DIMENSION = ITEM_ICON_WIDTH; // assumes the image is square
|
||||
DmaMgr_RequestSyncDebug(msgCtx->textboxSegment + MESSAGE_STATIC_TEX_SIZE, GET_ITEM_ICON_VROM(itemId),
|
||||
ITEM_ICON_SIZE, "../z_message_PAL.c", 1473);
|
||||
// "Item 32-0"
|
||||
osSyncPrintf("アイテム32-0\n");
|
||||
} else {
|
||||
R_TEXTBOX_ICON_XPOS = R_TEXT_INIT_XPOS - sIconItem24XOffsets[gSaveContext.language];
|
||||
R_TEXTBOX_ICON_YPOS = y + 10;
|
||||
R_TEXTBOX_ICON_SIZE = 24;
|
||||
DmaMgr_RequestSyncDebug(msgCtx->textboxSegment + MESSAGE_STATIC_TEX_SIZE,
|
||||
(uintptr_t)_icon_item_24_staticSegmentRomStart +
|
||||
(itemId - ITEM_MEDALLION_FOREST) * ICON_ITEM_24_TEX_SIZE,
|
||||
ICON_ITEM_24_TEX_SIZE, "../z_message_PAL.c", 1482);
|
||||
R_TEXTBOX_ICON_YPOS = y + ((44 - QUEST_ICON_HEIGHT) / 2);
|
||||
R_TEXTBOX_ICON_DIMENSION = QUEST_ICON_WIDTH; // assumes the image is square
|
||||
DmaMgr_RequestSyncDebug(msgCtx->textboxSegment + MESSAGE_STATIC_TEX_SIZE, GET_QUEST_ICON_VROM(itemId),
|
||||
QUEST_ICON_SIZE, "../z_message_PAL.c", 1482);
|
||||
// "Item 24"
|
||||
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 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] = {
|
||||
{ 80, 255, 150 },
|
||||
|
|
|
@ -1298,10 +1298,9 @@ void Interface_LoadItemIcon1(PlayState* play, u16 button) {
|
|||
InterfaceContext* interfaceCtx = &play->interfaceCtx;
|
||||
|
||||
osCreateMesgQueue(&interfaceCtx->loadQueue, &interfaceCtx->loadMsg, 1);
|
||||
DmaMgr_RequestAsync(&interfaceCtx->dmaRequest_160, interfaceCtx->iconItemSegment + button * ICON_ITEM_TEX_SIZE,
|
||||
(uintptr_t)_icon_item_staticSegmentRomStart +
|
||||
(gSaveContext.equips.buttonItems[button] * ICON_ITEM_TEX_SIZE),
|
||||
ICON_ITEM_TEX_SIZE, 0, &interfaceCtx->loadQueue, NULL, "../z_parameter.c", 1171);
|
||||
DmaMgr_RequestAsync(&interfaceCtx->dmaRequest_160, interfaceCtx->iconItemSegment + (button * ITEM_ICON_SIZE),
|
||||
GET_ITEM_ICON_VROM(gSaveContext.equips.buttonItems[button]), ITEM_ICON_SIZE, 0,
|
||||
&interfaceCtx->loadQueue, NULL, "../z_parameter.c", 1171);
|
||||
osRecvMesg(&interfaceCtx->loadQueue, NULL, OS_MESG_BLOCK);
|
||||
}
|
||||
|
||||
|
@ -1309,10 +1308,9 @@ void Interface_LoadItemIcon2(PlayState* play, u16 button) {
|
|||
InterfaceContext* interfaceCtx = &play->interfaceCtx;
|
||||
|
||||
osCreateMesgQueue(&interfaceCtx->loadQueue, &interfaceCtx->loadMsg, 1);
|
||||
DmaMgr_RequestAsync(&interfaceCtx->dmaRequest_180, interfaceCtx->iconItemSegment + button * ICON_ITEM_TEX_SIZE,
|
||||
(uintptr_t)_icon_item_staticSegmentRomStart +
|
||||
(gSaveContext.equips.buttonItems[button] * ICON_ITEM_TEX_SIZE),
|
||||
ICON_ITEM_TEX_SIZE, 0, &interfaceCtx->loadQueue, NULL, "../z_parameter.c", 1193);
|
||||
DmaMgr_RequestAsync(&interfaceCtx->dmaRequest_180, interfaceCtx->iconItemSegment + (button * ITEM_ICON_SIZE),
|
||||
GET_ITEM_ICON_VROM(gSaveContext.equips.buttonItems[button]), ITEM_ICON_SIZE, 0,
|
||||
&interfaceCtx->loadQueue, NULL, "../z_parameter.c", 1193);
|
||||
osRecvMesg(&interfaceCtx->loadQueue, NULL, OS_MESG_BLOCK);
|
||||
}
|
||||
|
||||
|
@ -3375,8 +3373,8 @@ void Interface_Draw(PlayState* play) {
|
|||
gSPVertex(OVERLAY_DISP++, &pauseCtx->cursorVtx[16], 4, 0);
|
||||
|
||||
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,
|
||||
G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
|
||||
ITEM_ICON_WIDTH, ITEM_ICON_HEIGHT, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
||||
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
|
||||
} else {
|
||||
// Magic Arrow Equip Effect
|
||||
svar1 = pauseCtx->equipTargetItem - 0xBF;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue