diff --git a/include/sf64context.h b/include/sf64context.h index c152d538..90eb3079 100644 --- a/include/sf64context.h +++ b/include/sf64context.h @@ -98,7 +98,7 @@ extern s32 gRadioMsgCharIndex; extern UNK_TYPE F_801782E0; extern s32 gRadioMsgId; extern UNK_TYPE F_801782F0; -extern s32 gMsgCharIsPrinting; +extern bool gMsgCharIsPrinting; extern bool gHideRadio; extern u16* gRadioMsg; extern ObjectInit* gLevelObjects; diff --git a/src/engine/fox_radio.c b/src/engine/fox_radio.c index 1a870778..28312d9c 100644 --- a/src/engine/fox_radio.c +++ b/src/engine/fox_radio.c @@ -613,7 +613,7 @@ void Radio_Draw(void) { if (!(fakeTemp)) { ret = Audio_GetCurrentVoiceStatus(); - if ((gGameState == GSTATE_TITLE) && gRadioMsg[gRadioMsgCharIndex + 1] != MSGCHAR_END) { + if (gRadioMsgCharIndex < 60 && gRadioMsg[gRadioMsgCharIndex + 1] != MSGCHAR_END) { if (gRadioMsg[gRadioMsgCharIndex + 1] == MSGCHAR_NXT) { if (ret == 0) { gRadioState = 31; @@ -621,6 +621,8 @@ void Radio_Draw(void) { } else { gRadioMsgCharIndex++; } + } else if (gRadioMsgCharIndex < 60) { + gRadioMsgCharIndex = 60; } if (sRadioCheckMouthFlag) {