From d34cf096081dd3f5b12d129e9d50172cf76e6179 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Mon, 30 Jan 2012 17:23:43 +0100 Subject: TSAGE: R2R - Implement scene 525 --- engines/tsage/ringworld2/ringworld2_logic.cpp | 2 ++ engines/tsage/ringworld2/ringworld2_scenes0.cpp | 26 +++++++++++++++++++++++++ engines/tsage/ringworld2/ringworld2_scenes0.h | 10 ++++++++++ 3 files changed, 38 insertions(+) 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 { -- cgit v1.2.3