[Scummvm-git-logs] scummvm master -> e3152645d23e31b9dc34755b36d776132dd2bb56
bluegr
noreply at scummvm.org
Fri Jun 17 11:50:07 UTC 2022
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:
e3152645d2 SCUMM: Fix missing Dr. Fred line when he receives a new diamond
Commit: e3152645d23e31b9dc34755b36d776132dd2bb56
https://github.com/scummvm/scummvm/commit/e3152645d23e31b9dc34755b36d776132dd2bb56
Author: Donovan Watteau (contrib at dwatteau.fr)
Date: 2022-06-17T14:50:04+03:00
Commit Message:
SCUMM: Fix missing Dr. Fred line when he receives a new diamond
When Dr. Fred receives a new diamond, he's supposed to report the status
of Hoagie's and Laverne's units, but these talkActor() lines don't have
any associated wait.waitForMessage(), so they were unseen and unheard in
the game until now.
I couldn't find a way of only targeting the impacted lines, so this is
applied to every line from Dr. Fred in this part of the script.
Changed paths:
engines/scumm/script_v6.cpp
diff --git a/engines/scumm/script_v6.cpp b/engines/scumm/script_v6.cpp
index 7abf1608905..86252bec681 100644
--- a/engines/scumm/script_v6.cpp
+++ b/engines/scumm/script_v6.cpp
@@ -2393,7 +2393,7 @@ void ScummEngine_v6::o6_printEgo() {
void ScummEngine_v6::o6_talkActor() {
int offset = _scriptPointer - _scriptOrgPointer;
- // WORKAROUND for bug #1452: see below for detailed description
+ // WORKAROUND for missing waitForMessage() calls; see below
if (_forcedWaitForMessage) {
if (VAR(VAR_HAVE_MSG)) {
_scriptPointer--;
@@ -2422,6 +2422,20 @@ void ScummEngine_v6::o6_talkActor() {
_string[0].loadDefault();
actorTalk(_scriptPointer);
+ // WORKAROUND: Dr Fred's first reaction line about Hoagie's and Laverne's
+ // units after receiving a new diamond is unused because of missing
+ // wait.waitForMessage() calls. We always simulate this opcode when
+ // triggering Dr Fred's lines in this part of the script, since there is
+ // no stable offset for all the floppy, CD and translated versions, and
+ // no easy way to only target the impacted lines.
+ if (_game.id == GID_TENTACLE && vm.slot[_currentScript].number == 9
+ && vm.localvar[_currentScript][0] == 216 && _actorToPrintStrFor == 4 && _enableEnhancements) {
+ _forcedWaitForMessage = true;
+ _scriptPointer--;
+
+ return;
+ }
+
// WORKAROUND for bug #1452: "DIG: Missing subtitles when talking to Brink"
// Original script does not have wait.waitForMessage() after several messages:
//
More information about the Scummvm-git-logs
mailing list