summaryrefslogtreecommitdiff
path: root/src/code
diff options
context:
space:
mode:
authorZelllll <56516451+Zelllll@users.noreply.github.com>2021-06-15 12:29:10 -0500
committerGitHub <noreply@github.com>2021-06-15 13:29:10 -0400
commitc644aaa2ee41a4cb9100e67dec002812e29e461b (patch)
tree03936679f905d3876b855b2093cb132c25b4cb8b /src/code
parent566d107e55bd60553cf7a36bdbd6e2b7fb2460d1 (diff)
Interface improvements (#822)
* Add symbols, does NOT build OK * parameter OK with syms * Use `static` more and inline arrays * wip docs * Start on Interface_Draw, NOT OK yet * rename variables since interface dev is weird * nonmatching for now * kaleido * Update src/code/z_parameter.c Co-authored-by: louist103 <35883445+louist103@users.noreply.github.com> * Make most texture rectangles use shifts * fix symbols for all interface things * done with interface_draw for now * Update z_parameter.c * format files * fix wrong function calls * fix bss * improvements in matching * remove button enum for now * (void)0 to fix warning * make conditional look nicer * fix * fix wrong combiner * Update src/overlays/actors/ovl_kaleido_scope/z_lmap_mark.c Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com> * format * remove "HUD" naming * review suggestions Co-authored-by: louist103 <35883445+louist103@users.noreply.github.com> Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com>
Diffstat (limited to 'src/code')
-rw-r--r--src/code/code_80097A00.c149
-rw-r--r--src/code/gfxprint.c9
-rw-r--r--src/code/z_actor.c4
-rw-r--r--src/code/z_construct.c570
-rw-r--r--src/code/z_lifemeter.c76
-rw-r--r--src/code/z_map_exp.c36
-rw-r--r--src/code/z_map_mark.c4
-rw-r--r--src/code/z_message_PAL.c1
-rw-r--r--src/code/z_moji.c2
-rw-r--r--src/code/z_parameter.c487
-rw-r--r--src/code/z_vismono.c4
11 files changed, 711 insertions, 631 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;
}