aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArnaud Boutonne2011-06-02 00:53:19 +0200
committerArnaud Boutonne2011-06-02 00:53:19 +0200
commitc720f463e444c2835cea4e9fadb256378eaaab36 (patch)
tree1eb95d18c4fb2387440b1c4ea10d2dde1d56415f
parent333be9c072bf8972aa63bc4fb572956261f981cf (diff)
downloadscummvm-rg350-c720f463e444c2835cea4e9fadb256378eaaab36.tar.gz
scummvm-rg350-c720f463e444c2835cea4e9fadb256378eaaab36.tar.bz2
scummvm-rg350-c720f463e444c2835cea4e9fadb256378eaaab36.zip
TSAGE: Add workaround in order to fix crash in scene 5100 when Quinn forgets the Stasis Box
Also present in the original!
-rw-r--r--engines/tsage/ringworld_scenes6.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/engines/tsage/ringworld_scenes6.cpp b/engines/tsage/ringworld_scenes6.cpp
index 6c4b62ccd7..9e5766d656 100644
--- a/engines/tsage/ringworld_scenes6.cpp
+++ b/engines/tsage/ringworld_scenes6.cpp
@@ -614,6 +614,7 @@ void Scene5000::dispatch() {
*--------------------------------------------------------------------------*/
void Scene5100::Action1::signal() {
+ // Quinn enters the cave for the first time
Scene5100 *scene = (Scene5100 *)_globals->_sceneManager._scene;
switch (_actionIndex++) {
@@ -663,6 +664,7 @@ void Scene5100::Action1::signal() {
}
void Scene5100::Action2::signal() {
+ // Quinn and Seeker exit the cave
Scene5100 *scene = (Scene5100 *)_globals->_sceneManager._scene;
switch (_actionIndex++) {
@@ -824,7 +826,7 @@ void Scene5100::Action5::signal() {
break;
case 3:
scene->_sceneMode = 5106;
- scene->setAction(&scene->_sequenceManager, scene, 5106, &_globals->_player, NULL);
+ scene->setAction(&scene->_sequenceManager, scene, 5106, &_globals->_player, &scene->_hotspot14, NULL);
break;
}
}
@@ -1086,7 +1088,7 @@ void Scene5100::postInit(SceneObjectList *OwnerList) {
_globals->_player.animate(ANIM_MODE_1, NULL);
_globals->_player.disableControl();
- if (!_globals->getFlag(66)) {
+ if ((!_globals->getFlag(66)) || (RING_INVENTORY._stasisBox._sceneNumber != 1)) {
_hotspot14.postInit();
_hotspot14.setVisage(5101);
_hotspot14.setPosition(Common::Point(498, 147));