z_collision_check.c (#58)

* setup

* Progress on z_collision_check.c

* Further progress on z_collision_check.c

* renamed code_0x800E03A0 to z_collision_btltbls, z_collision_check.c decompiled besides bss

* Structs changes

* Document functions

* overlayhelpers folder, colliderinit.py and ichaindis.py

* Flags, format existing ColliderInits

* Fix merge

* Few more small improvements

* Review suggestions
This commit is contained in:
Tharo
2021-03-22 21:48:15 +00:00
committed by GitHub
parent 32d0e622fd
commit 1a2e6d7ffe
28 changed files with 6520 additions and 918 deletions
+62 -79
View File
@@ -358,11 +358,11 @@ extern DmaEntry dmadata[1568];
// extern UNK_TYPE1 D_801AAAB0;
// extern UNK_TYPE1 D_801AD370;
extern ActorInit En_A_Obj_InitVars;
extern ColCylinderInit enAObjCylinderInit;
extern ColliderCylinderInit enAObjCylinderInit;
extern InitChainEntry enAObjInitVar;
extern u32 enAObjDisplayLists[2];
extern ActorInit En_Item00_InitVars;
extern ColCylinderInit enItem00CylinderInit;
extern ColliderCylinderInit enItem00CylinderInit;
extern InitChainEntry enItem00InitVars[1];
// extern UNK_TYPE1 D_801ADF10;
// extern UNK_TYPE1 D_801ADF14;
@@ -856,39 +856,32 @@ extern camera_update_func cameraUpdateFuncs[71];
// extern UNK_TYPE4 D_801B9ED4;
// extern UNK_TYPE4 D_801B9F04;
// extern UNK_TYPE2 D_801B9F0C;
// extern UNK_TYPE4 D_801B9F10;
extern s800E03A0 D_801B9F20[23];
extern f32 gDamageMultipliers[16];
extern ColCommon defaultColCommon;
extern ColTouch defaultColTouch;
extern ColBump defaultColBump;
extern ColBodyInfo defaultColBodyInfo;
extern ColSphereParams defaultColSphereInfo;
extern ColCylinderParams defaultColCylinderInfo;
extern ColTriParams defaultColTriParams;
extern ColQuadParams defaultColQuadParams;
// extern UNK_TYPE1 D_801BA32C;
extern collision_add_func collisionAddATFuncs[5];
extern collision_add_func collisionAddACFuncs[5];
extern collision_add_func collisionAddOTFuncs[5];
extern UNK_PTR D_801BA374;
// extern UNK_TYPE1 D_801BA38C;
// extern UNK_TYPE1 D_801BA38D;
extern UNK_PTR D_801BA3A8;
extern collision_func collisionFuncTableATwithAC[25];
extern collision_func collisionFuncTableOTwithOT[25];
extern CollisionCheckInfo D_801BA484;
extern UNK_PTR D_801BA4A0;
// extern UNK_TYPE1 D_801BA4B4;
extern EffShieldParticleInit D_801BA4C8;
// extern UNK_TYPE1 D_801BA4F6;
// extern UNK_TYPE1 D_801BA4F8;
// extern UNK_TYPE1 D_801BA4FA;
extern EffShieldParticleInit D_801BA508;
// extern UNK_TYPE1 D_801BA536;
// extern UNK_TYPE1 D_801BA538;
// extern UNK_TYPE1 D_801BA53A;
// extern UNK_TYPE1 D_801BA550;
extern UNK_TYPE4 D_801B9F10;
extern DamageTable sDamageTablePresets[23];
extern f32 damageMultipliers[16];
extern Collider defaultCollider;
extern ColliderTouch defaultColliderTouch;
extern ColliderBump defaultColliderBump;
extern ColliderInfo defaultColliderInfo;
extern ColliderJntSphElementDim defaultColliderJntSphElementDim;
extern Cylinder16 defaultColliderCylinderDim;
extern TriNorm defaultColliderTrisElementDim;
extern ColliderQuadDim defaultColliderQuadDim;
extern Vec3f defaultLinePoint;
extern ColChkResetFunc sATResetFuncs[COLSHAPE_MAX];
extern ColChkResetFunc sACResetFuncs[COLSHAPE_MAX];
extern ColChkResetFunc sOCResetFuncs[COLSHAPE_MAX];
extern ColChkBloodFunc sBloodFuncs[6];
extern HitInfo sHitInfo[14];
extern ColChkApplyFunc sColChkApplyFuncs[COLSHAPE_MAX];
extern ColChkVsFunc sACVsFuncs[COLSHAPE_MAX][COLSHAPE_MAX];
extern ColChkVsFunc sOCVsFuncs[COLSHAPE_MAX][COLSHAPE_MAX];
extern CollisionCheckInfo defaultColChkInfo;
extern ColChkApplyFunc sApplyDamageFuncs[COLSHAPE_MAX];
extern ColChkLineFunc sOCLineCheckFuncs[COLSHAPE_MAX];
extern EffShieldParticleInit shieldParticleInitMetal;
extern EffShieldParticleInit shieldParticleInitWood;
extern UNK_TYPE1 D_801BA550;
// extern UNK_TYPE1 D_801BA750;
// extern UNK_TYPE1 D_801BA790;
// extern UNK_TYPE1 D_801BA7F0;
@@ -940,7 +933,7 @@ extern Actor* actorCutsceneCurrentCutsceneActor;
extern GlobalContext* actorCutscenesGlobalCtxt;
extern s16 actorCutsceneReturnCamera;
extern s16 D_801BD8C6;
extern ColCylinderInit fireObjCollisionInit;
extern ColliderCylinderInit fireObjCollisionInit;
extern FireObjLightParams D_801BD8FC[2];
extern GameStateOverlay initialGameStateInfo;
extern GameStateOverlay D_801BD940;
@@ -3866,8 +3859,8 @@ extern f32 D_801EDB98;
extern f32 D_801EDB9C;
extern f32 D_801EDBA0;
// extern UNK_TYPE1 D_801EDBA4;
extern ColSphereCollisionInfo D_801EDBA8;
extern ColTriParams D_801EDBB0;
extern Sphere16 D_801EDBA8;
extern TriNorm D_801EDBB0;
// extern UNK_TYPE1 D_801EDBD4;
// extern UNK_TYPE1 D_801EDBD8;
// extern UNK_TYPE1 D_801EDBDC;
@@ -3894,54 +3887,44 @@ extern s16 D_801EDBF0;
// extern UNK_TYPE1 D_801EDDE0;
// extern UNK_TYPE1 D_801EDDF0;
extern Vec3f D_801EDE00;
// extern UNK_TYPE1 D_801EDE10;
extern Vec3f D_801EDE10;
extern Vec3f D_801EDE20;
// extern UNK_TYPE1 D_801EDE30;
// extern UNK_TYPE1 D_801EDE40;
// extern UNK_TYPE1 D_801EDE78;
// extern UNK_TYPE1 D_801EDEB0;
// extern UNK_TYPE1 D_801EDEBC;
// extern UNK_TYPE1 D_801EDEC8;
// extern UNK_TYPE1 D_801EDF00;
// extern UNK_TYPE1 D_801EDF38;
// extern UNK_TYPE1 D_801EDF48;
// extern UNK_TYPE1 D_801EDF58;
// extern UNK_TYPE1 D_801EDF90;
// extern UNK_TYPE1 D_801EDFC8;
// extern UNK_TYPE1 D_801EDFD4;
// extern UNK_TYPE1 D_801EDFE0;
// extern UNK_TYPE1 D_801EDFF0;
// extern UNK_TYPE1 D_801EE000;
// extern UNK_TYPE1 D_801EE038;
// extern UNK_TYPE1 D_801EE070;
// extern UNK_TYPE1 D_801EE0A4;
// extern UNK_TYPE1 D_801EE0D8;
// extern UNK_TYPE1 D_801EE0E8;
// extern UNK_TYPE1 D_801EE11C;
// extern UNK_TYPE1 D_801EE150;
// extern UNK_TYPE1 D_801EE188;
// extern UNK_TYPE1 D_801EE1C0;
// extern UNK_TYPE1 D_801EE1C4;
// extern UNK_TYPE1 D_801EE1C8;
// extern UNK_TYPE1 D_801EE1D0;
// extern UNK_TYPE1 D_801EE1D4;
// extern UNK_TYPE1 D_801EE1D8;
// extern UNK_TYPE1 D_801EE1E0;
// extern UNK_TYPE1 D_801EE1E4;
// extern UNK_TYPE1 D_801EE1E8;
// extern UNK_TYPE1 D_801EE1F0;
extern Vec3f D_801EDE30;
extern TriNorm D_801EDE40;
extern TriNorm D_801EDE78;
extern LineSegment D_801EDEB0;
extern TriNorm D_801EDEC8;
extern TriNorm D_801EDF00;
extern Vec3f D_801EDF38;
extern Vec3f D_801EDF48;
extern TriNorm D_801EDF58;
extern TriNorm D_801EDF90;
extern LineSegment D_801EDFC8;
extern Vec3f D_801EDFE0;
extern Vec3f D_801EDFF0;
extern TriNorm D_801EE000;
extern TriNorm D_801EE038;
extern TriNorm D_801EE070[2];
extern Vec3f D_801EE0D8;
extern TriNorm D_801EE0E8[2];
extern TriNorm D_801EE150;
extern TriNorm D_801EE188;
extern Vec3f D_801EE1C0;
extern Vec3f D_801EE1D0;
extern Vec3f D_801EE1E0;
extern Vec3f D_801EE1F0;
// extern UNK_TYPE1 D_801EE1F4;
// extern UNK_TYPE1 D_801EE1F8;
extern EffSparkParams D_801EE200;
extern ColTriParams D_801EE6C8;
extern ColTriParams D_801EE700;
extern TriNorm D_801EE6C8;
extern TriNorm D_801EE700;
extern EffSparkParams D_801EE738;
extern EffSparkParams D_801EEC00;
extern EffSparkParams D_801EF0C8;
// extern UNK_TYPE1 D_801EF590;
// extern UNK_TYPE1 D_801EF5C8;
extern ColTriParams D_801EF600;
extern ColTriParams D_801EF638;
extern TriNorm D_801EF590;
extern TriNorm D_801EF5C8;
extern TriNorm D_801EF600;
extern TriNorm D_801EF638;
// extern UNK_TYPE1 D_801EF66D;
extern SaveContext gSaveContext;
// extern UNK_TYPE2 D_801F3F38;