diff options
author | peres | 2013-10-26 22:24:16 +0900 |
---|---|---|
committer | peres | 2013-10-26 22:24:16 +0900 |
commit | 92c1ff31d6d8d78e58caa4d123ceb0fea43a48ed (patch) | |
tree | 88a89acbd4d4e0c004af9856c626e78d4315df69 /graphics | |
parent | 47953d13277fcc177eb18036a037c5b9fbb064f5 (diff) | |
download | scummvm-rg350-92c1ff31d6d8d78e58caa4d123ceb0fea43a48ed.tar.gz scummvm-rg350-92c1ff31d6d8d78e58caa4d123ceb0fea43a48ed.tar.bz2 scummvm-rg350-92c1ff31d6d8d78e58caa4d123ceb0fea43a48ed.zip |
GRAPHICS: do not clear the internal state of IFFDecoder on loadStream().
This decoder needs to keep track of client parameters that control
how the pixels are going to be packaged, so the responsibility for
clearing the state has been moved on the client (using the destroy()
method on ImageDecoder).
As no client uses the IFFDecoder for more than one image at a time,
this change does not require updates to the engines. The only effect
is on Parallaction (BRA-Amiga), which can now control the way pixels
are packaged in mask and path bitmaps.
Diffstat (limited to 'graphics')
-rw-r--r-- | graphics/decoders/iff.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/graphics/decoders/iff.cpp b/graphics/decoders/iff.cpp index 7b37969fc1..485b2846a8 100644 --- a/graphics/decoders/iff.cpp +++ b/graphics/decoders/iff.cpp @@ -59,7 +59,8 @@ void IFFDecoder::destroy() { } bool IFFDecoder::loadStream(Common::SeekableReadStream &stream) { - destroy(); + // NOTE: we cannot call destroy() here, like most other decoders do, otherwise the + // settings (stored in _numRelevantPlanes and _pixelPacking) will be cleared. const uint32 form = stream.readUint32BE(); |