[Scummvm-git-logs] scummvm master -> d372f113369a8fc146e1ad91b15ef9467ea4a454

eriktorbjorn noreply at scummvm.org
Fri Jan 14 15:45:22 UTC 2022


This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
369e1b38d4 SHERLOCK: Fix Scalpel UI glitch (bug #13195)
d372f11336 SHERLOCK: Extend Scalpel flower girl workaround


Commit: 369e1b38d44e4b8ad38eeb6524be34c9fe5a6038
    https://github.com/scummvm/scummvm/commit/369e1b38d44e4b8ad38eeb6524be34c9fe5a6038
Author: Torbjörn Andersson (eriktorbjorn at users.sourceforge.net)
Date: 2022-01-14T16:45:17+01:00

Commit Message:
SHERLOCK: Fix Scalpel UI glitch (bug #13195)

This would happen when examining certain room objects (ones where
printing the description was part of a custom animation) while the
inventory was open. This was a bug in the original interpreter as well.

Changed paths:
    engines/sherlock/scalpel/scalpel_user_interface.cpp


diff --git a/engines/sherlock/scalpel/scalpel_user_interface.cpp b/engines/sherlock/scalpel/scalpel_user_interface.cpp
index 7c780f4650d..9e590b7808e 100644
--- a/engines/sherlock/scalpel/scalpel_user_interface.cpp
+++ b/engines/sherlock/scalpel/scalpel_user_interface.cpp
@@ -533,6 +533,13 @@ void ScalpelUserInterface::examine() {
 	Talk &talk = *_vm->_talk;
 	Common::Point pt = events.mousePos();
 
+	if (_invLookFlag) {
+		// Don't close the inventory window when starting an examine display, since its
+		// window will slide up to replace the inventory display
+		_windowOpen = false;
+		_menuMode = LOOK_MODE;
+	}
+
 	if (pt.y < (CONTROLS_Y + 9)) {
 		Object &obj = scene._bgShapes[_bgFound];
 
@@ -560,13 +567,6 @@ void ScalpelUserInterface::examine() {
 			_vm->setFlags(inv[_selector]._lookFlag);
 	}
 
-	if (_invLookFlag) {
-		// Don't close the inventory window when starting an examine display, since its
-		// window will slide up to replace the inventory display
-		_windowOpen = false;
-		_menuMode = LOOK_MODE;
-	}
-
 	if (!talk._talkToAbort) {
 		if (!scene._cAnimFramePause)
 			printObjectDesc(_cAnimStr, true);


Commit: d372f113369a8fc146e1ad91b15ef9467ea4a454
    https://github.com/scummvm/scummvm/commit/d372f113369a8fc146e1ad91b15ef9467ea4a454
Author: Torbjörn Andersson (eriktorbjorn at users.sourceforge.net)
Date: 2022-01-14T16:45:17+01:00

Commit Message:
SHERLOCK: Extend Scalpel flower girl workaround

The same glitch that happens with the flower girl also happens with the
housekeeper: Walking nearby triggers a conversation, but doesn't abort
the current action. This can cause the UI to get corrupted.

At least for the housekeeper, this does not happen with the original
interpreter. I have no idea why.

Changed paths:
    engines/sherlock/scalpel/scalpel_talk.cpp


diff --git a/engines/sherlock/scalpel/scalpel_talk.cpp b/engines/sherlock/scalpel/scalpel_talk.cpp
index 8dbfed91dbc..3faaabc0f75 100644
--- a/engines/sherlock/scalpel/scalpel_talk.cpp
+++ b/engines/sherlock/scalpel/scalpel_talk.cpp
@@ -186,10 +186,11 @@ void ScalpelTalk::talkTo(const Common::String filename) {
 		// WORKAROUND: Original game bug causes the results of testing the powdery substance
 		// to disappear too quickly. Introduce a delay to allow it to be properly displayed
 		ui._menuCounter = 30;
-	} else if (filename == "Lesl24z.tlk") {
-		// WORKAROUND: Walking to the flower girl the first time triggers
-		// this automatic talk. This should abort any other action, such
-		// as trying to look at her, else the UI gets corrupted
+	} else if (filename == "Lesl24z.tlk" || filename == "Beal40y.tlk") {
+		// WORKAROUND: Walking to the flower girl or housekeeper the
+		// first time triggers this automatic talk. This should abort
+		// any other action, such as trying to look at her, else the UI
+		// gets corrupted
 		_talkToAbort = true;
 	}
 }




More information about the Scummvm-git-logs mailing list