summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoremilybrooks <emilybrooksemilybrooks@gmail.com>2020-10-26 17:23:34 -0700
committerGitHub <noreply@github.com>2020-10-26 20:23:34 -0400
commitce3542f60c3bc402a1e2e4ffdd9e524263bbee6d (patch)
tree93e02806d031d6ad973258570e18e3c987b52ca6
parenteea81d97d882012f0a3ed9c130cc5420ed91231f (diff)
ovl_bg_spot11_oasis OK (#454)
* Decompiled ovl_bg_spot11_oasis * Forgot to rename the init chain * Renamed draw function, corrected include statments, corrected the waterbox pointer assignment, removed early return, removed unnecessary cast * Forgot to add a newline
-rw-r--r--asm/non_matchings/overlays/actors/ovl_Bg_Spot11_Oasis/BgSpot11Oasis_Init.s22
-rw-r--r--asm/non_matchings/overlays/actors/ovl_Bg_Spot11_Oasis/BgSpot11Oasis_Update.s148
-rw-r--r--asm/non_matchings/overlays/actors/ovl_Bg_Spot11_Oasis/func_808B27F0.s8
-rw-r--r--asm/non_matchings/overlays/actors/ovl_Bg_Spot11_Oasis/func_808B280C.s73
-rw-r--r--asm/non_matchings/overlays/actors/ovl_Bg_Spot11_Oasis/func_808B2970.s5
-rw-r--r--asm/non_matchings/overlays/actors/ovl_Bg_Spot11_Oasis/func_808B2980.s27
-rw-r--r--asm/non_matchings/overlays/actors/ovl_Bg_Spot11_Oasis/func_808B29E0.s5
-rw-r--r--asm/non_matchings/overlays/actors/ovl_Bg_Spot11_Oasis/func_808B29F0.s50
-rw-r--r--asm/non_matchings/overlays/actors/ovl_Bg_Spot11_Oasis/func_808B2AA8.s5
-rw-r--r--asm/non_matchings/overlays/actors/ovl_Bg_Spot11_Oasis/func_808B2AB8.s4
-rw-r--r--asm/non_matchings/overlays/actors/ovl_Bg_Spot11_Oasis/func_808B2CA8.s97
-rw-r--r--data/overlays/actors/z_bg_spot11_oasis.data.s28
-rw-r--r--data/overlays/actors/z_bg_spot11_oasis.reloc.s13
-rw-r--r--spec3
-rw-r--r--src/overlays/actors/ovl_Bg_Spot11_Oasis/z_bg_spot11_oasis.c142
-rw-r--r--src/overlays/actors/ovl_Bg_Spot11_Oasis/z_bg_spot11_oasis.h6
-rw-r--r--undefined_syms.txt3
17 files changed, 138 insertions, 501 deletions
diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Spot11_Oasis/BgSpot11Oasis_Init.s b/asm/non_matchings/overlays/actors/ovl_Bg_Spot11_Oasis/BgSpot11Oasis_Init.s
deleted file mode 100644
index 258726d75..000000000
--- a/asm/non_matchings/overlays/actors/ovl_Bg_Spot11_Oasis/BgSpot11Oasis_Init.s
+++ /dev/null
@@ -1,22 +0,0 @@
-glabel BgSpot11Oasis_Init
-/* 00130 808B2920 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
-/* 00134 808B2924 AFA5001C */ sw $a1, 0x001C($sp)
-/* 00138 808B2928 AFBF0014 */ sw $ra, 0x0014($sp)
-/* 0013C 808B292C 3C05808B */ lui $a1, %hi(D_808B2E24) ## $a1 = 808B0000
-/* 00140 808B2930 AFA40018 */ sw $a0, 0x0018($sp)
-/* 00144 808B2934 0C01E037 */ jal Actor_ProcessInitChain
-
-/* 00148 808B2938 24A52E24 */ addiu $a1, $a1, %lo(D_808B2E24) ## $a1 = 808B2E24
-/* 0014C 808B293C 0C22CA5C */ jal func_808B2970
-/* 00150 808B2940 8FA40018 */ lw $a0, 0x0018($sp)
-/* 00154 808B2944 3C01C2C8 */ lui $at, 0xC2C8 ## $at = C2C80000
-/* 00158 808B2948 44812000 */ mtc1 $at, $f4 ## $f4 = -100.00
-/* 0015C 808B294C 8FAE0018 */ lw $t6, 0x0018($sp)
-/* 00160 808B2950 2405FF9C */ addiu $a1, $zero, 0xFF9C ## $a1 = FFFFFF9C
-/* 00164 808B2954 E5C40028 */ swc1 $f4, 0x0028($t6) ## 00000028
-/* 00168 808B2958 0C22C9FC */ jal func_808B27F0
-/* 0016C 808B295C 8FA4001C */ lw $a0, 0x001C($sp)
-/* 00170 808B2960 8FBF0014 */ lw $ra, 0x0014($sp)
-/* 00174 808B2964 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
-/* 00178 808B2968 03E00008 */ jr $ra
-/* 0017C 808B296C 00000000 */ nop
diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Spot11_Oasis/BgSpot11Oasis_Update.s b/asm/non_matchings/overlays/actors/ovl_Bg_Spot11_Oasis/BgSpot11Oasis_Update.s
deleted file mode 100644
index 06af19f0c..000000000
--- a/asm/non_matchings/overlays/actors/ovl_Bg_Spot11_Oasis/BgSpot11Oasis_Update.s
+++ /dev/null
@@ -1,148 +0,0 @@
-.late_rodata
-glabel D_808B2EB8
- .float 0.12
-
-glabel D_808B2EBC
- .float 0.02
-
-glabel D_808B2EC0
- .float 0.3
-
-glabel D_808B2EC4
- .word 0x409CCCCD, 0x00000000, 0x00000000
-
-.text
-glabel BgSpot11Oasis_Update
-/* 002D4 808B2AC4 27BDFFB8 */ addiu $sp, $sp, 0xFFB8 ## $sp = FFFFFFB8
-/* 002D8 808B2AC8 AFB00020 */ sw $s0, 0x0020($sp)
-/* 002DC 808B2ACC 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
-/* 002E0 808B2AD0 AFBF0024 */ sw $ra, 0x0024($sp)
-/* 002E4 808B2AD4 AFA5004C */ sw $a1, 0x004C($sp)
-/* 002E8 808B2AD8 8E19014C */ lw $t9, 0x014C($s0) ## 0000014C
-/* 002EC 808B2ADC 0320F809 */ jalr $ra, $t9
-/* 002F0 808B2AE0 00000000 */ nop
-/* 002F4 808B2AE4 8E0F014C */ lw $t7, 0x014C($s0) ## 0000014C
-/* 002F8 808B2AE8 3C0E808B */ lui $t6, %hi(func_808B2980) ## $t6 = 808B0000
-/* 002FC 808B2AEC 25CE2980 */ addiu $t6, $t6, %lo(func_808B2980) ## $t6 = 808B2980
-/* 00300 808B2AF0 55CF0004 */ bnel $t6, $t7, .L808B2B04
-/* 00304 808B2AF4 92080150 */ lbu $t0, 0x0150($s0) ## 00000150
-/* 00308 808B2AF8 10000066 */ beq $zero, $zero, .L808B2C94
-/* 0030C 808B2AFC AE000134 */ sw $zero, 0x0134($s0) ## 00000134
-/* 00310 808B2B00 92080150 */ lbu $t0, 0x0150($s0) ## 00000150
-.L808B2B04:
-/* 00314 808B2B04 3C18808B */ lui $t8, %hi(func_808B2CA8) ## $t8 = 808B0000
-/* 00318 808B2B08 27182CA8 */ addiu $t8, $t8, %lo(func_808B2CA8) ## $t8 = 808B2CA8
-/* 0031C 808B2B0C 1100005F */ beq $t0, $zero, .L808B2C8C
-/* 00320 808B2B10 AE180134 */ sw $t8, 0x0134($s0) ## 00000134
-/* 00324 808B2B14 3C0143C8 */ lui $at, 0x43C8 ## $at = 43C80000
-/* 00328 808B2B18 44812000 */ mtc1 $at, $f4 ## $f4 = 400.00
-/* 0032C 808B2B1C C60000EC */ lwc1 $f0, 0x00EC($s0) ## 000000EC
-/* 00330 808B2B20 3C01C220 */ lui $at, 0xC220 ## $at = C2200000
-/* 00334 808B2B24 4604003C */ c.lt.s $f0, $f4
-/* 00338 808B2B28 00000000 */ nop
-/* 0033C 808B2B2C 45020058 */ bc1fl .L808B2C90
-/* 00340 808B2B30 240F0001 */ addiu $t7, $zero, 0x0001 ## $t7 = 00000001
-/* 00344 808B2B34 44813000 */ mtc1 $at, $f6 ## $f6 = -40.00
-/* 00348 808B2B38 8FA9004C */ lw $t1, 0x004C($sp)
-/* 0034C 808B2B3C 3C020001 */ lui $v0, 0x0001 ## $v0 = 00010000
-/* 00350 808B2B40 4600303C */ c.lt.s $f6, $f0
-/* 00354 808B2B44 00491021 */ addu $v0, $v0, $t1
-/* 00358 808B2B48 45020051 */ bc1fl .L808B2C90
-/* 0035C 808B2B4C 240F0001 */ addiu $t7, $zero, 0x0001 ## $t7 = 00000001
-/* 00360 808B2B50 8C421DE4 */ lw $v0, 0x1DE4($v0) ## 00011DE4
-/* 00364 808B2B54 26040024 */ addiu $a0, $s0, 0x0024 ## $a0 = 00000024
-/* 00368 808B2B58 3C0D808B */ lui $t5, %hi(D_808B2E34) ## $t5 = 808B0000
-/* 0036C 808B2B5C 304A0004 */ andi $t2, $v0, 0x0004 ## $t2 = 00000000
-/* 00370 808B2B60 5140004D */ beql $t2, $zero, .L808B2C98
-/* 00374 808B2B64 8FBF0024 */ lw $ra, 0x0024($sp)
-/* 00378 808B2B68 920B0151 */ lbu $t3, 0x0151($s0) ## 00000151
-/* 0037C 808B2B6C 25AD2E34 */ addiu $t5, $t5, %lo(D_808B2E34) ## $t5 = 808B2E34
-/* 00380 808B2B70 27A60030 */ addiu $a2, $sp, 0x0030 ## $a2 = FFFFFFE8
-/* 00384 808B2B74 000B6080 */ sll $t4, $t3, 2
-/* 00388 808B2B78 018B6023 */ subu $t4, $t4, $t3
-/* 0038C 808B2B7C 000C6080 */ sll $t4, $t4, 2
-/* 00390 808B2B80 0C01DFA7 */ jal Math_Vec3f_Sum
- ## Vec3f_Add
-/* 00394 808B2B84 018D2821 */ addu $a1, $t4, $t5
-/* 00398 808B2B88 0C03F66B */ jal Math_Rand_ZeroOne
- ## Rand.Next() float
-/* 0039C 808B2B8C 00000000 */ nop
-/* 003A0 808B2B90 3C014248 */ lui $at, 0x4248 ## $at = 42480000
-/* 003A4 808B2B94 44814000 */ mtc1 $at, $f8 ## $f8 = 50.00
-/* 003A8 808B2B98 3C01808B */ lui $at, %hi(D_808B2EB8) ## $at = 808B0000
-/* 003AC 808B2B9C C42A2EB8 */ lwc1 $f10, %lo(D_808B2EB8)($at)
-/* 003B0 808B2BA0 3C01808B */ lui $at, %hi(D_808B2EBC) ## $at = 808B0000
-/* 003B4 808B2BA4 C4322EBC */ lwc1 $f18, %lo(D_808B2EBC)($at)
-/* 003B8 808B2BA8 460A0402 */ mul.s $f16, $f0, $f10
-/* 003BC 808B2BAC 8FA4004C */ lw $a0, 0x004C($sp)
-/* 003C0 808B2BB0 27A50030 */ addiu $a1, $sp, 0x0030 ## $a1 = FFFFFFE8
-/* 003C4 808B2BB4 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
-/* 003C8 808B2BB8 3C074170 */ lui $a3, 0x4170 ## $a3 = 41700000
-/* 003CC 808B2BBC E7A80010 */ swc1 $f8, 0x0010($sp)
-/* 003D0 808B2BC0 46128100 */ add.s $f4, $f16, $f18
-/* 003D4 808B2BC4 0C00A4F9 */ jal EffectSsBubble_Spawn
-/* 003D8 808B2BC8 E7A40014 */ swc1 $f4, 0x0014($sp)
-/* 003DC 808B2BCC 0C03F66B */ jal Math_Rand_ZeroOne
- ## Rand.Next() float
-/* 003E0 808B2BD0 00000000 */ nop
-/* 003E4 808B2BD4 3C01808B */ lui $at, %hi(D_808B2EC0) ## $at = 808B0000
-/* 003E8 808B2BD8 C4262EC0 */ lwc1 $f6, %lo(D_808B2EC0)($at)
-/* 003EC 808B2BDC 4606003C */ c.lt.s $f0, $f6
-/* 003F0 808B2BE0 00000000 */ nop
-/* 003F4 808B2BE4 4502002C */ bc1fl .L808B2C98
-/* 003F8 808B2BE8 8FBF0024 */ lw $ra, 0x0024($sp)
-/* 003FC 808B2BEC 0C03F66B */ jal Math_Rand_ZeroOne
- ## Rand.Next() float
-/* 00400 808B2BF0 00000000 */ nop
-/* 00404 808B2BF4 3C01808B */ lui $at, %hi(D_808B2EC4) ## $at = 808B0000
-/* 00408 808B2BF8 C4282EC4 */ lwc1 $f8, %lo(D_808B2EC4)($at)
-/* 0040C 808B2BFC 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001
-/* 00410 808B2C00 3C014F00 */ lui $at, 0x4F00 ## $at = 4F000000
-/* 00414 808B2C04 46080282 */ mul.s $f10, $f0, $f8
-/* 00418 808B2C08 4459F800 */ cfc1 $t9, $31
-/* 0041C 808B2C0C 44CEF800 */ ctc1 $t6, $31
-/* 00420 808B2C10 00000000 */ nop
-/* 00424 808B2C14 46005424 */ cvt.w.s $f16, $f10
-/* 00428 808B2C18 444EF800 */ cfc1 $t6, $31
-/* 0042C 808B2C1C 00000000 */ nop
-/* 00430 808B2C20 31CE0078 */ andi $t6, $t6, 0x0078 ## $t6 = 00000000
-/* 00434 808B2C24 51C00013 */ beql $t6, $zero, .L808B2C74
-/* 00438 808B2C28 440E8000 */ mfc1 $t6, $f16
-/* 0043C 808B2C2C 44818000 */ mtc1 $at, $f16 ## $f16 = 2147483648.00
-/* 00440 808B2C30 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001
-/* 00444 808B2C34 46105401 */ sub.s $f16, $f10, $f16
-/* 00448 808B2C38 44CEF800 */ ctc1 $t6, $31
-/* 0044C 808B2C3C 00000000 */ nop
-/* 00450 808B2C40 46008424 */ cvt.w.s $f16, $f16
-/* 00454 808B2C44 444EF800 */ cfc1 $t6, $31
-/* 00458 808B2C48 00000000 */ nop
-/* 0045C 808B2C4C 31CE0078 */ andi $t6, $t6, 0x0078 ## $t6 = 00000000
-/* 00460 808B2C50 15C00005 */ bne $t6, $zero, .L808B2C68
-/* 00464 808B2C54 00000000 */ nop
-/* 00468 808B2C58 440E8000 */ mfc1 $t6, $f16
-/* 0046C 808B2C5C 3C018000 */ lui $at, 0x8000 ## $at = 80000000
-/* 00470 808B2C60 10000007 */ beq $zero, $zero, .L808B2C80
-/* 00474 808B2C64 01C17025 */ or $t6, $t6, $at ## $t6 = 80000000
-.L808B2C68:
-/* 00478 808B2C68 10000005 */ beq $zero, $zero, .L808B2C80
-/* 0047C 808B2C6C 240EFFFF */ addiu $t6, $zero, 0xFFFF ## $t6 = FFFFFFFF
-/* 00480 808B2C70 440E8000 */ mfc1 $t6, $f16
-.L808B2C74:
-/* 00484 808B2C74 00000000 */ nop
-/* 00488 808B2C78 05C0FFFB */ bltz $t6, .L808B2C68
-/* 0048C 808B2C7C 00000000 */ nop
-.L808B2C80:
-/* 00490 808B2C80 44D9F800 */ ctc1 $t9, $31
-/* 00494 808B2C84 10000003 */ beq $zero, $zero, .L808B2C94
-/* 00498 808B2C88 A20E0151 */ sb $t6, 0x0151($s0) ## 00000151
-.L808B2C8C:
-/* 0049C 808B2C8C 240F0001 */ addiu $t7, $zero, 0x0001 ## $t7 = 00000001
-.L808B2C90:
-/* 004A0 808B2C90 A20F0150 */ sb $t7, 0x0150($s0) ## 00000150
-.L808B2C94:
-/* 004A4 808B2C94 8FBF0024 */ lw $ra, 0x0024($sp)
-.L808B2C98:
-/* 004A8 808B2C98 8FB00020 */ lw $s0, 0x0020($sp)
-/* 004AC 808B2C9C 27BD0048 */ addiu $sp, $sp, 0x0048 ## $sp = 00000000
-/* 004B0 808B2CA0 03E00008 */ jr $ra
-/* 004B4 808B2CA4 00000000 */ nop
diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Spot11_Oasis/func_808B27F0.s b/asm/non_matchings/overlays/actors/ovl_Bg_Spot11_Oasis/func_808B27F0.s
deleted file mode 100644
index 02327b1c0..000000000
--- a/asm/non_matchings/overlays/actors/ovl_Bg_Spot11_Oasis/func_808B27F0.s
+++ /dev/null
@@ -1,8 +0,0 @@
-glabel func_808B27F0
-/* 00000 808B27F0 AFA50004 */ sw $a1, 0x0004($sp)
-/* 00004 808B27F4 8C8E07C0 */ lw $t6, 0x07C0($a0) ## 000007C0
-/* 00008 808B27F8 00052C00 */ sll $a1, $a1, 16
-/* 0000C 808B27FC 00052C03 */ sra $a1, $a1, 16
-/* 00010 808B2800 8DC20028 */ lw $v0, 0x0028($t6) ## 00000028
-/* 00014 808B2804 03E00008 */ jr $ra
-/* 00018 808B2808 A4450002 */ sh $a1, 0x0002($v0) ## 00000002
diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Spot11_Oasis/func_808B280C.s b/asm/non_matchings/overlays/actors/ovl_Bg_Spot11_Oasis/func_808B280C.s
deleted file mode 100644
index 1c8517e28..000000000
--- a/asm/non_matchings/overlays/actors/ovl_Bg_Spot11_Oasis/func_808B280C.s
+++ /dev/null
@@ -1,73 +0,0 @@
-glabel func_808B280C
-/* 0001C 808B280C 27BDFF98 */ addiu $sp, $sp, 0xFF98 ## $sp = FFFFFF98
-/* 00020 808B2810 3C03808B */ lui $v1, %hi(D_808B2E10) ## $v1 = 808B0000
-/* 00024 808B2814 24632E10 */ addiu $v1, $v1, %lo(D_808B2E10) ## $v1 = 808B2E10
-/* 00028 808B2818 846E0000 */ lh $t6, 0x0000($v1) ## 808B2E10
-/* 0002C 808B281C 846F0002 */ lh $t7, 0x0002($v1) ## 808B2E12
-/* 00030 808B2820 AFBF0034 */ sw $ra, 0x0034($sp)
-/* 00034 808B2824 448E2000 */ mtc1 $t6, $f4 ## $f4 = 0.00
-/* 00038 808B2828 448F4000 */ mtc1 $t7, $f8 ## $f8 = 0.00
-/* 0003C 808B282C AFB50030 */ sw $s5, 0x0030($sp)
-/* 00040 808B2830 468021A0 */ cvt.s.w $f6, $f4
-/* 00044 808B2834 AFB4002C */ sw $s4, 0x002C($sp)
-/* 00048 808B2838 AFB30028 */ sw $s3, 0x0028($sp)
-/* 0004C 808B283C AFB20024 */ sw $s2, 0x0024($sp)
-/* 00050 808B2840 AFB10020 */ sw $s1, 0x0020($sp)
-/* 00054 808B2844 468042A0 */ cvt.s.w $f10, $f8
-/* 00058 808B2848 AFB0001C */ sw $s0, 0x001C($sp)
-/* 0005C 808B284C 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
-/* 00060 808B2850 8C911C44 */ lw $s1, 0x1C44($a0) ## 00001C44
-/* 00064 808B2854 3C10808B */ lui $s0, %hi(D_808B2E14) ## $s0 = 808B0000
-/* 00068 808B2858 3C15808B */ lui $s5, %hi(D_808B2E20) ## $s5 = 808B0000
-/* 0006C 808B285C E7A60058 */ swc1 $f6, 0x0058($sp)
-/* 00070 808B2860 E7AA0060 */ swc1 $f10, 0x0060($sp)
-/* 00074 808B2864 26B52E20 */ addiu $s5, $s5, %lo(D_808B2E20) ## $s5 = 808B2E20
-/* 00078 808B2868 26102E14 */ addiu $s0, $s0, %lo(D_808B2E14) ## $s0 = 808B2E14
-/* 0007C 808B286C 27B20058 */ addiu $s2, $sp, 0x0058 ## $s2 = FFFFFFF0
-/* 00080 808B2870 27B3004C */ addiu $s3, $sp, 0x004C ## $s3 = FFFFFFE4
-/* 00084 808B2874 27B40040 */ addiu $s4, $sp, 0x0040 ## $s4 = FFFFFFD8
-/* 00088 808B2878 E7A0005C */ swc1 $f0, 0x005C($sp)
-/* 0008C 808B287C E7A00050 */ swc1 $f0, 0x0050($sp)
-/* 00090 808B2880 E7A00044 */ swc1 $f0, 0x0044($sp)
-/* 00094 808B2884 86180000 */ lh $t8, 0x0000($s0) ## 808B2E14
-.L808B2888:
-/* 00098 808B2888 86190002 */ lh $t9, 0x0002($s0) ## 808B2E16
-/* 0009C 808B288C 86080004 */ lh $t0, 0x0004($s0) ## 808B2E18
-/* 000A0 808B2890 44988000 */ mtc1 $t8, $f16 ## $f16 = 0.00
-/* 000A4 808B2894 86090006 */ lh $t1, 0x0006($s0) ## 808B2E1A
-/* 000A8 808B2898 44992000 */ mtc1 $t9, $f4 ## $f4 = 0.00
-/* 000AC 808B289C 468084A0 */ cvt.s.w $f18, $f16
-/* 000B0 808B28A0 44884000 */ mtc1 $t0, $f8 ## $f8 = 0.00
-/* 000B4 808B28A4 44898000 */ mtc1 $t1, $f16 ## $f16 = 0.00
-/* 000B8 808B28A8 02402025 */ or $a0, $s2, $zero ## $a0 = FFFFFFF0
-/* 000BC 808B28AC 02602825 */ or $a1, $s3, $zero ## $a1 = FFFFFFE4
-/* 000C0 808B28B0 468021A0 */ cvt.s.w $f6, $f4
-/* 000C4 808B28B4 E7B2004C */ swc1 $f18, 0x004C($sp)
-/* 000C8 808B28B8 02803025 */ or $a2, $s4, $zero ## $a2 = FFFFFFD8
-/* 000CC 808B28BC 468042A0 */ cvt.s.w $f10, $f8
-/* 000D0 808B28C0 E7A60054 */ swc1 $f6, 0x0054($sp)
-/* 000D4 808B28C4 468084A0 */ cvt.s.w $f18, $f16
-/* 000D8 808B28C8 E7AA0040 */ swc1 $f10, 0x0040($sp)
-/* 000DC 808B28CC E7B20048 */ swc1 $f18, 0x0048($sp)
-/* 000E0 808B28D0 C6240024 */ lwc1 $f4, 0x0024($s1) ## 00000024
-/* 000E4 808B28D4 8E27002C */ lw $a3, 0x002C($s1) ## 0000002C
-/* 000E8 808B28D8 0C0333D2 */ jal Math3D_TriChkPointParaYSlopedY
-/* 000EC 808B28DC E7A40010 */ swc1 $f4, 0x0010($sp)
-/* 000F0 808B28E0 10400003 */ beq $v0, $zero, .L808B28F0
-/* 000F4 808B28E4 26100004 */ addiu $s0, $s0, 0x0004 ## $s0 = 808B2E18
-/* 000F8 808B28E8 10000004 */ beq $zero, $zero, .L808B28FC
-/* 000FC 808B28EC 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
-.L808B28F0:
-/* 00100 808B28F0 5615FFE5 */ bnel $s0, $s5, .L808B2888
-/* 00104 808B28F4 86180000 */ lh $t8, 0x0000($s0) ## 808B2E18
-/* 00108 808B28F8 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
-.L808B28FC:
-/* 0010C 808B28FC 8FBF0034 */ lw $ra, 0x0034($sp)
-/* 00110 808B2900 8FB0001C */ lw $s0, 0x001C($sp)
-/* 00114 808B2904 8FB10020 */ lw $s1, 0x0020($sp)
-/* 00118 808B2908 8FB20024 */ lw $s2, 0x0024($sp)
-/* 0011C 808B290C 8FB30028 */ lw $s3, 0x0028($sp)
-/* 00120 808B2910 8FB4002C */ lw $s4, 0x002C($sp)
-/* 00124 808B2914 8FB50030 */ lw $s5, 0x0030($sp)
-/* 00128 808B2918 03E00008 */ jr $ra
-/* 0012C 808B291C 27BD0068 */ addiu $sp, $sp, 0x0068 ## $sp = 00000000
diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Spot11_Oasis/func_808B2970.s b/asm/non_matchings/overlays/actors/ovl_Bg_Spot11_Oasis/func_808B2970.s
deleted file mode 100644
index 90cbb1866..000000000
--- a/asm/non_matchings/overlays/actors/ovl_Bg_Spot11_Oasis/func_808B2970.s
+++ /dev/null
@@ -1,5 +0,0 @@
-glabel func_808B2970
-/* 00180 808B2970 3C0E808B */ lui $t6, %hi(func_808B2980) ## $t6 = 808B0000
-/* 00184 808B2974 25CE2980 */ addiu $t6, $t6, %lo(func_808B2980) ## $t6 = 808B2980
-/* 00188 808B2978 03E00008 */ jr $ra
-/* 0018C 808B297C AC8E014C */ sw $t6, 0x014C($a0) ## 0000014C
diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Spot11_Oasis/func_808B2980.s b/asm/non_matchings/overlays/actors/ovl_Bg_Spot11_Oasis/func_808B2980.s
deleted file mode 100644
index 4c58cdac2..000000000
--- a/asm/non_matchings/overlays/actors/ovl_Bg_Spot11_Oasis/func_808B2980.s
+++ /dev/null
@@ -1,27 +0,0 @@
-glabel func_808B2980
-/* 00190 808B2980 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
-/* 00194 808B2984 AFA40020 */ sw $a0, 0x0020($sp)
-/* 00198 808B2988 AFBF001C */ sw $ra, 0x001C($sp)
-/* 0019C 808B298C AFA50024 */ sw $a1, 0x0024($sp)
-/* 001A0 808B2990 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
-/* 001A4 808B2994 0C01B129 */ jal Flags_GetEnv
-/* 001A8 808B2998 24050005 */ addiu $a1, $zero, 0x0005 ## $a1 = 00000005
-/* 001AC 808B299C 5040000D */ beql $v0, $zero, .L808B29D4
-/* 001B0 808B29A0 8FBF001C */ lw $ra, 0x001C($sp)
-/* 001B4 808B29A4 0C22CA03 */ jal func_808B280C
-/* 001B8 808B29A8 8FA40024 */ lw $a0, 0x0024($sp)
-/* 001BC 808B29AC 10400008 */ beq $v0, $zero, .L808B29D0
-/* 001C0 808B29B0 8FA40024 */ lw $a0, 0x0024($sp)
-/* 001C4 808B29B4 24051036 */ addiu $a1, $zero, 0x1036 ## $a1 = 00001036
-/* 001C8 808B29B8 2406FF9D */ addiu $a2, $zero, 0xFF9D ## $a2 = FFFFFF9D
-/* 001CC 808B29BC 8FA70020 */ lw $a3, 0x0020($sp)
-/* 001D0 808B29C0 0C02003E */ jal func_800800F8
-/* 001D4 808B29C4 AFA00010 */ sw $zero, 0x0010($sp)
-/* 001D8 808B29C8 0C22CA78 */ jal func_808B29E0
-/* 001DC 808B29CC 8FA40020 */ lw $a0, 0x0020($sp)
-.L808B29D0:
-/* 001E0 808B29D0 8FBF001C */ lw $ra, 0x001C($sp)
-.L808B29D4:
-/* 001E4 808B29D4 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
-/* 001E8 808B29D8 03E00008 */ jr $ra
-/* 001EC 808B29DC 00000000 */ nop
diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Spot11_Oasis/func_808B29E0.s b/asm/non_matchings/overlays/actors/ovl_Bg_Spot11_Oasis/func_808B29E0.s
deleted file mode 100644
index ac4040360..000000000
--- a/asm/non_matchings/overlays/actors/ovl_Bg_Spot11_Oasis/func_808B29E0.s
+++ /dev/null
@@ -1,5 +0,0 @@
-glabel func_808B29E0
-/* 001F0 808B29E0 3C0E808B */ lui $t6, %hi(func_808B29F0) ## $t6 = 808B0000
-/* 001F4 808B29E4 25CE29F0 */ addiu $t6, $t6, %lo(func_808B29F0) ## $t6 = 808B29F0
-/* 001F8 808B29E8 03E00008 */ jr $ra
-/* 001FC 808B29EC AC8E014C */ sw $t6, 0x014C($a0) ## 0000014C
diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Spot11_Oasis/func_808B29F0.s b/asm/non_matchings/overlays/actors/ovl_Bg_Spot11_Oasis/func_808B29F0.s
deleted file mode 100644
index 671cd2ce9..000000000
--- a/asm/non_matchings/overlays/actors/ovl_Bg_Spot11_Oasis/func_808B29F0.s
+++ /dev/null
@@ -1,50 +0,0 @@
-glabel func_808B29F0
-/* 00200 808B29F0 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8
-/* 00204 808B29F4 AFB00030 */ sw $s0, 0x0030($sp)
-/* 00208 808B29F8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
-/* 0020C 808B29FC AFBF0034 */ sw $ra, 0x0034($sp)
-/* 00210 808B2A00 AFA5003C */ sw $a1, 0x003C($sp)
-/* 00214 808B2A04 3C063F33 */ lui $a2, 0x3F33 ## $a2 = 3F330000
-/* 00218 808B2A08 34C63333 */ ori $a2, $a2, 0x3333 ## $a2 = 3F333333
-/* 0021C 808B2A0C 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
-/* 00220 808B2A10 0C01DE80 */ jal Math_ApproxF
-
-/* 00224 808B2A14 24840028 */ addiu $a0, $a0, 0x0028 ## $a0 = 00000028
-/* 00228 808B2A18 50400017 */ beql $v0, $zero, .L808B2A78
-/* 0022C 808B2A1C C6100028 */ lwc1 $f16, 0x0028($s0) ## 00000028
-/* 00230 808B2A20 0C22CAAA */ jal func_808B2AA8
-/* 00234 808B2A24 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
-/* 00238 808B2A28 3C014220 */ lui $at, 0x4220 ## $at = 42200000
-/* 0023C 808B2A2C 44813000 */ mtc1 $at, $f6 ## $f6 = 40.00
-/* 00240 808B2A30 C6040028 */ lwc1 $f4, 0x0028($s0) ## 00000028
-/* 00244 808B2A34 8E070024 */ lw $a3, 0x0024($s0) ## 00000024
-/* 00248 808B2A38 8FA5003C */ lw $a1, 0x003C($sp)
-/* 0024C 808B2A3C 46062200 */ add.s $f8, $f4, $f6
-/* 00250 808B2A40 240E0004 */ addiu $t6, $zero, 0x0004 ## $t6 = 00000004
-/* 00254 808B2A44 24060018 */ addiu $a2, $zero, 0x0018 ## $a2 = 00000018
-/* 00258 808B2A48 24A41C24 */ addiu $a0, $a1, 0x1C24 ## $a0 = 00001C24
-/* 0025C 808B2A4C E7A80010 */ swc1 $f8, 0x0010($sp)
-/* 00260 808B2A50 C60A002C */ lwc1 $f10, 0x002C($s0) ## 0000002C
-/* 00264 808B2A54 AFAE0024 */ sw $t6, 0x0024($sp)
-/* 00268 808B2A58 AFA00020 */ sw $zero, 0x0020($sp)
-/* 0026C 808B2A5C AFA0001C */ sw $zero, 0x001C($sp)
-/* 00270 808B2A60 AFA00018 */ sw $zero, 0x0018($sp)
-/* 00274 808B2A64 0C00C7D4 */ jal Actor_Spawn
- ## ActorSpawn
-/* 00278 808B2A68 E7AA0014 */ swc1 $f10, 0x0014($sp)
-/* 0027C 808B2A6C 0C01E221 */ jal func_80078884
-/* 00280 808B2A70 24044802 */ addiu $a0, $zero, 0x4802 ## $a0 = 00004802
-/* 00284 808B2A74 C6100028 */ lwc1 $f16, 0x0028($s0) ## 00000028
-.L808B2A78:
-/* 00288 808B2A78 8FA4003C */ lw $a0, 0x003C($sp)
-/* 0028C 808B2A7C 4600848D */ trunc.w.s $f18, $f16
-/* 00290 808B2A80 44059000 */ mfc1 $a1, $f18
-/* 00294 808B2A84 00000000 */ nop
-/* 00298 808B2A88 00052C00 */ sll $a1, $a1, 16
-/* 0029C 808B2A8C 0C22C9FC */ jal func_808B27F0
-/* 002A0 808B2A90 00052C03 */ sra $a1, $a1, 16
-/* 002A4 808B2A94 8FBF0034 */ lw $ra, 0x0034($sp)
-/* 002A8 808B2A98 8FB00030 */ lw $s0, 0x0030($sp)
-/* 002AC 808B2A9C 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000
-/* 002B0 808B2AA0 03E00008 */ jr $ra
-/* 002B4 808B2AA4 00000000 */ nop
diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Spot11_Oasis/func_808B2AA8.s b/asm/non_matchings/overlays/actors/ovl_Bg_Spot11_Oasis/func_808B2AA8.s
deleted file mode 100644
index 93dbd5c82..000000000
--- a/asm/non_matchings/overlays/actors/ovl_Bg_Spot11_Oasis/func_808B2AA8.s
+++ /dev/null
@@ -1,5 +0,0 @@
-glabel func_808B2AA8
-/* 002B8 808B2AA8 3C0E808B */ lui $t6, %hi(func_808B2AB8) ## $t6 = 808B0000
-/* 002BC 808B2AAC 25CE2AB8 */ addiu $t6, $t6, %lo(func_808B2AB8) ## $t6 = 808B2AB8
-/* 002C0 808B2AB0 03E00008 */ jr $ra
-/* 002C4 808B2AB4 AC8E014C */ sw $t6, 0x014C($a0) ## 0000014C
diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Spot11_Oasis/func_808B2AB8.s b/asm/non_matchings/overlays/actors/ovl_Bg_Spot11_Oasis/func_808B2AB8.s
deleted file mode 100644
index f5744f0e8..000000000
--- a/asm/non_matchings/overlays/actors/ovl_Bg_Spot11_Oasis/func_808B2AB8.s
+++ /dev/null
@@ -1,4 +0,0 @@
-glabel func_808B2AB8
-/* 002C8 808B2AB8 AFA40000 */ sw $a0, 0x0000($sp)
-/* 002CC 808B2ABC 03E00008 */ jr $ra
-/* 002D0 808B2AC0 AFA50004 */ sw $a1, 0x0004($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Spot11_Oasis/func_808B2CA8.s b/asm/non_matchings/overlays/actors/ovl_Bg_Spot11_Oasis/func_808B2CA8.s
deleted file mode 100644
index 824c34fc3..000000000
--- a/asm/non_matchings/overlays/actors/ovl_Bg_Spot11_Oasis/func_808B2CA8.s
+++ /dev/null
@@ -1,97 +0,0 @@
-.rdata
-glabel D_808B2E70
- .asciz "../z_bg_spot11_oasis.c"
- .balign 4
-
-glabel D_808B2E88
- .asciz "../z_bg_spot11_oasis.c"
- .balign 4
-
-glabel D_808B2EA0
- .asciz "../z_bg_spot11_oasis.c"
- .balign 4
-
-.text
-glabel func_808B2CA8
-/* 004B8 808B2CA8 27BDFF90 */ addiu $sp, $sp, 0xFF90 ## $sp = FFFFFF90
-/* 004BC 808B2CAC 3C0E0001 */ lui $t6, 0x0001 ## $t6 = 00010000
-/* 004C0 808B2CB0 AFBF003C */ sw $ra, 0x003C($sp)
-/* 004C4 808B2CB4 AFB10038 */ sw $s1, 0x0038($sp)
-/* 004C8 808B2CB8 AFB00034 */ sw $s0, 0x0034($sp)
-/* 004CC 808B2CBC AFA40070 */ sw $a0, 0x0070($sp)
-/* 004D0 808B2CC0 01C57021 */ addu $t6, $t6, $a1
-/* 004D4 808B2CC4 8DCE1DE4 */ lw $t6, 0x1DE4($t6) ## 00011DE4
-/* 004D8 808B2CC8 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
-/* 004DC 808B2CCC 3C06808B */ lui $a2, %hi(D_808B2E70) ## $a2 = 808B0000
-/* 004E0 808B2CD0 AFAE006C */ sw $t6, 0x006C($sp)
-/* 004E4 808B2CD4 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000
-/* 004E8 808B2CD8 24C62E70 */ addiu $a2, $a2, %lo(D_808B2E70) ## $a2 = 808B2E70
-/* 004EC 808B2CDC 27A40058 */ addiu $a0, $sp, 0x0058 ## $a0 = FFFFFFE8
-/* 004F0 808B2CE0 24070147 */ addiu $a3, $zero, 0x0147 ## $a3 = 00000147
-/* 004F4 808B2CE4 0C031AB1 */ jal Graph_OpenDisps
-/* 004F8 808B2CE8 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000
-/* 004FC 808B2CEC 0C024F61 */ jal func_80093D84
-/* 00500 808B2CF0 8E240000 */ lw $a0, 0x0000($s1) ## 00000000
-/* 00504 808B2CF4 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
-/* 00508 808B2CF8 3C18DA38 */ lui $t8, 0xDA38 ## $t8 = DA380000
-/* 0050C 808B2CFC 37180003 */ ori $t8, $t8, 0x0003 ## $t8 = DA380003
-/* 00510 808B2D00 244F0008 */ addiu $t7, $v0, 0x0008 ## $t7 = 00000008
-/* 00514 808B2D04 AE0F02D0 */ sw $t7, 0x02D0($s0) ## 000002D0
-/* 00518 808B2D08 AC580000 */ sw $t8, 0x0000($v0) ## 00000000
-/* 0051C 808B2D0C 8E240000 */ lw $a0, 0x0000($s1) ## 00000000
-/* 00520 808B2D10 3C05808B */ lui $a1, %hi(D_808B2E88) ## $a1 = 808B0000
-/* 00524 808B2D14 24A52E88 */ addiu $a1, $a1, %lo(D_808B2E88) ## $a1 = 808B2E88
-/* 00528 808B2D18 2406014B */ addiu $a2, $zero, 0x014B ## $a2 = 0000014B
-/* 0052C 808B2D1C 0C0346A2 */ jal Matrix_NewMtx
-/* 00530 808B2D20 AFA20054 */ sw $v0, 0x0054($sp)
-/* 00534 808B2D24 8FA30054 */ lw $v1, 0x0054($sp)
-/* 00538 808B2D28 3C0ADB06 */ lui $t2, 0xDB06 ## $t2 = DB060000
-/* 0053C 808B2D2C 354A0020 */ ori $t2, $t2, 0x0020 ## $t2 = DB060020
-/* 00540 808B2D30 AC620004 */ sw $v0, 0x0004($v1) ## 00000004
-/* 00544 808B2D34 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
-/* 00548 808B2D38 8FA9006C */ lw $t1, 0x006C($sp)
-/* 0054C 808B2D3C 240B007F */ addiu $t3, $zero, 0x007F ## $t3 = 0000007F
-/* 00550 808B2D40 24590008 */ addiu $t9, $v0, 0x0008 ## $t9 = 00000008
-/* 00554 808B2D44 AE1902D0 */ sw $t9, 0x02D0($s0) ## 000002D0
-/* 00558 808B2D48 AC4A0000 */ sw $t2, 0x0000($v0) ## 00000000
-/* 0055C 808B2D4C 8E240000 */ lw $a0, 0x0000($s1) ## 00000000
-/* 00560 808B2D50 240C0020 */ addiu $t4, $zero, 0x0020 ## $t4 = 00000020
-/* 00564 808B2D54 240D0020 */ addiu $t5, $zero, 0x0020 ## $t5 = 00000020
-/* 00568 808B2D58 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001
-/* 0056C 808B2D5C 240F0020 */ addiu $t7, $zero, 0x0020 ## $t7 = 00000020
-/* 00570 808B2D60 24180020 */ addiu $t8, $zero, 0x0020 ## $t8 = 00000020
-/* 00574 808B2D64 3123007F */ andi $v1, $t1, 0x007F ## $v1 = 00000000
-/* 00578 808B2D68 3127007F */ andi $a3, $t1, 0x007F ## $a3 = 00000000
-/* 0057C 808B2D6C AFA70020 */ sw $a3, 0x0020($sp)
-/* 00580 808B2D70 01633023 */ subu $a2, $t3, $v1
-/* 00584 808B2D74 AFA3001C */ sw $v1, 0x001C($sp)
-/* 00588 808B2D78 AFB80028 */ sw $t8, 0x0028($sp)
-/* 0058C 808B2D7C AFAF0024 */ sw $t7, 0x0024($sp)
-/* 00590 808B2D80 AFAE0018 */ sw $t6, 0x0018($sp)
-/* 00594 808B2D84 AFAD0014 */ sw $t5, 0x0014($sp)
-/* 00598 808B2D88 AFAC0010 */ sw $t4, 0x0010($sp)
-/* 0059C 808B2D8C 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
-/* 005A0 808B2D90 0C0253D0 */ jal Gfx_TwoTexScroll
-/* 005A4 808B2D94 AFA20050 */ sw $v0, 0x0050($sp)
-/* 005A8 808B2D98 8FA80050 */ lw $t0, 0x0050($sp)
-/* 005AC 808B2D9C 3C0B0600 */ lui $t3, 0x0600 ## $t3 = 06000000
-/* 005B0 808B2DA0 256B0870 */ addiu $t3, $t3, 0x0870 ## $t3 = 06000870
-/* 005B4 808B2DA4 AD020004 */ sw $v0, 0x0004($t0) ## 00000004
-/* 005B8 808B2DA8 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
-/* 005BC 808B2DAC 3C0ADE00 */ lui $t2, 0xDE00 ## $t2 = DE000000
-/* 005C0 808B2DB0 3C06808B */ lui $a2, %hi(D_808B2EA0) ## $a2 = 808B0000
-/* 005C4 808B2DB4 24590008 */ addiu $t9, $v0, 0x0008 ## $t9 = 00000008
-/* 005C8 808B2DB8 AE1902D0 */ sw $t9, 0x02D0($s0) ## 000002D0
-/* 005CC 808B2DBC AC4B0004 */ sw $t3, 0x0004($v0) ## 00000004
-/* 005D0 808B2DC0 AC4A0000 */ sw $t2, 0x0000($v0) ## 00000000
-/* 005D4 808B2DC4 8E250000 */ lw $a1, 0x0000($s1) ## 00000000
-/* 005D8 808B2DC8 24C62EA0 */ addiu $a2, $a2, %lo(D_808B2EA0) ## $a2 = 808B2EA0
-/* 005DC 808B2DCC 27A40058 */ addiu $a0, $sp, 0x0058 ## $a0 = FFFFFFE8
-/* 005E0 808B2DD0 0C031AD5 */ jal Graph_CloseDisps
-/* 005E4 808B2DD4 2407015A */ addiu $a3, $zero, 0x015A ## $a3 = 0000015A
-/* 005E8 808B2DD8 8FBF003C */ lw $ra, 0x003C($sp)
-/* 005EC 808B2DDC 8FB00034 */ lw $s0, 0x0034($sp)
-/* 005F0 808B2DE0 8FB10038 */ lw $s1, 0x0038($sp)
-/* 005F4 808B2DE4 03E00008 */ jr $ra
-/* 005F8 808B2DE8 27BD0070 */ addiu $sp, $sp, 0x0070 ## $sp = 00000000
-/* 005FC 808B2DEC 00000000 */ nop
diff --git a/data/overlays/actors/z_bg_spot11_oasis.data.s b/data/overlays/actors/z_bg_spot11_oasis.data.s
deleted file mode 100644
index feb404c96..000000000
--- a/data/overlays/actors/z_bg_spot11_oasis.data.s
+++ /dev/null
@@ -1,28 +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_Spot11_Oasis_InitVars
- .word 0x01C20100, 0x00000010, 0x016F0000, 0x00000154
-.word BgSpot11Oasis_Init
-.word Actor_Noop
-.word BgSpot11Oasis_Update
-.word 0x00000000
-glabel D_808B2E10
- .word 0x04EC07F8
-glabel D_808B2E14
- .word 0x04EB079B, 0x046F0744, 0x043F0778
-glabel D_808B2E20
- .word 0x049507FC
-glabel D_808B2E24
- .word 0xC0500001, 0xB0F40BB8, 0xB0F804B0, 0x30FC03E8
-glabel D_808B2E34
- .word 0x00000000, 0xC2C80000, 0x00000000, 0x42C80000, 0xC2A00000, 0xC2480000, 0xC2480000, 0xC2A00000, 0xC2C80000, 0xC2960000, 0xC2B40000, 0x42B40000, 0x41F00000, 0xC2C80000, 0x42200000
-
diff --git a/data/overlays/actors/z_bg_spot11_oasis.reloc.s b/data/overlays/actors/z_bg_spot11_oasis.reloc.s
deleted file mode 100644
index fe759a6d7..000000000
--- a/data/overlays/actors/z_bg_spot11_oasis.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_808B2ED0
- .incbin "baserom/ovl_Bg_Spot11_Oasis", 0x6E0, 0x000000C0
diff --git a/spec b/spec
index 3f486dfe0..0cda7f7c5 100644
--- a/spec
+++ b/spec
@@ -1265,8 +1265,7 @@ endseg
beginseg
name "ovl_Bg_Spot11_Oasis"
include "build/src/overlays/actors/ovl_Bg_Spot11_Oasis/z_bg_spot11_oasis.o"
- include "build/data/overlays/actors/z_bg_spot11_oasis.data.o"
- include "build/data/overlays/actors/z_bg_spot11_oasis.reloc.o"
+ include "build/src/overlays/actors/ovl_Bg_Spot11_Oasis/ovl_Bg_Spot11_Oasis_reloc.o"
endseg
beginseg
diff --git a/src/overlays/actors/ovl_Bg_Spot11_Oasis/z_bg_spot11_oasis.c b/src/overlays/actors/ovl_Bg_Spot11_Oasis/z_bg_spot11_oasis.c
index 48d2473bc..60928ffbe 100644
--- a/src/overlays/actors/ovl_Bg_Spot11_Oasis/z_bg_spot11_oasis.c
+++ b/src/overlays/actors/ovl_Bg_Spot11_Oasis/z_bg_spot11_oasis.c
@@ -6,8 +6,14 @@
void BgSpot11Oasis_Init(Actor* thisx, GlobalContext* globalCtx);
void BgSpot11Oasis_Update(Actor* thisx, GlobalContext* globalCtx);
+void BgSpot11Oasis_Draw(Actor* thisx, GlobalContext* globalCtx);
+void func_808B2970(BgSpot11Oasis* this);
+void func_808B2980(BgSpot11Oasis* this, GlobalContext* globalCtx);
+void func_808B29E0(BgSpot11Oasis* this);
+void func_808B29F0(BgSpot11Oasis* this, GlobalContext* globalCtx);
+void func_808B2AA8(BgSpot11Oasis* this);
+void func_808B2AB8(BgSpot11Oasis* this, GlobalContext* globalCtx);
-/*
const ActorInit Bg_Spot11_Oasis_InitVars = {
ACTOR_BG_SPOT11_OASIS,
ACTORTYPE_BG,
@@ -19,25 +25,135 @@ const ActorInit Bg_Spot11_Oasis_InitVars = {
(ActorFunc)BgSpot11Oasis_Update,
NULL,
};
-*/
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot11_Oasis/func_808B27F0.s")
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot11_Oasis/func_808B280C.s")
+s16 D_808B2E10[][2] = {
+ { 1260, 2040 }, { 1259, 1947 }, { 1135, 1860 }, { 1087, 1912 }, { 1173, 2044 },
+};
+
+static InitChainEntry sInitChain[] = {
+ ICHAIN_VEC3F(scale, 1, ICHAIN_CONTINUE),
+ ICHAIN_F32(uncullZoneForward, 3000, ICHAIN_CONTINUE),
+ ICHAIN_F32(uncullZoneScale, 1200, ICHAIN_CONTINUE),
+ ICHAIN_F32(uncullZoneDownward, 1000, ICHAIN_STOP),
+};
+
+Vec3f D_808B2E34[] = {
+ { 0.0f, -100.0f, 0.0f }, { 100.0f, -80.0f, -50.0f }, { -50.0f, -80.0f, -100.0f },
+ { -75.0f, -90.0f, 90.0f }, { 30.0f, -100.0f, 40.0f },
+};
+
+extern Gfx D_06000870[];
+
+void func_808B27F0(GlobalContext* globalCtx, s16 arg1) {
+ WaterBox* waterBox = &globalCtx->colCtx.stat.colHeader->waterBoxes[0];
+
+ waterBox->unk_02 = arg1;
+}
+
+s32 func_808B280C(GlobalContext* globalCtx) {
+ Player* player = PLAYER;
+ Vec3f sp58;
+ Vec3f sp4C;
+ Vec3f sp40;
+ s32 i;
+
+ sp58.x = D_808B2E10[0][0];
+ sp58.z = D_808B2E10[0][1];
+ sp58.y = 0.0f;
+
+ sp4C.y = 0.0f;
+ sp40.y = 0.0f;
+
+ for (i = 1; i < ARRAY_COUNT(D_808B2E10) - 1; i++) {
+ sp4C.x = D_808B2E10[i][0];
+ sp4C.z = D_808B2E10[i][1];
+ sp40.x = D_808B2E10[i + 1][0];
+ sp40.z = D_808B2E10[i + 1][1];
+ if (Math3D_TriChkPointParaYSlopedY(&sp58, &sp4C, &sp40, player->actor.posRot.pos.z,
+ player->actor.posRot.pos.x)) {
+ return 1;
+ }
+ }
+ return 0;
+}
+
+void BgSpot11Oasis_Init(Actor* thisx, GlobalContext* globalCtx) {
+ BgSpot11Oasis* this = THIS;
+
+ Actor_ProcessInitChain(&this->actor, sInitChain);
+ func_808B2970(this);
+ this->actor.posRot.pos.y = -100.0f;
+ func_808B27F0(globalCtx, -100);
+}
+
+void func_808B2970(BgSpot11Oasis* this) {
+ this->actionFunc = func_808B2980;
+}
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot11_Oasis/BgSpot11Oasis_Init.s")
+void func_808B2980(BgSpot11Oasis* this, GlobalContext* globalCtx) {
+ if (Flags_GetEnv(globalCtx, 5) && func_808B280C(globalCtx)) {
+ func_800800F8(globalCtx, 0x1036, -99, &this->actor, 0);
+ func_808B29E0(this);
+ }
+}
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot11_Oasis/func_808B2970.s")
+void func_808B29E0(BgSpot11Oasis* this) {
+ this->actionFunc = func_808B29F0;
+}
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot11_Oasis/func_808B2980.s")
+void func_808B29F0(BgSpot11Oasis* this, GlobalContext* globalCtx) {
+ if (Math_ApproxF(&this->actor.posRot.pos.y, 0.0f, 0.7f)) {
+ func_808B2AA8(this);
+ Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_EN_ELF, this->actor.posRot.pos.x,
+ this->actor.posRot.pos.y + 40.0f, this->actor.posRot.pos.z, 0, 0, 0, 4);
+ func_80078884(NA_SE_SY_CORRECT_CHIME);
+ }
+ func_808B27F0(globalCtx, this->actor.posRot.pos.y);
+}
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot11_Oasis/func_808B29E0.s")
+void func_808B2AA8(BgSpot11Oasis* this) {
+ this->actionFunc = func_808B2AB8;
+}
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot11_Oasis/func_808B29F0.s")
+void func_808B2AB8(BgSpot11Oasis* this, GlobalContext* globalCtx) {
+}
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot11_Oasis/func_808B2AA8.s")
+void BgSpot11Oasis_Update(Actor* thisx, GlobalContext* globalCtx) {
+ BgSpot11Oasis* this = THIS;
+ s32 pad;
+ u32 gameplayFrames;
+ Vec3f sp30;
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot11_Oasis/func_808B2AB8.s")
+ this->actionFunc(this, globalCtx);
+ if (this->actionFunc == func_808B2980) {
+ this->actor.draw = NULL;
+ return;
+ }
+ this->actor.draw = BgSpot11Oasis_Draw;
+ if (this->unk_150 && (this->actor.projectedPos.z < 400.0f) && (this->actor.projectedPos.z > -40.0f)) {
+ gameplayFrames = globalCtx->gameplayFrames;
+ if (gameplayFrames & 4) {
+ Math_Vec3f_Sum(&this->actor.posRot.pos, &D_808B2E34[this->unk_151], &sp30);
+ EffectSsBubble_Spawn(globalCtx, &sp30, 0.0f, 15.0f, 50.0f, (Math_Rand_ZeroOne() * 0.12f) + 0.02f);
+ if (Math_Rand_ZeroOne() < 0.3f) {
+ this->unk_151 = Math_Rand_ZeroOne() * 4.9f;
+ }
+ }
+ } else {
+ this->unk_150 = 1;
+ }
+}
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot11_Oasis/BgSpot11Oasis_Update.s")
+void BgSpot11Oasis_Draw(Actor* thisx, GlobalContext* globalCtx) {
+ u32 gameplayFrames = globalCtx->gameplayFrames;
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot11_Oasis/func_808B2CA8.s")
+ OPEN_DISPS(globalCtx->state.gfxCtx, "../z_bg_spot11_oasis.c", 327);
+ func_80093D84(globalCtx->state.gfxCtx);
+ gSPMatrix(oGfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_spot11_oasis.c", 331),
+ G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
+ gSPSegment(oGfxCtx->polyXlu.p++, 0x08,
+ Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 127 - (gameplayFrames % 128), (gameplayFrames * 1) % 128,
+ 32, 32, 1, gameplayFrames % 128, (gameplayFrames * 1) % 128, 32, 32));
+ gSPDisplayList(oGfxCtx->polyXlu.p++, D_06000870);
+ CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_bg_spot11_oasis.c", 346);
+}
diff --git a/src/overlays/actors/ovl_Bg_Spot11_Oasis/z_bg_spot11_oasis.h b/src/overlays/actors/ovl_Bg_Spot11_Oasis/z_bg_spot11_oasis.h
index 7f76bf30e..70bdf82a5 100644
--- a/src/overlays/actors/ovl_Bg_Spot11_Oasis/z_bg_spot11_oasis.h
+++ b/src/overlays/actors/ovl_Bg_Spot11_Oasis/z_bg_spot11_oasis.h
@@ -6,9 +6,13 @@
struct BgSpot11Oasis;
+typedef void (*BgSpot11OasisActionFunc)(struct BgSpot11Oasis*, GlobalContext*);
+
typedef struct BgSpot11Oasis {
/* 0x0000 */ Actor actor;
- /* 0x014C */ char unk_14C[0x8];
+ /* 0x014C */ BgSpot11OasisActionFunc actionFunc;
+ /* 0x0150 */ u8 unk_150;
+ /* 0x0151 */ u8 unk_151;
} BgSpot11Oasis; // size = 0x0154
extern const ActorInit Bg_Spot11_Oasis_InitVars;
diff --git a/undefined_syms.txt b/undefined_syms.txt
index 8222b1105..68c342797 100644
--- a/undefined_syms.txt
+++ b/undefined_syms.txt
@@ -826,6 +826,9 @@ D_0600E630 = 0x0600E630;
D_0600F03C = 0x0600F03C;
D_0600F8B8 = 0x0600F8B8;
+// z_bg_spot11_oasis
+D_06000870 = 0x06000870;
+
// z_bg_mjin
D_06000140 = 0x06000140;
D_06000330 = 0x06000330;