summaryrefslogtreecommitdiff
path: root/mm/src/code/z_message.c
diff options
context:
space:
mode:
authormckinlee <mckinlee@ymail.com>2026-03-19 21:41:24 -0400
committerGitHub <noreply@github.com>2026-03-19 21:41:24 -0400
commitcfd5cc483ae2da52ccc8e00082ef2f8e3d969863 (patch)
tree7f949e637b9627975e6e08bfdec8bbfb32df5565 /mm/src/code/z_message.c
parentf7ccda83aab44cf532798aba306b2cf12a3ea8fb (diff)
[Enhancement] Song Items (#1566)
* equip songs * feedback
Diffstat (limited to 'mm/src/code/z_message.c')
-rw-r--r--mm/src/code/z_message.c33
1 files changed, 25 insertions, 8 deletions
diff --git a/mm/src/code/z_message.c b/mm/src/code/z_message.c
index 04efc6f8c..1e0a6eed6 100644
--- a/mm/src/code/z_message.c
+++ b/mm/src/code/z_message.c
@@ -4298,6 +4298,10 @@ void Message_DrawOcarinaButtons(PlayState* play, Gfx** gfxP) {
}
void Message_DrawText(PlayState* play, Gfx** gfxP) {
+ if (!GameInteractor_Should(VB_DRAW_OCARINA_STAFF, true)) {
+ return;
+ }
+
if ((gSaveContext.options.language == LANGUAGE_JPN) && !play->msgCtx.textIsCredits) {
Message_DrawTextDefault(play, gfxP);
} else if (play->msgCtx.textIsCredits) {
@@ -4424,7 +4428,9 @@ void Message_DrawMain(PlayState* play, Gfx** gfxP) {
(((msgCtx->msgMode >= MSGMODE_TEXT_BOX_GROWING) && (msgCtx->msgMode <= MSGMODE_TEXT_DONE)) ||
((msgCtx->msgMode >= MSGMODE_NEW_CYCLE_0) && (msgCtx->msgMode <= MSGMODE_OWL_SAVE_2))) &&
(D_801CFC78[msgCtx->textBoxType] != 0xE)) {
- Message_DrawTextBox(play, &gfx);
+ if (GameInteractor_Should(VB_DRAW_OCARINA_STAFF, true)) {
+ Message_DrawTextBox(play, &gfx);
+ }
}
}
}
@@ -4495,8 +4501,10 @@ void Message_DrawMain(PlayState* play, Gfx** gfxP) {
case MSGMODE_TEXT_AWAIT_INPUT:
case MSGMODE_TEXT_AWAIT_NEXT:
Message_DrawText(play, &gfx);
- Message_DrawTextboxIcon(play, &gfx, 158,
- (s16)(D_801D03A8[msgCtx->textBoxType] + msgCtx->textboxYTarget));
+ if (GameInteractor_Should(VB_DRAW_OCARINA_STAFF, true)) {
+ Message_DrawTextboxIcon(play, &gfx, 158,
+ (s16)(D_801D03A8[msgCtx->textBoxType] + msgCtx->textboxYTarget));
+ }
break;
case MSGMODE_OCARINA_STARTING:
@@ -4611,6 +4619,8 @@ void Message_DrawMain(PlayState* play, Gfx** gfxP) {
msgCtx->songPlayed = msgCtx->ocarinaStaff->state;
+ GameInteractor_Should(VB_OVERRIDE_OCARINA_STAFF_STATE, false, msgCtx->ocarinaStaff);
+
bool vanillaOwnedSongCheck = (msgCtx->ocarinaStaff->state == OCARINA_SONG_SCARECROW_SPAWN) ||
(msgCtx->ocarinaStaff->state == OCARINA_SONG_INVERTED_TIME) ||
(msgCtx->ocarinaStaff->state == OCARINA_SONG_DOUBLE_TIME) ||
@@ -5317,13 +5327,17 @@ void Message_DrawMain(PlayState* play, Gfx** gfxP) {
case TEXTBOX_ENDTYPE_INPUT_BANK:
case TEXTBOX_ENDTYPE_INPUT_DOGGY_RACETRACK_BET:
default:
- Message_DrawTextboxIcon(play, &gfx, 158,
- (s16)(D_801D03A8[msgCtx->textBoxType] + msgCtx->textboxYTarget));
+ if (GameInteractor_Should(VB_DRAW_OCARINA_STAFF, true)) {
+ Message_DrawTextboxIcon(play, &gfx, 158,
+ (s16)(D_801D03A8[msgCtx->textBoxType] + msgCtx->textboxYTarget));
+ }
break;
case TEXTBOX_ENDTYPE_EVENT2:
- Message_DrawTextboxIcon(play, &gfx, 158,
- (s16)(D_801D03A8[msgCtx->textBoxType] + msgCtx->textboxYTarget));
+ if (GameInteractor_Should(VB_DRAW_OCARINA_STAFF, true)) {
+ Message_DrawTextboxIcon(play, &gfx, 158,
+ (s16)(D_801D03A8[msgCtx->textBoxType] + msgCtx->textboxYTarget));
+ }
break;
}
break;
@@ -5354,7 +5368,10 @@ void Message_DrawMain(PlayState* play, Gfx** gfxP) {
break;
}
}
- Message_DrawOcarinaButtons(play, &gfx);
+ if (GameInteractor_Should(VB_DRAW_OCARINA_STAFF, true)) {
+ Message_DrawOcarinaButtons(play, &gfx);
+ }
+
*gfxP = gfx;
}