diff options
author | Strangerke | 2011-10-26 22:35:11 +0200 |
---|---|---|
committer | Strangerke | 2011-10-26 22:35:11 +0200 |
commit | 7d28b1a921c651eba52a997aec12fc451d09d353 (patch) | |
tree | 099eb9c7d767b90667e2a120003f9e3085be2f8f /engines/tsage/blue_force | |
parent | 0c751aac5a512b8c70f8b891aa63d39ca71960b8 (diff) | |
download | scummvm-rg350-7d28b1a921c651eba52a997aec12fc451d09d353.tar.gz scummvm-rg350-7d28b1a921c651eba52a997aec12fc451d09d353.tar.bz2 scummvm-rg350-7d28b1a921c651eba52a997aec12fc451d09d353.zip |
TSAGE: Blue Force - Scene 410 (Gang arrest, day 1): rewrite Action4, fix hang when trying to search the truck before the gang his in the police car
Diffstat (limited to 'engines/tsage/blue_force')
-rw-r--r-- | engines/tsage/blue_force/blueforce_scenes4.cpp | 37 |
1 files changed, 12 insertions, 25 deletions
diff --git a/engines/tsage/blue_force/blueforce_scenes4.cpp b/engines/tsage/blue_force/blueforce_scenes4.cpp index 814a2fff7f..1b5d3032ac 100644 --- a/engines/tsage/blue_force/blueforce_scenes4.cpp +++ b/engines/tsage/blue_force/blueforce_scenes4.cpp @@ -114,30 +114,17 @@ void Scene410::Action3::signal() { void Scene410::Action4::signal() { Scene410 *scene = (Scene410 *)BF_GLOBALS._sceneManager._scene; - switch (_actionIndex++) { - case 0: - if (scene->_field1FC4 == 0) { - ADD_PLAYER_MOVER(114, 133); - } else { - ADD_PLAYER_MOVER(195, 139); - } - break; - case 1: - BF_GLOBALS._player.updateAngle(scene->_passenger._position); - setDelay(3); - break; - case 2: - setDelay(3); - break; - case 3: - if (BF_GLOBALS.getFlag(fCalledBackup)) - scene->setAction(&scene->_action2); - else - scene->setAction(&scene->_action3); - remove(); - break; - default: - break; + warning("Action4"); + + if (BF_GLOBALS.getFlag(fTalkedDriverNoBkup)) { + BF_GLOBALS._player.disableControl(); + scene->_sceneMode = 2; + scene->setAction(&scene->_sequenceManager1, scene, 4120, &scene->_passenger, BF_GLOBALS._player, NULL); + } else { + BF_GLOBALS._player.disableControl(); + BF_GLOBALS.setFlag(fTalkedDriverNoBkup); + scene->_sceneMode = 4101; + scene->_stripManager.start(4103, scene); } } @@ -222,7 +209,7 @@ void Scene410::Action7::signal() { case 3: BF_GLOBALS._player.setObjectWrapper(new SceneObjectWrapper()); BF_GLOBALS._player.updateAngle(Common::Point(100, 170)); - scene->setAction(&scene->_sequenceManager1, this, 4112, &scene->_driver, &scene->_passenger, + setAction(&scene->_sequenceManager1, this, 4112, &scene->_driver, &scene->_passenger, &scene->_harrison, NULL); break; case 5: |