diff options
author | Travis Howell | 2005-04-03 01:42:06 +0000 |
---|---|---|
committer | Travis Howell | 2005-04-03 01:42:06 +0000 |
commit | 2e1ce57b5f72823a8ce8bce0bf8826162897822f (patch) | |
tree | 3e27042f7f1d4d996001aa33d2fd707437077413 | |
parent | 13e2492b93de53622665fd9e479c548bef96060f (diff) | |
download | scummvm-rg350-2e1ce57b5f72823a8ce8bce0bf8826162897822f.tar.gz scummvm-rg350-2e1ce57b5f72823a8ce8bce0bf8826162897822f.tar.bz2 scummvm-rg350-2e1ce57b5f72823a8ce8bce0bf8826162897822f.zip |
Add additional case.
svn-id: r17341
-rw-r--r-- | scumm/sprite_he.cpp | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/scumm/sprite_he.cpp b/scumm/sprite_he.cpp index a102fad5eb..0ec68be5ed 100644 --- a/scumm/sprite_he.cpp +++ b/scumm/sprite_he.cpp @@ -671,10 +671,20 @@ void ScummEngine_v90he::spriteInfoSet_flag22(int spriteId, int value) { void ScummEngine_v90he::spriteInfoSet_flagMarkDirty(int spriteId, int value) { checkRange(_varNumSprites, 1, spriteId, "Invalid sprite %d"); - if (value) + switch(value) { + case 2: + _spriteTable[spriteId].flags &= ~(kSFMarkDirty); + _spriteTable[spriteId].flags |= kSFBlitDirectly; + break; + case 1: _spriteTable[spriteId].flags |= kSFMarkDirty | kSFBlitDirectly; - else + break; + case 0: _spriteTable[spriteId].flags &= ~(kSFMarkDirty | kSFBlitDirectly); + break; + default: + error("spriteInfoSet_flagMarkDirty: Invalid value %d", value); + } } void ScummEngine_v90he::spriteInfoSet_flagHasImage(int spriteId, int value) { @@ -834,12 +844,8 @@ void ScummEngine_v90he::spriteGroupSet_case0_3(int spriteGroupId, int value) { checkRange(_varNumSpriteGroups, 1, spriteGroupId, "Invalid sprite group %d"); for (int i = 1; i < _varNumSprites; i++) { - if (_spriteTable[i].groupNum == spriteGroupId) { - if (value) - _spriteTable[i].flags |= kSFMarkDirty | kSFBlitDirectly; - else - _spriteTable[i].flags &= ~(kSFMarkDirty | kSFBlitDirectly); - } + if (_spriteTable[i].groupNum == spriteGroupId) + spriteInfoSet_flagMarkDirty(i, value); } } |