From 84195fcef613a9f9e9b2518294c6084097f279d7 Mon Sep 17 00:00:00 2001 From: Zelllll <56516451+Zelllll@users.noreply.github.com> Date: Fri, 22 Jan 2021 18:55:38 -0600 Subject: [PATCH] Bg_Spot06_Objects OK and documented (#605) * stuck on init * init matches * more functions matched * just a few functions left * three functions left * all finished * fix compiler error * various improvements * add actor description * remove unused asm * fix remaining dyna things * Update src/overlays/actors/ovl_Bg_Spot06_Objects/z_bg_spot06_objects.c Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com> * Update src/overlays/actors/ovl_Bg_Spot06_Objects/z_bg_spot06_objects.c Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com> * fixed all of roman's comments * format c files Co-authored-by: Zelllll Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com> --- .../BgSpot06Objects_Destroy.s | 31 -- .../BgSpot06Objects_Draw.s | 58 --- .../BgSpot06Objects_Init.s | 294 ----------- .../BgSpot06Objects_Update.s | 24 - .../ovl_Bg_Spot06_Objects/func_808AEBC0.s | 75 --- .../ovl_Bg_Spot06_Objects/func_808AECB4.s | 41 -- .../ovl_Bg_Spot06_Objects/func_808AED48.s | 16 - .../ovl_Bg_Spot06_Objects/func_808AED7C.s | 38 -- .../ovl_Bg_Spot06_Objects/func_808AEE00.s | 4 - .../ovl_Bg_Spot06_Objects/func_808AEE0C.s | 27 - .../ovl_Bg_Spot06_Objects/func_808AEE6C.s | 48 -- .../ovl_Bg_Spot06_Objects/func_808AEEFC.s | 156 ------ .../ovl_Bg_Spot06_Objects/func_808AF120.s | 59 --- .../ovl_Bg_Spot06_Objects/func_808AF1D8.s | 192 ------- .../ovl_Bg_Spot06_Objects/func_808AF450.s | 41 -- .../ovl_Bg_Spot06_Objects/func_808AF524.s | 150 ------ .../ovl_Bg_Spot06_Objects/func_808AF7FC.s | 12 - .../ovl_Bg_Spot06_Objects/func_808AF824.s | 72 --- .../actors/z_bg_spot06_objects.data.s | 27 - .../actors/z_bg_spot06_objects.reloc.s | 13 - spec | 3 +- .../z_bg_spot06_objects.c | 483 ++++++++++++++++-- .../z_bg_spot06_objects.h | 11 +- .../actors/ovl_En_M_Thunder/z_en_m_thunder.c | 8 +- 24 files changed, 465 insertions(+), 1418 deletions(-) delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/BgSpot06Objects_Destroy.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/BgSpot06Objects_Draw.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/BgSpot06Objects_Init.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/BgSpot06Objects_Update.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/func_808AEBC0.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/func_808AECB4.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/func_808AED48.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/func_808AED7C.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/func_808AEE00.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/func_808AEE0C.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/func_808AEE6C.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/func_808AEEFC.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/func_808AF120.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/func_808AF1D8.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/func_808AF450.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/func_808AF524.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/func_808AF7FC.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/func_808AF824.s delete mode 100644 data/overlays/actors/z_bg_spot06_objects.data.s delete mode 100644 data/overlays/actors/z_bg_spot06_objects.reloc.s diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/BgSpot06Objects_Destroy.s b/asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/BgSpot06Objects_Destroy.s deleted file mode 100644 index 6787e1b5c5..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/BgSpot06Objects_Destroy.s +++ /dev/null @@ -1,31 +0,0 @@ -glabel BgSpot06Objects_Destroy -/* 003DC 808AEB5C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 003E0 808AEB60 AFBF0014 */ sw $ra, 0x0014($sp) -/* 003E4 808AEB64 AFA5001C */ sw $a1, 0x001C($sp) -/* 003E8 808AEB68 8482001C */ lh $v0, 0x001C($a0) ## 0000001C -/* 003EC 808AEB6C 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000 -/* 003F0 808AEB70 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 003F4 808AEB74 10400007 */ beq $v0, $zero, .L808AEB94 -/* 003F8 808AEB78 8FA4001C */ lw $a0, 0x001C($sp) -/* 003FC 808AEB7C 1041000A */ beq $v0, $at, .L808AEBA8 -/* 00400 808AEB80 24E50170 */ addiu $a1, $a3, 0x0170 ## $a1 = 00000170 -/* 00404 808AEB84 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002 -/* 00408 808AEB88 10410009 */ beq $v0, $at, .L808AEBB0 -/* 0040C 808AEB8C 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003 -/* 00410 808AEB90 14410007 */ bne $v0, $at, .L808AEBB0 -.L808AEB94: -/* 00414 808AEB94 24850810 */ addiu $a1, $a0, 0x0810 ## $a1 = 00000810 -/* 00418 808AEB98 0C00FB56 */ jal DynaPoly_DeleteBgActor - ## DynaPoly_DeleteBgActor -/* 0041C 808AEB9C 8CE6014C */ lw $a2, 0x014C($a3) ## 0000014C -/* 00420 808AEBA0 10000004 */ beq $zero, $zero, .L808AEBB4 -/* 00424 808AEBA4 8FBF0014 */ lw $ra, 0x0014($sp) -.L808AEBA8: -/* 00428 808AEBA8 0C016F32 */ jal Collider_DestroyJntSph -/* 0042C 808AEBAC 8FA4001C */ lw $a0, 0x001C($sp) -.L808AEBB0: -/* 00430 808AEBB0 8FBF0014 */ lw $ra, 0x0014($sp) -.L808AEBB4: -/* 00434 808AEBB4 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00438 808AEBB8 03E00008 */ jr $ra -/* 0043C 808AEBBC 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/BgSpot06Objects_Draw.s b/asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/BgSpot06Objects_Draw.s deleted file mode 100644 index 10f08bd248..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/BgSpot06Objects_Draw.s +++ /dev/null @@ -1,58 +0,0 @@ -glabel BgSpot06Objects_Draw -/* 00FB8 808AF738 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00FBC 808AF73C AFBF0014 */ sw $ra, 0x0014($sp) -/* 00FC0 808AF740 8482001C */ lh $v0, 0x001C($a0) ## 0000001C -/* 00FC4 808AF744 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000 -/* 00FC8 808AF748 00A03825 */ or $a3, $a1, $zero ## $a3 = 00000000 -/* 00FCC 808AF74C 1040000C */ beq $v0, $zero, .L808AF780 -/* 00FD0 808AF750 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000 -/* 00FD4 808AF754 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 00FD8 808AF758 1041000E */ beq $v0, $at, .L808AF794 -/* 00FDC 808AF75C 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000 -/* 00FE0 808AF760 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002 -/* 00FE4 808AF764 1041001A */ beq $v0, $at, .L808AF7D0 -/* 00FE8 808AF768 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000 -/* 00FEC 808AF76C 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003 -/* 00FF0 808AF770 1041001B */ beq $v0, $at, .L808AF7E0 -/* 00FF4 808AF774 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000 -/* 00FF8 808AF778 1000001D */ beq $zero, $zero, .L808AF7F0 -/* 00FFC 808AF77C 8FBF0014 */ lw $ra, 0x0014($sp) -.L808AF780: -/* 01000 808AF780 3C050600 */ lui $a1, %hi(D_06000E10) ## $a1 = 06000000 -/* 01004 808AF784 0C00D498 */ jal Gfx_DrawDListOpa - -/* 01008 808AF788 24A50E10 */ addiu $a1, $a1, %lo(D_06000E10) ## $a1 = 06000E10 -/* 0100C 808AF78C 10000018 */ beq $zero, $zero, .L808AF7F0 -/* 01010 808AF790 8FBF0014 */ lw $ra, 0x0014($sp) -.L808AF794: -/* 01014 808AF794 3C050600 */ lui $a1, %hi(D_06002490) ## $a1 = 06000000 -/* 01018 808AF798 24A52490 */ addiu $a1, $a1, %lo(D_06002490) ## $a1 = 06002490 -/* 0101C 808AF79C 0C00D498 */ jal Gfx_DrawDListOpa - -/* 01020 808AF7A0 AFA60018 */ sw $a2, 0x0018($sp) -/* 01024 808AF7A4 8FA60018 */ lw $a2, 0x0018($sp) -/* 01028 808AF7A8 3C0E808B */ lui $t6, %hi(func_808AF1D8) ## $t6 = 808B0000 -/* 0102C 808AF7AC 25CEF1D8 */ addiu $t6, $t6, %lo(func_808AF1D8) ## $t6 = 808AF1D8 -/* 01030 808AF7B0 8CCF0164 */ lw $t7, 0x0164($a2) ## 00000164 -/* 01034 808AF7B4 24040001 */ addiu $a0, $zero, 0x0001 ## $a0 = 00000001 -/* 01038 808AF7B8 55CF000D */ bnel $t6, $t7, .L808AF7F0 -/* 0103C 808AF7BC 8FBF0014 */ lw $ra, 0x0014($sp) -/* 01040 808AF7C0 0C018A29 */ jal Collider_UpdateSpheres -/* 01044 808AF7C4 24C50170 */ addiu $a1, $a2, 0x0170 ## $a1 = 00000170 -/* 01048 808AF7C8 10000009 */ beq $zero, $zero, .L808AF7F0 -/* 0104C 808AF7CC 8FBF0014 */ lw $ra, 0x0014($sp) -.L808AF7D0: -/* 01050 808AF7D0 0C22BD49 */ jal func_808AF524 -/* 01054 808AF7D4 00E02825 */ or $a1, $a3, $zero ## $a1 = 00000000 -/* 01058 808AF7D8 10000005 */ beq $zero, $zero, .L808AF7F0 -/* 0105C 808AF7DC 8FBF0014 */ lw $ra, 0x0014($sp) -.L808AF7E0: -/* 01060 808AF7E0 3C050600 */ lui $a1, %hi(D_06001160) ## $a1 = 06000000 -/* 01064 808AF7E4 0C00D498 */ jal Gfx_DrawDListOpa - -/* 01068 808AF7E8 24A51160 */ addiu $a1, $a1, %lo(D_06001160) ## $a1 = 06001160 -/* 0106C 808AF7EC 8FBF0014 */ lw $ra, 0x0014($sp) -.L808AF7F0: -/* 01070 808AF7F0 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 01074 808AF7F4 03E00008 */ jr $ra -/* 01078 808AF7F8 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/BgSpot06Objects_Init.s b/asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/BgSpot06Objects_Init.s deleted file mode 100644 index fe3dc00e73..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/BgSpot06Objects_Init.s +++ /dev/null @@ -1,294 +0,0 @@ -.rdata -glabel D_808AF970 - .asciz "spot06 obj nthisx->arg_data=[%d]" - .balign 4 - -.late_rodata -glabel D_808AF9E8 - .word 0xC4F92000 -glabel D_808AF9EC - .word 0xC4A42000 -glabel D_808AF9F0 - .word 0xC42A4000 -glabel D_808AF9F4 - .word 0xC42A4000 -glabel D_808AF9F8 - .word 0xC4A42000 - -.text -glabel BgSpot06Objects_Init -/* 00000 808AE780 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0 -/* 00004 808AE784 AFBF0024 */ sw $ra, 0x0024($sp) -/* 00008 808AE788 AFB00020 */ sw $s0, 0x0020($sp) -/* 0000C 808AE78C AFA50044 */ sw $a1, 0x0044($sp) -/* 00010 808AE790 AFA00034 */ sw $zero, 0x0034($sp) -/* 00014 808AE794 8482001C */ lh $v0, 0x001C($a0) ## 0000001C -/* 00018 808AE798 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 0001C 808AE79C 00027A03 */ sra $t7, $v0, 8 -/* 00020 808AE7A0 31F800FF */ andi $t8, $t7, 0x00FF ## $t8 = 00000000 -/* 00024 808AE7A4 304E00FF */ andi $t6, $v0, 0x00FF ## $t6 = 00000000 -/* 00028 808AE7A8 A48E0168 */ sh $t6, 0x0168($a0) ## 00000168 -/* 0002C 808AE7AC A498001C */ sh $t8, 0x001C($a0) ## 0000001C -/* 00030 808AE7B0 3C04808B */ lui $a0, %hi(D_808AF970) ## $a0 = 808B0000 -/* 00034 808AE7B4 2484F970 */ addiu $a0, $a0, %lo(D_808AF970) ## $a0 = 808AF970 -/* 00038 808AE7B8 0C00084C */ jal osSyncPrintf - -/* 0003C 808AE7BC 8605001C */ lh $a1, 0x001C($s0) ## 0000001C -/* 00040 808AE7C0 8602001C */ lh $v0, 0x001C($s0) ## 0000001C -/* 00044 808AE7C4 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 00048 808AE7C8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 0004C 808AE7CC 1040000B */ beq $v0, $zero, .L808AE7FC -/* 00050 808AE7D0 3C05808B */ lui $a1, %hi(D_808AF964) ## $a1 = 808B0000 -/* 00054 808AE7D4 1041002E */ beq $v0, $at, .L808AE890 -/* 00058 808AE7D8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 0005C 808AE7DC 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002 -/* 00060 808AE7E0 10410085 */ beq $v0, $at, .L808AE9F8 -/* 00064 808AE7E4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00068 808AE7E8 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003 -/* 0006C 808AE7EC 104100BC */ beq $v0, $at, .L808AEAE0 -/* 00070 808AE7F0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00074 808AE7F4 100000D5 */ beq $zero, $zero, .L808AEB4C -/* 00078 808AE7F8 8FBF0024 */ lw $ra, 0x0024($sp) -.L808AE7FC: -/* 0007C 808AE7FC 0C01E037 */ jal Actor_ProcessInitChain - -/* 00080 808AE800 24A5F964 */ addiu $a1, $a1, %lo(D_808AF964) ## $a1 = 808AF964 -/* 00084 808AE804 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00088 808AE808 0C010D20 */ jal DynaPolyActor_Init - -/* 0008C 808AE80C 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000 -/* 00090 808AE810 3C040600 */ lui $a0, %hi(D_06000EE8) ## $a0 = 06000000 -/* 00094 808AE814 24840EE8 */ addiu $a0, $a0, %lo(D_06000EE8) ## $a0 = 06000EE8 -/* 00098 808AE818 0C010620 */ jal CollisionHeader_GetVirtual - -/* 0009C 808AE81C 27A50034 */ addiu $a1, $sp, 0x0034 ## $a1 = FFFFFFF4 -/* 000A0 808AE820 8FA40044 */ lw $a0, 0x0044($sp) -/* 000A4 808AE824 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000 -/* 000A8 808AE828 8FA70034 */ lw $a3, 0x0034($sp) -/* 000AC 808AE82C 0C00FA9D */ jal DynaPoly_SetBgActor - ## DynaPoly_SetBgActor -/* 000B0 808AE830 24850810 */ addiu $a1, $a0, 0x0810 ## $a1 = 00000810 -/* 000B4 808AE834 3C038016 */ lui $v1, %hi(gSaveContext) -/* 000B8 808AE838 2463E660 */ addiu $v1, %lo(gSaveContext) -/* 000BC 808AE83C AE02014C */ sw $v0, 0x014C($s0) ## 0000014C -/* 000C0 808AE840 8C790004 */ lw $t9, 0x0004($v1) ## 8015E664 -/* 000C4 808AE844 8FA40044 */ lw $a0, 0x0044($sp) -/* 000C8 808AE848 1720000D */ bne $t9, $zero, .L808AE880 -/* 000CC 808AE84C 00000000 */ nop -/* 000D0 808AE850 0C00B2D0 */ jal Flags_GetSwitch - -/* 000D4 808AE854 86050168 */ lh $a1, 0x0168($s0) ## 00000168 -/* 000D8 808AE858 10400009 */ beq $v0, $zero, .L808AE880 -/* 000DC 808AE85C 3C0142F0 */ lui $at, 0x42F0 ## $at = 42F00000 -/* 000E0 808AE860 C604000C */ lwc1 $f4, 0x000C($s0) ## 0000000C -/* 000E4 808AE864 44813000 */ mtc1 $at, $f6 ## $f6 = 120.00 -/* 000E8 808AE868 3C08808B */ lui $t0, %hi(func_808AEE00) ## $t0 = 808B0000 -/* 000EC 808AE86C 2508EE00 */ addiu $t0, $t0, %lo(func_808AEE00) ## $t0 = 808AEE00 -/* 000F0 808AE870 46062200 */ add.s $f8, $f4, $f6 -/* 000F4 808AE874 AE080164 */ sw $t0, 0x0164($s0) ## 00000164 -/* 000F8 808AE878 100000B3 */ beq $zero, $zero, .L808AEB48 -/* 000FC 808AE87C E6080028 */ swc1 $f8, 0x0028($s0) ## 00000028 -.L808AE880: -/* 00100 808AE880 3C09808B */ lui $t1, %hi(func_808AECB4) ## $t1 = 808B0000 -/* 00104 808AE884 2529ECB4 */ addiu $t1, $t1, %lo(func_808AECB4) ## $t1 = 808AECB4 -/* 00108 808AE888 100000AF */ beq $zero, $zero, .L808AEB48 -/* 0010C 808AE88C AE090164 */ sw $t1, 0x0164($s0) ## 00000164 -.L808AE890: -/* 00110 808AE890 3C05808B */ lui $a1, %hi(D_808AF964) ## $a1 = 808B0000 -/* 00114 808AE894 0C01E037 */ jal Actor_ProcessInitChain - -/* 00118 808AE898 24A5F964 */ addiu $a1, $a1, %lo(D_808AF964) ## $a1 = 808AF964 -/* 0011C 808AE89C 26050170 */ addiu $a1, $s0, 0x0170 ## $a1 = 00000170 -/* 00120 808AE8A0 AFA5002C */ sw $a1, 0x002C($sp) -/* 00124 808AE8A4 0C016EFE */ jal Collider_InitJntSph -/* 00128 808AE8A8 8FA40044 */ lw $a0, 0x0044($sp) -/* 0012C 808AE8AC 3C07808B */ lui $a3, %hi(D_808AF954) ## $a3 = 808B0000 -/* 00130 808AE8B0 260A0190 */ addiu $t2, $s0, 0x0190 ## $t2 = 00000190 -/* 00134 808AE8B4 8FA5002C */ lw $a1, 0x002C($sp) -/* 00138 808AE8B8 AFAA0010 */ sw $t2, 0x0010($sp) -/* 0013C 808AE8BC 24E7F954 */ addiu $a3, $a3, %lo(D_808AF954) ## $a3 = 808AF954 -/* 00140 808AE8C0 8FA40044 */ lw $a0, 0x0044($sp) -/* 00144 808AE8C4 0C017014 */ jal Collider_SetJntSph -/* 00148 808AE8C8 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000 -/* 0014C 808AE8CC 3C038016 */ lui $v1, %hi(gSaveContext) -/* 00150 808AE8D0 2463E660 */ addiu $v1, %lo(gSaveContext) -/* 00154 808AE8D4 8C6B0004 */ lw $t3, 0x0004($v1) ## 8015E664 -/* 00158 808AE8D8 8FA40044 */ lw $a0, 0x0044($sp) -/* 0015C 808AE8DC 5560002C */ bnel $t3, $zero, .L808AE990 -/* 00160 808AE8E0 8E02018C */ lw $v0, 0x018C($s0) ## 0000018C -/* 00164 808AE8E4 0C00B2D0 */ jal Flags_GetSwitch - -/* 00168 808AE8E8 86050168 */ lh $a1, 0x0168($s0) ## 00000168 -/* 0016C 808AE8EC 3C038016 */ lui $v1, %hi(gSaveContext) -/* 00170 808AE8F0 10400026 */ beq $v0, $zero, .L808AE98C -/* 00174 808AE8F4 2463E660 */ addiu $v1, %lo(gSaveContext) -/* 00178 808AE8F8 946C0EE0 */ lhu $t4, 0x0EE0($v1) ## 8015F540 -/* 0017C 808AE8FC 3C01808B */ lui $at, %hi(D_808AF9EC) ## $at = 808B0000 -/* 00180 808AE900 318D0200 */ andi $t5, $t4, 0x0200 ## $t5 = 00000000 -/* 00184 808AE904 15A00006 */ bne $t5, $zero, .L808AE920 -/* 00188 808AE908 00000000 */ nop -/* 0018C 808AE90C 3C01808B */ lui $at, %hi(D_808AF9E8) ## $at = 808B0000 -/* 00190 808AE910 C420F9E8 */ lwc1 $f0, %lo(D_808AF9E8)($at) -/* 00194 808AE914 E6000028 */ swc1 $f0, 0x0028($s0) ## 00000028 -/* 00198 808AE918 10000004 */ beq $zero, $zero, .L808AE92C -/* 0019C 808AE91C E600000C */ swc1 $f0, 0x000C($s0) ## 0000000C -.L808AE920: -/* 001A0 808AE920 C422F9EC */ lwc1 $f2, %lo(D_808AF9EC)($at) -/* 001A4 808AE924 E6020028 */ swc1 $f2, 0x0028($s0) ## 00000028 -/* 001A8 808AE928 E602000C */ swc1 $f2, 0x000C($s0) ## 0000000C -.L808AE92C: -/* 001AC 808AE92C 3C014180 */ lui $at, 0x4180 ## $at = 41800000 -/* 001B0 808AE930 44810000 */ mtc1 $at, $f0 ## $f0 = 16.00 -/* 001B4 808AE934 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000 -/* 001B8 808AE938 44818000 */ mtc1 $at, $f16 ## $f16 = 100.00 -/* 001BC 808AE93C C60A002C */ lwc1 $f10, 0x002C($s0) ## 0000002C -/* 001C0 808AE940 8E02018C */ lw $v0, 0x018C($s0) ## 0000018C -/* 001C4 808AE944 3C0E808B */ lui $t6, %hi(func_808AF450) ## $t6 = 808B0000 -/* 001C8 808AE948 46105481 */ sub.s $f18, $f10, $f16 -/* 001CC 808AE94C 25CEF450 */ addiu $t6, $t6, %lo(func_808AF450) ## $t6 = 808AF450 -/* 001D0 808AE950 AE0E0164 */ sw $t6, 0x0164($s0) ## 00000164 -/* 001D4 808AE954 E612002C */ swc1 $f18, 0x002C($s0) ## 0000002C -/* 001D8 808AE958 C604002C */ lwc1 $f4, 0x002C($s0) ## 0000002C -/* 001DC 808AE95C 46002180 */ add.s $f6, $f4, $f0 -/* 001E0 808AE960 E6060010 */ swc1 $f6, 0x0010($s0) ## 00000010 -/* 001E4 808AE964 844F002E */ lh $t7, 0x002E($v0) ## 0000002E -/* 001E8 808AE968 000FC040 */ sll $t8, $t7, 1 -/* 001EC 808AE96C A4580036 */ sh $t8, 0x0036($v0) ## 00000036 -/* 001F0 808AE970 C608002C */ lwc1 $f8, 0x002C($s0) ## 0000002C -/* 001F4 808AE974 8E09018C */ lw $t1, 0x018C($s0) ## 0000018C -/* 001F8 808AE978 46004280 */ add.s $f10, $f8, $f0 -/* 001FC 808AE97C 4600540D */ trunc.w.s $f16, $f10 -/* 00200 808AE980 44088000 */ mfc1 $t0, $f16 -/* 00204 808AE984 1000000D */ beq $zero, $zero, .L808AE9BC -/* 00208 808AE988 A5280034 */ sh $t0, 0x0034($t1) ## 00000034 -.L808AE98C: -/* 0020C 808AE98C 8E02018C */ lw $v0, 0x018C($s0) ## 0000018C -.L808AE990: -/* 00210 808AE990 3C0A808B */ lui $t2, %hi(func_808AEEFC) ## $t2 = 808B0000 -/* 00214 808AE994 254AEEFC */ addiu $t2, $t2, %lo(func_808AEEFC) ## $t2 = 808AEEFC -/* 00218 808AE998 AE0A0164 */ sw $t2, 0x0164($s0) ## 00000164 -/* 0021C 808AE99C 844B002E */ lh $t3, 0x002E($v0) ## 0000002E -/* 00220 808AE9A0 A44B0036 */ sh $t3, 0x0036($v0) ## 00000036 -/* 00224 808AE9A4 C612002C */ lwc1 $f18, 0x002C($s0) ## 0000002C -/* 00228 808AE9A8 8E0E018C */ lw $t6, 0x018C($s0) ## 0000018C -/* 0022C 808AE9AC 4600910D */ trunc.w.s $f4, $f18 -/* 00230 808AE9B0 440D2000 */ mfc1 $t5, $f4 -/* 00234 808AE9B4 00000000 */ nop -/* 00238 808AE9B8 A5CD0034 */ sh $t5, 0x0034($t6) ## 808AF484 -.L808AE9BC: -/* 0023C 808AE9BC C6060024 */ lwc1 $f6, 0x0024($s0) ## 00000024 -/* 00240 808AE9C0 8E19018C */ lw $t9, 0x018C($s0) ## 0000018C -/* 00244 808AE9C4 240B00FF */ addiu $t3, $zero, 0x00FF ## $t3 = 000000FF -/* 00248 808AE9C8 4600320D */ trunc.w.s $f8, $f6 -/* 0024C 808AE9CC 44184000 */ mfc1 $t8, $f8 -/* 00250 808AE9D0 00000000 */ nop -/* 00254 808AE9D4 A7380030 */ sh $t8, 0x0030($t9) ## 00000030 -/* 00258 808AE9D8 C60A0028 */ lwc1 $f10, 0x0028($s0) ## 00000028 -/* 0025C 808AE9DC 8E0A018C */ lw $t2, 0x018C($s0) ## 0000018C -/* 00260 808AE9E0 4600540D */ trunc.w.s $f16, $f10 -/* 00264 808AE9E4 44098000 */ mfc1 $t1, $f16 -/* 00268 808AE9E8 00000000 */ nop -/* 0026C 808AE9EC A5490032 */ sh $t1, 0x0032($t2) ## 808AEF2E -/* 00270 808AE9F0 10000055 */ beq $zero, $zero, .L808AEB48 -/* 00274 808AE9F4 A20B00AE */ sb $t3, 0x00AE($s0) ## 000000AE -.L808AE9F8: -/* 00278 808AE9F8 3C05808B */ lui $a1, %hi(D_808AF968) ## $a1 = 808B0000 -/* 0027C 808AE9FC 0C01E037 */ jal Actor_ProcessInitChain - -/* 00280 808AEA00 24A5F968 */ addiu $a1, $a1, %lo(D_808AF968) ## $a1 = 808AF968 -/* 00284 808AEA04 3C038016 */ lui $v1, %hi(gSaveContext) -/* 00288 808AEA08 240C0030 */ addiu $t4, $zero, 0x0030 ## $t4 = 00000030 -/* 0028C 808AEA0C 2463E660 */ addiu $v1, %lo(gSaveContext) -/* 00290 808AEA10 AE0C0004 */ sw $t4, 0x0004($s0) ## 00000004 -/* 00294 808AEA14 8C6D0004 */ lw $t5, 0x0004($v1) ## 8015E664 -/* 00298 808AEA18 3C09808B */ lui $t1, %hi(func_808AEE00) ## $t1 = 808B0000 -/* 0029C 808AEA1C 2529EE00 */ addiu $t1, $t1, %lo(func_808AEE00) ## $t1 = 808AEE00 -/* 002A0 808AEA20 55A0002C */ bnel $t5, $zero, .L808AEAD4 -/* 002A4 808AEA24 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00 -/* 002A8 808AEA28 946E0EE0 */ lhu $t6, 0x0EE0($v1) ## 8015F540 -/* 002AC 808AEA2C 31CF0200 */ andi $t7, $t6, 0x0200 ## $t7 = 00000000 -/* 002B0 808AEA30 55E00028 */ bnel $t7, $zero, .L808AEAD4 -/* 002B4 808AEA34 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00 -/* 002B8 808AEA38 8C781360 */ lw $t8, 0x1360($v1) ## 8015F9C0 -/* 002BC 808AEA3C 2B010004 */ slti $at, $t8, 0x0004 -/* 002C0 808AEA40 10200018 */ beq $at, $zero, .L808AEAA4 -/* 002C4 808AEA44 3C01808B */ lui $at, %hi(D_808AF9F0) ## $at = 808B0000 -/* 002C8 808AEA48 C420F9F0 */ lwc1 $f0, %lo(D_808AF9F0)($at) -/* 002CC 808AEA4C 8FA30044 */ lw $v1, 0x0044($sp) -/* 002D0 808AEA50 2419FB57 */ addiu $t9, $zero, 0xFB57 ## $t9 = FFFFFB57 -/* 002D4 808AEA54 E600016C */ swc1 $f0, 0x016C($s0) ## 0000016C -/* 002D8 808AEA58 8C6807C0 */ lw $t0, 0x07C0($v1) ## 8015EE20 -/* 002DC 808AEA5C 2404F837 */ addiu $a0, $zero, 0xF837 ## $a0 = FFFFF837 -/* 002E0 808AEA60 8D090028 */ lw $t1, 0x0028($t0) ## 00000028 -/* 002E4 808AEA64 3C08808B */ lui $t0, %hi(func_808AEE00) ## $t0 = 808B0000 -/* 002E8 808AEA68 2508EE00 */ addiu $t0, $t0, %lo(func_808AEE00) ## $t0 = 808AEE00 -/* 002EC 808AEA6C A5390012 */ sh $t9, 0x0012($t1) ## 808AEE12 -/* 002F0 808AEA70 8C6A07C0 */ lw $t2, 0x07C0($v1) ## 8015EE20 -/* 002F4 808AEA74 8D420028 */ lw $v0, 0x0028($t2) ## 00000028 -/* 002F8 808AEA78 844B0014 */ lh $t3, 0x0014($v0) ## 00000014 -/* 002FC 808AEA7C 256CFFCE */ addiu $t4, $t3, 0xFFCE ## $t4 = FFFFFFCE -/* 00300 808AEA80 A44C0014 */ sh $t4, 0x0014($v0) ## 00000014 -/* 00304 808AEA84 8C6D07C0 */ lw $t5, 0x07C0($v1) ## 8015EE20 -/* 00308 808AEA88 8DAE0028 */ lw $t6, 0x0028($t5) ## 00000028 -/* 0030C 808AEA8C A5C40022 */ sh $a0, 0x0022($t6) ## 00000022 -/* 00310 808AEA90 8C6F07C0 */ lw $t7, 0x07C0($v1) ## 8015EE20 -/* 00314 808AEA94 8DF80028 */ lw $t8, 0x0028($t7) ## 00000028 -/* 00318 808AEA98 A7040032 */ sh $a0, 0x0032($t8) ## 00000032 -/* 0031C 808AEA9C 1000002A */ beq $zero, $zero, .L808AEB48 -/* 00320 808AEAA0 AE080164 */ sw $t0, 0x0164($s0) ## 00000164 -.L808AEAA4: -/* 00324 808AEAA4 3C01808B */ lui $at, %hi(D_808AF9F4) ## $at = 808B0000 -/* 00328 808AEAA8 C420F9F4 */ lwc1 $f0, %lo(D_808AF9F4)($at) -/* 0032C 808AEAAC 3C01808B */ lui $at, %hi(D_808AF9F8) ## $at = 808B0000 -/* 00330 808AEAB0 C422F9F8 */ lwc1 $f2, %lo(D_808AF9F8)($at) -/* 00334 808AEAB4 3C19808B */ lui $t9, %hi(func_808AF7FC) ## $t9 = 808B0000 -/* 00338 808AEAB8 2739F7FC */ addiu $t9, $t9, %lo(func_808AF7FC) ## $t9 = 808AF7FC -/* 0033C 808AEABC 46020480 */ add.s $f18, $f0, $f2 -/* 00340 808AEAC0 AE190164 */ sw $t9, 0x0164($s0) ## 00000164 -/* 00344 808AEAC4 E600016C */ swc1 $f0, 0x016C($s0) ## 0000016C -/* 00348 808AEAC8 1000001F */ beq $zero, $zero, .L808AEB48 -/* 0034C 808AEACC E6120028 */ swc1 $f18, 0x0028($s0) ## 00000028 -/* 00350 808AEAD0 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00 -.L808AEAD4: -/* 00354 808AEAD4 AE090164 */ sw $t1, 0x0164($s0) ## 00000164 -/* 00358 808AEAD8 1000001B */ beq $zero, $zero, .L808AEB48 -/* 0035C 808AEADC E604016C */ swc1 $f4, 0x016C($s0) ## 0000016C -.L808AEAE0: -/* 00360 808AEAE0 3C05808B */ lui $a1, %hi(D_808AF964) ## $a1 = 808B0000 -/* 00364 808AEAE4 0C01E037 */ jal Actor_ProcessInitChain - -/* 00368 808AEAE8 24A5F964 */ addiu $a1, $a1, %lo(D_808AF964) ## $a1 = 808AF964 -/* 0036C 808AEAEC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00370 808AEAF0 0C010D20 */ jal DynaPolyActor_Init - -/* 00374 808AEAF4 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000 -/* 00378 808AEAF8 3C040600 */ lui $a0, %hi(D_06001238) ## $a0 = 06000000 -/* 0037C 808AEAFC 24841238 */ addiu $a0, $a0, %lo(D_06001238) ## $a0 = 06001238 -/* 00380 808AEB00 0C010620 */ jal CollisionHeader_GetVirtual - -/* 00384 808AEB04 27A50034 */ addiu $a1, $sp, 0x0034 ## $a1 = FFFFFFF4 -/* 00388 808AEB08 8FA40044 */ lw $a0, 0x0044($sp) -/* 0038C 808AEB0C 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000 -/* 00390 808AEB10 8FA70034 */ lw $a3, 0x0034($sp) -/* 00394 808AEB14 0C00FA9D */ jal DynaPoly_SetBgActor - ## DynaPoly_SetBgActor -/* 00398 808AEB18 24850810 */ addiu $a1, $a0, 0x0810 ## $a1 = 00000810 -/* 0039C 808AEB1C 3C0A808B */ lui $t2, %hi(func_808AEE00) ## $t2 = 808B0000 -/* 003A0 808AEB20 3C038016 */ lui $v1, %hi(gSaveContext) -/* 003A4 808AEB24 254AEE00 */ addiu $t2, $t2, %lo(func_808AEE00) ## $t2 = 808AEE00 -/* 003A8 808AEB28 2463E660 */ addiu $v1, %lo(gSaveContext) -/* 003AC 808AEB2C AE02014C */ sw $v0, 0x014C($s0) ## 0000014C -/* 003B0 808AEB30 AE0A0164 */ sw $t2, 0x0164($s0) ## 00000164 -/* 003B4 808AEB34 8C6B0004 */ lw $t3, 0x0004($v1) ## 8015E664 -/* 003B8 808AEB38 51600004 */ beql $t3, $zero, .L808AEB4C -/* 003BC 808AEB3C 8FBF0024 */ lw $ra, 0x0024($sp) -/* 003C0 808AEB40 0C00B55C */ jal Actor_Kill - -/* 003C4 808AEB44 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -.L808AEB48: -/* 003C8 808AEB48 8FBF0024 */ lw $ra, 0x0024($sp) -.L808AEB4C: -/* 003CC 808AEB4C 8FB00020 */ lw $s0, 0x0020($sp) -/* 003D0 808AEB50 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000 -/* 003D4 808AEB54 03E00008 */ jr $ra -/* 003D8 808AEB58 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/BgSpot06Objects_Update.s b/asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/BgSpot06Objects_Update.s deleted file mode 100644 index 57ac525832..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/BgSpot06Objects_Update.s +++ /dev/null @@ -1,24 +0,0 @@ -glabel BgSpot06Objects_Update -/* 00D50 808AF4D0 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00D54 808AF4D4 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00D58 808AF4D8 AFA5001C */ sw $a1, 0x001C($sp) -/* 00D5C 808AF4DC AFA40018 */ sw $a0, 0x0018($sp) -/* 00D60 808AF4E0 8C990164 */ lw $t9, 0x0164($a0) ## 00000164 -/* 00D64 808AF4E4 0320F809 */ jalr $ra, $t9 -/* 00D68 808AF4E8 00000000 */ nop -/* 00D6C 808AF4EC 8FA70018 */ lw $a3, 0x0018($sp) -/* 00D70 808AF4F0 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 00D74 808AF4F4 8FA4001C */ lw $a0, 0x001C($sp) -/* 00D78 808AF4F8 84EE001C */ lh $t6, 0x001C($a3) ## 0000001C -/* 00D7C 808AF4FC 24E60170 */ addiu $a2, $a3, 0x0170 ## $a2 = 00000170 -/* 00D80 808AF500 15C10004 */ bne $t6, $at, .L808AF514 -/* 00D84 808AF504 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 00D88 808AF508 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60 -/* 00D8C 808AF50C 0C017713 */ jal CollisionCheck_SetOC - ## CollisionCheck_setOC -/* 00D90 808AF510 00812821 */ addu $a1, $a0, $at -.L808AF514: -/* 00D94 808AF514 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00D98 808AF518 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00D9C 808AF51C 03E00008 */ jr $ra -/* 00DA0 808AF520 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/func_808AEBC0.s b/asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/func_808AEBC0.s deleted file mode 100644 index 813620f3cf..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/func_808AEBC0.s +++ /dev/null @@ -1,75 +0,0 @@ -.late_rodata -glabel D_808AF9FC - .float 0.05 - -glabel D_808AFA00 - .word 0x3E333333 - -.text -glabel func_808AEBC0 -/* 00440 808AEBC0 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0 -/* 00444 808AEBC4 3C0F0001 */ lui $t7, 0x0001 ## $t7 = 00010000 -/* 00448 808AEBC8 AFBF0024 */ sw $ra, 0x0024($sp) -/* 0044C 808AEBCC AFB00020 */ sw $s0, 0x0020($sp) -/* 00450 808AEBD0 AFA50044 */ sw $a1, 0x0044($sp) -/* 00454 808AEBD4 01E57821 */ addu $t7, $t7, $a1 -/* 00458 808AEBD8 8DEF1DE4 */ lw $t7, 0x1DE4($t7) ## 00011DE4 -/* 0045C 808AEBDC 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003 -/* 00460 808AEBE0 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00464 808AEBE4 01E1001B */ divu $zero, $t7, $at -/* 00468 808AEBE8 0000C010 */ mfhi $t8 -/* 0046C 808AEBEC 3C014320 */ lui $at, 0x4320 ## $at = 43200000 -/* 00470 808AEBF0 5700002C */ bnel $t8, $zero, .L808AECA4 -/* 00474 808AEBF4 8FBF0024 */ lw $ra, 0x0024($sp) -/* 00478 808AEBF8 44816000 */ mtc1 $at, $f12 ## $f12 = 160.00 -/* 0047C 808AEBFC 0C00CFC8 */ jal Rand_CenteredFloat - -/* 00480 808AEC00 00000000 */ nop -/* 00484 808AEC04 E7A00030 */ swc1 $f0, 0x0030($sp) -/* 00488 808AEC08 860400B6 */ lh $a0, 0x00B6($s0) ## 000000B6 -/* 0048C 808AEC0C 24844000 */ addiu $a0, $a0, 0x4000 ## $a0 = 00004000 -/* 00490 808AEC10 00042400 */ sll $a0, $a0, 16 -/* 00494 808AEC14 0C01DE1C */ jal Math_SinS - ## sins? -/* 00498 808AEC18 00042403 */ sra $a0, $a0, 16 -/* 0049C 808AEC1C C7A40030 */ lwc1 $f4, 0x0030($sp) -/* 004A0 808AEC20 C6080024 */ lwc1 $f8, 0x0024($s0) ## 00000024 -/* 004A4 808AEC24 46040182 */ mul.s $f6, $f0, $f4 -/* 004A8 808AEC28 46083280 */ add.s $f10, $f6, $f8 -/* 004AC 808AEC2C E7AA0034 */ swc1 $f10, 0x0034($sp) -/* 004B0 808AEC30 C6100028 */ lwc1 $f16, 0x0028($s0) ## 00000028 -/* 004B4 808AEC34 E7B00038 */ swc1 $f16, 0x0038($sp) -/* 004B8 808AEC38 860400B6 */ lh $a0, 0x00B6($s0) ## 000000B6 -/* 004BC 808AEC3C 24844000 */ addiu $a0, $a0, 0x4000 ## $a0 = 00004000 -/* 004C0 808AEC40 00042400 */ sll $a0, $a0, 16 -/* 004C4 808AEC44 0C01DE0D */ jal Math_CosS - ## coss? -/* 004C8 808AEC48 00042403 */ sra $a0, $a0, 16 -/* 004CC 808AEC4C C7B20030 */ lwc1 $f18, 0x0030($sp) -/* 004D0 808AEC50 C606002C */ lwc1 $f6, 0x002C($s0) ## 0000002C -/* 004D4 808AEC54 46120102 */ mul.s $f4, $f0, $f18 -/* 004D8 808AEC58 46062200 */ add.s $f8, $f4, $f6 -/* 004DC 808AEC5C 0C03F66B */ jal Rand_ZeroOne - ## Rand.Next() float -/* 004E0 808AEC60 E7A8003C */ swc1 $f8, 0x003C($sp) -/* 004E4 808AEC64 3C014120 */ lui $at, 0x4120 ## $at = 41200000 -/* 004E8 808AEC68 44815000 */ mtc1 $at, $f10 ## $f10 = 10.00 -/* 004EC 808AEC6C 3C01808B */ lui $at, %hi(D_808AF9FC) ## $at = 808B0000 -/* 004F0 808AEC70 C430F9FC */ lwc1 $f16, %lo(D_808AF9FC)($at) -/* 004F4 808AEC74 3C01808B */ lui $at, %hi(D_808AFA00) ## $at = 808B0000 -/* 004F8 808AEC78 C424FA00 */ lwc1 $f4, %lo(D_808AFA00)($at) -/* 004FC 808AEC7C 46100482 */ mul.s $f18, $f0, $f16 -/* 00500 808AEC80 8FA40044 */ lw $a0, 0x0044($sp) -/* 00504 808AEC84 27A50034 */ addiu $a1, $sp, 0x0034 ## $a1 = FFFFFFF4 -/* 00508 808AEC88 3C064248 */ lui $a2, 0x4248 ## $a2 = 42480000 -/* 0050C 808AEC8C 3C07428C */ lui $a3, 0x428C ## $a3 = 428C0000 -/* 00510 808AEC90 E7AA0010 */ swc1 $f10, 0x0010($sp) -/* 00514 808AEC94 46049180 */ add.s $f6, $f18, $f4 -/* 00518 808AEC98 0C00A4F9 */ jal EffectSsBubble_Spawn -/* 0051C 808AEC9C E7A60014 */ swc1 $f6, 0x0014($sp) -/* 00520 808AECA0 8FBF0024 */ lw $ra, 0x0024($sp) -.L808AECA4: -/* 00524 808AECA4 8FB00020 */ lw $s0, 0x0020($sp) -/* 00528 808AECA8 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000 -/* 0052C 808AECAC 03E00008 */ jr $ra -/* 00530 808AECB0 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/func_808AECB4.s b/asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/func_808AECB4.s deleted file mode 100644 index c1ecfa15ca..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/func_808AECB4.s +++ /dev/null @@ -1,41 +0,0 @@ -glabel func_808AECB4 -/* 00534 808AECB4 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8 -/* 00538 808AECB8 AFB10018 */ sw $s1, 0x0018($sp) -/* 0053C 808AECBC 00808825 */ or $s1, $a0, $zero ## $s1 = 00000000 -/* 00540 808AECC0 AFB2001C */ sw $s2, 0x001C($sp) -/* 00544 808AECC4 00A09025 */ or $s2, $a1, $zero ## $s2 = 00000000 -/* 00548 808AECC8 AFBF0024 */ sw $ra, 0x0024($sp) -/* 0054C 808AECCC AFB30020 */ sw $s3, 0x0020($sp) -/* 00550 808AECD0 AFB00014 */ sw $s0, 0x0014($sp) -/* 00554 808AECD4 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000 -/* 00558 808AECD8 0C00B2D0 */ jal Flags_GetSwitch - -/* 0055C 808AECDC 86250168 */ lh $a1, 0x0168($s1) ## 00000168 -/* 00560 808AECE0 10400012 */ beq $v0, $zero, .L808AED2C -/* 00564 808AECE4 240E0064 */ addiu $t6, $zero, 0x0064 ## $t6 = 00000064 -/* 00568 808AECE8 3C014040 */ lui $at, 0x4040 ## $at = 40400000 -/* 0056C 808AECEC 44813000 */ mtc1 $at, $f6 ## $f6 = 3.00 -/* 00570 808AECF0 C6240028 */ lwc1 $f4, 0x0028($s1) ## 00000028 -/* 00574 808AECF4 3C0F808B */ lui $t7, %hi(func_808AED48) ## $t7 = 808B0000 -/* 00578 808AECF8 25EFED48 */ addiu $t7, $t7, %lo(func_808AED48) ## $t7 = 808AED48 -/* 0057C 808AECFC 46062200 */ add.s $f8, $f4, $f6 -/* 00580 808AED00 A62E016A */ sh $t6, 0x016A($s1) ## 0000016A -/* 00584 808AED04 AE2F0164 */ sw $t7, 0x0164($s1) ## 00000164 -/* 00588 808AED08 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000 -/* 0058C 808AED0C E6280028 */ swc1 $f8, 0x0028($s1) ## 00000028 -/* 00590 808AED10 2413000F */ addiu $s3, $zero, 0x000F ## $s3 = 0000000F -/* 00594 808AED14 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -.L808AED18: -/* 00598 808AED18 0C22BAF0 */ jal func_808AEBC0 -/* 0059C 808AED1C 02402825 */ or $a1, $s2, $zero ## $a1 = 00000000 -/* 005A0 808AED20 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001 -/* 005A4 808AED24 5613FFFC */ bnel $s0, $s3, .L808AED18 -/* 005A8 808AED28 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -.L808AED2C: -/* 005AC 808AED2C 8FBF0024 */ lw $ra, 0x0024($sp) -/* 005B0 808AED30 8FB00014 */ lw $s0, 0x0014($sp) -/* 005B4 808AED34 8FB10018 */ lw $s1, 0x0018($sp) -/* 005B8 808AED38 8FB2001C */ lw $s2, 0x001C($sp) -/* 005BC 808AED3C 8FB30020 */ lw $s3, 0x0020($sp) -/* 005C0 808AED40 03E00008 */ jr $ra -/* 005C4 808AED44 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/func_808AED48.s b/asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/func_808AED48.s deleted file mode 100644 index d21f343dac..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/func_808AED48.s +++ /dev/null @@ -1,16 +0,0 @@ -glabel func_808AED48 -/* 005C8 808AED48 AFA50004 */ sw $a1, 0x0004($sp) -/* 005CC 808AED4C 8482016A */ lh $v0, 0x016A($a0) ## 0000016A -/* 005D0 808AED50 3C0F808B */ lui $t7, %hi(func_808AED7C) ## $t7 = 808B0000 -/* 005D4 808AED54 25EFED7C */ addiu $t7, $t7, %lo(func_808AED7C) ## $t7 = 808AED7C -/* 005D8 808AED58 10400003 */ beq $v0, $zero, .L808AED68 -/* 005DC 808AED5C 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF -/* 005E0 808AED60 A48E016A */ sh $t6, 0x016A($a0) ## 0000016A -/* 005E4 808AED64 8482016A */ lh $v0, 0x016A($a0) ## 0000016A -.L808AED68: -/* 005E8 808AED68 14400002 */ bne $v0, $zero, .L808AED74 -/* 005EC 808AED6C 00000000 */ nop -/* 005F0 808AED70 AC8F0164 */ sw $t7, 0x0164($a0) ## 00000164 -.L808AED74: -/* 005F4 808AED74 03E00008 */ jr $ra -/* 005F8 808AED78 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/func_808AED7C.s b/asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/func_808AED7C.s deleted file mode 100644 index d4b3571a10..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/func_808AED7C.s +++ /dev/null @@ -1,38 +0,0 @@ -glabel func_808AED7C -/* 005FC 808AED7C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00600 808AED80 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00604 808AED84 0C22BAF0 */ jal func_808AEBC0 -/* 00608 808AED88 AFA40018 */ sw $a0, 0x0018($sp) -/* 0060C 808AED8C 8FA70018 */ lw $a3, 0x0018($sp) -/* 00610 808AED90 3C0142F0 */ lui $at, 0x42F0 ## $at = 42F00000 -/* 00614 808AED94 44813000 */ mtc1 $at, $f6 ## $f6 = 120.00 -/* 00618 808AED98 C4E4000C */ lwc1 $f4, 0x000C($a3) ## 0000000C -/* 0061C 808AED9C 3C063F19 */ lui $a2, 0x3F19 ## $a2 = 3F190000 -/* 00620 808AEDA0 34C6999A */ ori $a2, $a2, 0x999A ## $a2 = 3F19999A -/* 00624 808AEDA4 46062200 */ add.s $f8, $f4, $f6 -/* 00628 808AEDA8 24E40028 */ addiu $a0, $a3, 0x0028 ## $a0 = 00000028 -/* 0062C 808AEDAC 44054000 */ mfc1 $a1, $f8 -/* 00630 808AEDB0 0C01DE80 */ jal Math_StepToF - -/* 00634 808AEDB4 00000000 */ nop -/* 00638 808AEDB8 1040000A */ beq $v0, $zero, .L808AEDE4 -/* 0063C 808AEDBC 8FA70018 */ lw $a3, 0x0018($sp) -/* 00640 808AEDC0 3C0E808B */ lui $t6, %hi(func_808AEE00) ## $t6 = 808B0000 -/* 00644 808AEDC4 25CEEE00 */ addiu $t6, $t6, %lo(func_808AEE00) ## $t6 = 808AEE00 -/* 00648 808AEDC8 ACEE0164 */ sw $t6, 0x0164($a3) ## 00000164 -/* 0064C 808AEDCC A4E0016A */ sh $zero, 0x016A($a3) ## 0000016A -/* 00650 808AEDD0 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000 -/* 00654 808AEDD4 0C00BE0A */ jal Audio_PlayActorSound2 - -/* 00658 808AEDD8 24052837 */ addiu $a1, $zero, 0x2837 ## $a1 = 00002837 -/* 0065C 808AEDDC 10000005 */ beq $zero, $zero, .L808AEDF4 -/* 00660 808AEDE0 8FBF0014 */ lw $ra, 0x0014($sp) -.L808AEDE4: -/* 00664 808AEDE4 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000 -/* 00668 808AEDE8 0C00BE5D */ jal func_8002F974 -/* 0066C 808AEDEC 24052036 */ addiu $a1, $zero, 0x2036 ## $a1 = 00002036 -/* 00670 808AEDF0 8FBF0014 */ lw $ra, 0x0014($sp) -.L808AEDF4: -/* 00674 808AEDF4 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00678 808AEDF8 03E00008 */ jr $ra -/* 0067C 808AEDFC 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/func_808AEE00.s b/asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/func_808AEE00.s deleted file mode 100644 index 3b4a0ab336..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/func_808AEE00.s +++ /dev/null @@ -1,4 +0,0 @@ -glabel func_808AEE00 -/* 00680 808AEE00 AFA40000 */ sw $a0, 0x0000($sp) -/* 00684 808AEE04 03E00008 */ jr $ra -/* 00688 808AEE08 AFA50004 */ sw $a1, 0x0004($sp) diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/func_808AEE0C.s b/asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/func_808AEE0C.s deleted file mode 100644 index 9f8c7f003e..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/func_808AEE0C.s +++ /dev/null @@ -1,27 +0,0 @@ -glabel func_808AEE0C -/* 0068C 808AEE0C 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0 -/* 00690 808AEE10 AFBF001C */ sw $ra, 0x001C($sp) -/* 00694 808AEE14 AFA40020 */ sw $a0, 0x0020($sp) -/* 00698 808AEE18 14C00009 */ bne $a2, $zero, .L808AEE40 -/* 0069C 808AEE1C AFA50024 */ sw $a1, 0x0024($sp) -/* 006A0 808AEE20 3C0F0001 */ lui $t7, 0x0001 ## $t7 = 00010000 -/* 006A4 808AEE24 01E57821 */ addu $t7, $t7, $a1 -/* 006A8 808AEE28 8DEF1DE4 */ lw $t7, 0x1DE4($t7) ## 00011DE4 -/* 006AC 808AEE2C 24010007 */ addiu $at, $zero, 0x0007 ## $at = 00000007 -/* 006B0 808AEE30 01E1001B */ divu $zero, $t7, $at -/* 006B4 808AEE34 0000C010 */ mfhi $t8 -/* 006B8 808AEE38 57000009 */ bnel $t8, $zero, .L808AEE60 -/* 006BC 808AEE3C 8FBF001C */ lw $ra, 0x001C($sp) -.L808AEE40: -/* 006C0 808AEE40 8FA50020 */ lw $a1, 0x0020($sp) -/* 006C4 808AEE44 8FA40024 */ lw $a0, 0x0024($sp) -/* 006C8 808AEE48 2406012C */ addiu $a2, $zero, 0x012C ## $a2 = 0000012C -/* 006CC 808AEE4C 240702BC */ addiu $a3, $zero, 0x02BC ## $a3 = 000002BC -/* 006D0 808AEE50 AFA00010 */ sw $zero, 0x0010($sp) -/* 006D4 808AEE54 0C00A511 */ jal EffectSsGRipple_Spawn -/* 006D8 808AEE58 24A50008 */ addiu $a1, $a1, 0x0008 ## $a1 = 00000008 -/* 006DC 808AEE5C 8FBF001C */ lw $ra, 0x001C($sp) -.L808AEE60: -/* 006E0 808AEE60 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000 -/* 006E4 808AEE64 03E00008 */ jr $ra -/* 006E8 808AEE68 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/func_808AEE6C.s b/asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/func_808AEE6C.s deleted file mode 100644 index c039a546a8..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/func_808AEE6C.s +++ /dev/null @@ -1,48 +0,0 @@ -.late_rodata -glabel D_808AFA04 - .float 0.05 - -glabel D_808AFA08 - .word 0x3E333333 - -.text -glabel func_808AEE6C -/* 006EC 808AEE6C 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0 -/* 006F0 808AEE70 3C0F0001 */ lui $t7, 0x0001 ## $t7 = 00010000 -/* 006F4 808AEE74 AFBF001C */ sw $ra, 0x001C($sp) -/* 006F8 808AEE78 AFA40020 */ sw $a0, 0x0020($sp) -/* 006FC 808AEE7C AFA50024 */ sw $a1, 0x0024($sp) -/* 00700 808AEE80 01E57821 */ addu $t7, $t7, $a1 -/* 00704 808AEE84 8DEF1DE4 */ lw $t7, 0x1DE4($t7) ## 00011DE4 -/* 00708 808AEE88 24010007 */ addiu $at, $zero, 0x0007 ## $at = 00000007 -/* 0070C 808AEE8C 01E1001B */ divu $zero, $t7, $at -/* 00710 808AEE90 0000C010 */ mfhi $t8 -/* 00714 808AEE94 13000003 */ beq $t8, $zero, .L808AEEA4 -/* 00718 808AEE98 00000000 */ nop -/* 0071C 808AEE9C 50C00014 */ beql $a2, $zero, .L808AEEF0 -/* 00720 808AEEA0 8FBF001C */ lw $ra, 0x001C($sp) -.L808AEEA4: -/* 00724 808AEEA4 0C03F66B */ jal Rand_ZeroOne - ## Rand.Next() float -/* 00728 808AEEA8 00000000 */ nop -/* 0072C 808AEEAC 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000 -/* 00730 808AEEB0 44812000 */ mtc1 $at, $f4 ## $f4 = 30.00 -/* 00734 808AEEB4 3C01808B */ lui $at, %hi(D_808AFA04) ## $at = 808B0000 -/* 00738 808AEEB8 C426FA04 */ lwc1 $f6, %lo(D_808AFA04)($at) -/* 0073C 808AEEBC 3C01808B */ lui $at, %hi(D_808AFA08) ## $at = 808B0000 -/* 00740 808AEEC0 C42AFA08 */ lwc1 $f10, %lo(D_808AFA08)($at) -/* 00744 808AEEC4 46060202 */ mul.s $f8, $f0, $f6 -/* 00748 808AEEC8 8FA50020 */ lw $a1, 0x0020($sp) -/* 0074C 808AEECC 8FA40024 */ lw $a0, 0x0024($sp) -/* 00750 808AEED0 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000 -/* 00754 808AEED4 3C074220 */ lui $a3, 0x4220 ## $a3 = 42200000 -/* 00758 808AEED8 E7A40010 */ swc1 $f4, 0x0010($sp) -/* 0075C 808AEEDC 24A50024 */ addiu $a1, $a1, 0x0024 ## $a1 = 00000024 -/* 00760 808AEEE0 460A4400 */ add.s $f16, $f8, $f10 -/* 00764 808AEEE4 0C00A4F9 */ jal EffectSsBubble_Spawn -/* 00768 808AEEE8 E7B00014 */ swc1 $f16, 0x0014($sp) -/* 0076C 808AEEEC 8FBF001C */ lw $ra, 0x001C($sp) -.L808AEEF0: -/* 00770 808AEEF0 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000 -/* 00774 808AEEF4 03E00008 */ jr $ra -/* 00778 808AEEF8 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/func_808AEEFC.s b/asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/func_808AEEFC.s deleted file mode 100644 index 56710e0d0c..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/func_808AEEFC.s +++ /dev/null @@ -1,156 +0,0 @@ -.late_rodata -glabel D_808AFA0C - .float 0.7 - -glabel D_808AFA10 - .float 0.1 - -.text -glabel func_808AEEFC -/* 0077C 808AEEFC 27BDFF80 */ addiu $sp, $sp, 0xFF80 ## $sp = FFFFFF80 -/* 00780 808AEF00 AFBF0054 */ sw $ra, 0x0054($sp) -/* 00784 808AEF04 AFB40050 */ sw $s4, 0x0050($sp) -/* 00788 808AEF08 AFB3004C */ sw $s3, 0x004C($sp) -/* 0078C 808AEF0C AFB20048 */ sw $s2, 0x0048($sp) -/* 00790 808AEF10 AFB10044 */ sw $s1, 0x0044($sp) -/* 00794 808AEF14 AFB00040 */ sw $s0, 0x0040($sp) -/* 00798 808AEF18 F7BA0038 */ sdc1 $f26, 0x0038($sp) -/* 0079C 808AEF1C F7B80030 */ sdc1 $f24, 0x0030($sp) -/* 007A0 808AEF20 F7B60028 */ sdc1 $f22, 0x0028($sp) -/* 007A4 808AEF24 F7B40020 */ sdc1 $f20, 0x0020($sp) -/* 007A8 808AEF28 908E0181 */ lbu $t6, 0x0181($a0) ## 00000181 -/* 007AC 808AEF2C 00808825 */ or $s1, $a0, $zero ## $s1 = 00000000 -/* 007B0 808AEF30 00A09025 */ or $s2, $a1, $zero ## $s2 = 00000000 -/* 007B4 808AEF34 31CF0002 */ andi $t7, $t6, 0x0002 ## $t7 = 00000000 -/* 007B8 808AEF38 11E00068 */ beq $t7, $zero, .L808AF0DC -/* 007BC 808AEF3C 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 007C0 808AEF40 8C990004 */ lw $t9, 0x0004($a0) ## 00000004 -/* 007C4 808AEF44 24180082 */ addiu $t8, $zero, 0x0082 ## $t8 = 00000082 -/* 007C8 808AEF48 A498016A */ sh $t8, 0x016A($a0) ## 0000016A -/* 007CC 808AEF4C 37280010 */ ori $t0, $t9, 0x0010 ## $t0 = 00000010 -/* 007D0 808AEF50 AC880004 */ sw $t0, 0x0004($a0) ## 00000004 -/* 007D4 808AEF54 0C01DE1C */ jal Math_SinS - ## sins? -/* 007D8 808AEF58 84840032 */ lh $a0, 0x0032($a0) ## 00000032 -/* 007DC 808AEF5C 46000506 */ mov.s $f20, $f0 -/* 007E0 808AEF60 0C01DE0D */ jal Math_CosS - ## coss? -/* 007E4 808AEF64 86240032 */ lh $a0, 0x0032($s1) ## 00000032 -/* 007E8 808AEF68 3C014040 */ lui $at, 0x4040 ## $at = 40400000 -/* 007EC 808AEF6C 44811000 */ mtc1 $at, $f2 ## $f2 = 3.00 -/* 007F0 808AEF70 C6240024 */ lwc1 $f4, 0x0024($s1) ## 00000024 -/* 007F4 808AEF74 C62A002C */ lwc1 $f10, 0x002C($s1) ## 0000002C -/* 007F8 808AEF78 46141182 */ mul.s $f6, $f2, $f20 -/* 007FC 808AEF7C 46000586 */ mov.s $f22, $f0 -/* 00800 808AEF80 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000 -/* 00804 808AEF84 46001402 */ mul.s $f16, $f2, $f0 -/* 00808 808AEF88 46062200 */ add.s $f8, $f4, $f6 -/* 0080C 808AEF8C 46105480 */ add.s $f18, $f10, $f16 -/* 00810 808AEF90 E6280024 */ swc1 $f8, 0x0024($s1) ## 00000024 -/* 00814 808AEF94 E632002C */ swc1 $f18, 0x002C($s1) ## 0000002C -/* 00818 808AEF98 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -.L808AEF9C: -/* 0081C 808AEF9C 02402825 */ or $a1, $s2, $zero ## $a1 = 00000000 -/* 00820 808AEFA0 0C22BB9B */ jal func_808AEE6C -/* 00824 808AEFA4 24060001 */ addiu $a2, $zero, 0x0001 ## $a2 = 00000001 -/* 00828 808AEFA8 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001 -/* 0082C 808AEFAC 2A010014 */ slti $at, $s0, 0x0014 -/* 00830 808AEFB0 5420FFFA */ bnel $at, $zero, .L808AEF9C -/* 00834 808AEFB4 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 00838 808AEFB8 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000 -/* 0083C 808AEFBC 44810000 */ mtc1 $at, $f0 ## $f0 = 5.00 -/* 00840 808AEFC0 C6240024 */ lwc1 $f4, 0x0024($s1) ## 00000024 -/* 00844 808AEFC4 3C01808B */ lui $at, %hi(D_808AFA0C) ## $at = 808B0000 -/* 00848 808AEFC8 46140182 */ mul.s $f6, $f0, $f20 -/* 0084C 808AEFCC C43AFA0C */ lwc1 $f26, %lo(D_808AFA0C)($at) -/* 00850 808AEFD0 3C01808B */ lui $at, %hi(D_808AFA10) ## $at = 808B0000 -/* 00854 808AEFD4 46160482 */ mul.s $f18, $f0, $f22 -/* 00858 808AEFD8 C438FA10 */ lwc1 $f24, %lo(D_808AFA10)($at) -/* 0085C 808AEFDC 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000 -/* 00860 808AEFE0 4481A000 */ mtc1 $at, $f20 ## $f20 = 20.00 -/* 00864 808AEFE4 4480B000 */ mtc1 $zero, $f22 ## $f22 = 0.00 -/* 00868 808AEFE8 46062200 */ add.s $f8, $f4, $f6 -/* 0086C 808AEFEC 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000 -/* 00870 808AEFF0 24140003 */ addiu $s4, $zero, 0x0003 ## $s4 = 00000003 -/* 00874 808AEFF4 27B30068 */ addiu $s3, $sp, 0x0068 ## $s3 = FFFFFFE8 -/* 00878 808AEFF8 E7A80068 */ swc1 $f8, 0x0068($sp) -/* 0087C 808AEFFC C62A0028 */ lwc1 $f10, 0x0028($s1) ## 00000028 -/* 00880 808AF000 E7AA006C */ swc1 $f10, 0x006C($sp) -/* 00884 808AF004 C630002C */ lwc1 $f16, 0x002C($s1) ## 0000002C -/* 00888 808AF008 46128100 */ add.s $f4, $f16, $f18 -/* 0088C 808AF00C E7A40070 */ swc1 $f4, 0x0070($sp) -.L808AF010: -/* 00890 808AF010 0C03F66B */ jal Rand_ZeroOne - ## Rand.Next() float -/* 00894 808AF014 00000000 */ nop -/* 00898 808AF018 46180182 */ mul.s $f6, $f0, $f24 -/* 0089C 808AF01C 4406B000 */ mfc1 $a2, $f22 -/* 008A0 808AF020 4407A000 */ mfc1 $a3, $f20 -/* 008A4 808AF024 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000 -/* 008A8 808AF028 02602825 */ or $a1, $s3, $zero ## $a1 = FFFFFFE8 -/* 008AC 808AF02C E7B40010 */ swc1 $f20, 0x0010($sp) -/* 008B0 808AF030 461A3200 */ add.s $f8, $f6, $f26 -/* 008B4 808AF034 0C00A4F9 */ jal EffectSsBubble_Spawn -/* 008B8 808AF038 E7A80014 */ swc1 $f8, 0x0014($sp) -/* 008BC 808AF03C 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001 -/* 008C0 808AF040 1614FFF3 */ bne $s0, $s4, .L808AF010 -/* 008C4 808AF044 00000000 */ nop -/* 008C8 808AF048 24090001 */ addiu $t1, $zero, 0x0001 ## $t1 = 00000001 -/* 008CC 808AF04C 240A02BC */ addiu $t2, $zero, 0x02BC ## $t2 = 000002BC -/* 008D0 808AF050 AFAA0014 */ sw $t2, 0x0014($sp) -/* 008D4 808AF054 AFA90010 */ sw $t1, 0x0010($sp) -/* 008D8 808AF058 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000 -/* 008DC 808AF05C 26250024 */ addiu $a1, $s1, 0x0024 ## $a1 = 00000024 -/* 008E0 808AF060 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000 -/* 008E4 808AF064 0C00A527 */ jal EffectSsGSplash_Spawn -/* 008E8 808AF068 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 -/* 008EC 808AF06C 8E2C018C */ lw $t4, 0x018C($s1) ## 0000018C -/* 008F0 808AF070 240B002D */ addiu $t3, $zero, 0x002D ## $t3 = 0000002D -/* 008F4 808AF074 3C0D808B */ lui $t5, %hi(func_808AF120) ## $t5 = 808B0000 -/* 008F8 808AF078 3C078013 */ lui $a3, %hi(D_801333E0) -/* 008FC 808AF07C 25ADF120 */ addiu $t5, $t5, %lo(func_808AF120) ## $t5 = 808AF120 -/* 00900 808AF080 3C0E8013 */ lui $t6, %hi(D_801333E8) -/* 00904 808AF084 A58B0036 */ sh $t3, 0x0036($t4) ## 00000036 -/* 00908 808AF088 24E733E0 */ addiu $a3, %lo(D_801333E0) -/* 0090C 808AF08C AE2D0164 */ sw $t5, 0x0164($s1) ## 00000164 -/* 00910 808AF090 25CE33E8 */ addiu $t6, %lo(D_801333E8) -/* 00914 808AF094 3C058013 */ lui $a1, %hi(D_801333D4) -/* 00918 808AF098 24A533D4 */ addiu $a1, %lo(D_801333D4) -/* 0091C 808AF09C AFAE0014 */ sw $t6, 0x0014($sp) -/* 00920 808AF0A0 AFA70010 */ sw $a3, 0x0010($sp) -/* 00924 808AF0A4 24044802 */ addiu $a0, $zero, 0x4802 ## $a0 = 00004802 -/* 00928 808AF0A8 0C03DCE3 */ jal Audio_PlaySoundGeneral - -/* 0092C 808AF0AC 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004 -/* 00930 808AF0B0 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000 -/* 00934 808AF0B4 0C00B2DD */ jal Flags_SetSwitch - -/* 00938 808AF0B8 86250168 */ lh $a1, 0x0168($s1) ## 00000168 -/* 0093C 808AF0BC 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000 -/* 00940 808AF0C0 24051018 */ addiu $a1, $zero, 0x1018 ## $a1 = 00001018 -/* 00944 808AF0C4 240600AA */ addiu $a2, $zero, 0x00AA ## $a2 = 000000AA -/* 00948 808AF0C8 02203825 */ or $a3, $s1, $zero ## $a3 = 00000000 -/* 0094C 808AF0CC 0C02003E */ jal func_800800F8 -/* 00950 808AF0D0 AFA00010 */ sw $zero, 0x0010($sp) -/* 00954 808AF0D4 10000007 */ beq $zero, $zero, .L808AF0F4 -/* 00958 808AF0D8 8FBF0054 */ lw $ra, 0x0054($sp) -.L808AF0DC: -/* 0095C 808AF0DC 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00001E60 -/* 00960 808AF0E0 02412821 */ addu $a1, $s2, $at -/* 00964 808AF0E4 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000 -/* 00968 808AF0E8 0C01767D */ jal CollisionCheck_SetAC - ## CollisionCheck_setAC -/* 0096C 808AF0EC 26260170 */ addiu $a2, $s1, 0x0170 ## $a2 = 00000170 -/* 00970 808AF0F0 8FBF0054 */ lw $ra, 0x0054($sp) -.L808AF0F4: -/* 00974 808AF0F4 D7B40020 */ ldc1 $f20, 0x0020($sp) -/* 00978 808AF0F8 D7B60028 */ ldc1 $f22, 0x0028($sp) -/* 0097C 808AF0FC D7B80030 */ ldc1 $f24, 0x0030($sp) -/* 00980 808AF100 D7BA0038 */ ldc1 $f26, 0x0038($sp) -/* 00984 808AF104 8FB00040 */ lw $s0, 0x0040($sp) -/* 00988 808AF108 8FB10044 */ lw $s1, 0x0044($sp) -/* 0098C 808AF10C 8FB20048 */ lw $s2, 0x0048($sp) -/* 00990 808AF110 8FB3004C */ lw $s3, 0x004C($sp) -/* 00994 808AF114 8FB40050 */ lw $s4, 0x0050($sp) -/* 00998 808AF118 03E00008 */ jr $ra -/* 0099C 808AF11C 27BD0080 */ addiu $sp, $sp, 0x0080 ## $sp = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/func_808AF120.s b/asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/func_808AF120.s deleted file mode 100644 index f3709e001e..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/func_808AF120.s +++ /dev/null @@ -1,59 +0,0 @@ -.late_rodata -glabel D_808AFA14 - .float 0.3 - -glabel D_808AFA18 - .float 0.3 - -.text -glabel func_808AF120 -/* 009A0 808AF120 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0 -/* 009A4 808AF124 AFBF001C */ sw $ra, 0x001C($sp) -/* 009A8 808AF128 AFB00018 */ sw $s0, 0x0018($sp) -/* 009AC 808AF12C AFA50024 */ sw $a1, 0x0024($sp) -/* 009B0 808AF130 8482016A */ lh $v0, 0x016A($a0) ## 0000016A -/* 009B4 808AF134 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 009B8 808AF138 10400002 */ beq $v0, $zero, .L808AF144 -/* 009BC 808AF13C 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF -/* 009C0 808AF140 A48E016A */ sh $t6, 0x016A($a0) ## 0000016A -.L808AF144: -/* 009C4 808AF144 0C01DE1C */ jal Math_SinS - ## sins? -/* 009C8 808AF148 86040032 */ lh $a0, 0x0032($s0) ## 00000032 -/* 009CC 808AF14C 3C01808B */ lui $at, %hi(D_808AFA14) ## $at = 808B0000 -/* 009D0 808AF150 C426FA14 */ lwc1 $f6, %lo(D_808AFA14)($at) -/* 009D4 808AF154 C6040024 */ lwc1 $f4, 0x0024($s0) ## 00000024 -/* 009D8 808AF158 86040032 */ lh $a0, 0x0032($s0) ## 00000032 -/* 009DC 808AF15C 46003202 */ mul.s $f8, $f6, $f0 -/* 009E0 808AF160 46082280 */ add.s $f10, $f4, $f8 -/* 009E4 808AF164 0C01DE0D */ jal Math_CosS - ## coss? -/* 009E8 808AF168 E60A0024 */ swc1 $f10, 0x0024($s0) ## 00000024 -/* 009EC 808AF16C 3C01808B */ lui $at, %hi(D_808AFA18) ## $at = 808B0000 -/* 009F0 808AF170 C432FA18 */ lwc1 $f18, %lo(D_808AFA18)($at) -/* 009F4 808AF174 C610002C */ lwc1 $f16, 0x002C($s0) ## 0000002C -/* 009F8 808AF178 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 009FC 808AF17C 46009182 */ mul.s $f6, $f18, $f0 -/* 00A00 808AF180 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000 -/* 00A04 808AF184 46068100 */ add.s $f4, $f16, $f6 -/* 00A08 808AF188 E604002C */ swc1 $f4, 0x002C($s0) ## 0000002C -/* 00A0C 808AF18C 0C22BB9B */ jal func_808AEE6C -/* 00A10 808AF190 8FA50024 */ lw $a1, 0x0024($sp) -/* 00A14 808AF194 860F016A */ lh $t7, 0x016A($s0) ## 0000016A -/* 00A18 808AF198 3C08808B */ lui $t0, %hi(func_808AF1D8) ## $t0 = 808B0000 -/* 00A1C 808AF19C 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000 -/* 00A20 808AF1A0 15E00008 */ bne $t7, $zero, .L808AF1C4 -/* 00A24 808AF1A4 2508F1D8 */ addiu $t0, $t0, %lo(func_808AF1D8) ## $t0 = 808AF1D8 -/* 00A28 808AF1A8 44814000 */ mtc1 $at, $f8 ## $f8 = 0.50 -/* 00A2C 808AF1AC 8E180004 */ lw $t8, 0x0004($s0) ## 00000004 -/* 00A30 808AF1B0 2401DFFF */ addiu $at, $zero, 0xDFFF ## $at = FFFFDFFF -/* 00A34 808AF1B4 AE080164 */ sw $t0, 0x0164($s0) ## 00000164 -/* 00A38 808AF1B8 0301C824 */ and $t9, $t8, $at -/* 00A3C 808AF1BC AE190004 */ sw $t9, 0x0004($s0) ## 00000004 -/* 00A40 808AF1C0 E6080060 */ swc1 $f8, 0x0060($s0) ## 00000060 -.L808AF1C4: -/* 00A44 808AF1C4 8FBF001C */ lw $ra, 0x001C($sp) -/* 00A48 808AF1C8 8FB00018 */ lw $s0, 0x0018($sp) -/* 00A4C 808AF1CC 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000 -/* 00A50 808AF1D0 03E00008 */ jr $ra -/* 00A54 808AF1D4 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/func_808AF1D8.s b/asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/func_808AF1D8.s deleted file mode 100644 index fabf9b4293..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/func_808AF1D8.s +++ /dev/null @@ -1,192 +0,0 @@ -.late_rodata -glabel D_808AFA1C - .word 0x4089999A -glabel D_808AFA20 - .float 1.3 - -glabel D_808AFA24 - .word 0xC4F92000 -glabel D_808AFA28 - .word 0xC4F6A000 -glabel D_808AFA2C - .float 0.02 - -glabel D_808AFA30 - .word 0xC4F92000 - -.text -glabel func_808AF1D8 -/* 00A58 808AF1D8 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0 -/* 00A5C 808AF1DC AFBF0024 */ sw $ra, 0x0024($sp) -/* 00A60 808AF1E0 AFB00020 */ sw $s0, 0x0020($sp) -/* 00A64 808AF1E4 AFA50034 */ sw $a1, 0x0034($sp) -/* 00A68 808AF1E8 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00 -/* 00A6C 808AF1EC C4820060 */ lwc1 $f2, 0x0060($a0) ## 00000060 -/* 00A70 808AF1F0 C4840028 */ lwc1 $f4, 0x0028($a0) ## 00000028 -/* 00A74 808AF1F4 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00A78 808AF1F8 4600103E */ c.le.s $f2, $f0 -/* 00A7C 808AF1FC 3C01808B */ lui $at, %hi(D_808AFA28) ## $at = 808B0000 -/* 00A80 808AF200 46022180 */ add.s $f6, $f4, $f2 -/* 00A84 808AF204 45000045 */ bc1f .L808AF31C -/* 00A88 808AF208 E4860028 */ swc1 $f6, 0x0028($a0) ## 00000028 -/* 00A8C 808AF20C 0C01DE0D */ jal Math_CosS - ## coss? -/* 00A90 808AF210 848400B4 */ lh $a0, 0x00B4($a0) ## 000000B4 -/* 00A94 808AF214 3C01808B */ lui $at, %hi(D_808AFA1C) ## $at = 808B0000 -/* 00A98 808AF218 C428FA1C */ lwc1 $f8, %lo(D_808AFA1C)($at) -/* 00A9C 808AF21C 46080282 */ mul.s $f10, $f0, $f8 -/* 00AA0 808AF220 E7AA002C */ swc1 $f10, 0x002C($sp) -/* 00AA4 808AF224 0C01DE1C */ jal Math_SinS - ## sins? -/* 00AA8 808AF228 860400B6 */ lh $a0, 0x00B6($s0) ## 000000B6 -/* 00AAC 808AF22C C7B2002C */ lwc1 $f18, 0x002C($sp) -/* 00AB0 808AF230 C6100024 */ lwc1 $f16, 0x0024($s0) ## 00000024 -/* 00AB4 808AF234 860400B6 */ lh $a0, 0x00B6($s0) ## 000000B6 -/* 00AB8 808AF238 46009102 */ mul.s $f4, $f18, $f0 -/* 00ABC 808AF23C 46048180 */ add.s $f6, $f16, $f4 -/* 00AC0 808AF240 0C01DE0D */ jal Math_CosS - ## coss? -/* 00AC4 808AF244 E6060024 */ swc1 $f6, 0x0024($s0) ## 00000024 -/* 00AC8 808AF248 C7AA002C */ lwc1 $f10, 0x002C($sp) -/* 00ACC 808AF24C C608002C */ lwc1 $f8, 0x002C($s0) ## 0000002C -/* 00AD0 808AF250 3C01808B */ lui $at, %hi(D_808AFA20) ## $at = 808B0000 -/* 00AD4 808AF254 46005482 */ mul.s $f18, $f10, $f0 -/* 00AD8 808AF258 C6040028 */ lwc1 $f4, 0x0028($s0) ## 00000028 -/* 00ADC 808AF25C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00AE0 808AF260 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000 -/* 00AE4 808AF264 46124400 */ add.s $f16, $f8, $f18 -/* 00AE8 808AF268 E610002C */ swc1 $f16, 0x002C($s0) ## 0000002C -/* 00AEC 808AF26C C426FA20 */ lwc1 $f6, %lo(D_808AFA20)($at) -/* 00AF0 808AF270 46062281 */ sub.s $f10, $f4, $f6 -/* 00AF4 808AF274 E60A0028 */ swc1 $f10, 0x0028($s0) ## 00000028 -/* 00AF8 808AF278 0C22BB83 */ jal func_808AEE0C -/* 00AFC 808AF27C 8FA50034 */ lw $a1, 0x0034($sp) -/* 00B00 808AF280 260400B4 */ addiu $a0, $s0, 0x00B4 ## $a0 = 000000B4 -/* 00B04 808AF284 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000 -/* 00B08 808AF288 0C01DE2B */ jal Math_ScaledStepToS - -/* 00B0C 808AF28C 24060260 */ addiu $a2, $zero, 0x0260 ## $a2 = 00000260 -/* 00B10 808AF290 5040006B */ beql $v0, $zero, .L808AF440 -/* 00B14 808AF294 8FBF0024 */ lw $ra, 0x0024($sp) -/* 00B18 808AF298 0C01DE1C */ jal Math_SinS - ## sins? -/* 00B1C 808AF29C 860400B6 */ lh $a0, 0x00B6($s0) ## 000000B6 -/* 00B20 808AF2A0 3C014180 */ lui $at, 0x4180 ## $at = 41800000 -/* 00B24 808AF2A4 44819000 */ mtc1 $at, $f18 ## $f18 = 16.00 -/* 00B28 808AF2A8 C6080024 */ lwc1 $f8, 0x0024($s0) ## 00000024 -/* 00B2C 808AF2AC 860400B6 */ lh $a0, 0x00B6($s0) ## 000000B6 -/* 00B30 808AF2B0 46120402 */ mul.s $f16, $f0, $f18 -/* 00B34 808AF2B4 46104101 */ sub.s $f4, $f8, $f16 -/* 00B38 808AF2B8 0C01DE0D */ jal Math_CosS - ## coss? -/* 00B3C 808AF2BC E6040008 */ swc1 $f4, 0x0008($s0) ## 00000008 -/* 00B40 808AF2C0 3C014180 */ lui $at, 0x4180 ## $at = 41800000 -/* 00B44 808AF2C4 44815000 */ mtc1 $at, $f10 ## $f10 = 16.00 -/* 00B48 808AF2C8 C606002C */ lwc1 $f6, 0x002C($s0) ## 0000002C -/* 00B4C 808AF2CC 3C01808B */ lui $at, %hi(D_808AFA24) ## $at = 808B0000 -/* 00B50 808AF2D0 460A0482 */ mul.s $f18, $f0, $f10 -/* 00B54 808AF2D4 8E0F0004 */ lw $t7, 0x0004($s0) ## 00000004 -/* 00B58 808AF2D8 8E02018C */ lw $v0, 0x018C($s0) ## 0000018C -/* 00B5C 808AF2DC 240E0020 */ addiu $t6, $zero, 0x0020 ## $t6 = 00000020 -/* 00B60 808AF2E0 3C09808B */ lui $t1, %hi(func_808AF450) ## $t1 = 808B0000 -/* 00B64 808AF2E4 2529F450 */ addiu $t1, $t1, %lo(func_808AF450) ## $t1 = 808AF450 -/* 00B68 808AF2E8 46123201 */ sub.s $f8, $f6, $f18 -/* 00B6C 808AF2EC E6080010 */ swc1 $f8, 0x0010($s0) ## 00000010 -/* 00B70 808AF2F0 C430FA24 */ lwc1 $f16, %lo(D_808AFA24)($at) -/* 00B74 808AF2F4 2401FFEF */ addiu $at, $zero, 0xFFEF ## $at = FFFFFFEF -/* 00B78 808AF2F8 01E1C024 */ and $t8, $t7, $at -/* 00B7C 808AF2FC A60E016A */ sh $t6, 0x016A($s0) ## 0000016A -/* 00B80 808AF300 AE180004 */ sw $t8, 0x0004($s0) ## 00000004 -/* 00B84 808AF304 E6100028 */ swc1 $f16, 0x0028($s0) ## 00000028 -/* 00B88 808AF308 8459002E */ lh $t9, 0x002E($v0) ## 0000002E -/* 00B8C 808AF30C 00194040 */ sll $t0, $t9, 1 -/* 00B90 808AF310 A4480036 */ sh $t0, 0x0036($v0) ## 00000036 -/* 00B94 808AF314 10000049 */ beq $zero, $zero, .L808AF43C -/* 00B98 808AF318 AE090164 */ sw $t1, 0x0164($s0) ## 00000164 -.L808AF31C: -/* 00B9C 808AF31C C6040028 */ lwc1 $f4, 0x0028($s0) ## 00000028 -/* 00BA0 808AF320 C42AFA28 */ lwc1 $f10, %lo(D_808AFA28)($at) -/* 00BA4 808AF324 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00BA8 808AF328 24060001 */ addiu $a2, $zero, 0x0001 ## $a2 = 00000001 -/* 00BAC 808AF32C 4604503E */ c.le.s $f10, $f4 -/* 00BB0 808AF330 00000000 */ nop -/* 00BB4 808AF334 45020010 */ bc1fl .L808AF378 -/* 00BB8 808AF338 860C00B4 */ lh $t4, 0x00B4($s0) ## 000000B4 -/* 00BBC 808AF33C E6000060 */ swc1 $f0, 0x0060($s0) ## 00000060 -/* 00BC0 808AF340 0C22BB83 */ jal func_808AEE0C -/* 00BC4 808AF344 8FA50034 */ lw $a1, 0x0034($sp) -/* 00BC8 808AF348 240A0001 */ addiu $t2, $zero, 0x0001 ## $t2 = 00000001 -/* 00BCC 808AF34C 240B02BC */ addiu $t3, $zero, 0x02BC ## $t3 = 000002BC -/* 00BD0 808AF350 AFAB0014 */ sw $t3, 0x0014($sp) -/* 00BD4 808AF354 AFAA0010 */ sw $t2, 0x0010($sp) -/* 00BD8 808AF358 8FA40034 */ lw $a0, 0x0034($sp) -/* 00BDC 808AF35C 26050008 */ addiu $a1, $s0, 0x0008 ## $a1 = 00000008 -/* 00BE0 808AF360 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000 -/* 00BE4 808AF364 0C00A527 */ jal EffectSsGSplash_Spawn -/* 00BE8 808AF368 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 -/* 00BEC 808AF36C 10000034 */ beq $zero, $zero, .L808AF440 -/* 00BF0 808AF370 8FBF0024 */ lw $ra, 0x0024($sp) -/* 00BF4 808AF374 860C00B4 */ lh $t4, 0x00B4($s0) ## 000000B4 -.L808AF378: -/* 00BF8 808AF378 2401C000 */ addiu $at, $zero, 0xC000 ## $at = FFFFC000 -/* 00BFC 808AF37C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00C00 808AF380 1581001F */ bne $t4, $at, .L808AF400 -/* 00C04 808AF384 8FA50034 */ lw $a1, 0x0034($sp) -/* 00C08 808AF388 3C01808B */ lui $at, %hi(D_808AFA2C) ## $at = 808B0000 -/* 00C0C 808AF38C C426FA2C */ lwc1 $f6, %lo(D_808AFA2C)($at) -/* 00C10 808AF390 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 00C14 808AF394 44816000 */ mtc1 $at, $f12 ## $f12 = 1.00 -/* 00C18 808AF398 46061480 */ add.s $f18, $f2, $f6 -/* 00C1C 808AF39C 0C00CFC8 */ jal Rand_CenteredFloat - -/* 00C20 808AF3A0 E6120060 */ swc1 $f18, 0x0060($s0) ## 00000060 -/* 00C24 808AF3A4 C6080008 */ lwc1 $f8, 0x0008($s0) ## 00000008 -/* 00C28 808AF3A8 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 00C2C 808AF3AC 44816000 */ mtc1 $at, $f12 ## $f12 = 1.00 -/* 00C30 808AF3B0 46080400 */ add.s $f16, $f0, $f8 -/* 00C34 808AF3B4 0C00CFC8 */ jal Rand_CenteredFloat - -/* 00C38 808AF3B8 E6100024 */ swc1 $f16, 0x0024($s0) ## 00000024 -/* 00C3C 808AF3BC 3C014120 */ lui $at, 0x4120 ## $at = 41200000 -/* 00C40 808AF3C0 44816000 */ mtc1 $at, $f12 ## $f12 = 10.00 -/* 00C44 808AF3C4 C6020060 */ lwc1 $f2, 0x0060($s0) ## 00000060 -/* 00C48 808AF3C8 C6040010 */ lwc1 $f4, 0x0010($s0) ## 00000010 -/* 00C4C 808AF3CC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00C50 808AF3D0 4602603C */ c.lt.s $f12, $f2 -/* 00C54 808AF3D4 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000 -/* 00C58 808AF3D8 46040280 */ add.s $f10, $f0, $f4 -/* 00C5C 808AF3DC 45000003 */ bc1f .L808AF3EC -/* 00C60 808AF3E0 E60A002C */ swc1 $f10, 0x002C($s0) ## 0000002C -/* 00C64 808AF3E4 10000002 */ beq $zero, $zero, .L808AF3F0 -/* 00C68 808AF3E8 E60C0060 */ swc1 $f12, 0x0060($s0) ## 00000060 -.L808AF3EC: -/* 00C6C 808AF3EC E6020060 */ swc1 $f2, 0x0060($s0) ## 00000060 -.L808AF3F0: -/* 00C70 808AF3F0 0C22BB9B */ jal func_808AEE6C -/* 00C74 808AF3F4 8FA50034 */ lw $a1, 0x0034($sp) -/* 00C78 808AF3F8 10000011 */ beq $zero, $zero, .L808AF440 -/* 00C7C 808AF3FC 8FBF0024 */ lw $ra, 0x0024($sp) -.L808AF400: -/* 00C80 808AF400 0C22BB9B */ jal func_808AEE6C -/* 00C84 808AF404 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000 -/* 00C88 808AF408 260400B4 */ addiu $a0, $s0, 0x00B4 ## $a0 = 000000B4 -/* 00C8C 808AF40C 2405C000 */ addiu $a1, $zero, 0xC000 ## $a1 = FFFFC000 -/* 00C90 808AF410 0C01DE2B */ jal Math_ScaledStepToS - -/* 00C94 808AF414 24060030 */ addiu $a2, $zero, 0x0030 ## $a2 = 00000030 -/* 00C98 808AF418 50400009 */ beql $v0, $zero, .L808AF440 -/* 00C9C 808AF41C 8FBF0024 */ lw $ra, 0x0024($sp) -/* 00CA0 808AF420 C6060024 */ lwc1 $f6, 0x0024($s0) ## 00000024 -/* 00CA4 808AF424 3C01808B */ lui $at, %hi(D_808AFA30) ## $at = 808B0000 -/* 00CA8 808AF428 C608002C */ lwc1 $f8, 0x002C($s0) ## 0000002C -/* 00CAC 808AF42C E6060008 */ swc1 $f6, 0x0008($s0) ## 00000008 -/* 00CB0 808AF430 C432FA30 */ lwc1 $f18, %lo(D_808AFA30)($at) -/* 00CB4 808AF434 E6080010 */ swc1 $f8, 0x0010($s0) ## 00000010 -/* 00CB8 808AF438 E612000C */ swc1 $f18, 0x000C($s0) ## 0000000C -.L808AF43C: -/* 00CBC 808AF43C 8FBF0024 */ lw $ra, 0x0024($sp) -.L808AF440: -/* 00CC0 808AF440 8FB00020 */ lw $s0, 0x0020($sp) -/* 00CC4 808AF444 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000 -/* 00CC8 808AF448 03E00008 */ jr $ra -/* 00CCC 808AF44C 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/func_808AF450.s b/asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/func_808AF450.s deleted file mode 100644 index 60facbf1b0..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/func_808AF450.s +++ /dev/null @@ -1,41 +0,0 @@ -.late_rodata -glabel D_808AFA34 - .word 0x3E490FDB - -.text -glabel func_808AF450 -/* 00CD0 808AF450 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00CD4 808AF454 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00CD8 808AF458 AFA40018 */ sw $a0, 0x0018($sp) -/* 00CDC 808AF45C 0C22BB83 */ jal func_808AEE0C -/* 00CE0 808AF460 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000 -/* 00CE4 808AF464 8FA40018 */ lw $a0, 0x0018($sp) -/* 00CE8 808AF468 8482016A */ lh $v0, 0x016A($a0) ## 0000016A -/* 00CEC 808AF46C 10400003 */ beq $v0, $zero, .L808AF47C -/* 00CF0 808AF470 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF -/* 00CF4 808AF474 A48E016A */ sh $t6, 0x016A($a0) ## 0000016A -/* 00CF8 808AF478 8482016A */ lh $v0, 0x016A($a0) ## 0000016A -.L808AF47C: -/* 00CFC 808AF47C 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00 -/* 00D00 808AF480 3C01808B */ lui $at, %hi(D_808AFA34) ## $at = 808B0000 -/* 00D04 808AF484 C428FA34 */ lwc1 $f8, %lo(D_808AFA34)($at) -/* 00D08 808AF488 468021A0 */ cvt.s.w $f6, $f4 -/* 00D0C 808AF48C AFA40018 */ sw $a0, 0x0018($sp) -/* 00D10 808AF490 46083302 */ mul.s $f12, $f6, $f8 -/* 00D14 808AF494 0C0400A4 */ jal sinf - -/* 00D18 808AF498 00000000 */ nop -/* 00D1C 808AF49C 8FA40018 */ lw $a0, 0x0018($sp) -/* 00D20 808AF4A0 46000280 */ add.s $f10, $f0, $f0 -/* 00D24 808AF4A4 24180020 */ addiu $t8, $zero, 0x0020 ## $t8 = 00000020 -/* 00D28 808AF4A8 C490000C */ lwc1 $f16, 0x000C($a0) ## 0000000C -/* 00D2C 808AF4AC 848F016A */ lh $t7, 0x016A($a0) ## 0000016A -/* 00D30 808AF4B0 46105480 */ add.s $f18, $f10, $f16 -/* 00D34 808AF4B4 15E00002 */ bne $t7, $zero, .L808AF4C0 -/* 00D38 808AF4B8 E4920028 */ swc1 $f18, 0x0028($a0) ## 00000028 -/* 00D3C 808AF4BC A498016A */ sh $t8, 0x016A($a0) ## 0000016A -.L808AF4C0: -/* 00D40 808AF4C0 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00D44 808AF4C4 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00D48 808AF4C8 03E00008 */ jr $ra -/* 00D4C 808AF4CC 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/func_808AF524.s b/asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/func_808AF524.s deleted file mode 100644 index 3e945922b9..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/func_808AF524.s +++ /dev/null @@ -1,150 +0,0 @@ -.rdata -glabel D_808AF994 - .asciz "../z_bg_spot06_objects.c" - .balign 4 - -glabel D_808AF9B0 - .asciz "../z_bg_spot06_objects.c" - .balign 4 - -glabel D_808AF9CC - .asciz "../z_bg_spot06_objects.c" - .balign 4 - -.text -glabel func_808AF524 -/* 00DA4 808AF524 27BDFF78 */ addiu $sp, $sp, 0xFF78 ## $sp = FFFFFF78 -/* 00DA8 808AF528 AFB20040 */ sw $s2, 0x0040($sp) -/* 00DAC 808AF52C 00A09025 */ or $s2, $a1, $zero ## $s2 = 00000000 -/* 00DB0 808AF530 AFBF0044 */ sw $ra, 0x0044($sp) -/* 00DB4 808AF534 AFB1003C */ sw $s1, 0x003C($sp) -/* 00DB8 808AF538 AFB00038 */ sw $s0, 0x0038($sp) -/* 00DBC 808AF53C AFA40088 */ sw $a0, 0x0088($sp) -/* 00DC0 808AF540 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000 -/* 00DC4 808AF544 3C06808B */ lui $a2, %hi(D_808AF994) ## $a2 = 808B0000 -/* 00DC8 808AF548 24C6F994 */ addiu $a2, $a2, %lo(D_808AF994) ## $a2 = 808AF994 -/* 00DCC 808AF54C 27A4006C */ addiu $a0, $sp, 0x006C ## $a0 = FFFFFFE4 -/* 00DD0 808AF550 2407034C */ addiu $a3, $zero, 0x034C ## $a3 = 0000034C -/* 00DD4 808AF554 0C031AB1 */ jal Graph_OpenDisps -/* 00DD8 808AF558 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000 -/* 00DDC 808AF55C 0C024F61 */ jal func_80093D84 -/* 00DE0 808AF560 8E440000 */ lw $a0, 0x0000($s2) ## 00000000 -/* 00DE4 808AF564 8E2202D0 */ lw $v0, 0x02D0($s1) ## 000002D0 -/* 00DE8 808AF568 3C0FDA38 */ lui $t7, 0xDA38 ## $t7 = DA380000 -/* 00DEC 808AF56C 35EF0003 */ ori $t7, $t7, 0x0003 ## $t7 = DA380003 -/* 00DF0 808AF570 244E0008 */ addiu $t6, $v0, 0x0008 ## $t6 = 00000008 -/* 00DF4 808AF574 AE2E02D0 */ sw $t6, 0x02D0($s1) ## 000002D0 -/* 00DF8 808AF578 3C05808B */ lui $a1, %hi(D_808AF9B0) ## $a1 = 808B0000 -/* 00DFC 808AF57C AC4F0000 */ sw $t7, 0x0000($v0) ## 00000000 -/* 00E00 808AF580 8E440000 */ lw $a0, 0x0000($s2) ## 00000000 -/* 00E04 808AF584 24A5F9B0 */ addiu $a1, $a1, %lo(D_808AF9B0) ## $a1 = 808AF9B0 -/* 00E08 808AF588 24060352 */ addiu $a2, $zero, 0x0352 ## $a2 = 00000352 -/* 00E0C 808AF58C 0C0346A2 */ jal Matrix_NewMtx -/* 00E10 808AF590 00408025 */ or $s0, $v0, $zero ## $s0 = 00000000 -/* 00E14 808AF594 AE020004 */ sw $v0, 0x0004($s0) ## 00000004 -/* 00E18 808AF598 8E2202D0 */ lw $v0, 0x02D0($s1) ## 000002D0 -/* 00E1C 808AF59C 8E50009C */ lw $s0, 0x009C($s2) ## 0000009C -/* 00E20 808AF5A0 3C19DB06 */ lui $t9, 0xDB06 ## $t9 = DB060000 -/* 00E24 808AF5A4 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008 -/* 00E28 808AF5A8 AE3802D0 */ sw $t8, 0x02D0($s1) ## 000002D0 -/* 00E2C 808AF5AC 37390020 */ ori $t9, $t9, 0x0020 ## $t9 = DB060020 -/* 00E30 808AF5B0 AC590000 */ sw $t9, 0x0000($v0) ## 00000000 -/* 00E34 808AF5B4 8E440000 */ lw $a0, 0x0000($s2) ## 00000000 -/* 00E38 808AF5B8 24080020 */ addiu $t0, $zero, 0x0020 ## $t0 = 00000020 -/* 00E3C 808AF5BC 24090020 */ addiu $t1, $zero, 0x0020 ## $t1 = 00000020 -/* 00E40 808AF5C0 240A0001 */ addiu $t2, $zero, 0x0001 ## $t2 = 00000001 -/* 00E44 808AF5C4 240B0020 */ addiu $t3, $zero, 0x0020 ## $t3 = 00000020 -/* 00E48 808AF5C8 240C0020 */ addiu $t4, $zero, 0x0020 ## $t4 = 00000020 -/* 00E4C 808AF5CC 00103023 */ subu $a2, $zero, $s0 -/* 00E50 808AF5D0 AFA60050 */ sw $a2, 0x0050($sp) -/* 00E54 808AF5D4 AFAC0028 */ sw $t4, 0x0028($sp) -/* 00E58 808AF5D8 AFAB0024 */ sw $t3, 0x0024($sp) -/* 00E5C 808AF5DC AFAA0018 */ sw $t2, 0x0018($sp) -/* 00E60 808AF5E0 AFA90014 */ sw $t1, 0x0014($sp) -/* 00E64 808AF5E4 AFA80010 */ sw $t0, 0x0010($sp) -/* 00E68 808AF5E8 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000 -/* 00E6C 808AF5EC AFA20064 */ sw $v0, 0x0064($sp) -/* 00E70 808AF5F0 AFB00020 */ sw $s0, 0x0020($sp) -/* 00E74 808AF5F4 AFB0001C */ sw $s0, 0x001C($sp) -/* 00E78 808AF5F8 0C0253D0 */ jal Gfx_TwoTexScroll -/* 00E7C 808AF5FC 02003825 */ or $a3, $s0, $zero ## $a3 = 00000000 -/* 00E80 808AF600 8FA30064 */ lw $v1, 0x0064($sp) -/* 00E84 808AF604 8FA60050 */ lw $a2, 0x0050($sp) -/* 00E88 808AF608 3C0EDB06 */ lui $t6, 0xDB06 ## $t6 = DB060000 -/* 00E8C 808AF60C AC620004 */ sw $v0, 0x0004($v1) ## 00000004 -/* 00E90 808AF610 8E2202D0 */ lw $v0, 0x02D0($s1) ## 000002D0 -/* 00E94 808AF614 35CE0024 */ ori $t6, $t6, 0x0024 ## $t6 = DB060024 -/* 00E98 808AF618 00103880 */ sll $a3, $s0, 2 -/* 00E9C 808AF61C 244D0008 */ addiu $t5, $v0, 0x0008 ## $t5 = 00000008 -/* 00EA0 808AF620 AE2D02D0 */ sw $t5, 0x02D0($s1) ## 000002D0 -/* 00EA4 808AF624 AC4E0000 */ sw $t6, 0x0000($v0) ## 00000000 -/* 00EA8 808AF628 8E440000 */ lw $a0, 0x0000($s2) ## 00000000 -/* 00EAC 808AF62C 00F03823 */ subu $a3, $a3, $s0 -/* 00EB0 808AF630 00073840 */ sll $a3, $a3, 1 -/* 00EB4 808AF634 240F0020 */ addiu $t7, $zero, 0x0020 ## $t7 = 00000020 -/* 00EB8 808AF638 24180020 */ addiu $t8, $zero, 0x0020 ## $t8 = 00000020 -/* 00EBC 808AF63C 24190001 */ addiu $t9, $zero, 0x0001 ## $t9 = 00000001 -/* 00EC0 808AF640 24080020 */ addiu $t0, $zero, 0x0020 ## $t0 = 00000020 -/* 00EC4 808AF644 24090020 */ addiu $t1, $zero, 0x0020 ## $t1 = 00000020 -/* 00EC8 808AF648 AFA90028 */ sw $t1, 0x0028($sp) -/* 00ECC 808AF64C AFA80024 */ sw $t0, 0x0024($sp) -/* 00ED0 808AF650 AFB90018 */ sw $t9, 0x0018($sp) -/* 00ED4 808AF654 AFB80014 */ sw $t8, 0x0014($sp) -/* 00ED8 808AF658 AFAF0010 */ sw $t7, 0x0010($sp) -/* 00EDC 808AF65C AFA70020 */ sw $a3, 0x0020($sp) -/* 00EE0 808AF660 AFB0001C */ sw $s0, 0x001C($sp) -/* 00EE4 808AF664 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000 -/* 00EE8 808AF668 0C0253D0 */ jal Gfx_TwoTexScroll -/* 00EEC 808AF66C AFA20060 */ sw $v0, 0x0060($sp) -/* 00EF0 808AF670 8FA30060 */ lw $v1, 0x0060($sp) -/* 00EF4 808AF674 3C0BFB00 */ lui $t3, 0xFB00 ## $t3 = FB000000 -/* 00EF8 808AF678 240CFF80 */ addiu $t4, $zero, 0xFF80 ## $t4 = FFFFFF80 -/* 00EFC 808AF67C AC620004 */ sw $v0, 0x0004($v1) ## 00000004 -/* 00F00 808AF680 8E2202D0 */ lw $v0, 0x02D0($s1) ## 000002D0 -/* 00F04 808AF684 3C01C42A */ lui $at, 0xC42A ## $at = C42A0000 -/* 00F08 808AF688 44813000 */ mtc1 $at, $f6 ## $f6 = -680.00 -/* 00F0C 808AF68C 244A0008 */ addiu $t2, $v0, 0x0008 ## $t2 = 00000008 -/* 00F10 808AF690 AE2A02D0 */ sw $t2, 0x02D0($s1) ## 000002D0 -/* 00F14 808AF694 AC4C0004 */ sw $t4, 0x0004($v0) ## 00000004 -/* 00F18 808AF698 AC4B0000 */ sw $t3, 0x0000($v0) ## 00000000 -/* 00F1C 808AF69C 8FAD0088 */ lw $t5, 0x0088($sp) -/* 00F20 808AF6A0 3C06808B */ lui $a2, %hi(D_808AF9CC) ## $a2 = 808B0000 -/* 00F24 808AF6A4 3C0E8016 */ lui $t6, %hi(gSaveContext+0x1360) -/* 00F28 808AF6A8 C5A4016C */ lwc1 $f4, 0x016C($t5) ## 0000016C -/* 00F2C 808AF6AC 3C09DE00 */ lui $t1, 0xDE00 ## $t1 = DE000000 -/* 00F30 808AF6B0 24C6F9CC */ addiu $a2, $a2, %lo(D_808AF9CC) ## $a2 = 808AF9CC -/* 00F34 808AF6B4 4606203C */ c.lt.s $f4, $f6 -/* 00F38 808AF6B8 27A4006C */ addiu $a0, $sp, 0x006C ## $a0 = FFFFFFE4 -/* 00F3C 808AF6BC 2407036F */ addiu $a3, $zero, 0x036F ## $a3 = 0000036F -/* 00F40 808AF6C0 4502000F */ bc1fl .L808AF700 -/* 00F44 808AF6C4 8E2202D0 */ lw $v0, 0x02D0($s1) ## 000002D0 -/* 00F48 808AF6C8 8DCEF9C0 */ lw $t6, %lo(gSaveContext+0x1360)($t6) -/* 00F4C 808AF6CC 3C18DE00 */ lui $t8, 0xDE00 ## $t8 = DE000000 -/* 00F50 808AF6D0 29C10004 */ slti $at, $t6, 0x0004 -/* 00F54 808AF6D4 5020000A */ beql $at, $zero, .L808AF700 -/* 00F58 808AF6D8 8E2202D0 */ lw $v0, 0x02D0($s1) ## 000002D0 -/* 00F5C 808AF6DC 8E2202D0 */ lw $v0, 0x02D0($s1) ## 000002D0 -/* 00F60 808AF6E0 3C190600 */ lui $t9, %hi(D_06000120) ## $t9 = 06000000 -/* 00F64 808AF6E4 27390120 */ addiu $t9, $t9, %lo(D_06000120) ## $t9 = 06000120 -/* 00F68 808AF6E8 244F0008 */ addiu $t7, $v0, 0x0008 ## $t7 = 00000008 -/* 00F6C 808AF6EC AE2F02D0 */ sw $t7, 0x02D0($s1) ## 000002D0 -/* 00F70 808AF6F0 AC590004 */ sw $t9, 0x0004($v0) ## 00000004 -/* 00F74 808AF6F4 10000008 */ beq $zero, $zero, .L808AF718 -/* 00F78 808AF6F8 AC580000 */ sw $t8, 0x0000($v0) ## 00000000 -/* 00F7C 808AF6FC 8E2202D0 */ lw $v0, 0x02D0($s1) ## 000002D0 -.L808AF700: -/* 00F80 808AF700 3C0A0600 */ lui $t2, %hi(D_06000470) ## $t2 = 06000000 -/* 00F84 808AF704 254A0470 */ addiu $t2, $t2, %lo(D_06000470) ## $t2 = 06000470 -/* 00F88 808AF708 24480008 */ addiu $t0, $v0, 0x0008 ## $t0 = 00000008 -/* 00F8C 808AF70C AE2802D0 */ sw $t0, 0x02D0($s1) ## 000002D0 -/* 00F90 808AF710 AC4A0004 */ sw $t2, 0x0004($v0) ## 00000004 -/* 00F94 808AF714 AC490000 */ sw $t1, 0x0000($v0) ## 00000000 -.L808AF718: -/* 00F98 808AF718 0C031AD5 */ jal Graph_CloseDisps -/* 00F9C 808AF71C 8E450000 */ lw $a1, 0x0000($s2) ## 00000000 -/* 00FA0 808AF720 8FBF0044 */ lw $ra, 0x0044($sp) -/* 00FA4 808AF724 8FB00038 */ lw $s0, 0x0038($sp) -/* 00FA8 808AF728 8FB1003C */ lw $s1, 0x003C($sp) -/* 00FAC 808AF72C 8FB20040 */ lw $s2, 0x0040($sp) -/* 00FB0 808AF730 03E00008 */ jr $ra -/* 00FB4 808AF734 27BD0088 */ addiu $sp, $sp, 0x0088 ## $sp = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/func_808AF7FC.s b/asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/func_808AF7FC.s deleted file mode 100644 index 9ec3390a04..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/func_808AF7FC.s +++ /dev/null @@ -1,12 +0,0 @@ -glabel func_808AF7FC -/* 0107C 808AF7FC 3C0E8016 */ lui $t6, %hi(gSaveContext+0xee0) -/* 01080 808AF800 95CEF540 */ lhu $t6, %lo(gSaveContext+0xee0)($t6) -/* 01084 808AF804 3C18808B */ lui $t8, %hi(func_808AF824) ## $t8 = 808B0000 -/* 01088 808AF808 AFA50004 */ sw $a1, 0x0004($sp) -/* 0108C 808AF80C 31CF0200 */ andi $t7, $t6, 0x0200 ## $t7 = 00000000 -/* 01090 808AF810 11E00002 */ beq $t7, $zero, .L808AF81C -/* 01094 808AF814 2718F824 */ addiu $t8, $t8, %lo(func_808AF824) ## $t8 = 808AF824 -/* 01098 808AF818 AC980164 */ sw $t8, 0x0164($a0) ## 00000164 -.L808AF81C: -/* 0109C 808AF81C 03E00008 */ jr $ra -/* 010A0 808AF820 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/func_808AF824.s b/asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/func_808AF824.s deleted file mode 100644 index b006e8ba39..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/func_808AF824.s +++ /dev/null @@ -1,72 +0,0 @@ -.late_rodata -glabel D_808AFA38 - .word 0xC4A42000 -glabel D_808AFA3C - .word 0x38D1B717 -glabel D_808AFA40 - .float 0.001 - -.text -glabel func_808AF824 -/* 010A4 808AF824 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8 -/* 010A8 808AF828 AFBF0024 */ sw $ra, 0x0024($sp) -/* 010AC 808AF82C AFB00020 */ sw $s0, 0x0020($sp) -/* 010B0 808AF830 AFA5002C */ sw $a1, 0x002C($sp) -/* 010B4 808AF834 3C01808B */ lui $at, %hi(D_808AFA38) ## $at = 808B0000 -/* 010B8 808AF838 C422FA38 */ lwc1 $f2, %lo(D_808AFA38)($at) -/* 010BC 808AF83C C480016C */ lwc1 $f0, 0x016C($a0) ## 0000016C -/* 010C0 808AF840 3C01808B */ lui $at, %hi(D_808AFA3C) ## $at = 808B0000 -/* 010C4 808AF844 3C0E808B */ lui $t6, %hi(func_808AEE00) ## $t6 = 808B0000 -/* 010C8 808AF848 46020100 */ add.s $f4, $f0, $f2 -/* 010CC 808AF84C 3C063DCC */ lui $a2, 0x3DCC ## $a2 = 3DCC0000 -/* 010D0 808AF850 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 010D4 808AF854 25CEEE00 */ addiu $t6, $t6, %lo(func_808AEE00) ## $t6 = 808AEE00 -/* 010D8 808AF858 E4840028 */ swc1 $f4, 0x0028($a0) ## 00000028 -/* 010DC 808AF85C C426FA3C */ lwc1 $f6, %lo(D_808AFA3C)($at) -/* 010E0 808AF860 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 010E4 808AF864 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3DCCCCCD -/* 010E8 808AF868 4600303E */ c.le.s $f6, $f0 -/* 010EC 808AF86C 00000000 */ nop -/* 010F0 808AF870 45020005 */ bc1fl .L808AF888 -/* 010F4 808AF874 44810000 */ mtc1 $at, $f0 ## $f0 = 1.00 -/* 010F8 808AF878 E4820028 */ swc1 $f2, 0x0028($a0) ## 00000028 -/* 010FC 808AF87C 1000001C */ beq $zero, $zero, .L808AF8F0 -/* 01100 808AF880 AC8E0164 */ sw $t6, 0x0164($a0) ## 00000164 -/* 01104 808AF884 44810000 */ mtc1 $at, $f0 ## $f0 = 1.00 -.L808AF888: -/* 01108 808AF888 3C01808B */ lui $at, %hi(D_808AFA40) ## $at = 808B0000 -/* 0110C 808AF88C C428FA40 */ lwc1 $f8, %lo(D_808AFA40)($at) -/* 01110 808AF890 44050000 */ mfc1 $a1, $f0 -/* 01114 808AF894 44070000 */ mfc1 $a3, $f0 -/* 01118 808AF898 2604016C */ addiu $a0, $s0, 0x016C ## $a0 = 0000016C -/* 0111C 808AF89C 0C01E0C4 */ jal Math_SmoothStepToF - -/* 01120 808AF8A0 E7A80010 */ swc1 $f8, 0x0010($sp) -/* 01124 808AF8A4 8FA2002C */ lw $v0, 0x002C($sp) -/* 01128 808AF8A8 240FFB57 */ addiu $t7, $zero, 0xFB57 ## $t7 = FFFFFB57 -/* 0112C 808AF8AC 8C5807C0 */ lw $t8, 0x07C0($v0) ## 000007C0 -/* 01130 808AF8B0 8F190028 */ lw $t9, 0x0028($t8) ## 00000028 -/* 01134 808AF8B4 A72F0012 */ sh $t7, 0x0012($t9) ## 00000012 -/* 01138 808AF8B8 C60A0028 */ lwc1 $f10, 0x0028($s0) ## 00000028 -/* 0113C 808AF8BC 8C4A07C0 */ lw $t2, 0x07C0($v0) ## 000007C0 -/* 01140 808AF8C0 4600540D */ trunc.w.s $f16, $f10 -/* 01144 808AF8C4 8D4B0028 */ lw $t3, 0x0028($t2) ## 00000028 -/* 01148 808AF8C8 44098000 */ mfc1 $t1, $f16 -/* 0114C 808AF8CC 00000000 */ nop -/* 01150 808AF8D0 A5690022 */ sh $t1, 0x0022($t3) ## 00000022 -/* 01154 808AF8D4 C6120028 */ lwc1 $f18, 0x0028($s0) ## 00000028 -/* 01158 808AF8D8 8C4E07C0 */ lw $t6, 0x07C0($v0) ## 000007C0 -/* 0115C 808AF8DC 4600910D */ trunc.w.s $f4, $f18 -/* 01160 808AF8E0 8DD80028 */ lw $t8, 0x0028($t6) ## 00000028 -/* 01164 808AF8E4 440D2000 */ mfc1 $t5, $f4 -/* 01168 808AF8E8 00000000 */ nop -/* 0116C 808AF8EC A70D0032 */ sh $t5, 0x0032($t8) ## 00000032 -.L808AF8F0: -/* 01170 808AF8F0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 01174 808AF8F4 0C00BE52 */ jal func_8002F948 -/* 01178 808AF8F8 2405205E */ addiu $a1, $zero, 0x205E ## $a1 = 0000205E -/* 0117C 808AF8FC 8FBF0024 */ lw $ra, 0x0024($sp) -/* 01180 808AF900 8FB00020 */ lw $s0, 0x0020($sp) -/* 01184 808AF904 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000 -/* 01188 808AF908 03E00008 */ jr $ra -/* 0118C 808AF90C 00000000 */ nop diff --git a/data/overlays/actors/z_bg_spot06_objects.data.s b/data/overlays/actors/z_bg_spot06_objects.data.s deleted file mode 100644 index c3e3df8a3e..0000000000 --- a/data/overlays/actors/z_bg_spot06_objects.data.s +++ /dev/null @@ -1,27 +0,0 @@ -.include "macro.inc" - - # assembler directives - .set noat # allow manual use of $at - .set noreorder # don't insert nops after branches - .set gp=64 # allow use of 64-bit general purpose registers - -.section .data - -.balign 16 - -glabel Bg_Spot06_Objects_InitVars - .word 0x00D50600, 0x00000200, 0x006A0000, 0x000001D0 -.word BgSpot06Objects_Init -.word BgSpot06Objects_Destroy -.word BgSpot06Objects_Update -.word BgSpot06Objects_Draw -glabel D_808AF930 - .word 0x00000000, 0x00000000, 0x00000000, 0x00000080, 0x00000000, 0x00050100, 0x01000000, 0x0000FF60, 0x00120064 -glabel D_808AF954 - .word 0x0A000939, 0x20000000, 0x00000001 -.word D_808AF930 -glabel D_808AF964 - .word 0x48500064 -glabel D_808AF968 - .word 0x485003E8, 0x00000000 - diff --git a/data/overlays/actors/z_bg_spot06_objects.reloc.s b/data/overlays/actors/z_bg_spot06_objects.reloc.s deleted file mode 100644 index 283f5b3315..0000000000 --- a/data/overlays/actors/z_bg_spot06_objects.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_808AFA50 - .incbin "baserom/ovl_Bg_Spot06_Objects", 0x12D0, 0x000001E0 diff --git a/spec b/spec index a3d6fa5fb5..e3e8242be9 100644 --- a/spec +++ b/spec @@ -1194,8 +1194,7 @@ endseg beginseg name "ovl_Bg_Spot06_Objects" include "build/src/overlays/actors/ovl_Bg_Spot06_Objects/z_bg_spot06_objects.o" - include "build/data/overlays/actors/z_bg_spot06_objects.data.o" - include "build/data/overlays/actors/z_bg_spot06_objects.reloc.o" + include "build/src/overlays/actors/ovl_Bg_Spot06_Objects/ovl_Bg_Spot06_Objects_reloc.o" endseg beginseg diff --git a/src/overlays/actors/ovl_Bg_Spot06_Objects/z_bg_spot06_objects.c b/src/overlays/actors/ovl_Bg_Spot06_Objects/z_bg_spot06_objects.c index dcc09a15e5..c0d75f7642 100644 --- a/src/overlays/actors/ovl_Bg_Spot06_Objects/z_bg_spot06_objects.c +++ b/src/overlays/actors/ovl_Bg_Spot06_Objects/z_bg_spot06_objects.c @@ -1,23 +1,58 @@ +/* + * File: z_bg_spot06_objects.c + * Overlay: ovl_Bg_Spot06_Objects + * Description: Lake Hylia Objects + */ + #include "z_bg_spot06_objects.h" #define FLAGS 0x00000200 #define THIS ((BgSpot06Objects*)thisx) +typedef enum { + /* 0x0 */ LHO_WATER_TEMPLE_ENTRACE_GATE, + /* 0x1 */ LHO_WATER_TEMPLE_ENTRANCE_LOCK, + /* 0x2 */ LHO_WATER_PLANE, + /* 0x3 */ LHO_ICE_BLOCK +} LakeHyliaObjectsType; + +typedef enum { + /* 0x0 */ LHWB_GERUDO_VALLEY_RIVER_UPPER, // entrance from Gerudo Valley + /* 0x1 */ LHWB_GERUDO_VALLEY_RIVER_LOWER, // river flowing from Gerudo Valley + /* 0x2 */ LHWB_MAIN_1, // main water box + /* 0x3 */ LHWB_MAIN_2 // extension of main water box +} LakeHyliaWaterBoxIndices; + +// Lake Hylia water plane levels +#define WATER_LEVEL_RAISED (-1313) +#define WATER_LEVEL_RIVER_RAISED (WATER_LEVEL_RAISED + 200) +#define WATER_LEVEL_LOWERED (WATER_LEVEL_RAISED - 680) +#define WATER_LEVEL_RIVER_LOWERED (WATER_LEVEL_RIVER_RAISED - 80) + void BgSpot06Objects_Init(Actor* thisx, GlobalContext* globalCtx); void BgSpot06Objects_Destroy(Actor* thisx, GlobalContext* globalCtx); void BgSpot06Objects_Update(Actor* thisx, GlobalContext* globalCtx); void BgSpot06Objects_Draw(Actor* thisx, GlobalContext* globalCtx); +void BgSpot06Objects_GateWaitForSwitch(BgSpot06Objects* this, GlobalContext* globalCtx); +void BgSpot06Objects_GateWaitToOpen(BgSpot06Objects* this, GlobalContext* globalCtx); +void BgSpot06Objects_GateOpen(BgSpot06Objects* this, GlobalContext* globalCtx); +void BgSpot06Objects_DoNothing(BgSpot06Objects* this, GlobalContext* globalCtx); +void BgSpot06Objects_LockWait(BgSpot06Objects* this, GlobalContext* globalCtx); +void BgSpot06Objects_LockPullOutward(BgSpot06Objects* this, GlobalContext* globalCtx); +void BgSpot06Objects_LockSwimToSurface(BgSpot06Objects* this, GlobalContext* globalCtx); +void BgSpot06Objects_LockFloat(BgSpot06Objects* this, GlobalContext* globalCtx); +void BgSpot06Objects_WaterPlaneCutsceneWait(BgSpot06Objects* this, GlobalContext* globalCtx); +void BgSpot06Objects_WaterPlaneCutsceneRise(BgSpot06Objects* this, GlobalContext* globalCtx); -extern UNK_TYPE D_06000120; -extern UNK_TYPE D_06000470; -extern UNK_TYPE D_06000E10; -extern UNK_TYPE D_06000EE8; -extern UNK_TYPE D_06001160; -extern UNK_TYPE D_06001238; -extern UNK_TYPE D_06002490; +extern Gfx D_06000120[]; // Lake Hylia lowered water +extern Gfx D_06000470[]; // Lake Hylia raised water +extern Gfx D_06000E10[]; // Water Temple entrance gate +extern CollisionHeader D_06000EE8; // Water Temple entrance gate collision +extern Gfx D_06001160[]; // Zora's Domain entrance block of ice +extern CollisionHeader D_06001238; // Zora's Domain entrance block of ice collision +extern Gfx D_06002490[]; // Water Temple entrance lock -/* const ActorInit Bg_Spot06_Objects_InitVars = { ACTOR_BG_SPOT06_OBJECTS, ACTORCAT_PROP, @@ -30,7 +65,7 @@ const ActorInit Bg_Spot06_Objects_InitVars = { (ActorFunc)BgSpot06Objects_Draw, }; -static ColliderJntSphElementInit D_808AF930[1] = { +static ColliderJntSphElementInit sJntSphItemsInit[1] = { { { ELEMTYPE_UNK0, @@ -44,7 +79,7 @@ static ColliderJntSphElementInit D_808AF930[1] = { }, }; -static ColliderJntSphInit D_808AF954 = { +static ColliderJntSphInit sJntSphInit = { { COLTYPE_NONE, AT_NONE, @@ -54,41 +89,429 @@ static ColliderJntSphInit D_808AF954 = { COLSHAPE_JNTSPH, }, 1, - D_808AF930, + sJntSphItemsInit, }; -*/ -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/BgSpot06Objects_Init.s") -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/BgSpot06Objects_Destroy.s") +static InitChainEntry sInitChain[] = { + ICHAIN_VEC3F_DIV1000(scale, 100, ICHAIN_STOP), +}; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/func_808AEBC0.s") +static InitChainEntry sInitChainWaterPlane[] = { + ICHAIN_VEC3F_DIV1000(scale, 1000, ICHAIN_STOP), +}; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/func_808AECB4.s") +void BgSpot06Objects_Init(Actor* thisx, GlobalContext* globalCtx) { + BgSpot06Objects* this = THIS; + s32 pad; + CollisionHeader* colHeader = NULL; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/func_808AED48.s") + this->switchFlag = thisx->params & 0xFF; + thisx->params = (thisx->params >> 8) & 0xFF; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/func_808AED7C.s") + osSyncPrintf("spot06 obj nthisx->arg_data=[%d]", thisx->params); -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/func_808AEE00.s") + switch (thisx->params) { + case LHO_WATER_TEMPLE_ENTRACE_GATE: + Actor_ProcessInitChain(thisx, sInitChain); + DynaPolyActor_Init(thisx, DPM_UNK); + CollisionHeader_GetVirtual(&D_06000EE8, &colHeader); + this->dyna.bgId = DynaPoly_SetBgActor(globalCtx, &globalCtx->colCtx.dyna, thisx, colHeader); -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/func_808AEE0C.s") + if (LINK_IS_ADULT && Flags_GetSwitch(globalCtx, this->switchFlag)) { + thisx->world.pos.y = thisx->home.pos.y + 120.0f; + this->actionFunc = BgSpot06Objects_DoNothing; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/func_808AEE6C.s") + } else { + this->actionFunc = BgSpot06Objects_GateWaitForSwitch; + } -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/func_808AEEFC.s") + break; + case LHO_WATER_TEMPLE_ENTRANCE_LOCK: + Actor_ProcessInitChain(thisx, sInitChain); + Collider_InitJntSph(globalCtx, &this->collider); + Collider_SetJntSph(globalCtx, &this->collider, thisx, &sJntSphInit, &this->colliderItem); -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/func_808AF120.s") + if (LINK_IS_ADULT && Flags_GetSwitch(globalCtx, this->switchFlag)) { + if (!(gSaveContext.eventChkInf[6] & 0x200)) { + thisx->home.pos.y = thisx->world.pos.y = WATER_LEVEL_LOWERED; + } else { + thisx->home.pos.y = thisx->world.pos.y = WATER_LEVEL_RAISED; + } -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/func_808AF1D8.s") + this->actionFunc = BgSpot06Objects_LockFloat; + thisx->world.pos.z -= 100.0f; + thisx->home.pos.z = thisx->world.pos.z + 16.0f; + this->collider.elements[0].dim.worldSphere.radius = + this->collider.elements[0].dim.modelSphere.radius * 2; + this->collider.elements[0].dim.worldSphere.center.z = thisx->world.pos.z + 16.0f; + } else { + this->actionFunc = BgSpot06Objects_LockWait; + this->collider.elements[0].dim.worldSphere.radius = this->collider.elements[0].dim.modelSphere.radius; + this->collider.elements[0].dim.worldSphere.center.z = thisx->world.pos.z; + } -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/func_808AF450.s") + this->collider.elements[0].dim.worldSphere.center.x = thisx->world.pos.x; + this->collider.elements[0].dim.worldSphere.center.y = thisx->world.pos.y; + thisx->colChkInfo.mass = MASS_IMMOVABLE; + break; + case LHO_WATER_PLANE: + Actor_ProcessInitChain(thisx, sInitChainWaterPlane); + thisx->flags = 0x30; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/BgSpot06Objects_Update.s") + if (LINK_IS_ADULT && !(gSaveContext.eventChkInf[6] & 0x200)) { + if (gSaveContext.sceneSetupIndex < 4) { + this->lakeHyliaWaterLevel = -681.0f; + globalCtx->colCtx.colHeader->waterBoxes[LHWB_GERUDO_VALLEY_RIVER_LOWER].ySurface = + WATER_LEVEL_RIVER_LOWERED; + globalCtx->colCtx.colHeader->waterBoxes[LHWB_GERUDO_VALLEY_RIVER_LOWER].zMin -= 50; + globalCtx->colCtx.colHeader->waterBoxes[LHWB_MAIN_1].ySurface = WATER_LEVEL_LOWERED; + globalCtx->colCtx.colHeader->waterBoxes[LHWB_MAIN_2].ySurface = WATER_LEVEL_LOWERED; + this->actionFunc = BgSpot06Objects_DoNothing; + } else { + thisx->world.pos.y = this->lakeHyliaWaterLevel = -681.0f; + thisx->world.pos.y += WATER_LEVEL_RAISED; + this->actionFunc = BgSpot06Objects_WaterPlaneCutsceneWait; + } + } else { + this->lakeHyliaWaterLevel = 0.0f; + this->actionFunc = BgSpot06Objects_DoNothing; + } + break; + case LHO_ICE_BLOCK: + Actor_ProcessInitChain(thisx, sInitChain); + DynaPolyActor_Init(thisx, DPM_UNK); + CollisionHeader_GetVirtual(&D_06001238, &colHeader); + this->dyna.bgId = DynaPoly_SetBgActor(globalCtx, &globalCtx->colCtx.dyna, thisx, colHeader); + this->actionFunc = BgSpot06Objects_DoNothing; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/func_808AF524.s") + if (LINK_IS_CHILD) { + Actor_Kill(thisx); + } + break; + } +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/BgSpot06Objects_Draw.s") +void BgSpot06Objects_Destroy(Actor* thisx, GlobalContext* globalCtx) { + BgSpot06Objects* this = THIS; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/func_808AF7FC.s") + switch (this->dyna.actor.params) { + case LHO_WATER_TEMPLE_ENTRACE_GATE: + case LHO_ICE_BLOCK: + DynaPoly_DeleteBgActor(globalCtx, &globalCtx->colCtx.dyna, this->dyna.bgId); + break; + case LHO_WATER_TEMPLE_ENTRANCE_LOCK: + Collider_DestroyJntSph(globalCtx, &this->collider.base); + break; + case LHO_WATER_PLANE: + break; + } +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/func_808AF824.s") +/** + * Water Temple entrance gate effect functions + */ +void BgSpot06Objects_GateSpawnBubbles(BgSpot06Objects* this, GlobalContext* globalCtx) { + Vec3f sp34; + f32 tmp; + + if ((globalCtx->gameplayFrames % 3) == 0) { + tmp = Rand_CenteredFloat(160.0f); + sp34.x = (Math_SinS(this->dyna.actor.shape.rot.y + 0x4000) * tmp) + this->dyna.actor.world.pos.x; + sp34.y = this->dyna.actor.world.pos.y; + sp34.z = (Math_CosS(this->dyna.actor.shape.rot.y + 0x4000) * tmp) + this->dyna.actor.world.pos.z; + EffectSsBubble_Spawn(globalCtx, &sp34.x, 50.0f, 70.0f, 10.0f, (Rand_ZeroOne() * 0.05f) + 0.175f); + } +} + +/** + * This is where the gate waits for the switch to be set by the fish shaped lock. + */ +void BgSpot06Objects_GateWaitForSwitch(BgSpot06Objects* this, GlobalContext* globalCtx) { + s32 i; + + if (Flags_GetSwitch(globalCtx, this->switchFlag)) { + this->timer = 100; + this->dyna.actor.world.pos.y += 3.0f; + this->actionFunc = BgSpot06Objects_GateWaitToOpen; + + for (i = 0; i < 15; i++) { + BgSpot06Objects_GateSpawnBubbles(this, globalCtx); + } + } +} + +/** + * This is where the gate waits a few frames before rising after the switch is set. + */ +void BgSpot06Objects_GateWaitToOpen(BgSpot06Objects* this, GlobalContext* globalCtx) { + if (this->timer != 0) { + this->timer--; + } + + if (this->timer == 0) { + this->actionFunc = BgSpot06Objects_GateOpen; + } +} + +/** + * This is where the gate finally rises upward. + */ +void BgSpot06Objects_GateOpen(BgSpot06Objects* this, GlobalContext* globalCtx) { + BgSpot06Objects_GateSpawnBubbles(this, globalCtx); + + if (Math_StepToF(&this->dyna.actor.world.pos.y, this->dyna.actor.home.pos.y + 120.0f, 0.6f)) { + this->actionFunc = BgSpot06Objects_DoNothing; + this->timer = 0; + Audio_PlayActorSound2(&this->dyna.actor, NA_SE_EV_METALDOOR_STOP); + } else { + func_8002F974(&this->dyna.actor, NA_SE_EV_METALDOOR_SLIDE - SFX_FLAG); + } +} + +void BgSpot06Objects_DoNothing(BgSpot06Objects* this, GlobalContext* globalCtx) { +} + +/** + * Fish shaped lock effect functions + */ +void BgSpot06Objects_LockSpawnWaterRipples(BgSpot06Objects* this, GlobalContext* globalCtx, s32 flag) { + if (flag || !(globalCtx->gameplayFrames % 7)) { + EffectSsGRipple_Spawn(globalCtx, &this->dyna.actor.home, 300, 700, 0); + } +} + +void BgSpot06Objects_LockSpawnBubbles(BgSpot06Objects* this, GlobalContext* globalCtx, s32 flag) { + if (!(globalCtx->gameplayFrames % 7) || flag) { + EffectSsBubble_Spawn(globalCtx, &this->dyna.actor.world, 0.0f, 40.0f, 30.0f, (Rand_ZeroOne() * 0.05f) + 0.175f); + } +} + +/** + * This is where the fish shaped lock waits to be pulled out by the hookshot. Once it does it will spawn bubbles. + */ +void BgSpot06Objects_LockWait(BgSpot06Objects* this, GlobalContext* globalCtx) { + s32 pad; + s32 i; + s32 pad2; + Vec3f effectPos; + f32 sin; + f32 cos; + + if (this->collider.base.acFlags & 2) { + this->timer = 130; + this->dyna.actor.flags |= 0x10; + sin = Math_SinS(this->dyna.actor.world.rot.y); + cos = Math_CosS(this->dyna.actor.world.rot.y); + this->dyna.actor.world.pos.x += (3.0f * sin); + this->dyna.actor.world.pos.z += (3.0f * cos); + + for (i = 0; i < 20; i++) { + BgSpot06Objects_LockSpawnBubbles(this, globalCtx, 1); + } + + effectPos.x = this->dyna.actor.world.pos.x + (5.0f * sin); + effectPos.y = this->dyna.actor.world.pos.y; + effectPos.z = this->dyna.actor.world.pos.z + (5.0f * cos); + + for (i = 0; i < 3; i++) { + EffectSsBubble_Spawn(globalCtx, &effectPos, 0.0f, 20.0f, 20.0f, (Rand_ZeroOne() * 0.1f) + 0.7f); + } + + EffectSsGSplash_Spawn(globalCtx, &this->dyna.actor.world, NULL, NULL, 1, 700); + this->collider.elements->dim.worldSphere.radius = 45; + this->actionFunc = BgSpot06Objects_LockPullOutward; + Audio_PlaySoundGeneral(NA_SE_SY_CORRECT_CHIME, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8); + Flags_SetSwitch(globalCtx, this->switchFlag); + func_800800F8(globalCtx, 0x1018, 170, &this->dyna.actor, 0); + } else { + CollisionCheck_SetAC(globalCtx, &globalCtx->colChkCtx, &this->collider); + } +} + +/** + * Once the fish shaped lock is pulled out from the Hookshot it will move outward. + */ +void BgSpot06Objects_LockPullOutward(BgSpot06Objects* this, GlobalContext* globalCtx) { + if (this->timer != 0) { + this->timer--; + } + + this->dyna.actor.world.pos.x += (0.3f * Math_SinS(this->dyna.actor.world.rot.y)); + this->dyna.actor.world.pos.z += (0.3f * Math_CosS(this->dyna.actor.world.rot.y)); + BgSpot06Objects_LockSpawnBubbles(this, globalCtx, 0); + + if (this->timer == 0) { + this->dyna.actor.velocity.y = 0.5f; + this->dyna.actor.flags &= ~0x2000; + + this->actionFunc = BgSpot06Objects_LockSwimToSurface; + } +} + +/** + * After being pulled all the way out the fish shaped lock will rise to the surface, creating bubbles in the water as it + * does so. + */ +void BgSpot06Objects_LockSwimToSurface(BgSpot06Objects* this, GlobalContext* globalCtx) { + f32 cos; + f32 pad; + + this->dyna.actor.world.pos.y += this->dyna.actor.velocity.y; + + if (this->dyna.actor.velocity.y <= 0.0f) { + cos = Math_CosS(this->dyna.actor.shape.rot.x) * 4.3f; + this->dyna.actor.world.pos.x += (cos * Math_SinS(this->dyna.actor.shape.rot.y)); + this->dyna.actor.world.pos.z += (cos * Math_CosS(this->dyna.actor.shape.rot.y)); + this->dyna.actor.world.pos.y = this->dyna.actor.world.pos.y - 1.3f; + BgSpot06Objects_LockSpawnWaterRipples(this, globalCtx, 0); + + if (Math_ScaledStepToS(&this->dyna.actor.shape, 0, 0x260) != 0) { + this->dyna.actor.home.pos.x = + this->dyna.actor.world.pos.x - (Math_SinS(this->dyna.actor.shape.rot.y) * 16.0f); + this->dyna.actor.home.pos.z = + this->dyna.actor.world.pos.z - (Math_CosS(this->dyna.actor.shape.rot.y) * 16.0f); + this->dyna.actor.world.pos.y = -1993.0f; + this->timer = 32; + this->dyna.actor.flags &= ~0x10; + this->collider.elements[0].dim.worldSphere.radius = this->collider.elements[0].dim.modelSphere.radius * 2; + this->actionFunc = BgSpot06Objects_LockFloat; + } + } else { + if (this->dyna.actor.world.pos.y >= -1973.0f) { + this->dyna.actor.velocity.y = 0.0f; + BgSpot06Objects_LockSpawnWaterRipples(this, globalCtx, 1); + EffectSsGSplash_Spawn(globalCtx, &this->dyna.actor.home, NULL, NULL, 1, 700); + } else if (this->dyna.actor.shape.rot.x == -0x4000) { + this->dyna.actor.velocity.y += 0.02f; + this->dyna.actor.world.pos.x = Rand_CenteredFloat(1.0f) + this->dyna.actor.home.pos.x; + this->dyna.actor.world.pos.z = Rand_CenteredFloat(1.0f) + this->dyna.actor.home.pos.z; + this->dyna.actor.velocity.y = + (this->dyna.actor.velocity.y > 10.0f) ? (10.0f) : (this->dyna.actor.velocity.y); + BgSpot06Objects_LockSpawnBubbles(this, globalCtx, 0); + } else { + BgSpot06Objects_LockSpawnBubbles(this, globalCtx, 0); + + if (Math_ScaledStepToS(&this->dyna.actor.shape.rot.x, -0x4000, 0x30)) { + this->dyna.actor.home.pos.x = this->dyna.actor.world.pos.x; + this->dyna.actor.home.pos.y = -1993.0f; + this->dyna.actor.home.pos.z = this->dyna.actor.world.pos.z; + } + } + } +} + +/** + * Once the fish shaped lock finishes rising to the surface it will float and create ripples in the water every few + * frames. + */ +void BgSpot06Objects_LockFloat(BgSpot06Objects* this, GlobalContext* globalCtx) { + BgSpot06Objects_LockSpawnWaterRipples(this, globalCtx, 0); + + if (this->timer != 0) { + this->timer--; + } + + this->dyna.actor.world.pos.y = (2.0f * sinf(this->timer * (M_PI / 16.0f))) + this->dyna.actor.home.pos.y; + + if (this->timer == 0) { + this->timer = 32; + } +} + +void BgSpot06Objects_Update(Actor* thisx, GlobalContext* globalCtx) { + BgSpot06Objects* this = THIS; + + this->actionFunc(this, globalCtx); + + if (thisx->params == LHO_WATER_TEMPLE_ENTRANCE_LOCK) { + CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->collider.base); + } +} + +/** + * Draw the Lake Hylia water plane, and scroll its texture + */ +void BgSpot06Objects_DrawLakeHyliaWater(BgSpot06Objects* this, GlobalContext* globalCtx) { + s32 pad; + s32 gameplayFrames; + + OPEN_DISPS(globalCtx->state.gfxCtx, "../z_bg_spot06_objects.c", 844); + + func_80093D84(globalCtx->state.gfxCtx); + + gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_spot06_objects.c", 850), + G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + + gameplayFrames = globalCtx->state.frames; + + gSPSegment(POLY_XLU_DISP++, 0x08, + Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, -gameplayFrames, gameplayFrames, 32, 32, 1, gameplayFrames, + gameplayFrames, 32, 32)); + gSPSegment(POLY_XLU_DISP++, 0x09, + Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, -gameplayFrames, gameplayFrames * 6, 32, 32, 1, + gameplayFrames, gameplayFrames * 6, 32, 32)); + + gDPSetEnvColor(POLY_XLU_DISP++, 255, 255, 255, 128); + + if ((this->lakeHyliaWaterLevel < -680.0f) && (gSaveContext.sceneSetupIndex < 4)) { + gSPDisplayList(POLY_XLU_DISP++, D_06000120); + } else { + gSPDisplayList(POLY_XLU_DISP++, D_06000470); + } + + CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_bg_spot06_objects.c", 879); +} + +void BgSpot06Objects_Draw(Actor* thisx, GlobalContext* globalCtx) { + BgSpot06Objects* this = THIS; + + switch (this->dyna.actor.params) { + case LHO_WATER_TEMPLE_ENTRACE_GATE: + Gfx_DrawDListOpa(globalCtx, D_06000E10); + break; + case LHO_WATER_TEMPLE_ENTRANCE_LOCK: + Gfx_DrawDListOpa(globalCtx, D_06002490); + + if (this->actionFunc == BgSpot06Objects_LockSwimToSurface) { + Collider_UpdateSpheres(1, &this->collider); + } + break; + case LHO_WATER_PLANE: + BgSpot06Objects_DrawLakeHyliaWater(this, globalCtx); + break; + case LHO_ICE_BLOCK: + Gfx_DrawDListOpa(globalCtx, D_06001160); + break; + } +} + +/** + * This is where the Lake Hylia water plane waits for the cutscene to set the water risen flag after the Water Temple is + * cleared. + */ +void BgSpot06Objects_WaterPlaneCutsceneWait(BgSpot06Objects* this, GlobalContext* globalCtx) { + if (gSaveContext.eventChkInf[6] & 0x200) { + this->actionFunc = BgSpot06Objects_WaterPlaneCutsceneRise; + } +} + +/** + * This is where the Lake Hylia water plane rises in the cutscene after the Water Temple is cleared. + */ +void BgSpot06Objects_WaterPlaneCutsceneRise(BgSpot06Objects* this, GlobalContext* globalCtx) { + s32 pad; + + this->dyna.actor.world.pos.y = this->lakeHyliaWaterLevel + WATER_LEVEL_RAISED; + + if (this->lakeHyliaWaterLevel >= 0.0001f) { + this->dyna.actor.world.pos.y = WATER_LEVEL_RAISED; + this->actionFunc = BgSpot06Objects_DoNothing; + } else { + Math_SmoothStepToF(&this->lakeHyliaWaterLevel, 1.0f, 0.1f, 1.0f, 0.001f); + globalCtx->colCtx.colHeader->waterBoxes[LHWB_GERUDO_VALLEY_RIVER_LOWER].ySurface = WATER_LEVEL_RIVER_LOWERED; + globalCtx->colCtx.colHeader->waterBoxes[LHWB_MAIN_1].ySurface = this->dyna.actor.world.pos.y; + globalCtx->colCtx.colHeader->waterBoxes[LHWB_MAIN_2].ySurface = this->dyna.actor.world.pos.y; + } + + func_8002F948(&this->dyna.actor, NA_SE_EV_WATER_LEVEL_DOWN - SFX_FLAG); +} diff --git a/src/overlays/actors/ovl_Bg_Spot06_Objects/z_bg_spot06_objects.h b/src/overlays/actors/ovl_Bg_Spot06_Objects/z_bg_spot06_objects.h index 03fb0b2f1c..6be355d1ed 100644 --- a/src/overlays/actors/ovl_Bg_Spot06_Objects/z_bg_spot06_objects.h +++ b/src/overlays/actors/ovl_Bg_Spot06_Objects/z_bg_spot06_objects.h @@ -6,9 +6,16 @@ struct BgSpot06Objects; +typedef void (*BgSpot06ObjectsActionFunc)(struct BgSpot06Objects*, GlobalContext*); + typedef struct BgSpot06Objects { - /* 0x0000 */ Actor actor; - /* 0x014C */ char unk_14C[0x84]; + /* 0x0000 */ DynaPolyActor dyna; + /* 0x0164 */ BgSpot06ObjectsActionFunc actionFunc; + /* 0x0168 */ s16 switchFlag; + /* 0x016A */ s16 timer; + /* 0x016C */ f32 lakeHyliaWaterLevel; + /* 0x0170 */ ColliderJntSph collider; + /* 0x0190 */ ColliderJntSphElement colliderItem[1]; } BgSpot06Objects; // size = 0x01D0 extern const ActorInit Bg_Spot06_Objects_InitVars; diff --git a/src/overlays/actors/ovl_En_M_Thunder/z_en_m_thunder.c b/src/overlays/actors/ovl_En_M_Thunder/z_en_m_thunder.c index 04dab1aaf7..f1d446aca4 100644 --- a/src/overlays/actors/ovl_En_M_Thunder/z_en_m_thunder.c +++ b/src/overlays/actors/ovl_En_M_Thunder/z_en_m_thunder.c @@ -48,12 +48,8 @@ static ColliderCylinderInit D_80AA0420 = { static u32 D_80AA044C[] = { 0x01000000, 0x00400000, 0x00800000 }; static u32 D_80AA0458[] = { 0x08000000, 0x02000000, 0x04000000 }; -static u16 sSfxIds[] = { - NA_SE_IT_ROLLING_CUT_LV2, - NA_SE_IT_ROLLING_CUT_LV1, - NA_SE_IT_ROLLING_CUT_LV2, - NA_SE_IT_ROLLING_CUT_LV1 -}; +static u16 sSfxIds[] = { NA_SE_IT_ROLLING_CUT_LV2, NA_SE_IT_ROLLING_CUT_LV1, NA_SE_IT_ROLLING_CUT_LV2, + NA_SE_IT_ROLLING_CUT_LV1 }; extern Gfx D_04012570[]; extern Gfx D_04012690[];