diff options
author | Littleboy | 2012-07-27 16:07:23 -0400 |
---|---|---|
committer | Littleboy | 2012-07-27 16:09:35 -0400 |
commit | d8acba294d7898ffff70ea679579cd8ae5eab0a7 (patch) | |
tree | e6526fc657fb4defa545c6ec711c79aa616caf86 /engines | |
parent | 94e2ea10cd9f5caf7a560b7f1def0f23da9046a5 (diff) | |
download | scummvm-rg350-d8acba294d7898ffff70ea679579cd8ae5eab0a7.tar.gz scummvm-rg350-d8acba294d7898ffff70ea679579cd8ae5eab0a7.tar.bz2 scummvm-rg350-d8acba294d7898ffff70ea679579cd8ae5eab0a7.zip |
LASTEXPRESS: Add IgnoreSubtype option to AnimFrame
Diffstat (limited to 'engines')
-rw-r--r-- | engines/lastexpress/data/animation.cpp | 2 | ||||
-rw-r--r-- | engines/lastexpress/data/sequence.cpp | 2 | ||||
-rw-r--r-- | engines/lastexpress/data/sequence.h | 6 |
3 files changed, 6 insertions, 4 deletions
diff --git a/engines/lastexpress/data/animation.cpp b/engines/lastexpress/data/animation.cpp index ce42acb8fe..7618259e69 100644 --- a/engines/lastexpress/data/animation.cpp +++ b/engines/lastexpress/data/animation.cpp @@ -230,7 +230,7 @@ AnimFrame *Animation::processChunkFrame(Common::SeekableReadStream *in, const Ch i.read(str, false); // Decode the frame - AnimFrame *f = new AnimFrame(str, i); + AnimFrame *f = new AnimFrame(str, i, true); // Delete the temporary chunk buffer delete str; diff --git a/engines/lastexpress/data/sequence.cpp b/engines/lastexpress/data/sequence.cpp index e1e0d9bee8..a5bcba84cd 100644 --- a/engines/lastexpress/data/sequence.cpp +++ b/engines/lastexpress/data/sequence.cpp @@ -76,7 +76,7 @@ void FrameInfo::read(Common::SeekableReadStream *in, bool isSequence) { // AnimFrame -AnimFrame::AnimFrame(Common::SeekableReadStream *in, const FrameInfo &f) : _palette(NULL) { +AnimFrame::AnimFrame(Common::SeekableReadStream *in, const FrameInfo &f, bool ignoreSubtype) : _palette(NULL), _ignoreSubtype(ignoreSubtype) { _palSize = 1; // TODO: use just the needed rectangle _image.create(640, 480, Graphics::PixelFormat::createFormatCLUT8()); diff --git a/engines/lastexpress/data/sequence.h b/engines/lastexpress/data/sequence.h index 9987eae48e..610a55cebf 100644 --- a/engines/lastexpress/data/sequence.h +++ b/engines/lastexpress/data/sequence.h @@ -49,8 +49,9 @@ byte {1} - Compression type byte {1} - Subtype (determines which set of decompression functions will be called) => 0, 1, 2, 3 byte {1} - Unknown + byte {1} - Keep previous frame while drawing + byte {1} - Unknown byte {1} - Unknown - uint16 {2} - Unknown byte {1} - Sound action byte {1} - Unknown uint32 {4} - positionId @@ -129,7 +130,7 @@ struct FrameInfo { class AnimFrame : public Drawable { public: - AnimFrame(Common::SeekableReadStream *in, const FrameInfo &f); + AnimFrame(Common::SeekableReadStream *in, const FrameInfo &f, bool ignoreSubtype = false); ~AnimFrame(); Common::Rect draw(Graphics::Surface *s); @@ -146,6 +147,7 @@ private: uint16 _palSize; uint16 *_palette; Common::Rect _rect; + bool _ignoreSubtype; }; class Sequence { |