diff options
author | Strangerke | 2012-01-08 21:50:32 +0100 |
---|---|---|
committer | Strangerke | 2012-01-08 21:50:32 +0100 |
commit | 2dc3111bbefbd1233db08e1d05d5eab90e1e264d (patch) | |
tree | ac4f1efb945125c09fea6a667251dee6309b7d0c /engines/tsage/ringworld2/ringworld2_scenes1.cpp | |
parent | a4a2878a3716dfbb3b04e6d10d68a99c55a4dd85 (diff) | |
download | scummvm-rg350-2dc3111bbefbd1233db08e1d05d5eab90e1e264d.tar.gz scummvm-rg350-2dc3111bbefbd1233db08e1d05d5eab90e1e264d.tar.bz2 scummvm-rg350-2dc3111bbefbd1233db08e1d05d5eab90e1e264d.zip |
TSAGE: R2R - Implement scene 1525
Diffstat (limited to 'engines/tsage/ringworld2/ringworld2_scenes1.cpp')
-rw-r--r-- | engines/tsage/ringworld2/ringworld2_scenes1.cpp | 44 |
1 files changed, 43 insertions, 1 deletions
diff --git a/engines/tsage/ringworld2/ringworld2_scenes1.cpp b/engines/tsage/ringworld2/ringworld2_scenes1.cpp index 17422019b0..1afb1b6509 100644 --- a/engines/tsage/ringworld2/ringworld2_scenes1.cpp +++ b/engines/tsage/ringworld2/ringworld2_scenes1.cpp @@ -858,7 +858,7 @@ void Scene1100::saveCharacter(int characterIndex) { } /*-------------------------------------------------------------------------- - * Scene 1500 - + * Scene 1500 - Cutscene: Ship landing * *--------------------------------------------------------------------------*/ void Scene1500::postInit(SceneObjectList *OwnerList) { @@ -1015,5 +1015,47 @@ void Scene1500::dispatch() { Scene::dispatch(); } +/*-------------------------------------------------------------------------- + * Scene 1525 - Cutscene - Ship + * + *--------------------------------------------------------------------------*/ +void Scene1525::postInit(SceneObjectList *OwnerList) { + loadScene(1525); + R2_GLOBALS._v58CE2 = 0; + SceneExt::postInit(); + + R2_GLOBALS._player.postInit(); + if (R2_GLOBALS._sceneManager._previousScene == 525) + R2_GLOBALS._player.setup(1525, 1, 1); + else + R2_GLOBALS._player.setup(1525, 1, 16); + R2_GLOBALS._player.setPosition(Common::Point(244, 148)); + R2_GLOBALS._player.disableControl(); + + _sceneMode = 0; + setAction(&_sequenceManager, this, 2, &R2_GLOBALS._player, NULL); +} + +void Scene1525::signal() { + switch (_sceneMode++) { + case 0: + if (R2_GLOBALS._sceneManager._previousScene == 525) + setAction(&_sequenceManager, this, 1525, &R2_GLOBALS._player, NULL); + else + setAction(&_sequenceManager, this, 1526, &R2_GLOBALS._player, NULL); + break; + case 1: + setAction(&_sequenceManager, this, 2, &R2_GLOBALS._player, NULL); + break; + case 2: + if (R2_GLOBALS._sceneManager._previousScene == 1530) + R2_GLOBALS._sceneManager.changeScene(1550); + else + R2_GLOBALS._sceneManager.changeScene(1530); + default: + break; + } +} + } // End of namespace Ringworld2 } // End of namespace TsAGE |