[Scummvm-cvs-logs] SF.net SVN: scummvm: [27370] scummvm/trunk/engines/saga/script.cpp

thebluegr at users.sourceforge.net thebluegr at users.sourceforge.net
Tue Jun 12 03:30:19 CEST 2007


Revision: 27370
          http://scummvm.svn.sourceforge.net/scummvm/?rev=27370&view=rev
Author:   thebluegr
Date:     2007-06-11 18:30:15 -0700 (Mon, 11 Jun 2007)

Log Message:
-----------
Auto-use no-walk hitzones in IHNM, like the original. This fixes the pathfinding problems in Benny's chapter

Modified Paths:
--------------
    scummvm/trunk/engines/saga/script.cpp

Modified: scummvm/trunk/engines/saga/script.cpp
===================================================================
--- scummvm/trunk/engines/saga/script.cpp	2007-06-12 00:52:13 UTC (rev 27369)
+++ scummvm/trunk/engines/saga/script.cpp	2007-06-12 01:30:15 UTC (rev 27370)
@@ -647,7 +647,7 @@
 			}
 		} else { 
 			if (_vm->getGameType() == GType_IHNM) {
-				if ((hitZone->getFlags() & kHitZoneNoWalk) && (_pendingVerb == getVerbType(kVerbWalkTo))) {
+				if ((hitZone->getFlags() & kHitZoneNoWalk) && (_pendingVerb != getVerbType(kVerbWalkTo))) {
 					doVerb();
 					return;
 				}
@@ -703,9 +703,19 @@
 			(_pendingVerb == getVerbType(kVerbClose)) ||
 			(_pendingVerb == getVerbType(kVerbUse))) {
 				_vm->_actor->actorWalkTo(ID_PROTAG, pickLocation);
+
+				// Auto-use no-walk hitzones in IHNM, needed for Benny's chapter
+				if (_pendingVerb == getVerbType(kVerbWalkTo) &&
+					hitZone != NULL && (hitZone->getFlags() & kHitZoneNoWalk)) {
+					_pendingVerb = getVerbType(kVerbUse);
+					if (objectTypeId(_pendingObject[0]) == kGameObjectActor) {
+						_vm->_actor->actorFaceTowardsObject(ID_PROTAG, _pendingObject[0]);
+						doVerb();
+					}
+				}
 		} else {
 			if (_pendingVerb == getVerbType(kVerbLookAt)) {
-				if (objectTypeId(_pendingObject[0]) != kGameObjectActor ) {
+				if (objectTypeId(_pendingObject[0]) != kGameObjectActor) {
 					_vm->_actor->actorWalkTo(ID_PROTAG, pickLocation);
 				} else {
 					_vm->_actor->actorFaceTowardsObject(ID_PROTAG, _pendingObject[0]);


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