mirror of https://github.com/zeldaret/oot.git
func_8005C5B0 ok
This commit is contained in:
parent
5d091132a5
commit
a104daa3e3
|
|
@ -1,21 +0,0 @@
|
|||
glabel func_8005C5B0
|
||||
/* AD3750 8005C5B0 3C0E8012 */ lui $t6, %hi(D_8011DE78) # $t6, 0x8012
|
||||
/* AD3754 8005C5B4 25CEDE78 */ addiu $t6, %lo(D_8011DE78) # addiu $t6, $t6, -0x2188
|
||||
/* AD3758 8005C5B8 AFA40000 */ sw $a0, ($sp)
|
||||
/* AD375C 8005C5BC 25C80030 */ addiu $t0, $t6, 0x30
|
||||
/* AD3760 8005C5C0 00A0C825 */ move $t9, $a1
|
||||
.L8005C5C4:
|
||||
/* AD3764 8005C5C4 8DD80000 */ lw $t8, ($t6)
|
||||
/* AD3768 8005C5C8 25CE000C */ addiu $t6, $t6, 0xc
|
||||
/* AD376C 8005C5CC 2739000C */ addiu $t9, $t9, 0xc
|
||||
/* AD3770 8005C5D0 AF38FFF4 */ sw $t8, -0xc($t9)
|
||||
/* AD3774 8005C5D4 8DCFFFF8 */ lw $t7, -8($t6)
|
||||
/* AD3778 8005C5D8 AF2FFFF8 */ sw $t7, -8($t9)
|
||||
/* AD377C 8005C5DC 8DD8FFFC */ lw $t8, -4($t6)
|
||||
/* AD3780 8005C5E0 15C8FFF8 */ bne $t6, $t0, .L8005C5C4
|
||||
/* AD3784 8005C5E4 AF38FFFC */ sw $t8, -4($t9)
|
||||
/* AD3788 8005C5E8 8DD80000 */ lw $t8, ($t6)
|
||||
/* AD378C 8005C5EC 24020001 */ li $v0, 1
|
||||
/* AD3790 8005C5F0 03E00008 */ jr $ra
|
||||
/* AD3794 8005C5F4 AF380000 */ sw $t8, ($t9)
|
||||
|
||||
|
|
@ -691,7 +691,7 @@ s32 func_8005C508(GlobalContext* globalCtx, ColliderCylinderMain* collision);
|
|||
s32 func_8005C540(GlobalContext* globalCtx, ColliderCylinderMain* collision);
|
||||
s32 func_8005C578(GlobalContext* globalCtx, ColliderCylinderMain* collision);
|
||||
// ? func_8005C5B0(?);
|
||||
s32 func_8005C5F8(UNK_TYPE, UNK_TYPE);
|
||||
s32 func_8005C5F8(GlobalContext* globalCtx, ColliderTriDim* dim);
|
||||
// ? func_8005C608(?);
|
||||
// ? func_8005C6C0(?);
|
||||
// ? func_8005C6F8(?);
|
||||
|
|
|
|||
|
|
@ -367,6 +367,16 @@ typedef struct {
|
|||
/* 0x0C */ ColliderJntSphItemInit* list;
|
||||
} ColliderJntSphInit_Actor;
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ Vec3f pointA;
|
||||
/* 0x0C */ Vec3f pointB;
|
||||
/* 0x18 */ Vec3f pointC;
|
||||
/* 0x24 */ Vec3f unitNormal;
|
||||
/* 0x30 */ float normalDist;
|
||||
} ColliderTriDim;
|
||||
|
||||
|
||||
|
||||
typedef struct
|
||||
{
|
||||
/* 0x00 */ Actor* actor;
|
||||
|
|
|
|||
|
|
@ -65,18 +65,21 @@ s32 func_8005B72C(GlobalContext* globalCtx, Collider* collision, Actor* actor, C
|
|||
return 1;
|
||||
}
|
||||
|
||||
//Reset AT collision?
|
||||
void func_8005B76C(GlobalContext* globalCtx, Collider* collision)
|
||||
{
|
||||
collision->at = NULL;
|
||||
collision->colliderFlags &= ~0x6;
|
||||
}
|
||||
|
||||
//Reset AC collision?
|
||||
void func_8005B784(GlobalContext* globalCtx, Collider* collision)
|
||||
{
|
||||
collision->ac = NULL;
|
||||
collision->collideFlags &= ~0x82;
|
||||
}
|
||||
|
||||
//Reset OT collision?
|
||||
void func_8005B79C(GlobalContext* globalCtx, Collider* collision)
|
||||
{
|
||||
collision->ot = NULL;
|
||||
|
|
@ -246,7 +249,7 @@ s32 func_8005BB8C(GlobalContext* globalCtx, ColliderJntSphItem* collider) {
|
|||
}
|
||||
|
||||
//Set CollisionBody Property
|
||||
//arg1 could be wrong type
|
||||
//TODO: arg1 could be wrong type
|
||||
s32 func_8005BBB0(GlobalContext* globalCtx, ColliderJntSphItem* collider) {
|
||||
func_8005B9E8(globalCtx, &collider->body);
|
||||
return 1;
|
||||
|
|
@ -268,7 +271,6 @@ s32 func_8005BBF8(GlobalContext* globalCtx, ColliderJntSph* collision) {
|
|||
}
|
||||
//Destruct ColliderJntSph (malloc)
|
||||
s32 func_8005BC28(GlobalContext* globalCtx, ColliderJntSph* collider) {
|
||||
|
||||
ColliderJntSphItem* next;
|
||||
|
||||
func_8005B6A0(globalCtx, &collider->base);
|
||||
|
|
@ -305,7 +307,6 @@ s32 func_8005BCC8(GlobalContext* globalCtx, ColliderJntSph* collider) {
|
|||
return 1;
|
||||
}
|
||||
|
||||
|
||||
//ClObjJntSph?
|
||||
s32 func_8005BD50(GlobalContext* globalCtx, ColliderJntSph* dest, ColliderJntSphInit_Actor* src) {
|
||||
ColliderJntSphItem* destNext;
|
||||
|
|
@ -484,6 +485,7 @@ s32 func_8005C234(GlobalContext* globalCtx, ColliderJntSph* collider) {
|
|||
#endif // NON_MATCHING
|
||||
|
||||
#ifdef NON_MATCHING
|
||||
//Initialize ColliderCylinderDim
|
||||
//matching, but needs data section imported
|
||||
s32 func_8005C2BC(GlobalContext* globalCtx, ColliderCylinderDim* dim) {
|
||||
ColliderCylinderDim init = { 0, 0, 0, 0, 0, 0 }; //TODO: this is D_8011DE6C;
|
||||
|
|
@ -491,14 +493,18 @@ s32 func_8005C2BC(GlobalContext* globalCtx, ColliderCylinderDim* dim) {
|
|||
return 1;
|
||||
}
|
||||
#else
|
||||
//Initialize ColliderCylinderDim
|
||||
s32 func_8005C2BC(GlobalContext* globalCtx, ColliderCylinderDim* dim);
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_collision_check/func_8005C2BC.s")
|
||||
#endif // NON_MATCHING
|
||||
|
||||
//Destruct ColliderCylinderDim
|
||||
s32 func_8005C318(GlobalContext* globalCtx, ColliderCylinderDim* dim)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
//Copy ColliderCylinderDim
|
||||
s32 func_8005C328(GlobalContext* globalCtx, ColliderCylinderDim* dest, ColliderCylinderDim* src)
|
||||
{
|
||||
*dest = *src;
|
||||
|
|
@ -550,6 +556,7 @@ s32 ActorCollider_InitCylinder(GlobalContext* globalCtx, ColliderCylinderMain* c
|
|||
return 1;
|
||||
}
|
||||
|
||||
//Reset AT? ColliderCylinderMain
|
||||
s32 func_8005C508(GlobalContext* globalCtx, ColliderCylinderMain* collision)
|
||||
{
|
||||
func_8005B76C(globalCtx, &collision->base);
|
||||
|
|
@ -557,6 +564,7 @@ s32 func_8005C508(GlobalContext* globalCtx, ColliderCylinderMain* collision)
|
|||
return 1;
|
||||
}
|
||||
|
||||
//Reset AC? ColliderCylinderMain
|
||||
s32 func_8005C540(GlobalContext* globalCtx, ColliderCylinderMain* collision)
|
||||
{
|
||||
func_8005B784(globalCtx, &collision->base);
|
||||
|
|
@ -564,6 +572,7 @@ s32 func_8005C540(GlobalContext* globalCtx, ColliderCylinderMain* collision)
|
|||
return 1;
|
||||
}
|
||||
|
||||
//Reset OT? ColliderCylinderMain
|
||||
s32 func_8005C578(GlobalContext* globalCtx, ColliderCylinderMain* collision)
|
||||
{
|
||||
func_8005B79C(globalCtx, &collision->base);
|
||||
|
|
@ -571,9 +580,17 @@ s32 func_8005C578(GlobalContext* globalCtx, ColliderCylinderMain* collision)
|
|||
return 1;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_collision_check/func_8005C5B0.s")
|
||||
extern ColliderTriDim D_8011DE78;
|
||||
|
||||
s32 func_8005C5F8(UNK_TYPE arg0, UNK_TYPE arg1)
|
||||
//Initialize ColliderTriDim
|
||||
s32 func_8005C5B0(GlobalContext* globalCtx, ColliderTriDim* dim)
|
||||
{
|
||||
*dim = D_8011DE78;
|
||||
return 1;
|
||||
}
|
||||
|
||||
//Destruct ColliderTriDim
|
||||
s32 func_8005C5F8(GlobalContext* globalCtx, ColliderTriDim* dim)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue