aboutsummaryrefslogtreecommitdiff
path: root/engines/scumm/he/logic_he.h
diff options
context:
space:
mode:
authorAlyssa Milburn2011-08-16 23:38:36 +0200
committerAlyssa Milburn2011-08-17 00:03:49 +0200
commit9fd46049de6c3648d575eecfa1348c73e89bff65 (patch)
tree3e9ade8be5f64a7ecc48251d92202bbb5ac41f30 /engines/scumm/he/logic_he.h
parent23dce51605b66f732a7052fe6fc52909ae62b18f (diff)
downloadscummvm-rg350-9fd46049de6c3648d575eecfa1348c73e89bff65.tar.gz
scummvm-rg350-9fd46049de6c3648d575eecfa1348c73e89bff65.tar.bz2
scummvm-rg350-9fd46049de6c3648d575eecfa1348c73e89bff65.zip
SCUMM: Mass-comment/rename/simplify the soccer u32 code.
Diffstat (limited to 'engines/scumm/he/logic_he.h')
-rw-r--r--engines/scumm/he/logic_he.h50
1 files changed, 25 insertions, 25 deletions
diff --git a/engines/scumm/he/logic_he.h b/engines/scumm/he/logic_he.h
index 03352738c4..caf699d300 100644
--- a/engines/scumm/he/logic_he.h
+++ b/engines/scumm/he/logic_he.h
@@ -122,47 +122,47 @@ public:
int startOfFrame();
private:
- int op_1005(float a1, float a2, float a3, float a4, float a5, float a6, float *a7, float *a8, float *a9, float *a10);
+ int op_1005(float x1, float y1, float z1, float x2, float y2, float z2, float *nextVelX, float *nextVelY, float *nextVelZ, float *a10);
int op_1006(int32 a1, int32 a2, int32 a3, int32 a4);
int op_1007(int32 *args);
- int op_1008(int a1, int a2, int a3, int a4, int a5, int a6, int a7, int a8, int a9, int a10, int a11, int a12, int a13, int a14, int a15, int a16, int a17, int a18, int a19);
- int op_1011(int32 a1, int32 a2, int32 a3, int32 a4, int32 a5, int32 a6);
+ int op_1008(int outArray, int srcX, int srcY, int srcZ, int vecX, int vecY, int vecZ, int airResX, int airResY, int airResZ, int vecNumerator, int vecDenom, int gravityMult, int requiredSegments, int a15, int a16, int a17, int a18, int fieldType);
+ int op_1011(int32 worldPosArray, int32 screenPosArray, int32 a3, int32 closestActorArray, int32 maxDistance, int32 fieldAreaArray);
int op_1012(int32 *args);
int op_1013(int32 a1, int32 a2, int32 a3);
- int op_1014(int32 a1, int32 a2, int32 a3, int32 a4, int32 a5, int32 a6, int32 a7, int32 a8, int32 a9, int32 a10, int32 a11, int32 a12, int32 a13, int32 a14);
+ int op_1014(int32 srcX, int32 srcY, int32 srcZ, int32 velX, int32 velY, int32 velZ, int32 outArray, int32 dataArrayId, int32 indexArrayId, int32 requestType, int32 vecNumerator, int32 vecDenom, int32 a13, int32 a14);
int op_1016(int32 *args);
int op_1017(int32 *args);
int op_1019(int32 *args);
- int op_1021(int32 a1, int32 a2, int32 a3, int32 a4, int32 a5, int32 a6, int32 a7);
+ int op_1021(int32 inX, int32 inY, int32 inZ, int32 velX, int32 velY, int32 velZ, int32 internalUse);
// op_1007 allocates some arrays
// they're then filled by op_1019
- byte _byteArray1[4096], _byteArray2[585];
+ byte _collisionObjIds[4096], _collisionNodeEnabled[585];
// op_1011 has a subfunction
- void op_1011_sub(int32 a1, int32 a2, int32 a3, int32 a4);
+ void calculateDistances(int32 worldPosArray, int32 a2, int32 closestActorArray, int32 maxDistance);
- // op_1013 creates some array, purpose unknown
- bool _array1013Allocated;
- uint32 *_array1013;
- int op_sub5(int a1, int a2, int a3);
+ // array containing collision detection tree
+ bool _collisionTreeAllocated;
+ uint32 *_collisionTree;
+ int addCollisionTreeChild(int depth, int index, int parent);
// op_1014 has several subops
// ...and several sub-subops
- int op_1014_sub0(float a1, float a2, float a3, float a4, float a5, float a6);
- int op_1014_sub0_0(int a1, int a2, uint32 *a3, int a4);
- void op_1014_sub0_0_0(byte a1);
- int op_1014_sub1(int a1, float a2, float a3, float a4, float a5, float *a6, float &a7, float &a8, float &a9, int a10, int a11, float *a12, float *a13, float *a14, float *a15);
- void op_1014_sub1_0(int a1, float &a2, float &a3, float &a4, float &a5, float &a6, float &a7, float &a8, float &a9, float &a10, float &a11, float &a12, float &a13, int a14[24]);
- void op_1014_sub1_1(float a1, float a2, float a3, float a4, float a5, float a6, float a7, float a8, float a9, float a10, float a11, float a12, float &a13, float &a14, float &a15);
- double op_1014_sub1_2(float a1, float a2, float a3, float a4, float a5, float a6);
- void op_1014_sub2(float *a1, int a2, int a3, int a4);
- int op_1014_sub3(float *a1, int a2, int a3, int a4, int a5, int a6, int a7, float a8, int a9, int a10, int a11, int *a12);
-
- // op_1014 sets an array optionally based upon op_1014_sub3
- // This array is then used by op_1008
- int _array1014[10];
- Common::List<byte> _list1014;
+ int generateCollisionObjectList(float srcX, float srcY, float srcZ, float velX, float velY, float velZ);
+ int addFromCollisionTreeNode(int index, int parent, uint32 *indices, int objIndexBase);
+ void addCollisionObj(byte objId);
+ int findCollisionWith(int objId, float inX, float inY, float inZ, float inXVec, float inYVec, float inZVec, float &collideX, float &collideY, float &collideZ, int indexArrayId, int dataArrayId, float *nextVelX, float *nextVelY, float *nextVelZ, float *a15);
+ void getPointsForFace(int faceId, float &x1, float &y1, float &z1, float &x2, float &y2, float &z2, float &x3, float &y3, float &z3, float &x4, float &y4, float &z4, const int *objPoints);
+ void crossProduct(float x1, float y1, float z1, float x2, float y2, float z2, float x3, float y3, float z3, float x4, float y4, float z4, float &outX, float &outY, float &outZ);
+ double dotProduct(float a1, float a2, float a3, float a4, float a5, float a6);
+ void sortCollisionList(float *data, int numEntries, int entrySize, int compareOn);
+ int setCollisionOutputData(float *collisionData, int entrySize, int dataArrayId, int indexArrayId, int startX, int startY, int startZ, float a8, int a9, int a10, int a11, int *out);
+
+ // op_1014 sets an array optionally based upon
+ // setCollisionOutputData; it is then used by op_1008
+ int _internalCollisionOutData[10];
+ Common::List<byte> _collisionObjs;
// op_1021 can (optionally) set two variables for use in op_1008
uint32 _var1021[2];