diff options
Diffstat (limited to 'saga/scene.cpp')
-rw-r--r-- | saga/scene.cpp | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/saga/scene.cpp b/saga/scene.cpp index 8b91cfbd94..3e423dbd19 100644 --- a/saga/scene.cpp +++ b/saga/scene.cpp @@ -174,6 +174,7 @@ int Scene::clearSceneQueue() { int Scene::startScene() { YS_DL_NODE *node; SCENE_QUEUE *scene_qdat; + EVENT event; assert(_initialized); @@ -187,6 +188,12 @@ int Scene::startScene() { return FAILURE; } + // Hide cursor during intro + event.type = ONESHOT_EVENT; + event.code = CURSOR_EVENT; + event.op = EVENT_HIDE; + _vm->_events->queue(&event); + switch (GAME_GetGameType()) { case GID_ITE: ITEStartProc(); @@ -965,6 +972,7 @@ static void CF_objectinfo(int argc, char *argv[], void *refCon) { int Scene::defaultScene(int param, SCENE_INFO *scene_info) { EVENT event; + EVENT *q_event; switch (param) { case SCENE_BEGIN: @@ -1011,8 +1019,14 @@ int Scene::defaultScene(int param, SCENE_INFO *scene_info) { event.op = EVENT_CYCLESTART; event.time = 0; - _vm->_events->queue(&event); + q_event = _vm->_events->queue(&event); + // Show cursor + event.type = ONESHOT_EVENT; + event.code = CURSOR_EVENT; + event.op = EVENT_SHOW; + _vm->_events->chain(q_event, &event); + // Start scene animations _vm->_anim->setFlag(0, ANIM_LOOP); _vm->_anim->play(0, 0); |