From c720f463e444c2835cea4e9fadb256378eaaab36 Mon Sep 17 00:00:00 2001 From: Arnaud Boutonne Date: Thu, 2 Jun 2011 00:53:19 +0200 Subject: TSAGE: Add workaround in order to fix crash in scene 5100 when Quinn forgets the Stasis Box Also present in the original! --- engines/tsage/ringworld_scenes6.cpp | 6 ++++-- 1 file 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)); -- cgit v1.2.3