diff --git a/include/z64message.h b/include/z64message.h index 4142ef3245..77ebcfc0c6 100644 --- a/include/z64message.h +++ b/include/z64message.h @@ -15,25 +15,34 @@ struct OcarinaStaff; struct PlayState; typedef enum TextBoxType { - /* 0x00 */ TEXTBOX_TYPE_0, - /* 0x01 */ TEXTBOX_TYPE_1, - /* 0x02 */ TEXTBOX_TYPE_2, - /* 0x03 */ TEXTBOX_TYPE_3, + /* 0x00 */ TEXTBOX_TYPE_BLACK, + /* 0x01 */ TEXTBOX_TYPE_WOODEN, + /* 0x02 */ TEXTBOX_TYPE_BLUE_FADED, + /* 0x03 */ TEXTBOX_TYPE_OCARINA, /* 0x04 */ TEXTBOX_TYPE_4, - /* 0x05 */ TEXTBOX_TYPE_5, - /* 0x06 */ TEXTBOX_TYPE_6, - /* 0x07 */ TEXTBOX_TYPE_7, - /* 0x08 */ TEXTBOX_TYPE_8, - /* 0x09 */ TEXTBOX_TYPE_9, + /* 0x05 */ TEXTBOX_TYPE_CLEAR, + /* 0x06 */ TEXTBOX_TYPE_DISPLAY_ALL, + /* 0x07 */ TEXTBOX_TYPE_CLEAR_DISPLAY_ALL, + /* 0x08 */ TEXTBOX_TYPE_BLUE, + /* 0x09 */ TEXTBOX_TYPE_PAUSE_INFO, /* 0x0A */ TEXTBOX_TYPE_A, /* 0x0B */ TEXTBOX_TYPE_B, - /* 0x0C */ TEXTBOX_TYPE_C, - /* 0x0D */ TEXTBOX_TYPE_D, - /* 0x0E */ TEXTBOX_TYPE_E, + /* 0x0C */ TEXTBOX_TYPE_TITLE_CARD, + /* 0x0D */ TEXTBOX_TYPE_NOTEBOOK_NOTIFICATION, + /* 0x0E */ TEXTBOX_TYPE_OCARINA_FREE_PLAY, /* 0x0F */ TEXTBOX_TYPE_F, /* 0x10 */ TEXTBOX_TYPE_MAX } TextBoxType; +typedef enum TextBoxBackground { + /* 0x0 */ TEXTBOX_BG_DEFAULT, + /* 0x1 */ TEXTBOX_BG_WOODEN, + /* 0x2 */ TEXTBOX_BG_OCARINA, + /* 0x3 */ TEXTBOX_BG_FADED, + /* 0x4 */ TEXTBOX_BG_NOTEBOOK, + /* 0xE */ TEXTBOX_BG_NONE = 14, +} TextBoxBackground; + #define TEXTBOX_ENDTYPE_DEFAULT 0x00 #define TEXTBOX_ENDTYPE_TWO_CHOICE 0x10 diff --git a/src/code/cutscene_camera.c b/src/code/cutscene_camera.c index 8c7d5538ba..195a9d4e0a 100644 --- a/src/code/cutscene_camera.c +++ b/src/code/cutscene_camera.c @@ -4,6 +4,8 @@ #include "z64olib.h" +#pragma increment_block_number "n64-us:128" + CutsceneCamera* sCurCsCamera; typedef s16 (*CsCamInterpolateCallback)(Vec3f*, f32*, s16*, CsCmdCamPoint*, CsCmdCamMisc*, CutsceneCameraInterp*); diff --git a/src/code/z_camera.c b/src/code/z_camera.c index c3fe078303..fb732b65ee 100644 --- a/src/code/z_camera.c +++ b/src/code/z_camera.c @@ -57,6 +57,8 @@ #include "overlays/actors/ovl_En_Horse/z_en_horse.h" +#pragma increment_block_number "n64-us:128" + void func_800DDFE0(Camera* camera); s32 Camera_ChangeMode(Camera* camera, s16 mode); s16 Camera_ChangeSettingFlags(Camera* camera, s16 setting, s16 flags); diff --git a/src/code/z_message.c b/src/code/z_message.c index dbeba7d3f8..5a5c5a910b 100644 --- a/src/code/z_message.c +++ b/src/code/z_message.c @@ -74,23 +74,23 @@ MessageTableEntry sMessageTableCredits[] = { #undef DEFINE_MESSAGE -s16 D_801CFC78[TEXTBOX_TYPE_MAX] = { - 0, // TEXTBOX_TYPE_0 - 1, // TEXTBOX_TYPE_1 - 3, // TEXTBOX_TYPE_2 - 2, // TEXTBOX_TYPE_3 - 14, // TEXTBOX_TYPE_4 - 14, // TEXTBOX_TYPE_5 - 0, // TEXTBOX_TYPE_6 - 14, // TEXTBOX_TYPE_7 - 0, // TEXTBOX_TYPE_8 - 0, // TEXTBOX_TYPE_9 - 0, // TEXTBOX_TYPE_A - 14, // TEXTBOX_TYPE_B - 14, // TEXTBOX_TYPE_C - 4, // TEXTBOX_TYPE_D - 14, // TEXTBOX_TYPE_E - 0, // TEXTBOX_TYPE_F +s16 gTextBoxBackgroundTypes[TEXTBOX_TYPE_MAX] = { + TEXTBOX_BG_DEFAULT, // TEXTBOX_TYPE_BLACK + TEXTBOX_BG_WOODEN, // TEXTBOX_TYPE_WOODEN + TEXTBOX_BG_FADED, // TEXTBOX_TYPE_BLUE_FADED + TEXTBOX_BG_OCARINA, // TEXTBOX_TYPE_OCARINA + TEXTBOX_BG_NONE, // TEXTBOX_TYPE_4 + TEXTBOX_BG_NONE, // TEXTBOX_TYPE_CLEAR + TEXTBOX_BG_DEFAULT, // TEXTBOX_TYPE_DISPLAY_ALL + TEXTBOX_BG_NONE, // TEXTBOX_TYPE_CLEAR_DISPLAY_ALL + TEXTBOX_BG_DEFAULT, // TEXTBOX_TYPE_BLUE + TEXTBOX_BG_DEFAULT, // TEXTBOX_TYPE_PAUSE_INFO + TEXTBOX_BG_DEFAULT, // TEXTBOX_TYPE_A + TEXTBOX_BG_NONE, // TEXTBOX_TYPE_B + TEXTBOX_BG_NONE, // TEXTBOX_TYPE_TITLE_CARD + TEXTBOX_BG_NOTEBOOK, // TEXTBOX_TYPE_NOTEBOOK_NOTIFICATION + TEXTBOX_BG_NONE, // TEXTBOX_TYPE_OCARINA_FREE_PLAY + TEXTBOX_BG_DEFAULT, // TEXTBOX_TYPE_F }; u8 sOcarinaButtonIndexBuf[12] = { 0 }; s16 sOcarinaButtonAlphaValues[9] = { 0 }; @@ -748,7 +748,7 @@ void Message_DrawTextChar(PlayState* play, TexturePtr texture, Gfx** gfxP) { gDPLoadTextureBlock_4b(gfx++, texture, G_IM_FMT_I, 16, 16, 0, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); - if ((msgCtx->textBoxType != TEXTBOX_TYPE_5) && (msgCtx->textBoxType != TEXTBOX_TYPE_D) && + if ((msgCtx->textBoxType != TEXTBOX_TYPE_CLEAR) && (msgCtx->textBoxType != TEXTBOX_TYPE_NOTEBOOK_NOTIFICATION) && !play->pauseCtx.bombersNotebookOpen) { gDPSetPrimColor(gfx++, 0, 0, 0, 0, 0, msgCtx->textColorAlpha); gSPTextureRectangle(gfx++, (x + 1) << 2, (y + 1) << 2, (x + sCharTexSize + 1) << 2, (y + sCharTexSize + 1) << 2, @@ -1112,9 +1112,9 @@ void Message_DrawTextDefault(PlayState* play, Gfx** gfxP) { switch (character) { case 0x2000: - if (play->pauseCtx.bombersNotebookOpen || (msgCtx->textBoxType == TEXTBOX_TYPE_D)) { + if (play->pauseCtx.bombersNotebookOpen || (msgCtx->textBoxType == TEXTBOX_TYPE_NOTEBOOK_NOTIFICATION)) { msgCtx->textColorR = msgCtx->textColorG = msgCtx->textColorB = 0; - } else if (msgCtx->textBoxType == TEXTBOX_TYPE_5) { + } else if (msgCtx->textBoxType == TEXTBOX_TYPE_CLEAR) { msgCtx->textColorR = msgCtx->textColorG = msgCtx->textColorB = 0; } else { msgCtx->textColorR = msgCtx->textColorG = msgCtx->textColorB = 255; @@ -1166,11 +1166,11 @@ void Message_DrawTextDefault(PlayState* play, Gfx** gfxP) { msgCtx->textColorR = sColorsBombersNotebookJPN[(s16)(character - 0x2001)].r; msgCtx->textColorG = sColorsBombersNotebookJPN[(s16)(character - 0x2001)].g; msgCtx->textColorB = sColorsBombersNotebookJPN[(s16)(character - 0x2001)].b; - } else if (msgCtx->textBoxType == TEXTBOX_TYPE_1) { + } else if (msgCtx->textBoxType == TEXTBOX_TYPE_WOODEN) { msgCtx->textColorR = D_801CFE74[(s16)(character - 0x2001)].r; msgCtx->textColorG = D_801CFE74[(s16)(character - 0x2001)].g; msgCtx->textColorB = D_801CFE74[(s16)(character - 0x2001)].b; - } else if (msgCtx->textBoxType == TEXTBOX_TYPE_D) { + } else if (msgCtx->textBoxType == TEXTBOX_TYPE_NOTEBOOK_NOTIFICATION) { msgCtx->textColorR = D_801CFF04[(s16)(character - 0x2001)].r; msgCtx->textColorG = D_801CFF04[(s16)(character - 0x2001)].g; msgCtx->textColorB = D_801CFF04[(s16)(character - 0x2001)].b; @@ -1429,7 +1429,7 @@ void Message_DrawTextDefault(PlayState* play, Gfx** gfxP) { case 0x240: case 0x500: if (msgCtx->msgMode == MSGMODE_TEXT_DISPLAYING) { - if (msgCtx->textBoxType == TEXTBOX_TYPE_3) { + if (msgCtx->textBoxType == TEXTBOX_TYPE_OCARINA) { Message_HandleOcarina(play); *gfxP = gfx; return; @@ -2226,7 +2226,7 @@ void Message_Decode(PlayState* play) { } spC0 = 0.0f; if (curChar == 0xB) { - if ((msgCtx->textBoxType != TEXTBOX_TYPE_3) && (msgCtx->textBoxType != TEXTBOX_TYPE_4)) { + if ((msgCtx->textBoxType != TEXTBOX_TYPE_OCARINA) && (msgCtx->textBoxType != TEXTBOX_TYPE_4)) { if (numLines < 2) { msgCtx->unk11FFA = msgCtx->textboxY + 0x16; } else if (numLines == 2) { @@ -2236,7 +2236,7 @@ void Message_Decode(PlayState* play) { } else { s8 requiredScopeTemp; - if ((msgCtx->textBoxType != TEXTBOX_TYPE_3) && (msgCtx->textBoxType != TEXTBOX_TYPE_4)) { + if ((msgCtx->textBoxType != TEXTBOX_TYPE_OCARINA) && (msgCtx->textBoxType != TEXTBOX_TYPE_4)) { if (numLines == 0) { msgCtx->unk11FFA = msgCtx->textboxY + 0x16; } else if (numLines == 1) { @@ -2251,10 +2251,11 @@ void Message_Decode(PlayState* play) { } msgCtx->decodedTextLen = decodedBufPos; - if (msgCtx->textboxSkipped || (msgCtx->textBoxType == TEXTBOX_TYPE_1) || - (msgCtx->textBoxType == TEXTBOX_TYPE_3) || (msgCtx->textBoxType == TEXTBOX_TYPE_6) || - (msgCtx->textBoxType == TEXTBOX_TYPE_8) || (msgCtx->textBoxType == TEXTBOX_TYPE_9) || - (msgCtx->textBoxType == TEXTBOX_TYPE_B) || (msgCtx->unk11F0C == 3)) { + if (msgCtx->textboxSkipped || (msgCtx->textBoxType == TEXTBOX_TYPE_WOODEN) || + (msgCtx->textBoxType == TEXTBOX_TYPE_OCARINA) || + (msgCtx->textBoxType == TEXTBOX_TYPE_DISPLAY_ALL) || (msgCtx->textBoxType == TEXTBOX_TYPE_BLUE) || + (msgCtx->textBoxType == TEXTBOX_TYPE_PAUSE_INFO) || (msgCtx->textBoxType == TEXTBOX_TYPE_B) || + (msgCtx->unk11F0C == 3)) { msgCtx->textDrawPos = msgCtx->decodedTextLen; } @@ -3013,10 +3014,11 @@ void Message_Decode(PlayState* play) { msgCtx->decodedBuffer.wchar[++decodedBufPos] = font->msgBuf.wchar[++msgCtx->msgBufPos] & 0xFF; } else if (curChar == 0x120) { msgCtx->decodedBuffer.wchar[++decodedBufPos] = font->msgBuf.wchar[++msgCtx->msgBufPos]; - if (msgCtx->textboxSkipped || (msgCtx->textBoxType == TEXTBOX_TYPE_1) || - (msgCtx->textBoxType == TEXTBOX_TYPE_3) || (msgCtx->textBoxType == TEXTBOX_TYPE_6) || - (msgCtx->textBoxType == TEXTBOX_TYPE_8) || (msgCtx->textBoxType == TEXTBOX_TYPE_9) || - (msgCtx->textBoxType == TEXTBOX_TYPE_B) || (msgCtx->unk11F0C == 3)) { + if (msgCtx->textboxSkipped || (msgCtx->textBoxType == TEXTBOX_TYPE_WOODEN) || + (msgCtx->textBoxType == TEXTBOX_TYPE_OCARINA) || + (msgCtx->textBoxType == TEXTBOX_TYPE_DISPLAY_ALL) || (msgCtx->textBoxType == TEXTBOX_TYPE_BLUE) || + (msgCtx->textBoxType == TEXTBOX_TYPE_PAUSE_INFO) || (msgCtx->textBoxType == TEXTBOX_TYPE_B) || + (msgCtx->unk11F0C == 3)) { Audio_PlaySfx(msgCtx->decodedBuffer.wchar[decodedBufPos]); } } else if (curChar == 0x128) { @@ -3056,29 +3058,29 @@ void Message_Decode(PlayState* play) { } } -void func_80150A84(PlayState* play) { +void Message_SetTextboxColor(PlayState* play) { MessageContext* msgCtx = &play->msgCtx; s32 textBoxType = msgCtx->textBoxType; - if (D_801CFC78[textBoxType] != 14) { - DmaMgr_RequestSync(msgCtx->textboxSegment, SEGMENT_ROM_START(message_static) + D_801CFC78[textBoxType] * 0x1000, - 0x1000); + if (gTextBoxBackgroundTypes[textBoxType] != TEXTBOX_BG_NONE) { + DmaMgr_RequestSync(msgCtx->textboxSegment, + SEGMENT_ROM_START(message_static) + gTextBoxBackgroundTypes[textBoxType] * 0x1000, 0x1000); if (!play->pauseCtx.bombersNotebookOpen) { - if ((textBoxType == TEXTBOX_TYPE_0) || (textBoxType == TEXTBOX_TYPE_6) || (textBoxType == TEXTBOX_TYPE_A) || - (textBoxType == TEXTBOX_TYPE_B)) { + if ((textBoxType == TEXTBOX_TYPE_BLACK) || (textBoxType == TEXTBOX_TYPE_DISPLAY_ALL) || + (textBoxType == TEXTBOX_TYPE_A) || (textBoxType == TEXTBOX_TYPE_B)) { msgCtx->textboxColorRed = 0; msgCtx->textboxColorGreen = 0; msgCtx->textboxColorBlue = 0; - } else if (textBoxType == TEXTBOX_TYPE_1) { + } else if (textBoxType == TEXTBOX_TYPE_WOODEN) { msgCtx->textboxColorRed = 70; msgCtx->textboxColorGreen = 50; msgCtx->textboxColorBlue = 30; - } else if ((textBoxType == TEXTBOX_TYPE_2) || (textBoxType == TEXTBOX_TYPE_8)) { + } else if ((textBoxType == TEXTBOX_TYPE_BLUE_FADED) || (textBoxType == TEXTBOX_TYPE_BLUE)) { msgCtx->textboxColorRed = 0; msgCtx->textboxColorGreen = 10; msgCtx->textboxColorBlue = 50; - } else if (textBoxType == TEXTBOX_TYPE_D) { + } else if (textBoxType == TEXTBOX_TYPE_NOTEBOOK_NOTIFICATION) { msgCtx->textboxColorRed = 255; msgCtx->textboxColorGreen = 255; msgCtx->textboxColorBlue = 195; @@ -3088,11 +3090,11 @@ void func_80150A84(PlayState* play) { msgCtx->textboxColorBlue = 0; } - if (textBoxType == TEXTBOX_TYPE_1) { + if (textBoxType == TEXTBOX_TYPE_WOODEN) { msgCtx->textboxColorAlphaTarget = 230; - } else if (textBoxType == TEXTBOX_TYPE_3) { + } else if (textBoxType == TEXTBOX_TYPE_OCARINA) { msgCtx->textboxColorAlphaTarget = 180; - } else if (textBoxType == TEXTBOX_TYPE_D) { + } else if (textBoxType == TEXTBOX_TYPE_NOTEBOOK_NOTIFICATION) { msgCtx->textboxColorAlphaTarget = 220; } else { msgCtx->textboxColorAlphaTarget = 170; @@ -3223,7 +3225,7 @@ void Message_OpenText(PlayState* play, u16 textId) { } msgCtx->itemId = 0xFE; - if ((msgCtx->textBoxType == TEXTBOX_TYPE_5) || (msgCtx->textBoxType == TEXTBOX_TYPE_D) || + if ((msgCtx->textBoxType == TEXTBOX_TYPE_CLEAR) || (msgCtx->textBoxType == TEXTBOX_TYPE_NOTEBOOK_NOTIFICATION) || (play->pauseCtx.bombersNotebookOpen)) { msgCtx->unk120CE = msgCtx->unk120D0 = msgCtx->unk120D2 = 0; } else { @@ -3304,11 +3306,12 @@ void Message_PauseMenu_ShowDescription(PlayState* play, u16 textId, u8 textBoxPo msgCtx->decodedTextLen = 0; msgCtx->unk11F08 = font->msgBuf.wchar[msgCtx->msgBufPos]; msgCtx->unk11F18 = (msgCtx->unk11F08 & 0xF000) >> 0xC; - msgCtx->textBoxType = TEXTBOX_TYPE_9; + msgCtx->textBoxType = TEXTBOX_TYPE_PAUSE_INFO; msgCtx->textBoxPos = textBoxPos; msgCtx->unk11F0C = msgCtx->unk11F08 & 0xF; msgCtx->textUnskippable = true; - DmaMgr_RequestSync(msgCtx->textboxSegment, SEGMENT_ROM_START(message_static) + (D_801CFC78[0] * 0x1000), 0x1000); + DmaMgr_RequestSync(msgCtx->textboxSegment, + SEGMENT_ROM_START(message_static) + (gTextBoxBackgroundTypes[0] * 0x1000), 0x1000); msgCtx->textboxColorRed = 0; msgCtx->textboxColorGreen = 0; msgCtx->textboxColorBlue = 0; @@ -3342,7 +3345,7 @@ void Message_ContinueTextbox(PlayState* play, u16 textId) { msgCtx->msgLength = 0; Message_OpenText(play, textId); - func_80150A84(play); + Message_SetTextboxColor(play); msgCtx->msgMode = MSGMODE_TEXT_CONTINUING; msgCtx->stateTimer = 8; msgCtx->textDelayTimer = 0; @@ -3369,7 +3372,7 @@ void Message_DisplaySceneTitleCard(PlayState* play, u16 textId) { msgCtx->msgLength = 0; Message_OpenText(play, textId); - func_80150A84(play); + Message_SetTextboxColor(play); Message_DecodeNES(play); msgCtx->msgMode = MSGMODE_SCENE_TITLE_CARD_FADE_IN_BACKGROUND; msgCtx->textDelayTimer = 0; @@ -3523,40 +3526,40 @@ void Message_DisplayOcarinaStaffImpl(PlayState* play, u16 ocarinaAction) { if ((ocarinaAction >= OCARINA_ACTION_TIMED_PROMPT_SONATA) && (ocarinaAction <= OCARINA_ACTION_TIMED_PROMPT_STORMS)) { Message_OpenText(play, 0x1B59); - func_80150A84(play); + Message_SetTextboxColor(play); } else if ((ocarinaAction == OCARINA_ACTION_3B) || (ocarinaAction == OCARINA_ACTION_3C)) { noStop = true; Message_OpenText(play, D_801D028C[ocarinaAction - 0x29]); - func_80150A84(play); + Message_SetTextboxColor(play); } else if ((ocarinaAction >= OCARINA_ACTION_DEMONSTRATE_EVAN_PART1_FIRST_HALF) && (ocarinaAction <= OCARINA_ACTION_PROMPT_EVAN_PART2_SECOND_HALF)) { noStop = true; Message_OpenText(play, D_801D028C[ocarinaAction - 0x29]); - func_80150A84(play); + Message_SetTextboxColor(play); } else if ((ocarinaAction >= OCARINA_ACTION_PROMPT_WIND_FISH_HUMAN) && (ocarinaAction <= OCARINA_ACTION_PROMPT_WIND_FISH_DEKU)) { noStop = true; Message_OpenText(play, 0x1B59); - func_80150A84(play); + Message_SetTextboxColor(play); } else if ((ocarinaAction == OCARINA_ACTION_FREE_PLAY) || (ocarinaAction >= OCARINA_ACTION_CHECK_TIME)) { if ((ocarinaAction >= OCARINA_ACTION_CHECK_TIME) && (ocarinaAction <= OCARINA_ACTION_CHECK_STORMS)) { Audio_PlaySfx(NA_SE_SY_TRE_BOX_APPEAR); } if (ocarinaAction == OCARINA_ACTION_SCARECROW_SPAWN_DEMONSTRATION) { Message_OpenText(play, 0x1B5B); - func_80150A84(play); + Message_SetTextboxColor(play); } else { Message_OpenText(play, 0x1B5A); - func_80150A84(play); + Message_SetTextboxColor(play); } } else { noStop = true; if (ocarinaAction >= OCARINA_ACTION_PROMPT_SONATA) { Message_OpenText(play, 0x1B59); - func_80150A84(play); + Message_SetTextboxColor(play); } else { Message_OpenText(play, D_801D028C[ocarinaAction]); - func_80150A84(play); + Message_SetTextboxColor(play); } } @@ -3586,12 +3589,12 @@ void Message_DisplayOcarinaStaffImpl(PlayState* play, u16 ocarinaAction) { if ((ocarinaAction == OCARINA_ACTION_FREE_PLAY) || (ocarinaAction == OCARINA_ACTION_CHECK_NOTIME)) { msgCtx->msgMode = MSGMODE_OCARINA_STARTING; - msgCtx->textBoxType = TEXTBOX_TYPE_E; + msgCtx->textBoxType = TEXTBOX_TYPE_OCARINA_FREE_PLAY; } else if (ocarinaAction == OCARINA_ACTION_3A) { msgCtx->msgMode = MSGMODE_32; } else if (ocarinaAction == OCARINA_ACTION_37) { msgCtx->msgMode = MSGMODE_2F; - msgCtx->textBoxType = TEXTBOX_TYPE_2; + msgCtx->textBoxType = TEXTBOX_TYPE_BLUE_FADED; } else if (ocarinaAction == OCARINA_ACTION_SCARECROW_LONG_DEMONSTRATION) { AudioOcarina_SetInstrument(OCARINA_INSTRUMENT_DEFAULT); AudioOcarina_SetInstrument(OCARINA_INSTRUMENT_DEFAULT); @@ -3702,10 +3705,10 @@ void Message_DrawTextBox(PlayState* play, Gfx** gfxP) { gDPPipeSync(gfx++); - if (((u32)msgCtx->textBoxType == TEXTBOX_TYPE_0) || (msgCtx->textBoxType == TEXTBOX_TYPE_2) || - (msgCtx->textBoxType == TEXTBOX_TYPE_9) || (msgCtx->textBoxType == TEXTBOX_TYPE_A)) { + if (((u32)msgCtx->textBoxType == TEXTBOX_TYPE_BLACK) || (msgCtx->textBoxType == TEXTBOX_TYPE_BLUE_FADED) || + (msgCtx->textBoxType == TEXTBOX_TYPE_PAUSE_INFO) || (msgCtx->textBoxType == TEXTBOX_TYPE_A)) { gDPSetRenderMode(gfx++, G_RM_CLD_SURF, G_RM_CLD_SURF2); - } else if (msgCtx->textBoxType == TEXTBOX_TYPE_3) { + } else if (msgCtx->textBoxType == TEXTBOX_TYPE_OCARINA) { gDPSetAlphaCompare(gfx++, G_AC_THRESHOLD); gDPSetRenderMode(gfx++, G_RM_XLU_SURF, G_RM_XLU_SURF2); } @@ -3713,17 +3716,17 @@ void Message_DrawTextBox(PlayState* play, Gfx** gfxP) { gDPSetPrimColor(gfx++, 0, 0, msgCtx->textboxColorRed, msgCtx->textboxColorGreen, msgCtx->textboxColorBlue, msgCtx->textboxColorAlphaCurrent); - if (((u32)msgCtx->textBoxType == TEXTBOX_TYPE_0) || (msgCtx->textBoxType == TEXTBOX_TYPE_2) || - (msgCtx->textBoxType == TEXTBOX_TYPE_6) || (msgCtx->textBoxType == TEXTBOX_TYPE_8) || - (msgCtx->textBoxType == TEXTBOX_TYPE_9) || (msgCtx->textBoxType == TEXTBOX_TYPE_A)) { + if (((u32)msgCtx->textBoxType == TEXTBOX_TYPE_BLACK) || (msgCtx->textBoxType == TEXTBOX_TYPE_BLUE_FADED) || + (msgCtx->textBoxType == TEXTBOX_TYPE_DISPLAY_ALL) || (msgCtx->textBoxType == TEXTBOX_TYPE_BLUE) || + (msgCtx->textBoxType == TEXTBOX_TYPE_PAUSE_INFO) || (msgCtx->textBoxType == TEXTBOX_TYPE_A)) { gDPLoadTextureBlock_4b(gfx++, msgCtx->textboxSegment, G_IM_FMT_I, 128, 64, 0, G_TX_MIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, 7, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); } else { gDPPipeSync(gfx++); - if (msgCtx->textBoxType == TEXTBOX_TYPE_3) { + if (msgCtx->textBoxType == TEXTBOX_TYPE_OCARINA) { gDPSetEnvColor(gfx++, 0, 0, 0, 255); - } else if (msgCtx->textBoxType == TEXTBOX_TYPE_D) { + } else if (msgCtx->textBoxType == TEXTBOX_TYPE_NOTEBOOK_NOTIFICATION) { gDPSetEnvColor(gfx++, 20, 0, 10, 255); } else { gDPSetEnvColor(gfx++, 50, 20, 0, 255); @@ -3743,7 +3746,7 @@ void Message_DrawTextBox(PlayState* play, Gfx** gfxP) { } // Draw treble clef - if (msgCtx->textBoxType == TEXTBOX_TYPE_3) { + if (msgCtx->textBoxType == TEXTBOX_TYPE_OCARINA) { gDPPipeSync(gfx++); gDPSetCombineLERP(gfx++, 1, 0, PRIMITIVE, 0, TEXEL0, 0, PRIMITIVE, 0, 1, 0, PRIMITIVE, 0, TEXEL0, 0, PRIMITIVE, 0); @@ -4151,22 +4154,22 @@ u8 sPlayerFormOcarinaInstruments[] = { OCARINA_INSTRUMENT_DEKU_PIPES, }; -s16 D_801D03A8[TEXTBOX_TYPE_MAX] = { - 0x3B, // TEXTBOX_TYPE_0 - 0x3B, // TEXTBOX_TYPE_1 - 0x3B, // TEXTBOX_TYPE_2 - 0x3B, // TEXTBOX_TYPE_3 +s16 gTextBoxNextIconYOffsets[TEXTBOX_TYPE_MAX] = { + 0x3B, // TEXTBOX_TYPE_BLACK + 0x3B, // TEXTBOX_TYPE_WOODEN + 0x3B, // TEXTBOX_TYPE_BLUE_FADED + 0x3B, // TEXTBOX_TYPE_OCARINA 0x22, // TEXTBOX_TYPE_4 - 0x3B, // TEXTBOX_TYPE_5 - 0x3B, // TEXTBOX_TYPE_6 - 0x3B, // TEXTBOX_TYPE_7 - 0x3B, // TEXTBOX_TYPE_8 - 0x3B, // TEXTBOX_TYPE_9 + 0x3B, // TEXTBOX_TYPE_CLEAR + 0x3B, // TEXTBOX_TYPE_DISPLAY_ALL + 0x3B, // TEXTBOX_TYPE_CLEAR_DISPLAY_ALL + 0x3B, // TEXTBOX_TYPE_BLUE + 0x3B, // TEXTBOX_TYPE_PAUSE_INFO 0x3B, // TEXTBOX_TYPE_A 0x3B, // TEXTBOX_TYPE_B - 0x3B, // TEXTBOX_TYPE_C - 0x3B, // TEXTBOX_TYPE_D - 0x3B, // TEXTBOX_TYPE_E + 0x3B, // TEXTBOX_TYPE_TITLE_CARD + 0x3B, // TEXTBOX_TYPE_NOTEBOOK_NOTIFICATION + 0x3B, // TEXTBOX_TYPE_OCARINA_FREE_PLAY 0x3B, // TEXTBOX_TYPE_F }; @@ -4197,7 +4200,7 @@ void Message_DrawMain(PlayState* play, Gfx** gfxP) { (msgCtx->msgMode != MSGMODE_40) && (((msgCtx->msgMode >= MSGMODE_TEXT_BOX_GROWING) && (msgCtx->msgMode <= MSGMODE_TEXT_DONE)) || ((msgCtx->msgMode >= MSGMODE_NEW_CYCLE_0) && (msgCtx->msgMode <= MSGMODE_OWL_SAVE_2))) && - (D_801CFC78[msgCtx->textBoxType] != 0xE)) { + (gTextBoxBackgroundTypes[msgCtx->textBoxType] != TEXTBOX_BG_NONE)) { Message_DrawTextBox(play, &gfx); } } @@ -4270,7 +4273,7 @@ void Message_DrawMain(PlayState* play, Gfx** gfxP) { case MSGMODE_TEXT_AWAIT_NEXT: Message_DrawText(play, &gfx); Message_DrawTextboxIcon(play, &gfx, 158, - (s16)(D_801D03A8[msgCtx->textBoxType] + msgCtx->textboxYTarget)); + (s16)(gTextBoxNextIconYOffsets[msgCtx->textBoxType] + msgCtx->textboxYTarget)); break; case MSGMODE_OCARINA_STARTING: @@ -4414,7 +4417,7 @@ void Message_DrawMain(PlayState* play, Gfx** gfxP) { } else { Message_ContinueTextbox(play, 0x1B5B); msgCtx->msgMode = MSGMODE_SONG_PLAYED; - msgCtx->textBoxType = TEXTBOX_TYPE_3; + msgCtx->textBoxType = TEXTBOX_TYPE_OCARINA; msgCtx->stateTimer = 10; Audio_PlaySfx(NA_SE_SY_TRE_BOX_APPEAR); Interface_SetHudVisibility(HUD_VISIBILITY_NONE); @@ -4428,7 +4431,7 @@ void Message_DrawMain(PlayState* play, Gfx** gfxP) { } else { Message_ContinueTextbox(play, 0x1B5B); msgCtx->msgMode = MSGMODE_SONG_PLAYED; - msgCtx->textBoxType = TEXTBOX_TYPE_3; + msgCtx->textBoxType = TEXTBOX_TYPE_OCARINA; msgCtx->stateTimer = 10; Audio_PlaySfx(NA_SE_SY_TRE_BOX_APPEAR); Interface_SetHudVisibility(HUD_VISIBILITY_NONE); @@ -4436,7 +4439,7 @@ void Message_DrawMain(PlayState* play, Gfx** gfxP) { } else if (msgCtx->ocarinaAction == OCARINA_ACTION_FREE_PLAY) { Message_ContinueTextbox(play, 0x1B5B); msgCtx->msgMode = MSGMODE_SONG_PLAYED; - msgCtx->textBoxType = TEXTBOX_TYPE_3; + msgCtx->textBoxType = TEXTBOX_TYPE_OCARINA; msgCtx->stateTimer = 10; Audio_PlaySfx(NA_SE_SY_TRE_BOX_APPEAR); } else { @@ -4485,17 +4488,17 @@ void Message_DrawMain(PlayState* play, Gfx** gfxP) { if (msgCtx->msgMode == MSGMODE_E) { Message_ContinueTextbox(play, 0x1B5B); msgCtx->msgMode = MSGMODE_SONG_PLAYED; - msgCtx->textBoxType = TEXTBOX_TYPE_3; + msgCtx->textBoxType = TEXTBOX_TYPE_OCARINA; msgCtx->stateTimer = 1; } else if (msgCtx->msgMode == MSGMODE_SONG_PROMPT_SUCCESS) { Message_ContinueTextbox(play, 0x1B5B); msgCtx->msgMode = MSGMODE_SONG_PLAYED; - msgCtx->textBoxType = TEXTBOX_TYPE_3; + msgCtx->textBoxType = TEXTBOX_TYPE_OCARINA; msgCtx->stateTimer = 1; } else if (msgCtx->msgMode == MSGMODE_22) { msgCtx->msgMode = MSGMODE_23; play->msgCtx.ocarinaMode = OCARINA_MODE_EVENT; - msgCtx->textBoxType = TEXTBOX_TYPE_0; + msgCtx->textBoxType = TEXTBOX_TYPE_BLACK; } else if (msgCtx->msgMode == MSGMODE_34) { if (msgCtx->songPlayed == OCARINA_SONG_TERMINA_WALL) { Message_CloseTextbox(play); @@ -4766,7 +4769,7 @@ void Message_DrawMain(PlayState* play, Gfx** gfxP) { msgCtx->stateTimer--; if (msgCtx->stateTimer == 0) { msgCtx->msgMode = MSGMODE_21; - msgCtx->textBoxType = TEXTBOX_TYPE_0; + msgCtx->textBoxType = TEXTBOX_TYPE_BLACK; } } break; @@ -4975,7 +4978,7 @@ void Message_DrawMain(PlayState* play, Gfx** gfxP) { D_801C6A94 += D_801C6A94; if (D_801C6A94 >= 0x226) { Message_ResetOcarinaButtonAlphas(); - msgCtx->textBoxType = TEXTBOX_TYPE_0; + msgCtx->textBoxType = TEXTBOX_TYPE_BLACK; msgCtx->textboxColorRed = msgCtx->textboxColorGreen = msgCtx->textboxColorBlue = 0; msgCtx->stateTimer = 3; msgCtx->msgMode++; @@ -5079,13 +5082,15 @@ void Message_DrawMain(PlayState* play, Gfx** gfxP) { case TEXTBOX_ENDTYPE_INPUT_BANK: case TEXTBOX_ENDTYPE_INPUT_DOGGY_RACETRACK_BET: default: - Message_DrawTextboxIcon(play, &gfx, 158, - (s16)(D_801D03A8[msgCtx->textBoxType] + msgCtx->textboxYTarget)); + Message_DrawTextboxIcon( + play, &gfx, 158, + (s16)(gTextBoxNextIconYOffsets[msgCtx->textBoxType] + msgCtx->textboxYTarget)); break; case TEXTBOX_ENDTYPE_EVENT2: - Message_DrawTextboxIcon(play, &gfx, 158, - (s16)(D_801D03A8[msgCtx->textBoxType] + msgCtx->textboxYTarget)); + Message_DrawTextboxIcon( + play, &gfx, 158, + (s16)(gTextBoxNextIconYOffsets[msgCtx->textBoxType] + msgCtx->textboxYTarget)); break; } break; @@ -5143,78 +5148,78 @@ void Message_Draw(PlayState* play) { } s16 sTextboxXPositions[TEXTBOX_TYPE_MAX] = { - 34, // TEXTBOX_TYPE_0 - 34, // TEXTBOX_TYPE_1 - 34, // TEXTBOX_TYPE_2 - 34, // TEXTBOX_TYPE_3 + 34, // TEXTBOX_TYPE_BLACK + 34, // TEXTBOX_TYPE_WOODEN + 34, // TEXTBOX_TYPE_BLUE_FADED + 34, // TEXTBOX_TYPE_OCARINA 34, // TEXTBOX_TYPE_4 - 34, // TEXTBOX_TYPE_5 - 34, // TEXTBOX_TYPE_6 - 34, // TEXTBOX_TYPE_7 - 34, // TEXTBOX_TYPE_8 - 34, // TEXTBOX_TYPE_9 + 34, // TEXTBOX_TYPE_CLEAR + 34, // TEXTBOX_TYPE_DISPLAY_ALL + 34, // TEXTBOX_TYPE_CLEAR_DISPLAY_ALL + 34, // TEXTBOX_TYPE_BLUE + 34, // TEXTBOX_TYPE_PAUSE_INFO 34, // TEXTBOX_TYPE_A 34, // TEXTBOX_TYPE_B - 34, // TEXTBOX_TYPE_C - 34, // TEXTBOX_TYPE_D - 34, // TEXTBOX_TYPE_E + 34, // TEXTBOX_TYPE_TITLE_CARD + 34, // TEXTBOX_TYPE_NOTEBOOK_NOTIFICATION + 34, // TEXTBOX_TYPE_OCARINA_FREE_PLAY 34, // TEXTBOX_TYPE_F }; s16 sTextboxLowerYPositions[] = { - 142, // TEXTBOX_TYPE_0 - 142, // TEXTBOX_TYPE_1 - 142, // TEXTBOX_TYPE_2 - 142, // TEXTBOX_TYPE_3 + 142, // TEXTBOX_TYPE_BLACK + 142, // TEXTBOX_TYPE_WOODEN + 142, // TEXTBOX_TYPE_BLUE_FADED + 142, // TEXTBOX_TYPE_OCARINA 174, // TEXTBOX_TYPE_4 - 142, // TEXTBOX_TYPE_5 - 142, // TEXTBOX_TYPE_6 - 142, // TEXTBOX_TYPE_7 - 142, // TEXTBOX_TYPE_8 - 130, // TEXTBOX_TYPE_9 + 142, // TEXTBOX_TYPE_CLEAR + 142, // TEXTBOX_TYPE_DISPLAY_ALL + 142, // TEXTBOX_TYPE_CLEAR_DISPLAY_ALL + 142, // TEXTBOX_TYPE_BLUE + 130, // TEXTBOX_TYPE_PAUSE_INFO 174, // TEXTBOX_TYPE_A 0, // TEXTBOX_TYPE_B - 142, // TEXTBOX_TYPE_C - 142, // TEXTBOX_TYPE_D - 142, // TEXTBOX_TYPE_E + 142, // TEXTBOX_TYPE_TITLE_CARD + 142, // TEXTBOX_TYPE_NOTEBOOK_NOTIFICATION + 142, // TEXTBOX_TYPE_OCARINA_FREE_PLAY 142, // TEXTBOX_TYPE_F }; s16 sTextboxUpperYPositions[] = { - 38, // TEXTBOX_TYPE_0 - 38, // TEXTBOX_TYPE_1 - 38, // TEXTBOX_TYPE_2 - 38, // TEXTBOX_TYPE_3 + 38, // TEXTBOX_TYPE_BLACK + 38, // TEXTBOX_TYPE_WOODEN + 38, // TEXTBOX_TYPE_BLUE_FADED + 38, // TEXTBOX_TYPE_OCARINA 174, // TEXTBOX_TYPE_4 - 38, // TEXTBOX_TYPE_5 - 38, // TEXTBOX_TYPE_6 - 38, // TEXTBOX_TYPE_7 - 38, // TEXTBOX_TYPE_8 - 60, // TEXTBOX_TYPE_9 + 38, // TEXTBOX_TYPE_CLEAR + 38, // TEXTBOX_TYPE_DISPLAY_ALL + 38, // TEXTBOX_TYPE_CLEAR_DISPLAY_ALL + 38, // TEXTBOX_TYPE_BLUE + 60, // TEXTBOX_TYPE_PAUSE_INFO 174, // TEXTBOX_TYPE_A 0, // TEXTBOX_TYPE_B - 38, // TEXTBOX_TYPE_C - 38, // TEXTBOX_TYPE_D - 38, // TEXTBOX_TYPE_E + 38, // TEXTBOX_TYPE_TITLE_CARD + 38, // TEXTBOX_TYPE_NOTEBOOK_NOTIFICATION + 38, // TEXTBOX_TYPE_OCARINA_FREE_PLAY 38, // TEXTBOX_TYPE_F }; s16 sTextboxMidYPositions[] = { - 90, // TEXTBOX_TYPE_0 - 90, // TEXTBOX_TYPE_1 - 90, // TEXTBOX_TYPE_2 - 90, // TEXTBOX_TYPE_3 + 90, // TEXTBOX_TYPE_BLACK + 90, // TEXTBOX_TYPE_WOODEN + 90, // TEXTBOX_TYPE_BLUE_FADED + 90, // TEXTBOX_TYPE_OCARINA 174, // TEXTBOX_TYPE_4 - 90, // TEXTBOX_TYPE_5 - 90, // TEXTBOX_TYPE_6 - 90, // TEXTBOX_TYPE_7 - 90, // TEXTBOX_TYPE_8 - 90, // TEXTBOX_TYPE_9 + 90, // TEXTBOX_TYPE_CLEAR + 90, // TEXTBOX_TYPE_DISPLAY_ALL + 90, // TEXTBOX_TYPE_CLEAR_DISPLAY_ALL + 90, // TEXTBOX_TYPE_BLUE + 90, // TEXTBOX_TYPE_PAUSE_INFO 174, // TEXTBOX_TYPE_A 0, // TEXTBOX_TYPE_B - 90, // TEXTBOX_TYPE_C - 90, // TEXTBOX_TYPE_D - 90, // TEXTBOX_TYPE_E + 90, // TEXTBOX_TYPE_TITLE_CARD + 90, // TEXTBOX_TYPE_NOTEBOOK_NOTIFICATION + 90, // TEXTBOX_TYPE_OCARINA_FREE_PLAY 90, // TEXTBOX_TYPE_F }; @@ -5389,7 +5394,7 @@ void Message_Update(PlayState* play) { msgCtx->choicePosY[2] = (s16)(msgCtx->textboxYTarget + 44); } - if ((msgCtx->textBoxType == TEXTBOX_TYPE_4) || (msgCtx->textBoxType == TEXTBOX_TYPE_5)) { + if ((msgCtx->textBoxType == TEXTBOX_TYPE_4) || (msgCtx->textBoxType == TEXTBOX_TYPE_CLEAR)) { msgCtx->msgMode = MSGMODE_TEXT_STARTING; msgCtx->textboxX = msgCtx->textboxXTarget; msgCtx->textboxY = msgCtx->textboxYTarget; @@ -5406,7 +5411,7 @@ void Message_Update(PlayState* play) { msgCtx->msgMode = MSGMODE_TEXT_BOX_GROWING; if (!pauseCtx->itemDescriptionOn) { - func_80150A84(play); + Message_SetTextboxColor(play); } } break; diff --git a/src/code/z_message_nes.c b/src/code/z_message_nes.c index 9e475c51ed..64407fc535 100644 --- a/src/code/z_message_nes.c +++ b/src/code/z_message_nes.c @@ -454,9 +454,9 @@ void Message_DrawTextNES(PlayState* play, Gfx** gfxP, u16 textDrawPos) { switch (character) { case MESSAGE_COLOR_DEFAULT: - if (play->pauseCtx.bombersNotebookOpen || (msgCtx->textBoxType == TEXTBOX_TYPE_D)) { + if (play->pauseCtx.bombersNotebookOpen || (msgCtx->textBoxType == TEXTBOX_TYPE_NOTEBOOK_NOTIFICATION)) { msgCtx->textColorR = msgCtx->textColorG = msgCtx->textColorB = 0; - } else if (msgCtx->textBoxType == TEXTBOX_TYPE_5) { + } else if (msgCtx->textBoxType == TEXTBOX_TYPE_CLEAR) { msgCtx->textColorR = msgCtx->textColorG = msgCtx->textColorB = 0; } else { msgCtx->textColorR = msgCtx->textColorG = msgCtx->textColorB = 255; @@ -512,11 +512,11 @@ void Message_DrawTextNES(PlayState* play, Gfx** gfxP, u16 textDrawPos) { msgCtx->textColorR = sColorsBombersNotebookNES[(s16)(character - 1)].r; msgCtx->textColorG = sColorsBombersNotebookNES[(s16)(character - 1)].g; msgCtx->textColorB = sColorsBombersNotebookNES[(s16)(character - 1)].b; - } else if (msgCtx->textBoxType == TEXTBOX_TYPE_1) { + } else if (msgCtx->textBoxType == TEXTBOX_TYPE_WOODEN) { msgCtx->textColorR = D_801D07DC[(s16)(character - 1)].r; msgCtx->textColorG = D_801D07DC[(s16)(character - 1)].g; msgCtx->textColorB = D_801D07DC[(s16)(character - 1)].b; - } else if (msgCtx->textBoxType == TEXTBOX_TYPE_D) { + } else if (msgCtx->textBoxType == TEXTBOX_TYPE_NOTEBOOK_NOTIFICATION) { msgCtx->textColorR = D_801D086C[(s16)(character - 1)].r; msgCtx->textColorG = D_801D086C[(s16)(character - 1)].g; msgCtx->textColorB = D_801D086C[(s16)(character - 1)].b; @@ -813,7 +813,7 @@ void Message_DrawTextNES(PlayState* play, Gfx** gfxP, u16 textDrawPos) { case MESSAGE_CONTINUE: case MESSAGE_END: if (msgCtx->msgMode == MSGMODE_TEXT_DISPLAYING) { - if (msgCtx->textBoxType == TEXTBOX_TYPE_3) { + if (msgCtx->textBoxType == TEXTBOX_TYPE_OCARINA) { Message_HandleOcarina(play); *gfxP = gfx; return; @@ -1053,7 +1053,7 @@ void Message_DecodeNES(PlayState* play) { (curChar == MESSAGE_END) || (curChar == MESSAGE_CONTINUE) || (curChar == MESSAGE_PERSISTENT)) { msgCtx->msgMode = MSGMODE_TEXT_DISPLAYING; msgCtx->textDrawPos = 1; - if (msgCtx->textBoxType == TEXTBOX_TYPE_3) { + if (msgCtx->textBoxType == TEXTBOX_TYPE_OCARINA) { msgCtx->unk11FFA = msgCtx->textboxY + 2; } else { msgCtx->unk11FFA = msgCtx->textboxY + 8; @@ -1066,7 +1066,7 @@ void Message_DecodeNES(PlayState* play) { spA4 = 0.0f; if (curChar == MESSAGE_BOX_BREAK2) { - if ((msgCtx->textBoxType != TEXTBOX_TYPE_3) && (msgCtx->textBoxType != TEXTBOX_TYPE_4)) { + if ((msgCtx->textBoxType != TEXTBOX_TYPE_OCARINA) && (msgCtx->textBoxType != TEXTBOX_TYPE_4)) { if (numLines < 2) { msgCtx->unk11FFA = msgCtx->textboxY + XREG(10); } else if (numLines == 2) { @@ -1076,7 +1076,7 @@ void Message_DecodeNES(PlayState* play) { } } } else { - if ((msgCtx->textBoxType != TEXTBOX_TYPE_3) && (msgCtx->textBoxType != TEXTBOX_TYPE_4)) { + if ((msgCtx->textBoxType != TEXTBOX_TYPE_OCARINA) && (msgCtx->textBoxType != TEXTBOX_TYPE_4)) { if (numLines == 0) { msgCtx->unk11FFA = msgCtx->textboxY + XREG(13) + XREG(10); } else if (numLines == 1) { @@ -1101,9 +1101,9 @@ void Message_DecodeNES(PlayState* play) { msgCtx->decodedTextLen = decodedBufPos; msgCtx->unk120D8 = numLines; - if (msgCtx->textboxSkipped || (msgCtx->textBoxType == TEXTBOX_TYPE_1) || - (msgCtx->textBoxType == TEXTBOX_TYPE_3) || (msgCtx->textBoxType == TEXTBOX_TYPE_6) || - (msgCtx->textBoxType == TEXTBOX_TYPE_8) || (msgCtx->textBoxType == TEXTBOX_TYPE_9) || + if (msgCtx->textboxSkipped || (msgCtx->textBoxType == TEXTBOX_TYPE_WOODEN) || + (msgCtx->textBoxType == TEXTBOX_TYPE_OCARINA) || (msgCtx->textBoxType == TEXTBOX_TYPE_DISPLAY_ALL) || + (msgCtx->textBoxType == TEXTBOX_TYPE_BLUE) || (msgCtx->textBoxType == TEXTBOX_TYPE_PAUSE_INFO) || (msgCtx->textBoxType == TEXTBOX_TYPE_B) || (msgCtx->unk11F0C == 3)) { msgCtx->textDrawPos = msgCtx->decodedTextLen; } @@ -1934,9 +1934,9 @@ void Message_DecodeNES(PlayState* play) { } else if (curChar == MESSAGE_SFX) { msgCtx->decodedBuffer.schar[++decodedBufPos] = font->msgBuf.schar[++msgCtx->msgBufPos]; msgCtx->decodedBuffer.schar[++decodedBufPos] = font->msgBuf.schar[++msgCtx->msgBufPos]; - if (msgCtx->textboxSkipped || (msgCtx->textBoxType == TEXTBOX_TYPE_1) || - (msgCtx->textBoxType == TEXTBOX_TYPE_3) || (msgCtx->textBoxType == TEXTBOX_TYPE_6) || - (msgCtx->textBoxType == TEXTBOX_TYPE_8) || (msgCtx->textBoxType == TEXTBOX_TYPE_9) || + if (msgCtx->textboxSkipped || (msgCtx->textBoxType == TEXTBOX_TYPE_WOODEN) || + (msgCtx->textBoxType == TEXTBOX_TYPE_OCARINA) || (msgCtx->textBoxType == TEXTBOX_TYPE_DISPLAY_ALL) || + (msgCtx->textBoxType == TEXTBOX_TYPE_BLUE) || (msgCtx->textBoxType == TEXTBOX_TYPE_PAUSE_INFO) || (msgCtx->textBoxType == TEXTBOX_TYPE_B) || (msgCtx->unk11F0C == 3)) { sfxHi = msgCtx->decodedBuffer.schar[decodedBufPos - 1] << 8; sfxHi |= msgCtx->decodedBuffer.schar[decodedBufPos]; diff --git a/src/code/z_message_staff.c b/src/code/z_message_staff.c index 78f55902ab..f80d3000f1 100644 --- a/src/code/z_message_staff.c +++ b/src/code/z_message_staff.c @@ -56,7 +56,7 @@ void Message_DrawTextCredits(PlayState* play, Gfx** gfxP) { msgCtx->textPosY = 48; } - if (msgCtx->textBoxType == TEXTBOX_TYPE_5) { + if (msgCtx->textBoxType == TEXTBOX_TYPE_CLEAR) { msgCtx->textColorR = msgCtx->textColorG = msgCtx->textColorB = 0; } else { msgCtx->textColorR = msgCtx->textColorG = msgCtx->textColorB = 255; diff --git a/tools/disasm/n64-us/functions.txt b/tools/disasm/n64-us/functions.txt index 3a83647366..2bf1d8bb0a 100644 --- a/tools/disasm/n64-us/functions.txt +++ b/tools/disasm/n64-us/functions.txt @@ -2846,7 +2846,7 @@ Message_DecodeHeader = 0x8014CFDC; // type:func Message_LoadTime = 0x8014D304; // type:func Message_LoadOwlWarpText = 0x8014D62C; // type:func Message_Decode = 0x8014D7B4; // type:func -func_80150A84 = 0x80150A84; // type:func +Message_SetTextboxColor = 0x80150A84; // type:func Message_OpenText = 0x80150D08; // type:func Message_PauseMenu_ShowDescription = 0x801514B0; // type:func Message_StartTextbox = 0x801518B0; // type:func diff --git a/tools/disasm/n64-us/variables.txt b/tools/disasm/n64-us/variables.txt index 437312dd96..47753be005 100644 --- a/tools/disasm/n64-us/variables.txt +++ b/tools/disasm/n64-us/variables.txt @@ -1093,7 +1093,7 @@ gBombersNotebookWeekEventFlags = 0x801C6B28; // size:0x70 D_801C6B98 = 0x801C6B98; // size:0x81A8 D_801CED40 = 0x801CED40; // size:0xDC8 D_801CFB08 = 0x801CFB08; // size:0x170 -D_801CFC78 = 0x801CFC78; // size:0x2 +gTextBoxBackgroundTypes = 0x801CFC78; // size:0x2 D_801CFC7A = 0x801CFC7A; // size:0x2 D_801CFC7C = 0x801CFC7C; // size:0x2 D_801CFC7E = 0x801CFC7E; // size:0x6 @@ -1186,7 +1186,7 @@ D_801D0364 = 0x801D0364; // size:0x14 D_801D0378 = 0x801D0378; // size:0x24 D_801D039C = 0x801D039C; // size:0x8 D_801D03A4 = 0x801D03A4; // size:0x4 -D_801D03A8 = 0x801D03A8; // size:0x20 +gTextBoxNextIconYOffsets = 0x801D03A8; // size:0x20 D_801D03C8 = 0x801D03C8; // size:0x20 D_801D03E8 = 0x801D03E8; // size:0x8 D_801D03F0 = 0x801D03F0; // size:0x11 diff --git a/tools/sizes/code_functions.csv b/tools/sizes/code_functions.csv index c26e9443e6..1ed99aedac 100644 --- a/tools/sizes/code_functions.csv +++ b/tools/sizes/code_functions.csv @@ -2363,7 +2363,7 @@ asm/non_matchings/code/z_message/Message_DecodeHeader.s,Message_DecodeHeader,0x8 asm/non_matchings/code/z_message/Message_LoadTime.s,Message_LoadTime,0x8014D304,0xCA asm/non_matchings/code/z_message/Message_LoadOwlWarpText.s,Message_LoadOwlWarpText,0x8014D62C,0x62 asm/non_matchings/code/z_message/Message_Decode.s,Message_Decode,0x8014D7B4,0xCB4 -asm/non_matchings/code/z_message/func_80150A84.s,func_80150A84,0x80150A84,0xA1 +asm/non_matchings/code/z_message/Message_SetTextboxColor.s,Message_SetTextboxColor,0x80150A84,0xA1 asm/non_matchings/code/z_message/Message_OpenText.s,Message_OpenText,0x80150D08,0x1EA asm/non_matchings/code/z_message/Message_PauseMenu_ShowDescription.s,Message_PauseMenu_ShowDescription,0x801514B0,0x100 asm/non_matchings/code/z_message/Message_StartTextbox.s,Message_StartTextbox,0x801518B0,0x22