diff options
author | Thomas Fach-Pedersen | 2015-05-01 09:43:04 +0200 |
---|---|---|
committer | Eugene Sandulenko | 2016-09-29 22:33:38 +0200 |
commit | 0fa2191b9532c353ab40a82ee3c29e822dc09840 (patch) | |
tree | 355b46c661084d83610f1331cbe81cd71e13280d /engines/bladerunner/bladerunner.cpp | |
parent | da33169b75021d19f35867aca2b9322c1aec0005 (diff) | |
download | scummvm-rg350-0fa2191b9532c353ab40a82ee3c29e822dc09840.tar.gz scummvm-rg350-0fa2191b9532c353ab40a82ee3c29e822dc09840.tar.bz2 scummvm-rg350-0fa2191b9532c353ab40a82ee3c29e822dc09840.zip |
BLADERUNNER: Implement loading and drawing of mouse cursors.
Diffstat (limited to 'engines/bladerunner/bladerunner.cpp')
-rw-r--r-- | engines/bladerunner/bladerunner.cpp | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/engines/bladerunner/bladerunner.cpp b/engines/bladerunner/bladerunner.cpp index 13ccae7fed..aa2850a1c9 100644 --- a/engines/bladerunner/bladerunner.cpp +++ b/engines/bladerunner/bladerunner.cpp @@ -28,19 +28,22 @@ #include "bladerunner/audio_speech.h" #include "bladerunner/chapters.h" #include "bladerunner/clues.h" -#include "bladerunner/gameinfo.h" #include "bladerunner/gameflags.h" +#include "bladerunner/gameinfo.h" #include "bladerunner/image.h" +#include "bladerunner/mouse.h" #include "bladerunner/outtake.h" #include "bladerunner/scene.h" #include "bladerunner/script/init.h" #include "bladerunner/script/script.h" #include "bladerunner/settings.h" +#include "bladerunner/shape.h" #include "bladerunner/slice_animations.h" #include "bladerunner/slice_renderer.h" #include "bladerunner/text_resource.h" #include "bladerunner/vqa_decoder.h" +#include "common/array.h" #include "common/error.h" #include "common/events.h" #include "common/system.h" @@ -66,6 +69,7 @@ BladeRunnerEngine::BladeRunnerEngine(OSystem *syst) _gameInfo = nullptr; _gameFlags = new GameFlags(); _gameVars = nullptr; + _mouse = new Mouse(this); _scene = new Scene(this); _script = new Script(this); _settings = new Settings(this); @@ -168,6 +172,13 @@ bool BladeRunnerEngine::startup() { if (!r) return false; + for (int i = 0; i != 43; ++i) { + Shape *shape = new Shape(this); + shape->readFromContainer("SHAPES.SHP", i); + _shapes.push_back(shape); + } + _mouse->setCursor(0); + r = _sliceAnimations->open("INDEX.DAT"); if (!r) return false; @@ -299,6 +310,10 @@ void BladeRunnerEngine::gameTick() { // TODO: Draw item pickup (understood, drawing works in Replicant) // TODO: Draw dialogue menu // TODO: Draw mouse (understood) + + Common::Point p = _eventMan->getMousePos(); + _mouse->draw(_surface2, p.x, p.y); + // TODO: Process AUD (audio in Replicant) // TODO: Footstep sound |