aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorPaul Gilbert2011-09-25 14:35:54 +1000
committerPaul Gilbert2011-09-25 14:35:54 +1000
commitf7d6938aa1d42882bc385ec6edda43d7fb472686 (patch)
tree565e08c389f9c4d86ee3658678d2c9f005376aa4 /engines
parenta64f3f283523149e01d71e291d89ec077cf6e57a (diff)
downloadscummvm-rg350-f7d6938aa1d42882bc385ec6edda43d7fb472686.tar.gz
scummvm-rg350-f7d6938aa1d42882bc385ec6edda43d7fb472686.tar.bz2
scummvm-rg350-f7d6938aa1d42882bc385ec6edda43d7fb472686.zip
TSAGE: Bugfixes for Blue Force scene 315
Diffstat (limited to 'engines')
-rw-r--r--engines/tsage/blue_force/blueforce_scenes3.cpp78
-rw-r--r--engines/tsage/blue_force/blueforce_scenes3.h40
2 files changed, 61 insertions, 57 deletions
diff --git a/engines/tsage/blue_force/blueforce_scenes3.cpp b/engines/tsage/blue_force/blueforce_scenes3.cpp
index b3e3d667ac..8c3dc7b6e9 100644
--- a/engines/tsage/blue_force/blueforce_scenes3.cpp
+++ b/engines/tsage/blue_force/blueforce_scenes3.cpp
@@ -632,7 +632,7 @@ void Scene300::setup() {
*
*--------------------------------------------------------------------------*/
-bool Scene315::Item1::startAction(CursorType action, Event &event) {
+bool Scene315::Barry::startAction(CursorType action, Event &event) {
Scene315 *scene = (Scene315 *)BF_GLOBALS._sceneManager._scene;
scene->_currentCursor = action;
@@ -663,14 +663,14 @@ bool Scene315::Item1::startAction(CursorType action, Event &event) {
case INV_GREENS_GUN:
case INV_GREENS_KNIFE:
BF_GLOBALS._player.disableControl();
- if (BF_INVENTORY._bookingGreen._sceneNumber != 390) {
+ if (BF_INVENTORY._bookingGreen._sceneNumber == 390) {
scene->_stripNumber = 3174;
scene->setAction(&scene->_action1);
} else {
++scene->_field1B62;
scene->_stripNumber = (action == INV_GREENS_GUN) ? 3168 : 0;
- scene->_sceneMode = 3152;
- scene->setAction(&scene->_sequenceManager, scene, 3153, 1888, NULL);
+ scene->_sceneMode = 3153;
+ scene->setAction(&scene->_sequenceManager, scene, 3153, &BF_GLOBALS._player, NULL);
}
break;
case INV_FOREST_RAP:
@@ -735,7 +735,7 @@ bool Scene315::Item1::startAction(CursorType action, Event &event) {
return true;
}
-bool Scene315::Item2::startAction(CursorType action, Event &event) {
+bool Scene315::SutterSlot::startAction(CursorType action, Event &event) {
Scene315 *scene = (Scene315 *)BF_GLOBALS._sceneManager._scene;
switch (action) {
@@ -772,7 +772,7 @@ bool Scene315::Item2::startAction(CursorType action, Event &event) {
return true;
}
-bool Scene315::Item4::startAction(CursorType action, Event &event) {
+bool Scene315::Sign::startAction(CursorType action, Event &event) {
Scene315 *scene = (Scene315 *)BF_GLOBALS._sceneManager._scene;
if (action == CURSOR_LOOK) {
@@ -788,7 +788,7 @@ bool Scene315::Item4::startAction(CursorType action, Event &event) {
}
}
-bool Scene315::Item5::startAction(CursorType action, Event &event) {
+bool Scene315::BulletinBoard::startAction(CursorType action, Event &event) {
Scene315 *scene = (Scene315 *)BF_GLOBALS._sceneManager._scene;
if (action == CURSOR_LOOK) {
@@ -800,7 +800,7 @@ bool Scene315::Item5::startAction(CursorType action, Event &event) {
}
}
-bool Scene315::Item14::startAction(CursorType action, Event &event) {
+bool Scene315::CleaningKit::startAction(CursorType action, Event &event) {
Scene315 *scene = (Scene315 *)BF_GLOBALS._sceneManager._scene;
if ((action == INV_COLT45) && BF_GLOBALS.getFlag(onDuty)) {
@@ -823,7 +823,7 @@ bool Scene315::Item14::startAction(CursorType action, Event &event) {
}
}
-bool Scene315::Item15::startAction(CursorType action, Event &event) {
+bool Scene315::BriefingMaterial::startAction(CursorType action, Event &event) {
Scene315 *scene = (Scene315 *)BF_GLOBALS._sceneManager._scene;
if (action != CURSOR_USE)
@@ -839,19 +839,19 @@ bool Scene315::Item15::startAction(CursorType action, Event &event) {
}
}
-bool Scene315::Item16::startAction(CursorType action, Event &event) {
+bool Scene315::WestExit::startAction(CursorType action, Event &event) {
ADD_PLAYER_MOVER_NULL(BF_GLOBALS._player, 190, 75);
return true;
}
-bool Scene315::Item17::startAction(CursorType action, Event &event) {
+bool Scene315::SouthWestExit::startAction(CursorType action, Event &event) {
ADD_PLAYER_MOVER_NULL(BF_GLOBALS._player, event.mousePos.x, event.mousePos.y);
return true;
}
/*--------------------------------------------------------------------------*/
-bool Scene315::Object1::startAction(CursorType action, Event &event) {
+bool Scene315::BulletinMemo::startAction(CursorType action, Event &event) {
Scene315 *scene = (Scene315 *)BF_GLOBALS._sceneManager._scene;
switch (action) {
@@ -894,7 +894,7 @@ bool Scene315::Object2::startAction(CursorType action, Event &event) {
}
}
-bool Scene315::Object3::startAction(CursorType action, Event &event) {
+bool Scene315::ATFMemo::startAction(CursorType action, Event &event) {
Scene315 *scene = (Scene315 *)BF_GLOBALS._sceneManager._scene;
switch (action) {
@@ -997,24 +997,24 @@ void Scene315::postInit(SceneObjectList *OwnerList) {
_object8.setPosition(Common::Point(272, 69));
if (BF_GLOBALS._bookmark >= bLauraToParamedics) {
- _object3.postInit();
- _object3.setVisage(315);
- _object3.setPosition(Common::Point(167, 53));
- _object3.setStrip(4);
- _object3.setFrame(4);
- _object3.fixPriority(82);
- _object3.setDetails(315, -1, -1, -1, 1, NULL);
+ _atfMemo.postInit();
+ _atfMemo.setVisage(315);
+ _atfMemo.setPosition(Common::Point(167, 53));
+ _atfMemo.setStrip(4);
+ _atfMemo.setFrame(4);
+ _atfMemo.fixPriority(82);
+ _atfMemo.setDetails(315, -1, -1, -1, 1, NULL);
}
if (BF_GLOBALS._dayNumber == 1) {
if (BF_GLOBALS._bookmark >= bLauraToParamedics) {
- _object1.postInit();
- _object1.setVisage(315);
- _object1.setPosition(Common::Point(156, 51));
- _object1.setStrip(4);
- _object1.setFrame(2);
- _object1.fixPriority(82);
- _object1.setDetails(315, -1, -1, -1, 1, NULL);
+ _bulletinMemo.postInit();
+ _bulletinMemo.setVisage(315);
+ _bulletinMemo.setPosition(Common::Point(156, 51));
+ _bulletinMemo.setStrip(4);
+ _bulletinMemo.setFrame(2);
+ _bulletinMemo.fixPriority(82);
+ _bulletinMemo.setDetails(315, -1, -1, -1, 1, NULL);
}
} else if ((BF_INVENTORY._daNote._sceneNumber != 1) && (BF_GLOBALS._dayNumber < 3)) {
_object2.postInit();
@@ -1026,13 +1026,13 @@ void Scene315::postInit(SceneObjectList *OwnerList) {
_object2.setDetails(315, 3, 4, -1, 1, NULL);
}
- _item2.setDetails(12, 315, 35, -1, 36, 1);
- _item5.setDetails(3, 315, -1, -1, -1, 1);
- _item1.setDetails(4, 315, 10, 11, 12, 1);
+ _sutterSlot.setDetails(12, 315, 35, -1, 36, 1);
+ _bulletinBoard.setDetails(3, 315, -1, -1, -1, 1);
+ _barry.setDetails(4, 315, 10, 11, 12, 1);
_item3.setDetails(2, 315, 0, 1, 2, 1);
- _item4.setDetails(Rect(190, 17, 208, 30), 315, -1, -1, -1, 1, NULL);
- _item16.setDetails(Rect(184, 31, 211, 80), 315, -1, -1, -1, 1, NULL);
- _item17.setDetails(Rect(0, 157, 190, 167), 315, -1, -1, -1, 1, NULL);
+ _sign.setDetails(Rect(190, 17, 208, 30), 315, -1, -1, -1, 1, NULL);
+ _westExit.setDetails(Rect(184, 31, 211, 80), 315, -1, -1, -1, 1, NULL);
+ _swExit.setDetails(Rect(0, 157, 190, 167), 315, -1, -1, -1, 1, NULL);
if (!BF_GLOBALS.getFlag(onDuty) && ((BF_GLOBALS._bookmark == bNone) || (BF_GLOBALS._bookmark == bLyleStoppedBy))) {
_field1398 = 1;
@@ -1115,8 +1115,8 @@ void Scene315::postInit(SceneObjectList *OwnerList) {
BF_GLOBALS._walkRegions.proc1(4);
}
- _item15.setDetails(24, 315, 38, 39, 40, 1);
- _item14.setDetails(14, 315, 24, 25, 26, 1);
+ _briefingMaterial.setDetails(24, 315, 38, 39, 40, 1);
+ _cleaningKit.setDetails(14, 315, 24, 25, 26, 1);
_item7.setDetails(5, 315, 8, 9, -1, 1);
_item6.setDetails(6, 315, 5, 6, 7, 1);
_item10.setDetails(8, 315, 13, -1, -1, 1);
@@ -1295,10 +1295,10 @@ void Scene315::process(Event &event) {
if (BF_GLOBALS._player._enabled && !_eventHandler && (event.mousePos.y < (BF_INTERFACE_Y - 1))) {
// Check if the cursor is on an exit
- if (_item17.contains(event.mousePos)) {
+ if (_swExit.contains(event.mousePos)) {
GfxSurface surface = _cursorVisage.getFrame(EXITFRAME_SW);
BF_GLOBALS._events.setCursor(surface);
- } else if ((BF_GLOBALS._bookmark != bBookedFrankie) && _item16.contains(event.mousePos)) {
+ } else if ((BF_GLOBALS._bookmark != bBookedFrankie) && _westExit.contains(event.mousePos)) {
GfxSurface surface = _cursorVisage.getFrame(EXITFRAME_W);
BF_GLOBALS._events.setCursor(surface);
} else {
@@ -5892,14 +5892,18 @@ void Scene390::signal() {
_object3.setPosition(Common::Point(250, 60));
_object3.fixPriority(255);
_object3.setDetails(390, 8, -1, 9, 2, NULL);
+
+ BF_GLOBALS._player.enableControl();
break;
case 3903:
SceneItem::display2(390, 18);
+ BF_GLOBALS._player.enableControl();
break;
case 3905:
BF_GLOBALS._uiElements.addScore(30);
_object2.remove();
BF_INVENTORY.setObjectScene(INV_HANDCUFFS, 1);
+ BF_GLOBALS._player.enableControl();
break;
case 3906:
BF_GLOBALS._deathReason = 18;
diff --git a/engines/tsage/blue_force/blueforce_scenes3.h b/engines/tsage/blue_force/blueforce_scenes3.h
index 299f0cec45..7b4c5a751f 100644
--- a/engines/tsage/blue_force/blueforce_scenes3.h
+++ b/engines/tsage/blue_force/blueforce_scenes3.h
@@ -133,7 +133,7 @@ public:
class Scene315: public SceneExt {
/* Objects */
- class Object1: public NamedObject {
+ class BulletinMemo: public NamedObject {
public:
virtual bool startAction(CursorType action, Event &event);
};
@@ -141,41 +141,41 @@ class Scene315: public SceneExt {
public:
virtual bool startAction(CursorType action, Event &event);
};
- class Object3: public NamedObject {
+ class ATFMemo: public NamedObject {
public:
virtual bool startAction(CursorType action, Event &event);
};
/* Items */
- class Item1: public NamedHotspot {
+ class Barry: public NamedHotspot {
public:
virtual bool startAction(CursorType action, Event &event);
};
- class Item2: public NamedHotspot {
+ class SutterSlot: public NamedHotspot {
public:
virtual bool startAction(CursorType action, Event &event);
};
- class Item4: public NamedHotspot {
+ class Sign: public NamedHotspot {
public:
virtual bool startAction(CursorType action, Event &event);
};
- class Item5: public NamedHotspot {
+ class BulletinBoard: public NamedHotspot {
public:
virtual bool startAction(CursorType action, Event &event);
};
- class Item14: public NamedHotspot {
+ class CleaningKit: public NamedHotspot {
public:
virtual bool startAction(CursorType action, Event &event);
};
- class Item15: public NamedHotspot {
+ class BriefingMaterial: public NamedHotspot {
public:
virtual bool startAction(CursorType action, Event &event);
};
- class Item16: public NamedHotspot {
+ class WestExit: public NamedHotspot {
public:
virtual bool startAction(CursorType action, Event &event);
};
- class Item17: public NamedHotspot {
+ class SouthWestExit: public NamedHotspot {
public:
virtual bool startAction(CursorType action, Event &event);
};
@@ -193,22 +193,22 @@ public:
SpeakerJakeJacket _jakeJacketSpeaker;
SpeakerJakeUniform _jakeUniformSpeaker;
SpeakerJailer _jailerSpeaker;
- Item1 _item1;
- Item2 _item2;
+ Barry _barry;
+ SutterSlot _sutterSlot;
NamedHotspot _item3;
- Item4 _item4;
- Item5 _item5;
- Object1 _object1;
+ Sign _sign;
+ BulletinBoard _bulletinBoard;
+ BulletinMemo _bulletinMemo;
Object2 _object2;
- Object3 _object3;
+ ATFMemo _atfMemo;
SceneObject _object4, _object5, _object6;
SceneObject _object7, _object8, _object9;
NamedHotspot _item6, _item7, _item8, _item9;
NamedHotspot _item10, _item11, _item12, _item13;
- Item14 _item14;
- Item15 _item15;
- Item16 _item16;
- Item17 _item17;
+ CleaningKit _cleaningKit;
+ BriefingMaterial _briefingMaterial;
+ WestExit _westExit;
+ SouthWestExit _swExit;
Action1 _action1;
int _field1390;
int _stripNumber;