aboutsummaryrefslogtreecommitdiff
path: root/engines/tsage/blue_force
diff options
context:
space:
mode:
authorWillem Jan Palenstijn2013-04-18 23:35:23 +0200
committerWillem Jan Palenstijn2013-05-08 20:40:58 +0200
commit9c2341678ef4984bf92b3878295250faf980b066 (patch)
tree2fb4805e05e16b9924e80c9947e6bad723b28c4b /engines/tsage/blue_force
parent8172d679df5148a4a32f46074b20cb6caf91844f (diff)
parenta5f4ff36ffc386d48f2da49387a9655ce9295a4d (diff)
downloadscummvm-rg350-9c2341678ef4984bf92b3878295250faf980b066.tar.gz
scummvm-rg350-9c2341678ef4984bf92b3878295250faf980b066.tar.bz2
scummvm-rg350-9c2341678ef4984bf92b3878295250faf980b066.zip
Merge branch 'master'
Diffstat (limited to 'engines/tsage/blue_force')
-rw-r--r--engines/tsage/blue_force/blueforce_dialogs.cpp96
-rw-r--r--engines/tsage/blue_force/blueforce_dialogs.h14
-rw-r--r--engines/tsage/blue_force/blueforce_logic.cpp142
-rw-r--r--engines/tsage/blue_force/blueforce_logic.h15
-rw-r--r--engines/tsage/blue_force/blueforce_scenes0.cpp274
-rw-r--r--engines/tsage/blue_force/blueforce_scenes0.h11
-rw-r--r--engines/tsage/blue_force/blueforce_scenes1.cpp403
-rw-r--r--engines/tsage/blue_force/blueforce_scenes1.h50
-rw-r--r--engines/tsage/blue_force/blueforce_scenes2.cpp114
-rw-r--r--engines/tsage/blue_force/blueforce_scenes3.cpp404
-rw-r--r--engines/tsage/blue_force/blueforce_scenes3.h23
-rw-r--r--engines/tsage/blue_force/blueforce_scenes4.cpp216
-rw-r--r--engines/tsage/blue_force/blueforce_scenes4.h6
-rw-r--r--engines/tsage/blue_force/blueforce_scenes5.cpp151
-rw-r--r--engines/tsage/blue_force/blueforce_scenes5.h3
-rw-r--r--engines/tsage/blue_force/blueforce_scenes6.cpp62
-rw-r--r--engines/tsage/blue_force/blueforce_scenes6.h2
-rw-r--r--engines/tsage/blue_force/blueforce_scenes7.cpp54
-rw-r--r--engines/tsage/blue_force/blueforce_scenes7.h5
-rw-r--r--engines/tsage/blue_force/blueforce_scenes8.cpp140
-rw-r--r--engines/tsage/blue_force/blueforce_scenes9.cpp667
-rw-r--r--engines/tsage/blue_force/blueforce_scenes9.h40
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();