improve sanity

This commit is contained in:
mzxrules 2020-03-21 17:24:45 -04:00
parent 868eae3429
commit 238f1c2dc6
3 changed files with 47 additions and 41 deletions

View File

@ -653,8 +653,8 @@ s32 CollisionBtlTbl_Get(s32 index);
// ? func_8005B65C(?);
s32 func_8005B6A0(GlobalContext* globalCtx, Collider* collision);
// ? func_8005B6B0(?);
s32 func_8005B6EC(GlobalContext* globalCtx, Collider* collision, Actor* actor, ColliderBodyInfo* src);
s32 func_8005B72C(GlobalContext* globalCtx, Collider* collision, Actor* actor, ColliderBodyInfo* src);
s32 func_8005B6EC(GlobalContext* globalCtx, Collider* collision, Actor* actor, ColliderInit* src);
s32 func_8005B72C(GlobalContext* globalCtx, Collider* collision, Actor* actor, ColliderInit* src);
void func_8005B76C(GlobalContext* globalCtx, Collider* collision);
void func_8005B784(GlobalContext* globalCtx, Collider* collision);
void func_8005B79C(GlobalContext* globalCtx, Collider* collision);
@ -667,7 +667,7 @@ s32 func_8005B850(GlobalContext* globalCtx, ColliderBump* bump);
// ? func_8005B860(?);
// ? func_8005B884(?);
s32 func_8005B904(GlobalContext* globalCtx, ColliderBody* body);
s32 func_8005B93C(GlobalContext* globalCtx, ColliderBody* colliderBody, ColliderBodyInfoInner* bodyFlags);
s32 func_8005B93C(GlobalContext* globalCtx, ColliderBody* colliderBody, ColliderBodyInit* bodyFlags);
void func_8005B9B0(GlobalContext* globalCtx, ColliderBody* body);
void func_8005B9E8(GlobalContext* globalCtx, ColliderBody* body);
// ? func_8005BA1C(?);
@ -681,8 +681,8 @@ s32 func_8005BA74(UNK_TYPE, UNK_TYPE);
// ? func_8005BBB0(?);
// ? func_8005BBD4(?);
// ? func_8005C2BC(?);
s32 func_8005C318(GlobalContext* globalCtx, ColliderDimensions* dim);
s32 func_8005C328(GlobalContext* globalCtx, ColliderDimensions* dest, ColliderDimensions* src);
s32 func_8005C318(GlobalContext* globalCtx, ColliderCylinderDim* dim);
s32 func_8005C328(GlobalContext* globalCtx, ColliderCylinderDim* dest, ColliderCylinderDim* src);
s32 ActorCollider_AllocCylinder(GlobalContext* globalCtx, ColliderCylinderMain* collision);
s32 ActorCollider_FreeCylinder(GlobalContext* globalCtx, ColliderCylinderMain* collision);
s32 func_8005C3F4(GlobalContext* globalCtx, ColliderCylinderMain* collision, ColliderCylinderInit* arg2);
@ -700,7 +700,7 @@ s32 func_8005C5F8(UNK_TYPE, UNK_TYPE);
// ? func_8005C798(?);
// ? func_8005C7BC(?);
// ? func_8005CE6C(?);
s32 func_8005CEB4(GlobalContext* globalCtx, ColliderDimensions* dim);
s32 func_8005CEB4(GlobalContext* globalCtx, ColliderCylinderDim* dim);
// ? func_8005CEC4(?);
// ? func_8005CEDC(?);
// ? func_8005CF90(?);

View File

