aboutsummaryrefslogtreecommitdiff
path: root/engines/bladerunner/bladerunner.cpp
diff options
context:
space:
mode:
authorThomas Fach-Pedersen2017-08-24 22:34:40 +0200
committerThomas Fach-Pedersen2017-08-24 22:34:50 +0200
commitd67e06c7b2902c2437cbb5392d1bf23dc9671116 (patch)
tree8fda042d8e1594df1da6c7ee68043c171e6a28ee /engines/bladerunner/bladerunner.cpp
parentbd10131242210262eb23c5a62c223039cabf905c (diff)
downloadscummvm-rg350-d67e06c7b2902c2437cbb5392d1bf23dc9671116.tar.gz
scummvm-rg350-d67e06c7b2902c2437cbb5392d1bf23dc9671116.tar.bz2
scummvm-rg350-d67e06c7b2902c2437cbb5392d1bf23dc9671116.zip
BLADERUNNER: Add support for elevators
Diffstat (limited to 'engines/bladerunner/bladerunner.cpp')
-rw-r--r--engines/bladerunner/bladerunner.cpp20
1 files changed, 18 insertions, 2 deletions
diff --git a/engines/bladerunner/bladerunner.cpp b/engines/bladerunner/bladerunner.cpp
index 3622130b45..a3ac82df0e 100644
--- a/engines/bladerunner/bladerunner.cpp
+++ b/engines/bladerunner/bladerunner.cpp
@@ -31,6 +31,7 @@
#include "bladerunner/combat.h"
#include "bladerunner/crimes_database.h"
#include "bladerunner/dialogue_menu.h"
+#include "bladerunner/elevator.h"
#include "bladerunner/font.h"
#include "bladerunner/gameflags.h"
#include "bladerunner/gameinfo.h"
@@ -292,7 +293,7 @@ bool BladeRunnerEngine::startup(bool hasSavegames) {
// TODO: Spinner Interface
_spinner = new Spinner(this);
- // TODO: Elevators
+ _elevator = new Elevator(this);
// TODO: Scores
@@ -598,7 +599,13 @@ void BladeRunnerEngine::gameTick() {
// TODO: Esper
// TODO: VK
- // TODO: Elevators
+
+ if (_elevator->isOpen()) {
+ _elevator->tick();
+ _ambientSounds->tick();
+ return;
+ }
+
// TODO: Scores
_adq->tick();
@@ -845,6 +852,15 @@ void BladeRunnerEngine::handleMouseAction(int x, int y, bool buttonLeft, bool bu
return;
}
+ if (_elevator->isOpen()) {
+ if (buttonDown) {
+ _elevator->handleMouseDown(x, y);
+ } else {
+ _elevator->handleMouseUp(x, y);
+ }
+ return;
+ }
+
if (_dialogueMenu->waitingForInput()) {
if (buttonLeft && !buttonDown) {
_dialogueMenu->mouseUp();