diff options
| -rw-r--r-- | engines/scumm/he/sprite_he.cpp | 10 | 
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; | 
