[Scummvm-cvs-logs] CVS: scummvm/scumm boxes.cpp,1.38,1.39

Max Horn fingolfin at users.sourceforge.net
Wed Jun 11 14:35:05 CEST 2003


Update of /cvsroot/scummvm/scummvm/scumm
In directory sc8-pr-cvs1:/tmp/cvs-serv29974

Modified Files:
	boxes.cpp 
Log Message:
fixed createBoxMatrix for small header games (bug #752844)

Index: boxes.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/boxes.cpp,v
retrieving revision 1.38
retrieving revision 1.39
diff -u -d -r1.38 -r1.39
--- boxes.cpp	8 Jun 2003 17:59:09 -0000	1.38
+++ boxes.cpp	11 Jun 2003 21:34:34 -0000	1.39
@@ -765,7 +765,7 @@
 		printf("%2d: ", i);
 		for (j = 0; j < num; j++) {
 			int val = matrix[i * 64 + j];
-			if (val == 250)
+			if (val == Actor::kInvalidBox)
 				printf(" ? ");
 			else
 				printf("%2d ", val);
@@ -800,7 +800,7 @@
 				itineraryMatrix[i * 64 + j] = j;
 			} else {
 				adjacentMatrix[i * 64 + j] = 255;
-				itineraryMatrix[i * 64 + j] = 0;
+				itineraryMatrix[i * 64 + j] = Actor::kInvalidBox;
 			}
 		}
 	}
@@ -811,9 +811,9 @@
 	// a) extremly obfuscated
 	// b) incorrect: it didn't always find the shortest paths
 	// c) not any faster in reality for our sparse & small adjacent matrices
-	for (k = 1; k < num; k++) {
-		for (i = 1; i < num; i++) {
-			for (j = 1; j < num; j++) {
+	for (k = 0; k < num; k++) {
+		for (i = 0; i < num; i++) {
+			for (j = 0; j < num; j++) {
 				if (i == j)
 					continue;
 				byte distIK = adjacentMatrix[64 * i + k];
@@ -844,15 +844,11 @@
 
 	#define addToMatrix(b)	do { *matrixStart++ = (b); assert(matrixStart < matrixEnd); } while (0)
 
-	addToMatrix(0xFF);
-	addToMatrix(0);
-	addToMatrix(0);
-	addToMatrix(0);
-	for (i = 1; i < num; i++) {
+	for (i = 0; i < num; i++) {
 		addToMatrix(0xFF);
-		for (j = 1; j < num; j++) {
+		for (j = 0; j < num; j++) {
 			byte itinerary = itineraryMatrix[64 * i + j];
-			if (itinerary != 0) {
+			if (itinerary != Actor::kInvalidBox) {
 				addToMatrix(j);
 				while (j < num && itinerary == itineraryMatrix[64 * i + (j + 1)])
 					j++;





More information about the Scummvm-git-logs mailing list