[Scummvm-git-logs] scummvm master -> 8047607908dfad2ddf5d9e1438d2e1839e5d2abf
bluegr
bluegr at gmail.com
Mon May 17 19:16:59 UTC 2021
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
8047607908 SCUMM: Fix unclickable centered verbs
Commit: 8047607908dfad2ddf5d9e1438d2e1839e5d2abf
https://github.com/scummvm/scummvm/commit/8047607908dfad2ddf5d9e1438d2e1839e5d2abf
Author: Orgad Shaneh (orgads at gmail.com)
Date: 2021-05-17T22:16:56+03:00
Commit Message:
SCUMM: Fix unclickable centered verbs
Fixes #12552
Changed paths:
engines/scumm/script_v5.cpp
engines/scumm/verbs.cpp
diff --git a/engines/scumm/script_v5.cpp b/engines/scumm/script_v5.cpp
index 687a80cb2d..e8ea08fb9a 100644
--- a/engines/scumm/script_v5.cpp
+++ b/engines/scumm/script_v5.cpp
@@ -2304,7 +2304,7 @@ void ScummEngine_v5::o5_verbOps() {
vs->hicolor = getVarOrDirectByte(PARAM_1);
break;
case 5: // SO_VERB_AT
- vs->curRect.left = vs->origLeft = getVarOrDirectWord(PARAM_1);
+ vs->curRect.left = getVarOrDirectWord(PARAM_1);
vs->curRect.top = getVarOrDirectWord(PARAM_2);
// Macintosh version of indy3ega used different interface, so adjust values.
if ((_game.platform == Common::kPlatformMacintosh) && (_game.id == GID_INDY3)) {
@@ -2374,6 +2374,7 @@ void ScummEngine_v5::o5_verbOps() {
// if we trim to 200 pixels, we need to move the 'down arrow' (verb 116) to higher location
vs->curRect.top -= 18;
}
+ vs->origLeft = vs->curRect.left;
break;
case 6: // SO_VERB_ON
vs->curmode = 1;
diff --git a/engines/scumm/verbs.cpp b/engines/scumm/verbs.cpp
index a393d7d873..fca55d3895 100644
--- a/engines/scumm/verbs.cpp
+++ b/engines/scumm/verbs.cpp
@@ -1083,8 +1083,9 @@ void ScummEngine::drawVerb(int verb, int mode) {
restoreVerbBG(verb);
+ const bool isRtl = _language == Common::HE_ISR && !vs->center;
_string[4].charset = vs->charset_nr;
- _string[4].xpos = _language != Common::HE_ISR ? vs->curRect.left : vs->origLeft;
+ _string[4].xpos = isRtl ? vs->origLeft : vs->curRect.left;
_string[4].ypos = vs->curRect.top;
_string[4].right = _screenWidth - 1;
_string[4].center = vs->center;
@@ -1110,9 +1111,8 @@ void ScummEngine::drawVerb(int verb, int mode) {
drawString(4, msg);
_charset->_center = tmp;
- if (_language == Common::HE_ISR)
+ if (isRtl)
vs->curRect.left = _charset->_str.left;
-
vs->curRect.right = _charset->_str.right;
vs->curRect.bottom = _charset->_str.bottom;
vs->oldRect = _charset->_str;
More information about the Scummvm-git-logs
mailing list