aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorPaul Gilbert2011-09-25 11:39:45 +1000
committerPaul Gilbert2011-09-25 12:21:47 +1000
commit329d151f0ceae68f235875031572e60606b3798c (patch)
treedd6e61da7c657fc0049f67ab0af3b238abad3ac9 /engines
parent300cec119c029008853f36a31084d767332aa73c (diff)
downloadscummvm-rg350-329d151f0ceae68f235875031572e60606b3798c.tar.gz
scummvm-rg350-329d151f0ceae68f235875031572e60606b3798c.tar.bz2
scummvm-rg350-329d151f0ceae68f235875031572e60606b3798c.zip
TSAGE: Bugfixes for Blue Force scene 355
Diffstat (limited to 'engines')
-rw-r--r--engines/tsage/blue_force/blueforce_scenes3.cpp45
-rw-r--r--engines/tsage/blue_force/blueforce_scenes3.h2
2 files changed, 25 insertions, 22 deletions
diff --git a/engines/tsage/blue_force/blueforce_scenes3.cpp b/engines/tsage/blue_force/blueforce_scenes3.cpp
index 71ca456e3a..83e5969eb3 100644
--- a/engines/tsage/blue_force/blueforce_scenes3.cpp
+++ b/engines/tsage/blue_force/blueforce_scenes3.cpp
@@ -2842,7 +2842,7 @@ bool Scene355::Doorway::startAction(CursorType action, Event &event) {
SceneItem::display2(355, 9);
return true;
case CURSOR_USE:
- if (scene->_gameTextSpeaker._sceneText._frame == 0) {
+ if (!scene->_modeFlag) {
scene->_sceneMode = 9984;
scene->signal();
} else {
@@ -3605,23 +3605,23 @@ void Scene355::postInit(SceneObjectList *OwnerList) {
break;
default:
if (!BF_GLOBALS.getFlag(greenTaken)) {
- _object1.postInit();
- _object1.setPosition(Common::Point(152, 131));
- _object1.animate(ANIM_MODE_1, NULL);
- _object1.setObjectWrapper(new SceneObjectWrapper());
+ _harrison.postInit();
+ _harrison.setPosition(Common::Point(152, 131));
+ _harrison.animate(ANIM_MODE_1, NULL);
+ _harrison.setObjectWrapper(new SceneObjectWrapper());
if (BF_GLOBALS.getFlag(gunDrawn)) {
- _object1.setVisage(357);
- _object1.setStrip(2);
+ _harrison.setVisage(357);
+ _harrison.setStrip(2);
} else {
- _object1.setVisage(1363);
- _object1.setStrip(3);
+ _harrison.setVisage(1363);
+ _harrison.setStrip(3);
}
- _object1.hide();
+ _harrison.hide();
if (BF_GLOBALS.getFlag(fBackupIn350)) {
- _object1.show();
- BF_GLOBALS._sceneItems.push_back(&_object1);
+ _harrison.show();
+ BF_GLOBALS._sceneItems.push_back(&_harrison);
}
_sceneMode = 1355;
@@ -3630,7 +3630,7 @@ void Scene355::postInit(SceneObjectList *OwnerList) {
break;
}
- _object1.setDetails(355, 18, 20, 19, 1, NULL);
+ _harrison.setDetails(355, 18, 20, 19, 1, NULL);
_item6.setDetails(10, 355, 2, -1, 14, 1);
_item7.setDetails(11, 355, 3, -1, 15, 1);
_item8.setDetails(12, 355, 4, -1, 8, 1);
@@ -3666,19 +3666,21 @@ void Scene355::signal() {
case 1356:
switch (_doorway._v1) {
case 0:
+ ++_doorway._v1;
_sceneMode = 9999;
_stripManager.start(3550, this);
break;
case 1:
_sceneMode = 9999;
_stripManager.start(3551, this);
+ ++_doorway._v1;
break;
default:
break;
}
break;
case 2357:
- _object1.animate(ANIM_MODE_1, NULL);
+ _harrison.animate(ANIM_MODE_1, NULL);
// Deliberate fall-through
case 1357:
BF_GLOBALS._player.enableControl();
@@ -3693,7 +3695,7 @@ void Scene355::signal() {
BF_GLOBALS._sceneManager.changeScene(360);
else {
_sceneMode = 1359;
- setAction(&_sequenceManager, this, BF_GLOBALS.getFlag(gunDrawn) ? 1359 : 3550, NULL);
+ setAction(&_sequenceManager, this, BF_GLOBALS.getFlag(gunDrawn) ? 1359 : 3550, &_harrison, NULL);
}
break;
case 3553:
@@ -3822,7 +3824,7 @@ void Scene355::signal() {
BF_GLOBALS.setFlag(fTookTrailerAmmo);
_stripManager.start(3575, this);
_object7._flag = 1;
- _doorway._v2 = 0;
+ ++_doorway._v2;
break;
case 1:
_stripManager.start(3573, this);
@@ -3835,6 +3837,7 @@ void Scene355::signal() {
} else if (BF_GLOBALS.getFlag(greenTaken) || (BF_GLOBALS._dayNumber > 1)) {
if (_doorway._v3) {
SceneItem::display2(355, 23);
+ _sceneMode = 0;
signal();
} else {
BF_GLOBALS._player.disableControl();
@@ -3964,15 +3967,15 @@ void Scene355::signal() {
error("Talkdoor state");
break;
case 9999:
- if (_doorway._v2 != 2) {
+ if (_doorway._v1 != 2) {
BF_GLOBALS._player.enableControl();
BF_GLOBALS._player._canWalk = false;
} else if (BF_GLOBALS.getFlag(gunDrawn)) {
_sceneMode = 2358;
- setAction(&_sequenceManager, this, 2359, &BF_GLOBALS._player, &_doorway, &_object1, NULL);
+ setAction(&_sequenceManager, this, 2359, &BF_GLOBALS._player, &_doorway, &_harrison, NULL);
} else {
_sceneMode = 2358;
- setAction(&_sequenceManager, this, 2358, &BF_GLOBALS._player, &_doorway, &_object1, NULL);
+ setAction(&_sequenceManager, this, 2358, &BF_GLOBALS._player, &_doorway, &_harrison, NULL);
}
break;
case 0:
@@ -4063,11 +4066,11 @@ void Scene355::process(Event &event) {
if (BF_GLOBALS.getFlag(gunDrawn)) {
BF_GLOBALS.clearFlag(gunDrawn);
_sceneMode = 2357;
- setAction(&_sequenceManager, this, 2357, &BF_GLOBALS._player, &_object1, NULL);
+ setAction(&_sequenceManager, this, 2357, &BF_GLOBALS._player, &_harrison, NULL);
} else {
BF_GLOBALS._player.disableControl();
_sceneMode = 1357;
- setAction(&_sequenceManager, this, 1357, &BF_GLOBALS._player, &_object1, NULL);
+ setAction(&_sequenceManager, this, 1357, &BF_GLOBALS._player, &_harrison, NULL);
BF_GLOBALS.setFlag(gunDrawn);
}
} else {
diff --git a/engines/tsage/blue_force/blueforce_scenes3.h b/engines/tsage/blue_force/blueforce_scenes3.h
index 4e0c87ede4..299f0cec45 100644
--- a/engines/tsage/blue_force/blueforce_scenes3.h
+++ b/engines/tsage/blue_force/blueforce_scenes3.h
@@ -573,7 +573,7 @@ public:
SpeakerHarrison _harrisonSpeaker;
SpeakerLyleHat _lyleHatSpeaker;
SpeakerGreen _greenSpeaker;
- NamedObject _object1;
+ NamedObject _harrison;
Doorway _doorway;
Locker _locker;
LockerDoor _lockerDoor;