diff options
Diffstat (limited to 'engines/saga/scene.cpp')
-rw-r--r-- | engines/saga/scene.cpp | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/engines/saga/scene.cpp b/engines/saga/scene.cpp index 20dab8023f..94f81c8ba3 100644 --- a/engines/saga/scene.cpp +++ b/engines/saga/scene.cpp @@ -595,6 +595,15 @@ void Scene::loadScene(LoadSceneParams *loadSceneParams) { Event *q_event; static PalEntry current_pal[PAL_ENTRIES]; + // Change the cursor to an hourglass in IHNM + if (_vm->getGameType() == GType_IHNM) { + event.type = kEvTOneshot; + event.code = kCursorEvent; + event.op = kEventSetBusyCursor; + event.time = 0; + _vm->_events->queue(&event); + } + if ((_vm->getGameType() == GType_IHNM) && (loadSceneParams->chapter != NO_CHAPTER_CHANGE)) { if (loadSceneParams->loadFlag != kLoadBySceneNumber) { error("loadScene wrong usage"); @@ -874,8 +883,6 @@ void Scene::loadScene(LoadSceneParams *loadSceneParams) { loadSceneParams->sceneProc(SCENE_BEGIN, this); } - - // We probably don't want "followers" to go into scene -1 , 0. At the very // least we don't want garbage to be drawn that early in the ITE intro. if (_sceneNumber > 0 && _sceneNumber != ITE_SCENE_PUZZLE) @@ -892,6 +899,15 @@ void Scene::loadScene(LoadSceneParams *loadSceneParams) { event.time = 0; _vm->_events->queue(&event); } + + // Change the cursor back to a crosshair in IHNM + if (_vm->getGameType() == GType_IHNM) { + event.type = kEvTOneshot; + event.code = kCursorEvent; + event.op = kEventSetNormalCursor; + event.time = 0; + _vm->_events->queue(&event); + } } void Scene::loadSceneDescriptor(uint32 resourceId) { |