Add patch - MM C64: meteor landing as work around, with the explaination.

svn-id: r46149
This commit is contained in:
Travis Howell 2009-11-26 00:59:57 +00:00
parent 74abd8de64
commit 1c4408f593

View File

@ -572,8 +572,17 @@ void Actor_v2::walkActor() {
_walkdata.curbox = next_box;
getClosestPtOnBox(_vm->getBoxCoordinates(_walkdata.curbox), _pos.x, _pos.y, tmp.x, tmp.y);
getClosestPtOnBox(_vm->getBoxCoordinates(_walkbox), tmp.x, tmp.y, foundPath.x, foundPath.y);
// WORKAROUND: The route of the meteor landing in the introduction isn't correct.
// MM V0 in contrast to MM V2 uses two walkboxes instead of just one. Hence a route
// from walkbox 1 to 0 is calculated first. This causes the meteor to fly on a
// horizontal line to walkbox 0 then vertically to the ground.
// To fix this problem, the box-to-box routing has been disabled in room 33.
if (_vm->_game.version == 0 && _vm->_currentRoom == 33) {
foundPath = _walkdata.dest;
} else {
getClosestPtOnBox(_vm->getBoxCoordinates(_walkdata.curbox), _pos.x, _pos.y, tmp.x, tmp.y);
getClosestPtOnBox(_vm->getBoxCoordinates(_walkbox), tmp.x, tmp.y, foundPath.x, foundPath.y);
}
}
calcMovementFactor(foundPath);
}