[Scummvm-cvs-logs] CVS: scummvm/scumm sprite_he.cpp,1.73,1.74
kirben
kirben at users.sourceforge.net
Sat Feb 26 21:17:54 CET 2005
Update of /cvsroot/scummvm/scummvm/scumm
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30640/scumm
Modified Files:
sprite_he.cpp
Log Message:
Correction, only redraw if flags changed.
Index: sprite_he.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/sprite_he.cpp,v
retrieving revision 1.73
retrieving revision 1.74
diff -u -d -r1.73 -r1.74
--- sprite_he.cpp 27 Feb 2005 03:36:33 -0000 1.73
+++ sprite_he.cpp 27 Feb 2005 05:14:24 -0000 1.74
@@ -532,36 +532,39 @@
void ScummEngine_v90he::spriteInfoSet_flag13(int spriteId, int value) {
checkRange(_varNumSprites, 1, spriteId, "Invalid sprite %d");
+ int oldFlags = _spriteTable[spriteId].flags;
if (value)
_spriteTable[spriteId].flags |= kSF13;
else
_spriteTable[spriteId].flags &= ~(kSF09 | kSF13);
- if (_spriteTable[spriteId].res_id)
+ if (_spriteTable[spriteId].res_id && _spriteTable[spriteId].flags != oldFlags)
_spriteTable[spriteId].flags |= kSFChanged | kSFNeedRedraw;
}
void ScummEngine_v90he::spriteInfoSet_flag14(int spriteId, int value) {
checkRange(_varNumSprites, 1, spriteId, "Invalid sprite %d");
+ int oldFlags = _spriteTable[spriteId].flags;
if (value)
_spriteTable[spriteId].flags |= kSF14;
else
_spriteTable[spriteId].flags &= ~(kSF09 | kSF14);
- if (_spriteTable[spriteId].res_id)
+ if (_spriteTable[spriteId].res_id && _spriteTable[spriteId].flags != oldFlags)
_spriteTable[spriteId].flags |= kSFChanged | kSFNeedRedraw;
}
void ScummEngine_v90he::spriteInfoSet_flag15(int spriteId, int value) {
checkRange(_varNumSprites, 1, spriteId, "Invalid sprite %d");
+ int oldFlags = _spriteTable[spriteId].flags;
if (value)
_spriteTable[spriteId].flags |= kSF15;
else
_spriteTable[spriteId].flags &= ~(kSF09 | kSF15);
- if (_spriteTable[spriteId].res_id)
+ if (_spriteTable[spriteId].res_id && _spriteTable[spriteId].flags != oldFlags)
_spriteTable[spriteId].flags |= kSFChanged | kSFNeedRedraw;
}
@@ -577,12 +580,13 @@
void ScummEngine_v90he::spriteInfoSet_flag20(int spriteId, int value) {
checkRange(_varNumSprites, 1, spriteId, "Invalid sprite %d");
+ int oldFlags = _spriteTable[spriteId].flags;
if (value)
_spriteTable[spriteId].flags |= kSF20;
else
_spriteTable[spriteId].flags &= ~(kSFChanged | kSF20);
- if (_spriteTable[spriteId].res_id)
+ if (_spriteTable[spriteId].res_id && _spriteTable[spriteId].flags != oldFlags)
_spriteTable[spriteId].flags |= kSFChanged | kSFNeedRedraw;
}
More information about the Scummvm-git-logs
mailing list