1
0
mirror of https://github.com/blawar/ooot.git synced 2024-06-25 22:09:34 +00:00
ooot/include/z_collision_check.h.bak
2022-01-31 19:05:17 -05:00

91 lines
8.0 KiB
C

void Collider_DrawRedPoly(struct GraphicsContext* gfxCtx, Vec3f* vA, Vec3f* vB, Vec3f* vC);
void Collider_DrawPoly(struct GraphicsContext* gfxCtx, Vec3f* vA, Vec3f* vB, Vec3f* vC, u8 r, u8 g, u8 b);
s32 Collider_InitJntSph(struct GlobalContext* globalCtx, ColliderJntSph* collider);
s32 Collider_FreeJntSph(struct GlobalContext* globalCtx, ColliderJntSph* collider);
s32 Collider_DestroyJntSph(struct GlobalContext* globalCtx, ColliderJntSph* collider);
s32 Collider_SetJntSphToActor(struct GlobalContext* globalCtx, ColliderJntSph* dest, ColliderJntSphInitToActor* src);
s32 Collider_SetJntSphAllocType1(struct GlobalContext* globalCtx, ColliderJntSph* dest, Actor* actor,
ColliderJntSphInitType1* src);
s32 Collider_SetJntSphAlloc(struct GlobalContext* globalCtx, ColliderJntSph* dest, Actor* actor, ColliderJntSphInit* src);
s32 Collider_SetJntSph(struct GlobalContext* globalCtx, ColliderJntSph* dest, Actor* actor, ColliderJntSphInit* src,
ColliderJntSphElement* elements);
s32 Collider_ResetJntSphAT(struct GlobalContext* globalCtx, Collider* collider);
s32 Collider_ResetJntSphAC(struct GlobalContext* globalCtx, Collider* collider);
s32 Collider_ResetJntSphOC(struct GlobalContext* globalCtx, Collider* collider);
s32 Collider_InitCylinder(struct GlobalContext* globalCtx, ColliderCylinder* collider);
s32 Collider_DestroyCylinder(struct GlobalContext* globalCtx, ColliderCylinder* collider);
s32 Collider_SetCylinderToActor(struct GlobalContext* globalCtx, ColliderCylinder* collider, ColliderCylinderInitToActor* src);
s32 Collider_SetCylinderType1(struct GlobalContext* globalCtx, ColliderCylinder* collider, Actor* actor,
ColliderCylinderInitType1* src);
s32 Collider_SetCylinder(struct GlobalContext* globalCtx, ColliderCylinder* collider, Actor* actor, ColliderCylinderInit* src);
s32 Collider_ResetCylinderAT(struct GlobalContext* globalCtx, Collider* collider);
s32 Collider_ResetCylinderAC(struct GlobalContext* globalCtx, Collider* collider);
s32 Collider_ResetCylinderOC(struct GlobalContext* globalCtx, Collider* collider);
s32 Collider_InitTris(struct GlobalContext* globalCtx, ColliderTris* tris);
s32 Collider_FreeTris(struct GlobalContext* globalCtx, ColliderTris* tris);
s32 Collider_DestroyTris(struct GlobalContext* globalCtx, ColliderTris* tris);
s32 Collider_SetTrisAllocType1(struct GlobalContext* globalCtx, ColliderTris* dest, Actor* actor, ColliderTrisInitType1* src);
s32 Collider_SetTrisAlloc(struct GlobalContext* globalCtx, ColliderTris* dest, Actor* actor, ColliderTrisInit* src);
s32 Collider_SetTris(struct GlobalContext* globalCtx, ColliderTris* dest, Actor* actor, ColliderTrisInit* src,
ColliderTrisElement* elements);
s32 Collider_ResetTrisAT(struct GlobalContext* globalCtx, Collider* collider);
s32 Collider_ResetTrisAC(struct GlobalContext* globalCtx, Collider* collider);
s32 Collider_ResetTrisOC(struct GlobalContext* globalCtx, Collider* collider);
s32 Collider_InitQuad(struct GlobalContext* globalCtx, ColliderQuad* collider);
s32 Collider_DestroyQuad(struct GlobalContext* globalCtx, ColliderQuad* collider);
s32 Collider_SetQuadType1(struct GlobalContext* globalCtx, ColliderQuad* collider, Actor* actor, ColliderQuadInitType1* src);
s32 Collider_SetQuad(struct GlobalContext* globalCtx, ColliderQuad* collider, Actor* actor, ColliderQuadInit* src);
s32 Collider_ResetQuadAT(struct GlobalContext* globalCtx, Collider* collider);
s32 Collider_ResetQuadAC(struct GlobalContext* globalCtx, Collider* collider);
s32 Collider_ResetQuadOC(struct GlobalContext* globalCtx, Collider* collider);
s32 Collider_InitLine(struct GlobalContext* globalCtx, OcLine* line);
s32 Collider_DestroyLine(struct GlobalContext* globalCtx, OcLine* line);
s32 Collider_SetLinePoints(struct GlobalContext* globalCtx, OcLine* ocLine, Vec3f* a, Vec3f* b);
s32 Collider_SetLine(struct GlobalContext* globalCtx, OcLine* dest, OcLine* src);
s32 Collider_ResetLineOC(struct GlobalContext* globalCtx, OcLine* line);
void CollisionCheck_InitContext(struct GlobalContext* globalCtx, CollisionCheckContext* colChkCtx);
void CollisionCheck_DestroyContext(struct GlobalContext* globalCtx, CollisionCheckContext* colChkCtx);
void CollisionCheck_ClearContext(struct GlobalContext* globalCtx, CollisionCheckContext* colChkCtx);
void CollisionCheck_EnableSAC(struct GlobalContext* globalCtx, CollisionCheckContext* colChkCtx);
void CollisionCheck_DisableSAC(struct GlobalContext* globalCtx, CollisionCheckContext* colChkCtx);
void Collider_Draw(struct GlobalContext* globalCtx, Collider* collider);
void CollisionCheck_DrawCollision(struct GlobalContext* globalCtx, CollisionCheckContext* colChkCtx);
s32 CollisionCheck_SetAT(struct GlobalContext* globalCtx, CollisionCheckContext* colChkCtx, Collider* collider);
s32 CollisionCheck_SetAT_SAC(struct GlobalContext* globalCtx, CollisionCheckContext* colChkCtx, Collider* collider, s32 index);
s32 CollisionCheck_SetAC(struct GlobalContext* globalCtx, CollisionCheckContext* colChkCtx, Collider* collider);
s32 CollisionCheck_SetAC_SAC(struct GlobalContext* globalCtx, CollisionCheckContext* colChkCtx, Collider* collider, s32 index);
s32 CollisionCheck_SetOC(struct GlobalContext* globalCtx, CollisionCheckContext* colChkCtx, Collider* collider);
s32 CollisionCheck_SetOC_SAC(struct GlobalContext* globalCtx, CollisionCheckContext* colChkCtx, Collider* collider, s32 index);
s32 CollisionCheck_SetOCLine(struct GlobalContext* globalCtx, CollisionCheckContext* colChkCtx, OcLine* collider);
void CollisionCheck_BlueBlood(struct GlobalContext* globalCtx, Collider* collider, Vec3f* v);
void CollisionCheck_AT(struct GlobalContext* globalCtx, CollisionCheckContext* colChkCtx);
void CollisionCheck_OC(struct GlobalContext* globalCtx, CollisionCheckContext* colChkCtx);
void CollisionCheck_InitInfo(CollisionCheckInfo* info);
void CollisionCheck_ResetDamage(CollisionCheckInfo* info);
void CollisionCheck_SetInfoNoDamageTable(CollisionCheckInfo* info, CollisionCheckInfoInit* init);
void CollisionCheck_SetInfo(CollisionCheckInfo* info, DamageTable* damageTable, CollisionCheckInfoInit* init);
void CollisionCheck_SetInfo2(CollisionCheckInfo* info, DamageTable* damageTable, CollisionCheckInfoInit2* init);
void CollisionCheck_SetInfoGetDamageTable(CollisionCheckInfo* info, s32 index, CollisionCheckInfoInit2* init);
void CollisionCheck_Damage(struct GlobalContext* globalCtx, CollisionCheckContext* colChkCtx);
s32 CollisionCheck_LineOCCheckAll(struct GlobalContext* globalCtx, CollisionCheckContext* colChkCtx, Vec3f* a, Vec3f* b);
s32 CollisionCheck_LineOCCheck(struct GlobalContext* globalCtx, CollisionCheckContext* colChkCtx, Vec3f* a, Vec3f* b,
Actor** exclusions, s32 numExclusions);
void Collider_UpdateCylinder(Actor* actor, ColliderCylinder* collider);
void Collider_SetCylinderPosition(ColliderCylinder* collider, Vec3s* pos);
void Collider_SetQuadVertices(ColliderQuad* collider, Vec3f* a, Vec3f* b, Vec3f* c, Vec3f* d);
void Collider_SetTrisVertices(ColliderTris* collider, s32 index, Vec3f* a, Vec3f* b, Vec3f* c);
void Collider_SetTrisDim(struct GlobalContext* globalCtx, ColliderTris* collider, s32 index, ColliderTrisElementDimInit* init);
void Collider_UpdateSpheres(s32 limb, ColliderJntSph* collider);
void CollisionCheck_SpawnRedBlood(struct GlobalContext* globalCtx, Vec3f* v);
void CollisionCheck_SpawnWaterDroplets(struct GlobalContext* globalCtx, Vec3f* v);
void CollisionCheck_SpawnShieldParticles(struct GlobalContext* globalCtx, Vec3f* v);
void CollisionCheck_SpawnShieldParticlesMetal(struct GlobalContext* globalCtx, Vec3f* v);
void CollisionCheck_SpawnShieldParticlesMetalSound(struct GlobalContext* globalCtx, Vec3f* v, Vec3f* actorPos);
void CollisionCheck_SpawnShieldParticlesMetal2(struct GlobalContext* globalCtx, Vec3f* v);
void CollisionCheck_SpawnShieldParticlesWood(struct GlobalContext* globalCtx, Vec3f* b, Vec3f* actorPos);
s32 CollisionCheck_CylSideVsLineSeg(f32 radius, f32 height, f32 offset, Vec3f* actorPos, Vec3f* itemPos,
Vec3f* itemProjPos, Vec3f* out1, Vec3f* out2);
u8 CollisionCheck_GetSwordDamage(s32 dmgFlags);