[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