func_8005E2EC func_8005E4F8 OK

This commit is contained in:
mzxrules 2020-04-03 13:19:30 -04:00
parent 65feb3a6df
commit 347c03000d
4 changed files with 66 additions and 226 deletions

View File

@ -1,142 +0,0 @@
glabel func_8005E2EC
/* AD548C 8005E2EC 27BDFFE0 */ addiu $sp, $sp, -0x20
/* AD5490 8005E2F0 AFBF001C */ sw $ra, 0x1c($sp)
/* AD5494 8005E2F4 AFA60028 */ sw $a2, 0x28($sp)
/* AD5498 8005E2F8 90A20015 */ lbu $v0, 0x15($a1)
/* AD549C 8005E2FC 30420018 */ andi $v0, $v0, 0x18
/* AD54A0 8005E300 14400024 */ bnez $v0, .L8005E394
/* AD54A4 8005E304 00000000 */ nop
/* AD54A8 8005E308 90CF0014 */ lbu $t7, 0x14($a2)
/* AD54AC 8005E30C 24010009 */ li $at, 9
/* AD54B0 8005E310 00002825 */ move $a1, $zero
/* AD54B4 8005E314 11E1001F */ beq $t7, $at, .L8005E394
/* AD54B8 8005E318 00000000 */ nop
/* AD54BC 8005E31C 0C00A729 */ jal func_80029CA4
/* AD54C0 8005E320 00E03025 */ move $a2, $a3
/* AD54C4 8005E324 8FB80028 */ lw $t8, 0x28($sp)
/* AD54C8 8005E328 3C078013 */ lui $a3, %hi(D_801333E0) # $a3, 0x8013
/* AD54CC 8005E32C 24E733E0 */ addiu $a3, %lo(D_801333E0) # addiu $a3, $a3, 0x33e0
/* AD54D0 8005E330 8F020000 */ lw $v0, ($t8)
/* AD54D4 8005E334 24041806 */ li $a0, 6150
/* AD54D8 8005E338 24060004 */ li $a2, 4
/* AD54DC 8005E33C 1440000E */ bnez $v0, .L8005E378
/* AD54E0 8005E340 244500E4 */ addiu $a1, $v0, 0xe4
/* AD54E4 8005E344 3C078013 */ lui $a3, %hi(D_801333E0) # $a3, 0x8013
/* AD54E8 8005E348 3C198013 */ lui $t9, %hi(D_801333E8) # $t9, 0x8013
/* AD54EC 8005E34C 24E733E0 */ addiu $a3, %lo(D_801333E0) # addiu $a3, $a3, 0x33e0
/* AD54F0 8005E350 273933E8 */ addiu $t9, %lo(D_801333E8) # addiu $t9, $t9, 0x33e8
/* AD54F4 8005E354 3C058013 */ lui $a1, %hi(D_801333D4) # $a1, 0x8013
/* AD54F8 8005E358 24A533D4 */ addiu $a1, %lo(D_801333D4) # addiu $a1, $a1, 0x33d4
/* AD54FC 8005E35C AFB90014 */ sw $t9, 0x14($sp)
/* AD5500 8005E360 AFA70010 */ sw $a3, 0x10($sp)
/* AD5504 8005E364 24041806 */ li $a0, 6150
/* AD5508 8005E368 0C03DCE3 */ jal Audio_PlaySoundGeneral
/* AD550C 8005E36C 24060004 */ li $a2, 4
/* AD5510 8005E370 1000005E */ b .L8005E4EC
/* AD5514 8005E374 8FBF001C */ lw $ra, 0x1c($sp)
.L8005E378:
/* AD5518 8005E378 3C088013 */ lui $t0, %hi(D_801333E8) # $t0, 0x8013
/* AD551C 8005E37C 250833E8 */ addiu $t0, %lo(D_801333E8) # addiu $t0, $t0, 0x33e8
/* AD5520 8005E380 AFA80014 */ sw $t0, 0x14($sp)
/* AD5524 8005E384 0C03DCE3 */ jal Audio_PlaySoundGeneral
/* AD5528 8005E388 AFA70010 */ sw $a3, 0x10($sp)
/* AD552C 8005E38C 10000057 */ b .L8005E4EC
/* AD5530 8005E390 8FBF001C */ lw $ra, 0x1c($sp)
.L8005E394:
/* AD5534 8005E394 14400015 */ bnez $v0, .L8005E3EC
/* AD5538 8005E398 24010008 */ li $at, 8
/* AD553C 8005E39C 24050003 */ li $a1, 3
/* AD5540 8005E3A0 00E03025 */ move $a2, $a3
/* AD5544 8005E3A4 AFA40020 */ sw $a0, 0x20($sp)
/* AD5548 8005E3A8 0C00A729 */ jal func_80029CA4
/* AD554C 8005E3AC AFA7002C */ sw $a3, 0x2c($sp)
/* AD5550 8005E3B0 8FA90028 */ lw $t1, 0x28($sp)
/* AD5554 8005E3B4 8FA7002C */ lw $a3, 0x2c($sp)
/* AD5558 8005E3B8 8FA40020 */ lw $a0, 0x20($sp)
/* AD555C 8005E3BC 8D220000 */ lw $v0, ($t1)
/* AD5560 8005E3C0 00E02825 */ move $a1, $a3
/* AD5564 8005E3C4 14400005 */ bnez $v0, .L8005E3DC
/* AD5568 8005E3C8 00000000 */ nop
/* AD556C 8005E3CC 0C018B58 */ jal func_80062D60
/* AD5570 8005E3D0 00E02825 */ move $a1, $a3
/* AD5574 8005E3D4 10000045 */ b .L8005E4EC
/* AD5578 8005E3D8 8FBF001C */ lw $ra, 0x1c($sp)
.L8005E3DC:
/* AD557C 8005E3DC 0C018B6B */ jal func_80062DAC
/* AD5580 8005E3E0 244600E4 */ addiu $a2, $v0, 0xe4
/* AD5584 8005E3E4 10000041 */ b .L8005E4EC
/* AD5588 8005E3E8 8FBF001C */ lw $ra, 0x1c($sp)
.L8005E3EC:
/* AD558C 8005E3EC 1441001F */ bne $v0, $at, .L8005E46C
/* AD5590 8005E3F0 00002825 */ move $a1, $zero
/* AD5594 8005E3F4 0C00A729 */ jal func_80029CA4
/* AD5598 8005E3F8 00E03025 */ move $a2, $a3
/* AD559C 8005E3FC 8FAA0028 */ lw $t2, 0x28($sp)
/* AD55A0 8005E400 3C078013 */ lui $a3, %hi(D_801333E0) # $a3, 0x8013
/* AD55A4 8005E404 24E733E0 */ addiu $a3, %lo(D_801333E0) # addiu $a3, $a3, 0x33e0
/* AD55A8 8005E408 8D420000 */ lw $v0, ($t2)
/* AD55AC 8005E40C 24041806 */ li $a0, 6150
/* AD55B0 8005E410 24060004 */ li $a2, 4
/* AD55B4 8005E414 1440000E */ bnez $v0, .L8005E450
/* AD55B8 8005E418 244500E4 */ addiu $a1, $v0, 0xe4
/* AD55BC 8005E41C 3C078013 */ lui $a3, %hi(D_801333E0) # $a3, 0x8013
/* AD55C0 8005E420 3C0B8013 */ lui $t3, %hi(D_801333E8) # $t3, 0x8013
/* AD55C4 8005E424 24E733E0 */ addiu $a3, %lo(D_801333E0) # addiu $a3, $a3, 0x33e0
/* AD55C8 8005E428 256B33E8 */ addiu $t3, %lo(D_801333E8) # addiu $t3, $t3, 0x33e8
/* AD55CC 8005E42C 3C058013 */ lui $a1, %hi(D_801333D4) # $a1, 0x8013
/* AD55D0 8005E430 24A533D4 */ addiu $a1, %lo(D_801333D4) # addiu $a1, $a1, 0x33d4
/* AD55D4 8005E434 AFAB0014 */ sw $t3, 0x14($sp)
/* AD55D8 8005E438 AFA70010 */ sw $a3, 0x10($sp)
/* AD55DC 8005E43C 24041806 */ li $a0, 6150
/* AD55E0 8005E440 0C03DCE3 */ jal Audio_PlaySoundGeneral
/* AD55E4 8005E444 24060004 */ li $a2, 4
/* AD55E8 8005E448 10000028 */ b .L8005E4EC
/* AD55EC 8005E44C 8FBF001C */ lw $ra, 0x1c($sp)
.L8005E450:
/* AD55F0 8005E450 3C0C8013 */ lui $t4, %hi(D_801333E8) # $t4, 0x8013
/* AD55F4 8005E454 258C33E8 */ addiu $t4, %lo(D_801333E8) # addiu $t4, $t4, 0x33e8
/* AD55F8 8005E458 AFAC0014 */ sw $t4, 0x14($sp)
/* AD55FC 8005E45C 0C03DCE3 */ jal Audio_PlaySoundGeneral
/* AD5600 8005E460 AFA70010 */ sw $a3, 0x10($sp)
/* AD5604 8005E464 10000021 */ b .L8005E4EC
/* AD5608 8005E468 8FBF001C */ lw $ra, 0x1c($sp)
.L8005E46C:
/* AD560C 8005E46C 24010010 */ li $at, 16
/* AD5610 8005E470 1441001D */ bne $v0, $at, .L8005E4E8
/* AD5614 8005E474 24050001 */ li $a1, 1
/* AD5618 8005E478 0C00A729 */ jal func_80029CA4
/* AD561C 8005E47C 00E03025 */ move $a2, $a3
/* AD5620 8005E480 8FAD0028 */ lw $t5, 0x28($sp)
/* AD5624 8005E484 3C078013 */ lui $a3, %hi(D_801333E0) # $a3, 0x8013
/* AD5628 8005E488 24E733E0 */ addiu $a3, %lo(D_801333E0) # addiu $a3, $a3, 0x33e0
/* AD562C 8005E48C 8DA20000 */ lw $v0, ($t5)
/* AD5630 8005E490 24041837 */ li $a0, 6199
/* AD5634 8005E494 24060004 */ li $a2, 4
/* AD5638 8005E498 1440000E */ bnez $v0, .L8005E4D4
/* AD563C 8005E49C 244500E4 */ addiu $a1, $v0, 0xe4
/* AD5640 8005E4A0 3C078013 */ lui $a3, %hi(D_801333E0) # $a3, 0x8013
/* AD5644 8005E4A4 3C0E8013 */ lui $t6, %hi(D_801333E8) # $t6, 0x8013
/* AD5648 8005E4A8 24E733E0 */ addiu $a3, %lo(D_801333E0) # addiu $a3, $a3, 0x33e0
/* AD564C 8005E4AC 25CE33E8 */ addiu $t6, %lo(D_801333E8) # addiu $t6, $t6, 0x33e8
/* AD5650 8005E4B0 3C058013 */ lui $a1, %hi(D_801333D4) # $a1, 0x8013
/* AD5654 8005E4B4 24A533D4 */ addiu $a1, %lo(D_801333D4) # addiu $a1, $a1, 0x33d4
/* AD5658 8005E4B8 AFAE0014 */ sw $t6, 0x14($sp)
/* AD565C 8005E4BC AFA70010 */ sw $a3, 0x10($sp)
/* AD5660 8005E4C0 24041837 */ li $a0, 6199
/* AD5664 8005E4C4 0C03DCE3 */ jal Audio_PlaySoundGeneral
/* AD5668 8005E4C8 24060004 */ li $a2, 4
/* AD566C 8005E4CC 10000007 */ b .L8005E4EC
/* AD5670 8005E4D0 8FBF001C */ lw $ra, 0x1c($sp)
.L8005E4D4:
/* AD5674 8005E4D4 3C0F8013 */ lui $t7, %hi(D_801333E8) # $t7, 0x8013
/* AD5678 8005E4D8 25EF33E8 */ addiu $t7, %lo(D_801333E8) # addiu $t7, $t7, 0x33e8
/* AD567C 8005E4DC AFAF0014 */ sw $t7, 0x14($sp)
/* AD5680 8005E4E0 0C03DCE3 */ jal Audio_PlaySoundGeneral
/* AD5684 8005E4E4 AFA70010 */ sw $a3, 0x10($sp)
.L8005E4E8:
/* AD5688 8005E4E8 8FBF001C */ lw $ra, 0x1c($sp)
.L8005E4EC:
/* AD568C 8005E4EC 27BD0020 */ addiu $sp, $sp, 0x20
/* AD5690 8005E4F0 03E00008 */ jr $ra
/* AD5694 8005E4F4 00000000 */ nop

