aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Gilbert2011-09-23 21:49:19 +1000
committerPaul Gilbert2011-09-23 21:49:19 +1000
commit619767775e79daad0476f0aad1cef9bebcad7f01 (patch)
treee0be08b49745ba22a80ff7487e05a5c18e76f34e
parent9c4173c01811499b2f69e8d06296eff215175454 (diff)
downloadscummvm-rg350-619767775e79daad0476f0aad1cef9bebcad7f01.tar.gz
scummvm-rg350-619767775e79daad0476f0aad1cef9bebcad7f01.tar.bz2
scummvm-rg350-619767775e79daad0476f0aad1cef9bebcad7f01.zip
TSAGE: Fixes for conversation in Blue Force scene 340
-rw-r--r--engines/tsage/blue_force/blueforce_scenes3.cpp20
-rw-r--r--engines/tsage/globals.cpp4
-rw-r--r--engines/tsage/globals.h2
3 files changed, 15 insertions, 11 deletions
diff --git a/engines/tsage/blue_force/blueforce_scenes3.cpp b/engines/tsage/blue_force/blueforce_scenes3.cpp
index 1cc6450d0a..2472d7e103 100644
--- a/engines/tsage/blue_force/blueforce_scenes3.cpp
+++ b/engines/tsage/blue_force/blueforce_scenes3.cpp
@@ -1579,7 +1579,7 @@ bool Scene340::Child::startAction(CursorType action, Event &event) {
SceneItem::display2(340, 14);
return true;
case CURSOR_TALK:
- if (!BF_GLOBALS.getFlag(fBackupArrived340) || (BF_GLOBALS._v4CEB4 < 3) || !BF_GLOBALS.getFlag(fGotAllSkip340))
+ if (!BF_GLOBALS.getFlag(fBackupArrived340) || (BF_GLOBALS._marinaWomanCtr < 3) || !BF_GLOBALS.getFlag(fGotAllSkip340))
scene->setAction(&scene->_action3);
else
scene->setAction(&scene->_action2);
@@ -1604,7 +1604,7 @@ bool Scene340::Woman::startAction(CursorType action, Event &event) {
SceneItem::display2(340, 13);
return true;
case CURSOR_TALK:
- if (!BF_GLOBALS.getFlag(fBackupArrived340) || (BF_GLOBALS._v4CEB4 < 3) || !BF_GLOBALS.getFlag(fGotAllSkip340))
+ if (!BF_GLOBALS.getFlag(fBackupArrived340) || (BF_GLOBALS._marinaWomanCtr < 3) || !BF_GLOBALS.getFlag(fGotAllSkip340))
scene->setAction(&scene->_action1);
else
scene->setAction(&scene->_action2);
@@ -1697,16 +1697,16 @@ void Scene340::Action1::signal() {
setDelay(3);
break;
case 2:
- if (!BF_GLOBALS._v4CEB4) {
+ if (!BF_GLOBALS._marinaWomanCtr) {
setAction(&scene->_action8, this);
} else if (!_action) {
BF_GLOBALS._player.setAction(&scene->_sequenceManager1, this,
- MIN(BF_GLOBALS._v4CEB4, 3) + 2340, &scene->_woman, &scene->_child,
+ MIN(BF_GLOBALS._marinaWomanCtr, 3) + 2340, &scene->_woman, &scene->_child,
&scene->_object4, NULL);
}
break;
case 3:
- if ((BF_GLOBALS._v4CEB4 != 1) || BF_GLOBALS.getFlag(fCalledBackup)) {
+ if ((BF_GLOBALS._marinaWomanCtr != 1) || BF_GLOBALS.getFlag(fCalledBackup)) {
setDelay(3);
} else {
scene->_sound1.play(8);
@@ -1714,8 +1714,8 @@ void Scene340::Action1::signal() {
}
break;
case 4:
- if (BF_GLOBALS._v4CEB4 == 1)
- ++BF_GLOBALS._v4CEB4;
+ if (BF_GLOBALS._marinaWomanCtr == 1)
+ ++BF_GLOBALS._marinaWomanCtr;
if (BF_GLOBALS.getFlag(fBackupArrived340)) {
scene->_field2654 = 1;
@@ -1724,6 +1724,10 @@ void Scene340::Action1::signal() {
} else if (BF_GLOBALS.getFlag(fCalledBackup)) {
scene->_timer1.set(40, &scene->_harrison, &scene->_action4);
}
+
+ ++BF_GLOBALS._marinaWomanCtr;
+ BF_GLOBALS._player.enableControl();
+ remove();
break;
}
}
@@ -2062,7 +2066,7 @@ void Scene340::postInit(SceneObjectList *OwnerList) {
_field2654 = 1;
_harrison.setPosition(Common::Point(46, 154));
BF_GLOBALS._walkRegions.proc1(19);
- } else if (BF_GLOBALS.getFlag(fCalledBackup) && (BF_GLOBALS._v4CEB4 > 0)) {
+ } else if (BF_GLOBALS.getFlag(fCalledBackup) && (BF_GLOBALS._marinaWomanCtr > 0)) {
_timer1.set(900, &_harrison, &_action4);
}
}
diff --git a/engines/tsage/globals.cpp b/engines/tsage/globals.cpp
index 5e2c51eb9a..2b37380976 100644
--- a/engines/tsage/globals.cpp
+++ b/engines/tsage/globals.cpp
@@ -191,7 +191,7 @@ void BlueForceGlobals::synchronize(Serializer &s) {
s.syncAsSint16LE(_dayNumber);
s.syncAsSint16LE(_v4CEA4);
- s.syncAsSint16LE(_v4CEB4);
+ s.syncAsSint16LE(_marinaWomanCtr);
s.syncAsSint16LE(_v4CEB6);
s.syncAsSint16LE(_v4CEC2);
s.syncAsSint16LE(_deziTopic);
@@ -230,7 +230,7 @@ void BlueForceGlobals::reset() {
_interfaceY = BF_INTERFACE_Y;
_dayNumber = 0;
_v4CEA4 = 0;
- _v4CEB4 = 0;
+ _marinaWomanCtr = 0;
_v4CEB6 = 0;
_v4CEC2 = 0;
_deziTopic = 0;
diff --git a/engines/tsage/globals.h b/engines/tsage/globals.h
index dc650bcec0..2c4072b042 100644
--- a/engines/tsage/globals.h
+++ b/engines/tsage/globals.h
@@ -169,7 +169,7 @@ public:
StripProxy _stripProxy;
int _dayNumber;
int _v4CEA4;
- int _v4CEB4;
+ int _marinaWomanCtr;
int _v4CEB6;
int _v4CEC2;
int _deziTopic;