aboutsummaryrefslogtreecommitdiff
path: root/engines/tsage/blue_force/blueforce_scenes8.cpp
diff options
context:
space:
mode:
authorPaul Gilbert2011-10-09 09:38:52 +1100
committerPaul Gilbert2011-10-09 09:38:52 +1100
commitf067d7541ac4d4d618c7823f67cdda99a654f677 (patch)
tree6125a973c1284cd2274954b22239b83c36d22042 /engines/tsage/blue_force/blueforce_scenes8.cpp
parentf525ff7d01e181cf1fbc0cad6c5d71265b574520 (diff)
downloadscummvm-rg350-f067d7541ac4d4d618c7823f67cdda99a654f677.tar.gz
scummvm-rg350-f067d7541ac4d4d618c7823f67cdda99a654f677.tar.bz2
scummvm-rg350-f067d7541ac4d4d618c7823f67cdda99a654f677.zip
TSAGE: Implemented Blue Force scene 850 - Boat Leaving/Entering Marina
Diffstat (limited to 'engines/tsage/blue_force/blueforce_scenes8.cpp')
-rw-r--r--engines/tsage/blue_force/blueforce_scenes8.cpp51
1 files changed, 51 insertions, 0 deletions
diff --git a/engines/tsage/blue_force/blueforce_scenes8.cpp b/engines/tsage/blue_force/blueforce_scenes8.cpp
index ff1837b2d1..c97b8689e7 100644
--- a/engines/tsage/blue_force/blueforce_scenes8.cpp
+++ b/engines/tsage/blue_force/blueforce_scenes8.cpp
@@ -2505,6 +2505,57 @@ void Scene840::dispatch() {
}
}
+/*--------------------------------------------------------------------------
+ * Scene 850 - Boat Leaving/Entering Marina
+ *
+ *--------------------------------------------------------------------------*/
+
+void Scene850::Timer1::signal() {
+ PaletteRotation *rot = BF_GLOBALS._scenePalette.addRotation(240, 254, 1);
+ rot->setDelay(25);
+
+ remove();
+}
+
+/*--------------------------------------------------------------------------*/
+
+void Scene850::postInit(SceneObjectList *OwnerList) {
+ SceneExt::postInit();
+ loadScene(850);
+ BF_GLOBALS._sound1.fadeSound(35);
+
+ BF_GLOBALS._player.disableControl();
+ _timer.set(2, NULL);
+
+ _object1.postInit();
+ if (BF_GLOBALS._sceneManager._previousScene == 830) {
+ _sceneMode = 8500;
+ setAction(&_sequenceManager, this, 8500, &_object1, NULL);
+ } else {
+ BF_GLOBALS._sound1.changeSound(10);
+ _sceneMode = 8501;
+ setAction(&_sequenceManager, this, 8501, &_object1, NULL);
+ }
+}
+
+void Scene850::remove() {
+ BF_GLOBALS._scenePalette.clearListeners();
+ SceneExt::remove();
+}
+
+void Scene850::signal() {
+ switch (_sceneMode) {
+ case 8500:
+ BF_GLOBALS._sceneManager.changeScene(860);
+ break;
+ case 8501:
+ BF_GLOBALS._sceneManager.changeScene(830);
+ break;
+ default:
+ break;
+ }
+}
+
} // End of namespace BlueForce
} // End of namespace TsAGE