View File

@ -1,74 +0,0 @@
glabel func_8005E4F8
/* AD5698 8005E4F8 27BDFFE0 */ addiu $sp, $sp, -0x20
/* AD569C 8005E4FC AFBF001C */ sw $ra, 0x1c($sp)
/* AD56A0 8005E500 8C830000 */ lw $v1, ($a0)
/* AD56A4 8005E504 5060003B */ beql $v1, $zero, .L8005E5F4
/* AD56A8 8005E508 8FBF001C */ lw $ra, 0x1c($sp)
/* AD56AC 8005E50C 906E0002 */ lbu $t6, 2($v1)
/* AD56B0 8005E510 24040002 */ li $a0, 2
/* AD56B4 8005E514 548E0037 */ bnel $a0, $t6, .L8005E5F4
/* AD56B8 8005E518 8FBF001C */ lw $ra, 0x1c($sp)
/* AD56BC 8005E51C 90A20014 */ lbu $v0, 0x14($a1)
/* AD56C0 8005E520 3C078013 */ lui $a3, %hi(D_801333E0) # $a3, 0x8013
/* AD56C4 8005E524 24E733E0 */ addiu $a3, %lo(D_801333E0) # addiu $a3, $a3, 0x33e0
/* AD56C8 8005E528 1440000B */ bnez $v0, .L8005E558
/* AD56CC 8005E52C 24010001 */ li $at, 1
/* AD56D0 8005E530 3C0F8013 */ lui $t7, %hi(D_801333E8) # $t7, 0x8013
/* AD56D4 8005E534 25EF33E8 */ addiu $t7, %lo(D_801333E8) # addiu $t7, $t7, 0x33e8
/* AD56D8 8005E538 AFAF0014 */ sw $t7, 0x14($sp)
/* AD56DC 8005E53C 24041811 */ li $a0, 6161
/* AD56E0 8005E540 246500E4 */ addiu $a1, $v1, 0xe4
/* AD56E4 8005E544 24060004 */ li $a2, 4
/* AD56E8 8005E548 0C03DCE3 */ jal Audio_PlaySoundGeneral
/* AD56EC 8005E54C AFA70010 */ sw $a3, 0x10($sp)
/* AD56F0 8005E550 10000028 */ b .L8005E5F4
/* AD56F4 8005E554 8FBF001C */ lw $ra, 0x1c($sp)
.L8005E558:
/* AD56F8 8005E558 1441000C */ bne $v0, $at, .L8005E58C
/* AD56FC 8005E55C 3C078013 */ lui $a3, %hi(D_801333E0) # $a3, 0x8013
/* AD5700 8005E560 3C188013 */ lui $t8, %hi(D_801333E8) # $t8, 0x8013
/* AD5704 8005E564 24E733E0 */ addiu $a3, %lo(D_801333E0) # addiu $a3, $a3, 0x33e0
/* AD5708 8005E568 271833E8 */ addiu $t8, %lo(D_801333E8) # addiu $t8, $t8, 0x33e8
/* AD570C 8005E56C AFB80014 */ sw $t8, 0x14($sp)
/* AD5710 8005E570 AFA70010 */ sw $a3, 0x10($sp)
/* AD5714 8005E574 24041824 */ li $a0, 6180
/* AD5718 8005E578 246500E4 */ addiu $a1, $v1, 0xe4
/* AD571C 8005E57C 0C03DCE3 */ jal Audio_PlaySoundGeneral
/* AD5720 8005E580 24060004 */ li $a2, 4
/* AD5724 8005E584 1000001B */ b .L8005E5F4
/* AD5728 8005E588 8FBF001C */ lw $ra, 0x1c($sp)
.L8005E58C:
/* AD572C 8005E58C 1482000D */ bne $a0, $v0, .L8005E5C4
/* AD5730 8005E590 24010003 */ li $at, 3
/* AD5734 8005E594 3C078013 */ lui $a3, %hi(D_801333E0) # $a3, 0x8013
/* AD5738 8005E598 3C198013 */ lui $t9, %hi(D_801333E8) # $t9, 0x8013
/* AD573C 8005E59C 24E733E0 */ addiu $a3, %lo(D_801333E0) # addiu $a3, $a3, 0x33e0
/* AD5740 8005E5A0 273933E8 */ addiu $t9, %lo(D_801333E8) # addiu $t9, $t9, 0x33e8
/* AD5744 8005E5A4 AFB90014 */ sw $t9, 0x14($sp)
/* AD5748 8005E5A8 AFA70010 */ sw $a3, 0x10($sp)
/* AD574C 8005E5AC 00002025 */ move $a0, $zero
/* AD5750 8005E5B0 246500E4 */ addiu $a1, $v1, 0xe4
/* AD5754 8005E5B4 0C03DCE3 */ jal Audio_PlaySoundGeneral
/* AD5758 8005E5B8 24060004 */ li $a2, 4
/* AD575C 8005E5BC 1000000D */ b .L8005E5F4
/* AD5760 8005E5C0 8FBF001C */ lw $ra, 0x1c($sp)
.L8005E5C4:
/* AD5764 8005E5C4 1441000A */ bne $v0, $at, .L8005E5F0
/* AD5768 8005E5C8 3C078013 */ lui $a3, %hi(D_801333E0) # $a3, 0x8013
/* AD576C 8005E5CC 3C088013 */ lui $t0, %hi(D_801333E8) # $t0, 0x8013
/* AD5770 8005E5D0 24E733E0 */ addiu $a3, %lo(D_801333E0) # addiu $a3, $a3, 0x33e0
/* AD5774 8005E5D4 250833E8 */ addiu $t0, %lo(D_801333E8) # addiu $t0, $t0, 0x33e8
/* AD5778 8005E5D8 AFA80014 */ sw $t0, 0x14($sp)
/* AD577C 8005E5DC AFA70010 */ sw $a3, 0x10($sp)
/* AD5780 8005E5E0 00002025 */ move $a0, $zero
/* AD5784 8005E5E4 246500E4 */ addiu $a1, $v1, 0xe4
/* AD5788 8005E5E8 0C03DCE3 */ jal Audio_PlaySoundGeneral
/* AD578C 8005E5EC 24060004 */ li $a2, 4
.L8005E5F0:
/* AD5790 8005E5F0 8FBF001C */ lw $ra, 0x1c($sp)
.L8005E5F4:
/* AD5794 8005E5F4 27BD0020 */ addiu $sp, $sp, 0x20
/* AD5798 8005E5F8 24020001 */ li $v0, 1
/* AD579C 8005E5FC 03E00008 */ jr $ra
/* AD57A0 8005E600 00000000 */ nop

