[Scummvm-git-logs] scummvm master -> f039be35d9e7bdb10c5803e38064d446cf1b91fc
dwatteau
noreply at scummvm.org
Sat Aug 31 11:28:37 UTC 2024
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:
f039be35d9 SCUMM: Document Trac#346 workaround a bit more
Commit: f039be35d9e7bdb10c5803e38064d446cf1b91fc
https://github.com/scummvm/scummvm/commit/f039be35d9e7bdb10c5803e38064d446cf1b91fc
Author: Donovan Watteau (contrib at dwatteau.fr)
Date: 2024-08-31T13:07:58+02:00
Commit Message:
SCUMM: Document Trac#346 workaround a bit more
One needs to wait a bit before reading the note or the map, for the
script sync issue to show up, and also the bug is also there in the
SCUMMv4 releases, but there it seems to only cause some strange
animation behavior, instead of an error (to be fixed with a new
enhancement at a later date...).
Changed paths:
engines/scumm/script_v5.cpp
diff --git a/engines/scumm/script_v5.cpp b/engines/scumm/script_v5.cpp
index 3eea7026a85..9605488f32f 100644
--- a/engines/scumm/script_v5.cpp
+++ b/engines/scumm/script_v5.cpp
@@ -1438,14 +1438,19 @@ void ScummEngine_v5::o5_isScriptRunning() {
// WORKAROUND bug #346 (also occurs in original): Object stopped with active cutscene
// In script 204 room 25 (Cannibal Village) a crash can occur when you are
- // expected to give something to the cannibals, but instead look at certain
- // items like the compass or kidnap note. Those inventory items contain little
+ // expected to give something to the cannibals, but instead wait a bit and look at
+ // certain items, like the compass or kidnap note. Those inventory items contain little
// cutscenes and are abrubtly stopped by the endcutscene in script 204 at 0x0060.
// This patch changes the result of isScriptRunning(164) to also wait for any
// inventory scripts that are in a cutscene state, preventing the crash.
//
// (The original interpreter would print a fatal "Object xxx stopped with active
// cutscene/override" error.)
+ //
+ // Note: the SCUMMv4 releases also produce strange animation results in this case, but
+ // (AFAICS) no error. Fixing this would be nice as well (as a `kEnhMinorBugFixes` fix)
+ // but it would require a different workaround in a different place, since the script
+ // is a bit different.
if (_game.id == GID_MONKEY && _currentScript != 0xFF && vm.slot [_currentScript].number == 204 && _currentRoom == 25 &&
enhancementEnabled(kEnhGameBreakingBugFixes)) {
ScriptSlot *ss = vm.slot;
More information about the Scummvm-git-logs
mailing list