From 15038468acfbf431d9aab693f0e5058bbe5f2c8c Mon Sep 17 00:00:00 2001 From: fig02 Date: Sun, 19 Jul 2020 14:04:30 -0400 Subject: [PATCH] En_Bom and En_Bombf (#264) * data migrated * progress * progress * enbom ok * cleanup * progress * still have stack issues * bombf done * done i think * review comments 1 * add type enums * move enums and use -1 * remove unwanted file --- .../actors/ovl_En_Bom/EnBom_Destroy.s | 18 - .../overlays/actors/ovl_En_Bom/EnBom_Draw.s | 146 ------ .../overlays/actors/ovl_En_Bom/EnBom_Init.s | 75 --- .../overlays/actors/ovl_En_Bom/EnBom_Update.s | 476 ----------------- .../actors/ovl_En_Bom/func_809C26D0.s | 3 - .../actors/ovl_En_Bom/func_809C282C.s | 137 ----- .../actors/ovl_En_Bom/func_809C29F4.s | 19 - .../actors/ovl_En_Bom/func_809C2A38.s | 97 ---- .../actors/ovl_En_Bombf/EnBombf_Destroy.s | 18 - .../actors/ovl_En_Bombf/EnBombf_Draw.s | 185 ------- .../actors/ovl_En_Bombf/EnBombf_Init.s | 137 ----- .../actors/ovl_En_Bombf/EnBombf_Update.s | 6 +- .../actors/ovl_En_Bombf/func_809C6F60.s | 3 - .../actors/ovl_En_Bombf/func_809C7180.s | 11 - .../actors/ovl_En_Bombf/func_809C71A8.s | 212 -------- .../actors/ovl_En_Bombf/func_809C74AC.s | 79 --- .../actors/ovl_En_Bombf/func_809C75C8.s | 26 - .../actors/ovl_En_Bombf/func_809C7624.s | 98 ---- .../actors/ovl_En_Bombf/func_809C7F24.s | 44 -- data/overlays/actors/z_en_bom.data.s | 37 -- data/overlays/actors/z_en_bom.reloc.s | 13 - data/overlays/actors/z_en_bombf.data.s | 35 -- include/functions.h | 2 + spec | 8 +- src/overlays/actors/ovl_En_Bom/z_en_bom.c | 338 +++++++++++- src/overlays/actors/ovl_En_Bom/z_en_bom.h | 16 +- src/overlays/actors/ovl_En_Bombf/z_en_bombf.c | 485 +++++++++++++++++- src/overlays/actors/ovl_En_Bombf/z_en_bombf.h | 19 +- undefined_syms.txt | 9 + 29 files changed, 853 insertions(+), 1899 deletions(-) delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Bom/EnBom_Destroy.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Bom/EnBom_Draw.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Bom/EnBom_Init.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Bom/EnBom_Update.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Bom/func_809C26D0.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Bom/func_809C282C.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Bom/func_809C29F4.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Bom/func_809C2A38.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Bombf/EnBombf_Destroy.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Bombf/EnBombf_Draw.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Bombf/EnBombf_Init.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Bombf/func_809C6F60.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Bombf/func_809C7180.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Bombf/func_809C71A8.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Bombf/func_809C74AC.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Bombf/func_809C75C8.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Bombf/func_809C7624.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Bombf/func_809C7F24.s delete mode 100644 data/overlays/actors/z_en_bom.data.s delete mode 100644 data/overlays/actors/z_en_bom.reloc.s delete mode 100644 data/overlays/actors/z_en_bombf.data.s diff --git a/asm/non_matchings/overlays/actors/ovl_En_Bom/EnBom_Destroy.s b/asm/non_matchings/overlays/actors/ovl_En_Bom/EnBom_Destroy.s deleted file mode 100644 index 71a8c17092..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Bom/EnBom_Destroy.s +++ /dev/null @@ -1,18 +0,0 @@ -glabel EnBom_Destroy -/* 0011C 809C27EC 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00120 809C27F0 AFA40018 */ sw $a0, 0x0018($sp) -/* 00124 809C27F4 AFA5001C */ sw $a1, 0x001C($sp) -/* 00128 809C27F8 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000 -/* 0012C 809C27FC 8FA50018 */ lw $a1, 0x0018($sp) -/* 00130 809C2800 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00134 809C2804 0C016F32 */ jal Collider_DestroyJntSph -/* 00138 809C2808 24A50198 */ addiu $a1, $a1, 0x0198 ## $a1 = 00000198 -/* 0013C 809C280C 8FA50018 */ lw $a1, 0x0018($sp) -/* 00140 809C2810 8FA4001C */ lw $a0, 0x001C($sp) -/* 00144 809C2814 0C0170EB */ jal Collider_DestroyCylinder - -/* 00148 809C2818 24A5014C */ addiu $a1, $a1, 0x014C ## $a1 = 0000014C -/* 0014C 809C281C 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00150 809C2820 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00154 809C2824 03E00008 */ jr $ra -/* 00158 809C2828 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Bom/EnBom_Draw.s b/asm/non_matchings/overlays/actors/ovl_En_Bom/EnBom_Draw.s deleted file mode 100644 index 390ddf02a6..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Bom/EnBom_Draw.s +++ /dev/null @@ -1,146 +0,0 @@ -.rdata -glabel D_809C34D0 - .asciz "../z_en_bom.c" - .balign 4 - -glabel D_809C34E0 - .asciz "../z_en_bom.c" - .balign 4 - -glabel D_809C34F0 - .asciz "../z_en_bom.c" - .balign 4 - -glabel D_809C3500 - .asciz "../z_en_bom.c" - .balign 4 - -.text -glabel EnBom_Draw -/* 00B48 809C3218 27BDFFA0 */ addiu $sp, $sp, 0xFFA0 ## $sp = FFFFFFA0 -/* 00B4C 809C321C AFBF001C */ sw $ra, 0x001C($sp) -/* 00B50 809C3220 AFB00018 */ sw $s0, 0x0018($sp) -/* 00B54 809C3224 AFA40060 */ sw $a0, 0x0060($sp) -/* 00B58 809C3228 AFA50064 */ sw $a1, 0x0064($sp) -/* 00B5C 809C322C 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000 -/* 00B60 809C3230 3C06809C */ lui $a2, %hi(D_809C34D0) ## $a2 = 809C0000 -/* 00B64 809C3234 24C634D0 */ addiu $a2, $a2, %lo(D_809C34D0) ## $a2 = 809C34D0 -/* 00B68 809C3238 27A40044 */ addiu $a0, $sp, 0x0044 ## $a0 = FFFFFFE4 -/* 00B6C 809C323C 24070391 */ addiu $a3, $zero, 0x0391 ## $a3 = 00000391 -/* 00B70 809C3240 0C031AB1 */ jal Graph_OpenDisps -/* 00B74 809C3244 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000 -/* 00B78 809C3248 8FAF0060 */ lw $t7, 0x0060($sp) -/* 00B7C 809C324C 8FB90064 */ lw $t9, 0x0064($sp) -/* 00B80 809C3250 85F8001C */ lh $t8, 0x001C($t7) ## 0000001C -/* 00B84 809C3254 57000062 */ bnel $t8, $zero, .L809C33E0 -/* 00B88 809C3258 8FAC0064 */ lw $t4, 0x0064($sp) -/* 00B8C 809C325C 0C024F46 */ jal func_80093D18 -/* 00B90 809C3260 8F240000 */ lw $a0, 0x0000($t9) ## 00000000 -/* 00B94 809C3264 8FA40064 */ lw $a0, 0x0064($sp) -/* 00B98 809C3268 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 00B9C 809C326C 34211DA0 */ ori $at, $at, 0x1DA0 ## $at = 00011DA0 -/* 00BA0 809C3270 0C0347F5 */ jal func_800D1FD4 -/* 00BA4 809C3274 00812021 */ addu $a0, $a0, $at -/* 00BA8 809C3278 8FA40060 */ lw $a0, 0x0060($sp) -/* 00BAC 809C327C 8FA50064 */ lw $a1, 0x0064($sp) -/* 00BB0 809C3280 0C00BAF3 */ jal func_8002EBCC -/* 00BB4 809C3284 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000 -/* 00BB8 809C3288 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0 -/* 00BBC 809C328C 3C09DA38 */ lui $t1, 0xDA38 ## $t1 = DA380000 -/* 00BC0 809C3290 35290003 */ ori $t1, $t1, 0x0003 ## $t1 = DA380003 -/* 00BC4 809C3294 24480008 */ addiu $t0, $v0, 0x0008 ## $t0 = 00000008 -/* 00BC8 809C3298 AE0802C0 */ sw $t0, 0x02C0($s0) ## 000002C0 -/* 00BCC 809C329C AC490000 */ sw $t1, 0x0000($v0) ## 00000000 -/* 00BD0 809C32A0 8FAA0064 */ lw $t2, 0x0064($sp) -/* 00BD4 809C32A4 3C05809C */ lui $a1, %hi(D_809C34E0) ## $a1 = 809C0000 -/* 00BD8 809C32A8 24A534E0 */ addiu $a1, $a1, %lo(D_809C34E0) ## $a1 = 809C34E0 -/* 00BDC 809C32AC 8D440000 */ lw $a0, 0x0000($t2) ## 00000000 -/* 00BE0 809C32B0 240603A0 */ addiu $a2, $zero, 0x03A0 ## $a2 = 000003A0 -/* 00BE4 809C32B4 0C0346A2 */ jal Matrix_NewMtx -/* 00BE8 809C32B8 AFA20040 */ sw $v0, 0x0040($sp) -/* 00BEC 809C32BC 8FA30040 */ lw $v1, 0x0040($sp) -/* 00BF0 809C32C0 3C0D0400 */ lui $t5, 0x0400 ## $t5 = 04000000 -/* 00BF4 809C32C4 25AD7A50 */ addiu $t5, $t5, 0x7A50 ## $t5 = 04007A50 -/* 00BF8 809C32C8 AC620004 */ sw $v0, 0x0004($v1) ## 00000004 -/* 00BFC 809C32CC 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0 -/* 00C00 809C32D0 3C0CDE00 */ lui $t4, 0xDE00 ## $t4 = DE000000 -/* 00C04 809C32D4 24044000 */ addiu $a0, $zero, 0x4000 ## $a0 = 00004000 -/* 00C08 809C32D8 244B0008 */ addiu $t3, $v0, 0x0008 ## $t3 = 00000008 -/* 00C0C 809C32DC AE0B02C0 */ sw $t3, 0x02C0($s0) ## 000002C0 -/* 00C10 809C32E0 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000 -/* 00C14 809C32E4 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000 -/* 00C18 809C32E8 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 00C1C 809C32EC AC4D0004 */ sw $t5, 0x0004($v0) ## 00000004 -/* 00C20 809C32F0 0C034421 */ jal Matrix_RotateRPY -/* 00C24 809C32F4 AC4C0000 */ sw $t4, 0x0000($v0) ## 00000000 -/* 00C28 809C32F8 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0 -/* 00C2C 809C32FC 3C0FDA38 */ lui $t7, 0xDA38 ## $t7 = DA380000 -/* 00C30 809C3300 35EF0003 */ ori $t7, $t7, 0x0003 ## $t7 = DA380003 -/* 00C34 809C3304 244E0008 */ addiu $t6, $v0, 0x0008 ## $t6 = 00000008 -/* 00C38 809C3308 AE0E02C0 */ sw $t6, 0x02C0($s0) ## 000002C0 -/* 00C3C 809C330C AC4F0000 */ sw $t7, 0x0000($v0) ## 00000000 -/* 00C40 809C3310 8FB80064 */ lw $t8, 0x0064($sp) -/* 00C44 809C3314 3C05809C */ lui $a1, %hi(D_809C34F0) ## $a1 = 809C0000 -/* 00C48 809C3318 24A534F0 */ addiu $a1, $a1, %lo(D_809C34F0) ## $a1 = 809C34F0 -/* 00C4C 809C331C 8F040000 */ lw $a0, 0x0000($t8) ## 00000000 -/* 00C50 809C3320 240603A6 */ addiu $a2, $zero, 0x03A6 ## $a2 = 000003A6 -/* 00C54 809C3324 0C0346A2 */ jal Matrix_NewMtx -/* 00C58 809C3328 AFA20038 */ sw $v0, 0x0038($sp) -/* 00C5C 809C332C 8FA30038 */ lw $v1, 0x0038($sp) -/* 00C60 809C3330 3C08E700 */ lui $t0, 0xE700 ## $t0 = E7000000 -/* 00C64 809C3334 3C0AFB00 */ lui $t2, 0xFB00 ## $t2 = FB000000 -/* 00C68 809C3338 AC620004 */ sw $v0, 0x0004($v1) ## 00000004 -/* 00C6C 809C333C 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0 -/* 00C70 809C3340 3C0B0400 */ lui $t3, 0x0400 ## $t3 = 04000000 -/* 00C74 809C3344 256B7860 */ addiu $t3, $t3, 0x7860 ## $t3 = 04007860 -/* 00C78 809C3348 24590008 */ addiu $t9, $v0, 0x0008 ## $t9 = 00000008 -/* 00C7C 809C334C AE1902C0 */ sw $t9, 0x02C0($s0) ## 000002C0 -/* 00C80 809C3350 AC400004 */ sw $zero, 0x0004($v0) ## 00000004 -/* 00C84 809C3354 AC480000 */ sw $t0, 0x0000($v0) ## 00000000 -/* 00C88 809C3358 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0 -/* 00C8C 809C335C 8FA60060 */ lw $a2, 0x0060($sp) -/* 00C90 809C3360 00002025 */ or $a0, $zero, $zero ## $a0 = 00000000 -/* 00C94 809C3364 24490008 */ addiu $t1, $v0, 0x0008 ## $t1 = 00000008 -/* 00C98 809C3368 AE0902C0 */ sw $t1, 0x02C0($s0) ## 000002C0 -/* 00C9C 809C336C AC4A0000 */ sw $t2, 0x0000($v0) ## 00000000 -/* 00CA0 809C3370 C4C401FC */ lwc1 $f4, 0x01FC($a2) ## 000001FC -/* 00CA4 809C3374 3C0AFA00 */ lui $t2, 0xFA00 ## $t2 = FA000000 -/* 00CA8 809C3378 24C50198 */ addiu $a1, $a2, 0x0198 ## $a1 = 00000198 -/* 00CAC 809C337C 4600218D */ trunc.w.s $f6, $f4 -/* 00CB0 809C3380 440F3000 */ mfc1 $t7, $f6 -/* 00CB4 809C3384 00000000 */ nop -/* 00CB8 809C3388 000FCE00 */ sll $t9, $t7, 24 -/* 00CBC 809C338C 372828FF */ ori $t0, $t9, 0x28FF ## $t0 = 000028FF -/* 00CC0 809C3390 AC480004 */ sw $t0, 0x0004($v0) ## 00000004 -/* 00CC4 809C3394 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0 -/* 00CC8 809C3398 24490008 */ addiu $t1, $v0, 0x0008 ## $t1 = 00000008 -/* 00CCC 809C339C AE0902C0 */ sw $t1, 0x02C0($s0) ## 000002C0 -/* 00CD0 809C33A0 AC4A0000 */ sw $t2, 0x0000($v0) ## 00000000 -/* 00CD4 809C33A4 C4C801FC */ lwc1 $f8, 0x01FC($a2) ## 000001FC -/* 00CD8 809C33A8 3C0ADE00 */ lui $t2, 0xDE00 ## $t2 = DE000000 -/* 00CDC 809C33AC 4600428D */ trunc.w.s $f10, $f8 -/* 00CE0 809C33B0 440F5000 */ mfc1 $t7, $f10 -/* 00CE4 809C33B4 00000000 */ nop -/* 00CE8 809C33B8 000FCE00 */ sll $t9, $t7, 24 -/* 00CEC 809C33BC 372828FF */ ori $t0, $t9, 0x28FF ## $t0 = 000028FF -/* 00CF0 809C33C0 AC480004 */ sw $t0, 0x0004($v0) ## 00000004 -/* 00CF4 809C33C4 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0 -/* 00CF8 809C33C8 24490008 */ addiu $t1, $v0, 0x0008 ## $t1 = 00000008 -/* 00CFC 809C33CC AE0902C0 */ sw $t1, 0x02C0($s0) ## 000002C0 -/* 00D00 809C33D0 AC4B0004 */ sw $t3, 0x0004($v0) ## 00000004 -/* 00D04 809C33D4 0C018A29 */ jal func_800628A4 -/* 00D08 809C33D8 AC4A0000 */ sw $t2, 0x0000($v0) ## 00000000 -/* 00D0C 809C33DC 8FAC0064 */ lw $t4, 0x0064($sp) -.L809C33E0: -/* 00D10 809C33E0 3C06809C */ lui $a2, %hi(D_809C3500) ## $a2 = 809C0000 -/* 00D14 809C33E4 24C63500 */ addiu $a2, $a2, %lo(D_809C3500) ## $a2 = 809C3500 -/* 00D18 809C33E8 27A40044 */ addiu $a0, $sp, 0x0044 ## $a0 = FFFFFFE4 -/* 00D1C 809C33EC 240703B7 */ addiu $a3, $zero, 0x03B7 ## $a3 = 000003B7 -/* 00D20 809C33F0 0C031AD5 */ jal Graph_CloseDisps -/* 00D24 809C33F4 8D850000 */ lw $a1, 0x0000($t4) ## 00000000 -/* 00D28 809C33F8 8FBF001C */ lw $ra, 0x001C($sp) -/* 00D2C 809C33FC 8FB00018 */ lw $s0, 0x0018($sp) -/* 00D30 809C3400 27BD0060 */ addiu $sp, $sp, 0x0060 ## $sp = 00000000 -/* 00D34 809C3404 03E00008 */ jr $ra -/* 00D38 809C3408 00000000 */ nop -/* 00D3C 809C340C 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Bom/EnBom_Init.s b/asm/non_matchings/overlays/actors/ovl_En_Bom/EnBom_Init.s deleted file mode 100644 index d59dee0850..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Bom/EnBom_Init.s +++ /dev/null @@ -1,75 +0,0 @@ -glabel EnBom_Init -/* 00008 809C26D8 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8 -/* 0000C 809C26DC AFA5003C */ sw $a1, 0x003C($sp) -/* 00010 809C26E0 AFBF0024 */ sw $ra, 0x0024($sp) -/* 00014 809C26E4 AFB00020 */ sw $s0, 0x0020($sp) -/* 00018 809C26E8 3C05809C */ lui $a1, %hi(D_809C3490) ## $a1 = 809C0000 -/* 0001C 809C26EC 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00020 809C26F0 0C01E037 */ jal Actor_ProcessInitChain - -/* 00024 809C26F4 24A53490 */ addiu $a1, $a1, %lo(D_809C3490) ## $a1 = 809C3490 -/* 00028 809C26F8 3C068003 */ lui $a2, %hi(ActorShadow_DrawFunc_Circle) -/* 0002C 809C26FC 24C6B5EC */ addiu $a2, %lo(ActorShadow_DrawFunc_Circle) -/* 00030 809C2700 260400B4 */ addiu $a0, $s0, 0x00B4 ## $a0 = 000000B4 -/* 00034 809C2704 3C05442F */ lui $a1, 0x442F ## $a1 = 442F0000 -/* 00038 809C2708 0C00AC78 */ jal ActorShape_Init - -/* 0003C 809C270C 3C074180 */ lui $a3, 0x4180 ## $a3 = 41800000 -/* 00040 809C2710 240E00C8 */ addiu $t6, $zero, 0x00C8 ## $t6 = 000000C8 -/* 00044 809C2714 240F0005 */ addiu $t7, $zero, 0x0005 ## $t7 = 00000005 -/* 00048 809C2718 2418000A */ addiu $t8, $zero, 0x000A ## $t8 = 0000000A -/* 0004C 809C271C 24190046 */ addiu $t9, $zero, 0x0046 ## $t9 = 00000046 -/* 00050 809C2720 24080007 */ addiu $t0, $zero, 0x0007 ## $t0 = 00000007 -/* 00054 809C2724 A20E00AE */ sb $t6, 0x00AE($s0) ## 000000AE -/* 00058 809C2728 A60F00A8 */ sh $t7, 0x00A8($s0) ## 000000A8 -/* 0005C 809C272C A61800AA */ sh $t8, 0x00AA($s0) ## 000000AA -/* 00060 809C2730 A61901F8 */ sh $t9, 0x01F8($s0) ## 000001F8 -/* 00064 809C2734 A60801FA */ sh $t0, 0x01FA($s0) ## 000001FA -/* 00068 809C2738 2605014C */ addiu $a1, $s0, 0x014C ## $a1 = 0000014C -/* 0006C 809C273C AFA5002C */ sw $a1, 0x002C($sp) -/* 00070 809C2740 0C0170D9 */ jal Collider_InitCylinder - -/* 00074 809C2744 8FA4003C */ lw $a0, 0x003C($sp) -/* 00078 809C2748 26050198 */ addiu $a1, $s0, 0x0198 ## $a1 = 00000198 -/* 0007C 809C274C AFA50030 */ sw $a1, 0x0030($sp) -/* 00080 809C2750 0C016EFE */ jal Collider_InitJntSph -/* 00084 809C2754 8FA4003C */ lw $a0, 0x003C($sp) -/* 00088 809C2758 3C07809C */ lui $a3, %hi(D_809C3430) ## $a3 = 809C0000 -/* 0008C 809C275C 24E73430 */ addiu $a3, $a3, %lo(D_809C3430) ## $a3 = 809C3430 -/* 00090 809C2760 8FA4003C */ lw $a0, 0x003C($sp) -/* 00094 809C2764 8FA5002C */ lw $a1, 0x002C($sp) -/* 00098 809C2768 0C01712B */ jal Collider_SetCylinder - -/* 0009C 809C276C 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000 -/* 000A0 809C2770 3C07809C */ lui $a3, %hi(D_809C3480) ## $a3 = 809C0000 -/* 000A4 809C2774 260901B8 */ addiu $t1, $s0, 0x01B8 ## $t1 = 000001B8 -/* 000A8 809C2778 AFA90010 */ sw $t1, 0x0010($sp) -/* 000AC 809C277C 24E73480 */ addiu $a3, $a3, %lo(D_809C3480) ## $a3 = 809C3480 -/* 000B0 809C2780 8FA4003C */ lw $a0, 0x003C($sp) -/* 000B4 809C2784 8FA50030 */ lw $a1, 0x0030($sp) -/* 000B8 809C2788 0C017014 */ jal Collider_SetJntSph -/* 000BC 809C278C 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000 -/* 000C0 809C2790 860F00B8 */ lh $t7, 0x00B8($s0) ## 000000B8 -/* 000C4 809C2794 860B00B8 */ lh $t3, 0x00B8($s0) ## 000000B8 -/* 000C8 809C2798 920A01BD */ lbu $t2, 0x01BD($s0) ## 000001BD -/* 000CC 809C279C 31F800FF */ andi $t8, $t7, 0x00FF ## $t8 = 00000000 -/* 000D0 809C27A0 A61800B8 */ sh $t8, 0x00B8($s0) ## 000000B8 -/* 000D4 809C27A4 860200B8 */ lh $v0, 0x00B8($s0) ## 000000B8 -/* 000D8 809C27A8 316CFF00 */ andi $t4, $t3, 0xFF00 ## $t4 = 00000000 -/* 000DC 809C27AC 000C6A03 */ sra $t5, $t4, 8 -/* 000E0 809C27B0 014D7021 */ addu $t6, $t2, $t5 -/* 000E4 809C27B4 30590080 */ andi $t9, $v0, 0x0080 ## $t9 = 00000000 -/* 000E8 809C27B8 13200003 */ beq $t9, $zero, .L809C27C8 -/* 000EC 809C27BC A20E01BD */ sb $t6, 0x01BD($s0) ## 000001BD -/* 000F0 809C27C0 3448FF00 */ ori $t0, $v0, 0xFF00 ## $t0 = 0000FF00 -/* 000F4 809C27C4 A60800B8 */ sh $t0, 0x00B8($s0) ## 000000B8 -.L809C27C8: -/* 000F8 809C27C8 3C05809C */ lui $a1, %hi(func_809C282C) ## $a1 = 809C0000 -/* 000FC 809C27CC 24A5282C */ addiu $a1, $a1, %lo(func_809C282C) ## $a1 = 809C282C -/* 00100 809C27D0 0C2709B4 */ jal func_809C26D0 -/* 00104 809C27D4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00108 809C27D8 8FBF0024 */ lw $ra, 0x0024($sp) -/* 0010C 809C27DC 8FB00020 */ lw $s0, 0x0020($sp) -/* 00110 809C27E0 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000 -/* 00114 809C27E4 03E00008 */ jr $ra -/* 00118 809C27E8 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Bom/EnBom_Update.s b/asm/non_matchings/overlays/actors/ovl_En_Bom/EnBom_Update.s deleted file mode 100644 index 993414ee1d..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Bom/EnBom_Update.s +++ /dev/null @@ -1,476 +0,0 @@ -.late_rodata -glabel D_809C3518 - .float -1.2 - -glabel D_809C351C - .float 0.2 - -glabel D_809C3520 - .float 0.2 - -glabel D_809C3524 - .float 0.002 - -glabel D_809C3528 - .float 0.01 - -.text -glabel EnBom_Update -/* 004B8 809C2B88 27BDFF70 */ addiu $sp, $sp, 0xFF70 ## $sp = FFFFFF70 -/* 004BC 809C2B8C 3C0F809C */ lui $t7, %hi(D_809C349C) ## $t7 = 809C0000 -/* 004C0 809C2B90 AFBF002C */ sw $ra, 0x002C($sp) -/* 004C4 809C2B94 AFB00028 */ sw $s0, 0x0028($sp) -/* 004C8 809C2B98 AFA50094 */ sw $a1, 0x0094($sp) -/* 004CC 809C2B9C 25EF349C */ addiu $t7, $t7, %lo(D_809C349C) ## $t7 = 809C349C -/* 004D0 809C2BA0 8DF90000 */ lw $t9, 0x0000($t7) ## 809C349C -/* 004D4 809C2BA4 27AE0084 */ addiu $t6, $sp, 0x0084 ## $t6 = FFFFFFF4 -/* 004D8 809C2BA8 8DF80004 */ lw $t8, 0x0004($t7) ## 809C34A0 -/* 004DC 809C2BAC ADD90000 */ sw $t9, 0x0000($t6) ## FFFFFFF4 -/* 004E0 809C2BB0 8DF90008 */ lw $t9, 0x0008($t7) ## 809C34A4 -/* 004E4 809C2BB4 3C0B809C */ lui $t3, %hi(D_809C34A8) ## $t3 = 809C0000 -/* 004E8 809C2BB8 256B34A8 */ addiu $t3, $t3, %lo(D_809C34A8) ## $t3 = 809C34A8 -/* 004EC 809C2BBC ADD80004 */ sw $t8, 0x0004($t6) ## FFFFFFF8 -/* 004F0 809C2BC0 ADD90008 */ sw $t9, 0x0008($t6) ## FFFFFFFC -/* 004F4 809C2BC4 8D6D0000 */ lw $t5, 0x0000($t3) ## 809C34A8 -/* 004F8 809C2BC8 27AA0078 */ addiu $t2, $sp, 0x0078 ## $t2 = FFFFFFE8 -/* 004FC 809C2BCC 8D6C0004 */ lw $t4, 0x0004($t3) ## 809C34AC -/* 00500 809C2BD0 AD4D0000 */ sw $t5, 0x0000($t2) ## FFFFFFE8 -/* 00504 809C2BD4 8D6D0008 */ lw $t5, 0x0008($t3) ## 809C34B0 -/* 00508 809C2BD8 3C0F809C */ lui $t7, %hi(D_809C34B4) ## $t7 = 809C0000 -/* 0050C 809C2BDC 25EF34B4 */ addiu $t7, $t7, %lo(D_809C34B4) ## $t7 = 809C34B4 -/* 00510 809C2BE0 AD4C0004 */ sw $t4, 0x0004($t2) ## FFFFFFEC -/* 00514 809C2BE4 AD4D0008 */ sw $t5, 0x0008($t2) ## FFFFFFF0 -/* 00518 809C2BE8 8DF90000 */ lw $t9, 0x0000($t7) ## 809C34B4 -/* 0051C 809C2BEC 27AE006C */ addiu $t6, $sp, 0x006C ## $t6 = FFFFFFDC -/* 00520 809C2BF0 8DF80004 */ lw $t8, 0x0004($t7) ## 809C34B8 -/* 00524 809C2BF4 ADD90000 */ sw $t9, 0x0000($t6) ## FFFFFFDC -/* 00528 809C2BF8 8DF90008 */ lw $t9, 0x0008($t7) ## 809C34BC -/* 0052C 809C2BFC 3C0B809C */ lui $t3, %hi(D_809C34C0) ## $t3 = 809C0000 -/* 00530 809C2C00 256B34C0 */ addiu $t3, $t3, %lo(D_809C34C0) ## $t3 = 809C34C0 -/* 00534 809C2C04 ADD80004 */ sw $t8, 0x0004($t6) ## FFFFFFE0 -/* 00538 809C2C08 ADD90008 */ sw $t9, 0x0008($t6) ## FFFFFFE4 -/* 0053C 809C2C0C 8D6D0000 */ lw $t5, 0x0000($t3) ## 809C34C0 -/* 00540 809C2C10 27AA0054 */ addiu $t2, $sp, 0x0054 ## $t2 = FFFFFFC4 -/* 00544 809C2C14 8D6C0004 */ lw $t4, 0x0004($t3) ## 809C34C4 -/* 00548 809C2C18 AD4D0000 */ sw $t5, 0x0000($t2) ## FFFFFFC4 -/* 0054C 809C2C1C 8D6D0008 */ lw $t5, 0x0008($t3) ## 809C34C8 -/* 00550 809C2C20 3C0E809C */ lui $t6, %hi(D_809C34CC) ## $t6 = 809C0000 -/* 00554 809C2C24 AD4C0004 */ sw $t4, 0x0004($t2) ## FFFFFFC8 -/* 00558 809C2C28 AD4D0008 */ sw $t5, 0x0008($t2) ## FFFFFFCC -/* 0055C 809C2C2C 8DCE34CC */ lw $t6, %lo(D_809C34CC)($t6) -/* 00560 809C2C30 3C01809C */ lui $at, %hi(D_809C3518) ## $at = 809C0000 -/* 00564 809C2C34 C4243518 */ lwc1 $f4, %lo(D_809C3518)($at) -/* 00568 809C2C38 AFAE0050 */ sw $t6, 0x0050($sp) -/* 0056C 809C2C3C 848201F8 */ lh $v0, 0x01F8($a0) ## 000001F8 -/* 00570 809C2C40 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00574 809C2C44 24010043 */ addiu $at, $zero, 0x0043 ## $at = 00000043 -/* 00578 809C2C48 10400004 */ beq $v0, $zero, .L809C2C5C -/* 0057C 809C2C4C E484006C */ swc1 $f4, 0x006C($a0) ## 0000006C -/* 00580 809C2C50 244FFFFF */ addiu $t7, $v0, 0xFFFF ## $t7 = FFFFFFFF -/* 00584 809C2C54 A48F01F8 */ sh $t7, 0x01F8($a0) ## 000001F8 -/* 00588 809C2C58 848201F8 */ lh $v0, 0x01F8($a0) ## 000001F8 -.L809C2C5C: -/* 0058C 809C2C5C 14410007 */ bne $v0, $at, .L809C2C7C -/* 00590 809C2C60 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00594 809C2C64 0C00BE0A */ jal Audio_PlayActorSound2 - -/* 00598 809C2C68 24050834 */ addiu $a1, $zero, 0x0834 ## $a1 = 00000834 -/* 0059C 809C2C6C 3C053C23 */ lui $a1, 0x3C23 ## $a1 = 3C230000 -/* 005A0 809C2C70 34A5D70A */ ori $a1, $a1, 0xD70A ## $a1 = 3C23D70A -/* 005A4 809C2C74 0C00B58B */ jal Actor_SetScale - -/* 005A8 809C2C78 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -.L809C2C7C: -/* 005AC 809C2C7C 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000 -/* 005B0 809C2C80 44814000 */ mtc1 $at, $f8 ## $f8 = 20.00 -/* 005B4 809C2C84 C6060090 */ lwc1 $f6, 0x0090($s0) ## 00000090 -/* 005B8 809C2C88 3C0142A0 */ lui $at, 0x42A0 ## $at = 42A00000 -/* 005BC 809C2C8C 24180001 */ addiu $t8, $zero, 0x0001 ## $t8 = 00000001 -/* 005C0 809C2C90 4606403E */ c.le.s $f8, $f6 -/* 005C4 809C2C94 00000000 */ nop -/* 005C8 809C2C98 45030010 */ bc1tl .L809C2CDC -/* 005CC 809C2C9C A2180200 */ sb $t8, 0x0200($s0) ## 00000200 -/* 005D0 809C2CA0 C6000094 */ lwc1 $f0, 0x0094($s0) ## 00000094 -/* 005D4 809C2CA4 44805000 */ mtc1 $zero, $f10 ## $f10 = 0.00 -/* 005D8 809C2CA8 44818000 */ mtc1 $at, $f16 ## $f16 = 80.00 -/* 005DC 809C2CAC 4600503E */ c.le.s $f10, $f0 -/* 005E0 809C2CB0 00000000 */ nop -/* 005E4 809C2CB4 45020004 */ bc1fl .L809C2CC8 -/* 005E8 809C2CB8 46000087 */ neg.s $f2, $f0 -/* 005EC 809C2CBC 10000002 */ beq $zero, $zero, .L809C2CC8 -/* 005F0 809C2CC0 46000086 */ mov.s $f2, $f0 -/* 005F4 809C2CC4 46000087 */ neg.s $f2, $f0 -.L809C2CC8: -/* 005F8 809C2CC8 4602803E */ c.le.s $f16, $f2 -/* 005FC 809C2CCC 00000000 */ nop -/* 00600 809C2CD0 45020003 */ bc1fl .L809C2CE0 -/* 00604 809C2CD4 8E190204 */ lw $t9, 0x0204($s0) ## 00000204 -/* 00608 809C2CD8 A2180200 */ sb $t8, 0x0200($s0) ## 00000200 -.L809C2CDC: -/* 0060C 809C2CDC 8E190204 */ lw $t9, 0x0204($s0) ## 00000204 -.L809C2CE0: -/* 00610 809C2CE0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00614 809C2CE4 8FA50094 */ lw $a1, 0x0094($sp) -/* 00618 809C2CE8 0320F809 */ jalr $ra, $t9 -/* 0061C 809C2CEC 00000000 */ nop -/* 00620 809C2CF0 3C014170 */ lui $at, 0x4170 ## $at = 41700000 -/* 00624 809C2CF4 44819000 */ mtc1 $at, $f18 ## $f18 = 15.00 -/* 00628 809C2CF8 240A001F */ addiu $t2, $zero, 0x001F ## $t2 = 0000001F -/* 0062C 809C2CFC AFAA0014 */ sw $t2, 0x0014($sp) -/* 00630 809C2D00 8FA40094 */ lw $a0, 0x0094($sp) -/* 00634 809C2D04 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000 -/* 00638 809C2D08 3C0640A0 */ lui $a2, 0x40A0 ## $a2 = 40A00000 -/* 0063C 809C2D0C 3C074120 */ lui $a3, 0x4120 ## $a3 = 41200000 -/* 00640 809C2D10 0C00B92D */ jal func_8002E4B4 -/* 00644 809C2D14 E7B20010 */ swc1 $f18, 0x0010($sp) -/* 00648 809C2D18 860B001C */ lh $t3, 0x001C($s0) ## 0000001C -/* 0064C 809C2D1C 556000F9 */ bnel $t3, $zero, .L809C3104 -/* 00650 809C2D20 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00654 809C2D24 860C01F8 */ lh $t4, 0x01F8($s0) ## 000001F8 -/* 00658 809C2D28 2981003F */ slti $at, $t4, 0x003F -/* 0065C 809C2D2C 10200031 */ beq $at, $zero, .L809C2DF4 -/* 00660 809C2D30 3C01809C */ lui $at, %hi(D_809C351C) ## $at = 809C0000 -/* 00664 809C2D34 C424351C */ lwc1 $f4, %lo(D_809C351C)($at) -/* 00668 809C2D38 27AD0060 */ addiu $t5, $sp, 0x0060 ## $t5 = FFFFFFD0 -/* 0066C 809C2D3C 3C014188 */ lui $at, 0x4188 ## $at = 41880000 -/* 00670 809C2D40 E7A40058 */ swc1 $f4, 0x0058($sp) -/* 00674 809C2D44 8E0F0024 */ lw $t7, 0x0024($s0) ## 00000024 -/* 00678 809C2D48 44814000 */ mtc1 $at, $f8 ## $f8 = 17.00 -/* 0067C 809C2D4C 3C190001 */ lui $t9, 0x0001 ## $t9 = 00010000 -/* 00680 809C2D50 ADAF0000 */ sw $t7, 0x0000($t5) ## FFFFFFD0 -/* 00684 809C2D54 8E0E0028 */ lw $t6, 0x0028($s0) ## 00000028 -/* 00688 809C2D58 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000 -/* 0068C 809C2D5C 27A60060 */ addiu $a2, $sp, 0x0060 ## $a2 = FFFFFFD0 -/* 00690 809C2D60 ADAE0004 */ sw $t6, 0x0004($t5) ## FFFFFFD4 -/* 00694 809C2D64 8E0F002C */ lw $t7, 0x002C($s0) ## 0000002C -/* 00698 809C2D68 27A70084 */ addiu $a3, $sp, 0x0084 ## $a3 = FFFFFFF4 -/* 0069C 809C2D6C 27AB006C */ addiu $t3, $sp, 0x006C ## $t3 = FFFFFFDC -/* 006A0 809C2D70 ADAF0008 */ sw $t7, 0x0008($t5) ## FFFFFFD8 -/* 006A4 809C2D74 C7A60064 */ lwc1 $f6, 0x0064($sp) -/* 006A8 809C2D78 8FB80094 */ lw $t8, 0x0094($sp) -/* 006AC 809C2D7C 46083280 */ add.s $f10, $f6, $f8 -/* 006B0 809C2D80 0338C821 */ addu $t9, $t9, $t8 -/* 006B4 809C2D84 03002025 */ or $a0, $t8, $zero ## $a0 = 00000000 -/* 006B8 809C2D88 E7AA0064 */ swc1 $f10, 0x0064($sp) -/* 006BC 809C2D8C 8F391DE4 */ lw $t9, 0x1DE4($t9) ## 00011DE4 -/* 006C0 809C2D90 332A0001 */ andi $t2, $t9, 0x0001 ## $t2 = 00000000 -/* 006C4 809C2D94 55400004 */ bnel $t2, $zero, .L809C2DA8 -/* 006C8 809C2D98 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 006CC 809C2D9C 0C00A461 */ jal func_80029184 -/* 006D0 809C2DA0 AFAB0010 */ sw $t3, 0x0010($sp) -/* 006D4 809C2DA4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -.L809C2DA8: -/* 006D8 809C2DA8 0C00BE0A */ jal Audio_PlayActorSound2 - -/* 006DC 809C2DAC 2405100D */ addiu $a1, $zero, 0x100D ## $a1 = 0000100D -/* 006E0 809C2DB0 3C014040 */ lui $at, 0x4040 ## $at = 40400000 -/* 006E4 809C2DB4 44819000 */ mtc1 $at, $f18 ## $f18 = 3.00 -/* 006E8 809C2DB8 C7B00064 */ lwc1 $f16, 0x0064($sp) -/* 006EC 809C2DBC 27AC0050 */ addiu $t4, $sp, 0x0050 ## $t4 = FFFFFFC0 -/* 006F0 809C2DC0 240D0032 */ addiu $t5, $zero, 0x0032 ## $t5 = 00000032 -/* 006F4 809C2DC4 46128100 */ add.s $f4, $f16, $f18 -/* 006F8 809C2DC8 240E0005 */ addiu $t6, $zero, 0x0005 ## $t6 = 00000005 -/* 006FC 809C2DCC AFAE001C */ sw $t6, 0x001C($sp) -/* 00700 809C2DD0 AFAD0018 */ sw $t5, 0x0018($sp) -/* 00704 809C2DD4 E7A40064 */ swc1 $f4, 0x0064($sp) -/* 00708 809C2DD8 AFAC0010 */ sw $t4, 0x0010($sp) -/* 0070C 809C2DDC AFAC0014 */ sw $t4, 0x0014($sp) -/* 00710 809C2DE0 8FA40094 */ lw $a0, 0x0094($sp) -/* 00714 809C2DE4 27A50060 */ addiu $a1, $sp, 0x0060 ## $a1 = FFFFFFD0 -/* 00718 809C2DE8 27A60084 */ addiu $a2, $sp, 0x0084 ## $a2 = FFFFFFF4 -/* 0071C 809C2DEC 0C00A0A7 */ jal func_8002829C -/* 00720 809C2DF0 27A70054 */ addiu $a3, $sp, 0x0054 ## $a3 = FFFFFFC4 -.L809C2DF4: -/* 00724 809C2DF4 260F0024 */ addiu $t7, $s0, 0x0024 ## $t7 = 00000024 -/* 00728 809C2DF8 AFAF0034 */ sw $t7, 0x0034($sp) -/* 0072C 809C2DFC 9219015D */ lbu $t9, 0x015D($s0) ## 0000015D -/* 00730 809C2E00 332A0002 */ andi $t2, $t9, 0x0002 ## $t2 = 00000000 -/* 00734 809C2E04 5540000B */ bnel $t2, $zero, .L809C2E34 -/* 00738 809C2E08 A60001F8 */ sh $zero, 0x01F8($s0) ## 000001F8 -/* 0073C 809C2E0C 9218015E */ lbu $t8, 0x015E($s0) ## 0000015E -/* 00740 809C2E10 330B0002 */ andi $t3, $t8, 0x0002 ## $t3 = 00000000 -/* 00744 809C2E14 5160000A */ beql $t3, $zero, .L809C2E40 -/* 00748 809C2E18 860E01F8 */ lh $t6, 0x01F8($s0) ## 000001F8 -/* 0074C 809C2E1C 8E0C0158 */ lw $t4, 0x0158($s0) ## 00000158 -/* 00750 809C2E20 24010005 */ addiu $at, $zero, 0x0005 ## $at = 00000005 -/* 00754 809C2E24 918D0002 */ lbu $t5, 0x0002($t4) ## 00000002 -/* 00758 809C2E28 55A10005 */ bnel $t5, $at, .L809C2E40 -/* 0075C 809C2E2C 860E01F8 */ lh $t6, 0x01F8($s0) ## 000001F8 -/* 00760 809C2E30 A60001F8 */ sh $zero, 0x01F8($s0) ## 000001F8 -.L809C2E34: -/* 00764 809C2E34 1000000C */ beq $zero, $zero, .L809C2E68 -/* 00768 809C2E38 A60000B8 */ sh $zero, 0x00B8($s0) ## 000000B8 -/* 0076C 809C2E3C 860E01F8 */ lh $t6, 0x01F8($s0) ## 000001F8 -.L809C2E40: -/* 00770 809C2E40 8FA40094 */ lw $a0, 0x0094($sp) -/* 00774 809C2E44 8FA50034 */ lw $a1, 0x0034($sp) -/* 00778 809C2E48 29C10065 */ slti $at, $t6, 0x0065 -/* 0077C 809C2E4C 14200006 */ bne $at, $zero, .L809C2E68 -/* 00780 809C2E50 3C0641F0 */ lui $a2, 0x41F0 ## $a2 = 41F00000 -/* 00784 809C2E54 0C023BD7 */ jal func_8008EF5C -/* 00788 809C2E58 3C074248 */ lui $a3, 0x4248 ## $a3 = 42480000 -/* 0078C 809C2E5C 10400002 */ beq $v0, $zero, .L809C2E68 -/* 00790 809C2E60 240F0064 */ addiu $t7, $zero, 0x0064 ## $t7 = 00000064 -/* 00794 809C2E64 A60F01F8 */ sh $t7, 0x01F8($s0) ## 000001F8 -.L809C2E68: -/* 00798 809C2E68 3C01809C */ lui $at, %hi(D_809C3520) ## $at = 809C0000 -/* 0079C 809C2E6C C4263520 */ lwc1 $f6, %lo(D_809C3520)($at) -/* 007A0 809C2E70 8FAA0034 */ lw $t2, 0x0034($sp) -/* 007A4 809C2E74 27B90060 */ addiu $t9, $sp, 0x0060 ## $t9 = FFFFFFD0 -/* 007A8 809C2E78 E7A60058 */ swc1 $f6, 0x0058($sp) -/* 007AC 809C2E7C 8D4B0000 */ lw $t3, 0x0000($t2) ## 00000000 -/* 007B0 809C2E80 3C014120 */ lui $at, 0x4120 ## $at = 41200000 -/* 007B4 809C2E84 44815000 */ mtc1 $at, $f10 ## $f10 = 10.00 -/* 007B8 809C2E88 AF2B0000 */ sw $t3, 0x0000($t9) ## FFFFFFD0 -/* 007BC 809C2E8C 8D580004 */ lw $t8, 0x0004($t2) ## 00000004 -/* 007C0 809C2E90 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003 -/* 007C4 809C2E94 AF380004 */ sw $t8, 0x0004($t9) ## FFFFFFD4 -/* 007C8 809C2E98 8D4B0008 */ lw $t3, 0x0008($t2) ## 00000008 -/* 007CC 809C2E9C AF2B0008 */ sw $t3, 0x0008($t9) ## FFFFFFD8 -/* 007D0 809C2EA0 C7A80064 */ lwc1 $f8, 0x0064($sp) -/* 007D4 809C2EA4 460A4400 */ add.s $f16, $f8, $f10 -/* 007D8 809C2EA8 E7B00064 */ swc1 $f16, 0x0064($sp) -/* 007DC 809C2EAC 860201F8 */ lh $v0, 0x01F8($s0) ## 000001F8 -/* 007E0 809C2EB0 10410005 */ beq $v0, $at, .L809C2EC8 -/* 007E4 809C2EB4 24010014 */ addiu $at, $zero, 0x0014 ## $at = 00000014 -/* 007E8 809C2EB8 10410003 */ beq $v0, $at, .L809C2EC8 -/* 007EC 809C2EBC 24010028 */ addiu $at, $zero, 0x0028 ## $at = 00000028 -/* 007F0 809C2EC0 54410007 */ bnel $v0, $at, .L809C2EE0 -/* 007F4 809C2EC4 28410064 */ slti $at, $v0, 0x0064 -.L809C2EC8: -/* 007F8 809C2EC8 860C01FA */ lh $t4, 0x01FA($s0) ## 000001FA -/* 007FC 809C2ECC A60000B8 */ sh $zero, 0x00B8($s0) ## 000000B8 -/* 00800 809C2ED0 860201F8 */ lh $v0, 0x01F8($s0) ## 000001F8 -/* 00804 809C2ED4 000C6843 */ sra $t5, $t4, 1 -/* 00808 809C2ED8 A60D01FA */ sh $t5, 0x01FA($s0) ## 000001FA -/* 0080C 809C2EDC 28410064 */ slti $at, $v0, 0x0064 -.L809C2EE0: -/* 00810 809C2EE0 50200016 */ beql $at, $zero, .L809C2F3C -/* 00814 809C2EE4 861901FA */ lh $t9, 0x01FA($s0) ## 000001FA -/* 00818 809C2EE8 860301FA */ lh $v1, 0x01FA($s0) ## 000001FA -/* 0081C 809C2EEC 246E0001 */ addiu $t6, $v1, 0x0001 ## $t6 = 00000001 -/* 00820 809C2EF0 004E7824 */ and $t7, $v0, $t6 -/* 00824 809C2EF4 51E00011 */ beql $t7, $zero, .L809C2F3C -/* 00828 809C2EF8 861901FA */ lh $t9, 0x01FA($s0) ## 000001FA -/* 0082C 809C2EFC 44839000 */ mtc1 $v1, $f18 ## $f18 = 0.00 -/* 00830 809C2F00 3C01430C */ lui $at, 0x430C ## $at = 430C0000 -/* 00834 809C2F04 44810000 */ mtc1 $at, $f0 ## $f0 = 140.00 -/* 00838 809C2F08 46809120 */ cvt.s.w $f4, $f18 -/* 0083C 809C2F0C 44801000 */ mtc1 $zero, $f2 ## $f2 = 0.00 -/* 00840 809C2F10 44050000 */ mfc1 $a1, $f0 -/* 00844 809C2F14 260401FC */ addiu $a0, $s0, 0x01FC ## $a0 = 000001FC -/* 00848 809C2F18 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000 -/* 0084C 809C2F1C E7A20010 */ swc1 $f2, 0x0010($sp) -/* 00850 809C2F20 46040183 */ div.s $f6, $f0, $f4 -/* 00854 809C2F24 44073000 */ mfc1 $a3, $f6 -/* 00858 809C2F28 0C01E0C4 */ jal Math_SmoothScaleMaxMinF - -/* 0085C 809C2F2C 00000000 */ nop -/* 00860 809C2F30 10000010 */ beq $zero, $zero, .L809C2F74 -/* 00864 809C2F34 860201F8 */ lh $v0, 0x01F8($s0) ## 000001F8 -/* 00868 809C2F38 861901FA */ lh $t9, 0x01FA($s0) ## 000001FA -.L809C2F3C: -/* 0086C 809C2F3C 3C01430C */ lui $at, 0x430C ## $at = 430C0000 -/* 00870 809C2F40 44810000 */ mtc1 $at, $f0 ## $f0 = 140.00 -/* 00874 809C2F44 44994000 */ mtc1 $t9, $f8 ## $f8 = 0.00 -/* 00878 809C2F48 44801000 */ mtc1 $zero, $f2 ## $f2 = 0.00 -/* 0087C 809C2F4C 260401FC */ addiu $a0, $s0, 0x01FC ## $a0 = 000001FC -/* 00880 809C2F50 468042A0 */ cvt.s.w $f10, $f8 -/* 00884 809C2F54 44051000 */ mfc1 $a1, $f2 -/* 00888 809C2F58 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000 -/* 0088C 809C2F5C E7A20010 */ swc1 $f2, 0x0010($sp) -/* 00890 809C2F60 460A0403 */ div.s $f16, $f0, $f10 -/* 00894 809C2F64 44078000 */ mfc1 $a3, $f16 -/* 00898 809C2F68 0C01E0C4 */ jal Math_SmoothScaleMaxMinF - -/* 0089C 809C2F6C 00000000 */ nop -/* 008A0 809C2F70 860201F8 */ lh $v0, 0x01F8($s0) ## 000001F8 -.L809C2F74: -/* 008A4 809C2F74 28410003 */ slti $at, $v0, 0x0003 -/* 008A8 809C2F78 10200009 */ beq $at, $zero, .L809C2FA0 -/* 008AC 809C2F7C 3C01809C */ lui $at, %hi(D_809C3524) ## $at = 809C0000 -/* 008B0 809C2F80 C4243524 */ lwc1 $f4, %lo(D_809C3524)($at) -/* 008B4 809C2F84 C6120050 */ lwc1 $f18, 0x0050($s0) ## 00000050 -/* 008B8 809C2F88 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 008BC 809C2F8C 46049180 */ add.s $f6, $f18, $f4 -/* 008C0 809C2F90 44053000 */ mfc1 $a1, $f6 -/* 008C4 809C2F94 0C00B58B */ jal Actor_SetScale - -/* 008C8 809C2F98 00000000 */ nop -/* 008CC 809C2F9C 860201F8 */ lh $v0, 0x01F8($s0) ## 000001F8 -.L809C2FA0: -/* 008D0 809C2FA0 14400057 */ bne $v0, $zero, .L809C3100 -/* 008D4 809C2FA4 8FB80034 */ lw $t8, 0x0034($sp) -/* 008D8 809C2FA8 8F0C0000 */ lw $t4, 0x0000($t8) ## 00000000 -/* 008DC 809C2FAC 8FA50094 */ lw $a1, 0x0094($sp) -/* 008E0 809C2FB0 27AA0060 */ addiu $t2, $sp, 0x0060 ## $t2 = FFFFFFD0 -/* 008E4 809C2FB4 AD4C0000 */ sw $t4, 0x0000($t2) ## FFFFFFD0 -/* 008E8 809C2FB8 8F0B0004 */ lw $t3, 0x0004($t8) ## 00000004 -/* 008EC 809C2FBC 3C014120 */ lui $at, 0x4120 ## $at = 41200000 -/* 008F0 809C2FC0 44815000 */ mtc1 $at, $f10 ## $f10 = 10.00 -/* 008F4 809C2FC4 AD4B0004 */ sw $t3, 0x0004($t2) ## FFFFFFD4 -/* 008F8 809C2FC8 8F0C0008 */ lw $t4, 0x0008($t8) ## 00000008 -/* 008FC 809C2FCC 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 00900 809C2FD0 00A11821 */ addu $v1, $a1, $at -/* 00904 809C2FD4 AD4C0008 */ sw $t4, 0x0008($t2) ## FFFFFFD8 -/* 00908 809C2FD8 C7A80064 */ lwc1 $f8, 0x0064($sp) -/* 0090C 809C2FDC AFA30038 */ sw $v1, 0x0038($sp) -/* 00910 809C2FE0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00914 809C2FE4 460A4400 */ add.s $f16, $f8, $f10 -/* 00918 809C2FE8 0C00BD04 */ jal func_8002F410 -/* 0091C 809C2FEC E7B00064 */ swc1 $f16, 0x0064($sp) -/* 00920 809C2FF0 10400006 */ beq $v0, $zero, .L809C300C -/* 00924 809C2FF4 8FA30038 */ lw $v1, 0x0038($sp) -/* 00928 809C2FF8 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000 -/* 0092C 809C2FFC 44812000 */ mtc1 $at, $f4 ## $f4 = 30.00 -/* 00930 809C3000 C7B20064 */ lwc1 $f18, 0x0064($sp) -/* 00934 809C3004 46049180 */ add.s $f6, $f18, $f4 -/* 00938 809C3008 E7A60064 */ swc1 $f6, 0x0064($sp) -.L809C300C: -/* 0093C 809C300C 240D0064 */ addiu $t5, $zero, 0x0064 ## $t5 = 00000064 -/* 00940 809C3010 AFAD0010 */ sw $t5, 0x0010($sp) -/* 00944 809C3014 860E00B8 */ lh $t6, 0x00B8($s0) ## 000000B8 -/* 00948 809C3018 AFA30038 */ sw $v1, 0x0038($sp) -/* 0094C 809C301C 8FA40094 */ lw $a0, 0x0094($sp) -/* 00950 809C3020 000E7880 */ sll $t7, $t6, 2 -/* 00954 809C3024 01EE7823 */ subu $t7, $t7, $t6 -/* 00958 809C3028 000F7840 */ sll $t7, $t7, 1 -/* 0095C 809C302C 25F90013 */ addiu $t9, $t7, 0x0013 ## $t9 = 00000013 -/* 00960 809C3030 AFB90014 */ sw $t9, 0x0014($sp) -/* 00964 809C3034 27A50060 */ addiu $a1, $sp, 0x0060 ## $a1 = FFFFFFD0 -/* 00968 809C3038 27A60084 */ addiu $a2, $sp, 0x0084 ## $a2 = FFFFFFF4 -/* 0096C 809C303C 0C00A3A1 */ jal func_80028E84 -/* 00970 809C3040 27A70078 */ addiu $a3, $sp, 0x0078 ## $a3 = FFFFFFE8 -/* 00974 809C3044 C6080080 */ lwc1 $f8, 0x0080($s0) ## 00000080 -/* 00978 809C3048 3C01C6FA */ lui $at, 0xC6FA ## $at = C6FA0000 -/* 0097C 809C304C 44815000 */ mtc1 $at, $f10 ## $f10 = -32000.00 -/* 00980 809C3050 E7A80064 */ swc1 $f8, 0x0064($sp) -/* 00984 809C3054 C6100080 */ lwc1 $f16, 0x0080($s0) ## 00000080 -/* 00988 809C3058 8FA30038 */ lw $v1, 0x0038($sp) -/* 0098C 809C305C 8FA40094 */ lw $a0, 0x0094($sp) -/* 00990 809C3060 4610503C */ c.lt.s $f10, $f16 -/* 00994 809C3064 27A50060 */ addiu $a1, $sp, 0x0060 ## $a1 = FFFFFFD0 -/* 00998 809C3068 27A60084 */ addiu $a2, $sp, 0x0084 ## $a2 = FFFFFFF4 -/* 0099C 809C306C 27A7006C */ addiu $a3, $sp, 0x006C ## $a3 = FFFFFFDC -/* 009A0 809C3070 45020005 */ bc1fl .L809C3088 -/* 009A4 809C3074 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 009A8 809C3078 0C00A409 */ jal func_80029024 -/* 009AC 809C307C AFA30038 */ sw $v1, 0x0038($sp) -/* 009B0 809C3080 8FA30038 */ lw $v1, 0x0038($sp) -/* 009B4 809C3084 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -.L809C3088: -/* 009B8 809C3088 2405180E */ addiu $a1, $zero, 0x180E ## $a1 = 0000180E -/* 009BC 809C308C 0C00BE0A */ jal Audio_PlayActorSound2 - -/* 009C0 809C3090 AFA30038 */ sw $v1, 0x0038($sp) -/* 009C4 809C3094 8FA30038 */ lw $v1, 0x0038($sp) -/* 009C8 809C3098 8FA90094 */ lw $t1, 0x0094($sp) -/* 009CC 809C309C 240800FA */ addiu $t0, $zero, 0x00FA ## $t0 = 000000FA -/* 009D0 809C30A0 A4680ABA */ sh $t0, 0x0ABA($v1) ## 00000ABA -/* 009D4 809C30A4 84620ABA */ lh $v0, 0x0ABA($v1) ## 00000ABA -/* 009D8 809C30A8 A4680AB4 */ sh $t0, 0x0AB4($v1) ## 00000AB4 -/* 009DC 809C30AC 24050002 */ addiu $a1, $zero, 0x0002 ## $a1 = 00000002 -/* 009E0 809C30B0 A4620AB8 */ sh $v0, 0x0AB8($v1) ## 00000AB8 -/* 009E4 809C30B4 A4620AB6 */ sh $v0, 0x0AB6($v1) ## 00000AB6 -/* 009E8 809C30B8 84620AB4 */ lh $v0, 0x0AB4($v1) ## 00000AB4 -/* 009EC 809C30BC 2406000B */ addiu $a2, $zero, 0x000B ## $a2 = 0000000B -/* 009F0 809C30C0 24070008 */ addiu $a3, $zero, 0x0008 ## $a3 = 00000008 -/* 009F4 809C30C4 252401E0 */ addiu $a0, $t1, 0x01E0 ## $a0 = 000001E0 -/* 009F8 809C30C8 A4620AB2 */ sh $v0, 0x0AB2($v1) ## 00000AB2 -/* 009FC 809C30CC 0C016A87 */ jal func_8005AA1C -/* 00A00 809C30D0 A4620AB0 */ sh $v0, 0x0AB0($v1) ## 00000AB0 -/* 00A04 809C30D4 8E0B0004 */ lw $t3, 0x0004($s0) ## 00000004 -/* 00A08 809C30D8 240A0001 */ addiu $t2, $zero, 0x0001 ## $t2 = 00000001 -/* 00A0C 809C30DC 2418000A */ addiu $t8, $zero, 0x000A ## $t8 = 0000000A -/* 00A10 809C30E0 3C05809C */ lui $a1, %hi(func_809C2A38) ## $a1 = 809C0000 -/* 00A14 809C30E4 356C0020 */ ori $t4, $t3, 0x0020 ## $t4 = 00000020 -/* 00A18 809C30E8 A60A001C */ sh $t2, 0x001C($s0) ## 0000001C -/* 00A1C 809C30EC A61801F8 */ sh $t8, 0x01F8($s0) ## 000001F8 -/* 00A20 809C30F0 AE0C0004 */ sw $t4, 0x0004($s0) ## 00000004 -/* 00A24 809C30F4 24A52A38 */ addiu $a1, $a1, %lo(func_809C2A38) ## $a1 = 809C2A38 -/* 00A28 809C30F8 0C2709B4 */ jal func_809C26D0 -/* 00A2C 809C30FC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -.L809C3100: -/* 00A30 809C3100 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -.L809C3104: -/* 00A34 809C3104 0C00B56E */ jal Actor_SetHeight - -/* 00A38 809C3108 3C0541A0 */ lui $a1, 0x41A0 ## $a1 = 41A00000 -/* 00A3C 809C310C 860D001C */ lh $t5, 0x001C($s0) ## 0000001C -/* 00A40 809C3110 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00A44 809C3114 2605014C */ addiu $a1, $s0, 0x014C ## $a1 = 0000014C -/* 00A48 809C3118 1DA00016 */ bgtz $t5, .L809C3174 -/* 00A4C 809C311C 00000000 */ nop -/* 00A50 809C3120 0C0189B7 */ jal Collider_CylinderUpdate - -/* 00A54 809C3124 AFA50038 */ sw $a1, 0x0038($sp) -/* 00A58 809C3128 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00A5C 809C312C 0C00BD04 */ jal func_8002F410 -/* 00A60 809C3130 8FA50094 */ lw $a1, 0x0094($sp) -/* 00A64 809C3134 5440000A */ bnel $v0, $zero, .L809C3160 -/* 00A68 809C3138 8FA40094 */ lw $a0, 0x0094($sp) -/* 00A6C 809C313C 920E0200 */ lbu $t6, 0x0200($s0) ## 00000200 -/* 00A70 809C3140 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 00A74 809C3144 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60 -/* 00A78 809C3148 11C00004 */ beq $t6, $zero, .L809C315C -/* 00A7C 809C314C 8FA40094 */ lw $a0, 0x0094($sp) -/* 00A80 809C3150 00812821 */ addu $a1, $a0, $at -/* 00A84 809C3154 0C017713 */ jal CollisionCheck_SetOC - ## CollisionCheck_setOT -/* 00A88 809C3158 8FA60038 */ lw $a2, 0x0038($sp) -.L809C315C: -/* 00A8C 809C315C 8FA40094 */ lw $a0, 0x0094($sp) -.L809C3160: -/* 00A90 809C3160 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 00A94 809C3164 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60 -/* 00A98 809C3168 8FA60038 */ lw $a2, 0x0038($sp) -/* 00A9C 809C316C 0C01767D */ jal CollisionCheck_SetAC - ## CollisionCheck_setAC -/* 00AA0 809C3170 00812821 */ addu $a1, $a0, $at -.L809C3174: -/* 00AA4 809C3174 3C01809C */ lui $at, %hi(D_809C3528) ## $at = 809C0000 -/* 00AA8 809C3178 C4243528 */ lwc1 $f4, %lo(D_809C3528)($at) -/* 00AAC 809C317C C6120050 */ lwc1 $f18, 0x0050($s0) ## 00000050 -/* 00AB0 809C3180 4612203E */ c.le.s $f4, $f18 -/* 00AB4 809C3184 00000000 */ nop -/* 00AB8 809C3188 4502001F */ bc1fl .L809C3208 -/* 00ABC 809C318C 8FBF002C */ lw $ra, 0x002C($sp) -/* 00AC0 809C3190 860A001C */ lh $t2, 0x001C($s0) ## 0000001C -/* 00AC4 809C3194 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 00AC8 809C3198 1141001A */ beq $t2, $at, .L809C3204 -/* 00ACC 809C319C 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000 -/* 00AD0 809C31A0 44814000 */ mtc1 $at, $f8 ## $f8 = 20.00 -/* 00AD4 809C31A4 C6060084 */ lwc1 $f6, 0x0084($s0) ## 00000084 -/* 00AD8 809C31A8 8FA40094 */ lw $a0, 0x0094($sp) -/* 00ADC 809C31AC 260500E4 */ addiu $a1, $s0, 0x00E4 ## $a1 = 000000E4 -/* 00AE0 809C31B0 4606403E */ c.le.s $f8, $f6 -/* 00AE4 809C31B4 2406180F */ addiu $a2, $zero, 0x180F ## $a2 = 0000180F -/* 00AE8 809C31B8 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 00AEC 809C31BC 24180001 */ addiu $t8, $zero, 0x0001 ## $t8 = 00000001 -/* 00AF0 809C31C0 45000008 */ bc1f .L809C31E4 -/* 00AF4 809C31C4 240B000A */ addiu $t3, $zero, 0x000A ## $t3 = 0000000A -/* 00AF8 809C31C8 AFB80010 */ sw $t8, 0x0010($sp) -/* 00AFC 809C31CC 0C00AA7D */ jal func_8002A9F4 -/* 00B00 809C31D0 AFAB0014 */ sw $t3, 0x0014($sp) -/* 00B04 809C31D4 0C00B55C */ jal Actor_Kill - -/* 00B08 809C31D8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00B0C 809C31DC 1000000A */ beq $zero, $zero, .L809C3208 -/* 00B10 809C31E0 8FBF002C */ lw $ra, 0x002C($sp) -.L809C31E4: -/* 00B14 809C31E4 96020088 */ lhu $v0, 0x0088($s0) ## 00000088 -/* 00B18 809C31E8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00B1C 809C31EC 24052817 */ addiu $a1, $zero, 0x2817 ## $a1 = 00002817 -/* 00B20 809C31F0 304C0040 */ andi $t4, $v0, 0x0040 ## $t4 = 00000000 -/* 00B24 809C31F4 11800003 */ beq $t4, $zero, .L809C3204 -/* 00B28 809C31F8 304DFFBF */ andi $t5, $v0, 0xFFBF ## $t5 = 00000000 -/* 00B2C 809C31FC 0C00BE0A */ jal Audio_PlayActorSound2 - -/* 00B30 809C3200 A60D0088 */ sh $t5, 0x0088($s0) ## 00000088 -.L809C3204: -/* 00B34 809C3204 8FBF002C */ lw $ra, 0x002C($sp) -.L809C3208: -/* 00B38 809C3208 8FB00028 */ lw $s0, 0x0028($sp) -/* 00B3C 809C320C 27BD0090 */ addiu $sp, $sp, 0x0090 ## $sp = 00000000 -/* 00B40 809C3210 03E00008 */ jr $ra -/* 00B44 809C3214 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Bom/func_809C26D0.s b/asm/non_matchings/overlays/actors/ovl_En_Bom/func_809C26D0.s deleted file mode 100644 index 9dc978e7e6..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Bom/func_809C26D0.s +++ /dev/null @@ -1,3 +0,0 @@ -glabel func_809C26D0 -/* 00000 809C26D0 03E00008 */ jr $ra -/* 00004 809C26D4 AC850204 */ sw $a1, 0x0204($a0) ## 00000204 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Bom/func_809C282C.s b/asm/non_matchings/overlays/actors/ovl_En_Bom/func_809C282C.s deleted file mode 100644 index a435c63407..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Bom/func_809C282C.s +++ /dev/null @@ -1,137 +0,0 @@ -.late_rodata -glabel D_809C3510 - .float 0.7 - -glabel D_809C3514 - .word 0xBE99999A - -.text -glabel func_809C282C -/* 0015C 809C282C 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0 -/* 00160 809C2830 AFBF001C */ sw $ra, 0x001C($sp) -/* 00164 809C2834 AFB00018 */ sw $s0, 0x0018($sp) -/* 00168 809C2838 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 0016C 809C283C 0C00BD04 */ jal func_8002F410 -/* 00170 809C2840 AFA50024 */ sw $a1, 0x0024($sp) -/* 00174 809C2844 10400007 */ beq $v0, $zero, .L809C2864 -/* 00178 809C2848 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 0017C 809C284C 3C05809C */ lui $a1, %hi(func_809C29F4) ## $a1 = 809C0000 -/* 00180 809C2850 0C2709B4 */ jal func_809C26D0 -/* 00184 809C2854 24A529F4 */ addiu $a1, $a1, %lo(func_809C29F4) ## $a1 = 809C29F4 -/* 00188 809C2858 240EFFFF */ addiu $t6, $zero, 0xFFFF ## $t6 = FFFFFFFF -/* 0018C 809C285C 10000060 */ beq $zero, $zero, .L809C29E0 -/* 00190 809C2860 A20E0003 */ sb $t6, 0x0003($s0) ## 00000003 -.L809C2864: -/* 00194 809C2864 44801000 */ mtc1 $zero, $f2 ## $f2 = 0.00 -/* 00198 809C2868 C6000060 */ lwc1 $f0, 0x0060($s0) ## 00000060 -/* 0019C 809C286C 4600103C */ c.lt.s $f2, $f0 -/* 001A0 809C2870 00000000 */ nop -/* 001A4 809C2874 45020008 */ bc1fl .L809C2898 -/* 001A8 809C2878 C6060068 */ lwc1 $f6, 0x0068($s0) ## 00000068 -/* 001AC 809C287C 960F0088 */ lhu $t7, 0x0088($s0) ## 00000088 -/* 001B0 809C2880 31F80010 */ andi $t8, $t7, 0x0010 ## $t8 = 00000000 -/* 001B4 809C2884 53000004 */ beql $t8, $zero, .L809C2898 -/* 001B8 809C2888 C6060068 */ lwc1 $f6, 0x0068($s0) ## 00000068 -/* 001BC 809C288C 46000107 */ neg.s $f4, $f0 -/* 001C0 809C2890 E6040060 */ swc1 $f4, 0x0060($s0) ## 00000060 -/* 001C4 809C2894 C6060068 */ lwc1 $f6, 0x0068($s0) ## 00000068 -.L809C2898: -/* 001C8 809C2898 96020088 */ lhu $v0, 0x0088($s0) ## 00000088 -/* 001CC 809C289C 46061032 */ c.eq.s $f2, $f6 -/* 001D0 809C28A0 30590008 */ andi $t9, $v0, 0x0008 ## $t9 = 00000000 -/* 001D4 809C28A4 45030022 */ bc1tl .L809C2930 -/* 001D8 809C28A8 304D0001 */ andi $t5, $v0, 0x0001 ## $t5 = 00000000 -/* 001DC 809C28AC 53200020 */ beql $t9, $zero, .L809C2930 -/* 001E0 809C28B0 304D0001 */ andi $t5, $v0, 0x0001 ## $t5 = 00000000 -/* 001E4 809C28B4 8603007E */ lh $v1, 0x007E($s0) ## 0000007E -/* 001E8 809C28B8 86080032 */ lh $t0, 0x0032($s0) ## 00000032 -/* 001EC 809C28BC 00682023 */ subu $a0, $v1, $t0 -/* 001F0 809C28C0 00041400 */ sll $v0, $a0, 16 -/* 001F4 809C28C4 00021403 */ sra $v0, $v0, 16 -/* 001F8 809C28C8 04400003 */ bltz $v0, .L809C28D8 -/* 001FC 809C28CC 00022823 */ subu $a1, $zero, $v0 -/* 00200 809C28D0 10000001 */ beq $zero, $zero, .L809C28D8 -/* 00204 809C28D4 00402825 */ or $a1, $v0, $zero ## $a1 = 00000000 -.L809C28D8: -/* 00208 809C28D8 28A14001 */ slti $at, $a1, 0x4001 -/* 0020C 809C28DC 14200005 */ bne $at, $zero, .L809C28F4 -/* 00210 809C28E0 2405282F */ addiu $a1, $zero, 0x282F ## $a1 = 0000282F -/* 00214 809C28E4 00834821 */ addu $t1, $a0, $v1 -/* 00218 809C28E8 24018000 */ addiu $at, $zero, 0x8000 ## $at = FFFF8000 -/* 0021C 809C28EC 01215021 */ addu $t2, $t1, $at -/* 00220 809C28F0 A60A0032 */ sh $t2, 0x0032($s0) ## 00000032 -.L809C28F4: -/* 00224 809C28F4 0C00BE0A */ jal Audio_PlayActorSound2 - -/* 00228 809C28F8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 0022C 809C28FC 0C00B638 */ jal Actor_MoveForward - -/* 00230 809C2900 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00234 809C2904 3C01809C */ lui $at, %hi(D_809C3510) ## $at = 809C0000 -/* 00238 809C2908 C42A3510 */ lwc1 $f10, %lo(D_809C3510)($at) -/* 0023C 809C290C C6080068 */ lwc1 $f8, 0x0068($s0) ## 00000068 -/* 00240 809C2910 960B0088 */ lhu $t3, 0x0088($s0) ## 00000088 -/* 00244 809C2914 44801000 */ mtc1 $zero, $f2 ## $f2 = 0.00 -/* 00248 809C2918 460A4402 */ mul.s $f16, $f8, $f10 -/* 0024C 809C291C 316CFFF7 */ andi $t4, $t3, 0xFFF7 ## $t4 = 00000000 -/* 00250 809C2920 A60C0088 */ sh $t4, 0x0088($s0) ## 00000088 -/* 00254 809C2924 3182FFFF */ andi $v0, $t4, 0xFFFF ## $v0 = 00000000 -/* 00258 809C2928 E6100068 */ swc1 $f16, 0x0068($s0) ## 00000068 -/* 0025C 809C292C 304D0001 */ andi $t5, $v0, 0x0001 ## $t5 = 00000000 -.L809C2930: -/* 00260 809C2930 15A00008 */ bne $t5, $zero, .L809C2954 -/* 00264 809C2934 26040068 */ addiu $a0, $s0, 0x0068 ## $a0 = 00000068 -/* 00268 809C2938 44051000 */ mfc1 $a1, $f2 -/* 0026C 809C293C 3C063DA3 */ lui $a2, 0x3DA3 ## $a2 = 3DA30000 -/* 00270 809C2940 34C6D70A */ ori $a2, $a2, 0xD70A ## $a2 = 3DA3D70A -/* 00274 809C2944 0C01DE80 */ jal Math_ApproxF - -/* 00278 809C2948 26040068 */ addiu $a0, $s0, 0x0068 ## $a0 = 00000068 -/* 0027C 809C294C 10000022 */ beq $zero, $zero, .L809C29D8 -/* 00280 809C2950 00000000 */ nop -.L809C2954: -/* 00284 809C2954 44051000 */ mfc1 $a1, $f2 -/* 00288 809C2958 0C01DE80 */ jal Math_ApproxF - -/* 0028C 809C295C 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000 -/* 00290 809C2960 960E0088 */ lhu $t6, 0x0088($s0) ## 00000088 -/* 00294 809C2964 3C01C040 */ lui $at, 0xC040 ## $at = C0400000 -/* 00298 809C2968 31CF0002 */ andi $t7, $t6, 0x0002 ## $t7 = 00000000 -/* 0029C 809C296C 51E00014 */ beql $t7, $zero, .L809C29C0 -/* 002A0 809C2970 860801F8 */ lh $t0, 0x01F8($s0) ## 000001F8 -/* 002A4 809C2974 C6120060 */ lwc1 $f18, 0x0060($s0) ## 00000060 -/* 002A8 809C2978 44812000 */ mtc1 $at, $f4 ## $f4 = -3.00 -/* 002AC 809C297C 8FA40024 */ lw $a0, 0x0024($sp) -/* 002B0 809C2980 4604903C */ c.lt.s $f18, $f4 -/* 002B4 809C2984 00000000 */ nop -/* 002B8 809C2988 4502000D */ bc1fl .L809C29C0 -/* 002BC 809C298C 860801F8 */ lh $t0, 0x01F8($s0) ## 000001F8 -/* 002C0 809C2990 0C00BE14 */ jal func_8002F850 -/* 002C4 809C2994 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000 -/* 002C8 809C2998 3C01809C */ lui $at, %hi(D_809C3514) ## $at = 809C0000 -/* 002CC 809C299C C4283514 */ lwc1 $f8, %lo(D_809C3514)($at) -/* 002D0 809C29A0 C6060060 */ lwc1 $f6, 0x0060($s0) ## 00000060 -/* 002D4 809C29A4 96180088 */ lhu $t8, 0x0088($s0) ## 00000088 -/* 002D8 809C29A8 46083282 */ mul.s $f10, $f6, $f8 -/* 002DC 809C29AC 3319FFFD */ andi $t9, $t8, 0xFFFD ## $t9 = 00000000 -/* 002E0 809C29B0 A6190088 */ sh $t9, 0x0088($s0) ## 00000088 -/* 002E4 809C29B4 10000008 */ beq $zero, $zero, .L809C29D8 -/* 002E8 809C29B8 E60A0060 */ swc1 $f10, 0x0060($s0) ## 00000060 -/* 002EC 809C29BC 860801F8 */ lh $t0, 0x01F8($s0) ## 000001F8 -.L809C29C0: -/* 002F0 809C29C0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 002F4 809C29C4 29010004 */ slti $at, $t0, 0x0004 -/* 002F8 809C29C8 14200003 */ bne $at, $zero, .L809C29D8 -/* 002FC 809C29CC 00000000 */ nop -/* 00300 809C29D0 0C00BD60 */ jal func_8002F580 -/* 00304 809C29D4 8FA50024 */ lw $a1, 0x0024($sp) -.L809C29D8: -/* 00308 809C29D8 0C00B638 */ jal Actor_MoveForward - -/* 0030C 809C29DC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -.L809C29E0: -/* 00310 809C29E0 8FBF001C */ lw $ra, 0x001C($sp) -/* 00314 809C29E4 8FB00018 */ lw $s0, 0x0018($sp) -/* 00318 809C29E8 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000 -/* 0031C 809C29EC 03E00008 */ jr $ra -/* 00320 809C29F0 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Bom/func_809C29F4.s b/asm/non_matchings/overlays/actors/ovl_En_Bom/func_809C29F4.s deleted file mode 100644 index 347777a9cc..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Bom/func_809C29F4.s +++ /dev/null @@ -1,19 +0,0 @@ -glabel func_809C29F4 -/* 00324 809C29F4 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00328 809C29F8 AFBF0014 */ sw $ra, 0x0014($sp) -/* 0032C 809C29FC AFA40018 */ sw $a0, 0x0018($sp) -/* 00330 809C2A00 0C00BD68 */ jal func_8002F5A0 -/* 00334 809C2A04 AFA5001C */ sw $a1, 0x001C($sp) -/* 00338 809C2A08 10400007 */ beq $v0, $zero, .L809C2A28 -/* 0033C 809C2A0C 8FA40018 */ lw $a0, 0x0018($sp) -/* 00340 809C2A10 3C05809C */ lui $a1, %hi(func_809C282C) ## $a1 = 809C0000 -/* 00344 809C2A14 0C2709B4 */ jal func_809C26D0 -/* 00348 809C2A18 24A5282C */ addiu $a1, $a1, %lo(func_809C282C) ## $a1 = 809C282C -/* 0034C 809C2A1C 8FA40018 */ lw $a0, 0x0018($sp) -/* 00350 809C2A20 0C270A0B */ jal func_809C282C -/* 00354 809C2A24 8FA5001C */ lw $a1, 0x001C($sp) -.L809C2A28: -/* 00358 809C2A28 8FBF0014 */ lw $ra, 0x0014($sp) -/* 0035C 809C2A2C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00360 809C2A30 03E00008 */ jr $ra -/* 00364 809C2A34 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Bom/func_809C2A38.s b/asm/non_matchings/overlays/actors/ovl_En_Bom/func_809C2A38.s deleted file mode 100644 index c1d54f1967..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Bom/func_809C2A38.s +++ /dev/null @@ -1,97 +0,0 @@ -glabel func_809C2A38 -/* 00368 809C2A38 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0 -/* 0036C 809C2A3C AFBF001C */ sw $ra, 0x001C($sp) -/* 00370 809C2A40 AFB00018 */ sw $s0, 0x0018($sp) -/* 00374 809C2A44 AFA50024 */ sw $a1, 0x0024($sp) -/* 00378 809C2A48 8C8201B4 */ lw $v0, 0x01B4($a0) ## 000001B4 -/* 0037C 809C2A4C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00380 809C2A50 240500FF */ addiu $a1, $zero, 0x00FF ## $a1 = 000000FF -/* 00384 809C2A54 844E002E */ lh $t6, 0x002E($v0) ## 0000002E -/* 00388 809C2A58 24060014 */ addiu $a2, $zero, 0x0014 ## $a2 = 00000014 -/* 0038C 809C2A5C 55C00009 */ bnel $t6, $zero, .L809C2A84 -/* 00390 809C2A60 84590036 */ lh $t9, 0x0036($v0) ## 00000036 -/* 00394 809C2A64 8C8F0004 */ lw $t7, 0x0004($a0) ## 00000004 -/* 00398 809C2A68 C48C0090 */ lwc1 $f12, 0x0090($a0) ## 00000090 -/* 0039C 809C2A6C 24070096 */ addiu $a3, $zero, 0x0096 ## $a3 = 00000096 -/* 003A0 809C2A70 35F80020 */ ori $t8, $t7, 0x0020 ## $t8 = 00000020 -/* 003A4 809C2A74 0C02A800 */ jal func_800AA000 -/* 003A8 809C2A78 AC980004 */ sw $t8, 0x0004($a0) ## 00000004 -/* 003AC 809C2A7C 8E0201B4 */ lw $v0, 0x01B4($s0) ## 000001B4 -/* 003B0 809C2A80 84590036 */ lh $t9, 0x0036($v0) ## 00000036 -.L809C2A84: -/* 003B4 809C2A84 860800B8 */ lh $t0, 0x00B8($s0) ## 000000B8 -/* 003B8 809C2A88 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 003BC 809C2A8C 26060198 */ addiu $a2, $s0, 0x0198 ## $a2 = 00000198 -/* 003C0 809C2A90 03284821 */ addu $t1, $t9, $t0 -/* 003C4 809C2A94 252A0008 */ addiu $t2, $t1, 0x0008 ## $t2 = 00000008 -/* 003C8 809C2A98 A44A0036 */ sh $t2, 0x0036($v0) ## 00000036 -/* 003CC 809C2A9C 860B001C */ lh $t3, 0x001C($s0) ## 0000001C -/* 003D0 809C2AA0 8FA40024 */ lw $a0, 0x0024($sp) -/* 003D4 809C2AA4 15610004 */ bne $t3, $at, .L809C2AB8 -/* 003D8 809C2AA8 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 003DC 809C2AAC 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60 -/* 003E0 809C2AB0 0C0175E7 */ jal CollisionCheck_SetAT - ## CollisionCheck_setAT -/* 003E4 809C2AB4 00812821 */ addu $a1, $a0, $at -.L809C2AB8: -/* 003E8 809C2AB8 8FA20024 */ lw $v0, 0x0024($sp) -/* 003EC 809C2ABC 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 003F0 809C2AC0 00411021 */ addu $v0, $v0, $at -/* 003F4 809C2AC4 84430AB6 */ lh $v1, 0x0AB6($v0) ## 00000AB6 -/* 003F8 809C2AC8 10600002 */ beq $v1, $zero, .L809C2AD4 -/* 003FC 809C2ACC 246DFFE7 */ addiu $t5, $v1, 0xFFE7 ## $t5 = FFFFFFE7 -/* 00400 809C2AD0 A44D0AB6 */ sh $t5, 0x0AB6($v0) ## 00000AB6 -.L809C2AD4: -/* 00404 809C2AD4 84430AB8 */ lh $v1, 0x0AB8($v0) ## 00000AB8 -/* 00408 809C2AD8 10600002 */ beq $v1, $zero, .L809C2AE4 -/* 0040C 809C2ADC 246EFFE7 */ addiu $t6, $v1, 0xFFE7 ## $t6 = FFFFFFE7 -/* 00410 809C2AE0 A44E0AB8 */ sh $t6, 0x0AB8($v0) ## 00000AB8 -.L809C2AE4: -/* 00414 809C2AE4 84430ABA */ lh $v1, 0x0ABA($v0) ## 00000ABA -/* 00418 809C2AE8 10600002 */ beq $v1, $zero, .L809C2AF4 -/* 0041C 809C2AEC 246FFFE7 */ addiu $t7, $v1, 0xFFE7 ## $t7 = FFFFFFE7 -/* 00420 809C2AF0 A44F0ABA */ sh $t7, 0x0ABA($v0) ## 00000ABA -.L809C2AF4: -/* 00424 809C2AF4 84430AB0 */ lh $v1, 0x0AB0($v0) ## 00000AB0 -/* 00428 809C2AF8 10600002 */ beq $v1, $zero, .L809C2B04 -/* 0042C 809C2AFC 2478FFE7 */ addiu $t8, $v1, 0xFFE7 ## $t8 = FFFFFFE7 -/* 00430 809C2B00 A4580AB0 */ sh $t8, 0x0AB0($v0) ## 00000AB0 -.L809C2B04: -/* 00434 809C2B04 84430AB2 */ lh $v1, 0x0AB2($v0) ## 00000AB2 -/* 00438 809C2B08 10600002 */ beq $v1, $zero, .L809C2B14 -/* 0043C 809C2B0C 2479FFE7 */ addiu $t9, $v1, 0xFFE7 ## $t9 = FFFFFFE7 -/* 00440 809C2B10 A4590AB2 */ sh $t9, 0x0AB2($v0) ## 00000AB2 -.L809C2B14: -/* 00444 809C2B14 84430AB4 */ lh $v1, 0x0AB4($v0) ## 00000AB4 -/* 00448 809C2B18 10600002 */ beq $v1, $zero, .L809C2B24 -/* 0044C 809C2B1C 2468FFE7 */ addiu $t0, $v1, 0xFFE7 ## $t0 = FFFFFFE7 -/* 00450 809C2B20 A4480AB4 */ sh $t0, 0x0AB4($v0) ## 00000AB4 -.L809C2B24: -/* 00454 809C2B24 860901F8 */ lh $t1, 0x01F8($s0) ## 000001F8 -/* 00458 809C2B28 8FAA0024 */ lw $t2, 0x0024($sp) -/* 0045C 809C2B2C 55200012 */ bnel $t1, $zero, .L809C2B78 -/* 00460 809C2B30 8FBF001C */ lw $ra, 0x001C($sp) -/* 00464 809C2B34 8D421C44 */ lw $v0, 0x1C44($t2) ## 00001C44 -/* 00468 809C2B38 8C43067C */ lw $v1, 0x067C($v0) ## 0000067C -/* 0046C 809C2B3C 306B0800 */ andi $t3, $v1, 0x0800 ## $t3 = 00000000 -/* 00470 809C2B40 1160000A */ beq $t3, $zero, .L809C2B6C -/* 00474 809C2B44 00000000 */ nop -/* 00478 809C2B48 8C4C03AC */ lw $t4, 0x03AC($v0) ## 000003AC -/* 0047C 809C2B4C 2401F7FF */ addiu $at, $zero, 0xF7FF ## $at = FFFFF7FF -/* 00480 809C2B50 00616824 */ and $t5, $v1, $at -/* 00484 809C2B54 160C0005 */ bne $s0, $t4, .L809C2B6C -/* 00488 809C2B58 00000000 */ nop -/* 0048C 809C2B5C AC40011C */ sw $zero, 0x011C($v0) ## 0000011C -/* 00490 809C2B60 AC4003AC */ sw $zero, 0x03AC($v0) ## 000003AC -/* 00494 809C2B64 AC400438 */ sw $zero, 0x0438($v0) ## 00000438 -/* 00498 809C2B68 AC4D067C */ sw $t5, 0x067C($v0) ## 0000067C -.L809C2B6C: -/* 0049C 809C2B6C 0C00B55C */ jal Actor_Kill - -/* 004A0 809C2B70 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 004A4 809C2B74 8FBF001C */ lw $ra, 0x001C($sp) -.L809C2B78: -/* 004A8 809C2B78 8FB00018 */ lw $s0, 0x0018($sp) -/* 004AC 809C2B7C 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000 -/* 004B0 809C2B80 03E00008 */ jr $ra -/* 004B4 809C2B84 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Bombf/EnBombf_Destroy.s b/asm/non_matchings/overlays/actors/ovl_En_Bombf/EnBombf_Destroy.s deleted file mode 100644 index 0168fb0ccd..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Bombf/EnBombf_Destroy.s +++ /dev/null @@ -1,18 +0,0 @@ -glabel EnBombf_Destroy -/* 001E0 809C7140 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 001E4 809C7144 AFA40018 */ sw $a0, 0x0018($sp) -/* 001E8 809C7148 AFA5001C */ sw $a1, 0x001C($sp) -/* 001EC 809C714C 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000 -/* 001F0 809C7150 8FA50018 */ lw $a1, 0x0018($sp) -/* 001F4 809C7154 AFBF0014 */ sw $ra, 0x0014($sp) -/* 001F8 809C7158 0C0170EB */ jal Collider_DestroyCylinder - -/* 001FC 809C715C 24A5014C */ addiu $a1, $a1, 0x014C ## $a1 = 0000014C -/* 00200 809C7160 8FA50018 */ lw $a1, 0x0018($sp) -/* 00204 809C7164 8FA4001C */ lw $a0, 0x001C($sp) -/* 00208 809C7168 0C016F32 */ jal Collider_DestroyJntSph -/* 0020C 809C716C 24A50198 */ addiu $a1, $a1, 0x0198 ## $a1 = 00000198 -/* 00210 809C7170 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00214 809C7174 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00218 809C7178 03E00008 */ jr $ra -/* 0021C 809C717C 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Bombf/EnBombf_Draw.s b/asm/non_matchings/overlays/actors/ovl_En_Bombf/EnBombf_Draw.s deleted file mode 100644 index fb952c9c4f..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Bombf/EnBombf_Draw.s +++ /dev/null @@ -1,185 +0,0 @@ -.rdata -glabel D_809C8310 - .asciz "../z_en_bombf.c" - .balign 4 - -glabel D_809C8320 - .asciz "../z_en_bombf.c" - .balign 4 - -glabel D_809C8330 - .asciz "../z_en_bombf.c" - .balign 4 - -glabel D_809C8340 - .asciz "../z_en_bombf.c" - .balign 4 - -.text -glabel EnBombf_Draw -/* 01054 809C7FB4 27BDFF98 */ addiu $sp, $sp, 0xFF98 ## $sp = FFFFFF98 -/* 01058 809C7FB8 AFBF001C */ sw $ra, 0x001C($sp) -/* 0105C 809C7FBC AFB00018 */ sw $s0, 0x0018($sp) -/* 01060 809C7FC0 AFA40068 */ sw $a0, 0x0068($sp) -/* 01064 809C7FC4 AFA5006C */ sw $a1, 0x006C($sp) -/* 01068 809C7FC8 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000 -/* 0106C 809C7FCC 3C06809D */ lui $a2, %hi(D_809C8310) ## $a2 = 809D0000 -/* 01070 809C7FD0 24C68310 */ addiu $a2, $a2, %lo(D_809C8310) ## $a2 = 809C8310 -/* 01074 809C7FD4 27A4004C */ addiu $a0, $sp, 0x004C ## $a0 = FFFFFFE4 -/* 01078 809C7FD8 2407040A */ addiu $a3, $zero, 0x040A ## $a3 = 0000040A -/* 0107C 809C7FDC 0C031AB1 */ jal Graph_OpenDisps -/* 01080 809C7FE0 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000 -/* 01084 809C7FE4 8FA20068 */ lw $v0, 0x0068($sp) -/* 01088 809C7FE8 8FB8006C */ lw $t8, 0x006C($sp) -/* 0108C 809C7FEC 00002025 */ or $a0, $zero, $zero ## $a0 = 00000000 -/* 01090 809C7FF0 844F001C */ lh $t7, 0x001C($v0) ## 0000001C -/* 01094 809C7FF4 1DE00083 */ bgtz $t7, .L809C8204 -/* 01098 809C7FF8 00000000 */ nop -/* 0109C 809C7FFC 0C024F46 */ jal func_80093D18 -/* 010A0 809C8000 8F040000 */ lw $a0, 0x0000($t8) ## 00000000 -/* 010A4 809C8004 8FB90068 */ lw $t9, 0x0068($sp) -/* 010A8 809C8008 3C0ADA38 */ lui $t2, 0xDA38 ## $t2 = DA380000 -/* 010AC 809C800C 8728001C */ lh $t0, 0x001C($t9) ## 0000001C -/* 010B0 809C8010 5100002B */ beql $t0, $zero, .L809C80C0 -/* 010B4 809C8014 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0 -/* 010B8 809C8018 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0 -/* 010BC 809C801C 354A0003 */ ori $t2, $t2, 0x0003 ## $t2 = DA380003 -/* 010C0 809C8020 3C05809D */ lui $a1, %hi(D_809C8320) ## $a1 = 809D0000 -/* 010C4 809C8024 24490008 */ addiu $t1, $v0, 0x0008 ## $t1 = 00000008 -/* 010C8 809C8028 AE0902C0 */ sw $t1, 0x02C0($s0) ## 000002C0 -/* 010CC 809C802C AC4A0000 */ sw $t2, 0x0000($v0) ## 00000000 -/* 010D0 809C8030 8FAB006C */ lw $t3, 0x006C($sp) -/* 010D4 809C8034 24A58320 */ addiu $a1, $a1, %lo(D_809C8320) ## $a1 = 809C8320 -/* 010D8 809C8038 24060411 */ addiu $a2, $zero, 0x0411 ## $a2 = 00000411 -/* 010DC 809C803C 8D640000 */ lw $a0, 0x0000($t3) ## 00000000 -/* 010E0 809C8040 0C0346A2 */ jal Matrix_NewMtx -/* 010E4 809C8044 AFA20048 */ sw $v0, 0x0048($sp) -/* 010E8 809C8048 8FA30048 */ lw $v1, 0x0048($sp) -/* 010EC 809C804C 3C0D0600 */ lui $t5, 0x0600 ## $t5 = 06000000 -/* 010F0 809C8050 25AD0340 */ addiu $t5, $t5, 0x0340 ## $t5 = 06000340 -/* 010F4 809C8054 AC620004 */ sw $v0, 0x0004($v1) ## 00000004 -/* 010F8 809C8058 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0 -/* 010FC 809C805C 3C04DE00 */ lui $a0, 0xDE00 ## $a0 = DE000000 -/* 01100 809C8060 44806000 */ mtc1 $zero, $f12 ## $f12 = 0.00 -/* 01104 809C8064 244C0008 */ addiu $t4, $v0, 0x0008 ## $t4 = 00000008 -/* 01108 809C8068 AE0C02C0 */ sw $t4, 0x02C0($s0) ## 000002C0 -/* 0110C 809C806C AC4D0004 */ sw $t5, 0x0004($v0) ## 00000004 -/* 01110 809C8070 AC440000 */ sw $a0, 0x0000($v0) ## 00000000 -/* 01114 809C8074 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0 -/* 01118 809C8078 3C0F0600 */ lui $t7, 0x0600 ## $t7 = 06000000 -/* 0111C 809C807C 3C01447A */ lui $at, 0x447A ## $at = 447A0000 -/* 01120 809C8080 244E0008 */ addiu $t6, $v0, 0x0008 ## $t6 = 00000008 -/* 01124 809C8084 AE0E02C0 */ sw $t6, 0x02C0($s0) ## 000002C0 -/* 01128 809C8088 25EF0530 */ addiu $t7, $t7, 0x0530 ## $t7 = 06000530 -/* 0112C 809C808C 44817000 */ mtc1 $at, $f14 ## $f14 = 1000.00 -/* 01130 809C8090 44066000 */ mfc1 $a2, $f12 -/* 01134 809C8094 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 01138 809C8098 AC4F0004 */ sw $t7, 0x0004($v0) ## 00000004 -/* 0113C 809C809C 0C034261 */ jal Matrix_Translate -/* 01140 809C80A0 AC440000 */ sw $a0, 0x0000($v0) ## 00000000 -/* 01144 809C80A4 8FB80068 */ lw $t8, 0x0068($sp) -/* 01148 809C80A8 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 0114C 809C80AC C70C020C */ lwc1 $f12, 0x020C($t8) ## 0000020C -/* 01150 809C80B0 44066000 */ mfc1 $a2, $f12 -/* 01154 809C80B4 0C0342A3 */ jal Matrix_Scale -/* 01158 809C80B8 46006386 */ mov.s $f14, $f12 -/* 0115C 809C80BC 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0 -.L809C80C0: -/* 01160 809C80C0 3C09C8FF */ lui $t1, 0xC8FF ## $t1 = C8FF0000 -/* 01164 809C80C4 3529C8FF */ ori $t1, $t1, 0xC8FF ## $t1 = C8FFC8FF -/* 01168 809C80C8 24590008 */ addiu $t9, $v0, 0x0008 ## $t9 = 00000008 -/* 0116C 809C80CC AE1902C0 */ sw $t9, 0x02C0($s0) ## 000002C0 -/* 01170 809C80D0 3C08FA00 */ lui $t0, 0xFA00 ## $t0 = FA000000 -/* 01174 809C80D4 AC480000 */ sw $t0, 0x0000($v0) ## 00000000 -/* 01178 809C80D8 AC490004 */ sw $t1, 0x0004($v0) ## 00000004 -/* 0117C 809C80DC 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0 -/* 01180 809C80E0 3C0BE700 */ lui $t3, 0xE700 ## $t3 = E7000000 -/* 01184 809C80E4 3C0DFB00 */ lui $t5, 0xFB00 ## $t5 = FB000000 -/* 01188 809C80E8 244A0008 */ addiu $t2, $v0, 0x0008 ## $t2 = 00000008 -/* 0118C 809C80EC AE0A02C0 */ sw $t2, 0x02C0($s0) ## 000002C0 -/* 01190 809C80F0 AC4B0000 */ sw $t3, 0x0000($v0) ## 00000000 -/* 01194 809C80F4 AC400004 */ sw $zero, 0x0004($v0) ## 00000004 -/* 01198 809C80F8 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0 -/* 0119C 809C80FC 3C010014 */ lui $at, 0x0014 ## $at = 00140000 -/* 011A0 809C8100 3C05809D */ lui $a1, %hi(D_809C8330) ## $a1 = 809D0000 -/* 011A4 809C8104 244C0008 */ addiu $t4, $v0, 0x0008 ## $t4 = 00000008 -/* 011A8 809C8108 AE0C02C0 */ sw $t4, 0x02C0($s0) ## 000002C0 -/* 011AC 809C810C AC4D0000 */ sw $t5, 0x0000($v0) ## 00000000 -/* 011B0 809C8110 8FAE0068 */ lw $t6, 0x0068($sp) -/* 011B4 809C8114 24A58330 */ addiu $a1, $a1, %lo(D_809C8330) ## $a1 = 809C8330 -/* 011B8 809C8118 2406041E */ addiu $a2, $zero, 0x041E ## $a2 = 0000041E -/* 011BC 809C811C C5C40208 */ lwc1 $f4, 0x0208($t6) ## 00000208 -/* 011C0 809C8120 3C0EDA38 */ lui $t6, 0xDA38 ## $t6 = DA380000 -/* 011C4 809C8124 35CE0003 */ ori $t6, $t6, 0x0003 ## $t6 = DA380003 -/* 011C8 809C8128 4600218D */ trunc.w.s $f6, $f4 -/* 011CC 809C812C 44093000 */ mfc1 $t1, $f6 -/* 011D0 809C8130 00000000 */ nop -/* 011D4 809C8134 00095600 */ sll $t2, $t1, 24 -/* 011D8 809C8138 01415825 */ or $t3, $t2, $at ## $t3 = 00140008 -/* 011DC 809C813C 356C0A00 */ ori $t4, $t3, 0x0A00 ## $t4 = 00140A08 -/* 011E0 809C8140 AC4C0004 */ sw $t4, 0x0004($v0) ## 00000004 -/* 011E4 809C8144 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0 -/* 011E8 809C8148 244D0008 */ addiu $t5, $v0, 0x0008 ## $t5 = 00000008 -/* 011EC 809C814C AE0D02C0 */ sw $t5, 0x02C0($s0) ## 000002C0 -/* 011F0 809C8150 AC4E0000 */ sw $t6, 0x0000($v0) ## 00000000 -/* 011F4 809C8154 8FAF006C */ lw $t7, 0x006C($sp) -/* 011F8 809C8158 8DE40000 */ lw $a0, 0x0000($t7) ## 00000000 -/* 011FC 809C815C 0C0346A2 */ jal Matrix_NewMtx -/* 01200 809C8160 AFA20030 */ sw $v0, 0x0030($sp) -/* 01204 809C8164 8FA30030 */ lw $v1, 0x0030($sp) -/* 01208 809C8168 3C19DB06 */ lui $t9, 0xDB06 ## $t9 = DB060000 -/* 0120C 809C816C 37390020 */ ori $t9, $t9, 0x0020 ## $t9 = DB060020 -/* 01210 809C8170 AC620004 */ sw $v0, 0x0004($v1) ## 00000004 -/* 01214 809C8174 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0 -/* 01218 809C8178 8FA5006C */ lw $a1, 0x006C($sp) -/* 0121C 809C817C 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008 -/* 01220 809C8180 AE1802C0 */ sw $t8, 0x02C0($s0) ## 000002C0 -/* 01224 809C8184 AC590000 */ sw $t9, 0x0000($v0) ## 00000000 -/* 01228 809C8188 8CA40000 */ lw $a0, 0x0000($a1) ## 00000000 -/* 0122C 809C818C 0C271FC9 */ jal func_809C7F24 -/* 01230 809C8190 AFA2002C */ sw $v0, 0x002C($sp) -/* 01234 809C8194 8FA5006C */ lw $a1, 0x006C($sp) -/* 01238 809C8198 AFA20024 */ sw $v0, 0x0024($sp) -/* 0123C 809C819C 0C271FC9 */ jal func_809C7F24 -/* 01240 809C81A0 8CA40000 */ lw $a0, 0x0000($a1) ## 00000000 -/* 01244 809C81A4 8FAA0024 */ lw $t2, 0x0024($sp) -/* 01248 809C81A8 3C0E8016 */ lui $t6, %hi(gSegments) -/* 0124C 809C81AC 3C0100FF */ lui $at, 0x00FF ## $at = 00FF0000 -/* 01250 809C81B0 000A5900 */ sll $t3, $t2, 4 -/* 01254 809C81B4 000B6702 */ srl $t4, $t3, 28 -/* 01258 809C81B8 000C6880 */ sll $t5, $t4, 2 -/* 0125C 809C81BC 01CD7021 */ addu $t6, $t6, $t5 -/* 01260 809C81C0 8DCE6FA8 */ lw $t6, %lo(gSegments)($t6) -/* 01264 809C81C4 3421FFFF */ ori $at, $at, 0xFFFF ## $at = 00FFFFFF -/* 01268 809C81C8 00414824 */ and $t1, $v0, $at -/* 0126C 809C81CC 8FB9002C */ lw $t9, 0x002C($sp) -/* 01270 809C81D0 3C018000 */ lui $at, 0x8000 ## $at = 80000000 -/* 01274 809C81D4 012E7821 */ addu $t7, $t1, $t6 -/* 01278 809C81D8 01E1C021 */ addu $t8, $t7, $at -/* 0127C 809C81DC AF380004 */ sw $t8, 0x0004($t9) ## 00000004 -/* 01280 809C81E0 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0 -/* 01284 809C81E4 3C0B0600 */ lui $t3, 0x0600 ## $t3 = 06000000 -/* 01288 809C81E8 256B0408 */ addiu $t3, $t3, 0x0408 ## $t3 = 06000408 -/* 0128C 809C81EC 24480008 */ addiu $t0, $v0, 0x0008 ## $t0 = 00000008 -/* 01290 809C81F0 AE0802C0 */ sw $t0, 0x02C0($s0) ## 000002C0 -/* 01294 809C81F4 3C0ADE00 */ lui $t2, 0xDE00 ## $t2 = DE000000 -/* 01298 809C81F8 AC4A0000 */ sw $t2, 0x0000($v0) ## 00000000 -/* 0129C 809C81FC 10000003 */ beq $zero, $zero, .L809C820C -/* 012A0 809C8200 AC4B0004 */ sw $t3, 0x0004($v0) ## 00000004 -.L809C8204: -/* 012A4 809C8204 0C018A29 */ jal func_800628A4 -/* 012A8 809C8208 24450198 */ addiu $a1, $v0, 0x0198 ## $a1 = 00000198 -.L809C820C: -/* 012AC 809C820C 8FAC006C */ lw $t4, 0x006C($sp) -/* 012B0 809C8210 3C06809D */ lui $a2, %hi(D_809C8340) ## $a2 = 809D0000 -/* 012B4 809C8214 24C68340 */ addiu $a2, $a2, %lo(D_809C8340) ## $a2 = 809C8340 -/* 012B8 809C8218 27A4004C */ addiu $a0, $sp, 0x004C ## $a0 = FFFFFFE4 -/* 012BC 809C821C 24070427 */ addiu $a3, $zero, 0x0427 ## $a3 = 00000427 -/* 012C0 809C8220 0C031AD5 */ jal Graph_CloseDisps -/* 012C4 809C8224 8D850000 */ lw $a1, 0x0000($t4) ## 00000000 -/* 012C8 809C8228 8FBF001C */ lw $ra, 0x001C($sp) -/* 012CC 809C822C 8FB00018 */ lw $s0, 0x0018($sp) -/* 012D0 809C8230 27BD0068 */ addiu $sp, $sp, 0x0068 ## $sp = 00000000 -/* 012D4 809C8234 03E00008 */ jr $ra -/* 012D8 809C8238 00000000 */ nop -/* 012DC 809C823C 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Bombf/EnBombf_Init.s b/asm/non_matchings/overlays/actors/ovl_En_Bombf/EnBombf_Init.s deleted file mode 100644 index 1c2aa98fc3..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Bombf/EnBombf_Init.s +++ /dev/null @@ -1,137 +0,0 @@ -.late_rodata -glabel D_809C8350 - .float 10000.0 - -glabel D_809C8354 - .word 0x46F23000 - -.text -glabel EnBombf_Init -/* 00008 809C6F68 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0 -/* 0000C 809C6F6C AFB10020 */ sw $s1, 0x0020($sp) -/* 00010 809C6F70 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00 -/* 00014 809C6F74 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000 -/* 00018 809C6F78 AFBF0024 */ sw $ra, 0x0024($sp) -/* 0001C 809C6F7C AFB0001C */ sw $s0, 0x001C($sp) -/* 00020 809C6F80 3C053C23 */ lui $a1, 0x3C23 ## $a1 = 3C230000 -/* 00024 809C6F84 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00028 809C6F88 34A5D70A */ ori $a1, $a1, 0xD70A ## $a1 = 3C23D70A -/* 0002C 809C6F8C 0C00B58B */ jal Actor_SetScale - -/* 00030 809C6F90 E7A4003C */ swc1 $f4, 0x003C($sp) -/* 00034 809C6F94 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001 -/* 00038 809C6F98 AE0E0200 */ sw $t6, 0x0200($s0) ## 00000200 -/* 0003C 809C6F9C 2605014C */ addiu $a1, $s0, 0x014C ## $a1 = 0000014C -/* 00040 809C6FA0 AFA5002C */ sw $a1, 0x002C($sp) -/* 00044 809C6FA4 0C0170D9 */ jal Collider_InitCylinder - -/* 00048 809C6FA8 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 0004C 809C6FAC 26050198 */ addiu $a1, $s0, 0x0198 ## $a1 = 00000198 -/* 00050 809C6FB0 AFA50030 */ sw $a1, 0x0030($sp) -/* 00054 809C6FB4 0C016EFE */ jal Collider_InitJntSph -/* 00058 809C6FB8 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 0005C 809C6FBC 3C07809D */ lui $a3, %hi(D_809C8260) ## $a3 = 809D0000 -/* 00060 809C6FC0 24E78260 */ addiu $a3, $a3, %lo(D_809C8260) ## $a3 = 809C8260 -/* 00064 809C6FC4 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 00068 809C6FC8 8FA5002C */ lw $a1, 0x002C($sp) -/* 0006C 809C6FCC 0C01712B */ jal Collider_SetCylinder - -/* 00070 809C6FD0 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000 -/* 00074 809C6FD4 3C07809D */ lui $a3, %hi(D_809C82B0) ## $a3 = 809D0000 -/* 00078 809C6FD8 260F01B8 */ addiu $t7, $s0, 0x01B8 ## $t7 = 000001B8 -/* 0007C 809C6FDC AFAF0010 */ sw $t7, 0x0010($sp) -/* 00080 809C6FE0 24E782B0 */ addiu $a3, $a3, %lo(D_809C82B0) ## $a3 = 809C82B0 -/* 00084 809C6FE4 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 00088 809C6FE8 8FA50030 */ lw $a1, 0x0030($sp) -/* 0008C 809C6FEC 0C017014 */ jal Collider_SetJntSph -/* 00090 809C6FF0 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000 -/* 00094 809C6FF4 8618001C */ lh $t8, 0x001C($s0) ## 0000001C -/* 00098 809C6FF8 3C068003 */ lui $a2, %hi(ActorShadow_DrawFunc_Circle) -/* 0009C 809C6FFC 24C6B5EC */ addiu $a2, %lo(ActorShadow_DrawFunc_Circle) -/* 000A0 809C7000 17000005 */ bne $t8, $zero, .L809C7018 -/* 000A4 809C7004 260400B4 */ addiu $a0, $s0, 0x00B4 ## $a0 = 000000B4 -/* 000A8 809C7008 3C01447A */ lui $at, 0x447A ## $at = 447A0000 -/* 000AC 809C700C 44813000 */ mtc1 $at, $f6 ## $f6 = 1000.00 -/* 000B0 809C7010 00000000 */ nop -/* 000B4 809C7014 E7A6003C */ swc1 $f6, 0x003C($sp) -.L809C7018: -/* 000B8 809C7018 8FA5003C */ lw $a1, 0x003C($sp) -/* 000BC 809C701C 0C00AC78 */ jal ActorShape_Init - -/* 000C0 809C7020 3C074140 */ lui $a3, 0x4140 ## $a3 = 41400000 -/* 000C4 809C7024 8E080024 */ lw $t0, 0x0024($s0) ## 00000024 -/* 000C8 809C7028 8E190028 */ lw $t9, 0x0028($s0) ## 00000028 -/* 000CC 809C702C 3C01809D */ lui $at, %hi(D_809C8350) ## $at = 809D0000 -/* 000D0 809C7030 AE080038 */ sw $t0, 0x0038($s0) ## 00000038 -/* 000D4 809C7034 8E08002C */ lw $t0, 0x002C($s0) ## 0000002C -/* 000D8 809C7038 AE19003C */ sw $t9, 0x003C($s0) ## 0000003C -/* 000DC 809C703C 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 000E0 809C7040 AE080040 */ sw $t0, 0x0040($s0) ## 00000040 -/* 000E4 809C7044 C4288350 */ lwc1 $f8, %lo(D_809C8350)($at) -/* 000E8 809C7048 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000 -/* 000EC 809C704C 2406005C */ addiu $a2, $zero, 0x005C ## $a2 = 0000005C -/* 000F0 809C7050 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 000F4 809C7054 0C00D4FD */ jal Actor_FindNearby - -/* 000F8 809C7058 E7A80010 */ swc1 $f8, 0x0010($sp) -/* 000FC 809C705C 10400004 */ beq $v0, $zero, .L809C7070 -/* 00100 809C7060 241900FF */ addiu $t9, $zero, 0x00FF ## $t9 = 000000FF -/* 00104 809C7064 8E090004 */ lw $t1, 0x0004($s0) ## 00000004 -/* 00108 809C7068 352A0020 */ ori $t2, $t1, 0x0020 ## $t2 = 00000020 -/* 0010C 809C706C AE0A0004 */ sw $t2, 0x0004($s0) ## 00000004 -.L809C7070: -/* 00110 809C7070 860B001C */ lh $t3, 0x001C($s0) ## 0000001C -/* 00114 809C7074 2402000A */ addiu $v0, $zero, 0x000A ## $v0 = 0000000A -/* 00118 809C7078 A60200A8 */ sh $v0, 0x00A8($s0) ## 000000A8 -/* 0011C 809C707C A60200AA */ sh $v0, 0x00AA($s0) ## 000000AA -/* 00120 809C7080 15600019 */ bne $t3, $zero, .L809C70E8 -/* 00124 809C7084 A200001F */ sb $zero, 0x001F($s0) ## 0000001F -/* 00128 809C7088 3C01BFC0 */ lui $at, 0xBFC0 ## $at = BFC00000 -/* 0012C 809C708C 44815000 */ mtc1 $at, $f10 ## $f10 = -1.50 -/* 00130 809C7090 240C008C */ addiu $t4, $zero, 0x008C ## $t4 = 0000008C -/* 00134 809C7094 240D000F */ addiu $t5, $zero, 0x000F ## $t5 = 0000000F -/* 00138 809C7098 A60C01F8 */ sh $t4, 0x01F8($s0) ## 000001F8 -/* 0013C 809C709C A60D0206 */ sh $t5, 0x0206($s0) ## 00000206 -/* 00140 809C70A0 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 00144 809C70A4 26251C24 */ addiu $a1, $s1, 0x1C24 ## $a1 = 00001C24 -/* 00148 809C70A8 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000 -/* 0014C 809C70AC 24070003 */ addiu $a3, $zero, 0x0003 ## $a3 = 00000003 -/* 00150 809C70B0 0C00CDD2 */ jal Actor_ChangeType - -/* 00154 809C70B4 E60A006C */ swc1 $f10, 0x006C($s0) ## 0000006C -/* 00158 809C70B8 8E0F0004 */ lw $t7, 0x0004($s0) ## 00000004 -/* 0015C 809C70BC 2401FFFE */ addiu $at, $zero, 0xFFFE ## $at = FFFFFFFE -/* 00160 809C70C0 240E00C8 */ addiu $t6, $zero, 0x00C8 ## $t6 = 000000C8 -/* 00164 809C70C4 3C05809C */ lui $a1, %hi(func_809C74AC) ## $a1 = 809C0000 -/* 00168 809C70C8 01E1C024 */ and $t8, $t7, $at -/* 0016C 809C70CC A20E00AE */ sb $t6, 0x00AE($s0) ## 000000AE -/* 00170 809C70D0 AE180004 */ sw $t8, 0x0004($s0) ## 00000004 -/* 00174 809C70D4 24A574AC */ addiu $a1, $a1, %lo(func_809C74AC) ## $a1 = 809C74AC -/* 00178 809C70D8 0C271BD8 */ jal func_809C6F60 -/* 0017C 809C70DC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00180 809C70E0 1000000A */ beq $zero, $zero, .L809C710C -/* 00184 809C70E4 00000000 */ nop -.L809C70E8: -/* 00188 809C70E8 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 0018C 809C70EC 44818000 */ mtc1 $at, $f16 ## $f16 = 1.00 -/* 00190 809C70F0 24080001 */ addiu $t0, $zero, 0x0001 ## $t0 = 00000001 -/* 00194 809C70F4 A21900AE */ sb $t9, 0x00AE($s0) ## 000000AE -/* 00198 809C70F8 A2080204 */ sb $t0, 0x0204($s0) ## 00000204 -/* 0019C 809C70FC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 001A0 809C7100 8605001C */ lh $a1, 0x001C($s0) ## 0000001C -/* 001A4 809C7104 0C271C60 */ jal func_809C7180 -/* 001A8 809C7108 E610020C */ swc1 $f16, 0x020C($s0) ## 0000020C -.L809C710C: -/* 001AC 809C710C 3C01809D */ lui $at, %hi(D_809C8354) ## $at = 809D0000 -/* 001B0 809C7110 C4208354 */ lwc1 $f0, %lo(D_809C8354)($at) -/* 001B4 809C7114 C61200F8 */ lwc1 $f18, 0x00F8($s0) ## 000000F8 -/* 001B8 809C7118 C60600F4 */ lwc1 $f6, 0x00F4($s0) ## 000000F4 -/* 001BC 809C711C 46009100 */ add.s $f4, $f18, $f0 -/* 001C0 809C7120 46003200 */ add.s $f8, $f6, $f0 -/* 001C4 809C7124 E60400F8 */ swc1 $f4, 0x00F8($s0) ## 000000F8 -/* 001C8 809C7128 E60800F4 */ swc1 $f8, 0x00F4($s0) ## 000000F4 -/* 001CC 809C712C 8FBF0024 */ lw $ra, 0x0024($sp) -/* 001D0 809C7130 8FB10020 */ lw $s1, 0x0020($sp) -/* 001D4 809C7134 8FB0001C */ lw $s0, 0x001C($sp) -/* 001D8 809C7138 03E00008 */ jr $ra -/* 001DC 809C713C 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Bombf/EnBombf_Update.s b/asm/non_matchings/overlays/actors/ovl_En_Bombf/EnBombf_Update.s index c3e84281b8..4f31d71157 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Bombf/EnBombf_Update.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Bombf/EnBombf_Update.s @@ -448,13 +448,13 @@ glabel EnBombf_Update /* 00E5C 809C7DBC 8E180004 */ lw $t8, 0x0004($s0) ## 00000004 /* 00E60 809C7DC0 24190001 */ addiu $t9, $zero, 0x0001 ## $t9 = 00000001 /* 00E64 809C7DC4 2409000A */ addiu $t1, $zero, 0x000A ## $t1 = 0000000A -/* 00E68 809C7DC8 3C05809C */ lui $a1, %hi(func_809C7624) ## $a1 = 809C0000 +/* 00E68 809C7DC8 3C05809C */ lui $a1, %hi(EnBombf_Explode) ## $a1 = 809C0000 /* 00E6C 809C7DCC 370A0020 */ ori $t2, $t8, 0x0020 ## $t2 = 00000020 /* 00E70 809C7DD0 A619001C */ sh $t9, 0x001C($s0) ## 0000001C /* 00E74 809C7DD4 A60901F8 */ sh $t1, 0x01F8($s0) ## 000001F8 /* 00E78 809C7DD8 AE0A0004 */ sw $t2, 0x0004($s0) ## 00000004 -/* 00E7C 809C7DDC 24A57624 */ addiu $a1, $a1, %lo(func_809C7624) ## $a1 = 809C7624 -/* 00E80 809C7DE0 0C271BD8 */ jal func_809C6F60 +/* 00E7C 809C7DDC 24A57624 */ addiu $a1, $a1, %lo(EnBombf_Explode) ## $a1 = 809C7624 +/* 00E80 809C7DE0 0C271BD8 */ jal EnBombf_SetupAction /* 00E84 809C7DE4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 .L809C7DE8: /* 00E88 809C7DE8 8E0B0028 */ lw $t3, 0x0028($s0) ## 00000028 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Bombf/func_809C6F60.s b/asm/non_matchings/overlays/actors/ovl_En_Bombf/func_809C6F60.s deleted file mode 100644 index 4dc51153ac..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Bombf/func_809C6F60.s +++ /dev/null @@ -1,3 +0,0 @@ -glabel func_809C6F60 -/* 00000 809C6F60 03E00008 */ jr $ra -/* 00004 809C6F64 AC8501FC */ sw $a1, 0x01FC($a0) ## 000001FC diff --git a/asm/non_matchings/overlays/actors/ovl_En_Bombf/func_809C7180.s b/asm/non_matchings/overlays/actors/ovl_En_Bombf/func_809C7180.s deleted file mode 100644 index 8277159b4b..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Bombf/func_809C7180.s +++ /dev/null @@ -1,11 +0,0 @@ -glabel func_809C7180 -/* 00220 809C7180 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00224 809C7184 AFA5001C */ sw $a1, 0x001C($sp) -/* 00228 809C7188 AFBF0014 */ sw $ra, 0x0014($sp) -/* 0022C 809C718C 3C05809C */ lui $a1, %hi(func_809C71A8) ## $a1 = 809C0000 -/* 00230 809C7190 0C271BD8 */ jal func_809C6F60 -/* 00234 809C7194 24A571A8 */ addiu $a1, $a1, %lo(func_809C71A8) ## $a1 = 809C71A8 -/* 00238 809C7198 8FBF0014 */ lw $ra, 0x0014($sp) -/* 0023C 809C719C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00240 809C71A0 03E00008 */ jr $ra -/* 00244 809C71A4 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Bombf/func_809C71A8.s b/asm/non_matchings/overlays/actors/ovl_En_Bombf/func_809C71A8.s deleted file mode 100644 index 0e907b45a8..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Bombf/func_809C71A8.s +++ /dev/null @@ -1,212 +0,0 @@ -.late_rodata -glabel D_809C8358 - .float 0.05 - -.text -glabel func_809C71A8 -/* 00248 809C71A8 27BDFFB0 */ addiu $sp, $sp, 0xFFB0 ## $sp = FFFFFFB0 -/* 0024C 809C71AC AFBF0034 */ sw $ra, 0x0034($sp) -/* 00250 809C71B0 AFB10030 */ sw $s1, 0x0030($sp) -/* 00254 809C71B4 AFB0002C */ sw $s0, 0x002C($sp) -/* 00258 809C71B8 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 0025C 809C71BC 44811000 */ mtc1 $at, $f2 ## $f2 = 1.00 -/* 00260 809C71C0 C480020C */ lwc1 $f0, 0x020C($a0) ## 0000020C -/* 00264 809C71C4 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00268 809C71C8 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000 -/* 0026C 809C71CC 4600103E */ c.le.s $f2, $f0 -/* 00270 809C71D0 8CA31C44 */ lw $v1, 0x1C44($a1) ## 00001C44 -/* 00274 809C71D4 4502008F */ bc1fl .L809C7414 -/* 00278 809C71D8 861801F8 */ lh $t8, 0x01F8($s0) ## 000001F8 -/* 0027C 809C71DC 0C00BD04 */ jal func_8002F410 -/* 00280 809C71E0 AFA30040 */ sw $v1, 0x0040($sp) -/* 00284 809C71E4 1040002A */ beq $v0, $zero, .L809C7290 -/* 00288 809C71E8 8FA30040 */ lw $v1, 0x0040($sp) -/* 0028C 809C71EC C6040028 */ lwc1 $f4, 0x0028($s0) ## 00000028 -/* 00290 809C71F0 8E070024 */ lw $a3, 0x0024($s0) ## 00000024 -/* 00294 809C71F4 26241C24 */ addiu $a0, $s1, 0x1C24 ## $a0 = 00001C24 -/* 00298 809C71F8 E7A40010 */ swc1 $f4, 0x0010($sp) -/* 0029C 809C71FC C606002C */ lwc1 $f6, 0x002C($s0) ## 0000002C -/* 002A0 809C7200 AFA30040 */ sw $v1, 0x0040($sp) -/* 002A4 809C7204 AFA00024 */ sw $zero, 0x0024($sp) -/* 002A8 809C7208 AFA00020 */ sw $zero, 0x0020($sp) -/* 002AC 809C720C AFA0001C */ sw $zero, 0x001C($sp) -/* 002B0 809C7210 AFA00018 */ sw $zero, 0x0018($sp) -/* 002B4 809C7214 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000 -/* 002B8 809C7218 2406004C */ addiu $a2, $zero, 0x004C ## $a2 = 0000004C -/* 002BC 809C721C 0C00C7D4 */ jal Actor_Spawn - ## ActorSpawn -/* 002C0 809C7220 E7A60014 */ swc1 $f6, 0x0014($sp) -/* 002C4 809C7224 8FA30040 */ lw $v1, 0x0040($sp) -/* 002C8 809C7228 10400010 */ beq $v0, $zero, .L809C726C -/* 002CC 809C722C 00402825 */ or $a1, $v0, $zero ## $a1 = 00000000 -/* 002D0 809C7230 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 002D4 809C7234 0C00BD71 */ jal func_8002F5C4 -/* 002D8 809C7238 02203025 */ or $a2, $s1, $zero ## $a2 = 00000000 -/* 002DC 809C723C 44804000 */ mtc1 $zero, $f8 ## $f8 = 0.00 -/* 002E0 809C7240 240E00B4 */ addiu $t6, $zero, 0x00B4 ## $t6 = 000000B4 -/* 002E4 809C7244 A60E01F8 */ sh $t6, 0x01F8($s0) ## 000001F8 -/* 002E8 809C7248 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 002EC 809C724C 2405086A */ addiu $a1, $zero, 0x086A ## $a1 = 0000086A -/* 002F0 809C7250 0C00BE0A */ jal Audio_PlayActorSound2 - -/* 002F4 809C7254 E608020C */ swc1 $f8, 0x020C($s0) ## 0000020C -/* 002F8 809C7258 8E0F0004 */ lw $t7, 0x0004($s0) ## 00000004 -/* 002FC 809C725C 2401FFFE */ addiu $at, $zero, 0xFFFE ## $at = FFFFFFFE -/* 00300 809C7260 01E1C024 */ and $t8, $t7, $at -/* 00304 809C7264 1000008C */ beq $zero, $zero, .L809C7498 -/* 00308 809C7268 AE180004 */ sw $t8, 0x0004($s0) ## 00000004 -.L809C726C: -/* 0030C 809C726C AC60011C */ sw $zero, 0x011C($v1) ## 0000011C -/* 00310 809C7270 AC6003AC */ sw $zero, 0x03AC($v1) ## 000003AC -/* 00314 809C7274 AC600438 */ sw $zero, 0x0438($v1) ## 00000438 -/* 00318 809C7278 AE000118 */ sw $zero, 0x0118($s0) ## 00000118 -/* 0031C 809C727C 8C79067C */ lw $t9, 0x067C($v1) ## 0000067C -/* 00320 809C7280 2401F7FF */ addiu $at, $zero, 0xF7FF ## $at = FFFFF7FF -/* 00324 809C7284 03214024 */ and $t0, $t9, $at -/* 00328 809C7288 10000083 */ beq $zero, $zero, .L809C7498 -/* 0032C 809C728C AC68067C */ sw $t0, 0x067C($v1) ## 0000067C -.L809C7290: -/* 00330 809C7290 9202015D */ lbu $v0, 0x015D($s0) ## 0000015D -/* 00334 809C7294 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 00338 809C7298 26050024 */ addiu $a1, $s0, 0x0024 ## $a1 = 00000024 -/* 0033C 809C729C 30490002 */ andi $t1, $v0, 0x0002 ## $t1 = 00000000 -/* 00340 809C72A0 11200021 */ beq $t1, $zero, .L809C7328 -/* 00344 809C72A4 3C0641F0 */ lui $a2, 0x41F0 ## $a2 = 41F00000 -/* 00348 809C72A8 8E0B0154 */ lw $t3, 0x0154($s0) ## 00000154 -/* 0034C 809C72AC 304AFFFD */ andi $t2, $v0, 0xFFFD ## $t2 = 00000000 -/* 00350 809C72B0 A20A015D */ sb $t2, 0x015D($s0) ## 0000015D -/* 00354 809C72B4 916C0002 */ lbu $t4, 0x0002($t3) ## 00000002 -/* 00358 809C72B8 24010009 */ addiu $at, $zero, 0x0009 ## $at = 00000009 -/* 0035C 809C72BC 26241C24 */ addiu $a0, $s1, 0x1C24 ## $a0 = 00001C24 -/* 00360 809C72C0 11810075 */ beq $t4, $at, .L809C7498 -/* 00364 809C72C4 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000 -/* 00368 809C72C8 C60A0028 */ lwc1 $f10, 0x0028($s0) ## 00000028 -/* 0036C 809C72CC 8E070024 */ lw $a3, 0x0024($s0) ## 00000024 -/* 00370 809C72D0 2406004C */ addiu $a2, $zero, 0x004C ## $a2 = 0000004C -/* 00374 809C72D4 E7AA0010 */ swc1 $f10, 0x0010($sp) -/* 00378 809C72D8 C610002C */ lwc1 $f16, 0x002C($s0) ## 0000002C -/* 0037C 809C72DC AFA00024 */ sw $zero, 0x0024($sp) -/* 00380 809C72E0 AFA00020 */ sw $zero, 0x0020($sp) -/* 00384 809C72E4 AFA0001C */ sw $zero, 0x001C($sp) -/* 00388 809C72E8 AFA00018 */ sw $zero, 0x0018($sp) -/* 0038C 809C72EC 0C00C7D4 */ jal Actor_Spawn - ## ActorSpawn -/* 00390 809C72F0 E7B00014 */ swc1 $f16, 0x0014($sp) -/* 00394 809C72F4 10400068 */ beq $v0, $zero, .L809C7498 -/* 00398 809C72F8 240D0001 */ addiu $t5, $zero, 0x0001 ## $t5 = 00000001 -/* 0039C 809C72FC AC4D0200 */ sw $t5, 0x0200($v0) ## 00000200 -/* 003A0 809C7300 A44001F8 */ sh $zero, 0x01F8($v0) ## 000001F8 -/* 003A4 809C7304 8E0F0004 */ lw $t7, 0x0004($s0) ## 00000004 -/* 003A8 809C7308 44809000 */ mtc1 $zero, $f18 ## $f18 = 0.00 -/* 003AC 809C730C 2401FFFE */ addiu $at, $zero, 0xFFFE ## $at = FFFFFFFE -/* 003B0 809C7310 240E00B4 */ addiu $t6, $zero, 0x00B4 ## $t6 = 000000B4 -/* 003B4 809C7314 01E1C024 */ and $t8, $t7, $at -/* 003B8 809C7318 A60E01F8 */ sh $t6, 0x01F8($s0) ## 000001F8 -/* 003BC 809C731C AE180004 */ sw $t8, 0x0004($s0) ## 00000004 -/* 003C0 809C7320 1000005D */ beq $zero, $zero, .L809C7498 -/* 003C4 809C7324 E612020C */ swc1 $f18, 0x020C($s0) ## 0000020C -.L809C7328: -/* 003C8 809C7328 3C074248 */ lui $a3, 0x4248 ## $a3 = 42480000 -/* 003CC 809C732C AFA30040 */ sw $v1, 0x0040($sp) -/* 003D0 809C7330 0C023BD7 */ jal func_8008EF5C -/* 003D4 809C7334 AFA50038 */ sw $a1, 0x0038($sp) -/* 003D8 809C7338 1040001A */ beq $v0, $zero, .L809C73A4 -/* 003DC 809C733C 8FA30040 */ lw $v1, 0x0040($sp) -/* 003E0 809C7340 C6040028 */ lwc1 $f4, 0x0028($s0) ## 00000028 -/* 003E4 809C7344 8E070024 */ lw $a3, 0x0024($s0) ## 00000024 -/* 003E8 809C7348 26241C24 */ addiu $a0, $s1, 0x1C24 ## $a0 = 00001C24 -/* 003EC 809C734C E7A40010 */ swc1 $f4, 0x0010($sp) -/* 003F0 809C7350 C606002C */ lwc1 $f6, 0x002C($s0) ## 0000002C -/* 003F4 809C7354 AFA00024 */ sw $zero, 0x0024($sp) -/* 003F8 809C7358 AFA00020 */ sw $zero, 0x0020($sp) -/* 003FC 809C735C AFA0001C */ sw $zero, 0x001C($sp) -/* 00400 809C7360 AFA00018 */ sw $zero, 0x0018($sp) -/* 00404 809C7364 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000 -/* 00408 809C7368 2406004C */ addiu $a2, $zero, 0x004C ## $a2 = 0000004C -/* 0040C 809C736C 0C00C7D4 */ jal Actor_Spawn - ## ActorSpawn -/* 00410 809C7370 E7A60014 */ swc1 $f6, 0x0014($sp) -/* 00414 809C7374 10400048 */ beq $v0, $zero, .L809C7498 -/* 00418 809C7378 24190064 */ addiu $t9, $zero, 0x0064 ## $t9 = 00000064 -/* 0041C 809C737C A45901F8 */ sh $t9, 0x01F8($v0) ## 000001F8 -/* 00420 809C7380 8E090004 */ lw $t1, 0x0004($s0) ## 00000004 -/* 00424 809C7384 44804000 */ mtc1 $zero, $f8 ## $f8 = 0.00 -/* 00428 809C7388 2401FFFE */ addiu $at, $zero, 0xFFFE ## $at = FFFFFFFE -/* 0042C 809C738C 240800B4 */ addiu $t0, $zero, 0x00B4 ## $t0 = 000000B4 -/* 00430 809C7390 01215024 */ and $t2, $t1, $at -/* 00434 809C7394 A60801F8 */ sh $t0, 0x01F8($s0) ## 000001F8 -/* 00438 809C7398 AE0A0004 */ sw $t2, 0x0004($s0) ## 00000004 -/* 0043C 809C739C 1000003E */ beq $zero, $zero, .L809C7498 -/* 00440 809C73A0 E608020C */ swc1 $f8, 0x020C($s0) ## 0000020C -.L809C73A4: -/* 00444 809C73A4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00448 809C73A8 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000 -/* 0044C 809C73AC 0C00BD04 */ jal func_8002F410 -/* 00450 809C73B0 AFA30040 */ sw $v1, 0x0040($sp) -/* 00454 809C73B4 14400006 */ bne $v0, $zero, .L809C73D0 -/* 00458 809C73B8 8FA30040 */ lw $v1, 0x0040($sp) -/* 0045C 809C73BC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00460 809C73C0 0C00BD60 */ jal func_8002F580 -/* 00464 809C73C4 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000 -/* 00468 809C73C8 10000034 */ beq $zero, $zero, .L809C749C -/* 0046C 809C73CC 8FBF0034 */ lw $ra, 0x0034($sp) -.L809C73D0: -/* 00470 809C73D0 AC60011C */ sw $zero, 0x011C($v1) ## 0000011C -/* 00474 809C73D4 AC6003AC */ sw $zero, 0x03AC($v1) ## 000003AC -/* 00478 809C73D8 AC600438 */ sw $zero, 0x0438($v1) ## 00000438 -/* 0047C 809C73DC AE000118 */ sw $zero, 0x0118($s0) ## 00000118 -/* 00480 809C73E0 8C6B067C */ lw $t3, 0x067C($v1) ## 0000067C -/* 00484 809C73E4 2401F7FF */ addiu $at, $zero, 0xF7FF ## $at = FFFFF7FF -/* 00488 809C73E8 01616024 */ and $t4, $t3, $at -/* 0048C 809C73EC AC6C067C */ sw $t4, 0x067C($v1) ## 0000067C -/* 00490 809C73F0 8E0F0008 */ lw $t7, 0x0008($s0) ## 00000008 -/* 00494 809C73F4 8FAD0038 */ lw $t5, 0x0038($sp) -/* 00498 809C73F8 ADAF0000 */ sw $t7, 0x0000($t5) ## 00000000 -/* 0049C 809C73FC 8E0E000C */ lw $t6, 0x000C($s0) ## 0000000C -/* 004A0 809C7400 ADAE0004 */ sw $t6, 0x0004($t5) ## 00000004 -/* 004A4 809C7404 8E0F0010 */ lw $t7, 0x0010($s0) ## 00000010 -/* 004A8 809C7408 10000023 */ beq $zero, $zero, .L809C7498 -/* 004AC 809C740C ADAF0008 */ sw $t7, 0x0008($t5) ## 00000008 -/* 004B0 809C7410 861801F8 */ lh $t8, 0x01F8($s0) ## 000001F8 -.L809C7414: -/* 004B4 809C7414 3C01809D */ lui $at, %hi(D_809C8358) ## $at = 809D0000 -/* 004B8 809C7418 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 004BC 809C741C 1700000C */ bne $t8, $zero, .L809C7450 -/* 004C0 809C7420 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000 -/* 004C4 809C7424 C42A8358 */ lwc1 $f10, %lo(D_809C8358)($at) -/* 004C8 809C7428 460A0400 */ add.s $f16, $f0, $f10 -/* 004CC 809C742C E610020C */ swc1 $f16, 0x020C($s0) ## 0000020C -/* 004D0 809C7430 C612020C */ lwc1 $f18, 0x020C($s0) ## 0000020C -/* 004D4 809C7434 4612103E */ c.le.s $f2, $f18 -/* 004D8 809C7438 00000000 */ nop -/* 004DC 809C743C 45000004 */ bc1f .L809C7450 -/* 004E0 809C7440 00000000 */ nop -/* 004E4 809C7444 8E190004 */ lw $t9, 0x0004($s0) ## 00000004 -/* 004E8 809C7448 37280001 */ ori $t0, $t9, 0x0001 ## $t0 = 00000001 -/* 004EC 809C744C AE080004 */ sw $t0, 0x0004($s0) ## 00000004 -.L809C7450: -/* 004F0 809C7450 0C00BD04 */ jal func_8002F410 -/* 004F4 809C7454 AFA30040 */ sw $v1, 0x0040($sp) -/* 004F8 809C7458 1040000F */ beq $v0, $zero, .L809C7498 -/* 004FC 809C745C 8FA30040 */ lw $v1, 0x0040($sp) -/* 00500 809C7460 AC60011C */ sw $zero, 0x011C($v1) ## 0000011C -/* 00504 809C7464 AC6003AC */ sw $zero, 0x03AC($v1) ## 000003AC -/* 00508 809C7468 AC600438 */ sw $zero, 0x0438($v1) ## 00000438 -/* 0050C 809C746C AE000118 */ sw $zero, 0x0118($s0) ## 00000118 -/* 00510 809C7470 8C69067C */ lw $t1, 0x067C($v1) ## 0000067C -/* 00514 809C7474 2401F7FF */ addiu $at, $zero, 0xF7FF ## $at = FFFFF7FF -/* 00518 809C7478 01215024 */ and $t2, $t1, $at -/* 0051C 809C747C AC6A067C */ sw $t2, 0x067C($v1) ## 0000067C -/* 00520 809C7480 8E0C0008 */ lw $t4, 0x0008($s0) ## 00000008 -/* 00524 809C7484 8E0B000C */ lw $t3, 0x000C($s0) ## 0000000C -/* 00528 809C7488 AE0C0024 */ sw $t4, 0x0024($s0) ## 00000024 -/* 0052C 809C748C 8E0C0010 */ lw $t4, 0x0010($s0) ## 00000010 -/* 00530 809C7490 AE0B0028 */ sw $t3, 0x0028($s0) ## 00000028 -/* 00534 809C7494 AE0C002C */ sw $t4, 0x002C($s0) ## 0000002C -.L809C7498: -/* 00538 809C7498 8FBF0034 */ lw $ra, 0x0034($sp) -.L809C749C: -/* 0053C 809C749C 8FB0002C */ lw $s0, 0x002C($sp) -/* 00540 809C74A0 8FB10030 */ lw $s1, 0x0030($sp) -/* 00544 809C74A4 03E00008 */ jr $ra -/* 00548 809C74A8 27BD0050 */ addiu $sp, $sp, 0x0050 ## $sp = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Bombf/func_809C74AC.s b/asm/non_matchings/overlays/actors/ovl_En_Bombf/func_809C74AC.s deleted file mode 100644 index b7d47152df..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Bombf/func_809C74AC.s +++ /dev/null @@ -1,79 +0,0 @@ -glabel func_809C74AC -/* 0054C 809C74AC 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8 -/* 00550 809C74B0 AFBF0024 */ sw $ra, 0x0024($sp) -/* 00554 809C74B4 AFB00020 */ sw $s0, 0x0020($sp) -/* 00558 809C74B8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 0055C 809C74BC 0C00BD04 */ jal func_8002F410 -/* 00560 809C74C0 AFA5002C */ sw $a1, 0x002C($sp) -/* 00564 809C74C4 10400009 */ beq $v0, $zero, .L809C74EC -/* 00568 809C74C8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 0056C 809C74CC 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00 -/* 00570 809C74D0 3C05809C */ lui $a1, %hi(func_809C75C8) ## $a1 = 809C0000 -/* 00574 809C74D4 24A575C8 */ addiu $a1, $a1, %lo(func_809C75C8) ## $a1 = 809C75C8 -/* 00578 809C74D8 0C271BD8 */ jal func_809C6F60 -/* 0057C 809C74DC E600020C */ swc1 $f0, 0x020C($s0) ## 0000020C -/* 00580 809C74E0 240EFFFF */ addiu $t6, $zero, 0xFFFF ## $t6 = FFFFFFFF -/* 00584 809C74E4 10000033 */ beq $zero, $zero, .L809C75B4 -/* 00588 809C74E8 A20E0003 */ sb $t6, 0x0003($s0) ## 00000003 -.L809C74EC: -/* 0058C 809C74EC 960F0088 */ lhu $t7, 0x0088($s0) ## 00000088 -/* 00590 809C74F0 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 00594 809C74F4 44811000 */ mtc1 $at, $f2 ## $f2 = 1.00 -/* 00598 809C74F8 31F80001 */ andi $t8, $t7, 0x0001 ## $t8 = 00000000 -/* 0059C 809C74FC 1700000B */ bne $t8, $zero, .L809C752C -/* 005A0 809C7500 E602020C */ swc1 $f2, 0x020C($s0) ## 0000020C -/* 005A4 809C7504 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00 -/* 005A8 809C7508 44061000 */ mfc1 $a2, $f2 -/* 005AC 809C750C 3C073CCC */ lui $a3, 0x3CCC ## $a3 = 3CCC0000 -/* 005B0 809C7510 44050000 */ mfc1 $a1, $f0 -/* 005B4 809C7514 34E7CCCD */ ori $a3, $a3, 0xCCCD ## $a3 = 3CCCCCCD -/* 005B8 809C7518 26040068 */ addiu $a0, $s0, 0x0068 ## $a0 = 00000068 -/* 005BC 809C751C 0C01E0C4 */ jal Math_SmoothScaleMaxMinF - -/* 005C0 809C7520 E7A00010 */ swc1 $f0, 0x0010($sp) -/* 005C4 809C7524 10000024 */ beq $zero, $zero, .L809C75B8 -/* 005C8 809C7528 8FBF0024 */ lw $ra, 0x0024($sp) -.L809C752C: -/* 005CC 809C752C 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00 -/* 005D0 809C7530 44061000 */ mfc1 $a2, $f2 -/* 005D4 809C7534 26040068 */ addiu $a0, $s0, 0x0068 ## $a0 = 00000068 -/* 005D8 809C7538 44050000 */ mfc1 $a1, $f0 -/* 005DC 809C753C 3C073FC0 */ lui $a3, 0x3FC0 ## $a3 = 3FC00000 -/* 005E0 809C7540 0C01E0C4 */ jal Math_SmoothScaleMaxMinF - -/* 005E4 809C7544 E7A00010 */ swc1 $f0, 0x0010($sp) -/* 005E8 809C7548 96190088 */ lhu $t9, 0x0088($s0) ## 00000088 -/* 005EC 809C754C 3C01C0C0 */ lui $at, 0xC0C0 ## $at = C0C00000 -/* 005F0 809C7550 33280002 */ andi $t0, $t9, 0x0002 ## $t0 = 00000000 -/* 005F4 809C7554 51000011 */ beql $t0, $zero, .L809C759C -/* 005F8 809C7558 860901F8 */ lh $t1, 0x01F8($s0) ## 000001F8 -/* 005FC 809C755C C6040060 */ lwc1 $f4, 0x0060($s0) ## 00000060 -/* 00600 809C7560 44813000 */ mtc1 $at, $f6 ## $f6 = -6.00 -/* 00604 809C7564 8FA4002C */ lw $a0, 0x002C($sp) -/* 00608 809C7568 4606203C */ c.lt.s $f4, $f6 -/* 0060C 809C756C 00000000 */ nop -/* 00610 809C7570 4502000A */ bc1fl .L809C759C -/* 00614 809C7574 860901F8 */ lh $t1, 0x01F8($s0) ## 000001F8 -/* 00618 809C7578 0C00BE14 */ jal func_8002F850 -/* 0061C 809C757C 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000 -/* 00620 809C7580 3C01BF00 */ lui $at, 0xBF00 ## $at = BF000000 -/* 00624 809C7584 44815000 */ mtc1 $at, $f10 ## $f10 = -0.50 -/* 00628 809C7588 C6080060 */ lwc1 $f8, 0x0060($s0) ## 00000060 -/* 0062C 809C758C 460A4402 */ mul.s $f16, $f8, $f10 -/* 00630 809C7590 10000008 */ beq $zero, $zero, .L809C75B4 -/* 00634 809C7594 E6100060 */ swc1 $f16, 0x0060($s0) ## 00000060 -/* 00638 809C7598 860901F8 */ lh $t1, 0x01F8($s0) ## 000001F8 -.L809C759C: -/* 0063C 809C759C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00640 809C75A0 29210004 */ slti $at, $t1, 0x0004 -/* 00644 809C75A4 54200004 */ bnel $at, $zero, .L809C75B8 -/* 00648 809C75A8 8FBF0024 */ lw $ra, 0x0024($sp) -/* 0064C 809C75AC 0C00BD60 */ jal func_8002F580 -/* 00650 809C75B0 8FA5002C */ lw $a1, 0x002C($sp) -.L809C75B4: -/* 00654 809C75B4 8FBF0024 */ lw $ra, 0x0024($sp) -.L809C75B8: -/* 00658 809C75B8 8FB00020 */ lw $s0, 0x0020($sp) -/* 0065C 809C75BC 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000 -/* 00660 809C75C0 03E00008 */ jr $ra -/* 00664 809C75C4 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Bombf/func_809C75C8.s b/asm/non_matchings/overlays/actors/ovl_En_Bombf/func_809C75C8.s deleted file mode 100644 index 2593c7fc31..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Bombf/func_809C75C8.s +++ /dev/null @@ -1,26 +0,0 @@ -glabel func_809C75C8 -/* 00668 809C75C8 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 0066C 809C75CC AFBF0014 */ sw $ra, 0x0014($sp) -/* 00670 809C75D0 AFA40018 */ sw $a0, 0x0018($sp) -/* 00674 809C75D4 0C00BD68 */ jal func_8002F5A0 -/* 00678 809C75D8 AFA5001C */ sw $a1, 0x001C($sp) -/* 0067C 809C75DC 1040000A */ beq $v0, $zero, .L809C7608 -/* 00680 809C75E0 8FAE0018 */ lw $t6, 0x0018($sp) -/* 00684 809C75E4 3C05809C */ lui $a1, %hi(func_809C74AC) ## $a1 = 809C0000 -/* 00688 809C75E8 24A574AC */ addiu $a1, $a1, %lo(func_809C74AC) ## $a1 = 809C74AC -/* 0068C 809C75EC 0C271BD8 */ jal func_809C6F60 -/* 00690 809C75F0 8FA40018 */ lw $a0, 0x0018($sp) -/* 00694 809C75F4 8FA40018 */ lw $a0, 0x0018($sp) -/* 00698 809C75F8 0C271D2B */ jal func_809C74AC -/* 0069C 809C75FC 8FA5001C */ lw $a1, 0x001C($sp) -/* 006A0 809C7600 10000005 */ beq $zero, $zero, .L809C7618 -/* 006A4 809C7604 8FBF0014 */ lw $ra, 0x0014($sp) -.L809C7608: -/* 006A8 809C7608 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00 -/* 006AC 809C760C 00000000 */ nop -/* 006B0 809C7610 E5C40060 */ swc1 $f4, 0x0060($t6) ## 00000060 -/* 006B4 809C7614 8FBF0014 */ lw $ra, 0x0014($sp) -.L809C7618: -/* 006B8 809C7618 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 006BC 809C761C 03E00008 */ jr $ra -/* 006C0 809C7620 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Bombf/func_809C7624.s b/asm/non_matchings/overlays/actors/ovl_En_Bombf/func_809C7624.s deleted file mode 100644 index 76a8d650e9..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Bombf/func_809C7624.s +++ /dev/null @@ -1,98 +0,0 @@ -glabel func_809C7624 -/* 006C4 809C7624 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0 -/* 006C8 809C7628 AFBF001C */ sw $ra, 0x001C($sp) -/* 006CC 809C762C AFB00018 */ sw $s0, 0x0018($sp) -/* 006D0 809C7630 AFA50024 */ sw $a1, 0x0024($sp) -/* 006D4 809C7634 8C8201B4 */ lw $v0, 0x01B4($a0) ## 000001B4 -/* 006D8 809C7638 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 006DC 809C763C 240500FF */ addiu $a1, $zero, 0x00FF ## $a1 = 000000FF -/* 006E0 809C7640 8443002E */ lh $v1, 0x002E($v0) ## 0000002E -/* 006E4 809C7644 24060014 */ addiu $a2, $zero, 0x0014 ## $a2 = 00000014 -/* 006E8 809C7648 5460000A */ bnel $v1, $zero, .L809C7674 -/* 006EC 809C764C 24780008 */ addiu $t8, $v1, 0x0008 ## $t8 = 00000008 -/* 006F0 809C7650 8C8E0004 */ lw $t6, 0x0004($a0) ## 00000004 -/* 006F4 809C7654 C48C0090 */ lwc1 $f12, 0x0090($a0) ## 00000090 -/* 006F8 809C7658 24070096 */ addiu $a3, $zero, 0x0096 ## $a3 = 00000096 -/* 006FC 809C765C 35CF0020 */ ori $t7, $t6, 0x0020 ## $t7 = 00000020 -/* 00700 809C7660 0C02A800 */ jal func_800AA000 -/* 00704 809C7664 AC8F0004 */ sw $t7, 0x0004($a0) ## 00000004 -/* 00708 809C7668 8E0201B4 */ lw $v0, 0x01B4($s0) ## 000001B4 -/* 0070C 809C766C 8443002E */ lh $v1, 0x002E($v0) ## 0000002E -/* 00710 809C7670 24780008 */ addiu $t8, $v1, 0x0008 ## $t8 = 00000008 -.L809C7674: -/* 00714 809C7674 A458002E */ sh $t8, 0x002E($v0) ## 0000002E -/* 00718 809C7678 8E0201B4 */ lw $v0, 0x01B4($s0) ## 000001B4 -/* 0071C 809C767C 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 00720 809C7680 26060198 */ addiu $a2, $s0, 0x0198 ## $a2 = 00000198 -/* 00724 809C7684 8459002E */ lh $t9, 0x002E($v0) ## 0000002E -/* 00728 809C7688 A4590036 */ sh $t9, 0x0036($v0) ## 00000036 -/* 0072C 809C768C 8608001C */ lh $t0, 0x001C($s0) ## 0000001C -/* 00730 809C7690 8FA40024 */ lw $a0, 0x0024($sp) -/* 00734 809C7694 15010004 */ bne $t0, $at, .L809C76A8 -/* 00738 809C7698 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 0073C 809C769C 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60 -/* 00740 809C76A0 0C0175E7 */ jal CollisionCheck_SetAT - ## CollisionCheck_setAT -/* 00744 809C76A4 00812821 */ addu $a1, $a0, $at -.L809C76A8: -/* 00748 809C76A8 8FA20024 */ lw $v0, 0x0024($sp) -/* 0074C 809C76AC 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 00750 809C76B0 00411021 */ addu $v0, $v0, $at -/* 00754 809C76B4 84430AB6 */ lh $v1, 0x0AB6($v0) ## 00000AB6 -/* 00758 809C76B8 10600002 */ beq $v1, $zero, .L809C76C4 -/* 0075C 809C76BC 246AFFE7 */ addiu $t2, $v1, 0xFFE7 ## $t2 = FFFFFFE7 -/* 00760 809C76C0 A44A0AB6 */ sh $t2, 0x0AB6($v0) ## 00000AB6 -.L809C76C4: -/* 00764 809C76C4 84430AB8 */ lh $v1, 0x0AB8($v0) ## 00000AB8 -/* 00768 809C76C8 10600002 */ beq $v1, $zero, .L809C76D4 -/* 0076C 809C76CC 246BFFE7 */ addiu $t3, $v1, 0xFFE7 ## $t3 = FFFFFFE7 -/* 00770 809C76D0 A44B0AB8 */ sh $t3, 0x0AB8($v0) ## 00000AB8 -.L809C76D4: -/* 00774 809C76D4 84430ABA */ lh $v1, 0x0ABA($v0) ## 00000ABA -/* 00778 809C76D8 10600002 */ beq $v1, $zero, .L809C76E4 -/* 0077C 809C76DC 246CFFE7 */ addiu $t4, $v1, 0xFFE7 ## $t4 = FFFFFFE7 -/* 00780 809C76E0 A44C0ABA */ sh $t4, 0x0ABA($v0) ## 00000ABA -.L809C76E4: -/* 00784 809C76E4 84430AB0 */ lh $v1, 0x0AB0($v0) ## 00000AB0 -/* 00788 809C76E8 10600002 */ beq $v1, $zero, .L809C76F4 -/* 0078C 809C76EC 246DFFE7 */ addiu $t5, $v1, 0xFFE7 ## $t5 = FFFFFFE7 -/* 00790 809C76F0 A44D0AB0 */ sh $t5, 0x0AB0($v0) ## 00000AB0 -.L809C76F4: -/* 00794 809C76F4 84430AB2 */ lh $v1, 0x0AB2($v0) ## 00000AB2 -/* 00798 809C76F8 10600002 */ beq $v1, $zero, .L809C7704 -/* 0079C 809C76FC 246EFFE7 */ addiu $t6, $v1, 0xFFE7 ## $t6 = FFFFFFE7 -/* 007A0 809C7700 A44E0AB2 */ sh $t6, 0x0AB2($v0) ## 00000AB2 -.L809C7704: -/* 007A4 809C7704 84430AB4 */ lh $v1, 0x0AB4($v0) ## 00000AB4 -/* 007A8 809C7708 10600002 */ beq $v1, $zero, .L809C7714 -/* 007AC 809C770C 246FFFE7 */ addiu $t7, $v1, 0xFFE7 ## $t7 = FFFFFFE7 -/* 007B0 809C7710 A44F0AB4 */ sh $t7, 0x0AB4($v0) ## 00000AB4 -.L809C7714: -/* 007B4 809C7714 861801F8 */ lh $t8, 0x01F8($s0) ## 000001F8 -/* 007B8 809C7718 8FB90024 */ lw $t9, 0x0024($sp) -/* 007BC 809C771C 57000012 */ bnel $t8, $zero, .L809C7768 -/* 007C0 809C7720 8FBF001C */ lw $ra, 0x001C($sp) -/* 007C4 809C7724 8F221C44 */ lw $v0, 0x1C44($t9) ## 00001C44 -/* 007C8 809C7728 8C43067C */ lw $v1, 0x067C($v0) ## 0000067C -/* 007CC 809C772C 30680800 */ andi $t0, $v1, 0x0800 ## $t0 = 00000000 -/* 007D0 809C7730 1100000A */ beq $t0, $zero, .L809C775C -/* 007D4 809C7734 00000000 */ nop -/* 007D8 809C7738 8C4903AC */ lw $t1, 0x03AC($v0) ## 000003AC -/* 007DC 809C773C 2401F7FF */ addiu $at, $zero, 0xF7FF ## $at = FFFFF7FF -/* 007E0 809C7740 00615024 */ and $t2, $v1, $at -/* 007E4 809C7744 16090005 */ bne $s0, $t1, .L809C775C -/* 007E8 809C7748 00000000 */ nop -/* 007EC 809C774C AC40011C */ sw $zero, 0x011C($v0) ## 0000011C -/* 007F0 809C7750 AC4003AC */ sw $zero, 0x03AC($v0) ## 000003AC -/* 007F4 809C7754 AC400438 */ sw $zero, 0x0438($v0) ## 00000438 -/* 007F8 809C7758 AC4A067C */ sw $t2, 0x067C($v0) ## 0000067C -.L809C775C: -/* 007FC 809C775C 0C00B55C */ jal Actor_Kill - -/* 00800 809C7760 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00804 809C7764 8FBF001C */ lw $ra, 0x001C($sp) -.L809C7768: -/* 00808 809C7768 8FB00018 */ lw $s0, 0x0018($sp) -/* 0080C 809C776C 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000 -/* 00810 809C7770 03E00008 */ jr $ra -/* 00814 809C7774 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Bombf/func_809C7F24.s b/asm/non_matchings/overlays/actors/ovl_En_Bombf/func_809C7F24.s deleted file mode 100644 index f3edb292bb..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Bombf/func_809C7F24.s +++ /dev/null @@ -1,44 +0,0 @@ -.rdata -glabel D_809C8300 - .asciz "../z_en_bombf.c" - .balign 4 - -.text -glabel func_809C7F24 -/* 00FC4 809C7F24 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8 -/* 00FC8 809C7F28 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00FCC 809C7F2C AFA5002C */ sw $a1, 0x002C($sp) -/* 00FD0 809C7F30 AFA40028 */ sw $a0, 0x0028($sp) -/* 00FD4 809C7F34 0C031A73 */ jal Graph_Alloc - -/* 00FD8 809C7F38 24050028 */ addiu $a1, $zero, 0x0028 ## $a1 = 00000028 -/* 00FDC 809C7F3C 8FA4002C */ lw $a0, 0x002C($sp) -/* 00FE0 809C7F40 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 00FE4 809C7F44 34211DA0 */ ori $at, $at, 0x1DA0 ## $at = 00011DA0 -/* 00FE8 809C7F48 AFA20024 */ sw $v0, 0x0024($sp) -/* 00FEC 809C7F4C AFA20020 */ sw $v0, 0x0020($sp) -/* 00FF0 809C7F50 0C0347F5 */ jal func_800D1FD4 -/* 00FF4 809C7F54 00812021 */ addu $a0, $a0, $at -/* 00FF8 809C7F58 8FA70020 */ lw $a3, 0x0020($sp) -/* 00FFC 809C7F5C 3C0EDA38 */ lui $t6, 0xDA38 ## $t6 = DA380000 -/* 01000 809C7F60 35CE0003 */ ori $t6, $t6, 0x0003 ## $t6 = DA380003 -/* 01004 809C7F64 ACEE0000 */ sw $t6, 0x0000($a3) ## 00000000 -/* 01008 809C7F68 3C05809D */ lui $a1, %hi(D_809C8300) ## $a1 = 809D0000 -/* 0100C 809C7F6C 24E30008 */ addiu $v1, $a3, 0x0008 ## $v1 = 00000008 -/* 01010 809C7F70 AFA30020 */ sw $v1, 0x0020($sp) -/* 01014 809C7F74 24A58300 */ addiu $a1, $a1, %lo(D_809C8300) ## $a1 = 809C8300 -/* 01018 809C7F78 8FA40028 */ lw $a0, 0x0028($sp) -/* 0101C 809C7F7C 240603FD */ addiu $a2, $zero, 0x03FD ## $a2 = 000003FD -/* 01020 809C7F80 0C0346A2 */ jal Matrix_NewMtx -/* 01024 809C7F84 AFA7001C */ sw $a3, 0x001C($sp) -/* 01028 809C7F88 8FA30020 */ lw $v1, 0x0020($sp) -/* 0102C 809C7F8C 8FA7001C */ lw $a3, 0x001C($sp) -/* 01030 809C7F90 3C0FDF00 */ lui $t7, 0xDF00 ## $t7 = DF000000 -/* 01034 809C7F94 ACE20004 */ sw $v0, 0x0004($a3) ## 00000004 -/* 01038 809C7F98 AC600004 */ sw $zero, 0x0004($v1) ## 00000004 -/* 0103C 809C7F9C AC6F0000 */ sw $t7, 0x0000($v1) ## 00000000 -/* 01040 809C7FA0 8FBF0014 */ lw $ra, 0x0014($sp) -/* 01044 809C7FA4 8FA20024 */ lw $v0, 0x0024($sp) -/* 01048 809C7FA8 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000 -/* 0104C 809C7FAC 03E00008 */ jr $ra -/* 01050 809C7FB0 00000000 */ nop diff --git a/data/overlays/actors/z_en_bom.data.s b/data/overlays/actors/z_en_bom.data.s deleted file mode 100644 index 32cd764bfe..0000000000 --- a/data/overlays/actors/z_en_bom.data.s +++ /dev/null @@ -1,37 +0,0 @@ -.include "macro.inc" - - # assembler directives - .set noat # allow manual use of $at - .set noreorder # don't insert nops after branches - .set gp=64 # allow use of 64-bit general purpose registers - -.section .data - -.balign 16 - -glabel En_Bom_InitVars - .word 0x00100300, 0x00000030, 0x00010000, 0x00000208 -.word EnBom_Init -.word EnBom_Destroy -.word EnBom_Update -.word EnBom_Draw -glabel D_809C3430 - .word 0x00002939, 0x20010000, 0x02000000, 0x00000000, 0x00000000, 0x0003F828, 0x00000000, 0x00010100, 0x0006000B, 0x000E0000, 0x00000000 -glabel D_809C345C - .word 0x00000000, 0x00000008, 0x00080000, 0x00000000, 0x00000000, 0x19000000, 0x00000000, 0x00000000, 0x00000064 -glabel D_809C3480 - .word 0x00390000, 0x00000000, 0x00000001 -.word D_809C345C -glabel D_809C3490 - .word 0xC0500000, 0xB04C07D0, 0x386CF060 -glabel D_809C349C - .word 0x00000000, 0x00000000, 0x00000000 -glabel D_809C34A8 - .word 0x00000000, 0x3DCCCCCD, 0x00000000 -glabel D_809C34B4 - .word 0x00000000, 0x00000000, 0x00000000 -glabel D_809C34C0 - .word 0x00000000, 0x3F19999A, 0x00000000 -glabel D_809C34CC - .word 0xFFFFFFFF - diff --git a/data/overlays/actors/z_en_bom.reloc.s b/data/overlays/actors/z_en_bom.reloc.s deleted file mode 100644 index 2efedc28f8..0000000000 --- a/data/overlays/actors/z_en_bom.reloc.s +++ /dev/null @@ -1,13 +0,0 @@ -.include "macro.inc" - - # assembler directives - .set noat # allow manual use of $at - .set noreorder # don't insert nops after branches - .set gp=64 # allow use of 64-bit general purpose registers - -.section .rodata - -.balign 16 - -glabel D_809C3530 - .incbin "baserom/ovl_En_Bom", 0xE60, 0x00000100 diff --git a/data/overlays/actors/z_en_bombf.data.s b/data/overlays/actors/z_en_bombf.data.s deleted file mode 100644 index 4fa22d834c..0000000000 --- a/data/overlays/actors/z_en_bombf.data.s +++ /dev/null @@ -1,35 +0,0 @@ -.include "macro.inc" - - # assembler directives - .set noat # allow manual use of $at - .set noreorder # don't insert nops after branches - .set gp=64 # allow use of 64-bit general purpose registers - -.section .data - -.balign 16 - -glabel En_Bombf_InitVars - .word 0x004C0600, 0x00000011, 0x00310000, 0x00000210 -.word EnBombf_Init -.word EnBombf_Destroy -.word EnBombf_Update -.word EnBombf_Draw -glabel D_809C8260 - .word 0x0A002939, 0x20010000, 0x02000000, 0x00000000, 0x00000000, 0x0003F828, 0x00000000, 0x00010100, 0x00090012, 0x000A0000, 0x00000000 -glabel D_809C828C - .word 0x00000000, 0x00000008, 0x00080000, 0x00000000, 0x00000000, 0x19000000, 0x00000000, 0x00000000, 0x00000064 -glabel D_809C82B0 - .word 0x0A390000, 0x00000000, 0x00000001 -.word D_809C828C -glabel D_809C82C0 - .word 0x00000000, 0x00000000, 0x00000000 -glabel D_809C82CC - .word 0x00000000, 0x3DCCCCCD, 0x00000000 -glabel D_809C82D8 - .word 0x00000000, 0x00000000, 0x00000000 -glabel D_809C82E4 - .word 0x00000000, 0x3F19999A, 0x00000000 -glabel D_809C82F0 - .word 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000000 - diff --git a/include/functions.h b/include/functions.h index fccddbf55c..1ef004e947 100644 --- a/include/functions.h +++ b/include/functions.h @@ -836,6 +836,7 @@ void Collider_CylinderUpdate(Actor* actor, ColliderCylinder* collider); void func_80062718(ColliderCylinder* collider, Vec3s* pos); // ? func_80062734(?); void func_800627A0(ColliderTris* collider, s32 index, Vec3f* a, Vec3f* b, Vec3f* c); +void func_800628A4(s32 arg0, ColliderJntSph* collider); void func_80062A28(GlobalContext*, Vec3f*); void func_80062B80(GlobalContext*, Vec3f*); void func_80062CD4(GlobalContext* globalCtx, Vec3f* v); @@ -1100,6 +1101,7 @@ void func_8008ECAC(GlobalContext*, Player* player); void func_8008EDF0(Player*); // ? func_8008EE08(?); s32 func_8008EF44(GlobalContext*, s32); +s32 func_8008EF5C(GlobalContext* globalCtx, Vec3f* pos, f32 radius, f32 arg3); // ? func_8008F034(?); u8 func_8008F080(GlobalContext*); Player* func_8008F08C(GlobalContext*); diff --git a/spec b/spec index 2ae79bd444..ebe941dd2b 100644 --- a/spec +++ b/spec @@ -2097,8 +2097,7 @@ endseg beginseg name "ovl_En_Bom" include "build/src/overlays/actors/ovl_En_Bom/z_en_bom.o" - include "build/data/overlays/actors/z_en_bom.data.o" - include "build/data/overlays/actors/z_en_bom.reloc.o" + include "build/src/overlays/actors/ovl_En_Bom/ovl_En_Bom_reloc.o" endseg beginseg @@ -2125,8 +2124,11 @@ endseg beginseg name "ovl_En_Bombf" include "build/src/overlays/actors/ovl_En_Bombf/z_en_bombf.o" - include "build/data/overlays/actors/z_en_bombf.data.o" +#ifdef NON_MATCHING + include "build/src/overlays/actors/ovl_En_Bombf/ovl_En_Bombf_reloc.o" +#else include "build/data/overlays/actors/z_en_bombf.reloc.o" +#endif endseg beginseg diff --git a/src/overlays/actors/ovl_En_Bom/z_en_bom.c b/src/overlays/actors/ovl_En_Bom/z_en_bom.c index fef35f1e21..df6a474c61 100644 --- a/src/overlays/actors/ovl_En_Bom/z_en_bom.c +++ b/src/overlays/actors/ovl_En_Bom/z_en_bom.c @@ -1,3 +1,9 @@ +/* + * File: z_en_bom.c + * Overlay: ovl_En_Bom + * Description: Bomb + */ + #include "z_en_bom.h" #define FLAGS 0x00000030 @@ -9,7 +15,9 @@ void EnBom_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnBom_Update(Actor* thisx, GlobalContext* globalCtx); void EnBom_Draw(Actor* thisx, GlobalContext* globalCtx); -/* +void EnBom_Move(EnBom* this, GlobalContext* globalCtx); +void EnBom_WaitForRelease(EnBom* this, GlobalContext* globalCtx); + const ActorInit En_Bom_InitVars = { ACTOR_EN_BOM, ACTORTYPE_EXPLOSIVES, @@ -21,19 +29,329 @@ const ActorInit En_Bom_InitVars = { (ActorFunc)EnBom_Update, (ActorFunc)EnBom_Draw, }; -*/ -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Bom/func_809C26D0.s") -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Bom/EnBom_Init.s") +static ColliderCylinderInit sCylinderInit = { + { COLTYPE_UNK0, 0x00, 0x29, 0x39, 0x20, COLSHAPE_CYLINDER }, + { 0x02, { 0x00000000, 0x00, 0x00 }, { 0x0003F828, 0x00, 0x00 }, 0x00, 0x01, 0x01 }, + { 6, 11, 14, { 0, 0, 0 } }, +}; + +static ColliderJntSphItemInit sJntSphItemsInit[1] = { + { + { 0x00, { 0x00000008, 0x00, 0x08 }, { 0x00000000, 0x00, 0x00 }, 0x19, 0x00, 0x00 }, + { 0, { { 0, 0, 0 }, 0 }, 100 }, + }, +}; + +static ColliderJntSphInit sJntSphInit = { + { COLTYPE_UNK0, 0x39, 0x00, 0x00, 0x00, COLSHAPE_JNTSPH }, + 1, + sJntSphItemsInit, +}; + +static InitChainEntry sInitChain[] = { + ICHAIN_VEC3F(scale, 0, ICHAIN_CONTINUE), + ICHAIN_F32(unk_4C, 2000, ICHAIN_CONTINUE), + ICHAIN_F32_DIV1000(gravity, 61536, ICHAIN_STOP), +}; + +extern Gfx D_04007A50[]; // gold fuse cap +extern Gfx D_04007860[]; // bomb + +void EnBom_SetupAction(EnBom* this, EnBomActionFunc actionFunc) { + this->actionFunc = actionFunc; +} + +void EnBom_Init(Actor* thisx, GlobalContext* globalCtx) { + EnBom* this = THIS; + + Actor_ProcessInitChain(&this->actor, sInitChain); + ActorShape_Init(&this->actor.shape, 700.0f, ActorShadow_DrawFunc_Circle, 16.0f); + this->actor.colChkInfo.mass = 200; + this->actor.colChkInfo.unk_10 = 5; + this->actor.colChkInfo.unk_12 = 0xA; + this->timer = 70; + this->flashSpeedScale = 7; + Collider_InitCylinder(globalCtx, &this->bombCollider); + Collider_InitJntSph(globalCtx, &this->explosionCollider); + Collider_SetCylinder(globalCtx, &this->bombCollider, &this->actor, &sCylinderInit); + Collider_SetJntSph(globalCtx, &this->explosionCollider, &this->actor, &sJntSphInit, + &this->explosionColliderItems[0]); + this->explosionColliderItems[0].body.toucher.damage += (thisx->shape.rot.z & 0xFF00) >> 8; + + this->actor.shape.rot.z &= 0xFF; + if (this->actor.shape.rot.z & 0x80) { + this->actor.shape.rot.z |= 0xFF00; + } + + EnBom_SetupAction(this, EnBom_Move); +} + +void EnBom_Destroy(Actor* thisx, GlobalContext* globalCtx) { + EnBom* this = THIS; + + Collider_DestroyJntSph(globalCtx, &this->explosionCollider); + Collider_DestroyCylinder(globalCtx, &this->bombCollider); +} + +void EnBom_Move(EnBom* this, GlobalContext* globalCtx) { + // if attached A is not null, the bomb hasnt been released yet + if (func_8002F410(&this->actor, globalCtx)) { + EnBom_SetupAction(this, EnBom_WaitForRelease); + this->actor.room = -1; + return; + } + + if ((this->actor.velocity.y > 0.0f) && (this->actor.bgCheckFlags & 0x10)) { + this->actor.velocity.y = -this->actor.velocity.y; + } + + // rebound bomb off the wall it hits + if ((this->actor.speedXZ != 0.0f) && (this->actor.bgCheckFlags & 8)) { + if (ABS((s16)(this->actor.wallPolyRot - this->actor.posRot.rot.y)) > 0x4000) { + this->actor.posRot.rot.y = + ((this->actor.wallPolyRot - this->actor.posRot.rot.y) + this->actor.wallPolyRot) - 0x8000; + } + Audio_PlayActorSound2(&this->actor, NA_SE_EV_BOMB_BOUND); + Actor_MoveForward(&this->actor); + this->actor.speedXZ *= 0.7f; + this->actor.bgCheckFlags &= ~8; + } + + if (!(this->actor.bgCheckFlags & 1)) { + Math_ApproxF(&this->actor.speedXZ, 0.0f, 0.08f); + } else { + Math_ApproxF(&this->actor.speedXZ, 0.0f, 1.0f); + if ((this->actor.bgCheckFlags & 2) && (this->actor.velocity.y < -3.0f)) { + func_8002F850(globalCtx, &this->actor); + this->actor.velocity.y *= -0.3f; + this->actor.bgCheckFlags &= ~2; + } else if (this->timer >= 4) { + func_8002F580(&this->actor, globalCtx); + } + } + + Actor_MoveForward(&this->actor); +} + +void EnBom_WaitForRelease(EnBom* this, GlobalContext* globalCtx) { + // if attachedA is NULL bomb has been released + if (func_8002F5A0(&this->actor, globalCtx)) { + EnBom_SetupAction(this, EnBom_Move); + EnBom_Move(this, globalCtx); + } +} + +void EnBom_Explode(EnBom* this, GlobalContext* globalCtx) { + Player* player; + + if (this->explosionCollider.list->dim.modelSphere.radius == 0) { + this->actor.flags |= 0x20; + func_800AA000(this->actor.xzDistFromLink, 0xFF, 0x14, 0x96); + } + + this->explosionCollider.list->dim.worldSphere.radius += this->actor.shape.rot.z + 8; + + if (this->actor.params == BOMB_EXPLOSION) { + CollisionCheck_SetAT(globalCtx, &globalCtx->colChkCtx, &this->explosionCollider.base); + } + + if (globalCtx->envCtx.unk_8C[3] != 0) { + globalCtx->envCtx.unk_8C[3] -= 0x19; + } + + if (globalCtx->envCtx.unk_8C[4] != 0) { + globalCtx->envCtx.unk_8C[4] -= 0x19; + } + + if (globalCtx->envCtx.unk_8C[5] != 0) { + globalCtx->envCtx.unk_8C[5] -= 0x19; + } + + if (globalCtx->envCtx.unk_8C[0] != 0) { + globalCtx->envCtx.unk_8C[0] -= 0x19; + } + + if (globalCtx->envCtx.unk_8C[1] != 0) { + globalCtx->envCtx.unk_8C[1] -= 0x19; + } + + if (globalCtx->envCtx.unk_8C[2] != 0) { + globalCtx->envCtx.unk_8C[2] -= 0x19; + } + + if (this->timer == 0) { + player = PLAYER; + + if ((player->stateFlags1 & 0x800) && (player->heldActor == &this->actor)) { + player->actor.attachedB = NULL; + player->heldActor = NULL; + player->interactRangeActor = NULL; + player->stateFlags1 &= ~0x800; + } + + Actor_Kill(&this->actor); + } +} + +void EnBom_Update(Actor* thisx, GlobalContext* globalCtx) { + Vec3f effVelocity = { 0.0f, 0.0f, 0.0f }; + Vec3f bomb2Accel = { 0.0f, 0.1f, 0.0f }; + Vec3f effAccel = { 0.0f, 0.0f, 0.0f }; + Vec3f effPos; + Vec3f dustAccel = { 0.0f, 0.6f, 0.0f }; + Color_RGBA8_n dustColor = { 255, 255, 255, 255 }; + s32 pad[2]; + EnBom* this = THIS; + + this->actor.gravity = -1.2f; + + if (this->timer != 0) { + this->timer--; + } + + if (this->timer == 67) { + Audio_PlayActorSound2(&this->actor, NA_SE_PL_TAKE_OUT_SHIELD); + Actor_SetScale(&this->actor, 0.01f); + } + + if ((this->actor.xzDistFromLink >= 20.0f) || (ABS(this->actor.yDistFromLink) >= 80.0f)) { + this->bumpOn = true; + } + + this->actionFunc(this, globalCtx); + + func_8002E4B4(globalCtx, &this->actor, 5.0f, 10.0f, 15.0f, 0x1F); + + if (this->actor.params == BOMB_BODY) { + if (this->timer < 63) { + dustAccel.y = 0.2f; + + // spawn spark effect on even frames + effPos = this->actor.posRot.pos; + effPos.y += 17.0f; + if ((globalCtx->gameplayFrames % 2) == 0) { + func_80029184(globalCtx, this, &effPos, &effVelocity, &effAccel); + } + + Audio_PlayActorSound2(&this->actor, NA_SE_IT_BOMB_IGNIT - SFX_FLAG); + + effPos.y += 3.0f; + func_8002829C(globalCtx, &effPos, &effVelocity, &dustAccel, &dustColor, &dustColor, 0x32, 5); + } + + if ((this->bombCollider.base.acFlags & 2) || + ((this->bombCollider.base.maskA & 2) && (this->bombCollider.base.oc->type == ACTORTYPE_ENEMY))) { + this->timer = 0; + this->actor.shape.rot.z = 0; + } else { + // if a lit stick touches the bomb, set timer to 100 + // these bombs never have a timer over 70, so this isnt used + if ((this->timer > 100) && func_8008EF5C(globalCtx, &this->actor.posRot.pos, 30.0f, 50.0f)) { + this->timer = 100; + } + } + + dustAccel.y = 0.2f; + effPos = this->actor.posRot.pos; + effPos.y += 10.0f; + + // double bomb flash speed and adjust red color at certain times during the countdown + if ((this->timer == 3) || (this->timer == 20) || (this->timer == 40)) { + this->actor.shape.rot.z = 0; + this->flashSpeedScale >>= 1; + } + + if ((this->timer < 100) && ((this->timer & (this->flashSpeedScale + 1)) != 0)) { + Math_SmoothScaleMaxMinF(&this->flashIntensity, 140.0f, 1.0f, 140.0f / this->flashSpeedScale, 0.0f); + } else { + Math_SmoothScaleMaxMinF(&this->flashIntensity, 0.0f, 1.0f, 140.0f / this->flashSpeedScale, 0.0f); + } + + if (this->timer < 3) { + Actor_SetScale(&this->actor, this->actor.scale.x + 0.002f); + } + + if (this->timer == 0) { + effPos = this->actor.posRot.pos; + + effPos.y += 10.0f; + if (func_8002F410(&this->actor, globalCtx)) { + effPos.y += 30.0f; + } + + func_80028E84(globalCtx, &effPos, &effVelocity, &bomb2Accel, 0x64, (this->actor.shape.rot.z * 6) + 0x13); + + effPos.y = this->actor.groundY; + if (this->actor.groundY > -32000.0f) { + func_80029024(globalCtx, &effPos, &effVelocity, &effAccel); + } + + Audio_PlayActorSound2(&this->actor, NA_SE_IT_BOMB_EXPLOSION); + if (globalCtx) {}; + globalCtx->envCtx.unk_8C[3] = globalCtx->envCtx.unk_8C[4] = globalCtx->envCtx.unk_8C[5] = 0xFA; + globalCtx->envCtx.unk_8C[0] = globalCtx->envCtx.unk_8C[1] = globalCtx->envCtx.unk_8C[2] = 0xFA; + func_8005AA1C(&globalCtx->cameras[0], 2, 0xB, 8); + this->actor.params = BOMB_EXPLOSION; + this->timer = 10; + this->actor.flags |= 0x20; + EnBom_SetupAction(this, EnBom_Explode); + } + } + + Actor_SetHeight(&this->actor, 20.0f); + + if (this->actor.params <= BOMB_BODY) { + Collider_CylinderUpdate(&this->actor, &this->bombCollider); + + // if link is not holding the bomb anymore and bump conditions are met, subscribe to OC + if (!func_8002F410(&this->actor, globalCtx) && this->bumpOn) { + CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->bombCollider.base); + } + + CollisionCheck_SetAC(globalCtx, &globalCtx->colChkCtx, &this->bombCollider.base); + } -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Bom/EnBom_Destroy.s") + if ((this->actor.scale.x >= 0.01f) && (this->actor.params != BOMB_EXPLOSION)) { + if (this->actor.waterY >= 20.0f) { + func_8002A9F4(globalCtx, &this->actor.projectedPos, NA_SE_IT_BOMB_UNEXPLOSION, 1, 1, 0xA); + Actor_Kill(&this->actor); + return; + } + if (this->actor.bgCheckFlags & 0x40) { + this->actor.bgCheckFlags &= ~0x40; + Audio_PlayActorSound2(&this->actor, NA_SE_EV_BOMB_DROP_WATER); + } + } +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Bom/func_809C282C.s") +void EnBom_Draw(Actor* thisx, GlobalContext* globalCtx) { + s32 pad; + EnBom* this = THIS; + GraphicsContext* gfxCtx; + Gfx* dispRefs[4]; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Bom/func_809C29F4.s") + if (1) {} + gfxCtx = globalCtx->state.gfxCtx; + Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_bom.c", 913); -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Bom/func_809C2A38.s") + if (this->actor.params == BOMB_BODY) { + func_80093D18(globalCtx->state.gfxCtx); + func_800D1FD4(&globalCtx->mf_11DA0); + func_8002EBCC(&this->actor, globalCtx, 0); -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Bom/EnBom_Update.s") + gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_bom.c", 928), + G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList(gfxCtx->polyOpa.p++, D_04007A50); + Matrix_RotateRPY(0x4000, 0, 0, MTXMODE_APPLY); + gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_bom.c", 934), + G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gDPPipeSync(gfxCtx->polyOpa.p++); + gDPSetEnvColor(gfxCtx->polyOpa.p++, (s16)this->flashIntensity, 0, 40, 255); + gDPSetPrimColor(gfxCtx->polyOpa.p++, 0, 0, (s16)this->flashIntensity, 0, 40, 255); + gSPDisplayList(gfxCtx->polyOpa.p++, D_04007860); + func_800628A4(0, &this->explosionCollider); + } -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Bom/EnBom_Draw.s") + Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_bom.c", 951); +} diff --git a/src/overlays/actors/ovl_En_Bom/z_en_bom.h b/src/overlays/actors/ovl_En_Bom/z_en_bom.h index 9462f894a3..cf275e6735 100644 --- a/src/overlays/actors/ovl_En_Bom/z_en_bom.h +++ b/src/overlays/actors/ovl_En_Bom/z_en_bom.h @@ -6,11 +6,25 @@ struct EnBom; +typedef void (*EnBomActionFunc)(struct EnBom*, struct GlobalContext*); + typedef struct EnBom { /* 0x0000 */ Actor actor; - /* 0x014C */ char unk_14C[0xBC]; + /* 0x014C */ ColliderCylinder bombCollider; + /* 0x0198 */ ColliderJntSph explosionCollider; + /* 0x01B8 */ ColliderJntSphItem explosionColliderItems[1]; + /* 0x01F8 */ s16 timer; + /* 0x01FA */ s16 flashSpeedScale; + /* 0x01FC */ f32 flashIntensity; + /* 0x0200 */ u8 bumpOn; + /* 0x0204 */ EnBomActionFunc actionFunc; } EnBom; // size = 0x0208 +typedef enum { + /* 0x00 */ BOMB_BODY, + /* 0x01 */ BOMB_EXPLOSION, +} EnBomType; + extern const ActorInit En_Bom_InitVars; #endif diff --git a/src/overlays/actors/ovl_En_Bombf/z_en_bombf.c b/src/overlays/actors/ovl_En_Bombf/z_en_bombf.c index 1647e0038f..5f244f959b 100644 --- a/src/overlays/actors/ovl_En_Bombf/z_en_bombf.c +++ b/src/overlays/actors/ovl_En_Bombf/z_en_bombf.c @@ -1,3 +1,9 @@ +/* + * File: z_en_bombf.c + * Overlay: ovl_En_Bombf + * Description: Bomb Flower + */ + #include "z_en_bombf.h" #define FLAGS 0x00000011 @@ -9,7 +15,12 @@ void EnBombf_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnBombf_Update(Actor* thisx, GlobalContext* globalCtx); void EnBombf_Draw(Actor* thisx, GlobalContext* globalCtx); -/* +void EnBombf_Move(EnBombf* this, GlobalContext* globalCtx); +void EnBombf_GrowBomb(EnBombf* this, GlobalContext* globalCtx); +void EnBombf_WaitForRelease(EnBombf* this, GlobalContext* globalCtx); +void EnBombf_Explode(EnBombf* this, GlobalContext* globalCtx); +void EnBombf_SetupGrowBomb(EnBombf* this, s16 params); + const ActorInit En_Bombf_InitVars = { ACTOR_EN_BOMBF, ACTORTYPE_PROP, @@ -21,25 +32,475 @@ const ActorInit En_Bombf_InitVars = { (ActorFunc)EnBombf_Update, (ActorFunc)EnBombf_Draw, }; -*/ -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Bombf/func_809C6F60.s") -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Bombf/EnBombf_Init.s") +static ColliderCylinderInit sCylinderInit = { + { COLTYPE_UNK10, 0x00, 0x29, 0x39, 0x20, COLSHAPE_CYLINDER }, + { 0x02, { 0x00000000, 0x00, 0x00 }, { 0x0003F828, 0x00, 0x00 }, 0x00, 0x01, 0x01 }, + { 9, 18, 10, { 0, 0, 0 } }, +}; + +static ColliderJntSphItemInit sJntSphItemsInit[1] = { + { + { 0x00, { 0x00000008, 0x00, 0x08 }, { 0x00000000, 0x00, 0x00 }, 0x19, 0x00, 0x00 }, + { 0, { { 0, 0, 0 }, 0 }, 100 }, + }, +}; + +static ColliderJntSphInit sJntSphInit = { + { COLTYPE_UNK10, 0x39, 0x00, 0x00, 0x00, COLSHAPE_JNTSPH }, + 1, + sJntSphItemsInit, +}; + +extern Gfx D_06000340[]; +extern Gfx D_06000408[]; +extern Gfx D_06000530[]; + +void EnBombf_SetupAction(EnBombf* this, EnBombfActionFunc actionFunc) { + this->actionFunc = actionFunc; +} + +void EnBombf_Init(Actor* thisx, GlobalContext* globalCtx) { + f32 shapeUnk10 = 0.0f; + s32 pad; + EnBombf* this = THIS; + + Actor_SetScale(&this->actor, 0.01f); + this->unk_200 = 1; + Collider_InitCylinder(globalCtx, &this->bombCollider); + Collider_InitJntSph(globalCtx, &this->explosionCollider); + Collider_SetCylinder(globalCtx, &this->bombCollider, &this->actor, &sCylinderInit); + Collider_SetJntSph(globalCtx, &this->explosionCollider, &this->actor, &sJntSphInit, + &this->explosionColliderItems[0]); + + if (this->actor.params == BOMBFLOWER_BODY) { + shapeUnk10 = 1000.0f; + } + + ActorShape_Init(&this->actor.shape, shapeUnk10, ActorShadow_DrawFunc_Circle, 12.0f); + this->actor.posRot2.pos = this->actor.posRot.pos; + + if (Actor_FindNearby(globalCtx, &this->actor, ACTOR_BG_DDAN_KD, ACTORTYPE_BG, 10000.0f) != NULL) { + this->actor.flags |= 0x20; + } + + this->actor.colChkInfo.unk_10 = 10.0f; + this->actor.colChkInfo.unk_12 = 10; + this->actor.unk_1F = 0; + + if (this->actor.params == BOMBFLOWER_BODY) { + this->timer = 140; + this->flashSpeedScale = 15; + this->actor.gravity = -1.5f; + Actor_ChangeType(globalCtx, &globalCtx->actorCtx, &this->actor, ACTORTYPE_EXPLOSIVES); + this->actor.colChkInfo.mass = 200; + this->actor.flags &= ~1; + EnBombf_SetupAction(this, EnBombf_Move); + } else { + this->actor.colChkInfo.mass = 0xFF; + this->bumpOn = true; + this->flowerBombScale = 1.0f; + EnBombf_SetupGrowBomb(this, thisx->params); + } + + this->actor.uncullZoneScale += 31000.0f; + this->actor.uncullZoneForward += 31000.0f; +} + +void EnBombf_Destroy(Actor* thisx, GlobalContext* globalCtx) { + EnBombf* this = THIS; + + Collider_DestroyCylinder(globalCtx, &this->bombCollider); + Collider_DestroyJntSph(globalCtx, &this->explosionCollider); +} + +void EnBombf_SetupGrowBomb(EnBombf* this, s16 params) { + EnBombf_SetupAction(this, EnBombf_GrowBomb); +} + +void EnBombf_GrowBomb(EnBombf* this, GlobalContext* globalCtx) { + EnBombf* bombFlower; + s32 pad; + s32 pad1; + Player* player = PLAYER; + s32 pad2; + + if (this->flowerBombScale >= 1.0f) { + if (func_8002F410(&this->actor, globalCtx)) { + bombFlower = + (EnBombf*)Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_EN_BOMBF, this->actor.posRot.pos.x, + this->actor.posRot.pos.y, this->actor.posRot.pos.z, 0, 0, 0, 0); + if (bombFlower != NULL) { + func_8002F5C4(&this->actor, bombFlower, globalCtx); + this->timer = 180; + this->flowerBombScale = 0.0f; + Audio_PlayActorSound2(&this->actor, NA_SE_PL_PULL_UP_ROCK); + this->actor.flags &= ~1; + } else { + player->actor.attachedB = NULL; + player->heldActor = NULL; + player->interactRangeActor = NULL; + this->actor.attachedA = NULL; + player->stateFlags1 &= ~0x800; + } + } else if (this->bombCollider.base.acFlags & 2) { + this->bombCollider.base.acFlags &= ~2; + + if (this->bombCollider.base.ac->type != ACTORTYPE_BOSS) { + bombFlower = + (EnBombf*)Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_EN_BOMBF, this->actor.posRot.pos.x, + this->actor.posRot.pos.y, this->actor.posRot.pos.z, 0, 0, 0, 0); + if (bombFlower != NULL) { + bombFlower->unk_200 = 1; + bombFlower->timer = 0; + this->timer = 180; + this->actor.flags &= ~1; + this->flowerBombScale = 0.0f; + } + } + } else { + if (func_8008EF5C(globalCtx, &this->actor.posRot.pos, 30.0f, 50.0f)) { + bombFlower = + (EnBombf*)Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_EN_BOMBF, this->actor.posRot.pos.x, + this->actor.posRot.pos.y, this->actor.posRot.pos.z, 0, 0, 0, 0); + if (bombFlower != NULL) { + bombFlower->timer = 100; + this->timer = 180; + this->actor.flags &= ~1; + this->flowerBombScale = 0.0f; + } + } else { + if (!func_8002F410(&this->actor, globalCtx)) { + func_8002F580(&this->actor, globalCtx); + } else { + player->actor.attachedB = NULL; + player->heldActor = NULL; + player->interactRangeActor = NULL; + this->actor.attachedA = NULL; + player->stateFlags1 &= ~0x800; + this->actor.posRot.pos = this->actor.initPosRot.pos; + } + } + } + } else { + if (this->timer == 0) { + this->flowerBombScale += 0.05f; + if (this->flowerBombScale >= 1.0f) { + this->actor.flags |= 1; + } + } + + if (func_8002F410(&this->actor, globalCtx)) { + player->actor.attachedB = NULL; + player->heldActor = NULL; + player->interactRangeActor = NULL; + this->actor.attachedA = NULL; + player->stateFlags1 &= ~0x800; + this->actor.posRot.pos = this->actor.initPosRot.pos; + } + } +} + +void EnBombf_Move(EnBombf* this, GlobalContext* globalCtx) { + if (func_8002F410(&this->actor, globalCtx)) { + // setting flowerBombScale does not do anything in the context of a bomb that link picks up + // this and the assignment below are probably left overs + this->flowerBombScale = 0.0f; + EnBombf_SetupAction(this, EnBombf_WaitForRelease); + this->actor.room = -1; + return; + } + + this->flowerBombScale = 1.0f; + + if (!(this->actor.bgCheckFlags & 1)) { + Math_SmoothScaleMaxMinF(&this->actor.speedXZ, 0.0f, 1.0f, 0.025f, 0.0f); + } else { + Math_SmoothScaleMaxMinF(&this->actor.speedXZ, 0.0f, 1.0f, 1.5f, 0.0f); + if ((this->actor.bgCheckFlags & 2) && (this->actor.velocity.y < -6.0f)) { + func_8002F850(globalCtx, &this->actor); + this->actor.velocity.y *= -0.5f; + } else if (this->timer >= 4) { + func_8002F580(&this->actor, globalCtx); + } + } +} + +void EnBombf_WaitForRelease(EnBombf* this, GlobalContext* globalCtx) { + // if attachedA is NULL bomb has been released + if (func_8002F5A0(&this->actor, globalCtx)) { + EnBombf_SetupAction(this, EnBombf_Move); + EnBombf_Move(this, globalCtx); + } else { + this->actor.velocity.y = 0.0f; + } +} + +void EnBombf_Explode(EnBombf* this, GlobalContext* globalCtx) { + Player* player; + + if (this->explosionCollider.list->dim.modelSphere.radius == 0) { + this->actor.flags |= 0x20; + func_800AA000(this->actor.xzDistFromLink, 0xFF, 0x14, 0x96); + } + + this->explosionCollider.list->dim.modelSphere.radius += 8; + this->explosionCollider.list->dim.worldSphere.radius = this->explosionCollider.list->dim.modelSphere.radius; + + if (this->actor.params == BOMBFLOWER_EXPLOSION) { + CollisionCheck_SetAT(globalCtx, &globalCtx->colChkCtx, &this->explosionCollider.base); + } + + if (globalCtx->envCtx.unk_8C[3] != 0) { + globalCtx->envCtx.unk_8C[3] -= 0x19; + } + + if (globalCtx->envCtx.unk_8C[4] != 0) { + globalCtx->envCtx.unk_8C[4] -= 0x19; + } -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Bombf/EnBombf_Destroy.s") + if (globalCtx->envCtx.unk_8C[5] != 0) { + globalCtx->envCtx.unk_8C[5] -= 0x19; + } -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Bombf/func_809C7180.s") + if (globalCtx->envCtx.unk_8C[0] != 0) { + globalCtx->envCtx.unk_8C[0] -= 0x19; + } -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Bombf/func_809C71A8.s") + if (globalCtx->envCtx.unk_8C[1] != 0) { + globalCtx->envCtx.unk_8C[1] -= 0x19; + } -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Bombf/func_809C74AC.s") + if (globalCtx->envCtx.unk_8C[2] != 0) { + globalCtx->envCtx.unk_8C[2] -= 0x19; + } -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Bombf/func_809C75C8.s") + if (this->timer == 0) { + player = PLAYER; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Bombf/func_809C7624.s") + if ((player->stateFlags1 & 0x800) && (player->heldActor == &this->actor)) { + player->actor.attachedB = NULL; + player->heldActor = NULL; + player->interactRangeActor = NULL; + player->stateFlags1 &= ~0x800; + } + Actor_Kill(&this->actor); + } +} + +#ifdef NON_MATCHING +// stack issues. exact problems are commented in the function +void EnBombf_Update(Actor* thisx, GlobalContext* globalCtx) { + Vec3f effVelocity = { 0.0f, 0.0f, 0.0f }; + Vec3f bomb2Accel = { 0.0f, 0.1f, 0.0f }; + Vec3f effAccel = { 0.0f, 0.0f, 0.0f }; + Vec3f effPos; + Vec3f dustAccel = { 0.0f, 0.6f, 0.0f }; + Color_RGBA8_n dustColor = { 255, 255, 255, 255 }; + EnBombf* this = THIS; + s32 pad1; + s32 pad2; + + if ((this->unk_200 != 0) && (this->timer != 0)) { + this->timer--; + } + + if ((!this->bumpOn) && (!func_8002F410(&this->actor, globalCtx)) && + ((this->actor.xzDistFromLink >= 20.0f) || (ABS(this->actor.yDistFromLink) >= 80.0f))) { + this->bumpOn = true; + } + + this->actionFunc(this, globalCtx); + + if (this->actor.params == BOMBFLOWER_BODY) { + Actor_MoveForward(&this->actor); + } + + if (this->actor.gravity != 0.0f) { + DREG(6) = 1; + func_8002E4B4(globalCtx, &this->actor, 5.0f, 10.0f, 0.0f, 0x1F); + DREG(6) = 0; + } + + if (this->actor.params == BOMBFLOWER_BODY) { + + if ((this->actor.velocity.y > 0.0f) && (this->actor.bgCheckFlags & 0x10)) { + this->actor.velocity.y = -this->actor.velocity.y; + } + + // rebound bomb off the wall it hits + if ((this->actor.speedXZ != 0.0f) && (this->actor.bgCheckFlags & 8)) { + + if (ABS((s16)(this->actor.wallPolyRot - this->actor.posRot.rot.y)) > 0x4000) { + this->actor.posRot.rot.y = + ((this->actor.wallPolyRot - this->actor.posRot.rot.y) + this->actor.wallPolyRot) - 0x8000; + } + Audio_PlayActorSound2(&this->actor, NA_SE_EV_BOMB_BOUND); + Actor_MoveForward(&this->actor); + DREG(6) = 1; + func_8002E4B4(globalCtx, &this->actor, 5.0f, 10.0f, 0.0f, 0x1F); + DREG(6) = 0; + this->actor.speedXZ *= 0.7f; + this->actor.bgCheckFlags &= ~8; + } + + if ((this->bombCollider.base.acFlags & 2) || + ((this->bombCollider.base.maskA & 2) && (this->bombCollider.base.oc->type == ACTORTYPE_ENEMY))) { + this->unk_200 = 1; + this->timer = 0; + } else { + // if a lit stick touches the bomb, set timer to 100 + if ((this->timer > 100) && func_8008EF5C(globalCtx, &this->actor.posRot.pos, 30.0f, 50.0f)) { + this->timer = 100; + } + } + + if (this->unk_200 != 0) { + dustAccel.y = 0.2f; + effPos = this->actor.posRot.pos; // pointer to position supposed to go to sp3C, goes to 38 + effPos.y += 25.0f; + if (this->timer < 127) { + // spawn spark effect on even frames + if ((globalCtx->gameplayFrames % 2) == 0) { + func_80029184(globalCtx, this, &effPos, &effVelocity, &effAccel); + } + Audio_PlayActorSound2(&this->actor, NA_SE_IT_BOMB_IGNIT - SFX_FLAG); + + effPos.y += 3.0f; + func_8002829C(globalCtx, &effPos, &effVelocity, &dustAccel, &dustColor, &dustColor, 50, 5); + if (1) {} + } + + // double bomb flash speed and adjust red color at certain times during the countdown + if ((this->timer == 3) || (this->timer == 30) || (this->timer == 50) || (this->timer == 70)) { + this->flashSpeedScale >>= 1; + } + + if ((this->timer < 100) && ((this->timer & (this->flashSpeedScale + 1)) != 0)) { + Math_SmoothScaleMaxMinF(&this->flashIntensity, 150.0f, 1.0f, 150.0f / this->flashSpeedScale, 0.0f); + } else { + Math_SmoothScaleMaxMinF(&this->flashIntensity, 0.0f, 1.0f, 150.0f / this->flashSpeedScale, 0.0f); + } + + if (this->timer < 3) { + Actor_SetScale(&this->actor, this->actor.scale.x + 0.002f); + } + + if (this->timer == 0) { + effPos = + this->actor.posRot.pos; // same position copy from earlier, gets loaded from sp38 instead of sp3C + + effPos.y += 10.0f; + + // globalCtx+0x10000 gets stored to sp3C here instead of sp38 + if (func_8002F410(&this->actor, globalCtx)) { + effPos.y += 30.0f; + } + + func_80028E84(globalCtx, &effPos, &effVelocity, &bomb2Accel, 0x64, 0x13); + + effPos.y = this->actor.groundY; + if (this->actor.groundY > -32000.0f) { + func_80029024(globalCtx, &effPos, &effVelocity, &effAccel); + } + + Audio_PlayActorSound2(&this->actor, NA_SE_IT_BOMB_EXPLOSION); + globalCtx->envCtx.unk_8C[3] = globalCtx->envCtx.unk_8C[4] = globalCtx->envCtx.unk_8C[5] = 0xFA; + globalCtx->envCtx.unk_8C[0] = globalCtx->envCtx.unk_8C[1] = globalCtx->envCtx.unk_8C[2] = 0xFA; + func_8005AA1C(&globalCtx->cameras[0], 2, 0xB, 8); + this->actor.params = BOMBFLOWER_EXPLOSION; + this->timer = 10; + this->actor.flags |= 0x20; + EnBombf_SetupAction(this, EnBombf_Explode); + } + } + } + + this->actor.posRot2.pos = this->actor.posRot.pos; + this->actor.posRot2.pos.y += 10.0f; + + if (this->actor.params <= BOMBFLOWER_BODY) { + + Collider_CylinderUpdate(&this->actor, &this->bombCollider); // bombCollider goes to sp38 instead of sp3C + + if ((this->flowerBombScale >= 1.0f) && (this->bumpOn)) { + CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, + &this->bombCollider.base); // bombCollider loads from sp38 instead of sp3C + } + + CollisionCheck_SetAC(globalCtx, &globalCtx->colChkCtx, + &this->bombCollider.base); // bombCollider loads from sp38 instead of sp3C + } + + if ((this->actor.scale.x >= 0.01f) && (this->actor.params != BOMBFLOWER_EXPLOSION)) { + if (this->actor.waterY >= 20.0f) { + func_8002A9F4(globalCtx, &this->actor.projectedPos, NA_SE_IT_BOMB_UNEXPLOSION, 1, 1, 0xA); + Actor_Kill(&this->actor); + return; + } + if (this->actor.bgCheckFlags & 0x40) { + this->actor.bgCheckFlags &= ~0x40; + Audio_PlayActorSound2(&this->actor, NA_SE_EV_BOMB_DROP_WATER); + } + } +} +#else +Vec3f D_809C82C0 = { 0.0f, 0.0f, 0.0f }; +Vec3f D_809C82CC = { 0.0f, 0.1f, 0.0f }; +Vec3f D_809C82D8 = { 0.0f, 0.0f, 0.0f }; +Vec3f D_809C82E4 = { 0.0f, 0.6f, 0.0f }; +Color_RGBA8_n D_809C82F0 = { 255, 255, 255, 255 }; #pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Bombf/EnBombf_Update.s") +#endif + +Gfx* EnBombf_NewMtxDList(GraphicsContext* gfxCtx, GlobalContext* globalCtx) { + Gfx* displayList; + Gfx* displayListHead; + + displayList = Graph_Alloc(gfxCtx, 5 * sizeof(Gfx)); + displayListHead = displayList; + func_800D1FD4(&globalCtx->mf_11DA0); + gSPMatrix(displayListHead++, Matrix_NewMtx(gfxCtx, "../z_en_bombf.c", 1021), + G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPEndDisplayList(displayListHead); + return displayList; +} + +void EnBombf_Draw(Actor* thisx, GlobalContext* globalCtx) { + s32 pad; + EnBombf* this = THIS; + GraphicsContext* gfxCtx; + Gfx* disRefs[4]; + + if (1) {} + gfxCtx = globalCtx->state.gfxCtx; + Graph_OpenDisps(&disRefs, globalCtx->state.gfxCtx, "../z_en_bombf.c", 1034); + + if (this->actor.params <= BOMBFLOWER_BODY) { + func_80093D18(globalCtx->state.gfxCtx); + + if (this->actor.params != BOMBFLOWER_BODY) { + gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_bombf.c", 1041), + G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList(gfxCtx->polyOpa.p++, D_06000340); + gSPDisplayList(gfxCtx->polyOpa.p++, D_06000530); + + Matrix_Translate(0.0f, 1000.0f, 0.0f, MTXMODE_APPLY); + Matrix_Scale(this->flowerBombScale, this->flowerBombScale, this->flowerBombScale, MTXMODE_APPLY); + } -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Bombf/func_809C7F24.s") + gDPSetPrimColor(gfxCtx->polyOpa.p++, 0, 0, 200, 255, 200, 255); + gDPPipeSync(gfxCtx->polyOpa.p++); + gDPSetEnvColor(gfxCtx->polyOpa.p++, (s16)this->flashIntensity, 20, 10, 0); + gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_bombf.c", 1054), + G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPSegment(gfxCtx->polyOpa.p++, 0x08, + SEGMENTED_TO_VIRTUAL(EnBombf_NewMtxDList(globalCtx->state.gfxCtx, globalCtx))); + gSPDisplayList(gfxCtx->polyOpa.p++, D_06000408); + } else { + func_800628A4(0, &this->explosionCollider); + } -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Bombf/EnBombf_Draw.s") + Graph_CloseDisps(&disRefs, globalCtx->state.gfxCtx, "../z_en_bombf.c", 1063); +} diff --git a/src/overlays/actors/ovl_En_Bombf/z_en_bombf.h b/src/overlays/actors/ovl_En_Bombf/z_en_bombf.h index d242773cf8..d2c28f8f1a 100644 --- a/src/overlays/actors/ovl_En_Bombf/z_en_bombf.h +++ b/src/overlays/actors/ovl_En_Bombf/z_en_bombf.h @@ -6,11 +6,28 @@ struct EnBombf; +typedef void (*EnBombfActionFunc)(struct EnBombf*, struct GlobalContext*); + typedef struct EnBombf { /* 0x0000 */ Actor actor; - /* 0x014C */ char unk_14C[0xC4]; + /* 0x014C */ ColliderCylinder bombCollider; + /* 0x0198 */ ColliderJntSph explosionCollider; + /* 0x01B8 */ ColliderJntSphItem explosionColliderItems[1]; + /* 0x01F8 */ s16 timer; + /* 0x01FC */ EnBombfActionFunc actionFunc; + /* 0x0200 */ s32 unk_200; + /* 0x0204 */ u8 bumpOn; + /* 0x0206 */ s16 flashSpeedScale; + /* 0x0208 */ f32 flashIntensity; + /* 0x020C */ f32 flowerBombScale; } EnBombf; // size = 0x0210 +typedef enum { + /* 0xFFFF */ BOMBFLOWER_FLOWER = -1, + /* 0x0000 */ BOMBFLOWER_BODY, + /* 0x0001 */ BOMBFLOWER_EXPLOSION, +} EnBombfType; + extern const ActorInit En_Bombf_InitVars; #endif diff --git a/undefined_syms.txt b/undefined_syms.txt index 8b82250dfb..bba26acde0 100644 --- a/undefined_syms.txt +++ b/undefined_syms.txt @@ -710,6 +710,15 @@ D_06005880 = 0x06005880; D_06005C30 = 0x06005C30; D_0600BAC8 = 0x0600BAC8; +// z_en_bom +D_04007A50 = 0x04007A50; +D_04007860 = 0x04007860; + +// z_en_bombf +D_06000340 = 0x06000340; +D_06000408 = 0x06000408; +D_06000530 = 0x06000530; + // z_eff_ss_dust D_04010050 = 0x04010050;