diff options
author | Torbjörn Andersson | 2005-01-02 15:45:38 +0000 |
---|---|---|
committer | Torbjörn Andersson | 2005-01-02 15:45:38 +0000 |
commit | b944ad808bb7f596a1877838e03eb3d928324578 (patch) | |
tree | 9d1c7f254bb2c7884b9fe746e7eb132d7379f603 /saga | |
parent | 2c7f25435e479e57c8e4b5c5ce66c348fb560e96 (diff) | |
download | scummvm-rg350-b944ad808bb7f596a1877838e03eb3d928324578.tar.gz scummvm-rg350-b944ad808bb7f596a1877838e03eb3d928324578.tar.bz2 scummvm-rg350-b944ad808bb7f596a1877838e03eb3d928324578.zip |
Pausing an animation is done by changing its state now, not by setting a
flag. Added yet another event, and changed the ITE intro to reflect that.
(Which means the waterfalls are no longer drawn over the game title.)
svn-id: r16410
Diffstat (limited to 'saga')
-rw-r--r-- | saga/events.cpp | 3 | ||||
-rw-r--r-- | saga/events.h | 7 | ||||
-rw-r--r-- | saga/ite_introproc.cpp | 14 |
3 files changed, 9 insertions, 15 deletions
diff --git a/saga/events.cpp b/saga/events.cpp index 15374ebf08..f0f2e63e92 100644 --- a/saga/events.cpp +++ b/saga/events.cpp @@ -329,6 +329,9 @@ int Events::handleOneShot(EVENT *event) { case EVENT_PLAY: _vm->_anim->play(event->param, event->time, true); break; + case EVENT_STOP: + _vm->_anim->stop(event->param); + break; case EVENT_FRAME: _vm->_anim->play(event->param, event->time, false); break; diff --git a/saga/events.h b/saga/events.h index 0ef5ce0782..a119d5dd46 100644 --- a/saga/events.h +++ b/saga/events.h @@ -65,9 +65,10 @@ enum EVENT_OPS { EVENT_DISPLAY = 1, // ANIM events // EVENT_PLAY = 1, // reused - EVENT_FRAME = 2, - EVENT_SETFLAG = 3, - EVENT_CLEARFLAG = 4, + // EVENT_STOP = 2, // reused + EVENT_FRAME = 3, + EVENT_SETFLAG = 4, + EVENT_CLEARFLAG = 5, // MUISC & SOUND events EVENT_PLAY = 1, EVENT_STOP = 2, diff --git a/saga/ite_introproc.cpp b/saga/ite_introproc.cpp index 47f48256cf..c17cee2b71 100644 --- a/saga/ite_introproc.cpp +++ b/saga/ite_introproc.cpp @@ -680,9 +680,8 @@ int Scene::ITEIntroValleyProc(int param, SCENE_INFO *scene_info) { // Pause animation before logo event.type = ONESHOT_EVENT; event.code = ANIM_EVENT; - event.op = EVENT_SETFLAG; + event.op = EVENT_STOP; event.param = 0; - event.param2 = ANIM_PAUSE; event.time = 3000; q_event = _vm->_events->chain(q_event, &event); @@ -708,18 +707,9 @@ int Scene::ITEIntroValleyProc(int param, SCENE_INFO *scene_info) { // Unpause animation before logo event.type = ONESHOT_EVENT; event.code = ANIM_EVENT; - event.op = EVENT_CLEARFLAG; - event.param = 0; - event.param2 = ANIM_PAUSE; + event.op = EVENT_PLAY; event.time = 0; - - q_event = _vm->_events->chain(q_event, &event); - - event.type = ONESHOT_EVENT; - event.code = ANIM_EVENT; - event.op = EVENT_FRAME; event.param = 0; - event.time = LOGO_DISSOLVE_DURATION; q_event = _vm->_events->chain(q_event, &event); |