summaryrefslogtreecommitdiff
path: root/mm/src/code
diff options
context:
space:
mode:
authormckinlee <mckinlee@ymail.com>2026-03-19 21:43:04 -0400
committerGitHub <noreply@github.com>2026-03-19 21:43:04 -0400
commit6eda20817dbccefd0ec85ec6e0671af950066092 (patch)
tree4f9ff98ac58df79900d36f8cd22c50f2edc1da73 /mm/src/code
parentec9e755bb425700484f0b25182a35c79e6723968 (diff)
[Rando] Tycoon's Wallet (#1597)
* big boy wallet * cleaner 4 digit support * feedback * #1605 explains this change --------- Co-authored-by: Eblo <7004497+Eblo@users.noreply.github.com>
Diffstat (limited to 'mm/src/code')
-rw-r--r--mm/src/code/z_parameter.c135
1 files changed, 70 insertions, 65 deletions
diff --git a/mm/src/code/z_parameter.c b/mm/src/code/z_parameter.c
index 8cd3ea70c..ed4f116f5 100644
--- a/mm/src/code/z_parameter.c
+++ b/mm/src/code/z_parameter.c
@@ -8960,16 +8960,18 @@ void Interface_Draw(PlayState* play) {
Gfx_SetupDL39_Overlay(play->state.gfxCtx);
// Draw Rupee Icon
- gDPSetPrimColorOverride(OVERLAY_DISP++, 0, 0, sRupeeCounterIconPrimColors[CUR_UPG_VALUE(UPG_WALLET)].r,
- sRupeeCounterIconPrimColors[CUR_UPG_VALUE(UPG_WALLET)].g,
- sRupeeCounterIconPrimColors[CUR_UPG_VALUE(UPG_WALLET)].b, interfaceCtx->magicAlpha,
- COSMETIC_ELEMENT_RUPEE_ICON);
- gDPSetEnvColor(OVERLAY_DISP++, sRupeeCounterIconEnvColors[CUR_UPG_VALUE(UPG_WALLET)].r,
- sRupeeCounterIconEnvColors[CUR_UPG_VALUE(UPG_WALLET)].g,
- sRupeeCounterIconEnvColors[CUR_UPG_VALUE(4)].b, 255);
- HudEditor_SetActiveElement(HUD_EDITOR_ELEMENT_RUPEE_COUNTER);
- OVERLAY_DISP =
- Gfx_DrawTexRectIA8(OVERLAY_DISP, gRupeeCounterIconTex, 16, 16, 26, 206, 16, 16, 1 << 10, 1 << 10);
+ if (GameInteractor_Should(VB_DRAW_RUPEE_ICON, true)) {
+ gDPSetPrimColorOverride(OVERLAY_DISP++, 0, 0, sRupeeCounterIconPrimColors[CUR_UPG_VALUE(UPG_WALLET)].r,
+ sRupeeCounterIconPrimColors[CUR_UPG_VALUE(UPG_WALLET)].g,
+ sRupeeCounterIconPrimColors[CUR_UPG_VALUE(UPG_WALLET)].b, interfaceCtx->magicAlpha,
+ COSMETIC_ELEMENT_RUPEE_ICON);
+ gDPSetEnvColor(OVERLAY_DISP++, sRupeeCounterIconEnvColors[CUR_UPG_VALUE(UPG_WALLET)].r,
+ sRupeeCounterIconEnvColors[CUR_UPG_VALUE(UPG_WALLET)].g,
+ sRupeeCounterIconEnvColors[CUR_UPG_VALUE(4)].b, 255);
+ HudEditor_SetActiveElement(HUD_EDITOR_ELEMENT_RUPEE_COUNTER);
+ OVERLAY_DISP =
+ Gfx_DrawTexRectIA8(OVERLAY_DISP, gRupeeCounterIconTex, 16, 16, 26, 206, 16, 16, 1 << 10, 1 << 10);
+ }
switch (play->sceneId) {
case SCENE_INISIE_N:
@@ -9208,75 +9210,78 @@ void Interface_Draw(PlayState* play) {
gDPSetCombineLERP(OVERLAY_DISP++, 0, 0, 0, PRIMITIVE, TEXEL0, 0, PRIMITIVE, 0, 0, 0, 0, PRIMITIVE, TEXEL0, 0,
PRIMITIVE, 0);
- counterDigits[0] = counterDigits[1] = 0;
- counterDigits[2] = gSaveContext.save.saveInfo.playerData.rupees;
+ if (GameInteractor_Should(VB_DRAW_RUPEE_COUNTER, true)) {
+ counterDigits[0] = counterDigits[1] = 0;
+ counterDigits[2] = gSaveContext.save.saveInfo.playerData.rupees;
- if ((counterDigits[2] > 9999) || (counterDigits[2] < 0)) {
- counterDigits[2] &= 0xDDD;
- }
-
- while (counterDigits[2] >= 100) {
- counterDigits[0]++;
- counterDigits[2] -= 100;
- }
+ if ((counterDigits[2] > 9999) || (counterDigits[2] < 0)) {
+ counterDigits[2] &= 0xDDD;
+ }
- while (counterDigits[2] >= 10) {
- counterDigits[1]++;
- counterDigits[2] -= 10;
- }
+ while (counterDigits[2] >= 100) {
+ counterDigits[0]++;
+ counterDigits[2] -= 100;
+ }
- sp2CC = sRupeeDigitsFirst[CUR_UPG_VALUE(UPG_WALLET)];
- sp2C8 = sRupeeDigitsCount[CUR_UPG_VALUE(UPG_WALLET)];
+ while (counterDigits[2] >= 10) {
+ counterDigits[1]++;
+ counterDigits[2] -= 10;
+ }
- magicAlpha = interfaceCtx->magicAlpha;
- if (magicAlpha > 180) {
- magicAlpha = 180;
- }
+ sp2CC = sRupeeDigitsFirst[CUR_UPG_VALUE(UPG_WALLET)];
+ sp2C8 = sRupeeDigitsCount[CUR_UPG_VALUE(UPG_WALLET)];
- for (sp2CE = 0, sp2CA = 42; sp2CE < sp2C8; sp2CE++, sp2CC++, sp2CA += 8) {
- gDPPipeSync(OVERLAY_DISP++);
- gDPSetPrimColor(OVERLAY_DISP++, 0, 0, 0, 0, 0, magicAlpha);
+ magicAlpha = interfaceCtx->magicAlpha;
+ if (magicAlpha > 180) {
+ magicAlpha = 180;
+ }
- HudEditor_SetActiveElement(HUD_EDITOR_ELEMENT_RUPEE_COUNTER);
- OVERLAY_DISP = Gfx_DrawTexRectI8(OVERLAY_DISP, sCounterTextures[counterDigits[sp2CC]], 8, 16, sp2CA + 1,
- 207, 8, 16, 1 << 10, 1 << 10);
+ for (sp2CE = 0, sp2CA = 42; sp2CE < sp2C8; sp2CE++, sp2CC++, sp2CA += 8) {
+ gDPPipeSync(OVERLAY_DISP++);
+ gDPSetPrimColor(OVERLAY_DISP++, 0, 0, 0, 0, 0, magicAlpha);
- gDPPipeSync(OVERLAY_DISP++);
+ HudEditor_SetActiveElement(HUD_EDITOR_ELEMENT_RUPEE_COUNTER);
+ OVERLAY_DISP = Gfx_DrawTexRectI8(OVERLAY_DISP, sCounterTextures[counterDigits[sp2CC]], 8, 16, sp2CA + 1,
+ 207, 8, 16, 1 << 10, 1 << 10);
- if (gSaveContext.save.saveInfo.playerData.rupees == CUR_CAPACITY(UPG_WALLET)) {
- gDPSetPrimColor(OVERLAY_DISP++, 0, 0, 120, 255, 0, interfaceCtx->magicAlpha);
- } else if (gSaveContext.save.saveInfo.playerData.rupees != 0) {
- gDPSetPrimColor(OVERLAY_DISP++, 0, 0, 255, 255, 255, interfaceCtx->magicAlpha);
- } else {
- gDPSetPrimColor(OVERLAY_DISP++, 0, 0, 100, 100, 100, interfaceCtx->magicAlpha);
- }
+ gDPPipeSync(OVERLAY_DISP++);
- // #region 2S2H [Cosmetic] Hud Editor
- HudEditor_SetActiveElement(HUD_EDITOR_ELEMENT_RUPEE_COUNTER);
- if (HudEditor_ShouldOverrideDraw()) {
- if (CVarGetInteger(hudEditorElements[hudEditorActiveElement].modeCvar,
- HUD_EDITOR_ELEMENT_MODE_VANILLA) == HUD_EDITOR_ELEMENT_MODE_HIDDEN) {
- hudEditorActiveElement = HUD_EDITOR_ELEMENT_NONE;
+ if (gSaveContext.save.saveInfo.playerData.rupees == CUR_CAPACITY(UPG_WALLET)) {
+ gDPSetPrimColor(OVERLAY_DISP++, 0, 0, 120, 255, 0, interfaceCtx->magicAlpha);
+ } else if (gSaveContext.save.saveInfo.playerData.rupees != 0) {
+ gDPSetPrimColor(OVERLAY_DISP++, 0, 0, 255, 255, 255, interfaceCtx->magicAlpha);
} else {
- // All of this information was derived from the original call to gSPTextureRectangle below
- s16 rectLeft = sp2CA;
- s16 rectTop = 824 / 4;
- s16 rectWidth = 0x20 / 4;
- s16 rectHeight = (888 / 4) - rectTop;
- s16 dsdx = 512;
- s16 dtdy = 512;
+ gDPSetPrimColor(OVERLAY_DISP++, 0, 0, 100, 100, 100, interfaceCtx->magicAlpha);
+ }
- HudEditor_ModifyDrawValues(&rectLeft, &rectTop, &rectWidth, &rectHeight, &dsdx, &dtdy);
+ // #region 2S2H [Cosmetic] Hud Editor
+ HudEditor_SetActiveElement(HUD_EDITOR_ELEMENT_RUPEE_COUNTER);
+ if (HudEditor_ShouldOverrideDraw()) {
+ if (CVarGetInteger(hudEditorElements[hudEditorActiveElement].modeCvar,
+ HUD_EDITOR_ELEMENT_MODE_VANILLA) == HUD_EDITOR_ELEMENT_MODE_HIDDEN) {
+ hudEditorActiveElement = HUD_EDITOR_ELEMENT_NONE;
+ } else {
+ // All of this information was derived from the original call to gSPTextureRectangle below
+ s16 rectLeft = sp2CA;
+ s16 rectTop = 824 / 4;
+ s16 rectWidth = 0x20 / 4;
+ s16 rectHeight = (888 / 4) - rectTop;
+ s16 dsdx = 512;
+ s16 dtdy = 512;
- hudEditorActiveElement = HUD_EDITOR_ELEMENT_NONE;
+ HudEditor_ModifyDrawValues(&rectLeft, &rectTop, &rectWidth, &rectHeight, &dsdx, &dtdy);
- gSPWideTextureRectangle(OVERLAY_DISP++, rectLeft << 2, rectTop << 2, (rectLeft + rectWidth) << 2,
- (rectTop + rectHeight) << 2, G_TX_RENDERTILE, 0, 0, dsdx << 1, dtdy << 1);
+ hudEditorActiveElement = HUD_EDITOR_ELEMENT_NONE;
+
+ gSPWideTextureRectangle(OVERLAY_DISP++, rectLeft << 2, rectTop << 2,
+ (rectLeft + rectWidth) << 2, (rectTop + rectHeight) << 2,
+ G_TX_RENDERTILE, 0, 0, dsdx << 1, dtdy << 1);
+ }
+ // #endregion
+ } else {
+ gSPTextureRectangle(OVERLAY_DISP++, sp2CA * 4, 206 << 2, (sp2CA * 4) + 0x20, 222 << 2,
+ G_TX_RENDERTILE, 0, 0, 1 << 10, 1 << 10);
}
- // #endregion
- } else {
- gSPTextureRectangle(OVERLAY_DISP++, sp2CA * 4, 206 << 2, (sp2CA * 4) + 0x20, 222 << 2, G_TX_RENDERTILE,
- 0, 0, 1 << 10, 1 << 10);
}
}