diff --git a/mm/src/code/z_message.c b/mm/src/code/z_message.c index c9ff40d45..6c435731f 100644 --- a/mm/src/code/z_message.c +++ b/mm/src/code/z_message.c @@ -3359,7 +3359,9 @@ void Message_OpenText(PlayState* play, u16 textId) { // BENTODO all of these if (msgCtx->textIsCredits) { Message_FindCreditsMessage(play, textId); - msgCtx->msgLength = font->messageEnd; + MessageTableEntry* msgEntry = (MessageTableEntry*)font->messageStart; + msgCtx->msgLength = msgEntry->msgSize; + memcpy(&font->msgBuf, msgEntry->segment, msgEntry->msgSize); //DmaMgr_SendRequest0(&font->msgBuf, SEGMENT_ROM_START(staff_message_data_static) + font->messageStart, // font->messageEnd); } else if (gSaveContext.options.language == LANGUAGE_JPN) { @@ -3375,7 +3377,7 @@ void Message_OpenText(PlayState* play, u16 textId) { //msgCtx->msgLength = font->messageEnd; //DmaMgr_SendRequest0(&font->msgBuf, SEGMENT_ROM_START(message_data_static) + font->messageStart, // font->messageEnd); - } // + } msgCtx->choiceNum = 0; msgCtx->textUnskippable = false; @@ -4365,8 +4367,6 @@ void Message_DrawMain(PlayState* play, Gfx** gfxP) { s32 j; s16 temp_v0_33; s16 temp; - // BENTODO - msgCtx->textIsCredits = false; gfx = *gfxP; diff --git a/mm/src/code/z_message_staff.c b/mm/src/code/z_message_staff.c index 4a7addd9c..a18328781 100644 --- a/mm/src/code/z_message_staff.c +++ b/mm/src/code/z_message_staff.c @@ -12,12 +12,9 @@ void Message_FindCreditsMessage(PlayState* play, u16 textId) { while (msgEntry->textId != 0xFFFF) { if (msgEntry->textId == textId) { - foundSegment = msgEntry->segment; + // 2SH2 [Port] Just assign the msgEntry, we don't need to change the messageStart and messageEnd + font->messageStart = msgEntry; font->charBuf[font->unk_11D88][0] = msgEntry->typePos; - msgEntry++; - nextSegment = msgEntry->segment; - font->messageStart = foundSegment - segment; - font->messageEnd = nextSegment - foundSegment; break; } msgEntry++;