[Scummvm-cvs-logs] SF.net SVN: scummvm:[46149] scummvm/trunk/engines/scumm/actor.cpp

Kirben at users.sourceforge.net Kirben at users.sourceforge.net
Thu Nov 26 01:59:57 CET 2009


Revision: 46149
          http://scummvm.svn.sourceforge.net/scummvm/?rev=46149&view=rev
Author:   Kirben
Date:     2009-11-26 00:59:57 +0000 (Thu, 26 Nov 2009)

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

Modified Paths:
--------------
    scummvm/trunk/engines/scumm/actor.cpp

Modified: scummvm/trunk/engines/scumm/actor.cpp
===================================================================
--- scummvm/trunk/engines/scumm/actor.cpp	2009-11-26 00:55:18 UTC (rev 46148)
+++ scummvm/trunk/engines/scumm/actor.cpp	2009-11-26 00:59:57 UTC (rev 46149)
@@ -572,8 +572,17 @@
 
 				_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);
 		}


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list