From e3afc9ab5caf840ddfa42635b7115add802fb83f Mon Sep 17 00:00:00 2001 From: Lucas Shaw <49287729+shawlucas@users.noreply.github.com> Date: Thu, 23 Jul 2020 03:51:02 -0700 Subject: [PATCH] ovl_Bg_Mori_Hineri OK (#279) * bg_mori_hineri OK * added description and removed reloc * made suggested changes from fig * made suggested changes * Named a few functions in ovl_Bg_Mori_Hineri --- .../ovl_Bg_Mori_Hineri/BgMoriHineri_Destroy.s | 14 - .../ovl_Bg_Mori_Hineri/BgMoriHineri_Init.s | 153 -------- .../ovl_Bg_Mori_Hineri/BgMoriHineri_Update.s | 10 - .../actors/ovl_Bg_Mori_Hineri/func_808A39FC.s | 153 -------- .../actors/ovl_Bg_Mori_Hineri/func_808A3BF0.s | 4 - .../actors/ovl_Bg_Mori_Hineri/func_808A3BFC.s | 43 --- .../actors/ovl_Bg_Mori_Hineri/func_808A3C8C.s | 64 ---- .../actors/ovl_Bg_Mori_Hineri/func_808A3D58.s | 72 ---- .../actors/ovl_Bg_Mori_Hineri/func_808A3E54.s | 65 ---- .../actors/ovl_Bg_Mori_Hineri/func_808A3F58.s | 348 ------------------ data/overlays/actors/z_bg_mori_hineri.data.s | 24 -- data/overlays/actors/z_bg_mori_hineri.reloc.s | 13 - include/functions.h | 2 +- spec | 3 +- .../ovl_Bg_Mori_Hineri/z_bg_mori_hineri.c | 267 +++++++++++++- .../ovl_Bg_Mori_Hineri/z_bg_mori_hineri.h | 10 +- undefined_syms.txt | 9 + 17 files changed, 274 insertions(+), 980 deletions(-) delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Mori_Hineri/BgMoriHineri_Destroy.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Mori_Hineri/BgMoriHineri_Init.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Mori_Hineri/BgMoriHineri_Update.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Mori_Hineri/func_808A39FC.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Mori_Hineri/func_808A3BF0.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Mori_Hineri/func_808A3BFC.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Mori_Hineri/func_808A3C8C.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Mori_Hineri/func_808A3D58.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Mori_Hineri/func_808A3E54.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Mori_Hineri/func_808A3F58.s delete mode 100644 data/overlays/actors/z_bg_mori_hineri.data.s delete mode 100644 data/overlays/actors/z_bg_mori_hineri.reloc.s diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Mori_Hineri/BgMoriHineri_Destroy.s b/asm/non_matchings/overlays/actors/ovl_Bg_Mori_Hineri/BgMoriHineri_Destroy.s deleted file mode 100644 index 1fad9f7a4e..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Mori_Hineri/BgMoriHineri_Destroy.s +++ /dev/null @@ -1,14 +0,0 @@ -glabel BgMoriHineri_Destroy -/* 001FC 808A39CC 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00200 808A39D0 AFA40018 */ sw $a0, 0x0018($sp) -/* 00204 808A39D4 8FAE0018 */ lw $t6, 0x0018($sp) -/* 00208 808A39D8 AFBF0014 */ sw $ra, 0x0014($sp) -/* 0020C 808A39DC 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000 -/* 00210 808A39E0 24A50810 */ addiu $a1, $a1, 0x0810 ## $a1 = 00000810 -/* 00214 808A39E4 0C00FB56 */ jal DynaPolyInfo_Free - ## DynaPolyInfo_delReserve -/* 00218 808A39E8 8DC6014C */ lw $a2, 0x014C($t6) ## 0000014C -/* 0021C 808A39EC 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00220 808A39F0 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00224 808A39F4 03E00008 */ jr $ra -/* 00228 808A39F8 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Mori_Hineri/BgMoriHineri_Init.s b/asm/non_matchings/overlays/actors/ovl_Bg_Mori_Hineri/BgMoriHineri_Init.s deleted file mode 100644 index 3b35e3d51c..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Mori_Hineri/BgMoriHineri_Init.s +++ /dev/null @@ -1,153 +0,0 @@ -glabel BgMoriHineri_Init -/* 00000 808A37D0 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8 -/* 00004 808A37D4 AFA5003C */ sw $a1, 0x003C($sp) -/* 00008 808A37D8 AFBF001C */ sw $ra, 0x001C($sp) -/* 0000C 808A37DC AFB00018 */ sw $s0, 0x0018($sp) -/* 00010 808A37E0 3C05808A */ lui $a1, %hi(D_808A4404) ## $a1 = 808A0000 -/* 00014 808A37E4 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00018 808A37E8 0C01E037 */ jal Actor_ProcessInitChain - -/* 0001C 808A37EC 24A54404 */ addiu $a1, $a1, %lo(D_808A4404) ## $a1 = 808A4404 -/* 00020 808A37F0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00024 808A37F4 0C010D20 */ jal DynaPolyInfo_SetActorMove - -/* 00028 808A37F8 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 0002C 808A37FC 8602001C */ lh $v0, 0x001C($s0) ## 0000001C -/* 00030 808A3800 304E4000 */ andi $t6, $v0, 0x4000 ## $t6 = 00000000 -/* 00034 808A3804 AFAE0028 */ sw $t6, 0x0028($sp) -/* 00038 808A3808 11C00003 */ beq $t6, $zero, .L808A3818 -/* 0003C 808A380C 3046003F */ andi $a2, $v0, 0x003F ## $a2 = 00000000 -/* 00040 808A3810 1000000E */ beq $zero, $zero, .L808A384C -/* 00044 808A3814 A206016B */ sb $a2, 0x016B($s0) ## 0000016B -.L808A3818: -/* 00048 808A3818 0002C203 */ sra $t8, $v0, 8 -/* 0004C 808A381C 3319003F */ andi $t9, $t8, 0x003F ## $t9 = 00000000 -/* 00050 808A3820 A219016B */ sb $t9, 0x016B($s0) ## 0000016B -/* 00054 808A3824 8205016B */ lb $a1, 0x016B($s0) ## 0000016B -/* 00058 808A3828 AFA6002C */ sw $a2, 0x002C($sp) -/* 0005C 808A382C 0C00B2D0 */ jal Flags_GetSwitch - -/* 00060 808A3830 8FA4003C */ lw $a0, 0x003C($sp) -/* 00064 808A3834 10400004 */ beq $v0, $zero, .L808A3848 -/* 00068 808A3838 8FA6002C */ lw $a2, 0x002C($sp) -/* 0006C 808A383C 24080001 */ addiu $t0, $zero, 0x0001 ## $t0 = 00000001 -/* 00070 808A3840 10000002 */ beq $zero, $zero, .L808A384C -/* 00074 808A3844 A208016B */ sb $t0, 0x016B($s0) ## 0000016B -.L808A3848: -/* 00078 808A3848 A200016B */ sb $zero, 0x016B($s0) ## 0000016B -.L808A384C: -/* 0007C 808A384C 8609001C */ lh $t1, 0x001C($s0) ## 0000001C -/* 00080 808A3850 00C02825 */ or $a1, $a2, $zero ## $a1 = 00000000 -/* 00084 808A3854 312A8000 */ andi $t2, $t1, 0x8000 ## $t2 = 00000000 -/* 00088 808A3858 000A5B83 */ sra $t3, $t2, 14 -/* 0008C 808A385C A60B001C */ sh $t3, 0x001C($s0) ## 0000001C -/* 00090 808A3860 0C00B2D0 */ jal Flags_GetSwitch - -/* 00094 808A3864 8FA4003C */ lw $a0, 0x003C($sp) -/* 00098 808A3868 1040000B */ beq $v0, $zero, .L808A3898 -/* 0009C 808A386C 2405005C */ addiu $a1, $zero, 0x005C ## $a1 = 0000005C -/* 000A0 808A3870 8602001C */ lh $v0, 0x001C($s0) ## 0000001C -/* 000A4 808A3874 240C0001 */ addiu $t4, $zero, 0x0001 ## $t4 = 00000001 -/* 000A8 808A3878 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002 -/* 000AC 808A387C 14400003 */ bne $v0, $zero, .L808A388C -/* 000B0 808A3880 00000000 */ nop -/* 000B4 808A3884 10000004 */ beq $zero, $zero, .L808A3898 -/* 000B8 808A3888 A60C001C */ sh $t4, 0x001C($s0) ## 0000001C -.L808A388C: -/* 000BC 808A388C 14410002 */ bne $v0, $at, .L808A3898 -/* 000C0 808A3890 240D0003 */ addiu $t5, $zero, 0x0003 ## $t5 = 00000003 -/* 000C4 808A3894 A60D001C */ sh $t5, 0x001C($s0) ## 0000001C -.L808A3898: -/* 000C8 808A3898 8602001C */ lh $v0, 0x001C($s0) ## 0000001C -/* 000CC 808A389C 240EFFFF */ addiu $t6, $zero, 0xFFFF ## $t6 = FFFFFFFF -/* 000D0 808A38A0 A20E016A */ sb $t6, 0x016A($s0) ## 0000016A -/* 000D4 808A38A4 14400010 */ bne $v0, $zero, .L808A38E8 -/* 000D8 808A38A8 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 000DC 808A38AC 8FA4003C */ lw $a0, 0x003C($sp) -/* 000E0 808A38B0 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 000E4 808A38B4 342117A4 */ ori $at, $at, 0x17A4 ## $at = 000117A4 -/* 000E8 808A38B8 00812021 */ addu $a0, $a0, $at -/* 000EC 808A38BC 0C02604B */ jal Object_GetIndex - ## ObjectIndex -/* 000F0 808A38C0 AFA40024 */ sw $a0, 0x0024($sp) -/* 000F4 808A38C4 A2020168 */ sb $v0, 0x0168($s0) ## 00000168 -/* 000F8 808A38C8 8FAF0028 */ lw $t7, 0x0028($sp) -/* 000FC 808A38CC 8FA40024 */ lw $a0, 0x0024($sp) -/* 00100 808A38D0 55E00023 */ bnel $t7, $zero, .L808A3960 -/* 00104 808A38D4 8FA40024 */ lw $a0, 0x0024($sp) -/* 00108 808A38D8 0C02604B */ jal Object_GetIndex - ## ObjectIndex -/* 0010C 808A38DC 2405000E */ addiu $a1, $zero, 0x000E ## $a1 = 0000000E -/* 00110 808A38E0 1000001E */ beq $zero, $zero, .L808A395C -/* 00114 808A38E4 A202016A */ sb $v0, 0x016A($s0) ## 0000016A -.L808A38E8: -/* 00118 808A38E8 14410009 */ bne $v0, $at, .L808A3910 -/* 0011C 808A38EC 8FA4003C */ lw $a0, 0x003C($sp) -/* 00120 808A38F0 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 00124 808A38F4 342117A4 */ ori $at, $at, 0x17A4 ## $at = 000117A4 -/* 00128 808A38F8 00812021 */ addu $a0, $a0, $at -/* 0012C 808A38FC AFA40024 */ sw $a0, 0x0024($sp) -/* 00130 808A3900 0C02604B */ jal Object_GetIndex - ## ObjectIndex -/* 00134 808A3904 2405006F */ addiu $a1, $zero, 0x006F ## $a1 = 0000006F -/* 00138 808A3908 10000014 */ beq $zero, $zero, .L808A395C -/* 0013C 808A390C A2020168 */ sb $v0, 0x0168($s0) ## 00000168 -.L808A3910: -/* 00140 808A3910 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002 -/* 00144 808A3914 1441000A */ bne $v0, $at, .L808A3940 -/* 00148 808A3918 8FA4003C */ lw $a0, 0x003C($sp) -/* 0014C 808A391C 8FA4003C */ lw $a0, 0x003C($sp) -/* 00150 808A3920 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 00154 808A3924 342117A4 */ ori $at, $at, 0x17A4 ## $at = 000117A4 -/* 00158 808A3928 00812021 */ addu $a0, $a0, $at -/* 0015C 808A392C AFA40024 */ sw $a0, 0x0024($sp) -/* 00160 808A3930 0C02604B */ jal Object_GetIndex - ## ObjectIndex -/* 00164 808A3934 24050070 */ addiu $a1, $zero, 0x0070 ## $a1 = 00000070 -/* 00168 808A3938 10000008 */ beq $zero, $zero, .L808A395C -/* 0016C 808A393C A2020168 */ sb $v0, 0x0168($s0) ## 00000168 -.L808A3940: -/* 00170 808A3940 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 00174 808A3944 342117A4 */ ori $at, $at, 0x17A4 ## $at = 000117A4 -/* 00178 808A3948 00812021 */ addu $a0, $a0, $at -/* 0017C 808A394C AFA40024 */ sw $a0, 0x0024($sp) -/* 00180 808A3950 0C02604B */ jal Object_GetIndex - ## ObjectIndex -/* 00184 808A3954 24050071 */ addiu $a1, $zero, 0x0071 ## $a1 = 00000071 -/* 00188 808A3958 A2020168 */ sb $v0, 0x0168($s0) ## 00000168 -.L808A395C: -/* 0018C 808A395C 8FA40024 */ lw $a0, 0x0024($sp) -.L808A3960: -/* 00190 808A3960 0C02604B */ jal Object_GetIndex - ## ObjectIndex -/* 00194 808A3964 24050073 */ addiu $a1, $zero, 0x0073 ## $a1 = 00000073 -/* 00198 808A3968 A2020169 */ sb $v0, 0x0169($s0) ## 00000169 -/* 0019C 808A396C 8FB80028 */ lw $t8, 0x0028($sp) -/* 001A0 808A3970 53000005 */ beql $t8, $zero, .L808A3988 -/* 001A4 808A3974 82090168 */ lb $t1, 0x0168($s0) ## 00000168 -/* 001A8 808A3978 8619001C */ lh $t9, 0x001C($s0) ## 0000001C -/* 001AC 808A397C 27280004 */ addiu $t0, $t9, 0x0004 ## $t0 = 00000004 -/* 001B0 808A3980 A608001C */ sh $t0, 0x001C($s0) ## 0000001C -/* 001B4 808A3984 82090168 */ lb $t1, 0x0168($s0) ## 00000168 -.L808A3988: -/* 001B8 808A3988 05200006 */ bltz $t1, .L808A39A4 -/* 001BC 808A398C 00000000 */ nop -/* 001C0 808A3990 820A0169 */ lb $t2, 0x0169($s0) ## 00000169 -/* 001C4 808A3994 3C0B808A */ lui $t3, %hi(func_808A39FC) ## $t3 = 808A0000 -/* 001C8 808A3998 256B39FC */ addiu $t3, $t3, %lo(func_808A39FC) ## $t3 = 808A39FC -/* 001CC 808A399C 05430006 */ bgezl $t2, .L808A39B8 -/* 001D0 808A39A0 AE0B0164 */ sw $t3, 0x0164($s0) ## 00000164 -.L808A39A4: -/* 001D4 808A39A4 0C00B55C */ jal Actor_Kill - -/* 001D8 808A39A8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 001DC 808A39AC 10000003 */ beq $zero, $zero, .L808A39BC -/* 001E0 808A39B0 8FBF001C */ lw $ra, 0x001C($sp) -/* 001E4 808A39B4 AE0B0164 */ sw $t3, 0x0164($s0) ## 00000164 -.L808A39B8: -/* 001E8 808A39B8 8FBF001C */ lw $ra, 0x001C($sp) -.L808A39BC: -/* 001EC 808A39BC 8FB00018 */ lw $s0, 0x0018($sp) -/* 001F0 808A39C0 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000 -/* 001F4 808A39C4 03E00008 */ jr $ra -/* 001F8 808A39C8 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Mori_Hineri/BgMoriHineri_Update.s b/asm/non_matchings/overlays/actors/ovl_Bg_Mori_Hineri/BgMoriHineri_Update.s deleted file mode 100644 index e902f23b38..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Mori_Hineri/BgMoriHineri_Update.s +++ /dev/null @@ -1,10 +0,0 @@ -glabel BgMoriHineri_Update -/* 00764 808A3F34 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00768 808A3F38 AFBF0014 */ sw $ra, 0x0014($sp) -/* 0076C 808A3F3C 8C990164 */ lw $t9, 0x0164($a0) ## 00000164 -/* 00770 808A3F40 0320F809 */ jalr $ra, $t9 -/* 00774 808A3F44 00000000 */ nop -/* 00778 808A3F48 8FBF0014 */ lw $ra, 0x0014($sp) -/* 0077C 808A3F4C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00780 808A3F50 03E00008 */ jr $ra -/* 00784 808A3F54 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Mori_Hineri/func_808A39FC.s b/asm/non_matchings/overlays/actors/ovl_Bg_Mori_Hineri/func_808A39FC.s deleted file mode 100644 index e47428e21a..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Mori_Hineri/func_808A39FC.s +++ /dev/null @@ -1,153 +0,0 @@ -glabel func_808A39FC -/* 0022C 808A39FC 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0 -/* 00230 808A3A00 AFB00018 */ sw $s0, 0x0018($sp) -/* 00234 808A3A04 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 00238 808A3A08 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 0023C 808A3A0C 342117A4 */ ori $at, $at, 0x17A4 ## $at = 000117A4 -/* 00240 808A3A10 AFBF001C */ sw $ra, 0x001C($sp) -/* 00244 808A3A14 AFA50034 */ sw $a1, 0x0034($sp) -/* 00248 808A3A18 00A12021 */ addu $a0, $a1, $at -/* 0024C 808A3A1C 82050168 */ lb $a1, 0x0168($s0) ## 00000168 -/* 00250 808A3A20 0C026062 */ jal Object_IsLoaded - -/* 00254 808A3A24 AFA40028 */ sw $a0, 0x0028($sp) -/* 00258 808A3A28 1040006C */ beq $v0, $zero, .L808A3BDC -/* 0025C 808A3A2C 8FA40028 */ lw $a0, 0x0028($sp) -/* 00260 808A3A30 82050169 */ lb $a1, 0x0169($s0) ## 00000169 -/* 00264 808A3A34 0C026062 */ jal Object_IsLoaded - -/* 00268 808A3A38 AFA40028 */ sw $a0, 0x0028($sp) -/* 0026C 808A3A3C 10400067 */ beq $v0, $zero, .L808A3BDC -/* 00270 808A3A40 8FA40028 */ lw $a0, 0x0028($sp) -/* 00274 808A3A44 8205016A */ lb $a1, 0x016A($s0) ## 0000016A -/* 00278 808A3A48 04A20006 */ bltzl $a1, .L808A3A64 -/* 0027C 808A3A4C 8602001C */ lh $v0, 0x001C($s0) ## 0000001C -/* 00280 808A3A50 0C026062 */ jal Object_IsLoaded - -/* 00284 808A3A54 AFA40028 */ sw $a0, 0x0028($sp) -/* 00288 808A3A58 10400060 */ beq $v0, $zero, .L808A3BDC -/* 0028C 808A3A5C 8FA40028 */ lw $a0, 0x0028($sp) -/* 00290 808A3A60 8602001C */ lh $v0, 0x001C($s0) ## 0000001C -.L808A3A64: -/* 00294 808A3A64 820E0168 */ lb $t6, 0x0168($s0) ## 00000168 -/* 00298 808A3A68 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000 -/* 0029C 808A3A6C 28410004 */ slti $at, $v0, 0x0004 -/* 002A0 808A3A70 14200026 */ bne $at, $zero, .L808A3B0C -/* 002A4 808A3A74 A20E001E */ sb $t6, 0x001E($s0) ## 0000001E -/* 002A8 808A3A78 244FFFFC */ addiu $t7, $v0, 0xFFFC ## $t7 = FFFFFFFC -/* 002AC 808A3A7C A60F001C */ sh $t7, 0x001C($s0) ## 0000001C -/* 002B0 808A3A80 8602001C */ lh $v0, 0x001C($s0) ## 0000001C -/* 002B4 808A3A84 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 002B8 808A3A88 14400005 */ bne $v0, $zero, .L808A3AA0 -/* 002BC 808A3A8C 00000000 */ nop -/* 002C0 808A3A90 0C02604B */ jal Object_GetIndex - ## ObjectIndex -/* 002C4 808A3A94 2405006F */ addiu $a1, $zero, 0x006F ## $a1 = 0000006F -/* 002C8 808A3A98 10000011 */ beq $zero, $zero, .L808A3AE0 -/* 002CC 808A3A9C A2020168 */ sb $v0, 0x0168($s0) ## 00000168 -.L808A3AA0: -/* 002D0 808A3AA0 54410006 */ bnel $v0, $at, .L808A3ABC -/* 002D4 808A3AA4 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002 -/* 002D8 808A3AA8 0C02604B */ jal Object_GetIndex - ## ObjectIndex -/* 002DC 808A3AAC 2405005C */ addiu $a1, $zero, 0x005C ## $a1 = 0000005C -/* 002E0 808A3AB0 1000000B */ beq $zero, $zero, .L808A3AE0 -/* 002E4 808A3AB4 A2020168 */ sb $v0, 0x0168($s0) ## 00000168 -/* 002E8 808A3AB8 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002 -.L808A3ABC: -/* 002EC 808A3ABC 14410005 */ bne $v0, $at, .L808A3AD4 -/* 002F0 808A3AC0 00000000 */ nop -/* 002F4 808A3AC4 0C02604B */ jal Object_GetIndex - ## ObjectIndex -/* 002F8 808A3AC8 24050071 */ addiu $a1, $zero, 0x0071 ## $a1 = 00000071 -/* 002FC 808A3ACC 10000004 */ beq $zero, $zero, .L808A3AE0 -/* 00300 808A3AD0 A2020168 */ sb $v0, 0x0168($s0) ## 00000168 -.L808A3AD4: -/* 00304 808A3AD4 0C02604B */ jal Object_GetIndex - ## ObjectIndex -/* 00308 808A3AD8 24050070 */ addiu $a1, $zero, 0x0070 ## $a1 = 00000070 -/* 0030C 808A3ADC A2020168 */ sb $v0, 0x0168($s0) ## 00000168 -.L808A3AE0: -/* 00310 808A3AE0 82180168 */ lb $t8, 0x0168($s0) ## 00000168 -/* 00314 808A3AE4 3C19808A */ lui $t9, %hi(func_808A3D58) ## $t9 = 808A0000 -/* 00318 808A3AE8 27393D58 */ addiu $t9, $t9, %lo(func_808A3D58) ## $t9 = 808A3D58 -/* 0031C 808A3AEC 07010005 */ bgez $t8, .L808A3B04 -/* 00320 808A3AF0 00000000 */ nop -/* 00324 808A3AF4 0C00B55C */ jal Actor_Kill - -/* 00328 808A3AF8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 0032C 808A3AFC 10000038 */ beq $zero, $zero, .L808A3BE0 -/* 00330 808A3B00 8FBF001C */ lw $ra, 0x001C($sp) -.L808A3B04: -/* 00334 808A3B04 10000035 */ beq $zero, $zero, .L808A3BDC -/* 00338 808A3B08 AE190164 */ sw $t9, 0x0164($s0) ## 00000164 -.L808A3B0C: -/* 0033C 808A3B0C 0C00B591 */ jal Actor_SetObjectDependency - -/* 00340 808A3B10 8FA40034 */ lw $a0, 0x0034($sp) -/* 00344 808A3B14 AFA0002C */ sw $zero, 0x002C($sp) -/* 00348 808A3B18 8602001C */ lh $v0, 0x001C($s0) ## 0000001C -/* 0034C 808A3B1C 3C08808A */ lui $t0, %hi(func_808A3F58) ## $t0 = 808A0000 -/* 00350 808A3B20 25083F58 */ addiu $t0, $t0, %lo(func_808A3F58) ## $t0 = 808A3F58 -/* 00354 808A3B24 1440000A */ bne $v0, $zero, .L808A3B50 -/* 00358 808A3B28 AE080134 */ sw $t0, 0x0134($s0) ## 00000134 -/* 0035C 808A3B2C 3C09808A */ lui $t1, %hi(func_808A3C8C) ## $t1 = 808A0000 -/* 00360 808A3B30 25293C8C */ addiu $t1, $t1, %lo(func_808A3C8C) ## $t1 = 808A3C8C -/* 00364 808A3B34 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000 -/* 00368 808A3B38 AE090164 */ sw $t1, 0x0164($s0) ## 00000164 -/* 0036C 808A3B3C 248454B8 */ addiu $a0, $a0, 0x54B8 ## $a0 = 060054B8 -/* 00370 808A3B40 0C010620 */ jal DynaPolyInfo_Alloc - -/* 00374 808A3B44 27A5002C */ addiu $a1, $sp, 0x002C ## $a1 = FFFFFFFC -/* 00378 808A3B48 1000001F */ beq $zero, $zero, .L808A3BC8 -/* 0037C 808A3B4C 8FA40034 */ lw $a0, 0x0034($sp) -.L808A3B50: -/* 00380 808A3B50 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 00384 808A3B54 14410009 */ bne $v0, $at, .L808A3B7C -/* 00388 808A3B58 3C0A808A */ lui $t2, %hi(func_808A3BFC) ## $t2 = 808A0000 -/* 0038C 808A3B5C 254A3BFC */ addiu $t2, $t2, %lo(func_808A3BFC) ## $t2 = 808A3BFC -/* 00390 808A3B60 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000 -/* 00394 808A3B64 AE0A0164 */ sw $t2, 0x0164($s0) ## 00000164 -/* 00398 808A3B68 24843490 */ addiu $a0, $a0, 0x3490 ## $a0 = 06003490 -/* 0039C 808A3B6C 0C010620 */ jal DynaPolyInfo_Alloc - -/* 003A0 808A3B70 27A5002C */ addiu $a1, $sp, 0x002C ## $a1 = FFFFFFFC -/* 003A4 808A3B74 10000014 */ beq $zero, $zero, .L808A3BC8 -/* 003A8 808A3B78 8FA40034 */ lw $a0, 0x0034($sp) -.L808A3B7C: -/* 003AC 808A3B7C 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002 -/* 003B0 808A3B80 1441000A */ bne $v0, $at, .L808A3BAC -/* 003B4 808A3B84 3C0C808A */ lui $t4, %hi(func_808A3C8C) ## $t4 = 808A0000 -/* 003B8 808A3B88 3C0B808A */ lui $t3, %hi(func_808A3BF0) ## $t3 = 808A0000 -/* 003BC 808A3B8C 256B3BF0 */ addiu $t3, $t3, %lo(func_808A3BF0) ## $t3 = 808A3BF0 -/* 003C0 808A3B90 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000 -/* 003C4 808A3B94 AE0B0164 */ sw $t3, 0x0164($s0) ## 00000164 -/* 003C8 808A3B98 248443D0 */ addiu $a0, $a0, 0x43D0 ## $a0 = 060043D0 -/* 003CC 808A3B9C 0C010620 */ jal DynaPolyInfo_Alloc - -/* 003D0 808A3BA0 27A5002C */ addiu $a1, $sp, 0x002C ## $a1 = FFFFFFFC -/* 003D4 808A3BA4 10000008 */ beq $zero, $zero, .L808A3BC8 -/* 003D8 808A3BA8 8FA40034 */ lw $a0, 0x0034($sp) -.L808A3BAC: -/* 003DC 808A3BAC 258C3C8C */ addiu $t4, $t4, %lo(func_808A3C8C) ## $t4 = 00003C8C -/* 003E0 808A3BB0 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000 -/* 003E4 808A3BB4 AE0C0164 */ sw $t4, 0x0164($s0) ## 00000164 -/* 003E8 808A3BB8 24846078 */ addiu $a0, $a0, 0x6078 ## $a0 = 06006078 -/* 003EC 808A3BBC 0C010620 */ jal DynaPolyInfo_Alloc - -/* 003F0 808A3BC0 27A5002C */ addiu $a1, $sp, 0x002C ## $a1 = FFFFFFFC -/* 003F4 808A3BC4 8FA40034 */ lw $a0, 0x0034($sp) -.L808A3BC8: -/* 003F8 808A3BC8 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000 -/* 003FC 808A3BCC 8FA7002C */ lw $a3, 0x002C($sp) -/* 00400 808A3BD0 0C00FA9D */ jal DynaPolyInfo_RegisterActor - ## DynaPolyInfo_setActor -/* 00404 808A3BD4 24850810 */ addiu $a1, $a0, 0x0810 ## $a1 = 00000810 -/* 00408 808A3BD8 AE02014C */ sw $v0, 0x014C($s0) ## 0000014C -.L808A3BDC: -/* 0040C 808A3BDC 8FBF001C */ lw $ra, 0x001C($sp) -.L808A3BE0: -/* 00410 808A3BE0 8FB00018 */ lw $s0, 0x0018($sp) -/* 00414 808A3BE4 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000 -/* 00418 808A3BE8 03E00008 */ jr $ra -/* 0041C 808A3BEC 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Mori_Hineri/func_808A3BF0.s b/asm/non_matchings/overlays/actors/ovl_Bg_Mori_Hineri/func_808A3BF0.s deleted file mode 100644 index 85d1982aea..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Mori_Hineri/func_808A3BF0.s +++ /dev/null @@ -1,4 +0,0 @@ -glabel func_808A3BF0 -/* 00420 808A3BF0 AFA40000 */ sw $a0, 0x0000($sp) -/* 00424 808A3BF4 03E00008 */ jr $ra -/* 00428 808A3BF8 AFA50004 */ sw $a1, 0x0004($sp) diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Mori_Hineri/func_808A3BFC.s b/asm/non_matchings/overlays/actors/ovl_Bg_Mori_Hineri/func_808A3BFC.s deleted file mode 100644 index e7aba529f4..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Mori_Hineri/func_808A3BFC.s +++ /dev/null @@ -1,43 +0,0 @@ -.late_rodata -glabel D_808A44B0 - .float -453.0 - -.text -glabel func_808A3BFC -/* 0042C 808A3BFC 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0 -/* 00430 808A3C00 AFA40030 */ sw $a0, 0x0030($sp) -/* 00434 808A3C04 8FAE0030 */ lw $t6, 0x0030($sp) -/* 00438 808A3C08 3C014313 */ lui $at, 0x4313 ## $at = 43130000 -/* 0043C 808A3C0C 44813000 */ mtc1 $at, $f6 ## $f6 = 147.00 -/* 00440 808A3C10 AFBF002C */ sw $ra, 0x002C($sp) -/* 00444 808A3C14 3C01C375 */ lui $at, 0xC375 ## $at = C3750000 -/* 00448 808A3C18 44818000 */ mtc1 $at, $f16 ## $f16 = -245.00 -/* 0044C 808A3C1C C5CA0028 */ lwc1 $f10, 0x0028($t6) ## 00000028 -/* 00450 808A3C20 C5C40024 */ lwc1 $f4, 0x0024($t6) ## 00000024 -/* 00454 808A3C24 3C01808A */ lui $at, %hi(D_808A44B0) ## $at = 808A0000 -/* 00458 808A3C28 46105480 */ add.s $f18, $f10, $f16 -/* 0045C 808A3C2C 240F4000 */ addiu $t7, $zero, 0x4000 ## $t7 = 00004000 -/* 00460 808A3C30 241827EE */ addiu $t8, $zero, 0x27EE ## $t8 = 000027EE -/* 00464 808A3C34 46062200 */ add.s $f8, $f4, $f6 -/* 00468 808A3C38 E7B20010 */ swc1 $f18, 0x0010($sp) -/* 0046C 808A3C3C C42644B0 */ lwc1 $f6, %lo(D_808A44B0)($at) -/* 00470 808A3C40 C5C4002C */ lwc1 $f4, 0x002C($t6) ## 0000002C -/* 00474 808A3C44 44074000 */ mfc1 $a3, $f8 -/* 00478 808A3C48 AFB80024 */ sw $t8, 0x0024($sp) -/* 0047C 808A3C4C 46062200 */ add.s $f8, $f4, $f6 -/* 00480 808A3C50 AFA00020 */ sw $zero, 0x0020($sp) -/* 00484 808A3C54 AFAF001C */ sw $t7, 0x001C($sp) -/* 00488 808A3C58 AFA00018 */ sw $zero, 0x0018($sp) -/* 0048C 808A3C5C E7A80014 */ swc1 $f8, 0x0014($sp) -/* 00490 808A3C60 24A41C24 */ addiu $a0, $a1, 0x1C24 ## $a0 = 00001C24 -/* 00494 808A3C64 0C00C7D4 */ jal Actor_Spawn - ## ActorSpawn -/* 00498 808A3C68 2406000A */ addiu $a2, $zero, 0x000A ## $a2 = 0000000A -/* 0049C 808A3C6C 8FA80030 */ lw $t0, 0x0030($sp) -/* 004A0 808A3C70 3C19808A */ lui $t9, %hi(func_808A3BF0) ## $t9 = 808A0000 -/* 004A4 808A3C74 27393BF0 */ addiu $t9, $t9, %lo(func_808A3BF0) ## $t9 = 808A3BF0 -/* 004A8 808A3C78 AD190164 */ sw $t9, 0x0164($t0) ## 00000164 -/* 004AC 808A3C7C 8FBF002C */ lw $ra, 0x002C($sp) -/* 004B0 808A3C80 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000 -/* 004B4 808A3C84 03E00008 */ jr $ra -/* 004B8 808A3C88 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Mori_Hineri/func_808A3C8C.s b/asm/non_matchings/overlays/actors/ovl_Bg_Mori_Hineri/func_808A3C8C.s deleted file mode 100644 index 30463e7d9e..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Mori_Hineri/func_808A3C8C.s +++ /dev/null @@ -1,64 +0,0 @@ -.late_rodata -glabel D_808A44B4 - .float 1100.0 - -glabel D_808A44B8 - .float 16.384 - -.text -glabel func_808A3C8C -/* 004BC 808A3C8C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 004C0 808A3C90 AFBF0014 */ sw $ra, 0x0014($sp) -/* 004C4 808A3C94 8CA21C44 */ lw $v0, 0x1C44($a1) ## 00001C44 -/* 004C8 808A3C98 C486002C */ lwc1 $f6, 0x002C($a0) ## 0000002C -/* 004CC 808A3C9C 3C01808A */ lui $at, %hi(D_808A44B4) ## $at = 808A0000 -/* 004D0 808A3CA0 C444002C */ lwc1 $f4, 0x002C($v0) ## 0000002C -/* 004D4 808A3CA4 C42A44B4 */ lwc1 $f10, %lo(D_808A44B4)($at) -/* 004D8 808A3CA8 44801000 */ mtc1 $zero, $f2 ## $f2 = 0.00 -/* 004DC 808A3CAC 46062201 */ sub.s $f8, $f4, $f6 -/* 004E0 808A3CB0 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000 -/* 004E4 808A3CB4 00A03825 */ or $a3, $a1, $zero ## $a3 = 00000000 -/* 004E8 808A3CB8 3C01447A */ lui $at, 0x447A ## $at = 447A0000 -/* 004EC 808A3CBC 46085001 */ sub.s $f0, $f10, $f8 -/* 004F0 808A3CC0 4602003C */ c.lt.s $f0, $f2 -/* 004F4 808A3CC4 00000000 */ nop -/* 004F8 808A3CC8 45020004 */ bc1fl .L808A3CDC -/* 004FC 808A3CCC 44816000 */ mtc1 $at, $f12 ## $f12 = 1000.00 -/* 00500 808A3CD0 1000000B */ beq $zero, $zero, .L808A3D00 -/* 00504 808A3CD4 46001006 */ mov.s $f0, $f2 -/* 00508 808A3CD8 44816000 */ mtc1 $at, $f12 ## $f12 = 1000.00 -.L808A3CDC: -/* 0050C 808A3CDC 00000000 */ nop -/* 00510 808A3CE0 4600603C */ c.lt.s $f12, $f0 -/* 00514 808A3CE4 00000000 */ nop -/* 00518 808A3CE8 45020004 */ bc1fl .L808A3CFC -/* 0051C 808A3CEC 46000086 */ mov.s $f2, $f0 -/* 00520 808A3CF0 10000002 */ beq $zero, $zero, .L808A3CFC -/* 00524 808A3CF4 46006086 */ mov.s $f2, $f12 -/* 00528 808A3CF8 46000086 */ mov.s $f2, $f0 -.L808A3CFC: -/* 0052C 808A3CFC 46001006 */ mov.s $f0, $f2 -.L808A3D00: -/* 00530 808A3D00 3C01808A */ lui $at, %hi(D_808A44B8) ## $at = 808A0000 -/* 00534 808A3D04 C43044B8 */ lwc1 $f16, %lo(D_808A44B8)($at) -/* 00538 808A3D08 24050004 */ addiu $a1, $zero, 0x0004 ## $a1 = 00000004 -/* 0053C 808A3D0C 46100482 */ mul.s $f18, $f0, $f16 -/* 00540 808A3D10 4600910D */ trunc.w.s $f4, $f18 -/* 00544 808A3D14 440F2000 */ mfc1 $t7, $f4 -/* 00548 808A3D18 00000000 */ nop -/* 0054C 808A3D1C A4CF00B8 */ sh $t7, 0x00B8($a2) ## 000000B8 -/* 00550 808A3D20 8CE40790 */ lw $a0, 0x0790($a3) ## 00000790 -/* 00554 808A3D24 0C0169DF */ jal func_8005A77C -/* 00558 808A3D28 AFA60018 */ sw $a2, 0x0018($sp) -/* 0055C 808A3D2C 8FA60018 */ lw $a2, 0x0018($sp) -/* 00560 808A3D30 84D8001C */ lh $t8, 0x001C($a2) ## 0000001C -/* 00564 808A3D34 53000005 */ beql $t8, $zero, .L808A3D4C -/* 00568 808A3D38 8FBF0014 */ lw $ra, 0x0014($sp) -/* 0056C 808A3D3C 84D900B8 */ lh $t9, 0x00B8($a2) ## 000000B8 -/* 00570 808A3D40 00194023 */ subu $t0, $zero, $t9 -/* 00574 808A3D44 A4C800B8 */ sh $t0, 0x00B8($a2) ## 000000B8 -/* 00578 808A3D48 8FBF0014 */ lw $ra, 0x0014($sp) -.L808A3D4C: -/* 0057C 808A3D4C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00580 808A3D50 03E00008 */ jr $ra -/* 00584 808A3D54 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Mori_Hineri/func_808A3D58.s b/asm/non_matchings/overlays/actors/ovl_Bg_Mori_Hineri/func_808A3D58.s deleted file mode 100644 index 06331200d7..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Mori_Hineri/func_808A3D58.s +++ /dev/null @@ -1,72 +0,0 @@ -glabel func_808A3D58 -/* 00588 808A3D58 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8 -/* 0058C 808A3D5C AFB0001C */ sw $s0, 0x001C($sp) -/* 00590 808A3D60 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00594 808A3D64 AFB10020 */ sw $s1, 0x0020($sp) -/* 00598 808A3D68 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000 -/* 0059C 808A3D6C AFBF0024 */ sw $ra, 0x0024($sp) -/* 005A0 808A3D70 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000 -/* 005A4 808A3D74 0C00B2D0 */ jal Flags_GetSwitch - -/* 005A8 808A3D78 8205016B */ lb $a1, 0x016B($s0) ## 0000016B -/* 005AC 808A3D7C 10400007 */ beq $v0, $zero, .L808A3D9C -/* 005B0 808A3D80 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 005B4 808A3D84 8602001C */ lh $v0, 0x001C($s0) ## 0000001C -/* 005B8 808A3D88 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002 -/* 005BC 808A3D8C 1040000C */ beq $v0, $zero, .L808A3DC0 -/* 005C0 808A3D90 00000000 */ nop -/* 005C4 808A3D94 1041000A */ beq $v0, $at, .L808A3DC0 -/* 005C8 808A3D98 00000000 */ nop -.L808A3D9C: -/* 005CC 808A3D9C 0C00B2D0 */ jal Flags_GetSwitch - -/* 005D0 808A3DA0 8205016B */ lb $a1, 0x016B($s0) ## 0000016B -/* 005D4 808A3DA4 54400027 */ bnel $v0, $zero, .L808A3E44 -/* 005D8 808A3DA8 8FBF0024 */ lw $ra, 0x0024($sp) -/* 005DC 808A3DAC 8602001C */ lh $v0, 0x001C($s0) ## 0000001C -/* 005E0 808A3DB0 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 005E4 808A3DB4 10410002 */ beq $v0, $at, .L808A3DC0 -/* 005E8 808A3DB8 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003 -/* 005EC 808A3DBC 14410020 */ bne $v0, $at, .L808A3E40 -.L808A3DC0: -/* 005F0 808A3DC0 3C0E808A */ lui $t6, %hi(func_808A3F58) ## $t6 = 808A0000 -/* 005F4 808A3DC4 3C0F808A */ lui $t7, %hi(func_808A3E54) ## $t7 = 808A0000 -/* 005F8 808A3DC8 25CE3F58 */ addiu $t6, $t6, %lo(func_808A3F58) ## $t6 = 808A3F58 -/* 005FC 808A3DCC 25EF3E54 */ addiu $t7, $t7, %lo(func_808A3E54) ## $t7 = 808A3E54 -/* 00600 808A3DD0 AE0E0134 */ sw $t6, 0x0134($s0) ## 00000134 -/* 00604 808A3DD4 AE0F0164 */ sw $t7, 0x0164($s0) ## 00000164 -/* 00608 808A3DD8 8E380790 */ lw $t8, 0x0790($s1) ## 00000790 -/* 0060C 808A3DDC 8705014E */ lh $a1, 0x014E($t8) ## 0000014E -/* 00610 808A3DE0 10A00009 */ beq $a1, $zero, .L808A3E08 -/* 00614 808A3DE4 0005C880 */ sll $t9, $a1, 2 -/* 00618 808A3DE8 02394021 */ addu $t0, $s1, $t9 -/* 0061C 808A3DEC 8D090790 */ lw $t1, 0x0790($t0) ## 00000790 -/* 00620 808A3DF0 24010026 */ addiu $at, $zero, 0x0026 ## $at = 00000026 -/* 00624 808A3DF4 852A0142 */ lh $t2, 0x0142($t1) ## 00000142 -/* 00628 808A3DF8 55410004 */ bnel $t2, $at, .L808A3E0C -/* 0062C 808A3DFC 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 00630 808A3E00 0C0200FC */ jal func_800803F0 -/* 00634 808A3E04 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -.L808A3E08: -/* 00638 808A3E08 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -.L808A3E0C: -/* 0063C 808A3E0C 24050CBC */ addiu $a1, $zero, 0x0CBC ## $a1 = 00000CBC -/* 00640 808A3E10 24060028 */ addiu $a2, $zero, 0x0028 ## $a2 = 00000028 -/* 00644 808A3E14 02003825 */ or $a3, $s0, $zero ## $a3 = 00000000 -/* 00648 808A3E18 0C02003E */ jal func_800800F8 -/* 0064C 808A3E1C AFA00010 */ sw $zero, 0x0010($sp) -/* 00650 808A3E20 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 00654 808A3E24 24050CBD */ addiu $a1, $zero, 0x0CBD ## $a1 = 00000CBD -/* 00658 808A3E28 24060028 */ addiu $a2, $zero, 0x0028 ## $a2 = 00000028 -/* 0065C 808A3E2C 02003825 */ or $a3, $s0, $zero ## $a3 = 00000000 -/* 00660 808A3E30 0C02003E */ jal func_800800F8 -/* 00664 808A3E34 AFA00010 */ sw $zero, 0x0010($sp) -/* 00668 808A3E38 3C01808A */ lui $at, %hi(D_808A43E0) ## $at = 808A0000 -/* 0066C 808A3E3C A42243E0 */ sh $v0, %lo(D_808A43E0)($at) -.L808A3E40: -/* 00670 808A3E40 8FBF0024 */ lw $ra, 0x0024($sp) -.L808A3E44: -/* 00674 808A3E44 8FB0001C */ lw $s0, 0x001C($sp) -/* 00678 808A3E48 8FB10020 */ lw $s1, 0x0020($sp) -/* 0067C 808A3E4C 03E00008 */ jr $ra -/* 00680 808A3E50 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Mori_Hineri/func_808A3E54.s b/asm/non_matchings/overlays/actors/ovl_Bg_Mori_Hineri/func_808A3E54.s deleted file mode 100644 index e9b5f183d7..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Mori_Hineri/func_808A3E54.s +++ /dev/null @@ -1,65 +0,0 @@ -.late_rodata -glabel D_808A44BC - .float 1100.0 - -.text -glabel func_808A3E54 -/* 00684 808A3E54 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00688 808A3E58 3C03808A */ lui $v1, %hi(D_808A43E0) ## $v1 = 808A0000 -/* 0068C 808A3E5C 246343E0 */ addiu $v1, $v1, %lo(D_808A43E0) ## $v1 = 808A43E0 -/* 00690 808A3E60 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00694 808A3E64 84AE07A0 */ lh $t6, 0x07A0($a1) ## 000007A0 -/* 00698 808A3E68 84620000 */ lh $v0, 0x0000($v1) ## 808A43E0 -/* 0069C 808A3E6C 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000 -/* 006A0 808A3E70 144E001A */ bne $v0, $t6, .L808A3EDC -/* 006A4 808A3E74 00000000 */ nop -/* 006A8 808A3E78 10400012 */ beq $v0, $zero, .L808A3EC4 -/* 006AC 808A3E7C 3C08808A */ lui $t0, %hi(func_808A3D58) ## $t0 = 808A0000 -/* 006B0 808A3E80 8498001C */ lh $t8, 0x001C($a0) ## 0000001C -/* 006B4 808A3E84 8082001E */ lb $v0, 0x001E($a0) ## 0000001E -/* 006B8 808A3E88 808F0168 */ lb $t7, 0x0168($a0) ## 00000168 -/* 006BC 808A3E8C 3B190001 */ xori $t9, $t8, 0x0001 ## $t9 = 00000001 -/* 006C0 808A3E90 A499001C */ sh $t9, 0x001C($a0) ## 0000001C -/* 006C4 808A3E94 A0820168 */ sb $v0, 0x0168($a0) ## 00000168 -/* 006C8 808A3E98 A08F001E */ sb $t7, 0x001E($a0) ## 0000001E -/* 006CC 808A3E9C A4600000 */ sh $zero, 0x0000($v1) ## 808A43E0 -/* 006D0 808A3EA0 AFA60018 */ sw $a2, 0x0018($sp) -/* 006D4 808A3EA4 AFA5001C */ sw $a1, 0x001C($sp) -/* 006D8 808A3EA8 0C01E221 */ jal func_80078884 -/* 006DC 808A3EAC 24044807 */ addiu $a0, $zero, 0x4807 ## $a0 = 00004807 -/* 006E0 808A3EB0 3C02808A */ lui $v0, %hi(D_808A43E0) ## $v0 = 808A0000 -/* 006E4 808A3EB4 844243E0 */ lh $v0, %lo(D_808A43E0)($v0) -/* 006E8 808A3EB8 8FA5001C */ lw $a1, 0x001C($sp) -/* 006EC 808A3EBC 10000007 */ beq $zero, $zero, .L808A3EDC -/* 006F0 808A3EC0 8FA60018 */ lw $a2, 0x0018($sp) -.L808A3EC4: -/* 006F4 808A3EC4 25083D58 */ addiu $t0, $t0, %lo(func_808A3D58) ## $t0 = 00003D58 -/* 006F8 808A3EC8 ACC00134 */ sw $zero, 0x0134($a2) ## 00000134 -/* 006FC 808A3ECC ACC80164 */ sw $t0, 0x0164($a2) ## 00000164 -/* 00700 808A3ED0 2409FFFF */ addiu $t1, $zero, 0xFFFF ## $t1 = FFFFFFFF -/* 00704 808A3ED4 A4690000 */ sh $t1, 0x0000($v1) ## 00000000 -/* 00708 808A3ED8 84620000 */ lh $v0, 0x0000($v1) ## 00000000 -.L808A3EDC: -/* 0070C 808A3EDC 58400012 */ blezl $v0, .L808A3F28 -/* 00710 808A3EE0 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00714 808A3EE4 84AA07A0 */ lh $t2, 0x07A0($a1) ## 000007A0 -/* 00718 808A3EE8 C4C6002C */ lwc1 $f6, 0x002C($a2) ## 0000002C -/* 0071C 808A3EEC 3C01808A */ lui $at, %hi(D_808A44BC) ## $at = 808A0000 -/* 00720 808A3EF0 000A5880 */ sll $t3, $t2, 2 -/* 00724 808A3EF4 00AB6021 */ addu $t4, $a1, $t3 -/* 00728 808A3EF8 8D8D0790 */ lw $t5, 0x0790($t4) ## 00000790 -/* 0072C 808A3EFC C42A44BC */ lwc1 $f10, %lo(D_808A44BC)($at) -/* 00730 808A3F00 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000 -/* 00734 808A3F04 C5A40064 */ lwc1 $f4, 0x0064($t5) ## 00000064 -/* 00738 808A3F08 46062201 */ sub.s $f8, $f4, $f6 -/* 0073C 808A3F0C 460A403C */ c.lt.s $f8, $f10 -/* 00740 808A3F10 00000000 */ nop -/* 00744 808A3F14 45020004 */ bc1fl .L808A3F28 -/* 00748 808A3F18 8FBF0014 */ lw $ra, 0x0014($sp) -/* 0074C 808A3F1C 0C00BE52 */ jal func_8002F948 -/* 00750 808A3F20 240520AD */ addiu $a1, $zero, 0x20AD ## $a1 = 000020AD -/* 00754 808A3F24 8FBF0014 */ lw $ra, 0x0014($sp) -.L808A3F28: -/* 00758 808A3F28 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 0075C 808A3F2C 03E00008 */ jr $ra -/* 00760 808A3F30 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Mori_Hineri/func_808A3F58.s b/asm/non_matchings/overlays/actors/ovl_Bg_Mori_Hineri/func_808A3F58.s deleted file mode 100644 index c1c2e8daf6..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Mori_Hineri/func_808A3F58.s +++ /dev/null @@ -1,348 +0,0 @@ -.rdata -glabel D_808A4420 - .asciz "../z_bg_mori_hineri.c" - .balign 4 - -glabel D_808A4438 - .asciz "../z_bg_mori_hineri.c" - .balign 4 - -glabel D_808A4450 - .asciz "../z_bg_mori_hineri.c" - .balign 4 - -glabel D_808A4468 - .asciz "../z_bg_mori_hineri.c" - .balign 4 - -glabel D_808A4480 - .asciz "../z_bg_mori_hineri.c" - .balign 4 - -glabel D_808A4498 - .asciz "../z_bg_mori_hineri.c" - .balign 4 - -.late_rodata -glabel D_808A44C0 - .float -1761.0 -glabel D_808A44C4 - .float 1278.0 -glabel D_808A44C8 - .float 1999.0 -glabel D_808A44CC - .float 1278.0 -glabel D_808A44D0 - .float 1.57079637051 -glabel D_808A44D4 - .float 0.01 -glabel D_808A44D8 - .float 1.3008157 -glabel D_808A44DC - .float 3.14159274101 -glabel D_808A44E0 - .float 0.01 - -.text -glabel func_808A3F58 -/* 00788 808A3F58 27BDFF50 */ addiu $sp, $sp, 0xFF50 ## $sp = FFFFFF50 -/* 0078C 808A3F5C AFBF001C */ sw $ra, 0x001C($sp) -/* 00790 808A3F60 AFB00018 */ sw $s0, 0x0018($sp) -/* 00794 808A3F64 AFA400B0 */ sw $a0, 0x00B0($sp) -/* 00798 808A3F68 AFA500B4 */ sw $a1, 0x00B4($sp) -/* 0079C 808A3F6C 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000 -/* 007A0 808A3F70 3C06808A */ lui $a2, %hi(D_808A4420) ## $a2 = 808A0000 -/* 007A4 808A3F74 24C64420 */ addiu $a2, $a2, %lo(D_808A4420) ## $a2 = 808A4420 -/* 007A8 808A3F78 27A40054 */ addiu $a0, $sp, 0x0054 ## $a0 = FFFFFFA4 -/* 007AC 808A3F7C 24070263 */ addiu $a3, $zero, 0x0263 ## $a3 = 00000263 -/* 007B0 808A3F80 0C031AB1 */ jal Graph_OpenDisps -/* 007B4 808A3F84 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000 -/* 007B8 808A3F88 8FAF00B4 */ lw $t7, 0x00B4($sp) -/* 007BC 808A3F8C 0C024F46 */ jal func_80093D18 -/* 007C0 808A3F90 8DE40000 */ lw $a0, 0x0000($t7) ## 00000000 -/* 007C4 808A3F94 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0 -/* 007C8 808A3F98 8FA700B4 */ lw $a3, 0x00B4($sp) -/* 007CC 808A3F9C 3C19DB06 */ lui $t9, 0xDB06 ## $t9 = DB060000 -/* 007D0 808A3FA0 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008 -/* 007D4 808A3FA4 AE1802C0 */ sw $t8, 0x02C0($s0) ## 000002C0 -/* 007D8 808A3FA8 37390020 */ ori $t9, $t9, 0x0020 ## $t9 = DB060020 -/* 007DC 808A3FAC AC590000 */ sw $t9, 0x0000($v0) ## 00000000 -/* 007E0 808A3FB0 8FA800B0 */ lw $t0, 0x00B0($sp) -/* 007E4 808A3FB4 3C0C0001 */ lui $t4, 0x0001 ## $t4 = 00010000 -/* 007E8 808A3FB8 3C0EDA38 */ lui $t6, 0xDA38 ## $t6 = DA380000 -/* 007EC 808A3FBC 81090169 */ lb $t1, 0x0169($t0) ## 00000169 -/* 007F0 808A3FC0 35CE0003 */ ori $t6, $t6, 0x0003 ## $t6 = DA380003 -/* 007F4 808A3FC4 3C05808A */ lui $a1, %hi(D_808A4438) ## $a1 = 808A0000 -/* 007F8 808A3FC8 00095100 */ sll $t2, $t1, 4 -/* 007FC 808A3FCC 01495021 */ addu $t2, $t2, $t1 -/* 00800 808A3FD0 000A5080 */ sll $t2, $t2, 2 -/* 00804 808A3FD4 00EA5821 */ addu $t3, $a3, $t2 -/* 00808 808A3FD8 018B6021 */ addu $t4, $t4, $t3 -/* 0080C 808A3FDC 8D8C17B4 */ lw $t4, 0x17B4($t4) ## 000117B4 -/* 00810 808A3FE0 24A54438 */ addiu $a1, $a1, %lo(D_808A4438) ## $a1 = 808A4438 -/* 00814 808A3FE4 2406026A */ addiu $a2, $zero, 0x026A ## $a2 = 0000026A -/* 00818 808A3FE8 AC4C0004 */ sw $t4, 0x0004($v0) ## 00000004 -/* 0081C 808A3FEC 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0 -/* 00820 808A3FF0 244D0008 */ addiu $t5, $v0, 0x0008 ## $t5 = 00000008 -/* 00824 808A3FF4 AE0D02C0 */ sw $t5, 0x02C0($s0) ## 000002C0 -/* 00828 808A3FF8 AC4E0000 */ sw $t6, 0x0000($v0) ## 00000000 -/* 0082C 808A3FFC 8CE40000 */ lw $a0, 0x0000($a3) ## 00000000 -/* 00830 808A4000 0C0346A2 */ jal Matrix_NewMtx -/* 00834 808A4004 AFA2004C */ sw $v0, 0x004C($sp) -/* 00838 808A4008 8FA3004C */ lw $v1, 0x004C($sp) -/* 0083C 808A400C 3C18DE00 */ lui $t8, 0xDE00 ## $t8 = DE000000 -/* 00840 808A4010 3C09808A */ lui $t1, %hi(D_808A4408) ## $t1 = 808A0000 -/* 00844 808A4014 AC620004 */ sw $v0, 0x0004($v1) ## 00000004 -/* 00848 808A4018 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0 -/* 0084C 808A401C 8FA600B0 */ lw $a2, 0x00B0($sp) -/* 00850 808A4020 244F0008 */ addiu $t7, $v0, 0x0008 ## $t7 = 00000008 -/* 00854 808A4024 AE0F02C0 */ sw $t7, 0x02C0($s0) ## 000002C0 -/* 00858 808A4028 AC580000 */ sw $t8, 0x0000($v0) ## 00000000 -/* 0085C 808A402C 84D9001C */ lh $t9, 0x001C($a2) ## 0000001C -/* 00860 808A4030 00194080 */ sll $t0, $t9, 2 -/* 00864 808A4034 01284821 */ addu $t1, $t1, $t0 -/* 00868 808A4038 8D294408 */ lw $t1, %lo(D_808A4408)($t1) -/* 0086C 808A403C AC490004 */ sw $t1, 0x0004($v0) ## 00000004 -/* 00870 808A4040 80CA016A */ lb $t2, 0x016A($a2) ## 0000016A -/* 00874 808A4044 59400005 */ blezl $t2, .L808A405C -/* 00878 808A4048 8CCC0164 */ lw $t4, 0x0164($a2) ## 00000164 -/* 0087C 808A404C 0C034236 */ jal Matrix_Get -/* 00880 808A4050 27A40068 */ addiu $a0, $sp, 0x0068 ## $a0 = FFFFFFB8 -/* 00884 808A4054 8FA600B0 */ lw $a2, 0x00B0($sp) -/* 00888 808A4058 8CCC0164 */ lw $t4, 0x0164($a2) ## 00000164 -.L808A405C: -/* 0088C 808A405C 3C0B808A */ lui $t3, %hi(func_808A3C8C) ## $t3 = 808A0000 -/* 00890 808A4060 256B3C8C */ addiu $t3, $t3, %lo(func_808A3C8C) ## $t3 = 808A3C8C -/* 00894 808A4064 556C0042 */ bnel $t3, $t4, .L808A4170 -/* 00898 808A4068 80CE016A */ lb $t6, 0x016A($a2) ## 0000016A -/* 0089C 808A406C 84CD00B8 */ lh $t5, 0x00B8($a2) ## 000000B8 -/* 008A0 808A4070 8FAE00B4 */ lw $t6, 0x00B4($sp) -/* 008A4 808A4074 51A0003E */ beql $t5, $zero, .L808A4170 -/* 008A8 808A4078 80CE016A */ lb $t6, 0x016A($a2) ## 0000016A -/* 008AC 808A407C 0C024F46 */ jal func_80093D18 -/* 008B0 808A4080 8DC40000 */ lw $a0, 0x0000($t6) ## 00000000 -/* 008B4 808A4084 8FAF00B0 */ lw $t7, 0x00B0($sp) -/* 008B8 808A4088 3C06C4E3 */ lui $a2, 0xC4E3 ## $a2 = C4E30000 -/* 008BC 808A408C 34C6A000 */ ori $a2, $a2, 0xA000 ## $a2 = C4E3A000 -/* 008C0 808A4090 85F8001C */ lh $t8, 0x001C($t7) ## 0000001C -/* 008C4 808A4094 3C01808A */ lui $at, %hi(D_808A44C8) ## $at = 808A0000 -/* 008C8 808A4098 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 -/* 008CC 808A409C 1700000B */ bne $t8, $zero, .L808A40CC -/* 008D0 808A40A0 00000000 */ nop -/* 008D4 808A40A4 3C01808A */ lui $at, %hi(D_808A44C0) ## $at = 808A0000 -/* 008D8 808A40A8 C42C44C0 */ lwc1 $f12, %lo(D_808A44C0)($at) -/* 008DC 808A40AC 3C01808A */ lui $at, %hi(D_808A44C4) ## $at = 808A0000 -/* 008E0 808A40B0 3C06C4E3 */ lui $a2, 0xC4E3 ## $a2 = C4E30000 -/* 008E4 808A40B4 34C6A000 */ ori $a2, $a2, 0xA000 ## $a2 = C4E3A000 -/* 008E8 808A40B8 C42E44C4 */ lwc1 $f14, %lo(D_808A44C4)($at) -/* 008EC 808A40BC 0C034261 */ jal Matrix_Translate -/* 008F0 808A40C0 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 -/* 008F4 808A40C4 10000006 */ beq $zero, $zero, .L808A40E0 -/* 008F8 808A40C8 8FB900B0 */ lw $t9, 0x00B0($sp) -.L808A40CC: -/* 008FC 808A40CC C42C44C8 */ lwc1 $f12, %lo(D_808A44C8)($at) -/* 00900 808A40D0 3C01808A */ lui $at, %hi(D_808A44CC) ## $at = 808A0000 -/* 00904 808A40D4 0C034261 */ jal Matrix_Translate -/* 00908 808A40D8 C42E44CC */ lwc1 $f14, %lo(D_808A44CC)($at) -/* 0090C 808A40DC 8FB900B0 */ lw $t9, 0x00B0($sp) -.L808A40E0: -/* 00910 808A40E0 00002025 */ or $a0, $zero, $zero ## $a0 = 00000000 -/* 00914 808A40E4 24058000 */ addiu $a1, $zero, 0x8000 ## $a1 = FFFF8000 -/* 00918 808A40E8 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 0091C 808A40EC 0C034421 */ jal Matrix_RotateRPY -/* 00920 808A40F0 872600B8 */ lh $a2, 0x00B8($t9) ## 000000B8 -/* 00924 808A40F4 44806000 */ mtc1 $zero, $f12 ## $f12 = 0.00 -/* 00928 808A40F8 3C01C248 */ lui $at, 0xC248 ## $at = C2480000 -/* 0092C 808A40FC 44817000 */ mtc1 $at, $f14 ## $f14 = -50.00 -/* 00930 808A4100 44066000 */ mfc1 $a2, $f12 -/* 00934 808A4104 0C034261 */ jal Matrix_Translate -/* 00938 808A4108 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 0093C 808A410C 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0 -/* 00940 808A4110 3C09DA38 */ lui $t1, 0xDA38 ## $t1 = DA380000 -/* 00944 808A4114 35290003 */ ori $t1, $t1, 0x0003 ## $t1 = DA380003 -/* 00948 808A4118 24480008 */ addiu $t0, $v0, 0x0008 ## $t0 = 00000008 -/* 0094C 808A411C AE0802C0 */ sw $t0, 0x02C0($s0) ## 000002C0 -/* 00950 808A4120 AC490000 */ sw $t1, 0x0000($v0) ## 00000000 -/* 00954 808A4124 8FAA00B4 */ lw $t2, 0x00B4($sp) -/* 00958 808A4128 3C05808A */ lui $a1, %hi(D_808A4450) ## $a1 = 808A0000 -/* 0095C 808A412C 24A54450 */ addiu $a1, $a1, %lo(D_808A4450) ## $a1 = 808A4450 -/* 00960 808A4130 8D440000 */ lw $a0, 0x0000($t2) ## 00000000 -/* 00964 808A4134 2406028C */ addiu $a2, $zero, 0x028C ## $a2 = 0000028C -/* 00968 808A4138 0C0346A2 */ jal Matrix_NewMtx -/* 0096C 808A413C AFA20044 */ sw $v0, 0x0044($sp) -/* 00970 808A4140 8FA30044 */ lw $v1, 0x0044($sp) -/* 00974 808A4144 3C0D0405 */ lui $t5, 0x0405 ## $t5 = 04050000 -/* 00978 808A4148 25AD9FE0 */ addiu $t5, $t5, 0x9FE0 ## $t5 = 04049FE0 -/* 0097C 808A414C AC620004 */ sw $v0, 0x0004($v1) ## 00000004 -/* 00980 808A4150 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0 -/* 00984 808A4154 3C0CDE00 */ lui $t4, 0xDE00 ## $t4 = DE000000 -/* 00988 808A4158 244B0008 */ addiu $t3, $v0, 0x0008 ## $t3 = 00000008 -/* 0098C 808A415C AE0B02C0 */ sw $t3, 0x02C0($s0) ## 000002C0 -/* 00990 808A4160 AC4D0004 */ sw $t5, 0x0004($v0) ## 00000004 -/* 00994 808A4164 AC4C0000 */ sw $t4, 0x0000($v0) ## 00000000 -/* 00998 808A4168 8FA600B0 */ lw $a2, 0x00B0($sp) -/* 0099C 808A416C 80CE016A */ lb $t6, 0x016A($a2) ## 0000016A -.L808A4170: -/* 009A0 808A4170 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 009A4 808A4174 342117A4 */ ori $at, $at, 0x17A4 ## $at = 000117A4 -/* 009A8 808A4178 19C0008A */ blez $t6, .L808A43A4 -/* 009AC 808A417C 8FA400B4 */ lw $a0, 0x00B4($sp) -/* 009B0 808A4180 00812021 */ addu $a0, $a0, $at -/* 009B4 808A4184 AFA40020 */ sw $a0, 0x0020($sp) -/* 009B8 808A4188 0C02604B */ jal Object_GetIndex - ## ObjectIndex -/* 009BC 808A418C 2405000E */ addiu $a1, $zero, 0x000E ## $a1 = 0000000E -/* 009C0 808A4190 8FAF00B0 */ lw $t7, 0x00B0($sp) -/* 009C4 808A4194 0002C600 */ sll $t8, $v0, 24 -/* 009C8 808A4198 0018CE03 */ sra $t9, $t8, 24 -/* 009CC 808A419C 8FA40020 */ lw $a0, 0x0020($sp) -/* 009D0 808A41A0 1B200080 */ blez $t9, .L808A43A4 -/* 009D4 808A41A4 A1E2016A */ sb $v0, 0x016A($t7) ## 0000016A -/* 009D8 808A41A8 8FA800B0 */ lw $t0, 0x00B0($sp) -/* 009DC 808A41AC 0C026062 */ jal Object_IsLoaded - -/* 009E0 808A41B0 8105016A */ lb $a1, 0x016A($t0) ## 0000016A -/* 009E4 808A41B4 5040007C */ beql $v0, $zero, .L808A43A8 -/* 009E8 808A41B8 8FAD00B4 */ lw $t5, 0x00B4($sp) -/* 009EC 808A41BC 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0 -/* 009F0 808A41C0 3C0ADB06 */ lui $t2, 0xDB06 ## $t2 = DB060000 -/* 009F4 808A41C4 354A0018 */ ori $t2, $t2, 0x0018 ## $t2 = DB060018 -/* 009F8 808A41C8 24490008 */ addiu $t1, $v0, 0x0008 ## $t1 = 00000008 -/* 009FC 808A41CC AE0902C0 */ sw $t1, 0x02C0($s0) ## 000002C0 -/* 00A00 808A41D0 AC4A0000 */ sw $t2, 0x0000($v0) ## 00000000 -/* 00A04 808A41D4 8FAC00B0 */ lw $t4, 0x00B0($sp) -/* 00A08 808A41D8 8FAB00B4 */ lw $t3, 0x00B4($sp) -/* 00A0C 808A41DC 3C180001 */ lui $t8, 0x0001 ## $t8 = 00010000 -/* 00A10 808A41E0 818D016A */ lb $t5, 0x016A($t4) ## 0000016A -/* 00A14 808A41E4 3C098011 */ lui $t1, %hi(D_80116280+0x10) -/* 00A18 808A41E8 3C08DB06 */ lui $t0, 0xDB06 ## $t0 = DB060000 -/* 00A1C 808A41EC 000D7100 */ sll $t6, $t5, 4 -/* 00A20 808A41F0 01CD7021 */ addu $t6, $t6, $t5 -/* 00A24 808A41F4 000E7080 */ sll $t6, $t6, 2 -/* 00A28 808A41F8 016E7821 */ addu $t7, $t3, $t6 -/* 00A2C 808A41FC 030FC021 */ addu $t8, $t8, $t7 -/* 00A30 808A4200 8F1817B4 */ lw $t8, 0x17B4($t8) ## 000117B4 -/* 00A34 808A4204 35080020 */ ori $t0, $t0, 0x0020 ## $t0 = DB060020 -/* 00A38 808A4208 25296290 */ addiu $t1, %lo(D_80116280+0x10) -/* 00A3C 808A420C AC580004 */ sw $t8, 0x0004($v0) ## 00000004 -/* 00A40 808A4210 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0 -/* 00A44 808A4214 27A40068 */ addiu $a0, $sp, 0x0068 ## $a0 = FFFFFFB8 -/* 00A48 808A4218 24590008 */ addiu $t9, $v0, 0x0008 ## $t9 = 00000008 -/* 00A4C 808A421C AE1902C0 */ sw $t9, 0x02C0($s0) ## 000002C0 -/* 00A50 808A4220 AC490004 */ sw $t1, 0x0004($v0) ## 00000004 -/* 00A54 808A4224 0C03423F */ jal Matrix_Put -/* 00A58 808A4228 AC480000 */ sw $t0, 0x0000($v0) ## 00000000 -/* 00A5C 808A422C 3C014313 */ lui $at, 0x4313 ## $at = 43130000 -/* 00A60 808A4230 44816000 */ mtc1 $at, $f12 ## $f12 = 147.00 -/* 00A64 808A4234 3C01C375 */ lui $at, 0xC375 ## $at = C3750000 -/* 00A68 808A4238 44817000 */ mtc1 $at, $f14 ## $f14 = -245.00 -/* 00A6C 808A423C 3C06C3E2 */ lui $a2, 0xC3E2 ## $a2 = C3E20000 -/* 00A70 808A4240 34C68000 */ ori $a2, $a2, 0x8000 ## $a2 = C3E28000 -/* 00A74 808A4244 0C034261 */ jal Matrix_Translate -/* 00A78 808A4248 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 00A7C 808A424C 3C01808A */ lui $at, %hi(D_808A44D0) ## $at = 808A0000 -/* 00A80 808A4250 C42C44D0 */ lwc1 $f12, %lo(D_808A44D0)($at) -/* 00A84 808A4254 0C034348 */ jal Matrix_RotateY -/* 00A88 808A4258 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 00A8C 808A425C 3C01808A */ lui $at, %hi(D_808A44D4) ## $at = 808A0000 -/* 00A90 808A4260 C42C44D4 */ lwc1 $f12, %lo(D_808A44D4)($at) -/* 00A94 808A4264 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 00A98 808A4268 44066000 */ mfc1 $a2, $f12 -/* 00A9C 808A426C 0C0342A3 */ jal Matrix_Scale -/* 00AA0 808A4270 46006386 */ mov.s $f14, $f12 -/* 00AA4 808A4274 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0 -/* 00AA8 808A4278 3C0CDA38 */ lui $t4, 0xDA38 ## $t4 = DA380000 -/* 00AAC 808A427C 358C0003 */ ori $t4, $t4, 0x0003 ## $t4 = DA380003 -/* 00AB0 808A4280 244A0008 */ addiu $t2, $v0, 0x0008 ## $t2 = 00000008 -/* 00AB4 808A4284 AE0A02C0 */ sw $t2, 0x02C0($s0) ## 000002C0 -/* 00AB8 808A4288 AC4C0000 */ sw $t4, 0x0000($v0) ## 00000000 -/* 00ABC 808A428C 8FAD00B4 */ lw $t5, 0x00B4($sp) -/* 00AC0 808A4290 3C05808A */ lui $a1, %hi(D_808A4468) ## $a1 = 808A0000 -/* 00AC4 808A4294 24A54468 */ addiu $a1, $a1, %lo(D_808A4468) ## $a1 = 808A4468 -/* 00AC8 808A4298 8DA40000 */ lw $a0, 0x0000($t5) ## 00000000 -/* 00ACC 808A429C 240602B1 */ addiu $a2, $zero, 0x02B1 ## $a2 = 000002B1 -/* 00AD0 808A42A0 0C0346A2 */ jal Matrix_NewMtx -/* 00AD4 808A42A4 AFA20034 */ sw $v0, 0x0034($sp) -/* 00AD8 808A42A8 8FA30034 */ lw $v1, 0x0034($sp) -/* 00ADC 808A42AC 3C0F0600 */ lui $t7, 0x0600 ## $t7 = 06000000 -/* 00AE0 808A42B0 25EF0AE8 */ addiu $t7, $t7, 0x0AE8 ## $t7 = 06000AE8 -/* 00AE4 808A42B4 AC620004 */ sw $v0, 0x0004($v1) ## 00000004 -/* 00AE8 808A42B8 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0 -/* 00AEC 808A42BC 3C0EDE00 */ lui $t6, 0xDE00 ## $t6 = DE000000 -/* 00AF0 808A42C0 27A40068 */ addiu $a0, $sp, 0x0068 ## $a0 = FFFFFFB8 -/* 00AF4 808A42C4 244B0008 */ addiu $t3, $v0, 0x0008 ## $t3 = 00000008 -/* 00AF8 808A42C8 AE0B02C0 */ sw $t3, 0x02C0($s0) ## 000002C0 -/* 00AFC 808A42CC AC4F0004 */ sw $t7, 0x0004($v0) ## 00000004 -/* 00B00 808A42D0 0C03423F */ jal Matrix_Put -/* 00B04 808A42D4 AC4E0000 */ sw $t6, 0x0000($v0) ## 00000000 -/* 00B08 808A42D8 3C014327 */ lui $at, 0x4327 ## $at = 43270000 -/* 00B0C 808A42DC 44816000 */ mtc1 $at, $f12 ## $f12 = 167.00 -/* 00B10 808A42E0 3C01C35A */ lui $at, 0xC35A ## $at = C35A0000 -/* 00B14 808A42E4 44817000 */ mtc1 $at, $f14 ## $f14 = -218.00 -/* 00B18 808A42E8 3C06C3E2 */ lui $a2, 0xC3E2 ## $a2 = C3E20000 -/* 00B1C 808A42EC 34C68000 */ ori $a2, $a2, 0x8000 ## $a2 = C3E28000 -/* 00B20 808A42F0 0C034261 */ jal Matrix_Translate -/* 00B24 808A42F4 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 00B28 808A42F8 8FA400B4 */ lw $a0, 0x00B4($sp) -/* 00B2C 808A42FC 0C00B32C */ jal Flags_GetTreasure - -/* 00B30 808A4300 2405000E */ addiu $a1, $zero, 0x000E ## $a1 = 0000000E -/* 00B34 808A4304 10400007 */ beq $v0, $zero, .L808A4324 -/* 00B38 808A4308 3C01808A */ lui $at, %hi(D_808A44DC) ## $at = 808A0000 -/* 00B3C 808A430C 3C01808A */ lui $at, %hi(D_808A44D8) ## $at = 808A0000 -/* 00B40 808A4310 C42C44D8 */ lwc1 $f12, %lo(D_808A44D8)($at) -/* 00B44 808A4314 0C0343B5 */ jal Matrix_RotateZ -/* 00B48 808A4318 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 00B4C 808A431C 10000004 */ beq $zero, $zero, .L808A4330 -/* 00B50 808A4320 00000000 */ nop -.L808A4324: -/* 00B54 808A4324 C42C44DC */ lwc1 $f12, %lo(D_808A44DC)($at) -/* 00B58 808A4328 0C0343B5 */ jal Matrix_RotateZ -/* 00B5C 808A432C 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -.L808A4330: -/* 00B60 808A4330 3C01808A */ lui $at, %hi(D_808A44E0) ## $at = 808A0000 -/* 00B64 808A4334 C42C44E0 */ lwc1 $f12, %lo(D_808A44E0)($at) -/* 00B68 808A4338 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 00B6C 808A433C 44066000 */ mfc1 $a2, $f12 -/* 00B70 808A4340 0C0342A3 */ jal Matrix_Scale -/* 00B74 808A4344 46006386 */ mov.s $f14, $f12 -/* 00B78 808A4348 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0 -/* 00B7C 808A434C 3C19DA38 */ lui $t9, 0xDA38 ## $t9 = DA380000 -/* 00B80 808A4350 37390003 */ ori $t9, $t9, 0x0003 ## $t9 = DA380003 -/* 00B84 808A4354 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008 -/* 00B88 808A4358 AE1802C0 */ sw $t8, 0x02C0($s0) ## 000002C0 -/* 00B8C 808A435C AC590000 */ sw $t9, 0x0000($v0) ## 00000000 -/* 00B90 808A4360 8FA800B4 */ lw $t0, 0x00B4($sp) -/* 00B94 808A4364 3C05808A */ lui $a1, %hi(D_808A4480) ## $a1 = 808A0000 -/* 00B98 808A4368 24A54480 */ addiu $a1, $a1, %lo(D_808A4480) ## $a1 = 808A4480 -/* 00B9C 808A436C 8D040000 */ lw $a0, 0x0000($t0) ## 00000000 -/* 00BA0 808A4370 240602BF */ addiu $a2, $zero, 0x02BF ## $a2 = 000002BF -/* 00BA4 808A4374 0C0346A2 */ jal Matrix_NewMtx -/* 00BA8 808A4378 AFA2002C */ sw $v0, 0x002C($sp) -/* 00BAC 808A437C 8FA3002C */ lw $v1, 0x002C($sp) -/* 00BB0 808A4380 3C0C0600 */ lui $t4, 0x0600 ## $t4 = 06000000 -/* 00BB4 808A4384 258C1678 */ addiu $t4, $t4, 0x1678 ## $t4 = 06001678 -/* 00BB8 808A4388 AC620004 */ sw $v0, 0x0004($v1) ## 00000004 -/* 00BBC 808A438C 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0 -/* 00BC0 808A4390 3C0ADE00 */ lui $t2, 0xDE00 ## $t2 = DE000000 -/* 00BC4 808A4394 24490008 */ addiu $t1, $v0, 0x0008 ## $t1 = 00000008 -/* 00BC8 808A4398 AE0902C0 */ sw $t1, 0x02C0($s0) ## 000002C0 -/* 00BCC 808A439C AC4C0004 */ sw $t4, 0x0004($v0) ## 00000004 -/* 00BD0 808A43A0 AC4A0000 */ sw $t2, 0x0000($v0) ## 00000000 -.L808A43A4: -/* 00BD4 808A43A4 8FAD00B4 */ lw $t5, 0x00B4($sp) -.L808A43A8: -/* 00BD8 808A43A8 3C06808A */ lui $a2, %hi(D_808A4498) ## $a2 = 808A0000 -/* 00BDC 808A43AC 24C64498 */ addiu $a2, $a2, %lo(D_808A4498) ## $a2 = 808A4498 -/* 00BE0 808A43B0 27A40054 */ addiu $a0, $sp, 0x0054 ## $a0 = FFFFFFA4 -/* 00BE4 808A43B4 240702C5 */ addiu $a3, $zero, 0x02C5 ## $a3 = 000002C5 -/* 00BE8 808A43B8 0C031AD5 */ jal Graph_CloseDisps -/* 00BEC 808A43BC 8DA50000 */ lw $a1, 0x0000($t5) ## 00000000 -/* 00BF0 808A43C0 8FBF001C */ lw $ra, 0x001C($sp) -/* 00BF4 808A43C4 8FB00018 */ lw $s0, 0x0018($sp) -/* 00BF8 808A43C8 27BD00B0 */ addiu $sp, $sp, 0x00B0 ## $sp = 00000000 -/* 00BFC 808A43CC 03E00008 */ jr $ra -/* 00C00 808A43D0 00000000 */ nop -/* 00C04 808A43D4 00000000 */ nop -/* 00C08 808A43D8 00000000 */ nop -/* 00C0C 808A43DC 00000000 */ nop diff --git a/data/overlays/actors/z_bg_mori_hineri.data.s b/data/overlays/actors/z_bg_mori_hineri.data.s deleted file mode 100644 index 477eda7b58..0000000000 --- a/data/overlays/actors/z_bg_mori_hineri.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_808A43E0 - .word 0xFFFF0000 -glabel Bg_Mori_Hineri_InitVars - .word 0x00680100, 0x00000030, 0x00010000, 0x0000016C -.word BgMoriHineri_Init -.word BgMoriHineri_Destroy -.word BgMoriHineri_Update -.word 0x00000000 -glabel D_808A4404 - .word 0x485003E8 -glabel D_808A4408 - .word 0x060024E0, 0x06001980, 0x060020F0, 0x06002B70, 0x00000000, 0x00000000 - diff --git a/data/overlays/actors/z_bg_mori_hineri.reloc.s b/data/overlays/actors/z_bg_mori_hineri.reloc.s deleted file mode 100644 index 4866844adc..0000000000 --- a/data/overlays/actors/z_bg_mori_hineri.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_808A44F0 - .incbin "baserom/ovl_Bg_Mori_Hineri", 0xD20, 0x00000150 diff --git a/include/functions.h b/include/functions.h index cd850336d9..5be264ac44 100644 --- a/include/functions.h +++ b/include/functions.h @@ -1042,7 +1042,7 @@ VecSph* OLib_Vec3fDiffToVecSphRot90(VecSph* arg0, Vec3f* a, Vec3f* b); // ? func_8007FFE0(?); // ? func_80080024(?); s16 func_800800F8(GlobalContext* globalCtx, s16 arg1, s16 arg2, Actor* actor, s16 arg4); -// ? func_800803F0(?); +UNK_TYPE func_800803F0(GlobalContext* globalCtx, s16 arg1); // ? func_80080480(?); void func_80080788(UNK_TYPE, UNK_TYPE); void Map_SavePlayerInitialInfo(GlobalContext* globalCtx); diff --git a/spec b/spec index dd8017025b..d3f0da660d 100644 --- a/spec +++ b/spec @@ -1147,8 +1147,7 @@ endseg beginseg name "ovl_Bg_Mori_Hineri" include "build/src/overlays/actors/ovl_Bg_Mori_Hineri/z_bg_mori_hineri.o" - include "build/data/overlays/actors/z_bg_mori_hineri.data.o" - include "build/data/overlays/actors/z_bg_mori_hineri.reloc.o" + include "build/src/overlays/actors/ovl_Bg_Mori_Hineri/ovl_Bg_Mori_Hineri_reloc.o" endseg beginseg diff --git a/src/overlays/actors/ovl_Bg_Mori_Hineri/z_bg_mori_hineri.c b/src/overlays/actors/ovl_Bg_Mori_Hineri/z_bg_mori_hineri.c index d53d16ff33..2057a2b8a3 100644 --- a/src/overlays/actors/ovl_Bg_Mori_Hineri/z_bg_mori_hineri.c +++ b/src/overlays/actors/ovl_Bg_Mori_Hineri/z_bg_mori_hineri.c @@ -1,3 +1,9 @@ +/* + * File: z_bg_mori_hineri.c + * Overlay: ovl_Bg_Mori_Hineri + * Description: Twisting hallway in Forest Temple + */ + #include "z_bg_mori_hineri.h" #define FLAGS 0x00000030 @@ -7,8 +13,17 @@ void BgMoriHineri_Init(Actor* thisx, GlobalContext* globalCtx); void BgMoriHineri_Destroy(Actor* thisx, GlobalContext* globalCtx); void BgMoriHineri_Update(Actor* thisx, GlobalContext* globalCtx); +void BgMoriHineri_DrawHallAndRoom(Actor* thisx, GlobalContext* globalCtx); + +void func_808A39FC(BgMoriHineri* this, GlobalContext* globalCtx); +void func_808A3E54(BgMoriHineri* this, GlobalContext* globalCtx); +void func_808A3C8C(BgMoriHineri* this, GlobalContext* globalCtx); +void BgMoriHineri_SpawnBossKeyChest(BgMoriHineri* this, GlobalContext* globalCtx); +void BgMoriHineri_DoNothing(BgMoriHineri* this, GlobalContext* globalCtx); +void func_808A3D58(BgMoriHineri* this, GlobalContext* globalCtx); + +static s16 D_808A43E0 = -1; -/* const ActorInit Bg_Mori_Hineri_InitVars = { ACTOR_BG_MORI_HINERI, ACTORTYPE_BG, @@ -20,23 +35,251 @@ const ActorInit Bg_Mori_Hineri_InitVars = { (ActorFunc)BgMoriHineri_Update, NULL, }; -*/ -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Mori_Hineri/BgMoriHineri_Init.s") -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Mori_Hineri/BgMoriHineri_Destroy.s") +static InitChainEntry sInitChain[] = { + ICHAIN_VEC3F_DIV1000(scale, 1000, ICHAIN_STOP), +}; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Mori_Hineri/func_808A39FC.s") +static Gfx* sDLists[] = { + 0x060024E0, + 0x06001980, + 0x060020F0, + 0x06002B70, +}; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Mori_Hineri/func_808A3BF0.s") +extern UNK_TYPE D_060054B8; +extern UNK_TYPE D_06003490; +extern UNK_TYPE D_060043D0; +extern UNK_TYPE D_06006078; +extern Gfx D_04049FE0[]; // display list for studded dungeon door +extern Gfx D_06000AE8[]; +extern Gfx D_06001678[]; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Mori_Hineri/func_808A3BFC.s") +void BgMoriHineri_Init(Actor* thisx, GlobalContext* globalCtx) { + BgMoriHineri* this = THIS; + s8 moriHineriObjIdx; + u32 switchFlagParam; + s32 t6; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Mori_Hineri/func_808A3C8C.s") + Actor_ProcessInitChain(&this->dyna.actor, sInitChain); + DynaPolyInfo_SetActorMove(&this->dyna.actor, DPM_PLAYER); -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Mori_Hineri/func_808A3D58.s") + switchFlagParam = this->dyna.actor.params & 0x3F; + t6 = this->dyna.actor.params & 0x4000; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Mori_Hineri/func_808A3E54.s") + if (t6 != 0) { + this->switchFlag = switchFlagParam; + } else { + this->switchFlag = ((this->dyna.actor.params >> 8) & 0x3F); + this->switchFlag = (Flags_GetSwitch(globalCtx, this->switchFlag)) ? 1 : 0; + } + this->dyna.actor.params = ((this->dyna.actor.params & 0x8000) >> 0xE); + if (Flags_GetSwitch(globalCtx, switchFlagParam)) { + if (this->dyna.actor.params == 0) { + this->dyna.actor.params = 1; + } else if (this->dyna.actor.params == 2) { + this->dyna.actor.params = 3; + } + } + this->boxObjIdx = -1; + if (this->dyna.actor.params == 0) { + this->moriHineriObjIdx = Object_GetIndex(&globalCtx->objectCtx, OBJECT_MORI_HINERI1); + if (t6 == 0) { + this->boxObjIdx = Object_GetIndex(&globalCtx->objectCtx, OBJECT_BOX); + } + } else { + if (this->dyna.actor.params == 1) { + moriHineriObjIdx = Object_GetIndex(&globalCtx->objectCtx, OBJECT_MORI_HINERI1A); + } else { + moriHineriObjIdx = (this->dyna.actor.params == 2) + ? Object_GetIndex(&globalCtx->objectCtx, OBJECT_MORI_HINERI2) + : Object_GetIndex(&globalCtx->objectCtx, OBJECT_MORI_HINERI2A); + } + this->moriHineriObjIdx = moriHineriObjIdx; + } + this->moriTexObjIdx = Object_GetIndex(&globalCtx->objectCtx, OBJECT_MORI_TEX); + if (t6 != 0) { + this->dyna.actor.params += 4; + } + if ((this->moriHineriObjIdx < 0) || (this->moriTexObjIdx < 0)) { + Actor_Kill(&this->dyna.actor); + } else { + this->actionFunc = func_808A39FC; + } +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Mori_Hineri/BgMoriHineri_Update.s") +void BgMoriHineri_Destroy(Actor* thisx, GlobalContext* globalCtx) { + BgMoriHineri* this = THIS; + DynaPolyInfo_Free(globalCtx, &globalCtx->colCtx.dyna, this->dyna.dynaPolyId); +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Mori_Hineri/func_808A3F58.s") +void func_808A39FC(BgMoriHineri* this, GlobalContext* globalCtx) { + s32 sp2C; + + if ((Object_IsLoaded(&globalCtx->objectCtx, this->moriHineriObjIdx)) && + (Object_IsLoaded(&globalCtx->objectCtx, this->moriTexObjIdx)) && + ((this->boxObjIdx < 0) || (Object_IsLoaded(&globalCtx->objectCtx, this->boxObjIdx)))) { + this->dyna.actor.objBankIndex = this->moriHineriObjIdx; + if (this->dyna.actor.params >= 4) { + this->dyna.actor.params -= 4; + if (this->dyna.actor.params == 0) { + this->moriHineriObjIdx = Object_GetIndex(&globalCtx->objectCtx, OBJECT_MORI_HINERI1A); + } else if (this->dyna.actor.params == 1) { + this->moriHineriObjIdx = Object_GetIndex(&globalCtx->objectCtx, OBJECT_MORI_HINERI1); + } else { + this->moriHineriObjIdx = (this->dyna.actor.params == 2) + ? Object_GetIndex(&globalCtx->objectCtx, OBJECT_MORI_HINERI2A) + : Object_GetIndex(&globalCtx->objectCtx, OBJECT_MORI_HINERI2); + } + if (this->moriHineriObjIdx < 0) { + Actor_Kill(&this->dyna.actor); + } else { + this->actionFunc = func_808A3D58; + } + } else { + Actor_SetObjectDependency(globalCtx, &this->dyna.actor); + sp2C = 0; + this->dyna.actor.draw = BgMoriHineri_DrawHallAndRoom; + if (this->dyna.actor.params == 0) { + this->actionFunc = func_808A3C8C; + DynaPolyInfo_Alloc(&D_060054B8, &sp2C); + } else if (this->dyna.actor.params == 1) { + this->actionFunc = BgMoriHineri_SpawnBossKeyChest; + DynaPolyInfo_Alloc(&D_06003490, &sp2C); + } else if (this->dyna.actor.params == 2) { + this->actionFunc = BgMoriHineri_DoNothing; + DynaPolyInfo_Alloc(&D_060043D0, &sp2C); + } else { + this->actionFunc = func_808A3C8C; + DynaPolyInfo_Alloc(&D_06006078, &sp2C); + } + this->dyna.dynaPolyId = + DynaPolyInfo_RegisterActor(globalCtx, &globalCtx->colCtx.dyna, &this->dyna.actor, sp2C); + } + } +} + +void BgMoriHineri_DoNothing(BgMoriHineri* this, GlobalContext* globalCtx) { +} + +void BgMoriHineri_SpawnBossKeyChest(BgMoriHineri* this, GlobalContext* globalCtx) { + Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_EN_BOX, this->dyna.actor.posRot.pos.x + 147.0f, + this->dyna.actor.posRot.pos.y + -245.0f, this->dyna.actor.posRot.pos.z + -453.0f, 0, 0x4000, 0, 0x27EE); + this->actionFunc = BgMoriHineri_DoNothing; +} + +void func_808A3C8C(BgMoriHineri* this, GlobalContext* globalCtx) { + f32 f0; + Player* player = PLAYER; + + f0 = 1100.0f - (player->actor.posRot.pos.z - this->dyna.actor.posRot.pos.z); + this->dyna.actor.shape.rot.z = CLAMP(f0, 0.0f, 1000.0f) * 16.384f; + func_8005A77C(globalCtx->cameraPtrs[0], 4); + if (this->dyna.actor.params != 0) { + this->dyna.actor.shape.rot.z = -this->dyna.actor.shape.rot.z; + } +} + +void func_808A3D58(BgMoriHineri* this, GlobalContext* globalCtx) { + s16 unk_14E; + + if ((Flags_GetSwitch(globalCtx, this->switchFlag) && + (this->dyna.actor.params == 0 || this->dyna.actor.params == 2)) || + (!Flags_GetSwitch(globalCtx, this->switchFlag) && + (this->dyna.actor.params == 1 || this->dyna.actor.params == 3))) { + this->dyna.actor.draw = BgMoriHineri_DrawHallAndRoom; + this->actionFunc = func_808A3E54; + + unk_14E = globalCtx->cameraPtrs[0]->unk_14E; + if ((unk_14E != 0) && (globalCtx->cameraPtrs[unk_14E]->setting == 0x26)) { + func_800803F0(globalCtx, unk_14E); + } + func_800800F8(globalCtx, 0xCBC, 0x28, &this->dyna.actor, 0); + D_808A43E0 = func_800800F8(globalCtx, 0xCBD, 0x28, &this->dyna.actor, 0); + } +} + +void func_808A3E54(BgMoriHineri* this, GlobalContext* globalCtx) { + s8 objBankIndex; + + if (globalCtx->activeCamera == D_808A43E0) { + if (D_808A43E0 != 0) { + objBankIndex = this->dyna.actor.objBankIndex; + this->dyna.actor.objBankIndex = this->moriHineriObjIdx; + this->moriHineriObjIdx = objBankIndex; + this->dyna.actor.params ^= 1; + D_808A43E0 = 0; + func_80078884(NA_SE_SY_TRE_BOX_APPEAR); + } else { + this->dyna.actor.draw = NULL; + this->actionFunc = func_808A3D58; + D_808A43E0 = -1; + } + } + if ((D_808A43E0 > 0) && + ((ACTIVE_CAM->eye.z - this->dyna.actor.posRot.pos.z) < 1100.0f)) { + func_8002F948(&this->dyna.actor, NA_SE_EV_FLOOR_ROLLING - SFX_FLAG); + } +} + +void BgMoriHineri_Update(Actor* thisx, GlobalContext* globalCtx) { + BgMoriHineri* this = THIS; + + this->actionFunc(this, globalCtx); +} + +void BgMoriHineri_DrawHallAndRoom(Actor* thisx, GlobalContext* globalCtx) { + + BgMoriHineri* this = THIS; + s8 objIndex; + MtxF mtx; + GraphicsContext* gfxCtx = globalCtx->state.gfxCtx; + Gfx* dispRefs[4]; + + Graph_OpenDisps(&dispRefs, globalCtx->state.gfxCtx, "../z_bg_mori_hineri.c", 611); + func_80093D18(globalCtx->state.gfxCtx); + gSPSegment(gfxCtx->polyOpa.p++, 0x08, globalCtx->objectCtx.status[this->moriTexObjIdx].segment); + gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_mori_hineri.c", 618), + G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList(gfxCtx->polyOpa.p++, sDLists[this->dyna.actor.params]); + if (this->boxObjIdx > 0) { + Matrix_Get(&mtx); + } + if ((this->actionFunc == func_808A3C8C) && (this->dyna.actor.shape.rot.z != 0)) { + func_80093D18(globalCtx->state.gfxCtx); + if (this->dyna.actor.params == 0) { + Matrix_Translate(-1761.0f, 1278.0f, -1821.0f, MTXMODE_NEW); + } else { + Matrix_Translate(1999.0f, 1278.0f, -1821.0f, MTXMODE_NEW); + } + Matrix_RotateRPY(0, -0x8000, this->dyna.actor.shape.rot.z, MTXMODE_APPLY); + Matrix_Translate(0.0f, -50.0f, 0.0f, MTXMODE_APPLY); + gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_mori_hineri.c", 652), + G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList(gfxCtx->polyOpa.p++, D_04049FE0); + } + if ((this->boxObjIdx > 0) && ((this->boxObjIdx = Object_GetIndex(&globalCtx->objectCtx, OBJECT_BOX)) > 0) && + (Object_IsLoaded(&globalCtx->objectCtx, this->boxObjIdx))) { + gSPSegment(gfxCtx->polyOpa.p++, 0x06, globalCtx->objectCtx.status[this->boxObjIdx].segment); + gSPSegment(gfxCtx->polyOpa.p++, 0x08, &D_80116280[2]); + Matrix_Put(&mtx); + Matrix_Translate(147.0f, -245.0f, -453.0f, MTXMODE_APPLY); + Matrix_RotateY(1.5707964f, MTXMODE_APPLY); + Matrix_Scale(0.01f, 0.01f, 0.01f, MTXMODE_APPLY); + gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_mori_hineri.c", 689), + G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList(gfxCtx->polyOpa.p++, D_06000AE8); + Matrix_Put(&mtx); + Matrix_Translate(167.0f, -218.0f, -453.0f, MTXMODE_APPLY); + if (Flags_GetTreasure(globalCtx, 0xE)) { + Matrix_RotateZ(1.3008157f, MTXMODE_APPLY); + } else { + Matrix_RotateZ(M_PI, MTXMODE_APPLY); + } + Matrix_Scale(0.01f, 0.01f, 0.01f, MTXMODE_APPLY); + gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_mori_hineri.c", 703), + G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList(gfxCtx->polyOpa.p++, D_06001678); + } + Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_mori_hineri.c", 709); +} diff --git a/src/overlays/actors/ovl_Bg_Mori_Hineri/z_bg_mori_hineri.h b/src/overlays/actors/ovl_Bg_Mori_Hineri/z_bg_mori_hineri.h index d8f991a13d..ebc5e73951 100644 --- a/src/overlays/actors/ovl_Bg_Mori_Hineri/z_bg_mori_hineri.h +++ b/src/overlays/actors/ovl_Bg_Mori_Hineri/z_bg_mori_hineri.h @@ -6,9 +6,15 @@ struct BgMoriHineri; +typedef void (*BgMoriHineriActionFunc)(struct BgMoriHineri*, GlobalContext*); + typedef struct BgMoriHineri { - /* 0x0000 */ Actor actor; - /* 0x014C */ char unk_14C[0x20]; + /* 0x0000 */ DynaPolyActor dyna; + /* 0x0164 */ BgMoriHineriActionFunc actionFunc; + /* 0x0168 */ s8 moriHineriObjIdx; + /* 0x0169 */ s8 moriTexObjIdx; + /* 0x016A */ s8 boxObjIdx; + /* 0x016B */ s8 switchFlag; } BgMoriHineri; // size = 0x016C extern const ActorInit Bg_Mori_Hineri_InitVars; diff --git a/undefined_syms.txt b/undefined_syms.txt index 8158341114..33ad0580f4 100644 --- a/undefined_syms.txt +++ b/undefined_syms.txt @@ -768,6 +768,15 @@ D_02003C80 = 0x02003C80; D_02005020 = 0x02005020; D_020024A0 = 0x020024A0; +// z_bg_mori_hineri +D_060054B8 = 0x060054B8; +D_06003490 = 0x06003490; +D_060043D0 = 0x060043D0; +D_06006078 = 0x06006078; +D_04049FE0 = 0x04049FE0; +D_06000AE8 = 0x06000AE8; +D_06001678 = 0x06001678; + // z_bg_haka_tubo D_060108B8 = 0x060108B8; D_0600FE40 = 0x0600FE40;