aboutsummaryrefslogtreecommitdiff
path: root/engines/tsage/blue_force
diff options
context:
space:
mode:
authorStrangerke2011-10-26 22:35:11 +0200
committerStrangerke2011-10-26 22:35:11 +0200
commit7d28b1a921c651eba52a997aec12fc451d09d353 (patch)
tree099eb9c7d767b90667e2a120003f9e3085be2f8f /engines/tsage/blue_force
parent0c751aac5a512b8c70f8b891aa63d39ca71960b8 (diff)
downloadscummvm-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.cpp37
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: