aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/tsage/ringworld_logic.cpp1
-rw-r--r--engines/tsage/ringworld_scenes10.cpp35
-rw-r--r--engines/tsage/ringworld_scenes10.h11
3 files changed, 47 insertions, 0 deletions
diff --git a/engines/tsage/ringworld_logic.cpp b/engines/tsage/ringworld_logic.cpp
index d1628f5c6f..3dcde522fe 100644
--- a/engines/tsage/ringworld_logic.cpp
+++ b/engines/tsage/ringworld_logic.cpp
@@ -126,6 +126,7 @@ Scene *SceneFactory::createScene(int sceneNumber) {
case 7700: return new Scene7700();
/* Scene group 10 */
+ case 9750: return new Scene9750();
case 9999: return new Scene9999();
default:
diff --git a/engines/tsage/ringworld_scenes10.cpp b/engines/tsage/ringworld_scenes10.cpp
index 749e0e14c0..e68060f9b7 100644
--- a/engines/tsage/ringworld_scenes10.cpp
+++ b/engines/tsage/ringworld_scenes10.cpp
@@ -32,6 +32,41 @@
namespace tSage {
/*--------------------------------------------------------------------------
+ * Scene 9750
+ *
+ *--------------------------------------------------------------------------*/
+void Scene9750::signal() {
+ switch (_sceneMode ++) {
+ case 9751:
+ _globals->_soundHandler.proc1(this);
+ break;
+ case 9752:
+ _globals->_sceneManager.changeScene(2100);
+ default:
+ break;
+ }
+}
+
+void Scene9750::dispatch() {
+ Scene::dispatch();
+}
+
+void Scene9750::postInit(SceneObjectList *OwnerList) {
+ loadScene(9750);
+ Scene::postInit();
+ setZoomPercents(0, 100, 200, 100);
+
+ _globals->_player.postInit();
+ _object1.postInit();
+ _object1.flag100();
+ _object2.postInit();
+ _object2.flag100();
+ _globals->_player.disableControl();
+ _sceneMode = 9751;
+ setAction(&_sequenceManager, this, 9751, &_globals->_player, &_object1, &_object2, 0);
+}
+
+/*--------------------------------------------------------------------------
* Scene 9999
*
*--------------------------------------------------------------------------*/
diff --git a/engines/tsage/ringworld_scenes10.h b/engines/tsage/ringworld_scenes10.h
index 29738c5888..c51edbe869 100644
--- a/engines/tsage/ringworld_scenes10.h
+++ b/engines/tsage/ringworld_scenes10.h
@@ -35,6 +35,17 @@
namespace tSage {
+class Scene9750: public Scene {
+public:
+ SequenceManager _sequenceManager;
+ SceneObject _object1;
+ SceneObject _object2;
+
+ virtual void postInit(SceneObjectList *OwnerList = NULL);
+ virtual void signal();
+ virtual void dispatch();
+};
+
class Scene9999: public Scene {
/* Actions */
class Action1: public Action {