diff options
| author | mckinlee <mckinlee@ymail.com> | 2026-03-19 21:43:04 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-03-19 21:43:04 -0400 |
| commit | 6eda20817dbccefd0ec85ec6e0671af950066092 (patch) | |
| tree | 4f9ff98ac58df79900d36f8cd22c50f2edc1da73 /mm/src/code | |
| parent | ec9e755bb425700484f0b25182a35c79e6723968 (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.c | 135 |
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); } } |
