mirror of
https://github.com/zeldaret/oot
synced 2026-05-22 22:44:26 -04:00
Fixups around textboxSegment (#2743)
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
<Root>
|
||||
<File Name="message_static" Segment="7">
|
||||
<Texture Name="gDefaultMessageBackgroundTex" Format="ia4" Width="128" Height="64" Offset="0x0"/>
|
||||
<Texture Name="gDefaultMessageBackgroundTex" Format="i4" Width="128" Height="64" Offset="0x0"/>
|
||||
<Texture Name="gSignMessageBackgroundTex" Format="ia4" Width="128" Height="64" Offset="0x1000"/>
|
||||
<Texture Name="gNoteStaffMessageBackgroundTex" Format="ia4" Width="128" Height="64" Offset="0x2000"/>
|
||||
<Texture Name="gFadingMessageBackgroundTex" Format="i4" Width="128" Height="64" Offset="0x3000"/>
|
||||
|
||||
+23
-14
@@ -1244,9 +1244,10 @@ void Message_DrawTextWide(PlayState* play, Gfx** gfxP) {
|
||||
(R_TEXTBOX_BG_YPOS + 48 + sTextboxBackgroundYOffsets[msgCtx->textboxBackgroundYOffsetIdx]) << 2,
|
||||
G_TX_RENDERTILE, 0, 0, 1 << 10, 1 << 10);
|
||||
|
||||
gDPLoadTextureBlock_4b(gfx++, msgCtx->textboxSegment + MESSAGE_STATIC_TEX_SIZE + 0x900, G_IM_FMT_I, 96,
|
||||
48, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK,
|
||||
G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
|
||||
gDPLoadTextureBlock_4b(
|
||||
gfx++, msgCtx->textboxSegment + MESSAGE_STATIC_TEX_SIZE + MESSAGE_TEXTURE_STATIC_TEX_SIZE,
|
||||
G_IM_FMT_I, 96, 48, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK,
|
||||
G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
|
||||
gSPTextureRectangle(
|
||||
gfx++, (msgCtx->textPosX + 96 + 1) << 2,
|
||||
(R_TEXTBOX_BG_YPOS + sTextboxBackgroundYOffsets[msgCtx->textboxBackgroundYOffsetIdx]) << 2,
|
||||
@@ -1266,9 +1267,10 @@ void Message_DrawTextWide(PlayState* play, Gfx** gfxP) {
|
||||
gSPTextureRectangle(gfx++, msgCtx->textPosX << 2, R_TEXTBOX_BG_YPOS << 2, (msgCtx->textPosX + 96) << 2,
|
||||
(R_TEXTBOX_BG_YPOS + 48) << 2, G_TX_RENDERTILE, 0, 0, 1 << 10, 1 << 10);
|
||||
|
||||
gDPLoadTextureBlock_4b(gfx++, (msgCtx->textboxSegment + MESSAGE_STATIC_TEX_SIZE + 0x900), G_IM_FMT_I,
|
||||
96, 48, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK,
|
||||
G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
|
||||
gDPLoadTextureBlock_4b(
|
||||
gfx++, (msgCtx->textboxSegment + MESSAGE_STATIC_TEX_SIZE + MESSAGE_TEXTURE_STATIC_TEX_SIZE),
|
||||
G_IM_FMT_I, 96, 48, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK,
|
||||
G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
|
||||
gSPTextureRectangle(gfx++, (msgCtx->textPosX + 96) << 2, R_TEXTBOX_BG_YPOS << 2,
|
||||
(msgCtx->textPosX + 192) << 2, (R_TEXTBOX_BG_YPOS + 48) << 2, G_TX_RENDERTILE, 0, 0,
|
||||
1 << 10, 1 << 10);
|
||||
@@ -1576,9 +1578,10 @@ void Message_DrawText(PlayState* play, Gfx** gfxP) {
|
||||
(R_TEXTBOX_BG_YPOS + 48 + sTextboxBackgroundYOffsets[msgCtx->textboxBackgroundYOffsetIdx]) << 2,
|
||||
G_TX_RENDERTILE, 0, 0, 1 << 10, 1 << 10);
|
||||
|
||||
gDPLoadTextureBlock_4b(gfx++, msgCtx->textboxSegment + MESSAGE_STATIC_TEX_SIZE + 0x900, G_IM_FMT_I, 96,
|
||||
48, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK,
|
||||
G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
|
||||
gDPLoadTextureBlock_4b(
|
||||
gfx++, msgCtx->textboxSegment + MESSAGE_STATIC_TEX_SIZE + MESSAGE_TEXTURE_STATIC_TEX_SIZE,
|
||||
G_IM_FMT_I, 96, 48, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK,
|
||||
G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
|
||||
gSPTextureRectangle(
|
||||
gfx++, (msgCtx->textPosX + 96 + 1) << 2,
|
||||
(R_TEXTBOX_BG_YPOS + sTextboxBackgroundYOffsets[msgCtx->textboxBackgroundYOffsetIdx]) << 2,
|
||||
@@ -1598,9 +1601,10 @@ void Message_DrawText(PlayState* play, Gfx** gfxP) {
|
||||
gSPTextureRectangle(gfx++, msgCtx->textPosX << 2, R_TEXTBOX_BG_YPOS << 2, (msgCtx->textPosX + 96) << 2,
|
||||
(R_TEXTBOX_BG_YPOS + 48) << 2, G_TX_RENDERTILE, 0, 0, 1 << 10, 1 << 10);
|
||||
|
||||
gDPLoadTextureBlock_4b(gfx++, (msgCtx->textboxSegment + MESSAGE_STATIC_TEX_SIZE + 0x900), G_IM_FMT_I,
|
||||
96, 48, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK,
|
||||
G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
|
||||
gDPLoadTextureBlock_4b(
|
||||
gfx++, (msgCtx->textboxSegment + MESSAGE_STATIC_TEX_SIZE + MESSAGE_TEXTURE_STATIC_TEX_SIZE),
|
||||
G_IM_FMT_I, 96, 48, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK,
|
||||
G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
|
||||
gSPTextureRectangle(gfx++, (msgCtx->textPosX + 96) << 2, R_TEXTBOX_BG_YPOS << 2,
|
||||
(msgCtx->textPosX + 192) << 2, (R_TEXTBOX_BG_YPOS + 48) << 2, G_TX_RENDERTILE, 0, 0,
|
||||
1 << 10, 1 << 10);
|
||||
@@ -2546,7 +2550,12 @@ void Message_Decode(PlayState* play) {
|
||||
}
|
||||
|
||||
void Message_OpenText(PlayState* play, u16 textId) {
|
||||
static s16 messageStaticIndices[] = { 0, 1, 3, 2 };
|
||||
static s16 messageStaticIndices[] = {
|
||||
0, // TEXTBOX_TYPE_BLACK
|
||||
1, // TEXTBOX_TYPE_WOODEN
|
||||
3, // TEXTBOX_TYPE_BLUE
|
||||
2, // TEXTBOX_TYPE_OCARINA
|
||||
};
|
||||
MessageContext* msgCtx = &play->msgCtx;
|
||||
Font* font = &msgCtx->font;
|
||||
s16 textBoxType;
|
||||
@@ -2969,7 +2978,7 @@ void Message_DrawTextBox(PlayState* play, Gfx** p) {
|
||||
gDPSetPrimColor(gfx++, 0, 0, msgCtx->textboxColorRed, msgCtx->textboxColorGreen, msgCtx->textboxColorBlue,
|
||||
msgCtx->textboxColorAlphaCurrent);
|
||||
|
||||
if (!(msgCtx->textBoxType) || msgCtx->textBoxType == TEXTBOX_TYPE_BLUE) {
|
||||
if (!msgCtx->textBoxType /* TEXTBOX_TYPE_BLACK */ || msgCtx->textBoxType == TEXTBOX_TYPE_BLUE) {
|
||||
gDPLoadTextureBlock_4b(gfx++, msgCtx->textboxSegment, G_IM_FMT_I, 128, 64, 0, G_TX_MIRROR, G_TX_NOMIRROR, 7, 0,
|
||||
G_TX_NOLOD, G_TX_NOLOD);
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user