[Scummvm-cvs-logs] CVS: scummvm/scumm intern.h,2.356,2.357 script_v90he.cpp,2.148,2.149 sprite_he.cpp,1.30,1.31 sprite_he.h,1.8,1.9
kirben
kirben at users.sourceforge.net
Wed Feb 23 01:25:20 CET 2005
Update of /cvsroot/scummvm/scummvm/scumm
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24503/scumm
Modified Files:
intern.h script_v90he.cpp sprite_he.cpp sprite_he.h
Log Message:
freddicove adds extra SpriteInfo field.
Correction, only redraw sprite if value changed.
Index: intern.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/intern.h,v
retrieving revision 2.356
retrieving revision 2.357
diff -u -d -r2.356 -r2.357
--- intern.h 23 Feb 2005 04:35:18 -0000 2.356
+++ intern.h 23 Feb 2005 09:23:53 -0000 2.357
@@ -938,6 +938,7 @@
void spriteInfoSet_field_78_64(int spriteId, int value);
void spriteInfoSet_setClassFlags(int spriteId, int value1, int value2);
void spriteInfoSet_resetClassFlags(int spriteId);
+ void spriteInfoSet_field_88(int spriteId, int value1, int value2);
void redrawSpriteGroup(int spriteGroupId);
void spriteGroupSet_case0_0(int spriteGroupId, int value1, int value2);
Index: script_v90he.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v90he.cpp,v
retrieving revision 2.148
retrieving revision 2.149
diff -u -d -r2.148 -r2.149
--- script_v90he.cpp 23 Feb 2005 04:35:19 -0000 2.148
+++ script_v90he.cpp 23 Feb 2005 09:23:53 -0000 2.149
@@ -1234,8 +1234,16 @@
}
break;
case 105: // HE 99+
- pop();
- pop();
+ args[1] = pop();
+ args[0] = pop();
+ if (_curSpriteId > _curMaxSpriteId)
+ break;
+ spriteId = _curSpriteId;
+ if (!spriteId)
+ spriteId++;
+
+ for (; spriteId <= _curMaxSpriteId; spriteId++)
+ spriteInfoSet_field_88(spriteId, args[0], args[1]);
break;
case 106: // HE 99+
args[0] = pop();
Index: sprite_he.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/sprite_he.cpp,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -d -r1.30 -r1.31
--- sprite_he.cpp 23 Feb 2005 05:26:56 -0000 1.30
+++ sprite_he.cpp 23 Feb 2005 09:23:53 -0000 1.31
@@ -386,7 +386,7 @@
_spriteTable[spriteId].tx += value1;
_spriteTable[spriteId].ty += value2;
- if (_spriteTable[spriteId].tx || _spriteTable[spriteId].ty)
+ if (value1 || value2)
_spriteTable[spriteId].flags |= kSF01 | kSFNeedRedraw;
}
@@ -525,6 +525,15 @@
_spriteTable[spriteId].class_flags = 0;
}
+void ScummEngine_v90he::spriteInfoSet_field_88(int spriteId, int value1, int value2) {
+ checkRange(_varNumSprites, 1, spriteId, "Invalid sprite %d");
+
+ if (value1 == 0x7B) {
+ _spriteTable[spriteId].field_88 = value2;
+ _spriteTable[spriteId].flags |= kSF01 | kSFNeedRedraw;
+ }
+}
+
void ScummEngine_v90he::spriteInfoSet_resetSprite(int spriteId) {
checkRange(_varNumSprites, 1, spriteId, "Invalid sprite %d");
Index: sprite_he.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/sprite_he.h,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -d -r1.8 -r1.9
--- sprite_he.h 22 Feb 2005 21:38:44 -0000 1.8
+++ sprite_he.h 23 Feb 2005 09:23:54 -0000 1.9
@@ -100,6 +100,7 @@
int field_7C;
int field_80;
int class_flags;
+ int field_88;
};
struct SpriteGroup {
More information about the Scummvm-git-logs
mailing list