[Scummvm-cvs-logs] CVS: scummvm actor.cpp,1.68,1.69 costume.cpp,1.32,1.33

Max Horn fingolfin at users.sourceforge.net
Mon May 20 07:42:03 CEST 2002


Update of /cvsroot/scummvm/scummvm
In directory usw-pr-cvs1:/tmp/cvs-serv15054

Modified Files:
	actor.cpp costume.cpp 
Log Message:
moved isCostumeInUse() to costume.cpp; make use of isInCurrentRoom(); added missing FIXME comment for a FT hack

Index: actor.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/actor.cpp,v
retrieving revision 1.68
retrieving revision 1.69
diff -u -d -r1.68 -r1.69
--- actor.cpp	20 May 2002 14:28:02 -0000	1.68
+++ actor.cpp	20 May 2002 14:41:47 -0000	1.69
@@ -377,6 +377,7 @@
 	if (scale > 255)
 		warning("Actor %d at %d, scale %d out of range", number, y, scale);
 
+	// FIXME - Quick fix to ft's fuel tower bug (by yazoo)
 	if(scale == 1 && _scumm->_currentRoom == 76)
 		scale = 0xFF;
 
@@ -433,7 +434,7 @@
 			break;
 		}
 
-		if (room == _scumm->_currentRoom && costume) {
+		if (isInCurrentRoom() && costume) {
 			animProgress = 0;
 			cost.animCounter1 = 0;
 			needRedraw = true;
@@ -517,7 +518,7 @@
 	if (!a)
 		return -1;
 
-	if (a->room != _currentRoom)
+	if (!a->isInCurrentRoom())
 		return -1;
 	_xPos = a->x;
 	_yPos = a->y;
@@ -682,7 +683,7 @@
 
 	for (i = 1; i < NUM_ACTORS; i++) {
 		a = derefActor(i);
-		if (a->room == _currentRoom)
+		if (a->isInCurrentRoom())
 			a->showActor();
 	}
 }
@@ -699,7 +700,7 @@
 	act = _vars[VAR_TALK_ACTOR];
 	if (act && act < 0x80) {
 		Actor *a = derefActorSafe(act, "stopTalk");
-		if (_currentRoom == a->room && _useTalkAnims) {
+		if (a->isInCurrentRoom() && _useTalkAnims) {
 			a->startAnimActor(a->talkFrame2);
 			_useTalkAnims = false;
 		}
@@ -722,7 +723,7 @@
 
 	for (i = 1; i < NUM_ACTORS; i++) {
 		a = derefActor(i);
-		if (a->room == _currentRoom)
+		if (a->isInCurrentRoom())
 			if (_features & GF_OLD256)
 				a->walkActorOld();
 			else
@@ -738,7 +739,7 @@
 
 	for (i = 1; i < NUM_ACTORS; i++) {
 		a = derefActor(i);
-		if (a->cost.animCounter2 && a->room == _currentRoom && a->sound) {
+		if (a->cost.animCounter2 && a->isInCurrentRoom() && a->sound) {
 			_currentScript = 0xFF;
 			addSoundToQueue(a->sound[0]);
 			for (i = 1; i < NUM_ACTORS; i++) {
@@ -900,7 +901,7 @@
 
 	for (i = 1; i < NUM_ACTORS; i++) {
 		a = derefActor(i);
-		if (a->room == _currentRoom)
+		if (a->isInCurrentRoom())
 			actors[numactors++] = a;
 	}
 	if (!numactors)
@@ -1115,7 +1116,7 @@
 		oldact = 0;
 	} else {
 		a = derefActorSafe(_actorToPrintStrFor, "actorTalk");
-		if (a->room != _currentRoom && !(_features & GF_AFTER_V7)) {
+		if (!a->isInCurrentRoom() && !(_features & GF_AFTER_V7)) {
 			oldact = 0xFF;
 		} else {
 			if (!_keepText)
@@ -1170,7 +1171,7 @@
 
 	abr = _scumm->adjustXYToBeInBox(this, destX, destY, walkbox);
 
-	if (room != _scumm->_currentRoom) {
+	if (!isInCurrentRoom()) {
 		x = abr.x;
 		x = abr.y;
 		if (dir != -1)
@@ -1215,21 +1216,6 @@
 	return ptr;
 }
 
-bool Scumm::isCostumeInUse(int cost)
-{
-	int i;
-	Actor *a;
-
-	if (_roomResource != 0)
-		for (i = 1; i < NUM_ACTORS; i++) {
-			a = derefActor(i);
-			if (a->room == _currentRoom && a->costume == cost)
-				return true;
-		}
-
-	return false;
-}
-
 void Actor::remapActor(int r_fact, int g_fact, int b_fact,
 											 int threshold)
 {
@@ -1238,7 +1224,7 @@
 	int r, g, b;
 	byte akpl_color;
 
-	if (room != _scumm->_currentRoom) {
+	if (!isInCurrentRoom()) {
 		warning("Remap actor %d not in current room", number);
 		return;
 	}

Index: costume.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/costume.cpp,v
retrieving revision 1.32
retrieving revision 1.33
diff -u -d -r1.32 -r1.33
--- costume.cpp	14 May 2002 23:32:34 -0000	1.32
+++ costume.cpp	20 May 2002 14:41:47 -0000	1.33
@@ -1072,3 +1072,18 @@
 		return (lc->_dataptr[i] & 0x7F) != code;
 	} while (1);
 }
+
+bool Scumm::isCostumeInUse(int cost)
+{
+	int i;
+	Actor *a;
+
+	if (_roomResource != 0)
+		for (i = 1; i < NUM_ACTORS; i++) {
+			a = derefActor(i);
+			if (a->isInCurrentRoom() && a->costume == cost)
+				return true;
+		}
+
+	return false;
+}





More information about the Scummvm-git-logs mailing list