aboutsummaryrefslogtreecommitdiff
path: root/engines/mads/scene_data.cpp
diff options
context:
space:
mode:
authorPaul Gilbert2015-01-17 16:46:57 -0500
committerPaul Gilbert2015-01-17 16:46:57 -0500
commit4ee29ef3a84186b79e00e3f50d3fb15e4c13d213 (patch)
tree9bb6e3894393e21f0b15db652f3c7ccdc4ecad72 /engines/mads/scene_data.cpp
parent263c5924906b2fcb3303850ad919e158cb06e120 (diff)
downloadscummvm-rg350-4ee29ef3a84186b79e00e3f50d3fb15e4c13d213.tar.gz
scummvm-rg350-4ee29ef3a84186b79e00e3f50d3fb15e4c13d213.tar.bz2
scummvm-rg350-4ee29ef3a84186b79e00e3f50d3fb15e4c13d213.zip
MADS: Add loading of SpriteInfo frame numbers for scene background sprites
Diffstat (limited to 'engines/mads/scene_data.cpp')
-rw-r--r--engines/mads/scene_data.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/engines/mads/scene_data.cpp b/engines/mads/scene_data.cpp
index b5e219ed04..7233e42456 100644
--- a/engines/mads/scene_data.cpp
+++ b/engines/mads/scene_data.cpp
@@ -86,7 +86,8 @@ void ARTHeader::load(Common::SeekableReadStream *f, bool isV2) {
void SceneInfo::SpriteInfo::load(Common::SeekableReadStream *f) {
f->skip(3);
_spriteSetIndex = f->readByte();
- f->skip(2);
+ _frameNumber = f->readSByte();
+ f->skip(1);
_position.x = f->readSint16LE();
_position.y = f->readSint16LE();
_depth = f->readByte();
@@ -263,7 +264,7 @@ void SceneInfo::load(int sceneId, int variant, const Common::String &resName,
SpriteAsset *asset = spriteSets[si._spriteSetIndex];
assert(asset && _depthStyle != 2);
- MSprite *spr = asset->getFrame(asset->getCount() - 1);
+ MSprite *spr = asset->getFrame(si._frameNumber);
bgSurface.copyFrom(spr, si._position, si._depth, &depthSurface,
si._scale, spr->getTransparencyIndex());
}