aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStrangerke2011-10-20 00:19:21 +0200
committerStrangerke2011-10-20 00:20:26 +0200
commitc39e45ff64cde87df04c06e70e02f2c43d1a9136 (patch)
tree550195120550a1b8a78019affddb7c92a87679bc
parent228c4fb2869fe9394cb437307cb7125141487546 (diff)
downloadscummvm-rg350-c39e45ff64cde87df04c06e70e02f2c43d1a9136.tar.gz
scummvm-rg350-c39e45ff64cde87df04c06e70e02f2c43d1a9136.tar.bz2
scummvm-rg350-c39e45ff64cde87df04c06e70e02f2c43d1a9136.zip
TSAGE: Blue Force - Fix crate top in scene 920
Also: rename some objects, disable sub15E4F and fix a little bug in init of scene910
-rw-r--r--engines/tsage/blue_force/blueforce_logic.cpp2
-rw-r--r--engines/tsage/blue_force/blueforce_scenes9.cpp42
-rw-r--r--engines/tsage/blue_force/blueforce_scenes9.h6
3 files changed, 26 insertions, 24 deletions
diff --git a/engines/tsage/blue_force/blueforce_logic.cpp b/engines/tsage/blue_force/blueforce_logic.cpp
index 60d4a97129..c461f45d36 100644
--- a/engines/tsage/blue_force/blueforce_logic.cpp
+++ b/engines/tsage/blue_force/blueforce_logic.cpp
@@ -897,6 +897,8 @@ void PalettedScene::add2Faders(const byte *arrBufferRGB, int step, int paletteNu
void PalettedScene::sub15E4F(const byte *arrBufferRGB, int arg8, int paletteNum, Action *action, int fromColor1, int fromColor2, int toColor1, int toColor2, bool flag) {
byte tmpPalette[768];
+ warning("sub15E4F");
+ return;
_palette.loadPalette(paletteNum);
_palette.loadPalette(2);
diff --git a/engines/tsage/blue_force/blueforce_scenes9.cpp b/engines/tsage/blue_force/blueforce_scenes9.cpp
index f918508a4b..6448bd02a8 100644
--- a/engines/tsage/blue_force/blueforce_scenes9.cpp
+++ b/engines/tsage/blue_force/blueforce_scenes9.cpp
@@ -422,7 +422,7 @@ Scene900::Scene900(): PalettedScene() {
}
void Scene900::postInit(SceneObjectList *OwnerList) {
- PalettedScene::postInit();
+ PalettedScene::postInit(OwnerList);
loadScene(900);
if (BF_GLOBALS._sceneManager._previousScene == 910)
@@ -1947,7 +1947,7 @@ void Scene910::postInit(SceneObjectList *OwnerList) {
uint32 unk_50E94 = 0, unk_50E90 = 0;
uint32 unk_50E98 = 0, unk_50E9C = 0;
- PalettedScene::postInit();
+ PalettedScene::postInit(OwnerList);
loadScene(910);
BF_GLOBALS._sound1.changeSound(99);
@@ -2806,7 +2806,7 @@ void Scene910::dispatch() {
}
}
- if ((BF_GLOBALS._player._position.x > 265) && (BF_GLOBALS._player._position.y < 102) && (BF_GLOBALS._v4CEE0 == 0) && (_sceneMode == 9143)) {
+ if ((BF_GLOBALS._player._position.x > 265) && (BF_GLOBALS._player._position.y < 102) && (BF_GLOBALS._v4CEE0 != 0) && (_sceneMode != 9143)) {
BF_GLOBALS._player.disableControl();
if (BF_GLOBALS.getFlag(gunDrawn)) {
_field2DDA = 3;
@@ -2912,14 +2912,13 @@ bool Scene920::Item1::startAction(CursorType action, Event &event) {
case CURSOR_LOOK:
if ((BF_GLOBALS.getFlag(fCrateOpen)) && (BF_GLOBALS._player._visage == 921)) {
BF_GLOBALS._player.disableControl();
- scene->_object2.postInit();
-
- scene->_sceneMode = 9204;
+ scene->_crateWindow.postInit();
+ scene->_sceneMode = 9204;
if (!BF_GLOBALS.getFlag(fGotPointsForBoots)) {
BF_GLOBALS._uiElements.addScore(30);
BF_GLOBALS.setFlag(fGotPointsForBoots);
}
- scene->setAction(&scene->_sequenceManager1, scene, 9204, &BF_GLOBALS._player, &scene->_object2, NULL);
+ scene->setAction(&scene->_sequenceManager1, scene, 9204, &BF_GLOBALS._player, &scene->_crateWindow, NULL);
return true;
} else
return NamedHotspot::startAction(action, event);
@@ -2933,7 +2932,7 @@ bool Scene920::Item1::startAction(CursorType action, Event &event) {
scene->setAction(&scene->_sequenceManager1, scene, 9207, &BF_GLOBALS._player, NULL);
} else {
scene->_sceneMode = 9203;
- scene->setAction(&scene->_sequenceManager1, scene, 9203, &BF_GLOBALS._player, &scene->_object1, NULL);
+ scene->setAction(&scene->_sequenceManager1, scene, 9203, &BF_GLOBALS._player, &scene->_crateTop, NULL);
BF_GLOBALS.clearFlag(fCrateOpen);
}
} else {
@@ -2942,7 +2941,7 @@ bool Scene920::Item1::startAction(CursorType action, Event &event) {
}
} else {
scene->_sceneMode = 9202;
- scene->setAction(&scene->_sequenceManager1, scene, 9202, &BF_GLOBALS._player, &scene->_object1, NULL);
+ scene->setAction(&scene->_sequenceManager1, scene, 9202, &BF_GLOBALS._player, &scene->_crateTop, NULL);
BF_GLOBALS.setFlag(fCrateOpen);
}
return true;
@@ -2984,22 +2983,23 @@ void Scene920::postInit(SceneObjectList *OwnerList) {
BF_GLOBALS._dayNumber = 4;
BF_GLOBALS._player.postInit();
if (BF_GLOBALS._v4CEC8 != 0) {
- _object3.postInit();
- _object3.setVisage(922);
- _object3.setStrip(2);
- _object3.fixPriority(1);
- _object3.setPosition(Common::Point(145, 82));
+ _doorway.postInit();
+ _doorway.setVisage(922);
+ _doorway.setStrip(2);
+ _doorway.fixPriority(1);
+ _doorway.setPosition(Common::Point(145, 82));
}
- _object1.postInit();
- _object1.setVisage(922);
+ _crateTop.postInit();
+ _crateTop.setVisage(922);
if (BF_GLOBALS.getFlag(fCrateOpen)) {
- _object1.setStrip(3);
- _object1.setFrame(5);
+ _crateTop.setStrip(3);
+ _crateTop.setFrame(5);
}
- _object1.setPosition(Common::Point(158, 107));
- _object1.setPriority(130);
+ _crateTop.setPosition(Common::Point(158, 107));
+ _crateTop.fixPriority(130);
+
_exitN.setDetails(Rect(116, 12, 165, 81), 920, -1, -1, -1, 1, NULL);
_item6.setDetails(6, 920, 15, 16, 17, 1);
_item4.setDetails(5, 920, 12, 13, 14, 1);
@@ -3028,7 +3028,7 @@ void Scene920::signal() {
BF_GLOBALS._sceneManager.changeScene(910);
break;
case 9204:
- _object2.remove();
+ _crateWindow.remove();
BF_GLOBALS.setFlag(fSawGuns);
BF_GLOBALS._player.enableControl();
break;
diff --git a/engines/tsage/blue_force/blueforce_scenes9.h b/engines/tsage/blue_force/blueforce_scenes9.h
index 8fa6009c8c..98ca8d4cc1 100644
--- a/engines/tsage/blue_force/blueforce_scenes9.h
+++ b/engines/tsage/blue_force/blueforce_scenes9.h
@@ -315,9 +315,9 @@ public:
NamedHotspot _item5;
NamedHotspot _item6;
NamedHotspot _item7;
- NamedObject _object1;
- NamedObject _object2;
- NamedObject _object3;
+ NamedObject _crateTop;
+ NamedObject _crateWindow;
+ NamedObject _doorway;
Item8 _exitN;
Common::Point _oldCoord;