diff options
author | Willem Jan Palenstijn | 2013-04-18 23:35:23 +0200 |
---|---|---|
committer | Willem Jan Palenstijn | 2013-05-08 20:40:58 +0200 |
commit | 9c2341678ef4984bf92b3878295250faf980b066 (patch) | |
tree | 2fb4805e05e16b9924e80c9947e6bad723b28c4b /engines/tsage/blue_force | |
parent | 8172d679df5148a4a32f46074b20cb6caf91844f (diff) | |
parent | a5f4ff36ffc386d48f2da49387a9655ce9295a4d (diff) | |
download | scummvm-rg350-9c2341678ef4984bf92b3878295250faf980b066.tar.gz scummvm-rg350-9c2341678ef4984bf92b3878295250faf980b066.tar.bz2 scummvm-rg350-9c2341678ef4984bf92b3878295250faf980b066.zip |
Merge branch 'master'
Diffstat (limited to 'engines/tsage/blue_force')
22 files changed, 1527 insertions, 1365 deletions
diff --git a/engines/tsage/blue_force/blueforce_dialogs.cpp b/engines/tsage/blue_force/blueforce_dialogs.cpp index 86feceb015..a76d5839a9 100644 --- a/engines/tsage/blue_force/blueforce_dialogs.cpp +++ b/engines/tsage/blue_force/blueforce_dialogs.cpp @@ -163,9 +163,12 @@ void RightClickDialog::execute() { } g_system->delayMillis(10); - g_system->updateScreen(); + GLOBALS._screenSurface.updateScreen(); } + // Deactivate the graphics manager used for the dialog + _gfxManager.deactivate(); + // Execute the specified action CursorType cursorNum = CURSOR_NONE; switch (_selectedAction) { @@ -187,13 +190,12 @@ void RightClickDialog::execute() { break; case 4: // Options dialog + BlueForce::OptionsDialog::show(); break; } if (cursorNum != CURSOR_NONE) BF_GLOBALS._events.setCursor(cursorNum); - - _gfxManager.deactivate(); } /*--------------------------------------------------------------------------*/ @@ -242,7 +244,7 @@ void AmmoBeltDialog::execute() { } g_system->delayMillis(10); - g_system->updateScreen(); + GLOBALS._screenSurface.updateScreen(); } _gfxManager.deactivate(); @@ -342,7 +344,7 @@ void AmmoBeltDialog::draw() { // Draw the first clip if necessary if (clip1) { - GfxSurface clipSurface = surfaceFromRes(9, 6, BF_GLOBALS._clip1Bullets); + GfxSurface clipSurface = surfaceFromRes(9, 6, BF_GLOBALS._clip1Bullets + 1); _clip1Rect.resize(clipSurface, _clip1Rect.left, _clip1Rect.top, 100); g_globals->gfxManager().copyFrom(clipSurface, bounds.left + _clip1Rect.left, bounds.top + _clip1Rect.top); @@ -350,7 +352,7 @@ void AmmoBeltDialog::draw() { // Draw the second clip if necessary if (clip2) { - GfxSurface clipSurface = surfaceFromRes(9, 6, BF_GLOBALS._clip2Bullets); + GfxSurface clipSurface = surfaceFromRes(9, 6, BF_GLOBALS._clip2Bullets + 1); _clip2Rect.resize(clipSurface, _clip2Rect.left, _clip2Rect.top, 100); g_globals->gfxManager().copyFrom(clipSurface, bounds.left + _clip2Rect.left, bounds.top + _clip2Rect.top); @@ -428,6 +430,88 @@ int RadioConvDialog::show() { return btnIndex; } +/*--------------------------------------------------------------------------*/ + +void OptionsDialog::show() { + OptionsDialog *dlg = new OptionsDialog(); + dlg->draw(); + + // Show the dialog + GfxButton *btn = dlg->execute(); + + // Get which button was pressed + int btnIndex = -1; + if (btn == &dlg->_btnRestore) + btnIndex = 0; + else if (btn == &dlg->_btnSave) + btnIndex = 1; + else if (btn == &dlg->_btnRestart) + btnIndex = 2; + else if (btn == &dlg->_btnQuit) + btnIndex = 3; + else if (btn == &dlg->_btnSound) + btnIndex = 4; + + // Close the dialog + dlg->remove(); + delete dlg; + + // Execute the given selection + if (btnIndex == 0) { + // Restore button + g_globals->_game->restoreGame(); + } else if (btnIndex == 1) { + // Save button + g_globals->_game->saveGame(); + } else if (btnIndex == 2) { + // Restart game + g_globals->_game->restartGame(); + } else if (btnIndex == 3) { + // Quit game + if (MessageDialog::show(QUIT_CONFIRM_MSG, CANCEL_BTN_STRING, QUIT_BTN_STRING) == 1) { + g_vm->quitGame(); + } + } else if (btnIndex == 4) { + // Sound dialog + SoundDialog::execute(); + } +} + +OptionsDialog::OptionsDialog() { + // Set the element text + _gfxMessage.set(OPTIONS_MSG, 140, ALIGN_LEFT); + _btnRestore.setText(RESTORE_BTN_STRING); + _btnSave.setText(SAVE_BTN_STRING); + _btnRestart.setText(RESTART_BTN_STRING); + _btnQuit.setText(QUIT_BTN_STRING); + _btnSound.setText(SOUND_BTN_STRING); + _btnResume.setText(RESUME_BTN_STRING); + + // Set position of the elements + _gfxMessage._bounds.moveTo(0, 1); + _btnRestore._bounds.moveTo(0, _gfxMessage._bounds.bottom + 1); + _btnSave._bounds.moveTo(0, _btnRestore._bounds.bottom + 1); + _btnRestart._bounds.moveTo(0, _btnSave._bounds.bottom + 1); + _btnQuit._bounds.moveTo(0, _btnRestart._bounds.bottom + 1); + _btnSound._bounds.moveTo(0, _btnQuit._bounds.bottom + 1); + _btnResume._bounds.moveTo(0, _btnSound._bounds.bottom + 1); + + // Set all the buttons to the widest button + GfxButton *btnList[6] = {&_btnRestore, &_btnSave, &_btnRestart, &_btnQuit, &_btnSound, &_btnResume}; + int16 btnWidth = 0; + for (int idx = 0; idx < 6; ++idx) + btnWidth = MAX(btnWidth, btnList[idx]->_bounds.width()); + for (int idx = 0; idx < 6; ++idx) + btnList[idx]->_bounds.setWidth(btnWidth); + + // Add the items to the dialog + addElements(&_gfxMessage, &_btnRestore, &_btnSave, &_btnRestart, &_btnQuit, &_btnSound, &_btnResume, NULL); + + // Set the dialog size and position + frame(); + _bounds.collapse(-6, -6); + setCenter(160, 90); +} } // End of namespace BlueForce diff --git a/engines/tsage/blue_force/blueforce_dialogs.h b/engines/tsage/blue_force/blueforce_dialogs.h index ca51c97aa2..76de7d19d9 100644 --- a/engines/tsage/blue_force/blueforce_dialogs.h +++ b/engines/tsage/blue_force/blueforce_dialogs.h @@ -85,6 +85,20 @@ public: static int show(); }; +class OptionsDialog: public GfxDialog { +private: + GfxButton _btnSave, _btnRestore, _btnRestart; + GfxButton _btnQuit, _btnResume; + GfxButton _btnSound; + GfxMessage _gfxMessage; +public: + OptionsDialog(); + virtual ~OptionsDialog() {} + + static void show(); +}; + + } // End of namespace BlueForce } // End of namespace TsAGE diff --git a/engines/tsage/blue_force/blueforce_logic.cpp b/engines/tsage/blue_force/blueforce_logic.cpp index 130cf557b2..3aef18f4f0 100644 --- a/engines/tsage/blue_force/blueforce_logic.cpp +++ b/engines/tsage/blue_force/blueforce_logic.cpp @@ -20,6 +20,7 @@ * */ +#include "common/config-manager.h" #include "tsage/blue_force/blueforce_logic.h" #include "tsage/blue_force/blueforce_dialogs.h" #include "tsage/blue_force/blueforce_scenes0.h" @@ -42,8 +43,25 @@ namespace TsAGE { namespace BlueForce { void BlueForceGame::start() { - // Start the game - g_globals->_sceneManager.changeScene(20); + int slot = -1; + + // Check for a savegame to load straight from the launcher + if (ConfMan.hasKey("save_slot")) { + slot = ConfMan.getInt("save_slot"); + Common::String file = g_vm->generateSaveName(slot); + Common::InSaveFile *in = g_vm->_system->getSavefileManager()->openForLoading(file); + if (in) + delete in; + else + slot = -1; + } + + if (slot >= 0) + // Set the savegame slot to load in the main loop + g_globals->_sceneHandler->_loadGameSlot = slot; + else + // Switch to the title screen + g_globals->_sceneManager.setNewScene(20); } Scene *BlueForceGame::createScene(int sceneNumber) { @@ -255,14 +273,16 @@ Scene *BlueForceGame::createScene(int sceneNumber) { * Returns true if it is currently okay to restore a game */ bool BlueForceGame::canLoadGameStateCurrently() { - return true; + // Don't allow a game to be loaded if a dialog is active + return g_globals->_gfxManagers.size() == 1; } /** * Returns true if it is currently okay to save the game */ bool BlueForceGame::canSaveGameStateCurrently() { - return true; + // Don't allow a game to be saved if a dialog is active + return g_globals->_gfxManagers.size() == 1; } void BlueForceGame::rightClick() { @@ -315,6 +335,24 @@ void BlueForceGame::processEvent(Event &event) { } } +void BlueForceGame::restart() { + g_globals->_scenePalette.clearListeners(); + g_globals->_soundHandler.stop(); + + // Reset the globals + g_globals->reset(); + + // Clear save/load slots + g_globals->_sceneHandler->_saveGameSlot = -1; + g_globals->_sceneHandler->_loadGameSlot = -1; + + g_globals->_stripNum = 0; + g_globals->_events.setCursor(CURSOR_WALK); + + // Change to the first game scene + g_globals->_sceneManager.changeScene(190); +} + /*--------------------------------------------------------------------------*/ AObjectArray::AObjectArray(): EventHandler() { @@ -515,35 +553,6 @@ bool NamedObject::startAction(CursorType action, Event &event) { return handled; } -void NamedObject::setDetails(int resNum, int lookLineNum, int talkLineNum, int useLineNum, int mode, SceneItem *item) { - _resNum = resNum; - _lookLineNum = lookLineNum; - _talkLineNum = talkLineNum; - _useLineNum = useLineNum; - - switch (mode) { - case 2: - g_globals->_sceneItems.push_front(this); - break; - case 4: - g_globals->_sceneItems.addBefore(item, this); - break; - case 5: - g_globals->_sceneItems.addAfter(item, this); - break; - default: - g_globals->_sceneItems.push_back(this); - break; - } -} - -void NamedObject::setDetails(int resNum, int lookLineNum, int talkLineNum, int useLineNum) { - _resNum = resNum; - _lookLineNum = lookLineNum; - _talkLineNum = talkLineNum; - _useLineNum = useLineNum; -} - /*--------------------------------------------------------------------------*/ CountdownObject::CountdownObject(): NamedObject() { @@ -604,14 +613,14 @@ void FollowerObject::dispatch() { } else if ((_object->_visage != 308) || (_object->_strip != 1)) { show(); setStrip(_object->_strip); - setPosition(_object->_position, _object->_yDiff); + setPosition(Common::Point(_object->_position.x + 1, _object->_position.y), _yDiff); } } void FollowerObject::reposition() { assert(_object); setStrip(_object->_strip); - setPosition(_object->_position, _object->_yDiff); + setPosition(_object->_position, _yDiff); NamedObject::reposition(); } @@ -724,7 +733,7 @@ void SceneExt::remove() { _action->_endHandler = NULL; _action->remove(); } - + _focusObject = NULL; } @@ -755,6 +764,7 @@ void SceneExt::loadScene(int sceneNum) { _v51C34.top = 0; _v51C34.bottom = 300; + BF_GLOBALS._sceneHandler->_delayTicks = 1; } void SceneExt::checkGun() { @@ -955,7 +965,7 @@ void SceneHandlerExt::process(Event &event) { return; } - // If the user clicks the button whislt the introduction is active, prompt for playing the game + // If the user clicks the button whilst the introduction is active, prompt for playing the game if ((BF_GLOBALS._dayNumber == 0) && (event.eventType == EVENT_BUTTON_DOWN)) { // Prompt user for whether to start play or watch introduction BF_GLOBALS._player.enableControl(); @@ -1316,7 +1326,7 @@ bool BlueForceInvObjectList::SelectItem(int objectNumber) { AmmoBeltDialog *dlg = new AmmoBeltDialog(); dlg->execute(); delete dlg; - + return true; } @@ -1358,58 +1368,6 @@ bool NamedHotspot::startAction(CursorType action, Event &event) { } } -void NamedHotspot::setDetails(int ys, int xs, int ye, int xe, const int resnum, const int lookLineNum, const int useLineNum) { - setBounds(ys, xe, ye, xs); - _resNum = resnum; - _lookLineNum = lookLineNum; - _useLineNum = useLineNum; - _talkLineNum = -1; - g_globals->_sceneItems.addItems(this, NULL); -} - -void NamedHotspot::setDetails(const Rect &bounds, int resNum, int lookLineNum, int talkLineNum, int useLineNum, int mode, SceneItem *item) { - setBounds(bounds); - _resNum = resNum; - _lookLineNum = lookLineNum; - _talkLineNum = talkLineNum; - _useLineNum = useLineNum; - - switch (mode) { - case 2: - g_globals->_sceneItems.push_front(this); - break; - case 4: - g_globals->_sceneItems.addBefore(item, this); - break; - case 5: - g_globals->_sceneItems.addAfter(item, this); - break; - default: - g_globals->_sceneItems.push_back(this); - break; - } -} - -void NamedHotspot::setDetails(int sceneRegionId, int resNum, int lookLineNum, int talkLineNum, int useLineNum, int mode) { - _sceneRegionId = sceneRegionId; - _resNum = resNum; - _lookLineNum = lookLineNum; - _talkLineNum = talkLineNum; - _useLineNum = useLineNum; - - // Handle adding hotspot to scene items list as necessary - switch (mode) { - case 2: - GLOBALS._sceneItems.push_front(this); - break; - case 3: - break; - default: - GLOBALS._sceneItems.push_back(this); - break; - } -} - void NamedHotspot::synchronize(Serializer &s) { SceneHotspot::synchronize(s); s.syncAsSint16LE(_resNum); @@ -1450,7 +1408,7 @@ void SceneMessage::signal() { } void SceneMessage::process(Event &event) { - if ((event.eventType == EVENT_BUTTON_DOWN) || + if ((event.eventType == EVENT_BUTTON_DOWN) || ((event.eventType == EVENT_KEYPRESS) && (event.kbd.keycode == Common::KEYCODE_RETURN))) { signal(); } @@ -1481,7 +1439,7 @@ void SceneMessage::draw() { void SceneMessage::clear() { // Fade out the text display - static const uint32 black = 0; + static const uint32 black = 0; BF_GLOBALS._scenePalette.fade((const byte *)&black, false, 100); // Refresh the background diff --git a/engines/tsage/blue_force/blueforce_logic.h b/engines/tsage/blue_force/blueforce_logic.h index 1b161bce06..59bc2b7a51 100644 --- a/engines/tsage/blue_force/blueforce_logic.h +++ b/engines/tsage/blue_force/blueforce_logic.h @@ -45,6 +45,7 @@ public: virtual void processEvent(Event &event); virtual bool canSaveGameStateCurrently(); virtual bool canLoadGameStateCurrently(); + virtual void restart(); }; #define OBJ_ARRAY_SIZE 10 @@ -64,6 +65,9 @@ public: void add(EventHandler *obj); void remove(EventHandler *obj); + // The following line prevents compiler warnings about hiding the remove() + // method from the parent class. + virtual void remove() { EventHandler::remove(); } }; class Timer: public EventHandler { @@ -115,16 +119,10 @@ public: class NamedObject: public SceneObject { public: - int _resNum; - int _lookLineNum, _talkLineNum, _useLineNum; - virtual Common::String getClassName() { return "NamedObject"; } virtual void synchronize(Serializer &s); virtual void postInit(SceneObjectList *OwnerList = NULL); virtual bool startAction(CursorType action, Event &event); - - void setDetails(int resNum, int lookLineNum, int talkLineNum, int useLineNum, int mode, SceneItem *item); - void setDetails(int resNum, int lookLineNum, int talkLineNum, int useLineNum); }; class NamedObjectExt: public NamedObject { @@ -334,16 +332,11 @@ public: class NamedHotspot : public SceneHotspot { public: - int _resNum, _lookLineNum, _useLineNum, _talkLineNum; NamedHotspot(); - virtual bool startAction(CursorType action, Event &event); virtual Common::String getClassName() { return "NamedHotspot"; } virtual void synchronize(Serializer &s); - virtual void setDetails(int ys, int xs, int ye, int xe, const int resnum, const int lookLineNum, const int useLineNum); - virtual void setDetails(const Rect &bounds, int resNum, int lookLineNum, int talkLineNum, int useLineNum, int mode, SceneItem *item); - virtual void setDetails(int sceneRegionId, int resNum, int lookLineNum, int talkLineNum, int useLineNum, int mode); }; class NamedHotspotExt : public NamedHotspot { diff --git a/engines/tsage/blue_force/blueforce_scenes0.cpp b/engines/tsage/blue_force/blueforce_scenes0.cpp index bb283d051e..95598babc6 100644 --- a/engines/tsage/blue_force/blueforce_scenes0.cpp +++ b/engines/tsage/blue_force/blueforce_scenes0.cpp @@ -48,45 +48,45 @@ void Scene20::Action1::signal() { BF_GLOBALS._scenePalette.addRotation(64, 127, -1, 1, this); break; case 2: - scene->_object1.setVisage(22); - scene->_object1._strip = 1; - scene->_object1._frame = 1; - scene->_object1.changeZoom(100); - - scene->_object2.setVisage(22); - scene->_object2._strip = 2; - scene->_object2._frame = 1; - scene->_object2.changeZoom(100); - - scene->_object3.setVisage(22); - scene->_object3._strip = 3; - scene->_object3._frame = 1; - scene->_object3.changeZoom(100); - - scene->_object4.setVisage(22); - scene->_object4._strip = 4; - scene->_object4._frame = 1; - scene->_object4.changeZoom(100); - - scene->_object5.setVisage(22); - scene->_object5._strip = 5; - scene->_object5._frame = 1; - scene->_object5.changeZoom(100); - - scene->_object6.setVisage(22); - scene->_object6._strip = 6; - scene->_object6._frame = 1; - scene->_object6.changeZoom(100); - - scene->_object7.setVisage(22); - scene->_object7._strip = 7; - scene->_object7._frame = 1; - scene->_object7.changeZoom(100); - - scene->_object8.setVisage(22); - scene->_object8._strip = 8; - scene->_object8._frame = 1; - scene->_object8.changeZoom(100); + scene->_tsunamiWave.setVisage(22); + scene->_tsunamiWave._strip = 1; + scene->_tsunamiWave._frame = 1; + scene->_tsunamiWave.changeZoom(100); + + scene->_letterT.setVisage(22); + scene->_letterT._strip = 2; + scene->_letterT._frame = 1; + scene->_letterT.changeZoom(100); + + scene->_letterS.setVisage(22); + scene->_letterS._strip = 3; + scene->_letterS._frame = 1; + scene->_letterS.changeZoom(100); + + scene->_letterU.setVisage(22); + scene->_letterU._strip = 4; + scene->_letterU._frame = 1; + scene->_letterU.changeZoom(100); + + scene->_letterN.setVisage(22); + scene->_letterN._strip = 5; + scene->_letterN._frame = 1; + scene->_letterN.changeZoom(100); + + scene->_letterA.setVisage(22); + scene->_letterA._strip = 6; + scene->_letterA._frame = 1; + scene->_letterA.changeZoom(100); + + scene->_letterM.setVisage(22); + scene->_letterM._strip = 7; + scene->_letterM._frame = 1; + scene->_letterM.changeZoom(100); + + scene->_letterI.setVisage(22); + scene->_letterI._strip = 8; + scene->_letterI._frame = 1; + scene->_letterI.changeZoom(100); setDelay(1); break; @@ -97,12 +97,12 @@ void Scene20::Action1::signal() { setDelay(60); break; case 5: - scene->_object2.animate(ANIM_MODE_5, NULL); - scene->_object3.animate(ANIM_MODE_5, NULL); - scene->_object4.animate(ANIM_MODE_5, NULL); - scene->_object5.animate(ANIM_MODE_5, NULL); - scene->_object6.animate(ANIM_MODE_5, NULL); - scene->_object7.animate(ANIM_MODE_5, this); + scene->_letterT.animate(ANIM_MODE_5, NULL); + scene->_letterS.animate(ANIM_MODE_5, NULL); + scene->_letterU.animate(ANIM_MODE_5, NULL); + scene->_letterN.animate(ANIM_MODE_5, NULL); + scene->_letterA.animate(ANIM_MODE_5, NULL); + scene->_letterM.animate(ANIM_MODE_5, this); break; case 6: setDelay(120); @@ -121,76 +121,76 @@ void Scene20::Action1::signal() { void Scene20::postInit(SceneObjectList *OwnerList) { loadScene(20); - Scene::postInit(); + SceneExt::postInit(); setZoomPercents(60, 85, 200, 100); BF_GLOBALS._interfaceY = SCREEN_HEIGHT; _scenePalette.loadPalette(1); _scenePalette.loadPalette(22); - _object1.postInit(); - _object1.setVisage(21); - _object1._strip = 1; - _object1._frame = 1; - _object1.animate(ANIM_MODE_NONE, NULL); - _object1.setPosition(Common::Point(62, 85)); - _object1.changeZoom(100); - - _object2.postInit(); - _object2.setVisage(21); - _object2._strip = 2; - _object2._frame = 1; - _object2.animate(ANIM_MODE_NONE, NULL); - _object2.setPosition(Common::Point(27, 94)); - _object2.changeZoom(100); - - _object3.postInit(); - _object3.setVisage(21); - _object3._strip = 2; - _object3._frame = 2; - _object3.animate(ANIM_MODE_NONE, NULL); - _object3.setPosition(Common::Point(68, 94)); - _object3.changeZoom(100); - - _object4.postInit(); - _object4.setVisage(21); - _object4._strip = 2; - _object4._frame = 3; - _object4.animate(ANIM_MODE_NONE, NULL); - _object4.setPosition(Common::Point(110, 94)); - _object4.changeZoom(100); - - _object5.postInit(); - _object5.setVisage(21); - _object5._strip = 2; - _object5._frame = 4; - _object5.animate(ANIM_MODE_NONE, NULL); - _object5.setPosition(Common::Point(154, 94)); - _object5.changeZoom(100); - - _object6.postInit(); - _object6.setVisage(21); - _object6._strip = 2; - _object6._frame = 5; - _object6.animate(ANIM_MODE_NONE, NULL); - _object6.setPosition(Common::Point(199, 94)); - _object6.changeZoom(100); - - _object7.postInit(); - _object7.setVisage(21); - _object7._strip = 2; - _object7._frame = 6; - _object7.animate(ANIM_MODE_NONE, NULL); - _object7.setPosition(Common::Point(244, 94)); - _object7.changeZoom(100); - - _object8.postInit(); - _object8.setVisage(21); - _object8._strip = 2; - _object8._frame = 7; - _object8.animate(ANIM_MODE_NONE, NULL); - _object8.setPosition(Common::Point(286, 94)); - _object8.changeZoom(100); + _tsunamiWave.postInit(); + _tsunamiWave.setVisage(21); + _tsunamiWave._strip = 1; + _tsunamiWave._frame = 1; + _tsunamiWave.animate(ANIM_MODE_NONE, NULL); + _tsunamiWave.setPosition(Common::Point(62, 85)); + _tsunamiWave.changeZoom(100); + + _letterT.postInit(); + _letterT.setVisage(21); + _letterT._strip = 2; + _letterT._frame = 1; + _letterT.animate(ANIM_MODE_NONE, NULL); + _letterT.setPosition(Common::Point(27, 94)); + _letterT.changeZoom(100); + + _letterS.postInit(); + _letterS.setVisage(21); + _letterS._strip = 2; + _letterS._frame = 2; + _letterS.animate(ANIM_MODE_NONE, NULL); + _letterS.setPosition(Common::Point(68, 94)); + _letterS.changeZoom(100); + + _letterU.postInit(); + _letterU.setVisage(21); + _letterU._strip = 2; + _letterU._frame = 3; + _letterU.animate(ANIM_MODE_NONE, NULL); + _letterU.setPosition(Common::Point(110, 94)); + _letterU.changeZoom(100); + + _letterN.postInit(); + _letterN.setVisage(21); + _letterN._strip = 2; + _letterN._frame = 4; + _letterN.animate(ANIM_MODE_NONE, NULL); + _letterN.setPosition(Common::Point(154, 94)); + _letterN.changeZoom(100); + + _letterA.postInit(); + _letterA.setVisage(21); + _letterA._strip = 2; + _letterA._frame = 5; + _letterA.animate(ANIM_MODE_NONE, NULL); + _letterA.setPosition(Common::Point(199, 94)); + _letterA.changeZoom(100); + + _letterM.postInit(); + _letterM.setVisage(21); + _letterM._strip = 2; + _letterM._frame = 6; + _letterM.animate(ANIM_MODE_NONE, NULL); + _letterM.setPosition(Common::Point(244, 94)); + _letterM.changeZoom(100); + + _letterI.postInit(); + _letterI.setVisage(21); + _letterI._strip = 2; + _letterI._frame = 7; + _letterI.animate(ANIM_MODE_NONE, NULL); + _letterI.setPosition(Common::Point(286, 94)); + _letterI.changeZoom(100); setAction(&_action1); BF_GLOBALS._dialogCenter.y = 165; @@ -209,6 +209,11 @@ void Scene50::Tooltip::synchronize(Serializer &s) { SavedObject::synchronize(s); _bounds.synchronize(s); s.syncString(_msg); + + if (s.getVersion() >= 10) { + s.syncAsSint16LE(_newSceneNumber); + s.syncAsSint16LE(_locationId); + } } void Scene50::Tooltip2::signal() { @@ -239,11 +244,11 @@ void Scene50::Tooltip2::dispatch() { } } -void Scene50::Tooltip::set(const Rect &bounds, int v60, const Common::String &msg, int v62) { +void Scene50::Tooltip::set(const Rect &bounds, int sceneNum, const Common::String &msg, int locationId) { _bounds = bounds; - _newSceneNumber = v60; + _newSceneNumber = sceneNum; _msg = msg; - _locationId = v62; + _locationId = locationId; } void Scene50::Tooltip::update() { @@ -261,8 +266,8 @@ void Scene50::Tooltip::update() { void Scene50::Tooltip::highlight(bool btnDown) { Scene50 *scene = (Scene50 *)BF_GLOBALS._sceneManager._scene; - scene->_field382 = _newSceneNumber; - if ((scene->_field380 != 0) || (scene->_field380 != _newSceneNumber)) + // In the original, a variable was used, always set to 0. The check is simplified + if (_newSceneNumber != 0) update(); if (btnDown) { @@ -323,9 +328,16 @@ void Scene50::Tooltip::highlight(bool btnDown) { /*--------------------------------------------------------------------------*/ -Scene50::Scene50(): SceneExt() { - _field382 = 0; - _field380 = 0; +Scene50::Scene50() { + _sceneNumber = 0; +} + + +void Scene50::synchronize(Serializer &s) { + if (s.getVersion() >= 10) { + SceneExt::synchronize(s); + s.syncAsSint16LE(_sceneNumber); + } } void Scene50::postInit(SceneObjectList *OwnerList) { @@ -439,11 +451,11 @@ void Scene50::signal() { } if ((BF_GLOBALS._driveFromScene == 410) && (_sceneNumber != BF_GLOBALS._driveFromScene)) { - BF_GLOBALS.setFlag(125); + BF_GLOBALS.setFlag(f1097Frankie); } if ((BF_GLOBALS._driveFromScene == 340) && (_sceneNumber != BF_GLOBALS._driveFromScene)) { - BF_GLOBALS.setFlag(123); + BF_GLOBALS.setFlag(f1097Marina); } if ((BF_GLOBALS._driveFromScene == 380) && (_sceneNumber != BF_GLOBALS._driveFromScene)) { @@ -469,7 +481,6 @@ void Scene50::signal() { BF_GLOBALS._player.enableControl(); BF_GLOBALS._events.setCursor(CURSOR_WALK); _sceneMode = 0; - _field380 = 0; } } @@ -477,7 +488,6 @@ void Scene50::process(Event &event) { SceneExt::process(event); Common::Point pt(event.mousePos.x + _sceneBounds.left, event.mousePos.y + _sceneBounds.top); bool mouseDown = false; - _field382 = 0; if ((event.mousePos.x > 270 && (_sceneBounds.right < (SCREEN_WIDTH * 2)))) loadBackground(4, 0); @@ -537,7 +547,7 @@ bool Scene60::Ignition::startAction(CursorType action, Event &event) { bool Scene60::Ignition::check1() { if (BF_GLOBALS._bookmark >= bStoppedFrankie) { - BF_GLOBALS._v5098C |= 1; + BF_GLOBALS._subFlagBitArr1 |= 1; return false; } else { if ((BF_GLOBALS._bookmark == bBookedGreen) && BF_GLOBALS.getFlag(fArrivedAtGangStop)) { @@ -564,13 +574,13 @@ bool Scene60::Ignition::check1() { } else if (BF_GLOBALS._bookmark < bStartOfGame) { // Should never reach here } else if (BF_GLOBALS._bookmark < bCalledToDomesticViolence) { - if ((BF_GLOBALS._v5098C >> 1) & 1) + if ((BF_GLOBALS._subFlagBitArr1 >> 1) & 1) BF_GLOBALS.setFlag(fLateToMarina); else - BF_GLOBALS._v5098C |= 2; + BF_GLOBALS._subFlagBitArr1 |= 2; } else { - int v = (((BF_GLOBALS._v5098C >> 2) & 15) + 1) & 15; - BF_GLOBALS._v5098C = (BF_GLOBALS._v5098C & 0xC3) | (v << 2); + int v = (((BF_GLOBALS._subFlagBitArr1 >> 2) & 15) + 1) & 15; + BF_GLOBALS._subFlagBitArr1 = (BF_GLOBALS._subFlagBitArr1 & 0xC3) | (v << 2); if ((v != 1) && (v != 2)) { BF_GLOBALS._deathReason = 19; @@ -580,17 +590,17 @@ bool Scene60::Ignition::check1() { } } - BF_GLOBALS._v5098C |= 1; + BF_GLOBALS._subFlagBitArr1 |= 1; return false; } bool Scene60::Ignition::check2() { switch (BF_GLOBALS._bookmark) { case bInspectionDone: - if (BF_GLOBALS._v5098D & 1) { + if (BF_GLOBALS._subFlagBitArr2 & 1) { BF_GLOBALS.setFlag(fLateToDrunkStop); } else { - BF_GLOBALS._v5098D |= 1; + BF_GLOBALS._subFlagBitArr2 |= 1; } break; case bCalledToDrunkStop: @@ -600,7 +610,7 @@ bool Scene60::Ignition::check2() { break; } - BF_GLOBALS._v5098C |= 0x80; + BF_GLOBALS._subFlagBitArr1 |= 0x80; return false; } @@ -1083,7 +1093,7 @@ void Scene60::postInit(SceneObjectList *OwnerList) { switch (BF_GLOBALS._dayNumber) { case 1: - if (BF_GLOBALS.getFlag(onDuty) && (BF_GLOBALS._v5098C & 1) && + if (BF_GLOBALS.getFlag(onDuty) && (BF_GLOBALS._subFlagBitArr1 & 1) && (BF_GLOBALS._bookmark < bStartOfGame) && (BF_GLOBALS._sceneManager._previousScene != 342)) { setAction(&_action2); if (BF_GLOBALS._sceneManager._previousScene == 342) @@ -1091,7 +1101,7 @@ void Scene60::postInit(SceneObjectList *OwnerList) { } break; case 2: - if (BF_GLOBALS.getFlag(onDuty) && ((BF_GLOBALS._v5098C >> 7) & 1) && + if (BF_GLOBALS.getFlag(onDuty) && ((BF_GLOBALS._subFlagBitArr1 >> 7) & 1) && (BF_GLOBALS._sceneManager._previousScene != 550) && (BF_GLOBALS._bookmark < bInspectionDone)) { setAction(&_action3); diff --git a/engines/tsage/blue_force/blueforce_scenes0.h b/engines/tsage/blue_force/blueforce_scenes0.h index 103e5f0a4c..dd502c5f30 100644 --- a/engines/tsage/blue_force/blueforce_scenes0.h +++ b/engines/tsage/blue_force/blueforce_scenes0.h @@ -50,8 +50,8 @@ class Scene20 : public SceneExt { public: Action1 _action1; ScenePalette _scenePalette; - SceneObject _object1, _object2, _object3, _object4; - SceneObject _object5, _object6, _object7, _object8; + SceneObject _tsunamiWave, _letterT, _letterS, _letterU; + SceneObject _letterN, _letterA, _letterM, _letterI; virtual void postInit(SceneObjectList *OwnerList = NULL); }; @@ -65,7 +65,7 @@ class Scene50: public SceneExt { int _locationId; public: Tooltip(); - void set(const Rect &bounds, int v60, const Common::String &msg, int v62); + void set(const Rect &bounds, int sceneNum, const Common::String &msg, int locationId); void update(); void highlight(bool btnDown); @@ -81,7 +81,6 @@ class Scene50: public SceneExt { virtual void dispatch(); }; public: - int _field380, _field382; int _sceneNumber; SceneText _text; SceneItemType2 _item; @@ -90,7 +89,10 @@ public: Timer _timer; public: Scene50(); + virtual Common::String getClassName() { return "Scene50"; } + virtual void synchronize(Serializer &s); + virtual void postInit(SceneObjectList *OwnerList = NULL); virtual void remove(); virtual void signal(); @@ -172,6 +174,7 @@ public: int _sceneNumber; int _visage; CursorType _cursorId; + // TODO: Check if really useless in original bool _field1222; Scene60(); diff --git a/engines/tsage/blue_force/blueforce_scenes1.cpp b/engines/tsage/blue_force/blueforce_scenes1.cpp index e977d5fbca..9f1e9ce36e 100644 --- a/engines/tsage/blue_force/blueforce_scenes1.cpp +++ b/engines/tsage/blue_force/blueforce_scenes1.cpp @@ -243,8 +243,8 @@ void Scene109::Action1::signal() { scene->_drunk.show(); scene->_drunk.setAction(&scene->_action3); scene->_object2.show(); - scene->_object9.show(); - scene->_object9.setAction(&scene->_action2); + scene->_beerSign.show(); + scene->_beerSign.setAction(&scene->_action2); BF_GLOBALS._v501FC = 170; setDelay(60); @@ -257,27 +257,27 @@ void Scene109::Action1::signal() { break; case 5: // Open briefcase and pass over disk - setAction(&scene->_sequenceManager6, this, 105, &scene->_object10, NULL); + setAction(&scene->_sequenceManager6, this, 105, &scene->_animationInset, NULL); break; case 6: // Protaginist 2 walk to the bar - scene->_object10.remove(); + scene->_animationInset.remove(); setAction(&scene->_sequenceManager6, this, 100, &scene->_protaginist2, NULL); break; case 7: // Two thugs enter and walk to table - scene->_object7.setAction(&scene->_sequenceManager7, NULL, 103, &scene->_object7, NULL); - scene->_object5.setAction(&scene->_sequenceManager8, this, 102, &scene->_object5, NULL); + scene->_cop2.setAction(&scene->_sequenceManager7, NULL, 103, &scene->_cop2, NULL); + scene->_cop1.setAction(&scene->_sequenceManager8, this, 102, &scene->_cop1, NULL); scene->_protaginist2.setAction(&scene->_sequenceManager6, NULL, 104, &scene->_protaginist2, &scene->_bartender, NULL); break; case 8: // Protaginist 1 leaves, protaginist 2 stands up - setAction(&scene->_sequenceManager8, this, 101, &scene->_object5, &scene->_protaginist1, NULL); + setAction(&scene->_sequenceManager8, this, 101, &scene->_cop1, &scene->_protaginist1, NULL); break; case 9: // Shots fired! scene->_protaginist1.setAction(&scene->_sequenceManager5, this, 98, &scene->_protaginist1, NULL); - scene->_object7.setAction(&scene->_sequenceManager7, NULL, 99, &scene->_object7, NULL); + scene->_cop2.setAction(&scene->_sequenceManager7, NULL, 99, &scene->_cop2, NULL); break; case 10: // End scene @@ -289,12 +289,12 @@ void Scene109::Action1::signal() { void Scene109::Action2::signal() { Scene109 *scene = (Scene109 *)BF_GLOBALS._sceneManager._scene; - scene->setAction(&scene->_sequenceManager2, this, 3117, &scene->_object9, NULL); + setAction(&scene->_sequenceManager2, this, 3117, &scene->_beerSign, NULL); } void Scene109::Action3::signal() { Scene109 *scene = (Scene109 *)BF_GLOBALS._sceneManager._scene; - scene->setAction(&scene->_sequenceManager3, this, 108, &scene->_drunk, NULL); + setAction(&scene->_sequenceManager3, this, 108, &scene->_drunk, NULL); } /*--------------------------------------------------------------------------*/ @@ -353,21 +353,21 @@ void Scene109::postInit(SceneObjectList *OwnerList) { _object2.setPosition(Common::Point(104, 64)); _object2.hide(); - _object9.postInit(); - _object9.setVisage(115); - _object9.setStrip(4); - _object9.setFrame(1); - _object9.setPosition(Common::Point(262, 29)); - _object9.hide(); + _beerSign.postInit(); + _beerSign.setVisage(115); + _beerSign.setStrip(4); + _beerSign.setFrame(1); + _beerSign.setPosition(Common::Point(262, 29)); + _beerSign.hide(); - _object5.postInit(); - _object5.hide(); + _cop1.postInit(); + _cop1.hide(); - _object7.postInit(); - _object7.hide(); + _cop2.postInit(); + _cop2.hide(); - _object10.postInit(); - _object10.hide(); + _animationInset.postInit(); + _animationInset.hide(); BF_GLOBALS._player.disableControl(); setAction(&_action1, this); @@ -430,7 +430,7 @@ void Scene110::Action1::signal() { case 6: // Play "Vroum" scene->_sound.play(31); - // The guy starts the engine + // The guy starts the engine scene->_object4.setStrip(3); scene->_object4._frame = 1; scene->_object4.animate(ANIM_MODE_5, NULL); @@ -837,7 +837,7 @@ void Scene110::postInit(SceneObjectList *OwnerList) { _object10._moveDiff.y = 10; _object10.setPosition(_object9._position); _object10.hide(); - + setAction(&_action1); } /*-------------------------------------------------------------------------- @@ -877,7 +877,7 @@ bool Scene114::Door::startAction(CursorType action, Event &event) { SceneItem::display2(114, 1); return true; case CURSOR_USE: - BF_GLOBALS._walkRegions.proc2(2); + BF_GLOBALS._walkRegions.enableRegion(2); BF_GLOBALS._player.disableControl(); scene->_lyle.fixPriority(-1); scene->_sceneMode = 1140; @@ -895,8 +895,8 @@ void Scene114::postInit(SceneObjectList *OwnerList) { loadScene(110); setZoomPercents(85, 80, 105, 100); - BF_GLOBALS._walkRegions.proc1(9); - BF_GLOBALS._walkRegions.proc1(22); + BF_GLOBALS._walkRegions.disableRegion(9); + BF_GLOBALS._walkRegions.disableRegion(22); _door.postInit(); _door.setVisage(110); @@ -921,7 +921,7 @@ void Scene114::postInit(SceneObjectList *OwnerList) { _lyle._moveDiff.x = 2; _lyle._moveDiff.y = 1; _lyle.hide(); - _lyle.setDetails(114, 2, -1, -1, 1, NULL); + _lyle.setDetails(114, 2, -1, -1, 1, (SceneItem *)NULL); _vechile.postInit(); if (BF_GLOBALS.getFlag(fWithLyle)) { @@ -943,10 +943,10 @@ void Scene114::postInit(SceneObjectList *OwnerList) { _vechile.setStrip(1); _vechile.changeZoom(77); } - BF_GLOBALS._walkRegions.proc1(17); + BF_GLOBALS._walkRegions.disableRegion(17); } BF_GLOBALS._sceneItems.push_front(&_vechile); - BF_GLOBALS._walkRegions.proc1(2); + BF_GLOBALS._walkRegions.disableRegion(2); if (BF_GLOBALS._sceneManager._previousScene == 115) { BF_GLOBALS._player.setPosition(Common::Point(219, 100)); @@ -962,7 +962,7 @@ void Scene114::postInit(SceneObjectList *OwnerList) { BF_GLOBALS._player.enableControl(); } - _item1.setDetails(Rect(0, 0, 320, 200), 114, 3, -1, -1, 1, NULL); + _item1.setDetails(Rect(0, 0, 320, 200), 114, 3, -1, -1, 1, (SceneItem *)NULL); } void Scene114::signal() { @@ -985,9 +985,9 @@ void Scene114::signal() { * Scene 115 - Inside Tony's bar * *--------------------------------------------------------------------------*/ -bool Scene115::Object1::startAction(CursorType action, Event &event) { +bool Scene115::Kate::startAction(CursorType action, Event &event) { Scene115 *scene = (Scene115 *)BF_GLOBALS._sceneManager._scene; - + switch (action) { case CURSOR_LOOK: SceneItem::display(115, 8, SET_WIDTH, 312, @@ -1001,7 +1001,7 @@ bool Scene115::Object1::startAction(CursorType action, Event &event) { BF_GLOBALS._player.disableControl(); scene->_sceneMode = 0; scene->_stripManager.start(1174, scene); - } else if (scene->_field31E8 == 0) { + } else if (scene->_jukeboxPlaying == 0) { if (BF_GLOBALS.getFlag(fShowedIdToKate)) { BF_GLOBALS._player.disableControl(); scene->_sceneMode = 0; @@ -1014,10 +1014,10 @@ bool Scene115::Object1::startAction(CursorType action, Event &event) { scene->setAction(&scene->_action7); return true; case INV_MUG_SHOT: - if (scene->_field31E8 == 0) { + if (scene->_jukeboxPlaying == 0) { BF_GLOBALS._player.disableControl(); scene->_sceneMode = 0; - if (BF_GLOBALS._v4CEAA == 0) + if (BF_GLOBALS._tonyDialogCtr == 0) scene->_stripManager.start(1167, scene); else if (BF_GLOBALS.getFlag(fShowedIdToKate)) scene->_stripManager.start(1159, scene); @@ -1035,8 +1035,8 @@ bool Scene115::Object1::startAction(CursorType action, Event &event) { SET_EXT_FGCOLOR, 13, LIST_END); return true; case INV_ID: - if (scene->_field31E8 == 0) { - if (BF_GLOBALS._v4CEAA == 0) { + if (scene->_jukeboxPlaying == 0) { + if (BF_GLOBALS._tonyDialogCtr == 0) { scene->_sceneMode = 1167; scene->setAction(&scene->_action6); } else if (BF_GLOBALS.getFlag(fShowedIdToKate)) { @@ -1059,9 +1059,9 @@ bool Scene115::Object1::startAction(CursorType action, Event &event) { } } -bool Scene115::Object2::startAction(CursorType action, Event &event) { +bool Scene115::Tony::startAction(CursorType action, Event &event) { Scene115 *scene = (Scene115 *)BF_GLOBALS._sceneManager._scene; - + switch (action) { case CURSOR_LOOK: SceneItem::display(115, 7, SET_WIDTH, 312, @@ -1077,25 +1077,25 @@ bool Scene115::Object2::startAction(CursorType action, Event &event) { else if (BF_INVENTORY.getObjectScene(INV_COBB_RAP) == 1) { if (BF_GLOBALS.getFlag(fTalkedToTony)) scene->_sceneMode = 1151; - else if (BF_GLOBALS._v4CEAA == 0) { + else if (BF_GLOBALS._tonyDialogCtr == 0) { scene->_sceneMode = 1150; BF_GLOBALS.setFlag(fTalkedToTony); } else scene->_sceneMode = 1151; - } else if (_field15F8 == 0) { - _field15F8++; + } else if (_talkToTonyCtr2 == 0) { + _talkToTonyCtr2++; scene->_sceneMode = 1171; } else scene->_sceneMode = 1172; } else if (BF_GLOBALS.getFlag(onDuty)) { - if (scene->_field31EA == 0) { - scene->_field31EA = 1; + if (scene->_talkToTonyCtr == 0) { + scene->_talkToTonyCtr = 1; scene->_sceneMode = 1169; } else scene->_sceneMode = 1170; - } else if (scene->_field31EA == 0) { + } else if (scene->_talkToTonyCtr == 0) { scene->_sceneMode = 1171; - scene->_field31EA = 1; + scene->_talkToTonyCtr = 1; } else scene->_sceneMode = 1172; @@ -1111,7 +1111,7 @@ bool Scene115::Object2::startAction(CursorType action, Event &event) { case INV_COBB_RAP: if (BF_GLOBALS.getFlag(onDuty)) scene->_sceneMode = 1177; - else if (BF_GLOBALS._v4CEAA == 0) + else if (BF_GLOBALS._tonyDialogCtr == 0) scene->_sceneMode = 1179; else scene->_sceneMode = 1154; @@ -1132,16 +1132,16 @@ bool Scene115::Object2::startAction(CursorType action, Event &event) { } else { T2_GLOBALS._uiElements.addScore(30); BF_GLOBALS.setFlag(fTalkedToTony); - if (BF_GLOBALS._v4CEAA == 0) { + if (BF_GLOBALS._tonyDialogCtr == 0) { scene->_sceneMode = 1150; scene->setAction(&scene->_action9); } else { - BF_GLOBALS._v4CEAA = 1; + BF_GLOBALS._tonyDialogCtr = 1; scene->setAction(&scene->_action2); } } - } else if (_field15F8 == 0) { - _field15F8++; + } else if (_talkToTonyCtr2 == 0) { + _talkToTonyCtr2++; if (BF_GLOBALS.getFlag(onDuty)) { scene->_sceneMode = 1182; scene->setAction(&scene->_action9); @@ -1164,7 +1164,7 @@ bool Scene115::Object2::startAction(CursorType action, Event &event) { bool Scene115::Object3::startAction(CursorType action, Event &event) { Scene115 *scene = (Scene115 *)BF_GLOBALS._sceneManager._scene; - + switch (action) { case CURSOR_LOOK: SceneItem::display(115, 9, SET_WIDTH, 312, @@ -1195,7 +1195,7 @@ bool Scene115::Object3::startAction(CursorType action, Event &event) { bool Scene115::Object4::startAction(CursorType action, Event &event) { Scene115 *scene = (Scene115 *)BF_GLOBALS._sceneManager._scene; - + switch (action) { case CURSOR_LOOK: SceneItem::display(115, 42, SET_WIDTH, 312, @@ -1215,24 +1215,23 @@ bool Scene115::Object4::startAction(CursorType action, Event &event) { } } -void Scene115::Item1::signal() { +void Scene115::Jukebox::signal() { Scene115 *scene = (Scene115 *)BF_GLOBALS._sceneManager._scene; - - if (_field1F8A == 2) - _field1F8A = 0; - if (_field1F8A == 1) { - _field1F8A = 2; + if (_jokeboxPlayingCtr == 2) + _jokeboxPlayingCtr = 0; + else if (_jokeboxPlayingCtr == 1) { + _jokeboxPlayingCtr = 2; setAction(&_sequenceManager6, this, 118, &scene->_object12, &scene->_object11, NULL); } } -bool Scene115::Item1::startAction(CursorType action, Event &event) { +bool Scene115::Jukebox::startAction(CursorType action, Event &event) { Scene115 *scene = (Scene115 *)BF_GLOBALS._sceneManager._scene; - + if (action == CURSOR_USE) { - if (_field1F8A == 0) { - _field1F8A = 1; + if (_jokeboxPlayingCtr == 0) { + _jokeboxPlayingCtr = 1; BF_GLOBALS._player.disableControl(); scene->setAction(&scene->_action4); } else @@ -1242,31 +1241,31 @@ bool Scene115::Item1::startAction(CursorType action, Event &event) { SET_FONT, 4, SET_BG_COLOR, 1, SET_FG_COLOR, 19, SET_EXT_BGCOLOR, 9, SET_EXT_FGCOLOR, 13, LIST_END); return true; - } else + } else return NamedHotspot::startAction(action, event); } -void Scene115::Item1::synchronize(Serializer &s) { +void Scene115::Jukebox::synchronize(Serializer &s) { NamedHotspot::synchronize(s); - s.syncAsSint16LE(_field1F8A); + s.syncAsSint16LE(_jokeboxPlayingCtr); } -Scene115::Item1::Item1() { - _field1F8A = 0; +Scene115::Jukebox::Jukebox() { + _jokeboxPlayingCtr = 0; } void Scene115::EventHandler1::dispatch() { Scene115 *scene = (Scene115 *)BF_GLOBALS._sceneManager._scene; if (BF_GLOBALS._player.getRegionIndex() == 27) { - scene->_object1.setAction(&scene->_action5); + scene->_kate.setAction(&scene->_action5); scene->removeTimer(this); } } bool Scene115::Item10::startAction(CursorType action, Event &event) { Scene115 *scene = (Scene115 *)BF_GLOBALS._sceneManager._scene; - + if (BF_GLOBALS.getFlag(fWithLyle)) { scene->_object4.setStrip2(6); Common::Point pt(-20, 122); @@ -1339,20 +1338,20 @@ void Scene115::Action2::signal() { switch (_actionIndex++) { case 0: BF_GLOBALS._player.disableControl(); - if (BF_GLOBALS._v4CEAA < 3) { - if (scene->_object2._position.x > 67) { - scene->_object2.setAction(&scene->_sequenceManager3, NULL, 1118, &scene->_object2, NULL); - } else if (scene->_object2._position.x != 67) { - scene->_object2.setAction(&scene->_sequenceManager3, NULL, 1119, &scene->_object2, NULL); + if (BF_GLOBALS._tonyDialogCtr < 3) { + if (scene->_tony._position.x > 67) { + scene->_tony.setAction(&scene->_sequenceManager3, NULL, 1118, &scene->_tony, NULL); + } else if (scene->_tony._position.x != 67) { + scene->_tony.setAction(&scene->_sequenceManager3, NULL, 1119, &scene->_tony, NULL); } } BF_GLOBALS._player.setAction(&scene->_sequenceManager1, this, 1117, &BF_GLOBALS._player); break; case 1: - BF_GLOBALS._v4CEAA++; + ++BF_GLOBALS._tonyDialogCtr; if (BF_GLOBALS.getFlag(onDuty)) { if (BF_GLOBALS.getFlag(fTalkedToTony)) { - switch (BF_GLOBALS._v4CEAA) { + switch (BF_GLOBALS._tonyDialogCtr) { case 1: T2_GLOBALS._uiElements.addScore(30); scene->_stripManager.start(1181, this); @@ -1369,7 +1368,7 @@ void Scene115::Action2::signal() { } } else { if (BF_GLOBALS.getFlag(fTalkedToTony)) { - switch (BF_GLOBALS._v4CEAA) { + switch (BF_GLOBALS._tonyDialogCtr) { case 1: T2_GLOBALS._uiElements.addScore(30); scene->_stripManager.start(1153, this); @@ -1387,8 +1386,8 @@ void Scene115::Action2::signal() { } break; case 2: - if (BF_GLOBALS._v4CEAA == 3) - scene->_object2.setAction(&scene->_sequenceManager3, NULL, 3119, &scene->_object2, NULL); + if (BF_GLOBALS._tonyDialogCtr == 3) + scene->_tony.setAction(&scene->_sequenceManager3, NULL, 3119, &scene->_tony, NULL); BF_GLOBALS._player.enableControl(); remove(); default: @@ -1399,7 +1398,7 @@ void Scene115::Action2::signal() { void Scene115::Action3::signal() { Scene115 *scene = (Scene115 *)BF_GLOBALS._sceneManager._scene; - setAction(&scene->_sequenceManager4, this, 3117, &scene->_object7, NULL); + setAction(&scene->_sequenceManager4, this, 3117, &scene->_neonSign, NULL); } void Scene115::Action4::signal() { @@ -1426,7 +1425,7 @@ void Scene115::Action4::signal() { setAction(&scene->_sequenceManager1, this, 117, &scene->_object12, &scene->_object11, NULL); break; case 3: - scene->_sound1.play(81, &scene->_item1, 127); + scene->_sound1.play(81, &scene->_itemJukebox, 127); BF_GLOBALS._player.enableControl(); remove(); default: @@ -1439,10 +1438,11 @@ void Scene115::Action5::signal() { switch (_actionIndex++) { case 0: - if (scene->_item1._field1F8A == 0) { - setAction(&scene->_sequenceManager5, this, 1115, &scene->_object1, NULL); + if (scene->_itemJukebox._jokeboxPlayingCtr == 0) { + setAction(&scene->_sequenceManager5, this, 1115, &scene->_kate, NULL); + scene->_jukeboxPlaying = 1; } else { - _actionIndex--; + --_actionIndex; setDelay(120); } break; @@ -1450,15 +1450,15 @@ void Scene115::Action5::signal() { setAction(&scene->_sequenceManager5, this, 117, &scene->_object12, &scene->_object11, NULL); break; case 2: - scene->_sound1.play(81, &scene->_item1, 127); - scene->_item1._field1F8A = 1; + scene->_sound1.play(81, &scene->_itemJukebox, 127); + scene->_itemJukebox._jokeboxPlayingCtr = 1; setDelay(3); break; case 3: - setAction(&scene->_sequenceManager5, this, 1116, &scene->_object1, NULL); + setAction(&scene->_sequenceManager5, this, 1116, &scene->_kate, NULL); break; case 4: - scene->_field31E8 = 0; + scene->_jukeboxPlaying = 0; remove(); default: break; @@ -1471,22 +1471,22 @@ void Scene115::Action6::signal() { switch (_actionIndex++) { case 0: BF_GLOBALS._player.disableControl(); - BF_GLOBALS._player.setAction(&scene->_sequenceManager1, this, 2115, &scene->_object1, &BF_GLOBALS._player, NULL); + BF_GLOBALS._player.setAction(&scene->_sequenceManager1, this, 2115, &scene->_kate, &BF_GLOBALS._player, NULL); break; case 1: if (scene->_sceneMode == 9999) { - setAction(&scene->_sequenceManager1, this, 4115, &scene->_object1, &BF_GLOBALS._player, NULL); - _actionIndex--; + setAction(&scene->_sequenceManager1, this, 4115, &scene->_kate, &BF_GLOBALS._player, NULL); + --_actionIndex; scene->_sceneMode = 1166; } else { scene->_stripManager.start(scene->_sceneMode, this); } break; case 2: - scene->_object1.setVisage(131); - scene->_object1.setStrip(1); - scene->_object1.setFrame(1); - scene->_object1.setPosition(Common::Point(122, 97)); + scene->_kate.setVisage(131); + scene->_kate.setStrip(1); + scene->_kate.setFrame(1); + scene->_kate.setPosition(Common::Point(122, 97)); BF_GLOBALS._player.enableControl(); remove(); default: @@ -1507,11 +1507,11 @@ void Scene115::Action7::signal() { break; case 1: BF_GLOBALS._player.setStrip(4); - if (BF_GLOBALS._v4CEB0 == 0) + if (BF_GLOBALS._kateDialogCtr == 0) scene->_stripManager.start(1156, this); else scene->_stripManager.start(1157, this); - BF_GLOBALS._v4CEB0++; + ++BF_GLOBALS._kateDialogCtr; break; case 2: BF_GLOBALS._player.enableControl(); @@ -1528,11 +1528,11 @@ void Scene115::Action8::signal() { switch (_actionIndex++) { case 0: BF_GLOBALS._player.disableControl(); - setAction(&scene->_sequenceManager1, this, 2115, &scene->_object1, &BF_GLOBALS._player, NULL); + setAction(&scene->_sequenceManager1, this, 2115, &scene->_kate, &BF_GLOBALS._player, NULL); break; case 1: T2_GLOBALS._uiElements.addScore(30); - setAction(&scene->_sequenceManager1, this, 4115, &scene->_object1, &BF_GLOBALS._player, NULL); + setAction(&scene->_sequenceManager1, this, 4115, &scene->_kate, &BF_GLOBALS._player, NULL); break; case 2: scene->_stripManager.start(1160, this); @@ -1542,15 +1542,15 @@ void Scene115::Action8::signal() { break; case 4: BF_GLOBALS.setFlag(fGivenNapkin); - setAction(&scene->_sequenceManager1, this, 2117, &scene->_object1, &BF_GLOBALS._player, &scene->_object13, NULL); + setAction(&scene->_sequenceManager1, this, 2117, &scene->_kate, &BF_GLOBALS._player, &scene->_object13, NULL); break; case 5: BF_INVENTORY.setObjectScene(INV_NAPKIN, 1); T2_GLOBALS._uiElements.addScore(10); - scene->_object1.setVisage(131); - scene->_object1.setStrip(1); - scene->_object1.setFrame(1); - scene->_object1.setPosition(Common::Point(122, 97)); + scene->_kate.setVisage(131); + scene->_kate.setStrip(1); + scene->_kate.setFrame(1); + scene->_kate.setPosition(Common::Point(122, 97)); BF_GLOBALS._player.enableControl(); remove(); break; @@ -1565,17 +1565,17 @@ void Scene115::Action9::signal() { switch (_actionIndex++) { case 0: BF_GLOBALS._player.disableControl(); - if (scene->_object2._position.x > 67) - scene->_object2.setAction(&scene->_sequenceManager3, NULL, 1118, &scene->_object2, NULL); - else if (scene->_object2._position.x != 67) - scene->_object2.setAction(&scene->_sequenceManager3, NULL, 1119, &scene->_object2, NULL); + if (scene->_tony._position.x > 67) + scene->_tony.setAction(&scene->_sequenceManager3, NULL, 1118, &scene->_tony, NULL); + else if (scene->_tony._position.x != 67) + scene->_tony.setAction(&scene->_sequenceManager3, NULL, 1119, &scene->_tony, NULL); BF_GLOBALS._player.setAction(&scene->_sequenceManager1, this, 1117, &BF_GLOBALS._player, NULL); break; case 1: scene->_stripManager.start(scene->_sceneMode, this); break; case 2: - scene->_object2.setAction(&scene->_sequenceManager3, this, 3119, &scene->_object2, NULL); + scene->_tony.setAction(&scene->_sequenceManager3, this, 3119, &scene->_tony, NULL); break; case 3: BF_GLOBALS._player.enableControl(); @@ -1586,16 +1586,16 @@ void Scene115::Action9::signal() { } Scene115::Scene115() : SceneExt () { - _field168A = _field31E8 = _field31EA = 0; + _lineNumModifier = _jukeboxPlaying = _talkToTonyCtr = 0; } void Scene115::postInit(SceneObjectList *OwnerList) { SceneExt::postInit(); - + BF_GLOBALS._sound1.fadeSound(15); loadScene(115); setZoomPercents(98, 85, 115, 100); - _field31E8 = 0; + _jukeboxPlaying = 0; _stripManager.addSpeaker(&_gameTextSpeaker); _stripManager.addSpeaker(&_kateSpeaker); _stripManager.addSpeaker(&_tonySpeaker); @@ -1620,28 +1620,28 @@ void Scene115::postInit(SceneObjectList *OwnerList) { _object5.fixPriority(95); // Bartender - _object2.postInit(); - _object2.setVisage(132); - _object2.setPosition(Common::Point(74, 66)); - _object2.setStrip(3); - _object2.setFrame(1); - _object2.fixPriority(95); - _object2.animate(ANIM_MODE_2, NULL); - _object2._numFrames = 5; - _object2._field15F8 = 0; - _field31EA = 0; + _tony.postInit(); + _tony.setVisage(132); + _tony.setPosition(Common::Point(74, 66)); + _tony.setStrip(3); + _tony.setFrame(1); + _tony.fixPriority(95); + _tony.animate(ANIM_MODE_2, NULL); + _tony._numFrames = 5; + _tony._talkToTonyCtr2 = 0; + _talkToTonyCtr = 0; //Neon sign - _object7.postInit(); - _object7.setVisage(115); - _object7.setStrip(4); - _object7.setFrame(1); - _object7.setPosition(Common::Point(262, 29)); - _object7.setAction(&_action3); + _neonSign.postInit(); + _neonSign.setVisage(115); + _neonSign.setStrip(4); + _neonSign.setFrame(1); + _neonSign.setPosition(Common::Point(262, 29)); + _neonSign.setAction(&_action3); _object11.postInit(); _object11.hide(); - + _object12.postInit(); _object12.hide(); @@ -1665,7 +1665,7 @@ void Scene115::postInit(SceneObjectList *OwnerList) { NpcMover *mover = new NpcMover(); _object4.addMover(mover, &destPos, NULL); BF_GLOBALS._sceneItems.push_front(&_object4); - BF_GLOBALS._walkRegions.proc1(1); + BF_GLOBALS._walkRegions.disableRegion(1); } else if (BF_GLOBALS.getFlag(onDuty)) BF_GLOBALS._player.setVisage(1341); @@ -1674,7 +1674,7 @@ void Scene115::postInit(SceneObjectList *OwnerList) { _object3.setVisage(123); _object3.setPosition(Common::Point(212, 108)); _object3.setAction(&_action1); - _field168A = 0; + _lineNumModifier = 0; BF_GLOBALS._sceneItems.push_front(&_object3); _object8.postInit(); @@ -1696,18 +1696,18 @@ void Scene115::postInit(SceneObjectList *OwnerList) { _object10.fixPriority(112); if (BF_INVENTORY.getObjectScene(INV_COBB_RAP) == 1) { - _object1.postInit(); - _object1.setVisage(131); - _object1.setPosition(Common::Point(122, 97)); - _object1.setStrip(1); - _object1.setFrame(1); - _object1.changeZoom(100); - _object1.fixPriority(95); - BF_GLOBALS._sceneItems.push_front(&_object1); + _kate.postInit(); + _kate.setVisage(131); + _kate.setPosition(Common::Point(122, 97)); + _kate.setStrip(1); + _kate.setFrame(1); + _kate.changeZoom(100); + _kate.fixPriority(95); + BF_GLOBALS._sceneItems.push_front(&_kate); } addTimer(&_eventHandler1); } - BF_GLOBALS._sceneItems.push_front(&_object2); + BF_GLOBALS._sceneItems.push_front(&_tony); _item11.setDetails(16, 115, 4, 15, 21, 1); _item12.setDetails(20, 115, 5, 15, 21, 1); @@ -1716,8 +1716,8 @@ void Scene115::postInit(SceneObjectList *OwnerList) { BF_GLOBALS._sceneItems.push_front(&_item14); _item10.setDetails(Rect(0, 147, 30, 167), 115, -1, -1, -1, 1, NULL); // SUB_177B8 - addTimer(&_item1); - _item1.setDetails(Rect(147, 45, 179, 91), 115, 25, 26, 27, 1, NULL); + addTimer(&_itemJukebox); + _itemJukebox.setDetails(Rect(147, 45, 179, 91), 115, 25, 26, 27, 1, NULL); // _item6.setDetails(Rect(107, 43, 122, 61), 115, 28, 29, 30, 1, NULL); _item7.setDetails(Rect(180, 33, 230, 63), 115, 31, 32, 33, 1, NULL); @@ -1741,14 +1741,14 @@ void Scene115::signal() { break; case 1: BF_GLOBALS._player.updateAngle(_object3._position); - SceneItem::display(115, 38 + _field168A, SET_WIDTH, 312, + SceneItem::display(115, 38 + _lineNumModifier, SET_WIDTH, 312, SET_X, GLOBALS._sceneManager._scene->_sceneBounds.left + 4, SET_Y, GLOBALS._sceneManager._scene->_sceneBounds.top + UI_INTERFACE_Y + 2, SET_FONT, 4, SET_BG_COLOR, 1, SET_FG_COLOR, 19, SET_EXT_BGCOLOR, 9, SET_EXT_FGCOLOR, 13, LIST_END); - _field168A++; - if (_field168A >= 4) - _field168A = 0; + ++_lineNumModifier; + if (_lineNumModifier >= 4) + _lineNumModifier = 0; // No break on purpose case 0: // No break on purpose @@ -1777,9 +1777,9 @@ void Scene115::process(Event &event) { void Scene115::synchronize(Serializer &s) { SceneExt::synchronize(s); - s.syncAsSint16LE(_field168A); - s.syncAsSint16LE(_field31E8); - s.syncAsSint16LE(_field31EA); + s.syncAsSint16LE(_lineNumModifier); + s.syncAsSint16LE(_jukeboxPlaying); + s.syncAsSint16LE(_talkToTonyCtr); } /*-------------------------------------------------------------------------- @@ -1817,7 +1817,7 @@ void Scene125::Action1::signal() { case 0: // No break on purpose default: - break; + break; } } @@ -2054,7 +2054,7 @@ void Scene125::Action3::dispatch() { SceneObject *owner = static_cast<SceneObject *>(this->_owner); Action::dispatch(); - + if ((_actionIndex == 9) && (owner->_percent > 70)) owner->changeZoom(owner->_percent - 1); } @@ -2095,7 +2095,7 @@ void Scene125::Action4::dispatch() { SceneObject *owner = static_cast<SceneObject *>(this->_owner); Action::dispatch(); - + if ((_actionIndex == 4) && (owner->_percent > 80)) owner->changeZoom(owner->_percent - 1); } @@ -2134,7 +2134,7 @@ void Scene125::Action6::dispatch() { SceneObject *owner = static_cast<SceneObject *>(this->_owner); Action::dispatch(); - + if ((_actionIndex == 2) && (owner->_percent < 100)) owner->changeZoom(owner->_percent + 1); } @@ -2169,7 +2169,7 @@ void Scene125::postInit(SceneObjectList *OwnerList) { BF_GLOBALS._player._moveDiff.x = 6; BF_GLOBALS._player._moveDiff.y = 6; BF_GLOBALS._player.disableControl(); - + _object5.postInit(); _object5.setVisage(128); _object5.setPosition(Common::Point(150, 117)); @@ -2457,7 +2457,7 @@ void Scene160::Action1::signal() { scene->_kid.setStrip(2); scene->_kid.animate(ANIM_MODE_5, this); - scene->_kidBody.setPosition(scene->_kid._position); + scene->_kidBody.setPosition(scene->_kid._position); scene->_kidBody.setFrame(1); scene->_kidBody.setStrip(3); break; @@ -2630,7 +2630,7 @@ void Scene160::Action2::signal() { break; case 25: BF_GLOBALS._sound1.fade(0, 10, 10, true, this); -// FIXME: Currently, fade() doesn't end properly with this song, +// FIXME: Currently, fade() doesn't end properly with this song, // thus never returns here. This hack skips the wait and changes // directly to the next scene // Start of hack @@ -2764,12 +2764,12 @@ bool Scene180::GarageExit::startAction(CursorType action, Event &event) { /*--------------------------------------------------------------------------*/ Scene180::Scene180(): SceneExt() { - _fieldC56 = 0; + _dispatchMode = 0; } void Scene180::synchronize(Serializer &s) { SceneExt::synchronize(s); - s.syncAsSint16LE(_fieldC56); + s.syncAsSint16LE(_dispatchMode); } void Scene180::postInit(SceneObjectList *OwnerList) { @@ -2784,7 +2784,7 @@ void Scene180::postInit(SceneObjectList *OwnerList) { _garageExit.setDetails(Rect(243, 93, 275, 122), 180, -1, -1, -1, 1, NULL); _gameTextSpeaker._textPos.y = 180; _stripManager.addSpeaker(&_gameTextSpeaker); - _fieldC56 = 0; + _dispatchMode = 0; setZoomPercents(121, 60, 125, 70); if ((BF_GLOBALS._bookmark == bLyleStoppedBy) && (BF_GLOBALS._dayNumber == 1)) { @@ -2830,7 +2830,7 @@ void Scene180::postInit(SceneObjectList *OwnerList) { _vechile.setStrip(2); _vechile.setPosition(Common::Point(262, 131)); _vechile.setZoom(65); - _vechile.setDetails(180, 33, 34, 35, 1, NULL); + _vechile.setDetails(180, 33, 34, 35, 1, (SceneItem *)NULL); _object1.postInit(); _object1.setVisage(182); @@ -2845,7 +2845,7 @@ void Scene180::postInit(SceneObjectList *OwnerList) { BF_GLOBALS._player.disableControl(); _vechile.postInit(); - _vechile.setDetails(180, 33, 34, 35, 1, NULL); + _vechile.setDetails(180, 33, 34, 35, 1, (SceneItem *)NULL); _object1.postInit(); @@ -2874,7 +2874,7 @@ void Scene180::postInit(SceneObjectList *OwnerList) { _vechile._moveDiff = Common::Point(40, 5); _vechile.setPosition(Common::Point(-25, 171)); - _fieldC56 = 1; + _dispatchMode = 1; BF_GLOBALS._sound1.play(29); _sceneMode = 1; @@ -2895,15 +2895,15 @@ void Scene180::postInit(SceneObjectList *OwnerList) { _vechile.setStrip(3); _vechile._frame = 5; _vechile.changeZoom(75); - - _fieldC56 = 1; + + _dispatchMode = 1; _vechile._moveDiff.x = 45; } else { _vechile.setVisage(444); _vechile.setStrip(2); _vechile.changeZoom(85); - _fieldC56 = 3; + _dispatchMode = 3; _vechile._moveDiff.x = 30; } @@ -2935,7 +2935,7 @@ void Scene180::postInit(SceneObjectList *OwnerList) { void Scene180::signal() { switch (_sceneMode) { case 1: - _fieldC56 = 0; + _dispatchMode = 0; switch (BF_GLOBALS._bookmark) { case bFlashBackThree: BF_GLOBALS._bookmark = bDroppedOffLyle; @@ -2953,12 +2953,12 @@ void Scene180::signal() { setAction(&_sequenceManager, this, 1802, &_vechile, &_object1, NULL); break; case 2: - _fieldC56 = 0; + _dispatchMode = 0; BF_GLOBALS._sound1.fadeOut2(NULL); BF_GLOBALS._sceneManager.changeScene(BF_GLOBALS._driveToScene); break; case 3: - _fieldC56 = 0; + _dispatchMode = 0; BF_GLOBALS._sound1.stop(); _stripManager.start(1800, this); _sceneMode = 4; @@ -2997,7 +2997,7 @@ void Scene180::signal() { BF_GLOBALS._player.disableControl(); _vechile.postInit(); - _vechile.setDetails(180, 33, 34, 35, 1, NULL); + _vechile.setDetails(180, 33, 34, 35, 1, (SceneItem *)NULL); _object1.postInit(); _sceneMode = 1801; @@ -3040,7 +3040,7 @@ void Scene180::signal() { } break; case 1800: - _fieldC56 = 2; + _dispatchMode = 2; _vechile._moveDiff.x = 10; _sceneMode = 2; ADD_MOVER(_vechile, -25, 171); @@ -3079,7 +3079,7 @@ void Scene180::process(Event &event) { } void Scene180::dispatch() { - switch (_fieldC56) { + switch (_dispatchMode) { case 1: if (_vechile._mover && (_vechile._percent > 50)) _vechile.changeZoom(_vechile._percent - 1); @@ -3123,7 +3123,7 @@ void Scene180::dispatch() { * *--------------------------------------------------------------------------*/ -bool Scene190::Object4::startAction(CursorType action, Event &event) { +bool Scene190::LyleCar::startAction(CursorType action, Event &event) { Scene190 *scene = (Scene190 *)BF_GLOBALS._sceneManager._scene; switch (action) { @@ -3191,14 +3191,14 @@ void Scene190::Action1::signal() { } case 2: scene->_sound.play(82); - scene->_object2.animate(ANIM_MODE_5, this); + scene->_door.animate(ANIM_MODE_5, this); break; case 3: ADD_MOVER(BF_GLOBALS._player, 180, 86); break; case 4: scene->_sound.play(82); - scene->_object2.animate(ANIM_MODE_6, this); + scene->_door.animate(ANIM_MODE_6, this); break; case 5: BF_GLOBALS._sound1.fadeOut2(NULL); @@ -3220,12 +3220,17 @@ void Scene190::postInit(SceneObjectList *OwnerList) { (BF_GLOBALS._sceneManager._previousScene == 20)) { // clearScreen(); } - if (BF_GLOBALS._dayNumber == 0) + if (BF_GLOBALS._dayNumber == 0) { // If at start of game, change to first day BF_GLOBALS._dayNumber = 1; + // To be checked: Not present in the original + g_globals->_sceneManager._previousScene = 100; + } + SceneExt::postInit(); // Load the scene data loadScene(190); + BF_GLOBALS._scenePalette.loadPalette(2); _stripManager.addSpeaker(&_speaker); @@ -3233,18 +3238,20 @@ void Scene190::postInit(SceneObjectList *OwnerList) { BF_GLOBALS._player.disableControl(); // Initialise objects - _object2.postInit(); - _object2.setVisage(190); - _object2.setStrip(1); - _object2.setPosition(Common::Point(179, 88)); + _door.postInit(); + _door.setVisage(190); + _door.setStrip(1); + _door.setPosition(Common::Point(179, 88)); - _object3.postInit(); - _object3.setVisage(190); - _object3.setStrip(2); - _object3.fixPriority(200); - _object3.setPosition(Common::Point(170, 31)); - _object3.animate(ANIM_MODE_7, 0, NULL); - _object3.setDetails(190, 8, 26, 19, 1, NULL); + _flag.postInit(); + _flag.setVisage(190); + _flag.setStrip(2); + _flag.fixPriority(200); + _flag.setPosition(Common::Point(170, 31)); + _flag.animate(ANIM_MODE_7, 0, NULL); + _flag.setDetails(190, 8, 26, 19, 1, (SceneItem *)NULL); + + _fieldB52 = true; if (BF_GLOBALS.getFlag(fWithLyle)) { BF_GLOBALS._player.setVisage(303); @@ -3252,11 +3259,11 @@ void Scene190::postInit(SceneObjectList *OwnerList) { BF_GLOBALS._player.animate(ANIM_MODE_1, NULL); BF_GLOBALS._player._moveDiff = Common::Point(3, 1); - _object4.postInit(); - _object4.setVisage(444); - _object4.setFrame(2); - _object4.setPosition(Common::Point(54, 114)); - _object4.setDetails(190, -1, -1, -1, 1, NULL); + _lyleCar.postInit(); + _lyleCar.setVisage(444); + _lyleCar.setFrame(2); + _lyleCar.setPosition(Common::Point(54, 114)); + _lyleCar.setDetails(190, -1, -1, -1, 1, (SceneItem *)NULL); switch (BF_GLOBALS._sceneManager._previousScene) { case 300: { @@ -3267,7 +3274,7 @@ void Scene190::postInit(SceneObjectList *OwnerList) { } case 315: _sceneMode = 1901; - setAction(&_sequenceManager, this, 1901, &BF_GLOBALS._player, &_object2, NULL); + setAction(&_sequenceManager, this, 1901, &BF_GLOBALS._player, &_door, NULL); break; case 50: case 60: @@ -3301,13 +3308,14 @@ void Scene190::postInit(SceneObjectList *OwnerList) { case 315: BF_GLOBALS._player._moveDiff = Common::Point(3, 1); _sceneMode = BF_GLOBALS.getFlag(onDuty) ? 1900 : 1901; - setAction(&_sequenceManager, this, _sceneMode, &BF_GLOBALS._player, &_object2, NULL); + setAction(&_sequenceManager, this, _sceneMode, &BF_GLOBALS._player, &_door, NULL); break; case 50: case 60: default: BF_GLOBALS.setFlag(onBike); BF_GLOBALS._player.disableControl(); + // To be checked: Not present in the original T2_GLOBALS._uiElements._active = true; _sceneMode = BF_GLOBALS.getFlag(onDuty) ? 192 : 190; setAction(&_sequenceManager, this, _sceneMode, &BF_GLOBALS._player, NULL); @@ -3394,6 +3402,11 @@ void Scene190::dispatch() { } } +void Scene190::synchronize(Serializer &s) { + SceneExt::synchronize(s); + s.syncAsSint16LE(_fieldB52); +} + } // End of namespace BlueForce } // End of namespace TsAGE diff --git a/engines/tsage/blue_force/blueforce_scenes1.h b/engines/tsage/blue_force/blueforce_scenes1.h index bdf414ec9b..ddde200370 100644 --- a/engines/tsage/blue_force/blueforce_scenes1.h +++ b/engines/tsage/blue_force/blueforce_scenes1.h @@ -99,11 +99,12 @@ public: SequenceManager _sequenceManager1, _sequenceManager2, _sequenceManager3; SequenceManager _sequenceManager4, _sequenceManager5, _sequenceManager6; SequenceManager _sequenceManager7, _sequenceManager8; - SceneObject _object1, _object2, _protaginist2, _protaginist1, _object5; - SceneObject _drunk, _object7, _bartender, _object9, _object10; + SceneObject _object1, _object2, _protaginist2, _protaginist1, _cop1; + SceneObject _drunk, _cop2, _bartender, _beerSign, _animationInset; IntroSceneText _text; Action1 _action1; - Action _action2, _action3; + Action2 _action2; + Action3 _action3; public: Scene109(); @@ -136,7 +137,7 @@ class Scene110: public SceneExt { virtual void signal(); }; public: - NamedObject _object1, _object2, _object3, _object4, _object5, _object6, _object7, _object8, _object9, _object10; + NamedObject _object1, _object2, _object3, _object4, _object5, _object6, _object7, _object8, _object9, _object10; ASound _sound; Action1 _action1; Action2 _action2; @@ -170,13 +171,13 @@ public: class Scene115: public SceneExt { /* Objects */ - class Object1: public NamedObject { + class Kate: public NamedObject { public: virtual bool startAction(CursorType action, Event &event); }; - class Object2: public NamedObject { + class Tony: public NamedObject { public: - int _field15F8; + int _talkToTonyCtr2; virtual bool startAction(CursorType action, Event &event); }; class Object3: public NamedObject { @@ -196,12 +197,12 @@ class Scene115: public SceneExt { }; /* Items */ - class Item1: public NamedHotspot { + class Jukebox: public NamedHotspot { SequenceManager _sequenceManager6; public: - int _field1F8A; + int _jokeboxPlayingCtr; - Item1(); + Jukebox(); virtual bool startAction(CursorType action, Event &event); virtual void signal(); virtual void synchronize(Serializer &s); @@ -258,13 +259,13 @@ class Scene115: public SceneExt { SequenceManager _sequenceManager3; SequenceManager _sequenceManager4; SequenceManager _sequenceManager5; - Object1 _object1; - Object2 _object2; + Kate _kate; + Tony _tony; Object3 _object3; Object4 _object4; - SceneObject _object5, _object6, _object7, _object8, _object9; + SceneObject _object5, _object6, _neonSign, _object8, _object9; SceneObject _object10, _object11, _object12, _object13; - Item1 _item1; + Jukebox _itemJukebox; EventHandler1 _eventHandler1; NamedHotspot _item2, _item3, _item4, _item5, _item6, _item7, _item8, _item9; Item10 _item10; @@ -286,9 +287,9 @@ class Scene115: public SceneExt { SpeakerJakeUniform _jakeUniformSpeaker; SpeakerLyleHat _lyleHatSpeaker; ASound _sound1; - int _field168A; - int _field31E8; - int _field31EA; + int _lineNumModifier; + int _jukeboxPlaying; + int _talkToTonyCtr; public: Scene115(); virtual void synchronize(Serializer &s); @@ -353,7 +354,7 @@ public: NamedObject _object1; NamedObject _object2; IntroSceneText _text; - + void postInit(SceneObjectList *OwnerList); }; @@ -419,7 +420,7 @@ public: GarageExit _garageExit; ASoundExt _sound1; SceneMessage _sceneMessage; - int _fieldC56; + int _dispatchMode; Scene180(); virtual void synchronize(Serializer &s); @@ -431,7 +432,7 @@ public: class Scene190: public SceneExt { /* Objects */ - class Object4: public NamedObject { + class LyleCar: public NamedObject { public: virtual bool startAction(CursorType action, Event &event); }; @@ -458,8 +459,8 @@ class Scene190: public SceneExt { public: SequenceManager _sequenceManager; FollowerObject _object1; - NamedObject _object2, _object3; - Object4 _object4; + NamedObject _door, _flag; + LyleCar _lyleCar; Item1 _item1; Item2 _item2; NamedHotspot _item3, _item4, _item5, _item6; @@ -475,10 +476,7 @@ public: virtual void signal(); virtual void process(Event &event); virtual void dispatch(); - virtual void synchronize(Serializer &s) { - SceneExt::synchronize(s); - s.syncAsSint16LE(_fieldB52); - } + virtual void synchronize(Serializer &s); }; } // End of namespace BlueForce diff --git a/engines/tsage/blue_force/blueforce_scenes2.cpp b/engines/tsage/blue_force/blueforce_scenes2.cpp index 3af02bd463..c992afe620 100644 --- a/engines/tsage/blue_force/blueforce_scenes2.cpp +++ b/engines/tsage/blue_force/blueforce_scenes2.cpp @@ -67,7 +67,7 @@ void Scene200::Action1::signal() { rot->setDelay(10); rot = BF_GLOBALS._scenePalette.addRotation(96, 111, 1); rot->setDelay(10); - + scene->setAction(&scene->_sequenceManager, this, 201, &scene->_object1, &scene->_object2, &scene->_object3, &scene->_object4, &scene->_object5, &scene->_object6, NULL); break; @@ -99,7 +99,7 @@ void Scene200::Action2::signal() { break; } } - + /*--------------------------------------------------------------------------*/ @@ -133,7 +133,7 @@ void Scene200::postInit(SceneObjectList *OwnerList) { _object11.setVisage(200); _object11.setPosition(Common::Point(96, 112), 1000); _object11.setStrip(3); - _object11.setFrame(1); + _object11.setFrame(1); _object11.changeZoom(100); _object10.setAction(&_action1); @@ -168,7 +168,7 @@ void Scene210::Action1::signal() { rot->setDelay(10); rot = BF_GLOBALS._scenePalette.addRotation(96, 111, 1); rot->setDelay(10); - + scene->setAction(&scene->_sequenceManager, this, 210, &scene->_object10, &scene->_object11, &scene->_object12, &scene->_object13, &scene->_object14, &scene->_object15, NULL); break; @@ -301,7 +301,7 @@ void Scene220::Action1::signal() { rot->setDelay(10); rot = BF_GLOBALS._scenePalette.addRotation(96, 111, 1); rot->setDelay(10); - + scene->setAction(&scene->_sequenceManager, this, 220, &scene->_object4, &scene->_object5, &scene->_object6, &scene->_object7, &scene->_object8, &scene->_object9, NULL); break; @@ -508,7 +508,7 @@ void Scene225::Action1::signal() { rot->setDelay(10); rot = BF_GLOBALS._scenePalette.addRotation(96, 111, 1); rot->setDelay(10); - + scene->setAction(&scene->_sequenceManager, this, 225, &scene->_object15, &scene->_object16, &scene->_object17, &scene->_object18, &scene->_object19, &scene->_object20, NULL); break; @@ -661,7 +661,7 @@ void Scene225::postInit(SceneObjectList *OwnerList) { _object11._frame = 1; _object11.changeZoom(100); _object11._numFrames = 2; - + _object12.postInit(); _object12.setVisage(1225); _object12.setPosition(Common::Point(368, 35)); @@ -937,9 +937,9 @@ void Scene270::postInit(SceneObjectList *OwnerList) { (BF_INVENTORY.getObjectScene(INV_BASEBALL_CARD) != 2) && (BF_INVENTORY.getObjectScene(INV_BASEBALL_CARD) != 1)) || ((BF_GLOBALS._dayNumber == 3) && BF_GLOBALS.getFlag(fGotGreen355fTalkedToGrannyDay3))) { - BF_GLOBALS._walkRegions.proc1(6); - BF_GLOBALS._walkRegions.proc1(14); - BF_GLOBALS._walkRegions.proc1(19); + BF_GLOBALS._walkRegions.disableRegion(6); + BF_GLOBALS._walkRegions.disableRegion(14); + BF_GLOBALS._walkRegions.disableRegion(19); _grandma.postInit(); _grandma.setVisage(274); @@ -983,17 +983,17 @@ void Scene270::postInit(SceneObjectList *OwnerList) { _fireplace.animate(ANIM_MODE_2, NULL); _fridge.setDetails(Rect(0, 56, 56, 130), 270, 9, 10, 11, 1, NULL); - _object3.setDetails(270, 12, 13, 14, 1, NULL); - _laura.setDetails(270, 15, -1, -1, 1, NULL); - _skip.setDetails(270, 14, -1, -1, 1, NULL); - _lyle.setDetails(270, 34, 35, 36, 1, NULL); - _tv.setDetails(270, 3, 4, 5, 1, NULL); - _fireplace.setDetails(270, 6, 7, 8, 1, NULL); + _object3.setDetails(270, 12, 13, 14, 1, (SceneItem *)NULL); + _laura.setDetails(270, 15, -1, -1, 1, (SceneItem *)NULL); + _skip.setDetails(270, 14, -1, -1, 1, (SceneItem *)NULL); + _lyle.setDetails(270, 34, 35, 36, 1, (SceneItem *)NULL); + _tv.setDetails(270, 3, 4, 5, 1, (SceneItem *)NULL); + _fireplace.setDetails(270, 6, 7, 8, 1, (SceneItem *)NULL); if ((BF_GLOBALS._sceneManager._previousScene == 710) && (BF_GLOBALS._bookmark == bTalkedToGrannyAboutSkipsCard)) { - _grandma.setDetails(270, 15, 16, 17, 1, NULL); + _grandma.setDetails(270, 15, 16, 17, 1, (SceneItem *)NULL); } else { - _grandma.setDetails(270, 40, 16, 17, 1, NULL); + _grandma.setDetails(270, 40, 16, 17, 1, (SceneItem *)NULL); } _afgan.setDetails(4, 270, 27, 28, 29, 1); @@ -1007,14 +1007,14 @@ void Scene270::postInit(SceneObjectList *OwnerList) { BF_GLOBALS._player._moveDiff.x = 8; BF_GLOBALS._player.changeZoom(-1); BF_GLOBALS._player.disableControl(); - + switch (BF_GLOBALS._sceneManager._previousScene) { case 560: if (BF_GLOBALS._bookmark == bTalkedToGrannyAboutSkipsCard) { _field219A = 1; BF_GLOBALS._player._moveDiff.x = 5; _field386 = 0; - + _grandma.animate(ANIM_MODE_1, NULL); setAction(&_sequenceManager1, NULL, 2720, &BF_GLOBALS._player, &_grandma, NULL); BF_GLOBALS._bookmark = bLyleStoppedBy; @@ -1138,13 +1138,13 @@ void Scene270::signal() { case 2717: _sceneMode = 2718; _lyle.setFrame2(-1); - setAction(&_sequenceManager1, this, 2718, &BF_GLOBALS._player, &_laura, &_skip, + setAction(&_sequenceManager1, this, 2718, &BF_GLOBALS._player, &_laura, &_skip, &_lyle, &_grandma, NULL); break; case 2718: - BF_GLOBALS._walkRegions.proc1(6); - BF_GLOBALS._walkRegions.proc1(14); - BF_GLOBALS._walkRegions.proc1(19); + BF_GLOBALS._walkRegions.disableRegion(6); + BF_GLOBALS._walkRegions.disableRegion(14); + BF_GLOBALS._walkRegions.disableRegion(19); _field219A = 1; BF_GLOBALS._bookmark = bTalkedToGrannyAboutSkipsCard; @@ -1152,7 +1152,7 @@ void Scene270::signal() { _grandma.setStrip(8); _grandma._frame = 5; _field384 = 1; - _field384 = 1; + _field386 = 1; BF_GLOBALS._player._moveDiff.x = 8; BF_GLOBALS._player.enableControl(); @@ -1167,7 +1167,7 @@ void Scene270::signal() { break; default: break; - } + } } void Scene270::process(Event &event) { @@ -1290,7 +1290,7 @@ void Scene270::dispatch() { void Scene271::Action1::signal() { Scene271 *scene = (Scene271 *)BF_GLOBALS._sceneManager._scene; - scene->setAction(&scene->_sequenceManager2, this, 2703, &scene->_tv, NULL); + setAction(&scene->_sequenceManager2, this, 2703, &scene->_tv, NULL); } /*--------------------------------------------------------------------------*/ @@ -1374,7 +1374,7 @@ Scene271::Scene271() { void Scene271::synchronize(Serializer &s) { PalettedScene::synchronize(s); - + s.syncAsSint16LE(_field796); s.syncAsSint16LE(_field2E16); s.syncAsSint16LE(_tempPos.x); @@ -1396,7 +1396,7 @@ void Scene271::postInit(SceneObjectList *OwnerList) { _stripManager.addSpeaker(&_gameTextSpeaker); _stripManager.addSpeaker(&_granTextSpeaker); _stripManager.addSpeaker(&_lyleTextSpeaker); - + _exit.setDetails(Rect(310, 115, 320, 167), 270, -1, -1, -1, 1, NULL); _tv.postInit(); @@ -1420,20 +1420,20 @@ void Scene271::postInit(SceneObjectList *OwnerList) { _object5.hide(); _item5.setDetails(Rect(0, 56, 56, 130), 270, 9, 10, 11, 1, NULL); - _object6.setDetails(270, 12, 13, 14, 1, NULL); - _object7.setDetails(270, 15, -1, -1, 1, NULL); - _object8.setDetails(270, 14, -1, -1, 1, NULL); - _object11.setDetails(270, -1, -1, -1, 1, NULL); - _tv.setDetails(270, 3, 4, 5, 1, NULL); - _object10.setDetails(270, 6, 7, 8, 1, NULL); - _object12.setDetails(270, 15, 16, 17, 1, NULL); + _object6.setDetails(270, 12, 13, 14, 1, (SceneItem *)NULL); + _object7.setDetails(270, 15, -1, -1, 1, (SceneItem *)NULL); + _object8.setDetails(270, 14, -1, -1, 1, (SceneItem *)NULL); + _object11.setDetails(270, -1, -1, -1, 1, (SceneItem *)NULL); + _tv.setDetails(270, 3, 4, 5, 1, (SceneItem *)NULL); + _object10.setDetails(270, 6, 7, 8, 1, (SceneItem *)NULL); + _object12.setDetails(270, 15, 16, 17, 1, (SceneItem *)NULL); _item3.setDetails(4, 270, 27, 28, 29, 1); _item1.setDetails(1, 270, 18, 19, 20, 1); _item6.setDetails(Rect(278, 50, 318, 72), 270, 21, 22, 23, 1, NULL); _item2.setDetails(3, 270, 24, 25, 26, 1); _item4.setDetails(2, 270, 30, 31, 32, 1); _item11.setDetails(Rect(0, 0, SCREEN_WIDTH, UI_INTERFACE_Y), 270, 0, 1, 2, 1, NULL); - + BF_GLOBALS._player.postInit(); BF_GLOBALS._player._moveDiff.x = 8; BF_GLOBALS._player.changeZoom(-1); @@ -1450,11 +1450,11 @@ void Scene271::postInit(SceneObjectList *OwnerList) { switch (BF_GLOBALS._sceneManager._previousScene) { case 180: - BF_GLOBALS._walkRegions.proc1(6); - BF_GLOBALS._walkRegions.proc1(14); - BF_GLOBALS._walkRegions.proc1(19); + BF_GLOBALS._walkRegions.disableRegion(6); + BF_GLOBALS._walkRegions.disableRegion(14); + BF_GLOBALS._walkRegions.disableRegion(19); - BF_GLOBALS._player.setVisage(151); + BF_GLOBALS._player.setVisage(275); BF_GLOBALS._player.setPosition(Common::Point(348, 151)); _object12.postInit(); @@ -1477,13 +1477,13 @@ void Scene271::postInit(SceneObjectList *OwnerList) { _object11.setStrip(1); _object11._frame = 2; _object11.setPosition(Common::Point(35, 136)); - + _object6.postInit(); _object6.hide(); - BF_GLOBALS._walkRegions.proc1(6); - BF_GLOBALS._walkRegions.proc1(14); - BF_GLOBALS._walkRegions.proc1(19); + BF_GLOBALS._walkRegions.disableRegion(6); + BF_GLOBALS._walkRegions.disableRegion(14); + BF_GLOBALS._walkRegions.disableRegion(19); _object12.postInit(); _object12.setVisage(274); @@ -1508,15 +1508,15 @@ void Scene271::postInit(SceneObjectList *OwnerList) { _object7.setVisage(277); _object7.setStrip(7); _object7.setPosition(Common::Point(48, 149)); - - BF_GLOBALS._walkRegions.proc1(6); - BF_GLOBALS._walkRegions.proc1(14); - BF_GLOBALS._walkRegions.proc1(19); - + + BF_GLOBALS._walkRegions.disableRegion(6); + BF_GLOBALS._walkRegions.disableRegion(14); + BF_GLOBALS._walkRegions.disableRegion(19); + _object12.postInit(); _object12.setVisage(276); _object12.setPosition(Common::Point(129, 130)); - + _object2.postInit(); _object2.setVisage(270); _object2.setStrip(3); @@ -1543,9 +1543,9 @@ void Scene271::postInit(SceneObjectList *OwnerList) { BF_GLOBALS._player.setFrame(1); BF_GLOBALS._player.setPosition(Common::Point(239, 145)); - BF_GLOBALS._walkRegions.proc1(6); - BF_GLOBALS._walkRegions.proc1(14); - BF_GLOBALS._walkRegions.proc1(19); + BF_GLOBALS._walkRegions.disableRegion(6); + BF_GLOBALS._walkRegions.disableRegion(14); + BF_GLOBALS._walkRegions.disableRegion(19); _object12.postInit(); _object12.setVisage(274); @@ -1637,10 +1637,10 @@ void Scene271::signal() { BF_GLOBALS._player.enableControl(); _field796 = 1; _field2E16 = 1; - + _object1.remove(); _object11.remove(); - + BF_INVENTORY.setObjectScene(INV_LYLE_CARD, 1); break; case 2709: @@ -1754,7 +1754,7 @@ void Scene280::Action1::signal() { scene->_jake.setFrame(1); scene->_jake.animate(ANIM_MODE_8, NULL); scene->_jake._numFrames = 5; - + scene->_stripManager.start(2800, this); break; case 2: diff --git a/engines/tsage/blue_force/blueforce_scenes3.cpp b/engines/tsage/blue_force/blueforce_scenes3.cpp index 1fa27ccb27..22c831f531 100644 --- a/engines/tsage/blue_force/blueforce_scenes3.cpp +++ b/engines/tsage/blue_force/blueforce_scenes3.cpp @@ -58,7 +58,7 @@ bool Scene300::Object19::startAction(CursorType action, Event &event) { return true; } - +// entrance door bool Scene300::Item1::startAction(CursorType action, Event &event) { if (action == CURSOR_USE) { Scene300 *scene = (Scene300 *)BF_GLOBALS._sceneManager._scene; @@ -75,6 +75,8 @@ bool Scene300::Item1::startAction(CursorType action, Event &event) { bool Scene300::Item2::startAction(CursorType action, Event &event) { if ((action == CURSOR_LOOK) || (action == CURSOR_USE)) { Scene300 *scene = (Scene300 *)BF_GLOBALS._sceneManager._scene; + BF_GLOBALS._player.disableControl(); + scene->_sceneMode = 0; scene->setAction(&scene->_sequenceManager1, scene, 304, &scene->_object11, NULL); return true; } else { @@ -108,7 +110,7 @@ void Scene300::Action1::signal() { setDelay(1); break; case 2: { - ADD_PLAYER_MOVER_THIS(BF_GLOBALS._player, BF_GLOBALS._player._position.x - 8, + ADD_MOVER(BF_GLOBALS._player, BF_GLOBALS._player._position.x - 8, BF_GLOBALS._player._position.y); break; } @@ -183,12 +185,13 @@ void Scene300::Action4::signal() { break; case 2: BF_GLOBALS._sceneManager.changeScene(60); + setDelay(15); break; case 3: setAction(&scene->_sequenceManager1, this, 319, &scene->_object19, NULL); break; case 4: - BF_GLOBALS.setFlag(2); + BF_GLOBALS.setFlag(onBike); BF_GLOBALS._sceneManager.changeScene(190); break; default: @@ -213,6 +216,7 @@ void Scene300::Action5::signal() { break; case 3: { ADD_PLAYER_MOVER_NULL(BF_GLOBALS._player, 186, 140); + setDelay(3); break; } case 4: @@ -265,20 +269,20 @@ void Scene300::postInit(SceneObjectList *OwnerList) { _object17.setVisage(301); _object17.setStrip(1); _object17.setPosition(Common::Point(87, 88)); - _object17.setDetails(300, 11, 13, 2, 1, NULL); + _object17.setDetails(300, 11, 13, 2, 1, (SceneItem *)NULL); _object18.postInit(); _object18.setVisage(301); _object18.setStrip(1); _object18.setPosition(Common::Point(137, 92)); - _object18.setDetails(300, 11, 13, 3, 1, NULL); + _object18.setDetails(300, 11, 13, 3, 1, (SceneItem *)NULL); } _object19.postInit(); _object19.setVisage(301); _object19.setStrip(1); _object19.setPosition(Common::Point(175, 99)); - _object19.setDetails(300, 11, 13, 34, 1, NULL); + _object19.setDetails(300, 11, 13, 34, 1, (SceneItem *)NULL); _object11.postInit(); _object11.setVisage(301); @@ -302,14 +306,14 @@ void Scene300::postInit(SceneObjectList *OwnerList) { break; case 190: _sceneMode = 0; - if (!BF_GLOBALS.getFlag(2)) { + if (!BF_GLOBALS.getFlag(onBike)) { _sceneMode = 7308; BF_GLOBALS._player.setPosition(Common::Point(175, 50)); ADD_PLAYER_MOVER_THIS(BF_GLOBALS._player, 123, 71); if ((BF_GLOBALS._dayNumber == 2) && (BF_GLOBALS._bookmark < bEndDayOne)) - setup(); - } else if (!BF_GLOBALS.getFlag(3)) { + setupInspection(); + } else if (!BF_GLOBALS.getFlag(onDuty)) { BF_GLOBALS._player.disableControl(); _sceneMode = 300; setAction(&_sequenceManager1, this, 300, &BF_GLOBALS._player, NULL); @@ -328,7 +332,7 @@ void Scene300::postInit(SceneObjectList *OwnerList) { setAction(&_sequenceManager1, this, 306, &BF_GLOBALS._player, &_object8, NULL); } else { BF_GLOBALS._player.setVisage(1304); - setup(); + setupInspection(); BF_GLOBALS._player.disableControl(); _sceneMode = 0; setAction(&_sequenceManager1, this, 306, &BF_GLOBALS._player, &_object8, NULL); @@ -420,7 +424,7 @@ void Scene300::signal() { setAction(&_sequenceManager1, this, 312, &_object1, &_object16, NULL); break; case 317: - BF_GLOBALS.setFlag(2); + BF_GLOBALS.setFlag(onBike); BF_GLOBALS._sceneManager.changeScene(60); break; case 318: @@ -474,10 +478,10 @@ void Scene300::signal() { _object10.postInit(); _object10.hide(); - if (BF_GLOBALS.getFlag(1)) { + if (BF_GLOBALS.getFlag(gunClean)) { BF_GLOBALS._player.disableControl(); _sceneMode = 4308; - setAction(&_sequenceManager1, this, 6307, &_object2, &_object1, &_object9, &_object10, NULL); + setAction(&_sequenceManager1, this, 6307, &_object12, &_object1, &_object9, &_object10, NULL); } else { BF_GLOBALS._player.disableControl(); _sceneMode = 4308; @@ -552,7 +556,7 @@ void Scene300::dispatch() { if ((BF_GLOBALS._player._position.y < 59) && (BF_GLOBALS._player._position.x > 137) && (_sceneMode != 6308) && (_sceneMode != 7308)) { - BF_GLOBALS._v4CEA4 = 3; + // The original was setting a useless global variable (removed) _sceneMode = 6308; BF_GLOBALS._player.disableControl(); ADD_MOVER(BF_GLOBALS._player, BF_GLOBALS._player._position.x + 20, @@ -574,7 +578,7 @@ void Scene300::dispatch() { } } -void Scene300::setup() { +void Scene300::setupInspection() { _object13.postInit(); _object13.setVisage(307); _object13.setStrip(6); @@ -618,7 +622,7 @@ void Scene300::setup() { _object1._moveDiff = Common::Point(3, 1); _object1.setObjectWrapper(new SceneObjectWrapper()); _object1.animate(ANIM_MODE_1, NULL); - _object2.setup(&_object1, 306, 4, 9); + _object2.setup(&_object1, 306, 4, 29); BF_GLOBALS._sceneItems.addItems(&_object13, &_object14, &_object15, &_object16, NULL); _timer.set(3600, this, &_action5); @@ -638,7 +642,7 @@ bool Scene315::Barry::startAction(CursorType action, Event &event) { switch (action) { case CURSOR_USE: - if (scene->_field1B60 || scene->_field1B64) + if (scene->_invGreenCount || scene->_invGangCount) SceneItem::display2(320, 51); else NamedHotspot::startAction(action, event); @@ -667,7 +671,7 @@ bool Scene315::Barry::startAction(CursorType action, Event &event) { scene->_stripNumber = 3174; scene->setAction(&scene->_action1); } else { - ++scene->_field1B62; + ++scene->_bookGreenCount; scene->_stripNumber = (action == INV_GREENS_GUN) ? 3168 : 0; scene->_sceneMode = 3153; scene->setAction(&scene->_sequenceManager, scene, 3153, &BF_GLOBALS._player, NULL); @@ -675,7 +679,7 @@ bool Scene315::Barry::startAction(CursorType action, Event &event) { break; case INV_FOREST_RAP: BF_GLOBALS._player.disableControl(); - scene->_stripNumber = BF_GLOBALS.getFlag(onDuty) ? 3178 : 3173; + scene->_stripNumber = BF_GLOBALS.getFlag(onDuty) ? 3173 : 3178; scene->setAction(&scene->_action1); break; case INV_GREEN_ID: @@ -693,7 +697,7 @@ bool Scene315::Barry::startAction(CursorType action, Event &event) { scene->setAction(&scene->_action1); break; case INV_COBB_RAP: - if (BF_INVENTORY._mugshot._sceneNumber == 1) + if (BF_INVENTORY.getObjectScene(INV_MUG_SHOT) == 1) NamedHotspot::startAction(action, event); else { BF_GLOBALS._player.disableControl(); @@ -717,8 +721,8 @@ bool Scene315::Barry::startAction(CursorType action, Event &event) { scene->_stripNumber = 3174; scene->setAction(&scene->_action1); } else { - ++scene->_field1B66; - if (!scene->_field1B6C && (scene->_field1B66 == 1)) { + ++scene->_bookGangCount; + if (!scene->_field1B6C && (scene->_bookGangCount == 1)) { scene->_field1B6C = 1; scene->_stripNumber = 3169; } else { @@ -759,9 +763,9 @@ bool Scene315::SutterSlot::startAction(CursorType action, Event &event) { case INV_BOOKING_FRANKIE: case INV_BOOKING_GANG: if (action == INV_BOOKING_GREEN) - ++scene->_field1B62; + ++scene->_bookGreenCount; else - ++scene->_field1B66; + ++scene->_bookGangCount; BF_GLOBALS._player.disableControl(); scene->_sceneMode = 12; @@ -874,6 +878,7 @@ bool Scene315::BulletinMemo::startAction(CursorType action, Event &event) { } } +// Own Mail Slot bool Scene315::Object2::startAction(CursorType action, Event &event) { Scene315 *scene = (Scene315 *)BF_GLOBALS._sceneManager._scene; @@ -939,6 +944,10 @@ void Scene315::Action1::signal() { if (scene->_sceneMode == 3169) { T2_GLOBALS._uiElements.addScore(30); BF_INVENTORY.setObjectScene(INV_MUG_SHOT, 1); + //HACK: This has to be checked wether or not it occurs in the original. + //When the _sceneMode is set to 3169, the value desn't change. + //If you show the forest rapsheet, it gives points (and again... and again...) + scene->_sceneMode = 3154; } remove(); @@ -957,9 +966,9 @@ Scene315::Scene315() { BF_GLOBALS.clearFlag(fCanDrawGun); _field1B68 = true; - _field1B6A = false; - _field1B60 = _field1B62 = 0; - _field1B64 = _field1B66 = 0; + _doorOpened = false; + _invGreenCount = _bookGreenCount = 0; + _invGangCount = _bookGangCount = 0; } void Scene315::synchronize(Serializer &s) { @@ -968,18 +977,19 @@ void Scene315::synchronize(Serializer &s) { s.syncAsSint16LE(_field1390); s.syncAsSint16LE(_stripNumber); s.syncAsSint16LE(_field1398); - s.syncAsSint16LE(_field1B60); - s.syncAsSint16LE(_field1B62); - s.syncAsSint16LE(_field1B64); - s.syncAsSint16LE(_field1B66); + s.syncAsSint16LE(_invGreenCount); + s.syncAsSint16LE(_bookGreenCount); + s.syncAsSint16LE(_invGangCount); + s.syncAsSint16LE(_bookGangCount); s.syncAsSint16LE(_field1B6C); s.syncAsSint16LE(_field139C); s.syncAsByte(_field1B68); - s.syncAsByte(_field1B6A); + s.syncAsByte(_doorOpened); s.syncAsSint16LE(_currentCursor); } void Scene315::postInit(SceneObjectList *OwnerList) { + SceneExt::postInit(OwnerList); loadScene(315); if (BF_GLOBALS._sceneManager._previousScene != 325) @@ -1005,7 +1015,7 @@ void Scene315::postInit(SceneObjectList *OwnerList) { _atfMemo.setStrip(4); _atfMemo.setFrame(4); _atfMemo.fixPriority(82); - _atfMemo.setDetails(315, -1, -1, -1, 1, NULL); + _atfMemo.setDetails(315, -1, -1, -1, 1, (SceneItem *)NULL); } if (BF_GLOBALS._dayNumber == 1) { @@ -1016,7 +1026,7 @@ void Scene315::postInit(SceneObjectList *OwnerList) { _bulletinMemo.setStrip(4); _bulletinMemo.setFrame(2); _bulletinMemo.fixPriority(82); - _bulletinMemo.setDetails(315, -1, -1, -1, 1, NULL); + _bulletinMemo.setDetails(315, -1, -1, -1, 1, (SceneItem *)NULL); } } else if ((BF_INVENTORY._daNote._sceneNumber != 1) && (BF_GLOBALS._dayNumber < 3)) { _object2.postInit(); @@ -1025,7 +1035,7 @@ void Scene315::postInit(SceneObjectList *OwnerList) { _object2.setFrame(2); _object2.setPosition(Common::Point(304, 31)); _object2.fixPriority(70); - _object2.setDetails(315, 3, 4, -1, 1, NULL); + _object2.setDetails(315, 3, 4, -1, 1, (SceneItem *)NULL); } _sutterSlot.setDetails(12, 315, 35, -1, 36, 1); @@ -1061,29 +1071,29 @@ void Scene315::postInit(SceneObjectList *OwnerList) { // Set up evidence objects in inventory if (BF_INVENTORY._bookingGreen.inInventory()) - ++_field1B60; + ++_invGreenCount; if (BF_INVENTORY._greensGun.inInventory()) - ++_field1B60; + ++_invGreenCount; if (BF_INVENTORY._greensKnife.inInventory()) - ++_field1B60; + ++_invGreenCount; if (BF_INVENTORY._bullet22.inInventory()) - ++_field1B64; + ++_invGangCount; if (BF_INVENTORY._autoRifle.inInventory()) - ++_field1B64; + ++_invGangCount; if (BF_INVENTORY._wig.inInventory()) - ++_field1B64; + ++_invGangCount; if (BF_INVENTORY._bookingFrankie.inInventory()) - ++_field1B64; + ++_invGangCount; if (BF_INVENTORY._bookingGang.inInventory()) - ++_field1B64; + ++_invGangCount; if (BF_INVENTORY._snub22.inInventory()) - ++_field1B64; + ++_invGangCount; switch (BF_GLOBALS._sceneManager._previousScene) { case 190: if (_field1398) - _field1B6A = true; + _doorOpened = true; _sceneMode = BF_GLOBALS.getFlag(onDuty) ? 3150 : 3165; setAction(&_sequenceManager, this, _sceneMode, &BF_GLOBALS._player, NULL); break; @@ -1099,7 +1109,7 @@ void Scene315::postInit(SceneObjectList *OwnerList) { case 300: default: if (_field1398) - _field1B6A = true; + _doorOpened = true; if (!BF_GLOBALS.getFlag(onDuty)) _sceneMode = 3166; else if (!_field1398) @@ -1111,10 +1121,10 @@ void Scene315::postInit(SceneObjectList *OwnerList) { break; } - if (_field1B6A) { + if (_doorOpened) { _object8.setFrame(8); } else { - BF_GLOBALS._walkRegions.proc1(4); + BF_GLOBALS._walkRegions.disableRegion(4); } _briefingMaterial.setDetails(24, 315, 38, 39, 40, 1); @@ -1135,15 +1145,15 @@ void Scene315::signal() { BF_GLOBALS._player.enableControl(); break; case 10: - if (_field1B62) { - if (_field1B62 >= _field1B60) + if (_bookGreenCount) { + if (_bookGreenCount >= _invGreenCount) BF_GLOBALS.setFlag(fLeftTraceIn910); else ++ctr; } - if (_field1B66) { - if (_field1B66 < _field1B64) + if (_bookGangCount) { + if (_bookGangCount < _invGangCount) ++ctr; else if (BF_GLOBALS._bookmark < bBookedFrankieEvidence) BF_GLOBALS._bookmark = bBookedFrankieEvidence; @@ -1158,15 +1168,15 @@ void Scene315::signal() { BF_GLOBALS._sound1.fadeOut2(NULL); break; case 11: - if (_field1B62) { - if (_field1B62 >= _field1B60) + if (_bookGreenCount) { + if (_bookGreenCount >= _invGreenCount) BF_GLOBALS.setFlag(fLeftTraceIn910); else ++ctr; } - if (_field1B66) { - if (_field1B66 < _field1B64) + if (_bookGangCount) { + if (_bookGangCount < _invGangCount) ++ctr; else if (BF_GLOBALS._bookmark < bBookedFrankie) BF_GLOBALS._bookmark = bBookedFrankie; @@ -1195,7 +1205,7 @@ void Scene315::signal() { T2_GLOBALS._uiElements.addScore(30); BF_INVENTORY.setObjectScene((int)_currentCursor, 315); - if (!_field1B64 || (_field1B66 != _field1B64)) + if (!_invGangCount || (_bookGangCount != _invGangCount)) BF_GLOBALS._player.enableControl(); else { _field139C = 1; @@ -1214,13 +1224,14 @@ void Scene315::signal() { BF_GLOBALS._sceneManager.changeScene(325); break; case 3152: - BF_GLOBALS._walkRegions.proc1(4); + BF_GLOBALS._walkRegions.disableRegion(4); _object7.remove(); _object6.remove(); - + // No break on purpose + case 3155: BF_GLOBALS._player.enableControl(); _field1B68 = false; - BF_GLOBALS._walkRegions.proc1(4); + BF_GLOBALS._walkRegions.disableRegion(4); T2_GLOBALS._uiElements._active = true; T2_GLOBALS._uiElements.show(); break; @@ -1230,7 +1241,7 @@ void Scene315::signal() { if (_stripNumber != 0) setAction(&_action1); - else if (!_field1B64 || (_field1B66 != _field1B64)) + else if (!_invGangCount || (_bookGangCount != _invGangCount)) BF_GLOBALS._player.enableControl(); else { _stripNumber = 3171; @@ -1238,13 +1249,6 @@ void Scene315::signal() { _field139C = 1; } break; - case 3155: - BF_GLOBALS._player.enableControl(); - _field1B68 = false; - BF_GLOBALS._walkRegions.proc1(4); - T2_GLOBALS._uiElements._active = true; - T2_GLOBALS._uiElements.show(); - break; case 3156: T2_GLOBALS._uiElements.addScore(10); BF_INVENTORY.setObjectScene(INV_DA_NOTE, 1); @@ -1287,6 +1291,11 @@ void Scene315::signal() { BF_GLOBALS._player.enableControl(); _object9.remove(); break; + case 3169: + T2_GLOBALS._uiElements.addScore(30); + BF_INVENTORY.setObjectScene(INV_MUG_SHOT, 1); + BF_GLOBALS._player.enableControl(); + break; case 3154: default: break; @@ -1318,7 +1327,7 @@ void Scene315::dispatch() { if (_field1B68) return; - if (_field1B6A) { + if (_doorOpened) { if (BF_GLOBALS._player._position.y < 69) { BF_GLOBALS._player.disableControl(); _field1B68 = true; @@ -1721,9 +1730,9 @@ void Scene340::Action1::signal() { ++BF_GLOBALS._marinaWomanCtr; if (BF_GLOBALS.getFlag(fBackupArrived340)) { - scene->_field2654 = 1; + scene->_backupPresent = 1; scene->_harrison.setPosition(Common::Point(46, 154)); - BF_GLOBALS._walkRegions.proc1(19); + BF_GLOBALS._walkRegions.disableRegion(19); } else if (BF_GLOBALS.getFlag(fCalledBackup)) { scene->_timer1.set(40, &scene->_harrison, &scene->_action4); } @@ -1732,6 +1741,8 @@ void Scene340::Action1::signal() { BF_GLOBALS._player.enableControl(); remove(); break; + default: + break; } } @@ -1740,6 +1751,7 @@ void Scene340::Action2::signal() { switch (_actionIndex++) { case 0: { + BF_GLOBALS._player.disableControl(); ADD_PLAYER_MOVER(64, 155); break; } @@ -1757,6 +1769,8 @@ void Scene340::Action2::signal() { BF_GLOBALS._player.enableControl(); remove(); break; + default: + break; } } @@ -1765,6 +1779,7 @@ void Scene340::Action3::signal() { switch (_actionIndex++) { case 0: { + BF_GLOBALS._player.disableControl(); ADD_PLAYER_MOVER(64, 155); break; } @@ -1773,18 +1788,20 @@ void Scene340::Action3::signal() { setDelay(3); break; case 2: - scene->_stripManager.start(scene->_field2652 + 3404, this); + scene->_stripManager.start(scene->_womanDialogCount + 3404, this); break; case 3: - if (++scene->_field2652 > 2) { + if (++scene->_womanDialogCount > 2) { if (!BF_GLOBALS.getFlag(fGotAllSkip340)) BF_GLOBALS.setFlag(fGotAllSkip340); - scene->_field2652 = 0; + scene->_womanDialogCount = 0; } BF_GLOBALS._player.enableControl(); remove(); break; + default: + break; } } @@ -1803,17 +1820,19 @@ void Scene340::Action4::signal() { break; case 1: BF_GLOBALS.setFlag(fBackupArrived340); - scene->_field2654 = 1; + scene->_backupPresent = 1; setDelay(3); break; case 2: BF_GLOBALS._player.setAction(&scene->_sequenceManager3, this, 1347, &scene->_harrison, NULL); break; case 3: - BF_GLOBALS._walkRegions.proc1(19); + BF_GLOBALS._walkRegions.disableRegion(19); BF_GLOBALS._player.enableControl(); remove(); break; + default: + break; } } @@ -1823,7 +1842,7 @@ void Scene340::Action5::signal() { switch (_actionIndex++) { case 0: BF_GLOBALS._player.disableControl(); - if (scene->_field2654) { + if (scene->_backupPresent) { ADD_PLAYER_MOVER(64, 155); } else { BF_GLOBALS._player.changeAngle(45); @@ -1849,6 +1868,8 @@ void Scene340::Action5::signal() { BF_GLOBALS._player.enableControl(); remove(); break; + default: + break; } } @@ -1893,6 +1914,8 @@ void Scene340::Action7::signal() { BF_GLOBALS.setFlag(fBackupIn350); BF_GLOBALS._sceneManager.changeScene(350); break; + default: + break; } } @@ -1945,6 +1968,11 @@ void Scene340::Action8::signal() { case 4: remove(); break; + default: + // This is present in the original game + warning("Bugs"); + remove(); + break; } } @@ -1977,15 +2005,15 @@ void Scene340::Timer2::signal() { /*--------------------------------------------------------------------------*/ Scene340::Scene340(): PalettedScene() { - _seqNumber1 = _field2652 = _field2654 = 0; + _seqNumber1 = _womanDialogCount = _backupPresent = 0; } void Scene340::synchronize(Serializer &s) { PalettedScene::synchronize(s); s.syncAsSint16LE(_seqNumber1); - s.syncAsSint16LE(_field2652); - s.syncAsSint16LE(_field2654); + s.syncAsSint16LE(_womanDialogCount); + s.syncAsSint16LE(_backupPresent); } void Scene340::postInit(SceneObjectList *OwnerList) { @@ -1993,14 +2021,14 @@ void Scene340::postInit(SceneObjectList *OwnerList) { loadScene(340); setZoomPercents(126, 70, 162, 100); - BF_GLOBALS._walkRegions.proc1(13); - BF_GLOBALS._walkRegions.proc1(15); + BF_GLOBALS._walkRegions.disableRegion(13); + BF_GLOBALS._walkRegions.disableRegion(15); _timer2.set(2, NULL); _stripManager.addSpeaker(&_gameTextSpeaker); _stripManager.addSpeaker(&_jakeUniformSpeaker); - _field2652 = 0; + _womanDialogCount = 0; BF_GLOBALS._player.postInit(); BF_GLOBALS._player.setObjectWrapper(new SceneObjectWrapper()); BF_GLOBALS._player.animate(ANIM_MODE_1, NULL); @@ -2009,7 +2037,7 @@ void Scene340::postInit(SceneObjectList *OwnerList) { _swExit.setDetails(15, 340, -1, -1, -1, 1); _northExit.setDetails(16, 340, -1, -1, -1, 1); - BF_GLOBALS._player._regionBitList = 0x10000; + BF_GLOBALS._player._regionBitList |= 0x10000; BF_GLOBALS._player.setVisage(BF_GLOBALS.getFlag(onDuty) ? 1341 : 129); BF_GLOBALS._player._moveDiff = Common::Point(5, 2); @@ -2057,18 +2085,18 @@ void Scene340::postInit(SceneObjectList *OwnerList) { _stripManager.addSpeaker(&_harrisonSpeaker); if (BF_GLOBALS.getFlag(fBackupIn350)) { - _field2654 = 0; + _backupPresent = 0; _harrison.setVisage(1355); _harrison.setPosition(Common::Point(289, 112)); _harrison.changeAngle(225); _harrison.setFrame(1); _harrison.fixPriority(75); - BF_GLOBALS._walkRegions.proc1(23); + BF_GLOBALS._walkRegions.disableRegion(23); } else if (BF_GLOBALS.getFlag(fBackupArrived340)) { - _field2654 = 1; + _backupPresent = 1; _harrison.setPosition(Common::Point(46, 154)); - BF_GLOBALS._walkRegions.proc1(19); + BF_GLOBALS._walkRegions.disableRegion(19); } else if (BF_GLOBALS.getFlag(fCalledBackup) && (BF_GLOBALS._marinaWomanCtr > 0)) { _timer1.set(900, &_harrison, &_action4); } @@ -2291,8 +2319,8 @@ void Scene342::postInit(SceneObjectList *OwnerList) { loadScene(340); setZoomPercents(126, 70, 162, 100); - BF_GLOBALS._walkRegions.proc1(13); - BF_GLOBALS._walkRegions.proc1(15); + BF_GLOBALS._walkRegions.disableRegion(13); + BF_GLOBALS._walkRegions.disableRegion(15); _field1A1A = 0; _timer1.set(2, NULL); @@ -2360,7 +2388,7 @@ void Scene342::postInit(SceneObjectList *OwnerList) { } if (BF_GLOBALS.getFlag(fWithLyle)) { - BF_GLOBALS._walkRegions.proc1(19); + BF_GLOBALS._walkRegions.disableRegion(19); BF_GLOBALS._player.disableControl(); _sceneMode = 0; @@ -2658,7 +2686,7 @@ void Scene350::postInit(SceneObjectList *OwnerList) { _harrison.setObjectWrapper(new SceneObjectWrapper()); _harrison.animate(ANIM_MODE_1, NULL); _harrison.changeZoom(-1); - _harrison.setDetails(350, 12, 13, 14, 1, NULL); + _harrison.setDetails(350, 12, 13, 14, 1, (SceneItem *)NULL); _harrison._moveDiff = Common::Point(2, 1); _stripManager.addSpeaker(&_harrisonSpeaker); @@ -2751,7 +2779,7 @@ void Scene350::signal() { default: if (BF_GLOBALS.getFlag(fBackupIn350)) { _harrison.updateAngle(BF_GLOBALS._player._position); - BF_GLOBALS._walkRegions.proc1(19); + BF_GLOBALS._walkRegions.disableRegion(19); } BF_GLOBALS._player.enableControl(); @@ -2952,8 +2980,8 @@ bool Scene355::LockerInset::startAction(CursorType action, Event &event) { if (_frame == 1) { SceneItem::display2(355, 23); return true; - } - return true; + } else + return NamedObject::startAction(action, event); case INV_SCREWDRIVER: scene->_sound2.play(104); BF_INVENTORY.setObjectScene(INV_SCREWDRIVER, 999); @@ -3558,7 +3586,7 @@ void Scene355::postInit(SceneObjectList *OwnerList) { _lyle.setStrip(1); _lyle.setAction(&_action1); _lyle._flag = BF_GLOBALS.getFlag(fTookTrailerAmmo) ? 1 : 0; - _lyle.setDetails(355, 40, 42, 41, 1, NULL); + _lyle.setDetails(355, 40, 42, 41, 1, (SceneItem *)NULL); } if ((BF_INVENTORY.getObjectScene(INV_RAGS) == 0) && (BF_INVENTORY.getObjectScene(INV_JAR) == 0) && @@ -3643,7 +3671,7 @@ void Scene355::postInit(SceneObjectList *OwnerList) { } _item3._sceneRegionId = 18; - _harrison.setDetails(355, 18, 20, 19, 1, NULL); + _harrison.setDetails(355, 18, 20, 19, 1, (SceneItem *)NULL); _item6.setDetails(10, 355, 2, -1, 14, 1); _item7.setDetails(11, 355, 3, -1, 15, 1); _item8.setDetails(12, 355, 4, -1, 8, 1); @@ -4137,7 +4165,7 @@ bool Scene360::Item1::startAction(CursorType action, Event &event) { case CURSOR_TALK: scene->_sceneMode = 3607; BF_GLOBALS._player.disableControl(); - scene->_stripManager.start(3550, this); + scene->_stripManager.start(3550, scene); return true; case INV_COLT45: SceneItem::display2(1, 4); @@ -4246,7 +4274,7 @@ bool Scene360::Object4::startAction(CursorType action, Event &event) { } } -bool Scene360::BsseballCards::startAction(CursorType action, Event &event) { +bool Scene360::BaseballCards::startAction(CursorType action, Event &event) { switch (action) { case CURSOR_LOOK: if (event.mousePos.x >= (_bounds.left + _bounds.width() / 2)) @@ -4262,7 +4290,7 @@ bool Scene360::BsseballCards::startAction(CursorType action, Event &event) { } } -bool Scene360::Object6::startAction(CursorType action, Event &event) { +bool Scene360::Harrison::startAction(CursorType action, Event &event) { switch (action) { case CURSOR_LOOK: SceneItem::display2(360, 6); @@ -4319,13 +4347,12 @@ void Scene360::Action1::signal() { /*--------------------------------------------------------------------------*/ -Scene360::Scene360() { - _field380 = 0; -} - void Scene360::synchronize(Serializer &s) { SceneExt::synchronize(s); - s.syncAsSint16LE(_field380); + if (s.getVersion() < 9) { + int tmpVar = 0; + s.syncAsSint16LE(tmpVar); + } } void Scene360::postInit(SceneObjectList *OwnerList) { @@ -4403,20 +4430,19 @@ void Scene360::postInit(SceneObjectList *OwnerList) { BF_GLOBALS._player._moveDiff.y = 4; BF_GLOBALS._player.enableControl(); - if (BF_GLOBALS._sceneManager._previousScene == 370) { - BF_GLOBALS._player.setPosition(Common::Point(62, 122)); - } else { + if ((BF_GLOBALS._sceneManager._previousScene == 355) || (BF_GLOBALS._sceneManager._previousScene != 370)) { + // The original was using there a useless variable (now removed) BF_GLOBALS._player.setPosition(Common::Point(253, 135)); BF_GLOBALS._player.setStrip(2); if (BF_GLOBALS.getFlag(fBackupIn350)) { - _object6.postInit(); - _object6.setVisage(BF_GLOBALS.getFlag(gunDrawn) ? 363 : 1363); - _object6.animate(ANIM_MODE_1, NULL); - _object6.setObjectWrapper(new SceneObjectWrapper()); - _object6.setPosition(Common::Point(235, 150)); - _object6.setStrip(2); - BF_GLOBALS._sceneItems.push_back(&_object6); + _harrison.postInit(); + _harrison.setVisage(BF_GLOBALS.getFlag(gunDrawn) ? 363 : 1363); + _harrison.animate(ANIM_MODE_1, NULL); + _harrison.setObjectWrapper(new SceneObjectWrapper()); + _harrison.setPosition(Common::Point(235, 150)); + _harrison.setStrip(2); + BF_GLOBALS._sceneItems.push_back(&_harrison); } _sceneMode = 3607; @@ -4431,6 +4457,9 @@ void Scene360::postInit(SceneObjectList *OwnerList) { _slidingDoor.setPosition(Common::Point(6, 130)); _slidingDoor.setAction(&_sequenceManager1, this, 3606, &_slidingDoor, &_object7, NULL); } + } else { + BF_GLOBALS._player.setPosition(Common::Point(62, 122)); + BF_GLOBALS._player.enableControl(); } _barometer._sceneRegionId = 9; @@ -4451,7 +4480,7 @@ void Scene360::signal() { BF_GLOBALS.setFlag(gunDrawn); BF_GLOBALS._deathReason = BF_GLOBALS.getFlag(fBackupIn350) ? 2 : 1; BF_GLOBALS._player.setPosition(Common::Point(BF_GLOBALS._player._position.x - 20, - BF_GLOBALS._player._position.y)); + BF_GLOBALS._player._position.y + 1)); _sceneMode = 3610; setAction(&_sequenceManager1, this, 3610, &_slidingDoor, &_object2, &BF_GLOBALS._player, NULL); break; @@ -4460,8 +4489,13 @@ void Scene360::signal() { setAction(&_sequenceManager1, this, 3605, &BF_GLOBALS._player, &_slidingDoor, NULL); break; case 3604: - _sceneMode = BF_GLOBALS.getFlag(fBackupIn350) ? 3603 : 3605; - setAction(&_sequenceManager1, this, _sceneMode, &_object6, NULL); + if (BF_GLOBALS.getFlag(fBackupIn350)) { + _sceneMode = 3603; + setAction(&_sequenceManager1, this, _sceneMode, &_harrison, NULL); + } else { + _sceneMode = 3605; + setAction(&_sequenceManager1, this, _sceneMode, &BF_GLOBALS._player, &_slidingDoor, NULL); + } break; case 3605: if (BF_GLOBALS.getFlag(fBackupIn350)) { @@ -4475,11 +4509,17 @@ void Scene360::signal() { break; case 3607: case 3609: - _object6.setVisage(1363); + // Original game was only using at this place visage 1363. + // This workaround allow Harrison to keep his gun handy + // when entering the romm (if required) + if (! BF_GLOBALS.getFlag(gunDrawn)) + _harrison.setVisage(1363); + else + _harrison.setVisage(363); BF_GLOBALS._player.enableControl(); break; case 3608: - BF_GLOBALS._sceneManager.changeScene(355); + BF_GLOBALS._sceneManager.changeScene(355); break; case 3610: BF_GLOBALS._sceneManager.changeScene(666); @@ -4523,7 +4563,7 @@ void Scene360::process(Event &event) { BF_GLOBALS._player.setFrame(BF_GLOBALS._player.getFrameCount()); BF_GLOBALS._player.animate(ANIM_MODE_6, this); - _object6.setVisage(1363); + _harrison.setVisage(1363); } } else { // Handle drawing gun @@ -4538,7 +4578,7 @@ void Scene360::process(Event &event) { BF_GLOBALS.setFlag(gunDrawn); _sceneMode = 9998; - _object6.setVisage(363); + _harrison.setVisage(363); } event.handled = true; @@ -4587,7 +4627,7 @@ bool Scene370::GreensGun::startAction(CursorType action, Event &event) { case CURSOR_USE: if ((BF_INVENTORY.getObjectScene(INV_HANDCUFFS) != 1) || BF_GLOBALS.getFlag(greenTaken)) { BF_GLOBALS._player.disableControl(); - BF_GLOBALS._walkRegions.proc2(3); + BF_GLOBALS._walkRegions.enableRegion(3); scene->_sceneMode = 3711; scene->setAction(&scene->_sequenceManager, scene, 3711, &BF_GLOBALS._player, this, NULL); } else { @@ -4616,7 +4656,7 @@ bool Scene370::Green::startAction(CursorType action, Event &event) { scene->_stripManager.start(3717, scene); } else { BF_GLOBALS._player.disableControl(); - BF_GLOBALS._walkRegions.proc2(3); + BF_GLOBALS._walkRegions.enableRegion(3); scene->_sceneMode = 3715; scene->setAction(&scene->_sequenceManager, scene, 3715, &BF_GLOBALS._player, this, NULL); } @@ -4751,37 +4791,36 @@ bool Scene370::Laura::startAction(CursorType action, Event &event) { bool Scene370::Item1::startAction(CursorType action, Event &event) { Scene370 *scene = (Scene370 *)BF_GLOBALS._sceneManager._scene; - switch (action) { - case CURSOR_LOOK: + if (action == CURSOR_LOOK) { SceneItem::display2(370, 15); return true; - case CURSOR_USE: + } else if (action == CURSOR_USE) { SceneItem::display2(370, 16); return true; - case INV_COLT45: + } else if (action == INV_COLT45) { if (BF_GLOBALS._sceneObjects->contains(&scene->_green) && (BF_INVENTORY.getObjectScene(INV_GREENS_GUN) != 370)) { scene->_green.setAction(NULL); scene->_sceneMode = 3703; scene->setAction(&scene->_sequenceManager, scene, 3703, &BF_GLOBALS._player, &scene->_green, &scene->_harrison, NULL); return true; } - // Deliberate fall-through - default: + return false; + } else if (action < CURSOR_WALK) // If any other inventory item used + return false; + else // If any other action is used return NamedHotspot::startAction(action, event); - } } bool Scene370::Item6::startAction(CursorType action, Event &event) { Scene370 *scene = (Scene370 *)BF_GLOBALS._sceneManager._scene; - switch (action) { - case CURSOR_LOOK: + if (action == CURSOR_LOOK) { SceneItem::display2(370, 14); return true; - case CURSOR_USE: + } else if (action == CURSOR_USE) { SceneItem::display2(370, 29); return true; - case INV_COLT45: + } else if (action == INV_COLT45) { if (BF_GLOBALS._sceneObjects->contains(&scene->_green) && (BF_INVENTORY.getObjectScene(INV_GREENS_GUN) != 370) && (BF_INVENTORY.getObjectScene(INV_HANDCUFFS) == 1)) { BF_GLOBALS._player.disableControl(); @@ -4790,10 +4829,11 @@ bool Scene370::Item6::startAction(CursorType action, Event &event) { scene->setAction(&scene->_sequenceManager, scene, 3703, &BF_GLOBALS._player, &scene->_green, &scene->_harrison, NULL); return true; } - // Deliberate fall-through - default: return SceneHotspot::startAction(action, event); - } + } else if (action < CURSOR_WALK) // If any other inventory item used + return false; + else // If any other action + return SceneHotspot::startAction(action, event); } @@ -4904,7 +4944,7 @@ void Scene370::signal() { case 3: break; case 3707: - _object5.setDetails(370, 6, -1, 7, 1, NULL); + _object5.setDetails(370, 6, -1, 7, 1, (SceneItem *)NULL); BF_GLOBALS._sceneItems.push_back(&_object5); // Deliberate fall-through case 3700: @@ -4936,7 +4976,7 @@ void Scene370::signal() { BF_GLOBALS._player.setStrip(3); BF_GLOBALS._sceneItems.push_front(&_laura); - BF_GLOBALS._walkRegions.proc1(3); + BF_GLOBALS._walkRegions.disableRegion(3); _harrison.setAction(NULL); BF_GLOBALS._player.enableControl(); @@ -4946,8 +4986,8 @@ void Scene370::signal() { break; case 3705: _laura.remove(); - BF_GLOBALS._walkRegions.proc2(6); - BF_GLOBALS._walkRegions.proc2(1); + BF_GLOBALS._walkRegions.enableRegion(6); + BF_GLOBALS._walkRegions.enableRegion(1); BF_GLOBALS._player.enableControl(); break; case 3708: @@ -4963,8 +5003,8 @@ void Scene370::signal() { _sceneMode = 0; _object5.remove(); _green.setAction(NULL); - BF_GLOBALS._walkRegions.proc1(6); - BF_GLOBALS._walkRegions.proc1(1); + BF_GLOBALS._walkRegions.disableRegion(6); + BF_GLOBALS._walkRegions.disableRegion(1); break; case 3709: BF_GLOBALS._player.disableControl(); @@ -4978,7 +5018,7 @@ void Scene370::signal() { _green.setAction(&_sequenceManager, this, 3701, NULL); break; case 3711: - BF_GLOBALS._walkRegions.proc1(3); + BF_GLOBALS._walkRegions.disableRegion(3); BF_INVENTORY.setObjectScene(INV_GREENS_GUN, 1); T2_GLOBALS._uiElements.addScore(30); _greensGun.remove(); @@ -5001,7 +5041,7 @@ void Scene370::signal() { T2_GLOBALS._uiElements.addScore(50); BF_INVENTORY.setObjectScene(INV_GREEN_ID, 1); BF_INVENTORY.setObjectScene(INV_GREENS_KNIFE, 1); - BF_GLOBALS._walkRegions.proc1(3); + BF_GLOBALS._walkRegions.disableRegion(3); BF_GLOBALS._player.enableControl(); break; case 3716: @@ -5092,13 +5132,13 @@ void Scene380::postInit(SceneObjectList *OwnerList) { setZoomPercents(68, 80, 131, 100); BF_GLOBALS._sound1.fadeSound(33); - BF_GLOBALS._walkRegions.proc1(9); + BF_GLOBALS._walkRegions.disableRegion(9); _door.postInit(); _door.setVisage(380); _door.setStrip(4); _door.setPosition(Common::Point(132, 66)); - _door.setDetails(380, 12, 13, -1, 1, NULL); + _door.setDetails(380, 12, 13, -1, 1, (SceneItem *)NULL); BF_GLOBALS._player.postInit(); BF_GLOBALS._player.setObjectWrapper(new SceneObjectWrapper()); @@ -5113,27 +5153,27 @@ void Scene380::postInit(SceneObjectList *OwnerList) { // Show vechile as car _vechile.setStrip(3); _vechile.setPosition(Common::Point(273, 125)); - _vechile.setDetails(580, 2, 3, -1, 1, NULL); + _vechile.setDetails(580, 2, 3, -1, 1, (SceneItem *)NULL); BF_GLOBALS._player.setVisage(129); - BF_GLOBALS._walkRegions.proc1(12); - BF_GLOBALS._walkRegions.proc1(18); - BF_GLOBALS._walkRegions.proc1(19); - BF_GLOBALS._walkRegions.proc1(20); - BF_GLOBALS._walkRegions.proc1(25); - BF_GLOBALS._walkRegions.proc1(26); - BF_GLOBALS._walkRegions.proc1(27); + BF_GLOBALS._walkRegions.disableRegion(12); + BF_GLOBALS._walkRegions.disableRegion(18); + BF_GLOBALS._walkRegions.disableRegion(19); + BF_GLOBALS._walkRegions.disableRegion(20); + BF_GLOBALS._walkRegions.disableRegion(25); + BF_GLOBALS._walkRegions.disableRegion(26); + BF_GLOBALS._walkRegions.disableRegion(27); } else if (BF_GLOBALS.getFlag(onDuty)) { // Show on duty motorcycle _vechile.setStrip(2); - _vechile.setDetails(300, 11, 13, -1, 1, NULL); + _vechile.setDetails(300, 11, 13, -1, 1, (SceneItem *)NULL); _vechile.setPosition(Common::Point(252, 115)); BF_GLOBALS._player.setVisage(1341); } else { // Show off duty motorcycle _vechile.setStrip(1); - _vechile.setDetails(580, 0, 1, -1, 1, NULL); + _vechile.setDetails(580, 0, 1, -1, 1, (SceneItem *)NULL); _vechile.setPosition(Common::Point(249, 110)); BF_GLOBALS._player.setVisage(129); @@ -5272,7 +5312,7 @@ bool Scene385::Door::startAction(CursorType action, Event &event) { switch (action) { case CURSOR_USE: - BF_GLOBALS._walkRegions.proc2(6); + BF_GLOBALS._walkRegions.enableRegion(6); BF_GLOBALS._player.disableControl(); scene->_sceneMode = 3850; scene->setAction(&scene->_sequenceManager, scene, 3850, &BF_GLOBALS._player, this, NULL); @@ -5285,8 +5325,7 @@ bool Scene385::Door::startAction(CursorType action, Event &event) { bool Scene385::Jim::startAction(CursorType action, Event &event) { Scene385 *scene = (Scene385 *)BF_GLOBALS._sceneManager._scene; - switch (action) { - case CURSOR_TALK: + if (action == CURSOR_TALK) { if (scene->_jimFlag) { scene->_talkAction = 3867; scene->setAction(&scene->_action1); @@ -5310,24 +5349,24 @@ bool Scene385::Jim::startAction(CursorType action, Event &event) { break; } - scene->_jimFlag = 1; + scene->_jimFlag = true; scene->setAction(&scene->_action1); } return true; - case INV_PRINT_OUT: + } else if (action == INV_PRINT_OUT) { if (!BF_GLOBALS.getFlag(fGotPointsForMCard)) { T2_GLOBALS._uiElements.addScore(30); - BF_GLOBALS.getFlag(fGotPointsForMCard); + BF_GLOBALS.setFlag(fGotPointsForMCard); scene->setAction(&scene->_action2); return true; - } - break; - default: - break; - } - - return NamedObject::startAction(action, event); + } else + return false; + } else if (action < CURSOR_WALK) + // Any other inventory item + return false; + else + return NamedObject::startAction(action, event); } bool Scene385::Dezi::startAction(CursorType action, Event &event) { @@ -5398,7 +5437,8 @@ bool Scene385::Exit::startAction(CursorType action, Event &event) { Scene385::Scene385(): SceneExt() { - _talkAction = _jimFlag = 0; + _talkAction = 0; + _jimFlag = false; } void Scene385::synchronize(Serializer &s) { @@ -5439,21 +5479,21 @@ void Scene385::postInit(SceneObjectList *OwnerList) { _jim.setVisage(385); _jim.setStrip(3); _jim.setPosition(Common::Point(304, 113)); - _jim.setDetails(385, 1, -1, 2, 1, NULL); + _jim.setDetails(385, 1, -1, 2, 1, (SceneItem *)NULL); _dezi.postInit(); _dezi.setVisage(385); _dezi.setStrip(2); _dezi.setPosition(Common::Point(235, 93)); _dezi.fixPriority(120); - _dezi.setDetails(385, 3, -1, 2, 1, NULL); + _dezi.setDetails(385, 3, -1, 2, 1, (SceneItem *)NULL); _door.postInit(); _door.setVisage(385); _door.setPosition(Common::Point(107, 27)); - _door.setDetails(385, 0, -1, -1, 1, NULL); + _door.setDetails(385, 0, -1, -1, 1, (SceneItem *)NULL); - BF_GLOBALS._walkRegions.proc1(6); + BF_GLOBALS._walkRegions.disableRegion(6); if (BF_GLOBALS._sceneManager._previousScene == 390) { BF_GLOBALS._player.setPosition(Common::Point(109, 119)); @@ -5835,13 +5875,13 @@ void Scene390::postInit(TsAGE::SceneObjectList *OwnerList) { _object2.setPosition(Common::Point(38, 84)); _object2.fixPriority(50); _object2._flag = 0; - _object2.setDetails(390, 10, 17, 10, 1, NULL); + _object2.setDetails(390, 10, 17, 10, 1, (SceneItem *)NULL); _door.postInit(); _door.setVisage(390); _door.setStrip(2); _door.setPosition(Common::Point(151, 18)); - _door.setDetails(390, 5, -1, -1, 1, NULL); + _door.setDetails(390, 5, -1, -1, 1, (SceneItem *)NULL); BF_GLOBALS._player.disableControl(); _sceneMode = 3901; @@ -5852,7 +5892,7 @@ void Scene390::postInit(TsAGE::SceneObjectList *OwnerList) { _green.setVisage(392); _green.setPosition(Common::Point(241, 164)); _green.fixPriority(153); - _green.setDetails(390, 12, -1, 13, 1, NULL); + _green.setDetails(390, 12, -1, 13, 1, (SceneItem *)NULL); _green._flag = 0; } @@ -5862,7 +5902,7 @@ void Scene390::postInit(TsAGE::SceneObjectList *OwnerList) { _gangMember1.setPosition(Common::Point(273, 169)); _gangMember1.fixPriority(152); _gangMember1._flag = 0; - _gangMember1.setDetails(390, 19, -1, 20, 1, NULL); + _gangMember1.setDetails(390, 19, -1, 20, 1, (SceneItem *)NULL); _gangMember2.postInit(); _gangMember2.setVisage(396); @@ -5870,7 +5910,7 @@ void Scene390::postInit(TsAGE::SceneObjectList *OwnerList) { _gangMember2.setPosition(Common::Point(241, 153)); _gangMember2.fixPriority(152); _gangMember2._flag = 0; - _gangMember2.setDetails(390, 19, -1, 20, 1, NULL); + _gangMember2.setDetails(390, 19, -1, 20, 1, (SceneItem *)NULL); } _item1.setDetails(Rect(22, 40, 77, 67), 390, 0, -1, 1, 1, NULL); @@ -5904,7 +5944,7 @@ void Scene390::signal() { _object3.setVisage(390); _object3.setPosition(Common::Point(250, 60)); _object3.fixPriority(255); - _object3.setDetails(390, 8, -1, 9, 2, NULL); + _object3.setDetails(390, 8, -1, 9, 2, (SceneItem *)NULL); BF_GLOBALS._player.enableControl(); break; diff --git a/engines/tsage/blue_force/blueforce_scenes3.h b/engines/tsage/blue_force/blueforce_scenes3.h index 2982fd3306..ea9d5f7311 100644 --- a/engines/tsage/blue_force/blueforce_scenes3.h +++ b/engines/tsage/blue_force/blueforce_scenes3.h @@ -94,7 +94,7 @@ class Scene300: public SceneExt { virtual void signal(); }; private: - void setup(); + void setupInspection(); public: SequenceManager _sequenceManager1, _sequenceManager2; SequenceManager _sequenceManager3, _sequenceManager4; @@ -213,9 +213,9 @@ public: int _field1390; int _stripNumber; int _field1398; - int _field1B60, _field1B62, _field1B64; - int _field1B66, _field1B6C, _field139C; - bool _field1B68, _field1B6A; + int _invGreenCount, _bookGreenCount, _invGangCount; + int _bookGangCount, _field1B6C, _field139C; + bool _field1B68, _doorOpened; CursorType _currentCursor; Scene315(); @@ -363,7 +363,7 @@ public: ASoundExt _sound1, _sound2; TimerExt _timer1; Timer2 _timer2; - int _seqNumber1, _field2652, _field2654; + int _seqNumber1, _womanDialogCount, _backupPresent; Scene340(); virtual void synchronize(Serializer &s); @@ -621,11 +621,11 @@ class Scene360: public SceneExt { public: virtual bool startAction(CursorType action, Event &event); }; - class BsseballCards: public NamedObject { + class BaseballCards: public NamedObject { public: virtual bool startAction(CursorType action, Event &event); }; - class Object6: public NamedObject { + class Harrison: public NamedObject { public: virtual bool startAction(CursorType action, Event &event); }; @@ -667,8 +667,8 @@ public: SceneObject _object2; Window _window; Object4 _object4; - BsseballCards _baseballCards; - Object6 _object6; + BaseballCards _baseballCards; + Harrison _harrison; Object7 _object7; Item1 _item1; Item2 _item2; @@ -676,9 +676,7 @@ public: Barometer _barometer; Action1 _action1; ASound _sound1; - int _field380; - Scene360(); virtual void synchronize(Serializer &s); virtual void postInit(SceneObjectList *OwnerList = NULL); virtual void signal(); @@ -815,7 +813,8 @@ public: SpeakerJake385 _jake385Speaker; NamedHotspot _item1, _item2, _item3, _item4, _item5; Exit _exit; - int _talkAction, _jimFlag; + int _talkAction; + bool _jimFlag; Scene385(); virtual void synchronize(Serializer &s); diff --git a/engines/tsage/blue_force/blueforce_scenes4.cpp b/engines/tsage/blue_force/blueforce_scenes4.cpp index 814a2fff7f..a10f311791 100644 --- a/engines/tsage/blue_force/blueforce_scenes4.cpp +++ b/engines/tsage/blue_force/blueforce_scenes4.cpp @@ -35,6 +35,7 @@ namespace BlueForce { * *--------------------------------------------------------------------------*/ +// Talk to driver with backup void Scene410::Action1::signal() { Scene410 *scene = (Scene410 *)BF_GLOBALS._sceneManager._scene; @@ -62,6 +63,7 @@ void Scene410::Action1::signal() { } } +// Talk to passenger with backup void Scene410::Action2::signal() { Scene410 *scene = (Scene410 *)BF_GLOBALS._sceneManager._scene; BF_GLOBALS._player.disableControl(); @@ -98,6 +100,7 @@ void Scene410::Action2::signal() { } } +// Talk to passenger without backup void Scene410::Action3::signal() { Scene410 *scene = (Scene410 *)BF_GLOBALS._sceneManager._scene; if (BF_GLOBALS.getFlag(fTalkedShooterNoBkup)) { @@ -111,36 +114,23 @@ void Scene410::Action3::signal() { } } +// Talk to driver without backup void Scene410::Action4::signal() { Scene410 *scene = (Scene410 *)BF_GLOBALS._sceneManager._scene; - switch (_actionIndex++) { - case 0: - if (scene->_field1FC4 == 0) { - ADD_PLAYER_MOVER(114, 133); - } else { - ADD_PLAYER_MOVER(195, 139); - } - break; - case 1: - BF_GLOBALS._player.updateAngle(scene->_passenger._position); - setDelay(3); - break; - case 2: - setDelay(3); - break; - case 3: - if (BF_GLOBALS.getFlag(fCalledBackup)) - scene->setAction(&scene->_action2); - else - scene->setAction(&scene->_action3); - remove(); - break; - default: - break; + if (BF_GLOBALS.getFlag(fTalkedDriverNoBkup)) { + BF_GLOBALS._player.disableControl(); + scene->_sceneMode = 2; + scene->setAction(&scene->_sequenceManager1, scene, 4120, &scene->_passenger, &BF_GLOBALS._player, NULL); + } else { + BF_GLOBALS._player.disableControl(); + BF_GLOBALS.setFlag(fTalkedDriverNoBkup); + scene->_sceneMode = 4101; + scene->_stripManager.start(4103, scene); } } +// Talk to passenger void Scene410::Action5::signal() { Scene410 *scene = (Scene410 *)BF_GLOBALS._sceneManager._scene; @@ -171,6 +161,7 @@ void Scene410::Action5::signal() { } } +// Talk to driver void Scene410::Action6::signal() { Scene410 *scene = (Scene410 *)BF_GLOBALS._sceneManager._scene; @@ -222,7 +213,7 @@ void Scene410::Action7::signal() { case 3: BF_GLOBALS._player.setObjectWrapper(new SceneObjectWrapper()); BF_GLOBALS._player.updateAngle(Common::Point(100, 170)); - scene->setAction(&scene->_sequenceManager1, this, 4112, &scene->_driver, &scene->_passenger, + setAction(&scene->_sequenceManager1, this, 4112, &scene->_driver, &scene->_passenger, &scene->_harrison, NULL); break; case 5: @@ -380,21 +371,27 @@ bool Scene410::Passenger::startAction(CursorType action, Event &event) { switch (action) { case CURSOR_USE: if (!BF_GLOBALS.getFlag(fCalledBackup)) { - if (BF_GLOBALS.getFlag(fTalkedShooterNoBkup)) { + if (BF_GLOBALS.getFlag(fTalkedShooterNoBkup)) scene->setAction(&scene->_action3); - } else { - SceneItem::display2(410, 5); - } + else + SceneItem::display(410, 5, SET_WIDTH, 300, + SET_X, 10 + GLOBALS._sceneManager._scene->_sceneBounds.left, + SET_Y, GLOBALS._sceneManager._scene->_sceneBounds.top + UI_INTERFACE_Y + 2, + SET_FONT, 4, SET_BG_COLOR, 1, SET_FG_COLOR, 96, SET_EXT_BGCOLOR, 99, + SET_EXT_FGCOLOR, 13, LIST_END); } else if (!scene->_field1FBA) { - SceneItem::display2(410, 5); + SceneItem::display(410, 5, SET_WIDTH, 300, + SET_X, 10 + GLOBALS._sceneManager._scene->_sceneBounds.left, + SET_Y, GLOBALS._sceneManager._scene->_sceneBounds.top + UI_INTERFACE_Y + 2, + SET_FONT, 4, SET_BG_COLOR, 1, SET_FG_COLOR, 96, SET_EXT_BGCOLOR, 99, + SET_EXT_FGCOLOR, 13, LIST_END); } else if (!scene->_field1FBE) { scene->_sceneMode = 4121; scene->_field1FBE = 1; T2_GLOBALS._uiElements.addScore(50); scene->signal(); - } else { + } else break; - } return true; case CURSOR_TALK: scene->setAction(&scene->_action5); @@ -452,7 +449,11 @@ bool Scene410::Harrison::startAction(CursorType action, Event &event) { PlayerMover *mover = new PlayerMover(); BF_GLOBALS._player.addMover(mover, &destPos, scene); } else { - SceneItem::display2(350, 13); + SceneItem::display(350, 13, SET_WIDTH, 300, + SET_X, 10 + GLOBALS._sceneManager._scene->_sceneBounds.left, + SET_Y, GLOBALS._sceneManager._scene->_sceneBounds.top + UI_INTERFACE_Y + 2, + SET_FONT, 4, SET_BG_COLOR, 1, SET_FG_COLOR, 32, SET_EXT_BGCOLOR, 49, + SET_EXT_FGCOLOR, 13, LIST_END); } } else if ((scene->_field1FBA != 0) && (scene->_field1FBC != 0)) { BF_GLOBALS._player.disableControl(); @@ -463,15 +464,16 @@ bool Scene410::Harrison::startAction(CursorType action, Event &event) { BF_GLOBALS.clearFlag(f1098Marina); } else if ((BF_INVENTORY.getObjectScene(INV_HANDCUFFS) == 1) || (!scene->_field1FBA && (scene->_talkCount < 5))) { - SceneItem::display2(350, 13); + SceneItem::display(350, 13, SET_WIDTH, 300, + SET_X, 10 + GLOBALS._sceneManager._scene->_sceneBounds.left, + SET_Y, GLOBALS._sceneManager._scene->_sceneBounds.top + UI_INTERFACE_Y + 2, + SET_FONT, 4, SET_BG_COLOR, 1, SET_FG_COLOR, 32, SET_EXT_BGCOLOR, 49, + SET_EXT_FGCOLOR, 13, LIST_END); } else if (!scene->_field1FBA) { - if (scene->_field1FBA) - error("Error - want to cuff shooter, but he's cuffed already"); - BF_GLOBALS._player.disableControl(); scene->_field1FBA = 1; scene->_field1FBE = 1; - BF_GLOBALS._walkRegions.proc2(22); + BF_GLOBALS._walkRegions.enableRegion(22); scene->_sceneMode = 4122; scene->_stripManager.start(4112, scene); } else if (scene->_field1FB6 < 1) { @@ -482,7 +484,7 @@ bool Scene410::Harrison::startAction(CursorType action, Event &event) { BF_GLOBALS._player.disableControl(); scene->_field1FBC = 1; scene->_field1FC0 = 1; - BF_GLOBALS._walkRegions.proc2(22); + BF_GLOBALS._walkRegions.enableRegion(22); scene->_sceneMode = 4109; scene->_stripManager.start(4112, scene); } @@ -545,13 +547,13 @@ void Scene410::postInit(SceneObjectList *OwnerList) { _passenger.setVisage(415); _passenger.setStrip(1); _passenger.setPosition(Common::Point(278, 92)); - _passenger.setDetails(410, 4, -1, 5, 1, NULL); + _passenger.setDetails(410, 4, -1, 5, 1, (SceneItem *)NULL); _driver.postInit(); _driver.setVisage(416); _driver.setStrip(2); _driver.setPosition(Common::Point(244, 85)); - _driver.setDetails(410, 6, -1, 7, 1, NULL); + _driver.setDetails(410, 6, -1, 7, 1, (SceneItem *)NULL); _driver.changeZoom(-1); _object5.postInit(); @@ -574,20 +576,20 @@ void Scene410::postInit(SceneObjectList *OwnerList) { _passenger.remove(); _driver.remove(); - BF_GLOBALS._walkRegions.proc1(21); - BF_GLOBALS._walkRegions.proc1(22); + BF_GLOBALS._walkRegions.disableRegion(21); + BF_GLOBALS._walkRegions.disableRegion(22); _harrison.postInit(); _harrison.setVisage(343); _harrison.setObjectWrapper(new SceneObjectWrapper()); _harrison.animate(ANIM_MODE_1, NULL); - _harrison.setDetails(350, 12, 13, 14, 1, NULL); + _harrison.setDetails(350, 12, 13, 14, 1, (SceneItem *)NULL); _harrison.setPosition(Common::Point(97, 185)); _harrison.changeZoom(-1); _patrolCar.postInit(); _patrolCar.setVisage(410); - _patrolCar.setDetails(410, 8, 9, 10, 1, NULL); + _patrolCar.setDetails(410, 8, 9, 10, 1, (SceneItem *)NULL); _patrolCar.fixPriority(148); _patrolCar.setPosition(Common::Point(39, 168)); @@ -621,24 +623,24 @@ void Scene410::postInit(SceneObjectList *OwnerList) { _passenger.setFrame(8); } - BF_GLOBALS._walkRegions.proc1(16); + BF_GLOBALS._walkRegions.disableRegion(16); if (BF_GLOBALS.getFlag(fDriverOutOfTruck)) { _driver.setVisage(417); _driver.setStrip(1); _driver.setPosition(Common::Point(152, 97)); - BF_GLOBALS._walkRegions.proc1(7); + BF_GLOBALS._walkRegions.disableRegion(7); } if (BF_GLOBALS.getFlag(fCalledBackup)) { - BF_GLOBALS._walkRegions.proc1(21); - BF_GLOBALS._walkRegions.proc1(22); + BF_GLOBALS._walkRegions.disableRegion(21); + BF_GLOBALS._walkRegions.disableRegion(22); _harrison.postInit(); _harrison.setVisage(343); _harrison.setObjectWrapper(new SceneObjectWrapper()); _harrison.animate(ANIM_MODE_1, NULL); - _harrison.setDetails(350, 12, 13, 14, 1, NULL); + _harrison.setDetails(350, 12, 13, 14, 1, (SceneItem *)NULL); BF_GLOBALS._sceneItems.addBefore(&_driver, &_harrison); _harrison.setPosition(Common::Point(-10, 124)); @@ -646,7 +648,7 @@ void Scene410::postInit(SceneObjectList *OwnerList) { _patrolCar.postInit(); _patrolCar.setVisage(410); - _patrolCar.setDetails(410, 8, 9, 10, 1, NULL); + _patrolCar.setDetails(410, 8, 9, 10, 1, (SceneItem *)NULL); _patrolCar.fixPriority(148); if (_field1FC4) { @@ -715,10 +717,11 @@ void Scene410::signal() { break; case 7: BF_INVENTORY.setObjectScene(INV_TYRONE_ID, 1); + _sceneMode = 0; signal(); break; case 8: - BF_GLOBALS._walkRegions.proc2(22); + BF_GLOBALS._walkRegions.enableRegion(22); BF_GLOBALS._player.changeAngle(225); _harrison.changeAngle(45); _sceneMode = 4114; @@ -739,7 +742,7 @@ void Scene410::signal() { BF_GLOBALS._player.disableControl(); _sceneMode = 0; setAction(&_sequenceManager1, this, 4100, &_passenger, &_object5, NULL); - BF_GLOBALS._walkRegions.proc1(16); + BF_GLOBALS._walkRegions.disableRegion(16); break; case 4101: // Driver gets out of the car @@ -747,7 +750,7 @@ void Scene410::signal() { _sceneMode = 0; setAction(&_sequenceManager1, this, 4101, &_driver, &_object6, NULL); BF_GLOBALS.setFlag(fDriverOutOfTruck); - BF_GLOBALS._walkRegions.proc1(7); + BF_GLOBALS._walkRegions.disableRegion(7); break; case 4103: // Click on moto to ask for backup @@ -781,19 +784,21 @@ void Scene410::signal() { case 4108: BF_GLOBALS._player.setObjectWrapper(new SceneObjectWrapper()); BF_GLOBALS._player.updateAngle(Common::Point(100, 170)); - BF_GLOBALS._walkRegions.proc2(22); - BF_GLOBALS._walkRegions.proc2(16); + BF_GLOBALS._walkRegions.enableRegion(22); + BF_GLOBALS._walkRegions.enableRegion(7); + BF_GLOBALS._walkRegions.enableRegion(16); BF_GLOBALS._player.disableControl(); _sceneMode = 0; setAction(&_sequenceManager1, this, 4108, &_harrison, NULL); break; case 4109: + // Harrison puts handcuffs to driver if ((BF_GLOBALS._player._position.x > 116) && (BF_GLOBALS._player._position.x != 195) && (BF_GLOBALS._player._position.y != 139)) { - ADD_PLAYER_MOVER(195, 139); + ADD_PLAYER_MOVER_NULL(BF_GLOBALS._player, 195, 139); } - BF_GLOBALS._walkRegions.proc2(22); + BF_GLOBALS._walkRegions.enableRegion(22); BF_GLOBALS._player.disableControl(); _sceneMode = 0; setAction(&_sequenceManager1, this, 4109, &_driver, &_harrison, NULL); @@ -813,14 +818,14 @@ void Scene410::signal() { setAction(&_sequenceManager1, this, 4112, &_driver, &_passenger, &_harrison, NULL); break; case 4114: - BF_GLOBALS._walkRegions.proc2(22); + BF_GLOBALS._walkRegions.enableRegion(22); BF_GLOBALS._player.disableControl(); _sceneMode = 4116; setAction(&_sequenceManager1, this, 4114, &_harrison, &_patrolCar, NULL); break; case 4116: - BF_GLOBALS._walkRegions.proc2(21); - BF_GLOBALS._walkRegions.proc2(22); + BF_GLOBALS._walkRegions.enableRegion(21); + BF_GLOBALS._walkRegions.enableRegion(22); _harrison.remove(); BF_GLOBALS._player.disableControl(); _sceneMode = 0; @@ -842,7 +847,7 @@ void Scene410::signal() { setAction(&_sequenceManager1, this, 4121, &BF_GLOBALS._player, &_passenger, NULL); break; case 4122: - BF_GLOBALS._walkRegions.proc2(22); + BF_GLOBALS._walkRegions.enableRegion(22); BF_INVENTORY.setObjectScene(INV_22_SNUB, 0); BF_GLOBALS._player.disableControl(); _sceneMode = 0; @@ -923,6 +928,17 @@ bool Scene415::GunInset::startAction(CursorType action, Event &event) { } } +void Scene415::GunInset::remove() { + Scene415 *scene = (Scene415 *)BF_GLOBALS._sceneManager._scene; + + BF_GLOBALS._player.disableControl(); + scene->_gunAndWig.remove(); + FocusObject::remove(); + + scene->_sceneMode = 0; + scene->_animatedSeat.animate(ANIM_MODE_6, scene); +} + bool Scene415::GunAndWig::startAction(CursorType action, Event &event) { Scene415 *scene = (Scene415 *)BF_GLOBALS._sceneManager._scene; @@ -937,14 +953,14 @@ bool Scene415::GunAndWig::startAction(CursorType action, Event &event) { remove(); return true; case INV_FOREST_RAP: - if (scene->_fieldE14) + if (scene->_scoreWigRapFlag) break; BF_GLOBALS._player.disableControl(); scene->_sceneMode = 0; scene->_stripManager.start(4126, scene); T2_GLOBALS._uiElements.addScore(50); - scene->_fieldE14 = true; + scene->_scoreWigRapFlag = true; return true; default: break; @@ -957,7 +973,7 @@ bool Scene415::BulletsInset::startAction(CursorType action, Event &event) { Scene415 *scene = (Scene415 *)BF_GLOBALS._sceneManager._scene; if (action == CURSOR_USE) { - if (BF_GLOBALS.getFlag(fGotAutoWeapon)) { + if (BF_GLOBALS.getFlag(fGotBulletsFromDash)) { FocusObject::startAction(action, event); } else { remove(); @@ -969,6 +985,13 @@ bool Scene415::BulletsInset::startAction(CursorType action, Event &event) { } } +void Scene415::BulletsInset::remove() { + Scene415 *scene = (Scene415 *)BF_GLOBALS._sceneManager._scene; + + scene->_theBullets.remove(); + FocusObject::remove(); +} + bool Scene415::DashDrawer::startAction(CursorType action, Event &event) { Scene415 *scene = (Scene415 *)BF_GLOBALS._sceneManager._scene; @@ -994,17 +1017,16 @@ bool Scene415::TheBullets::startAction(CursorType action, Event &event) { scene->_dashDrawer.remove(); return true; case INV_FOREST_RAP: - if (scene->_fieldE16) { + if (scene->_scoreBulletRapFlag) { SceneItem::display2(415, 35); - return true; } else { BF_GLOBALS._player.disableControl(); scene->_sceneMode = 0; scene->_stripManager.start(4122, scene); T2_GLOBALS._uiElements.addScore(50); - scene->_fieldE16 = true; + scene->_scoreBulletRapFlag = true; } - break; + return true; default: break; } @@ -1024,7 +1046,7 @@ bool Scene415::Lever::startAction(CursorType action, Event &event) { } else { BF_GLOBALS._player.disableControl(); scene->_sceneMode = 2; - scene->setAction(&scene->_sequenceManager, scene, 4150, &scene->_object6, NULL); + scene->setAction(&scene->_sequenceManager, scene, 4150, &scene->_animatedSeat, NULL); } return true; default: @@ -1035,13 +1057,13 @@ bool Scene415::Lever::startAction(CursorType action, Event &event) { /*--------------------------------------------------------------------------*/ Scene415::Scene415(): SceneExt() { - _fieldE14 = _fieldE16 = false; + _scoreWigRapFlag = _scoreBulletRapFlag = false; } void Scene415::synchronize(Serializer &s) { SceneExt::synchronize(s); - s.syncAsSint16LE(_fieldE14); - s.syncAsSint16LE(_fieldE16); + s.syncAsSint16LE(_scoreWigRapFlag); + s.syncAsSint16LE(_scoreBulletRapFlag); } void Scene415::postInit(SceneObjectList *OwnerList) { @@ -1054,14 +1076,14 @@ void Scene415::postInit(SceneObjectList *OwnerList) { _dashDrawer.setVisage(411); _dashDrawer.setStrip(3); _dashDrawer.setPosition(Common::Point(151, 97)); - _dashDrawer.setDetails(415, 22, -1, -1, 1, NULL); + _dashDrawer.setDetails(415, 22, -1, -1, 1, (SceneItem *)NULL); + + _animatedSeat.postInit(); + _animatedSeat.setVisage(419); + _animatedSeat.setStrip(1); + _animatedSeat.setPosition(Common::Point(306, 116)); + _animatedSeat.fixPriority(80); - _object6.postInit(); - _object6.setVisage(419); - _object6.setStrip(1); - _object6.setPosition(Common::Point(306, 116)); - _object6.fixPriority(80); - _windowLever.setDetails(16, 415, 25, -1, 26, 1); _item7.setDetails(17, 415, 32, -1, 33, 1); _seatBelt.setDetails(14, 415, 29, -1, 30, 1); @@ -1118,7 +1140,7 @@ void Scene415::showBullets() { _theBullets.setFrame(2); _theBullets.setPosition(Common::Point(184, 86)); _theBullets.fixPriority(105); - _theBullets.setDetails(415, 16, 17, 18, 1, NULL); + _theBullets.setDetails(415, 16, 17, 18, 1, (SceneItem *)NULL); BF_GLOBALS._sceneItems.remove(&_theBullets); BF_GLOBALS._sceneItems.push_front(&_theBullets); } @@ -1136,7 +1158,7 @@ void Scene415::showGunAndWig() { _gunAndWig.setFrame(2); _gunAndWig.setPosition(Common::Point(159, 88)); _gunAndWig.fixPriority(105); - _gunAndWig.setDetails(415, 13, 14, 15, 1, NULL); + _gunAndWig.setDetails(415, 13, 14, 15, 1, (SceneItem *)NULL); BF_GLOBALS._sceneItems.remove(&_gunAndWig); BF_GLOBALS._sceneItems.push_front(&_gunAndWig); @@ -1249,12 +1271,12 @@ void Scene440::postInit(SceneObjectList *OwnerList) { BF_GLOBALS._player.setVisage(303); BF_GLOBALS._player.setPosition(Common::Point(187, 104)); - + _lyle.setPosition(Common::Point(135, 128)); _lyle.show(); - BF_GLOBALS._walkRegions.proc1(12); - BF_GLOBALS._walkRegions.proc1(13); + BF_GLOBALS._walkRegions.disableRegion(12); + BF_GLOBALS._walkRegions.disableRegion(13); } else { _vechile.setPosition(Common::Point(169, 121)); _vechile.fixPriority(117); @@ -1269,13 +1291,13 @@ void Scene440::postInit(SceneObjectList *OwnerList) { _vechile.setVisage(580); _vechile.setStrip(2); _vechile.setFrame(3); - + BF_GLOBALS._player.setVisage(303); } } BF_GLOBALS._sceneItems.push_back(&_vechile); - BF_GLOBALS._walkRegions.proc1(11); + BF_GLOBALS._walkRegions.disableRegion(11); _doorway.postInit(); _doorway.setVisage(440); @@ -1288,7 +1310,7 @@ void Scene440::postInit(SceneObjectList *OwnerList) { _lyle.setPosition(Common::Point(143, 93)); _lyle.setStrip(5); _lyle.fixPriority(90); - + _doorway.setFrame(_doorway.getFrameCount()); _sceneMode = 4401; setAction(&_sequenceManager, this, 4401, &BF_GLOBALS._player, &_doorway, NULL); @@ -1353,7 +1375,7 @@ bool Scene450::Weasel::startAction(CursorType action, Event &event) { T2_GLOBALS._uiElements.addScore(30); scene->_sceneMode = 4505; - scene->setAction(&scene->_sequenceManager, scene, 4505, &BF_GLOBALS._player, this, + scene->setAction(&scene->_sequenceManager, scene, 4505, &BF_GLOBALS._player, this, &scene->_counterDoor, &scene->_object2, NULL); return true; default: @@ -1405,7 +1427,7 @@ bool Scene450::Manager::startAction(CursorType action, Event &event) { if (BF_GLOBALS.getFlag(takenWeasel) && !BF_GLOBALS.getFlag(gotTrailer450)) { BF_GLOBALS.setFlag(gotTrailer450); scene->_sceneMode = 4517; - scene->setAction(&scene->_sequenceManager, scene, 4517, &BF_GLOBALS._player, this, + scene->setAction(&scene->_sequenceManager, scene, 4517, &BF_GLOBALS._player, this, &scene->_door, NULL); } else { animate(ANIM_MODE_8, 1, NULL); @@ -1463,11 +1485,11 @@ bool Scene450::Manager::startAction(CursorType action, Event &event) { } else { animate(ANIM_MODE_8, 1, NULL); BF_GLOBALS._player.disableControl(); - + if (!BF_GLOBALS.getFlag(showEugeneID)) T2_GLOBALS._uiElements.addScore(30); BF_GLOBALS.setFlag(showEugeneID); - + if ((BF_GLOBALS.getFlag(showRapEugene) || BF_GLOBALS.getFlag(showEugeneNapkin)) && !BF_GLOBALS.getFlag(fMgrCallsWeasel)) { T2_GLOBALS._uiElements.addScore(30); @@ -1537,13 +1559,13 @@ void Scene450::postInit(SceneObjectList *OwnerList) { _door.setVisage(450); _door.setStrip(2); _door.setPosition(Common::Point(72, 80)); - _door.setDetails(450, 15, -1, 13, 1, NULL); + _door.setDetails(450, 15, -1, 13, 1, (SceneItem *)NULL); _counterDoor.postInit(); _counterDoor.setVisage(450); _counterDoor.setPosition(Common::Point(39, 104)); _counterDoor.fixPriority(100); - _counterDoor.setDetails(450, 12, -1, 13, 1, NULL); + _counterDoor.setDetails(450, 12, -1, 13, 1, (SceneItem *)NULL); if (BF_GLOBALS._dayNumber != 3) { _pinBoy.postInit(); @@ -1576,9 +1598,9 @@ void Scene450::postInit(SceneObjectList *OwnerList) { _object2.setPosition(Common::Point(-30, 126)); ADD_MOVER_NULL(_object2, 27, 126); _object2.changeZoom(-1); - _object2.setDetails(450, 2, 18, 3, 1, NULL); + _object2.setDetails(450, 2, 18, 3, 1, (SceneItem *)NULL); - BF_GLOBALS._walkRegions.proc1(4); + BF_GLOBALS._walkRegions.disableRegion(4); _weasel.postInit(); _weasel.setVisage(466); @@ -1625,7 +1647,7 @@ void Scene450::signal() { BF_GLOBALS.setFlag(takenWeasel); _weasel.remove(); _object2.remove(); - BF_GLOBALS._walkRegions.proc2(4); + BF_GLOBALS._walkRegions.enableRegion(4); BF_GLOBALS._player.enableControl(); break; case 4507: diff --git a/engines/tsage/blue_force/blueforce_scenes4.h b/engines/tsage/blue_force/blueforce_scenes4.h index 6c40211f28..937c015a4c 100644 --- a/engines/tsage/blue_force/blueforce_scenes4.h +++ b/engines/tsage/blue_force/blueforce_scenes4.h @@ -133,6 +133,7 @@ class Scene415: public SceneExt { class GunInset: public FocusObject { public: virtual bool startAction(CursorType action, Event &event); + virtual void remove(); }; class GunAndWig: public NamedObject { public: @@ -141,6 +142,7 @@ class Scene415: public SceneExt { class BulletsInset: public FocusObject { public: virtual bool startAction(CursorType action, Event &event); + virtual void remove(); }; class DashDrawer: public NamedObject { public: @@ -166,12 +168,12 @@ public: BulletsInset _bulletsInset; DashDrawer _dashDrawer; TheBullets _theBullets; - NamedObject _object6; + NamedObject _animatedSeat; NamedHotspot _item1, _steeringWheel, _horn, _dashboard; NamedHotspot _seat, _windowLever, _item7, _seatBelt; Lever _lever; SpeakerJakeRadio _jakeRadioSpeaker; - bool _fieldE14, _fieldE16; + bool _scoreWigRapFlag, _scoreBulletRapFlag; Scene415(); virtual void postInit(SceneObjectList *OwnerList = NULL); diff --git a/engines/tsage/blue_force/blueforce_scenes5.cpp b/engines/tsage/blue_force/blueforce_scenes5.cpp index 500cad60b1..abadc4300a 100644 --- a/engines/tsage/blue_force/blueforce_scenes5.cpp +++ b/engines/tsage/blue_force/blueforce_scenes5.cpp @@ -60,7 +60,7 @@ bool Scene550::Lyle::startAction(CursorType action, Event &event) { switch (action) { case CURSOR_TALK: - if ((BF_INVENTORY.getObjectScene(INV_SCHEDULE) == 1) || + if ((BF_INVENTORY.getObjectScene(INV_SCHEDULE) == 1) || (BF_INVENTORY.getObjectScene(INV_9MM_BULLETS) == 1)) { if ((BF_INVENTORY.getObjectScene(INV_SCHEDULE) == 1) && (BF_INVENTORY.getObjectScene(INV_9MM_BULLETS) == 1)) { @@ -132,7 +132,7 @@ bool Scene550::Vechile::startAction(CursorType action, Event &event) { BF_GLOBALS._player.disableControl(); scene->_sceneMode = 2; scene->setAction(&scene->_sequenceManager, scene, 5501, &BF_GLOBALS._player, NULL); - } else if ((BF_INVENTORY.getObjectScene(INV_SCHEDULE) == 1) || + } else if ((BF_INVENTORY.getObjectScene(INV_SCHEDULE) == 1) || (BF_INVENTORY.getObjectScene(INV_9MM_BULLETS) == 1)) { if (BF_INVENTORY.getObjectScene(INV_9MM_BULLETS) == 1) { scene->_sceneMode = 5501; @@ -164,11 +164,11 @@ void Scene550::postInit(SceneObjectList *OwnerList) { _sceneMode = 1; signal(); return; - } + } SceneExt::postInit(); loadScene(550); - + _stripManager.addSpeaker(&_gameTextSpeaker); _stripManager.addSpeaker(&_lyleHatSpeaker); _stripManager.addSpeaker(&_jakeJacketSpeaker); @@ -189,8 +189,8 @@ void Scene550::postInit(SceneObjectList *OwnerList) { _vechile.fixPriority(70); if (BF_GLOBALS.getFlag(fWithLyle)) { - BF_GLOBALS._walkRegions.proc1(10); - BF_GLOBALS._walkRegions.proc1(11); + BF_GLOBALS._walkRegions.disableRegion(10); + BF_GLOBALS._walkRegions.disableRegion(11); _vechile.setVisage(444); _vechile.setStrip(4); @@ -201,14 +201,14 @@ void Scene550::postInit(SceneObjectList *OwnerList) { _lyle.postInit(); _lyle.setVisage(835); _lyle.setPosition(Common::Point(139, 83)); - _lyle.setDetails(550, 29, 30, 31, 1, NULL); + _lyle.setDetails(550, 29, 30, 31, 1, (SceneItem *)NULL); _lyle.setStrip(8); BF_GLOBALS._player.setVisage(303); BF_GLOBALS._player.setPosition(Common::Point(89, 76)); BF_GLOBALS._player.updateAngle(_lyle._position); } else { - BF_GLOBALS._walkRegions.proc1(12); + BF_GLOBALS._walkRegions.disableRegion(12); _vechile.setPosition(Common::Point(205, 77)); _vechile.changeZoom(80); @@ -216,7 +216,7 @@ void Scene550::postInit(SceneObjectList *OwnerList) { if (BF_GLOBALS.getFlag(onDuty)) { _vechile.setVisage(301); _vechile.setStrip(1); - + BF_GLOBALS._player.setVisage(304); } else { _vechile.setVisage(580); @@ -224,7 +224,7 @@ void Scene550::postInit(SceneObjectList *OwnerList) { _vechile.setFrame(2); BF_GLOBALS._player.setVisage(303); - } + } } BF_GLOBALS._sceneItems.push_back(&_vechile); @@ -296,10 +296,10 @@ void Scene551::Action2::signal() { switch (_actionIndex++) { case 0: - BF_GLOBALS._walkRegions.proc2(18); - BF_GLOBALS._walkRegions.proc2(4); + BF_GLOBALS._walkRegions.enableRegion(18); + BF_GLOBALS._walkRegions.enableRegion(4); scene->_field1CD2 = 1; - + scene->_harrison.setObjectWrapper(new SceneObjectWrapper()); scene->_harrison.animate(ANIM_MODE_1, NULL); @@ -316,7 +316,7 @@ void Scene551::Action2::signal() { scene->_harrison.updateAngle(BF_GLOBALS._player._position); if (scene->_drunkStanding._flag == 1) { - BF_GLOBALS._walkRegions.proc1(4); + BF_GLOBALS._walkRegions.disableRegion(4); ADD_PLAYER_MOVER(71, 97); } else { ADD_PLAYER_MOVER(141, 87); @@ -486,7 +486,7 @@ bool Scene551::PatrolCarTrunk::startAction(CursorType action, Event &event) { switch (action) { case CURSOR_USE: if (BF_INVENTORY.getObjectScene(INV_CENTER_PUNCH) != 1) { - BF_GLOBALS._walkRegions.proc2(18); + BF_GLOBALS._walkRegions.enableRegion(18); BF_GLOBALS._player.disableControl(); scene->_sceneMode = 2; scene->setAction(&scene->_sequenceManager, scene, 5503, &BF_GLOBALS._player, &scene->_harrison, this, NULL); @@ -506,7 +506,7 @@ void Scene551::TrunkInset::remove() { BF_GLOBALS._player.disableControl(); scene->_sceneMode = 0; - scene->setAction(&scene->_sequenceManager, scene, 5516, &scene->_harrison, + scene->setAction(&scene->_sequenceManager, scene, 5516, &scene->_harrison, &scene->_patrolCarTrunk, NULL); FocusObject::remove(); @@ -681,7 +681,7 @@ void Scene551::postInit(SceneObjectList *OwnerList) { _vechile2.changeZoom(80); BF_GLOBALS._sceneItems.push_back(&_vechile2); - BF_GLOBALS._walkRegions.proc1(14); + BF_GLOBALS._walkRegions.disableRegion(14); _drunk.postInit(); _drunk.setVisage(550); @@ -702,16 +702,16 @@ void Scene551::postInit(SceneObjectList *OwnerList) { _object13.setStrip(2); _object13.setPosition(Common::Point(29, 92)); _object13.fixPriority(82); - _object13.setDetails(550, 8, -1, 9, 1, NULL); + _object13.setDetails(550, 8, -1, 9, 1, (SceneItem *)NULL); if (BF_GLOBALS.getFlag(didDrunk)) { _drunk._flag = 3; _drunk.setStrip(3); _object12.show(); - _object12.setDetails(550, 25, -1, 26, 1, NULL); + _object12.setDetails(550, 25, -1, 26, 1, (SceneItem *)NULL); BF_GLOBALS._sceneItems.push_front(&_object12); - + _harrison.postInit(); _harrison.setVisage(304); _harrison.setPosition(Common::Point(67, 102)); @@ -733,7 +733,7 @@ void Scene551::postInit(SceneObjectList *OwnerList) { _object11.setFrame(2); _object11.setPosition(Common::Point(116, 84)); _object11.fixPriority(77); - _object11.setDetails(550, 32, -1, 10, 1, NULL); + _object11.setDetails(550, 32, -1, 10, 1, (SceneItem *)NULL); _drunkStanding.postInit(); _drunkStanding._flag = 0; @@ -764,7 +764,7 @@ void Scene551::postInit(SceneObjectList *OwnerList) { _patrolCarTrunk.setFrame(1); _patrolCarTrunk.setPosition(Common::Point(149, 69)); _patrolCarTrunk.fixPriority(79); - _patrolCarTrunk.setDetails(550, 18, -1, 9, 1, NULL); + _patrolCarTrunk.setDetails(550, 18, -1, 9, 1, (SceneItem *)NULL); _object11.postInit(); _object11.setVisage(550); @@ -772,7 +772,7 @@ void Scene551::postInit(SceneObjectList *OwnerList) { _object11.setFrame(2); _object11.setPosition(Common::Point(116, 84)); _object11.fixPriority(77); - _object11.setDetails(550, 32, -1, 10, 1, NULL); + _object11.setDetails(550, 32, -1, 10, 1, (SceneItem *)NULL); _drunkStanding.postInit(); _drunkStanding._flag = 0; @@ -812,7 +812,7 @@ void Scene551::signal() { BF_GLOBALS._sceneManager.changeScene(60); break; case 2: - BF_GLOBALS._walkRegions.proc1(18); + BF_GLOBALS._walkRegions.disableRegion(18); _trunkInset.postInit(); _trunkInset.setVisage(553); @@ -842,7 +842,7 @@ void Scene551::signal() { ADD_PLAYER_MOVER_NULL(_harrison, 88, 91); _object12.show(); - _object12.setDetails(550, 25, -1, 26, 1, NULL); + _object12.setDetails(550, 25, -1, 26, 1, (SceneItem *)NULL); BF_GLOBALS._sceneItems.push_front(&_object12); BF_GLOBALS._player.enableControl(); @@ -850,8 +850,8 @@ void Scene551::signal() { setAction(&_sequenceManager, this, 5507, &BF_GLOBALS._player, &_drunk, &_drunkStanding, NULL); break; case 5507: - BF_GLOBALS._walkRegions.proc1(2); - BF_GLOBALS._walkRegions.proc1(4); + BF_GLOBALS._walkRegions.disableRegion(2); + BF_GLOBALS._walkRegions.disableRegion(4); _drunkStanding._flag = 1; BF_GLOBALS._sceneItems.push_front(&_drunkStanding); @@ -924,7 +924,7 @@ void Scene560::Action1::signal() { scene->_deskChair.setStrip(BF_GLOBALS._player._strip); scene->_deskChair.setPosition(BF_GLOBALS._player._position); - scene->_field380 = 1; + scene->_field380 = true; BF_GLOBALS._player.enableControl(); remove(); break; @@ -950,7 +950,7 @@ void Scene560::Action2::signal() { BF_GLOBALS._player.animate(ANIM_MODE_6, this); break; case 2: - scene->_field380 = 0; + scene->_field380 = false; scene->_deskChair.setPosition(Common::Point(81, 149)); scene->_deskChair.setVisage(561); scene->_deskChair.setStrip(3); @@ -1064,7 +1064,7 @@ void Scene560::SafeInset::postInit(SceneObjectList *OwnerList) { scene->_nickel.setFrame(3); scene->_nickel.fixPriority(252); scene->_nickel.setPosition(Common::Point(181, 140)); - scene->_nickel.setDetails(560, 47, 48, -1, 1, NULL); + scene->_nickel.setDetails(560, 47, 48, -1, 1, (SceneItem *)NULL); BF_GLOBALS._sceneItems.remove(&scene->_nickel); BF_GLOBALS._sceneItems.push_front(&scene->_nickel); } @@ -1076,7 +1076,7 @@ void Scene560::SafeInset::postInit(SceneObjectList *OwnerList) { _item4.setDetails(Rect(143, 86, 159, 102), 560, 49, 50, -1, 1, NULL); _item5.setDetails(Rect(159, 86, 175, 102), 560, 49, 50, -1, 1, NULL); _item6.setDetails(Rect(175, 86, 191, 102), 560, 49, 50, -1, 1, NULL); - + BF_GLOBALS._sceneItems.remove(&_item1); BF_GLOBALS._sceneItems.remove(&_item2); BF_GLOBALS._sceneItems.remove(&_item3); @@ -1114,9 +1114,9 @@ void Scene560::SafeInset::postInit(SceneObjectList *OwnerList) { _digit0.setStrip(3); _digit0.setPosition(Common::Point(183, 94)); _digit0.fixPriority(252); - + int amount = (BF_GLOBALS._safeCombination != 0) ? BF_GLOBALS._safeCombination : 1000; - + // Get digit 0 portion int remainder = amount % 10; amount /= 10; @@ -1135,7 +1135,7 @@ void Scene560::SafeInset::postInit(SceneObjectList *OwnerList) { void Scene560::SafeInset::remove() { Scene560 *scene = (Scene560 *)BF_GLOBALS._sceneManager._scene; - + _item1.remove(); _item2.remove(); _item3.remove(); @@ -1145,7 +1145,7 @@ void Scene560::SafeInset::remove() { _digit2.remove(); _digit1.remove(); _digit0.remove(); - + scene->_nickel.remove(); if (BF_GLOBALS._events.getCursor() == CURSOR_USE) { @@ -1201,7 +1201,7 @@ void Scene560::SafeInset::signal() { scene->_nickel.setFrame(3); scene->_nickel.fixPriority(252); scene->_nickel.setPosition(Common::Point(181, 140)); - scene->_nickel.setDetails(560, 47, 48, -1, 1, NULL); + scene->_nickel.setDetails(560, 47, 48, -1, 1, (SceneItem *)NULL); BF_GLOBALS._sceneItems.remove(&scene->_nickel); BF_GLOBALS._sceneItems.push_front(&scene->_nickel); } @@ -1293,7 +1293,7 @@ bool Scene560::SafeInset::Item::startAction(CursorType action, Event &event) { default: break; } - + scene->_safeInset.signal(); scene->_sound1.play(75); return true; @@ -1345,7 +1345,7 @@ bool Scene560::BoxInset::Item1::startAction(CursorType action, Event &event) { scene->_safeInset.setPosition(Common::Point(160, 141)); scene->_safeInset.fixPriority(251); scene->_safeInset.setDetails(560, 45, 46, -1); - + scene->_sceneMode = 3; scene->_boxInset.remove(); @@ -1378,7 +1378,7 @@ bool Scene560::Computer::startAction(CursorType action, Event &event) { /*--------------------------------------------------------------------------*/ Scene560::Scene560(): SceneExt() { - _field380 = _field11EA = 0; + _field380 = _field11EA = false; } void Scene560::postInit(SceneObjectList *OwnerList) { @@ -1405,7 +1405,7 @@ void Scene560::postInit(SceneObjectList *OwnerList) { _box.setStrip(4); _box.setFrame(1); _box.setPosition(Common::Point(295, 37)); - _box.setDetails(560, 41, 42, -1, 1, NULL); + _box.setDetails(560, 41, 42, -1, 1, (SceneItem *)NULL); } _deskChair.postInit(); @@ -1414,7 +1414,7 @@ void Scene560::postInit(SceneObjectList *OwnerList) { _deskChair.setPosition(Common::Point(81, 149)); _deskChair.fixPriority(151); _deskChair.changeZoom(81); - + if (BF_GLOBALS._sceneManager._previousScene == 570) { // Returning from using computer BF_GLOBALS._events.setCursor(CURSOR_USE); @@ -1433,12 +1433,12 @@ void Scene560::postInit(SceneObjectList *OwnerList) { _deskChair.setStrip(BF_GLOBALS._player._strip); _deskChair.setPosition(BF_GLOBALS._player._position); - _field11EA = 0; - _field380 = 1; + _field11EA = false; + _field380 = true; } else { // Entering study through doorway - _field11EA = 0; - _field380 = 0; + _field11EA = false; + _field380 = false; BF_GLOBALS._player.postInit(); BF_GLOBALS._player.setVisage(563); @@ -1448,13 +1448,13 @@ void Scene560::postInit(SceneObjectList *OwnerList) { BF_GLOBALS._player._moveDiff.x = 11; BF_GLOBALS._player.changeZoom(-1); BF_GLOBALS._player.disableControl(); - + _sceneMode = 10; ADD_MOVER(BF_GLOBALS._player, 85, 115); } _computer.setDetails(Rect(16, 77, 58, 107), 560, 2, -1, -1, 1, NULL); - _deskChair.setDetails(560, 3, -1, -1, 1, NULL); + _deskChair.setDetails(560, 3, -1, -1, 1, (SceneItem *)NULL); _chair.setDetails(Rect(163, 64, 196, 102), 560, 13, 25, 36, 1, NULL); _lamp.setDetails(Rect(197, 43, 214, 56), 560, 7, 19, 30, 1, NULL); _item4.setDetails(Rect(121, 18, 156, 54), 560, 8, 20, 31, 1, NULL); @@ -1516,7 +1516,7 @@ void Scene560::signal() { T2_GLOBALS._uiElements.addScore(10); BF_GLOBALS.setFlag(fGotPointsForPunch); } - + _boxInset.postInit(); _boxInset.setVisage(560); _boxInset.setStrip(2); @@ -1529,7 +1529,7 @@ void Scene560::signal() { } break; case 10: - _field11EA = 0; + _field11EA = false; BF_GLOBALS._player.enableControl(); break; case 11: @@ -1540,7 +1540,7 @@ void Scene560::signal() { void Scene560::process(Event &event) { if ((event.eventType == EVENT_BUTTON_DOWN) && (BF_GLOBALS._events.getCursor() == CURSOR_WALK) && - (_field380 == 1) && !_action) { + (_field380) && !_action) { _destPosition = event.mousePos; BF_GLOBALS._player.disableControl(); setAction(&_action2); @@ -1553,7 +1553,7 @@ void Scene560::process(Event &event) { void Scene560::dispatch() { if (!_field11EA && (BF_GLOBALS._player._position.y < 105)) { - _field11EA = 1; + _field11EA = true; BF_GLOBALS._player.disableControl(); BF_GLOBALS._sceneManager.changeScene(270); } @@ -1605,7 +1605,7 @@ void Scene570::PasswordEntry::postInit(SceneObjectList *OwnerList) { void Scene570::PasswordEntry::process(Event &event) { Scene570 *scene = (Scene570 *)BF_GLOBALS._sceneManager._scene; bool entryChanged = false; - + switch (event.eventType) { case EVENT_KEYPRESS: { int key = toupper(event.kbd.ascii); @@ -1648,7 +1648,7 @@ void Scene570::PasswordEntry::process(Event &event) { _entryText.setPosition(Common::Point(213, 40)); _entryText.fixPriority(255); _entryText.setup(_entryBuffer); - + // Pad entered text with spaces to make up the allowed width and then display Common::String msg = _entryBuffer; while (msg.size() < 10) @@ -1658,7 +1658,7 @@ void Scene570::PasswordEntry::process(Event &event) { } void Scene570::PasswordEntry::checkPassword() { - // Check if the password is correctly entered as 'JACKIE' or, as a nod to the + // Check if the password is correctly entered as 'JACKIE' or, as a nod to the // reimplementation in ScummVM, as the project name. Scene570 *scene = (Scene570 *)BF_GLOBALS._sceneManager._scene; @@ -1794,7 +1794,7 @@ void Scene570::Icon::remove() { } bool Scene570::Icon::startAction(CursorType action, Event &event) { - Scene570 *scene = (Scene570 *)BF_GLOBALS._sceneManager._scene; + Scene570 *scene = (Scene570 *)BF_GLOBALS._sceneManager._scene; switch (action) { case CURSOR_LOOK: @@ -1907,7 +1907,7 @@ bool Scene570::Icon::startAction(CursorType action, Event &event) { } void Scene570::Icon::setDetails(int iconId, int folderId, int parentFolderId, int unused, const Common::String &msg) { - Scene570 *scene = (Scene570 *)BF_GLOBALS._sceneManager._scene; + Scene570 *scene = (Scene570 *)BF_GLOBALS._sceneManager._scene; NamedObject::postInit(); _iconId = iconId; @@ -1929,7 +1929,7 @@ void Scene570::Icon::setDetails(int iconId, int folderId, int parentFolderId, in /*--------------------------------------------------------------------------*/ bool Scene570::PowerSwitch::startAction(CursorType action, Event &event) { - Scene570 *scene = (Scene570 *)BF_GLOBALS._sceneManager._scene; + Scene570 *scene = (Scene570 *)BF_GLOBALS._sceneManager._scene; switch (action) { case CURSOR_USE: @@ -1972,7 +1972,7 @@ bool Scene570::PrinterIcon::startAction(CursorType action, Event &event) { } void Scene570::Object3::remove() { - Scene570 *scene = (Scene570 *)BF_GLOBALS._sceneManager._scene; + Scene570 *scene = (Scene570 *)BF_GLOBALS._sceneManager._scene; scene->_object4._flag = 0; scene->_printerIcon.remove(); @@ -1998,7 +1998,7 @@ void Scene570::Object3::remove() { /*--------------------------------------------------------------------------*/ bool Scene570::FloppyDrive::startAction(CursorType action, Event &event) { - Scene570 *scene = (Scene570 *)BF_GLOBALS._sceneManager._scene; + Scene570 *scene = (Scene570 *)BF_GLOBALS._sceneManager._scene; switch (action) { case CURSOR_USE: @@ -2039,7 +2039,7 @@ void Scene570::postInit(SceneObjectList *OwnerList) { _powerSwitch.setStrip(4); _powerSwitch.setFrame(1); _powerSwitch.setPosition(Common::Point(163, 131)); - _powerSwitch.setDetails(570, 1, 15, -1, 1, NULL); + _powerSwitch.setDetails(570, 1, 15, -1, 1, (SceneItem *)NULL); _floppyDrive.setDetails(Rect(258, 111, 303, 120), 570, 0, 15, -1, 1, NULL); _item11.setDetails(0, 570, 15, 15, 15, 1); @@ -2070,7 +2070,7 @@ void Scene570::signal() { _printerIcon.setFrame(3); _printerIcon.setPosition(Common::Point(172, 71)); _printerIcon.fixPriority(2); - _printerIcon.setDetails(570, 14, 15, -1, 2, NULL); + _printerIcon.setDetails(570, 14, 15, -1, 2, (SceneItem *)NULL); _iconManager.setup(2); _folder1.setDetails(1, 1, 0, 2, SCENE570_C_DRIVE); @@ -2201,7 +2201,7 @@ void Scene580::postInit(SceneObjectList *OwnerList) { _door.setStrip(4); _door.setPosition(Common::Point(168, 41)); _door.hide(); - _door.setDetails(580, 5, -1, -1, 1, NULL); + _door.setDetails(580, 5, -1, -1, 1, (SceneItem *)NULL); _vechile.postInit(); _vechile.setVisage(580); @@ -2219,28 +2219,27 @@ void Scene580::postInit(SceneObjectList *OwnerList) { _vechile.changeZoom(90); _vechile.setStrip(3); _vechile.setPosition(Common::Point(165, 76)); - _vechile.setDetails(580, 2, 3, -1, 1, NULL); - _vechile.setVisage(303); + _vechile.setDetails(580, 2, 3, -1, 1, (SceneItem *)NULL); BF_GLOBALS._player.setVisage(303); - BF_GLOBALS._walkRegions.proc1(8); - BF_GLOBALS._walkRegions.proc1(9); - BF_GLOBALS._walkRegions.proc1(10); - BF_GLOBALS._walkRegions.proc1(11); + BF_GLOBALS._walkRegions.disableRegion(8); + BF_GLOBALS._walkRegions.disableRegion(9); + BF_GLOBALS._walkRegions.disableRegion(10); + BF_GLOBALS._walkRegions.disableRegion(11); } else { _vechile.setPosition(Common::Point(159, 72)); if (BF_GLOBALS.getFlag(onDuty)) { _vechile.setStrip(1); _vechile.setFrame(2); - _vechile.setDetails(300, 11, 13, -1, 1, NULL); + _vechile.setDetails(300, 11, 13, -1, 1, (SceneItem *)NULL); BF_GLOBALS._player.setVisage(304); } else { _vechile.setStrip(2); _vechile.setFrame(3); - _vechile.setDetails(580, 0, 1, -1, 1, NULL); + _vechile.setDetails(580, 0, 1, -1, 1, (SceneItem *)NULL); BF_GLOBALS._player.setVisage(303); } @@ -2327,7 +2326,7 @@ bool Scene590::Skip::startAction(CursorType action, Event &event) { } else { scene->_stripNumber = !scene->_field17DC ? 5901 : 5902; } - + scene->setAction(&scene->_action1); scene->_field17DC = 1; return true; @@ -2405,7 +2404,7 @@ void Scene590::Action2::signal() { case 4: scene->_skip.setStrip(1); scene->_skip.animate(ANIM_MODE_1, NULL); - + BF_GLOBALS._player.setVisage(368); BF_GLOBALS._player.setStrip(7); BF_GLOBALS._player.setPosition(Common::Point(238, 131)); @@ -2457,7 +2456,7 @@ void Scene590::postInit(SceneObjectList *OwnerList) { _stripManager.addSpeaker(&_skipSpeaker); _stripManager.addSpeaker(&_lauraSpeaker); _stripManager.addSpeaker(&_jakeJacketSpeaker); - + if (BF_GLOBALS.getFlag(onDuty)) { BF_GLOBALS._player.setVisage(361); BF_GLOBALS._player._moveDiff = Common::Point(6, 2); @@ -2469,12 +2468,12 @@ void Scene590::postInit(SceneObjectList *OwnerList) { _skip.postInit(); _skip.setVisage(693); _skip.setPosition(Common::Point(271, 117)); - _skip.setDetails(590, 26, -1, 27, 1, NULL); + _skip.setDetails(590, 26, -1, 27, 1, (SceneItem *)NULL); _laura.postInit(); _laura.setVisage(692); _laura.setPosition(Common::Point(248, 115)); - _laura.setDetails(590, 24, -1, 25, 1, NULL); + _laura.setDetails(590, 24, -1, 25, 1, (SceneItem *)NULL); } } @@ -2489,7 +2488,7 @@ void Scene590::postInit(SceneObjectList *OwnerList) { _item10.setDetails(13, 590, 9, -1, 21, 1); _item11.setDetails(15, 590, 10, -1, 22, 1); _item12.setDetails(17, 590, 11, -1, 23, 1); - + BF_GLOBALS._player.disableControl(); _sceneMode = 0; setAction(&_sequenceManager, this, 5900, &BF_GLOBALS._player, NULL); diff --git a/engines/tsage/blue_force/blueforce_scenes5.h b/engines/tsage/blue_force/blueforce_scenes5.h index 34328ab9e8..73d323fc54 100644 --- a/engines/tsage/blue_force/blueforce_scenes5.h +++ b/engines/tsage/blue_force/blueforce_scenes5.h @@ -228,7 +228,8 @@ public: NamedHotspot _chair, _lamp, _item4, _trophy, _watercolours, _fileCabinets; NamedHotspot _certificate, _bookcase, _desk, _carpet, _item12, _office; ASound _sound1; - int _field380, _field11EA; + bool _field380; + bool _field11EA; Common::Point _destPosition; Scene560(); diff --git a/engines/tsage/blue_force/blueforce_scenes6.cpp b/engines/tsage/blue_force/blueforce_scenes6.cpp index 56fdec47cd..9467df7917 100644 --- a/engines/tsage/blue_force/blueforce_scenes6.cpp +++ b/engines/tsage/blue_force/blueforce_scenes6.cpp @@ -37,7 +37,7 @@ namespace BlueForce { void Scene600::Action1::signal() { Scene600 *scene = (Scene600 *)BF_GLOBALS._sceneManager._scene; - static const uint32 black = 0; + static byte red[3] = {220, 0, 0}; switch (_actionIndex++) { case 0: @@ -49,8 +49,8 @@ void Scene600::Action1::signal() { break; case 2: scene->_sound1.play(59); - setAction(&scene->_sequenceManager, this, 600, &scene->_object2, &scene->_object1, - &BF_GLOBALS._player, &scene->_object3, NULL); + setAction(&scene->_sequenceManager, this, 600, &scene->_object2, &scene->_ryan, + &BF_GLOBALS._player, &scene->_skidMarks, NULL); break; case 3: BF_GLOBALS._sound1.play(61); @@ -61,13 +61,13 @@ void Scene600::Action1::signal() { break; case 5: { BF_GLOBALS._player.remove(); - scene->_object1.remove(); + scene->_ryan.remove(); scene->_object2.remove(); - scene->_object3.remove(); + scene->_skidMarks.remove(); - for (int percent = 100; percent >= 0; percent -= 5) { - BF_GLOBALS._scenePalette.fade((const byte *)&black, false, percent); - g_system->delayMillis(10); + for (int percent = 100; percent >= 0; percent -= 2) { + BF_GLOBALS._scenePalette.fade((const byte *)&red, false, percent); + g_system->delayMillis(5); } SynchronizedList<SceneObject *>::iterator i; @@ -91,6 +91,8 @@ void Scene600::Action1::signal() { BF_GLOBALS._v51C44 = 0; remove(); break; + default: + break; } } @@ -110,14 +112,14 @@ void Scene600::postInit(SceneObjectList *OwnerList) { BF_GLOBALS._player.setPosition(Common::Point(639, 0)); BF_GLOBALS._player.disableControl(); - _object3.postInit(); - _object3.hide(); + _skidMarks.postInit(); + _skidMarks.hide(); _object2.postInit(); - - _object1.postInit(); - _object1.setVisage(600); - _object1.setStrip(7); - _object1.setPosition(Common::Point(417, 82)); + + _ryan.postInit(); + _ryan.setVisage(600); + _ryan.setStrip(7); + _ryan.setPosition(Common::Point(417, 82)); BF_GLOBALS.clearFlag(onDuty); BF_INVENTORY.setObjectScene(INV_TICKET_BOOK, 60); @@ -147,7 +149,7 @@ void Scene600::remove() { void Scene620::postInit(SceneObjectList *OwnerList) { SceneExt::postInit(); loadScene(999); - + BF_GLOBALS._player.postInit(); BF_GLOBALS._player.disableControl(); BF_GLOBALS._player.setVisage(621); @@ -174,14 +176,14 @@ void Scene620::signal() { case 13: case 16: case 19: - addFader((const byte *)&black, 2, this); + addFader((const byte *)&black, 2, this); break; case 2: BF_GLOBALS._player.remove(); _object1.postInit(); _object1.setVisage(622); _object1.setPosition(Common::Point(101, 41)); - addFader((const byte *)&black, 2, this); + add2Faders((const byte *)&black, 2, 622, this); break; case 5: _object1.remove(); @@ -240,6 +242,8 @@ void Scene620::signal() { BF_GLOBALS._dayNumber = 3; BF_GLOBALS._sceneManager.changeScene(271); break; + default: + break; } } @@ -386,8 +390,8 @@ bool Scene690::Object1::startAction(CursorType action, Event &event) { if ((action == CURSOR_USE) && (scene->_object2._strip == 1)) { BF_GLOBALS._player.disableControl(); - BF_GLOBALS._walkRegions.proc2(1); - BF_GLOBALS._walkRegions.proc2(6); + BF_GLOBALS._walkRegions.enableRegion(1); + BF_GLOBALS._walkRegions.enableRegion(6); scene->_sceneMode = 6901; scene->setAction(&scene->_sequenceManager, scene, 6901, &BF_GLOBALS._player, &scene->_object2, &scene->_object1, &scene->_object4, &scene->_object5, NULL); @@ -406,7 +410,7 @@ bool Scene690::Object2::startAction(CursorType action, Event &event) { scene->_object6.postInit(); scene->_object6.hide(); scene->_object6.fixPriority(1); - scene->_object6.setDetails(690, 21, 17, 23, 1, NULL); + scene->_object6.setDetails(690, 21, 17, 23, 1, (SceneItem *)NULL); BF_GLOBALS._player.disableControl(); scene->_sceneMode = 6902; @@ -437,36 +441,36 @@ void Scene690::postInit(SceneObjectList *OwnerList) { BF_GLOBALS._dayNumber = 1; _stripManager.addSpeaker(&_jakeSpeaker); - + _object1.postInit(); _object1.setVisage(690); _object1.setStrip2(2); _object1.fixPriority(188); _object1.setPosition(Common::Point(50, 166)); - _object1.setDetails(690, 4, 17, 26, 1, NULL); + _object1.setDetails(690, 4, 17, 26, 1, (SceneItem *)NULL); _object3.postInit(); _object3.setVisage(690); _object3.fixPriority(100); _object3.setPosition(Common::Point(238, 125)); - _object3.setDetails(690, 7, 17, 28, 1, NULL); + _object3.setDetails(690, 7, 17, 28, 1, (SceneItem *)NULL); _object2.postInit(); _object2.setVisage(694); _object2.setStrip2(3); _object2.fixPriority(125); _object2.setPosition(Common::Point(100, 134)); - _object2.setDetails(690, 12, -1, 11, 1, NULL); + _object2.setDetails(690, 12, -1, 11, 1, (SceneItem *)NULL); BF_GLOBALS._player.postInit(); BF_GLOBALS._player.disableControl(); BF_GLOBALS._player._moveDiff.x = 8; _object4.postInit(); - _object4.setDetails(690, 13, -1, -1, 1, NULL); + _object4.setDetails(690, 13, -1, -1, 1, (SceneItem *)NULL); _object5.postInit(); - _object5.setDetails(690, 14, -1, -1, 1, NULL); + _object5.setDetails(690, 14, -1, -1, 1, (SceneItem *)NULL); _sceneMode = 6903; setAction(&_sequenceManager, this, 6903, &BF_GLOBALS._player, &_object3, &_object4, &_object5, NULL); @@ -500,8 +504,8 @@ void Scene690::signal() { BF_GLOBALS._player.enableControl(); break; case 6903: - BF_GLOBALS._walkRegions.proc1(1); - BF_GLOBALS._walkRegions.proc1(6); + BF_GLOBALS._walkRegions.disableRegion(1); + BF_GLOBALS._walkRegions.disableRegion(6); BF_GLOBALS._player.enableControl(); break; default: diff --git a/engines/tsage/blue_force/blueforce_scenes6.h b/engines/tsage/blue_force/blueforce_scenes6.h index e354e9e069..3f9c14aa11 100644 --- a/engines/tsage/blue_force/blueforce_scenes6.h +++ b/engines/tsage/blue_force/blueforce_scenes6.h @@ -49,7 +49,7 @@ public: SequenceManager _sequenceManager; Action1 _action1; ASoundExt _sound1; - NamedObject _object1, _object2, _object3; + NamedObject _ryan, _object2, _skidMarks; BackgroundSceneObject _object4, _object5; BackgroundSceneObject _object6, _object7, _object8; diff --git a/engines/tsage/blue_force/blueforce_scenes7.cpp b/engines/tsage/blue_force/blueforce_scenes7.cpp index 2ced7ce08c..bb29ad1f34 100644 --- a/engines/tsage/blue_force/blueforce_scenes7.cpp +++ b/engines/tsage/blue_force/blueforce_scenes7.cpp @@ -37,7 +37,7 @@ namespace BlueForce { void Scene710::Timer1::signal() { PaletteRotation *rotation = BF_GLOBALS._scenePalette.addRotation(136, 138, -1); - rotation->setDelay(25); + rotation->setDelay(20); rotation = BF_GLOBALS._scenePalette.addRotation(146, 148, -1); rotation->setDelay(30); rotation = BF_GLOBALS._scenePalette.addRotation(187, 191, -1); @@ -113,19 +113,19 @@ bool Scene710::Object5::startAction(CursorType action, Event &event) { switch (action) { case CURSOR_LOOK: - if (scene->_v1D64 <= 2) + if (scene->_stickThrowCount <= 2) return NamedObject::startAction(action, event); else { SceneItem::display2(710, 3); - scene->_v1D66 = 1; + scene->_watchCrate = true; return true; } case CURSOR_USE: - if ((scene->_kid._position.x < 0) && (scene->_v1D62 == 1)) { - scene->_v1D64++; - if (scene->_v1D66 == 0) { + if ((scene->_kid._position.x < 0) && (scene->_dogLying)) { + scene->_stickThrowCount++; + if (!scene->_watchCrate) { BF_GLOBALS._player.disableControl(); - scene->_v1D62 = 0; + scene->_dogLying = false; scene->_sceneMode = 7105; scene->setAction(&scene->_sequenceManager1, scene, 7105, &BF_GLOBALS._player, &scene->_stick, &scene->_dog, NULL); } else { @@ -172,10 +172,10 @@ void Scene710::postInit(SceneObjectList *OwnerList) { _stick.animate(ANIM_MODE_2, NULL); _stick.setPosition(Common::Point(650, 160)); _stick._moveDiff.x = 16; - _stick.setDetails(710, 4, -1, -1, 1, NULL); - _laura.setDetails(710, 2, -1, -1, 1, NULL); - _kid.setDetails(710, 6, -1, -1, 1, NULL); - _dog.setDetails(710, 0, -1, -1, 1, NULL); + _stick.setDetails(710, 4, -1, -1, 1, (SceneItem *)NULL); + _laura.setDetails(710, 2, -1, -1, 1, (SceneItem *)NULL); + _kid.setDetails(710, 6, -1, -1, 1, (SceneItem *)NULL); + _dog.setDetails(710, 0, -1, -1, 1, (SceneItem *)NULL); _item1.setDetails(Rect(555, 68, 583, 101), 710, 7, 23, -1, 1, NULL); _item2.setDetails(Rect(583, 46, 611, 78), 710, 7, 23, -1, 1, NULL); @@ -187,7 +187,8 @@ void Scene710::postInit(SceneObjectList *OwnerList) { _item7.setDetails(Rect(0, 0, 640, 52), 710, 11, 17, -1, 1, NULL); _item9.setDetails(Rect(0, 0, 640, 128), 710, 5, 15, -1, 1, NULL); - _v1D62 = _v1D64 = _v1D66 = _v1D68 = 0; + _stickThrowCount = 0; + _dogLying = _watchCrate = _throwStick = false; _action1._state = 7100; _timer1.set(2, NULL); _sceneMode = 7100; @@ -205,28 +206,29 @@ void Scene710::signal() { setAction(&_sequenceManager1, this, 7102, &_dog, NULL); break; case 7101: + // Pick up crate part BF_GLOBALS._player.enableControl(); BF_INVENTORY.setObjectScene(INV_CRATE1, 1); _stick.remove(); - BF_GLOBALS._walkRegions.proc2(2); + BF_GLOBALS._walkRegions.enableRegion(2); break; case 7102: _stick.setPosition(Common::Point(100, 122)); _stick.animate(ANIM_MODE_NONE, NULL); _stick._strip = 2; - if (_v1D64 <= 2) + if (_stickThrowCount <= 2) _stick._frame = 2; else { - if (_v1D64 == 3) { + if (_stickThrowCount == 3) { BF_GLOBALS._player.disableControl(); _sceneMode = 0; _stripManager.start(7108, this); } _stick._frame = 1; } - _v1D62 = 1; - BF_GLOBALS._walkRegions.proc1(2); - if ((_v1D68 != 0) && (_sceneMode != 0)) + _dogLying = true; + BF_GLOBALS._walkRegions.disableRegion(2); + if ((_throwStick) && (_sceneMode != 0)) BF_GLOBALS._player.enableControl(); break; case 7103: @@ -239,12 +241,12 @@ void Scene710::signal() { } break; case 7105: - _v1D68 = 1; + _throwStick = true; // No break on purpose case 7104: _sceneMode = 7102; setAction(&_sequenceManager1, this, 7102, &_dog, NULL); - BF_GLOBALS._walkRegions.proc2(2); + BF_GLOBALS._walkRegions.enableRegion(2); break; case 7106: BF_GLOBALS._sound1.fadeOut2(NULL); @@ -256,8 +258,8 @@ void Scene710::signal() { } void Scene710::dispatch() { - if ((_kid._position.x > 0) && (_v1D62 == 1) && (_sceneMode != 7106)) { - _v1D62 = 0; + if ((_kid._position.x > 0) && (_dogLying) && (_sceneMode != 7106)) { + _dogLying = false; _sceneMode = 7103; setAction(&_sequenceManager1, this, 7103, &_kid, &_stick, &_dog, NULL); } @@ -266,10 +268,10 @@ void Scene710::dispatch() { void Scene710::synchronize(Serializer &s) { SceneExt::synchronize(s); - s.syncAsSint16LE(_v1D62); - s.syncAsSint16LE(_v1D64); - s.syncAsSint16LE(_v1D66); - s.syncAsSint16LE(_v1D68); + s.syncAsSint16LE(_dogLying); + s.syncAsSint16LE(_stickThrowCount); + s.syncAsSint16LE(_watchCrate); + s.syncAsSint16LE(_throwStick); } diff --git a/engines/tsage/blue_force/blueforce_scenes7.h b/engines/tsage/blue_force/blueforce_scenes7.h index 91bd1e537f..161d94cc2c 100644 --- a/engines/tsage/blue_force/blueforce_scenes7.h +++ b/engines/tsage/blue_force/blueforce_scenes7.h @@ -89,7 +89,10 @@ public: NamedHotspot _item7; NamedHotspot _item8; NamedHotspot _item9; - int _v1D62, _v1D64, _v1D66, _v1D68; + int _stickThrowCount; + bool _dogLying; + bool _watchCrate; + bool _throwStick; virtual void postInit(SceneObjectList *OwnerList = NULL); virtual void signal(); diff --git a/engines/tsage/blue_force/blueforce_scenes8.cpp b/engines/tsage/blue_force/blueforce_scenes8.cpp index c81f3b8d65..5a60cd7c5e 100644 --- a/engines/tsage/blue_force/blueforce_scenes8.cpp +++ b/engines/tsage/blue_force/blueforce_scenes8.cpp @@ -252,12 +252,12 @@ void Scene800::postInit(SceneObjectList *OwnerList) { _car2.fixPriority(158); BF_GLOBALS._sceneItems.push_back(&_car2); - BF_GLOBALS._walkRegions.proc1(8); + BF_GLOBALS._walkRegions.disableRegion(8); } if ((BF_GLOBALS._dayNumber == 4) && (BF_GLOBALS._bookmark < bEndDayThree)) { _car2.remove(); - BF_GLOBALS._walkRegions.proc2(8); + BF_GLOBALS._walkRegions.enableRegion(8); } if (BF_GLOBALS.getFlag(fWithLyle)) { @@ -427,14 +427,14 @@ void Scene810::Action2::signal() { setAction(&scene->_sequenceManager1, this, 8117, &scene->_lyle, &scene->_chair, NULL); break; case 3: - BF_GLOBALS._walkRegions.proc2(4); + BF_GLOBALS._walkRegions.enableRegion(4); ADD_PLAYER_MOVER_THIS(scene->_lyle, 27, 124); break; case 4: scene->_lyle.setVisage(813); scene->_lyle.setStrip(2); scene->_lyle.setFrame(1); - + ADD_PLAYER_MOVER(84, 113); break; case 5: @@ -454,7 +454,7 @@ void Scene810::Action2::signal() { scene->_stripManager.start(BF_GLOBALS.getFlag(onDuty) ? 8137 : 8112, this); break; case 8: - BF_GLOBALS._walkRegions.proc1(13); + BF_GLOBALS._walkRegions.disableRegion(13); BF_GLOBALS._player.enableControl(); remove(); break; @@ -562,24 +562,36 @@ bool Scene810::Lyle::startAction(CursorType action, Event &event) { case INV_PRINT_OUT: if (BF_GLOBALS.getFlag(shownLylePO)) { scene->_sceneMode = 8149; - } else if (!BF_GLOBALS.getFlag(shownLylePO)) { - if (!BF_GLOBALS.getFlag(shownFax)) { - // WORKAROUND: Original did not do a 'not', but I think this is correct - BF_GLOBALS.setFlag(shownFax); - scene->_sceneMode = 8125; - } else if (BF_GLOBALS.getFlag(shownLyleRapsheet)) { - scene->_sceneMode = 8104; + } else { + BF_GLOBALS.setFlag(shownLylePO); + if (BF_GLOBALS._dayNumber == 3) { + if (BF_GLOBALS.getFlag(shownFax)) { + BF_GLOBALS.setFlag(shownFax); + scene->_sceneMode = 8125; + } else if (BF_GLOBALS.getFlag(shownLyleRapsheet)) { + scene->_sceneMode = 8104; + } else { + scene->_sceneMode = 8121; + } + } else if (BF_GLOBALS.getFlag(onDuty)) { + if ((BF_GLOBALS.getFlag(shownLyleRapsheet)) || (BF_GLOBALS.getFlag(shownLyleCrate1))){ + scene->_sceneMode = 8141; + } else { + // Doublecheck on shownLyleCrate1 removed: useless + scene->_sceneMode = 8144; + } } else { - scene->_sceneMode = 8121; + if ((BF_GLOBALS.getFlag(shownLyleRapsheet)) || (BF_GLOBALS.getFlag(shownLyleCrate1))) { + scene->_sceneMode = 8129; + } else { // if (BF_GLOBALS.getFlag(shownLyleCrate1)) { + scene->_sceneMode = 8132; + // doublecheck Present in the original, may hide a bug in the original + //} else + // scene->_sceneMode = 8121; + } } - } else if (BF_GLOBALS.getFlag(onDuty)) { - scene->_sceneMode = 8141; - } else { - if (BF_GLOBALS.getFlag(shownLyleRapsheet) || BF_GLOBALS.getFlag(shownLyleCrate1)) - scene->_sceneMode = 8129; - else - scene->_sceneMode = 8121; } + BF_GLOBALS._player.disableControl(); scene->setAction(&scene->_action1); return true; @@ -599,7 +611,7 @@ bool Scene810::Lyle::startAction(CursorType action, Event &event) { default: return NamedObjectExt::startAction(action, event); } -} +} bool Scene810::Chair::startAction(CursorType action, Event &event) { switch (action) { @@ -654,12 +666,12 @@ bool Scene810::FaxMachineInset::startAction(CursorType action, Event &event) { if (BF_INVENTORY.getObjectScene(INV_PRINT_OUT) == 811) { T2_GLOBALS._uiElements.addScore(50); scene->_sound1.play(77); + scene->_fieldA70 = 1; BF_GLOBALS._player.disableControl(); scene->_sceneMode = 8109; scene->setAction(&scene->_sequenceManager1, scene, 8109, &BF_GLOBALS._player, &scene->_object6, &scene->_object5, NULL); - scene->_fieldA70 = 1; scene->_fieldA74 = 1; remove(); } else { @@ -697,7 +709,7 @@ bool Scene810::Object5::startAction(CursorType action, Event &event) { case CURSOR_USE: { scene->_sceneMode = 8195; BF_GLOBALS._player.disableControl(); - + PlayerMover *mover = new PlayerMover(); Common::Point destPos(67, 111); BF_GLOBALS._player.addMover(mover, &destPos, scene); @@ -792,7 +804,7 @@ bool Scene810::FaxMachine::startAction(CursorType action, Event &event) { scene->_sceneMode = 811; if (BF_GLOBALS._sceneObjects->contains(&scene->_lyle)) { - scene->setAction(&scene->_sequenceManager1, scene, BF_GLOBALS.getFlag(onDuty) ? 8108 : 8105, + scene->setAction(&scene->_sequenceManager1, scene, BF_GLOBALS.getFlag(onDuty) ? 8108 : 8105, &BF_GLOBALS._player, &scene->_object6, NULL); } else { scene->setAction(&scene->_sequenceManager1, scene, 8111, &BF_GLOBALS._player, @@ -1046,12 +1058,12 @@ void Scene810::postInit(SceneObjectList *OwnerList) { case 820: BF_GLOBALS._player.setStrip(7); BF_GLOBALS._player.setPosition(Common::Point(278, 116)); - + _lyle.setVisage(845); _lyle.setPosition(Common::Point(340, 175)); _lyle.setObjectWrapper(new SceneObjectWrapper()); _lyle.animate(ANIM_MODE_1, NULL); - + _chair.show(); BF_GLOBALS._player.disableControl(); @@ -1109,7 +1121,7 @@ void Scene810::postInit(SceneObjectList *OwnerList) { _item12._sceneRegionId = 8; BF_GLOBALS._sceneItems.push_back(&_item12); - BF_GLOBALS._sceneItems.addItems(&_microficheReader, &_map, &_window, &_bookcase, &_garbageCan, + BF_GLOBALS._sceneItems.addItems(&_microficheReader, &_map, &_window, &_bookcase, &_garbageCan, &_fileCabinets, &_coffeeMaker, &_shelves, &_background, NULL); _background.setBounds(Rect(0, 0, SCREEN_WIDTH, UI_INTERFACE_Y)); } @@ -1172,7 +1184,7 @@ void Scene810::signal() { if (BF_GLOBALS.getFlag(shownFax)) { BF_GLOBALS.setFlag(showMugAround); } else { - BF_GLOBALS._walkRegions.proc1(4); + BF_GLOBALS._walkRegions.disableRegion(4); BF_GLOBALS._player.enableControl(); } break; @@ -1225,7 +1237,7 @@ void Scene810::signal() { _object5.setFrame(1); break; case 8196: - BF_GLOBALS._walkRegions.proc1(4); + BF_GLOBALS._walkRegions.disableRegion(4); BF_GLOBALS._player.enableControl(); break; case 8198: @@ -1264,7 +1276,7 @@ void Scene810::dispatch() { _lyle.updateAngle(BF_GLOBALS._player._position); } - if (BF_GLOBALS._sceneObjects->contains(&_faxMachineInset) && (BF_GLOBALS._player._position.x != 67) && + if (BF_GLOBALS._sceneObjects->contains(&_faxMachineInset) && (BF_GLOBALS._player._position.x != 67) && (BF_GLOBALS._player._position.y != 111)) { _faxMachineInset.remove(); } @@ -1279,8 +1291,8 @@ void Scene810::dispatch() { } else { BF_GLOBALS.clearFlag(showMugAround); BF_GLOBALS._player.disableControl(); - BF_GLOBALS._walkRegions.proc2(4); - BF_GLOBALS._walkRegions.proc2(13); + BF_GLOBALS._walkRegions.enableRegion(4); + BF_GLOBALS._walkRegions.enableRegion(13); _sceneMode = 8112; setAction(&_sequenceManager1, this, 8112, &BF_GLOBALS._player, &_lyle, NULL); @@ -1296,8 +1308,8 @@ void Scene810::dispatch() { setAction(&_sequenceManager1, this, 8100, &BF_GLOBALS._player, NULL); } else { if (BF_GLOBALS.getFlag(fWithLyle)) { - BF_GLOBALS._walkRegions.proc2(4); - BF_GLOBALS._walkRegions.proc2(13); + BF_GLOBALS._walkRegions.enableRegion(4); + BF_GLOBALS._walkRegions.enableRegion(13); ADD_MOVER_NULL(_lyle, 320, 155); } @@ -1329,7 +1341,7 @@ bool Scene820::PowerButton::startAction(CursorType action, Event &event) { BF_GLOBALS._scenePalette.loadPalette(821); BF_GLOBALS._scenePalette.refresh(); - SceneItem::display(820, scene->_pageNumber, SET_WIDTH, 240, SET_X, 41, SET_Y, 0, + SceneItem::display(820, scene->_pageNumber, SET_WIDTH, 240, SET_X, 41, SET_Y, 0, SET_FONT, 50, SET_FG_COLOR, 18, SET_EXT_BGCOLOR, 12, SET_KEEP_ONSCREEN, true, LIST_END); } else { BF_GLOBALS._scenePalette.loadPalette(820); @@ -1376,7 +1388,7 @@ bool Scene820::BackButton::startAction(CursorType action, Event &event) { scene->_object5.hide(); } - SceneItem::display(820, scene->_pageNumber, SET_WIDTH, 240, SET_X, 41, SET_Y, 0, + SceneItem::display(820, scene->_pageNumber, SET_WIDTH, 240, SET_X, 41, SET_Y, 0, SET_FONT, 50, SET_FG_COLOR, 18, SET_EXT_BGCOLOR, 12, SET_KEEP_ONSCREEN, true, LIST_END); return true; default: @@ -1407,7 +1419,7 @@ bool Scene820::ForwardButton::startAction(CursorType action, Event &event) { if (scene->_pageNumber < 4) ++scene->_pageNumber; - SceneItem::display(820, scene->_pageNumber, SET_WIDTH, 240, SET_X, 41, SET_Y, 0, + SceneItem::display(820, scene->_pageNumber, SET_WIDTH, 240, SET_X, 41, SET_Y, 0, SET_FONT, 50, SET_FG_COLOR, 18, SET_EXT_BGCOLOR, 12, SET_KEEP_ONSCREEN, true, LIST_END); if (scene->_pageNumber == 4) { @@ -1435,7 +1447,7 @@ void Scene820::synchronize(Serializer &s) { void Scene820::postInit(SceneObjectList *OwnerList) { SceneExt::postInit(); loadScene(820); - + _stripManager.addSpeaker(&_gameTextSpeaker); _powerButton.postInit(); @@ -1660,12 +1672,12 @@ void Scene830::postInit(SceneObjectList *OwnerList) { _rentalBoat.setStrip(1); _rentalBoat.setPosition(Common::Point(271, 146)); _rentalBoat.fixPriority(90); - _rentalBoat.setDetails(830, 0, 1, 2, 1, NULL); + _rentalBoat.setDetails(830, 0, 1, 2, 1, (SceneItem *)NULL); } _door.postInit(); _door.setVisage(830); - _door.setDetails(830, 3, 4, -1, 1, NULL); + _door.setDetails(830, 3, 4, -1, 1, (SceneItem *)NULL); _door.setStrip((BF_GLOBALS._dayNumber == 2) ? 4 : 3); _door.setPosition(Common::Point(182, 97)); @@ -1690,7 +1702,7 @@ void Scene830::postInit(SceneObjectList *OwnerList) { _object5.setStrip(2); _object5.setFrame(2); _object5.setPosition(Common::Point(126, 133)); - _object5.setDetails(830, 7, 8, -1, 1, NULL); + _object5.setDetails(830, 7, 8, -1, 1, (SceneItem *)NULL); } break; case 5: @@ -1706,7 +1718,7 @@ void Scene830::postInit(SceneObjectList *OwnerList) { _lyle.setStrip(4); _lyle.setPosition(Common::Point(180, 154)); _lyle._moveDiff = Common::Point(2, 0); - _lyle.setDetails(830, 28, -1, 29, 1, NULL); + _lyle.setDetails(830, 28, -1, 29, 1, (SceneItem *)NULL); _field18AC = 1; } @@ -1938,7 +1950,7 @@ void Scene840::BoatKeysInset::postInit(SceneObjectList *OwnerList) { _rentalKeys.setFrame(3); _rentalKeys.setPosition(Common::Point(120, 132)); _rentalKeys.fixPriority(255); - _rentalKeys.setDetails(840, 52, 8, -1, 2, NULL); + _rentalKeys.setDetails(840, 52, 8, -1, 2, (SceneItem *)NULL); } if (BF_INVENTORY.getObjectScene(INV_WAVE_KEYS) != 1) { @@ -1948,7 +1960,7 @@ void Scene840::BoatKeysInset::postInit(SceneObjectList *OwnerList) { _waveKeys.setFrame(2); _waveKeys.setPosition(Common::Point(201, 91)); _waveKeys.fixPriority(255); - _waveKeys.setDetails(840, 53, 8, -1, 2, NULL); + _waveKeys.setDetails(840, 53, 8, -1, 2, (SceneItem *)NULL); } _v1B4 = _v1B6 = 0; @@ -2023,7 +2035,7 @@ bool Scene840::BoatKeysInset::startAction(CursorType action, Event &event) { _rentalKeys.setFrame(3); _rentalKeys.setPosition(Common::Point(120, 132)); _rentalKeys.fixPriority(255); - _rentalKeys.setDetails(840, 52, 8, -1, 2, NULL); + _rentalKeys.setDetails(840, 52, 8, -1, 2, (SceneItem *)NULL); } if (BF_INVENTORY.getObjectScene(INV_WAVE_KEYS) == 1) { @@ -2034,7 +2046,7 @@ bool Scene840::BoatKeysInset::startAction(CursorType action, Event &event) { _waveKeys.setFrame(2); _waveKeys.setPosition(Common::Point(201, 91)); _waveKeys.fixPriority(255); - _waveKeys.setDetails(840, 53, 8, -1, 2, NULL); + _waveKeys.setDetails(840, 53, 8, -1, 2, (SceneItem *)NULL); } BF_INVENTORY.setObjectScene(INV_WAVE_KEYS, 0); @@ -2247,7 +2259,7 @@ void Scene840::postInit(SceneObjectList *OwnerList) { _doors.setVisage(840); _doors.setStrip(3); _doors.setPosition(Common::Point(157, 81)); - _doors.setDetails(840, 0, 1, 2, 1, NULL); + _doors.setDetails(840, 0, 1, 2, 1, (SceneItem *)NULL); _carter.postInit(); _carter.setVisage(843); @@ -2267,7 +2279,7 @@ void Scene840::postInit(SceneObjectList *OwnerList) { _item10.setDetails(Rect(199, 56, 236, 80), 840, 24, 14, 12, 1, NULL); _item11.setDetails(Rect(256, 94, 319, 118), 840, 25, 15, 13, 1, NULL); _item18.setDetails(6, 840, 38, 39, 40, 1); - _carter.setDetails(840, 3, 4, 5, 1, NULL); + _carter.setDetails(840, 3, 4, 5, 1, (SceneItem *)NULL); _item8.setDetails(Rect(259, 4, 319, 87), 840, 22, 15, 13, 1, NULL); _item15.setDetails(2, 840, 32, 33, 34, 1); _coins.setDetails(3, 840, -1, 6, 7, 1); @@ -2283,7 +2295,7 @@ void Scene840::postInit(SceneObjectList *OwnerList) { _boatKeys.setFrame(1); _boatKeys.setPosition(Common::Point(250, 83)); _boatKeys.fixPriority(120); - _boatKeys.setDetails(840, -1, 8, 9, 2, NULL); + _boatKeys.setDetails(840, -1, 8, 9, 2, (SceneItem *)NULL); _field1AC0 = 1; } @@ -2375,7 +2387,7 @@ void Scene840::signal() { case 4: _sceneMode = 8403; _boatKeys.postInit(); - _boatKeys.setDetails(840, -1, 8, 9, 2, NULL); + _boatKeys.setDetails(840, -1, 8, 9, 2, (SceneItem *)NULL); setAction(&_sequenceManager1, this, 8403, &_carter, &_boatKeys, NULL); break; case 5: @@ -2667,7 +2679,7 @@ void Scene860::postInit(SceneObjectList *OwnerList) { _object2.setVisage(880); _object2.setPosition(Common::Point(196, 81)); BF_GLOBALS._sceneItems.push_back(&_object2); - _object2.setDetails(860, 0, 1, -1, 1, NULL); + _object2.setDetails(860, 0, 1, -1, 1, (SceneItem *)NULL); _object2.fixPriority(20); _neRect = Rect(0, 0, 0, 0); @@ -2864,7 +2876,7 @@ void Scene870::CrateInset::initContents() { _jar.setPosition(Common::Point(scene->_crateInset._position.x + 5, scene->_crateInset._position.y - 26)); _jar.fixPriority(251); - _jar.setDetails(870, 39, 40, 41, 1, NULL); + _jar.setDetails(870, 39, 40, 41, 1, (SceneItem *)NULL); BF_GLOBALS._sceneItems.remove(&_jar); BF_GLOBALS._sceneItems.push_front(&_jar); } @@ -2878,7 +2890,7 @@ void Scene870::CrateInset::initContents() { _rags.setPosition(Common::Point(scene->_crateInset._position.x - 18, scene->_crateInset._position.y - 18)); _rags.fixPriority(251); - _rags.setDetails(870, 42, 43, 44, 1, NULL); + _rags.setDetails(870, 42, 43, 44, 1, (SceneItem *)NULL); BF_GLOBALS._sceneItems.remove(&_rags); BF_GLOBALS._sceneItems.push_front(&_rags); } @@ -3051,7 +3063,7 @@ void Scene870::postInit(SceneObjectList *OwnerList) { _lyle.setObjectWrapper(new SceneObjectWrapper()); _lyle.animate(ANIM_MODE_1, NULL); _lyle._moveDiff = Common::Point(2, 1); - _lyle.setDetails(870, 27, 28, 29, 1, NULL); + _lyle.setDetails(870, 27, 28, 29, 1, (SceneItem *)NULL); } _yacht.postInit(); @@ -3059,7 +3071,7 @@ void Scene870::postInit(SceneObjectList *OwnerList) { _yacht.setStrip(4); _yacht.setFrame(4); _yacht.setPosition(Common::Point(232, 19)); - _yacht.setDetails(870, 30, 31, 32, 1, NULL); + _yacht.setDetails(870, 30, 31, 32, 1, (SceneItem *)NULL); if ((BF_INVENTORY.getObjectScene(INV_RAGS) == 0) && (BF_INVENTORY.getObjectScene(INV_FLARE) == 0) && (BF_INVENTORY.getObjectScene(INV_HANDCUFFS) == 355)) { @@ -3069,9 +3081,9 @@ void Scene870::postInit(SceneObjectList *OwnerList) { _green.setPosition(Common::Point(127, 109)); if (BF_GLOBALS._bookmark == bFinishedWGreen) { - _green.setDetails(870, 51, 54, 53, 1, NULL); + _green.setDetails(870, 51, 54, 53, 1, (SceneItem *)NULL); } else { - _green.setDetails(870, 51, 52, 53, 1, NULL); + _green.setDetails(870, 51, 52, 53, 1, (SceneItem *)NULL); } } } @@ -3103,7 +3115,7 @@ void Scene870::postInit(SceneObjectList *OwnerList) { _lyle.setPosition(Common::Point(156, 148)); _lyle.fixPriority(149); } - + if ((BF_INVENTORY.getObjectScene(INV_HANDCUFFS) != 1) && (BF_INVENTORY.getObjectScene(INV_GRENADES) == 355)) { _object4.postInit(); @@ -3123,7 +3135,7 @@ void Scene870::postInit(SceneObjectList *OwnerList) { } break; } - + _boat.setDetails(7, 870, 3, 4, 5, 1); _crate.setDetails(14, 870, 12, 13, 14, 1); _water.setDetails(5, 870, 24, 25, 26, 1); @@ -3346,11 +3358,11 @@ void Scene880::postInit(SceneObjectList *OwnerList) { _object2.postInit(); _object2.setVisage(880); _object2.setPosition(Common::Point(209, 76)); - _object2.setDetails(880, 4, 5, 6, 1, NULL); + _object2.setDetails(880, 4, 5, 6, 1, (SceneItem *)NULL); _object4.postInit(); _object4.setVisage(875); - _object4.setDetails(880, 7, -1, 9, 1, NULL); + _object4.setDetails(880, 7, -1, 9, 1, (SceneItem *)NULL); _object5.postInit(); _object5.setVisage(874); @@ -3381,7 +3393,7 @@ void Scene880::postInit(SceneObjectList *OwnerList) { _object4.setFrame2(_object4.getFrameCount()); _object4.fixPriority(160); _object4.setPosition(Common::Point(255, 148)); - + _seqNumber = 8816; } else if (BF_GLOBALS.getFlag(fBlowUpGoon)) { _object4.setStrip(7); @@ -3393,7 +3405,7 @@ void Scene880::postInit(SceneObjectList *OwnerList) { } else { _object4.setStrip(2); _object4.setPosition(Common::Point(258, 147)); - + _object3.postInit(); _object3.setVisage(871); _object3.setStrip(4); @@ -3588,7 +3600,7 @@ void Scene880::handleAction(Action *action) { action->_owner = NULL; } } - + void Scene880::dispatch() { SceneExt::dispatch(); diff --git a/engines/tsage/blue_force/blueforce_scenes9.cpp b/engines/tsage/blue_force/blueforce_scenes9.cpp index 545edb91d6..2178f31b30 100644 --- a/engines/tsage/blue_force/blueforce_scenes9.cpp +++ b/engines/tsage/blue_force/blueforce_scenes9.cpp @@ -35,7 +35,7 @@ namespace BlueForce { * *--------------------------------------------------------------------------*/ -bool Scene900::Item1::startAction(CursorType action, Event &event) { +bool Scene900::Exterior::startAction(CursorType action, Event &event) { if (action == CURSOR_LOOK) { SceneItem::display2(900, 6); return true; @@ -44,7 +44,7 @@ bool Scene900::Item1::startAction(CursorType action, Event &event) { } } -bool Scene900::Item4::startAction(CursorType action, Event &event) { +bool Scene900::WestExit::startAction(CursorType action, Event &event) { Scene900 *scene = (Scene900 *)BF_GLOBALS._sceneManager._scene; BF_GLOBALS._player.disableControl(); @@ -62,37 +62,37 @@ bool Scene900::Gate::startAction(CursorType action, Event &event) { switch (action) { case CURSOR_USE: - if (BF_GLOBALS._v4CEC0 == 0) { + if (BF_GLOBALS._gateStatus == 0) { return NamedObject::startAction(action, event); } else { BF_GLOBALS._player.disableControl(); - if (BF_GLOBALS._v4CEC0 == 2) { + if (BF_GLOBALS._gateStatus == 2) { scene->_sceneMode = 9006; - BF_GLOBALS._v4CEC0 = 1; + BF_GLOBALS._gateStatus = 1; scene->setAction(&scene->_sequenceManager1, scene, 9006, &BF_GLOBALS._player, this, NULL); } else { - BF_GLOBALS._v4CEC0 = 2; + BF_GLOBALS._gateStatus = 2; if (scene->_dog._flag == false) { BF_GLOBALS._player.setAction(&scene->_action4); } else { scene->_sceneMode = 9005; scene->setAction(&scene->_sequenceManager1, scene, 9005, &BF_GLOBALS._player, this, NULL); - BF_GLOBALS._walkRegions.proc2(24); + BF_GLOBALS._walkRegions.enableRegion(24); } } return true; } break; case INV_WAREHOUSE_KEYS: - if (BF_GLOBALS._v4CEC0 == 2) { + if (BF_GLOBALS._gateStatus == 2) { SceneItem::display2(900, 14); } else { - if (BF_GLOBALS._v4CEC0 == 0) { + if (BF_GLOBALS._gateStatus == 0) { if (!BF_GLOBALS.getFlag(fGotPointsForUnlockGate)) { BF_GLOBALS.setFlag(fGotPointsForUnlockGate); T2_GLOBALS._uiElements.addScore(30); } - BF_GLOBALS._v4CEC0 = 1; + BF_GLOBALS._gateStatus = 1; } else { if (!BF_GLOBALS.getFlag(fGotPointsForLockGate)) { if (BF_GLOBALS._bookmark == bEndDayThree) { @@ -100,7 +100,7 @@ bool Scene900::Gate::startAction(CursorType action, Event &event) { T2_GLOBALS._uiElements.addScore(30); } } - BF_GLOBALS._v4CEC0 = 0; + BF_GLOBALS._gateStatus = 0; } scene->_sceneMode = 9004; BF_GLOBALS._player.disableControl(); @@ -117,12 +117,12 @@ bool Scene900::Door::startAction(CursorType action, Event &event) { switch (action) { case CURSOR_USE: - if (BF_GLOBALS._v4CEC0 == 2) { + if (BF_GLOBALS._gateStatus == 2) { if (_flag) { SceneItem::display2(900, 1); } else { BF_GLOBALS._player.disableControl(); - BF_GLOBALS._walkRegions.proc2(26); + BF_GLOBALS._walkRegions.enableRegion(26); scene->_sceneMode = 9007; scene->setAction(&scene->_sequenceManager1, scene, 9007, &BF_GLOBALS._player, &scene->_door, this, NULL); } @@ -131,7 +131,7 @@ bool Scene900::Door::startAction(CursorType action, Event &event) { return NamedObject::startAction(action, event); break; case INV_WAREHOUSE_KEYS: - if (BF_GLOBALS._v4CEC0 == 2) { + if (BF_GLOBALS._gateStatus == 2) { BF_GLOBALS._player.disableControl(); scene->_sceneMode = 9012; scene->setAction(&scene->_sequenceManager1, scene, 9012, &BF_GLOBALS._player, &scene->_door, NULL); @@ -180,11 +180,12 @@ bool Scene900::Lyle::startAction(CursorType action, Event &event) { if (action == CURSOR_TALK) { if (!_action) { if (scene->_dog._flag) { - if (BF_GLOBALS._v4CEC0 == 0) + // Dog is no longer there + if (BF_GLOBALS._gateStatus == 0) scene->_stripManager.start(9004, &BF_GLOBALS._stripProxy); else { if (scene->_door._flag == 1) { - if (BF_GLOBALS._v4CEC0 == 2) + if (BF_GLOBALS._gateStatus == 2) scene->_stripManager.start(9005, &BF_GLOBALS._stripProxy); else scene->_stripManager.start(9001, &BF_GLOBALS._stripProxy); @@ -192,10 +193,11 @@ bool Scene900::Lyle::startAction(CursorType action, Event &event) { scene->_stripManager.start(9001, &BF_GLOBALS._stripProxy); } } else { - if (scene->_field1974) + // Dog is there + if (scene->_lyleDialogCtr) scene->_stripManager.start(9003, &BF_GLOBALS._stripProxy); else { - ++scene->_field1974; + ++scene->_lyleDialogCtr; scene->_stripManager.start(9002, &BF_GLOBALS._stripProxy); } } @@ -384,7 +386,7 @@ void Scene900::Action3::signal() { break; default: break; - } + } } void Scene900::Action4::signal() { @@ -416,7 +418,7 @@ void Scene900::Action4::signal() { /*--------------------------------------------------------------------------*/ Scene900::Scene900(): PalettedScene() { - _field1974 = _field1976 = 0; + _lyleDialogCtr = _field1976 = 0; } void Scene900::postInit(SceneObjectList *OwnerList) { @@ -425,7 +427,7 @@ void Scene900::postInit(SceneObjectList *OwnerList) { if (BF_GLOBALS._sceneManager._previousScene == 910) BF_GLOBALS._sound1.changeSound(91); - _field1974 = 0; + _lyleDialogCtr = 0; _field1976 = 0; T2_GLOBALS._uiElements._active = true; BF_GLOBALS.clearFlag(fCanDrawGun); @@ -440,12 +442,12 @@ void Scene900::postInit(SceneObjectList *OwnerList) { _body.fixPriority(120); _body.setVisage(901); _body.setPosition(Common::Point(159,128)); - _body.setDetails(900, 15, 16, 17, ANIM_MODE_1, NULL); + _body.setDetails(900, 15, 16, 17, ANIM_MODE_1, (SceneItem *)NULL); } if (BF_GLOBALS._sceneManager._previousScene == 910) { _sceneBounds.moveTo(639, 0); - BF_GLOBALS._v4CEC0 = 2; + BF_GLOBALS._gateStatus = 2; BF_INVENTORY.setObjectScene(INV_FISHING_NET, 900); _dog._flag = 1; } @@ -456,14 +458,14 @@ void Scene900::postInit(SceneObjectList *OwnerList) { _stripManager.addSpeaker(&_jakeJacketSpeaker); _stripManager.addSpeaker(&_lyleHatSpeaker); - _item4.setDetails(Rect(0, 85, 20, 130), 900, -1, -1, -1, 1, 0); + _westExit.setDetails(Rect(0, 85, 20, 130), 900, -1, -1, -1, 1, 0); BF_GLOBALS._player.postInit(); _dog.postInit(); _dog.setVisage(902); _dog.setPosition(Common::Point(845, 135)); _dog.fixPriority(122); - _dog.setDetails(900, 8, -1, 9, 1, NULL); + _dog.setDetails(900, 8, -1, 9, 1, (SceneItem *)NULL); if (_dog._flag == 0) { _dog.animate(ANIM_MODE_1, NULL); @@ -485,10 +487,10 @@ void Scene900::postInit(SceneObjectList *OwnerList) { _gate.setVisage(900); _gate.setStrip(2); - if (BF_GLOBALS._v4CEC0 == 2) + if (BF_GLOBALS._gateStatus == 2) _gate.setPosition(Common::Point(758, 127)); else { - BF_GLOBALS._walkRegions.proc1(24); + BF_GLOBALS._walkRegions.disableRegion(24); _gate.setPosition(Common::Point(804, 132)); } @@ -515,14 +517,14 @@ void Scene900::postInit(SceneObjectList *OwnerList) { _door._flag = 1; if ((BF_GLOBALS._sceneManager._previousScene == 880) || (BF_GLOBALS._sceneManager._previousScene != 910)) { - BF_GLOBALS._walkRegions.proc1(26); + BF_GLOBALS._walkRegions.disableRegion(26); BF_GLOBALS._player.disableControl(); if (BF_GLOBALS._bookmark == bFinishedWGreen) { _sceneMode = 9013; _lyle.postInit(); _lyle._moveDiff.y = 7; _lyle._flags |= OBJFLAG_CHECK_REGION; - _lyle.setDetails(900, 19, 20, 21, ANIM_MODE_1, NULL); + _lyle.setDetails(900, 19, 20, 21, ANIM_MODE_1, (SceneItem *)NULL); _lyleHatSpeaker._xp = 210; _jakeJacketSpeaker._xp = 75; setAction(&_sequenceManager1, this, 9013, &BF_GLOBALS._player, &_lyle, NULL); @@ -535,10 +537,10 @@ void Scene900::postInit(SceneObjectList *OwnerList) { _lyle.setPosition(Common::Point(780, 153)); _lyle._moveDiff.y = 7; _lyle._flags |= 0x1000; - _lyle.setDetails(900, 19, 20, 21, ANIM_MODE_1, NULL); + _lyle.setDetails(900, 19, 20, 21, ANIM_MODE_1, (SceneItem *)NULL); _lyle.animate(ANIM_MODE_1, NULL); _lyle.setObjectWrapper(new SceneObjectWrapper()); - } + } _sceneMode = 9000; setAction(&_sequenceManager1, this, 9000, &BF_GLOBALS._player, NULL); @@ -551,17 +553,17 @@ void Scene900::postInit(SceneObjectList *OwnerList) { if (BF_GLOBALS.getFlag(fWithLyle)) { _lyle.postInit(); _lyle._flags |= 0x1000; - _lyle.setDetails(900, 19, 20, 21, ANIM_MODE_1, NULL); + _lyle.setDetails(900, 19, 20, 21, ANIM_MODE_1, (SceneItem *)NULL); setAction(&_sequenceManager1, this, 9014, &BF_GLOBALS._player, &_door, &_lyle, NULL); } else setAction(&_sequenceManager1, this, 9002, &BF_GLOBALS._player, &_door, NULL); } - _gate.setDetails(900, 0, -1, 1, 1, 0); - _door.setDetails(900, 2, -1, 5, 1, 0); + _gate.setDetails(900, 0, -1, 1, 1, (SceneItem *)NULL); + _door.setDetails(900, 2, -1, 5, 1, (SceneItem *)NULL); _item2.setDetails(Rect(0, 0, 225, 21), 666, 25, -1, -1, 1, NULL); _item3.setDetails(Rect(37, 21, 324, 50), 666, 26, -1, -1, 1, NULL); - _item1.setDetails(Rect(0, 0, 960, 200), 900, 7, -1, -1, 1, NULL); + _exterior.setDetails(Rect(0, 0, 960, 200), 900, 7, -1, -1, 1, NULL); } void Scene900::signal() { @@ -572,7 +574,7 @@ void Scene900::signal() { BF_GLOBALS._sceneManager.changeScene(910); break; case 3: - BF_GLOBALS._walkRegions.proc1(24); + BF_GLOBALS._walkRegions.disableRegion(24); _sceneMode = 9004; setAction(&_sequenceManager1, this, 9006, &BF_GLOBALS._player, &_gate, NULL); break; @@ -580,7 +582,7 @@ void Scene900::signal() { BF_GLOBALS._player.enableControl(); break; case 9001: - if ((BF_INVENTORY.getObjectScene(INV_FISHING_NET) == 900) || (BF_GLOBALS._v4CEC0 != 0) || + if ((BF_INVENTORY.getObjectScene(INV_FISHING_NET) == 900) || (BF_GLOBALS._gateStatus != 0) || (_door._flag == 0)) BF_GLOBALS.setFlag(fLeftTraceIn900); else @@ -589,11 +591,11 @@ void Scene900::signal() { BF_GLOBALS._sceneManager.changeScene(880); break; case 9002: - BF_GLOBALS._walkRegions.proc1(26); + BF_GLOBALS._walkRegions.disableRegion(26); BF_GLOBALS._player.enableControl(); break; case 9004: - if (BF_GLOBALS._v4CEC0 == 0) + if (BF_GLOBALS._gateStatus == 0) SceneItem::display2(900, 3); else SceneItem::display2(900, 4); @@ -606,7 +608,7 @@ void Scene900::signal() { BF_GLOBALS._player.enableControl(); break; case 9006: - BF_GLOBALS._walkRegions.proc1(24); + BF_GLOBALS._walkRegions.disableRegion(24); BF_GLOBALS._player.enableControl(); break; case 9007: @@ -625,7 +627,7 @@ void Scene900::signal() { break; case 9010: _sound1.play(92); - if (BF_GLOBALS._v4CEC0 == 2) { + if (BF_GLOBALS._gateStatus == 2) { _sceneMode = 9008; setAction(&_sequenceManager1, this, 9008, &BF_GLOBALS._player, &_dog, NULL); } else { @@ -666,9 +668,9 @@ void Scene900::signal() { BF_GLOBALS._player.enableControl(); break; case 9016: - if ((BF_GLOBALS._clip1Bullets == 0) && (BF_GLOBALS._clip2Bullets == 0)){ - BF_GLOBALS._clip1Bullets = 8; + if ((BF_GLOBALS._clip1Bullets == 0) && (BF_GLOBALS._clip2Bullets == 0)) { BF_GLOBALS._clip1Bullets = 8; + BF_GLOBALS._clip2Bullets = 8; SceneItem::display2(900, 25); } else if (BF_GLOBALS._clip1Bullets == 0) { BF_GLOBALS._clip1Bullets = 8; @@ -690,7 +692,7 @@ void Scene900::process(Event &event) { SceneExt::process(event); if (BF_GLOBALS._player._enabled && !_focusObject && (event.mousePos.y < (UI_INTERFACE_Y - 1))) { - if (_item4.contains(event.mousePos)) { + if (_westExit.contains(event.mousePos)) { GfxSurface surface = _cursorVisage.getFrame(EXITFRAME_W); BF_GLOBALS._events.setCursor(surface); } else { @@ -718,7 +720,7 @@ void Scene900::dispatch() { void Scene900::synchronize(Serializer &s) { SceneExt::synchronize(s); - s.syncAsSint16LE(_field1974); + s.syncAsSint16LE(_lyleDialogCtr); s.syncAsSint16LE(_field1976); } @@ -755,26 +757,26 @@ void Scene910::Action2::signal() { switch (_actionIndex++) { case 0: - scene->_object7.postInit(); - scene->_object7.setVisage(919); - scene->_object7.setPosition(Common::Point(267, 51)); - scene->_object7.fixPriority(40); + scene->_shadow.postInit(); + scene->_shadow.setVisage(919); + scene->_shadow.setPosition(Common::Point(267, 51)); + scene->_shadow.fixPriority(40); signal(); break; case 1: - scene->_object7.hide(); + scene->_shadow.hide(); setDelay(600); break; case 2: - scene->_object7.setStrip(BF_GLOBALS._randomSource.getRandomNumber(3) + 2); - scene->_object7.setFrame(1); - scene->_object7.show(); + scene->_shadow.setStrip(BF_GLOBALS._randomSource.getRandomNumber(2) + 2); + scene->_shadow.setFrame(1); + scene->_shadow.show(); setDelay(6); break; case 3: _actionIndex = 1; - scene->_object7.setStrip(BF_GLOBALS._randomSource.getRandomNumber(3) + 2); - scene->_object7.animate(ANIM_MODE_5, this); + scene->_shadow.setStrip(BF_GLOBALS._randomSource.getRandomNumber(2) + 2); + scene->_shadow.animate(ANIM_MODE_5, this); break; default: break; @@ -797,7 +799,7 @@ bool Scene910::Lyle::startAction(CursorType action, Event &event) { else return false; } else if (action == CURSOR_TALK) { - if ((BF_GLOBALS._v4CEE0 != 0) || (BF_GLOBALS._v4CEE2 != 0)) { + if ((BF_GLOBALS._hiddenDoorStatus != 0) || (BF_GLOBALS._v4CEE2 != 0)) { scene->_stripManager.start(9100 + _field90, &BF_GLOBALS._stripProxy); if (_field90 < 1) _field90++; @@ -822,7 +824,7 @@ bool Scene910::Nico::startAction(CursorType action, Event &event) { switch (action) { case CURSOR_USE: BF_GLOBALS._player.disableControl(); - scene->_field2DDA = 6; + scene->_sceneSubMode = 6; scene->_sceneMode = 9123; if (BF_GLOBALS._player._visage == 1911) scene->setAction(&scene->_sequenceManager1, scene, 9123, &BF_GLOBALS._player, NULL); @@ -844,10 +846,10 @@ bool Scene910::Nico::startAction(CursorType action, Event &event) { scene->_stripManager.start(9103 + BF_GLOBALS._v4CEE6, &BF_GLOBALS._stripProxy); return true; break; - case 1: + case INV_COLT45: if (BF_GLOBALS._v4CEE2 > 1) { if (BF_GLOBALS._v4CEE2 != 4) { - if ((BF_GLOBALS.getFlag(gunDrawn)) && (BF_GLOBALS.getFlag(25)) && (BF_GLOBALS.getHasBullets())) { + if ((BF_GLOBALS.getFlag(gunDrawn)) && (BF_GLOBALS.getFlag(fGunLoaded)) && (BF_GLOBALS.getHasBullets())) { if (scene->_field2DE0 == 0) { BF_GLOBALS._player.disableControl(); scene->_sceneMode = 9126; @@ -868,7 +870,7 @@ bool Scene910::Nico::startAction(CursorType action, Event &event) { return true; } } else { - if ((BF_GLOBALS.getFlag(gunDrawn)) && (BF_GLOBALS.getFlag(25)) && (BF_GLOBALS.getHasBullets())) { + if ((BF_GLOBALS.getFlag(gunDrawn)) && (BF_GLOBALS.getFlag(fGunLoaded)) && (BF_GLOBALS.getHasBullets())) { BF_GLOBALS._player.disableControl(); scene->_sceneMode = 9125; scene->setAction(&scene->_sequenceManager1, scene, 9125, &scene->_nico, NULL); @@ -876,8 +878,8 @@ bool Scene910::Nico::startAction(CursorType action, Event &event) { return NamedObject::startAction(action, event); } break; - case 39: - case 53: + case INV_BADGE: + case INV_ID: if (BF_GLOBALS._v4CEE2 >= 4) return NamedObject::startAction(action, event); @@ -892,11 +894,11 @@ bool Scene910::Nico::startAction(CursorType action, Event &event) { return true; break; - case 57: + case INV_YELLOW_CORD: if (BF_GLOBALS._v4CEE2 < 4) { BF_GLOBALS._player.disableControl(); scene->_yellowCord.fixPriority(121); - scene->_field2DDA = 10; + scene->_sceneSubMode = 10; scene->_sceneMode = 9123; if (BF_GLOBALS._player._visage == 1911) scene->setAction(&scene->_sequenceManager1, scene, 9123, &BF_GLOBALS._player, NULL); @@ -914,7 +916,7 @@ bool Scene910::Nico::startAction(CursorType action, Event &event) { return true; } break; - case 58: + case INV_HALF_YELLOW_CORD: if (BF_GLOBALS._v4CECC == 1) SceneItem::display(910, 84, SET_WIDTH, 312, SET_X, GLOBALS._sceneManager._scene->_sceneBounds.left + 4, @@ -929,8 +931,8 @@ bool Scene910::Nico::startAction(CursorType action, Event &event) { SET_EXT_FGCOLOR, 13, LIST_END); return true; break; - case 59: - case 61: + case INV_BLACK_CORD: + case INV_HALF_BLACK_CORD: SceneItem::display(910, 83, SET_WIDTH, 312, SET_X, GLOBALS._sceneManager._scene->_sceneBounds.left + 4, SET_Y, GLOBALS._sceneManager._scene->_sceneBounds.top + UI_INTERFACE_Y + 2, @@ -950,7 +952,7 @@ bool Scene910::Stuart::startAction(CursorType action, Event &event) { switch (action) { case CURSOR_USE: BF_GLOBALS._player.disableControl(); - scene->_field2DDA = 7; + scene->_sceneSubMode = 7; scene->_sceneMode = 9123; if (BF_GLOBALS._player._visage == 1911) scene->setAction(&scene->_sequenceManager1, scene, 9123, &BF_GLOBALS._player, NULL); @@ -965,8 +967,8 @@ bool Scene910::Stuart::startAction(CursorType action, Event &event) { scene->_stripManager.start(9107 + BF_GLOBALS._v4CEE8, &BF_GLOBALS._stripProxy); return true; break; - case 1: - if ((BF_GLOBALS.getFlag(gunDrawn)) && (BF_GLOBALS.getFlag(25)) && (BF_GLOBALS.getHasBullets())){ + case INV_COLT45: + if ((BF_GLOBALS.getFlag(gunDrawn)) && (BF_GLOBALS.getFlag(fGunLoaded)) && (BF_GLOBALS.getHasBullets())){ BF_GLOBALS._player.disableControl(); if (BF_GLOBALS._v4CEE4 == 2) { scene->_sceneMode = 9132; @@ -983,7 +985,7 @@ bool Scene910::Stuart::startAction(CursorType action, Event &event) { } else return NamedObject::startAction(action, event); break; - case 57: + case INV_YELLOW_CORD: if (BF_GLOBALS._v4CECC == 1) { SceneItem::display(910, 84, SET_WIDTH, 312, SET_X, GLOBALS._sceneManager._scene->_sceneBounds.left + 4, @@ -994,7 +996,7 @@ bool Scene910::Stuart::startAction(CursorType action, Event &event) { } else { BF_GLOBALS._player.disableControl(); if (BF_GLOBALS._v4CEE2 == 4) { - scene->_field2DDA = 11; + scene->_sceneSubMode = 11; scene->_sceneMode = 9123; if (BF_GLOBALS._player._visage == 1911) scene->setAction(&scene->_sequenceManager1, scene, 9123, &BF_GLOBALS._player, NULL); @@ -1002,7 +1004,7 @@ bool Scene910::Stuart::startAction(CursorType action, Event &event) { scene->signal(); return true; } else { - scene->_field2DDA = 12; + scene->_sceneSubMode = 12; scene->_sceneMode = 9123; if (BF_GLOBALS._player._visage == 1911) scene->setAction(&scene->_sequenceManager1, scene, 9123, &BF_GLOBALS._player, NULL); @@ -1012,7 +1014,7 @@ bool Scene910::Stuart::startAction(CursorType action, Event &event) { } } break; - case 58: + case INV_HALF_YELLOW_CORD: if (BF_GLOBALS._v4CECC == 1) { SceneItem::display(910, 84, SET_WIDTH, 312, SET_X, GLOBALS._sceneManager._scene->_sceneBounds.left + 4, @@ -1022,7 +1024,7 @@ bool Scene910::Stuart::startAction(CursorType action, Event &event) { return true; } else { BF_GLOBALS._player.disableControl(); - scene->_field2DDA = 11; + scene->_sceneSubMode = 11; scene->_sceneMode = 9123; if (BF_GLOBALS._player._visage == 1911) scene->setAction(&scene->_sequenceManager1, scene, 9123, &BF_GLOBALS._player, NULL); @@ -1031,8 +1033,8 @@ bool Scene910::Stuart::startAction(CursorType action, Event &event) { return true; } break; - case 59: - case 61: + case INV_BLACK_CORD: + case INV_HALF_BLACK_CORD: SceneItem::display(910, 83, SET_WIDTH, 312, SET_X, GLOBALS._sceneManager._scene->_sceneBounds.left + 4, SET_Y, GLOBALS._sceneManager._scene->_sceneBounds.top + UI_INTERFACE_Y + 2, @@ -1051,8 +1053,8 @@ bool Scene910::Forbes::startAction(CursorType action, Event &event) { if (action == CURSOR_TALK) { BF_GLOBALS._player.disableControl(); - BF_GLOBALS._walkRegions.proc2(1); - BF_GLOBALS._walkRegions.proc2(16); + BF_GLOBALS._walkRegions.enableRegion(1); + BF_GLOBALS._walkRegions.enableRegion(16); scene->_sceneMode = 9140; scene->setAction(&scene->_sequenceManager1, scene, 9140, &scene->_forbes, &BF_GLOBALS._player, &scene->_lyle, NULL); return true; @@ -1074,15 +1076,15 @@ bool Scene910::PowerCord::startAction(CursorType action, Event &event) { if ((action == CURSOR_LOOK) || (action == CURSOR_TALK) || (action < CURSOR_WALK)) { if (_field90 == 1) return false; - if ((_field92 != 1) || (BF_GLOBALS._v4CEE0 == 0 )) + if ((_field92 != 1) || (BF_GLOBALS._hiddenDoorStatus == 0 )) return NamedObject::startAction(action, event); return false; } else if (action == CURSOR_USE) { if (_field90 == 0) { - if ((BF_GLOBALS._v4CEE0 == 0) || (_field92 != 1)) { + if ((BF_GLOBALS._hiddenDoorStatus == 0) || (_field92 != 1)) { BF_GLOBALS._player.disableControl(); if (_field92 == 1) { - scene->_field2DDA = 8; + scene->_sceneSubMode = 8; scene->_sceneMode = 9123; if (BF_GLOBALS._player._visage == 1911) scene->setAction(&scene->_sequenceManager1, scene, 9123, &BF_GLOBALS._player, NULL); @@ -1092,7 +1094,7 @@ bool Scene910::PowerCord::startAction(CursorType action, Event &event) { return true; } else { scene->_destPos = Common::Point(151, 186); - scene->_field2DDA = 4; + scene->_sceneSubMode = 4; scene->_sceneMode = 9123; if (BF_GLOBALS._player._visage == 1911) scene->setAction(&scene->_sequenceManager1, scene, 9123, &BF_GLOBALS._player, NULL); @@ -1143,7 +1145,7 @@ bool Scene910::BreakerBox::startAction(CursorType action, Event &event) { BF_GLOBALS._player.disableControl(); scene->_sceneMode = 9102; if (BF_GLOBALS.getFlag(gunDrawn)) { - scene->_field2DDA = 1; + scene->_sceneSubMode = 1; scene->_sceneMode = 9123; scene->setAction(&scene->_sequenceManager1, scene, 9123, &BF_GLOBALS._player, NULL); return true; @@ -1173,7 +1175,7 @@ bool Scene910::FakeWall::startAction(CursorType action, Event &event) { if (action == INV_YELLOW_CORD) { BF_GLOBALS._player.disableControl(); scene->_destPos = Common::Point(285, 114); - scene->_field2DDA = 9; + scene->_sceneSubMode = 9; scene->_sceneMode = 9123; if (BF_GLOBALS._player._visage == 1911) scene->setAction(&scene->_sequenceManager1, scene, 9123, &BF_GLOBALS._player, NULL); @@ -1192,23 +1194,23 @@ void Scene910::BreakerBoxInset::postInit(SceneObjectList *OwnerList) { _lookLineNum = 7; _useLineNum = 8; BF_GLOBALS._sceneItems.push_back(this); - scene->_field2DD8 = 0; + scene->_breakerButtonCtr = 0; - _object13.setupBreaker(115, 44, 1, BF_GLOBALS._v4CECE[0]); - _object14.setupBreaker(116, 63, 2, BF_GLOBALS._v4CECE[1]); - _object15.setupBreaker(116, 69, 2, BF_GLOBALS._v4CECE[2]); - _object16.setupBreaker(115, 76, 1, BF_GLOBALS._v4CECE[3]); - _object17.setupBreaker(115, 95, 1, BF_GLOBALS._v4CECE[4]); - _object18.setupBreaker(116, 114, 2, BF_GLOBALS._v4CECE[5]); - _object19.setupBreaker(116, 120, 2, BF_GLOBALS._v4CECE[6]); - _object20.setupBreaker(188, 45, 2, BF_GLOBALS._v4CECE[7]); - _object21.setupBreaker(188, 51, 2, BF_GLOBALS._v4CECE[8]); - _object22.setupBreaker(179, 59, 1, BF_GLOBALS._v4CECE[9]); - _object23.setupBreaker(187, 78, 2, BF_GLOBALS._v4CECE[10]); - _object24.setupBreaker(187, 84, 2, BF_GLOBALS._v4CECE[11]); + _object13.setupBreaker(115, 44, 1, BF_GLOBALS._breakerBoxStatusArr[0]); + _object14.setupBreaker(116, 63, 2, BF_GLOBALS._breakerBoxStatusArr[1]); + _object15.setupBreaker(116, 69, 2, BF_GLOBALS._breakerBoxStatusArr[2]); + _object16.setupBreaker(115, 76, 1, BF_GLOBALS._breakerBoxStatusArr[3]); + _object17.setupBreaker(115, 95, 1, BF_GLOBALS._breakerBoxStatusArr[4]); + _object18.setupBreaker(116, 114, 2, BF_GLOBALS._breakerBoxStatusArr[5]); + _object19.setupBreaker(116, 120, 2, BF_GLOBALS._breakerBoxStatusArr[6]); + _object20.setupBreaker(188, 45, 2, BF_GLOBALS._breakerBoxStatusArr[7]); + _object21.setupBreaker(188, 51, 2, BF_GLOBALS._breakerBoxStatusArr[8]); + _object22.setupBreaker(179, 59, 1, BF_GLOBALS._breakerBoxStatusArr[9]); + _object23.setupBreaker(187, 78, 2, BF_GLOBALS._breakerBoxStatusArr[10]); + _object24.setupBreaker(187, 84, 2, BF_GLOBALS._breakerBoxStatusArr[11]); - _object25.subEBBDC(178, 90, 1, BF_GLOBALS._v4CECE[12]); - _object26.subEBBDC(178, 108, 2, BF_GLOBALS._v4CECE[13]); + _object25.setupHiddenSwitch(178, 90, 1, BF_GLOBALS._breakerBoxStatusArr[12]); + _object26.setupHiddenSwitch(178, 108, 2, BF_GLOBALS._breakerBoxStatusArr[13]); } void Scene910::BreakerBoxInset::remove() { @@ -1231,7 +1233,7 @@ void Scene910::BreakerBoxInset::remove() { _object27.remove(); _object28.remove(); - if ((BF_GLOBALS._v4CECE[13] < 4) && (scene->_breakerBox._frame > 1)) + if ((BF_GLOBALS._breakerBoxStatusArr[13] < 4) && (scene->_breakerBox._frame > 1)) scene->_breakerBox.animate(ANIM_MODE_6, NULL); FocusObject::remove(); @@ -1239,20 +1241,20 @@ void Scene910::BreakerBoxInset::remove() { void Scene910::Object13::synchronize(Serializer &s) { NamedObject::synchronize(s); - s.syncAsSint16LE(_field90); - s.syncAsSint16LE(_field92); + s.syncAsSint16LE(_state); + s.syncAsSint16LE(_mode); } bool Scene910::Object13::startAction(CursorType action, Event &event) { static uint32 black = 0; Scene910 *scene = (Scene910 *)BF_GLOBALS._sceneManager._scene; - int8 var2; + int8 xDiff; - if (_field92 == 1) - var2 = 12; + if (_mode == 1) + xDiff = 12; else - var2 = 7; + xDiff = 7; switch (action) { case CURSOR_LOOK: @@ -1264,8 +1266,8 @@ bool Scene910::Object13::startAction(CursorType action, Event &event) { return true; case CURSOR_USE: scene->_sound2.play(101); - if (event.mousePos.x <= _position.x + var2) { - if (_field92 != 1) { + if (event.mousePos.x <= _position.x + xDiff) { + if (_mode != 1) { if (_frame > 6) setFrame(_frame - 1); } else { @@ -1273,7 +1275,7 @@ bool Scene910::Object13::startAction(CursorType action, Event &event) { setFrame(_frame - 1); } } else { - if (_field92 == 1) { + if (_mode == 1) { if (_frame < 3) setFrame(_frame + 1); } else { @@ -1282,18 +1284,18 @@ bool Scene910::Object13::startAction(CursorType action, Event &event) { } } - if (_field92 != 1) - BF_GLOBALS._v4CECE[_field90 - 1] = (_field90 + 251) % 256; + if (_mode != 1) + BF_GLOBALS._breakerBoxStatusArr[_state - 1] = (_frame + 251) % 256; else - BF_GLOBALS._v4CECE[_field90 - 1] = _field90; + BF_GLOBALS._breakerBoxStatusArr[_state - 1] = _frame; - switch (_field90) { + switch (_state) { case 1: if (BF_GLOBALS._v4CEE2 < 1) { if (_frame == 2) { - if (!BF_GLOBALS.getFlag(81)) { + if (!BF_GLOBALS.getFlag(fGotPointsForClosingDoor)) { T2_GLOBALS._uiElements.addScore(30); - BF_GLOBALS.setFlag(81); + BF_GLOBALS.setFlag(fGotPointsForClosingDoor); } scene->_sceneMode = 0; if (BF_GLOBALS._dayNumber == 5) { @@ -1302,7 +1304,7 @@ bool Scene910::Object13::startAction(CursorType action, Event &event) { // _objectList.draw(); BF_GLOBALS._player.disableControl(); scene->_lyle.setVisage(912); - scene->_object7.remove(); + scene->_shadow.remove(); scene->_action2.remove(); scene->_nico.postInit(); scene->_sceneMode = 9129; @@ -1332,9 +1334,9 @@ bool Scene910::Object13::startAction(CursorType action, Event &event) { // _objectList.draw(); } else { if (BF_GLOBALS._v4CEC8 == 1) { - if (!BF_GLOBALS.getFlag(78)) { + if (!BF_GLOBALS.getFlag(fGotPointsForStartGenerator)) { T2_GLOBALS._uiElements.addScore(30); - BF_GLOBALS.setFlag(78); + BF_GLOBALS.setFlag(fGotPointsForStartGenerator); } BF_GLOBALS._player.disableControl(); BF_GLOBALS._v4CEC8 = 0; @@ -1351,7 +1353,7 @@ bool Scene910::Object13::startAction(CursorType action, Event &event) { return true; case 4: if (_frame == 2) { - if (BF_GLOBALS._v4CECE[4] == 2) { + if (BF_GLOBALS._breakerBoxStatusArr[4] == 2) { scene->_action1.setActionIndex(2); scene->_action1.signal(); } @@ -1362,7 +1364,7 @@ bool Scene910::Object13::startAction(CursorType action, Event &event) { return true; case 5: if (_frame == 2) { - if (BF_GLOBALS._v4CECE[3] == 2) { + if (BF_GLOBALS._breakerBoxStatusArr[3] == 2) { scene->_action1.setActionIndex(2); scene->_action1.signal(); } @@ -1372,11 +1374,11 @@ bool Scene910::Object13::startAction(CursorType action, Event &event) { } return true; case 15: - if ((BF_GLOBALS._v4CECA == 2) && (BF_GLOBALS._v4CECE[17] == 1)) { + if ((BF_GLOBALS._v4CECA == 2) && (BF_GLOBALS._breakerBoxStatusArr[17] == 1)) { if (_frame == 7) - scene->subE83E1(); + scene->closeHiddenDoor(); else - scene->subE82BD(); + scene->openHiddenDoor(); } return true; default: @@ -1397,9 +1399,9 @@ void Scene910::Object13::setupBreaker(int x, int y, int mode, int8 frameNumber) Scene910 *scene = (Scene910 *)BF_GLOBALS._sceneManager._scene; NamedObject::postInit(); - _field92 = mode; - scene->_field2DD8++; - _field90 = scene->_field2DD8; + _mode = mode; + scene->_breakerButtonCtr++; + _state = scene->_breakerButtonCtr; setVisage(910); if (mode == 1) { @@ -1432,18 +1434,18 @@ bool Scene910::Object25::startAction(CursorType action, Event &event) { SceneItem::display2(910, 11); return true; case CURSOR_USE: - _field92 = BF_GLOBALS._v4CECE[_field90 + 11]; + _field92 = BF_GLOBALS._breakerBoxStatusArr[_field90 + 11]; switch (_field92 - 1) { case 0: _field92 = 2; setStrip(7); setFrame(1); if (_field90 == 1) { - scene->_field2DD8 = 14; - scene->_breakerBoxInset._object27.setupBreaker(182, 92, 2, BF_GLOBALS._v4CECE[14]); + scene->_breakerButtonCtr = 14; + scene->_breakerBoxInset._object27.setupBreaker(182, 92, 2, BF_GLOBALS._breakerBoxStatusArr[14]); } else { - scene->_field2DD8 = 15; - scene->_breakerBoxInset._object28.init(178, 108, 0, BF_GLOBALS._v4CECE[15]); + scene->_breakerButtonCtr = 15; + scene->_breakerBoxInset._object28.init(178, 108, 0, BF_GLOBALS._breakerBoxStatusArr[15]); } SceneItem::display2(910, 12); break; @@ -1461,11 +1463,11 @@ bool Scene910::Object25::startAction(CursorType action, Event &event) { setStrip(7); setFrame(1); if (_field90 == 1) { - scene->_field2DD8 = 14; - scene->_breakerBoxInset._object27.setupBreaker(182, 96, 2, BF_GLOBALS._v4CECE[14]); + scene->_breakerButtonCtr = 14; + scene->_breakerBoxInset._object27.setupBreaker(182, 96, 2, BF_GLOBALS._breakerBoxStatusArr[14]); } else { - scene->_field2DD8 = 15; - scene->_breakerBoxInset._object28.init(178, 108, 0, BF_GLOBALS._v4CECE[15]); + scene->_breakerButtonCtr = 15; + scene->_breakerBoxInset._object28.init(178, 108, 0, BF_GLOBALS._breakerBoxStatusArr[15]); } break; case 3: @@ -1475,7 +1477,7 @@ bool Scene910::Object25::startAction(CursorType action, Event &event) { break; } - BF_GLOBALS._v4CECE[_field90 + 11] = _field92; + BF_GLOBALS._breakerBoxStatusArr[_field90 + 11] = _field92; return true; default: return NamedObject::startAction(action, event); @@ -1488,11 +1490,11 @@ void Scene910::Object25::remove() { SceneObject::remove(); } -void Scene910::Object25::subEBBDC(int x, int y, int arg8, int argA) { +void Scene910::Object25::setupHiddenSwitch(int x, int y, int arg8, int argA) { Scene910 *scene = (Scene910 *)BF_GLOBALS._sceneManager._scene; NamedObject::postInit(); - scene->_field2DD8++; + scene->_breakerButtonCtr++; _field90 = arg8; _field92 = argA; setVisage(910); @@ -1504,11 +1506,11 @@ void Scene910::Object25::subEBBDC(int x, int y, int arg8, int argA) { setStrip(7); setFrame(1); if (_field90 == 1) { - scene->_field2DD8 = 14; - scene->_breakerBoxInset._object27.setupBreaker(182, 96, 2, BF_GLOBALS._v4CECE[14]); + scene->_breakerButtonCtr = 14; + scene->_breakerBoxInset._object27.setupBreaker(182, 96, 2, BF_GLOBALS._breakerBoxStatusArr[14]); } else { - scene->_field2DD8 = 15; - scene->_breakerBoxInset._object28.init(178, 108, 0, BF_GLOBALS._v4CECE[15]); + scene->_breakerButtonCtr = 15; + scene->_breakerBoxInset._object28.init(178, 108, 0, BF_GLOBALS._breakerBoxStatusArr[15]); } } @@ -1529,7 +1531,7 @@ bool Scene910::BlackPlug::startAction(CursorType action, Event &event) { SET_EXT_FGCOLOR, 13, LIST_END); return true; case CURSOR_USE: - switch (_frame - _field90 - 2) { + switch (_frame - _state - 2) { case 0: SceneItem::display(910, 15, SET_WIDTH, 312, SET_X, GLOBALS._sceneManager._scene->_sceneBounds.left + 4, @@ -1544,11 +1546,11 @@ bool Scene910::BlackPlug::startAction(CursorType action, Event &event) { BF_INVENTORY.setObjectScene(INV_HALF_BLACK_CORD, 910); } else if (BF_GLOBALS._v4CECA == 2) { BF_GLOBALS._v4CECA = 1; - BF_INVENTORY.setObjectScene(INV_BLACK_CORD, 3 - _field90); + BF_INVENTORY.setObjectScene(INV_BLACK_CORD, 3 - _state); BF_INVENTORY.setObjectScene(INV_HALF_BLACK_CORD, 1); scene->_blackCord.setPosition(Common::Point(540, 100)); } - setFrame(_field90 + 2); + setFrame(_state + 2); break; case 2: if (BF_GLOBALS._v4CECC == 1) { @@ -1557,14 +1559,14 @@ bool Scene910::BlackPlug::startAction(CursorType action, Event &event) { BF_INVENTORY.setObjectScene(INV_HALF_YELLOW_CORD, 910); } else if (BF_GLOBALS._v4CECC == 2) { BF_GLOBALS._v4CECC = 1; - BF_INVENTORY.setObjectScene(INV_YELLOW_CORD, 3 - _field90); + BF_INVENTORY.setObjectScene(INV_YELLOW_CORD, 3 - _state); BF_INVENTORY.setObjectScene(INV_HALF_YELLOW_CORD, 1); scene->_yellowCord.setPosition(Common::Point(540, 100)); } - setFrame(_field90 + 2); + setFrame(_state + 2); break; case 3: - if ((_position.x - 12) - (5 * _field90) < event.mousePos.x) { + if ((_position.x - 12) - (5 * _state) < event.mousePos.x) { if (BF_GLOBALS._v4CECA == 1) { BF_GLOBALS._v4CECA = 0; BF_INVENTORY.setObjectScene(INV_BLACK_CORD, 1); @@ -1572,11 +1574,11 @@ bool Scene910::BlackPlug::startAction(CursorType action, Event &event) { scene->_blackCord.setPosition(Common::Point(540, 100)); } else if (BF_GLOBALS._v4CECA == 2) { BF_GLOBALS._v4CECA = 1; - BF_INVENTORY.setObjectScene(INV_BLACK_CORD, 3 - _field90); + BF_INVENTORY.setObjectScene(INV_BLACK_CORD, 3 - _state); BF_INVENTORY.setObjectScene(INV_HALF_BLACK_CORD, 1); scene->_blackCord.setPosition(Common::Point(540, 100)); } - setFrame(_field90 + 4); + setFrame(_state + 4); } else { if (BF_GLOBALS._v4CECC == 1) { BF_GLOBALS._v4CECC = 0; @@ -1584,25 +1586,25 @@ bool Scene910::BlackPlug::startAction(CursorType action, Event &event) { BF_INVENTORY.setObjectScene(INV_HALF_YELLOW_CORD, 910); } else if (BF_GLOBALS._v4CECC == 2) { BF_GLOBALS._v4CECC = 1; - BF_INVENTORY.setObjectScene(INV_YELLOW_CORD, 3 - _field90); + BF_INVENTORY.setObjectScene(INV_YELLOW_CORD, 3 - _state); BF_INVENTORY.setObjectScene(INV_HALF_YELLOW_CORD, 1); scene->_yellowCord.setPosition(Common::Point(540, 100)); } - setFrame(_field90 + 3); + setFrame(_state + 3); } default: break; } - BF_GLOBALS._v4CECE[_field90 + 15] = _frame; - if (_field90 == 0) { + BF_GLOBALS._breakerBoxStatusArr[_state + 15] = _frame; + if (_state == 0) { if (_frame == 2) - BF_GLOBALS._v4CECE[13] = 2; + BF_GLOBALS._breakerBoxStatusArr[13] = 2; else - BF_GLOBALS._v4CECE[13] = 4; + BF_GLOBALS._breakerBoxStatusArr[13] = 4; } return true; case INV_HALF_YELLOW_CORD: - if (BF_INVENTORY.getObjectScene(INV_YELLOW_CORD) == _field90 + 2) { + if (BF_INVENTORY.getObjectScene(INV_YELLOW_CORD) == _state + 2) { SceneItem::display(910, 85, SET_WIDTH, 312, SET_X, GLOBALS._sceneManager._scene->_sceneBounds.left + 4, SET_Y, GLOBALS._sceneManager._scene->_sceneBounds.top + UI_INTERFACE_Y + 2, @@ -1622,31 +1624,30 @@ bool Scene910::BlackPlug::startAction(CursorType action, Event &event) { case INV_YELLOW_CORD: if (BF_GLOBALS._v4CECC == 0) { BF_GLOBALS._v4CECC = 1; - BF_INVENTORY.setObjectScene(INV_YELLOW_CORD, _field90 + 2); + BF_INVENTORY.setObjectScene(INV_YELLOW_CORD, _state + 2); BF_INVENTORY.setObjectScene(INV_HALF_YELLOW_CORD, 1); } else if (BF_GLOBALS._v4CECC == 1) { BF_GLOBALS._v4CECC = 2; - BF_INVENTORY.setObjectScene(INV_HALF_YELLOW_CORD, _field90 + 2); + BF_INVENTORY.setObjectScene(INV_HALF_YELLOW_CORD, _state + 2); scene->_yellowCord.setStrip(4); scene->_yellowCord.setFrame(2); scene->_yellowCord.setPosition(Common::Point(135, 93)); scene->_yellowCord.fixPriority(50); } - if (_frame - _field90 == 2) - setFrame(_field90 + 4); - else if (_frame - _field90 == 3) - setFrame(_field90 + 5); - BF_GLOBALS._v4CECE[15 + _field90] = _frame; - BF_GLOBALS._v4CECE[_field90 + 15] = _frame; - if (_field90 == 0) { + if (_frame - _state == 2) + setFrame(_state + 4); + else if (_frame - _state == 3) + setFrame(_state + 5); + BF_GLOBALS._breakerBoxStatusArr[_state + 15] = _frame; + if (_state == 0) { if (_frame == 2) - BF_GLOBALS._v4CECE[13] = 2; + BF_GLOBALS._breakerBoxStatusArr[13] = 2; else - BF_GLOBALS._v4CECE[13] = 4; + BF_GLOBALS._breakerBoxStatusArr[13] = 4; } return true; case INV_HALF_BLACK_CORD: - if (BF_INVENTORY.getObjectScene(INV_BLACK_CORD) == _field90 + 2) { + if (BF_INVENTORY.getObjectScene(INV_BLACK_CORD) == _state + 2) { SceneItem::display(910, 85, SET_WIDTH, 312, SET_X, GLOBALS._sceneManager._scene->_sceneBounds.left + 4, SET_Y, GLOBALS._sceneManager._scene->_sceneBounds.top + UI_INTERFACE_Y + 2, @@ -1657,7 +1658,7 @@ bool Scene910::BlackPlug::startAction(CursorType action, Event &event) { //No break on purpose case INV_BLACK_CORD: if (BF_GLOBALS._v4CECA == 0) { - if (_field90 == 1) { + if (_state == 1) { if (!BF_GLOBALS.getFlag(fGotPointsForBlackCord)) { T2_GLOBALS._uiElements.addScore(30); BF_GLOBALS.setFlag(fGotPointsForBlackCord); @@ -1669,10 +1670,10 @@ bool Scene910::BlackPlug::startAction(CursorType action, Event &event) { } } BF_GLOBALS._v4CECA = 1; - BF_INVENTORY.setObjectScene(INV_BLACK_CORD, _field90 + 2); + BF_INVENTORY.setObjectScene(INV_BLACK_CORD, _state + 2); BF_INVENTORY.setObjectScene(INV_HALF_BLACK_CORD, 1); } else if (BF_GLOBALS._v4CECA == 1) { - if (_field90 == 1) { + if (_state == 1) { if (!BF_GLOBALS.getFlag(fGotPointsForBlackCord)) { T2_GLOBALS._uiElements.addScore(30); BF_GLOBALS.setFlag(fGotPointsForBlackCord); @@ -1684,31 +1685,30 @@ bool Scene910::BlackPlug::startAction(CursorType action, Event &event) { } } BF_GLOBALS._v4CECA = 2; - BF_INVENTORY.setObjectScene(INV_HALF_BLACK_CORD, _field90 + 2); + BF_INVENTORY.setObjectScene(INV_HALF_BLACK_CORD, _state + 2); scene->_blackCord.setStrip(4); scene->_blackCord.setFrame(1); scene->_blackCord.setPosition(Common::Point(135, 93)); scene->_blackCord.fixPriority(50); scene->_blackCord.show(); scene->_blackCord._field90 = 1; - if (BF_GLOBALS._v4CECE[17] == 1) { - if (BF_GLOBALS._v4CECE[14] == 2) - scene->subE83E1(); + if (BF_GLOBALS._breakerBoxStatusArr[17] == 1) { + if (BF_GLOBALS._breakerBoxStatusArr[14] == 2) + scene->closeHiddenDoor(); else - scene->subE82BD(); + scene->openHiddenDoor(); } } - if (_frame - _field90 == 2) - setFrame(_field90 + 3); - else if (_frame - _field90 == 4) - setFrame(_field90 + 5); - BF_GLOBALS._v4CECE[15 + _field90] = _frame; - BF_GLOBALS._v4CECE[_field90 + 15] = _frame; - if (_field90 == 0) { + if (_frame - _state == 2) + setFrame(_state + 3); + else if (_frame - _state == 4) + setFrame(_state + 5); + BF_GLOBALS._breakerBoxStatusArr[_state + 15] = _frame; + if (_state == 0) { if (_frame == 2) - BF_GLOBALS._v4CECE[13] = 2; + BF_GLOBALS._breakerBoxStatusArr[13] = 2; else - BF_GLOBALS._v4CECE[13] = 4; + BF_GLOBALS._breakerBoxStatusArr[13] = 4; } return true; default: @@ -1718,10 +1718,10 @@ bool Scene910::BlackPlug::startAction(CursorType action, Event &event) { void Scene910::BlackPlug::init(int x, int y, int arg8, int8 argA) { NamedObject::postInit(); - _field90 = arg8; - _field92 = argA; + _state = arg8; + _mode = argA; setVisage(910); - if (_field90 == 0) + if (_state == 0) setStrip(7); else setStrip(3); @@ -1745,11 +1745,11 @@ void Scene910::GeneratorInset::postInit(SceneObjectList *OwnerList) { _useLineNum = 87; BF_GLOBALS._sceneItems.push_front(this); - scene->_field2DD8 = 16; - _blackPlug.init(142, 86, 1, BF_GLOBALS._v4CECE[16]); + scene->_breakerButtonCtr = 16; + _blackPlug.init(142, 86, 1, BF_GLOBALS._breakerBoxStatusArr[16]); - scene->_field2DD8 = 17; - _powerButton.init(BF_GLOBALS._v4CECE[17]); + scene->_breakerButtonCtr = 17; + _powerButton.init(BF_GLOBALS._breakerBoxStatusArr[17]); } void Scene910::GeneratorInset::remove() { @@ -1770,30 +1770,30 @@ bool Scene910::PowerButton::startAction(CursorType action, Event &event) { if (_frame == 4) { scene->_sound1.play(100); scene->_sound1.holdAt(1); - if (!BF_GLOBALS.getFlag(77)) { + if (!BF_GLOBALS.getFlag(fGotPointsForFuseBoxPlug)) { T2_GLOBALS._uiElements.addScore(30); - BF_GLOBALS.setFlag(77); + BF_GLOBALS.setFlag(fGotPointsForFuseBoxPlug); } setFrame(5); _object32.setFrame(7); if (BF_GLOBALS._v4CECA == 2) { - if (BF_GLOBALS._v4CECE[14] == 2) - scene->subE83E1(); + if (BF_GLOBALS._breakerBoxStatusArr[14] == 2) + scene->closeHiddenDoor(); else - scene->subE82BD(); + scene->openHiddenDoor(); } } else { scene->_sound1.release(); - if (BF_GLOBALS._bookmark == 21) { - if (!BF_GLOBALS.getFlag(82)) { + if (BF_GLOBALS._bookmark == bEndDayThree) { + if (!BF_GLOBALS.getFlag(fGotPointsForLightsOff)) { T2_GLOBALS._uiElements.addScore(30); - BF_GLOBALS.setFlag(82); + BF_GLOBALS.setFlag(fGotPointsForLightsOff); } } setFrame(4); _object32.setFrame(6); } - BF_GLOBALS._v4CECE[17] = (_frame + 252) % 256; + BF_GLOBALS._breakerBoxStatusArr[17] = (_frame + 252) % 256; return true; } else return NamedObject::startAction(action, event); @@ -1855,7 +1855,7 @@ bool Scene910::Item2::startAction(CursorType action, Event &event) { if (action == 59) { BF_GLOBALS._player.disableControl(); scene->_destPos = Common::Point(151, 186); - scene->_field2DDA = 5; + scene->_sceneSubMode = 5; scene->_sceneMode = 9123; if (BF_GLOBALS._player._visage == 1911) scene->setAction(&scene->_sequenceManager1, scene, 9123, &BF_GLOBALS._player, NULL); @@ -1880,7 +1880,7 @@ bool Scene910::Item3::startAction(CursorType action, Event &event) { } bool Scene910::Item9::startAction(CursorType action, Event &event) { - if (BF_GLOBALS._v4CEE0 == 0) + if (BF_GLOBALS._hiddenDoorStatus == 0) return NamedHotspot::startAction(action, event); else return false; @@ -1907,13 +1907,13 @@ bool Scene910::Item15::startAction(CursorType action, Event &event) { bool Scene910::Item16::startAction(CursorType action, Event &event) { Scene910 *scene = (Scene910 *)BF_GLOBALS._sceneManager._scene; - if ((BF_GLOBALS._v4CEE0 == 0) || (BF_GLOBALS._v4CEE2 != 0)) + if ((BF_GLOBALS._hiddenDoorStatus == 0) || (BF_GLOBALS._v4CEE2 != 0)) return false; if (BF_GLOBALS._player._visage == 1911) { BF_GLOBALS._player.disableControl(); scene->_destPos = Common::Point(292, 100); - scene->_field2DDA = 0; + scene->_sceneSubMode = 0; scene->_sceneMode = 9123; scene->setAction(&scene->_sequenceManager1, scene, 9123, &BF_GLOBALS._player, NULL); } else { @@ -1940,8 +1940,8 @@ void Scene910::remove() { void Scene910::synchronize(Serializer &s) { PalettedScene::synchronize(s); - s.syncAsSint16LE(_field2DDA); - s.syncAsSint16LE(_field2DD8); + s.syncAsSint16LE(_sceneSubMode); + s.syncAsSint16LE(_breakerButtonCtr); s.syncAsSint16LE(_field2DE0); s.syncAsSint16LE(_field2DE2); s.syncAsSint16LE(_field2DE4); @@ -1979,7 +1979,7 @@ void Scene910::postInit(SceneObjectList *OwnerList) { _vent.postInit(); _vent.setVisage(910); - if ((BF_GLOBALS._v4CECE[3] == 2) && (BF_GLOBALS._v4CECE[4] == 2)) { + if ((BF_GLOBALS._breakerBoxStatusArr[3] == 2) && (BF_GLOBALS._breakerBoxStatusArr[4] == 2)) { _action1.setActionIndex(4); } else { _vent.animate(ANIM_MODE_2, NULL); @@ -2019,10 +2019,10 @@ void Scene910::postInit(SceneObjectList *OwnerList) { if (BF_GLOBALS._v4CEE2 == 0) _item16.setDetails(Rect(265, 18, 319, 102), 910, -1, -1, -1, 1, NULL); - _breakerBox.setDetails(910, 6, -1, -1, 1, NULL); + _breakerBox.setDetails(910, 6, -1, -1, 1, (SceneItem *)NULL); _item15.setDetails(Rect(0, 0, 320, 170), 910, 0, 1, 2, 1, NULL); - _yellowCord.setDetails(910, 52, 53, -1, 1, NULL); - _blackCord.setDetails(910, 54, 55, -1, 1, NULL); + _yellowCord.setDetails(910, 52, 53, -1, 1, (SceneItem *)NULL); + _blackCord.setDetails(910, 54, 55, -1, 1, (SceneItem *)NULL); _item2.setDetails(3, 910, 22, -1, 24, 1); _item4.setDetails(1, 910, 16, 17, 18, 1); _item8.setDetails(4, 910, 25, 26, 27, 1); @@ -2032,7 +2032,7 @@ void Scene910::postInit(SceneObjectList *OwnerList) { _item9.setDetails(Rect(266, 39, 274, 70), 910, 43, 44, 45, 1, NULL); _item10.setDetails(Rect(276, 27, 288, 83), 910, 46, 47, 48, 1, NULL); _item11.setDetails(Rect(295, 42, 312, 87), 910, 49, 50, 51, 1, NULL); - _fakeWall.setDetails(910, 28, -1, 30, 1, NULL); + _fakeWall.setDetails(910, 28, -1, 30, 1, (SceneItem *)NULL); _item3.setDetails(7, 910, 59, 60, 61, 1); _item5.setDetails(2, 910, 19, 20, 21, 1); _backWall.setDetails(6, 910, 28, 29, 30, 1); @@ -2041,7 +2041,7 @@ void Scene910::postInit(SceneObjectList *OwnerList) { if (BF_GLOBALS._dayNumber == 0) { BF_GLOBALS._dayNumber = 5; BF_GLOBALS._sceneManager._previousScene = 900; - BF_GLOBALS.setFlag(7); + BF_GLOBALS.setFlag(fWithLyle); } if ( (BF_GLOBALS._sceneManager._previousScene == 910) @@ -2055,11 +2055,11 @@ void Scene910::postInit(SceneObjectList *OwnerList) { _field2DE0 = 0; _field2DE2 = 0; _field2DE4 = 0; - BF_GLOBALS.clearFlag(34); + BF_GLOBALS.clearFlag(fCanDrawGun); _lyle._position.x = 0; if ((BF_GLOBALS._dayNumber == 5) && (BF_GLOBALS._sceneManager._previousScene == 900)){ - BF_GLOBALS.setFlag(34); + BF_GLOBALS.setFlag(fCanDrawGun); BF_GLOBALS._v4CEC8 = 0; BF_GLOBALS._player.setVisage(129); @@ -2071,21 +2071,21 @@ void Scene910::postInit(SceneObjectList *OwnerList) { _lyle._field90 = 0; _lyle.setDetails(910, 69, 70, 71, 5, &_item4); - BF_GLOBALS._v4CECE[0] = 3; - BF_GLOBALS._v4CECE[12] = 2; - BF_GLOBALS._v4CECE[13] = 4; - BF_GLOBALS._v4CECE[14] = 3; - BF_GLOBALS._v4CECE[15] = 3; - BF_GLOBALS._v4CECE[16] = 4; - BF_GLOBALS._v4CECE[17] = 1; + BF_GLOBALS._breakerBoxStatusArr[0] = 3; + BF_GLOBALS._breakerBoxStatusArr[12] = 2; + BF_GLOBALS._breakerBoxStatusArr[13] = 4; + BF_GLOBALS._breakerBoxStatusArr[14] = 3; + BF_GLOBALS._breakerBoxStatusArr[15] = 3; + BF_GLOBALS._breakerBoxStatusArr[16] = 4; + BF_GLOBALS._breakerBoxStatusArr[17] = 1; BF_GLOBALS._v4CECA = 2; - BF_GLOBALS._v4CEE0 = 1; + BF_GLOBALS._hiddenDoorStatus = 1; _yellowCord.setPosition(Common::Point(291, -30)); BF_GLOBALS._v4CECC = 0; } if (BF_GLOBALS._sceneManager._previousScene == 920) { - BF_GLOBALS.setFlag(34); + BF_GLOBALS.setFlag(fCanDrawGun); BF_GLOBALS._player.setPosition(Common::Point(276, 119)); BF_GLOBALS._player.setStrip(6); if (BF_GLOBALS._v4CECC == 0) @@ -2116,7 +2116,7 @@ void Scene910::postInit(SceneObjectList *OwnerList) { } BF_GLOBALS._player.enableControl(); } else if (BF_GLOBALS._sceneManager._previousScene == 935) { - BF_GLOBALS.setFlag(34); + BF_GLOBALS.setFlag(fCanDrawGun); BF_GLOBALS._v4CEC8 = 0; _lyle.postInit(); _lyle.setVisage(916); @@ -2125,11 +2125,11 @@ void Scene910::postInit(SceneObjectList *OwnerList) { _lyle.setFrame(3); _lyle._field90 = 1; _lyle.setDetails(910, 69, 70 ,71 , 5, &_item4); - - BF_GLOBALS._walkRegions.proc1(15); - BF_GLOBALS._walkRegions.proc1(16); - BF_GLOBALS._walkRegions.proc1(14); - BF_GLOBALS._walkRegions.proc1(10); + + BF_GLOBALS._walkRegions.disableRegion(15); + BF_GLOBALS._walkRegions.disableRegion(16); + BF_GLOBALS._walkRegions.disableRegion(14); + BF_GLOBALS._walkRegions.disableRegion(10); if (BF_GLOBALS.getFlag(gunDrawn)) { BF_GLOBALS._player.setVisage(1911); BF_GLOBALS._player.animate(ANIM_MODE_NONE, 0, NULL); @@ -2153,13 +2153,13 @@ void Scene910::postInit(SceneObjectList *OwnerList) { else add2Faders((const byte *)&unk_50E90, 2, 911, this); } else { - BF_GLOBALS.clearFlag(8); + BF_GLOBALS.clearFlag(gunDrawn); BF_GLOBALS._player.disableControl(); } if ((BF_GLOBALS._dayNumber == 5) && (BF_GLOBALS._v4CEE2 == 0)){ - _object7.postInit(); - _object7.setAction(&_action2); + _shadow.postInit(); + _shadow.setAction(&_action2); } if (BF_INVENTORY.getObjectScene(INV_YELLOW_CORD) == 1) @@ -2197,22 +2197,22 @@ void Scene910::postInit(SceneObjectList *OwnerList) { if (BF_GLOBALS._v4CEC8 == 0) _object5.hide(); - if (BF_GLOBALS._v4CEE0 == 0) { + if (BF_GLOBALS._hiddenDoorStatus == 0) { _object5.setFrame(1); _fakeWall.setPosition(Common::Point(292, 107)); if (BF_GLOBALS._v4CECC != 2) _yellowCord.setPosition(Common::Point(288, 57)); - BF_GLOBALS._walkRegions.proc1(10); + BF_GLOBALS._walkRegions.disableRegion(10); } else { _object5.setFrame(6); _fakeWall.setPosition(Common::Point(295, 20)); _fakeWall.hide(); if (BF_GLOBALS._v4CECC != 2) _yellowCord.setPosition(Common::Point(291, -30)); - BF_GLOBALS._walkRegions.proc1(10); + BF_GLOBALS._walkRegions.enableRegion(10); } - if (BF_GLOBALS._v4CECE[17] != 0) { + if (BF_GLOBALS._breakerBoxStatusArr[17] != 0) { _sound1.play(100); _sound1.holdAt(1); } @@ -2315,8 +2315,8 @@ void Scene910::signal() { _sceneMode = 10; addFader((const byte *)&black, 2, this); BF_GLOBALS._v4CEE2 = 1; - BF_GLOBALS._walkRegions.proc1(16); - BF_GLOBALS._walkRegions.proc1(14); + BF_GLOBALS._walkRegions.disableRegion(16); + BF_GLOBALS._walkRegions.disableRegion(14); BF_GLOBALS._sceneItems.remove(&_item16); break; case 17: @@ -2375,11 +2375,11 @@ void Scene910::signal() { break; case 9100: if (BF_GLOBALS._dayNumber == 5) - BF_GLOBALS._walkRegions.proc1(1); + BF_GLOBALS._walkRegions.disableRegion(1); BF_GLOBALS._player.enableControl(); break; case 9101: - if ((BF_GLOBALS._v4CEE0 == 0) && (BF_GLOBALS._v4CEC8 != 0) && (BF_GLOBALS._v4CECE[17] == 0) && (BF_INVENTORY.getObjectScene(INV_YELLOW_CORD) == 910) && (BF_INVENTORY.getObjectScene(INV_BLACK_CORD) == 910)) + if ((BF_GLOBALS._hiddenDoorStatus == 0) && (BF_GLOBALS._v4CEC8 != 0) && (BF_GLOBALS._breakerBoxStatusArr[17] == 0) && (BF_INVENTORY.getObjectScene(INV_YELLOW_CORD) == 910) && (BF_INVENTORY.getObjectScene(INV_BLACK_CORD) == 910)) BF_GLOBALS.clearFlag(fGotPointsForSearchingDA); else BF_GLOBALS.setFlag(fGotPointsForSearchingDA); @@ -2387,7 +2387,7 @@ void Scene910::signal() { BF_GLOBALS._sceneManager.changeScene(900); break; case 9102: - if ((BF_GLOBALS._v4CECE[13] < 4) && (_breakerBox._frame == 1)) + if ((BF_GLOBALS._breakerBoxStatusArr[13] < 4) && (_breakerBox._frame == 1)) _breakerBox.animate(ANIM_MODE_5, NULL); BF_GLOBALS._player.enableControl(); @@ -2457,7 +2457,7 @@ void Scene910::signal() { _nico.postInit(); _nico.setDetails(910, 63, 64, 65, 5, &_item4); BF_GLOBALS._v4CEE6 = 0; - _object7.postInit(); + _shadow.postInit(); _action2.remove(); _sceneMode = 9116; setAction(&_sequenceManager1, this, 9116, &_nico, NULL); @@ -2490,7 +2490,7 @@ void Scene910::signal() { BF_GLOBALS._player.enableControl(); break; case 9120: - BF_GLOBALS._walkRegions.proc1(7); + BF_GLOBALS._walkRegions.disableRegion(7); BF_GLOBALS._player.enableControl(); break; case 9121: @@ -2505,7 +2505,7 @@ void Scene910::signal() { break; case 9123: BF_GLOBALS.clearFlag(gunDrawn); - switch (_field2DDA - 1) { + switch (_sceneSubMode - 1) { case 0: _sceneMode = 9102; setAction(&_sequenceManager1, this, 9102, &BF_GLOBALS._player, NULL); @@ -2600,7 +2600,7 @@ void Scene910::signal() { BF_GLOBALS.setFlag(fBackupAt340); BF_GLOBALS._v4CEE2 = 4; _stuart.postInit(); - _nico.setDetails(910, 72, 73, 74, 3, NULL); + _nico.setDetails(910, 72, 73, 74, 3, (SceneItem *)NULL); _stuart.setDetails(910, 66, 67, 68, 5, &_nico); BF_GLOBALS._v4CEE8 = 0; _sceneMode = 9121; @@ -2622,9 +2622,9 @@ void Scene910::signal() { break; case 9130: _lyle.setAction(&_sequenceManager2, NULL, 9133, &_lyle, NULL); - BF_GLOBALS._v4CECE[14] = 3; - subE82BD(); - BF_GLOBALS._walkRegions.proc1(15); + BF_GLOBALS._breakerBoxStatusArr[14] = 3; + openHiddenDoor(); + BF_GLOBALS._walkRegions.disableRegion(15); break; case 9132: BF_GLOBALS._player.enableControl(); @@ -2644,7 +2644,7 @@ void Scene910::signal() { BF_GLOBALS.setFlag(fGotPointsForCuffingNico); } _lyle.setAction(&_sequenceManager2, NULL, 9131, &_lyle, NULL); - BF_GLOBALS._walkRegions.proc2(16); + BF_GLOBALS._walkRegions.enableRegion(16); if (BF_GLOBALS._v4CEE2 == 4) BF_INVENTORY.setObjectScene(INV_YELLOW_CORD, 0); else @@ -2655,7 +2655,7 @@ void Scene910::signal() { setAction(&_sequenceManager1, this, 9139, &_forbes, &BF_GLOBALS._player, NULL); break; case 9139: - BF_GLOBALS._walkRegions.proc1(4); + BF_GLOBALS._walkRegions.disableRegion(4); _field2DE0 = 1; BF_GLOBALS._player.enableControl(); break; @@ -2730,7 +2730,7 @@ void Scene910::process(Event &event) { if (_item17._bounds.contains(event.mousePos)) { GfxSurface surface = _cursorVisage.getFrame(EXITFRAME_SW); BF_GLOBALS._events.setCursor(surface); - } else if ((BF_GLOBALS._v4CEE0 == 0) || (BF_GLOBALS._v4CEE2 != 0)) { + } else if ((BF_GLOBALS._hiddenDoorStatus == 0) || (BF_GLOBALS._v4CEE2 != 0)) { CursorType cursorId = BF_GLOBALS._events.getCursor(); BF_GLOBALS._events.setCursor(cursorId); } else if (!_item16._bounds.contains(event.mousePos)) { @@ -2781,7 +2781,7 @@ void Scene910::process(Event &event) { if (BF_GLOBALS._player._visage == 1911) { BF_GLOBALS._player.disableControl(); _destPos = event.mousePos; - _field2DDA = 0; + _sceneSubMode = 0; _sceneMode = 9123; setAction(&_sequenceManager1, this, 9123, &BF_GLOBALS._player, NULL); } else { @@ -2792,7 +2792,7 @@ void Scene910::process(Event &event) { } else if (BF_GLOBALS._player._visage == 1911) { BF_GLOBALS._player.disableControl(); _destPos = event.mousePos; - _field2DDA = 0; + _sceneSubMode = 0; _sceneMode = 9123; setAction(&_sequenceManager1, this, 9123, &BF_GLOBALS._player, NULL); } @@ -2813,17 +2813,17 @@ void Scene910::dispatch() { setAction(&_sequenceManager1, this, 9101, &BF_GLOBALS._player, NULL); } else { _sceneMode = 9146; - if (BF_GLOBALS._v4CEE0 == 0) + if (BF_GLOBALS._hiddenDoorStatus == 0) setAction(&_sequenceManager1, this, 9146, &BF_GLOBALS._player, NULL); else setAction(&_sequenceManager1, this, 9145, &BF_GLOBALS._player, NULL); } } - 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._hiddenDoorStatus != 0) && (_sceneMode != 9143)) { BF_GLOBALS._player.disableControl(); if (BF_GLOBALS.getFlag(gunDrawn)) { - _field2DDA = 3; + _sceneSubMode = 3; _sceneMode = 9123; setAction(&_sequenceManager1, this, 9123, &BF_GLOBALS._player, NULL); } else if (BF_GLOBALS._v4CEE2 == 0) { @@ -2840,9 +2840,9 @@ void Scene910::dispatch() { } } - if ((BF_GLOBALS._dayNumber == 5) && (BF_GLOBALS._player._position.x > 250) && (_sceneMode != 9135) && (_sceneMode != 11) && (BF_GLOBALS._v4CEE0 != 0) && (BF_GLOBALS._v4CEE2 == 0)) { + if ((BF_GLOBALS._dayNumber == 5) && (BF_GLOBALS._player._position.x > 250) && (_sceneMode != 9135) && (_sceneMode != 11) && (BF_GLOBALS._hiddenDoorStatus != 0) && (BF_GLOBALS._v4CEE2 == 0)) { BF_GLOBALS._player.disableControl(); - _object7.remove(); + _shadow.remove(); _nico.remove(); _nico.postInit(); _nico.setDetails(910, 63, 64, 65, 5, &_item4); @@ -2853,7 +2853,7 @@ void Scene910::dispatch() { } void Scene910::checkGun() { - if ((BF_GLOBALS._dayNumber == 5) && (BF_GLOBALS._v4CEE2 == 0) && (BF_GLOBALS._v4CEE0 != 0)) + if ((BF_GLOBALS._dayNumber == 5) && (BF_GLOBALS._v4CEE2 == 0) && (BF_GLOBALS._hiddenDoorStatus != 0)) SceneItem::display(910, 70, SET_WIDTH, 312, SET_X, GLOBALS._sceneManager._scene->_sceneBounds.left + 4, SET_Y, GLOBALS._sceneManager._scene->_sceneBounds.top + UI_INTERFACE_Y + 2, @@ -2863,17 +2863,17 @@ void Scene910::checkGun() { SceneExt::checkGun(); } -void Scene910::subE82BD() { - if (BF_GLOBALS._v4CEE0 != 0) +void Scene910::openHiddenDoor() { + if (BF_GLOBALS._hiddenDoorStatus != 0) return; if (! BF_GLOBALS.getFlag(fGotPointsForLightsOn)) { T2_GLOBALS._uiElements.addScore(50); BF_GLOBALS.setFlag(fGotPointsForLightsOn); } - BF_GLOBALS._v4CEE0 = 1; + BF_GLOBALS._hiddenDoorStatus = 1; BF_GLOBALS._player.disableControl(); - BF_GLOBALS._walkRegions.proc2(10); + BF_GLOBALS._walkRegions.enableRegion(10); _sceneMode = 9114; _sound2.play(42); if ((BF_GLOBALS._v4CECC == 0) && (BF_INVENTORY.getObjectScene(INV_YELLOW_CORD) == 910)) @@ -2882,19 +2882,19 @@ void Scene910::subE82BD() { setAction(&_sequenceManager1, this, 9114, &_fakeWall, &_object5, NULL); } -void Scene910::subE83E1() { - if (BF_GLOBALS._v4CEE0 != 0) { +void Scene910::closeHiddenDoor() { + if (BF_GLOBALS._hiddenDoorStatus != 0) { _fakeWall.show(); - if ((BF_GLOBALS._bookmark == 21) && (!BF_GLOBALS.getFlag(80))) { + if ((BF_GLOBALS._bookmark == bEndDayThree) && (!BF_GLOBALS.getFlag(fGotPointsForOpeningDoor))) { T2_GLOBALS._uiElements.addScore(30); - BF_GLOBALS.setFlag(80); + BF_GLOBALS.setFlag(fGotPointsForOpeningDoor); } - BF_GLOBALS._v4CEE0 = 0; - BF_GLOBALS._walkRegions.proc1(10); + BF_GLOBALS._hiddenDoorStatus = 0; + BF_GLOBALS._walkRegions.disableRegion(10); BF_GLOBALS._player.disableControl(); _sceneMode = 9115; _sound2.play(42); - if ((BF_GLOBALS._v4CECC == 0) && (BF_INVENTORY.getObjectScene(57) == 910)) + if ((BF_GLOBALS._v4CECC == 0) && (BF_INVENTORY.getObjectScene(INV_YELLOW_CORD) == 910)) setAction(&_sequenceManager1, this, 9128, &_fakeWall, &_yellowCord, &_object5, NULL); else setAction(&_sequenceManager1, this, 9115, &_fakeWall, &_object5, NULL); @@ -2910,7 +2910,7 @@ void Scene910::subE83E1() { BF_GLOBALS._player.disableControl(); _sceneMode = 9120; BF_GLOBALS._player.setAction(&_sequenceManager2, NULL, 9120, &BF_GLOBALS._player, &_lyle, NULL); - BF_GLOBALS._walkRegions.proc2(1); + BF_GLOBALS._walkRegions.enableRegion(1); } } @@ -2941,7 +2941,7 @@ bool Scene920::Item1::startAction(CursorType action, Event &event) { BF_GLOBALS._player.disableControl(); if (BF_GLOBALS.getFlag(fCrateOpen)) { if (BF_GLOBALS._player._visage == 921) { - if ((BF_INVENTORY.getObjectScene(15) != 1) && (BF_GLOBALS.getFlag(fSawGuns))) { + if ((BF_INVENTORY.getObjectScene(INV_AUTO_RIFLE) != 1) && (BF_GLOBALS.getFlag(fSawGuns))) { scene->_sceneMode = 9207; scene->setAction(&scene->_sequenceManager1, scene, 9207, &BF_GLOBALS._player, NULL); } else { @@ -3055,7 +3055,7 @@ void Scene920::signal() { case 9207: BF_GLOBALS._player.enableControl(); T2_GLOBALS._uiElements.addScore(30); - BF_INVENTORY.setObjectScene(15, 1); + BF_INVENTORY.setObjectScene(INV_AUTO_RIFLE, 1); BF_GLOBALS._bookmark = bEndDayThree; break; default: @@ -3107,7 +3107,7 @@ bool Scene930::Object1::startAction(CursorType action, Event &event) { Scene930 *scene = (Scene930 *)BF_GLOBALS._sceneManager._scene; bool result; - if ((action == CURSOR_USE) && (!BF_GLOBALS.getFlag(93))) { + if ((action == CURSOR_USE) && (!BF_GLOBALS.getFlag(fGotPointsForFBI))) { scene->setAction(&scene->_action2); result = true; } else @@ -3117,6 +3117,7 @@ bool Scene930::Object1::startAction(CursorType action, Event &event) { } bool Scene930::Object2::startAction(CursorType action, Event &event) { +// Small box Inset Scene930 *scene = (Scene930 *)BF_GLOBALS._sceneManager._scene; if (action != CURSOR_USE) @@ -3124,8 +3125,8 @@ bool Scene930::Object2::startAction(CursorType action, Event &event) { NamedObject::startAction(action, event); T2_GLOBALS._uiElements.addScore(30); - BF_INVENTORY.setObjectScene(54, 1); - BF_GLOBALS.setFlag(93); + BF_INVENTORY.setObjectScene(INV_9MM_BULLETS, 1); + BF_GLOBALS.setFlag(fGotPointsForFBI); remove(); scene->_box.remove(); return true; @@ -3138,13 +3139,13 @@ bool Scene930::Object3::startAction(CursorType action, Event &event) { if (action != CURSOR_USE) return NamedObject::startAction(action, event); - if (scene->_v141C == 0) + if (!scene->_bootInsetDisplayed) scene->setAction(&scene->_action1); return true; } bool Scene930::Object4::startAction(CursorType action, Event &event) { -// Boot window +// Boot inset Scene930 *scene = (Scene930 *)BF_GLOBALS._sceneManager._scene; switch (action) { @@ -3167,7 +3168,7 @@ bool Scene930::Object4::startAction(CursorType action, Event &event) { if (BF_GLOBALS._bookmark >= bFlashBackTwo) { _lookLineNum = 71; NamedObject::startAction(action, event); - scene->subF3D6F(); + scene->ShowSoleInset(); remove(); } else NamedObject::startAction(action, event); @@ -3179,9 +3180,10 @@ bool Scene930::Object4::startAction(CursorType action, Event &event) { } void Scene930::Object4::remove() { +// Boots inset Scene930 *scene = (Scene930 *)BF_GLOBALS._sceneManager._scene; - if (scene->_v141C && !BF_GLOBALS._sceneObjects->contains(&scene->_object5)) { + if (scene->_bootInsetDisplayed && !BF_GLOBALS._sceneObjects->contains(&scene->_soleInset)) { scene->_boots.setAction(&scene->_action3); } @@ -3189,22 +3191,23 @@ void Scene930::Object4::remove() { } bool Scene930::Object5::startAction(CursorType action, Event &event) { +// Boots sole inset Scene930 *scene = (Scene930 *)BF_GLOBALS._sceneManager._scene; switch (action) { case CURSOR_WALK: return true; case CURSOR_USE: - if (BF_INVENTORY.getObjectScene(55) == 1) + if (BF_INVENTORY.getObjectScene(INV_SCHEDULE) == 1) return NamedObject::startAction(action, event); - if (scene->_v141A == 0) { + if (!scene->_soleOpened) { animate(ANIM_MODE_4, getFrameCount() - 1, 1, NULL); - scene->_v141A = 1; + scene->_soleOpened = 1; _lookLineNum = 76; _useLineNum = 78; } else { T2_GLOBALS._uiElements.addScore(50); - BF_INVENTORY.setObjectScene(55, 1); + BF_INVENTORY.setObjectScene(INV_SCHEDULE, 1); setFrame2(getFrameCount()); _lookLineNum = 92; _useLineNum = -1; @@ -3244,7 +3247,7 @@ void Scene930::Action1::signal() { case 0: setDelay(10); BF_GLOBALS._player.disableControl(); - scene->_v141C = 1; + scene->_bootInsetDisplayed = 1; break; case 1: { Common::Point pt(50, 142); @@ -3268,10 +3271,10 @@ void Scene930::Action1::signal() { BF_GLOBALS._player.animate(ANIM_MODE_5, this); break; case 5: - scene->showBootWindow(); - if (!BF_GLOBALS.getFlag(72)) { + scene->showBootInset(); + if (!BF_GLOBALS.getFlag(fGotPointsForCPU)) { T2_GLOBALS._uiElements.addScore(30); - BF_GLOBALS.setFlag(72); + BF_GLOBALS.setFlag(fGotPointsForCPU); } SceneItem::display(0, 312); BF_GLOBALS._player.enableControl(); @@ -3304,7 +3307,7 @@ void Scene930::Action2::signal() { SET_Y, GLOBALS._sceneManager._scene->_sceneBounds.top + UI_INTERFACE_Y + 2, SET_FONT, 4, SET_BG_COLOR, 1, SET_FG_COLOR, 19, SET_EXT_BGCOLOR, 9, SET_EXT_FGCOLOR, 13, LIST_END); - scene->subF3C07(); + scene->ShowBoxInset(); BF_GLOBALS._player.enableControl(); remove(); break; @@ -3330,7 +3333,7 @@ void Scene930::Action3::signal() { BF_GLOBALS._player.setVisage(368); BF_GLOBALS._player.setStrip(6); BF_GLOBALS._player.setFrame(1); - scene->_v141C = 0; + scene->_bootInsetDisplayed = 0; remove(); BF_GLOBALS._player.animate(ANIM_MODE_1, NULL); BF_GLOBALS._player.enableControl(); @@ -3348,21 +3351,21 @@ void Scene930::postInit(SceneObjectList *OwnerList) { if (BF_GLOBALS._dayNumber == 0) BF_GLOBALS._dayNumber = 1; setZoomPercents(83, 75, 140, 100); - _v141A = 0; - _v141C = 0; - if (BF_INVENTORY.getObjectScene(54) != 1) { + _soleOpened = 0; + _bootInsetDisplayed = 0; + if (BF_INVENTORY.getObjectScene(INV_9MM_BULLETS) != 1) { _box.postInit(); _box.setVisage(930); _box.setStrip(1); _box.setPosition(Common::Point(223, 21)); - _box.setDetails(930, 66, 67, 68, 1, NULL); + _box.setDetails(930, 66, 67, 68, 1, (SceneItem *)NULL); } _boots.postInit(); _boots.setVisage(930); _boots.setStrip(2); _boots.setPosition(Common::Point(9, 161)); _boots.fixPriority(120); - _boots.setDetails(930, 62, 63, 64, 1, NULL); + _boots.setDetails(930, 62, 63, 64, 1, (SceneItem *)NULL); BF_GLOBALS._player.postInit(); BF_GLOBALS._player.setVisage(368); @@ -3372,6 +3375,7 @@ void Scene930::postInit(SceneObjectList *OwnerList) { BF_GLOBALS._player.fixPriority(80); BF_GLOBALS._player.changeZoom(-1); BF_GLOBALS._player.enableControl(); + BF_GLOBALS._events.setCursor(CURSOR_WALK); _item1.setDetails( 1, 930, 0, 1, 2, 1); _item2.setDetails( 2, 930, 4, 5, 6, 1); @@ -3400,7 +3404,8 @@ void Scene930::postInit(SceneObjectList *OwnerList) { _sceneMode = 0; setAction(&_sequenceManager1, this, 9300, &BF_GLOBALS._player, NULL); } else { - _v141C = 1; + // After flashback + _bootInsetDisplayed = 1; BF_GLOBALS._player.animate(ANIM_MODE_NONE); BF_GLOBALS._player.setPosition(Common::Point(50, 142)); BF_GLOBALS._player.setVisage(931); @@ -3410,7 +3415,7 @@ void Scene930::postInit(SceneObjectList *OwnerList) { BF_GLOBALS._player.enableControl(); BF_GLOBALS._player.changeZoom(110); _boots.setFrame(2); - showBootWindow(); + showBootInset(); } } @@ -3448,49 +3453,49 @@ void Scene930::dispatch() { SceneExt::dispatch(); } -void Scene930::showBootWindow() { - _bootsWindow.postInit(); - _bootsWindow.setVisage(930); - _bootsWindow.setStrip(3); - _bootsWindow.setFrame2(1); - _bootsWindow.fixPriority(260); - _bootsWindow.setPosition(Common::Point(147, 128)); - _bootsWindow.setDetails(930, 69, 70, 93); +void Scene930::showBootInset() { + _bootsInset.postInit(); + _bootsInset.setVisage(930); + _bootsInset.setStrip(3); + _bootsInset.setFrame2(1); + _bootsInset.fixPriority(260); + _bootsInset.setPosition(Common::Point(147, 128)); + _bootsInset.setDetails(930, 69, 70, 93); } -void Scene930::subF3C07() { - _object2.postInit(); - _object2.setVisage(930); - _object2.setStrip(1); - _object2.setFrame2(2); - _object2.fixPriority(260); - _object2.setPosition(Common::Point(147, 128)); - _object2.setDetails(930, 73, 74, 75); +void Scene930::ShowBoxInset() { + _boxInset.postInit(); + _boxInset.setVisage(930); + _boxInset.setStrip(1); + _boxInset.setFrame2(2); + _boxInset.fixPriority(260); + _boxInset.setPosition(Common::Point(147, 128)); + _boxInset.setDetails(930, 73, 74, 75); } -void Scene930::subF3D6F() { - _object5.postInit(); - _object5.setVisage(930); - _object5.setStrip(3); +void Scene930::ShowSoleInset() { + _soleInset.postInit(); + _soleInset.setVisage(930); + _soleInset.setStrip(3); if (BF_INVENTORY.getObjectScene(INV_SCHEDULE) == 1) { - _object5.setFrame(_object5.getFrameCount()); - _object5.setDetails(930, 92, 77, -1); - } else if (_v141A == 0) { - _object5.setFrame(2); - _object5.setDetails(930, 93, 77, -1); + _soleInset.setFrame(_soleInset.getFrameCount()); + _soleInset.setDetails(930, 92, 77, -1); + } else if (!_soleOpened) { + _soleInset.setFrame(2); + _soleInset.setDetails(930, 93, 77, -1); } else { - _object5.setFrame(_object5.getFrameCount()); - _object5.setDetails(930, 76, 77, 78); + _soleInset.setFrame(_soleInset.getFrameCount()); + _soleInset.setDetails(930, 76, 77, 78); } - _object5.fixPriority(260); - _object5.setPosition(Common::Point(147, 128)); + _soleInset.fixPriority(260); + _soleInset.setPosition(Common::Point(147, 128)); } void Scene930::synchronize(Serializer &s) { SceneExt::synchronize(s); - s.syncAsSint16LE(_v141A); - s.syncAsSint16LE(_v141C); + s.syncAsSint16LE(_soleOpened); + s.syncAsSint16LE(_bootInsetDisplayed); } /*-------------------------------------------------------------------------- diff --git a/engines/tsage/blue_force/blueforce_scenes9.h b/engines/tsage/blue_force/blueforce_scenes9.h index b0761713b1..74708b94de 100644 --- a/engines/tsage/blue_force/blueforce_scenes9.h +++ b/engines/tsage/blue_force/blueforce_scenes9.h @@ -41,11 +41,11 @@ using namespace TsAGE; class Scene900: public PalettedScene { /* Items */ - class Item1: public NamedHotspot { + class Exterior: public NamedHotspot { public: virtual bool startAction(CursorType action, Event &event); }; - class Item4: public NamedHotspot { + class WestExit: public NamedHotspot { public: virtual bool startAction(CursorType action, Event &event); }; @@ -94,7 +94,7 @@ public: SpeakerGameText _gameTextSpeaker; SpeakerJakeJacket _jakeJacketSpeaker; SpeakerLyleHat _lyleHatSpeaker; - Item1 _item1; + Exterior _exterior; Gate _gate; Door _door; Dog _dog; @@ -104,13 +104,13 @@ public: NamedObject _object5; Lyle _lyle; Body _body; - Item4 _item4; + WestExit _westExit; ASoundExt _sound1; Action1 _action1; Action2 _action2; Action3 _action3; Action4 _action4; - int _field1974; + int _lyleDialogCtr; int _field1976; Scene900(); @@ -170,7 +170,7 @@ class Scene910: public PalettedScene { class Object13: public NamedObject { protected: - int _field90, _field92; + int _state, _mode; public: void setupBreaker(int x, int y, int mode, int8 frameNumber); virtual void synchronize(Serializer &s); @@ -180,7 +180,7 @@ class Scene910: public PalettedScene { class BlackPlug: public Object13 { public: - void init(int x, int y, int arg8, int8 argA); + void init(int x, int y, int arg8, int8 mode); virtual bool startAction(CursorType action, Event &event); virtual void remove(); }; @@ -188,7 +188,7 @@ class Scene910: public PalettedScene { class Object25: public NamedObject { int _field90, _field92; public: - void subEBBDC(int x, int y, int arg8, int argA); + void setupHiddenSwitch(int x, int y, int arg8, int argA); virtual void synchronize(Serializer &s); virtual bool startAction(CursorType action, Event &event); virtual void remove(); @@ -253,7 +253,7 @@ class Scene910: public PalettedScene { virtual bool startAction(CursorType action, Event &event); }; - int _field2DDA, _field2DD8, _field2DE0, _field2DE2, _field2DE4; + int _sceneSubMode, _breakerButtonCtr, _field2DE0, _field2DE2, _field2DE4; Common::Point _destPos; public: SequenceManager _sequenceManager1, _sequenceManager2; @@ -270,7 +270,7 @@ public: Nico _nico; Stuart _stuart; Forbes _forbes; - NamedObject _object5, _vent, _object7; + NamedObject _object5, _vent, _shadow; PowerCord _blackCord, _yellowCord; BreakerBox _breakerBox; FakeWall _fakeWall; @@ -295,8 +295,8 @@ public: virtual void process(Event &event); virtual void dispatch(); virtual void checkGun(); - void subE82BD(); - void subE83E1(); + void openHiddenDoor(); + void closeHiddenDoor(); }; class Scene920: public SceneExt { @@ -378,16 +378,16 @@ class Scene930: public PalettedScene { virtual void signal(); }; - void showBootWindow(); - void subF3C07(); - void subF3D6F(); + void showBootInset(); + void ShowBoxInset(); + void ShowSoleInset(); public: SequenceManager _sequenceManager1; Object1 _box; - Object2 _object2; + Object2 _boxInset; Object3 _boots; - Object4 _bootsWindow; - Object5 _object5; + Object4 _bootsInset; + Object5 _soleInset; Item1 _item1; NamedHotspot _item2; @@ -417,8 +417,8 @@ public: SpeakerGameText gameTextSpeaker; - int _v141A; - int _v141C; + bool _soleOpened; + int _bootInsetDisplayed; virtual void postInit(SceneObjectList *OwnerList = NULL); virtual void signal(); |