diff options
-rw-r--r-- | engines/agos/animation.cpp | 13 | ||||
-rw-r--r-- | engines/agos/animation.h | 2 | ||||
-rw-r--r-- | engines/sword1/animation.cpp | 2 | ||||
-rw-r--r-- | engines/sword2/animation.cpp | 4 | ||||
-rw-r--r-- | graphics/dxa_player.cpp | 50 | ||||
-rw-r--r-- | graphics/dxa_player.h | 10 |
6 files changed, 6 insertions, 75 deletions
diff --git a/engines/agos/animation.cpp b/engines/agos/animation.cpp index 7c80971396..fd78c65002 100644 --- a/engines/agos/animation.cpp +++ b/engines/agos/animation.cpp @@ -44,7 +44,6 @@ namespace AGOS { MoviePlayer::MoviePlayer(AGOSEngine *vm, Audio::Mixer *mixer) : DXAPlayer(), _vm(vm), _mixer(mixer) { _omniTV = false; - _omniTVLoad = false; _omniTVFile = 0; @@ -68,15 +67,7 @@ bool MoviePlayer::load(const char *filename) { // Change file extension to dxa sprintf(videoName, "%s.dxa", baseName); - uint16 dstWidth = _vm->_screenWidth; - uint16 dstHeight = _vm->_screenHeight; - if (_omniTVLoad) { - dstWidth = 56; - dstHeight = 104; - _omniTVLoad = false; - } - - if (!loadFile(videoName, dstWidth, dstHeight)) { + if (!loadFile(videoName)) { // Check short filename to work around // bug in a German Windows 2CD version. if (baseLen >= 8) { @@ -129,7 +120,6 @@ void MoviePlayer::playOmniTV() { _omniTV = true; } else { _vm->_variableArray[254] = 6747; - _omniTVLoad = true; } } } @@ -258,7 +248,6 @@ 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 db325b336a..6776395ab7 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, _omniTVLoad; + bool _omniTV; bool _leftButtonDown; bool _rightButtonDown; uint32 _ticks; diff --git a/engines/sword1/animation.cpp b/engines/sword1/animation.cpp index 1062ce6029..2bb027ddb4 100644 --- a/engines/sword1/animation.cpp +++ b/engines/sword1/animation.cpp @@ -408,7 +408,7 @@ bool MoviePlayerDXA::load(uint32 id) { char filename[20]; snprintf(filename, sizeof(filename), "%s.dxa", sequenceList[id]); - if (loadFile(filename, 640, 480)) { + if (loadFile(filename)) { // The Broken Sword games always use external audio tracks. if (_fd->readUint32BE() != MKID_BE('NULL')) return false; diff --git a/engines/sword2/animation.cpp b/engines/sword2/animation.cpp index 5e12f262cd..082d02a88f 100644 --- a/engines/sword2/animation.cpp +++ b/engines/sword2/animation.cpp @@ -516,9 +516,7 @@ bool MoviePlayerDXA::load() { snprintf(filename, sizeof(filename), "%s.dxa", _name); - if (loadFile(filename, - _vm->_screen->getScreenWide(), - _vm->_screen->getScreenDeep())) { + if (loadFile(filename)) { // The Broken Sword games always use external audio tracks. if (_fd->readUint32BE() != MKID_BE('NULL')) return false; diff --git a/graphics/dxa_player.cpp b/graphics/dxa_player.cpp index d723512a1d..28a1bc4dbd 100644 --- a/graphics/dxa_player.cpp +++ b/graphics/dxa_player.cpp @@ -31,23 +31,6 @@ #include <zlib.h> #endif -static void scaleUpBy2(byte *dst, byte *src, uint16 width, uint16 h) { - uint16 x; - - while (h > 0) { - for (x = width; x > 0; x--) { - register byte v; - - v = *src++; - *dst++ = v; - *dst++ = v; - } - memcpy(dst, dst - width * 2, width * 2); - dst += width * 2; - h--; - } -} - namespace Graphics { DXAPlayer::DXAPlayer() { @@ -57,7 +40,6 @@ DXAPlayer::DXAPlayer() { _frameBuffer2 = 0; _scaledBuffer = 0; _drawBuffer = 0; - _scaledBuffer2 = 0; _inBuffer = 0; _inBufferSize = 0; @@ -76,8 +58,6 @@ DXAPlayer::DXAPlayer() { _frameTicks = 0; _scaleMode = S_NONE; - - _scaling = 1; } DXAPlayer::~DXAPlayer() { @@ -86,13 +66,13 @@ DXAPlayer::~DXAPlayer() { int DXAPlayer::getWidth() { if (!_fd) return 0; - return _width * _scaling; + return _width; } int DXAPlayer::getHeight() { if (!_fd) return 0; - return _height * _scaling; + return _height; } int DXAPlayer::getCurFrame() { @@ -107,25 +87,6 @@ int DXAPlayer::getFrameCount() { return _framesCount; } -bool DXAPlayer::loadFile(const char *filename, uint16 maxWidth, uint16 maxHeight) { - bool result = loadFile(filename); - - if (result) { - _scaling = MIN(maxWidth / _width, maxHeight / _height); - if (_scaling < 1) - _scaling = 1; - if (_scaling > 2) - _scaling = 2; - if (_scaling >= 2) { - _scaledBuffer2 = (uint8 *)malloc(_width * _height * _scaling * _scaling); - if (!_scaledBuffer2) { - _scaling = 1; - } - } - } - return result; -} - bool DXAPlayer::loadFile(const char *filename) { uint32 tag; int32 frameRate; @@ -228,7 +189,6 @@ void DXAPlayer::closeFile() { free(_frameBuffer1); free(_frameBuffer2); free(_scaledBuffer); - free(_scaledBuffer2); free(_inBuffer); free(_decompBuffer); @@ -628,12 +588,6 @@ void DXAPlayer::decodeNextFrame() { _drawBuffer = _frameBuffer1; break; } - - if (_scaling == 2) { - /* Scale up here */ - scaleUpBy2(_scaledBuffer2, _drawBuffer, _width, _height); - _drawBuffer = _scaledBuffer2; - } } } // End of namespace Graphics diff --git a/graphics/dxa_player.h b/graphics/dxa_player.h index d1d6d78c97..5415e440d2 100644 --- a/graphics/dxa_player.h +++ b/graphics/dxa_player.h @@ -47,7 +47,6 @@ protected: byte *_frameBuffer2; byte *_scaledBuffer; byte *_drawBuffer; - byte *_scaledBuffer2; byte *_inBuffer; uint32 _inBufferSize; byte *_decompBuffer; @@ -61,7 +60,6 @@ protected: uint16 _frameSkipped; uint32 _frameTicks; ScaleMode _scaleMode; - uint32 _scaling; public: DXAPlayer(); @@ -100,14 +98,6 @@ public: bool loadFile(const char *filename); /** - * Load a DXA encoded video file and setup scaling if required - * @param filename the filename to load - * @param maxWidth the maximum width available to the film - * @param maxHeight the maximum height available to the film - */ - bool loadFile(const char *filename, uint16 maxWidth, uint16 maxHeight); - - /** * Close a DXA encoded video file */ void closeFile(); |