From 123e6d10b63d12f26082abd329485f3d824560f9 Mon Sep 17 00:00:00 2001 From: athrxx Date: Mon, 28 Mar 2022 17:19:42 +0200 Subject: [PATCH] SCUMM: (COMI/CJK) - fix verb drawing regression --- engines/scumm/verbs.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/engines/scumm/verbs.cpp b/engines/scumm/verbs.cpp index 57e640a4c04..309ee8e78e1 100644 --- a/engines/scumm/verbs.cpp +++ b/engines/scumm/verbs.cpp @@ -996,6 +996,7 @@ void ScummEngine_v7::drawVerb(int verb, int mode) { TextStyleFlags flags = kStyleAlignLeft; int xpos = vs->origLeft; + int ypos = vs->curRect.top; if (vs->center) { flags = kStyleAlignCenter; @@ -1023,7 +1024,7 @@ void ScummEngine_v7::drawVerb(int verb, int mode) { _charset->setCurID(vs->charset_nr); // Compute the text rect - vs->oldRect = vs->curRect = _textV7->calcStringDimensions((const char*)msg, xpos, vs->curRect.top, flags); + vs->curRect = _textV7->calcStringDimensions((const char*)msg, xpos, vs->curRect.top, flags); const int maxWidth = _screenWidth - vs->curRect.left; int finalWidth = maxWidth; @@ -1044,13 +1045,16 @@ void ScummEngine_v7::drawVerb(int verb, int mode) { --len; } - enqueueText(tmpBuf, xpos, vs->curRect.top, color, vs->charset_nr, flags); - enqueueText(&msg[len + 1], xpos, vs->curRect.top + _verbLineSpacing, color, vs->charset_nr, flags); + enqueueText(tmpBuf, xpos, ypos, color, vs->charset_nr, flags); + enqueueText(&msg[len + 1], xpos, ypos + _verbLineSpacing, color, vs->charset_nr, flags); vs->curRect.right = vs->curRect.left + finalWidth; vs->curRect.bottom += _verbLineSpacing; } else { - enqueueText(msg, xpos, vs->curRect.top, color, vs->charset_nr, flags); + enqueueText(msg, xpos, ypos, color, vs->charset_nr, flags); } + + vs->oldRect = vs->curRect; + vs->curRect.top = ypos; _charset->setCurID(oldID); } }