mirror of https://github.com/zeldaret/oot.git
func_8006146C func_8006268C ok
This commit is contained in:
parent
d0e076778e
commit
d132401ad5
|
@ -1,20 +0,0 @@
|
||||||
glabel func_8006146C
|
|
||||||
/* AD860C 8006146C 308200FF */ andi $v0, $a0, 0xff
|
|
||||||
/* AD8610 80061470 240100FF */ li $at, 255
|
|
||||||
/* AD8614 80061474 14410003 */ bne $v0, $at, .L80061484
|
|
||||||
/* AD8618 80061478 AFA40000 */ sw $a0, ($sp)
|
|
||||||
/* AD861C 8006147C 03E00008 */ jr $ra
|
|
||||||
/* AD8620 80061480 00001025 */ move $v0, $zero
|
|
||||||
|
|
||||||
.L80061484:
|
|
||||||
/* AD8624 80061484 240100FE */ li $at, 254
|
|
||||||
/* AD8628 80061488 54410004 */ bnel $v0, $at, .L8006149C
|
|
||||||
/* AD862C 8006148C 24020002 */ li $v0, 2
|
|
||||||
/* AD8630 80061490 03E00008 */ jr $ra
|
|
||||||
/* AD8634 80061494 24020001 */ li $v0, 1
|
|
||||||
|
|
||||||
/* AD8638 80061498 24020002 */ li $v0, 2
|
|
||||||
.L8006149C:
|
|
||||||
/* AD863C 8006149C 03E00008 */ jr $ra
|
|
||||||
/* AD8640 800614A0 00000000 */ nop
|
|
||||||
|
|
|
@ -101,14 +101,3 @@ glabel func_80062530
|
||||||
/* AD9820 80062680 8FBE0040 */ lw $fp, 0x40($sp)
|
/* AD9820 80062680 8FBE0040 */ lw $fp, 0x40($sp)
|
||||||
/* AD9824 80062684 03E00008 */ jr $ra
|
/* AD9824 80062684 03E00008 */ jr $ra
|
||||||
/* AD9828 80062688 27BD0048 */ addiu $sp, $sp, 0x48
|
/* AD9828 80062688 27BD0048 */ addiu $sp, $sp, 0x48
|
||||||
|
|
||||||
/* AD982C 8006268C 27BDFFE0 */ addiu $sp, $sp, -0x20
|
|
||||||
/* AD9830 80062690 AFBF001C */ sw $ra, 0x1c($sp)
|
|
||||||
/* AD9834 80062694 AFA00010 */ sw $zero, 0x10($sp)
|
|
||||||
/* AD9838 80062698 0C01894C */ jal func_80062530
|
|
||||||
/* AD983C 8006269C AFA00014 */ sw $zero, 0x14($sp)
|
|
||||||
/* AD9840 800626A0 8FBF001C */ lw $ra, 0x1c($sp)
|
|
||||||
/* AD9844 800626A4 27BD0020 */ addiu $sp, $sp, 0x20
|
|
||||||
/* AD9848 800626A8 03E00008 */ jr $ra
|
|
||||||
/* AD984C 800626AC 00000000 */ nop
|
|
||||||
|
|
||||||
|
|
|
@ -1523,8 +1523,15 @@ void func_8006139C(GlobalContext* globalCtx, CollisionCheckContext* check) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
s32 func_8006146C(u8 unk) {
|
||||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_collision_check/func_8006146C.s")
|
if (unk == 0xFF) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
if (unk == 0xFE) {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
return 2;
|
||||||
|
}
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_collision_check/func_800614A4.s")
|
#pragma GLOBAL_ASM("asm/non_matchings/code/z_collision_check/func_800614A4.s")
|
||||||
|
|
||||||
|
@ -1542,6 +1549,13 @@ void func_8006139C(GlobalContext* globalCtx, CollisionCheckContext* check) {
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_collision_check/func_80061ED4.s")
|
#pragma GLOBAL_ASM("asm/non_matchings/code/z_collision_check/func_80061ED4.s")
|
||||||
//func_80061ED4 a1 = ActorDamageChart
|
//func_80061ED4 a1 = ActorDamageChart
|
||||||
|
//void func_80061ED4(void* arg0, ? 32 arg1, void* arg2) {
|
||||||
|
// arg0->unk0 = arg1;
|
||||||
|
// arg0->unk17 = (u8)arg2->unk0;
|
||||||
|
// arg0->unk10 = (s16)arg2->unk2;
|
||||||
|
// arg0->unk12 = (s16)arg2->unk4;
|
||||||
|
// arg0->unk16 = (u8)arg2->unk6;
|
||||||
|
//}
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_collision_check/func_80061EFC.s")
|
#pragma GLOBAL_ASM("asm/non_matchings/code/z_collision_check/func_80061EFC.s")
|
||||||
|
|
||||||
|
@ -1550,6 +1564,92 @@ void func_8006139C(GlobalContext* globalCtx, CollisionCheckContext* check) {
|
||||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_collision_check/func_800622E4.s")
|
#pragma GLOBAL_ASM("asm/non_matchings/code/z_collision_check/func_800622E4.s")
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_collision_check/func_80062530.s")
|
#pragma GLOBAL_ASM("asm/non_matchings/code/z_collision_check/func_80062530.s")
|
||||||
|
/*
|
||||||
|
s32 func_80062530(s32 arg0, void* arg1, UNK_TYPE arg2, UNK_TYPE arg3, void* arg4, s32 arg5) {
|
||||||
|
s32 temp_ret;
|
||||||
|
s32 temp_s4;
|
||||||
|
s32 temp_v0;
|
||||||
|
void* temp_a2;
|
||||||
|
void* temp_s1;
|
||||||
|
void* temp_s1_2;
|
||||||
|
void* temp_v0_2;
|
||||||
|
void* phi_s1;
|
||||||
|
void* phi_v1;
|
||||||
|
s32 phi_v0;
|
||||||
|
s32 phi_a1;
|
||||||
|
s32 phi_s4;
|
||||||
|
s32 phi_s4_2;
|
||||||
|
s32 phi_s4_3;
|
||||||
|
|
||||||
|
temp_s1 = arg1 + 0x1C4;
|
||||||
|
phi_s4 = 0;
|
||||||
|
if (temp_s1 < (u32)((arg1 + (arg1->unk1C0 * 4)) + 0x1C4)) {
|
||||||
|
phi_s1 = temp_s1;
|
||||||
|
phi_s4_3 = 0;
|
||||||
|
loop_2:
|
||||||
|
phi_s4_2 = phi_s4_3;
|
||||||
|
if (func_80061BF4(*phi_s1) != 1) {
|
||||||
|
phi_a1 = 0;
|
||||||
|
if (arg5 > 0) {
|
||||||
|
phi_v1 = arg4;
|
||||||
|
phi_v0 = 0;
|
||||||
|
loop_5:
|
||||||
|
temp_v0 = phi_v0 + 1;
|
||||||
|
if ((*phi_s1)->unk0 == *phi_v1) {
|
||||||
|
phi_a1 = 1;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
phi_v1 = phi_v1 + 4;
|
||||||
|
phi_v0 = temp_v0;
|
||||||
|
phi_a1 = 0;
|
||||||
|
if (temp_v0 != arg5) {
|
||||||
|
goto loop_5;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
phi_s4_2 = phi_s4_3;
|
||||||
|
if (phi_a1 != 1) {
|
||||||
|
temp_a2 = *phi_s1;
|
||||||
|
temp_v0_2 = &D_8011E018 + (temp_a2->unk15 * 4);
|
||||||
|
if (*temp_v0_2 == 0) {
|
||||||
|
osSyncPrintf("CollisionCheck_generalLineOcCheck():未対応 %dタイプ\n", temp_a2->unk15, temp_a2, arg2);
|
||||||
|
//EUC-JP: 未対応 %dタイプ | %d's type is not supported
|
||||||
|
phi_s4_2 = phi_s4_3;
|
||||||
|
block_13:
|
||||||
|
temp_s1_2 = phi_s1 + 4;
|
||||||
|
phi_s1 = temp_s1_2;
|
||||||
|
phi_s4 = phi_s4_2;
|
||||||
|
phi_s4_3 = phi_s4_2;
|
||||||
|
if (temp_s1_2 < (u32)((arg1 + (arg1->unk1C0 * 4)) + 0x1C4)) {
|
||||||
|
goto loop_2;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
temp_ret = *temp_v0_2(arg0, arg1, temp_a2, arg2, arg3);
|
||||||
|
temp_s4 = temp_ret;
|
||||||
|
phi_s4 = temp_s4;
|
||||||
|
phi_s4_2 = temp_s4;
|
||||||
|
if (temp_ret == 0) {
|
||||||
|
block_12:
|
||||||
|
goto block_13;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
goto block_12;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
goto block_12;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return phi_s4;
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
void func_8006268C(GlobalContext* arg0, CollisionCheckContext* arg1, UNK_TYPE arg2, UNK_TYPE arg3) {
|
||||||
|
func_80062530(arg0, arg1, arg2, arg3, 0, 0);
|
||||||
|
}
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_collision_check/func_800626B0.s")
|
#pragma GLOBAL_ASM("asm/non_matchings/code/z_collision_check/func_800626B0.s")
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue