[Scummvm-cvs-logs] CVS: scummvm/scumm script_v72he.cpp,2.239,2.240 script_v90he.cpp,2.216,2.217 sprite_he.cpp,1.120,1.121

kirben kirben at users.sourceforge.net
Fri Apr 8 00:49:38 CEST 2005


Update of /cvsroot/scummvm/scummvm/scumm
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19227/scumm

Modified Files:
	script_v72he.cpp script_v90he.cpp sprite_he.cpp 
Log Message:

A few off by 1's.


Index: script_v72he.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v72he.cpp,v
retrieving revision 2.239
retrieving revision 2.240
diff -u -d -r2.239 -r2.240
--- script_v72he.cpp	8 Apr 2005 05:19:10 -0000	2.239
+++ script_v72he.cpp	8 Apr 2005 07:49:05 -0000	2.240
@@ -1809,17 +1809,17 @@
 
 void ScummEngine_v72he::o72_findAllObjects() {
 	int room = pop();
-	int i = 1;
+	int i;
 
 	if (room != _currentRoom)
-		warning("o72_findAllObjects: current room is not %d", room);
+		error("o72_findAllObjects: current room is not %d", room);
+
 	writeVar(0, 0);
-	defineArray(0, kDwordArray, 0, 0, 0, _numLocalObjects + 1);
+	defineArray(0, kDwordArray, 0, 0, 0, _numLocalObjects);
 	writeArray(0, 0, 0, _numLocalObjects);
 	
-	while (i < _numLocalObjects) {
+	for (int i = 1; i < _numLocalObjects; i++) {
 		writeArray(0, 0, i, _objs[i].obj_nr);
-		i++;
 	}
 	
 	push(readVar(0));

Index: script_v90he.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v90he.cpp,v
retrieving revision 2.216
retrieving revision 2.217
diff -u -d -r2.216 -r2.217
--- script_v90he.cpp	7 Apr 2005 12:33:20 -0000	2.216
+++ script_v90he.cpp	8 Apr 2005 07:49:06 -0000	2.217
@@ -1698,13 +1698,13 @@
 
 	num = getStackList(args, ARRAYSIZE(args));
 	int room = pop();
-	int j = 1;
+	int numObjs = 0;
 
 	if (room != _currentRoom)
-		warning("o90_findAllObjectsWithClassOf: current room is not %d", room);
+		error("o90_findAllObjectsWithClassOf: current room is not %d", room);
 
 	writeVar(0, 0);
-	defineArray(0, kDwordArray, 0, 0, 0, _numLocalObjects + 1);
+	defineArray(0, kDwordArray, 0, 0, 0, _numLocalObjects);
 	for (int i = 1; i < _numLocalObjects; i++) {
 		cond = 1;
 		tmp = num;
@@ -1715,11 +1715,13 @@
 				cond = 0;
 		}
 
-		if (cond)
-			writeArray(0, 0, j++, _objs[i].obj_nr);
+		if (cond) {
+			numObjs++;
+			writeArray(0, 0, numObjs, _objs[i].obj_nr);
+		}
 	}
 
-	writeArray(0, 0, 0, j);
+	writeArray(0, 0, 0, numObjs);
 	
 	push(readVar(0));
 }

Index: sprite_he.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/sprite_he.cpp,v
retrieving revision 1.120
retrieving revision 1.121
diff -u -d -r1.120 -r1.121
--- sprite_he.cpp	5 Apr 2005 12:52:43 -0000	1.120
+++ sprite_he.cpp	8 Apr 2005 07:49:06 -0000	1.121
@@ -408,25 +408,26 @@
 // spriteGroupGet functions
 //
 int ScummEngine_v90he::spriteGroupGet_allocateGroupSpritesList(int spriteGroupId) {
-	int i, j = 0, sprites = 0;
+	int i, numSprites = 0;
 
 	checkRange(_varNumSpriteGroups, 1, spriteGroupId, "Invalid sprite group %d");
 
-	for (i = 1; i < _varNumSprites; i++) {
+	for (i = (_varNumSprites - 1); i > 0; i--) {
 		if (_spriteTable[i].groupNum == spriteGroupId)
-			sprites++;
+			numSprites++;
 	}
 
-	if (!sprites)
+	if (!numSprites)
 		return 0;
 
 	writeVar(0, 0);
-	defineArray(0, kDwordArray, 0, 0, 0, sprites);
-	writeArray(0, 0, 0, sprites);
+	defineArray(0, kDwordArray, 0, 0, 0, numSprites);
+	writeArray(0, 0, 0, numSprites);
 	
+	numSprites = 1;
 	for (i = (_varNumSprites - 1); i > 0; i--) {
 		if (_spriteTable[i].groupNum == spriteGroupId)
-			writeArray(0, 0, ++j, i);
+			writeArray(0, 0, numSprites, i);
 	}
 	
 	return readVar(0);





More information about the Scummvm-git-logs mailing list