aboutsummaryrefslogtreecommitdiff
path: root/engines/tsage/ringworld_scenes3.cpp
diff options
context:
space:
mode:
authorstrangerke2011-05-22 13:14:01 +0200
committerstrangerke2011-05-24 19:14:57 +0200
commit89cc1ce00450e3b0a19b660e7668ed6362e116fa (patch)
treeb706e20562ebf6273ef3bf3fa8f7321d269f7c6f /engines/tsage/ringworld_scenes3.cpp
parent0805549e1a8fa2cd17f332b6364d3e15eb832c77 (diff)
downloadscummvm-rg350-89cc1ce00450e3b0a19b660e7668ed6362e116fa.tar.gz
scummvm-rg350-89cc1ce00450e3b0a19b660e7668ed6362e116fa.tar.bz2
scummvm-rg350-89cc1ce00450e3b0a19b660e7668ed6362e116fa.zip
TSAGE: Fix bug "Scene 2320: If you try to activate the flycycle, [...] the game becomes unresponsive.".
Also fix an animation bug related to display priorities
Diffstat (limited to 'engines/tsage/ringworld_scenes3.cpp')
-rw-r--r--engines/tsage/ringworld_scenes3.cpp15
1 files changed, 10 insertions, 5 deletions
diff --git a/engines/tsage/ringworld_scenes3.cpp b/engines/tsage/ringworld_scenes3.cpp
index 0a64b87a19..53b02a7522 100644
--- a/engines/tsage/ringworld_scenes3.cpp
+++ b/engines/tsage/ringworld_scenes3.cpp
@@ -5164,6 +5164,7 @@ void Scene2320::Action3::signal() {
}
void Scene2320::Action4::signal() {
+ // Fly Cycle actions
Scene2320 *scene = (Scene2320 *)_globals->_sceneManager._scene;
switch (_actionIndex++) {
@@ -5230,11 +5231,13 @@ void Scene2320::Action4::signal() {
setDelay(13);
break;
case 9:
- if (!_globals->getFlag(109)) {
- SceneItem::display2(2320, 19);
- } else {
- _globals->_sceneManager.changeScene(7600);
- }
+ // Quinn sits in the flycycle
+ scene->_hotspot16.hide();
+ _globals->_player.setVisage(2323);
+ _globals->_player.setPosition(Common::Point(303, 176));
+ _globals->_player.setStrip(2);
+ _globals->_player.setFrame(1);
+ _globals->_player.animate(ANIM_MODE_5, this);
break;
case 10:
if (_globals->getFlag(109)) {
@@ -5291,6 +5294,7 @@ void Scene2320::Action4::signal() {
break;
}
case 18: {
+ scene->_hotspot16.fixPriority(149);
Common::Point pt(320, 202);
PlayerMover *mover = new PlayerMover();
scene->_hotspot16.addMover(mover, &pt, this);
@@ -5735,6 +5739,7 @@ void Scene2320::Hotspot14::doAction(int action) {
}
void Scene2320::Hotspot15::doAction(int action) {
+ // Left console (Flycycle console)
Scene2320 *scene = (Scene2320 *)_globals->_sceneManager._scene;
switch (action) {