[Scummvm-cvs-logs] SF.net SVN: scummvm: [26276] scummvm/trunk/engines/parallaction/walk.cpp

peres001 at users.sourceforge.net peres001 at users.sourceforge.net
Thu Mar 22 20:49:16 CET 2007


Revision: 26276
          http://scummvm.svn.sourceforge.net/scummvm/?rev=26276&view=rev
Author:   peres001
Date:     2007-03-22 12:49:15 -0700 (Thu, 22 Mar 2007)

Log Message:
-----------
unrolled loop in buildWalkPath and renamed some variables

Modified Paths:
--------------
    scummvm/trunk/engines/parallaction/walk.cpp

Modified: scummvm/trunk/engines/parallaction/walk.cpp
===================================================================
--- scummvm/trunk/engines/parallaction/walk.cpp	2007-03-22 18:49:42 UTC (rev 26275)
+++ scummvm/trunk/engines/parallaction/walk.cpp	2007-03-22 19:49:15 UTC (rev 26276)
@@ -178,35 +178,27 @@
 
 	// path is obstructed: find alternative
 
-	WalkNode	v58;
-	addNode(&v58, v48);
+	WalkNode	dummy;
+	addNode(&dummy, v48);
 
 	Common::Point stop(v48->_x, v48->_y);
 	Common::Point pos(_vm->_char._ani._left, _vm->_char._ani._top);
 
-	bool emptyList = true;
+	v48 = &dummy;
+	uint32 v34 = buildSubPath(pos, stop, v48);
+	if (v38 != 0 && v34 > v38) {
+		// no alternative path (gap?)
+		freeNodeList(dummy._next);
+		return v44;
+	}
 
-	do {
+	((WalkNode*)(dummy._next))->getPoint(stop);
 
-		v48 = &v58;
+	v48 = &dummy;
+	buildSubPath(pos, stop, v48);
 
-		uint32 v34 = buildSubPath(pos, stop, v48);
-
-		if (!emptyList) break;
-
-		if (v38 != 0 && v34 > v38) {
-			// no alternative path (gap?)
-			freeNodeList(v58._next);
-			return v44;
-		}
-
-		((WalkNode*)(v58._next))->getPoint(stop);
-		emptyList = false;
-
-	} while (true);
-
 	delete v44;
-	return (WalkNode*)v58._next;
+	return (WalkNode*)dummy._next;
 }
 
 


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