diff options
author | Strangerke | 2012-01-30 17:23:43 +0100 |
---|---|---|
committer | Strangerke | 2012-01-30 17:23:43 +0100 |
commit | d34cf096081dd3f5b12d129e9d50172cf76e6179 (patch) | |
tree | 589418f895285ed4fed826437d2349ea9cc87923 | |
parent | c1352a1ae582a092263f37604557906ae2346bc4 (diff) | |
download | scummvm-rg350-d34cf096081dd3f5b12d129e9d50172cf76e6179.tar.gz scummvm-rg350-d34cf096081dd3f5b12d129e9d50172cf76e6179.tar.bz2 scummvm-rg350-d34cf096081dd3f5b12d129e9d50172cf76e6179.zip |
TSAGE: R2R - Implement scene 525
-rw-r--r-- | engines/tsage/ringworld2/ringworld2_logic.cpp | 2 | ||||
-rw-r--r-- | engines/tsage/ringworld2/ringworld2_scenes0.cpp | 26 | ||||
-rw-r--r-- | engines/tsage/ringworld2/ringworld2_scenes0.h | 10 |
3 files changed, 38 insertions, 0 deletions
diff --git a/engines/tsage/ringworld2/ringworld2_logic.cpp b/engines/tsage/ringworld2/ringworld2_logic.cpp index 7fca363350..f5bbd2eee5 100644 --- a/engines/tsage/ringworld2/ringworld2_logic.cpp +++ b/engines/tsage/ringworld2/ringworld2_logic.cpp @@ -81,6 +81,8 @@ Scene *Ringworld2Game::createScene(int sceneNumber) { // Lander Bay 2 Storage return new Scene500(); case 525: + // Cutscene - Walking in hall + return new Scene525(); case 600: case 700: error("Missing scene %d from group 0", sceneNumber); diff --git a/engines/tsage/ringworld2/ringworld2_scenes0.cpp b/engines/tsage/ringworld2/ringworld2_scenes0.cpp index 784968b5cb..dcebd3c906 100644 --- a/engines/tsage/ringworld2/ringworld2_scenes0.cpp +++ b/engines/tsage/ringworld2/ringworld2_scenes0.cpp @@ -4440,6 +4440,32 @@ void Scene500::signal() { } } + +/*-------------------------------------------------------------------------- + * Scene 525 - Cutscene - Walking in hall + * + *--------------------------------------------------------------------------*/ +void Scene525::postInit(SceneObjectList *OwnerList) { + loadScene(525); + R2_GLOBALS._v58CE2 = 0; + SceneExt::postInit(); + + R2_GLOBALS._sound1.play(105); + + _actor1.postInit(); + _actor1._effect = 1; + + R2_GLOBALS._player.postInit(); + R2_GLOBALS._player.animate(ANIM_MODE_1, NULL); + R2_GLOBALS._player.disableControl(); + + setAction(&_sequenceManager, this, 525, &R2_GLOBALS._player, &_actor1, NULL); +} + +void Scene525::signal() { + R2_GLOBALS._sceneManager.changeScene(1525); +} + /*-------------------------------------------------------------------------- * Scene 800 - Sick Bay * diff --git a/engines/tsage/ringworld2/ringworld2_scenes0.h b/engines/tsage/ringworld2/ringworld2_scenes0.h index c7b0ecfc83..581958975d 100644 --- a/engines/tsage/ringworld2/ringworld2_scenes0.h +++ b/engines/tsage/ringworld2/ringworld2_scenes0.h @@ -521,6 +521,16 @@ public: virtual void signal(); }; +class Scene525: public SceneExt { +public: + SceneActor _actor1; + SequenceManager _sequenceManager; + + virtual void postInit(SceneObjectList *OwnerList = NULL); + virtual void signal(); + +}; + class Scene800: public SceneExt { /* Items */ class Button: public NamedHotspot { |