View File

@ -233,7 +233,7 @@ void Effect_SpawnFragment(GlobalContext* globalCtx, Vec3f* burstDepthY, Vec3f* b
// ? func_8002993C(?);
// ? func_800299AC(?);
// ? func_80029C50(?);
// ? func_80029CA4(?);
void func_80029CA4(GlobalContext* globalCtx, s32 a, Vec3f* pos); //arg a1 is not s32, this will not OK func_8005E604
// ? func_80029F44(?);
// ? func_8002A32C(?);
// ? func_8002A3C4(?);

View File

@ -1119,10 +1119,69 @@ void func_8005DF9C(GlobalContext* globalCtx, Collider* collider, Vec3f* v) {
#pragma GLOBAL_ASM("asm/non_matchings/code/z_collision_check/func_8005DFAC.s")
void func_8005E2EC(GlobalContext* globalContext, ColliderBody* a, Collider* b, Vec3f* c);
#pragma GLOBAL_ASM("asm/non_matchings/code/z_collision_check/func_8005E2EC.s")
void func_8005E2EC(GlobalContext* globalCtx, ColliderBody* arg1, Collider* arg2, Vec3f* arg3) {
s32 temp_v0;
#pragma GLOBAL_ASM("asm/non_matchings/code/z_collision_check/func_8005E4F8.s")
temp_v0 = arg1->toucherFlags & 0x18;
if (temp_v0 == 0) {
if (arg2->unk_14 != 9) {
func_80029CA4(globalCtx, 0, arg3);
if (arg2->actor == NULL) {
Audio_PlaySoundGeneral(NA_SE_IT_SHIELD_BOUND, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8);
return;
}
Audio_PlaySoundGeneral(NA_SE_IT_SHIELD_BOUND, &arg2->actor->unk_E4, 4, &D_801333E0, &D_801333E0, &D_801333E8);
return;
}
}
if (temp_v0 == 0) {
func_80029CA4(globalCtx, 3, arg3);
if (arg2->actor == NULL) {
func_80062D60(globalCtx, arg3);
return;
}
func_80062DAC(globalCtx, arg3, &arg2->actor->unk_E4);
return;
}
if (temp_v0 == 8) {
func_80029CA4(globalCtx, 0, arg3);
if (arg2->actor == NULL) {
Audio_PlaySoundGeneral(NA_SE_IT_SHIELD_BOUND, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8);
return;
}
Audio_PlaySoundGeneral(NA_SE_IT_SHIELD_BOUND, &arg2->actor->unk_E4, 4, &D_801333E0, &D_801333E0, &D_801333E8);
return;
}
if (temp_v0 == 0x10) {
func_80029CA4(globalCtx, 1, arg3);
if (arg2->actor == NULL) {
Audio_PlaySoundGeneral(NA_SE_IT_REFLECTION_WOOD, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8);
return;
}
Audio_PlaySoundGeneral(NA_SE_IT_REFLECTION_WOOD, &arg2->actor->unk_E4, 4, &D_801333E0, &D_801333E0, &D_801333E8);
return;
}
}
s32 func_8005E4F8(Collider* left, ColliderBody* rightBody) {
if (left->actor != NULL) {
if (ACTORTYPE_PLAYER == left->actor->type) {
if (rightBody->flags == 0) {
Audio_PlaySoundGeneral(NA_SE_IT_SWORD_STRIKE, &left->actor->unk_E4, 4, &D_801333E0, &D_801333E0, &D_801333E8);
}
else if (rightBody->flags == 1) {
Audio_PlaySoundGeneral(NA_SE_IT_SWORD_STRIKE_HARD, &left->actor->unk_E4, 4, &D_801333E0, &D_801333E0, &D_801333E8);
}
else if (2 == rightBody->flags) {
Audio_PlaySoundGeneral(NA_SE_PL_WALK_GROUND, &left->actor->unk_E4, 4, &D_801333E0, &D_801333E0, &D_801333E8);
}
else if (rightBody->flags == 3) {
Audio_PlaySoundGeneral(NA_SE_PL_WALK_GROUND, &left->actor->unk_E4, 4, &D_801333E0, &D_801333E0, &D_801333E8);
}
}
}
return 1;
}
typedef struct {
u8 unk00;
@ -1139,12 +1198,12 @@ void func_8005E604(GlobalContext* globalContext, Collider* left, ColliderBody* l
if (right->actor != NULL) {
(*D_8011DF28[D_8011DF40[right->unk_14].unk00])(globalContext, right, arg5);
}
if (right->actor != 0) {
if (right->actor != NULL) {
if (D_8011DF40[right->unk_14].unk01 == 3) {
func_8005E2EC(globalContext, leftBody, right, arg5);
return;
}
if (D_8011DF40[right->unk_14].unk01 == 4) {
else if (D_8011DF40[right->unk_14].unk01 == 4) {
if (left->actor == NULL) {
func_80062CD4(globalContext, arg5);
@ -1154,7 +1213,7 @@ void func_8005E604(GlobalContext* globalContext, Collider* left, ColliderBody* l
func_80062E14(globalContext, arg5, &left->actor->unk_E4);
return;
}
if (D_8011DF40[right->unk_14].unk01 != 5) {
else if (D_8011DF40[right->unk_14].unk01 != 5) {
func_80029CA4(globalContext, D_8011DF40[right->unk_14].unk01, arg5);
if ((rightBody->bumperFlags & 0x20) == 0) {
func_8005E4F8(left, rightBody);
@ -1171,9 +1230,6 @@ void func_8005E604(GlobalContext* globalContext, Collider* left, ColliderBody* l
Audio_PlaySoundGeneral(NA_SE_IT_SHIELD_BOUND, &right->actor->unk_E4, 4, &D_801333E0, &D_801333E0, &D_801333E8);
}
}
else {
}
}
}