mirror of
https://github.com/zeldaret/mm.git
synced 2026-07-04 20:25:31 -04:00
+2
-2
@@ -852,12 +852,12 @@ Actor* Actor_FindNearby(struct PlayState* play, Actor* inActor, s16 actorId, u8
|
||||
s32 func_800BE184(struct PlayState* play, Actor* actor, f32 xzDist, s16 arg3, s16 arg4, s16 arg5);
|
||||
u8 Actor_ApplyDamage(Actor* actor);
|
||||
void Actor_SetDropFlag(Actor* actor, ColliderElement* elem);
|
||||
void Actor_SetDropFlagJntSph(Actor* actor, ColliderJntSph* jntSphere);
|
||||
void Actor_SetDropFlagJntSph(Actor* actor, ColliderJntSph* jntSph);
|
||||
void func_800BE33C(Vec3f* arg0, Vec3f* arg1, Vec3s* dst, s32 arg3);
|
||||
void func_800BE3D0(Actor* actor, s16 angle, Vec3s* arg2);
|
||||
void func_800BE504(Actor* actor, ColliderCylinder* collider);
|
||||
void func_800BE568(Actor* actor, ColliderSphere* collider);
|
||||
void func_800BE5CC(Actor* actor, ColliderJntSph* collider, s32 colliderIndex);
|
||||
void func_800BE5CC(Actor* actor, ColliderJntSph* jntSph, s32 elemIndex);
|
||||
s32 Actor_IsSmallChest(struct EnBox* chest);
|
||||
void Actor_DrawDamageEffects(struct PlayState* play, Actor* actor, Vec3f bodyPartsPos[], s16 bodyPartsCount,
|
||||
f32 effectScale, f32 frozenSteamScale, f32 effectAlpha, u8 type);
|
||||
|
||||
@@ -93,6 +93,12 @@ typedef struct {
|
||||
/* 0x16 */ u8 ocElemFlags; // Information flags for OC collisions
|
||||
} ColliderElementInit; // size = 0x18
|
||||
|
||||
/*
|
||||
* JntSph - A collider made of sphere shaped elements. Each sphere can attach to a skeleton joint (limb).
|
||||
*/
|
||||
|
||||
// collider structs
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ Sphere16 modelSphere; // model space sphere
|
||||
/* 0x08 */ Sphere16 worldSphere; // world space sphere
|
||||
@@ -101,27 +107,29 @@ typedef struct {
|
||||
} ColliderJntSphElementDim; // size = 0x18
|
||||
|
||||
typedef struct {
|
||||
/* 0x0 */ u8 limb; // attached limb
|
||||
/* 0x2 */ Sphere16 modelSphere; // model space sphere
|
||||
/* 0xA */ s16 scale; // world space sphere = model * scale * 0.01
|
||||
} ColliderJntSphElementDimInit; // size = 0xC
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ ColliderElement info;
|
||||
/* 0x00 */ ColliderElement base;
|
||||
/* 0x28 */ ColliderJntSphElementDim dim;
|
||||
} ColliderJntSphElement; // size = 0x40
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ ColliderElementInit info;
|
||||
/* 0x18 */ ColliderJntSphElementDimInit dim;
|
||||
} ColliderJntSphElementInit; // size = 0x24
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ Collider base;
|
||||
/* 0x18 */ s32 count;
|
||||
/* 0x1C */ ColliderJntSphElement* elements;
|
||||
} ColliderJntSph; // size = 0x20
|
||||
|
||||
// init data structs
|
||||
|
||||
typedef struct {
|
||||
/* 0x0 */ u8 limb; // attached limb
|
||||
/* 0x2 */ Sphere16 modelSphere; // model space sphere
|
||||
/* 0xA */ s16 scale; // world space sphere = model * scale * 0.01
|
||||
} ColliderJntSphElementDimInit; // size = 0xC
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ ColliderElementInit base;
|
||||
/* 0x18 */ ColliderJntSphElementDimInit dim;
|
||||
} ColliderJntSphElementInit; // size = 0x24
|
||||
|
||||
typedef struct {
|
||||
/* 0x0 */ ColliderInit base;
|
||||
/* 0x8 */ s32 count;
|
||||
@@ -492,19 +500,19 @@ void Collider_ResetOCElement(struct PlayState* play, ColliderElement* elem);
|
||||
s32 Collider_InitJntSphElementDim(struct PlayState* play, ColliderJntSphElementDim* dim);
|
||||
s32 Collider_DestroyJntSphElementDim(struct PlayState* play, ColliderJntSphElementDim* dim);
|
||||
s32 Collider_SetJntSphElementDim(struct PlayState* play, ColliderJntSphElementDim* dest, ColliderJntSphElementDimInit* src);
|
||||
s32 Collider_InitJntSphElement(struct PlayState* play, ColliderJntSphElement* element);
|
||||
s32 Collider_DestroyJntSphElement(struct PlayState* play, ColliderJntSphElement* element);
|
||||
s32 Collider_InitJntSphElement(struct PlayState* play, ColliderJntSphElement* jntSphElem);
|
||||
s32 Collider_DestroyJntSphElement(struct PlayState* play, ColliderJntSphElement* jntSphElem);
|
||||
s32 Collider_SetJntSphElement(struct PlayState* play, ColliderJntSphElement* dest, ColliderJntSphElementInit* src);
|
||||
s32 Collider_ResetJntSphElementAT(struct PlayState* play, ColliderJntSphElement* collider);
|
||||
s32 Collider_ResetJntSphElementAC(struct PlayState* play, ColliderJntSphElement* collider);
|
||||
s32 Collider_ResetJntSphElementOC(struct PlayState* play, ColliderJntSphElement* collider);
|
||||
s32 Collider_InitJntSph(struct PlayState* play, ColliderJntSph* collider);
|
||||
s32 Collider_FreeJntSph(struct PlayState* play, ColliderJntSph* collider);
|
||||
s32 Collider_DestroyJntSph(struct PlayState* play, ColliderJntSph* collider);
|
||||
s32 Collider_SetJntSphToActor(struct PlayState* play, ColliderJntSph* collider, ColliderJntSphInitToActor* src);
|
||||
s32 Collider_SetJntSphAllocType1(struct PlayState* play, ColliderJntSph* sphereGroup, struct Actor* actor, ColliderJntSphInitType1* src);
|
||||
s32 Collider_SetJntSph(struct PlayState* play, ColliderJntSph* sphereGroup, struct Actor* actor, ColliderJntSphInit* src, ColliderJntSphElement* elements);
|
||||
s32 Collider_InitAndSetJntSph(struct PlayState* play, ColliderJntSph* sphereGroup, struct Actor* actor, ColliderJntSphInit* src, ColliderJntSphElement* elements);
|
||||
s32 Collider_ResetJntSphElementAT(struct PlayState* play, ColliderJntSphElement* jntSphElem);
|
||||
s32 Collider_ResetJntSphElementAC(struct PlayState* play, ColliderJntSphElement* jntSphElem);
|
||||
s32 Collider_ResetJntSphElementOC(struct PlayState* play, ColliderJntSphElement* jntSphElem);
|
||||
s32 Collider_InitJntSph(struct PlayState* play, ColliderJntSph* jntSph);
|
||||
s32 Collider_FreeJntSph(struct PlayState* play, ColliderJntSph* jntSph);
|
||||
s32 Collider_DestroyJntSph(struct PlayState* play, ColliderJntSph* jntSph);
|
||||
s32 Collider_SetJntSphToActor(struct PlayState* play, ColliderJntSph* dest, ColliderJntSphInitToActor* src);
|
||||
s32 Collider_SetJntSphAllocType1(struct PlayState* play, ColliderJntSph* dest, struct Actor* actor, ColliderJntSphInitType1* src);
|
||||
s32 Collider_SetJntSph(struct PlayState* play, ColliderJntSph* dest, struct Actor* actor, ColliderJntSphInit* src, ColliderJntSphElement* jntSphElements);
|
||||
s32 Collider_InitAndSetJntSph(struct PlayState* play, ColliderJntSph* dest, struct Actor* actor, ColliderJntSphInit* src, ColliderJntSphElement* jntSphElements);
|
||||
s32 Collider_ResetJntSphAT(struct PlayState* play, Collider* col);
|
||||
s32 Collider_ResetJntSphAC(struct PlayState* play, Collider* col);
|
||||
s32 Collider_ResetJntSphOC(struct PlayState* play, Collider* col);
|
||||
@@ -663,8 +671,8 @@ 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 PlayState* play, ColliderTris* collider, s32 index, ColliderTrisElementDimInit* init);
|
||||
void Collider_UpdateSpheres(s32 limb, ColliderJntSph* collider);
|
||||
void Collider_UpdateSpheresElement(ColliderJntSph* collider, s32 index, struct Actor* actor);
|
||||
void Collider_UpdateSpheres(s32 limb, ColliderJntSph* jntSph);
|
||||
void Collider_UpdateSpheresElement(ColliderJntSph* jntSph, s32 elemIndex, struct Actor* actor);
|
||||
void Collider_UpdateSphere(s32 limb, ColliderSphere* collider);
|
||||
void CollisionCheck_SpawnRedBlood(struct PlayState* play, Vec3f* v);
|
||||
void CollisionCheck_SpawnWaterDroplets(struct PlayState* play, Vec3f* v);
|
||||
|
||||
Reference in New Issue
Block a user