[Scummvm-cvs-logs] CVS: scummvm/sky autoroute.cpp,1.5,1.6

Robert G?ffringmann lavosspawn at users.sourceforge.net
Sun Apr 27 18:06:13 CEST 2003


Update of /cvsroot/scummvm/scummvm/sky
In directory sc8-pr-cvs1:/tmp/cvs-serv31204/sky

Modified Files:
	autoroute.cpp 
Log Message:
fixed bug about checkBlock return value

Index: autoroute.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/sky/autoroute.cpp,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- autoroute.cpp	27 Apr 2003 22:15:35 -0000	1.5
+++ autoroute.cpp	28 Apr 2003 01:05:55 -0000	1.6
@@ -40,15 +40,21 @@
 
 uint16 SkyAutoRoute::checkBlock(uint16 *blockPos) {
 
-	uint16 fieldVal, retVal = 0;
+	uint16 fieldVal, retVal = 0xFFFF;
 	fieldVal = blockPos[1]; // field to the right
 	if ((!(fieldVal & 0x8000)) && (fieldVal != 0)) retVal = fieldVal;
 	fieldVal = (blockPos - 1)[0]; // field to the left
-	if ((!(fieldVal & 0x8000)) && (fieldVal != 0) && (fieldVal > retVal)) retVal = fieldVal;
+	if ((!(fieldVal & 0x8000)) && (fieldVal != 0)) {
+		if ((fieldVal > retVal) || (retVal == 0xFFFF)) retVal = fieldVal;
+	}
 	fieldVal = (blockPos + ROUTE_GRID_WIDTH)[0]; // upper field
-	if ((!(fieldVal & 0x8000)) && (fieldVal != 0) && (fieldVal > retVal)) retVal = fieldVal;
+	if ((!(fieldVal & 0x8000)) && (fieldVal != 0)) {
+		if ((fieldVal > retVal) || (retVal == 0xFFFF)) retVal = fieldVal;
+	}
 	fieldVal = (blockPos - ROUTE_GRID_WIDTH)[0]; // upper field
-	if ((!(fieldVal & 0x8000)) && (fieldVal != 0) && (fieldVal > retVal)) retVal = fieldVal;
+	if ((!(fieldVal & 0x8000)) && (fieldVal != 0)) {
+		if ((fieldVal > retVal) || (retVal == 0xFFFF)) retVal = fieldVal;
+	}
 	return retVal;
 }
 
@@ -231,9 +237,9 @@
 				if (!routeSrcCalc[0]) {
 					// block wasn't yet done
 					blockRet = checkBlock(routeSrcCalc);
-					if (blockRet > 0) {
+					if (blockRet != 0xFFFF) {
 						// this block is accessible
-						routeSrcCalc[0] = blockRet;
+						routeSrcCalc[0] = blockRet+1;
 						gridChanged = true;
 					}
 				}





More information about the Scummvm-git-logs mailing list