From 9ebdfa4beef827a298bb83038d2ac7cb0b79812d Mon Sep 17 00:00:00 2001 From: mzxrules Date: Sun, 22 Mar 2020 17:59:54 -0400 Subject: [PATCH] func_8005BCC8 Ok --- .../code/z_collision_check/func_8005BCC8.s | 38 ------------------- src/code/z_collision_check.c | 38 ++++++++++++++++++- 2 files changed, 37 insertions(+), 39 deletions(-) delete mode 100644 asm/non_matchings/code/z_collision_check/func_8005BCC8.s diff --git a/asm/non_matchings/code/z_collision_check/func_8005BCC8.s b/asm/non_matchings/code/z_collision_check/func_8005BCC8.s deleted file mode 100644 index 3f9f16d323..0000000000 --- a/asm/non_matchings/code/z_collision_check/func_8005BCC8.s +++ /dev/null @@ -1,38 +0,0 @@ -.text -glabel func_8005BCC8 -/* AD2E68 8005BCC8 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* AD2E6C 8005BCCC AFBF0024 */ sw $ra, 0x24($sp) -/* AD2E70 8005BCD0 AFB20020 */ sw $s2, 0x20($sp) -/* AD2E74 8005BCD4 AFB1001C */ sw $s1, 0x1c($sp) -/* AD2E78 8005BCD8 00A08825 */ move $s1, $a1 -/* AD2E7C 8005BCDC 00809025 */ move $s2, $a0 -/* AD2E80 8005BCE0 0C016DA8 */ jal func_8005B6A0 -/* AD2E84 8005BCE4 AFB00018 */ sw $s0, 0x18($sp) -/* AD2E88 8005BCE8 8E2E0018 */ lw $t6, 0x18($s1) -/* AD2E8C 8005BCEC 8E30001C */ lw $s0, 0x1c($s1) -/* AD2E90 8005BCF0 000E7980 */ sll $t7, $t6, 6 -/* AD2E94 8005BCF4 020FC021 */ addu $t8, $s0, $t7 -/* AD2E98 8005BCF8 0218082B */ sltu $at, $s0, $t8 -/* AD2E9C 8005BCFC 1020000B */ beqz $at, .L8005BD2C -/* AD2EA0 8005BD00 02402025 */ move $a0, $s2 -.L8005BD04: -/* AD2EA4 8005BD04 0C016EC4 */ jal func_8005BB10 -/* AD2EA8 8005BD08 02002825 */ move $a1, $s0 -/* AD2EAC 8005BD0C 8E280018 */ lw $t0, 0x18($s1) -/* AD2EB0 8005BD10 8E39001C */ lw $t9, 0x1c($s1) -/* AD2EB4 8005BD14 26100040 */ addiu $s0, $s0, 0x40 -/* AD2EB8 8005BD18 00084980 */ sll $t1, $t0, 6 -/* AD2EBC 8005BD1C 03295021 */ addu $t2, $t9, $t1 -/* AD2EC0 8005BD20 020A082B */ sltu $at, $s0, $t2 -/* AD2EC4 8005BD24 5420FFF7 */ bnezl $at, .L8005BD04 -/* AD2EC8 8005BD28 02402025 */ move $a0, $s2 -.L8005BD2C: -/* AD2ECC 8005BD2C AE200018 */ sw $zero, 0x18($s1) -/* AD2ED0 8005BD30 AE20001C */ sw $zero, 0x1c($s1) -/* AD2ED4 8005BD34 8FBF0024 */ lw $ra, 0x24($sp) -/* AD2ED8 8005BD38 8FB20020 */ lw $s2, 0x20($sp) -/* AD2EDC 8005BD3C 8FB1001C */ lw $s1, 0x1c($sp) -/* AD2EE0 8005BD40 8FB00018 */ lw $s0, 0x18($sp) -/* AD2EE4 8005BD44 27BD0028 */ addiu $sp, $sp, 0x28 -/* AD2EE8 8005BD48 03E00008 */ jr $ra -/* AD2EEC 8005BD4C 24020001 */ li $v0, 1 diff --git a/src/code/z_collision_check.c b/src/code/z_collision_check.c index 74ed4fd809..6cd5351ba3 100644 --- a/src/code/z_collision_check.c +++ b/src/code/z_collision_check.c @@ -255,7 +255,23 @@ s32 func_8005BBF8(GlobalContext* globalCtx, ColliderJntSph* collision) { #pragma GLOBAL_ASM("asm/non_matchings/code/z_collision_check/func_8005BC28.s") -#pragma GLOBAL_ASM("asm/non_matchings/code/z_collision_check/func_8005BCC8.s") +//Destruct ColliderJntSph +s32 func_8005BCC8(GlobalContext* globalCtx, ColliderJntSph* collider) { + ColliderJntSph* next; + + func_8005B6A0(globalCtx, &collider->base); + next = collider->list; + + while (next < collider->list + collider->count) { + + func_8005BB10(globalCtx, next); + next++; + } + collider->count = 0; + collider->list = NULL; + return 1; +} + //ClObjJntSph? s32 func_8005BD50(GlobalContext* globalCtx, ColliderJntSph* dest, ColliderJntSphInit_Actor* src) { @@ -378,6 +394,26 @@ s32 func_8005C050(GlobalContext* globalCtx, ColliderJntSph* dest, Actor* actor, #pragma GLOBAL_ASM("asm/non_matchings/code/z_collision_check/func_8005C124.s") #pragma GLOBAL_ASM("asm/non_matchings/code/z_collision_check/func_8005C1AC.s") +/* +s32 func_8005C1AC(s32 arg0, void* arg1) { + u32 temp_s0; + u32 phi_s0; + + func_8005B784(); + phi_s0 = arg1->unk1C; + if ((u32)arg1->unk1C < (u32)(arg1->unk1C + (arg1->unk18 << 6))) { + loop_1: + func_8005BBB0(arg0, 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; +} +*/ + //D_8011DF18 func ptr #pragma GLOBAL_ASM("asm/non_matchings/code/z_collision_check/func_8005C234.s")