mirror of
https://github.com/zeldaret/oot.git
synced 2024-11-13 04:39:36 +00:00
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
This commit is contained in:
parent
eea81d97d8
commit
ce3542f60c
17 changed files with 138 additions and 501 deletions
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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)
|
|
@ -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
|
|
@ -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
|
||||
|
|
@ -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
|
3
spec
3
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
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Reference in a new issue