aboutsummaryrefslogtreecommitdiff
path: root/engines/scumm/he
diff options
context:
space:
mode:
authorKirben2014-07-22 10:24:32 +1000
committerKirben2014-07-22 10:24:32 +1000
commit50940f13ae8563e4ec4cd811267d393122c0a956 (patch)
tree71eb54b3f7aff9f9c66ec4f88e16487baa1324b7 /engines/scumm/he
parent1c09a34fec098cc1c38decc10987c182aa34c87c (diff)
downloadscummvm-rg350-50940f13ae8563e4ec4cd811267d393122c0a956.tar.gz
scummvm-rg350-50940f13ae8563e4ec4cd811267d393122c0a956.tar.bz2
scummvm-rg350-50940f13ae8563e4ec4cd811267d393122c0a956.zip
SCUMM: Add HE100 differences when resetting sprites.
Diffstat (limited to 'engines/scumm/he')
-rw-r--r--engines/scumm/he/sprite_he.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/engines/scumm/he/sprite_he.cpp b/engines/scumm/he/sprite_he.cpp
index 218f2ec59c..f902b67997 100644
--- a/engines/scumm/he/sprite_he.cpp
+++ b/engines/scumm/he/sprite_he.cpp
@@ -793,6 +793,11 @@ void Sprite::resetSprite(int spriteId) {
_spriteTable[spriteId].field_84 = 0;
_spriteTable[spriteId].imgFlags = 0;
_spriteTable[spriteId].field_90 = 0;
+
+ if (_vm->_game.heversion >= 100) {
+ _spriteTable[spriteId].flags &= ~kSFMarkDirty;
+ _spriteTable[spriteId].flags |= kSFAutoAnim | kSFBlitDirectly;
+ }
}
void Sprite::setSpriteImage(int spriteId, int imageNum) {
@@ -820,6 +825,8 @@ void Sprite::setSpriteImage(int spriteId, int imageNum) {
} else {
if (_vm->VAR(139))
_spriteTable[spriteId].flags &= ~kSFActive;
+ else if (_vm->_game.heversion >= 100 && origResId == 0)
+ _spriteTable[spriteId].flags = 0;
else if (_spriteTable[spriteId].flags & kSFImageless)
_spriteTable[spriteId].flags = 0;
else