diff options
author | Torbjörn Andersson | 2005-10-06 15:56:06 +0000 |
---|---|---|
committer | Torbjörn Andersson | 2005-10-06 15:56:06 +0000 |
commit | 5f20bf11e6b694319d1d6a3e8df833008bbb56b7 (patch) | |
tree | 1607eca8b99eba3812ddaf6341cd213a890a39be | |
parent | 92f5e206bd0c4d668d3a6187efb26a75ec99e81b (diff) | |
download | scummvm-rg350-5f20bf11e6b694319d1d6a3e8df833008bbb56b7.tar.gz scummvm-rg350-5f20bf11e6b694319d1d6a3e8df833008bbb56b7.tar.bz2 scummvm-rg350-5f20bf11e6b694319d1d6a3e8df833008bbb56b7.zip |
It should always be possible to interrupt the intro with Escape now. Most
of the job was already done, though. Only the final bit was missing.
svn-id: r18951
-rw-r--r-- | saga/animation.cpp | 6 | ||||
-rw-r--r-- | saga/input.cpp | 1 | ||||
-rw-r--r-- | saga/interface.cpp | 8 | ||||
-rw-r--r-- | saga/interface.h | 3 | ||||
-rw-r--r-- | saga/saga.cpp | 1 |
5 files changed, 13 insertions, 6 deletions
diff --git a/saga/animation.cpp b/saga/animation.cpp index 2ac8d27bfe..c87e49fc76 100644 --- a/saga/animation.cpp +++ b/saga/animation.cpp @@ -86,9 +86,8 @@ void Anim::playCutaway(int cut, bool fade) { _vm->_gfx->showCursor(false); _vm->_interface->setStatusText(""); _vm->_interface->setSaveReminderState(0); - - // TODO: Hide the inventory. Perhaps a new panel mode? - + _vm->_interface->rememberMode(); + _vm->_interface->setMode(kPanelCutaway); _cutawayActive = true; } @@ -195,6 +194,7 @@ void Anim::clearCutaway(void) { _cutawayAnimations[i] = NULL; } + _vm->_interface->restoreMode(); _vm->_gfx->showCursor(true); } } diff --git a/saga/input.cpp b/saga/input.cpp index b972f28bdb..3d2754220a 100644 --- a/saga/input.cpp +++ b/saga/input.cpp @@ -104,7 +104,6 @@ int SagaEngine::processInput() { // Actual game keys case 32: // space _actor->abortSpeech(); - _scene->cutawaySkip(); break; case 19: // pause case 'z': diff --git a/saga/interface.cpp b/saga/interface.cpp index 867f8a043a..2c6418b3b1 100644 --- a/saga/interface.cpp +++ b/saga/interface.cpp @@ -341,8 +341,14 @@ bool Interface::processAscii(uint16 ascii, bool synthetic) { if (!_disableAbortSpeeches) _vm->_actor->abortAllSpeeches(); } + return true; + } + break; + case kPanelCutaway: + if (ascii == 27) { // Esc + if (!_disableAbortSpeeches) + _vm->_actor->abortAllSpeeches(); _vm->_scene->cutawaySkip(); - return true; } break; diff --git a/saga/interface.h b/saga/interface.h index 05aca7bdae..2b0c4d5d3b 100644 --- a/saga/interface.h +++ b/saga/interface.h @@ -68,7 +68,8 @@ enum PanelModes { kPanelPlacard, kPanelMap, kPanelSceneSubstitute, - kPanelChapterSelection + kPanelChapterSelection, + kPanelCutaway // kPanelInventory }; diff --git a/saga/saga.cpp b/saga/saga.cpp index 226b5e4a8f..ccc6898e32 100644 --- a/saga/saga.cpp +++ b/saga/saga.cpp @@ -327,6 +327,7 @@ int SagaEngine::go() { } else if (!_scene->isInIntro()) { if (_interface->getMode() == kPanelMain || _interface->getMode() == kPanelConverse || + _interface->getMode() == kPanelCutaway || _interface->getMode() == kPanelNull) _actor->direct(msec); } |