mirror of https://github.com/zeldaret/oot.git
func_8005C810 OK
This commit is contained in:
parent
53a203bfc9
commit
01a6cc99e7
|
|
@ -1,57 +0,0 @@
|
|||
.rdata
|
||||
glabel D_8013A750
|
||||
.asciz "../z_collision_check.c"
|
||||
.balign 4
|
||||
|
||||
.text
|
||||
glabel func_8005C810
|
||||
/* AD39B0 8005C810 27BDFFD8 */ addiu $sp, $sp, -0x28
|
||||
/* AD39B4 8005C814 AFBF0024 */ sw $ra, 0x24($sp)
|
||||
/* AD39B8 8005C818 AFB2001C */ sw $s2, 0x1c($sp)
|
||||
/* AD39BC 8005C81C AFB10018 */ sw $s1, 0x18($sp)
|
||||
/* AD39C0 8005C820 00A08825 */ move $s1, $a1
|
||||
/* AD39C4 8005C824 00809025 */ move $s2, $a0
|
||||
/* AD39C8 8005C828 AFB30020 */ sw $s3, 0x20($sp)
|
||||
/* AD39CC 8005C82C 0C016DA8 */ jal func_8005B6A0
|
||||
/* AD39D0 8005C830 AFB00014 */ sw $s0, 0x14($sp)
|
||||
/* AD39D4 8005C834 8E2E0018 */ lw $t6, 0x18($s1)
|
||||
/* AD39D8 8005C838 2413005C */ li $s3, 92
|
||||
/* AD39DC 8005C83C 8E24001C */ lw $a0, 0x1c($s1)
|
||||
/* AD39E0 8005C840 01D30019 */ multu $t6, $s3
|
||||
/* AD39E4 8005C844 00808025 */ move $s0, $a0
|
||||
/* AD39E8 8005C848 00007812 */ mflo $t7
|
||||
/* AD39EC 8005C84C 008FC021 */ addu $t8, $a0, $t7
|
||||
/* AD39F0 8005C850 0098082B */ sltu $at, $a0, $t8
|
||||
/* AD39F4 8005C854 1020000D */ beqz $at, .L8005C88C
|
||||
/* AD39F8 8005C858 00000000 */ nop
|
||||
/* AD39FC 8005C85C 02402025 */ move $a0, $s2
|
||||
.L8005C860:
|
||||
/* AD3A00 8005C860 0C0171BE */ jal func_8005C6F8
|
||||
/* AD3A04 8005C864 02002825 */ move $a1, $s0
|
||||
/* AD3A08 8005C868 8E390018 */ lw $t9, 0x18($s1)
|
||||
/* AD3A0C 8005C86C 8E24001C */ lw $a0, 0x1c($s1)
|
||||
/* AD3A10 8005C870 2610005C */ addiu $s0, $s0, 0x5c
|
||||
/* AD3A14 8005C874 03330019 */ multu $t9, $s3
|
||||
/* AD3A18 8005C878 00004012 */ mflo $t0
|
||||
/* AD3A1C 8005C87C 00884821 */ addu $t1, $a0, $t0
|
||||
/* AD3A20 8005C880 0209082B */ sltu $at, $s0, $t1
|
||||
/* AD3A24 8005C884 5420FFF6 */ bnezl $at, .L8005C860
|
||||
/* AD3A28 8005C888 02402025 */ move $a0, $s2
|
||||
.L8005C88C:
|
||||
/* AD3A2C 8005C88C 10800005 */ beqz $a0, .L8005C8A4
|
||||
/* AD3A30 8005C890 AE200018 */ sw $zero, 0x18($s1)
|
||||
/* AD3A34 8005C894 3C058014 */ lui $a1, %hi(D_8013A750) # $a1, 0x8014
|
||||
/* AD3A38 8005C898 24A5A750 */ addiu $a1, %lo(D_8013A750) # addiu $a1, $a1, -0x58b0
|
||||
/* AD3A3C 8005C89C 0C01EC35 */ jal ZeldaArena_FreeDebug
|
||||
/* AD3A40 8005C8A0 24060833 */ li $a2, 2099
|
||||
.L8005C8A4:
|
||||
/* AD3A44 8005C8A4 AE20001C */ sw $zero, 0x1c($s1)
|
||||
/* AD3A48 8005C8A8 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
/* AD3A4C 8005C8AC 8FB30020 */ lw $s3, 0x20($sp)
|
||||
/* AD3A50 8005C8B0 8FB2001C */ lw $s2, 0x1c($sp)
|
||||
/* AD3A54 8005C8B4 8FB10018 */ lw $s1, 0x18($sp)
|
||||
/* AD3A58 8005C8B8 8FB00014 */ lw $s0, 0x14($sp)
|
||||
/* AD3A5C 8005C8BC 27BD0028 */ addiu $sp, $sp, 0x28
|
||||
/* AD3A60 8005C8C0 03E00008 */ jr $ra
|
||||
/* AD3A64 8005C8C4 24020001 */ li $v0, 1
|
||||
|
||||
|
|
@ -376,7 +376,7 @@ typedef struct {
|
|||
typedef struct {
|
||||
/* 0x00 */ ColliderBody body;
|
||||
/* 0x28 */ ColliderTriItemDim dim;
|
||||
} ColliderTriItem;
|
||||
} ColliderTriItem; //size = 0x5C
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ ColliderBodyInit body;
|
||||
|
|
@ -388,7 +388,7 @@ typedef struct
|
|||
/* 0x00 */ Collider base;
|
||||
/* 0x18 */ s32 count;
|
||||
/* 0x1C */ ColliderTriItem* list;
|
||||
} ColliderTris; //size 0x20
|
||||
} ColliderTris; //size = 0x20
|
||||
|
||||
typedef struct
|
||||
{
|
||||
|
|
|
|||
|
|
@ -277,7 +277,6 @@ s32 func_8005BC28(GlobalContext* globalCtx, ColliderJntSph* collider) {
|
|||
next = collider->list;
|
||||
|
||||
while (next < collider->list + collider->count) {
|
||||
|
||||
func_8005BB10(globalCtx, next);
|
||||
next++;
|
||||
}
|
||||
|
|
@ -665,7 +664,27 @@ s32 func_8005C7E0(GlobalContext* globalCtx, ColliderTris* tris) {
|
|||
}
|
||||
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_collision_check/func_8005C810.s")
|
||||
//Destruct ColliderTris (malloc)
|
||||
s32 func_8005C810(GlobalContext* globalCtx, ColliderTris* tris) {
|
||||
ColliderTriItem* next;
|
||||
u32 temp_s0;
|
||||
u32 phi_s0;
|
||||
|
||||
func_8005B6A0(globalCtx, &tris->base);
|
||||
next = tris->list;
|
||||
|
||||
while (next < tris->list + tris->count) {
|
||||
func_8005C6F8(globalCtx, next);
|
||||
next++;
|
||||
}
|
||||
|
||||
tris->count = 0;
|
||||
if (tris->list != NULL) {
|
||||
ZeldaArena_FreeDebug(tris->list, "../z_collision_check.c", 0x833);
|
||||
}
|
||||
tris->list = NULL;
|
||||
return 1;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_collision_check/func_8005C8C8.s")
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue