[Scummvm-cvs-logs] CVS: scummvm/scumm actor.cpp,1.251,1.252 script_v6.cpp,1.354,1.355 script_v8.cpp,2.256,2.257 scumm.cpp,1.82,1.83

Travis Howell kirben at users.sourceforge.net
Sat Jul 10 16:33:01 CEST 2004


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

Modified Files:
	actor.cpp script_v6.cpp script_v8.cpp scumm.cpp 
Log Message:

Always stop actor walkscript when required.


Index: actor.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/actor.cpp,v
retrieving revision 1.251
retrieving revision 1.252
diff -u -d -r1.251 -r1.252
--- actor.cpp	5 Jul 2004 06:25:01 -0000	1.251
+++ actor.cpp	10 Jul 2004 23:32:31 -0000	1.252
@@ -94,9 +94,7 @@
 	memset(sound, 0, sizeof(sound));
 	targetFacing = facing;
 
-	if (walkScript)
-		_vm->stopScript(walkScript);
-	moving = 0;
+	stopActorMoving();
 
 	shadow_mode = 0;
 	layer = 0;
@@ -138,10 +136,9 @@
 }
 
 void Actor::stopActorMoving() {
-	if (walkScript)
+	if (_vm->_version >= 7)
 		_vm->stopScript(walkScript);
 	moving = 0;
-	startAnimActor(standFrame);
 }
 
 void Actor::setActorWalkSpeed(uint newSpeedX, uint newSpeedY) {
@@ -593,8 +590,8 @@
 	if (visible) {
 		if (isInCurrentRoom()) {
 			if (moving) {
+				stopActorMoving();
 				startAnimActor(standFrame);
-				moving = 0;
 			}
 			adjustActorPos();
 		} else {
@@ -708,12 +705,9 @@
 
 	walkdata.dest.x = -1;
 
-	moving = 0;
+	stopActorMoving();
 	cost.soundCounter = 0;
 
-	if (walkScript)
-		_vm->stopScript(walkScript);
-
 	if (walkbox != kInvalidBox) {
 		byte flags = _vm->getBoxFlags(walkbox);
 		if (flags & 7) {
@@ -755,8 +749,8 @@
 		return;
 
 	if (moving) {
+		stopActorMoving();
 		startAnimActor(standFrame);
-		moving = 0;
 	}
 	visible = false;
 	cost.soundCounter = 0;
@@ -785,7 +779,7 @@
 	if (!moving && _vm->_version <= 2)
 		startAnimActor(standFrame);
 
-	moving = 0;
+	stopActorMoving();
 	visible = true;
 	needRedraw = true;
 }

Index: script_v6.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v6.cpp,v
retrieving revision 1.354
retrieving revision 1.355
diff -u -d -r1.354 -r1.355
--- script_v6.cpp	10 Jul 2004 11:42:22 -0000	1.354
+++ script_v6.cpp	10 Jul 2004 23:32:31 -0000	1.355
@@ -1892,6 +1892,7 @@
 		break;
 	case 229:		// SO_ACTOR_STOP
 		a->stopActorMoving();
+		a->startAnimActor(a->standFrame);
 		break;
 	case 230:										/* set direction */
 		a->moving &= ~MF_TURN;

Index: script_v8.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v8.cpp,v
retrieving revision 2.256
retrieving revision 2.257
diff -u -d -r2.256 -r2.257
--- script_v8.cpp	5 Jul 2004 06:29:38 -0000	2.256
+++ script_v8.cpp	10 Jul 2004 23:32:31 -0000	2.257
@@ -1039,6 +1039,7 @@
 		break;
 	case 0x80:		// SO_ACTOR_STOP
 		a->stopActorMoving();
+		a->startAnimActor(a->standFrame);
 		break;
 	case 0x81:		// SO_ACTOR_FACE Make actor face angle
 		a->moving &= ~MF_TURN;

Index: scumm.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/scumm.cpp,v
retrieving revision 1.82
retrieving revision 1.83
diff -u -d -r1.82 -r1.83
--- scumm.cpp	10 Jul 2004 11:42:31 -0000	1.82
+++ scumm.cpp	10 Jul 2004 23:32:31 -0000	1.83
@@ -2222,7 +2222,7 @@
 		getObjectXYPos(objectNr, x, y, dir);
 		a->putActor(x, y, _currentRoom);
 		a->setDirection(dir + 180);
-		a->moving = 0;
+		a->stopActorMoving();
 	}
 
 	showActors();





More information about the Scummvm-git-logs mailing list