[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