summaryrefslogtreecommitdiff
path: root/soh/src/code
diff options
context:
space:
mode:
Diffstat (limited to 'soh/src/code')
-rw-r--r--soh/src/code/z_message_PAL.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/soh/src/code/z_message_PAL.c b/soh/src/code/z_message_PAL.c
index 4e1dc8692..4736f95a7 100644
--- a/soh/src/code/z_message_PAL.c
+++ b/soh/src/code/z_message_PAL.c
@@ -835,6 +835,7 @@ void Message_DrawText(PlayState* play, Gfx** gfxP) {
u16 i;
u16 sfxHi;
u16 charTexIdx;
+ int gTextSpeed;
Font* font = &play->msgCtx.font;
Gfx* gfx = *gfxP;
@@ -1115,11 +1116,17 @@ void Message_DrawText(PlayState* play, Gfx** gfxP) {
break;
}
}
- if (msgCtx->textDelayTimer == 0) {
- msgCtx->textDrawPos = i + CVarGetInteger(CVAR_ENHANCEMENT("TextSpeed"), 1);
+
+ gTextSpeed = CVarGetInteger(CVAR_ENHANCEMENT("TextSpeed"), 1);
+ if (msgCtx->textDelay == 0) {
+ msgCtx->textDrawPos = i + gTextSpeed;
+ } else if (msgCtx->textDelayTimer == 0) {
+ msgCtx->textDrawPos = i + 1;
msgCtx->textDelayTimer = msgCtx->textDelay;
+ } else if (msgCtx->textDelayTimer <= gTextSpeed) {
+ msgCtx->textDelayTimer = 0;
} else {
- msgCtx->textDelayTimer--;
+ msgCtx->textDelayTimer -= gTextSpeed;
}
*gfxP = gfx;
}