aboutsummaryrefslogtreecommitdiff
path: root/saga/scene.cpp
diff options
context:
space:
mode:
authorEugene Sandulenko2004-11-20 00:05:50 +0000
committerEugene Sandulenko2004-11-20 00:05:50 +0000
commite5cc4c629aac5d40f629155679c0c6cd8dc169e4 (patch)
tree9caf4b0e0b5df0bdc0bec81d4daf9fc663bfb1f2 /saga/scene.cpp
parent5748227adcc17e76eab0c33e99bb978b170b3de0 (diff)
downloadscummvm-rg350-e5cc4c629aac5d40f629155679c0c6cd8dc169e4.tar.gz
scummvm-rg350-e5cc4c629aac5d40f629155679c0c6cd8dc169e4.tar.bz2
scummvm-rg350-e5cc4c629aac5d40f629155679c0c6cd8dc169e4.zip
o Restore cursor after walkthrough
o Add cursor events o Hide cursor during intro svn-id: r15844
Diffstat (limited to 'saga/scene.cpp')
-rw-r--r--saga/scene.cpp16
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);