summaryrefslogtreecommitdiff
path: root/src/code/z_message.c
diff options
context:
space:
mode:
authorcadmic <cadmic24@gmail.com>2024-09-30 12:52:38 -0700
committerGitHub <noreply@github.com>2024-09-30 15:52:38 -0400
commitbdc11c2894d482208ba9acef6f572fb317ee69d2 (patch)
treeda4d2925be53a2479fafe0188feab2f05f390086 /src/code/z_message.c
parent80ed596c56e89c1de600caf2c4656f8205c529a1 (diff)
[ntsc-1.0/1.1] Match "game engine" files (#2244)
* [ntsc-1.0/1.1] Match "game engine" files * Use R_START_BTN_X/R_START_BTN_Y * Comment obvious bugs * Move Magic_Fill comments * Move EVENTINF_HORSES_INDEX printf inside #if * Replace "this function"
Diffstat (limited to 'src/code/z_message.c')
-rw-r--r--src/code/z_message.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/code/z_message.c b/src/code/z_message.c
index 920fd9bad..9094f2580 100644
--- a/src/code/z_message.c
+++ b/src/code/z_message.c
@@ -2074,8 +2074,9 @@ void Message_Decode(PlayState* play) {
decodedBufPos++;
msgCtx->msgBufPos++;
}
- } else {
+ } else
#endif
+ {
// English text for NTSC, eng/ger/fra text for PAL
while (true) {
curChar = msgCtx->msgBufDecoded[decodedBufPos] = font->msgBuf[msgCtx->msgBufPos];
@@ -2397,8 +2398,15 @@ void Message_Decode(PlayState* play) {
Message_LoadItemIcon(play, font->msgBuf[msgCtx->msgBufPos + 1], R_TEXTBOX_Y + 10);
} else if (curChar == MESSAGE_BACKGROUND) {
msgCtx->textboxBackgroundIdx = font->msgBuf[msgCtx->msgBufPos + 1] * 2;
+#if OOT_VERSION < PAL_1_0
+ //! @bug Wrong shift amounts cause textboxBackgroundForeColorIdx and textboxBackgroundBackColorIdx
+ //! to always be 0. Fortunately MESSAGE_BACKGROUND is only present in unused messages.
+ msgCtx->textboxBackgroundForeColorIdx = (font->msgBuf[msgCtx->msgBufPos + 2] & 0xF0) >> 12;
+ msgCtx->textboxBackgroundBackColorIdx = (font->msgBuf[msgCtx->msgBufPos + 2] & 0xF) >> 8;
+#else
msgCtx->textboxBackgroundForeColorIdx = (font->msgBuf[msgCtx->msgBufPos + 2] & 0xF0) >> 4;
msgCtx->textboxBackgroundBackColorIdx = font->msgBuf[msgCtx->msgBufPos + 2] & 0xF;
+#endif
msgCtx->textboxBackgroundYOffsetIdx = (font->msgBuf[msgCtx->msgBufPos + 3] & 0xF0) >> 4;
msgCtx->textboxBackgroundUnkArg = font->msgBuf[msgCtx->msgBufPos + 3] & 0xF;
DMA_REQUEST_SYNC(msgCtx->textboxSegment + MESSAGE_STATIC_TEX_SIZE,
@@ -2448,9 +2456,7 @@ void Message_Decode(PlayState* play) {
decodedBufPos++;
msgCtx->msgBufPos++;
}
-#if OOT_NTSC
}
-#endif
}
void Message_OpenText(PlayState* play, u16 textId) {
@@ -3062,9 +3068,11 @@ void Message_DrawMain(PlayState* play, Gfx** p) {
msgCtx->ocarinaStaff = AudioOcarina_GetPlayingStaff();
if (msgCtx->ocarinaStaff->pos) {
PRINTF("locate=%d onpu_pt=%d\n", msgCtx->ocarinaStaff->pos, sOcarinaButtonIndexBufPos);
+#if OOT_VERSION >= PAL_1_0
if (msgCtx->ocarinaStaff->pos == 1 && sOcarinaButtonIndexBufPos == 8) {
sOcarinaButtonIndexBufPos = 0;
}
+#endif
if (sOcarinaButtonIndexBufPos == msgCtx->ocarinaStaff->pos - 1) {
msgCtx->lastOcarinaButtonIndex = sOcarinaButtonIndexBuf[msgCtx->ocarinaStaff->pos - 1] =
msgCtx->ocarinaStaff->buttonIndex;