aboutsummaryrefslogtreecommitdiff
path: root/engines/groovie/vdx.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/groovie/vdx.cpp')
-rw-r--r--engines/groovie/vdx.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/engines/groovie/vdx.cpp b/engines/groovie/vdx.cpp
index 1b4a2b7800..5569ae92ca 100644
--- a/engines/groovie/vdx.cpp
+++ b/engines/groovie/vdx.cpp
@@ -86,6 +86,11 @@ uint16 VDXPlayer::loadInternal() {
_flagEight = ((_flags & (1 << 8)) != 0);
_flagNine = ((_flags & (1 << 9)) != 0);
+ // Enable highspeed if we're not obeying fps, and not marked as special
+ // This will be disabled in chunk audio if we're actually an audio vdx
+ if ( _vm->_modeSpeed == kGroovieSpeediOS || (_vm->_modeSpeed == kGroovieSpeedTweaked && ((_flags & (1 << 15)) == 0)))
+ setOverrideSpeed(true);
+
if (_flagOnePrev && !_flagOne && !_flagEight) {
_flagSeven = true;
}
@@ -522,6 +527,11 @@ void VDXPlayer::decodeBlockDelta(uint32 offset, byte *colours, uint16 imageWidth
}
void VDXPlayer::chunkSound(Common::ReadStream *in) {
+ if (getOverrideSpeed())
+ {
+ setOverrideSpeed(false);
+ }
+
if (!_audioStream) {
_audioStream = Audio::makeQueuingAudioStream(22050, false);
Audio::SoundHandle sound_handle;