diff options
author | Eugene Sandulenko | 2004-08-10 23:04:52 +0000 |
---|---|---|
committer | Eugene Sandulenko | 2004-08-10 23:04:52 +0000 |
commit | b13fc9f366d45736c3edd04399d2590aa2fb0cf5 (patch) | |
tree | 3e565d7af4fea4032fc69cf9291f5e7afb218a1f /saga/ite_introproc.cpp | |
parent | 9956666a7a3740d2732bb1bb76089eb66051073f (diff) | |
download | scummvm-rg350-b13fc9f366d45736c3edd04399d2590aa2fb0cf5.tar.gz scummvm-rg350-b13fc9f366d45736c3edd04399d2590aa2fb0cf5.tar.bz2 scummvm-rg350-b13fc9f366d45736c3edd04399d2590aa2fb0cf5.zip |
Improved intro. Now it correctly shows game title.
svn-id: r14544
Diffstat (limited to 'saga/ite_introproc.cpp')
-rw-r--r-- | saga/ite_introproc.cpp | 61 |
1 files changed, 54 insertions, 7 deletions
diff --git a/saga/ite_introproc.cpp b/saga/ite_introproc.cpp index 830412f6d1..e9f220cae2 100644 --- a/saga/ite_introproc.cpp +++ b/saga/ite_introproc.cpp @@ -124,12 +124,13 @@ static R_INTRO_DIALOGUE IntroDiag[] = { }; R_SCENE_QUEUE ITE_IntroList[] = { + {ITE_VALLEY_SCENE, NULL, BY_RESOURCE, ITE_IntroValleyProc, 0}, // HACK {ITE_INTRO_ANIM_SCENE, NULL, BY_RESOURCE, ITE_IntroAnimProc, 0}, {ITE_CAVE_SCENE_1, NULL, BY_RESOURCE, ITE_IntroCave1Proc, 1}, {ITE_CAVE_SCENE_2, NULL, BY_RESOURCE, ITE_IntroCave2Proc, 0}, {ITE_CAVE_SCENE_3, NULL, BY_RESOURCE, ITE_IntroCave3Proc, 0}, {ITE_CAVE_SCENE_4, NULL, BY_RESOURCE, ITE_IntroCave4Proc, 0}, - {ITE_VALLEY_SCENE, NULL, BY_RESOURCE, ITE_IntroValleyProc, 0}, + // {ITE_VALLEY_SCENE, NULL, BY_RESOURCE, ITE_IntroValleyProc, 0}, {ITE_TREEHOUSE_SCENE, NULL, BY_RESOURCE, ITE_IntroTreeHouseProc, 0}, {ITE_FAIREPATH_SCENE, NULL, BY_RESOURCE, ITE_IntroFairePathProc, 0}, {ITE_FAIRETENT_SCENE, NULL, BY_RESOURCE, ITE_IntroFaireTentProc, 0} @@ -680,12 +681,6 @@ int ITE_IntroValleyProc(int param, R_SCENE_INFO *scene_info) { q_event = _vm->_events->queue(&event); - debug(0, "Beginning animation playback."); - - // Begin title screen background animation - _vm->_anim->setFlag(0, ANIM_LOOP); - _vm->_anim->play(0, 0); - // Begin ITE title theme music _vm->_music->stop(); @@ -696,6 +691,58 @@ int ITE_IntroValleyProc(int param, R_SCENE_INFO *scene_info) { event.time = 0; q_event = _vm->_events->chain(q_event, &event); + + // Pause animation before logo + event.type = R_ONESHOT_EVENT; + event.code = R_ANIM_EVENT; + event.op = EVENT_SETFLAG; + event.param = 0; + event.param2 = ANIM_PAUSE; + event.time = 3000; + + q_event = _vm->_events->queue(&event); + + // Display logo + event.type = R_CONTINUOUS_EVENT; + event.code = R_TRANSITION_EVENT; + event.op = EVENT_DISSOLVE_BGMASK; + event.time = 3000; + event.duration = LOGO_DISSOLVE_DURATION; + + q_event = _vm->_events->queue(&event); + + // Remove logo + event.type = R_CONTINUOUS_EVENT; + event.code = R_TRANSITION_EVENT; + event.op = EVENT_DISSOLVE; + event.time = 6000; + event.duration = LOGO_DISSOLVE_DURATION; + + q_event = _vm->_events->queue(&event); + + // Unpause animation before logo + event.type = R_ONESHOT_EVENT; + event.code = R_ANIM_EVENT; + event.op = EVENT_CLEARFLAG; + event.param = 0; + event.param2 = ANIM_PAUSE; + event.time = 6000 + LOGO_DISSOLVE_DURATION; + + q_event = _vm->_events->queue(&event); + + event.type = R_ONESHOT_EVENT; + event.code = R_ANIM_EVENT; + event.op = EVENT_FRAME; + event.param = 0; + event.time = 6000 + LOGO_DISSOLVE_DURATION; + + q_event = _vm->_events->queue(&event); + + debug(0, "Beginning animation playback."); + + // Begin title screen background animation + _vm->_anim->setFlag(0, ANIM_LOOP); + _vm->_anim->play(0, 0); // Queue game credits list text_entry.color = 255; |