aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTorbjörn Andersson2004-10-26 07:02:32 +0000
committerTorbjörn Andersson2004-10-26 07:02:32 +0000
commitdc796c939998e74b0e97c894b14da6bc6e2f35e3 (patch)
tree0199aa87c3fcacf682499a0dbddf7cbf17993933
parent4a8213347a716eea24735637a1fe4f400c7bf3de (diff)
downloadscummvm-rg350-dc796c939998e74b0e97c894b14da6bc6e2f35e3.tar.gz
scummvm-rg350-dc796c939998e74b0e97c894b14da6bc6e2f35e3.tar.bz2
scummvm-rg350-dc796c939998e74b0e97c894b14da6bc6e2f35e3.zip
Better test for if it's the protagonist who leaves the scene.
svn-id: r15687
-rw-r--r--saga/actor.cpp5
1 files changed, 2 insertions, 3 deletions
diff --git a/saga/actor.cpp b/saga/actor.cpp
index 5001151f47..7a9f6cb883 100644
--- a/saga/actor.cpp
+++ b/saga/actor.cpp
@@ -356,6 +356,7 @@ int Actor::addActor(R_ACTOR * actor) {
}
}
+ actor->flags = ActorTable[i].flags;
actor->a_dcolor = ActorTable[i].color;
actor->orient = ACTOR_DEFAULT_ORIENT;
actor->a_intentlist = ys_dll_create();
@@ -928,9 +929,7 @@ int Actor::handleWalkIntent(R_ACTOR *actor, R_WALKINTENT *a_walkint, int *comple
endpoint.x = (int)new_a_x / R_ACTOR_LMULT;
endpoint.y = (int)new_a_y / R_ACTOR_LMULT;
if ((exitNum = _vm->_scene->_actionMap->hitTest(endpoint)) != -1) {
- // WORKAROUND: Only change room if the actor is Rif
- // himself. We need to fix this properly later.
- if (actor->id == 0)
+ if (actor->flags & kProtagonist)
_vm->_scene->changeScene(_vm->_scene->_actionMap->getExitScene(exitNum));
}
*complete_p = 1;