Document number input display and control functions

This commit is contained in:
JordanLongstaff 2025-12-05 06:10:48 -05:00
parent 92be14f00e
commit 0e0ef45db7
3 changed files with 49 additions and 45 deletions

View File

@ -302,7 +302,7 @@ void Message_DrawTextboxIcon(PlayState* play, Gfx** gfxP, s16 x, s16 y) {
}
}
void func_80147F18(PlayState* play, Gfx** gfxP, s16 arg2, s16 arg3) {
void Message_HighlightInputDigitAtCursor(PlayState* play, Gfx** gfxP, s16 x, s16 y) {
static Color_RGB16 D_801CFD10[] = {
{ 0, 80, 200 },
{ 50, 130, 255 },
@ -391,8 +391,8 @@ void func_80147F18(PlayState* play, Gfx** gfxP, s16 arg2, s16 arg3) {
gDPSetRenderMode(gfx++, G_RM_XLU_SURF, G_RM_XLU_SURF2);
gDPSetCombineMode(gfx++, G_CC_PRIMITIVE, G_CC_PRIMITIVE);
gDPSetPrimColor(gfx++, 0, 0, D_801CFD28, D_801CFD2C, D_801CFD30, 120);
gDPFillRectangle(gfx++, arg2 + 3, arg3, arg2 + 17, arg3 + 11);
gDPFillRectangle(gfx++, arg2 + 6, arg3 - 2, arg2 + 14, arg3 + 13);
gDPFillRectangle(gfx++, x + 3, y, x + 17, y + 11);
gDPFillRectangle(gfx++, x + 6, y - 2, x + 14, y + 13);
gDPPipeSync(gfx++);
msgCtx->stateTimer++;
@ -400,7 +400,7 @@ void func_80147F18(PlayState* play, Gfx** gfxP, s16 arg2, s16 arg3) {
}
}
void func_80148558(PlayState* play, Gfx** gfxP, s16 arg2, s16 arg3) {
void Message_HighlightAllInputDigits(PlayState* play, Gfx** gfxP, s16 x, s16 y) {
static Color_RGB16 D_801CFD48[] = {
{ 0, 80, 200 },
{ 50, 130, 255 },
@ -489,8 +489,8 @@ void func_80148558(PlayState* play, Gfx** gfxP, s16 arg2, s16 arg3) {
gDPSetRenderMode(gfx++, G_RM_XLU_SURF, G_RM_XLU_SURF2);
gDPSetCombineMode(gfx++, G_CC_PRIMITIVE, G_CC_PRIMITIVE);
gDPSetPrimColor(gfx++, 0, 0, D_801CFD60, D_801CFD64, D_801CFD68, 120);
gDPFillRectangle(gfx++, arg2 + 3, arg3, arg2 + 29, arg3 + 11);
gDPFillRectangle(gfx++, arg2 + 6, arg3 - 2, arg2 + 26, arg3 + 13);
gDPFillRectangle(gfx++, x + 3, y, x + 29, y + 11);
gDPFillRectangle(gfx++, x + 6, y - 2, x + 26, y + 13);
gDPPipeSync(gfx++);
msgCtx->stateTimer++;
@ -536,7 +536,7 @@ void func_80148CBC(PlayState* play, Gfx** gfxP, u8 arg2) {
Message_DrawTextboxIcon(play, gfxP, msgCtx->textPosX, msgCtx->textPosY);
}
void func_80148D64(PlayState* play) {
void Message_ControlBankInput(PlayState* play) {
static s16 sAnalogStickHeld = false;
MessageContext* msgCtx = &play->msgCtx;
@ -581,7 +581,7 @@ void func_80148D64(PlayState* play) {
msgCtx->rupeesSelected += msgCtx->decodedBuffer.schar[msgCtx->unk120C0 + 2] - '0';
}
void func_80149048(PlayState* play) {
void Message_ControlDoggyRaceBetInput(PlayState* play) {
MessageContext* msgCtx = &play->msgCtx;
if (msgCtx->stickAdjY <= -30) {
@ -605,7 +605,7 @@ void func_80149048(PlayState* play) {
msgCtx->rupeesSelected = (msgCtx->decodedBuffer.schar[msgCtx->unk120C0] - '0') * 10;
}
void func_801491DC(PlayState* play) {
void Message_ControlBomberCodeInput(PlayState* play) {
static s16 sAnalogStickHeld = false;
MessageContext* msgCtx = &play->msgCtx;
@ -648,7 +648,7 @@ void func_801491DC(PlayState* play) {
}
}
void func_80149454(PlayState* play) {
void Message_ControlLotteryCodeInput(PlayState* play) {
static s16 sAnalogStickHeld = false;
MessageContext* msgCtx = &play->msgCtx;
@ -4993,49 +4993,53 @@ void Message_DrawMain(PlayState* play, Gfx** gfxP) {
case TEXTBOX_ENDTYPE_INPUT_BANK:
temp_v0_33 = msgCtx->unk120BE;
temp = msgCtx->unk11FFA + (msgCtx->unk11FFC * temp_v0_33);
func_80147F18(play, &gfx,
msgCtx->unk11F1A[temp_v0_33] +
(s32)(16.0f * msgCtx->textCharScale * (msgCtx->unk120C2 + 5)) - 1,
temp);
func_80148D64(play);
Message_HighlightInputDigitAtCursor(
play, &gfx,
msgCtx->unk11F1A[temp_v0_33] +
(s32)(16.0f * msgCtx->textCharScale * (msgCtx->unk120C2 + 5)) - 1,
temp);
Message_ControlBankInput(play);
break;
case TEXTBOX_ENDTYPE_INPUT_DOGGY_RACETRACK_BET:
temp_v0_33 = msgCtx->unk120BE;
temp = msgCtx->unk11FFA + (msgCtx->unk11FFC * temp_v0_33);
func_80148558(play, &gfx,
msgCtx->unk11F1A[temp_v0_33] + (s32)(16.0f * msgCtx->textCharScale * 5.0f) - 1,
temp);
func_80149048(play);
Message_HighlightAllInputDigits(
play, &gfx, msgCtx->unk11F1A[temp_v0_33] + (s32)(16.0f * msgCtx->textCharScale * 5.0f) - 1,
temp);
Message_ControlDoggyRaceBetInput(play);
break;
case TEXTBOX_ENDTYPE_INPUT_BOMBER_CODE:
temp_v0_33 = msgCtx->unk120BE;
temp = msgCtx->unk11FFA + (msgCtx->unk11FFC * temp_v0_33);
func_80147F18(play, &gfx,
msgCtx->unk11F1A[temp_v0_33] +
(s32)(16.0f * msgCtx->textCharScale * (msgCtx->unk120C2 + 5)) - 1,
temp);
func_801491DC(play);
Message_HighlightInputDigitAtCursor(
play, &gfx,
msgCtx->unk11F1A[temp_v0_33] +
(s32)(16.0f * msgCtx->textCharScale * (msgCtx->unk120C2 + 5)) - 1,
temp);
Message_ControlBomberCodeInput(play);
break;
case TEXTBOX_ENDTYPE_INPUT_LOTTERY_CODE:
temp_v0_33 = msgCtx->unk120BE;
temp = msgCtx->unk11FFA + (msgCtx->unk11FFC * temp_v0_33);
func_80147F18(play, &gfx,
msgCtx->unk11F1A[temp_v0_33] +
(s32)(16.0f * msgCtx->textCharScale * (msgCtx->unk120C2 + 5)) - 1,
temp);
func_80149454(play);
Message_HighlightInputDigitAtCursor(
play, &gfx,
msgCtx->unk11F1A[temp_v0_33] +
(s32)(16.0f * msgCtx->textCharScale * (msgCtx->unk120C2 + 5)) - 1,
temp);
Message_ControlLotteryCodeInput(play);
break;
case TEXTBOX_ENDTYPE_64:
temp_v0_33 = msgCtx->unk120BE;
temp = msgCtx->unk11FFA + (msgCtx->unk11FFC * temp_v0_33);
func_80147F18(play, &gfx,
msgCtx->unk11F1A[temp_v0_33] +
(s32)(16.0f * msgCtx->textCharScale * (msgCtx->unk120C2 + 4)) - 6,
temp);
Message_HighlightInputDigitAtCursor(
play, &gfx,
msgCtx->unk11F1A[temp_v0_33] +
(s32)(16.0f * msgCtx->textCharScale * (msgCtx->unk120C2 + 4)) - 6,
temp);
func_801496C8(play);
break;

View File

@ -2823,14 +2823,14 @@ Message_ShouldAdvance = 0x80147624; // type:func
Message_ShouldAdvanceSilent = 0x80147734; // type:func
Message_CloseTextbox = 0x801477B4; // type:func
Message_DrawTextboxIcon = 0x80147818; // type:func
func_80147F18 = 0x80147F18; // type:func
func_80148558 = 0x80148558; // type:func
Message_HighlightInputDigitAtCursor = 0x80147F18; // type:func
Message_HighlightAllInputDigits = 0x80148558; // type:func
Message_HandleChoiceSelection = 0x80148B98; // type:func
func_80148CBC = 0x80148CBC; // type:func
func_80148D64 = 0x80148D64; // type:func
func_80149048 = 0x80149048; // type:func
func_801491DC = 0x801491DC; // type:func
func_80149454 = 0x80149454; // type:func
Message_ControlBankInput = 0x80148D64; // type:func
Message_ControlDoggyRaceBetInput = 0x80149048; // type:func
Message_ControlBomberCodeInput = 0x801491DC; // type:func
Message_ControlLotteryCodeInput = 0x80149454; // type:func
func_801496C8 = 0x801496C8; // type:func
Message_DrawTextChar = 0x8014995C; // type:func
Message_GrowTextbox = 0x80149C18; // type:func

View File

@ -2340,14 +2340,14 @@ asm/non_matchings/code/z_message/Message_ShouldAdvance.s,Message_ShouldAdvance,0
asm/non_matchings/code/z_message/Message_ShouldAdvanceSilent.s,Message_ShouldAdvanceSilent,0x80147734,0x20
asm/non_matchings/code/z_message/Message_CloseTextbox.s,Message_CloseTextbox,0x801477B4,0x19
asm/non_matchings/code/z_message/Message_DrawTextboxIcon.s,Message_DrawTextboxIcon,0x80147818,0x1C0
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_HighlightInputDigitAtCursor.s,Message_HighlightInputDigitAtCursor,0x80147F18,0x190
asm/non_matchings/code/z_message/Message_HighlightAllInputDigits.s,Message_HighlightAllInputDigits,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/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
asm/non_matchings/code/z_message/func_80149454.s,func_80149454,0x80149454,0x9D
asm/non_matchings/code/z_message/Message_ControlBankInput.s,Message_ControlBankInput,0x80148D64,0xB9
asm/non_matchings/code/z_message/Message_ControlDoggyRaceBetInput.s,Message_ControlDoggyRaceBetInput,0x80149048,0x65
asm/non_matchings/code/z_message/Message_ControlBomberCodeInput.s,Message_ControlBomberCodeInput,0x801491DC,0x9E
asm/non_matchings/code/z_message/Message_ControlLotteryCodeInput.s,Message_ControlLotteryCodeInput,0x80149454,0x9D
asm/non_matchings/code/z_message/func_801496C8.s,func_801496C8,0x801496C8,0xA5
asm/non_matchings/code/z_message/Message_DrawTextChar.s,Message_DrawTextChar,0x8014995C,0xAF
asm/non_matchings/code/z_message/Message_GrowTextbox.s,Message_GrowTextbox,0x80149C18,0xA9

1 asm/non_matchings/code/z_en_a_keep/EnAObj_Init.s EnAObj_Init 0x800A5AC0 0x2B
2340 asm/non_matchings/code/z_message/Message_ShouldAdvanceSilent.s Message_ShouldAdvanceSilent 0x80147734 0x20
2341 asm/non_matchings/code/z_message/Message_CloseTextbox.s Message_CloseTextbox 0x801477B4 0x19
2342 asm/non_matchings/code/z_message/Message_DrawTextboxIcon.s Message_DrawTextboxIcon 0x80147818 0x1C0
2343 asm/non_matchings/code/z_message/func_80147F18.s asm/non_matchings/code/z_message/Message_HighlightInputDigitAtCursor.s func_80147F18 Message_HighlightInputDigitAtCursor 0x80147F18 0x190
2344 asm/non_matchings/code/z_message/func_80148558.s asm/non_matchings/code/z_message/Message_HighlightAllInputDigits.s func_80148558 Message_HighlightAllInputDigits 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 func_80148CBC 0x80148CBC 0x2A
2347 asm/non_matchings/code/z_message/func_80148D64.s asm/non_matchings/code/z_message/Message_ControlBankInput.s func_80148D64 Message_ControlBankInput 0x80148D64 0xB9
2348 asm/non_matchings/code/z_message/func_80149048.s asm/non_matchings/code/z_message/Message_ControlDoggyRaceBetInput.s func_80149048 Message_ControlDoggyRaceBetInput 0x80149048 0x65
2349 asm/non_matchings/code/z_message/func_801491DC.s asm/non_matchings/code/z_message/Message_ControlBomberCodeInput.s func_801491DC Message_ControlBomberCodeInput 0x801491DC 0x9E
2350 asm/non_matchings/code/z_message/func_80149454.s asm/non_matchings/code/z_message/Message_ControlLotteryCodeInput.s func_80149454 Message_ControlLotteryCodeInput 0x80149454 0x9D
2351 asm/non_matchings/code/z_message/func_801496C8.s func_801496C8 0x801496C8 0xA5
2352 asm/non_matchings/code/z_message/Message_DrawTextChar.s Message_DrawTextChar 0x8014995C 0xAF
2353 asm/non_matchings/code/z_message/Message_GrowTextbox.s Message_GrowTextbox 0x80149C18 0xA9