diff options
Diffstat (limited to 'src')
21 files changed, 748 insertions, 665 deletions
diff --git a/src/code/code_80097A00.c b/src/code/code_80097A00.c index 6200083ca..7481564fc 100644 --- a/src/code/code_80097A00.c +++ b/src/code/code_80097A00.c @@ -1,4 +1,7 @@ #include "global.h" +#include "textures/icon_item_static/icon_item_static.h" +#include "textures/icon_item_24_static/icon_item_24_static.h" +#include "textures/parameter_static/parameter_static.h" // Bit Flag array in which gBitFlags[n] is literally (1 << n) u32 gBitFlags[] = { @@ -33,23 +36,137 @@ u16 gUpgradeCapacities[][4] = { u32 gGsFlagsMask[] = { 0x000000FF, 0x0000FF00, 0x00FF0000, 0xFF000000 }; u32 gGsFlagsShift[] = { 0, 8, 16, 24 }; -// TODO: use symbols for these icon textures once textures are properly in C void* gItemIcons[] = { - 0x08000000, 0x08001000, 0x08002000, 0x08003000, 0x08004000, 0x08005000, 0x08006000, 0x08007000, 0x08008000, - 0x08009000, 0x0800A000, 0x0800B000, 0x0800C000, 0x0800D000, 0x0800E000, 0x0800F000, 0x08010000, 0x08011000, - 0x08012000, 0x08013000, 0x08014000, 0x08015000, 0x08016000, 0x08017000, 0x08018000, 0x08019000, 0x0801A000, - 0x0801B000, 0x0801C000, 0x0801D000, 0x0801E000, 0x0801F000, 0x08020000, 0x08021000, 0x08022000, 0x08023000, - 0x08024000, 0x08025000, 0x08026000, 0x08027000, 0x08028000, 0x08029000, 0x0802A000, 0x0802B000, 0x0802C000, - 0x0802D000, 0x0802E000, 0x0802F000, 0x08030000, 0x08031000, 0x08032000, 0x08033000, 0x08034000, 0x08035000, - 0x08036000, 0x08037000, 0x08038000, 0x08039000, 0x0803A000, 0x0803B000, 0x0803C000, 0x0803D000, 0x0803E000, - 0x0803F000, 0x08040000, 0x08041000, 0x08042000, 0x08043000, 0x08044000, 0x08045000, 0x08046000, 0x08047000, - 0x08048000, 0x08049000, 0x0804A000, 0x0804B000, 0x0804C000, 0x0804D000, 0x0804E000, 0x0804F000, 0x08050000, - 0x08051000, 0x08052000, 0x08053000, 0x08054000, 0x08055000, 0x08056000, 0x08057000, 0x08058000, 0x08059000, - 0x08089440, 0x08089440, 0x08089440, 0x08089440, 0x08089440, 0x08089440, 0x08089440, 0x08089440, 0x08089440, - 0x08089440, 0x08089440, 0x08089440, 0x09000000, 0x09000900, 0x09001200, 0x09001B00, 0x09002400, 0x09002D00, - 0x09003600, 0x09003F00, 0x09004800, 0x09005100, 0x09005A00, 0x09006300, 0x09006C00, 0x09007500, 0x09007E00, - 0x09009000, 0x09008700, 0x09007E00, 0x0900A200, 0x0900AB00, 0x0805A000, 0x0805A900, 0x0805B200, 0x02002D40, - 0x02002A40, 0x02002C40, 0x02002B40, 0x02002940, + 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, }; // Used to map item IDs to inventory slots diff --git a/src/code/gfxprint.c b/src/code/gfxprint.c index f79dc0050..bc4c8ec12 100644 --- a/src/code/gfxprint.c +++ b/src/code/gfxprint.c @@ -222,10 +222,11 @@ void GfxPrint_PrintCharImpl(GfxPrint* this, u8 c) { if (this->flag & GFXPRINT_FLAG64) { gSPTextureRectangle(this->dlist++, (this->posX + 4) << 1, (this->posY + 4) << 1, (this->posX + 4 + 32) << 1, - (this->posY + 4 + 32) << 1, tile, (u16)(c & 4) * 64, (u16)(c >> 3) * 256, 512, 512); + (this->posY + 4 + 32) << 1, tile, (u16)(c & 4) * 64, (u16)(c >> 3) * 256, 1 << 9, + 1 << 9); } else { gSPTextureRectangle(this->dlist++, this->posX + 4, this->posY + 4, this->posX + 4 + 32, this->posY + 4 + 32, - tile, (u16)(c & 4) * 64, (u16)(c >> 3) * 256, 1024, 1024); + tile, (u16)(c & 4) * 64, (u16)(c >> 3) * 256, 1 << 10, 1 << 10); } gDPSetPrimColorMod(this->dlist++, 0, 0, this->color.rgba); @@ -233,10 +234,10 @@ void GfxPrint_PrintCharImpl(GfxPrint* this, u8 c) { if (this->flag & GFXPRINT_FLAG64) { gSPTextureRectangle(this->dlist++, (this->posX) << 1, (this->posY) << 1, (this->posX + 32) << 1, - (this->posY + 32) << 1, tile, (u16)(c & 4) * 64, (u16)(c >> 3) * 256, 512, 512); + (this->posY + 32) << 1, tile, (u16)(c & 4) * 64, (u16)(c >> 3) * 256, 1 << 9, 1 << 9); } else { gSPTextureRectangle(this->dlist++, this->posX, this->posY, this->posX + 32, this->posY + 32, tile, - (u16)(c & 4) * 64, (u16)(c >> 3) * 256, 1024, 1024); + (u16)(c & 4) * 64, (u16)(c >> 3) * 256, 1 << 10, 1 << 10); } this->posX += 32; diff --git a/src/code/z_actor.c b/src/code/z_actor.c index c3e445f8c..3244c99c3 100644 --- a/src/code/z_actor.c +++ b/src/code/z_actor.c @@ -743,7 +743,7 @@ void TitleCard_Draw(GlobalContext* globalCtx, TitleCardContext* titleCtx) { G_TX_NOLOD); gSPTextureRectangle(OVERLAY_DISP++, spC0, spB8, ((sp38 * 2) + spC0) - 4, spB8 + (spC8 * 4) - 1, G_TX_RENDERTILE, - 0, 0, 1024, 1024); + 0, 0, 1 << 10, 1 << 10); spC8 = titleCtx->height - spC8; @@ -753,7 +753,7 @@ void TitleCard_Draw(GlobalContext* globalCtx, TitleCardContext* titleCtx) { G_TX_NOLOD, G_TX_NOLOD); gSPTextureRectangle(OVERLAY_DISP++, spC0, spB4, ((sp38 * 2) + spC0) - 4, spB4 + (spC8 * 4) - 1, - G_TX_RENDERTILE, 0, 0, 1024, 1024); + G_TX_RENDERTILE, 0, 0, 1 << 10, 1 << 10); } CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_actor.c", 2880); diff --git a/src/code/z_construct.c b/src/code/z_construct.c index 21428f3d4..324ce1d5e 100644 --- a/src/code/z_construct.c +++ b/src/code/z_construct.c @@ -153,14 +153,14 @@ void func_801109B0(GlobalContext* globalCtx) { interfaceCtx->unk_23C = interfaceCtx->unk_242 = 0; - R_ITEM_BTN_X(0) = 160; + R_ITEM_BTN_X(0) = B_BUTTON_X; R_B_BTN_COLOR(0) = 255; R_B_BTN_COLOR(1) = 30; R_B_BTN_COLOR(2) = 30; - R_ITEM_ICON_X(0) = 160; - R_ITEM_AMMO_X(0) = 162; - R_A_BTN_X = 186; - R_A_ICON_X = 186; + R_ITEM_ICON_X(0) = B_BUTTON_X; + R_ITEM_AMMO_X(0) = B_BUTTON_X + 2; + R_A_BTN_X = A_BUTTON_X; + R_A_ICON_X = A_BUTTON_X; R_A_BTN_COLOR(0) = 0; R_A_BTN_COLOR(1) = 200; R_A_BTN_COLOR(2) = 50; @@ -195,22 +195,22 @@ void func_80110F68(GlobalContext* globalCtx) { } void func_80111070(void) { - YREG(8) = 0xA; + YREG(8) = 10; YREG(14) = 0; YREG(15) = 0; YREG(16) = 0; YREG(17) = 0; - YREG(22) = 0x32; + YREG(22) = 50; YREG(23) = 0; - YREG(24) = -0x3C; - YREG(25) = 0xD; - YREG(26) = 0xF; - YREG(27) = 0x29; - YREG(28) = 0xF; - YREG(32) = 0x109; - YREG(33) = 0x37; + YREG(24) = -60; + YREG(25) = 13; + YREG(26) = 15; + YREG(27) = 41; + YREG(28) = 15; + YREG(32) = 265; + YREG(33) = 55; YREG(34) = 0; - YREG(35) = 0x14; + YREG(35) = 20; YREG(36) = 0; YREG(37) = 0; YREG(38) = 0; @@ -219,49 +219,49 @@ void func_80111070(void) { YREG(42) = 2; YREG(43) = 1; YREG(44) = 0; - YREG(45) = 0xEC; - YREG(46) = 0x24; + YREG(45) = 236; + YREG(46) = 36; YREG(47) = 0; - YREG(48) = -0x2D; - YREG(49) = -0x30; - YREG(50) = 0x10; - YREG(51) = 0x16; - YREG(52) = -0x37; - YREG(53) = -0x35; - YREG(54) = 0x2B; - YREG(55) = 0x2F; - YREG(56) = -0x21; - YREG(57) = -0x2A; - YREG(58) = -0x21; - YREG(59) = -0x25; - YREG(60) = 0xE; + YREG(48) = -45; + YREG(49) = -48; + YREG(50) = 16; + YREG(51) = 22; + YREG(52) = -55; + YREG(53) = -53; + YREG(54) = 43; + YREG(55) = 47; + YREG(56) = -33; + YREG(57) = -42; + YREG(58) = -33; + YREG(59) = -37; + YREG(60) = 14; YREG(61) = -2; YREG(62) = -2; - YREG(63) = -0x12; - YREG(64) = -0x12; + YREG(63) = -18; + YREG(64) = -18; YREG(67) = 0; YREG(68) = 0; YREG(69) = 0; YREG(70) = 0; YREG(71) = -6; - YREG(72) = 0xA; + YREG(72) = 10; YREG(73) = -8; YREG(74) = 8; - YREG(75) = 0x18; - YREG(76) = 0x20; + YREG(75) = 24; + YREG(76) = 32; YREG(77) = 0; YREG(78) = 0; - YREG(79) = 0x30; - YREG(80) = 0x1C2; + YREG(79) = 48; + YREG(80) = 450; YREG(81) = 0; - YREG(82) = -0xF; - YREG(83) = 0x1F4; - YREG(84) = 0x258; + YREG(82) = -15; + YREG(83) = 500; + YREG(84) = 600; YREG(85) = 0; - YREG(86) = -0x15; - YREG(87) = 0x1FE; - R_C_UP_ICON_X = 0xF7; - R_C_UP_ICON_Y = 0x14; + YREG(86) = -21; + YREG(87) = 510; + R_C_UP_ICON_X = C_UP_BUTTON_X - 7; + R_C_UP_ICON_Y = C_UP_BUTTON_Y + 4; YREG(92) = 8; YREG(93) = 6; YREG(94) = 3; @@ -269,29 +269,29 @@ void func_80111070(void) { R_MAGIC_FILL_COLOR(0) = 0; R_MAGIC_FILL_COLOR(1) = 200; R_MAGIC_FILL_COLOR(2) = 0; - ZREG(9) = 0x8C; - ZREG(10) = 0xC8; + ZREG(9) = 140; + ZREG(10) = 200; ZREG(11) = 0; - ZREG(12) = 0xC8; + ZREG(12) = 200; ZREG(13) = 0; - ZREG(14) = 0x6E; - ZREG(15) = 0x38; + ZREG(14) = 110; + ZREG(15) = 56; ZREG(16) = 1; - ZREG(17) = -0x32; - ZREG(18) = -0xC8; + ZREG(17) = -50; + ZREG(18) = -200; ZREG(19) = 0; ZREG(20) = 0; - ZREG(21) = 0x32; - ZREG(22) = -0x32; - ZREG(23) = 0x14; - ZREG(24) = 0x14; + ZREG(21) = 50; + ZREG(22) = -50; + ZREG(23) = 20; + ZREG(24) = 20; ZREG(25) = 4; - ZREG(26) = 0x14; - ZREG(27) = 0xA; - ZREG(28) = 0x14; + ZREG(26) = 20; + ZREG(27) = 10; + ZREG(28) = 20; ZREG(29) = 4; - ZREG(30) = 0x14; - ZREG(31) = 0xA; + ZREG(30) = 20; + ZREG(31) = 10; ZREG(32) = 0; ZREG(33) = 0; ZREG(34) = 0; @@ -303,227 +303,227 @@ void func_80111070(void) { R_C_BTN_COLOR(2) = 0; ZREG(46) = 1; ZREG(47) = 1; - R_START_LABEL_DD(0) = 0x64; - R_START_LABEL_DD(1) = 0x59; - R_START_LABEL_DD(2) = 0x5C; - R_START_LABEL_Y(0) = 0x14; - R_START_LABEL_Y(1) = 0x14; - R_START_LABEL_Y(2) = 0x14; - R_START_LABEL_X(0) = 0x78; - R_START_LABEL_X(1) = 0x77; - R_START_LABEL_X(2) = 0x77; + R_START_LABEL_DD(0) = 100; + R_START_LABEL_DD(1) = 89; + R_START_LABEL_DD(2) = 92; + R_START_LABEL_Y(0) = 20; + R_START_LABEL_Y(1) = 20; + R_START_LABEL_Y(2) = 20; + R_START_LABEL_X(0) = 120; + R_START_LABEL_X(1) = 119; + R_START_LABEL_X(2) = 119; ZREG(61) = 1; - R_C_UP_BTN_X = 0xFE; - R_C_UP_BTN_Y = 0x10; - ZREG(64) = 0x14; - ZREG(65) = 0x15; - ZREG(66) = 0x7A; - R_ITEM_BTN_X(1) = 0xE3; - R_ITEM_BTN_X(2) = 0xF9; - R_ITEM_BTN_X(3) = 0x10F; - R_ITEM_BTN_Y(0) = 0x11; - R_ITEM_BTN_Y(1) = 0x12; - R_ITEM_BTN_Y(2) = 0x22; - R_ITEM_BTN_Y(3) = 0x12; - R_ITEM_BTN_DD(0) = 0x23F; - R_ITEM_BTN_DD(1) = 0x26C; - R_ITEM_BTN_DD(2) = 0x26C; - R_ITEM_BTN_DD(3) = 0x26C; - R_ITEM_ICON_X(1) = 0xE3; - R_ITEM_ICON_X(2) = 0xF9; - R_ITEM_ICON_X(3) = 0x10F; - R_ITEM_ICON_Y(0) = 0x11; - R_ITEM_ICON_Y(1) = 0x12; - R_ITEM_ICON_Y(2) = 0x22; - R_ITEM_ICON_Y(3) = 0x12; - R_ITEM_ICON_DD(0) = 0x226; - R_ITEM_ICON_DD(1) = 0x2A8; - R_ITEM_ICON_DD(2) = 0x2A8; - R_ITEM_ICON_DD(3) = 0x2A8; + R_C_UP_BTN_X = C_UP_BUTTON_X; + R_C_UP_BTN_Y = C_UP_BUTTON_Y; + ZREG(64) = 20; + ZREG(65) = 21; + ZREG(66) = 122; + R_ITEM_BTN_X(1) = C_LEFT_BUTTON_X; + R_ITEM_BTN_X(2) = C_DOWN_BUTTON_X; + R_ITEM_BTN_X(3) = C_RIGHT_BUTTON_X; + R_ITEM_BTN_Y(0) = B_BUTTON_Y; + R_ITEM_BTN_Y(1) = C_LEFT_BUTTON_Y; + R_ITEM_BTN_Y(2) = C_DOWN_BUTTON_Y; + R_ITEM_BTN_Y(3) = C_RIGHT_BUTTON_Y; + R_ITEM_BTN_DD(0) = 575; + R_ITEM_BTN_DD(1) = 620; + R_ITEM_BTN_DD(2) = 620; + R_ITEM_BTN_DD(3) = 620; + R_ITEM_ICON_X(1) = C_LEFT_BUTTON_X; + R_ITEM_ICON_X(2) = C_DOWN_BUTTON_X; + R_ITEM_ICON_X(3) = C_RIGHT_BUTTON_X; + R_ITEM_ICON_Y(0) = B_BUTTON_Y; + R_ITEM_ICON_Y(1) = C_LEFT_BUTTON_Y; + R_ITEM_ICON_Y(2) = C_DOWN_BUTTON_Y; + R_ITEM_ICON_Y(3) = C_RIGHT_BUTTON_Y; + R_ITEM_ICON_DD(0) = 550; + R_ITEM_ICON_DD(1) = 680; + R_ITEM_ICON_DD(2) = 680; + R_ITEM_ICON_DD(3) = 680; ZREG(94) = 1; ZREG(95) = 0; - XREG(0) = 0x1A; - XREG(1) = 0x16; - XREG(2) = -0xB; + XREG(0) = 26; + XREG(1) = 22; + XREG(2) = -11; XREG(3) = -4; XREG(4) = 3; XREG(5) = 0; XREG(6) = 2; - XREG(7) = 0x1E; - XREG(8) = 0xA; + XREG(7) = 30; + XREG(8) = 10; XREG(9) = 0; - XREG(10) = -0x254E; - XREG(11) = 0x26DE; - XREG(12) = 0x44; - XREG(13) = 0x24; + XREG(10) = -9550; + XREG(11) = 9950; + XREG(12) = 68; + XREG(13) = 36; XREG(14) = 4; XREG(15) = 1; - R_A_BTN_Y = 9; - XREG(18) = -0x17C; - R_A_ICON_Y = 9; - XREG(21) = 0x30; + R_A_BTN_Y = A_BUTTON_Y; + XREG(18) = -380; + R_A_ICON_Y = A_BUTTON_Y; + XREG(21) = 48; XREG(25) = 0; XREG(26) = 0; XREG(27) = 0; - XREG(28) = 0x10; - XREG(29) = 0x32; - XREG(30) = 0xF; + XREG(28) = 16; + XREG(29) = 50; + XREG(30) = 15; XREG(31) = 8; XREG(32) = 4; XREG(33) = 2; - XREG(34) = 0x64; + XREG(34) = 100; XREG(35) = 7; - XREG(36) = 0x14; - XREG(37) = 0xA; + XREG(36) = 20; + XREG(37) = 10; XREG(38) = 2; - XREG(39) = 0x8C; - XREG(40) = 0x14; - XREG(41) = 0x12C; - XREG(42) = 0x64; - XREG(43) = 0x46; - XREG(44) = 0x32; - XREG(45) = 0x24; - XREG(46) = 0x10; + XREG(39) = 140; + XREG(40) = 20; + XREG(41) = 300; + XREG(42) = 100; + XREG(43) = 70; + XREG(44) = 50; + XREG(45) = 36; + XREG(46) = 16; XREG(47) = 8; - R_MAGIC_BAR_SMALL_Y = 0x22; - R_MAGIC_BAR_X = 0x12; - R_MAGIC_BAR_LARGE_Y = 0x2A; - R_MAGIC_FILL_X = 0x1A; + R_MAGIC_BAR_SMALL_Y = 34; + R_MAGIC_BAR_X = 18; + R_MAGIC_BAR_LARGE_Y = 42; + R_MAGIC_FILL_X = 26; XREG(52) = 0; XREG(53) = 1; - XREG(54) = 0x41; - XREG(55) = 0x3C; - XREG(56) = 0x10; - XREG(57) = 0x50; - XREG(58) = 0x50; - XREG(59) = 0xC; + XREG(54) = 65; + XREG(55) = 60; + XREG(56) = 16; + XREG(57) = 80; + XREG(58) = 80; + XREG(59) = 12; XREG(60) = 1; XREG(61) = 3; XREG(62) = 0; - XREG(63) = 0x64; - XREG(64) = 0x9E; - XREG(65) = 0x66; - XREG(66) = 0x30; - XREG(67) = 0x36; - XREG(68) = 0x46; - XREG(69) = 0x56; - XREG(70) = -0x12C; + XREG(63) = 100; + XREG(64) = 158; + XREG(65) = 102; + XREG(66) = 48; + XREG(67) = 54; + XREG(68) = 70; + XREG(69) = 86; + XREG(70) = -300; XREG(71) = 0; - XREG(72) = 0x36; - XREG(73) = 0x30; - XREG(74) = 0x80; - XREG(75) = 0x40; - XREG(76) = 0x800; - XREG(77) = 0x200; - XREG(78) = 0x60; - XREG(79) = 0x62; + XREG(72) = 54; + XREG(73) = 48; + XREG(74) = 128; + XREG(75) = 64; + XREG(76) = 2048; + XREG(77) = 512; + XREG(78) = 96; + XREG(79) = 98; XREG(80) = 0; - XREG(81) = 0x32; - XREG(82) = 0x19; - XREG(83) = 0x64; - XREG(84) = 0x64; + XREG(81) = 50; + XREG(82) = 25; + XREG(83) = 100; + XREG(84) = 100; XREG(85) = 0; XREG(86) = 0; XREG(87) = 0; - XREG(88) = -0x32; - XREG(89) = -0x64; - XREG(90) = -0x1F4; + XREG(88) = -50; + XREG(89) = -100; + XREG(90) = -500; XREG(91) = 0; - XREG(92) = 0x64; - XREG(93) = 0x64; - XREG(94) = 0xA0; - XREG(95) = 0xC8; - WREG(2) = -0x17C0; - WREG(3) = 0x248B; + XREG(92) = 100; + XREG(93) = 100; + XREG(94) = 160; + XREG(95) = 200; + WREG(2) = -6080; + WREG(3) = 9355; WREG(4) = 8; WREG(5) = 3; WREG(6) = 8; WREG(7) = 0; - WREG(8) = 0x64; - WREG(9) = 0x6D; - WREG(10) = 0x97; - WREG(11) = 0x94; - WREG(12) = 0x17; - WREG(13) = 0x16; - WREG(14) = -0x17C; - WREG(15) = -0x15E; - WREG(16) = -0xAF; - WREG(17) = 0x9B; - WREG(18) = 0xA; - WREG(19) = 0xA; - WREG(20) = -0x32; - WREG(21) = -0x36; - WREG(22) = -0x20; - WREG(23) = -0x26; - WREG(24) = -0x24; - WREG(25) = 0x28; - WREG(26) = -0x28; + WREG(8) = 100; + WREG(9) = 109; + WREG(10) = 151; + WREG(11) = 148; + WREG(12) = 23; + WREG(13) = 22; + WREG(14) = -380; + WREG(15) = -350; + WREG(16) = -175; + WREG(17) = 155; + WREG(18) = 10; + WREG(19) = 10; + WREG(20) = -50; + WREG(21) = -54; + WREG(22) = -32; + WREG(23) = -38; + WREG(24) = -36; + WREG(25) = 40; + WREG(26) = -40; WREG(27) = 0; WREG(28) = 0; - R_OW_MINIMAP_X = 0xEE; - R_OW_MINIMAP_Y = 0xA4; - R_MINIMAP_TOGGLED = 0; - WREG(32) = 0x7A; - WREG(33) = 0x3C; + R_OW_MINIMAP_X = 238; + R_OW_MINIMAP_Y = 164; + R_MINIMAP_DISABLED = false; + WREG(32) = 122; + WREG(33) = 60; WREG(35) = 0; WREG(36) = 0; - WREG(37) = 0x64; - WREG(38) = 0x63; - WREG(39) = 0x6D; - R_B_LABEL_X(0) = 0x97; - R_B_LABEL_X(1) = 0x95; - R_B_LABEL_X(2) = 0x94; - R_B_LABEL_Y(0) = 0x17; - R_B_LABEL_Y(1) = 0x16; - R_B_LABEL_Y(2) = 0x16; - WREG(46) = -0x17C; - WREG(47) = -0x168; - WREG(48) = -0x15E; - WREG(49) = -0x30; - WREG(50) = 0x10; - WREG(51) = -0x3E; - WREG(52) = 0x16; - WREG(53) = -0x54; - WREG(54) = 0x14; - WREG(55) = -0x35; - WREG(56) = 0x28; - WREG(57) = -0x40; - WREG(58) = 0x2F; - WREG(59) = -0x54; - WREG(60) = 0x2C; - WREG(61) = -0x2A; - WREG(62) = 0x20; - WREG(63) = -0x2D; - WREG(64) = -0x25; - WREG(65) = 0x1E; - WREG(66) = -0x32; - R_DGN_MINIMAP_X = 0xCC; - R_DGN_MINIMAP_Y = 0x8C; - WREG(87) = 0x50; - WREG(88) = 0x46; - WREG(89) = 0x28; - WREG(90) = 0x140; - WREG(91) = 0x28; + WREG(37) = 100; + WREG(38) = 99; + WREG(39) = 109; + R_B_LABEL_X(0) = B_BUTTON_X - 9; + R_B_LABEL_X(1) = B_BUTTON_X - 11; + R_B_LABEL_X(2) = B_BUTTON_X - 12; + R_B_LABEL_Y(0) = B_BUTTON_Y + 6; + R_B_LABEL_Y(1) = B_BUTTON_Y + 5; + R_B_LABEL_Y(2) = B_BUTTON_Y + 5; + WREG(46) = -380; + WREG(47) = -360; + WREG(48) = -350; + WREG(49) = -48; + WREG(50) = 16; + WREG(51) = -62; + WREG(52) = 22; + WREG(53) = -84; + WREG(54) = 20; + WREG(55) = -53; + WREG(56) = 40; + WREG(57) = -64; + WREG(58) = 47; + WREG(59) = -84; + WREG(60) = 44; + WREG(61) = -42; + WREG(62) = 32; + WREG(63) = -45; + WREG(64) = -37; + WREG(65) = 30; + WREG(66) = -50; + R_DGN_MINIMAP_X = 204; + R_DGN_MINIMAP_Y = 140; + WREG(87) = 80; + WREG(88) = 70; + WREG(89) = 40; + WREG(90) = 320; + WREG(91) = 40; WREG(92) = 3; WREG(93) = 6; WREG(94) = 3; WREG(95) = 6; if (gSaveContext.gameMode == 0) { - VREG(0) = 0x34; - VREG(1) = 0x24; - VREG(2) = 0xD6; - VREG(3) = 0x4C; - VREG(4) = 0x130; - VREG(5) = 0x1AE; + VREG(0) = 52; + VREG(1) = 36; + VREG(2) = 214; + VREG(3) = 76; + VREG(4) = 304; + VREG(5) = 430; VREG(6) = 1; - VREG(7) = 0x4E; - VREG(8) = 0xA6; - VREG(9) = 0x28; - R_COMPASS_SCALE_X = 0x20; - R_COMPASS_SCALE_Y = 0x20; - R_COMPASS_OFFSET_X = 0x6E; - R_COMPASS_OFFSET_Y = -0x2E4; + VREG(7) = 78; + VREG(8) = 166; + VREG(9) = 40; + R_COMPASS_SCALE_X = 32; + R_COMPASS_SCALE_Y = 32; + R_COMPASS_OFFSET_X = 110; + R_COMPASS_OFFSET_Y = -740; R_MINIMAP_COLOR(0) = 0; R_MINIMAP_COLOR(1) = 255; R_MINIMAP_COLOR(2) = 255; @@ -536,68 +536,68 @@ void func_80111070(void) { VREG(25) = 0; VREG(26) = 0; VREG(27) = 0; - VREG(28) = 0x62; - VREG(29) = 0x12; + VREG(28) = 98; + VREG(29) = 18; VREG(30) = 0; VREG(31) = 0; VREG(32) = 0; - VREG(33) = 0x46; - VREG(34) = 0xFF; - VREG(35) = 0x50; - VREG(36) = 0x46; - VREG(37) = 0xFF; - VREG(38) = 0x50; + VREG(33) = 70; + VREG(34) = 255; + VREG(35) = 80; + VREG(36) = 70; + VREG(37) = 255; + VREG(38) = 80; VREG(40) = 9; - VREG(42) = 0xFA; - VREG(43) = 0x1B8; - VREG(44) = 0xA; - VREG(45) = 0xBE; - VREG(46) = 0xB8; - VREG(47) = 0xB0; - VREG(48) = 0xAC; - VREG(49) = 0xAA; - VREG(50) = 0x1E; + VREG(42) = 250; + VREG(43) = 440; + VREG(44) = 10; + VREG(45) = 190; + VREG(46) = 184; + VREG(47) = 176; + VREG(48) = 172; + VREG(49) = 170; + VREG(50) = 30; VREG(51) = 0; - VREG(52) = -0x10; - VREG(53) = 0xE6; - VREG(54) = 0xE6; - VREG(55) = 0x78; - VREG(56) = -0x2D0; - VREG(57) = 0xFF; - VREG(58) = 0xFF; - VREG(59) = 0xFF; - VREG(60) = 0x14; - VREG(61) = 0x64; + VREG(52) = -16; + VREG(53) = 230; + VREG(54) = 230; + VREG(55) = 120; + VREG(56) = -720; + VREG(57) = 255; + VREG(58) = 255; + VREG(59) = 255; + VREG(60) = 20; + VREG(61) = 100; VREG(62) = 0; - VREG(63) = 0xA; - R_ITEM_AMMO_X(1) = 0xE4; - R_ITEM_AMMO_X(2) = 0xFA; - R_ITEM_AMMO_X(3) = 0x110; - R_ITEM_AMMO_Y(0) = 0x23; - R_ITEM_AMMO_Y(1) = 0x23; - R_ITEM_AMMO_Y(2) = 0x33; - R_ITEM_AMMO_Y(3) = 0x23; + VREG(63) = 10; + R_ITEM_AMMO_X(1) = C_LEFT_BUTTON_X + 1; + R_ITEM_AMMO_X(2) = C_DOWN_BUTTON_X + 1; + R_ITEM_AMMO_X(3) = C_RIGHT_BUTTON_X + 1; + R_ITEM_AMMO_Y(0) = B_BUTTON_Y + 18; + R_ITEM_AMMO_Y(1) = C_LEFT_BUTTON_Y + 17; + R_ITEM_AMMO_Y(2) = C_DOWN_BUTTON_Y + 17; + R_ITEM_AMMO_Y(3) = C_RIGHT_BUTTON_Y + 17; VREG(72) = 0; VREG(73) = 0; VREG(74) = 0; VREG(75) = 0; - R_ITEM_ICON_WIDTH(0) = 0x1E; - R_ITEM_ICON_WIDTH(1) = 0x18; - R_ITEM_ICON_WIDTH(2) = 0x18; - R_ITEM_ICON_WIDTH(3) = 0x18; - R_ITEM_BTN_WIDTH(0) = 0x1D; - R_ITEM_BTN_WIDTH(1) = 0x1B; - R_ITEM_BTN_WIDTH(2) = 0x1B; - R_ITEM_BTN_WIDTH(3) = 0x1B; + R_ITEM_ICON_WIDTH(0) = 30; + R_ITEM_ICON_WIDTH(1) = 24; + R_ITEM_ICON_WIDTH(2) = 24; + R_ITEM_ICON_WIDTH(3) = 24; + R_ITEM_BTN_WIDTH(0) = 29; + R_ITEM_BTN_WIDTH(1) = 27; + R_ITEM_BTN_WIDTH(2) = 27; + R_ITEM_BTN_WIDTH(3) = 27; VREG(84) = 0; - VREG(85) = 0x32; + VREG(85) = 50; VREG(86) = 0; - VREG(87) = 0x40; - VREG(88) = 0x42; + VREG(87) = 64; + VREG(88) = 66; VREG(89) = 0; - VREG(90) = 0x7E; - VREG(91) = 0x7C; - VREG(92) = -0x3F; + VREG(90) = 126; + VREG(91) = 124; + VREG(92) = -63; } void func_80112098(GlobalContext* globalCtx) { diff --git a/src/code/z_lifemeter.c b/src/code/z_lifemeter.c index 2a1d6b987..68bda8d01 100644 --- a/src/code/z_lifemeter.c +++ b/src/code/z_lifemeter.c @@ -1,52 +1,6 @@ #include "global.h" #include "textures/parameter_static/parameter_static.h" -/** - * These are the colors for the hearts in the interface. The prim color is the red color of the heart - * for the base hearts, while the prim color for the double defense hearts is the white outline. The - * env color for the base hearts is the purple-ish outline, while the env color for the double defense - * hearts is the red color of the hearts. - */ - -#define HEARTS_PRIM_R 255 -#define HEARTS_PRIM_G 70 -#define HEARTS_PRIM_B 50 - -#define HEARTS_ENV_R 50 -#define HEARTS_ENV_G 40 -#define HEARTS_ENV_B 60 - -#define HEARTS_DD_PRIM_R 255 -#define HEARTS_DD_PRIM_G 255 -#define HEARTS_DD_PRIM_B 255 - -#define HEARTS_DD_ENV_R 200 -#define HEARTS_DD_ENV_G 0 -#define HEARTS_DD_ENV_B 0 - -/** - * The burn and drown colors listed here are unused. Prerelease footage of the game confirms that at one - * point in development the orange color was to be used while taking damage from hot environments. - * Based on this, we can assume that the blue heart color was to be used while drowning. - * In the final game these environments only have a timer and do not damage you continuously. - */ - -#define HEARTS_BURN_PRIM_R 255 -#define HEARTS_BURN_PRIM_G 190 -#define HEARTS_BURN_PRIM_B 0 - -#define HEARTS_BURN_ENV_R 255 -#define HEARTS_BURN_ENV_G 0 -#define HEARTS_BURN_ENV_B 0 - -#define HEARTS_DROWN_PRIM_R 100 -#define HEARTS_DROWN_PRIM_G 100 -#define HEARTS_DROWN_PRIM_B 255 - -#define HEARTS_DROWN_ENV_R 0 -#define HEARTS_DROWN_ENV_G 0 -#define HEARTS_DROWN_ENV_B 255 - static s16 sHeartsPrimColors[3][3] = { { HEARTS_PRIM_R, HEARTS_PRIM_G, HEARTS_PRIM_B }, { HEARTS_BURN_PRIM_R, HEARTS_BURN_PRIM_G, HEARTS_BURN_PRIM_B }, // unused @@ -323,19 +277,19 @@ s32 func_80078E84(GlobalContext* globalCtx) { } u64* sHeartTextures[] = { - gHUDHeartFullTex, gHUDHeartQuarterTex, gHUDHeartQuarterTex, gHUDHeartQuarterTex, - gHUDHeartQuarterTex, gHUDHeartQuarterTex, gHUDHeartHalfTex, gHUDHeartHalfTex, - gHUDHeartHalfTex, gHUDHeartHalfTex, gHUDHeartHalfTex, gHUDHeartThreeQuarterTex, - gHUDHeartThreeQuarterTex, gHUDHeartThreeQuarterTex, gHUDHeartThreeQuarterTex, gHUDHeartThreeQuarterTex, + gHeartFullTex, gHeartQuarterTex, gHeartQuarterTex, gHeartQuarterTex, + gHeartQuarterTex, gHeartQuarterTex, gHeartHalfTex, gHeartHalfTex, + gHeartHalfTex, gHeartHalfTex, gHeartHalfTex, gHeartThreeQuarterTex, + gHeartThreeQuarterTex, gHeartThreeQuarterTex, gHeartThreeQuarterTex, gHeartThreeQuarterTex, }; u64* sHeartDDTextures[] = { - gHUDDefenseHeartFullTex, gHUDDefenseHeartQuarterTex, gHUDDefenseHeartQuarterTex, - gHUDDefenseHeartQuarterTex, gHUDDefenseHeartQuarterTex, gHUDDefenseHeartQuarterTex, - gHUDDefenseHeartHalfTex, gHUDDefenseHeartHalfTex, gHUDDefenseHeartHalfTex, - gHUDDefenseHeartHalfTex, gHUDDefenseHeartHalfTex, gHUDDefenseHeartThreeQuarterTex, - gHUDDefenseHeartThreeQuarterTex, gHUDDefenseHeartThreeQuarterTex, gHUDDefenseHeartThreeQuarterTex, - gHUDDefenseHeartThreeQuarterTex, + gDefenseHeartFullTex, gDefenseHeartQuarterTex, gDefenseHeartQuarterTex, + gDefenseHeartQuarterTex, gDefenseHeartQuarterTex, gDefenseHeartQuarterTex, + gDefenseHeartHalfTex, gDefenseHeartHalfTex, gDefenseHeartHalfTex, + gDefenseHeartHalfTex, gDefenseHeartHalfTex, gDefenseHeartThreeQuarterTex, + gDefenseHeartThreeQuarterTex, gDefenseHeartThreeQuarterTex, gDefenseHeartThreeQuarterTex, + gDefenseHeartThreeQuarterTex, }; void HealthMeter_Draw(GlobalContext* globalCtx) { @@ -413,11 +367,11 @@ void HealthMeter_Draw(GlobalContext* globalCtx) { } if (i < fullHeartCount) { - heartBgImg = gHUDHeartFullTex; + heartBgImg = gHeartFullTex; } else if (i == fullHeartCount) { heartBgImg = sHeartTextures[curHeartFraction]; } else { - heartBgImg = gHUDHeartEmptyTex; + heartBgImg = gHeartEmptyTex; } } else { if (i < fullHeartCount) { @@ -456,11 +410,11 @@ void HealthMeter_Draw(GlobalContext* globalCtx) { } if (i < fullHeartCount) { - heartBgImg = gHUDDefenseHeartFullTex; + heartBgImg = gDefenseHeartFullTex; } else if (i == fullHeartCount) { heartBgImg = sHeartDDTextures[curHeartFraction]; } else { - heartBgImg = gHUDDefenseHeartEmptyTex; + heartBgImg = gDefenseHeartEmptyTex; } } @@ -492,7 +446,7 @@ void HealthMeter_Draw(GlobalContext* globalCtx) { temp2 = 30.0f + offsetX; temp4 = 1.0f; temp4 /= 0.68f; - temp4 *= 1024.0f; + temp4 *= 1 << 10; temp1 = 8.0f; temp1 *= 0.68f; gSPTextureRectangle(OVERLAY_DISP++, (s32)((temp2 - temp1) * 4), (s32)((temp3 - temp1) * 4), diff --git a/src/code/z_map_exp.c b/src/code/z_map_exp.c index 6fa9d2f20..b327e122e 100644 --- a/src/code/z_map_exp.c +++ b/src/code/z_map_exp.c @@ -1,6 +1,7 @@ #include "global.h" #include "vt.h" #include "objects/gameplay_keep/gameplay_keep.h" +#include "textures/parameter_static/parameter_static.h" MapData* gMapData; @@ -377,7 +378,7 @@ void Minimap_Draw(GlobalContext* globalCtx) { case SCENE_HAKADAN: case SCENE_HAKADANCH: case SCENE_ICE_DOUKUTO: - if (!R_MINIMAP_TOGGLED) { + if (!R_MINIMAP_DISABLED) { func_80094520(globalCtx->state.gfxCtx); gDPSetCombineLERP(OVERLAY_DISP++, 1, 0, PRIMITIVE, 0, TEXEL0, 0, PRIMITIVE, 0, 1, 0, PRIMITIVE, 0, TEXEL0, 0, PRIMITIVE, 0); @@ -391,7 +392,7 @@ void Minimap_Draw(GlobalContext* globalCtx) { gSPTextureRectangle(OVERLAY_DISP++, R_DGN_MINIMAP_X << 2, R_DGN_MINIMAP_Y << 2, (R_DGN_MINIMAP_X + 96) << 2, (R_DGN_MINIMAP_Y + 85) << 2, G_TX_RENDERTILE, - 0, 0, 1024, 1024); + 0, 0, 1 << 10, 1 << 10); } if (CHECK_DUNGEON_ITEM(DUNGEON_COMPASS, mapIndex)) { @@ -404,12 +405,12 @@ void Minimap_Draw(GlobalContext* globalCtx) { if (CHECK_BTN_ALL(globalCtx->state.input[0].press.button, BTN_L) && !Gameplay_InCsMode(globalCtx)) { osSyncPrintf("Game_play_demo_mode_check=%d\n", Gameplay_InCsMode(globalCtx)); // clang-format off - if (!R_MINIMAP_TOGGLED) { Audio_PlaySoundGeneral(NA_SE_SY_CAMERA_ZOOM_UP, &D_801333D4, 4, - &D_801333E0, &D_801333E0, &D_801333E8); } + if (!R_MINIMAP_DISABLED) { Audio_PlaySoundGeneral(NA_SE_SY_CAMERA_ZOOM_UP, &D_801333D4, 4, + &D_801333E0, &D_801333E0, &D_801333E8); } else { Audio_PlaySoundGeneral(NA_SE_SY_CAMERA_ZOOM_DOWN, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8); } // clang-format on - R_MINIMAP_TOGGLED ^= 1; + R_MINIMAP_DISABLED ^= 1; } break; @@ -433,7 +434,7 @@ void Minimap_Draw(GlobalContext* globalCtx) { case SCENE_SPOT18: case SCENE_SPOT20: case SCENE_GANON_TOU: - if (!R_MINIMAP_TOGGLED) { + if (!R_MINIMAP_DISABLED) { func_80094520(globalCtx->state.gfxCtx); gDPSetCombineMode(OVERLAY_DISP++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM); @@ -448,7 +449,7 @@ void Minimap_Draw(GlobalContext* globalCtx) { gSPTextureRectangle(OVERLAY_DISP++, R_OW_MINIMAP_X << 2, R_OW_MINIMAP_Y << 2, (R_OW_MINIMAP_X + gMapData->owMinimapWidth[mapIndex]) << 2, (R_OW_MINIMAP_Y + gMapData->owMinimapHeight[mapIndex]) << 2, G_TX_RENDERTILE, 0, - 0, 1024, 1024); + 0, 1 << 10, 1 << 10); if (((globalCtx->sceneNum != SCENE_SPOT01) && (globalCtx->sceneNum != SCENE_SPOT04) && (globalCtx->sceneNum != SCENE_SPOT08)) || @@ -457,25 +458,26 @@ void Minimap_Draw(GlobalContext* globalCtx) { ((gMapData->owEntranceFlag[sEntranceIconMapIndex] != 0xFFFF) && (gSaveContext.infTable[26] & gBitFlags[gMapData->owEntranceFlag[mapIndex]]))) { - gDPLoadTextureBlock(OVERLAY_DISP++, D_02002500, G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 8, 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(OVERLAY_DISP++, gMapDungeonEntranceIconTex, G_IM_FMT_RGBA, G_IM_SIZ_16b, + 8, 8, 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(OVERLAY_DISP++, gMapData->owEntranceIconPosX[sEntranceIconMapIndex] << 2, gMapData->owEntranceIconPosY[sEntranceIconMapIndex] << 2, (gMapData->owEntranceIconPosX[sEntranceIconMapIndex] + 8) << 2, (gMapData->owEntranceIconPosY[sEntranceIconMapIndex] + 8) << 2, - G_TX_RENDERTILE, 0, 0, 1024, 1024); + G_TX_RENDERTILE, 0, 0, 1 << 10, 1 << 10); } } if ((globalCtx->sceneNum == SCENE_SPOT08) && (gSaveContext.infTable[26] & gBitFlags[9])) { - gDPLoadTextureBlock(OVERLAY_DISP++, D_02002500, G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 8, 0, - G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, + gDPLoadTextureBlock(OVERLAY_DISP++, gMapDungeonEntranceIconTex, G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, + 8, 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(OVERLAY_DISP++, 1080, 616, 1112, 648, G_TX_RENDERTILE, 0, 0, 1024, 1024); + gSPTextureRectangle(OVERLAY_DISP++, 1080, 616, 1112, 648, G_TX_RENDERTILE, 0, 0, 1 << 10, + 1 << 10); } Minimap_DrawCompassIcons(globalCtx); // Draw icons for the player spawn and current position @@ -483,12 +485,12 @@ void Minimap_Draw(GlobalContext* globalCtx) { if (CHECK_BTN_ALL(globalCtx->state.input[0].press.button, BTN_L) && !Gameplay_InCsMode(globalCtx)) { // clang-format off - if (!R_MINIMAP_TOGGLED) { Audio_PlaySoundGeneral(NA_SE_SY_CAMERA_ZOOM_UP, &D_801333D4, 4, - &D_801333E0, &D_801333E0, &D_801333E8); } + if (!R_MINIMAP_DISABLED) { Audio_PlaySoundGeneral(NA_SE_SY_CAMERA_ZOOM_UP, &D_801333D4, 4, + &D_801333E0, &D_801333E0, &D_801333E8); } else { Audio_PlaySoundGeneral(NA_SE_SY_CAMERA_ZOOM_DOWN, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8); } // clang-format on - R_MINIMAP_TOGGLED ^= 1; + R_MINIMAP_DISABLED ^= 1; } break; diff --git a/src/code/z_map_mark.c b/src/code/z_map_mark.c index 4c976f8e6..ca25d4bbb 100644 --- a/src/code/z_map_mark.c +++ b/src/code/z_map_mark.c @@ -38,8 +38,8 @@ static u32 sLineBytesImageSizes[] = { 0, 1, 2, 2 }; #define G_IM_SIZ_MARK_LINE_BYTES sLineBytesImageSizes[markInfo->imageSize] static MapMarkInfo sMapMarkInfoTable[] = { - { gHUDTreasureMarkerTex, G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 8, 32, 32, 1024, 1024 }, // Chest Icon - { gHUDBossMarkerTex, G_IM_FMT_IA, G_IM_SIZ_8b, 8, 8, 32, 32, 1024, 1024 }, // Boss Skull Icon + { gMapChestIconTex, G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 8, 32, 32, 1 << 10, 1 << 10 }, // Chest Icon + { gMapBossIconTex, G_IM_FMT_IA, G_IM_SIZ_8b, 8, 8, 32, 32, 1 << 10, 1 << 10 }, // Boss Skull Icon }; static MapMarkDataOverlay sMapMarkDataOvl = { diff --git a/src/code/z_message_PAL.c b/src/code/z_message_PAL.c index 1dd79776c..3423934dc 100644 --- a/src/code/z_message_PAL.c +++ b/src/code/z_message_PAL.c @@ -1,4 +1,5 @@ #include "global.h" +#include "textures/parameter_static/parameter_static.h" #pragma GLOBAL_ASM("asm/non_matchings/code/z_message_PAL/func_801069B0.s") diff --git a/src/code/z_moji.c b/src/code/z_moji.c index b38a587db..7c200f63d 100644 --- a/src/code/z_moji.c +++ b/src/code/z_moji.c @@ -50,7 +50,7 @@ void func_8007B9A4(GraphicsContext* gfxCtx, u8 arg1) { } gSPTextureRectangle(POLY_OPA_DISP++, D_80120120 << 2, D_80120124 << 2, (D_80120120 + 8) << 2, (D_80120124 + 8) << 2, - G_TX_RENDERTILE, (u16)(arg1 & 4) * 64, (u16)(arg1 >> 3) * 256, 1024, 1024); + G_TX_RENDERTILE, (u16)(arg1 & 4) * 64, (u16)(arg1 >> 3) * 256, 1 << 10, 1 << 10); CLOSE_DISPS(gfxCtx, "../z_moji.c", 123); } diff --git a/src/code/z_parameter.c b/src/code/z_parameter.c index 47aed90f6..96db043c8 100644 --- a/src/code/z_parameter.c +++ b/src/code/z_parameter.c @@ -1,5 +1,8 @@ #include "global.h" #include "vt.h" +#include "textures/parameter_static/parameter_static.h" +#include "textures/do_action_static/do_action_static.h" +#include "textures/icon_item_static/icon_item_static.h" typedef struct { /* 0x00 */ u8 scene; @@ -8,7 +11,7 @@ typedef struct { /* 0x03 */ u8 flags3; } RestrictionFlags; -RestrictionFlags sRestrictionFlags[] = { +static RestrictionFlags sRestrictionFlags[] = { { SCENE_SPOT00, 0x00, 0x00, 0x10 }, { SCENE_SPOT01, 0x00, 0x00, 0x10 }, { SCENE_SPOT02, 0x00, 0x00, 0x10 }, @@ -112,28 +115,28 @@ RestrictionFlags sRestrictionFlags[] = { { 0xFF, 0x00, 0x00, 0x00 }, }; -s16 sHBAScoreTier = 0; -u16 sHBAScoreDigits[] = { 0, 0, 0, 0 }; +static s16 sHBAScoreTier = 0; +static u16 sHBAScoreDigits[] = { 0, 0, 0, 0 }; -u16 sCUpInvisible = 0; -u16 sCUpTimer = 0; +static u16 sCUpInvisible = 0; +static u16 sCUpTimer = 0; s16 gSpoilingItems[] = { ITEM_ODD_MUSHROOM, ITEM_FROG, ITEM_EYEDROPS }; s16 gSpoilingItemReverts[] = { ITEM_COJIRO, ITEM_PRESCRIPTION, ITEM_PRESCRIPTION }; -s16 sMagicBorderR = 255; -s16 sMagicBorderG = 255; -s16 sMagicBorderB = 255; +static s16 sMagicBorderR = 255; +static s16 sMagicBorderG = 255; +static s16 sMagicBorderB = 255; -s16 sExtraItemBases[] = { +static s16 sExtraItemBases[] = { ITEM_STICK, ITEM_STICK, ITEM_NUT, ITEM_NUT, ITEM_BOMB, ITEM_BOMB, ITEM_BOMB, ITEM_BOMB, ITEM_BOW, ITEM_BOW, ITEM_BOW, ITEM_SEEDS, ITEM_BOMBCHU, ITEM_BOMBCHU, ITEM_STICK, ITEM_STICK, ITEM_NUT, ITEM_NUT, }; -s16 D_80125A58 = 0; -s16 D_80125A5C = 0; +static s16 D_80125A58 = 0; +static s16 D_80125A5C = 0; -Gfx sSetupDL_80125A60[] = { +static Gfx sSetupDL_80125A60[] = { gsDPPipeSync(), gsSPClearGeometryMode(G_ZBUFFER | G_SHADE | G_CULL_BOTH | G_FOG | G_LIGHTING | G_TEXTURE_GEN | G_TEXTURE_GEN_LINEAR | G_SHADING_SMOOTH | G_LOD), @@ -1297,9 +1300,8 @@ void func_80084BF4(GlobalContext* globalCtx, u16 flag) { } } -s16 sAmmoRefillCounts[] = { 5, 10, 20, 30, 5, 10, 30, 0, 5, 20, 1, 5, 20, 50, 200, 10 }; - u8 Item_Give(GlobalContext* globalCtx, u8 item) { + static s16 sAmmoRefillCounts[] = { 5, 10, 20, 30, 5, 10, 30, 0, 5, 20, 1, 5, 20, 50, 200, 10 }; s16 i; s16 slot; s16 temp; @@ -2036,9 +2038,9 @@ void func_80086D5C(s32* buf, u16 size) { } } -u32 sDoActionTextures[] = { 0x07000000, 0x07000180 }; - void Interface_LoadActionLabel(InterfaceContext* interfaceCtx, u16 action, s16 arg2) { + static void* sDoActionTextures[] = { gAttackDoActionENGTex, gCheckDoActionENGTex }; + if (action >= 0x1D) { action = 0x0A; } @@ -2340,10 +2342,10 @@ s32 func_80087708(GlobalContext* globalCtx, s16 arg1, s16 arg2) { void Interface_UpdateMagicBar(GlobalContext* globalCtx) { static s16 sMagicBorderColors[][3] = { - { 0xFF, 0xFF, 0xFF }, - { 0x96, 0x96, 0x96 }, - { 0xFF, 0xFF, 0x96 }, - { 0xFF, 0xFF, 0x32 }, + { 255, 255, 255 }, + { 150, 150, 150 }, + { 255, 255, 150 }, + { 255, 255, 50 }, }; static s16 sMagicBorderIndexes[] = { 0, 1, 1, 0 }; static s16 sMagicBorderRatio = 2; @@ -2545,17 +2547,18 @@ void Interface_DrawMagicBar(GlobalContext* globalCtx) { gDPSetPrimColor(OVERLAY_DISP++, 0, 0, sMagicBorderR, sMagicBorderG, sMagicBorderB, interfaceCtx->magicAlpha); gDPSetEnvColor(OVERLAY_DISP++, 100, 50, 50, 255); - OVERLAY_DISP = Gfx_TextureIA8(OVERLAY_DISP, D_020038C0, 8, 16, R_MAGIC_BAR_X, magicBarY, 8, 16, 1024, 1024); + OVERLAY_DISP = + Gfx_TextureIA8(OVERLAY_DISP, gMagicBarEndTex, 8, 16, R_MAGIC_BAR_X, magicBarY, 8, 16, 1 << 10, 1 << 10); - OVERLAY_DISP = Gfx_TextureIA8(OVERLAY_DISP, D_02003940, 24, 16, R_MAGIC_BAR_X + 8, magicBarY, - gSaveContext.unk_13F4, 16, 1024, 1024); + OVERLAY_DISP = Gfx_TextureIA8(OVERLAY_DISP, gMagicBarMidTex, 24, 16, R_MAGIC_BAR_X + 8, magicBarY, + gSaveContext.unk_13F4, 16, 1 << 10, 1 << 10); - gDPLoadTextureBlock(OVERLAY_DISP++, D_020038C0, G_IM_FMT_IA, G_IM_SIZ_8b, 8, 16, 0, G_TX_MIRROR | G_TX_WRAP, - G_TX_NOMIRROR | G_TX_WRAP, 3, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); + gDPLoadTextureBlock(OVERLAY_DISP++, gMagicBarEndTex, G_IM_FMT_IA, G_IM_SIZ_8b, 8, 16, 0, + G_TX_MIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, 3, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); gSPTextureRectangle(OVERLAY_DISP++, ((R_MAGIC_BAR_X + gSaveContext.unk_13F4) + 8) << 2, magicBarY << 2, ((R_MAGIC_BAR_X + gSaveContext.unk_13F4) + 16) << 2, (magicBarY + 16) << 2, G_TX_RENDERTILE, - 256, 0, 1024, 1024); + 256, 0, 1 << 10, 1 << 10); gDPPipeSync(OVERLAY_DISP++); gDPSetCombineLERP(OVERLAY_DISP++, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, 0, 0, 0, PRIMITIVE, PRIMITIVE, @@ -2563,16 +2566,16 @@ void Interface_DrawMagicBar(GlobalContext* globalCtx) { gDPSetEnvColor(OVERLAY_DISP++, 0, 0, 0, 255); if (gSaveContext.unk_13F0 == 4) { - // Yellow part of the bar being used when casting a spell + // Yellow part of the bar indicating the amount of magic to be subtracted gDPSetPrimColor(OVERLAY_DISP++, 0, 0, 250, 250, 0, interfaceCtx->magicAlpha); - gDPLoadMultiBlock_4b(OVERLAY_DISP++, D_02003AC0, 0, G_TX_RENDERTILE, G_IM_FMT_I, 16, 16, 0, + gDPLoadMultiBlock_4b(OVERLAY_DISP++, gMagicBarFillTex, 0, G_TX_RENDERTILE, G_IM_FMT_I, 16, 16, 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(OVERLAY_DISP++, R_MAGIC_FILL_X << 2, (magicBarY + 3) << 2, (R_MAGIC_FILL_X + gSaveContext.magic) << 2, (magicBarY + 10) << 2, G_TX_RENDERTILE, 0, - 0, 1024, 1024); + 0, 1 << 10, 1 << 10); // Fill the rest of the bar with the normal magic color gDPPipeSync(OVERLAY_DISP++); @@ -2581,19 +2584,19 @@ void Interface_DrawMagicBar(GlobalContext* globalCtx) { gSPTextureRectangle(OVERLAY_DISP++, R_MAGIC_FILL_X << 2, (magicBarY + 3) << 2, (R_MAGIC_FILL_X + gSaveContext.unk_13F8) << 2, (magicBarY + 10) << 2, G_TX_RENDERTILE, - 0, 0, 1024, 1024); + 0, 0, 1 << 10, 1 << 10); } else { // Fill the whole bar with the normal magic color gDPSetPrimColor(OVERLAY_DISP++, 0, 0, R_MAGIC_FILL_COLOR(0), R_MAGIC_FILL_COLOR(1), R_MAGIC_FILL_COLOR(2), interfaceCtx->magicAlpha); - gDPLoadMultiBlock_4b(OVERLAY_DISP++, D_02003AC0, 0, G_TX_RENDERTILE, G_IM_FMT_I, 16, 16, 0, + gDPLoadMultiBlock_4b(OVERLAY_DISP++, gMagicBarFillTex, 0, G_TX_RENDERTILE, G_IM_FMT_I, 16, 16, 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(OVERLAY_DISP++, R_MAGIC_FILL_X << 2, (magicBarY + 3) << 2, (R_MAGIC_FILL_X + gSaveContext.magic) << 2, (magicBarY + 10) << 2, G_TX_RENDERTILE, 0, - 0, 1024, 1024); + 0, 1 << 10, 1 << 10); } } @@ -2647,15 +2650,13 @@ void Interface_DrawActionLabel(GraphicsContext* gfxCtx, void* texture) { CLOSE_DISPS(gfxCtx, "../z_parameter.c", 2829); } -u8* sCUpLabelTextures[] = { D_02002FC0, D_02002FC0, D_02002FC0 }; - -s16 sStartButtonLeftPos[] = { 132, 130, 130 }; - void Interface_DrawItemButtons(GlobalContext* globalCtx) { + static void* cUpLabelTextures[] = { gNaviCUpENGTex, gNaviCUpENGTex, gNaviCUpENGTex }; + static s16 startButtonLeftPos[] = { 132, 130, 130 }; InterfaceContext* interfaceCtx = &globalCtx->interfaceCtx; Player* player = PLAYER; PauseContext* pauseCtx = &globalCtx->pauseCtx; - s16 temp; + s16 temp; // Used as both an alpha value and a button index s16 dxdy; s16 width; s16 height; @@ -2668,8 +2669,9 @@ void Interface_DrawItemButtons(GlobalContext* globalCtx) { gDPSetCombineMode(OVERLAY_DISP++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM); gDPSetPrimColor(OVERLAY_DISP++, 0, 0, R_B_BTN_COLOR(0), R_B_BTN_COLOR(1), R_B_BTN_COLOR(2), interfaceCtx->bAlpha); gDPSetEnvColor(OVERLAY_DISP++, 0, 0, 0, 255); - OVERLAY_DISP = Gfx_TextureIA8(OVERLAY_DISP, D_02000A00[0], 32, 32, R_ITEM_BTN_X(0), R_ITEM_BTN_Y(0), - R_ITEM_BTN_WIDTH(0), R_ITEM_BTN_WIDTH(0), R_ITEM_BTN_DD(0) * 2, R_ITEM_BTN_DD(0) * 2); + OVERLAY_DISP = + Gfx_TextureIA8(OVERLAY_DISP, gButtonBackgroundTex, 32, 32, R_ITEM_BTN_X(0), R_ITEM_BTN_Y(0), + R_ITEM_BTN_WIDTH(0), R_ITEM_BTN_WIDTH(0), R_ITEM_BTN_DD(0) << 1, R_ITEM_BTN_DD(0) << 1); // C-Left Button Color & Texture gDPPipeSync(OVERLAY_DISP++); @@ -2677,30 +2679,30 @@ void Interface_DrawItemButtons(GlobalContext* globalCtx) { interfaceCtx->cLeftAlpha); gSPTextureRectangle(OVERLAY_DISP++, R_ITEM_BTN_X(1) << 2, R_ITEM_BTN_Y(1) << 2, (R_ITEM_BTN_X(1) + R_ITEM_BTN_WIDTH(1)) << 2, (R_ITEM_BTN_Y(1) + R_ITEM_BTN_WIDTH(1)) << 2, - G_TX_RENDERTILE, 0, 0, R_ITEM_BTN_DD(1) * 2, R_ITEM_BTN_DD(1) * 2); + G_TX_RENDERTILE, 0, 0, R_ITEM_BTN_DD(1) << 1, R_ITEM_BTN_DD(1) << 1); // C-Down Button Color & Texture gDPSetPrimColor(OVERLAY_DISP++, 0, 0, R_C_BTN_COLOR(0), R_C_BTN_COLOR(1), R_C_BTN_COLOR(2), interfaceCtx->cDownAlpha); gSPTextureRectangle(OVERLAY_DISP++, R_ITEM_BTN_X(2) << 2, R_ITEM_BTN_Y(2) << 2, (R_ITEM_BTN_X(2) + R_ITEM_BTN_WIDTH(2)) << 2, (R_ITEM_BTN_Y(2) + R_ITEM_BTN_WIDTH(2)) << 2, - G_TX_RENDERTILE, 0, 0, R_ITEM_BTN_DD(2) * 2, R_ITEM_BTN_DD(2) * 2); + G_TX_RENDERTILE, 0, 0, R_ITEM_BTN_DD(2) << 1, R_ITEM_BTN_DD(2) << 1); // C-Right Button Color & Texture gDPSetPrimColor(OVERLAY_DISP++, 0, 0, R_C_BTN_COLOR(0), R_C_BTN_COLOR(1), R_C_BTN_COLOR(2), interfaceCtx->cRightAlpha); gSPTextureRectangle(OVERLAY_DISP++, R_ITEM_BTN_X(3) << 2, R_ITEM_BTN_Y(3) << 2, (R_ITEM_BTN_X(3) + R_ITEM_BTN_WIDTH(3)) << 2, (R_ITEM_BTN_Y(3) + R_ITEM_BTN_WIDTH(3)) << 2, - G_TX_RENDERTILE, 0, 0, R_ITEM_BTN_DD(3) * 2, R_ITEM_BTN_DD(3) * 2); + G_TX_RENDERTILE, 0, 0, R_ITEM_BTN_DD(3) << 1, R_ITEM_BTN_DD(3) << 1); if ((pauseCtx->state < 8) || (pauseCtx->state >= 18)) { if ((globalCtx->pauseCtx.state != 0) || (globalCtx->pauseCtx.debugState != 0)) { // Start Button Texture, Color & Label gDPPipeSync(OVERLAY_DISP++); gDPSetPrimColor(OVERLAY_DISP++, 0, 0, 120, 120, 120, interfaceCtx->startAlpha); - gSPTextureRectangle(OVERLAY_DISP++, sStartButtonLeftPos[gSaveContext.language] << 2, 68, - (sStartButtonLeftPos[gSaveContext.language] + 22) << 2, 156, G_TX_RENDERTILE, 0, 0, - 1462, 1462); + gSPTextureRectangle(OVERLAY_DISP++, startButtonLeftPos[gSaveContext.language] << 2, 68, + (startButtonLeftPos[gSaveContext.language] + 22) << 2, 156, G_TX_RENDERTILE, 0, 0, 1462, + 1462); gDPPipeSync(OVERLAY_DISP++); gDPSetPrimColor(OVERLAY_DISP++, 0, 0, 255, 255, 255, interfaceCtx->startAlpha); gDPSetEnvColor(OVERLAY_DISP++, 0, 0, 0, 0); @@ -2711,7 +2713,7 @@ void Interface_DrawItemButtons(GlobalContext* globalCtx) { G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); - dxdy = 1024.0f / (R_START_LABEL_DD(gSaveContext.language) / 100.0f); + dxdy = (1 << 10) / (R_START_LABEL_DD(gSaveContext.language) / 100.0f); width = 48.0f / (R_START_LABEL_DD(gSaveContext.language) / 100.0f); height = 16.0f / (R_START_LABEL_DD(gSaveContext.language) / 100.0f); gSPTextureRectangle( @@ -2739,19 +2741,19 @@ void Interface_DrawItemButtons(GlobalContext* globalCtx) { gDPSetPrimColor(OVERLAY_DISP++, 0, 0, R_C_BTN_COLOR(0), R_C_BTN_COLOR(1), R_C_BTN_COLOR(2), temp); gDPSetCombineMode(OVERLAY_DISP++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM); gSPTextureRectangle(OVERLAY_DISP++, R_C_UP_BTN_X << 2, R_C_UP_BTN_Y << 2, (R_C_UP_BTN_X + 16) << 2, - (R_C_UP_BTN_Y + 16) << 2, G_TX_RENDERTILE, 0, 0, 2048, 2048); + (R_C_UP_BTN_Y + 16) << 2, G_TX_RENDERTILE, 0, 0, 2 << 10, 2 << 10); gDPPipeSync(OVERLAY_DISP++); gDPSetPrimColor(OVERLAY_DISP++, 0, 0, 255, 255, 255, temp); gDPSetEnvColor(OVERLAY_DISP++, 0, 0, 0, 0); gDPSetCombineLERP(OVERLAY_DISP++, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0); - gDPLoadTextureBlock_4b(OVERLAY_DISP++, sCUpLabelTextures[gSaveContext.language], G_IM_FMT_IA, 32, 8, 0, + gDPLoadTextureBlock_4b(OVERLAY_DISP++, cUpLabelTextures[gSaveContext.language], G_IM_FMT_IA, 32, 8, 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(OVERLAY_DISP++, R_C_UP_ICON_X << 2, R_C_UP_ICON_Y << 2, (R_C_UP_ICON_X + 32) << 2, - (R_C_UP_ICON_Y + 8) << 2, G_TX_RENDERTILE, 0, 0, 1024, 1024); + (R_C_UP_ICON_Y + 8) << 2, G_TX_RENDERTILE, 0, 0, 1 << 10, 1 << 10); } sCUpTimer--; @@ -2777,9 +2779,9 @@ void Interface_DrawItemButtons(GlobalContext* globalCtx) { interfaceCtx->cRightAlpha); } - OVERLAY_DISP = Gfx_TextureIA8(OVERLAY_DISP, D_02000A00[temp + 1], 0x20, 0x20, R_ITEM_BTN_X(temp), - R_ITEM_BTN_Y(temp), R_ITEM_BTN_WIDTH(temp), R_ITEM_BTN_WIDTH(temp), - R_ITEM_BTN_DD(temp) * 2, R_ITEM_BTN_DD(temp) * 2); + OVERLAY_DISP = Gfx_TextureIA8(OVERLAY_DISP, ((u8*)gButtonBackgroundTex + ((32 * 32) * (temp + 1))), 32, 32, + R_ITEM_BTN_X(temp), R_ITEM_BTN_Y(temp), R_ITEM_BTN_WIDTH(temp), + R_ITEM_BTN_WIDTH(temp), R_ITEM_BTN_DD(temp) << 1, R_ITEM_BTN_DD(temp) << 1); } } @@ -2795,7 +2797,7 @@ void Interface_DrawItemIconTexture(GlobalContext* globalCtx, void* texture, s16 gSPTextureRectangle(OVERLAY_DISP++, R_ITEM_ICON_X(button) << 2, R_ITEM_ICON_Y(button) << 2, (R_ITEM_ICON_X(button) + R_ITEM_ICON_WIDTH(button)) << 2, (R_ITEM_ICON_Y(button) + R_ITEM_ICON_WIDTH(button)) << 2, G_TX_RENDERTILE, 0, 0, - R_ITEM_ICON_DD(button) * 2, R_ITEM_ICON_DD(button) * 2); + R_ITEM_ICON_DD(button) << 1, R_ITEM_ICON_DD(button) << 1); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_parameter.c", 3094); } @@ -2847,12 +2849,12 @@ void Interface_DrawAmmoCount(GlobalContext* globalCtx, s16 button, s16 alpha) { } if (i != 0) { - OVERLAY_DISP = Gfx_TextureIA8(OVERLAY_DISP, D_020035C0[i], 8, 8, R_ITEM_AMMO_X(button), - R_ITEM_AMMO_Y(button), 8, 8, 1024, 1024); + OVERLAY_DISP = Gfx_TextureIA8(OVERLAY_DISP, ((u8*)gAmmoDigit0Tex + ((8 * 8) * i)), 8, 8, + R_ITEM_AMMO_X(button), R_ITEM_AMMO_Y(button), 8, 8, 1 << 10, 1 << 10); } - OVERLAY_DISP = Gfx_TextureIA8(OVERLAY_DISP, D_020035C0[ammo], 8, 8, R_ITEM_AMMO_X(button) + 6, - R_ITEM_AMMO_Y(button), 8, 8, 1024, 1024); + OVERLAY_DISP = Gfx_TextureIA8(OVERLAY_DISP, ((u8*)gAmmoDigit0Tex + ((8 * 8) * ammo)), 8, 8, + R_ITEM_AMMO_X(button) + 6, R_ITEM_AMMO_Y(button), 8, 8, 1 << 10, 1 << 10); } CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_parameter.c", 3158); @@ -2873,8 +2875,9 @@ void Interface_DrawActionButton(GlobalContext* globalCtx) { G_MTX_MODELVIEW | G_MTX_LOAD); gSPVertex(OVERLAY_DISP++, &interfaceCtx->actionVtx[0], 4, 0); - gDPLoadTextureBlock(OVERLAY_DISP++, D_02000A00[0], G_IM_FMT_IA, G_IM_SIZ_8b, 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(OVERLAY_DISP++, gButtonBackgroundTex, G_IM_FMT_IA, G_IM_SIZ_8b, 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); gSP1Quadrangle(OVERLAY_DISP++, 0, 2, 3, 1, 0); @@ -2992,52 +2995,38 @@ void func_8008A994(InterfaceContext* interfaceCtx) { func_800AB2C4(&interfaceCtx->view); } -s16 sMagicArrowEffectsR[] = { 255, 100, 255 }; -s16 sMagicArrowEffectsG[] = { 0, 100, 255 }; -s16 sMagicArrowEffectsB[] = { 0, 255, 100 }; - -s16 sTimerDigitLeftPos[] = { 16, 25, 34, 42, 51 }; -s16 sDigitWidth[] = { 9, 9, 8, 9, 9 }; - -// unused, most likely colors -s16 D_80125B1C[][3] = { - { 0, 150, 0 }, { 100, 255, 0 }, { 255, 255, 255 }, { 0, 0, 0 }, { 255, 255, 255 }, -}; - -s16 sRupeeDigitsFirst[] = { 1, 0, 0 }; -s16 sRupeeDigitsCount[] = { 2, 3, 3 }; - -s16 sSpoilingItemEntrances[] = { 0x01AD, 0x0153, 0x0153 }; - -u16 D_80125B54 = 0xC220; // unused -u16 D_80125B58 = 0xC20C; // unused -s16 D_80125B5C[] = { 91, 91 }; // unused - -// Due to an unknown reason, bss ordering changes within the 5 static variables in the function below. -// In order to restore the correct order, we need a specific number of bss variables in the file before that point. -// For this, we introduce 2 dummy variables which end up in padding at the end of the file's bss, so they don't actually -// take space. -s8 sBssDummy1; -s8 sBssDummy2; - #ifdef NON_MATCHING -// mostly regalloc, minor ordering and stack usage differences +// mostly regalloc and minor ordering differences void Interface_Draw(GlobalContext* globalCtx) { + static s16 magicArrowEffectsR[] = { 255, 100, 255 }; + static s16 magicArrowEffectsG[] = { 0, 100, 255 }; + static s16 magicArrowEffectsB[] = { 0, 255, 100 }; + static s16 timerDigitLeftPos[] = { 16, 25, 34, 42, 51 }; + static s16 digitWidth[] = { 9, 9, 8, 9, 9 }; + // unused, most likely colors + static s16 D_80125B1C[][3] = { + { 0, 150, 0 }, { 100, 255, 0 }, { 255, 255, 255 }, { 0, 0, 0 }, { 255, 255, 255 }, + }; + static s16 rupeeDigitsFirst[] = { 1, 0, 0 }; + static s16 rupeeDigitsCount[] = { 2, 3, 3 }; + static s16 spoilingItemEntrances[] = { 0x01AD, 0x0153, 0x0153 }; + static f32 D_80125B54[] = { -40.0f, -35.0f }; // unused + static s16 D_80125B5C[] = { 91, 91 }; // unused static s16 D_8015FFE0; static s16 D_8015FFE2; static s16 D_8015FFE4; static s16 D_8015FFE6; - static s16 sTimerDigits[5]; - MessageContext* msgCtx = &globalCtx->msgCtx; - PauseContext* pauseCtx = &globalCtx->pauseCtx; + static s16 timerDigits[5]; InterfaceContext* interfaceCtx = &globalCtx->interfaceCtx; + PauseContext* pauseCtx = &globalCtx->pauseCtx; + MessageContext* msgCtx = &globalCtx->msgCtx; Player* player = PLAYER; - s16 phi_s3_2; - s16 phi_s3; - s16 phi_s2; - s16 phi_s1; - s16 phi_s0; - s16 sp274; + s16 svar1; + s16 svar2; + s16 svar3; + s16 svar4; + s16 svar5; + s16 svar6; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_parameter.c", 3405); @@ -3056,7 +3045,7 @@ void Interface_Draw(GlobalContext* globalCtx) { // Rupee Icon gDPSetPrimColor(OVERLAY_DISP++, 0, 0, 200, 255, 100, interfaceCtx->magicAlpha); gDPSetEnvColor(OVERLAY_DISP++, 0, 80, 0, 255); - OVERLAY_DISP = Gfx_TextureIA8(OVERLAY_DISP, D_02001F00, 16, 16, 26, 206, 16, 16, 1024, 1024); + OVERLAY_DISP = Gfx_TextureIA8(OVERLAY_DISP, gRupeeCounterIconTex, 16, 16, 26, 206, 16, 16, 1 << 10, 1 << 10); switch (globalCtx->sceneNum) { case SCENE_BMORI1: @@ -3078,7 +3067,8 @@ void Interface_Draw(GlobalContext* globalCtx) { gDPPipeSync(OVERLAY_DISP++); gDPSetPrimColor(OVERLAY_DISP++, 0, 0, 200, 230, 255, interfaceCtx->magicAlpha); gDPSetEnvColor(OVERLAY_DISP++, 0, 0, 20, 255); - OVERLAY_DISP = Gfx_TextureIA8(OVERLAY_DISP, D_02001E00, 16, 16, 26, 190, 16, 16, 1024, 1024); + OVERLAY_DISP = Gfx_TextureIA8(OVERLAY_DISP, gSmallKeyCounterIconTex, 16, 16, 26, 190, 16, 16, + 1 << 10, 1 << 10); // Small Key Counter gDPPipeSync(OVERLAY_DISP++); @@ -3094,26 +3084,24 @@ void Interface_Draw(GlobalContext* globalCtx) { interfaceCtx->counterDigits[3] -= 10; } - phi_s2 = 42; + svar3 = 42; + if (interfaceCtx->counterDigits[2] != 0) { - OVERLAY_DISP = Gfx_TextureI8(OVERLAY_DISP, D_02003040[interfaceCtx->counterDigits[2]], 8, 16, - phi_s2, 190, 8, 16, 1024, 1024); - phi_s2 = 50; + OVERLAY_DISP = Gfx_TextureI8( + OVERLAY_DISP, ((u8*)gCounterDigit0Tex + (8 * 16 * interfaceCtx->counterDigits[2])), 8, 16, + svar3, 190, 8, 16, 1 << 10, 1 << 10); + svar3 += 8; } - OVERLAY_DISP = Gfx_TextureI8(OVERLAY_DISP, D_02003040[interfaceCtx->counterDigits[3]], 8, 16, - phi_s2, 190, 8, 16, 1024, 1024); + OVERLAY_DISP = Gfx_TextureI8(OVERLAY_DISP, + ((u8*)gCounterDigit0Tex + (8 * 16 * interfaceCtx->counterDigits[3])), + 8, 16, svar3, 190, 8, 16, 1 << 10, 1 << 10); } - - phi_s2 = 42; break; default: - phi_s2 = 42; break; } - phi_s2 = 42; - // Rupee Counter gDPPipeSync(OVERLAY_DISP++); @@ -3131,26 +3119,27 @@ void Interface_Draw(GlobalContext* globalCtx) { interfaceCtx->counterDigits[0] = interfaceCtx->counterDigits[1] = 0; interfaceCtx->counterDigits[2] = gSaveContext.rupees; - if ((interfaceCtx->counterDigits[2] >= 10000) || (interfaceCtx->counterDigits[2] < 0)) { + if ((interfaceCtx->counterDigits[2] > 9999) || (interfaceCtx->counterDigits[2] < 0)) { interfaceCtx->counterDigits[2] &= 0xDDD; } while (interfaceCtx->counterDigits[2] >= 100) { - interfaceCtx->counterDigits[2] -= 100; interfaceCtx->counterDigits[0]++; + interfaceCtx->counterDigits[2] -= 100; } while (interfaceCtx->counterDigits[2] >= 10) { - interfaceCtx->counterDigits[2] -= 10; interfaceCtx->counterDigits[1]++; + interfaceCtx->counterDigits[2] -= 10; } - phi_s0 = sRupeeDigitsFirst[CUR_UPG_VALUE(UPG_WALLET)]; - phi_s1 = sRupeeDigitsCount[CUR_UPG_VALUE(UPG_WALLET)]; + svar2 = rupeeDigitsFirst[CUR_UPG_VALUE(UPG_WALLET)]; + svar4 = rupeeDigitsCount[CUR_UPG_VALUE(UPG_WALLET)]; - for (phi_s3 = 0; phi_s3 < phi_s1; phi_s3++, phi_s0++, phi_s2 += 8) { - OVERLAY_DISP = Gfx_TextureI8(OVERLAY_DISP, D_02003040[interfaceCtx->counterDigits[phi_s0]], 8, 16, phi_s2, - 206, 8, 16, 1024, 1024); + for (svar1 = 0, svar3 = 42; svar1 < svar4; svar1++, svar2++, svar3 += 8) { + OVERLAY_DISP = + Gfx_TextureI8(OVERLAY_DISP, ((u8*)gCounterDigit0Tex + (8 * 16 * interfaceCtx->counterDigits[svar2])), 8, + 16, svar3, 206, 8, 16, 1 << 10, 1 << 10); } Interface_DrawMagicBar(globalCtx); @@ -3166,10 +3155,10 @@ void Interface_Draw(GlobalContext* globalCtx) { gDPPipeSync(OVERLAY_DISP++); gDPSetPrimColor(OVERLAY_DISP++, 0, 0, 255, 255, 255, interfaceCtx->bAlpha); - gDPSetCombineMode(OVERLAY_DISP++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM); + gDPSetCombineMode(OVERLAY_DISP++, G_CC_MODULATERGBA_PRIM, G_CC_MODULATERGBA_PRIM); - if (interfaceCtx->unk_1FA == 0) { - // B Button Icon & possibly Ammo Count + if (!(interfaceCtx->unk_1FA)) { + // B Button Icon & Ammo Count if (gSaveContext.equips.buttonItems[0] != ITEM_NONE) { Interface_DrawItemIconTexture(globalCtx, interfaceCtx->iconItemSegment, 0); @@ -3192,7 +3181,7 @@ void Interface_Draw(GlobalContext* globalCtx) { G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); - R_B_LABEL_DD = 1024.0f / (WREG(37 + gSaveContext.language) / 100.0f); + R_B_LABEL_DD = (1 << 10) / (WREG(37 + gSaveContext.language) / 100.0f); gSPTextureRectangle(OVERLAY_DISP++, R_B_LABEL_X(gSaveContext.language) << 2, R_B_LABEL_Y(gSaveContext.language) << 2, (R_B_LABEL_X(gSaveContext.language) + 48) << 2, (R_B_LABEL_Y(gSaveContext.language) + 16) << 2, G_TX_RENDERTILE, 0, 0, R_B_LABEL_DD, @@ -3204,7 +3193,7 @@ void Interface_Draw(GlobalContext* globalCtx) { // C-Left Button Icon & Ammo Count if (gSaveContext.equips.buttonItems[1] < 0xF0) { gDPSetPrimColor(OVERLAY_DISP++, 0, 0, 255, 255, 255, interfaceCtx->cLeftAlpha); - gDPSetCombineMode(OVERLAY_DISP++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM); + gDPSetCombineMode(OVERLAY_DISP++, G_CC_MODULATERGBA_PRIM, G_CC_MODULATERGBA_PRIM); Interface_DrawItemIconTexture(globalCtx, interfaceCtx->iconItemSegment + 0x1000, 1); gDPPipeSync(OVERLAY_DISP++); gDPSetCombineLERP(OVERLAY_DISP++, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0, @@ -3217,7 +3206,7 @@ void Interface_Draw(GlobalContext* globalCtx) { // C-Down Button Icon & Ammo Count if (gSaveContext.equips.buttonItems[2] < 0xF0) { gDPSetPrimColor(OVERLAY_DISP++, 0, 0, 255, 255, 255, interfaceCtx->cDownAlpha); - gDPSetCombineMode(OVERLAY_DISP++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM); + gDPSetCombineMode(OVERLAY_DISP++, G_CC_MODULATERGBA_PRIM, G_CC_MODULATERGBA_PRIM); Interface_DrawItemIconTexture(globalCtx, interfaceCtx->iconItemSegment + 0x2000, 2); gDPPipeSync(OVERLAY_DISP++); gDPSetCombineLERP(OVERLAY_DISP++, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0, @@ -3230,7 +3219,7 @@ void Interface_Draw(GlobalContext* globalCtx) { // C-Right Button Icon & Ammo Count if (gSaveContext.equips.buttonItems[3] < 0xF0) { gDPSetPrimColor(OVERLAY_DISP++, 0, 0, 255, 255, 255, interfaceCtx->cRightAlpha); - gDPSetCombineMode(OVERLAY_DISP++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM); + gDPSetCombineMode(OVERLAY_DISP++, G_CC_MODULATERGBA_PRIM, G_CC_MODULATERGBA_PRIM); Interface_DrawItemIconTexture(globalCtx, interfaceCtx->iconItemSegment + 0x3000, 3); gDPPipeSync(OVERLAY_DISP++); gDPSetCombineLERP(OVERLAY_DISP++, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0, @@ -3274,7 +3263,7 @@ void Interface_Draw(GlobalContext* globalCtx) { // Inventory Equip Effects gSPSegment(OVERLAY_DISP++, 0x08, pauseCtx->iconItemSegment); func_80094A14(globalCtx->state.gfxCtx); - gDPSetCombineMode(OVERLAY_DISP++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM); + gDPSetCombineMode(OVERLAY_DISP++, G_CC_MODULATERGBA_PRIM, G_CC_MODULATERGBA_PRIM); gSPMatrix(OVERLAY_DISP++, &gMtxClear, G_MTX_MODELVIEW | G_MTX_LOAD); pauseCtx->cursorVtx[16].v.ob[0] = pauseCtx->cursorVtx[18].v.ob[0] = pauseCtx->equipAnimX / 10; @@ -3294,24 +3283,24 @@ void Interface_Draw(GlobalContext* globalCtx) { G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); } else { // Magic Arrow Equip Effect - phi_s3_2 = pauseCtx->equipTargetItem - 0xBF; - gDPSetPrimColor(OVERLAY_DISP++, 0, 0, sMagicArrowEffectsR[phi_s3_2], sMagicArrowEffectsG[phi_s3_2], - sMagicArrowEffectsB[phi_s3_2], pauseCtx->equipAnimAlpha); + svar1 = pauseCtx->equipTargetItem - 0xBF; + gDPSetPrimColor(OVERLAY_DISP++, 0, 0, magicArrowEffectsR[svar1], magicArrowEffectsG[svar1], + magicArrowEffectsB[svar1], pauseCtx->equipAnimAlpha); if ((pauseCtx->equipAnimAlpha > 0) && (pauseCtx->equipAnimAlpha < 255)) { - phi_s3_2 = (pauseCtx->equipAnimAlpha / 8) / 2; + svar1 = (pauseCtx->equipAnimAlpha / 8) / 2; pauseCtx->cursorVtx[16].v.ob[0] = pauseCtx->cursorVtx[18].v.ob[0] = - pauseCtx->cursorVtx[16].v.ob[0] - phi_s3_2; + pauseCtx->cursorVtx[16].v.ob[0] - svar1; pauseCtx->cursorVtx[17].v.ob[0] = pauseCtx->cursorVtx[19].v.ob[0] = - pauseCtx->cursorVtx[16].v.ob[0] + phi_s3_2 * 2 + 32; + pauseCtx->cursorVtx[16].v.ob[0] + svar1 * 2 + 32; pauseCtx->cursorVtx[16].v.ob[1] = pauseCtx->cursorVtx[17].v.ob[1] = - pauseCtx->cursorVtx[16].v.ob[1] + phi_s3_2; + pauseCtx->cursorVtx[16].v.ob[1] + svar1; pauseCtx->cursorVtx[18].v.ob[1] = pauseCtx->cursorVtx[19].v.ob[1] = - pauseCtx->cursorVtx[16].v.ob[1] - phi_s3_2 * 2 - 32; + pauseCtx->cursorVtx[16].v.ob[1] - svar1 * 2 - 32; } gSPVertex(OVERLAY_DISP++, &pauseCtx->cursorVtx[16], 4, 0); - gDPLoadTextureBlock(OVERLAY_DISP++, D_080895C0, G_IM_FMT_IA, G_IM_SIZ_8b, 32, 32, 0, + gDPLoadTextureBlock(OVERLAY_DISP++, gMagicArrowEquipEffectTex, G_IM_FMT_IA, G_IM_SIZ_8b, 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); } @@ -3326,66 +3315,65 @@ void Interface_Draw(GlobalContext* globalCtx) { // Carrots rendering if the action corresponds to riding a horse if (interfaceCtx->unk_1EE == 8) { // Load Carrot Icon - gDPLoadTextureBlock(OVERLAY_DISP++, &D_02002100, G_IM_FMT_RGBA, G_IM_SIZ_32b, 16, 16, 0, + gDPLoadTextureBlock(OVERLAY_DISP++, gCarrotIconTex, G_IM_FMT_RGBA, G_IM_SIZ_32b, 16, 16, 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); // Draw 6 carrots - phi_s1 = ZREG(14); - for (phi_s3 = 1; phi_s3 < 7; phi_s3++) { + for (svar1 = 1, svar5 = ZREG(14); svar1 < 7; svar1++, svar5 += 16) { // Carrot Color (based on availability) - if ((interfaceCtx->numHorseBoosts == 0) || (interfaceCtx->numHorseBoosts < phi_s3)) { + if ((interfaceCtx->numHorseBoosts == 0) || (interfaceCtx->numHorseBoosts < svar1)) { gDPSetPrimColor(OVERLAY_DISP++, 0, 0, 0, 150, 255, interfaceCtx->aAlpha); } else { gDPSetPrimColor(OVERLAY_DISP++, 0, 0, 255, 255, 255, interfaceCtx->aAlpha); } - gSPTextureRectangle(OVERLAY_DISP++, phi_s1 << 2, ZREG(15) << 2, (phi_s1 + 16) << 2, - (ZREG(15) + 16) << 2, G_TX_RENDERTILE, 0, 0, 1024, 1024); - - phi_s1 += 16; + gSPTextureRectangle(OVERLAY_DISP++, svar5 << 2, ZREG(15) << 2, (svar5 + 16) << 2, + (ZREG(15) + 16) << 2, G_TX_RENDERTILE, 0, 0, 1 << 10, 1 << 10); } } } else { // Score for the Horseback Archery + svar5 = WREG(32); gDPSetPrimColor(OVERLAY_DISP++, 0, 0, 255, 255, 255, interfaceCtx->bAlpha); // Target Icon - gDPLoadTextureBlock(OVERLAY_DISP++, D_02002600, G_IM_FMT_RGBA, G_IM_SIZ_16b, 24, 16, 0, + gDPLoadTextureBlock(OVERLAY_DISP++, gArcheryScoreIconTex, G_IM_FMT_RGBA, G_IM_SIZ_16b, 24, 16, 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(OVERLAY_DISP++, (WREG(32) + 28) << 2, ZREG(15) << 2, (WREG(32) + 52) << 2, - (ZREG(15) + 16) << 2, G_TX_RENDERTILE, 0, 0, 1024, 1024); + (ZREG(15) + 16) << 2, G_TX_RENDERTILE, 0, 0, 1 << 10, 1 << 10); // Score Counter gDPPipeSync(OVERLAY_DISP++); - gDPSetCombineMode(OVERLAY_DISP++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM); - - phi_s0 = 0; - phi_s1 = WREG(32) + 6 * 9; - for (phi_s3 = 0; phi_s3 < 4; phi_s3++) { - if (sHBAScoreDigits[phi_s3] != 0 || (phi_s0 != 0) || (phi_s3 >= 3)) { - OVERLAY_DISP = - Gfx_TextureI8(OVERLAY_DISP, D_02003040[sHBAScoreDigits[phi_s3]], 8, 16, phi_s1, - ZREG(15) - 2, sDigitWidth[0], VREG(42), VREG(43) * 2, VREG(43) * 2); - phi_s1 += 9; - phi_s0++; + gDPSetCombineLERP(OVERLAY_DISP++, 0, 0, 0, PRIMITIVE, TEXEL0, 0, PRIMITIVE, 0, 0, 0, 0, PRIMITIVE, + TEXEL0, 0, PRIMITIVE, 0); + + svar5 = WREG(32) + 6 * 9; + + for (svar1 = svar2 = 0; svar1 < 4; svar1++) { + if (sHBAScoreDigits[svar1] != 0 || (svar2 != 0) || (svar1 >= 3)) { + OVERLAY_DISP = Gfx_TextureI8( + OVERLAY_DISP, ((u8*)gCounterDigit0Tex + (8 * 16 * sHBAScoreDigits[svar1])), 8, 16, svar5, + (ZREG(15) - 2), digitWidth[0], VREG(42), VREG(43) << 1, VREG(43) << 1); + svar5 += 9; + svar2++; } } gDPPipeSync(OVERLAY_DISP++); - gDPSetCombineMode(OVERLAY_DISP++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM); + gDPSetCombineMode(OVERLAY_DISP++, G_CC_MODULATERGBA_PRIM, G_CC_MODULATERGBA_PRIM); } } if ((gSaveContext.timer2State == 5) && (func_8010BDBC(&globalCtx->msgCtx) == 5)) { // Trade quest timer reached 0 + D_8015FFE6 = 40; gSaveContext.cutsceneIndex = 0; globalCtx->sceneLoadFlag = 0x14; globalCtx->fadeTransition = 3; gSaveContext.timer2State = 0; - D_8015FFE6 = 40; if ((gSaveContext.equips.buttonItems[0] != ITEM_SWORD_KOKIRI) && (gSaveContext.equips.buttonItems[0] != ITEM_SWORD_MASTER) && @@ -3399,17 +3387,17 @@ void Interface_Draw(GlobalContext* globalCtx) { } // Revert any spoiling trade quest items - for (phi_s3 = 0; phi_s3 < ARRAY_COUNT(gSpoilingItems); phi_s3++) { - if (INV_CONTENT(ITEM_TRADE_ADULT) == gSpoilingItems[phi_s3]) { + for (svar1 = 0; svar1 < ARRAY_COUNT(gSpoilingItems); svar1++) { + if (INV_CONTENT(ITEM_TRADE_ADULT) == gSpoilingItems[svar1]) { gSaveContext.eventInf[0] &= 0x7F80; osSyncPrintf("EVENT_INF=%x\n", gSaveContext.eventInf[0]); - globalCtx->nextEntranceIndex = sSpoilingItemEntrances[phi_s3]; - INV_CONTENT(gSpoilingItemReverts[phi_s3]) = gSpoilingItemReverts[phi_s3]; + globalCtx->nextEntranceIndex = spoilingItemEntrances[svar1]; + INV_CONTENT(gSpoilingItemReverts[svar1]) = gSpoilingItemReverts[svar1]; - for (phi_s0 = 1; phi_s0 < 4; phi_s0++) { - if (gSaveContext.equips.buttonItems[phi_s0] == gSpoilingItems[phi_s3]) { - gSaveContext.equips.buttonItems[phi_s0] = gSpoilingItemReverts[phi_s3]; - Interface_LoadItemIcon1(globalCtx, phi_s0); + for (svar2 = 1; svar2 < 4; svar2++) { + if (gSaveContext.equips.buttonItems[svar2] == gSpoilingItems[svar1]) { + gSaveContext.equips.buttonItems[svar2] = gSpoilingItemReverts[svar1]; + Interface_LoadItemIcon1(globalCtx, svar2); } } } @@ -3422,23 +3410,25 @@ void Interface_Draw(GlobalContext* globalCtx) { (globalCtx->transitionMode == 0) && !Gameplay_InCsMode(globalCtx) && (gSaveContext.minigameState != 1) && (globalCtx->shootingGalleryStatus <= 1) && !((globalCtx->sceneNum == SCENE_BOWLING) && Flags_GetSwitch(globalCtx, 0x38))) { - sp274 = 0; + svar6 = 0; switch (gSaveContext.timer1State) { case 1: - gSaveContext.timer1State = 2; + D_8015FFE2 = 20; + D_8015FFE0 = 20; gSaveContext.timer1Value = gSaveContext.health >> 1; - D_8015FFE0 = D_8015FFE2 = 20; + gSaveContext.timer1State = 2; break; case 2: D_8015FFE2--; if (D_8015FFE2 == 0) { - gSaveContext.timer1State = 3; D_8015FFE2 = 20; + gSaveContext.timer1State = 3; } break; case 5: case 11: - D_8015FFE0 = D_8015FFE2 = 20; + D_8015FFE2 = 20; + D_8015FFE0 = 20; if (gSaveContext.timer1State == 5) { gSaveContext.timer1State = 6; } else { @@ -3459,20 +3449,20 @@ void Interface_Draw(GlobalContext* globalCtx) { break; case 3: case 7: - phi_s3 = (gSaveContext.timerX[0] - 26) / D_8015FFE2; - gSaveContext.timerX[0] -= phi_s3; + svar1 = (((void)0, gSaveContext.timerX[0]) - 26) / D_8015FFE2; + gSaveContext.timerX[0] = ((void)0, gSaveContext.timerX[0]) - svar1; if (gSaveContext.healthCapacity > 0xA0) { - phi_s3 = (gSaveContext.timerY[0] - 54) / D_8015FFE2; + svar1 = (((void)0, gSaveContext.timerY[0]) - 54) / D_8015FFE2; } else { - phi_s3 = (gSaveContext.timerY[0] - 46) / D_8015FFE2; + svar1 = (((void)0, gSaveContext.timerY[0]) - 46) / D_8015FFE2; } - gSaveContext.timerY[0] -= phi_s3; + gSaveContext.timerY[0] -= svar1; D_8015FFE2--; if (D_8015FFE2 == 0) { - gSaveContext.timerX[0] = 26; D_8015FFE2 = 20; + gSaveContext.timerX[0] = 26; if (gSaveContext.healthCapacity > 0xA0) { gSaveContext.timerY[0] = 54; @@ -3513,12 +3503,12 @@ void Interface_Draw(GlobalContext* globalCtx) { } D_80125A5C = 0; } else if (gSaveContext.timer1Value > 60) { - if (sTimerDigits[4] == 1) { + if (timerDigits[4] == 1) { Audio_PlaySoundGeneral(NA_SE_SY_MESSAGE_WOMAN, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8); } } else if (gSaveContext.timer1Value >= 11) { - if (sTimerDigits[4] & 1) { + if (timerDigits[4] & 1) { Audio_PlaySoundGeneral(NA_SE_SY_WARNING_COUNT_N, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8); } @@ -3530,21 +3520,20 @@ void Interface_Draw(GlobalContext* globalCtx) { } break; case 13: - phi_s3 = (gSaveContext.timerX[0] - 26) / D_8015FFE2; - gSaveContext.timerX[0] -= phi_s3; + svar1 = (((void)0, gSaveContext.timerX[0]) - 26) / D_8015FFE2; + gSaveContext.timerX[0] = ((void)0, gSaveContext.timerX[0]) - svar1; if (gSaveContext.healthCapacity > 0xA0) { - phi_s3 = (gSaveContext.timerY[0] - 54) / D_8015FFE2; + svar1 = (gSaveContext.timerY[0] - 54) / D_8015FFE2; } else { - phi_s3 = (gSaveContext.timerY[0] - 46) / D_8015FFE2; + svar1 = (gSaveContext.timerY[0] - 46) / D_8015FFE2; } - gSaveContext.timerY[0] -= phi_s3; + gSaveContext.timerY[0] = ((void)0, gSaveContext.timerY[0]) - svar1; D_8015FFE2--; if (D_8015FFE2 == 0) { - gSaveContext.timerX[0] = 26; D_8015FFE2 = 20; - + gSaveContext.timerX[0] = 26; if (gSaveContext.healthCapacity > 0xA0) { gSaveContext.timerY[0] = 54; } else { @@ -3569,8 +3558,8 @@ void Interface_Draw(GlobalContext* globalCtx) { D_8015FFE0 = 20; if (gSaveContext.timer1Value == 3599) { - gSaveContext.timer1State = 15; D_8015FFE2 = 40; + gSaveContext.timer1State = 15; } else { Audio_PlaySoundGeneral(NA_SE_SY_WARNING_COUNT_N, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8); @@ -3580,11 +3569,12 @@ void Interface_Draw(GlobalContext* globalCtx) { break; case 10: if (gSaveContext.timer2State != 0) { + D_8015FFE6 = 20; + D_8015FFE4 = 20; gSaveContext.timerX[1] = 140; gSaveContext.timerY[1] = 80; - D_8015FFE4 = D_8015FFE6 = 20; - if (gSaveContext.timer2State < 7) { + if (gSaveContext.timer2State <= 7) { gSaveContext.timer2State = 2; } else { gSaveContext.timer2State = 8; @@ -3594,17 +3584,17 @@ void Interface_Draw(GlobalContext* globalCtx) { } else { gSaveContext.timer1State = 0; } - break; case 15: break; default: - sp274 = 1; + svar6 = 1; switch (gSaveContext.timer2State) { case 1: case 7: + D_8015FFE6 = 20; + D_8015FFE4 = 20; gSaveContext.timerX[1] = 140; - gSaveContext.timerY[1] = 80; - D_8015FFE4 = D_8015FFE6 = 20; + gSaveContext.timerX[1] = 80; if (gSaveContext.timer2State == 1) { gSaveContext.timer2State = 2; } else { @@ -3628,20 +3618,20 @@ void Interface_Draw(GlobalContext* globalCtx) { osSyncPrintf("event_xp[1]=%d, event_yp[1]=%d TOTAL_EVENT_TM=%d\n", gSaveContext.timerX[1], gSaveContext.timerY[1], gSaveContext.timer2Value); - phi_s3 = (gSaveContext.timerX[1] - 26) / D_8015FFE2; - gSaveContext.timerX[1] -= phi_s3; + svar1 = (((void)0, gSaveContext.timerX[1]) - 26) / D_8015FFE6; + gSaveContext.timerX[1] = ((void)0, gSaveContext.timerX[1]) - svar1; if (gSaveContext.healthCapacity > 0xA0) { - phi_s3 = (gSaveContext.timerY[1] - 54) / D_8015FFE6; + svar1 = (((void)0, gSaveContext.timerY[1]) - 54) / D_8015FFE6; } else { - phi_s3 = (gSaveContext.timerY[1] - 46) / D_8015FFE6; + svar1 = (((void)0, gSaveContext.timerY[1]) - 46) / D_8015FFE6; } - gSaveContext.timerY[1] -= phi_s3; + gSaveContext.timerY[1] = ((void)0, gSaveContext.timerY[1]) - svar1; D_8015FFE6--; if (D_8015FFE6 == 0) { - gSaveContext.timerX[1] = 26; D_8015FFE6 = 20; + gSaveContext.timerX[1] = 26; if (gSaveContext.healthCapacity > 0xA0) { gSaveContext.timerY[1] = 54; @@ -3679,38 +3669,36 @@ void Interface_Draw(GlobalContext* globalCtx) { (globalCtx->sceneNum != SCENE_GANON_FINAL) && (globalCtx->sceneNum != SCENE_GANON_SONOGO) && (globalCtx->sceneNum != SCENE_GANONTIKA_SONOGO))) { + D_8015FFE6 = 40; gSaveContext.timer2State = 5; gSaveContext.cutsceneIndex = 0; - D_8015FFE6 = 40; func_8010B680(globalCtx, 0x71B0, NULL); - func_8002DF54(globalCtx, 0, 8); + func_8002DF54(globalCtx, NULL, 8); } else { - gSaveContext.timer2State = 6; D_8015FFE6 = 40; + gSaveContext.timer2State = 7; } - } else { - if (gSaveContext.timer2Value > 60) { - if (sTimerDigits[4] == 1) { - Audio_PlaySoundGeneral(NA_SE_SY_MESSAGE_WOMAN, &D_801333D4, 4, - &D_801333E0, &D_801333E0, &D_801333E8); - } - } else if (gSaveContext.timer2Value > 10) { - if (sTimerDigits[4] & 1) { - Audio_PlaySoundGeneral(NA_SE_SY_WARNING_COUNT_N, &D_801333D4, 4, - &D_801333E0, &D_801333E0, &D_801333E8); - } - } else { - Audio_PlaySoundGeneral(NA_SE_SY_WARNING_COUNT_E, &D_801333D4, 4, + } else if (gSaveContext.timer2Value > 60) { + if (timerDigits[4] == 1) { + Audio_PlaySoundGeneral(NA_SE_SY_MESSAGE_WOMAN, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8); } + } else if (gSaveContext.timer2Value > 10) { + if ((timerDigits[4] & 1)) { + Audio_PlaySoundGeneral(NA_SE_SY_WARNING_COUNT_N, &D_801333D4, 4, + &D_801333E0, &D_801333E0, &D_801333E8); + } + } else { + Audio_PlaySoundGeneral(NA_SE_SY_WARNING_COUNT_E, &D_801333D4, 4, + &D_801333E0, &D_801333E0, &D_801333E8); } } else { gSaveContext.timer2Value++; if (gSaveContext.eventInf[1] & 1) { if (gSaveContext.timer2Value == 240) { func_8010B680(globalCtx, 0x6083, NULL); - gSaveContext.timer2State = 0; gSaveContext.eventInf[1] &= ~1; + gSaveContext.timer2State = 0; } } } @@ -3729,39 +3717,41 @@ void Interface_Draw(GlobalContext* globalCtx) { } break; } + break; } if (((gSaveContext.timer1State != 0) && (gSaveContext.timer1State != 10)) || (gSaveContext.timer2State != 0)) { - sTimerDigits[0] = sTimerDigits[1] = sTimerDigits[3] = 0; - sTimerDigits[2] = 10; // digit 10 is used as ':' (colon) + timerDigits[0] = timerDigits[1] = timerDigits[3] = 0; + timerDigits[2] = 10; // digit 10 is used as ':' (colon) if (gSaveContext.timer1State != 0) { - sTimerDigits[4] = gSaveContext.timer1Value; + timerDigits[4] = gSaveContext.timer1Value; } else { - sTimerDigits[4] = gSaveContext.timer2Value; + timerDigits[4] = gSaveContext.timer2Value; } - while (sTimerDigits[4] >= 60) { - sTimerDigits[1]++; - if (sTimerDigits[1] >= 10) { - sTimerDigits[1] -= 10; - sTimerDigits[0]++; + while (timerDigits[4] >= 60) { + timerDigits[1]++; + if (timerDigits[1] >= 10) { + timerDigits[0]++; + timerDigits[1] -= 10; } - sTimerDigits[4] -= 60; + timerDigits[4] -= 60; } - while (sTimerDigits[4] >= 10) { - sTimerDigits[4] -= 10; - sTimerDigits[3]++; + while (timerDigits[4] >= 10) { + timerDigits[3]++; + timerDigits[4] -= 10; } // Clock Icon gDPPipeSync(OVERLAY_DISP++); gDPSetPrimColor(OVERLAY_DISP++, 0, 0, 255, 255, 255, 255); gDPSetEnvColor(OVERLAY_DISP++, 0, 0, 0, 0); - OVERLAY_DISP = Gfx_TextureIA8(OVERLAY_DISP, D_02002000, 16, 16, gSaveContext.timerX[sp274], - gSaveContext.timerY[sp274] + 2, 16, 16, 1024, 1024); + OVERLAY_DISP = + Gfx_TextureIA8(OVERLAY_DISP, gClockIconTex, 16, 16, ((void)0, gSaveContext.timerX[svar6]), + ((void)0, gSaveContext.timerY[svar6]) + 2, 16, 16, 1 << 10, 1 << 10); // Timer Counter gDPPipeSync(OVERLAY_DISP++); @@ -3781,11 +3771,12 @@ void Interface_Draw(GlobalContext* globalCtx) { } } - for (phi_s3 = 0; phi_s3 < 5; phi_s3++) { - OVERLAY_DISP = Gfx_TextureI8(OVERLAY_DISP, D_02003040[sTimerDigits[phi_s3]], 8, 16, - gSaveContext.timerX[sp274] + sTimerDigitLeftPos[phi_s3], - gSaveContext.timerY[sp274], sDigitWidth[phi_s3], VREG(42), - VREG(43) * 2, VREG(43) * 2); + for (svar1 = 0; svar1 < 5; svar1++) { + OVERLAY_DISP = + Gfx_TextureI8(OVERLAY_DISP, ((u8*)gCounterDigit0Tex + (8 * 16 * timerDigits[svar1])), 8, 16, + ((void)0, gSaveContext.timerX[svar6]) + timerDigitLeftPos[svar1], + ((void)0, gSaveContext.timerY[svar6]), digitWidth[svar1], VREG(42), VREG(43) << 1, + VREG(43) << 1); } } } @@ -3805,11 +3796,25 @@ void Interface_Draw(GlobalContext* globalCtx) { CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_parameter.c", 4269); } #else -s16 D_8015FFE0; -s16 D_8015FFE2; -s16 D_8015FFE4; -s16 D_8015FFE6; -s16 sTimerDigits[5]; +static s16 magicArrowEffectsR[] = { 255, 100, 255 }; +static s16 magicArrowEffectsG[] = { 0, 100, 255 }; +static s16 magicArrowEffectsB[] = { 0, 255, 100 }; +static s16 timerDigitLeftPos[] = { 16, 25, 34, 42, 51 }; +static s16 digitWidth[] = { 9, 9, 8, 9, 9 }; +// unused, most likely colors +static s16 D_80125B1C[][3] = { + { 0, 150, 0 }, { 100, 255, 0 }, { 255, 255, 255 }, { 0, 0, 0 }, { 255, 255, 255 }, +}; +static s16 rupeeDigitsFirst[] = { 1, 0, 0 }; +static s16 rupeeDigitsCount[] = { 2, 3, 3 }; +static s16 spoilingItemEntrances[] = { 0x01AD, 0x0153, 0x0153 }; +static f32 D_80125B54[] = { -40.0f, -35.0f }; // unused +static s16 D_80125B5C[] = { 91, 91 }; // unused +static s16 D_8015FFE0; +static s16 D_8015FFE2; +static s16 D_8015FFE4; +static s16 D_8015FFE6; +static s16 timerDigits[5]; #pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/Interface_Draw.s") #endif diff --git a/src/code/z_vismono.c b/src/code/z_vismono.c index 5a8f2d8c3..1b34c0944 100644 --- a/src/code/z_vismono.c +++ b/src/code/z_vismono.c @@ -60,8 +60,8 @@ Gfx* VisMono_DrawTexture(VisMono* this, Gfx* gfx) { G_TX_NOMIRROR | G_TX_CLAMP, 0, 0); gDPSetTileSize(gfx++, 1, (1 << 2), 0, ((SCREEN_WIDTH * 2) << 2), (2 << 2)); - gSPTextureRectangle(gfx++, 0, (y) << 2, (SCREEN_WIDTH << 2), (y + height) << 2, G_TX_RENDERTILE, 2 << 5, 0, - (2 << 10), (1 << 10)); + gSPTextureRectangle(gfx++, 0, y << 2, (SCREEN_WIDTH << 2), (y + height) << 2, G_TX_RENDERTILE, 2 << 5, 0, + 2 << 10, 1 << 10); tex += SCREEN_WIDTH * height; } diff --git a/src/overlays/actors/ovl_Bg_Gnd_Firemeiro/z_bg_gnd_firemeiro.c b/src/overlays/actors/ovl_Bg_Gnd_Firemeiro/z_bg_gnd_firemeiro.c index 84d2cbcb8..8345a7cd1 100644 --- a/src/overlays/actors/ovl_Bg_Gnd_Firemeiro/z_bg_gnd_firemeiro.c +++ b/src/overlays/actors/ovl_Bg_Gnd_Firemeiro/z_bg_gnd_firemeiro.c @@ -143,7 +143,7 @@ void BgGndFiremeiro_Update(Actor* thisx, GlobalContext* globalCtx) { void BgGndFiremeiro_Draw(Actor* thisx, GlobalContext* globalCtx) { OPEN_DISPS(globalCtx->state.gfxCtx, "../z_bg_gnd_firemeiro.c", 280); func_800943C8(globalCtx->state.gfxCtx); - + gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_gnd_firemeiro.c", 282), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gFireTrialPlatformDL); diff --git a/src/overlays/actors/ovl_En_Mag/z_en_mag.c b/src/overlays/actors/ovl_En_Mag/z_en_mag.c index 0b7a0ae89..0e78848ab 100644 --- a/src/overlays/actors/ovl_En_Mag/z_en_mag.c +++ b/src/overlays/actors/ovl_En_Mag/z_en_mag.c @@ -342,7 +342,7 @@ void EnMag_DrawImageRGBA32(Gfx** gfxp, s16 centerX, s16 centerY, u8* source, u32 gDPLoadTile(gfx++, G_TX_LOADTILE, 0, 0, (width - 1) << 2, (textureHeight - 1) << 2); gSPTextureRectangle(gfx++, rectLeft << 2, rectTop << 2, (rectLeft + (s32)width) << 2, - (rectTop + textureHeight) << 2, G_TX_RENDERTILE, 0, 0, 1024, 1024); + (rectTop + textureHeight) << 2, G_TX_RENDERTILE, 0, 0, 1 << 10, 1 << 10); curTexture += textureSize; rectTop += textureHeight; @@ -477,7 +477,7 @@ void EnMag_DrawInner(Actor* thisx, GlobalContext* globalCtx, Gfx** gfxp) { gDPLoadTextureBlock(gfx++, D_06019A00, G_IM_FMT_IA, G_IM_SIZ_8b, 160, 16, 0, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); - gSPTextureRectangle(gfx++, 312, 792, 952, 856, G_TX_RENDERTILE, 0, 0, 1024, 1024); + gSPTextureRectangle(gfx++, 312, 792, 952, 856, G_TX_RENDERTILE, 0, 0, 1 << 10, 1 << 10); } if (gSaveContext.fileNum == 0xFEDC) { diff --git a/src/overlays/actors/ovl_End_Title/z_end_title.c b/src/overlays/actors/ovl_End_Title/z_end_title.c index 9f680ad9f..c4fa997dd 100644 --- a/src/overlays/actors/ovl_End_Title/z_end_title.c +++ b/src/overlays/actors/ovl_End_Title/z_end_title.c @@ -94,20 +94,19 @@ void EndTitle_Draw(Actor* thisx, GlobalContext* globalCtx) { gDPSetPrimColor(OVERLAY_DISP++, 0x00, 0x80, 0, 0, 0, this->endAlpha); gDPLoadTextureTile(OVERLAY_DISP++, D_80B670E0, G_IM_FMT_IA, G_IM_SIZ_8b, 80, 24, 0, 0, 80, 24, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, 0, 0, 0, 0); - gSPTextureRectangle(OVERLAY_DISP++, (120 << 2), (90 << 2), (200 << 2), (113 << 2), G_TX_RENDERTILE, 0, 0, (32 << 5), - (32 << 5)); + gSPTextureRectangle(OVERLAY_DISP++, 120 << 2, 90 << 2, 200 << 2, 113 << 2, G_TX_RENDERTILE, 0, 0, 1 << 10, 1 << 10); gDPPipeSync(OVERLAY_DISP++); gDPSetPrimColor(OVERLAY_DISP++, 0x00, 0x80, 0, 0, 0, this->tlozAlpha); gDPLoadTextureTile(OVERLAY_DISP++, D_80B65EA0, G_IM_FMT_IA, G_IM_SIZ_8b, 120, 24, 0, 0, 120, 24, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, 0, 0, 0, 0); - gSPTextureRectangle(OVERLAY_DISP++, (100 << 2), (160 << 2), (220 << 2), (183 << 2), G_TX_RENDERTILE, 0, 0, - (32 << 5), (32 << 5)); + gSPTextureRectangle(OVERLAY_DISP++, 100 << 2, 160 << 2, 220 << 2, 183 << 2, G_TX_RENDERTILE, 0, 0, 1 << 10, + 1 << 10); gDPPipeSync(OVERLAY_DISP++); gDPSetPrimColor(OVERLAY_DISP++, 0x00, 0x80, 0, 0, 0, this->ootAlpha); gDPLoadTextureTile(OVERLAY_DISP++, D_80B669E0, G_IM_FMT_IA, G_IM_SIZ_8b, 112, 16, 0, 0, 112, 16, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, 0, 0, 0, 0); - gSPTextureRectangle(OVERLAY_DISP++, (104 << 2), (177 << 2), (216 << 2), (192 << 2), G_TX_RENDERTILE, 0, 0, - (32 << 5), (32 << 5)); + gSPTextureRectangle(OVERLAY_DISP++, 104 << 2, 177 << 2, 216 << 2, 192 << 2, G_TX_RENDERTILE, 0, 0, 1 << 10, + 1 << 10); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_end_title.c", 515); } diff --git a/src/overlays/actors/ovl_kaleido_scope/z_kaleido_collect.c b/src/overlays/actors/ovl_kaleido_scope/z_kaleido_collect.c index 05a183d63..f8f606d84 100644 --- a/src/overlays/actors/ovl_kaleido_scope/z_kaleido_collect.c +++ b/src/overlays/actors/ovl_kaleido_scope/z_kaleido_collect.c @@ -32,7 +32,7 @@ void KaleidoScope_DrawQuestStatus(GlobalContext* globalCtx, GraphicsContext* gfx 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static void* D_8082A130[] = { - gHUDButtonATex, gHUDButtonCDownTex, gHUDButtonCRightTex, gHUDButtonCLeftTex, gHUDButtonCUpTex, + gOcarinaATex, gOcarinaCDownTex, gOcarinaCRightTex, gOcarinaCLeftTex, gOcarinaCUpTex, }; static u16 D_8082A144[] = { 0xFFCC, 0xFFCC, 0xFFCC, 0xFFCC, 0xFFCC, @@ -654,9 +654,9 @@ void KaleidoScope_DrawQuestStatus(GlobalContext* globalCtx, GraphicsContext* gfx phi_s0 = 0; for (sp218 = 0; sp218 < 3; sp218++, sp21A += 4) { if ((sp218 >= 2) || (sp208[sp218] != 0) || (phi_s0 != 0)) { - gDPLoadTextureBlock(POLY_OPA_DISP++, D_02003040[sp208[sp218]], G_IM_FMT_I, G_IM_SIZ_8b, 8, 16, 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(POLY_OPA_DISP++, ((u8*)gCounterDigit0Tex + (8 * 16 * sp208[sp218])), G_IM_FMT_I, + G_IM_SIZ_8b, 8, 16, 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); if (1) {} gSP1Quadrangle(POLY_OPA_DISP++, sp21A, sp21A + 2, sp21A + 3, sp21A + 1, 0); @@ -697,7 +697,7 @@ static u8 D_8082A124[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static void* D_8082A130[] = { - gHUDButtonATex, gHUDButtonCDownTex, gHUDButtonCRightTex, gHUDButtonCLeftTex, gHUDButtonCUpTex, + gOcarinaATex, gOcarinaCDownTex, gOcarinaCRightTex, gOcarinaCLeftTex, gOcarinaCUpTex, }; static u16 D_8082A144[] = { 0xFFCC, 0xFFCC, 0xFFCC, 0xFFCC, 0xFFCC, diff --git a/src/overlays/actors/ovl_kaleido_scope/z_kaleido_debug.c b/src/overlays/actors/ovl_kaleido_scope/z_kaleido_debug.c index 23fc35af4..352ed0206 100644 --- a/src/overlays/actors/ovl_kaleido_scope/z_kaleido_debug.c +++ b/src/overlays/actors/ovl_kaleido_scope/z_kaleido_debug.c @@ -1,4 +1,5 @@ #include "z_kaleido_scope.h" +#include "textures/parameter_static/parameter_static.h" // Positions of each input section in the editor static u16 sSectionPositions[][2] = { @@ -81,11 +82,11 @@ void KaleidoScope_DrawDebugEditorText(Gfx** gfxp) { void KaleidoScope_DrawDigit(GlobalContext* globalCtx, s32 digit, s32 rectLeft, s32 rectTop) { OPEN_DISPS(globalCtx->state.gfxCtx, "../z_kaleido_debug.c", 208); - gDPLoadTextureBlock(POLY_OPA_DISP++, D_02003040[digit], G_IM_FMT_I, G_IM_SIZ_8b, 8, 16, 0, + gDPLoadTextureBlock(POLY_OPA_DISP++, ((u8*)gCounterDigit0Tex + (8 * 16 * digit)), G_IM_FMT_I, G_IM_SIZ_8b, 8, 16, 0, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); gSPTextureRectangle(POLY_OPA_DISP++, rectLeft << 2, rectTop << 2, (rectLeft + 8) << 2, (rectTop + 16) << 2, - G_TX_RENDERTILE, 0, 0, 1024, 1024); + G_TX_RENDERTILE, 0, 0, 1 << 10, 1 << 10); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_kaleido_debug.c", 220); } diff --git a/src/overlays/actors/ovl_kaleido_scope/z_kaleido_equipment.c b/src/overlays/actors/ovl_kaleido_scope/z_kaleido_equipment.c index b43922a46..992e33bcf 100644 --- a/src/overlays/actors/ovl_kaleido_scope/z_kaleido_equipment.c +++ b/src/overlays/actors/ovl_kaleido_scope/z_kaleido_equipment.c @@ -1,5 +1,6 @@ #include "z_kaleido_scope.h" #include "textures/icon_item_static/icon_item_static.h" +#include "textures/parameter_static/parameter_static.h" static u8 sChildUpgrades[] = { UPG_BULLET_BAG, UPG_BOMB_BAG, UPG_STRENGTH, UPG_SCALE }; static u8 sAdultUpgrades[] = { UPG_QUIVER, UPG_BOMB_BAG, UPG_STRENGTH, UPG_SCALE }; @@ -140,7 +141,7 @@ void KaleidoScope_DrawEquipment(GlobalContext* globalCtx) { gDPPipeSync(POLY_OPA_DISP++); gSPVertex(POLY_OPA_DISP++, &pauseCtx->equipVtx[j], 4, 0); - POLY_OPA_DISP = KaleidoScope_QuadTextureIA8(POLY_OPA_DISP, D_02000A00[1], 32, 32, 0); + POLY_OPA_DISP = KaleidoScope_QuadTextureIA8(POLY_OPA_DISP, gEquippedItemOutlineTex, 32, 32, 0); } } diff --git a/src/overlays/actors/ovl_kaleido_scope/z_kaleido_item.c b/src/overlays/actors/ovl_kaleido_scope/z_kaleido_item.c index f1167099a..50ff579c0 100644 --- a/src/overlays/actors/ovl_kaleido_scope/z_kaleido_item.c +++ b/src/overlays/actors/ovl_kaleido_scope/z_kaleido_item.c @@ -1,4 +1,5 @@ #include "z_kaleido_scope.h" +#include "textures/parameter_static/parameter_static.h" u8 gAmmoItems[] = { ITEM_STICK, ITEM_NUT, ITEM_BOMB, ITEM_BOW, ITEM_NONE, ITEM_NONE, ITEM_SLINGSHOT, ITEM_NONE, @@ -49,7 +50,7 @@ void KaleidoScope_DrawAmmoCount(PauseContext* pauseCtx, GraphicsContext* gfxCtx, if (i != 0) { gSPVertex(POLY_OPA_DISP++, &pauseCtx->itemVtx[(sAmmoVtxOffset[item] + 27) * 4], 4, 0); - gDPLoadTextureBlock(POLY_OPA_DISP++, D_020035C0[i], G_IM_FMT_IA, G_IM_SIZ_8b, 8, 8, 0, + gDPLoadTextureBlock(POLY_OPA_DISP++, ((u8*)gAmmoDigit0Tex + (8 * 8 * i)), G_IM_FMT_IA, G_IM_SIZ_8b, 8, 8, 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); @@ -58,8 +59,9 @@ void KaleidoScope_DrawAmmoCount(PauseContext* pauseCtx, GraphicsContext* gfxCtx, gSPVertex(POLY_OPA_DISP++, &pauseCtx->itemVtx[(sAmmoVtxOffset[item] + 28) * 4], 4, 0); - gDPLoadTextureBlock(POLY_OPA_DISP++, D_020035C0[ammo], G_IM_FMT_IA, G_IM_SIZ_8b, 8, 8, 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(POLY_OPA_DISP++, ((u8*)gAmmoDigit0Tex + (8 * 8 * ammo)), G_IM_FMT_IA, G_IM_SIZ_8b, 8, 8, 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); gSP1Quadrangle(POLY_OPA_DISP++, 0, 2, 3, 1, 0); @@ -75,11 +77,10 @@ void KaleidoScope_SetItemCursorVtx(PauseContext* pauseCtx) { KaleidoScope_SetCursorVtx(pauseCtx, pauseCtx->cursorSlot[PAUSE_ITEM] * 4, pauseCtx->itemVtx); } -static s16 sMagicArrowEffectsR[] = { 255, 100, 255 }; -static s16 sMagicArrowEffectsG[] = { 0, 100, 255 }; -static s16 sMagicArrowEffectsB[] = { 0, 255, 100 }; - void KaleidoScope_DrawItemSelect(GlobalContext* globalCtx) { + static s16 magicArrowEffectsR[] = { 255, 100, 255 }; + static s16 magicArrowEffectsG[] = { 0, 100, 255 }; + static s16 magicArrowEffectsB[] = { 0, 255, 100 }; Input* input = &globalCtx->state.input[0]; PauseContext* pauseCtx = &globalCtx->pauseCtx; u16 i; @@ -416,7 +417,7 @@ void KaleidoScope_DrawItemSelect(GlobalContext* globalCtx) { for (i = 0, j = 24 * 4; i < 3; i++, j += 4) { if (gSaveContext.equips.buttonItems[i + 1] != ITEM_NONE) { gSPVertex(POLY_OPA_DISP++, &pauseCtx->itemVtx[j], 4, 0); - POLY_OPA_DISP = KaleidoScope_QuadTextureIA8(POLY_OPA_DISP, D_02000A00[1], 32, 32, 0); + POLY_OPA_DISP = KaleidoScope_QuadTextureIA8(POLY_OPA_DISP, gEquippedItemOutlineTex, 32, 32, 0); } } @@ -430,9 +431,9 @@ void KaleidoScope_DrawItemSelect(GlobalContext* globalCtx) { if ((pauseCtx->unk_1E4 == 0) && (pauseCtx->pageIndex == PAUSE_ITEM) && (pauseCtx->cursorSpecialPos == 0)) { if ((gSlotAgeReqs[i] == 9) || (gSlotAgeReqs[i] == ((void)0, gSaveContext.linkAge))) { if ((sEquipState == 2) && (i == 3)) { - gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, sMagicArrowEffectsR[pauseCtx->equipTargetItem - 0xBF], - sMagicArrowEffectsG[pauseCtx->equipTargetItem - 0xBF], - sMagicArrowEffectsB[pauseCtx->equipTargetItem - 0xBF], pauseCtx->alpha); + gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, magicArrowEffectsR[pauseCtx->equipTargetItem - 0xBF], + magicArrowEffectsG[pauseCtx->equipTargetItem - 0xBF], + magicArrowEffectsB[pauseCtx->equipTargetItem - 0xBF], pauseCtx->alpha); pauseCtx->itemVtx[j + 0].v.ob[0] = pauseCtx->itemVtx[j + 2].v.ob[0] = pauseCtx->itemVtx[j + 0].v.ob[0] - 2; diff --git a/src/overlays/actors/ovl_kaleido_scope/z_kaleido_scope_PAL.c b/src/overlays/actors/ovl_kaleido_scope/z_kaleido_scope_PAL.c index 00d524990..a99009ec3 100644 --- a/src/overlays/actors/ovl_kaleido_scope/z_kaleido_scope_PAL.c +++ b/src/overlays/actors/ovl_kaleido_scope/z_kaleido_scope_PAL.c @@ -2237,20 +2237,20 @@ void KaleidoScope_DrawGameOver(GlobalContext* globalCtx) { gDPSetTileSize(POLY_OPA_DISP++, 1, 0, VREG(89) & 0x7F, 252, (VREG(89) & 0x7F) + 0x7C); gSPTextureRectangle(POLY_OPA_DISP++, VREG(87) << 2, VREG(88) << 2, (VREG(87) + 64) << 2, (VREG(88) + 32) << 2, - G_TX_RENDERTILE, 0, 0, 1024, 1024); + G_TX_RENDERTILE, 0, 0, 1 << 10, 1 << 10); gDPLoadMultiBlock(POLY_OPA_DISP++, gGameOverP2Tex, 0, 0, G_IM_FMT_IA, G_IM_SIZ_8b, 64, 32, 0, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); gSPTextureRectangle(POLY_OPA_DISP++, (VREG(87) + 64) << 2, VREG(88) << 2, (VREG(87) + 128) << 2, - (VREG(88) + 32) << 2, G_TX_RENDERTILE, 0, 0, 1024, 1024); + (VREG(88) + 32) << 2, G_TX_RENDERTILE, 0, 0, 1 << 10, 1 << 10); gDPLoadMultiBlock(POLY_OPA_DISP++, gGameOverP3Tex, 0, 0, G_IM_FMT_IA, G_IM_SIZ_8b, 64, 32, 0, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); gSPTextureRectangle(POLY_OPA_DISP++, (VREG(87) + 128) << 2, VREG(88) << 2, (VREG(87) + 192) << 2, - (VREG(88) + 32) << 2, G_TX_RENDERTILE, 0, 0, 1024, 1024); + (VREG(88) + 32) << 2, G_TX_RENDERTILE, 0, 0, 1 << 10, 1 << 10); CLOSE_DISPS(gfxCtx, "../z_kaleido_scope_PAL.c", 3169); } diff --git a/src/overlays/actors/ovl_kaleido_scope/z_lmap_mark.c b/src/overlays/actors/ovl_kaleido_scope/z_lmap_mark.c index 9eaad57d9..3da61f1df 100644 --- a/src/overlays/actors/ovl_kaleido_scope/z_lmap_mark.c +++ b/src/overlays/actors/ovl_kaleido_scope/z_lmap_mark.c @@ -1,4 +1,5 @@ #include "z_kaleido_scope.h" +#include "textures/parameter_static/parameter_static.h" typedef struct { /* 0x00 */ void* texture; @@ -13,8 +14,8 @@ typedef struct { } PauseMapMarkInfo; // size = 0x24 static PauseMapMarkInfo sMapMarkInfoTable[] = { - { D_02002580, G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 8, 32, 32, 1024, 1024 }, // Chest Icon - { D_02002900, G_IM_FMT_IA, G_IM_SIZ_8b, 8, 8, 32, 32, 1024, 1024 }, // Boss Skull Icon + { gMapChestIconTex, G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 8, 32, 32, 1 << 10, 1 << 10 }, + { gMapBossIconTex, G_IM_FMT_IA, G_IM_SIZ_8b, 8, 8, 32, 32, 1 << 10, 1 << 10 }, }; static const u32 sBaseImageSizes[] = { 0, 1, 2, 3 }; diff --git a/src/overlays/gamestates/ovl_title/z_title.c b/src/overlays/gamestates/ovl_title/z_title.c index 2ef7c6441..2ac6a536f 100644 --- a/src/overlays/gamestates/ovl_title/z_title.c +++ b/src/overlays/gamestates/ovl_title/z_title.c @@ -109,7 +109,7 @@ void Title_Draw(TitleContext* this) { G_TX_NOLOD); gDPSetTileSize(POLY_OPA_DISP++, 1, this->uls, (this->ult & 0x7F) - idx * 4, 0, 0); - gSPTextureRectangle(POLY_OPA_DISP++, 388, y << 2, 1156, (y + 2) << 2, G_TX_RENDERTILE, 0, 0, 1024, 1024); + gSPTextureRectangle(POLY_OPA_DISP++, 388, y << 2, 1156, (y + 2) << 2, G_TX_RENDERTILE, 0, 0, 1 << 10, 1 << 10); } func_8007672C(this->state.gfxCtx, 0, 0, 0, (s16)this->coverAlpha, 2); |
