[Scummvm-cvs-logs] CVS: scummvm/scumm intern.h,2.367,2.368 script_v100he.cpp,2.65,2.66 script_v90he.cpp,2.160,2.161 sprite_he.cpp,1.62,1.63
kirben
kirben at users.sourceforge.net
Fri Feb 25 20:00:05 CET 2005
- Previous message: [Scummvm-cvs-logs] CVS: scummvm/scumm sprite_he.cpp,1.61,1.62
- Next message: [Scummvm-cvs-logs] CVS: scummvm/scumm intern.h,2.368,2.369 script_v100he.cpp,2.66,2.67 script_v90he.cpp,2.161,2.162 sprite_he.cpp,1.63,1.64
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Update of /cvsroot/scummvm/scummvm/scumm
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31949/scumm
Modified Files:
intern.h script_v100he.cpp script_v90he.cpp sprite_he.cpp
Log Message:
Rename sprite function
Correct spritesResetSpriteGroup
Index: intern.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/intern.h,v
retrieving revision 2.367
retrieving revision 2.368
diff -u -d -r2.367 -r2.368
--- intern.h 25 Feb 2005 15:19:02 -0000 2.367
+++ intern.h 26 Feb 2005 03:57:11 -0000 2.368
@@ -959,11 +959,11 @@
void spriteGroupSet_tx_ty(int spriteGroupId, int value1, int value2);
void spriteGroupSet_case26(int spriteGroupId, int value);
void spriteGroupSet_case28(int spriteGroupId, int value1, int value2);
- void spriteGroupSet_fields_0_4_8_C(int spriteGroupId, int value1, int value2, int value3, int value4);
+ void spriteGroupSet_bbox(int spriteGroupId, int x1, int y1, int x2, int y2);
void spriteGroupSet_case56(int spriteGroupId);
void spritesAllocTables(int numSprites, int numGroups, int numMaxSprites);
- void spritesResetGroup(int spriteGroupId);
+ void spritesResetSpriteGroup(int spriteGroupId);
void spritesResetTables(bool refreshScreen);
void spriteGroupCheck(int spriteGroupId);
void spriteMarkIfInGroup(int spriteGroupId, uint32 flags);
Index: script_v100he.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v100he.cpp,v
retrieving revision 2.65
retrieving revision 2.66
diff -u -d -r2.65 -r2.66
--- script_v100he.cpp 25 Feb 2005 20:15:00 -0000 2.65
+++ script_v100he.cpp 26 Feb 2005 03:57:11 -0000 2.66
@@ -858,7 +858,7 @@
if (!_curSpriteGroupId)
break;
- spriteGroupSet_fields_0_4_8_C(_curSpriteGroupId, value1, value2, value3, value4);
+ spriteGroupSet_bbox(_curSpriteGroupId, value1, value2, value3, value4);
break;
case 38:
type = pop() - 1;
@@ -945,7 +945,7 @@
if (!_curSpriteGroupId)
break;
- spritesResetGroup(_curSpriteGroupId);
+ spritesResetSpriteGroup(_curSpriteGroupId);
break;
case 54:
// dummy case
Index: script_v90he.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v90he.cpp,v
retrieving revision 2.160
retrieving revision 2.161
diff -u -d -r2.160 -r2.161
--- script_v90he.cpp 25 Feb 2005 20:15:01 -0000 2.160
+++ script_v90he.cpp 26 Feb 2005 03:57:11 -0000 2.161
@@ -1507,7 +1507,7 @@
if (!_curSpriteGroupId)
break;
- spriteGroupSet_fields_0_4_8_C(_curSpriteGroupId, value1, value2, value3, value4);
+ spriteGroupSet_bbox(_curSpriteGroupId, value1, value2, value3, value4);
break;
case 56:
if (!_curSpriteGroupId)
@@ -1519,7 +1519,7 @@
if (!_curSpriteGroupId)
break;
- spritesResetGroup(_curSpriteGroupId);
+ spritesResetSpriteGroup(_curSpriteGroupId);
break;
default:
error("o90_setSpriteGroupInfo: Unknown case %d", subOp);
Index: sprite_he.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/sprite_he.cpp,v
retrieving revision 1.62
retrieving revision 1.63
diff -u -d -r1.62 -r1.63
--- sprite_he.cpp 26 Feb 2005 01:39:52 -0000 1.62
+++ sprite_he.cpp 26 Feb 2005 03:57:11 -0000 1.63
@@ -697,9 +697,10 @@
origResId = _spriteTable[spriteId].res_id;
origResWizStates = _spriteTable[spriteId].res_wiz_states;
- if (imageNum == 1)
+ if (imageNum == 1) {
_spriteTable[spriteId].res_id = *spriteIdptr;
- else {
+ } else {
+ // This section is currently never called
if (!_curSprImageListNum)
error("Out of image lists");
@@ -957,14 +958,14 @@
redrawSpriteGroup(spriteGroupId);
}
-void ScummEngine_v90he::spriteGroupSet_fields_0_4_8_C(int spriteGroupId, int value1, int value2, int value3, int value4) {
+void ScummEngine_v90he::spriteGroupSet_bbox(int spriteGroupId, int x1, int y1, int x2, int y2) {
checkRange(_varNumSpriteGroups, 1, spriteGroupId, "Invalid sprite group %d");
_spriteGroups[spriteGroupId].flags |= kSGF01;
- _spriteGroups[spriteGroupId].bbox.left = value1;
- _spriteGroups[spriteGroupId].bbox.top = value2;
- _spriteGroups[spriteGroupId].bbox.right = value3;
- _spriteGroups[spriteGroupId].bbox.bottom = value4;
+ _spriteGroups[spriteGroupId].bbox.left = x1;
+ _spriteGroups[spriteGroupId].bbox.top = y1;
+ _spriteGroups[spriteGroupId].bbox.right = x2;
+ _spriteGroups[spriteGroupId].bbox.bottom = y2;
redrawSpriteGroup(spriteGroupId);
}
@@ -989,50 +990,13 @@
_imageListStack = (uint16 *)malloc((_varMaxSprites + 1) * sizeof(uint16));
}
-void ScummEngine_v90he::spritesResetGroup(int spriteGroupId) {
- int i;
-
- SpriteGroup *spg = &_spriteGroups[spriteGroupId];
+void ScummEngine_v90he::spritesResetSpriteGroup(int spriteGroupId) {
checkRange(_varNumSpriteGroups, 1, spriteGroupId, "Invalid sprite group %d");
- if (spg->field_10 != 0) {
- spg->field_10 = 0;
- spriteGroupCheck(spriteGroupId);
- for (i = 0; i < _numSpritesToProcess; ++i) {
- SpriteInfo *spi = _activeSpritesTable[i];
- if (spi->group_num == spriteGroupId) {
- spi->flags |= kSFChanged | kSFNeedRedraw;
- }
- }
- }
- if (spg->tx != 0 || spg->ty != 0) {
- spg->tx = spg->ty = 0;
- spriteGroupCheck(spriteGroupId);
- for (i = 0; i < _numSpritesToProcess; ++i) {
- SpriteInfo *spi = _activeSpritesTable[i];
- if (spi->group_num == spriteGroupId) {
- spi->flags |= kSFChanged | kSFNeedRedraw;
- }
- }
- }
- spg->flags &= ~kSGF01;
- spriteMarkIfInGroup(spriteGroupId, kSFChanged | kSFNeedRedraw);
- if (spg->field_20 != 0) {
- spriteGroupCheck(spriteGroupId);
- for (i = 0; i < _numSpritesToProcess; ++i) {
- SpriteInfo *spi = _activeSpritesTable[i];
- if (spi->group_num == spriteGroupId) {
- spi->flags |= kSFChanged | kSFNeedRedraw;
- }
- }
+
+ for (int i = 1; i < _varNumSprites; i++) {
+ if (_spriteTable[i].group_num == spriteGroupId)
+ spriteInfoSet_resetSprite(i);
}
- spriteGroupCheck(spriteGroupId);
- spg->scaling = 0;
- spg->scale_x = 0x3F800000;
- spg->field_30 = 0;
- spg->field_34 = 0;
- spg->scale_y = 0x3F800000;
- spg->field_38 = 0;
- spg->field_3C = 0;
}
void ScummEngine_v90he::spritesResetTables(bool refreshScreen) {
@@ -1043,9 +1007,49 @@
}
memset(_spriteTable, 0, (_varNumSprites + 1) * sizeof(SpriteInfo));
memset(_spriteGroups, 0, (_varNumSpriteGroups + 1) * sizeof(SpriteGroup));
- for (int curGrp = 1; curGrp < _varNumSpriteGroups; ++curGrp)
- spritesResetGroup(curGrp);
-
+ for (int curGrp = 1; curGrp < _varNumSpriteGroups; ++curGrp) {
+ SpriteGroup *spg = &_spriteGroups[curGrp];
+ checkRange(_varNumSpriteGroups, 1, curGrp, "Invalid sprite group %d");
+ if (spg->field_10) {
+ spg->field_10 = 0;
+ spriteGroupCheck(curGrp);
+ for (i = 0; i < _numSpritesToProcess; ++i) {
+ SpriteInfo *spi = _activeSpritesTable[i];
+ if (spi->group_num == curGrp) {
+ spi->flags |= kSFChanged | kSFNeedRedraw;
+ }
+ }
+ }
+ if (spg->tx || spg->ty) {
+ spg->tx = spg->ty = 0;
+ spriteGroupCheck(curGrp);
+ for (i = 0; i < _numSpritesToProcess; ++i) {
+ SpriteInfo *spi = _activeSpritesTable[i];
+ if (spi->group_num == curGrp) {
+ spi->flags |= kSFChanged | kSFNeedRedraw;
+ }
+ }
+ }
+ spg->flags &= ~kSGF01;
+ spriteMarkIfInGroup(curGrp, kSFChanged | kSFNeedRedraw);
+ if (spg->field_20 != 0) {
+ spriteGroupCheck(curGrp);
+ for (i = 0; i < _numSpritesToProcess; ++i) {
+ SpriteInfo *spi = _activeSpritesTable[i];
+ if (spi->group_num == curGrp) {
+ spi->flags |= kSFChanged | kSFNeedRedraw;
+ }
+ }
+ }
+ spriteGroupCheck(curGrp);
+ spg->scaling = 0;
+ spg->scale_x = 0x3F800000;
+ spg->field_30 = 0;
+ spg->field_34 = 0;
+ spg->scale_y = 0x3F800000;
+ spg->field_38 = 0;
+ spg->field_3C = 0;
+ }
if (refreshScreen) {
gdi.copyVirtScreenBuffers(Common::Rect(_screenWidth, _screenHeight));
}
@@ -1102,7 +1106,7 @@
}
refreshScreen = true;
}
- if (!(spi->flags & (kSFNeedRedraw | kSF30)) && (spi->res_id != 0)) {
+ if (!(spi->flags & (kSFNeedRedraw | kSF30)) && spi->res_id) {
spi->flags |= kSFNeedRedraw;
}
}
@@ -1151,9 +1155,9 @@
if (spi->flags & kSFYFlipped) {
if (spi->field_78 != 0) {
--spi->field_64;
- if (spi->field_64 != 0) {
+ if (spi->field_64)
continue;
- }
+
spi->field_64 = spi->field_78;
}
int state = spi->res_state;
@@ -1166,9 +1170,9 @@
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;
- if (img2 >= img1) {
+ if (img2 >= img1)
img2 = 0;
- }
+
if (spi->field_74 != img2) {
spi->field_74 = img2;
spi->res_id = _imageListTable[0x21 * (img2 - 1)];
- Previous message: [Scummvm-cvs-logs] CVS: scummvm/scumm sprite_he.cpp,1.61,1.62
- Next message: [Scummvm-cvs-logs] CVS: scummvm/scumm intern.h,2.368,2.369 script_v100he.cpp,2.66,2.67 script_v90he.cpp,2.161,2.162 sprite_he.cpp,1.63,1.64
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the Scummvm-git-logs
mailing list