From 3ba022128c834b6c3cda8740738938367024853e Mon Sep 17 00:00:00 2001 From: petrie911 <69443847+petrie911@users.noreply.github.com> Date: Tue, 27 Oct 2020 00:29:01 -0500 Subject: [PATCH] Bg_Hidan_Fwbig (#450) * Darkmeiro decompilation Bg_Gnd_Darkmeiro decompiled, matched, and documented. * give this a shot * fix conflict * one more try * could be useful * whoops * long firewall is long * Fwbig documented, some cleanup on Zl1 * format * merge and cleanup * last things --- .../ovl_Bg_Hidan_Fwbig/BgHidanFwbig_Destroy.s | 12 - .../ovl_Bg_Hidan_Fwbig/BgHidanFwbig_Draw.s | 202 --------------- .../ovl_Bg_Hidan_Fwbig/BgHidanFwbig_Init.s | 115 --------- .../ovl_Bg_Hidan_Fwbig/BgHidanFwbig_Update.s | 104 -------- .../actors/ovl_Bg_Hidan_Fwbig/func_808874B0.s | 43 ---- .../actors/ovl_Bg_Hidan_Fwbig/func_80887534.s | 28 -- .../actors/ovl_Bg_Hidan_Fwbig/func_80887598.s | 13 - .../actors/ovl_Bg_Hidan_Fwbig/func_808875C4.s | 34 --- .../actors/ovl_Bg_Hidan_Fwbig/func_80887638.s | 65 ----- .../actors/ovl_Bg_Hidan_Fwbig/func_80887718.s | 23 -- .../actors/ovl_Bg_Hidan_Fwbig/func_80887768.s | 30 --- .../actors/ovl_Bg_Hidan_Fwbig/func_808877C4.s | 44 ---- .../actors/ovl_Bg_Hidan_Fwbig/func_80887864.s | 138 ---------- data/overlays/actors/z_bg_hidan_fwbig.data.s | 22 -- data/overlays/actors/z_bg_hidan_fwbig.reloc.s | 13 - spec | 3 +- .../ovl_Bg_Hidan_Fwbig/z_bg_hidan_fwbig.c | 242 ++++++++++++++++-- .../ovl_Bg_Hidan_Fwbig/z_bg_hidan_fwbig.h | 8 +- src/overlays/actors/ovl_En_Zl1/z_en_zl1.c | 82 +++--- undefined_syms.txt | 5 + 20 files changed, 273 insertions(+), 953 deletions(-) delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Fwbig/BgHidanFwbig_Destroy.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Fwbig/BgHidanFwbig_Draw.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Fwbig/BgHidanFwbig_Init.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Fwbig/BgHidanFwbig_Update.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Fwbig/func_808874B0.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Fwbig/func_80887534.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Fwbig/func_80887598.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Fwbig/func_808875C4.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Fwbig/func_80887638.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Fwbig/func_80887718.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Fwbig/func_80887768.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Fwbig/func_808877C4.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Fwbig/func_80887864.s delete mode 100644 data/overlays/actors/z_bg_hidan_fwbig.data.s delete mode 100644 data/overlays/actors/z_bg_hidan_fwbig.reloc.s diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Fwbig/BgHidanFwbig_Destroy.s b/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Fwbig/BgHidanFwbig_Destroy.s deleted file mode 100644 index 9d0b0ba26d..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Fwbig/BgHidanFwbig_Destroy.s +++ /dev/null @@ -1,12 +0,0 @@ -glabel BgHidanFwbig_Destroy -/* 00198 80887488 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 0019C 8088748C 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000 -/* 001A0 80887490 AFBF0014 */ sw $ra, 0x0014($sp) -/* 001A4 80887494 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000 -/* 001A8 80887498 0C0170EB */ jal Collider_DestroyCylinder - -/* 001AC 8088749C 24C50154 */ addiu $a1, $a2, 0x0154 ## $a1 = 00000154 -/* 001B0 808874A0 8FBF0014 */ lw $ra, 0x0014($sp) -/* 001B4 808874A4 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 001B8 808874A8 03E00008 */ jr $ra -/* 001BC 808874AC 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Fwbig/BgHidanFwbig_Draw.s b/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Fwbig/BgHidanFwbig_Draw.s deleted file mode 100644 index c82887d2ae..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Fwbig/BgHidanFwbig_Draw.s +++ /dev/null @@ -1,202 +0,0 @@ -.rdata -glabel D_80887F00 - .asciz "../z_bg_hidan_fwbig.c" - .balign 4 - -glabel D_80887F18 - .asciz "../z_bg_hidan_fwbig.c" - .balign 4 - -glabel D_80887F30 - .asciz "../z_bg_hidan_fwbig.c" - .balign 4 - -.text -glabel BgHidanFwbig_Draw -/* 008E0 80887BD0 27BDFF80 */ addiu $sp, $sp, 0xFF80 ## $sp = FFFFFF80 -/* 008E4 80887BD4 AFB10038 */ sw $s1, 0x0038($sp) -/* 008E8 80887BD8 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000 -/* 008EC 80887BDC AFBF003C */ sw $ra, 0x003C($sp) -/* 008F0 80887BE0 AFB00034 */ sw $s0, 0x0034($sp) -/* 008F4 80887BE4 AFA40080 */ sw $a0, 0x0080($sp) -/* 008F8 80887BE8 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000 -/* 008FC 80887BEC 3C068088 */ lui $a2, %hi(D_80887F00) ## $a2 = 80880000 -/* 00900 80887BF0 24C67F00 */ addiu $a2, $a2, %lo(D_80887F00) ## $a2 = 80887F00 -/* 00904 80887BF4 27A40064 */ addiu $a0, $sp, 0x0064 ## $a0 = FFFFFFE4 -/* 00908 80887BF8 24070276 */ addiu $a3, $zero, 0x0276 ## $a3 = 00000276 -/* 0090C 80887BFC 0C031AB1 */ jal Graph_OpenDisps -/* 00910 80887C00 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000 -/* 00914 80887C04 0C024F61 */ jal func_80093D84 -/* 00918 80887C08 8E240000 */ lw $a0, 0x0000($s1) ## 00000000 -/* 0091C 80887C0C 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 00920 80887C10 3C040401 */ lui $a0, 0x0401 ## $a0 = 04010000 -/* 00924 80887C14 248473D0 */ addiu $a0, $a0, 0x73D0 ## $a0 = 040173D0 -/* 00928 80887C18 0004C100 */ sll $t8, $a0, 4 -/* 0092C 80887C1C 0018CF02 */ srl $t9, $t8, 28 -/* 00930 80887C20 3C058016 */ lui $a1, %hi(gSegments) -/* 00934 80887C24 3C0FDB06 */ lui $t7, 0xDB06 ## $t7 = DB060000 -/* 00938 80887C28 244E0008 */ addiu $t6, $v0, 0x0008 ## $t6 = 00000008 -/* 0093C 80887C2C AE0E02D0 */ sw $t6, 0x02D0($s0) ## 000002D0 -/* 00940 80887C30 35EF0024 */ ori $t7, $t7, 0x0024 ## $t7 = DB060024 -/* 00944 80887C34 24A56FA8 */ addiu $a1, %lo(gSegments) -/* 00948 80887C38 00194880 */ sll $t1, $t9, 2 -/* 0094C 80887C3C 00A95021 */ addu $t2, $a1, $t1 -/* 00950 80887C40 AC4F0000 */ sw $t7, 0x0000($v0) ## 00000000 -/* 00954 80887C44 8D4B0000 */ lw $t3, 0x0000($t2) ## 00000000 -/* 00958 80887C48 3C0600FF */ lui $a2, 0x00FF ## $a2 = 00FF0000 -/* 0095C 80887C4C 34C6FFFF */ ori $a2, $a2, 0xFFFF ## $a2 = 00FFFFFF -/* 00960 80887C50 00866024 */ and $t4, $a0, $a2 -/* 00964 80887C54 3C078000 */ lui $a3, 0x8000 ## $a3 = 80000000 -/* 00968 80887C58 016C6821 */ addu $t5, $t3, $t4 -/* 0096C 80887C5C 01A77021 */ addu $t6, $t5, $a3 -/* 00970 80887C60 AC4E0004 */ sw $t6, 0x0004($v0) ## 00000004 -/* 00974 80887C64 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 00978 80887C68 3C040401 */ lui $a0, 0x0401 ## $a0 = 04010000 -/* 0097C 80887C6C 24847BD0 */ addiu $a0, $a0, 0x7BD0 ## $a0 = 04017BD0 -/* 00980 80887C70 0004C900 */ sll $t9, $a0, 4 -/* 00984 80887C74 00194F02 */ srl $t1, $t9, 28 -/* 00988 80887C78 3C18DB06 */ lui $t8, 0xDB06 ## $t8 = DB060000 -/* 0098C 80887C7C 244F0008 */ addiu $t7, $v0, 0x0008 ## $t7 = 00000008 -/* 00990 80887C80 AE0F02D0 */ sw $t7, 0x02D0($s0) ## 000002D0 -/* 00994 80887C84 37180028 */ ori $t8, $t8, 0x0028 ## $t8 = DB060028 -/* 00998 80887C88 00095080 */ sll $t2, $t1, 2 -/* 0099C 80887C8C 00AA5821 */ addu $t3, $a1, $t2 -/* 009A0 80887C90 AC580000 */ sw $t8, 0x0000($v0) ## 00000000 -/* 009A4 80887C94 8D6C0000 */ lw $t4, 0x0000($t3) ## 00000000 -/* 009A8 80887C98 00866824 */ and $t5, $a0, $a2 -/* 009AC 80887C9C 3C014516 */ lui $at, 0x4516 ## $at = 45160000 -/* 009B0 80887CA0 018D7021 */ addu $t6, $t4, $t5 -/* 009B4 80887CA4 01C77821 */ addu $t7, $t6, $a3 -/* 009B8 80887CA8 AC4F0004 */ sw $t7, 0x0004($v0) ## 00000004 -/* 009BC 80887CAC 8FA40080 */ lw $a0, 0x0080($sp) -/* 009C0 80887CB0 8E0302D0 */ lw $v1, 0x02D0($s0) ## 000002D0 -/* 009C4 80887CB4 3C19FA00 */ lui $t9, 0xFA00 ## $t9 = FA000000 -/* 009C8 80887CB8 C4840054 */ lwc1 $f4, 0x0054($a0) ## 04017C24 -/* 009CC 80887CBC 24780008 */ addiu $t8, $v1, 0x0008 ## $t8 = 00000008 -/* 009D0 80887CC0 44813000 */ mtc1 $at, $f6 ## $f6 = 2400.00 -/* 009D4 80887CC4 AE1802D0 */ sw $t8, 0x02D0($s0) ## 000002D0 -/* 009D8 80887CC8 37398080 */ ori $t9, $t9, 0x8080 ## $t9 = FA008080 -/* 009DC 80887CCC AC790000 */ sw $t9, 0x0000($v1) ## 00000000 -/* 009E0 80887CD0 46062002 */ mul.s $f0, $f4, $f6 -/* 009E4 80887CD4 C48A0028 */ lwc1 $f10, 0x0028($a0) ## 04017BF8 -/* 009E8 80887CD8 C488000C */ lwc1 $f8, 0x000C($a0) ## 04017BDC -/* 009EC 80887CDC 3C01437F */ lui $at, 0x437F ## $at = 437F0000 -/* 009F0 80887CE0 44812000 */ mtc1 $at, $f4 ## $f4 = 255.00 -/* 009F4 80887CE4 460A4401 */ sub.s $f16, $f8, $f10 -/* 009F8 80887CE8 240A0001 */ addiu $t2, $zero, 0x0001 ## $t2 = 00000001 -/* 009FC 80887CEC 3C19DB06 */ lui $t9, 0xDB06 ## $t9 = DB060000 -/* 00A00 80887CF0 3C014F00 */ lui $at, 0x4F00 ## $at = 4F000000 -/* 00A04 80887CF4 46100481 */ sub.s $f18, $f0, $f16 -/* 00A08 80887CF8 3C0FFF00 */ lui $t7, 0xFF00 ## $t7 = FF000000 -/* 00A0C 80887CFC 3C0EFB00 */ lui $t6, 0xFB00 ## $t6 = FB000000 -/* 00A10 80887D00 37390020 */ ori $t9, $t9, 0x0020 ## $t9 = DB060020 -/* 00A14 80887D04 46049182 */ mul.s $f6, $f18, $f4 -/* 00A18 80887D08 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 -/* 00A1C 80887D0C 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000 -/* 00A20 80887D10 46003203 */ div.s $f8, $f6, $f0 -/* 00A24 80887D14 4449F800 */ cfc1 $t1, $31 -/* 00A28 80887D18 44CAF800 */ ctc1 $t2, $31 -/* 00A2C 80887D1C 00000000 */ nop -/* 00A30 80887D20 460042A4 */ cvt.w.s $f10, $f8 -/* 00A34 80887D24 444AF800 */ cfc1 $t2, $31 -/* 00A38 80887D28 00000000 */ nop -/* 00A3C 80887D2C 314A0078 */ andi $t2, $t2, 0x0078 ## $t2 = 00000000 -/* 00A40 80887D30 51400013 */ beql $t2, $zero, .L80887D80 -/* 00A44 80887D34 440A5000 */ mfc1 $t2, $f10 -/* 00A48 80887D38 44815000 */ mtc1 $at, $f10 ## $f10 = 2147483648.00 -/* 00A4C 80887D3C 240A0001 */ addiu $t2, $zero, 0x0001 ## $t2 = 00000001 -/* 00A50 80887D40 460A4281 */ sub.s $f10, $f8, $f10 -/* 00A54 80887D44 44CAF800 */ ctc1 $t2, $31 -/* 00A58 80887D48 00000000 */ nop -/* 00A5C 80887D4C 460052A4 */ cvt.w.s $f10, $f10 -/* 00A60 80887D50 444AF800 */ cfc1 $t2, $31 -/* 00A64 80887D54 00000000 */ nop -/* 00A68 80887D58 314A0078 */ andi $t2, $t2, 0x0078 ## $t2 = 00000000 -/* 00A6C 80887D5C 15400005 */ bne $t2, $zero, .L80887D74 -/* 00A70 80887D60 00000000 */ nop -/* 00A74 80887D64 440A5000 */ mfc1 $t2, $f10 -/* 00A78 80887D68 3C018000 */ lui $at, 0x8000 ## $at = 80000000 -/* 00A7C 80887D6C 10000007 */ beq $zero, $zero, .L80887D8C -/* 00A80 80887D70 01415025 */ or $t2, $t2, $at ## $t2 = 80000000 -.L80887D74: -/* 00A84 80887D74 10000005 */ beq $zero, $zero, .L80887D8C -/* 00A88 80887D78 240AFFFF */ addiu $t2, $zero, 0xFFFF ## $t2 = FFFFFFFF -/* 00A8C 80887D7C 440A5000 */ mfc1 $t2, $f10 -.L80887D80: -/* 00A90 80887D80 00000000 */ nop -/* 00A94 80887D84 0540FFFB */ bltz $t2, .L80887D74 -/* 00A98 80887D88 00000000 */ nop -.L80887D8C: -/* 00A9C 80887D8C 314B00FF */ andi $t3, $t2, 0x00FF ## $t3 = 000000FF -/* 00AA0 80887D90 3C01FFDC */ lui $at, 0xFFDC ## $at = FFDC0000 -/* 00AA4 80887D94 01616025 */ or $t4, $t3, $at ## $t4 = FFDC00FF -/* 00AA8 80887D98 AC6C0004 */ sw $t4, 0x0004($v1) ## 00000004 -/* 00AAC 80887D9C 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 00AB0 80887DA0 3C030001 */ lui $v1, 0x0001 ## $v1 = 00010000 -/* 00AB4 80887DA4 00711821 */ addu $v1, $v1, $s1 -/* 00AB8 80887DA8 244D0008 */ addiu $t5, $v0, 0x0008 ## $t5 = 00000008 -/* 00ABC 80887DAC AE0D02D0 */ sw $t5, 0x02D0($s0) ## 000002D0 -/* 00AC0 80887DB0 AC4E0000 */ sw $t6, 0x0000($v0) ## 00000000 -/* 00AC4 80887DB4 AC4F0004 */ sw $t7, 0x0004($v0) ## 00000004 -/* 00AC8 80887DB8 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 00ACC 80887DBC 44C9F800 */ ctc1 $t1, $31 -/* 00AD0 80887DC0 24090020 */ addiu $t1, $zero, 0x0020 ## $t1 = 00000020 -/* 00AD4 80887DC4 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008 -/* 00AD8 80887DC8 AE1802D0 */ sw $t8, 0x02D0($s0) ## 000002D0 -/* 00ADC 80887DCC AC590000 */ sw $t9, 0x0000($v0) ## 00000000 -/* 00AE0 80887DD0 8C631DE4 */ lw $v1, 0x1DE4($v1) ## 00011DE4 -/* 00AE4 80887DD4 8E240000 */ lw $a0, 0x0000($s1) ## 00000000 -/* 00AE8 80887DD8 240F0040 */ addiu $t7, $zero, 0x0040 ## $t7 = 00000040 -/* 00AEC 80887DDC 00030823 */ subu $at, $zero, $v1 -/* 00AF0 80887DE0 00016100 */ sll $t4, $at, 4 -/* 00AF4 80887DE4 01816023 */ subu $t4, $t4, $at -/* 00AF8 80887DE8 318D00FF */ andi $t5, $t4, 0x00FF ## $t5 = 000000FF -/* 00AFC 80887DEC 240E0020 */ addiu $t6, $zero, 0x0020 ## $t6 = 00000020 -/* 00B00 80887DF0 240B0001 */ addiu $t3, $zero, 0x0001 ## $t3 = 00000001 -/* 00B04 80887DF4 240A0040 */ addiu $t2, $zero, 0x0040 ## $t2 = 00000040 -/* 00B08 80887DF8 AFAA0014 */ sw $t2, 0x0014($sp) -/* 00B0C 80887DFC AFAB0018 */ sw $t3, 0x0018($sp) -/* 00B10 80887E00 AFAE0024 */ sw $t6, 0x0024($sp) -/* 00B14 80887E04 AFAD0020 */ sw $t5, 0x0020($sp) -/* 00B18 80887E08 AFAF0028 */ sw $t7, 0x0028($sp) -/* 00B1C 80887E0C AFA0001C */ sw $zero, 0x001C($sp) -/* 00B20 80887E10 AFA90010 */ sw $t1, 0x0010($sp) -/* 00B24 80887E14 AFA20050 */ sw $v0, 0x0050($sp) -/* 00B28 80887E18 0C0253D0 */ jal Gfx_TwoTexScroll -/* 00B2C 80887E1C 3066007F */ andi $a2, $v1, 0x007F ## $a2 = 00000000 -/* 00B30 80887E20 8FA80050 */ lw $t0, 0x0050($sp) -/* 00B34 80887E24 3C19DA38 */ lui $t9, 0xDA38 ## $t9 = DA380000 -/* 00B38 80887E28 37390003 */ ori $t9, $t9, 0x0003 ## $t9 = DA380003 -/* 00B3C 80887E2C AD020004 */ sw $v0, 0x0004($t0) ## 00000004 -/* 00B40 80887E30 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 00B44 80887E34 3C058088 */ lui $a1, %hi(D_80887F18) ## $a1 = 80880000 -/* 00B48 80887E38 24A57F18 */ addiu $a1, $a1, %lo(D_80887F18) ## $a1 = 80887F18 -/* 00B4C 80887E3C 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008 -/* 00B50 80887E40 AE1802D0 */ sw $t8, 0x02D0($s0) ## 000002D0 -/* 00B54 80887E44 AC590000 */ sw $t9, 0x0000($v0) ## 00000000 -/* 00B58 80887E48 8E240000 */ lw $a0, 0x0000($s1) ## 00000000 -/* 00B5C 80887E4C 24060294 */ addiu $a2, $zero, 0x0294 ## $a2 = 00000294 -/* 00B60 80887E50 0C0346A2 */ jal Matrix_NewMtx -/* 00B64 80887E54 AFA2004C */ sw $v0, 0x004C($sp) -/* 00B68 80887E58 8FA3004C */ lw $v1, 0x004C($sp) -/* 00B6C 80887E5C 3C0B0601 */ lui $t3, 0x0601 ## $t3 = 06010000 -/* 00B70 80887E60 256BDB20 */ addiu $t3, $t3, 0xDB20 ## $t3 = 0600DB20 -/* 00B74 80887E64 AC620004 */ sw $v0, 0x0004($v1) ## 00000004 -/* 00B78 80887E68 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 00B7C 80887E6C 3C0ADE00 */ lui $t2, 0xDE00 ## $t2 = DE000000 -/* 00B80 80887E70 3C068088 */ lui $a2, %hi(D_80887F30) ## $a2 = 80880000 -/* 00B84 80887E74 24490008 */ addiu $t1, $v0, 0x0008 ## $t1 = 00000008 -/* 00B88 80887E78 AE0902D0 */ sw $t1, 0x02D0($s0) ## 000002D0 -/* 00B8C 80887E7C AC4B0004 */ sw $t3, 0x0004($v0) ## 00000004 -/* 00B90 80887E80 AC4A0000 */ sw $t2, 0x0000($v0) ## 00000000 -/* 00B94 80887E84 8E250000 */ lw $a1, 0x0000($s1) ## 00000000 -/* 00B98 80887E88 24C67F30 */ addiu $a2, $a2, %lo(D_80887F30) ## $a2 = 80887F30 -/* 00B9C 80887E8C 27A40064 */ addiu $a0, $sp, 0x0064 ## $a0 = FFFFFFE4 -/* 00BA0 80887E90 0C031AD5 */ jal Graph_CloseDisps -/* 00BA4 80887E94 24070298 */ addiu $a3, $zero, 0x0298 ## $a3 = 00000298 -/* 00BA8 80887E98 8FBF003C */ lw $ra, 0x003C($sp) -/* 00BAC 80887E9C 8FB00034 */ lw $s0, 0x0034($sp) -/* 00BB0 80887EA0 8FB10038 */ lw $s1, 0x0038($sp) -/* 00BB4 80887EA4 03E00008 */ jr $ra -/* 00BB8 80887EA8 27BD0080 */ addiu $sp, $sp, 0x0080 ## $sp = 00000000 -/* 00BBC 80887EAC 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Fwbig/BgHidanFwbig_Init.s b/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Fwbig/BgHidanFwbig_Init.s deleted file mode 100644 index 413f24e89e..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Fwbig/BgHidanFwbig_Init.s +++ /dev/null @@ -1,115 +0,0 @@ -glabel BgHidanFwbig_Init -/* 00000 808872F0 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0 -/* 00004 808872F4 AFBF001C */ sw $ra, 0x001C($sp) -/* 00008 808872F8 AFB00018 */ sw $s0, 0x0018($sp) -/* 0000C 808872FC AFA50034 */ sw $a1, 0x0034($sp) -/* 00010 80887300 8CAF1C44 */ lw $t7, 0x1C44($a1) ## 00001C44 -/* 00014 80887304 3C058088 */ lui $a1, %hi(D_80887EFC) ## $a1 = 80880000 -/* 00018 80887308 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 0001C 8088730C 24A57EFC */ addiu $a1, $a1, %lo(D_80887EFC) ## $a1 = 80887EFC -/* 00020 80887310 0C01E037 */ jal Actor_ProcessInitChain - -/* 00024 80887314 AFAF0024 */ sw $t7, 0x0024($sp) -/* 00028 80887318 26050154 */ addiu $a1, $s0, 0x0154 ## $a1 = 00000154 -/* 0002C 8088731C AFA50020 */ sw $a1, 0x0020($sp) -/* 00030 80887320 0C0170D9 */ jal Collider_InitCylinder - -/* 00034 80887324 8FA40034 */ lw $a0, 0x0034($sp) -/* 00038 80887328 3C078088 */ lui $a3, %hi(D_80887ED0) ## $a3 = 80880000 -/* 0003C 8088732C 8FA50020 */ lw $a1, 0x0020($sp) -/* 00040 80887330 24E77ED0 */ addiu $a3, $a3, %lo(D_80887ED0) ## $a3 = 80887ED0 -/* 00044 80887334 8FA40034 */ lw $a0, 0x0034($sp) -/* 00048 80887338 0C01712B */ jal Collider_SetCylinder - -/* 0004C 8088733C 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000 -/* 00050 80887340 8619001C */ lh $t9, 0x001C($s0) ## 0000001C -/* 00054 80887344 860A001C */ lh $t2, 0x001C($s0) ## 0000001C -/* 00058 80887348 241800FF */ addiu $t8, $zero, 0x00FF ## $t8 = 000000FF -/* 0005C 8088734C 00194A03 */ sra $t1, $t9, 8 -/* 00060 80887350 A2090150 */ sb $t1, 0x0150($s0) ## 00000150 -/* 00064 80887354 820C0150 */ lb $t4, 0x0150($s0) ## 00000150 -/* 00068 80887358 314B00FF */ andi $t3, $t2, 0x00FF ## $t3 = 00000000 -/* 0006C 8088735C A21800AE */ sb $t8, 0x00AE($s0) ## 000000AE -/* 00070 80887360 1180003D */ beq $t4, $zero, .L80887458 -/* 00074 80887364 A60B001C */ sh $t3, 0x001C($s0) ## 0000001C -/* 00078 80887368 3C0144C3 */ lui $at, 0x44C3 ## $at = 44C30000 -/* 0007C 8088736C 44812000 */ mtc1 $at, $f4 ## $f4 = 1560.00 -/* 00080 80887370 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00 -/* 00084 80887374 3C014396 */ lui $at, 0x4396 ## $at = 43960000 -/* 00088 80887378 E6040008 */ swc1 $f4, 0x0008($s0) ## 00000008 -/* 0008C 8088737C E6060010 */ swc1 $f6, 0x0010($s0) ## 00000010 -/* 00090 80887380 8FAD0024 */ lw $t5, 0x0024($sp) -/* 00094 80887384 44814000 */ mtc1 $at, $f8 ## $f8 = 300.00 -/* 00098 80887388 240EFFFF */ addiu $t6, $zero, 0xFFFF ## $t6 = FFFFFFFF -/* 0009C 8088738C C5A0002C */ lwc1 $f0, 0x002C($t5) ## 0000002C -/* 000A0 80887390 240FB1C8 */ addiu $t7, $zero, 0xB1C8 ## $t7 = FFFFB1C8 -/* 000A4 80887394 3C01C396 */ lui $at, 0xC396 ## $at = C3960000 -/* 000A8 80887398 4600403C */ c.lt.s $f8, $f0 -/* 000AC 8088739C 00000000 */ nop -/* 000B0 808873A0 45020007 */ bc1fl .L808873C0 -/* 000B4 808873A4 44815000 */ mtc1 $at, $f10 ## $f10 = -300.00 -/* 000B8 808873A8 A60F00B6 */ sh $t7, 0x00B6($s0) ## 000000B6 -/* 000BC 808873AC 861800B6 */ lh $t8, 0x00B6($s0) ## 000000B6 -/* 000C0 808873B0 A20E0150 */ sb $t6, 0x0150($s0) ## 00000150 -/* 000C4 808873B4 10000011 */ beq $zero, $zero, .L808873FC -/* 000C8 808873B8 A6180016 */ sh $t8, 0x0016($s0) ## 00000016 -/* 000CC 808873BC 44815000 */ mtc1 $at, $f10 ## $f10 = -300.00 -.L808873C0: -/* 000D0 808873C0 24190001 */ addiu $t9, $zero, 0x0001 ## $t9 = 00000001 -/* 000D4 808873C4 2408CE38 */ addiu $t0, $zero, 0xCE38 ## $t0 = FFFFCE38 -/* 000D8 808873C8 460A003C */ c.lt.s $f0, $f10 -/* 000DC 808873CC 00000000 */ nop -/* 000E0 808873D0 45000006 */ bc1f .L808873EC -/* 000E4 808873D4 00000000 */ nop -/* 000E8 808873D8 A60800B6 */ sh $t0, 0x00B6($s0) ## 000000B6 -/* 000EC 808873DC 860900B6 */ lh $t1, 0x00B6($s0) ## 000000B6 -/* 000F0 808873E0 A2190150 */ sb $t9, 0x0150($s0) ## 00000150 -/* 000F4 808873E4 10000005 */ beq $zero, $zero, .L808873FC -/* 000F8 808873E8 A6090016 */ sh $t1, 0x0016($s0) ## 00000016 -.L808873EC: -/* 000FC 808873EC 0C00B55C */ jal Actor_Kill - -/* 00100 808873F0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00104 808873F4 10000020 */ beq $zero, $zero, .L80887478 -/* 00108 808873F8 8FBF001C */ lw $ra, 0x001C($sp) -.L808873FC: -/* 0010C 808873FC 0C221D2C */ jal func_808874B0 -/* 00110 80887400 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00114 80887404 3C053E19 */ lui $a1, 0x3E19 ## $a1 = 3E190000 -/* 00118 80887408 34A5999A */ ori $a1, $a1, 0x999A ## $a1 = 3E19999A -/* 0011C 8088740C 0C00B58B */ jal Actor_SetScale - -/* 00120 80887410 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00124 80887414 3C014516 */ lui $at, 0x4516 ## $at = 45160000 -/* 00128 80887418 44818000 */ mtc1 $at, $f16 ## $f16 = 2400.00 -/* 0012C 8088741C C6120054 */ lwc1 $f18, 0x0054($s0) ## 00000054 -/* 00130 80887420 C606000C */ lwc1 $f6, 0x000C($s0) ## 0000000C -/* 00134 80887424 8E0B0004 */ lw $t3, 0x0004($s0) ## 00000004 -/* 00138 80887428 46128102 */ mul.s $f4, $f16, $f18 -/* 0013C 8088742C 3C0D8088 */ lui $t5, %hi(func_80887768) ## $t5 = 80880000 -/* 00140 80887430 240A00E6 */ addiu $t2, $zero, 0x00E6 ## $t2 = 000000E6 -/* 00144 80887434 25AD7768 */ addiu $t5, $t5, %lo(func_80887768) ## $t5 = 80887768 -/* 00148 80887438 356C0010 */ ori $t4, $t3, 0x0010 ## $t4 = 00000010 -/* 0014C 8088743C A60A0196 */ sh $t2, 0x0196($s0) ## 00000196 -/* 00150 80887440 AE0C0004 */ sw $t4, 0x0004($s0) ## 00000004 -/* 00154 80887444 46043201 */ sub.s $f8, $f6, $f4 -/* 00158 80887448 A2000151 */ sb $zero, 0x0151($s0) ## 00000151 -/* 0015C 8088744C AE0D014C */ sw $t5, 0x014C($s0) ## 0000014C -/* 00160 80887450 10000008 */ beq $zero, $zero, .L80887474 -/* 00164 80887454 E6080028 */ swc1 $f8, 0x0028($s0) ## 00000028 -.L80887458: -/* 00168 80887458 3C053DCC */ lui $a1, 0x3DCC ## $a1 = 3DCC0000 -/* 0016C 8088745C 34A5CCCD */ ori $a1, $a1, 0xCCCD ## $a1 = 3DCCCCCD -/* 00170 80887460 0C00B58B */ jal Actor_SetScale - -/* 00174 80887464 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00178 80887468 3C0E8088 */ lui $t6, %hi(func_80887534) ## $t6 = 80880000 -/* 0017C 8088746C 25CE7534 */ addiu $t6, $t6, %lo(func_80887534) ## $t6 = 80887534 -/* 00180 80887470 AE0E014C */ sw $t6, 0x014C($s0) ## 0000014C -.L80887474: -/* 00184 80887474 8FBF001C */ lw $ra, 0x001C($sp) -.L80887478: -/* 00188 80887478 8FB00018 */ lw $s0, 0x0018($sp) -/* 0018C 8088747C 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000 -/* 00190 80887480 03E00008 */ jr $ra -/* 00194 80887484 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Fwbig/BgHidanFwbig_Update.s b/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Fwbig/BgHidanFwbig_Update.s deleted file mode 100644 index 6ff8bed745..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Fwbig/BgHidanFwbig_Update.s +++ /dev/null @@ -1,104 +0,0 @@ -glabel BgHidanFwbig_Update -/* 00768 80887A58 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8 -/* 0076C 80887A5C AFBF0024 */ sw $ra, 0x0024($sp) -/* 00770 80887A60 AFB10020 */ sw $s1, 0x0020($sp) -/* 00774 80887A64 AFB0001C */ sw $s0, 0x001C($sp) -/* 00778 80887A68 90820164 */ lbu $v0, 0x0164($a0) ## 00000164 -/* 0077C 80887A6C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00780 80887A70 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000 -/* 00784 80887A74 304E0002 */ andi $t6, $v0, 0x0002 ## $t6 = 00000000 -/* 00788 80887A78 11C00010 */ beq $t6, $zero, .L80887ABC -/* 0078C 80887A7C 304FFFFD */ andi $t7, $v0, 0xFFFD ## $t7 = 00000000 -/* 00790 80887A80 A08F0164 */ sb $t7, 0x0164($a0) ## 00000164 -/* 00794 80887A84 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 00798 80887A88 44812000 */ mtc1 $at, $f4 ## $f4 = 1.00 -/* 0079C 80887A8C 86070032 */ lh $a3, 0x0032($s0) ## 00000032 -/* 007A0 80887A90 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000 -/* 007A4 80887A94 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000 -/* 007A8 80887A98 3C0640A0 */ lui $a2, 0x40A0 ## $a2 = 40A00000 -/* 007AC 80887A9C 0C00BDC7 */ jal func_8002F71C -/* 007B0 80887AA0 E7A40010 */ swc1 $f4, 0x0010($sp) -/* 007B4 80887AA4 82180150 */ lb $t8, 0x0150($s0) ## 00000150 -/* 007B8 80887AA8 3C198088 */ lui $t9, %hi(func_80887638) ## $t9 = 80880000 -/* 007BC 80887AAC 27397638 */ addiu $t9, $t9, %lo(func_80887638) ## $t9 = 80887638 -/* 007C0 80887AB0 53000003 */ beql $t8, $zero, .L80887AC0 -/* 007C4 80887AB4 82080150 */ lb $t0, 0x0150($s0) ## 00000150 -/* 007C8 80887AB8 AE19014C */ sw $t9, 0x014C($s0) ## 0000014C -.L80887ABC: -/* 007CC 80887ABC 82080150 */ lb $t0, 0x0150($s0) ## 00000150 -.L80887AC0: -/* 007D0 80887AC0 3C0A0001 */ lui $t2, 0x0001 ## $t2 = 00010000 -/* 007D4 80887AC4 01515021 */ addu $t2, $t2, $s1 -/* 007D8 80887AC8 5100000A */ beql $t0, $zero, .L80887AF4 -/* 007DC 80887ACC 8E19014C */ lw $t9, 0x014C($s0) ## 0000014C -/* 007E0 80887AD0 82090003 */ lb $t1, 0x0003($s0) ## 00000003 -/* 007E4 80887AD4 814A1CD0 */ lb $t2, 0x1CD0($t2) ## 00011CD0 -/* 007E8 80887AD8 3C0C8088 */ lui $t4, %hi(func_80887638) ## $t4 = 80880000 -/* 007EC 80887ADC 240B0002 */ addiu $t3, $zero, 0x0002 ## $t3 = 00000002 -/* 007F0 80887AE0 152A0003 */ bne $t1, $t2, .L80887AF0 -/* 007F4 80887AE4 258C7638 */ addiu $t4, $t4, %lo(func_80887638) ## $t4 = 80887638 -/* 007F8 80887AE8 A20B0151 */ sb $t3, 0x0151($s0) ## 00000151 -/* 007FC 80887AEC AE0C014C */ sw $t4, 0x014C($s0) ## 0000014C -.L80887AF0: -/* 00800 80887AF0 8E19014C */ lw $t9, 0x014C($s0) ## 0000014C -.L80887AF4: -/* 00804 80887AF4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00808 80887AF8 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000 -/* 0080C 80887AFC 0320F809 */ jalr $ra, $t9 -/* 00810 80887B00 00000000 */ nop -/* 00814 80887B04 3C014348 */ lui $at, 0x4348 ## $at = 43480000 -/* 00818 80887B08 44814000 */ mtc1 $at, $f8 ## $f8 = 200.00 -/* 0081C 80887B0C C606000C */ lwc1 $f6, 0x000C($s0) ## 0000000C -/* 00820 80887B10 C6100028 */ lwc1 $f16, 0x0028($s0) ## 00000028 -/* 00824 80887B14 3C0D8016 */ lui $t5, %hi(gSaveContext+0x1360) -/* 00828 80887B18 46083281 */ sub.s $f10, $f6, $f8 -/* 0082C 80887B1C 4610503C */ c.lt.s $f10, $f16 -/* 00830 80887B20 00000000 */ nop -/* 00834 80887B24 45020026 */ bc1fl .L80887BC0 -/* 00838 80887B28 8FBF0024 */ lw $ra, 0x0024($sp) -/* 0083C 80887B2C 8DADF9C0 */ lw $t5, %lo(gSaveContext+0x1360)($t5) -/* 00840 80887B30 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00844 80887B34 29A10004 */ slti $at, $t5, 0x0004 -/* 00848 80887B38 50200006 */ beql $at, $zero, .L80887B54 -/* 0084C 80887B3C C6120024 */ lwc1 $f18, 0x0024($s0) ## 00000024 -/* 00850 80887B40 0C00BE5D */ jal func_8002F974 -/* 00854 80887B44 240520B3 */ addiu $a1, $zero, 0x20B3 ## $a1 = 000020B3 -/* 00858 80887B48 1000000E */ beq $zero, $zero, .L80887B84 -/* 0085C 80887B4C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00860 80887B50 C6120024 */ lwc1 $f18, 0x0024($s0) ## 00000024 -.L80887B54: -/* 00864 80887B54 2401FDFF */ addiu $at, $zero, 0xFDFF ## $at = FFFFFDFF -/* 00868 80887B58 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 0086C 80887B5C 4600910D */ trunc.w.s $f4, $f18 -/* 00870 80887B60 440F2000 */ mfc1 $t7, $f4 -/* 00874 80887B64 00000000 */ nop -/* 00878 80887B68 000FC400 */ sll $t8, $t7, 16 -/* 0087C 80887B6C 00184403 */ sra $t0, $t8, 16 -/* 00880 80887B70 55010004 */ bnel $t0, $at, .L80887B84 -/* 00884 80887B74 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00888 80887B78 0C00BE5D */ jal func_8002F974 -/* 0088C 80887B7C 240520BB */ addiu $a1, $zero, 0x20BB ## $a1 = 000020BB -/* 00890 80887B80 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -.L80887B84: -/* 00894 80887B84 0C221E19 */ jal func_80887864 -/* 00898 80887B88 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000 -/* 0089C 80887B8C 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 008A0 80887B90 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60 -/* 008A4 80887B94 02212821 */ addu $a1, $s1, $at -/* 008A8 80887B98 26060154 */ addiu $a2, $s0, 0x0154 ## $a2 = 00000154 -/* 008AC 80887B9C AFA60028 */ sw $a2, 0x0028($sp) -/* 008B0 80887BA0 AFA5002C */ sw $a1, 0x002C($sp) -/* 008B4 80887BA4 0C0175E7 */ jal CollisionCheck_SetAT - ## CollisionCheck_setAT -/* 008B8 80887BA8 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 008BC 80887BAC 8FA5002C */ lw $a1, 0x002C($sp) -/* 008C0 80887BB0 8FA60028 */ lw $a2, 0x0028($sp) -/* 008C4 80887BB4 0C017713 */ jal CollisionCheck_SetOC - ## CollisionCheck_setOT -/* 008C8 80887BB8 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 008CC 80887BBC 8FBF0024 */ lw $ra, 0x0024($sp) -.L80887BC0: -/* 008D0 80887BC0 8FB0001C */ lw $s0, 0x001C($sp) -/* 008D4 80887BC4 8FB10020 */ lw $s1, 0x0020($sp) -/* 008D8 80887BC8 03E00008 */ jr $ra -/* 008DC 80887BCC 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Fwbig/func_808874B0.s b/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Fwbig/func_808874B0.s deleted file mode 100644 index bc59f13ebf..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Fwbig/func_808874B0.s +++ /dev/null @@ -1,43 +0,0 @@ -.late_rodata -glabel D_80887F48 - .word 0x445D599A -glabel D_80887F4C - .word 0x445D599A - -.text -glabel func_808874B0 -/* 001C0 808874B0 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0 -/* 001C4 808874B4 AFBF0014 */ sw $ra, 0x0014($sp) -/* 001C8 808874B8 808F0150 */ lb $t7, 0x0150($a0) ## 00000150 -/* 001CC 808874BC 848E00B6 */ lh $t6, 0x00B6($a0) ## 000000B6 -/* 001D0 808874C0 00802825 */ or $a1, $a0, $zero ## $a1 = 00000000 -/* 001D4 808874C4 000F0823 */ subu $at, $zero, $t7 -/* 001D8 808874C8 0001C380 */ sll $t8, $at, 14 -/* 001DC 808874CC 01D82021 */ addu $a0, $t6, $t8 -/* 001E0 808874D0 00042400 */ sll $a0, $a0, 16 -/* 001E4 808874D4 00042403 */ sra $a0, $a0, 16 -/* 001E8 808874D8 A7A4001E */ sh $a0, 0x001E($sp) -/* 001EC 808874DC 0C01DE1C */ jal Math_Sins - ## sins? -/* 001F0 808874E0 AFA50020 */ sw $a1, 0x0020($sp) -/* 001F4 808874E4 3C018088 */ lui $at, %hi(D_80887F48) ## $at = 80880000 -/* 001F8 808874E8 C4247F48 */ lwc1 $f4, %lo(D_80887F48)($at) -/* 001FC 808874EC 8FA50020 */ lw $a1, 0x0020($sp) -/* 00200 808874F0 87A4001E */ lh $a0, 0x001E($sp) -/* 00204 808874F4 46040182 */ mul.s $f6, $f0, $f4 -/* 00208 808874F8 C4A80008 */ lwc1 $f8, 0x0008($a1) ## 00000008 -/* 0020C 808874FC 46083280 */ add.s $f10, $f6, $f8 -/* 00210 80887500 0C01DE0D */ jal Math_Coss - ## coss? -/* 00214 80887504 E4AA0024 */ swc1 $f10, 0x0024($a1) ## 00000024 -/* 00218 80887508 3C018088 */ lui $at, %hi(D_80887F4C) ## $at = 80880000 -/* 0021C 8088750C C4307F4C */ lwc1 $f16, %lo(D_80887F4C)($at) -/* 00220 80887510 8FA50020 */ lw $a1, 0x0020($sp) -/* 00224 80887514 46100482 */ mul.s $f18, $f0, $f16 -/* 00228 80887518 C4A40010 */ lwc1 $f4, 0x0010($a1) ## 00000010 -/* 0022C 8088751C 46049180 */ add.s $f6, $f18, $f4 -/* 00230 80887520 E4A6002C */ swc1 $f6, 0x002C($a1) ## 0000002C -/* 00234 80887524 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00238 80887528 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000 -/* 0023C 8088752C 03E00008 */ jr $ra -/* 00240 80887530 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Fwbig/func_80887534.s b/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Fwbig/func_80887534.s deleted file mode 100644 index ffb5c20c59..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Fwbig/func_80887534.s +++ /dev/null @@ -1,28 +0,0 @@ -glabel func_80887534 -/* 00244 80887534 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0 -/* 00248 80887538 AFA40020 */ sw $a0, 0x0020($sp) -/* 0024C 8088753C 8FAE0020 */ lw $t6, 0x0020($sp) -/* 00250 80887540 AFBF001C */ sw $ra, 0x001C($sp) -/* 00254 80887544 AFA50024 */ sw $a1, 0x0024($sp) -/* 00258 80887548 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000 -/* 0025C 8088754C 0C00B2D0 */ jal Flags_GetSwitch - -/* 00260 80887550 85C5001C */ lh $a1, 0x001C($t6) ## 0000001C -/* 00264 80887554 1040000C */ beq $v0, $zero, .L80887588 -/* 00268 80887558 8FA70020 */ lw $a3, 0x0020($sp) -/* 0026C 8088755C 3C0F8088 */ lui $t7, %hi(func_80887598) ## $t7 = 80880000 -/* 00270 80887560 25EF7598 */ addiu $t7, $t7, %lo(func_80887598) ## $t7 = 80887598 -/* 00274 80887564 ACEF014C */ sw $t7, 0x014C($a3) ## 0000014C -/* 00278 80887568 AFA00010 */ sw $zero, 0x0010($sp) -/* 0027C 8088756C 8FA40024 */ lw $a0, 0x0024($sp) -/* 00280 80887570 24050D0C */ addiu $a1, $zero, 0x0D0C ## $a1 = 00000D0C -/* 00284 80887574 0C02003E */ jal func_800800F8 -/* 00288 80887578 2406FF9D */ addiu $a2, $zero, 0xFF9D ## $a2 = FFFFFF9D -/* 0028C 8088757C 8FB90020 */ lw $t9, 0x0020($sp) -/* 00290 80887580 24180023 */ addiu $t8, $zero, 0x0023 ## $t8 = 00000023 -/* 00294 80887584 A7380152 */ sh $t8, 0x0152($t9) ## 00000152 -.L80887588: -/* 00298 80887588 8FBF001C */ lw $ra, 0x001C($sp) -/* 0029C 8088758C 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000 -/* 002A0 80887590 03E00008 */ jr $ra -/* 002A4 80887594 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Fwbig/func_80887598.s b/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Fwbig/func_80887598.s deleted file mode 100644 index 77030c07d4..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Fwbig/func_80887598.s +++ /dev/null @@ -1,13 +0,0 @@ -glabel func_80887598 -/* 002A8 80887598 AFA50004 */ sw $a1, 0x0004($sp) -/* 002AC 8088759C 84830152 */ lh $v1, 0x0152($a0) ## 00000152 -/* 002B0 808875A0 3C0F8088 */ lui $t7, %hi(func_80887638) ## $t7 = 80880000 -/* 002B4 808875A4 25EF7638 */ addiu $t7, $t7, %lo(func_80887638) ## $t7 = 80887638 -/* 002B8 808875A8 2C620001 */ sltiu $v0, $v1, 0x0001 -/* 002BC 808875AC 246EFFFF */ addiu $t6, $v1, 0xFFFF ## $t6 = FFFFFFFF -/* 002C0 808875B0 10400002 */ beq $v0, $zero, .L808875BC -/* 002C4 808875B4 A48E0152 */ sh $t6, 0x0152($a0) ## 00000152 -/* 002C8 808875B8 AC8F014C */ sw $t7, 0x014C($a0) ## 0000014C -.L808875BC: -/* 002CC 808875BC 03E00008 */ jr $ra -/* 002D0 808875C0 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Fwbig/func_808875C4.s b/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Fwbig/func_808875C4.s deleted file mode 100644 index acd3e8be1d..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Fwbig/func_808875C4.s +++ /dev/null @@ -1,34 +0,0 @@ -glabel func_808875C4 -/* 002D4 808875C4 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 002D8 808875C8 AFBF0014 */ sw $ra, 0x0014($sp) -/* 002DC 808875CC AFA5001C */ sw $a1, 0x001C($sp) -/* 002E0 808875D0 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000 -/* 002E4 808875D4 8CE5000C */ lw $a1, 0x000C($a3) ## 0000000C -/* 002E8 808875D8 AFA70018 */ sw $a3, 0x0018($sp) -/* 002EC 808875DC 24840028 */ addiu $a0, $a0, 0x0028 ## $a0 = 00000028 -/* 002F0 808875E0 0C01DE80 */ jal Math_ApproxF - -/* 002F4 808875E4 3C064120 */ lui $a2, 0x4120 ## $a2 = 41200000 -/* 002F8 808875E8 1040000F */ beq $v0, $zero, .L80887628 -/* 002FC 808875EC 8FA70018 */ lw $a3, 0x0018($sp) -/* 00300 808875F0 80EE0150 */ lb $t6, 0x0150($a3) ## 00000150 -/* 00304 808875F4 3C188088 */ lui $t8, %hi(func_808877C4) ## $t8 = 80880000 -/* 00308 808875F8 8FA4001C */ lw $a0, 0x001C($sp) -/* 0030C 808875FC 15C00009 */ bne $t6, $zero, .L80887624 -/* 00310 80887600 271877C4 */ addiu $t8, $t8, %lo(func_808877C4) ## $t8 = 808877C4 -/* 00314 80887604 84E5001C */ lh $a1, 0x001C($a3) ## 0000001C -/* 00318 80887608 0C00B2ED */ jal Flags_UnsetSwitch - -/* 0031C 8088760C AFA70018 */ sw $a3, 0x0018($sp) -/* 00320 80887610 8FA70018 */ lw $a3, 0x0018($sp) -/* 00324 80887614 3C0F8088 */ lui $t7, %hi(func_80887534) ## $t7 = 80880000 -/* 00328 80887618 25EF7534 */ addiu $t7, $t7, %lo(func_80887534) ## $t7 = 80887534 -/* 0032C 8088761C 10000002 */ beq $zero, $zero, .L80887628 -/* 00330 80887620 ACEF014C */ sw $t7, 0x014C($a3) ## 0000014C -.L80887624: -/* 00334 80887624 ACF8014C */ sw $t8, 0x014C($a3) ## 0000014C -.L80887628: -/* 00338 80887628 8FBF0014 */ lw $ra, 0x0014($sp) -/* 0033C 8088762C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00340 80887630 03E00008 */ jr $ra -/* 00344 80887634 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Fwbig/func_80887638.s b/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Fwbig/func_80887638.s deleted file mode 100644 index cdb9a979c0..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Fwbig/func_80887638.s +++ /dev/null @@ -1,65 +0,0 @@ -glabel func_80887638 -/* 00348 80887638 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 0034C 8088763C AFBF0014 */ sw $ra, 0x0014($sp) -/* 00350 80887640 AFA5001C */ sw $a1, 0x001C($sp) -/* 00354 80887644 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000 -/* 00358 80887648 3C014516 */ lui $at, 0x4516 ## $at = 45160000 -/* 0035C 8088764C 44812000 */ mtc1 $at, $f4 ## $f4 = 2400.00 -/* 00360 80887650 C4E60054 */ lwc1 $f6, 0x0054($a3) ## 00000054 -/* 00364 80887654 C4EA000C */ lwc1 $f10, 0x000C($a3) ## 0000000C -/* 00368 80887658 AFA70018 */ sw $a3, 0x0018($sp) -/* 0036C 8088765C 46062202 */ mul.s $f8, $f4, $f6 -/* 00370 80887660 24840028 */ addiu $a0, $a0, 0x0028 ## $a0 = 00000028 -/* 00374 80887664 3C064120 */ lui $a2, 0x4120 ## $a2 = 41200000 -/* 00378 80887668 46085401 */ sub.s $f16, $f10, $f8 -/* 0037C 8088766C 44058000 */ mfc1 $a1, $f16 -/* 00380 80887670 0C01DE80 */ jal Math_ApproxF - -/* 00384 80887674 00000000 */ nop -/* 00388 80887678 10400023 */ beq $v0, $zero, .L80887708 -/* 0038C 8088767C 8FA70018 */ lw $a3, 0x0018($sp) -/* 00390 80887680 80E20150 */ lb $v0, 0x0150($a3) ## 00000150 -/* 00394 80887684 3C0E8088 */ lui $t6, %hi(func_80887718) ## $t6 = 80880000 -/* 00398 80887688 25CE7718 */ addiu $t6, $t6, %lo(func_80887718) ## $t6 = 80887718 -/* 0039C 8088768C 14400004 */ bne $v0, $zero, .L808876A0 -/* 003A0 80887690 240F0096 */ addiu $t7, $zero, 0x0096 ## $t7 = 00000096 -/* 003A4 80887694 ACEE014C */ sw $t6, 0x014C($a3) ## 0000014C -/* 003A8 80887698 1000001B */ beq $zero, $zero, .L80887708 -/* 003AC 8088769C A4EF0152 */ sh $t7, 0x0152($a3) ## 00000152 -.L808876A0: -/* 003B0 808876A0 90E30151 */ lbu $v1, 0x0151($a3) ## 00000151 -/* 003B4 808876A4 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002 -/* 003B8 808876A8 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000 -/* 003BC 808876AC 14610005 */ bne $v1, $at, .L808876C4 -/* 003C0 808876B0 00000000 */ nop -/* 003C4 808876B4 0C00B55C */ jal Actor_Kill - -/* 003C8 808876B8 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000 -/* 003CC 808876BC 10000013 */ beq $zero, $zero, .L8088770C -/* 003D0 808876C0 8FBF0014 */ lw $ra, 0x0014($sp) -.L808876C4: -/* 003D4 808876C4 14600007 */ bne $v1, $zero, .L808876E4 -/* 003D8 808876C8 0002C880 */ sll $t9, $v0, 2 -/* 003DC 808876CC 84F800B6 */ lh $t8, 0x00B6($a3) ## 000000B6 -/* 003E0 808876D0 0322C823 */ subu $t9, $t9, $v0 -/* 003E4 808876D4 0019CAC0 */ sll $t9, $t9, 11 -/* 003E8 808876D8 03194023 */ subu $t0, $t8, $t9 -/* 003EC 808876DC 10000004 */ beq $zero, $zero, .L808876F0 -/* 003F0 808876E0 A4E800B6 */ sh $t0, 0x00B6($a3) ## 000000B6 -.L808876E4: -/* 003F4 808876E4 84E90016 */ lh $t1, 0x0016($a3) ## 00000016 -/* 003F8 808876E8 A0E00151 */ sb $zero, 0x0151($a3) ## 00000151 -/* 003FC 808876EC A4E900B6 */ sh $t1, 0x00B6($a3) ## 000000B6 -.L808876F0: -/* 00400 808876F0 0C221D2C */ jal func_808874B0 -/* 00404 808876F4 AFA70018 */ sw $a3, 0x0018($sp) -/* 00408 808876F8 8FA70018 */ lw $a3, 0x0018($sp) -/* 0040C 808876FC 3C0A8088 */ lui $t2, %hi(func_808875C4) ## $t2 = 80880000 -/* 00410 80887700 254A75C4 */ addiu $t2, $t2, %lo(func_808875C4) ## $t2 = 808875C4 -/* 00414 80887704 ACEA014C */ sw $t2, 0x014C($a3) ## 0000014C -.L80887708: -/* 00418 80887708 8FBF0014 */ lw $ra, 0x0014($sp) -.L8088770C: -/* 0041C 8088770C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00420 80887710 03E00008 */ jr $ra -/* 00424 80887714 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Fwbig/func_80887718.s b/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Fwbig/func_80887718.s deleted file mode 100644 index 19802b4bab..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Fwbig/func_80887718.s +++ /dev/null @@ -1,23 +0,0 @@ -glabel func_80887718 -/* 00428 80887718 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 0042C 8088771C AFBF0014 */ sw $ra, 0x0014($sp) -/* 00430 80887720 AFA5001C */ sw $a1, 0x001C($sp) -/* 00434 80887724 84850152 */ lh $a1, 0x0152($a0) ## 00000152 -/* 00438 80887728 3C0F8088 */ lui $t7, %hi(func_808875C4) ## $t7 = 80880000 -/* 0043C 8088772C 25EF75C4 */ addiu $t7, $t7, %lo(func_808875C4) ## $t7 = 808875C4 -/* 00440 80887730 10A00003 */ beq $a1, $zero, .L80887740 -/* 00444 80887734 24AEFFFF */ addiu $t6, $a1, 0xFFFF ## $t6 = FFFFFFFF -/* 00448 80887738 A48E0152 */ sh $t6, 0x0152($a0) ## 00000152 -/* 0044C 8088773C 84850152 */ lh $a1, 0x0152($a0) ## 00000152 -.L80887740: -/* 00450 80887740 14A00003 */ bne $a1, $zero, .L80887750 -/* 00454 80887744 00000000 */ nop -/* 00458 80887748 AC8F014C */ sw $t7, 0x014C($a0) ## 0000014C -/* 0045C 8088774C 84850152 */ lh $a1, 0x0152($a0) ## 00000152 -.L80887750: -/* 00460 80887750 0C00BE65 */ jal func_8002F994 -/* 00464 80887754 00000000 */ nop -/* 00468 80887758 8FBF0014 */ lw $ra, 0x0014($sp) -/* 0046C 8088775C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00470 80887760 03E00008 */ jr $ra -/* 00474 80887764 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Fwbig/func_80887768.s b/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Fwbig/func_80887768.s deleted file mode 100644 index e24a880623..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Fwbig/func_80887768.s +++ /dev/null @@ -1,30 +0,0 @@ -.late_rodata -glabel D_80887F50 - .float 1150.0 - -.text -glabel func_80887768 -/* 00478 80887768 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0 -/* 0047C 8088776C AFBF001C */ sw $ra, 0x001C($sp) -/* 00480 80887770 AFA50024 */ sw $a1, 0x0024($sp) -/* 00484 80887774 8CA21C44 */ lw $v0, 0x1C44($a1) ## 00001C44 -/* 00488 80887778 3C018088 */ lui $at, %hi(D_80887F50) ## $at = 80880000 -/* 0048C 8088777C C4267F50 */ lwc1 $f6, %lo(D_80887F50)($at) -/* 00490 80887780 C4440024 */ lwc1 $f4, 0x0024($v0) ## 00000024 -/* 00494 80887784 3C0F8088 */ lui $t7, %hi(func_808875C4) ## $t7 = 80880000 -/* 00498 80887788 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000 -/* 0049C 8088778C 4606203C */ c.lt.s $f4, $f6 -/* 004A0 80887790 25EF75C4 */ addiu $t7, $t7, %lo(func_808875C4) ## $t7 = 808875C4 -/* 004A4 80887794 24050CDA */ addiu $a1, $zero, 0x0CDA ## $a1 = 00000CDA -/* 004A8 80887798 2406FF9D */ addiu $a2, $zero, 0xFF9D ## $a2 = FFFFFF9D -/* 004AC 8088779C 45020006 */ bc1fl .L808877B8 -/* 004B0 808877A0 8FBF001C */ lw $ra, 0x001C($sp) -/* 004B4 808877A4 AC8F014C */ sw $t7, 0x014C($a0) ## 0000014C -/* 004B8 808877A8 AFA00010 */ sw $zero, 0x0010($sp) -/* 004BC 808877AC 0C02003E */ jal func_800800F8 -/* 004C0 808877B0 8FA40024 */ lw $a0, 0x0024($sp) -/* 004C4 808877B4 8FBF001C */ lw $ra, 0x001C($sp) -.L808877B8: -/* 004C8 808877B8 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000 -/* 004CC 808877BC 03E00008 */ jr $ra -/* 004D0 808877C0 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Fwbig/func_808877C4.s b/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Fwbig/func_808877C4.s deleted file mode 100644 index 4a58840297..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Fwbig/func_808877C4.s +++ /dev/null @@ -1,44 +0,0 @@ -glabel func_808877C4 -/* 004D4 808877C4 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 004D8 808877C8 AFBF0014 */ sw $ra, 0x0014($sp) -/* 004DC 808877CC 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000 -/* 004E0 808877D0 AFA70018 */ sw $a3, 0x0018($sp) -/* 004E4 808877D4 0C023A62 */ jal Player_InCsMode -/* 004E8 808877D8 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000 -/* 004EC 808877DC 1440001D */ bne $v0, $zero, .L80887854 -/* 004F0 808877E0 8FA70018 */ lw $a3, 0x0018($sp) -/* 004F4 808877E4 80EF0150 */ lb $t7, 0x0150($a3) ## 00000150 -/* 004F8 808877E8 84EE0016 */ lh $t6, 0x0016($a3) ## 00000016 -/* 004FC 808877EC AFA70018 */ sw $a3, 0x0018($sp) -/* 00500 808877F0 000FC080 */ sll $t8, $t7, 2 -/* 00504 808877F4 030FC023 */ subu $t8, $t8, $t7 -/* 00508 808877F8 0018C0C0 */ sll $t8, $t8, 3 -/* 0050C 808877FC 030FC021 */ addu $t8, $t8, $t7 -/* 00510 80887800 0018C0C0 */ sll $t8, $t8, 3 -/* 00514 80887804 030FC023 */ subu $t8, $t8, $t7 -/* 00518 80887808 0018C0C0 */ sll $t8, $t8, 3 -/* 0051C 8088780C 030FC021 */ addu $t8, $t8, $t7 -/* 00520 80887810 0018C100 */ sll $t8, $t8, 4 -/* 00524 80887814 01D82821 */ addu $a1, $t6, $t8 -/* 00528 80887818 00052C00 */ sll $a1, $a1, 16 -/* 0052C 8088781C 00052C03 */ sra $a1, $a1, 16 -/* 00530 80887820 24E400B6 */ addiu $a0, $a3, 0x00B6 ## $a0 = 000000B6 -/* 00534 80887824 0C01DE2B */ jal Math_ApproxUpdateScaledS - -/* 00538 80887828 24060020 */ addiu $a2, $zero, 0x0020 ## $a2 = 00000020 -/* 0053C 8088782C 10400007 */ beq $v0, $zero, .L8088784C -/* 00540 80887830 8FA70018 */ lw $a3, 0x0018($sp) -/* 00544 80887834 3C088088 */ lui $t0, %hi(func_80887638) ## $t0 = 80880000 -/* 00548 80887838 24190001 */ addiu $t9, $zero, 0x0001 ## $t9 = 00000001 -/* 0054C 8088783C 25087638 */ addiu $t0, $t0, %lo(func_80887638) ## $t0 = 80887638 -/* 00550 80887840 A0F90151 */ sb $t9, 0x0151($a3) ## 00000151 -/* 00554 80887844 10000003 */ beq $zero, $zero, .L80887854 -/* 00558 80887848 ACE8014C */ sw $t0, 0x014C($a3) ## 0000014C -.L8088784C: -/* 0055C 8088784C 0C221D2C */ jal func_808874B0 -/* 00560 80887850 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000 -.L80887854: -/* 00564 80887854 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00568 80887858 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 0056C 8088785C 03E00008 */ jr $ra -/* 00570 80887860 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Fwbig/func_80887864.s b/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Fwbig/func_80887864.s deleted file mode 100644 index cee82ba9c2..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Fwbig/func_80887864.s +++ /dev/null @@ -1,138 +0,0 @@ -glabel func_80887864 -/* 00574 80887864 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8 -/* 00578 80887868 AFBF0014 */ sw $ra, 0x0014($sp) -/* 0057C 8088786C AFA5003C */ sw $a1, 0x003C($sp) -/* 00580 80887870 8CA21C44 */ lw $v0, 0x1C44($a1) ## 00001C44 -/* 00584 80887874 AFA40038 */ sw $a0, 0x0038($sp) -/* 00588 80887878 27A50028 */ addiu $a1, $sp, 0x0028 ## $a1 = FFFFFFF0 -/* 0058C 8088787C 0C00B6F4 */ jal func_8002DBD0 -/* 00590 80887880 24460024 */ addiu $a2, $v0, 0x0024 ## $a2 = 00000024 -/* 00594 80887884 C7A40030 */ lwc1 $f4, 0x0030($sp) -/* 00598 80887888 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00 -/* 0059C 8088788C 8FA70038 */ lw $a3, 0x0038($sp) -/* 005A0 80887890 3C01BF80 */ lui $at, 0xBF80 ## $at = BF800000 -/* 005A4 80887894 4604303E */ c.le.s $f6, $f4 -/* 005A8 80887898 00000000 */ nop -/* 005AC 8088789C 45020006 */ bc1fl .L808878B8 -/* 005B0 808878A0 44810000 */ mtc1 $at, $f0 ## $f0 = -1.00 -/* 005B4 808878A4 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 005B8 808878A8 44810000 */ mtc1 $at, $f0 ## $f0 = 1.00 -/* 005BC 808878AC 10000004 */ beq $zero, $zero, .L808878C0 -/* 005C0 808878B0 3C0141C8 */ lui $at, 0x41C8 ## $at = 41C80000 -/* 005C4 808878B4 44810000 */ mtc1 $at, $f0 ## $f0 = 25.00 -.L808878B8: -/* 005C8 808878B8 00000000 */ nop -/* 005CC 808878BC 3C0141C8 */ lui $at, 0x41C8 ## $at = 41C80000 -.L808878C0: -/* 005D0 808878C0 44814000 */ mtc1 $at, $f8 ## $f8 = 25.00 -/* 005D4 808878C4 3C01BF80 */ lui $at, 0xBF80 ## $at = BF800000 -/* 005D8 808878C8 44818000 */ mtc1 $at, $f16 ## $f16 = -1.00 -/* 005DC 808878CC 46080282 */ mul.s $f10, $f0, $f8 -/* 005E0 808878D0 3C01C3FA */ lui $at, 0xC3FA ## $at = C3FA0000 -/* 005E4 808878D4 C7A20028 */ lwc1 $f2, 0x0028($sp) -/* 005E8 808878D8 46105482 */ mul.s $f18, $f10, $f16 -/* 005EC 808878DC E7B20030 */ swc1 $f18, 0x0030($sp) -/* 005F0 808878E0 80EF0150 */ lb $t7, 0x0150($a3) ## 00000150 -/* 005F4 808878E4 55E00017 */ bnel $t7, $zero, .L80887944 -/* 005F8 808878E8 44810000 */ mtc1 $at, $f0 ## $f0 = -500.00 -/* 005FC 808878EC 3C01C3B4 */ lui $at, 0xC3B4 ## $at = C3B40000 -/* 00600 808878F0 44810000 */ mtc1 $at, $f0 ## $f0 = -360.00 -/* 00604 808878F4 C7A20028 */ lwc1 $f2, 0x0028($sp) -/* 00608 808878F8 3C0143B4 */ lui $at, 0x43B4 ## $at = 43B40000 -/* 0060C 808878FC 4600103C */ c.lt.s $f2, $f0 -/* 00610 80887900 00000000 */ nop -/* 00614 80887904 45020004 */ bc1fl .L80887918 -/* 00618 80887908 44816000 */ mtc1 $at, $f12 ## $f12 = 360.00 -/* 0061C 8088790C 1000001E */ beq $zero, $zero, .L80887988 -/* 00620 80887910 E7A00028 */ swc1 $f0, 0x0028($sp) -/* 00624 80887914 44816000 */ mtc1 $at, $f12 ## $f12 = 360.00 -.L80887918: -/* 00628 80887918 00000000 */ nop -/* 0062C 8088791C 4602603C */ c.lt.s $f12, $f2 -/* 00630 80887920 00000000 */ nop -/* 00634 80887924 45020004 */ bc1fl .L80887938 -/* 00638 80887928 46001006 */ mov.s $f0, $f2 -/* 0063C 8088792C 10000002 */ beq $zero, $zero, .L80887938 -/* 00640 80887930 46006006 */ mov.s $f0, $f12 -/* 00644 80887934 46001006 */ mov.s $f0, $f2 -.L80887938: -/* 00648 80887938 10000013 */ beq $zero, $zero, .L80887988 -/* 0064C 8088793C E7A00028 */ swc1 $f0, 0x0028($sp) -/* 00650 80887940 44810000 */ mtc1 $at, $f0 ## $f0 = 360.00 -.L80887944: -/* 00654 80887944 3C0143FA */ lui $at, 0x43FA ## $at = 43FA0000 -/* 00658 80887948 4600103C */ c.lt.s $f2, $f0 -/* 0065C 8088794C 00000000 */ nop -/* 00660 80887950 45020004 */ bc1fl .L80887964 -/* 00664 80887954 44816000 */ mtc1 $at, $f12 ## $f12 = 500.00 -/* 00668 80887958 1000000B */ beq $zero, $zero, .L80887988 -/* 0066C 8088795C E7A00028 */ swc1 $f0, 0x0028($sp) -/* 00670 80887960 44816000 */ mtc1 $at, $f12 ## $f12 = 500.00 -.L80887964: -/* 00674 80887964 00000000 */ nop -/* 00678 80887968 4602603C */ c.lt.s $f12, $f2 -/* 0067C 8088796C 00000000 */ nop -/* 00680 80887970 45020004 */ bc1fl .L80887984 -/* 00684 80887974 46001006 */ mov.s $f0, $f2 -/* 00688 80887978 10000002 */ beq $zero, $zero, .L80887984 -/* 0068C 8088797C 46006006 */ mov.s $f0, $f12 -/* 00690 80887980 46001006 */ mov.s $f0, $f2 -.L80887984: -/* 00694 80887984 E7A00028 */ swc1 $f0, 0x0028($sp) -.L80887988: -/* 00698 80887988 84E400B6 */ lh $a0, 0x00B6($a3) ## 000000B6 -/* 0069C 8088798C 0C01DE1C */ jal Math_Sins - ## sins? -/* 006A0 80887990 AFA70038 */ sw $a3, 0x0038($sp) -/* 006A4 80887994 8FA70038 */ lw $a3, 0x0038($sp) -/* 006A8 80887998 84E400B6 */ lh $a0, 0x00B6($a3) ## 000000B6 -/* 006AC 8088799C 0C01DE0D */ jal Math_Coss - ## coss? -/* 006B0 808879A0 E7A00020 */ swc1 $f0, 0x0020($sp) -/* 006B4 808879A4 C7A60028 */ lwc1 $f6, 0x0028($sp) -/* 006B8 808879A8 8FA70038 */ lw $a3, 0x0038($sp) -/* 006BC 808879AC C7A20020 */ lwc1 $f2, 0x0020($sp) -/* 006C0 808879B0 46003202 */ mul.s $f8, $f6, $f0 -/* 006C4 808879B4 C7B00030 */ lwc1 $f16, 0x0030($sp) -/* 006C8 808879B8 C4E40024 */ lwc1 $f4, 0x0024($a3) ## 00000024 -/* 006CC 808879BC 46028482 */ mul.s $f18, $f16, $f2 -/* 006D0 808879C0 46082280 */ add.s $f10, $f4, $f8 -/* 006D4 808879C4 C4E8002C */ lwc1 $f8, 0x002C($a3) ## 0000002C -/* 006D8 808879C8 46125180 */ add.s $f6, $f10, $f18 -/* 006DC 808879CC 4600310D */ trunc.w.s $f4, $f6 -/* 006E0 808879D0 44192000 */ mfc1 $t9, $f4 -/* 006E4 808879D4 00000000 */ nop -/* 006E8 808879D8 A4F9019A */ sh $t9, 0x019A($a3) ## 0000019A -/* 006EC 808879DC C7B00028 */ lwc1 $f16, 0x0028($sp) -/* 006F0 808879E0 C7A60030 */ lwc1 $f6, 0x0030($sp) -/* 006F4 808879E4 46028282 */ mul.s $f10, $f16, $f2 -/* 006F8 808879E8 460A4481 */ sub.s $f18, $f8, $f10 -/* 006FC 808879EC 46003102 */ mul.s $f4, $f6, $f0 -/* 00700 808879F0 C4EA0028 */ lwc1 $f10, 0x0028($a3) ## 00000028 -/* 00704 808879F4 4600518D */ trunc.w.s $f6, $f10 -/* 00708 808879F8 46049400 */ add.s $f16, $f18, $f4 -/* 0070C 808879FC 440B3000 */ mfc1 $t3, $f6 -/* 00710 80887A00 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00 -/* 00714 80887A04 4600820D */ trunc.w.s $f8, $f16 -/* 00718 80887A08 A4EB019C */ sh $t3, 0x019C($a3) ## 0000019C -/* 0071C 80887A0C 44094000 */ mfc1 $t1, $f8 -/* 00720 80887A10 00000000 */ nop -/* 00724 80887A14 A4E9019E */ sh $t1, 0x019E($a3) ## 0000019E -/* 00728 80887A18 C7B20030 */ lwc1 $f18, 0x0030($sp) -/* 0072C 80887A1C 4604903C */ c.lt.s $f18, $f4 -/* 00730 80887A20 00000000 */ nop -/* 00734 80887A24 45020005 */ bc1fl .L80887A3C -/* 00738 80887A28 84ED00B6 */ lh $t5, 0x00B6($a3) ## 000000B6 -/* 0073C 80887A2C 84EC00B6 */ lh $t4, 0x00B6($a3) ## 000000B6 -/* 00740 80887A30 10000005 */ beq $zero, $zero, .L80887A48 -/* 00744 80887A34 A4EC0032 */ sh $t4, 0x0032($a3) ## 00000032 -/* 00748 80887A38 84ED00B6 */ lh $t5, 0x00B6($a3) ## 000000B6 -.L80887A3C: -/* 0074C 80887A3C 34018000 */ ori $at, $zero, 0x8000 ## $at = 00008000 -/* 00750 80887A40 01A17021 */ addu $t6, $t5, $at -/* 00754 80887A44 A4EE0032 */ sh $t6, 0x0032($a3) ## 00000032 -.L80887A48: -/* 00758 80887A48 8FBF0014 */ lw $ra, 0x0014($sp) -/* 0075C 80887A4C 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000 -/* 00760 80887A50 03E00008 */ jr $ra -/* 00764 80887A54 00000000 */ nop diff --git a/data/overlays/actors/z_bg_hidan_fwbig.data.s b/data/overlays/actors/z_bg_hidan_fwbig.data.s deleted file mode 100644 index aba00708e5..0000000000 --- a/data/overlays/actors/z_bg_hidan_fwbig.data.s +++ /dev/null @@ -1,22 +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 Bg_Hidan_Fwbig_InitVars - .word 0x008D0600, 0x00000010, 0x002C0000, 0x000001A0 -.word BgHidanFwbig_Init -.word BgHidanFwbig_Destroy -.word BgHidanFwbig_Update -.word BgHidanFwbig_Draw -glabel D_80887ED0 - .word 0x0A110009, 0x20010000, 0x00000000, 0x20000000, 0x01040000, 0xFFCFFFFF, 0x00000000, 0x19000100, 0x001E0082, 0x00000000, 0x00000000 -glabel D_80887EFC - .word 0x30F803E8 - diff --git a/data/overlays/actors/z_bg_hidan_fwbig.reloc.s b/data/overlays/actors/z_bg_hidan_fwbig.reloc.s deleted file mode 100644 index c728a380f1..0000000000 --- a/data/overlays/actors/z_bg_hidan_fwbig.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_80887F60 - .incbin "baserom/ovl_Bg_Hidan_Fwbig", 0xC70, 0x000000E0 diff --git a/spec b/spec index 0cda7f7c59..630dd17763 100644 --- a/spec +++ b/spec @@ -844,8 +844,7 @@ endseg beginseg name "ovl_Bg_Hidan_Fwbig" include "build/src/overlays/actors/ovl_Bg_Hidan_Fwbig/z_bg_hidan_fwbig.o" - include "build/data/overlays/actors/z_bg_hidan_fwbig.data.o" - include "build/data/overlays/actors/z_bg_hidan_fwbig.reloc.o" + include "build/src/overlays/actors/ovl_Bg_Hidan_Fwbig/ovl_Bg_Hidan_Fwbig_reloc.o" endseg beginseg diff --git a/src/overlays/actors/ovl_Bg_Hidan_Fwbig/z_bg_hidan_fwbig.c b/src/overlays/actors/ovl_Bg_Hidan_Fwbig/z_bg_hidan_fwbig.c index 8f52157c63..6c714c5721 100644 --- a/src/overlays/actors/ovl_Bg_Hidan_Fwbig/z_bg_hidan_fwbig.c +++ b/src/overlays/actors/ovl_Bg_Hidan_Fwbig/z_bg_hidan_fwbig.c @@ -4,12 +4,30 @@ #define THIS ((BgHidanFwbig*)thisx) +typedef enum { + /* 0 */ FWBIG_MOVE, + /* 1 */ FWBIG_RESET, + /* 2 */ FWBIG_KILL +} HidanFwbigMoveState; + void BgHidanFwbig_Init(Actor* thisx, GlobalContext* globalCtx); void BgHidanFwbig_Destroy(Actor* thisx, GlobalContext* globalCtx); void BgHidanFwbig_Update(Actor* thisx, GlobalContext* globalCtx); void BgHidanFwbig_Draw(Actor* thisx, GlobalContext* globalCtx); -/* +void BgHidanFwbig_UpdatePosition(BgHidanFwbig* this); + +void BgHidanFwbig_WaitForSwitch(BgHidanFwbig* this, GlobalContext* globalCtx); +void BgHidanFwbig_WaitForCs(BgHidanFwbig* this, GlobalContext* globalCtx); +void BgHidanFwbig_Lower(BgHidanFwbig* this, GlobalContext* globalCtx); +void BgHidanFwbig_WaitForTimer(BgHidanFwbig* this, GlobalContext* globalCtx); +void BgHidanFwbig_WaitForPlayer(BgHidanFwbig* this, GlobalContext* globalCtx); +void BgHidanFwbig_Move(BgHidanFwbig* this, GlobalContext* globalCtx); + +extern Gfx D_0600DB20[]; +extern Gfx D_040173D0[]; +extern Gfx D_04017BD0[]; + const ActorInit Bg_Hidan_Fwbig_InitVars = { ACTOR_BG_HIDAN_FWBIG, ACTORTYPE_PROP, @@ -21,29 +39,223 @@ const ActorInit Bg_Hidan_Fwbig_InitVars = { (ActorFunc)BgHidanFwbig_Update, (ActorFunc)BgHidanFwbig_Draw, }; -*/ -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Fwbig/BgHidanFwbig_Init.s") -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Fwbig/BgHidanFwbig_Destroy.s") +static ColliderCylinderInit sCylinderInit = { + { COLTYPE_UNK10, 0x11, 0x00, 0x09, 0x20, COLSHAPE_CYLINDER }, + { 0x00, { 0x20000000, 0x01, 0x04 }, { 0xFFCFFFFF, 0x00, 0x00 }, 0x19, 0x00, 0x01 }, + { 30, 130, 0, { 0, 0, 0 } }, +}; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Fwbig/func_808874B0.s") +static InitChainEntry sInitChain[] = { + ICHAIN_F32(uncullZoneScale, 1000, ICHAIN_STOP), +}; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Fwbig/func_80887534.s") +void BgHidanFwbig_Init(Actor* thisx, GlobalContext* globalCtx2) { + GlobalContext* globalCtx = globalCtx2; + BgHidanFwbig* this = THIS; + Player* player = PLAYER; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Fwbig/func_80887598.s") + Actor_ProcessInitChain(&this->actor, sInitChain); + Collider_InitCylinder(globalCtx, &this->collider); + Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &sCylinderInit); + this->actor.colChkInfo.mass = 0xFF; + this->direction = (u16)(thisx->params >> 8); + thisx->params &= 0xFF; + if (this->direction != 0) { + this->actor.initPosRot.pos.x = 1560.0f; + this->actor.initPosRot.pos.z = 0.0f; + if (player->actor.posRot.pos.z > 300.0f) { + this->direction = -1; + this->actor.initPosRot.rot.y = this->actor.shape.rot.y = -0x4E38; + } else if (player->actor.posRot.pos.z < -300.0f) { + this->direction = 1; + this->actor.initPosRot.rot.y = this->actor.shape.rot.y = -0x31C8; + } else { + Actor_Kill(&this->actor); + return; + } + BgHidanFwbig_UpdatePosition(this); + Actor_SetScale(&this->actor, 0.15f); + this->collider.dim.height = 230; + this->actor.flags |= 0x10; + this->moveState = FWBIG_MOVE; + this->actionFunc = BgHidanFwbig_WaitForPlayer; + this->actor.posRot.pos.y = this->actor.initPosRot.pos.y - (2400.0f * this->actor.scale.y); + } else { + Actor_SetScale(&this->actor, 0.1f); + this->actionFunc = BgHidanFwbig_WaitForSwitch; + } +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Fwbig/func_808875C4.s") +void BgHidanFwbig_Destroy(Actor* thisx, GlobalContext* globalCtx) { + s32 pad; + BgHidanFwbig* this = THIS; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Fwbig/func_80887638.s") + Collider_DestroyCylinder(globalCtx, &this->collider); +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Fwbig/func_80887718.s") +void BgHidanFwbig_UpdatePosition(BgHidanFwbig* this) { + s16 startAngle = this->actor.shape.rot.y + this->direction * -0x4000; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Fwbig/func_80887768.s") + this->actor.posRot.pos.x = (Math_Sins(startAngle) * 885.4f) + this->actor.initPosRot.pos.x; + this->actor.posRot.pos.z = (Math_Coss(startAngle) * 885.4f) + this->actor.initPosRot.pos.z; +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Fwbig/func_808877C4.s") +void BgHidanFwbig_WaitForSwitch(BgHidanFwbig* this, GlobalContext* globalCtx) { + if (Flags_GetSwitch(globalCtx, this->actor.params)) { + this->actionFunc = BgHidanFwbig_WaitForCs; + func_800800F8(globalCtx, 0xD0C, -0x63, &this->actor, 0); + this->timer = 35; + } +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Fwbig/func_80887864.s") +void BgHidanFwbig_WaitForCs(BgHidanFwbig* this, GlobalContext* globalCtx) { + if (this->timer-- == 0) { + this->actionFunc = BgHidanFwbig_Lower; + } +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Fwbig/BgHidanFwbig_Update.s") +void BgHidanFwbig_Rise(BgHidanFwbig* this, GlobalContext* globalCtx) { + if (Math_ApproxF(&this->actor.posRot.pos.y, this->actor.initPosRot.pos.y, 10.0f)) { + if (this->direction == 0) { + Flags_UnsetSwitch(globalCtx, this->actor.params); + this->actionFunc = BgHidanFwbig_WaitForSwitch; + } else { + this->actionFunc = BgHidanFwbig_Move; + } + } +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Fwbig/BgHidanFwbig_Draw.s") +void BgHidanFwbig_Lower(BgHidanFwbig* this, GlobalContext* globalCtx) { + if (Math_ApproxF(&this->actor.posRot.pos.y, this->actor.initPosRot.pos.y - (2400.0f * this->actor.scale.y), + 10.0f)) { + if (this->direction == 0) { + this->actionFunc = BgHidanFwbig_WaitForTimer; + this->timer = 150; + } else if (this->moveState == FWBIG_KILL) { + Actor_Kill(&this->actor); + } else { + if (this->moveState == FWBIG_MOVE) { + this->actor.shape.rot.y -= (this->direction * 0x1800); + } else { + this->moveState = FWBIG_MOVE; + this->actor.shape.rot.y = this->actor.initPosRot.rot.y; + } + BgHidanFwbig_UpdatePosition(this); + this->actionFunc = BgHidanFwbig_Rise; + } + } +} + +void BgHidanFwbig_WaitForTimer(BgHidanFwbig* this, GlobalContext* globalCtx) { + if(this->timer != 0) { + this->timer--; + } + if (this->timer == 0) { + this->actionFunc = BgHidanFwbig_Rise; + } + func_8002F994(&this->actor, this->timer); +} + +void BgHidanFwbig_WaitForPlayer(BgHidanFwbig* this, GlobalContext* globalCtx) { + Player* player = PLAYER; + + if (player->actor.posRot.pos.x < 1150.0f) { + this->actionFunc = BgHidanFwbig_Rise; + func_800800F8(globalCtx, 0xCDA, -0x63, &this->actor, 0); + } +} + +void BgHidanFwbig_Move(BgHidanFwbig* this, GlobalContext* globalCtx) { + if (!Player_InCsMode(globalCtx)) { + if (Math_ApproxUpdateScaledS(&this->actor.shape.rot.y, + this->actor.initPosRot.rot.y + (this->direction * 0x6390), 0x20)) { + this->moveState = FWBIG_RESET; + this->actionFunc = BgHidanFwbig_Lower; + } else { + BgHidanFwbig_UpdatePosition(this); + } + } +} + +void BgHidanFwbig_MoveCollider(BgHidanFwbig* this, GlobalContext* globalCtx) { + Player* player = PLAYER; + Vec3f projPos; + f32 cs; + f32 sn; + + func_8002DBD0(&this->actor, &projPos, &player->actor.posRot.pos); + projPos.z = ((projPos.z >= 0.0f) ? 1.0f : -1.0f) * 25.0f * -1.0f; + if (this->direction == 0) { + projPos.x = CLAMP(projPos.x, -360.0f, 360.0f); + } else { + projPos.x = CLAMP(projPos.x, -500.0f, 500.0f); + } + + sn = Math_Sins(this->actor.shape.rot.y); + cs = Math_Coss(this->actor.shape.rot.y); + this->collider.dim.pos.x = this->actor.posRot.pos.x + (projPos.x * cs) + (projPos.z * sn); + this->collider.dim.pos.z = this->actor.posRot.pos.z - (projPos.x * sn) + (projPos.z * cs); + this->collider.dim.pos.y = this->actor.posRot.pos.y; + + this->actor.posRot.rot.y = (projPos.z < 0.0f) ? this->actor.shape.rot.y : this->actor.shape.rot.y + 0x8000; +} + +void BgHidanFwbig_Update(Actor* thisx, GlobalContext* globalCtx) { + s32 pad; + BgHidanFwbig* this = THIS; + + if (this->collider.base.atFlags & 2) { + this->collider.base.atFlags &= ~2; + func_8002F71C(globalCtx, &this->actor, 5.0f, this->actor.posRot.rot.y, 1.0f); + if (this->direction != 0) { + this->actionFunc = BgHidanFwbig_Lower; + } + } + if ((this->direction != 0) && (globalCtx->roomCtx.prevRoom.num == this->actor.room)) { + this->moveState = FWBIG_KILL; + this->actionFunc = BgHidanFwbig_Lower; + } + + this->actionFunc(this, globalCtx); + + if ((this->actor.initPosRot.pos.y - 200.0f) < this->actor.posRot.pos.y) { + if (gSaveContext.sceneSetupIndex < 4) { + func_8002F974(&this->actor, NA_SE_EV_BURNING - SFX_FLAG); + } else if ((s16)this->actor.posRot.pos.x == -513) { + func_8002F974(&this->actor, NA_SE_EV_FLAME_OF_FIRE - SFX_FLAG); + } + BgHidanFwbig_MoveCollider(this, globalCtx); + CollisionCheck_SetAT(globalCtx, &globalCtx->colChkCtx, &this->collider.base); + CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->collider.base); + } +} + +void BgHidanFwbig_Draw(Actor* thisx, GlobalContext* globalCtx) { + s32 pad; + f32 height; + + OPEN_DISPS(globalCtx->state.gfxCtx, "../z_bg_hidan_fwbig.c", 630); + func_80093D84(globalCtx->state.gfxCtx); + + gSPSegment(oGfxCtx->polyXlu.p++, 0x09, SEGMENTED_TO_VIRTUAL(D_040173D0)); + + gSPSegment(oGfxCtx->polyXlu.p++, 0x0A, SEGMENTED_TO_VIRTUAL(D_04017BD0)); + + height = thisx->scale.y * 2400.0f; + gDPSetPrimColor(oGfxCtx->polyXlu.p++, 0x80, 0x80, 255, 220, 0, + ((height - (thisx->initPosRot.pos.y - thisx->posRot.pos.y)) * 255.0f) / height); + + gDPSetEnvColor(oGfxCtx->polyXlu.p++, 255, 0, 0, 0); + + gSPSegment(oGfxCtx->polyXlu.p++, 0x08, + Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, globalCtx->gameplayFrames % 0x80, 0, 0x20, 0x40, 1, 0, + (u8)(globalCtx->gameplayFrames * -15), 0x20, 0x40)); + + gSPMatrix(oGfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_hidan_fwbig.c", 660), + G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + + gSPDisplayList(oGfxCtx->polyXlu.p++, D_0600DB20); + + CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_bg_hidan_fwbig.c", 664); +} diff --git a/src/overlays/actors/ovl_Bg_Hidan_Fwbig/z_bg_hidan_fwbig.h b/src/overlays/actors/ovl_Bg_Hidan_Fwbig/z_bg_hidan_fwbig.h index 864e97d5df..9ceb36d5bd 100644 --- a/src/overlays/actors/ovl_Bg_Hidan_Fwbig/z_bg_hidan_fwbig.h +++ b/src/overlays/actors/ovl_Bg_Hidan_Fwbig/z_bg_hidan_fwbig.h @@ -6,9 +6,15 @@ struct BgHidanFwbig; +typedef void (*BgHidanFwbigActionFunc)(struct BgHidanFwbig*, GlobalContext*); + typedef struct BgHidanFwbig { /* 0x0000 */ Actor actor; - /* 0x014C */ char unk_14C[0x54]; + /* 0x014C */ BgHidanFwbigActionFunc actionFunc; + /* 0x0150 */ s8 direction; + /* 0x0151 */ u8 moveState; + /* 0x0152 */ s16 timer; + /* 0x0154 */ ColliderCylinder collider; } BgHidanFwbig; // size = 0x01A0 extern const ActorInit Bg_Hidan_Fwbig_InitVars; diff --git a/src/overlays/actors/ovl_En_Zl1/z_en_zl1.c b/src/overlays/actors/ovl_En_Zl1/z_en_zl1.c index 509b652ccc..d1f93f4301 100644 --- a/src/overlays/actors/ovl_En_Zl1/z_en_zl1.c +++ b/src/overlays/actors/ovl_En_Zl1/z_en_zl1.c @@ -121,12 +121,7 @@ void func_80B4AE18(EnZl1* this) { if (DECR(this->unk_1FC) == 0) { this->unk_1FC = Math_Rand_S16Offset(0x1E, 0xA); } - - if (this->unk_1FC < 4) { - this->unk_1FE = this->unk_1FC; - } else { - this->unk_1FE = 0; - } + this->unk_1FE = (this->unk_1FC < 4) ? this->unk_1FC : 0; this->unk_1F4 = D_80B4E61C[this->unk_1FE]; this->unk_1F8 = D_80B4E61C[this->unk_1FE]; @@ -141,17 +136,13 @@ void func_80B4AF18(EnZl1* this, GlobalContext* globalCtx) { func_80038290(globalCtx, &this->actor, &this->unk_200, &this->unk_206, this->actor.posRot2.pos); if (this->unk_1E6 != 0) { - if (func_8002F334(this, globalCtx) != 0) { + if (func_8002F334(&this->actor, globalCtx)) { this->unk_1E6 = 0; } - } else { - if (func_8002F194(this, globalCtx)) { - this->unk_1E6 = 1; - } else { - if (this->actor.posRot.pos.y <= player->actor.posRot.pos.y) { - func_8002F2F4(this, globalCtx); - } - } + } else if (func_8002F194(&this->actor, globalCtx)) { + this->unk_1E6 = 1; + } else if (this->actor.posRot.pos.y <= player->actor.posRot.pos.y) { + func_8002F2F4(&this->actor, globalCtx); } Collider_CylinderUpdate(&this->actor, &this->collider); @@ -193,10 +184,8 @@ void func_80B4B010(EnZl1* this, GlobalContext* globalCtx) { } else { if (1) {}; // necessary to match rotDiff = ABS(this->actor.yawTowardsLink - this->actor.shape.rot.y); - if (rotDiff < 0x238E) { - if (!(player->actor.posRot.pos.y < this->actor.posRot.pos.y)) { - func_8002F2F4(this, globalCtx); - } + if ((rotDiff < 0x238E) && !(player->actor.posRot.pos.y < this->actor.posRot.pos.y)) { + func_8002F2F4(&this->actor, globalCtx); } } } @@ -230,7 +219,7 @@ void func_80B4B240(EnZl1* this, GlobalContext* globalCtx) { sp3C = 1; this->actor.textId = 0x702E; func_8010B680(globalCtx, this->actor.textId, NULL); - this->unk_1E2 += 1; + this->unk_1E2++; break; } break; @@ -242,7 +231,7 @@ void func_80B4B240(EnZl1* this, GlobalContext* globalCtx) { player->actor.posRot.pos = sp58; this->actor.textId = 0x702F; func_8010B720(globalCtx, this->actor.textId); - this->unk_1E2 += 1; + this->unk_1E2++; } break; case 2: @@ -250,7 +239,7 @@ void func_80B4B240(EnZl1* this, GlobalContext* globalCtx) { if (msgCtx->choiceIndex == 0) { animationHeader = &D_06013F10; sp3C = 2; - this->unk_1E2 += 1; + this->unk_1E2++; } else { animationHeader = &D_060116E4; sp3C = 2; @@ -265,7 +254,7 @@ void func_80B4B240(EnZl1* this, GlobalContext* globalCtx) { sp3C = 1; this->actor.textId = 0x7032; func_8010B720(globalCtx, this->actor.textId); - this->unk_1E2 += 1; + this->unk_1E2++; } break; case 4: @@ -277,7 +266,7 @@ void func_80B4B240(EnZl1* this, GlobalContext* globalCtx) { } else { this->actor.textId = 0x7034; func_8010B720(globalCtx, this->actor.textId); - this->unk_1E2 += 1; + this->unk_1E2++; } } break; @@ -285,7 +274,7 @@ void func_80B4B240(EnZl1* this, GlobalContext* globalCtx) { if ((func_8010BDBC(msgCtx) == 5) && (func_80106BC8(globalCtx) != 0)) { this->actor.textId = 0x7033; func_8010B720(globalCtx, this->actor.textId); - this->unk_1E2 -= 1; + this->unk_1E2--; } break; case 6: @@ -295,14 +284,14 @@ void func_80B4B240(EnZl1* this, GlobalContext* globalCtx) { sp3C = 1; this->actor.textId = 0x7031; func_8010B720(globalCtx, this->actor.textId); - this->unk_1E2 += 1; + this->unk_1E2++; } break; case 7: if ((func_8010BDBC(msgCtx) == 5) && (func_80106BC8(globalCtx) != 0)) { this->actor.textId = 0x7030; func_8010B720(globalCtx, this->actor.textId); - this->unk_1E2 += 1; + this->unk_1E2++; } break; case 8: @@ -314,7 +303,7 @@ void func_80B4B240(EnZl1* this, GlobalContext* globalCtx) { } else { this->actor.textId = 0x7031; func_8010B720(globalCtx, this->actor.textId); - this->unk_1E2 -= 1; + this->unk_1E2--; } } break; @@ -326,7 +315,7 @@ void func_80B4B240(EnZl1* this, GlobalContext* globalCtx) { globalCtx->csCtx.segment = D_80B4C5D0; gSaveContext.cutsceneTrigger = 1; this->actionFunc = func_80B4B8B4; - this->unk_1E2 += 1; + this->unk_1E2++; } break; } @@ -443,13 +432,10 @@ void func_80B4BC78(EnZl1* this, GlobalContext* globalCtx) { CsCmdActorAction* npcAction; s32 pad; f32 frameCount; - Vec3f sp40; - if (SkelAnime_FrameUpdateMatrix(&this->skelAnime) != 0) { - if (this->skelAnime.animCurrentSeg == &D_06010B38) { - frameCount = SkelAnime_GetFrameCount(&D_06011348.genericHeader); - SkelAnime_ChangeAnim(&this->skelAnime, &D_06011348, 1.0f, 0.0f, frameCount, 0, -10.0f); - } + if (SkelAnime_FrameUpdateMatrix(&this->skelAnime) && (this->skelAnime.animCurrentSeg == &D_06010B38)) { + frameCount = SkelAnime_GetFrameCount(&D_06011348.genericHeader); + SkelAnime_ChangeAnim(&this->skelAnime, &D_06011348, 1.0f, 0.0f, frameCount, 0, -10.0f); } func_80B4B874(this, globalCtx); npcAction = globalCtx->csCtx.npcActions[0]; @@ -457,9 +443,7 @@ void func_80B4BC78(EnZl1* this, GlobalContext* globalCtx) { func_80B4B7F4(npcAction, &sp70); func_80B4B834(npcAction, &sp64); if (this->unk_1E6 == 0) { - sp40 = sp70; - this->actor.initPosRot.pos = sp40; - this->actor.posRot.pos = sp40; + this->actor.posRot.pos = this->actor.initPosRot.pos = sp70; } if (this->unk_1E6 != npcAction->action) { @@ -493,7 +477,7 @@ void func_80B4BF2C(EnZl1* this, GlobalContext* globalCtx) { if (msgCtx->choiceIndex == 0) { this->actor.textId = 0x703B; func_8010B720(globalCtx, this->actor.textId); - this->unk_1E2 += 1; + this->unk_1E2++; } else { this->actor.textId = 0x703A; func_8010B720(globalCtx, this->actor.textId); @@ -508,19 +492,19 @@ void func_80B4BF2C(EnZl1* this, GlobalContext* globalCtx) { func_8002F434(&this->actor, globalCtx, GI_LETTER_ZELDA, 120.0f, 10.0f); globalCtx->msgCtx.msgMode = 0x36; globalCtx->msgCtx.unk_E3E7 = 4; - this->unk_1E2 += 1; + this->unk_1E2++; } else { break; } case 2: - if (Actor_HasParent(this, globalCtx)) { + if (Actor_HasParent(&this->actor, globalCtx)) { func_800C078C(globalCtx, 0, this->unk_1E8); Gameplay_ChangeCameraStatus(globalCtx, 0, 7); Gameplay_ClearCamera(globalCtx, this->unk_1E8); this->actor.parent = NULL; - this->unk_1E2 += 1; + this->unk_1E2++; } else { - func_8002F434(this, globalCtx, GI_LETTER_ZELDA, 120.0f, 10.0f); + func_8002F434(&this->actor, globalCtx, GI_LETTER_ZELDA, 120.0f, 10.0f); } break; case 3: @@ -535,20 +519,20 @@ void func_80B4BF2C(EnZl1* this, GlobalContext* globalCtx) { if (player->actor.posRot.pos.y < this->actor.posRot.pos.y) { break; } else { - if (func_8002F194(this, globalCtx) != 0) { - this->unk_1E2 += 1; + if (func_8002F194(&this->actor, globalCtx)) { + this->unk_1E2++; } else { - func_8002F2F4(this, globalCtx); + func_8002F2F4(&this->actor, globalCtx); } } break; case 5: - if (func_8002F334(this, globalCtx) != 0) { - this->unk_1E2 -= 1; + if (func_8002F334(&this->actor, globalCtx)) { + this->unk_1E2--; } break; case 6: - if (func_8002F334(this, globalCtx) != 0) { + if (func_8002F334(&this->actor, globalCtx)) { func_8002DF54(globalCtx, &this->actor, 7); Interface_ChangeAlpha(50); this->actor.flags &= ~0x100; diff --git a/undefined_syms.txt b/undefined_syms.txt index 68c342797d..8365cd742a 100644 --- a/undefined_syms.txt +++ b/undefined_syms.txt @@ -1305,6 +1305,11 @@ D_06000B20 = 0x06000B20; D_06000BC0 = 0x06000BC0; D_06001580 = 0x06001580; +// z_Bg_Hidan_Fwbig +D_040173D0 = 0x040173D0; +D_04017BD0 = 0x04017BD0; +D_0600DB20 = 0x0600DB20; + // z_bg_po_event D_06007860 = 0x06007860; D_060075A0 = 0x060075A0;