aboutsummaryrefslogtreecommitdiff
path: root/engines/neverhood/mouse.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/neverhood/mouse.cpp')
-rw-r--r--engines/neverhood/mouse.cpp9
1 files changed, 8 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)