[Scummvm-cvs-logs] scummvm master -> cf77cc922d8efdb95c9f0f8e20bc3773d0788206

Strangerke Strangerke at scummvm.org
Wed Dec 14 22:13:04 CET 2011


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
cf77cc922d TSAGE: R2R - Implement scene 2600


Commit: cf77cc922d8efdb95c9f0f8e20bc3773d0788206
    https://github.com/scummvm/scummvm/commit/cf77cc922d8efdb95c9f0f8e20bc3773d0788206
Author: Strangerke (strangerke at scummvm.org)
Date: 2011-12-14T13:11:01-08:00

Commit Message:
TSAGE: R2R - Implement scene 2600

Changed paths:
    engines/tsage/ringworld2/ringworld2_logic.cpp
    engines/tsage/ringworld2/ringworld2_scenes2.cpp
    engines/tsage/ringworld2/ringworld2_scenes2.h



diff --git a/engines/tsage/ringworld2/ringworld2_logic.cpp b/engines/tsage/ringworld2/ringworld2_logic.cpp
index ef1cb76..b93e9c2 100644
--- a/engines/tsage/ringworld2/ringworld2_logic.cpp
+++ b/engines/tsage/ringworld2/ringworld2_logic.cpp
@@ -147,6 +147,8 @@ Scene *Ringworld2Game::createScene(int sceneNumber) {
 		// Maze: Tannery
 		return new Scene2535();
 	case 2600:
+		// Maze: Exit
+		return new Scene2600();
 	case 2700:
 	case 2750:
 	case 2800:
diff --git a/engines/tsage/ringworld2/ringworld2_scenes2.cpp b/engines/tsage/ringworld2/ringworld2_scenes2.cpp
index d820784..b2e7b46 100644
--- a/engines/tsage/ringworld2/ringworld2_scenes2.cpp
+++ b/engines/tsage/ringworld2/ringworld2_scenes2.cpp
@@ -2983,5 +2983,46 @@ void Scene2535::signal() {
 	}
 }
 
+/*--------------------------------------------------------------------------
+ * Scene 2600 - Maze: Exit
+ *
+ *--------------------------------------------------------------------------*/
+Scene2600::Scene2600(): SceneExt() {
+	_rotation = NULL;
+}
+
+void Scene2600::synchronize(Serializer &s) {
+	SceneExt::synchronize(s);
+
+	SYNC_POINTER(_rotation);
+}
+
+void Scene2600::postInit(SceneObjectList *OwnerList) {
+	loadScene(2600);
+	R2_GLOBALS._v58CE2 = 0;
+	SceneExt::postInit();
+	R2_GLOBALS._sound1.fadeSound(214);
+	R2_GLOBALS._sound2.play(215);
+	_rotation = R2_GLOBALS._scenePalette.addRotation(176, 191, 1);
+	_rotation->setDelay(3);
+	_rotation->_countdown = 1;
+	R2_GLOBALS._player.postInit();
+	R2_GLOBALS._player.disableControl();
+	_sceneMode = 2600;
+	R2_GLOBALS._player.setAction(&_sequenceManager, this, 2600, &R2_GLOBALS._player, NULL);
+}
+
+void Scene2600::remove() {
+	R2_GLOBALS._sound1.fadeOut2(NULL);
+	R2_GLOBALS._sound2.fadeOut2(NULL);
+//	_rotation->remove();
+	SceneExt::remove();
+}
+
+void Scene2600::signal() {
+	if (_sceneMode == 2600)
+		g_globals->_sceneManager.changeScene(3800);
+}
+
 } // End of namespace Ringworld2
 } // End of namespace TsAGE
diff --git a/engines/tsage/ringworld2/ringworld2_scenes2.h b/engines/tsage/ringworld2/ringworld2_scenes2.h
index e655d1e..8684078 100644
--- a/engines/tsage/ringworld2/ringworld2_scenes2.h
+++ b/engines/tsage/ringworld2/ringworld2_scenes2.h
@@ -478,6 +478,18 @@ public:
 	virtual void signal();
 };
 
+class Scene2600 : public SceneExt {
+public:
+	SequenceManager _sequenceManager;
+	PaletteRotation *_rotation;
+
+	Scene2600();
+	virtual void synchronize(Serializer &s);
+	virtual void postInit(SceneObjectList *OwnerList = NULL);
+	virtual void remove();
+	virtual void signal();
+};
+
 } // End of namespace Ringworld2
 } // End of namespace TsAGE
 






More information about the Scummvm-git-logs mailing list