fix personMove / cutaway problem

svn-id: r10807
This commit is contained in:
Gregory Montoir 2003-10-15 08:46:04 +00:00
parent 8b42d65a7e
commit 8c0496194a
2 changed files with 12 additions and 11 deletions

View File

@ -640,21 +640,21 @@ void Cutaway::handlePersonRecord(
_logic->personSetData( _logic->personSetData(
object.objectNumber - _logic->roomData(object.room), object.objectNumber - _logic->roomData(object.room),
"", true, &p); "", true, &p);
#if 0
debug(0, "Moving person '%s' (%i) = actor '%s' to (%i,%i)", debug(0, "Moving person '%s' (%i) = actor '%s' to (%i,%i)",
_logic->objectName(object.objectNumber), _logic->objectName(object.objectNumber),
object.objectNumber, object.objectNumber,
p.name, object.moveToX, object.moveToY); p.name, object.moveToX, object.moveToY);
#endif
strcpy(name, p.name); strcpy(name, p.name);
if (object.moveToX || object.moveToY) { if (object.bobStartX || object.bobStartY) {
BobSlot *bob = _graphics->bob(p.actor->bobNum); BobSlot *bob = _graphics->bob(p.actor->bobNum);
bob->scale = 100; // XXX SF; bob->scale = 100; // XXX SF;
bob->x = object.moveToX; bob->x = object.bobStartX;
bob->y = object.moveToY; bob->y = object.bobStartY;
} }
#if 0 #if 1
_walk->personMove( _walk->personMove(
&p, &p,
object.moveToX, object.moveToY, object.moveToX, object.moveToY,

View File

@ -26,6 +26,7 @@
namespace Queen { namespace Queen {
const MovePersonData Walk::_moveData[] = { const MovePersonData Walk::_moveData[] = {
{"COMPY", -1, -6, 1, 6, 0, 0, 0, 0,12,12,1,14}, {"COMPY", -1, -6, 1, 6, 0, 0, 0, 0,12,12,1,14},
{"DEINO", -1, -8, 1, 8, 0, 0, 0, 0,11,11,1,10}, {"DEINO", -1, -8, 1, 8, 0, 0, 0, 0,11,11,1,10},
@ -299,8 +300,6 @@ void Walk::animatePerson(const MovePersonData *mpd, uint16 image, uint16 bobNum,
} }
void Walk::joeMove(int direction, uint16 endx, uint16 endy, bool inCutaway) { void Walk::joeMove(int direction, uint16 endx, uint16 endy, bool inCutaway) {
// CAN=0 // CAN=0
@ -341,9 +340,13 @@ void Walk::joeMove(int direction, uint16 endx, uint16 endy, bool inCutaway) {
} }
void Walk::personMove(const Person *pp, uint16 endx, uint16 endy, uint16 curImage, int direction) { void Walk::personMove(const Person *pp, uint16 endx, uint16 endy, uint16 curImage, int direction) {
if (endx == 0 && endy == 0) {
warning("Walk::personMove() - endx == 0 && endy == 0");
return;
}
// TODO: room 69 specific // TODO: room 69 specific
// CAN = 0; // CAN = 0;
@ -571,7 +574,6 @@ bool Walk::calcPath(uint16 oldArea, uint16 newArea) {
} }
} }
} }
// CAN = -1 if no connection is made, else 0
return _areaList[1] != 0; return _areaList[1] != 0;
} }
@ -602,5 +604,4 @@ void Walk::incWalkData(uint16 px, uint16 py, uint16 x, uint16 y, uint16 area) {
} }
} // End of namespace Queen } // End of namespace Queen