[Scummvm-cvs-logs] CVS: scummvm/scumm intern.h,2.337,2.338 script_v90he.cpp,2.127,2.128 sprite_he.cpp,1.5,1.6
kirben
kirben at users.sourceforge.net
Sun Feb 20 15:31:43 CET 2005
- Previous message: [Scummvm-cvs-logs] CVS: scummvm/scumm intern.h,2.336,2.337 sprite_he.cpp,1.4,1.5 sprite_he.h,1.3,1.4
- Next message: [Scummvm-cvs-logs] CVS: scummvm/scumm intern.h,2.338,2.339 script_v90he.cpp,2.128,2.129 sprite_he.cpp,1.6,1.7
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Update of /cvsroot/scummvm/scummvm/scumm
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv8891/scumm
Modified Files:
intern.h script_v90he.cpp sprite_he.cpp
Log Message:
Add more sprite functions
Index: intern.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/intern.h,v
retrieving revision 2.337
retrieving revision 2.338
diff -u -d -r2.337 -r2.338
--- intern.h 20 Feb 2005 22:16:31 -0000 2.337
+++ intern.h 20 Feb 2005 23:30:36 -0000 2.338
@@ -879,6 +879,19 @@
int spriteInfoGet_flags_6(int spriteNum);
int spriteInfoGet_flags_7(int spriteNum);
int spriteInfoGet_flags_8(int spriteNum);
+ int spriteInfoGet_resId(int spriteNun);
+ int spriteInfoGet_resState(int spriteNun);
+ int spriteInfoGet_groupNum(int spriteNun);
+ int spriteInfoGet_field_18(int spriteNun);
+ int spriteInfoGet_grp_tx(int spriteNun);
+ int spriteInfoGet_grp_ty(int spriteNun);
+ int spriteInfoGet_field_44(int spriteNun);
+ int spriteInfoGet_field_54(int spriteNun);
+ int spriteInfoGet_wizSize(int spriteNun);
+ int spriteInfoGet_zoom(int spriteNun);
+ int spriteInfoGet_field_78(int spriteNun);
+ int spriteInfoGet_field_80(int spriteNun);
+
void spritesAllocTables(int numSprites, int numGroups, int numImgSprites);
void spritesResetTables(bool refreshScreen);
void spriteGroupCheck(int sprGrpId);
Index: script_v90he.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v90he.cpp,v
retrieving revision 2.127
retrieving revision 2.128
diff -u -d -r2.127 -r2.128
--- script_v90he.cpp 20 Feb 2005 13:26:30 -0000 2.127
+++ script_v90he.cpp 20 Feb 2005 23:30:37 -0000 2.128
@@ -723,16 +723,32 @@
pop();
break;
case 6:
- pop();
+ eax = pop();
+ if (eax)
+ push(spriteInfoGet_wizSize(eax));
+ else
+ push(0);
break;
case 7:
- pop();
+ eax = pop();
+ if (eax)
+ push(spriteInfoGet_groupNum(eax));
+ else
+ push(0);
break;
case 8:
- pop();
+ eax = pop();
+ if (eax)
+ push(spriteInfoGet_grp_tx(eax));
+ else
+ push(0);
break;
case 9:
- pop();
+ eax = pop();
+ if (eax)
+ push(spriteInfoGet_grp_ty(eax));
+ else
+ push(0);
break;
case 12:
esi = pop();
@@ -762,7 +778,11 @@
}
break;
case 13:
- pop();
+ eax = pop();
+ if (eax)
+ push(spriteInfoGet_field_18(eax));
+ else
+ push(0);
break;
case 15:
if (_heversion == 99) {
@@ -783,13 +803,25 @@
}
break;
case 22:
- pop();
+ eax = pop();
+ if (eax)
+ push(spriteInfoGet_resState(eax));
+ else
+ push(0);
break;
case 33:
- pop();
+ eax = pop();
+ if (eax)
+ push(spriteInfoGet_resId(eax));
+ else
+ push(0);
break;
case 38:
- pop();
+ eax = pop();
+ if (eax)
+ push(spriteInfoGet_flags_8(eax));
+ else
+ push(1);
break;
case 52:
eax = pop();
@@ -799,13 +831,25 @@
push(0);
break;
case 62:
- pop();
+ eax = pop();
+ if (eax)
+ push(spriteInfoGet_zoom(eax));
+ else
+ push(0);
break;
case 67:
- pop();
+ eax = pop();
+ if (eax)
+ push(spriteInfoGet_field_78(eax));
+ else
+ push(0);
break;
case 68:
- pop();
+ eax = pop();
+ if (eax)
+ push(spriteInfoGet_field_54(eax));
+ else
+ push(0);
break;
case 94:
eax = pop();
@@ -818,9 +862,25 @@
getStackList(args, ARRAYSIZE(args));
pop();
break;
- case 168:
+ case 109:
+ // dummy case
pop();
+ push(0);
+ break;
+ case 110:
+ eax = pop();
+ if (eax)
+ push(spriteInfoGet_field_80(eax));
+ else
+ push(0);
+ break;
+ case 168:
pop();
+ eax = pop();
+ if (eax)
+ push(spriteInfoGet_field_44(eax));
+ else
+ push(0);
break;
default:
error("o90_getSpriteInfo: Unknown case %d", subOp);
Index: sprite_he.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/sprite_he.cpp,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- sprite_he.cpp 20 Feb 2005 22:16:31 -0000 1.5
+++ sprite_he.cpp 20 Feb 2005 23:30:37 -0000 1.6
@@ -83,6 +83,78 @@
return ((_spriteTable[spriteNum].flags & kSF31) != 0) ? 1 : 0;
}
+int ScummEngine_v90he::spriteInfoGet_resId(int spriteNum) {
+ checkRange(_numSprites, 1, spriteNum, "spriteInfoGet_resId: Invalid sprite %d");
+
+ return _spriteTable[spriteNum].res_id;
+}
+
+int ScummEngine_v90he::spriteInfoGet_resState(int spriteNum) {
+ checkRange(_numSprites, 1, spriteNum, "spriteInfoGet_resState: Invalid sprite %d");
+
+ return _spriteTable[spriteNum].res_state;
+}
+
+int ScummEngine_v90he::spriteInfoGet_groupNum(int spriteNum) {
+ checkRange(_numSprites, 1, spriteNum, "spriteInfoGet_groupNum: Invalid sprite %d");
+
+ return _spriteTable[spriteNum].group_num;
+}
+
+int ScummEngine_v90he::spriteInfoGet_field_18(int spriteNum) {
+ checkRange(_numSprites, 1, spriteNum, "spriteInfoGet_field_18: Invalid sprite %d");
+
+ return _spriteTable[spriteNum].field_18;
+}
+
+int ScummEngine_v90he::spriteInfoGet_grp_tx(int spriteNum) {
+ checkRange(_numSprites, 1, spriteNum, "spriteInfoGet_grp_tx: Invalid sprite %d");
+
+ return _spriteTable[spriteNum].tx;
+}
+
+int ScummEngine_v90he::spriteInfoGet_grp_ty(int spriteNum) {
+ checkRange(_numSprites, 1, spriteNum, "spriteInfoGet_grp_ty: Invalid sprite %d");
+
+ return _spriteTable[spriteNum].ty;
+}
+
+int ScummEngine_v90he::spriteInfoGet_field_44(int spriteNum) {
+ checkRange(_numSprites, 1, spriteNum, "spriteInfoGet_field_44: Invalid sprite %d");
+
+ return _spriteTable[spriteNum].field_44;
+}
+
+int ScummEngine_v90he::spriteInfoGet_field_54(int spriteNum) {
+ checkRange(_numSprites, 1, spriteNum, "spriteInfoGet_field_54: Invalid sprite %d");
+
+ return _spriteTable[spriteNum].field_54;
+}
+
+int ScummEngine_v90he::spriteInfoGet_wizSize(int spriteNum) {
+ checkRange(_numSprites, 1, spriteNum, "spriteInfoGet_wizSize: Invalid sprite %d");
+
+ return _spriteTable[spriteNum].res_wiz_states;
+}
+
+int ScummEngine_v90he::spriteInfoGet_zoom(int spriteNum) {
+ checkRange(_numSprites, 1, spriteNum, "spriteInfoGet_zoom: Invalid sprite %d");
+
+ return _spriteTable[spriteNum].zoom;
+}
+
+int ScummEngine_v90he::spriteInfoGet_field_78(int spriteNum) {
+ checkRange(_numSprites, 1, spriteNum, "spriteInfoGet_field_78: Invalid sprite %d");
+
+ return _spriteTable[spriteNum].field_78;
+}
+
+int ScummEngine_v90he::spriteInfoGet_field_80(int spriteNum) {
+ checkRange(_numSprites, 1, spriteNum, "spriteInfoGet_field_80: Invalid sprite %d");
+
+ return _spriteTable[spriteNum].field_80;
+}
+
void ScummEngine_v90he::spritesAllocTables(int numSprites, int numGroups, int numImgLists) {
_varNumSpriteGroups = numGroups;
_numSpritesToProcess = 0;
- Previous message: [Scummvm-cvs-logs] CVS: scummvm/scumm intern.h,2.336,2.337 sprite_he.cpp,1.4,1.5 sprite_he.h,1.3,1.4
- Next message: [Scummvm-cvs-logs] CVS: scummvm/scumm intern.h,2.338,2.339 script_v90he.cpp,2.128,2.129 sprite_he.cpp,1.6,1.7
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the Scummvm-git-logs
mailing list