From f7d6938aa1d42882bc385ec6edda43d7fb472686 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sun, 25 Sep 2011 14:35:54 +1000 Subject: TSAGE: Bugfixes for Blue Force scene 315 --- engines/tsage/blue_force/blueforce_scenes3.cpp | 78 ++++++++++++++------------ engines/tsage/blue_force/blueforce_scenes3.h | 40 ++++++------- 2 files changed, 61 insertions(+), 57 deletions(-) (limited to 'engines') 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; -- cgit v1.2.3