aboutsummaryrefslogtreecommitdiff
path: root/engines/tsage/blue_force/blueforce_scenes3.cpp
diff options
context:
space:
mode:
authorPaul Gilbert2011-09-25 11:59:11 +1000
committerPaul Gilbert2011-09-25 12:21:48 +1000
commitb062e991d6b02b60ce6f7801dcbd704913b3f178 (patch)
treeeddb15e5d34b4a10652caf9e55be49002f8abcf7 /engines/tsage/blue_force/blueforce_scenes3.cpp
parent329d151f0ceae68f235875031572e60606b3798c (diff)
downloadscummvm-rg350-b062e991d6b02b60ce6f7801dcbd704913b3f178.tar.gz
scummvm-rg350-b062e991d6b02b60ce6f7801dcbd704913b3f178.tar.bz2
scummvm-rg350-b062e991d6b02b60ce6f7801dcbd704913b3f178.zip
TSAGE: Bugfixes for Blue Force scene 360
Diffstat (limited to 'engines/tsage/blue_force/blueforce_scenes3.cpp')
-rw-r--r--engines/tsage/blue_force/blueforce_scenes3.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/engines/tsage/blue_force/blueforce_scenes3.cpp b/engines/tsage/blue_force/blueforce_scenes3.cpp
index 83e5969eb3..c928a73443 100644
--- a/engines/tsage/blue_force/blueforce_scenes3.cpp
+++ b/engines/tsage/blue_force/blueforce_scenes3.cpp
@@ -4338,6 +4338,7 @@ void Scene360::postInit(SceneObjectList *OwnerList) {
_window.postInit();
_window.setVisage(760);
+ _window.setStrip(4);
_window.setPosition(Common::Point(176, 43));
_window.fixPriority(10);
_window._numFrames = 2;
@@ -4493,7 +4494,9 @@ void Scene360::process(Event &event) {
if ((event.eventType == EVENT_BUTTON_DOWN) && (BF_GLOBALS._events.getCursor() == INV_COLT45) &&
BF_GLOBALS._player.contains(event.mousePos) && !BF_GLOBALS.getFlag(greenTaken)) {
+ // Player clicked gun on themselves
if (BF_GLOBALS.getFlag(gunDrawn)) {
+ // Handle holstering gun
if (BF_GLOBALS._player._position.x <= 160)
SceneItem::display2(360, 18);
else {
@@ -4509,8 +4512,23 @@ void Scene360::process(Event &event) {
_object6.setVisage(1363);
}
+ } else {
+ // Handle drawing gun
+ if (BF_GLOBALS.getFlag(fBackupIn350))
+ SceneItem::display2(360, 19);
+
+ BF_GLOBALS._player.disableControl();
+ BF_GLOBALS._player.addMover(NULL);
+ BF_GLOBALS._player.setVisage(1361);
+ BF_GLOBALS._player.setFrame(1);
+ BF_GLOBALS._player.animate(ANIM_MODE_5, this);
+ BF_GLOBALS.setFlag(gunDrawn);
+ _sceneMode = 9998;
+ _object6.setVisage(363);
}
+
+ event.handled = true;
}
}