[Scummvm-cvs-logs] scummvm master -> d25533a57b3aa72b96e342f00afcd46941192c1b
dreammaster
dreammaster at scummvm.org
Tue Sep 27 13:00:06 CEST 2011
This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
03d5d451b5 TSAGE: Fixed operation of FocusObject class
d25533a57b TSAGE: Implemented Blue Force scene 415
Commit: 03d5d451b566c31ebe0e2468742193046835fa84
https://github.com/scummvm/scummvm/commit/03d5d451b566c31ebe0e2468742193046835fa84
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2011-09-27T03:52:24-07:00
Commit Message:
TSAGE: Fixed operation of FocusObject class
Changed paths:
engines/tsage/blue_force/blueforce_logic.cpp
engines/tsage/blue_force/blueforce_logic.h
engines/tsage/blue_force/blueforce_scenes1.cpp
engines/tsage/blue_force/blueforce_scenes3.cpp
engines/tsage/blue_force/blueforce_scenes8.cpp
engines/tsage/blue_force/blueforce_scenes9.cpp
engines/tsage/blue_force/blueforce_ui.cpp
diff --git a/engines/tsage/blue_force/blueforce_logic.cpp b/engines/tsage/blue_force/blueforce_logic.cpp
index 5162e10..a13e3b1 100644
--- a/engines/tsage/blue_force/blueforce_logic.cpp
+++ b/engines/tsage/blue_force/blueforce_logic.cpp
@@ -129,6 +129,8 @@ Scene *BlueForceGame::createScene(int sceneNumber) {
// Traffic Stop Gang Members
return new Scene410();
case 415:
+ // Searching Truck
+ return new Scene415();
case 440:
case 450:
error("Scene group 4 not implemented");
@@ -560,7 +562,7 @@ void FocusObject::postInit(SceneObjectList *OwnerList) {
_v92 = 1;
SceneExt *scene = (SceneExt *)BF_GLOBALS._sceneManager._scene;
- scene->_eventHandler = this;
+ scene->_focusObject = this;
BF_GLOBALS._sceneItems.push_front(this);
}
@@ -574,8 +576,8 @@ void FocusObject::remove() {
BF_GLOBALS._sceneItems.remove(this);
SceneExt *scene = (SceneExt *)BF_GLOBALS._sceneManager._scene;
- if (scene->_eventHandler == this)
- scene->_eventHandler = NULL;
+ if (scene->_focusObject == this)
+ scene->_focusObject = NULL;
BF_GLOBALS._events.setCursor(BF_GLOBALS._events.getCursor());
NamedObject::remove();
@@ -584,20 +586,27 @@ void FocusObject::remove() {
void FocusObject::process(Event &event) {
if (BF_GLOBALS._player._enabled) {
if (_bounds.contains(event.mousePos)) {
+ // Reset the cursor back to normal
BF_GLOBALS._events.setCursor(BF_GLOBALS._events.getCursor());
+
if ((event.eventType == EVENT_BUTTON_DOWN) && (BF_GLOBALS._events.getCursor() == CURSOR_WALK) &&
(event.btnState == 3)) {
BF_GLOBALS._events.setCursor(CURSOR_USE);
event.handled = true;
}
} else if (event.mousePos.y < 168) {
+ // Change the cursor to an 'Exit' image
BF_GLOBALS._events.setCursor(_img);
if (event.eventType == EVENT_BUTTON_DOWN) {
+ // Remove the object from display
event.handled = true;
remove();
}
}
}
+
+ if (_action)
+ _action->process(event);
}
/*--------------------------------------------------------------------------*/
@@ -610,7 +619,7 @@ SceneExt::SceneExt(): Scene() {
_savedPlayerEnabled = false;
_savedUiEnabled = false;
_savedCanWalk = false;
- _eventHandler = NULL;
+ _focusObject = NULL;
_cursorVisage.setVisage(1, 8);
}
@@ -830,6 +839,10 @@ void SceneHandlerExt::postInit(SceneObjectList *OwnerList) {
}
void SceneHandlerExt::process(Event &event) {
+ SceneExt *scene = (SceneExt *)BF_GLOBALS._sceneManager._scene;
+ if (scene && scene->_focusObject)
+ scene->_focusObject->process(event);
+
if (BF_GLOBALS._uiElements._active) {
BF_GLOBALS._uiElements.process(event);
if (event.handled)
diff --git a/engines/tsage/blue_force/blueforce_logic.h b/engines/tsage/blue_force/blueforce_logic.h
index 129b8ea..0184c65 100644
--- a/engines/tsage/blue_force/blueforce_logic.h
+++ b/engines/tsage/blue_force/blueforce_logic.h
@@ -181,7 +181,7 @@ public:
GfxSurface _img;
FocusObject();
- virtual void postInit(SceneObjectList *OwnerList);
+ virtual void postInit(SceneObjectList *OwnerList = NULL);
virtual void synchronize(Serializer &s);
virtual void remove();
virtual void process(Event &event);
@@ -202,7 +202,7 @@ public:
bool _savedCanWalk;
int _field37A;
- EventHandler *_eventHandler;
+ FocusObject *_focusObject;
Visage _cursorVisage;
Rect _v51C34;
diff --git a/engines/tsage/blue_force/blueforce_scenes1.cpp b/engines/tsage/blue_force/blueforce_scenes1.cpp
index fb111e3..2e3a504 100644
--- a/engines/tsage/blue_force/blueforce_scenes1.cpp
+++ b/engines/tsage/blue_force/blueforce_scenes1.cpp
@@ -675,7 +675,7 @@ void Scene190::signal() {
void Scene190::process(Event &event) {
SceneExt::process(event);
- if (BF_GLOBALS._player._enabled && !_eventHandler && (event.mousePos.y < (BF_INTERFACE_Y - 1))) {
+ if (BF_GLOBALS._player._enabled && !_focusObject && (event.mousePos.y < (BF_INTERFACE_Y - 1))) {
// Check if the cursor is on an exit
if (_exit.contains(event.mousePos)) {
GfxSurface surface = _cursorVisage.getFrame(3);
diff --git a/engines/tsage/blue_force/blueforce_scenes3.cpp b/engines/tsage/blue_force/blueforce_scenes3.cpp
index fd2bc17..6edd6d1 100644
--- a/engines/tsage/blue_force/blueforce_scenes3.cpp
+++ b/engines/tsage/blue_force/blueforce_scenes3.cpp
@@ -523,7 +523,7 @@ void Scene300::signal() {
void Scene300::process(Event &event) {
SceneExt::process(event);
- if (BF_GLOBALS._player._enabled && !_eventHandler && (event.mousePos.y < (BF_INTERFACE_Y - 1))) {
+ if (BF_GLOBALS._player._enabled && !_focusObject && (event.mousePos.y < (BF_INTERFACE_Y - 1))) {
// Check if the cursor is on an exit
if (_item14.contains(event.mousePos)) {
GfxSurface surface = _cursorVisage.getFrame(EXITFRAME_NE);
@@ -1293,7 +1293,7 @@ void Scene315::signal() {
void Scene315::process(Event &event) {
SceneExt::process(event);
- if (BF_GLOBALS._player._enabled && !_eventHandler && (event.mousePos.y < (BF_INTERFACE_Y - 1))) {
+ if (BF_GLOBALS._player._enabled && !_focusObject && (event.mousePos.y < (BF_INTERFACE_Y - 1))) {
// Check if the cursor is on an exit
if (_swExit.contains(event.mousePos)) {
GfxSurface surface = _cursorVisage.getFrame(EXITFRAME_SW);
@@ -2137,7 +2137,7 @@ void Scene340::process(Event &event) {
if (!event.handled) {
SceneExt::process(event);
- if (BF_GLOBALS._player._enabled && !_eventHandler && (event.mousePos.y < (BF_INTERFACE_Y - 1))) {
+ if (BF_GLOBALS._player._enabled && !_focusObject && (event.mousePos.y < (BF_INTERFACE_Y - 1))) {
// Check if the cursor is on an exit
if (_westExit.contains(event.mousePos)) {
GfxSurface surface = _cursorVisage.getFrame(EXITFRAME_W);
@@ -2434,7 +2434,7 @@ void Scene342::process(Event &event) {
if (!event.handled) {
SceneExt::process(event);
- if (BF_GLOBALS._player._enabled && !_eventHandler && (event.mousePos.y < (BF_INTERFACE_Y - 1))) {
+ if (BF_GLOBALS._player._enabled && !_focusObject && (event.mousePos.y < (BF_INTERFACE_Y - 1))) {
// Check if the cursor is on an exit
if (_westExit.contains(event.mousePos)) {
GfxSurface surface = _cursorVisage.getFrame(EXITFRAME_W);
@@ -2792,7 +2792,7 @@ void Scene350::process(Event &event) {
if (!event.handled) {
SceneExt::process(event);
- if (BF_GLOBALS._player._enabled && !_eventHandler && (event.mousePos.y < (BF_INTERFACE_Y - 1))) {
+ if (BF_GLOBALS._player._enabled && !_focusObject && (event.mousePos.y < (BF_INTERFACE_Y - 1))) {
// Check if the cursor is on an exit
if (_swExit.contains(event.mousePos)) {
GfxSurface surface = _cursorVisage.getFrame(EXITFRAME_SW);
@@ -3989,7 +3989,7 @@ void Scene355::signal() {
void Scene355::process(Event &event) {
if (BF_GLOBALS._dayNumber == 5) {
// Handling for day 5
- if (BF_GLOBALS._player._enabled && !_eventHandler && (event.mousePos.y < (BF_INTERFACE_Y - 1))) {
+ if (BF_GLOBALS._player._enabled && !_focusObject && (event.mousePos.y < (BF_INTERFACE_Y - 1))) {
// Check if the cursor is on an exit
if (_item12.contains(event.mousePos)) {
GfxSurface surface = _cursorVisage.getFrame(EXITFRAME_NW);
@@ -4047,7 +4047,7 @@ void Scene355::process(Event &event) {
}
} else {
// All other days
- if (BF_GLOBALS._player._enabled && !_eventHandler && (event.mousePos.y < (BF_INTERFACE_Y - 1))) {
+ if (BF_GLOBALS._player._enabled && !_focusObject && (event.mousePos.y < (BF_INTERFACE_Y - 1))) {
// Check if the cursor is on an exit
if (_item2.contains(event.mousePos)) {
GfxSurface surface = _cursorVisage.getFrame(!_modeFlag ? EXITFRAME_SW : EXITFRAME_NE);
@@ -5009,7 +5009,7 @@ void Scene370::signal() {
void Scene370::process(Event &event) {
SceneExt::process(event);
- if (BF_GLOBALS._player._enabled && !_eventHandler && (event.mousePos.y < (BF_INTERFACE_Y - 1))) {
+ if (BF_GLOBALS._player._enabled && !_focusObject && (event.mousePos.y < (BF_INTERFACE_Y - 1))) {
// Check if the cursor is on an exit
if (_exit.contains(event.mousePos)) {
GfxSurface surface = _cursorVisage.getFrame(EXITFRAME_E);
@@ -5471,7 +5471,7 @@ void Scene385::signal() {
void Scene385::process(Event &event) {
SceneExt::process(event);
- if (BF_GLOBALS._player._enabled && !_eventHandler && (event.mousePos.y < (BF_INTERFACE_Y - 1))) {
+ if (BF_GLOBALS._player._enabled && !_focusObject && (event.mousePos.y < (BF_INTERFACE_Y - 1))) {
// Check if the cursor is on an exit
if (_exit.contains(event.mousePos)) {
GfxSurface surface = _cursorVisage.getFrame(EXITFRAME_SW);
diff --git a/engines/tsage/blue_force/blueforce_scenes8.cpp b/engines/tsage/blue_force/blueforce_scenes8.cpp
index 3b3ff20..49de0be 100644
--- a/engines/tsage/blue_force/blueforce_scenes8.cpp
+++ b/engines/tsage/blue_force/blueforce_scenes8.cpp
@@ -1365,7 +1365,7 @@ void Scene840::signal() {
void Scene840::process(Event &event) {
SceneExt::process(event);
- if (BF_GLOBALS._player._enabled && !_eventHandler && (event.mousePos.y < (BF_INTERFACE_Y - 1))) {
+ if (BF_GLOBALS._player._enabled && !_focusObject && (event.mousePos.y < (BF_INTERFACE_Y - 1))) {
if (_exit.contains(event.mousePos)) {
GfxSurface surface = _cursorVisage.getFrame(EXITFRAME_E);
BF_GLOBALS._events.setCursor(surface);
diff --git a/engines/tsage/blue_force/blueforce_scenes9.cpp b/engines/tsage/blue_force/blueforce_scenes9.cpp
index 2bffe5e..b4799a6 100644
--- a/engines/tsage/blue_force/blueforce_scenes9.cpp
+++ b/engines/tsage/blue_force/blueforce_scenes9.cpp
@@ -687,7 +687,7 @@ void Scene900::signal() {
void Scene900::process(Event &event) {
SceneExt::process(event);
- if (BF_GLOBALS._player._enabled && !_eventHandler && (event.mousePos.y < (BF_INTERFACE_Y - 1))) {
+ if (BF_GLOBALS._player._enabled && !_focusObject && (event.mousePos.y < (BF_INTERFACE_Y - 1))) {
if (_item4.contains(event.mousePos)) {
GfxSurface surface = _cursorVisage.getFrame(EXITFRAME_N);
BF_GLOBALS._events.setCursor(surface);
@@ -870,7 +870,7 @@ void Scene920::signal() {
}
void Scene920::process(Event &event) {
SceneExt::process(event);
- if (BF_GLOBALS._player._enabled && !_eventHandler && (event.mousePos.y < (BF_INTERFACE_Y - 1))) {
+ if (BF_GLOBALS._player._enabled && !_focusObject && (event.mousePos.y < (BF_INTERFACE_Y - 1))) {
if (_exitN.contains(event.mousePos)) {
GfxSurface surface = _cursorVisage.getFrame(EXITFRAME_N);
BF_GLOBALS._events.setCursor(surface);
diff --git a/engines/tsage/blue_force/blueforce_ui.cpp b/engines/tsage/blue_force/blueforce_ui.cpp
index af15c7e..a4edffb 100644
--- a/engines/tsage/blue_force/blueforce_ui.cpp
+++ b/engines/tsage/blue_force/blueforce_ui.cpp
@@ -335,7 +335,7 @@ void UIElements::process(Event &event) {
_cursorChanged = false;
SceneExt *scene = (SceneExt *)BF_GLOBALS._sceneManager._scene;
- if (scene->_eventHandler) {
+ if (scene->_focusObject) {
GfxSurface surface = _cursorVisage.getFrame(7);
BF_GLOBALS._events.setCursor(surface);
}
Commit: d25533a57b3aa72b96e342f00afcd46941192c1b
https://github.com/scummvm/scummvm/commit/d25533a57b3aa72b96e342f00afcd46941192c1b
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2011-09-27T03:52:38-07:00
Commit Message:
TSAGE: Implemented Blue Force scene 415
Changed paths:
engines/tsage/blue_force/blueforce_scenes4.cpp
engines/tsage/blue_force/blueforce_scenes4.h
diff --git a/engines/tsage/blue_force/blueforce_scenes4.cpp b/engines/tsage/blue_force/blueforce_scenes4.cpp
index 2210e3e..6a0be64 100644
--- a/engines/tsage/blue_force/blueforce_scenes4.cpp
+++ b/engines/tsage/blue_force/blueforce_scenes4.cpp
@@ -890,6 +890,246 @@ void Scene410::dispatch() {
}
}
+/*--------------------------------------------------------------------------
+ * Scene 415 - Searching Truck
+ *
+ *--------------------------------------------------------------------------*/
+
+bool Scene415::GunInset::startAction(CursorType action, Event &event) {
+ Scene415 *scene = (Scene415 *)BF_GLOBALS._sceneManager._scene;
+
+ if (action == CURSOR_USE) {
+ if (BF_GLOBALS.getFlag(fGotAutoWeapon)) {
+ FocusObject::startAction(action, event);
+ } else {
+ remove();
+ scene->_gunAndWig.remove();
+ }
+ return true;
+ } else {
+ return FocusObject::startAction(action, event);
+ }
+}
+
+bool Scene415::GunAndWig::startAction(CursorType action, Event &event) {
+ Scene415 *scene = (Scene415 *)BF_GLOBALS._sceneManager._scene;
+
+ switch (action) {
+ case CURSOR_USE:
+ NamedObject::startAction(action, event);
+ BF_INVENTORY.setObjectScene(INV_AUTO_RIFLE, 1);
+ BF_INVENTORY.setObjectScene(INV_WIG, 1);
+ BF_GLOBALS.setFlag(fGotAutoWeapon);
+ BF_GLOBALS._uiElements.addScore(30);
+
+ remove();
+ return true;
+ case INV_FOREST_RAP:
+ if (scene->_fieldE14)
+ break;
+
+ BF_GLOBALS._player.disableControl();
+ scene->_sceneMode = 0;
+ scene->_stripManager.start(4126, scene);
+ BF_GLOBALS._uiElements.addScore(50);
+ scene->_fieldE14 = true;
+ return true;
+ default:
+ break;
+ }
+
+ return NamedObject::startAction(action, event);
+}
+
+bool Scene415::BulletsInset::startAction(CursorType action, Event &event) {
+ Scene415 *scene = (Scene415 *)BF_GLOBALS._sceneManager._scene;
+
+ if (action == CURSOR_USE) {
+ if (BF_GLOBALS.getFlag(fGotAutoWeapon)) {
+ FocusObject::startAction(action, event);
+ } else {
+ remove();
+ scene->_theBullets.remove();
+ }
+ return true;
+ } else {
+ return FocusObject::startAction(action, event);
+ }
+}
+
+bool Scene415::DashDrawer::startAction(CursorType action, Event &event) {
+ Scene415 *scene = (Scene415 *)BF_GLOBALS._sceneManager._scene;
+
+ if ((action == CURSOR_LOOK) || (action == CURSOR_USE)) {
+ scene->showBullets();
+ return true;
+ } else {
+ return NamedObject::startAction(action, event);
+ }
+}
+
+bool Scene415::TheBullets::startAction(CursorType action, Event &event) {
+ Scene415 *scene = (Scene415 *)BF_GLOBALS._sceneManager._scene;
+
+ switch (action) {
+ case CURSOR_USE:
+ NamedObject::startAction(action, event);
+ BF_INVENTORY.setObjectScene(INV_22_BULLET, 1);
+ BF_GLOBALS.setFlag(fGotBulletsFromDash);
+ BF_GLOBALS._uiElements.addScore(30);
+
+ remove();
+ scene->_dashDrawer.remove();
+ return true;
+ case INV_FOREST_RAP:
+ if (scene->_fieldE16) {
+ SceneItem::display2(415, 35);
+ return true;
+ } else {
+ BF_GLOBALS._player.disableControl();
+ scene->_sceneMode = 0;
+ scene->_stripManager.start(4122, scene);
+ BF_GLOBALS._uiElements.addScore(50);
+ scene->_fieldE16 = true;
+ }
+ break;
+ default:
+ break;
+ }
+
+ return NamedObject::startAction(action, event);
+}
+
+/*--------------------------------------------------------------------------*/
+
+bool Scene415::Lever::startAction(CursorType action, Event &event) {
+ Scene415 *scene = (Scene415 *)BF_GLOBALS._sceneManager._scene;
+
+ switch (action) {
+ case CURSOR_USE:
+ if (BF_GLOBALS.getFlag(fGotAutoWeapon)) {
+ SceneItem::display2(415, 20);
+ } else {
+ BF_GLOBALS._player.disableControl();
+ scene->_sceneMode = 2;
+ scene->setAction(&scene->_sequenceManager, scene, 4150, &scene->_object6, NULL);
+ }
+ return true;
+ default:
+ return NamedHotspot::startAction(action, event);
+ }
+}
+
+/*--------------------------------------------------------------------------*/
+
+Scene415::Scene415(): SceneExt() {
+ _fieldE14 = _fieldE16 = false;
+}
+
+void Scene415::synchronize(Serializer &s) {
+ SceneExt::synchronize(s);
+ s.syncAsSint16LE(_fieldE14);
+ s.syncAsSint16LE(_fieldE16);
+}
+
+void Scene415::postInit(SceneObjectList *OwnerList) {
+ SceneExt::postInit();
+ loadScene(415);
+
+ _stripManager.addSpeaker(&_jakeRadioSpeaker);
+
+ _dashDrawer.postInit();
+ _dashDrawer.setVisage(411);
+ _dashDrawer.setStrip(3);
+ _dashDrawer.setPosition(Common::Point(151, 97));
+ _dashDrawer.setDetails(415, 22, -1, -1, 1, NULL);
+
+ _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);
+ _lever.setDetails(19, 415, 23, 24, -1, 1);
+ _seat.setDetails(18, 415, 3, 4, 2, 1);
+ _dashboard.setDetails(20, 415, 11, 12, 19, 1);
+ _steeringWheel.setDetails(15, 415, 5, 6, 7, 1);
+ _horn.setDetails(31, 415, 8, 9, 10, 1);
+ _item1.setDetails(Rect(0, 0, SCREEN_WIDTH, BF_INTERFACE_Y), 415, 0, 1, 2, 1, NULL);
+
+ BF_GLOBALS._player.enableControl();
+ BF_GLOBALS._player._canWalk = false;
+ BF_GLOBALS._events.setCursor(CURSOR_WALK);
+
+ signal();
+}
+
+void Scene415::signal() {
+ switch (_sceneMode) {
+ case 1:
+ BF_GLOBALS._sceneManager.changeScene(410);
+ break;
+ case 2:
+ showGunAndWig();
+ _sceneMode = 0;
+ signal();
+ break;
+ case 0:
+ default:
+ BF_GLOBALS._player.enableControl();
+ BF_GLOBALS._player._canWalk = false;
+ break;
+ }
+}
+
+void Scene415::dispatch() {
+ SceneExt::dispatch();
+ if (BF_GLOBALS.getFlag(fGotAutoWeapon) && BF_GLOBALS.getFlag(fGotBulletsFromDash)) {
+ _sceneMode = 1;
+ signal();
+ }
+}
+
+void Scene415::showBullets() {
+ _bulletsInset.postInit();
+ _bulletsInset.setVisage(411);
+ _bulletsInset.setStrip(1);
+ _bulletsInset.setPosition(Common::Point(158, 100));
+ _bulletsInset.setDetails(415, -1, -1, -1);
+
+ _theBullets.postInit();
+ _theBullets.setVisage(411);
+ _theBullets.setStrip(1);
+ _theBullets.setFrame(2);
+ _theBullets.setPosition(Common::Point(184, 86));
+ _theBullets.fixPriority(105);
+ _theBullets.setDetails(415, 16, 17, 18, 1, NULL);
+ BF_GLOBALS._sceneItems.remove(&_theBullets);
+ BF_GLOBALS._sceneItems.push_front(&_theBullets);
+}
+
+void Scene415::showGunAndWig() {
+ _gunInset.postInit();
+ _gunInset.setVisage(411);
+ _gunInset.setStrip(2);
+ _gunInset.setPosition(Common::Point(158, 100));
+ _gunInset.setDetails(415, -1, -1, -1);
+
+ _gunAndWig.postInit();
+ _gunAndWig.setVisage(411);
+ _gunAndWig.setStrip(2);
+ _gunAndWig.setFrame(2);
+ _gunAndWig.setPosition(Common::Point(159, 88));
+ _gunAndWig.fixPriority(105);
+ _gunAndWig.setDetails(415, 13, 14, 15, 1, NULL);
+
+ BF_GLOBALS._sceneItems.remove(&_gunAndWig);
+ BF_GLOBALS._sceneItems.push_front(&_gunAndWig);
+}
+
} // End of namespace BlueForce
} // End of namespace TsAGE
diff --git a/engines/tsage/blue_force/blueforce_scenes4.h b/engines/tsage/blue_force/blueforce_scenes4.h
index a15c23f..6129cd5 100644
--- a/engines/tsage/blue_force/blueforce_scenes4.h
+++ b/engines/tsage/blue_force/blueforce_scenes4.h
@@ -128,6 +128,58 @@ public:
virtual void dispatch();
};
+class Scene415: public SceneExt {
+ /* Objects */
+ class GunInset: public FocusObject {
+ public:
+ virtual bool startAction(CursorType action, Event &event);
+ };
+ class GunAndWig: public NamedObject {
+ public:
+ virtual bool startAction(CursorType action, Event &event);
+ };
+ class BulletsInset: public FocusObject {
+ public:
+ virtual bool startAction(CursorType action, Event &event);
+ };
+ class DashDrawer: public NamedObject {
+ public:
+ virtual bool startAction(CursorType action, Event &event);
+ };
+ class TheBullets: public NamedObject {
+ public:
+ virtual bool startAction(CursorType action, Event &event);
+ };
+
+ /* Items */
+ class Lever: public NamedHotspot {
+ public:
+ virtual bool startAction(CursorType action, Event &event);
+ };
+private:
+ void showBullets();
+ void showGunAndWig();
+public:
+ SequenceManager _sequenceManager;
+ GunInset _gunInset;
+ GunAndWig _gunAndWig;
+ BulletsInset _bulletsInset;
+ DashDrawer _dashDrawer;
+ TheBullets _theBullets;
+ NamedObject _object6;
+ NamedHotspot _item1, _steeringWheel, _horn, _dashboard;
+ NamedHotspot _seat, _windowLever, _item7, _seatBelt;
+ Lever _lever;
+ SpeakerJakeRadio _jakeRadioSpeaker;
+ bool _fieldE14, _fieldE16;
+
+ Scene415();
+ virtual void postInit(SceneObjectList *OwnerList = NULL);
+ virtual void synchronize(Serializer &s);
+ virtual void signal();
+ virtual void dispatch();
+};
+
} // End of namespace BlueForce
} // End of namespace TsAGE
More information about the Scummvm-git-logs
mailing list