[Scummvm-git-logs] scummvm master -> 4ff9960ac985ff0597c30f9e7ce81cb449b4cf2b
AndywinXp
noreply at scummvm.org
Mon Oct 17 14:57: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:
4ff9960ac9 SCUMM: Remove old getDist() MI1 workaround for Trac#1194
Commit: 4ff9960ac985ff0597c30f9e7ce81cb449b4cf2b
https://github.com/scummvm/scummvm/commit/4ff9960ac985ff0597c30f9e7ce81cb449b4cf2b
Author: Donovan Watteau (contrib at dwatteau.fr)
Date: 2022-10-17T16:56:59+02:00
Commit Message:
SCUMM: Remove old getDist() MI1 workaround for Trac#1194
We are probably closer to the behavior of the original interpreters
now, because I can't reproduce this ScummVM problem anymore with any
demo, Passport to Adventure, EGA or Amiga version.
Bisecting a bit with the Amiga demo, this has effectively been fixed
by commit d719e83783a530e6e272ddd0207edaf33fb37ed0.
Changed paths:
engines/scumm/boxes.cpp
engines/scumm/script_v5.cpp
diff --git a/engines/scumm/boxes.cpp b/engines/scumm/boxes.cpp
index 51ea3be4e1f..6f0c3ced7f1 100644
--- a/engines/scumm/boxes.cpp
+++ b/engines/scumm/boxes.cpp
@@ -543,13 +543,13 @@ bool ScummEngine::checkXYInBoxBounds(int boxnum, int x, int y) {
// Corner case: If the box is a simple line segment, we consider the
// point to be contained "in" (or rather, lying on) the line if it
// is very close to its projection to the line segment.
- // Update: It can cause bugs like #13366 if used for games where this
- // code isn't actually present in the original interpreter. I have
+ // Update: It can cause bugs like #1194/#13366 if used for games where
+ // this code isn't actually present in the original interpreter. I have
// checked disasm for LOOM FM-TOWNS and DOS EGA, ZAK FM-TOWNS, INDY3
// FM-TOWNS and DOS VGA and also LOOM DOS VGA (v4). MI2 does have the
// these lines, so that's probably the origin of our code. So it seems
// safe to assume that it does not belong in any game before SCUMM5.
- // I have also checked ZAK DOS to verify that the earliy games don't
+ // I have also checked ZAK DOS to verify that the early games don't
// even have/use the whole function checkXYInBoxBounds(), so we're
// doing that correctly.
if (_game.version > 4) {
diff --git a/engines/scumm/script_v5.cpp b/engines/scumm/script_v5.cpp
index 1c6f42a184d..443dc36130c 100644
--- a/engines/scumm/script_v5.cpp
+++ b/engines/scumm/script_v5.cpp
@@ -1422,10 +1422,6 @@ void ScummEngine_v5::o5_getDist() {
if (_game.id == GID_MONKEY2 && vm.slot[_currentScript].number == 40 && r < 60)
r = 60;
- // WORKAROUND bug #1194
- if ((_game.id == GID_MONKEY_EGA || _game.id == GID_PASS) && o1 == 1 && o2 == 307 && vm.slot[_currentScript].number == 205 && r == 2)
- r = 3;
-
setResult(r);
}
More information about the Scummvm-git-logs
mailing list