More renames for text line positioning fields

This commit is contained in:
JordanLongstaff 2025-12-05 07:11:28 -05:00
parent 8ceebea489
commit 1a904eb960
4 changed files with 128 additions and 128 deletions

View File

@ -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;

View File

@ -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;

View File

@ -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++;

View File

@ -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;
}
}