aboutsummaryrefslogtreecommitdiff
path: root/engines/tsage
diff options
context:
space:
mode:
authorPaul Gilbert2013-10-05 17:21:11 -0400
committerPaul Gilbert2013-10-05 17:21:11 -0400
commita1719ac3d0c895ce428fe91ccc90792f3ac2d43a (patch)
tree1c8dcbd952d286a7eefcd51e6971d847c6d6d18f /engines/tsage
parentcb01f16007012c75744780d565f9714f471d0ad6 (diff)
downloadscummvm-rg350-a1719ac3d0c895ce428fe91ccc90792f3ac2d43a.tar.gz
scummvm-rg350-a1719ac3d0c895ce428fe91ccc90792f3ac2d43a.tar.bz2
scummvm-rg350-a1719ac3d0c895ce428fe91ccc90792f3ac2d43a.zip
TSAGE: Graphic fixes for R2R dissolving drive room stasis field
Diffstat (limited to 'engines/tsage')
-rw-r--r--engines/tsage/ringworld2/ringworld2_scenes0.cpp12
-rw-r--r--engines/tsage/ringworld2/ringworld2_scenes0.h2
2 files changed, 10 insertions, 4 deletions
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;