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 258726d752..0000000000 --- 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 06af19f0cd..0000000000 --- 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 02327b1c03..0000000000 --- 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 1c8517e288..0000000000 --- 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 90cbb18662..0000000000 --- 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 4c58cdac21..0000000000 --- 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 ac4040360b..0000000000 --- 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 671cd2ce9d..0000000000 --- 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 93dbd5c829..0000000000 --- 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 f5744f0e81..0000000000 --- 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 824c34fc38..0000000000 --- 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 feb404c96c..0000000000 --- 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 fe759a6d7d..0000000000 --- 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 3f486dfe0f..0cda7f7c59 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 48d2473bc6..60928ffbe8 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 }, +}; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot11_Oasis/BgSpot11Oasis_Init.s") +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), +}; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot11_Oasis/func_808B2970.s") +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 }, +}; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot11_Oasis/func_808B2980.s") +extern Gfx D_06000870[]; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot11_Oasis/func_808B29E0.s") +void func_808B27F0(GlobalContext* globalCtx, s16 arg1) { + WaterBox* waterBox = &globalCtx->colCtx.stat.colHeader->waterBoxes[0]; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot11_Oasis/func_808B29F0.s") + waterBox->unk_02 = arg1; +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot11_Oasis/func_808B2AA8.s") +s32 func_808B280C(GlobalContext* globalCtx) { + Player* player = PLAYER; + Vec3f sp58; + Vec3f sp4C; + Vec3f sp40; + s32 i; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot11_Oasis/func_808B2AB8.s") + sp58.x = D_808B2E10[0][0]; + sp58.z = D_808B2E10[0][1]; + sp58.y = 0.0f; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot11_Oasis/BgSpot11Oasis_Update.s") + sp4C.y = 0.0f; + sp40.y = 0.0f; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot11_Oasis/func_808B2CA8.s") + 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; +} + +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); + } +} + +void func_808B29E0(BgSpot11Oasis* this) { + this->actionFunc = func_808B29F0; +} + +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); +} + +void func_808B2AA8(BgSpot11Oasis* this) { + this->actionFunc = func_808B2AB8; +} + +void func_808B2AB8(BgSpot11Oasis* this, GlobalContext* globalCtx) { +} + +void BgSpot11Oasis_Update(Actor* thisx, GlobalContext* globalCtx) { + BgSpot11Oasis* this = THIS; + s32 pad; + u32 gameplayFrames; + Vec3f sp30; + + 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; + } +} + +void BgSpot11Oasis_Draw(Actor* thisx, GlobalContext* globalCtx) { + u32 gameplayFrames = globalCtx->gameplayFrames; + + 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 7f76bf30e4..70bdf82a5b 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 8222b11056..68c342797d 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;