diff options
-rw-r--r-- | scumm/intern.h | 4 | ||||
-rw-r--r-- | scumm/script_v90he.cpp | 6 | ||||
-rw-r--r-- | scumm/sprite_he.cpp | 7 |
3 files changed, 8 insertions, 9 deletions
diff --git a/scumm/intern.h b/scumm/intern.h index b1dbbc32c9..15eb74b69a 100644 --- a/scumm/intern.h +++ b/scumm/intern.h @@ -935,8 +935,8 @@ protected: void spriteInfoSet_flags23_26(int spriteId, int value); void spriteInfoSet_flag31(int spriteId, int value); void spriteInfoSet_field_78_64(int spriteId, int value); - void spriteInfoSet_classFlags_1(int spriteId, int value1, int value2); - void spriteInfoSet_classFlags_2(int spriteId); + void spriteInfoSet_setClassFlags(int spriteId, int value1, int value2); + void spriteInfoSet_resetClassFlags(int spriteId); void spritesAllocTables(int numSprites, int numGroups, int numMaxSprites); void spritesResetTables(bool refreshScreen); diff --git a/scumm/script_v90he.cpp b/scumm/script_v90he.cpp index 76a39bae1f..1c5293563e 100644 --- a/scumm/script_v90he.cpp +++ b/scumm/script_v90he.cpp @@ -1218,15 +1218,15 @@ void ScummEngine_v90he::o90_setSpriteInfo() { int code = *p; if (code == 0) { for (int i = _curSpriteId; i <= _curMaxSpriteId; ++i) { - spriteInfoSet_classFlags_2(i); + spriteInfoSet_resetClassFlags(i); } } else if (code & 0x80) { for (int i = _curSpriteId; i <= _curMaxSpriteId; ++i) { - spriteInfoSet_classFlags_1(i, code & 0x7F, 1); + spriteInfoSet_setClassFlags(i, code & 0x7F, 1); } } else { for (int i = _curSpriteId; i <= _curMaxSpriteId; ++i) { - spriteInfoSet_classFlags_1(i, code & 0x7F, 0); + spriteInfoSet_setClassFlags(i, code & 0x7F, 0); } } --p; diff --git a/scumm/sprite_he.cpp b/scumm/sprite_he.cpp index 0b32c61e4d..79c36cac83 100644 --- a/scumm/sprite_he.cpp +++ b/scumm/sprite_he.cpp @@ -485,19 +485,18 @@ void ScummEngine_v90he::spriteInfoSet_field_78_64(int spriteId, int value) { _spriteTable[spriteId].field_64 = value; } -void ScummEngine_v90he::spriteInfoSet_classFlags_1(int spriteId, int classId, int toggle) { +void ScummEngine_v90he::spriteInfoSet_setClassFlags(int spriteId, int classId, int toggle) { checkRange(_varNumSprites, 1, spriteId, "Invalid sprite %d"); checkRange(32, 1, classId, "class %d out of range in statement"); - // XXX if (toggle) { _spriteTable[spriteId].flags |= 1 << (classId - 1); } else { - _spriteTable[spriteId].flags &= 1 << (classId - 1); + _spriteTable[spriteId].flags &= ~(1 << (classId - 1)); } } -void ScummEngine_v90he::spriteInfoSet_classFlags_2(int spriteId) { +void ScummEngine_v90he::spriteInfoSet_resetClassFlags(int spriteId) { checkRange(_varNumSprites, 1, spriteId, "Invalid sprite %d"); _spriteTable[spriteId].class_flags = 0; |