From 7b2b88d552fad0f6603effd3c59a69b7a455e5de Mon Sep 17 00:00:00 2001 From: petrie911 <69443847+petrie911@users.noreply.github.com> Date: Sat, 17 Apr 2021 12:12:46 -0500 Subject: [PATCH] Volvagia (ovl_Boss_Fd) and related actors (#352) * Darkmeiro decompilation Bg_Gnd_Darkmeiro decompiled, matched, and documented. * Lots of functions matched. Some big ones are close. * Five left unmatched, one close. * Merged data and decompiled the giant function into something readable. Its branch structure has yet to be matched. * Three unmatched, one essentially matched, the rest matched. * More fixes. * Documented more of the structure and cleaned up a bit. * BossFd2, BgVbSima, and EnVbBall matched and documented * Also removed unneeded .s files * And need to name EnVbBall's functions * give this a shot * fix conflict * one more try * removing darkmeiro changes * and again * now OK from make clean * minor cleanup * One more matching function for BossFd * which means it doesn't need its .s * splitting * splitting * splitting * forgot some .s * fancy new names * fancy new names * trying again * sneaky .s files * sound effects and some hex to decimal conversions * Sound effects and static variable cleanup * format.sh and clean up static variables * sfx and formatting * ZAP and cleanup * small cleanup * cleanup and ZAP * ZAP * looking at the giant function again * looking at the giant function again * Only the big function left. * Those .s files aren't mine, officer * float literals might be fixed. regalloc still a nightmare * almost done with the big function * should make now * not much of a change * all functions match. rodata somehow doesn't. * forgot some things * lots of cleanup * and a little more * small error * large cleanup. Also BossFd has function names and inlined variable declarations * still more cleanup * the quest for 0.1f continues * forgot to put NON_MATCHING back in * Data structures fully documented. Still more cleanup. * DECR now works with BossFd2 * should match now * cleanup * small cleanup * cleanup and names * tiny thing * particles and headers and stuff * now with more enums * merge * test * end test * update * cleanup * object 2 * object 1 * doc object_fd2 * git subrepo pull --force tools/ZAPD subrepo: subdir: "tools/ZAPD" merged: "6f874af4a" upstream: origin: "https://github.com/zeldaret/ZAPD.git" branch: "master" commit: "6f874af4a" git-subrepo: version: "0.4.3" origin: "https://github.com/ingydotnet/git-subrepo.git" commit: "2f68596" * formatting * .s * merge actor * vertex arrays * a little more * formatting * merge opd * fixed damage check * cleanup * fixes * effect struct * review Co-authored-by: petrie911 Co-authored-by: fig02 --- .../actors/ovl_Bg_Vb_Sima/BgVbSima_Destroy.s | 14 - .../actors/ovl_Bg_Vb_Sima/BgVbSima_Draw.s | 66 - .../actors/ovl_Bg_Vb_Sima/BgVbSima_Init.s | 31 - .../actors/ovl_Bg_Vb_Sima/BgVbSima_Update.s | 326 --- .../actors/ovl_Bg_Vb_Sima/func_808BDDF8.s | 56 - .../actors/ovl_Boss_Fd/BossFd_Destroy.s | 23 - .../overlays/actors/ovl_Boss_Fd/BossFd_Draw.s | 94 - .../{func_808CB718.s => BossFd_Fly.s} | 58 +- .../overlays/actors/ovl_Boss_Fd/BossFd_Init.s | 222 -- .../actors/ovl_Boss_Fd/BossFd_Update.s | 557 ----- .../actors/ovl_Boss_Fd/func_808CADC0.s | 56 - .../actors/ovl_Boss_Fd/func_808CAE8C.s | 58 - .../actors/ovl_Boss_Fd/func_808CAF5C.s | 41 - .../actors/ovl_Boss_Fd/func_808CAFF4.s | 72 - .../actors/ovl_Boss_Fd/func_808CB100.s | 39 - .../actors/ovl_Boss_Fd/func_808CB198.s | 101 - .../actors/ovl_Boss_Fd/func_808CB67C.s | 13 - .../actors/ovl_Boss_Fd/func_808CB6A8.s | 29 - .../actors/ovl_Boss_Fd/func_808CDE30.s | 136 - .../actors/ovl_Boss_Fd/func_808CE01C.s | 885 ------- .../actors/ovl_Boss_Fd/func_808CEC34.s | 49 - .../actors/ovl_Boss_Fd/func_808CF448.s | 310 --- .../actors/ovl_Boss_Fd/func_808CF898.s | 495 ---- .../actors/ovl_Boss_Fd/func_808D00A4.s | 77 - .../actors/ovl_Boss_Fd/func_808D01C0.s | 77 - .../actors/ovl_Boss_Fd/func_808D02DC.s | 346 --- .../actors/ovl_Boss_Fd/func_808D07A4.s | 78 - .../actors/ovl_Boss_Fd/func_808D08A4.s | 23 - .../actors/ovl_Boss_Fd/func_808D08F8.s | 957 -------- .../actors/ovl_Boss_Fd2/BossFd2_Destroy.s | 15 - .../actors/ovl_Boss_Fd2/BossFd2_Draw.s | 170 -- .../actors/ovl_Boss_Fd2/BossFd2_Init.s | 73 - .../actors/ovl_Boss_Fd2/BossFd2_Update.s | 131 - .../actors/ovl_Boss_Fd2/func_808D2670.s | 60 - .../actors/ovl_Boss_Fd2/func_808D2748.s | 74 - .../actors/ovl_Boss_Fd2/func_808D285C.s | 58 - .../actors/ovl_Boss_Fd2/func_808D2930.s | 60 - .../actors/ovl_Boss_Fd2/func_808D2A08.s | 41 - .../actors/ovl_Boss_Fd2/func_808D2BD0.s | 91 - .../actors/ovl_Boss_Fd2/func_808D2CE0.s | 304 --- .../actors/ovl_Boss_Fd2/func_808D308C.s | 57 - .../actors/ovl_Boss_Fd2/func_808D3140.s | 112 - .../actors/ovl_Boss_Fd2/func_808D32B4.s | 33 - .../actors/ovl_Boss_Fd2/func_808D3330.s | 59 - .../actors/ovl_Boss_Fd2/func_808D3400.s | 27 - .../actors/ovl_Boss_Fd2/func_808D3464.s | 370 --- .../actors/ovl_Boss_Fd2/func_808D39A8.s | 26 - .../actors/ovl_Boss_Fd2/func_808D3A08.s | 36 - .../actors/ovl_Boss_Fd2/func_808D3A80.s | 26 - .../actors/ovl_Boss_Fd2/func_808D3AE0.s | 170 -- .../actors/ovl_Boss_Fd2/func_808D3D38.s | 26 - .../actors/ovl_Boss_Fd2/func_808D3D98.s | 87 - .../actors/ovl_Boss_Fd2/func_808D3EC8.s | 39 - .../actors/ovl_Boss_Fd2/func_808D3F58.s | 102 - .../actors/ovl_Boss_Fd2/func_808D40C8.s | 478 ---- .../actors/ovl_Boss_Fd2/func_808D4748.s | 20 - .../actors/ovl_Boss_Fd2/func_808D4790.s | 365 --- .../actors/ovl_Boss_Fd2/func_808D4C68.s | 116 - .../actors/ovl_Boss_Fd2/func_808D4F94.s | 198 -- .../actors/ovl_Boss_Fd2/func_808D5228.s | 43 - .../actors/ovl_Boss_Fd2/func_808D52CC.s | 436 ---- .../actors/ovl_Boss_Fd2/func_808D58E0.s | 316 --- .../actors/ovl_En_Vb_Ball/EnVbBall_Destroy.s | 17 - .../actors/ovl_En_Vb_Ball/EnVbBall_Draw.s | 173 -- .../actors/ovl_En_Vb_Ball/EnVbBall_Init.s | 126 - .../actors/ovl_En_Vb_Ball/EnVbBall_Update.s | 564 ----- .../actors/ovl_En_Vb_Ball/func_80B29158.s | 60 - .../actors/ovl_En_Vb_Ball/func_80B29230.s | 43 - .../actors/ovl_En_Vb_Ball/func_80B292D0.s | 207 -- assets/xml/objects/object_fd.xml | 76 + assets/xml/objects/object_fd2.xml | 41 + data/overlays/actors/z_bg_vb_sima.data.s | 24 - data/overlays/actors/z_bg_vb_sima.reloc.s | 13 - data/overlays/actors/z_boss_fd.data.s | 95 - data/overlays/actors/z_boss_fd2.data.s | 61 - data/overlays/actors/z_boss_fd2.reloc.s | 13 - data/overlays/actors/z_en_vb_ball.data.s | 36 - data/overlays/actors/z_en_vb_ball.reloc.s | 13 - include/functions.h | 2 +- include/z64.h | 4 +- spec | 20 +- src/code/z_actor.c | 2 +- src/code/z_skin_awb.c | 3 +- .../actors/ovl_Bg_Vb_Sima/z_bg_vb_sima.c | 142 +- .../actors/ovl_Bg_Vb_Sima/z_bg_vb_sima.h | 12 +- src/overlays/actors/ovl_Boss_Fd/z_boss_fd.c | 2183 +++++++++++++++-- src/overlays/actors/ovl_Boss_Fd/z_boss_fd.h | 173 +- .../actors/ovl_Boss_Fd/z_boss_fd_colchk.c | 226 ++ src/overlays/actors/ovl_Boss_Fd2/z_boss_fd2.c | 1306 ++++++++-- src/overlays/actors/ovl_Boss_Fd2/z_boss_fd2.h | 80 +- .../actors/ovl_Boss_Fd2/z_boss_fd2_colchk.c | 116 + .../ovl_En_Anubice_Fire/z_en_anubice_fire.c | 4 +- .../actors/ovl_En_Vb_Ball/z_en_vb_ball.c | 286 ++- .../actors/ovl_En_Vb_Ball/z_en_vb_ball.h | 10 +- undefined_syms.txt | 10 +- 95 files changed, 4290 insertions(+), 11359 deletions(-) delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Vb_Sima/BgVbSima_Destroy.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Vb_Sima/BgVbSima_Draw.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Vb_Sima/BgVbSima_Init.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Vb_Sima/BgVbSima_Update.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Vb_Sima/func_808BDDF8.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Boss_Fd/BossFd_Destroy.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Boss_Fd/BossFd_Draw.s rename asm/non_matchings/overlays/actors/ovl_Boss_Fd/{func_808CB718.s => BossFd_Fly.s} (98%) delete mode 100644 asm/non_matchings/overlays/actors/ovl_Boss_Fd/BossFd_Init.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Boss_Fd/BossFd_Update.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808CADC0.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808CAE8C.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808CAF5C.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808CAFF4.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808CB100.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808CB198.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808CB67C.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808CB6A8.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808CDE30.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808CE01C.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808CEC34.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808CF448.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808CF898.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808D00A4.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808D01C0.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808D02DC.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808D07A4.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808D08A4.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808D08F8.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Boss_Fd2/BossFd2_Destroy.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Boss_Fd2/BossFd2_Draw.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Boss_Fd2/BossFd2_Init.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Boss_Fd2/BossFd2_Update.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D2670.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D2748.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D285C.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D2930.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D2A08.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D2BD0.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D2CE0.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D308C.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D3140.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D32B4.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D3330.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D3400.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D3464.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D39A8.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D3A08.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D3A80.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D3AE0.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D3D38.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D3D98.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D3EC8.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D3F58.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D40C8.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D4748.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D4790.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D4C68.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D4F94.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D5228.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D52CC.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D58E0.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Vb_Ball/EnVbBall_Destroy.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Vb_Ball/EnVbBall_Draw.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Vb_Ball/EnVbBall_Init.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Vb_Ball/EnVbBall_Update.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Vb_Ball/func_80B29158.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Vb_Ball/func_80B29230.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Vb_Ball/func_80B292D0.s create mode 100644 assets/xml/objects/object_fd.xml create mode 100644 assets/xml/objects/object_fd2.xml delete mode 100644 data/overlays/actors/z_bg_vb_sima.data.s delete mode 100644 data/overlays/actors/z_bg_vb_sima.reloc.s delete mode 100644 data/overlays/actors/z_boss_fd.data.s delete mode 100644 data/overlays/actors/z_boss_fd2.data.s delete mode 100644 data/overlays/actors/z_boss_fd2.reloc.s delete mode 100644 data/overlays/actors/z_en_vb_ball.data.s delete mode 100644 data/overlays/actors/z_en_vb_ball.reloc.s create mode 100644 src/overlays/actors/ovl_Boss_Fd/z_boss_fd_colchk.c create mode 100644 src/overlays/actors/ovl_Boss_Fd2/z_boss_fd2_colchk.c diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Vb_Sima/BgVbSima_Destroy.s b/asm/non_matchings/overlays/actors/ovl_Bg_Vb_Sima/BgVbSima_Destroy.s deleted file mode 100644 index 834a12143d..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Vb_Sima/BgVbSima_Destroy.s +++ /dev/null @@ -1,14 +0,0 @@ -glabel BgVbSima_Destroy -/* 00068 808BDDC8 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 0006C 808BDDCC AFA40018 */ sw $a0, 0x0018($sp) -/* 00070 808BDDD0 8FAE0018 */ lw $t6, 0x0018($sp) -/* 00074 808BDDD4 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00078 808BDDD8 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000 -/* 0007C 808BDDDC 24A50810 */ addiu $a1, $a1, 0x0810 ## $a1 = 00000810 -/* 00080 808BDDE0 0C00FB56 */ jal DynaPoly_DeleteBgActor - ## DynaPoly_DeleteBgActor -/* 00084 808BDDE4 8DC6014C */ lw $a2, 0x014C($t6) ## 0000014C -/* 00088 808BDDE8 8FBF0014 */ lw $ra, 0x0014($sp) -/* 0008C 808BDDEC 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00090 808BDDF0 03E00008 */ jr $ra -/* 00094 808BDDF4 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Vb_Sima/BgVbSima_Draw.s b/asm/non_matchings/overlays/actors/ovl_Bg_Vb_Sima/BgVbSima_Draw.s deleted file mode 100644 index 5b38c55731..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Vb_Sima/BgVbSima_Draw.s +++ /dev/null @@ -1,66 +0,0 @@ -.rdata -glabel D_808BE420 - .asciz "../z_bg_vb_sima.c" - .balign 4 - -glabel D_808BE434 - .asciz "../z_bg_vb_sima.c" - .balign 4 - -glabel D_808BE448 - .asciz "../z_bg_vb_sima.c" - .balign 4 - -.text -glabel BgVbSima_Draw -/* 005C4 808BE324 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0 -/* 005C8 808BE328 AFBF001C */ sw $ra, 0x001C($sp) -/* 005CC 808BE32C AFB00018 */ sw $s0, 0x0018($sp) -/* 005D0 808BE330 AFA40040 */ sw $a0, 0x0040($sp) -/* 005D4 808BE334 AFA50044 */ sw $a1, 0x0044($sp) -/* 005D8 808BE338 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000 -/* 005DC 808BE33C 3C06808C */ lui $a2, %hi(D_808BE420) ## $a2 = 808C0000 -/* 005E0 808BE340 24C6E420 */ addiu $a2, $a2, %lo(D_808BE420) ## $a2 = 808BE420 -/* 005E4 808BE344 27A4002C */ addiu $a0, $sp, 0x002C ## $a0 = FFFFFFEC -/* 005E8 808BE348 2407011D */ addiu $a3, $zero, 0x011D ## $a3 = 0000011D -/* 005EC 808BE34C 0C031AB1 */ jal Graph_OpenDisps -/* 005F0 808BE350 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000 -/* 005F4 808BE354 8FAF0044 */ lw $t7, 0x0044($sp) -/* 005F8 808BE358 0C024F46 */ jal func_80093D18 -/* 005FC 808BE35C 8DE40000 */ lw $a0, 0x0000($t7) ## 00000000 -/* 00600 808BE360 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0 -/* 00604 808BE364 3C19DA38 */ lui $t9, 0xDA38 ## $t9 = DA380000 -/* 00608 808BE368 37390003 */ ori $t9, $t9, 0x0003 ## $t9 = DA380003 -/* 0060C 808BE36C 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008 -/* 00610 808BE370 AE1802C0 */ sw $t8, 0x02C0($s0) ## 000002C0 -/* 00614 808BE374 AC590000 */ sw $t9, 0x0000($v0) ## 00000000 -/* 00618 808BE378 8FA80044 */ lw $t0, 0x0044($sp) -/* 0061C 808BE37C 3C05808C */ lui $a1, %hi(D_808BE434) ## $a1 = 808C0000 -/* 00620 808BE380 24A5E434 */ addiu $a1, $a1, %lo(D_808BE434) ## $a1 = 808BE434 -/* 00624 808BE384 8D040000 */ lw $a0, 0x0000($t0) ## 00000000 -/* 00628 808BE388 24060123 */ addiu $a2, $zero, 0x0123 ## $a2 = 00000123 -/* 0062C 808BE38C 0C0346A2 */ jal Matrix_NewMtx -/* 00630 808BE390 AFA20028 */ sw $v0, 0x0028($sp) -/* 00634 808BE394 8FA30028 */ lw $v1, 0x0028($sp) -/* 00638 808BE398 3C0B0600 */ lui $t3, 0x0600 ## $t3 = 06000000 -/* 0063C 808BE39C 256B0240 */ addiu $t3, $t3, 0x0240 ## $t3 = 06000240 -/* 00640 808BE3A0 AC620004 */ sw $v0, 0x0004($v1) ## 00000004 -/* 00644 808BE3A4 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0 -/* 00648 808BE3A8 3C0ADE00 */ lui $t2, 0xDE00 ## $t2 = DE000000 -/* 0064C 808BE3AC 3C06808C */ lui $a2, %hi(D_808BE448) ## $a2 = 808C0000 -/* 00650 808BE3B0 24490008 */ addiu $t1, $v0, 0x0008 ## $t1 = 00000008 -/* 00654 808BE3B4 AE0902C0 */ sw $t1, 0x02C0($s0) ## 000002C0 -/* 00658 808BE3B8 AC4B0004 */ sw $t3, 0x0004($v0) ## 00000004 -/* 0065C 808BE3BC AC4A0000 */ sw $t2, 0x0000($v0) ## 00000000 -/* 00660 808BE3C0 8FAC0044 */ lw $t4, 0x0044($sp) -/* 00664 808BE3C4 24C6E448 */ addiu $a2, $a2, %lo(D_808BE448) ## $a2 = 808BE448 -/* 00668 808BE3C8 27A4002C */ addiu $a0, $sp, 0x002C ## $a0 = FFFFFFEC -/* 0066C 808BE3CC 24070128 */ addiu $a3, $zero, 0x0128 ## $a3 = 00000128 -/* 00670 808BE3D0 0C031AD5 */ jal Graph_CloseDisps -/* 00674 808BE3D4 8D850000 */ lw $a1, 0x0000($t4) ## 00000000 -/* 00678 808BE3D8 8FBF001C */ lw $ra, 0x001C($sp) -/* 0067C 808BE3DC 8FB00018 */ lw $s0, 0x0018($sp) -/* 00680 808BE3E0 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000 -/* 00684 808BE3E4 03E00008 */ jr $ra -/* 00688 808BE3E8 00000000 */ nop -/* 0068C 808BE3EC 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Vb_Sima/BgVbSima_Init.s b/asm/non_matchings/overlays/actors/ovl_Bg_Vb_Sima/BgVbSima_Init.s deleted file mode 100644 index f29115fac6..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Vb_Sima/BgVbSima_Init.s +++ /dev/null @@ -1,31 +0,0 @@ -glabel BgVbSima_Init -/* 00000 808BDD60 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8 -/* 00004 808BDD64 AFA5002C */ sw $a1, 0x002C($sp) -/* 00008 808BDD68 AFBF0014 */ sw $ra, 0x0014($sp) -/* 0000C 808BDD6C 3C05808C */ lui $a1, %hi(D_808BE410) ## $a1 = 808C0000 -/* 00010 808BDD70 AFA40028 */ sw $a0, 0x0028($sp) -/* 00014 808BDD74 AFA0001C */ sw $zero, 0x001C($sp) -/* 00018 808BDD78 0C01E037 */ jal Actor_ProcessInitChain - -/* 0001C 808BDD7C 24A5E410 */ addiu $a1, $a1, %lo(D_808BE410) ## $a1 = 808BE410 -/* 00020 808BDD80 8FA40028 */ lw $a0, 0x0028($sp) -/* 00024 808BDD84 0C010D20 */ jal DynaPolyActor_Init - -/* 00028 808BDD88 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 0002C 808BDD8C 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000 -/* 00030 808BDD90 24840D68 */ addiu $a0, $a0, 0x0D68 ## $a0 = 06000D68 -/* 00034 808BDD94 0C010620 */ jal CollisionHeader_GetVirtual - -/* 00038 808BDD98 27A5001C */ addiu $a1, $sp, 0x001C ## $a1 = FFFFFFF4 -/* 0003C 808BDD9C 8FA4002C */ lw $a0, 0x002C($sp) -/* 00040 808BDDA0 8FA60028 */ lw $a2, 0x0028($sp) -/* 00044 808BDDA4 8FA7001C */ lw $a3, 0x001C($sp) -/* 00048 808BDDA8 0C00FA9D */ jal DynaPoly_SetBgActor - ## DynaPoly_SetBgActor -/* 0004C 808BDDAC 24850810 */ addiu $a1, $a0, 0x0810 ## $a1 = 00000810 -/* 00050 808BDDB0 8FAE0028 */ lw $t6, 0x0028($sp) -/* 00054 808BDDB4 ADC2014C */ sw $v0, 0x014C($t6) ## 0000014C -/* 00058 808BDDB8 8FBF0014 */ lw $ra, 0x0014($sp) -/* 0005C 808BDDBC 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000 -/* 00060 808BDDC0 03E00008 */ jr $ra -/* 00064 808BDDC4 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Vb_Sima/BgVbSima_Update.s b/asm/non_matchings/overlays/actors/ovl_Bg_Vb_Sima/BgVbSima_Update.s deleted file mode 100644 index b228cdf8e0..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Vb_Sima/BgVbSima_Update.s +++ /dev/null @@ -1,326 +0,0 @@ -.late_rodata -glabel D_808BE45C - .float 0.4 - -glabel D_808BE460 - .word 0x3EA8F5C3 -glabel D_808BE464 - .float 0.05 - -glabel D_808BE468 - .float 0.05 - -glabel D_808BE46C - .word 0xBE99999A - -.text -glabel BgVbSima_Update -/* 00164 808BDEC4 27BDFF10 */ addiu $sp, $sp, 0xFF10 ## $sp = FFFFFF10 -/* 00168 808BDEC8 AFBF007C */ sw $ra, 0x007C($sp) -/* 0016C 808BDECC AFB70078 */ sw $s7, 0x0078($sp) -/* 00170 808BDED0 AFB60074 */ sw $s6, 0x0074($sp) -/* 00174 808BDED4 AFB50070 */ sw $s5, 0x0070($sp) -/* 00178 808BDED8 AFB4006C */ sw $s4, 0x006C($sp) -/* 0017C 808BDEDC AFB30068 */ sw $s3, 0x0068($sp) -/* 00180 808BDEE0 AFB20064 */ sw $s2, 0x0064($sp) -/* 00184 808BDEE4 AFB10060 */ sw $s1, 0x0060($sp) -/* 00188 808BDEE8 AFB0005C */ sw $s0, 0x005C($sp) -/* 0018C 808BDEEC F7BE0050 */ sdc1 $f30, 0x0050($sp) -/* 00190 808BDEF0 F7BC0048 */ sdc1 $f28, 0x0048($sp) -/* 00194 808BDEF4 F7BA0040 */ sdc1 $f26, 0x0040($sp) -/* 00198 808BDEF8 F7B80038 */ sdc1 $f24, 0x0038($sp) -/* 0019C 808BDEFC F7B60030 */ sdc1 $f22, 0x0030($sp) -/* 001A0 808BDF00 F7B40028 */ sdc1 $f20, 0x0028($sp) -/* 001A4 808BDF04 848E0174 */ lh $t6, 0x0174($a0) ## 00000174 -/* 001A8 808BDF08 0080B025 */ or $s6, $a0, $zero ## $s6 = 00000000 -/* 001AC 808BDF0C 8C900118 */ lw $s0, 0x0118($a0) ## 00000118 -/* 001B0 808BDF10 25CF0001 */ addiu $t7, $t6, 0x0001 ## $t7 = 00000001 -/* 001B4 808BDF14 A48F0174 */ sh $t7, 0x0174($a0) ## 00000174 -/* 001B8 808BDF18 00A0B825 */ or $s7, $a1, $zero ## $s7 = 00000000 -/* 001BC 808BDF1C 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000 -/* 001C0 808BDF20 3C050001 */ lui $a1, 0x0001 ## $a1 = 00010000 -/* 001C4 808BDF24 00B72821 */ addu $a1, $a1, $s7 -/* 001C8 808BDF28 0C00B337 */ jal Flags_GetClear - -/* 001CC 808BDF2C 80A51CBC */ lb $a1, 0x1CBC($a1) ## 00011CBC -/* 001D0 808BDF30 544000EC */ bnel $v0, $zero, .L808BE2E4 -/* 001D4 808BDF34 8FBF007C */ lw $ra, 0x007C($sp) -/* 001D8 808BDF38 920202D6 */ lbu $v0, 0x02D6($s0) ## 000002D6 -/* 001DC 808BDF3C 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 001E0 808BDF40 26C40028 */ addiu $a0, $s6, 0x0028 ## $a0 = 00000028 -/* 001E4 808BDF44 1441003C */ bne $v0, $at, .L808BE038 -/* 001E8 808BDF48 00401825 */ or $v1, $v0, $zero ## $v1 = 00000000 -/* 001EC 808BDF4C 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00 -/* 001F0 808BDF50 3C05C47A */ lui $a1, 0xC47A ## $a1 = C47A0000 -/* 001F4 808BDF54 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000 -/* 001F8 808BDF58 3C073FC0 */ lui $a3, 0x3FC0 ## $a3 = 3FC00000 -/* 001FC 808BDF5C 0C01E0C4 */ jal Math_SmoothStepToF - -/* 00200 808BDF60 E7A40010 */ swc1 $f4, 0x0010($sp) -/* 00204 808BDF64 86C40174 */ lh $a0, 0x0174($s6) ## 00000174 -/* 00208 808BDF68 000423C0 */ sll $a0, $a0, 15 -/* 0020C 808BDF6C 00042400 */ sll $a0, $a0, 16 -/* 00210 808BDF70 0C01DE0D */ jal Math_CosS - ## coss? -/* 00214 808BDF74 00042403 */ sra $a0, $a0, 16 -/* 00218 808BDF78 86C40174 */ lh $a0, 0x0174($s6) ## 00000174 -/* 0021C 808BDF7C 46000200 */ add.s $f8, $f0, $f0 -/* 00220 808BDF80 C6C6002C */ lwc1 $f6, 0x002C($s6) ## 0000002C -/* 00224 808BDF84 00800821 */ addu $at, $a0, $zero -/* 00228 808BDF88 000420C0 */ sll $a0, $a0, 3 -/* 0022C 808BDF8C 46083280 */ add.s $f10, $f6, $f8 -/* 00230 808BDF90 00812023 */ subu $a0, $a0, $at -/* 00234 808BDF94 00042300 */ sll $a0, $a0, 12 -/* 00238 808BDF98 00042400 */ sll $a0, $a0, 16 -/* 0023C 808BDF9C E6CA002C */ swc1 $f10, 0x002C($s6) ## 0000002C -/* 00240 808BDFA0 0C01DE1C */ jal Math_SinS - ## sins? -/* 00244 808BDFA4 00042403 */ sra $a0, $a0, 16 -/* 00248 808BDFA8 4600040D */ trunc.w.s $f16, $f0 -/* 0024C 808BDFAC 24110037 */ addiu $s1, $zero, 0x0037 ## $s1 = 00000037 -/* 00250 808BDFB0 86C40174 */ lh $a0, 0x0174($s6) ## 00000174 -/* 00254 808BDFB4 44198000 */ mfc1 $t9, $f16 -/* 00258 808BDFB8 00800821 */ addu $at, $a0, $zero -/* 0025C 808BDFBC 00042080 */ sll $a0, $a0, 2 -/* 00260 808BDFC0 00194400 */ sll $t0, $t9, 16 -/* 00264 808BDFC4 00084C03 */ sra $t1, $t0, 16 -/* 00268 808BDFC8 01310019 */ multu $t1, $s1 -/* 0026C 808BDFCC 00812021 */ addu $a0, $a0, $at -/* 00270 808BDFD0 00042300 */ sll $a0, $a0, 12 -/* 00274 808BDFD4 00042400 */ sll $a0, $a0, 16 -/* 00278 808BDFD8 00042403 */ sra $a0, $a0, 16 -/* 0027C 808BDFDC 00005012 */ mflo $t2 -/* 00280 808BDFE0 A6CA00B4 */ sh $t2, 0x00B4($s6) ## 000000B4 -/* 00284 808BDFE4 0C01DE1C */ jal Math_SinS - ## sins? -/* 00288 808BDFE8 00000000 */ nop -/* 0028C 808BDFEC 4600048D */ trunc.w.s $f18, $f0 -/* 00290 808BDFF0 3C078013 */ lui $a3, %hi(D_801333E0) -/* 00294 808BDFF4 3C188013 */ lui $t8, %hi(D_801333E8) -/* 00298 808BDFF8 24E733E0 */ addiu $a3, %lo(D_801333E0) -/* 0029C 808BDFFC 440C9000 */ mfc1 $t4, $f18 -/* 002A0 808BE000 271833E8 */ addiu $t8, %lo(D_801333E8) -/* 002A4 808BE004 2404205C */ addiu $a0, $zero, 0x205C ## $a0 = 0000205C -/* 002A8 808BE008 000C6C00 */ sll $t5, $t4, 16 -/* 002AC 808BE00C 000D7403 */ sra $t6, $t5, 16 -/* 002B0 808BE010 01D10019 */ multu $t6, $s1 -/* 002B4 808BE014 26C500E4 */ addiu $a1, $s6, 0x00E4 ## $a1 = 000000E4 -/* 002B8 808BE018 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004 -/* 002BC 808BE01C 00007812 */ mflo $t7 -/* 002C0 808BE020 A6CF00B8 */ sh $t7, 0x00B8($s6) ## 000000B8 -/* 002C4 808BE024 AFB80014 */ sw $t8, 0x0014($sp) -/* 002C8 808BE028 0C03DCE3 */ jal Audio_PlaySoundGeneral - -/* 002CC 808BE02C AFA70010 */ sw $a3, 0x0010($sp) -/* 002D0 808BE030 10000007 */ beq $zero, $zero, .L808BE050 -/* 002D4 808BE034 920202D6 */ lbu $v0, 0x02D6($s0) ## 000002D6 -.L808BE038: -/* 002D8 808BE038 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002 -/* 002DC 808BE03C 14610004 */ bne $v1, $at, .L808BE050 -/* 002E0 808BE040 00000000 */ nop -/* 002E4 808BE044 0C00B55C */ jal Actor_Kill - -/* 002E8 808BE048 02C02025 */ or $a0, $s6, $zero ## $a0 = 00000000 -/* 002EC 808BE04C 920202D6 */ lbu $v0, 0x02D6($s0) ## 000002D6 -.L808BE050: -/* 002F0 808BE050 104000A3 */ beq $v0, $zero, .L808BE2E0 -/* 002F4 808BE054 0000A825 */ or $s5, $zero, $zero ## $s5 = 00000000 -/* 002F8 808BE058 3C01808C */ lui $at, %hi(D_808BE45C) ## $at = 808C0000 -/* 002FC 808BE05C C43EE45C */ lwc1 $f30, %lo(D_808BE45C)($at) -/* 00300 808BE060 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000 -/* 00304 808BE064 4481E000 */ mtc1 $at, $f28 ## $f28 = 5.00 -/* 00308 808BE068 3C014270 */ lui $at, 0x4270 ## $at = 42700000 -/* 0030C 808BE06C 4481B000 */ mtc1 $at, $f22 ## $f22 = 60.00 -/* 00310 808BE070 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000 -/* 00314 808BE074 4481A000 */ mtc1 $at, $f20 ## $f20 = 0.50 -/* 00318 808BE078 26111970 */ addiu $s1, $s0, 0x1970 ## $s1 = 00001970 -/* 0031C 808BE07C 27B40090 */ addiu $s4, $sp, 0x0090 ## $s4 = FFFFFFA0 -/* 00320 808BE080 27B3009C */ addiu $s3, $sp, 0x009C ## $s3 = FFFFFFAC -/* 00324 808BE084 27B200A8 */ addiu $s2, $sp, 0x00A8 ## $s2 = FFFFFFB8 -.L808BE088: -/* 00328 808BE088 0C03F66B */ jal Rand_ZeroOne - ## Rand.Next() float -/* 0032C 808BE08C 00000000 */ nop -/* 00330 808BE090 3C01808C */ lui $at, %hi(D_808BE460) ## $at = 808C0000 -/* 00334 808BE094 C424E460 */ lwc1 $f4, %lo(D_808BE460)($at) -/* 00338 808BE098 3C0142A0 */ lui $at, 0x42A0 ## $at = 42A00000 -/* 0033C 808BE09C 4604003C */ c.lt.s $f0, $f4 -/* 00340 808BE0A0 00000000 */ nop -/* 00344 808BE0A4 4502000A */ bc1fl .L808BE0D0 -/* 00348 808BE0A8 4481D000 */ mtc1 $at, $f26 ## $f26 = 80.00 -/* 0034C 808BE0AC 3C01C2A0 */ lui $at, 0xC2A0 ## $at = C2A00000 -/* 00350 808BE0B0 4481C000 */ mtc1 $at, $f24 ## $f24 = -80.00 -/* 00354 808BE0B4 3C014320 */ lui $at, 0x4320 ## $at = 43200000 -/* 00358 808BE0B8 44816000 */ mtc1 $at, $f12 ## $f12 = 160.00 -/* 0035C 808BE0BC 0C00CFC8 */ jal Rand_CenteredFloat - -/* 00360 808BE0C0 00000000 */ nop -/* 00364 808BE0C4 10000013 */ beq $zero, $zero, .L808BE114 -/* 00368 808BE0C8 46000686 */ mov.s $f26, $f0 -/* 0036C 808BE0CC 4481D000 */ mtc1 $at, $f26 ## $f26 = 0.00 -.L808BE0D0: -/* 00370 808BE0D0 0C03F66B */ jal Rand_ZeroOne - ## Rand.Next() float -/* 00374 808BE0D4 00000000 */ nop -/* 00378 808BE0D8 4614003C */ c.lt.s $f0, $f20 -/* 0037C 808BE0DC 3C0142A0 */ lui $at, 0x42A0 ## $at = 42A00000 -/* 00380 808BE0E0 45020008 */ bc1fl .L808BE104 -/* 00384 808BE0E4 3C014320 */ lui $at, 0x4320 ## $at = 43200000 -/* 00388 808BE0E8 44813000 */ mtc1 $at, $f6 ## $f6 = 160.00 -/* 0038C 808BE0EC 3C01BF80 */ lui $at, 0xBF80 ## $at = BF800000 -/* 00390 808BE0F0 44814000 */ mtc1 $at, $f8 ## $f8 = -1.00 -/* 00394 808BE0F4 00000000 */ nop -/* 00398 808BE0F8 46083682 */ mul.s $f26, $f6, $f8 -/* 0039C 808BE0FC 00000000 */ nop -/* 003A0 808BE100 3C014320 */ lui $at, 0x4320 ## $at = 43200000 -.L808BE104: -/* 003A4 808BE104 44816000 */ mtc1 $at, $f12 ## $f12 = 160.00 -/* 003A8 808BE108 0C00CFC8 */ jal Rand_CenteredFloat - -/* 003AC 808BE10C 00000000 */ nop -/* 003B0 808BE110 46000606 */ mov.s $f24, $f0 -.L808BE114: -/* 003B4 808BE114 3C01808C */ lui $at, %hi(D_808BE464) ## $at = 808C0000 -/* 003B8 808BE118 C42AE464 */ lwc1 $f10, %lo(D_808BE464)($at) -/* 003BC 808BE11C 3C014040 */ lui $at, 0x4040 ## $at = 40400000 -/* 003C0 808BE120 44816000 */ mtc1 $at, $f12 ## $f12 = 3.00 -/* 003C4 808BE124 460AC402 */ mul.s $f16, $f24, $f10 -/* 003C8 808BE128 0C00CFBE */ jal Rand_ZeroFloat - -/* 003CC 808BE12C E7B000CC */ swc1 $f16, 0x00CC($sp) -/* 003D0 808BE130 3C014040 */ lui $at, 0x4040 ## $at = 40400000 -/* 003D4 808BE134 44819000 */ mtc1 $at, $f18 ## $f18 = 3.00 -/* 003D8 808BE138 3C01808C */ lui $at, %hi(D_808BE468) ## $at = 808C0000 -/* 003DC 808BE13C C426E468 */ lwc1 $f6, %lo(D_808BE468)($at) -/* 003E0 808BE140 46120100 */ add.s $f4, $f0, $f18 -/* 003E4 808BE144 3C01808C */ lui $at, %hi(D_808BE46C) ## $at = 808C0000 -/* 003E8 808BE148 4606D202 */ mul.s $f8, $f26, $f6 -/* 003EC 808BE14C C42AE46C */ lwc1 $f10, %lo(D_808BE46C)($at) -/* 003F0 808BE150 C7B000CC */ lwc1 $f16, 0x00CC($sp) -/* 003F4 808BE154 E7A400D0 */ swc1 $f4, 0x00D0($sp) -/* 003F8 808BE158 E7AA00C4 */ swc1 $f10, 0x00C4($sp) -/* 003FC 808BE15C E7B000C0 */ swc1 $f16, 0x00C0($sp) -/* 00400 808BE160 3C01C2A0 */ lui $at, 0xC2A0 ## $at = C2A00000 -/* 00404 808BE164 E7A800D4 */ swc1 $f8, 0x00D4($sp) -/* 00408 808BE168 C7B200D4 */ lwc1 $f18, 0x00D4($sp) -/* 0040C 808BE16C 44814000 */ mtc1 $at, $f8 ## $f8 = -80.00 -/* 00410 808BE170 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000 -/* 00414 808BE174 E7B200C8 */ swc1 $f18, 0x00C8($sp) -/* 00418 808BE178 C6C40024 */ lwc1 $f4, 0x0024($s6) ## 00000024 -/* 0041C 808BE17C E7A800B8 */ swc1 $f8, 0x00B8($sp) -/* 00420 808BE180 44816000 */ mtc1 $at, $f12 ## $f12 = 100.00 -/* 00424 808BE184 46182180 */ add.s $f6, $f4, $f24 -/* 00428 808BE188 E7A600B4 */ swc1 $f6, 0x00B4($sp) -/* 0042C 808BE18C C6CA002C */ lwc1 $f10, 0x002C($s6) ## 0000002C -/* 00430 808BE190 461A5400 */ add.s $f16, $f10, $f26 -/* 00434 808BE194 0C00CFBE */ jal Rand_ZeroFloat - -/* 00438 808BE198 E7B000BC */ swc1 $f16, 0x00BC($sp) -/* 0043C 808BE19C 4600048D */ trunc.w.s $f18, $f0 -/* 00440 808BE1A0 3C19808C */ lui $t9, %hi(D_808BE414) ## $t9 = 808C0000 -/* 00444 808BE1A4 3C08808C */ lui $t0, %hi(D_808BE418) ## $t0 = 808C0000 -/* 00448 808BE1A8 2508E418 */ addiu $t0, $t0, %lo(D_808BE418) ## $t0 = 808BE418 -/* 0044C 808BE1AC 440A9000 */ mfc1 $t2, $f18 -/* 00450 808BE1B0 2739E414 */ addiu $t9, $t9, %lo(D_808BE414) ## $t9 = 808BE414 -/* 00454 808BE1B4 240E000A */ addiu $t6, $zero, 0x000A ## $t6 = 0000000A -/* 00458 808BE1B8 000A5C00 */ sll $t3, $t2, 16 -/* 0045C 808BE1BC 000B6403 */ sra $t4, $t3, 16 -/* 00460 808BE1C0 258D01F4 */ addiu $t5, $t4, 0x01F4 ## $t5 = 000001F4 -/* 00464 808BE1C4 240F0014 */ addiu $t7, $zero, 0x0014 ## $t7 = 00000014 -/* 00468 808BE1C8 AFAF0020 */ sw $t7, 0x0020($sp) -/* 0046C 808BE1CC AFAD0018 */ sw $t5, 0x0018($sp) -/* 00470 808BE1D0 AFAE001C */ sw $t6, 0x001C($sp) -/* 00474 808BE1D4 AFB90010 */ sw $t9, 0x0010($sp) -/* 00478 808BE1D8 AFA80014 */ sw $t0, 0x0014($sp) -/* 0047C 808BE1DC 02E02025 */ or $a0, $s7, $zero ## $a0 = 00000000 -/* 00480 808BE1E0 27A500B4 */ addiu $a1, $sp, 0x00B4 ## $a1 = FFFFFFC4 -/* 00484 808BE1E4 27A600CC */ addiu $a2, $sp, 0x00CC ## $a2 = FFFFFFDC -/* 00488 808BE1E8 0C00A0DB */ jal func_8002836C -/* 0048C 808BE1EC 27A700C0 */ addiu $a3, $sp, 0x00C0 ## $a3 = FFFFFFD0 -/* 00490 808BE1F0 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000 -/* 00494 808BE1F4 C7A400CC */ lwc1 $f4, 0x00CC($sp) -.L808BE1F8: -/* 00498 808BE1F8 4600E306 */ mov.s $f12, $f28 -/* 0049C 808BE1FC 0C00CFBE */ jal Rand_ZeroFloat - -/* 004A0 808BE200 E7A4009C */ swc1 $f4, 0x009C($sp) -/* 004A4 808BE204 C7A600D4 */ lwc1 $f6, 0x00D4($sp) -/* 004A8 808BE208 E7A000A0 */ swc1 $f0, 0x00A0($sp) -/* 004AC 808BE20C E7BE0094 */ swc1 $f30, 0x0094($sp) -/* 004B0 808BE210 4600A306 */ mov.s $f12, $f20 -/* 004B4 808BE214 0C00CFC8 */ jal Rand_CenteredFloat - -/* 004B8 808BE218 E7A600A4 */ swc1 $f6, 0x00A4($sp) -/* 004BC 808BE21C E7A00090 */ swc1 $f0, 0x0090($sp) -/* 004C0 808BE220 0C00CFC8 */ jal Rand_CenteredFloat - -/* 004C4 808BE224 4600A306 */ mov.s $f12, $f20 -/* 004C8 808BE228 E7A00098 */ swc1 $f0, 0x0098($sp) -/* 004CC 808BE22C 0C00CFC8 */ jal Rand_CenteredFloat - -/* 004D0 808BE230 4600B306 */ mov.s $f12, $f22 -/* 004D4 808BE234 C7A800B4 */ lwc1 $f8, 0x00B4($sp) -/* 004D8 808BE238 3C014220 */ lui $at, 0x4220 ## $at = 42200000 -/* 004DC 808BE23C 44816000 */ mtc1 $at, $f12 ## $f12 = 40.00 -/* 004E0 808BE240 46080280 */ add.s $f10, $f0, $f8 -/* 004E4 808BE244 0C00CFBE */ jal Rand_ZeroFloat - -/* 004E8 808BE248 E7AA00A8 */ swc1 $f10, 0x00A8($sp) -/* 004EC 808BE24C C7B000B8 */ lwc1 $f16, 0x00B8($sp) -/* 004F0 808BE250 4600B306 */ mov.s $f12, $f22 -/* 004F4 808BE254 46100480 */ add.s $f18, $f0, $f16 -/* 004F8 808BE258 0C00CFC8 */ jal Rand_CenteredFloat - -/* 004FC 808BE25C E7B200AC */ swc1 $f18, 0x00AC($sp) -/* 00500 808BE260 C7A400BC */ lwc1 $f4, 0x00BC($sp) -/* 00504 808BE264 3C014000 */ lui $at, 0x4000 ## $at = 40000000 -/* 00508 808BE268 44816000 */ mtc1 $at, $f12 ## $f12 = 2.00 -/* 0050C 808BE26C 46040180 */ add.s $f6, $f0, $f4 -/* 00510 808BE270 0C00CFBE */ jal Rand_ZeroFloat - -/* 00514 808BE274 E7A600B0 */ swc1 $f6, 0x00B0($sp) -/* 00518 808BE278 4600020D */ trunc.w.s $f8, $f0 -/* 0051C 808BE27C 02202025 */ or $a0, $s1, $zero ## $a0 = 00001970 -/* 00520 808BE280 02402825 */ or $a1, $s2, $zero ## $a1 = FFFFFFB8 -/* 00524 808BE284 02603025 */ or $a2, $s3, $zero ## $a2 = FFFFFFAC -/* 00528 808BE288 44194000 */ mfc1 $t9, $f8 -/* 0052C 808BE28C 02803825 */ or $a3, $s4, $zero ## $a3 = FFFFFFA0 -/* 00530 808BE290 00194400 */ sll $t0, $t9, 16 -/* 00534 808BE294 00084C03 */ sra $t1, $t0, 16 -/* 00538 808BE298 252A0008 */ addiu $t2, $t1, 0x0008 ## $t2 = 00000008 -/* 0053C 808BE29C 448A5000 */ mtc1 $t2, $f10 ## $f10 = 0.00 -/* 00540 808BE2A0 00000000 */ nop -/* 00544 808BE2A4 46805420 */ cvt.s.w $f16, $f10 -/* 00548 808BE2A8 0C22F77E */ jal func_808BDDF8 -/* 0054C 808BE2AC E7B00010 */ swc1 $f16, 0x0010($sp) -/* 00550 808BE2B0 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001 -/* 00554 808BE2B4 00108400 */ sll $s0, $s0, 16 -/* 00558 808BE2B8 00108403 */ sra $s0, $s0, 16 -/* 0055C 808BE2BC 2A010003 */ slti $at, $s0, 0x0003 -/* 00560 808BE2C0 5420FFCD */ bnel $at, $zero, .L808BE1F8 -/* 00564 808BE2C4 C7A400CC */ lwc1 $f4, 0x00CC($sp) -/* 00568 808BE2C8 26B50001 */ addiu $s5, $s5, 0x0001 ## $s5 = 00000001 -/* 0056C 808BE2CC 0015AC00 */ sll $s5, $s5, 16 -/* 00570 808BE2D0 0015AC03 */ sra $s5, $s5, 16 -/* 00574 808BE2D4 2AA1000A */ slti $at, $s5, 0x000A -/* 00578 808BE2D8 1420FF6B */ bne $at, $zero, .L808BE088 -/* 0057C 808BE2DC 00000000 */ nop -.L808BE2E0: -/* 00580 808BE2E0 8FBF007C */ lw $ra, 0x007C($sp) -.L808BE2E4: -/* 00584 808BE2E4 D7B40028 */ ldc1 $f20, 0x0028($sp) -/* 00588 808BE2E8 D7B60030 */ ldc1 $f22, 0x0030($sp) -/* 0058C 808BE2EC D7B80038 */ ldc1 $f24, 0x0038($sp) -/* 00590 808BE2F0 D7BA0040 */ ldc1 $f26, 0x0040($sp) -/* 00594 808BE2F4 D7BC0048 */ ldc1 $f28, 0x0048($sp) -/* 00598 808BE2F8 D7BE0050 */ ldc1 $f30, 0x0050($sp) -/* 0059C 808BE2FC 8FB0005C */ lw $s0, 0x005C($sp) -/* 005A0 808BE300 8FB10060 */ lw $s1, 0x0060($sp) -/* 005A4 808BE304 8FB20064 */ lw $s2, 0x0064($sp) -/* 005A8 808BE308 8FB30068 */ lw $s3, 0x0068($sp) -/* 005AC 808BE30C 8FB4006C */ lw $s4, 0x006C($sp) -/* 005B0 808BE310 8FB50070 */ lw $s5, 0x0070($sp) -/* 005B4 808BE314 8FB60074 */ lw $s6, 0x0074($sp) -/* 005B8 808BE318 8FB70078 */ lw $s7, 0x0078($sp) -/* 005BC 808BE31C 03E00008 */ jr $ra -/* 005C0 808BE320 27BD00F0 */ addiu $sp, $sp, 0x00F0 ## $sp = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Vb_Sima/func_808BDDF8.s b/asm/non_matchings/overlays/actors/ovl_Bg_Vb_Sima/func_808BDDF8.s deleted file mode 100644 index 0f9479c4db..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Vb_Sima/func_808BDDF8.s +++ /dev/null @@ -1,56 +0,0 @@ -glabel func_808BDDF8 -/* 00098 808BDDF8 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 0009C 808BDDFC AFBF0014 */ sw $ra, 0x0014($sp) -/* 000A0 808BDE00 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000 -.L808BDE04: -/* 000A4 808BDE04 908E0024 */ lbu $t6, 0x0024($a0) ## 00000024 -/* 000A8 808BDE08 24420001 */ addiu $v0, $v0, 0x0001 ## $v0 = 00000001 -/* 000AC 808BDE0C 00021400 */ sll $v0, $v0, 16 -/* 000B0 808BDE10 15C00025 */ bne $t6, $zero, .L808BDEA8 -/* 000B4 808BDE14 00021403 */ sra $v0, $v0, 16 -/* 000B8 808BDE18 240F0001 */ addiu $t7, $zero, 0x0001 ## $t7 = 00000001 -/* 000BC 808BDE1C A08F0024 */ sb $t7, 0x0024($a0) ## 00000024 -/* 000C0 808BDE20 8CB90000 */ lw $t9, 0x0000($a1) ## 00000000 -/* 000C4 808BDE24 3C01447A */ lui $at, 0x447A ## $at = 447A0000 -/* 000C8 808BDE28 44813000 */ mtc1 $at, $f6 ## $f6 = 1000.00 -/* 000CC 808BDE2C AC990000 */ sw $t9, 0x0000($a0) ## 00000000 -/* 000D0 808BDE30 8CB80004 */ lw $t8, 0x0004($a1) ## 00000004 -/* 000D4 808BDE34 240C00FF */ addiu $t4, $zero, 0x00FF ## $t4 = 000000FF -/* 000D8 808BDE38 3C014120 */ lui $at, 0x4120 ## $at = 41200000 -/* 000DC 808BDE3C AC980004 */ sw $t8, 0x0004($a0) ## 00000004 -/* 000E0 808BDE40 8CB90008 */ lw $t9, 0x0008($a1) ## 00000008 -/* 000E4 808BDE44 44816000 */ mtc1 $at, $f12 ## $f12 = 10.00 -/* 000E8 808BDE48 AC990008 */ sw $t9, 0x0008($a0) ## 00000008 -/* 000EC 808BDE4C 8CC90000 */ lw $t1, 0x0000($a2) ## 00000000 -/* 000F0 808BDE50 AC89000C */ sw $t1, 0x000C($a0) ## 0000000C -/* 000F4 808BDE54 8CC80004 */ lw $t0, 0x0004($a2) ## 00000004 -/* 000F8 808BDE58 AC880010 */ sw $t0, 0x0010($a0) ## 00000010 -/* 000FC 808BDE5C 8CC90008 */ lw $t1, 0x0008($a2) ## 00000008 -/* 00100 808BDE60 AC890014 */ sw $t1, 0x0014($a0) ## 00000014 -/* 00104 808BDE64 8CEB0000 */ lw $t3, 0x0000($a3) ## 00000000 -/* 00108 808BDE68 AC8B0018 */ sw $t3, 0x0018($a0) ## 00000018 -/* 0010C 808BDE6C 8CEA0004 */ lw $t2, 0x0004($a3) ## 00000004 -/* 00110 808BDE70 AC8A001C */ sw $t2, 0x001C($a0) ## 0000001C -/* 00114 808BDE74 8CEB0008 */ lw $t3, 0x0008($a3) ## 00000008 -/* 00118 808BDE78 AC8B0020 */ sw $t3, 0x0020($a0) ## 00000020 -/* 0011C 808BDE7C C7A40028 */ lwc1 $f4, 0x0028($sp) -/* 00120 808BDE80 A48C002A */ sh $t4, 0x002A($a0) ## 0000002A -/* 00124 808BDE84 46062203 */ div.s $f8, $f4, $f6 -/* 00128 808BDE88 E4880030 */ swc1 $f8, 0x0030($a0) ## 00000030 -/* 0012C 808BDE8C 0C00CFBE */ jal Rand_ZeroFloat - -/* 00130 808BDE90 AFA40018 */ sw $a0, 0x0018($sp) -/* 00134 808BDE94 4600028D */ trunc.w.s $f10, $f0 -/* 00138 808BDE98 8FA40018 */ lw $a0, 0x0018($sp) -/* 0013C 808BDE9C 44185000 */ mfc1 $t8, $f10 -/* 00140 808BDEA0 10000004 */ beq $zero, $zero, .L808BDEB4 -/* 00144 808BDEA4 A0980025 */ sb $t8, 0x0025($a0) ## 00000025 -.L808BDEA8: -/* 00148 808BDEA8 284100B4 */ slti $at, $v0, 0x00B4 -/* 0014C 808BDEAC 1420FFD5 */ bne $at, $zero, .L808BDE04 -/* 00150 808BDEB0 2484003C */ addiu $a0, $a0, 0x003C ## $a0 = 0000003C -.L808BDEB4: -/* 00154 808BDEB4 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00158 808BDEB8 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 0015C 808BDEBC 03E00008 */ jr $ra -/* 00160 808BDEC0 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Fd/BossFd_Destroy.s b/asm/non_matchings/overlays/actors/ovl_Boss_Fd/BossFd_Destroy.s deleted file mode 100644 index 5655bdf9f7..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Boss_Fd/BossFd_Destroy.s +++ /dev/null @@ -1,23 +0,0 @@ -glabel BossFd_Destroy -/* 00864 808CB624 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00868 808CB628 AFBF0014 */ sw $ra, 0x0014($sp) -/* 0086C 808CB62C AFA40018 */ sw $a0, 0x0018($sp) -/* 00870 808CB630 AFA5001C */ sw $a1, 0x001C($sp) -/* 00874 808CB634 0C0295BC */ jal SkelAnime_Free -/* 00878 808CB638 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C -/* 0087C 808CB63C 8FA40018 */ lw $a0, 0x0018($sp) -/* 00880 808CB640 8FA5001C */ lw $a1, 0x001C($sp) -/* 00884 808CB644 0C0295BC */ jal SkelAnime_Free -/* 00888 808CB648 24840190 */ addiu $a0, $a0, 0x0190 ## $a0 = 00000190 -/* 0088C 808CB64C 8FA40018 */ lw $a0, 0x0018($sp) -/* 00890 808CB650 8FA5001C */ lw $a1, 0x001C($sp) -/* 00894 808CB654 0C0295BC */ jal SkelAnime_Free -/* 00898 808CB658 248401D4 */ addiu $a0, $a0, 0x01D4 ## $a0 = 000001D4 -/* 0089C 808CB65C 8FA50018 */ lw $a1, 0x0018($sp) -/* 008A0 808CB660 8FA4001C */ lw $a0, 0x001C($sp) -/* 008A4 808CB664 0C016F32 */ jal Collider_DestroyJntSph -/* 008A8 808CB668 24A51490 */ addiu $a1, $a1, 0x1490 ## $a1 = 00001490 -/* 008AC 808CB66C 8FBF0014 */ lw $ra, 0x0014($sp) -/* 008B0 808CB670 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 008B4 808CB674 03E00008 */ jr $ra -/* 008B8 808CB678 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Fd/BossFd_Draw.s b/asm/non_matchings/overlays/actors/ovl_Boss_Fd/BossFd_Draw.s deleted file mode 100644 index 22372b9d8f..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Boss_Fd/BossFd_Draw.s +++ /dev/null @@ -1,94 +0,0 @@ -.rdata -glabel D_808D1D5C - .asciz "FD DRAW START\n" - .balign 4 - -glabel D_808D1D6C - .asciz "../z_boss_fd.c" - .balign 4 - -glabel D_808D1D7C - .asciz "../z_boss_fd.c" - .balign 4 - -glabel D_808D1D8C - .asciz "FD DRAW END\n" - .balign 4 - -glabel D_808D1D9C - .asciz "FD DRAW END2\n" - .balign 4 - -.text -glabel BossFd_Draw -/* 051DC 808CFF9C 27BDFFB0 */ addiu $sp, $sp, 0xFFB0 ## $sp = FFFFFFB0 -/* 051E0 808CFFA0 AFA40050 */ sw $a0, 0x0050($sp) -/* 051E4 808CFFA4 AFBF002C */ sw $ra, 0x002C($sp) -/* 051E8 808CFFA8 AFB10028 */ sw $s1, 0x0028($sp) -/* 051EC 808CFFAC 3C04808D */ lui $a0, %hi(D_808D1D5C) ## $a0 = 808D0000 -/* 051F0 808CFFB0 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000 -/* 051F4 808CFFB4 AFB00024 */ sw $s0, 0x0024($sp) -/* 051F8 808CFFB8 0C00084C */ jal osSyncPrintf - -/* 051FC 808CFFBC 24841D5C */ addiu $a0, $a0, %lo(D_808D1D5C) ## $a0 = 808D1D5C -/* 05200 808CFFC0 8FAF0050 */ lw $t7, 0x0050($sp) -/* 05204 808CFFC4 3C0E808D */ lui $t6, %hi(func_808CDE30) ## $t6 = 808D0000 -/* 05208 808CFFC8 25CEDE30 */ addiu $t6, $t6, %lo(func_808CDE30) ## $t6 = 808CDE30 -/* 0520C 808CFFCC 8DF80218 */ lw $t8, 0x0218($t7) ## 00000218 -/* 05210 808CFFD0 3C06808D */ lui $a2, %hi(D_808D1D6C) ## $a2 = 808D0000 -/* 05214 808CFFD4 24C61D6C */ addiu $a2, $a2, %lo(D_808D1D6C) ## $a2 = 808D1D6C -/* 05218 808CFFD8 11D80023 */ beq $t6, $t8, .L808D0068 -/* 0521C 808CFFDC 27A40034 */ addiu $a0, $sp, 0x0034 ## $a0 = FFFFFFE4 -/* 05220 808CFFE0 8E250000 */ lw $a1, 0x0000($s1) ## 00000000 -/* 05224 808CFFE4 24071079 */ addiu $a3, $zero, 0x1079 ## $a3 = 00001079 -/* 05228 808CFFE8 0C031AB1 */ jal Graph_OpenDisps -/* 0522C 808CFFEC 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000 -/* 05230 808CFFF0 0C024F46 */ jal func_80093D18 -/* 05234 808CFFF4 8E240000 */ lw $a0, 0x0000($s1) ## 00000000 -/* 05238 808CFFF8 8FB90050 */ lw $t9, 0x0050($sp) -/* 0523C 808CFFFC 240500FF */ addiu $a1, $zero, 0x00FF ## $a1 = 000000FF -/* 05240 808D0000 240600FF */ addiu $a2, $zero, 0x00FF ## $a2 = 000000FF -/* 05244 808D0004 87280230 */ lh $t0, 0x0230($t9) ## 00000230 -/* 05248 808D0008 240700FF */ addiu $a3, $zero, 0x00FF ## $a3 = 000000FF -/* 0524C 808D000C 240A0384 */ addiu $t2, $zero, 0x0384 ## $t2 = 00000384 -/* 05250 808D0010 31090002 */ andi $t1, $t0, 0x0002 ## $t1 = 00000000 -/* 05254 808D0014 11200007 */ beq $t1, $zero, .L808D0034 -/* 05258 808D0018 240B044B */ addiu $t3, $zero, 0x044B ## $t3 = 0000044B -/* 0525C 808D001C 8E0402C0 */ lw $a0, 0x02C0($s0) ## 000002C0 -/* 05260 808D0020 AFAB0018 */ sw $t3, 0x0018($sp) -/* 05264 808D0024 AFAA0014 */ sw $t2, 0x0014($sp) -/* 05268 808D0028 0C024CDC */ jal Gfx_SetFog -/* 0526C 808D002C AFA00010 */ sw $zero, 0x0010($sp) -/* 05270 808D0030 AE0202C0 */ sw $v0, 0x02C0($s0) ## 000002C0 -.L808D0034: -/* 05274 808D0034 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 05278 808D0038 0C23423E */ jal func_808D08F8 -/* 0527C 808D003C 8FA50050 */ lw $a1, 0x0050($sp) -/* 05280 808D0040 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 05284 808D0044 0C02F228 */ jal func_800BC8A0 -/* 05288 808D0048 8E0502C0 */ lw $a1, 0x02C0($s0) ## 000002C0 -/* 0528C 808D004C AE0202C0 */ sw $v0, 0x02C0($s0) ## 000002C0 -/* 05290 808D0050 3C06808D */ lui $a2, %hi(D_808D1D7C) ## $a2 = 808D0000 -/* 05294 808D0054 24C61D7C */ addiu $a2, $a2, %lo(D_808D1D7C) ## $a2 = 808D1D7C -/* 05298 808D0058 8E250000 */ lw $a1, 0x0000($s1) ## 00000000 -/* 0529C 808D005C 27A40034 */ addiu $a0, $sp, 0x0034 ## $a0 = FFFFFFE4 -/* 052A0 808D0060 0C031AD5 */ jal Graph_CloseDisps -/* 052A4 808D0064 24071093 */ addiu $a3, $zero, 0x1093 ## $a3 = 00001093 -.L808D0068: -/* 052A8 808D0068 3C04808D */ lui $a0, %hi(D_808D1D8C) ## $a0 = 808D0000 -/* 052AC 808D006C 0C00084C */ jal osSyncPrintf - -/* 052B0 808D0070 24841D8C */ addiu $a0, $a0, %lo(D_808D1D8C) ## $a0 = 808D1D8C -/* 052B4 808D0074 8FA40050 */ lw $a0, 0x0050($sp) -/* 052B8 808D0078 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000 -/* 052BC 808D007C 0C233E26 */ jal func_808CF898 -/* 052C0 808D0080 24841970 */ addiu $a0, $a0, 0x1970 ## $a0 = 00001970 -/* 052C4 808D0084 3C04808D */ lui $a0, %hi(D_808D1D9C) ## $a0 = 808D0000 -/* 052C8 808D0088 0C00084C */ jal osSyncPrintf - -/* 052CC 808D008C 24841D9C */ addiu $a0, $a0, %lo(D_808D1D9C) ## $a0 = 808D1D9C -/* 052D0 808D0090 8FBF002C */ lw $ra, 0x002C($sp) -/* 052D4 808D0094 8FB00024 */ lw $s0, 0x0024($sp) -/* 052D8 808D0098 8FB10028 */ lw $s1, 0x0028($sp) -/* 052DC 808D009C 03E00008 */ jr $ra -/* 052E0 808D00A0 27BD0050 */ addiu $sp, $sp, 0x0050 ## $sp = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808CB718.s b/asm/non_matchings/overlays/actors/ovl_Boss_Fd/BossFd_Fly.s similarity index 98% rename from asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808CB718.s rename to asm/non_matchings/overlays/actors/ovl_Boss_Fd/BossFd_Fly.s index b0c70d03e7..fceed28138 100644 --- a/asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808CB718.s +++ b/asm/non_matchings/overlays/actors/ovl_Boss_Fd/BossFd_Fly.s @@ -169,7 +169,7 @@ glabel D_808D1F44 .word 0xC53B8000 .text -glabel func_808CB718 +glabel BossFd_Fly /* 00958 808CB718 27BDFE30 */ addiu $sp, $sp, 0xFE30 ## $sp = FFFFFE30 /* 0095C 808CB71C AFB60078 */ sw $s6, 0x0078($sp) /* 00960 808CB720 0080B025 */ or $s6, $a0, $zero ## $s6 = 00000000 @@ -449,7 +449,7 @@ glabel L808CB988 /* 00D84 808CBB44 46184100 */ add.s $f4, $f8, $f24 /* 00D88 808CBB48 E6C4146C */ swc1 $f4, 0x146C($s6) ## 0000146C /* 00D8C 808CBB4C C606002C */ lwc1 $f6, 0x002C($s0) ## 0000002C -/* 00D90 808CBB50 0C232C40 */ jal func_808CB100 +/* 00D90 808CBB50 0C232C40 */ jal BossFd_SetCameraSpeed /* 00D94 808CBB54 E6C61470 */ swc1 $f6, 0x1470($s6) ## 00001470 /* 00D98 808CBB58 3C01808D */ lui $at, %hi(D_808D1E6C) ## $at = 808D0000 /* 00D9C 808CBB5C C4221E6C */ lwc1 $f2, %lo(D_808D1E6C)($at) @@ -500,7 +500,7 @@ glabel L808CB988 /* 00E50 808CBC10 44814000 */ mtc1 $at, $f8 ## $f8 = 120.00 /* 00E54 808CBC14 46062281 */ sub.s $f10, $f4, $f6 /* 00E58 808CBC18 E6C8146C */ swc1 $f8, 0x146C($s6) ## 0000146C -/* 00E5C 808CBC1C 0C232C40 */ jal func_808CB100 +/* 00E5C 808CBC1C 0C232C40 */ jal BossFd_SetCameraSpeed /* 00E60 808CBC20 E6CA1458 */ swc1 $f10, 0x1458($s6) ## 00001458 /* 00E64 808CBC24 3C01808D */ lui $at, %hi(D_808D1E70) ## $at = 808D0000 /* 00E68 808CBC28 C4201E70 */ lwc1 $f0, %lo(D_808D1E70)($at) @@ -510,8 +510,8 @@ glabel L808CB988 /* 00E78 808CBC38 314B00FF */ andi $t3, $t2, 0x00FF ## $t3 = 00000001 /* 00E7C 808CBC3C 000B6080 */ sll $t4, $t3, 2 /* 00E80 808CBC40 018B6023 */ subu $t4, $t4, $t3 -/* 00E84 808CBC44 3C0D808D */ lui $t5, %hi(D_808D192C) ## $t5 = 808D0000 -/* 00E88 808CBC48 25AD192C */ addiu $t5, $t5, %lo(D_808D192C) ## $t5 = 808D192C +/* 00E84 808CBC44 3C0D808D */ lui $t5, %hi(sHoleLocations) ## $t5 = 808D0000 +/* 00E88 808CBC48 25AD192C */ addiu $t5, $t5, %lo(sHoleLocations) ## $t5 = 808D192C /* 00E8C 808CBC4C 000C6080 */ sll $t4, $t4, 2 /* 00E90 808CBC50 A6C00248 */ sh $zero, 0x0248($s6) ## 00000248 /* 00E94 808CBC54 A2CA02D4 */ sb $t2, 0x02D4($s6) ## 000002D4 @@ -702,7 +702,7 @@ glabel L808CBE20 /* 01140 808CBF00 E6C6146C */ swc1 $f6, 0x146C($s6) ## 0000146C /* 01144 808CBF04 C60A002C */ lwc1 $f10, 0x002C($s0) ## 0000002C /* 01148 808CBF08 46185201 */ sub.s $f8, $f10, $f24 -/* 0114C 808CBF0C 0C232C40 */ jal func_808CB100 +/* 0114C 808CBF0C 0C232C40 */ jal BossFd_SetCameraSpeed /* 01150 808CBF10 E6C81470 */ swc1 $f8, 0x1470($s6) ## 00001470 /* 01154 808CBF14 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00 /* 01158 808CBF18 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00 @@ -795,7 +795,7 @@ glabel L808CBF44 /* 0129C 808CC05C E6CA1468 */ swc1 $f10, 0x1468($s6) ## 00001468 /* 012A0 808CC060 E6C61458 */ swc1 $f6, 0x1458($s6) ## 00001458 /* 012A4 808CC064 E6C8146C */ swc1 $f8, 0x146C($s6) ## 0000146C -/* 012A8 808CC068 0C232C40 */ jal func_808CB100 +/* 012A8 808CC068 0C232C40 */ jal BossFd_SetCameraSpeed /* 012AC 808CC06C E6C41470 */ swc1 $f4, 0x1470($s6) ## 00001470 /* 012B0 808CC070 3C01808D */ lui $at, %hi(D_808D1E8C) ## $at = 808D0000 /* 012B4 808CC074 C4261E8C */ lwc1 $f6, %lo(D_808D1E8C)($at) @@ -816,10 +816,10 @@ glabel L808CBF44 /* 012F0 808CC0B0 E6C41464 */ swc1 $f4, 0x1464($s6) ## 00001464 /* 012F4 808CC0B4 C4261E9C */ lwc1 $f6, %lo(D_808D1E9C)($at) /* 012F8 808CC0B8 3C01808D */ lui $at, %hi(D_808D1EA0) ## $at = 808D0000 -/* 012FC 808CC0BC 3C08808D */ lui $t0, %hi(D_808D192C) ## $t0 = 808D0000 +/* 012FC 808CC0BC 3C08808D */ lui $t0, %hi(sHoleLocations) ## $t0 = 808D0000 /* 01300 808CC0C0 E6C61460 */ swc1 $f6, 0x1460($s6) ## 00001460 /* 01304 808CC0C4 C42A1EA0 */ lwc1 $f10, %lo(D_808D1EA0)($at) -/* 01308 808CC0C8 2508192C */ addiu $t0, $t0, %lo(D_808D192C) ## $t0 = 808D192C +/* 01308 808CC0C8 2508192C */ addiu $t0, $t0, %lo(sHoleLocations) ## $t0 = 808D192C /* 0130C 808CC0CC 0019C880 */ sll $t9, $t9, 2 /* 01310 808CC0D0 E6D41484 */ swc1 $f20, 0x1484($s6) ## 00001484 /* 01314 808CC0D4 A6C00248 */ sh $zero, 0x0248($s6) ## 00000248 @@ -1069,8 +1069,8 @@ glabel L808CC140 /* 01690 808CC450 312A00FF */ andi $t2, $t1, 0x00FF ## $t2 = 00000007 /* 01694 808CC454 000A5880 */ sll $t3, $t2, 2 /* 01698 808CC458 016A5823 */ subu $t3, $t3, $t2 -/* 0169C 808CC45C 3C0C808D */ lui $t4, %hi(D_808D192C) ## $t4 = 808D0000 -/* 016A0 808CC460 258C192C */ addiu $t4, $t4, %lo(D_808D192C) ## $t4 = 808D192C +/* 0169C 808CC45C 3C0C808D */ lui $t4, %hi(sHoleLocations) ## $t4 = 808D0000 +/* 016A0 808CC460 258C192C */ addiu $t4, $t4, %lo(sHoleLocations) ## $t4 = 808D192C /* 016A4 808CC464 000B5880 */ sll $t3, $t3, 2 /* 016A8 808CC468 A6C00248 */ sh $zero, 0x0248($s6) ## 00000248 /* 016AC 808CC46C A2C902D4 */ sb $t1, 0x02D4($s6) ## 000002D4 @@ -1141,8 +1141,8 @@ glabel L808CC140 /* 017A0 808CC560 02C02825 */ or $a1, $s6, $zero ## $a1 = 00000000 /* 017A4 808CC564 0C00B7D5 */ jal func_8002DF54 /* 017A8 808CC568 24060007 */ addiu $a2, $zero, 0x0007 ## $a2 = 00000007 -/* 017AC 808CC56C 3C0E808D */ lui $t6, %hi(func_808CDE30) ## $t6 = 808D0000 -/* 017B0 808CC570 25CEDE30 */ addiu $t6, $t6, %lo(func_808CDE30) ## $t6 = 808CDE30 +/* 017AC 808CC56C 3C0E808D */ lui $t6, %hi(BossFd_Wait) ## $t6 = 808D0000 +/* 017B0 808CC570 25CEDE30 */ addiu $t6, $t6, %lo(BossFd_Wait) ## $t6 = 808CDE30 /* 017B4 808CC574 240F0064 */ addiu $t7, $zero, 0x0064 ## $t7 = 00000064 /* 017B8 808CC578 AECE0218 */ sw $t6, 0x0218($s6) ## 00000218 /* 017BC 808CC57C A2CF02D8 */ sb $t7, 0x02D8($s6) ## 000002D8 @@ -1162,7 +1162,7 @@ glabel L808CC140 /* 017EC 808CC5AC 3C128013 */ lui $s2, %hi(D_801333E0) /* 017F0 808CC5B0 265233E0 */ addiu $s2, %lo(D_801333E0) /* 017F4 808CC5B4 02C02025 */ or $a0, $s6, $zero ## $a0 = 00000000 -/* 017F8 808CC5B8 0C232C66 */ jal func_808CB198 +/* 017F8 808CC5B8 0C232C66 */ jal BossFd_UpdateCamera /* 017FC 808CC5BC 8FA501D4 */ lw $a1, 0x01D4($sp) /* 01800 808CC5C0 1000000F */ beq $zero, $zero, .L808CC600 /* 01804 808CC5C4 86C20222 */ lh $v0, 0x0222($s6) ## 00000222 @@ -1207,7 +1207,7 @@ glabel L808CC140 /* 01890 808CC650 24490001 */ addiu $t1, $v0, 0x0001 ## $t1 = 00000001 /* 01894 808CC654 24010033 */ addiu $at, $zero, 0x0033 ## $at = 00000033 /* 01898 808CC658 1041010D */ beq $v0, $at, .L808CCA90 -/* 0189C 808CC65C 3C09808D */ lui $t1, %hi(D_808D1998) ## $t1 = 808D0000 +/* 0189C 808CC65C 3C09808D */ lui $t1, %hi(sCeilingTargets) ## $t1 = 808D0000 /* 018A0 808CC660 100003CE */ beq $zero, $zero, .L808CD59C /* 018A4 808CC664 86D90244 */ lh $t9, 0x0244($s6) ## 00000244 .L808CC668: @@ -1298,8 +1298,8 @@ glabel L808CC6A4 /* 019D4 808CC794 A2C202D4 */ sb $v0, 0x02D4($s6) ## 000002D4 .L808CC798: /* 019D8 808CC798 92C902D4 */ lbu $t1, 0x02D4($s6) ## 000002D4 -/* 019DC 808CC79C 3C0B808D */ lui $t3, %hi(D_808D192C) ## $t3 = 808D0000 -/* 019E0 808CC7A0 256B192C */ addiu $t3, $t3, %lo(D_808D192C) ## $t3 = 808D192C +/* 019DC 808CC79C 3C0B808D */ lui $t3, %hi(sHoleLocations) ## $t3 = 808D0000 +/* 019E0 808CC7A0 256B192C */ addiu $t3, $t3, %lo(sHoleLocations) ## $t3 = 808D192C /* 019E4 808CC7A4 00095080 */ sll $t2, $t1, 2 /* 019E8 808CC7A8 01495023 */ subu $t2, $t2, $t1 /* 019EC 808CC7AC 000A5080 */ sll $t2, $t2, 2 @@ -1373,13 +1373,13 @@ glabel L808CC878 /* 01AEC 808CC8AC 4502033B */ bc1fl .L808CD59C /* 01AF0 808CC8B0 86D90244 */ lh $t9, 0x0244($s6) ## 00000244 /* 01AF4 808CC8B4 92D902D4 */ lbu $t9, 0x02D4($s6) ## 000002D4 -/* 01AF8 808CC8B8 3C01808D */ lui $at, %hi(D_808D1930) ## $at = 808D0000 +/* 01AF8 808CC8B8 3C01808D */ lui $at, %hi(sHoleLocations+4) ## $at = 808D0000 /* 01AFC 808CC8BC A6D80222 */ sh $t8, 0x0222($s6) ## 00000222 /* 01B00 808CC8C0 00194080 */ sll $t0, $t9, 2 /* 01B04 808CC8C4 01194023 */ subu $t0, $t0, $t9 /* 01B08 808CC8C8 00084080 */ sll $t0, $t0, 2 /* 01B0C 808CC8CC 00280821 */ addu $at, $at, $t0 -/* 01B10 808CC8D0 C4281930 */ lwc1 $f8, %lo(D_808D1930)($at) +/* 01B10 808CC8D0 C4281930 */ lwc1 $f8, %lo(sHoleLocations+4)($at) /* 01B14 808CC8D4 3C01428C */ lui $at, 0x428C ## $at = 428C0000 /* 01B18 808CC8D8 44815000 */ mtc1 $at, $f10 ## $f10 = 70.00 /* 01B1C 808CC8DC 3C01808D */ lui $at, %hi(D_808D1EE8) ## $at = 808D0000 @@ -1402,8 +1402,8 @@ glabel L808CC91C /* 01B5C 808CC91C 240B0001 */ addiu $t3, $zero, 0x0001 ## $t3 = 00000001 /* 01B60 808CC920 A3AB01CF */ sb $t3, 0x01CF($sp) /* 01B64 808CC924 86CC0248 */ lh $t4, 0x0248($s6) ## 00000248 -/* 01B68 808CC928 3C0D808D */ lui $t5, %hi(func_808CDE30) ## $t5 = 808D0000 -/* 01B6C 808CC92C 25ADDE30 */ addiu $t5, $t5, %lo(func_808CDE30) ## $t5 = 808CDE30 +/* 01B68 808CC928 3C0D808D */ lui $t5, %hi(BossFd_Wait) ## $t5 = 808D0000 +/* 01B6C 808CC92C 25ADDE30 */ addiu $t5, $t5, %lo(BossFd_Wait) ## $t5 = 808CDE30 /* 01B70 808CC930 15800319 */ bne $t4, $zero, .L808CD598 /* 01B74 808CC934 240E0064 */ addiu $t6, $zero, 0x0064 ## $t6 = 00000064 /* 01B78 808CC938 AECD0218 */ sw $t5, 0x0218($s6) ## 00000218 @@ -1418,7 +1418,7 @@ glabel L808CC944 /* 01B98 808CC958 C7A60098 */ lwc1 $f6, 0x0098($sp) /* 01B9C 808CC95C C7A40094 */ lwc1 $f4, 0x0094($sp) /* 01BA0 808CC960 24084000 */ addiu $t0, $zero, 0x4000 ## $t0 = 00004000 -/* 01BA4 808CC964 3C01808D */ lui $at, %hi(D_808D1930) ## $at = 808D0000 +/* 01BA4 808CC964 3C01808D */ lui $at, %hi(sHoleLocations+4) ## $at = 808D0000 /* 01BA8 808CC968 240B0050 */ addiu $t3, $zero, 0x0050 ## $t3 = 00000050 /* 01BAC 808CC96C 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 /* 01BB0 808CC970 46083280 */ add.s $f10, $f6, $f8 @@ -1443,7 +1443,7 @@ glabel L808CC944 /* 01BFC 808CC9BC 002A0821 */ addu $at, $at, $t2 /* 01C00 808CC9C0 AED80028 */ sw $t8, 0x0028($s6) ## 00000028 /* 01C04 808CC9C4 AED9002C */ sw $t9, 0x002C($s6) ## 0000002C -/* 01C08 808CC9C8 C4261930 */ lwc1 $f6, %lo(D_808D1930)($at) +/* 01C08 808CC9C8 C4261930 */ lwc1 $f6, %lo(sHoleLocations+4)($at) /* 01C0C 808CC9CC 3C01447A */ lui $at, 0x447A ## $at = 447A0000 /* 01C10 808CC9D0 44815000 */ mtc1 $at, $f10 ## $f10 = 1000.00 /* 01C14 808CC9D4 46163200 */ add.s $f8, $f6, $f22 @@ -1506,7 +1506,7 @@ glabel L808CC944 /* 01CEC 808CCAAC 00034080 */ sll $t0, $v1, 2 /* 01CF0 808CCAB0 01034023 */ subu $t0, $t0, $v1 /* 01CF4 808CCAB4 00084080 */ sll $t0, $t0, 2 -/* 01CF8 808CCAB8 25291998 */ addiu $t1, $t1, %lo(D_808D1998) ## $t1 = 00001998 +/* 01CF8 808CCAB8 25291998 */ addiu $t1, $t1, %lo(sCeilingTargets) ## $t1 = 00001998 /* 01CFC 808CCABC 01091021 */ addu $v0, $t0, $t1 /* 01D00 808CCAC0 E6C602AC */ swc1 $f6, 0x02AC($s6) ## 000002AC /* 01D04 808CCAC4 C4480000 */ lwc1 $f8, 0x0000($v0) ## 00000000 @@ -1629,7 +1629,7 @@ glabel L808CC944 /* 01EB4 808CCC74 10200007 */ beq $at, $zero, .L808CCC94 /* 01EB8 808CCC78 24190028 */ addiu $t9, $zero, 0x0028 ## $t9 = 00000028 /* 01EBC 808CCC7C A6D9022E */ sh $t9, 0x022E($s6) ## 0000022E -/* 01EC0 808CCC80 0C232D9F */ jal func_808CB67C +/* 01EC0 808CCC80 0C232D9F */ jal BossFd_IsFacingLink /* 01EC4 808CCC84 02C02025 */ or $a0, $s6, $zero ## $a0 = 00000000 /* 01EC8 808CCC88 10400002 */ beq $v0, $zero, .L808CCC94 /* 01ECC 808CCC8C 24080014 */ addiu $t0, $zero, 0x0014 ## $t0 = 00000014 @@ -1924,7 +1924,7 @@ glabel L808CCDF0 /* 022D4 808CD094 448B2000 */ mtc1 $t3, $f4 ## $f4 = 0.00 /* 022D8 808CD098 00000000 */ nop /* 022DC 808CD09C 468021A0 */ cvt.s.w $f6, $f4 -/* 022E0 808CD0A0 0C232B70 */ jal func_808CADC0 +/* 022E0 808CD0A0 0C232B70 */ jal BossFd_SpawnEmber /* 022E4 808CD0A4 E7A60010 */ swc1 $f6, 0x0010($sp) /* 022E8 808CD0A8 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001 /* 022EC 808CD0AC 00108400 */ sll $s0, $s0, 16 @@ -2110,7 +2110,7 @@ glabel L808CD178 /* 02580 808CD340 27A5012C */ addiu $a1, $sp, 0x012C ## $a1 = FFFFFF5C /* 02584 808CD344 02003025 */ or $a2, $s0, $zero ## $a2 = FFFFFF74 /* 02588 808CD348 E7A40010 */ swc1 $f4, 0x0010($sp) -/* 0258C 808CD34C 0C232BD7 */ jal func_808CAF5C +/* 0258C 808CD34C 0C232BD7 */ jal BossFd_SpawnDust /* 02590 808CD350 02203825 */ or $a3, $s1, $zero ## $a3 = FFFFFF68 /* 02594 808CD354 26B50001 */ addiu $s5, $s5, 0x0001 ## $s5 = 00000001 /* 02598 808CD358 0015AC00 */ sll $s5, $s5, 16 @@ -2250,8 +2250,8 @@ glabel L808CD3A8 /* 02778 808CD538 3C01447A */ lui $at, 0x447A ## $at = 447A0000 /* 0277C 808CD53C C6C60028 */ lwc1 $f6, 0x0028($s6) ## 00000028 /* 02780 808CD540 44815000 */ mtc1 $at, $f10 ## $f10 = 1000.00 -/* 02784 808CD544 3C18808D */ lui $t8, %hi(func_808CDE30) ## $t8 = 808D0000 -/* 02788 808CD548 2718DE30 */ addiu $t8, $t8, %lo(func_808CDE30) ## $t8 = 808CDE30 +/* 02784 808CD544 3C18808D */ lui $t8, %hi(BossFd_Wait) ## $t8 = 808D0000 +/* 02788 808CD548 2718DE30 */ addiu $t8, $t8, %lo(BossFd_Wait) ## $t8 = 808CDE30 /* 0278C 808CD54C 460A3201 */ sub.s $f8, $f6, $f10 /* 02790 808CD550 AED80218 */ sw $t8, 0x0218($s6) ## 00000218 /* 02794 808CD554 86C30248 */ lh $v1, 0x0248($s6) ## 00000248 diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Fd/BossFd_Init.s b/asm/non_matchings/overlays/actors/ovl_Boss_Fd/BossFd_Init.s deleted file mode 100644 index 907dc7e2b5..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Boss_Fd/BossFd_Init.s +++ /dev/null @@ -1,222 +0,0 @@ -glabel BossFd_Init -/* 00544 808CB304 27BDFFA8 */ addiu $sp, $sp, 0xFFA8 ## $sp = FFFFFFA8 -/* 00548 808CB308 AFB00034 */ sw $s0, 0x0034($sp) -/* 0054C 808CB30C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00550 808CB310 AFB10038 */ sw $s1, 0x0038($sp) -/* 00554 808CB314 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000 -/* 00558 808CB318 AFBF003C */ sw $ra, 0x003C($sp) -/* 0055C 808CB31C 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000 -/* 00560 808CB320 0C00B2DD */ jal Flags_SetSwitch - -/* 00564 808CB324 24050014 */ addiu $a1, $zero, 0x0014 ## $a1 = 00000014 -/* 00568 808CB328 3C01442A */ lui $at, 0x442A ## $at = 442A0000 -/* 0056C 808CB32C 44812000 */ mtc1 $at, $f4 ## $f4 = 680.00 -/* 00570 808CB330 3C01C2C8 */ lui $at, 0xC2C8 ## $at = C2C80000 -/* 00574 808CB334 44813000 */ mtc1 $at, $f6 ## $f6 = -100.00 -/* 00578 808CB338 44804000 */ mtc1 $zero, $f8 ## $f8 = 0.00 -/* 0057C 808CB33C 26241C24 */ addiu $a0, $s1, 0x1C24 ## $a0 = 00001C24 -/* 00580 808CB340 240E0064 */ addiu $t6, $zero, 0x0064 ## $t6 = 00000064 -/* 00584 808CB344 AFAE0028 */ sw $t6, 0x0028($sp) -/* 00588 808CB348 AFA40048 */ sw $a0, 0x0048($sp) -/* 0058C 808CB34C 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000 -/* 00590 808CB350 02203025 */ or $a2, $s1, $zero ## $a2 = 00000000 -/* 00594 808CB354 240700AC */ addiu $a3, $zero, 0x00AC ## $a3 = 000000AC -/* 00598 808CB358 AFA0001C */ sw $zero, 0x001C($sp) -/* 0059C 808CB35C AFA00020 */ sw $zero, 0x0020($sp) -/* 005A0 808CB360 AFA00024 */ sw $zero, 0x0024($sp) -/* 005A4 808CB364 E7A40010 */ swc1 $f4, 0x0010($sp) -/* 005A8 808CB368 E7A60014 */ swc1 $f6, 0x0014($sp) -/* 005AC 808CB36C 0C00C916 */ jal Actor_SpawnAsChild - -/* 005B0 808CB370 E7A80018 */ swc1 $f8, 0x0018($sp) -/* 005B4 808CB374 3C05808D */ lui $a1, %hi(D_808D191C) ## $a1 = 808D0000 -/* 005B8 808CB378 24A5191C */ addiu $a1, $a1, %lo(D_808D191C) ## $a1 = 808D191C -/* 005BC 808CB37C 0C01E037 */ jal Actor_ProcessInitChain - -/* 005C0 808CB380 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 005C4 808CB384 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00 -/* 005C8 808CB388 260400B4 */ addiu $a0, $s0, 0x00B4 ## $a0 = 000000B4 -/* 005CC 808CB38C 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000 -/* 005D0 808CB390 44050000 */ mfc1 $a1, $f0 -/* 005D4 808CB394 44070000 */ mfc1 $a3, $f0 -/* 005D8 808CB398 0C00AC78 */ jal ActorShape_Init - -/* 005DC 808CB39C 00000000 */ nop -/* 005E0 808CB3A0 3C053D4C */ lui $a1, 0x3D4C ## $a1 = 3D4C0000 -/* 005E4 808CB3A4 34A5CCCD */ ori $a1, $a1, 0xCCCD ## $a1 = 3D4CCCCD -/* 005E8 808CB3A8 0C00B58B */ jal Actor_SetScale - -/* 005EC 808CB3AC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 005F0 808CB3B0 3C060601 */ lui $a2, 0x0601 ## $a2 = 06010000 -/* 005F4 808CB3B4 3C070601 */ lui $a3, 0x0601 ## $a3 = 06010000 -/* 005F8 808CB3B8 24E715E4 */ addiu $a3, $a3, 0x15E4 ## $a3 = 060115E4 -/* 005FC 808CB3BC 24C61660 */ addiu $a2, $a2, 0x1660 ## $a2 = 06011660 -/* 00600 808CB3C0 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 00604 808CB3C4 2605014C */ addiu $a1, $s0, 0x014C ## $a1 = 0000014C -/* 00608 808CB3C8 AFA00010 */ sw $zero, 0x0010($sp) -/* 0060C 808CB3CC AFA00014 */ sw $zero, 0x0014($sp) -/* 00610 808CB3D0 0C02915F */ jal SkelAnime_Init - -/* 00614 808CB3D4 AFA00018 */ sw $zero, 0x0018($sp) -/* 00618 808CB3D8 3C060601 */ lui $a2, 0x0601 ## $a2 = 06010000 -/* 0061C 808CB3DC 3C070601 */ lui $a3, 0x0601 ## $a3 = 06010000 -/* 00620 808CB3E0 24E71524 */ addiu $a3, $a3, 0x1524 ## $a3 = 06011524 -/* 00624 808CB3E4 24C615A0 */ addiu $a2, $a2, 0x15A0 ## $a2 = 060115A0 -/* 00628 808CB3E8 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 0062C 808CB3EC 26050190 */ addiu $a1, $s0, 0x0190 ## $a1 = 00000190 -/* 00630 808CB3F0 AFA00010 */ sw $zero, 0x0010($sp) -/* 00634 808CB3F4 AFA00014 */ sw $zero, 0x0014($sp) -/* 00638 808CB3F8 0C02915F */ jal SkelAnime_Init - -/* 0063C 808CB3FC AFA00018 */ sw $zero, 0x0018($sp) -/* 00640 808CB400 3C060601 */ lui $a2, 0x0601 ## $a2 = 06010000 -/* 00644 808CB404 3C070601 */ lui $a3, 0x0601 ## $a3 = 06010000 -/* 00648 808CB408 24E71464 */ addiu $a3, $a3, 0x1464 ## $a3 = 06011464 -/* 0064C 808CB40C 24C614E0 */ addiu $a2, $a2, 0x14E0 ## $a2 = 060114E0 -/* 00650 808CB410 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 00654 808CB414 260501D4 */ addiu $a1, $s0, 0x01D4 ## $a1 = 000001D4 -/* 00658 808CB418 AFA00010 */ sw $zero, 0x0010($sp) -/* 0065C 808CB41C AFA00014 */ sw $zero, 0x0014($sp) -/* 00660 808CB420 0C02915F */ jal SkelAnime_Init - -/* 00664 808CB424 AFA00018 */ sw $zero, 0x0018($sp) -/* 00668 808CB428 240F0001 */ addiu $t7, $zero, 0x0001 ## $t7 = 00000001 -/* 0066C 808CB42C A60F1402 */ sh $t7, 0x1402($s0) ## 00001402 -/* 00670 808CB430 86181402 */ lh $t8, 0x1402($s0) ## 00001402 -/* 00674 808CB434 57000004 */ bnel $t8, $zero, .L808CB448 -/* 00678 808CB438 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00 -/* 0067C 808CB43C 0C03E803 */ jal Audio_SetBGM - -/* 00680 808CB440 2404006B */ addiu $a0, $zero, 0x006B ## $a0 = 0000006B -/* 00684 808CB444 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00 -.L808CB448: -/* 00688 808CB448 3C01C348 */ lui $at, 0xC348 ## $at = C3480000 -/* 0068C 808CB44C 44815000 */ mtc1 $at, $f10 ## $f10 = -200.00 -/* 00690 808CB450 26051490 */ addiu $a1, $s0, 0x1490 ## $a1 = 00001490 -/* 00694 808CB454 E600002C */ swc1 $f0, 0x002C($s0) ## 0000002C -/* 00698 808CB458 E6000024 */ swc1 $f0, 0x0024($s0) ## 00000024 -/* 0069C 808CB45C E60A0028 */ swc1 $f10, 0x0028($s0) ## 00000028 -/* 006A0 808CB460 AFA50044 */ sw $a1, 0x0044($sp) -/* 006A4 808CB464 0C016EFE */ jal Collider_InitJntSph -/* 006A8 808CB468 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 006AC 808CB46C 3C07808D */ lui $a3, %hi(D_808D190C) ## $a3 = 808D0000 -/* 006B0 808CB470 261914B0 */ addiu $t9, $s0, 0x14B0 ## $t9 = 000014B0 -/* 006B4 808CB474 8FA50044 */ lw $a1, 0x0044($sp) -/* 006B8 808CB478 AFB90010 */ sw $t9, 0x0010($sp) -/* 006BC 808CB47C 24E7190C */ addiu $a3, $a3, %lo(D_808D190C) ## $a3 = 808D190C -/* 006C0 808CB480 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 006C4 808CB484 0C017014 */ jal Collider_SetJntSph -/* 006C8 808CB488 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000 -/* 006CC 808CB48C 00001825 */ or $v1, $zero, $zero ## $v1 = 00000000 -/* 006D0 808CB490 2404000C */ addiu $a0, $zero, 0x000C ## $a0 = 0000000C -.L808CB494: -/* 006D4 808CB494 00640019 */ multu $v1, $a0 -/* 006D8 808CB498 C6100024 */ lwc1 $f16, 0x0024($s0) ## 00000024 -/* 006DC 808CB49C 2861001E */ slti $at, $v1, 0x001E -/* 006E0 808CB4A0 24630001 */ addiu $v1, $v1, 0x0001 ## $v1 = 00000001 -/* 006E4 808CB4A4 00031C00 */ sll $v1, $v1, 16 -/* 006E8 808CB4A8 00031C03 */ sra $v1, $v1, 16 -/* 006EC 808CB4AC 00004012 */ mflo $t0 -/* 006F0 808CB4B0 02081021 */ addu $v0, $s0, $t0 -/* 006F4 808CB4B4 E450078C */ swc1 $f16, 0x078C($v0) ## 0000078C -/* 006F8 808CB4B8 C6120028 */ lwc1 $f18, 0x0028($s0) ## 00000028 -/* 006FC 808CB4BC E4520790 */ swc1 $f18, 0x0790($v0) ## 00000790 -/* 00700 808CB4C0 C604002C */ lwc1 $f4, 0x002C($s0) ## 0000002C -/* 00704 808CB4C4 10200007 */ beq $at, $zero, .L808CB4E4 -/* 00708 808CB4C8 E4440794 */ swc1 $f4, 0x0794($v0) ## 00000794 -/* 0070C 808CB4CC C6060024 */ lwc1 $f6, 0x0024($s0) ## 00000024 -/* 00710 808CB4D0 E4460E04 */ swc1 $f6, 0x0E04($v0) ## 00000E04 -/* 00714 808CB4D4 C6080028 */ lwc1 $f8, 0x0028($s0) ## 00000028 -/* 00718 808CB4D8 E4480E08 */ swc1 $f8, 0x0E08($v0) ## 00000E08 -/* 0071C 808CB4DC C60A002C */ lwc1 $f10, 0x002C($s0) ## 0000002C -/* 00720 808CB4E0 E44A0E0C */ swc1 $f10, 0x0E0C($v0) ## 00000E0C -.L808CB4E4: -/* 00724 808CB4E4 28610064 */ slti $at, $v1, 0x0064 -/* 00728 808CB4E8 1420FFEA */ bne $at, $zero, .L808CB494 -/* 0072C 808CB4EC 00000000 */ nop -/* 00730 808CB4F0 860B1402 */ lh $t3, 0x1402($s0) ## 00001402 -/* 00734 808CB4F4 24090018 */ addiu $t1, $zero, 0x0018 ## $t1 = 00000018 -/* 00738 808CB4F8 240A0012 */ addiu $t2, $zero, 0x0012 ## $t2 = 00000012 -/* 0073C 808CB4FC A20900AF */ sb $t1, 0x00AF($s0) ## 000000AF -/* 00740 808CB500 15600005 */ bne $t3, $zero, .L808CB518 -/* 00744 808CB504 A60A021E */ sh $t2, 0x021E($s0) ## 0000021E -/* 00748 808CB508 3C0C808D */ lui $t4, %hi(func_808CDE30) ## $t4 = 808D0000 -/* 0074C 808CB50C 258CDE30 */ addiu $t4, $t4, %lo(func_808CDE30) ## $t4 = 808CDE30 -/* 00750 808CB510 10000004 */ beq $zero, $zero, .L808CB524 -/* 00754 808CB514 AE0C0218 */ sw $t4, 0x0218($s0) ## 00000218 -.L808CB518: -/* 00758 808CB518 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 0075C 808CB51C 0C232DAA */ jal func_808CB6A8 -/* 00760 808CB520 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000 -.L808CB524: -/* 00764 808CB524 3C050001 */ lui $a1, 0x0001 ## $a1 = 00010000 -/* 00768 808CB528 00B12821 */ addu $a1, $a1, $s1 -/* 0076C 808CB52C 80A51CBC */ lb $a1, 0x1CBC($a1) ## 00011CBC -/* 00770 808CB530 0C00B337 */ jal Flags_GetClear - -/* 00774 808CB534 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 00778 808CB538 50400026 */ beql $v0, $zero, .L808CB5D4 -/* 0077C 808CB53C C60A0024 */ lwc1 $f10, 0x0024($s0) ## 00000024 -/* 00780 808CB540 0C00B55C */ jal Actor_Kill - -/* 00784 808CB544 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00788 808CB548 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000 -/* 0078C 808CB54C 44819000 */ mtc1 $at, $f18 ## $f18 = 100.00 -/* 00790 808CB550 44808000 */ mtc1 $zero, $f16 ## $f16 = 0.00 -/* 00794 808CB554 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00 -/* 00798 808CB558 240DFFFF */ addiu $t5, $zero, 0xFFFF ## $t5 = FFFFFFFF -/* 0079C 808CB55C AFAD0028 */ sw $t5, 0x0028($sp) -/* 007A0 808CB560 8FA40048 */ lw $a0, 0x0048($sp) -/* 007A4 808CB564 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000 -/* 007A8 808CB568 02203025 */ or $a2, $s1, $zero ## $a2 = 00000000 -/* 007AC 808CB56C 2407005D */ addiu $a3, $zero, 0x005D ## $a3 = 0000005D -/* 007B0 808CB570 AFA0001C */ sw $zero, 0x001C($sp) -/* 007B4 808CB574 AFA00020 */ sw $zero, 0x0020($sp) -/* 007B8 808CB578 AFA00024 */ sw $zero, 0x0024($sp) -/* 007BC 808CB57C E7B20014 */ swc1 $f18, 0x0014($sp) -/* 007C0 808CB580 E7B00010 */ swc1 $f16, 0x0010($sp) -/* 007C4 808CB584 0C00C916 */ jal Actor_SpawnAsChild - -/* 007C8 808CB588 E7A40018 */ swc1 $f4, 0x0018($sp) -/* 007CC 808CB58C 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000 -/* 007D0 808CB590 44813000 */ mtc1 $at, $f6 ## $f6 = 100.00 -/* 007D4 808CB594 3C014348 */ lui $at, 0x4348 ## $at = 43480000 -/* 007D8 808CB598 44814000 */ mtc1 $at, $f8 ## $f8 = 200.00 -/* 007DC 808CB59C 8FA40048 */ lw $a0, 0x0048($sp) -/* 007E0 808CB5A0 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000 -/* 007E4 808CB5A4 2406005F */ addiu $a2, $zero, 0x005F ## $a2 = 0000005F -/* 007E8 808CB5A8 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000 -/* 007EC 808CB5AC AFA00018 */ sw $zero, 0x0018($sp) -/* 007F0 808CB5B0 AFA0001C */ sw $zero, 0x001C($sp) -/* 007F4 808CB5B4 AFA00020 */ sw $zero, 0x0020($sp) -/* 007F8 808CB5B8 AFA00024 */ sw $zero, 0x0024($sp) -/* 007FC 808CB5BC E7A60010 */ swc1 $f6, 0x0010($sp) -/* 00800 808CB5C0 0C00C7D4 */ jal Actor_Spawn - ## ActorSpawn -/* 00804 808CB5C4 E7A80014 */ swc1 $f8, 0x0014($sp) -/* 00808 808CB5C8 10000012 */ beq $zero, $zero, .L808CB614 -/* 0080C 808CB5CC 8FBF003C */ lw $ra, 0x003C($sp) -/* 00810 808CB5D0 C60A0024 */ lwc1 $f10, 0x0024($s0) ## 00000024 -.L808CB5D4: -/* 00814 808CB5D4 8FA40048 */ lw $a0, 0x0048($sp) -/* 00818 808CB5D8 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000 -/* 0081C 808CB5DC E7AA0010 */ swc1 $f10, 0x0010($sp) -/* 00820 808CB5E0 C6100028 */ lwc1 $f16, 0x0028($s0) ## 00000028 -/* 00824 808CB5E4 02203025 */ or $a2, $s1, $zero ## $a2 = 00000000 -/* 00828 808CB5E8 240700A2 */ addiu $a3, $zero, 0x00A2 ## $a3 = 000000A2 -/* 0082C 808CB5EC E7B00014 */ swc1 $f16, 0x0014($sp) -/* 00830 808CB5F0 C612002C */ lwc1 $f18, 0x002C($s0) ## 0000002C -/* 00834 808CB5F4 AFA00024 */ sw $zero, 0x0024($sp) -/* 00838 808CB5F8 AFA00020 */ sw $zero, 0x0020($sp) -/* 0083C 808CB5FC AFA0001C */ sw $zero, 0x001C($sp) -/* 00840 808CB600 E7B20018 */ swc1 $f18, 0x0018($sp) -/* 00844 808CB604 860E1402 */ lh $t6, 0x1402($s0) ## 00001402 -/* 00848 808CB608 0C00C916 */ jal Actor_SpawnAsChild - -/* 0084C 808CB60C AFAE0028 */ sw $t6, 0x0028($sp) -/* 00850 808CB610 8FBF003C */ lw $ra, 0x003C($sp) -.L808CB614: -/* 00854 808CB614 8FB00034 */ lw $s0, 0x0034($sp) -/* 00858 808CB618 8FB10038 */ lw $s1, 0x0038($sp) -/* 0085C 808CB61C 03E00008 */ jr $ra -/* 00860 808CB620 27BD0058 */ addiu $sp, $sp, 0x0058 ## $sp = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Fd/BossFd_Update.s b/asm/non_matchings/overlays/actors/ovl_Boss_Fd/BossFd_Update.s deleted file mode 100644 index 6071f7c835..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Boss_Fd/BossFd_Update.s +++ /dev/null @@ -1,557 +0,0 @@ -.rdata -glabel D_808D1CBC - .asciz "FD MOVE START \n" - .balign 4 - -glabel D_808D1CCC - .asciz "FD MOVE END 1\n" - .balign 4 - -glabel D_808D1CDC - .asciz "FD MOVE END 2\n" - .balign 4 - -.late_rodata -glabel D_808D1F88 - .float 0.4 - -glabel D_808D1F8C - .word 0x410E6666 -glabel D_808D1F90 - .word 0x41EF3333 -glabel D_808D1F94 - .float 0.4 - -.text -glabel BossFd_Update -/* 03F24 808CECE4 27BDFF28 */ addiu $sp, $sp, 0xFF28 ## $sp = FFFFFF28 -/* 03F28 808CECE8 AFB30054 */ sw $s3, 0x0054($sp) -/* 03F2C 808CECEC 00809825 */ or $s3, $a0, $zero ## $s3 = 00000000 -/* 03F30 808CECF0 AFA400D0 */ sw $a0, 0x00D0($sp) -/* 03F34 808CECF4 AFBF005C */ sw $ra, 0x005C($sp) -/* 03F38 808CECF8 3C04808D */ lui $a0, %hi(D_808D1CBC) ## $a0 = 808D0000 -/* 03F3C 808CECFC AFB40058 */ sw $s4, 0x0058($sp) -/* 03F40 808CED00 AFB20050 */ sw $s2, 0x0050($sp) -/* 03F44 808CED04 AFB1004C */ sw $s1, 0x004C($sp) -/* 03F48 808CED08 AFB00048 */ sw $s0, 0x0048($sp) -/* 03F4C 808CED0C F7B60040 */ sdc1 $f22, 0x0040($sp) -/* 03F50 808CED10 F7B40038 */ sdc1 $f20, 0x0038($sp) -/* 03F54 808CED14 AFA500DC */ sw $a1, 0x00DC($sp) -/* 03F58 808CED18 0C00084C */ jal osSyncPrintf - -/* 03F5C 808CED1C 24841CBC */ addiu $a0, $a0, %lo(D_808D1CBC) ## $a0 = 808D1CBC -/* 03F60 808CED20 86780224 */ lh $t8, 0x0224($s3) ## 00000224 -/* 03F64 808CED24 866E0226 */ lh $t6, 0x0226($s3) ## 00000226 -/* 03F68 808CED28 02602025 */ or $a0, $s3, $zero ## $a0 = 00000000 -/* 03F6C 808CED2C 27190001 */ addiu $t9, $t8, 0x0001 ## $t9 = 00000001 -/* 03F70 808CED30 A6790224 */ sh $t9, 0x0224($s3) ## 00000224 -/* 03F74 808CED34 8E790218 */ lw $t9, 0x0218($s3) ## 00000218 -/* 03F78 808CED38 25CF0001 */ addiu $t7, $t6, 0x0001 ## $t7 = 00000001 -/* 03F7C 808CED3C A66F0226 */ sh $t7, 0x0226($s3) ## 00000226 -/* 03F80 808CED40 0320F809 */ jalr $ra, $t9 -/* 03F84 808CED44 8FA500DC */ lw $a1, 0x00DC($sp) -/* 03F88 808CED48 00009025 */ or $s2, $zero, $zero ## $s2 = 00000000 -/* 03F8C 808CED4C 00124040 */ sll $t0, $s2, 1 -.L808CED50: -/* 03F90 808CED50 02681021 */ addu $v0, $s3, $t0 -/* 03F94 808CED54 84430248 */ lh $v1, 0x0248($v0) ## 00000248 -/* 03F98 808CED58 26520001 */ addiu $s2, $s2, 0x0001 ## $s2 = 00000001 -/* 03F9C 808CED5C 00129400 */ sll $s2, $s2, 16 -/* 03FA0 808CED60 10600003 */ beq $v1, $zero, .L808CED70 -/* 03FA4 808CED64 00129403 */ sra $s2, $s2, 16 -/* 03FA8 808CED68 2469FFFF */ addiu $t1, $v1, 0xFFFF ## $t1 = FFFFFFFF -/* 03FAC 808CED6C A4490248 */ sh $t1, 0x0248($v0) ## 00000248 -.L808CED70: -/* 03FB0 808CED70 2A410006 */ slti $at, $s2, 0x0006 -/* 03FB4 808CED74 5420FFF6 */ bnel $at, $zero, .L808CED50 -/* 03FB8 808CED78 00124040 */ sll $t0, $s2, 1 -/* 03FBC 808CED7C 8662021C */ lh $v0, 0x021C($s3) ## 0000021C -/* 03FC0 808CED80 10400002 */ beq $v0, $zero, .L808CED8C -/* 03FC4 808CED84 244AFFFF */ addiu $t2, $v0, 0xFFFF ## $t2 = FFFFFFFF -/* 03FC8 808CED88 A66A021C */ sh $t2, 0x021C($s3) ## 0000021C -.L808CED8C: -/* 03FCC 808CED8C 86620230 */ lh $v0, 0x0230($s3) ## 00000230 -/* 03FD0 808CED90 10400002 */ beq $v0, $zero, .L808CED9C -/* 03FD4 808CED94 244BFFFF */ addiu $t3, $v0, 0xFFFF ## $t3 = FFFFFFFF -/* 03FD8 808CED98 A66B0230 */ sh $t3, 0x0230($s3) ## 00000230 -.L808CED9C: -/* 03FDC 808CED9C 8662023E */ lh $v0, 0x023E($s3) ## 0000023E -/* 03FE0 808CEDA0 10400002 */ beq $v0, $zero, .L808CEDAC -/* 03FE4 808CEDA4 244CFFFF */ addiu $t4, $v0, 0xFFFF ## $t4 = FFFFFFFF -/* 03FE8 808CEDA8 A66C023E */ sh $t4, 0x023E($s3) ## 0000023E -.L808CEDAC: -/* 03FEC 808CEDAC 866D0222 */ lh $t5, 0x0222($s3) ## 00000222 -/* 03FF0 808CEDB0 29A100C8 */ slti $at, $t5, 0x00C8 -/* 03FF4 808CEDB4 50200014 */ beql $at, $zero, .L808CEE08 -/* 03FF8 808CEDB8 02602025 */ or $a0, $s3, $zero ## $a0 = 00000000 -/* 03FFC 808CEDBC 866E023E */ lh $t6, 0x023E($s3) ## 0000023E -/* 04000 808CEDC0 02602025 */ or $a0, $s3, $zero ## $a0 = 00000000 -/* 04004 808CEDC4 55C00004 */ bnel $t6, $zero, .L808CEDD8 -/* 04008 808CEDC8 8FA400DC */ lw $a0, 0x00DC($sp) -/* 0400C 808CEDCC 0C233B0D */ jal func_808CEC34 -/* 04010 808CEDD0 8FA500DC */ lw $a1, 0x00DC($sp) -/* 04014 808CEDD4 8FA400DC */ lw $a0, 0x00DC($sp) -.L808CEDD8: -/* 04018 808CEDD8 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 0401C 808CEDDC 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60 -/* 04020 808CEDE0 26711490 */ addiu $s1, $s3, 0x1490 ## $s1 = 00001490 -/* 04024 808CEDE4 00818021 */ addu $s0, $a0, $at -/* 04028 808CEDE8 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000 -/* 0402C 808CEDEC 0C01767D */ jal CollisionCheck_SetAC - ## CollisionCheck_setAC -/* 04030 808CEDF0 02203025 */ or $a2, $s1, $zero ## $a2 = 00001490 -/* 04034 808CEDF4 8FA400DC */ lw $a0, 0x00DC($sp) -/* 04038 808CEDF8 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000 -/* 0403C 808CEDFC 0C0175E7 */ jal CollisionCheck_SetAT - ## CollisionCheck_setAT -/* 04040 808CEE00 02203025 */ or $a2, $s1, $zero ## $a2 = 00001490 -/* 04044 808CEE04 02602025 */ or $a0, $s3, $zero ## $a0 = 00000000 -.L808CEE08: -/* 04048 808CEE08 0C233807 */ jal func_808CE01C -/* 0404C 808CEE0C 8FA500DC */ lw $a1, 0x00DC($sp) -/* 04050 808CEE10 C6760254 */ lwc1 $f22, 0x0254($s3) ## 00000254 -/* 04054 808CEE14 C674025C */ lwc1 $f20, 0x025C($s3) ## 0000025C -/* 04058 808CEE18 C6720260 */ lwc1 $f18, 0x0260($s3) ## 00000260 -/* 0405C 808CEE1C 866F0226 */ lh $t7, 0x0226($s3) ## 00000226 -/* 04060 808CEE20 3C014080 */ lui $at, 0x4080 ## $at = 40800000 -/* 04064 808CEE24 44818000 */ mtc1 $at, $f16 ## $f16 = 4.00 -/* 04068 808CEE28 3C0142F0 */ lui $at, 0x42F0 ## $at = 42F00000 -/* 0406C 808CEE2C 44817000 */ mtc1 $at, $f14 ## $f14 = 120.00 -/* 04070 808CEE30 4610B400 */ add.s $f16, $f22, $f16 -/* 04074 808CEE34 3C014040 */ lui $at, 0x4040 ## $at = 40400000 -/* 04078 808CEE38 4481B000 */ mtc1 $at, $f22 ## $f22 = 3.00 -/* 0407C 808CEE3C 3C014000 */ lui $at, 0x4000 ## $at = 40000000 -/* 04080 808CEE40 44816000 */ mtc1 $at, $f12 ## $f12 = 2.00 -/* 04084 808CEE44 4616A580 */ add.s $f22, $f20, $f22 -/* 04088 808CEE48 31F80010 */ andi $t8, $t7, 0x0010 ## $t8 = 00000000 -/* 0408C 808CEE4C E6700254 */ swc1 $f16, 0x0254($s3) ## 00000254 -/* 04090 808CEE50 460C9301 */ sub.s $f12, $f18, $f12 -/* 04094 808CEE54 E66E0258 */ swc1 $f14, 0x0258($s3) ## 00000258 -/* 04098 808CEE58 E676025C */ swc1 $f22, 0x025C($s3) ## 0000025C -/* 0409C 808CEE5C 13000005 */ beq $t8, $zero, .L808CEE74 -/* 040A0 808CEE60 E66C0260 */ swc1 $f12, 0x0260($s3) ## 00000260 -/* 040A4 808CEE64 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000 -/* 040A8 808CEE68 44810000 */ mtc1 $at, $f0 ## $f0 = 30.00 -/* 040AC 808CEE6C 10000005 */ beq $zero, $zero, .L808CEE84 -/* 040B0 808CEE70 44050000 */ mfc1 $a1, $f0 -.L808CEE74: -/* 040B4 808CEE74 3C01431E */ lui $at, 0x431E ## $at = 431E0000 -/* 040B8 808CEE78 44810000 */ mtc1 $at, $f0 ## $f0 = 158.00 -/* 040BC 808CEE7C 00000000 */ nop -/* 040C0 808CEE80 44050000 */ mfc1 $a1, $f0 -.L808CEE84: -/* 040C4 808CEE84 26640270 */ addiu $a0, $s3, 0x0270 ## $a0 = 00000270 -/* 040C8 808CEE88 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000 -/* 040CC 808CEE8C 0C01E107 */ jal Math_ApproachF - -/* 040D0 808CEE90 3C074100 */ lui $a3, 0x4100 ## $a3 = 41000000 -/* 040D4 808CEE94 8679021E */ lh $t9, 0x021E($s3) ## 0000021E -/* 040D8 808CEE98 57200005 */ bnel $t9, $zero, .L808CEEB0 -/* 040DC 808CEE9C 86680226 */ lh $t0, 0x0226($s3) ## 00000226 -/* 040E0 808CEEA0 C6700270 */ lwc1 $f16, 0x0270($s3) ## 00000270 -/* 040E4 808CEEA4 1000000F */ beq $zero, $zero, .L808CEEE4 -/* 040E8 808CEEA8 E6700274 */ swc1 $f16, 0x0274($s3) ## 00000274 -/* 040EC 808CEEAC 86680226 */ lh $t0, 0x0226($s3) ## 00000226 -.L808CEEB0: -/* 040F0 808CEEB0 3C01437F */ lui $at, 0x437F ## $at = 437F0000 -/* 040F4 808CEEB4 26640274 */ addiu $a0, $s3, 0x0274 ## $a0 = 00000274 -/* 040F8 808CEEB8 31090004 */ andi $t1, $t0, 0x0004 ## $t1 = 00000000 -/* 040FC 808CEEBC 11200004 */ beq $t1, $zero, .L808CEED0 -/* 04100 808CEEC0 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000 -/* 04104 808CEEC4 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00 -/* 04108 808CEEC8 10000004 */ beq $zero, $zero, .L808CEEDC -/* 0410C 808CEECC 44050000 */ mfc1 $a1, $f0 -.L808CEED0: -/* 04110 808CEED0 44810000 */ mtc1 $at, $f0 ## $f0 = 255.00 -/* 04114 808CEED4 00000000 */ nop -/* 04118 808CEED8 44050000 */ mfc1 $a1, $f0 -.L808CEEDC: -/* 0411C 808CEEDC 0C01E107 */ jal Math_ApproachF - -/* 04120 808CEEE0 3C074280 */ lui $a3, 0x4280 ## $a3 = 42800000 -.L808CEEE4: -/* 04124 808CEEE4 86620226 */ lh $v0, 0x0226($s3) ## 00000226 -/* 04128 808CEEE8 26640284 */ addiu $a0, $s3, 0x0284 ## $a0 = 00000284 -/* 0412C 808CEEEC 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000 -/* 04130 808CEEF0 304A0008 */ andi $t2, $v0, 0x0008 ## $t2 = 00000000 -/* 04134 808CEEF4 11400005 */ beq $t2, $zero, .L808CEF0C -/* 04138 808CEEF8 244B0003 */ addiu $t3, $v0, 0x0003 ## $t3 = 00000003 -/* 0413C 808CEEFC 3C014300 */ lui $at, 0x4300 ## $at = 43000000 -/* 04140 808CEF00 44811000 */ mtc1 $at, $f2 ## $f2 = 128.00 -/* 04144 808CEF04 10000006 */ beq $zero, $zero, .L808CEF20 -/* 04148 808CEF08 46001006 */ mov.s $f0, $f2 -.L808CEF0C: -/* 0414C 808CEF0C 3C01437F */ lui $at, 0x437F ## $at = 437F0000 -/* 04150 808CEF10 44810000 */ mtc1 $at, $f0 ## $f0 = 255.00 -/* 04154 808CEF14 3C014300 */ lui $at, 0x4300 ## $at = 43000000 -/* 04158 808CEF18 44811000 */ mtc1 $at, $f2 ## $f2 = 128.00 -/* 0415C 808CEF1C 00000000 */ nop -.L808CEF20: -/* 04160 808CEF20 316C0008 */ andi $t4, $t3, 0x0008 ## $t4 = 00000000 -/* 04164 808CEF24 11800003 */ beq $t4, $zero, .L808CEF34 -/* 04168 808CEF28 244D0006 */ addiu $t5, $v0, 0x0006 ## $t5 = 00000006 -/* 0416C 808CEF2C 10000004 */ beq $zero, $zero, .L808CEF40 -/* 04170 808CEF30 46001586 */ mov.s $f22, $f2 -.L808CEF34: -/* 04174 808CEF34 3C01437F */ lui $at, 0x437F ## $at = 437F0000 -/* 04178 808CEF38 4481B000 */ mtc1 $at, $f22 ## $f22 = 255.00 -/* 0417C 808CEF3C 00000000 */ nop -.L808CEF40: -/* 04180 808CEF40 31AE0008 */ andi $t6, $t5, 0x0008 ## $t6 = 00000000 -/* 04184 808CEF44 11C00003 */ beq $t6, $zero, .L808CEF54 -/* 04188 808CEF48 3C01437F */ lui $at, 0x437F ## $at = 437F0000 -/* 0418C 808CEF4C 10000003 */ beq $zero, $zero, .L808CEF5C -/* 04190 808CEF50 46001506 */ mov.s $f20, $f2 -.L808CEF54: -/* 04194 808CEF54 4481A000 */ mtc1 $at, $f20 ## $f20 = 255.00 -/* 04198 808CEF58 00000000 */ nop -.L808CEF5C: -/* 0419C 808CEF5C 44050000 */ mfc1 $a1, $f0 -/* 041A0 808CEF60 0C01E107 */ jal Math_ApproachF - -/* 041A4 808CEF64 3C074180 */ lui $a3, 0x4180 ## $a3 = 41800000 -/* 041A8 808CEF68 4405B000 */ mfc1 $a1, $f22 -/* 041AC 808CEF6C 26640288 */ addiu $a0, $s3, 0x0288 ## $a0 = 00000288 -/* 041B0 808CEF70 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000 -/* 041B4 808CEF74 0C01E107 */ jal Math_ApproachF - -/* 041B8 808CEF78 3C074180 */ lui $a3, 0x4180 ## $a3 = 41800000 -/* 041BC 808CEF7C 4405A000 */ mfc1 $a1, $f20 -/* 041C0 808CEF80 2664028C */ addiu $a0, $s3, 0x028C ## $a0 = 0000028C -/* 041C4 808CEF84 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000 -/* 041C8 808CEF88 0C01E107 */ jal Math_ApproachF - -/* 041CC 808CEF8C 3C074180 */ lui $a3, 0x4180 ## $a3 = 41800000 -/* 041D0 808CEF90 8662023A */ lh $v0, 0x023A($s3) ## 0000023A -/* 041D4 808CEF94 1040005F */ beq $v0, $zero, .L808CF114 -/* 041D8 808CEF98 244FFFFF */ addiu $t7, $v0, 0xFFFF ## $t7 = FFFFFFFF -/* 041DC 808CEF9C A66F023A */ sh $t7, 0x023A($s3) ## 0000023A -/* 041E0 808CEFA0 8678023A */ lh $t8, 0x023A($s3) ## 0000023A -/* 041E4 808CEFA4 3C014248 */ lui $at, 0x4248 ## $at = 42480000 -/* 041E8 808CEFA8 3319000F */ andi $t9, $t8, 0x000F ## $t9 = 00000000 -/* 041EC 808CEFAC 17200059 */ bne $t9, $zero, .L808CF114 -/* 041F0 808CEFB0 00000000 */ nop -/* 041F4 808CEFB4 44816000 */ mtc1 $at, $f12 ## $f12 = 50.00 -/* 041F8 808CEFB8 0C00CFBE */ jal Rand_ZeroFloat - -/* 041FC 808CEFBC 00000000 */ nop -/* 04200 808CEFC0 4600020D */ trunc.w.s $f8, $f0 -/* 04204 808CEFC4 3C01447A */ lui $at, 0x447A ## $at = 447A0000 -/* 04208 808CEFC8 44812000 */ mtc1 $at, $f4 ## $f4 = 1000.00 -/* 0420C 808CEFCC C6720024 */ lwc1 $f18, 0x0024($s3) ## 00000024 -/* 04210 808CEFD0 440A4000 */ mfc1 $t2, $f8 -/* 04214 808CEFD4 E7A40014 */ swc1 $f4, 0x0014($sp) -/* 04218 808CEFD8 E7B20010 */ swc1 $f18, 0x0010($sp) -/* 0421C 808CEFDC C666002C */ lwc1 $f6, 0x002C($s3) ## 0000002C -/* 04220 808CEFE0 000A5C00 */ sll $t3, $t2, 16 -/* 04224 808CEFE4 8FA600DC */ lw $a2, 0x00DC($sp) -/* 04228 808CEFE8 000B6403 */ sra $t4, $t3, 16 -/* 0422C 808CEFEC 258D0082 */ addiu $t5, $t4, 0x0082 ## $t5 = 00000082 -/* 04230 808CEFF0 240E0064 */ addiu $t6, $zero, 0x0064 ## $t6 = 00000064 -/* 04234 808CEFF4 AFAE0028 */ sw $t6, 0x0028($sp) -/* 04238 808CEFF8 AFAD0024 */ sw $t5, 0x0024($sp) -/* 0423C 808CEFFC AFA00020 */ sw $zero, 0x0020($sp) -/* 04240 808CF000 AFA0001C */ sw $zero, 0x001C($sp) -/* 04244 808CF004 02602825 */ or $a1, $s3, $zero ## $a1 = 00000000 -/* 04248 808CF008 240700AD */ addiu $a3, $zero, 0x00AD ## $a3 = 000000AD -/* 0424C 808CF00C E7A60018 */ swc1 $f6, 0x0018($sp) -/* 04250 808CF010 0C00C916 */ jal Actor_SpawnAsChild - -/* 04254 808CF014 24C41C24 */ addiu $a0, $a2, 0x1C24 ## $a0 = 00001C24 -/* 04258 808CF018 1040003E */ beq $v0, $zero, .L808CF114 -/* 0425C 808CF01C 00408025 */ or $s0, $v0, $zero ## $s0 = 00000000 -/* 04260 808CF020 3C014170 */ lui $at, 0x4170 ## $at = 41700000 -/* 04264 808CF024 4481B000 */ mtc1 $at, $f22 ## $f22 = 15.00 -/* 04268 808CF028 3C014396 */ lui $at, 0x4396 ## $at = 43960000 -/* 0426C 808CF02C 4481A000 */ mtc1 $at, $f20 ## $f20 = 300.00 -/* 04270 808CF030 00009025 */ or $s2, $zero, $zero ## $s2 = 00000000 -/* 04274 808CF034 26741970 */ addiu $s4, $s3, 0x1970 ## $s4 = 00001970 -/* 04278 808CF038 27B100B0 */ addiu $s1, $sp, 0x00B0 ## $s1 = FFFFFFD8 -.L808CF03C: -/* 0427C 808CF03C 3C0F808D */ lui $t7, %hi(D_808D1A60) ## $t7 = 808D0000 -/* 04280 808CF040 25EF1A60 */ addiu $t7, $t7, %lo(D_808D1A60) ## $t7 = 808D1A60 -/* 04284 808CF044 8DF90000 */ lw $t9, 0x0000($t7) ## 808D1A60 -/* 04288 808CF048 3C09808D */ lui $t1, %hi(D_808D1A6C) ## $t1 = 808D0000 -/* 0428C 808CF04C 25291A6C */ addiu $t1, $t1, %lo(D_808D1A6C) ## $t1 = 808D1A6C -/* 04290 808CF050 AE390000 */ sw $t9, 0x0000($s1) ## FFFFFFD8 -/* 04294 808CF054 8DF80004 */ lw $t8, 0x0004($t7) ## 808D1A64 -/* 04298 808CF058 27A800A4 */ addiu $t0, $sp, 0x00A4 ## $t0 = FFFFFFCC -/* 0429C 808CF05C 4600A306 */ mov.s $f12, $f20 -/* 042A0 808CF060 AE380004 */ sw $t8, 0x0004($s1) ## FFFFFFDC -/* 042A4 808CF064 8DF90008 */ lw $t9, 0x0008($t7) ## 808D1A68 -/* 042A8 808CF068 AE390008 */ sw $t9, 0x0008($s1) ## FFFFFFE0 -/* 042AC 808CF06C 8D2B0000 */ lw $t3, 0x0000($t1) ## 808D1A6C -/* 042B0 808CF070 8D2A0004 */ lw $t2, 0x0004($t1) ## 808D1A70 -/* 042B4 808CF074 AD0B0000 */ sw $t3, 0x0000($t0) ## FFFFFFCC -/* 042B8 808CF078 8D2B0008 */ lw $t3, 0x0008($t1) ## 808D1A74 -/* 042BC 808CF07C AD0A0004 */ sw $t2, 0x0004($t0) ## FFFFFFD0 -/* 042C0 808CF080 0C00CFC8 */ jal Rand_CenteredFloat - -/* 042C4 808CF084 AD0B0008 */ sw $t3, 0x0008($t0) ## FFFFFFD4 -/* 042C8 808CF088 C60A0024 */ lwc1 $f10, 0x0024($s0) ## 00000024 -/* 042CC 808CF08C 4600A306 */ mov.s $f12, $f20 -/* 042D0 808CF090 460A0400 */ add.s $f16, $f0, $f10 -/* 042D4 808CF094 0C00CFC8 */ jal Rand_CenteredFloat - -/* 042D8 808CF098 E7B00098 */ swc1 $f16, 0x0098($sp) -/* 042DC 808CF09C C6120028 */ lwc1 $f18, 0x0028($s0) ## 00000028 -/* 042E0 808CF0A0 4600A306 */ mov.s $f12, $f20 -/* 042E4 808CF0A4 46120100 */ add.s $f4, $f0, $f18 -/* 042E8 808CF0A8 0C00CFC8 */ jal Rand_CenteredFloat - -/* 042EC 808CF0AC E7A4009C */ swc1 $f4, 0x009C($sp) -/* 042F0 808CF0B0 C606002C */ lwc1 $f6, 0x002C($s0) ## 0000002C -/* 042F4 808CF0B4 4600B306 */ mov.s $f12, $f22 -/* 042F8 808CF0B8 46060200 */ add.s $f8, $f0, $f6 -/* 042FC 808CF0BC 0C00CFBE */ jal Rand_ZeroFloat - -/* 04300 808CF0C0 E7A800A0 */ swc1 $f8, 0x00A0($sp) -/* 04304 808CF0C4 4600028D */ trunc.w.s $f10, $f0 -/* 04308 808CF0C8 02802025 */ or $a0, $s4, $zero ## $a0 = 00001970 -/* 0430C 808CF0CC 27A50098 */ addiu $a1, $sp, 0x0098 ## $a1 = FFFFFFC0 -/* 04310 808CF0D0 02203025 */ or $a2, $s1, $zero ## $a2 = FFFFFFD8 -/* 04314 808CF0D4 440D5000 */ mfc1 $t5, $f10 -/* 04318 808CF0D8 27A700A4 */ addiu $a3, $sp, 0x00A4 ## $a3 = FFFFFFCC -/* 0431C 808CF0DC 000D7400 */ sll $t6, $t5, 16 -/* 04320 808CF0E0 000E7C03 */ sra $t7, $t6, 16 -/* 04324 808CF0E4 25F80014 */ addiu $t8, $t7, 0x0014 ## $t8 = 00000014 -/* 04328 808CF0E8 44988000 */ mtc1 $t8, $f16 ## $f16 = 0.00 -/* 0432C 808CF0EC 00000000 */ nop -/* 04330 808CF0F0 468084A0 */ cvt.s.w $f18, $f16 -/* 04334 808CF0F4 0C232BA3 */ jal func_808CAE8C -/* 04338 808CF0F8 E7B20010 */ swc1 $f18, 0x0010($sp) -/* 0433C 808CF0FC 26520001 */ addiu $s2, $s2, 0x0001 ## $s2 = 00000001 -/* 04340 808CF100 00129400 */ sll $s2, $s2, 16 -/* 04344 808CF104 00129403 */ sra $s2, $s2, 16 -/* 04348 808CF108 2A41000A */ slti $at, $s2, 0x000A -/* 0434C 808CF10C 1420FFCB */ bne $at, $zero, .L808CF03C -/* 04350 808CF110 00000000 */ nop -.L808CF114: -/* 04354 808CF114 3C08808D */ lui $t0, %hi(D_808D1A78) ## $t0 = 808D0000 -/* 04358 808CF118 25081A78 */ addiu $t0, $t0, %lo(D_808D1A78) ## $t0 = 808D1A78 -/* 0435C 808CF11C 8D0A0000 */ lw $t2, 0x0000($t0) ## 808D1A78 -/* 04360 808CF120 27B9008C */ addiu $t9, $sp, 0x008C ## $t9 = FFFFFFB4 -/* 04364 808CF124 8D090004 */ lw $t1, 0x0004($t0) ## 808D1A7C -/* 04368 808CF128 AF2A0000 */ sw $t2, 0x0000($t9) ## FFFFFFB4 -/* 0436C 808CF12C 8D0A0008 */ lw $t2, 0x0008($t0) ## 808D1A80 -/* 04370 808CF130 3C0C808D */ lui $t4, %hi(D_808D1A84) ## $t4 = 808D0000 -/* 04374 808CF134 258C1A84 */ addiu $t4, $t4, %lo(D_808D1A84) ## $t4 = 808D1A84 -/* 04378 808CF138 AF290004 */ sw $t1, 0x0004($t9) ## FFFFFFB8 -/* 0437C 808CF13C AF2A0008 */ sw $t2, 0x0008($t9) ## FFFFFFBC -/* 04380 808CF140 8D8E0000 */ lw $t6, 0x0000($t4) ## 808D1A84 -/* 04384 808CF144 27AB0080 */ addiu $t3, $sp, 0x0080 ## $t3 = FFFFFFA8 -/* 04388 808CF148 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000 -/* 0438C 808CF14C AD6E0000 */ sw $t6, 0x0000($t3) ## FFFFFFA8 -/* 04390 808CF150 8D8E0008 */ lw $t6, 0x0008($t4) ## 808D1A8C -/* 04394 808CF154 8D8D0004 */ lw $t5, 0x0004($t4) ## 808D1A88 -/* 04398 808CF158 4481B000 */ mtc1 $at, $f22 ## $f22 = 0.50 -/* 0439C 808CF15C 3C014270 */ lui $at, 0x4270 ## $at = 42700000 -/* 043A0 808CF160 4481A000 */ mtc1 $at, $f20 ## $f20 = 60.00 -/* 043A4 808CF164 26741970 */ addiu $s4, $s3, 0x1970 ## $s4 = 00001970 -/* 043A8 808CF168 00009025 */ or $s2, $zero, $zero ## $s2 = 00000000 -/* 043AC 808CF16C AD6E0008 */ sw $t6, 0x0008($t3) ## FFFFFFB0 -/* 043B0 808CF170 AD6D0004 */ sw $t5, 0x0004($t3) ## FFFFFFAC -.L808CF174: -/* 043B4 808CF174 3C01808D */ lui $at, %hi(D_808D1F88) ## $at = 808D0000 -/* 043B8 808CF178 C4241F88 */ lwc1 $f4, %lo(D_808D1F88)($at) -/* 043BC 808CF17C 4600B306 */ mov.s $f12, $f22 -/* 043C0 808CF180 0C00CFC8 */ jal Rand_CenteredFloat - -/* 043C4 808CF184 E7A40084 */ swc1 $f4, 0x0084($sp) -/* 043C8 808CF188 E7A00080 */ swc1 $f0, 0x0080($sp) -/* 043CC 808CF18C 0C00CFC8 */ jal Rand_CenteredFloat - -/* 043D0 808CF190 4600B306 */ mov.s $f12, $f22 -/* 043D4 808CF194 3C01808D */ lui $at, %hi(D_808D1F8C) ## $at = 808D0000 -/* 043D8 808CF198 E7A00088 */ swc1 $f0, 0x0088($sp) -/* 043DC 808CF19C 0C00CFBE */ jal Rand_ZeroFloat - -/* 043E0 808CF1A0 C42C1F8C */ lwc1 $f12, %lo(D_808D1F8C)($at) -/* 043E4 808CF1A4 4600018D */ trunc.w.s $f6, $f0 -/* 043E8 808CF1A8 4600A306 */ mov.s $f12, $f20 -/* 043EC 808CF1AC 44103000 */ mfc1 $s0, $f6 -/* 043F0 808CF1B0 00000000 */ nop -/* 043F4 808CF1B4 00108400 */ sll $s0, $s0, 16 -/* 043F8 808CF1B8 0C00CFC8 */ jal Rand_CenteredFloat - -/* 043FC 808CF1BC 00108403 */ sra $s0, $s0, 16 -/* 04400 808CF1C0 0010C080 */ sll $t8, $s0, 2 -/* 04404 808CF1C4 0310C023 */ subu $t8, $t8, $s0 -/* 04408 808CF1C8 3C19808D */ lui $t9, %hi(D_808D192C) ## $t9 = 808D0000 -/* 0440C 808CF1CC 2739192C */ addiu $t9, $t9, %lo(D_808D192C) ## $t9 = 808D192C -/* 04410 808CF1D0 0018C080 */ sll $t8, $t8, 2 -/* 04414 808CF1D4 03198821 */ addu $s1, $t8, $t9 -/* 04418 808CF1D8 C6280000 */ lwc1 $f8, 0x0000($s1) ## FFFFFFD8 -/* 0441C 808CF1DC 3C014220 */ lui $at, 0x4220 ## $at = 42200000 -/* 04420 808CF1E0 44816000 */ mtc1 $at, $f12 ## $f12 = 40.00 -/* 04424 808CF1E4 46080280 */ add.s $f10, $f0, $f8 -/* 04428 808CF1E8 0C00CFBE */ jal Rand_ZeroFloat - -/* 0442C 808CF1EC E7AA0074 */ swc1 $f10, 0x0074($sp) -/* 04430 808CF1F0 3C014120 */ lui $at, 0x4120 ## $at = 41200000 -/* 04434 808CF1F4 44819000 */ mtc1 $at, $f18 ## $f18 = 10.00 -/* 04438 808CF1F8 C6300004 */ lwc1 $f16, 0x0004($s1) ## FFFFFFDC -/* 0443C 808CF1FC 4600A306 */ mov.s $f12, $f20 -/* 04440 808CF200 46128100 */ add.s $f4, $f16, $f18 -/* 04444 808CF204 46040180 */ add.s $f6, $f0, $f4 -/* 04448 808CF208 0C00CFC8 */ jal Rand_CenteredFloat - -/* 0444C 808CF20C E7A60078 */ swc1 $f6, 0x0078($sp) -/* 04450 808CF210 C6280008 */ lwc1 $f8, 0x0008($s1) ## FFFFFFE0 -/* 04454 808CF214 3C014000 */ lui $at, 0x4000 ## $at = 40000000 -/* 04458 808CF218 44816000 */ mtc1 $at, $f12 ## $f12 = 2.00 -/* 0445C 808CF21C 46080280 */ add.s $f10, $f0, $f8 -/* 04460 808CF220 0C00CFBE */ jal Rand_ZeroFloat - -/* 04464 808CF224 E7AA007C */ swc1 $f10, 0x007C($sp) -/* 04468 808CF228 4600040D */ trunc.w.s $f16, $f0 -/* 0446C 808CF22C 02802025 */ or $a0, $s4, $zero ## $a0 = 00001970 -/* 04470 808CF230 27A50074 */ addiu $a1, $sp, 0x0074 ## $a1 = FFFFFF9C -/* 04474 808CF234 27A6008C */ addiu $a2, $sp, 0x008C ## $a2 = FFFFFFB4 -/* 04478 808CF238 44098000 */ mfc1 $t1, $f16 -/* 0447C 808CF23C 27A70080 */ addiu $a3, $sp, 0x0080 ## $a3 = FFFFFFA8 -/* 04480 808CF240 00095400 */ sll $t2, $t1, 16 -/* 04484 808CF244 000A5C03 */ sra $t3, $t2, 16 -/* 04488 808CF248 256C0006 */ addiu $t4, $t3, 0x0006 ## $t4 = 00000006 -/* 0448C 808CF24C 448C9000 */ mtc1 $t4, $f18 ## $f18 = 0.00 -/* 04490 808CF250 00000000 */ nop -/* 04494 808CF254 46809120 */ cvt.s.w $f4, $f18 -/* 04498 808CF258 0C232B70 */ jal func_808CADC0 -/* 0449C 808CF25C E7A40010 */ swc1 $f4, 0x0010($sp) -/* 044A0 808CF260 26520001 */ addiu $s2, $s2, 0x0001 ## $s2 = 00000001 -/* 044A4 808CF264 00129400 */ sll $s2, $s2, 16 -/* 044A8 808CF268 00129403 */ sra $s2, $s2, 16 -/* 044AC 808CF26C 2A410006 */ slti $at, $s2, 0x0006 -/* 044B0 808CF270 1420FFC0 */ bne $at, $zero, .L808CF174 -/* 044B4 808CF274 00000000 */ nop -/* 044B8 808CF278 866D021E */ lh $t5, 0x021E($s3) ## 0000021E -/* 044BC 808CF27C 11A0005F */ beq $t5, $zero, .L808CF3FC -/* 044C0 808CF280 00000000 */ nop -/* 044C4 808CF284 C6660294 */ lwc1 $f6, 0x0294($s3) ## 00000294 -/* 044C8 808CF288 00009025 */ or $s2, $zero, $zero ## $s2 = 00000000 -/* 044CC 808CF28C 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000 -/* 044D0 808CF290 4600320D */ trunc.w.s $f8, $f6 -/* 044D4 808CF294 440F4000 */ mfc1 $t7, $f8 -/* 044D8 808CF298 00000000 */ nop -/* 044DC 808CF29C 000FC400 */ sll $t8, $t7, 16 -/* 044E0 808CF2A0 0018CC03 */ sra $t9, $t8, 16 -/* 044E4 808CF2A4 1B200055 */ blez $t9, .L808CF3FC -/* 044E8 808CF2A8 00000000 */ nop -/* 044EC 808CF2AC 4481A000 */ mtc1 $at, $f20 ## $f20 = 20.00 -/* 044F0 808CF2B0 00000000 */ nop -.L808CF2B4: -/* 044F4 808CF2B4 3C01808D */ lui $at, %hi(D_808D1F90) ## $at = 808D0000 -/* 044F8 808CF2B8 0C00CFBE */ jal Rand_ZeroFloat - -/* 044FC 808CF2BC C42C1F90 */ lwc1 $f12, %lo(D_808D1F90)($at) -/* 04500 808CF2C0 4600028D */ trunc.w.s $f10, $f0 -/* 04504 808CF2C4 4600A306 */ mov.s $f12, $f20 -/* 04508 808CF2C8 44105000 */ mfc1 $s0, $f10 -/* 0450C 808CF2CC 00000000 */ nop -/* 04510 808CF2D0 00108400 */ sll $s0, $s0, 16 -/* 04514 808CF2D4 0C00CFC8 */ jal Rand_CenteredFloat - -/* 04518 808CF2D8 00108403 */ sra $s0, $s0, 16 -/* 0451C 808CF2DC 00104880 */ sll $t1, $s0, 2 -/* 04520 808CF2E0 01304823 */ subu $t1, $t1, $s0 -/* 04524 808CF2E4 00094880 */ sll $t1, $t1, 2 -/* 04528 808CF2E8 02698821 */ addu $s1, $s3, $t1 -/* 0452C 808CF2EC C6300E08 */ lwc1 $f16, 0x0E08($s1) ## 00000DE0 -/* 04530 808CF2F0 3C0142B4 */ lui $at, 0x42B4 ## $at = 42B40000 -/* 04534 808CF2F4 44813000 */ mtc1 $at, $f6 ## $f6 = 90.00 -/* 04538 808CF2F8 46100480 */ add.s $f18, $f0, $f16 -/* 0453C 808CF2FC E7B20078 */ swc1 $f18, 0x0078($sp) -/* 04540 808CF300 C7A40078 */ lwc1 $f4, 0x0078($sp) -/* 04544 808CF304 4604303E */ c.le.s $f6, $f4 -/* 04548 808CF308 00000000 */ nop -/* 0454C 808CF30C 4502002F */ bc1fl .L808CF3CC -/* 04550 808CF310 8FAF00D0 */ lw $t7, 0x00D0($sp) -/* 04554 808CF314 0C00CFC8 */ jal Rand_CenteredFloat - -/* 04558 808CF318 4600A306 */ mov.s $f12, $f20 -/* 0455C 808CF31C C6280E04 */ lwc1 $f8, 0x0E04($s1) ## 00000DDC -/* 04560 808CF320 4600A306 */ mov.s $f12, $f20 -/* 04564 808CF324 46080280 */ add.s $f10, $f0, $f8 -/* 04568 808CF328 0C00CFC8 */ jal Rand_CenteredFloat - -/* 0456C 808CF32C E7AA0074 */ swc1 $f10, 0x0074($sp) -/* 04570 808CF330 C6300E0C */ lwc1 $f16, 0x0E0C($s1) ## 00000DE4 -/* 04574 808CF334 46100480 */ add.s $f18, $f0, $f16 -/* 04578 808CF338 E7B2007C */ swc1 $f18, 0x007C($sp) -/* 0457C 808CF33C 0C00CFC8 */ jal Rand_CenteredFloat - -/* 04580 808CF340 C66C0290 */ lwc1 $f12, 0x0290($s3) ## 00000290 -/* 04584 808CF344 E7A0008C */ swc1 $f0, 0x008C($sp) -/* 04588 808CF348 0C00CFC8 */ jal Rand_CenteredFloat - -/* 0458C 808CF34C C66C0290 */ lwc1 $f12, 0x0290($s3) ## 00000290 -/* 04590 808CF350 E7A00090 */ swc1 $f0, 0x0090($sp) -/* 04594 808CF354 0C00CFC8 */ jal Rand_CenteredFloat - -/* 04598 808CF358 C66C0290 */ lwc1 $f12, 0x0290($s3) ## 00000290 -/* 0459C 808CF35C 3C01808D */ lui $at, %hi(D_808D1F94) ## $at = 808D0000 -/* 045A0 808CF360 C4241F94 */ lwc1 $f4, %lo(D_808D1F94)($at) -/* 045A4 808CF364 E7A00094 */ swc1 $f0, 0x0094($sp) -/* 045A8 808CF368 4600B306 */ mov.s $f12, $f22 -/* 045AC 808CF36C 0C00CFC8 */ jal Rand_CenteredFloat - -/* 045B0 808CF370 E7A40084 */ swc1 $f4, 0x0084($sp) -/* 045B4 808CF374 E7A00080 */ swc1 $f0, 0x0080($sp) -/* 045B8 808CF378 0C00CFC8 */ jal Rand_CenteredFloat - -/* 045BC 808CF37C 4600B306 */ mov.s $f12, $f22 -/* 045C0 808CF380 3C014000 */ lui $at, 0x4000 ## $at = 40000000 -/* 045C4 808CF384 44816000 */ mtc1 $at, $f12 ## $f12 = 2.00 -/* 045C8 808CF388 0C00CFBE */ jal Rand_ZeroFloat - -/* 045CC 808CF38C E7A00088 */ swc1 $f0, 0x0088($sp) -/* 045D0 808CF390 4600018D */ trunc.w.s $f6, $f0 -/* 045D4 808CF394 02802025 */ or $a0, $s4, $zero ## $a0 = 00001970 -/* 045D8 808CF398 27A50074 */ addiu $a1, $sp, 0x0074 ## $a1 = FFFFFF9C -/* 045DC 808CF39C 27A6008C */ addiu $a2, $sp, 0x008C ## $a2 = FFFFFFB4 -/* 045E0 808CF3A0 440B3000 */ mfc1 $t3, $f6 -/* 045E4 808CF3A4 27A70080 */ addiu $a3, $sp, 0x0080 ## $a3 = FFFFFFA8 -/* 045E8 808CF3A8 000B6400 */ sll $t4, $t3, 16 -/* 045EC 808CF3AC 000C6C03 */ sra $t5, $t4, 16 -/* 045F0 808CF3B0 25AE0008 */ addiu $t6, $t5, 0x0008 ## $t6 = 00000008 -/* 045F4 808CF3B4 448E4000 */ mtc1 $t6, $f8 ## $f8 = 0.00 -/* 045F8 808CF3B8 00000000 */ nop -/* 045FC 808CF3BC 468042A0 */ cvt.s.w $f10, $f8 -/* 04600 808CF3C0 0C232B70 */ jal func_808CADC0 -/* 04604 808CF3C4 E7AA0010 */ swc1 $f10, 0x0010($sp) -/* 04608 808CF3C8 8FAF00D0 */ lw $t7, 0x00D0($sp) -.L808CF3CC: -/* 0460C 808CF3CC 26520001 */ addiu $s2, $s2, 0x0001 ## $s2 = 00000001 -/* 04610 808CF3D0 00129400 */ sll $s2, $s2, 16 -/* 04614 808CF3D4 C5F00294 */ lwc1 $f16, 0x0294($t7) ## 00000294 -/* 04618 808CF3D8 00129403 */ sra $s2, $s2, 16 -/* 0461C 808CF3DC 4600848D */ trunc.w.s $f18, $f16 -/* 04620 808CF3E0 44199000 */ mfc1 $t9, $f18 -/* 04624 808CF3E4 00000000 */ nop -/* 04628 808CF3E8 00194400 */ sll $t0, $t9, 16 -/* 0462C 808CF3EC 00084C03 */ sra $t1, $t0, 16 -/* 04630 808CF3F0 0249082A */ slt $at, $s2, $t1 -/* 04634 808CF3F4 1420FFAF */ bne $at, $zero, .L808CF2B4 -/* 04638 808CF3F8 00000000 */ nop -.L808CF3FC: -/* 0463C 808CF3FC 3C04808D */ lui $a0, %hi(D_808D1CCC) ## $a0 = 808D0000 -/* 04640 808CF400 0C00084C */ jal osSyncPrintf - -/* 04644 808CF404 24841CCC */ addiu $a0, $a0, %lo(D_808D1CCC) ## $a0 = 808D1CCC -/* 04648 808CF408 02602025 */ or $a0, $s3, $zero ## $a0 = 00000000 -/* 0464C 808CF40C 0C233D12 */ jal func_808CF448 -/* 04650 808CF410 8FA500DC */ lw $a1, 0x00DC($sp) -/* 04654 808CF414 3C04808D */ lui $a0, %hi(D_808D1CDC) ## $a0 = 808D0000 -/* 04658 808CF418 0C00084C */ jal osSyncPrintf - -/* 0465C 808CF41C 24841CDC */ addiu $a0, $a0, %lo(D_808D1CDC) ## $a0 = 808D1CDC -/* 04660 808CF420 8FBF005C */ lw $ra, 0x005C($sp) -/* 04664 808CF424 D7B40038 */ ldc1 $f20, 0x0038($sp) -/* 04668 808CF428 D7B60040 */ ldc1 $f22, 0x0040($sp) -/* 0466C 808CF42C 8FB00048 */ lw $s0, 0x0048($sp) -/* 04670 808CF430 8FB1004C */ lw $s1, 0x004C($sp) -/* 04674 808CF434 8FB20050 */ lw $s2, 0x0050($sp) -/* 04678 808CF438 8FB30054 */ lw $s3, 0x0054($sp) -/* 0467C 808CF43C 8FB40058 */ lw $s4, 0x0058($sp) -/* 04680 808CF440 03E00008 */ jr $ra -/* 04684 808CF444 27BD00D8 */ addiu $sp, $sp, 0x00D8 ## $sp = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808CADC0.s b/asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808CADC0.s deleted file mode 100644 index fa545aaf32..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808CADC0.s +++ /dev/null @@ -1,56 +0,0 @@ -glabel func_808CADC0 -/* 00000 808CADC0 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00004 808CADC4 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00008 808CADC8 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000 -.L808CADCC: -/* 0000C 808CADCC 908E0024 */ lbu $t6, 0x0024($a0) ## 00000024 -/* 00010 808CADD0 24420001 */ addiu $v0, $v0, 0x0001 ## $v0 = 00000001 -/* 00014 808CADD4 00021400 */ sll $v0, $v0, 16 -/* 00018 808CADD8 15C00025 */ bne $t6, $zero, .L808CAE70 -/* 0001C 808CADDC 00021403 */ sra $v0, $v0, 16 -/* 00020 808CADE0 240F0001 */ addiu $t7, $zero, 0x0001 ## $t7 = 00000001 -/* 00024 808CADE4 A08F0024 */ sb $t7, 0x0024($a0) ## 00000024 -/* 00028 808CADE8 8CB90000 */ lw $t9, 0x0000($a1) ## 00000000 -/* 0002C 808CADEC 3C01447A */ lui $at, 0x447A ## $at = 447A0000 -/* 00030 808CADF0 44813000 */ mtc1 $at, $f6 ## $f6 = 1000.00 -/* 00034 808CADF4 AC990000 */ sw $t9, 0x0000($a0) ## 00000000 -/* 00038 808CADF8 8CB80004 */ lw $t8, 0x0004($a1) ## 00000004 -/* 0003C 808CADFC 240C00FF */ addiu $t4, $zero, 0x00FF ## $t4 = 000000FF -/* 00040 808CAE00 3C014120 */ lui $at, 0x4120 ## $at = 41200000 -/* 00044 808CAE04 AC980004 */ sw $t8, 0x0004($a0) ## 00000004 -/* 00048 808CAE08 8CB90008 */ lw $t9, 0x0008($a1) ## 00000008 -/* 0004C 808CAE0C 44816000 */ mtc1 $at, $f12 ## $f12 = 10.00 -/* 00050 808CAE10 AC990008 */ sw $t9, 0x0008($a0) ## 00000008 -/* 00054 808CAE14 8CC90000 */ lw $t1, 0x0000($a2) ## 00000000 -/* 00058 808CAE18 AC89000C */ sw $t1, 0x000C($a0) ## 0000000C -/* 0005C 808CAE1C 8CC80004 */ lw $t0, 0x0004($a2) ## 00000004 -/* 00060 808CAE20 AC880010 */ sw $t0, 0x0010($a0) ## 00000010 -/* 00064 808CAE24 8CC90008 */ lw $t1, 0x0008($a2) ## 00000008 -/* 00068 808CAE28 AC890014 */ sw $t1, 0x0014($a0) ## 00000014 -/* 0006C 808CAE2C 8CEB0000 */ lw $t3, 0x0000($a3) ## 00000000 -/* 00070 808CAE30 AC8B0018 */ sw $t3, 0x0018($a0) ## 00000018 -/* 00074 808CAE34 8CEA0004 */ lw $t2, 0x0004($a3) ## 00000004 -/* 00078 808CAE38 AC8A001C */ sw $t2, 0x001C($a0) ## 0000001C -/* 0007C 808CAE3C 8CEB0008 */ lw $t3, 0x0008($a3) ## 00000008 -/* 00080 808CAE40 AC8B0020 */ sw $t3, 0x0020($a0) ## 00000020 -/* 00084 808CAE44 C7A40028 */ lwc1 $f4, 0x0028($sp) -/* 00088 808CAE48 A48C002A */ sh $t4, 0x002A($a0) ## 0000002A -/* 0008C 808CAE4C 46062203 */ div.s $f8, $f4, $f6 -/* 00090 808CAE50 E4880030 */ swc1 $f8, 0x0030($a0) ## 00000030 -/* 00094 808CAE54 0C00CFBE */ jal Rand_ZeroFloat - -/* 00098 808CAE58 AFA40018 */ sw $a0, 0x0018($sp) -/* 0009C 808CAE5C 4600028D */ trunc.w.s $f10, $f0 -/* 000A0 808CAE60 8FA40018 */ lw $a0, 0x0018($sp) -/* 000A4 808CAE64 44185000 */ mfc1 $t8, $f10 -/* 000A8 808CAE68 10000004 */ beq $zero, $zero, .L808CAE7C -/* 000AC 808CAE6C A0980025 */ sb $t8, 0x0025($a0) ## 00000025 -.L808CAE70: -/* 000B0 808CAE70 28410096 */ slti $at, $v0, 0x0096 -/* 000B4 808CAE74 1420FFD5 */ bne $at, $zero, .L808CADCC -/* 000B8 808CAE78 2484003C */ addiu $a0, $a0, 0x003C ## $a0 = 0000003C -.L808CAE7C: -/* 000BC 808CAE7C 8FBF0014 */ lw $ra, 0x0014($sp) -/* 000C0 808CAE80 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 000C4 808CAE84 03E00008 */ jr $ra -/* 000C8 808CAE88 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808CAE8C.s b/asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808CAE8C.s deleted file mode 100644 index 4854e54c17..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808CAE8C.s +++ /dev/null @@ -1,58 +0,0 @@ -glabel func_808CAE8C -/* 000CC 808CAE8C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 000D0 808CAE90 AFBF0014 */ sw $ra, 0x0014($sp) -/* 000D4 808CAE94 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000 -.L808CAE98: -/* 000D8 808CAE98 908E0024 */ lbu $t6, 0x0024($a0) ## 00000024 -/* 000DC 808CAE9C 24420001 */ addiu $v0, $v0, 0x0001 ## $v0 = 00000001 -/* 000E0 808CAEA0 00021400 */ sll $v0, $v0, 16 -/* 000E4 808CAEA4 15C00026 */ bne $t6, $zero, .L808CAF40 -/* 000E8 808CAEA8 00021403 */ sra $v0, $v0, 16 -/* 000EC 808CAEAC 240F0002 */ addiu $t7, $zero, 0x0002 ## $t7 = 00000002 -/* 000F0 808CAEB0 A08F0024 */ sb $t7, 0x0024($a0) ## 00000024 -/* 000F4 808CAEB4 8CB90000 */ lw $t9, 0x0000($a1) ## 00000000 -/* 000F8 808CAEB8 3C01447A */ lui $at, 0x447A ## $at = 447A0000 -/* 000FC 808CAEBC 44813000 */ mtc1 $at, $f6 ## $f6 = 1000.00 -/* 00100 808CAEC0 AC990000 */ sw $t9, 0x0000($a0) ## 00000000 -/* 00104 808CAEC4 8CB80004 */ lw $t8, 0x0004($a1) ## 00000004 -/* 00108 808CAEC8 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000 -/* 0010C 808CAECC 44816000 */ mtc1 $at, $f12 ## $f12 = 100.00 -/* 00110 808CAED0 AC980004 */ sw $t8, 0x0004($a0) ## 00000004 -/* 00114 808CAED4 8CB90008 */ lw $t9, 0x0008($a1) ## 00000008 -/* 00118 808CAED8 AC990008 */ sw $t9, 0x0008($a0) ## 00000008 -/* 0011C 808CAEDC 8CC90000 */ lw $t1, 0x0000($a2) ## 00000000 -/* 00120 808CAEE0 AC89000C */ sw $t1, 0x000C($a0) ## 0000000C -/* 00124 808CAEE4 8CC80004 */ lw $t0, 0x0004($a2) ## 00000004 -/* 00128 808CAEE8 AC880010 */ sw $t0, 0x0010($a0) ## 00000010 -/* 0012C 808CAEEC 8CC90008 */ lw $t1, 0x0008($a2) ## 00000008 -/* 00130 808CAEF0 AC890014 */ sw $t1, 0x0014($a0) ## 00000014 -/* 00134 808CAEF4 8CEB0000 */ lw $t3, 0x0000($a3) ## 00000000 -/* 00138 808CAEF8 AC8B0018 */ sw $t3, 0x0018($a0) ## 00000018 -/* 0013C 808CAEFC 8CEA0004 */ lw $t2, 0x0004($a3) ## 00000004 -/* 00140 808CAF00 AC8A001C */ sw $t2, 0x001C($a0) ## 0000001C -/* 00144 808CAF04 8CEB0008 */ lw $t3, 0x0008($a3) ## 00000008 -/* 00148 808CAF08 AC8B0020 */ sw $t3, 0x0020($a0) ## 00000020 -/* 0014C 808CAF0C C7A40028 */ lwc1 $f4, 0x0028($sp) -/* 00150 808CAF10 46062203 */ div.s $f8, $f4, $f6 -/* 00154 808CAF14 E4880030 */ swc1 $f8, 0x0030($a0) ## 00000030 -/* 00158 808CAF18 0C00CFBE */ jal Rand_ZeroFloat - -/* 0015C 808CAF1C AFA40018 */ sw $a0, 0x0018($sp) -/* 00160 808CAF20 8FA40018 */ lw $a0, 0x0018($sp) -/* 00164 808CAF24 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000 -/* 00168 808CAF28 44816000 */ mtc1 $at, $f12 ## $f12 = 100.00 -/* 0016C 808CAF2C 0C00CFBE */ jal Rand_ZeroFloat - -/* 00170 808CAF30 E4800034 */ swc1 $f0, 0x0034($a0) ## 00000034 -/* 00174 808CAF34 8FA40018 */ lw $a0, 0x0018($sp) -/* 00178 808CAF38 10000004 */ beq $zero, $zero, .L808CAF4C -/* 0017C 808CAF3C E4800038 */ swc1 $f0, 0x0038($a0) ## 00000038 -.L808CAF40: -/* 00180 808CAF40 28410096 */ slti $at, $v0, 0x0096 -/* 00184 808CAF44 1420FFD4 */ bne $at, $zero, .L808CAE98 -/* 00188 808CAF48 2484003C */ addiu $a0, $a0, 0x003C ## $a0 = 0000003C -.L808CAF4C: -/* 0018C 808CAF4C 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00190 808CAF50 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00194 808CAF54 03E00008 */ jr $ra -/* 00198 808CAF58 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808CAF5C.s b/asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808CAF5C.s deleted file mode 100644 index ab014a3244..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808CAF5C.s +++ /dev/null @@ -1,41 +0,0 @@ -glabel func_808CAF5C -/* 0019C 808CAF5C 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000 -.L808CAF60: -/* 001A0 808CAF60 908E0024 */ lbu $t6, 0x0024($a0) ## 00000024 -/* 001A4 808CAF64 24420001 */ addiu $v0, $v0, 0x0001 ## $v0 = 00000001 -/* 001A8 808CAF68 00021400 */ sll $v0, $v0, 16 -/* 001AC 808CAF6C 15C0001C */ bne $t6, $zero, .L808CAFE0 -/* 001B0 808CAF70 00021403 */ sra $v0, $v0, 16 -/* 001B4 808CAF74 240F0003 */ addiu $t7, $zero, 0x0003 ## $t7 = 00000003 -/* 001B8 808CAF78 A08F0024 */ sb $t7, 0x0024($a0) ## 00000024 -/* 001BC 808CAF7C 8CB90000 */ lw $t9, 0x0000($a1) ## 00000000 -/* 001C0 808CAF80 3C0143C8 */ lui $at, 0x43C8 ## $at = 43C80000 -/* 001C4 808CAF84 44813000 */ mtc1 $at, $f6 ## $f6 = 400.00 -/* 001C8 808CAF88 AC990000 */ sw $t9, 0x0000($a0) ## 00000000 -/* 001CC 808CAF8C 8CB80004 */ lw $t8, 0x0004($a1) ## 00000004 -/* 001D0 808CAF90 AC980004 */ sw $t8, 0x0004($a0) ## 00000004 -/* 001D4 808CAF94 8CB90008 */ lw $t9, 0x0008($a1) ## 00000008 -/* 001D8 808CAF98 AC990008 */ sw $t9, 0x0008($a0) ## 00000008 -/* 001DC 808CAF9C 8CC90000 */ lw $t1, 0x0000($a2) ## 00000000 -/* 001E0 808CAFA0 AC89000C */ sw $t1, 0x000C($a0) ## 0000000C -/* 001E4 808CAFA4 8CC80004 */ lw $t0, 0x0004($a2) ## 00000004 -/* 001E8 808CAFA8 AC880010 */ sw $t0, 0x0010($a0) ## 00000010 -/* 001EC 808CAFAC 8CC90008 */ lw $t1, 0x0008($a2) ## 00000008 -/* 001F0 808CAFB0 AC890014 */ sw $t1, 0x0014($a0) ## 00000014 -/* 001F4 808CAFB4 8CEB0000 */ lw $t3, 0x0000($a3) ## 00000000 -/* 001F8 808CAFB8 AC8B0018 */ sw $t3, 0x0018($a0) ## 00000018 -/* 001FC 808CAFBC 8CEA0004 */ lw $t2, 0x0004($a3) ## 00000004 -/* 00200 808CAFC0 AC8A001C */ sw $t2, 0x001C($a0) ## 0000001C -/* 00204 808CAFC4 8CEB0008 */ lw $t3, 0x0008($a3) ## 00000008 -/* 00208 808CAFC8 A480002C */ sh $zero, 0x002C($a0) ## 0000002C -/* 0020C 808CAFCC AC8B0020 */ sw $t3, 0x0020($a0) ## 00000020 -/* 00210 808CAFD0 C7A40010 */ lwc1 $f4, 0x0010($sp) -/* 00214 808CAFD4 46062203 */ div.s $f8, $f4, $f6 -/* 00218 808CAFD8 03E00008 */ jr $ra -/* 0021C 808CAFDC E4880030 */ swc1 $f8, 0x0030($a0) ## 00000030 -.L808CAFE0: -/* 00220 808CAFE0 28410096 */ slti $at, $v0, 0x0096 -/* 00224 808CAFE4 1420FFDE */ bne $at, $zero, .L808CAF60 -/* 00228 808CAFE8 2484003C */ addiu $a0, $a0, 0x003C ## $a0 = 0000003C -/* 0022C 808CAFEC 03E00008 */ jr $ra -/* 00230 808CAFF0 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808CAFF4.s b/asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808CAFF4.s deleted file mode 100644 index bbcb92d630..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808CAFF4.s +++ /dev/null @@ -1,72 +0,0 @@ -glabel func_808CAFF4 -/* 00234 808CAFF4 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00238 808CAFF8 AFBF0014 */ sw $ra, 0x0014($sp) -/* 0023C 808CAFFC 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000 -.L808CB000: -/* 00240 808CB000 908E0024 */ lbu $t6, 0x0024($a0) ## 00000024 -/* 00244 808CB004 24420001 */ addiu $v0, $v0, 0x0001 ## $v0 = 00000001 -/* 00248 808CB008 00021400 */ sll $v0, $v0, 16 -/* 0024C 808CB00C 15C00035 */ bne $t6, $zero, .L808CB0E4 -/* 00250 808CB010 00021403 */ sra $v0, $v0, 16 -/* 00254 808CB014 240F0004 */ addiu $t7, $zero, 0x0004 ## $t7 = 00000004 -/* 00258 808CB018 A08F0024 */ sb $t7, 0x0024($a0) ## 00000024 -/* 0025C 808CB01C A0800025 */ sb $zero, 0x0025($a0) ## 00000025 -/* 00260 808CB020 8CB90000 */ lw $t9, 0x0000($a1) ## 00000000 -/* 00264 808CB024 3C014120 */ lui $at, 0x4120 ## $at = 41200000 -/* 00268 808CB028 44816000 */ mtc1 $at, $f12 ## $f12 = 10.00 -/* 0026C 808CB02C AC990000 */ sw $t9, 0x0000($a0) ## 00000000 -/* 00270 808CB030 8CB80004 */ lw $t8, 0x0004($a1) ## 00000004 -/* 00274 808CB034 C4840000 */ lwc1 $f4, 0x0000($a0) ## 00000000 -/* 00278 808CB038 AC980004 */ sw $t8, 0x0004($a0) ## 00000004 -/* 0027C 808CB03C 8CB90008 */ lw $t9, 0x0008($a1) ## 00000008 -/* 00280 808CB040 C48A0004 */ lwc1 $f10, 0x0004($a0) ## 00000004 -/* 00284 808CB044 AC990008 */ sw $t9, 0x0008($a0) ## 00000008 -/* 00288 808CB048 8CC90000 */ lw $t1, 0x0000($a2) ## 00000000 -/* 0028C 808CB04C AC89000C */ sw $t1, 0x000C($a0) ## 0000000C -/* 00290 808CB050 8CC80004 */ lw $t0, 0x0004($a2) ## 00000004 -/* 00294 808CB054 C486000C */ lwc1 $f6, 0x000C($a0) ## 0000000C -/* 00298 808CB058 AC880010 */ sw $t0, 0x0010($a0) ## 00000010 -/* 0029C 808CB05C 8CC90008 */ lw $t1, 0x0008($a2) ## 00000008 -/* 002A0 808CB060 46062201 */ sub.s $f8, $f4, $f6 -/* 002A4 808CB064 C4900010 */ lwc1 $f16, 0x0010($a0) ## 00000010 -/* 002A8 808CB068 AC890014 */ sw $t1, 0x0014($a0) ## 00000014 -/* 002AC 808CB06C 8CEB0000 */ lw $t3, 0x0000($a3) ## 00000000 -/* 002B0 808CB070 C4860014 */ lwc1 $f6, 0x0014($a0) ## 00000014 -/* 002B4 808CB074 C4840008 */ lwc1 $f4, 0x0008($a0) ## 00000008 -/* 002B8 808CB078 AC8B0018 */ sw $t3, 0x0018($a0) ## 00000018 -/* 002BC 808CB07C 8CEA0004 */ lw $t2, 0x0004($a3) ## 00000004 -/* 002C0 808CB080 46105481 */ sub.s $f18, $f10, $f16 -/* 002C4 808CB084 44805000 */ mtc1 $zero, $f10 ## $f10 = 0.00 -/* 002C8 808CB088 AC8A001C */ sw $t2, 0x001C($a0) ## 0000001C -/* 002CC 808CB08C 8CEB0008 */ lw $t3, 0x0008($a3) ## 00000008 -/* 002D0 808CB090 E4880000 */ swc1 $f8, 0x0000($a0) ## 00000000 -/* 002D4 808CB094 46062201 */ sub.s $f8, $f4, $f6 -/* 002D8 808CB098 E4920004 */ swc1 $f18, 0x0004($a0) ## 00000004 -/* 002DC 808CB09C E48A0034 */ swc1 $f10, 0x0034($a0) ## 00000034 -/* 002E0 808CB0A0 AC8B0020 */ sw $t3, 0x0020($a0) ## 00000020 -/* 002E4 808CB0A4 E4880008 */ swc1 $f8, 0x0008($a0) ## 00000008 -/* 002E8 808CB0A8 87AC002E */ lh $t4, 0x002E($sp) -/* 002EC 808CB0AC A48C002A */ sh $t4, 0x002A($a0) ## 0000002A -/* 002F0 808CB0B0 0C00CFBE */ jal Rand_ZeroFloat - -/* 002F4 808CB0B4 AFA40018 */ sw $a0, 0x0018($sp) -/* 002F8 808CB0B8 8FA40018 */ lw $a0, 0x0018($sp) -/* 002FC 808CB0BC 3C0143C8 */ lui $at, 0x43C8 ## $at = 43C80000 -/* 00300 808CB0C0 44819000 */ mtc1 $at, $f18 ## $f18 = 400.00 -/* 00304 808CB0C4 E4800038 */ swc1 $f0, 0x0038($a0) ## 00000038 -/* 00308 808CB0C8 A480002C */ sh $zero, 0x002C($a0) ## 0000002C -/* 0030C 808CB0CC C7B00028 */ lwc1 $f16, 0x0028($sp) -/* 00310 808CB0D0 46128103 */ div.s $f4, $f16, $f18 -/* 00314 808CB0D4 E4840030 */ swc1 $f4, 0x0030($a0) ## 00000030 -/* 00318 808CB0D8 87AD0032 */ lh $t5, 0x0032($sp) -/* 0031C 808CB0DC 10000004 */ beq $zero, $zero, .L808CB0F0 -/* 00320 808CB0E0 A48D002E */ sh $t5, 0x002E($a0) ## 0000002E -.L808CB0E4: -/* 00324 808CB0E4 284100B4 */ slti $at, $v0, 0x00B4 -/* 00328 808CB0E8 1420FFC5 */ bne $at, $zero, .L808CB000 -/* 0032C 808CB0EC 2484003C */ addiu $a0, $a0, 0x003C ## $a0 = 0000003C -.L808CB0F0: -/* 00330 808CB0F0 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00334 808CB0F4 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00338 808CB0F8 03E00008 */ jr $ra -/* 0033C 808CB0FC 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808CB100.s b/asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808CB100.s deleted file mode 100644 index 5d0bf2cba2..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808CB100.s +++ /dev/null @@ -1,39 +0,0 @@ -glabel func_808CB100 -/* 00340 808CB100 C4841408 */ lwc1 $f4, 0x1408($a0) ## 00001408 -/* 00344 808CB104 C4861450 */ lwc1 $f6, 0x1450($a0) ## 00001450 -/* 00348 808CB108 44856000 */ mtc1 $a1, $f12 ## $f12 = 0.00 -/* 0034C 808CB10C C48A140C */ lwc1 $f10, 0x140C($a0) ## 0000140C -/* 00350 808CB110 46062001 */ sub.s $f0, $f4, $f6 -/* 00354 808CB114 C4901454 */ lwc1 $f16, 0x1454($a0) ## 00001454 -/* 00358 808CB118 C4861458 */ lwc1 $f6, 0x1458($a0) ## 00001458 -/* 0035C 808CB11C C4841410 */ lwc1 $f4, 0x1410($a0) ## 00001410 -/* 00360 808CB120 46000005 */ abs.s $f0, $f0 -/* 00364 808CB124 460C0202 */ mul.s $f8, $f0, $f12 -/* 00368 808CB128 46105001 */ sub.s $f0, $f10, $f16 -/* 0036C 808CB12C C4901468 */ lwc1 $f16, 0x1468($a0) ## 00001468 -/* 00370 808CB130 C48A1414 */ lwc1 $f10, 0x1414($a0) ## 00001414 -/* 00374 808CB134 46000005 */ abs.s $f0, $f0 -/* 00378 808CB138 E4881438 */ swc1 $f8, 0x1438($a0) ## 00001438 -/* 0037C 808CB13C 460C0482 */ mul.s $f18, $f0, $f12 -/* 00380 808CB140 46062001 */ sub.s $f0, $f4, $f6 -/* 00384 808CB144 C486146C */ lwc1 $f6, 0x146C($a0) ## 0000146C -/* 00388 808CB148 C4841418 */ lwc1 $f4, 0x1418($a0) ## 00001418 -/* 0038C 808CB14C 46000005 */ abs.s $f0, $f0 -/* 00390 808CB150 E492143C */ swc1 $f18, 0x143C($a0) ## 0000143C -/* 00394 808CB154 460C0202 */ mul.s $f8, $f0, $f12 -/* 00398 808CB158 46105001 */ sub.s $f0, $f10, $f16 -/* 0039C 808CB15C C4901470 */ lwc1 $f16, 0x1470($a0) ## 00001470 -/* 003A0 808CB160 C48A141C */ lwc1 $f10, 0x141C($a0) ## 0000141C -/* 003A4 808CB164 46000005 */ abs.s $f0, $f0 -/* 003A8 808CB168 E4881440 */ swc1 $f8, 0x1440($a0) ## 00001440 -/* 003AC 808CB16C 460C0482 */ mul.s $f18, $f0, $f12 -/* 003B0 808CB170 46062001 */ sub.s $f0, $f4, $f6 -/* 003B4 808CB174 46000005 */ abs.s $f0, $f0 -/* 003B8 808CB178 E4921444 */ swc1 $f18, 0x1444($a0) ## 00001444 -/* 003BC 808CB17C 460C0202 */ mul.s $f8, $f0, $f12 -/* 003C0 808CB180 46105001 */ sub.s $f0, $f10, $f16 -/* 003C4 808CB184 46000005 */ abs.s $f0, $f0 -/* 003C8 808CB188 E4881448 */ swc1 $f8, 0x1448($a0) ## 00001448 -/* 003CC 808CB18C 460C0482 */ mul.s $f18, $f0, $f12 -/* 003D0 808CB190 03E00008 */ jr $ra -/* 003D4 808CB194 E492144C */ swc1 $f18, 0x144C($a0) ## 0000144C diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808CB198.s b/asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808CB198.s deleted file mode 100644 index eb404d4812..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808CB198.s +++ /dev/null @@ -1,101 +0,0 @@ -glabel func_808CB198 -/* 003D8 808CB198 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8 -/* 003DC 808CB19C AFBF001C */ sw $ra, 0x001C($sp) -/* 003E0 808CB1A0 AFB00018 */ sw $s0, 0x0018($sp) -/* 003E4 808CB1A4 AFA5002C */ sw $a1, 0x002C($sp) -/* 003E8 808CB1A8 848E1404 */ lh $t6, 0x1404($a0) ## 00001404 -/* 003EC 808CB1AC 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 003F0 808CB1B0 51C00050 */ beql $t6, $zero, .L808CB2F4 -/* 003F4 808CB1B4 8FBF001C */ lw $ra, 0x001C($sp) -/* 003F8 808CB1B8 C6041438 */ lwc1 $f4, 0x1438($s0) ## 00001438 -/* 003FC 808CB1BC C6061480 */ lwc1 $f6, 0x1480($s0) ## 00001480 -/* 00400 808CB1C0 24841408 */ addiu $a0, $a0, 0x1408 ## $a0 = 00001408 -/* 00404 808CB1C4 8E051450 */ lw $a1, 0x1450($s0) ## 00001450 -/* 00408 808CB1C8 46062202 */ mul.s $f8, $f4, $f6 -/* 0040C 808CB1CC 8E06145C */ lw $a2, 0x145C($s0) ## 0000145C -/* 00410 808CB1D0 AFA40024 */ sw $a0, 0x0024($sp) -/* 00414 808CB1D4 44074000 */ mfc1 $a3, $f8 -/* 00418 808CB1D8 0C01E107 */ jal Math_ApproachF - -/* 0041C 808CB1DC 00000000 */ nop -/* 00420 808CB1E0 C60A143C */ lwc1 $f10, 0x143C($s0) ## 0000143C -/* 00424 808CB1E4 C6101480 */ lwc1 $f16, 0x1480($s0) ## 00001480 -/* 00428 808CB1E8 2604140C */ addiu $a0, $s0, 0x140C ## $a0 = 0000140C -/* 0042C 808CB1EC 8E051454 */ lw $a1, 0x1454($s0) ## 00001454 -/* 00430 808CB1F0 46105482 */ mul.s $f18, $f10, $f16 -/* 00434 808CB1F4 8E061460 */ lw $a2, 0x1460($s0) ## 00001460 -/* 00438 808CB1F8 44079000 */ mfc1 $a3, $f18 -/* 0043C 808CB1FC 0C01E107 */ jal Math_ApproachF - -/* 00440 808CB200 00000000 */ nop -/* 00444 808CB204 C6041440 */ lwc1 $f4, 0x1440($s0) ## 00001440 -/* 00448 808CB208 C6061480 */ lwc1 $f6, 0x1480($s0) ## 00001480 -/* 0044C 808CB20C 26041410 */ addiu $a0, $s0, 0x1410 ## $a0 = 00001410 -/* 00450 808CB210 8E051458 */ lw $a1, 0x1458($s0) ## 00001458 -/* 00454 808CB214 46062202 */ mul.s $f8, $f4, $f6 -/* 00458 808CB218 8E061464 */ lw $a2, 0x1464($s0) ## 00001464 -/* 0045C 808CB21C 44074000 */ mfc1 $a3, $f8 -/* 00460 808CB220 0C01E107 */ jal Math_ApproachF - -/* 00464 808CB224 00000000 */ nop -/* 00468 808CB228 C60A1444 */ lwc1 $f10, 0x1444($s0) ## 00001444 -/* 0046C 808CB22C C6101480 */ lwc1 $f16, 0x1480($s0) ## 00001480 -/* 00470 808CB230 26041414 */ addiu $a0, $s0, 0x1414 ## $a0 = 00001414 -/* 00474 808CB234 8E051468 */ lw $a1, 0x1468($s0) ## 00001468 -/* 00478 808CB238 46105482 */ mul.s $f18, $f10, $f16 -/* 0047C 808CB23C 8E061474 */ lw $a2, 0x1474($s0) ## 00001474 -/* 00480 808CB240 AFA40020 */ sw $a0, 0x0020($sp) -/* 00484 808CB244 44079000 */ mfc1 $a3, $f18 -/* 00488 808CB248 0C01E107 */ jal Math_ApproachF - -/* 0048C 808CB24C 00000000 */ nop -/* 00490 808CB250 C6041448 */ lwc1 $f4, 0x1448($s0) ## 00001448 -/* 00494 808CB254 C6061480 */ lwc1 $f6, 0x1480($s0) ## 00001480 -/* 00498 808CB258 26041418 */ addiu $a0, $s0, 0x1418 ## $a0 = 00001418 -/* 0049C 808CB25C 8E05146C */ lw $a1, 0x146C($s0) ## 0000146C -/* 004A0 808CB260 46062202 */ mul.s $f8, $f4, $f6 -/* 004A4 808CB264 8E061478 */ lw $a2, 0x1478($s0) ## 00001478 -/* 004A8 808CB268 44074000 */ mfc1 $a3, $f8 -/* 004AC 808CB26C 0C01E107 */ jal Math_ApproachF - -/* 004B0 808CB270 00000000 */ nop -/* 004B4 808CB274 C60A144C */ lwc1 $f10, 0x144C($s0) ## 0000144C -/* 004B8 808CB278 C6101480 */ lwc1 $f16, 0x1480($s0) ## 00001480 -/* 004BC 808CB27C 2604141C */ addiu $a0, $s0, 0x141C ## $a0 = 0000141C -/* 004C0 808CB280 8E051470 */ lw $a1, 0x1470($s0) ## 00001470 -/* 004C4 808CB284 46105482 */ mul.s $f18, $f10, $f16 -/* 004C8 808CB288 8E06147C */ lw $a2, 0x147C($s0) ## 0000147C -/* 004CC 808CB28C 44079000 */ mfc1 $a3, $f18 -/* 004D0 808CB290 0C01E107 */ jal Math_ApproachF - -/* 004D4 808CB294 00000000 */ nop -/* 004D8 808CB298 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 004DC 808CB29C 44810000 */ mtc1 $at, $f0 ## $f0 = 1.00 -/* 004E0 808CB2A0 26041480 */ addiu $a0, $s0, 0x1480 ## $a0 = 00001480 -/* 004E4 808CB2A4 8E071484 */ lw $a3, 0x1484($s0) ## 00001484 -/* 004E8 808CB2A8 44050000 */ mfc1 $a1, $f0 -/* 004EC 808CB2AC 44060000 */ mfc1 $a2, $f0 -/* 004F0 808CB2B0 0C01E107 */ jal Math_ApproachF - -/* 004F4 808CB2B4 00000000 */ nop -/* 004F8 808CB2B8 C6041418 */ lwc1 $f4, 0x1418($s0) ## 00001418 -/* 004FC 808CB2BC C6061488 */ lwc1 $f6, 0x1488($s0) ## 00001488 -/* 00500 808CB2C0 86051404 */ lh $a1, 0x1404($s0) ## 00001404 -/* 00504 808CB2C4 46062200 */ add.s $f8, $f4, $f6 -/* 00508 808CB2C8 E6081418 */ swc1 $f8, 0x1418($s0) ## 00001418 -/* 0050C 808CB2CC 8FA70024 */ lw $a3, 0x0024($sp) -/* 00510 808CB2D0 8FA60020 */ lw $a2, 0x0020($sp) -/* 00514 808CB2D4 0C030136 */ jal Gameplay_CameraSetAtEye -/* 00518 808CB2D8 8FA4002C */ lw $a0, 0x002C($sp) -/* 0051C 808CB2DC 3C063DCC */ lui $a2, 0x3DCC ## $a2 = 3DCC0000 -/* 00520 808CB2E0 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3DCCCCCD -/* 00524 808CB2E4 26041488 */ addiu $a0, $s0, 0x1488 ## $a0 = 00001488 -/* 00528 808CB2E8 0C01E123 */ jal Math_ApproachZeroF - -/* 0052C 808CB2EC 3C053F80 */ lui $a1, 0x3F80 ## $a1 = 3F800000 -/* 00530 808CB2F0 8FBF001C */ lw $ra, 0x001C($sp) -.L808CB2F4: -/* 00534 808CB2F4 8FB00018 */ lw $s0, 0x0018($sp) -/* 00538 808CB2F8 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000 -/* 0053C 808CB2FC 03E00008 */ jr $ra -/* 00540 808CB300 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808CB67C.s b/asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808CB67C.s deleted file mode 100644 index 602790b599..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808CB67C.s +++ /dev/null @@ -1,13 +0,0 @@ -glabel func_808CB67C -/* 008BC 808CB67C 848E008A */ lh $t6, 0x008A($a0) ## 0000008A -/* 008C0 808CB680 848F0032 */ lh $t7, 0x0032($a0) ## 00000032 -/* 008C4 808CB684 01CF1023 */ subu $v0, $t6, $t7 -/* 008C8 808CB688 00021400 */ sll $v0, $v0, 16 -/* 008CC 808CB68C 00021403 */ sra $v0, $v0, 16 -/* 008D0 808CB690 04400003 */ bltz $v0, .L808CB6A0 -/* 008D4 808CB694 00021823 */ subu $v1, $zero, $v0 -/* 008D8 808CB698 03E00008 */ jr $ra -/* 008DC 808CB69C 28422000 */ slti $v0, $v0, 0x2000 -.L808CB6A0: -/* 008E0 808CB6A0 03E00008 */ jr $ra -/* 008E4 808CB6A4 28622000 */ slti $v0, $v1, 0x2000 diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808CB6A8.s b/asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808CB6A8.s deleted file mode 100644 index d863437282..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808CB6A8.s +++ /dev/null @@ -1,29 +0,0 @@ -glabel func_808CB6A8 -/* 008E8 808CB6A8 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0 -/* 008EC 808CB6AC AFB00018 */ sw $s0, 0x0018($sp) -/* 008F0 808CB6B0 AFA50024 */ sw $a1, 0x0024($sp) -/* 008F4 808CB6B4 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 008F8 808CB6B8 AFBF001C */ sw $ra, 0x001C($sp) -/* 008FC 808CB6BC 3C050601 */ lui $a1, 0x0601 ## $a1 = 06010000 -/* 00900 808CB6C0 24A515E4 */ addiu $a1, $a1, 0x15E4 ## $a1 = 060115E4 -/* 00904 808CB6C4 0C02947A */ jal Animation_PlayOnce -/* 00908 808CB6C8 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C -/* 0090C 808CB6CC 3C050601 */ lui $a1, 0x0601 ## $a1 = 06010000 -/* 00910 808CB6D0 24A51524 */ addiu $a1, $a1, 0x1524 ## $a1 = 06011524 -/* 00914 808CB6D4 0C02947A */ jal Animation_PlayOnce -/* 00918 808CB6D8 26040190 */ addiu $a0, $s0, 0x0190 ## $a0 = 00000190 -/* 0091C 808CB6DC 3C050601 */ lui $a1, 0x0601 ## $a1 = 06010000 -/* 00920 808CB6E0 24A51464 */ addiu $a1, $a1, 0x1464 ## $a1 = 06011464 -/* 00924 808CB6E4 0C02947A */ jal Animation_PlayOnce -/* 00928 808CB6E8 260401D4 */ addiu $a0, $s0, 0x01D4 ## $a0 = 000001D4 -/* 0092C 808CB6EC 3C01447A */ lui $at, 0x447A ## $at = 447A0000 -/* 00930 808CB6F0 44812000 */ mtc1 $at, $f4 ## $f4 = 1000.00 -/* 00934 808CB6F4 3C0E808D */ lui $t6, %hi(func_808CB718) ## $t6 = 808D0000 -/* 00938 808CB6F8 25CEB718 */ addiu $t6, $t6, %lo(func_808CB718) ## $t6 = 808CB718 -/* 0093C 808CB6FC AE0E0218 */ sw $t6, 0x0218($s0) ## 00000218 -/* 00940 808CB700 E60402AC */ swc1 $f4, 0x02AC($s0) ## 000002AC -/* 00944 808CB704 8FBF001C */ lw $ra, 0x001C($sp) -/* 00948 808CB708 8FB00018 */ lw $s0, 0x0018($sp) -/* 0094C 808CB70C 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000 -/* 00950 808CB710 03E00008 */ jr $ra -/* 00954 808CB714 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808CDE30.s b/asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808CDE30.s deleted file mode 100644 index 270a0763af..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808CDE30.s +++ /dev/null @@ -1,136 +0,0 @@ -.late_rodata -glabel D_808D1F48 - .word 0x410E6666 - -.text -glabel func_808CDE30 -/* 03070 808CDE30 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8 -/* 03074 808CDE34 AFBF0024 */ sw $ra, 0x0024($sp) -/* 03078 808CDE38 AFB00020 */ sw $s0, 0x0020($sp) -/* 0307C 808CDE3C F7B40018 */ sdc1 $f20, 0x0018($sp) -/* 03080 808CDE40 AFA5003C */ sw $a1, 0x003C($sp) -/* 03084 808CDE44 908302D8 */ lbu $v1, 0x02D8($a0) ## 000002D8 -/* 03088 808CDE48 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 0308C 808CDE4C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 03090 808CDE50 5461004B */ bnel $v1, $at, .L808CDF80 -/* 03094 808CDE54 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002 -/* 03098 808CDE58 A08002D8 */ sb $zero, 0x02D8($a0) ## 000002D8 -/* 0309C 808CDE5C 0C232DAA */ jal func_808CB6A8 -/* 030A0 808CDE60 8FA5003C */ lw $a1, 0x003C($sp) -/* 030A4 808CDE64 3C01808D */ lui $at, %hi(D_808D1F48) ## $at = 808D0000 -/* 030A8 808CDE68 C4341F48 */ lwc1 $f20, %lo(D_808D1F48)($at) -.L808CDE6C: -/* 030AC 808CDE6C 0C00CFBE */ jal Rand_ZeroFloat - -/* 030B0 808CDE70 4600A306 */ mov.s $f12, $f20 -/* 030B4 808CDE74 444EF800 */ cfc1 $t6, $31 -/* 030B8 808CDE78 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001 -/* 030BC 808CDE7C 44C2F800 */ ctc1 $v0, $31 -/* 030C0 808CDE80 3C014F00 */ lui $at, 0x4F00 ## $at = 4F000000 -/* 030C4 808CDE84 46000124 */ cvt.w.s $f4, $f0 -/* 030C8 808CDE88 4442F800 */ cfc1 $v0, $31 -/* 030CC 808CDE8C 00000000 */ nop -/* 030D0 808CDE90 30420078 */ andi $v0, $v0, 0x0078 ## $v0 = 00000000 -/* 030D4 808CDE94 50400013 */ beql $v0, $zero, .L808CDEE4 -/* 030D8 808CDE98 44022000 */ mfc1 $v0, $f4 -/* 030DC 808CDE9C 44812000 */ mtc1 $at, $f4 ## $f4 = 2147483648.00 -/* 030E0 808CDEA0 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001 -/* 030E4 808CDEA4 46040101 */ sub.s $f4, $f0, $f4 -/* 030E8 808CDEA8 44C2F800 */ ctc1 $v0, $31 -/* 030EC 808CDEAC 00000000 */ nop -/* 030F0 808CDEB0 46002124 */ cvt.w.s $f4, $f4 -/* 030F4 808CDEB4 4442F800 */ cfc1 $v0, $31 -/* 030F8 808CDEB8 00000000 */ nop -/* 030FC 808CDEBC 30420078 */ andi $v0, $v0, 0x0078 ## $v0 = 00000000 -/* 03100 808CDEC0 14400005 */ bne $v0, $zero, .L808CDED8 -/* 03104 808CDEC4 00000000 */ nop -/* 03108 808CDEC8 44022000 */ mfc1 $v0, $f4 -/* 0310C 808CDECC 3C018000 */ lui $at, 0x8000 ## $at = 80000000 -/* 03110 808CDED0 10000007 */ beq $zero, $zero, .L808CDEF0 -/* 03114 808CDED4 00411025 */ or $v0, $v0, $at ## $v0 = 80000000 -.L808CDED8: -/* 03118 808CDED8 10000005 */ beq $zero, $zero, .L808CDEF0 -/* 0311C 808CDEDC 2402FFFF */ addiu $v0, $zero, 0xFFFF ## $v0 = FFFFFFFF -/* 03120 808CDEE0 44022000 */ mfc1 $v0, $f4 -.L808CDEE4: -/* 03124 808CDEE4 00000000 */ nop -/* 03128 808CDEE8 0440FFFB */ bltz $v0, .L808CDED8 -/* 0312C 808CDEEC 00000000 */ nop -.L808CDEF0: -/* 03130 808CDEF0 920F02D4 */ lbu $t7, 0x02D4($s0) ## 000002D4 -/* 03134 808CDEF4 44CEF800 */ ctc1 $t6, $31 -/* 03138 808CDEF8 304200FF */ andi $v0, $v0, 0x00FF ## $v0 = 000000FF -/* 0313C 808CDEFC 11E2FFDB */ beq $t7, $v0, .L808CDE6C -/* 03140 808CDF00 00000000 */ nop -/* 03144 808CDF04 305800FF */ andi $t8, $v0, 0x00FF ## $t8 = 000000FF -/* 03148 808CDF08 0018C880 */ sll $t9, $t8, 2 -/* 0314C 808CDF0C 3C06808D */ lui $a2, %hi(D_808D192C) ## $a2 = 808D0000 -/* 03150 808CDF10 0338C823 */ subu $t9, $t9, $t8 -/* 03154 808CDF14 A20202D4 */ sb $v0, 0x02D4($s0) ## 000002D4 -/* 03158 808CDF18 24C6192C */ addiu $a2, $a2, %lo(D_808D192C) ## $a2 = 808D192C -/* 0315C 808CDF1C 0019C880 */ sll $t9, $t9, 2 -/* 03160 808CDF20 00D91021 */ addu $v0, $a2, $t9 -/* 03164 808CDF24 C4460000 */ lwc1 $f6, 0x0000($v0) ## 000000FF -/* 03168 808CDF28 3C014348 */ lui $at, 0x4348 ## $at = 43480000 -/* 0316C 808CDF2C 44815000 */ mtc1 $at, $f10 ## $f10 = 200.00 -/* 03170 808CDF30 E60602BC */ swc1 $f6, 0x02BC($s0) ## 000002BC -/* 03174 808CDF34 C4480004 */ lwc1 $f8, 0x0004($v0) ## 00000103 -/* 03178 808CDF38 8E0902BC */ lw $t1, 0x02BC($s0) ## 000002BC -/* 0317C 808CDF3C 240A000A */ addiu $t2, $zero, 0x000A ## $t2 = 0000000A -/* 03180 808CDF40 460A4401 */ sub.s $f16, $f8, $f10 -/* 03184 808CDF44 240B0003 */ addiu $t3, $zero, 0x0003 ## $t3 = 00000003 -/* 03188 808CDF48 240C0001 */ addiu $t4, $zero, 0x0001 ## $t4 = 00000001 -/* 0318C 808CDF4C 920302D8 */ lbu $v1, 0x02D8($s0) ## 000002D8 -/* 03190 808CDF50 E61002C0 */ swc1 $f16, 0x02C0($s0) ## 000002C0 -/* 03194 808CDF54 C4520008 */ lwc1 $f18, 0x0008($v0) ## 00000107 -/* 03198 808CDF58 AE090024 */ sw $t1, 0x0024($s0) ## 00000024 -/* 0319C 808CDF5C 8E0802C0 */ lw $t0, 0x02C0($s0) ## 000002C0 -/* 031A0 808CDF60 E61202C4 */ swc1 $f18, 0x02C4($s0) ## 000002C4 -/* 031A4 808CDF64 8E0902C4 */ lw $t1, 0x02C4($s0) ## 000002C4 -/* 031A8 808CDF68 A60A0248 */ sh $t2, 0x0248($s0) ## 00000248 -/* 031AC 808CDF6C A60B0222 */ sh $t3, 0x0222($s0) ## 00000222 -/* 031B0 808CDF70 A60C0232 */ sh $t4, 0x0232($s0) ## 00000232 -/* 031B4 808CDF74 AE080028 */ sw $t0, 0x0028($s0) ## 00000028 -/* 031B8 808CDF78 AE09002C */ sw $t1, 0x002C($s0) ## 0000002C -/* 031BC 808CDF7C 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002 -.L808CDF80: -/* 031C0 808CDF80 14610021 */ bne $v1, $at, .L808CE008 -/* 031C4 808CDF84 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 031C8 808CDF88 A20002D8 */ sb $zero, 0x02D8($s0) ## 000002D8 -/* 031CC 808CDF8C 260D0024 */ addiu $t5, $s0, 0x0024 ## $t5 = 00000024 -/* 031D0 808CDF90 260E02BC */ addiu $t6, $s0, 0x02BC ## $t6 = 000002BC -/* 031D4 808CDF94 AFAE002C */ sw $t6, 0x002C($sp) -/* 031D8 808CDF98 AFAD0030 */ sw $t5, 0x0030($sp) -/* 031DC 808CDF9C 0C232DAA */ jal func_808CB6A8 -/* 031E0 808CDFA0 8FA5003C */ lw $a1, 0x003C($sp) -/* 031E4 808CDFA4 3C06808D */ lui $a2, %hi(D_808D192C) ## $a2 = 808D0000 -/* 031E8 808CDFA8 240F0001 */ addiu $t7, $zero, 0x0001 ## $t7 = 00000001 -/* 031EC 808CDFAC 24C6192C */ addiu $a2, $a2, %lo(D_808D192C) ## $a2 = 808D192C -/* 031F0 808CDFB0 A20F02D4 */ sb $t7, 0x02D4($s0) ## 000002D4 -/* 031F4 808CDFB4 C4C4000C */ lwc1 $f4, 0x000C($a2) ## 808D1938 -/* 031F8 808CDFB8 3C014348 */ lui $at, 0x4348 ## $at = 43480000 -/* 031FC 808CDFBC 44814000 */ mtc1 $at, $f8 ## $f8 = 200.00 -/* 03200 808CDFC0 E60402BC */ swc1 $f4, 0x02BC($s0) ## 000002BC -/* 03204 808CDFC4 C4C60010 */ lwc1 $f6, 0x0010($a2) ## 808D193C -/* 03208 808CDFC8 240A000A */ addiu $t2, $zero, 0x000A ## $t2 = 0000000A -/* 0320C 808CDFCC 240B0003 */ addiu $t3, $zero, 0x0003 ## $t3 = 00000003 -/* 03210 808CDFD0 46083281 */ sub.s $f10, $f6, $f8 -/* 03214 808CDFD4 E60A02C0 */ swc1 $f10, 0x02C0($s0) ## 000002C0 -/* 03218 808CDFD8 C4D00014 */ lwc1 $f16, 0x0014($a2) ## 808D1940 -/* 0321C 808CDFDC E61002C4 */ swc1 $f16, 0x02C4($s0) ## 000002C4 -/* 03220 808CDFE0 8FB9002C */ lw $t9, 0x002C($sp) -/* 03224 808CDFE4 8FB80030 */ lw $t8, 0x0030($sp) -/* 03228 808CDFE8 8F290000 */ lw $t1, 0x0000($t9) ## 00000000 -/* 0322C 808CDFEC AF090000 */ sw $t1, 0x0000($t8) ## 00000000 -/* 03230 808CDFF0 8F280004 */ lw $t0, 0x0004($t9) ## 00000004 -/* 03234 808CDFF4 AF080004 */ sw $t0, 0x0004($t8) ## 00000004 -/* 03238 808CDFF8 8F290008 */ lw $t1, 0x0008($t9) ## 00000008 -/* 0323C 808CDFFC AF090008 */ sw $t1, 0x0008($t8) ## 00000008 -/* 03240 808CE000 A60A0248 */ sh $t2, 0x0248($s0) ## 00000248 -/* 03244 808CE004 A60B0222 */ sh $t3, 0x0222($s0) ## 00000222 -.L808CE008: -/* 03248 808CE008 8FBF0024 */ lw $ra, 0x0024($sp) -/* 0324C 808CE00C D7B40018 */ ldc1 $f20, 0x0018($sp) -/* 03250 808CE010 8FB00020 */ lw $s0, 0x0020($sp) -/* 03254 808CE014 03E00008 */ jr $ra -/* 03258 808CE018 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808CE01C.s b/asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808CE01C.s deleted file mode 100644 index 2f372feefd..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808CE01C.s +++ /dev/null @@ -1,885 +0,0 @@ -.late_rodata -glabel D_808D1F4C - .float 0.05 - -glabel D_808D1F50 - .word 0x3F0CCCCD -glabel D_808D1F54 - .word 0x3D8F5C29 -glabel D_808D1F58 - .word 0x3E570A3D -glabel D_808D1F5C - .float 0.01 - -glabel D_808D1F60 - .float 0.3 - -glabel D_808D1F64 - .float 6000.0 - -glabel D_808D1F68 - .float 1300.0 - -glabel D_808D1F6C - .word 0xBE99999A -glabel D_808D1F70 - .word 0xBE99999A -glabel D_808D1F74 - .float 0.4 - -glabel D_808D1F78 - .float 3.14159274101 - -glabel D_808D1F7C - .float 0.3 - -glabel D_808D1F80 - .float 6.28318548203 - -glabel D_808D1F84 - .float 6.28318548203 - -.text -glabel func_808CE01C -/* 0325C 808CE01C 27BDFEF8 */ addiu $sp, $sp, 0xFEF8 ## $sp = FFFFFEF8 -/* 03260 808CE020 3C0E808D */ lui $t6, %hi(D_808D1A34) ## $t6 = 808D0000 -/* 03264 808CE024 AFBF0064 */ sw $ra, 0x0064($sp) -/* 03268 808CE028 AFB20060 */ sw $s2, 0x0060($sp) -/* 0326C 808CE02C AFB1005C */ sw $s1, 0x005C($sp) -/* 03270 808CE030 AFB00058 */ sw $s0, 0x0058($sp) -/* 03274 808CE034 F7BC0050 */ sdc1 $f28, 0x0050($sp) -/* 03278 808CE038 F7BA0048 */ sdc1 $f26, 0x0048($sp) -/* 0327C 808CE03C F7B80040 */ sdc1 $f24, 0x0040($sp) -/* 03280 808CE040 F7B60038 */ sdc1 $f22, 0x0038($sp) -/* 03284 808CE044 F7B40030 */ sdc1 $f20, 0x0030($sp) -/* 03288 808CE048 A7A00106 */ sh $zero, 0x0106($sp) -/* 0328C 808CE04C 25CE1A34 */ addiu $t6, $t6, %lo(D_808D1A34) ## $t6 = 808D1A34 -/* 03290 808CE050 8DD80000 */ lw $t8, 0x0000($t6) ## 808D1A34 -/* 03294 808CE054 27B000E8 */ addiu $s0, $sp, 0x00E8 ## $s0 = FFFFFFE0 -/* 03298 808CE058 00808825 */ or $s1, $a0, $zero ## $s1 = 00000000 -/* 0329C 808CE05C AE180000 */ sw $t8, 0x0000($s0) ## FFFFFFE0 -/* 032A0 808CE060 8DCF0004 */ lw $t7, 0x0004($t6) ## 808D1A38 -/* 032A4 808CE064 00A09025 */ or $s2, $a1, $zero ## $s2 = 00000000 -/* 032A8 808CE068 AE0F0004 */ sw $t7, 0x0004($s0) ## FFFFFFE4 -/* 032AC 808CE06C 95D80008 */ lhu $t8, 0x0008($t6) ## 808D1A3C -/* 032B0 808CE070 A6180008 */ sh $t8, 0x0008($s0) ## FFFFFFE8 -/* 032B4 808CE074 90830220 */ lbu $v1, 0x0220($a0) ## 00000220 -/* 032B8 808CE078 14600020 */ bne $v1, $zero, .L808CE0FC -/* 032BC 808CE07C 00601025 */ or $v0, $v1, $zero ## $v0 = 00000000 -/* 032C0 808CE080 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 032C4 808CE084 00250821 */ addu $at, $at, $a1 -/* 032C8 808CE088 A0200AE3 */ sb $zero, 0x0AE3($at) ## 00010AE3 -/* 032CC 808CE08C 84840226 */ lh $a0, 0x0226($a0) ## 00000226 -/* 032D0 808CE090 00800821 */ addu $at, $a0, $zero -/* 032D4 808CE094 00042080 */ sll $a0, $a0, 2 -/* 032D8 808CE098 00812021 */ addu $a0, $a0, $at -/* 032DC 808CE09C 00042200 */ sll $a0, $a0, 8 -/* 032E0 808CE0A0 00042400 */ sll $a0, $a0, 16 -/* 032E4 808CE0A4 0C01DE1C */ jal Math_SinS - ## sins? -/* 032E8 808CE0A8 00042403 */ sra $a0, $a0, 16 -/* 032EC 808CE0AC 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000 -/* 032F0 808CE0B0 44812000 */ mtc1 $at, $f4 ## $f4 = 0.50 -/* 032F4 808CE0B4 44814000 */ mtc1 $at, $f8 ## $f8 = 0.50 -/* 032F8 808CE0B8 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 032FC 808CE0BC 46040182 */ mul.s $f6, $f0, $f4 -/* 03300 808CE0C0 00320821 */ addu $at, $at, $s2 -/* 03304 808CE0C4 24190002 */ addiu $t9, $zero, 0x0002 ## $t9 = 00000002 -/* 03308 808CE0C8 24080001 */ addiu $t0, $zero, 0x0001 ## $t0 = 00000001 -/* 0330C 808CE0CC 46083280 */ add.s $f10, $f6, $f8 -/* 03310 808CE0D0 E42A0AFC */ swc1 $f10, 0x0AFC($at) ## 00010AFC -/* 03314 808CE0D4 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 03318 808CE0D8 00320821 */ addu $at, $at, $s2 -/* 0331C 808CE0DC A0390B00 */ sb $t9, 0x0B00($at) ## 00010B00 -/* 03320 808CE0E0 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 03324 808CE0E4 00320821 */ addu $at, $at, $s2 -/* 03328 808CE0E8 A0280AE1 */ sb $t0, 0x0AE1($at) ## 00010AE1 -/* 0332C 808CE0EC 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 03330 808CE0F0 00320821 */ addu $at, $at, $s2 -/* 03334 808CE0F4 1000008C */ beq $zero, $zero, .L808CE328 -/* 03338 808CE0F8 A0200AE2 */ sb $zero, 0x0AE2($at) ## 00010AE2 -.L808CE0FC: -/* 0333C 808CE0FC 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003 -/* 03340 808CE100 1441001A */ bne $v0, $at, .L808CE16C -/* 03344 808CE104 24090002 */ addiu $t1, $zero, 0x0002 ## $t1 = 00000002 -/* 03348 808CE108 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 0334C 808CE10C 4481B000 */ mtc1 $at, $f22 ## $f22 = 1.00 -/* 03350 808CE110 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 03354 808CE114 00320821 */ addu $at, $at, $s2 -/* 03358 808CE118 A0200AE3 */ sb $zero, 0x0AE3($at) ## 00010AE3 -/* 0335C 808CE11C 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 03360 808CE120 00320821 */ addu $at, $at, $s2 -/* 03364 808CE124 A0290B00 */ sb $t1, 0x0B00($at) ## 00010B00 -/* 03368 808CE128 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 0336C 808CE12C 00320821 */ addu $at, $at, $s2 -/* 03370 808CE130 240A0002 */ addiu $t2, $zero, 0x0002 ## $t2 = 00000002 -/* 03374 808CE134 A02A0AE1 */ sb $t2, 0x0AE1($at) ## 00010AE1 -/* 03378 808CE138 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 0337C 808CE13C 00320821 */ addu $at, $at, $s2 -/* 03380 808CE140 A0200AE2 */ sb $zero, 0x0AE2($at) ## 00010AE2 -/* 03384 808CE144 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 03388 808CE148 34210AFC */ ori $at, $at, 0x0AFC ## $at = 00010AFC -/* 0338C 808CE14C 3C073D4C */ lui $a3, 0x3D4C ## $a3 = 3D4C0000 -/* 03390 808CE150 4405B000 */ mfc1 $a1, $f22 -/* 03394 808CE154 4406B000 */ mfc1 $a2, $f22 -/* 03398 808CE158 34E7CCCD */ ori $a3, $a3, 0xCCCD ## $a3 = 3D4CCCCD -/* 0339C 808CE15C 0C01E107 */ jal Math_ApproachF - -/* 033A0 808CE160 02412021 */ addu $a0, $s2, $at -/* 033A4 808CE164 10000071 */ beq $zero, $zero, .L808CE32C -/* 033A8 808CE168 86220238 */ lh $v0, 0x0238($s1) ## 00000238 -.L808CE16C: -/* 033AC 808CE16C 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002 -/* 033B0 808CE170 1441002A */ bne $v0, $at, .L808CE21C -/* 033B4 808CE174 246BFFFF */ addiu $t3, $v1, 0xFFFF ## $t3 = FFFFFFFF -/* 033B8 808CE178 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 033BC 808CE17C A22B0220 */ sb $t3, 0x0220($s1) ## 00000220 -/* 033C0 808CE180 00320821 */ addu $at, $at, $s2 -/* 033C4 808CE184 A0200AE3 */ sb $zero, 0x0AE3($at) ## 00010AE3 -/* 033C8 808CE188 86240226 */ lh $a0, 0x0226($s1) ## 00000226 -/* 033CC 808CE18C 00800821 */ addu $at, $a0, $zero -/* 033D0 808CE190 00042140 */ sll $a0, $a0, 5 -/* 033D4 808CE194 00812023 */ subu $a0, $a0, $at -/* 033D8 808CE198 00042240 */ sll $a0, $a0, 9 -/* 033DC 808CE19C 00042400 */ sll $a0, $a0, 16 -/* 033E0 808CE1A0 0C01DE1C */ jal Math_SinS - ## sins? -/* 033E4 808CE1A4 00042403 */ sra $a0, $a0, 16 -/* 033E8 808CE1A8 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 033EC 808CE1AC 4481B000 */ mtc1 $at, $f22 ## $f22 = 1.00 -/* 033F0 808CE1B0 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 033F4 808CE1B4 34210AFC */ ori $at, $at, 0x0AFC ## $at = 00010AFC -/* 033F8 808CE1B8 02412021 */ addu $a0, $s2, $at -/* 033FC 808CE1BC 3C01808D */ lui $at, %hi(D_808D1F4C) ## $at = 808D0000 -/* 03400 808CE1C0 C4301F4C */ lwc1 $f16, %lo(D_808D1F4C)($at) -/* 03404 808CE1C4 3C01808D */ lui $at, %hi(D_808D1F50) ## $at = 808D0000 -/* 03408 808CE1C8 C4241F50 */ lwc1 $f4, %lo(D_808D1F50)($at) -/* 0340C 808CE1CC 46100482 */ mul.s $f18, $f0, $f16 -/* 03410 808CE1D0 3C073E19 */ lui $a3, 0x3E19 ## $a3 = 3E190000 -/* 03414 808CE1D4 4406B000 */ mfc1 $a2, $f22 -/* 03418 808CE1D8 34E7999A */ ori $a3, $a3, 0x999A ## $a3 = 3E19999A -/* 0341C 808CE1DC 46049180 */ add.s $f6, $f18, $f4 -/* 03420 808CE1E0 44053000 */ mfc1 $a1, $f6 -/* 03424 808CE1E4 0C01E107 */ jal Math_ApproachF - -/* 03428 808CE1E8 00000000 */ nop -/* 0342C 808CE1EC 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 03430 808CE1F0 00320821 */ addu $at, $at, $s2 -/* 03434 808CE1F4 240C0002 */ addiu $t4, $zero, 0x0002 ## $t4 = 00000002 -/* 03438 808CE1F8 A02C0B00 */ sb $t4, 0x0B00($at) ## 00010B00 -/* 0343C 808CE1FC 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 03440 808CE200 00320821 */ addu $at, $at, $s2 -/* 03444 808CE204 240D0003 */ addiu $t5, $zero, 0x0003 ## $t5 = 00000003 -/* 03448 808CE208 A02D0AE1 */ sb $t5, 0x0AE1($at) ## 00010AE1 -/* 0344C 808CE20C 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 03450 808CE210 00320821 */ addu $at, $at, $s2 -/* 03454 808CE214 10000044 */ beq $zero, $zero, .L808CE328 -/* 03458 808CE218 A0200AE2 */ sb $zero, 0x0AE2($at) ## 00010AE2 -.L808CE21C: -/* 0345C 808CE21C 2401000A */ addiu $at, $zero, 0x000A ## $at = 0000000A -/* 03460 808CE220 1441002A */ bne $v0, $at, .L808CE2CC -/* 03464 808CE224 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001 -/* 03468 808CE228 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 0346C 808CE22C A22E0220 */ sb $t6, 0x0220($s1) ## 00000220 -/* 03470 808CE230 00320821 */ addu $at, $at, $s2 -/* 03474 808CE234 A0200AE3 */ sb $zero, 0x0AE3($at) ## 00010AE3 -/* 03478 808CE238 86240226 */ lh $a0, 0x0226($s1) ## 00000226 -/* 0347C 808CE23C 00800821 */ addu $at, $a0, $zero -/* 03480 808CE240 00042080 */ sll $a0, $a0, 2 -/* 03484 808CE244 00812023 */ subu $a0, $a0, $at -/* 03488 808CE248 00042280 */ sll $a0, $a0, 10 -/* 0348C 808CE24C 00042400 */ sll $a0, $a0, 16 -/* 03490 808CE250 0C01DE1C */ jal Math_SinS - ## sins? -/* 03494 808CE254 00042403 */ sra $a0, $a0, 16 -/* 03498 808CE258 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 0349C 808CE25C 4481B000 */ mtc1 $at, $f22 ## $f22 = 1.00 -/* 034A0 808CE260 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 034A4 808CE264 34210AFC */ ori $at, $at, 0x0AFC ## $at = 00010AFC -/* 034A8 808CE268 02412021 */ addu $a0, $s2, $at -/* 034AC 808CE26C 3C01808D */ lui $at, %hi(D_808D1F54) ## $at = 808D0000 -/* 034B0 808CE270 C4281F54 */ lwc1 $f8, %lo(D_808D1F54)($at) -/* 034B4 808CE274 3C01808D */ lui $at, %hi(D_808D1F58) ## $at = 808D0000 -/* 034B8 808CE278 C4301F58 */ lwc1 $f16, %lo(D_808D1F58)($at) -/* 034BC 808CE27C 46080282 */ mul.s $f10, $f0, $f8 -/* 034C0 808CE280 3C073D4C */ lui $a3, 0x3D4C ## $a3 = 3D4C0000 -/* 034C4 808CE284 4406B000 */ mfc1 $a2, $f22 -/* 034C8 808CE288 34E7CCCD */ ori $a3, $a3, 0xCCCD ## $a3 = 3D4CCCCD -/* 034CC 808CE28C 46105480 */ add.s $f18, $f10, $f16 -/* 034D0 808CE290 44059000 */ mfc1 $a1, $f18 -/* 034D4 808CE294 0C01E107 */ jal Math_ApproachF - -/* 034D8 808CE298 00000000 */ nop -/* 034DC 808CE29C 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 034E0 808CE2A0 00320821 */ addu $at, $at, $s2 -/* 034E4 808CE2A4 240F0002 */ addiu $t7, $zero, 0x0002 ## $t7 = 00000002 -/* 034E8 808CE2A8 A02F0B00 */ sb $t7, 0x0B00($at) ## 00010B00 -/* 034EC 808CE2AC 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 034F0 808CE2B0 00320821 */ addu $at, $at, $s2 -/* 034F4 808CE2B4 24180003 */ addiu $t8, $zero, 0x0003 ## $t8 = 00000003 -/* 034F8 808CE2B8 A0380AE1 */ sb $t8, 0x0AE1($at) ## 00010AE1 -/* 034FC 808CE2BC 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 03500 808CE2C0 00320821 */ addu $at, $at, $s2 -/* 03504 808CE2C4 10000018 */ beq $zero, $zero, .L808CE328 -/* 03508 808CE2C8 A0200AE2 */ sb $zero, 0x0AE2($at) ## 00010AE2 -.L808CE2CC: -/* 0350C 808CE2CC 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 03510 808CE2D0 14410015 */ bne $v0, $at, .L808CE328 -/* 03514 808CE2D4 3C073CF5 */ lui $a3, 0x3CF5 ## $a3 = 3CF50000 -/* 03518 808CE2D8 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 0351C 808CE2DC 4481B000 */ mtc1 $at, $f22 ## $f22 = 1.00 -/* 03520 808CE2E0 4480E000 */ mtc1 $zero, $f28 ## $f28 = 0.00 -/* 03524 808CE2E4 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 03528 808CE2E8 34210AFC */ ori $at, $at, 0x0AFC ## $at = 00010AFC -/* 0352C 808CE2EC 4406B000 */ mfc1 $a2, $f22 -/* 03530 808CE2F0 4405E000 */ mfc1 $a1, $f28 -/* 03534 808CE2F4 02412021 */ addu $a0, $s2, $at -/* 03538 808CE2F8 0C01E107 */ jal Math_ApproachF - -/* 0353C 808CE2FC 34E7C28F */ ori $a3, $a3, 0xC28F ## $a3 = 3CF5C28F -/* 03540 808CE300 3C01808D */ lui $at, %hi(D_808D1F5C) ## $at = 808D0000 -/* 03544 808CE304 C4241F5C */ lwc1 $f4, %lo(D_808D1F5C)($at) -/* 03548 808CE308 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 0354C 808CE30C 00320821 */ addu $at, $at, $s2 -/* 03550 808CE310 C4260AFC */ lwc1 $f6, 0x0AFC($at) ## 00010AFC -/* 03554 808CE314 4604303E */ c.le.s $f6, $f4 -/* 03558 808CE318 00000000 */ nop -/* 0355C 808CE31C 45020003 */ bc1fl .L808CE32C -/* 03560 808CE320 86220238 */ lh $v0, 0x0238($s1) ## 00000238 -/* 03564 808CE324 A2200220 */ sb $zero, 0x0220($s1) ## 00000220 -.L808CE328: -/* 03568 808CE328 86220238 */ lh $v0, 0x0238($s1) ## 00000238 -.L808CE32C: -/* 0356C 808CE32C 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 03570 808CE330 4481B000 */ mtc1 $at, $f22 ## $f22 = 1.00 -/* 03574 808CE334 4480E000 */ mtc1 $zero, $f28 ## $f28 = 0.00 -/* 03578 808CE338 10400008 */ beq $v0, $zero, .L808CE35C -/* 0357C 808CE33C 26240294 */ addiu $a0, $s1, 0x0294 ## $a0 = 00000294 -/* 03580 808CE340 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000 -/* 03584 808CE344 4481D000 */ mtc1 $at, $f26 ## $f26 = 20.00 -/* 03588 808CE348 2459FFFF */ addiu $t9, $v0, 0xFFFF ## $t9 = FFFFFFFF -/* 0358C 808CE34C A6390238 */ sh $t9, 0x0238($s1) ## 00000238 -/* 03590 808CE350 4600D006 */ mov.s $f0, $f26 -/* 03594 808CE354 10000008 */ beq $zero, $zero, .L808CE378 -/* 03598 808CE358 4600D506 */ mov.s $f20, $f26 -.L808CE35C: -/* 0359C 808CE35C 3C014040 */ lui $at, 0x4040 ## $at = 40400000 -/* 035A0 808CE360 44810000 */ mtc1 $at, $f0 ## $f0 = 3.00 -/* 035A4 808CE364 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000 -/* 035A8 808CE368 4481A000 */ mtc1 $at, $f20 ## $f20 = 5.00 -/* 035AC 808CE36C 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000 -/* 035B0 808CE370 4481D000 */ mtc1 $at, $f26 ## $f26 = 20.00 -/* 035B4 808CE374 00000000 */ nop -.L808CE378: -/* 035B8 808CE378 44050000 */ mfc1 $a1, $f0 -/* 035BC 808CE37C 4406B000 */ mfc1 $a2, $f22 -/* 035C0 808CE380 3C073DCC */ lui $a3, 0x3DCC ## $a3 = 3DCC0000 -/* 035C4 808CE384 0C01E107 */ jal Math_ApproachF - -/* 035C8 808CE388 34E7CCCD */ ori $a3, $a3, 0xCCCD ## $a3 = 3DCCCCCD -/* 035CC 808CE38C 4405A000 */ mfc1 $a1, $f20 -/* 035D0 808CE390 4406B000 */ mfc1 $a2, $f22 -/* 035D4 808CE394 26240290 */ addiu $a0, $s1, 0x0290 ## $a0 = 00000290 -/* 035D8 808CE398 0C01E107 */ jal Math_ApproachF - -/* 035DC 808CE39C 3C073F00 */ lui $a3, 0x3F00 ## $a3 = 3F000000 -/* 035E0 808CE3A0 86280226 */ lh $t0, 0x0226($s1) ## 00000226 -/* 035E4 808CE3A4 31090007 */ andi $t1, $t0, 0x0007 ## $t1 = 00000000 -/* 035E8 808CE3A8 5520000C */ bnel $t1, $zero, .L808CE3DC -/* 035EC 808CE3AC 8622022C */ lh $v0, 0x022C($s1) ## 0000022C -/* 035F0 808CE3B0 0C03F66B */ jal Rand_ZeroOne - ## Rand.Next() float -/* 035F4 808CE3B4 00000000 */ nop -/* 035F8 808CE3B8 3C01808D */ lui $at, %hi(D_808D1F60) ## $at = 808D0000 -/* 035FC 808CE3BC C4281F60 */ lwc1 $f8, %lo(D_808D1F60)($at) -/* 03600 808CE3C0 240A0004 */ addiu $t2, $zero, 0x0004 ## $t2 = 00000004 -/* 03604 808CE3C4 4608003C */ c.lt.s $f0, $f8 -/* 03608 808CE3C8 00000000 */ nop -/* 0360C 808CE3CC 45020003 */ bc1fl .L808CE3DC -/* 03610 808CE3D0 8622022C */ lh $v0, 0x022C($s1) ## 0000022C -/* 03614 808CE3D4 A62A022C */ sh $t2, 0x022C($s1) ## 0000022C -/* 03618 808CE3D8 8622022C */ lh $v0, 0x022C($s1) ## 0000022C -.L808CE3DC: -/* 0361C 808CE3DC 00025840 */ sll $t3, $v0, 1 -/* 03620 808CE3E0 020B6021 */ addu $t4, $s0, $t3 -/* 03624 808CE3E4 858D0000 */ lh $t5, 0x0000($t4) ## 00000000 -/* 03628 808CE3E8 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF -/* 0362C 808CE3EC 10400002 */ beq $v0, $zero, .L808CE3F8 -/* 03630 808CE3F0 A22D02D5 */ sb $t5, 0x02D5($s1) ## 000002D5 -/* 03634 808CE3F4 A62E022C */ sh $t6, 0x022C($s1) ## 0000022C -.L808CE3F8: -/* 03638 808CE3F8 8622022E */ lh $v0, 0x022E($s1) ## 0000022E -/* 0363C 808CE3FC 24010025 */ addiu $at, $zero, 0x0025 ## $at = 00000025 -/* 03640 808CE400 50400012 */ beql $v0, $zero, .L808CE44C -/* 03644 808CE404 86380226 */ lh $t8, 0x0226($s1) ## 00000226 -/* 03648 808CE408 1441000A */ bne $v0, $at, .L808CE434 -/* 0364C 808CE40C 3C078013 */ lui $a3, %hi(D_801333E0) -/* 03650 808CE410 3C0F8013 */ lui $t7, %hi(D_801333E8) -/* 03654 808CE414 24E733E0 */ addiu $a3, %lo(D_801333E0) -/* 03658 808CE418 25EF33E8 */ addiu $t7, %lo(D_801333E8) -/* 0365C 808CE41C AFAF0014 */ sw $t7, 0x0014($sp) -/* 03660 808CE420 AFA70010 */ sw $a3, 0x0010($sp) -/* 03664 808CE424 240438D1 */ addiu $a0, $zero, 0x38D1 ## $a0 = 000038D1 -/* 03668 808CE428 262500E4 */ addiu $a1, $s1, 0x00E4 ## $a1 = 000000E4 -/* 0366C 808CE42C 0C03DCE3 */ jal Audio_PlaySoundGeneral - -/* 03670 808CE430 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004 -.L808CE434: -/* 03674 808CE434 3C01808D */ lui $at, %hi(D_808D1F64) ## $at = 808D0000 -/* 03678 808CE438 C4201F64 */ lwc1 $f0, %lo(D_808D1F64)($at) -/* 0367C 808CE43C 3C01808D */ lui $at, %hi(D_808D1F68) ## $at = 808D0000 -/* 03680 808CE440 1000000D */ beq $zero, $zero, .L808CE478 -/* 03684 808CE444 C4221F68 */ lwc1 $f2, %lo(D_808D1F68)($at) -/* 03688 808CE448 86380226 */ lh $t8, 0x0226($s1) ## 00000226 -.L808CE44C: -/* 0368C 808CE44C 3C01447A */ lui $at, 0x447A ## $at = 447A0000 -/* 03690 808CE450 33190010 */ andi $t9, $t8, 0x0010 ## $t9 = 00000000 -/* 03694 808CE454 53200004 */ beql $t9, $zero, .L808CE468 -/* 03698 808CE458 44810000 */ mtc1 $at, $f0 ## $f0 = 1000.00 -/* 0369C 808CE45C 10000003 */ beq $zero, $zero, .L808CE46C -/* 036A0 808CE460 4600E006 */ mov.s $f0, $f28 -/* 036A4 808CE464 44810000 */ mtc1 $at, $f0 ## $f0 = 1000.00 -.L808CE468: -/* 036A8 808CE468 00000000 */ nop -.L808CE46C: -/* 036AC 808CE46C 3C0143FA */ lui $at, 0x43FA ## $at = 43FA0000 -/* 036B0 808CE470 44811000 */ mtc1 $at, $f2 ## $f2 = 500.00 -/* 036B4 808CE474 00000000 */ nop -.L808CE478: -/* 036B8 808CE478 44050000 */ mfc1 $a1, $f0 -/* 036BC 808CE47C 3C063E99 */ lui $a2, 0x3E99 ## $a2 = 3E990000 -/* 036C0 808CE480 44071000 */ mfc1 $a3, $f2 -/* 036C4 808CE484 34C6999A */ ori $a2, $a2, 0x999A ## $a2 = 3E99999A -/* 036C8 808CE488 0C01E107 */ jal Math_ApproachF - -/* 036CC 808CE48C 262413CC */ addiu $a0, $s1, 0x13CC ## $a0 = 000013CC -/* 036D0 808CE490 8622022E */ lh $v0, 0x022E($s1) ## 0000022E -/* 036D4 808CE494 3C078013 */ lui $a3, %hi(D_801333E0) -/* 036D8 808CE498 24E733E0 */ addiu $a3, %lo(D_801333E0) -/* 036DC 808CE49C 10400002 */ beq $v0, $zero, .L808CE4A8 -/* 036E0 808CE4A0 2448FFFF */ addiu $t0, $v0, 0xFFFF ## $t0 = FFFFFFFF -/* 036E4 808CE4A4 A628022E */ sh $t0, 0x022E($s1) ## 0000022E -.L808CE4A8: -/* 036E8 808CE4A8 86290250 */ lh $t1, 0x0250($s1) ## 00000250 -/* 036EC 808CE4AC 240430D0 */ addiu $a0, $zero, 0x30D0 ## $a0 = 000030D0 -/* 036F0 808CE4B0 262500E4 */ addiu $a1, $s1, 0x00E4 ## $a1 = 000000E4 -/* 036F4 808CE4B4 112000E6 */ beq $t1, $zero, .L808CE850 -/* 036F8 808CE4B8 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004 -/* 036FC 808CE4BC 3C0A8013 */ lui $t2, %hi(D_801333E8) -/* 03700 808CE4C0 254A33E8 */ addiu $t2, %lo(D_801333E8) -/* 03704 808CE4C4 AFAA0014 */ sw $t2, 0x0014($sp) -/* 03708 808CE4C8 0C03DCE3 */ jal Audio_PlaySoundGeneral - -/* 0370C 808CE4CC AFA70010 */ sw $a3, 0x0010($sp) -/* 03710 808CE4D0 86220240 */ lh $v0, 0x0240($s1) ## 00000240 -/* 03714 808CE4D4 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000 -/* 03718 808CE4D8 50400064 */ beql $v0, $zero, .L808CE66C -/* 0371C 808CE4DC 4481C000 */ mtc1 $at, $f24 ## $f24 = 100.00 -/* 03720 808CE4E0 922C00AF */ lbu $t4, 0x00AF($s1) ## 000000AF -/* 03724 808CE4E4 244BFFFF */ addiu $t3, $v0, 0xFFFF ## $t3 = FFFFFFFF -/* 03728 808CE4E8 A62B0240 */ sh $t3, 0x0240($s1) ## 00000240 -/* 0372C 808CE4EC 11800009 */ beq $t4, $zero, .L808CE514 -/* 03730 808CE4F0 24180002 */ addiu $t8, $zero, 0x0002 ## $t8 = 00000002 -/* 03734 808CE4F4 862D1402 */ lh $t5, 0x1402($s1) ## 00001402 -/* 03738 808CE4F8 24010006 */ addiu $at, $zero, 0x0006 ## $at = 00000006 -/* 0373C 808CE4FC 55A1000D */ bnel $t5, $at, .L808CE534 -/* 03740 808CE500 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000 -/* 03744 808CE504 862E0030 */ lh $t6, 0x0030($s1) ## 00000030 -/* 03748 808CE508 29C13001 */ slti $at, $t6, 0x3001 -/* 0374C 808CE50C 54200009 */ bnel $at, $zero, .L808CE534 -/* 03750 808CE510 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000 -.L808CE514: -/* 03754 808CE514 922F0220 */ lbu $t7, 0x0220($s1) ## 00000220 -/* 03758 808CE518 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 0375C 808CE51C 00320821 */ addu $at, $at, $s2 -/* 03760 808CE520 55E00003 */ bnel $t7, $zero, .L808CE530 -/* 03764 808CE524 A2380220 */ sb $t8, 0x0220($s1) ## 00000220 -/* 03768 808CE528 E43C0AFC */ swc1 $f28, 0x0AFC($at) ## 00010AFC -/* 0376C 808CE52C A2380220 */ sb $t8, 0x0220($s1) ## 00000220 -.L808CE530: -/* 03770 808CE530 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000 -.L808CE534: -/* 03774 808CE534 4481C000 */ mtc1 $at, $f24 ## $f24 = 100.00 -/* 03778 808CE538 3C014120 */ lui $at, 0x4120 ## $at = 41200000 -/* 0377C 808CE53C 4481B000 */ mtc1 $at, $f22 ## $f22 = 10.00 -/* 03780 808CE540 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000 -/* 03784 808CE544 4481A000 */ mtc1 $at, $f20 ## $f20 = 20.00 -/* 03788 808CE548 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000 -.L808CE54C: -/* 0378C 808CE54C 0C00CFC8 */ jal Rand_CenteredFloat - -/* 03790 808CE550 4600D306 */ mov.s $f12, $f26 -/* 03794 808CE554 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000 -/* 03798 808CE558 44816000 */ mtc1 $at, $f12 ## $f12 = 5.00 -/* 0379C 808CE55C 0C00CFBE */ jal Rand_ZeroFloat - -/* 037A0 808CE560 E7A000D0 */ swc1 $f0, 0x00D0($sp) -/* 037A4 808CE564 3C014080 */ lui $at, 0x4080 ## $at = 40800000 -/* 037A8 808CE568 44815000 */ mtc1 $at, $f10 ## $f10 = 4.00 -/* 037AC 808CE56C 4600D306 */ mov.s $f12, $f26 -/* 037B0 808CE570 460A0400 */ add.s $f16, $f0, $f10 -/* 037B4 808CE574 0C00CFC8 */ jal Rand_CenteredFloat - -/* 037B8 808CE578 E7B000D4 */ swc1 $f16, 0x00D4($sp) -/* 037BC 808CE57C C7A600D0 */ lwc1 $f6, 0x00D0($sp) -/* 037C0 808CE580 3C01808D */ lui $at, %hi(D_808D1F6C) ## $at = 808D0000 -/* 037C4 808CE584 C4321F6C */ lwc1 $f18, %lo(D_808D1F6C)($at) -/* 037C8 808CE588 46143202 */ mul.s $f8, $f6, $f20 -/* 037CC 808CE58C E7A000D8 */ swc1 $f0, 0x00D8($sp) -/* 037D0 808CE590 E7BC00CC */ swc1 $f28, 0x00CC($sp) -/* 037D4 808CE594 46140182 */ mul.s $f6, $f0, $f20 -/* 037D8 808CE598 E7BC00C4 */ swc1 $f28, 0x00C4($sp) -/* 037DC 808CE59C E7B200C8 */ swc1 $f18, 0x00C8($sp) -/* 037E0 808CE5A0 C62402C8 */ lwc1 $f4, 0x02C8($s1) ## 000002C8 -/* 037E4 808CE5A4 E7B800BC */ swc1 $f24, 0x00BC($sp) -/* 037E8 808CE5A8 3C014316 */ lui $at, 0x4316 ## $at = 43160000 -/* 037EC 808CE5AC 46164283 */ div.s $f10, $f8, $f22 -/* 037F0 808CE5B0 44816000 */ mtc1 $at, $f12 ## $f12 = 150.00 -/* 037F4 808CE5B4 46163203 */ div.s $f8, $f6, $f22 -/* 037F8 808CE5B8 460A2400 */ add.s $f16, $f4, $f10 -/* 037FC 808CE5BC E7B000B8 */ swc1 $f16, 0x00B8($sp) -/* 03800 808CE5C0 C63202D0 */ lwc1 $f18, 0x02D0($s1) ## 000002D0 -/* 03804 808CE5C4 46089100 */ add.s $f4, $f18, $f8 -/* 03808 808CE5C8 0C00CFBE */ jal Rand_ZeroFloat - -/* 0380C 808CE5CC E7A400C0 */ swc1 $f4, 0x00C0($sp) -/* 03810 808CE5D0 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000 -/* 03814 808CE5D4 44816000 */ mtc1 $at, $f12 ## $f12 = 5.00 -/* 03818 808CE5D8 0C00CFBE */ jal Rand_ZeroFloat - -/* 0381C 808CE5DC E7A00074 */ swc1 $f0, 0x0074($sp) -/* 03820 808CE5E0 C7AA0074 */ lwc1 $f10, 0x0074($sp) -/* 03824 808CE5E4 4600018D */ trunc.w.s $f6, $f0 -/* 03828 808CE5E8 3C19808D */ lui $t9, %hi(D_808D1A58) ## $t9 = 808D0000 -/* 0382C 808CE5EC 27391A58 */ addiu $t9, $t9, %lo(D_808D1A58) ## $t9 = 808D1A58 -/* 03830 808CE5F0 4600540D */ trunc.w.s $f16, $f10 -/* 03834 808CE5F4 44183000 */ mfc1 $t8, $f6 -/* 03838 808CE5F8 3C08808D */ lui $t0, %hi(D_808D1A5C) ## $t0 = 808D0000 -/* 0383C 808CE5FC 25081A5C */ addiu $t0, $t0, %lo(D_808D1A5C) ## $t0 = 808D1A5C -/* 03840 808CE600 440A8000 */ mfc1 $t2, $f16 -/* 03844 808CE604 AFB90010 */ sw $t9, 0x0010($sp) -/* 03848 808CE608 AFA80014 */ sw $t0, 0x0014($sp) -/* 0384C 808CE60C 0018CC00 */ sll $t9, $t8, 16 -/* 03850 808CE610 000A5C00 */ sll $t3, $t2, 16 -/* 03854 808CE614 000B6403 */ sra $t4, $t3, 16 -/* 03858 808CE618 00194403 */ sra $t0, $t9, 16 -/* 0385C 808CE61C 25090011 */ addiu $t1, $t0, 0x0011 ## $t1 = 808D1A6D -/* 03860 808CE620 258D0320 */ addiu $t5, $t4, 0x0320 ## $t5 = 00000320 -/* 03864 808CE624 240E000A */ addiu $t6, $zero, 0x000A ## $t6 = 0000000A -/* 03868 808CE628 AFAE001C */ sw $t6, 0x001C($sp) -/* 0386C 808CE62C AFAD0018 */ sw $t5, 0x0018($sp) -/* 03870 808CE630 AFA90020 */ sw $t1, 0x0020($sp) -/* 03874 808CE634 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000 -/* 03878 808CE638 27A500B8 */ addiu $a1, $sp, 0x00B8 ## $a1 = FFFFFFB0 -/* 0387C 808CE63C 27A600D0 */ addiu $a2, $sp, 0x00D0 ## $a2 = FFFFFFC8 -/* 03880 808CE640 0C00A0DB */ jal func_8002836C -/* 03884 808CE644 27A700C4 */ addiu $a3, $sp, 0x00C4 ## $a3 = FFFFFFBC -/* 03888 808CE648 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001 -/* 0388C 808CE64C 00108400 */ sll $s0, $s0, 16 -/* 03890 808CE650 00108403 */ sra $s0, $s0, 16 -/* 03894 808CE654 2A010005 */ slti $at, $s0, 0x0005 -/* 03898 808CE658 1420FFBC */ bne $at, $zero, .L808CE54C -/* 0389C 808CE65C 00000000 */ nop -/* 038A0 808CE660 1000003D */ beq $zero, $zero, .L808CE758 -/* 038A4 808CE664 3C014270 */ lui $at, 0x4270 ## $at = 42700000 -/* 038A8 808CE668 4481C000 */ mtc1 $at, $f24 ## $f24 = 60.00 -.L808CE66C: -/* 038AC 808CE66C 3C014120 */ lui $at, 0x4120 ## $at = 41200000 -/* 038B0 808CE670 4481B000 */ mtc1 $at, $f22 ## $f22 = 10.00 -/* 038B4 808CE674 3C014248 */ lui $at, 0x4248 ## $at = 42480000 -/* 038B8 808CE678 4481A000 */ mtc1 $at, $f20 ## $f20 = 50.00 -/* 038BC 808CE67C 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000 -.L808CE680: -/* 038C0 808CE680 0C00CFC8 */ jal Rand_CenteredFloat - -/* 038C4 808CE684 4600B306 */ mov.s $f12, $f22 -/* 038C8 808CE688 3C014040 */ lui $at, 0x4040 ## $at = 40400000 -/* 038CC 808CE68C 44816000 */ mtc1 $at, $f12 ## $f12 = 3.00 -/* 038D0 808CE690 0C00CFBE */ jal Rand_ZeroFloat - -/* 038D4 808CE694 E7A000D0 */ swc1 $f0, 0x00D0($sp) -/* 038D8 808CE698 3C014040 */ lui $at, 0x4040 ## $at = 40400000 -/* 038DC 808CE69C 44819000 */ mtc1 $at, $f18 ## $f18 = 3.00 -/* 038E0 808CE6A0 4600B306 */ mov.s $f12, $f22 -/* 038E4 808CE6A4 46120200 */ add.s $f8, $f0, $f18 -/* 038E8 808CE6A8 0C00CFC8 */ jal Rand_CenteredFloat - -/* 038EC 808CE6AC E7A800D4 */ swc1 $f8, 0x00D4($sp) -/* 038F0 808CE6B0 C7B000D0 */ lwc1 $f16, 0x00D0($sp) -/* 038F4 808CE6B4 3C01808D */ lui $at, %hi(D_808D1F70) ## $at = 808D0000 -/* 038F8 808CE6B8 C4241F70 */ lwc1 $f4, %lo(D_808D1F70)($at) -/* 038FC 808CE6BC 46148182 */ mul.s $f6, $f16, $f20 -/* 03900 808CE6C0 E7A000D8 */ swc1 $f0, 0x00D8($sp) -/* 03904 808CE6C4 E7BC00CC */ swc1 $f28, 0x00CC($sp) -/* 03908 808CE6C8 46140402 */ mul.s $f16, $f0, $f20 -/* 0390C 808CE6CC E7BC00C4 */ swc1 $f28, 0x00C4($sp) -/* 03910 808CE6D0 E7A400C8 */ swc1 $f4, 0x00C8($sp) -/* 03914 808CE6D4 C62A02C8 */ lwc1 $f10, 0x02C8($s1) ## 000002C8 -/* 03918 808CE6D8 E7B800BC */ swc1 $f24, 0x00BC($sp) -/* 0391C 808CE6DC 3C0A808D */ lui $t2, %hi(D_808D1A58) ## $t2 = 808D0000 -/* 03920 808CE6E0 46163483 */ div.s $f18, $f6, $f22 -/* 03924 808CE6E4 3C0B808D */ lui $t3, %hi(D_808D1A5C) ## $t3 = 808D0000 -/* 03928 808CE6E8 256B1A5C */ addiu $t3, $t3, %lo(D_808D1A5C) ## $t3 = 808D1A5C -/* 0392C 808CE6EC 254A1A58 */ addiu $t2, $t2, %lo(D_808D1A58) ## $t2 = 808D1A58 -/* 03930 808CE6F0 240C01F4 */ addiu $t4, $zero, 0x01F4 ## $t4 = 000001F4 -/* 03934 808CE6F4 240D000A */ addiu $t5, $zero, 0x000A ## $t5 = 0000000A -/* 03938 808CE6F8 240E0014 */ addiu $t6, $zero, 0x0014 ## $t6 = 00000014 -/* 0393C 808CE6FC 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000 -/* 03940 808CE700 27A500B8 */ addiu $a1, $sp, 0x00B8 ## $a1 = FFFFFFB0 -/* 03944 808CE704 27A600D0 */ addiu $a2, $sp, 0x00D0 ## $a2 = FFFFFFC8 -/* 03948 808CE708 27A700C4 */ addiu $a3, $sp, 0x00C4 ## $a3 = FFFFFFBC -/* 0394C 808CE70C 46168183 */ div.s $f6, $f16, $f22 -/* 03950 808CE710 46125200 */ add.s $f8, $f10, $f18 -/* 03954 808CE714 E7A800B8 */ swc1 $f8, 0x00B8($sp) -/* 03958 808CE718 C62402D0 */ lwc1 $f4, 0x02D0($s1) ## 000002D0 -/* 0395C 808CE71C AFAE0020 */ sw $t6, 0x0020($sp) -/* 03960 808CE720 AFAD001C */ sw $t5, 0x001C($sp) -/* 03964 808CE724 AFAC0018 */ sw $t4, 0x0018($sp) -/* 03968 808CE728 AFAB0014 */ sw $t3, 0x0014($sp) -/* 0396C 808CE72C AFAA0010 */ sw $t2, 0x0010($sp) -/* 03970 808CE730 46062280 */ add.s $f10, $f4, $f6 -/* 03974 808CE734 0C00A0DB */ jal func_8002836C -/* 03978 808CE738 E7AA00C0 */ swc1 $f10, 0x00C0($sp) -/* 0397C 808CE73C 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001 -/* 03980 808CE740 00108400 */ sll $s0, $s0, 16 -/* 03984 808CE744 00108403 */ sra $s0, $s0, 16 -/* 03988 808CE748 2A010002 */ slti $at, $s0, 0x0002 -/* 0398C 808CE74C 1420FFCC */ bne $at, $zero, .L808CE680 -/* 03990 808CE750 00000000 */ nop -/* 03994 808CE754 3C014270 */ lui $at, 0x4270 ## $at = 42700000 -.L808CE758: -/* 03998 808CE758 262F1970 */ addiu $t7, $s1, 0x1970 ## $t7 = 00001970 -/* 0399C 808CE75C 4481A000 */ mtc1 $at, $f20 ## $f20 = 60.00 -/* 039A0 808CE760 AFAF0070 */ sw $t7, 0x0070($sp) -/* 039A4 808CE764 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000 -.L808CE768: -/* 039A8 808CE768 0C00CFC8 */ jal Rand_CenteredFloat - -/* 039AC 808CE76C 4600D306 */ mov.s $f12, $f26 -/* 039B0 808CE770 E7A000D0 */ swc1 $f0, 0x00D0($sp) -/* 039B4 808CE774 0C00CFBE */ jal Rand_ZeroFloat - -/* 039B8 808CE778 4600B306 */ mov.s $f12, $f22 -/* 039BC 808CE77C E7A000D4 */ swc1 $f0, 0x00D4($sp) -/* 039C0 808CE780 0C00CFC8 */ jal Rand_CenteredFloat - -/* 039C4 808CE784 4600D306 */ mov.s $f12, $f26 -/* 039C8 808CE788 3C01808D */ lui $at, %hi(D_808D1F74) ## $at = 808D0000 -/* 039CC 808CE78C C4321F74 */ lwc1 $f18, %lo(D_808D1F74)($at) -/* 039D0 808CE790 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000 -/* 039D4 808CE794 44816000 */ mtc1 $at, $f12 ## $f12 = 0.50 -/* 039D8 808CE798 E7A000D8 */ swc1 $f0, 0x00D8($sp) -/* 039DC 808CE79C 0C00CFC8 */ jal Rand_CenteredFloat - -/* 039E0 808CE7A0 E7B200C8 */ swc1 $f18, 0x00C8($sp) -/* 039E4 808CE7A4 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000 -/* 039E8 808CE7A8 44816000 */ mtc1 $at, $f12 ## $f12 = 0.50 -/* 039EC 808CE7AC 0C00CFC8 */ jal Rand_CenteredFloat - -/* 039F0 808CE7B0 E7A000C4 */ swc1 $f0, 0x00C4($sp) -/* 039F4 808CE7B4 E7A000CC */ swc1 $f0, 0x00CC($sp) -/* 039F8 808CE7B8 0C00CFC8 */ jal Rand_CenteredFloat - -/* 039FC 808CE7BC 4600A306 */ mov.s $f12, $f20 -/* 03A00 808CE7C0 C62802C8 */ lwc1 $f8, 0x02C8($s1) ## 000002C8 -/* 03A04 808CE7C4 3C014220 */ lui $at, 0x4220 ## $at = 42200000 -/* 03A08 808CE7C8 44816000 */ mtc1 $at, $f12 ## $f12 = 40.00 -/* 03A0C 808CE7CC 46080400 */ add.s $f16, $f0, $f8 -/* 03A10 808CE7D0 0C00CFBE */ jal Rand_ZeroFloat - -/* 03A14 808CE7D4 E7B000B8 */ swc1 $f16, 0x00B8($sp) -/* 03A18 808CE7D8 46180100 */ add.s $f4, $f0, $f24 -/* 03A1C 808CE7DC 4600A306 */ mov.s $f12, $f20 -/* 03A20 808CE7E0 0C00CFC8 */ jal Rand_CenteredFloat - -/* 03A24 808CE7E4 E7A400BC */ swc1 $f4, 0x00BC($sp) -/* 03A28 808CE7E8 C62602D0 */ lwc1 $f6, 0x02D0($s1) ## 000002D0 -/* 03A2C 808CE7EC 3C013FC0 */ lui $at, 0x3FC0 ## $at = 3FC00000 -/* 03A30 808CE7F0 44816000 */ mtc1 $at, $f12 ## $f12 = 1.50 -/* 03A34 808CE7F4 46060280 */ add.s $f10, $f0, $f6 -/* 03A38 808CE7F8 0C00CFBE */ jal Rand_ZeroFloat - -/* 03A3C 808CE7FC E7AA00C0 */ swc1 $f10, 0x00C0($sp) -/* 03A40 808CE800 4600048D */ trunc.w.s $f18, $f0 -/* 03A44 808CE804 8FA40070 */ lw $a0, 0x0070($sp) -/* 03A48 808CE808 27A500B8 */ addiu $a1, $sp, 0x00B8 ## $a1 = FFFFFFB0 -/* 03A4C 808CE80C 27A600D0 */ addiu $a2, $sp, 0x00D0 ## $a2 = FFFFFFC8 -/* 03A50 808CE810 44199000 */ mfc1 $t9, $f18 -/* 03A54 808CE814 27A700C4 */ addiu $a3, $sp, 0x00C4 ## $a3 = FFFFFFBC -/* 03A58 808CE818 00194400 */ sll $t0, $t9, 16 -/* 03A5C 808CE81C 00084C03 */ sra $t1, $t0, 16 -/* 03A60 808CE820 252A0006 */ addiu $t2, $t1, 0x0006 ## $t2 = 00000006 -/* 03A64 808CE824 448A4000 */ mtc1 $t2, $f8 ## $f8 = 0.00 -/* 03A68 808CE828 00000000 */ nop -/* 03A6C 808CE82C 46804420 */ cvt.s.w $f16, $f8 -/* 03A70 808CE830 0C232B70 */ jal func_808CADC0 -/* 03A74 808CE834 E7B00010 */ swc1 $f16, 0x0010($sp) -/* 03A78 808CE838 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001 -/* 03A7C 808CE83C 00108400 */ sll $s0, $s0, 16 -/* 03A80 808CE840 00108403 */ sra $s0, $s0, 16 -/* 03A84 808CE844 2A010008 */ slti $at, $s0, 0x0008 -/* 03A88 808CE848 1420FFC7 */ bne $at, $zero, .L808CE768 -/* 03A8C 808CE84C 00000000 */ nop -.L808CE850: -/* 03A90 808CE850 8622021C */ lh $v0, 0x021C($s1) ## 0000021C -/* 03A94 808CE854 27B200A0 */ addiu $s2, $sp, 0x00A0 ## $s2 = FFFFFF98 -/* 03A98 808CE858 3C0E808D */ lui $t6, %hi(D_808D1A40) ## $t6 = 808D0000 -/* 03A9C 808CE85C 1040000D */ beq $v0, $zero, .L808CE894 -/* 03AA0 808CE860 28410011 */ slti $at, $v0, 0x0011 -/* 03AA4 808CE864 1020000B */ beq $at, $zero, .L808CE894 -/* 03AA8 808CE868 28410006 */ slti $at, $v0, 0x0006 -/* 03AAC 808CE86C 14200004 */ bne $at, $zero, .L808CE880 -/* 03AB0 808CE870 00026080 */ sll $t4, $v0, 2 -/* 03AB4 808CE874 240B00FF */ addiu $t3, $zero, 0x00FF ## $t3 = 000000FF -/* 03AB8 808CE878 10000006 */ beq $zero, $zero, .L808CE894 -/* 03ABC 808CE87C A7AB0106 */ sh $t3, 0x0106($sp) -.L808CE880: -/* 03AC0 808CE880 01826023 */ subu $t4, $t4, $v0 -/* 03AC4 808CE884 000C60C0 */ sll $t4, $t4, 3 -/* 03AC8 808CE888 01826021 */ addu $t4, $t4, $v0 -/* 03ACC 808CE88C 000C6040 */ sll $t4, $t4, 1 -/* 03AD0 808CE890 A7AC0106 */ sh $t4, 0x0106($sp) -.L808CE894: -/* 03AD4 808CE894 87AD0106 */ lh $t5, 0x0106($sp) -/* 03AD8 808CE898 25CE1A40 */ addiu $t6, $t6, %lo(D_808D1A40) ## $t6 = 808D1A40 -/* 03ADC 808CE89C 27B90088 */ addiu $t9, $sp, 0x0088 ## $t9 = FFFFFF80 -/* 03AE0 808CE8A0 11A000BE */ beq $t5, $zero, .L808CEB9C -/* 03AE4 808CE8A4 3C08808D */ lui $t0, %hi(D_808D1A4C) ## $t0 = 808D0000 -/* 03AE8 808CE8A8 8DD80000 */ lw $t8, 0x0000($t6) ## 808D1A40 -/* 03AEC 808CE8AC 25081A4C */ addiu $t0, $t0, %lo(D_808D1A4C) ## $t0 = 808D1A4C -/* 03AF0 808CE8B0 240B0002 */ addiu $t3, $zero, 0x0002 ## $t3 = 00000002 -/* 03AF4 808CE8B4 AE580000 */ sw $t8, 0x0000($s2) ## FFFFFF98 -/* 03AF8 808CE8B8 8DCF0004 */ lw $t7, 0x0004($t6) ## 808D1A44 -/* 03AFC 808CE8BC 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000 -/* 03B00 808CE8C0 44812000 */ mtc1 $at, $f4 ## $f4 = 30.00 -/* 03B04 808CE8C4 AE4F0004 */ sw $t7, 0x0004($s2) ## FFFFFF9C -/* 03B08 808CE8C8 8DD80008 */ lw $t8, 0x0008($t6) ## 808D1A48 -/* 03B0C 808CE8CC 3C0C8013 */ lui $t4, %hi(D_801333E0) -/* 03B10 808CE8D0 3C0D8013 */ lui $t5, %hi(D_801333E8) -/* 03B14 808CE8D4 AE580008 */ sw $t8, 0x0008($s2) ## FFFFFFA0 -/* 03B18 808CE8D8 8D0A0000 */ lw $t2, 0x0000($t0) ## 808D1A4C -/* 03B1C 808CE8DC 8D090004 */ lw $t1, 0x0004($t0) ## 808D1A50 -/* 03B20 808CE8E0 25AD33E8 */ addiu $t5, %lo(D_801333E8) -/* 03B24 808CE8E4 AF2A0000 */ sw $t2, 0x0000($t9) ## FFFFFF80 -/* 03B28 808CE8E8 8D0A0008 */ lw $t2, 0x0008($t0) ## 808D1A54 -/* 03B2C 808CE8EC AF290004 */ sw $t1, 0x0004($t9) ## FFFFFF84 -/* 03B30 808CE8F0 258733E0 */ addiu $a3, $t4, %lo(D_801333E0) -/* 03B34 808CE8F4 AF2A0008 */ sw $t2, 0x0008($t9) ## FFFFFF88 -/* 03B38 808CE8F8 A22B0220 */ sb $t3, 0x0220($s1) ## 00000220 -/* 03B3C 808CE8FC 262E1970 */ addiu $t6, $s1, 0x1970 ## $t6 = 00001970 -/* 03B40 808CE900 3C05808D */ lui $a1, %hi(D_808D1A28) ## $a1 = 808D0000 -/* 03B44 808CE904 24A51A28 */ addiu $a1, $a1, %lo(D_808D1A28) ## $a1 = 808D1A28 -/* 03B48 808CE908 AFAE0070 */ sw $t6, 0x0070($sp) -/* 03B4C 808CE90C AFAD0014 */ sw $t5, 0x0014($sp) -/* 03B50 808CE910 AFA70010 */ sw $a3, 0x0010($sp) -/* 03B54 808CE914 240430DB */ addiu $a0, $zero, 0x30DB ## $a0 = 000030DB -/* 03B58 808CE918 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004 -/* 03B5C 808CE91C 0C03DCE3 */ jal Audio_PlaySoundGeneral - -/* 03B60 808CE920 E7A400A8 */ swc1 $f4, 0x00A8($sp) -/* 03B64 808CE924 3C014700 */ lui $at, 0x4700 ## $at = 47000000 -/* 03B68 808CE928 262213F4 */ addiu $v0, $s1, 0x13F4 ## $v0 = 000013F4 -/* 03B6C 808CE92C 44810000 */ mtc1 $at, $f0 ## $f0 = 32768.00 -/* 03B70 808CE930 8C580000 */ lw $t8, 0x0000($v0) ## 000013F4 -/* 03B74 808CE934 3C01808D */ lui $at, %hi(D_808D1F78) ## $at = 808D0000 -/* 03B78 808CE938 C4221F78 */ lwc1 $f2, %lo(D_808D1F78)($at) -/* 03B7C 808CE93C 27B0007C */ addiu $s0, $sp, 0x007C ## $s0 = FFFFFF74 -/* 03B80 808CE940 AE180000 */ sw $t8, 0x0000($s0) ## FFFFFF74 -/* 03B84 808CE944 8C4F0004 */ lw $t7, 0x0004($v0) ## 000013F8 -/* 03B88 808CE948 3C01808D */ lui $at, %hi(D_808D1F7C) ## $at = 808D0000 -/* 03B8C 808CE94C 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000 -/* 03B90 808CE950 AE0F0004 */ sw $t7, 0x0004($s0) ## FFFFFF78 -/* 03B94 808CE954 8C580008 */ lw $t8, 0x0008($v0) ## 000013FC -/* 03B98 808CE958 AE180008 */ sw $t8, 0x0008($s0) ## FFFFFF7C -/* 03B9C 808CE95C 86390032 */ lh $t9, 0x0032($s1) ## 00000032 -/* 03BA0 808CE960 86280030 */ lh $t0, 0x0030($s1) ## 00000030 -/* 03BA4 808CE964 AFA2006C */ sw $v0, 0x006C($sp) -/* 03BA8 808CE968 44993000 */ mtc1 $t9, $f6 ## $f6 = 0.00 -/* 03BAC 808CE96C 00084823 */ subu $t1, $zero, $t0 -/* 03BB0 808CE970 44894000 */ mtc1 $t1, $f8 ## $f8 = 0.00 -/* 03BB4 808CE974 468032A0 */ cvt.s.w $f10, $f6 -/* 03BB8 808CE978 46804420 */ cvt.s.w $f16, $f8 -/* 03BBC 808CE97C 46005483 */ div.s $f18, $f10, $f0 -/* 03BC0 808CE980 C42A1F7C */ lwc1 $f10, %lo(D_808D1F7C)($at) -/* 03BC4 808CE984 46008103 */ div.s $f4, $f16, $f0 -/* 03BC8 808CE988 46029302 */ mul.s $f12, $f18, $f2 -/* 03BCC 808CE98C 00000000 */ nop -/* 03BD0 808CE990 46022182 */ mul.s $f6, $f4, $f2 -/* 03BD4 808CE994 460A3480 */ add.s $f18, $f6, $f10 -/* 03BD8 808CE998 0C034348 */ jal Matrix_RotateY -/* 03BDC 808CE99C E7B200B0 */ swc1 $f18, 0x00B0($sp) -/* 03BE0 808CE9A0 C7AC00B0 */ lwc1 $f12, 0x00B0($sp) -/* 03BE4 808CE9A4 0C0342DC */ jal Matrix_RotateX -/* 03BE8 808CE9A8 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 03BEC 808CE9AC 02402025 */ or $a0, $s2, $zero ## $a0 = FFFFFF98 -/* 03BF0 808CE9B0 0C0346BD */ jal Matrix_MultVec3f -/* 03BF4 808CE9B4 27A50094 */ addiu $a1, $sp, 0x0094 ## $a1 = FFFFFF8C -/* 03BF8 808CE9B8 86240226 */ lh $a0, 0x0226($s1) ## 00000226 -/* 03BFC 808CE9BC 00042340 */ sll $a0, $a0, 13 -/* 03C00 808CE9C0 00042400 */ sll $a0, $a0, 16 -/* 03C04 808CE9C4 0C01DE1C */ jal Math_SinS - ## sins? -/* 03C08 808CE9C8 00042403 */ sra $a0, $a0, 16 -/* 03C0C 808CE9CC 3C014248 */ lui $at, 0x4248 ## $at = 42480000 -/* 03C10 808CE9D0 4481A000 */ mtc1 $at, $f20 ## $f20 = 50.00 -/* 03C14 808CE9D4 3C014396 */ lui $at, 0x4396 ## $at = 43960000 -/* 03C18 808CE9D8 4481B000 */ mtc1 $at, $f22 ## $f22 = 300.00 -/* 03C1C 808CE9DC 46140202 */ mul.s $f8, $f0, $f20 -/* 03C20 808CE9E0 87AA0106 */ lh $t2, 0x0106($sp) -/* 03C24 808CE9E4 8FA40070 */ lw $a0, 0x0070($sp) -/* 03C28 808CE9E8 02002825 */ or $a1, $s0, $zero ## $a1 = FFFFFF74 -/* 03C2C 808CE9EC AFAA0014 */ sw $t2, 0x0014($sp) -/* 03C30 808CE9F0 27A60094 */ addiu $a2, $sp, 0x0094 ## $a2 = FFFFFF8C -/* 03C34 808CE9F4 27A70088 */ addiu $a3, $sp, 0x0088 ## $a3 = FFFFFF80 -/* 03C38 808CE9F8 46164400 */ add.s $f16, $f8, $f22 -/* 03C3C 808CE9FC E7B00010 */ swc1 $f16, 0x0010($sp) -/* 03C40 808CEA00 862B0032 */ lh $t3, 0x0032($s1) ## 00000032 -/* 03C44 808CEA04 0C232BFD */ jal func_808CAFF4 -/* 03C48 808CEA08 AFAB0018 */ sw $t3, 0x0018($sp) -/* 03C4C 808CEA0C 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000 -/* 03C50 808CEA10 44813000 */ mtc1 $at, $f6 ## $f6 = 0.50 -/* 03C54 808CEA14 C7A40094 */ lwc1 $f4, 0x0094($sp) -/* 03C58 808CEA18 C7B2007C */ lwc1 $f18, 0x007C($sp) -/* 03C5C 808CEA1C C7B00098 */ lwc1 $f16, 0x0098($sp) -/* 03C60 808CEA20 46062282 */ mul.s $f10, $f4, $f6 -/* 03C64 808CEA24 44812000 */ mtc1 $at, $f4 ## $f4 = 0.50 -/* 03C68 808CEA28 00000000 */ nop -/* 03C6C 808CEA2C 46048182 */ mul.s $f6, $f16, $f4 -/* 03C70 808CEA30 44818000 */ mtc1 $at, $f16 ## $f16 = 0.50 -/* 03C74 808CEA34 460A9200 */ add.s $f8, $f18, $f10 -/* 03C78 808CEA38 C7B20080 */ lwc1 $f18, 0x0080($sp) -/* 03C7C 808CEA3C E7A8007C */ swc1 $f8, 0x007C($sp) -/* 03C80 808CEA40 C7A8009C */ lwc1 $f8, 0x009C($sp) -/* 03C84 808CEA44 46069280 */ add.s $f10, $f18, $f6 -/* 03C88 808CEA48 C7B20084 */ lwc1 $f18, 0x0084($sp) -/* 03C8C 808CEA4C 46104102 */ mul.s $f4, $f8, $f16 -/* 03C90 808CEA50 E7AA0080 */ swc1 $f10, 0x0080($sp) -/* 03C94 808CEA54 46049180 */ add.s $f6, $f18, $f4 -/* 03C98 808CEA58 E7A60084 */ swc1 $f6, 0x0084($sp) -/* 03C9C 808CEA5C 86240226 */ lh $a0, 0x0226($s1) ## 00000226 -/* 03CA0 808CEA60 00042340 */ sll $a0, $a0, 13 -/* 03CA4 808CEA64 00042400 */ sll $a0, $a0, 16 -/* 03CA8 808CEA68 0C01DE1C */ jal Math_SinS - ## sins? -/* 03CAC 808CEA6C 00042403 */ sra $a0, $a0, 16 -/* 03CB0 808CEA70 46140282 */ mul.s $f10, $f0, $f20 -/* 03CB4 808CEA74 87AC0106 */ lh $t4, 0x0106($sp) -/* 03CB8 808CEA78 8FA40070 */ lw $a0, 0x0070($sp) -/* 03CBC 808CEA7C 02002825 */ or $a1, $s0, $zero ## $a1 = FFFFFF74 -/* 03CC0 808CEA80 AFAC0014 */ sw $t4, 0x0014($sp) -/* 03CC4 808CEA84 27A60094 */ addiu $a2, $sp, 0x0094 ## $a2 = FFFFFF8C -/* 03CC8 808CEA88 27A70088 */ addiu $a3, $sp, 0x0088 ## $a3 = FFFFFF80 -/* 03CCC 808CEA8C 46165200 */ add.s $f8, $f10, $f22 -/* 03CD0 808CEA90 E7A80010 */ swc1 $f8, 0x0010($sp) -/* 03CD4 808CEA94 862D0032 */ lh $t5, 0x0032($s1) ## 00000032 -/* 03CD8 808CEA98 0C232BFD */ jal func_808CAFF4 -/* 03CDC 808CEA9C AFAD0018 */ sw $t5, 0x0018($sp) -/* 03CE0 808CEAA0 3C014188 */ lui $at, 0x4188 ## $at = 41880000 -/* 03CE4 808CEAA4 44818000 */ mtc1 $at, $f16 ## $f16 = 17.00 -/* 03CE8 808CEAA8 3C014000 */ lui $at, 0x4000 ## $at = 40000000 -/* 03CEC 808CEAAC 4481C000 */ mtc1 $at, $f24 ## $f24 = 2.00 -/* 03CF0 808CEAB0 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000 -/* 03CF4 808CEAB4 4481B000 */ mtc1 $at, $f22 ## $f22 = 100.00 -/* 03CF8 808CEAB8 3C01C120 */ lui $at, 0xC120 ## $at = C1200000 -/* 03CFC 808CEABC 4481A000 */ mtc1 $at, $f20 ## $f20 = -10.00 -/* 03D00 808CEAC0 E7BC00A0 */ swc1 $f28, 0x00A0($sp) -/* 03D04 808CEAC4 E7BC00A8 */ swc1 $f28, 0x00A8($sp) -/* 03D08 808CEAC8 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000 -/* 03D0C 808CEACC E7B000A4 */ swc1 $f16, 0x00A4($sp) -.L808CEAD0: -/* 03D10 808CEAD0 3C01808D */ lui $at, %hi(D_808D1F80) ## $at = 808D0000 -/* 03D14 808CEAD4 0C00CFBE */ jal Rand_ZeroFloat - -/* 03D18 808CEAD8 C42C1F80 */ lwc1 $f12, %lo(D_808D1F80)($at) -/* 03D1C 808CEADC 3C01808D */ lui $at, %hi(D_808D1F84) ## $at = 808D0000 -/* 03D20 808CEAE0 C42C1F84 */ lwc1 $f12, %lo(D_808D1F84)($at) -/* 03D24 808CEAE4 0C00CFBE */ jal Rand_ZeroFloat - -/* 03D28 808CEAE8 E7A000AC */ swc1 $f0, 0x00AC($sp) -/* 03D2C 808CEAEC C7AC00AC */ lwc1 $f12, 0x00AC($sp) -/* 03D30 808CEAF0 E7A000B0 */ swc1 $f0, 0x00B0($sp) -/* 03D34 808CEAF4 0C034348 */ jal Matrix_RotateY -/* 03D38 808CEAF8 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000 -/* 03D3C 808CEAFC C7AC00B0 */ lwc1 $f12, 0x00B0($sp) -/* 03D40 808CEB00 0C0342DC */ jal Matrix_RotateX -/* 03D44 808CEB04 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 03D48 808CEB08 02402025 */ or $a0, $s2, $zero ## $a0 = FFFFFF98 -/* 03D4C 808CEB0C 0C0346BD */ jal Matrix_MultVec3f -/* 03D50 808CEB10 27A50094 */ addiu $a1, $sp, 0x0094 ## $a1 = FFFFFF8C -/* 03D54 808CEB14 C7B20094 */ lwc1 $f18, 0x0094($sp) -/* 03D58 808CEB18 C7AA0098 */ lwc1 $f10, 0x0098($sp) -/* 03D5C 808CEB1C 4600C306 */ mov.s $f12, $f24 -/* 03D60 808CEB20 46149102 */ mul.s $f4, $f18, $f20 -/* 03D64 808CEB24 C7B2009C */ lwc1 $f18, 0x009C($sp) -/* 03D68 808CEB28 46145202 */ mul.s $f8, $f10, $f20 -/* 03D6C 808CEB2C 46162183 */ div.s $f6, $f4, $f22 -/* 03D70 808CEB30 46149102 */ mul.s $f4, $f18, $f20 -/* 03D74 808CEB34 46164403 */ div.s $f16, $f8, $f22 -/* 03D78 808CEB38 E7A60088 */ swc1 $f6, 0x0088($sp) -/* 03D7C 808CEB3C 46162183 */ div.s $f6, $f4, $f22 -/* 03D80 808CEB40 E7B0008C */ swc1 $f16, 0x008C($sp) -/* 03D84 808CEB44 0C00CFBE */ jal Rand_ZeroFloat - -/* 03D88 808CEB48 E7A60090 */ swc1 $f6, 0x0090($sp) -/* 03D8C 808CEB4C 4600028D */ trunc.w.s $f10, $f0 -/* 03D90 808CEB50 8FA40070 */ lw $a0, 0x0070($sp) -/* 03D94 808CEB54 8FA5006C */ lw $a1, 0x006C($sp) -/* 03D98 808CEB58 27A60094 */ addiu $a2, $sp, 0x0094 ## $a2 = FFFFFF8C -/* 03D9C 808CEB5C 440F5000 */ mfc1 $t7, $f10 -/* 03DA0 808CEB60 27A70088 */ addiu $a3, $sp, 0x0088 ## $a3 = FFFFFF80 -/* 03DA4 808CEB64 000FC400 */ sll $t8, $t7, 16 -/* 03DA8 808CEB68 0018CC03 */ sra $t9, $t8, 16 -/* 03DAC 808CEB6C 27280008 */ addiu $t0, $t9, 0x0008 ## $t0 = 00000008 -/* 03DB0 808CEB70 44884000 */ mtc1 $t0, $f8 ## $f8 = 0.00 -/* 03DB4 808CEB74 00000000 */ nop -/* 03DB8 808CEB78 46804420 */ cvt.s.w $f16, $f8 -/* 03DBC 808CEB7C 0C232B70 */ jal func_808CADC0 -/* 03DC0 808CEB80 E7B00010 */ swc1 $f16, 0x0010($sp) -/* 03DC4 808CEB84 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001 -/* 03DC8 808CEB88 00108400 */ sll $s0, $s0, 16 -/* 03DCC 808CEB8C 00108403 */ sra $s0, $s0, 16 -/* 03DD0 808CEB90 2A010006 */ slti $at, $s0, 0x0006 -/* 03DD4 808CEB94 1420FFCE */ bne $at, $zero, .L808CEAD0 -/* 03DD8 808CEB98 00000000 */ nop -.L808CEB9C: -/* 03DDC 808CEB9C 3C0142B4 */ lui $at, 0x42B4 ## $at = 42B40000 -/* 03DE0 808CEBA0 44819000 */ mtc1 $at, $f18 ## $f18 = 90.00 -/* 03DE4 808CEBA4 C6200028 */ lwc1 $f0, 0x0028($s1) ## 00000028 -/* 03DE8 808CEBA8 3C01442F */ lui $at, 0x442F ## $at = 442F0000 -/* 03DEC 808CEBAC 4612003C */ c.lt.s $f0, $f18 -/* 03DF0 808CEBB0 00000000 */ nop -/* 03DF4 808CEBB4 4503000D */ bc1tl .L808CEBEC -/* 03DF8 808CEBB8 8E2B0004 */ lw $t3, 0x0004($s1) ## 00000004 -/* 03DFC 808CEBBC 44812000 */ mtc1 $at, $f4 ## $f4 = 700.00 -/* 03E00 808CEBC0 00000000 */ nop -/* 03E04 808CEBC4 4600203C */ c.lt.s $f4, $f0 -/* 03E08 808CEBC8 00000000 */ nop -/* 03E0C 808CEBCC 45030007 */ bc1tl .L808CEBEC -/* 03E10 808CEBD0 8E2B0004 */ lw $t3, 0x0004($s1) ## 00000004 -/* 03E14 808CEBD4 8E2A0218 */ lw $t2, 0x0218($s1) ## 00000218 -/* 03E18 808CEBD8 3C09808D */ lui $t1, %hi(func_808CDE30) ## $t1 = 808D0000 -/* 03E1C 808CEBDC 2529DE30 */ addiu $t1, $t1, %lo(func_808CDE30) ## $t1 = 808CDE30 -/* 03E20 808CEBE0 552A0007 */ bnel $t1, $t2, .L808CEC00 -/* 03E24 808CEBE4 8E2D0004 */ lw $t5, 0x0004($s1) ## 00000004 -/* 03E28 808CEBE8 8E2B0004 */ lw $t3, 0x0004($s1) ## 00000004 -.L808CEBEC: -/* 03E2C 808CEBEC 2401FFFE */ addiu $at, $zero, 0xFFFE ## $at = FFFFFFFE -/* 03E30 808CEBF0 01616024 */ and $t4, $t3, $at -/* 03E34 808CEBF4 10000004 */ beq $zero, $zero, .L808CEC08 -/* 03E38 808CEBF8 AE2C0004 */ sw $t4, 0x0004($s1) ## 00000004 -/* 03E3C 808CEBFC 8E2D0004 */ lw $t5, 0x0004($s1) ## 00000004 -.L808CEC00: -/* 03E40 808CEC00 35AE0001 */ ori $t6, $t5, 0x0001 ## $t6 = 00000001 -/* 03E44 808CEC04 AE2E0004 */ sw $t6, 0x0004($s1) ## 00000004 -.L808CEC08: -/* 03E48 808CEC08 8FBF0064 */ lw $ra, 0x0064($sp) -/* 03E4C 808CEC0C D7B40030 */ ldc1 $f20, 0x0030($sp) -/* 03E50 808CEC10 D7B60038 */ ldc1 $f22, 0x0038($sp) -/* 03E54 808CEC14 D7B80040 */ ldc1 $f24, 0x0040($sp) -/* 03E58 808CEC18 D7BA0048 */ ldc1 $f26, 0x0048($sp) -/* 03E5C 808CEC1C D7BC0050 */ ldc1 $f28, 0x0050($sp) -/* 03E60 808CEC20 8FB00058 */ lw $s0, 0x0058($sp) -/* 03E64 808CEC24 8FB1005C */ lw $s1, 0x005C($sp) -/* 03E68 808CEC28 8FB20060 */ lw $s2, 0x0060($sp) -/* 03E6C 808CEC2C 03E00008 */ jr $ra -/* 03E70 808CEC30 27BD0108 */ addiu $sp, $sp, 0x0108 ## $sp = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808CEC34.s b/asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808CEC34.s deleted file mode 100644 index 8c2c711bd8..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808CEC34.s +++ /dev/null @@ -1,49 +0,0 @@ -glabel func_808CEC34 -/* 03E74 808CEC34 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8 -/* 03E78 808CEC38 AFBF0024 */ sw $ra, 0x0024($sp) -/* 03E7C 808CEC3C AFB00020 */ sw $s0, 0x0020($sp) -/* 03E80 808CEC40 AFA5002C */ sw $a1, 0x002C($sp) -/* 03E84 808CEC44 8C8214AC */ lw $v0, 0x14AC($a0) ## 000014AC -/* 03E88 808CEC48 3C078013 */ lui $a3, %hi(D_801333E0) -/* 03E8C 808CEC4C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 03E90 808CEC50 90450016 */ lbu $a1, 0x0016($v0) ## 00000016 -/* 03E94 808CEC54 24E733E0 */ addiu $a3, %lo(D_801333E0) -/* 03E98 808CEC58 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004 -/* 03E9C 808CEC5C 30AE0002 */ andi $t6, $a1, 0x0002 ## $t6 = 00000000 -/* 03EA0 808CEC60 11C0001B */ beq $t6, $zero, .L808CECD0 -/* 03EA4 808CEC64 30AFFFFD */ andi $t7, $a1, 0xFFFD ## $t7 = 00000000 -/* 03EA8 808CEC68 A04F0016 */ sb $t7, 0x0016($v0) ## 00000016 -/* 03EAC 808CEC6C 909800AF */ lbu $t8, 0x00AF($a0) ## 000000AF -/* 03EB0 808CEC70 8C430024 */ lw $v1, 0x0024($v0) ## 00000024 -/* 03EB4 808CEC74 240E000A */ addiu $t6, $zero, 0x000A ## $t6 = 0000000A -/* 03EB8 808CEC78 2719FFFE */ addiu $t9, $t8, 0xFFFE ## $t9 = FFFFFFFE -/* 03EBC 808CEC7C A09900AF */ sb $t9, 0x00AF($a0) ## 000000AF -/* 03EC0 808CEC80 8C680000 */ lw $t0, 0x0000($v1) ## 00000000 -/* 03EC4 808CEC84 240F0014 */ addiu $t7, $zero, 0x0014 ## $t7 = 00000014 -/* 03EC8 808CEC88 3C188013 */ lui $t8, %hi(D_801333E8) -/* 03ECC 808CEC8C 31091000 */ andi $t1, $t0, 0x1000 ## $t1 = 00000000 -/* 03ED0 808CEC90 11200003 */ beq $t1, $zero, .L808CECA0 -/* 03ED4 808CEC94 260500E4 */ addiu $a1, $s0, 0x00E4 ## $a1 = 000000E4 -/* 03ED8 808CEC98 272BFFFE */ addiu $t3, $t9, 0xFFFE ## $t3 = FFFFFFFC -/* 03EDC 808CEC9C A08B00AF */ sb $t3, 0x00AF($a0) ## 000000AF -.L808CECA0: -/* 03EE0 808CECA0 820C00AF */ lb $t4, 0x00AF($s0) ## 000000AF -/* 03EE4 808CECA4 240D0002 */ addiu $t5, $zero, 0x0002 ## $t5 = 00000002 -/* 03EE8 808CECA8 240438D5 */ addiu $a0, $zero, 0x38D5 ## $a0 = 000038D5 -/* 03EEC 808CECAC 29810003 */ slti $at, $t4, 0x0003 -/* 03EF0 808CECB0 10200002 */ beq $at, $zero, .L808CECBC -/* 03EF4 808CECB4 271833E8 */ addiu $t8, %lo(D_801333E8) -/* 03EF8 808CECB8 A20D00AF */ sb $t5, 0x00AF($s0) ## 000000AF -.L808CECBC: -/* 03EFC 808CECBC A60E0230 */ sh $t6, 0x0230($s0) ## 00000230 -/* 03F00 808CECC0 A60F023E */ sh $t7, 0x023E($s0) ## 0000023E -/* 03F04 808CECC4 AFB80014 */ sw $t8, 0x0014($sp) -/* 03F08 808CECC8 0C03DCE3 */ jal Audio_PlaySoundGeneral - -/* 03F0C 808CECCC AFA70010 */ sw $a3, 0x0010($sp) -.L808CECD0: -/* 03F10 808CECD0 8FBF0024 */ lw $ra, 0x0024($sp) -/* 03F14 808CECD4 8FB00020 */ lw $s0, 0x0020($sp) -/* 03F18 808CECD8 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000 -/* 03F1C 808CECDC 03E00008 */ jr $ra -/* 03F20 808CECE0 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808CF448.s b/asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808CF448.s deleted file mode 100644 index c8ecab5804..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808CF448.s +++ /dev/null @@ -1,310 +0,0 @@ -.late_rodata -glabel D_808D1F98 - .word 0x3F0CCCCD -glabel D_808D1F9C - .float 0.1 - -glabel D_808D1FA0 - .float 0.3 - -glabel D_808D1FA4 - .float 0.08 - -.text -glabel func_808CF448 -/* 04688 808CF448 27BDFF60 */ addiu $sp, $sp, 0xFF60 ## $sp = FFFFFF60 -/* 0468C 808CF44C F7BE0040 */ sdc1 $f30, 0x0040($sp) -/* 04690 808CF450 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000 -/* 04694 808CF454 F7BC0038 */ sdc1 $f28, 0x0038($sp) -/* 04698 808CF458 F7B80028 */ sdc1 $f24, 0x0028($sp) -/* 0469C 808CF45C F7B60020 */ sdc1 $f22, 0x0020($sp) -/* 046A0 808CF460 3C18808D */ lui $t8, %hi(D_808D1A90) ## $t8 = 808D0000 -/* 046A4 808CF464 4481F000 */ mtc1 $at, $f30 ## $f30 = 0.50 -/* 046A8 808CF468 AFBF0064 */ sw $ra, 0x0064($sp) -/* 046AC 808CF46C AFB50060 */ sw $s5, 0x0060($sp) -/* 046B0 808CF470 AFB4005C */ sw $s4, 0x005C($sp) -/* 046B4 808CF474 AFB30058 */ sw $s3, 0x0058($sp) -/* 046B8 808CF478 AFB20054 */ sw $s2, 0x0054($sp) -/* 046BC 808CF47C AFB10050 */ sw $s1, 0x0050($sp) -/* 046C0 808CF480 AFB0004C */ sw $s0, 0x004C($sp) -/* 046C4 808CF484 F7BA0030 */ sdc1 $f26, 0x0030($sp) -/* 046C8 808CF488 F7B40018 */ sdc1 $f20, 0x0018($sp) -/* 046CC 808CF48C AFA500A4 */ sw $a1, 0x00A4($sp) -/* 046D0 808CF490 27181A90 */ addiu $t8, $t8, %lo(D_808D1A90) ## $t8 = 808D1A90 -/* 046D4 808CF494 3C01C1C8 */ lui $at, 0xC1C8 ## $at = C1C80000 -/* 046D8 808CF498 8F080000 */ lw $t0, 0x0000($t8) ## 808D1A90 -/* 046DC 808CF49C 4481E000 */ mtc1 $at, $f28 ## $f28 = -25.00 -/* 046E0 808CF4A0 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000 -/* 046E4 808CF4A4 8CB21C44 */ lw $s2, 0x1C44($a1) ## 00001C44 -/* 046E8 808CF4A8 27AF008C */ addiu $t7, $sp, 0x008C ## $t7 = FFFFFFEC -/* 046EC 808CF4AC 4481C000 */ mtc1 $at, $f24 ## $f24 = 5.00 -/* 046F0 808CF4B0 3C014020 */ lui $at, 0x4020 ## $at = 40200000 -/* 046F4 808CF4B4 ADE80000 */ sw $t0, 0x0000($t7) ## FFFFFFEC -/* 046F8 808CF4B8 8F080008 */ lw $t0, 0x0008($t8) ## 808D1A98 -/* 046FC 808CF4BC 8F190004 */ lw $t9, 0x0004($t8) ## 808D1A94 -/* 04700 808CF4C0 4481B000 */ mtc1 $at, $f22 ## $f22 = 2.50 -/* 04704 808CF4C4 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000 -/* 04708 808CF4C8 4481A000 */ mtc1 $at, $f20 ## $f20 = 100.00 -/* 0470C 808CF4CC 4480D000 */ mtc1 $zero, $f26 ## $f26 = 0.00 -/* 04710 808CF4D0 0080A825 */ or $s5, $a0, $zero ## $s5 = 00000000 -/* 04714 808CF4D4 24911970 */ addiu $s1, $a0, 0x1970 ## $s1 = 00001970 -/* 04718 808CF4D8 00009825 */ or $s3, $zero, $zero ## $s3 = 00000000 -/* 0471C 808CF4DC 24140003 */ addiu $s4, $zero, 0x0003 ## $s4 = 00000003 -/* 04720 808CF4E0 ADE80008 */ sw $t0, 0x0008($t7) ## FFFFFFF4 -/* 04724 808CF4E4 ADF90004 */ sw $t9, 0x0004($t7) ## FFFFFFF0 -.L808CF4E8: -/* 04728 808CF4E8 92290024 */ lbu $t1, 0x0024($s1) ## 00001994 -/* 0472C 808CF4EC 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 04730 808CF4F0 512000D5 */ beql $t1, $zero, .L808CF848 -/* 04734 808CF4F4 26730001 */ addiu $s3, $s3, 0x0001 ## $s3 = 00000001 -/* 04738 808CF4F8 C620000C */ lwc1 $f0, 0x000C($s1) ## 0000197C -/* 0473C 808CF4FC C6240000 */ lwc1 $f4, 0x0000($s1) ## 00001970 -/* 04740 808CF500 C6220010 */ lwc1 $f2, 0x0010($s1) ## 00001980 -/* 04744 808CF504 C6280004 */ lwc1 $f8, 0x0004($s1) ## 00001974 -/* 04748 808CF508 C62C0014 */ lwc1 $f12, 0x0014($s1) ## 00001984 -/* 0474C 808CF50C C6300008 */ lwc1 $f16, 0x0008($s1) ## 00001978 -/* 04750 808CF510 46002180 */ add.s $f6, $f4, $f0 -/* 04754 808CF514 C6240018 */ lwc1 $f4, 0x0018($s1) ## 00001988 -/* 04758 808CF518 922A0025 */ lbu $t2, 0x0025($s1) ## 00001995 -/* 0475C 808CF51C 46024280 */ add.s $f10, $f8, $f2 -/* 04760 808CF520 C628001C */ lwc1 $f8, 0x001C($s1) ## 0000198C -/* 04764 808CF524 E6260000 */ swc1 $f6, 0x0000($s1) ## 00001970 -/* 04768 808CF528 460C8480 */ add.s $f18, $f16, $f12 -/* 0476C 808CF52C C6300020 */ lwc1 $f16, 0x0020($s1) ## 00001990 -/* 04770 808CF530 E62A0004 */ swc1 $f10, 0x0004($s1) ## 00001974 -/* 04774 808CF534 46040180 */ add.s $f6, $f0, $f4 -/* 04778 808CF538 E6320008 */ swc1 $f18, 0x0008($s1) ## 00001978 -/* 0477C 808CF53C 92220024 */ lbu $v0, 0x0024($s1) ## 00001994 -/* 04780 808CF540 46081280 */ add.s $f10, $f2, $f8 -/* 04784 808CF544 254B0001 */ addiu $t3, $t2, 0x0001 ## $t3 = 00000001 -/* 04788 808CF548 A22B0025 */ sb $t3, 0x0025($s1) ## 00001995 -/* 0478C 808CF54C 46106480 */ add.s $f18, $f12, $f16 -/* 04790 808CF550 E626000C */ swc1 $f6, 0x000C($s1) ## 0000197C -/* 04794 808CF554 E62A0010 */ swc1 $f10, 0x0010($s1) ## 00001980 -/* 04798 808CF558 1441001C */ bne $v0, $at, .L808CF5CC -/* 0479C 808CF55C E6320014 */ swc1 $f18, 0x0014($s1) ## 00001984 -/* 047A0 808CF560 316300FF */ andi $v1, $t3, 0x00FF ## $v1 = 00000001 -/* 047A4 808CF564 04610004 */ bgez $v1, .L808CF578 -/* 047A8 808CF568 30630003 */ andi $v1, $v1, 0x0003 ## $v1 = 00000001 -/* 047AC 808CF56C 10600002 */ beq $v1, $zero, .L808CF578 -/* 047B0 808CF570 00000000 */ nop -/* 047B4 808CF574 2463FFFC */ addiu $v1, $v1, 0xFFFC ## $v1 = FFFFFFFD -.L808CF578: -/* 047B8 808CF578 00031C00 */ sll $v1, $v1, 16 -/* 047BC 808CF57C 00031C03 */ sra $v1, $v1, 16 -/* 047C0 808CF580 00740019 */ multu $v1, $s4 -/* 047C4 808CF584 27AD008C */ addiu $t5, $sp, 0x008C ## $t5 = FFFFFFEC -/* 047C8 808CF588 8639002A */ lh $t9, 0x002A($s1) ## 0000199A -/* 047CC 808CF58C 2728FFEC */ addiu $t0, $t9, 0xFFEC ## $t0 = FFFFFFEC -/* 047D0 808CF590 00006012 */ mflo $t4 -/* 047D4 808CF594 018D1021 */ addu $v0, $t4, $t5 -/* 047D8 808CF598 904E0000 */ lbu $t6, 0x0000($v0) ## 00000000 -/* 047DC 808CF59C A22E0026 */ sb $t6, 0x0026($s1) ## 00001996 -/* 047E0 808CF5A0 904F0001 */ lbu $t7, 0x0001($v0) ## 00000001 -/* 047E4 808CF5A4 A22F0027 */ sb $t7, 0x0027($s1) ## 00001997 -/* 047E8 808CF5A8 90580002 */ lbu $t8, 0x0002($v0) ## 00000002 -/* 047EC 808CF5AC A628002A */ sh $t0, 0x002A($s1) ## 0000199A -/* 047F0 808CF5B0 8629002A */ lh $t1, 0x002A($s1) ## 0000199A -/* 047F4 808CF5B4 A2380028 */ sb $t8, 0x0028($s1) ## 00001998 -/* 047F8 808CF5B8 5D2000A3 */ bgtzl $t1, .L808CF848 -/* 047FC 808CF5BC 26730001 */ addiu $s3, $s3, 0x0001 ## $s3 = 00000002 -/* 04800 808CF5C0 A620002A */ sh $zero, 0x002A($s1) ## 0000199A -/* 04804 808CF5C4 1000009F */ beq $zero, $zero, .L808CF844 -/* 04808 808CF5C8 A2200024 */ sb $zero, 0x0024($s1) ## 00001994 -.L808CF5CC: -/* 0480C 808CF5CC 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002 -/* 04810 808CF5D0 10410002 */ beq $v0, $at, .L808CF5DC -/* 04814 808CF5D4 24010005 */ addiu $at, $zero, 0x0005 ## $at = 00000005 -/* 04818 808CF5D8 1441000F */ bne $v0, $at, .L808CF618 -.L808CF5DC: -/* 0481C 808CF5DC 3C01808D */ lui $at, %hi(D_808D1F98) ## $at = 808D0000 -/* 04820 808CF5E0 C4261F98 */ lwc1 $f6, %lo(D_808D1F98)($at) -/* 04824 808CF5E4 C6240034 */ lwc1 $f4, 0x0034($s1) ## 000019A4 -/* 04828 808CF5E8 3C01808D */ lui $at, %hi(D_808D1F9C) ## $at = 808D0000 -/* 0482C 808CF5EC C62A0038 */ lwc1 $f10, 0x0038($s1) ## 000019A8 -/* 04830 808CF5F0 46062200 */ add.s $f8, $f4, $f6 -/* 04834 808CF5F4 C6240004 */ lwc1 $f4, 0x0004($s1) ## 00001974 -/* 04838 808CF5F8 E6280034 */ swc1 $f8, 0x0034($s1) ## 000019A4 -/* 0483C 808CF5FC C4301F9C */ lwc1 $f16, %lo(D_808D1F9C)($at) -/* 04840 808CF600 4614203E */ c.le.s $f4, $f20 -/* 04844 808CF604 46105480 */ add.s $f18, $f10, $f16 -/* 04848 808CF608 4500008E */ bc1f .L808CF844 -/* 0484C 808CF60C E6320038 */ swc1 $f18, 0x0038($s1) ## 000019A8 -/* 04850 808CF610 1000008C */ beq $zero, $zero, .L808CF844 -/* 04854 808CF614 A2200024 */ sb $zero, 0x0024($s1) ## 00001994 -.L808CF618: -/* 04858 808CF618 16820019 */ bne $s4, $v0, .L808CF680 -/* 0485C 808CF61C 24010004 */ addiu $at, $zero, 0x0004 ## $at = 00000004 -/* 04860 808CF620 8622002C */ lh $v0, 0x002C($s1) ## 0000199C -/* 04864 808CF624 240A0008 */ addiu $t2, $zero, 0x0008 ## $t2 = 00000008 -/* 04868 808CF628 28410008 */ slti $at, $v0, 0x0008 -/* 0486C 808CF62C 54200005 */ bnel $at, $zero, .L808CF644 -/* 04870 808CF630 922B0025 */ lbu $t3, 0x0025($s1) ## 00001995 -/* 04874 808CF634 A62A002C */ sh $t2, 0x002C($s1) ## 0000199C -/* 04878 808CF638 10000082 */ beq $zero, $zero, .L808CF844 -/* 0487C 808CF63C A2200024 */ sb $zero, 0x0024($s1) ## 00001994 -/* 04880 808CF640 922B0025 */ lbu $t3, 0x0025($s1) ## 00001995 -.L808CF644: -/* 04884 808CF644 316C0001 */ andi $t4, $t3, 0x0001 ## $t4 = 00000001 -/* 04888 808CF648 5580000B */ bnel $t4, $zero, .L808CF678 -/* 0488C 808CF64C 244D0001 */ addiu $t5, $v0, 0x0001 ## $t5 = 00000001 -/* 04890 808CF650 0C03F66B */ jal Rand_ZeroOne - ## Rand.Next() float -/* 04894 808CF654 00000000 */ nop -/* 04898 808CF658 3C01808D */ lui $at, %hi(D_808D1FA0) ## $at = 808D0000 -/* 0489C 808CF65C C4261FA0 */ lwc1 $f6, %lo(D_808D1FA0)($at) -/* 048A0 808CF660 4606003C */ c.lt.s $f0, $f6 -/* 048A4 808CF664 00000000 */ nop -/* 048A8 808CF668 45020077 */ bc1fl .L808CF848 -/* 048AC 808CF66C 26730001 */ addiu $s3, $s3, 0x0001 ## $s3 = 00000003 -/* 048B0 808CF670 8622002C */ lh $v0, 0x002C($s1) ## 0000199C -/* 048B4 808CF674 244D0001 */ addiu $t5, $v0, 0x0001 ## $t5 = 00000001 -.L808CF678: -/* 048B8 808CF678 10000072 */ beq $zero, $zero, .L808CF844 -/* 048BC 808CF67C A62D002C */ sh $t5, 0x002C($s1) ## 0000199C -.L808CF680: -/* 048C0 808CF680 54410071 */ bnel $v0, $at, .L808CF848 -/* 048C4 808CF684 26730001 */ addiu $s3, $s3, 0x0001 ## $s3 = 00000004 -/* 048C8 808CF688 C6480024 */ lwc1 $f8, 0x0024($s2) ## 00000024 -/* 048CC 808CF68C C62A0000 */ lwc1 $f10, 0x0000($s1) ## 00001970 -/* 048D0 808CF690 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000 -/* 048D4 808CF694 44819000 */ mtc1 $at, $f18 ## $f18 = 30.00 -/* 048D8 808CF698 C6500028 */ lwc1 $f16, 0x0028($s2) ## 00000028 -/* 048DC 808CF69C 460A4081 */ sub.s $f2, $f8, $f10 -/* 048E0 808CF6A0 86AE024E */ lh $t6, 0x024E($s5) ## 0000024E -/* 048E4 808CF6A4 C6260004 */ lwc1 $f6, 0x0004($s1) ## 00001974 -/* 048E8 808CF6A8 46128100 */ add.s $f4, $f16, $f18 -/* 048EC 808CF6AC C62A0008 */ lwc1 $f10, 0x0008($s1) ## 00001978 -/* 048F0 808CF6B0 C648002C */ lwc1 $f8, 0x002C($s2) ## 0000002C -/* 048F4 808CF6B4 46062301 */ sub.s $f12, $f4, $f6 -/* 048F8 808CF6B8 15C00026 */ bne $t6, $zero, .L808CF754 -/* 048FC 808CF6BC 460A4381 */ sub.s $f14, $f8, $f10 -/* 04900 808CF6C0 46021402 */ mul.s $f16, $f2, $f2 -/* 04904 808CF6C4 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000 -/* 04908 808CF6C8 44814000 */ mtc1 $at, $f8 ## $f8 = 20.00 -/* 0490C 808CF6CC 460C6482 */ mul.s $f18, $f12, $f12 -/* 04910 808CF6D0 240F0032 */ addiu $t7, $zero, 0x0032 ## $t7 = 00000032 -/* 04914 808CF6D4 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000 -/* 04918 808CF6D8 460E7182 */ mul.s $f6, $f14, $f14 -/* 0491C 808CF6DC 24180030 */ addiu $t8, $zero, 0x0030 ## $t8 = 00000030 -/* 04920 808CF6E0 46128100 */ add.s $f4, $f16, $f18 -/* 04924 808CF6E4 46062000 */ add.s $f0, $f4, $f6 -/* 04928 808CF6E8 46000004 */ sqrt.s $f0, $f0 -/* 0492C 808CF6EC 4608003C */ c.lt.s $f0, $f8 -/* 04930 808CF6F0 00000000 */ nop -/* 04934 808CF6F4 45020018 */ bc1fl .L808CF758 -/* 04938 808CF6F8 8622002C */ lh $v0, 0x002C($s1) ## 0000199C -/* 0493C 808CF6FC A6AF024E */ sh $t7, 0x024E($s5) ## 0000024E -/* 04940 808CF700 8627002E */ lh $a3, 0x002E($s1) ## 0000199E -/* 04944 808CF704 4406C000 */ mfc1 $a2, $f24 -/* 04948 808CF708 AFB80014 */ sw $t8, 0x0014($sp) -/* 0494C 808CF70C E7BA0010 */ swc1 $f26, 0x0010($sp) -/* 04950 808CF710 0C00BDB5 */ jal func_8002F6D4 -/* 04954 808CF714 8FA400A4 */ lw $a0, 0x00A4($sp) -/* 04958 808CF718 92590A60 */ lbu $t9, 0x0A60($s2) ## 00000A60 -/* 0495C 808CF71C 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000 -/* 04960 808CF720 1720000C */ bne $t9, $zero, .L808CF754 -.L808CF724: -/* 04964 808CF724 00002025 */ or $a0, $zero, $zero ## $a0 = 00000000 -/* 04968 808CF728 0C01DF64 */ jal Rand_S16Offset - -/* 0496C 808CF72C 240500C8 */ addiu $a1, $zero, 0x00C8 ## $a1 = 000000C8 -/* 04970 808CF730 02504021 */ addu $t0, $s2, $s0 -/* 04974 808CF734 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001 -/* 04978 808CF738 00108400 */ sll $s0, $s0, 16 -/* 0497C 808CF73C 00108403 */ sra $s0, $s0, 16 -/* 04980 808CF740 2A010012 */ slti $at, $s0, 0x0012 -/* 04984 808CF744 1420FFF7 */ bne $at, $zero, .L808CF724 -/* 04988 808CF748 A1020A61 */ sb $v0, 0x0A61($t0) ## 00000A61 -/* 0498C 808CF74C 24090001 */ addiu $t1, $zero, 0x0001 ## $t1 = 00000001 -/* 04990 808CF750 A2490A60 */ sb $t1, 0x0A60($s2) ## 00000A60 -.L808CF754: -/* 04994 808CF754 8622002C */ lh $v0, 0x002C($s1) ## 0000199C -.L808CF758: -/* 04998 808CF758 54400029 */ bnel $v0, $zero, .L808CF800 -/* 0499C 808CF75C C6300030 */ lwc1 $f16, 0x0030($s1) ## 000019A0 -/* 049A0 808CF760 C6220030 */ lwc1 $f2, 0x0030($s1) ## 000019A0 -/* 049A4 808CF764 4616103C */ c.lt.s $f2, $f22 -/* 049A8 808CF768 00000000 */ nop -/* 049AC 808CF76C 45020009 */ bc1fl .L808CF794 -/* 049B0 808CF770 3C014302 */ lui $at, 0x4302 ## $at = 43020000 -/* 049B4 808CF774 C6200034 */ lwc1 $f0, 0x0034($s1) ## 000019A4 -/* 049B8 808CF778 3C01808D */ lui $at, %hi(D_808D1FA4) ## $at = 808D0000 -/* 049BC 808CF77C 46001280 */ add.s $f10, $f2, $f0 -/* 049C0 808CF780 E62A0030 */ swc1 $f10, 0x0030($s1) ## 000019A0 -/* 049C4 808CF784 C4301FA4 */ lwc1 $f16, %lo(D_808D1FA4)($at) -/* 049C8 808CF788 46100480 */ add.s $f18, $f0, $f16 -/* 049CC 808CF78C E6320034 */ swc1 $f18, 0x0034($s1) ## 000019A4 -/* 049D0 808CF790 3C014302 */ lui $at, 0x4302 ## $at = 43020000 -.L808CF794: -/* 049D4 808CF794 44813000 */ mtc1 $at, $f6 ## $f6 = 130.00 -/* 049D8 808CF798 C6240038 */ lwc1 $f4, 0x0038($s1) ## 000019A8 -/* 049DC 808CF79C C62A0004 */ lwc1 $f10, 0x0004($s1) ## 00001974 -/* 049E0 808CF7A0 46062200 */ add.s $f8, $f4, $f6 -/* 049E4 808CF7A4 4608503E */ c.le.s $f10, $f8 -/* 049E8 808CF7A8 00000000 */ nop -/* 049EC 808CF7AC 45030006 */ bc1tl .L808CF7C8 -/* 049F0 808CF7B0 C630000C */ lwc1 $f16, 0x000C($s1) ## 0000197C -/* 049F4 808CF7B4 922A0025 */ lbu $t2, 0x0025($s1) ## 00001995 -/* 049F8 808CF7B8 2941000A */ slti $at, $t2, 0x000A -/* 049FC 808CF7BC 54200022 */ bnel $at, $zero, .L808CF848 -/* 04A00 808CF7C0 26730001 */ addiu $s3, $s3, 0x0001 ## $s3 = 00000005 -/* 04A04 808CF7C4 C630000C */ lwc1 $f16, 0x000C($s1) ## 0000197C -.L808CF7C8: -/* 04A08 808CF7C8 C6260014 */ lwc1 $f6, 0x0014($s1) ## 00001984 -/* 04A0C 808CF7CC 862B002C */ lh $t3, 0x002C($s1) ## 0000199C -/* 04A10 808CF7D0 461C8482 */ mul.s $f18, $f16, $f28 -/* 04A14 808CF7D4 E638001C */ swc1 $f24, 0x001C($s1) ## 0000198C -/* 04A18 808CF7D8 256C0001 */ addiu $t4, $t3, 0x0001 ## $t4 = 00000001 -/* 04A1C 808CF7DC 461C3202 */ mul.s $f8, $f6, $f28 -/* 04A20 808CF7E0 A62C002C */ sh $t4, 0x002C($s1) ## 0000199C -/* 04A24 808CF7E4 E63A0010 */ swc1 $f26, 0x0010($s1) ## 00001980 -/* 04A28 808CF7E8 46149103 */ div.s $f4, $f18, $f20 -/* 04A2C 808CF7EC 46144283 */ div.s $f10, $f8, $f20 -/* 04A30 808CF7F0 E6240018 */ swc1 $f4, 0x0018($s1) ## 00001988 -/* 04A34 808CF7F4 10000013 */ beq $zero, $zero, .L808CF844 -/* 04A38 808CF7F8 E62A0020 */ swc1 $f10, 0x0020($s1) ## 00001990 -/* 04A3C 808CF7FC C6300030 */ lwc1 $f16, 0x0030($s1) ## 000019A0 -.L808CF800: -/* 04A40 808CF800 4616803C */ c.lt.s $f16, $f22 -/* 04A44 808CF804 00000000 */ nop -/* 04A48 808CF808 45020008 */ bc1fl .L808CF82C -/* 04A4C 808CF80C 244D0001 */ addiu $t5, $v0, 0x0001 ## $t5 = 00000001 -/* 04A50 808CF810 4405B000 */ mfc1 $a1, $f22 -/* 04A54 808CF814 4406F000 */ mfc1 $a2, $f30 -/* 04A58 808CF818 4407F000 */ mfc1 $a3, $f30 -/* 04A5C 808CF81C 0C01E107 */ jal Math_ApproachF - -/* 04A60 808CF820 26240030 */ addiu $a0, $s1, 0x0030 ## $a0 = 000019A0 -/* 04A64 808CF824 8622002C */ lh $v0, 0x002C($s1) ## 0000199C -/* 04A68 808CF828 244D0001 */ addiu $t5, $v0, 0x0001 ## $t5 = 00000001 -.L808CF82C: -/* 04A6C 808CF82C A62D002C */ sh $t5, 0x002C($s1) ## 0000199C -/* 04A70 808CF830 862E002C */ lh $t6, 0x002C($s1) ## 0000199C -/* 04A74 808CF834 29C10009 */ slti $at, $t6, 0x0009 -/* 04A78 808CF838 54200003 */ bnel $at, $zero, .L808CF848 -/* 04A7C 808CF83C 26730001 */ addiu $s3, $s3, 0x0001 ## $s3 = 00000006 -/* 04A80 808CF840 A2200024 */ sb $zero, 0x0024($s1) ## 00001994 -.L808CF844: -/* 04A84 808CF844 26730001 */ addiu $s3, $s3, 0x0001 ## $s3 = 00000007 -.L808CF848: -/* 04A88 808CF848 00139C00 */ sll $s3, $s3, 16 -/* 04A8C 808CF84C 00139C03 */ sra $s3, $s3, 16 -/* 04A90 808CF850 2A6100B4 */ slti $at, $s3, 0x00B4 -/* 04A94 808CF854 1420FF24 */ bne $at, $zero, .L808CF4E8 -/* 04A98 808CF858 2631003C */ addiu $s1, $s1, 0x003C ## $s1 = 000019AC -/* 04A9C 808CF85C 8FBF0064 */ lw $ra, 0x0064($sp) -/* 04AA0 808CF860 D7B40018 */ ldc1 $f20, 0x0018($sp) -/* 04AA4 808CF864 D7B60020 */ ldc1 $f22, 0x0020($sp) -/* 04AA8 808CF868 D7B80028 */ ldc1 $f24, 0x0028($sp) -/* 04AAC 808CF86C D7BA0030 */ ldc1 $f26, 0x0030($sp) -/* 04AB0 808CF870 D7BC0038 */ ldc1 $f28, 0x0038($sp) -/* 04AB4 808CF874 D7BE0040 */ ldc1 $f30, 0x0040($sp) -/* 04AB8 808CF878 8FB0004C */ lw $s0, 0x004C($sp) -/* 04ABC 808CF87C 8FB10050 */ lw $s1, 0x0050($sp) -/* 04AC0 808CF880 8FB20054 */ lw $s2, 0x0054($sp) -/* 04AC4 808CF884 8FB30058 */ lw $s3, 0x0058($sp) -/* 04AC8 808CF888 8FB4005C */ lw $s4, 0x005C($sp) -/* 04ACC 808CF88C 8FB50060 */ lw $s5, 0x0060($sp) -/* 04AD0 808CF890 03E00008 */ jr $ra -/* 04AD4 808CF894 27BD00A0 */ addiu $sp, $sp, 0x00A0 ## $sp = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808CF898.s b/asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808CF898.s deleted file mode 100644 index 4751a132c2..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808CF898.s +++ /dev/null @@ -1,495 +0,0 @@ -.rdata -glabel D_808D1CEC - .asciz "../z_boss_fd.c" - .balign 4 - -glabel D_808D1CFC - .asciz "../z_boss_fd.c" - .balign 4 - -glabel D_808D1D0C - .asciz "../z_boss_fd.c" - .balign 4 - -glabel D_808D1D1C - .asciz "../z_boss_fd.c" - .balign 4 - -glabel D_808D1D2C - .asciz "../z_boss_fd.c" - .balign 4 - -glabel D_808D1D3C - .asciz "../z_boss_fd.c" - .balign 4 - -glabel D_808D1D4C - .asciz "../z_boss_fd.c" - .balign 4 - -.text -glabel func_808CF898 -/* 04AD8 808CF898 27BDFF28 */ addiu $sp, $sp, 0xFF28 ## $sp = FFFFFF28 -/* 04ADC 808CF89C AFBF0044 */ sw $ra, 0x0044($sp) -/* 04AE0 808CF8A0 AFBE0040 */ sw $s8, 0x0040($sp) -/* 04AE4 808CF8A4 AFB7003C */ sw $s7, 0x003C($sp) -/* 04AE8 808CF8A8 AFB60038 */ sw $s6, 0x0038($sp) -/* 04AEC 808CF8AC AFB50034 */ sw $s5, 0x0034($sp) -/* 04AF0 808CF8B0 AFB40030 */ sw $s4, 0x0030($sp) -/* 04AF4 808CF8B4 AFB3002C */ sw $s3, 0x002C($sp) -/* 04AF8 808CF8B8 AFB20028 */ sw $s2, 0x0028($sp) -/* 04AFC 808CF8BC AFB10024 */ sw $s1, 0x0024($sp) -/* 04B00 808CF8C0 AFB00020 */ sw $s0, 0x0020($sp) -/* 04B04 808CF8C4 F7B40018 */ sdc1 $f20, 0x0018($sp) -/* 04B08 808CF8C8 8CB00000 */ lw $s0, 0x0000($a1) ## 00000000 -/* 04B0C 808CF8CC 00808825 */ or $s1, $a0, $zero ## $s1 = 00000000 -/* 04B10 808CF8D0 00A0F025 */ or $s8, $a1, $zero ## $s8 = 00000000 -/* 04B14 808CF8D4 AFA400C8 */ sw $a0, 0x00C8($sp) -/* 04B18 808CF8D8 3C06808D */ lui $a2, %hi(D_808D1CEC) ## $a2 = 808D0000 -/* 04B1C 808CF8DC 0000A825 */ or $s5, $zero, $zero ## $s5 = 00000000 -/* 04B20 808CF8E0 24C61CEC */ addiu $a2, $a2, %lo(D_808D1CEC) ## $a2 = 808D1CEC -/* 04B24 808CF8E4 27A400B4 */ addiu $a0, $sp, 0x00B4 ## $a0 = FFFFFFDC -/* 04B28 808CF8E8 24070FB7 */ addiu $a3, $zero, 0x0FB7 ## $a3 = 00000FB7 -/* 04B2C 808CF8EC 0C031AB1 */ jal Graph_OpenDisps -/* 04B30 808CF8F0 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000 -/* 04B34 808CF8F4 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 04B38 808CF8F8 4481A000 */ mtc1 $at, $f20 ## $f20 = 1.00 -/* 04B3C 808CF8FC 0000A025 */ or $s4, $zero, $zero ## $s4 = 00000000 -/* 04B40 808CF900 24170001 */ addiu $s7, $zero, 0x0001 ## $s7 = 00000001 -/* 04B44 808CF904 3C16DE00 */ lui $s6, 0xDE00 ## $s6 = DE000000 -.L808CF908: -/* 04B48 808CF908 922E0024 */ lbu $t6, 0x0024($s1) ## 00000024 -/* 04B4C 808CF90C 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 04B50 808CF910 34211DA0 */ ori $at, $at, 0x1DA0 ## $at = 00011DA0 -/* 04B54 808CF914 16EE0041 */ bne $s7, $t6, .L808CFA1C -/* 04B58 808CF918 03C19821 */ addu $s3, $s8, $at -/* 04B5C 808CF91C 3C0F0601 */ lui $t7, 0x0601 ## $t7 = 06010000 -/* 04B60 808CF920 25EFA900 */ addiu $t7, $t7, 0xA900 ## $t7 = 0600A900 -/* 04B64 808CF924 16A0000C */ bne $s5, $zero, .L808CF958 -/* 04B68 808CF928 AFAF0050 */ sw $t7, 0x0050($sp) -/* 04B6C 808CF92C 3C120601 */ lui $s2, 0x0601 ## $s2 = 06010000 -/* 04B70 808CF930 2652A880 */ addiu $s2, $s2, 0xA880 ## $s2 = 0600A880 -/* 04B74 808CF934 0C024F61 */ jal func_80093D84 -/* 04B78 808CF938 8FC40000 */ lw $a0, 0x0000($s8) ## 00000000 -/* 04B7C 808CF93C 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 04B80 808CF940 26B50001 */ addiu $s5, $s5, 0x0001 ## $s5 = 00000001 -/* 04B84 808CF944 32B500FF */ andi $s5, $s5, 0x00FF ## $s5 = 00000001 -/* 04B88 808CF948 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008 -/* 04B8C 808CF94C AE1802D0 */ sw $t8, 0x02D0($s0) ## 000002D0 -/* 04B90 808CF950 AC520004 */ sw $s2, 0x0004($v0) ## 00000004 -/* 04B94 808CF954 AC560000 */ sw $s6, 0x0000($v0) ## 00000000 -.L808CF958: -/* 04B98 808CF958 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 04B9C 808CF95C 3C08FA00 */ lui $t0, 0xFA00 ## $t0 = FA000000 -/* 04BA0 808CF960 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 -/* 04BA4 808CF964 24590008 */ addiu $t9, $v0, 0x0008 ## $t9 = 00000008 -/* 04BA8 808CF968 AE1902D0 */ sw $t9, 0x02D0($s0) ## 000002D0 -/* 04BAC 808CF96C AC480000 */ sw $t0, 0x0000($v0) ## 00000000 -/* 04BB0 808CF970 922A0026 */ lbu $t2, 0x0026($s1) ## 00000026 -/* 04BB4 808CF974 922D0027 */ lbu $t5, 0x0027($s1) ## 00000027 -/* 04BB8 808CF978 92390028 */ lbu $t9, 0x0028($s1) ## 00000028 -/* 04BBC 808CF97C 000A5E00 */ sll $t3, $t2, 24 -/* 04BC0 808CF980 862A002A */ lh $t2, 0x002A($s1) ## 0000002A -/* 04BC4 808CF984 000D7400 */ sll $t6, $t5, 16 -/* 04BC8 808CF988 016E7825 */ or $t7, $t3, $t6 ## $t7 = 00000000 -/* 04BCC 808CF98C 00194200 */ sll $t0, $t9, 8 -/* 04BD0 808CF990 01E84825 */ or $t1, $t7, $t0 ## $t1 = FA000000 -/* 04BD4 808CF994 314C00FF */ andi $t4, $t2, 0x00FF ## $t4 = 00000000 -/* 04BD8 808CF998 012C6825 */ or $t5, $t1, $t4 ## $t5 = FA000000 -/* 04BDC 808CF99C AC4D0004 */ sw $t5, 0x0004($v0) ## 00000004 -/* 04BE0 808CF9A0 8E260008 */ lw $a2, 0x0008($s1) ## 00000008 -/* 04BE4 808CF9A4 C62E0004 */ lwc1 $f14, 0x0004($s1) ## 00000004 -/* 04BE8 808CF9A8 0C034261 */ jal Matrix_Translate -/* 04BEC 808CF9AC C62C0000 */ lwc1 $f12, 0x0000($s1) ## 00000000 -/* 04BF0 808CF9B0 0C0347F5 */ jal func_800D1FD4 -/* 04BF4 808CF9B4 02602025 */ or $a0, $s3, $zero ## $a0 = 00000000 -/* 04BF8 808CF9B8 C62C0030 */ lwc1 $f12, 0x0030($s1) ## 00000030 -/* 04BFC 808CF9BC 4406A000 */ mfc1 $a2, $f20 -/* 04C00 808CF9C0 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 04C04 808CF9C4 0C0342A3 */ jal Matrix_Scale -/* 04C08 808CF9C8 46006386 */ mov.s $f14, $f12 -/* 04C0C 808CF9CC 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 04C10 808CF9D0 3C0EDA38 */ lui $t6, 0xDA38 ## $t6 = DA380000 -/* 04C14 808CF9D4 35CE0003 */ ori $t6, $t6, 0x0003 ## $t6 = DA380003 -/* 04C18 808CF9D8 244B0008 */ addiu $t3, $v0, 0x0008 ## $t3 = 00000008 -/* 04C1C 808CF9DC AE0B02D0 */ sw $t3, 0x02D0($s0) ## 000002D0 -/* 04C20 808CF9E0 3C05808D */ lui $a1, %hi(D_808D1CFC) ## $a1 = 808D0000 -/* 04C24 808CF9E4 AC4E0000 */ sw $t6, 0x0000($v0) ## 00000000 -/* 04C28 808CF9E8 24A51CFC */ addiu $a1, $a1, %lo(D_808D1CFC) ## $a1 = 808D1CFC -/* 04C2C 808CF9EC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 04C30 808CF9F0 24060FCE */ addiu $a2, $zero, 0x0FCE ## $a2 = 00000FCE -/* 04C34 808CF9F4 0C0346A2 */ jal Matrix_NewMtx -/* 04C38 808CF9F8 AFA200A8 */ sw $v0, 0x00A8($sp) -/* 04C3C 808CF9FC 8FA300A8 */ lw $v1, 0x00A8($sp) -/* 04C40 808CFA00 AC620004 */ sw $v0, 0x0004($v1) ## 00000004 -/* 04C44 808CFA04 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 04C48 808CFA08 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008 -/* 04C4C 808CFA0C AE1802D0 */ sw $t8, 0x02D0($s0) ## 000002D0 -/* 04C50 808CFA10 AC560000 */ sw $s6, 0x0000($v0) ## 00000000 -/* 04C54 808CFA14 8FB90050 */ lw $t9, 0x0050($sp) -/* 04C58 808CFA18 AC590004 */ sw $t9, 0x0004($v0) ## 00000004 -.L808CFA1C: -/* 04C5C 808CFA1C 26940001 */ addiu $s4, $s4, 0x0001 ## $s4 = 00000001 -/* 04C60 808CFA20 0014A400 */ sll $s4, $s4, 16 -/* 04C64 808CFA24 0014A403 */ sra $s4, $s4, 16 -/* 04C68 808CFA28 2A8100B4 */ slti $at, $s4, 0x00B4 -/* 04C6C 808CFA2C 1420FFB6 */ bne $at, $zero, .L808CF908 -/* 04C70 808CFA30 2631003C */ addiu $s1, $s1, 0x003C ## $s1 = 0000003C -/* 04C74 808CFA34 0000A825 */ or $s5, $zero, $zero ## $s5 = 00000000 -/* 04C78 808CFA38 8FB100C8 */ lw $s1, 0x00C8($sp) -/* 04C7C 808CFA3C 0000A025 */ or $s4, $zero, $zero ## $s4 = 00000000 -/* 04C80 808CFA40 24170002 */ addiu $s7, $zero, 0x0002 ## $s7 = 00000002 -.L808CFA44: -/* 04C84 808CFA44 922F0024 */ lbu $t7, 0x0024($s1) ## 00000060 -/* 04C88 808CFA48 3C130601 */ lui $s3, 0x0601 ## $s3 = 06010000 -/* 04C8C 808CFA4C 56EF0032 */ bnel $s7, $t7, .L808CFB18 -/* 04C90 808CFA50 26940001 */ addiu $s4, $s4, 0x0001 ## $s4 = 00000001 -/* 04C94 808CFA54 16A0000C */ bne $s5, $zero, .L808CFA88 -/* 04C98 808CFA58 2673D420 */ addiu $s3, $s3, 0xD420 ## $s3 = 0600D420 -/* 04C9C 808CFA5C 3C120601 */ lui $s2, 0x0601 ## $s2 = 06010000 -/* 04CA0 808CFA60 2652D3A0 */ addiu $s2, $s2, 0xD3A0 ## $s2 = 0600D3A0 -/* 04CA4 808CFA64 0C024F46 */ jal func_80093D18 -/* 04CA8 808CFA68 8FC40000 */ lw $a0, 0x0000($s8) ## 00000000 -/* 04CAC 808CFA6C 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0 -/* 04CB0 808CFA70 26B50001 */ addiu $s5, $s5, 0x0001 ## $s5 = 00000001 -/* 04CB4 808CFA74 32B500FF */ andi $s5, $s5, 0x00FF ## $s5 = 00000001 -/* 04CB8 808CFA78 24480008 */ addiu $t0, $v0, 0x0008 ## $t0 = 00000008 -/* 04CBC 808CFA7C AE0802C0 */ sw $t0, 0x02C0($s0) ## 000002C0 -/* 04CC0 808CFA80 AC520004 */ sw $s2, 0x0004($v0) ## 00000004 -/* 04CC4 808CFA84 AC560000 */ sw $s6, 0x0000($v0) ## 00000000 -.L808CFA88: -/* 04CC8 808CFA88 C62C0000 */ lwc1 $f12, 0x0000($s1) ## 0000003C -/* 04CCC 808CFA8C C62E0004 */ lwc1 $f14, 0x0004($s1) ## 00000040 -/* 04CD0 808CFA90 8E260008 */ lw $a2, 0x0008($s1) ## 00000044 -/* 04CD4 808CFA94 0C034261 */ jal Matrix_Translate -/* 04CD8 808CFA98 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 -/* 04CDC 808CFA9C C62C0038 */ lwc1 $f12, 0x0038($s1) ## 00000074 -/* 04CE0 808CFAA0 0C034348 */ jal Matrix_RotateY -/* 04CE4 808CFAA4 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 04CE8 808CFAA8 C62C0034 */ lwc1 $f12, 0x0034($s1) ## 00000070 -/* 04CEC 808CFAAC 0C0342DC */ jal Matrix_RotateX -/* 04CF0 808CFAB0 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 04CF4 808CFAB4 C62C0030 */ lwc1 $f12, 0x0030($s1) ## 0000006C -/* 04CF8 808CFAB8 4406A000 */ mfc1 $a2, $f20 -/* 04CFC 808CFABC 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 04D00 808CFAC0 0C0342A3 */ jal Matrix_Scale -/* 04D04 808CFAC4 46006386 */ mov.s $f14, $f12 -/* 04D08 808CFAC8 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0 -/* 04D0C 808CFACC 3C09DA38 */ lui $t1, 0xDA38 ## $t1 = DA380000 -/* 04D10 808CFAD0 35290003 */ ori $t1, $t1, 0x0003 ## $t1 = DA380003 -/* 04D14 808CFAD4 244A0008 */ addiu $t2, $v0, 0x0008 ## $t2 = 00000008 -/* 04D18 808CFAD8 AE0A02C0 */ sw $t2, 0x02C0($s0) ## 000002C0 -/* 04D1C 808CFADC 3C05808D */ lui $a1, %hi(D_808D1D0C) ## $a1 = 808D0000 -/* 04D20 808CFAE0 AC490000 */ sw $t1, 0x0000($v0) ## 00000000 -/* 04D24 808CFAE4 24A51D0C */ addiu $a1, $a1, %lo(D_808D1D0C) ## $a1 = 808D1D0C -/* 04D28 808CFAE8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 04D2C 808CFAEC 24060FE4 */ addiu $a2, $zero, 0x0FE4 ## $a2 = 00000FE4 -/* 04D30 808CFAF0 0C0346A2 */ jal Matrix_NewMtx -/* 04D34 808CFAF4 AFA2009C */ sw $v0, 0x009C($sp) -/* 04D38 808CFAF8 8FA3009C */ lw $v1, 0x009C($sp) -/* 04D3C 808CFAFC AC620004 */ sw $v0, 0x0004($v1) ## 00000004 -/* 04D40 808CFB00 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0 -/* 04D44 808CFB04 244C0008 */ addiu $t4, $v0, 0x0008 ## $t4 = 00000008 -/* 04D48 808CFB08 AE0C02C0 */ sw $t4, 0x02C0($s0) ## 000002C0 -/* 04D4C 808CFB0C AC530004 */ sw $s3, 0x0004($v0) ## 00000004 -/* 04D50 808CFB10 AC560000 */ sw $s6, 0x0000($v0) ## 00000000 -/* 04D54 808CFB14 26940001 */ addiu $s4, $s4, 0x0001 ## $s4 = 00000002 -.L808CFB18: -/* 04D58 808CFB18 0014A400 */ sll $s4, $s4, 16 -/* 04D5C 808CFB1C 0014A403 */ sra $s4, $s4, 16 -/* 04D60 808CFB20 2A8100B4 */ slti $at, $s4, 0x00B4 -/* 04D64 808CFB24 1420FFC7 */ bne $at, $zero, .L808CFA44 -/* 04D68 808CFB28 2631003C */ addiu $s1, $s1, 0x003C ## $s1 = 00000078 -/* 04D6C 808CFB2C 0000A825 */ or $s5, $zero, $zero ## $s5 = 00000000 -/* 04D70 808CFB30 8FB100C8 */ lw $s1, 0x00C8($sp) -/* 04D74 808CFB34 0000A025 */ or $s4, $zero, $zero ## $s4 = 00000000 -.L808CFB38: -/* 04D78 808CFB38 922D0024 */ lbu $t5, 0x0024($s1) ## 0000009C -/* 04D7C 808CFB3C 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003 -/* 04D80 808CFB40 3C170601 */ lui $s7, 0x0601 ## $s7 = 06010000 -/* 04D84 808CFB44 15A10057 */ bne $t5, $at, .L808CFCA4 -/* 04D88 808CFB48 26F7B3C8 */ addiu $s7, $s7, 0xB3C8 ## $s7 = 0600B3C8 -/* 04D8C 808CFB4C 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 04D90 808CFB50 34211DA0 */ ori $at, $at, 0x1DA0 ## $at = 00011DA0 -/* 04D94 808CFB54 16A0001C */ bne $s5, $zero, .L808CFBC8 -/* 04D98 808CFB58 03C19821 */ addu $s3, $s8, $at -/* 04D9C 808CFB5C 3C120601 */ lui $s2, 0x0601 ## $s2 = 06010000 -/* 04DA0 808CFB60 2652B3A8 */ addiu $s2, $s2, 0xB3A8 ## $s2 = 0600B3A8 -/* 04DA4 808CFB64 8E0402D0 */ lw $a0, 0x02D0($s0) ## 000002D0 -/* 04DA8 808CFB68 0C024DDD */ jal Gfx_CallSetupDL -/* 04DAC 808CFB6C 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000 -/* 04DB0 808CFB70 AE0202D0 */ sw $v0, 0x02D0($s0) ## 000002D0 -/* 04DB4 808CFB74 244B0008 */ addiu $t3, $v0, 0x0008 ## $t3 = 00000008 -/* 04DB8 808CFB78 AE0B02D0 */ sw $t3, 0x02D0($s0) ## 000002D0 -/* 04DBC 808CFB7C AC520004 */ sw $s2, 0x0004($v0) ## 00000004 -/* 04DC0 808CFB80 AC560000 */ sw $s6, 0x0000($v0) ## 00000000 -/* 04DC4 808CFB84 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 04DC8 808CFB88 3C195A1E */ lui $t9, 0x5A1E ## $t9 = 5A1E0000 -/* 04DCC 808CFB8C 373900FF */ ori $t9, $t9, 0x00FF ## $t9 = 5A1E00FF -/* 04DD0 808CFB90 244E0008 */ addiu $t6, $v0, 0x0008 ## $t6 = 00000008 -/* 04DD4 808CFB94 AE0E02D0 */ sw $t6, 0x02D0($s0) ## 000002D0 -/* 04DD8 808CFB98 3C18FA00 */ lui $t8, 0xFA00 ## $t8 = FA000000 -/* 04DDC 808CFB9C AC580000 */ sw $t8, 0x0000($v0) ## 00000000 -/* 04DE0 808CFBA0 AC590004 */ sw $t9, 0x0004($v0) ## 00000004 -/* 04DE4 808CFBA4 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 04DE8 808CFBA8 3C08FB00 */ lui $t0, 0xFB00 ## $t0 = FB000000 -/* 04DEC 808CFBAC 3C0A5A1E */ lui $t2, 0x5A1E ## $t2 = 5A1E0000 -/* 04DF0 808CFBB0 244F0008 */ addiu $t7, $v0, 0x0008 ## $t7 = 00000008 -/* 04DF4 808CFBB4 AE0F02D0 */ sw $t7, 0x02D0($s0) ## 000002D0 -/* 04DF8 808CFBB8 26B50001 */ addiu $s5, $s5, 0x0001 ## $s5 = 00000001 -/* 04DFC 808CFBBC 32B500FF */ andi $s5, $s5, 0x00FF ## $s5 = 00000001 -/* 04E00 808CFBC0 AC4A0004 */ sw $t2, 0x0004($v0) ## 00000004 -/* 04E04 808CFBC4 AC480000 */ sw $t0, 0x0000($v0) ## 00000000 -.L808CFBC8: -/* 04E08 808CFBC8 C62C0000 */ lwc1 $f12, 0x0000($s1) ## 00000078 -/* 04E0C 808CFBCC C62E0004 */ lwc1 $f14, 0x0004($s1) ## 0000007C -/* 04E10 808CFBD0 8E260008 */ lw $a2, 0x0008($s1) ## 00000080 -/* 04E14 808CFBD4 0C034261 */ jal Matrix_Translate -/* 04E18 808CFBD8 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 -/* 04E1C 808CFBDC C62C0030 */ lwc1 $f12, 0x0030($s1) ## 000000A8 -/* 04E20 808CFBE0 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 04E24 808CFBE4 44066000 */ mfc1 $a2, $f12 -/* 04E28 808CFBE8 0C0342A3 */ jal Matrix_Scale -/* 04E2C 808CFBEC 46006386 */ mov.s $f14, $f12 -/* 04E30 808CFBF0 0C0347F5 */ jal func_800D1FD4 -/* 04E34 808CFBF4 02602025 */ or $a0, $s3, $zero ## $a0 = 0600D420 -/* 04E38 808CFBF8 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 04E3C 808CFBFC 3C0CDA38 */ lui $t4, 0xDA38 ## $t4 = DA380000 -/* 04E40 808CFC00 358C0003 */ ori $t4, $t4, 0x0003 ## $t4 = DA380003 -/* 04E44 808CFC04 24490008 */ addiu $t1, $v0, 0x0008 ## $t1 = 00000008 -/* 04E48 808CFC08 AE0902D0 */ sw $t1, 0x02D0($s0) ## 000002D0 -/* 04E4C 808CFC0C 3C05808D */ lui $a1, %hi(D_808D1D1C) ## $a1 = 808D0000 -/* 04E50 808CFC10 AC4C0000 */ sw $t4, 0x0000($v0) ## 00000000 -/* 04E54 808CFC14 24A51D1C */ addiu $a1, $a1, %lo(D_808D1D1C) ## $a1 = 808D1D1C -/* 04E58 808CFC18 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 04E5C 808CFC1C 24061008 */ addiu $a2, $zero, 0x1008 ## $a2 = 00001008 -/* 04E60 808CFC20 0C0346A2 */ jal Matrix_NewMtx -/* 04E64 808CFC24 AFA20088 */ sw $v0, 0x0088($sp) -/* 04E68 808CFC28 8FA30088 */ lw $v1, 0x0088($sp) -/* 04E6C 808CFC2C 3C0BDB06 */ lui $t3, 0xDB06 ## $t3 = DB060000 -/* 04E70 808CFC30 356B0020 */ ori $t3, $t3, 0x0020 ## $t3 = DB060020 -/* 04E74 808CFC34 AC620004 */ sw $v0, 0x0004($v1) ## 00000004 -/* 04E78 808CFC38 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 04E7C 808CFC3C 3C04808D */ lui $a0, %hi(D_808D1A9C) ## $a0 = 808D0000 -/* 04E80 808CFC40 3C098016 */ lui $t1, %hi(gSegments) -/* 04E84 808CFC44 244D0008 */ addiu $t5, $v0, 0x0008 ## $t5 = 00000008 -/* 04E88 808CFC48 AE0D02D0 */ sw $t5, 0x02D0($s0) ## 000002D0 -/* 04E8C 808CFC4C AC4B0000 */ sw $t3, 0x0000($v0) ## 00000000 -/* 04E90 808CFC50 862E002C */ lh $t6, 0x002C($s1) ## 000000A4 -/* 04E94 808CFC54 3C0100FF */ lui $at, 0x00FF ## $at = 00FF0000 -/* 04E98 808CFC58 3421FFFF */ ori $at, $at, 0xFFFF ## $at = 00FFFFFF -/* 04E9C 808CFC5C 000EC080 */ sll $t8, $t6, 2 -/* 04EA0 808CFC60 00982021 */ addu $a0, $a0, $t8 -/* 04EA4 808CFC64 8C841A9C */ lw $a0, %lo(D_808D1A9C)($a0) -/* 04EA8 808CFC68 00047900 */ sll $t7, $a0, 4 -/* 04EAC 808CFC6C 000F4702 */ srl $t0, $t7, 28 -/* 04EB0 808CFC70 00085080 */ sll $t2, $t0, 2 -/* 04EB4 808CFC74 012A4821 */ addu $t1, $t1, $t2 -/* 04EB8 808CFC78 8D296FA8 */ lw $t1, %lo(gSegments)($t1) -/* 04EBC 808CFC7C 0081C824 */ and $t9, $a0, $at -/* 04EC0 808CFC80 3C018000 */ lui $at, 0x8000 ## $at = 80000000 -/* 04EC4 808CFC84 03296021 */ addu $t4, $t9, $t1 -/* 04EC8 808CFC88 01816821 */ addu $t5, $t4, $at -/* 04ECC 808CFC8C AC4D0004 */ sw $t5, 0x0004($v0) ## 00000004 -/* 04ED0 808CFC90 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 04ED4 808CFC94 244B0008 */ addiu $t3, $v0, 0x0008 ## $t3 = 00000008 -/* 04ED8 808CFC98 AE0B02D0 */ sw $t3, 0x02D0($s0) ## 000002D0 -/* 04EDC 808CFC9C AC570004 */ sw $s7, 0x0004($v0) ## 00000004 -/* 04EE0 808CFCA0 AC560000 */ sw $s6, 0x0000($v0) ## 00000000 -.L808CFCA4: -/* 04EE4 808CFCA4 26940001 */ addiu $s4, $s4, 0x0001 ## $s4 = 00000001 -/* 04EE8 808CFCA8 0014A400 */ sll $s4, $s4, 16 -/* 04EEC 808CFCAC 0014A403 */ sra $s4, $s4, 16 -/* 04EF0 808CFCB0 2A8100B4 */ slti $at, $s4, 0x00B4 -/* 04EF4 808CFCB4 1420FFA0 */ bne $at, $zero, .L808CFB38 -/* 04EF8 808CFCB8 2631003C */ addiu $s1, $s1, 0x003C ## $s1 = 000000B4 -/* 04EFC 808CFCBC 0000A825 */ or $s5, $zero, $zero ## $s5 = 00000000 -/* 04F00 808CFCC0 8FB100C8 */ lw $s1, 0x00C8($sp) -/* 04F04 808CFCC4 0000A025 */ or $s4, $zero, $zero ## $s4 = 00000000 -.L808CFCC8: -/* 04F08 808CFCC8 922E0024 */ lbu $t6, 0x0024($s1) ## 000000D8 -/* 04F0C 808CFCCC 24010004 */ addiu $at, $zero, 0x0004 ## $at = 00000004 -/* 04F10 808CFCD0 3C170601 */ lui $s7, 0x0601 ## $s7 = 06010000 -/* 04F14 808CFCD4 15C1005A */ bne $t6, $at, .L808CFE40 -/* 04F18 808CFCD8 26F7B3C8 */ addiu $s7, $s7, 0xB3C8 ## $s7 = 0600B3C8 -/* 04F1C 808CFCDC 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 04F20 808CFCE0 34211DA0 */ ori $at, $at, 0x1DA0 ## $at = 00011DA0 -/* 04F24 808CFCE4 16A00015 */ bne $s5, $zero, .L808CFD3C -/* 04F28 808CFCE8 03C19821 */ addu $s3, $s8, $at -/* 04F2C 808CFCEC 3C120601 */ lui $s2, 0x0601 ## $s2 = 06010000 -/* 04F30 808CFCF0 2652B3A8 */ addiu $s2, $s2, 0xB3A8 ## $s2 = 0600B3A8 -/* 04F34 808CFCF4 8E0402D0 */ lw $a0, 0x02D0($s0) ## 000002D0 -/* 04F38 808CFCF8 0C024DDD */ jal Gfx_CallSetupDL -/* 04F3C 808CFCFC 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000 -/* 04F40 808CFD00 AE0202D0 */ sw $v0, 0x02D0($s0) ## 000002D0 -/* 04F44 808CFD04 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008 -/* 04F48 808CFD08 AE1802D0 */ sw $t8, 0x02D0($s0) ## 000002D0 -/* 04F4C 808CFD0C AC520004 */ sw $s2, 0x0004($v0) ## 00000004 -/* 04F50 808CFD10 AC560000 */ sw $s6, 0x0000($v0) ## 00000000 -/* 04F54 808CFD14 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 04F58 808CFD18 3C0AFF0A */ lui $t2, 0xFF0A ## $t2 = FF0A0000 -/* 04F5C 808CFD1C 354A00FF */ ori $t2, $t2, 0x00FF ## $t2 = FF0A00FF -/* 04F60 808CFD20 244F0008 */ addiu $t7, $v0, 0x0008 ## $t7 = 00000008 -/* 04F64 808CFD24 AE0F02D0 */ sw $t7, 0x02D0($s0) ## 000002D0 -/* 04F68 808CFD28 3C08FB00 */ lui $t0, 0xFB00 ## $t0 = FB000000 -/* 04F6C 808CFD2C 26B50001 */ addiu $s5, $s5, 0x0001 ## $s5 = 00000001 -/* 04F70 808CFD30 32B500FF */ andi $s5, $s5, 0x00FF ## $s5 = 00000001 -/* 04F74 808CFD34 AC480000 */ sw $t0, 0x0000($v0) ## 00000000 -/* 04F78 808CFD38 AC4A0004 */ sw $t2, 0x0004($v0) ## 00000004 -.L808CFD3C: -/* 04F7C 808CFD3C 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 04F80 808CFD40 3C09FA00 */ lui $t1, 0xFA00 ## $t1 = FA000000 -/* 04F84 808CFD44 3C01FFFF */ lui $at, 0xFFFF ## $at = FFFF0000 -/* 04F88 808CFD48 24590008 */ addiu $t9, $v0, 0x0008 ## $t9 = 00000008 -/* 04F8C 808CFD4C AE1902D0 */ sw $t9, 0x02D0($s0) ## 000002D0 -/* 04F90 808CFD50 AC490000 */ sw $t1, 0x0000($v0) ## 00000000 -/* 04F94 808CFD54 862C002A */ lh $t4, 0x002A($s1) ## 000000DE -/* 04F98 808CFD58 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 -/* 04F9C 808CFD5C 318D00FF */ andi $t5, $t4, 0x00FF ## $t5 = 00000000 -/* 04FA0 808CFD60 01A15825 */ or $t3, $t5, $at ## $t3 = FFFF0000 -/* 04FA4 808CFD64 AC4B0004 */ sw $t3, 0x0004($v0) ## 00000004 -/* 04FA8 808CFD68 8E260008 */ lw $a2, 0x0008($s1) ## 000000BC -/* 04FAC 808CFD6C C62E0004 */ lwc1 $f14, 0x0004($s1) ## 000000B8 -/* 04FB0 808CFD70 0C034261 */ jal Matrix_Translate -/* 04FB4 808CFD74 C62C0000 */ lwc1 $f12, 0x0000($s1) ## 000000B4 -/* 04FB8 808CFD78 C62C0030 */ lwc1 $f12, 0x0030($s1) ## 000000E4 -/* 04FBC 808CFD7C 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 04FC0 808CFD80 44066000 */ mfc1 $a2, $f12 -/* 04FC4 808CFD84 0C0342A3 */ jal Matrix_Scale -/* 04FC8 808CFD88 46006386 */ mov.s $f14, $f12 -/* 04FCC 808CFD8C 0C0347F5 */ jal func_800D1FD4 -/* 04FD0 808CFD90 02602025 */ or $a0, $s3, $zero ## $a0 = 0600D420 -/* 04FD4 808CFD94 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 04FD8 808CFD98 3C18DA38 */ lui $t8, 0xDA38 ## $t8 = DA380000 -/* 04FDC 808CFD9C 37180003 */ ori $t8, $t8, 0x0003 ## $t8 = DA380003 -/* 04FE0 808CFDA0 244E0008 */ addiu $t6, $v0, 0x0008 ## $t6 = 00000008 -/* 04FE4 808CFDA4 AE0E02D0 */ sw $t6, 0x02D0($s0) ## 000002D0 -/* 04FE8 808CFDA8 3C05808D */ lui $a1, %hi(D_808D1D2C) ## $a1 = 808D0000 -/* 04FEC 808CFDAC AC580000 */ sw $t8, 0x0000($v0) ## 00000000 -/* 04FF0 808CFDB0 24A51D2C */ addiu $a1, $a1, %lo(D_808D1D2C) ## $a1 = 808D1D2C -/* 04FF4 808CFDB4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 04FF8 808CFDB8 2406103A */ addiu $a2, $zero, 0x103A ## $a2 = 0000103A -/* 04FFC 808CFDBC 0C0346A2 */ jal Matrix_NewMtx -/* 05000 808CFDC0 AFA20070 */ sw $v0, 0x0070($sp) -/* 05004 808CFDC4 8FA30070 */ lw $v1, 0x0070($sp) -/* 05008 808CFDC8 3C08DB06 */ lui $t0, 0xDB06 ## $t0 = DB060000 -/* 0500C 808CFDCC 35080020 */ ori $t0, $t0, 0x0020 ## $t0 = DB060020 -/* 05010 808CFDD0 AC620004 */ sw $v0, 0x0004($v1) ## 00000004 -/* 05014 808CFDD4 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 05018 808CFDD8 3C04808D */ lui $a0, %hi(D_808D1A9C) ## $a0 = 808D0000 -/* 0501C 808CFDDC 3C0E8016 */ lui $t6, %hi(gSegments) -/* 05020 808CFDE0 244F0008 */ addiu $t7, $v0, 0x0008 ## $t7 = 00000008 -/* 05024 808CFDE4 AE0F02D0 */ sw $t7, 0x02D0($s0) ## 000002D0 -/* 05028 808CFDE8 AC480000 */ sw $t0, 0x0000($v0) ## 00000000 -/* 0502C 808CFDEC 862A002C */ lh $t2, 0x002C($s1) ## 000000E0 -/* 05030 808CFDF0 3C0100FF */ lui $at, 0x00FF ## $at = 00FF0000 -/* 05034 808CFDF4 3421FFFF */ ori $at, $at, 0xFFFF ## $at = 00FFFFFF -/* 05038 808CFDF8 000AC880 */ sll $t9, $t2, 2 -/* 0503C 808CFDFC 00992021 */ addu $a0, $a0, $t9 -/* 05040 808CFE00 8C841A9C */ lw $a0, %lo(D_808D1A9C)($a0) -/* 05044 808CFE04 00046100 */ sll $t4, $a0, 4 -/* 05048 808CFE08 000C6F02 */ srl $t5, $t4, 28 -/* 0504C 808CFE0C 000D5880 */ sll $t3, $t5, 2 -/* 05050 808CFE10 01CB7021 */ addu $t6, $t6, $t3 -/* 05054 808CFE14 8DCE6FA8 */ lw $t6, %lo(gSegments)($t6) -/* 05058 808CFE18 00814824 */ and $t1, $a0, $at -/* 0505C 808CFE1C 3C018000 */ lui $at, 0x8000 ## $at = 80000000 -/* 05060 808CFE20 012EC021 */ addu $t8, $t1, $t6 -/* 05064 808CFE24 03017821 */ addu $t7, $t8, $at -/* 05068 808CFE28 AC4F0004 */ sw $t7, 0x0004($v0) ## 00000004 -/* 0506C 808CFE2C 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 05070 808CFE30 24480008 */ addiu $t0, $v0, 0x0008 ## $t0 = 00000008 -/* 05074 808CFE34 AE0802D0 */ sw $t0, 0x02D0($s0) ## 000002D0 -/* 05078 808CFE38 AC570004 */ sw $s7, 0x0004($v0) ## 00000004 -/* 0507C 808CFE3C AC560000 */ sw $s6, 0x0000($v0) ## 00000000 -.L808CFE40: -/* 05080 808CFE40 26940001 */ addiu $s4, $s4, 0x0001 ## $s4 = 00000001 -/* 05084 808CFE44 0014A400 */ sll $s4, $s4, 16 -/* 05088 808CFE48 0014A403 */ sra $s4, $s4, 16 -/* 0508C 808CFE4C 2A8100B4 */ slti $at, $s4, 0x00B4 -/* 05090 808CFE50 1420FF9D */ bne $at, $zero, .L808CFCC8 -/* 05094 808CFE54 2631003C */ addiu $s1, $s1, 0x003C ## $s1 = 000000F0 -/* 05098 808CFE58 0000A825 */ or $s5, $zero, $zero ## $s5 = 00000000 -/* 0509C 808CFE5C 8FB100C8 */ lw $s1, 0x00C8($sp) -/* 050A0 808CFE60 0000A025 */ or $s4, $zero, $zero ## $s4 = 00000000 -/* 050A4 808CFE64 24170005 */ addiu $s7, $zero, 0x0005 ## $s7 = 00000005 -.L808CFE68: -/* 050A8 808CFE68 922A0024 */ lbu $t2, 0x0024($s1) ## 00000114 -/* 050AC 808CFE6C 3C130601 */ lui $s3, 0x0601 ## $s3 = 06010000 -/* 050B0 808CFE70 56EA0032 */ bnel $s7, $t2, .L808CFF3C -/* 050B4 808CFE74 26940001 */ addiu $s4, $s4, 0x0001 ## $s4 = 00000001 -/* 050B8 808CFE78 16A0000C */ bne $s5, $zero, .L808CFEAC -/* 050BC 808CFE7C 2673D6E8 */ addiu $s3, $s3, 0xD6E8 ## $s3 = 0600D6E8 -/* 050C0 808CFE80 3C120601 */ lui $s2, 0x0601 ## $s2 = 06010000 -/* 050C4 808CFE84 2652D668 */ addiu $s2, $s2, 0xD668 ## $s2 = 0600D668 -/* 050C8 808CFE88 0C024F61 */ jal func_80093D84 -/* 050CC 808CFE8C 8FC40000 */ lw $a0, 0x0000($s8) ## 00000000 -/* 050D0 808CFE90 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 050D4 808CFE94 26B50001 */ addiu $s5, $s5, 0x0001 ## $s5 = 00000001 -/* 050D8 808CFE98 32B500FF */ andi $s5, $s5, 0x00FF ## $s5 = 00000001 -/* 050DC 808CFE9C 24590008 */ addiu $t9, $v0, 0x0008 ## $t9 = 00000008 -/* 050E0 808CFEA0 AE1902D0 */ sw $t9, 0x02D0($s0) ## 000002D0 -/* 050E4 808CFEA4 AC520004 */ sw $s2, 0x0004($v0) ## 00000004 -/* 050E8 808CFEA8 AC560000 */ sw $s6, 0x0000($v0) ## 00000000 -.L808CFEAC: -/* 050EC 808CFEAC C62C0000 */ lwc1 $f12, 0x0000($s1) ## 000000F0 -/* 050F0 808CFEB0 C62E0004 */ lwc1 $f14, 0x0004($s1) ## 000000F4 -/* 050F4 808CFEB4 8E260008 */ lw $a2, 0x0008($s1) ## 000000F8 -/* 050F8 808CFEB8 0C034261 */ jal Matrix_Translate -/* 050FC 808CFEBC 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 -/* 05100 808CFEC0 C62C0038 */ lwc1 $f12, 0x0038($s1) ## 00000128 -/* 05104 808CFEC4 0C034348 */ jal Matrix_RotateY -/* 05108 808CFEC8 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 0510C 808CFECC C62C0034 */ lwc1 $f12, 0x0034($s1) ## 00000124 -/* 05110 808CFED0 0C0342DC */ jal Matrix_RotateX -/* 05114 808CFED4 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 05118 808CFED8 C62C0030 */ lwc1 $f12, 0x0030($s1) ## 00000120 -/* 0511C 808CFEDC 4406A000 */ mfc1 $a2, $f20 -/* 05120 808CFEE0 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 05124 808CFEE4 0C0342A3 */ jal Matrix_Scale -/* 05128 808CFEE8 46006386 */ mov.s $f14, $f12 -/* 0512C 808CFEEC 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 05130 808CFEF0 3C0DDA38 */ lui $t5, 0xDA38 ## $t5 = DA380000 -/* 05134 808CFEF4 35AD0003 */ ori $t5, $t5, 0x0003 ## $t5 = DA380003 -/* 05138 808CFEF8 244C0008 */ addiu $t4, $v0, 0x0008 ## $t4 = 00000008 -/* 0513C 808CFEFC AE0C02D0 */ sw $t4, 0x02D0($s0) ## 000002D0 -/* 05140 808CFF00 3C05808D */ lui $a1, %hi(D_808D1D3C) ## $a1 = 808D0000 -/* 05144 808CFF04 AC4D0000 */ sw $t5, 0x0000($v0) ## 00000000 -/* 05148 808CFF08 24A51D3C */ addiu $a1, $a1, %lo(D_808D1D3C) ## $a1 = 808D1D3C -/* 0514C 808CFF0C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 05150 808CFF10 24061060 */ addiu $a2, $zero, 0x1060 ## $a2 = 00001060 -/* 05154 808CFF14 0C0346A2 */ jal Matrix_NewMtx -/* 05158 808CFF18 AFA20060 */ sw $v0, 0x0060($sp) -/* 0515C 808CFF1C 8FA30060 */ lw $v1, 0x0060($sp) -/* 05160 808CFF20 AC620004 */ sw $v0, 0x0004($v1) ## 00000004 -/* 05164 808CFF24 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 05168 808CFF28 244B0008 */ addiu $t3, $v0, 0x0008 ## $t3 = 00000008 -/* 0516C 808CFF2C AE0B02D0 */ sw $t3, 0x02D0($s0) ## 000002D0 -/* 05170 808CFF30 AC530004 */ sw $s3, 0x0004($v0) ## 00000004 -/* 05174 808CFF34 AC560000 */ sw $s6, 0x0000($v0) ## 00000000 -/* 05178 808CFF38 26940001 */ addiu $s4, $s4, 0x0001 ## $s4 = 00000002 -.L808CFF3C: -/* 0517C 808CFF3C 0014A400 */ sll $s4, $s4, 16 -/* 05180 808CFF40 0014A403 */ sra $s4, $s4, 16 -/* 05184 808CFF44 2A8100B4 */ slti $at, $s4, 0x00B4 -/* 05188 808CFF48 1420FFC7 */ bne $at, $zero, .L808CFE68 -/* 0518C 808CFF4C 2631003C */ addiu $s1, $s1, 0x003C ## $s1 = 0000012C -/* 05190 808CFF50 3C06808D */ lui $a2, %hi(D_808D1D4C) ## $a2 = 808D0000 -/* 05194 808CFF54 24C61D4C */ addiu $a2, $a2, %lo(D_808D1D4C) ## $a2 = 808D1D4C -/* 05198 808CFF58 27A400B4 */ addiu $a0, $sp, 0x00B4 ## $a0 = FFFFFFDC -/* 0519C 808CFF5C 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000 -/* 051A0 808CFF60 0C031AD5 */ jal Graph_CloseDisps -/* 051A4 808CFF64 24071066 */ addiu $a3, $zero, 0x1066 ## $a3 = 00001066 -/* 051A8 808CFF68 8FBF0044 */ lw $ra, 0x0044($sp) -/* 051AC 808CFF6C D7B40018 */ ldc1 $f20, 0x0018($sp) -/* 051B0 808CFF70 8FB00020 */ lw $s0, 0x0020($sp) -/* 051B4 808CFF74 8FB10024 */ lw $s1, 0x0024($sp) -/* 051B8 808CFF78 8FB20028 */ lw $s2, 0x0028($sp) -/* 051BC 808CFF7C 8FB3002C */ lw $s3, 0x002C($sp) -/* 051C0 808CFF80 8FB40030 */ lw $s4, 0x0030($sp) -/* 051C4 808CFF84 8FB50034 */ lw $s5, 0x0034($sp) -/* 051C8 808CFF88 8FB60038 */ lw $s6, 0x0038($sp) -/* 051CC 808CFF8C 8FB7003C */ lw $s7, 0x003C($sp) -/* 051D0 808CFF90 8FBE0040 */ lw $s8, 0x0040($sp) -/* 051D4 808CFF94 03E00008 */ jr $ra -/* 051D8 808CFF98 27BD00D8 */ addiu $sp, $sp, 0x00D8 ## $sp = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808D00A4.s b/asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808D00A4.s deleted file mode 100644 index 12ee04e3bd..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808D00A4.s +++ /dev/null @@ -1,77 +0,0 @@ -glabel func_808D00A4 -/* 052E4 808D00A4 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 052E8 808D00A8 AFA40000 */ sw $a0, 0x0000($sp) -/* 052EC 808D00AC 10A10009 */ beq $a1, $at, .L808D00D4 -/* 052F0 808D00B0 AFA7000C */ sw $a3, 0x000C($sp) -/* 052F4 808D00B4 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002 -/* 052F8 808D00B8 10A10014 */ beq $a1, $at, .L808D010C -/* 052FC 808D00BC 8FA30010 */ lw $v1, 0x0010($sp) -/* 05300 808D00C0 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003 -/* 05304 808D00C4 10A10024 */ beq $a1, $at, .L808D0158 -/* 05308 808D00C8 8FA30010 */ lw $v1, 0x0010($sp) -/* 0530C 808D00CC 10000035 */ beq $zero, $zero, .L808D01A4 -/* 05310 808D00D0 8FA20014 */ lw $v0, 0x0014($sp) -.L808D00D4: -/* 05314 808D00D4 8FA30010 */ lw $v1, 0x0010($sp) -/* 05318 808D00D8 8FA20014 */ lw $v0, 0x0014($sp) -/* 0531C 808D00DC 3C01457A */ lui $at, 0x457A ## $at = 457A0000 -/* 05320 808D00E0 846E0002 */ lh $t6, 0x0002($v1) ## 00000002 -/* 05324 808D00E4 44812000 */ mtc1 $at, $f4 ## $f4 = 4000.00 -/* 05328 808D00E8 C4460C3C */ lwc1 $f6, 0x0C3C($v0) ## 00000C3C -/* 0532C 808D00EC 448E5000 */ mtc1 $t6, $f10 ## $f10 = 0.00 -/* 05330 808D00F0 46062200 */ add.s $f8, $f4, $f6 -/* 05334 808D00F4 46805420 */ cvt.s.w $f16, $f10 -/* 05338 808D00F8 46088480 */ add.s $f18, $f16, $f8 -/* 0533C 808D00FC 4600910D */ trunc.w.s $f4, $f18 -/* 05340 808D0100 44182000 */ mfc1 $t8, $f4 -/* 05344 808D0104 10000027 */ beq $zero, $zero, .L808D01A4 -/* 05348 808D0108 A4780002 */ sh $t8, 0x0002($v1) ## 00000002 -.L808D010C: -/* 0534C 808D010C 84790002 */ lh $t9, 0x0002($v1) ## 00000002 -/* 05350 808D0110 8FA20014 */ lw $v0, 0x0014($sp) -/* 05354 808D0114 846A0004 */ lh $t2, 0x0004($v1) ## 00000004 -/* 05358 808D0118 44993000 */ mtc1 $t9, $f6 ## $f6 = 0.00 -/* 0535C 808D011C C4500C48 */ lwc1 $f16, 0x0C48($v0) ## 00000C48 -/* 05360 808D0120 448A2000 */ mtc1 $t2, $f4 ## $f4 = 0.00 -/* 05364 808D0124 468032A0 */ cvt.s.w $f10, $f6 -/* 05368 808D0128 468021A0 */ cvt.s.w $f6, $f4 -/* 0536C 808D012C 46105200 */ add.s $f8, $f10, $f16 -/* 05370 808D0130 4600448D */ trunc.w.s $f18, $f8 -/* 05374 808D0134 44099000 */ mfc1 $t1, $f18 -/* 05378 808D0138 00000000 */ nop -/* 0537C 808D013C A4690002 */ sh $t1, 0x0002($v1) ## 00000002 -/* 05380 808D0140 C44A0C4C */ lwc1 $f10, 0x0C4C($v0) ## 00000C4C -/* 05384 808D0144 460A3400 */ add.s $f16, $f6, $f10 -/* 05388 808D0148 4600820D */ trunc.w.s $f8, $f16 -/* 0538C 808D014C 440C4000 */ mfc1 $t4, $f8 -/* 05390 808D0150 10000014 */ beq $zero, $zero, .L808D01A4 -/* 05394 808D0154 A46C0004 */ sh $t4, 0x0004($v1) ## 00000004 -.L808D0158: -/* 05398 808D0158 846D0002 */ lh $t5, 0x0002($v1) ## 00000002 -/* 0539C 808D015C 8FA20014 */ lw $v0, 0x0014($sp) -/* 053A0 808D0160 84780004 */ lh $t8, 0x0004($v1) ## 00000004 -/* 053A4 808D0164 448D9000 */ mtc1 $t5, $f18 ## $f18 = 0.00 -/* 053A8 808D0168 C4460C54 */ lwc1 $f6, 0x0C54($v0) ## 00000C54 -/* 053AC 808D016C 44984000 */ mtc1 $t8, $f8 ## $f8 = 0.00 -/* 053B0 808D0170 46809120 */ cvt.s.w $f4, $f18 -/* 053B4 808D0174 468044A0 */ cvt.s.w $f18, $f8 -/* 053B8 808D0178 46062280 */ add.s $f10, $f4, $f6 -/* 053BC 808D017C 4600540D */ trunc.w.s $f16, $f10 -/* 053C0 808D0180 440F8000 */ mfc1 $t7, $f16 -/* 053C4 808D0184 00000000 */ nop -/* 053C8 808D0188 A46F0002 */ sh $t7, 0x0002($v1) ## 00000002 -/* 053CC 808D018C C4440C58 */ lwc1 $f4, 0x0C58($v0) ## 00000C58 -/* 053D0 808D0190 46049180 */ add.s $f6, $f18, $f4 -/* 053D4 808D0194 4600328D */ trunc.w.s $f10, $f6 -/* 053D8 808D0198 44085000 */ mfc1 $t0, $f10 -/* 053DC 808D019C 00000000 */ nop -/* 053E0 808D01A0 A4680004 */ sh $t0, 0x0004($v1) ## 00000004 -.L808D01A4: -/* 053E4 808D01A4 8449021E */ lh $t1, 0x021E($v0) ## 0000021E -/* 053E8 808D01A8 0125082A */ slt $at, $t1, $a1 -/* 053EC 808D01AC 10200002 */ beq $at, $zero, .L808D01B8 -/* 053F0 808D01B0 00000000 */ nop -/* 053F4 808D01B4 ACC00000 */ sw $zero, 0x0000($a2) ## 00000000 -.L808D01B8: -/* 053F8 808D01B8 03E00008 */ jr $ra -/* 053FC 808D01BC 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808D01C0.s b/asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808D01C0.s deleted file mode 100644 index 090ff2d7f9..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808D01C0.s +++ /dev/null @@ -1,77 +0,0 @@ -glabel func_808D01C0 -/* 05400 808D01C0 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 05404 808D01C4 AFA40000 */ sw $a0, 0x0000($sp) -/* 05408 808D01C8 10A10009 */ beq $a1, $at, .L808D01F0 -/* 0540C 808D01CC AFA7000C */ sw $a3, 0x000C($sp) -/* 05410 808D01D0 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002 -/* 05414 808D01D4 10A10014 */ beq $a1, $at, .L808D0228 -/* 05418 808D01D8 8FA30010 */ lw $v1, 0x0010($sp) -/* 0541C 808D01DC 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003 -/* 05420 808D01E0 10A10024 */ beq $a1, $at, .L808D0274 -/* 05424 808D01E4 8FA30010 */ lw $v1, 0x0010($sp) -/* 05428 808D01E8 10000035 */ beq $zero, $zero, .L808D02C0 -/* 0542C 808D01EC 8FA20014 */ lw $v0, 0x0014($sp) -.L808D01F0: -/* 05430 808D01F0 8FA30010 */ lw $v1, 0x0010($sp) -/* 05434 808D01F4 8FA20014 */ lw $v0, 0x0014($sp) -/* 05438 808D01F8 3C01C57A */ lui $at, 0xC57A ## $at = C57A0000 -/* 0543C 808D01FC 846E0002 */ lh $t6, 0x0002($v1) ## 00000002 -/* 05440 808D0200 44812000 */ mtc1 $at, $f4 ## $f4 = -4000.00 -/* 05444 808D0204 C4460C6C */ lwc1 $f6, 0x0C6C($v0) ## 00000C6C -/* 05448 808D0208 448E5000 */ mtc1 $t6, $f10 ## $f10 = 0.00 -/* 0544C 808D020C 46062200 */ add.s $f8, $f4, $f6 -/* 05450 808D0210 46805420 */ cvt.s.w $f16, $f10 -/* 05454 808D0214 46088480 */ add.s $f18, $f16, $f8 -/* 05458 808D0218 4600910D */ trunc.w.s $f4, $f18 -/* 0545C 808D021C 44182000 */ mfc1 $t8, $f4 -/* 05460 808D0220 10000027 */ beq $zero, $zero, .L808D02C0 -/* 05464 808D0224 A4780002 */ sh $t8, 0x0002($v1) ## 00000002 -.L808D0228: -/* 05468 808D0228 84790002 */ lh $t9, 0x0002($v1) ## 00000002 -/* 0546C 808D022C 8FA20014 */ lw $v0, 0x0014($sp) -/* 05470 808D0230 846A0004 */ lh $t2, 0x0004($v1) ## 00000004 -/* 05474 808D0234 44993000 */ mtc1 $t9, $f6 ## $f6 = 0.00 -/* 05478 808D0238 C4500C78 */ lwc1 $f16, 0x0C78($v0) ## 00000C78 -/* 0547C 808D023C 448A2000 */ mtc1 $t2, $f4 ## $f4 = 0.00 -/* 05480 808D0240 468032A0 */ cvt.s.w $f10, $f6 -/* 05484 808D0244 468021A0 */ cvt.s.w $f6, $f4 -/* 05488 808D0248 46105200 */ add.s $f8, $f10, $f16 -/* 0548C 808D024C 4600448D */ trunc.w.s $f18, $f8 -/* 05490 808D0250 44099000 */ mfc1 $t1, $f18 -/* 05494 808D0254 00000000 */ nop -/* 05498 808D0258 A4690002 */ sh $t1, 0x0002($v1) ## 00000002 -/* 0549C 808D025C C44A0C7C */ lwc1 $f10, 0x0C7C($v0) ## 00000C7C -/* 054A0 808D0260 460A3400 */ add.s $f16, $f6, $f10 -/* 054A4 808D0264 4600820D */ trunc.w.s $f8, $f16 -/* 054A8 808D0268 440C4000 */ mfc1 $t4, $f8 -/* 054AC 808D026C 10000014 */ beq $zero, $zero, .L808D02C0 -/* 054B0 808D0270 A46C0004 */ sh $t4, 0x0004($v1) ## 00000004 -.L808D0274: -/* 054B4 808D0274 846D0002 */ lh $t5, 0x0002($v1) ## 00000002 -/* 054B8 808D0278 8FA20014 */ lw $v0, 0x0014($sp) -/* 054BC 808D027C 84780004 */ lh $t8, 0x0004($v1) ## 00000004 -/* 054C0 808D0280 448D9000 */ mtc1 $t5, $f18 ## $f18 = 0.00 -/* 054C4 808D0284 C4460C84 */ lwc1 $f6, 0x0C84($v0) ## 00000C84 -/* 054C8 808D0288 44984000 */ mtc1 $t8, $f8 ## $f8 = 0.00 -/* 054CC 808D028C 46809120 */ cvt.s.w $f4, $f18 -/* 054D0 808D0290 468044A0 */ cvt.s.w $f18, $f8 -/* 054D4 808D0294 46062280 */ add.s $f10, $f4, $f6 -/* 054D8 808D0298 4600540D */ trunc.w.s $f16, $f10 -/* 054DC 808D029C 440F8000 */ mfc1 $t7, $f16 -/* 054E0 808D02A0 00000000 */ nop -/* 054E4 808D02A4 A46F0002 */ sh $t7, 0x0002($v1) ## 00000002 -/* 054E8 808D02A8 C4440C88 */ lwc1 $f4, 0x0C88($v0) ## 00000C88 -/* 054EC 808D02AC 46049180 */ add.s $f6, $f18, $f4 -/* 054F0 808D02B0 4600328D */ trunc.w.s $f10, $f6 -/* 054F4 808D02B4 44085000 */ mfc1 $t0, $f10 -/* 054F8 808D02B8 00000000 */ nop -/* 054FC 808D02BC A4680004 */ sh $t0, 0x0004($v1) ## 00000004 -.L808D02C0: -/* 05500 808D02C0 8449021E */ lh $t1, 0x021E($v0) ## 0000021E -/* 05504 808D02C4 0125082A */ slt $at, $t1, $a1 -/* 05508 808D02C8 10200002 */ beq $at, $zero, .L808D02D4 -/* 0550C 808D02CC 00000000 */ nop -/* 05510 808D02D0 ACC00000 */ sw $zero, 0x0000($a2) ## 00000000 -.L808D02D4: -/* 05514 808D02D4 03E00008 */ jr $ra -/* 05518 808D02D8 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808D02DC.s b/asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808D02DC.s deleted file mode 100644 index b3e03302b5..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808D02DC.s +++ /dev/null @@ -1,346 +0,0 @@ -.rdata -glabel D_808D1DAC - .asciz "../z_boss_fd.c" - .balign 4 - -glabel D_808D1DBC - .asciz "../z_boss_fd.c" - .balign 4 - -glabel D_808D1DCC - .asciz "../z_boss_fd.c" - .balign 4 - -.late_rodata -glabel D_808D1FA8 - .float 0.1 - -glabel D_808D1FAC - .float 0.01 - -glabel D_808D1FB0 - .float 0.7 - -glabel D_808D1FB4 - .word 0x3A51B717 -glabel D_808D1FB8 - .float -1.57079637051 - -.text -glabel func_808D02DC -/* 0551C 808D02DC 27BDFE98 */ addiu $sp, $sp, 0xFE98 ## $sp = FFFFFE98 -/* 05520 808D02E0 AFB60060 */ sw $s6, 0x0060($sp) -/* 05524 808D02E4 3C0E808D */ lui $t6, %hi(D_808D1B00) ## $t6 = 808D0000 -/* 05528 808D02E8 27B60140 */ addiu $s6, $sp, 0x0140 ## $s6 = FFFFFFD8 -/* 0552C 808D02EC AFB70064 */ sw $s7, 0x0064($sp) -/* 05530 808D02F0 AFB30054 */ sw $s3, 0x0054($sp) -/* 05534 808D02F4 25CE1B00 */ addiu $t6, $t6, %lo(D_808D1B00) ## $t6 = 808D1B00 -/* 05538 808D02F8 00A09825 */ or $s3, $a1, $zero ## $s3 = 00000000 -/* 0553C 808D02FC 27B700C8 */ addiu $s7, $sp, 0x00C8 ## $s7 = FFFFFF60 -/* 05540 808D0300 AFBF006C */ sw $ra, 0x006C($sp) -/* 05544 808D0304 AFBE0068 */ sw $s8, 0x0068($sp) -/* 05548 808D0308 AFB5005C */ sw $s5, 0x005C($sp) -/* 0554C 808D030C AFB40058 */ sw $s4, 0x0058($sp) -/* 05550 808D0310 AFB20050 */ sw $s2, 0x0050($sp) -/* 05554 808D0314 AFB1004C */ sw $s1, 0x004C($sp) -/* 05558 808D0318 AFB00048 */ sw $s0, 0x0048($sp) -/* 0555C 808D031C F7BE0040 */ sdc1 $f30, 0x0040($sp) -/* 05560 808D0320 F7BC0038 */ sdc1 $f28, 0x0038($sp) -/* 05564 808D0324 F7BA0030 */ sdc1 $f26, 0x0030($sp) -/* 05568 808D0328 F7B80028 */ sdc1 $f24, 0x0028($sp) -/* 0556C 808D032C F7B60020 */ sdc1 $f22, 0x0020($sp) -/* 05570 808D0330 F7B40018 */ sdc1 $f20, 0x0018($sp) -/* 05574 808D0334 AFA40168 */ sw $a0, 0x0168($sp) -/* 05578 808D0338 AFA60170 */ sw $a2, 0x0170($sp) -/* 0557C 808D033C AFA70174 */ sw $a3, 0x0174($sp) -/* 05580 808D0340 25C80024 */ addiu $t0, $t6, 0x0024 ## $t0 = 808D1B24 -/* 05584 808D0344 02C0C825 */ or $t9, $s6, $zero ## $t9 = FFFFFFD8 -.L808D0348: -/* 05588 808D0348 8DD80000 */ lw $t8, 0x0000($t6) ## 808D1B00 -/* 0558C 808D034C 25CE000C */ addiu $t6, $t6, 0x000C ## $t6 = 808D1B0C -/* 05590 808D0350 2739000C */ addiu $t9, $t9, 0x000C ## $t9 = FFFFFFE4 -/* 05594 808D0354 AF38FFF4 */ sw $t8, -0x000C($t9) ## FFFFFFD8 -/* 05598 808D0358 8DCFFFF8 */ lw $t7, -0x0008($t6) ## 808D1B04 -/* 0559C 808D035C AF2FFFF8 */ sw $t7, -0x0008($t9) ## FFFFFFDC -/* 055A0 808D0360 8DD8FFFC */ lw $t8, -0x0004($t6) ## 808D1B08 -/* 055A4 808D0364 15C8FFF8 */ bne $t6, $t0, .L808D0348 -/* 055A8 808D0368 AF38FFFC */ sw $t8, -0x0004($t9) ## FFFFFFE0 -/* 055AC 808D036C 8DD80000 */ lw $t8, 0x0000($t6) ## 808D1B0C -/* 055B0 808D0370 3C0A808D */ lui $t2, %hi(D_808D1B28) ## $t2 = 808D0000 -/* 055B4 808D0374 254A1B28 */ addiu $t2, $t2, %lo(D_808D1B28) ## $t2 = 808D1B28 -/* 055B8 808D0378 254D0024 */ addiu $t5, $t2, 0x0024 ## $t5 = 808D1B4C -/* 055BC 808D037C 27A90118 */ addiu $t1, $sp, 0x0118 ## $t1 = FFFFFFB0 -/* 055C0 808D0380 AF380000 */ sw $t8, 0x0000($t9) ## FFFFFFE4 -.L808D0384: -/* 055C4 808D0384 8D4C0000 */ lw $t4, 0x0000($t2) ## 808D1B28 -/* 055C8 808D0388 254A000C */ addiu $t2, $t2, 0x000C ## $t2 = 808D1B34 -/* 055CC 808D038C 2529000C */ addiu $t1, $t1, 0x000C ## $t1 = FFFFFFBC -/* 055D0 808D0390 AD2CFFF4 */ sw $t4, -0x000C($t1) ## FFFFFFB0 -/* 055D4 808D0394 8D4BFFF8 */ lw $t3, -0x0008($t2) ## 808D1B2C -/* 055D8 808D0398 AD2BFFF8 */ sw $t3, -0x0008($t1) ## FFFFFFB4 -/* 055DC 808D039C 8D4CFFFC */ lw $t4, -0x0004($t2) ## 808D1B30 -/* 055E0 808D03A0 154DFFF8 */ bne $t2, $t5, .L808D0384 -/* 055E4 808D03A4 AD2CFFFC */ sw $t4, -0x0004($t1) ## FFFFFFB8 -/* 055E8 808D03A8 8D4C0000 */ lw $t4, 0x0000($t2) ## 808D1B34 -/* 055EC 808D03AC 3C0E808D */ lui $t6, %hi(D_808D1B50) ## $t6 = 808D0000 -/* 055F0 808D03B0 25CE1B50 */ addiu $t6, $t6, %lo(D_808D1B50) ## $t6 = 808D1B50 -/* 055F4 808D03B4 25D80024 */ addiu $t8, $t6, 0x0024 ## $t8 = 808D1B74 -/* 055F8 808D03B8 27A800F0 */ addiu $t0, $sp, 0x00F0 ## $t0 = FFFFFF88 -/* 055FC 808D03BC AD2C0000 */ sw $t4, 0x0000($t1) ## FFFFFFBC -.L808D03C0: -/* 05600 808D03C0 8DCF0000 */ lw $t7, 0x0000($t6) ## 808D1B50 -/* 05604 808D03C4 25CE000C */ addiu $t6, $t6, 0x000C ## $t6 = 808D1B5C -/* 05608 808D03C8 2508000C */ addiu $t0, $t0, 0x000C ## $t0 = FFFFFF94 -/* 0560C 808D03CC AD0FFFF4 */ sw $t7, -0x000C($t0) ## FFFFFF88 -/* 05610 808D03D0 8DD9FFF8 */ lw $t9, -0x0008($t6) ## 808D1B54 -/* 05614 808D03D4 AD19FFF8 */ sw $t9, -0x0008($t0) ## FFFFFF8C -/* 05618 808D03D8 8DCFFFFC */ lw $t7, -0x0004($t6) ## 808D1B58 -/* 0561C 808D03DC 15D8FFF8 */ bne $t6, $t8, .L808D03C0 -/* 05620 808D03E0 AD0FFFFC */ sw $t7, -0x0004($t0) ## FFFFFF90 -/* 05624 808D03E4 8DCF0000 */ lw $t7, 0x0000($t6) ## 808D1B5C -/* 05628 808D03E8 3C0D808D */ lui $t5, %hi(D_808D1B78) ## $t5 = 808D0000 -/* 0562C 808D03EC 25AD1B78 */ addiu $t5, $t5, %lo(D_808D1B78) ## $t5 = 808D1B78 -/* 05630 808D03F0 25AC0024 */ addiu $t4, $t5, 0x0024 ## $t4 = 808D1B9C -/* 05634 808D03F4 02E05825 */ or $t3, $s7, $zero ## $t3 = FFFFFF60 -/* 05638 808D03F8 AD0F0000 */ sw $t7, 0x0000($t0) ## FFFFFF94 -.L808D03FC: -/* 0563C 808D03FC 8DA90000 */ lw $t1, 0x0000($t5) ## 808D1B78 -/* 05640 808D0400 25AD000C */ addiu $t5, $t5, 0x000C ## $t5 = 808D1B84 -/* 05644 808D0404 256B000C */ addiu $t3, $t3, 0x000C ## $t3 = FFFFFF6C -/* 05648 808D0408 AD69FFF4 */ sw $t1, -0x000C($t3) ## FFFFFF60 -/* 0564C 808D040C 8DAAFFF8 */ lw $t2, -0x0008($t5) ## 808D1B7C -/* 05650 808D0410 AD6AFFF8 */ sw $t2, -0x0008($t3) ## FFFFFF64 -/* 05654 808D0414 8DA9FFFC */ lw $t1, -0x0004($t5) ## 808D1B80 -/* 05658 808D0418 15ACFFF8 */ bne $t5, $t4, .L808D03FC -/* 0565C 808D041C AD69FFFC */ sw $t1, -0x0004($t3) ## FFFFFF68 -/* 05660 808D0420 8DA90000 */ lw $t1, 0x0000($t5) ## 808D1B84 -/* 05664 808D0424 3C06808D */ lui $a2, %hi(D_808D1DAC) ## $a2 = 808D0000 -/* 05668 808D0428 24C61DAC */ addiu $a2, $a2, %lo(D_808D1DAC) ## $a2 = 808D1DAC -/* 0566C 808D042C AD690000 */ sw $t1, 0x0000($t3) ## FFFFFF6C -/* 05670 808D0430 8FB80168 */ lw $t8, 0x0168($sp) -/* 05674 808D0434 27A4008C */ addiu $a0, $sp, 0x008C ## $a0 = FFFFFF24 -/* 05678 808D0438 24071143 */ addiu $a3, $zero, 0x1143 ## $a3 = 00001143 -/* 0567C 808D043C 8F050000 */ lw $a1, 0x0000($t8) ## 808D1B74 -/* 05680 808D0440 0C031AB1 */ jal Graph_OpenDisps -/* 05684 808D0444 00A0A825 */ or $s5, $a1, $zero ## $s5 = 00000000 -/* 05688 808D0448 866E021E */ lh $t6, 0x021E($s3) ## 0000021E -/* 0568C 808D044C 3C0C0601 */ lui $t4, 0x0601 ## $t4 = 06010000 -/* 05690 808D0450 2419000A */ addiu $t9, $zero, 0x000A ## $t9 = 0000000A -/* 05694 808D0454 A7AE00C2 */ sh $t6, 0x00C2($sp) -/* 05698 808D0458 87A800C2 */ lh $t0, 0x00C2($sp) -/* 0569C 808D045C 258C91E8 */ addiu $t4, $t4, 0x91E8 ## $t4 = 060091E8 -/* 056A0 808D0460 2901000B */ slti $at, $t0, 0x000B -/* 056A4 808D0464 54200003 */ bnel $at, $zero, .L808D0474 -/* 056A8 808D0468 87AF00C2 */ lh $t7, 0x00C2($sp) -/* 056AC 808D046C A7B900C2 */ sh $t9, 0x00C2($sp) -/* 056B0 808D0470 87AF00C2 */ lh $t7, 0x00C2($sp) -.L808D0474: -/* 056B4 808D0474 00009025 */ or $s2, $zero, $zero ## $s2 = 00000000 -/* 056B8 808D0478 3C01808D */ lui $at, %hi(D_808D1FA8) ## $at = 808D0000 -/* 056BC 808D047C 59E000B1 */ blezl $t7, .L808D0744 -/* 056C0 808D0480 8FB80168 */ lw $t8, 0x0168($sp) -/* 056C4 808D0484 C43E1FA8 */ lwc1 $f30, %lo(D_808D1FA8)($at) -/* 056C8 808D0488 3C01808D */ lui $at, %hi(D_808D1FAC) ## $at = 808D0000 -/* 056CC 808D048C C43C1FAC */ lwc1 $f28, %lo(D_808D1FAC)($at) -/* 056D0 808D0490 3C01808D */ lui $at, %hi(D_808D1FB0) ## $at = 808D0000 -/* 056D4 808D0494 4480C000 */ mtc1 $zero, $f24 ## $f24 = 0.00 -/* 056D8 808D0498 C43A1FB0 */ lwc1 $f26, %lo(D_808D1FB0)($at) -/* 056DC 808D049C 93BE017F */ lbu $s8, 0x017F($sp) -/* 056E0 808D04A0 AFAC0074 */ sw $t4, 0x0074($sp) -/* 056E4 808D04A4 866D022A */ lh $t5, 0x022A($s3) ## 0000022A -.L808D04A8: -/* 056E8 808D04A8 00125840 */ sll $t3, $s2, 1 -/* 056EC 808D04AC 2401001E */ addiu $at, $zero, 0x001E ## $at = 0000001E -/* 056F0 808D04B0 01ABA023 */ subu $s4, $t5, $t3 -/* 056F4 808D04B4 2694001E */ addiu $s4, $s4, 0x001E ## $s4 = 0000001E -/* 056F8 808D04B8 0281001A */ div $zero, $s4, $at -/* 056FC 808D04BC 0000A010 */ mfhi $s4 -/* 05700 808D04C0 0014A400 */ sll $s4, $s4, 16 -/* 05704 808D04C4 17C00015 */ bne $s8, $zero, .L808D051C -/* 05708 808D04C8 0014A403 */ sra $s4, $s4, 16 -/* 0570C 808D04CC 00121080 */ sll $v0, $s2, 2 -/* 05710 808D04D0 E7B800BC */ swc1 $f24, 0x00BC($sp) -/* 05714 808D04D4 E7B800B4 */ swc1 $f24, 0x00B4($sp) -/* 05718 808D04D8 02C25021 */ addu $t2, $s6, $v0 -/* 0571C 808D04DC C5440000 */ lwc1 $f4, 0x0000($t2) ## 00000000 -/* 05720 808D04E0 3C014120 */ lui $at, 0x4120 ## $at = 41200000 -/* 05724 808D04E4 44814000 */ mtc1 $at, $f8 ## $f8 = 10.00 -/* 05728 808D04E8 461E2182 */ mul.s $f6, $f4, $f30 -/* 0572C 808D04EC C67013C8 */ lwc1 $f16, 0x13C8($s3) ## 000013C8 -/* 05730 808D04F0 02E24821 */ addu $t1, $s7, $v0 -/* 05734 808D04F4 4600C506 */ mov.s $f20, $f24 -/* 05738 808D04F8 46083282 */ mul.s $f10, $f6, $f8 -/* 0573C 808D04FC 00000000 */ nop -/* 05740 808D0500 46105482 */ mul.s $f18, $f10, $f16 -/* 05744 808D0504 E7B200B8 */ swc1 $f18, 0x00B8($sp) -/* 05748 808D0508 C66613C8 */ lwc1 $f6, 0x13C8($s3) ## 000013C8 -/* 0574C 808D050C C5240000 */ lwc1 $f4, 0x0000($t1) ## 00000000 -/* 05750 808D0510 46062582 */ mul.s $f22, $f4, $f6 -/* 05754 808D0514 10000034 */ beq $zero, $zero, .L808D05E8 -/* 05758 808D0518 00000000 */ nop -.L808D051C: -/* 0575C 808D051C 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 05760 808D0520 17C1001A */ bne $s8, $at, .L808D058C -/* 05764 808D0524 00121080 */ sll $v0, $s2, 2 -/* 05768 808D0528 00121080 */ sll $v0, $s2, 2 -/* 0576C 808D052C 02E2C021 */ addu $t8, $s7, $v0 -/* 05770 808D0530 C7080000 */ lwc1 $f8, 0x0000($t8) ## 00000000 -/* 05774 808D0534 C66013C8 */ lwc1 $f0, 0x13C8($s3) ## 000013C8 -/* 05778 808D0538 03A27021 */ addu $t6, $sp, $v0 -/* 0577C 808D053C C5D000F0 */ lwc1 $f16, 0x00F0($t6) ## 000000F0 -/* 05780 808D0540 46004282 */ mul.s $f10, $f8, $f0 -/* 05784 808D0544 02C24021 */ addu $t0, $s6, $v0 -/* 05788 808D0548 C5120000 */ lwc1 $f18, 0x0000($t0) ## 00000000 -/* 0578C 808D054C 03A2C821 */ addu $t9, $sp, $v0 -/* 05790 808D0550 461A5582 */ mul.s $f22, $f10, $f26 -/* 05794 808D0554 00000000 */ nop -/* 05798 808D0558 46008502 */ mul.s $f20, $f16, $f0 -/* 0579C 808D055C 00000000 */ nop -/* 057A0 808D0560 46009102 */ mul.s $f4, $f18, $f0 -/* 057A4 808D0564 00000000 */ nop -/* 057A8 808D0568 461A2182 */ mul.s $f6, $f4, $f26 -/* 057AC 808D056C E7A600B8 */ swc1 $f6, 0x00B8($sp) -/* 057B0 808D0570 C7280118 */ lwc1 $f8, 0x0118($t9) ## 00000122 -/* 057B4 808D0574 C67013C8 */ lwc1 $f16, 0x13C8($s3) ## 000013C8 -/* 057B8 808D0578 E7B800BC */ swc1 $f24, 0x00BC($sp) -/* 057BC 808D057C 46004287 */ neg.s $f10, $f8 -/* 057C0 808D0580 46105482 */ mul.s $f18, $f10, $f16 -/* 057C4 808D0584 10000018 */ beq $zero, $zero, .L808D05E8 -/* 057C8 808D0588 E7B200B4 */ swc1 $f18, 0x00B4($sp) -.L808D058C: -/* 057CC 808D058C 02E27821 */ addu $t7, $s7, $v0 -/* 057D0 808D0590 C5E40000 */ lwc1 $f4, 0x0000($t7) ## 00000000 -/* 057D4 808D0594 C66013C8 */ lwc1 $f0, 0x13C8($s3) ## 000013C8 -/* 057D8 808D0598 03A26021 */ addu $t4, $sp, $v0 -/* 057DC 808D059C C58800F0 */ lwc1 $f8, 0x00F0($t4) ## 060092D8 -/* 057E0 808D05A0 46002182 */ mul.s $f6, $f4, $f0 -/* 057E4 808D05A4 02C26821 */ addu $t5, $s6, $v0 -/* 057E8 808D05A8 46004287 */ neg.s $f10, $f8 -/* 057EC 808D05AC C5B00000 */ lwc1 $f16, 0x0000($t5) ## 00000000 -/* 057F0 808D05B0 03A25821 */ addu $t3, $sp, $v0 -/* 057F4 808D05B4 461A3582 */ mul.s $f22, $f6, $f26 -/* 057F8 808D05B8 00000000 */ nop -/* 057FC 808D05BC 46005502 */ mul.s $f20, $f10, $f0 -/* 05800 808D05C0 00000000 */ nop -/* 05804 808D05C4 46008482 */ mul.s $f18, $f16, $f0 -/* 05808 808D05C8 00000000 */ nop -/* 0580C 808D05CC 461A9102 */ mul.s $f4, $f18, $f26 -/* 05810 808D05D0 E7A400B8 */ swc1 $f4, 0x00B8($sp) -/* 05814 808D05D4 C66813C8 */ lwc1 $f8, 0x13C8($s3) ## 000013C8 -/* 05818 808D05D8 C5660118 */ lwc1 $f6, 0x0118($t3) ## 00000118 -/* 0581C 808D05DC E7B800BC */ swc1 $f24, 0x00BC($sp) -/* 05820 808D05E0 46083282 */ mul.s $f10, $f6, $f8 -/* 05824 808D05E4 E7AA00B4 */ swc1 $f10, 0x00B4($sp) -.L808D05E8: -/* 05828 808D05E8 8FAA0174 */ lw $t2, 0x0174($sp) -/* 0582C 808D05EC 00148880 */ sll $s1, $s4, 2 -/* 05830 808D05F0 02348823 */ subu $s1, $s1, $s4 -/* 05834 808D05F4 00118880 */ sll $s1, $s1, 2 -/* 05838 808D05F8 022A8021 */ addu $s0, $s1, $t2 -/* 0583C 808D05FC C60C0004 */ lwc1 $f12, 0x0004($s0) ## 00000004 -/* 05840 808D0600 0C034348 */ jal Matrix_RotateY -/* 05844 808D0604 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000 -/* 05848 808D0608 C60C0000 */ lwc1 $f12, 0x0000($s0) ## 00000000 -/* 0584C 808D060C 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 05850 808D0610 0C0342DC */ jal Matrix_RotateX -/* 05854 808D0614 46006307 */ neg.s $f12, $f12 -/* 05858 808D0618 27A400B4 */ addiu $a0, $sp, 0x00B4 ## $a0 = FFFFFF4C -/* 0585C 808D061C 0C0346BD */ jal Matrix_MultVec3f -/* 05860 808D0620 27A500A8 */ addiu $a1, $sp, 0x00A8 ## $a1 = FFFFFF40 -/* 05864 808D0624 8FA90170 */ lw $t1, 0x0170($sp) -/* 05868 808D0628 C7B200A8 */ lwc1 $f18, 0x00A8($sp) -/* 0586C 808D062C C7AA00B0 */ lwc1 $f10, 0x00B0($sp) -/* 05870 808D0630 02291021 */ addu $v0, $s1, $t1 -/* 05874 808D0634 C4500000 */ lwc1 $f16, 0x0000($v0) ## 00000000 -/* 05878 808D0638 C4480008 */ lwc1 $f8, 0x0008($v0) ## 00000008 -/* 0587C 808D063C C4440004 */ lwc1 $f4, 0x0004($v0) ## 00000004 -/* 05880 808D0640 46128300 */ add.s $f12, $f16, $f18 -/* 05884 808D0644 C7A600AC */ lwc1 $f6, 0x00AC($sp) -/* 05888 808D0648 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 -/* 0588C 808D064C 460A4400 */ add.s $f16, $f8, $f10 -/* 05890 808D0650 46062380 */ add.s $f14, $f4, $f6 -/* 05894 808D0654 44068000 */ mfc1 $a2, $f16 -/* 05898 808D0658 0C034261 */ jal Matrix_Translate -/* 0589C 808D065C 00000000 */ nop -/* 058A0 808D0660 C6120004 */ lwc1 $f18, 0x0004($s0) ## 00000004 -/* 058A4 808D0664 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 058A8 808D0668 0C034348 */ jal Matrix_RotateY -/* 058AC 808D066C 46149300 */ add.s $f12, $f18, $f20 -/* 058B0 808D0670 C6040000 */ lwc1 $f4, 0x0000($s0) ## 00000000 -/* 058B4 808D0674 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 058B8 808D0678 46162300 */ add.s $f12, $f4, $f22 -/* 058BC 808D067C 0C0342DC */ jal Matrix_RotateX -/* 058C0 808D0680 46006307 */ neg.s $f12, $f12 -/* 058C4 808D0684 44924000 */ mtc1 $s2, $f8 ## $f8 = 0.00 -/* 058C8 808D0688 3C01808D */ lui $at, %hi(D_808D1FB4) ## $at = 808D0000 -/* 058CC 808D068C C4301FB4 */ lwc1 $f16, %lo(D_808D1FB4)($at) -/* 058D0 808D0690 468042A0 */ cvt.s.w $f10, $f8 -/* 058D4 808D0694 8FB80178 */ lw $t8, 0x0178($sp) -/* 058D8 808D0698 00147080 */ sll $t6, $s4, 2 -/* 058DC 808D069C 4406E000 */ mfc1 $a2, $f28 -/* 058E0 808D06A0 030E4021 */ addu $t0, $t8, $t6 -/* 058E4 808D06A4 C5060000 */ lwc1 $f6, 0x0000($t0) ## 00000000 -/* 058E8 808D06A8 46105482 */ mul.s $f18, $f10, $f16 -/* 058EC 808D06AC 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 058F0 808D06B0 4612E101 */ sub.s $f4, $f28, $f18 -/* 058F4 808D06B4 46043302 */ mul.s $f12, $f6, $f4 -/* 058F8 808D06B8 0C0342A3 */ jal Matrix_Scale -/* 058FC 808D06BC 46006386 */ mov.s $f14, $f12 -/* 05900 808D06C0 3C01808D */ lui $at, %hi(D_808D1FB8) ## $at = 808D0000 -/* 05904 808D06C4 C42C1FB8 */ lwc1 $f12, %lo(D_808D1FB8)($at) -/* 05908 808D06C8 0C0342DC */ jal Matrix_RotateX -/* 0590C 808D06CC 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 05910 808D06D0 8EA202D0 */ lw $v0, 0x02D0($s5) ## 000002D0 -/* 05914 808D06D4 3C0FDA38 */ lui $t7, 0xDA38 ## $t7 = DA380000 -/* 05918 808D06D8 35EF0003 */ ori $t7, $t7, 0x0003 ## $t7 = DA380003 -/* 0591C 808D06DC 24590008 */ addiu $t9, $v0, 0x0008 ## $t9 = 00000008 -/* 05920 808D06E0 AEB902D0 */ sw $t9, 0x02D0($s5) ## 000002D0 -/* 05924 808D06E4 AC4F0000 */ sw $t7, 0x0000($v0) ## 00000000 -/* 05928 808D06E8 8FAC0168 */ lw $t4, 0x0168($sp) -/* 0592C 808D06EC 3C05808D */ lui $a1, %hi(D_808D1DBC) ## $a1 = 808D0000 -/* 05930 808D06F0 24A51DBC */ addiu $a1, $a1, %lo(D_808D1DBC) ## $a1 = 808D1DBC -/* 05934 808D06F4 24061180 */ addiu $a2, $zero, 0x1180 ## $a2 = 00001180 -/* 05938 808D06F8 00408025 */ or $s0, $v0, $zero ## $s0 = 00000000 -/* 0593C 808D06FC 0C0346A2 */ jal Matrix_NewMtx -/* 05940 808D0700 8D840000 */ lw $a0, 0x0000($t4) ## 00000000 -/* 05944 808D0704 AE020004 */ sw $v0, 0x0004($s0) ## 00000004 -/* 05948 808D0708 8EA202D0 */ lw $v0, 0x02D0($s5) ## 000002D0 -/* 0594C 808D070C 3C0BDE00 */ lui $t3, 0xDE00 ## $t3 = DE000000 -/* 05950 808D0710 26520001 */ addiu $s2, $s2, 0x0001 ## $s2 = 00000001 -/* 05954 808D0714 244D0008 */ addiu $t5, $v0, 0x0008 ## $t5 = 00000008 -/* 05958 808D0718 AEAD02D0 */ sw $t5, 0x02D0($s5) ## 000002D0 -/* 0595C 808D071C AC4B0000 */ sw $t3, 0x0000($v0) ## 00000000 -/* 05960 808D0720 8FAA0074 */ lw $t2, 0x0074($sp) -/* 05964 808D0724 00129400 */ sll $s2, $s2, 16 -/* 05968 808D0728 00129403 */ sra $s2, $s2, 16 -/* 0596C 808D072C AC4A0004 */ sw $t2, 0x0004($v0) ## 00000004 -/* 05970 808D0730 87A900C2 */ lh $t1, 0x00C2($sp) -/* 05974 808D0734 0249082A */ slt $at, $s2, $t1 -/* 05978 808D0738 5420FF5B */ bnel $at, $zero, .L808D04A8 -/* 0597C 808D073C 866D022A */ lh $t5, 0x022A($s3) ## 0000022A -/* 05980 808D0740 8FB80168 */ lw $t8, 0x0168($sp) -.L808D0744: -/* 05984 808D0744 3C06808D */ lui $a2, %hi(D_808D1DCC) ## $a2 = 808D0000 -/* 05988 808D0748 24C61DCC */ addiu $a2, $a2, %lo(D_808D1DCC) ## $a2 = 808D1DCC -/* 0598C 808D074C 27A4008C */ addiu $a0, $sp, 0x008C ## $a0 = FFFFFF24 -/* 05990 808D0750 24071183 */ addiu $a3, $zero, 0x1183 ## $a3 = 00001183 -/* 05994 808D0754 0C031AD5 */ jal Graph_CloseDisps -/* 05998 808D0758 8F050000 */ lw $a1, 0x0000($t8) ## 00000000 -/* 0599C 808D075C 8FBF006C */ lw $ra, 0x006C($sp) -/* 059A0 808D0760 D7B40018 */ ldc1 $f20, 0x0018($sp) -/* 059A4 808D0764 D7B60020 */ ldc1 $f22, 0x0020($sp) -/* 059A8 808D0768 D7B80028 */ ldc1 $f24, 0x0028($sp) -/* 059AC 808D076C D7BA0030 */ ldc1 $f26, 0x0030($sp) -/* 059B0 808D0770 D7BC0038 */ ldc1 $f28, 0x0038($sp) -/* 059B4 808D0774 D7BE0040 */ ldc1 $f30, 0x0040($sp) -/* 059B8 808D0778 8FB00048 */ lw $s0, 0x0048($sp) -/* 059BC 808D077C 8FB1004C */ lw $s1, 0x004C($sp) -/* 059C0 808D0780 8FB20050 */ lw $s2, 0x0050($sp) -/* 059C4 808D0784 8FB30054 */ lw $s3, 0x0054($sp) -/* 059C8 808D0788 8FB40058 */ lw $s4, 0x0058($sp) -/* 059CC 808D078C 8FB5005C */ lw $s5, 0x005C($sp) -/* 059D0 808D0790 8FB60060 */ lw $s6, 0x0060($sp) -/* 059D4 808D0794 8FB70064 */ lw $s7, 0x0064($sp) -/* 059D8 808D0798 8FBE0068 */ lw $s8, 0x0068($sp) -/* 059DC 808D079C 03E00008 */ jr $ra -/* 059E0 808D07A0 27BD0168 */ addiu $sp, $sp, 0x0168 ## $sp = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808D07A4.s b/asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808D07A4.s deleted file mode 100644 index 1442b594fa..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808D07A4.s +++ /dev/null @@ -1,78 +0,0 @@ -.late_rodata -glabel D_808D1FBC - .float 0.1 - -.text -glabel func_808D07A4 -/* 059E4 808D07A4 AFA40000 */ sw $a0, 0x0000($sp) -/* 059E8 808D07A8 24040002 */ addiu $a0, $zero, 0x0002 ## $a0 = 00000002 -/* 059EC 808D07AC 10A40016 */ beq $a1, $a0, .L808D0808 -/* 059F0 808D07B0 AFA7000C */ sw $a3, 0x000C($sp) -/* 059F4 808D07B4 24010005 */ addiu $at, $zero, 0x0005 ## $at = 00000005 -/* 059F8 808D07B8 10A10006 */ beq $a1, $at, .L808D07D4 -/* 059FC 808D07BC 8FA20014 */ lw $v0, 0x0014($sp) -/* 05A00 808D07C0 24010006 */ addiu $at, $zero, 0x0006 ## $at = 00000006 -/* 05A04 808D07C4 50A10004 */ beql $a1, $at, .L808D07D8 -/* 05A08 808D07C8 8FA30010 */ lw $v1, 0x0010($sp) -/* 05A0C 808D07CC 1000001A */ beq $zero, $zero, .L808D0838 -/* 05A10 808D07D0 8FA20014 */ lw $v0, 0x0014($sp) -.L808D07D4: -/* 05A14 808D07D4 8FA30010 */ lw $v1, 0x0010($sp) -.L808D07D8: -/* 05A18 808D07D8 3C01808D */ lui $at, %hi(D_808D1FBC) ## $at = 808D0000 -/* 05A1C 808D07DC C4261FBC */ lwc1 $f6, %lo(D_808D1FBC)($at) -/* 05A20 808D07E0 846E0004 */ lh $t6, 0x0004($v1) ## 00000004 -/* 05A24 808D07E4 C44413CC */ lwc1 $f4, 0x13CC($v0) ## 000013CC -/* 05A28 808D07E8 448E5000 */ mtc1 $t6, $f10 ## $f10 = 0.00 -/* 05A2C 808D07EC 46062202 */ mul.s $f8, $f4, $f6 -/* 05A30 808D07F0 46805420 */ cvt.s.w $f16, $f10 -/* 05A34 808D07F4 46088481 */ sub.s $f18, $f16, $f8 -/* 05A38 808D07F8 4600910D */ trunc.w.s $f4, $f18 -/* 05A3C 808D07FC 44182000 */ mfc1 $t8, $f4 -/* 05A40 808D0800 1000000D */ beq $zero, $zero, .L808D0838 -/* 05A44 808D0804 A4780004 */ sh $t8, 0x0004($v1) ## 00000004 -.L808D0808: -/* 05A48 808D0808 8FA30010 */ lw $v1, 0x0010($sp) -/* 05A4C 808D080C 8FA20014 */ lw $v0, 0x0014($sp) -/* 05A50 808D0810 84790004 */ lh $t9, 0x0004($v1) ## 00000004 -/* 05A54 808D0814 C45013CC */ lwc1 $f16, 0x13CC($v0) ## 000013CC -/* 05A58 808D0818 44993000 */ mtc1 $t9, $f6 ## $f6 = 0.00 -/* 05A5C 808D081C 00000000 */ nop -/* 05A60 808D0820 468032A0 */ cvt.s.w $f10, $f6 -/* 05A64 808D0824 46105200 */ add.s $f8, $f10, $f16 -/* 05A68 808D0828 4600448D */ trunc.w.s $f18, $f8 -/* 05A6C 808D082C 44099000 */ mfc1 $t1, $f18 -/* 05A70 808D0830 00000000 */ nop -/* 05A74 808D0834 A4690004 */ sh $t1, 0x0004($v1) ## 00000004 -.L808D0838: -/* 05A78 808D0838 904A02D7 */ lbu $t2, 0x02D7($v0) ## 000002D7 -/* 05A7C 808D083C 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 05A80 808D0840 15410005 */ bne $t2, $at, .L808D0858 -/* 05A84 808D0844 24010005 */ addiu $at, $zero, 0x0005 ## $at = 00000005 -/* 05A88 808D0848 14A10003 */ bne $a1, $at, .L808D0858 -/* 05A8C 808D084C 3C0B0600 */ lui $t3, 0x0600 ## $t3 = 06000000 -/* 05A90 808D0850 256B59F8 */ addiu $t3, $t3, 0x59F8 ## $t3 = 060059F8 -/* 05A94 808D0854 ACCB0000 */ sw $t3, 0x0000($a2) ## 00000000 -.L808D0858: -/* 05A98 808D0858 844C021E */ lh $t4, 0x021E($v0) ## 0000021E -/* 05A9C 808D085C 24010006 */ addiu $at, $zero, 0x0006 ## $at = 00000006 -/* 05AA0 808D0860 1580000E */ bne $t4, $zero, .L808D089C -/* 05AA4 808D0864 00000000 */ nop -/* 05AA8 808D0868 14A10005 */ bne $a1, $at, .L808D0880 -/* 05AAC 808D086C 3C0D0601 */ lui $t5, 0x0601 ## $t5 = 06010000 -/* 05AB0 808D0870 25ADCBC8 */ addiu $t5, $t5, 0xCBC8 ## $t5 = 0600CBC8 -/* 05AB4 808D0874 ACCD0000 */ sw $t5, 0x0000($a2) ## 00000000 -/* 05AB8 808D0878 03E00008 */ jr $ra -/* 05ABC 808D087C 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000 -.L808D0880: -/* 05AC0 808D0880 14A40005 */ bne $a1, $a0, .L808D0898 -/* 05AC4 808D0884 3C0E0601 */ lui $t6, 0x0601 ## $t6 = 06010000 -/* 05AC8 808D0888 25CED0A0 */ addiu $t6, $t6, 0xD0A0 ## $t6 = 0600D0A0 -/* 05ACC 808D088C ACCE0000 */ sw $t6, 0x0000($a2) ## 00000000 -/* 05AD0 808D0890 03E00008 */ jr $ra -/* 05AD4 808D0894 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000 -.L808D0898: -/* 05AD8 808D0898 ACC00000 */ sw $zero, 0x0000($a2) ## 00000000 -.L808D089C: -/* 05ADC 808D089C 03E00008 */ jr $ra -/* 05AE0 808D08A0 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808D08A4.s b/asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808D08A4.s deleted file mode 100644 index 0350d4e516..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808D08A4.s +++ /dev/null @@ -1,23 +0,0 @@ -glabel func_808D08A4 -/* 05AE4 808D08A4 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 05AE8 808D08A8 24010005 */ addiu $at, $zero, 0x0005 ## $at = 00000005 -/* 05AEC 808D08AC AFBF0014 */ sw $ra, 0x0014($sp) -/* 05AF0 808D08B0 AFA40018 */ sw $a0, 0x0018($sp) -/* 05AF4 808D08B4 AFA60020 */ sw $a2, 0x0020($sp) -/* 05AF8 808D08B8 14A1000B */ bne $a1, $at, .L808D08E8 -/* 05AFC 808D08BC AFA70024 */ sw $a3, 0x0024($sp) -/* 05B00 808D08C0 8FA50028 */ lw $a1, 0x0028($sp) -/* 05B04 808D08C4 3C04808D */ lui $a0, %hi(D_808D1BA0) ## $a0 = 808D0000 -/* 05B08 808D08C8 24841BA0 */ addiu $a0, $a0, %lo(D_808D1BA0) ## $a0 = 808D1BA0 -/* 05B0C 808D08CC 0C0346BD */ jal Matrix_MultVec3f -/* 05B10 808D08D0 24A50038 */ addiu $a1, $a1, 0x0038 ## $a1 = 00000038 -/* 05B14 808D08D4 8FA50028 */ lw $a1, 0x0028($sp) -/* 05B18 808D08D8 3C04808D */ lui $a0, %hi(D_808D1BAC) ## $a0 = 808D0000 -/* 05B1C 808D08DC 24841BAC */ addiu $a0, $a0, %lo(D_808D1BAC) ## $a0 = 808D1BAC -/* 05B20 808D08E0 0C0346BD */ jal Matrix_MultVec3f -/* 05B24 808D08E4 24A513F4 */ addiu $a1, $a1, 0x13F4 ## $a1 = 000013F4 -.L808D08E8: -/* 05B28 808D08E8 8FBF0014 */ lw $ra, 0x0014($sp) -/* 05B2C 808D08EC 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 05B30 808D08F0 03E00008 */ jr $ra -/* 05B34 808D08F4 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808D08F8.s b/asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808D08F8.s deleted file mode 100644 index 91e24537ea..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808D08F8.s +++ /dev/null @@ -1,957 +0,0 @@ -.rdata -glabel D_808D1DDC - .asciz "../z_boss_fd.c" - .balign 4 - -glabel D_808D1DEC - .asciz "LH\n" - .balign 4 - -glabel D_808D1DF0 - .asciz "RH\n" - .balign 4 - -glabel D_808D1DF4 - .asciz "BD\n" - .balign 4 - -glabel D_808D1DF8 - .asciz "../z_boss_fd.c" - .balign 4 - -glabel D_808D1E08 - .asciz "../z_boss_fd.c" - .balign 4 - -glabel D_808D1E18 - .asciz "BH\n" - .balign 4 - -glabel D_808D1E1C - .asciz "BHC\n" - .balign 4 - -glabel D_808D1E24 - .asciz "BHCE\n" - .balign 4 - -glabel D_808D1E2C - .asciz "SK\n" - .balign 4 - -glabel D_808D1E30 - .asciz "END\n" - .balign 4 - -glabel D_808D1E38 - .asciz "../z_boss_fd.c" - .balign 4 - -.late_rodata -glabel D_808D1FC0 - .float 0.1 - -glabel D_808D1FC4 - .float 7000.0 - -glabel D_808D1FC8 - .float 5000.0 - -glabel D_808D1FCC - .float 5000.0 - -glabel D_808D1FD0 - .float 1.57079637051 - -glabel D_808D1FD4 - .word 0xC0490FDB -glabel D_808D1FD8 - .float 0.2 - -glabel D_808D1FDC - .float 3.14159274101 - -.text -glabel func_808D08F8 -/* 05B38 808D08F8 27BDFE88 */ addiu $sp, $sp, 0xFE88 ## $sp = FFFFFE88 -/* 05B3C 808D08FC AFB60070 */ sw $s6, 0x0070($sp) -/* 05B40 808D0900 AFB30064 */ sw $s3, 0x0064($sp) -/* 05B44 808D0904 00A09825 */ or $s3, $a1, $zero ## $s3 = 00000000 -/* 05B48 808D0908 0080B025 */ or $s6, $a0, $zero ## $s6 = 00000000 -/* 05B4C 808D090C AFBF0074 */ sw $ra, 0x0074($sp) -/* 05B50 808D0910 AFB5006C */ sw $s5, 0x006C($sp) -/* 05B54 808D0914 AFB40068 */ sw $s4, 0x0068($sp) -/* 05B58 808D0918 AFB20060 */ sw $s2, 0x0060($sp) -/* 05B5C 808D091C AFB1005C */ sw $s1, 0x005C($sp) -/* 05B60 808D0920 AFB00058 */ sw $s0, 0x0058($sp) -/* 05B64 808D0924 F7BA0050 */ sdc1 $f26, 0x0050($sp) -/* 05B68 808D0928 F7B80048 */ sdc1 $f24, 0x0048($sp) -/* 05B6C 808D092C F7B60040 */ sdc1 $f22, 0x0040($sp) -/* 05B70 808D0930 F7B40038 */ sdc1 $f20, 0x0038($sp) -/* 05B74 808D0934 8C840000 */ lw $a0, 0x0000($a0) ## 00000000 -/* 05B78 808D0938 0C031A73 */ jal Graph_Alloc - -/* 05B7C 808D093C 24050480 */ addiu $a1, $zero, 0x0480 ## $a1 = 00000480 -/* 05B80 808D0940 8EC50000 */ lw $a1, 0x0000($s6) ## 00000000 -/* 05B84 808D0944 3C06808D */ lui $a2, %hi(D_808D1DDC) ## $a2 = 808D0000 -/* 05B88 808D0948 0040A825 */ or $s5, $v0, $zero ## $s5 = 00000000 -/* 05B8C 808D094C 24C61DDC */ addiu $a2, $a2, %lo(D_808D1DDC) ## $a2 = 808D1DDC -/* 05B90 808D0950 27A40158 */ addiu $a0, $sp, 0x0158 ## $a0 = FFFFFFE0 -/* 05B94 808D0954 240711ED */ addiu $a3, $zero, 0x11ED ## $a3 = 000011ED -/* 05B98 808D0958 0C031AB1 */ jal Graph_OpenDisps -/* 05B9C 808D095C 00A0A025 */ or $s4, $a1, $zero ## $s4 = 00000000 -/* 05BA0 808D0960 866E021E */ lh $t6, 0x021E($s3) ## 0000021E -/* 05BA4 808D0964 51C0001A */ beql $t6, $zero, .L808D09D0 -/* 05BA8 808D0968 8E8202C0 */ lw $v0, 0x02C0($s4) ## 000002C0 -/* 05BAC 808D096C 8E8202C0 */ lw $v0, 0x02C0($s4) ## 000002C0 -/* 05BB0 808D0970 3C18DB06 */ lui $t8, 0xDB06 ## $t8 = DB060000 -/* 05BB4 808D0974 37180024 */ ori $t8, $t8, 0x0024 ## $t8 = DB060024 -/* 05BB8 808D0978 244F0008 */ addiu $t7, $v0, 0x0008 ## $t7 = 00000008 -/* 05BBC 808D097C AE8F02C0 */ sw $t7, 0x02C0($s4) ## 000002C0 -/* 05BC0 808D0980 AC580000 */ sw $t8, 0x0000($v0) ## 00000000 -/* 05BC4 808D0984 927902D5 */ lbu $t9, 0x02D5($s3) ## 000002D5 -/* 05BC8 808D0988 3C04808D */ lui $a0, %hi(D_808D1BB8) ## $a0 = 808D0000 -/* 05BCC 808D098C 3C0D8016 */ lui $t5, %hi(gSegments) -/* 05BD0 808D0990 00194080 */ sll $t0, $t9, 2 -/* 05BD4 808D0994 00882021 */ addu $a0, $a0, $t0 -/* 05BD8 808D0998 8C841BB8 */ lw $a0, %lo(D_808D1BB8)($a0) -/* 05BDC 808D099C 3C0100FF */ lui $at, 0x00FF ## $at = 00FF0000 -/* 05BE0 808D09A0 3421FFFF */ ori $at, $at, 0xFFFF ## $at = 00FFFFFF -/* 05BE4 808D09A4 00045100 */ sll $t2, $a0, 4 -/* 05BE8 808D09A8 000A5F02 */ srl $t3, $t2, 28 -/* 05BEC 808D09AC 000B6080 */ sll $t4, $t3, 2 -/* 05BF0 808D09B0 01AC6821 */ addu $t5, $t5, $t4 -/* 05BF4 808D09B4 8DAD6FA8 */ lw $t5, %lo(gSegments)($t5) -/* 05BF8 808D09B8 00814824 */ and $t1, $a0, $at -/* 05BFC 808D09BC 3C018000 */ lui $at, 0x8000 ## $at = 80000000 -/* 05C00 808D09C0 012D7021 */ addu $t6, $t1, $t5 -/* 05C04 808D09C4 01C17821 */ addu $t7, $t6, $at -/* 05C08 808D09C8 AC4F0004 */ sw $t7, 0x0004($v0) ## 00000004 -/* 05C0C 808D09CC 8E8202C0 */ lw $v0, 0x02C0($s4) ## 000002C0 -.L808D09D0: -/* 05C10 808D09D0 3C19DB06 */ lui $t9, 0xDB06 ## $t9 = DB060000 -/* 05C14 808D09D4 37390020 */ ori $t9, $t9, 0x0020 ## $t9 = DB060020 -/* 05C18 808D09D8 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008 -/* 05C1C 808D09DC AE9802C0 */ sw $t8, 0x02C0($s4) ## 000002C0 -/* 05C20 808D09E0 AC590000 */ sw $t9, 0x0000($v0) ## 00000000 -/* 05C24 808D09E4 C6680258 */ lwc1 $f8, 0x0258($s3) ## 00000258 -/* 05C28 808D09E8 C6640254 */ lwc1 $f4, 0x0254($s3) ## 00000254 -/* 05C2C 808D09EC 8EC40000 */ lw $a0, 0x0000($s6) ## 00000000 -/* 05C30 808D09F0 240B0020 */ addiu $t3, $zero, 0x0020 ## $t3 = 00000020 -/* 05C34 808D09F4 240C0020 */ addiu $t4, $zero, 0x0020 ## $t4 = 00000020 -/* 05C38 808D09F8 24090001 */ addiu $t1, $zero, 0x0001 ## $t1 = 00000001 -/* 05C3C 808D09FC AFA90018 */ sw $t1, 0x0018($sp) -/* 05C40 808D0A00 AFAC0014 */ sw $t4, 0x0014($sp) -/* 05C44 808D0A04 AFAB0010 */ sw $t3, 0x0010($sp) -/* 05C48 808D0A08 C670025C */ lwc1 $f16, 0x025C($s3) ## 0000025C -/* 05C4C 808D0A0C 4600218D */ trunc.w.s $f6, $f4 -/* 05C50 808D0A10 24090020 */ addiu $t1, $zero, 0x0020 ## $t1 = 00000020 -/* 05C54 808D0A14 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000 -/* 05C58 808D0A18 4600848D */ trunc.w.s $f18, $f16 -/* 05C5C 808D0A1C 44063000 */ mfc1 $a2, $f6 -/* 05C60 808D0A20 00408025 */ or $s0, $v0, $zero ## $s0 = 00000000 -/* 05C64 808D0A24 4600428D */ trunc.w.s $f10, $f8 -/* 05C68 808D0A28 440E9000 */ mfc1 $t6, $f18 -/* 05C6C 808D0A2C 00063400 */ sll $a2, $a2, 16 -/* 05C70 808D0A30 00063403 */ sra $a2, $a2, 16 -/* 05C74 808D0A34 000E7C00 */ sll $t7, $t6, 16 -/* 05C78 808D0A38 000FC403 */ sra $t8, $t7, 16 -/* 05C7C 808D0A3C AFB8001C */ sw $t8, 0x001C($sp) -/* 05C80 808D0A40 C6640260 */ lwc1 $f4, 0x0260($s3) ## 00000260 -/* 05C84 808D0A44 44075000 */ mfc1 $a3, $f10 -/* 05C88 808D0A48 AFA90028 */ sw $t1, 0x0028($sp) -/* 05C8C 808D0A4C 4600218D */ trunc.w.s $f6, $f4 -/* 05C90 808D0A50 00073C00 */ sll $a3, $a3, 16 -/* 05C94 808D0A54 00073C03 */ sra $a3, $a3, 16 -/* 05C98 808D0A58 AFAC0024 */ sw $t4, 0x0024($sp) -/* 05C9C 808D0A5C 44083000 */ mfc1 $t0, $f6 -/* 05CA0 808D0A60 00000000 */ nop -/* 05CA4 808D0A64 00085400 */ sll $t2, $t0, 16 -/* 05CA8 808D0A68 000A5C03 */ sra $t3, $t2, 16 -/* 05CAC 808D0A6C 0C0253D0 */ jal Gfx_TwoTexScroll -/* 05CB0 808D0A70 AFAB0020 */ sw $t3, 0x0020($sp) -/* 05CB4 808D0A74 AE020004 */ sw $v0, 0x0004($s0) ## 00000004 -/* 05CB8 808D0A78 8E8202C0 */ lw $v0, 0x02C0($s4) ## 000002C0 -/* 05CBC 808D0A7C 3C0EFA00 */ lui $t6, 0xFA00 ## $t6 = FA000000 -/* 05CC0 808D0A80 240FFFFF */ addiu $t7, $zero, 0xFFFF ## $t7 = FFFFFFFF -/* 05CC4 808D0A84 244D0008 */ addiu $t5, $v0, 0x0008 ## $t5 = 00000008 -/* 05CC8 808D0A88 AE8D02C0 */ sw $t5, 0x02C0($s4) ## 000002C0 -/* 05CCC 808D0A8C AC4F0004 */ sw $t7, 0x0004($v0) ## 00000004 -/* 05CD0 808D0A90 AC4E0000 */ sw $t6, 0x0000($v0) ## 00000000 -/* 05CD4 808D0A94 8E8202C0 */ lw $v0, 0x02C0($s4) ## 000002C0 -/* 05CD8 808D0A98 3C19FB00 */ lui $t9, 0xFB00 ## $t9 = FB000000 -/* 05CDC 808D0A9C 2401FF00 */ addiu $at, $zero, 0xFF00 ## $at = FFFFFF00 -/* 05CE0 808D0AA0 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008 -/* 05CE4 808D0AA4 AE9802C0 */ sw $t8, 0x02C0($s4) ## 000002C0 -/* 05CE8 808D0AA8 AC590000 */ sw $t9, 0x0000($v0) ## 00000000 -/* 05CEC 808D0AAC C6680270 */ lwc1 $f8, 0x0270($s3) ## 00000270 -/* 05CF0 808D0AB0 3C04808D */ lui $a0, %hi(D_808D1DEC) ## $a0 = 808D0000 -/* 05CF4 808D0AB4 24841DEC */ addiu $a0, $a0, %lo(D_808D1DEC) ## $a0 = 808D1DEC -/* 05CF8 808D0AB8 4600428D */ trunc.w.s $f10, $f8 -/* 05CFC 808D0ABC 440C5000 */ mfc1 $t4, $f10 -/* 05D00 808D0AC0 00000000 */ nop -/* 05D04 808D0AC4 318900FF */ andi $t1, $t4, 0x00FF ## $t1 = 00000000 -/* 05D08 808D0AC8 01216825 */ or $t5, $t1, $at ## $t5 = FFFFFF00 -/* 05D0C 808D0ACC 0C00084C */ jal osSyncPrintf - -/* 05D10 808D0AD0 AC4D0004 */ sw $t5, 0x0004($v0) ## 00000004 -/* 05D14 808D0AD4 0C034213 */ jal Matrix_Push -/* 05D18 808D0AD8 00000000 */ nop -/* 05D1C 808D0ADC 3C0E808D */ lui $t6, %hi(D_808D1AC4) ## $t6 = 808D0000 -/* 05D20 808D0AE0 85CE1AC4 */ lh $t6, %lo(D_808D1AC4)($t6) -/* 05D24 808D0AE4 866F0228 */ lh $t7, 0x0228($s3) ## 00000228 -/* 05D28 808D0AE8 24010064 */ addiu $at, $zero, 0x0064 ## $at = 00000064 -/* 05D2C 808D0AEC 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 -/* 05D30 808D0AF0 01CF1021 */ addu $v0, $t6, $t7 -/* 05D34 808D0AF4 0041001A */ div $zero, $v0, $at -/* 05D38 808D0AF8 00001010 */ mfhi $v0 -/* 05D3C 808D0AFC 00021400 */ sll $v0, $v0, 16 -/* 05D40 808D0B00 00021403 */ sra $v0, $v0, 16 -/* 05D44 808D0B04 0002C080 */ sll $t8, $v0, 2 -/* 05D48 808D0B08 0302C023 */ subu $t8, $t8, $v0 -/* 05D4C 808D0B0C 0018C080 */ sll $t8, $t8, 2 -/* 05D50 808D0B10 02788021 */ addu $s0, $s3, $t8 -/* 05D54 808D0B14 C60C078C */ lwc1 $f12, 0x078C($s0) ## 0000078C -/* 05D58 808D0B18 C60E0790 */ lwc1 $f14, 0x0790($s0) ## 00000790 -/* 05D5C 808D0B1C 0C034261 */ jal Matrix_Translate -/* 05D60 808D0B20 8E060794 */ lw $a2, 0x0794($s0) ## 00000794 -/* 05D64 808D0B24 C60C02E0 */ lwc1 $f12, 0x02E0($s0) ## 000002E0 -/* 05D68 808D0B28 0C034348 */ jal Matrix_RotateY -/* 05D6C 808D0B2C 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 05D70 808D0B30 C60C02DC */ lwc1 $f12, 0x02DC($s0) ## 000002DC -/* 05D74 808D0B34 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 05D78 808D0B38 0C0342DC */ jal Matrix_RotateX -/* 05D7C 808D0B3C 46006307 */ neg.s $f12, $f12 -/* 05D80 808D0B40 3C014150 */ lui $at, 0x4150 ## $at = 41500000 -/* 05D84 808D0B44 4481A000 */ mtc1 $at, $f20 ## $f20 = 13.00 -/* 05D88 808D0B48 3C01C0A0 */ lui $at, 0xC0A0 ## $at = C0A00000 -/* 05D8C 808D0B4C 4481B000 */ mtc1 $at, $f22 ## $f22 = -5.00 -/* 05D90 808D0B50 3C01C150 */ lui $at, 0xC150 ## $at = C1500000 -/* 05D94 808D0B54 44816000 */ mtc1 $at, $f12 ## $f12 = -13.00 -/* 05D98 808D0B58 4406A000 */ mfc1 $a2, $f20 -/* 05D9C 808D0B5C 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 05DA0 808D0B60 0C034261 */ jal Matrix_Translate -/* 05DA4 808D0B64 4600B386 */ mov.s $f14, $f22 -/* 05DA8 808D0B68 3C01808D */ lui $at, %hi(D_808D1FC0) ## $at = 808D0000 -/* 05DAC 808D0B6C C4381FC0 */ lwc1 $f24, %lo(D_808D1FC0)($at) -/* 05DB0 808D0B70 C6700050 */ lwc1 $f16, 0x0050($s3) ## 00000050 -/* 05DB4 808D0B74 C6720054 */ lwc1 $f18, 0x0054($s3) ## 00000054 -/* 05DB8 808D0B78 C6640058 */ lwc1 $f4, 0x0058($s3) ## 00000058 -/* 05DBC 808D0B7C 46188302 */ mul.s $f12, $f16, $f24 -/* 05DC0 808D0B80 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 05DC4 808D0B84 46189382 */ mul.s $f14, $f18, $f24 -/* 05DC8 808D0B88 00000000 */ nop -/* 05DCC 808D0B8C 46182182 */ mul.s $f6, $f4, $f24 -/* 05DD0 808D0B90 44063000 */ mfc1 $a2, $f6 -/* 05DD4 808D0B94 0C0342A3 */ jal Matrix_Scale -/* 05DD8 808D0B98 00000000 */ nop -/* 05DDC 808D0B9C 8E650194 */ lw $a1, 0x0194($s3) ## 00000194 -/* 05DE0 808D0BA0 8E6601B0 */ lw $a2, 0x01B0($s3) ## 000001B0 -/* 05DE4 808D0BA4 3C07808D */ lui $a3, %hi(func_808D00A4) ## $a3 = 808D0000 -/* 05DE8 808D0BA8 24E700A4 */ addiu $a3, $a3, %lo(func_808D00A4) ## $a3 = 808D00A4 -/* 05DEC 808D0BAC AFB30014 */ sw $s3, 0x0014($sp) -/* 05DF0 808D0BB0 AFA00010 */ sw $zero, 0x0010($sp) -/* 05DF4 808D0BB4 0C028572 */ jal SkelAnime_DrawOpa - -/* 05DF8 808D0BB8 02C02025 */ or $a0, $s6, $zero ## $a0 = 00000000 -/* 05DFC 808D0BBC 0C034221 */ jal Matrix_Pop -/* 05E00 808D0BC0 00000000 */ nop -/* 05E04 808D0BC4 3C04808D */ lui $a0, %hi(D_808D1DF0) ## $a0 = 808D0000 -/* 05E08 808D0BC8 0C00084C */ jal osSyncPrintf - -/* 05E0C 808D0BCC 24841DF0 */ addiu $a0, $a0, %lo(D_808D1DF0) ## $a0 = 808D1DF0 -/* 05E10 808D0BD0 0C034213 */ jal Matrix_Push -/* 05E14 808D0BD4 00000000 */ nop -/* 05E18 808D0BD8 3C19808D */ lui $t9, %hi(D_808D1AC4) ## $t9 = 808D0000 -/* 05E1C 808D0BDC 87391AC4 */ lh $t9, %lo(D_808D1AC4)($t9) -/* 05E20 808D0BE0 86680228 */ lh $t0, 0x0228($s3) ## 00000228 -/* 05E24 808D0BE4 24010064 */ addiu $at, $zero, 0x0064 ## $at = 00000064 -/* 05E28 808D0BE8 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 -/* 05E2C 808D0BEC 03281021 */ addu $v0, $t9, $t0 -/* 05E30 808D0BF0 0041001A */ div $zero, $v0, $at -/* 05E34 808D0BF4 00001010 */ mfhi $v0 -/* 05E38 808D0BF8 00021400 */ sll $v0, $v0, 16 -/* 05E3C 808D0BFC 00021403 */ sra $v0, $v0, 16 -/* 05E40 808D0C00 00025080 */ sll $t2, $v0, 2 -/* 05E44 808D0C04 01425023 */ subu $t2, $t2, $v0 -/* 05E48 808D0C08 000A5080 */ sll $t2, $t2, 2 -/* 05E4C 808D0C0C 026A8021 */ addu $s0, $s3, $t2 -/* 05E50 808D0C10 C60C078C */ lwc1 $f12, 0x078C($s0) ## 0000078C -/* 05E54 808D0C14 C60E0790 */ lwc1 $f14, 0x0790($s0) ## 00000790 -/* 05E58 808D0C18 0C034261 */ jal Matrix_Translate -/* 05E5C 808D0C1C 8E060794 */ lw $a2, 0x0794($s0) ## 00000794 -/* 05E60 808D0C20 C60C02E0 */ lwc1 $f12, 0x02E0($s0) ## 000002E0 -/* 05E64 808D0C24 0C034348 */ jal Matrix_RotateY -/* 05E68 808D0C28 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 05E6C 808D0C2C C60C02DC */ lwc1 $f12, 0x02DC($s0) ## 000002DC -/* 05E70 808D0C30 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 05E74 808D0C34 0C0342DC */ jal Matrix_RotateX -/* 05E78 808D0C38 46006307 */ neg.s $f12, $f12 -/* 05E7C 808D0C3C 4406A000 */ mfc1 $a2, $f20 -/* 05E80 808D0C40 4600A306 */ mov.s $f12, $f20 -/* 05E84 808D0C44 4600B386 */ mov.s $f14, $f22 -/* 05E88 808D0C48 0C034261 */ jal Matrix_Translate -/* 05E8C 808D0C4C 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 05E90 808D0C50 C6680050 */ lwc1 $f8, 0x0050($s3) ## 00000050 -/* 05E94 808D0C54 C66A0054 */ lwc1 $f10, 0x0054($s3) ## 00000054 -/* 05E98 808D0C58 C6700058 */ lwc1 $f16, 0x0058($s3) ## 00000058 -/* 05E9C 808D0C5C 46184302 */ mul.s $f12, $f8, $f24 -/* 05EA0 808D0C60 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 05EA4 808D0C64 46185382 */ mul.s $f14, $f10, $f24 -/* 05EA8 808D0C68 00000000 */ nop -/* 05EAC 808D0C6C 46188482 */ mul.s $f18, $f16, $f24 -/* 05EB0 808D0C70 44069000 */ mfc1 $a2, $f18 -/* 05EB4 808D0C74 0C0342A3 */ jal Matrix_Scale -/* 05EB8 808D0C78 00000000 */ nop -/* 05EBC 808D0C7C 8E6501D8 */ lw $a1, 0x01D8($s3) ## 000001D8 -/* 05EC0 808D0C80 8E6601F4 */ lw $a2, 0x01F4($s3) ## 000001F4 -/* 05EC4 808D0C84 3C07808D */ lui $a3, %hi(func_808D01C0) ## $a3 = 808D0000 -/* 05EC8 808D0C88 24E701C0 */ addiu $a3, $a3, %lo(func_808D01C0) ## $a3 = 808D01C0 -/* 05ECC 808D0C8C AFB30014 */ sw $s3, 0x0014($sp) -/* 05ED0 808D0C90 AFA00010 */ sw $zero, 0x0010($sp) -/* 05ED4 808D0C94 0C028572 */ jal SkelAnime_DrawOpa - -/* 05ED8 808D0C98 02C02025 */ or $a0, $s6, $zero ## $a0 = 00000000 -/* 05EDC 808D0C9C 0C034221 */ jal Matrix_Pop -/* 05EE0 808D0CA0 00000000 */ nop -/* 05EE4 808D0CA4 3C04808D */ lui $a0, %hi(D_808D1DF4) ## $a0 = 808D0000 -/* 05EE8 808D0CA8 0C00084C */ jal osSyncPrintf - -/* 05EEC 808D0CAC 24841DF4 */ addiu $a0, $a0, %lo(D_808D1DF4) ## $a0 = 808D1DF4 -/* 05EF0 808D0CB0 8E8202C0 */ lw $v0, 0x02C0($s4) ## 000002C0 -/* 05EF4 808D0CB4 3C0CDB06 */ lui $t4, 0xDB06 ## $t4 = DB060000 -/* 05EF8 808D0CB8 358C0034 */ ori $t4, $t4, 0x0034 ## $t4 = DB060034 -/* 05EFC 808D0CBC 244B0008 */ addiu $t3, $v0, 0x0008 ## $t3 = 00000008 -/* 05F00 808D0CC0 AE8B02C0 */ sw $t3, 0x02C0($s4) ## 000002C0 -/* 05F04 808D0CC4 AC550004 */ sw $s5, 0x0004($v0) ## 00000004 -/* 05F08 808D0CC8 0C034213 */ jal Matrix_Push -/* 05F0C 808D0CCC AC4C0000 */ sw $t4, 0x0000($v0) ## 00000000 -/* 05F10 808D0CD0 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 05F14 808D0CD4 26691490 */ addiu $t1, $s3, 0x1490 ## $t1 = 00001490 -/* 05F18 808D0CD8 4481B000 */ mtc1 $at, $f22 ## $f22 = 1.00 -/* 05F1C 808D0CDC 4480D000 */ mtc1 $zero, $f26 ## $f26 = 0.00 -/* 05F20 808D0CE0 AFA9007C */ sw $t1, 0x007C($sp) -/* 05F24 808D0CE4 00008825 */ or $s1, $zero, $zero ## $s1 = 00000000 -.L808D0CE8: -/* 05F28 808D0CE8 00111840 */ sll $v1, $s1, 1 -/* 05F2C 808D0CEC 3C0D808D */ lui $t5, %hi(D_808D1AC2) ## $t5 = 808D0000 -/* 05F30 808D0CF0 01A36821 */ addu $t5, $t5, $v1 -/* 05F34 808D0CF4 85AD1AC2 */ lh $t5, %lo(D_808D1AC2)($t5) -/* 05F38 808D0CF8 866E0228 */ lh $t6, 0x0228($s3) ## 00000228 -/* 05F3C 808D0CFC 24010064 */ addiu $at, $zero, 0x0064 ## $at = 00000064 -/* 05F40 808D0D00 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 -/* 05F44 808D0D04 01AE1021 */ addu $v0, $t5, $t6 -/* 05F48 808D0D08 0041001A */ div $zero, $v0, $at -/* 05F4C 808D0D0C 00001010 */ mfhi $v0 -/* 05F50 808D0D10 00021400 */ sll $v0, $v0, 16 -/* 05F54 808D0D14 00021403 */ sra $v0, $v0, 16 -/* 05F58 808D0D18 00027880 */ sll $t7, $v0, 2 -/* 05F5C 808D0D1C 01E27823 */ subu $t7, $t7, $v0 -/* 05F60 808D0D20 000F7880 */ sll $t7, $t7, 2 -/* 05F64 808D0D24 026F8021 */ addu $s0, $s3, $t7 -/* 05F68 808D0D28 C60C078C */ lwc1 $f12, 0x078C($s0) ## 0000078C -/* 05F6C 808D0D2C C60E0790 */ lwc1 $f14, 0x0790($s0) ## 00000790 -/* 05F70 808D0D30 8E060794 */ lw $a2, 0x0794($s0) ## 00000794 -/* 05F74 808D0D34 0C034261 */ jal Matrix_Translate -/* 05F78 808D0D38 AFA30084 */ sw $v1, 0x0084($sp) -/* 05F7C 808D0D3C C60C02E0 */ lwc1 $f12, 0x02E0($s0) ## 000002E0 -/* 05F80 808D0D40 0C034348 */ jal Matrix_RotateY -/* 05F84 808D0D44 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 05F88 808D0D48 C60C02DC */ lwc1 $f12, 0x02DC($s0) ## 000002DC -/* 05F8C 808D0D4C 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 05F90 808D0D50 0C0342DC */ jal Matrix_RotateX -/* 05F94 808D0D54 46006307 */ neg.s $f12, $f12 -/* 05F98 808D0D58 4600D306 */ mov.s $f12, $f26 -/* 05F9C 808D0D5C 4600D386 */ mov.s $f14, $f26 -/* 05FA0 808D0D60 3C06420C */ lui $a2, 0x420C ## $a2 = 420C0000 -/* 05FA4 808D0D64 0C034261 */ jal Matrix_Translate -/* 05FA8 808D0D68 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 05FAC 808D0D6C C66C0050 */ lwc1 $f12, 0x0050($s3) ## 00000050 -/* 05FB0 808D0D70 C66E0054 */ lwc1 $f14, 0x0054($s3) ## 00000054 -/* 05FB4 808D0D74 8E660058 */ lw $a2, 0x0058($s3) ## 00000058 -/* 05FB8 808D0D78 0C0342A3 */ jal Matrix_Scale -/* 05FBC 808D0D7C 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 05FC0 808D0D80 8678021E */ lh $t8, 0x021E($s3) ## 0000021E -/* 05FC4 808D0D84 3C08808D */ lui $t0, %hi(D_808D1C0C) ## $t0 = 808D0000 -/* 05FC8 808D0D88 25081C0C */ addiu $t0, $t0, %lo(D_808D1C0C) ## $t0 = 808D1C0C -/* 05FCC 808D0D8C 0238082A */ slt $at, $s1, $t8 -/* 05FD0 808D0D90 5020004A */ beql $at, $zero, .L808D0EBC -/* 05FD4 808D0D94 8D0B0000 */ lw $t3, 0x0000($t0) ## 808D1C0C -/* 05FD8 808D0D98 44912000 */ mtc1 $s1, $f4 ## $f4 = 0.00 -/* 05FDC 808D0D9C 86790228 */ lh $t9, 0x0228($s3) ## 00000228 -/* 05FE0 808D0DA0 3C01808D */ lui $at, %hi(D_808D1FC4) ## $at = 808D0000 -/* 05FE4 808D0DA4 468021A0 */ cvt.s.w $f6, $f4 -/* 05FE8 808D0DA8 44995000 */ mtc1 $t9, $f10 ## $f10 = 0.00 -/* 05FEC 808D0DAC C4281FC4 */ lwc1 $f8, %lo(D_808D1FC4)($at) -/* 05FF0 808D0DB0 3C01808D */ lui $at, %hi(D_808D1FC8) ## $at = 808D0000 -/* 05FF4 808D0DB4 C4321FC8 */ lwc1 $f18, %lo(D_808D1FC8)($at) -/* 05FF8 808D0DB8 46805420 */ cvt.s.w $f16, $f10 -/* 05FFC 808D0DBC 46083082 */ mul.s $f2, $f6, $f8 -/* 06000 808D0DC0 00000000 */ nop -/* 06004 808D0DC4 46128102 */ mul.s $f4, $f16, $f18 -/* 06008 808D0DC8 E7A20088 */ swc1 $f2, 0x0088($sp) -/* 0600C 808D0DCC 46022180 */ add.s $f6, $f4, $f2 -/* 06010 808D0DD0 4600320D */ trunc.w.s $f8, $f6 -/* 06014 808D0DD4 44044000 */ mfc1 $a0, $f8 -/* 06018 808D0DD8 00000000 */ nop -/* 0601C 808D0DDC 00042400 */ sll $a0, $a0, 16 -/* 06020 808D0DE0 0C01DE1C */ jal Math_SinS - ## sins? -/* 06024 808D0DE4 00042403 */ sra $a0, $a0, 16 -/* 06028 808D0DE8 E7A0008C */ swc1 $f0, 0x008C($sp) -/* 0602C 808D0DEC 866A0228 */ lh $t2, 0x0228($s3) ## 00000228 -/* 06030 808D0DF0 3C01808D */ lui $at, %hi(D_808D1FCC) ## $at = 808D0000 -/* 06034 808D0DF4 C4321FCC */ lwc1 $f18, %lo(D_808D1FCC)($at) -/* 06038 808D0DF8 448A5000 */ mtc1 $t2, $f10 ## $f10 = 0.00 -/* 0603C 808D0DFC C7A20088 */ lwc1 $f2, 0x0088($sp) -/* 06040 808D0E00 46805420 */ cvt.s.w $f16, $f10 -/* 06044 808D0E04 46128102 */ mul.s $f4, $f16, $f18 -/* 06048 808D0E08 46022180 */ add.s $f6, $f4, $f2 -/* 0604C 808D0E0C 4600320D */ trunc.w.s $f8, $f6 -/* 06050 808D0E10 44044000 */ mfc1 $a0, $f8 -/* 06054 808D0E14 00000000 */ nop -/* 06058 808D0E18 00042400 */ sll $a0, $a0, 16 -/* 0605C 808D0E1C 0C01DE1C */ jal Math_SinS - ## sins? -/* 06060 808D0E20 00042403 */ sra $a0, $a0, 16 -/* 06064 808D0E24 C6620280 */ lwc1 $f2, 0x0280($s3) ## 00000280 -/* 06068 808D0E28 C7AA008C */ lwc1 $f10, 0x008C($sp) -/* 0606C 808D0E2C 4406B000 */ mfc1 $a2, $f22 -/* 06070 808D0E30 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 06074 808D0E34 460A1402 */ mul.s $f16, $f2, $f10 -/* 06078 808D0E38 00000000 */ nop -/* 0607C 808D0E3C 46001482 */ mul.s $f18, $f2, $f0 -/* 06080 808D0E40 46168300 */ add.s $f12, $f16, $f22 -/* 06084 808D0E44 0C0342A3 */ jal Matrix_Scale -/* 06088 808D0E48 46169380 */ add.s $f14, $f18, $f22 -/* 0608C 808D0E4C 3C01808D */ lui $at, %hi(D_808D1FD0) ## $at = 808D0000 -/* 06090 808D0E50 C42C1FD0 */ lwc1 $f12, %lo(D_808D1FD0)($at) -/* 06094 808D0E54 0C034348 */ jal Matrix_RotateY -/* 06098 808D0E58 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 0609C 808D0E5C 3C05808D */ lui $a1, %hi(D_808D1DF8) ## $a1 = 808D0000 -/* 060A0 808D0E60 24A51DF8 */ addiu $a1, $a1, %lo(D_808D1DF8) ## $a1 = 808D1DF8 -/* 060A4 808D0E64 02A02025 */ or $a0, $s5, $zero ## $a0 = 00000000 -/* 060A8 808D0E68 0C034695 */ jal Matrix_ToMtx -/* 060AC 808D0E6C 2406126F */ addiu $a2, $zero, 0x126F ## $a2 = 0000126F -/* 060B0 808D0E70 8E8202C0 */ lw $v0, 0x02C0($s4) ## 000002C0 -/* 060B4 808D0E74 3C09DA38 */ lui $t1, 0xDA38 ## $t1 = DA380000 -/* 060B8 808D0E78 35290003 */ ori $t1, $t1, 0x0003 ## $t1 = DA380003 -/* 060BC 808D0E7C 244C0008 */ addiu $t4, $v0, 0x0008 ## $t4 = 00000008 -/* 060C0 808D0E80 AE8C02C0 */ sw $t4, 0x02C0($s4) ## 000002C0 -/* 060C4 808D0E84 AC550004 */ sw $s5, 0x0004($v0) ## 00000004 -/* 060C8 808D0E88 AC490000 */ sw $t1, 0x0000($v0) ## 00000000 -/* 060CC 808D0E8C 8E8202C0 */ lw $v0, 0x02C0($s4) ## 000002C0 -/* 060D0 808D0E90 3C0EDE00 */ lui $t6, 0xDE00 ## $t6 = DE000000 -/* 060D4 808D0E94 00117880 */ sll $t7, $s1, 2 -/* 060D8 808D0E98 244D0008 */ addiu $t5, $v0, 0x0008 ## $t5 = 00000008 -/* 060DC 808D0E9C AE8D02C0 */ sw $t5, 0x02C0($s4) ## 000002C0 -/* 060E0 808D0EA0 3C18808D */ lui $t8, %hi(D_808D1BC4) ## $t8 = 808D0000 -/* 060E4 808D0EA4 030FC021 */ addu $t8, $t8, $t7 -/* 060E8 808D0EA8 AC4E0000 */ sw $t6, 0x0000($v0) ## 00000000 -/* 060EC 808D0EAC 8F181BC4 */ lw $t8, %lo(D_808D1BC4)($t8) -/* 060F0 808D0EB0 10000074 */ beq $zero, $zero, .L808D1084 -/* 060F4 808D0EB4 AC580004 */ sw $t8, 0x0004($v0) ## 00000004 -/* 060F8 808D0EB8 8D0B0000 */ lw $t3, 0x0000($t0) ## 00000000 -.L808D0EBC: -/* 060FC 808D0EBC 27B900F0 */ addiu $t9, $sp, 0x00F0 ## $t9 = FFFFFF78 -/* 06100 808D0EC0 8D0A0004 */ lw $t2, 0x0004($t0) ## 00000004 -/* 06104 808D0EC4 AF2B0000 */ sw $t3, 0x0000($t9) ## FFFFFF78 -/* 06108 808D0EC8 8D0B0008 */ lw $t3, 0x0008($t0) ## 00000008 -/* 0610C 808D0ECC AF2A0004 */ sw $t2, 0x0004($t9) ## FFFFFF7C -/* 06110 808D0ED0 3C06C489 */ lui $a2, 0xC489 ## $a2 = C4890000 -/* 06114 808D0ED4 AF2B0008 */ sw $t3, 0x0008($t9) ## FFFFFF80 -/* 06118 808D0ED8 8FAC0084 */ lw $t4, 0x0084($sp) -/* 0611C 808D0EDC 3C0D0601 */ lui $t5, 0x0601 ## $t5 = 06010000 -/* 06120 808D0EE0 25ADB2F8 */ addiu $t5, $t5, 0xB2F8 ## $t5 = 0600B2F8 -/* 06124 808D0EE4 026C9021 */ addu $s2, $s3, $t4 -/* 06128 808D0EE8 864913D0 */ lh $t1, 0x13D0($s2) ## 000013D0 -/* 0612C 808D0EEC 34C68000 */ ori $a2, $a2, 0x8000 ## $a2 = C4898000 -/* 06130 808D0EF0 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 06134 808D0EF4 29210002 */ slti $at, $t1, 0x0002 -/* 06138 808D0EF8 10200062 */ beq $at, $zero, .L808D1084 -/* 0613C 808D0EFC 00000000 */ nop -/* 06140 808D0F00 E7B800D4 */ swc1 $f24, 0x00D4($sp) -/* 06144 808D0F04 4600C506 */ mov.s $f20, $f24 -/* 06148 808D0F08 4600D306 */ mov.s $f12, $f26 -/* 0614C 808D0F0C 4600D386 */ mov.s $f14, $f26 -/* 06150 808D0F10 0C034261 */ jal Matrix_Translate -/* 06154 808D0F14 AFAD0080 */ sw $t5, 0x0080($sp) -/* 06158 808D0F18 3C01808D */ lui $at, %hi(D_808D1FD4) ## $at = 808D0000 -/* 0615C 808D0F1C C42C1FD4 */ lwc1 $f12, %lo(D_808D1FD4)($at) -/* 06160 808D0F20 0C034348 */ jal Matrix_RotateY -/* 06164 808D0F24 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 06168 808D0F28 2A21000E */ slti $at, $s1, 0x000E -/* 0616C 808D0F2C 1420000F */ bne $at, $zero, .L808D0F6C -/* 06170 808D0F30 262EFFF2 */ addiu $t6, $s1, 0xFFF2 ## $t6 = FFFFFFF2 -/* 06174 808D0F34 448E2000 */ mtc1 $t6, $f4 ## $f4 = NaN -/* 06178 808D0F38 3C01808D */ lui $at, %hi(D_808D1FD8) ## $at = 808D0000 -/* 0617C 808D0F3C C4281FD8 */ lwc1 $f8, %lo(D_808D1FD8)($at) -/* 06180 808D0F40 468021A0 */ cvt.s.w $f6, $f4 -/* 06184 808D0F44 4406B000 */ mfc1 $a2, $f22 -/* 06188 808D0F48 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 0618C 808D0F4C 46083282 */ mul.s $f10, $f6, $f8 -/* 06190 808D0F50 460AB301 */ sub.s $f12, $f22, $f10 -/* 06194 808D0F54 46006386 */ mov.s $f14, $f12 -/* 06198 808D0F58 0C0342A3 */ jal Matrix_Scale -/* 0619C 808D0F5C E7AC0084 */ swc1 $f12, 0x0084($sp) -/* 061A0 808D0F60 C7AC0084 */ lwc1 $f12, 0x0084($sp) -/* 061A4 808D0F64 460CC502 */ mul.s $f20, $f24, $f12 -/* 061A8 808D0F68 E7B400D4 */ swc1 $f20, 0x00D4($sp) -.L808D0F6C: -/* 061AC 808D0F6C 4406C000 */ mfc1 $a2, $f24 -/* 061B0 808D0F70 4600C306 */ mov.s $f12, $f24 -/* 061B4 808D0F74 4600C386 */ mov.s $f14, $f24 -/* 061B8 808D0F78 0C0342A3 */ jal Matrix_Scale -/* 061BC 808D0F7C 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 061C0 808D0F80 8E8202C0 */ lw $v0, 0x02C0($s4) ## 000002C0 -/* 061C4 808D0F84 3C18DA38 */ lui $t8, 0xDA38 ## $t8 = DA380000 -/* 061C8 808D0F88 37180003 */ ori $t8, $t8, 0x0003 ## $t8 = DA380003 -/* 061CC 808D0F8C 244F0008 */ addiu $t7, $v0, 0x0008 ## $t7 = 00000008 -/* 061D0 808D0F90 AE8F02C0 */ sw $t7, 0x02C0($s4) ## 000002C0 -/* 061D4 808D0F94 3C05808D */ lui $a1, %hi(D_808D1E08) ## $a1 = 808D0000 -/* 061D8 808D0F98 AC580000 */ sw $t8, 0x0000($v0) ## 00000000 -/* 061DC 808D0F9C 8EC40000 */ lw $a0, 0x0000($s6) ## 00000000 -/* 061E0 808D0FA0 24A51E08 */ addiu $a1, $a1, %lo(D_808D1E08) ## $a1 = 808D1E08 -/* 061E4 808D0FA4 240612A0 */ addiu $a2, $zero, 0x12A0 ## $a2 = 000012A0 -/* 061E8 808D0FA8 0C0346A2 */ jal Matrix_NewMtx -/* 061EC 808D0FAC 00408025 */ or $s0, $v0, $zero ## $s0 = 00000000 -/* 061F0 808D0FB0 AE020004 */ sw $v0, 0x0004($s0) ## 00000004 -/* 061F4 808D0FB4 8E8202C0 */ lw $v0, 0x02C0($s4) ## 000002C0 -/* 061F8 808D0FB8 3C08DE00 */ lui $t0, 0xDE00 ## $t0 = DE000000 -/* 061FC 808D0FBC 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 06200 808D0FC0 24590008 */ addiu $t9, $v0, 0x0008 ## $t9 = 00000008 -/* 06204 808D0FC4 AE9902C0 */ sw $t9, 0x02C0($s4) ## 000002C0 -/* 06208 808D0FC8 AC480000 */ sw $t0, 0x0000($v0) ## 00000000 -/* 0620C 808D0FCC 8FAA0080 */ lw $t2, 0x0080($sp) -/* 06210 808D0FD0 240C0002 */ addiu $t4, $zero, 0x0002 ## $t4 = 00000002 -/* 06214 808D0FD4 26D01C24 */ addiu $s0, $s6, 0x1C24 ## $s0 = 00001C24 -/* 06218 808D0FD8 AC4A0004 */ sw $t2, 0x0004($v0) ## 00000004 -/* 0621C 808D0FDC 864B13D0 */ lh $t3, 0x13D0($s2) ## 000013D0 -/* 06220 808D0FE0 27A400F0 */ addiu $a0, $sp, 0x00F0 ## $a0 = FFFFFF78 -/* 06224 808D0FE4 27A500E4 */ addiu $a1, $sp, 0x00E4 ## $a1 = FFFFFF6C -/* 06228 808D0FE8 15610026 */ bne $t3, $at, .L808D1084 -/* 0622C 808D0FEC 00000000 */ nop -/* 06230 808D0FF0 0C0346BD */ jal Matrix_MultVec3f -/* 06234 808D0FF4 A64C13D0 */ sh $t4, 0x13D0($s2) ## 000013D0 -/* 06238 808D0FF8 0C034236 */ jal Matrix_Get -/* 0623C 808D0FFC 27A400FC */ addiu $a0, $sp, 0x00FC ## $a0 = FFFFFF84 -/* 06240 808D1000 27A400FC */ addiu $a0, $sp, 0x00FC ## $a0 = FFFFFF84 -/* 06244 808D1004 27A500DC */ addiu $a1, $sp, 0x00DC ## $a1 = FFFFFF64 -/* 06248 808D1008 0C034833 */ jal func_800D20CC -/* 0624C 808D100C 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000 -/* 06250 808D1010 C7B000E4 */ lwc1 $f16, 0x00E4($sp) -/* 06254 808D1014 C7B200E8 */ lwc1 $f18, 0x00E8($sp) -/* 06258 808D1018 C7A400EC */ lwc1 $f4, 0x00EC($sp) -/* 0625C 808D101C 87A900DC */ lh $t1, 0x00DC($sp) -/* 06260 808D1020 87AD00DE */ lh $t5, 0x00DE($sp) -/* 06264 808D1024 87AE00E0 */ lh $t6, 0x00E0($sp) -/* 06268 808D1028 262F00C8 */ addiu $t7, $s1, 0x00C8 ## $t7 = 000000C8 -/* 0626C 808D102C AFAF0028 */ sw $t7, 0x0028($sp) -/* 06270 808D1030 02002025 */ or $a0, $s0, $zero ## $a0 = 00001C24 -/* 06274 808D1034 02602825 */ or $a1, $s3, $zero ## $a1 = 00000000 -/* 06278 808D1038 02C03025 */ or $a2, $s6, $zero ## $a2 = 00000000 -/* 0627C 808D103C 240700AD */ addiu $a3, $zero, 0x00AD ## $a3 = 000000AD -/* 06280 808D1040 E7B00010 */ swc1 $f16, 0x0010($sp) -/* 06284 808D1044 E7B20014 */ swc1 $f18, 0x0014($sp) -/* 06288 808D1048 E7A40018 */ swc1 $f4, 0x0018($sp) -/* 0628C 808D104C AFA9001C */ sw $t1, 0x001C($sp) -/* 06290 808D1050 AFAD0020 */ sw $t5, 0x0020($sp) -/* 06294 808D1054 0C00C916 */ jal Actor_SpawnAsChild - -/* 06298 808D1058 AFAE0024 */ sw $t6, 0x0024($sp) -/* 0629C 808D105C C6660050 */ lwc1 $f6, 0x0050($s3) ## 00000050 -/* 062A0 808D1060 46143202 */ mul.s $f8, $f6, $f20 -/* 062A4 808D1064 E4480050 */ swc1 $f8, 0x0050($v0) ## 00000050 -/* 062A8 808D1068 C7B000D4 */ lwc1 $f16, 0x00D4($sp) -/* 062AC 808D106C C66A0054 */ lwc1 $f10, 0x0054($s3) ## 00000054 -/* 062B0 808D1070 46105482 */ mul.s $f18, $f10, $f16 -/* 062B4 808D1074 E4520054 */ swc1 $f18, 0x0054($v0) ## 00000054 -/* 062B8 808D1078 C6640058 */ lwc1 $f4, 0x0058($s3) ## 00000058 -/* 062BC 808D107C 46182182 */ mul.s $f6, $f4, $f24 -/* 062C0 808D1080 E4460058 */ swc1 $f6, 0x0058($v0) ## 00000058 -.L808D1084: -/* 062C4 808D1084 1A200003 */ blez $s1, .L808D1094 -/* 062C8 808D1088 26240001 */ addiu $a0, $s1, 0x0001 ## $a0 = 00000001 -/* 062CC 808D108C 0C018A29 */ jal Collider_UpdateSpheres -/* 062D0 808D1090 8FA5007C */ lw $a1, 0x007C($sp) -.L808D1094: -/* 062D4 808D1094 26310001 */ addiu $s1, $s1, 0x0001 ## $s1 = 00000001 -/* 062D8 808D1098 00118C00 */ sll $s1, $s1, 16 -/* 062DC 808D109C 00118C03 */ sra $s1, $s1, 16 -/* 062E0 808D10A0 2A210012 */ slti $at, $s1, 0x0012 -/* 062E4 808D10A4 1420FF10 */ bne $at, $zero, .L808D0CE8 -/* 062E8 808D10A8 26B50040 */ addiu $s5, $s5, 0x0040 ## $s5 = 00000040 -/* 062EC 808D10AC 0C034221 */ jal Matrix_Pop -/* 062F0 808D10B0 00000000 */ nop -/* 062F4 808D10B4 3C04808D */ lui $a0, %hi(D_808D1E18) ## $a0 = 808D0000 -/* 062F8 808D10B8 0C00084C */ jal osSyncPrintf - -/* 062FC 808D10BC 24841E18 */ addiu $a0, $a0, %lo(D_808D1E18) ## $a0 = 808D1E18 -/* 06300 808D10C0 8E8202C0 */ lw $v0, 0x02C0($s4) ## 000002C0 -/* 06304 808D10C4 3C19E700 */ lui $t9, 0xE700 ## $t9 = E7000000 -/* 06308 808D10C8 3C0AFB00 */ lui $t2, 0xFB00 ## $t2 = FB000000 -/* 0630C 808D10CC 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008 -/* 06310 808D10D0 AE9802C0 */ sw $t8, 0x02C0($s4) ## 000002C0 -/* 06314 808D10D4 AC400004 */ sw $zero, 0x0004($v0) ## 00000004 -/* 06318 808D10D8 AC590000 */ sw $t9, 0x0000($v0) ## 00000000 -/* 0631C 808D10DC 8E8202C0 */ lw $v0, 0x02C0($s4) ## 000002C0 -/* 06320 808D10E0 2401FF00 */ addiu $at, $zero, 0xFF00 ## $at = FFFFFF00 -/* 06324 808D10E4 24480008 */ addiu $t0, $v0, 0x0008 ## $t0 = 00000008 -/* 06328 808D10E8 AE8802C0 */ sw $t0, 0x02C0($s4) ## 000002C0 -/* 0632C 808D10EC AC4A0000 */ sw $t2, 0x0000($v0) ## 00000000 -/* 06330 808D10F0 C6680274 */ lwc1 $f8, 0x0274($s3) ## 00000274 -/* 06334 808D10F4 4600428D */ trunc.w.s $f10, $f8 -/* 06338 808D10F8 440D5000 */ mfc1 $t5, $f10 -/* 0633C 808D10FC 00000000 */ nop -/* 06340 808D1100 31AE00FF */ andi $t6, $t5, 0x00FF ## $t6 = 00000000 -/* 06344 808D1104 01C17825 */ or $t7, $t6, $at ## $t7 = FFFFFF00 -/* 06348 808D1108 0C034213 */ jal Matrix_Push -/* 0634C 808D110C AC4F0004 */ sw $t7, 0x0004($v0) ## 00000004 -/* 06350 808D1110 86780222 */ lh $t8, 0x0222($s3) ## 00000222 -/* 06354 808D1114 3C19808D */ lui $t9, %hi(D_808D1AC0) ## $t9 = 808D0000 -/* 06358 808D1118 2B0100CC */ slti $at, $t8, 0x00CC -/* 0635C 808D111C 14200004 */ bne $at, $zero, .L808D1130 -/* 06360 808D1120 3C01C1A0 */ lui $at, 0xC1A0 ## $at = C1A00000 -/* 06364 808D1124 4481A000 */ mtc1 $at, $f20 ## $f20 = -20.00 -/* 06368 808D1128 1000000B */ beq $zero, $zero, .L808D1158 -/* 0636C 808D112C 00000000 */ nop -.L808D1130: -/* 06370 808D1130 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000 -/* 06374 808D1134 44819000 */ mtc1 $at, $f18 ## $f18 = 5.00 -/* 06378 808D1138 C6700068 */ lwc1 $f16, 0x0068($s3) ## 00000068 -/* 0637C 808D113C 3C014120 */ lui $at, 0x4120 ## $at = 41200000 -/* 06380 808D1140 44813000 */ mtc1 $at, $f6 ## $f6 = 10.00 -/* 06384 808D1144 46128101 */ sub.s $f4, $f16, $f18 -/* 06388 808D1148 3C01C120 */ lui $at, 0xC120 ## $at = C1200000 -/* 0638C 808D114C 44815000 */ mtc1 $at, $f10 ## $f10 = -10.00 -/* 06390 808D1150 46062202 */ mul.s $f8, $f4, $f6 -/* 06394 808D1154 46085501 */ sub.s $f20, $f10, $f8 -.L808D1158: -/* 06398 808D1158 87391AC0 */ lh $t9, %lo(D_808D1AC0)($t9) -/* 0639C 808D115C 86680228 */ lh $t0, 0x0228($s3) ## 00000228 -/* 063A0 808D1160 24010064 */ addiu $at, $zero, 0x0064 ## $at = 00000064 -/* 063A4 808D1164 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 -/* 063A8 808D1168 03281021 */ addu $v0, $t9, $t0 -/* 063AC 808D116C 0041001A */ div $zero, $v0, $at -/* 063B0 808D1170 00001010 */ mfhi $v0 -/* 063B4 808D1174 00021400 */ sll $v0, $v0, 16 -/* 063B8 808D1178 00021403 */ sra $v0, $v0, 16 -/* 063BC 808D117C 00025080 */ sll $t2, $v0, 2 -/* 063C0 808D1180 01425023 */ subu $t2, $t2, $v0 -/* 063C4 808D1184 000A5080 */ sll $t2, $t2, 2 -/* 063C8 808D1188 026A8021 */ addu $s0, $s3, $t2 -/* 063CC 808D118C C60C078C */ lwc1 $f12, 0x078C($s0) ## 000023B0 -/* 063D0 808D1190 C60E0790 */ lwc1 $f14, 0x0790($s0) ## 000023B4 -/* 063D4 808D1194 0C034261 */ jal Matrix_Translate -/* 063D8 808D1198 8E060794 */ lw $a2, 0x0794($s0) ## 000023B8 -/* 063DC 808D119C C60C02E0 */ lwc1 $f12, 0x02E0($s0) ## 00001F04 -/* 063E0 808D11A0 0C034348 */ jal Matrix_RotateY -/* 063E4 808D11A4 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 063E8 808D11A8 C60C02DC */ lwc1 $f12, 0x02DC($s0) ## 00001F00 -/* 063EC 808D11AC 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 063F0 808D11B0 0C0342DC */ jal Matrix_RotateX -/* 063F4 808D11B4 46006307 */ neg.s $f12, $f12 -/* 063F8 808D11B8 866B00B8 */ lh $t3, 0x00B8($s3) ## 000000B8 -/* 063FC 808D11BC 3C014700 */ lui $at, 0x4700 ## $at = 47000000 -/* 06400 808D11C0 44812000 */ mtc1 $at, $f4 ## $f4 = 32768.00 -/* 06404 808D11C4 448B8000 */ mtc1 $t3, $f16 ## $f16 = 0.00 -/* 06408 808D11C8 3C01808D */ lui $at, %hi(D_808D1FDC) ## $at = 808D0000 -/* 0640C 808D11CC C42A1FDC */ lwc1 $f10, %lo(D_808D1FDC)($at) -/* 06410 808D11D0 468084A0 */ cvt.s.w $f18, $f16 -/* 06414 808D11D4 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 06418 808D11D8 46049183 */ div.s $f6, $f18, $f4 -/* 0641C 808D11DC 460A3302 */ mul.s $f12, $f6, $f10 -/* 06420 808D11E0 0C0343B5 */ jal Matrix_RotateZ -/* 06424 808D11E4 00000000 */ nop -/* 06428 808D11E8 4406A000 */ mfc1 $a2, $f20 -/* 0642C 808D11EC 4600D306 */ mov.s $f12, $f26 -/* 06430 808D11F0 4600D386 */ mov.s $f14, $f26 -/* 06434 808D11F4 0C034261 */ jal Matrix_Translate -/* 06438 808D11F8 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 0643C 808D11FC 0C034213 */ jal Matrix_Push -/* 06440 808D1200 00000000 */ nop -/* 06444 808D1204 4600D306 */ mov.s $f12, $f26 -/* 06448 808D1208 4600D386 */ mov.s $f14, $f26 -/* 0644C 808D120C 3C0641C8 */ lui $a2, 0x41C8 ## $a2 = 41C80000 -/* 06450 808D1210 0C034261 */ jal Matrix_Translate -/* 06454 808D1214 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 06458 808D1218 3C04808D */ lui $a0, %hi(D_808D1E1C) ## $a0 = 808D0000 -/* 0645C 808D121C 0C00084C */ jal osSyncPrintf - -/* 06460 808D1220 24841E1C */ addiu $a0, $a0, %lo(D_808D1E1C) ## $a0 = 808D1E1C -/* 06464 808D1224 00002025 */ or $a0, $zero, $zero ## $a0 = 00000000 -/* 06468 808D1228 0C018A29 */ jal Collider_UpdateSpheres -/* 0646C 808D122C 8FA5007C */ lw $a1, 0x007C($sp) -/* 06470 808D1230 0C034221 */ jal Matrix_Pop -/* 06474 808D1234 00000000 */ nop -/* 06478 808D1238 3C04808D */ lui $a0, %hi(D_808D1E24) ## $a0 = 808D0000 -/* 0647C 808D123C 0C00084C */ jal osSyncPrintf - -/* 06480 808D1240 24841E24 */ addiu $a0, $a0, %lo(D_808D1E24) ## $a0 = 808D1E24 -/* 06484 808D1244 C6680050 */ lwc1 $f8, 0x0050($s3) ## 00000050 -/* 06488 808D1248 C6700054 */ lwc1 $f16, 0x0054($s3) ## 00000054 -/* 0648C 808D124C C6720058 */ lwc1 $f18, 0x0058($s3) ## 00000058 -/* 06490 808D1250 46184302 */ mul.s $f12, $f8, $f24 -/* 06494 808D1254 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 06498 808D1258 46188382 */ mul.s $f14, $f16, $f24 -/* 0649C 808D125C 00000000 */ nop -/* 064A0 808D1260 46189102 */ mul.s $f4, $f18, $f24 -/* 064A4 808D1264 44062000 */ mfc1 $a2, $f4 -/* 064A8 808D1268 0C0342A3 */ jal Matrix_Scale -/* 064AC 808D126C 00000000 */ nop -/* 064B0 808D1270 3C0C808D */ lui $t4, %hi(func_808D08A4) ## $t4 = 808D0000 -/* 064B4 808D1274 258C08A4 */ addiu $t4, $t4, %lo(func_808D08A4) ## $t4 = 808D08A4 -/* 064B8 808D1278 8E650150 */ lw $a1, 0x0150($s3) ## 00000150 -/* 064BC 808D127C 8E66016C */ lw $a2, 0x016C($s3) ## 0000016C -/* 064C0 808D1280 3C07808D */ lui $a3, %hi(func_808D07A4) ## $a3 = 808D0000 -/* 064C4 808D1284 24E707A4 */ addiu $a3, $a3, %lo(func_808D07A4) ## $a3 = 808D07A4 -/* 064C8 808D1288 AFB30014 */ sw $s3, 0x0014($sp) -/* 064CC 808D128C AFAC0010 */ sw $t4, 0x0010($sp) -/* 064D0 808D1290 0C028572 */ jal SkelAnime_DrawOpa - -/* 064D4 808D1294 02C02025 */ or $a0, $s6, $zero ## $a0 = 00000000 -/* 064D8 808D1298 3C04808D */ lui $a0, %hi(D_808D1E2C) ## $a0 = 808D0000 -/* 064DC 808D129C 0C00084C */ jal osSyncPrintf - -/* 064E0 808D12A0 24841E2C */ addiu $a0, $a0, %lo(D_808D1E2C) ## $a0 = 808D1E2C -/* 064E4 808D12A4 3C09808D */ lui $t1, %hi(D_808D1C18) ## $t1 = 808D0000 -/* 064E8 808D12A8 25291C18 */ addiu $t1, $t1, %lo(D_808D1C18) ## $t1 = 808D1C18 -/* 064EC 808D12AC 8D2E0000 */ lw $t6, 0x0000($t1) ## 808D1C18 -/* 064F0 808D12B0 27B000B0 */ addiu $s0, $sp, 0x00B0 ## $s0 = FFFFFF38 -/* 064F4 808D12B4 3C0F808D */ lui $t7, %hi(D_808D1C24) ## $t7 = 808D0000 -/* 064F8 808D12B8 AE0E0000 */ sw $t6, 0x0000($s0) ## FFFFFF38 -/* 064FC 808D12BC 8D2D0004 */ lw $t5, 0x0004($t1) ## 808D1C1C -/* 06500 808D12C0 25EF1C24 */ addiu $t7, $t7, %lo(D_808D1C24) ## $t7 = 808D1C24 -/* 06504 808D12C4 27B200A4 */ addiu $s2, $sp, 0x00A4 ## $s2 = FFFFFF2C -/* 06508 808D12C8 AE0D0004 */ sw $t5, 0x0004($s0) ## FFFFFF3C -/* 0650C 808D12CC 8D2E0008 */ lw $t6, 0x0008($t1) ## 808D1C20 -/* 06510 808D12D0 AE0E0008 */ sw $t6, 0x0008($s0) ## FFFFFF40 -/* 06514 808D12D4 8DF90000 */ lw $t9, 0x0000($t7) ## 808D1C24 -/* 06518 808D12D8 AE590000 */ sw $t9, 0x0000($s2) ## FFFFFF2C -/* 0651C 808D12DC 8DF80004 */ lw $t8, 0x0004($t7) ## 808D1C28 -/* 06520 808D12E0 AE580004 */ sw $t8, 0x0004($s2) ## FFFFFF30 -/* 06524 808D12E4 8DF90008 */ lw $t9, 0x0008($t7) ## 808D1C2C -/* 06528 808D12E8 AE590008 */ sw $t9, 0x0008($s2) ## FFFFFF34 -/* 0652C 808D12EC 0C024F61 */ jal func_80093D84 -/* 06530 808D12F0 8EC40000 */ lw $a0, 0x0000($s6) ## 00000000 -/* 06534 808D12F4 8E8202D0 */ lw $v0, 0x02D0($s4) ## 000002D0 -/* 06538 808D12F8 3C0B0601 */ lui $t3, %hi(D_06009168) ## $t3 = 06010000 -/* 0653C 808D12FC 256B9168 */ addiu $t3, $t3, %lo(D_06009168) ## $t3 = 06009168 -/* 06540 808D1300 24480008 */ addiu $t0, $v0, 0x0008 ## $t0 = 00000008 -/* 06544 808D1304 AE8802D0 */ sw $t0, 0x02D0($s4) ## 000002D0 -/* 06548 808D1308 3C0ADE00 */ lui $t2, 0xDE00 ## $t2 = DE000000 -/* 0654C 808D130C AC4A0000 */ sw $t2, 0x0000($v0) ## 00000000 -/* 06550 808D1310 AC4B0004 */ sw $t3, 0x0004($v0) ## 00000004 -/* 06554 808D1314 8E8302D0 */ lw $v1, 0x02D0($s4) ## 000002D0 -/* 06558 808D1318 3C09FA00 */ lui $t1, 0xFA00 ## $t1 = FA000000 -/* 0655C 808D131C 444DF800 */ cfc1 $t5, $31 -/* 06560 808D1320 246C0008 */ addiu $t4, $v1, 0x0008 ## $t4 = 00000008 -/* 06564 808D1324 AE8C02D0 */ sw $t4, 0x02D0($s4) ## 000002D0 -/* 06568 808D1328 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001 -/* 0656C 808D132C AC690000 */ sw $t1, 0x0000($v1) ## 00000000 -/* 06570 808D1330 44CEF800 */ ctc1 $t6, $31 -/* 06574 808D1334 C6660284 */ lwc1 $f6, 0x0284($s3) ## 00000284 -/* 06578 808D1338 3C11FF00 */ lui $s1, 0xFF00 ## $s1 = FF000000 -/* 0657C 808D133C 460032A4 */ cvt.w.s $f10, $f6 -/* 06580 808D1340 444EF800 */ cfc1 $t6, $31 -/* 06584 808D1344 00000000 */ nop -/* 06588 808D1348 31CE0078 */ andi $t6, $t6, 0x0078 ## $t6 = 00000000 -/* 0658C 808D134C 11C00012 */ beq $t6, $zero, .L808D1398 -/* 06590 808D1350 3C014F00 */ lui $at, 0x4F00 ## $at = 4F000000 -/* 06594 808D1354 44815000 */ mtc1 $at, $f10 ## $f10 = 2147483648.00 -/* 06598 808D1358 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001 -/* 0659C 808D135C 460A3281 */ sub.s $f10, $f6, $f10 -/* 065A0 808D1360 44CEF800 */ ctc1 $t6, $31 -/* 065A4 808D1364 00000000 */ nop -/* 065A8 808D1368 460052A4 */ cvt.w.s $f10, $f10 -/* 065AC 808D136C 444EF800 */ cfc1 $t6, $31 -/* 065B0 808D1370 00000000 */ nop -/* 065B4 808D1374 31CE0078 */ andi $t6, $t6, 0x0078 ## $t6 = 00000000 -/* 065B8 808D1378 15C00005 */ bne $t6, $zero, .L808D1390 -/* 065BC 808D137C 00000000 */ nop -/* 065C0 808D1380 440E5000 */ mfc1 $t6, $f10 -/* 065C4 808D1384 3C018000 */ lui $at, 0x8000 ## $at = 80000000 -/* 065C8 808D1388 10000007 */ beq $zero, $zero, .L808D13A8 -/* 065CC 808D138C 01C17025 */ or $t6, $t6, $at ## $t6 = 80000000 -.L808D1390: -/* 065D0 808D1390 10000005 */ beq $zero, $zero, .L808D13A8 -/* 065D4 808D1394 240EFFFF */ addiu $t6, $zero, 0xFFFF ## $t6 = FFFFFFFF -.L808D1398: -/* 065D8 808D1398 440E5000 */ mfc1 $t6, $f10 -/* 065DC 808D139C 00000000 */ nop -/* 065E0 808D13A0 05C0FFFB */ bltz $t6, .L808D1390 -/* 065E4 808D13A4 00000000 */ nop -.L808D13A8: -/* 065E8 808D13A8 31CF00FF */ andi $t7, $t6, 0x00FF ## $t7 = 000000FF -/* 065EC 808D13AC 000FC400 */ sll $t8, $t7, 16 -/* 065F0 808D13B0 0311C825 */ or $t9, $t8, $s1 ## $t9 = FF000000 -/* 065F4 808D13B4 372800FF */ ori $t0, $t9, 0x00FF ## $t0 = FF0000FF -/* 065F8 808D13B8 44CDF800 */ ctc1 $t5, $31 -/* 065FC 808D13BC 0C034213 */ jal Matrix_Push -/* 06600 808D13C0 AC680004 */ sw $t0, 0x0004($v1) ## 00000004 -/* 06604 808D13C4 02002025 */ or $a0, $s0, $zero ## $a0 = FFFFFF38 -/* 06608 808D13C8 0C0346BD */ jal Matrix_MultVec3f -/* 0660C 808D13CC 26650FE4 */ addiu $a1, $s3, 0x0FE4 ## $a1 = 00000FE4 -/* 06610 808D13D0 26700C9C */ addiu $s0, $s3, 0x0C9C ## $s0 = 00000C9C -/* 06614 808D13D4 266A0F6C */ addiu $t2, $s3, 0x0F6C ## $t2 = 00000F6C -/* 06618 808D13D8 AFAA0010 */ sw $t2, 0x0010($sp) -/* 0661C 808D13DC 02003825 */ or $a3, $s0, $zero ## $a3 = 00000C9C -/* 06620 808D13E0 02C02025 */ or $a0, $s6, $zero ## $a0 = 00000000 -/* 06624 808D13E4 02602825 */ or $a1, $s3, $zero ## $a1 = 00000000 -/* 06628 808D13E8 26660E04 */ addiu $a2, $s3, 0x0E04 ## $a2 = 00000E04 -/* 0662C 808D13EC 0C2340B7 */ jal func_808D02DC -/* 06630 808D13F0 AFA00014 */ sw $zero, 0x0014($sp) -/* 06634 808D13F4 0C034221 */ jal Matrix_Pop -/* 06638 808D13F8 00000000 */ nop -/* 0663C 808D13FC 8E8302D0 */ lw $v1, 0x02D0($s4) ## 000002D0 -/* 06640 808D1400 3C0CFA00 */ lui $t4, 0xFA00 ## $t4 = FA000000 -/* 06644 808D1404 4449F800 */ cfc1 $t1, $31 -/* 06648 808D1408 246B0008 */ addiu $t3, $v1, 0x0008 ## $t3 = 00000008 -/* 0664C 808D140C AE8B02D0 */ sw $t3, 0x02D0($s4) ## 000002D0 -/* 06650 808D1410 240D0001 */ addiu $t5, $zero, 0x0001 ## $t5 = 00000001 -/* 06654 808D1414 AC6C0000 */ sw $t4, 0x0000($v1) ## 00000000 -/* 06658 808D1418 44CDF800 */ ctc1 $t5, $31 -/* 0665C 808D141C C6680288 */ lwc1 $f8, 0x0288($s3) ## 00000288 -/* 06660 808D1420 46004424 */ cvt.w.s $f16, $f8 -/* 06664 808D1424 444DF800 */ cfc1 $t5, $31 -/* 06668 808D1428 00000000 */ nop -/* 0666C 808D142C 31AD0078 */ andi $t5, $t5, 0x0078 ## $t5 = 00000000 -/* 06670 808D1430 11A00012 */ beq $t5, $zero, .L808D147C -/* 06674 808D1434 3C014F00 */ lui $at, 0x4F00 ## $at = 4F000000 -/* 06678 808D1438 44818000 */ mtc1 $at, $f16 ## $f16 = 2147483648.00 -/* 0667C 808D143C 240D0001 */ addiu $t5, $zero, 0x0001 ## $t5 = 00000001 -/* 06680 808D1440 46104401 */ sub.s $f16, $f8, $f16 -/* 06684 808D1444 44CDF800 */ ctc1 $t5, $31 -/* 06688 808D1448 00000000 */ nop -/* 0668C 808D144C 46008424 */ cvt.w.s $f16, $f16 -/* 06690 808D1450 444DF800 */ cfc1 $t5, $31 -/* 06694 808D1454 00000000 */ nop -/* 06698 808D1458 31AD0078 */ andi $t5, $t5, 0x0078 ## $t5 = 00000000 -/* 0669C 808D145C 15A00005 */ bne $t5, $zero, .L808D1474 -/* 066A0 808D1460 00000000 */ nop -/* 066A4 808D1464 440D8000 */ mfc1 $t5, $f16 -/* 066A8 808D1468 3C018000 */ lui $at, 0x8000 ## $at = 80000000 -/* 066AC 808D146C 10000007 */ beq $zero, $zero, .L808D148C -/* 066B0 808D1470 01A16825 */ or $t5, $t5, $at ## $t5 = 80000000 -.L808D1474: -/* 066B4 808D1474 10000005 */ beq $zero, $zero, .L808D148C -/* 066B8 808D1478 240DFFFF */ addiu $t5, $zero, 0xFFFF ## $t5 = FFFFFFFF -.L808D147C: -/* 066BC 808D147C 440D8000 */ mfc1 $t5, $f16 -/* 066C0 808D1480 00000000 */ nop -/* 066C4 808D1484 05A0FFFB */ bltz $t5, .L808D1474 -/* 066C8 808D1488 00000000 */ nop -.L808D148C: -/* 066CC 808D148C 31AE00FF */ andi $t6, $t5, 0x00FF ## $t6 = 000000FF -/* 066D0 808D1490 000E7C00 */ sll $t7, $t6, 16 -/* 066D4 808D1494 01F1C025 */ or $t8, $t7, $s1 ## $t8 = FF000000 -/* 066D8 808D1498 371900FF */ ori $t9, $t8, 0x00FF ## $t9 = FF0000FF -/* 066DC 808D149C 44C9F800 */ ctc1 $t1, $31 -/* 066E0 808D14A0 0C034213 */ jal Matrix_Push -/* 066E4 808D14A4 AC790004 */ sw $t9, 0x0004($v1) ## 00000004 -/* 066E8 808D14A8 02402025 */ or $a0, $s2, $zero ## $a0 = FFFFFF2C -/* 066EC 808D14AC 0C0346BD */ jal Matrix_MultVec3f -/* 066F0 808D14B0 266511D0 */ addiu $a1, $s3, 0x11D0 ## $a1 = 000011D0 -/* 066F4 808D14B4 26681158 */ addiu $t0, $s3, 0x1158 ## $t0 = 00001158 -/* 066F8 808D14B8 240A0001 */ addiu $t2, $zero, 0x0001 ## $t2 = 00000001 -/* 066FC 808D14BC AFAA0014 */ sw $t2, 0x0014($sp) -/* 06700 808D14C0 AFA80010 */ sw $t0, 0x0010($sp) -/* 06704 808D14C4 02C02025 */ or $a0, $s6, $zero ## $a0 = 00000000 -/* 06708 808D14C8 02602825 */ or $a1, $s3, $zero ## $a1 = 00000000 -/* 0670C 808D14CC 26660FF0 */ addiu $a2, $s3, 0x0FF0 ## $a2 = 00000FF0 -/* 06710 808D14D0 0C2340B7 */ jal func_808D02DC -/* 06714 808D14D4 02003825 */ or $a3, $s0, $zero ## $a3 = 00000C9C -/* 06718 808D14D8 0C034221 */ jal Matrix_Pop -/* 0671C 808D14DC 00000000 */ nop -/* 06720 808D14E0 8E8302D0 */ lw $v1, 0x02D0($s4) ## 000002D0 -/* 06724 808D14E4 3C0CFA00 */ lui $t4, 0xFA00 ## $t4 = FA000000 -/* 06728 808D14E8 4449F800 */ cfc1 $t1, $31 -/* 0672C 808D14EC 246B0008 */ addiu $t3, $v1, 0x0008 ## $t3 = 00000008 -/* 06730 808D14F0 AE8B02D0 */ sw $t3, 0x02D0($s4) ## 000002D0 -/* 06734 808D14F4 240D0001 */ addiu $t5, $zero, 0x0001 ## $t5 = 00000001 -/* 06738 808D14F8 AC6C0000 */ sw $t4, 0x0000($v1) ## 00000000 -/* 0673C 808D14FC 44CDF800 */ ctc1 $t5, $31 -/* 06740 808D1500 C672028C */ lwc1 $f18, 0x028C($s3) ## 0000028C -/* 06744 808D1504 3C014F00 */ lui $at, 0x4F00 ## $at = 4F000000 -/* 06748 808D1508 46009124 */ cvt.w.s $f4, $f18 -/* 0674C 808D150C 444DF800 */ cfc1 $t5, $31 -/* 06750 808D1510 00000000 */ nop -/* 06754 808D1514 31AD0078 */ andi $t5, $t5, 0x0078 ## $t5 = 00000000 -/* 06758 808D1518 51A00013 */ beql $t5, $zero, .L808D1568 -/* 0675C 808D151C 440D2000 */ mfc1 $t5, $f4 -/* 06760 808D1520 44812000 */ mtc1 $at, $f4 ## $f4 = 2147483648.00 -/* 06764 808D1524 240D0001 */ addiu $t5, $zero, 0x0001 ## $t5 = 00000001 -/* 06768 808D1528 46049101 */ sub.s $f4, $f18, $f4 -/* 0676C 808D152C 44CDF800 */ ctc1 $t5, $31 -/* 06770 808D1530 00000000 */ nop -/* 06774 808D1534 46002124 */ cvt.w.s $f4, $f4 -/* 06778 808D1538 444DF800 */ cfc1 $t5, $31 -/* 0677C 808D153C 00000000 */ nop -/* 06780 808D1540 31AD0078 */ andi $t5, $t5, 0x0078 ## $t5 = 00000000 -/* 06784 808D1544 15A00005 */ bne $t5, $zero, .L808D155C -/* 06788 808D1548 00000000 */ nop -/* 0678C 808D154C 440D2000 */ mfc1 $t5, $f4 -/* 06790 808D1550 3C018000 */ lui $at, 0x8000 ## $at = 80000000 -/* 06794 808D1554 10000007 */ beq $zero, $zero, .L808D1574 -/* 06798 808D1558 01A16825 */ or $t5, $t5, $at ## $t5 = 80000000 -.L808D155C: -/* 0679C 808D155C 10000005 */ beq $zero, $zero, .L808D1574 -/* 067A0 808D1560 240DFFFF */ addiu $t5, $zero, 0xFFFF ## $t5 = FFFFFFFF -/* 067A4 808D1564 440D2000 */ mfc1 $t5, $f4 -.L808D1568: -/* 067A8 808D1568 00000000 */ nop -/* 067AC 808D156C 05A0FFFB */ bltz $t5, .L808D155C -/* 067B0 808D1570 00000000 */ nop -.L808D1574: -/* 067B4 808D1574 31AE00FF */ andi $t6, $t5, 0x00FF ## $t6 = 000000FF -/* 067B8 808D1578 000E7C00 */ sll $t7, $t6, 16 -/* 067BC 808D157C 01F1C025 */ or $t8, $t7, $s1 ## $t8 = FF000000 -/* 067C0 808D1580 371900FF */ ori $t9, $t8, 0x00FF ## $t9 = FF0000FF -/* 067C4 808D1584 44C9F800 */ ctc1 $t1, $31 -/* 067C8 808D1588 0C034213 */ jal Matrix_Push -/* 067CC 808D158C AC790004 */ sw $t9, 0x0004($v1) ## 00000004 -/* 067D0 808D1590 3C01BF80 */ lui $at, 0xBF80 ## $at = BF800000 -/* 067D4 808D1594 44815000 */ mtc1 $at, $f10 ## $f10 = -1.00 -/* 067D8 808D1598 C7A600A4 */ lwc1 $f6, 0x00A4($sp) -/* 067DC 808D159C 02402025 */ or $a0, $s2, $zero ## $a0 = FFFFFF2C -/* 067E0 808D15A0 266513BC */ addiu $a1, $s3, 0x13BC ## $a1 = 000013BC -/* 067E4 808D15A4 460A3202 */ mul.s $f8, $f6, $f10 -/* 067E8 808D15A8 0C0346BD */ jal Matrix_MultVec3f -/* 067EC 808D15AC E7A800A4 */ swc1 $f8, 0x00A4($sp) -/* 067F0 808D15B0 26681344 */ addiu $t0, $s3, 0x1344 ## $t0 = 00001344 -/* 067F4 808D15B4 240A0002 */ addiu $t2, $zero, 0x0002 ## $t2 = 00000002 -/* 067F8 808D15B8 AFAA0014 */ sw $t2, 0x0014($sp) -/* 067FC 808D15BC AFA80010 */ sw $t0, 0x0010($sp) -/* 06800 808D15C0 02C02025 */ or $a0, $s6, $zero ## $a0 = 00000000 -/* 06804 808D15C4 02602825 */ or $a1, $s3, $zero ## $a1 = 00000000 -/* 06808 808D15C8 266611DC */ addiu $a2, $s3, 0x11DC ## $a2 = 000011DC -/* 0680C 808D15CC 0C2340B7 */ jal func_808D02DC -/* 06810 808D15D0 02003825 */ or $a3, $s0, $zero ## $a3 = 00000C9C -/* 06814 808D15D4 0C034221 */ jal Matrix_Pop -/* 06818 808D15D8 00000000 */ nop -/* 0681C 808D15DC 0C034221 */ jal Matrix_Pop -/* 06820 808D15E0 00000000 */ nop -/* 06824 808D15E4 3C04808D */ lui $a0, %hi(D_808D1E30) ## $a0 = 808D0000 -/* 06828 808D15E8 0C00084C */ jal osSyncPrintf - -/* 0682C 808D15EC 24841E30 */ addiu $a0, $a0, %lo(D_808D1E30) ## $a0 = 808D1E30 -/* 06830 808D15F0 3C06808D */ lui $a2, %hi(D_808D1E38) ## $a2 = 808D0000 -/* 06834 808D15F4 24C61E38 */ addiu $a2, $a2, %lo(D_808D1E38) ## $a2 = 808D1E38 -/* 06838 808D15F8 27A40158 */ addiu $a0, $sp, 0x0158 ## $a0 = FFFFFFE0 -/* 0683C 808D15FC 8EC50000 */ lw $a1, 0x0000($s6) ## 00000000 -/* 06840 808D1600 0C031AD5 */ jal Graph_CloseDisps -/* 06844 808D1604 2407137B */ addiu $a3, $zero, 0x137B ## $a3 = 0000137B -/* 06848 808D1608 8FBF0074 */ lw $ra, 0x0074($sp) -/* 0684C 808D160C D7B40038 */ ldc1 $f20, 0x0038($sp) -/* 06850 808D1610 D7B60040 */ ldc1 $f22, 0x0040($sp) -/* 06854 808D1614 D7B80048 */ ldc1 $f24, 0x0048($sp) -/* 06858 808D1618 D7BA0050 */ ldc1 $f26, 0x0050($sp) -/* 0685C 808D161C 8FB00058 */ lw $s0, 0x0058($sp) -/* 06860 808D1620 8FB1005C */ lw $s1, 0x005C($sp) -/* 06864 808D1624 8FB20060 */ lw $s2, 0x0060($sp) -/* 06868 808D1628 8FB30064 */ lw $s3, 0x0064($sp) -/* 0686C 808D162C 8FB40068 */ lw $s4, 0x0068($sp) -/* 06870 808D1630 8FB5006C */ lw $s5, 0x006C($sp) -/* 06874 808D1634 8FB60070 */ lw $s6, 0x0070($sp) -/* 06878 808D1638 03E00008 */ jr $ra -/* 0687C 808D163C 27BD0178 */ addiu $sp, $sp, 0x0178 ## $sp = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/BossFd2_Destroy.s b/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/BossFd2_Destroy.s deleted file mode 100644 index 1c84010e9d..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/BossFd2_Destroy.s +++ /dev/null @@ -1,15 +0,0 @@ -glabel BossFd2_Destroy -/* 00528 808D2B98 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 0052C 808D2B9C AFBF0014 */ sw $ra, 0x0014($sp) -/* 00530 808D2BA0 AFA40018 */ sw $a0, 0x0018($sp) -/* 00534 808D2BA4 AFA5001C */ sw $a1, 0x001C($sp) -/* 00538 808D2BA8 0C0295BC */ jal SkelAnime_Free -/* 0053C 808D2BAC 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C -/* 00540 808D2BB0 8FA50018 */ lw $a1, 0x0018($sp) -/* 00544 808D2BB4 8FA4001C */ lw $a0, 0x001C($sp) -/* 00548 808D2BB8 0C016F32 */ jal Collider_DestroyJntSph -/* 0054C 808D2BBC 24A5141C */ addiu $a1, $a1, 0x141C ## $a1 = 0000141C -/* 00550 808D2BC0 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00554 808D2BC4 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00558 808D2BC8 03E00008 */ jr $ra -/* 0055C 808D2BCC 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/BossFd2_Draw.s b/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/BossFd2_Draw.s deleted file mode 100644 index d5820658f8..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/BossFd2_Draw.s +++ /dev/null @@ -1,170 +0,0 @@ -.rdata -glabel D_808D6444 - .asciz "../z_boss_fd2.c" - .balign 4 - -glabel D_808D6454 - .asciz "FD2 draw start \n" - .balign 4 - -glabel D_808D6468 - .asciz "../z_boss_fd2.c" - .balign 4 - -.text -glabel BossFd2_Draw -/* 036E0 808D5D50 27BDFF88 */ addiu $sp, $sp, 0xFF88 ## $sp = FFFFFF88 -/* 036E4 808D5D54 AFB20040 */ sw $s2, 0x0040($sp) -/* 036E8 808D5D58 00A09025 */ or $s2, $a1, $zero ## $s2 = 00000000 -/* 036EC 808D5D5C AFBF0044 */ sw $ra, 0x0044($sp) -/* 036F0 808D5D60 AFB1003C */ sw $s1, 0x003C($sp) -/* 036F4 808D5D64 AFB00038 */ sw $s0, 0x0038($sp) -/* 036F8 808D5D68 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000 -/* 036FC 808D5D6C 00808825 */ or $s1, $a0, $zero ## $s1 = 00000000 -/* 03700 808D5D70 3C06808D */ lui $a2, %hi(D_808D6444) ## $a2 = 808D0000 -/* 03704 808D5D74 24C66444 */ addiu $a2, $a2, %lo(D_808D6444) ## $a2 = 808D6444 -/* 03708 808D5D78 27A4005C */ addiu $a0, $sp, 0x005C ## $a0 = FFFFFFE4 -/* 0370C 808D5D7C 24070A39 */ addiu $a3, $zero, 0x0A39 ## $a3 = 00000A39 -/* 03710 808D5D80 0C031AB1 */ jal Graph_OpenDisps -/* 03714 808D5D84 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000 -/* 03718 808D5D88 3C04808D */ lui $a0, %hi(D_808D6454) ## $a0 = 808D0000 -/* 0371C 808D5D8C 0C00084C */ jal osSyncPrintf - -/* 03720 808D5D90 24846454 */ addiu $a0, $a0, %lo(D_808D6454) ## $a0 = 808D6454 -/* 03724 808D5D94 8E2F0190 */ lw $t7, 0x0190($s1) ## 00000190 -/* 03728 808D5D98 3C0E808D */ lui $t6, %hi(func_808D4748) ## $t6 = 808D0000 -/* 0372C 808D5D9C 25CE4748 */ addiu $t6, $t6, %lo(func_808D4748) ## $t6 = 808D4748 -/* 03730 808D5DA0 11CF0075 */ beq $t6, $t7, .L808D5F78 -/* 03734 808D5DA4 00000000 */ nop -/* 03738 808D5DA8 0C024F46 */ jal func_80093D18 -/* 0373C 808D5DAC 8E440000 */ lw $a0, 0x0000($s2) ## 00000000 -/* 03740 808D5DB0 863801A6 */ lh $t8, 0x01A6($s1) ## 000001A6 -/* 03744 808D5DB4 240500FF */ addiu $a1, $zero, 0x00FF ## $a1 = 000000FF -/* 03748 808D5DB8 240600FF */ addiu $a2, $zero, 0x00FF ## $a2 = 000000FF -/* 0374C 808D5DBC 33190002 */ andi $t9, $t8, 0x0002 ## $t9 = 00000000 -/* 03750 808D5DC0 13200009 */ beq $t9, $zero, .L808D5DE8 -/* 03754 808D5DC4 240700FF */ addiu $a3, $zero, 0x00FF ## $a3 = 000000FF -/* 03758 808D5DC8 8E0402C0 */ lw $a0, 0x02C0($s0) ## 000002C0 -/* 0375C 808D5DCC 24080384 */ addiu $t0, $zero, 0x0384 ## $t0 = 00000384 -/* 03760 808D5DD0 2409044B */ addiu $t1, $zero, 0x044B ## $t1 = 0000044B -/* 03764 808D5DD4 AFA90018 */ sw $t1, 0x0018($sp) -/* 03768 808D5DD8 AFA80014 */ sw $t0, 0x0014($sp) -/* 0376C 808D5DDC 0C024CDC */ jal Gfx_SetFog -/* 03770 808D5DE0 AFA00010 */ sw $zero, 0x0010($sp) -/* 03774 808D5DE4 AE0202C0 */ sw $v0, 0x02C0($s0) ## 000002C0 -.L808D5DE8: -/* 03778 808D5DE8 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0 -/* 0377C 808D5DEC 3C0BDB06 */ lui $t3, 0xDB06 ## $t3 = DB060000 -/* 03780 808D5DF0 356B0024 */ ori $t3, $t3, 0x0024 ## $t3 = DB060024 -/* 03784 808D5DF4 244A0008 */ addiu $t2, $v0, 0x0008 ## $t2 = 00000008 -/* 03788 808D5DF8 AE0A02C0 */ sw $t2, 0x02C0($s0) ## 000002C0 -/* 0378C 808D5DFC AC4B0000 */ sw $t3, 0x0000($v0) ## 00000000 -/* 03790 808D5E00 922C0223 */ lbu $t4, 0x0223($s1) ## 00000223 -/* 03794 808D5E04 3C04808D */ lui $a0, %hi(D_808D62C0) ## $a0 = 808D0000 -/* 03798 808D5E08 3C088016 */ lui $t0, %hi(gSegments) -/* 0379C 808D5E0C 000C6880 */ sll $t5, $t4, 2 -/* 037A0 808D5E10 008D2021 */ addu $a0, $a0, $t5 -/* 037A4 808D5E14 8C8462C0 */ lw $a0, %lo(D_808D62C0)($a0) -/* 037A8 808D5E18 3C0100FF */ lui $at, 0x00FF ## $at = 00FF0000 -/* 037AC 808D5E1C 3421FFFF */ ori $at, $at, 0xFFFF ## $at = 00FFFFFF -/* 037B0 808D5E20 00047900 */ sll $t7, $a0, 4 -/* 037B4 808D5E24 000FC702 */ srl $t8, $t7, 28 -/* 037B8 808D5E28 0018C880 */ sll $t9, $t8, 2 -/* 037BC 808D5E2C 01194021 */ addu $t0, $t0, $t9 -/* 037C0 808D5E30 8D086FA8 */ lw $t0, %lo(gSegments)($t0) -/* 037C4 808D5E34 00817024 */ and $t6, $a0, $at -/* 037C8 808D5E38 3C018000 */ lui $at, 0x8000 ## $at = 80000000 -/* 037CC 808D5E3C 01C84821 */ addu $t1, $t6, $t0 -/* 037D0 808D5E40 01215021 */ addu $t2, $t1, $at -/* 037D4 808D5E44 AC4A0004 */ sw $t2, 0x0004($v0) ## 00000004 -/* 037D8 808D5E48 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0 -/* 037DC 808D5E4C 3C0CDB06 */ lui $t4, 0xDB06 ## $t4 = DB060000 -/* 037E0 808D5E50 358C0020 */ ori $t4, $t4, 0x0020 ## $t4 = DB060020 -/* 037E4 808D5E54 244B0008 */ addiu $t3, $v0, 0x0008 ## $t3 = 00000008 -/* 037E8 808D5E58 AE0B02C0 */ sw $t3, 0x02C0($s0) ## 000002C0 -/* 037EC 808D5E5C AC4C0000 */ sw $t4, 0x0000($v0) ## 00000000 -/* 037F0 808D5E60 C62801CC */ lwc1 $f8, 0x01CC($s1) ## 000001CC -/* 037F4 808D5E64 C62401C8 */ lwc1 $f4, 0x01C8($s1) ## 000001C8 -/* 037F8 808D5E68 8E440000 */ lw $a0, 0x0000($s2) ## 00000000 -/* 037FC 808D5E6C 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001 -/* 03800 808D5E70 24190020 */ addiu $t9, $zero, 0x0020 ## $t9 = 00000020 -/* 03804 808D5E74 24180020 */ addiu $t8, $zero, 0x0020 ## $t8 = 00000020 -/* 03808 808D5E78 AFB80010 */ sw $t8, 0x0010($sp) -/* 0380C 808D5E7C AFB90014 */ sw $t9, 0x0014($sp) -/* 03810 808D5E80 AFAE0018 */ sw $t6, 0x0018($sp) -/* 03814 808D5E84 C63001D0 */ lwc1 $f16, 0x01D0($s1) ## 000001D0 -/* 03818 808D5E88 4600218D */ trunc.w.s $f6, $f4 -/* 0381C 808D5E8C 240E0020 */ addiu $t6, $zero, 0x0020 ## $t6 = 00000020 -/* 03820 808D5E90 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000 -/* 03824 808D5E94 4600848D */ trunc.w.s $f18, $f16 -/* 03828 808D5E98 44063000 */ mfc1 $a2, $f6 -/* 0382C 808D5E9C 4600428D */ trunc.w.s $f10, $f8 -/* 03830 808D5EA0 44099000 */ mfc1 $t1, $f18 -/* 03834 808D5EA4 00063400 */ sll $a2, $a2, 16 -/* 03838 808D5EA8 00063403 */ sra $a2, $a2, 16 -/* 0383C 808D5EAC 00095400 */ sll $t2, $t1, 16 -/* 03840 808D5EB0 000A5C03 */ sra $t3, $t2, 16 -/* 03844 808D5EB4 AFAB001C */ sw $t3, 0x001C($sp) -/* 03848 808D5EB8 C62401D4 */ lwc1 $f4, 0x01D4($s1) ## 000001D4 -/* 0384C 808D5EBC 44075000 */ mfc1 $a3, $f10 -/* 03850 808D5EC0 AFAE0028 */ sw $t6, 0x0028($sp) -/* 03854 808D5EC4 4600218D */ trunc.w.s $f6, $f4 -/* 03858 808D5EC8 00073C00 */ sll $a3, $a3, 16 -/* 0385C 808D5ECC 00073C03 */ sra $a3, $a3, 16 -/* 03860 808D5ED0 AFB90024 */ sw $t9, 0x0024($sp) -/* 03864 808D5ED4 440D3000 */ mfc1 $t5, $f6 -/* 03868 808D5ED8 AFA20054 */ sw $v0, 0x0054($sp) -/* 0386C 808D5EDC 000D7C00 */ sll $t7, $t5, 16 -/* 03870 808D5EE0 000FC403 */ sra $t8, $t7, 16 -/* 03874 808D5EE4 0C0253D0 */ jal Gfx_TwoTexScroll -/* 03878 808D5EE8 AFB80020 */ sw $t8, 0x0020($sp) -/* 0387C 808D5EEC 8FA30054 */ lw $v1, 0x0054($sp) -/* 03880 808D5EF0 3C09FA00 */ lui $t1, 0xFA00 ## $t1 = FA000000 -/* 03884 808D5EF4 240AFFFF */ addiu $t2, $zero, 0xFFFF ## $t2 = FFFFFFFF -/* 03888 808D5EF8 AC620004 */ sw $v0, 0x0004($v1) ## 00000004 -/* 0388C 808D5EFC 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0 -/* 03890 808D5F00 3C0CFB00 */ lui $t4, 0xFB00 ## $t4 = FB000000 -/* 03894 808D5F04 240DFF80 */ addiu $t5, $zero, 0xFF80 ## $t5 = FFFFFF80 -/* 03898 808D5F08 24480008 */ addiu $t0, $v0, 0x0008 ## $t0 = 00000008 -/* 0389C 808D5F0C AE0802C0 */ sw $t0, 0x02C0($s0) ## 000002C0 -/* 038A0 808D5F10 AC4A0004 */ sw $t2, 0x0004($v0) ## 00000004 -/* 038A4 808D5F14 AC490000 */ sw $t1, 0x0000($v0) ## 00000000 -/* 038A8 808D5F18 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0 -/* 038AC 808D5F1C 3C0F808D */ lui $t7, %hi(func_808D4F94) ## $t7 = 808D0000 -/* 038B0 808D5F20 3C18808D */ lui $t8, %hi(func_808D5228) ## $t8 = 808D0000 -/* 038B4 808D5F24 244B0008 */ addiu $t3, $v0, 0x0008 ## $t3 = 00000008 -/* 038B8 808D5F28 AE0B02C0 */ sw $t3, 0x02C0($s0) ## 000002C0 -/* 038BC 808D5F2C AC4D0004 */ sw $t5, 0x0004($v0) ## 00000004 -/* 038C0 808D5F30 AC4C0000 */ sw $t4, 0x0000($v0) ## 00000000 -/* 038C4 808D5F34 9227014E */ lbu $a3, 0x014E($s1) ## 0000014E -/* 038C8 808D5F38 8E26016C */ lw $a2, 0x016C($s1) ## 0000016C -/* 038CC 808D5F3C 8E250150 */ lw $a1, 0x0150($s1) ## 00000150 -/* 038D0 808D5F40 27185228 */ addiu $t8, $t8, %lo(func_808D5228) ## $t8 = 808D5228 -/* 038D4 808D5F44 25EF4F94 */ addiu $t7, $t7, %lo(func_808D4F94) ## $t7 = 808D4F94 -/* 038D8 808D5F48 AFAF0010 */ sw $t7, 0x0010($sp) -/* 038DC 808D5F4C AFB80014 */ sw $t8, 0x0014($sp) -/* 038E0 808D5F50 AFB10018 */ sw $s1, 0x0018($sp) -/* 038E4 808D5F54 0C0286B2 */ jal SkelAnime_DrawFlexOpa -/* 038E8 808D5F58 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000 -/* 038EC 808D5F5C 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 038F0 808D5F60 0C235638 */ jal func_808D58E0 -/* 038F4 808D5F64 02402825 */ or $a1, $s2, $zero ## $a1 = 00000000 -/* 038F8 808D5F68 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000 -/* 038FC 808D5F6C 0C02F228 */ jal func_800BC8A0 -/* 03900 808D5F70 8E0502C0 */ lw $a1, 0x02C0($s0) ## 000002C0 -/* 03904 808D5F74 AE0202C0 */ sw $v0, 0x02C0($s0) ## 000002C0 -.L808D5F78: -/* 03908 808D5F78 3C06808D */ lui $a2, %hi(D_808D6468) ## $a2 = 808D0000 -/* 0390C 808D5F7C 24C66468 */ addiu $a2, $a2, %lo(D_808D6468) ## $a2 = 808D6468 -/* 03910 808D5F80 27A4005C */ addiu $a0, $sp, 0x005C ## $a0 = FFFFFFE4 -/* 03914 808D5F84 8E450000 */ lw $a1, 0x0000($s2) ## 00000000 -/* 03918 808D5F88 0C031AD5 */ jal Graph_CloseDisps -/* 0391C 808D5F8C 24070A80 */ addiu $a3, $zero, 0x0A80 ## $a3 = 00000A80 -/* 03920 808D5F90 8FBF0044 */ lw $ra, 0x0044($sp) -/* 03924 808D5F94 8FB00038 */ lw $s0, 0x0038($sp) -/* 03928 808D5F98 8FB1003C */ lw $s1, 0x003C($sp) -/* 0392C 808D5F9C 8FB20040 */ lw $s2, 0x0040($sp) -/* 03930 808D5FA0 03E00008 */ jr $ra -/* 03934 808D5FA4 27BD0078 */ addiu $sp, $sp, 0x0078 ## $sp = 00000000 -/* 03938 808D5FA8 00000000 */ nop -/* 0393C 808D5FAC 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/BossFd2_Init.s b/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/BossFd2_Init.s deleted file mode 100644 index 8e1ccca1ac..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/BossFd2_Init.s +++ /dev/null @@ -1,73 +0,0 @@ -.late_rodata -glabel D_808D6478 - .float -850.0 - -.text -glabel BossFd2_Init -/* 00430 808D2AA0 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0 -/* 00434 808D2AA4 AFA50044 */ sw $a1, 0x0044($sp) -/* 00438 808D2AA8 AFBF002C */ sw $ra, 0x002C($sp) -/* 0043C 808D2AAC AFB00028 */ sw $s0, 0x0028($sp) -/* 00440 808D2AB0 3C05808D */ lui $a1, %hi(D_808D6190) ## $a1 = 808D0000 -/* 00444 808D2AB4 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00448 808D2AB8 0C01E037 */ jal Actor_ProcessInitChain - -/* 0044C 808D2ABC 24A56190 */ addiu $a1, $a1, %lo(D_808D6190) ## $a1 = 808D6190 -/* 00450 808D2AC0 3C053BE5 */ lui $a1, 0x3BE5 ## $a1 = 3BE50000 -/* 00454 808D2AC4 34A56040 */ ori $a1, $a1, 0x6040 ## $a1 = 3BE56040 -/* 00458 808D2AC8 0C00B58B */ jal Actor_SetScale - -/* 0045C 808D2ACC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00460 808D2AD0 3C01808D */ lui $at, %hi(D_808D6478) ## $at = 808D0000 -/* 00464 808D2AD4 C4246478 */ lwc1 $f4, %lo(D_808D6478)($at) -/* 00468 808D2AD8 3C01C411 */ lui $at, 0xC411 ## $at = C4110000 -/* 0046C 808D2ADC 44813000 */ mtc1 $at, $f6 ## $f6 = -580.00 -/* 00470 808D2AE0 C6080054 */ lwc1 $f8, 0x0054($s0) ## 00000054 -/* 00474 808D2AE4 260400B4 */ addiu $a0, $s0, 0x00B4 ## $a0 = 000000B4 -/* 00478 808D2AE8 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000 -/* 0047C 808D2AEC 46083283 */ div.s $f10, $f6, $f8 -/* 00480 808D2AF0 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000 -/* 00484 808D2AF4 E6040028 */ swc1 $f4, 0x0028($s0) ## 00000028 -/* 00488 808D2AF8 44055000 */ mfc1 $a1, $f10 -/* 0048C 808D2AFC 0C00AC78 */ jal ActorShape_Init - -/* 00490 808D2B00 00000000 */ nop -/* 00494 808D2B04 3C060601 */ lui $a2, 0x0601 ## $a2 = 06010000 -/* 00498 808D2B08 3C070601 */ lui $a3, %hi(D_0600C8EC) ## $a3 = 06010000 -/* 0049C 808D2B0C 24E7C8EC */ addiu $a3, $a3, %lo(D_0600C8EC) ## $a3 = 0600C8EC -/* 004A0 808D2B10 24C61A78 */ addiu $a2, $a2, 0x1A78 ## $a2 = 06011A78 -/* 004A4 808D2B14 8FA40044 */ lw $a0, 0x0044($sp) -/* 004A8 808D2B18 2605014C */ addiu $a1, $s0, 0x014C ## $a1 = 0000014C -/* 004AC 808D2B1C AFA00010 */ sw $zero, 0x0010($sp) -/* 004B0 808D2B20 AFA00014 */ sw $zero, 0x0014($sp) -/* 004B4 808D2B24 0C0291BE */ jal SkelAnime_InitFlex -/* 004B8 808D2B28 AFA00018 */ sw $zero, 0x0018($sp) -/* 004BC 808D2B2C 860E001C */ lh $t6, 0x001C($s0) ## 0000001C -/* 004C0 808D2B30 3C0F808D */ lui $t7, %hi(func_808D4748) ## $t7 = 808D0000 -/* 004C4 808D2B34 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 004C8 808D2B38 15C00005 */ bne $t6, $zero, .L808D2B50 -/* 004CC 808D2B3C 25EF4748 */ addiu $t7, $t7, %lo(func_808D4748) ## $t7 = 808D4748 -/* 004D0 808D2B40 0C234AF4 */ jal func_808D2BD0 -/* 004D4 808D2B44 8FA50044 */ lw $a1, 0x0044($sp) -/* 004D8 808D2B48 10000003 */ beq $zero, $zero, .L808D2B58 -/* 004DC 808D2B4C 2605141C */ addiu $a1, $s0, 0x141C ## $a1 = 0000141C -.L808D2B50: -/* 004E0 808D2B50 AE0F0190 */ sw $t7, 0x0190($s0) ## 00000190 -/* 004E4 808D2B54 2605141C */ addiu $a1, $s0, 0x141C ## $a1 = 0000141C -.L808D2B58: -/* 004E8 808D2B58 AFA50034 */ sw $a1, 0x0034($sp) -/* 004EC 808D2B5C 0C016EFE */ jal Collider_InitJntSph -/* 004F0 808D2B60 8FA40044 */ lw $a0, 0x0044($sp) -/* 004F4 808D2B64 3C07808D */ lui $a3, %hi(D_808D6114) ## $a3 = 808D0000 -/* 004F8 808D2B68 2618143C */ addiu $t8, $s0, 0x143C ## $t8 = 0000143C -/* 004FC 808D2B6C 8FA50034 */ lw $a1, 0x0034($sp) -/* 00500 808D2B70 AFB80010 */ sw $t8, 0x0010($sp) -/* 00504 808D2B74 24E76114 */ addiu $a3, $a3, %lo(D_808D6114) ## $a3 = 808D6114 -/* 00508 808D2B78 8FA40044 */ lw $a0, 0x0044($sp) -/* 0050C 808D2B7C 0C017014 */ jal Collider_SetJntSph -/* 00510 808D2B80 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000 -/* 00514 808D2B84 8FBF002C */ lw $ra, 0x002C($sp) -/* 00518 808D2B88 8FB00028 */ lw $s0, 0x0028($sp) -/* 0051C 808D2B8C 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000 -/* 00520 808D2B90 03E00008 */ jr $ra -/* 00524 808D2B94 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/BossFd2_Update.s b/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/BossFd2_Update.s deleted file mode 100644 index e925f1ac9c..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/BossFd2_Update.s +++ /dev/null @@ -1,131 +0,0 @@ -.rdata -glabel D_808D63A0 - .asciz "FD2 move start \n" - .balign 4 - -.text -glabel BossFd2_Update -/* 02764 808D4DD4 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8 -/* 02768 808D4DD8 AFB00014 */ sw $s0, 0x0014($sp) -/* 0276C 808D4DDC 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 02770 808D4DE0 AFBF001C */ sw $ra, 0x001C($sp) -/* 02774 808D4DE4 AFB10018 */ sw $s1, 0x0018($sp) -/* 02778 808D4DE8 3C04808D */ lui $a0, %hi(D_808D63A0) ## $a0 = 808D0000 -/* 0277C 808D4DEC 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000 -/* 02780 808D4DF0 0C00084C */ jal osSyncPrintf - -/* 02784 808D4DF4 248463A0 */ addiu $a0, $a0, %lo(D_808D63A0) ## $a0 = 808D63A0 -/* 02788 808D4DF8 8618019C */ lh $t8, 0x019C($s0) ## 0000019C -/* 0278C 808D4DFC 8E0E0004 */ lw $t6, 0x0004($s0) ## 00000004 -/* 02790 808D4E00 8608019A */ lh $t0, 0x019A($s0) ## 0000019A -/* 02794 808D4E04 27190001 */ addiu $t9, $t8, 0x0001 ## $t9 = 00000001 -/* 02798 808D4E08 A619019C */ sh $t9, 0x019C($s0) ## 0000019C -/* 0279C 808D4E0C 8E190190 */ lw $t9, 0x0190($s0) ## 00000190 -/* 027A0 808D4E10 2401FBFF */ addiu $at, $zero, 0xFBFF ## $at = FFFFFBFF -/* 027A4 808D4E14 01C17824 */ and $t7, $t6, $at -/* 027A8 808D4E18 25090001 */ addiu $t1, $t0, 0x0001 ## $t1 = 00000001 -/* 027AC 808D4E1C A2000194 */ sb $zero, 0x0194($s0) ## 00000194 -/* 027B0 808D4E20 AE0F0004 */ sw $t7, 0x0004($s0) ## 00000004 -/* 027B4 808D4E24 A609019A */ sh $t1, 0x019A($s0) ## 0000019A -/* 027B8 808D4E28 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 027BC 808D4E2C 0320F809 */ jalr $ra, $t9 -/* 027C0 808D4E30 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000 -/* 027C4 808D4E34 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000 -/* 027C8 808D4E38 00025040 */ sll $t2, $v0, 1 -.L808D4E3C: -/* 027CC 808D4E3C 020A1821 */ addu $v1, $s0, $t2 -/* 027D0 808D4E40 846401BC */ lh $a0, 0x01BC($v1) ## 000001BC -/* 027D4 808D4E44 24420001 */ addiu $v0, $v0, 0x0001 ## $v0 = 00000001 -/* 027D8 808D4E48 00021400 */ sll $v0, $v0, 16 -/* 027DC 808D4E4C 10800003 */ beq $a0, $zero, .L808D4E5C -/* 027E0 808D4E50 00021403 */ sra $v0, $v0, 16 -/* 027E4 808D4E54 248BFFFF */ addiu $t3, $a0, 0xFFFF ## $t3 = FFFFFFFF -/* 027E8 808D4E58 A46B01BC */ sh $t3, 0x01BC($v1) ## 000001BC -.L808D4E5C: -/* 027EC 808D4E5C 28410005 */ slti $at, $v0, 0x0005 -/* 027F0 808D4E60 5420FFF6 */ bnel $at, $zero, .L808D4E3C -/* 027F4 808D4E64 00025040 */ sll $t2, $v0, 1 -/* 027F8 808D4E68 860201A6 */ lh $v0, 0x01A6($s0) ## 000001A6 -/* 027FC 808D4E6C 10400002 */ beq $v0, $zero, .L808D4E78 -/* 02800 808D4E70 244CFFFF */ addiu $t4, $v0, 0xFFFF ## $t4 = 00000000 -/* 02804 808D4E74 A60C01A6 */ sh $t4, 0x01A6($s0) ## 000001A6 -.L808D4E78: -/* 02808 808D4E78 860201AA */ lh $v0, 0x01AA($s0) ## 000001AA -/* 0280C 808D4E7C 10400002 */ beq $v0, $zero, .L808D4E88 -/* 02810 808D4E80 244DFFFF */ addiu $t5, $v0, 0xFFFF ## $t5 = 00000000 -/* 02814 808D4E84 A60D01AA */ sh $t5, 0x01AA($s0) ## 000001AA -.L808D4E88: -/* 02818 808D4E88 860E1390 */ lh $t6, 0x1390($s0) ## 00001390 -/* 0281C 808D4E8C 55C0001B */ bnel $t6, $zero, .L808D4EFC -/* 02820 808D4E90 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 02824 808D4E94 860F01AA */ lh $t7, 0x01AA($s0) ## 000001AA -/* 02828 808D4E98 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 0282C 808D4E9C 55E00004 */ bnel $t7, $zero, .L808D4EB0 -/* 02830 808D4EA0 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 02834 808D4EA4 0C2351E4 */ jal func_808D4790 -/* 02838 808D4EA8 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000 -/* 0283C 808D4EAC 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -.L808D4EB0: -/* 02840 808D4EB0 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60 -/* 02844 808D4EB4 02212821 */ addu $a1, $s1, $at -/* 02848 808D4EB8 2606141C */ addiu $a2, $s0, 0x141C ## $a2 = 0000141C -/* 0284C 808D4EBC AFA60024 */ sw $a2, 0x0024($sp) -/* 02850 808D4EC0 AFA50028 */ sw $a1, 0x0028($sp) -/* 02854 808D4EC4 0C01767D */ jal CollisionCheck_SetAC - ## CollisionCheck_setAC -/* 02858 808D4EC8 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 0285C 808D4ECC 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 02860 808D4ED0 8FA50028 */ lw $a1, 0x0028($sp) -/* 02864 808D4ED4 0C017713 */ jal CollisionCheck_SetOC - ## CollisionCheck_setOC -/* 02868 808D4ED8 8FA60024 */ lw $a2, 0x0024($sp) -/* 0286C 808D4EDC 92180194 */ lbu $t8, 0x0194($s0) ## 00000194 -/* 02870 808D4EE0 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 02874 808D4EE4 8FA50028 */ lw $a1, 0x0028($sp) -/* 02878 808D4EE8 57000004 */ bnel $t8, $zero, .L808D4EFC -/* 0287C 808D4EEC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 02880 808D4EF0 0C0175E7 */ jal CollisionCheck_SetAT - ## CollisionCheck_setAT -/* 02884 808D4EF4 8FA60024 */ lw $a2, 0x0024($sp) -/* 02888 808D4EF8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -.L808D4EFC: -/* 0288C 808D4EFC 0C23531A */ jal func_808D4C68 -/* 02890 808D4F00 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000 -/* 02894 808D4F04 3C014080 */ lui $at, 0x4080 ## $at = 40800000 -/* 02898 808D4F08 44813000 */ mtc1 $at, $f6 ## $f6 = 4.00 -/* 0289C 808D4F0C C60401C8 */ lwc1 $f4, 0x01C8($s0) ## 000001C8 -/* 028A0 808D4F10 3C0142F0 */ lui $at, 0x42F0 ## $at = 42F00000 -/* 028A4 808D4F14 44815000 */ mtc1 $at, $f10 ## $f10 = 120.00 -/* 028A8 808D4F18 46062200 */ add.s $f8, $f4, $f6 -/* 028AC 808D4F1C 3C014040 */ lui $at, 0x4040 ## $at = 40400000 -/* 028B0 808D4F20 44819000 */ mtc1 $at, $f18 ## $f18 = 3.00 -/* 028B4 808D4F24 C61001D0 */ lwc1 $f16, 0x01D0($s0) ## 000001D0 -/* 028B8 808D4F28 E60801C8 */ swc1 $f8, 0x01C8($s0) ## 000001C8 -/* 028BC 808D4F2C 3C014000 */ lui $at, 0x4000 ## $at = 40000000 -/* 028C0 808D4F30 46128100 */ add.s $f4, $f16, $f18 -/* 028C4 808D4F34 44814000 */ mtc1 $at, $f8 ## $f8 = 2.00 -/* 028C8 808D4F38 3C0142B4 */ lui $at, 0x42B4 ## $at = 42B40000 -/* 028CC 808D4F3C 44819000 */ mtc1 $at, $f18 ## $f18 = 90.00 -/* 028D0 808D4F40 C610003C */ lwc1 $f16, 0x003C($s0) ## 0000003C -/* 028D4 808D4F44 C60601D4 */ lwc1 $f6, 0x01D4($s0) ## 000001D4 -/* 028D8 808D4F48 E60A01CC */ swc1 $f10, 0x01CC($s0) ## 000001CC -/* 028DC 808D4F4C 4612803C */ c.lt.s $f16, $f18 -/* 028E0 808D4F50 E60401D0 */ swc1 $f4, 0x01D0($s0) ## 000001D0 -/* 028E4 808D4F54 46083281 */ sub.s $f10, $f6, $f8 -/* 028E8 808D4F58 45000006 */ bc1f .L808D4F74 -/* 028EC 808D4F5C E60A01D4 */ swc1 $f10, 0x01D4($s0) ## 000001D4 -/* 028F0 808D4F60 8E080004 */ lw $t0, 0x0004($s0) ## 00000004 -/* 028F4 808D4F64 2401FFFE */ addiu $at, $zero, 0xFFFE ## $at = FFFFFFFE -/* 028F8 808D4F68 01014824 */ and $t1, $t0, $at -/* 028FC 808D4F6C 10000004 */ beq $zero, $zero, .L808D4F80 -/* 02900 808D4F70 AE090004 */ sw $t1, 0x0004($s0) ## 00000004 -.L808D4F74: -/* 02904 808D4F74 8E190004 */ lw $t9, 0x0004($s0) ## 00000004 -/* 02908 808D4F78 372A0001 */ ori $t2, $t9, 0x0001 ## $t2 = 00000001 -/* 0290C 808D4F7C AE0A0004 */ sw $t2, 0x0004($s0) ## 00000004 -.L808D4F80: -/* 02910 808D4F80 8FBF001C */ lw $ra, 0x001C($sp) -/* 02914 808D4F84 8FB00014 */ lw $s0, 0x0014($sp) -/* 02918 808D4F88 8FB10018 */ lw $s1, 0x0018($sp) -/* 0291C 808D4F8C 03E00008 */ jr $ra -/* 02920 808D4F90 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D2670.s b/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D2670.s deleted file mode 100644 index 8871e25ae0..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D2670.s +++ /dev/null @@ -1,60 +0,0 @@ -glabel func_808D2670 -/* 00000 808D2670 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00004 808D2674 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00008 808D2678 AFA40018 */ sw $a0, 0x0018($sp) -/* 0000C 808D267C 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000 -.L808D2680: -/* 00010 808D2680 90AE0024 */ lbu $t6, 0x0024($a1) ## 00000024 -/* 00014 808D2684 24420001 */ addiu $v0, $v0, 0x0001 ## $v0 = 00000001 -/* 00018 808D2688 00021400 */ sll $v0, $v0, 16 -/* 0001C 808D268C 15C00027 */ bne $t6, $zero, .L808D272C -/* 00020 808D2690 00021403 */ sra $v0, $v0, 16 -/* 00024 808D2694 240F0002 */ addiu $t7, $zero, 0x0002 ## $t7 = 00000002 -/* 00028 808D2698 A0AF0024 */ sb $t7, 0x0024($a1) ## 00000024 -/* 0002C 808D269C 8CD90000 */ lw $t9, 0x0000($a2) ## 00000000 -/* 00030 808D26A0 3C01447A */ lui $at, 0x447A ## $at = 447A0000 -/* 00034 808D26A4 44813000 */ mtc1 $at, $f6 ## $f6 = 1000.00 -/* 00038 808D26A8 ACB90000 */ sw $t9, 0x0000($a1) ## 00000000 -/* 0003C 808D26AC 8CD80004 */ lw $t8, 0x0004($a2) ## 00000004 -/* 00040 808D26B0 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000 -/* 00044 808D26B4 44816000 */ mtc1 $at, $f12 ## $f12 = 100.00 -/* 00048 808D26B8 ACB80004 */ sw $t8, 0x0004($a1) ## 00000004 -/* 0004C 808D26BC 8CD90008 */ lw $t9, 0x0008($a2) ## 00000008 -/* 00050 808D26C0 ACB90008 */ sw $t9, 0x0008($a1) ## 00000008 -/* 00054 808D26C4 8CE90000 */ lw $t1, 0x0000($a3) ## 00000000 -/* 00058 808D26C8 ACA9000C */ sw $t1, 0x000C($a1) ## 0000000C -/* 0005C 808D26CC 8CE80004 */ lw $t0, 0x0004($a3) ## 00000004 -/* 00060 808D26D0 ACA80010 */ sw $t0, 0x0010($a1) ## 00000010 -/* 00064 808D26D4 8CE90008 */ lw $t1, 0x0008($a3) ## 00000008 -/* 00068 808D26D8 ACA90014 */ sw $t1, 0x0014($a1) ## 00000014 -/* 0006C 808D26DC 8FAA0028 */ lw $t2, 0x0028($sp) -/* 00070 808D26E0 8D4C0000 */ lw $t4, 0x0000($t2) ## 00000000 -/* 00074 808D26E4 ACAC0018 */ sw $t4, 0x0018($a1) ## 00000018 -/* 00078 808D26E8 8D4B0004 */ lw $t3, 0x0004($t2) ## 00000004 -/* 0007C 808D26EC ACAB001C */ sw $t3, 0x001C($a1) ## 0000001C -/* 00080 808D26F0 8D4C0008 */ lw $t4, 0x0008($t2) ## 00000008 -/* 00084 808D26F4 ACAC0020 */ sw $t4, 0x0020($a1) ## 00000020 -/* 00088 808D26F8 C7A4002C */ lwc1 $f4, 0x002C($sp) -/* 0008C 808D26FC 46062203 */ div.s $f8, $f4, $f6 -/* 00090 808D2700 E4A80030 */ swc1 $f8, 0x0030($a1) ## 00000030 -/* 00094 808D2704 0C00CFBE */ jal Rand_ZeroFloat - -/* 00098 808D2708 AFA5001C */ sw $a1, 0x001C($sp) -/* 0009C 808D270C 8FA5001C */ lw $a1, 0x001C($sp) -/* 000A0 808D2710 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000 -/* 000A4 808D2714 44816000 */ mtc1 $at, $f12 ## $f12 = 100.00 -/* 000A8 808D2718 0C00CFBE */ jal Rand_ZeroFloat - -/* 000AC 808D271C E4A00034 */ swc1 $f0, 0x0034($a1) ## 00000034 -/* 000B0 808D2720 8FA5001C */ lw $a1, 0x001C($sp) -/* 000B4 808D2724 10000004 */ beq $zero, $zero, .L808D2738 -/* 000B8 808D2728 E4A00038 */ swc1 $f0, 0x0038($a1) ## 00000038 -.L808D272C: -/* 000BC 808D272C 284100B4 */ slti $at, $v0, 0x00B4 -/* 000C0 808D2730 1420FFD3 */ bne $at, $zero, .L808D2680 -/* 000C4 808D2734 24A5003C */ addiu $a1, $a1, 0x003C ## $a1 = 0000003C -.L808D2738: -/* 000C8 808D2738 8FBF0014 */ lw $ra, 0x0014($sp) -/* 000CC 808D273C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 000D0 808D2740 03E00008 */ jr $ra -/* 000D4 808D2744 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D2748.s b/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D2748.s deleted file mode 100644 index f05017ada3..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D2748.s +++ /dev/null @@ -1,74 +0,0 @@ -glabel func_808D2748 -/* 000D8 808D2748 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 000DC 808D274C AFBF0014 */ sw $ra, 0x0014($sp) -/* 000E0 808D2750 AFA40018 */ sw $a0, 0x0018($sp) -/* 000E4 808D2754 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000 -.L808D2758: -/* 000E8 808D2758 90AE0024 */ lbu $t6, 0x0024($a1) ## 00000024 -/* 000EC 808D275C 24420001 */ addiu $v0, $v0, 0x0001 ## $v0 = 00000001 -/* 000F0 808D2760 00021400 */ sll $v0, $v0, 16 -/* 000F4 808D2764 15C00036 */ bne $t6, $zero, .L808D2840 -/* 000F8 808D2768 00021403 */ sra $v0, $v0, 16 -/* 000FC 808D276C 240F0004 */ addiu $t7, $zero, 0x0004 ## $t7 = 00000004 -/* 00100 808D2770 A0AF0024 */ sb $t7, 0x0024($a1) ## 00000024 -/* 00104 808D2774 A0A00025 */ sb $zero, 0x0025($a1) ## 00000025 -/* 00108 808D2778 8CD90000 */ lw $t9, 0x0000($a2) ## 00000000 -/* 0010C 808D277C 3C014120 */ lui $at, 0x4120 ## $at = 41200000 -/* 00110 808D2780 44816000 */ mtc1 $at, $f12 ## $f12 = 10.00 -/* 00114 808D2784 ACB90000 */ sw $t9, 0x0000($a1) ## 00000000 -/* 00118 808D2788 8CD80004 */ lw $t8, 0x0004($a2) ## 00000004 -/* 0011C 808D278C C4A40000 */ lwc1 $f4, 0x0000($a1) ## 00000000 -/* 00120 808D2790 ACB80004 */ sw $t8, 0x0004($a1) ## 00000004 -/* 00124 808D2794 8CD90008 */ lw $t9, 0x0008($a2) ## 00000008 -/* 00128 808D2798 C4AA0004 */ lwc1 $f10, 0x0004($a1) ## 00000004 -/* 0012C 808D279C ACB90008 */ sw $t9, 0x0008($a1) ## 00000008 -/* 00130 808D27A0 8CE90000 */ lw $t1, 0x0000($a3) ## 00000000 -/* 00134 808D27A4 ACA9000C */ sw $t1, 0x000C($a1) ## 0000000C -/* 00138 808D27A8 8CE80004 */ lw $t0, 0x0004($a3) ## 00000004 -/* 0013C 808D27AC C4A6000C */ lwc1 $f6, 0x000C($a1) ## 0000000C -/* 00140 808D27B0 ACA80010 */ sw $t0, 0x0010($a1) ## 00000010 -/* 00144 808D27B4 8CE90008 */ lw $t1, 0x0008($a3) ## 00000008 -/* 00148 808D27B8 46062201 */ sub.s $f8, $f4, $f6 -/* 0014C 808D27BC C4B00010 */ lwc1 $f16, 0x0010($a1) ## 00000010 -/* 00150 808D27C0 ACA90014 */ sw $t1, 0x0014($a1) ## 00000014 -/* 00154 808D27C4 8FAA0028 */ lw $t2, 0x0028($sp) -/* 00158 808D27C8 C4A60014 */ lwc1 $f6, 0x0014($a1) ## 00000014 -/* 0015C 808D27CC C4A40008 */ lwc1 $f4, 0x0008($a1) ## 00000008 -/* 00160 808D27D0 8D4C0000 */ lw $t4, 0x0000($t2) ## 00000000 -/* 00164 808D27D4 46105481 */ sub.s $f18, $f10, $f16 -/* 00168 808D27D8 44805000 */ mtc1 $zero, $f10 ## $f10 = 0.00 -/* 0016C 808D27DC ACAC0018 */ sw $t4, 0x0018($a1) ## 00000018 -/* 00170 808D27E0 8D4B0004 */ lw $t3, 0x0004($t2) ## 00000004 -/* 00174 808D27E4 ACAB001C */ sw $t3, 0x001C($a1) ## 0000001C -/* 00178 808D27E8 8D4C0008 */ lw $t4, 0x0008($t2) ## 00000008 -/* 0017C 808D27EC E4A80000 */ swc1 $f8, 0x0000($a1) ## 00000000 -/* 00180 808D27F0 46062201 */ sub.s $f8, $f4, $f6 -/* 00184 808D27F4 E4B20004 */ swc1 $f18, 0x0004($a1) ## 00000004 -/* 00188 808D27F8 E4AA0034 */ swc1 $f10, 0x0034($a1) ## 00000034 -/* 0018C 808D27FC ACAC0020 */ sw $t4, 0x0020($a1) ## 00000020 -/* 00190 808D2800 E4A80008 */ swc1 $f8, 0x0008($a1) ## 00000008 -/* 00194 808D2804 87AD0032 */ lh $t5, 0x0032($sp) -/* 00198 808D2808 A4AD002A */ sh $t5, 0x002A($a1) ## 0000002A -/* 0019C 808D280C 0C00CFBE */ jal Rand_ZeroFloat - -/* 001A0 808D2810 AFA5001C */ sw $a1, 0x001C($sp) -/* 001A4 808D2814 8FA5001C */ lw $a1, 0x001C($sp) -/* 001A8 808D2818 3C0143C8 */ lui $at, 0x43C8 ## $at = 43C80000 -/* 001AC 808D281C 44819000 */ mtc1 $at, $f18 ## $f18 = 400.00 -/* 001B0 808D2820 E4A00038 */ swc1 $f0, 0x0038($a1) ## 00000038 -/* 001B4 808D2824 A4A0002C */ sh $zero, 0x002C($a1) ## 0000002C -/* 001B8 808D2828 C7B0002C */ lwc1 $f16, 0x002C($sp) -/* 001BC 808D282C 46128103 */ div.s $f4, $f16, $f18 -/* 001C0 808D2830 E4A40030 */ swc1 $f4, 0x0030($a1) ## 00000030 -/* 001C4 808D2834 87AE0036 */ lh $t6, 0x0036($sp) -/* 001C8 808D2838 10000004 */ beq $zero, $zero, .L808D284C -/* 001CC 808D283C A4AE002E */ sh $t6, 0x002E($a1) ## 0000002E -.L808D2840: -/* 001D0 808D2840 284100B4 */ slti $at, $v0, 0x00B4 -/* 001D4 808D2844 1420FFC4 */ bne $at, $zero, .L808D2758 -/* 001D8 808D2848 24A5003C */ addiu $a1, $a1, 0x003C ## $a1 = 0000003C -.L808D284C: -/* 001DC 808D284C 8FBF0014 */ lw $ra, 0x0014($sp) -/* 001E0 808D2850 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 001E4 808D2854 03E00008 */ jr $ra -/* 001E8 808D2858 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D285C.s b/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D285C.s deleted file mode 100644 index 0b223f18f4..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D285C.s +++ /dev/null @@ -1,58 +0,0 @@ -glabel func_808D285C -/* 001EC 808D285C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 001F0 808D2860 AFBF0014 */ sw $ra, 0x0014($sp) -/* 001F4 808D2864 AFA40018 */ sw $a0, 0x0018($sp) -/* 001F8 808D2868 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000 -.L808D286C: -/* 001FC 808D286C 90AE0024 */ lbu $t6, 0x0024($a1) ## 00000024 -/* 00200 808D2870 24420001 */ addiu $v0, $v0, 0x0001 ## $v0 = 00000001 -/* 00204 808D2874 00021400 */ sll $v0, $v0, 16 -/* 00208 808D2878 15C00026 */ bne $t6, $zero, .L808D2914 -/* 0020C 808D287C 00021403 */ sra $v0, $v0, 16 -/* 00210 808D2880 240F0001 */ addiu $t7, $zero, 0x0001 ## $t7 = 00000001 -/* 00214 808D2884 A0AF0024 */ sb $t7, 0x0024($a1) ## 00000024 -/* 00218 808D2888 8CD90000 */ lw $t9, 0x0000($a2) ## 00000000 -/* 0021C 808D288C 3C01447A */ lui $at, 0x447A ## $at = 447A0000 -/* 00220 808D2890 44813000 */ mtc1 $at, $f6 ## $f6 = 1000.00 -/* 00224 808D2894 ACB90000 */ sw $t9, 0x0000($a1) ## 00000000 -/* 00228 808D2898 8CD80004 */ lw $t8, 0x0004($a2) ## 00000004 -/* 0022C 808D289C 240D00FF */ addiu $t5, $zero, 0x00FF ## $t5 = 000000FF -/* 00230 808D28A0 3C014120 */ lui $at, 0x4120 ## $at = 41200000 -/* 00234 808D28A4 ACB80004 */ sw $t8, 0x0004($a1) ## 00000004 -/* 00238 808D28A8 8CD90008 */ lw $t9, 0x0008($a2) ## 00000008 -/* 0023C 808D28AC 44816000 */ mtc1 $at, $f12 ## $f12 = 10.00 -/* 00240 808D28B0 ACB90008 */ sw $t9, 0x0008($a1) ## 00000008 -/* 00244 808D28B4 8CE90000 */ lw $t1, 0x0000($a3) ## 00000000 -/* 00248 808D28B8 ACA9000C */ sw $t1, 0x000C($a1) ## 0000000C -/* 0024C 808D28BC 8CE80004 */ lw $t0, 0x0004($a3) ## 00000004 -/* 00250 808D28C0 ACA80010 */ sw $t0, 0x0010($a1) ## 00000010 -/* 00254 808D28C4 8CE90008 */ lw $t1, 0x0008($a3) ## 00000008 -/* 00258 808D28C8 ACA90014 */ sw $t1, 0x0014($a1) ## 00000014 -/* 0025C 808D28CC 8FAA0028 */ lw $t2, 0x0028($sp) -/* 00260 808D28D0 8D4C0000 */ lw $t4, 0x0000($t2) ## 00000000 -/* 00264 808D28D4 ACAC0018 */ sw $t4, 0x0018($a1) ## 00000018 -/* 00268 808D28D8 8D4B0004 */ lw $t3, 0x0004($t2) ## 00000004 -/* 0026C 808D28DC ACAB001C */ sw $t3, 0x001C($a1) ## 0000001C -/* 00270 808D28E0 8D4C0008 */ lw $t4, 0x0008($t2) ## 00000008 -/* 00274 808D28E4 ACAC0020 */ sw $t4, 0x0020($a1) ## 00000020 -/* 00278 808D28E8 C7A4002C */ lwc1 $f4, 0x002C($sp) -/* 0027C 808D28EC A4AD002A */ sh $t5, 0x002A($a1) ## 0000002A -/* 00280 808D28F0 46062203 */ div.s $f8, $f4, $f6 -/* 00284 808D28F4 E4A80030 */ swc1 $f8, 0x0030($a1) ## 00000030 -/* 00288 808D28F8 0C00CFBE */ jal Rand_ZeroFloat - -/* 0028C 808D28FC AFA5001C */ sw $a1, 0x001C($sp) -/* 00290 808D2900 4600028D */ trunc.w.s $f10, $f0 -/* 00294 808D2904 8FA5001C */ lw $a1, 0x001C($sp) -/* 00298 808D2908 44195000 */ mfc1 $t9, $f10 -/* 0029C 808D290C 10000004 */ beq $zero, $zero, .L808D2920 -/* 002A0 808D2910 A0B90025 */ sb $t9, 0x0025($a1) ## 00000025 -.L808D2914: -/* 002A4 808D2914 284100B4 */ slti $at, $v0, 0x00B4 -/* 002A8 808D2918 1420FFD4 */ bne $at, $zero, .L808D286C -/* 002AC 808D291C 24A5003C */ addiu $a1, $a1, 0x003C ## $a1 = 0000003C -.L808D2920: -/* 002B0 808D2920 8FBF0014 */ lw $ra, 0x0014($sp) -/* 002B4 808D2924 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 002B8 808D2928 03E00008 */ jr $ra -/* 002BC 808D292C 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D2930.s b/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D2930.s deleted file mode 100644 index b482541b1c..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D2930.s +++ /dev/null @@ -1,60 +0,0 @@ -glabel func_808D2930 -/* 002C0 808D2930 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 002C4 808D2934 AFBF0014 */ sw $ra, 0x0014($sp) -/* 002C8 808D2938 AFA40018 */ sw $a0, 0x0018($sp) -/* 002CC 808D293C 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000 -.L808D2940: -/* 002D0 808D2940 90AE0024 */ lbu $t6, 0x0024($a1) ## 00000024 -/* 002D4 808D2944 24420001 */ addiu $v0, $v0, 0x0001 ## $v0 = 00000001 -/* 002D8 808D2948 00021400 */ sll $v0, $v0, 16 -/* 002DC 808D294C 15C00027 */ bne $t6, $zero, .L808D29EC -/* 002E0 808D2950 00021403 */ sra $v0, $v0, 16 -/* 002E4 808D2954 240F0005 */ addiu $t7, $zero, 0x0005 ## $t7 = 00000005 -/* 002E8 808D2958 A0AF0024 */ sb $t7, 0x0024($a1) ## 00000024 -/* 002EC 808D295C 8CD90000 */ lw $t9, 0x0000($a2) ## 00000000 -/* 002F0 808D2960 3C01447A */ lui $at, 0x447A ## $at = 447A0000 -/* 002F4 808D2964 44813000 */ mtc1 $at, $f6 ## $f6 = 1000.00 -/* 002F8 808D2968 ACB90000 */ sw $t9, 0x0000($a1) ## 00000000 -/* 002FC 808D296C 8CD80004 */ lw $t8, 0x0004($a2) ## 00000004 -/* 00300 808D2970 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000 -/* 00304 808D2974 44816000 */ mtc1 $at, $f12 ## $f12 = 100.00 -/* 00308 808D2978 ACB80004 */ sw $t8, 0x0004($a1) ## 00000004 -/* 0030C 808D297C 8CD90008 */ lw $t9, 0x0008($a2) ## 00000008 -/* 00310 808D2980 ACB90008 */ sw $t9, 0x0008($a1) ## 00000008 -/* 00314 808D2984 8CE90000 */ lw $t1, 0x0000($a3) ## 00000000 -/* 00318 808D2988 ACA9000C */ sw $t1, 0x000C($a1) ## 0000000C -/* 0031C 808D298C 8CE80004 */ lw $t0, 0x0004($a3) ## 00000004 -/* 00320 808D2990 ACA80010 */ sw $t0, 0x0010($a1) ## 00000010 -/* 00324 808D2994 8CE90008 */ lw $t1, 0x0008($a3) ## 00000008 -/* 00328 808D2998 ACA90014 */ sw $t1, 0x0014($a1) ## 00000014 -/* 0032C 808D299C 8FAA0028 */ lw $t2, 0x0028($sp) -/* 00330 808D29A0 8D4C0000 */ lw $t4, 0x0000($t2) ## 00000000 -/* 00334 808D29A4 ACAC0018 */ sw $t4, 0x0018($a1) ## 00000018 -/* 00338 808D29A8 8D4B0004 */ lw $t3, 0x0004($t2) ## 00000004 -/* 0033C 808D29AC ACAB001C */ sw $t3, 0x001C($a1) ## 0000001C -/* 00340 808D29B0 8D4C0008 */ lw $t4, 0x0008($t2) ## 00000008 -/* 00344 808D29B4 ACAC0020 */ sw $t4, 0x0020($a1) ## 00000020 -/* 00348 808D29B8 C7A4002C */ lwc1 $f4, 0x002C($sp) -/* 0034C 808D29BC 46062203 */ div.s $f8, $f4, $f6 -/* 00350 808D29C0 E4A80030 */ swc1 $f8, 0x0030($a1) ## 00000030 -/* 00354 808D29C4 0C00CFBE */ jal Rand_ZeroFloat - -/* 00358 808D29C8 AFA5001C */ sw $a1, 0x001C($sp) -/* 0035C 808D29CC 8FA5001C */ lw $a1, 0x001C($sp) -/* 00360 808D29D0 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000 -/* 00364 808D29D4 44816000 */ mtc1 $at, $f12 ## $f12 = 100.00 -/* 00368 808D29D8 0C00CFBE */ jal Rand_ZeroFloat - -/* 0036C 808D29DC E4A00034 */ swc1 $f0, 0x0034($a1) ## 00000034 -/* 00370 808D29E0 8FA5001C */ lw $a1, 0x001C($sp) -/* 00374 808D29E4 10000004 */ beq $zero, $zero, .L808D29F8 -/* 00378 808D29E8 E4A00038 */ swc1 $f0, 0x0038($a1) ## 00000038 -.L808D29EC: -/* 0037C 808D29EC 284100B4 */ slti $at, $v0, 0x00B4 -/* 00380 808D29F0 1420FFD3 */ bne $at, $zero, .L808D2940 -/* 00384 808D29F4 24A5003C */ addiu $a1, $a1, 0x003C ## $a1 = 0000003C -.L808D29F8: -/* 00388 808D29F8 8FBF0014 */ lw $ra, 0x0014($sp) -/* 0038C 808D29FC 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00390 808D2A00 03E00008 */ jr $ra -/* 00394 808D2A04 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D2A08.s b/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D2A08.s deleted file mode 100644 index f3b1194ae1..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D2A08.s +++ /dev/null @@ -1,41 +0,0 @@ -glabel func_808D2A08 -/* 00398 808D2A08 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000 -.L808D2A0C: -/* 0039C 808D2A0C 908E0024 */ lbu $t6, 0x0024($a0) ## 00000024 -/* 003A0 808D2A10 24420001 */ addiu $v0, $v0, 0x0001 ## $v0 = 00000001 -/* 003A4 808D2A14 00021400 */ sll $v0, $v0, 16 -/* 003A8 808D2A18 15C0001C */ bne $t6, $zero, .L808D2A8C -/* 003AC 808D2A1C 00021403 */ sra $v0, $v0, 16 -/* 003B0 808D2A20 240F0003 */ addiu $t7, $zero, 0x0003 ## $t7 = 00000003 -/* 003B4 808D2A24 A08F0024 */ sb $t7, 0x0024($a0) ## 00000024 -/* 003B8 808D2A28 8CB90000 */ lw $t9, 0x0000($a1) ## 00000000 -/* 003BC 808D2A2C 3C0143C8 */ lui $at, 0x43C8 ## $at = 43C80000 -/* 003C0 808D2A30 44813000 */ mtc1 $at, $f6 ## $f6 = 400.00 -/* 003C4 808D2A34 AC990000 */ sw $t9, 0x0000($a0) ## 00000000 -/* 003C8 808D2A38 8CB80004 */ lw $t8, 0x0004($a1) ## 00000004 -/* 003CC 808D2A3C AC980004 */ sw $t8, 0x0004($a0) ## 00000004 -/* 003D0 808D2A40 8CB90008 */ lw $t9, 0x0008($a1) ## 00000008 -/* 003D4 808D2A44 AC990008 */ sw $t9, 0x0008($a0) ## 00000008 -/* 003D8 808D2A48 8CC90000 */ lw $t1, 0x0000($a2) ## 00000000 -/* 003DC 808D2A4C AC89000C */ sw $t1, 0x000C($a0) ## 0000000C -/* 003E0 808D2A50 8CC80004 */ lw $t0, 0x0004($a2) ## 00000004 -/* 003E4 808D2A54 AC880010 */ sw $t0, 0x0010($a0) ## 00000010 -/* 003E8 808D2A58 8CC90008 */ lw $t1, 0x0008($a2) ## 00000008 -/* 003EC 808D2A5C AC890014 */ sw $t1, 0x0014($a0) ## 00000014 -/* 003F0 808D2A60 8CEB0000 */ lw $t3, 0x0000($a3) ## 00000000 -/* 003F4 808D2A64 AC8B0018 */ sw $t3, 0x0018($a0) ## 00000018 -/* 003F8 808D2A68 8CEA0004 */ lw $t2, 0x0004($a3) ## 00000004 -/* 003FC 808D2A6C AC8A001C */ sw $t2, 0x001C($a0) ## 0000001C -/* 00400 808D2A70 8CEB0008 */ lw $t3, 0x0008($a3) ## 00000008 -/* 00404 808D2A74 A480002C */ sh $zero, 0x002C($a0) ## 0000002C -/* 00408 808D2A78 AC8B0020 */ sw $t3, 0x0020($a0) ## 00000020 -/* 0040C 808D2A7C C7A40010 */ lwc1 $f4, 0x0010($sp) -/* 00410 808D2A80 46062203 */ div.s $f8, $f4, $f6 -/* 00414 808D2A84 03E00008 */ jr $ra -/* 00418 808D2A88 E4880030 */ swc1 $f8, 0x0030($a0) ## 00000030 -.L808D2A8C: -/* 0041C 808D2A8C 284100B4 */ slti $at, $v0, 0x00B4 -/* 00420 808D2A90 1420FFDE */ bne $at, $zero, .L808D2A0C -/* 00424 808D2A94 2484003C */ addiu $a0, $a0, 0x003C ## $a0 = 0000003C -/* 00428 808D2A98 03E00008 */ jr $ra -/* 0042C 808D2A9C 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D2BD0.s b/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D2BD0.s deleted file mode 100644 index 035058bf53..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D2BD0.s +++ /dev/null @@ -1,91 +0,0 @@ -.rdata -glabel D_808D62D0 - .asciz "UP INIT 1\n" - .balign 4 - -glabel D_808D62DC - .asciz "UP INIT 2\n" - .balign 4 - -.late_rodata -glabel D_808D647C - .word 0x410E6666 - -.text -glabel func_808D2BD0 -/* 00560 808D2BD0 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8 -/* 00564 808D2BD4 AFBF001C */ sw $ra, 0x001C($sp) -/* 00568 808D2BD8 AFB00018 */ sw $s0, 0x0018($sp) -/* 0056C 808D2BDC AFA5002C */ sw $a1, 0x002C($sp) -/* 00570 808D2BE0 8C8E0118 */ lw $t6, 0x0118($a0) ## 00000118 -/* 00574 808D2BE4 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00578 808D2BE8 3C04808D */ lui $a0, %hi(D_808D62D0) ## $a0 = 808D0000 -/* 0057C 808D2BEC 248462D0 */ addiu $a0, $a0, %lo(D_808D62D0) ## $a0 = 808D62D0 -/* 00580 808D2BF0 0C00084C */ jal osSyncPrintf - -/* 00584 808D2BF4 AFAE0024 */ sw $t6, 0x0024($sp) -/* 00588 808D2BF8 3C050601 */ lui $a1, 0x0601 ## $a1 = 06010000 -/* 0058C 808D2BFC 24A5C1D0 */ addiu $a1, $a1, 0xC1D0 ## $a1 = 0600C1D0 -/* 00590 808D2C00 0C02947A */ jal Animation_PlayOnce -/* 00594 808D2C04 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C -/* 00598 808D2C08 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00 -/* 0059C 808D2C0C 3C0F808D */ lui $t7, %hi(func_808D2CE0) ## $t7 = 808D0000 -/* 005A0 808D2C10 25EF2CE0 */ addiu $t7, $t7, %lo(func_808D2CE0) ## $t7 = 808D2CE0 -/* 005A4 808D2C14 AE0F0190 */ sw $t7, 0x0190($s0) ## 00000190 -/* 005A8 808D2C18 3C01808D */ lui $at, %hi(D_808D647C) ## $at = 808D0000 -/* 005AC 808D2C1C E6040168 */ swc1 $f4, 0x0168($s0) ## 00000168 -/* 005B0 808D2C20 0C00CFBE */ jal Rand_ZeroFloat - -/* 005B4 808D2C24 C42C647C */ lwc1 $f12, %lo(D_808D647C)($at) -/* 005B8 808D2C28 4600018D */ trunc.w.s $f6, $f0 -/* 005BC 808D2C2C 3C0B808D */ lui $t3, %hi(D_808D6124) ## $t3 = 808D0000 -/* 005C0 808D2C30 256B6124 */ addiu $t3, $t3, %lo(D_808D6124) ## $t3 = 808D6124 -/* 005C4 808D2C34 3C04808D */ lui $a0, %hi(D_808D62DC) ## $a0 = 808D0000 -/* 005C8 808D2C38 44193000 */ mfc1 $t9, $f6 -/* 005CC 808D2C3C 248462DC */ addiu $a0, $a0, %lo(D_808D62DC) ## $a0 = 808D62DC -/* 005D0 808D2C40 00194400 */ sll $t0, $t9, 16 -/* 005D4 808D2C44 00084C03 */ sra $t1, $t0, 16 -/* 005D8 808D2C48 00095080 */ sll $t2, $t1, 2 -/* 005DC 808D2C4C 01495023 */ subu $t2, $t2, $t1 -/* 005E0 808D2C50 000A5080 */ sll $t2, $t2, 2 -/* 005E4 808D2C54 014B1021 */ addu $v0, $t2, $t3 -/* 005E8 808D2C58 C4480000 */ lwc1 $f8, 0x0000($v0) ## 00000000 -/* 005EC 808D2C5C E6080024 */ swc1 $f8, 0x0024($s0) ## 00000024 -/* 005F0 808D2C60 C44A0008 */ lwc1 $f10, 0x0008($v0) ## 00000008 -/* 005F4 808D2C64 A6000198 */ sh $zero, 0x0198($s0) ## 00000198 -/* 005F8 808D2C68 0C00084C */ jal osSyncPrintf - -/* 005FC 808D2C6C E60A002C */ swc1 $f10, 0x002C($s0) ## 0000002C -/* 00600 808D2C70 8FA30024 */ lw $v1, 0x0024($sp) -/* 00604 808D2C74 240C000A */ addiu $t4, $zero, 0x000A ## $t4 = 0000000A -/* 00608 808D2C78 A60C01BC */ sh $t4, 0x01BC($s0) ## 000001BC -/* 0060C 808D2C7C 50600014 */ beql $v1, $zero, .L808D2CD0 -/* 00610 808D2C80 8FBF001C */ lw $ra, 0x001C($sp) -/* 00614 808D2C84 806200AF */ lb $v0, 0x00AF($v1) ## 000000AF -/* 00618 808D2C88 28410012 */ slti $at, $v0, 0x0012 -/* 0061C 808D2C8C 54200004 */ bnel $at, $zero, .L808D2CA0 -/* 00620 808D2C90 2841000C */ slti $at, $v0, 0x000C -/* 00624 808D2C94 1000000D */ beq $zero, $zero, .L808D2CCC -/* 00628 808D2C98 A60001AC */ sh $zero, 0x01AC($s0) ## 000001AC -/* 0062C 808D2C9C 2841000C */ slti $at, $v0, 0x000C -.L808D2CA0: -/* 00630 808D2CA0 14200003 */ bne $at, $zero, .L808D2CB0 -/* 00634 808D2CA4 240D0001 */ addiu $t5, $zero, 0x0001 ## $t5 = 00000001 -/* 00638 808D2CA8 10000008 */ beq $zero, $zero, .L808D2CCC -/* 0063C 808D2CAC A60D01AC */ sh $t5, 0x01AC($s0) ## 000001AC -.L808D2CB0: -/* 00640 808D2CB0 28410006 */ slti $at, $v0, 0x0006 -/* 00644 808D2CB4 14200004 */ bne $at, $zero, .L808D2CC8 -/* 00648 808D2CB8 240F0003 */ addiu $t7, $zero, 0x0003 ## $t7 = 00000003 -/* 0064C 808D2CBC 240E0002 */ addiu $t6, $zero, 0x0002 ## $t6 = 00000002 -/* 00650 808D2CC0 10000002 */ beq $zero, $zero, .L808D2CCC -/* 00654 808D2CC4 A60E01AC */ sh $t6, 0x01AC($s0) ## 000001AC -.L808D2CC8: -/* 00658 808D2CC8 A60F01AC */ sh $t7, 0x01AC($s0) ## 000001AC -.L808D2CCC: -/* 0065C 808D2CCC 8FBF001C */ lw $ra, 0x001C($sp) -.L808D2CD0: -/* 00660 808D2CD0 8FB00018 */ lw $s0, 0x0018($sp) -/* 00664 808D2CD4 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000 -/* 00668 808D2CD8 03E00008 */ jr $ra -/* 0066C 808D2CDC 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D2CE0.s b/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D2CE0.s deleted file mode 100644 index 4bbea5b719..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D2CE0.s +++ /dev/null @@ -1,304 +0,0 @@ -.rdata -glabel D_808D62E8 - .asciz "UP 1 mode %d\n" - .balign 4 - -glabel D_808D62FC - .asciz "UP 1.5 \n" - .balign 4 - -glabel D_808D6308 - .asciz "UP time %d \n" - .balign 4 - -glabel D_808D6318 - .asciz "PL time %x \n" - .balign 4 - -glabel D_808D6328 - .asciz "MT time %x \n" - .balign 4 - -glabel D_808D6338 - .asciz "UP 1.6 \n" - .balign 4 - -glabel D_808D6344 - .asciz "UP 1.7 \n" - .balign 4 - -glabel D_808D6350 - .asciz "UP 2\n" - .balign 4 - -.late_rodata -glabel D_808D6480 - .word 0x410E6666 - -.text -glabel func_808D2CE0 -/* 00670 808D2CE0 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0 -/* 00674 808D2CE4 AFBF0034 */ sw $ra, 0x0034($sp) -/* 00678 808D2CE8 AFB20030 */ sw $s2, 0x0030($sp) -/* 0067C 808D2CEC AFB1002C */ sw $s1, 0x002C($sp) -/* 00680 808D2CF0 AFB00028 */ sw $s0, 0x0028($sp) -/* 00684 808D2CF4 F7B40020 */ sdc1 $f20, 0x0020($sp) -/* 00688 808D2CF8 AFA50044 */ sw $a1, 0x0044($sp) -/* 0068C 808D2CFC 8C8E0118 */ lw $t6, 0x0118($a0) ## 00000118 -/* 00690 808D2D00 00809025 */ or $s2, $a0, $zero ## $s2 = 00000000 -/* 00694 808D2D04 3C04808D */ lui $a0, %hi(D_808D62E8) ## $a0 = 808D0000 -/* 00698 808D2D08 AFAE0038 */ sw $t6, 0x0038($sp) -/* 0069C 808D2D0C 8CB01C44 */ lw $s0, 0x1C44($a1) ## 00001C44 -/* 006A0 808D2D10 86450198 */ lh $a1, 0x0198($s2) ## 00000198 -/* 006A4 808D2D14 0C00084C */ jal osSyncPrintf - -/* 006A8 808D2D18 248462E8 */ addiu $a0, $a0, %lo(D_808D62E8) ## $a0 = 808D62E8 -/* 006AC 808D2D1C 2651014C */ addiu $s1, $s2, 0x014C ## $s1 = 0000014C -/* 006B0 808D2D20 0C02927F */ jal SkelAnime_Update - -/* 006B4 808D2D24 02202025 */ or $a0, $s1, $zero ## $a0 = 0000014C -/* 006B8 808D2D28 3C04808D */ lui $a0, %hi(D_808D62FC) ## $a0 = 808D0000 -/* 006BC 808D2D2C 0C00084C */ jal osSyncPrintf - -/* 006C0 808D2D30 248462FC */ addiu $a0, $a0, %lo(D_808D62FC) ## $a0 = 808D62FC -/* 006C4 808D2D34 86420198 */ lh $v0, 0x0198($s2) ## 00000198 -/* 006C8 808D2D38 3C04808D */ lui $a0, %hi(D_808D6308) ## $a0 = 808D0000 -/* 006CC 808D2D3C 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 006D0 808D2D40 10400007 */ beq $v0, $zero, .L808D2D60 -/* 006D4 808D2D44 24846308 */ addiu $a0, $a0, %lo(D_808D6308) ## $a0 = 808D6308 -/* 006D8 808D2D48 1041004F */ beq $v0, $at, .L808D2E88 -/* 006DC 808D2D4C 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002 -/* 006E0 808D2D50 104100A3 */ beq $v0, $at, .L808D2FE0 -/* 006E4 808D2D54 264400B6 */ addiu $a0, $s2, 0x00B6 ## $a0 = 000000B6 -/* 006E8 808D2D58 100000C2 */ beq $zero, $zero, .L808D3064 -/* 006EC 808D2D5C 00000000 */ nop -.L808D2D60: -/* 006F0 808D2D60 0C00084C */ jal osSyncPrintf - -/* 006F4 808D2D64 864501BC */ lh $a1, 0x01BC($s2) ## 000001BC -/* 006F8 808D2D68 3C04808D */ lui $a0, %hi(D_808D6318) ## $a0 = 808D0000 -/* 006FC 808D2D6C 24846318 */ addiu $a0, $a0, %lo(D_808D6318) ## $a0 = 808D6318 -/* 00700 808D2D70 0C00084C */ jal osSyncPrintf - -/* 00704 808D2D74 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000 -/* 00708 808D2D78 3C04808D */ lui $a0, %hi(D_808D6328) ## $a0 = 808D0000 -/* 0070C 808D2D7C 24846328 */ addiu $a0, $a0, %lo(D_808D6328) ## $a0 = 808D6328 -/* 00710 808D2D80 0C00084C */ jal osSyncPrintf - -/* 00714 808D2D84 8FA50038 */ lw $a1, 0x0038($sp) -/* 00718 808D2D88 865801BC */ lh $t8, 0x01BC($s2) ## 000001BC -/* 0071C 808D2D8C 3C01428C */ lui $at, 0x428C ## $at = 428C0000 -/* 00720 808D2D90 170000B4 */ bne $t8, $zero, .L808D3064 -/* 00724 808D2D94 00000000 */ nop -/* 00728 808D2D98 44812000 */ mtc1 $at, $f4 ## $f4 = 70.00 -/* 0072C 808D2D9C C6060028 */ lwc1 $f6, 0x0028($s0) ## 00000028 -/* 00730 808D2DA0 3C04808D */ lui $a0, %hi(D_808D6338) ## $a0 = 808D0000 -/* 00734 808D2DA4 4606203C */ c.lt.s $f4, $f6 -/* 00738 808D2DA8 00000000 */ nop -/* 0073C 808D2DAC 450000AD */ bc1f .L808D3064 -/* 00740 808D2DB0 00000000 */ nop -/* 00744 808D2DB4 0C00084C */ jal osSyncPrintf - -/* 00748 808D2DB8 24846338 */ addiu $a0, $a0, %lo(D_808D6338) ## $a0 = 808D6338 -/* 0074C 808D2DBC 8FA20038 */ lw $v0, 0x0038($sp) -/* 00750 808D2DC0 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 00754 808D2DC4 24060032 */ addiu $a2, $zero, 0x0032 ## $a2 = 00000032 -/* 00758 808D2DC8 A04002D7 */ sb $zero, 0x02D7($v0) ## 000002D7 -/* 0075C 808D2DCC C6480024 */ lwc1 $f8, 0x0024($s2) ## 00000024 -/* 00760 808D2DD0 24075000 */ addiu $a3, $zero, 0x5000 ## $a3 = 00005000 -/* 00764 808D2DD4 E44802C8 */ swc1 $f8, 0x02C8($v0) ## 000002C8 -/* 00768 808D2DD8 C64A002C */ lwc1 $f10, 0x002C($s2) ## 0000002C -/* 0076C 808D2DDC E44A02D0 */ swc1 $f10, 0x02D0($v0) ## 000002D0 -/* 00770 808D2DE0 0C00CF87 */ jal func_80033E1C -/* 00774 808D2DE4 8FA40044 */ lw $a0, 0x0044($sp) -/* 00778 808D2DE8 864801A8 */ lh $t0, 0x01A8($s2) ## 000001A8 -/* 0077C 808D2DEC 3C01C348 */ lui $at, 0xC348 ## $at = C3480000 -/* 00780 808D2DF0 44818000 */ mtc1 $at, $f16 ## $f16 = -200.00 -/* 00784 808D2DF4 24190001 */ addiu $t9, $zero, 0x0001 ## $t9 = 00000001 -/* 00788 808D2DF8 25090001 */ addiu $t1, $t0, 0x0001 ## $t1 = 00000001 -/* 0078C 808D2DFC A6590198 */ sh $t9, 0x0198($s2) ## 00000198 -/* 00790 808D2E00 A64901A8 */ sh $t1, 0x01A8($s2) ## 000001A8 -/* 00794 808D2E04 E6500028 */ swc1 $f16, 0x0028($s2) ## 00000028 -/* 00798 808D2E08 8FAA0038 */ lw $t2, 0x0038($sp) -/* 0079C 808D2E0C 24010018 */ addiu $at, $zero, 0x0018 ## $at = 00000018 -/* 007A0 808D2E10 3C04808D */ lui $a0, %hi(D_808D6344) ## $a0 = 808D0000 -/* 007A4 808D2E14 814200AF */ lb $v0, 0x00AF($t2) ## 000000AF -/* 007A8 808D2E18 54410004 */ bnel $v0, $at, .L808D2E2C -/* 007AC 808D2E1C 28410012 */ slti $at, $v0, 0x0012 -/* 007B0 808D2E20 10000010 */ beq $zero, $zero, .L808D2E64 -/* 007B4 808D2E24 2402001E */ addiu $v0, $zero, 0x001E ## $v0 = 0000001E -/* 007B8 808D2E28 28410012 */ slti $at, $v0, 0x0012 -.L808D2E2C: -/* 007BC 808D2E2C 54200004 */ bnel $at, $zero, .L808D2E40 -/* 007C0 808D2E30 2841000C */ slti $at, $v0, 0x000C -/* 007C4 808D2E34 1000000B */ beq $zero, $zero, .L808D2E64 -/* 007C8 808D2E38 24020019 */ addiu $v0, $zero, 0x0019 ## $v0 = 00000019 -/* 007CC 808D2E3C 2841000C */ slti $at, $v0, 0x000C -.L808D2E40: -/* 007D0 808D2E40 54200004 */ bnel $at, $zero, .L808D2E54 -/* 007D4 808D2E44 28410006 */ slti $at, $v0, 0x0006 -/* 007D8 808D2E48 10000006 */ beq $zero, $zero, .L808D2E64 -/* 007DC 808D2E4C 24020014 */ addiu $v0, $zero, 0x0014 ## $v0 = 00000014 -/* 007E0 808D2E50 28410006 */ slti $at, $v0, 0x0006 -.L808D2E54: -/* 007E4 808D2E54 14200003 */ bne $at, $zero, .L808D2E64 -/* 007E8 808D2E58 24020005 */ addiu $v0, $zero, 0x0005 ## $v0 = 00000005 -/* 007EC 808D2E5C 10000001 */ beq $zero, $zero, .L808D2E64 -/* 007F0 808D2E60 2402000A */ addiu $v0, $zero, 0x000A ## $v0 = 0000000A -.L808D2E64: -/* 007F4 808D2E64 A64201BC */ sh $v0, 0x01BC($s2) ## 000001BC -/* 007F8 808D2E68 864B01BC */ lh $t3, 0x01BC($s2) ## 000001BC -/* 007FC 808D2E6C 8FAD0038 */ lw $t5, 0x0038($sp) -/* 00800 808D2E70 24846344 */ addiu $a0, $a0, %lo(D_808D6344) ## $a0 = 808D6344 -/* 00804 808D2E74 256C000A */ addiu $t4, $t3, 0x000A ## $t4 = 0000000A -/* 00808 808D2E78 0C00084C */ jal osSyncPrintf - -/* 0080C 808D2E7C A5AC0250 */ sh $t4, 0x0250($t5) ## 00000250 -/* 00810 808D2E80 10000078 */ beq $zero, $zero, .L808D3064 -/* 00814 808D2E84 00000000 */ nop -.L808D2E88: -/* 00818 808D2E88 864E01BC */ lh $t6, 0x01BC($s2) ## 000001BC -/* 0081C 808D2E8C 15C00075 */ bne $t6, $zero, .L808D3064 -/* 00820 808D2E90 00000000 */ nop -/* 00824 808D2E94 864201AC */ lh $v0, 0x01AC($s2) ## 000001AC -/* 00828 808D2E98 3C01808D */ lui $at, %hi(D_808D6480) ## $at = 808D0000 -/* 0082C 808D2E9C 10400017 */ beq $v0, $zero, .L808D2EFC -/* 00830 808D2EA0 244FFFFF */ addiu $t7, $v0, 0xFFFF ## $t7 = FFFFFFFF -/* 00834 808D2EA4 A64F01AC */ sh $t7, 0x01AC($s2) ## 000001AC -/* 00838 808D2EA8 0C00CFBE */ jal Rand_ZeroFloat - -/* 0083C 808D2EAC C42C6480 */ lwc1 $f12, %lo(D_808D6480)($at) -/* 00840 808D2EB0 4600048D */ trunc.w.s $f18, $f0 -/* 00844 808D2EB4 3C0B808D */ lui $t3, %hi(D_808D6124) ## $t3 = 808D0000 -/* 00848 808D2EB8 256B6124 */ addiu $t3, $t3, %lo(D_808D6124) ## $t3 = 808D6124 -/* 0084C 808D2EBC 240C000A */ addiu $t4, $zero, 0x000A ## $t4 = 0000000A -/* 00850 808D2EC0 44199000 */ mfc1 $t9, $f18 -/* 00854 808D2EC4 00000000 */ nop -/* 00858 808D2EC8 00194400 */ sll $t0, $t9, 16 -/* 0085C 808D2ECC 00084C03 */ sra $t1, $t0, 16 -/* 00860 808D2ED0 00095080 */ sll $t2, $t1, 2 -/* 00864 808D2ED4 01495023 */ subu $t2, $t2, $t1 -/* 00868 808D2ED8 000A5080 */ sll $t2, $t2, 2 -/* 0086C 808D2EDC 014B1021 */ addu $v0, $t2, $t3 -/* 00870 808D2EE0 C4440000 */ lwc1 $f4, 0x0000($v0) ## 00000000 -/* 00874 808D2EE4 E6440024 */ swc1 $f4, 0x0024($s2) ## 00000024 -/* 00878 808D2EE8 C4460008 */ lwc1 $f6, 0x0008($v0) ## 00000008 -/* 0087C 808D2EEC A6400198 */ sh $zero, 0x0198($s2) ## 00000198 -/* 00880 808D2EF0 A64C01BC */ sh $t4, 0x01BC($s2) ## 000001BC -/* 00884 808D2EF4 1000005B */ beq $zero, $zero, .L808D3064 -/* 00888 808D2EF8 E646002C */ swc1 $f6, 0x002C($s2) ## 0000002C -.L808D2EFC: -/* 0088C 808D2EFC 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 00890 808D2F00 44814000 */ mtc1 $at, $f8 ## $f8 = 1.00 -/* 00894 808D2F04 3C040601 */ lui $a0, 0x0601 ## $a0 = 06010000 -/* 00898 808D2F08 2484C1D0 */ addiu $a0, $a0, 0xC1D0 ## $a0 = 0600C1D0 -/* 0089C 808D2F0C 0C028800 */ jal Animation_GetLastFrame - -/* 008A0 808D2F10 E6480168 */ swc1 $f8, 0x0168($s2) ## 00000168 -/* 008A4 808D2F14 44825000 */ mtc1 $v0, $f10 ## $f10 = 0.00 -/* 008A8 808D2F18 240D0002 */ addiu $t5, $zero, 0x0002 ## $t5 = 00000002 -/* 008AC 808D2F1C A64D0198 */ sh $t5, 0x0198($s2) ## 00000198 -/* 008B0 808D2F20 46805420 */ cvt.s.w $f16, $f10 -/* 008B4 808D2F24 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000 -/* 008B8 808D2F28 240538D1 */ addiu $a1, $zero, 0x38D1 ## $a1 = 000038D1 -/* 008BC 808D2F2C 0C00BE0A */ jal Audio_PlayActorSound2 - -/* 008C0 808D2F30 E65001F0 */ swc1 $f16, 0x01F0($s2) ## 000001F0 -/* 008C4 808D2F34 3C014316 */ lui $at, 0x4316 ## $at = 43160000 -/* 008C8 808D2F38 44819000 */ mtc1 $at, $f18 ## $f18 = 150.00 -/* 008CC 808D2F3C 864E008A */ lh $t6, 0x008A($s2) ## 0000008A -/* 008D0 808D2F40 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000 -/* 008D4 808D2F44 240F000F */ addiu $t7, $zero, 0x000F ## $t7 = 0000000F -/* 008D8 808D2F48 4481A000 */ mtc1 $at, $f20 ## $f20 = 100.00 -/* 008DC 808D2F4C A64F01BC */ sh $t7, 0x01BC($s2) ## 000001BC -/* 008E0 808D2F50 00008825 */ or $s1, $zero, $zero ## $s1 = 00000000 -/* 008E4 808D2F54 A64E00B6 */ sh $t6, 0x00B6($s2) ## 000000B6 -/* 008E8 808D2F58 E6520028 */ swc1 $f18, 0x0028($s2) ## 00000028 -.L808D2F5C: -/* 008EC 808D2F5C 0C00CFC8 */ jal Rand_CenteredFloat - -/* 008F0 808D2F60 4600A306 */ mov.s $f12, $f20 -/* 008F4 808D2F64 0011C080 */ sll $t8, $s1, 2 -/* 008F8 808D2F68 0311C023 */ subu $t8, $t8, $s1 -/* 008FC 808D2F6C 0018C080 */ sll $t8, $t8, 2 -/* 00900 808D2F70 02588021 */ addu $s0, $s2, $t8 -/* 00904 808D2F74 C60410C8 */ lwc1 $f4, 0x10C8($s0) ## 000010C8 -/* 00908 808D2F78 4600A306 */ mov.s $f12, $f20 -/* 0090C 808D2F7C 46002180 */ add.s $f6, $f4, $f0 -/* 00910 808D2F80 0C00CFC8 */ jal Rand_CenteredFloat - -/* 00914 808D2F84 E60610C8 */ swc1 $f6, 0x10C8($s0) ## 000010C8 -/* 00918 808D2F88 C60810D0 */ lwc1 $f8, 0x10D0($s0) ## 000010D0 -/* 0091C 808D2F8C 4600A306 */ mov.s $f12, $f20 -/* 00920 808D2F90 46004280 */ add.s $f10, $f8, $f0 -/* 00924 808D2F94 0C00CFC8 */ jal Rand_CenteredFloat - -/* 00928 808D2F98 E60A10D0 */ swc1 $f10, 0x10D0($s0) ## 000010D0 -/* 0092C 808D2F9C C6101264 */ lwc1 $f16, 0x1264($s0) ## 00001264 -/* 00930 808D2FA0 4600A306 */ mov.s $f12, $f20 -/* 00934 808D2FA4 46008480 */ add.s $f18, $f16, $f0 -/* 00938 808D2FA8 0C00CFC8 */ jal Rand_CenteredFloat - -/* 0093C 808D2FAC E6121264 */ swc1 $f18, 0x1264($s0) ## 00001264 -/* 00940 808D2FB0 C604126C */ lwc1 $f4, 0x126C($s0) ## 0000126C -/* 00944 808D2FB4 26310001 */ addiu $s1, $s1, 0x0001 ## $s1 = 00000001 -/* 00948 808D2FB8 00118C00 */ sll $s1, $s1, 16 -/* 0094C 808D2FBC 46002180 */ add.s $f6, $f4, $f0 -/* 00950 808D2FC0 00118C03 */ sra $s1, $s1, 16 -/* 00954 808D2FC4 2A21000A */ slti $at, $s1, 0x000A -/* 00958 808D2FC8 1420FFE4 */ bne $at, $zero, .L808D2F5C -/* 0095C 808D2FCC E606126C */ swc1 $f6, 0x126C($s0) ## 0000126C -/* 00960 808D2FD0 8FA80038 */ lw $t0, 0x0038($sp) -/* 00964 808D2FD4 24190005 */ addiu $t9, $zero, 0x0005 ## $t9 = 00000005 -/* 00968 808D2FD8 10000022 */ beq $zero, $zero, .L808D3064 -/* 0096C 808D2FDC A5190240 */ sh $t9, 0x0240($t0) ## 00000240 -.L808D2FE0: -/* 00970 808D2FE0 8645008A */ lh $a1, 0x008A($s2) ## 0000008A -/* 00974 808D2FE4 24060003 */ addiu $a2, $zero, 0x0003 ## $a2 = 00000003 -/* 00978 808D2FE8 0C01E1EF */ jal Math_ApproachS - -/* 0097C 808D2FEC 240707D0 */ addiu $a3, $zero, 0x07D0 ## $a3 = 000007D0 -/* 00980 808D2FF0 864901BC */ lh $t1, 0x01BC($s2) ## 000001BC -/* 00984 808D2FF4 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 00988 808D2FF8 15210013 */ bne $t1, $at, .L808D3048 -/* 0098C 808D2FFC 3C0142F0 */ lui $at, 0x42F0 ## $at = 42F00000 -/* 00990 808D3000 44815000 */ mtc1 $at, $f10 ## $f10 = 120.00 -/* 00994 808D3004 C6480090 */ lwc1 $f8, 0x0090($s2) ## 00000090 -/* 00998 808D3008 3C014000 */ lui $at, 0x4000 ## $at = 40000000 -/* 0099C 808D300C 8FA40044 */ lw $a0, 0x0044($sp) -/* 009A0 808D3010 460A403C */ c.lt.s $f8, $f10 -/* 009A4 808D3014 02402825 */ or $a1, $s2, $zero ## $a1 = 00000000 -/* 009A8 808D3018 3C064040 */ lui $a2, 0x4040 ## $a2 = 40400000 -/* 009AC 808D301C 240A0020 */ addiu $t2, $zero, 0x0020 ## $t2 = 00000020 -/* 009B0 808D3020 4502000A */ bc1fl .L808D304C -/* 009B4 808D3024 02202025 */ or $a0, $s1, $zero ## $a0 = 00000001 -/* 009B8 808D3028 44818000 */ mtc1 $at, $f16 ## $f16 = 2.00 -/* 009BC 808D302C 8647008A */ lh $a3, 0x008A($s2) ## 0000008A -/* 009C0 808D3030 AFAA0014 */ sw $t2, 0x0014($sp) -/* 009C4 808D3034 0C00BDB5 */ jal func_8002F6D4 -/* 009C8 808D3038 E7B00010 */ swc1 $f16, 0x0010($sp) -/* 009CC 808D303C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 009D0 808D3040 0C00BE0A */ jal Audio_PlayActorSound2 - -/* 009D4 808D3044 2405083E */ addiu $a1, $zero, 0x083E ## $a1 = 0000083E -.L808D3048: -/* 009D8 808D3048 02202025 */ or $a0, $s1, $zero ## $a0 = 00000001 -.L808D304C: -/* 009DC 808D304C 0C0295B2 */ jal Animation_OnFrame -/* 009E0 808D3050 8E4501F0 */ lw $a1, 0x01F0($s2) ## 000001F0 -/* 009E4 808D3054 10400003 */ beq $v0, $zero, .L808D3064 -/* 009E8 808D3058 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000 -/* 009EC 808D305C 0C234C23 */ jal func_808D308C -/* 009F0 808D3060 8FA50044 */ lw $a1, 0x0044($sp) -.L808D3064: -/* 009F4 808D3064 3C04808D */ lui $a0, %hi(D_808D6350) ## $a0 = 808D0000 -/* 009F8 808D3068 0C00084C */ jal osSyncPrintf - -/* 009FC 808D306C 24846350 */ addiu $a0, $a0, %lo(D_808D6350) ## $a0 = 808D6350 -/* 00A00 808D3070 8FBF0034 */ lw $ra, 0x0034($sp) -/* 00A04 808D3074 D7B40020 */ ldc1 $f20, 0x0020($sp) -/* 00A08 808D3078 8FB00028 */ lw $s0, 0x0028($sp) -/* 00A0C 808D307C 8FB1002C */ lw $s1, 0x002C($sp) -/* 00A10 808D3080 8FB20030 */ lw $s2, 0x0030($sp) -/* 00A14 808D3084 03E00008 */ jr $ra -/* 00A18 808D3088 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D308C.s b/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D308C.s deleted file mode 100644 index d3c7375d43..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D308C.s +++ /dev/null @@ -1,57 +0,0 @@ -.rdata -glabel D_808D6358 - .asciz "UP INIT 1\n" - .balign 4 - -.text -glabel func_808D308C -/* 00A1C 808D308C 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0 -/* 00A20 808D3090 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00A24 808D3094 AFA40020 */ sw $a0, 0x0020($sp) -/* 00A28 808D3098 AFA50024 */ sw $a1, 0x0024($sp) -/* 00A2C 808D309C 8C8F0118 */ lw $t7, 0x0118($a0) ## 00000118 -/* 00A30 808D30A0 3C04808D */ lui $a0, %hi(D_808D6358) ## $a0 = 808D0000 -/* 00A34 808D30A4 24846358 */ addiu $a0, $a0, %lo(D_808D6358) ## $a0 = 808D6358 -/* 00A38 808D30A8 0C00084C */ jal osSyncPrintf - -/* 00A3C 808D30AC AFAF001C */ sw $t7, 0x001C($sp) -/* 00A40 808D30B0 8FA40020 */ lw $a0, 0x0020($sp) -/* 00A44 808D30B4 3C050601 */ lui $a1, 0x0601 ## $a1 = 06010000 -/* 00A48 808D30B8 24A5AE90 */ addiu $a1, $a1, 0xAE90 ## $a1 = 0600AE90 -/* 00A4C 808D30BC 0C0294BE */ jal Animation_PlayLoop -/* 00A50 808D30C0 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C -/* 00A54 808D30C4 8FA30020 */ lw $v1, 0x0020($sp) -/* 00A58 808D30C8 3C18808D */ lui $t8, %hi(func_808D3140) ## $t8 = 808D0000 -/* 00A5C 808D30CC 27183140 */ addiu $t8, $t8, %lo(func_808D3140) ## $t8 = 808D3140 -/* 00A60 808D30D0 AC780190 */ sw $t8, 0x0190($v1) ## 00000190 -/* 00A64 808D30D4 8FB9001C */ lw $t9, 0x001C($sp) -/* 00A68 808D30D8 24010018 */ addiu $at, $zero, 0x0018 ## $at = 00000018 -/* 00A6C 808D30DC 832200AF */ lb $v0, 0x00AF($t9) ## 000000AF -/* 00A70 808D30E0 54410004 */ bnel $v0, $at, .L808D30F4 -/* 00A74 808D30E4 28410012 */ slti $at, $v0, 0x0012 -/* 00A78 808D30E8 10000010 */ beq $zero, $zero, .L808D312C -/* 00A7C 808D30EC 24020032 */ addiu $v0, $zero, 0x0032 ## $v0 = 00000032 -/* 00A80 808D30F0 28410012 */ slti $at, $v0, 0x0012 -.L808D30F4: -/* 00A84 808D30F4 54200004 */ bnel $at, $zero, .L808D3108 -/* 00A88 808D30F8 2841000C */ slti $at, $v0, 0x000C -/* 00A8C 808D30FC 1000000B */ beq $zero, $zero, .L808D312C -/* 00A90 808D3100 24020028 */ addiu $v0, $zero, 0x0028 ## $v0 = 00000028 -/* 00A94 808D3104 2841000C */ slti $at, $v0, 0x000C -.L808D3108: -/* 00A98 808D3108 54200004 */ bnel $at, $zero, .L808D311C -/* 00A9C 808D310C 28410006 */ slti $at, $v0, 0x0006 -/* 00AA0 808D3110 10000006 */ beq $zero, $zero, .L808D312C -/* 00AA4 808D3114 24020028 */ addiu $v0, $zero, 0x0028 ## $v0 = 00000028 -/* 00AA8 808D3118 28410006 */ slti $at, $v0, 0x0006 -.L808D311C: -/* 00AAC 808D311C 14200003 */ bne $at, $zero, .L808D312C -/* 00AB0 808D3120 24020014 */ addiu $v0, $zero, 0x0014 ## $v0 = 00000014 -/* 00AB4 808D3124 10000001 */ beq $zero, $zero, .L808D312C -/* 00AB8 808D3128 2402001E */ addiu $v0, $zero, 0x001E ## $v0 = 0000001E -.L808D312C: -/* 00ABC 808D312C A46201BC */ sh $v0, 0x01BC($v1) ## 000001BC -/* 00AC0 808D3130 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00AC4 808D3134 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000 -/* 00AC8 808D3138 03E00008 */ jr $ra -/* 00ACC 808D313C 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D3140.s b/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D3140.s deleted file mode 100644 index 66da29bada..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D3140.s +++ /dev/null @@ -1,112 +0,0 @@ -.rdata -glabel D_808D6364 - .asciz "SW1 = %d\n" - .balign 4 - -glabel D_808D6370 - .asciz "SW2 = %d\n" - .balign 4 - -.text -glabel func_808D3140 -/* 00AD0 808D3140 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8 -/* 00AD4 808D3144 AFB00020 */ sw $s0, 0x0020($sp) -/* 00AD8 808D3148 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00ADC 808D314C AFBF0024 */ sw $ra, 0x0024($sp) -/* 00AE0 808D3150 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C -/* 00AE4 808D3154 AFA5003C */ sw $a1, 0x003C($sp) -/* 00AE8 808D3158 0C02927F */ jal SkelAnime_Update - -/* 00AEC 808D315C AFA40030 */ sw $a0, 0x0030($sp) -/* 00AF0 808D3160 860E0196 */ lh $t6, 0x0196($s0) ## 00000196 -/* 00AF4 808D3164 260400B6 */ addiu $a0, $s0, 0x00B6 ## $a0 = 000000B6 -/* 00AF8 808D3168 24060003 */ addiu $a2, $zero, 0x0003 ## $a2 = 00000003 -/* 00AFC 808D316C A7AE0036 */ sh $t6, 0x0036($sp) -/* 00B00 808D3170 8605008A */ lh $a1, 0x008A($s0) ## 0000008A -/* 00B04 808D3174 AFA00010 */ sw $zero, 0x0010($sp) -/* 00B08 808D3178 0C01E1A7 */ jal Math_SmoothStepToS - -/* 00B0C 808D317C 240707D0 */ addiu $a3, $zero, 0x07D0 ## $a3 = 000007D0 -/* 00B10 808D3180 A6020196 */ sh $v0, 0x0196($s0) ## 00000196 -/* 00B14 808D3184 3C04808D */ lui $a0, %hi(D_808D6364) ## $a0 = 808D0000 -/* 00B18 808D3188 24846364 */ addiu $a0, $a0, %lo(D_808D6364) ## $a0 = 808D6364 -/* 00B1C 808D318C 0C00084C */ jal osSyncPrintf - -/* 00B20 808D3190 87A50036 */ lh $a1, 0x0036($sp) -/* 00B24 808D3194 3C04808D */ lui $a0, %hi(D_808D6370) ## $a0 = 808D0000 -/* 00B28 808D3198 24846370 */ addiu $a0, $a0, %lo(D_808D6370) ## $a0 = 808D6370 -/* 00B2C 808D319C 0C00084C */ jal osSyncPrintf - -/* 00B30 808D31A0 86050196 */ lh $a1, 0x0196($s0) ## 00000196 -/* 00B34 808D31A4 87AF0036 */ lh $t7, 0x0036($sp) -/* 00B38 808D31A8 3C01447A */ lui $at, 0x447A ## $at = 447A0000 -/* 00B3C 808D31AC 44816000 */ mtc1 $at, $f12 ## $f12 = 1000.00 -/* 00B40 808D31B0 448F2000 */ mtc1 $t7, $f4 ## $f4 = 0.00 -/* 00B44 808D31B4 00000000 */ nop -/* 00B48 808D31B8 468020A0 */ cvt.s.w $f2, $f4 -/* 00B4C 808D31BC 46001085 */ abs.s $f2, $f2 -/* 00B50 808D31C0 460C103E */ c.le.s $f2, $f12 -/* 00B54 808D31C4 00000000 */ nop -/* 00B58 808D31C8 45020013 */ bc1fl .L808D3218 -/* 00B5C 808D31CC 4602603C */ c.lt.s $f12, $f2 -/* 00B60 808D31D0 86180196 */ lh $t8, 0x0196($s0) ## 00000196 -/* 00B64 808D31D4 3C050601 */ lui $a1, 0x0601 ## $a1 = 06010000 -/* 00B68 808D31D8 24A5AE90 */ addiu $a1, $a1, 0xAE90 ## $a1 = 0600AE90 -/* 00B6C 808D31DC 44983000 */ mtc1 $t8, $f6 ## $f6 = 0.00 -/* 00B70 808D31E0 8FA40030 */ lw $a0, 0x0030($sp) -/* 00B74 808D31E4 3C06C0A0 */ lui $a2, 0xC0A0 ## $a2 = C0A00000 -/* 00B78 808D31E8 46803020 */ cvt.s.w $f0, $f6 -/* 00B7C 808D31EC 46000005 */ abs.s $f0, $f0 -/* 00B80 808D31F0 4600603C */ c.lt.s $f12, $f0 -/* 00B84 808D31F4 00000000 */ nop -/* 00B88 808D31F8 45020007 */ bc1fl .L808D3218 -/* 00B8C 808D31FC 4602603C */ c.lt.s $f12, $f2 -/* 00B90 808D3200 0C0294D3 */ jal Animation_MorphToLoop -/* 00B94 808D3204 E7A2002C */ swc1 $f2, 0x002C($sp) -/* 00B98 808D3208 3C01447A */ lui $at, 0x447A ## $at = 447A0000 -/* 00B9C 808D320C 44816000 */ mtc1 $at, $f12 ## $f12 = 1000.00 -/* 00BA0 808D3210 C7A2002C */ lwc1 $f2, 0x002C($sp) -/* 00BA4 808D3214 4602603C */ c.lt.s $f12, $f2 -.L808D3218: -/* 00BA8 808D3218 00000000 */ nop -/* 00BAC 808D321C 4502000F */ bc1fl .L808D325C -/* 00BB0 808D3220 860801BC */ lh $t0, 0x01BC($s0) ## 000001BC -/* 00BB4 808D3224 86190196 */ lh $t9, 0x0196($s0) ## 00000196 -/* 00BB8 808D3228 3C050601 */ lui $a1, %hi(D_0600C8EC) ## $a1 = 06010000 -/* 00BBC 808D322C 24A5C8EC */ addiu $a1, $a1, %lo(D_0600C8EC) ## $a1 = 0600C8EC -/* 00BC0 808D3230 44994000 */ mtc1 $t9, $f8 ## $f8 = 0.00 -/* 00BC4 808D3234 8FA40030 */ lw $a0, 0x0030($sp) -/* 00BC8 808D3238 46804020 */ cvt.s.w $f0, $f8 -/* 00BCC 808D323C 46000005 */ abs.s $f0, $f0 -/* 00BD0 808D3240 460C003E */ c.le.s $f0, $f12 -/* 00BD4 808D3244 00000000 */ nop -/* 00BD8 808D3248 45020004 */ bc1fl .L808D325C -/* 00BDC 808D324C 860801BC */ lh $t0, 0x01BC($s0) ## 000001BC -/* 00BE0 808D3250 0C0294D3 */ jal Animation_MorphToLoop -/* 00BE4 808D3254 3C06C0A0 */ lui $a2, 0xC0A0 ## $a2 = C0A00000 -/* 00BE8 808D3258 860801BC */ lh $t0, 0x01BC($s0) ## 000001BC -.L808D325C: -/* 00BEC 808D325C 3C014348 */ lui $at, 0x4348 ## $at = 43480000 -/* 00BF0 808D3260 55000010 */ bnel $t0, $zero, .L808D32A4 -/* 00BF4 808D3264 8FBF0024 */ lw $ra, 0x0024($sp) -/* 00BF8 808D3268 C60A0090 */ lwc1 $f10, 0x0090($s0) ## 00000090 -/* 00BFC 808D326C 44818000 */ mtc1 $at, $f16 ## $f16 = 200.00 -/* 00C00 808D3270 8FA5003C */ lw $a1, 0x003C($sp) -/* 00C04 808D3274 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00C08 808D3278 4610503C */ c.lt.s $f10, $f16 -/* 00C0C 808D327C 00000000 */ nop -/* 00C10 808D3280 45000005 */ bc1f .L808D3298 -/* 00C14 808D3284 00000000 */ nop -/* 00C18 808D3288 0C234E6A */ jal func_808D39A8 -/* 00C1C 808D328C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00C20 808D3290 10000004 */ beq $zero, $zero, .L808D32A4 -/* 00C24 808D3294 8FBF0024 */ lw $ra, 0x0024($sp) -.L808D3298: -/* 00C28 808D3298 0C234D00 */ jal func_808D3400 -/* 00C2C 808D329C 8FA5003C */ lw $a1, 0x003C($sp) -/* 00C30 808D32A0 8FBF0024 */ lw $ra, 0x0024($sp) -.L808D32A4: -/* 00C34 808D32A4 8FB00020 */ lw $s0, 0x0020($sp) -/* 00C38 808D32A8 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000 -/* 00C3C 808D32AC 03E00008 */ jr $ra -/* 00C40 808D32B0 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D32B4.s b/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D32B4.s deleted file mode 100644 index 9633adca5f..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D32B4.s +++ /dev/null @@ -1,33 +0,0 @@ -glabel func_808D32B4 -/* 00C44 808D32B4 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0 -/* 00C48 808D32B8 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00C4C 808D32BC AFA50024 */ sw $a1, 0x0024($sp) -/* 00C50 808D32C0 8C8E0118 */ lw $t6, 0x0118($a0) ## 00000118 -/* 00C54 808D32C4 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000 -/* 00C58 808D32C8 3C050601 */ lui $a1, 0x0601 ## $a1 = 06010000 -/* 00C5C 808D32CC 24A59194 */ addiu $a1, $a1, 0x9194 ## $a1 = 06009194 -/* 00C60 808D32D0 AFA70020 */ sw $a3, 0x0020($sp) -/* 00C64 808D32D4 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C -/* 00C68 808D32D8 3C06C0A0 */ lui $a2, 0xC0A0 ## $a2 = C0A00000 -/* 00C6C 808D32DC 0C029490 */ jal Animation_MorphToPlayOnce -/* 00C70 808D32E0 AFAE001C */ sw $t6, 0x001C($sp) -/* 00C74 808D32E4 8FA70020 */ lw $a3, 0x0020($sp) -/* 00C78 808D32E8 3C0F808D */ lui $t7, %hi(func_808D3330) ## $t7 = 808D0000 -/* 00C7C 808D32EC 25EF3330 */ addiu $t7, $t7, %lo(func_808D3330) ## $t7 = 808D3330 -/* 00C80 808D32F0 3C040601 */ lui $a0, 0x0601 ## $a0 = 06010000 -/* 00C84 808D32F4 24849194 */ addiu $a0, $a0, 0x9194 ## $a0 = 06009194 -/* 00C88 808D32F8 0C028800 */ jal Animation_GetLastFrame - -/* 00C8C 808D32FC ACEF0190 */ sw $t7, 0x0190($a3) ## 00000190 -/* 00C90 808D3300 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00 -/* 00C94 808D3304 8FA70020 */ lw $a3, 0x0020($sp) -/* 00C98 808D3308 2418001E */ addiu $t8, $zero, 0x001E ## $t8 = 0000001E -/* 00C9C 808D330C 468021A0 */ cvt.s.w $f6, $f4 -/* 00CA0 808D3310 E4E601F0 */ swc1 $f6, 0x01F0($a3) ## 000001F0 -/* 00CA4 808D3314 8FB9001C */ lw $t9, 0x001C($sp) -/* 00CA8 808D3318 A7380250 */ sh $t8, 0x0250($t9) ## 00000250 -/* 00CAC 808D331C A4E00198 */ sh $zero, 0x0198($a3) ## 00000198 -/* 00CB0 808D3320 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00CB4 808D3324 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000 -/* 00CB8 808D3328 03E00008 */ jr $ra -/* 00CBC 808D332C 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D3330.s b/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D3330.s deleted file mode 100644 index 932ab2d8ec..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D3330.s +++ /dev/null @@ -1,59 +0,0 @@ -glabel func_808D3330 -/* 00CC0 808D3330 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8 -/* 00CC4 808D3334 AFBF001C */ sw $ra, 0x001C($sp) -/* 00CC8 808D3338 AFB00018 */ sw $s0, 0x0018($sp) -/* 00CCC 808D333C AFA5002C */ sw $a1, 0x002C($sp) -/* 00CD0 808D3340 848E0198 */ lh $t6, 0x0198($a0) ## 00000198 -/* 00CD4 808D3344 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00CD8 808D3348 8C820118 */ lw $v0, 0x0118($a0) ## 00000118 -/* 00CDC 808D334C 15C0000D */ bne $t6, $zero, .L808D3384 -/* 00CE0 808D3350 3C05C2C8 */ lui $a1, 0xC2C8 ## $a1 = C2C80000 -/* 00CE4 808D3354 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C -/* 00CE8 808D3358 0C02927F */ jal SkelAnime_Update - -/* 00CEC 808D335C AFA40020 */ sw $a0, 0x0020($sp) -/* 00CF0 808D3360 8FA40020 */ lw $a0, 0x0020($sp) -/* 00CF4 808D3364 0C0295B2 */ jal Animation_OnFrame -/* 00CF8 808D3368 8E0501F0 */ lw $a1, 0x01F0($s0) ## 000001F0 -/* 00CFC 808D336C 1040001F */ beq $v0, $zero, .L808D33EC -/* 00D00 808D3370 240F0001 */ addiu $t7, $zero, 0x0001 ## $t7 = 00000001 -/* 00D04 808D3374 24180019 */ addiu $t8, $zero, 0x0019 ## $t8 = 00000019 -/* 00D08 808D3378 A60F0198 */ sh $t7, 0x0198($s0) ## 00000198 -/* 00D0C 808D337C 1000001B */ beq $zero, $zero, .L808D33EC -/* 00D10 808D3380 A61801BC */ sh $t8, 0x01BC($s0) ## 000001BC -.L808D3384: -/* 00D14 808D3384 26040028 */ addiu $a0, $s0, 0x0028 ## $a0 = 00000028 -/* 00D18 808D3388 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000 -/* 00D1C 808D338C 3C074120 */ lui $a3, 0x4120 ## $a3 = 41200000 -/* 00D20 808D3390 0C01E107 */ jal Math_ApproachF - -/* 00D24 808D3394 AFA20024 */ sw $v0, 0x0024($sp) -/* 00D28 808D3398 861901BC */ lh $t9, 0x01BC($s0) ## 000001BC -/* 00D2C 808D339C 8FA20024 */ lw $v0, 0x0024($sp) -/* 00D30 808D33A0 57200013 */ bnel $t9, $zero, .L808D33F0 -/* 00D34 808D33A4 8FBF001C */ lw $ra, 0x001C($sp) -/* 00D38 808D33A8 860801A8 */ lh $t0, 0x01A8($s0) ## 000001A8 -/* 00D3C 808D33AC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00D40 808D33B0 29010003 */ slti $at, $t0, 0x0003 -/* 00D44 808D33B4 1420000B */ bne $at, $zero, .L808D33E4 -/* 00D48 808D33B8 00000000 */ nop -/* 00D4C 808D33BC 804900AF */ lb $t1, 0x00AF($v0) ## 000000AF -/* 00D50 808D33C0 3C0A808D */ lui $t2, %hi(func_808D4748) ## $t2 = 808D0000 -/* 00D54 808D33C4 254A4748 */ addiu $t2, $t2, %lo(func_808D4748) ## $t2 = 808D4748 -/* 00D58 808D33C8 29210018 */ slti $at, $t1, 0x0018 -/* 00D5C 808D33CC 10200005 */ beq $at, $zero, .L808D33E4 -/* 00D60 808D33D0 240B0001 */ addiu $t3, $zero, 0x0001 ## $t3 = 00000001 -/* 00D64 808D33D4 A60001A8 */ sh $zero, 0x01A8($s0) ## 000001A8 -/* 00D68 808D33D8 AE0A0190 */ sw $t2, 0x0190($s0) ## 00000190 -/* 00D6C 808D33DC 10000003 */ beq $zero, $zero, .L808D33EC -/* 00D70 808D33E0 A04B02D8 */ sb $t3, 0x02D8($v0) ## 000002D8 -.L808D33E4: -/* 00D74 808D33E4 0C234AF4 */ jal func_808D2BD0 -/* 00D78 808D33E8 8FA5002C */ lw $a1, 0x002C($sp) -.L808D33EC: -/* 00D7C 808D33EC 8FBF001C */ lw $ra, 0x001C($sp) -.L808D33F0: -/* 00D80 808D33F0 8FB00018 */ lw $s0, 0x0018($sp) -/* 00D84 808D33F4 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000 -/* 00D88 808D33F8 03E00008 */ jr $ra -/* 00D8C 808D33FC 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D3400.s b/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D3400.s deleted file mode 100644 index 92210037c3..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D3400.s +++ /dev/null @@ -1,27 +0,0 @@ -glabel func_808D3400 -/* 00D90 808D3400 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00D94 808D3404 AFA5001C */ sw $a1, 0x001C($sp) -/* 00D98 808D3408 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00D9C 808D340C AFA40018 */ sw $a0, 0x0018($sp) -/* 00DA0 808D3410 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000 -/* 00DA4 808D3414 24A573CC */ addiu $a1, $a1, 0x73CC ## $a1 = 060073CC -/* 00DA8 808D3418 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C -/* 00DAC 808D341C 0C029490 */ jal Animation_MorphToPlayOnce -/* 00DB0 808D3420 3C06C0A0 */ lui $a2, 0xC0A0 ## $a2 = C0A00000 -/* 00DB4 808D3424 8FAF0018 */ lw $t7, 0x0018($sp) -/* 00DB8 808D3428 3C0E808D */ lui $t6, %hi(func_808D3464) ## $t6 = 808D0000 -/* 00DBC 808D342C 25CE3464 */ addiu $t6, $t6, %lo(func_808D3464) ## $t6 = 808D3464 -/* 00DC0 808D3430 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000 -/* 00DC4 808D3434 248473CC */ addiu $a0, $a0, 0x73CC ## $a0 = 060073CC -/* 00DC8 808D3438 0C028800 */ jal Animation_GetLastFrame - -/* 00DCC 808D343C ADEE0190 */ sw $t6, 0x0190($t7) ## 00000190 -/* 00DD0 808D3440 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00 -/* 00DD4 808D3444 8FA30018 */ lw $v1, 0x0018($sp) -/* 00DD8 808D3448 468021A0 */ cvt.s.w $f6, $f4 -/* 00DDC 808D344C A4600198 */ sh $zero, 0x0198($v1) ## 00000198 -/* 00DE0 808D3450 E46601F0 */ swc1 $f6, 0x01F0($v1) ## 000001F0 -/* 00DE4 808D3454 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00DE8 808D3458 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00DEC 808D345C 03E00008 */ jr $ra -/* 00DF0 808D3460 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D3464.s b/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D3464.s deleted file mode 100644 index 9d824aaacc..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D3464.s +++ /dev/null @@ -1,370 +0,0 @@ -.late_rodata -glabel D_808D6484 - .float 3.14159274101 - -glabel D_808D6488 - .float 6.28318548203 - -.text -glabel func_808D3464 -/* 00DF4 808D3464 27BDFF38 */ addiu $sp, $sp, 0xFF38 ## $sp = FFFFFF38 -/* 00DF8 808D3468 AFBF005C */ sw $ra, 0x005C($sp) -/* 00DFC 808D346C AFB20058 */ sw $s2, 0x0058($sp) -/* 00E00 808D3470 AFB10054 */ sw $s1, 0x0054($sp) -/* 00E04 808D3474 AFB00050 */ sw $s0, 0x0050($sp) -/* 00E08 808D3478 F7BC0048 */ sdc1 $f28, 0x0048($sp) -/* 00E0C 808D347C F7BA0040 */ sdc1 $f26, 0x0040($sp) -/* 00E10 808D3480 F7B80038 */ sdc1 $f24, 0x0038($sp) -/* 00E14 808D3484 F7B60030 */ sdc1 $f22, 0x0030($sp) -/* 00E18 808D3488 F7B40028 */ sdc1 $f20, 0x0028($sp) -/* 00E1C 808D348C A7A000B2 */ sh $zero, 0x00B2($sp) -/* 00E20 808D3490 8C8E0118 */ lw $t6, 0x0118($a0) ## 00000118 -/* 00E24 808D3494 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00E28 808D3498 2491014C */ addiu $s1, $a0, 0x014C ## $s1 = 0000014C -/* 00E2C 808D349C AFAE00AC */ sw $t6, 0x00AC($sp) -/* 00E30 808D34A0 8CAF1C44 */ lw $t7, 0x1C44($a1) ## 00001C44 -/* 00E34 808D34A4 00A09025 */ or $s2, $a1, $zero ## $s2 = 00000000 -/* 00E38 808D34A8 02202025 */ or $a0, $s1, $zero ## $a0 = 0000014C -/* 00E3C 808D34AC 0C02927F */ jal SkelAnime_Update - -/* 00E40 808D34B0 AFAF00A8 */ sw $t7, 0x00A8($sp) -/* 00E44 808D34B4 02202025 */ or $a0, $s1, $zero ## $a0 = 0000014C -/* 00E48 808D34B8 0C0295B2 */ jal Animation_OnFrame -/* 00E4C 808D34BC 8E0501F0 */ lw $a1, 0x01F0($s0) ## 000001F0 -/* 00E50 808D34C0 10400003 */ beq $v0, $zero, .L808D34D0 -/* 00E54 808D34C4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00E58 808D34C8 0C234CAD */ jal func_808D32B4 -/* 00E5C 808D34CC 02402825 */ or $a1, $s2, $zero ## $a1 = 00000000 -.L808D34D0: -/* 00E60 808D34D0 3C0141C8 */ lui $at, 0x41C8 ## $at = 41C80000 -/* 00E64 808D34D4 44811000 */ mtc1 $at, $f2 ## $f2 = 25.00 -/* 00E68 808D34D8 C6000164 */ lwc1 $f0, 0x0164($s0) ## 00000164 -/* 00E6C 808D34DC 3C01428C */ lui $at, 0x428C ## $at = 428C0000 -/* 00E70 808D34E0 2604021E */ addiu $a0, $s0, 0x021E ## $a0 = 0000021E -/* 00E74 808D34E4 4600103E */ c.le.s $f2, $f0 -/* 00E78 808D34E8 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000 -/* 00E7C 808D34EC 24060005 */ addiu $a2, $zero, 0x0005 ## $a2 = 00000005 -/* 00E80 808D34F0 45000059 */ bc1f .L808D3658 -/* 00E84 808D34F4 00000000 */ nop -/* 00E88 808D34F8 4481A000 */ mtc1 $at, $f20 ## $f20 = 70.00 -/* 00E8C 808D34FC 00000000 */ nop -/* 00E90 808D3500 4614003C */ c.lt.s $f0, $f20 -/* 00E94 808D3504 00000000 */ nop -/* 00E98 808D3508 45000053 */ bc1f .L808D3658 -/* 00E9C 808D350C 00000000 */ nop -/* 00EA0 808D3510 46001032 */ c.eq.s $f2, $f0 -/* 00EA4 808D3514 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00EA8 808D3518 45000005 */ bc1f .L808D3530 -/* 00EAC 808D351C 00000000 */ nop -/* 00EB0 808D3520 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00 -/* 00EB4 808D3524 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 00EB8 808D3528 00320821 */ addu $at, $at, $s2 -/* 00EBC 808D352C E4240AFC */ swc1 $f4, 0x0AFC($at) ## 00010AFC -.L808D3530: -/* 00EC0 808D3530 0C00BE0A */ jal Audio_PlayActorSound2 - -/* 00EC4 808D3534 240530DB */ addiu $a1, $zero, 0x30DB ## $a1 = 000030DB -/* 00EC8 808D3538 3C014248 */ lui $at, 0x4248 ## $at = 42480000 -/* 00ECC 808D353C 44813000 */ mtc1 $at, $f6 ## $f6 = 50.00 -/* 00ED0 808D3540 C6000164 */ lwc1 $f0, 0x0164($s0) ## 00000164 -/* 00ED4 808D3544 3C014140 */ lui $at, 0x4140 ## $at = 41400000 -/* 00ED8 808D3548 240800FF */ addiu $t0, $zero, 0x00FF ## $t0 = 000000FF -/* 00EDC 808D354C 4600303C */ c.lt.s $f6, $f0 -/* 00EE0 808D3550 00000000 */ nop -/* 00EE4 808D3554 4502000A */ bc1fl .L808D3580 -/* 00EE8 808D3558 A7A800B2 */ sh $t0, 0x00B2($sp) -/* 00EEC 808D355C 4600A201 */ sub.s $f8, $f20, $f0 -/* 00EF0 808D3560 44815000 */ mtc1 $at, $f10 ## $f10 = 12.00 -/* 00EF4 808D3564 00000000 */ nop -/* 00EF8 808D3568 460A4402 */ mul.s $f16, $f8, $f10 -/* 00EFC 808D356C 4600848D */ trunc.w.s $f18, $f16 -/* 00F00 808D3570 44199000 */ mfc1 $t9, $f18 -/* 00F04 808D3574 10000002 */ beq $zero, $zero, .L808D3580 -/* 00F08 808D3578 A7B900B2 */ sh $t9, 0x00B2($sp) -/* 00F0C 808D357C A7A800B2 */ sh $t0, 0x00B2($sp) -.L808D3580: -/* 00F10 808D3580 8FA200A8 */ lw $v0, 0x00A8($sp) -/* 00F14 808D3584 C6060210 */ lwc1 $f6, 0x0210($s0) ## 00000210 -/* 00F18 808D3588 C6120218 */ lwc1 $f18, 0x0218($s0) ## 00000218 -/* 00F1C 808D358C C4440024 */ lwc1 $f4, 0x0024($v0) ## 00000024 -/* 00F20 808D3590 C450002C */ lwc1 $f16, 0x002C($v0) ## 0000002C -/* 00F24 808D3594 C60A0214 */ lwc1 $f10, 0x0214($s0) ## 00000214 -/* 00F28 808D3598 46062501 */ sub.s $f20, $f4, $f6 -/* 00F2C 808D359C C4480028 */ lwc1 $f8, 0x0028($v0) ## 00000028 -/* 00F30 808D35A0 46128581 */ sub.s $f22, $f16, $f18 -/* 00F34 808D35A4 4600A386 */ mov.s $f14, $f20 -/* 00F38 808D35A8 460A4601 */ sub.s $f24, $f8, $f10 -/* 00F3C 808D35AC 0C034199 */ jal Math_Atan2S - -/* 00F40 808D35B0 4600B306 */ mov.s $f12, $f22 -/* 00F44 808D35B4 4614A102 */ mul.s $f4, $f20, $f20 -/* 00F48 808D35B8 4600C386 */ mov.s $f14, $f24 -/* 00F4C 808D35BC A7A200B4 */ sh $v0, 0x00B4($sp) -/* 00F50 808D35C0 4616B182 */ mul.s $f6, $f22, $f22 -/* 00F54 808D35C4 46062000 */ add.s $f0, $f4, $f6 -/* 00F58 808D35C8 0C034199 */ jal Math_Atan2S - -/* 00F5C 808D35CC 46000304 */ sqrt.s $f12, $f0 -/* 00F60 808D35D0 87A500B4 */ lh $a1, 0x00B4($sp) -/* 00F64 808D35D4 860900B6 */ lh $t1, 0x00B6($s0) ## 000000B6 -/* 00F68 808D35D8 00021823 */ subu $v1, $zero, $v0 -/* 00F6C 808D35DC 00608825 */ or $s1, $v1, $zero ## $s1 = 00000000 -/* 00F70 808D35E0 00A92823 */ subu $a1, $a1, $t1 -/* 00F74 808D35E4 00052C00 */ sll $a1, $a1, 16 -/* 00F78 808D35E8 00052C03 */ sra $a1, $a1, 16 -/* 00F7C 808D35EC 28A11F41 */ slti $at, $a1, 0x1F41 -/* 00F80 808D35F0 14200002 */ bne $at, $zero, .L808D35FC -/* 00F84 808D35F4 2631E4A8 */ addiu $s1, $s1, 0xE4A8 ## $s1 = FFFFE4A8 -/* 00F88 808D35F8 24051F40 */ addiu $a1, $zero, 0x1F40 ## $a1 = 00001F40 -.L808D35FC: -/* 00F8C 808D35FC 28A1E0C0 */ slti $at, $a1, 0xE0C0 -/* 00F90 808D3600 10200002 */ beq $at, $zero, .L808D360C -/* 00F94 808D3604 00118C00 */ sll $s1, $s1, 16 -/* 00F98 808D3608 2405E0C0 */ addiu $a1, $zero, 0xE0C0 ## $a1 = FFFFE0C0 -.L808D360C: -/* 00F9C 808D360C 00118C03 */ sra $s1, $s1, 16 -/* 00FA0 808D3610 2A2103E9 */ slti $at, $s1, 0x03E9 -/* 00FA4 808D3614 14200002 */ bne $at, $zero, .L808D3620 -/* 00FA8 808D3618 2604021E */ addiu $a0, $s0, 0x021E ## $a0 = 0000021E -/* 00FAC 808D361C 241103E8 */ addiu $s1, $zero, 0x03E8 ## $s1 = 000003E8 -.L808D3620: -/* 00FB0 808D3620 2A21F060 */ slti $at, $s1, 0xF060 -/* 00FB4 808D3624 10200002 */ beq $at, $zero, .L808D3630 -/* 00FB8 808D3628 24060005 */ addiu $a2, $zero, 0x0005 ## $a2 = 00000005 -/* 00FBC 808D362C 2411F060 */ addiu $s1, $zero, 0xF060 ## $s1 = FFFFF060 -.L808D3630: -/* 00FC0 808D3630 0C01E1EF */ jal Math_ApproachS - -/* 00FC4 808D3634 240707D0 */ addiu $a3, $zero, 0x07D0 ## $a3 = 000007D0 -/* 00FC8 808D3638 00112C00 */ sll $a1, $s1, 16 -/* 00FCC 808D363C 00052C03 */ sra $a1, $a1, 16 -/* 00FD0 808D3640 2604021C */ addiu $a0, $s0, 0x021C ## $a0 = 0000021C -/* 00FD4 808D3644 24060005 */ addiu $a2, $zero, 0x0005 ## $a2 = 00000005 -/* 00FD8 808D3648 0C01E1EF */ jal Math_ApproachS - -/* 00FDC 808D364C 240707D0 */ addiu $a3, $zero, 0x07D0 ## $a3 = 000007D0 -/* 00FE0 808D3650 10000009 */ beq $zero, $zero, .L808D3678 -/* 00FE4 808D3654 87AA00B2 */ lh $t2, 0x00B2($sp) -.L808D3658: -/* 00FE8 808D3658 0C01E1EF */ jal Math_ApproachS - -/* 00FEC 808D365C 240707D0 */ addiu $a3, $zero, 0x07D0 ## $a3 = 000007D0 -/* 00FF0 808D3660 2604021C */ addiu $a0, $s0, 0x021C ## $a0 = 0000021C -/* 00FF4 808D3664 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000 -/* 00FF8 808D3668 24060005 */ addiu $a2, $zero, 0x0005 ## $a2 = 00000005 -/* 00FFC 808D366C 0C01E1EF */ jal Math_ApproachS - -/* 01000 808D3670 240707D0 */ addiu $a3, $zero, 0x07D0 ## $a3 = 000007D0 -/* 01004 808D3674 87AA00B2 */ lh $t2, 0x00B2($sp) -.L808D3678: -/* 01008 808D3678 3C014700 */ lui $at, 0x4700 ## $at = 47000000 -/* 0100C 808D367C 27AB0090 */ addiu $t3, $sp, 0x0090 ## $t3 = FFFFFFC8 -/* 01010 808D3680 114000BE */ beq $t2, $zero, .L808D397C -/* 01014 808D3684 3C0C808D */ lui $t4, %hi(D_808D61AC) ## $t4 = 808D0000 -/* 01018 808D3688 258C61AC */ addiu $t4, $t4, %lo(D_808D61AC) ## $t4 = 808D61AC -/* 0101C 808D368C 44810000 */ mtc1 $at, $f0 ## $f0 = 32768.00 -/* 01020 808D3690 8D8E0000 */ lw $t6, 0x0000($t4) ## 808D61AC -/* 01024 808D3694 3C01808D */ lui $at, %hi(D_808D6484) ## $at = 808D0000 -/* 01028 808D3698 C4226484 */ lwc1 $f2, %lo(D_808D6484)($at) -/* 0102C 808D369C AD6E0000 */ sw $t6, 0x0000($t3) ## FFFFFFC8 -/* 01030 808D36A0 8D8E0008 */ lw $t6, 0x0008($t4) ## 808D61B4 -/* 01034 808D36A4 8D8D0004 */ lw $t5, 0x0004($t4) ## 808D61B0 -/* 01038 808D36A8 3C18808D */ lui $t8, %hi(D_808D61B8) ## $t8 = 808D0000 -/* 0103C 808D36AC 271861B8 */ addiu $t8, $t8, %lo(D_808D61B8) ## $t8 = 808D61B8 -/* 01040 808D36B0 AD6E0008 */ sw $t6, 0x0008($t3) ## FFFFFFD0 -/* 01044 808D36B4 AD6D0004 */ sw $t5, 0x0004($t3) ## FFFFFFCC -/* 01048 808D36B8 8F080000 */ lw $t0, 0x0000($t8) ## 808D61B8 -/* 0104C 808D36BC 27AF0078 */ addiu $t7, $sp, 0x0078 ## $t7 = FFFFFFB0 -/* 01050 808D36C0 8F190004 */ lw $t9, 0x0004($t8) ## 808D61BC -/* 01054 808D36C4 ADE80000 */ sw $t0, 0x0000($t7) ## FFFFFFB0 -/* 01058 808D36C8 8F080008 */ lw $t0, 0x0008($t8) ## 808D61C0 -/* 0105C 808D36CC ADF90004 */ sw $t9, 0x0004($t7) ## FFFFFFB4 -/* 01060 808D36D0 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000 -/* 01064 808D36D4 ADE80008 */ sw $t0, 0x0008($t7) ## FFFFFFB8 -/* 01068 808D36D8 8FAA00AC */ lw $t2, 0x00AC($sp) -/* 0106C 808D36DC 44814000 */ mtc1 $at, $f8 ## $f8 = 30.00 -/* 01070 808D36E0 24090002 */ addiu $t1, $zero, 0x0002 ## $t1 = 00000002 -/* 01074 808D36E4 A1490220 */ sb $t1, 0x0220($t2) ## 00000220 -/* 01078 808D36E8 26020210 */ addiu $v0, $s0, 0x0210 ## $v0 = 00000210 -/* 0107C 808D36EC E7A80098 */ swc1 $f8, 0x0098($sp) -/* 01080 808D36F0 8C4D0000 */ lw $t5, 0x0000($v0) ## 00000210 -/* 01084 808D36F4 27AB006C */ addiu $t3, $sp, 0x006C ## $t3 = FFFFFFA4 -/* 01088 808D36F8 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000 -/* 0108C 808D36FC AD6D0000 */ sw $t5, 0x0000($t3) ## FFFFFFA4 -/* 01090 808D3700 8C4C0004 */ lw $t4, 0x0004($v0) ## 00000214 -/* 01094 808D3704 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000 -/* 01098 808D3708 AD6C0004 */ sw $t4, 0x0004($t3) ## FFFFFFA8 -/* 0109C 808D370C 8C4D0008 */ lw $t5, 0x0008($v0) ## 00000218 -/* 010A0 808D3710 AD6D0008 */ sw $t5, 0x0008($t3) ## FFFFFFAC -/* 010A4 808D3714 860F021E */ lh $t7, 0x021E($s0) ## 0000021E -/* 010A8 808D3718 860E00B6 */ lh $t6, 0x00B6($s0) ## 000000B6 -/* 010AC 808D371C 8619021C */ lh $t9, 0x021C($s0) ## 0000021C -/* 010B0 808D3720 AFA20064 */ sw $v0, 0x0064($sp) -/* 010B4 808D3724 01CFC021 */ addu $t8, $t6, $t7 -/* 010B8 808D3728 44985000 */ mtc1 $t8, $f10 ## $f10 = -0.00 -/* 010BC 808D372C 44992000 */ mtc1 $t9, $f4 ## $f4 = 0.00 -/* 010C0 808D3730 46805420 */ cvt.s.w $f16, $f10 -/* 010C4 808D3734 468021A0 */ cvt.s.w $f6, $f4 -/* 010C8 808D3738 46008483 */ div.s $f18, $f16, $f0 -/* 010CC 808D373C 44818000 */ mtc1 $at, $f16 ## $f16 = 0.50 -/* 010D0 808D3740 46003203 */ div.s $f8, $f6, $f0 -/* 010D4 808D3744 46029302 */ mul.s $f12, $f18, $f2 -/* 010D8 808D3748 00000000 */ nop -/* 010DC 808D374C 46024282 */ mul.s $f10, $f8, $f2 -/* 010E0 808D3750 0C034348 */ jal Matrix_RotateY -/* 010E4 808D3754 46105580 */ add.s $f22, $f10, $f16 -/* 010E8 808D3758 4600B306 */ mov.s $f12, $f22 -/* 010EC 808D375C 0C0342DC */ jal Matrix_RotateX -/* 010F0 808D3760 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 010F4 808D3764 27B10084 */ addiu $s1, $sp, 0x0084 ## $s1 = FFFFFFBC -/* 010F8 808D3768 02202825 */ or $a1, $s1, $zero ## $a1 = FFFFFFBC -/* 010FC 808D376C 0C0346BD */ jal Matrix_MultVec3f -/* 01100 808D3770 27A40090 */ addiu $a0, $sp, 0x0090 ## $a0 = FFFFFFC8 -/* 01104 808D3774 8604019C */ lh $a0, 0x019C($s0) ## 0000019C -/* 01108 808D3778 00042340 */ sll $a0, $a0, 13 -/* 0110C 808D377C 00042400 */ sll $a0, $a0, 16 -/* 01110 808D3780 0C01DE1C */ jal Math_SinS - ## sins? -/* 01114 808D3784 00042403 */ sra $a0, $a0, 16 -/* 01118 808D3788 3C014248 */ lui $at, 0x4248 ## $at = 42480000 -/* 0111C 808D378C 4481A000 */ mtc1 $at, $f20 ## $f20 = 50.00 -/* 01120 808D3790 3C014396 */ lui $at, 0x4396 ## $at = 43960000 -/* 01124 808D3794 4481B000 */ mtc1 $at, $f22 ## $f22 = 300.00 -/* 01128 808D3798 46140482 */ mul.s $f18, $f0, $f20 -/* 0112C 808D379C 87A900B2 */ lh $t1, 0x00B2($sp) -/* 01130 808D37A0 27A80078 */ addiu $t0, $sp, 0x0078 ## $t0 = FFFFFFB0 -/* 01134 808D37A4 AFA80010 */ sw $t0, 0x0010($sp) -/* 01138 808D37A8 AFA90018 */ sw $t1, 0x0018($sp) -/* 0113C 808D37AC 8FA500AC */ lw $a1, 0x00AC($sp) -/* 01140 808D37B0 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000 -/* 01144 808D37B4 46169100 */ add.s $f4, $f18, $f22 -/* 01148 808D37B8 24A51970 */ addiu $a1, $a1, 0x1970 ## $a1 = 00001970 -/* 0114C 808D37BC 27A6006C */ addiu $a2, $sp, 0x006C ## $a2 = FFFFFFA4 -/* 01150 808D37C0 02203825 */ or $a3, $s1, $zero ## $a3 = FFFFFFBC -/* 01154 808D37C4 E7A40014 */ swc1 $f4, 0x0014($sp) -/* 01158 808D37C8 860B021E */ lh $t3, 0x021E($s0) ## 0000021E -/* 0115C 808D37CC 860A00B6 */ lh $t2, 0x00B6($s0) ## 000000B6 -/* 01160 808D37D0 AFA50060 */ sw $a1, 0x0060($sp) -/* 01164 808D37D4 014B6021 */ addu $t4, $t2, $t3 -/* 01168 808D37D8 0C2349D2 */ jal func_808D2748 -/* 0116C 808D37DC AFAC001C */ sw $t4, 0x001C($sp) -/* 01170 808D37E0 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000 -/* 01174 808D37E4 44810000 */ mtc1 $at, $f0 ## $f0 = 0.50 -/* 01178 808D37E8 C7A80084 */ lwc1 $f8, 0x0084($sp) -/* 0117C 808D37EC C7A6006C */ lwc1 $f6, 0x006C($sp) -/* 01180 808D37F0 C7A40088 */ lwc1 $f4, 0x0088($sp) -/* 01184 808D37F4 46004282 */ mul.s $f10, $f8, $f0 -/* 01188 808D37F8 C7B20070 */ lwc1 $f18, 0x0070($sp) -/* 0118C 808D37FC 46002202 */ mul.s $f8, $f4, $f0 -/* 01190 808D3800 460A3400 */ add.s $f16, $f6, $f10 -/* 01194 808D3804 C7AA0074 */ lwc1 $f10, 0x0074($sp) -/* 01198 808D3808 46089180 */ add.s $f6, $f18, $f8 -/* 0119C 808D380C E7B0006C */ swc1 $f16, 0x006C($sp) -/* 011A0 808D3810 C7B0008C */ lwc1 $f16, 0x008C($sp) -/* 011A4 808D3814 E7A60070 */ swc1 $f6, 0x0070($sp) -/* 011A8 808D3818 46008102 */ mul.s $f4, $f16, $f0 -/* 011AC 808D381C 46045480 */ add.s $f18, $f10, $f4 -/* 011B0 808D3820 E7B20074 */ swc1 $f18, 0x0074($sp) -/* 011B4 808D3824 8604019C */ lh $a0, 0x019C($s0) ## 0000019C -/* 011B8 808D3828 00042340 */ sll $a0, $a0, 13 -/* 011BC 808D382C 00042400 */ sll $a0, $a0, 16 -/* 011C0 808D3830 0C01DE1C */ jal Math_SinS - ## sins? -/* 011C4 808D3834 00042403 */ sra $a0, $a0, 16 -/* 011C8 808D3838 46140202 */ mul.s $f8, $f0, $f20 -/* 011CC 808D383C 87AE00B2 */ lh $t6, 0x00B2($sp) -/* 011D0 808D3840 27AD0078 */ addiu $t5, $sp, 0x0078 ## $t5 = FFFFFFB0 -/* 011D4 808D3844 AFAD0010 */ sw $t5, 0x0010($sp) -/* 011D8 808D3848 AFAE0018 */ sw $t6, 0x0018($sp) -/* 011DC 808D384C 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000 -/* 011E0 808D3850 8FA50060 */ lw $a1, 0x0060($sp) -/* 011E4 808D3854 46164180 */ add.s $f6, $f8, $f22 -/* 011E8 808D3858 27A6006C */ addiu $a2, $sp, 0x006C ## $a2 = FFFFFFA4 -/* 011EC 808D385C 02203825 */ or $a3, $s1, $zero ## $a3 = FFFFFFBC -/* 011F0 808D3860 E7A60014 */ swc1 $f6, 0x0014($sp) -/* 011F4 808D3864 8618021E */ lh $t8, 0x021E($s0) ## 0000021E -/* 011F8 808D3868 860F00B6 */ lh $t7, 0x00B6($s0) ## 000000B6 -/* 011FC 808D386C 01F8C821 */ addu $t9, $t7, $t8 -/* 01200 808D3870 0C2349D2 */ jal func_808D2748 -/* 01204 808D3874 AFB9001C */ sw $t9, 0x001C($sp) -/* 01208 808D3878 3C014188 */ lui $at, 0x4188 ## $at = 41880000 -/* 0120C 808D387C 44815000 */ mtc1 $at, $f10 ## $f10 = 17.00 -/* 01210 808D3880 3C01808D */ lui $at, %hi(D_808D6488) ## $at = 808D0000 -/* 01214 808D3884 C43C6488 */ lwc1 $f28, %lo(D_808D6488)($at) -/* 01218 808D3888 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000 -/* 0121C 808D388C 44808000 */ mtc1 $zero, $f16 ## $f16 = 0.00 -/* 01220 808D3890 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00 -/* 01224 808D3894 4481D000 */ mtc1 $at, $f26 ## $f26 = 100.00 -/* 01228 808D3898 3C01C120 */ lui $at, 0xC120 ## $at = C1200000 -/* 0122C 808D389C 4481C000 */ mtc1 $at, $f24 ## $f24 = -10.00 -/* 01230 808D38A0 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000 -/* 01234 808D38A4 E7AA0094 */ swc1 $f10, 0x0094($sp) -/* 01238 808D38A8 E7B00090 */ swc1 $f16, 0x0090($sp) -/* 0123C 808D38AC E7A40098 */ swc1 $f4, 0x0098($sp) -.L808D38B0: -/* 01240 808D38B0 0C00CFBE */ jal Rand_ZeroFloat - -/* 01244 808D38B4 4600E306 */ mov.s $f12, $f28 -/* 01248 808D38B8 46000506 */ mov.s $f20, $f0 -/* 0124C 808D38BC 0C00CFBE */ jal Rand_ZeroFloat - -/* 01250 808D38C0 4600E306 */ mov.s $f12, $f28 -/* 01254 808D38C4 46000586 */ mov.s $f22, $f0 -/* 01258 808D38C8 4600A306 */ mov.s $f12, $f20 -/* 0125C 808D38CC 0C034348 */ jal Matrix_RotateY -/* 01260 808D38D0 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000 -/* 01264 808D38D4 4600B306 */ mov.s $f12, $f22 -/* 01268 808D38D8 0C0342DC */ jal Matrix_RotateX -/* 0126C 808D38DC 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 01270 808D38E0 27A40090 */ addiu $a0, $sp, 0x0090 ## $a0 = FFFFFFC8 -/* 01274 808D38E4 0C0346BD */ jal Matrix_MultVec3f -/* 01278 808D38E8 02202825 */ or $a1, $s1, $zero ## $a1 = FFFFFFBC -/* 0127C 808D38EC C7B20084 */ lwc1 $f18, 0x0084($sp) -/* 01280 808D38F0 C7B00088 */ lwc1 $f16, 0x0088($sp) -/* 01284 808D38F4 3C014000 */ lui $at, 0x4000 ## $at = 40000000 -/* 01288 808D38F8 46189202 */ mul.s $f8, $f18, $f24 -/* 0128C 808D38FC C7B2008C */ lwc1 $f18, 0x008C($sp) -/* 01290 808D3900 44816000 */ mtc1 $at, $f12 ## $f12 = 2.00 -/* 01294 808D3904 46188282 */ mul.s $f10, $f16, $f24 -/* 01298 808D3908 461A4183 */ div.s $f6, $f8, $f26 -/* 0129C 808D390C 46189202 */ mul.s $f8, $f18, $f24 -/* 012A0 808D3910 461A5103 */ div.s $f4, $f10, $f26 -/* 012A4 808D3914 E7A60078 */ swc1 $f6, 0x0078($sp) -/* 012A8 808D3918 461A4183 */ div.s $f6, $f8, $f26 -/* 012AC 808D391C E7A4007C */ swc1 $f4, 0x007C($sp) -/* 012B0 808D3920 0C00CFBE */ jal Rand_ZeroFloat - -/* 012B4 808D3924 E7A60080 */ swc1 $f6, 0x0080($sp) -/* 012B8 808D3928 4600040D */ trunc.w.s $f16, $f0 -/* 012BC 808D392C 27A80078 */ addiu $t0, $sp, 0x0078 ## $t0 = FFFFFFB0 -/* 012C0 808D3930 AFA80010 */ sw $t0, 0x0010($sp) -/* 012C4 808D3934 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000 -/* 012C8 808D3938 440A8000 */ mfc1 $t2, $f16 -/* 012CC 808D393C 8FA50060 */ lw $a1, 0x0060($sp) -/* 012D0 808D3940 8FA60064 */ lw $a2, 0x0064($sp) -/* 012D4 808D3944 000A5C00 */ sll $t3, $t2, 16 -/* 012D8 808D3948 000B6403 */ sra $t4, $t3, 16 -/* 012DC 808D394C 258D0008 */ addiu $t5, $t4, 0x0008 ## $t5 = 00000008 -/* 012E0 808D3950 448D5000 */ mtc1 $t5, $f10 ## $f10 = 0.00 -/* 012E4 808D3954 02203825 */ or $a3, $s1, $zero ## $a3 = FFFFFFBC -/* 012E8 808D3958 46805120 */ cvt.s.w $f4, $f10 -/* 012EC 808D395C 0C234A17 */ jal func_808D285C -/* 012F0 808D3960 E7A40014 */ swc1 $f4, 0x0014($sp) -/* 012F4 808D3964 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001 -/* 012F8 808D3968 00108400 */ sll $s0, $s0, 16 -/* 012FC 808D396C 00108403 */ sra $s0, $s0, 16 -/* 01300 808D3970 2A010006 */ slti $at, $s0, 0x0006 -/* 01304 808D3974 1420FFCE */ bne $at, $zero, .L808D38B0 -/* 01308 808D3978 00000000 */ nop -.L808D397C: -/* 0130C 808D397C 8FBF005C */ lw $ra, 0x005C($sp) -/* 01310 808D3980 D7B40028 */ ldc1 $f20, 0x0028($sp) -/* 01314 808D3984 D7B60030 */ ldc1 $f22, 0x0030($sp) -/* 01318 808D3988 D7B80038 */ ldc1 $f24, 0x0038($sp) -/* 0131C 808D398C D7BA0040 */ ldc1 $f26, 0x0040($sp) -/* 01320 808D3990 D7BC0048 */ ldc1 $f28, 0x0048($sp) -/* 01324 808D3994 8FB00050 */ lw $s0, 0x0050($sp) -/* 01328 808D3998 8FB10054 */ lw $s1, 0x0054($sp) -/* 0132C 808D399C 8FB20058 */ lw $s2, 0x0058($sp) -/* 01330 808D39A0 03E00008 */ jr $ra -/* 01334 808D39A4 27BD00C8 */ addiu $sp, $sp, 0x00C8 ## $sp = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D39A8.s b/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D39A8.s deleted file mode 100644 index 7873def933..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D39A8.s +++ /dev/null @@ -1,26 +0,0 @@ -glabel func_808D39A8 -/* 01338 808D39A8 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 0133C 808D39AC AFA5001C */ sw $a1, 0x001C($sp) -/* 01340 808D39B0 AFBF0014 */ sw $ra, 0x0014($sp) -/* 01344 808D39B4 AFA40018 */ sw $a0, 0x0018($sp) -/* 01348 808D39B8 3C050601 */ lui $a1, 0x0601 ## $a1 = 06010000 -/* 0134C 808D39BC 24A5B7A4 */ addiu $a1, $a1, 0xB7A4 ## $a1 = 0600B7A4 -/* 01350 808D39C0 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C -/* 01354 808D39C4 0C029490 */ jal Animation_MorphToPlayOnce -/* 01358 808D39C8 3C06C0A0 */ lui $a2, 0xC0A0 ## $a2 = C0A00000 -/* 0135C 808D39CC 8FAF0018 */ lw $t7, 0x0018($sp) -/* 01360 808D39D0 3C0E808D */ lui $t6, %hi(func_808D3A08) ## $t6 = 808D0000 -/* 01364 808D39D4 25CE3A08 */ addiu $t6, $t6, %lo(func_808D3A08) ## $t6 = 808D3A08 -/* 01368 808D39D8 3C040601 */ lui $a0, 0x0601 ## $a0 = 06010000 -/* 0136C 808D39DC 2484B7A4 */ addiu $a0, $a0, 0xB7A4 ## $a0 = 0600B7A4 -/* 01370 808D39E0 0C028800 */ jal Animation_GetLastFrame - -/* 01374 808D39E4 ADEE0190 */ sw $t6, 0x0190($t7) ## 00000190 -/* 01378 808D39E8 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00 -/* 0137C 808D39EC 8FB80018 */ lw $t8, 0x0018($sp) -/* 01380 808D39F0 468021A0 */ cvt.s.w $f6, $f4 -/* 01384 808D39F4 E70601F0 */ swc1 $f6, 0x01F0($t8) ## 000001F0 -/* 01388 808D39F8 8FBF0014 */ lw $ra, 0x0014($sp) -/* 0138C 808D39FC 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 01390 808D3A00 03E00008 */ jr $ra -/* 01394 808D3A04 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D3A08.s b/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D3A08.s deleted file mode 100644 index 42af0dc816..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D3A08.s +++ /dev/null @@ -1,36 +0,0 @@ -glabel func_808D3A08 -/* 01398 808D3A08 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8 -/* 0139C 808D3A0C AFB00018 */ sw $s0, 0x0018($sp) -/* 013A0 808D3A10 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 013A4 808D3A14 AFBF001C */ sw $ra, 0x001C($sp) -/* 013A8 808D3A18 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C -/* 013AC 808D3A1C AFA5002C */ sw $a1, 0x002C($sp) -/* 013B0 808D3A20 0C02927F */ jal SkelAnime_Update - -/* 013B4 808D3A24 AFA40024 */ sw $a0, 0x0024($sp) -/* 013B8 808D3A28 8FA40024 */ lw $a0, 0x0024($sp) -/* 013BC 808D3A2C 0C0295B2 */ jal Animation_OnFrame -/* 013C0 808D3A30 3C0540A0 */ lui $a1, 0x40A0 ## $a1 = 40A00000 -/* 013C4 808D3A34 10400006 */ beq $v0, $zero, .L808D3A50 -/* 013C8 808D3A38 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 013CC 808D3A3C 0C00BE0A */ jal Audio_PlayActorSound2 - -/* 013D0 808D3A40 240538D1 */ addiu $a1, $zero, 0x38D1 ## $a1 = 000038D1 -/* 013D4 808D3A44 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 013D8 808D3A48 0C00BE0A */ jal Audio_PlayActorSound2 - -/* 013DC 808D3A4C 240538D8 */ addiu $a1, $zero, 0x38D8 ## $a1 = 000038D8 -.L808D3A50: -/* 013E0 808D3A50 8FA40024 */ lw $a0, 0x0024($sp) -/* 013E4 808D3A54 0C0295B2 */ jal Animation_OnFrame -/* 013E8 808D3A58 8E0501F0 */ lw $a1, 0x01F0($s0) ## 000001F0 -/* 013EC 808D3A5C 10400003 */ beq $v0, $zero, .L808D3A6C -/* 013F0 808D3A60 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 013F4 808D3A64 0C234CAD */ jal func_808D32B4 -/* 013F8 808D3A68 8FA5002C */ lw $a1, 0x002C($sp) -.L808D3A6C: -/* 013FC 808D3A6C 8FBF001C */ lw $ra, 0x001C($sp) -/* 01400 808D3A70 8FB00018 */ lw $s0, 0x0018($sp) -/* 01404 808D3A74 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000 -/* 01408 808D3A78 03E00008 */ jr $ra -/* 0140C 808D3A7C 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D3A80.s b/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D3A80.s deleted file mode 100644 index 7e9728ad8e..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D3A80.s +++ /dev/null @@ -1,26 +0,0 @@ -glabel func_808D3A80 -/* 01410 808D3A80 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 01414 808D3A84 AFA5001C */ sw $a1, 0x001C($sp) -/* 01418 808D3A88 AFBF0014 */ sw $ra, 0x0014($sp) -/* 0141C 808D3A8C 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000 -/* 01420 808D3A90 3C050601 */ lui $a1, 0x0601 ## $a1 = 06010000 -/* 01424 808D3A94 24A5A31C */ addiu $a1, $a1, 0xA31C ## $a1 = 0600A31C -/* 01428 808D3A98 AFA60018 */ sw $a2, 0x0018($sp) -/* 0142C 808D3A9C 0C02947A */ jal Animation_PlayOnce -/* 01430 808D3AA0 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C -/* 01434 808D3AA4 3C040601 */ lui $a0, 0x0601 ## $a0 = 06010000 -/* 01438 808D3AA8 0C028800 */ jal Animation_GetLastFrame - -/* 0143C 808D3AAC 2484A31C */ addiu $a0, $a0, 0xA31C ## $a0 = 0600A31C -/* 01440 808D3AB0 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00 -/* 01444 808D3AB4 8FA60018 */ lw $a2, 0x0018($sp) -/* 01448 808D3AB8 3C0E808D */ lui $t6, %hi(func_808D3AE0) ## $t6 = 808D0000 -/* 0144C 808D3ABC 468021A0 */ cvt.s.w $f6, $f4 -/* 01450 808D3AC0 25CE3AE0 */ addiu $t6, $t6, %lo(func_808D3AE0) ## $t6 = 808D3AE0 -/* 01454 808D3AC4 ACCE0190 */ sw $t6, 0x0190($a2) ## 00000190 -/* 01458 808D3AC8 A4C00198 */ sh $zero, 0x0198($a2) ## 00000198 -/* 0145C 808D3ACC E4C601F0 */ swc1 $f6, 0x01F0($a2) ## 000001F0 -/* 01460 808D3AD0 8FBF0014 */ lw $ra, 0x0014($sp) -/* 01464 808D3AD4 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 01468 808D3AD8 03E00008 */ jr $ra -/* 0146C 808D3ADC 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D3AE0.s b/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D3AE0.s deleted file mode 100644 index 7074539a07..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D3AE0.s +++ /dev/null @@ -1,170 +0,0 @@ -glabel func_808D3AE0 -/* 01470 808D3AE0 27BDFF68 */ addiu $sp, $sp, 0xFF68 ## $sp = FFFFFF68 -/* 01474 808D3AE4 AFBF0054 */ sw $ra, 0x0054($sp) -/* 01478 808D3AE8 AFB40050 */ sw $s4, 0x0050($sp) -/* 0147C 808D3AEC AFB3004C */ sw $s3, 0x004C($sp) -/* 01480 808D3AF0 AFB20048 */ sw $s2, 0x0048($sp) -/* 01484 808D3AF4 AFB10044 */ sw $s1, 0x0044($sp) -/* 01488 808D3AF8 AFB00040 */ sw $s0, 0x0040($sp) -/* 0148C 808D3AFC F7BA0038 */ sdc1 $f26, 0x0038($sp) -/* 01490 808D3B00 F7B80030 */ sdc1 $f24, 0x0030($sp) -/* 01494 808D3B04 F7B60028 */ sdc1 $f22, 0x0028($sp) -/* 01498 808D3B08 F7B40020 */ sdc1 $f20, 0x0020($sp) -/* 0149C 808D3B0C 8C8F0004 */ lw $t7, 0x0004($a0) ## 00000004 -/* 014A0 808D3B10 00809025 */ or $s2, $a0, $zero ## $s2 = 00000000 -/* 014A4 808D3B14 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001 -/* 014A8 808D3B18 35F80400 */ ori $t8, $t7, 0x0400 ## $t8 = 00000400 -/* 014AC 808D3B1C 8C910118 */ lw $s1, 0x0118($a0) ## 00000118 -/* 014B0 808D3B20 A08E0194 */ sb $t6, 0x0194($a0) ## 00000194 -/* 014B4 808D3B24 AC980004 */ sw $t8, 0x0004($a0) ## 00000004 -/* 014B8 808D3B28 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C -/* 014BC 808D3B2C 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000 -/* 014C0 808D3B30 0C02927F */ jal SkelAnime_Update - -/* 014C4 808D3B34 AFA40060 */ sw $a0, 0x0060($sp) -/* 014C8 808D3B38 86430198 */ lh $v1, 0x0198($s2) ## 00000198 -/* 014CC 808D3B3C 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 014D0 808D3B40 8FA40060 */ lw $a0, 0x0060($sp) -/* 014D4 808D3B44 10600005 */ beq $v1, $zero, .L808D3B5C -/* 014D8 808D3B48 00000000 */ nop -/* 014DC 808D3B4C 50610061 */ beql $v1, $at, .L808D3CD4 -/* 014E0 808D3B50 864B019C */ lh $t3, 0x019C($s2) ## 0000019C -/* 014E4 808D3B54 1000006D */ beq $zero, $zero, .L808D3D0C -/* 014E8 808D3B58 8FBF0054 */ lw $ra, 0x0054($sp) -.L808D3B5C: -/* 014EC 808D3B5C 0C0295B2 */ jal Animation_OnFrame -/* 014F0 808D3B60 3C054150 */ lui $a1, 0x4150 ## $a1 = 41500000 -/* 014F4 808D3B64 10400003 */ beq $v0, $zero, .L808D3B74 -/* 014F8 808D3B68 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000 -/* 014FC 808D3B6C 0C00BE0A */ jal Audio_PlayActorSound2 - -/* 01500 808D3B70 240538D3 */ addiu $a1, $zero, 0x38D3 ## $a1 = 000038D3 -.L808D3B74: -/* 01504 808D3B74 3C014040 */ lui $at, 0x4040 ## $at = 40400000 -/* 01508 808D3B78 44813000 */ mtc1 $at, $f6 ## $f6 = 3.00 -/* 0150C 808D3B7C C64401F0 */ lwc1 $f4, 0x01F0($s2) ## 000001F0 -/* 01510 808D3B80 8FA40060 */ lw $a0, 0x0060($sp) -/* 01514 808D3B84 46062201 */ sub.s $f8, $f4, $f6 -/* 01518 808D3B88 44054000 */ mfc1 $a1, $f8 -/* 0151C 808D3B8C 0C0295B2 */ jal Animation_OnFrame -/* 01520 808D3B90 00000000 */ nop -/* 01524 808D3B94 10400040 */ beq $v0, $zero, .L808D3C98 -/* 01528 808D3B98 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000 -/* 0152C 808D3B9C 3C014396 */ lui $at, 0x4396 ## $at = 43960000 -/* 01530 808D3BA0 4481D000 */ mtc1 $at, $f26 ## $f26 = 300.00 -/* 01534 808D3BA4 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000 -/* 01538 808D3BA8 4481C000 */ mtc1 $at, $f24 ## $f24 = 0.50 -/* 0153C 808D3BAC 3C014100 */ lui $at, 0x4100 ## $at = 41000000 -/* 01540 808D3BB0 4481B000 */ mtc1 $at, $f22 ## $f22 = 8.00 -/* 01544 808D3BB4 3C014120 */ lui $at, 0x4120 ## $at = 41200000 -/* 01548 808D3BB8 26341970 */ addiu $s4, $s1, 0x1970 ## $s4 = 00001970 -/* 0154C 808D3BBC 3C13808D */ lui $s3, %hi(D_808D61C4) ## $s3 = 808D0000 -/* 01550 808D3BC0 4481A000 */ mtc1 $at, $f20 ## $f20 = 10.00 -/* 01554 808D3BC4 267361C4 */ addiu $s3, $s3, %lo(D_808D61C4) ## $s3 = 808D61C4 -/* 01558 808D3BC8 27B10078 */ addiu $s1, $sp, 0x0078 ## $s1 = FFFFFFE0 -/* 0155C 808D3BCC 8E680000 */ lw $t0, 0x0000($s3) ## 808D61C4 -.L808D3BD0: -/* 01560 808D3BD0 8E790004 */ lw $t9, 0x0004($s3) ## 808D61C8 -/* 01564 808D3BD4 4600B306 */ mov.s $f12, $f22 -/* 01568 808D3BD8 AE280000 */ sw $t0, 0x0000($s1) ## FFFFFFE0 -/* 0156C 808D3BDC 8E680008 */ lw $t0, 0x0008($s3) ## 808D61CC -/* 01570 808D3BE0 AE390004 */ sw $t9, 0x0004($s1) ## FFFFFFE4 -/* 01574 808D3BE4 0C00CFC8 */ jal Rand_CenteredFloat - -/* 01578 808D3BE8 AE280008 */ sw $t0, 0x0008($s1) ## FFFFFFE8 -/* 0157C 808D3BEC 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 01580 808D3BF0 44816000 */ mtc1 $at, $f12 ## $f12 = 1.00 -/* 01584 808D3BF4 0C00CFBE */ jal Rand_ZeroFloat - -/* 01588 808D3BF8 E7A00084 */ swc1 $f0, 0x0084($sp) -/* 0158C 808D3BFC E7A00088 */ swc1 $f0, 0x0088($sp) -/* 01590 808D3C00 0C00CFC8 */ jal Rand_CenteredFloat - -/* 01594 808D3C04 4600B306 */ mov.s $f12, $f22 -/* 01598 808D3C08 E7A0008C */ swc1 $f0, 0x008C($sp) -/* 0159C 808D3C0C E7B8007C */ swc1 $f24, 0x007C($sp) -/* 015A0 808D3C10 0C00CFC8 */ jal Rand_CenteredFloat - -/* 015A4 808D3C14 4600A306 */ mov.s $f12, $f20 -/* 015A8 808D3C18 C64A0038 */ lwc1 $f10, 0x0038($s2) ## 00000038 -/* 015AC 808D3C1C 4600A306 */ mov.s $f12, $f20 -/* 015B0 808D3C20 460A0400 */ add.s $f16, $f0, $f10 -/* 015B4 808D3C24 0C00CFC8 */ jal Rand_CenteredFloat - -/* 015B8 808D3C28 E7B0006C */ swc1 $f16, 0x006C($sp) -/* 015BC 808D3C2C C652003C */ lwc1 $f18, 0x003C($s2) ## 0000003C -/* 015C0 808D3C30 4600A306 */ mov.s $f12, $f20 -/* 015C4 808D3C34 46120100 */ add.s $f4, $f0, $f18 -/* 015C8 808D3C38 0C00CFC8 */ jal Rand_CenteredFloat - -/* 015CC 808D3C3C E7A40070 */ swc1 $f4, 0x0070($sp) -/* 015D0 808D3C40 C6460040 */ lwc1 $f6, 0x0040($s2) ## 00000040 -/* 015D4 808D3C44 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000 -/* 015D8 808D3C48 44816000 */ mtc1 $at, $f12 ## $f12 = 100.00 -/* 015DC 808D3C4C 46060200 */ add.s $f8, $f0, $f6 -/* 015E0 808D3C50 0C00CFBE */ jal Rand_ZeroFloat - -/* 015E4 808D3C54 E7A80074 */ swc1 $f8, 0x0074($sp) -/* 015E8 808D3C58 461A0280 */ add.s $f10, $f0, $f26 -/* 015EC 808D3C5C 02802025 */ or $a0, $s4, $zero ## $a0 = 00001970 -/* 015F0 808D3C60 27A5006C */ addiu $a1, $sp, 0x006C ## $a1 = FFFFFFD4 -/* 015F4 808D3C64 27A60084 */ addiu $a2, $sp, 0x0084 ## $a2 = FFFFFFEC -/* 015F8 808D3C68 E7AA0010 */ swc1 $f10, 0x0010($sp) -/* 015FC 808D3C6C 0C234A82 */ jal func_808D2A08 -/* 01600 808D3C70 02203825 */ or $a3, $s1, $zero ## $a3 = FFFFFFE0 -/* 01604 808D3C74 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001 -/* 01608 808D3C78 00108400 */ sll $s0, $s0, 16 -/* 0160C 808D3C7C 00108403 */ sra $s0, $s0, 16 -/* 01610 808D3C80 2A010019 */ slti $at, $s0, 0x0019 -/* 01614 808D3C84 5420FFD2 */ bnel $at, $zero, .L808D3BD0 -/* 01618 808D3C88 8E680000 */ lw $t0, 0x0000($s3) ## 808D61C4 -/* 0161C 808D3C8C 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000 -/* 01620 808D3C90 0C00BE0A */ jal Audio_PlayActorSound2 - -/* 01624 808D3C94 24053927 */ addiu $a1, $zero, 0x3927 ## $a1 = 00003927 -.L808D3C98: -/* 01628 808D3C98 8FA40060 */ lw $a0, 0x0060($sp) -/* 0162C 808D3C9C 0C0295B2 */ jal Animation_OnFrame -/* 01630 808D3CA0 8E4501F0 */ lw $a1, 0x01F0($s2) ## 000001F0 -/* 01634 808D3CA4 10400018 */ beq $v0, $zero, .L808D3D08 -/* 01638 808D3CA8 8FA40060 */ lw $a0, 0x0060($sp) -/* 0163C 808D3CAC 3C050601 */ lui $a1, 0x0601 ## $a1 = 06010000 -/* 01640 808D3CB0 24A5A86C */ addiu $a1, $a1, 0xA86C ## $a1 = 0600A86C -/* 01644 808D3CB4 0C0294D3 */ jal Animation_MorphToLoop -/* 01648 808D3CB8 3C06C0A0 */ lui $a2, 0xC0A0 ## $a2 = C0A00000 -/* 0164C 808D3CBC 24090001 */ addiu $t1, $zero, 0x0001 ## $t1 = 00000001 -/* 01650 808D3CC0 240A003C */ addiu $t2, $zero, 0x003C ## $t2 = 0000003C -/* 01654 808D3CC4 A6490198 */ sh $t1, 0x0198($s2) ## 00000198 -/* 01658 808D3CC8 1000000F */ beq $zero, $zero, .L808D3D08 -/* 0165C 808D3CCC A64A01BC */ sh $t2, 0x01BC($s2) ## 000001BC -/* 01660 808D3CD0 864B019C */ lh $t3, 0x019C($s2) ## 0000019C -.L808D3CD4: -/* 01664 808D3CD4 2401000F */ addiu $at, $zero, 0x000F ## $at = 0000000F -/* 01668 808D3CD8 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000 -/* 0166C 808D3CDC 316C000F */ andi $t4, $t3, 0x000F ## $t4 = 00000000 -/* 01670 808D3CE0 55810004 */ bnel $t4, $at, .L808D3CF4 -/* 01674 808D3CE4 864D01BC */ lh $t5, 0x01BC($s2) ## 000001BC -/* 01678 808D3CE8 0C00BE0A */ jal Audio_PlayActorSound2 - -/* 0167C 808D3CEC 240538D4 */ addiu $a1, $zero, 0x38D4 ## $a1 = 000038D4 -/* 01680 808D3CF0 864D01BC */ lh $t5, 0x01BC($s2) ## 000001BC -.L808D3CF4: -/* 01684 808D3CF4 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000 -/* 01688 808D3CF8 55A00004 */ bnel $t5, $zero, .L808D3D0C -/* 0168C 808D3CFC 8FBF0054 */ lw $ra, 0x0054($sp) -/* 01690 808D3D00 0C234CAD */ jal func_808D32B4 -/* 01694 808D3D04 02002825 */ or $a1, $s0, $zero ## $a1 = 00000001 -.L808D3D08: -/* 01698 808D3D08 8FBF0054 */ lw $ra, 0x0054($sp) -.L808D3D0C: -/* 0169C 808D3D0C D7B40020 */ ldc1 $f20, 0x0020($sp) -/* 016A0 808D3D10 D7B60028 */ ldc1 $f22, 0x0028($sp) -/* 016A4 808D3D14 D7B80030 */ ldc1 $f24, 0x0030($sp) -/* 016A8 808D3D18 D7BA0038 */ ldc1 $f26, 0x0038($sp) -/* 016AC 808D3D1C 8FB00040 */ lw $s0, 0x0040($sp) -/* 016B0 808D3D20 8FB10044 */ lw $s1, 0x0044($sp) -/* 016B4 808D3D24 8FB20048 */ lw $s2, 0x0048($sp) -/* 016B8 808D3D28 8FB3004C */ lw $s3, 0x004C($sp) -/* 016BC 808D3D2C 8FB40050 */ lw $s4, 0x0050($sp) -/* 016C0 808D3D30 03E00008 */ jr $ra -/* 016C4 808D3D34 27BD0098 */ addiu $sp, $sp, 0x0098 ## $sp = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D3D38.s b/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D3D38.s deleted file mode 100644 index bdecfb3347..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D3D38.s +++ /dev/null @@ -1,26 +0,0 @@ -glabel func_808D3D38 -/* 016C8 808D3D38 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 016CC 808D3D3C AFA5001C */ sw $a1, 0x001C($sp) -/* 016D0 808D3D40 AFBF0014 */ sw $ra, 0x0014($sp) -/* 016D4 808D3D44 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000 -/* 016D8 808D3D48 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000 -/* 016DC 808D3D4C 24A57850 */ addiu $a1, $a1, 0x7850 ## $a1 = 06007850 -/* 016E0 808D3D50 AFA60018 */ sw $a2, 0x0018($sp) -/* 016E4 808D3D54 0C02947A */ jal Animation_PlayOnce -/* 016E8 808D3D58 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C -/* 016EC 808D3D5C 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000 -/* 016F0 808D3D60 0C028800 */ jal Animation_GetLastFrame - -/* 016F4 808D3D64 24847850 */ addiu $a0, $a0, 0x7850 ## $a0 = 06007850 -/* 016F8 808D3D68 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00 -/* 016FC 808D3D6C 8FA60018 */ lw $a2, 0x0018($sp) -/* 01700 808D3D70 3C0E808D */ lui $t6, %hi(func_808D3D98) ## $t6 = 808D0000 -/* 01704 808D3D74 468021A0 */ cvt.s.w $f6, $f4 -/* 01708 808D3D78 25CE3D98 */ addiu $t6, $t6, %lo(func_808D3D98) ## $t6 = 808D3D98 -/* 0170C 808D3D7C ACCE0190 */ sw $t6, 0x0190($a2) ## 00000190 -/* 01710 808D3D80 A4C00198 */ sh $zero, 0x0198($a2) ## 00000198 -/* 01714 808D3D84 E4C601F0 */ swc1 $f6, 0x01F0($a2) ## 000001F0 -/* 01718 808D3D88 8FBF0014 */ lw $ra, 0x0014($sp) -/* 0171C 808D3D8C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 01720 808D3D90 03E00008 */ jr $ra -/* 01724 808D3D94 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D3D98.s b/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D3D98.s deleted file mode 100644 index 7a4204a08a..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D3D98.s +++ /dev/null @@ -1,87 +0,0 @@ -glabel func_808D3D98 -/* 01728 808D3D98 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8 -/* 0172C 808D3D9C AFBF001C */ sw $ra, 0x001C($sp) -/* 01730 808D3DA0 AFB10018 */ sw $s1, 0x0018($sp) -/* 01734 808D3DA4 AFB00014 */ sw $s0, 0x0014($sp) -/* 01738 808D3DA8 AFA5002C */ sw $a1, 0x002C($sp) -/* 0173C 808D3DAC 8C8E0118 */ lw $t6, 0x0118($a0) ## 00000118 -/* 01740 808D3DB0 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 01744 808D3DB4 2491014C */ addiu $s1, $a0, 0x014C ## $s1 = 0000014C -/* 01748 808D3DB8 02202025 */ or $a0, $s1, $zero ## $a0 = 0000014C -/* 0174C 808D3DBC 0C02927F */ jal SkelAnime_Update - -/* 01750 808D3DC0 AFAE0024 */ sw $t6, 0x0024($sp) -/* 01754 808D3DC4 86030198 */ lh $v1, 0x0198($s0) ## 00000198 -/* 01758 808D3DC8 240F0001 */ addiu $t7, $zero, 0x0001 ## $t7 = 00000001 -/* 0175C 808D3DCC A20F0194 */ sb $t7, 0x0194($s0) ## 00000194 -/* 01760 808D3DD0 14600012 */ bne $v1, $zero, .L808D3E1C -/* 01764 808D3DD4 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 01768 808D3DD8 02202025 */ or $a0, $s1, $zero ## $a0 = 0000014C -/* 0176C 808D3DDC 0C0295B2 */ jal Animation_OnFrame -/* 01770 808D3DE0 8E0501F0 */ lw $a1, 0x01F0($s0) ## 000001F0 -/* 01774 808D3DE4 10400033 */ beq $v0, $zero, .L808D3EB4 -/* 01778 808D3DE8 02202025 */ or $a0, $s1, $zero ## $a0 = 0000014C -/* 0177C 808D3DEC 3C050601 */ lui $a1, 0x0601 ## $a1 = 06010000 -/* 01780 808D3DF0 0C02947A */ jal Animation_PlayOnce -/* 01784 808D3DF4 24A589DC */ addiu $a1, $a1, 0x89DC ## $a1 = 060089DC -/* 01788 808D3DF8 3C040601 */ lui $a0, 0x0601 ## $a0 = 06010000 -/* 0178C 808D3DFC 0C028800 */ jal Animation_GetLastFrame - -/* 01790 808D3E00 248489DC */ addiu $a0, $a0, 0x89DC ## $a0 = 060089DC -/* 01794 808D3E04 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00 -/* 01798 808D3E08 24180001 */ addiu $t8, $zero, 0x0001 ## $t8 = 00000001 -/* 0179C 808D3E0C A6180198 */ sh $t8, 0x0198($s0) ## 00000198 -/* 017A0 808D3E10 468021A0 */ cvt.s.w $f6, $f4 -/* 017A4 808D3E14 10000027 */ beq $zero, $zero, .L808D3EB4 -/* 017A8 808D3E18 E60601F0 */ swc1 $f6, 0x01F0($s0) ## 000001F0 -.L808D3E1C: -/* 017AC 808D3E1C 14610018 */ bne $v1, $at, .L808D3E80 -/* 017B0 808D3E20 26040028 */ addiu $a0, $s0, 0x0028 ## $a0 = 00000028 -/* 017B4 808D3E24 02202025 */ or $a0, $s1, $zero ## $a0 = 0000014C -/* 017B8 808D3E28 0C0295B2 */ jal Animation_OnFrame -/* 017BC 808D3E2C 3C0540C0 */ lui $a1, 0x40C0 ## $a1 = 40C00000 -/* 017C0 808D3E30 10400003 */ beq $v0, $zero, .L808D3E40 -/* 017C4 808D3E34 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 017C8 808D3E38 0C00BE0A */ jal Audio_PlayActorSound2 - -/* 017CC 808D3E3C 240538D6 */ addiu $a1, $zero, 0x38D6 ## $a1 = 000038D6 -.L808D3E40: -/* 017D0 808D3E40 02202025 */ or $a0, $s1, $zero ## $a0 = 0000014C -/* 017D4 808D3E44 0C0295B2 */ jal Animation_OnFrame -/* 017D8 808D3E48 3C0541A0 */ lui $a1, 0x41A0 ## $a1 = 41A00000 -/* 017DC 808D3E4C 10400004 */ beq $v0, $zero, .L808D3E60 -/* 017E0 808D3E50 02202025 */ or $a0, $s1, $zero ## $a0 = 0000014C -/* 017E4 808D3E54 8FA80024 */ lw $t0, 0x0024($sp) -/* 017E8 808D3E58 2419001E */ addiu $t9, $zero, 0x001E ## $t9 = 0000001E -/* 017EC 808D3E5C A5190250 */ sh $t9, 0x0250($t0) ## 00000250 -.L808D3E60: -/* 017F0 808D3E60 0C0295B2 */ jal Animation_OnFrame -/* 017F4 808D3E64 8E0501F0 */ lw $a1, 0x01F0($s0) ## 000001F0 -/* 017F8 808D3E68 10400012 */ beq $v0, $zero, .L808D3EB4 -/* 017FC 808D3E6C 24090002 */ addiu $t1, $zero, 0x0002 ## $t1 = 00000002 -/* 01800 808D3E70 240A0019 */ addiu $t2, $zero, 0x0019 ## $t2 = 00000019 -/* 01804 808D3E74 A6090198 */ sh $t1, 0x0198($s0) ## 00000198 -/* 01808 808D3E78 1000000E */ beq $zero, $zero, .L808D3EB4 -/* 0180C 808D3E7C A60A01BC */ sh $t2, 0x01BC($s0) ## 000001BC -.L808D3E80: -/* 01810 808D3E80 3C05C2C8 */ lui $a1, 0xC2C8 ## $a1 = C2C80000 -/* 01814 808D3E84 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000 -/* 01818 808D3E88 0C01E107 */ jal Math_ApproachF - -/* 0181C 808D3E8C 3C074120 */ lui $a3, 0x4120 ## $a3 = 41200000 -/* 01820 808D3E90 860B01BC */ lh $t3, 0x01BC($s0) ## 000001BC -/* 01824 808D3E94 3C0C808D */ lui $t4, %hi(func_808D4748) ## $t4 = 808D0000 -/* 01828 808D3E98 258C4748 */ addiu $t4, $t4, %lo(func_808D4748) ## $t4 = 808D4748 -/* 0182C 808D3E9C 55600006 */ bnel $t3, $zero, .L808D3EB8 -/* 01830 808D3EA0 8FBF001C */ lw $ra, 0x001C($sp) -/* 01834 808D3EA4 AE0C0190 */ sw $t4, 0x0190($s0) ## 00000190 -/* 01838 808D3EA8 8FAE0024 */ lw $t6, 0x0024($sp) -/* 0183C 808D3EAC 240D0001 */ addiu $t5, $zero, 0x0001 ## $t5 = 00000001 -/* 01840 808D3EB0 A1CD02D8 */ sb $t5, 0x02D8($t6) ## 000002D8 -.L808D3EB4: -/* 01844 808D3EB4 8FBF001C */ lw $ra, 0x001C($sp) -.L808D3EB8: -/* 01848 808D3EB8 8FB00014 */ lw $s0, 0x0014($sp) -/* 0184C 808D3EBC 8FB10018 */ lw $s1, 0x0018($sp) -/* 01850 808D3EC0 03E00008 */ jr $ra -/* 01854 808D3EC4 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D3EC8.s b/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D3EC8.s deleted file mode 100644 index 1c5232faa9..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D3EC8.s +++ /dev/null @@ -1,39 +0,0 @@ -glabel func_808D3EC8 -/* 01858 808D3EC8 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0 -/* 0185C 808D3ECC AFB00028 */ sw $s0, 0x0028($sp) -/* 01860 808D3ED0 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 01864 808D3ED4 AFBF002C */ sw $ra, 0x002C($sp) -/* 01868 808D3ED8 3C040601 */ lui $a0, 0x0601 ## $a0 = 06010000 -/* 0186C 808D3EDC AFA50034 */ sw $a1, 0x0034($sp) -/* 01870 808D3EE0 0C028800 */ jal Animation_GetLastFrame - -/* 01874 808D3EE4 248489DC */ addiu $a0, $a0, 0x89DC ## $a0 = 060089DC -/* 01878 808D3EE8 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00 -/* 0187C 808D3EEC 3C01C040 */ lui $at, 0xC040 ## $at = C0400000 -/* 01880 808D3EF0 44813000 */ mtc1 $at, $f6 ## $f6 = -3.00 -/* 01884 808D3EF4 46802020 */ cvt.s.w $f0, $f4 -/* 01888 808D3EF8 3C050601 */ lui $a1, 0x0601 ## $a1 = 06010000 -/* 0188C 808D3EFC 240E0003 */ addiu $t6, $zero, 0x0003 ## $t6 = 00000003 -/* 01890 808D3F00 24A589DC */ addiu $a1, $a1, 0x89DC ## $a1 = 060089DC -/* 01894 808D3F04 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C -/* 01898 808D3F08 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000 -/* 0189C 808D3F0C E60001F0 */ swc1 $f0, 0x01F0($s0) ## 000001F0 -/* 018A0 808D3F10 AFAE0014 */ sw $t6, 0x0014($sp) -/* 018A4 808D3F14 E7A00010 */ swc1 $f0, 0x0010($sp) -/* 018A8 808D3F18 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000 -/* 018AC 808D3F1C 0C029468 */ jal Animation_Change - -/* 018B0 808D3F20 E7A60018 */ swc1 $f6, 0x0018($sp) -/* 018B4 808D3F24 8E180004 */ lw $t8, 0x0004($s0) ## 00000004 -/* 018B8 808D3F28 3C0F808D */ lui $t7, %hi(func_808D40C8) ## $t7 = 808D0000 -/* 018BC 808D3F2C 2401FFFE */ addiu $at, $zero, 0xFFFE ## $at = FFFFFFFE -/* 018C0 808D3F30 25EF40C8 */ addiu $t7, $t7, %lo(func_808D40C8) ## $t7 = 808D40C8 -/* 018C4 808D3F34 0301C824 */ and $t9, $t8, $at -/* 018C8 808D3F38 AE0F0190 */ sw $t7, 0x0190($s0) ## 00000190 -/* 018CC 808D3F3C AE190004 */ sw $t9, 0x0004($s0) ## 00000004 -/* 018D0 808D3F40 A6001390 */ sh $zero, 0x1390($s0) ## 00001390 -/* 018D4 808D3F44 8FBF002C */ lw $ra, 0x002C($sp) -/* 018D8 808D3F48 8FB00028 */ lw $s0, 0x0028($sp) -/* 018DC 808D3F4C 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000 -/* 018E0 808D3F50 03E00008 */ jr $ra -/* 018E4 808D3F54 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D3F58.s b/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D3F58.s deleted file mode 100644 index 836341f5b1..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D3F58.s +++ /dev/null @@ -1,102 +0,0 @@ -glabel func_808D3F58 -/* 018E8 808D3F58 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8 -/* 018EC 808D3F5C AFBF001C */ sw $ra, 0x001C($sp) -/* 018F0 808D3F60 AFB00018 */ sw $s0, 0x0018($sp) -/* 018F4 808D3F64 AFA5002C */ sw $a1, 0x002C($sp) -/* 018F8 808D3F68 848E1392 */ lh $t6, 0x1392($a0) ## 00001392 -/* 018FC 808D3F6C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 01900 808D3F70 51C00051 */ beql $t6, $zero, .L808D40B8 -/* 01904 808D3F74 8FBF001C */ lw $ra, 0x001C($sp) -/* 01908 808D3F78 C60413C4 */ lwc1 $f4, 0x13C4($s0) ## 000013C4 -/* 0190C 808D3F7C C606140C */ lwc1 $f6, 0x140C($s0) ## 0000140C -/* 01910 808D3F80 24841394 */ addiu $a0, $a0, 0x1394 ## $a0 = 00001394 -/* 01914 808D3F84 8E0513DC */ lw $a1, 0x13DC($s0) ## 000013DC -/* 01918 808D3F88 46062202 */ mul.s $f8, $f4, $f6 -/* 0191C 808D3F8C 8E0613E8 */ lw $a2, 0x13E8($s0) ## 000013E8 -/* 01920 808D3F90 AFA40024 */ sw $a0, 0x0024($sp) -/* 01924 808D3F94 44074000 */ mfc1 $a3, $f8 -/* 01928 808D3F98 0C01E107 */ jal Math_ApproachF - -/* 0192C 808D3F9C 00000000 */ nop -/* 01930 808D3FA0 C60A13C8 */ lwc1 $f10, 0x13C8($s0) ## 000013C8 -/* 01934 808D3FA4 C610140C */ lwc1 $f16, 0x140C($s0) ## 0000140C -/* 01938 808D3FA8 26041398 */ addiu $a0, $s0, 0x1398 ## $a0 = 00001398 -/* 0193C 808D3FAC 8E0513E0 */ lw $a1, 0x13E0($s0) ## 000013E0 -/* 01940 808D3FB0 46105482 */ mul.s $f18, $f10, $f16 -/* 01944 808D3FB4 8E0613EC */ lw $a2, 0x13EC($s0) ## 000013EC -/* 01948 808D3FB8 44079000 */ mfc1 $a3, $f18 -/* 0194C 808D3FBC 0C01E107 */ jal Math_ApproachF - -/* 01950 808D3FC0 00000000 */ nop -/* 01954 808D3FC4 C60413CC */ lwc1 $f4, 0x13CC($s0) ## 000013CC -/* 01958 808D3FC8 C606140C */ lwc1 $f6, 0x140C($s0) ## 0000140C -/* 0195C 808D3FCC 2604139C */ addiu $a0, $s0, 0x139C ## $a0 = 0000139C -/* 01960 808D3FD0 8E0513E4 */ lw $a1, 0x13E4($s0) ## 000013E4 -/* 01964 808D3FD4 46062202 */ mul.s $f8, $f4, $f6 -/* 01968 808D3FD8 8E0613F0 */ lw $a2, 0x13F0($s0) ## 000013F0 -/* 0196C 808D3FDC 44074000 */ mfc1 $a3, $f8 -/* 01970 808D3FE0 0C01E107 */ jal Math_ApproachF - -/* 01974 808D3FE4 00000000 */ nop -/* 01978 808D3FE8 C60A13D0 */ lwc1 $f10, 0x13D0($s0) ## 000013D0 -/* 0197C 808D3FEC C610140C */ lwc1 $f16, 0x140C($s0) ## 0000140C -/* 01980 808D3FF0 260413A0 */ addiu $a0, $s0, 0x13A0 ## $a0 = 000013A0 -/* 01984 808D3FF4 8E0513F4 */ lw $a1, 0x13F4($s0) ## 000013F4 -/* 01988 808D3FF8 46105482 */ mul.s $f18, $f10, $f16 -/* 0198C 808D3FFC 8E061400 */ lw $a2, 0x1400($s0) ## 00001400 -/* 01990 808D4000 AFA40020 */ sw $a0, 0x0020($sp) -/* 01994 808D4004 44079000 */ mfc1 $a3, $f18 -/* 01998 808D4008 0C01E107 */ jal Math_ApproachF - -/* 0199C 808D400C 00000000 */ nop -/* 019A0 808D4010 C60413D4 */ lwc1 $f4, 0x13D4($s0) ## 000013D4 -/* 019A4 808D4014 C606140C */ lwc1 $f6, 0x140C($s0) ## 0000140C -/* 019A8 808D4018 260413A4 */ addiu $a0, $s0, 0x13A4 ## $a0 = 000013A4 -/* 019AC 808D401C 8E0513F8 */ lw $a1, 0x13F8($s0) ## 000013F8 -/* 019B0 808D4020 46062202 */ mul.s $f8, $f4, $f6 -/* 019B4 808D4024 8E061404 */ lw $a2, 0x1404($s0) ## 00001404 -/* 019B8 808D4028 44074000 */ mfc1 $a3, $f8 -/* 019BC 808D402C 0C01E107 */ jal Math_ApproachF - -/* 019C0 808D4030 00000000 */ nop -/* 019C4 808D4034 C60A13D8 */ lwc1 $f10, 0x13D8($s0) ## 000013D8 -/* 019C8 808D4038 C610140C */ lwc1 $f16, 0x140C($s0) ## 0000140C -/* 019CC 808D403C 260413A8 */ addiu $a0, $s0, 0x13A8 ## $a0 = 000013A8 -/* 019D0 808D4040 8E0513FC */ lw $a1, 0x13FC($s0) ## 000013FC -/* 019D4 808D4044 46105482 */ mul.s $f18, $f10, $f16 -/* 019D8 808D4048 8E061408 */ lw $a2, 0x1408($s0) ## 00001408 -/* 019DC 808D404C 44079000 */ mfc1 $a3, $f18 -/* 019E0 808D4050 0C01E107 */ jal Math_ApproachF - -/* 019E4 808D4054 00000000 */ nop -/* 019E8 808D4058 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 019EC 808D405C 44810000 */ mtc1 $at, $f0 ## $f0 = 1.00 -/* 019F0 808D4060 2604140C */ addiu $a0, $s0, 0x140C ## $a0 = 0000140C -/* 019F4 808D4064 8E071410 */ lw $a3, 0x1410($s0) ## 00001410 -/* 019F8 808D4068 44050000 */ mfc1 $a1, $f0 -/* 019FC 808D406C 44060000 */ mfc1 $a2, $f0 -/* 01A00 808D4070 0C01E107 */ jal Math_ApproachF - -/* 01A04 808D4074 00000000 */ nop -/* 01A08 808D4078 C60413A4 */ lwc1 $f4, 0x13A4($s0) ## 000013A4 -/* 01A0C 808D407C C6061414 */ lwc1 $f6, 0x1414($s0) ## 00001414 -/* 01A10 808D4080 86051392 */ lh $a1, 0x1392($s0) ## 00001392 -/* 01A14 808D4084 46062200 */ add.s $f8, $f4, $f6 -/* 01A18 808D4088 E60813A4 */ swc1 $f8, 0x13A4($s0) ## 000013A4 -/* 01A1C 808D408C 8FA70024 */ lw $a3, 0x0024($sp) -/* 01A20 808D4090 8FA60020 */ lw $a2, 0x0020($sp) -/* 01A24 808D4094 0C030136 */ jal Gameplay_CameraSetAtEye -/* 01A28 808D4098 8FA4002C */ lw $a0, 0x002C($sp) -/* 01A2C 808D409C 3C073DCC */ lui $a3, 0x3DCC ## $a3 = 3DCC0000 -/* 01A30 808D40A0 34E7CCCD */ ori $a3, $a3, 0xCCCD ## $a3 = 3DCCCCCD -/* 01A34 808D40A4 26041414 */ addiu $a0, $s0, 0x1414 ## $a0 = 00001414 -/* 01A38 808D40A8 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000 -/* 01A3C 808D40AC 0C01E107 */ jal Math_ApproachF - -/* 01A40 808D40B0 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000 -/* 01A44 808D40B4 8FBF001C */ lw $ra, 0x001C($sp) -.L808D40B8: -/* 01A48 808D40B8 8FB00018 */ lw $s0, 0x0018($sp) -/* 01A4C 808D40BC 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000 -/* 01A50 808D40C0 03E00008 */ jr $ra -/* 01A54 808D40C4 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D40C8.s b/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D40C8.s deleted file mode 100644 index 6683ad4a6d..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D40C8.s +++ /dev/null @@ -1,478 +0,0 @@ -.late_rodata -glabel jtbl_808D648C -.word L808D4124 -.word L808D41FC -.word L808D43D4 -.word L808D4420 -.word L808D4594 -.word L808D4728 -glabel D_808D64A4 - .float 0.1 - -glabel D_808D64A8 - .float 0.02 - -glabel D_808D64AC - .float 3.14159274101 - -glabel D_808D64B0 - .float 0.2 - -glabel D_808D64B4 - .float 0.02 - -glabel D_808D64B8 - .float 0.02 - -.text -glabel func_808D40C8 -/* 01A58 808D40C8 27BDFF80 */ addiu $sp, $sp, 0xFF80 ## $sp = FFFFFF80 -/* 01A5C 808D40CC AFBF003C */ sw $ra, 0x003C($sp) -/* 01A60 808D40D0 AFB00038 */ sw $s0, 0x0038($sp) -/* 01A64 808D40D4 AFA50084 */ sw $a1, 0x0084($sp) -/* 01A68 808D40D8 8C8E0118 */ lw $t6, 0x0118($a0) ## 00000118 -/* 01A6C 808D40DC 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 01A70 808D40E0 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000 -/* 01A74 808D40E4 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000 -/* 01A78 808D40E8 0C030129 */ jal Gameplay_GetCamera -/* 01A7C 808D40EC AFAE0060 */ sw $t6, 0x0060($sp) -/* 01A80 808D40F0 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C -/* 01A84 808D40F4 AFA2005C */ sw $v0, 0x005C($sp) -/* 01A88 808D40F8 0C02927F */ jal SkelAnime_Update - -/* 01A8C 808D40FC AFA40044 */ sw $a0, 0x0044($sp) -/* 01A90 808D4100 960F1390 */ lhu $t7, 0x1390($s0) ## 00001390 -/* 01A94 808D4104 2DE10006 */ sltiu $at, $t7, 0x0006 -/* 01A98 808D4108 10200187 */ beq $at, $zero, .L808D4728 -/* 01A9C 808D410C 000F7880 */ sll $t7, $t7, 2 -/* 01AA0 808D4110 3C01808D */ lui $at, %hi(jtbl_808D648C) ## $at = 808D0000 -/* 01AA4 808D4114 002F0821 */ addu $at, $at, $t7 -/* 01AA8 808D4118 8C2F648C */ lw $t7, %lo(jtbl_808D648C)($at) -/* 01AAC 808D411C 01E00008 */ jr $t7 -/* 01AB0 808D4120 00000000 */ nop -glabel L808D4124 -/* 01AB4 808D4124 8FA40084 */ lw $a0, 0x0084($sp) -/* 01AB8 808D4128 24180001 */ addiu $t8, $zero, 0x0001 ## $t8 = 00000001 -/* 01ABC 808D412C A6181390 */ sh $t8, 0x1390($s0) ## 00001390 -/* 01AC0 808D4130 0C019148 */ jal func_80064520 -/* 01AC4 808D4134 24851D64 */ addiu $a1, $a0, 0x1D64 ## $a1 = 00001D64 -/* 01AC8 808D4138 8FA40084 */ lw $a0, 0x0084($sp) -/* 01ACC 808D413C 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000 -/* 01AD0 808D4140 0C00B7D5 */ jal func_8002DF54 -/* 01AD4 808D4144 24060001 */ addiu $a2, $zero, 0x0001 ## $a2 = 00000001 -/* 01AD8 808D4148 0C03008C */ jal Gameplay_CreateSubCamera -/* 01ADC 808D414C 8FA40084 */ lw $a0, 0x0084($sp) -/* 01AE0 808D4150 A6021392 */ sh $v0, 0x1392($s0) ## 00001392 -/* 01AE4 808D4154 8FA40084 */ lw $a0, 0x0084($sp) -/* 01AE8 808D4158 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000 -/* 01AEC 808D415C 0C0300C5 */ jal Gameplay_ChangeCameraStatus -/* 01AF0 808D4160 24060001 */ addiu $a2, $zero, 0x0001 ## $a2 = 00000001 -/* 01AF4 808D4164 8FA40084 */ lw $a0, 0x0084($sp) -/* 01AF8 808D4168 86051392 */ lh $a1, 0x1392($s0) ## 00001392 -/* 01AFC 808D416C 0C0300C5 */ jal Gameplay_ChangeCameraStatus -/* 01B00 808D4170 24060007 */ addiu $a2, $zero, 0x0007 ## $a2 = 00000007 -/* 01B04 808D4174 8FA3005C */ lw $v1, 0x005C($sp) -/* 01B08 808D4178 3C01808D */ lui $at, %hi(D_808D64A4) ## $at = 808D0000 -/* 01B0C 808D417C C42064A4 */ lwc1 $f0, %lo(D_808D64A4)($at) -/* 01B10 808D4180 8C68005C */ lw $t0, 0x005C($v1) ## 0000005C -/* 01B14 808D4184 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000 -/* 01B18 808D4188 44811000 */ mtc1 $at, $f2 ## $f2 = 100.00 -/* 01B1C 808D418C AE081394 */ sw $t0, 0x1394($s0) ## 00001394 -/* 01B20 808D4190 8C790060 */ lw $t9, 0x0060($v1) ## 00000060 -/* 01B24 808D4194 3C01808D */ lui $at, %hi(D_808D64A8) ## $at = 808D0000 -/* 01B28 808D4198 AE191398 */ sw $t9, 0x1398($s0) ## 00001398 -/* 01B2C 808D419C 8C680064 */ lw $t0, 0x0064($v1) ## 00000064 -/* 01B30 808D41A0 AE08139C */ sw $t0, 0x139C($s0) ## 0000139C -/* 01B34 808D41A4 8C6A0050 */ lw $t2, 0x0050($v1) ## 00000050 -/* 01B38 808D41A8 AE0A13A0 */ sw $t2, 0x13A0($s0) ## 000013A0 -/* 01B3C 808D41AC 8C690054 */ lw $t1, 0x0054($v1) ## 00000054 -/* 01B40 808D41B0 AE0913A4 */ sw $t1, 0x13A4($s0) ## 000013A4 -/* 01B44 808D41B4 8C6A0058 */ lw $t2, 0x0058($v1) ## 00000058 -/* 01B48 808D41B8 E60213C4 */ swc1 $f2, 0x13C4($s0) ## 000013C4 -/* 01B4C 808D41BC E60213C8 */ swc1 $f2, 0x13C8($s0) ## 000013C8 -/* 01B50 808D41C0 E60213CC */ swc1 $f2, 0x13CC($s0) ## 000013CC -/* 01B54 808D41C4 E60213D0 */ swc1 $f2, 0x13D0($s0) ## 000013D0 -/* 01B58 808D41C8 E60213D4 */ swc1 $f2, 0x13D4($s0) ## 000013D4 -/* 01B5C 808D41CC E60213D8 */ swc1 $f2, 0x13D8($s0) ## 000013D8 -/* 01B60 808D41D0 AE0A13A8 */ sw $t2, 0x13A8($s0) ## 000013A8 -/* 01B64 808D41D4 C42464A8 */ lwc1 $f4, %lo(D_808D64A8)($at) -/* 01B68 808D41D8 A60001BC */ sh $zero, 0x01BC($s0) ## 000001BC -/* 01B6C 808D41DC A60001A8 */ sh $zero, 0x01A8($s0) ## 000001A8 -/* 01B70 808D41E0 E60013E8 */ swc1 $f0, 0x13E8($s0) ## 000013E8 -/* 01B74 808D41E4 E60013EC */ swc1 $f0, 0x13EC($s0) ## 000013EC -/* 01B78 808D41E8 E60013F0 */ swc1 $f0, 0x13F0($s0) ## 000013F0 -/* 01B7C 808D41EC E6001400 */ swc1 $f0, 0x1400($s0) ## 00001400 -/* 01B80 808D41F0 E6001404 */ swc1 $f0, 0x1404($s0) ## 00001404 -/* 01B84 808D41F4 E6001408 */ swc1 $f0, 0x1408($s0) ## 00001408 -/* 01B88 808D41F8 E6041410 */ swc1 $f4, 0x1410($s0) ## 00001410 -glabel L808D41FC -/* 01B8C 808D41FC 860B01A8 */ lh $t3, 0x01A8($s0) ## 000001A8 -/* 01B90 808D4200 240D0014 */ addiu $t5, $zero, 0x0014 ## $t5 = 00000014 -/* 01B94 808D4204 256C0001 */ addiu $t4, $t3, 0x0001 ## $t4 = 00000001 -/* 01B98 808D4208 A60C01A8 */ sh $t4, 0x01A8($s0) ## 000001A8 -/* 01B9C 808D420C 860201A8 */ lh $v0, 0x01A8($s0) ## 000001A8 -/* 01BA0 808D4210 2841000F */ slti $at, $v0, 0x000F -/* 01BA4 808D4214 10200004 */ beq $at, $zero, .L808D4228 -/* 01BA8 808D4218 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 01BAC 808D421C 44810000 */ mtc1 $at, $f0 ## $f0 = 1.00 -/* 01BB0 808D4220 1000000B */ beq $zero, $zero, .L808D4250 -/* 01BB4 808D4224 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -.L808D4228: -/* 01BB8 808D4228 28410014 */ slti $at, $v0, 0x0014 -/* 01BBC 808D422C 10200004 */ beq $at, $zero, .L808D4240 -/* 01BC0 808D4230 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000 -/* 01BC4 808D4234 44810000 */ mtc1 $at, $f0 ## $f0 = 0.50 -/* 01BC8 808D4238 10000005 */ beq $zero, $zero, .L808D4250 -/* 01BCC 808D423C 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -.L808D4240: -/* 01BD0 808D4240 3C013E80 */ lui $at, 0x3E80 ## $at = 3E800000 -/* 01BD4 808D4244 44810000 */ mtc1 $at, $f0 ## $f0 = 0.25 -/* 01BD8 808D4248 00000000 */ nop -/* 01BDC 808D424C 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -.L808D4250: -/* 01BE0 808D4250 10410002 */ beq $v0, $at, .L808D425C -/* 01BE4 808D4254 24010028 */ addiu $at, $zero, 0x0028 ## $at = 00000028 -/* 01BE8 808D4258 1441000C */ bne $v0, $at, .L808D428C -.L808D425C: -/* 01BEC 808D425C 24010028 */ addiu $at, $zero, 0x0028 ## $at = 00000028 -/* 01BF0 808D4260 14410005 */ bne $v0, $at, .L808D4278 -/* 01BF4 808D4264 A60D01A4 */ sh $t5, 0x01A4($s0) ## 000001A4 -/* 01BF8 808D4268 240438D9 */ addiu $a0, $zero, 0x38D9 ## $a0 = 000038D9 -/* 01BFC 808D426C 0C03E341 */ jal func_800F8D04 -/* 01C00 808D4270 E7A0007C */ swc1 $f0, 0x007C($sp) -/* 01C04 808D4274 C7A0007C */ lwc1 $f0, 0x007C($sp) -.L808D4278: -/* 01C08 808D4278 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 01C0C 808D427C 240538D6 */ addiu $a1, $zero, 0x38D6 ## $a1 = 000038D6 -/* 01C10 808D4280 0C00BE0A */ jal Audio_PlayActorSound2 - -/* 01C14 808D4284 E7A0007C */ swc1 $f0, 0x007C($sp) -/* 01C18 808D4288 C7A0007C */ lwc1 $f0, 0x007C($sp) -.L808D428C: -/* 01C1C 808D428C 44050000 */ mfc1 $a1, $f0 -/* 01C20 808D4290 26040168 */ addiu $a0, $s0, 0x0168 ## $a0 = 00000168 -/* 01C24 808D4294 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000 -/* 01C28 808D4298 0C01E107 */ jal Math_ApproachF - -/* 01C2C 808D429C 3C073F80 */ lui $a3, 0x3F80 ## $a3 = 3F800000 -/* 01C30 808D42A0 860E008A */ lh $t6, 0x008A($s0) ## 0000008A -/* 01C34 808D42A4 3C014700 */ lui $at, 0x4700 ## $at = 47000000 -/* 01C38 808D42A8 44815000 */ mtc1 $at, $f10 ## $f10 = 32768.00 -/* 01C3C 808D42AC 448E3000 */ mtc1 $t6, $f6 ## $f6 = 0.00 -/* 01C40 808D42B0 3C01808D */ lui $at, %hi(D_808D64AC) ## $at = 808D0000 -/* 01C44 808D42B4 C43264AC */ lwc1 $f18, %lo(D_808D64AC)($at) -/* 01C48 808D42B8 46803220 */ cvt.s.w $f8, $f6 -/* 01C4C 808D42BC 3C01808D */ lui $at, %hi(D_808D64B0) ## $at = 808D0000 -/* 01C50 808D42C0 C42664B0 */ lwc1 $f6, %lo(D_808D64B0)($at) -/* 01C54 808D42C4 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000 -/* 01C58 808D42C8 460A4403 */ div.s $f16, $f8, $f10 -/* 01C5C 808D42CC 46128102 */ mul.s $f4, $f16, $f18 -/* 01C60 808D42D0 0C034348 */ jal Matrix_RotateY -/* 01C64 808D42D4 46062300 */ add.s $f12, $f4, $f6 -/* 01C68 808D42D8 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00 -/* 01C6C 808D42DC 3C01437A */ lui $at, 0x437A ## $at = 437A0000 -/* 01C70 808D42E0 44814000 */ mtc1 $at, $f8 ## $f8 = 250.00 -/* 01C74 808D42E4 27A40070 */ addiu $a0, $sp, 0x0070 ## $a0 = FFFFFFF0 -/* 01C78 808D42E8 27A50064 */ addiu $a1, $sp, 0x0064 ## $a1 = FFFFFFE4 -/* 01C7C 808D42EC E7A00070 */ swc1 $f0, 0x0070($sp) -/* 01C80 808D42F0 E7A00074 */ swc1 $f0, 0x0074($sp) -/* 01C84 808D42F4 0C0346BD */ jal Matrix_MultVec3f -/* 01C88 808D42F8 E7A80078 */ swc1 $f8, 0x0078($sp) -/* 01C8C 808D42FC C60A0024 */ lwc1 $f10, 0x0024($s0) ## 00000024 -/* 01C90 808D4300 C7B00064 */ lwc1 $f16, 0x0064($sp) -/* 01C94 808D4304 3C01430C */ lui $at, 0x430C ## $at = 430C0000 -/* 01C98 808D4308 44812000 */ mtc1 $at, $f4 ## $f4 = 140.00 -/* 01C9C 808D430C 46105480 */ add.s $f18, $f10, $f16 -/* 01CA0 808D4310 3C0142B4 */ lui $at, 0x42B4 ## $at = 42B40000 -/* 01CA4 808D4314 44818000 */ mtc1 $at, $f16 ## $f16 = 90.00 -/* 01CA8 808D4318 C600003C */ lwc1 $f0, 0x003C($s0) ## 0000003C -/* 01CAC 808D431C E61213DC */ swc1 $f18, 0x13DC($s0) ## 000013DC -/* 01CB0 808D4320 E60413E0 */ swc1 $f4, 0x13E0($s0) ## 000013E0 -/* 01CB4 808D4324 C7A8006C */ lwc1 $f8, 0x006C($sp) -/* 01CB8 808D4328 C606002C */ lwc1 $f6, 0x002C($s0) ## 0000002C -/* 01CBC 808D432C 4600803E */ c.le.s $f16, $f0 -/* 01CC0 808D4330 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000 -/* 01CC4 808D4334 46083280 */ add.s $f10, $f6, $f8 -/* 01CC8 808D4338 3C054170 */ lui $a1, 0x4170 ## $a1 = 41700000 -/* 01CCC 808D433C 45000006 */ bc1f .L808D4358 -/* 01CD0 808D4340 E60A13E4 */ swc1 $f10, 0x13E4($s0) ## 000013E4 -/* 01CD4 808D4344 C6120038 */ lwc1 $f18, 0x0038($s0) ## 00000038 -/* 01CD8 808D4348 C6040040 */ lwc1 $f4, 0x0040($s0) ## 00000040 -/* 01CDC 808D434C E60013F8 */ swc1 $f0, 0x13F8($s0) ## 000013F8 -/* 01CE0 808D4350 E61213F4 */ swc1 $f18, 0x13F4($s0) ## 000013F4 -/* 01CE4 808D4354 E60413FC */ swc1 $f4, 0x13FC($s0) ## 000013FC -.L808D4358: -/* 01CE8 808D4358 860F01BC */ lh $t7, 0x01BC($s0) ## 000001BC -/* 01CEC 808D435C 15E00013 */ bne $t7, $zero, .L808D43AC -/* 01CF0 808D4360 00000000 */ nop -/* 01CF4 808D4364 44811000 */ mtc1 $at, $f2 ## $f2 = 20.00 -/* 01CF8 808D4368 8FA40044 */ lw $a0, 0x0044($sp) -/* 01CFC 808D436C 44051000 */ mfc1 $a1, $f2 -/* 01D00 808D4370 0C0295B2 */ jal Animation_OnFrame -/* 01D04 808D4374 00000000 */ nop -/* 01D08 808D4378 10400003 */ beq $v0, $zero, .L808D4388 -/* 01D0C 808D437C 8FB90060 */ lw $t9, 0x0060($sp) -/* 01D10 808D4380 2418003C */ addiu $t8, $zero, 0x003C ## $t8 = 0000003C -/* 01D14 808D4384 A7380250 */ sh $t8, 0x0250($t9) ## 00000250 -.L808D4388: -/* 01D18 808D4388 860801A8 */ lh $t0, 0x01A8($s0) ## 000001A8 -/* 01D1C 808D438C 24090002 */ addiu $t1, $zero, 0x0002 ## $t1 = 00000002 -/* 01D20 808D4390 240A0032 */ addiu $t2, $zero, 0x0032 ## $t2 = 00000032 -/* 01D24 808D4394 29010064 */ slti $at, $t0, 0x0064 -/* 01D28 808D4398 542000E4 */ bnel $at, $zero, .L808D472C -/* 01D2C 808D439C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 01D30 808D43A0 A6091390 */ sh $t1, 0x1390($s0) ## 00001390 -/* 01D34 808D43A4 100000E0 */ beq $zero, $zero, .L808D4728 -/* 01D38 808D43A8 A60A01BC */ sh $t2, 0x01BC($s0) ## 000001BC -.L808D43AC: -/* 01D3C 808D43AC 0C0295B2 */ jal Animation_OnFrame -/* 01D40 808D43B0 8FA40044 */ lw $a0, 0x0044($sp) -/* 01D44 808D43B4 104000DC */ beq $v0, $zero, .L808D4728 -/* 01D48 808D43B8 8FA40044 */ lw $a0, 0x0044($sp) -/* 01D4C 808D43BC 3C050601 */ lui $a1, 0x0601 ## $a1 = 06010000 -/* 01D50 808D43C0 24A589DC */ addiu $a1, $a1, 0x89DC ## $a1 = 060089DC -/* 01D54 808D43C4 0C029490 */ jal Animation_MorphToPlayOnce -/* 01D58 808D43C8 3C06C120 */ lui $a2, 0xC120 ## $a2 = C1200000 -/* 01D5C 808D43CC 100000D7 */ beq $zero, $zero, .L808D472C -/* 01D60 808D43D0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -glabel L808D43D4 -/* 01D64 808D43D4 860B01BC */ lh $t3, 0x01BC($s0) ## 000001BC -/* 01D68 808D43D8 26040028 */ addiu $a0, $s0, 0x0028 ## $a0 = 00000028 -/* 01D6C 808D43DC 3C05C2C8 */ lui $a1, 0xC2C8 ## $a1 = C2C80000 -/* 01D70 808D43E0 1560000B */ bne $t3, $zero, .L808D4410 -/* 01D74 808D43E4 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000 -/* 01D78 808D43E8 240C0003 */ addiu $t4, $zero, 0x0003 ## $t4 = 00000003 -/* 01D7C 808D43EC AE000134 */ sw $zero, 0x0134($s0) ## 00000134 -/* 01D80 808D43F0 A60C1390 */ sh $t4, 0x1390($s0) ## 00001390 -/* 01D84 808D43F4 8FAE0060 */ lw $t6, 0x0060($sp) -/* 01D88 808D43F8 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00 -/* 01D8C 808D43FC 240D0002 */ addiu $t5, $zero, 0x0002 ## $t5 = 00000002 -/* 01D90 808D4400 A1CD02D8 */ sb $t5, 0x02D8($t6) ## 000002D8 -/* 01D94 808D4404 A6000198 */ sh $zero, 0x0198($s0) ## 00000198 -/* 01D98 808D4408 100000C7 */ beq $zero, $zero, .L808D4728 -/* 01D9C 808D440C E606140C */ swc1 $f6, 0x140C($s0) ## 0000140C -.L808D4410: -/* 01DA0 808D4410 0C01E107 */ jal Math_ApproachF - -/* 01DA4 808D4414 3C0740A0 */ lui $a3, 0x40A0 ## $a3 = 40A00000 -/* 01DA8 808D4418 100000C4 */ beq $zero, $zero, .L808D472C -/* 01DAC 808D441C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -glabel L808D4420 -/* 01DB0 808D4420 8FA20060 */ lw $v0, 0x0060($sp) -/* 01DB4 808D4424 3C0142A0 */ lui $at, 0x42A0 ## $at = 42A00000 -/* 01DB8 808D4428 44810000 */ mtc1 $at, $f0 ## $f0 = 80.00 -/* 01DBC 808D442C C4480028 */ lwc1 $f8, 0x0028($v0) ## 00000028 -/* 01DC0 808D4430 260413E0 */ addiu $a0, $s0, 0x13E0 ## $a0 = 000013E0 -/* 01DC4 808D4434 4600403C */ c.lt.s $f8, $f0 -/* 01DC8 808D4438 00000000 */ nop -/* 01DCC 808D443C 45020018 */ bc1fl .L808D44A0 -/* 01DD0 808D4440 8C490024 */ lw $t1, 0x0024($v0) ## 00000024 -/* 01DD4 808D4444 844F0030 */ lh $t7, 0x0030($v0) ## 00000030 -/* 01DD8 808D4448 29E13001 */ slti $at, $t7, 0x3001 -/* 01DDC 808D444C 54200038 */ bnel $at, $zero, .L808D4530 -/* 01DE0 808D4450 8FA20060 */ lw $v0, 0x0060($sp) -/* 01DE4 808D4454 8C590024 */ lw $t9, 0x0024($v0) ## 00000024 -/* 01DE8 808D4458 3C014316 */ lui $at, 0x4316 ## $at = 43160000 -/* 01DEC 808D445C 44818000 */ mtc1 $at, $f16 ## $f16 = 150.00 -/* 01DF0 808D4460 AE1913F4 */ sw $t9, 0x13F4($s0) ## 000013F4 -/* 01DF4 808D4464 8C580028 */ lw $t8, 0x0028($v0) ## 00000028 -/* 01DF8 808D4468 3C014396 */ lui $at, 0x4396 ## $at = 43960000 -/* 01DFC 808D446C 44812000 */ mtc1 $at, $f4 ## $f4 = 300.00 -/* 01E00 808D4470 AE1813F8 */ sw $t8, 0x13F8($s0) ## 000013F8 -/* 01E04 808D4474 8C59002C */ lw $t9, 0x002C($v0) ## 0000002C -/* 01E08 808D4478 E60013F8 */ swc1 $f0, 0x13F8($s0) ## 000013F8 -/* 01E0C 808D447C AE1913FC */ sw $t9, 0x13FC($s0) ## 000013FC -/* 01E10 808D4480 C44A0024 */ lwc1 $f10, 0x0024($v0) ## 00000024 -/* 01E14 808D4484 E61013E0 */ swc1 $f16, 0x13E0($s0) ## 000013E0 -/* 01E18 808D4488 E60A13DC */ swc1 $f10, 0x13DC($s0) ## 000013DC -/* 01E1C 808D448C C452002C */ lwc1 $f18, 0x002C($v0) ## 0000002C -/* 01E20 808D4490 46049180 */ add.s $f6, $f18, $f4 -/* 01E24 808D4494 10000025 */ beq $zero, $zero, .L808D452C -/* 01E28 808D4498 E60613E4 */ swc1 $f6, 0x13E4($s0) ## 000013E4 -/* 01E2C 808D449C 8C490024 */ lw $t1, 0x0024($v0) ## 00000024 -.L808D44A0: -/* 01E30 808D44A0 C6080024 */ lwc1 $f8, 0x0024($s0) ## 00000024 -/* 01E34 808D44A4 3C054348 */ lui $a1, 0x4348 ## $a1 = 43480000 -/* 01E38 808D44A8 AE0913F4 */ sw $t1, 0x13F4($s0) ## 000013F4 -/* 01E3C 808D44AC 8C480028 */ lw $t0, 0x0028($v0) ## 00000028 -/* 01E40 808D44B0 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000 -/* 01E44 808D44B4 3C074000 */ lui $a3, 0x4000 ## $a3 = 40000000 -/* 01E48 808D44B8 AE0813F8 */ sw $t0, 0x13F8($s0) ## 000013F8 -/* 01E4C 808D44BC 8C49002C */ lw $t1, 0x002C($v0) ## 0000002C -/* 01E50 808D44C0 E60813DC */ swc1 $f8, 0x13DC($s0) ## 000013DC -/* 01E54 808D44C4 0C01E107 */ jal Math_ApproachF - -/* 01E58 808D44C8 AE0913FC */ sw $t1, 0x13FC($s0) ## 000013FC -/* 01E5C 808D44CC 8FAA0060 */ lw $t2, 0x0060($sp) -/* 01E60 808D44D0 3C014348 */ lui $at, 0x4348 ## $at = 43480000 -/* 01E64 808D44D4 44818000 */ mtc1 $at, $f16 ## $f16 = 200.00 -/* 01E68 808D44D8 C54A002C */ lwc1 $f10, 0x002C($t2) ## 0000002C -/* 01E6C 808D44DC 260413E4 */ addiu $a0, $s0, 0x13E4 ## $a0 = 000013E4 -/* 01E70 808D44E0 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000 -/* 01E74 808D44E4 46105480 */ add.s $f18, $f10, $f16 -/* 01E78 808D44E8 3C074040 */ lui $a3, 0x4040 ## $a3 = 40400000 -/* 01E7C 808D44EC 44059000 */ mfc1 $a1, $f18 -/* 01E80 808D44F0 0C01E107 */ jal Math_ApproachF - -/* 01E84 808D44F4 00000000 */ nop -/* 01E88 808D44F8 86020198 */ lh $v0, 0x0198($s0) ## 00000198 -/* 01E8C 808D44FC 1440000B */ bne $v0, $zero, .L808D452C -/* 01E90 808D4500 244B0001 */ addiu $t3, $v0, 0x0001 ## $t3 = 00000001 -/* 01E94 808D4504 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00 -/* 01E98 808D4508 A60B0198 */ sh $t3, 0x0198($s0) ## 00000198 -/* 01E9C 808D450C 3C01808D */ lui $at, %hi(D_808D64B4) ## $at = 808D0000 -/* 01EA0 808D4510 E604140C */ swc1 $f4, 0x140C($s0) ## 0000140C -/* 01EA4 808D4514 C42664B4 */ lwc1 $f6, %lo(D_808D64B4)($at) -/* 01EA8 808D4518 24060001 */ addiu $a2, $zero, 0x0001 ## $a2 = 00000001 -/* 01EAC 808D451C E6061410 */ swc1 $f6, 0x1410($s0) ## 00001410 -/* 01EB0 808D4520 8FA50060 */ lw $a1, 0x0060($sp) -/* 01EB4 808D4524 0C00B7D5 */ jal func_8002DF54 -/* 01EB8 808D4528 8FA40084 */ lw $a0, 0x0084($sp) -.L808D452C: -/* 01EBC 808D452C 8FA20060 */ lw $v0, 0x0060($sp) -.L808D4530: -/* 01EC0 808D4530 240100CA */ addiu $at, $zero, 0x00CA ## $at = 000000CA -/* 01EC4 808D4534 844C0222 */ lh $t4, 0x0222($v0) ## 00000222 -/* 01EC8 808D4538 5581007C */ bnel $t4, $at, .L808D472C -/* 01ECC 808D453C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 01ED0 808D4540 844D0248 */ lh $t5, 0x0248($v0) ## 00000248 -/* 01ED4 808D4544 24010005 */ addiu $at, $zero, 0x0005 ## $at = 00000005 -/* 01ED8 808D4548 240E0004 */ addiu $t6, $zero, 0x0004 ## $t6 = 00000004 -/* 01EDC 808D454C 55A10077 */ bnel $t5, $at, .L808D472C -/* 01EE0 808D4550 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 01EE4 808D4554 44804000 */ mtc1 $zero, $f8 ## $f8 = 0.00 -/* 01EE8 808D4558 A60E1390 */ sh $t6, 0x1390($s0) ## 00001390 -/* 01EEC 808D455C 3C01808D */ lui $at, %hi(D_808D64B8) ## $at = 808D0000 -/* 01EF0 808D4560 E608140C */ swc1 $f8, 0x140C($s0) ## 0000140C -/* 01EF4 808D4564 C42A64B8 */ lwc1 $f10, %lo(D_808D64B8)($at) -/* 01EF8 808D4568 3C014316 */ lui $at, 0x4316 ## $at = 43160000 -/* 01EFC 808D456C 44818000 */ mtc1 $at, $f16 ## $f16 = 150.00 -/* 01F00 808D4570 3C014396 */ lui $at, 0x4396 ## $at = 43960000 -/* 01F04 808D4574 E60A1410 */ swc1 $f10, 0x1410($s0) ## 00001410 -/* 01F08 808D4578 E61013E0 */ swc1 $f16, 0x13E0($s0) ## 000013E0 -/* 01F0C 808D457C C452002C */ lwc1 $f18, 0x002C($v0) ## 0000002C -/* 01F10 808D4580 44812000 */ mtc1 $at, $f4 ## $f4 = 300.00 -/* 01F14 808D4584 00000000 */ nop -/* 01F18 808D4588 46049180 */ add.s $f6, $f18, $f4 -/* 01F1C 808D458C 10000066 */ beq $zero, $zero, .L808D4728 -/* 01F20 808D4590 E60613E4 */ swc1 $f6, 0x13E4($s0) ## 000013E4 -glabel L808D4594 -/* 01F24 808D4594 260413F8 */ addiu $a0, $s0, 0x13F8 ## $a0 = 000013F8 -/* 01F28 808D4598 3C0542C8 */ lui $a1, 0x42C8 ## $a1 = 42C80000 -/* 01F2C 808D459C 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000 -/* 01F30 808D45A0 0C01E107 */ jal Math_ApproachF - -/* 01F34 808D45A4 3C0742C8 */ lui $a3, 0x42C8 ## $a3 = 42C80000 -/* 01F38 808D45A8 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00 -/* 01F3C 808D45AC 3C01430C */ lui $at, 0x430C ## $at = 430C0000 -/* 01F40 808D45B0 44814000 */ mtc1 $at, $f8 ## $f8 = 140.00 -/* 01F44 808D45B4 3C073F93 */ lui $a3, 0x3F93 ## $a3 = 3F930000 -/* 01F48 808D45B8 34E73333 */ ori $a3, $a3, 0x3333 ## $a3 = 3F933333 -/* 01F4C 808D45BC 260413E4 */ addiu $a0, $s0, 0x13E4 ## $a0 = 000013E4 -/* 01F50 808D45C0 3C05435C */ lui $a1, 0x435C ## $a1 = 435C0000 -/* 01F54 808D45C4 3C063F00 */ lui $a2, 0x3F00 ## $a2 = 3F000000 -/* 01F58 808D45C8 E60013F4 */ swc1 $f0, 0x13F4($s0) ## 000013F4 -/* 01F5C 808D45CC E60013FC */ swc1 $f0, 0x13FC($s0) ## 000013FC -/* 01F60 808D45D0 E60013DC */ swc1 $f0, 0x13DC($s0) ## 000013DC -/* 01F64 808D45D4 0C01E107 */ jal Math_ApproachF - -/* 01F68 808D45D8 E60813E0 */ swc1 $f8, 0x13E0($s0) ## 000013E0 -/* 01F6C 808D45DC 8FA30060 */ lw $v1, 0x0060($sp) -/* 01F70 808D45E0 24080005 */ addiu $t0, $zero, 0x0005 ## $t0 = 00000005 -/* 01F74 808D45E4 84620242 */ lh $v0, 0x0242($v1) ## 00000242 -/* 01F78 808D45E8 10400016 */ beq $v0, $zero, .L808D4644 -/* 01F7C 808D45EC 244FFFFF */ addiu $t7, $v0, 0xFFFF ## $t7 = FFFFFFFF -/* 01F80 808D45F0 A46F0242 */ sh $t7, 0x0242($v1) ## 00000242 -/* 01F84 808D45F4 84620242 */ lh $v0, 0x0242($v1) ## 00000242 -/* 01F88 808D45F8 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000 -/* 01F8C 808D45FC 44811000 */ mtc1 $at, $f2 ## $f2 = 20.00 -/* 01F90 808D4600 44825000 */ mtc1 $v0, $f10 ## $f10 = 0.00 -/* 01F94 808D4604 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000 -/* 01F98 808D4608 44819000 */ mtc1 $at, $f18 ## $f18 = 0.50 -/* 01F9C 808D460C 46805420 */ cvt.s.w $f16, $f10 -/* 01FA0 808D4610 30580001 */ andi $t8, $v0, 0x0001 ## $t8 = 00000000 -/* 01FA4 808D4614 46128003 */ div.s $f0, $f16, $f18 -/* 01FA8 808D4618 4600103E */ c.le.s $f2, $f0 -/* 01FAC 808D461C 00000000 */ nop -/* 01FB0 808D4620 45000002 */ bc1f .L808D462C -/* 01FB4 808D4624 00000000 */ nop -/* 01FB8 808D4628 46001006 */ mov.s $f0, $f2 -.L808D462C: -/* 01FBC 808D462C 53000004 */ beql $t8, $zero, .L808D4640 -/* 01FC0 808D4630 46000107 */ neg.s $f4, $f0 -/* 01FC4 808D4634 10000003 */ beq $zero, $zero, .L808D4644 -/* 01FC8 808D4638 E6001414 */ swc1 $f0, 0x1414($s0) ## 00001414 -/* 01FCC 808D463C 46000107 */ neg.s $f4, $f0 -.L808D4640: -/* 01FD0 808D4640 E6041414 */ swc1 $f4, 0x1414($s0) ## 00001414 -.L808D4644: -/* 01FD4 808D4644 84790222 */ lh $t9, 0x0222($v1) ## 00000222 -/* 01FD8 808D4648 240100CD */ addiu $at, $zero, 0x00CD ## $at = 000000CD -/* 01FDC 808D464C 8FA3005C */ lw $v1, 0x005C($sp) -/* 01FE0 808D4650 17210035 */ bne $t9, $at, .L808D4728 -/* 01FE4 808D4654 26021394 */ addiu $v0, $s0, 0x1394 ## $v0 = 00001394 -/* 01FE8 808D4658 A6081390 */ sh $t0, 0x1390($s0) ## 00001390 -/* 01FEC 808D465C 8C4A0000 */ lw $t2, 0x0000($v0) ## 00001394 -/* 01FF0 808D4660 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000 -/* 01FF4 808D4664 AC6A005C */ sw $t2, 0x005C($v1) ## 0000005C -/* 01FF8 808D4668 8C490004 */ lw $t1, 0x0004($v0) ## 00001398 -/* 01FFC 808D466C AC690060 */ sw $t1, 0x0060($v1) ## 00000060 -/* 02000 808D4670 8C4A0008 */ lw $t2, 0x0008($v0) ## 0000139C -/* 02004 808D4674 AC6A0064 */ sw $t2, 0x0064($v1) ## 00000064 -/* 02008 808D4678 8C4C0000 */ lw $t4, 0x0000($v0) ## 00001394 -/* 0200C 808D467C AC6C0074 */ sw $t4, 0x0074($v1) ## 00000074 -/* 02010 808D4680 8C4B0004 */ lw $t3, 0x0004($v0) ## 00001398 -/* 02014 808D4684 AC6B0078 */ sw $t3, 0x0078($v1) ## 00000078 -/* 02018 808D4688 8C4C0008 */ lw $t4, 0x0008($v0) ## 0000139C -/* 0201C 808D468C AC6C007C */ sw $t4, 0x007C($v1) ## 0000007C -/* 02020 808D4690 8E0E13A0 */ lw $t6, 0x13A0($s0) ## 000013A0 -/* 02024 808D4694 AC6E0050 */ sw $t6, 0x0050($v1) ## 00000050 -/* 02028 808D4698 8E0D13A4 */ lw $t5, 0x13A4($s0) ## 000013A4 -/* 0202C 808D469C AC6D0054 */ sw $t5, 0x0054($v1) ## 00000054 -/* 02030 808D46A0 8E0E13A8 */ lw $t6, 0x13A8($s0) ## 000013A8 -/* 02034 808D46A4 AC6E0058 */ sw $t6, 0x0058($v1) ## 00000058 -/* 02038 808D46A8 86051392 */ lh $a1, 0x1392($s0) ## 00001392 -/* 0203C 808D46AC 0C03022B */ jal func_800C08AC -/* 02040 808D46B0 8FA40084 */ lw $a0, 0x0084($sp) -/* 02044 808D46B4 8FA40084 */ lw $a0, 0x0084($sp) -/* 02048 808D46B8 A6001392 */ sh $zero, 0x1392($s0) ## 00001392 -/* 0204C 808D46BC 0C01914D */ jal func_80064534 -/* 02050 808D46C0 24851D64 */ addiu $a1, $a0, 0x1D64 ## $a1 = 00001D64 -/* 02054 808D46C4 8FA40084 */ lw $a0, 0x0084($sp) -/* 02058 808D46C8 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000 -/* 0205C 808D46CC 0C00B7D5 */ jal func_8002DF54 -/* 02060 808D46D0 24060007 */ addiu $a2, $zero, 0x0007 ## $a2 = 00000007 -/* 02064 808D46D4 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00 -/* 02068 808D46D8 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000 -/* 0206C 808D46DC 8FA60084 */ lw $a2, 0x0084($sp) -/* 02070 808D46E0 44813000 */ mtc1 $at, $f6 ## $f6 = 100.00 -/* 02074 808D46E4 240FFFFF */ addiu $t7, $zero, 0xFFFF ## $t7 = FFFFFFFF -/* 02078 808D46E8 AFAF0028 */ sw $t7, 0x0028($sp) -/* 0207C 808D46EC 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000 -/* 02080 808D46F0 2407005D */ addiu $a3, $zero, 0x005D ## $a3 = 0000005D -/* 02084 808D46F4 AFA0001C */ sw $zero, 0x001C($sp) -/* 02088 808D46F8 AFA00020 */ sw $zero, 0x0020($sp) -/* 0208C 808D46FC AFA00024 */ sw $zero, 0x0024($sp) -/* 02090 808D4700 E7A00010 */ swc1 $f0, 0x0010($sp) -/* 02094 808D4704 E7A00018 */ swc1 $f0, 0x0018($sp) -/* 02098 808D4708 24C41C24 */ addiu $a0, $a2, 0x1C24 ## $a0 = 00001C24 -/* 0209C 808D470C 0C00C916 */ jal Actor_SpawnAsChild - -/* 020A0 808D4710 E7A60014 */ swc1 $f6, 0x0014($sp) -/* 020A4 808D4714 8FA40084 */ lw $a0, 0x0084($sp) -/* 020A8 808D4718 3C050001 */ lui $a1, 0x0001 ## $a1 = 00010000 -/* 020AC 808D471C 00A42821 */ addu $a1, $a1, $a0 -/* 020B0 808D4720 0C00B33C */ jal Flags_SetClear - -/* 020B4 808D4724 80A51CBC */ lb $a1, 0x1CBC($a1) ## 00011CBC -glabel L808D4728 -.L808D4728: -/* 020B8 808D4728 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -.L808D472C: -/* 020BC 808D472C 0C234FD6 */ jal func_808D3F58 -/* 020C0 808D4730 8FA50084 */ lw $a1, 0x0084($sp) -/* 020C4 808D4734 8FBF003C */ lw $ra, 0x003C($sp) -/* 020C8 808D4738 8FB00038 */ lw $s0, 0x0038($sp) -/* 020CC 808D473C 27BD0080 */ addiu $sp, $sp, 0x0080 ## $sp = 00000000 -/* 020D0 808D4740 03E00008 */ jr $ra -/* 020D4 808D4744 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D4748.s b/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D4748.s deleted file mode 100644 index 9727ea5fe2..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D4748.s +++ /dev/null @@ -1,20 +0,0 @@ -glabel func_808D4748 -/* 020D8 808D4748 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 020DC 808D474C AFBF0014 */ sw $ra, 0x0014($sp) -/* 020E0 808D4750 8C820118 */ lw $v0, 0x0118($a0) ## 00000118 -/* 020E4 808D4754 24010064 */ addiu $at, $zero, 0x0064 ## $at = 00000064 -/* 020E8 808D4758 904E02D8 */ lbu $t6, 0x02D8($v0) ## 000002D8 -/* 020EC 808D475C 55C10009 */ bnel $t6, $at, .L808D4784 -/* 020F0 808D4760 8FBF0014 */ lw $ra, 0x0014($sp) -/* 020F4 808D4764 A04002D8 */ sb $zero, 0x02D8($v0) ## 000002D8 -/* 020F8 808D4768 0C234AF4 */ jal func_808D2BD0 -/* 020FC 808D476C AFA40018 */ sw $a0, 0x0018($sp) -/* 02100 808D4770 8FA40018 */ lw $a0, 0x0018($sp) -/* 02104 808D4774 240F0014 */ addiu $t7, $zero, 0x0014 ## $t7 = 00000014 -/* 02108 808D4778 A48F01BC */ sh $t7, 0x01BC($a0) ## 000001BC -/* 0210C 808D477C A48001A8 */ sh $zero, 0x01A8($a0) ## 000001A8 -/* 02110 808D4780 8FBF0014 */ lw $ra, 0x0014($sp) -.L808D4784: -/* 02114 808D4784 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 02118 808D4788 03E00008 */ jr $ra -/* 0211C 808D478C 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D4790.s b/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D4790.s deleted file mode 100644 index 34ee0abe0d..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D4790.s +++ /dev/null @@ -1,365 +0,0 @@ -.rdata -glabel D_808D637C - .asciz "\x1b[32m" - .balign 4 - -glabel D_808D6384 - .asciz "damage %d\n" - .balign 4 - -glabel D_808D6394 - .asciz "\x1b[m" - .balign 4 - -glabel D_808D6398 - .asciz "hp %d\n" - .balign 4 - -.text -glabel func_808D4790 -/* 02120 808D4790 27BDFF58 */ addiu $sp, $sp, 0xFF58 ## $sp = FFFFFF58 -/* 02124 808D4794 AFBF003C */ sw $ra, 0x003C($sp) -/* 02128 808D4798 AFB50038 */ sw $s5, 0x0038($sp) -/* 0212C 808D479C AFB40034 */ sw $s4, 0x0034($sp) -/* 02130 808D47A0 AFB30030 */ sw $s3, 0x0030($sp) -/* 02134 808D47A4 AFB2002C */ sw $s2, 0x002C($sp) -/* 02138 808D47A8 AFB10028 */ sw $s1, 0x0028($sp) -/* 0213C 808D47AC AFB00024 */ sw $s0, 0x0024($sp) -/* 02140 808D47B0 F7B40018 */ sdc1 $f20, 0x0018($sp) -/* 02144 808D47B4 8C8E0118 */ lw $t6, 0x0118($a0) ## 00000118 -/* 02148 808D47B8 3C0F808D */ lui $t7, %hi(func_808D3A08) ## $t7 = 808D0000 -/* 0214C 808D47BC 25EF3A08 */ addiu $t7, $t7, %lo(func_808D3A08) ## $t7 = 808D3A08 -/* 02150 808D47C0 AFAE009C */ sw $t6, 0x009C($sp) -/* 02154 808D47C4 8C980190 */ lw $t8, 0x0190($a0) ## 00000190 -/* 02158 808D47C8 00809825 */ or $s3, $a0, $zero ## $s3 = 00000000 -/* 0215C 808D47CC 00A0A825 */ or $s5, $a1, $zero ## $s5 = 00000000 -/* 02160 808D47D0 15F80014 */ bne $t7, $t8, .L808D4824 -/* 02164 808D47D4 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000 -/* 02168 808D47D8 8CB11C44 */ lw $s1, 0x1C44($a1) ## 00001C44 -/* 0216C 808D47DC 2412FFFD */ addiu $s2, $zero, 0xFFFD ## $s2 = FFFFFFFD -/* 02170 808D47E0 8E791438 */ lw $t9, 0x1438($s3) ## 00001438 -.L808D47E4: -/* 02174 808D47E4 00104180 */ sll $t0, $s0, 6 -/* 02178 808D47E8 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 0217C 808D47EC 03281021 */ addu $v0, $t9, $t0 -/* 02180 808D47F0 90430015 */ lbu $v1, 0x0015($v0) ## 00000015 -/* 02184 808D47F4 2405083E */ addiu $a1, $zero, 0x083E ## $a1 = 0000083E -/* 02188 808D47F8 30690002 */ andi $t1, $v1, 0x0002 ## $t1 = 00000000 -/* 0218C 808D47FC 11200003 */ beq $t1, $zero, .L808D480C -/* 02190 808D4800 00725024 */ and $t2, $v1, $s2 -/* 02194 808D4804 0C00BE0A */ jal Audio_PlayActorSound2 - -/* 02198 808D4808 A04A0015 */ sb $t2, 0x0015($v0) ## 00000015 -.L808D480C: -/* 0219C 808D480C 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001 -/* 021A0 808D4810 00108400 */ sll $s0, $s0, 16 -/* 021A4 808D4814 00108403 */ sra $s0, $s0, 16 -/* 021A8 808D4818 2A010009 */ slti $at, $s0, 0x0009 -/* 021AC 808D481C 5420FFF1 */ bnel $at, $zero, .L808D47E4 -/* 021B0 808D4820 8E791438 */ lw $t9, 0x1438($s3) ## 00001438 -.L808D4824: -/* 021B4 808D4824 8FAB009C */ lw $t3, 0x009C($sp) -/* 021B8 808D4828 2412FFFD */ addiu $s2, $zero, 0xFFFD ## $s2 = FFFFFFFD -/* 021BC 808D482C 8E621438 */ lw $v0, 0x1438($s3) ## 00001438 -/* 021C0 808D4830 916C02D7 */ lbu $t4, 0x02D7($t3) ## 000002D7 -/* 021C4 808D4834 240D0002 */ addiu $t5, $zero, 0x0002 ## $t5 = 00000002 -/* 021C8 808D4838 24030003 */ addiu $v1, $zero, 0x0003 ## $v1 = 00000003 -/* 021CC 808D483C 15800004 */ bne $t4, $zero, .L808D4850 -/* 021D0 808D4840 240E0009 */ addiu $t6, $zero, 0x0009 ## $t6 = 00000009 -/* 021D4 808D4844 A04D0014 */ sb $t5, 0x0014($v0) ## 00000014 -/* 021D8 808D4848 10000003 */ beq $zero, $zero, .L808D4858 -/* 021DC 808D484C A26E1430 */ sb $t6, 0x1430($s3) ## 00001430 -.L808D4850: -/* 021E0 808D4850 A0430014 */ sb $v1, 0x0014($v0) ## 00000014 -/* 021E4 808D4854 A2631430 */ sb $v1, 0x1430($s3) ## 00001430 -.L808D4858: -/* 021E8 808D4858 8E621438 */ lw $v0, 0x1438($s3) ## 00001438 -/* 021EC 808D485C 90430016 */ lbu $v1, 0x0016($v0) ## 00000016 -/* 021F0 808D4860 306F0002 */ andi $t7, $v1, 0x0002 ## $t7 = 00000002 -/* 021F4 808D4864 11E000F6 */ beq $t7, $zero, .L808D4C40 -/* 021F8 808D4868 0072C024 */ and $t8, $v1, $s2 -/* 021FC 808D486C A0580016 */ sb $t8, 0x0016($v0) ## 00000016 -/* 02200 808D4870 8FA8009C */ lw $t0, 0x009C($sp) -/* 02204 808D4874 8E791438 */ lw $t9, 0x1438($s3) ## 00001438 -/* 02208 808D4878 00009025 */ or $s2, $zero, $zero ## $s2 = 00000000 -/* 0220C 808D487C 910902D7 */ lbu $t1, 0x02D7($t0) ## 000002D7 -/* 02210 808D4880 8F300024 */ lw $s0, 0x0024($t9) ## 00000024 -/* 02214 808D4884 15200061 */ bne $t1, $zero, .L808D4A0C -/* 02218 808D4888 00000000 */ nop -/* 0221C 808D488C 8E0A0000 */ lw $t2, 0x0000($s0) ## 00000001 -/* 02220 808D4890 3C014000 */ lui $at, 0x4000 ## $at = 40000000 -/* 02224 808D4894 34210040 */ ori $at, $at, 0x0040 ## $at = 40000040 -/* 02228 808D4898 01415824 */ and $t3, $t2, $at -/* 0222C 808D489C 116000E8 */ beq $t3, $zero, .L808D4C40 -/* 02230 808D48A0 24190001 */ addiu $t9, $zero, 0x0001 ## $t9 = 00000001 -/* 02234 808D48A4 910C00AF */ lbu $t4, 0x00AF($t0) ## 000000AF -/* 02238 808D48A8 24180001 */ addiu $t8, $zero, 0x0001 ## $t8 = 00000001 -/* 0223C 808D48AC 02602025 */ or $a0, $s3, $zero ## $a0 = 00000000 -/* 02240 808D48B0 258DFFFE */ addiu $t5, $t4, 0xFFFE ## $t5 = FFFFFFFE -/* 02244 808D48B4 A10D00AF */ sb $t5, 0x00AF($t0) ## 000000AF -/* 02248 808D48B8 8FAE009C */ lw $t6, 0x009C($sp) -/* 0224C 808D48BC 81CF00AF */ lb $t7, 0x00AF($t6) ## 000000B8 -/* 02250 808D48C0 29E10003 */ slti $at, $t7, 0x0003 -/* 02254 808D48C4 50200003 */ beql $at, $zero, .L808D48D4 -/* 02258 808D48C8 8FA9009C */ lw $t1, 0x009C($sp) -/* 0225C 808D48CC A1D800AF */ sb $t8, 0x00AF($t6) ## 000000B8 -/* 02260 808D48D0 8FA9009C */ lw $t1, 0x009C($sp) -.L808D48D4: -/* 02264 808D48D4 02A02825 */ or $a1, $s5, $zero ## $a1 = 00000000 -/* 02268 808D48D8 0C234EA0 */ jal func_808D3A80 -/* 0226C 808D48DC A13902D7 */ sb $t9, 0x02D7($t1) ## 000002D7 -/* 02270 808D48E0 240A001E */ addiu $t2, $zero, 0x001E ## $t2 = 0000001E -/* 02274 808D48E4 240B0005 */ addiu $t3, $zero, 0x0005 ## $t3 = 00000005 -/* 02278 808D48E8 A66A01AA */ sh $t2, 0x01AA($s3) ## 000001AA -/* 0227C 808D48EC A66B01A6 */ sh $t3, 0x01A6($s3) ## 000001A6 -/* 02280 808D48F0 02602025 */ or $a0, $s3, $zero ## $a0 = 00000000 -/* 02284 808D48F4 0C00BE0A */ jal Audio_PlayActorSound2 - -/* 02288 808D48F8 240538D2 */ addiu $a1, $zero, 0x38D2 ## $a1 = 000038D2 -/* 0228C 808D48FC 8FB4009C */ lw $s4, 0x009C($sp) -/* 02290 808D4900 3C014120 */ lui $at, 0x4120 ## $at = 41200000 -/* 02294 808D4904 4481A000 */ mtc1 $at, $f20 ## $f20 = 10.00 -/* 02298 808D4908 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000 -/* 0229C 808D490C 27B20080 */ addiu $s2, $sp, 0x0080 ## $s2 = FFFFFFD8 -/* 022A0 808D4910 27B1008C */ addiu $s1, $sp, 0x008C ## $s1 = FFFFFFE4 -/* 022A4 808D4914 26941970 */ addiu $s4, $s4, 0x1970 ## $s4 = 00001970 -.L808D4918: -/* 022A8 808D4918 3C0C808D */ lui $t4, %hi(D_808D61D0) ## $t4 = 808D0000 -/* 022AC 808D491C 258C61D0 */ addiu $t4, $t4, %lo(D_808D61D0) ## $t4 = 808D61D0 -/* 022B0 808D4920 8D880000 */ lw $t0, 0x0000($t4) ## 808D61D0 -/* 022B4 808D4924 3C0F808D */ lui $t7, %hi(D_808D61DC) ## $t7 = 808D0000 -/* 022B8 808D4928 25EF61DC */ addiu $t7, $t7, %lo(D_808D61DC) ## $t7 = 808D61DC -/* 022BC 808D492C AE280000 */ sw $t0, 0x0000($s1) ## FFFFFFE4 -/* 022C0 808D4930 8D8D0004 */ lw $t5, 0x0004($t4) ## 808D61D4 -/* 022C4 808D4934 4600A306 */ mov.s $f12, $f20 -/* 022C8 808D4938 AE2D0004 */ sw $t5, 0x0004($s1) ## FFFFFFE8 -/* 022CC 808D493C 8D880008 */ lw $t0, 0x0008($t4) ## 808D61D8 -/* 022D0 808D4940 AE280008 */ sw $t0, 0x0008($s1) ## FFFFFFEC -/* 022D4 808D4944 8DEE0000 */ lw $t6, 0x0000($t7) ## 808D61DC -/* 022D8 808D4948 AE4E0000 */ sw $t6, 0x0000($s2) ## FFFFFFD8 -/* 022DC 808D494C 8DF80004 */ lw $t8, 0x0004($t7) ## 808D61E0 -/* 022E0 808D4950 AE580004 */ sw $t8, 0x0004($s2) ## FFFFFFDC -/* 022E4 808D4954 8DEE0008 */ lw $t6, 0x0008($t7) ## 808D61E4 -/* 022E8 808D4958 0C00CFC8 */ jal Rand_CenteredFloat - -/* 022EC 808D495C AE4E0008 */ sw $t6, 0x0008($s2) ## FFFFFFE0 -/* 022F0 808D4960 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000 -/* 022F4 808D4964 44816000 */ mtc1 $at, $f12 ## $f12 = 5.00 -/* 022F8 808D4968 0C00CFBE */ jal Rand_ZeroFloat - -/* 022FC 808D496C E7A0008C */ swc1 $f0, 0x008C($sp) -/* 02300 808D4970 3C014100 */ lui $at, 0x4100 ## $at = 41000000 -/* 02304 808D4974 44812000 */ mtc1 $at, $f4 ## $f4 = 8.00 -/* 02308 808D4978 4600A306 */ mov.s $f12, $f20 -/* 0230C 808D497C 46040180 */ add.s $f6, $f0, $f4 -/* 02310 808D4980 0C00CFC8 */ jal Rand_CenteredFloat - -/* 02314 808D4984 E7A60090 */ swc1 $f6, 0x0090($sp) -/* 02318 808D4988 E7A00094 */ swc1 $f0, 0x0094($sp) -/* 0231C 808D498C C6680038 */ lwc1 $f8, 0x0038($s3) ## 00000038 -/* 02320 808D4990 3C014120 */ lui $at, 0x4120 ## $at = 41200000 -/* 02324 808D4994 44816000 */ mtc1 $at, $f12 ## $f12 = 10.00 -/* 02328 808D4998 E7A80074 */ swc1 $f8, 0x0074($sp) -/* 0232C 808D499C C66A003C */ lwc1 $f10, 0x003C($s3) ## 0000003C -/* 02330 808D49A0 E7AA0078 */ swc1 $f10, 0x0078($sp) -/* 02334 808D49A4 C6700040 */ lwc1 $f16, 0x0040($s3) ## 00000040 -/* 02338 808D49A8 0C00CFBE */ jal Rand_ZeroFloat - -/* 0233C 808D49AC E7B0007C */ swc1 $f16, 0x007C($sp) -/* 02340 808D49B0 4600048D */ trunc.w.s $f18, $f0 -/* 02344 808D49B4 02A02025 */ or $a0, $s5, $zero ## $a0 = 00000000 -/* 02348 808D49B8 02802825 */ or $a1, $s4, $zero ## $a1 = 00001970 -/* 0234C 808D49BC 27A60074 */ addiu $a2, $sp, 0x0074 ## $a2 = FFFFFFCC -/* 02350 808D49C0 44099000 */ mfc1 $t1, $f18 -/* 02354 808D49C4 02203825 */ or $a3, $s1, $zero ## $a3 = FFFFFFE4 -/* 02358 808D49C8 AFB20010 */ sw $s2, 0x0010($sp) -/* 0235C 808D49CC 00095400 */ sll $t2, $t1, 16 -/* 02360 808D49D0 000A5C03 */ sra $t3, $t2, 16 -/* 02364 808D49D4 256C000A */ addiu $t4, $t3, 0x000A ## $t4 = 0000000A -/* 02368 808D49D8 448C2000 */ mtc1 $t4, $f4 ## $f4 = 0.00 -/* 0236C 808D49DC 00000000 */ nop -/* 02370 808D49E0 468021A0 */ cvt.s.w $f6, $f4 -/* 02374 808D49E4 0C23499C */ jal func_808D2670 -/* 02378 808D49E8 E7A60014 */ swc1 $f6, 0x0014($sp) -/* 0237C 808D49EC 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001 -/* 02380 808D49F0 00108400 */ sll $s0, $s0, 16 -/* 02384 808D49F4 00108403 */ sra $s0, $s0, 16 -/* 02388 808D49F8 2A01001E */ slti $at, $s0, 0x001E -/* 0238C 808D49FC 1420FFC6 */ bne $at, $zero, .L808D4918 -/* 02390 808D4A00 00000000 */ nop -/* 02394 808D4A04 1000008F */ beq $zero, $zero, .L808D4C44 -/* 02398 808D4A08 8FBF003C */ lw $ra, 0x003C($sp) -.L808D4A0C: -/* 0239C 808D4A0C 0C018D74 */ jal CollisionCheck_GetSwordDamage -/* 023A0 808D4A10 8E040000 */ lw $a0, 0x0000($s0) ## 00000001 -/* 023A4 808D4A14 14400009 */ bne $v0, $zero, .L808D4A3C -/* 023A8 808D4A18 305100FF */ andi $s1, $v0, 0x00FF ## $s1 = 00000000 -/* 023AC 808D4A1C 8E020000 */ lw $v0, 0x0000($s0) ## 00000001 -/* 023B0 808D4A20 304D1000 */ andi $t5, $v0, 0x1000 ## $t5 = 00000000 -/* 023B4 808D4A24 11A00003 */ beq $t5, $zero, .L808D4A34 -/* 023B8 808D4A28 00000000 */ nop -/* 023BC 808D4A2C 10000005 */ beq $zero, $zero, .L808D4A44 -/* 023C0 808D4A30 24110004 */ addiu $s1, $zero, 0x0004 ## $s1 = 00000004 -.L808D4A34: -/* 023C4 808D4A34 10000003 */ beq $zero, $zero, .L808D4A44 -/* 023C8 808D4A38 24110002 */ addiu $s1, $zero, 0x0002 ## $s1 = 00000002 -.L808D4A3C: -/* 023CC 808D4A3C 24120001 */ addiu $s2, $zero, 0x0001 ## $s2 = 00000001 -/* 023D0 808D4A40 8E020000 */ lw $v0, 0x0000($s0) ## 00000001 -.L808D4A44: -/* 023D4 808D4A44 30480080 */ andi $t0, $v0, 0x0080 ## $t0 = 00000000 -/* 023D8 808D4A48 11000002 */ beq $t0, $zero, .L808D4A54 -/* 023DC 808D4A4C 8FAF009C */ lw $t7, 0x009C($sp) -/* 023E0 808D4A50 00008825 */ or $s1, $zero, $zero ## $s1 = 00000000 -.L808D4A54: -/* 023E4 808D4A54 91E200AF */ lbu $v0, 0x00AF($t7) ## 000000AF -/* 023E8 808D4A58 02208025 */ or $s0, $s1, $zero ## $s0 = 00000000 -/* 023EC 808D4A5C 8FA9009C */ lw $t1, 0x009C($sp) -/* 023F0 808D4A60 0002C600 */ sll $t8, $v0, 24 -/* 023F4 808D4A64 00187603 */ sra $t6, $t8, 24 -/* 023F8 808D4A68 29C10003 */ slti $at, $t6, 0x0003 -/* 023FC 808D4A6C 10200002 */ beq $at, $zero, .L808D4A78 -/* 02400 808D4A70 0051C823 */ subu $t9, $v0, $s1 -/* 02404 808D4A74 12400008 */ beq $s2, $zero, .L808D4A98 -.L808D4A78: -/* 02408 808D4A78 3C04808D */ lui $a0, %hi(D_808D637C) ## $a0 = 808D0000 -/* 0240C 808D4A7C A13900AF */ sb $t9, 0x00AF($t1) ## 000000AF -/* 02410 808D4A80 0C00084C */ jal osSyncPrintf - -/* 02414 808D4A84 2484637C */ addiu $a0, $a0, %lo(D_808D637C) ## $a0 = 808D637C -/* 02418 808D4A88 3C04808D */ lui $a0, %hi(D_808D6384) ## $a0 = 808D0000 -/* 0241C 808D4A8C 24846384 */ addiu $a0, $a0, %lo(D_808D6384) ## $a0 = 808D6384 -/* 02420 808D4A90 0C00084C */ jal osSyncPrintf - -/* 02424 808D4A94 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000 -.L808D4A98: -/* 02428 808D4A98 3C04808D */ lui $a0, %hi(D_808D6394) ## $a0 = 808D0000 -/* 0242C 808D4A9C 0C00084C */ jal osSyncPrintf - -/* 02430 808D4AA0 24846394 */ addiu $a0, $a0, %lo(D_808D6394) ## $a0 = 808D6394 -/* 02434 808D4AA4 8FAA009C */ lw $t2, 0x009C($sp) -/* 02438 808D4AA8 3C04808D */ lui $a0, %hi(D_808D6398) ## $a0 = 808D0000 -/* 0243C 808D4AAC 24846398 */ addiu $a0, $a0, %lo(D_808D6398) ## $a0 = 808D6398 -/* 02440 808D4AB0 0C00084C */ jal osSyncPrintf - -/* 02444 808D4AB4 914500AF */ lbu $a1, 0x00AF($t2) ## 000000AF -/* 02448 808D4AB8 8FAB009C */ lw $t3, 0x009C($sp) -/* 0244C 808D4ABC 02602025 */ or $a0, $s3, $zero ## $a0 = 00000000 -/* 02450 808D4AC0 02A02825 */ or $a1, $s5, $zero ## $a1 = 00000000 -/* 02454 808D4AC4 816C00AF */ lb $t4, 0x00AF($t3) ## 000000AF -/* 02458 808D4AC8 1D800012 */ bgtz $t4, .L808D4B14 -/* 0245C 808D4ACC 00000000 */ nop -/* 02460 808D4AD0 0C234FB2 */ jal func_808D3EC8 -/* 02464 808D4AD4 A16000AF */ sb $zero, 0x00AF($t3) ## 000000AF -/* 02468 808D4AD8 240D000A */ addiu $t5, $zero, 0x000A ## $t5 = 0000000A -/* 0246C 808D4ADC 24087530 */ addiu $t0, $zero, 0x7530 ## $t0 = 00007530 -/* 02470 808D4AE0 3C041001 */ lui $a0, 0x1001 ## $a0 = 10010000 -/* 02474 808D4AE4 A66D01A6 */ sh $t5, 0x01A6($s3) ## 000001A6 -/* 02478 808D4AE8 A66801AA */ sh $t0, 0x01AA($s3) ## 000001AA -/* 0247C 808D4AEC 0C03E803 */ jal Audio_SetBGM - -/* 02480 808D4AF0 348400FF */ ori $a0, $a0, 0x00FF ## $a0 = 100100FF -/* 02484 808D4AF4 02602025 */ or $a0, $s3, $zero ## $a0 = 00000000 -/* 02488 808D4AF8 0C00BE0A */ jal Audio_PlayActorSound2 - -/* 0248C 808D4AFC 240538D9 */ addiu $a1, $zero, 0x38D9 ## $a1 = 000038D9 -/* 02490 808D4B00 02A02025 */ or $a0, $s5, $zero ## $a0 = 00000000 -/* 02494 808D4B04 0C00CB1F */ jal func_80032C7C -/* 02498 808D4B08 02602825 */ or $a1, $s3, $zero ## $a1 = 00000000 -/* 0249C 808D4B0C 1000000C */ beq $zero, $zero, .L808D4B40 -/* 024A0 808D4B10 00000000 */ nop -.L808D4B14: -/* 024A4 808D4B14 1220000A */ beq $s1, $zero, .L808D4B40 -/* 024A8 808D4B18 02602025 */ or $a0, $s3, $zero ## $a0 = 00000000 -/* 024AC 808D4B1C 0C234F4E */ jal func_808D3D38 -/* 024B0 808D4B20 02A02825 */ or $a1, $s5, $zero ## $a1 = 00000000 -/* 024B4 808D4B24 240F000A */ addiu $t7, $zero, 0x000A ## $t7 = 0000000A -/* 024B8 808D4B28 24180064 */ addiu $t8, $zero, 0x0064 ## $t8 = 00000064 -/* 024BC 808D4B2C A66F01A6 */ sh $t7, 0x01A6($s3) ## 000001A6 -/* 024C0 808D4B30 A67801AA */ sh $t8, 0x01AA($s3) ## 000001AA -/* 024C4 808D4B34 02602025 */ or $a0, $s3, $zero ## $a0 = 00000000 -/* 024C8 808D4B38 0C00BE0A */ jal Audio_PlayActorSound2 - -/* 024CC 808D4B3C 240538D5 */ addiu $a1, $zero, 0x38D5 ## $a1 = 000038D5 -.L808D4B40: -/* 024D0 808D4B40 1220003F */ beq $s1, $zero, .L808D4C40 -/* 024D4 808D4B44 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000 -/* 024D8 808D4B48 8FB4009C */ lw $s4, 0x009C($sp) -/* 024DC 808D4B4C 3C0140C0 */ lui $at, 0x40C0 ## $at = 40C00000 -/* 024E0 808D4B50 4481A000 */ mtc1 $at, $f20 ## $f20 = 6.00 -/* 024E4 808D4B54 27B20058 */ addiu $s2, $sp, 0x0058 ## $s2 = FFFFFFB0 -/* 024E8 808D4B58 27B10064 */ addiu $s1, $sp, 0x0064 ## $s1 = FFFFFFBC -/* 024EC 808D4B5C 26941970 */ addiu $s4, $s4, 0x1970 ## $s4 = 000032E0 -.L808D4B60: -/* 024F0 808D4B60 3C0E808D */ lui $t6, %hi(D_808D61E8) ## $t6 = 808D0000 -/* 024F4 808D4B64 25CE61E8 */ addiu $t6, $t6, %lo(D_808D61E8) ## $t6 = 808D61E8 -/* 024F8 808D4B68 8DC90000 */ lw $t1, 0x0000($t6) ## 808D61E8 -/* 024FC 808D4B6C 3C0A808D */ lui $t2, %hi(D_808D61F4) ## $t2 = 808D0000 -/* 02500 808D4B70 254A61F4 */ addiu $t2, $t2, %lo(D_808D61F4) ## $t2 = 808D61F4 -/* 02504 808D4B74 AE290000 */ sw $t1, 0x0000($s1) ## FFFFFFBC -/* 02508 808D4B78 8DD90004 */ lw $t9, 0x0004($t6) ## 808D61EC -/* 0250C 808D4B7C 4600A306 */ mov.s $f12, $f20 -/* 02510 808D4B80 AE390004 */ sw $t9, 0x0004($s1) ## FFFFFFC0 -/* 02514 808D4B84 8DC90008 */ lw $t1, 0x0008($t6) ## 808D61F0 -/* 02518 808D4B88 AE290008 */ sw $t1, 0x0008($s1) ## FFFFFFC4 -/* 0251C 808D4B8C 8D4B0000 */ lw $t3, 0x0000($t2) ## 808D61F4 -/* 02520 808D4B90 AE4B0000 */ sw $t3, 0x0000($s2) ## FFFFFFB0 -/* 02524 808D4B94 8D4C0004 */ lw $t4, 0x0004($t2) ## 808D61F8 -/* 02528 808D4B98 AE4C0004 */ sw $t4, 0x0004($s2) ## FFFFFFB4 -/* 0252C 808D4B9C 8D4B0008 */ lw $t3, 0x0008($t2) ## 808D61FC -/* 02530 808D4BA0 0C00CFC8 */ jal Rand_CenteredFloat - -/* 02534 808D4BA4 AE4B0008 */ sw $t3, 0x0008($s2) ## FFFFFFB8 -/* 02538 808D4BA8 3C014080 */ lui $at, 0x4080 ## $at = 40800000 -/* 0253C 808D4BAC 44816000 */ mtc1 $at, $f12 ## $f12 = 4.00 -/* 02540 808D4BB0 0C00CFBE */ jal Rand_ZeroFloat - -/* 02544 808D4BB4 E7A00064 */ swc1 $f0, 0x0064($sp) -/* 02548 808D4BB8 46140200 */ add.s $f8, $f0, $f20 -/* 0254C 808D4BBC 4600A306 */ mov.s $f12, $f20 -/* 02550 808D4BC0 0C00CFC8 */ jal Rand_CenteredFloat - -/* 02554 808D4BC4 E7A80068 */ swc1 $f8, 0x0068($sp) -/* 02558 808D4BC8 E7A0006C */ swc1 $f0, 0x006C($sp) -/* 0255C 808D4BCC C66A0038 */ lwc1 $f10, 0x0038($s3) ## 00000038 -/* 02560 808D4BD0 4600A306 */ mov.s $f12, $f20 -/* 02564 808D4BD4 E7AA004C */ swc1 $f10, 0x004C($sp) -/* 02568 808D4BD8 C670003C */ lwc1 $f16, 0x003C($s3) ## 0000003C -/* 0256C 808D4BDC E7B00050 */ swc1 $f16, 0x0050($sp) -/* 02570 808D4BE0 C6720040 */ lwc1 $f18, 0x0040($s3) ## 00000040 -/* 02574 808D4BE4 0C00CFBE */ jal Rand_ZeroFloat - -/* 02578 808D4BE8 E7B20054 */ swc1 $f18, 0x0054($sp) -/* 0257C 808D4BEC 4600010D */ trunc.w.s $f4, $f0 -/* 02580 808D4BF0 02A02025 */ or $a0, $s5, $zero ## $a0 = 00000000 -/* 02584 808D4BF4 02802825 */ or $a1, $s4, $zero ## $a1 = 000032E0 -/* 02588 808D4BF8 27A6004C */ addiu $a2, $sp, 0x004C ## $a2 = FFFFFFA4 -/* 0258C 808D4BFC 44082000 */ mfc1 $t0, $f4 -/* 02590 808D4C00 02203825 */ or $a3, $s1, $zero ## $a3 = FFFFFFBC -/* 02594 808D4C04 AFB20010 */ sw $s2, 0x0010($sp) -/* 02598 808D4C08 00087C00 */ sll $t7, $t0, 16 -/* 0259C 808D4C0C 000FC403 */ sra $t8, $t7, 16 -/* 025A0 808D4C10 270E000A */ addiu $t6, $t8, 0x000A ## $t6 = 0000000A -/* 025A4 808D4C14 448E3000 */ mtc1 $t6, $f6 ## $f6 = 0.00 -/* 025A8 808D4C18 00000000 */ nop -/* 025AC 808D4C1C 46803220 */ cvt.s.w $f8, $f6 -/* 025B0 808D4C20 0C234A4C */ jal func_808D2930 -/* 025B4 808D4C24 E7A80014 */ swc1 $f8, 0x0014($sp) -/* 025B8 808D4C28 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001 -/* 025BC 808D4C2C 00108400 */ sll $s0, $s0, 16 -/* 025C0 808D4C30 00108403 */ sra $s0, $s0, 16 -/* 025C4 808D4C34 2A01001E */ slti $at, $s0, 0x001E -/* 025C8 808D4C38 1420FFC9 */ bne $at, $zero, .L808D4B60 -/* 025CC 808D4C3C 00000000 */ nop -.L808D4C40: -/* 025D0 808D4C40 8FBF003C */ lw $ra, 0x003C($sp) -.L808D4C44: -/* 025D4 808D4C44 D7B40018 */ ldc1 $f20, 0x0018($sp) -/* 025D8 808D4C48 8FB00024 */ lw $s0, 0x0024($sp) -/* 025DC 808D4C4C 8FB10028 */ lw $s1, 0x0028($sp) -/* 025E0 808D4C50 8FB2002C */ lw $s2, 0x002C($sp) -/* 025E4 808D4C54 8FB30030 */ lw $s3, 0x0030($sp) -/* 025E8 808D4C58 8FB40034 */ lw $s4, 0x0034($sp) -/* 025EC 808D4C5C 8FB50038 */ lw $s5, 0x0038($sp) -/* 025F0 808D4C60 03E00008 */ jr $ra -/* 025F4 808D4C64 27BD00A8 */ addiu $sp, $sp, 0x00A8 ## $sp = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D4C68.s b/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D4C68.s deleted file mode 100644 index 7b382f5168..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D4C68.s +++ /dev/null @@ -1,116 +0,0 @@ -.late_rodata -glabel D_808D64BC - .float 0.3 - -glabel D_808D64C0 - .float 6000.0 - -glabel D_808D64C4 - .float 1300.0 - -.text -glabel func_808D4C68 -/* 025F8 808D4C68 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8 -/* 025FC 808D4C6C 3C0F808D */ lui $t7, %hi(D_808D6200) ## $t7 = 808D0000 -/* 02600 808D4C70 AFBF001C */ sw $ra, 0x001C($sp) -/* 02604 808D4C74 AFB00018 */ sw $s0, 0x0018($sp) -/* 02608 808D4C78 AFA5003C */ sw $a1, 0x003C($sp) -/* 0260C 808D4C7C 25EF6200 */ addiu $t7, $t7, %lo(D_808D6200) ## $t7 = 808D6200 -/* 02610 808D4C80 8DF90000 */ lw $t9, 0x0000($t7) ## 808D6200 -/* 02614 808D4C84 27AE0024 */ addiu $t6, $sp, 0x0024 ## $t6 = FFFFFFEC -/* 02618 808D4C88 8DF80004 */ lw $t8, 0x0004($t7) ## 808D6204 -/* 0261C 808D4C8C ADD90000 */ sw $t9, 0x0000($t6) ## FFFFFFEC -/* 02620 808D4C90 95F90008 */ lhu $t9, 0x0008($t7) ## 808D6208 -/* 02624 808D4C94 ADD80004 */ sw $t8, 0x0004($t6) ## FFFFFFF0 -/* 02628 808D4C98 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 0262C 808D4C9C A5D90008 */ sh $t9, 0x0008($t6) ## FFFFFFF4 -/* 02630 808D4CA0 8488019C */ lh $t0, 0x019C($a0) ## 0000019C -/* 02634 808D4CA4 31090007 */ andi $t1, $t0, 0x0007 ## $t1 = 00000000 -/* 02638 808D4CA8 5520000C */ bnel $t1, $zero, .L808D4CDC -/* 0263C 808D4CAC 8E020190 */ lw $v0, 0x0190($s0) ## 00000190 -/* 02640 808D4CB0 0C03F66B */ jal Rand_ZeroOne - ## Rand.Next() float -/* 02644 808D4CB4 00000000 */ nop -/* 02648 808D4CB8 3C01808D */ lui $at, %hi(D_808D64BC) ## $at = 808D0000 -/* 0264C 808D4CBC C42464BC */ lwc1 $f4, %lo(D_808D64BC)($at) -/* 02650 808D4CC0 240A0004 */ addiu $t2, $zero, 0x0004 ## $t2 = 00000004 -/* 02654 808D4CC4 4604003C */ c.lt.s $f0, $f4 -/* 02658 808D4CC8 00000000 */ nop -/* 0265C 808D4CCC 45020003 */ bc1fl .L808D4CDC -/* 02660 808D4CD0 8E020190 */ lw $v0, 0x0190($s0) ## 00000190 -/* 02664 808D4CD4 A60A01A2 */ sh $t2, 0x01A2($s0) ## 000001A2 -/* 02668 808D4CD8 8E020190 */ lw $v0, 0x0190($s0) ## 00000190 -.L808D4CDC: -/* 0266C 808D4CDC 3C0B808D */ lui $t3, %hi(func_808D3AE0) ## $t3 = 808D0000 -/* 02670 808D4CE0 256B3AE0 */ addiu $t3, $t3, %lo(func_808D3AE0) ## $t3 = 808D3AE0 -/* 02674 808D4CE4 11620005 */ beq $t3, $v0, .L808D4CFC -/* 02678 808D4CE8 2604138C */ addiu $a0, $s0, 0x138C ## $a0 = 0000138C -/* 0267C 808D4CEC 3C0C808D */ lui $t4, %hi(func_808D3D98) ## $t4 = 808D0000 -/* 02680 808D4CF0 258C3D98 */ addiu $t4, $t4, %lo(func_808D3D98) ## $t4 = 808D3D98 -/* 02684 808D4CF4 5582000D */ bnel $t4, $v0, .L808D4D2C -/* 02688 808D4CF8 860201A2 */ lh $v0, 0x01A2($s0) ## 000001A2 -.L808D4CFC: -/* 0268C 808D4CFC 860D019C */ lh $t5, 0x019C($s0) ## 0000019C -/* 02690 808D4D00 240F0001 */ addiu $t7, $zero, 0x0001 ## $t7 = 00000001 -/* 02694 808D4D04 24180002 */ addiu $t8, $zero, 0x0002 ## $t8 = 00000002 -/* 02698 808D4D08 31AE0010 */ andi $t6, $t5, 0x0010 ## $t6 = 00000000 -/* 0269C 808D4D0C 51C00004 */ beql $t6, $zero, .L808D4D20 -/* 026A0 808D4D10 A2180223 */ sb $t8, 0x0223($s0) ## 00000223 -/* 026A4 808D4D14 10000002 */ beq $zero, $zero, .L808D4D20 -/* 026A8 808D4D18 A20F0223 */ sb $t7, 0x0223($s0) ## 00000223 -/* 026AC 808D4D1C A2180223 */ sb $t8, 0x0223($s0) ## 00000223 -.L808D4D20: -/* 026B0 808D4D20 10000006 */ beq $zero, $zero, .L808D4D3C -/* 026B4 808D4D24 860201A2 */ lh $v0, 0x01A2($s0) ## 000001A2 -/* 026B8 808D4D28 860201A2 */ lh $v0, 0x01A2($s0) ## 000001A2 -.L808D4D2C: -/* 026BC 808D4D2C 0002C840 */ sll $t9, $v0, 1 -/* 026C0 808D4D30 03B94021 */ addu $t0, $sp, $t9 -/* 026C4 808D4D34 85080024 */ lh $t0, 0x0024($t0) ## 00000024 -/* 026C8 808D4D38 A2080223 */ sb $t0, 0x0223($s0) ## 00000223 -.L808D4D3C: -/* 026CC 808D4D3C 10400003 */ beq $v0, $zero, .L808D4D4C -/* 026D0 808D4D40 3C063E99 */ lui $a2, 0x3E99 ## $a2 = 3E990000 -/* 026D4 808D4D44 2449FFFF */ addiu $t1, $v0, 0xFFFF ## $t1 = FFFFFFFF -/* 026D8 808D4D48 A60901A2 */ sh $t1, 0x01A2($s0) ## 000001A2 -.L808D4D4C: -/* 026DC 808D4D4C 860A01A4 */ lh $t2, 0x01A4($s0) ## 000001A4 -/* 026E0 808D4D50 3C01808D */ lui $at, %hi(D_808D64C0) ## $at = 808D0000 -/* 026E4 808D4D54 51400006 */ beql $t2, $zero, .L808D4D70 -/* 026E8 808D4D58 860B019C */ lh $t3, 0x019C($s0) ## 0000019C -/* 026EC 808D4D5C C42064C0 */ lwc1 $f0, %lo(D_808D64C0)($at) -/* 026F0 808D4D60 3C01808D */ lui $at, %hi(D_808D64C4) ## $at = 808D0000 -/* 026F4 808D4D64 1000000E */ beq $zero, $zero, .L808D4DA0 -/* 026F8 808D4D68 C42264C4 */ lwc1 $f2, %lo(D_808D64C4)($at) -/* 026FC 808D4D6C 860B019C */ lh $t3, 0x019C($s0) ## 0000019C -.L808D4D70: -/* 02700 808D4D70 3C01447A */ lui $at, 0x447A ## $at = 447A0000 -/* 02704 808D4D74 316C0010 */ andi $t4, $t3, 0x0010 ## $t4 = 00000000 -/* 02708 808D4D78 51800005 */ beql $t4, $zero, .L808D4D90 -/* 0270C 808D4D7C 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00 -/* 02710 808D4D80 44810000 */ mtc1 $at, $f0 ## $f0 = 1000.00 -/* 02714 808D4D84 10000004 */ beq $zero, $zero, .L808D4D98 -/* 02718 808D4D88 3C01442F */ lui $at, 0x442F ## $at = 442F0000 -/* 0271C 808D4D8C 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00 -.L808D4D90: -/* 02720 808D4D90 00000000 */ nop -/* 02724 808D4D94 3C01442F */ lui $at, 0x442F ## $at = 442F0000 -.L808D4D98: -/* 02728 808D4D98 44811000 */ mtc1 $at, $f2 ## $f2 = 700.00 -/* 0272C 808D4D9C 00000000 */ nop -.L808D4DA0: -/* 02730 808D4DA0 44050000 */ mfc1 $a1, $f0 -/* 02734 808D4DA4 44071000 */ mfc1 $a3, $f2 -/* 02738 808D4DA8 0C01E107 */ jal Math_ApproachF - -/* 0273C 808D4DAC 34C6999A */ ori $a2, $a2, 0x999A ## $a2 = 3E99999A -/* 02740 808D4DB0 860201A4 */ lh $v0, 0x01A4($s0) ## 000001A4 -/* 02744 808D4DB4 10400002 */ beq $v0, $zero, .L808D4DC0 -/* 02748 808D4DB8 244DFFFF */ addiu $t5, $v0, 0xFFFF ## $t5 = FFFFFFFF -/* 0274C 808D4DBC A60D01A4 */ sh $t5, 0x01A4($s0) ## 000001A4 -.L808D4DC0: -/* 02750 808D4DC0 8FBF001C */ lw $ra, 0x001C($sp) -/* 02754 808D4DC4 8FB00018 */ lw $s0, 0x0018($sp) -/* 02758 808D4DC8 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000 -/* 0275C 808D4DCC 03E00008 */ jr $ra -/* 02760 808D4DD0 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D4F94.s b/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D4F94.s deleted file mode 100644 index 69448c52c1..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D4F94.s +++ /dev/null @@ -1,198 +0,0 @@ -.rdata -glabel D_808D63B4 - .asciz "../z_boss_fd2.c" - .balign 4 - -glabel D_808D63C4 - .asciz "../z_boss_fd2.c" - .balign 4 - -glabel D_808D63D4 - .asciz "../z_boss_fd2.c" - .balign 4 - -glabel D_808D63E4 - .asciz "../z_boss_fd2.c" - .balign 4 - -.late_rodata -glabel D_808D64C8 - .float 0.1 - -.text -glabel func_808D4F94 -/* 02924 808D4F94 27BDFF98 */ addiu $sp, $sp, 0xFF98 ## $sp = FFFFFF98 -/* 02928 808D4F98 AFA70074 */ sw $a3, 0x0074($sp) -/* 0292C 808D4F9C 8FA7007C */ lw $a3, 0x007C($sp) -/* 02930 808D4FA0 AFBF001C */ sw $ra, 0x001C($sp) -/* 02934 808D4FA4 AFB00018 */ sw $s0, 0x0018($sp) -/* 02938 808D4FA8 AFA40068 */ sw $a0, 0x0068($sp) -/* 0293C 808D4FAC AFA60070 */ sw $a2, 0x0070($sp) -/* 02940 808D4FB0 2401001F */ addiu $at, $zero, 0x001F ## $at = 0000001F -/* 02944 808D4FB4 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000 -/* 02948 808D4FB8 14A1001A */ bne $a1, $at, .L808D5024 -/* 0294C 808D4FBC 8CE90118 */ lw $t1, 0x0118($a3) ## 00000118 -/* 02950 808D4FC0 8FA20078 */ lw $v0, 0x0078($sp) -/* 02954 808D4FC4 84EF021E */ lh $t7, 0x021E($a3) ## 0000021E -/* 02958 808D4FC8 844E0002 */ lh $t6, 0x0002($v0) ## 00000002 -/* 0295C 808D4FCC 448F4000 */ mtc1 $t7, $f8 ## $f8 = 0.00 -/* 02960 808D4FD0 844A0004 */ lh $t2, 0x0004($v0) ## 00000004 -/* 02964 808D4FD4 448E2000 */ mtc1 $t6, $f4 ## $f4 = 0.00 -/* 02968 808D4FD8 468042A0 */ cvt.s.w $f10, $f8 -/* 0296C 808D4FDC 468021A0 */ cvt.s.w $f6, $f4 -/* 02970 808D4FE0 448A2000 */ mtc1 $t2, $f4 ## $f4 = 0.00 -/* 02974 808D4FE4 00000000 */ nop -/* 02978 808D4FE8 46802220 */ cvt.s.w $f8, $f4 -/* 0297C 808D4FEC 460A3401 */ sub.s $f16, $f6, $f10 -/* 02980 808D4FF0 4600848D */ trunc.w.s $f18, $f16 -/* 02984 808D4FF4 44199000 */ mfc1 $t9, $f18 -/* 02988 808D4FF8 00000000 */ nop -/* 0298C 808D4FFC A4590002 */ sh $t9, 0x0002($v0) ## 00000002 -/* 02990 808D5000 84EB021C */ lh $t3, 0x021C($a3) ## 0000021C -/* 02994 808D5004 448B3000 */ mtc1 $t3, $f6 ## $f6 = 0.00 -/* 02998 808D5008 00000000 */ nop -/* 0299C 808D500C 468032A0 */ cvt.s.w $f10, $f6 -/* 029A0 808D5010 460A4400 */ add.s $f16, $f8, $f10 -/* 029A4 808D5014 4600848D */ trunc.w.s $f18, $f16 -/* 029A8 808D5018 440D9000 */ mfc1 $t5, $f18 -/* 029AC 808D501C 00000000 */ nop -/* 029B0 808D5020 A44D0004 */ sh $t5, 0x0004($v0) ## 00000004 -.L808D5024: -/* 029B4 808D5024 24030020 */ addiu $v1, $zero, 0x0020 ## $v1 = 00000020 -/* 029B8 808D5028 12030012 */ beq $s0, $v1, .L808D5074 -/* 029BC 808D502C 8FA20078 */ lw $v0, 0x0078($sp) -/* 029C0 808D5030 24040023 */ addiu $a0, $zero, 0x0023 ## $a0 = 00000023 -/* 029C4 808D5034 12040003 */ beq $s0, $a0, .L808D5044 -/* 029C8 808D5038 24010024 */ addiu $at, $zero, 0x0024 ## $at = 00000024 -/* 029CC 808D503C 56010019 */ bnel $s0, $at, .L808D50A4 -/* 029D0 808D5040 912C02D7 */ lbu $t4, 0x02D7($t1) ## 000002D7 -.L808D5044: -/* 029D4 808D5044 844E0004 */ lh $t6, 0x0004($v0) ## 00000004 -/* 029D8 808D5048 3C01808D */ lui $at, %hi(D_808D64C8) ## $at = 808D0000 -/* 029DC 808D504C C42664C8 */ lwc1 $f6, %lo(D_808D64C8)($at) -/* 029E0 808D5050 C4E4138C */ lwc1 $f4, 0x138C($a3) ## 0000138C -/* 029E4 808D5054 448E5000 */ mtc1 $t6, $f10 ## $f10 = 0.00 -/* 029E8 808D5058 46062202 */ mul.s $f8, $f4, $f6 -/* 029EC 808D505C 46805420 */ cvt.s.w $f16, $f10 -/* 029F0 808D5060 46088481 */ sub.s $f18, $f16, $f8 -/* 029F4 808D5064 4600910D */ trunc.w.s $f4, $f18 -/* 029F8 808D5068 44182000 */ mfc1 $t8, $f4 -/* 029FC 808D506C 1000000C */ beq $zero, $zero, .L808D50A0 -/* 02A00 808D5070 A4580004 */ sh $t8, 0x0004($v0) ## 00000004 -.L808D5074: -/* 02A04 808D5074 84590004 */ lh $t9, 0x0004($v0) ## 00000004 -/* 02A08 808D5078 C4F0138C */ lwc1 $f16, 0x138C($a3) ## 0000138C -/* 02A0C 808D507C 24040023 */ addiu $a0, $zero, 0x0023 ## $a0 = 00000023 -/* 02A10 808D5080 44993000 */ mtc1 $t9, $f6 ## $f6 = 0.00 -/* 02A14 808D5084 00000000 */ nop -/* 02A18 808D5088 468032A0 */ cvt.s.w $f10, $f6 -/* 02A1C 808D508C 46105200 */ add.s $f8, $f10, $f16 -/* 02A20 808D5090 4600448D */ trunc.w.s $f18, $f8 -/* 02A24 808D5094 440B9000 */ mfc1 $t3, $f18 -/* 02A28 808D5098 00000000 */ nop -/* 02A2C 808D509C A44B0004 */ sh $t3, 0x0004($v0) ## 00000004 -.L808D50A0: -/* 02A30 808D50A0 912C02D7 */ lbu $t4, 0x02D7($t1) ## 000002D7 -.L808D50A4: -/* 02A34 808D50A4 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 02A38 808D50A8 3C06808D */ lui $a2, %hi(D_808D63B4) ## $a2 = 808D0000 -/* 02A3C 808D50AC 15810006 */ bne $t4, $at, .L808D50C8 -/* 02A40 808D50B0 24C663B4 */ addiu $a2, $a2, %lo(D_808D63B4) ## $a2 = 808D63B4 -/* 02A44 808D50B4 16040004 */ bne $s0, $a0, .L808D50C8 -/* 02A48 808D50B8 8FAE0070 */ lw $t6, 0x0070($sp) -/* 02A4C 808D50BC 3C0D0600 */ lui $t5, 0x0600 ## $t5 = 06000000 -/* 02A50 808D50C0 25AD4E38 */ addiu $t5, $t5, 0x4E38 ## $t5 = 06004E38 -/* 02A54 808D50C4 ADCD0000 */ sw $t5, 0x0000($t6) ## 00000000 -.L808D50C8: -/* 02A58 808D50C8 12030005 */ beq $s0, $v1, .L808D50E0 -/* 02A5C 808D50CC 8FAF0068 */ lw $t7, 0x0068($sp) -/* 02A60 808D50D0 12040003 */ beq $s0, $a0, .L808D50E0 -/* 02A64 808D50D4 24010024 */ addiu $at, $zero, 0x0024 ## $at = 00000024 -/* 02A68 808D50D8 16010025 */ bne $s0, $at, .L808D5170 -/* 02A6C 808D50DC 8FAB0068 */ lw $t3, 0x0068($sp) -.L808D50E0: -/* 02A70 808D50E0 8DE50000 */ lw $a1, 0x0000($t7) ## 00000000 -/* 02A74 808D50E4 AFA90060 */ sw $t1, 0x0060($sp) -/* 02A78 808D50E8 27A4004C */ addiu $a0, $sp, 0x004C ## $a0 = FFFFFFE4 -/* 02A7C 808D50EC 24070875 */ addiu $a3, $zero, 0x0875 ## $a3 = 00000875 -/* 02A80 808D50F0 0C031AB1 */ jal Graph_OpenDisps -/* 02A84 808D50F4 AFA5005C */ sw $a1, 0x005C($sp) -/* 02A88 808D50F8 8FA8005C */ lw $t0, 0x005C($sp) -/* 02A8C 808D50FC 8FA90060 */ lw $t1, 0x0060($sp) -/* 02A90 808D5100 3C19E700 */ lui $t9, 0xE700 ## $t9 = E7000000 -/* 02A94 808D5104 8D0302C0 */ lw $v1, 0x02C0($t0) ## 000002C0 -/* 02A98 808D5108 3C0BFB00 */ lui $t3, 0xFB00 ## $t3 = FB000000 -/* 02A9C 808D510C 2401FF00 */ addiu $at, $zero, 0xFF00 ## $at = FFFFFF00 -/* 02AA0 808D5110 24780008 */ addiu $t8, $v1, 0x0008 ## $t8 = 00000008 -/* 02AA4 808D5114 AD1802C0 */ sw $t8, 0x02C0($t0) ## 000002C0 -/* 02AA8 808D5118 AC600004 */ sw $zero, 0x0004($v1) ## 00000004 -/* 02AAC 808D511C AC790000 */ sw $t9, 0x0000($v1) ## 00000000 -/* 02AB0 808D5120 8D0302C0 */ lw $v1, 0x02C0($t0) ## 000002C0 -/* 02AB4 808D5124 3C06808D */ lui $a2, %hi(D_808D63C4) ## $a2 = 808D0000 -/* 02AB8 808D5128 24C663C4 */ addiu $a2, $a2, %lo(D_808D63C4) ## $a2 = 808D63C4 -/* 02ABC 808D512C 246A0008 */ addiu $t2, $v1, 0x0008 ## $t2 = 00000008 -/* 02AC0 808D5130 AD0A02C0 */ sw $t2, 0x02C0($t0) ## 000002C0 -/* 02AC4 808D5134 AC6B0000 */ sw $t3, 0x0000($v1) ## 00000000 -/* 02AC8 808D5138 C5240274 */ lwc1 $f4, 0x0274($t1) ## 00000274 -/* 02ACC 808D513C 27A4004C */ addiu $a0, $sp, 0x004C ## $a0 = FFFFFFE4 -/* 02AD0 808D5140 2407087C */ addiu $a3, $zero, 0x087C ## $a3 = 0000087C -/* 02AD4 808D5144 4600218D */ trunc.w.s $f6, $f4 -/* 02AD8 808D5148 440F3000 */ mfc1 $t7, $f6 -/* 02ADC 808D514C 00000000 */ nop -/* 02AE0 808D5150 31F800FF */ andi $t8, $t7, 0x00FF ## $t8 = 00000000 -/* 02AE4 808D5154 0301C825 */ or $t9, $t8, $at ## $t9 = FFFFFF00 -/* 02AE8 808D5158 AC790004 */ sw $t9, 0x0004($v1) ## 00000004 -/* 02AEC 808D515C 8FAA0068 */ lw $t2, 0x0068($sp) -/* 02AF0 808D5160 0C031AD5 */ jal Graph_CloseDisps -/* 02AF4 808D5164 8D450000 */ lw $a1, 0x0000($t2) ## 00000008 -/* 02AF8 808D5168 10000025 */ beq $zero, $zero, .L808D5200 -/* 02AFC 808D516C 00000000 */ nop -.L808D5170: -/* 02B00 808D5170 8D650000 */ lw $a1, 0x0000($t3) ## 00000000 -/* 02B04 808D5174 3C06808D */ lui $a2, %hi(D_808D63D4) ## $a2 = 808D0000 -/* 02B08 808D5178 24C663D4 */ addiu $a2, $a2, %lo(D_808D63D4) ## $a2 = 808D63D4 -/* 02B0C 808D517C AFA90060 */ sw $t1, 0x0060($sp) -/* 02B10 808D5180 27A40030 */ addiu $a0, $sp, 0x0030 ## $a0 = FFFFFFC8 -/* 02B14 808D5184 2407087E */ addiu $a3, $zero, 0x087E ## $a3 = 0000087E -/* 02B18 808D5188 0C031AB1 */ jal Graph_OpenDisps -/* 02B1C 808D518C AFA50040 */ sw $a1, 0x0040($sp) -/* 02B20 808D5190 8FA80040 */ lw $t0, 0x0040($sp) -/* 02B24 808D5194 8FA90060 */ lw $t1, 0x0060($sp) -/* 02B28 808D5198 3C0DE700 */ lui $t5, 0xE700 ## $t5 = E7000000 -/* 02B2C 808D519C 8D0302C0 */ lw $v1, 0x02C0($t0) ## 000002C0 -/* 02B30 808D51A0 3C0FFB00 */ lui $t7, 0xFB00 ## $t7 = FB000000 -/* 02B34 808D51A4 2401FF00 */ addiu $at, $zero, 0xFF00 ## $at = FFFFFF00 -/* 02B38 808D51A8 246C0008 */ addiu $t4, $v1, 0x0008 ## $t4 = 00000008 -/* 02B3C 808D51AC AD0C02C0 */ sw $t4, 0x02C0($t0) ## 000002C0 -/* 02B40 808D51B0 AC600004 */ sw $zero, 0x0004($v1) ## 00000004 -/* 02B44 808D51B4 AC6D0000 */ sw $t5, 0x0000($v1) ## 00000000 -/* 02B48 808D51B8 8D0302C0 */ lw $v1, 0x02C0($t0) ## 000002C0 -/* 02B4C 808D51BC 3C06808D */ lui $a2, %hi(D_808D63E4) ## $a2 = 808D0000 -/* 02B50 808D51C0 24C663E4 */ addiu $a2, $a2, %lo(D_808D63E4) ## $a2 = 808D63E4 -/* 02B54 808D51C4 246E0008 */ addiu $t6, $v1, 0x0008 ## $t6 = 00000008 -/* 02B58 808D51C8 AD0E02C0 */ sw $t6, 0x02C0($t0) ## 000002C0 -/* 02B5C 808D51CC AC6F0000 */ sw $t7, 0x0000($v1) ## 00000000 -/* 02B60 808D51D0 C52A0270 */ lwc1 $f10, 0x0270($t1) ## 00000270 -/* 02B64 808D51D4 27A40030 */ addiu $a0, $sp, 0x0030 ## $a0 = FFFFFFC8 -/* 02B68 808D51D8 24070885 */ addiu $a3, $zero, 0x0885 ## $a3 = 00000885 -/* 02B6C 808D51DC 4600540D */ trunc.w.s $f16, $f10 -/* 02B70 808D51E0 440B8000 */ mfc1 $t3, $f16 -/* 02B74 808D51E4 00000000 */ nop -/* 02B78 808D51E8 316C00FF */ andi $t4, $t3, 0x00FF ## $t4 = 00000000 -/* 02B7C 808D51EC 01816825 */ or $t5, $t4, $at ## $t5 = FFFFFF00 -/* 02B80 808D51F0 AC6D0004 */ sw $t5, 0x0004($v1) ## 00000004 -/* 02B84 808D51F4 8FAE0068 */ lw $t6, 0x0068($sp) -/* 02B88 808D51F8 0C031AD5 */ jal Graph_CloseDisps -/* 02B8C 808D51FC 8DC50000 */ lw $a1, 0x0000($t6) ## 00000008 -.L808D5200: -/* 02B90 808D5200 1A000004 */ blez $s0, .L808D5214 -/* 02B94 808D5204 2A010010 */ slti $at, $s0, 0x0010 -/* 02B98 808D5208 10200002 */ beq $at, $zero, .L808D5214 -/* 02B9C 808D520C 8FAF0070 */ lw $t7, 0x0070($sp) -/* 02BA0 808D5210 ADE00000 */ sw $zero, 0x0000($t7) ## 00000000 -.L808D5214: -/* 02BA4 808D5214 8FBF001C */ lw $ra, 0x001C($sp) -/* 02BA8 808D5218 8FB00018 */ lw $s0, 0x0018($sp) -/* 02BAC 808D521C 27BD0068 */ addiu $sp, $sp, 0x0068 ## $sp = 00000000 -/* 02BB0 808D5220 03E00008 */ jr $ra -/* 02BB4 808D5224 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D5228.s b/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D5228.s deleted file mode 100644 index ac6316735e..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D5228.s +++ /dev/null @@ -1,43 +0,0 @@ -glabel func_808D5228 -/* 02BB8 808D5228 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 02BBC 808D522C 24010023 */ addiu $at, $zero, 0x0023 ## $at = 00000023 -/* 02BC0 808D5230 AFBF0014 */ sw $ra, 0x0014($sp) -/* 02BC4 808D5234 AFA40018 */ sw $a0, 0x0018($sp) -/* 02BC8 808D5238 AFA5001C */ sw $a1, 0x001C($sp) -/* 02BCC 808D523C AFA60020 */ sw $a2, 0x0020($sp) -/* 02BD0 808D5240 14A1001A */ bne $a1, $at, .L808D52AC -/* 02BD4 808D5244 AFA70024 */ sw $a3, 0x0024($sp) -/* 02BD8 808D5248 8FA50028 */ lw $a1, 0x0028($sp) -/* 02BDC 808D524C 3C04808D */ lui $a0, %hi(D_808D620C) ## $a0 = 808D0000 -/* 02BE0 808D5250 2484620C */ addiu $a0, $a0, %lo(D_808D620C) ## $a0 = 808D620C -/* 02BE4 808D5254 0C0346BD */ jal Matrix_MultVec3f -/* 02BE8 808D5258 24A50038 */ addiu $a1, $a1, 0x0038 ## $a1 = 00000038 -/* 02BEC 808D525C 8FA50028 */ lw $a1, 0x0028($sp) -/* 02BF0 808D5260 3C04808D */ lui $a0, %hi(D_808D6218) ## $a0 = 808D0000 -/* 02BF4 808D5264 24846218 */ addiu $a0, $a0, %lo(D_808D6218) ## $a0 = 808D6218 -/* 02BF8 808D5268 0C0346BD */ jal Matrix_MultVec3f -/* 02BFC 808D526C 24A50210 */ addiu $a1, $a1, 0x0210 ## $a1 = 00000210 -/* 02C00 808D5270 8FA50028 */ lw $a1, 0x0028($sp) -/* 02C04 808D5274 3C04808D */ lui $a0, %hi(D_808D6224) ## $a0 = 808D0000 -/* 02C08 808D5278 24846224 */ addiu $a0, $a0, %lo(D_808D6224) ## $a0 = 808D6224 -/* 02C0C 808D527C 0C0346BD */ jal Matrix_MultVec3f -/* 02C10 808D5280 24A51044 */ addiu $a1, $a1, 0x1044 ## $a1 = 00001044 -/* 02C14 808D5284 8FA50028 */ lw $a1, 0x0028($sp) -/* 02C18 808D5288 3C04808D */ lui $a0, %hi(D_808D6230) ## $a0 = 808D0000 -/* 02C1C 808D528C 24846230 */ addiu $a0, $a0, %lo(D_808D6230) ## $a0 = 808D6230 -/* 02C20 808D5290 0C0346BD */ jal Matrix_MultVec3f -/* 02C24 808D5294 24A511E0 */ addiu $a1, $a1, 0x11E0 ## $a1 = 000011E0 -/* 02C28 808D5298 8FA50028 */ lw $a1, 0x0028($sp) -/* 02C2C 808D529C 3C04808D */ lui $a0, %hi(D_808D623C) ## $a0 = 808D0000 -/* 02C30 808D52A0 2484623C */ addiu $a0, $a0, %lo(D_808D623C) ## $a0 = 808D623C -/* 02C34 808D52A4 0C0346BD */ jal Matrix_MultVec3f -/* 02C38 808D52A8 24A5137C */ addiu $a1, $a1, 0x137C ## $a1 = 0000137C -.L808D52AC: -/* 02C3C 808D52AC 8FA50028 */ lw $a1, 0x0028($sp) -/* 02C40 808D52B0 8FA4001C */ lw $a0, 0x001C($sp) -/* 02C44 808D52B4 0C018A29 */ jal Collider_UpdateSpheres -/* 02C48 808D52B8 24A5141C */ addiu $a1, $a1, 0x141C ## $a1 = 0000141C -/* 02C4C 808D52BC 8FBF0014 */ lw $ra, 0x0014($sp) -/* 02C50 808D52C0 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 02C54 808D52C4 03E00008 */ jr $ra -/* 02C58 808D52C8 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D52CC.s b/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D52CC.s deleted file mode 100644 index 016aae18cc..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D52CC.s +++ /dev/null @@ -1,436 +0,0 @@ -.rdata -glabel D_808D63F4 - .asciz "../z_boss_fd2.c" - .balign 4 - -glabel D_808D6404 - .asciz "../z_boss_fd2.c" - .balign 4 - -glabel D_808D6414 - .asciz "../z_boss_fd2.c" - .balign 4 - -.late_rodata -glabel D_808D64CC - .word 0xC4638000 -glabel D_808D64D0 - .float 1.57079637051 - -glabel D_808D64D4 - .word 0x3A6BEDFA -glabel D_808D64D8 - .float 0.01 - -.text -glabel func_808D52CC -/* 02C5C 808D52CC 27BDFEA0 */ addiu $sp, $sp, 0xFEA0 ## $sp = FFFFFEA0 -/* 02C60 808D52D0 3C0F808D */ lui $t7, %hi(D_808D6248) ## $t7 = 808D0000 -/* 02C64 808D52D4 AFB60060 */ sw $s6, 0x0060($sp) -/* 02C68 808D52D8 25EF6248 */ addiu $t7, $t7, %lo(D_808D6248) ## $t7 = 808D6248 -/* 02C6C 808D52DC 00C0B025 */ or $s6, $a2, $zero ## $s6 = 00000000 -/* 02C70 808D52E0 AFBF006C */ sw $ra, 0x006C($sp) -/* 02C74 808D52E4 AFBE0068 */ sw $s8, 0x0068($sp) -/* 02C78 808D52E8 AFB70064 */ sw $s7, 0x0064($sp) -/* 02C7C 808D52EC AFB5005C */ sw $s5, 0x005C($sp) -/* 02C80 808D52F0 AFB40058 */ sw $s4, 0x0058($sp) -/* 02C84 808D52F4 AFB30054 */ sw $s3, 0x0054($sp) -/* 02C88 808D52F8 AFB20050 */ sw $s2, 0x0050($sp) -/* 02C8C 808D52FC AFB1004C */ sw $s1, 0x004C($sp) -/* 02C90 808D5300 AFB00048 */ sw $s0, 0x0048($sp) -/* 02C94 808D5304 F7BE0040 */ sdc1 $f30, 0x0040($sp) -/* 02C98 808D5308 F7BC0038 */ sdc1 $f28, 0x0038($sp) -/* 02C9C 808D530C F7BA0030 */ sdc1 $f26, 0x0030($sp) -/* 02CA0 808D5310 F7B80028 */ sdc1 $f24, 0x0028($sp) -/* 02CA4 808D5314 F7B60020 */ sdc1 $f22, 0x0020($sp) -/* 02CA8 808D5318 F7B40018 */ sdc1 $f20, 0x0018($sp) -/* 02CAC 808D531C AFA40160 */ sw $a0, 0x0160($sp) -/* 02CB0 808D5320 AFA50164 */ sw $a1, 0x0164($sp) -/* 02CB4 808D5324 AFA7016C */ sw $a3, 0x016C($sp) -/* 02CB8 808D5328 25E80024 */ addiu $t0, $t7, 0x0024 ## $t0 = 808D626C -/* 02CBC 808D532C 27AE0138 */ addiu $t6, $sp, 0x0138 ## $t6 = FFFFFFD8 -.L808D5330: -/* 02CC0 808D5330 8DF90000 */ lw $t9, 0x0000($t7) ## 808D6248 -/* 02CC4 808D5334 25EF000C */ addiu $t7, $t7, 0x000C ## $t7 = 808D6254 -/* 02CC8 808D5338 25CE000C */ addiu $t6, $t6, 0x000C ## $t6 = FFFFFFE4 -/* 02CCC 808D533C ADD9FFF4 */ sw $t9, -0x000C($t6) ## FFFFFFD8 -/* 02CD0 808D5340 8DF8FFF8 */ lw $t8, -0x0008($t7) ## 808D624C -/* 02CD4 808D5344 ADD8FFF8 */ sw $t8, -0x0008($t6) ## FFFFFFDC -/* 02CD8 808D5348 8DF9FFFC */ lw $t9, -0x0004($t7) ## 808D6250 -/* 02CDC 808D534C 15E8FFF8 */ bne $t7, $t0, .L808D5330 -/* 02CE0 808D5350 ADD9FFFC */ sw $t9, -0x0004($t6) ## FFFFFFE0 -/* 02CE4 808D5354 8DF90000 */ lw $t9, 0x0000($t7) ## 808D6254 -/* 02CE8 808D5358 3C0A808D */ lui $t2, %hi(D_808D6270) ## $t2 = 808D0000 -/* 02CEC 808D535C 254A6270 */ addiu $t2, $t2, %lo(D_808D6270) ## $t2 = 808D6270 -/* 02CF0 808D5360 254D0024 */ addiu $t5, $t2, 0x0024 ## $t5 = 808D6294 -/* 02CF4 808D5364 27A90110 */ addiu $t1, $sp, 0x0110 ## $t1 = FFFFFFB0 -/* 02CF8 808D5368 ADD90000 */ sw $t9, 0x0000($t6) ## FFFFFFE4 -.L808D536C: -/* 02CFC 808D536C 8D4C0000 */ lw $t4, 0x0000($t2) ## 808D6270 -/* 02D00 808D5370 254A000C */ addiu $t2, $t2, 0x000C ## $t2 = 808D627C -/* 02D04 808D5374 2529000C */ addiu $t1, $t1, 0x000C ## $t1 = FFFFFFBC -/* 02D08 808D5378 AD2CFFF4 */ sw $t4, -0x000C($t1) ## FFFFFFB0 -/* 02D0C 808D537C 8D4BFFF8 */ lw $t3, -0x0008($t2) ## 808D6274 -/* 02D10 808D5380 AD2BFFF8 */ sw $t3, -0x0008($t1) ## FFFFFFB4 -/* 02D14 808D5384 8D4CFFFC */ lw $t4, -0x0004($t2) ## 808D6278 -/* 02D18 808D5388 154DFFF8 */ bne $t2, $t5, .L808D536C -/* 02D1C 808D538C AD2CFFFC */ sw $t4, -0x0004($t1) ## FFFFFFB8 -/* 02D20 808D5390 8D4C0000 */ lw $t4, 0x0000($t2) ## 808D627C -/* 02D24 808D5394 3C0F808D */ lui $t7, %hi(D_808D6298) ## $t7 = 808D0000 -/* 02D28 808D5398 25EF6298 */ addiu $t7, $t7, %lo(D_808D6298) ## $t7 = 808D6298 -/* 02D2C 808D539C 25F90024 */ addiu $t9, $t7, 0x0024 ## $t9 = 808D62BC -/* 02D30 808D53A0 27A800E8 */ addiu $t0, $sp, 0x00E8 ## $t0 = FFFFFF88 -/* 02D34 808D53A4 AD2C0000 */ sw $t4, 0x0000($t1) ## FFFFFFBC -.L808D53A8: -/* 02D38 808D53A8 8DF80000 */ lw $t8, 0x0000($t7) ## 808D6298 -/* 02D3C 808D53AC 25EF000C */ addiu $t7, $t7, 0x000C ## $t7 = 808D62A4 -/* 02D40 808D53B0 2508000C */ addiu $t0, $t0, 0x000C ## $t0 = FFFFFF94 -/* 02D44 808D53B4 AD18FFF4 */ sw $t8, -0x000C($t0) ## FFFFFF88 -/* 02D48 808D53B8 8DEEFFF8 */ lw $t6, -0x0008($t7) ## 808D629C -/* 02D4C 808D53BC AD0EFFF8 */ sw $t6, -0x0008($t0) ## FFFFFF8C -/* 02D50 808D53C0 8DF8FFFC */ lw $t8, -0x0004($t7) ## 808D62A0 -/* 02D54 808D53C4 15F9FFF8 */ bne $t7, $t9, .L808D53A8 -/* 02D58 808D53C8 AD18FFFC */ sw $t8, -0x0004($t0) ## FFFFFF90 -/* 02D5C 808D53CC 8DF80000 */ lw $t8, 0x0000($t7) ## 808D62A4 -/* 02D60 808D53D0 3C06808D */ lui $a2, %hi(D_808D63F4) ## $a2 = 808D0000 -/* 02D64 808D53D4 24C663F4 */ addiu $a2, $a2, %lo(D_808D63F4) ## $a2 = 808D63F4 -/* 02D68 808D53D8 AD180000 */ sw $t8, 0x0000($t0) ## FFFFFF94 -/* 02D6C 808D53DC 8FAD0164 */ lw $t5, 0x0164($sp) -/* 02D70 808D53E0 27A40098 */ addiu $a0, $sp, 0x0098 ## $a0 = FFFFFF38 -/* 02D74 808D53E4 24070955 */ addiu $a3, $zero, 0x0955 ## $a3 = 00000955 -/* 02D78 808D53E8 8DA50000 */ lw $a1, 0x0000($t5) ## 808D6294 -/* 02D7C 808D53EC 0C031AB1 */ jal Graph_OpenDisps -/* 02D80 808D53F0 00A0F025 */ or $s8, $a1, $zero ## $s8 = 00000000 -/* 02D84 808D53F4 0C034213 */ jal Matrix_Push -/* 02D88 808D53F8 00000000 */ nop -/* 02D8C 808D53FC 8FC302C0 */ lw $v1, 0x02C0($s8) ## 000002C0 -/* 02D90 808D5400 3C09E700 */ lui $t1, 0xE700 ## $t1 = E7000000 -/* 02D94 808D5404 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 02D98 808D5408 246A0008 */ addiu $t2, $v1, 0x0008 ## $t2 = 00000008 -/* 02D9C 808D540C AFCA02C0 */ sw $t2, 0x02C0($s8) ## 000002C0 -/* 02DA0 808D5410 AC600004 */ sw $zero, 0x0004($v1) ## 00000004 -/* 02DA4 808D5414 AC690000 */ sw $t1, 0x0000($v1) ## 00000000 -/* 02DA8 808D5418 4481A000 */ mtc1 $at, $f20 ## $f20 = 1.00 -/* 02DAC 808D541C 8FA2016C */ lw $v0, 0x016C($sp) -/* 02DB0 808D5420 0000A825 */ or $s5, $zero, $zero ## $s5 = 00000000 -/* 02DB4 808D5424 2417000C */ addiu $s7, $zero, 0x000C ## $s7 = 0000000C -.L808D5428: -/* 02DB8 808D5428 16A0000B */ bne $s5, $zero, .L808D5458 -/* 02DBC 808D542C 00000000 */ nop -/* 02DC0 808D5430 02B70019 */ multu $s5, $s7 -/* 02DC4 808D5434 C6C40000 */ lwc1 $f4, 0x0000($s6) ## 00000000 -/* 02DC8 808D5438 00005812 */ mflo $t3 -/* 02DCC 808D543C 004B8021 */ addu $s0, $v0, $t3 -/* 02DD0 808D5440 E6040000 */ swc1 $f4, 0x0000($s0) ## 00000000 -/* 02DD4 808D5444 C6C60004 */ lwc1 $f6, 0x0004($s6) ## 00000004 -/* 02DD8 808D5448 E6060004 */ swc1 $f6, 0x0004($s0) ## 00000004 -/* 02DDC 808D544C C6C80008 */ lwc1 $f8, 0x0008($s6) ## 00000008 -/* 02DE0 808D5450 10000015 */ beq $zero, $zero, .L808D54A8 -/* 02DE4 808D5454 E6080008 */ swc1 $f8, 0x0008($s0) ## 00000008 -.L808D5458: -/* 02DE8 808D5458 02B70019 */ multu $s5, $s7 -/* 02DEC 808D545C 8FB90174 */ lw $t9, 0x0174($sp) -/* 02DF0 808D5460 4406A000 */ mfc1 $a2, $f20 -/* 02DF4 808D5464 4407A000 */ mfc1 $a3, $f20 -/* 02DF8 808D5468 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000 -/* 02DFC 808D546C 00006012 */ mflo $t4 -/* 02E00 808D5470 01999021 */ addu $s2, $t4, $t9 -/* 02E04 808D5474 0C01E107 */ jal Math_ApproachF - -/* 02E08 808D5478 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000 -/* 02E0C 808D547C 4406A000 */ mfc1 $a2, $f20 -/* 02E10 808D5480 4407A000 */ mfc1 $a3, $f20 -/* 02E14 808D5484 26440004 */ addiu $a0, $s2, 0x0004 ## $a0 = 00000004 -/* 02E18 808D5488 0C01E107 */ jal Math_ApproachF - -/* 02E1C 808D548C 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000 -/* 02E20 808D5490 4406A000 */ mfc1 $a2, $f20 -/* 02E24 808D5494 4407A000 */ mfc1 $a3, $f20 -/* 02E28 808D5498 26440008 */ addiu $a0, $s2, 0x0008 ## $a0 = 00000008 -/* 02E2C 808D549C 0C01E107 */ jal Math_ApproachF - -/* 02E30 808D54A0 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000 -/* 02E34 808D54A4 8FA2016C */ lw $v0, 0x016C($sp) -.L808D54A8: -/* 02E38 808D54A8 26B50001 */ addiu $s5, $s5, 0x0001 ## $s5 = 00000001 -/* 02E3C 808D54AC 0015AC00 */ sll $s5, $s5, 16 -/* 02E40 808D54B0 0015AC03 */ sra $s5, $s5, 16 -/* 02E44 808D54B4 2AA1000A */ slti $at, $s5, 0x000A -/* 02E48 808D54B8 1420FFDB */ bne $at, $zero, .L808D5428 -/* 02E4C 808D54BC 00000000 */ nop -/* 02E50 808D54C0 3C01C1F0 */ lui $at, 0xC1F0 ## $at = C1F00000 -/* 02E54 808D54C4 4481F000 */ mtc1 $at, $f30 ## $f30 = -30.00 -/* 02E58 808D54C8 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000 -/* 02E5C 808D54CC 4481E000 */ mtc1 $at, $f28 ## $f28 = 30.00 -/* 02E60 808D54D0 24150001 */ addiu $s5, $zero, 0x0001 ## $s5 = 00000001 -.L808D54D4: -/* 02E64 808D54D4 02B70019 */ multu $s5, $s7 -/* 02E68 808D54D8 8FA2016C */ lw $v0, 0x016C($sp) -/* 02E6C 808D54DC 8FAF0174 */ lw $t7, 0x0174($sp) -/* 02E70 808D54E0 3C014000 */ lui $at, 0x4000 ## $at = 40000000 -/* 02E74 808D54E4 00159880 */ sll $s3, $s5, 2 -/* 02E78 808D54E8 03B34021 */ addu $t0, $sp, $s3 -/* 02E7C 808D54EC 03B37021 */ addu $t6, $sp, $s3 -/* 02E80 808D54F0 0000A012 */ mflo $s4 -/* 02E84 808D54F4 02828021 */ addu $s0, $s4, $v0 -/* 02E88 808D54F8 01F49021 */ addu $s2, $t7, $s4 -/* 02E8C 808D54FC C6520000 */ lwc1 $f18, 0x0000($s2) ## 00000000 -/* 02E90 808D5500 C60A0000 */ lwc1 $f10, 0x0000($s0) ## 00000000 -/* 02E94 808D5504 C606FFF4 */ lwc1 $f6, -0x000C($s0) ## FFFFFFF4 -/* 02E98 808D5508 C6080004 */ lwc1 $f8, 0x0004($s0) ## 00000004 -/* 02E9C 808D550C 46125100 */ add.s $f4, $f10, $f18 -/* 02EA0 808D5510 C64A0004 */ lwc1 $f10, 0x0004($s2) ## 00000004 -/* 02EA4 808D5514 C610FFF8 */ lwc1 $f16, -0x0008($s0) ## FFFFFFF8 -/* 02EA8 808D5518 460A4480 */ add.s $f18, $f8, $f10 -/* 02EAC 808D551C C5080138 */ lwc1 $f8, 0x0138($t0) ## 00000138 -/* 02EB0 808D5520 C5CA0110 */ lwc1 $f10, 0x0110($t6) ## 00000110 -/* 02EB4 808D5524 46062581 */ sub.s $f22, $f4, $f6 -/* 02EB8 808D5528 44812000 */ mtc1 $at, $f4 ## $f4 = 2.00 -/* 02EBC 808D552C 3C01808D */ lui $at, %hi(D_808D64CC) ## $at = 808D0000 -/* 02EC0 808D5530 46105080 */ add.s $f2, $f10, $f16 -/* 02EC4 808D5534 46049181 */ sub.s $f6, $f18, $f4 -/* 02EC8 808D5538 46064000 */ add.s $f0, $f8, $f6 -/* 02ECC 808D553C 4600103C */ c.lt.s $f2, $f0 -/* 02ED0 808D5540 00000000 */ nop -/* 02ED4 808D5544 45020003 */ bc1fl .L808D5554 -/* 02ED8 808D5548 C6D20004 */ lwc1 $f18, 0x0004($s6) ## 00000004 -/* 02EDC 808D554C 46001006 */ mov.s $f0, $f2 -/* 02EE0 808D5550 C6D20004 */ lwc1 $f18, 0x0004($s6) ## 00000004 -.L808D5554: -/* 02EE4 808D5554 C42464CC */ lwc1 $f4, %lo(D_808D64CC)($at) -/* 02EE8 808D5558 3C0142DC */ lui $at, 0x42DC ## $at = 42DC0000 -/* 02EEC 808D555C 4612203E */ c.le.s $f4, $f18 -/* 02EF0 808D5560 00000000 */ nop -/* 02EF4 808D5564 45020009 */ bc1fl .L808D558C -/* 02EF8 808D5568 C6080008 */ lwc1 $f8, 0x0008($s0) ## 00000008 -/* 02EFC 808D556C 44811000 */ mtc1 $at, $f2 ## $f2 = 110.00 -/* 02F00 808D5570 00000000 */ nop -/* 02F04 808D5574 4602003C */ c.lt.s $f0, $f2 -/* 02F08 808D5578 00000000 */ nop -/* 02F0C 808D557C 45020003 */ bc1fl .L808D558C -/* 02F10 808D5580 C6080008 */ lwc1 $f8, 0x0008($s0) ## 00000008 -/* 02F14 808D5584 46001006 */ mov.s $f0, $f2 -/* 02F18 808D5588 C6080008 */ lwc1 $f8, 0x0008($s0) ## 00000008 -.L808D558C: -/* 02F1C 808D558C C6460008 */ lwc1 $f6, 0x0008($s2) ## 00000008 -/* 02F20 808D5590 C612FFFC */ lwc1 $f18, -0x0004($s0) ## FFFFFFFC -/* 02F24 808D5594 46100601 */ sub.s $f24, $f0, $f16 -/* 02F28 808D5598 4600B386 */ mov.s $f14, $f22 -/* 02F2C 808D559C 46064280 */ add.s $f10, $f8, $f6 -/* 02F30 808D55A0 46125501 */ sub.s $f20, $f10, $f18 -/* 02F34 808D55A4 0C0341F5 */ jal Math_Atan2F - -/* 02F38 808D55A8 4600A306 */ mov.s $f12, $f20 -/* 02F3C 808D55AC 4616B102 */ mul.s $f4, $f22, $f22 -/* 02F40 808D55B0 46000686 */ mov.s $f26, $f0 -/* 02F44 808D55B4 4600C386 */ mov.s $f14, $f24 -/* 02F48 808D55B8 4614A202 */ mul.s $f8, $f20, $f20 -/* 02F4C 808D55BC 46082000 */ add.s $f0, $f4, $f8 -/* 02F50 808D55C0 0C0341F5 */ jal Math_Atan2F - -/* 02F54 808D55C4 46000304 */ sqrt.s $f12, $f0 -/* 02F58 808D55C8 8FB80170 */ lw $t8, 0x0170($sp) -/* 02F5C 808D55CC 44807000 */ mtc1 $zero, $f14 ## $f14 = 0.00 -/* 02F60 808D55D0 46000507 */ neg.s $f20, $f0 -/* 02F64 808D55D4 03148821 */ addu $s1, $t8, $s4 -/* 02F68 808D55D8 E63AFFF8 */ swc1 $f26, -0x0008($s1) ## FFFFFFF8 -/* 02F6C 808D55DC E634FFF4 */ swc1 $f20, -0x000C($s1) ## FFFFFFF4 -/* 02F70 808D55E0 03B36821 */ addu $t5, $sp, $s3 -/* 02F74 808D55E4 3C0141C8 */ lui $at, 0x41C8 ## $at = 41C80000 -/* 02F78 808D55E8 E7AE00BC */ swc1 $f14, 0x00BC($sp) -/* 02F7C 808D55EC E7AE00C0 */ swc1 $f14, 0x00C0($sp) -/* 02F80 808D55F0 C5A600E8 */ lwc1 $f6, 0x00E8($t5) ## 000000E8 -/* 02F84 808D55F4 44815000 */ mtc1 $at, $f10 ## $f10 = 25.00 -/* 02F88 808D55F8 4600D306 */ mov.s $f12, $f26 -/* 02F8C 808D55FC 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000 -/* 02F90 808D5600 460A3482 */ mul.s $f18, $f6, $f10 -/* 02F94 808D5604 0C034348 */ jal Matrix_RotateY -/* 02F98 808D5608 E7B200C4 */ swc1 $f18, 0x00C4($sp) -/* 02F9C 808D560C 4600A306 */ mov.s $f12, $f20 -/* 02FA0 808D5610 0C0342DC */ jal Matrix_RotateX -/* 02FA4 808D5614 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 02FA8 808D5618 27A400BC */ addiu $a0, $sp, 0x00BC ## $a0 = FFFFFF5C -/* 02FAC 808D561C 0C0346BD */ jal Matrix_MultVec3f -/* 02FB0 808D5620 27A500B0 */ addiu $a1, $sp, 0x00B0 ## $a1 = FFFFFF50 -/* 02FB4 808D5624 C604FFF4 */ lwc1 $f4, -0x000C($s0) ## FFFFFFF4 -/* 02FB8 808D5628 C7A800B0 */ lwc1 $f8, 0x00B0($sp) -/* 02FBC 808D562C C6160000 */ lwc1 $f22, 0x0000($s0) ## 00000000 -/* 02FC0 808D5630 C60AFFF8 */ lwc1 $f10, -0x0008($s0) ## FFFFFFF8 -/* 02FC4 808D5634 46082180 */ add.s $f6, $f4, $f8 -/* 02FC8 808D5638 C6180004 */ lwc1 $f24, 0x0004($s0) ## 00000004 -/* 02FCC 808D563C C608FFFC */ lwc1 $f8, -0x0004($s0) ## FFFFFFFC -/* 02FD0 808D5640 3C0142B0 */ lui $at, 0x42B0 ## $at = 42B00000 -/* 02FD4 808D5644 E6060000 */ swc1 $f6, 0x0000($s0) ## 00000000 -/* 02FD8 808D5648 C7B200B4 */ lwc1 $f18, 0x00B4($sp) -/* 02FDC 808D564C 44811000 */ mtc1 $at, $f2 ## $f2 = 88.00 -/* 02FE0 808D5650 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000 -/* 02FE4 808D5654 46125100 */ add.s $f4, $f10, $f18 -/* 02FE8 808D5658 C6120000 */ lwc1 $f18, 0x0000($s0) ## 00000000 -/* 02FEC 808D565C 44816000 */ mtc1 $at, $f12 ## $f12 = 100.00 -/* 02FF0 808D5660 C6140008 */ lwc1 $f20, 0x0008($s0) ## 00000008 -/* 02FF4 808D5664 E6040004 */ swc1 $f4, 0x0004($s0) ## 00000004 -/* 02FF8 808D5668 46169101 */ sub.s $f4, $f18, $f22 -/* 02FFC 808D566C C7A600B8 */ lwc1 $f6, 0x00B8($sp) -/* 03000 808D5670 26B50001 */ addiu $s5, $s5, 0x0001 ## $s5 = 00000002 -/* 03004 808D5674 0015AC00 */ sll $s5, $s5, 16 -/* 03008 808D5678 46064280 */ add.s $f10, $f8, $f6 -/* 0300C 808D567C 46022202 */ mul.s $f8, $f4, $f2 -/* 03010 808D5680 0015AC03 */ sra $s5, $s5, 16 -/* 03014 808D5684 2AA1000A */ slti $at, $s5, 0x000A -/* 03018 808D5688 E60A0008 */ swc1 $f10, 0x0008($s0) ## 00000008 -/* 0301C 808D568C 460C4183 */ div.s $f6, $f8, $f12 -/* 03020 808D5690 E6460000 */ swc1 $f6, 0x0000($s2) ## 00000000 -/* 03024 808D5694 C60A0004 */ lwc1 $f10, 0x0004($s0) ## 00000004 -/* 03028 808D5698 C6400000 */ lwc1 $f0, 0x0000($s2) ## 00000000 -/* 0302C 808D569C 46185481 */ sub.s $f18, $f10, $f24 -/* 03030 808D56A0 4600E03C */ c.lt.s $f28, $f0 -/* 03034 808D56A4 46029102 */ mul.s $f4, $f18, $f2 -/* 03038 808D56A8 460C2203 */ div.s $f8, $f4, $f12 -/* 0303C 808D56AC E6480004 */ swc1 $f8, 0x0004($s2) ## 00000004 -/* 03040 808D56B0 C6060008 */ lwc1 $f6, 0x0008($s0) ## 00000008 -/* 03044 808D56B4 46143281 */ sub.s $f10, $f6, $f20 -/* 03048 808D56B8 46025482 */ mul.s $f18, $f10, $f2 -/* 0304C 808D56BC 460C9103 */ div.s $f4, $f18, $f12 -/* 03050 808D56C0 45000003 */ bc1f .L808D56D0 -/* 03054 808D56C4 E6440008 */ swc1 $f4, 0x0008($s2) ## 00000008 -/* 03058 808D56C8 E65C0000 */ swc1 $f28, 0x0000($s2) ## 00000000 -/* 0305C 808D56CC C6400000 */ lwc1 $f0, 0x0000($s2) ## 00000000 -.L808D56D0: -/* 03060 808D56D0 461E003C */ c.lt.s $f0, $f30 -/* 03064 808D56D4 00000000 */ nop -/* 03068 808D56D8 45020003 */ bc1fl .L808D56E8 -/* 0306C 808D56DC C6400004 */ lwc1 $f0, 0x0004($s2) ## 00000004 -/* 03070 808D56E0 E65E0000 */ swc1 $f30, 0x0000($s2) ## 00000000 -/* 03074 808D56E4 C6400004 */ lwc1 $f0, 0x0004($s2) ## 00000004 -.L808D56E8: -/* 03078 808D56E8 4600E03C */ c.lt.s $f28, $f0 -/* 0307C 808D56EC 00000000 */ nop -/* 03080 808D56F0 45020004 */ bc1fl .L808D5704 -/* 03084 808D56F4 461E003C */ c.lt.s $f0, $f30 -/* 03088 808D56F8 E65C0004 */ swc1 $f28, 0x0004($s2) ## 00000004 -/* 0308C 808D56FC C6400004 */ lwc1 $f0, 0x0004($s2) ## 00000004 -/* 03090 808D5700 461E003C */ c.lt.s $f0, $f30 -.L808D5704: -/* 03094 808D5704 00000000 */ nop -/* 03098 808D5708 45020003 */ bc1fl .L808D5718 -/* 0309C 808D570C C6400008 */ lwc1 $f0, 0x0008($s2) ## 00000008 -/* 030A0 808D5710 E65E0004 */ swc1 $f30, 0x0004($s2) ## 00000004 -/* 030A4 808D5714 C6400008 */ lwc1 $f0, 0x0008($s2) ## 00000008 -.L808D5718: -/* 030A8 808D5718 4600E03C */ c.lt.s $f28, $f0 -/* 030AC 808D571C 00000000 */ nop -/* 030B0 808D5720 45020004 */ bc1fl .L808D5734 -/* 030B4 808D5724 461E003C */ c.lt.s $f0, $f30 -/* 030B8 808D5728 E65C0008 */ swc1 $f28, 0x0008($s2) ## 00000008 -/* 030BC 808D572C C6400008 */ lwc1 $f0, 0x0008($s2) ## 00000008 -/* 030C0 808D5730 461E003C */ c.lt.s $f0, $f30 -.L808D5734: -/* 030C4 808D5734 00000000 */ nop -/* 030C8 808D5738 45000002 */ bc1f .L808D5744 -/* 030CC 808D573C 00000000 */ nop -/* 030D0 808D5740 E65E0008 */ swc1 $f30, 0x0008($s2) ## 00000008 -.L808D5744: -/* 030D4 808D5744 1420FF63 */ bne $at, $zero, .L808D54D4 -/* 030D8 808D5748 00000000 */ nop -/* 030DC 808D574C 3C01808D */ lui $at, %hi(D_808D64D0) ## $at = 808D0000 -/* 030E0 808D5750 C43864D0 */ lwc1 $f24, %lo(D_808D64D0)($at) -/* 030E4 808D5754 3C01808D */ lui $at, %hi(D_808D64D4) ## $at = 808D0000 -/* 030E8 808D5758 C43664D4 */ lwc1 $f22, %lo(D_808D64D4)($at) -/* 030EC 808D575C 3C01808D */ lui $at, %hi(D_808D64D8) ## $at = 808D0000 -/* 030F0 808D5760 3C120600 */ lui $s2, 0x0600 ## $s2 = 06000000 -/* 030F4 808D5764 26524BC8 */ addiu $s2, $s2, 0x4BC8 ## $s2 = 06004BC8 -/* 030F8 808D5768 C43464D8 */ lwc1 $f20, %lo(D_808D64D8)($at) -/* 030FC 808D576C 0000A825 */ or $s5, $zero, $zero ## $s5 = 00000000 -/* 03100 808D5770 8FB60178 */ lw $s6, 0x0178($sp) -.L808D5774: -/* 03104 808D5774 02B70019 */ multu $s5, $s7 -/* 03108 808D5778 8FAA016C */ lw $t2, 0x016C($sp) -/* 0310C 808D577C 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 -/* 03110 808D5780 0000A012 */ mflo $s4 -/* 03114 808D5784 028A8021 */ addu $s0, $s4, $t2 -/* 03118 808D5788 C60C0000 */ lwc1 $f12, 0x0000($s0) ## 00000000 -/* 0311C 808D578C C60E0004 */ lwc1 $f14, 0x0004($s0) ## 00000004 -/* 03120 808D5790 0C034261 */ jal Matrix_Translate -/* 03124 808D5794 8E060008 */ lw $a2, 0x0008($s0) ## 00000008 -/* 03128 808D5798 8FA90170 */ lw $t1, 0x0170($sp) -/* 0312C 808D579C 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 03130 808D57A0 02898821 */ addu $s1, $s4, $t1 -/* 03134 808D57A4 0C034348 */ jal Matrix_RotateY -/* 03138 808D57A8 C62C0004 */ lwc1 $f12, 0x0004($s1) ## 00000004 -/* 0313C 808D57AC C62C0000 */ lwc1 $f12, 0x0000($s1) ## 00000000 -/* 03140 808D57B0 0C0342DC */ jal Matrix_RotateX -/* 03144 808D57B4 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 03148 808D57B8 44953000 */ mtc1 $s5, $f6 ## $f6 = 0.00 -/* 0314C 808D57BC 00159880 */ sll $s3, $s5, 2 -/* 03150 808D57C0 03B35821 */ addu $t3, $sp, $s3 -/* 03154 808D57C4 468032A0 */ cvt.s.w $f10, $f6 -/* 03158 808D57C8 C56000E8 */ lwc1 $f0, 0x00E8($t3) ## 000000E8 -/* 0315C 808D57CC 02D36021 */ addu $t4, $s6, $s3 -/* 03160 808D57D0 C5880000 */ lwc1 $f8, 0x0000($t4) ## 00000000 -/* 03164 808D57D4 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 03168 808D57D8 46165482 */ mul.s $f18, $f10, $f22 -/* 0316C 808D57DC 4612A101 */ sub.s $f4, $f20, $f18 -/* 03170 808D57E0 46002182 */ mul.s $f6, $f4, $f0 -/* 03174 808D57E4 00000000 */ nop -/* 03178 808D57E8 46064302 */ mul.s $f12, $f8, $f6 -/* 0317C 808D57EC 00000000 */ nop -/* 03180 808D57F0 46140282 */ mul.s $f10, $f0, $f20 -/* 03184 808D57F4 46006386 */ mov.s $f14, $f12 -/* 03188 808D57F8 44065000 */ mfc1 $a2, $f10 -/* 0318C 808D57FC 0C0342A3 */ jal Matrix_Scale -/* 03190 808D5800 00000000 */ nop -/* 03194 808D5804 4600C306 */ mov.s $f12, $f24 -/* 03198 808D5808 0C0342DC */ jal Matrix_RotateX -/* 0319C 808D580C 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 031A0 808D5810 8FC202D0 */ lw $v0, 0x02D0($s8) ## 000002D0 -/* 031A4 808D5814 3C0FDA38 */ lui $t7, 0xDA38 ## $t7 = DA380000 -/* 031A8 808D5818 35EF0003 */ ori $t7, $t7, 0x0003 ## $t7 = DA380003 -/* 031AC 808D581C 24590008 */ addiu $t9, $v0, 0x0008 ## $t9 = 00000008 -/* 031B0 808D5820 AFD902D0 */ sw $t9, 0x02D0($s8) ## 000002D0 -/* 031B4 808D5824 AC4F0000 */ sw $t7, 0x0000($v0) ## 00000000 -/* 031B8 808D5828 8FA80164 */ lw $t0, 0x0164($sp) -/* 031BC 808D582C 3C05808D */ lui $a1, %hi(D_808D6404) ## $a1 = 808D0000 -/* 031C0 808D5830 24A56404 */ addiu $a1, $a1, %lo(D_808D6404) ## $a1 = 808D6404 -/* 031C4 808D5834 240609C2 */ addiu $a2, $zero, 0x09C2 ## $a2 = 000009C2 -/* 031C8 808D5838 00408025 */ or $s0, $v0, $zero ## $s0 = 00000000 -/* 031CC 808D583C 0C0346A2 */ jal Matrix_NewMtx -/* 031D0 808D5840 8D040000 */ lw $a0, 0x0000($t0) ## 00000000 -/* 031D4 808D5844 AE020004 */ sw $v0, 0x0004($s0) ## 00000004 -/* 031D8 808D5848 8FC202D0 */ lw $v0, 0x02D0($s8) ## 000002D0 -/* 031DC 808D584C 26B50001 */ addiu $s5, $s5, 0x0001 ## $s5 = 00000001 -/* 031E0 808D5850 0015AC00 */ sll $s5, $s5, 16 -/* 031E4 808D5854 0015AC03 */ sra $s5, $s5, 16 -/* 031E8 808D5858 244E0008 */ addiu $t6, $v0, 0x0008 ## $t6 = 00000008 -/* 031EC 808D585C 2AA10009 */ slti $at, $s5, 0x0009 -/* 031F0 808D5860 AFCE02D0 */ sw $t6, 0x02D0($s8) ## 000002D0 -/* 031F4 808D5864 3C18DE00 */ lui $t8, 0xDE00 ## $t8 = DE000000 -/* 031F8 808D5868 AC580000 */ sw $t8, 0x0000($v0) ## 00000000 -/* 031FC 808D586C 1420FFC1 */ bne $at, $zero, .L808D5774 -/* 03200 808D5870 AC520004 */ sw $s2, 0x0004($v0) ## 00000004 -/* 03204 808D5874 0C034221 */ jal Matrix_Pop -/* 03208 808D5878 00000000 */ nop -/* 0320C 808D587C 8FAD0164 */ lw $t5, 0x0164($sp) -/* 03210 808D5880 3C06808D */ lui $a2, %hi(D_808D6414) ## $a2 = 808D0000 -/* 03214 808D5884 24C66414 */ addiu $a2, $a2, %lo(D_808D6414) ## $a2 = 808D6414 -/* 03218 808D5888 27A40098 */ addiu $a0, $sp, 0x0098 ## $a0 = FFFFFF38 -/* 0321C 808D588C 240709C7 */ addiu $a3, $zero, 0x09C7 ## $a3 = 000009C7 -/* 03220 808D5890 0C031AD5 */ jal Graph_CloseDisps -/* 03224 808D5894 8DA50000 */ lw $a1, 0x0000($t5) ## 00000000 -/* 03228 808D5898 8FBF006C */ lw $ra, 0x006C($sp) -/* 0322C 808D589C D7B40018 */ ldc1 $f20, 0x0018($sp) -/* 03230 808D58A0 D7B60020 */ ldc1 $f22, 0x0020($sp) -/* 03234 808D58A4 D7B80028 */ ldc1 $f24, 0x0028($sp) -/* 03238 808D58A8 D7BA0030 */ ldc1 $f26, 0x0030($sp) -/* 0323C 808D58AC D7BC0038 */ ldc1 $f28, 0x0038($sp) -/* 03240 808D58B0 D7BE0040 */ ldc1 $f30, 0x0040($sp) -/* 03244 808D58B4 8FB00048 */ lw $s0, 0x0048($sp) -/* 03248 808D58B8 8FB1004C */ lw $s1, 0x004C($sp) -/* 0324C 808D58BC 8FB20050 */ lw $s2, 0x0050($sp) -/* 03250 808D58C0 8FB30054 */ lw $s3, 0x0054($sp) -/* 03254 808D58C4 8FB40058 */ lw $s4, 0x0058($sp) -/* 03258 808D58C8 8FB5005C */ lw $s5, 0x005C($sp) -/* 0325C 808D58CC 8FB60060 */ lw $s6, 0x0060($sp) -/* 03260 808D58D0 8FB70064 */ lw $s7, 0x0064($sp) -/* 03264 808D58D4 8FBE0068 */ lw $s8, 0x0068($sp) -/* 03268 808D58D8 03E00008 */ jr $ra -/* 0326C 808D58DC 27BD0160 */ addiu $sp, $sp, 0x0160 ## $sp = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D58E0.s b/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D58E0.s deleted file mode 100644 index c732ae8ec8..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D58E0.s +++ /dev/null @@ -1,316 +0,0 @@ -.rdata -glabel D_808D6424 - .asciz "../z_boss_fd2.c" - .balign 4 - -glabel D_808D6434 - .asciz "../z_boss_fd2.c" - .balign 4 - -.late_rodata -glabel D_808D64DC - .word 0x45ABC000 -glabel D_808D64E0 - .word 0x45AEE000 -glabel D_808D64E4 - .float 0.3 - -.text -glabel func_808D58E0 -/* 03270 808D58E0 27BDFF58 */ addiu $sp, $sp, 0xFF58 ## $sp = FFFFFF58 -/* 03274 808D58E4 AFBF006C */ sw $ra, 0x006C($sp) -/* 03278 808D58E8 AFB40068 */ sw $s4, 0x0068($sp) -/* 0327C 808D58EC AFB30064 */ sw $s3, 0x0064($sp) -/* 03280 808D58F0 AFB20060 */ sw $s2, 0x0060($sp) -/* 03284 808D58F4 AFB1005C */ sw $s1, 0x005C($sp) -/* 03288 808D58F8 AFB00058 */ sw $s0, 0x0058($sp) -/* 0328C 808D58FC F7BE0050 */ sdc1 $f30, 0x0050($sp) -/* 03290 808D5900 F7BC0048 */ sdc1 $f28, 0x0048($sp) -/* 03294 808D5904 F7BA0040 */ sdc1 $f26, 0x0040($sp) -/* 03298 808D5908 F7B80038 */ sdc1 $f24, 0x0038($sp) -/* 0329C 808D590C F7B60030 */ sdc1 $f22, 0x0030($sp) -/* 032A0 808D5910 F7B40028 */ sdc1 $f20, 0x0028($sp) -/* 032A4 808D5914 AFA500AC */ sw $a1, 0x00AC($sp) -/* 032A8 808D5918 8C8E0118 */ lw $t6, 0x0118($a0) ## 00000118 -/* 032AC 808D591C 00809025 */ or $s2, $a0, $zero ## $s2 = 00000000 -/* 032B0 808D5920 3C06808D */ lui $a2, %hi(D_808D6424) ## $a2 = 808D0000 -/* 032B4 808D5924 AFAE00A0 */ sw $t6, 0x00A0($sp) -/* 032B8 808D5928 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000 -/* 032BC 808D592C 24C66424 */ addiu $a2, $a2, %lo(D_808D6424) ## $a2 = 808D6424 -/* 032C0 808D5930 27A40088 */ addiu $a0, $sp, 0x0088 ## $a0 = FFFFFFE0 -/* 032C4 808D5934 240709D3 */ addiu $a3, $zero, 0x09D3 ## $a3 = 000009D3 -/* 032C8 808D5938 0C031AB1 */ jal Graph_OpenDisps -/* 032CC 808D593C 00A0A025 */ or $s4, $a1, $zero ## $s4 = 00000000 -/* 032D0 808D5940 3C0145B2 */ lui $at, 0x45B2 ## $at = 45B20000 -/* 032D4 808D5944 4481F000 */ mtc1 $at, $f30 ## $f30 = 5696.00 -/* 032D8 808D5948 3C01808D */ lui $at, %hi(D_808D64DC) ## $at = 808D0000 -/* 032DC 808D594C C43C64DC */ lwc1 $f28, %lo(D_808D64DC)($at) -/* 032E0 808D5950 3C01808D */ lui $at, %hi(D_808D64E0) ## $at = 808D0000 -/* 032E4 808D5954 C43A64E0 */ lwc1 $f26, %lo(D_808D64E0)($at) -/* 032E8 808D5958 3C013FC0 */ lui $at, 0x3FC0 ## $at = 3FC00000 -/* 032EC 808D595C 4481C000 */ mtc1 $at, $f24 ## $f24 = 1.50 -/* 032F0 808D5960 3C01808D */ lui $at, %hi(D_808D64E4) ## $at = 808D0000 -/* 032F4 808D5964 C43664E4 */ lwc1 $f22, %lo(D_808D64E4)($at) -/* 032F8 808D5968 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000 -/* 032FC 808D596C 24133200 */ addiu $s3, $zero, 0x3200 ## $s3 = 00003200 -.L808D5970: -/* 03300 808D5970 02130019 */ multu $s0, $s3 -/* 03304 808D5974 8659019C */ lh $t9, 0x019C($s2) ## 0000019C -/* 03308 808D5978 44993000 */ mtc1 $t9, $f6 ## $f6 = 0.00 -/* 0330C 808D597C 00000000 */ nop -/* 03310 808D5980 46803220 */ cvt.s.w $f8, $f6 -/* 03314 808D5984 0000C012 */ mflo $t8 -/* 03318 808D5988 44982000 */ mtc1 $t8, $f4 ## $f4 = 0.00 -/* 0331C 808D598C 461A4282 */ mul.s $f10, $f8, $f26 -/* 03320 808D5990 46802520 */ cvt.s.w $f20, $f4 -/* 03324 808D5994 46145400 */ add.s $f16, $f10, $f20 -/* 03328 808D5998 4600848D */ trunc.w.s $f18, $f16 -/* 0332C 808D599C 44049000 */ mfc1 $a0, $f18 -/* 03330 808D59A0 00000000 */ nop -/* 03334 808D59A4 00042400 */ sll $a0, $a0, 16 -/* 03338 808D59A8 0C01DE1C */ jal Math_SinS - ## sins? -/* 0333C 808D59AC 00042403 */ sra $a0, $a0, 16 -/* 03340 808D59B0 46160102 */ mul.s $f4, $f0, $f22 -/* 03344 808D59B4 00104880 */ sll $t1, $s0, 2 -/* 03348 808D59B8 02498821 */ addu $s1, $s2, $t1 -/* 0334C 808D59BC 46182180 */ add.s $f6, $f4, $f24 -/* 03350 808D59C0 E626101C */ swc1 $f6, 0x101C($s1) ## 0000101C -/* 03354 808D59C4 864A019C */ lh $t2, 0x019C($s2) ## 0000019C -/* 03358 808D59C8 448A4000 */ mtc1 $t2, $f8 ## $f8 = 0.00 -/* 0335C 808D59CC 00000000 */ nop -/* 03360 808D59D0 468042A0 */ cvt.s.w $f10, $f8 -/* 03364 808D59D4 461C5402 */ mul.s $f16, $f10, $f28 -/* 03368 808D59D8 46148480 */ add.s $f18, $f16, $f20 -/* 0336C 808D59DC 4600910D */ trunc.w.s $f4, $f18 -/* 03370 808D59E0 44042000 */ mfc1 $a0, $f4 -/* 03374 808D59E4 00000000 */ nop -/* 03378 808D59E8 00042400 */ sll $a0, $a0, 16 -/* 0337C 808D59EC 0C01DE1C */ jal Math_SinS - ## sins? -/* 03380 808D59F0 00042403 */ sra $a0, $a0, 16 -/* 03384 808D59F4 46160182 */ mul.s $f6, $f0, $f22 -/* 03388 808D59F8 46183200 */ add.s $f8, $f6, $f24 -/* 0338C 808D59FC E62811B8 */ swc1 $f8, 0x11B8($s1) ## 000011B8 -/* 03390 808D5A00 864C019C */ lh $t4, 0x019C($s2) ## 0000019C -/* 03394 808D5A04 448C5000 */ mtc1 $t4, $f10 ## $f10 = 0.00 -/* 03398 808D5A08 00000000 */ nop -/* 0339C 808D5A0C 46805420 */ cvt.s.w $f16, $f10 -/* 033A0 808D5A10 461E8482 */ mul.s $f18, $f16, $f30 -/* 033A4 808D5A14 46149100 */ add.s $f4, $f18, $f20 -/* 033A8 808D5A18 4600218D */ trunc.w.s $f6, $f4 -/* 033AC 808D5A1C 44043000 */ mfc1 $a0, $f6 -/* 033B0 808D5A20 00000000 */ nop -/* 033B4 808D5A24 00042400 */ sll $a0, $a0, 16 -/* 033B8 808D5A28 0C01DE0D */ jal Math_CosS - ## coss? -/* 033BC 808D5A2C 00042403 */ sra $a0, $a0, 16 -/* 033C0 808D5A30 46160202 */ mul.s $f8, $f0, $f22 -/* 033C4 808D5A34 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001 -/* 033C8 808D5A38 00108400 */ sll $s0, $s0, 16 -/* 033CC 808D5A3C 00108403 */ sra $s0, $s0, 16 -/* 033D0 808D5A40 2A01000A */ slti $at, $s0, 0x000A -/* 033D4 808D5A44 46184280 */ add.s $f10, $f8, $f24 -/* 033D8 808D5A48 1420FFC9 */ bne $at, $zero, .L808D5970 -/* 033DC 808D5A4C E62A1354 */ swc1 $f10, 0x1354($s1) ## 00001354 -/* 033E0 808D5A50 8FAE00AC */ lw $t6, 0x00AC($sp) -/* 033E4 808D5A54 0C024F61 */ jal func_80093D84 -/* 033E8 808D5A58 8DC40000 */ lw $a0, 0x0000($t6) ## 00000000 -/* 033EC 808D5A5C 8E8202D0 */ lw $v0, 0x02D0($s4) ## 000002D0 -/* 033F0 808D5A60 3C190600 */ lui $t9, 0x0600 ## $t9 = 06000000 -/* 033F4 808D5A64 27394B48 */ addiu $t9, $t9, 0x4B48 ## $t9 = 06004B48 -/* 033F8 808D5A68 244F0008 */ addiu $t7, $v0, 0x0008 ## $t7 = 00000008 -/* 033FC 808D5A6C AE8F02D0 */ sw $t7, 0x02D0($s4) ## 000002D0 -/* 03400 808D5A70 3C18DE00 */ lui $t8, 0xDE00 ## $t8 = DE000000 -/* 03404 808D5A74 AC580000 */ sw $t8, 0x0000($v0) ## 00000000 -/* 03408 808D5A78 AC590004 */ sw $t9, 0x0004($v0) ## 00000004 -/* 0340C 808D5A7C 8E8302D0 */ lw $v1, 0x02D0($s4) ## 000002D0 -/* 03410 808D5A80 3C10FA00 */ lui $s0, 0xFA00 ## $s0 = FA000000 -/* 03414 808D5A84 444AF800 */ cfc1 $t2, $31 -/* 03418 808D5A88 24680008 */ addiu $t0, $v1, 0x0008 ## $t0 = 00000008 -/* 0341C 808D5A8C AE8802D0 */ sw $t0, 0x02D0($s4) ## 000002D0 -/* 03420 808D5A90 AC700000 */ sw $s0, 0x0000($v1) ## 00000000 -/* 03424 808D5A94 8FA900A0 */ lw $t1, 0x00A0($sp) -/* 03428 808D5A98 240B0001 */ addiu $t3, $zero, 0x0001 ## $t3 = 00000001 -/* 0342C 808D5A9C 44CBF800 */ ctc1 $t3, $31 -/* 03430 808D5AA0 C5300284 */ lwc1 $f16, 0x0284($t1) ## 00000284 -/* 03434 808D5AA4 3C11FF00 */ lui $s1, 0xFF00 ## $s1 = FF000000 -/* 03438 808D5AA8 3C014F00 */ lui $at, 0x4F00 ## $at = 4F000000 -/* 0343C 808D5AAC 460084A4 */ cvt.w.s $f18, $f16 -/* 03440 808D5AB0 2648101C */ addiu $t0, $s2, 0x101C ## $t0 = 0000101C -/* 03444 808D5AB4 26590FA4 */ addiu $t9, $s2, 0x0FA4 ## $t9 = 00000FA4 -/* 03448 808D5AB8 26580EB4 */ addiu $t8, $s2, 0x0EB4 ## $t8 = 00000EB4 -/* 0344C 808D5ABC 444BF800 */ cfc1 $t3, $31 -/* 03450 808D5AC0 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000 -/* 03454 808D5AC4 26461044 */ addiu $a2, $s2, 0x1044 ## $a2 = 00001044 -/* 03458 808D5AC8 316B0078 */ andi $t3, $t3, 0x0078 ## $t3 = 00000000 -/* 0345C 808D5ACC 11600012 */ beq $t3, $zero, .L808D5B18 -/* 03460 808D5AD0 26470F2C */ addiu $a3, $s2, 0x0F2C ## $a3 = 00000F2C -/* 03464 808D5AD4 44819000 */ mtc1 $at, $f18 ## $f18 = 2147483648.00 -/* 03468 808D5AD8 240B0001 */ addiu $t3, $zero, 0x0001 ## $t3 = 00000001 -/* 0346C 808D5ADC 46128481 */ sub.s $f18, $f16, $f18 -/* 03470 808D5AE0 44CBF800 */ ctc1 $t3, $31 -/* 03474 808D5AE4 00000000 */ nop -/* 03478 808D5AE8 460094A4 */ cvt.w.s $f18, $f18 -/* 0347C 808D5AEC 444BF800 */ cfc1 $t3, $31 -/* 03480 808D5AF0 00000000 */ nop -/* 03484 808D5AF4 316B0078 */ andi $t3, $t3, 0x0078 ## $t3 = 00000000 -/* 03488 808D5AF8 15600005 */ bne $t3, $zero, .L808D5B10 -/* 0348C 808D5AFC 00000000 */ nop -/* 03490 808D5B00 440B9000 */ mfc1 $t3, $f18 -/* 03494 808D5B04 3C018000 */ lui $at, 0x8000 ## $at = 80000000 -/* 03498 808D5B08 10000007 */ beq $zero, $zero, .L808D5B28 -/* 0349C 808D5B0C 01615825 */ or $t3, $t3, $at ## $t3 = 80000000 -.L808D5B10: -/* 034A0 808D5B10 10000005 */ beq $zero, $zero, .L808D5B28 -/* 034A4 808D5B14 240BFFFF */ addiu $t3, $zero, 0xFFFF ## $t3 = FFFFFFFF -.L808D5B18: -/* 034A8 808D5B18 440B9000 */ mfc1 $t3, $f18 -/* 034AC 808D5B1C 00000000 */ nop -/* 034B0 808D5B20 0560FFFB */ bltz $t3, .L808D5B10 -/* 034B4 808D5B24 00000000 */ nop -.L808D5B28: -/* 034B8 808D5B28 316C00FF */ andi $t4, $t3, 0x00FF ## $t4 = 000000FF -/* 034BC 808D5B2C 000C6C00 */ sll $t5, $t4, 16 -/* 034C0 808D5B30 01B17025 */ or $t6, $t5, $s1 ## $t6 = FF000000 -/* 034C4 808D5B34 35CF00FF */ ori $t7, $t6, 0x00FF ## $t7 = FF0000FF -/* 034C8 808D5B38 AC6F0004 */ sw $t7, 0x0004($v1) ## 00000004 -/* 034CC 808D5B3C 44CAF800 */ ctc1 $t2, $31 -/* 034D0 808D5B40 AFA80018 */ sw $t0, 0x0018($sp) -/* 034D4 808D5B44 AFB90014 */ sw $t9, 0x0014($sp) -/* 034D8 808D5B48 AFB80010 */ sw $t8, 0x0010($sp) -/* 034DC 808D5B4C 0C2354B3 */ jal func_808D52CC -/* 034E0 808D5B50 8FA500AC */ lw $a1, 0x00AC($sp) -/* 034E4 808D5B54 8E8302D0 */ lw $v1, 0x02D0($s4) ## 000002D0 -/* 034E8 808D5B58 444BF800 */ cfc1 $t3, $31 -/* 034EC 808D5B5C 240C0001 */ addiu $t4, $zero, 0x0001 ## $t4 = 00000001 -/* 034F0 808D5B60 24690008 */ addiu $t1, $v1, 0x0008 ## $t1 = 00000008 -/* 034F4 808D5B64 AE8902D0 */ sw $t1, 0x02D0($s4) ## 000002D0 -/* 034F8 808D5B68 AC700000 */ sw $s0, 0x0000($v1) ## 00000000 -/* 034FC 808D5B6C 8FAA00A0 */ lw $t2, 0x00A0($sp) -/* 03500 808D5B70 44CCF800 */ ctc1 $t4, $31 -/* 03504 808D5B74 3C014F00 */ lui $at, 0x4F00 ## $at = 4F000000 -/* 03508 808D5B78 C5440288 */ lwc1 $f4, 0x0288($t2) ## 00000288 -/* 0350C 808D5B7C 264911B8 */ addiu $t1, $s2, 0x11B8 ## $t1 = 000011B8 -/* 03510 808D5B80 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000 -/* 03514 808D5B84 460021A4 */ cvt.w.s $f6, $f4 -/* 03518 808D5B88 264611E0 */ addiu $a2, $s2, 0x11E0 ## $a2 = 000011E0 -/* 0351C 808D5B8C 264710C8 */ addiu $a3, $s2, 0x10C8 ## $a3 = 000010C8 -/* 03520 808D5B90 26591050 */ addiu $t9, $s2, 0x1050 ## $t9 = 00001050 -/* 03524 808D5B94 444CF800 */ cfc1 $t4, $31 -/* 03528 808D5B98 26481140 */ addiu $t0, $s2, 0x1140 ## $t0 = 00001140 -/* 0352C 808D5B9C 318C0078 */ andi $t4, $t4, 0x0078 ## $t4 = 00000000 -/* 03530 808D5BA0 51800013 */ beql $t4, $zero, .L808D5BF0 -/* 03534 808D5BA4 440C3000 */ mfc1 $t4, $f6 -/* 03538 808D5BA8 44813000 */ mtc1 $at, $f6 ## $f6 = 2147483648.00 -/* 0353C 808D5BAC 240C0001 */ addiu $t4, $zero, 0x0001 ## $t4 = 00000001 -/* 03540 808D5BB0 46062181 */ sub.s $f6, $f4, $f6 -/* 03544 808D5BB4 44CCF800 */ ctc1 $t4, $31 -/* 03548 808D5BB8 00000000 */ nop -/* 0354C 808D5BBC 460031A4 */ cvt.w.s $f6, $f6 -/* 03550 808D5BC0 444CF800 */ cfc1 $t4, $31 -/* 03554 808D5BC4 00000000 */ nop -/* 03558 808D5BC8 318C0078 */ andi $t4, $t4, 0x0078 ## $t4 = 00000000 -/* 0355C 808D5BCC 15800005 */ bne $t4, $zero, .L808D5BE4 -/* 03560 808D5BD0 00000000 */ nop -/* 03564 808D5BD4 440C3000 */ mfc1 $t4, $f6 -/* 03568 808D5BD8 3C018000 */ lui $at, 0x8000 ## $at = 80000000 -/* 0356C 808D5BDC 10000007 */ beq $zero, $zero, .L808D5BFC -/* 03570 808D5BE0 01816025 */ or $t4, $t4, $at ## $t4 = 80000000 -.L808D5BE4: -/* 03574 808D5BE4 10000005 */ beq $zero, $zero, .L808D5BFC -/* 03578 808D5BE8 240CFFFF */ addiu $t4, $zero, 0xFFFF ## $t4 = FFFFFFFF -/* 0357C 808D5BEC 440C3000 */ mfc1 $t4, $f6 -.L808D5BF0: -/* 03580 808D5BF0 00000000 */ nop -/* 03584 808D5BF4 0580FFFB */ bltz $t4, .L808D5BE4 -/* 03588 808D5BF8 00000000 */ nop -.L808D5BFC: -/* 0358C 808D5BFC 318D00FF */ andi $t5, $t4, 0x00FF ## $t5 = 000000FF -/* 03590 808D5C00 000D7400 */ sll $t6, $t5, 16 -/* 03594 808D5C04 01D17825 */ or $t7, $t6, $s1 ## $t7 = FF000000 -/* 03598 808D5C08 35F800FF */ ori $t8, $t7, 0x00FF ## $t8 = FF0000FF -/* 0359C 808D5C0C AC780004 */ sw $t8, 0x0004($v1) ## 00000004 -/* 035A0 808D5C10 44CBF800 */ ctc1 $t3, $31 -/* 035A4 808D5C14 AFA90018 */ sw $t1, 0x0018($sp) -/* 035A8 808D5C18 AFA80014 */ sw $t0, 0x0014($sp) -/* 035AC 808D5C1C AFB90010 */ sw $t9, 0x0010($sp) -/* 035B0 808D5C20 0C2354B3 */ jal func_808D52CC -/* 035B4 808D5C24 8FA500AC */ lw $a1, 0x00AC($sp) -/* 035B8 808D5C28 8E8302D0 */ lw $v1, 0x02D0($s4) ## 000002D0 -/* 035BC 808D5C2C 444CF800 */ cfc1 $t4, $31 -/* 035C0 808D5C30 240D0001 */ addiu $t5, $zero, 0x0001 ## $t5 = 00000001 -/* 035C4 808D5C34 246A0008 */ addiu $t2, $v1, 0x0008 ## $t2 = 00000008 -/* 035C8 808D5C38 AE8A02D0 */ sw $t2, 0x02D0($s4) ## 000002D0 -/* 035CC 808D5C3C AC700000 */ sw $s0, 0x0000($v1) ## 00000000 -/* 035D0 808D5C40 8FAB00A0 */ lw $t3, 0x00A0($sp) -/* 035D4 808D5C44 44CDF800 */ ctc1 $t5, $31 -/* 035D8 808D5C48 3C014F00 */ lui $at, 0x4F00 ## $at = 4F000000 -/* 035DC 808D5C4C C568028C */ lwc1 $f8, 0x028C($t3) ## 0000028C -/* 035E0 808D5C50 264A1354 */ addiu $t2, $s2, 0x1354 ## $t2 = 00001354 -/* 035E4 808D5C54 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000 -/* 035E8 808D5C58 460042A4 */ cvt.w.s $f10, $f8 -/* 035EC 808D5C5C 2646137C */ addiu $a2, $s2, 0x137C ## $a2 = 0000137C -/* 035F0 808D5C60 26471264 */ addiu $a3, $s2, 0x1264 ## $a3 = 00001264 -/* 035F4 808D5C64 264811EC */ addiu $t0, $s2, 0x11EC ## $t0 = 000011EC -/* 035F8 808D5C68 444DF800 */ cfc1 $t5, $31 -/* 035FC 808D5C6C 264912DC */ addiu $t1, $s2, 0x12DC ## $t1 = 000012DC -/* 03600 808D5C70 31AD0078 */ andi $t5, $t5, 0x0078 ## $t5 = 00000000 -/* 03604 808D5C74 51A00013 */ beql $t5, $zero, .L808D5CC4 -/* 03608 808D5C78 440D5000 */ mfc1 $t5, $f10 -/* 0360C 808D5C7C 44815000 */ mtc1 $at, $f10 ## $f10 = 2147483648.00 -/* 03610 808D5C80 240D0001 */ addiu $t5, $zero, 0x0001 ## $t5 = 00000001 -/* 03614 808D5C84 460A4281 */ sub.s $f10, $f8, $f10 -/* 03618 808D5C88 44CDF800 */ ctc1 $t5, $31 -/* 0361C 808D5C8C 00000000 */ nop -/* 03620 808D5C90 460052A4 */ cvt.w.s $f10, $f10 -/* 03624 808D5C94 444DF800 */ cfc1 $t5, $31 -/* 03628 808D5C98 00000000 */ nop -/* 0362C 808D5C9C 31AD0078 */ andi $t5, $t5, 0x0078 ## $t5 = 00000000 -/* 03630 808D5CA0 15A00005 */ bne $t5, $zero, .L808D5CB8 -/* 03634 808D5CA4 00000000 */ nop -/* 03638 808D5CA8 440D5000 */ mfc1 $t5, $f10 -/* 0363C 808D5CAC 3C018000 */ lui $at, 0x8000 ## $at = 80000000 -/* 03640 808D5CB0 10000007 */ beq $zero, $zero, .L808D5CD0 -/* 03644 808D5CB4 01A16825 */ or $t5, $t5, $at ## $t5 = 80000000 -.L808D5CB8: -/* 03648 808D5CB8 10000005 */ beq $zero, $zero, .L808D5CD0 -/* 0364C 808D5CBC 240DFFFF */ addiu $t5, $zero, 0xFFFF ## $t5 = FFFFFFFF -/* 03650 808D5CC0 440D5000 */ mfc1 $t5, $f10 -.L808D5CC4: -/* 03654 808D5CC4 00000000 */ nop -/* 03658 808D5CC8 05A0FFFB */ bltz $t5, .L808D5CB8 -/* 0365C 808D5CCC 00000000 */ nop -.L808D5CD0: -/* 03660 808D5CD0 31AE00FF */ andi $t6, $t5, 0x00FF ## $t6 = 000000FF -/* 03664 808D5CD4 000E7C00 */ sll $t7, $t6, 16 -/* 03668 808D5CD8 01F1C025 */ or $t8, $t7, $s1 ## $t8 = FF000000 -/* 0366C 808D5CDC 371900FF */ ori $t9, $t8, 0x00FF ## $t9 = FF0000FF -/* 03670 808D5CE0 AC790004 */ sw $t9, 0x0004($v1) ## 00000004 -/* 03674 808D5CE4 44CCF800 */ ctc1 $t4, $31 -/* 03678 808D5CE8 AFAA0018 */ sw $t2, 0x0018($sp) -/* 0367C 808D5CEC AFA90014 */ sw $t1, 0x0014($sp) -/* 03680 808D5CF0 AFA80010 */ sw $t0, 0x0010($sp) -/* 03684 808D5CF4 0C2354B3 */ jal func_808D52CC -/* 03688 808D5CF8 8FA500AC */ lw $a1, 0x00AC($sp) -/* 0368C 808D5CFC 8FAB00AC */ lw $t3, 0x00AC($sp) -/* 03690 808D5D00 3C06808D */ lui $a2, %hi(D_808D6434) ## $a2 = 808D0000 -/* 03694 808D5D04 24C66434 */ addiu $a2, $a2, %lo(D_808D6434) ## $a2 = 808D6434 -/* 03698 808D5D08 27A40088 */ addiu $a0, $sp, 0x0088 ## $a0 = FFFFFFE0 -/* 0369C 808D5D0C 24070A29 */ addiu $a3, $zero, 0x0A29 ## $a3 = 00000A29 -/* 036A0 808D5D10 0C031AD5 */ jal Graph_CloseDisps -/* 036A4 808D5D14 8D650000 */ lw $a1, 0x0000($t3) ## 00000000 -/* 036A8 808D5D18 8FBF006C */ lw $ra, 0x006C($sp) -/* 036AC 808D5D1C D7B40028 */ ldc1 $f20, 0x0028($sp) -/* 036B0 808D5D20 D7B60030 */ ldc1 $f22, 0x0030($sp) -/* 036B4 808D5D24 D7B80038 */ ldc1 $f24, 0x0038($sp) -/* 036B8 808D5D28 D7BA0040 */ ldc1 $f26, 0x0040($sp) -/* 036BC 808D5D2C D7BC0048 */ ldc1 $f28, 0x0048($sp) -/* 036C0 808D5D30 D7BE0050 */ ldc1 $f30, 0x0050($sp) -/* 036C4 808D5D34 8FB00058 */ lw $s0, 0x0058($sp) -/* 036C8 808D5D38 8FB1005C */ lw $s1, 0x005C($sp) -/* 036CC 808D5D3C 8FB20060 */ lw $s2, 0x0060($sp) -/* 036D0 808D5D40 8FB30064 */ lw $s3, 0x0064($sp) -/* 036D4 808D5D44 8FB40068 */ lw $s4, 0x0068($sp) -/* 036D8 808D5D48 03E00008 */ jr $ra -/* 036DC 808D5D4C 27BD00A8 */ addiu $sp, $sp, 0x00A8 ## $sp = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Vb_Ball/EnVbBall_Destroy.s b/asm/non_matchings/overlays/actors/ovl_En_Vb_Ball/EnVbBall_Destroy.s deleted file mode 100644 index e863defa87..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Vb_Ball/EnVbBall_Destroy.s +++ /dev/null @@ -1,17 +0,0 @@ -glabel EnVbBall_Destroy -/* 00180 80B29120 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00184 80B29124 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00188 80B29128 848E001C */ lh $t6, 0x001C($a0) ## 0000001C -/* 0018C 80B2912C 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000 -/* 00190 80B29130 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000 -/* 00194 80B29134 29C100C8 */ slti $at, $t6, 0x00C8 -/* 00198 80B29138 50200004 */ beql $at, $zero, .L80B2914C -/* 0019C 80B2913C 8FBF0014 */ lw $ra, 0x0014($sp) -/* 001A0 80B29140 0C0170EB */ jal Collider_DestroyCylinder - -/* 001A4 80B29144 24C50168 */ addiu $a1, $a2, 0x0168 ## $a1 = 00000168 -/* 001A8 80B29148 8FBF0014 */ lw $ra, 0x0014($sp) -.L80B2914C: -/* 001AC 80B2914C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 001B0 80B29150 03E00008 */ jr $ra -/* 001B4 80B29154 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Vb_Ball/EnVbBall_Draw.s b/asm/non_matchings/overlays/actors/ovl_En_Vb_Ball/EnVbBall_Draw.s deleted file mode 100644 index cde93998d5..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Vb_Ball/EnVbBall_Draw.s +++ /dev/null @@ -1,173 +0,0 @@ -.rdata -glabel D_80B2A090 - .asciz "../z_en_vb_ball.c" - .balign 4 - -glabel D_80B2A0A4 - .asciz "../z_en_vb_ball.c" - .balign 4 - -glabel D_80B2A0B8 - .asciz "../z_en_vb_ball.c" - .balign 4 - -glabel D_80B2A0CC - .asciz "../z_en_vb_ball.c" - .balign 4 - -.text -glabel EnVbBall_Draw -/* 00DE0 80B29D80 27BDFFA8 */ addiu $sp, $sp, 0xFFA8 ## $sp = FFFFFFA8 -/* 00DE4 80B29D84 AFBF001C */ sw $ra, 0x001C($sp) -/* 00DE8 80B29D88 AFB00018 */ sw $s0, 0x0018($sp) -/* 00DEC 80B29D8C AFA40058 */ sw $a0, 0x0058($sp) -/* 00DF0 80B29D90 AFA5005C */ sw $a1, 0x005C($sp) -/* 00DF4 80B29D94 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000 -/* 00DF8 80B29D98 3C0680B3 */ lui $a2, %hi(D_80B2A090) ## $a2 = 80B30000 -/* 00DFC 80B29D9C 24C6A090 */ addiu $a2, $a2, %lo(D_80B2A090) ## $a2 = 80B2A090 -/* 00E00 80B29DA0 27A4003C */ addiu $a0, $sp, 0x003C ## $a0 = FFFFFFE4 -/* 00E04 80B29DA4 2407025C */ addiu $a3, $zero, 0x025C ## $a3 = 0000025C -/* 00E08 80B29DA8 0C031AB1 */ jal Graph_OpenDisps -/* 00E0C 80B29DAC 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000 -/* 00E10 80B29DB0 8FAF005C */ lw $t7, 0x005C($sp) -/* 00E14 80B29DB4 0C024F46 */ jal func_80093D18 -/* 00E18 80B29DB8 8DE40000 */ lw $a0, 0x0000($t7) ## 00000000 -/* 00E1C 80B29DBC 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0 -/* 00E20 80B29DC0 3C19DA38 */ lui $t9, 0xDA38 ## $t9 = DA380000 -/* 00E24 80B29DC4 37390003 */ ori $t9, $t9, 0x0003 ## $t9 = DA380003 -/* 00E28 80B29DC8 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008 -/* 00E2C 80B29DCC AE1802C0 */ sw $t8, 0x02C0($s0) ## 000002C0 -/* 00E30 80B29DD0 AC590000 */ sw $t9, 0x0000($v0) ## 00000000 -/* 00E34 80B29DD4 8FA8005C */ lw $t0, 0x005C($sp) -/* 00E38 80B29DD8 3C0580B3 */ lui $a1, %hi(D_80B2A0A4) ## $a1 = 80B30000 -/* 00E3C 80B29DDC 24A5A0A4 */ addiu $a1, $a1, %lo(D_80B2A0A4) ## $a1 = 80B2A0A4 -/* 00E40 80B29DE0 8D040000 */ lw $a0, 0x0000($t0) ## 00000000 -/* 00E44 80B29DE4 2406025F */ addiu $a2, $zero, 0x025F ## $a2 = 0000025F -/* 00E48 80B29DE8 0C0346A2 */ jal Matrix_NewMtx -/* 00E4C 80B29DEC AFA20038 */ sw $v0, 0x0038($sp) -/* 00E50 80B29DF0 8FA30038 */ lw $v1, 0x0038($sp) -/* 00E54 80B29DF4 3C040601 */ lui $a0, 0x0601 ## $a0 = 06010000 -/* 00E58 80B29DF8 24849F20 */ addiu $a0, $a0, 0x9F20 ## $a0 = 06009F20 -/* 00E5C 80B29DFC AC620004 */ sw $v0, 0x0004($v1) ## 00000004 -/* 00E60 80B29E00 8FA90058 */ lw $t1, 0x0058($sp) -/* 00E64 80B29E04 00046100 */ sll $t4, $a0, 4 -/* 00E68 80B29E08 000C6F02 */ srl $t5, $t4, 28 -/* 00E6C 80B29E0C 852A001C */ lh $t2, 0x001C($t1) ## 0000001C -/* 00E70 80B29E10 000D7080 */ sll $t6, $t5, 2 -/* 00E74 80B29E14 3C0BDE00 */ lui $t3, 0xDE00 ## $t3 = DE000000 -/* 00E78 80B29E18 294100C8 */ slti $at, $t2, 0x00C8 -/* 00E7C 80B29E1C 14200016 */ bne $at, $zero, .L80B29E78 -/* 00E80 80B29E20 3C0F8016 */ lui $t7, %hi(gSegments) -/* 00E84 80B29E24 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0 -/* 00E88 80B29E28 3C040601 */ lui $a0, 0x0601 ## $a0 = 06010000 -/* 00E8C 80B29E2C 2484B2F8 */ addiu $a0, $a0, 0xB2F8 ## $a0 = 0600B2F8 -/* 00E90 80B29E30 00046900 */ sll $t5, $a0, 4 -/* 00E94 80B29E34 000D7702 */ srl $t6, $t5, 28 -/* 00E98 80B29E38 244B0008 */ addiu $t3, $v0, 0x0008 ## $t3 = 00000008 -/* 00E9C 80B29E3C AE0B02C0 */ sw $t3, 0x02C0($s0) ## 000002C0 -/* 00EA0 80B29E40 000E7880 */ sll $t7, $t6, 2 -/* 00EA4 80B29E44 3C0CDE00 */ lui $t4, 0xDE00 ## $t4 = DE000000 -/* 00EA8 80B29E48 3C188016 */ lui $t8, %hi(gSegments) -/* 00EAC 80B29E4C 030FC021 */ addu $t8, $t8, $t7 -/* 00EB0 80B29E50 3C0100FF */ lui $at, 0x00FF ## $at = 00FF0000 -/* 00EB4 80B29E54 AC4C0000 */ sw $t4, 0x0000($v0) ## 00000000 -/* 00EB8 80B29E58 8F186FA8 */ lw $t8, %lo(gSegments)($t8) -/* 00EBC 80B29E5C 3421FFFF */ ori $at, $at, 0xFFFF ## $at = 00FFFFFF -/* 00EC0 80B29E60 0081C824 */ and $t9, $a0, $at -/* 00EC4 80B29E64 3C018000 */ lui $at, 0x8000 ## $at = 80000000 -/* 00EC8 80B29E68 03194021 */ addu $t0, $t8, $t9 -/* 00ECC 80B29E6C 01014821 */ addu $t1, $t0, $at -/* 00ED0 80B29E70 1000004E */ beq $zero, $zero, .L80B29FAC -/* 00ED4 80B29E74 AC490004 */ sw $t1, 0x0004($v0) ## 00000004 -.L80B29E78: -/* 00ED8 80B29E78 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0 -/* 00EDC 80B29E7C 01EE7821 */ addu $t7, $t7, $t6 -/* 00EE0 80B29E80 3C0100FF */ lui $at, 0x00FF ## $at = 00FF0000 -/* 00EE4 80B29E84 244A0008 */ addiu $t2, $v0, 0x0008 ## $t2 = 00000008 -/* 00EE8 80B29E88 AE0A02C0 */ sw $t2, 0x02C0($s0) ## 000002C0 -/* 00EEC 80B29E8C AC4B0000 */ sw $t3, 0x0000($v0) ## 00000000 -/* 00EF0 80B29E90 8DEF6FA8 */ lw $t7, %lo(gSegments)($t7) -/* 00EF4 80B29E94 3421FFFF */ ori $at, $at, 0xFFFF ## $at = 00FFFFFF -/* 00EF8 80B29E98 0081C024 */ and $t8, $a0, $at -/* 00EFC 80B29E9C 3C018000 */ lui $at, 0x8000 ## $at = 80000000 -/* 00F00 80B29EA0 01F8C821 */ addu $t9, $t7, $t8 -/* 00F04 80B29EA4 03214021 */ addu $t0, $t9, $at -/* 00F08 80B29EA8 AC480004 */ sw $t0, 0x0004($v0) ## 00000004 -/* 00F0C 80B29EAC 8FA9005C */ lw $t1, 0x005C($sp) -/* 00F10 80B29EB0 0C025011 */ jal func_80094044 -/* 00F14 80B29EB4 8D240000 */ lw $a0, 0x0000($t1) ## 00000000 -/* 00F18 80B29EB8 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 00F1C 80B29EBC 8FA40058 */ lw $a0, 0x0058($sp) -/* 00F20 80B29EC0 3C0BFA00 */ lui $t3, 0xFA00 ## $t3 = FA000000 -/* 00F24 80B29EC4 244A0008 */ addiu $t2, $v0, 0x0008 ## $t2 = 00000008 -/* 00F28 80B29EC8 AE0A02D0 */ sw $t2, 0x02D0($s0) ## 000002D0 -/* 00F2C 80B29ECC AC4B0000 */ sw $t3, 0x0000($v0) ## 00000000 -/* 00F30 80B29ED0 C4840164 */ lwc1 $f4, 0x0164($a0) ## 00000164 -/* 00F34 80B29ED4 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000 -/* 00F38 80B29ED8 44817000 */ mtc1 $at, $f14 ## $f14 = 100.00 -/* 00F3C 80B29EDC 4600218D */ trunc.w.s $f6, $f4 -/* 00F40 80B29EE0 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 -/* 00F44 80B29EE4 440F3000 */ mfc1 $t7, $f6 -/* 00F48 80B29EE8 00000000 */ nop -/* 00F4C 80B29EEC 31F800FF */ andi $t8, $t7, 0x00FF ## $t8 = 00000000 -/* 00F50 80B29EF0 AC580004 */ sw $t8, 0x0004($v0) ## 00000004 -/* 00F54 80B29EF4 8C86002C */ lw $a2, 0x002C($a0) ## 0000002C -/* 00F58 80B29EF8 0C034261 */ jal Matrix_Translate -/* 00F5C 80B29EFC C48C0024 */ lwc1 $f12, 0x0024($a0) ## 00000024 -/* 00F60 80B29F00 8FB90058 */ lw $t9, 0x0058($sp) -/* 00F64 80B29F04 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 00F68 80B29F08 44817000 */ mtc1 $at, $f14 ## $f14 = 1.00 -/* 00F6C 80B29F0C C72C0160 */ lwc1 $f12, 0x0160($t9) ## 00000160 -/* 00F70 80B29F10 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 00F74 80B29F14 44066000 */ mfc1 $a2, $f12 -/* 00F78 80B29F18 0C0342A3 */ jal Matrix_Scale -/* 00F7C 80B29F1C 00000000 */ nop -/* 00F80 80B29F20 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 00F84 80B29F24 3C09DA38 */ lui $t1, 0xDA38 ## $t1 = DA380000 -/* 00F88 80B29F28 35290003 */ ori $t1, $t1, 0x0003 ## $t1 = DA380003 -/* 00F8C 80B29F2C 24480008 */ addiu $t0, $v0, 0x0008 ## $t0 = 00000008 -/* 00F90 80B29F30 AE0802D0 */ sw $t0, 0x02D0($s0) ## 000002D0 -/* 00F94 80B29F34 AC490000 */ sw $t1, 0x0000($v0) ## 00000000 -/* 00F98 80B29F38 8FAA005C */ lw $t2, 0x005C($sp) -/* 00F9C 80B29F3C 3C0580B3 */ lui $a1, %hi(D_80B2A0B8) ## $a1 = 80B30000 -/* 00FA0 80B29F40 24A5A0B8 */ addiu $a1, $a1, %lo(D_80B2A0B8) ## $a1 = 80B2A0B8 -/* 00FA4 80B29F44 8D440000 */ lw $a0, 0x0000($t2) ## 00000000 -/* 00FA8 80B29F48 24060272 */ addiu $a2, $zero, 0x0272 ## $a2 = 00000272 -/* 00FAC 80B29F4C 0C0346A2 */ jal Matrix_NewMtx -/* 00FB0 80B29F50 AFA20028 */ sw $v0, 0x0028($sp) -/* 00FB4 80B29F54 8FA30028 */ lw $v1, 0x0028($sp) -/* 00FB8 80B29F58 3C040405 */ lui $a0, %hi(gCircleShadowDL) ## $a0 = 04050000 -/* 00FBC 80B29F5C 24849210 */ addiu $a0, $a0, %lo(gCircleShadowDL) ## $a0 = 04049210 -/* 00FC0 80B29F60 AC620004 */ sw $v0, 0x0004($v1) ## 00000004 -/* 00FC4 80B29F64 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 00FC8 80B29F68 00046900 */ sll $t5, $a0, 4 -/* 00FCC 80B29F6C 000D7702 */ srl $t6, $t5, 28 -/* 00FD0 80B29F70 244B0008 */ addiu $t3, $v0, 0x0008 ## $t3 = 00000008 -/* 00FD4 80B29F74 AE0B02D0 */ sw $t3, 0x02D0($s0) ## 000002D0 -/* 00FD8 80B29F78 000E7880 */ sll $t7, $t6, 2 -/* 00FDC 80B29F7C 3C0CDE00 */ lui $t4, 0xDE00 ## $t4 = DE000000 -/* 00FE0 80B29F80 3C188016 */ lui $t8, %hi(gSegments) -/* 00FE4 80B29F84 030FC021 */ addu $t8, $t8, $t7 -/* 00FE8 80B29F88 3C0100FF */ lui $at, 0x00FF ## $at = 00FF0000 -/* 00FEC 80B29F8C AC4C0000 */ sw $t4, 0x0000($v0) ## 00000000 -/* 00FF0 80B29F90 8F186FA8 */ lw $t8, %lo(gSegments)($t8) -/* 00FF4 80B29F94 3421FFFF */ ori $at, $at, 0xFFFF ## $at = 00FFFFFF -/* 00FF8 80B29F98 0081C824 */ and $t9, $a0, $at -/* 00FFC 80B29F9C 3C018000 */ lui $at, 0x8000 ## $at = 80000000 -/* 01000 80B29FA0 03194021 */ addu $t0, $t8, $t9 -/* 01004 80B29FA4 01014821 */ addu $t1, $t0, $at -/* 01008 80B29FA8 AC490004 */ sw $t1, 0x0004($v0) ## 00000004 -.L80B29FAC: -/* 0100C 80B29FAC 8FAA005C */ lw $t2, 0x005C($sp) -/* 01010 80B29FB0 3C0680B3 */ lui $a2, %hi(D_80B2A0CC) ## $a2 = 80B30000 -/* 01014 80B29FB4 24C6A0CC */ addiu $a2, $a2, %lo(D_80B2A0CC) ## $a2 = 80B2A0CC -/* 01018 80B29FB8 27A4003C */ addiu $a0, $sp, 0x003C ## $a0 = FFFFFFE4 -/* 0101C 80B29FBC 24070278 */ addiu $a3, $zero, 0x0278 ## $a3 = 00000278 -/* 01020 80B29FC0 0C031AD5 */ jal Graph_CloseDisps -/* 01024 80B29FC4 8D450000 */ lw $a1, 0x0000($t2) ## 00000000 -/* 01028 80B29FC8 8FBF001C */ lw $ra, 0x001C($sp) -/* 0102C 80B29FCC 8FB00018 */ lw $s0, 0x0018($sp) -/* 01030 80B29FD0 27BD0058 */ addiu $sp, $sp, 0x0058 ## $sp = 00000000 -/* 01034 80B29FD4 03E00008 */ jr $ra -/* 01038 80B29FD8 00000000 */ nop -/* 0103C 80B29FDC 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Vb_Ball/EnVbBall_Init.s b/asm/non_matchings/overlays/actors/ovl_En_Vb_Ball/EnVbBall_Init.s deleted file mode 100644 index 4385aa14ae..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Vb_Ball/EnVbBall_Init.s +++ /dev/null @@ -1,126 +0,0 @@ -.late_rodata -glabel D_80B2A0E0 - .float -0.8 - -glabel D_80B2A0E4 - .float 10000.0 - -glabel D_80B2A0E8 - .float 3000.0 - -glabel D_80B2A0EC - .float 5000.0 - -glabel D_80B2A0F0 - .word 0xC51C4000 - -.text -glabel EnVbBall_Init -/* 00000 80B28FA0 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8 -/* 00004 80B28FA4 AFBF001C */ sw $ra, 0x001C($sp) -/* 00008 80B28FA8 AFB00018 */ sw $s0, 0x0018($sp) -/* 0000C 80B28FAC AFA5003C */ sw $a1, 0x003C($sp) -/* 00010 80B28FB0 848E001C */ lh $t6, 0x001C($a0) ## 0000001C -/* 00014 80B28FB4 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00018 80B28FB8 26050168 */ addiu $a1, $s0, 0x0168 ## $a1 = 00000168 -/* 0001C 80B28FBC 29C100C8 */ slti $at, $t6, 0x00C8 -/* 00020 80B28FC0 1420001E */ bne $at, $zero, .L80B2903C -/* 00024 80B28FC4 8FA4003C */ lw $a0, 0x003C($sp) -/* 00028 80B28FC8 3C014440 */ lui $at, 0x4440 ## $at = 44400000 -/* 0002C 80B28FCC 44816000 */ mtc1 $at, $f12 ## $f12 = 768.00 -/* 00030 80B28FD0 0C00CFC8 */ jal Rand_CenteredFloat - -/* 00034 80B28FD4 00000000 */ nop -/* 00038 80B28FD8 3C014440 */ lui $at, 0x4440 ## $at = 44400000 -/* 0003C 80B28FDC 44816000 */ mtc1 $at, $f12 ## $f12 = 768.00 -/* 00040 80B28FE0 0C00CFC8 */ jal Rand_CenteredFloat - -/* 00044 80B28FE4 E600015C */ swc1 $f0, 0x015C($s0) ## 0000015C -/* 00048 80B28FE8 E6000158 */ swc1 $f0, 0x0158($s0) ## 00000158 -/* 0004C 80B28FEC C60C0024 */ lwc1 $f12, 0x0024($s0) ## 00000024 -/* 00050 80B28FF0 0C03F494 */ jal Math_FAtan2F -/* 00054 80B28FF4 C60E002C */ lwc1 $f14, 0x002C($s0) ## 0000002C -/* 00058 80B28FF8 3C014040 */ lui $at, 0x4040 ## $at = 40400000 -/* 0005C 80B28FFC 44816000 */ mtc1 $at, $f12 ## $f12 = 3.00 -/* 00060 80B29000 0C00CFBE */ jal Rand_ZeroFloat - -/* 00064 80B29004 E7A00028 */ swc1 $f0, 0x0028($sp) -/* 00068 80B29008 E6000060 */ swc1 $f0, 0x0060($s0) ## 00000060 -/* 0006C 80B2900C 0C0400A4 */ jal sinf - -/* 00070 80B29010 C7AC0028 */ lwc1 $f12, 0x0028($sp) -/* 00074 80B29014 46000100 */ add.s $f4, $f0, $f0 -/* 00078 80B29018 E604005C */ swc1 $f4, 0x005C($s0) ## 0000005C -/* 0007C 80B2901C 0C041184 */ jal cosf - -/* 00080 80B29020 C7AC0028 */ lwc1 $f12, 0x0028($sp) -/* 00084 80B29024 46000180 */ add.s $f6, $f0, $f0 -/* 00088 80B29028 3C0180B3 */ lui $at, %hi(D_80B2A0E0) ## $at = 80B30000 -/* 0008C 80B2902C E6060064 */ swc1 $f6, 0x0064($s0) ## 00000064 -/* 00090 80B29030 C428A0E0 */ lwc1 $f8, %lo(D_80B2A0E0)($at) -/* 00094 80B29034 10000035 */ beq $zero, $zero, .L80B2910C -/* 00098 80B29038 E608006C */ swc1 $f8, 0x006C($s0) ## 0000006C -.L80B2903C: -/* 0009C 80B2903C 0C0170D9 */ jal Collider_InitCylinder - -/* 000A0 80B29040 AFA50024 */ sw $a1, 0x0024($sp) -/* 000A4 80B29044 3C0780B3 */ lui $a3, %hi(D_80B2A000) ## $a3 = 80B30000 -/* 000A8 80B29048 8FA50024 */ lw $a1, 0x0024($sp) -/* 000AC 80B2904C 24E7A000 */ addiu $a3, $a3, %lo(D_80B2A000) ## $a3 = 80B2A000 -/* 000B0 80B29050 8FA4003C */ lw $a0, 0x003C($sp) -/* 000B4 80B29054 0C01712B */ jal Collider_SetCylinder - -/* 000B8 80B29058 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000 -/* 000BC 80B2905C 860F0034 */ lh $t7, 0x0034($s0) ## 00000034 -/* 000C0 80B29060 3C0180B3 */ lui $at, %hi(D_80B2A0E4) ## $at = 80B30000 -/* 000C4 80B29064 C432A0E4 */ lwc1 $f18, %lo(D_80B2A0E4)($at) -/* 000C8 80B29068 448F5000 */ mtc1 $t7, $f10 ## $f10 = 0.00 -/* 000CC 80B2906C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 000D0 80B29070 46805420 */ cvt.s.w $f16, $f10 -/* 000D4 80B29074 46128103 */ div.s $f4, $f16, $f18 -/* 000D8 80B29078 44052000 */ mfc1 $a1, $f4 -/* 000DC 80B2907C 0C00B58B */ jal Actor_SetScale - -/* 000E0 80B29080 00000000 */ nop -/* 000E4 80B29084 3C0180B3 */ lui $at, %hi(D_80B2A0E8) ## $at = 80B30000 -/* 000E8 80B29088 C426A0E8 */ lwc1 $f6, %lo(D_80B2A0E8)($at) -/* 000EC 80B2908C C6000054 */ lwc1 $f0, 0x0054($s0) ## 00000054 -/* 000F0 80B29090 3C0180B3 */ lui $at, %hi(D_80B2A0EC) ## $at = 80B30000 -/* 000F4 80B29094 46060202 */ mul.s $f8, $f0, $f6 -/* 000F8 80B29098 4600428D */ trunc.w.s $f10, $f8 -/* 000FC 80B2909C 44195000 */ mfc1 $t9, $f10 -/* 00100 80B290A0 00000000 */ nop -/* 00104 80B290A4 A61901A8 */ sh $t9, 0x01A8($s0) ## 000001A8 -/* 00108 80B290A8 C430A0EC */ lwc1 $f16, %lo(D_80B2A0EC)($at) -/* 0010C 80B290AC 3C0180B3 */ lui $at, %hi(D_80B2A0F0) ## $at = 80B30000 -/* 00110 80B290B0 46100482 */ mul.s $f18, $f0, $f16 -/* 00114 80B290B4 4600910D */ trunc.w.s $f4, $f18 -/* 00118 80B290B8 44092000 */ mfc1 $t1, $f4 -/* 0011C 80B290BC 00000000 */ nop -/* 00120 80B290C0 A60901AA */ sh $t1, 0x01AA($s0) ## 000001AA -/* 00124 80B290C4 C426A0F0 */ lwc1 $f6, %lo(D_80B2A0F0)($at) -/* 00128 80B290C8 3C014600 */ lui $at, 0x4600 ## $at = 46000000 -/* 0012C 80B290CC 44816000 */ mtc1 $at, $f12 ## $f12 = 8192.00 -/* 00130 80B290D0 46060202 */ mul.s $f8, $f0, $f6 -/* 00134 80B290D4 4600428D */ trunc.w.s $f10, $f8 -/* 00138 80B290D8 440B5000 */ mfc1 $t3, $f10 -/* 0013C 80B290DC 0C00CFC8 */ jal Rand_CenteredFloat - -/* 00140 80B290E0 A60B01AC */ sh $t3, 0x01AC($s0) ## 000001AC -/* 00144 80B290E4 3C014600 */ lui $at, 0x4600 ## $at = 46000000 -/* 00148 80B290E8 44816000 */ mtc1 $at, $f12 ## $f12 = 8192.00 -/* 0014C 80B290EC 0C00CFC8 */ jal Rand_CenteredFloat - -/* 00150 80B290F0 E6000158 */ swc1 $f0, 0x0158($s0) ## 00000158 -/* 00154 80B290F4 3C014288 */ lui $at, 0x4288 ## $at = 42880000 -/* 00158 80B290F8 44819000 */ mtc1 $at, $f18 ## $f18 = 68.00 -/* 0015C 80B290FC C6100054 */ lwc1 $f16, 0x0054($s0) ## 00000054 -/* 00160 80B29100 E600015C */ swc1 $f0, 0x015C($s0) ## 0000015C -/* 00164 80B29104 46128102 */ mul.s $f4, $f16, $f18 -/* 00168 80B29108 E6040160 */ swc1 $f4, 0x0160($s0) ## 00000160 -.L80B2910C: -/* 0016C 80B2910C 8FBF001C */ lw $ra, 0x001C($sp) -/* 00170 80B29110 8FB00018 */ lw $s0, 0x0018($sp) -/* 00174 80B29114 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000 -/* 00178 80B29118 03E00008 */ jr $ra -/* 0017C 80B2911C 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Vb_Ball/EnVbBall_Update.s b/asm/non_matchings/overlays/actors/ovl_En_Vb_Ball/EnVbBall_Update.s deleted file mode 100644 index 192763d714..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Vb_Ball/EnVbBall_Update.s +++ /dev/null @@ -1,564 +0,0 @@ -.late_rodata -glabel D_80B2A0F8 - .word 0x44D48000 -glabel D_80B2A0FC - .word 0x43CCCCCD -glabel D_80B2A100 - .word 0x4622F983, 0x00000000, 0x00000000, 0x00000000 - -.text -glabel EnVbBall_Update -/* 00614 80B295B4 27BDFEF0 */ addiu $sp, $sp, 0xFEF0 ## $sp = FFFFFEF0 -/* 00618 80B295B8 AFBF0064 */ sw $ra, 0x0064($sp) -/* 0061C 80B295BC AFB50060 */ sw $s5, 0x0060($sp) -/* 00620 80B295C0 AFB4005C */ sw $s4, 0x005C($sp) -/* 00624 80B295C4 AFB30058 */ sw $s3, 0x0058($sp) -/* 00628 80B295C8 AFB20054 */ sw $s2, 0x0054($sp) -/* 0062C 80B295CC AFB10050 */ sw $s1, 0x0050($sp) -/* 00630 80B295D0 AFB0004C */ sw $s0, 0x004C($sp) -/* 00634 80B295D4 F7B80040 */ sdc1 $f24, 0x0040($sp) -/* 00638 80B295D8 F7B60038 */ sdc1 $f22, 0x0038($sp) -/* 0063C 80B295DC F7B40030 */ sdc1 $f20, 0x0030($sp) -/* 00640 80B295E0 8C8E0118 */ lw $t6, 0x0118($a0) ## 00000118 -/* 00644 80B295E4 00808825 */ or $s1, $a0, $zero ## $s1 = 00000000 -/* 00648 80B295E8 00A0A025 */ or $s4, $a1, $zero ## $s4 = 00000000 -/* 0064C 80B295EC AFAE0104 */ sw $t6, 0x0104($sp) -/* 00650 80B295F0 848F0152 */ lh $t7, 0x0152($a0) ## 00000152 -/* 00654 80B295F4 84820150 */ lh $v0, 0x0150($a0) ## 00000150 -/* 00658 80B295F8 3C01BF80 */ lui $at, 0xBF80 ## $at = BF800000 -/* 0065C 80B295FC 25F80001 */ addiu $t8, $t7, 0x0001 ## $t8 = 00000001 -/* 00660 80B29600 10400003 */ beq $v0, $zero, .L80B29610 -/* 00664 80B29604 A4980152 */ sh $t8, 0x0152($a0) ## 00000152 -/* 00668 80B29608 2459FFFF */ addiu $t9, $v0, 0xFFFF ## $t9 = FFFFFFFF -/* 0066C 80B2960C A4990150 */ sh $t9, 0x0150($a0) ## 00000150 -.L80B29610: -/* 00670 80B29610 C6240158 */ lwc1 $f4, 0x0158($s1) ## 00000158 -/* 00674 80B29614 C628015C */ lwc1 $f8, 0x015C($s1) ## 0000015C -/* 00678 80B29618 44810000 */ mtc1 $at, $f0 ## $f0 = -1.00 -/* 0067C 80B2961C 4600218D */ trunc.w.s $f6, $f4 -/* 00680 80B29620 C6300060 */ lwc1 $f16, 0x0060($s1) ## 00000060 -/* 00684 80B29624 862800B4 */ lh $t0, 0x00B4($s1) ## 000000B4 -/* 00688 80B29628 4600428D */ trunc.w.s $f10, $f8 -/* 0068C 80B2962C 440C3000 */ mfc1 $t4, $f6 -/* 00690 80B29630 862E00B6 */ lh $t6, 0x00B6($s1) ## 000000B6 -/* 00694 80B29634 46008480 */ add.s $f18, $f16, $f0 -/* 00698 80B29638 44095000 */ mfc1 $t1, $f10 -/* 0069C 80B2963C 010C6821 */ addu $t5, $t0, $t4 -/* 006A0 80B29640 A62D00B4 */ sh $t5, 0x00B4($s1) ## 000000B4 -/* 006A4 80B29644 01C95021 */ addu $t2, $t6, $t1 -/* 006A8 80B29648 A62A00B6 */ sh $t2, 0x00B6($s1) ## 000000B6 -/* 006AC 80B2964C E6320060 */ swc1 $f18, 0x0060($s1) ## 00000060 -/* 006B0 80B29650 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 006B4 80B29654 0C00B5FB */ jal func_8002D7EC -/* 006B8 80B29658 E620006C */ swc1 $f0, 0x006C($s1) ## 0000006C -/* 006BC 80B2965C 862B001C */ lh $t3, 0x001C($s1) ## 0000001C -/* 006C0 80B29660 26240164 */ addiu $a0, $s1, 0x0164 ## $a0 = 00000164 -/* 006C4 80B29664 3C05432F */ lui $a1, 0x432F ## $a1 = 432F0000 -/* 006C8 80B29668 296100C8 */ slti $at, $t3, 0x00C8 -/* 006CC 80B2966C 14200006 */ bne $at, $zero, .L80B29688 -/* 006D0 80B29670 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000 -/* 006D4 80B29674 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 006D8 80B29678 0C2CA4B4 */ jal func_80B292D0 -/* 006DC 80B2967C 02802825 */ or $a1, $s4, $zero ## $a1 = 00000000 -/* 006E0 80B29680 100001B4 */ beq $zero, $zero, .L80B29D54 -/* 006E4 80B29684 8FBF0064 */ lw $ra, 0x0064($sp) -.L80B29688: -/* 006E8 80B29688 0C01E107 */ jal Math_ApproachF - -/* 006EC 80B2968C 3C074220 */ lui $a3, 0x4220 ## $a3 = 42200000 -/* 006F0 80B29690 3C014248 */ lui $at, 0x4248 ## $at = 42480000 -/* 006F4 80B29694 44810000 */ mtc1 $at, $f0 ## $f0 = 50.00 -/* 006F8 80B29698 3C0180B3 */ lui $at, %hi(D_80B2A0F8) ## $at = 80B30000 -/* 006FC 80B2969C C426A0F8 */ lwc1 $f6, %lo(D_80B2A0F8)($at) -/* 00700 80B296A0 C6240054 */ lwc1 $f4, 0x0054($s1) ## 00000054 -/* 00704 80B296A4 C6280028 */ lwc1 $f8, 0x0028($s1) ## 00000028 -/* 00708 80B296A8 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000 -/* 0070C 80B296AC 46062502 */ mul.s $f20, $f4, $f6 -/* 00710 80B296B0 44818000 */ mtc1 $at, $f16 ## $f16 = 100.00 -/* 00714 80B296B4 24080004 */ addiu $t0, $zero, 0x0004 ## $t0 = 00000004 -/* 00718 80B296B8 44060000 */ mfc1 $a2, $f0 -/* 0071C 80B296BC 44070000 */ mfc1 $a3, $f0 -/* 00720 80B296C0 02802025 */ or $a0, $s4, $zero ## $a0 = 00000000 -/* 00724 80B296C4 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000 -/* 00728 80B296C8 46144281 */ sub.s $f10, $f8, $f20 -/* 0072C 80B296CC E62A0028 */ swc1 $f10, 0x0028($s1) ## 00000028 -/* 00730 80B296D0 AFA80014 */ sw $t0, 0x0014($sp) -/* 00734 80B296D4 0C00B92D */ jal Actor_UpdateBgCheckInfo -/* 00738 80B296D8 E7B00010 */ swc1 $f16, 0x0010($sp) -/* 0073C 80B296DC C6320028 */ lwc1 $f18, 0x0028($s1) ## 00000028 -/* 00740 80B296E0 962C0088 */ lhu $t4, 0x0088($s1) ## 00000088 -/* 00744 80B296E4 46149100 */ add.s $f4, $f18, $f20 -/* 00748 80B296E8 318D0001 */ andi $t5, $t4, 0x0001 ## $t5 = 00000000 -/* 0074C 80B296EC 11A00186 */ beq $t5, $zero, .L80B29D08 -/* 00750 80B296F0 E6240028 */ swc1 $f4, 0x0028($s1) ## 00000028 -/* 00754 80B296F4 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00 -/* 00758 80B296F8 C6280060 */ lwc1 $f8, 0x0060($s1) ## 00000060 -/* 0075C 80B296FC 4606403E */ c.le.s $f8, $f6 -/* 00760 80B29700 00000000 */ nop -/* 00764 80B29704 45020181 */ bc1fl .L80B29D0C -/* 00768 80B29708 92220178 */ lbu $v0, 0x0178($s1) ## 00000178 -/* 0076C 80B2970C 8622001C */ lh $v0, 0x001C($s1) ## 0000001C -/* 00770 80B29710 24150064 */ addiu $s5, $zero, 0x0064 ## $s5 = 00000064 -/* 00774 80B29714 24010065 */ addiu $at, $zero, 0x0065 ## $at = 00000065 -/* 00778 80B29718 12A20003 */ beq $s5, $v0, .L80B29728 -/* 0077C 80B2971C 00000000 */ nop -/* 00780 80B29720 1441012C */ bne $v0, $at, .L80B29BD4 -/* 00784 80B29724 00009025 */ or $s2, $zero, $zero ## $s2 = 00000000 -.L80B29728: -/* 00788 80B29728 0C00B55C */ jal Actor_Kill - -/* 0078C 80B2972C 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 00790 80B29730 8622001C */ lh $v0, 0x001C($s1) ## 0000001C -/* 00794 80B29734 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 00798 80B29738 02802825 */ or $a1, $s4, $zero ## $a1 = 00000000 -/* 0079C 80B2973C 16A20004 */ bne $s5, $v0, .L80B29750 -/* 007A0 80B29740 24060005 */ addiu $a2, $zero, 0x0005 ## $a2 = 00000005 -/* 007A4 80B29744 0C00CFA2 */ jal func_80033E88 -/* 007A8 80B29748 2407000A */ addiu $a3, $zero, 0x000A ## $a3 = 0000000A -/* 007AC 80B2974C 8622001C */ lh $v0, 0x001C($s1) ## 0000001C -.L80B29750: -/* 007B0 80B29750 16A20004 */ bne $s5, $v0, .L80B29764 -/* 007B4 80B29754 00009025 */ or $s2, $zero, $zero ## $s2 = 00000000 -/* 007B8 80B29758 240F0002 */ addiu $t7, $zero, 0x0002 ## $t7 = 00000002 -/* 007BC 80B2975C 10000003 */ beq $zero, $zero, .L80B2976C -/* 007C0 80B29760 A7AF00FA */ sh $t7, 0x00FA($sp) -.L80B29764: -/* 007C4 80B29764 24180002 */ addiu $t8, $zero, 0x0002 ## $t8 = 00000002 -/* 007C8 80B29768 A7B800FA */ sh $t8, 0x00FA($sp) -.L80B2976C: -/* 007CC 80B2976C 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000 -/* 007D0 80B29770 4481C000 */ mtc1 $at, $f24 ## $f24 = 5.00 -/* 007D4 80B29774 3C014120 */ lui $at, 0x4120 ## $at = 41200000 -/* 007D8 80B29778 4481B000 */ mtc1 $at, $f22 ## $f22 = 10.00 -/* 007DC 80B2977C 3C014040 */ lui $at, 0x4040 ## $at = 40400000 -/* 007E0 80B29780 26991C24 */ addiu $t9, $s4, 0x1C24 ## $t9 = 00001C24 -/* 007E4 80B29784 3C138013 */ lui $s3, %hi(D_801333E0) -/* 007E8 80B29788 4481A000 */ mtc1 $at, $f20 ## $f20 = 3.00 -/* 007EC 80B2978C 267333E0 */ addiu $s3, %lo(D_801333E0) -/* 007F0 80B29790 AFB9006C */ sw $t9, 0x006C($sp) -/* 007F4 80B29794 862E001C */ lh $t6, 0x001C($s1) ## 0000001C -.L80B29798: -/* 007F8 80B29798 3C014150 */ lui $at, 0x4150 ## $at = 41500000 -/* 007FC 80B2979C 16AE0010 */ bne $s5, $t6, .L80B297E0 -/* 00800 80B297A0 00000000 */ nop -/* 00804 80B297A4 44816000 */ mtc1 $at, $f12 ## $f12 = 13.00 -/* 00808 80B297A8 0C00CFC8 */ jal Rand_CenteredFloat - -/* 0080C 80B297AC 00000000 */ nop -/* 00810 80B297B0 E7A000EC */ swc1 $f0, 0x00EC($sp) -/* 00814 80B297B4 0C00CFBE */ jal Rand_ZeroFloat - -/* 00818 80B297B8 4600C306 */ mov.s $f12, $f24 -/* 0081C 80B297BC 3C0140C0 */ lui $at, 0x40C0 ## $at = 40C00000 -/* 00820 80B297C0 44815000 */ mtc1 $at, $f10 ## $f10 = 6.00 -/* 00824 80B297C4 3C014150 */ lui $at, 0x4150 ## $at = 41500000 -/* 00828 80B297C8 44816000 */ mtc1 $at, $f12 ## $f12 = 13.00 -/* 0082C 80B297CC 460A0400 */ add.s $f16, $f0, $f10 -/* 00830 80B297D0 0C00CFC8 */ jal Rand_CenteredFloat - -/* 00834 80B297D4 E7B000F0 */ swc1 $f16, 0x00F0($sp) -/* 00838 80B297D8 1000000D */ beq $zero, $zero, .L80B29810 -/* 0083C 80B297DC E7A000F4 */ swc1 $f0, 0x00F4($sp) -.L80B297E0: -/* 00840 80B297E0 0C00CFC8 */ jal Rand_CenteredFloat - -/* 00844 80B297E4 4600B306 */ mov.s $f12, $f22 -/* 00848 80B297E8 E7A000EC */ swc1 $f0, 0x00EC($sp) -/* 0084C 80B297EC 0C00CFBE */ jal Rand_ZeroFloat - -/* 00850 80B297F0 4600A306 */ mov.s $f12, $f20 -/* 00854 80B297F4 3C014080 */ lui $at, 0x4080 ## $at = 40800000 -/* 00858 80B297F8 44819000 */ mtc1 $at, $f18 ## $f18 = 4.00 -/* 0085C 80B297FC 4600B306 */ mov.s $f12, $f22 -/* 00860 80B29800 46120100 */ add.s $f4, $f0, $f18 -/* 00864 80B29804 0C00CFC8 */ jal Rand_CenteredFloat - -/* 00868 80B29808 E7A400F0 */ swc1 $f4, 0x00F0($sp) -/* 0086C 80B2980C E7A000F4 */ swc1 $f0, 0x00F4($sp) -.L80B29810: -/* 00870 80B29810 C6260024 */ lwc1 $f6, 0x0024($s1) ## 00000024 -/* 00874 80B29814 C7A800EC */ lwc1 $f8, 0x00EC($sp) -/* 00878 80B29818 C7B200F0 */ lwc1 $f18, 0x00F0($sp) -/* 0087C 80B2981C 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000 -/* 00880 80B29820 46083280 */ add.s $f10, $f6, $f8 -/* 00884 80B29824 C7A800F4 */ lwc1 $f8, 0x00F4($sp) -/* 00888 80B29828 8FA4006C */ lw $a0, 0x006C($sp) -/* 0088C 80B2982C 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000 -/* 00890 80B29830 E7AA0010 */ swc1 $f10, 0x0010($sp) -/* 00894 80B29834 C6300028 */ lwc1 $f16, 0x0028($s1) ## 00000028 -/* 00898 80B29838 02803025 */ or $a2, $s4, $zero ## $a2 = 00000000 -/* 0089C 80B2983C 240700AD */ addiu $a3, $zero, 0x00AD ## $a3 = 000000AD -/* 008A0 80B29840 46128100 */ add.s $f4, $f16, $f18 -/* 008A4 80B29844 E7A40014 */ swc1 $f4, 0x0014($sp) -/* 008A8 80B29848 C626002C */ lwc1 $f6, 0x002C($s1) ## 0000002C -/* 008AC 80B2984C AFA00020 */ sw $zero, 0x0020($sp) -/* 008B0 80B29850 AFA0001C */ sw $zero, 0x001C($sp) -/* 008B4 80B29854 46083280 */ add.s $f10, $f6, $f8 -/* 008B8 80B29858 44812000 */ mtc1 $at, $f4 ## $f4 = 0.50 -/* 008BC 80B2985C E7AA0018 */ swc1 $f10, 0x0018($sp) -/* 008C0 80B29860 86290034 */ lh $t1, 0x0034($s1) ## 00000034 -/* 008C4 80B29864 44898000 */ mtc1 $t1, $f16 ## $f16 = 0.00 -/* 008C8 80B29868 00000000 */ nop -/* 008CC 80B2986C 468084A0 */ cvt.s.w $f18, $f16 -/* 008D0 80B29870 46049182 */ mul.s $f6, $f18, $f4 -/* 008D4 80B29874 4600320D */ trunc.w.s $f8, $f6 -/* 008D8 80B29878 440B4000 */ mfc1 $t3, $f8 -/* 008DC 80B2987C 00000000 */ nop -/* 008E0 80B29880 AFAB0024 */ sw $t3, 0x0024($sp) -/* 008E4 80B29884 8628001C */ lh $t0, 0x001C($s1) ## 0000001C -/* 008E8 80B29888 250C0001 */ addiu $t4, $t0, 0x0001 ## $t4 = 00000001 -/* 008EC 80B2988C 0C00C916 */ jal Actor_SpawnAsChild - -/* 008F0 80B29890 AFAC0028 */ sw $t4, 0x0028($sp) -/* 008F4 80B29894 10400031 */ beq $v0, $zero, .L80B2995C -/* 008F8 80B29898 00408025 */ or $s0, $v0, $zero ## $s0 = 00000000 -/* 008FC 80B2989C 5640000D */ bnel $s2, $zero, .L80B298D4 -/* 00900 80B298A0 8E380118 */ lw $t8, 0x0118($s1) ## 00000118 -/* 00904 80B298A4 862D001C */ lh $t5, 0x001C($s1) ## 0000001C -/* 00908 80B298A8 240438D7 */ addiu $a0, $zero, 0x38D7 ## $a0 = 000038D7 -/* 0090C 80B298AC 244500E4 */ addiu $a1, $v0, 0x00E4 ## $a1 = 000000E4 -/* 00910 80B298B0 16AD0007 */ bne $s5, $t5, .L80B298D0 -/* 00914 80B298B4 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004 -/* 00918 80B298B8 3C0F8013 */ lui $t7, %hi(D_801333E8) -/* 0091C 80B298BC 25EF33E8 */ addiu $t7, %lo(D_801333E8) -/* 00920 80B298C0 AFAF0014 */ sw $t7, 0x0014($sp) -/* 00924 80B298C4 02603825 */ or $a3, $s3, $zero ## $a3 = 801333E0 -/* 00928 80B298C8 0C03DCE3 */ jal Audio_PlaySoundGeneral - -/* 0092C 80B298CC AFB30010 */ sw $s3, 0x0010($sp) -.L80B298D0: -/* 00930 80B298D0 8E380118 */ lw $t8, 0x0118($s1) ## 00000118 -.L80B298D4: -/* 00934 80B298D4 27B900EC */ addiu $t9, $sp, 0x00EC ## $t9 = FFFFFFDC -/* 00938 80B298D8 44805000 */ mtc1 $zero, $f10 ## $f10 = 0.00 -/* 0093C 80B298DC AE180118 */ sw $t8, 0x0118($s0) ## 00000118 -/* 00940 80B298E0 8F290000 */ lw $t1, 0x0000($t9) ## FFFFFFDC -/* 00944 80B298E4 3C0180B3 */ lui $at, %hi(D_80B2A0FC) ## $at = 80B30000 -/* 00948 80B298E8 AE09005C */ sw $t1, 0x005C($s0) ## 0000005C -/* 0094C 80B298EC 8F2E0004 */ lw $t6, 0x0004($t9) ## FFFFFFE0 -/* 00950 80B298F0 AE0E0060 */ sw $t6, 0x0060($s0) ## 00000060 -/* 00954 80B298F4 8F290008 */ lw $t1, 0x0008($t9) ## FFFFFFE4 -/* 00958 80B298F8 E60A015C */ swc1 $f10, 0x015C($s0) ## 0000015C -/* 0095C 80B298FC AE090064 */ sw $t1, 0x0064($s0) ## 00000064 -/* 00960 80B29900 C7B000EC */ lwc1 $f16, 0x00EC($sp) -/* 00964 80B29904 C7A400F4 */ lwc1 $f4, 0x00F4($sp) -/* 00968 80B29908 C428A0FC */ lwc1 $f8, %lo(D_80B2A0FC)($at) -/* 0096C 80B2990C 46108482 */ mul.s $f18, $f16, $f16 -/* 00970 80B29910 00000000 */ nop -/* 00974 80B29914 46042182 */ mul.s $f6, $f4, $f4 -/* 00978 80B29918 46069000 */ add.s $f0, $f18, $f6 -/* 0097C 80B2991C 46000004 */ sqrt.s $f0, $f0 -/* 00980 80B29920 46004282 */ mul.s $f10, $f8, $f0 -/* 00984 80B29924 E60A0158 */ swc1 $f10, 0x0158($s0) ## 00000158 -/* 00988 80B29928 C7AE00F4 */ lwc1 $f14, 0x00F4($sp) -/* 0098C 80B2992C 0C03F494 */ jal Math_FAtan2F -/* 00990 80B29930 C7AC00EC */ lwc1 $f12, 0x00EC($sp) -/* 00994 80B29934 3C0180B3 */ lui $at, %hi(D_80B2A100) ## $at = 80B30000 -/* 00998 80B29938 C430A100 */ lwc1 $f16, %lo(D_80B2A100)($at) -/* 0099C 80B2993C 3C014348 */ lui $at, 0x4348 ## $at = 43480000 -/* 009A0 80B29940 44813000 */ mtc1 $at, $f6 ## $f6 = 200.00 -/* 009A4 80B29944 46100102 */ mul.s $f4, $f0, $f16 -/* 009A8 80B29948 E6060164 */ swc1 $f6, 0x0164($s0) ## 00000164 -/* 009AC 80B2994C 4600248D */ trunc.w.s $f18, $f4 -/* 009B0 80B29950 440B9000 */ mfc1 $t3, $f18 -/* 009B4 80B29954 00000000 */ nop -/* 009B8 80B29958 A60B00B6 */ sh $t3, 0x00B6($s0) ## 000000B6 -.L80B2995C: -/* 009BC 80B2995C 87A800FA */ lh $t0, 0x00FA($sp) -/* 009C0 80B29960 26520001 */ addiu $s2, $s2, 0x0001 ## $s2 = 00000001 -/* 009C4 80B29964 00129400 */ sll $s2, $s2, 16 -/* 009C8 80B29968 00129403 */ sra $s2, $s2, 16 -/* 009CC 80B2996C 0248082A */ slt $at, $s2, $t0 -/* 009D0 80B29970 5420FF89 */ bnel $at, $zero, .L80B29798 -/* 009D4 80B29974 862E001C */ lh $t6, 0x001C($s1) ## 0000001C -/* 009D8 80B29978 3C014120 */ lui $at, 0x4120 ## $at = 41200000 -/* 009DC 80B2997C 4481B000 */ mtc1 $at, $f22 ## $f22 = 10.00 -/* 009E0 80B29980 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000 -/* 009E4 80B29984 8FB30104 */ lw $s3, 0x0104($sp) -/* 009E8 80B29988 4481C000 */ mtc1 $at, $f24 ## $f24 = 5.00 -/* 009EC 80B2998C 3C0141C8 */ lui $at, 0x41C8 ## $at = 41C80000 -/* 009F0 80B29990 4481A000 */ mtc1 $at, $f20 ## $f20 = 25.00 -/* 009F4 80B29994 00009025 */ or $s2, $zero, $zero ## $s2 = 00000000 -/* 009F8 80B29998 27B000D8 */ addiu $s0, $sp, 0x00D8 ## $s0 = FFFFFFC8 -/* 009FC 80B2999C 26731970 */ addiu $s3, $s3, 0x1970 ## $s3 = 80134D50 -.L80B299A0: -/* 00A00 80B299A0 3C0C80B3 */ lui $t4, %hi(D_80B2A044) ## $t4 = 80B30000 -/* 00A04 80B299A4 258CA044 */ addiu $t4, $t4, %lo(D_80B2A044) ## $t4 = 80B2A044 -/* 00A08 80B299A8 8D8F0000 */ lw $t7, 0x0000($t4) ## 80B2A044 -/* 00A0C 80B299AC 3C1980B3 */ lui $t9, %hi(D_80B2A050) ## $t9 = 80B30000 -/* 00A10 80B299B0 2739A050 */ addiu $t9, $t9, %lo(D_80B2A050) ## $t9 = 80B2A050 -/* 00A14 80B299B4 AE0F0000 */ sw $t7, 0x0000($s0) ## FFFFFFC8 -/* 00A18 80B299B8 8D8D0004 */ lw $t5, 0x0004($t4) ## 80B2A048 -/* 00A1C 80B299BC 27B800CC */ addiu $t8, $sp, 0x00CC ## $t8 = FFFFFFBC -/* 00A20 80B299C0 4600A306 */ mov.s $f12, $f20 -/* 00A24 80B299C4 AE0D0004 */ sw $t5, 0x0004($s0) ## FFFFFFCC -/* 00A28 80B299C8 8D8F0008 */ lw $t7, 0x0008($t4) ## 80B2A04C -/* 00A2C 80B299CC AE0F0008 */ sw $t7, 0x0008($s0) ## FFFFFFD0 -/* 00A30 80B299D0 8F290000 */ lw $t1, 0x0000($t9) ## 80B2A050 -/* 00A34 80B299D4 8F2E0004 */ lw $t6, 0x0004($t9) ## 80B2A054 -/* 00A38 80B299D8 AF090000 */ sw $t1, 0x0000($t8) ## FFFFFFBC -/* 00A3C 80B299DC 8F290008 */ lw $t1, 0x0008($t9) ## 80B2A058 -/* 00A40 80B299E0 AF0E0004 */ sw $t6, 0x0004($t8) ## FFFFFFC0 -/* 00A44 80B299E4 0C00CFC8 */ jal Rand_CenteredFloat - -/* 00A48 80B299E8 AF090008 */ sw $t1, 0x0008($t8) ## FFFFFFC4 -/* 00A4C 80B299EC E7A000D8 */ swc1 $f0, 0x00D8($sp) -/* 00A50 80B299F0 0C00CFBE */ jal Rand_ZeroFloat - -/* 00A54 80B299F4 4600C306 */ mov.s $f12, $f24 -/* 00A58 80B299F8 3C014100 */ lui $at, 0x4100 ## $at = 41000000 -/* 00A5C 80B299FC 44814000 */ mtc1 $at, $f8 ## $f8 = 8.00 -/* 00A60 80B29A00 4600A306 */ mov.s $f12, $f20 -/* 00A64 80B29A04 46080280 */ add.s $f10, $f0, $f8 -/* 00A68 80B29A08 0C00CFC8 */ jal Rand_CenteredFloat - -/* 00A6C 80B29A0C E7AA00DC */ swc1 $f10, 0x00DC($sp) -/* 00A70 80B29A10 E7A000E0 */ swc1 $f0, 0x00E0($sp) -/* 00A74 80B29A14 0C00CFC8 */ jal Rand_CenteredFloat - -/* 00A78 80B29A18 4600B306 */ mov.s $f12, $f22 -/* 00A7C 80B29A1C C6300024 */ lwc1 $f16, 0x0024($s1) ## 00000024 -/* 00A80 80B29A20 4600B306 */ mov.s $f12, $f22 -/* 00A84 80B29A24 46100100 */ add.s $f4, $f0, $f16 -/* 00A88 80B29A28 0C00CFC8 */ jal Rand_CenteredFloat - -/* 00A8C 80B29A2C E7A400C0 */ swc1 $f4, 0x00C0($sp) -/* 00A90 80B29A30 C6320028 */ lwc1 $f18, 0x0028($s1) ## 00000028 -/* 00A94 80B29A34 4600B306 */ mov.s $f12, $f22 -/* 00A98 80B29A38 46120180 */ add.s $f6, $f0, $f18 -/* 00A9C 80B29A3C 0C00CFC8 */ jal Rand_CenteredFloat - -/* 00AA0 80B29A40 E7A600C4 */ swc1 $f6, 0x00C4($sp) -/* 00AA4 80B29A44 C628002C */ lwc1 $f8, 0x002C($s1) ## 0000002C -/* 00AA8 80B29A48 3C014140 */ lui $at, 0x4140 ## $at = 41400000 -/* 00AAC 80B29A4C 44816000 */ mtc1 $at, $f12 ## $f12 = 12.00 -/* 00AB0 80B29A50 46080280 */ add.s $f10, $f0, $f8 -/* 00AB4 80B29A54 0C00CFBE */ jal Rand_ZeroFloat - -/* 00AB8 80B29A58 E7AA00C8 */ swc1 $f10, 0x00C8($sp) -/* 00ABC 80B29A5C 4600040D */ trunc.w.s $f16, $f0 -/* 00AC0 80B29A60 27AA00CC */ addiu $t2, $sp, 0x00CC ## $t2 = FFFFFFBC -/* 00AC4 80B29A64 AFAA0010 */ sw $t2, 0x0010($sp) -/* 00AC8 80B29A68 02802025 */ or $a0, $s4, $zero ## $a0 = 00000000 -/* 00ACC 80B29A6C 44088000 */ mfc1 $t0, $f16 -/* 00AD0 80B29A70 02602825 */ or $a1, $s3, $zero ## $a1 = 80134D50 -/* 00AD4 80B29A74 27A600C0 */ addiu $a2, $sp, 0x00C0 ## $a2 = FFFFFFB0 -/* 00AD8 80B29A78 00086400 */ sll $t4, $t0, 16 -/* 00ADC 80B29A7C 000C6C03 */ sra $t5, $t4, 16 -/* 00AE0 80B29A80 25AF000F */ addiu $t7, $t5, 0x000F ## $t7 = 0000000F -/* 00AE4 80B29A84 448F2000 */ mtc1 $t7, $f4 ## $f4 = 0.00 -/* 00AE8 80B29A88 02003825 */ or $a3, $s0, $zero ## $a3 = FFFFFFC8 -/* 00AEC 80B29A8C 468024A0 */ cvt.s.w $f18, $f4 -/* 00AF0 80B29A90 0C2CA456 */ jal func_80B29158 -/* 00AF4 80B29A94 E7B20014 */ swc1 $f18, 0x0014($sp) -/* 00AF8 80B29A98 26520001 */ addiu $s2, $s2, 0x0001 ## $s2 = 00000001 -/* 00AFC 80B29A9C 00129400 */ sll $s2, $s2, 16 -/* 00B00 80B29AA0 00129403 */ sra $s2, $s2, 16 -/* 00B04 80B29AA4 2A41000F */ slti $at, $s2, 0x000F -/* 00B08 80B29AA8 1420FFBD */ bne $at, $zero, .L80B299A0 -/* 00B0C 80B29AAC 00000000 */ nop -/* 00B10 80B29AB0 3C0143AF */ lui $at, 0x43AF ## $at = 43AF0000 -/* 00B14 80B29AB4 4481C000 */ mtc1 $at, $f24 ## $f24 = 350.00 -/* 00B18 80B29AB8 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000 -/* 00B1C 80B29ABC 4481B000 */ mtc1 $at, $f22 ## $f22 = 0.50 -/* 00B20 80B29AC0 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000 -/* 00B24 80B29AC4 4481A000 */ mtc1 $at, $f20 ## $f20 = 30.00 -/* 00B28 80B29AC8 00009025 */ or $s2, $zero, $zero ## $s2 = 00000000 -/* 00B2C 80B29ACC 27B000B4 */ addiu $s0, $sp, 0x00B4 ## $s0 = FFFFFFA4 -.L80B29AD0: -/* 00B30 80B29AD0 3C1880B3 */ lui $t8, %hi(D_80B2A05C) ## $t8 = 80B30000 -/* 00B34 80B29AD4 2718A05C */ addiu $t8, $t8, %lo(D_80B2A05C) ## $t8 = 80B2A05C -/* 00B38 80B29AD8 8F0E0000 */ lw $t6, 0x0000($t8) ## 80B2A05C -/* 00B3C 80B29ADC 3C0A80B3 */ lui $t2, %hi(D_80B2A068) ## $t2 = 80B30000 -/* 00B40 80B29AE0 254AA068 */ addiu $t2, $t2, %lo(D_80B2A068) ## $t2 = 80B2A068 -/* 00B44 80B29AE4 AE0E0000 */ sw $t6, 0x0000($s0) ## FFFFFFA4 -/* 00B48 80B29AE8 8F190004 */ lw $t9, 0x0004($t8) ## 80B2A060 -/* 00B4C 80B29AEC 27A900A8 */ addiu $t1, $sp, 0x00A8 ## $t1 = FFFFFF98 -/* 00B50 80B29AF0 3C014100 */ lui $at, 0x4100 ## $at = 41000000 -/* 00B54 80B29AF4 AE190004 */ sw $t9, 0x0004($s0) ## FFFFFFA8 -/* 00B58 80B29AF8 8F0E0008 */ lw $t6, 0x0008($t8) ## 80B2A064 -/* 00B5C 80B29AFC 44816000 */ mtc1 $at, $f12 ## $f12 = 8.00 -/* 00B60 80B29B00 AE0E0008 */ sw $t6, 0x0008($s0) ## FFFFFFAC -/* 00B64 80B29B04 8D480000 */ lw $t0, 0x0000($t2) ## 80B2A068 -/* 00B68 80B29B08 8D4B0004 */ lw $t3, 0x0004($t2) ## 80B2A06C -/* 00B6C 80B29B0C AD280000 */ sw $t0, 0x0000($t1) ## FFFFFF98 -/* 00B70 80B29B10 8D480008 */ lw $t0, 0x0008($t2) ## 80B2A070 -/* 00B74 80B29B14 AD2B0004 */ sw $t3, 0x0004($t1) ## FFFFFF9C -/* 00B78 80B29B18 0C00CFC8 */ jal Rand_CenteredFloat - -/* 00B7C 80B29B1C AD280008 */ sw $t0, 0x0008($t1) ## FFFFFFA0 -/* 00B80 80B29B20 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 00B84 80B29B24 44816000 */ mtc1 $at, $f12 ## $f12 = 1.00 -/* 00B88 80B29B28 0C00CFBE */ jal Rand_ZeroFloat - -/* 00B8C 80B29B2C E7A000B4 */ swc1 $f0, 0x00B4($sp) -/* 00B90 80B29B30 3C014100 */ lui $at, 0x4100 ## $at = 41000000 -/* 00B94 80B29B34 44816000 */ mtc1 $at, $f12 ## $f12 = 8.00 -/* 00B98 80B29B38 0C00CFC8 */ jal Rand_CenteredFloat - -/* 00B9C 80B29B3C E7A000B8 */ swc1 $f0, 0x00B8($sp) -/* 00BA0 80B29B40 E7A000BC */ swc1 $f0, 0x00BC($sp) -/* 00BA4 80B29B44 E7B600AC */ swc1 $f22, 0x00AC($sp) -/* 00BA8 80B29B48 0C00CFC8 */ jal Rand_CenteredFloat - -/* 00BAC 80B29B4C 4600A306 */ mov.s $f12, $f20 -/* 00BB0 80B29B50 C6260024 */ lwc1 $f6, 0x0024($s1) ## 00000024 -/* 00BB4 80B29B54 4600A306 */ mov.s $f12, $f20 -/* 00BB8 80B29B58 46060200 */ add.s $f8, $f0, $f6 -/* 00BBC 80B29B5C 0C00CFC8 */ jal Rand_CenteredFloat - -/* 00BC0 80B29B60 E7A8009C */ swc1 $f8, 0x009C($sp) -/* 00BC4 80B29B64 C62A0028 */ lwc1 $f10, 0x0028($s1) ## 00000028 -/* 00BC8 80B29B68 4600A306 */ mov.s $f12, $f20 -/* 00BCC 80B29B6C 460A0400 */ add.s $f16, $f0, $f10 -/* 00BD0 80B29B70 0C00CFC8 */ jal Rand_CenteredFloat - -/* 00BD4 80B29B74 E7B000A0 */ swc1 $f16, 0x00A0($sp) -/* 00BD8 80B29B78 C624002C */ lwc1 $f4, 0x002C($s1) ## 0000002C -/* 00BDC 80B29B7C 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000 -/* 00BE0 80B29B80 44816000 */ mtc1 $at, $f12 ## $f12 = 100.00 -/* 00BE4 80B29B84 46040480 */ add.s $f18, $f0, $f4 -/* 00BE8 80B29B88 0C00CFBE */ jal Rand_ZeroFloat - -/* 00BEC 80B29B8C E7B200A4 */ swc1 $f18, 0x00A4($sp) -/* 00BF0 80B29B90 46180180 */ add.s $f6, $f0, $f24 -/* 00BF4 80B29B94 27AC00A8 */ addiu $t4, $sp, 0x00A8 ## $t4 = FFFFFF98 -/* 00BF8 80B29B98 AFAC0010 */ sw $t4, 0x0010($sp) -/* 00BFC 80B29B9C 02802025 */ or $a0, $s4, $zero ## $a0 = 00000000 -/* 00C00 80B29BA0 E7A60014 */ swc1 $f6, 0x0014($sp) -/* 00C04 80B29BA4 02602825 */ or $a1, $s3, $zero ## $a1 = 80134D50 -/* 00C08 80B29BA8 27A6009C */ addiu $a2, $sp, 0x009C ## $a2 = FFFFFF8C -/* 00C0C 80B29BAC 0C2CA48C */ jal func_80B29230 -/* 00C10 80B29BB0 02003825 */ or $a3, $s0, $zero ## $a3 = FFFFFFA4 -/* 00C14 80B29BB4 26520001 */ addiu $s2, $s2, 0x0001 ## $s2 = 00000001 -/* 00C18 80B29BB8 00129400 */ sll $s2, $s2, 16 -/* 00C1C 80B29BBC 00129403 */ sra $s2, $s2, 16 -/* 00C20 80B29BC0 2A41000A */ slti $at, $s2, 0x000A -/* 00C24 80B29BC4 1420FFC2 */ bne $at, $zero, .L80B29AD0 -/* 00C28 80B29BC8 00000000 */ nop -/* 00C2C 80B29BCC 1000004F */ beq $zero, $zero, .L80B29D0C -/* 00C30 80B29BD0 92220178 */ lbu $v0, 0x0178($s1) ## 00000178 -.L80B29BD4: -/* 00C34 80B29BD4 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000 -/* 00C38 80B29BD8 4481C000 */ mtc1 $at, $f24 ## $f24 = 5.00 -/* 00C3C 80B29BDC 3C014120 */ lui $at, 0x4120 ## $at = 41200000 -/* 00C40 80B29BE0 8FB30104 */ lw $s3, 0x0104($sp) -/* 00C44 80B29BE4 4481B000 */ mtc1 $at, $f22 ## $f22 = 10.00 -/* 00C48 80B29BE8 3C014040 */ lui $at, 0x4040 ## $at = 40400000 -/* 00C4C 80B29BEC 4481A000 */ mtc1 $at, $f20 ## $f20 = 3.00 -/* 00C50 80B29BF0 27B00090 */ addiu $s0, $sp, 0x0090 ## $s0 = FFFFFF80 -/* 00C54 80B29BF4 26731970 */ addiu $s3, $s3, 0x1970 ## $s3 = 801366C0 -.L80B29BF8: -/* 00C58 80B29BF8 3C0D80B3 */ lui $t5, %hi(D_80B2A074) ## $t5 = 80B30000 -/* 00C5C 80B29BFC 25ADA074 */ addiu $t5, $t5, %lo(D_80B2A074) ## $t5 = 80B2A074 -/* 00C60 80B29C00 8DB80000 */ lw $t8, 0x0000($t5) ## 80B2A074 -/* 00C64 80B29C04 3C0E80B3 */ lui $t6, %hi(D_80B2A080) ## $t6 = 80B30000 -/* 00C68 80B29C08 25CEA080 */ addiu $t6, $t6, %lo(D_80B2A080) ## $t6 = 80B2A080 -/* 00C6C 80B29C0C AE180000 */ sw $t8, 0x0000($s0) ## FFFFFF80 -/* 00C70 80B29C10 8DAF0004 */ lw $t7, 0x0004($t5) ## 80B2A078 -/* 00C74 80B29C14 27B90084 */ addiu $t9, $sp, 0x0084 ## $t9 = FFFFFF74 -/* 00C78 80B29C18 4600B306 */ mov.s $f12, $f22 -/* 00C7C 80B29C1C AE0F0004 */ sw $t7, 0x0004($s0) ## FFFFFF84 -/* 00C80 80B29C20 8DB80008 */ lw $t8, 0x0008($t5) ## 80B2A07C -/* 00C84 80B29C24 AE180008 */ sw $t8, 0x0008($s0) ## FFFFFF88 -/* 00C88 80B29C28 8DCA0000 */ lw $t2, 0x0000($t6) ## 80B2A080 -/* 00C8C 80B29C2C 8DC90004 */ lw $t1, 0x0004($t6) ## 80B2A084 -/* 00C90 80B29C30 AF2A0000 */ sw $t2, 0x0000($t9) ## FFFFFF74 -/* 00C94 80B29C34 8DCA0008 */ lw $t2, 0x0008($t6) ## 80B2A088 -/* 00C98 80B29C38 AF290004 */ sw $t1, 0x0004($t9) ## FFFFFF78 -/* 00C9C 80B29C3C 0C00CFC8 */ jal Rand_CenteredFloat - -/* 00CA0 80B29C40 AF2A0008 */ sw $t2, 0x0008($t9) ## FFFFFF7C -/* 00CA4 80B29C44 E7A00090 */ swc1 $f0, 0x0090($sp) -/* 00CA8 80B29C48 0C00CFBE */ jal Rand_ZeroFloat - -/* 00CAC 80B29C4C 4600A306 */ mov.s $f12, $f20 -/* 00CB0 80B29C50 46140200 */ add.s $f8, $f0, $f20 -/* 00CB4 80B29C54 4600B306 */ mov.s $f12, $f22 -/* 00CB8 80B29C58 0C00CFC8 */ jal Rand_CenteredFloat - -/* 00CBC 80B29C5C E7A80094 */ swc1 $f8, 0x0094($sp) -/* 00CC0 80B29C60 E7A00098 */ swc1 $f0, 0x0098($sp) -/* 00CC4 80B29C64 0C00CFC8 */ jal Rand_CenteredFloat - -/* 00CC8 80B29C68 4600C306 */ mov.s $f12, $f24 -/* 00CCC 80B29C6C C62A0024 */ lwc1 $f10, 0x0024($s1) ## 00000024 -/* 00CD0 80B29C70 4600C306 */ mov.s $f12, $f24 -/* 00CD4 80B29C74 460A0400 */ add.s $f16, $f0, $f10 -/* 00CD8 80B29C78 0C00CFC8 */ jal Rand_CenteredFloat - -/* 00CDC 80B29C7C E7B00078 */ swc1 $f16, 0x0078($sp) -/* 00CE0 80B29C80 C6240028 */ lwc1 $f4, 0x0028($s1) ## 00000028 -/* 00CE4 80B29C84 4600C306 */ mov.s $f12, $f24 -/* 00CE8 80B29C88 46040480 */ add.s $f18, $f0, $f4 -/* 00CEC 80B29C8C 0C00CFC8 */ jal Rand_CenteredFloat - -/* 00CF0 80B29C90 E7B2007C */ swc1 $f18, 0x007C($sp) -/* 00CF4 80B29C94 C626002C */ lwc1 $f6, 0x002C($s1) ## 0000002C -/* 00CF8 80B29C98 3C014140 */ lui $at, 0x4140 ## $at = 41400000 -/* 00CFC 80B29C9C 44816000 */ mtc1 $at, $f12 ## $f12 = 12.00 -/* 00D00 80B29CA0 46060200 */ add.s $f8, $f0, $f6 -/* 00D04 80B29CA4 0C00CFBE */ jal Rand_ZeroFloat - -/* 00D08 80B29CA8 E7A80080 */ swc1 $f8, 0x0080($sp) -/* 00D0C 80B29CAC 4600028D */ trunc.w.s $f10, $f0 -/* 00D10 80B29CB0 27AB0084 */ addiu $t3, $sp, 0x0084 ## $t3 = FFFFFF74 -/* 00D14 80B29CB4 AFAB0010 */ sw $t3, 0x0010($sp) -/* 00D18 80B29CB8 02802025 */ or $a0, $s4, $zero ## $a0 = 00000000 -/* 00D1C 80B29CBC 440C5000 */ mfc1 $t4, $f10 -/* 00D20 80B29CC0 02602825 */ or $a1, $s3, $zero ## $a1 = 801366C0 -/* 00D24 80B29CC4 27A60078 */ addiu $a2, $sp, 0x0078 ## $a2 = FFFFFF68 -/* 00D28 80B29CC8 000C6C00 */ sll $t5, $t4, 16 -/* 00D2C 80B29CCC 000D7C03 */ sra $t7, $t5, 16 -/* 00D30 80B29CD0 25F8000F */ addiu $t8, $t7, 0x000F ## $t8 = 0000000F -/* 00D34 80B29CD4 44988000 */ mtc1 $t8, $f16 ## $f16 = 0.00 -/* 00D38 80B29CD8 02003825 */ or $a3, $s0, $zero ## $a3 = FFFFFF80 -/* 00D3C 80B29CDC 46808120 */ cvt.s.w $f4, $f16 -/* 00D40 80B29CE0 0C2CA456 */ jal func_80B29158 -/* 00D44 80B29CE4 E7A40014 */ swc1 $f4, 0x0014($sp) -/* 00D48 80B29CE8 26520001 */ addiu $s2, $s2, 0x0001 ## $s2 = 00000002 -/* 00D4C 80B29CEC 00129400 */ sll $s2, $s2, 16 -/* 00D50 80B29CF0 00129403 */ sra $s2, $s2, 16 -/* 00D54 80B29CF4 2A410005 */ slti $at, $s2, 0x0005 -/* 00D58 80B29CF8 1420FFBF */ bne $at, $zero, .L80B29BF8 -/* 00D5C 80B29CFC 00000000 */ nop -/* 00D60 80B29D00 0C00B55C */ jal Actor_Kill - -/* 00D64 80B29D04 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -.L80B29D08: -/* 00D68 80B29D08 92220178 */ lbu $v0, 0x0178($s1) ## 00000178 -.L80B29D0C: -/* 00D6C 80B29D0C 2405083E */ addiu $a1, $zero, 0x083E ## $a1 = 0000083E -/* 00D70 80B29D10 30590002 */ andi $t9, $v0, 0x0002 ## $t9 = 00000000 -/* 00D74 80B29D14 13200004 */ beq $t9, $zero, .L80B29D28 -/* 00D78 80B29D18 304EFFFD */ andi $t6, $v0, 0xFFFD ## $t6 = 00000000 -/* 00D7C 80B29D1C 8E841C44 */ lw $a0, 0x1C44($s4) ## 00001C44 -/* 00D80 80B29D20 0C00BE0A */ jal Audio_PlayActorSound2 - -/* 00D84 80B29D24 A22E0178 */ sb $t6, 0x0178($s1) ## 00000178 -.L80B29D28: -/* 00D88 80B29D28 26300168 */ addiu $s0, $s1, 0x0168 ## $s0 = 00000168 -/* 00D8C 80B29D2C 02002825 */ or $a1, $s0, $zero ## $a1 = 00000168 -/* 00D90 80B29D30 0C0189B7 */ jal Collider_UpdateCylinder - -/* 00D94 80B29D34 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 00D98 80B29D38 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 00D9C 80B29D3C 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60 -/* 00DA0 80B29D40 02812821 */ addu $a1, $s4, $at -/* 00DA4 80B29D44 02802025 */ or $a0, $s4, $zero ## $a0 = 00000000 -/* 00DA8 80B29D48 0C0175E7 */ jal CollisionCheck_SetAT - ## CollisionCheck_setAT -/* 00DAC 80B29D4C 02003025 */ or $a2, $s0, $zero ## $a2 = 00000168 -/* 00DB0 80B29D50 8FBF0064 */ lw $ra, 0x0064($sp) -.L80B29D54: -/* 00DB4 80B29D54 D7B40030 */ ldc1 $f20, 0x0030($sp) -/* 00DB8 80B29D58 D7B60038 */ ldc1 $f22, 0x0038($sp) -/* 00DBC 80B29D5C D7B80040 */ ldc1 $f24, 0x0040($sp) -/* 00DC0 80B29D60 8FB0004C */ lw $s0, 0x004C($sp) -/* 00DC4 80B29D64 8FB10050 */ lw $s1, 0x0050($sp) -/* 00DC8 80B29D68 8FB20054 */ lw $s2, 0x0054($sp) -/* 00DCC 80B29D6C 8FB30058 */ lw $s3, 0x0058($sp) -/* 00DD0 80B29D70 8FB4005C */ lw $s4, 0x005C($sp) -/* 00DD4 80B29D74 8FB50060 */ lw $s5, 0x0060($sp) -/* 00DD8 80B29D78 03E00008 */ jr $ra -/* 00DDC 80B29D7C 27BD0110 */ addiu $sp, $sp, 0x0110 ## $sp = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Vb_Ball/func_80B29158.s b/asm/non_matchings/overlays/actors/ovl_En_Vb_Ball/func_80B29158.s deleted file mode 100644 index 8162168140..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Vb_Ball/func_80B29158.s +++ /dev/null @@ -1,60 +0,0 @@ -glabel func_80B29158 -/* 001B8 80B29158 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 001BC 80B2915C AFBF0014 */ sw $ra, 0x0014($sp) -/* 001C0 80B29160 AFA40018 */ sw $a0, 0x0018($sp) -/* 001C4 80B29164 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000 -.L80B29168: -/* 001C8 80B29168 90AE0024 */ lbu $t6, 0x0024($a1) ## 00000024 -/* 001CC 80B2916C 24420001 */ addiu $v0, $v0, 0x0001 ## $v0 = 00000001 -/* 001D0 80B29170 00021400 */ sll $v0, $v0, 16 -/* 001D4 80B29174 15C00027 */ bne $t6, $zero, .L80B29214 -/* 001D8 80B29178 00021403 */ sra $v0, $v0, 16 -/* 001DC 80B2917C 240F0002 */ addiu $t7, $zero, 0x0002 ## $t7 = 00000002 -/* 001E0 80B29180 A0AF0024 */ sb $t7, 0x0024($a1) ## 00000024 -/* 001E4 80B29184 8CD90000 */ lw $t9, 0x0000($a2) ## 00000000 -/* 001E8 80B29188 3C01447A */ lui $at, 0x447A ## $at = 447A0000 -/* 001EC 80B2918C 44813000 */ mtc1 $at, $f6 ## $f6 = 1000.00 -/* 001F0 80B29190 ACB90000 */ sw $t9, 0x0000($a1) ## 00000000 -/* 001F4 80B29194 8CD80004 */ lw $t8, 0x0004($a2) ## 00000004 -/* 001F8 80B29198 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000 -/* 001FC 80B2919C 44816000 */ mtc1 $at, $f12 ## $f12 = 100.00 -/* 00200 80B291A0 ACB80004 */ sw $t8, 0x0004($a1) ## 00000004 -/* 00204 80B291A4 8CD90008 */ lw $t9, 0x0008($a2) ## 00000008 -/* 00208 80B291A8 ACB90008 */ sw $t9, 0x0008($a1) ## 00000008 -/* 0020C 80B291AC 8CE90000 */ lw $t1, 0x0000($a3) ## 00000000 -/* 00210 80B291B0 ACA9000C */ sw $t1, 0x000C($a1) ## 0000000C -/* 00214 80B291B4 8CE80004 */ lw $t0, 0x0004($a3) ## 00000004 -/* 00218 80B291B8 ACA80010 */ sw $t0, 0x0010($a1) ## 00000010 -/* 0021C 80B291BC 8CE90008 */ lw $t1, 0x0008($a3) ## 00000008 -/* 00220 80B291C0 ACA90014 */ sw $t1, 0x0014($a1) ## 00000014 -/* 00224 80B291C4 8FAA0028 */ lw $t2, 0x0028($sp) -/* 00228 80B291C8 8D4C0000 */ lw $t4, 0x0000($t2) ## 00000000 -/* 0022C 80B291CC ACAC0018 */ sw $t4, 0x0018($a1) ## 00000018 -/* 00230 80B291D0 8D4B0004 */ lw $t3, 0x0004($t2) ## 00000004 -/* 00234 80B291D4 ACAB001C */ sw $t3, 0x001C($a1) ## 0000001C -/* 00238 80B291D8 8D4C0008 */ lw $t4, 0x0008($t2) ## 00000008 -/* 0023C 80B291DC ACAC0020 */ sw $t4, 0x0020($a1) ## 00000020 -/* 00240 80B291E0 C7A4002C */ lwc1 $f4, 0x002C($sp) -/* 00244 80B291E4 46062203 */ div.s $f8, $f4, $f6 -/* 00248 80B291E8 E4A80030 */ swc1 $f8, 0x0030($a1) ## 00000030 -/* 0024C 80B291EC 0C00CFBE */ jal Rand_ZeroFloat - -/* 00250 80B291F0 AFA5001C */ sw $a1, 0x001C($sp) -/* 00254 80B291F4 8FA5001C */ lw $a1, 0x001C($sp) -/* 00258 80B291F8 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000 -/* 0025C 80B291FC 44816000 */ mtc1 $at, $f12 ## $f12 = 100.00 -/* 00260 80B29200 0C00CFBE */ jal Rand_ZeroFloat - -/* 00264 80B29204 E4A00034 */ swc1 $f0, 0x0034($a1) ## 00000034 -/* 00268 80B29208 8FA5001C */ lw $a1, 0x001C($sp) -/* 0026C 80B2920C 10000004 */ beq $zero, $zero, .L80B29220 -/* 00270 80B29210 E4A00038 */ swc1 $f0, 0x0038($a1) ## 00000038 -.L80B29214: -/* 00274 80B29214 284100B4 */ slti $at, $v0, 0x00B4 -/* 00278 80B29218 1420FFD3 */ bne $at, $zero, .L80B29168 -/* 0027C 80B2921C 24A5003C */ addiu $a1, $a1, 0x003C ## $a1 = 0000003C -.L80B29220: -/* 00280 80B29220 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00284 80B29224 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00288 80B29228 03E00008 */ jr $ra -/* 0028C 80B2922C 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Vb_Ball/func_80B29230.s b/asm/non_matchings/overlays/actors/ovl_En_Vb_Ball/func_80B29230.s deleted file mode 100644 index 704602a08a..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Vb_Ball/func_80B29230.s +++ /dev/null @@ -1,43 +0,0 @@ -glabel func_80B29230 -/* 00290 80B29230 AFA40000 */ sw $a0, 0x0000($sp) -/* 00294 80B29234 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000 -.L80B29238: -/* 00298 80B29238 90AE0024 */ lbu $t6, 0x0024($a1) ## 00000024 -/* 0029C 80B2923C 24420001 */ addiu $v0, $v0, 0x0001 ## $v0 = 00000001 -/* 002A0 80B29240 00021400 */ sll $v0, $v0, 16 -/* 002A4 80B29244 15C0001D */ bne $t6, $zero, .L80B292BC -/* 002A8 80B29248 00021403 */ sra $v0, $v0, 16 -/* 002AC 80B2924C 240F0003 */ addiu $t7, $zero, 0x0003 ## $t7 = 00000003 -/* 002B0 80B29250 A0AF0024 */ sb $t7, 0x0024($a1) ## 00000024 -/* 002B4 80B29254 8CD90000 */ lw $t9, 0x0000($a2) ## 00000000 -/* 002B8 80B29258 3C0143C8 */ lui $at, 0x43C8 ## $at = 43C80000 -/* 002BC 80B2925C 44813000 */ mtc1 $at, $f6 ## $f6 = 400.00 -/* 002C0 80B29260 ACB90000 */ sw $t9, 0x0000($a1) ## 00000000 -/* 002C4 80B29264 8CD80004 */ lw $t8, 0x0004($a2) ## 00000004 -/* 002C8 80B29268 ACB80004 */ sw $t8, 0x0004($a1) ## 00000004 -/* 002CC 80B2926C 8CD90008 */ lw $t9, 0x0008($a2) ## 00000008 -/* 002D0 80B29270 ACB90008 */ sw $t9, 0x0008($a1) ## 00000008 -/* 002D4 80B29274 8CE90000 */ lw $t1, 0x0000($a3) ## 00000000 -/* 002D8 80B29278 ACA9000C */ sw $t1, 0x000C($a1) ## 0000000C -/* 002DC 80B2927C 8CE80004 */ lw $t0, 0x0004($a3) ## 00000004 -/* 002E0 80B29280 ACA80010 */ sw $t0, 0x0010($a1) ## 00000010 -/* 002E4 80B29284 8CE90008 */ lw $t1, 0x0008($a3) ## 00000008 -/* 002E8 80B29288 ACA90014 */ sw $t1, 0x0014($a1) ## 00000014 -/* 002EC 80B2928C 8FAA0010 */ lw $t2, 0x0010($sp) -/* 002F0 80B29290 8D4C0000 */ lw $t4, 0x0000($t2) ## 00000000 -/* 002F4 80B29294 ACAC0018 */ sw $t4, 0x0018($a1) ## 00000018 -/* 002F8 80B29298 8D4B0004 */ lw $t3, 0x0004($t2) ## 00000004 -/* 002FC 80B2929C ACAB001C */ sw $t3, 0x001C($a1) ## 0000001C -/* 00300 80B292A0 8D4C0008 */ lw $t4, 0x0008($t2) ## 00000008 -/* 00304 80B292A4 A4A0002C */ sh $zero, 0x002C($a1) ## 0000002C -/* 00308 80B292A8 ACAC0020 */ sw $t4, 0x0020($a1) ## 00000020 -/* 0030C 80B292AC C7A40014 */ lwc1 $f4, 0x0014($sp) -/* 00310 80B292B0 46062203 */ div.s $f8, $f4, $f6 -/* 00314 80B292B4 03E00008 */ jr $ra -/* 00318 80B292B8 E4A80030 */ swc1 $f8, 0x0030($a1) ## 00000030 -.L80B292BC: -/* 0031C 80B292BC 284100B4 */ slti $at, $v0, 0x00B4 -/* 00320 80B292C0 1420FFDD */ bne $at, $zero, .L80B29238 -/* 00324 80B292C4 24A5003C */ addiu $a1, $a1, 0x003C ## $a1 = 0000003C -/* 00328 80B292C8 03E00008 */ jr $ra -/* 0032C 80B292CC 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Vb_Ball/func_80B292D0.s b/asm/non_matchings/overlays/actors/ovl_En_Vb_Ball/func_80B292D0.s deleted file mode 100644 index d898904868..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Vb_Ball/func_80B292D0.s +++ /dev/null @@ -1,207 +0,0 @@ -.late_rodata -glabel D_80B2A0F4 - .float 0.3 - -.text -glabel func_80B292D0 -/* 00330 80B292D0 27BDFF48 */ addiu $sp, $sp, 0xFF48 ## $sp = FFFFFF48 -/* 00334 80B292D4 3C014248 */ lui $at, 0x4248 ## $at = 42480000 -/* 00338 80B292D8 44810000 */ mtc1 $at, $f0 ## $f0 = 50.00 -/* 0033C 80B292DC AFB3005C */ sw $s3, 0x005C($sp) -/* 00340 80B292E0 AFBF0074 */ sw $ra, 0x0074($sp) -/* 00344 80B292E4 AFBE0070 */ sw $s8, 0x0070($sp) -/* 00348 80B292E8 AFB7006C */ sw $s7, 0x006C($sp) -/* 0034C 80B292EC AFB60068 */ sw $s6, 0x0068($sp) -/* 00350 80B292F0 AFB50064 */ sw $s5, 0x0064($sp) -/* 00354 80B292F4 AFB40060 */ sw $s4, 0x0060($sp) -/* 00358 80B292F8 AFB20058 */ sw $s2, 0x0058($sp) -/* 0035C 80B292FC AFB10054 */ sw $s1, 0x0054($sp) -/* 00360 80B29300 AFB00050 */ sw $s0, 0x0050($sp) -/* 00364 80B29304 F7BE0048 */ sdc1 $f30, 0x0048($sp) -/* 00368 80B29308 F7BC0040 */ sdc1 $f28, 0x0040($sp) -/* 0036C 80B2930C F7BA0038 */ sdc1 $f26, 0x0038($sp) -/* 00370 80B29310 F7B80030 */ sdc1 $f24, 0x0030($sp) -/* 00374 80B29314 F7B60028 */ sdc1 $f22, 0x0028($sp) -/* 00378 80B29318 F7B40020 */ sdc1 $f20, 0x0020($sp) -/* 0037C 80B2931C 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000 -/* 00380 80B29320 44812000 */ mtc1 $at, $f4 ## $f4 = 100.00 -/* 00384 80B29324 00809825 */ or $s3, $a0, $zero ## $s3 = 00000000 -/* 00388 80B29328 8C910118 */ lw $s1, 0x0118($a0) ## 00000118 -/* 0038C 80B2932C 00A0F025 */ or $s8, $a1, $zero ## $s8 = 00000000 -/* 00390 80B29330 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000 -/* 00394 80B29334 240E0004 */ addiu $t6, $zero, 0x0004 ## $t6 = 00000004 -/* 00398 80B29338 44060000 */ mfc1 $a2, $f0 -/* 0039C 80B2933C 44070000 */ mfc1 $a3, $f0 -/* 003A0 80B29340 AFAE0014 */ sw $t6, 0x0014($sp) -/* 003A4 80B29344 02602825 */ or $a1, $s3, $zero ## $a1 = 00000000 -/* 003A8 80B29348 0C00B92D */ jal Actor_UpdateBgCheckInfo -/* 003AC 80B2934C E7A40010 */ swc1 $f4, 0x0010($sp) -/* 003B0 80B29350 966F0088 */ lhu $t7, 0x0088($s3) ## 00000088 -/* 003B4 80B29354 31F80001 */ andi $t8, $t7, 0x0001 ## $t8 = 00000000 -/* 003B8 80B29358 5300007C */ beql $t8, $zero, .L80B2954C -/* 003BC 80B2935C 3C014248 */ lui $at, 0x4248 ## $at = 42480000 -/* 003C0 80B29360 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00 -/* 003C4 80B29364 C6680060 */ lwc1 $f8, 0x0060($s3) ## 00000060 -/* 003C8 80B29368 3C014680 */ lui $at, 0x4680 ## $at = 46800000 -/* 003CC 80B2936C 4606403E */ c.le.s $f8, $f6 -/* 003D0 80B29370 00000000 */ nop -/* 003D4 80B29374 45020075 */ bc1fl .L80B2954C -/* 003D8 80B29378 3C014248 */ lui $at, 0x4248 ## $at = 42480000 -/* 003DC 80B2937C 4481A000 */ mtc1 $at, $f20 ## $f20 = 50.00 -/* 003E0 80B29380 0C00CFC8 */ jal Rand_CenteredFloat - -/* 003E4 80B29384 4600A306 */ mov.s $f12, $f20 -/* 003E8 80B29388 E6600158 */ swc1 $f0, 0x0158($s3) ## 00000158 -/* 003EC 80B2938C 0C00CFC8 */ jal Rand_CenteredFloat - -/* 003F0 80B29390 4600A306 */ mov.s $f12, $f20 -/* 003F4 80B29394 E660015C */ swc1 $f0, 0x015C($s3) ## 0000015C -/* 003F8 80B29398 C66C0024 */ lwc1 $f12, 0x0024($s3) ## 00000024 -/* 003FC 80B2939C 0C03F494 */ jal Math_FAtan2F -/* 00400 80B293A0 C66E002C */ lwc1 $f14, 0x002C($s3) ## 0000002C -/* 00404 80B293A4 46000506 */ mov.s $f20, $f0 -/* 00408 80B293A8 0C0400A4 */ jal sinf - -/* 0040C 80B293AC 46000306 */ mov.s $f12, $f0 -/* 00410 80B293B0 3C014120 */ lui $at, 0x4120 ## $at = 41200000 -/* 00414 80B293B4 44815000 */ mtc1 $at, $f10 ## $f10 = 10.00 -/* 00418 80B293B8 4600A306 */ mov.s $f12, $f20 -/* 0041C 80B293BC 460A0402 */ mul.s $f16, $f0, $f10 -/* 00420 80B293C0 0C041184 */ jal cosf - -/* 00424 80B293C4 E670005C */ swc1 $f16, 0x005C($s3) ## 0000005C -/* 00428 80B293C8 3C014120 */ lui $at, 0x4120 ## $at = 41200000 -/* 0042C 80B293CC 44819000 */ mtc1 $at, $f18 ## $f18 = 10.00 -/* 00430 80B293D0 3C01BF00 */ lui $at, 0xBF00 ## $at = BF000000 -/* 00434 80B293D4 44814000 */ mtc1 $at, $f8 ## $f8 = -0.50 -/* 00438 80B293D8 46120102 */ mul.s $f4, $f0, $f18 -/* 0043C 80B293DC C6660060 */ lwc1 $f6, 0x0060($s3) ## 00000060 -/* 00440 80B293E0 8679001C */ lh $t9, 0x001C($s3) ## 0000001C -/* 00444 80B293E4 3C078013 */ lui $a3, %hi(D_801333E0) -/* 00448 80B293E8 46083282 */ mul.s $f10, $f6, $f8 -/* 0044C 80B293EC 33280001 */ andi $t0, $t9, 0x0001 ## $t0 = 00000000 -/* 00450 80B293F0 24E733E0 */ addiu $a3, %lo(D_801333E0) -/* 00454 80B293F4 E6640064 */ swc1 $f4, 0x0064($s3) ## 00000064 -/* 00458 80B293F8 24043927 */ addiu $a0, $zero, 0x3927 ## $a0 = 00003927 -/* 0045C 80B293FC 266500E4 */ addiu $a1, $s3, 0x00E4 ## $a1 = 000000E4 -/* 00460 80B29400 11000007 */ beq $t0, $zero, .L80B29420 -/* 00464 80B29404 E66A0060 */ swc1 $f10, 0x0060($s3) ## 00000060 -/* 00468 80B29408 3C098013 */ lui $t1, %hi(D_801333E8) -/* 0046C 80B2940C 252933E8 */ addiu $t1, %lo(D_801333E8) -/* 00470 80B29410 AFA90014 */ sw $t1, 0x0014($sp) -/* 00474 80B29414 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004 -/* 00478 80B29418 0C03DCE3 */ jal Audio_PlaySoundGeneral - -/* 0047C 80B2941C AFA70010 */ sw $a3, 0x0010($sp) -.L80B29420: -/* 00480 80B29420 3C014348 */ lui $at, 0x4348 ## $at = 43480000 -/* 00484 80B29424 4481F000 */ mtc1 $at, $f30 ## $f30 = 200.00 -/* 00488 80B29428 3C0142A0 */ lui $at, 0x42A0 ## $at = 42A00000 -/* 0048C 80B2942C 4481E000 */ mtc1 $at, $f28 ## $f28 = 80.00 -/* 00490 80B29430 3C0180B3 */ lui $at, %hi(D_80B2A0F4) ## $at = 80B30000 -/* 00494 80B29434 C43AA0F4 */ lwc1 $f26, %lo(D_80B2A0F4)($at) -/* 00498 80B29438 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 0049C 80B2943C 4481C000 */ mtc1 $at, $f24 ## $f24 = 1.00 -/* 004A0 80B29440 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000 -/* 004A4 80B29444 4481B000 */ mtc1 $at, $f22 ## $f22 = 20.00 -/* 004A8 80B29448 3C014100 */ lui $at, 0x4100 ## $at = 41000000 -/* 004AC 80B2944C 26341970 */ addiu $s4, $s1, 0x1970 ## $s4 = 00001970 -/* 004B0 80B29450 3C1680B3 */ lui $s6, %hi(D_80B2A038) ## $s6 = 80B30000 -/* 004B4 80B29454 3C1580B3 */ lui $s5, %hi(D_80B2A02C) ## $s5 = 80B30000 -/* 004B8 80B29458 4481A000 */ mtc1 $at, $f20 ## $f20 = 8.00 -/* 004BC 80B2945C 26B5A02C */ addiu $s5, $s5, %lo(D_80B2A02C) ## $s5 = 80B2A02C -/* 004C0 80B29460 26D6A038 */ addiu $s6, $s6, %lo(D_80B2A038) ## $s6 = 80B2A038 -/* 004C4 80B29464 27B10098 */ addiu $s1, $sp, 0x0098 ## $s1 = FFFFFFE0 -/* 004C8 80B29468 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000 -/* 004CC 80B2946C 27B70080 */ addiu $s7, $sp, 0x0080 ## $s7 = FFFFFFC8 -/* 004D0 80B29470 27B2008C */ addiu $s2, $sp, 0x008C ## $s2 = FFFFFFD4 -/* 004D4 80B29474 8EAB0000 */ lw $t3, 0x0000($s5) ## 80B2A02C -.L80B29478: -/* 004D8 80B29478 8ECD0000 */ lw $t5, 0x0000($s6) ## 80B2A038 -/* 004DC 80B2947C 8EAA0004 */ lw $t2, 0x0004($s5) ## 80B2A030 -/* 004E0 80B29480 AE2B0000 */ sw $t3, 0x0000($s1) ## FFFFFFE0 -/* 004E4 80B29484 AE4D0000 */ sw $t5, 0x0000($s2) ## FFFFFFD4 -/* 004E8 80B29488 8EAB0008 */ lw $t3, 0x0008($s5) ## 80B2A034 -/* 004EC 80B2948C 8ECD0008 */ lw $t5, 0x0008($s6) ## 80B2A040 -/* 004F0 80B29490 8ECC0004 */ lw $t4, 0x0004($s6) ## 80B2A03C -/* 004F4 80B29494 4600A306 */ mov.s $f12, $f20 -/* 004F8 80B29498 AE2A0004 */ sw $t2, 0x0004($s1) ## FFFFFFE4 -/* 004FC 80B2949C AE2B0008 */ sw $t3, 0x0008($s1) ## FFFFFFE8 -/* 00500 80B294A0 AE4D0008 */ sw $t5, 0x0008($s2) ## FFFFFFDC -/* 00504 80B294A4 0C00CFC8 */ jal Rand_CenteredFloat - -/* 00508 80B294A8 AE4C0004 */ sw $t4, 0x0004($s2) ## FFFFFFD8 -/* 0050C 80B294AC E7A00098 */ swc1 $f0, 0x0098($sp) -/* 00510 80B294B0 0C00CFBE */ jal Rand_ZeroFloat - -/* 00514 80B294B4 4600C306 */ mov.s $f12, $f24 -/* 00518 80B294B8 E7A0009C */ swc1 $f0, 0x009C($sp) -/* 0051C 80B294BC 0C00CFC8 */ jal Rand_CenteredFloat - -/* 00520 80B294C0 4600A306 */ mov.s $f12, $f20 -/* 00524 80B294C4 E7A000A0 */ swc1 $f0, 0x00A0($sp) -/* 00528 80B294C8 E7BA0090 */ swc1 $f26, 0x0090($sp) -/* 0052C 80B294CC 0C00CFC8 */ jal Rand_CenteredFloat - -/* 00530 80B294D0 4600B306 */ mov.s $f12, $f22 -/* 00534 80B294D4 C6700024 */ lwc1 $f16, 0x0024($s3) ## 00000024 -/* 00538 80B294D8 3C014120 */ lui $at, 0x4120 ## $at = 41200000 -/* 0053C 80B294DC 44813000 */ mtc1 $at, $f6 ## $f6 = 10.00 -/* 00540 80B294E0 46100480 */ add.s $f18, $f0, $f16 -/* 00544 80B294E4 4600B306 */ mov.s $f12, $f22 -/* 00548 80B294E8 E7B20080 */ swc1 $f18, 0x0080($sp) -/* 0054C 80B294EC C6640080 */ lwc1 $f4, 0x0080($s3) ## 00000080 -/* 00550 80B294F0 46062200 */ add.s $f8, $f4, $f6 -/* 00554 80B294F4 0C00CFC8 */ jal Rand_CenteredFloat - -/* 00558 80B294F8 E7A80084 */ swc1 $f8, 0x0084($sp) -/* 0055C 80B294FC C66A002C */ lwc1 $f10, 0x002C($s3) ## 0000002C -/* 00560 80B29500 4600E306 */ mov.s $f12, $f28 -/* 00564 80B29504 460A0400 */ add.s $f16, $f0, $f10 -/* 00568 80B29508 0C00CFBE */ jal Rand_ZeroFloat - -/* 0056C 80B2950C E7B00088 */ swc1 $f16, 0x0088($sp) -/* 00570 80B29510 461E0480 */ add.s $f18, $f0, $f30 -/* 00574 80B29514 03C02025 */ or $a0, $s8, $zero ## $a0 = 00000000 -/* 00578 80B29518 02802825 */ or $a1, $s4, $zero ## $a1 = 00001970 -/* 0057C 80B2951C 02E03025 */ or $a2, $s7, $zero ## $a2 = FFFFFFC8 -/* 00580 80B29520 E7B20014 */ swc1 $f18, 0x0014($sp) -/* 00584 80B29524 02203825 */ or $a3, $s1, $zero ## $a3 = FFFFFFE0 -/* 00588 80B29528 0C2CA48C */ jal func_80B29230 -/* 0058C 80B2952C AFB20010 */ sw $s2, 0x0010($sp) -/* 00590 80B29530 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001 -/* 00594 80B29534 00108400 */ sll $s0, $s0, 16 -/* 00598 80B29538 00108403 */ sra $s0, $s0, 16 -/* 0059C 80B2953C 2A01000A */ slti $at, $s0, 0x000A -/* 005A0 80B29540 5420FFCD */ bnel $at, $zero, .L80B29478 -/* 005A4 80B29544 8EAB0000 */ lw $t3, 0x0000($s5) ## 80B2A02C -/* 005A8 80B29548 3C014248 */ lui $at, 0x4248 ## $at = 42480000 -.L80B2954C: -/* 005AC 80B2954C 44813000 */ mtc1 $at, $f6 ## $f6 = 50.00 -/* 005B0 80B29550 C6640028 */ lwc1 $f4, 0x0028($s3) ## 00000028 -/* 005B4 80B29554 4606203C */ c.lt.s $f4, $f6 -/* 005B8 80B29558 00000000 */ nop -/* 005BC 80B2955C 45020004 */ bc1fl .L80B29570 -/* 005C0 80B29560 8FBF0074 */ lw $ra, 0x0074($sp) -/* 005C4 80B29564 0C00B55C */ jal Actor_Kill - -/* 005C8 80B29568 02602025 */ or $a0, $s3, $zero ## $a0 = 00000000 -/* 005CC 80B2956C 8FBF0074 */ lw $ra, 0x0074($sp) -.L80B29570: -/* 005D0 80B29570 D7B40020 */ ldc1 $f20, 0x0020($sp) -/* 005D4 80B29574 D7B60028 */ ldc1 $f22, 0x0028($sp) -/* 005D8 80B29578 D7B80030 */ ldc1 $f24, 0x0030($sp) -/* 005DC 80B2957C D7BA0038 */ ldc1 $f26, 0x0038($sp) -/* 005E0 80B29580 D7BC0040 */ ldc1 $f28, 0x0040($sp) -/* 005E4 80B29584 D7BE0048 */ ldc1 $f30, 0x0048($sp) -/* 005E8 80B29588 8FB00050 */ lw $s0, 0x0050($sp) -/* 005EC 80B2958C 8FB10054 */ lw $s1, 0x0054($sp) -/* 005F0 80B29590 8FB20058 */ lw $s2, 0x0058($sp) -/* 005F4 80B29594 8FB3005C */ lw $s3, 0x005C($sp) -/* 005F8 80B29598 8FB40060 */ lw $s4, 0x0060($sp) -/* 005FC 80B2959C 8FB50064 */ lw $s5, 0x0064($sp) -/* 00600 80B295A0 8FB60068 */ lw $s6, 0x0068($sp) -/* 00604 80B295A4 8FB7006C */ lw $s7, 0x006C($sp) -/* 00608 80B295A8 8FBE0070 */ lw $s8, 0x0070($sp) -/* 0060C 80B295AC 03E00008 */ jr $ra -/* 00610 80B295B0 27BD00B8 */ addiu $sp, $sp, 0x00B8 ## $sp = 00000000 diff --git a/assets/xml/objects/object_fd.xml b/assets/xml/objects/object_fd.xml new file mode 100644 index 0000000000..6deb4e11b8 --- /dev/null +++ b/assets/xml/objects/object_fd.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/xml/objects/object_fd2.xml b/assets/xml/objects/object_fd2.xml new file mode 100644 index 0000000000..c2a1457125 --- /dev/null +++ b/assets/xml/objects/object_fd2.xml @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/overlays/actors/z_bg_vb_sima.data.s b/data/overlays/actors/z_bg_vb_sima.data.s deleted file mode 100644 index f59db52de6..0000000000 --- a/data/overlays/actors/z_bg_vb_sima.data.s +++ /dev/null @@ -1,24 +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_Vb_Sima_InitVars - .word 0x00AC0100, 0x00000000, 0x009C0000, 0x0000017C -.word BgVbSima_Init -.word BgVbSima_Destroy -.word BgVbSima_Update -.word BgVbSima_Draw -glabel D_808BE410 - .word 0x48500064 -glabel D_808BE414 - .word 0xFFFF00FF -glabel D_808BE418 - .word 0xFF0A00FF, 0x00000000 - diff --git a/data/overlays/actors/z_bg_vb_sima.reloc.s b/data/overlays/actors/z_bg_vb_sima.reloc.s deleted file mode 100644 index 2aacad565d..0000000000 --- a/data/overlays/actors/z_bg_vb_sima.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_808BE470 - .incbin "baserom/ovl_Bg_Vb_Sima", 0x710, 0x00000090 diff --git a/data/overlays/actors/z_boss_fd.data.s b/data/overlays/actors/z_boss_fd.data.s deleted file mode 100644 index 324d2ed52b..0000000000 --- a/data/overlays/actors/z_boss_fd.data.s +++ /dev/null @@ -1,95 +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 Boss_Fd_InitVars - .word 0x00960900, 0x00000035, 0x009C0000, 0x000043A0 -.word BossFd_Init -.word BossFd_Destroy -.word BossFd_Update -.word BossFd_Draw -glabel D_808D1660 - .word 0x03000000, 0xFFCFFFFF, 0x00100000, 0xFFCDFFFE, 0x00000000, 0x01010100, 0x00000000, 0x00000000, 0x00140064, 0x02000000, 0xFFCFFFFF, 0x00100000, 0xFFCDFFFE, 0x00000000, 0x01000100, 0x01000000, 0x00000000, 0x00140064, 0x02000000, 0xFFCFFFFF, 0x00100000, 0xFFCDFFFE, 0x00000000, 0x01000100, 0x02000000, 0x00000000, 0x00140064, 0x02000000, 0xFFCFFFFF, 0x00100000, 0xFFCDFFFE, 0x00000000, 0x01000100, 0x03000000, 0x00000000, 0x00140064, 0x02000000, 0xFFCFFFFF, 0x00100000, 0xFFCDFFFE, 0x00000000, 0x01000100, 0x04000000, 0x00000000, 0x00140064, 0x02000000, 0xFFCFFFFF, 0x00100000, 0xFFCDFFFE, 0x00000000, 0x01000100, 0x05000000, 0x00000000, 0x00140064, 0x02000000, 0xFFCFFFFF, 0x00100000, 0xFFCDFFFE, 0x00000000, 0x01000100, 0x06000000, 0x00000000, 0x00140064, 0x02000000, 0xFFCFFFFF, 0x00100000, 0xFFCDFFFE, 0x00000000, 0x01000100, 0x07000000, 0x00000000, 0x00140064, 0x02000000, 0xFFCFFFFF, 0x00100000, 0xFFCDFFFE, 0x00000000, 0x01000100, 0x08000000, 0x00000000, 0x00140064, 0x02000000, 0xFFCFFFFF, 0x00100000, 0xFFCDFFFE, 0x00000000, 0x01000100, 0x09000000, 0x00000000, 0x00140064, 0x02000000, 0xFFCFFFFF, 0x00100000, 0xFFCDFFFE, 0x00000000, 0x01000100, 0x0A000000, 0x00000000, 0x00140064, 0x02000000, 0xFFCFFFFF, 0x00100000, 0xFFCDFFFE, 0x00000000, 0x01000100, 0x0B000000, 0x00000000, 0x00140064, 0x02000000, 0xFFCFFFFF, 0x00100000, 0xFFCDFFFE, 0x00000000, 0x01000100, 0x0C000000, 0x00000000, 0x00140064, 0x02000000, 0xFFCFFFFF, 0x00100000, 0xFFCDFFFE, 0x00000000, 0x01000100, 0x0D000000, 0x00000000, 0x00140064, 0x02000000, 0xFFCFFFFF, 0x00100000, 0xFFCDFFFE, 0x00000000, 0x01000100, 0x0E000000, 0x00000000, 0x00120064, 0x02000000, 0xFFCFFFFF, 0x00100000, 0xFFCDFFFE, 0x00000000, 0x01000100, 0x0F000000, 0x00000000, 0x00100064, 0x02000000, 0xFFCFFFFF, 0x00100000, 0xFFCDFFFE, 0x00000000, 0x01000100, 0x10000000, 0x00000000, 0x000E0064, 0x02000000, 0xFFCFFFFF, 0x00100000, 0xFFCDFFFE, 0x00000000, 0x01000100, 0x11000000, 0x00000000, 0x000C0064, 0x02000000, 0xFFCFFFFF, 0x00100000, 0xFFCDFFFE, 0x00000000, 0x01000100, 0x12000000, 0x00000000, 0x000A0064 -glabel D_808D190C - .word 0x09110909, 0x10000000, 0x00000013 -.word D_808D1660 -glabel D_808D191C - .word 0x801F0005, 0x89170021, 0xB86C0000, 0x304C0000 -glabel D_808D192C - .word 0x00000000 -glabel D_808D1930 - .word 0x42B40000, 0xC3730000, 0x00000000, 0x42B40000, 0x00000000, 0x00000000, 0x42B40000, 0x43730000, 0xC3730000, 0x42B40000, 0xC3730000, 0xC3730000, 0x42B40000, 0x00000000, 0xC3730000, 0x42B40000, 0x43730000, 0x43730000, 0x42B40000, 0xC3730000, 0x43730000, 0x42B40000, 0x00000000, 0x43730000, 0x42B40000, 0x43730000 -glabel D_808D1998 - .word 0x00000000, 0x44610000, 0xC3730000, 0x43730000, 0x44610000, 0xC2C80000, 0x43730000, 0x44610000, 0x42C80000, 0x00000000, 0x44610000, 0x43730000, 0xC3730000, 0x44610000, 0x42C80000, 0xC3730000, 0x44610000, 0xC2C80000 -glabel D_808D19E0 - .word 0x00000000, 0x00000000, 0x00000000 -glabel D_808D19EC - .word 0x00000000, 0x3CF5C28F, 0x00000000 -glabel D_808D19F8 - .word 0x00000000, 0x00000000, 0x00000000 -glabel D_808D1A04 - .word 0x00000000, 0x00000000, 0x00000000 -glabel D_808D1A10 - .word 0x00000000, 0x00000000, 0x00000000 -glabel D_808D1A1C - .word 0x00000000, 0x3CF5C28F, 0x00000000 -glabel D_808D1A28 - .word 0x00000000, 0x00000000, 0x42480000 -glabel D_808D1A34 - .word 0x00000001, 0x00020002, 0x00010000 -glabel D_808D1A40 - .word 0x00000000, 0x00000000, 0x00000000 -glabel D_808D1A4C - .word 0x00000000, 0x00000000, 0x00000000 -glabel D_808D1A58 - .word 0xFFFF00FF -glabel D_808D1A5C - .word 0xFF0A00FF -glabel D_808D1A60 - .word 0x00000000, 0x00000000, 0x00000000 -glabel D_808D1A6C - .word 0x00000000, 0xBF800000, 0x00000000 -glabel D_808D1A78 - .word 0x00000000, 0x00000000, 0x00000000 -glabel D_808D1A84 - .word 0x00000000, 0x00000000, 0x00000000 -glabel D_808D1A90 - .word 0xFF8000FF, 0x0000FFFF, 0x00FF0000 -glabel D_808D1A9C - .word gDust1Tex, gDust1Tex, gDust2Tex, gDust3Tex, gDust4Tex, gDust5Tex, gDust6Tex, gDust7Tex, gDust8Tex -glabel D_808D1AC0 - .byte 0x00, 0x00 -glabel D_808D1AC2 - .byte 0x00, 0x5F -glabel D_808D1AC4 - .word 0x005A0055, 0x0050004B, 0x00460041, 0x003C0037, 0x0032002D, 0x00280023, 0x001E0019, 0x0014000F, 0x000A0005, 0x0000001C, 0x001A0018, 0x00160014, 0x00120010, 0x000E000C, 0x000A0000 -glabel D_808D1B00 - .word 0x00000000, 0x41200000, 0x41880000, 0x41A00000, 0x419C0000, 0x41900000, 0x41880000, 0x41700000, 0x41700000, 0x41700000 -glabel D_808D1B28 - .word 0x00000000, 0x41200000, 0x41880000, 0x41A00000, 0x41A80000, 0x41A80000, 0x41A80000, 0x41A80000, 0x41A80000, 0x41A80000 -glabel D_808D1B50 - .word 0x3EED62F8, 0x3EAC5887, 0x3E185E04, 0x3D4C98A2, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 -glabel D_808D1B78 - .word 0xBEED62F8, 0xBEAC5887, 0xBE185E04, 0x3CCC341A, 0x3D992714, 0x3D4C98A2, 0x3DCC01D6, 0x00000000, 0x00000000, 0x00000000 -glabel D_808D1BA0 - .word 0x458CA000, 0x00000000, 0x00000000 -glabel D_808D1BAC - .word 0x457A0000, 0x00000000, 0x00000000 -glabel D_808D1BB8 - .word 0x060038A8, 0x060034A8, 0x06003CA8 -glabel D_808D1BC4 - .word 0x060079A0, 0x06007AC0, 0x06007B70, 0x06007BD0, 0x06007C30, 0x06007C90, 0x06007CF0, 0x06007D50, 0x06007DB0, 0x06007E10, 0x06007E70, 0x06007ED0, 0x06007F30, 0x06007F90, 0x06007FF0, 0x06008038, 0x06008080, 0x060080D8 -glabel D_808D1C0C - .word 0x00000000, 0x00000000, 0x00000000 -glabel D_808D1C18 - .word 0x00000000, 0x44D48000, 0x45DAC000 -glabel D_808D1C24 - .word 0xC47A0000, 0x442F0000, 0x45DAC000 - diff --git a/data/overlays/actors/z_boss_fd2.data.s b/data/overlays/actors/z_boss_fd2.data.s deleted file mode 100644 index aa1a35ac48..0000000000 --- a/data/overlays/actors/z_boss_fd2.data.s +++ /dev/null @@ -1,61 +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 Boss_Fd2_InitVars - .word 0x00A20900, 0x00000035, 0x00A50000, 0x0000167C -.word BossFd2_Init -.word BossFd2_Destroy -.word BossFd2_Update -.word BossFd2_Draw -glabel D_808D5FD0 - .word 0x03000000, 0xFFCFFFFF, 0x00200000, 0xFFCDFFFE, 0x00000000, 0x00050100, 0x23001770, 0x00000000, 0x00150064, 0x02000000, 0xFFCFFFFF, 0x00200000, 0xFFCDFFFE, 0x00000000, 0x01000100, 0x12000FA0, 0x00000000, 0x000D0064, 0x02000000, 0xFFCFFFFF, 0x00200000, 0xFFCDFFFE, 0x00000000, 0x01000100, 0x13000BB8, 0x00000000, 0x000D0064, 0x02000000, 0xFFCFFFFF, 0x00200000, 0xFFCDFFFE, 0x00000000, 0x01000100, 0x14000FA0, 0x00000000, 0x000F0064, 0x02000000, 0xFFCFFFFF, 0x00200000, 0xFFCDFFFE, 0x00000000, 0x01000100, 0x18000FA0, 0x00000000, 0x000D0064, 0x02000000, 0xFFCFFFFF, 0x00200000, 0xFFCDFFFE, 0x00000000, 0x01000100, 0x19000BB8, 0x00000000, 0x000D0064, 0x02000000, 0xFFCFFFFF, 0x00200000, 0xFFCDFFFE, 0x00000000, 0x01000100, 0x1A000DAC, 0x05DC0000, 0x000F0064, 0x02000000, 0xFFCFFFFF, 0x00200000, 0xFFCDFFFE, 0x00000000, 0x01000100, 0x11000000, 0x00000000, 0x001A0064, 0x02000000, 0xFFCFFFFF, 0x00200000, 0xFFCDFFFE, 0x00000000, 0x01000100, 0x1E000000, 0x00000000, 0x00110064 -glabel D_808D6114 - .word 0x09110909, 0x10000000, 0x00000009 -.word D_808D5FD0 -glabel D_808D6124 - .word 0x00000000, 0x42B40000, 0xC3730000, 0x00000000, 0x42B40000, 0x00000000, 0x00000000, 0x42B40000, 0x43730000, 0xC3730000, 0x42B40000, 0xC3730000, 0xC3730000, 0x42B40000, 0x00000000, 0xC3730000, 0x42B40000, 0x43730000, 0x43730000, 0x42B40000, 0xC3730000, 0x43730000, 0x42B40000, 0x00000000, 0x43730000, 0x42B40000, 0x43730000 -glabel D_808D6190 - .word 0x801F0005, 0x89170021, 0xB86C0000, 0x304C0000, 0x00000000, 0x00000000, 0x42480000 -glabel D_808D61AC - .word 0x00000000, 0x00000000, 0x00000000 -glabel D_808D61B8 - .word 0x00000000, 0x00000000, 0x00000000 -glabel D_808D61C4 - .word 0x00000000, 0x00000000, 0x00000000 -glabel D_808D61D0 - .word 0x00000000, 0x00000000, 0x00000000 -glabel D_808D61DC - .word 0x00000000, 0xBF800000, 0x00000000 -glabel D_808D61E8 - .word 0x00000000, 0x00000000, 0x00000000 -glabel D_808D61F4 - .word 0x00000000, 0xBF800000, 0x00000000 -glabel D_808D6200 - .word 0x00000001, 0x00020002, 0x00010000 -glabel D_808D620C - .word 0x458CA000, 0x00000000, 0x00000000 -glabel D_808D6218 - .word 0x457A0000, 0x00000000, 0x00000000 -glabel D_808D6224 - .word 0x457A0000, 0xC5354000, 0x44FA0000 -glabel D_808D6230 - .word 0x457A0000, 0xC4C80000, 0x00000000 -glabel D_808D623C - .word 0x457A0000, 0xC4C80000, 0xC4FA0000 -glabel D_808D6248 - .word 0x00000000, 0x42C80000, 0x42480000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 -glabel D_808D6270 - .word 0x00000000, 0x40A00000, 0xC1200000, 0x43FA0000, 0x43FA0000, 0x43FA0000, 0x43FA0000, 0x43FA0000, 0x43FA0000, 0x43FA0000 -glabel D_808D6298 - .word 0x3ECCCCCD, 0x3F19999A, 0x3F4CCCCD, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000 -glabel D_808D62C0 - .word 0x06002B08, 0x06002708, 0x06002F08, 0x00000000 - diff --git a/data/overlays/actors/z_boss_fd2.reloc.s b/data/overlays/actors/z_boss_fd2.reloc.s deleted file mode 100644 index c5c217b8e5..0000000000 --- a/data/overlays/actors/z_boss_fd2.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_808D64F0 - .incbin "baserom/ovl_Boss_Fd2", 0x3E80, 0x00000380 diff --git a/data/overlays/actors/z_en_vb_ball.data.s b/data/overlays/actors/z_en_vb_ball.data.s deleted file mode 100644 index f04604e810..0000000000 --- a/data/overlays/actors/z_en_vb_ball.data.s +++ /dev/null @@ -1,36 +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_Vb_Ball_InitVars - .word 0x00000900, 0x00000030, 0x009C0000, 0x000001B4 -.word EnVbBall_Init -.word EnVbBall_Destroy -.word EnVbBall_Update -.word EnVbBall_Draw -glabel D_80B2A000 - .word 0x0A110939, 0x10010000, 0x06000000, 0x00100700, 0x00200000, 0x00100700, 0x00000000, 0x01010100, 0x0014001E, 0x000A0000, 0x00000000 -glabel D_80B2A02C - .word 0x00000000, 0x00000000, 0x00000000 -glabel D_80B2A038 - .word 0x00000000, 0x00000000, 0x00000000 -glabel D_80B2A044 - .word 0x00000000, 0x00000000, 0x00000000 -glabel D_80B2A050 - .word 0x00000000, 0xBF800000, 0x00000000 -glabel D_80B2A05C - .word 0x00000000, 0x00000000, 0x00000000 -glabel D_80B2A068 - .word 0x00000000, 0x00000000, 0x00000000 -glabel D_80B2A074 - .word 0x00000000, 0x00000000, 0x00000000 -glabel D_80B2A080 - .word 0x00000000, 0xBF800000, 0x00000000, 0x00000000 - diff --git a/data/overlays/actors/z_en_vb_ball.reloc.s b/data/overlays/actors/z_en_vb_ball.reloc.s deleted file mode 100644 index 7ea70c5215..0000000000 --- a/data/overlays/actors/z_en_vb_ball.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_80B2A110 - .incbin "baserom/ovl_En_Vb_Ball", 0x1170, 0x000000F0 diff --git a/include/functions.h b/include/functions.h index b84f4471ae..1478ed3185 100644 --- a/include/functions.h +++ b/include/functions.h @@ -381,7 +381,7 @@ void Actor_Kill(Actor* actor); void Actor_SetFocus(Actor* actor, f32 offset); void Actor_SetScale(Actor* actor, f32 scale); void Actor_SetObjectDependency(GlobalContext* globalCtx, Actor* actor); -void func_8002D7EC(Actor* actor); +s16 func_8002D7EC(Actor* actor); void func_8002D868(Actor* actor); void Actor_MoveForward(Actor* actor); void func_8002D908(Actor* actor); diff --git a/include/z64.h b/include/z64.h index bdc311ca40..0f9dffad8b 100644 --- a/include/z64.h +++ b/include/z64.h @@ -547,7 +547,9 @@ typedef struct { /* 0xB0 */ f32 unk_B0; /* 0xB4 */ u8 nbLightSettings; /* 0xB8 */ UNK_PTR lightSettingsList; - /* 0xBC */ char unk_BC[0x03]; + /* 0xBC */ u8 unk_BC; + /* 0xBD */ u8 unk_BD; + /* 0xBE */ u8 unk_BE; /* 0xBF */ u8 unk_BF; /* 0xC0 */ char unk_C0[0x0F]; /* 0xCF */ u8 unk_CF[3]; diff --git a/spec b/spec index 0c229933fe..62e06a92c2 100644 --- a/spec +++ b/spec @@ -1339,8 +1339,7 @@ endseg beginseg name "ovl_Bg_Vb_Sima" include "build/src/overlays/actors/ovl_Bg_Vb_Sima/z_bg_vb_sima.o" - include "build/data/overlays/actors/z_bg_vb_sima.data.o" - include "build/data/overlays/actors/z_bg_vb_sima.reloc.o" + include "build/src/overlays/actors/ovl_Bg_Vb_Sima/ovl_Bg_Vb_Sima_reloc.o" endseg beginseg @@ -1376,15 +1375,17 @@ endseg beginseg name "ovl_Boss_Fd" include "build/src/overlays/actors/ovl_Boss_Fd/z_boss_fd.o" - include "build/data/overlays/actors/z_boss_fd.data.o" +#ifdef NON_MATCHING + include "build/src/overlays/actors/ovl_Boss_Fd/ovl_Boss_Fd_reloc.o" +#else include "build/data/overlays/actors/z_boss_fd.reloc.o" +#endif endseg beginseg name "ovl_Boss_Fd2" include "build/src/overlays/actors/ovl_Boss_Fd2/z_boss_fd2.o" - include "build/data/overlays/actors/z_boss_fd2.data.o" - include "build/data/overlays/actors/z_boss_fd2.reloc.o" + include "build/src/overlays/actors/ovl_Boss_Fd2/ovl_Boss_Fd2_reloc.o" endseg beginseg @@ -3028,8 +3029,7 @@ endseg beginseg name "ovl_En_Vb_Ball" include "build/src/overlays/actors/ovl_En_Vb_Ball/z_en_vb_ball.o" - include "build/data/overlays/actors/z_en_vb_ball.data.o" - include "build/data/overlays/actors/z_en_vb_ball.reloc.o" + include "build/src/overlays/actors/ovl_En_Vb_Ball/ovl_En_Vb_Ball_reloc.o" endseg beginseg @@ -4312,7 +4312,8 @@ endseg beginseg name "object_fd" romalign 0x1000 - include "build/baserom/object_fd.o" + include "build/assets/objects/object_fd/object_fd.o" + number 6 endseg beginseg @@ -4363,7 +4364,8 @@ endseg beginseg name "object_fd2" romalign 0x1000 - include "build/baserom/object_fd2.o" + include "build/assets/objects/object_fd2/object_fd2.o" + number 6 endseg beginseg diff --git a/src/code/z_actor.c b/src/code/z_actor.c index 98ecdc4d24..9a0e62319f 100644 --- a/src/code/z_actor.c +++ b/src/code/z_actor.c @@ -847,7 +847,7 @@ void Actor_Destroy(Actor* actor, GlobalContext* globalCtx) { } } -void func_8002D7EC(Actor* actor) { +s16 func_8002D7EC(Actor* actor) { f32 speedRate = R_UPDATE_RATE * 0.5f; actor->world.pos.x += (actor->velocity.x * speedRate) + actor->colChkInfo.displacement.x; diff --git a/src/code/z_skin_awb.c b/src/code/z_skin_awb.c index 4b0b34eec5..121556b8b7 100644 --- a/src/code/z_skin_awb.c +++ b/src/code/z_skin_awb.c @@ -72,8 +72,9 @@ void func_800A663C(GlobalContext* globalCtx, PSkinAwb* skin, SkeletonHeader* ske } void func_800A6888(GlobalContext* globalCtx, PSkinAwb* arg1) { - s32 i; if (arg1->avbTbl != NULL) { + s32 i; + for (i = 0; i < arg1->avbCount; i++) { if (arg1->avbTbl[i].buf[0] != 0) { ZeldaArena_FreeDebug(arg1->avbTbl[i].buf[0], "../z_skin_awb.c", 276); diff --git a/src/overlays/actors/ovl_Bg_Vb_Sima/z_bg_vb_sima.c b/src/overlays/actors/ovl_Bg_Vb_Sima/z_bg_vb_sima.c index 22bf754a2b..bff752460b 100644 --- a/src/overlays/actors/ovl_Bg_Vb_Sima/z_bg_vb_sima.c +++ b/src/overlays/actors/ovl_Bg_Vb_Sima/z_bg_vb_sima.c @@ -1,4 +1,12 @@ +/* + * File: z_bg_vb_sima.c + * Overlay: ovl_Bg_Vb_Sima + * Description: Volvagia's platform + */ + #include "z_bg_vb_sima.h" +#include "objects/object_fd/object_fd.h" +#include "overlays/actors/ovl_Boss_Fd/z_boss_fd.h" #define FLAGS 0x00000000 @@ -9,7 +17,6 @@ void BgVbSima_Destroy(Actor* thisx, GlobalContext* globalCtx); void BgVbSima_Update(Actor* thisx, GlobalContext* globalCtx); void BgVbSima_Draw(Actor* thisx, GlobalContext* globalCtx); -/* const ActorInit Bg_Vb_Sima_InitVars = { ACTOR_BG_VB_SIMA, ACTORCAT_BG, @@ -21,13 +28,134 @@ const ActorInit Bg_Vb_Sima_InitVars = { (ActorFunc)BgVbSima_Update, (ActorFunc)BgVbSima_Draw, }; -*/ -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Vb_Sima/BgVbSima_Init.s") -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Vb_Sima/BgVbSima_Destroy.s") +static InitChainEntry sInitChain[] = { + ICHAIN_VEC3F_DIV1000(scale, 100, ICHAIN_STOP), +}; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Vb_Sima/func_808BDDF8.s") +void BgVbSima_Init(Actor* thisx, GlobalContext* globalCtx) { + s32 pad; + BgVbSima* this = THIS; + CollisionHeader* colHeader = NULL; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Vb_Sima/BgVbSima_Update.s") + Actor_ProcessInitChain(&this->dyna.actor, sInitChain); + DynaPolyActor_Init(&this->dyna, DPM_PLAYER); + CollisionHeader_GetVirtual(&gVolvagiaPlatformCol, &colHeader); + this->dyna.bgId = DynaPoly_SetBgActor(globalCtx, &globalCtx->colCtx.dyna, &this->dyna.actor, colHeader); +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Vb_Sima/BgVbSima_Draw.s") +void BgVbSima_Destroy(Actor* thisx, GlobalContext* globalCtx) { + s32 pad; + BgVbSima* this = THIS; + + DynaPoly_DeleteBgActor(globalCtx, &globalCtx->colCtx.dyna, this->dyna.bgId); +} + +void BgVbSima_SpawnEmber(BossFdEffect* effect, Vec3f* position, Vec3f* velocity, Vec3f* acceleration, f32 scale) { + s16 i; + + for (i = 0; i < 180; i++, effect++) { + if (effect->type == BFD_FX_NONE) { + effect->type = BFD_FX_EMBER; + effect->pos = *position; + effect->velocity = *velocity; + effect->accel = *acceleration; + effect->scale = scale / 1000.0f; + effect->alpha = 255; + effect->timer1 = (s16)Rand_ZeroFloat(10.0f); + break; + } + } +} + +void BgVbSima_Update(Actor* thisx, GlobalContext* globalCtx) { + static Color_RGBA8 colorYellow = { 255, 255, 0, 255 }; + static Color_RGBA8 colorRed = { 255, 10, 0, 255 }; + s32 pad; + BgVbSima* this = THIS; + BossFd* bossFd = (BossFd*)this->dyna.actor.parent; + f32 minus1 = -1.0f; + + this->shakeTimer++; + if (!Flags_GetClear(globalCtx, globalCtx->roomCtx.curRoom.num)) { + s32 signal = bossFd->platformSignal; + + if (signal == VBSIMA_COLLAPSE) { + Math_SmoothStepToF(&this->dyna.actor.world.pos.y, -1000.0f, 1.0f, 1.5f, 0.0f); + this->dyna.actor.world.pos.z += 2.0f * Math_CosS(this->shakeTimer * 0x8000); + this->dyna.actor.shape.rot.x = (s16)Math_SinS(this->shakeTimer * 0x7000) * 0x37; + this->dyna.actor.shape.rot.z = (s16)Math_SinS(this->shakeTimer * 0x5000) * 0x37; + Audio_PlaySoundGeneral(NA_SE_EV_BLOCKSINK - SFX_FLAG, &this->dyna.actor.projectedPos, 4, &D_801333E0, + &D_801333E0, &D_801333E8); + } else if (signal == VBSIMA_KILL) { + Actor_Kill(&this->dyna.actor); + } + if (bossFd->platformSignal != VBSIMA_STAND) { + s16 i2; + s16 i1; + Vec3f splashVel; + Vec3f splashAcc; + Vec3f splashPos; + Vec3f emberPos; + Vec3f emberVel; + Vec3f emberAcc; + f32 edgeX; + f32 edgeZ; + + for (i1 = 0; i1 < 10; i1++) { + if (Rand_ZeroOne() < 0.33f) { + edgeX = -80.0f; + edgeZ = Rand_CenteredFloat(160.0f); + } else { + edgeZ = 80.0f; + if (Rand_ZeroOne() < 0.5f) { + // minus1 = -1.0f; // Not a fake match; the game really does this. + edgeZ = 80.0f * minus1; + } + edgeX = Rand_CenteredFloat(160.0f); + } + + splashVel.x = edgeX * 0.05f; + splashVel.y = Rand_ZeroFloat(3.0f) + 3.0f; + splashVel.z = edgeZ * 0.05f; + + splashAcc.y = -0.3f; + splashAcc.x = splashVel.x; + splashAcc.z = splashVel.z; + + splashPos.x = this->dyna.actor.world.pos.x + edgeX; + splashPos.y = -80.0f; + splashPos.z = this->dyna.actor.world.pos.z + edgeZ; + + func_8002836C(globalCtx, &splashPos, &splashVel, &splashAcc, &colorYellow, &colorRed, + (s16)Rand_ZeroFloat(100.0f) + 500, 10, 20); + + for (i2 = 0; i2 < 3; i2++) { + emberVel.x = splashVel.x; + emberVel.y = Rand_ZeroFloat(5.0f); + emberVel.z = splashVel.z; + + emberAcc.y = 0.4f; + emberAcc.x = Rand_CenteredFloat(0.5f); + emberAcc.z = Rand_CenteredFloat(0.5f); + + emberPos.x = Rand_CenteredFloat(60.0f) + splashPos.x; + emberPos.y = Rand_ZeroFloat(40.0f) + splashPos.y; + emberPos.z = Rand_CenteredFloat(60.0f) + splashPos.z; + + BgVbSima_SpawnEmber(bossFd->effects, &emberPos, &emberVel, &emberAcc, + (s16)Rand_ZeroFloat(2.0f) + 8); + } + } + } + } +} + +void BgVbSima_Draw(Actor* thisx, GlobalContext* globalCtx) { + OPEN_DISPS(globalCtx->state.gfxCtx, "../z_bg_vb_sima.c", 285); + func_80093D18(globalCtx->state.gfxCtx); + gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_vb_sima.c", 291), + G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList(POLY_OPA_DISP++, gVolvagiaPlatformDL); + CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_bg_vb_sima.c", 296); +} diff --git a/src/overlays/actors/ovl_Bg_Vb_Sima/z_bg_vb_sima.h b/src/overlays/actors/ovl_Bg_Vb_Sima/z_bg_vb_sima.h index 3c296fa379..34aa6856e6 100644 --- a/src/overlays/actors/ovl_Bg_Vb_Sima/z_bg_vb_sima.h +++ b/src/overlays/actors/ovl_Bg_Vb_Sima/z_bg_vb_sima.h @@ -6,9 +6,17 @@ struct BgVbSima; +typedef enum { + /* 0 */ VBSIMA_STAND, + /* 1 */ VBSIMA_COLLAPSE, + /* 2 */ VBSIMA_KILL +} BgVbSimaSignal; + typedef struct BgVbSima { - /* 0x0000 */ Actor actor; - /* 0x014C */ char unk_14C[0x30]; + /* 0x0000 */ DynaPolyActor dyna; + /* 0x0164 */ char unk_164[0x10]; + /* 0x0174 */ s16 shakeTimer; + /* 0x0176 */ char unk_176[6]; } BgVbSima; // size = 0x017C extern const ActorInit Bg_Vb_Sima_InitVars; diff --git a/src/overlays/actors/ovl_Boss_Fd/z_boss_fd.c b/src/overlays/actors/ovl_Boss_Fd/z_boss_fd.c index d57ea1bb59..ccb2c09df0 100644 --- a/src/overlays/actors/ovl_Boss_Fd/z_boss_fd.c +++ b/src/overlays/actors/ovl_Boss_Fd/z_boss_fd.c @@ -1,16 +1,50 @@ +/* + * File: z_boss_fd.c + * Overlay: ovl_Boss_Fd + * Description: Volvagia, flying form + */ + #include "z_boss_fd.h" +#include "objects/object_fd/object_fd.h" +#include "overlays/actors/ovl_En_Vb_Ball/z_en_vb_ball.h" +#include "overlays/actors/ovl_Bg_Vb_Sima/z_bg_vb_sima.h" +#include "overlays/actors/ovl_Boss_Fd2/z_boss_fd2.h" #include "objects/gameplay_keep/gameplay_keep.h" #define FLAGS 0x00000035 #define THIS ((BossFd*)thisx) +typedef enum { + /* 0 */ INTRO_FLY_EMERGE, + /* 1 */ INTRO_FLY_HOLE, + /* 2 */ INTRO_FLY_CAMERA, + /* 3 */ INTRO_FLY_RETRAT +} BossFdIntroFlyState; + +typedef enum { + /* 0 */ MANE_CENTER, + /* 1 */ MANE_RIGHT, + /* 2 */ MANE_LEFT +} BossFdManeIndex; + +typedef enum { + /* 0 */ EYE_OPEN, + /* 1 */ EYE_HALF, + /* 2 */ EYE_CLOSED +} BossFdEyeState; + void BossFd_Init(Actor* thisx, GlobalContext* globalCtx); void BossFd_Destroy(Actor* thisx, GlobalContext* globalCtx); void BossFd_Update(Actor* thisx, GlobalContext* globalCtx); void BossFd_Draw(Actor* thisx, GlobalContext* globalCtx); -/* +void BossFd_SetupFly(BossFd* this, GlobalContext* globalCtx); +void BossFd_Fly(BossFd* this, GlobalContext* globalCtx); +void BossFd_Wait(BossFd* this, GlobalContext* globalCtx); +void BossFd_UpdateEffects(BossFd* this, GlobalContext* globalCtx); +void BossFd_DrawBody(GlobalContext* globalCtx, BossFd* this); + const ActorInit Boss_Fd_InitVars = { ACTOR_BOSS_FD, ACTORCAT_BOSS, @@ -23,275 +57,1930 @@ const ActorInit Boss_Fd_InitVars = { (ActorFunc)BossFd_Draw, }; -static ColliderJntSphElementInit D_808D1660[19] = { - { - { - ELEMTYPE_UNK3, - { 0xFFCFFFFF, 0x00, 0x10 }, - { 0xFFCDFFFE, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, - OCELEM_ON, - }, - { 0, { { 0, 0, 0 }, 20 }, 100 }, - }, - { - { - ELEMTYPE_UNK2, - { 0xFFCFFFFF, 0x00, 0x10 }, - { 0xFFCDFFFE, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_NONE, - OCELEM_ON, - }, - { 1, { { 0, 0, 0 }, 20 }, 100 }, - }, - { - { - ELEMTYPE_UNK2, - { 0xFFCFFFFF, 0x00, 0x10 }, - { 0xFFCDFFFE, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_NONE, - OCELEM_ON, - }, - { 2, { { 0, 0, 0 }, 20 }, 100 }, - }, - { - { - ELEMTYPE_UNK2, - { 0xFFCFFFFF, 0x00, 0x10 }, - { 0xFFCDFFFE, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_NONE, - OCELEM_ON, - }, - { 3, { { 0, 0, 0 }, 20 }, 100 }, - }, - { - { - ELEMTYPE_UNK2, - { 0xFFCFFFFF, 0x00, 0x10 }, - { 0xFFCDFFFE, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_NONE, - OCELEM_ON, - }, - { 4, { { 0, 0, 0 }, 20 }, 100 }, - }, - { - { - ELEMTYPE_UNK2, - { 0xFFCFFFFF, 0x00, 0x10 }, - { 0xFFCDFFFE, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_NONE, - OCELEM_ON, - }, - { 5, { { 0, 0, 0 }, 20 }, 100 }, - }, - { - { - ELEMTYPE_UNK2, - { 0xFFCFFFFF, 0x00, 0x10 }, - { 0xFFCDFFFE, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_NONE, - OCELEM_ON, - }, - { 6, { { 0, 0, 0 }, 20 }, 100 }, - }, - { - { - ELEMTYPE_UNK2, - { 0xFFCFFFFF, 0x00, 0x10 }, - { 0xFFCDFFFE, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_NONE, - OCELEM_ON, - }, - { 7, { { 0, 0, 0 }, 20 }, 100 }, - }, - { - { - ELEMTYPE_UNK2, - { 0xFFCFFFFF, 0x00, 0x10 }, - { 0xFFCDFFFE, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_NONE, - OCELEM_ON, - }, - { 8, { { 0, 0, 0 }, 20 }, 100 }, - }, - { - { - ELEMTYPE_UNK2, - { 0xFFCFFFFF, 0x00, 0x10 }, - { 0xFFCDFFFE, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_NONE, - OCELEM_ON, - }, - { 9, { { 0, 0, 0 }, 20 }, 100 }, - }, - { - { - ELEMTYPE_UNK2, - { 0xFFCFFFFF, 0x00, 0x10 }, - { 0xFFCDFFFE, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_NONE, - OCELEM_ON, - }, - { 10, { { 0, 0, 0 }, 20 }, 100 }, - }, - { - { - ELEMTYPE_UNK2, - { 0xFFCFFFFF, 0x00, 0x10 }, - { 0xFFCDFFFE, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_NONE, - OCELEM_ON, - }, - { 11, { { 0, 0, 0 }, 20 }, 100 }, - }, - { - { - ELEMTYPE_UNK2, - { 0xFFCFFFFF, 0x00, 0x10 }, - { 0xFFCDFFFE, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_NONE, - OCELEM_ON, - }, - { 12, { { 0, 0, 0 }, 20 }, 100 }, - }, - { - { - ELEMTYPE_UNK2, - { 0xFFCFFFFF, 0x00, 0x10 }, - { 0xFFCDFFFE, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_NONE, - OCELEM_ON, - }, - { 13, { { 0, 0, 0 }, 20 }, 100 }, - }, - { - { - ELEMTYPE_UNK2, - { 0xFFCFFFFF, 0x00, 0x10 }, - { 0xFFCDFFFE, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_NONE, - OCELEM_ON, - }, - { 14, { { 0, 0, 0 }, 18 }, 100 }, - }, - { - { - ELEMTYPE_UNK2, - { 0xFFCFFFFF, 0x00, 0x10 }, - { 0xFFCDFFFE, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_NONE, - OCELEM_ON, - }, - { 15, { { 0, 0, 0 }, 16 }, 100 }, - }, - { - { - ELEMTYPE_UNK2, - { 0xFFCFFFFF, 0x00, 0x10 }, - { 0xFFCDFFFE, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_NONE, - OCELEM_ON, - }, - { 16, { { 0, 0, 0 }, 14 }, 100 }, - }, - { - { - ELEMTYPE_UNK2, - { 0xFFCFFFFF, 0x00, 0x10 }, - { 0xFFCDFFFE, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_NONE, - OCELEM_ON, - }, - { 17, { { 0, 0, 0 }, 12 }, 100 }, - }, - { - { - ELEMTYPE_UNK2, - { 0xFFCFFFFF, 0x00, 0x10 }, - { 0xFFCDFFFE, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_NONE, - OCELEM_ON, - }, - { 18, { { 0, 0, 0 }, 10 }, 100 }, - }, +#include "z_boss_fd_colchk.c" + +static InitChainEntry sInitChain[] = { + ICHAIN_U8(targetMode, 5, ICHAIN_CONTINUE), + ICHAIN_S8(naviEnemyId, 33, ICHAIN_CONTINUE), + ICHAIN_F32_DIV1000(gravity, 0, ICHAIN_CONTINUE), + ICHAIN_F32(targetArrowOffset, 0, ICHAIN_STOP), }; -static ColliderJntSphInit D_808D190C = { - { - COLTYPE_METAL, - AT_ON | AT_TYPE_ENEMY, - AC_ON | AC_TYPE_PLAYER, - OC1_ON | OC1_TYPE_PLAYER, - OC2_TYPE_1, - COLSHAPE_JNTSPH, - }, - 19, - D_808D1660, +void BossFd_SpawnEmber(BossFdEffect* effect, Vec3f* position, Vec3f* velocity, Vec3f* acceleration, f32 scale) { + s16 i; + + for (i = 0; i < 150; i++, effect++) { + if (effect->type == BFD_FX_NONE) { + effect->type = BFD_FX_EMBER; + effect->pos = *position; + effect->velocity = *velocity; + effect->accel = *acceleration; + effect->scale = scale / 1000.0f; + effect->alpha = 255; + effect->timer1 = (s16)Rand_ZeroFloat(10.0f); + break; + } + } +} + +void BossFd_SpawnDebris(BossFdEffect* effect, Vec3f* position, Vec3f* velocity, Vec3f* acceleration, f32 scale) { + s16 i; + + for (i = 0; i < 150; i++, effect++) { + if (effect->type == BFD_FX_NONE) { + effect->type = BFD_FX_DEBRIS; + effect->pos = *position; + effect->velocity = *velocity; + effect->accel = *acceleration; + effect->scale = scale / 1000.0f; + effect->vFdFxRotX = Rand_ZeroFloat(100.0f); + effect->vFdFxRotY = Rand_ZeroFloat(100.0f); + break; + } + } +} + +void BossFd_SpawnDust(BossFdEffect* effect, Vec3f* position, Vec3f* velocity, Vec3f* acceleration, f32 scale) { + s16 i; + + for (i = 0; i < 150; i++, effect++) { + if (effect->type == BFD_FX_NONE) { + effect->type = BFD_FX_DUST; + effect->pos = *position; + effect->velocity = *velocity; + effect->accel = *acceleration; + effect->timer2 = 0; + effect->scale = scale / 400.0f; + break; + } + } +} + +void BossFd_SpawnFireBreath(BossFdEffect* effect, Vec3f* position, Vec3f* velocity, Vec3f* acceleration, f32 scale, + s16 alpha, s16 kbAngle) { + s16 i; + + for (i = 0; i < 180; i++, effect++) { + if (effect->type == BFD_FX_NONE) { + effect->type = BFD_FX_FIRE_BREATH; + effect->timer1 = 0; + effect->pos = *position; + effect->velocity = *velocity; + effect->accel = *acceleration; + effect->pos.x -= effect->velocity.x; + effect->pos.y -= effect->velocity.y; + effect->pos.z -= effect->velocity.z; + effect->vFdFxScaleMod = 0.0f; + effect->alpha = alpha; + effect->vFdFxYStop = Rand_ZeroFloat(10.0f); + effect->timer2 = 0; + effect->scale = scale / 400.0f; + effect->kbAngle = kbAngle; + break; + } + } +} + +void BossFd_SetCameraSpeed(BossFd* this, f32 speedMod) { + this->camData.eyeVel.x = fabsf(this->camData.eye.x - this->camData.nextEye.x) * speedMod; + this->camData.eyeVel.y = fabsf(this->camData.eye.y - this->camData.nextEye.y) * speedMod; + this->camData.eyeVel.z = fabsf(this->camData.eye.z - this->camData.nextEye.z) * speedMod; + this->camData.atVel.x = fabsf(this->camData.at.x - this->camData.nextAt.x) * speedMod; + this->camData.atVel.y = fabsf(this->camData.at.y - this->camData.nextAt.y) * speedMod; + this->camData.atVel.z = fabsf(this->camData.at.z - this->camData.nextAt.z) * speedMod; +} + +void BossFd_UpdateCamera(BossFd* this, GlobalContext* globalCtx) { + if (this->introCamera != SUBCAM_FREE) { + Math_ApproachF(&this->camData.eye.x, this->camData.nextEye.x, this->camData.eyeMaxVel.x, + this->camData.eyeVel.x * this->camData.speedMod); + Math_ApproachF(&this->camData.eye.y, this->camData.nextEye.y, this->camData.eyeMaxVel.y, + this->camData.eyeVel.y * this->camData.speedMod); + Math_ApproachF(&this->camData.eye.z, this->camData.nextEye.z, this->camData.eyeMaxVel.z, + this->camData.eyeVel.z * this->camData.speedMod); + Math_ApproachF(&this->camData.at.x, this->camData.nextAt.x, this->camData.atMaxVel.x, + this->camData.atVel.x * this->camData.speedMod); + Math_ApproachF(&this->camData.at.y, this->camData.nextAt.y, this->camData.atMaxVel.y, + this->camData.atVel.y * this->camData.speedMod); + Math_ApproachF(&this->camData.at.z, this->camData.nextAt.z, this->camData.atMaxVel.z, + this->camData.atVel.z * this->camData.speedMod); + Math_ApproachF(&this->camData.speedMod, 1.0f, 1.0f, this->camData.accel); + this->camData.at.y += this->camData.yMod; + Gameplay_CameraSetAtEye(globalCtx, this->introCamera, &this->camData.at, &this->camData.eye); + Math_ApproachZeroF(&this->camData.yMod, 1.0f, 0.1f); + } +} + +void BossFd_Init(Actor* thisx, GlobalContext* globalCtx) { + s32 pad; + BossFd* this = THIS; + s16 i; + + Flags_SetSwitch(globalCtx, 0x14); + Actor_SpawnAsChild(&globalCtx->actorCtx, &this->actor, globalCtx, ACTOR_BG_VB_SIMA, 680.0f, -100.0f, 0.0f, 0, 0, 0, + 100); + Actor_ProcessInitChain(&this->actor, sInitChain); + ActorShape_Init(&this->actor.shape, 0.0f, NULL, 0.0f); + Actor_SetScale(&this->actor, 0.05f); + SkelAnime_Init(globalCtx, &this->skelAnimeHead, &gVolvagiaHeadSkel, &gVolvagiaHeadEmergeAnim, NULL, NULL, 0); + SkelAnime_Init(globalCtx, &this->skelAnimeRightArm, &gVolvagiaRightArmSkel, &gVolvagiaRightArmEmergeAnim, NULL, + NULL, 0); + SkelAnime_Init(globalCtx, &this->skelAnimeLeftArm, &gVolvagiaLeftArmSkel, &gVolvagiaLeftArmEmergeAnim, NULL, NULL, + 0); + this->introState = BFD_CS_WAIT; + if (this->introState == BFD_CS_NONE) { + Audio_SetBGM(0x6B); + } + + this->actor.world.pos.x = this->actor.world.pos.z = 0.0f; + this->actor.world.pos.y = -200.0f; + Collider_InitJntSph(globalCtx, &this->collider); + Collider_SetJntSph(globalCtx, &this->collider, &this->actor, &sJntSphInit, this->elements); + + for (i = 0; i < 100; i++) { + this->bodySegsPos[i].x = this->actor.world.pos.x; + this->bodySegsPos[i].y = this->actor.world.pos.y; + this->bodySegsPos[i].z = this->actor.world.pos.z; + if (i < 30) { + this->centerMane.pos[i].x = this->actor.world.pos.x; + this->centerMane.pos[i].y = this->actor.world.pos.y; + this->centerMane.pos[i].z = this->actor.world.pos.z; + } + } + + this->actor.colChkInfo.health = 24; + this->skinSegments = 18; + if (this->introState == BFD_CS_NONE) { + this->actionFunc = BossFd_Wait; + } else { + BossFd_SetupFly(this, globalCtx); + } + + if (Flags_GetClear(globalCtx, globalCtx->roomCtx.curRoom.num)) { + Actor_Kill(&this->actor); + Actor_SpawnAsChild(&globalCtx->actorCtx, &this->actor, globalCtx, ACTOR_DOOR_WARP1, 0.0f, 100.0f, 0.0f, 0, 0, 0, + -1); + Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_ITEM_B_HEART, 0.0f, 100.0f, 200.0f, 0, 0, 0, 0); + } else { + Actor_SpawnAsChild(&globalCtx->actorCtx, &this->actor, globalCtx, ACTOR_BOSS_FD2, this->actor.world.pos.x, + this->actor.world.pos.y, this->actor.world.pos.z, 0, 0, 0, this->introState); + } +} + +void BossFd_Destroy(Actor* thisx, GlobalContext* globalCtx) { + s32 pad; + BossFd* this = THIS; + + SkelAnime_Free(&this->skelAnimeHead, globalCtx); + SkelAnime_Free(&this->skelAnimeRightArm, globalCtx); + SkelAnime_Free(&this->skelAnimeLeftArm, globalCtx); + Collider_DestroyJntSph(globalCtx, &this->collider); +} + +s32 BossFd_IsFacingLink(BossFd* this) { + return ABS((s16)(this->actor.yawTowardsPlayer - this->actor.world.rot.y)) < 0x2000; +} + +void BossFd_SetupFly(BossFd* this, GlobalContext* globalCtx) { + Animation_PlayOnce(&this->skelAnimeHead, &gVolvagiaHeadEmergeAnim); + Animation_PlayOnce(&this->skelAnimeRightArm, &gVolvagiaRightArmEmergeAnim); + Animation_PlayOnce(&this->skelAnimeLeftArm, &gVolvagiaLeftArmEmergeAnim); + this->actionFunc = BossFd_Fly; + this->fwork[BFD_TURN_RATE_MAX] = 1000.0f; +} + +static Vec3f sHoleLocations[] = { + { 0.0f, 90.0f, -243.0f }, { 0.0f, 90.0f, 0.0f }, { 0.0f, 90.0f, 243.0f }, + { -243.0f, 90.0f, -243.0f }, { -243.0f, 90.0f, 0.0f }, { -243.0f, 90.0f, 243.0f }, + { 243.0f, 90.0f, -243.0f }, { 243.0f, 90.0f, 0.0f }, { 243.0f, 90.0f, 243.0f }, }; -*/ -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808CADC0.s") -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808CAE8C.s") +static Vec3f sCeilingTargets[] = { + { 0.0f, 900.0f, -243.0f }, { 243.0, 900.0f, -100.0f }, { 243.0f, 900.0f, 100.0f }, + { 0.0f, 900.0f, 243.0f }, { -243.0f, 900.0f, 100.0f }, { -243.0, 900.0f, -100.0f }, +}; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808CAF5C.s") +#ifdef NON_MATCHING +// Somehow doesn't use rodata value D_808D1EB4 = 0.1f. It would occur after the 85.56f float +// literal in case 6 of the boss intro switch statement but before the next switch statement. +// All instructions match. +void BossFd_Fly(BossFd* this, GlobalContext* globalCtx) { + u8 sp1CF = false; + u8 temp_rand; + s16 i1; + s16 i2; + s16 i3; + f32 dx; + f32 dy; + f32 dz; + Player* player = PLAYER; + f32 angleToTarget; + f32 pitchToTarget; + Vec3f* holePosition1; + f32 temp_y; + f32 temp_x; + f32 temp_z; + s32 pad19C; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808CAFF4.s") + SkelAnime_Update(&this->skelAnimeHead); + SkelAnime_Update(&this->skelAnimeRightArm); + SkelAnime_Update(&this->skelAnimeLeftArm); + dx = this->targetPosition.x - this->actor.world.pos.x; + dy = this->targetPosition.y - this->actor.world.pos.y; + dz = this->targetPosition.z - this->actor.world.pos.z; + dx += Math_SinS((2096.0f + this->fwork[BFD_FLY_WOBBLE_RATE]) * this->work[BFD_MOVE_TIMER]) * + this->fwork[BFD_FLY_WOBBLE_AMP]; + dy += Math_SinS((1096.0f + this->fwork[BFD_FLY_WOBBLE_RATE]) * this->work[BFD_MOVE_TIMER]) * + this->fwork[BFD_FLY_WOBBLE_AMP]; + dz += Math_SinS((1796.0f + this->fwork[BFD_FLY_WOBBLE_RATE]) * this->work[BFD_MOVE_TIMER]) * + this->fwork[BFD_FLY_WOBBLE_AMP]; + angleToTarget = (s16)(Math_FAtan2F(dx, dz) * (0x8000 / M_PI)); + pitchToTarget = (s16)(Math_FAtan2F(dy, sqrtf(SQ(dx) + SQ(dz))) * (0x8000 / M_PI)); -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808CB100.s") + osSyncPrintf("MODE %d\n", this->work[BFD_ACTION_STATE]); -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808CB198.s") + Math_ApproachF(&this->fwork[BFD_BODY_PULSE], 0.1f, 1.0f, 0.02); -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Boss_Fd/BossFd_Init.s") + // Boss Intro Cutscene -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Boss_Fd/BossFd_Destroy.s") + if (this->introState != BFD_CS_NONE) { + Player* player2 = PLAYER; + Camera* mainCam = Gameplay_GetCamera(globalCtx, MAIN_CAM); -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808CB67C.s") + switch (this->introState) { + case BFD_CS_WAIT: + this->fogMode = 3; + this->targetPosition.x = 0.0f; + this->targetPosition.y = -110.0f; + this->targetPosition.z = 0.0; + this->fwork[BFD_TURN_RATE_MAX] = 10000.0f; + this->work[BFD_ACTION_STATE] = BOSSFD_WAIT_INTRO; + if ((fabsf(player2->actor.world.pos.z) < 80.0f) && + (fabsf(player2->actor.world.pos.x - 340.0f) < 60.0f)) { -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808CB6A8.s") + this->introState = BFD_CS_START; + func_80064520(globalCtx, &globalCtx->csCtx); + func_8002DF54(globalCtx, &this->actor, 8); + this->introCamera = Gameplay_CreateSubCamera(globalCtx); + Gameplay_ChangeCameraStatus(globalCtx, MAIN_CAM, CAM_STAT_WAIT); + Gameplay_ChangeCameraStatus(globalCtx, this->introCamera, CAM_STAT_ACTIVE); + player2->actor.world.pos.x = 380.0f; + player2->actor.world.pos.y = 100.0f; + player2->actor.world.pos.z = 0.0f; + player2->actor.shape.rot.y = player2->actor.world.rot.y = -0x4000; + player2->actor.speedXZ = 0.0f; + this->camData.eye.x = player2->actor.world.pos.x - 70.0f; + this->camData.eye.y = player2->actor.world.pos.y + 40.0f; + this->camData.eye.z = player2->actor.world.pos.z + 70.0f; + this->camData.at.x = player2->actor.world.pos.x; + this->camData.at.y = player2->actor.world.pos.y + 30.0f; + this->camData.at.z = player2->actor.world.pos.z; + this->camData.nextEye.x = player2->actor.world.pos.x - 50.0f + 18.0f; + this->camData.nextEye.y = player2->actor.world.pos.y + 40; + this->camData.nextEye.z = player2->actor.world.pos.z + 50.0f - 18.0f; + this->camData.nextAt.x = player2->actor.world.pos.x; + this->camData.nextAt.y = player2->actor.world.pos.y + 50.0f; + this->camData.nextAt.z = player2->actor.world.pos.z; + BossFd_SetCameraSpeed(this, 1.0f); + this->camData.atMaxVel.x = this->camData.atMaxVel.y = this->camData.atMaxVel.z = 0.05f; + this->camData.eyeMaxVel.x = this->camData.eyeMaxVel.y = this->camData.eyeMaxVel.z = 0.05f; + this->timers[0] = 0; + this->camData.speedMod = 0.0f; + this->camData.accel = 0.0f; + if (gSaveContext.eventChkInf[7] & 8) { + this->introState = BFD_CS_EMERGE; + this->camData.nextEye.x = player2->actor.world.pos.x + 100.0f + 300.0f - 600.0f; + this->camData.nextEye.y = player2->actor.world.pos.y + 100.0f - 50.0f; + this->camData.nextEye.z = player2->actor.world.pos.z + 200.0f - 150.0f; + this->camData.nextAt.x = 0.0f; + this->camData.nextAt.y = 120.0f; + this->camData.nextAt.z = 0.0f; + BossFd_SetCameraSpeed(this, 0.5f); + this->camData.eyeMaxVel.x = this->camData.eyeMaxVel.y = this->camData.eyeMaxVel.z = 0.1f; + this->camData.atMaxVel.x = this->camData.atMaxVel.y = this->camData.atMaxVel.z = 0.1f; + this->camData.accel = 0.005f; + this->timers[0] = 0; + this->holeIndex = 1; + this->targetPosition.x = sHoleLocations[this->holeIndex].x; + this->targetPosition.y = sHoleLocations[this->holeIndex].y - 200.0f; + this->targetPosition.z = sHoleLocations[this->holeIndex].z; + this->timers[0] = 50; + this->work[BFD_ACTION_STATE] = BOSSFD_EMERGE; + this->actor.world.rot.x = 0x4000; + this->work[BFD_MOVE_TIMER] = 0; + this->timers[3] = 250; + this->timers[2] = 470; + this->fwork[BFD_FLY_SPEED] = 5.0f; + } + } + break; + case BFD_CS_START: + if (this->timers[0] == 0) { + this->camData.accel = 0.0010000002f; + this->timers[0] = 100; + this->introState = BFD_CS_LOOK_LINK; + } + case BFD_CS_LOOK_LINK: + player2->actor.world.pos.x = 380.0f; + player2->actor.world.pos.y = 100.0f; + player2->actor.world.pos.z = 0.0f; + player2->actor.speedXZ = 0.0f; + player2->actor.shape.rot.y = player2->actor.world.rot.y = -0x4000; + if (this->timers[0] == 50) { + this->fogMode = 1; + } + if (this->timers[0] < 50) { + Audio_PlaySoundGeneral(NA_SE_EN_DODO_K_ROLL - SFX_FLAG, &this->actor.projectedPos, 4, &D_801333E0, + &D_801333E0, &D_801333E8); + this->camData.yMod = Math_CosS(this->work[BFD_MOVE_TIMER] * 0x8000) * this->camData.shake; + Math_ApproachF(&this->camData.shake, 2.0f, 1.0f, 0.8 * 0.01f); + } + if (this->timers[0] == 40) { + func_8002DF54(globalCtx, &this->actor, 0x13); + } + if (this->timers[0] == 0) { + this->introState = BFD_CS_LOOK_GROUND; + this->camData.nextAt.y = player2->actor.world.pos.y + 10.0f; + this->camData.atMaxVel.y = 0.2f; + this->camData.speedMod = 0.0f; + this->camData.accel = 0.02f; + this->timers[0] = 70; + this->work[BFD_MOVE_TIMER] = 0; + } + break; + case BFD_CS_LOOK_GROUND: + this->camData.yMod = Math_CosS(this->work[BFD_MOVE_TIMER] * 0x8000) * this->camData.shake; + Math_ApproachF(&this->camData.shake, 2.0f, 1.0f, 0.8 * 0.01f); + Audio_PlaySoundGeneral(NA_SE_EN_DODO_K_ROLL - SFX_FLAG, &this->actor.projectedPos, 4, &D_801333E0, + &D_801333E0, &D_801333E8); + if (this->timers[0] == 0) { + this->introState = BFD_CS_COLLAPSE; + this->camData.nextEye.x = player2->actor.world.pos.x + 100.0f + 300.0f; + this->camData.nextEye.y = player2->actor.world.pos.y + 100.0f; + this->camData.nextEye.z = player2->actor.world.pos.z + 200.0f; + this->camData.nextAt.x = player2->actor.world.pos.x; + this->camData.nextAt.y = player2->actor.world.pos.y - 150.0f; + this->camData.nextAt.z = player2->actor.world.pos.z - 50.0f; + BossFd_SetCameraSpeed(this, 0.1f); + this->timers[0] = 170; + this->camData.speedMod = 0.0f; + this->camData.accel = 0.0f; + func_8002DF54(globalCtx, &this->actor, 0x14); + } + break; + case BFD_CS_COLLAPSE: + this->camData.accel = 0.005f; + this->camData.yMod = Math_CosS(this->work[BFD_MOVE_TIMER] * 0x8000) * this->camData.shake; + Math_ApproachF(&this->camData.shake, 2.0f, 1.0f, 0.8 * 0.01f); + Audio_PlaySoundGeneral(NA_SE_EN_DODO_K_ROLL - SFX_FLAG, &this->actor.projectedPos, 4, &D_801333E0, + &D_801333E0, &D_801333E8); + if (this->timers[0] == 100) { + this->platformSignal = VBSIMA_COLLAPSE; + } + if (this->timers[0] == 0) { + this->introState = BFD_CS_EMERGE; + this->camData.speedMod = 0.0f; + this->camData.nextEye.x = player2->actor.world.pos.x + 100.0f + 300.0f - 600.0f; + this->camData.nextEye.y = player2->actor.world.pos.y + 100.0f - 50.0f; + this->camData.nextEye.z = player2->actor.world.pos.z + 200.0f - 150.0f; + this->camData.nextAt.x = 0.0f; + this->camData.nextAt.y = 120.0f; + this->camData.nextAt.z = 0.0f; + BossFd_SetCameraSpeed(this, 0.5f); + this->camData.atMaxVel.x = this->camData.atMaxVel.y = this->camData.atMaxVel.z = 0.1f; + this->camData.eyeMaxVel.x = this->camData.eyeMaxVel.y = this->camData.eyeMaxVel.z = 0.1f; + this->camData.accel = 0.005f; + this->timers[0] = 0; + this->holeIndex = 1; + this->targetPosition.x = sHoleLocations[this->holeIndex].x; + this->targetPosition.y = sHoleLocations[this->holeIndex].y - 200.0f; + this->targetPosition.z = sHoleLocations[this->holeIndex].z; + this->timers[0] = 50; + this->work[BFD_ACTION_STATE] = BOSSFD_EMERGE; + this->actor.world.rot.x = 0x4000; + this->work[BFD_MOVE_TIMER] = 0; + this->timers[3] = 250; + this->timers[2] = 470; + this->fwork[BFD_FLY_SPEED] = 5.0f; + } + break; + case BFD_CS_EMERGE: + osSyncPrintf("WAY_SPD X = %f\n", this->camData.atVel.x); + osSyncPrintf("WAY_SPD Y = %f\n", this->camData.atVel.y); + osSyncPrintf("WAY_SPD Z = %f\n", this->camData.atVel.z); + if ((this->timers[3] > 190) && !(gSaveContext.eventChkInf[7] & 8)) { + Audio_PlaySoundGeneral(NA_SE_EN_DODO_K_ROLL - SFX_FLAG, &this->actor.projectedPos, 4, &D_801333E0, + &D_801333E0, &D_801333E8); + } + if (this->timers[3] == 190) { + this->camData.atMaxVel.x = this->camData.atMaxVel.y = this->camData.atMaxVel.z = 0.05f; + this->platformSignal = VBSIMA_KILL; + func_8002DF54(globalCtx, &this->actor, 1); + } + if (this->actor.world.pos.y > 120.0f) { + this->camData.nextAt = this->actor.world.pos; + this->camData.atVel.x = 190.0f; + this->camData.atVel.y = 85.56f; + this->camData.atVel.z = 25.0f; + } else { + Math_ApproachF(&this->camData.shake, 2.0f, 1.0f, 0.1 * 0.08f); + this->camData.yMod = Math_CosS(this->work[BFD_MOVE_TIMER] * 0x8000) * this->camData.shake; + } + if (this->timers[3] == 160) { + Audio_SetBGM(0x6B); + } + if ((this->timers[3] == 130) && !(gSaveContext.eventChkInf[7] & 8)) { + TitleCard_InitBossName(globalCtx, &globalCtx->actorCtx.titleCtx, + SEGMENTED_TO_VIRTUAL(&gVolvagiaBossTitleCardTex), 0xA0, 0xB4, 0x80, 0x28); + } + if (this->timers[3] <= 100) { + this->camData.eyeVel.x = this->camData.eyeVel.y = this->camData.eyeVel.z = 2.0f; + this->camData.nextEye.x = player2->actor.world.pos.x + 50.0f; + this->camData.nextEye.y = player2->actor.world.pos.y + 50.0f; + this->camData.nextEye.z = player2->actor.world.pos.z + 50.0f; + } + if (this->work[BFD_ACTION_STATE] == BOSSFD_FLY_HOLE) { + switch (this->introFlyState) { + case INTRO_FLY_EMERGE: + this->timers[5] = 100; + this->introFlyState = INTRO_FLY_HOLE; + case INTRO_FLY_HOLE: + if (this->timers[5] == 0) { + this->introFlyState = INTRO_FLY_CAMERA; + this->timers[5] = 75; + } + break; + case INTRO_FLY_CAMERA: + this->targetPosition = this->camData.eye; + if (this->timers[5] == 0) { + this->timers[0] = 0; + this->holeIndex = 7; + this->targetPosition.x = sHoleLocations[this->holeIndex].x; + this->targetPosition.y = sHoleLocations[this->holeIndex].y + 200.0f + 50.0f; + this->targetPosition.z = sHoleLocations[this->holeIndex].z; + this->introFlyState = INTRO_FLY_RETRAT; + } + if (this->timers[5] == 30) { + this->work[BFD_ROAR_TIMER] = 40; + this->fireBreathTimer = 20; + } + case INTRO_FLY_RETRAT: + break; + } + } + osSyncPrintf("this->timer[2] = %d\n", this->timers[2]); + osSyncPrintf("this->timer[5] = %d\n", this->timers[5]); + if (this->timers[2] == 0) { + mainCam->eye = this->camData.eye; + mainCam->eyeNext = this->camData.eye; + mainCam->at = this->camData.at; + func_800C08AC(globalCtx, this->introCamera, 0); + this->introState = this->introFlyState = this->introCamera = BFD_CS_NONE; + func_80064534(globalCtx, &globalCtx->csCtx); + func_8002DF54(globalCtx, &this->actor, 7); + this->actionFunc = BossFd_Wait; + this->handoffSignal = FD2_SIGNAL_GROUND; + gSaveContext.eventChkInf[7] |= 8; + } + break; + } + BossFd_UpdateCamera(this, globalCtx); + } else { + this->fwork[BFD_FLY_SPEED] = 5.0f; + } -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808CB718.s") + // Attacks and Death Cutscene -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808CDE30.s") + switch (this->work[BFD_ACTION_STATE]) { + case BOSSFD_FLY_MAIN: + sp1CF = true; + if (this->timers[0] == 0) { + if (this->actor.colChkInfo.health == 0) { + this->work[BFD_ACTION_STATE] = BOSSFD_DEATH_START; + this->timers[0] = 0; + this->timers[1] = 100; + } else { + if (this->introState != BFD_CS_NONE) { + this->holeIndex = 6; + } else { + do { + temp_rand = Rand_ZeroFloat(8.9f); + } while (temp_rand == this->holeIndex); + this->holeIndex = temp_rand; + } + this->targetPosition.x = sHoleLocations[this->holeIndex].x; + this->targetPosition.y = sHoleLocations[this->holeIndex].y + 200.0f + 50.0f; + this->targetPosition.z = sHoleLocations[this->holeIndex].z; + this->fwork[BFD_TURN_RATE] = 0.0f; + this->fwork[BFD_TURN_RATE_MAX] = 1000.0f; + if (this->introState != BFD_CS_NONE) { + this->timers[0] = 10050; + } else { + this->timers[0] = 20; + } + this->fwork[BFD_FLY_WOBBLE_AMP] = 100.0f; + this->work[BFD_ACTION_STATE] = BOSSFD_FLY_HOLE; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808CE01C.s") + if (this->work[BFD_START_ATTACK]) { + this->work[BFD_START_ATTACK] = false; + this->work[BFD_FLY_COUNT]++; + if (this->work[BFD_FLY_COUNT] & 1) { + this->work[BFD_ACTION_STATE] = BOSSFD_FLY_CHASE; + this->timers[0] = 300; + this->fwork[BFD_TURN_RATE_MAX] = 900.0f; + this->fwork[BFD_TARGET_Y_OFFSET] = 300.0f; + this->work[BFD_UNK_234] = this->work[BFD_UNK_236] = 0; + } else { + this->work[BFD_ACTION_STATE] = BOSSFD_FLY_CEILING; + } + } + } + } + break; + case BOSSFD_FLY_HOLE: + if ((this->timers[0] == 0) && (sqrtf(SQ(dx) + SQ(dy) + SQ(dz)) < 100.0f)) { + this->work[BFD_ACTION_STATE] = BOSSFD_BURROW; + this->targetPosition.y = sHoleLocations[this->holeIndex].y - 70.0f; + this->fwork[BFD_TURN_RATE_MAX] = 10000.0f; + this->fwork[BFD_FLY_WOBBLE_AMP] = 0.0f; + this->timers[0] = 150; + this->work[BFD_ROAR_TIMER] = 40; + this->holePosition.x = this->targetPosition.x; + this->holePosition.z = this->targetPosition.z; + } + break; + case BOSSFD_BURROW: + sp1CF = true; + if (this->timers[0] == 0) { + this->actionFunc = BossFd_Wait; + this->handoffSignal = FD2_SIGNAL_GROUND; + } + break; + case BOSSFD_EMERGE: + if ((this->timers[0] == 0) && (sqrtf(SQ(dx) + SQ(dy) + SQ(dz)) < 100.0f)) { + this->actor.world.pos = this->targetPosition; + this->work[BFD_ACTION_STATE] = BOSSFD_FLY_MAIN; + this->actor.world.rot.x = 0x4000; + this->targetPosition.y = sHoleLocations[this->holeIndex].y + 200.0f; + this->timers[4] = 80; + this->fwork[BFD_TURN_RATE_MAX] = 1000.0f; + this->fwork[BFD_FLY_WOBBLE_AMP] = 0.0f; + this->holePosition.x = this->targetPosition.x; + this->holePosition.z = this->targetPosition.z; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808CEC34.s") + func_80033E1C(globalCtx, 1, 0x50, 0x5000); + if (this->introState != BFD_CS_NONE) { + this->timers[0] = 50; + } else { + this->timers[0] = 50; + } + } + break; + case BOSSFD_FLY_CEILING: + this->fwork[BFD_FLY_SPEED] = 8; + this->targetPosition.x = 0.0f; + this->targetPosition.y = 700.0f; + this->targetPosition.z = -300.0f; + this->fwork[BFD_FLY_WOBBLE_AMP] = 200.0f; + this->fwork[BFD_TURN_RATE_MAX] = 3000.0f; + if (this->actor.world.pos.y > 700.0f) { + this->work[BFD_ACTION_STATE] = BOSSFD_DROP_ROCKS; + this->timers[0] = 25; + this->timers[2] = 150; + this->work[BFD_CEILING_TARGET] = 0; + } + break; + case BOSSFD_DROP_ROCKS: + this->fwork[BFD_FLY_SPEED] = 8; + this->fwork[BFD_FLY_WOBBLE_AMP] = 200.0f; + this->fwork[BFD_TURN_RATE_MAX] = 10000.0f; + this->targetPosition.x = sCeilingTargets[this->work[BFD_CEILING_TARGET]].x; + this->targetPosition.y = sCeilingTargets[this->work[BFD_CEILING_TARGET]].y + 900.0f; + this->targetPosition.z = sCeilingTargets[this->work[BFD_CEILING_TARGET]].z; + if (this->timers[0] == 0) { + this->timers[0] = 25; + this->work[BFD_CEILING_TARGET]++; + if (this->work[BFD_CEILING_TARGET] >= 6) { + this->work[BFD_CEILING_TARGET] = 0; + } + } + Actor_UpdateBgCheckInfo(globalCtx, &this->actor, 50.0f, 50.0f, 100.0f, 2); + if (this->timers[1] == 0) { + osSyncPrintf("BGCHECKKKKKKKKKKKKKKKKKKKKKKK\n"); + if (this->actor.bgCheckFlags & 0x10) { + this->fwork[BFD_CEILING_BOUNCE] = -18384.0f; + this->timers[1] = 10; + Audio_PlaySoundGeneral(NA_SE_EV_EXPLOSION, &this->actor.projectedPos, 4, &D_801333E0, &D_801333E0, + &D_801333E8); + func_80033E1C(globalCtx, 3, 0xA, 0x7530); + this->work[BFD_ROCK_TIMER] = 300; + } + } else { + pitchToTarget = this->fwork[BFD_CEILING_BOUNCE]; + Math_ApproachZeroF(&this->fwork[BFD_CEILING_BOUNCE], 1.0f, 1000.0f); + } + if (this->timers[2] == 0) { + this->work[BFD_ACTION_STATE] = BOSSFD_FLY_MAIN; + this->timers[0] = 0; + this->work[BFD_START_ATTACK] = false; + } + break; + case BOSSFD_FLY_CHASE: + this->actor.flags |= 0x1000000; + temp_y = Math_SinS(this->work[BFD_MOVE_TIMER] * 2396.0f) * 30.0f + this->fwork[BFD_TARGET_Y_OFFSET]; + this->targetPosition.x = player->actor.world.pos.x; + this->targetPosition.y = player->actor.world.pos.y + temp_y + 30.0f; + this->targetPosition.z = player->actor.world.pos.z; + this->fwork[BFD_FLY_WOBBLE_AMP] = 0.0f; + if (((this->timers[0] % 64) == 0) && (this->timers[0] < 450)) { + this->work[BFD_ROAR_TIMER] = 40; + if (BossFd_IsFacingLink(this)) { + this->fireBreathTimer = 20; + } + } + if ((this->work[BFD_DAMAGE_FLASH_TIMER] != 0) || (this->timers[0] == 0) || + (player->actor.world.pos.y < 70.0f)) { + this->work[BFD_ACTION_STATE] = BOSSFD_FLY_MAIN; + this->timers[0] = 0; + this->work[BFD_START_ATTACK] = false; + } else { + Math_ApproachF(&this->fwork[BFD_TARGET_Y_OFFSET], 50.0, 1.0f, 2.0f); + } + break; + case BOSSFD_DEATH_START: + if (sqrtf(SQ(dx) + SQ(dz)) < 50.0f) { + this->timers[0] = 0; + } + if (this->timers[0] == 0) { + this->timers[0] = (s16)Rand_ZeroFloat(10.0f) + 10; + do { + this->targetPosition.x = Rand_CenteredFloat(200.0f); + this->targetPosition.y = 390.0f; + this->targetPosition.z = Rand_CenteredFloat(200.0f); + temp_x = this->targetPosition.x - this->actor.world.pos.x; + temp_z = this->targetPosition.z - this->actor.world.pos.z; + } while (!(sqrtf(SQ(temp_x) + SQ(temp_z)) > 100.0f)); + } + this->fwork[BFD_FLY_WOBBLE_AMP] = 200.0f; + this->fwork[BFD_FLY_WOBBLE_RATE] = 1000.0f; + this->fwork[BFD_TURN_RATE_MAX] = 10000.0f; + Math_ApproachF(&this->fwork[BFD_BODY_PULSE], 0.3f, 1.0f, 0.05f); + if (this->timers[1] == 0) { + this->work[BFD_ACTION_STATE] = BOSSFD_SKIN_BURN; + this->timers[0] = 30; + } + break; + case BOSSFD_SKIN_BURN: + this->targetPosition.x = 0.0f; + this->targetPosition.y = 390.0f; + this->targetPosition.z = 0.0f; + this->fwork[BFD_FLY_WOBBLE_AMP] = 200.0f; + this->fwork[BFD_FLY_WOBBLE_RATE] = 1000.0f; + this->fwork[BFD_TURN_RATE_MAX] = 2000.0f; + Math_ApproachF(&this->fwork[BFD_BODY_PULSE], 0.3f, 1.0f, 0.05f); + if ((this->timers[0] == 0) && ((this->work[BFD_MOVE_TIMER] % 4) == 0)) { + if (this->skinSegments != 0) { + this->skinSegments--; + if (this->skinSegments == 0) { + Audio_SetBGM(0x21); + } + } else { + this->work[BFD_ACTION_STATE] = BOSSFD_BONES_FALL; + this->timers[0] = 30; + } + } + if ((this->work[BFD_MOVE_TIMER] % 32) == 0) { + this->work[BFD_ROAR_TIMER] = 40; + } -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Boss_Fd/BossFd_Update.s") + if (this->skinSegments != 0) { + Vec3f sp188; + Vec3f sp17C = { 0.0f, 0.0f, 0.0f }; + Vec3f sp170; + Vec3f sp164 = { 0.0f, 0.03f, 0.0f }; + Vec3f sp158; + f32 pad154; + s16 temp_rand2; + s16 sp150; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808CF448.s") + if (this->fogMode == 0) { + globalCtx->envCtx.unk_D8 = 0; + } + this->fogMode = 0xA; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808CF898.s") + sp150 = 1; + if (this->work[BFD_MOVE_TIMER] & 0x1C) { + Audio_PlaySoundGeneral(NA_SE_EN_VALVAISA_BURN - SFX_FLAG, &this->actor.projectedPos, 4, &D_801333E0, + &D_801333E0, &D_801333E8); + } + for (i1 = 0; i1 < sp150; i1++) { + if (sp150) { // Needed for matching + temp_rand2 = Rand_ZeroFloat(99.9f); -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Boss_Fd/BossFd_Draw.s") + sp188.x = this->bodySegsPos[temp_rand2].x; + sp188.y = this->bodySegsPos[temp_rand2].y - 10.0f; + sp188.z = this->bodySegsPos[temp_rand2].z; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808D00A4.s") + sp164.y = 0.03f; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808D01C0.s") + EffectSsKFire_Spawn(globalCtx, &sp188, &sp17C, &sp164, (s16)Rand_ZeroFloat(20.0f) + 40, 0x64); -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808D02DC.s") + for (i2 = 0; i2 < 15; i2++) { + sp170.x = Rand_CenteredFloat(20.0f); + sp170.y = Rand_CenteredFloat(20.0f); + sp170.z = Rand_CenteredFloat(20.0f); -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808D07A4.s") + sp158.y = 0.4f; + sp158.x = Rand_CenteredFloat(0.5f); + sp158.z = Rand_CenteredFloat(0.5f); -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808D08A4.s") + BossFd_SpawnEmber(this->effects, &sp188, &sp170, &sp158, (s16)Rand_ZeroFloat(3.0f) + 8); + } + } + } + } + break; + case BOSSFD_BONES_FALL: + this->work[BFD_STOP_FLAG] = true; + this->fogMode = 3; + if (this->timers[0] < 18) { + this->bodyFallApart[this->timers[0]] = 1; + } + if (this->timers[0] == 0) { + this->work[BFD_ACTION_STATE] = BOSSFD_SKULL_PAUSE; + this->timers[0] = 15; + this->work[BFD_CEILING_TARGET] = 0; + player->actor.world.pos.y = 90.0f; + player->actor.world.pos.x = 40.0f; + player->actor.world.pos.z = 150.0f; + } + break; + case BOSSFD_SKULL_PAUSE: + if (this->timers[0] == 0) { + this->work[BFD_ACTION_STATE] = BOSSFD_SKULL_FALL; + this->timers[0] = 20; + this->work[BFD_STOP_FLAG] = false; + } + break; + case BOSSFD_SKULL_FALL: + this->fwork[BFD_TURN_RATE] = this->fwork[BFD_TURN_RATE_MAX] = this->actor.speedXZ = + this->fwork[BFD_FLY_SPEED] = 0; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808D08F8.s") + if (this->timers[0] == 1) { + this->actor.world.pos.x = 0; + this->actor.world.pos.y = 900.0f; + this->actor.world.pos.z = 150.0f; + this->actor.world.rot.x = this->actor.world.rot.y = 0; + this->actor.shape.rot.z = 0x1200; + this->actor.velocity.x = 0; + this->actor.velocity.z = 0; + } + if (this->timers[0] == 0) { + if (this->actor.world.pos.y <= 110.0f) { + this->actor.world.pos.y = 110.0f; + this->actor.velocity.y = 0; + if (this->work[BFD_CEILING_TARGET] == 0) { + this->work[BFD_CEILING_TARGET]++; + this->timers[1] = 60; + this->work[BFD_CAM_SHAKE_TIMER] = 20; + Audio_PlaySoundGeneral(NA_SE_EN_VALVAISA_LAND2, &this->actor.projectedPos, 4, &D_801333E0, + &D_801333E0, &D_801333E8); + func_8002DF54(globalCtx, &this->actor, 5); + for (i1 = 0; i1 < 15; i1++) { + Vec3f sp144 = { 0.0f, 0.0f, 0.0f }; + Vec3f sp138 = { 0.0f, 0.0f, 0.0f }; + Vec3f sp12C; + + sp144.x = Rand_CenteredFloat(8.0f); + sp144.y = Rand_ZeroFloat(1.0f); + sp144.z = Rand_CenteredFloat(8.0f); + + sp138.y = 0.3f; + + sp12C.x = Rand_CenteredFloat(10.0f) + this->actor.world.pos.x; + sp12C.y = Rand_CenteredFloat(10.0f) + this->actor.world.pos.y; + sp12C.z = Rand_CenteredFloat(10.0f) + this->actor.world.pos.z; + BossFd_SpawnDust(this->effects, &sp12C, &sp144, &sp138, Rand_ZeroFloat(100.0f) + 300); + } + } + } else { + this->actor.velocity.y -= 1.0f; + } + } else { + this->actor.velocity.y = 0; + } + if (this->timers[1] == 1) { + this->work[BFD_ACTION_STATE] = BOSSFD_SKULL_BURN; + this->timers[0] = 70; + } + break; + case BOSSFD_SKULL_BURN: + this->actor.velocity.y = 0.0f; + this->actor.world.pos.y = 110.0f; + this->fwork[BFD_TURN_RATE] = this->fwork[BFD_TURN_RATE_MAX] = this->actor.speedXZ = + this->fwork[BFD_FLY_SPEED] = 0.0f; + + if ((50 > this->timers[0]) && (this->timers[0] > 0)) { + Vec3f sp120; + Vec3f sp114 = { 0.0f, 0.0f, 0.0f }; + Vec3f sp108 = { 0.0f, 0.03f, 0.0f }; + + Audio_PlaySoundGeneral(NA_SE_EN_GOMA_LAST - SFX_FLAG, &this->actor.projectedPos, 4, &D_801333E0, + &D_801333E0, &D_801333E8); + + sp120.x = Rand_CenteredFloat(40.0f) + this->actor.world.pos.x; + sp120.y = (Rand_CenteredFloat(10.0f) + this->actor.world.pos.y) - 10.0f; + sp120.z = (Rand_CenteredFloat(40.0f) + this->actor.world.pos.z) + 5.0f; + + sp108.y = 0.03f; + + EffectSsKFire_Spawn(globalCtx, &sp120, &sp114, &sp108, (s16)Rand_ZeroFloat(15.0f) + 30, 0); + } + if (this->timers[0] < 20) { + Math_ApproachZeroF(&this->actor.scale.x, 1.0f, 0.0025f); + Actor_SetScale(&this->actor, this->actor.scale.x); + } + if (this->timers[0] == 0) { + this->actionFunc = BossFd_Wait; + this->actor.world.pos.y -= 1000.0f; + } + if (this->timers[0] == 7) { + Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_ITEM_B_HEART, this->actor.world.pos.x, + this->actor.world.pos.y, this->actor.world.pos.z, 0, 0, 0, 0); + } + break; + case BOSSFD_WAIT_INTRO: + break; + } + + // Update body segments and mane + + if (!this->work[BFD_STOP_FLAG]) { + s16 i4; + Vec3f spE0[3]; + Vec3f spBC[3]; + f32 phi_f20; + f32 padB4; + f32 padB0; + f32 padAC; + + Math_ApproachS(&this->actor.world.rot.y, angleToTarget, 0xA, this->fwork[BFD_TURN_RATE]); + + if (((this->work[BFD_ACTION_STATE] == BOSSFD_FLY_CHASE) || + (this->work[BFD_ACTION_STATE] == BOSSFD_FLY_UNUSED)) && + (this->actor.world.pos.y < 110.0f) && (pitchToTarget < 0)) { + pitchToTarget = 0; + Math_ApproachF(&this->actor.world.pos.y, 110.0f, 1.0f, 5.0f); + } + + Math_ApproachS(&this->actor.world.rot.x, pitchToTarget, 0xA, this->fwork[BFD_TURN_RATE]); + Math_ApproachF(&this->fwork[BFD_TURN_RATE], this->fwork[BFD_TURN_RATE_MAX], 1.0f, 20000.0f); + Math_ApproachF(&this->actor.speedXZ, this->fwork[BFD_FLY_SPEED], 1.0f, 0.1f); + if (this->work[BFD_ACTION_STATE] < BOSSFD_SKULL_FALL) { + func_8002D908(&this->actor); + } + func_8002D7EC(&this->actor); + + this->work[BFD_LEAD_BODY_SEG]++; + if (this->work[BFD_LEAD_BODY_SEG] >= 100) { + this->work[BFD_LEAD_BODY_SEG] = 0; + } + i4 = this->work[BFD_LEAD_BODY_SEG]; + this->bodySegsPos[i4].x = this->actor.world.pos.x; + this->bodySegsPos[i4].y = this->actor.world.pos.y; + this->bodySegsPos[i4].z = this->actor.world.pos.z; + this->bodySegsRot[i4].x = (this->actor.world.rot.x / (f32)0x8000) * M_PI; + this->bodySegsRot[i4].y = (this->actor.world.rot.y / (f32)0x8000) * M_PI; + this->bodySegsRot[i4].z = (this->actor.world.rot.z / (f32)0x8000) * M_PI; + + this->work[BFD_LEAD_MANE_SEG]++; + if (this->work[BFD_LEAD_MANE_SEG] >= 30) { + this->work[BFD_LEAD_MANE_SEG] = 0; + } + i4 = this->work[BFD_LEAD_MANE_SEG]; + this->centerMane.scale[i4] = (Math_SinS(this->work[BFD_MOVE_TIMER] * 5596.0f) * 0.3f) + 1.0f; + this->rightMane.scale[i4] = (Math_SinS(this->work[BFD_MOVE_TIMER] * 5496.0f) * 0.3f) + 1.0f; + this->leftMane.scale[i4] = (Math_CosS(this->work[BFD_MOVE_TIMER] * 5696.0f) * 0.3f) + 1.0f; + this->centerMane.pos[i4] = this->centerMane.head; + this->fireManeRot[i4].x = (this->actor.world.rot.x / (f32)0x8000) * M_PI; + this->fireManeRot[i4].y = (this->actor.world.rot.y / (f32)0x8000) * M_PI; + this->fireManeRot[i4].z = (this->actor.world.rot.z / (f32)0x8000) * M_PI; + this->rightMane.pos[i4] = this->rightMane.head; + this->leftMane.pos[i4] = this->leftMane.head; + + if ((0x3000 > this->actor.world.rot.x) && (this->actor.world.rot.x > -0x3000)) { + Math_ApproachF(&this->flattenMane, 1.0f, 1.0f, 0.05f); + } else { + Math_ApproachF(&this->flattenMane, 0.5f, 1.0f, 0.05f); + } + + if (this->work[BFD_ACTION_STATE] < BOSSFD_SKULL_FALL) { + if ((this->actor.prevPos.y < 90.0f) && (90.0f <= this->actor.world.pos.y)) { + this->timers[4] = 80; + func_80033E1C(globalCtx, 1, 80, 0x5000); + this->work[BFD_ROAR_TIMER] = 40; + this->work[BFD_MANE_EMBERS_TIMER] = 30; + this->work[BFD_SPLASH_TIMER] = 10; + } + if ((this->actor.prevPos.y > 90.0f) && (90.0f >= this->actor.world.pos.y)) { + this->timers[4] = 80; + func_80033E1C(globalCtx, 1, 80, 0x5000); + this->work[BFD_MANE_EMBERS_TIMER] = 30; + this->work[BFD_SPLASH_TIMER] = 10; + } + } + + if (!sp1CF) { + spE0[0].x = spE0[0].y = Math_SinS(this->work[BFD_MOVE_TIMER] * 1500.0f) * 3000.0f; + spE0[1].x = Math_SinS(this->work[BFD_MOVE_TIMER] * 2000.0f) * 4000.0f; + spE0[1].y = Math_SinS(this->work[BFD_MOVE_TIMER] * 2200.0f) * 4000.0f; + spE0[2].x = Math_SinS(this->work[BFD_MOVE_TIMER] * 1700.0f) * 2000.0f; + spE0[2].y = Math_SinS(this->work[BFD_MOVE_TIMER] * 1900.0f) * 2000.0f; + spBC[0].x = spBC[0].y = Math_SinS(this->work[BFD_MOVE_TIMER] * 1500.0f) * -3000.0f; + spBC[1].x = Math_SinS(this->work[BFD_MOVE_TIMER] * 2200.0f) * -4000.0f; + spBC[1].y = Math_SinS(this->work[BFD_MOVE_TIMER] * 2000.0f) * -4000.0f; + spBC[2].x = Math_SinS(this->work[BFD_MOVE_TIMER] * 1900.0f) * -2000.0f; + spBC[2].y = Math_SinS(this->work[BFD_MOVE_TIMER] * 1700.0f) * -2000.0f; + + for (i3 = 0; i3 < 3; i3++) { + Math_ApproachF(&this->rightArmRot[i3].x, spE0[i3].x, 1.0f, 1000.0f); + Math_ApproachF(&this->rightArmRot[i3].y, spE0[i3].y, 1.0f, 1000.0f); + Math_ApproachF(&this->leftArmRot[i3].x, spBC[i3].x, 1.0f, 1000.0f); + Math_ApproachF(&this->leftArmRot[i3].y, spBC[i3].y, 1.0f, 1000.0f); + } + } else { + for (i2 = 0; i2 < 3; i2++) { + phi_f20 = 0.0f; + Math_ApproachZeroF(&this->rightArmRot[i2].y, 0.1f, 100.0f); + Math_ApproachZeroF(&this->leftArmRot[i2].y, 0.1f, 100.0f); + if (i2 == 0) { + phi_f20 = -3000.0f; + } + Math_ApproachF(&this->rightArmRot[i2].x, phi_f20, 0.1f, 100.0f); + Math_ApproachF(&this->leftArmRot[i2].x, -phi_f20, 0.1f, 100.0f); + } + } + } +} +#else +static Vec3f D_808D19E0 = { 0.0f, 0.0f, 0.0f }; +static Vec3f D_808D19EC = { 0.0f, 0.03f, 0.0f }; + +static Vec3f D_808D19F8 = { 0.0f, 0.0f, 0.0f }; +static Vec3f D_808D1A04 = { 0.0f, 0.0f, 0.0f }; + +static Vec3f D_808D1A10 = { 0.0f, 0.0f, 0.0f }; +static Vec3f D_808D1A1C = { 0.0f, 0.03f, 0.0f }; +#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Boss_Fd/BossFd_Fly.s") +#endif + +void BossFd_Wait(BossFd* this, GlobalContext* globalCtx) { + if (this->handoffSignal == FD2_SIGNAL_FLY) { // Set by BossFd2 + u8 temp_rand; + + this->handoffSignal = FD2_SIGNAL_NONE; + BossFd_SetupFly(this, globalCtx); + do { + temp_rand = Rand_ZeroFloat(8.9f); + } while (temp_rand == this->holeIndex); + this->holeIndex = temp_rand; + if (1) {} // Needed for matching + this->targetPosition.x = sHoleLocations[this->holeIndex].x; + this->targetPosition.y = sHoleLocations[this->holeIndex].y - 200.0f; + this->targetPosition.z = sHoleLocations[this->holeIndex].z; + this->actor.world.pos = this->targetPosition; + + this->timers[0] = 10; + this->work[BFD_ACTION_STATE] = BOSSFD_EMERGE; + this->work[BFD_START_ATTACK] = true; + } + if (this->handoffSignal == FD2_SIGNAL_DEATH) { + this->handoffSignal = FD2_SIGNAL_NONE; + BossFd_SetupFly(this, globalCtx); + this->holeIndex = 1; + this->targetPosition.x = sHoleLocations[1].x; + this->targetPosition.y = sHoleLocations[1].y - 200.0f; + this->targetPosition.z = sHoleLocations[1].z; + this->actor.world.pos = this->targetPosition; + this->timers[0] = 10; + this->work[BFD_ACTION_STATE] = BOSSFD_EMERGE; + } +} + +static Vec3f sFireAudioVec = { 0.0f, 0.0f, 50.0f }; + +void BossFd_Effects(BossFd* this, GlobalContext* globalCtx) { + static Color_RGBA8 colorYellow = { 255, 255, 0, 255 }; + static Color_RGBA8 colorRed = { 255, 10, 0, 255 }; + s16 breathOpacity = 0; + f32 jawAngle; + f32 jawSpeed; + f32 emberRate; + f32 emberSpeed; + s16 eyeStates[] = { EYE_OPEN, EYE_HALF, EYE_CLOSED, EYE_CLOSED, EYE_HALF }; + f32 temp_x; + f32 temp_z; + s16 i; + + if (1) {} // Needed for match + + if (this->fogMode == 0) { + globalCtx->envCtx.unk_BF = 0; + globalCtx->envCtx.unk_D8 = 0.5f + 0.5f * Math_SinS(this->work[BFD_VAR_TIMER] * 0x500); + globalCtx->envCtx.unk_DC = 2; + globalCtx->envCtx.unk_BD = 1; + globalCtx->envCtx.unk_BE = 0; + } else if (this->fogMode == 3) { + globalCtx->envCtx.unk_BF = 0; + globalCtx->envCtx.unk_DC = 2; + globalCtx->envCtx.unk_BD = 2; + globalCtx->envCtx.unk_BE = 0; + Math_ApproachF(&globalCtx->envCtx.unk_D8, 1.0f, 1.0f, 0.05f); + } else if (this->fogMode == 2) { + this->fogMode--; + globalCtx->envCtx.unk_BF = 0; + Math_ApproachF(&globalCtx->envCtx.unk_D8, 0.55f + 0.05f * Math_SinS(this->work[BFD_VAR_TIMER] * 0x3E00), 1.0f, + 0.15f); + globalCtx->envCtx.unk_DC = 2; + globalCtx->envCtx.unk_BD = 3; + globalCtx->envCtx.unk_BE = 0; + } else if (this->fogMode == 10) { + this->fogMode = 1; + globalCtx->envCtx.unk_BF = 0; + Math_ApproachF(&globalCtx->envCtx.unk_D8, 0.21f + 0.07f * Math_SinS(this->work[BFD_VAR_TIMER] * 0xC00), 1.0f, + 0.05f); + globalCtx->envCtx.unk_DC = 2; + globalCtx->envCtx.unk_BD = 3; + globalCtx->envCtx.unk_BE = 0; + } else if (this->fogMode == 1) { + Math_ApproachF(&globalCtx->envCtx.unk_D8, 0.0f, 1.0f, 0.03f); + if (globalCtx->envCtx.unk_D8 <= 0.01f) { + this->fogMode = 0; + } + } + + if (this->work[BFD_MANE_EMBERS_TIMER] != 0) { + this->work[BFD_MANE_EMBERS_TIMER]--; + emberSpeed = emberRate = 20.0f; + } else { + emberRate = 3.0f; + emberSpeed = 5.0f; + } + Math_ApproachF(&this->fwork[BFD_MANE_EMBER_RATE], emberRate, 1.0f, 0.1f); + Math_ApproachF(&this->fwork[BFD_MANE_EMBER_SPEED], emberSpeed, 1.0f, 0.5f); + + if (((this->work[BFD_VAR_TIMER] % 8) == 0) && (Rand_ZeroOne() < 0.3f)) { + this->work[BFD_BLINK_TIMER] = 4; + } + this->eyeState = eyeStates[this->work[BFD_BLINK_TIMER]]; + + if (this->work[BFD_BLINK_TIMER] != 0) { + this->work[BFD_BLINK_TIMER]--; + } + + if (this->work[BFD_ROAR_TIMER] != 0) { + if (this->work[BFD_ROAR_TIMER] == 37) { + Audio_PlaySoundGeneral(NA_SE_EN_VALVAISA_ROAR, &this->actor.projectedPos, 4, &D_801333E0, &D_801333E0, + &D_801333E8); + } + jawAngle = 6000.0f; + jawSpeed = 1300.0f; + } else { + jawAngle = (this->work[BFD_VAR_TIMER] & 0x10) ? 0.0f : 1000.0f; + jawSpeed = 500.0f; + } + Math_ApproachF(&this->jawOpening, jawAngle, 0.3f, jawSpeed); + + if (this->work[BFD_ROAR_TIMER] != 0) { + this->work[BFD_ROAR_TIMER]--; + } + + if (this->timers[4] != 0) { + Vec3f spawnVel1; + Vec3f spawnAccel1; + Vec3f spawnPos1; + s32 pad; + + Audio_PlaySoundGeneral(NA_SE_EN_VALVAISA_APPEAR - SFX_FLAG, &this->actor.projectedPos, 4, &D_801333E0, + &D_801333E0, &D_801333E8); + if (this->work[BFD_SPLASH_TIMER] != 0) { + this->work[BFD_SPLASH_TIMER]--; + if ((this->actor.colChkInfo.health == 0) || + ((this->introState == BFD_CS_EMERGE) && (this->actor.world.rot.x > 0x3000))) { + if ((u8)this->fogMode == 0) { + globalCtx->envCtx.unk_D8 = 0.0f; + } + this->fogMode = 2; + } + for (i = 0; i < 5; i++) { + spawnVel1.x = Rand_CenteredFloat(20.0f); + spawnVel1.y = Rand_ZeroFloat(5.0f) + 4.0f; + spawnVel1.z = Rand_CenteredFloat(20.0f); + + spawnAccel1.x = spawnAccel1.z = 0.0f; + spawnAccel1.y = -0.3f; + + temp_x = (spawnVel1.x * 20) / 10.0f; + temp_z = (spawnVel1.z * 20) / 10.0f; + spawnPos1.x = temp_x + this->holePosition.x; + spawnPos1.y = 100.0f; + spawnPos1.z = temp_z + this->holePosition.z; + + func_8002836C(globalCtx, &spawnPos1, &spawnVel1, &spawnAccel1, &colorYellow, &colorRed, + (s16)Rand_ZeroFloat(150.0f) + 800, 10, (s16)Rand_ZeroFloat(5.0f) + 17); + } + } else { + for (i = 0; i < 2; i++) { + spawnVel1.x = Rand_CenteredFloat(10.0f); + spawnVel1.y = Rand_ZeroFloat(3.0f) + 3.0f; + spawnVel1.z = Rand_CenteredFloat(10.0f); + + spawnAccel1.x = spawnAccel1.z = 0.0f; + spawnAccel1.y = -0.3f; + temp_x = (spawnVel1.x * 50) / 10.0f; + temp_z = (spawnVel1.z * 50) / 10.0f; + + spawnPos1.x = temp_x + this->holePosition.x; + spawnPos1.y = 100.0f; + spawnPos1.z = temp_z + this->holePosition.z; + + func_8002836C(globalCtx, &spawnPos1, &spawnVel1, &spawnAccel1, &colorYellow, &colorRed, 500, 10, 20); + } + } + + for (i = 0; i < 8; i++) { + spawnVel1.x = Rand_CenteredFloat(20.0f); + spawnVel1.y = Rand_ZeroFloat(10.0f); + spawnVel1.z = Rand_CenteredFloat(20.0f); + + spawnAccel1.y = 0.4f; + spawnAccel1.x = Rand_CenteredFloat(0.5f); + spawnAccel1.z = Rand_CenteredFloat(0.5f); + + spawnPos1.x = Rand_CenteredFloat(60.0) + this->holePosition.x; + spawnPos1.y = Rand_ZeroFloat(40.0f) + 100.0f; + spawnPos1.z = Rand_CenteredFloat(60.0) + this->holePosition.z; + + BossFd_SpawnEmber(this->effects, &spawnPos1, &spawnVel1, &spawnAccel1, (s16)Rand_ZeroFloat(1.5f) + 6); + } + } + + if ((this->fireBreathTimer != 0) && (this->fireBreathTimer < 17)) { + breathOpacity = (this->fireBreathTimer >= 6) ? 255 : this->fireBreathTimer * 50; + } + if (breathOpacity != 0) { + f32 spawnAngleX; + f32 spawnAngleY; + Vec3f spawnSpeed2 = { 0.0f, 0.0f, 0.0f }; + Vec3f spawnVel2; + Vec3f spawnAccel2 = { 0.0f, 0.0f, 0.0f }; + Vec3f spawnPos2; + + this->fogMode = 2; + spawnSpeed2.z = 30.0f; + + Audio_PlaySoundGeneral(NA_SE_EN_VALVAISA_FIRE - SFX_FLAG, &sFireAudioVec, 4, &D_801333E0, &D_801333E0, + &D_801333E8); + spawnPos2 = this->headPos; + + spawnAngleY = (this->actor.world.rot.y / (f32)0x8000) * M_PI; + spawnAngleX = (((-this->actor.world.rot.x) / (f32)0x8000) * M_PI) + 0.3f; + Matrix_RotateY(spawnAngleY, MTXMODE_NEW); + Matrix_RotateX(spawnAngleX, MTXMODE_APPLY); + Matrix_MultVec3f(&spawnSpeed2, &spawnVel2); + + BossFd_SpawnFireBreath(this->effects, &spawnPos2, &spawnVel2, &spawnAccel2, + 50.0f * Math_SinS(this->work[BFD_VAR_TIMER] * 0x2000) + 300.0f, breathOpacity, + this->actor.world.rot.y); + + spawnPos2.x += spawnVel2.x * 0.5f; + spawnPos2.y += spawnVel2.y * 0.5f; + spawnPos2.z += spawnVel2.z * 0.5f; + + BossFd_SpawnFireBreath(this->effects, &spawnPos2, &spawnVel2, &spawnAccel2, + 50.0f * Math_SinS(this->work[BFD_VAR_TIMER] * 0x2000) + 300.0f, breathOpacity, + this->actor.world.rot.y); + spawnSpeed2.x = 0.0f; + spawnSpeed2.y = 17.0f; + spawnSpeed2.z = 0.0f; + + for (i = 0; i < 6; i++) { + spawnAngleY = Rand_ZeroFloat(2.0f * M_PI); + spawnAngleX = Rand_ZeroFloat(2.0f * M_PI); + Matrix_RotateY(spawnAngleY, MTXMODE_NEW); + Matrix_RotateX(spawnAngleX, MTXMODE_APPLY); + Matrix_MultVec3f(&spawnSpeed2, &spawnVel2); + + spawnAccel2.x = (spawnVel2.x * -10) / 100; + spawnAccel2.y = (spawnVel2.y * -10) / 100; + spawnAccel2.z = (spawnVel2.z * -10) / 100; + + BossFd_SpawnEmber(this->effects, &this->headPos, &spawnVel2, &spawnAccel2, (s16)Rand_ZeroFloat(2.0f) + 8); + } + } + + if ((this->actor.world.pos.y < 90.0f) || (700.0f < this->actor.world.pos.y) || (this->actionFunc == BossFd_Wait)) { + this->actor.flags &= ~1; + } else { + this->actor.flags |= 1; + } +} + +void BossFd_CollisionCheck(BossFd* this, GlobalContext* globalCtx) { + ColliderJntSphElement* headCollider = &this->collider.elements[0]; + ColliderInfo* hurtbox; + + if (headCollider->info.bumperFlags & BUMP_HIT) { + headCollider->info.bumperFlags &= ~BUMP_HIT; + hurtbox = headCollider->info.acHitInfo; + this->actor.colChkInfo.health -= 2; + if (hurtbox->toucher.dmgFlags & 0x1000) { + this->actor.colChkInfo.health -= 2; + } + if ((s8)this->actor.colChkInfo.health <= 2) { + this->actor.colChkInfo.health = 2; + } + this->work[BFD_DAMAGE_FLASH_TIMER] = 10; + this->work[BFD_INVINC_TIMER] = 20; + Audio_PlaySoundGeneral(NA_SE_EN_VALVAISA_DAMAGE1, &this->actor.projectedPos, 4, &D_801333E0, &D_801333E0, + &D_801333E8); + } +} + +void BossFd_Update(Actor* thisx, GlobalContext* globalCtx) { + s32 pad; + BossFd* this = THIS; + f32 headGlow; + f32 rManeGlow; + f32 lManeGlow; + s16 i; + + osSyncPrintf("FD MOVE START \n"); + this->work[BFD_VAR_TIMER]++; + this->work[BFD_MOVE_TIMER]++; + this->actionFunc(this, globalCtx); + + for (i = 0; i < ARRAY_COUNT(this->timers); i++) { + if (this->timers[i] != 0) { + this->timers[i]--; + } + } + if (this->fireBreathTimer != 0) { + this->fireBreathTimer--; + } + if (this->work[BFD_DAMAGE_FLASH_TIMER] != 0) { + this->work[BFD_DAMAGE_FLASH_TIMER]--; + } + if (this->work[BFD_INVINC_TIMER] != 0) { + this->work[BFD_INVINC_TIMER]--; + } + if (this->work[BFD_ACTION_STATE] < BOSSFD_DEATH_START) { + if (this->work[BFD_INVINC_TIMER] == 0) { + BossFd_CollisionCheck(this, globalCtx); + } + CollisionCheck_SetAC(globalCtx, &globalCtx->colChkCtx, &this->collider.base); + CollisionCheck_SetAT(globalCtx, &globalCtx->colChkCtx, &this->collider.base); + } + + BossFd_Effects(this, globalCtx); + this->fwork[BFD_TEX1_SCROLL_X] += 4.0f; + this->fwork[BFD_TEX1_SCROLL_Y] = 120.0f; + this->fwork[BFD_TEX2_SCROLL_X] += 3.0f; + this->fwork[BFD_TEX2_SCROLL_Y] -= 2.0f; + + Math_ApproachF(&this->fwork[BFD_BODY_TEX2_ALPHA], (this->work[BFD_VAR_TIMER] & 0x10) ? 30.0f : 158.0f, 1.0f, 8.0f); + if (this->skinSegments == 0) { + this->fwork[BFD_HEAD_TEX2_ALPHA] = this->fwork[BFD_BODY_TEX2_ALPHA]; + } else { + headGlow = (this->work[BFD_VAR_TIMER] & 4) ? 0.0f : 255.0f; + Math_ApproachF(&this->fwork[BFD_HEAD_TEX2_ALPHA], headGlow, 1.0f, 64.0f); + } + + headGlow = (this->work[BFD_VAR_TIMER] & 8) ? 128.0f : 255.0f; + rManeGlow = ((this->work[BFD_VAR_TIMER] + 3) & 8) ? 128.0f : 255.0f; + lManeGlow = ((this->work[BFD_VAR_TIMER] + 6) & 8) ? 128.0f : 255.0f; + + Math_ApproachF(&this->fwork[BFD_MANE_COLOR_CENTER], headGlow, 1.0f, 16.0f); + Math_ApproachF(&this->fwork[BFD_MANE_COLOR_RIGHT], rManeGlow, 1.0f, 16.0f); + Math_ApproachF(&this->fwork[BFD_MANE_COLOR_LEFT], lManeGlow, 1.0f, 16.0f); + + if (this->work[BFD_ROCK_TIMER] != 0) { + this->work[BFD_ROCK_TIMER]--; + if ((this->work[BFD_ROCK_TIMER] % 16) == 0) { + EnVbBall* bossFdRock = (EnVbBall*)Actor_SpawnAsChild( + &globalCtx->actorCtx, &this->actor, globalCtx, ACTOR_EN_VB_BALL, this->actor.world.pos.x, 1000.0f, + this->actor.world.pos.z, 0, 0, (s16)Rand_ZeroFloat(50.0f) + 130, 100); + + if (bossFdRock != NULL) { + for (i = 0; i < 10; i++) { + Vec3f debrisVel = { 0.0f, 0.0f, 0.0f }; + Vec3f debrisAccel = { 0.0f, -1.0f, 0.0f }; + Vec3f debrisPos; + + debrisPos.x = Rand_CenteredFloat(300.0f) + bossFdRock->actor.world.pos.x; + debrisPos.y = Rand_CenteredFloat(300.0f) + bossFdRock->actor.world.pos.y; + debrisPos.z = Rand_CenteredFloat(300.0f) + bossFdRock->actor.world.pos.z; + + BossFd_SpawnDebris(this->effects, &debrisPos, &debrisVel, &debrisAccel, + (s16)Rand_ZeroFloat(15.0f) + 20); + } + } + } + } + + if (1) { // Needed for matching, and also to define new variables + Vec3f emberVel = { 0.0f, 0.0f, 0.0f }; + Vec3f emberAccel = { 0.0f, 0.0f, 0.0f }; + Vec3f emberPos; + s16 temp_rand; + + for (i = 0; i < 6; i++) { + emberAccel.y = 0.4f; + emberAccel.x = Rand_CenteredFloat(0.5f); + emberAccel.z = Rand_CenteredFloat(0.5f); + + temp_rand = Rand_ZeroFloat(8.9f); + + emberPos.x = sHoleLocations[temp_rand].x + Rand_CenteredFloat(60.0f); + emberPos.y = (sHoleLocations[temp_rand].y + 10.0f) + Rand_ZeroFloat(40.0f); + emberPos.z = sHoleLocations[temp_rand].z + Rand_CenteredFloat(60.0f); + + BossFd_SpawnEmber(this->effects, &emberPos, &emberVel, &emberAccel, (s16)Rand_ZeroFloat(2.0f) + 6); + } + + if (this->skinSegments != 0) { + for (i = 0; i < (s16)this->fwork[BFD_MANE_EMBER_RATE]; i++) { + temp_rand = Rand_ZeroFloat(29.9f); + emberPos.y = this->centerMane.pos[temp_rand].y + Rand_CenteredFloat(20.0f); + + if (emberPos.y >= 90.0f) { + emberPos.x = this->centerMane.pos[temp_rand].x + Rand_CenteredFloat(20.0f); + emberPos.z = this->centerMane.pos[temp_rand].z + Rand_CenteredFloat(20.0f); + + emberVel.x = Rand_CenteredFloat(this->fwork[BFD_MANE_EMBER_SPEED]); + emberVel.y = Rand_CenteredFloat(this->fwork[BFD_MANE_EMBER_SPEED]); + emberVel.z = Rand_CenteredFloat(this->fwork[BFD_MANE_EMBER_SPEED]); + + emberAccel.y = 0.4f; + emberAccel.x = Rand_CenteredFloat(0.5f); + emberAccel.z = Rand_CenteredFloat(0.5f); + + BossFd_SpawnEmber(this->effects, &emberPos, &emberVel, &emberAccel, (s16)Rand_ZeroFloat(2.0f) + 8); + } + } + } + } + osSyncPrintf("FD MOVE END 1\n"); + BossFd_UpdateEffects(this, globalCtx); + osSyncPrintf("FD MOVE END 2\n"); +} + +void BossFd_UpdateEffects(BossFd* this, GlobalContext* globalCtx) { + BossFdEffect* effect = this->effects; + Player* player = PLAYER; + Color_RGB8 colors[4] = { { 255, 128, 0 }, { 255, 0, 0 }, { 255, 255, 0 }, { 255, 0, 0 } }; + Vec3f diff; + s16 i1; + s16 i2; + + for (i1 = 0; i1 < 180; i1++, effect++) { + if (effect->type != BFD_FX_NONE) { + effect->timer1++; + + effect->pos.x += effect->velocity.x; + effect->pos.y += effect->velocity.y; + effect->pos.z += effect->velocity.z; + + effect->velocity.x += effect->accel.x; + effect->velocity.y += effect->accel.y; + effect->velocity.z += effect->accel.z; + if (effect->type == BFD_FX_EMBER) { + s16 cInd = effect->timer1 % 4; + + effect->color.r = colors[cInd].r; + effect->color.g = colors[cInd].g; + effect->color.b = colors[cInd].b; + effect->alpha -= 20; + if (effect->alpha <= 0) { + effect->alpha = 0; + effect->type = 0; + } + } else if ((effect->type == BFD_FX_DEBRIS) || (effect->type == BFD_FX_SKULL_PIECE)) { + effect->vFdFxRotX += 0.55f; + effect->vFdFxRotY += 0.1f; + if (effect->pos.y <= 100.0f) { + effect->type = 0; + } + } else if (effect->type == BFD_FX_DUST) { + if (effect->timer2 >= 8) { + effect->timer2 = 8; + effect->type = 0; + } else if (((effect->timer1 % 2) != 0) || (Rand_ZeroOne() < 0.3f)) { + effect->timer2++; + } + } else if (effect->type == BFD_FX_FIRE_BREATH) { + diff.x = player->actor.world.pos.x - effect->pos.x; + diff.y = player->actor.world.pos.y + 30.0f - effect->pos.y; + diff.z = player->actor.world.pos.z - effect->pos.z; + if ((this->timers[3] == 0) && (sqrtf(SQ(diff.x) + SQ(diff.y) + SQ(diff.z)) < 20.0f)) { + this->timers[3] = 50; + func_8002F6D4(globalCtx, NULL, 5.0f, effect->kbAngle, 0.0f, 0x30); + if (player->isBurning == false) { + for (i2 = 0; i2 < ARRAY_COUNT(player->flameTimers); i2++) { + player->flameTimers[i2] = Rand_S16Offset(0, 200); + } + player->isBurning = true; + } + } + if (effect->timer2 == 0) { + if (effect->scale < 2.5f) { + effect->scale += effect->vFdFxScaleMod; + effect->vFdFxScaleMod += 0.08f; + } + if ((effect->pos.y <= (effect->vFdFxYStop + 130.0f)) || (effect->timer1 >= 10)) { + effect->accel.y = 5.0f; + effect->timer2++; + effect->velocity.y = 0.0f; + effect->accel.x = (effect->velocity.x * -25.0f) / 100.0f; + effect->accel.z = (effect->velocity.z * -25.0f) / 100.0f; + } + } else { + if (effect->scale < 2.5f) { + Math_ApproachF(&effect->scale, 2.5f, 0.5f, 0.5f); + } + effect->timer2++; + if (effect->timer2 >= 9) { + effect->type = 0; + } + } + } + } + } +} + +void BossFd_DrawEffects(BossFdEffect* effect, GlobalContext* globalCtx) { + static u64* dustTex[] = { + gDust1Tex, gDust1Tex, gDust2Tex, gDust3Tex, gDust4Tex, gDust5Tex, gDust6Tex, gDust7Tex, gDust8Tex, + }; + u8 flag = false; + GraphicsContext* gfxCtx = globalCtx->state.gfxCtx; + s16 i; + BossFdEffect* firstEffect = effect; + + OPEN_DISPS(gfxCtx, "../z_boss_fd.c", 4023); + + for (i = 0; i < 180; i++, effect++) { + if (effect->type == BFD_FX_EMBER) { + if (!flag) { + func_80093D84(globalCtx->state.gfxCtx); + gSPDisplayList(POLY_XLU_DISP++, gVolvagiaEmberSetupDL); + flag++; + } + + gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, effect->color.r, effect->color.g, effect->color.b, effect->alpha); + Matrix_Translate(effect->pos.x, effect->pos.y, effect->pos.z, MTXMODE_NEW); + func_800D1FD4(&globalCtx->mf_11DA0); + Matrix_Scale(effect->scale, effect->scale, 1.0f, MTXMODE_APPLY); + + gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_boss_fd.c", 4046), + G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList(POLY_XLU_DISP++, gVolvagiaEmberVtxDL); + } + } + + effect = firstEffect; + flag = false; + for (i = 0; i < 180; i++, effect++) { + if (effect->type == BFD_FX_DEBRIS) { + if (!flag) { + func_80093D18(globalCtx->state.gfxCtx); + gSPDisplayList(POLY_OPA_DISP++, gVolvagiaDebrisSetupDL); + flag++; + } + + Matrix_Translate(effect->pos.x, effect->pos.y, effect->pos.z, MTXMODE_NEW); + Matrix_RotateY(effect->vFdFxRotY, MTXMODE_APPLY); + Matrix_RotateX(effect->vFdFxRotX, MTXMODE_APPLY); + Matrix_Scale(effect->scale, effect->scale, 1.0f, MTXMODE_APPLY); + + gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(gfxCtx, "../z_boss_fd.c", 4068), + G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList(POLY_OPA_DISP++, gVolvagiaDebrisVtxDL); + } + } + + effect = firstEffect; + flag = false; + for (i = 0; i < 180; i++, effect++) { + if (effect->type == BFD_FX_DUST) { + if (!flag) { + POLY_XLU_DISP = Gfx_CallSetupDL(POLY_XLU_DISP, 0); + gSPDisplayList(POLY_XLU_DISP++, gVolvagiaDustSetupDL); + gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 90, 30, 0, 255); + gDPSetEnvColor(POLY_XLU_DISP++, 90, 30, 0, 0); + flag++; + } + + Matrix_Translate(effect->pos.x, effect->pos.y, effect->pos.z, MTXMODE_NEW); + Matrix_Scale(effect->scale, effect->scale, effect->scale, MTXMODE_APPLY); + func_800D1FD4(&globalCtx->mf_11DA0); + + gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_boss_fd.c", 4104), + G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPSegment(POLY_XLU_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(dustTex[effect->timer2])); + gSPDisplayList(POLY_XLU_DISP++, gVolvagiaDustVtxDL); + } + } + + effect = firstEffect; + flag = false; + for (i = 0; i < 180; i++, effect++) { + if (effect->type == BFD_FX_FIRE_BREATH) { + if (!flag) { + POLY_XLU_DISP = Gfx_CallSetupDL(POLY_XLU_DISP, 0); + gSPDisplayList(POLY_XLU_DISP++, gVolvagiaDustSetupDL); + gDPSetEnvColor(POLY_XLU_DISP++, 255, 10, 0, 255); + flag++; + } + + gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 255, 255, 0, effect->alpha); + Matrix_Translate(effect->pos.x, effect->pos.y, effect->pos.z, MTXMODE_NEW); + Matrix_Scale(effect->scale, effect->scale, effect->scale, MTXMODE_APPLY); + func_800D1FD4(&globalCtx->mf_11DA0); + + gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_boss_fd.c", 4154), + G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPSegment(POLY_XLU_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(dustTex[effect->timer2])); + gSPDisplayList(POLY_XLU_DISP++, gVolvagiaDustVtxDL); + } + } + + effect = firstEffect; + flag = false; + for (i = 0; i < 180; i++, effect++) { + if (effect->type == BFD_FX_SKULL_PIECE) { + if (!flag) { + func_80093D84(globalCtx->state.gfxCtx); + gSPDisplayList(POLY_XLU_DISP++, gVolvagiaSkullPieceSetupDL); + flag++; + } + + Matrix_Translate(effect->pos.x, effect->pos.y, effect->pos.z, MTXMODE_NEW); + Matrix_RotateY(effect->vFdFxRotY, MTXMODE_APPLY); + Matrix_RotateX(effect->vFdFxRotX, MTXMODE_APPLY); + Matrix_Scale(effect->scale, effect->scale, 1.0f, MTXMODE_APPLY); + + gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_boss_fd.c", 4192), + G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList(POLY_XLU_DISP++, gVolvagiaSkullPieceVtxDL); + } + } + + CLOSE_DISPS(gfxCtx, "../z_boss_fd.c", 4198); +} + +void BossFd_Draw(Actor* thisx, GlobalContext* globalCtx) { + s32 pad; + BossFd* this = THIS; + + osSyncPrintf("FD DRAW START\n"); + if (this->actionFunc != BossFd_Wait) { + OPEN_DISPS(globalCtx->state.gfxCtx, "../z_boss_fd.c", 4217); + func_80093D18(globalCtx->state.gfxCtx); + if (this->work[BFD_DAMAGE_FLASH_TIMER] & 2) { + POLY_OPA_DISP = Gfx_SetFog(POLY_OPA_DISP, 255, 255, 255, 0, 900, 1099); + } + + BossFd_DrawBody(globalCtx, this); + POLY_OPA_DISP = func_800BC8A0(globalCtx, POLY_OPA_DISP); + CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_boss_fd.c", 4243); + } + + osSyncPrintf("FD DRAW END\n"); + BossFd_DrawEffects(this->effects, globalCtx); + osSyncPrintf("FD DRAW END2\n"); +} + +s32 BossFd_OverrideRightArmDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, + void* thisx) { + BossFd* this = THIS; + + switch (limbIndex) { + case 1: + rot->y += 4000.0f + this->rightArmRot[0].x; + break; + case 2: + rot->y += this->rightArmRot[1].x; + rot->z += this->rightArmRot[1].y; + break; + case 3: + rot->y += this->rightArmRot[2].x; + rot->z += this->rightArmRot[2].y; + break; + } + if (this->skinSegments < limbIndex) { + *dList = NULL; + } + return false; +} + +s32 BossFd_OverrideLeftArmDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, + void* thisx) { + BossFd* this = THIS; + + switch (limbIndex) { + case 1: + rot->y += -4000.0f + this->leftArmRot[0].x; + break; + case 2: + rot->y += this->leftArmRot[1].x; + rot->z += this->leftArmRot[1].y; + break; + case 3: + rot->y += this->leftArmRot[2].x; + rot->z += this->leftArmRot[2].y; + break; + } + if (this->skinSegments < limbIndex) { + *dList = NULL; + } + return false; +} + +static s16 sBodyIndex[] = { 0, 95, 90, 85, 80, 75, 70, 65, 60, 55, 50, 45, 40, 35, 30, 25, 20, 15, 10, 5 }; +static s16 sManeIndex[] = { 0, 28, 26, 24, 22, 20, 18, 16, 14, 12, 10 }; // Unused + +void BossFd_DrawMane(GlobalContext* globalCtx, BossFd* this, Vec3f* manePos, Vec3f* maneRot, f32* maneScale, u8 mode) { + f32 sp140[] = { 0.0f, 10.0f, 17.0f, 20.0f, 19.5f, 18.0f, 17.0f, 15.0f, 15.0f, 15.0f }; + f32 sp118[] = { 0.0f, 10.0f, 17.0f, 20.0f, 21.0f, 21.0f, 21.0f, 21.0f, 21.0f, 21.0f }; + f32 spF0[] = { 0.4636457f, 0.33661291f, 0.14879614f, 0.04995025f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f }; + // arctan of {0.5, 0.35, 0.15, 0.05, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0} + f32 spC8[] = { -0.4636457f, -0.33661291f, -0.14879614f, 0.024927188f, 0.07478157f, + 0.04995025f, 0.09961288f, 0.0f, 0.0f, 0.0f }; + // arctan of {-0.5, -0.35, -0.15, 0.025, 0.075, 0.05, 0.1, 0.0, 0.0} + s16 maneIndex; + s16 i; + s16 maneLength; + Vec3f spB4; + Vec3f spA8; + f32 phi_f20; + f32 phi_f22; + + OPEN_DISPS(globalCtx->state.gfxCtx, "../z_boss_fd.c", 4419); + + maneLength = this->skinSegments; + maneLength = CLAMP_MAX(maneLength, 10); + + for (i = 0; i < maneLength; i++) { + maneIndex = (this->work[BFD_LEAD_MANE_SEG] - (i * 2) + 30) % 30; + + if (mode == 0) { + spB4.x = spB4.z = 0.0f; + spB4.y = ((sp140[i] * 0.1f) * 10.0f) * this->flattenMane; + phi_f20 = 0.0f; + phi_f22 = spC8[i] * this->flattenMane; + } else if (mode == 1) { + phi_f22 = (spC8[i] * this->flattenMane) * 0.7f; + phi_f20 = spF0[i] * this->flattenMane; + + spB4.y = (sp140[i] * this->flattenMane) * 0.7f; + spB4.x = -sp118[i] * this->flattenMane; + spB4.z = 0.0f; + } else { + phi_f22 = (spC8[i] * this->flattenMane) * 0.7f; + phi_f20 = -spF0[i] * this->flattenMane; + + spB4.y = (sp140[i] * this->flattenMane) * 0.7f; + spB4.x = sp118[i] * this->flattenMane; + spB4.z = 0.0f; + } + + Matrix_RotateY((maneRot + maneIndex)->y, MTXMODE_NEW); + Matrix_RotateX(-(maneRot + maneIndex)->x, MTXMODE_APPLY); + + Matrix_MultVec3f(&spB4, &spA8); + + Matrix_Translate((manePos + maneIndex)->x + spA8.x, (manePos + maneIndex)->y + spA8.y, + (manePos + maneIndex)->z + spA8.z, MTXMODE_NEW); + Matrix_RotateY((maneRot + maneIndex)->y + phi_f20, MTXMODE_APPLY); + Matrix_RotateX(-((maneRot + maneIndex)->x + phi_f22), MTXMODE_APPLY); + Matrix_Scale(maneScale[maneIndex] * (0.01f - (i * 0.0008f)), maneScale[maneIndex] * (0.01f - (i * 0.0008f)), + 0.01f, 1); + Matrix_RotateX(-M_PI / 2.0f, MTXMODE_APPLY); + gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_boss_fd.c", 4480), + G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList(POLY_XLU_DISP++, gVolvagiaManeVtxDL); + } + + CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_boss_fd.c", 4483); +} + +s32 BossFd_OverrideHeadDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* thisx) { + BossFd* this = THIS; + + switch (limbIndex) { + case 5: + case 6: + rot->z -= this->jawOpening * 0.1f; + break; + case 2: + rot->z += this->jawOpening; + break; + } + if ((this->faceExposed == true) && (limbIndex == 5)) { + *dList = gVolvagiaBrokenFaceDL; + } + if (this->skinSegments == 0) { + if (limbIndex == 6) { + *dList = gVolvagiaSkullDL; + } else if (limbIndex == 2) { + *dList = gVolvagiaJawboneDL; + } else { + *dList = NULL; + } + } + return false; +} + +void BossFd_PostHeadDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx) { + static Vec3f targetMod = { 4500.0f, 0.0f, 0.0f }; + static Vec3f headMod = { 4000.0f, 0.0f, 0.0f }; + BossFd* this = THIS; + + if (limbIndex == 5) { + Matrix_MultVec3f(&targetMod, &this->actor.focus.pos); + Matrix_MultVec3f(&headMod, &this->headPos); + } +} + +static u64* sEyeTextures[] = { gVolvagiaEyeOpenTex, gVolvagiaEyeHalfTex, gVolvagiaEyeClosedTex }; + +static Gfx* sBodyDLists[] = { + gVolvagiaBodySeg1DL, gVolvagiaBodySeg2DL, gVolvagiaBodySeg3DL, gVolvagiaBodySeg4DL, gVolvagiaBodySeg5DL, + gVolvagiaBodySeg6DL, gVolvagiaBodySeg7DL, gVolvagiaBodySeg8DL, gVolvagiaBodySeg9DL, gVolvagiaBodySeg10DL, + gVolvagiaBodySeg11DL, gVolvagiaBodySeg12DL, gVolvagiaBodySeg13DL, gVolvagiaBodySeg14DL, gVolvagiaBodySeg15DL, + gVolvagiaBodySeg16DL, gVolvagiaBodySeg17DL, gVolvagiaBodySeg18DL, +}; + +void BossFd_DrawBody(GlobalContext* globalCtx, BossFd* this) { + s16 segIndex; + s16 i; + f32 temp_float; + Mtx* tempMat = Graph_Alloc(globalCtx->state.gfxCtx, 18 * sizeof(Mtx)); + + OPEN_DISPS(globalCtx->state.gfxCtx, "../z_boss_fd.c", 4589); + if (this->skinSegments != 0) { + gSPSegment(POLY_OPA_DISP++, 0x09, SEGMENTED_TO_VIRTUAL(sEyeTextures[this->eyeState])); + } + gSPSegment(POLY_OPA_DISP++, 0x08, + Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, (s16)this->fwork[BFD_TEX1_SCROLL_X], + (s16)this->fwork[BFD_TEX1_SCROLL_Y], 0x20, 0x20, 1, (s16)this->fwork[BFD_TEX2_SCROLL_X], + (s16)this->fwork[BFD_TEX2_SCROLL_Y], 0x20, 0x20)); + gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 255, 255, 255, 255); + gDPSetEnvColor(POLY_OPA_DISP++, 255, 255, 255, (s8)this->fwork[BFD_BODY_TEX2_ALPHA]); + + osSyncPrintf("LH\n"); + Matrix_Push(); + segIndex = (this->work[BFD_LEAD_BODY_SEG] + sBodyIndex[2]) % 100; + Matrix_Translate(this->bodySegsPos[segIndex].x, this->bodySegsPos[segIndex].y, this->bodySegsPos[segIndex].z, + MTXMODE_NEW); + Matrix_RotateY(this->bodySegsRot[segIndex].y, MTXMODE_APPLY); + Matrix_RotateX(-this->bodySegsRot[segIndex].x, MTXMODE_APPLY); + Matrix_Translate(-13.0f, -5.0f, 13.0f, MTXMODE_APPLY); + Matrix_Scale(this->actor.scale.x * 0.1f, this->actor.scale.y * 0.1f, this->actor.scale.z * 0.1f, MTXMODE_APPLY); + SkelAnime_DrawOpa(globalCtx, this->skelAnimeRightArm.skeleton, this->skelAnimeRightArm.jointTable, + BossFd_OverrideRightArmDraw, NULL, this); + Matrix_Pop(); + osSyncPrintf("RH\n"); + Matrix_Push(); + segIndex = (this->work[BFD_LEAD_BODY_SEG] + sBodyIndex[2]) % 100; + Matrix_Translate(this->bodySegsPos[segIndex].x, this->bodySegsPos[segIndex].y, this->bodySegsPos[segIndex].z, + MTXMODE_NEW); + Matrix_RotateY(this->bodySegsRot[segIndex].y, MTXMODE_APPLY); + Matrix_RotateX(-this->bodySegsRot[segIndex].x, MTXMODE_APPLY); + Matrix_Translate(13.0f, -5.0f, 13.0f, MTXMODE_APPLY); + Matrix_Scale(this->actor.scale.x * 0.1f, this->actor.scale.y * 0.1f, this->actor.scale.z * 0.1f, MTXMODE_APPLY); + SkelAnime_DrawOpa(globalCtx, this->skelAnimeLeftArm.skeleton, this->skelAnimeLeftArm.jointTable, + BossFd_OverrideLeftArmDraw, NULL, this); + Matrix_Pop(); + osSyncPrintf("BD\n"); + gSPSegment(POLY_OPA_DISP++, 0x0D, tempMat); + + Matrix_Push(); + for (i = 0; i < 18; i++, tempMat++) { + segIndex = (this->work[BFD_LEAD_BODY_SEG] + sBodyIndex[i + 1]) % 100; + Matrix_Translate(this->bodySegsPos[segIndex].x, this->bodySegsPos[segIndex].y, this->bodySegsPos[segIndex].z, + MTXMODE_NEW); + Matrix_RotateY(this->bodySegsRot[segIndex].y, MTXMODE_APPLY); + Matrix_RotateX(-this->bodySegsRot[segIndex].x, MTXMODE_APPLY); + Matrix_Translate(0.0f, 0.0f, 35.0f, 1); + Matrix_Scale(this->actor.scale.x, this->actor.scale.y, this->actor.scale.z, MTXMODE_APPLY); + if (i < this->skinSegments) { + Matrix_Scale(1.0f + (Math_SinS((this->work[BFD_LEAD_BODY_SEG] * 5000.0f) + (i * 7000.0f)) * + this->fwork[BFD_BODY_PULSE]), + 1.0f + (Math_SinS((this->work[BFD_LEAD_BODY_SEG] * 5000.0f) + (i * 7000.0f)) * + this->fwork[BFD_BODY_PULSE]), + 1.0f, MTXMODE_APPLY); + Matrix_RotateY(M_PI / 2.0f, MTXMODE_APPLY); + Matrix_ToMtx(tempMat, "../z_boss_fd.c", 4719); + gSPMatrix(POLY_OPA_DISP++, tempMat, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList(POLY_OPA_DISP++, sBodyDLists[i]); + } else { + MtxF spFC; + Vec3f spF0 = { 0.0f, 0.0f, 0.0f }; + Vec3f spE4; + Vec3s spDC; + f32 padD8; + + if (this->bodyFallApart[i] < 2) { + f32 spD4 = 0.1f; + + temp_float = 0.1f; + Matrix_Translate(0.0f, 0.0f, -1100.0f, MTXMODE_APPLY); + Matrix_RotateY(-M_PI, MTXMODE_APPLY); + if (i >= 14) { + f32 sp84 = 1.0f - ((i - 14) * 0.2f); + + Matrix_Scale(sp84, sp84, 1.0f, 1); + spD4 = 0.1f * sp84; + temp_float = 0.1f * sp84; + } + Matrix_Scale(0.1f, 0.1f, 0.1f, MTXMODE_APPLY); + gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_boss_fd.c", 4768), + G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList(POLY_OPA_DISP++, gVolvagiaRibsDL); + + if (this->bodyFallApart[i] == 1) { + EnVbBall* bones; + + this->bodyFallApart[i] = 2; + Matrix_MultVec3f(&spF0, &spE4); + Matrix_Get(&spFC); + func_800D20CC(&spFC, &spDC, 0); + bones = + (EnVbBall*)Actor_SpawnAsChild(&globalCtx->actorCtx, &this->actor, globalCtx, ACTOR_EN_VB_BALL, + spE4.x, spE4.y, spE4.z, spDC.x, spDC.y, spDC.z, i + 200); + + bones->actor.scale.x = this->actor.scale.x * temp_float; + bones->actor.scale.y = this->actor.scale.y * spD4; + bones->actor.scale.z = this->actor.scale.z * 0.1f; + } + } + } + if (i > 0) { + Collider_UpdateSpheres(i + 1, &this->collider); + } + } + Matrix_Pop(); + osSyncPrintf("BH\n"); + + gDPPipeSync(POLY_OPA_DISP++); + gDPSetEnvColor(POLY_OPA_DISP++, 255, 255, 255, (s8)this->fwork[BFD_HEAD_TEX2_ALPHA]); + Matrix_Push(); + temp_float = + (this->work[BFD_ACTION_STATE] >= BOSSFD_SKULL_FALL) ? -20.0f : -10.0f - ((this->actor.speedXZ - 5.0f) * 10.0f); + segIndex = (this->work[BFD_LEAD_BODY_SEG] + sBodyIndex[0]) % 100; + Matrix_Translate(this->bodySegsPos[segIndex].x, this->bodySegsPos[segIndex].y, this->bodySegsPos[segIndex].z, + MTXMODE_NEW); + Matrix_RotateY(this->bodySegsRot[segIndex].y, MTXMODE_APPLY); + Matrix_RotateX(-this->bodySegsRot[segIndex].x, MTXMODE_APPLY); + Matrix_RotateZ((this->actor.shape.rot.z / (f32)0x8000) * M_PI, MTXMODE_APPLY); + Matrix_Translate(0.0f, 0.0f, temp_float, MTXMODE_APPLY); + Matrix_Push(); + Matrix_Translate(0.0f, 0.0f, 25.0f, MTXMODE_APPLY); + osSyncPrintf("BHC\n"); + Collider_UpdateSpheres(0, &this->collider); + Matrix_Pop(); + osSyncPrintf("BHCE\n"); + Matrix_Scale(this->actor.scale.x * 0.1f, this->actor.scale.y * 0.1f, this->actor.scale.z * 0.1f, MTXMODE_APPLY); + SkelAnime_DrawOpa(globalCtx, this->skelAnimeHead.skeleton, this->skelAnimeHead.jointTable, BossFd_OverrideHeadDraw, + BossFd_PostHeadDraw, &this->actor); + osSyncPrintf("SK\n"); + { + Vec3f spB0 = { 0.0f, 1700.0f, 7000.0f }; + Vec3f spA4 = { -1000.0f, 700.0f, 7000.0f }; + + func_80093D84(globalCtx->state.gfxCtx); + gSPDisplayList(POLY_XLU_DISP++, gVolvagiaManeSetupDL); + gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 255, this->fwork[BFD_MANE_COLOR_CENTER], 0, 255); + Matrix_Push(); + Matrix_MultVec3f(&spB0, &this->centerMane.head); + BossFd_DrawMane(globalCtx, this, this->centerMane.pos, this->fireManeRot, this->centerMane.scale, MANE_CENTER); + Matrix_Pop(); + gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 255, this->fwork[BFD_MANE_COLOR_RIGHT], 0, 255); + Matrix_Push(); + Matrix_MultVec3f(&spA4, &this->rightMane.head); + BossFd_DrawMane(globalCtx, this, this->rightMane.pos, this->fireManeRot, this->rightMane.scale, MANE_RIGHT); + Matrix_Pop(); + gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 255, this->fwork[BFD_MANE_COLOR_LEFT], 0, 255); + Matrix_Push(); + spA4.x *= -1.0f; + Matrix_MultVec3f(&spA4, &this->leftMane.head); + BossFd_DrawMane(globalCtx, this, this->leftMane.pos, this->fireManeRot, this->leftMane.scale, MANE_LEFT); + Matrix_Pop(); + } + + Matrix_Pop(); + osSyncPrintf("END\n"); + CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_boss_fd.c", 4987); +} diff --git a/src/overlays/actors/ovl_Boss_Fd/z_boss_fd.h b/src/overlays/actors/ovl_Boss_Fd/z_boss_fd.h index ea3351936a..eafc002d5a 100644 --- a/src/overlays/actors/ovl_Boss_Fd/z_boss_fd.h +++ b/src/overlays/actors/ovl_Boss_Fd/z_boss_fd.h @@ -6,9 +6,180 @@ struct BossFd; +typedef void (*BossFdActionFunc)(struct BossFd*, GlobalContext*); + +typedef enum { + /* -1 */ BOSSFD_WAIT_INTRO = -1, + /* 0 */ BOSSFD_FLY_MAIN, + /* 1 */ BOSSFD_FLY_HOLE, + /* 2 */ BOSSFD_BURROW, + /* 3 */ BOSSFD_EMERGE, + /* 50 */ BOSSFD_FLY_CEILING = 50, + /* 51 */ BOSSFD_DROP_ROCKS, + /* 100 */ BOSSFD_FLY_CHASE = 100, + /* 101 */ BOSSFD_FLY_UNUSED, + /* 200 */ BOSSFD_DEATH_START = 200, + /* 201 */ BOSSFD_SKIN_BURN, + /* 202 */ BOSSFD_BONES_FALL, + /* 203 */ BOSSFD_SKULL_PAUSE, + /* 204 */ BOSSFD_SKULL_FALL, + /* 205 */ BOSSFD_SKULL_BURN +} BossFdActionState; + +typedef enum { + /* 0 */ BFD_CS_NONE, + /* 1 */ BFD_CS_WAIT, + /* 2 */ BFD_CS_START, + /* 3 */ BFD_CS_LOOK_LINK, + /* 4 */ BFD_CS_LOOK_GROUND, + /* 5 */ BFD_CS_COLLAPSE, + /* 6 */ BFD_CS_EMERGE +} BossFdCutsceneState; + +typedef struct { + /* 0x00 */ Vec3f pos; + /* 0x0C */ Vec3f velocity; + /* 0x18 */ Vec3f accel; + /* 0x24 */ u8 type; + /* 0x25 */ u8 timer1; + /* 0x26 */ Color_RGB8 color; + /* 0x2A */ s16 alpha; + /* 0x2C */ s16 timer2; + /* 0x2E */ s16 kbAngle; + /* 0x30 */ f32 scale; + /* 0x34 */ f32 bFdFxFloat1; + /* 0x38 */ f32 bFdFxFloat2; +} BossFdEffect; // size = 0x3C + +#define BOSSFD_EFFECT_COUNT 180 + +#define vFdFxRotX bFdFxFloat1 +#define vFdFxScaleMod bFdFxFloat1 +#define vFdFxRotY bFdFxFloat2 +#define vFdFxYStop bFdFxFloat2 + +typedef enum { + /* 0 */ BFD_FX_NONE, + /* 1 */ BFD_FX_EMBER, + /* 2 */ BFD_FX_DEBRIS, + /* 3 */ BFD_FX_DUST, + /* 4 */ BFD_FX_FIRE_BREATH, + /* 5 */ BFD_FX_SKULL_PIECE +} BossFdEffectType; + +typedef struct { + /* 0x000 */ Vec3f pos[30]; + /* 0x168 */ f32 scale[30]; + /* 0x1E0 */ Vec3f head; +} BossFdMane; // size = 0x1EC + +typedef struct { + /* 0x00 */ Vec3f eye; + /* 0x0C */ Vec3f at; + /* 0x18 */ Vec3f pad[2]; + /* 0x30 */ Vec3f eyeVel; + /* 0x3C */ Vec3f atVel; + /* 0x48 */ Vec3f nextEye; + /* 0x54 */ Vec3f eyeMaxVel; + /* 0x60 */ Vec3f nextAt; + /* 0x6C */ Vec3f atMaxVel; + /* 0x78 */ f32 speedMod; + /* 0x7C */ f32 accel; + /* 0x80 */ f32 yMod; + /* 0x84 */ f32 shake; +} BossFdCam; // size = 0x88 + +typedef enum { + /* 0 */ BFD_ACTION_STATE, + /* 1 */ BFD_MOVE_TIMER, + /* 2 */ BFD_VAR_TIMER, + /* 3 */ BFD_LEAD_BODY_SEG, + /* 4 */ BFD_LEAD_MANE_SEG, + /* 5 */ BFD_BLINK_TIMER, + /* 6 */ BFD_ROAR_TIMER, + /* 7 */ BFD_DAMAGE_FLASH_TIMER, + /* 8 */ BFD_START_ATTACK, + /* 9 */ BFD_UNK_234, + /* 10 */ BFD_UNK_236, + /* 11 */ BFD_MANE_EMBERS_TIMER, + /* 12 */ BFD_ROCK_TIMER, + /* 13 */ BFD_CEILING_TARGET, + /* 14 */ BFD_INVINC_TIMER, + /* 15 */ BFD_SPLASH_TIMER, + /* 16 */ BFD_CAM_SHAKE_TIMER, + /* 17 */ BFD_STOP_FLAG, + /* 18 */ BFD_FLY_COUNT, + /* 19 */ BFD_SHORT_COUNT +} BossFdS16Var; + +typedef enum { + /* 0 */ BFD_TEX1_SCROLL_X, + /* 1 */ BFD_TEX1_SCROLL_Y, + /* 2 */ BFD_TEX2_SCROLL_X, + /* 3 */ BFD_TEX2_SCROLL_Y, + /* 4 */ BFD_UNUSED_F4, + /* 5 */ BFD_UNUSED_F5, + /* 6 */ BFD_UNUSED_F6, + /* 7 */ BFD_BODY_TEX2_ALPHA, + /* 8 */ BFD_HEAD_TEX2_ALPHA, + /* 9 */ BFD_TARGET_Y_OFFSET, + /* 10 */ BFD_CEILING_BOUNCE, + /* 11 */ BFD_BODY_PULSE, + /* 12 */ BFD_MANE_COLOR_CENTER, + /* 13 */ BFD_MANE_COLOR_RIGHT, + /* 14 */ BFD_MANE_COLOR_LEFT, + /* 15 */ BFD_MANE_EMBER_SPEED, + /* 16 */ BFD_MANE_EMBER_RATE, + /* 17 */ BFD_UNUSED_F17, + /* 18 */ BFD_UNUSED_F18, + /* 19 */ BFD_UNUSED_F19, + /* 20 */ BFD_FLY_SPEED, + /* 21 */ BFD_TURN_RATE, + /* 22 */ BFD_TURN_RATE_MAX, + /* 23 */ BFD_FLY_WOBBLE_AMP, + /* 24 */ BFD_FLY_WOBBLE_RATE, + /* 25 */ BFD_UNUSED_F25, + /* 26 */ BFD_FLOAT_COUNT +} BossFdF32Var; + typedef struct BossFd { /* 0x0000 */ Actor actor; - /* 0x014C */ char unk_14C[0x4254]; + /* 0x014C */ SkelAnime skelAnimeHead; + /* 0x0190 */ SkelAnime skelAnimeRightArm; + /* 0x01D4 */ SkelAnime skelAnimeLeftArm; + /* 0x0218 */ BossFdActionFunc actionFunc; + /* 0x021C */ s16 fireBreathTimer; + /* 0x021E */ s16 skinSegments; + /* 0x0220 */ u8 fogMode; + /* 0x0222 */ s16 work[BFD_SHORT_COUNT]; + /* 0x0248 */ s16 timers[6]; + /* 0x0254 */ f32 fwork[BFD_FLOAT_COUNT]; + /* 0x02BC */ Vec3f targetPosition; + /* 0x02C8 */ Vec3f holePosition; + /* 0x02D4 */ u8 holeIndex; + /* 0x02D5 */ u8 eyeState; + /* 0x02D6 */ u8 platformSignal; + /* 0x02D7 */ u8 faceExposed; + /* 0x02D8 */ u8 handoffSignal; + /* 0x02DC */ Vec3f bodySegsRot[100]; + /* 0x078C */ Vec3f bodySegsPos[100]; + /* 0x0C3C */ Vec3f rightArmRot[4]; + /* 0x0C6C */ Vec3f leftArmRot[4]; + /* 0x0C9C */ Vec3f fireManeRot[30]; + /* 0x0E04 */ BossFdMane centerMane; + /* 0x0FF0 */ BossFdMane rightMane; + /* 0x11DC */ BossFdMane leftMane; + /* 0x13C8 */ f32 flattenMane; + /* 0x13CC */ f32 jawOpening; + /* 0x13D0 */ s16 bodyFallApart[18]; + /* 0x13F4 */ Vec3f headPos; + /* 0x1400 */ s16 introFlyState; + /* 0x1402 */ s16 introState; + /* 0x1404 */ s16 introCamera; + /* 0x1408 */ BossFdCam camData; + /* 0x1490 */ ColliderJntSph collider; + /* 0x14B0 */ ColliderJntSphElement elements[19]; + /* 0x1970 */ BossFdEffect effects[180]; } BossFd; // size = 0x43A0 extern const ActorInit Boss_Fd_InitVars; diff --git a/src/overlays/actors/ovl_Boss_Fd/z_boss_fd_colchk.c b/src/overlays/actors/ovl_Boss_Fd/z_boss_fd_colchk.c new file mode 100644 index 0000000000..c7b6a8b809 --- /dev/null +++ b/src/overlays/actors/ovl_Boss_Fd/z_boss_fd_colchk.c @@ -0,0 +1,226 @@ +#include "global.h" + +static ColliderJntSphElementInit sJntSphItemsInit[19] = { + { + { + ELEMTYPE_UNK3, + { 0xFFCFFFFF, 0x00, 0x10 }, + { 0xFFCDFFFE, 0x00, 0x00 }, + TOUCH_ON | TOUCH_SFX_NORMAL, + BUMP_ON, + OCELEM_ON, + }, + { 0, { { 0, 0, 0 }, 20 }, 100 }, + }, + { + { + ELEMTYPE_UNK2, + { 0xFFCFFFFF, 0x00, 0x10 }, + { 0xFFCDFFFE, 0x00, 0x00 }, + TOUCH_ON | TOUCH_SFX_NORMAL, + BUMP_NONE, + OCELEM_ON, + }, + { 1, { { 0, 0, 0 }, 20 }, 100 }, + }, + { + { + ELEMTYPE_UNK2, + { 0xFFCFFFFF, 0x00, 0x10 }, + { 0xFFCDFFFE, 0x00, 0x00 }, + TOUCH_ON | TOUCH_SFX_NORMAL, + BUMP_NONE, + OCELEM_ON, + }, + { 2, { { 0, 0, 0 }, 20 }, 100 }, + }, + { + { + ELEMTYPE_UNK2, + { 0xFFCFFFFF, 0x00, 0x10 }, + { 0xFFCDFFFE, 0x00, 0x00 }, + TOUCH_ON | TOUCH_SFX_NORMAL, + BUMP_NONE, + OCELEM_ON, + }, + { 3, { { 0, 0, 0 }, 20 }, 100 }, + }, + { + { + ELEMTYPE_UNK2, + { 0xFFCFFFFF, 0x00, 0x10 }, + { 0xFFCDFFFE, 0x00, 0x00 }, + TOUCH_ON | TOUCH_SFX_NORMAL, + BUMP_NONE, + OCELEM_ON, + }, + { 4, { { 0, 0, 0 }, 20 }, 100 }, + }, + { + { + ELEMTYPE_UNK2, + { 0xFFCFFFFF, 0x00, 0x10 }, + { 0xFFCDFFFE, 0x00, 0x00 }, + TOUCH_ON | TOUCH_SFX_NORMAL, + BUMP_NONE, + OCELEM_ON, + }, + { 5, { { 0, 0, 0 }, 20 }, 100 }, + }, + { + { + ELEMTYPE_UNK2, + { 0xFFCFFFFF, 0x00, 0x10 }, + { 0xFFCDFFFE, 0x00, 0x00 }, + TOUCH_ON | TOUCH_SFX_NORMAL, + BUMP_NONE, + OCELEM_ON, + }, + { 6, { { 0, 0, 0 }, 20 }, 100 }, + }, + { + { + ELEMTYPE_UNK2, + { 0xFFCFFFFF, 0x00, 0x10 }, + { 0xFFCDFFFE, 0x00, 0x00 }, + TOUCH_ON | TOUCH_SFX_NORMAL, + BUMP_NONE, + OCELEM_ON, + }, + { 7, { { 0, 0, 0 }, 20 }, 100 }, + }, + { + { + ELEMTYPE_UNK2, + { 0xFFCFFFFF, 0x00, 0x10 }, + { 0xFFCDFFFE, 0x00, 0x00 }, + TOUCH_ON | TOUCH_SFX_NORMAL, + BUMP_NONE, + OCELEM_ON, + }, + { 8, { { 0, 0, 0 }, 20 }, 100 }, + }, + { + { + ELEMTYPE_UNK2, + { 0xFFCFFFFF, 0x00, 0x10 }, + { 0xFFCDFFFE, 0x00, 0x00 }, + TOUCH_ON | TOUCH_SFX_NORMAL, + BUMP_NONE, + OCELEM_ON, + }, + { 9, { { 0, 0, 0 }, 20 }, 100 }, + }, + { + { + ELEMTYPE_UNK2, + { 0xFFCFFFFF, 0x00, 0x10 }, + { 0xFFCDFFFE, 0x00, 0x00 }, + TOUCH_ON | TOUCH_SFX_NORMAL, + BUMP_NONE, + OCELEM_ON, + }, + { 10, { { 0, 0, 0 }, 20 }, 100 }, + }, + { + { + ELEMTYPE_UNK2, + { 0xFFCFFFFF, 0x00, 0x10 }, + { 0xFFCDFFFE, 0x00, 0x00 }, + TOUCH_ON | TOUCH_SFX_NORMAL, + BUMP_NONE, + OCELEM_ON, + }, + { 11, { { 0, 0, 0 }, 20 }, 100 }, + }, + { + { + ELEMTYPE_UNK2, + { 0xFFCFFFFF, 0x00, 0x10 }, + { 0xFFCDFFFE, 0x00, 0x00 }, + TOUCH_ON | TOUCH_SFX_NORMAL, + BUMP_NONE, + OCELEM_ON, + }, + { 12, { { 0, 0, 0 }, 20 }, 100 }, + }, + { + { + ELEMTYPE_UNK2, + { 0xFFCFFFFF, 0x00, 0x10 }, + { 0xFFCDFFFE, 0x00, 0x00 }, + TOUCH_ON | TOUCH_SFX_NORMAL, + BUMP_NONE, + OCELEM_ON, + }, + { 13, { { 0, 0, 0 }, 20 }, 100 }, + }, + { + { + ELEMTYPE_UNK2, + { 0xFFCFFFFF, 0x00, 0x10 }, + { 0xFFCDFFFE, 0x00, 0x00 }, + TOUCH_ON | TOUCH_SFX_NORMAL, + BUMP_NONE, + OCELEM_ON, + }, + { 14, { { 0, 0, 0 }, 18 }, 100 }, + }, + { + { + ELEMTYPE_UNK2, + { 0xFFCFFFFF, 0x00, 0x10 }, + { 0xFFCDFFFE, 0x00, 0x00 }, + TOUCH_ON | TOUCH_SFX_NORMAL, + BUMP_NONE, + OCELEM_ON, + }, + { 15, { { 0, 0, 0 }, 16 }, 100 }, + }, + { + { + ELEMTYPE_UNK2, + { 0xFFCFFFFF, 0x00, 0x10 }, + { 0xFFCDFFFE, 0x00, 0x00 }, + TOUCH_ON | TOUCH_SFX_NORMAL, + BUMP_NONE, + OCELEM_ON, + }, + { 16, { { 0, 0, 0 }, 14 }, 100 }, + }, + { + { + ELEMTYPE_UNK2, + { 0xFFCFFFFF, 0x00, 0x10 }, + { 0xFFCDFFFE, 0x00, 0x00 }, + TOUCH_ON | TOUCH_SFX_NORMAL, + BUMP_NONE, + OCELEM_ON, + }, + { 17, { { 0, 0, 0 }, 12 }, 100 }, + }, + { + { + ELEMTYPE_UNK2, + { 0xFFCFFFFF, 0x00, 0x10 }, + { 0xFFCDFFFE, 0x00, 0x00 }, + TOUCH_ON | TOUCH_SFX_NORMAL, + BUMP_NONE, + OCELEM_ON, + }, + { 18, { { 0, 0, 0 }, 10 }, 100 }, + }, +}; + +static ColliderJntSphInit sJntSphInit = { + { + COLTYPE_METAL, + AT_ON | AT_TYPE_ENEMY, + AC_ON | AC_TYPE_PLAYER, + OC1_ON | OC1_TYPE_PLAYER, + OC2_TYPE_1, + COLSHAPE_JNTSPH, + }, + 19, + sJntSphItemsInit, +}; diff --git a/src/overlays/actors/ovl_Boss_Fd2/z_boss_fd2.c b/src/overlays/actors/ovl_Boss_Fd2/z_boss_fd2.c index fa31868e05..95ff3a7d47 100644 --- a/src/overlays/actors/ovl_Boss_Fd2/z_boss_fd2.c +++ b/src/overlays/actors/ovl_Boss_Fd2/z_boss_fd2.c @@ -1,15 +1,52 @@ +/* + * File: z_boss_fd2.c + * Overlay: ovl_Boss_Fd2 + * Description: Volvagia, hole form + */ + #include "z_boss_fd2.h" +#include "objects/object_fd2/object_fd2.h" +#include "overlays/actors/ovl_Boss_Fd/z_boss_fd.h" +#include "vt.h" #define FLAGS 0x00000035 #define THIS ((BossFd2*)thisx) +typedef enum { + /* 0 */ DEATH_START, + /* 1 */ DEATH_RETREAT, + /* 2 */ DEATH_HANDOFF, + /* 3 */ DEATH_FD_BODY, + /* 4 */ DEATH_FD_SKULL, + /* 5 */ DEATH_FINISH +} BossFd2CutsceneState; + +typedef enum { + /* 0 */ EYE_OPEN, + /* 1 */ EYE_HALF, + /* 2 */ EYE_CLOSED +} BossFd2EyeState; + void BossFd2_Init(Actor* thisx, GlobalContext* globalCtx); void BossFd2_Destroy(Actor* thisx, GlobalContext* globalCtx); void BossFd2_Update(Actor* thisx, GlobalContext* globalCtx); void BossFd2_Draw(Actor* thisx, GlobalContext* globalCtx); -/* +void BossFd2_SetupEmerge(BossFd2* this, GlobalContext* globalCtx); +void BossFd2_Emerge(BossFd2* this, GlobalContext* globalCtx); +void BossFd2_SetupIdle(BossFd2* this, GlobalContext* globalCtx); +void BossFd2_Idle(BossFd2* this, GlobalContext* globalCtx); +void BossFd2_Burrow(BossFd2* this, GlobalContext* globalCtx); +void BossFd2_SetupBreatheFire(BossFd2* this, GlobalContext* globalCtx); +void BossFd2_BreatheFire(BossFd2* this, GlobalContext* globalCtx); +void BossFd2_SetupClawSwipe(BossFd2* this, GlobalContext* globalCtx); +void BossFd2_ClawSwipe(BossFd2* this, GlobalContext* globalCtx); +void BossFd2_Vulnerable(BossFd2* this, GlobalContext* globalCtx); +void BossFd2_Damaged(BossFd2* this, GlobalContext* globalCtx); +void BossFd2_Death(BossFd2* this, GlobalContext* globalCtx); +void BossFd2_Wait(BossFd2* this, GlobalContext* globalCtx); + const ActorInit Boss_Fd2_InitVars = { ACTOR_BOSS_FD2, ACTORCAT_BOSS, @@ -22,183 +59,1160 @@ const ActorInit Boss_Fd2_InitVars = { (ActorFunc)BossFd2_Draw, }; -static ColliderJntSphElementInit D_808D5FD0[9] = { - { - { - ELEMTYPE_UNK3, - { 0xFFCFFFFF, 0x00, 0x20 }, - { 0xFFCDFFFE, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON | BUMP_HOOKABLE, - OCELEM_ON, - }, - { 35, { { 6000, 0, 0 }, 21 }, 100 }, - }, - { - { - ELEMTYPE_UNK2, - { 0xFFCFFFFF, 0x00, 0x20 }, - { 0xFFCDFFFE, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_NONE, - OCELEM_ON, - }, - { 18, { { 4000, 0, 0 }, 13 }, 100 }, - }, - { - { - ELEMTYPE_UNK2, - { 0xFFCFFFFF, 0x00, 0x20 }, - { 0xFFCDFFFE, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_NONE, - OCELEM_ON, - }, - { 19, { { 3000, 0, 0 }, 13 }, 100 }, - }, - { - { - ELEMTYPE_UNK2, - { 0xFFCFFFFF, 0x00, 0x20 }, - { 0xFFCDFFFE, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_NONE, - OCELEM_ON, - }, - { 20, { { 4000, 0, 0 }, 15 }, 100 }, - }, - { - { - ELEMTYPE_UNK2, - { 0xFFCFFFFF, 0x00, 0x20 }, - { 0xFFCDFFFE, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_NONE, - OCELEM_ON, - }, - { 24, { { 4000, 0, 0 }, 13 }, 100 }, - }, - { - { - ELEMTYPE_UNK2, - { 0xFFCFFFFF, 0x00, 0x20 }, - { 0xFFCDFFFE, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_NONE, - OCELEM_ON, - }, - { 25, { { 3000, 0, 0 }, 13 }, 100 }, - }, - { - { - ELEMTYPE_UNK2, - { 0xFFCFFFFF, 0x00, 0x20 }, - { 0xFFCDFFFE, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_NONE, - OCELEM_ON, - }, - { 26, { { 3500, 1500, 0 }, 15 }, 100 }, - }, - { - { - ELEMTYPE_UNK2, - { 0xFFCFFFFF, 0x00, 0x20 }, - { 0xFFCDFFFE, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_NONE, - OCELEM_ON, - }, - { 17, { { 0, 0, 0 }, 26 }, 100 }, - }, - { - { - ELEMTYPE_UNK2, - { 0xFFCFFFFF, 0x00, 0x20 }, - { 0xFFCDFFFE, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_NONE, - OCELEM_ON, - }, - { 30, { { 0, 0, 0 }, 17 }, 100 }, - }, +#include "z_boss_fd2_colchk.c" + +static Vec3f sHoleLocations[] = { + { 0.0f, 90.0f, -243.0f }, { 0.0f, 90.0f, 0.0f }, { 0.0f, 90.0f, 243.0f }, + { -243.0f, 90.0f, -243.0f }, { -243.0f, 90.0f, 0.0f }, { -243.0f, 90.0f, 243.0f }, + { 243.0f, 90.0f, -243.0f }, { 243.0f, 90.0f, 0.0f }, { 243.0f, 90.0f, 243.0f }, }; -static ColliderJntSphInit D_808D6114 = { - { - COLTYPE_METAL, - AT_ON | AT_TYPE_ENEMY, - AC_ON | AC_TYPE_PLAYER, - OC1_ON | OC1_TYPE_PLAYER, - OC2_TYPE_1, - COLSHAPE_JNTSPH, - }, - 9, - D_808D5FD0, +static InitChainEntry sInitChain[] = { + ICHAIN_U8(targetMode, 5, ICHAIN_CONTINUE), + ICHAIN_S8(naviEnemyId, 33, ICHAIN_CONTINUE), + ICHAIN_F32_DIV1000(gravity, 0, ICHAIN_CONTINUE), + ICHAIN_F32(targetArrowOffset, 0, ICHAIN_STOP), }; -*/ -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D2670.s") -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D2748.s") +void BossFd2_SpawnDebris(GlobalContext* globalCtx, BossFdEffect* effect, Vec3f* position, Vec3f* velocity, + Vec3f* acceleration, f32 scale) { + s16 i; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D285C.s") + for (i = 0; i < 180; i++, effect++) { + if (effect->type == BFD_FX_NONE) { + effect->type = BFD_FX_DEBRIS; + effect->pos = *position; + effect->velocity = *velocity; + effect->accel = *acceleration; + effect->scale = scale / 1000.0f; + effect->vFdFxRotX = Rand_ZeroFloat(100.0f); + effect->vFdFxRotY = Rand_ZeroFloat(100.0f); + break; + } + } +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D2930.s") +void BossFd2_SpawnFireBreath(GlobalContext* globalCtx, BossFdEffect* effect, Vec3f* position, Vec3f* velocity, + Vec3f* acceleration, f32 scale, s16 alpha, s16 kbAngle) { + s16 i; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D2A08.s") + for (i = 0; i < 180; i++, effect++) { + if (effect->type == BFD_FX_NONE) { + effect->type = BFD_FX_FIRE_BREATH; + effect->timer1 = 0; + effect->pos = *position; + effect->velocity = *velocity; + effect->accel = *acceleration; + effect->pos.x -= effect->velocity.x; + effect->pos.y -= effect->velocity.y; + effect->pos.z -= effect->velocity.z; + effect->vFdFxScaleMod = 0.0f; + effect->alpha = alpha; + effect->vFdFxYStop = Rand_ZeroFloat(10.0f); + effect->timer2 = 0; + effect->scale = scale / 400.0f; + effect->kbAngle = kbAngle; + break; + } + } +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Boss_Fd2/BossFd2_Init.s") +void BossFd2_SpawnEmber(GlobalContext* globalCtx, BossFdEffect* effect, Vec3f* position, Vec3f* velocity, + Vec3f* acceleration, f32 scale) { + s16 i; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Boss_Fd2/BossFd2_Destroy.s") + for (i = 0; i < 180; i++, effect++) { + if (effect->type == 0) { + effect->type = BFD_FX_EMBER; + effect->pos = *position; + effect->velocity = *velocity; + effect->accel = *acceleration; + effect->scale = scale / 1000.0f; + effect->alpha = 255; + effect->timer1 = (s16)Rand_ZeroFloat(10.0f); + break; + } + } +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D2BD0.s") +void BossFd2_SpawnSkullPiece(GlobalContext* globalCtx, BossFdEffect* effect, Vec3f* position, Vec3f* velocity, + Vec3f* acceleration, f32 scale) { + s16 i; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D2CE0.s") + for (i = 0; i < 180; i++, effect++) { + if (effect->type == BFD_FX_NONE) { + effect->type = BFD_FX_SKULL_PIECE; + effect->pos = *position; + effect->velocity = *velocity; + effect->accel = *acceleration; + effect->scale = scale / 1000.0f; + effect->vFdFxRotX = Rand_ZeroFloat(100.0f); + effect->vFdFxRotY = Rand_ZeroFloat(100.0f); + break; + } + } +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D308C.s") +void BossFd2_SpawnDust(BossFdEffect* effect, Vec3f* position, Vec3f* velocity, Vec3f* acceleration, f32 scale) { + s16 i; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D3140.s") + for (i = 0; i < 180; i++, effect++) { + if (effect->type == BFD_FX_NONE) { + effect->type = BFD_FX_DUST; + effect->pos = *position; + effect->velocity = *velocity; + effect->accel = *acceleration; + effect->timer2 = 0; + effect->scale = scale / 400.0f; + break; + } + } +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D32B4.s") +void BossFd2_Init(Actor* thisx, GlobalContext* globalCtx) { + s32 pad; + BossFd2* this = THIS; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D3330.s") + Actor_ProcessInitChain(&this->actor, sInitChain); + Actor_SetScale(&this->actor, 0.0069999993f); + this->actor.world.pos.y = -850.0f; + ActorShape_Init(&this->actor.shape, -580.0f / this->actor.scale.y, NULL, 0.0f); + SkelAnime_InitFlex(globalCtx, &this->skelAnime, &gHoleVolvagiaSkel, &gHoleVolvagiaIdleAnim, NULL, NULL, 0); + if (this->actor.params == BFD_CS_NONE) { + BossFd2_SetupEmerge(this, globalCtx); + } else { + this->actionFunc = BossFd2_Wait; + } + Collider_InitJntSph(globalCtx, &this->collider); + Collider_SetJntSph(globalCtx, &this->collider, &this->actor, &sJntSphInit, this->elements); +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D3400.s") +void BossFd2_Destroy(Actor* thisx, GlobalContext* globalCtx) { + s32 pad; + BossFd2* this = THIS; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D3464.s") + SkelAnime_Free(&this->skelAnime, globalCtx); + Collider_DestroyJntSph(globalCtx, &this->collider); +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D39A8.s") +void BossFd2_SetupEmerge(BossFd2* this, GlobalContext* globalCtx) { + BossFd* bossFd = (BossFd*)this->actor.parent; + s16 temp_rand; + s8 health; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D3A08.s") + osSyncPrintf("UP INIT 1\n"); + Animation_PlayOnce(&this->skelAnime, &gHoleVolvagiaEmergeAnim); + this->actionFunc = BossFd2_Emerge; + this->skelAnime.playSpeed = 0.0f; + temp_rand = Rand_ZeroFloat(8.9f); + this->actor.world.pos.x = sHoleLocations[temp_rand].x; + this->actor.world.pos.z = sHoleLocations[temp_rand].z; + this->work[FD2_ACTION_STATE] = 0; + osSyncPrintf("UP INIT 2\n"); + this->timers[0] = 10; + if (bossFd != NULL) { + health = bossFd->actor.colChkInfo.health; + if (health >= 18) { + this->work[FD2_FAKEOUT_COUNT] = 0; + } else if (health >= 12) { + this->work[FD2_FAKEOUT_COUNT] = 1; + } else if (health >= 6) { + this->work[FD2_FAKEOUT_COUNT] = 2; + } else { + this->work[FD2_FAKEOUT_COUNT] = 3; + } + } +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D3A80.s") +void BossFd2_Emerge(BossFd2* this, GlobalContext* globalCtx) { + s8 health; + BossFd* bossFd = (BossFd*)this->actor.parent; + Player* player = PLAYER; + s16 i; + s16 holeTime; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D3AE0.s") + osSyncPrintf("UP 1 mode %d\n", this->work[FD2_ACTION_STATE]); + SkelAnime_Update(&this->skelAnime); + osSyncPrintf("UP 1.5 \n"); + switch (this->work[FD2_ACTION_STATE]) { + case 0: + osSyncPrintf("UP time %d \n", this->timers[0]); + osSyncPrintf("PL time %x \n", player); + osSyncPrintf("MT time %x \n", bossFd); + if ((this->timers[0] == 0) && (player->actor.world.pos.y > 70.0f)) { + osSyncPrintf("UP 1.6 \n"); + bossFd->faceExposed = 0; + bossFd->holePosition.x = this->actor.world.pos.x; + bossFd->holePosition.z = this->actor.world.pos.z; + func_80033E1C(globalCtx, 1, 0x32, 0x5000); + this->work[FD2_ACTION_STATE] = 1; + this->work[FD2_HOLE_COUNTER]++; + this->actor.world.pos.y = -200.0f; + health = bossFd->actor.colChkInfo.health; + if (health == 24) { + holeTime = 30; + } else if (health >= 18) { + holeTime = 25; + } else if (health >= 12) { + holeTime = 20; + } else if (health >= 6) { + holeTime = 10; + } else { + holeTime = 5; + } + this->timers[0] = holeTime; + bossFd->timers[4] = this->timers[0] + 10; + osSyncPrintf("UP 1.7 \n"); + } + break; + case 1: + if (this->timers[0] == 0) { + if (this->work[FD2_FAKEOUT_COUNT] != 0) { + this->work[FD2_FAKEOUT_COUNT]--; + i = Rand_ZeroFloat(8.9f); + this->actor.world.pos.x = sHoleLocations[i].x; + this->actor.world.pos.z = sHoleLocations[i].z; + this->work[FD2_ACTION_STATE] = 0; + this->timers[0] = 10; + } else { + this->skelAnime.playSpeed = 1.0f; + this->fwork[FD2_END_FRAME] = Animation_GetLastFrame(&gHoleVolvagiaEmergeAnim); + this->work[FD2_ACTION_STATE] = 2; + Audio_PlayActorSound2(&this->actor, NA_SE_EN_VALVAISA_ROAR); + this->actor.shape.rot.y = this->actor.yawTowardsPlayer; + this->timers[0] = 15; + this->actor.world.pos.y = 150.0f; + for (i = 0; i < 10; i++) { + this->rightMane.pos[i].x += Rand_CenteredFloat(100.0f); + this->rightMane.pos[i].z += Rand_CenteredFloat(100.0f); + this->leftMane.pos[i].x += Rand_CenteredFloat(100.0f); + this->leftMane.pos[i].z += Rand_CenteredFloat(100.0f); + } + bossFd->work[BFD_SPLASH_TIMER] = 5; + } + } + break; + case 2: + Math_ApproachS(&this->actor.shape.rot.y, this->actor.yawTowardsPlayer, 3, 0x7D0); + if ((this->timers[0] == 1) && (this->actor.xzDistToPlayer < 120.0f)) { + func_8002F6D4(globalCtx, &this->actor, 3.0f, this->actor.yawTowardsPlayer, 2.0f, 0x20); + Audio_PlayActorSound2(&player->actor, NA_SE_PL_BODY_HIT); + } + if (Animation_OnFrame(&this->skelAnime, this->fwork[FD2_END_FRAME])) { + BossFd2_SetupIdle(this, globalCtx); + } + break; + } + osSyncPrintf("UP 2\n"); +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D3D38.s") +void BossFd2_SetupIdle(BossFd2* this, GlobalContext* globalCtx) { + BossFd* bossFd = (BossFd*)this->actor.parent; + s8 health; + s16 idleTime; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D3D98.s") + osSyncPrintf("UP INIT 1\n"); + Animation_PlayLoop(&this->skelAnime, &gHoleVolvagiaTurnAnim); + this->actionFunc = BossFd2_Idle; + health = bossFd->actor.colChkInfo.health; + if (health == 24) { + idleTime = 50; + } else if (health >= 18) { + idleTime = 40; + } else if (health >= 12) { + idleTime = 40; + } else if (health >= 6) { + idleTime = 30; + } else { + idleTime = 20; + } + this->timers[0] = idleTime; +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D3EC8.s") +void BossFd2_Idle(BossFd2* this, GlobalContext* globalCtx) { + s16 prevToLink; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D3F58.s") + SkelAnime_Update(&this->skelAnime); + prevToLink = this->work[FD2_TURN_TO_LINK]; + this->work[FD2_TURN_TO_LINK] = + Math_SmoothStepToS(&this->actor.shape.rot.y, this->actor.yawTowardsPlayer, 3, 0x7D0, 0); + osSyncPrintf("SW1 = %d\n", prevToLink); + osSyncPrintf("SW2 = %d\n", this->work[FD2_TURN_TO_LINK]); + if ((fabsf(prevToLink) <= 1000.0f) && (1000.0f < fabsf(this->work[FD2_TURN_TO_LINK]))) { + Animation_MorphToLoop(&this->skelAnime, &gHoleVolvagiaTurnAnim, -5.0f); + } + if ((1000.0f < fabsf(prevToLink)) && (fabsf(this->work[FD2_TURN_TO_LINK]) <= 1000.0f)) { + Animation_MorphToLoop(&this->skelAnime, &gHoleVolvagiaIdleAnim, -5.0f); + } + if (this->timers[0] == 0) { + if (this->actor.xzDistToPlayer < 200.0f) { + BossFd2_SetupClawSwipe(this, globalCtx); + } else { + BossFd2_SetupBreatheFire(this, globalCtx); + } + } +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D40C8.s") +void BossFd2_SetupBurrow(BossFd2* this, GlobalContext* globalCtx) { + BossFd* bossFd = (BossFd*)this->actor.parent; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D4748.s") + Animation_MorphToPlayOnce(&this->skelAnime, &gHoleVolvagiaBurrowAnim, -5.0f); + this->actionFunc = BossFd2_Burrow; + this->fwork[FD2_END_FRAME] = Animation_GetLastFrame(&gHoleVolvagiaBurrowAnim); + bossFd->timers[4] = 30; + this->work[FD2_ACTION_STATE] = 0; +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D4790.s") +void BossFd2_Burrow(BossFd2* this, GlobalContext* globalCtx) { + BossFd* bossFd = (BossFd*)this->actor.parent; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D4C68.s") + if (this->work[FD2_ACTION_STATE] == 0) { + SkelAnime_Update(&this->skelAnime); + if (Animation_OnFrame(&this->skelAnime, this->fwork[FD2_END_FRAME])) { + this->work[FD2_ACTION_STATE] = 1; + this->timers[0] = 25; + } + } else { + Math_ApproachF(&this->actor.world.pos.y, -100.0f, 1.0f, 10.0f); + if (this->timers[0] == 0) { + if ((this->work[FD2_HOLE_COUNTER] >= 3) && ((s8)bossFd->actor.colChkInfo.health < 24)) { + this->work[FD2_HOLE_COUNTER] = 0; + this->actionFunc = BossFd2_Wait; + bossFd->handoffSignal = FD2_SIGNAL_FLY; + } else { + BossFd2_SetupEmerge(this, globalCtx); + } + } + } +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Boss_Fd2/BossFd2_Update.s") +void BossFd2_SetupBreatheFire(BossFd2* this, GlobalContext* globalCtx) { + Animation_MorphToPlayOnce(&this->skelAnime, &gHoleVolvagiaBreatheFireAnim, -5.0f); + this->actionFunc = BossFd2_BreatheFire; + this->fwork[FD2_END_FRAME] = Animation_GetLastFrame(&gHoleVolvagiaBreatheFireAnim); + this->work[FD2_ACTION_STATE] = 0; +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D4F94.s") +static Vec3f sUnkVec = { 0.0f, 0.0f, 50.0f }; // Unused? BossFd uses a similar array for its fire breath sfx. -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D5228.s") +void BossFd2_BreatheFire(BossFd2* this, GlobalContext* globalCtx) { + s16 i; + Vec3f toLink; + s16 angleX; + s16 angleY; + s16 breathOpacity = 0; + BossFd* bossFd = (BossFd*)this->actor.parent; + Player* player = PLAYER; + f32 tempX; + f32 tempY; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D52CC.s") + SkelAnime_Update(&this->skelAnime); + if (Animation_OnFrame(&this->skelAnime, this->fwork[FD2_END_FRAME])) { + BossFd2_SetupBurrow(this, globalCtx); + } + if ((25.0f <= this->skelAnime.curFrame) && (this->skelAnime.curFrame < 70.0f)) { + if (this->skelAnime.curFrame == 25.0f) { + globalCtx->envCtx.unk_D8 = 0.0f; + } + Audio_PlayActorSound2(&this->actor, NA_SE_EN_VALVAISA_FIRE - SFX_FLAG); + if (this->skelAnime.curFrame > 50) { + breathOpacity = (70.0f - this->skelAnime.curFrame) * 12.0f; + } else { + breathOpacity = 255; + } + toLink.x = player->actor.world.pos.x - this->headPos.x; + toLink.y = player->actor.world.pos.y - this->headPos.y; + toLink.z = player->actor.world.pos.z - this->headPos.z; + angleY = Math_Atan2S(toLink.z, toLink.x); + angleX = -Math_Atan2S(sqrtf(SQ(toLink.x) + SQ(toLink.z)), toLink.y); + angleY -= this->actor.shape.rot.y; + if (angleY > 0x1F40) { + angleY = 0x1F40; + } + if (angleY < -0x1F40) { + angleY = -0x1F40; + } + angleX += (-0x1B58); + if (angleX > 0x3E8) { + angleX = 0x3E8; + } + if (angleX < -0xFA0) { + angleX = -0xFA0; + } + Math_ApproachS(&this->headRot.y, angleY, 5, 0x7D0); + Math_ApproachS(&this->headRot.x, angleX, 5, 0x7D0); + } else { + Math_ApproachS(&this->headRot.y, 0, 5, 0x7D0); + Math_ApproachS(&this->headRot.x, 0, 5, 0x7D0); + } + if (breathOpacity != 0) { + f32 breathScale; + Vec3f spawnSpeed = { 0.0f, 0.0f, 0.0f }; + Vec3f spawnVel; + Vec3f spawnAccel = { 0.0f, 0.0f, 0.0f }; + Vec3f spawnPos; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D58E0.s") + bossFd->fogMode = 2; + spawnSpeed.z = 30.0f; + spawnPos = this->headPos; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Boss_Fd2/BossFd2_Draw.s") + tempY = ((this->actor.shape.rot.y + this->headRot.y) / (f32)0x8000) * M_PI; + tempX = ((this->headRot.x / (f32)0x8000) * M_PI) + 1.0f / 2; + Matrix_RotateY(tempY, MTXMODE_NEW); + Matrix_RotateX(tempX, MTXMODE_APPLY); + Matrix_MultVec3f(&spawnSpeed, &spawnVel); + + breathScale = 300.0f + 50.0f * Math_SinS(this->work[FD2_VAR_TIMER] * 0x2000); + BossFd2_SpawnFireBreath(globalCtx, bossFd->effects, &spawnPos, &spawnVel, &spawnAccel, breathScale, + breathOpacity, this->actor.shape.rot.y + this->headRot.y); + + spawnPos.x += spawnVel.x * 0.5f; + spawnPos.y += spawnVel.y * 0.5f; + spawnPos.z += spawnVel.z * 0.5f; + + breathScale = 300.0f + 50.0f * Math_SinS(this->work[FD2_VAR_TIMER] * 0x2000); + BossFd2_SpawnFireBreath(globalCtx, bossFd->effects, &spawnPos, &spawnVel, &spawnAccel, breathScale, + breathOpacity, this->actor.shape.rot.y + this->headRot.y); + + spawnSpeed.x = 0.0f; + spawnSpeed.y = 17.0f; + spawnSpeed.z = 0.0f; + + for (i = 0; i < 6; i++) { + tempY = Rand_ZeroFloat(2.0f * M_PI); + tempX = Rand_ZeroFloat(2.0f * M_PI); + Matrix_RotateY(tempY, MTXMODE_NEW); + Matrix_RotateX(tempX, MTXMODE_APPLY); + Matrix_MultVec3f(&spawnSpeed, &spawnVel); + + spawnAccel.x = (spawnVel.x * -10.0f) / 100.0f; + spawnAccel.y = (spawnVel.y * -10.0f) / 100.0f; + spawnAccel.z = (spawnVel.z * -10.0f) / 100.0f; + + BossFd2_SpawnEmber(globalCtx, bossFd->effects, &this->headPos, &spawnVel, &spawnAccel, + (s16)Rand_ZeroFloat(2.0f) + 8); + } + } +} + +void BossFd2_SetupClawSwipe(BossFd2* this, GlobalContext* globalCtx) { + Animation_MorphToPlayOnce(&this->skelAnime, &gHoleVolvagiaClawSwipeAnim, -5.0f); + this->actionFunc = BossFd2_ClawSwipe; + this->fwork[FD2_END_FRAME] = Animation_GetLastFrame(&gHoleVolvagiaClawSwipeAnim); +} + +void BossFd2_ClawSwipe(BossFd2* this, GlobalContext* globalCtx) { + SkelAnime_Update(&this->skelAnime); + if (Animation_OnFrame(&this->skelAnime, 5.0f)) { + Audio_PlayActorSound2(&this->actor, NA_SE_EN_VALVAISA_ROAR); + Audio_PlayActorSound2(&this->actor, NA_SE_EN_VALVAISA_SW_NAIL); + } + if (Animation_OnFrame(&this->skelAnime, this->fwork[FD2_END_FRAME])) { + BossFd2_SetupBurrow(this, globalCtx); + } +} + +void BossFd2_SetupVulnerable(BossFd2* this, GlobalContext* globalCtx) { + Animation_PlayOnce(&this->skelAnime, &gHoleVolvagiaKnockoutAnim); + this->fwork[FD2_END_FRAME] = Animation_GetLastFrame(&gHoleVolvagiaKnockoutAnim); + this->actionFunc = BossFd2_Vulnerable; + this->work[FD2_ACTION_STATE] = 0; +} + +void BossFd2_Vulnerable(BossFd2* this, GlobalContext* globalCtx) { + BossFd* bossFd = (BossFd*)this->actor.parent; + s16 i; + + this->disableAT = true; + this->actor.flags |= 0x400; + SkelAnime_Update(&this->skelAnime); + switch (this->work[FD2_ACTION_STATE]) { + case 0: + if (Animation_OnFrame(&this->skelAnime, 13.0f)) { + Audio_PlayActorSound2(&this->actor, NA_SE_EN_VALVAISA_MAHI2); + } + if (Animation_OnFrame(&this->skelAnime, this->fwork[FD2_END_FRAME] - 3.0f)) { + for (i = 0; i < 25; i++) { + Vec3f spawnVel; + Vec3f spawnAccel = { 0.0f, 0.0f, 0.0f }; + Vec3f spawnPos; + + spawnVel.x = Rand_CenteredFloat(8.0f); + spawnVel.y = Rand_ZeroFloat(1.0f); + spawnVel.z = Rand_CenteredFloat(8.0f); + + spawnAccel.y = 0.5f; + + spawnPos.x = Rand_CenteredFloat(10.0f) + this->actor.focus.pos.x; + spawnPos.y = Rand_CenteredFloat(10.0f) + this->actor.focus.pos.y; + spawnPos.z = Rand_CenteredFloat(10.0f) + this->actor.focus.pos.z; + + BossFd2_SpawnDust(bossFd->effects, &spawnPos, &spawnVel, &spawnAccel, + Rand_ZeroFloat(100.0f) + 300.0f); + } + Audio_PlayActorSound2(&this->actor, NA_SE_EN_VALVAISA_LAND); + } + if (Animation_OnFrame(&this->skelAnime, this->fwork[FD2_END_FRAME])) { + Animation_MorphToLoop(&this->skelAnime, &gHoleVolvagiaVulnerableAnim, -5.0f); + this->work[FD2_ACTION_STATE] = 1; + this->timers[0] = 60; + } + break; + case 1: + if ((this->work[FD2_VAR_TIMER] & 0xF) == 0xF) { + Audio_PlayActorSound2(&this->actor, NA_SE_EN_VALVAISA_KNOCKOUT); + } + if (this->timers[0] == 0) { + BossFd2_SetupBurrow(this, globalCtx); + } + break; + } +} + +void BossFd2_SetupDamaged(BossFd2* this, GlobalContext* globalCtx) { + Animation_PlayOnce(&this->skelAnime, &gHoleVolvagiaHitAnim); + this->fwork[FD2_END_FRAME] = Animation_GetLastFrame(&gHoleVolvagiaHitAnim); + this->actionFunc = BossFd2_Damaged; + this->work[FD2_ACTION_STATE] = 0; +} + +void BossFd2_Damaged(BossFd2* this, GlobalContext* globalCtx) { + BossFd* bossFd = (BossFd*)this->actor.parent; + + SkelAnime_Update(&this->skelAnime); + this->disableAT = true; + if (this->work[FD2_ACTION_STATE] == 0) { + if (Animation_OnFrame(&this->skelAnime, this->fwork[FD2_END_FRAME])) { + Animation_PlayOnce(&this->skelAnime, &gHoleVolvagiaDamagedAnim); + this->fwork[FD2_END_FRAME] = Animation_GetLastFrame(&gHoleVolvagiaDamagedAnim); + this->work[FD2_ACTION_STATE] = 1; + } + } else if (this->work[FD2_ACTION_STATE] == 1) { + if (Animation_OnFrame(&this->skelAnime, 6.0f)) { + Audio_PlayActorSound2(&this->actor, NA_SE_EN_VALVAISA_DAMAGE2); + } + if (Animation_OnFrame(&this->skelAnime, 20.0f)) { + bossFd->timers[4] = 30; + } + if (Animation_OnFrame(&this->skelAnime, this->fwork[FD2_END_FRAME])) { + this->work[FD2_ACTION_STATE] = 2; + this->timers[0] = 25; + } + } else { + Math_ApproachF(&this->actor.world.pos.y, -100.0f, 1.0f, 10.0f); + if (this->timers[0] == 0) { + this->actionFunc = BossFd2_Wait; + bossFd->handoffSignal = FD2_SIGNAL_FLY; + } + } +} + +void BossFd2_SetupDeath(BossFd2* this, GlobalContext* globalCtx) { + this->fwork[FD2_END_FRAME] = Animation_GetLastFrame(&gHoleVolvagiaDamagedAnim); + Animation_Change(&this->skelAnime, &gHoleVolvagiaDamagedAnim, 1.0f, 0.0f, this->fwork[FD2_END_FRAME], + ANIMMODE_ONCE_INTERP, -3.0f); + this->actionFunc = BossFd2_Death; + this->actor.flags &= ~1; + this->deathState = DEATH_START; +} + +void BossFd2_UpdateCamera(BossFd2* this, GlobalContext* globalCtx) { + if (this->deathCamera != SUBCAM_FREE) { + Math_ApproachF(&this->camData.eye.x, this->camData.nextEye.x, this->camData.eyeMaxVel.x, + this->camData.eyeVel.x * this->camData.speedMod); + Math_ApproachF(&this->camData.eye.y, this->camData.nextEye.y, this->camData.eyeMaxVel.y, + this->camData.eyeVel.y * this->camData.speedMod); + Math_ApproachF(&this->camData.eye.z, this->camData.nextEye.z, this->camData.eyeMaxVel.z, + this->camData.eyeVel.z * this->camData.speedMod); + Math_ApproachF(&this->camData.at.x, this->camData.nextAt.x, this->camData.atMaxVel.x, + this->camData.atVel.x * this->camData.speedMod); + Math_ApproachF(&this->camData.at.y, this->camData.nextAt.y, this->camData.atMaxVel.y, + this->camData.atVel.y * this->camData.speedMod); + Math_ApproachF(&this->camData.at.z, this->camData.nextAt.z, this->camData.atMaxVel.z, + this->camData.atVel.z * this->camData.speedMod); + Math_ApproachF(&this->camData.speedMod, 1.0f, 1.0f, this->camData.accel); + this->camData.at.y += this->camData.yMod; + Gameplay_CameraSetAtEye(globalCtx, this->deathCamera, &this->camData.at, &this->camData.eye); + Math_ApproachF(&this->camData.yMod, 0.0f, 1.0f, 0.1f); + } +} + +void BossFd2_Death(BossFd2* this, GlobalContext* globalCtx) { + f32 retreatSpeed; + Vec3f sp70; + Vec3f sp64; + BossFd* bossFd = (BossFd*)this->actor.parent; + Camera* mainCam = Gameplay_GetCamera(globalCtx, MAIN_CAM); + f32 pad3; + f32 pad2; + f32 pad1; + f32 cameraShake; + SkelAnime* skelAnime = &this->skelAnime; + + SkelAnime_Update(skelAnime); + switch (this->deathState) { + case DEATH_START: + this->deathState = DEATH_RETREAT; + func_80064520(globalCtx, &globalCtx->csCtx); + func_8002DF54(globalCtx, &this->actor, 1); + this->deathCamera = Gameplay_CreateSubCamera(globalCtx); + Gameplay_ChangeCameraStatus(globalCtx, MAIN_CAM, CAM_STAT_WAIT); + Gameplay_ChangeCameraStatus(globalCtx, this->deathCamera, CAM_STAT_ACTIVE); + this->camData.eye = mainCam->eye; + this->camData.at = mainCam->at; + this->camData.eyeVel.x = 100.0f; + this->camData.eyeVel.y = 100.0f; + this->camData.eyeVel.z = 100.0f; + this->camData.atVel.x = 100.0f; + this->camData.atVel.y = 100.0f; + this->camData.atVel.z = 100.0f; + this->camData.accel = 0.02f; + this->timers[0] = 0; + this->work[FD2_HOLE_COUNTER] = 0; + this->camData.eyeMaxVel.x = 0.1f; + this->camData.eyeMaxVel.y = 0.1f; + this->camData.eyeMaxVel.z = 0.1f; + this->camData.atMaxVel.x = 0.1f; + this->camData.atMaxVel.y = 0.1f; + this->camData.atMaxVel.z = 0.1f; + case DEATH_RETREAT: + this->work[FD2_HOLE_COUNTER]++; + if (this->work[FD2_HOLE_COUNTER] < 15) { + retreatSpeed = 1.0f; + } else if (this->work[FD2_HOLE_COUNTER] < 20) { + retreatSpeed = 0.5f; + } else { + retreatSpeed = 0.25f; + } + if ((this->work[FD2_HOLE_COUNTER] == 1) || (this->work[FD2_HOLE_COUNTER] == 40)) { + this->work[FD2_SCREAM_TIMER] = 20; + if (this->work[FD2_HOLE_COUNTER] == 40) { + func_800F8D04(NA_SE_EN_VALVAISA_DEAD); + } + + Audio_PlayActorSound2(&this->actor, NA_SE_EN_VALVAISA_DAMAGE2); + } + Math_ApproachF(&this->skelAnime.playSpeed, retreatSpeed, 1.0f, 1.0f); + Matrix_RotateY(((this->actor.yawTowardsPlayer / (f32)0x8000) * M_PI) + 0.2f, MTXMODE_NEW); + sp70.x = 0.0f; + sp70.y = 0.0f; + sp70.z = 250.0f; + Matrix_MultVec3f(&sp70, &sp64); + this->camData.nextEye.x = this->actor.world.pos.x + sp64.x; + this->camData.nextEye.y = 140.0f; + this->camData.nextEye.z = this->actor.world.pos.z + sp64.z; + if (this->actor.focus.pos.y >= 90.0f) { + this->camData.nextAt.y = this->actor.focus.pos.y; + this->camData.nextAt.x = this->actor.focus.pos.x; + this->camData.nextAt.z = this->actor.focus.pos.z; + } + if (this->timers[0] == 0) { + if (Animation_OnFrame(skelAnime, 20.0f)) { + bossFd->timers[4] = 60; + } + if (this->work[FD2_HOLE_COUNTER] >= 100) { + this->deathState = DEATH_HANDOFF; + this->timers[0] = 50; + } + } else if (Animation_OnFrame(skelAnime, 15.0f)) { + Animation_MorphToPlayOnce(skelAnime, &gHoleVolvagiaDamagedAnim, -10.0f); + } + break; + case DEATH_HANDOFF: + if (this->timers[0] == 0) { + this->actor.draw = NULL; + this->deathState = DEATH_FD_BODY; + bossFd->handoffSignal = FD2_SIGNAL_DEATH; + this->work[FD2_ACTION_STATE] = 0; + this->camData.speedMod = 0.0f; + } else { + Math_ApproachF(&this->actor.world.pos.y, -100.0f, 1.0f, 5.0f); + } + break; + case DEATH_FD_BODY: + if (bossFd->actor.world.pos.y < 80.0f) { + if (bossFd->actor.world.rot.x > 0x3000) { + this->camData.nextAt = bossFd->actor.world.pos; + this->camData.nextAt.y = 80.0f; + this->camData.nextEye.x = bossFd->actor.world.pos.x; + this->camData.nextEye.y = 150.0f; + this->camData.nextEye.z = bossFd->actor.world.pos.z + 300.0f; + } + } else { + this->camData.nextAt = bossFd->actor.world.pos; + this->camData.nextEye.x = this->actor.world.pos.x; + Math_ApproachF(&this->camData.nextEye.y, 200.0f, 1.0f, 2.0f); + Math_ApproachF(&this->camData.nextEye.z, bossFd->actor.world.pos.z + 200.0f, 1.0f, 3.0f); + if (this->work[FD2_ACTION_STATE] == 0) { + this->work[FD2_ACTION_STATE]++; + this->camData.speedMod = 0.0f; + this->camData.accel = 0.02f; + func_8002DF54(globalCtx, &bossFd->actor, 1); + } + } + if ((bossFd->work[BFD_ACTION_STATE] == BOSSFD_BONES_FALL) && (bossFd->timers[0] == 5)) { + this->deathState = DEATH_FD_SKULL; + this->camData.speedMod = 0.0f; + this->camData.accel = 0.02f; + this->camData.nextEye.y = 150.0f; + this->camData.nextEye.z = bossFd->actor.world.pos.z + 300.0f; + } + break; + case DEATH_FD_SKULL: + Math_ApproachF(&this->camData.nextAt.y, 100.0, 1.0f, 100.0f); + this->camData.nextAt.x = 0.0f; + this->camData.nextAt.z = 0.0f; + this->camData.nextEye.x = 0.0f; + this->camData.nextEye.y = 140.0f; + Math_ApproachF(&this->camData.nextEye.z, 220.0f, 0.5f, 1.15f); + if (bossFd->work[BFD_CAM_SHAKE_TIMER] != 0) { + bossFd->work[BFD_CAM_SHAKE_TIMER]--; + cameraShake = bossFd->work[BFD_CAM_SHAKE_TIMER] / 0.5f; + if (cameraShake >= 20.0f) { + cameraShake = 20.0f; + } + this->camData.yMod = (bossFd->work[BFD_CAM_SHAKE_TIMER] & 1) ? cameraShake : -cameraShake; + } + if (bossFd->work[BFD_ACTION_STATE] == BOSSFD_SKULL_BURN) { + this->deathState = DEATH_FINISH; + mainCam->eye = this->camData.eye; + mainCam->eyeNext = this->camData.eye; + mainCam->at = this->camData.at; + func_800C08AC(globalCtx, this->deathCamera, 0); + this->deathCamera = 0; + func_80064534(globalCtx, &globalCtx->csCtx); + func_8002DF54(globalCtx, &this->actor, 7); + Actor_SpawnAsChild(&globalCtx->actorCtx, &this->actor, globalCtx, ACTOR_DOOR_WARP1, 0.0f, 100.0f, 0.0f, + 0, 0, 0, -1); + Flags_SetClear(globalCtx, globalCtx->roomCtx.curRoom.num); + } + break; + case DEATH_FINISH: + break; + } + BossFd2_UpdateCamera(this, globalCtx); +} + +void BossFd2_Wait(BossFd2* this, GlobalContext* globalCtx) { + BossFd* bossFd = (BossFd*)this->actor.parent; + + if (bossFd->handoffSignal == FD2_SIGNAL_GROUND) { + bossFd->handoffSignal = FD2_SIGNAL_NONE; + BossFd2_SetupEmerge(this, globalCtx); + this->timers[0] = 20; + this->work[FD2_HOLE_COUNTER] = 0; + } +} + +void BossFd2_CollisionCheck(BossFd2* this, GlobalContext* globalCtx) { + s16 i; + ColliderInfo* hurtbox; + BossFd* bossFd = (BossFd*)this->actor.parent; + + if (this->actionFunc == BossFd2_ClawSwipe) { + Player* player = PLAYER; + + for (i = 0; i < ARRAY_COUNT(this->elements); i++) { + if (this->collider.elements[i].info.toucherFlags & TOUCH_HIT) { + this->collider.elements[i].info.toucherFlags &= ~TOUCH_HIT; + Audio_PlayActorSound2(&player->actor, NA_SE_PL_BODY_HIT); + } + } + } + if (!bossFd->faceExposed) { + this->collider.elements[0].info.elemType = ELEMTYPE_UNK2; + this->collider.base.colType = COLTYPE_METAL; + } else { + this->collider.elements[0].info.elemType = ELEMTYPE_UNK3; + this->collider.base.colType = COLTYPE_HIT3; + } + + if (this->collider.elements[0].info.bumperFlags & BUMP_HIT) { + this->collider.elements[0].info.bumperFlags &= ~BUMP_HIT; + + hurtbox = this->collider.elements[0].info.acHitInfo; + if (!bossFd->faceExposed) { + if (hurtbox->toucher.dmgFlags & 0x40000040) { + bossFd->actor.colChkInfo.health -= 2; + if ((s8)bossFd->actor.colChkInfo.health <= 2) { + bossFd->actor.colChkInfo.health = 1; + } + bossFd->faceExposed = true; + BossFd2_SetupVulnerable(this, globalCtx); + this->work[FD2_INVINC_TIMER] = 30; + this->work[FD2_DAMAGE_FLASH_TIMER] = 5; + Audio_PlayActorSound2(&this->actor, NA_SE_EN_VALVAISA_MAHI1); + for (i = 0; i < 30; i++) { + Vec3f debrisVel = { 0.0f, 0.0f, 0.0f }; + Vec3f debrisAccel = { 0.0f, -1.0f, 0.0f }; + Vec3f debrisPos; + + debrisVel.x = Rand_CenteredFloat(10.0f); + debrisVel.y = Rand_ZeroFloat(5.0f) + 8.0f; + debrisVel.z = Rand_CenteredFloat(10.0f); + + debrisPos.x = this->actor.focus.pos.x; + debrisPos.y = this->actor.focus.pos.y; + debrisPos.z = this->actor.focus.pos.z; + + BossFd2_SpawnDebris(globalCtx, bossFd->effects, &debrisPos, &debrisVel, &debrisAccel, + (s16)Rand_ZeroFloat(10.0) + 10); + } + } + } else { + u8 canKill = false; + u8 damage; + + if ((damage = CollisionCheck_GetSwordDamage(hurtbox->toucher.dmgFlags)) == 0) { + damage = (hurtbox->toucher.dmgFlags & 0x00001000) ? 4 : 2; + } else { + canKill = true; + } + if (hurtbox->toucher.dmgFlags & 0x80) { + damage = 0; + } + if (((s8)bossFd->actor.colChkInfo.health > 2) || canKill) { + bossFd->actor.colChkInfo.health -= damage; + osSyncPrintf(VT_FGCOL(GREEN)); + osSyncPrintf("damage %d\n", damage); + } + osSyncPrintf(VT_RST); + osSyncPrintf("hp %d\n", bossFd->actor.colChkInfo.health); + + if ((s8)bossFd->actor.colChkInfo.health <= 0) { + bossFd->actor.colChkInfo.health = 0; + BossFd2_SetupDeath(this, globalCtx); + this->work[FD2_DAMAGE_FLASH_TIMER] = 10; + this->work[FD2_INVINC_TIMER] = 30000; + Audio_SetBGM(0x100100FF); + Audio_PlayActorSound2(&this->actor, NA_SE_EN_VALVAISA_DEAD); + func_80032C7C(globalCtx, &this->actor); + } else if (damage) { + BossFd2_SetupDamaged(this, globalCtx); + this->work[FD2_DAMAGE_FLASH_TIMER] = 10; + this->work[FD2_INVINC_TIMER] = 100; + Audio_PlayActorSound2(&this->actor, NA_SE_EN_VALVAISA_DAMAGE1); + } + if (damage) { + for (i = 0; i < 30; i++) { + Vec3f pieceVel = { 0.0f, 0.0f, 0.0f }; + Vec3f pieceAccel = { 0.0f, -1.0f, 0.0f }; + Vec3f piecePos; + + pieceVel.x = Rand_CenteredFloat(6.0f); + pieceVel.y = Rand_ZeroFloat(4.0f) + 6.0f; + pieceVel.z = Rand_CenteredFloat(6.0f); + + piecePos.x = this->actor.focus.pos.x; + piecePos.y = this->actor.focus.pos.y; + piecePos.z = this->actor.focus.pos.z; + + BossFd2_SpawnSkullPiece(globalCtx, bossFd->effects, &piecePos, &pieceVel, &pieceAccel, + (s16)Rand_ZeroFloat(6.0f) + 10); + } + } + } + } +} + +void BossFd2_UpdateFace(BossFd2* this, GlobalContext* globalCtx) { + f32 maxOpen; + f32 openRate; + s16 eyeStates[5] = { EYE_OPEN, EYE_HALF, EYE_CLOSED, EYE_CLOSED, EYE_HALF }; + + if (((this->work[FD2_VAR_TIMER] % 8) == 0) && (Rand_ZeroOne() < 0.3f)) { + this->work[FD2_BLINK_TIMER] = 4; + } + if ((this->actionFunc == BossFd2_Vulnerable) || (this->actionFunc == BossFd2_Damaged)) { + if (this->work[FD2_VAR_TIMER] & 0x10) { + this->eyeState = EYE_HALF; + } else { + this->eyeState = EYE_CLOSED; + } + } else { + this->eyeState = eyeStates[this->work[FD2_BLINK_TIMER]]; + } + + if (this->work[FD2_BLINK_TIMER] != 0) { + this->work[FD2_BLINK_TIMER]--; + } + + if (this->work[FD2_SCREAM_TIMER] != 0) { + maxOpen = 6000.0f; + openRate = 1300.0f; + } else { + maxOpen = (this->work[FD2_VAR_TIMER] & 0x10) ? 1000.0f : 0.0f; + openRate = 700.0f; + } + Math_ApproachF(&this->jawOpening, maxOpen, 0.3f, openRate); + + if (this->work[FD2_SCREAM_TIMER] != 0) { + this->work[FD2_SCREAM_TIMER]--; + } +} + +void BossFd2_Update(Actor* thisx, GlobalContext* globalCtx) { + GlobalContext* globalCtx2 = globalCtx; + BossFd2* this = THIS; + s16 i; + + osSyncPrintf("FD2 move start \n"); + this->disableAT = false; + this->actor.flags &= ~0x400; + this->work[FD2_VAR_TIMER]++; + this->work[FD2_UNK_TIMER]++; + + this->actionFunc(this, globalCtx2); + + for (i = 0; i < ARRAY_COUNT(this->timers); i++) { + if (this->timers[i] != 0) { + this->timers[i]--; + } + } + if (this->work[FD2_DAMAGE_FLASH_TIMER] != 0) { + this->work[FD2_DAMAGE_FLASH_TIMER]--; + } + if (this->work[FD2_INVINC_TIMER] != 0) { + this->work[FD2_INVINC_TIMER]--; + } + + if (this->deathState == DEATH_START) { + if (this->work[FD2_INVINC_TIMER] == 0) { + BossFd2_CollisionCheck(this, globalCtx2); + } + CollisionCheck_SetAC(globalCtx2, &globalCtx2->colChkCtx, &this->collider.base); + CollisionCheck_SetOC(globalCtx2, &globalCtx2->colChkCtx, &this->collider.base); + if (!this->disableAT) { + CollisionCheck_SetAT(globalCtx2, &globalCtx2->colChkCtx, &this->collider.base); + } + } + + BossFd2_UpdateFace(this, globalCtx2); + this->fwork[FD2_TEX1_SCROLL_X] += 4.0f; + this->fwork[FD2_TEX1_SCROLL_Y] = 120.0f; + this->fwork[FD2_TEX2_SCROLL_X] += 3.0f; + this->fwork[FD2_TEX2_SCROLL_Y] -= 2.0f; + if (this->actor.focus.pos.y < 90.0f) { + this->actor.flags &= ~1; + } else { + this->actor.flags |= 1; + } +} + +s32 BossFd2_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, + void* thisx) { + BossFd2* this = THIS; + BossFd* bossFd = (BossFd*)this->actor.parent; + + if (limbIndex == 31) { + rot->y -= (f32)this->headRot.y; + rot->z += (f32)this->headRot.x; + } + switch (limbIndex) { + case 35: + case 36: + rot->z -= this->jawOpening * 0.1f; + break; + case 32: + rot->z += this->jawOpening; + break; + } + if ((bossFd->faceExposed == 1) && (limbIndex == 35)) { + *dList = gHoleVolvagiaBrokenFaceDL; + } + + if ((limbIndex == 32) || (limbIndex == 35) || (limbIndex == 36)) { + OPEN_DISPS(globalCtx->state.gfxCtx, "../z_boss_fd2.c", 2165); + gDPPipeSync(POLY_OPA_DISP++); + gDPSetEnvColor(POLY_OPA_DISP++, 255, 255, 255, (s8)bossFd->fwork[BFD_HEAD_TEX2_ALPHA]); + CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_boss_fd2.c", 2172); + } else { + OPEN_DISPS(globalCtx->state.gfxCtx, "../z_boss_fd2.c", 2174); + gDPPipeSync(POLY_OPA_DISP++); + gDPSetEnvColor(POLY_OPA_DISP++, 255, 255, 255, (s8)bossFd->fwork[BFD_BODY_TEX2_ALPHA]); + CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_boss_fd2.c", 2181); + } + if ((0 < limbIndex) && (limbIndex < 16)) { + *dList = NULL; + } + return false; +} + +void BossFd2_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx) { + static Vec3f targetMod = { 4500.0f, 0.0f, 0.0f }; + static Vec3f headMod = { 4000.0f, 0.0f, 0.0f }; + static Vec3f centerManeMod = { 4000.0f, -2900.0, 2000.0f }; + static Vec3f rightManeMod = { 4000.0f, -1600.0, 0.0f }; + static Vec3f leftManeMod = { 4000.0f, -1600.0, -2000.0f }; + BossFd2* this = THIS; + + if (limbIndex == 35) { + Matrix_MultVec3f(&targetMod, &this->actor.focus.pos); + Matrix_MultVec3f(&headMod, &this->headPos); + Matrix_MultVec3f(¢erManeMod, &this->centerMane.head); + Matrix_MultVec3f(&rightManeMod, &this->rightMane.head); + Matrix_MultVec3f(&leftManeMod, &this->leftMane.head); + } + Collider_UpdateSpheres(limbIndex, &this->collider); +} + +void BossFd2_UpdateMane(BossFd2* this, GlobalContext* globalCtx, Vec3f* head, Vec3f* pos, Vec3f* rot, Vec3f* pull, + f32* scale) { + f32 sp138[10] = { 0.0f, 100.0f, 50.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f }; + f32 sp110[10] = { 0.0f, 5.0f, -10.0f, 500.0f, 500.0f, 500.0f, 500.0f, 500.0f, 500.0f, 500.0f }; + f32 spE8[10] = { 0.4f, 0.6f, 0.8f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f }; + s16 i; + Vec3f temp_vec; + f32 temp_f2; + f32 phi_f0; + f32 temp_angleX; + f32 temp_angleY; + Vec3f spBC; + Vec3f spB0; + f32 xyScale; + + OPEN_DISPS(globalCtx->state.gfxCtx, "../z_boss_fd2.c", 2389); + Matrix_Push(); + gDPPipeSync(POLY_OPA_DISP++); + + for (i = 0; i < 10; i++) { + if (i == 0) { + (pos + i)->x = head->x; + (pos + i)->y = head->y; + (pos + i)->z = head->z; + } else { + Math_ApproachF(&(pull + i)->x, 0.0f, 1.0f, 1.0f); + Math_ApproachF(&(pull + i)->y, 0.0f, 1.0f, 1.0f); + Math_ApproachF(&(pull + i)->z, 0.0f, 1.0f, 1.0f); + } + } + + for (i = 1; i < 10; i++) { + temp_vec.x = (pos + i)->x + (pull + i)->x - (pos + i - 1)->x; + + phi_f0 = (pos + i)->y + (pull + i)->y - 2.0f + sp138[i]; + temp_f2 = (pos + i - 1)->y + sp110[i]; + if (phi_f0 > temp_f2) { + phi_f0 = temp_f2; + } + if ((head->y >= -910.0f) && (phi_f0 < 110.0f)) { + phi_f0 = 110.0f; + } + temp_vec.y = phi_f0 - (pos + i - 1)->y; + + temp_vec.z = (pos + i)->z + (pull + i)->z - (pos + i - 1)->z; + temp_angleY = Math_Atan2F(temp_vec.z, temp_vec.x); + temp_angleX = -Math_Atan2F(sqrtf(SQ(temp_vec.x) + SQ(temp_vec.z)), temp_vec.y); + (rot + i - 1)->y = temp_angleY; + (rot + i - 1)->x = temp_angleX; + spBC.x = 0.0f; + spBC.y = 0.0f; + spBC.z = spE8[i] * 25.0f; + Matrix_RotateY(temp_angleY, MTXMODE_NEW); + Matrix_RotateX(temp_angleX, MTXMODE_APPLY); + Matrix_MultVec3f(&spBC, &spB0); + temp_vec.x = (pos + i)->x; + temp_vec.y = (pos + i)->y; + temp_vec.z = (pos + i)->z; + (pos + i)->x = (pos + i - 1)->x + spB0.x; + (pos + i)->y = (pos + i - 1)->y + spB0.y; + (pos + i)->z = (pos + i - 1)->z + spB0.z; + (pull + i)->x = (((pos + i)->x - temp_vec.x) * 88.0f) / 100.0f; + (pull + i)->y = (((pos + i)->y - temp_vec.y) * 88.0f) / 100.0f; + (pull + i)->z = (((pos + i)->z - temp_vec.z) * 88.0f) / 100.0f; + if ((pull + i)->x > 30.0f) { + (pull + i)->x = 30.0f; + } + if ((pull + i)->x < -30.0f) { + (pull + i)->x = -30.0f; + } + if ((pull + i)->y > 30.0f) { + (pull + i)->y = 30.0f; + } + if ((pull + i)->y < -30.0f) { + (pull + i)->y = -30.0f; + } + if ((pull + i)->z > 30.0f) { + (pull + i)->z = 30.0f; + } + if ((pull + i)->z < -30.0f) { + (pull + i)->z = -30.0f; + } + } + + for (i = 0; i < 9; i++) { + Matrix_Translate((pos + i)->x, (pos + i)->y, (pos + i)->z, MTXMODE_NEW); + Matrix_RotateY((rot + i)->y, MTXMODE_APPLY); + Matrix_RotateX((rot + i)->x, MTXMODE_APPLY); + xyScale = (0.01f - (i * 0.0009f)) * spE8[i] * scale[i]; + Matrix_Scale(xyScale, xyScale, 0.01f * spE8[i], MTXMODE_APPLY); + Matrix_RotateX(M_PI / 2.0f, MTXMODE_APPLY); + gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_boss_fd2.c", 2498), + G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList(POLY_XLU_DISP++, gHoleVolvagiaManeVtxDL); + } + Matrix_Pop(); + CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_boss_fd2.c", 2503); +} + +void BossFd2_DrawMane(BossFd2* this, GlobalContext* globalCtx) { + s32 pad; + BossFd* bossFd = (BossFd*)this->actor.parent; + s16 i; + + OPEN_DISPS(globalCtx->state.gfxCtx, "../z_boss_fd2.c", 2515); + if (1) {} + for (i = 0; i < 10; i++) { + this->centerMane.scale[i] = 1.5f + 0.3f * Math_SinS(5596.0f * this->work[FD2_VAR_TIMER] + i * 0x3200); + this->rightMane.scale[i] = 1.5f + 0.3f * Math_SinS(5496.0f * this->work[FD2_VAR_TIMER] + i * 0x3200); + this->leftMane.scale[i] = 1.5f + 0.3f * Math_CosS(5696.0f * this->work[FD2_VAR_TIMER] + i * 0x3200); + } + + func_80093D84(globalCtx->state.gfxCtx); + + gSPDisplayList(POLY_XLU_DISP++, gHoleVolvagiaManeSetupDL); + + gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 255, bossFd->fwork[BFD_MANE_COLOR_CENTER], 0, 255); + BossFd2_UpdateMane(this, globalCtx, &this->centerMane.head, this->centerMane.pos, this->centerMane.rot, + this->centerMane.pull, this->centerMane.scale); + + gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 255, bossFd->fwork[BFD_MANE_COLOR_RIGHT], 0, 255); + BossFd2_UpdateMane(this, globalCtx, &this->rightMane.head, this->rightMane.pos, this->rightMane.rot, + this->rightMane.pull, this->rightMane.scale); + + gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 255, bossFd->fwork[BFD_MANE_COLOR_LEFT], 0, 255); + BossFd2_UpdateMane(this, globalCtx, &this->leftMane.head, this->leftMane.pos, this->leftMane.rot, + this->leftMane.pull, this->leftMane.scale); + + CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_boss_fd2.c", 2601); +} + +void BossFd2_Draw(Actor* thisx, GlobalContext* globalCtx) { + static u64* eyeTextures[] = { gHoleVolvagiaEyeOpenTex, gHoleVolvagiaEyeHalfTex, gHoleVolvagiaEyeClosedTex }; + s32 pad; + BossFd2* this = THIS; + + OPEN_DISPS(globalCtx->state.gfxCtx, "../z_boss_fd2.c", 2617); + osSyncPrintf("FD2 draw start \n"); + if (this->actionFunc != BossFd2_Wait) { + func_80093D18(globalCtx->state.gfxCtx); + if (this->work[FD2_DAMAGE_FLASH_TIMER] & 2) { + POLY_OPA_DISP = Gfx_SetFog(POLY_OPA_DISP, 255, 255, 255, 0, 900, 1099); + } + gSPSegment(POLY_OPA_DISP++, 0x09, SEGMENTED_TO_VIRTUAL(eyeTextures[this->eyeState])); + + gSPSegment(POLY_OPA_DISP++, 0x08, + Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, (s16)this->fwork[FD2_TEX1_SCROLL_X], + (s16)this->fwork[FD2_TEX1_SCROLL_Y], 0x20, 0x20, 1, + (s16)this->fwork[FD2_TEX2_SCROLL_X], (s16)this->fwork[FD2_TEX2_SCROLL_Y], 0x20, + 0x20)); + gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 255, 255, 255, 255); + gDPSetEnvColor(POLY_OPA_DISP++, 255, 255, 255, 128); + + SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, + this->skelAnime.dListCount, BossFd2_OverrideLimbDraw, BossFd2_PostLimbDraw, &this->actor); + BossFd2_DrawMane(this, globalCtx); + POLY_OPA_DISP = func_800BC8A0(globalCtx, POLY_OPA_DISP); + } + CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_boss_fd2.c", 2688); +} diff --git a/src/overlays/actors/ovl_Boss_Fd2/z_boss_fd2.h b/src/overlays/actors/ovl_Boss_Fd2/z_boss_fd2.h index ef0f6f4016..129f1b48dd 100644 --- a/src/overlays/actors/ovl_Boss_Fd2/z_boss_fd2.h +++ b/src/overlays/actors/ovl_Boss_Fd2/z_boss_fd2.h @@ -6,9 +6,87 @@ struct BossFd2; +typedef void (*BossFd2ActionFunc)(struct BossFd2*, GlobalContext*); + +typedef enum { + /* 0 */ FD2_SIGNAL_NONE, + /* 1 */ FD2_SIGNAL_FLY, + /* 2 */ FD2_SIGNAL_DEATH, + /* 100 */ FD2_SIGNAL_GROUND = 100 +} BossFd2Signal; + +typedef struct { + /* 0x000 */ Vec3f rot[10]; + /* 0x078 */ Vec3f pos[10]; + /* 0x0F0 */ Vec3f pull[10]; + /* 0x168 */ f32 scale[10]; + /* 0x190 */ Vec3f head; +} BossFd2Mane; // size = 0x19C + +typedef struct { + /* 0x00 */ Vec3f eye; + /* 0x0C */ Vec3f at; + /* 0x18 */ Vec3f pad[2]; + /* 0x30 */ Vec3f eyeVel; + /* 0x3C */ Vec3f atVel; + /* 0x48 */ Vec3f nextEye; + /* 0x54 */ Vec3f eyeMaxVel; + /* 0x60 */ Vec3f nextAt; + /* 0x6C */ Vec3f atMaxVel; + /* 0x78 */ f32 speedMod; + /* 0x7C */ f32 accel; + /* 0x80 */ f32 yMod; + /* 0x84 */ f32 shake; +} BossFd2Cam; // size = 0x88 + +typedef enum { + /* 0 */ FD2_TURN_TO_LINK, + /* 1 */ FD2_ACTION_STATE, + /* 2 */ FD2_UNK_TIMER, + /* 3 */ FD2_VAR_TIMER, + /* 4 */ FD2_UNUSED_4, + /* 5 */ FD2_UNUSED_5, + /* 6 */ FD2_BLINK_TIMER, + /* 7 */ FD2_SCREAM_TIMER, + /* 8 */ FD2_DAMAGE_FLASH_TIMER, + /* 9 */ FD2_HOLE_COUNTER, + /* 10 */ FD2_INVINC_TIMER, + /* 11 */ FD2_FAKEOUT_COUNT, + /* 19 */ FD2_SHORT_COUNT = 19 +} BossFd2S16Var; + +typedef enum { + /* 0 */ FD2_TEX1_SCROLL_X, + /* 1 */ FD2_TEX1_SCROLL_Y, + /* 2 */ FD2_TEX2_SCROLL_X, + /* 3 */ FD2_TEX2_SCROLL_Y, + /* 10 */ FD2_END_FRAME = 10, + /* 18 */ FD2_FLOAT_COUNT = 18 +} BossFd2F32Var; + typedef struct BossFd2 { /* 0x0000 */ Actor actor; - /* 0x014C */ char unk_14C[0x1530]; + /* 0x014C */ SkelAnime skelAnime; + /* 0x0190 */ BossFd2ActionFunc actionFunc; + /* 0x0194 */ u8 disableAT; + /* 0x0196 */ s16 work[FD2_SHORT_COUNT]; + /* 0x01BC */ s16 timers[5]; + /* 0x01C8 */ f32 fwork[FD2_FLOAT_COUNT]; + /* 0x0210 */ Vec3f headPos; + /* 0x021C */ Vec3s headRot; + /* 0x0222 */ char unk_222; + /* 0x0223 */ u8 eyeState; + /* 0x0224 */ char unk_224[0xC90]; // despite its size, seems to be unused. + /* 0x0EB4 */ BossFd2Mane centerMane; + /* 0x1050 */ BossFd2Mane rightMane; + /* 0x11EC */ BossFd2Mane leftMane; + /* 0x1388 */ char unk_1388[4]; + /* 0x138C */ f32 jawOpening; + /* 0x1390 */ s16 deathState; + /* 0x1392 */ s16 deathCamera; + /* 0x1394 */ BossFd2Cam camData; + /* 0x141C */ ColliderJntSph collider; + /* 0x143C */ ColliderJntSphElement elements[9]; } BossFd2; // size = 0x167C extern const ActorInit Boss_Fd2_InitVars; diff --git a/src/overlays/actors/ovl_Boss_Fd2/z_boss_fd2_colchk.c b/src/overlays/actors/ovl_Boss_Fd2/z_boss_fd2_colchk.c new file mode 100644 index 0000000000..f888dc4863 --- /dev/null +++ b/src/overlays/actors/ovl_Boss_Fd2/z_boss_fd2_colchk.c @@ -0,0 +1,116 @@ +#include "global.h" + +static ColliderJntSphElementInit sJntSphElementsInit[9] = { + { + { + ELEMTYPE_UNK3, + { 0xFFCFFFFF, 0x00, 0x20 }, + { 0xFFCDFFFE, 0x00, 0x00 }, + TOUCH_NONE, + BUMP_ON | BUMP_HOOKABLE, + OCELEM_ON, + }, + { 35, { { 6000, 0, 0 }, 21 }, 100 }, + }, + { + { + ELEMTYPE_UNK2, + { 0xFFCFFFFF, 0x00, 0x20 }, + { 0xFFCDFFFE, 0x00, 0x00 }, + TOUCH_ON | TOUCH_SFX_NORMAL, + BUMP_NONE, + OCELEM_ON, + }, + { 18, { { 4000, 0, 0 }, 13 }, 100 }, + }, + { + { + ELEMTYPE_UNK2, + { 0xFFCFFFFF, 0x00, 0x20 }, + { 0xFFCDFFFE, 0x00, 0x00 }, + TOUCH_ON | TOUCH_SFX_NORMAL, + BUMP_NONE, + OCELEM_ON, + }, + { 19, { { 3000, 0, 0 }, 13 }, 100 }, + }, + { + { + ELEMTYPE_UNK2, + { 0xFFCFFFFF, 0x00, 0x20 }, + { 0xFFCDFFFE, 0x00, 0x00 }, + TOUCH_ON | TOUCH_SFX_NORMAL, + BUMP_NONE, + OCELEM_ON, + }, + { 20, { { 4000, 0, 0 }, 15 }, 100 }, + }, + { + { + ELEMTYPE_UNK2, + { 0xFFCFFFFF, 0x00, 0x20 }, + { 0xFFCDFFFE, 0x00, 0x00 }, + TOUCH_ON | TOUCH_SFX_NORMAL, + BUMP_NONE, + OCELEM_ON, + }, + { 24, { { 4000, 0, 0 }, 13 }, 100 }, + }, + { + { + ELEMTYPE_UNK2, + { 0xFFCFFFFF, 0x00, 0x20 }, + { 0xFFCDFFFE, 0x00, 0x00 }, + TOUCH_ON | TOUCH_SFX_NORMAL, + BUMP_NONE, + OCELEM_ON, + }, + { 25, { { 3000, 0, 0 }, 13 }, 100 }, + }, + { + { + ELEMTYPE_UNK2, + { 0xFFCFFFFF, 0x00, 0x20 }, + { 0xFFCDFFFE, 0x00, 0x00 }, + TOUCH_ON | TOUCH_SFX_NORMAL, + BUMP_NONE, + OCELEM_ON, + }, + { 26, { { 3500, 1500, 0 }, 15 }, 100 }, + }, + { + { + ELEMTYPE_UNK2, + { 0xFFCFFFFF, 0x00, 0x20 }, + { 0xFFCDFFFE, 0x00, 0x00 }, + TOUCH_ON | TOUCH_SFX_NORMAL, + BUMP_NONE, + OCELEM_ON, + }, + { 17, { { 0, 0, 0 }, 26 }, 100 }, + }, + { + { + ELEMTYPE_UNK2, + { 0xFFCFFFFF, 0x00, 0x20 }, + { 0xFFCDFFFE, 0x00, 0x00 }, + TOUCH_ON | TOUCH_SFX_NORMAL, + BUMP_NONE, + OCELEM_ON, + }, + { 30, { { 0, 0, 0 }, 17 }, 100 }, + }, +}; + +static ColliderJntSphInit sJntSphInit = { + { + COLTYPE_METAL, + AT_ON | AT_TYPE_ENEMY, + AC_ON | AC_TYPE_PLAYER, + OC1_ON | OC1_TYPE_PLAYER, + OC2_TYPE_1, + COLSHAPE_JNTSPH, + }, + 9, + sJntSphElementsInit, +}; diff --git a/src/overlays/actors/ovl_En_Anubice_Fire/z_en_anubice_fire.c b/src/overlays/actors/ovl_En_Anubice_Fire/z_en_anubice_fire.c index 24ce815477..2b86bfd9ca 100644 --- a/src/overlays/actors/ovl_En_Anubice_Fire/z_en_anubice_fire.c +++ b/src/overlays/actors/ovl_En_Anubice_Fire/z_en_anubice_fire.c @@ -181,7 +181,9 @@ void EnAnubiceFire_Update(Actor* thisx, GlobalContext* globalCtx) { func_8002D7EC(&this->actor); this->unk_160[0] = this->actor.world.pos; - for (i = 4; i >= 0; --i) { + if (1) {} + + for (i = 4; i >= 0; i--) { this->unk_160[i + 1] = this->unk_160[i]; } diff --git a/src/overlays/actors/ovl_En_Vb_Ball/z_en_vb_ball.c b/src/overlays/actors/ovl_En_Vb_Ball/z_en_vb_ball.c index d39556df84..2abc8d858c 100644 --- a/src/overlays/actors/ovl_En_Vb_Ball/z_en_vb_ball.c +++ b/src/overlays/actors/ovl_En_Vb_Ball/z_en_vb_ball.c @@ -1,10 +1,13 @@ /* * File: z_en_vb_ball.c * Overlay: ovl_En_Vb_Ball - * Description: Volvagia's Rocks + * Description: Volvagia's rocks and bones */ #include "z_en_vb_ball.h" +#include "objects/object_fd/object_fd.h" +#include "objects/gameplay_keep/gameplay_keep.h" +#include "overlays/actors/ovl_Boss_Fd/z_boss_fd.h" #define FLAGS 0x00000030 @@ -15,7 +18,6 @@ void EnVbBall_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnVbBall_Update(Actor* thisx, GlobalContext* globalCtx); void EnVbBall_Draw(Actor* thisx, GlobalContext* globalCtx); -/* const ActorInit En_Vb_Ball_InitVars = { 0, ACTORCAT_BOSS, @@ -28,7 +30,7 @@ const ActorInit En_Vb_Ball_InitVars = { (ActorFunc)EnVbBall_Draw, }; -static ColliderCylinderInit D_80B2A000 = { +static ColliderCylinderInit sCylinderInit = { { COLTYPE_NONE, AT_ON | AT_TYPE_ENEMY, @@ -47,17 +49,279 @@ static ColliderCylinderInit D_80B2A000 = { }, { 20, 30, 10, { 0, 0, 0 } }, }; -*/ -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Vb_Ball/EnVbBall_Init.s") -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Vb_Ball/EnVbBall_Destroy.s") +void EnVbBall_Init(Actor* thisx, GlobalContext* globalCtx) { + s32 pad; + EnVbBall* this = THIS; + s32 pad2; + f32 angle; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Vb_Ball/func_80B29158.s") + if (this->actor.params >= 200) { // Volvagia's bones + this->yRotVel = Rand_CenteredFloat(0x300); + this->xRotVel = Rand_CenteredFloat(0x300); + angle = Math_FAtan2F(this->actor.world.pos.x, this->actor.world.pos.z); + this->actor.velocity.y = Rand_ZeroFloat(3.0f); + this->actor.velocity.x = 2.0f * sinf(angle); + this->actor.velocity.z = 2.0f * cosf(angle); + this->actor.gravity = -0.8f; + } else { // Volvagia's rocks + Collider_InitCylinder(globalCtx, &this->collider); + Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &sCylinderInit); + Actor_SetScale(&this->actor, this->actor.world.rot.z / 10000.0f); + this->collider.dim.radius = this->actor.scale.y * 3000.0f; + this->collider.dim.height = this->actor.scale.y * 5000.0f; + this->collider.dim.yShift = this->actor.scale.y * -2500.0f; + this->xRotVel = Rand_CenteredFloat(0x2000); + this->yRotVel = Rand_CenteredFloat(0x2000); + this->shadowSize = this->actor.scale.y * 68.0f; + } +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Vb_Ball/func_80B29230.s") +void EnVbBall_Destroy(Actor* thisx, GlobalContext* globalCtx) { + s32 pad; + EnVbBall* this = THIS; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Vb_Ball/func_80B292D0.s") + if (this->actor.params < 200) { + Collider_DestroyCylinder(globalCtx, &this->collider); + } +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Vb_Ball/EnVbBall_Update.s") +void EnVbBall_SpawnDebris(GlobalContext* globalCtx, BossFdEffect* effect, Vec3f* position, Vec3f* velocity, + Vec3f* acceleration, f32 scale) { + s16 i; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Vb_Ball/EnVbBall_Draw.s") + for (i = 0; i < 180; i++, effect++) { + if (effect->type == BFD_FX_NONE) { + effect->type = BFD_FX_DEBRIS; + effect->pos = *position; + effect->velocity = *velocity; + effect->accel = *acceleration; + effect->scale = scale / 1000.0f; + effect->vFdFxRotX = Rand_ZeroFloat(100.0f); + effect->vFdFxRotY = Rand_ZeroFloat(100.0f); + break; + } + } +} + +void EnVbBall_SpawnDust(GlobalContext* globalCtx, BossFdEffect* effect, Vec3f* position, Vec3f* velocity, + Vec3f* acceleration, f32 scale) { + s16 i; + + for (i = 0; i < 180; i++, effect++) { + if (effect->type == BFD_FX_NONE) { + effect->type = BFD_FX_DUST; + effect->pos = *position; + effect->velocity = *velocity; + effect->accel = *acceleration; + effect->timer2 = 0; + effect->scale = scale / 400.0f; + break; + } + } +} + +void EnVbBall_UpdateBones(EnVbBall* this, GlobalContext* globalCtx) { + BossFd* bossFd = (BossFd*)this->actor.parent; + f32 pad2; + f32 pad1; + f32 angle; + s16 i; + + Actor_UpdateBgCheckInfo(globalCtx, &this->actor, 50.0f, 50.0f, 100.0f, 4); + if ((this->actor.bgCheckFlags & 1) && (this->actor.velocity.y <= 0.0f)) { + this->xRotVel = Rand_CenteredFloat((f32)0x4000); + this->yRotVel = Rand_CenteredFloat((f32)0x4000); + angle = Math_FAtan2F(this->actor.world.pos.x, this->actor.world.pos.z); + this->actor.velocity.x = sinf(angle) * 10.0f; + this->actor.velocity.z = cosf(angle) * 10.0f; + this->actor.velocity.y *= -0.5f; + if (this->actor.params & 1) { + Audio_PlaySoundGeneral(NA_SE_EN_VALVAISA_LAND, &this->actor.projectedPos, 4, &D_801333E0, &D_801333E0, + &D_801333E8); + } + for (i = 0; i < 10; i++) { + Vec3f dustVel = { 0.0f, 0.0f, 0.0f }; + Vec3f dustAcc = { 0.0f, 0.0f, 0.0f }; + Vec3f dustPos; + + dustVel.x = Rand_CenteredFloat(8.0f); + dustVel.y = Rand_ZeroFloat(1.0f); + dustVel.z = Rand_CenteredFloat(8.0f); + + dustAcc.y = 0.3f; + + dustPos.x = Rand_CenteredFloat(20.0f) + this->actor.world.pos.x; + dustPos.y = this->actor.floorHeight + 10.0f; + dustPos.z = Rand_CenteredFloat(20.0f) + this->actor.world.pos.z; + + EnVbBall_SpawnDust(globalCtx, bossFd->effects, &dustPos, &dustVel, &dustAcc, + Rand_ZeroFloat(80.0f) + 200.0f); + } + } + if (this->actor.world.pos.y < 50.0f) { + Actor_Kill(&this->actor); + } +} + +void EnVbBall_Update(Actor* thisx, GlobalContext* globalCtx) { + GlobalContext* globalCtx2 = globalCtx; + EnVbBall* this = THIS; + BossFd* bossFd = (BossFd*)this->actor.parent; + f32 radius; + f32 pad2; + s16 spawnNum; + s16 i; + + this->unkTimer2++; + if (this->unkTimer1 != 0) { + this->unkTimer1--; + } + this->actor.shape.rot.x += (s16)this->xRotVel; + this->actor.shape.rot.y += (s16)this->yRotVel; + this->actor.velocity.y += -1.0f; + this->actor.gravity = -1.0f; + func_8002D7EC(&this->actor); + if (this->actor.params >= 200) { + EnVbBall_UpdateBones(this, globalCtx2); + } else { + Math_ApproachF(&this->shadowOpacity, 175.0f, 1.0f, 40.0f); + radius = this->actor.scale.y * 1700.0f; + this->actor.world.pos.y -= radius; + Actor_UpdateBgCheckInfo(globalCtx2, &this->actor, 50.0f, 50.0f, 100.0f, 4); + this->actor.world.pos.y += radius; + if ((this->actor.bgCheckFlags & 1) && (this->actor.velocity.y <= 0.0f)) { + if ((this->actor.params == 100) || (this->actor.params == 101)) { + Actor_Kill(&this->actor); + if (this->actor.params == 100) { + func_80033E88(&this->actor, globalCtx2, 5, 0xA); + } + if (this->actor.params == 100) { + spawnNum = 2; + } else { + spawnNum = 2; + } + for (i = 0; i < spawnNum; i++) { + Vec3f spawnOffset; + EnVbBall* newActor; + f32 xRotVel; + + if (this->actor.params == 100) { + spawnOffset.x = Rand_CenteredFloat(13.0f); + spawnOffset.y = Rand_ZeroFloat(5.0f) + 6.0f; + spawnOffset.z = Rand_CenteredFloat(13); + } else { + spawnOffset.x = Rand_CenteredFloat(10.0f); + spawnOffset.y = Rand_ZeroFloat(3.0f) + 4.0f; + spawnOffset.z = Rand_CenteredFloat(10.0f); + } + newActor = (EnVbBall*)Actor_SpawnAsChild(&globalCtx2->actorCtx, &this->actor, globalCtx2, + ACTOR_EN_VB_BALL, this->actor.world.pos.x + spawnOffset.x, + this->actor.world.pos.y + spawnOffset.y, + this->actor.world.pos.z + spawnOffset.z, 0, 0, + this->actor.world.rot.z * 0.5f, this->actor.params + 1); + if (newActor != NULL) { + if ((i == 0) && (this->actor.params == 100)) { + Audio_PlaySoundGeneral(NA_SE_EN_VALVAISA_ROCK, &newActor->actor.projectedPos, 4, + &D_801333E0, &D_801333E0, &D_801333E8); + } + newActor->actor.parent = this->actor.parent; + newActor->actor.velocity = spawnOffset; + newActor->yRotVel = 0.0f; + xRotVel = sqrtf(SQ(spawnOffset.x) + SQ(spawnOffset.z)); + newActor->xRotVel = 0x1000 / 10.0f * xRotVel; + newActor->actor.shape.rot.y = Math_FAtan2F(spawnOffset.x, spawnOffset.z) * ((f32)0x8000 / M_PI); + newActor->shadowOpacity = 200.0f; + } + } + for (i = 0; i < 15; i++) { + Vec3f debrisVel1 = { 0.0f, 0.0f, 0.0f }; + Vec3f debrisAcc1 = { 0.0f, -1.0f, 0.0f }; + Vec3f debrisPos1; + + debrisVel1.x = Rand_CenteredFloat(25.0f); + debrisVel1.y = Rand_ZeroFloat(5.0f) + 8; + debrisVel1.z = Rand_CenteredFloat(25.0f); + + debrisPos1.x = Rand_CenteredFloat(10.0f) + this->actor.world.pos.x; + debrisPos1.y = Rand_CenteredFloat(10.0f) + this->actor.world.pos.y; + debrisPos1.z = Rand_CenteredFloat(10.0f) + this->actor.world.pos.z; + + EnVbBall_SpawnDebris(globalCtx2, bossFd->effects, &debrisPos1, &debrisVel1, &debrisAcc1, + (s16)Rand_ZeroFloat(12.0f) + 15); + } + for (i = 0; i < 10; i++) { + Vec3f dustVel = { 0.0f, 0.0f, 0.0f }; + Vec3f dustAcc = { 0.0f, 0.0f, 0.0f }; + Vec3f dustPos; + + dustVel.x = Rand_CenteredFloat(8.0f); + dustVel.y = Rand_ZeroFloat(1.0f); + dustVel.z = Rand_CenteredFloat(8.0f); + + dustAcc.y = 1.0f / 2; + + dustPos.x = Rand_CenteredFloat(30.0f) + this->actor.world.pos.x; + dustPos.y = Rand_CenteredFloat(30.0f) + this->actor.world.pos.y; + dustPos.z = Rand_CenteredFloat(30.0f) + this->actor.world.pos.z; + + EnVbBall_SpawnDust(globalCtx2, bossFd->effects, &dustPos, &dustVel, &dustAcc, + Rand_ZeroFloat(100.0f) + 350.0f); + } + } else { + for (i = 0; i < 5; i++) { + Vec3f debrisVel2 = { 0.0f, 0.0f, 0.0f }; + Vec3f debrisAcc2 = { 0.0f, -1.0f, 0.0f }; + Vec3f debrisPos2; + + debrisVel2.x = Rand_CenteredFloat(10.0f); + debrisVel2.y = Rand_ZeroFloat(3.0f) + 3.0f; + debrisVel2.z = Rand_CenteredFloat(10.0f); + + debrisPos2.x = Rand_CenteredFloat(5.0f) + this->actor.world.pos.x; + debrisPos2.y = Rand_CenteredFloat(5.0f) + this->actor.world.pos.y; + debrisPos2.z = Rand_CenteredFloat(5.0f) + this->actor.world.pos.z; + + EnVbBall_SpawnDebris(globalCtx2, bossFd->effects, &debrisPos2, &debrisVel2, &debrisAcc2, + (s16)Rand_ZeroFloat(12.0f) + 15); + } + Actor_Kill(&this->actor); + } + } + if (this->collider.base.atFlags & AT_HIT) { + Player* player = PLAYER; + + this->collider.base.atFlags &= ~AT_HIT; + Audio_PlayActorSound2(&player->actor, NA_SE_PL_BODY_HIT); + } + Collider_UpdateCylinder(&this->actor, &this->collider); + CollisionCheck_SetAT(globalCtx2, &globalCtx2->colChkCtx, &this->collider.base); + } +} + +void EnVbBall_Draw(Actor* thisx, GlobalContext* globalCtx) { + s32 pad; + EnVbBall* this = THIS; + + OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_vb_ball.c", 604); + if (1) {} // needed for match + func_80093D18(globalCtx->state.gfxCtx); + gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_vb_ball.c", 607), + G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + + if (this->actor.params >= 200) { + gSPDisplayList(POLY_OPA_DISP++, SEGMENTED_TO_VIRTUAL(gVolvagiaRibsDL)); + } else { + gSPDisplayList(POLY_OPA_DISP++, SEGMENTED_TO_VIRTUAL(gVolvagiaRockDL)); + func_80094044(globalCtx->state.gfxCtx); + + gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 0, 0, 0, (s8)this->shadowOpacity); + Matrix_Translate(this->actor.world.pos.x, 100.0f, this->actor.world.pos.z, MTXMODE_NEW); + Matrix_Scale(this->shadowSize, 1.0f, this->shadowSize, MTXMODE_APPLY); + gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_vb_ball.c", 626), + G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(gCircleShadowDL)); + } + + CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_vb_ball.c", 632); +} diff --git a/src/overlays/actors/ovl_En_Vb_Ball/z_en_vb_ball.h b/src/overlays/actors/ovl_En_Vb_Ball/z_en_vb_ball.h index 11a60c04e3..3ccca500f1 100644 --- a/src/overlays/actors/ovl_En_Vb_Ball/z_en_vb_ball.h +++ b/src/overlays/actors/ovl_En_Vb_Ball/z_en_vb_ball.h @@ -8,7 +8,15 @@ struct EnVbBall; typedef struct EnVbBall { /* 0x0000 */ Actor actor; - /* 0x014C */ char unk_14C[0x68]; + /* 0x014C */ char unk_14C[4]; + /* 0x0150 */ s16 unkTimer1; // These count up and down, but nothing uses them. + /* 0x0152 */ s16 unkTimer2; + /* 0x0154 */ char unk_154[4]; + /* 0x0158 */ f32 xRotVel; + /* 0x015C */ f32 yRotVel; + /* 0x0160 */ f32 shadowSize; + /* 0x0164 */ f32 shadowOpacity; + /* 0x0168 */ ColliderCylinder collider; } EnVbBall; // size = 0x01B4 extern const ActorInit En_Vb_Ball_InitVars; diff --git a/undefined_syms.txt b/undefined_syms.txt index 07a8573d3c..2416d0f0ba 100644 --- a/undefined_syms.txt +++ b/undefined_syms.txt @@ -426,11 +426,6 @@ D_060003C0 = 0x060003C0; D_060030A0 = 0x060030A0; D_06003158 = 0x06003158; -// z_bg_haka -D_06000428 = 0x06000428; -D_060001B0 = 0x060001B0; -D_060002A8 = 0x060002A8; - // z_bg_haka_megane D_06001250 = 0x06001250; D_06001830 = 0x06001830; @@ -2498,3 +2493,8 @@ D_060009C4 = 0x060009C4; D_06000844 = 0x06000844; D_060005C4 = 0x060005C4; D_06000350 = 0x06000350; + +// z_bg_haka +D_06000428 = 0x06000428; +D_060001B0 = 0x060001B0; +D_060002A8 = 0x060002A8;