diff options
author | Eugene Sandulenko | 2005-01-07 00:57:43 +0000 |
---|---|---|
committer | Eugene Sandulenko | 2005-01-07 00:57:43 +0000 |
commit | 1fe593995d98939c0d2e2dc2d6c6e11b647e1ca0 (patch) | |
tree | 01bb948cbcbbaf729cb167ad407c4f4f5c1d9bd2 /saga/scene.cpp | |
parent | d5d801b01c2990f8e07e42abebd9ccbf33d39407 (diff) | |
download | scummvm-rg350-1fe593995d98939c0d2e2dc2d6c6e11b647e1ca0.tar.gz scummvm-rg350-1fe593995d98939c0d2e2dc2d6c6e11b647e1ca0.tar.bz2 scummvm-rg350-1fe593995d98939c0d2e2dc2d6c6e11b647e1ca0.zip |
o Fix for popped up actors at initial scene fade out
o Stub for new Wyrmkeep demos with substituted scenes
o Converted some script func parameters to apropriate types
o More panel fixes
svn-id: r16472
Diffstat (limited to 'saga/scene.cpp')
-rw-r--r-- | saga/scene.cpp | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/saga/scene.cpp b/saga/scene.cpp index 1d8527db09..c4d8102c5a 100644 --- a/saga/scene.cpp +++ b/saga/scene.cpp @@ -611,6 +611,9 @@ int Scene::loadScene(int scene_num, int load_flag, SCENE_PROC scene_proc, SCENE_ EVENT *q_event; static PALENTRY current_pal[PAL_ENTRIES]; + _vm->_interface->rememberMode(); + _vm->_interface->setMode(kPanelFade, true); + // Fade to black out _vm->_gfx->getCurrentPal(current_pal); event.type = IMMEDIATE_EVENT; @@ -640,6 +643,14 @@ int Scene::loadScene(int scene_num, int load_flag, SCENE_PROC scene_proc, SCENE_ event.duration = 0; q_event = _vm->_events->chain(q_event, &event); + // Restore interface mode + event.type = IMMEDIATE_EVENT; + event.code = INTERFACE_EVENT; + event.op = EVENT_RESTORE_MODE; + event.time = 0; + event.duration = 0; + q_event = _vm->_events->chain(q_event, &event); + // Start the scene pre script, but stay with black palette if (_desc.startScriptNum > 0) { event.type = ONESHOT_EVENT; @@ -652,7 +663,7 @@ int Scene::loadScene(int scene_num, int load_flag, SCENE_PROC scene_proc, SCENE_ event.param4 = 0; // With Object - TODO: should be 'entrance' event.param5 = 0; // Actor - _vm->_events->chain(q_event, &event); + q_event = _vm->_events->chain(q_event, &event); } // Fade in from black to the scene background palette @@ -1046,7 +1057,10 @@ int Scene::defaultScene(int param, SCENE_INFO *scene_info) { EVENT event; EVENT *q_event; - _inGame = true; + if (!_inGame) { + _inGame = true; + _vm->_interface->setMode(kPanelInventory); + } switch (param) { case SCENE_BEGIN: |