aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Gilbert2011-09-24 12:43:50 +1000
committerPaul Gilbert2011-09-24 12:43:50 +1000
commit135e7fbabf5c4c1a9adada55b4850c41f1a8dd17 (patch)
treeeec49cd20bb0cd9b7ef6b3839160d613cd45a414
parent78c621dc553dbfcfc3a76065d71fbde16cd37216 (diff)
downloadscummvm-rg350-135e7fbabf5c4c1a9adada55b4850c41f1a8dd17.tar.gz
scummvm-rg350-135e7fbabf5c4c1a9adada55b4850c41f1a8dd17.tar.bz2
scummvm-rg350-135e7fbabf5c4c1a9adada55b4850c41f1a8dd17.zip
TSAGE: Further bugfixes for item actions in Blue Force scene 900
-rw-r--r--engines/tsage/blue_force/blueforce_scenes9.cpp60
1 files changed, 25 insertions, 35 deletions
diff --git a/engines/tsage/blue_force/blueforce_scenes9.cpp b/engines/tsage/blue_force/blueforce_scenes9.cpp
index 088f5da0af..e39746a9fe 100644
--- a/engines/tsage/blue_force/blueforce_scenes9.cpp
+++ b/engines/tsage/blue_force/blueforce_scenes9.cpp
@@ -83,36 +83,30 @@ bool Scene900::Object1::startAction(CursorType action, Event &event) {
return true;
}
break;
- case CURSOR_1000:
- if (BF_GLOBALS._events.getCursor() == 26){
- if (BF_GLOBALS._v4CEC0 == 2) {
- SceneItem::display2(900, 14);
- return true;
+ case INV_WAREHOUSE_KEYS:
+ if (BF_GLOBALS._v4CEC0 == 2) {
+ SceneItem::display2(900, 14);
+ } else {
+ if (BF_GLOBALS._v4CEC0 == 0) {
+ if (!BF_GLOBALS.getFlag(fGotPointsForUnlockGate)) {
+ BF_GLOBALS.setFlag(fGotPointsForUnlockGate);
+ BF_GLOBALS._uiElements.addScore(30);
+ }
+ BF_GLOBALS._v4CEC0 = 1;
} else {
- if (BF_GLOBALS._v4CEC0 == 0) {
- if (!BF_GLOBALS.getFlag(fGotPointsForUnlockGate)) {
- BF_GLOBALS.setFlag(fGotPointsForUnlockGate);
+ if (!BF_GLOBALS.getFlag(fGotPointsForLockGate)) {
+ if (BF_GLOBALS._bookmark == bEndDayThree) {
+ BF_GLOBALS.setFlag(fGotPointsForLockGate);
BF_GLOBALS._uiElements.addScore(30);
}
- BF_GLOBALS._v4CEC0 = 1;
- } else {
- if (!BF_GLOBALS.getFlag(fGotPointsForLockGate)) {
- if (BF_GLOBALS._bookmark == bEndDayThree) {
- BF_GLOBALS.setFlag(fGotPointsForLockGate);
- BF_GLOBALS._uiElements.addScore(30);
- }
- }
- BF_GLOBALS._v4CEC0 = 0;
}
- scene->_sceneMode = 9004;
- BF_GLOBALS._player.disableControl();
- scene->setAction(&scene->_sequenceManager1, scene, 9004, &BF_GLOBALS._player, NULL);
- return true;
+ BF_GLOBALS._v4CEC0 = 0;
}
- } else {
- return false;
+ scene->_sceneMode = 9004;
+ BF_GLOBALS._player.disableControl();
+ scene->setAction(&scene->_sequenceManager1, scene, 9004, &BF_GLOBALS._player, NULL);
}
- break;
+ return true;
default:
return NamedObject::startAction(action, event);
}
@@ -136,18 +130,14 @@ bool Scene900::Object2::startAction(CursorType action, Event &event) {
} else
return NamedObject::startAction(action, event);
break;
- case CURSOR_1000:
- if (BF_GLOBALS._events.getCursor() == 26) {
- if (BF_GLOBALS._v4CEC0 == 2) {
- BF_GLOBALS._player.disableControl();
- scene->_sceneMode = 9012;
- scene->setAction(&scene->_sequenceManager1, scene, 9012, &BF_GLOBALS._player, &scene->_object2, NULL);
- } else
- SceneItem::display2(900, 5);
- return true;
+ case INV_WAREHOUSE_KEYS:
+ if (BF_GLOBALS._v4CEC0 == 2) {
+ BF_GLOBALS._player.disableControl();
+ scene->_sceneMode = 9012;
+ scene->setAction(&scene->_sequenceManager1, scene, 9012, &BF_GLOBALS._player, &scene->_object2, NULL);
} else
- return false;
- break;
+ SceneItem::display2(900, 5);
+ return true;
default:
return NamedObject::startAction(action, event);
}