aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Castricum2018-09-23 15:58:45 +0200
committerDavid Turner2018-10-02 19:32:32 +0100
commit9b56d7c6bcd89d99f9046315a6a23f0821693974 (patch)
tree654808aaebf65b94d64adf4104e1fd73ff1f192a
parent0e91fe623b6c2c4152a8e75a9495ee95987bf73c (diff)
downloadscummvm-rg350-9b56d7c6bcd89d99f9046315a6a23f0821693974.tar.gz
scummvm-rg350-9b56d7c6bcd89d99f9046315a6a23f0821693974.tar.bz2
scummvm-rg350-9b56d7c6bcd89d99f9046315a6a23f0821693974.zip
SCUMM: MONKEY2: Skip extra code on FMTOWNS, fixes bug #2223
-rw-r--r--engines/scumm/script_v5.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/engines/scumm/script_v5.cpp b/engines/scumm/script_v5.cpp
index cc92631b54..a2dd83ab28 100644
--- a/engines/scumm/script_v5.cpp
+++ b/engines/scumm/script_v5.cpp
@@ -420,6 +420,16 @@ void ScummEngine_v5::o5_actorFromPos() {
void ScummEngine_v5::o5_actorOps() {
static const byte convertTable[20] =
{ 1, 0, 0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 20 };
+ // Fix for bug #2233 "MI2 FM-TOWNS: Elaine's mappiece directly flies to treehouse"
+ // There's extra code inserted in script 45 from room 45 that caused that behaviour,
+ // the code below just skips the extra script code.
+ if (_game.id == GID_MONKEY2 && _game.platform == Common::kPlatformFMTowns &&
+ vm.slot[_currentScript].number == 45 && _currentRoom == 45 &&
+ (_scriptPointer - _scriptOrgPointer == 0xA9)) {
+ _scriptPointer += 0xCF - 0xA1;
+ writeVar(32811, 0); // clear bit 43
+ return;
+ }
int act = getVarOrDirectByte(PARAM_1);
Actor *a = derefActor(act, "o5_actorOps");
int i, j;