@ -268,17 +268,13 @@ typedef struct
{
/* 0x00 */ u8 bodyFlags;
/* 0x01 */ u8 unk_09[0x3]; /* 000000 */
/* 0x04 */ s32 toucherMask; /* Attack Toucher Exclusion Mask */
/* 0x08 */ u8 bumperEffect; /* Damage Effect (Knockback, Fire, etc.) */
/* 0x09 */ u8 toucherDamage; /* Damage Amount or Stun Timer */
/* 0x0A */ u8 unk_12[0x2]; /* 0000 */
/* 0x0C */ s32 bumperMask; /* Bumper Exclusion Mask */
/* 0x10 */ u8 unk_18[0x4]; /* 00000000 */
/* 0x04 */ ColliderTouch toucher;
/* 0x0C */ ColliderBumpInit bumper;
/* 0x14 */ u8 toucherFlags; /* Attack Toucher Flags */
/* 0x15 */ u8 bumperFlags; /* Bumper Flags */
/* 0x16 */ u8 bodyFlags2;
/* 0x17 */ u8 unk_1F; /* 00 */
} ColliderBodyInfoInner; // size = 0x1A
} ColliderBodyInit; // size = 0x1A
typedef struct
{
@ -289,7 +285,7 @@ typedef struct
/* 0x04 */ u8 maskB; /* Bitwise-And with Mask A */
/* 0x05 */ u8 type; /* Collider Type */
/* 0x06 */ u8 unk_06[0x2]; /* 0000 */
} ColliderBodyInfo; // size = 0x08
} ColliderInit; // size = 0x08
typedef struct
{
@ -297,20 +293,20 @@ typedef struct
/* 0x02 */ s16 height; /* Cylinder Height */
/* 0x04 */ s16 yShift; /* Shift Cylinder on Y Axis */
/* 0x06 */ Vec3s position; /* {X, Y, Z} position of Cylinder */
} ColliderDimensions; // size = 0xC
} ColliderCylinderDim; // size = 0xC
typedef struct
{
/* 0x00 */ Collider base;
/* 0x18 */ ColliderBody body;
/* 0x40 */ ColliderDimensions dim;
/* 0x40 */ ColliderCylinderDim dim;
} ColliderCylinderMain; // size = 0x4C
typedef struct
{
/* 0x00 */ ColliderBodyInfo body;
/* 0x08 */ ColliderBodyInfoInner inner;
/* 0x20 */ ColliderDimensions dim;
/* 0x00 */ ColliderInit body;
/* 0x08 */ ColliderBodyInit inner;
/* 0x20 */ ColliderCylinderDim dim;
} ColliderCylinderInit; // size = 0x2C
typedef struct

View File

