aboutsummaryrefslogtreecommitdiff
path: root/engines/tsage/blue_force
diff options
context:
space:
mode:
authorStrangerke2011-10-25 09:08:46 +0200
committerStrangerke2011-10-25 09:08:46 +0200
commitf614fbb608422e585ab7d7b5b335f8c1ee4739e1 (patch)
treef4c731a713f9ee5df1da28a702588b34a593cff0 /engines/tsage/blue_force
parentb29dc073a73ccd5d08e3df27ff5ccaf1f74f3a4b (diff)
downloadscummvm-rg350-f614fbb608422e585ab7d7b5b335f8c1ee4739e1.tar.gz
scummvm-rg350-f614fbb608422e585ab7d7b5b335f8c1ee4739e1.tar.bz2
scummvm-rg350-f614fbb608422e585ab7d7b5b335f8c1ee4739e1.zip
TSAGE: Blue Force - Fix several bugs in scene 360.
Dough bug still present though (he doesn't keep his gun)
Diffstat (limited to 'engines/tsage/blue_force')
-rw-r--r--engines/tsage/blue_force/blueforce_scenes3.cpp25
-rw-r--r--engines/tsage/blue_force/blueforce_scenes3.h4
2 files changed, 18 insertions, 11 deletions
diff --git a/engines/tsage/blue_force/blueforce_scenes3.cpp b/engines/tsage/blue_force/blueforce_scenes3.cpp
index 55a02b0d00..31590f60c9 100644
--- a/engines/tsage/blue_force/blueforce_scenes3.cpp
+++ b/engines/tsage/blue_force/blueforce_scenes3.cpp
@@ -4156,7 +4156,7 @@ bool Scene360::Item1::startAction(CursorType action, Event &event) {
case CURSOR_TALK:
scene->_sceneMode = 3607;
BF_GLOBALS._player.disableControl();
- scene->_stripManager.start(3550, this);
+ scene->_stripManager.start(3550, scene);
return true;
case INV_COLT45:
SceneItem::display2(1, 4);
@@ -4265,7 +4265,7 @@ bool Scene360::Object4::startAction(CursorType action, Event &event) {
}
}
-bool Scene360::BsseballCards::startAction(CursorType action, Event &event) {
+bool Scene360::BaseballCards::startAction(CursorType action, Event &event) {
switch (action) {
case CURSOR_LOOK:
if (event.mousePos.x >= (_bounds.left + _bounds.width() / 2))
@@ -4422,9 +4422,8 @@ void Scene360::postInit(SceneObjectList *OwnerList) {
BF_GLOBALS._player._moveDiff.y = 4;
BF_GLOBALS._player.enableControl();
- if (BF_GLOBALS._sceneManager._previousScene == 370) {
- BF_GLOBALS._player.setPosition(Common::Point(62, 122));
- } else {
+ if ((BF_GLOBALS._sceneManager._previousScene == 355) || (BF_GLOBALS._sceneManager._previousScene != 370)) {
+ _field380 = 0;
BF_GLOBALS._player.setPosition(Common::Point(253, 135));
BF_GLOBALS._player.setStrip(2);
@@ -4450,6 +4449,9 @@ void Scene360::postInit(SceneObjectList *OwnerList) {
_slidingDoor.setPosition(Common::Point(6, 130));
_slidingDoor.setAction(&_sequenceManager1, this, 3606, &_slidingDoor, &_object7, NULL);
}
+ } else {
+ BF_GLOBALS._player.setPosition(Common::Point(62, 122));
+ BF_GLOBALS._player.enableControl();
}
_barometer._sceneRegionId = 9;
@@ -4470,7 +4472,7 @@ void Scene360::signal() {
BF_GLOBALS.setFlag(gunDrawn);
BF_GLOBALS._deathReason = BF_GLOBALS.getFlag(fBackupIn350) ? 2 : 1;
BF_GLOBALS._player.setPosition(Common::Point(BF_GLOBALS._player._position.x - 20,
- BF_GLOBALS._player._position.y));
+ BF_GLOBALS._player._position.y + 1));
_sceneMode = 3610;
setAction(&_sequenceManager1, this, 3610, &_slidingDoor, &_object2, &BF_GLOBALS._player, NULL);
break;
@@ -4479,8 +4481,13 @@ void Scene360::signal() {
setAction(&_sequenceManager1, this, 3605, &BF_GLOBALS._player, &_slidingDoor, NULL);
break;
case 3604:
- _sceneMode = BF_GLOBALS.getFlag(fBackupIn350) ? 3603 : 3605;
- setAction(&_sequenceManager1, this, _sceneMode, &_object6, NULL);
+ if (BF_GLOBALS.getFlag(fBackupIn350)) {
+ _sceneMode = 3603;
+ setAction(&_sequenceManager1, this, _sceneMode, &_object6, NULL);
+ } else {
+ _sceneMode = 3605;
+ setAction(&_sequenceManager1, this, _sceneMode, &BF_GLOBALS._player, &_slidingDoor, NULL);
+ }
break;
case 3605:
if (BF_GLOBALS.getFlag(fBackupIn350)) {
@@ -4498,7 +4505,7 @@ void Scene360::signal() {
BF_GLOBALS._player.enableControl();
break;
case 3608:
- BF_GLOBALS._sceneManager.changeScene(355);
+ BF_GLOBALS._sceneManager.changeScene(355);
break;
case 3610:
BF_GLOBALS._sceneManager.changeScene(666);
diff --git a/engines/tsage/blue_force/blueforce_scenes3.h b/engines/tsage/blue_force/blueforce_scenes3.h
index 6064a64940..b61e3c3754 100644
--- a/engines/tsage/blue_force/blueforce_scenes3.h
+++ b/engines/tsage/blue_force/blueforce_scenes3.h
@@ -621,7 +621,7 @@ class Scene360: public SceneExt {
public:
virtual bool startAction(CursorType action, Event &event);
};
- class BsseballCards: public NamedObject {
+ class BaseballCards: public NamedObject {
public:
virtual bool startAction(CursorType action, Event &event);
};
@@ -667,7 +667,7 @@ public:
SceneObject _object2;
Window _window;
Object4 _object4;
- BsseballCards _baseballCards;
+ BaseballCards _baseballCards;
Object6 _object6;
Object7 _object7;
Item1 _item1;