diff options
Diffstat (limited to 'engines/agos')
-rw-r--r-- | engines/agos/animation.cpp | 13 | ||||
-rw-r--r-- | engines/agos/animation.h | 2 |
2 files changed, 13 insertions, 2 deletions
diff --git a/engines/agos/animation.cpp b/engines/agos/animation.cpp index 942c7bb7f9..7c80971396 100644 --- a/engines/agos/animation.cpp +++ b/engines/agos/animation.cpp @@ -44,6 +44,7 @@ namespace AGOS { MoviePlayer::MoviePlayer(AGOSEngine *vm, Audio::Mixer *mixer) : DXAPlayer(), _vm(vm), _mixer(mixer) { _omniTV = false; + _omniTVLoad = false; _omniTVFile = 0; @@ -67,7 +68,15 @@ bool MoviePlayer::load(const char *filename) { // Change file extension to dxa sprintf(videoName, "%s.dxa", baseName); - if (!loadFile(videoName, _vm->_screenWidth, _vm->_screenHeight)) { + uint16 dstWidth = _vm->_screenWidth; + uint16 dstHeight = _vm->_screenHeight; + if (_omniTVLoad) { + dstWidth = 56; + dstHeight = 104; + _omniTVLoad = false; + } + + if (!loadFile(videoName, dstWidth, dstHeight)) { // Check short filename to work around // bug in a German Windows 2CD version. if (baseLen >= 8) { @@ -120,6 +129,7 @@ void MoviePlayer::playOmniTV() { _omniTV = true; } else { _vm->_variableArray[254] = 6747; + _omniTVLoad = true; } } } @@ -248,6 +258,7 @@ void MoviePlayer::nextFrame() { _omniTVFile = 0; closeFile(); _vm->_variableArray[254] = 6747; + _omniTVLoad = true; } } diff --git a/engines/agos/animation.h b/engines/agos/animation.h index 6776395ab7..db325b336a 100644 --- a/engines/agos/animation.h +++ b/engines/agos/animation.h @@ -47,7 +47,7 @@ class MoviePlayer : public Graphics::DXAPlayer { Audio::SoundHandle _omniTVSound; Common::SeekableReadStream *_omniTVFile; - bool _omniTV; + bool _omniTV, _omniTVLoad; bool _leftButtonDown; bool _rightButtonDown; uint32 _ticks; |