[Scummvm-git-logs] scummvm master -> c193fa74bff4eb12d135f1b4573faf0bd6b860cf
bluegr
bluegr at gmail.com
Tue Aug 10 09:47:06 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:
c193fa74bf SCUMM: Restore old clock tower behavior to the CD version of MI1
Commit: c193fa74bff4eb12d135f1b4573faf0bd6b860cf
https://github.com/scummvm/scummvm/commit/c193fa74bff4eb12d135f1b4573faf0bd6b860cf
Author: Torbjörn Andersson (eriktorbjorn at users.sourceforge.net)
Date: 2021-08-10T12:47:03+03:00
Commit Message:
SCUMM: Restore old clock tower behavior to the CD version of MI1
In the floppy VGA version (and presumably the EGA version as well), the
clock tower only gets a new description ("e.g. "Hmm. Still ten
o'clock.") if you leave the room after examining it. In the CD version,
someone has "fixed" the behavior so that the description changes
immediately when the clock tower is examined.
Since it also changes on exiting the room after examining the clock
tower, that means you're much less likely to ever see the second
description. (There are only three, with a random variation on the
last one.) It doesn't completely ruin the joke, but...
To restore the original behavior, we don't allow the clock tower script
to increment the variable that changes its description.
Changed paths:
engines/scumm/script_v5.cpp
diff --git a/engines/scumm/script_v5.cpp b/engines/scumm/script_v5.cpp
index 7cd7aa161a..945de94888 100644
--- a/engines/scumm/script_v5.cpp
+++ b/engines/scumm/script_v5.cpp
@@ -635,6 +635,35 @@ void ScummEngine_v5::o5_add() {
}
}
+ // WORKAROUND: The clock tower is controlled by two variables: 163 and
+ // 247 in the floppy VGA version, 164 and 248 in the CD version. I
+ // don't know about the EGA version, but this fix only concerns the
+ // CD version.
+ //
+ // Whenever you enter the room, the first variable is cleared. It is
+ // then set if you examine the clock tower. The second variable
+ // determines which description you see, e.g. "Ten o'clock.", "Hmm.
+ // Still ten o'clock.", etc.
+ //
+ // If the first variable was set, the second is incremented when you
+ // leave the room. That means that every time you examine the clock
+ // tower, you get a new description (there are three of them, with a
+ // random variation on the last one) but only if you've been away from
+ // the room in between.
+ //
+ // But in the CD version, someone has attempted to "fix" this behavior
+ // by always incrementing the second variable when the clock tower is
+ // examined. So you don't have to leave the room in between, and if
+ // you examine the clock tower once and then leave, the second variable
+ // is incremented twice so you'll never see the second description.
+ //
+ // We restore the old behavior by adding 0, not 1, to the second
+ // variable when examining the clock tower.
+
+ if (_game.id == GID_MONKEY && vm.slot[_currentScript].number == 210 && _currentRoom == 35 && _resultVarNumber == 248 && a == 1) {
+ a = 0;
+ }
+
setResult(readVar(_resultVarNumber) + a);
}
More information about the Scummvm-git-logs
mailing list