aboutsummaryrefslogtreecommitdiff
path: root/scumm/sprite_he.cpp
diff options
context:
space:
mode:
authorTravis Howell2005-04-03 01:42:06 +0000
committerTravis Howell2005-04-03 01:42:06 +0000
commit2e1ce57b5f72823a8ce8bce0bf8826162897822f (patch)
tree3e27042f7f1d4d996001aa33d2fd707437077413 /scumm/sprite_he.cpp
parent13e2492b93de53622665fd9e479c548bef96060f (diff)
downloadscummvm-rg350-2e1ce57b5f72823a8ce8bce0bf8826162897822f.tar.gz
scummvm-rg350-2e1ce57b5f72823a8ce8bce0bf8826162897822f.tar.bz2
scummvm-rg350-2e1ce57b5f72823a8ce8bce0bf8826162897822f.zip
Add additional case.
svn-id: r17341
Diffstat (limited to 'scumm/sprite_he.cpp')
-rw-r--r--scumm/sprite_he.cpp22
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);
}
}