Document `func_80148CBC` (#1836)

* Document `func_80148CBC`

* Add doc comment
This commit is contained in:
Jordan Longstaff 2025-12-06 17:36:31 -05:00 committed by GitHub
parent 5898c3e2b0
commit f973883b06
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 25 additions and 22 deletions

View File

@ -211,7 +211,7 @@ typedef struct MessageContext {
/* 0x11FF8 */ s16 unk11FF8;
/* 0x11FFA */ s16 unk11FFA;
/* 0x11FFC */ s16 unk11FFC;
/* 0x11FFE */ s16 unk11FFE[0x3];
/* 0x11FFE */ s16 choicePosY[0x3];
/* 0x12004 */ s16 textboxXTarget;
/* 0x12006 */ s16 textboxYTarget;
/* 0x12008 */ s16 unk12008;

View File

@ -524,14 +524,17 @@ void Message_HandleChoiceSelection(PlayState* play, u8 numChoices) {
}
}
void func_80148CBC(PlayState* play, Gfx** gfxP, u8 arg2) {
/**
* Draws the arrow icon next to the currently selected choice.
*/
void Message_DrawChoiceIcon(PlayState* play, Gfx** gfxP, u8 numChoices) {
MessageContext* msgCtx = &play->msgCtx;
msgCtx->textPosX = 48;
if (arg2 == 1) {
msgCtx->textPosY = msgCtx->unk11FFE[1 + msgCtx->choiceIndex];
if (numChoices == 1) {
msgCtx->textPosY = msgCtx->choicePosY[1 + msgCtx->choiceIndex];
} else {
msgCtx->textPosY = msgCtx->unk11FFE[msgCtx->choiceIndex];
msgCtx->textPosY = msgCtx->choicePosY[msgCtx->choiceIndex];
}
Message_DrawTextboxIcon(play, gfxP, msgCtx->textPosX, msgCtx->textPosY);
}
@ -5051,15 +5054,15 @@ void Message_DrawMain(PlayState* play, Gfx** gfxP) {
switch (msgCtx->textboxEndType) {
case TEXTBOX_ENDTYPE_TWO_CHOICE:
func_80148CBC(play, &gfx, 1);
Message_DrawChoiceIcon(play, &gfx, 1);
break;
case TEXTBOX_ENDTYPE_THREE_CHOICE:
func_80148CBC(play, &gfx, 2);
Message_DrawChoiceIcon(play, &gfx, 2);
break;
case TEXTBOX_ENDTYPE_12:
func_80148CBC(play, &gfx, 1);
Message_DrawChoiceIcon(play, &gfx, 1);
break;
case TEXTBOX_ENDTYPE_PERSISTENT:
@ -5377,13 +5380,13 @@ void Message_Update(PlayState* play) {
msgCtx->textboxXTarget = sTextboxXPositions[var_v1];
if ((gSaveContext.options.language == LANGUAGE_JPN) && !msgCtx->textIsCredits) {
msgCtx->unk11FFE[0] = (s16)(msgCtx->textboxYTarget + 7);
msgCtx->unk11FFE[1] = (s16)(msgCtx->textboxYTarget + 25);
msgCtx->unk11FFE[2] = (s16)(msgCtx->textboxYTarget + 43);
msgCtx->choicePosY[0] = (s16)(msgCtx->textboxYTarget + 7);
msgCtx->choicePosY[1] = (s16)(msgCtx->textboxYTarget + 25);
msgCtx->choicePosY[2] = (s16)(msgCtx->textboxYTarget + 43);
} else {
msgCtx->unk11FFE[0] = (s16)(msgCtx->textboxYTarget + 20);
msgCtx->unk11FFE[1] = (s16)(msgCtx->textboxYTarget + 32);
msgCtx->unk11FFE[2] = (s16)(msgCtx->textboxYTarget + 44);
msgCtx->choicePosY[0] = (s16)(msgCtx->textboxYTarget + 20);
msgCtx->choicePosY[1] = (s16)(msgCtx->textboxYTarget + 32);
msgCtx->choicePosY[2] = (s16)(msgCtx->textboxYTarget + 44);
}
if ((msgCtx->textBoxType == TEXTBOX_TYPE_4) || (msgCtx->textBoxType == TEXTBOX_TYPE_5)) {

View File

@ -747,9 +747,9 @@ void Message_DrawTextNES(PlayState* play, Gfx** gfxP, u16 textDrawPos) {
msgCtx->stateTimer = 4;
Font_LoadMessageBoxEndIcon(font, 2);
if (msgCtx->unk120D8 != 3) {
msgCtx->unk11FFE[0] = (s16)(msgCtx->textboxYTarget + 14);
msgCtx->unk11FFE[1] = (s16)(msgCtx->textboxYTarget + 26);
msgCtx->unk11FFE[2] = (s16)(msgCtx->textboxYTarget + 38);
msgCtx->choicePosY[0] = (s16)(msgCtx->textboxYTarget + 14);
msgCtx->choicePosY[1] = (s16)(msgCtx->textboxYTarget + 26);
msgCtx->choicePosY[2] = (s16)(msgCtx->textboxYTarget + 38);
}
}
break;
@ -762,9 +762,9 @@ void Message_DrawTextNES(PlayState* play, Gfx** gfxP, u16 textDrawPos) {
msgCtx->stateTimer = 4;
Font_LoadMessageBoxEndIcon(font, 2);
if (msgCtx->unk120D8 != 3) {
msgCtx->unk11FFE[0] = (s16)(msgCtx->textboxYTarget + 14);
msgCtx->unk11FFE[1] = (s16)(msgCtx->textboxYTarget + 26);
msgCtx->unk11FFE[2] = (s16)(msgCtx->textboxYTarget + 38);
msgCtx->choicePosY[0] = (s16)(msgCtx->textboxYTarget + 14);
msgCtx->choicePosY[1] = (s16)(msgCtx->textboxYTarget + 26);
msgCtx->choicePosY[2] = (s16)(msgCtx->textboxYTarget + 38);
}
}
break;

View File

@ -2826,7 +2826,7 @@ Message_DrawTextboxIcon = 0x80147818; // type:func
func_80147F18 = 0x80147F18; // type:func
func_80148558 = 0x80148558; // type:func
Message_HandleChoiceSelection = 0x80148B98; // type:func
func_80148CBC = 0x80148CBC; // type:func
Message_DrawChoiceIcon = 0x80148CBC; // type:func
func_80148D64 = 0x80148D64; // type:func
func_80149048 = 0x80149048; // type:func
func_801491DC = 0x801491DC; // type:func

View File

@ -2343,7 +2343,7 @@ asm/non_matchings/code/z_message/Message_DrawTextboxIcon.s,Message_DrawTextboxIc
asm/non_matchings/code/z_message/func_80147F18.s,func_80147F18,0x80147F18,0x190
asm/non_matchings/code/z_message/func_80148558.s,func_80148558,0x80148558,0x190
asm/non_matchings/code/z_message/Message_HandleChoiceSelection.s,Message_HandleChoiceSelection,0x80148B98,0x49
asm/non_matchings/code/z_message/func_80148CBC.s,func_80148CBC,0x80148CBC,0x2A
asm/non_matchings/code/z_message/Message_DrawChoiceIcon.s,Message_DrawChoiceIcon,0x80148CBC,0x2A
asm/non_matchings/code/z_message/func_80148D64.s,func_80148D64,0x80148D64,0xB9
asm/non_matchings/code/z_message/func_80149048.s,func_80149048,0x80149048,0x65
asm/non_matchings/code/z_message/func_801491DC.s,func_801491DC,0x801491DC,0x9E

1 asm/non_matchings/code/z_en_a_keep/EnAObj_Init.s EnAObj_Init 0x800A5AC0 0x2B
2343 asm/non_matchings/code/z_message/func_80147F18.s func_80147F18 0x80147F18 0x190
2344 asm/non_matchings/code/z_message/func_80148558.s func_80148558 0x80148558 0x190
2345 asm/non_matchings/code/z_message/Message_HandleChoiceSelection.s Message_HandleChoiceSelection 0x80148B98 0x49
2346 asm/non_matchings/code/z_message/func_80148CBC.s asm/non_matchings/code/z_message/Message_DrawChoiceIcon.s func_80148CBC Message_DrawChoiceIcon 0x80148CBC 0x2A
2347 asm/non_matchings/code/z_message/func_80148D64.s func_80148D64 0x80148D64 0xB9
2348 asm/non_matchings/code/z_message/func_80149048.s func_80149048 0x80149048 0x65
2349 asm/non_matchings/code/z_message/func_801491DC.s func_801491DC 0x801491DC 0x9E