aboutsummaryrefslogtreecommitdiff
path: root/engines/tsage/blue_force
diff options
context:
space:
mode:
authorPaul Gilbert2011-10-11 21:25:43 +1100
committerPaul Gilbert2011-10-11 21:25:43 +1100
commita52f090b7b9a5db749986ab4c66d59638ac3fbbd (patch)
treea980b9ed533c7289d9c3f7ec7378416d4060ac03 /engines/tsage/blue_force
parentbdfdac7bfaddd80c7393f5ab67483a8e6e7787a6 (diff)
downloadscummvm-rg350-a52f090b7b9a5db749986ab4c66d59638ac3fbbd.tar.gz
scummvm-rg350-a52f090b7b9a5db749986ab4c66d59638ac3fbbd.tar.bz2
scummvm-rg350-a52f090b7b9a5db749986ab4c66d59638ac3fbbd.zip
TSAGE: Bugfixes for Blue Force scene 710 - Beach
Diffstat (limited to 'engines/tsage/blue_force')
-rw-r--r--engines/tsage/blue_force/blueforce_logic.cpp1
-rw-r--r--engines/tsage/blue_force/blueforce_scenes7.cpp20
-rw-r--r--engines/tsage/blue_force/blueforce_scenes7.h8
3 files changed, 15 insertions, 14 deletions
diff --git a/engines/tsage/blue_force/blueforce_logic.cpp b/engines/tsage/blue_force/blueforce_logic.cpp
index c9538f6b8c..b945343ce7 100644
--- a/engines/tsage/blue_force/blueforce_logic.cpp
+++ b/engines/tsage/blue_force/blueforce_logic.cpp
@@ -185,6 +185,7 @@ Scene *BlueForceGame::createScene(int sceneNumber) {
// Decking
return new Scene690();
case 710:
+ // Beach
return new Scene710();
case 800:
// Jamison & Ryan
diff --git a/engines/tsage/blue_force/blueforce_scenes7.cpp b/engines/tsage/blue_force/blueforce_scenes7.cpp
index 1d94211871..2ced7ce08c 100644
--- a/engines/tsage/blue_force/blueforce_scenes7.cpp
+++ b/engines/tsage/blue_force/blueforce_scenes7.cpp
@@ -31,9 +31,10 @@ namespace TsAGE {
namespace BlueForce {
/*--------------------------------------------------------------------------
- * Scene 710 -
+ * Scene 710 - Beach
*
*--------------------------------------------------------------------------*/
+
void Scene710::Timer1::signal() {
PaletteRotation *rotation = BF_GLOBALS._scenePalette.addRotation(136, 138, -1);
rotation->setDelay(25);
@@ -58,8 +59,7 @@ void Scene710::Action1::signal() {
setDelay(3);
break;
case 1: {
- PlayerMover *mover = new PlayerMover();
- BF_GLOBALS._player.addMover(mover, &scene->_laura._position, scene);
+ ADD_MOVER(BF_GLOBALS._player, scene->_laura._position.x + 8, scene->_laura._position.y + 8);
break;
}
case 2:
@@ -67,7 +67,7 @@ void Scene710::Action1::signal() {
scene->_stripManager.start(_state, this);
break;
case 3:
- if (_state == 7105)
+ if (_state != 7105)
BF_GLOBALS._player.enableControl();
else {
BF_GLOBALS._player.disableControl();
@@ -76,7 +76,7 @@ void Scene710::Action1::signal() {
}
if (_state < 7104) {
_state++;
- if ((_state != 7104) && (BF_INVENTORY.getObjectScene(INV_CRATE1) == 1))
+ if ((_state == 7104) && (BF_INVENTORY.getObjectScene(INV_CRATE1) == 1))
_state = 7105;
}
remove();
@@ -101,7 +101,7 @@ bool Scene710::Object4::startAction(CursorType action, Event &event) {
Scene710 *scene = (Scene710 *)BF_GLOBALS._sceneManager._scene;
if ((action == CURSOR_LOOK) && (scene->_kid._position.x < 0)) {
- SceneItem::display(710, 13);
+ SceneItem::display2(710, 13);
return true;
} else
return NamedObject::startAction(action, event);
@@ -116,7 +116,7 @@ bool Scene710::Object5::startAction(CursorType action, Event &event) {
if (scene->_v1D64 <= 2)
return NamedObject::startAction(action, event);
else {
- SceneItem::display(710, 3);
+ SceneItem::display2(710, 3);
scene->_v1D66 = 1;
return true;
}
@@ -144,8 +144,8 @@ bool Scene710::Object5::startAction(CursorType action, Event &event) {
void Scene710::postInit(SceneObjectList *OwnerList) {
SceneExt::postInit();
loadScene(710);
-
_sceneBounds.moveTo(320, 0);
+
BF_GLOBALS._sound1.fadeSound(14);
_soundExt1.fadeSound(48);
_v51C34.set(40, 0, 280, 240);
@@ -195,7 +195,7 @@ void Scene710::postInit(SceneObjectList *OwnerList) {
}
void Scene710::signal() {
- switch (_sceneMode++) {
+ switch (_sceneMode) {
case 0:
BF_GLOBALS._player.enableControl();
break;
@@ -206,7 +206,7 @@ void Scene710::signal() {
break;
case 7101:
BF_GLOBALS._player.enableControl();
- BF_INVENTORY.setObjectScene(288, 36);
+ BF_INVENTORY.setObjectScene(INV_CRATE1, 1);
_stick.remove();
BF_GLOBALS._walkRegions.proc2(2);
break;
diff --git a/engines/tsage/blue_force/blueforce_scenes7.h b/engines/tsage/blue_force/blueforce_scenes7.h
index 9bb43453ef..91bd1e537f 100644
--- a/engines/tsage/blue_force/blueforce_scenes7.h
+++ b/engines/tsage/blue_force/blueforce_scenes7.h
@@ -91,10 +91,10 @@ public:
NamedHotspot _item9;
int _v1D62, _v1D64, _v1D66, _v1D68;
- void postInit(SceneObjectList *OwnerList = NULL);
- void signal();
- void dispatch();
- void synchronize(Serializer &s);
+ virtual void postInit(SceneObjectList *OwnerList = NULL);
+ virtual void signal();
+ virtual void dispatch();
+ virtual void synchronize(Serializer &s);
};
} // End of namespace BlueForce