diff options
author | Jordi Vilalta Prat | 2009-01-14 03:09:19 +0000 |
---|---|---|
committer | Jordi Vilalta Prat | 2009-01-14 03:09:19 +0000 |
commit | 59d41b30ffc24f81ad71a8b273f06bb244e85130 (patch) | |
tree | e2b31d9b0187672975efeb265dc6580c35dd31ed | |
parent | ab82db8f867fc51aae1dad004117fdf70b9ce0a5 (diff) | |
download | scummvm-rg350-59d41b30ffc24f81ad71a8b273f06bb244e85130.tar.gz scummvm-rg350-59d41b30ffc24f81ad71a8b273f06bb244e85130.tar.bz2 scummvm-rg350-59d41b30ffc24f81ad71a8b273f06bb244e85130.zip |
Show the cursor and update it properly when closing the GMM.
svn-id: r35858
-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; |