diff options
author | johndoe123 | 2012-10-16 11:15:13 +0000 |
---|---|---|
committer | Willem Jan Palenstijn | 2013-05-08 20:47:31 +0200 |
commit | f5c7070ace26b95a52303ceb51893d2032ad8241 (patch) | |
tree | 0148635d6a26d3ffd84b6c731943b87ff4f3876d /engines | |
parent | 682d15fce443223b306366ef9b1ad71f94b6cfed (diff) | |
download | scummvm-rg350-f5c7070ace26b95a52303ceb51893d2032ad8241.tar.gz scummvm-rg350-f5c7070ace26b95a52303ceb51893d2032ad8241.tar.bz2 scummvm-rg350-f5c7070ace26b95a52303ceb51893d2032ad8241.zip |
NEVERHOOD: Add mouse cursor hiding/showing
Diffstat (limited to 'engines')
-rw-r--r-- | engines/neverhood/mouse.cpp | 9 | ||||
-rw-r--r-- | engines/neverhood/mouse.h | 1 |
2 files changed, 9 insertions, 1 deletions
diff --git a/engines/neverhood/mouse.cpp b/engines/neverhood/mouse.cpp index a1c4a9a5a8..bce66467de 100644 --- a/engines/neverhood/mouse.cpp +++ b/engines/neverhood/mouse.cpp @@ -42,7 +42,7 @@ Mouse::Mouse(NeverhoodEngine *vm, uint32 fileHash, const NRect &mouseRect) Mouse::Mouse(NeverhoodEngine *vm, uint32 fileHash, int16 x1, int16 x2) : StaticSprite(vm, 2000), _mouseType(kMouseType435), - _mouseCursorResource(vm), _frameNum(0), _x1(x1), _x2(x2) { + _mouseCursorResource(vm), _frameNum(0), _x1(x1), _x2(x2), _visible(true) { init(fileHash); if (_x <= _x1) { @@ -85,6 +85,13 @@ void Mouse::load(uint32 fileHash) { } void Mouse::update() { + if (_visible && !_surface->getVisible()) { + CursorMan.showMouse(false); + _visible = false; + } else if (!_visible && _surface->getVisible()) { + CursorMan.showMouse(true); + _visible = true; + } updateCursor(); _frameNum++; if (_frameNum >= 6) diff --git a/engines/neverhood/mouse.h b/engines/neverhood/mouse.h index 0b4f6b81db..a163a7a01c 100644 --- a/engines/neverhood/mouse.h +++ b/engines/neverhood/mouse.h @@ -51,6 +51,7 @@ protected: int16 _x1; int16 _x2; int _type; + bool _visible; void init(uint32 fileHash); void update(); void updateCursorNum(); |