diff options
author | Paul Gilbert | 2011-12-11 18:00:39 +1100 |
---|---|---|
committer | Paul Gilbert | 2011-12-11 18:00:39 +1100 |
commit | 887d56d9ca9cc488c8793321da0685bee5f2206a (patch) | |
tree | dd214b350d71efc630b2a604e608584f5ada3a73 | |
parent | 518d4cd429924f145626401c194f42fd76783c03 (diff) | |
download | scummvm-rg350-887d56d9ca9cc488c8793321da0685bee5f2206a.tar.gz scummvm-rg350-887d56d9ca9cc488c8793321da0685bee5f2206a.tar.bz2 scummvm-rg350-887d56d9ca9cc488c8793321da0685bee5f2206a.zip |
TSAGE: add missing hotspot code for Miranda in R2R Scene 300
-rw-r--r-- | engines/tsage/ringworld2/ringworld2_scenes0.cpp | 34 |
1 files changed, 33 insertions, 1 deletions
diff --git a/engines/tsage/ringworld2/ringworld2_scenes0.cpp b/engines/tsage/ringworld2/ringworld2_scenes0.cpp index 88dfe11298..9e87ebbe0b 100644 --- a/engines/tsage/ringworld2/ringworld2_scenes0.cpp +++ b/engines/tsage/ringworld2/ringworld2_scenes0.cpp @@ -1528,7 +1528,39 @@ bool Scene300::Miranda::startAction(CursorType action, Event &event) { switch (action) { case CURSOR_TALK: if (R2_GLOBALS._player._characterIndex == 1) { - warning("TODO: talk sequence"); + R2_GLOBALS._player.disableControl(); + + if (!R2_GLOBALS.getFlag(44)) { + if (R2_GLOBALS.getFlag(40)) + scene->_field412 = 119; + else if (R2_GLOBALS.getFlag(38)) + scene->_field412 = 101; + else { + R2_GLOBALS._sound1.play(69); + scene->_field412 = 100; + } + + scene->_sceneMode = 309; + scene->setAction(&scene->_sequenceManager1, scene, 309, &R2_GLOBALS._player, NULL); + } else if (!R2_GLOBALS.getFlag(55)) { + R2_GLOBALS._events.setCursor(CURSOR_ARROW); + scene->_sceneMode = 10; + scene->_stripManager.start3(scene->_field412, scene, R2_GLOBALS._stripManager_lookupList); + } else { + scene->_sceneMode = 16; + + if (!R2_GLOBALS.getFlag(57)) { + R2_GLOBALS._events.setCursor(CURSOR_ARROW); + scene->_stripManager.start3(434, scene, R2_GLOBALS._stripManager_lookupList); + } else if (R2_GLOBALS._player._characterScene[R2_MIRANDA] != 500) { + R2_GLOBALS._events.setCursor(CURSOR_ARROW); + scene->_stripManager.start3(407, scene, R2_GLOBALS._stripManager_lookupList); + } else { + scene->_field412 = 433; + scene->_sceneMode = 309; + scene->setAction(&scene->_sequenceManager1, scene, 309, &R2_GLOBALS._player, NULL); + } + } } else { scene->_sceneMode = 10; R2_GLOBALS._events.setCursor(CURSOR_ARROW); |