diff options
-rw-r--r-- | engines/groovie/cursor.cpp | 4 | ||||
-rw-r--r-- | engines/groovie/cursor.h | 1 | ||||
-rw-r--r-- | engines/groovie/groovie.cpp | 6 | ||||
-rw-r--r-- | engines/groovie/script.cpp | 4 |
4 files changed, 11 insertions, 4 deletions
diff --git a/engines/groovie/cursor.cpp b/engines/groovie/cursor.cpp index 8aa514a6b1..a8a125bfe9 100644 --- a/engines/groovie/cursor.cpp +++ b/engines/groovie/cursor.cpp @@ -45,6 +45,10 @@ GrvCursorMan::~GrvCursorMan() { CursorMan.popAllCursors(); } +void GrvCursorMan::show(bool visible) { + CursorMan.showMouse(visible); +} + uint8 GrvCursorMan::getStyle() { return _current; } diff --git a/engines/groovie/cursor.h b/engines/groovie/cursor.h index ee112bd01d..a148144389 100644 --- a/engines/groovie/cursor.h +++ b/engines/groovie/cursor.h @@ -49,6 +49,7 @@ public: GrvCursorMan(OSystem *system); virtual ~GrvCursorMan(); + virtual void show(bool visible); virtual void animate(); virtual void setStyle(uint8 newStyle); virtual uint8 getStyle(); diff --git a/engines/groovie/groovie.cpp b/engines/groovie/groovie.cpp index 34d283a967..a09fe8fe3b 100644 --- a/engines/groovie/groovie.cpp +++ b/engines/groovie/groovie.cpp @@ -195,9 +195,11 @@ Common::Error GroovieEngine::go() { _waitingForInput = false; break; + case Common::EVENT_MAINMENU: + // Closing the GMM case Common::EVENT_MOUSEMOVE: - // Continue the script execution, the mouse - // pointer may fall inside a hotspot now + // Continue the script execution, the mouse pointer + // may fall inside a different hotspot now _waitingForInput = false; break; diff --git a/engines/groovie/script.cpp b/engines/groovie/script.cpp index f36298a497..045332a2b9 100644 --- a/engines/groovie/script.cpp +++ b/engines/groovie/script.cpp @@ -689,7 +689,7 @@ void Script::o_inputloopend() { // Exit the input loop _inputLoopAddress = 0; - _vm->_system->showMouse(false); + _vm->_grvCursorMan->show(false); // Force immediate hiding of the mouse cursor (required when the next // video just contains audio) @@ -701,7 +701,7 @@ void Script::o_inputloopend() { if (_newCursorStyle != _vm->_grvCursorMan->getStyle()) { _vm->_grvCursorMan->setStyle(_newCursorStyle); } - _vm->_system->showMouse(true); + _vm->_grvCursorMan->show(true); // Go back to the begining of the loop _currentInstruction = _inputLoopAddress; |