From 5d39ae1cc780ea122de56da25e35b31b9949cb90 Mon Sep 17 00:00:00 2001 From: petrie911 <69443847+petrie911@users.noreply.github.com> Date: Sun, 4 Oct 2020 07:58:33 -0500 Subject: [PATCH] Rakkatenjo (#419) * Darkmeiro decompilation Bg_Gnd_Darkmeiro decompiled, matched, and documented. * give this a shot * fix conflict * one more try * bonk * static var cleanup * one more rename --- .../BgMoriRakkatenjo_Destroy.s | 14 -- .../BgMoriRakkatenjo_Init.s | 146 ------------ .../BgMoriRakkatenjo_Update.s | 76 ------ .../ovl_Bg_Mori_Rakkatenjo/func_808A5724.s | 58 ----- .../ovl_Bg_Mori_Rakkatenjo/func_808A57D4.s | 56 ----- .../ovl_Bg_Mori_Rakkatenjo/func_808A5884.s | 5 - .../ovl_Bg_Mori_Rakkatenjo/func_808A5894.s | 24 -- .../ovl_Bg_Mori_Rakkatenjo/func_808A58E8.s | 22 -- .../ovl_Bg_Mori_Rakkatenjo/func_808A5920.s | 60 ----- .../ovl_Bg_Mori_Rakkatenjo/func_808A59F0.s | 8 - .../ovl_Bg_Mori_Rakkatenjo/func_808A5A0C.s | 105 --------- .../ovl_Bg_Mori_Rakkatenjo/func_808A5B80.s | 15 -- .../ovl_Bg_Mori_Rakkatenjo/func_808A5BA4.s | 14 -- .../ovl_Bg_Mori_Rakkatenjo/func_808A5BD4.s | 13 - .../ovl_Bg_Mori_Rakkatenjo/func_808A5BF0.s | 40 ---- .../ovl_Bg_Mori_Rakkatenjo/func_808A5D60.s | 79 ------- .../actors/z_bg_mori_rakkatenjo.data.s | 24 -- .../actors/z_bg_mori_rakkatenjo.reloc.s | 13 - spec | 3 +- .../z_bg_mori_rakkatenjo.c | 222 ++++++++++++++++-- .../z_bg_mori_rakkatenjo.h | 10 +- undefined_syms.txt | 4 + 22 files changed, 217 insertions(+), 794 deletions(-) delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Mori_Rakkatenjo/BgMoriRakkatenjo_Destroy.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Mori_Rakkatenjo/BgMoriRakkatenjo_Init.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Mori_Rakkatenjo/BgMoriRakkatenjo_Update.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Mori_Rakkatenjo/func_808A5724.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Mori_Rakkatenjo/func_808A57D4.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Mori_Rakkatenjo/func_808A5884.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Mori_Rakkatenjo/func_808A5894.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Mori_Rakkatenjo/func_808A58E8.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Mori_Rakkatenjo/func_808A5920.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Mori_Rakkatenjo/func_808A59F0.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Mori_Rakkatenjo/func_808A5A0C.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Mori_Rakkatenjo/func_808A5B80.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Mori_Rakkatenjo/func_808A5BA4.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Mori_Rakkatenjo/func_808A5BD4.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Mori_Rakkatenjo/func_808A5BF0.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Mori_Rakkatenjo/func_808A5D60.s delete mode 100644 data/overlays/actors/z_bg_mori_rakkatenjo.data.s delete mode 100644 data/overlays/actors/z_bg_mori_rakkatenjo.reloc.s diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Mori_Rakkatenjo/BgMoriRakkatenjo_Destroy.s b/asm/non_matchings/overlays/actors/ovl_Bg_Mori_Rakkatenjo/BgMoriRakkatenjo_Destroy.s deleted file mode 100644 index 00a5a5afce..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Mori_Rakkatenjo/BgMoriRakkatenjo_Destroy.s +++ /dev/null @@ -1,14 +0,0 @@ -glabel BgMoriRakkatenjo_Destroy -/* 00184 808A56F4 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00188 808A56F8 AFA40018 */ sw $a0, 0x0018($sp) -/* 0018C 808A56FC 8FAE0018 */ lw $t6, 0x0018($sp) -/* 00190 808A5700 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00194 808A5704 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000 -/* 00198 808A5708 24A50810 */ addiu $a1, $a1, 0x0810 ## $a1 = 00000810 -/* 0019C 808A570C 0C00FB56 */ jal DynaPolyInfo_Free - ## DynaPolyInfo_delReserve -/* 001A0 808A5710 8DC6014C */ lw $a2, 0x014C($t6) ## 0000014C -/* 001A4 808A5714 8FBF0014 */ lw $ra, 0x0014($sp) -/* 001A8 808A5718 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 001AC 808A571C 03E00008 */ jr $ra -/* 001B0 808A5720 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Mori_Rakkatenjo/BgMoriRakkatenjo_Init.s b/asm/non_matchings/overlays/actors/ovl_Bg_Mori_Rakkatenjo/BgMoriRakkatenjo_Init.s deleted file mode 100644 index c89b4baffe..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Mori_Rakkatenjo/BgMoriRakkatenjo_Init.s +++ /dev/null @@ -1,146 +0,0 @@ -.rdata -glabel D_808A5EA0 - .asciz "森の神殿 obj. 落下天井 (home posY %f)\n" - .balign 4 - -glabel D_808A5EC8 - .asciz "Warning : セット位置が変更されています。プログラムを修正しましょう。\n" - .balign 4 - -glabel D_808A5F10 - .asciz "Warning : セット Angle が変更されています。プログラムを修正しましょう。\n" - .balign 4 - -glabel D_808A5F5C - .asciz "Error : 森の神殿 obj 落下天井 バンク危険!(%s %d)\n" - .balign 4 - -glabel D_808A5F90 - .asciz "../z_bg_mori_rakkatenjo.c" - .balign 4 - -.late_rodata -glabel D_808A604C - .float 0.001 - -glabel D_808A6050 - .word 0x44F8E000 -glabel D_808A6054 - .word 0x442AC000 -glabel D_808A6058 - .word 0xC51D8000 - -.text -glabel BgMoriRakkatenjo_Init -/* 00000 808A5570 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0 -/* 00004 808A5574 AFBF001C */ sw $ra, 0x001C($sp) -/* 00008 808A5578 AFB00018 */ sw $s0, 0x0018($sp) -/* 0000C 808A557C AFA50034 */ sw $a1, 0x0034($sp) -/* 00010 808A5580 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00014 808A5584 AFA00024 */ sw $zero, 0x0024($sp) -/* 00018 808A5588 0C010D20 */ jal DynaPolyInfo_SetActorMove - -/* 0001C 808A558C 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 00020 808A5590 C604000C */ lwc1 $f4, 0x000C($s0) ## 0000000C -/* 00024 808A5594 3C04808A */ lui $a0, %hi(D_808A5EA0) ## $a0 = 808A0000 -/* 00028 808A5598 24845EA0 */ addiu $a0, $a0, %lo(D_808A5EA0) ## $a0 = 808A5EA0 -/* 0002C 808A559C 460021A1 */ cvt.d.s $f6, $f4 -/* 00030 808A55A0 44073000 */ mfc1 $a3, $f6 -/* 00034 808A55A4 44063800 */ mfc1 $a2, $f7 -/* 00038 808A55A8 0C00084C */ jal osSyncPrintf - -/* 0003C 808A55AC 00000000 */ nop -/* 00040 808A55B0 3C01808A */ lui $at, %hi(D_808A604C) ## $at = 808A0000 -/* 00044 808A55B4 C422604C */ lwc1 $f2, %lo(D_808A604C)($at) -/* 00048 808A55B8 3C01808A */ lui $at, %hi(D_808A6050) ## $at = 808A0000 -/* 0004C 808A55BC C4286050 */ lwc1 $f8, %lo(D_808A6050)($at) -/* 00050 808A55C0 C60A0008 */ lwc1 $f10, 0x0008($s0) ## 00000008 -/* 00054 808A55C4 3C01808A */ lui $at, %hi(D_808A6054) ## $at = 808A0000 -/* 00058 808A55C8 3C04808A */ lui $a0, %hi(D_808A5EC8) ## $a0 = 808A0000 -/* 0005C 808A55CC 460A4001 */ sub.s $f0, $f8, $f10 -/* 00060 808A55D0 46000005 */ abs.s $f0, $f0 -/* 00064 808A55D4 4600103C */ c.lt.s $f2, $f0 -/* 00068 808A55D8 00000000 */ nop -/* 0006C 808A55DC 45010012 */ bc1t .L808A5628 -/* 00070 808A55E0 00000000 */ nop -/* 00074 808A55E4 C4306054 */ lwc1 $f16, %lo(D_808A6054)($at) -/* 00078 808A55E8 C612000C */ lwc1 $f18, 0x000C($s0) ## 0000000C -/* 0007C 808A55EC 3C01808A */ lui $at, %hi(D_808A6058) ## $at = 808A0000 -/* 00080 808A55F0 46128001 */ sub.s $f0, $f16, $f18 -/* 00084 808A55F4 46000005 */ abs.s $f0, $f0 -/* 00088 808A55F8 4600103C */ c.lt.s $f2, $f0 -/* 0008C 808A55FC 00000000 */ nop -/* 00090 808A5600 45010009 */ bc1t .L808A5628 -/* 00094 808A5604 00000000 */ nop -/* 00098 808A5608 C4246058 */ lwc1 $f4, %lo(D_808A6058)($at) -/* 0009C 808A560C C6060010 */ lwc1 $f6, 0x0010($s0) ## 00000010 -/* 000A0 808A5610 46062001 */ sub.s $f0, $f4, $f6 -/* 000A4 808A5614 46000005 */ abs.s $f0, $f0 -/* 000A8 808A5618 4600103C */ c.lt.s $f2, $f0 -/* 000AC 808A561C 00000000 */ nop -/* 000B0 808A5620 45020004 */ bc1fl .L808A5634 -/* 000B4 808A5624 860E0016 */ lh $t6, 0x0016($s0) ## 00000016 -.L808A5628: -/* 000B8 808A5628 0C00084C */ jal osSyncPrintf - -/* 000BC 808A562C 24845EC8 */ addiu $a0, $a0, %lo(D_808A5EC8) ## $a0 = 808A5EC8 -/* 000C0 808A5630 860E0016 */ lh $t6, 0x0016($s0) ## 00000016 -.L808A5634: -/* 000C4 808A5634 34018000 */ ori $at, $zero, 0x8000 ## $at = 00008000 -/* 000C8 808A5638 3C04808A */ lui $a0, %hi(D_808A5F10) ## $a0 = 808A0000 -/* 000CC 808A563C 51C10004 */ beql $t6, $at, .L808A5650 -/* 000D0 808A5640 8FA40034 */ lw $a0, 0x0034($sp) -/* 000D4 808A5644 0C00084C */ jal osSyncPrintf - -/* 000D8 808A5648 24845F10 */ addiu $a0, $a0, %lo(D_808A5F10) ## $a0 = 808A5F10 -/* 000DC 808A564C 8FA40034 */ lw $a0, 0x0034($sp) -.L808A5650: -/* 000E0 808A5650 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 000E4 808A5654 342117A4 */ ori $at, $at, 0x17A4 ## $at = 000117A4 -/* 000E8 808A5658 24050073 */ addiu $a1, $zero, 0x0073 ## $a1 = 00000073 -/* 000EC 808A565C 0C02604B */ jal Object_GetIndex - ## ObjectIndex -/* 000F0 808A5660 00812021 */ addu $a0, $a0, $at -/* 000F4 808A5664 A2020174 */ sb $v0, 0x0174($s0) ## 00000174 -/* 000F8 808A5668 820F0174 */ lb $t7, 0x0174($s0) ## 00000174 -/* 000FC 808A566C 240600CD */ addiu $a2, $zero, 0x00CD ## $a2 = 000000CD -/* 00100 808A5670 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00104 808A5674 05E1000A */ bgez $t7, .L808A56A0 -/* 00108 808A5678 3C05808A */ lui $a1, %hi(D_808A5E84) ## $a1 = 808A0000 -/* 0010C 808A567C 3C04808A */ lui $a0, %hi(D_808A5F5C) ## $a0 = 808A0000 -/* 00110 808A5680 3C05808A */ lui $a1, %hi(D_808A5F90) ## $a1 = 808A0000 -/* 00114 808A5684 24A55F90 */ addiu $a1, $a1, %lo(D_808A5F90) ## $a1 = 808A5F90 -/* 00118 808A5688 0C00084C */ jal osSyncPrintf - -/* 0011C 808A568C 24845F5C */ addiu $a0, $a0, %lo(D_808A5F5C) ## $a0 = 808A5F5C -/* 00120 808A5690 0C00B55C */ jal Actor_Kill - -/* 00124 808A5694 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00128 808A5698 10000012 */ beq $zero, $zero, .L808A56E4 -/* 0012C 808A569C 8FBF001C */ lw $ra, 0x001C($sp) -.L808A56A0: -/* 00130 808A56A0 0C01E037 */ jal Actor_ProcessInitChain - -/* 00134 808A56A4 24A55E84 */ addiu $a1, $a1, %lo(D_808A5E84) ## $a1 = 00005E84 -/* 00138 808A56A8 3C040601 */ lui $a0, 0x0601 ## $a0 = 06010000 -/* 0013C 808A56AC 248487AC */ addiu $a0, $a0, 0x87AC ## $a0 = 060087AC -/* 00140 808A56B0 0C010620 */ jal DynaPolyInfo_Alloc - -/* 00144 808A56B4 27A50024 */ addiu $a1, $sp, 0x0024 ## $a1 = FFFFFFF4 -/* 00148 808A56B8 8FA40034 */ lw $a0, 0x0034($sp) -/* 0014C 808A56BC 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000 -/* 00150 808A56C0 8FA70024 */ lw $a3, 0x0024($sp) -/* 00154 808A56C4 0C00FA9D */ jal DynaPolyInfo_RegisterActor - ## DynaPolyInfo_setActor -/* 00158 808A56C8 24850810 */ addiu $a1, $a0, 0x0810 ## $a1 = 00000810 -/* 0015C 808A56CC AE02014C */ sw $v0, 0x014C($s0) ## 0000014C -/* 00160 808A56D0 0C229621 */ jal func_808A5884 -/* 00164 808A56D4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00168 808A56D8 3C01808A */ lui $at, %hi(D_808A5E60) ## $at = 808A0000 -/* 0016C 808A56DC A4205E60 */ sh $zero, %lo(D_808A5E60)($at) -/* 00170 808A56E0 8FBF001C */ lw $ra, 0x001C($sp) -.L808A56E4: -/* 00174 808A56E4 8FB00018 */ lw $s0, 0x0018($sp) -/* 00178 808A56E8 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000 -/* 0017C 808A56EC 03E00008 */ jr $ra -/* 00180 808A56F0 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Mori_Rakkatenjo/BgMoriRakkatenjo_Update.s b/asm/non_matchings/overlays/actors/ovl_Bg_Mori_Rakkatenjo/BgMoriRakkatenjo_Update.s deleted file mode 100644 index e31e924aa9..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Mori_Rakkatenjo/BgMoriRakkatenjo_Update.s +++ /dev/null @@ -1,76 +0,0 @@ -.rdata -glabel D_808A5FAC - .asciz "camera changed (mori rakka tenjyo) ... \n" - .balign 4 - -glabel D_808A5FD8 - .asciz "camera changed (previous) ... \n" - .balign 4 - -.text -glabel BgMoriRakkatenjo_Update -/* 00700 808A5C70 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0 -/* 00704 808A5C74 AFBF002C */ sw $ra, 0x002C($sp) -/* 00708 808A5C78 AFB10028 */ sw $s1, 0x0028($sp) -/* 0070C 808A5C7C AFB00024 */ sw $s0, 0x0024($sp) -/* 00710 808A5C80 8C820168 */ lw $v0, 0x0168($a0) ## 00000168 -/* 00714 808A5C84 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00718 808A5C88 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000 -/* 0071C 808A5C8C 18400002 */ blez $v0, .L808A5C98 -/* 00720 808A5C90 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF -/* 00724 808A5C94 AC8E0168 */ sw $t6, 0x0168($a0) ## 00000168 -.L808A5C98: -/* 00728 808A5C98 8E190164 */ lw $t9, 0x0164($s0) ## 00000164 -/* 0072C 808A5C9C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00730 808A5CA0 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000 -/* 00734 808A5CA4 0320F809 */ jalr $ra, $t9 -/* 00738 808A5CA8 00000000 */ nop -/* 0073C 808A5CAC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00740 808A5CB0 0C2295C9 */ jal func_808A5724 -/* 00744 808A5CB4 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000 -/* 00748 808A5CB8 10400018 */ beq $v0, $zero, .L808A5D1C -/* 0074C 808A5CBC 3C0F808A */ lui $t7, %hi(D_808A5E60) ## $t7 = 808A0000 -/* 00750 808A5CC0 85EF5E60 */ lh $t7, %lo(D_808A5E60)($t7) -/* 00754 808A5CC4 3C04808A */ lui $a0, %hi(D_808A5FAC) ## $a0 = 808A0000 -/* 00758 808A5CC8 55E00021 */ bnel $t7, $zero, .L808A5D50 -/* 0075C 808A5CCC 8FBF002C */ lw $ra, 0x002C($sp) -/* 00760 808A5CD0 0C00084C */ jal osSyncPrintf - -/* 00764 808A5CD4 24845FAC */ addiu $a0, $a0, %lo(D_808A5FAC) ## $a0 = 808A5FAC -/* 00768 808A5CD8 8E380790 */ lw $t8, 0x0790($s1) ## 00000790 -/* 0076C 808A5CDC 3C01808A */ lui $at, %hi(D_808A5E60) ## $at = 808A0000 -/* 00770 808A5CE0 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 00774 808A5CE4 87080142 */ lh $t0, 0x0142($t8) ## 00000142 -/* 00778 808A5CE8 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000 -/* 0077C 808A5CEC 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 -/* 00780 808A5CF0 A4285E60 */ sh $t0, %lo(D_808A5E60)($at) -/* 00784 808A5CF4 8E240790 */ lw $a0, 0x0790($s1) ## 00000790 -/* 00788 808A5CF8 AFA00018 */ sw $zero, 0x0018($sp) -/* 0078C 808A5CFC AFA00014 */ sw $zero, 0x0014($sp) -/* 00790 808A5D00 0C016BF5 */ jal Camera_SetCameraData ## setCameraData -/* 00794 808A5D04 AFA00010 */ sw $zero, 0x0010($sp) -/* 00798 808A5D08 8E240790 */ lw $a0, 0x0790($s1) ## 00000790 -/* 0079C 808A5D0C 0C0169DF */ jal func_8005A77C -/* 007A0 808A5D10 24050027 */ addiu $a1, $zero, 0x0027 ## $a1 = 00000027 -/* 007A4 808A5D14 1000000E */ beq $zero, $zero, .L808A5D50 -/* 007A8 808A5D18 8FBF002C */ lw $ra, 0x002C($sp) -.L808A5D1C: -/* 007AC 808A5D1C 3C10808A */ lui $s0, %hi(D_808A5E60) ## $s0 = 808A0000 -/* 007B0 808A5D20 26105E60 */ addiu $s0, $s0, %lo(D_808A5E60) ## $s0 = 808A5E60 -/* 007B4 808A5D24 86090000 */ lh $t1, 0x0000($s0) ## 808A5E60 -/* 007B8 808A5D28 3C04808A */ lui $a0, %hi(D_808A5FD8) ## $a0 = 808A0000 -/* 007BC 808A5D2C 51200008 */ beql $t1, $zero, .L808A5D50 -/* 007C0 808A5D30 8FBF002C */ lw $ra, 0x002C($sp) -/* 007C4 808A5D34 0C00084C */ jal osSyncPrintf - -/* 007C8 808A5D38 24845FD8 */ addiu $a0, $a0, %lo(D_808A5FD8) ## $a0 = 808A5FD8 -/* 007CC 808A5D3C 8E240790 */ lw $a0, 0x0790($s1) ## 00000790 -/* 007D0 808A5D40 0C0169DF */ jal func_8005A77C -/* 007D4 808A5D44 24050004 */ addiu $a1, $zero, 0x0004 ## $a1 = 00000004 -/* 007D8 808A5D48 A6000000 */ sh $zero, 0x0000($s0) ## 808A5E60 -/* 007DC 808A5D4C 8FBF002C */ lw $ra, 0x002C($sp) -.L808A5D50: -/* 007E0 808A5D50 8FB00024 */ lw $s0, 0x0024($sp) -/* 007E4 808A5D54 8FB10028 */ lw $s1, 0x0028($sp) -/* 007E8 808A5D58 03E00008 */ jr $ra -/* 007EC 808A5D5C 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Mori_Rakkatenjo/func_808A5724.s b/asm/non_matchings/overlays/actors/ovl_Bg_Mori_Rakkatenjo/func_808A5724.s deleted file mode 100644 index 82b2ce259a..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Mori_Rakkatenjo/func_808A5724.s +++ /dev/null @@ -1,58 +0,0 @@ -.late_rodata -glabel D_808A605C - .word 0xC54E4000 -glabel D_808A6060 - .word 0x44DFE000 -glabel D_808A6064 - .word 0x4508F000 - -.text -glabel func_808A5724 -/* 001B4 808A5724 AFA40000 */ sw $a0, 0x0000($sp) -/* 001B8 808A5728 8CA31C44 */ lw $v1, 0x1C44($a1) ## 00001C44 -/* 001BC 808A572C 3C01808A */ lui $at, %hi(D_808A605C) ## $at = 808A0000 -/* 001C0 808A5730 C424605C */ lwc1 $f4, %lo(D_808A605C)($at) -/* 001C4 808A5734 C460002C */ lwc1 $f0, 0x002C($v1) ## 0000002C -/* 001C8 808A5738 3C01C4E6 */ lui $at, 0xC4E6 ## $at = C4E60000 -/* 001CC 808A573C 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000 -/* 001D0 808A5740 4600203C */ c.lt.s $f4, $f0 -/* 001D4 808A5744 24630024 */ addiu $v1, $v1, 0x0024 ## $v1 = 00000024 -/* 001D8 808A5748 45000002 */ bc1f .L808A5754 -/* 001DC 808A574C 00000000 */ nop -/* 001E0 808A5750 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001 -.L808A5754: -/* 001E4 808A5754 1040001D */ beq $v0, $zero, .L808A57CC -/* 001E8 808A5758 00000000 */ nop -/* 001EC 808A575C 44813000 */ mtc1 $at, $f6 ## $f6 = -1840.00 -/* 001F0 808A5760 3C01808A */ lui $at, %hi(D_808A6060) ## $at = 808A0000 -/* 001F4 808A5764 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000 -/* 001F8 808A5768 4606003C */ c.lt.s $f0, $f6 -/* 001FC 808A576C 00000000 */ nop -/* 00200 808A5770 45000002 */ bc1f .L808A577C -/* 00204 808A5774 00000000 */ nop -/* 00208 808A5778 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001 -.L808A577C: -/* 0020C 808A577C 10400013 */ beq $v0, $zero, .L808A57CC -/* 00210 808A5780 00000000 */ nop -/* 00214 808A5784 C4600000 */ lwc1 $f0, 0x0000($v1) ## 00000024 -/* 00218 808A5788 C4286060 */ lwc1 $f8, %lo(D_808A6060)($at) -/* 0021C 808A578C 3C01808A */ lui $at, %hi(D_808A6064) ## $at = 808A0000 -/* 00220 808A5790 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000 -/* 00224 808A5794 4600403C */ c.lt.s $f8, $f0 -/* 00228 808A5798 00000000 */ nop -/* 0022C 808A579C 45000002 */ bc1f .L808A57A8 -/* 00230 808A57A0 00000000 */ nop -/* 00234 808A57A4 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001 -.L808A57A8: -/* 00238 808A57A8 10400008 */ beq $v0, $zero, .L808A57CC -/* 0023C 808A57AC 00000000 */ nop -/* 00240 808A57B0 C42A6064 */ lwc1 $f10, %lo(D_808A6064)($at) -/* 00244 808A57B4 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000 -/* 00248 808A57B8 460A003C */ c.lt.s $f0, $f10 -/* 0024C 808A57BC 00000000 */ nop -/* 00250 808A57C0 45000002 */ bc1f .L808A57CC -/* 00254 808A57C4 00000000 */ nop -/* 00258 808A57C8 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001 -.L808A57CC: -/* 0025C 808A57CC 03E00008 */ jr $ra -/* 00260 808A57D0 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Mori_Rakkatenjo/func_808A57D4.s b/asm/non_matchings/overlays/actors/ovl_Bg_Mori_Rakkatenjo/func_808A57D4.s deleted file mode 100644 index c6b620ad1d..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Mori_Rakkatenjo/func_808A57D4.s +++ /dev/null @@ -1,56 +0,0 @@ -.late_rodata -glabel D_808A6068 - .word 0x44DFE000 -glabel D_808A606C - .word 0x4508F000 - -.text -glabel func_808A57D4 -/* 00264 808A57D4 AFA40000 */ sw $a0, 0x0000($sp) -/* 00268 808A57D8 8CA31C44 */ lw $v1, 0x1C44($a1) ## 00001C44 -/* 0026C 808A57DC 3C01C552 */ lui $at, 0xC552 ## $at = C5520000 -/* 00270 808A57E0 44812000 */ mtc1 $at, $f4 ## $f4 = -3360.00 -/* 00274 808A57E4 C460002C */ lwc1 $f0, 0x002C($v1) ## 0000002C -/* 00278 808A57E8 3C01C4E6 */ lui $at, 0xC4E6 ## $at = C4E60000 -/* 0027C 808A57EC 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000 -/* 00280 808A57F0 4600203C */ c.lt.s $f4, $f0 -/* 00284 808A57F4 24630024 */ addiu $v1, $v1, 0x0024 ## $v1 = 00000024 -/* 00288 808A57F8 45000002 */ bc1f .L808A5804 -/* 0028C 808A57FC 00000000 */ nop -/* 00290 808A5800 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001 -.L808A5804: -/* 00294 808A5804 1040001D */ beq $v0, $zero, .L808A587C -/* 00298 808A5808 00000000 */ nop -/* 0029C 808A580C 44813000 */ mtc1 $at, $f6 ## $f6 = -1840.00 -/* 002A0 808A5810 3C01808A */ lui $at, %hi(D_808A6068) ## $at = 808A0000 -/* 002A4 808A5814 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000 -/* 002A8 808A5818 4606003C */ c.lt.s $f0, $f6 -/* 002AC 808A581C 00000000 */ nop -/* 002B0 808A5820 45000002 */ bc1f .L808A582C -/* 002B4 808A5824 00000000 */ nop -/* 002B8 808A5828 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001 -.L808A582C: -/* 002BC 808A582C 10400013 */ beq $v0, $zero, .L808A587C -/* 002C0 808A5830 00000000 */ nop -/* 002C4 808A5834 C4600000 */ lwc1 $f0, 0x0000($v1) ## 00000024 -/* 002C8 808A5838 C4286068 */ lwc1 $f8, %lo(D_808A6068)($at) -/* 002CC 808A583C 3C01808A */ lui $at, %hi(D_808A606C) ## $at = 808A0000 -/* 002D0 808A5840 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000 -/* 002D4 808A5844 4600403C */ c.lt.s $f8, $f0 -/* 002D8 808A5848 00000000 */ nop -/* 002DC 808A584C 45000002 */ bc1f .L808A5858 -/* 002E0 808A5850 00000000 */ nop -/* 002E4 808A5854 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001 -.L808A5858: -/* 002E8 808A5858 10400008 */ beq $v0, $zero, .L808A587C -/* 002EC 808A585C 00000000 */ nop -/* 002F0 808A5860 C42A606C */ lwc1 $f10, %lo(D_808A606C)($at) -/* 002F4 808A5864 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000 -/* 002F8 808A5868 460A003C */ c.lt.s $f0, $f10 -/* 002FC 808A586C 00000000 */ nop -/* 00300 808A5870 45000002 */ bc1f .L808A587C -/* 00304 808A5874 00000000 */ nop -/* 00308 808A5878 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001 -.L808A587C: -/* 0030C 808A587C 03E00008 */ jr $ra -/* 00310 808A5880 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Mori_Rakkatenjo/func_808A5884.s b/asm/non_matchings/overlays/actors/ovl_Bg_Mori_Rakkatenjo/func_808A5884.s deleted file mode 100644 index 506bf423b5..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Mori_Rakkatenjo/func_808A5884.s +++ /dev/null @@ -1,5 +0,0 @@ -glabel func_808A5884 -/* 00314 808A5884 3C0E808A */ lui $t6, %hi(func_808A5894) ## $t6 = 808A0000 -/* 00318 808A5888 25CE5894 */ addiu $t6, $t6, %lo(func_808A5894) ## $t6 = 808A5894 -/* 0031C 808A588C 03E00008 */ jr $ra -/* 00320 808A5890 AC8E0164 */ sw $t6, 0x0164($a0) ## 00000164 diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Mori_Rakkatenjo/func_808A5894.s b/asm/non_matchings/overlays/actors/ovl_Bg_Mori_Rakkatenjo/func_808A5894.s deleted file mode 100644 index 1da1d1b85f..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Mori_Rakkatenjo/func_808A5894.s +++ /dev/null @@ -1,24 +0,0 @@ -glabel func_808A5894 -/* 00324 808A5894 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00328 808A5898 AFA40018 */ sw $a0, 0x0018($sp) -/* 0032C 808A589C 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 00330 808A58A0 8FAE0018 */ lw $t6, 0x0018($sp) -/* 00334 808A58A4 342117A4 */ ori $at, $at, 0x17A4 ## $at = 000117A4 -/* 00338 808A58A8 AFBF0014 */ sw $ra, 0x0014($sp) -/* 0033C 808A58AC 00A12021 */ addu $a0, $a1, $at -/* 00340 808A58B0 0C026062 */ jal Object_IsLoaded - -/* 00344 808A58B4 81C50174 */ lb $a1, 0x0174($t6) ## 00000174 -/* 00348 808A58B8 50400008 */ beql $v0, $zero, .L808A58DC -/* 0034C 808A58BC 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00350 808A58C0 0C22963A */ jal func_808A58E8 -/* 00354 808A58C4 8FA40018 */ lw $a0, 0x0018($sp) -/* 00358 808A58C8 8FB80018 */ lw $t8, 0x0018($sp) -/* 0035C 808A58CC 3C0F808A */ lui $t7, %hi(func_808A5D60) ## $t7 = 808A0000 -/* 00360 808A58D0 25EF5D60 */ addiu $t7, $t7, %lo(func_808A5D60) ## $t7 = 808A5D60 -/* 00364 808A58D4 AF0F0134 */ sw $t7, 0x0134($t8) ## 00000134 -/* 00368 808A58D8 8FBF0014 */ lw $ra, 0x0014($sp) -.L808A58DC: -/* 0036C 808A58DC 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00370 808A58E0 03E00008 */ jr $ra -/* 00374 808A58E4 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Mori_Rakkatenjo/func_808A58E8.s b/asm/non_matchings/overlays/actors/ovl_Bg_Mori_Rakkatenjo/func_808A58E8.s deleted file mode 100644 index 81f35a7360..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Mori_Rakkatenjo/func_808A58E8.s +++ /dev/null @@ -1,22 +0,0 @@ -.late_rodata -glabel D_808A6070 - .word 0x442AC000 - -.text -glabel func_808A58E8 -/* 00378 808A58E8 8C8E0170 */ lw $t6, 0x0170($a0) ## 00000170 -/* 0037C 808A58EC 3C19808A */ lui $t9, %hi(func_808A5920) ## $t9 = 808A0000 -/* 00380 808A58F0 3C01808A */ lui $at, %hi(D_808A6070) ## $at = 808A0000 -/* 00384 808A58F4 19C00004 */ blez $t6, .L808A5908 -/* 00388 808A58F8 27395920 */ addiu $t9, $t9, %lo(func_808A5920) ## $t9 = 808A5920 -/* 0038C 808A58FC 240F0064 */ addiu $t7, $zero, 0x0064 ## $t7 = 00000064 -/* 00390 808A5900 10000003 */ beq $zero, $zero, .L808A5910 -/* 00394 808A5904 AC8F0168 */ sw $t7, 0x0168($a0) ## 00000168 -.L808A5908: -/* 00398 808A5908 24180015 */ addiu $t8, $zero, 0x0015 ## $t8 = 00000015 -/* 0039C 808A590C AC980168 */ sw $t8, 0x0168($a0) ## 00000168 -.L808A5910: -/* 003A0 808A5910 C4246070 */ lwc1 $f4, %lo(D_808A6070)($at) -/* 003A4 808A5914 AC990164 */ sw $t9, 0x0164($a0) ## 00000164 -/* 003A8 808A5918 03E00008 */ jr $ra -/* 003AC 808A591C E4840028 */ swc1 $f4, 0x0028($a0) ## 00000028 diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Mori_Rakkatenjo/func_808A5920.s b/asm/non_matchings/overlays/actors/ovl_Bg_Mori_Rakkatenjo/func_808A5920.s deleted file mode 100644 index 9925b3a403..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Mori_Rakkatenjo/func_808A5920.s +++ /dev/null @@ -1,60 +0,0 @@ -glabel func_808A5920 -/* 003B0 808A5920 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0 -/* 003B4 808A5924 AFBF001C */ sw $ra, 0x001C($sp) -/* 003B8 808A5928 AFB00018 */ sw $s0, 0x0018($sp) -/* 003BC 808A592C 8C8E0170 */ lw $t6, 0x0170($a0) ## 00000170 -/* 003C0 808A5930 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 003C4 808A5934 15C00013 */ bne $t6, $zero, .L808A5984 -/* 003C8 808A5938 00000000 */ nop -/* 003CC 808A593C 0C2295F5 */ jal func_808A57D4 -/* 003D0 808A5940 00000000 */ nop -/* 003D4 808A5944 54400007 */ bnel $v0, $zero, .L808A5964 -/* 003D8 808A5948 8E020168 */ lw $v0, 0x0168($s0) ## 00000168 -/* 003DC 808A594C 8E0F0168 */ lw $t7, 0x0168($s0) ## 00000168 -/* 003E0 808A5950 24020015 */ addiu $v0, $zero, 0x0015 ## $v0 = 00000015 -/* 003E4 808A5954 29E10014 */ slti $at, $t7, 0x0014 -/* 003E8 808A5958 10200008 */ beq $at, $zero, .L808A597C -/* 003EC 808A595C 00000000 */ nop -/* 003F0 808A5960 8E020168 */ lw $v0, 0x0168($s0) ## 00000168 -.L808A5964: -/* 003F4 808A5964 5C400019 */ bgtzl $v0, .L808A59CC -/* 003F8 808A5968 28410014 */ slti $at, $v0, 0x0014 -/* 003FC 808A596C 0C22967C */ jal func_808A59F0 -/* 00400 808A5970 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00404 808A5974 10000014 */ beq $zero, $zero, .L808A59C8 -/* 00408 808A5978 8E020168 */ lw $v0, 0x0168($s0) ## 00000168 -.L808A597C: -/* 0040C 808A597C 10000012 */ beq $zero, $zero, .L808A59C8 -/* 00410 808A5980 AE020168 */ sw $v0, 0x0168($s0) ## 00000168 -.L808A5984: -/* 00414 808A5984 0C2295C9 */ jal func_808A5724 -/* 00418 808A5988 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 0041C 808A598C 54400007 */ bnel $v0, $zero, .L808A59AC -/* 00420 808A5990 8E020168 */ lw $v0, 0x0168($s0) ## 00000168 -/* 00424 808A5994 8E190168 */ lw $t9, 0x0168($s0) ## 00000168 -/* 00428 808A5998 24020064 */ addiu $v0, $zero, 0x0064 ## $v0 = 00000064 -/* 0042C 808A599C 2B210014 */ slti $at, $t9, 0x0014 -/* 00430 808A59A0 50200009 */ beql $at, $zero, .L808A59C8 -/* 00434 808A59A4 AE020168 */ sw $v0, 0x0168($s0) ## 00000168 -/* 00438 808A59A8 8E020168 */ lw $v0, 0x0168($s0) ## 00000168 -.L808A59AC: -/* 0043C 808A59AC 5C400007 */ bgtzl $v0, .L808A59CC -/* 00440 808A59B0 28410014 */ slti $at, $v0, 0x0014 -/* 00444 808A59B4 0C22967C */ jal func_808A59F0 -/* 00448 808A59B8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 0044C 808A59BC 10000002 */ beq $zero, $zero, .L808A59C8 -/* 00450 808A59C0 8E020168 */ lw $v0, 0x0168($s0) ## 00000168 -/* 00454 808A59C4 AE020168 */ sw $v0, 0x0168($s0) ## 00000168 -.L808A59C8: -/* 00458 808A59C8 28410014 */ slti $at, $v0, 0x0014 -.L808A59CC: -/* 0045C 808A59CC 50200004 */ beql $at, $zero, .L808A59E0 -/* 00460 808A59D0 8FBF001C */ lw $ra, 0x001C($sp) -/* 00464 808A59D4 0C01E233 */ jal func_800788CC -/* 00468 808A59D8 2404205C */ addiu $a0, $zero, 0x205C ## $a0 = 0000205C -/* 0046C 808A59DC 8FBF001C */ lw $ra, 0x001C($sp) -.L808A59E0: -/* 00470 808A59E0 8FB00018 */ lw $s0, 0x0018($sp) -/* 00474 808A59E4 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000 -/* 00478 808A59E8 03E00008 */ jr $ra -/* 0047C 808A59EC 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Mori_Rakkatenjo/func_808A59F0.s b/asm/non_matchings/overlays/actors/ovl_Bg_Mori_Rakkatenjo/func_808A59F0.s deleted file mode 100644 index 64873ca9a0..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Mori_Rakkatenjo/func_808A59F0.s +++ /dev/null @@ -1,8 +0,0 @@ -glabel func_808A59F0 -/* 00480 808A59F0 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00 -/* 00484 808A59F4 3C0E808A */ lui $t6, %hi(func_808A5A0C) ## $t6 = 808A0000 -/* 00488 808A59F8 25CE5A0C */ addiu $t6, $t6, %lo(func_808A5A0C) ## $t6 = 808A5A0C -/* 0048C 808A59FC AC8E0164 */ sw $t6, 0x0164($a0) ## 00000164 -/* 00490 808A5A00 AC80016C */ sw $zero, 0x016C($a0) ## 0000016C -/* 00494 808A5A04 03E00008 */ jr $ra -/* 00498 808A5A08 E4840060 */ swc1 $f4, 0x0060($a0) ## 00000060 diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Mori_Rakkatenjo/func_808A5A0C.s b/asm/non_matchings/overlays/actors/ovl_Bg_Mori_Rakkatenjo/func_808A5A0C.s deleted file mode 100644 index adf52e33f9..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Mori_Rakkatenjo/func_808A5A0C.s +++ /dev/null @@ -1,105 +0,0 @@ -.late_rodata -glabel D_808A6074 - .word 0x43C98000 -glabel D_808A6078 - .word 0x43C98000 - -.text -glabel func_808A5A0C -/* 0049C 808A5A0C 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8 -/* 004A0 808A5A10 AFBF0024 */ sw $ra, 0x0024($sp) -/* 004A4 808A5A14 AFB00020 */ sw $s0, 0x0020($sp) -/* 004A8 808A5A18 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 004AC 808A5A1C 0C00B638 */ jal Actor_MoveForward - -/* 004B0 808A5A20 AFA5003C */ sw $a1, 0x003C($sp) -/* 004B4 808A5A24 C60C0060 */ lwc1 $f12, 0x0060($s0) ## 00000060 -/* 004B8 808A5A28 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00 -/* 004BC 808A5A2C 3C01808A */ lui $at, %hi(D_808A6074) ## $at = 808A0000 -/* 004C0 808A5A30 4604603C */ c.lt.s $f12, $f4 -/* 004C4 808A5A34 00000000 */ nop -/* 004C8 808A5A38 4502004D */ bc1fl .L808A5B70 -/* 004CC 808A5A3C 8FBF0024 */ lw $ra, 0x0024($sp) -/* 004D0 808A5A40 C42E6074 */ lwc1 $f14, %lo(D_808A6074)($at) -/* 004D4 808A5A44 C6020028 */ lwc1 $f2, 0x0028($s0) ## 00000028 -/* 004D8 808A5A48 460E103E */ c.le.s $f2, $f14 -/* 004DC 808A5A4C 00000000 */ nop -/* 004E0 808A5A50 45020047 */ bc1fl .L808A5B70 -/* 004E4 808A5A54 8FBF0024 */ lw $ra, 0x0024($sp) -/* 004E8 808A5A58 8E02016C */ lw $v0, 0x016C($s0) ## 0000016C -/* 004EC 808A5A5C 28410004 */ slti $at, $v0, 0x0004 -/* 004F0 808A5A60 14200005 */ bne $at, $zero, .L808A5A78 -/* 004F4 808A5A64 00000000 */ nop -/* 004F8 808A5A68 0C2296E0 */ jal func_808A5B80 -/* 004FC 808A5A6C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00500 808A5A70 1000003F */ beq $zero, $zero, .L808A5B70 -/* 00504 808A5A74 8FBF0024 */ lw $ra, 0x0024($sp) -.L808A5A78: -/* 00508 808A5A78 14400011 */ bne $v0, $zero, .L808A5AC0 -/* 0050C 808A5A7C 00000000 */ nop -/* 00510 808A5A80 8E0E0170 */ lw $t6, 0x0170($s0) ## 00000170 -/* 00514 808A5A84 2404281D */ addiu $a0, $zero, 0x281D ## $a0 = 0000281D -/* 00518 808A5A88 25CF0001 */ addiu $t7, $t6, 0x0001 ## $t7 = 00000001 -/* 0051C 808A5A8C 0C01E233 */ jal func_800788CC -/* 00520 808A5A90 AE0F0170 */ sw $t7, 0x0170($s0) ## 00000170 -/* 00524 808A5A94 C6000094 */ lwc1 $f0, 0x0094($s0) ## 00000094 -/* 00528 808A5A98 240500FF */ addiu $a1, $zero, 0x00FF ## $a1 = 000000FF -/* 0052C 808A5A9C 24060014 */ addiu $a2, $zero, 0x0014 ## $a2 = 00000014 -/* 00530 808A5AA0 46000302 */ mul.s $f12, $f0, $f0 -/* 00534 808A5AA4 0C02A800 */ jal func_800AA000 -/* 00538 808A5AA8 24070096 */ addiu $a3, $zero, 0x0096 ## $a3 = 00000096 -/* 0053C 808A5AAC 3C01808A */ lui $at, %hi(D_808A6078) ## $at = 808A0000 -/* 00540 808A5AB0 C42E6078 */ lwc1 $f14, %lo(D_808A6078)($at) -/* 00544 808A5AB4 8E02016C */ lw $v0, 0x016C($s0) ## 0000016C -/* 00548 808A5AB8 C60C0060 */ lwc1 $f12, 0x0060($s0) ## 00000060 -/* 0054C 808A5ABC C6020028 */ lwc1 $f2, 0x0028($s0) ## 00000028 -.L808A5AC0: -/* 00550 808A5AC0 3C03808A */ lui $v1, %hi(D_808A5E90) ## $v1 = 808A0000 -/* 00554 808A5AC4 24635E90 */ addiu $v1, $v1, %lo(D_808A5E90) ## $v1 = 808A5E90 -/* 00558 808A5AC8 0002C080 */ sll $t8, $v0, 2 -/* 0055C 808A5ACC 460E1181 */ sub.s $f6, $f2, $f14 -/* 00560 808A5AD0 0078C821 */ addu $t9, $v1, $t8 -/* 00564 808A5AD4 C7280000 */ lwc1 $f8, 0x0000($t9) ## 00000000 -/* 00568 808A5AD8 46006005 */ abs.s $f0, $f12 -/* 0056C 808A5ADC 8E08016C */ lw $t0, 0x016C($s0) ## 0000016C -/* 00570 808A5AE0 46083282 */ mul.s $f10, $f6, $f8 -/* 00574 808A5AE4 8FA6003C */ lw $a2, 0x003C($sp) -/* 00578 808A5AE8 00084880 */ sll $t1, $t0, 2 -/* 0057C 808A5AEC 8E0B016C */ lw $t3, 0x016C($s0) ## 0000016C -/* 00580 808A5AF0 00695021 */ addu $t2, $v1, $t1 -/* 00584 808A5AF4 24050003 */ addiu $a1, $zero, 0x0003 ## $a1 = 00000003 -/* 00588 808A5AF8 256C0001 */ addiu $t4, $t3, 0x0001 ## $t4 = 00000001 -/* 0058C 808A5AFC 46005403 */ div.s $f16, $f10, $f0 -/* 00590 808A5B00 46107481 */ sub.s $f18, $f14, $f16 -/* 00594 808A5B04 E6120028 */ swc1 $f18, 0x0028($s0) ## 00000028 -/* 00598 808A5B08 C5440000 */ lwc1 $f4, 0x0000($t2) ## 00000000 -/* 0059C 808A5B0C AE0C016C */ sw $t4, 0x016C($s0) ## 0000016C -/* 005A0 808A5B10 E6040060 */ swc1 $f4, 0x0060($s0) ## 00000060 -/* 005A4 808A5B14 84CD07A0 */ lh $t5, 0x07A0($a2) ## 000007A0 -/* 005A8 808A5B18 000D7080 */ sll $t6, $t5, 2 -/* 005AC 808A5B1C 00CE7821 */ addu $t7, $a2, $t6 -/* 005B0 808A5B20 0C024BE2 */ jal Quake_Add -/* 005B4 808A5B24 8DE40790 */ lw $a0, 0x0790($t7) ## 00000790 -/* 005B8 808A5B28 00022400 */ sll $a0, $v0, 16 -/* 005BC 808A5B2C AFA2002C */ sw $v0, 0x002C($sp) -/* 005C0 808A5B30 00042403 */ sra $a0, $a0, 16 -/* 005C4 808A5B34 0C024B6B */ jal Quake_SetSpeed -/* 005C8 808A5B38 2405C350 */ addiu $a1, $zero, 0xC350 ## $a1 = FFFFC350 -/* 005CC 808A5B3C 87B0002E */ lh $s0, 0x002E($sp) -/* 005D0 808A5B40 24050005 */ addiu $a1, $zero, 0x0005 ## $a1 = 00000005 -/* 005D4 808A5B44 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000 -/* 005D8 808A5B48 00102400 */ sll $a0, $s0, 16 -/* 005DC 808A5B4C 00042403 */ sra $a0, $a0, 16 -/* 005E0 808A5B50 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 -/* 005E4 808A5B54 0C024B9C */ jal Quake_SetQuakeValues -/* 005E8 808A5B58 AFA00010 */ sw $zero, 0x0010($sp) -/* 005EC 808A5B5C 00102400 */ sll $a0, $s0, 16 -/* 005F0 808A5B60 00042403 */ sra $a0, $a0, 16 -/* 005F4 808A5B64 0C024B7C */ jal Quake_SetCountdown -/* 005F8 808A5B68 24050005 */ addiu $a1, $zero, 0x0005 ## $a1 = 00000005 -/* 005FC 808A5B6C 8FBF0024 */ lw $ra, 0x0024($sp) -.L808A5B70: -/* 00600 808A5B70 8FB00020 */ lw $s0, 0x0020($sp) -/* 00604 808A5B74 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000 -/* 00608 808A5B78 03E00008 */ jr $ra -/* 0060C 808A5B7C 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Mori_Rakkatenjo/func_808A5B80.s b/asm/non_matchings/overlays/actors/ovl_Bg_Mori_Rakkatenjo/func_808A5B80.s deleted file mode 100644 index 6a028bdc9f..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Mori_Rakkatenjo/func_808A5B80.s +++ /dev/null @@ -1,15 +0,0 @@ -.late_rodata -glabel D_808A607C - .word 0x43C98000 - -.text -glabel func_808A5B80 -/* 00610 808A5B80 3C0E808A */ lui $t6, %hi(func_808A5BA4) ## $t6 = 808A0000 -/* 00614 808A5B84 25CE5BA4 */ addiu $t6, $t6, %lo(func_808A5BA4) ## $t6 = 808A5BA4 -/* 00618 808A5B88 AC8E0164 */ sw $t6, 0x0164($a0) ## 00000164 -/* 0061C 808A5B8C 3C01808A */ lui $at, %hi(D_808A607C) ## $at = 808A0000 -/* 00620 808A5B90 C424607C */ lwc1 $f4, %lo(D_808A607C)($at) -/* 00624 808A5B94 240F0014 */ addiu $t7, $zero, 0x0014 ## $t7 = 00000014 -/* 00628 808A5B98 AC8F0168 */ sw $t7, 0x0168($a0) ## 00000168 -/* 0062C 808A5B9C 03E00008 */ jr $ra -/* 00630 808A5BA0 E4840028 */ swc1 $f4, 0x0028($a0) ## 00000028 diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Mori_Rakkatenjo/func_808A5BA4.s b/asm/non_matchings/overlays/actors/ovl_Bg_Mori_Rakkatenjo/func_808A5BA4.s deleted file mode 100644 index 26e92bb398..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Mori_Rakkatenjo/func_808A5BA4.s +++ /dev/null @@ -1,14 +0,0 @@ -glabel func_808A5BA4 -/* 00634 808A5BA4 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00638 808A5BA8 AFBF0014 */ sw $ra, 0x0014($sp) -/* 0063C 808A5BAC AFA5001C */ sw $a1, 0x001C($sp) -/* 00640 808A5BB0 8C8E0168 */ lw $t6, 0x0168($a0) ## 00000168 -/* 00644 808A5BB4 5DC00004 */ bgtzl $t6, .L808A5BC8 -/* 00648 808A5BB8 8FBF0014 */ lw $ra, 0x0014($sp) -/* 0064C 808A5BBC 0C2296F5 */ jal func_808A5BD4 -/* 00650 808A5BC0 00000000 */ nop -/* 00654 808A5BC4 8FBF0014 */ lw $ra, 0x0014($sp) -.L808A5BC8: -/* 00658 808A5BC8 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 0065C 808A5BCC 03E00008 */ jr $ra -/* 00660 808A5BD0 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Mori_Rakkatenjo/func_808A5BD4.s b/asm/non_matchings/overlays/actors/ovl_Bg_Mori_Rakkatenjo/func_808A5BD4.s deleted file mode 100644 index b8ff4d0d4d..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Mori_Rakkatenjo/func_808A5BD4.s +++ /dev/null @@ -1,13 +0,0 @@ -.late_rodata -glabel D_808A6080 - .word 0xBDCCCCCD - -.text -glabel func_808A5BD4 -/* 00664 808A5BD4 3C0E808A */ lui $t6, %hi(func_808A5BF0) ## $t6 = 808A0000 -/* 00668 808A5BD8 25CE5BF0 */ addiu $t6, $t6, %lo(func_808A5BF0) ## $t6 = 808A5BF0 -/* 0066C 808A5BDC AC8E0164 */ sw $t6, 0x0164($a0) ## 00000164 -/* 00670 808A5BE0 3C01808A */ lui $at, %hi(D_808A6080) ## $at = 808A0000 -/* 00674 808A5BE4 C4246080 */ lwc1 $f4, %lo(D_808A6080)($at) -/* 00678 808A5BE8 03E00008 */ jr $ra -/* 0067C 808A5BEC E4840060 */ swc1 $f4, 0x0060($a0) ## 00000060 diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Mori_Rakkatenjo/func_808A5BF0.s b/asm/non_matchings/overlays/actors/ovl_Bg_Mori_Rakkatenjo/func_808A5BF0.s deleted file mode 100644 index 0f469f71ac..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Mori_Rakkatenjo/func_808A5BF0.s +++ /dev/null @@ -1,40 +0,0 @@ -.late_rodata -glabel D_808A6084 - .word 0x442AC000, 0x00000000, 0x00000000 - -.text -glabel func_808A5BF0 -/* 00680 808A5BF0 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8 -/* 00684 808A5BF4 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00 -/* 00688 808A5BF8 AFB00020 */ sw $s0, 0x0020($sp) -/* 0068C 808A5BFC 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00690 808A5C00 AFBF0024 */ sw $ra, 0x0024($sp) -/* 00694 808A5C04 AFA5002C */ sw $a1, 0x002C($sp) -/* 00698 808A5C08 3C063D75 */ lui $a2, 0x3D75 ## $a2 = 3D750000 -/* 0069C 808A5C0C 3C073DCC */ lui $a3, 0x3DCC ## $a3 = 3DCC0000 -/* 006A0 808A5C10 34E7CCCD */ ori $a3, $a3, 0xCCCD ## $a3 = 3DCCCCCD -/* 006A4 808A5C14 34C6C28F */ ori $a2, $a2, 0xC28F ## $a2 = 3D75C28F -/* 006A8 808A5C18 3C0540A0 */ lui $a1, 0x40A0 ## $a1 = 40A00000 -/* 006AC 808A5C1C 24840060 */ addiu $a0, $a0, 0x0060 ## $a0 = 00000060 -/* 006B0 808A5C20 0C01E0C4 */ jal Math_SmoothScaleMaxMinF - -/* 006B4 808A5C24 E7A40010 */ swc1 $f4, 0x0010($sp) -/* 006B8 808A5C28 C6060028 */ lwc1 $f6, 0x0028($s0) ## 00000028 -/* 006BC 808A5C2C C6080060 */ lwc1 $f8, 0x0060($s0) ## 00000060 -/* 006C0 808A5C30 3C01808A */ lui $at, %hi(D_808A6084) ## $at = 808A0000 -/* 006C4 808A5C34 46083280 */ add.s $f10, $f6, $f8 -/* 006C8 808A5C38 E60A0028 */ swc1 $f10, 0x0028($s0) ## 00000028 -/* 006CC 808A5C3C C4326084 */ lwc1 $f18, %lo(D_808A6084)($at) -/* 006D0 808A5C40 C6100028 */ lwc1 $f16, 0x0028($s0) ## 00000028 -/* 006D4 808A5C44 4610903E */ c.le.s $f18, $f16 -/* 006D8 808A5C48 00000000 */ nop -/* 006DC 808A5C4C 45020004 */ bc1fl .L808A5C60 -/* 006E0 808A5C50 8FBF0024 */ lw $ra, 0x0024($sp) -/* 006E4 808A5C54 0C22963A */ jal func_808A58E8 -/* 006E8 808A5C58 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 006EC 808A5C5C 8FBF0024 */ lw $ra, 0x0024($sp) -.L808A5C60: -/* 006F0 808A5C60 8FB00020 */ lw $s0, 0x0020($sp) -/* 006F4 808A5C64 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000 -/* 006F8 808A5C68 03E00008 */ jr $ra -/* 006FC 808A5C6C 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Mori_Rakkatenjo/func_808A5D60.s b/asm/non_matchings/overlays/actors/ovl_Bg_Mori_Rakkatenjo/func_808A5D60.s deleted file mode 100644 index b43096733e..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Mori_Rakkatenjo/func_808A5D60.s +++ /dev/null @@ -1,79 +0,0 @@ -.rdata -glabel D_808A5FF8 - .asciz "../z_bg_mori_rakkatenjo.c" - .balign 4 - -glabel D_808A6014 - .asciz "../z_bg_mori_rakkatenjo.c" - .balign 4 - -glabel D_808A6030 - .asciz "../z_bg_mori_rakkatenjo.c" - .balign 4 - -.text -glabel func_808A5D60 -/* 007F0 808A5D60 27BDFFB0 */ addiu $sp, $sp, 0xFFB0 ## $sp = FFFFFFB0 -/* 007F4 808A5D64 AFB10018 */ sw $s1, 0x0018($sp) -/* 007F8 808A5D68 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000 -/* 007FC 808A5D6C AFBF001C */ sw $ra, 0x001C($sp) -/* 00800 808A5D70 AFB00014 */ sw $s0, 0x0014($sp) -/* 00804 808A5D74 AFA40050 */ sw $a0, 0x0050($sp) -/* 00808 808A5D78 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000 -/* 0080C 808A5D7C 3C06808A */ lui $a2, %hi(D_808A5FF8) ## $a2 = 808A0000 -/* 00810 808A5D80 24C65FF8 */ addiu $a2, $a2, %lo(D_808A5FF8) ## $a2 = 808A5FF8 -/* 00814 808A5D84 27A40034 */ addiu $a0, $sp, 0x0034 ## $a0 = FFFFFFE4 -/* 00818 808A5D88 240701F1 */ addiu $a3, $zero, 0x01F1 ## $a3 = 000001F1 -/* 0081C 808A5D8C 0C031AB1 */ jal Graph_OpenDisps -/* 00820 808A5D90 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000 -/* 00824 808A5D94 0C024F46 */ jal func_80093D18 -/* 00828 808A5D98 8E240000 */ lw $a0, 0x0000($s1) ## 00000000 -/* 0082C 808A5D9C 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0 -/* 00830 808A5DA0 3C0FDB06 */ lui $t7, 0xDB06 ## $t7 = DB060000 -/* 00834 808A5DA4 35EF0020 */ ori $t7, $t7, 0x0020 ## $t7 = DB060020 -/* 00838 808A5DA8 244E0008 */ addiu $t6, $v0, 0x0008 ## $t6 = 00000008 -/* 0083C 808A5DAC AE0E02C0 */ sw $t6, 0x02C0($s0) ## 000002C0 -/* 00840 808A5DB0 AC4F0000 */ sw $t7, 0x0000($v0) ## 00000000 -/* 00844 808A5DB4 8FB80050 */ lw $t8, 0x0050($sp) -/* 00848 808A5DB8 3C0A0001 */ lui $t2, 0x0001 ## $t2 = 00010000 -/* 0084C 808A5DBC 3C0CDA38 */ lui $t4, 0xDA38 ## $t4 = DA380000 -/* 00850 808A5DC0 83190174 */ lb $t9, 0x0174($t8) ## 00000174 -/* 00854 808A5DC4 358C0003 */ ori $t4, $t4, 0x0003 ## $t4 = DA380003 -/* 00858 808A5DC8 3C05808A */ lui $a1, %hi(D_808A6014) ## $a1 = 808A0000 -/* 0085C 808A5DCC 00194100 */ sll $t0, $t9, 4 -/* 00860 808A5DD0 01194021 */ addu $t0, $t0, $t9 -/* 00864 808A5DD4 00084080 */ sll $t0, $t0, 2 -/* 00868 808A5DD8 02284821 */ addu $t1, $s1, $t0 -/* 0086C 808A5DDC 01495021 */ addu $t2, $t2, $t1 -/* 00870 808A5DE0 8D4A17B4 */ lw $t2, 0x17B4($t2) ## 000117B4 -/* 00874 808A5DE4 24A56014 */ addiu $a1, $a1, %lo(D_808A6014) ## $a1 = 808A6014 -/* 00878 808A5DE8 240601F6 */ addiu $a2, $zero, 0x01F6 ## $a2 = 000001F6 -/* 0087C 808A5DEC AC4A0004 */ sw $t2, 0x0004($v0) ## 00000004 -/* 00880 808A5DF0 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0 -/* 00884 808A5DF4 244B0008 */ addiu $t3, $v0, 0x0008 ## $t3 = 00000008 -/* 00888 808A5DF8 AE0B02C0 */ sw $t3, 0x02C0($s0) ## 000002C0 -/* 0088C 808A5DFC AC4C0000 */ sw $t4, 0x0000($v0) ## 00000000 -/* 00890 808A5E00 8E240000 */ lw $a0, 0x0000($s1) ## 00000000 -/* 00894 808A5E04 0C0346A2 */ jal Matrix_NewMtx -/* 00898 808A5E08 AFA2002C */ sw $v0, 0x002C($sp) -/* 0089C 808A5E0C 8FA3002C */ lw $v1, 0x002C($sp) -/* 008A0 808A5E10 3C0F0600 */ lui $t7, 0x0600 ## $t7 = 06000000 -/* 008A4 808A5E14 25EF7690 */ addiu $t7, $t7, 0x7690 ## $t7 = 06007690 -/* 008A8 808A5E18 AC620004 */ sw $v0, 0x0004($v1) ## 00000004 -/* 008AC 808A5E1C 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0 -/* 008B0 808A5E20 3C0EDE00 */ lui $t6, 0xDE00 ## $t6 = DE000000 -/* 008B4 808A5E24 3C06808A */ lui $a2, %hi(D_808A6030) ## $a2 = 808A0000 -/* 008B8 808A5E28 244D0008 */ addiu $t5, $v0, 0x0008 ## $t5 = 00000008 -/* 008BC 808A5E2C AE0D02C0 */ sw $t5, 0x02C0($s0) ## 000002C0 -/* 008C0 808A5E30 AC4F0004 */ sw $t7, 0x0004($v0) ## 00000004 -/* 008C4 808A5E34 AC4E0000 */ sw $t6, 0x0000($v0) ## 00000000 -/* 008C8 808A5E38 8E250000 */ lw $a1, 0x0000($s1) ## 00000000 -/* 008CC 808A5E3C 24C66030 */ addiu $a2, $a2, %lo(D_808A6030) ## $a2 = 808A6030 -/* 008D0 808A5E40 27A40034 */ addiu $a0, $sp, 0x0034 ## $a0 = FFFFFFE4 -/* 008D4 808A5E44 0C031AD5 */ jal Graph_CloseDisps -/* 008D8 808A5E48 240701FA */ addiu $a3, $zero, 0x01FA ## $a3 = 000001FA -/* 008DC 808A5E4C 8FBF001C */ lw $ra, 0x001C($sp) -/* 008E0 808A5E50 8FB00014 */ lw $s0, 0x0014($sp) -/* 008E4 808A5E54 8FB10018 */ lw $s1, 0x0018($sp) -/* 008E8 808A5E58 03E00008 */ jr $ra -/* 008EC 808A5E5C 27BD0050 */ addiu $sp, $sp, 0x0050 ## $sp = 00000000 diff --git a/data/overlays/actors/z_bg_mori_rakkatenjo.data.s b/data/overlays/actors/z_bg_mori_rakkatenjo.data.s deleted file mode 100644 index c866292ab7..0000000000 --- a/data/overlays/actors/z_bg_mori_rakkatenjo.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 D_808A5E60 - .word 0x00000000 -glabel Bg_Mori_Rakkatenjo_InitVars - .word 0x00890100, 0x00000030, 0x00720000, 0x00000178 -.word BgMoriRakkatenjo_Init -.word BgMoriRakkatenjo_Destroy -.word BgMoriRakkatenjo_Update -.word 0x00000000 -glabel D_808A5E84 - .word 0xB06CFFFF, 0xB070FFF5, 0x485003E8 -glabel D_808A5E90 - .word 0x40800000, 0x3FC00000, 0x3ECCCCCD, 0x3DCCCCCD - diff --git a/data/overlays/actors/z_bg_mori_rakkatenjo.reloc.s b/data/overlays/actors/z_bg_mori_rakkatenjo.reloc.s deleted file mode 100644 index f17e449ced..0000000000 --- a/data/overlays/actors/z_bg_mori_rakkatenjo.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_808A6090 - .incbin "baserom/ovl_Bg_Mori_Rakkatenjo", 0xB20, 0x00000180 diff --git a/spec b/spec index 3182af81c0..cdd87dac0d 100644 --- a/spec +++ b/spec @@ -1137,8 +1137,7 @@ endseg beginseg name "ovl_Bg_Mori_Rakkatenjo" include "build/src/overlays/actors/ovl_Bg_Mori_Rakkatenjo/z_bg_mori_rakkatenjo.o" - include "build/data/overlays/actors/z_bg_mori_rakkatenjo.data.o" - include "build/data/overlays/actors/z_bg_mori_rakkatenjo.reloc.o" + include "build/src/overlays/actors/ovl_Bg_Mori_Rakkatenjo/ovl_Bg_Mori_Rakkatenjo_reloc.o" endseg beginseg diff --git a/src/overlays/actors/ovl_Bg_Mori_Rakkatenjo/z_bg_mori_rakkatenjo.c b/src/overlays/actors/ovl_Bg_Mori_Rakkatenjo/z_bg_mori_rakkatenjo.c index 6cbfe95327..812fba0ff3 100644 --- a/src/overlays/actors/ovl_Bg_Mori_Rakkatenjo/z_bg_mori_rakkatenjo.c +++ b/src/overlays/actors/ovl_Bg_Mori_Rakkatenjo/z_bg_mori_rakkatenjo.c @@ -1,3 +1,9 @@ +/* + * File: z_bg_mori_rakkatenjo.c + * Overlay: ovl_Bg_Mori_Rakkatenjo + * Description: Falling ceiling in Forest Temple + */ + #include "z_bg_mori_rakkatenjo.h" #define FLAGS 0x00000030 @@ -7,8 +13,24 @@ void BgMoriRakkatenjo_Init(Actor* thisx, GlobalContext* globalCtx); void BgMoriRakkatenjo_Destroy(Actor* thisx, GlobalContext* globalCtx); void BgMoriRakkatenjo_Update(Actor* thisx, GlobalContext* globalCtx); +void BgMoriRakkatenjo_Draw(Actor* thisx, GlobalContext* globalCtx); + +void BgMoriRakkatenjo_SetupWaitForMoriTex(BgMoriRakkatenjo* this); +void BgMoriRakkatenjo_WaitForMoriTex(BgMoriRakkatenjo* this, GlobalContext* globalCtx); +void BgMoriRakkatenjo_SetupWait(BgMoriRakkatenjo* this); +void BgMoriRakkatenjo_Wait(BgMoriRakkatenjo* this, GlobalContext* globalCtx); +void BgMoriRakkatenjo_SetupFall(BgMoriRakkatenjo* this); +void BgMoriRakkatenjo_Fall(BgMoriRakkatenjo* this, GlobalContext* globalCtx); +void BgMoriRakkatenjo_SetupRest(BgMoriRakkatenjo* this); +void BgMoriRakkatenjo_Rest(BgMoriRakkatenjo* this, GlobalContext* globalCtx); +void BgMoriRakkatenjo_SetupRise(BgMoriRakkatenjo* this); +void BgMoriRakkatenjo_Rise(BgMoriRakkatenjo* this, GlobalContext* globalCtx); + +extern ColHeader D_060087AC; +extern Gfx D_06007690[]; + +static s16 sCamSetting = 0; -/* const ActorInit Bg_Mori_Rakkatenjo_InitVars = { ACTOR_BG_MORI_RAKKATENJO, ACTORTYPE_BG, @@ -20,35 +42,199 @@ const ActorInit Bg_Mori_Rakkatenjo_InitVars = { (ActorFunc)BgMoriRakkatenjo_Update, NULL, }; -*/ -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Mori_Rakkatenjo/BgMoriRakkatenjo_Init.s") -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Mori_Rakkatenjo/BgMoriRakkatenjo_Destroy.s") +static InitChainEntry sInitChain[] = { + ICHAIN_F32(gravity, -1, ICHAIN_CONTINUE), + ICHAIN_F32(minVelocityY, -11, ICHAIN_CONTINUE), + ICHAIN_VEC3F_DIV1000(scale, 1000, ICHAIN_STOP), +}; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Mori_Rakkatenjo/func_808A5724.s") +void BgMoriRakkatenjo_Init(Actor* thisx, GlobalContext* globalCtx) { + s32 pad; + BgMoriRakkatenjo* this = THIS; + ColHeader* colHeader = NULL; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Mori_Rakkatenjo/func_808A57D4.s") + DynaPolyInfo_SetActorMove(&this->dyna, DPM_PLAYER); + // Forest Temple obj. Falling Ceiling + osSyncPrintf("森の神殿 obj. 落下天井 (home posY %f)\n", this->dyna.actor.initPosRot.pos.y); + if ((fabsf(1991.0f - this->dyna.actor.initPosRot.pos.x) > 0.001f) || + (fabsf(683.0f - this->dyna.actor.initPosRot.pos.y) > 0.001f) || + (fabsf(-2520.0f - this->dyna.actor.initPosRot.pos.z) > 0.001f)) { + // The set position has been changed. Let's fix the program. + osSyncPrintf("Warning : セット位置が変更されています。プログラムを修正しましょう。\n"); + } + if (this->dyna.actor.initPosRot.rot.y != 0x8000) { + // The set Angle has changed. Let's fix the program. + osSyncPrintf("Warning : セット Angle が変更されています。プログラムを修正しましょう。\n"); + } + this->moriTexObjIndex = Object_GetIndex(&globalCtx->objectCtx, OBJECT_MORI_TEX); + if (this->moriTexObjIndex < 0) { + // Forest Temple obj Falling Ceiling Bank Danger! + osSyncPrintf("Error : 森の神殿 obj 落下天井 バンク危険!(%s %d)\n", "../z_bg_mori_rakkatenjo.c", 205); + Actor_Kill(&this->dyna.actor); + return; + } + Actor_ProcessInitChain(&this->dyna.actor, sInitChain); + DynaPolyInfo_Alloc(&D_060087AC, &colHeader); + this->dyna.dynaPolyId = + DynaPolyInfo_RegisterActor(globalCtx, &globalCtx->colCtx.dyna, &this->dyna.actor, colHeader); + BgMoriRakkatenjo_SetupWaitForMoriTex(this); + sCamSetting = 0; +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Mori_Rakkatenjo/func_808A5884.s") +void BgMoriRakkatenjo_Destroy(Actor* thisx, GlobalContext* globalCtx) { + s32 pad; + BgMoriRakkatenjo* this = THIS; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Mori_Rakkatenjo/func_808A5894.s") + DynaPolyInfo_Free(globalCtx, &globalCtx->colCtx.dyna, this->dyna.dynaPolyId); +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Mori_Rakkatenjo/func_808A58E8.s") +s32 BgMoriRakkatenjo_IsLinkUnder(BgMoriRakkatenjo* this, GlobalContext* globalCtx) { + Vec3f* pos = &PLAYER->actor.posRot.pos; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Mori_Rakkatenjo/func_808A5920.s") + return (-3300.0f < pos->z) && (pos->z < -1840.0f) && (1791.0f < pos->x) && (pos->x < 2191.0f); +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Mori_Rakkatenjo/func_808A59F0.s") +s32 BgMoriRakkatenjo_IsLinkClose(BgMoriRakkatenjo* this, GlobalContext* globalCtx) { + Vec3f* pos = &PLAYER->actor.posRot.pos; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Mori_Rakkatenjo/func_808A5A0C.s") + return (-3360.0f < pos->z) && (pos->z < -1840.0f) && (1791.0f < pos->x) && (pos->x < 2191.0f); +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Mori_Rakkatenjo/func_808A5B80.s") +void BgMoriRakkatenjo_SetupWaitForMoriTex(BgMoriRakkatenjo* this) { + this->actionFunc = BgMoriRakkatenjo_WaitForMoriTex; +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Mori_Rakkatenjo/func_808A5BA4.s") +void BgMoriRakkatenjo_WaitForMoriTex(BgMoriRakkatenjo* this, GlobalContext* globalCtx) { + if (Object_IsLoaded(&globalCtx->objectCtx, this->moriTexObjIndex)) { + BgMoriRakkatenjo_SetupWait(this); + this->dyna.actor.draw = BgMoriRakkatenjo_Draw; + } +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Mori_Rakkatenjo/func_808A5BD4.s") +void BgMoriRakkatenjo_SetupWait(BgMoriRakkatenjo* this) { + this->timer = (this->fallCount > 0) ? 100 : 21; + this->dyna.actor.posRot.pos.y = 683.0f; + this->actionFunc = BgMoriRakkatenjo_Wait; +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Mori_Rakkatenjo/func_808A5BF0.s") +void BgMoriRakkatenjo_Wait(BgMoriRakkatenjo* this, GlobalContext* globalCtx) { + if (this->fallCount == 0) { + if (BgMoriRakkatenjo_IsLinkClose(this, globalCtx) || (this->timer < 20)) { + if (this->timer <= 0) { + BgMoriRakkatenjo_SetupFall(this); + } + } else { + this->timer = 21; + } + } else { + if (BgMoriRakkatenjo_IsLinkUnder(this, globalCtx) || (this->timer < 20)) { + if (this->timer <= 0) { + BgMoriRakkatenjo_SetupFall(this); + } + } else { + this->timer = 100; + } + } + if (this->timer < 20) { + func_800788CC(NA_SE_EV_BLOCKSINK - SFX_FLAG); + } +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Mori_Rakkatenjo/BgMoriRakkatenjo_Update.s") +void BgMoriRakkatenjo_SetupFall(BgMoriRakkatenjo* this) { + this->actionFunc = BgMoriRakkatenjo_Fall; + this->bounceCount = 0; + this->dyna.actor.velocity.y = 0.0f; +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Mori_Rakkatenjo/func_808A5D60.s") +void BgMoriRakkatenjo_Fall(BgMoriRakkatenjo* this, GlobalContext* globalCtx) { + static f32 bounceVel[] = { 4.0f, 1.5f, 0.4f, 0.1f }; + s32 pad; + Actor* thisx = &this->dyna.actor; + s32 quake; + + Actor_MoveForward(thisx); + if ((thisx->velocity.y < 0.0f) && (thisx->posRot.pos.y <= 403.0f)) { + if (this->bounceCount >= ARRAY_COUNT(bounceVel)) { + BgMoriRakkatenjo_SetupRest(this); + } else { + if (this->bounceCount == 0) { + this->fallCount++; + func_800788CC(NA_SE_EV_STONE_BOUND); + func_800AA000(SQ(thisx->yDistFromLink), 0xFF, 0x14, 0x96); + } + thisx->posRot.pos.y = + 403.0f - (thisx->posRot.pos.y - 403.0f) * bounceVel[this->bounceCount] / fabsf(thisx->velocity.y); + thisx->velocity.y = bounceVel[this->bounceCount]; + this->bounceCount++; + quake = Quake_Add(ACTIVE_CAM, 3); + Quake_SetSpeed(quake, 50000); + Quake_SetQuakeValues(quake, 5, 0, 0, 0); + Quake_SetCountdown(quake, 5); + } + } +} + +void BgMoriRakkatenjo_SetupRest(BgMoriRakkatenjo* this) { + this->actionFunc = BgMoriRakkatenjo_Rest; + this->dyna.actor.posRot.pos.y = 403.0f; + this->timer = 20; +} + +void BgMoriRakkatenjo_Rest(BgMoriRakkatenjo* this, GlobalContext* globalCtx) { + if (this->timer <= 0) { + BgMoriRakkatenjo_SetupRise(this); + } +} + +void BgMoriRakkatenjo_SetupRise(BgMoriRakkatenjo* this) { + this->actionFunc = BgMoriRakkatenjo_Rise; + this->dyna.actor.velocity.y = -0.1f; +} + +void BgMoriRakkatenjo_Rise(BgMoriRakkatenjo* this, GlobalContext* globalCtx) { + Math_SmoothScaleMaxMinF(&this->dyna.actor.velocity.y, 5.0f, 0.06f, 0.1f, 0.0f); + this->dyna.actor.posRot.pos.y += this->dyna.actor.velocity.y; + if (this->dyna.actor.posRot.pos.y >= 683.0f) { + BgMoriRakkatenjo_SetupWait(this); + } +} + +void BgMoriRakkatenjo_Update(Actor* thisx, GlobalContext* globalCtx) { + s32 pad; + BgMoriRakkatenjo* this = THIS; + + if (this->timer > 0) { + this->timer--; + } + this->actionFunc(this, globalCtx); + if (BgMoriRakkatenjo_IsLinkUnder(this, globalCtx)) { + if (sCamSetting == 0) { + osSyncPrintf("camera changed (mori rakka tenjyo) ... \n"); + sCamSetting = globalCtx->cameraPtrs[0]->setting; + Camera_SetCameraData(globalCtx->cameraPtrs[0], 1, &this->dyna.actor, NULL, 0, 0, 0); + func_8005A77C(globalCtx->cameraPtrs[0], 0x27); + } + } else if (sCamSetting != 0) { + osSyncPrintf("camera changed (previous) ... \n"); + func_8005A77C(globalCtx->cameraPtrs[0], 4); + sCamSetting = 0; + } +} + +void BgMoriRakkatenjo_Draw(Actor* thisx, GlobalContext* globalCtx) { + s32 pad; + BgMoriRakkatenjo* this = THIS; + + OPEN_DISPS(globalCtx->state.gfxCtx, "../z_bg_mori_rakkatenjo.c", 497); + func_80093D18(globalCtx->state.gfxCtx); + + gSPSegment(oGfxCtx->polyOpa.p++, 0x08, globalCtx->objectCtx.status[this->moriTexObjIndex].segment); + + gSPMatrix(oGfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_mori_rakkatenjo.c", 502), + G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + + gSPDisplayList(oGfxCtx->polyOpa.p++, D_06007690); + + CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_bg_mori_rakkatenjo.c", 506); +} diff --git a/src/overlays/actors/ovl_Bg_Mori_Rakkatenjo/z_bg_mori_rakkatenjo.h b/src/overlays/actors/ovl_Bg_Mori_Rakkatenjo/z_bg_mori_rakkatenjo.h index d6c07f2992..edb1d68d4a 100644 --- a/src/overlays/actors/ovl_Bg_Mori_Rakkatenjo/z_bg_mori_rakkatenjo.h +++ b/src/overlays/actors/ovl_Bg_Mori_Rakkatenjo/z_bg_mori_rakkatenjo.h @@ -6,9 +6,15 @@ struct BgMoriRakkatenjo; +typedef void (*BgMoriRakkatenjoActionFunction)(struct BgMoriRakkatenjo*, GlobalContext*); + typedef struct BgMoriRakkatenjo { - /* 0x0000 */ Actor actor; - /* 0x014C */ char unk_14C[0x2C]; + /* 0x0000 */ DynaPolyActor dyna; + /* 0x0164 */ BgMoriRakkatenjoActionFunction actionFunc; + /* 0x0168 */ s32 timer; + /* 0x016C */ s32 bounceCount; + /* 0x0170 */ s32 fallCount; + /* 0x0174 */ s8 moriTexObjIndex; } BgMoriRakkatenjo; // size = 0x0178 extern const ActorInit Bg_Mori_Rakkatenjo_InitVars; diff --git a/undefined_syms.txt b/undefined_syms.txt index dd0ad699d1..be61f0b71a 100644 --- a/undefined_syms.txt +++ b/undefined_syms.txt @@ -1209,6 +1209,10 @@ D_0600C080 = 0x0600C080; D_060088B0 = 0x060088B0; D_0600BEC0 = 0x0600BEC0; +// z_bg_mori_rakkatenjo +D_06007690 = 0x06007690; +D_060087AC = 0x060087AC; + // z_bg_mori_kaitenkabe D_060056B0 = 0x060056B0; D_060063B8 = 0x060063B8;