Document textbox types, backgrounds and two related global array variables (#1835)

* Document `D_801CFC78`, `func_80150A84` and textbox types

* Format

* Textbox background enum

* More enum usages

* Rename D_801D03A8

* Fix value of TEXTBOX_BG_NONE

* Convert background type enum to macros

* Restore enum, fix BSS ordering

* Rename to SetTextboxColor

* More BSS fixing
This commit is contained in:
Jordan Longstaff 2025-12-06 18:32:14 -05:00 committed by GitHub
parent f973883b06
commit f6b17e2358
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
9 changed files with 195 additions and 177 deletions

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

1 asm/non_matchings/code/z_en_a_keep/EnAObj_Init.s EnAObj_Init 0x800A5AC0 0x2B
2363 asm/non_matchings/code/z_message/Message_LoadTime.s Message_LoadTime 0x8014D304 0xCA
2364 asm/non_matchings/code/z_message/Message_LoadOwlWarpText.s Message_LoadOwlWarpText 0x8014D62C 0x62
2365 asm/non_matchings/code/z_message/Message_Decode.s Message_Decode 0x8014D7B4 0xCB4
2366 asm/non_matchings/code/z_message/func_80150A84.s asm/non_matchings/code/z_message/Message_SetTextboxColor.s func_80150A84 Message_SetTextboxColor 0x80150A84 0xA1
2367 asm/non_matchings/code/z_message/Message_OpenText.s Message_OpenText 0x80150D08 0x1EA
2368 asm/non_matchings/code/z_message/Message_PauseMenu_ShowDescription.s Message_PauseMenu_ShowDescription 0x801514B0 0x100
2369 asm/non_matchings/code/z_message/Message_StartTextbox.s Message_StartTextbox 0x801518B0 0x22