aboutsummaryrefslogtreecommitdiff
path: root/engines/scumm/he/sprite_he.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/scumm/he/sprite_he.cpp')
-rw-r--r--engines/scumm/he/sprite_he.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/engines/scumm/he/sprite_he.cpp b/engines/scumm/he/sprite_he.cpp
index 0b37673e4a..081110c7cd 100644
--- a/engines/scumm/he/sprite_he.cpp
+++ b/engines/scumm/he/sprite_he.cpp
@@ -804,12 +804,18 @@ void Sprite::setSpriteImage(int spriteId, int imageNum) {
if (_spriteTable[spriteId].image) {
_spriteTable[spriteId].imageStateCount = _vm->_wiz->getWizImageStates(_spriteTable[spriteId].image);
- _spriteTable[spriteId].flags |= kSFActive | kSFAutoAnim | kSFMarkDirty | kSFBlitDirectly;
+
+ if (_vm->VAR(139))
+ _spriteTable[spriteId].flags |= kSFActive;
+ else
+ _spriteTable[spriteId].flags |= kSFActive | kSFAutoAnim | kSFMarkDirty | kSFBlitDirectly;
if (_spriteTable[spriteId].image != origResId || _spriteTable[spriteId].imageStateCount != origResWizStates)
_spriteTable[spriteId].flags |= kSFChanged | kSFNeedRedraw;
} else {
- if (_spriteTable[spriteId].flags & kSFImageless)
+ if (_vm->VAR(139))
+ _spriteTable[spriteId].flags &= ~kSFActive;
+ else if (_spriteTable[spriteId].flags & kSFImageless)
_spriteTable[spriteId].flags = 0;
else
_spriteTable[spriteId].flags = kSFChanged | kSFBlitDirectly;