[Scummvm-git-logs] scummvm master -> e0b8678482ad84cfd000fbc14ce7ebdbf03cfe2d
bluegr
noreply at scummvm.org
Sat Oct 8 19:20:54 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:
e0b8678482 SCUMM: Let Max finish his comment on capitalism at Snuckey's (WORKAROUND)
Commit: e0b8678482ad84cfd000fbc14ce7ebdbf03cfe2d
https://github.com/scummvm/scummvm/commit/e0b8678482ad84cfd000fbc14ce7ebdbf03cfe2d
Author: Donovan Watteau (contrib at dwatteau.fr)
Date: 2022-10-08T22:20:50+03:00
Commit Message:
SCUMM: Let Max finish his comment on capitalism at Snuckey's (WORKAROUND)
If Sam tries buying something at Snuckey's without any having money, Max
will not always have enough time to finish his comment on capitalism,
because the employee will say "Anything else?" without any call to
waitForMessage() to make sure that Max is done speaking. But good jokes
from Max should never be cut!
This would happen if Sam only picked up the pecan-flavored candies, for
example.
Changed paths:
engines/scumm/script_v6.cpp
diff --git a/engines/scumm/script_v6.cpp b/engines/scumm/script_v6.cpp
index 8ba00069f2f..1dbb9604d30 100644
--- a/engines/scumm/script_v6.cpp
+++ b/engines/scumm/script_v6.cpp
@@ -2377,6 +2377,24 @@ void ScummEngine_v6::o6_talkActor() {
return;
}
+ // WORKAROUND: If Sam tries to buy an object at Snuckey's without having
+ // any money, Max's comment on capitalism may be cut too early because the
+ // employee reacts immediately after Max without any prior waitForMessage().
+ // The magic values below come from scripts 11-67 and 11-205.
+ //
+ // This call can't just be inserted after Max's line; it needs to be done
+ // just before the employee's line, otherwise the timing with Sam's moves
+ // will feel off -- so we can't use the _forcedWaitForMessage trick.
+ if (_game.id == GID_SAMNMAX && _roomResource == 11 && vm.slot[_currentScript].number == 67
+ && getOwner(70) != 2 && !readVar(0x8000 + 67) && !readVar(0x8000 + 39) && readVar(0x8000 + 12) == 1
+ && !getClass(126, 6) && _enableEnhancements) {
+ if (VAR(VAR_HAVE_MSG)) {
+ _scriptPointer--;
+ o6_breakHere();
+ return;
+ }
+ }
+
_actorToPrintStrFor = pop();
// WORKAROUND for bug #3803: "DOTT: Bernard impersonating LaVerne"
More information about the Scummvm-git-logs
mailing list