save my work commit

This commit is contained in:
mzxrules 2020-03-28 08:14:56 -04:00
parent 56185fce9f
commit f4f44364f9
2 changed files with 60 additions and 23 deletions

View File

@ -300,7 +300,7 @@ typedef struct
/* 0x00 */ s16 radius; /* Cylinder Radius */ /* 0x00 */ s16 radius; /* Cylinder Radius */
/* 0x02 */ s16 height; /* Cylinder Height */ /* 0x02 */ s16 height; /* Cylinder Height */
/* 0x04 */ s16 yShift; /* Shift Cylinder on Y Axis */ /* 0x04 */ s16 yShift; /* Shift Cylinder on Y Axis */
/* 0x08 */ Vec3s position; /* {X, Y, Z} position of Cylinder */ /* 0x06 */ Vec3s position; /* {X, Y, Z} position of Cylinder */
} ColliderCylinderDim; // size = 0xC } ColliderCylinderDim; // size = 0xC
typedef struct typedef struct
@ -353,7 +353,7 @@ typedef struct
/* 0x00 */ Collider base; /* 0x00 */ Collider base;
/* 0x18 */ s32 count; /* 0x18 */ s32 count;
/* 0x1C */ ColliderJntSphItem* list; /* 0x1C */ ColliderJntSphItem* list;
} ColliderJntSph; } ColliderJntSph; //size 0x20
typedef struct { typedef struct {
/* 0x00 */ ColliderInit body; /* 0x00 */ ColliderInit body;

View File

@ -269,7 +269,7 @@ s32 func_8005BBF8(GlobalContext* globalCtx, ColliderJntSph* collision) {
//Destruct ColliderJntSph (malloc) //Destruct ColliderJntSph (malloc)
s32 func_8005BC28(GlobalContext* globalCtx, ColliderJntSph* collider) { s32 func_8005BC28(GlobalContext* globalCtx, ColliderJntSph* collider) {
ColliderJntSph* next; ColliderJntSphItem* next;
func_8005B6A0(globalCtx, &collider->base); func_8005B6A0(globalCtx, &collider->base);
next = collider->list; next = collider->list;
@ -290,7 +290,7 @@ s32 func_8005BC28(GlobalContext* globalCtx, ColliderJntSph* collider) {
//Destruct ColliderJntSph (no malloc) //Destruct ColliderJntSph (no malloc)
s32 func_8005BCC8(GlobalContext* globalCtx, ColliderJntSph* collider) { s32 func_8005BCC8(GlobalContext* globalCtx, ColliderJntSph* collider) {
ColliderJntSph* next; ColliderJntSphItem* next;
func_8005B6A0(globalCtx, &collider->base); func_8005B6A0(globalCtx, &collider->base);
next = collider->list; next = collider->list;
@ -424,34 +424,71 @@ s32 func_8005C050(GlobalContext* globalCtx, ColliderJntSph* dest, Actor* actor,
return 1; return 1;
} }
#pragma GLOBAL_ASM("asm/non_matchings/code/z_collision_check/func_8005C124.s") #ifdef NON_MATCHING
//Set collider body property. arg1 not confirmed
s32 func_8005C124(GlobalContext* globalCtx, ColliderJntSph* collider)
{
ColliderJntSphItem* phi_s0;
#pragma GLOBAL_ASM("asm/non_matchings/code/z_collision_check/func_8005C1AC.s") func_8005B76C(globalCtx, &collider->base);
/*
s32 func_8005C1AC(s32 arg0, void* arg1) {
u32 temp_s0;
u32 phi_s0;
func_8005B784(); phi_s0 = collider->list;
phi_s0 = arg1->unk1C;
if ((u32)arg1->unk1C < (u32)(arg1->unk1C + (arg1->unk18 << 6))) { while (phi_s0 < collider->list + collider->count) {
loop_1: func_8005BB8C(globalCtx, phi_s0);
func_8005BBB0(arg0, phi_s0); phi_s0++;
temp_s0 = phi_s0 + 0x40;
phi_s0 = temp_s0;
if (temp_s0 < (u32)(arg1->unk1C + (arg1->unk18 << 6))) {
goto loop_1;
}
} }
return 1; return 1;
} }
*/ #else
#pragma GLOBAL_ASM("asm/non_matchings/code/z_collision_check/func_8005C124.s")
#endif // NON_MATCHING
#ifdef NON_MATCHING
//Set collider body property. arg1 not confirmed
s32 func_8005C1AC(GlobalContext* globalCtx, ColliderJntSph* collider) {
ColliderJntSphItem* next;
func_8005B784(globalCtx, &collider->base);
next = collider->list;
while (next < collider->list + collider->count)
{
func_8005BBB0(globalCtx, next);
next++;
}
return 1;
}
#else
#pragma GLOBAL_ASM("asm/non_matchings/code/z_collision_check/func_8005C1AC.s")
#endif // NON_MATCHING
#ifdef NON_MATCHING
//Set collider body property. arg1 not confirmed
//D_8011DF18 func ptr //D_8011DF18 func ptr
#pragma GLOBAL_ASM("asm/non_matchings/code/z_collision_check/func_8005C234.s") s32 func_8005C234(GlobalContext* globalCtx, ColliderJntSph* collider) {
ColliderJntSphItem* next;
#pragma GLOBAL_ASM("asm/non_matchings/code/z_collision_check/func_8005C2BC.s") func_8005B79C(globalCtx, &collider->base);
next = collider->list;
while (next < collider->list + collider->count) {
func_8005BBD4(globalCtx, next);
next++;
}
return 1;
}
#else
#pragma GLOBAL_ASM("asm/non_matchings/code/z_collision_check/func_8005C234.s")
#endif // NON_MATCHING
//#pragma GLOBAL_ASM("asm/non_matchings/code/z_collision_check/func_8005C2BC.s")
extern ColliderCylinderDim D_8011DE6C;
s32 func_8005C2BC(GlobalContext* globalCtx, ColliderCylinderDim* dim) {
*dim = D_8011DE6C;
return 1;
}
s32 func_8005C318(GlobalContext* globalCtx, ColliderCylinderDim* dim) s32 func_8005C318(GlobalContext* globalCtx, ColliderCylinderDim* dim)
{ {