diff --git a/include/z64message.h b/include/z64message.h index 0f777a10af..6646d5a7d2 100644 --- a/include/z64message.h +++ b/include/z64message.h @@ -193,8 +193,8 @@ typedef struct MessageContext { /* 0x11F10 */ s32 msgLength; /* 0x11F14 */ u16 nextTextId; /* 0x11F16 */ u16 itemId; - /* 0x11F18 */ u8 unk11F18; - /* 0x11F1A */ s16 unk11F1A[3]; + /* 0x11F18 */ u8 hasChoices; + /* 0x11F1A */ s16 lineIndent[3]; /* 0x11F20 */ UNK_TYPE1 unk11F20[0x2]; /* 0x11F22 */ u8 msgMode; /* 0x11F23 */ UNK_TYPE1 unk11F23; @@ -208,9 +208,9 @@ typedef struct MessageContext { /* 0x11FF2 */ u16 textUnskippable; /* 0x11FF4 */ s16 textPosX; /* 0x11FF6 */ s16 textPosY; - /* 0x11FF8 */ s16 unk11FF8; - /* 0x11FFA */ s16 unk11FFA; - /* 0x11FFC */ s16 unk11FFC; + /* 0x11FF8 */ s16 textPosXTarget; + /* 0x11FFA */ s16 textPosYTarget; + /* 0x11FFC */ s16 lineHeight; /* 0x11FFE */ s16 unk11FFE[0x3]; /* 0x12004 */ s16 textboxXTarget; /* 0x12006 */ s16 textboxYTarget; @@ -278,7 +278,7 @@ typedef struct MessageContext { /* 0x120B1 */ u8 bombersNotebookEventQueueCount; /* 0x120B2 */ u8 bombersNotebookEventQueue[10]; /* 0x120BC */ u16 hudVisibility; - /* 0x120BE */ s16 unk120BE; + /* 0x120BE */ s16 inputLineNumber; /* 0x120C0 */ s16 codeBufOffset; /* 0x120C2 */ s16 inputDigitIndex; /* 0x120C4 */ s32 unk120C4; diff --git a/src/code/z_message.c b/src/code/z_message.c index 6f1e0c48ed..babbd5ddcb 100644 --- a/src/code/z_message.c +++ b/src/code/z_message.c @@ -1097,8 +1097,8 @@ void Message_DrawTextDefault(PlayState* play, Gfx** gfxP) { s16 prevB; u16 lookAheadCharacter; - play->msgCtx.textPosX = play->msgCtx.unk11F1A[0] + play->msgCtx.unk11FF8; - play->msgCtx.textPosY = play->msgCtx.unk11FFA; + play->msgCtx.textPosX = play->msgCtx.lineIndent[0] + play->msgCtx.textPosXTarget; + play->msgCtx.textPosY = play->msgCtx.textPosYTarget; sp130 = 0; if (play->msgCtx.itemId != MESSAGE_ITEM_NONE) { @@ -1193,11 +1193,11 @@ void Message_DrawTextDefault(PlayState* play, Gfx** gfxP) { break; case 0xA: - msgCtx->textPosY += msgCtx->unk11FFC; + msgCtx->textPosY += msgCtx->lineHeight; FALLTHROUGH; case 0xC: sp130++; - msgCtx->textPosX = msgCtx->unk11F1A[sp130] + msgCtx->unk11FF8; + msgCtx->textPosX = msgCtx->lineIndent[sp130] + msgCtx->textPosXTarget; if (msgCtx->choiceNum == 1) { if (!play->pauseCtx.bombersNotebookOpen) { msgCtx->textPosX += 32; @@ -1852,48 +1852,48 @@ void Message_LoadItemIcon(PlayState* play, u16 itemId, s16 arg2) { u16* new_var2 = &itemId; if (itemId == ITEM_RECOVERY_HEART) { - msgCtx->unk12010 = (msgCtx->unk11FF8 - D_801CFF88[gSaveContext.options.language]); + msgCtx->unk12010 = (msgCtx->textPosXTarget - D_801CFF88[gSaveContext.options.language]); msgCtx->unk12012 = (arg2 + 0xA); msgCtx->unk12014 = 0x10; } else if ((itemId >= ITEM_RUPEE_GREEN) && (itemId <= ITEM_RUPEE_HUGE)) { - msgCtx->unk12010 = (msgCtx->unk11FF8 - D_801CFF88[gSaveContext.options.language]); + msgCtx->unk12010 = (msgCtx->textPosXTarget - D_801CFF88[gSaveContext.options.language]); msgCtx->unk12012 = (arg2 + 0xA); msgCtx->unk12014 = 0x10; } else if (itemId == ITEM_STRAY_FAIRIES) { - msgCtx->unk12010 = (msgCtx->unk11FF8 - D_801CFF70[gSaveContext.options.language]); + msgCtx->unk12010 = (msgCtx->textPosXTarget - D_801CFF70[gSaveContext.options.language]); msgCtx->unk12012 = (arg2 + 0xA); msgCtx->unk12014 = 0x20; } else if ((itemId >= ITEM_SONG_SONATA) && (itemId <= ITEM_SONG_SUN)) { - msgCtx->unk12010 = (msgCtx->unk11FF8 - D_801CFF88[gSaveContext.options.language]); + msgCtx->unk12010 = (msgCtx->textPosXTarget - D_801CFF88[gSaveContext.options.language]); msgCtx->unk12012 = (arg2 + 0xA); msgCtx->unk12014 = 0x10; CmpDma_LoadFile(SEGMENT_ROM_START(icon_item_static_yar), ITEM_SONG_SONATA, msgCtx->textboxSegment + 0x1000, 0x180); } else if (itemId == ITEM_BOMBERS_NOTEBOOK) { - msgCtx->unk12010 = (msgCtx->unk11FF8 - D_801CFF70[gSaveContext.options.language]); + msgCtx->unk12010 = (msgCtx->textPosXTarget - D_801CFF70[gSaveContext.options.language]); msgCtx->unk12012 = (arg2 + 6); msgCtx->unk12014 = 0x20; CmpDma_LoadFile(SEGMENT_ROM_START(icon_item_static_yar), ITEM_SONG_SONATA, msgCtx->textboxSegment + 0x1000, 0x1000); } else if (itemId <= ITEM_REMAINS_TWINMOLD) { - msgCtx->unk12010 = (msgCtx->unk11FF8 - D_801CFF70[gSaveContext.options.language]); + msgCtx->unk12010 = (msgCtx->textPosXTarget - D_801CFF70[gSaveContext.options.language]); msgCtx->unk12012 = (arg2 + 6); msgCtx->unk12014 = 0x20; CmpDma_LoadFile(SEGMENT_ROM_START(icon_item_static_yar), itemId, msgCtx->textboxSegment + 0x1000, 0x1000); } else if (itemId == ITEM_CC) { - msgCtx->unk12010 = (msgCtx->unk11FF8 - D_801CFF70[gSaveContext.options.language]); + msgCtx->unk12010 = (msgCtx->textPosXTarget - D_801CFF70[gSaveContext.options.language]); msgCtx->unk12012 = (arg2 + 8); msgCtx->unk12014 = 0x20; CmpDma_LoadFile(SEGMENT_ROM_START(schedule_dma_static_yar), ITEM_POTION_BLUE, msgCtx->textboxSegment + 0x1000, 0x400); } else if (itemId >= ITEM_B8) { - msgCtx->unk12010 = (msgCtx->unk11FF8 - D_801CFF70[gSaveContext.options.language]); + msgCtx->unk12010 = (msgCtx->textPosXTarget - D_801CFF70[gSaveContext.options.language]); msgCtx->unk12012 = (arg2 + 8); msgCtx->unk12014 = 0x20; CmpDma_LoadFile(SEGMENT_ROM_START(schedule_dma_static_yar), (itemId - ITEM_B8), msgCtx->textboxSegment + 0x1000, 0x800); } else if (itemId >= ITEM_SKULL_TOKEN) { - msgCtx->unk12010 = (msgCtx->unk11FF8 - D_801CFF7C[gSaveContext.options.language]); + msgCtx->unk12010 = (msgCtx->textPosXTarget - D_801CFF7C[gSaveContext.options.language]); msgCtx->unk12012 = (arg2 + 0xA); msgCtx->unk12014 = 0x18; CmpDma_LoadFile(SEGMENT_ROM_START(icon_item_24_static_yar), (itemId - ITEM_SKULL_TOKEN), @@ -1988,7 +1988,7 @@ void Message_DecodeHeader(PlayState* play) { font = &msgCtx->font; if (msgCtx->msgBufPos == 0) { if (font->msgBuf.schar[msgCtx->msgBufPos + 2] != 0xFE) { - msgCtx->unk11F18 = 0; + msgCtx->hasChoices = 0; if ((msgCtx->currentTextId == 0x176F) || (msgCtx->currentTextId == 0x1770) || (msgCtx->currentTextId == 0x1771)) { msgCtx->itemId = ITEM_OCARINA_OF_TIME; @@ -2187,7 +2187,7 @@ void Message_Decode(PlayState* play) { s16 numLines; s16 value; s16 digits[5]; - s16 spD2; + s16 lineNum; f32 timeInSeconds; s32 charTexIndex; u8* fontBuf; @@ -2207,7 +2207,7 @@ void Message_Decode(PlayState* play) { font->unk_11D88 = (font->unk_11D88 ^ 1) & 1; if ((gSaveContext.options.language == LANGUAGE_JPN) && !msgCtx->textIsCredits) { - spD2 = 0; + lineNum = 0; numLines = 0; decodedBufPos = 0; charTexIndex = 0; @@ -2222,18 +2222,18 @@ void Message_Decode(PlayState* play) { msgCtx->msgMode = MSGMODE_TEXT_DISPLAYING; msgCtx->textDrawPos = 1; - msgCtx->unk11FFA = msgCtx->textboxY + 6; - msgCtx->unk11F1A[spD2] = 0; - if (msgCtx->unk11F18 == 0) { - msgCtx->unk11F1A[spD2] = TRUNCF_BINANG((msgCtx->textCharScale * 16.0f * 16.0f) - spC0) / 2; + msgCtx->textPosYTarget = msgCtx->textboxY + 6; + msgCtx->lineIndent[lineNum] = 0; + if (msgCtx->hasChoices == 0) { + msgCtx->lineIndent[lineNum] = TRUNCF_BINANG((msgCtx->textCharScale * 16.0f * 16.0f) - spC0) / 2; } spC0 = 0.0f; if (curChar == 0xB) { if ((msgCtx->textBoxType != TEXTBOX_TYPE_3) && (msgCtx->textBoxType != TEXTBOX_TYPE_4)) { if (numLines < 2) { - msgCtx->unk11FFA = msgCtx->textboxY + 0x16; + msgCtx->textPosYTarget = msgCtx->textboxY + 0x16; } else if (numLines == 2) { - msgCtx->unk11FFA = msgCtx->textboxY + 0xE; + msgCtx->textPosYTarget = msgCtx->textboxY + 0xE; } } } else { @@ -2241,9 +2241,9 @@ void Message_Decode(PlayState* play) { if ((msgCtx->textBoxType != TEXTBOX_TYPE_3) && (msgCtx->textBoxType != TEXTBOX_TYPE_4)) { if (numLines == 0) { - msgCtx->unk11FFA = msgCtx->textboxY + 0x16; + msgCtx->textPosYTarget = msgCtx->textboxY + 0x16; } else if (numLines == 1) { - msgCtx->unk11FFA = msgCtx->textboxY + 0xE; + msgCtx->textPosYTarget = msgCtx->textboxY + 0xE; } } } @@ -2299,17 +2299,17 @@ void Message_Decode(PlayState* play) { DmaMgr_RequestSync(msgCtx->textboxSegment + 0x1900, SEGMENT_ROM_START(message_texture_static) + 0x900, 0x900); numLines = 2; - spD2 = 2; + lineNum = 2; msgCtx->unk12012 = msgCtx->textboxY + 8; - msgCtx->unk11F18 = 1; + msgCtx->hasChoices = 1; msgCtx->unk12010 = XREG(47); } else if (curChar == 0x202) { - msgCtx->unk11F18 = 1; + msgCtx->hasChoices = 1; msgCtx->choiceNum = 2; } else if (curChar == 0x203) { - msgCtx->unk11F18 = 1; + msgCtx->hasChoices = 1; msgCtx->choiceNum = 3; - msgCtx->unk11FF8 += 0x16; + msgCtx->textPosXTarget += 0x16; } else if (curChar == 0x204) { Message_GetTimerDigits(((void)0, gSaveContext.timerCurTimes[curChar - 0x204]), spAC); @@ -2405,7 +2405,7 @@ void Message_Decode(PlayState* play) { Message_LoadChar(play, 0x9543, &charTexIndex, &spC0, decodedBufPos); } else if (curChar == 0x20C) { decodedBufPos++; - msgCtx->unk120BE = spD2; + msgCtx->inputLineNumber = lineNum; msgCtx->codeBufOffset = decodedBufPos; msgCtx->inputDigitIndex = 2; msgCtx->rupeesSelected = 0; @@ -2569,7 +2569,7 @@ void Message_Decode(PlayState* play) { decodedBufPos--; } else if (curChar == 0x220) { decodedBufPos++; - msgCtx->unk120BE = spD2; + msgCtx->inputLineNumber = lineNum; msgCtx->codeBufOffset = decodedBufPos; msgCtx->inputDigitIndex = 0; msgCtx->rupeesSelected = 0; @@ -2582,7 +2582,7 @@ void Message_Decode(PlayState* play) { Message_LoadRupeesJPN(play, &decodedBufPos, &charTexIndex, &spC0); } else if (curChar == 0x221) { decodedBufPos++; - msgCtx->unk120BE = spD2; + msgCtx->inputLineNumber = lineNum; msgCtx->codeBufOffset = decodedBufPos; msgCtx->inputDigitIndex = 0; msgCtx->rupeesSelected = 0; @@ -2615,7 +2615,7 @@ void Message_Decode(PlayState* play) { Message_LoadOwlWarpText(play, &charTexIndex, &spC0, &decodedBufPos); } else if (curChar == 0x225) { decodedBufPos++; - msgCtx->unk120BE = spD2; + msgCtx->inputLineNumber = lineNum; msgCtx->codeBufOffset = decodedBufPos; msgCtx->inputDigitIndex = 0; msgCtx->rupeesSelected = 0; @@ -2999,11 +2999,11 @@ void Message_Decode(PlayState* play) { } msgCtx->msgBufPos++; } else if ((curChar == 0xC) || (curChar == 0xA)) { - msgCtx->unk11F1A[spD2] = 0; - if (msgCtx->unk11F18 == 0) { - msgCtx->unk11F1A[spD2] = ((msgCtx->textCharScale * 16.0f * 16.0f) - spC0) * 0.5f; + msgCtx->lineIndent[lineNum] = 0; + if (msgCtx->hasChoices == 0) { + msgCtx->lineIndent[lineNum] = ((msgCtx->textCharScale * 16.0f * 16.0f) - spC0) * 0.5f; } - spD2++; + lineNum++; spC0 = 0.0f; if (curChar == 0xA) { numLines++; @@ -3161,28 +3161,28 @@ void Message_OpenText(PlayState* play, u16 textId) { if (play->pauseCtx.bombersNotebookOpen) { if (gSaveContext.options.language == LANGUAGE_JPN) { msgCtx->textCharScale = 1.4f; - msgCtx->unk11FFC = 0x1E; - msgCtx->unk11FF8 = 0x32; + msgCtx->lineHeight = 0x1E; + msgCtx->textPosXTarget = 0x32; var_fv0 = 1.4; } else { msgCtx->textCharScale = 1.4f; - msgCtx->unk11FFC = 0x16; - msgCtx->unk11FF8 = 0x32; + msgCtx->lineHeight = 0x16; + msgCtx->textPosXTarget = 0x32; var_fv0 = 1.4; } } else if (textId >= 0x4E20) { msgCtx->textIsCredits = true; msgCtx->textCharScale = 0.85f; - msgCtx->unk11FFC = 6; - msgCtx->unk11FF8 = 0x14; + msgCtx->lineHeight = 6; + msgCtx->textPosXTarget = 0x14; } else if (gSaveContext.options.language == LANGUAGE_JPN) { msgCtx->textCharScale = 0.88f; - msgCtx->unk11FFC = 0x12; - msgCtx->unk11FF8 = 0x32; + msgCtx->lineHeight = 0x12; + msgCtx->textPosXTarget = 0x32; } else { msgCtx->textCharScale = 0.75f; - msgCtx->unk11FFC = 0xC; - msgCtx->unk11FF8 = 0x41; + msgCtx->lineHeight = 0xC; + msgCtx->textPosXTarget = 0x41; } sCharTexSize = msgCtx->textCharScale * 16.0f; @@ -3216,7 +3216,7 @@ void Message_OpenText(PlayState* play, u16 textId) { msgCtx->textBoxProperties = font->msgBuf.schar[msgCtx->msgBufPos] << 8; msgCtx->textBoxProperties |= font->msgBuf.schar[msgCtx->msgBufPos + 1]; - msgCtx->unk11F18 = (msgCtx->textBoxProperties & 0xF000) >> 0xC; + msgCtx->hasChoices = (msgCtx->textBoxProperties & 0xF000) >> 0xC; msgCtx->textBoxType = (msgCtx->textBoxProperties & 0xF00) >> 8; msgCtx->textBoxPos = (msgCtx->textBoxProperties & 0xF0) >> 4; msgCtx->unk11F0C = msgCtx->textBoxProperties & 0xF; @@ -3270,12 +3270,12 @@ void Message_PauseMenu_ShowDescription(PlayState* play, u16 textId, u8 textBoxPo if (gSaveContext.options.language == LANGUAGE_JPN) { msgCtx->textCharScale = 0.88f; - msgCtx->unk11FFC = 0x12; - msgCtx->unk11FF8 = 0x32; + msgCtx->lineHeight = 0x12; + msgCtx->textPosXTarget = 0x32; } else { msgCtx->textCharScale = 0.75f; - msgCtx->unk11FFC = 0xC; - msgCtx->unk11FF8 = 0x41; + msgCtx->lineHeight = 0xC; + msgCtx->textPosXTarget = 0x41; } sCharTexSize = msgCtx->textCharScale * 16.0f; @@ -3306,7 +3306,7 @@ void Message_PauseMenu_ShowDescription(PlayState* play, u16 textId, u8 textBoxPo msgCtx->msgBufPos = 0; msgCtx->decodedTextLen = 0; msgCtx->textBoxProperties = font->msgBuf.wchar[msgCtx->msgBufPos]; - msgCtx->unk11F18 = (msgCtx->textBoxProperties & 0xF000) >> 0xC; + msgCtx->hasChoices = (msgCtx->textBoxProperties & 0xF000) >> 0xC; msgCtx->textBoxType = TEXTBOX_TYPE_9; msgCtx->textBoxPos = textBoxPos; msgCtx->unk11F0C = msgCtx->textBoxProperties & 0xF; @@ -3390,7 +3390,7 @@ void Message_DisplaySceneTitleCard(PlayState* play, u16 textId) { XREG(75) = 0x1E; XREG(77) = 0x3C; XREG(76) = 0x1C; - msgCtx->unk11F1A[0] = msgCtx->unk11F1A[1] = msgCtx->unk11F1A[2] = 0; + msgCtx->lineIndent[0] = msgCtx->lineIndent[1] = msgCtx->lineIndent[2] = 0; Interface_SetHudVisibility(HUD_VISIBILITY_NONE); } } @@ -4112,9 +4112,9 @@ void Message_DrawSceneTitleCard(PlayState* play, Gfx** gfxP) { gDPSetEnvColor(gfx++, 0, 0, 0, 255); if ((msgCtx->currentTextId < 0x1BB2) || (msgCtx->currentTextId >= 0x1BB7)) { - msgCtx->unk11FF8 = XREG(75); + msgCtx->textPosXTarget = XREG(75); } - msgCtx->unk11FFA = XREG(74); + msgCtx->textPosYTarget = XREG(74); Message_DrawTextNES(play, &gfx, 0); *gfxP = gfx++; } @@ -4181,8 +4181,8 @@ void Message_DrawMain(PlayState* play, Gfx** gfxP) { u16 buttonIndexPos; u8 ocarinaError; s32 j; - s16 temp_v0_33; - s16 temp; + s16 lineNum; + s16 inputLineY; gfx = *gfxP; @@ -4997,51 +4997,51 @@ void Message_DrawMain(PlayState* play, Gfx** gfxP) { case MSGMODE_TEXT_DONE: switch (msgCtx->textboxEndType) { case TEXTBOX_ENDTYPE_INPUT_BANK: - temp_v0_33 = msgCtx->unk120BE; - temp = msgCtx->unk11FFA + (msgCtx->unk11FFC * temp_v0_33); + lineNum = msgCtx->inputLineNumber; + inputLineY = msgCtx->textPosYTarget + (msgCtx->lineHeight * lineNum); func_80147F18(play, &gfx, - msgCtx->unk11F1A[temp_v0_33] + + msgCtx->lineIndent[lineNum] + (s32)(16.0f * msgCtx->textCharScale * (msgCtx->inputDigitIndex + 5)) - 1, - temp); + inputLineY); func_80148D64(play); break; case TEXTBOX_ENDTYPE_INPUT_DOGGY_RACETRACK_BET: - temp_v0_33 = msgCtx->unk120BE; - temp = msgCtx->unk11FFA + (msgCtx->unk11FFC * temp_v0_33); + lineNum = msgCtx->inputLineNumber; + inputLineY = msgCtx->textPosYTarget + (msgCtx->lineHeight * lineNum); func_80148558(play, &gfx, - msgCtx->unk11F1A[temp_v0_33] + (s32)(16.0f * msgCtx->textCharScale * 5.0f) - 1, - temp); + msgCtx->lineIndent[lineNum] + (s32)(16.0f * msgCtx->textCharScale * 5.0f) - 1, + inputLineY); func_80149048(play); break; case TEXTBOX_ENDTYPE_INPUT_BOMBER_CODE: - temp_v0_33 = msgCtx->unk120BE; - temp = msgCtx->unk11FFA + (msgCtx->unk11FFC * temp_v0_33); + lineNum = msgCtx->inputLineNumber; + inputLineY = msgCtx->textPosYTarget + (msgCtx->lineHeight * lineNum); func_80147F18(play, &gfx, - msgCtx->unk11F1A[temp_v0_33] + + msgCtx->lineIndent[lineNum] + (s32)(16.0f * msgCtx->textCharScale * (msgCtx->inputDigitIndex + 5)) - 1, - temp); + inputLineY); func_801491DC(play); break; case TEXTBOX_ENDTYPE_INPUT_LOTTERY_CODE: - temp_v0_33 = msgCtx->unk120BE; - temp = msgCtx->unk11FFA + (msgCtx->unk11FFC * temp_v0_33); + lineNum = msgCtx->inputLineNumber; + inputLineY = msgCtx->textPosYTarget + (msgCtx->lineHeight * lineNum); func_80147F18(play, &gfx, - msgCtx->unk11F1A[temp_v0_33] + + msgCtx->lineIndent[lineNum] + (s32)(16.0f * msgCtx->textCharScale * (msgCtx->inputDigitIndex + 5)) - 1, - temp); + inputLineY); func_80149454(play); break; case TEXTBOX_ENDTYPE_64: - temp_v0_33 = msgCtx->unk120BE; - temp = msgCtx->unk11FFA + (msgCtx->unk11FFC * temp_v0_33); + lineNum = msgCtx->inputLineNumber; + inputLineY = msgCtx->textPosYTarget + (msgCtx->lineHeight * lineNum); func_80147F18(play, &gfx, - msgCtx->unk11F1A[temp_v0_33] + + msgCtx->lineIndent[lineNum] + (s32)(16.0f * msgCtx->textCharScale * (msgCtx->inputDigitIndex + 4)) - 6, - temp); + inputLineY); func_801496C8(play); break; @@ -6059,7 +6059,7 @@ void Message_Init(PlayState* play) { msgCtx->textboxX = 52; msgCtx->textboxY = 36; msgCtx->ocarinaSongEffectActive = false; - msgCtx->unk120BE = 0; + msgCtx->inputLineNumber = 0; msgCtx->codeBufOffset = 0; msgCtx->inputDigitIndex = 0; msgCtx->unk120C4 = 0; diff --git a/src/code/z_message_nes.c b/src/code/z_message_nes.c index 2ba82c6cc4..a45abe46ac 100644 --- a/src/code/z_message_nes.c +++ b/src/code/z_message_nes.c @@ -424,17 +424,17 @@ void Message_DrawTextNES(PlayState* play, Gfx** gfxP, u16 textDrawPos) { u16 stateTimerHi; Gfx* gfx = *gfxP; u16 character; - s16 sp130; + s16 lineNum; s16 prevR; s16 prevG; s16 prevB; - msgCtx->textPosX = msgCtx->unk11F1A[0] + msgCtx->unk11FF8; - msgCtx->textPosY = msgCtx->unk11FFA; + msgCtx->textPosX = msgCtx->lineIndent[0] + msgCtx->textPosXTarget; + msgCtx->textPosY = msgCtx->textPosYTarget; - sp130 = 0; + lineNum = 0; if (!msgCtx->textIsCredits) { - msgCtx->textPosY = msgCtx->unk11FFA; + msgCtx->textPosY = msgCtx->textPosYTarget; } else { msgCtx->textPosY = 48; } @@ -536,12 +536,12 @@ void Message_DrawTextNES(PlayState* play, Gfx** gfxP, u16 textDrawPos) { break; case MESSAGE_NEWLINE: - msgCtx->textPosY += msgCtx->unk11FFC; + msgCtx->textPosY += msgCtx->lineHeight; FALLTHROUGH; case MESSAGE_CARRIAGE_RETURN: - sp130++; + lineNum++; - msgCtx->textPosX = msgCtx->unk11F1A[sp130] + msgCtx->unk11FF8; + msgCtx->textPosX = msgCtx->lineIndent[lineNum] + msgCtx->textPosXTarget; if (msgCtx->choiceNum == 1) { if (!play->pauseCtx.bombersNotebookOpen) { msgCtx->textPosX += 16; @@ -555,7 +555,7 @@ void Message_DrawTextNES(PlayState* play, Gfx** gfxP, u16 textDrawPos) { } else { msgCtx->textPosX += 57; } - } else if (sp130 >= 2) { + } else if (lineNum >= 2) { if (!play->pauseCtx.bombersNotebookOpen) { msgCtx->textPosX += 10; } else { @@ -1022,7 +1022,7 @@ void Message_DecodeNES(PlayState* play) { #define numLines (forceLayout.numLines) #define digits (forceLayout.digits) #endif - s16 spC6 = 0; + s16 lineNum = 0; u16 sfxHi; f32 var_fs0; s32 charTexIndex = 0; @@ -1054,13 +1054,13 @@ void Message_DecodeNES(PlayState* play) { msgCtx->msgMode = MSGMODE_TEXT_DISPLAYING; msgCtx->textDrawPos = 1; if (msgCtx->textBoxType == TEXTBOX_TYPE_3) { - msgCtx->unk11FFA = msgCtx->textboxY + 2; + msgCtx->textPosYTarget = msgCtx->textboxY + 2; } else { - msgCtx->unk11FFA = msgCtx->textboxY + 8; + msgCtx->textPosYTarget = msgCtx->textboxY + 8; } - msgCtx->unk11F1A[spC6] = 0; - if (msgCtx->unk11F18 != 0) { - msgCtx->unk11F1A[spC6] = TRUNCF_BINANG((msgCtx->textCharScale * 16.0f * 16.0f) - spA4) / 2; + msgCtx->lineIndent[lineNum] = 0; + if (msgCtx->hasChoices != 0) { + msgCtx->lineIndent[lineNum] = TRUNCF_BINANG((msgCtx->textCharScale * 16.0f * 16.0f) - spA4) / 2; } spA4 = 0.0f; @@ -1068,21 +1068,21 @@ void Message_DecodeNES(PlayState* play) { if (curChar == MESSAGE_BOX_BREAK2) { if ((msgCtx->textBoxType != TEXTBOX_TYPE_3) && (msgCtx->textBoxType != TEXTBOX_TYPE_4)) { if (numLines < 2) { - msgCtx->unk11FFA = msgCtx->textboxY + XREG(10); + msgCtx->textPosYTarget = msgCtx->textboxY + XREG(10); } else if (numLines == 2) { - msgCtx->unk11FFA = msgCtx->textboxY + XREG(11); + msgCtx->textPosYTarget = msgCtx->textboxY + XREG(11); } else if (numLines == 3) { - msgCtx->unk11FFA = msgCtx->textboxY + XREG(12); + msgCtx->textPosYTarget = msgCtx->textboxY + XREG(12); } } } else { if ((msgCtx->textBoxType != TEXTBOX_TYPE_3) && (msgCtx->textBoxType != TEXTBOX_TYPE_4)) { if (numLines == 0) { - msgCtx->unk11FFA = msgCtx->textboxY + XREG(13) + XREG(10); + msgCtx->textPosYTarget = msgCtx->textboxY + XREG(13) + XREG(10); } else if (numLines == 1) { - msgCtx->unk11FFA = msgCtx->textboxY + XREG(13) + XREG(11); + msgCtx->textPosYTarget = msgCtx->textboxY + XREG(13) + XREG(11); } else if (numLines == 2) { - msgCtx->unk11FFA = msgCtx->textboxY + XREG(13) + XREG(12); + msgCtx->textPosYTarget = msgCtx->textboxY + XREG(13) + XREG(12); } } } @@ -1151,17 +1151,17 @@ void Message_DecodeNES(PlayState* play) { DmaMgr_RequestSync(msgCtx->textboxSegment + 0x1900, SEGMENT_ROM_START(message_texture_static) + 0x900, 0x900); numLines = 2; - spC6 = 2; + lineNum = 2; msgCtx->unk12012 = msgCtx->textboxY + 8; - msgCtx->unk11F18 = 1; + msgCtx->hasChoices = 1; msgCtx->unk12010 = XREG(47); } else if (curChar == MESSAGE_TWO_CHOICE) { - msgCtx->unk11F18 = 0; + msgCtx->hasChoices = 0; msgCtx->choiceNum = 2; } else if (curChar == MESSAGE_THREE_CHOICE) { - msgCtx->unk11F18 = 0; + msgCtx->hasChoices = 0; msgCtx->choiceNum = 3; - msgCtx->unk11FF8 += 22; + msgCtx->textPosXTarget += 22; } else if (curChar == MESSAGE_TIMER_POSTMAN) { Message_GetTimerDigitsNES(((void)0, gSaveContext.timerCurTimes[curChar - MESSAGE_TIMER_POSTMAN]), spA8); @@ -1257,7 +1257,7 @@ void Message_DecodeNES(PlayState* play) { decodedBufPos--; } else if (curChar == MESSAGE_INPUT_BANK) { decodedBufPos++; - msgCtx->unk120BE = spC6; + msgCtx->inputLineNumber = lineNum; msgCtx->codeBufOffset = decodedBufPos; msgCtx->inputDigitIndex = 2; msgCtx->rupeesSelected = 0; @@ -1466,7 +1466,7 @@ void Message_DecodeNES(PlayState* play) { decodedBufPos--; } else if (curChar == MESSAGE_INPUT_DOGGY_RACETRACK_BET) { decodedBufPos++; - msgCtx->unk120BE = spC6; + msgCtx->inputLineNumber = lineNum; msgCtx->codeBufOffset = decodedBufPos; msgCtx->inputDigitIndex = 0; msgCtx->rupeesSelected = 0; @@ -1479,7 +1479,7 @@ void Message_DecodeNES(PlayState* play) { Message_LoadPluralRupeesNES(play, &decodedBufPos, &charTexIndex, &spA4); } else if (curChar == MESSAGE_INPUT_BOMBER_CODE) { decodedBufPos++; - msgCtx->unk120BE = spC6; + msgCtx->inputLineNumber = lineNum; msgCtx->codeBufOffset = decodedBufPos; msgCtx->inputDigitIndex = 0; msgCtx->rupeesSelected = 0; @@ -1512,7 +1512,7 @@ void Message_DecodeNES(PlayState* play) { Message_LoadOwlWarpTextNES(play, &charTexIndex, &spA4, &decodedBufPos); } else if (curChar == MESSAGE_INPUT_LOTTERY_CODE) { decodedBufPos++; - msgCtx->unk120BE = spC6; + msgCtx->inputLineNumber = lineNum; msgCtx->codeBufOffset = decodedBufPos; msgCtx->inputDigitIndex = 0; msgCtx->rupeesSelected = 0; @@ -1913,11 +1913,11 @@ void Message_DecodeNES(PlayState* play) { } msgCtx->msgBufPos++; } else if ((curChar == MESSAGE_CARRIAGE_RETURN) || (curChar == MESSAGE_NEWLINE)) { - msgCtx->unk11F1A[spC6] = 0; - if (msgCtx->unk11F18 != 0) { - msgCtx->unk11F1A[spC6] = ((msgCtx->textCharScale * 16.0f * 16.0f) - spA4) * 0.5f; + msgCtx->lineIndent[lineNum] = 0; + if (msgCtx->hasChoices != 0) { + msgCtx->lineIndent[lineNum] = ((msgCtx->textCharScale * 16.0f * 16.0f) - spA4) * 0.5f; } - spC6++; + lineNum++; spA4 = 0.0f; if (curChar == MESSAGE_NEWLINE) { numLines++; diff --git a/src/code/z_message_staff.c b/src/code/z_message_staff.c index 78f55902ab..1aca632562 100644 --- a/src/code/z_message_staff.c +++ b/src/code/z_message_staff.c @@ -48,10 +48,10 @@ void Message_DrawTextCredits(PlayState* play, Gfx** gfxP) { Font* font = &msgCtx->font; Gfx* gfx = *gfxP; - msgCtx->textPosX = msgCtx->unk11FF8; + msgCtx->textPosX = msgCtx->textPosXTarget; if (!msgCtx->textIsCredits) { - msgCtx->textPosY = msgCtx->unk11FFA; + msgCtx->textPosY = msgCtx->textPosYTarget; } else { msgCtx->textPosY = 48; } @@ -69,14 +69,14 @@ void Message_DrawTextCredits(PlayState* play, Gfx** gfxP) { switch (character) { case MESSAGE_NEWLINE: - msgCtx->textPosX = msgCtx->unk11FF8; + msgCtx->textPosX = msgCtx->textPosXTarget; if ((msgCtx->choiceNum == 1) || (msgCtx->choiceNum == 3)) { msgCtx->textPosX += 32; } - if ((msgCtx->choiceNum == 2) && (msgCtx->textPosY != msgCtx->unk11FFA)) { + if ((msgCtx->choiceNum == 2) && (msgCtx->textPosY != msgCtx->textPosYTarget)) { msgCtx->textPosX += 32; } - msgCtx->textPosY += msgCtx->unk11FFC; + msgCtx->textPosY += msgCtx->lineHeight; break; case MESSAGE_COLOR: @@ -356,15 +356,15 @@ void Message_DecodeCredits(PlayState* play) { // Textbox decoding ends with any of the above text control characters msgCtx->msgMode = MSGMODE_TEXT_DISPLAYING; msgCtx->textDrawPos = 1; - msgCtx->unk11FFA = msgCtx->textboxY + 8; + msgCtx->textPosYTarget = msgCtx->textboxY + 8; if (msgCtx->textBoxType != TEXTBOX_TYPE_4) { if (numLines == 0) { - msgCtx->unk11FFA = msgCtx->textboxY + 26; + msgCtx->textPosYTarget = msgCtx->textboxY + 26; } else if (numLines == 1) { - msgCtx->unk11FFA = msgCtx->textboxY + 20; + msgCtx->textPosYTarget = msgCtx->textboxY + 20; } else if (numLines == 2) { - msgCtx->unk11FFA = msgCtx->textboxY + 16; + msgCtx->textPosYTarget = msgCtx->textboxY + 16; } }