diff options
-rw-r--r-- | saga/actor.cpp | 2 | ||||
-rw-r--r-- | saga/sfuncs.cpp | 7 |
2 files changed, 8 insertions, 1 deletions
diff --git a/saga/actor.cpp b/saga/actor.cpp index 85fae3c426..1bd3a3310f 100644 --- a/saga/actor.cpp +++ b/saga/actor.cpp @@ -374,7 +374,7 @@ void Actor::takeExit(uint16 actorId, const HitZone *hitZone) { ActorData *actor; actor = getActor(actorId); actor->lastZone = NULL; - + _vm->_scene->changeScene(hitZone->getSceneNumber(), hitZone->getActorsEntrance(), kTransitionNoFade); _vm->_script->setNoPendingVerb(); } diff --git a/saga/sfuncs.cpp b/saga/sfuncs.cpp index 28d66f9947..cebd7fa910 100644 --- a/saga/sfuncs.cpp +++ b/saga/sfuncs.cpp @@ -509,6 +509,13 @@ void Script::sfScriptGotoScene(SCRIPTFUNC_PARAMS) { return; } + // It is possible to leave scene when converse panel is on, + // particulalrly it may happen at Moneychanger tent. This + // prevent this from happening. + if (_vm->_interface->getMode() == kPanelConverse) { + _vm->_interface->setMode(kPanelMain); + } + // This is used for latter demos where all places on world map except // Tent Faire are substituted with LBM picture and short description // TODO: implement |