From a1719ac3d0c895ce428fe91ccc90792f3ac2d43a Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sat, 5 Oct 2013 17:21:11 -0400 Subject: TSAGE: Graphic fixes for R2R dissolving drive room stasis field --- engines/tsage/ringworld2/ringworld2_scenes0.cpp | 12 +++++++++--- engines/tsage/ringworld2/ringworld2_scenes0.h | 2 +- 2 files changed, 10 insertions(+), 4 deletions(-) (limited to 'engines/tsage') diff --git a/engines/tsage/ringworld2/ringworld2_scenes0.cpp b/engines/tsage/ringworld2/ringworld2_scenes0.cpp index 643f60dafc..c6d590e716 100644 --- a/engines/tsage/ringworld2/ringworld2_scenes0.cpp +++ b/engines/tsage/ringworld2/ringworld2_scenes0.cpp @@ -5586,13 +5586,19 @@ bool Scene600::EngineCompartment::startAction(CursorType action, Event &event) { R2_GLOBALS._player.disableControl(); Scene600 *scene = (Scene600 *)R2_GLOBALS._sceneManager._scene; - - scene->_stasisArea.setup2(603, 3, 1, 239, 54, 10, 0); + + scene->_stasisArea.setup(603, 3, 1, 239, 54, 10); scene->_stasisField.postInit(); scene->_computer.postInit(); scene->_sceneMode = 612; scene->setAction(&scene->_sequenceManager1, scene, 612, &scene->_stasisField, &scene->_computer, &R2_GLOBALS._player, NULL); + + // WORKAROUND: For ScummVM, we use a SceneActor rather than BackgroundSceneObject + // for the stasis field since it doesn't work properly. We override the priority for + // the stasis field here so that the stasis field dissolve will show up + scene->_stasisField.fixPriority(12); + return true; } @@ -5857,7 +5863,7 @@ void Scene600::postInit(SceneObjectList *OwnerList) { } if (! R2_GLOBALS.getFlag(9)) - _stasisArea.setup2(603, 1, 1, 244, 50, 10, 0); + _stasisArea.setup(603, 1, 1, 244, 50, 10); if (R2_GLOBALS.getFlag(5)) { if (R2_INVENTORY.getObjectScene(R2_AEROSOL) == 600) { diff --git a/engines/tsage/ringworld2/ringworld2_scenes0.h b/engines/tsage/ringworld2/ringworld2_scenes0.h index 305060e45d..d4a1189a54 100644 --- a/engines/tsage/ringworld2/ringworld2_scenes0.h +++ b/engines/tsage/ringworld2/ringworld2_scenes0.h @@ -670,7 +670,7 @@ public: CompartmentHotspot _powerNode; EngineCompartment _engineCompartment; CompartmentHotspot _background; - BackgroundSceneObject _stasisArea; + SceneActor _stasisArea; SceneActor _laserBeam; SceneActor _computer; SceneActor _stasisField; -- cgit v1.2.3