[Scummvm-cvs-logs] CVS: scummvm/scumm actor.cpp,1.372,1.373

kirben kirben at users.sourceforge.net
Fri Jul 29 22:54:04 CEST 2005


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

Modified Files:
	actor.cpp 
Log Message:

Fix regression (Bug #1235863), limit code change to HE70+ games.


Index: actor.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/actor.cpp,v
retrieving revision 1.372
retrieving revision 1.373
diff -u -d -r1.372 -r1.373
--- actor.cpp	24 Jun 2005 17:08:18 -0000	1.372
+++ actor.cpp	30 Jul 2005 05:51:28 -0000	1.373
@@ -1292,20 +1292,33 @@
 }
 
 int ScummEngine::getActorFromPos(int x, int y) {
-	int i, result;
-	result = 0;
+	int i;
 
 	if (!testGfxAnyUsageBits(x / 8))
 		return 0;
-	for (i = 1; i < _numActors; i++) {
-		if (testGfxUsageBit(x / 8, i) && !getClass(i, kObjectClassUntouchable)
-			&& y >= _actors[i]._top && y <= _actors[i]._bottom && _actors[i]._pos.y > _actors[result]._pos.y) {
-			if (_version > 2 || i != VAR(VAR_EGO)) {
-				result = i;
+
+	if (_heversion >= 70) {
+		int result = 0;
+
+		for (i = 1; i < _numActors; i++) {
+			if (testGfxUsageBit(x / 8, i) && !getClass(i, kObjectClassUntouchable)
+				&& y >= _actors[i]._top && y <= _actors[i]._bottom && _actors[i]._pos.y > _actors[result]._pos.y) {
+				if (_version > 2 || i != VAR(VAR_EGO)) {
+					result = i;
+				}
+			}
+		}
+		return result;
+	} else {
+		for (i = 1; i < _numActors; i++) {
+			if (testGfxUsageBit(x / 8, i) && !getClass(i, kObjectClassUntouchable)
+				&& y >= _actors[i]._top && y <= _actors[i]._bottom) {
+				if (_version > 2 || i != VAR(VAR_EGO))
+					return i;
 			}
 		}
+		return 0;
 	}
-	return result;
 }
 
 #ifndef DISABLE_SCUMM_7_8





More information about the Scummvm-git-logs mailing list