diff --git a/asm/non_matchings/code/z_collision_check/func_8005B860.s b/asm/non_matchings/code/z_collision_check/func_8005B860.s deleted file mode 100644 index 0604780831..0000000000 --- a/asm/non_matchings/code/z_collision_check/func_8005B860.s +++ /dev/null @@ -1,11 +0,0 @@ -glabel func_8005B860 -/* AD2A00 8005B860 AFA40000 */ sw $a0, ($sp) -/* AD2A04 8005B864 8CCE0000 */ lw $t6, ($a2) -/* AD2A08 8005B868 24020001 */ li $v0, 1 -/* AD2A0C 8005B86C ACAE0000 */ sw $t6, ($a1) -/* AD2A10 8005B870 90CF0004 */ lbu $t7, 4($a2) -/* AD2A14 8005B874 A0AF0004 */ sb $t7, 4($a1) -/* AD2A18 8005B878 90D80005 */ lbu $t8, 5($a2) -/* AD2A1C 8005B87C 03E00008 */ jr $ra -/* AD2A20 8005B880 A0B80005 */ sb $t8, 5($a1) - diff --git a/include/z64actor.h b/include/z64actor.h index 001a25923e..e948ad6af3 100644 --- a/include/z64actor.h +++ b/include/z64actor.h @@ -237,6 +237,13 @@ typedef struct /* 0x0A */ s16 unk_0A; } ColliderBump; // size = 0x0C +typedef struct +{ + /* 0x00 */ s32 flags; /* Collision Exclusion Mask */ + /* 0x04 */ u8 effect; /* Damage Effect (Knockback, Fire, etc.) */ + /* 0x05 */ u8 unk_05; +} ColliderBumpInit; // size = 0x0C + typedef struct ColliderBody { /* 0x00 */ ColliderTouch toucher; @@ -302,7 +309,7 @@ typedef struct typedef struct { /* 0x00 */ ColliderBodyInfo body; - /* 0x06 */ ColliderBodyInfoInner inner; + /* 0x08 */ ColliderBodyInfoInner inner; /* 0x20 */ ColliderDimensions dim; } ColliderCylinderInit; // size = 0x2C diff --git a/src/code/z_collision_check.c b/src/code/z_collision_check.c index 5d8655470d..a57b9eb8ac 100644 --- a/src/code/z_collision_check.c +++ b/src/code/z_collision_check.c @@ -84,7 +84,7 @@ s32 func_8005B7E4(GlobalContext* globalCtx, ColliderTouch* touch) return 1; } -//copy +//copy. copyFrom might actually be a different type s32 func_8005B7F4(GlobalContext* globalCtx, ColliderTouch* copyTo, ColliderTouch* copyFrom) { copyTo->flags = copyFrom->flags; @@ -113,7 +113,14 @@ s32 func_8005B850(GlobalContext* globalCtx, ColliderBump* bump) return 1; } -#pragma GLOBAL_ASM("asm/non_matchings/code/z_collision_check/func_8005B860.s") +//init from overlay +s32 func_8005B860(GlobalContext* globalCtx, ColliderBump* bump, ColliderBumpInit* init) +{ + bump->flags = init->flags; + bump->effect = init->effect; + bump->unk_05 = init->unk_05; + return 1; +} #pragma GLOBAL_ASM("asm/non_matchings/code/z_collision_check/func_8005B884.s")