[Scummvm-cvs-logs] CVS: scummvm/saga actor.cpp,1.166,1.167
Andrew Kurushin
h00ligan at users.sourceforge.net
Sun Aug 7 23:49:06 CEST 2005
- Previous message: [Scummvm-cvs-logs] CVS: residual/imuse .cvsignore,1.1,1.2
- Next message: [Scummvm-cvs-logs] CVS: residual/dists/devcpp Makefile.win,1.1,NONE residual.dev,1.2,NONE residual_private.h,1.1,NONE residual_private.rc,1.1,NONE
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Update of /cvsroot/scummvm/scummvm/saga
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10258
Modified Files:
actor.cpp
Log Message:
check IHNM skiped data (loadActorList&loadObjList)
Index: actor.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/actor.cpp,v
retrieving revision 1.166
retrieving revision 1.167
diff -u -d -r1.166 -r1.167
--- actor.cpp 7 Aug 2005 11:20:43 -0000 1.166
+++ actor.cpp 8 Aug 2005 06:47:56 -0000 1.167
@@ -377,10 +377,16 @@
}
void Actor::loadActorList(int protagonistIdx, int actorCount, int actorsResourceID, int protagStatesCount, int protagStatesResourceID) {
- int i;
+ int i, j;
ActorData *actor;
byte* actorListData;
size_t actorListLength;
+ byte walk[128];
+ byte acv[6];
+ int movementSpeed;
+ int walkStepIndex;
+ int walkStepCount;
+
freeActorList();
_vm->_resource->loadResource(_actorContext, actorsResourceID, actorListData, actorListLength);
@@ -428,17 +434,40 @@
actor->frameNumber = actorS.readUint16LE();
actor->finalTarget.fromStream(actorS);
actor->partialTarget.fromStream(actorS);
- actorS.readUint16LE(); //movement speed
- actorS.seek(128, SEEK_CUR);
- actorS.readByte();//walkStepIndex
- actorS.readByte();//walkStepCount
+ movementSpeed = actorS.readUint16LE(); //movement speed
+ if (movementSpeed) {
+ error("Actor::loadActorList movementSpeed != 0");
+ }
+ actorS.read(walk, 128);
+ for (j = 0; j < 128; j++) {
+ if (walk[j]) {
+ error("Actor::loadActorList walk[128] != 0");
+ }
+ }
+ //actorS.seek(128, SEEK_CUR);
+ walkStepIndex = actorS.readByte();//walkStepIndex
+ if (walkStepIndex) {
+ error("Actor::loadActorList walkStepIndex != 0");
+ }
+ walkStepCount = actorS.readByte();//walkStepCount
+ if (walkStepCount) {
+ error("Actor::loadActorList walkStepCount != 0");
+ }
+ //no need to check pointers
actorS.readUint32LE(); //sprites
actorS.readUint32LE(); //frames
actorS.readUint32LE(); //last zone
actor->targetObject = actorS.readUint16LE();
actor->actorFlags = actorS.readUint16LE();
+ //no need to check pointers
actorS.readUint32LE(); //next in scene
- actorS.seek(6, SEEK_CUR); //action vars
+ actorS.read(acv, 6);
+ for (j = 0; j < 6; j++) {
+ if (walk[j]) {
+ error("Actor::loadActorList acv[6] != 0");
+ }
+ }
+// actorS.seek(6, SEEK_CUR); //action vars
}
free(actorListData);
@@ -499,6 +528,7 @@
void Actor::loadObjList(int objectCount, int objectsResourceID) {
int i;
+ int frameListResourceId;
ObjectData *object;
byte* objectListData;
size_t objectListLength;
@@ -526,7 +556,10 @@
object->screenPosition.y = objectS.readUint16LE();
object->screenScale = objectS.readUint16LE();
object->screenDepth = objectS.readUint16LE();
- objectS.readUint32LE(); // object->frameListResourceId
+ frameListResourceId = objectS.readUint32LE(); // object->frameListResourceId
+ if (frameListResourceId) {
+ error("Actor::loadObjList frameListResourceId != 0");
+ }
object->spriteListResourceId = objectS.readUint32LE();
object->scriptEntrypointNumber = objectS.readUint32LE();
objectS.readByte();
- Previous message: [Scummvm-cvs-logs] CVS: residual/imuse .cvsignore,1.1,1.2
- Next message: [Scummvm-cvs-logs] CVS: residual/dists/devcpp Makefile.win,1.1,NONE residual.dev,1.2,NONE residual_private.h,1.1,NONE residual_private.rc,1.1,NONE
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the Scummvm-git-logs
mailing list