From b944ad808bb7f596a1877838e03eb3d928324578 Mon Sep 17 00:00:00 2001 From: Torbjörn Andersson Date: Sun, 2 Jan 2005 15:45:38 +0000 Subject: 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 --- saga/events.cpp | 3 +++ saga/events.h | 7 ++++--- 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); -- cgit v1.2.3