@ -14,12 +14,14 @@ void func_8005B280(GraphicsContext* gfx, Vec3f* vA, Vec3f* vB, Vec3f* vC)
extern Collider D_8011DE00;
//Init Collider
s32 func_8005B65C(GlobalContext* globalCtx, Collider* collision)
{
*collision = D_8011DE00;
return 1;
}
//Destruct Collider
s32 func_8005B6A0(GlobalContext* globalCtx, Collider* collision)
{
return 1;
@ -27,7 +29,8 @@ s32 func_8005B6A0(GlobalContext* globalCtx, Collider* collision)
#pragma GLOBAL_ASM("asm/non_matchings/code/z_collision_check/func_8005B6B0.s")
s32 func_8005B6EC(GlobalContext* globalCtx, Collider* collision, Actor* actor, ColliderBodyInfo* src)
//SetInit Collider (maskB = 0x10)
s32 func_8005B6EC(GlobalContext* globalCtx, Collider* collision, Actor* actor, ColliderInit* src)
{
collision->actor = actor;
collision->unk_14 = src->unk_00;
@ -39,7 +42,8 @@ s32 func_8005B6EC(GlobalContext* globalCtx, Collider* collision, Actor* actor, C
return 1;
}
s32 func_8005B72C(GlobalContext* globalCtx, Collider* collision, Actor* actor, ColliderBodyInfo* src)
//SetInit Collider (maskB = src->maskB)
s32 func_8005B72C(GlobalContext* globalCtx, Collider* collision, Actor* actor, ColliderInit* src)
{
collision->actor = actor;
collision->unk_14 = src->unk_00;
@ -72,24 +76,24 @@ void func_8005B79C(GlobalContext* globalCtx, Collider* collision)
extern ColliderTouch D_8011DE18;
//initialize
//Initialize ColliderTouch
s32 func_8005B7C0(GlobalContext* globalCtx, ColliderTouch* touch) {
*touch = D_8011DE18;
return 1;
}
//destructor
//Destruct ColliderTouch
s32 func_8005B7E4(GlobalContext* globalCtx, ColliderTouch* touch)
{
return 1;
}
//copy. copyFrom might actually be a different type
s32 func_8005B7F4(GlobalContext* globalCtx, ColliderTouch* copyTo, ColliderTouch* copyFrom)
//SetInit ColliderTouch. src might actually be a different type
s32 func_8005B7F4(GlobalContext* globalCtx, ColliderTouch* dest, ColliderTouch* src)
{
copyTo->flags = copyFrom->flags;
copyTo->unk_04 = copyFrom->unk_04;
copyTo->damage = copyFrom->damage;
dest->flags = src->flags;
dest->unk_04 = src->unk_04;
dest->damage = src->damage;
return 1;
}
@ -100,20 +104,20 @@ void func_8005B818(GlobalContext* globalCtx, ColliderBody* body)
extern ColliderBump D_8011DE20;
//init
//Initialize ColliderBump
s32 func_8005B824(GlobalContext* globalCtx, ColliderBump* bump)
{
*bump = D_8011DE20;
return 1;
}
//destructor
//Destruct ColliderBump
s32 func_8005B850(GlobalContext* globalCtx, ColliderBump* bump)
{
return 1;
}
//init from overlay
//SetInit ColliderBump
s32 func_8005B860(GlobalContext* globalCtx, ColliderBump* bump, ColliderBumpInit* init)
{
bump->flags = init->flags;
@ -124,6 +128,7 @@ s32 func_8005B860(GlobalContext* globalCtx, ColliderBump* bump, ColliderBumpInit
#pragma GLOBAL_ASM("asm/non_matchings/code/z_collision_check/func_8005B884.s")
//Destruct ColliderBody
s32 func_8005B904(GlobalContext* globalCtx, ColliderBody* body)
{
func_8005B7E4(globalCtx, &body->toucher);
@ -131,14 +136,15 @@ s32 func_8005B904(GlobalContext* globalCtx, ColliderBody* body)
return 1;
}
s32 func_8005B93C(GlobalContext* globalCtx, ColliderBody* body, ColliderBodyInfoInner* bodyInfoInner)
//SetInit ColliderBody
s32 func_8005B93C(GlobalContext* globalCtx, ColliderBody* body, ColliderBodyInit* bodyInit)
{
body->flags = bodyInfoInner->bodyFlags;
func_8005B7F4(globalCtx, &body->toucher, &bodyInfoInner->toucherMask);
func_8005B860(globalCtx, &body->bumper, &bodyInfoInner->bumperMask);
body->toucherFlags = bodyInfoInner->toucherFlags;
body->bumperFlags = bodyInfoInner->bumperFlags;
body->flags2 = bodyInfoInner->bodyFlags2;
body->flags = bodyInit->bodyFlags;
func_8005B7F4(globalCtx, &body->toucher, &bodyInit->toucher);
func_8005B860(globalCtx, &body->bumper, &bodyInit->bumper);
body->toucherFlags = bodyInit->toucherFlags;
body->bumperFlags = bodyInit->bumperFlags;
body->flags2 = bodyInit->bodyFlags2;
return 1;
}
@ -202,12 +208,12 @@ s32 func_8005BA74(UNK_TYPE arg0, UNK_TYPE arg1)
#pragma GLOBAL_ASM("asm/non_matchings/code/z_collision_check/func_8005C2BC.s")
s32 func_8005C318(GlobalContext* globalCtx, ColliderDimensions* dim)
s32 func_8005C318(GlobalContext* globalCtx, ColliderCylinderDim* dim)
{
return 1;
}
s32 func_8005C328(GlobalContext* globalCtx, ColliderDimensions* dest, ColliderDimensions* src)
s32 func_8005C328(GlobalContext* globalCtx, ColliderCylinderDim* dest, ColliderCylinderDim* src)
{
*dest = *src;
return 1;
@ -303,7 +309,7 @@ s32 func_8005C5F8(UNK_TYPE arg0, UNK_TYPE arg1)
#pragma GLOBAL_ASM("asm/non_matchings/code/z_collision_check/func_8005CE6C.s")
s32 func_8005CEB4(GlobalContext* globalCtx, ColliderDimensions* dim) {
s32 func_8005CEB4(GlobalContext* globalCtx, ColliderCylinderDim* dim) {
return 1;
}
@ -313,6 +319,7 @@ s32 func_8005CEB4(GlobalContext* globalCtx, ColliderDimensions* dim) {
#pragma GLOBAL_ASM("asm/non_matchings/code/z_collision_check/func_8005CF90.s")
//Init Cylinder?
s32 func_8005D018(GlobalContext* globalCtx, ColliderCylinderMain* collision)
{
func_8005B65C(globalCtx, &collision->base);
@ -321,6 +328,7 @@ s32 func_8005D018(GlobalContext* globalCtx, ColliderCylinderMain* collision)
return 1;
}
//Destruct Cylinder?
s32 func_8005D060(GlobalContext* globalCtx, ColliderCylinderMain* collision)
{
func_8005B6A0(globalCtx, &collision->base);
@ -329,6 +337,7 @@ s32 func_8005D060(GlobalContext* globalCtx, ColliderCylinderMain* collision)
return 1;
}
//SetInit Cylinder? maskB = 0x10
s32 func_8005D0A8(GlobalContext* globalCtx, ColliderCylinderMain* collision, Actor* actor, ColliderCylinderInit* src)
{
func_8005B6EC(globalCtx, &collision->base, actor, &src->body);
@ -337,6 +346,7 @@ s32 func_8005D0A8(GlobalContext* globalCtx, ColliderCylinderMain* collision, Act
return 1;
}
//SetInit Cylinder? maskB = src->maskB
s32 func_8005D104(GlobalContext* globalCtx, ColliderCylinderMain* collision, Actor* actor, ColliderCylinderInit* src)
{
func_8005B72C(globalCtx, &collision->base, actor, &src->body);