aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/toltecs/movie.cpp4
-rw-r--r--engines/toltecs/movie.h4
-rw-r--r--engines/toltecs/toltecs.cpp2
3 files changed, 8 insertions, 2 deletions
diff --git a/engines/toltecs/movie.cpp b/engines/toltecs/movie.cpp
index 35accb5d93..69303830f8 100644
--- a/engines/toltecs/movie.cpp
+++ b/engines/toltecs/movie.cpp
@@ -45,7 +45,7 @@ enum ChunkTypes {
kChunkStopSubtitles = 8
};
-MoviePlayer::MoviePlayer(ToltecsEngine *vm) : _vm(vm) {
+MoviePlayer::MoviePlayer(ToltecsEngine *vm) : _vm(vm), _isPlaying(false) {
}
MoviePlayer::~MoviePlayer() {
@@ -62,6 +62,7 @@ void MoviePlayer::playMovie(uint resIndex) {
int16 savedGuiHeight = _vm->_guiHeight;
byte moviePalette[768];
+ _isPlaying = true;
_vm->_isSaveAllowed = false;
memset(moviePalette, 0, sizeof(moviePalette));
@@ -200,6 +201,7 @@ void MoviePlayer::playMovie(uint resIndex) {
_vm->_guiHeight = savedGuiHeight;
_vm->_isSaveAllowed = true;
+ _isPlaying = false;
}
void MoviePlayer::fetchAudioChunks() {
diff --git a/engines/toltecs/movie.h b/engines/toltecs/movie.h
index 8fa48975d7..c1ed6d7ba0 100644
--- a/engines/toltecs/movie.h
+++ b/engines/toltecs/movie.h
@@ -37,11 +37,15 @@ public:
void playMovie(uint resIndex);
+ bool isPlaying() { return _isPlaying; }
+
protected:
ToltecsEngine *_vm;
Audio::QueuingAudioStream *_audioStream;
Audio::SoundHandle _audioStreamHandle;
+ bool _isPlaying;
+
uint32 _chunkCount, _frameCount, _lastPrefetchOfs;
uint32 _soundChunkFramesLeft, _framesPerSoundChunk;
diff --git a/engines/toltecs/toltecs.cpp b/engines/toltecs/toltecs.cpp
index 6d8a5eb782..86b2474d9d 100644
--- a/engines/toltecs/toltecs.cpp
+++ b/engines/toltecs/toltecs.cpp
@@ -340,7 +340,7 @@ void ToltecsEngine::updateInput() {
break;
case Common::KEYCODE_SPACE:
// Skip current dialog line, if a dialog is active
- if (_screen->getTalkTextDuration() > 0) {
+ if (!_moviePlayer->isPlaying() && _screen->getTalkTextDuration() > 0) {
_sound->stopSpeech();
_screen->finishTalkTextItems();
_keyState.reset(); // event consumed