diff options
author | Sven Hesse | 2008-12-22 20:35:48 +0000 |
---|---|---|
committer | Sven Hesse | 2008-12-22 20:35:48 +0000 |
commit | d0738d553a3ebdf2dc3433801382303151491c28 (patch) | |
tree | 7942b7ac2e5dd78c96c0184199505fabf5ac4c84 /engines/gob | |
parent | d1530fcf187e2aaa3e5ac8c237e4f7bc5360fa1d (diff) | |
download | scummvm-rg350-d0738d553a3ebdf2dc3433801382303151491c28.tar.gz scummvm-rg350-d0738d553a3ebdf2dc3433801382303151491c28.tar.bz2 scummvm-rg350-d0738d553a3ebdf2dc3433801382303151491c28.zip |
Fixing the flow meter thingy in Urban Runner
svn-id: r35491
Diffstat (limited to 'engines/gob')
-rw-r--r-- | engines/gob/coktelvideo.cpp | 8 | ||||
-rw-r--r-- | engines/gob/coktelvideo.h | 1 |
2 files changed, 9 insertions, 0 deletions
diff --git a/engines/gob/coktelvideo.cpp b/engines/gob/coktelvideo.cpp index b7d13333b3..8ea13946d7 100644 --- a/engines/gob/coktelvideo.cpp +++ b/engines/gob/coktelvideo.cpp @@ -934,6 +934,11 @@ bool Vmd::load(Common::SeekableReadStream &stream) { } _flags = _stream->readUint16LE(); + + _scaleExternalX = 1; + if (!_externalCodec && !(_flags & 0x1000)) + _scaleExternalX = _bytesPerPixel; + _partsPerFrame = _stream->readUint16LE(); _firstFramePos = _stream->readUint32LE(); _stream->skip(4); // Unknown @@ -1112,6 +1117,8 @@ int16 Vmd::getWidth() const { void Vmd::setXY(int16 x, int16 y) { + x *= _scaleExternalX; + for (int i = 0; i < _framesCount; i++) { for (int j = 0; j < _partsPerFrame; j++) { @@ -1195,6 +1202,7 @@ void Vmd::clear(bool del) { _externalCodec = false; _bytesPerPixel = 1; + _scaleExternalX = 1; _vidMemBuffer = 0; } diff --git a/engines/gob/coktelvideo.h b/engines/gob/coktelvideo.h index cc6c08a86a..9d7dc93b3f 100644 --- a/engines/gob/coktelvideo.h +++ b/engines/gob/coktelvideo.h @@ -370,6 +370,7 @@ protected: bool _externalCodec; byte _bytesPerPixel; + byte _scaleExternalX; byte *_vidMemBuffer; PaletteLUT *_palLUT; |