[Scummvm-cvs-logs] CVS: scummvm/scumm sprite_he.cpp,1.65,1.66 sprite_he.h,1.15,1.16
Gregory Montoir
cyx at users.sourceforge.net
Sat Feb 26 02:08:15 CET 2005
Update of /cvsroot/scummvm/scummvm/scumm
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22312/scumm
Modified Files:
sprite_he.cpp sprite_he.h
Log Message:
fix issue in spritesBlitToScreen and added some suggestions for fields/flags renaming
Index: sprite_he.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/sprite_he.cpp,v
retrieving revision 1.65
retrieving revision 1.66
diff -u -d -r1.65 -r1.66
--- sprite_he.cpp 26 Feb 2005 04:53:43 -0000 1.65
+++ sprite_he.cpp 26 Feb 2005 10:02:21 -0000 1.66
@@ -1086,27 +1086,28 @@
if (spi->bbox.left <= spi->bbox.right && spi->bbox.top <= spi->bbox.bottom) {
if (spi->flags & kSFBlitDirectly) {
gdi.copyVirtScreenBuffers(spi->bbox); // XXX 0, 0x40000000);
- }
- } else if (firstLoop) {
- xmin = spi->bbox.left;
- ymin = spi->bbox.top;
- xmax = spi->bbox.right;
- ymax = spi->bbox.bottom;
- firstLoop = false;
- } else {
- if (xmin < spi->bbox.left) {
+ } else if (firstLoop) {
xmin = spi->bbox.left;
- }
- if (ymin < spi->bbox.top) {
ymin = spi->bbox.top;
- }
- if (xmax > spi->bbox.right) {
xmax = spi->bbox.right;
- }
- if (ymax > spi->bbox.bottom) {
ymax = spi->bbox.bottom;
+ firstLoop = false;
+ refreshScreen = true;
+ } else {
+ if (xmin < spi->bbox.left) {
+ xmin = spi->bbox.left;
+ }
+ if (ymin < spi->bbox.top) {
+ ymin = spi->bbox.top;
+ }
+ if (xmax > spi->bbox.right) {
+ xmax = spi->bbox.right;
+ }
+ if (ymax > spi->bbox.bottom) {
+ ymax = spi->bbox.bottom;
+ }
+ refreshScreen = true;
}
- refreshScreen = true;
}
if (!(spi->flags & (kSFNeedRedraw | kSF30)) && spi->res_id) {
spi->flags |= kSFNeedRedraw;
@@ -1168,7 +1169,6 @@
spi->res_state = 0;
if (spi->imglist_num != 0) {
if (!(spi->flags & kSF25)) {
- // XXX
checkRange(_varMaxSprites, 1, spi->imglist_num, "Image list %d out of range");
uint16 img1 = _imageListTable[0x21 * spi->imglist_num - 1];
uint16 img2 = spi->field_74 + 1;
Index: sprite_he.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/sprite_he.h,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -d -r1.15 -r1.16
--- sprite_he.h 24 Feb 2005 23:28:56 -0000 1.15
+++ sprite_he.h 26 Feb 2005 10:02:22 -0000 1.16
@@ -56,17 +56,17 @@
kSF28 = (1 << 27),
kSF29 = (1 << 28),
kSF30 = (1 << 29),
- kSF31 = (1 << 30),
+ kSF31 = (1 << 30), // kSFHasImage ?
kSF32 = (1 << 31)
};
enum SpriteGroupFlags {
- kSGF01 = 1 << 0,
- kSGF02 = 1 << 1
+ kSGF01 = 1 << 0, // kSGFClipBox
+ kSGF02 = 1 << 1 // kSGFNeedRedraw
};
struct SpriteInfo {
- int field_0;
+ int field_0; // zorder ?
int flags;
int res_id;
int res_state;
@@ -104,7 +104,7 @@
struct SpriteGroup {
Common::Rect bbox;
- int field_10;
+ int field_10; // zorderPriority ?
int flags;
int tx;
int ty;
@@ -112,10 +112,10 @@
int scaling;
int scale_x;
int scale_y;
- int field_30;
- int field_34;
- int field_38;
- int field_3C;
+ int field_30; // scale_x_ratio_mul
+ int field_34; // scale_x_ratio_div
+ int field_38; // scale_y_ratio_mul
+ int field_3C; // scale_y_ratio_div
};
int _varNumSpriteGroups;
More information about the Scummvm-git-logs
mailing list