[Scummvm-cvs-logs] SF.net SVN: scummvm: [23718] scummvm/trunk/engines/gob

drmccoy at users.sourceforge.net drmccoy at users.sourceforge.net
Wed Aug 16 22:52:50 CEST 2006


Revision: 23718
Author:   drmccoy
Date:     2006-08-16 13:52:43 -0700 (Wed, 16 Aug 2006)
ViewCVS:  http://svn.sourceforge.net/scummvm/?rev=23718&view=rev

Log Message:
-----------
Fixed pathfinding

Modified Paths:
--------------
    scummvm/trunk/engines/gob/game_v2.cpp
    scummvm/trunk/engines/gob/goblin_v2.cpp
Modified: scummvm/trunk/engines/gob/game_v2.cpp
===================================================================
--- scummvm/trunk/engines/gob/game_v2.cpp	2006-08-16 20:07:33 UTC (rev 23717)
+++ scummvm/trunk/engines/gob/game_v2.cpp	2006-08-16 20:52:43 UTC (rev 23718)
@@ -260,9 +260,10 @@
 			strcpy(_curTotFile, _totToLoad);
 		}
 	} else {
+		_vm->_inter->initControlVars(0);
 		_vm->_scenery->_pCaptureCounter = oldCaptureCounter;
 		_vm->_global->_inter_execPtr = (char *)_totFileData;
-		_vm->_global->_inter_execPtr += READ_LE_UINT16(_totFileData + (skipPlay << 1) + 0x66);
+		_vm->_global->_inter_execPtr += (int16) READ_LE_UINT16(_totFileData + (skipPlay << 1) + 0x66);
 		_vm->_inter->callSub(2);
 		if (_vm->_inter->_terminate != 0)
 			_vm->_inter->_terminate = 2;

Modified: scummvm/trunk/engines/gob/goblin_v2.cpp
===================================================================
--- scummvm/trunk/engines/gob/goblin_v2.cpp	2006-08-16 20:07:33 UTC (rev 23717)
+++ scummvm/trunk/engines/gob/goblin_v2.cpp	2006-08-16 20:52:43 UTC (rev 23718)
@@ -140,6 +140,7 @@
 	animData = obj->pAnimData;
 	framesCount =
 		_vm->_scenery->_animations[(int)animData->animation].layers[animData->layer].framesCount;
+	animData->newCycle = framesCount;
 	gobX = obj->goblinX;
 	gobY = obj->goblinY;
 	animData->order = gobY;
@@ -224,7 +225,7 @@
 		break;
 
 	case Map::kDirN:
-		animData->nextState = animData->curLookDir == 2 ? 2 : rotateState(2, animData->curLookDir);
+		animData->nextState = animData->curLookDir == 2 ? 2 : rotateState(animData->curLookDir, 2);
 		if (_vm->_map->_screenWidth == 640) {
 			if (_vm->_map->getPass(obj->goblinX, obj->goblinY) == 10) {
 				if (_vm->_map->getPass(obj->goblinX - 1, obj->goblinY - 2) != 10) {
@@ -252,11 +253,11 @@
 		break;
 
 	case Map::kDirW:
-		animData->nextState = rotateState(0, animData->curLookDir);
+		animData->nextState = rotateState(animData->curLookDir, 0);
 		break;
 
 	case Map::kDirE:
-		animData->nextState = rotateState(4, animData->curLookDir);
+		animData->nextState = rotateState(animData->curLookDir, 4);
 		break;
 
 	case Map::kDirSW:
@@ -270,7 +271,7 @@
 		break;
 
 	case Map::kDirS:
-		animData->nextState = animData->curLookDir == 6 ? 6 : rotateState(6, animData->curLookDir);
+		animData->nextState = animData->curLookDir == 6 ? 6 : rotateState(animData->curLookDir, 6);
 		if (_vm->_map->_screenWidth == 640) {
 			if (_vm->_map->getPass(obj->goblinX, obj->goblinY) == 20)
 				animData->nextState = 39;


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