func_8005BB48 OK, func_8005BA84 almost decomp'd, but type issues

This commit is contained in:
mzxrules 2020-03-22 00:11:01 -04:00
parent 32ca10248b
commit e5736d39bd
3 changed files with 28 additions and 25 deletions

View File

@ -1,19 +0,0 @@
glabel func_8005BB48
/* AD2CE8 8005BB48 27BDFFE8 */ addiu $sp, $sp, -0x18
/* AD2CEC 8005BB4C AFBF0014 */ sw $ra, 0x14($sp)
/* AD2CF0 8005BB50 AFA40018 */ sw $a0, 0x18($sp)
/* AD2CF4 8005BB54 AFA5001C */ sw $a1, 0x1c($sp)
/* AD2CF8 8005BB58 0C016E4F */ jal func_8005B93C
/* AD2CFC 8005BB5C AFA60020 */ sw $a2, 0x20($sp)
/* AD2D00 8005BB60 8FA5001C */ lw $a1, 0x1c($sp)
/* AD2D04 8005BB64 8FA60020 */ lw $a2, 0x20($sp)
/* AD2D08 8005BB68 8FA40018 */ lw $a0, 0x18($sp)
/* AD2D0C 8005BB6C 24A50028 */ addiu $a1, $a1, 0x28
/* AD2D10 8005BB70 0C016EA1 */ jal func_8005BA84
/* AD2D14 8005BB74 24C60018 */ addiu $a2, $a2, 0x18
/* AD2D18 8005BB78 8FBF0014 */ lw $ra, 0x14($sp)
/* AD2D1C 8005BB7C 27BD0018 */ addiu $sp, $sp, 0x18
/* AD2D20 8005BB80 24020001 */ li $v0, 1
/* AD2D24 8005BB84 03E00008 */ jr $ra
/* AD2D28 8005BB88 00000000 */ nop

View File

@ -274,7 +274,7 @@ typedef struct
/* 0x15 */ u8 bumperFlags; /* Bumper Flags */ /* 0x15 */ u8 bumperFlags; /* Bumper Flags */
/* 0x16 */ u8 bodyFlags2; /* 0x16 */ u8 bodyFlags2;
/* 0x17 */ u8 unk_1F; /* 00 */ /* 0x17 */ u8 unk_1F; /* 00 */
} ColliderBodyInit; // size = 0x1A } ColliderBodyInit; // size = 0x18
typedef struct typedef struct
{ {
@ -326,8 +326,17 @@ typedef struct
} ColliderCylinderInit_Actor; // size = 0x2C } ColliderCylinderInit_Actor; // size = 0x2C
typedef struct { typedef struct {
s32 pad[6]; Vec3s unk_00;
} ColliderJntSphItemDim; s32 unk_08[2];
float unk_10;
s8 unk_14;
} ColliderJntSphItemDim; //size 0x18
typedef struct {
u8 unk_00;
Vec3s unk_02;
s16 unk_0A;
} ColliderJntSphItemDimInit; //size 0x0C
typedef struct { typedef struct {
ColliderBody body; ColliderBody body;
@ -335,7 +344,8 @@ typedef struct {
} ColliderJntSphItem; } ColliderJntSphItem;
typedef struct { typedef struct {
char pad[0x24]; ColliderBodyInit body;
ColliderJntSphItemDimInit dim;
} ColliderJntSphItemInit; } ColliderJntSphItemInit;
typedef struct typedef struct

View File

@ -204,6 +204,15 @@ s32 func_8005BA74(UNK_TYPE arg0, UNK_TYPE arg1)
return 1; return 1;
} }
s32 func_8005BA84(GlobalContext* globalCtx, ColliderJntSphItemDim* dest, ColliderJntSphItemDimInit* src);
/*
{
dest->unk_14 = src->unk_00;
dest->unk_00 = src->unk_02;
dest->unk_10 = src->unk_0A * 0.01f;
return 1;
}
*/
#pragma GLOBAL_ASM("asm/non_matchings/code/z_collision_check/func_8005BA84.s") #pragma GLOBAL_ASM("asm/non_matchings/code/z_collision_check/func_8005BA84.s")
//Initialize JntSphItem //Initialize JntSphItem
@ -216,8 +225,11 @@ s32 func_8005BAD8(GlobalContext* globalCtx, ColliderJntSphItem* item) {
#pragma GLOBAL_ASM("asm/non_matchings/code/z_collision_check/func_8005BB10.s") #pragma GLOBAL_ASM("asm/non_matchings/code/z_collision_check/func_8005BB10.s")
//SetInit JntSphItem //SetInit JntSphItem
s32 func_8005BB48(GlobalContext* gctx, ColliderJntSphItem* item, ColliderJntSphItemInit* init); s32 func_8005BB48(GlobalContext* globalCtx, ColliderJntSphItem* dest, ColliderJntSphItemInit* src) {
#pragma GLOBAL_ASM("asm/non_matchings/code/z_collision_check/func_8005BB48.s") func_8005B93C(globalCtx, &dest->body, &src->body);
func_8005BA84(globalCtx, &dest->dim, &src->dim);
return 1;
}
#pragma GLOBAL_ASM("asm/non_matchings/code/z_collision_check/func_8005BB8C.s") #pragma GLOBAL_ASM("asm/non_matchings/code/z_collision_check/func_8005BB8C.s")