1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2024-12-26 14:46:16 +00:00

BgHakaWater OK (#302)

* BgHakaWater OK

* minor style fixups

* made requested changes

* use true/false for isLowered
This commit is contained in:
gamestabled 2020-09-08 22:48:35 -04:00 committed by GitHub
parent 507edd134e
commit 43a3ee9a93
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
13 changed files with 124 additions and 597 deletions

View file

@ -1,4 +0,0 @@
glabel BgHakaWater_Destroy
/* 00088 80881D88 AFA40000 */ sw $a0, 0x0000($sp)
/* 0008C 80881D8C 03E00008 */ jr $ra
/* 00090 80881D90 AFA50004 */ sw $a1, 0x0004($sp)

View file

@ -1,279 +0,0 @@
.rdata
glabel D_808824C0
.asciz "../z_bg_haka_water.c"
.balign 4
glabel D_808824D8
.asciz "../z_bg_haka_water.c"
.balign 4
glabel D_808824F0
.asciz "../z_bg_haka_water.c"
.balign 4
glabel D_80882508
.asciz "../z_bg_haka_water.c"
.balign 4
.late_rodata
glabel D_80882520
.float 0.765
glabel D_80882524
.float 0.1
glabel D_80882528
.float 5.1
.text
glabel BgHakaWater_Draw
/* 003C4 808820C4 27BDFF70 */ addiu $sp, $sp, 0xFF70 ## $sp = FFFFFF70
/* 003C8 808820C8 AFBF003C */ sw $ra, 0x003C($sp)
/* 003CC 808820CC AFB00038 */ sw $s0, 0x0038($sp)
/* 003D0 808820D0 AFA40090 */ sw $a0, 0x0090($sp)
/* 003D4 808820D4 AFA50094 */ sw $a1, 0x0094($sp)
/* 003D8 808820D8 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000
/* 003DC 808820DC 3C068088 */ lui $a2, %hi(D_808824C0) ## $a2 = 80880000
/* 003E0 808820E0 24C624C0 */ addiu $a2, $a2, %lo(D_808824C0) ## $a2 = 808824C0
/* 003E4 808820E4 27A4006C */ addiu $a0, $sp, 0x006C ## $a0 = FFFFFFDC
/* 003E8 808820E8 2407011F */ addiu $a3, $zero, 0x011F ## $a3 = 0000011F
/* 003EC 808820EC 0C031AB1 */ jal Graph_OpenDisps
/* 003F0 808820F0 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000
/* 003F4 808820F4 8FAF0094 */ lw $t7, 0x0094($sp)
/* 003F8 808820F8 0C024F61 */ jal func_80093D84
/* 003FC 808820FC 8DE40000 */ lw $a0, 0x0000($t7) ## 00000000
/* 00400 80882100 8FA20090 */ lw $v0, 0x0090($sp)
/* 00404 80882104 3C014348 */ lui $at, 0x4348 ## $at = 43480000
/* 00408 80882108 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 0040C 8088210C 90580150 */ lbu $t8, 0x0150($v0) ## 00000150
/* 00410 80882110 53000006 */ beql $t8, $zero, .L8088212C
/* 00414 80882114 C448000C */ lwc1 $f8, 0x000C($v0) ## 0000000C
/* 00418 80882118 C4440028 */ lwc1 $f4, 0x0028($v0) ## 00000028
/* 0041C 8088211C C446000C */ lwc1 $f6, 0x000C($v0) ## 0000000C
/* 00420 80882120 10000006 */ beq $zero, $zero, .L8088213C
/* 00424 80882124 46062001 */ sub.s $f0, $f4, $f6
/* 00428 80882128 C448000C */ lwc1 $f8, 0x000C($v0) ## 0000000C
.L8088212C:
/* 0042C 8088212C 44815000 */ mtc1 $at, $f10 ## $f10 = 200.00
/* 00430 80882130 C4520028 */ lwc1 $f18, 0x0028($v0) ## 00000028
/* 00434 80882134 460A4401 */ sub.s $f16, $f8, $f10
/* 00438 80882138 46109001 */ sub.s $f0, $f18, $f16
.L8088213C:
/* 0043C 8088213C 8E0302D0 */ lw $v1, 0x02D0($s0) ## 000002D0
/* 00440 80882140 3C0AFA00 */ lui $t2, 0xFA00 ## $t2 = FA000000
/* 00444 80882144 3C018088 */ lui $at, %hi(D_80882520) ## $at = 80880000
/* 00448 80882148 24790008 */ addiu $t9, $v1, 0x0008 ## $t9 = 00000008
/* 0044C 8088214C AE1902D0 */ sw $t9, 0x02D0($s0) ## 000002D0
/* 00450 80882150 AC6A0000 */ sw $t2, 0x0000($v1) ## 00000000
/* 00454 80882154 C4242520 */ lwc1 $f4, %lo(D_80882520)($at)
/* 00458 80882158 240C0001 */ addiu $t4, $zero, 0x0001 ## $t4 = 00000001
/* 0045C 8088215C 3C19DB06 */ lui $t9, 0xDB06 ## $t9 = DB060000
/* 00460 80882160 46002182 */ mul.s $f6, $f4, $f0
/* 00464 80882164 3C014F00 */ lui $at, 0x4F00 ## $at = 4F000000
/* 00468 80882168 37390020 */ ori $t9, $t9, 0x0020 ## $t9 = DB060020
/* 0046C 8088216C 240A0020 */ addiu $t2, $zero, 0x0020 ## $t2 = 00000020
/* 00470 80882170 444BF800 */ cfc1 $t3, $31
/* 00474 80882174 44CCF800 */ ctc1 $t4, $31
/* 00478 80882178 00000000 */ nop
/* 0047C 8088217C 46003224 */ cvt.w.s $f8, $f6
/* 00480 80882180 444CF800 */ cfc1 $t4, $31
/* 00484 80882184 00000000 */ nop
/* 00488 80882188 318C0078 */ andi $t4, $t4, 0x0078 ## $t4 = 00000000
/* 0048C 8088218C 51800013 */ beql $t4, $zero, .L808821DC
/* 00490 80882190 440C4000 */ mfc1 $t4, $f8
/* 00494 80882194 44814000 */ mtc1 $at, $f8 ## $f8 = 2147483648.00
/* 00498 80882198 240C0001 */ addiu $t4, $zero, 0x0001 ## $t4 = 00000001
/* 0049C 8088219C 46083201 */ sub.s $f8, $f6, $f8
/* 004A0 808821A0 44CCF800 */ ctc1 $t4, $31
/* 004A4 808821A4 00000000 */ nop
/* 004A8 808821A8 46004224 */ cvt.w.s $f8, $f8
/* 004AC 808821AC 444CF800 */ cfc1 $t4, $31
/* 004B0 808821B0 00000000 */ nop
/* 004B4 808821B4 318C0078 */ andi $t4, $t4, 0x0078 ## $t4 = 00000000
/* 004B8 808821B8 15800005 */ bne $t4, $zero, .L808821D0
/* 004BC 808821BC 00000000 */ nop
/* 004C0 808821C0 440C4000 */ mfc1 $t4, $f8
/* 004C4 808821C4 3C018000 */ lui $at, 0x8000 ## $at = 80000000
/* 004C8 808821C8 10000007 */ beq $zero, $zero, .L808821E8
/* 004CC 808821CC 01816025 */ or $t4, $t4, $at ## $t4 = 80000000
.L808821D0:
/* 004D0 808821D0 10000005 */ beq $zero, $zero, .L808821E8
/* 004D4 808821D4 240CFFFF */ addiu $t4, $zero, 0xFFFF ## $t4 = FFFFFFFF
/* 004D8 808821D8 440C4000 */ mfc1 $t4, $f8
.L808821DC:
/* 004DC 808821DC 00000000 */ nop
/* 004E0 808821E0 0580FFFB */ bltz $t4, .L808821D0
/* 004E4 808821E4 00000000 */ nop
.L808821E8:
/* 004E8 808821E8 01806825 */ or $t5, $t4, $zero ## $t5 = FFFFFFFF
/* 004EC 808821EC 31AE00FF */ andi $t6, $t5, 0x00FF ## $t6 = 000000FF
/* 004F0 808821F0 2401FF00 */ addiu $at, $zero, 0xFF00 ## $at = FFFFFF00
/* 004F4 808821F4 01C17825 */ or $t7, $t6, $at ## $t7 = FFFFFFFF
/* 004F8 808821F8 AC6F0004 */ sw $t7, 0x0004($v1) ## 00000004
/* 004FC 808821FC 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
/* 00500 80882200 8FA90094 */ lw $t1, 0x0094($sp)
/* 00504 80882204 3C030001 */ lui $v1, 0x0001 ## $v1 = 00010000
/* 00508 80882208 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008
/* 0050C 8088220C AE1802D0 */ sw $t8, 0x02D0($s0) ## 000002D0
/* 00510 80882210 AC590000 */ sw $t9, 0x0000($v0) ## 00000000
/* 00514 80882214 00691821 */ addu $v1, $v1, $t1
/* 00518 80882218 8C631DE4 */ lw $v1, 0x1DE4($v1) ## 00011DE4
/* 0051C 8088221C 8D240000 */ lw $a0, 0x0000($t1) ## 00000000
/* 00520 80882220 44CBF800 */ ctc1 $t3, $31
/* 00524 80882224 00036823 */ subu $t5, $zero, $v1
/* 00528 80882228 31AE007F */ andi $t6, $t5, 0x007F ## $t6 = 0000007F
/* 0052C 8088222C 240B0020 */ addiu $t3, $zero, 0x0020 ## $t3 = 00000020
/* 00530 80882230 24180020 */ addiu $t8, $zero, 0x0020 ## $t8 = 00000020
/* 00534 80882234 240F0020 */ addiu $t7, $zero, 0x0020 ## $t7 = 00000020
/* 00538 80882238 240C0001 */ addiu $t4, $zero, 0x0001 ## $t4 = 00000001
/* 0053C 8088223C 3066007F */ andi $a2, $v1, 0x007F ## $a2 = 00000000
/* 00540 80882240 00C03825 */ or $a3, $a2, $zero ## $a3 = 00000000
/* 00544 80882244 AFAC0018 */ sw $t4, 0x0018($sp)
/* 00548 80882248 AFAF0024 */ sw $t7, 0x0024($sp)
/* 0054C 8088224C AFB80028 */ sw $t8, 0x0028($sp)
/* 00550 80882250 AFAB0014 */ sw $t3, 0x0014($sp)
/* 00554 80882254 AFAE0020 */ sw $t6, 0x0020($sp)
/* 00558 80882258 E7A00084 */ swc1 $f0, 0x0084($sp)
/* 0055C 8088225C AFA0001C */ sw $zero, 0x001C($sp)
/* 00560 80882260 AFAA0010 */ sw $t2, 0x0010($sp)
/* 00564 80882264 0C0253D0 */ jal Gfx_TwoTexScroll
/* 00568 80882268 AFA20064 */ sw $v0, 0x0064($sp)
/* 0056C 8088226C 8FA80064 */ lw $t0, 0x0064($sp)
/* 00570 80882270 C7A00084 */ lwc1 $f0, 0x0084($sp)
/* 00574 80882274 3C0ADA38 */ lui $t2, 0xDA38 ## $t2 = DA380000
/* 00578 80882278 AD020004 */ sw $v0, 0x0004($t0) ## 00000004
/* 0057C 8088227C 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
/* 00580 80882280 354A0003 */ ori $t2, $t2, 0x0003 ## $t2 = DA380003
/* 00584 80882284 3C058088 */ lui $a1, %hi(D_808824D8) ## $a1 = 80880000
/* 00588 80882288 24590008 */ addiu $t9, $v0, 0x0008 ## $t9 = 00000008
/* 0058C 8088228C AE1902D0 */ sw $t9, 0x02D0($s0) ## 000002D0
/* 00590 80882290 AC4A0000 */ sw $t2, 0x0000($v0) ## 00000000
/* 00594 80882294 8FAB0094 */ lw $t3, 0x0094($sp)
/* 00598 80882298 24A524D8 */ addiu $a1, $a1, %lo(D_808824D8) ## $a1 = 808824D8
/* 0059C 8088229C 24060138 */ addiu $a2, $zero, 0x0138 ## $a2 = 00000138
/* 005A0 808822A0 8D640000 */ lw $a0, 0x0000($t3) ## 00000000
/* 005A4 808822A4 E7A00084 */ swc1 $f0, 0x0084($sp)
/* 005A8 808822A8 0C0346A2 */ jal Matrix_NewMtx
/* 005AC 808822AC AFA20060 */ sw $v0, 0x0060($sp)
/* 005B0 808822B0 8FA30060 */ lw $v1, 0x0060($sp)
/* 005B4 808822B4 C7A00084 */ lwc1 $f0, 0x0084($sp)
/* 005B8 808822B8 3C0E0600 */ lui $t6, 0x0600 ## $t6 = 06000000
/* 005BC 808822BC AC620004 */ sw $v0, 0x0004($v1) ## 00000004
/* 005C0 808822C0 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
/* 005C4 808822C4 25CE1E50 */ addiu $t6, $t6, 0x1E50 ## $t6 = 06001E50
/* 005C8 808822C8 3C0DDE00 */ lui $t5, 0xDE00 ## $t5 = DE000000
/* 005CC 808822CC 244C0008 */ addiu $t4, $v0, 0x0008 ## $t4 = 00000008
/* 005D0 808822D0 AE0C02D0 */ sw $t4, 0x02D0($s0) ## 000002D0
/* 005D4 808822D4 3C0142B8 */ lui $at, 0x42B8 ## $at = 42B80000
/* 005D8 808822D8 44817000 */ mtc1 $at, $f14 ## $f14 = 92.00
/* 005DC 808822DC 44806000 */ mtc1 $zero, $f12 ## $f12 = 0.00
/* 005E0 808822E0 AC4E0004 */ sw $t6, 0x0004($v0) ## 00000004
/* 005E4 808822E4 AC4D0000 */ sw $t5, 0x0000($v0) ## 00000000
/* 005E8 808822E8 3C06C4D2 */ lui $a2, 0xC4D2 ## $a2 = C4D20000
/* 005EC 808822EC 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
/* 005F0 808822F0 0C034261 */ jal Matrix_Translate
/* 005F4 808822F4 E7A00084 */ swc1 $f0, 0x0084($sp)
/* 005F8 808822F8 3C018088 */ lui $at, %hi(D_80882524) ## $at = 80880000
/* 005FC 808822FC C42C2524 */ lwc1 $f12, %lo(D_80882524)($at)
/* 00600 80882300 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
/* 00604 80882304 44066000 */ mfc1 $a2, $f12
/* 00608 80882308 0C0342A3 */ jal Matrix_Scale
/* 0060C 8088230C 46006386 */ mov.s $f14, $f12
/* 00610 80882310 3C01432A */ lui $at, 0x432A ## $at = 432A0000
/* 00614 80882314 C7A00084 */ lwc1 $f0, 0x0084($sp)
/* 00618 80882318 44815000 */ mtc1 $at, $f10 ## $f10 = 170.00
/* 0061C 8088231C 44801000 */ mtc1 $zero, $f2 ## $f2 = 0.00
/* 00620 80882320 3C058088 */ lui $a1, %hi(D_808824F0) ## $a1 = 80880000
/* 00624 80882324 460A0001 */ sub.s $f0, $f0, $f10
/* 00628 80882328 24A524F0 */ addiu $a1, $a1, %lo(D_808824F0) ## $a1 = 808824F0
/* 0062C 8088232C 4602003C */ c.lt.s $f0, $f2
/* 00630 80882330 00000000 */ nop
/* 00634 80882334 45020003 */ bc1fl .L80882344
/* 00638 80882338 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
/* 0063C 8088233C 46001006 */ mov.s $f0, $f2
/* 00640 80882340 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
.L80882344:
/* 00644 80882344 3C18E700 */ lui $t8, 0xE700 ## $t8 = E7000000
/* 00648 80882348 3C0AFA00 */ lui $t2, 0xFA00 ## $t2 = FA000000
/* 0064C 8088234C 244F0008 */ addiu $t7, $v0, 0x0008 ## $t7 = 00000008
/* 00650 80882350 AE0F02D0 */ sw $t7, 0x02D0($s0) ## 000002D0
/* 00654 80882354 AC400004 */ sw $zero, 0x0004($v0) ## 00000004
/* 00658 80882358 AC580000 */ sw $t8, 0x0000($v0) ## 00000000
/* 0065C 8088235C 8E0302D0 */ lw $v1, 0x02D0($s0) ## 000002D0
/* 00660 80882360 3C018088 */ lui $at, %hi(D_80882528) ## $at = 80880000
/* 00664 80882364 240C0001 */ addiu $t4, $zero, 0x0001 ## $t4 = 00000001
/* 00668 80882368 24790008 */ addiu $t9, $v1, 0x0008 ## $t9 = 00000008
/* 0066C 8088236C AE1902D0 */ sw $t9, 0x02D0($s0) ## 000002D0
/* 00670 80882370 AC6A0000 */ sw $t2, 0x0000($v1) ## 00000000
/* 00674 80882374 C4322528 */ lwc1 $f18, %lo(D_80882528)($at)
/* 00678 80882378 3C014F00 */ lui $at, 0x4F00 ## $at = 4F000000
/* 0067C 8088237C 46009402 */ mul.s $f16, $f18, $f0
/* 00680 80882380 444BF800 */ cfc1 $t3, $31
/* 00684 80882384 44CCF800 */ ctc1 $t4, $31
/* 00688 80882388 00000000 */ nop
/* 0068C 8088238C 46008124 */ cvt.w.s $f4, $f16
/* 00690 80882390 444CF800 */ cfc1 $t4, $31
/* 00694 80882394 00000000 */ nop
/* 00698 80882398 318C0078 */ andi $t4, $t4, 0x0078 ## $t4 = 00000000
/* 0069C 8088239C 51800013 */ beql $t4, $zero, .L808823EC
/* 006A0 808823A0 440C2000 */ mfc1 $t4, $f4
/* 006A4 808823A4 44812000 */ mtc1 $at, $f4 ## $f4 = 2147483648.00
/* 006A8 808823A8 240C0001 */ addiu $t4, $zero, 0x0001 ## $t4 = 00000001
/* 006AC 808823AC 46048101 */ sub.s $f4, $f16, $f4
/* 006B0 808823B0 44CCF800 */ ctc1 $t4, $31
/* 006B4 808823B4 00000000 */ nop
/* 006B8 808823B8 46002124 */ cvt.w.s $f4, $f4
/* 006BC 808823BC 444CF800 */ cfc1 $t4, $31
/* 006C0 808823C0 00000000 */ nop
/* 006C4 808823C4 318C0078 */ andi $t4, $t4, 0x0078 ## $t4 = 00000000
/* 006C8 808823C8 15800005 */ bne $t4, $zero, .L808823E0
/* 006CC 808823CC 00000000 */ nop
/* 006D0 808823D0 440C2000 */ mfc1 $t4, $f4
/* 006D4 808823D4 3C018000 */ lui $at, 0x8000 ## $at = 80000000
/* 006D8 808823D8 10000007 */ beq $zero, $zero, .L808823F8
/* 006DC 808823DC 01816025 */ or $t4, $t4, $at ## $t4 = 80000000
.L808823E0:
/* 006E0 808823E0 10000005 */ beq $zero, $zero, .L808823F8
/* 006E4 808823E4 240CFFFF */ addiu $t4, $zero, 0xFFFF ## $t4 = FFFFFFFF
/* 006E8 808823E8 440C2000 */ mfc1 $t4, $f4
.L808823EC:
/* 006EC 808823EC 00000000 */ nop
/* 006F0 808823F0 0580FFFB */ bltz $t4, .L808823E0
/* 006F4 808823F4 00000000 */ nop
.L808823F8:
/* 006F8 808823F8 318E00FF */ andi $t6, $t4, 0x00FF ## $t6 = 000000FF
/* 006FC 808823FC 2401FF00 */ addiu $at, $zero, 0xFF00 ## $at = FFFFFF00
/* 00700 80882400 01C17825 */ or $t7, $t6, $at ## $t7 = FFFFFFFF
/* 00704 80882404 AC6F0004 */ sw $t7, 0x0004($v1) ## 00000004
/* 00708 80882408 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
/* 0070C 8088240C 3C19DA38 */ lui $t9, 0xDA38 ## $t9 = DA380000
/* 00710 80882410 37390003 */ ori $t9, $t9, 0x0003 ## $t9 = DA380003
/* 00714 80882414 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008
/* 00718 80882418 AE1802D0 */ sw $t8, 0x02D0($s0) ## 000002D0
/* 0071C 8088241C AC590000 */ sw $t9, 0x0000($v0) ## 00000000
/* 00720 80882420 8FAA0094 */ lw $t2, 0x0094($sp)
/* 00724 80882424 44CBF800 */ ctc1 $t3, $31
/* 00728 80882428 24060148 */ addiu $a2, $zero, 0x0148 ## $a2 = 00000148
/* 0072C 8088242C 8D440000 */ lw $a0, 0x0000($t2) ## FA000000
/* 00730 80882430 0C0346A2 */ jal Matrix_NewMtx
/* 00734 80882434 AFA20050 */ sw $v0, 0x0050($sp)
/* 00738 80882438 8FA30050 */ lw $v1, 0x0050($sp)
/* 0073C 8088243C 3C0D0600 */ lui $t5, 0x0600 ## $t5 = 06000000
/* 00740 80882440 25AD2010 */ addiu $t5, $t5, 0x2010 ## $t5 = 06002010
/* 00744 80882444 AC620004 */ sw $v0, 0x0004($v1) ## 00000004
/* 00748 80882448 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
/* 0074C 8088244C 3C0CDE00 */ lui $t4, 0xDE00 ## $t4 = DE000000
/* 00750 80882450 3C068088 */ lui $a2, %hi(D_80882508) ## $a2 = 80880000
/* 00754 80882454 244B0008 */ addiu $t3, $v0, 0x0008 ## $t3 = 00000008
/* 00758 80882458 AE0B02D0 */ sw $t3, 0x02D0($s0) ## 000002D0
/* 0075C 8088245C AC4D0004 */ sw $t5, 0x0004($v0) ## 00000004
/* 00760 80882460 AC4C0000 */ sw $t4, 0x0000($v0) ## 00000000
/* 00764 80882464 8FAE0094 */ lw $t6, 0x0094($sp)
/* 00768 80882468 24C62508 */ addiu $a2, $a2, %lo(D_80882508) ## $a2 = 80882508
/* 0076C 8088246C 27A4006C */ addiu $a0, $sp, 0x006C ## $a0 = FFFFFFDC
/* 00770 80882470 2407014C */ addiu $a3, $zero, 0x014C ## $a3 = 0000014C
/* 00774 80882474 0C031AD5 */ jal Graph_CloseDisps
/* 00778 80882478 8DC50000 */ lw $a1, 0x0000($t6) ## 00000000
/* 0077C 8088247C 8FBF003C */ lw $ra, 0x003C($sp)
/* 00780 80882480 8FB00038 */ lw $s0, 0x0038($sp)
/* 00784 80882484 27BD0090 */ addiu $sp, $sp, 0x0090 ## $sp = 00000000
/* 00788 80882488 03E00008 */ jr $ra
/* 0078C 8088248C 00000000 */ nop

View file

@ -1,39 +0,0 @@
glabel BgHakaWater_Init
/* 00000 80881D00 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 00004 80881D04 AFA50024 */ sw $a1, 0x0024($sp)
/* 00008 80881D08 AFBF001C */ sw $ra, 0x001C($sp)
/* 0000C 80881D0C AFB00018 */ sw $s0, 0x0018($sp)
/* 00010 80881D10 3C058088 */ lui $a1, %hi(D_808824B0) ## $a1 = 80880000
/* 00014 80881D14 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00018 80881D18 0C01E037 */ jal Actor_ProcessInitChain
/* 0001C 80881D1C 24A524B0 */ addiu $a1, $a1, %lo(D_808824B0) ## $a1 = 808824B0
/* 00020 80881D20 8FA40024 */ lw $a0, 0x0024($sp)
/* 00024 80881D24 0C00B2D0 */ jal Flags_GetSwitch
/* 00028 80881D28 8605001C */ lh $a1, 0x001C($s0) ## 0000001C
/* 0002C 80881D2C 1040000B */ beq $v0, $zero, .L80881D5C
/* 00030 80881D30 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00034 80881D34 3C014348 */ lui $at, 0x4348 ## $at = 43480000
/* 00038 80881D38 44813000 */ mtc1 $at, $f6 ## $f6 = 200.00
/* 0003C 80881D3C C604000C */ lwc1 $f4, 0x000C($s0) ## 0000000C
/* 00040 80881D40 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001
/* 00044 80881D44 A20E0150 */ sb $t6, 0x0150($s0) ## 00000150
/* 00048 80881D48 46062201 */ sub.s $f8, $f4, $f6
/* 0004C 80881D4C E608000C */ swc1 $f8, 0x000C($s0) ## 0000000C
/* 00050 80881D50 C60A000C */ lwc1 $f10, 0x000C($s0) ## 0000000C
/* 00054 80881D54 10000002 */ beq $zero, $zero, .L80881D60
/* 00058 80881D58 E60A0028 */ swc1 $f10, 0x0028($s0) ## 00000028
.L80881D5C:
/* 0005C 80881D5C A2000150 */ sb $zero, 0x0150($s0) ## 00000150
.L80881D60:
/* 00060 80881D60 0C220765 */ jal func_80881D94
/* 00064 80881D64 8FA50024 */ lw $a1, 0x0024($sp)
/* 00068 80881D68 3C0F8088 */ lui $t7, %hi(func_80881EDC) ## $t7 = 80880000
/* 0006C 80881D6C 25EF1EDC */ addiu $t7, $t7, %lo(func_80881EDC) ## $t7 = 80881EDC
/* 00070 80881D70 AE0F014C */ sw $t7, 0x014C($s0) ## 0000014C
/* 00074 80881D74 8FBF001C */ lw $ra, 0x001C($sp)
/* 00078 80881D78 8FB00018 */ lw $s0, 0x0018($sp)
/* 0007C 80881D7C 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 00080 80881D80 03E00008 */ jr $ra
/* 00084 80881D84 00000000 */ nop

View file

@ -1,10 +0,0 @@
glabel BgHakaWater_Update
/* 003A0 808820A0 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 003A4 808820A4 AFBF0014 */ sw $ra, 0x0014($sp)
/* 003A8 808820A8 8C99014C */ lw $t9, 0x014C($a0) ## 0000014C
/* 003AC 808820AC 0320F809 */ jalr $ra, $t9
/* 003B0 808820B0 00000000 */ nop
/* 003B4 808820B4 8FBF0014 */ lw $ra, 0x0014($sp)
/* 003B8 808820B8 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 003BC 808820BC 03E00008 */ jr $ra
/* 003C0 808820C0 00000000 */ nop

View file

@ -1,85 +0,0 @@
glabel func_80881D94
/* 00094 80881D94 C4840028 */ lwc1 $f4, 0x0028($a0) ## 00000028
/* 00098 80881D98 8CA907C0 */ lw $t1, 0x07C0($a1) ## 000007C0
/* 0009C 80881D9C 24030010 */ addiu $v1, $zero, 0x0010 ## $v1 = 00000010
/* 000A0 80881DA0 4600218D */ trunc.w.s $f6, $f4
/* 000A4 80881DA4 8D2A0028 */ lw $t2, 0x0028($t1) ## 00000028
/* 000A8 80881DA8 24020090 */ addiu $v0, $zero, 0x0090 ## $v0 = 00000090
/* 000AC 80881DAC 44193000 */ mfc1 $t9, $f6
/* 000B0 80881DB0 00000000 */ nop
/* 000B4 80881DB4 2728FFF8 */ addiu $t0, $t9, 0xFFF8 ## $t0 = FFFFFFF8
/* 000B8 80881DB8 A5480002 */ sh $t0, 0x0002($t2) ## 00000002
/* 000BC 80881DBC C4920028 */ lwc1 $f18, 0x0028($a0) ## 00000028
/* 000C0 80881DC0 8CB807C0 */ lw $t8, 0x07C0($a1) ## 000007C0
/* 000C4 80881DC4 2442FFC0 */ addiu $v0, $v0, 0xFFC0 ## $v0 = 00000050
/* 000C8 80881DC8 4600948D */ trunc.w.s $f18, $f18
/* 000CC 80881DCC 8F190028 */ lw $t9, 0x0028($t8) ## 00000028
/* 000D0 80881DD0 440E9000 */ mfc1 $t6, $f18
/* 000D4 80881DD4 03234821 */ addu $t1, $t9, $v1
/* 000D8 80881DD8 10620023 */ beq $v1, $v0, .L80881E68
/* 000DC 80881DDC 25CFFFF8 */ addiu $t7, $t6, 0xFFF8 ## $t7 = FFFFFFF8
.L80881DE0:
/* 000E0 80881DE0 A52F0002 */ sh $t7, 0x0002($t1) ## 00000002
/* 000E4 80881DE4 C4920028 */ lwc1 $f18, 0x0028($a0) ## 00000028
/* 000E8 80881DE8 8CAE07C0 */ lw $t6, 0x07C0($a1) ## 000007C0
/* 000EC 80881DEC 4600948D */ trunc.w.s $f18, $f18
/* 000F0 80881DF0 8DD80028 */ lw $t8, 0x0028($t6) ## 00000028
/* 000F4 80881DF4 440C9000 */ mfc1 $t4, $f18
/* 000F8 80881DF8 0303C821 */ addu $t9, $t8, $v1
/* 000FC 80881DFC 258DFFF8 */ addiu $t5, $t4, 0xFFF8 ## $t5 = FFFFFFF8
/* 00100 80881E00 A72D0012 */ sh $t5, 0x0012($t9) ## 00000012
/* 00104 80881E04 C4920028 */ lwc1 $f18, 0x0028($a0) ## 00000028
/* 00108 80881E08 8CAC07C0 */ lw $t4, 0x07C0($a1) ## 000007C0
/* 0010C 80881E0C 4600948D */ trunc.w.s $f18, $f18
/* 00110 80881E10 8D8E0028 */ lw $t6, 0x0028($t4) ## 00000028
/* 00114 80881E14 440A9000 */ mfc1 $t2, $f18
/* 00118 80881E18 01C3C021 */ addu $t8, $t6, $v1
/* 0011C 80881E1C 254BFFF8 */ addiu $t3, $t2, 0xFFF8 ## $t3 = FFFFFFF8
/* 00120 80881E20 A70B0022 */ sh $t3, 0x0022($t8) ## 00000022
/* 00124 80881E24 C4920028 */ lwc1 $f18, 0x0028($a0) ## 00000028
/* 00128 80881E28 8CAA07C0 */ lw $t2, 0x07C0($a1) ## 000007C0
/* 0012C 80881E2C 4600948D */ trunc.w.s $f18, $f18
/* 00130 80881E30 8D4C0028 */ lw $t4, 0x0028($t2) ## 00000028
/* 00134 80881E34 44099000 */ mfc1 $t1, $f18
/* 00138 80881E38 01837021 */ addu $t6, $t4, $v1
/* 0013C 80881E3C 24630040 */ addiu $v1, $v1, 0x0040 ## $v1 = 00000050
/* 00140 80881E40 2528FFF8 */ addiu $t0, $t1, 0xFFF8 ## $t0 = FFFFFFF8
/* 00144 80881E44 A5C80032 */ sh $t0, 0x0032($t6) ## 00000032
/* 00148 80881E48 C4920028 */ lwc1 $f18, 0x0028($a0) ## 00000028
/* 0014C 80881E4C 8CB807C0 */ lw $t8, 0x07C0($a1) ## 000007C0
/* 00150 80881E50 4600948D */ trunc.w.s $f18, $f18
/* 00154 80881E54 8F190028 */ lw $t9, 0x0028($t8) ## 00000028
/* 00158 80881E58 440E9000 */ mfc1 $t6, $f18
/* 0015C 80881E5C 03234821 */ addu $t1, $t9, $v1
/* 00160 80881E60 1462FFDF */ bne $v1, $v0, .L80881DE0
/* 00164 80881E64 25CFFFF8 */ addiu $t7, $t6, 0xFFF8 ## $t7 = FFFFFFF8
.L80881E68:
/* 00168 80881E68 A52F0002 */ sh $t7, 0x0002($t1) ## 00000002
/* 0016C 80881E6C C4920028 */ lwc1 $f18, 0x0028($a0) ## 00000028
/* 00170 80881E70 8CAE07C0 */ lw $t6, 0x07C0($a1) ## 000007C0
/* 00174 80881E74 24420040 */ addiu $v0, $v0, 0x0040 ## $v0 = 00000090
/* 00178 80881E78 4600948D */ trunc.w.s $f18, $f18
/* 0017C 80881E7C 8DD80028 */ lw $t8, 0x0028($t6) ## 00000028
/* 00180 80881E80 440C9000 */ mfc1 $t4, $f18
/* 00184 80881E84 0303C821 */ addu $t9, $t8, $v1
/* 00188 80881E88 258DFFF8 */ addiu $t5, $t4, 0xFFF8 ## $t5 = FFFFFFF8
/* 0018C 80881E8C A72D0012 */ sh $t5, 0x0012($t9) ## 00000012
/* 00190 80881E90 C4920028 */ lwc1 $f18, 0x0028($a0) ## 00000028
/* 00194 80881E94 8CAC07C0 */ lw $t4, 0x07C0($a1) ## 000007C0
/* 00198 80881E98 4600948D */ trunc.w.s $f18, $f18
/* 0019C 80881E9C 8D8E0028 */ lw $t6, 0x0028($t4) ## 00000028
/* 001A0 80881EA0 440A9000 */ mfc1 $t2, $f18
/* 001A4 80881EA4 01C3C021 */ addu $t8, $t6, $v1
/* 001A8 80881EA8 254BFFF8 */ addiu $t3, $t2, 0xFFF8 ## $t3 = FFFFFFF8
/* 001AC 80881EAC A70B0022 */ sh $t3, 0x0022($t8) ## 00000022
/* 001B0 80881EB0 C4920028 */ lwc1 $f18, 0x0028($a0) ## 00000028
/* 001B4 80881EB4 8CAA07C0 */ lw $t2, 0x07C0($a1) ## 000007C0
/* 001B8 80881EB8 4600948D */ trunc.w.s $f18, $f18
/* 001BC 80881EBC 8D4C0028 */ lw $t4, 0x0028($t2) ## 00000028
/* 001C0 80881EC0 44099000 */ mfc1 $t1, $f18
/* 001C4 80881EC4 01837021 */ addu $t6, $t4, $v1
/* 001C8 80881EC8 24630040 */ addiu $v1, $v1, 0x0040 ## $v1 = 00000090
/* 001CC 80881ECC 2528FFF8 */ addiu $t0, $t1, 0xFFF8 ## $t0 = FFFFFFF8
/* 001D0 80881ED0 A5C80032 */ sh $t0, 0x0032($t6) ## 00000032
/* 001D4 80881ED4 03E00008 */ jr $ra
/* 001D8 80881ED8 00000000 */ nop

View file

@ -1,55 +0,0 @@
glabel func_80881EDC
/* 001DC 80881EDC 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 001E0 80881EE0 AFBF0014 */ sw $ra, 0x0014($sp)
/* 001E4 80881EE4 AFA5001C */ sw $a1, 0x001C($sp)
/* 001E8 80881EE8 90820150 */ lbu $v0, 0x0150($a0) ## 00000150
/* 001EC 80881EEC 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
/* 001F0 80881EF0 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 001F4 80881EF4 14400007 */ bne $v0, $zero, .L80881F14
/* 001F8 80881EF8 00000000 */ nop
/* 001FC 80881EFC 84C5001C */ lh $a1, 0x001C($a2) ## 0000001C
/* 00200 80881F00 0C00B2D0 */ jal Flags_GetSwitch
/* 00204 80881F04 AFA60018 */ sw $a2, 0x0018($sp)
/* 00208 80881F08 14400009 */ bne $v0, $zero, .L80881F30
/* 0020C 80881F0C 8FA60018 */ lw $a2, 0x0018($sp)
/* 00210 80881F10 90C20150 */ lbu $v0, 0x0150($a2) ## 00000150
.L80881F14:
/* 00214 80881F14 1040001C */ beq $v0, $zero, .L80881F88
/* 00218 80881F18 8FA4001C */ lw $a0, 0x001C($sp)
/* 0021C 80881F1C 84C5001C */ lh $a1, 0x001C($a2) ## 0000001C
/* 00220 80881F20 0C00B2D0 */ jal Flags_GetSwitch
/* 00224 80881F24 AFA60018 */ sw $a2, 0x0018($sp)
/* 00228 80881F28 14400017 */ bne $v0, $zero, .L80881F88
/* 0022C 80881F2C 8FA60018 */ lw $a2, 0x0018($sp)
.L80881F30:
/* 00230 80881F30 90CE0150 */ lbu $t6, 0x0150($a2) ## 00000150
/* 00234 80881F34 3C198088 */ lui $t9, %hi(func_80881F98) ## $t9 = 80880000
/* 00238 80881F38 3C014348 */ lui $at, 0x4348 ## $at = 43480000
/* 0023C 80881F3C 11C0000B */ beq $t6, $zero, .L80881F6C
/* 00240 80881F40 27391F98 */ addiu $t9, $t9, %lo(func_80881F98) ## $t9 = 80881F98
/* 00244 80881F44 3C014348 */ lui $at, 0x4348 ## $at = 43480000
/* 00248 80881F48 44813000 */ mtc1 $at, $f6 ## $f6 = 200.00
/* 0024C 80881F4C C4C4000C */ lwc1 $f4, 0x000C($a2) ## 0000000C
/* 00250 80881F50 3C0F8088 */ lui $t7, %hi(BgHakaWater_Draw) ## $t7 = 80880000
/* 00254 80881F54 25EF20C4 */ addiu $t7, $t7, %lo(BgHakaWater_Draw) ## $t7 = 808820C4
/* 00258 80881F58 46062200 */ add.s $f8, $f4, $f6
/* 0025C 80881F5C A0C00150 */ sb $zero, 0x0150($a2) ## 00000150
/* 00260 80881F60 ACCF0134 */ sw $t7, 0x0134($a2) ## 00000134
/* 00264 80881F64 10000007 */ beq $zero, $zero, .L80881F84
/* 00268 80881F68 E4C8000C */ swc1 $f8, 0x000C($a2) ## 0000000C
.L80881F6C:
/* 0026C 80881F6C C4CA000C */ lwc1 $f10, 0x000C($a2) ## 0000000C
/* 00270 80881F70 44818000 */ mtc1 $at, $f16 ## $f16 = 200.00
/* 00274 80881F74 24180001 */ addiu $t8, $zero, 0x0001 ## $t8 = 00000001
/* 00278 80881F78 A0D80150 */ sb $t8, 0x0150($a2) ## 00000150
/* 0027C 80881F7C 46105481 */ sub.s $f18, $f10, $f16
/* 00280 80881F80 E4D2000C */ swc1 $f18, 0x000C($a2) ## 0000000C
.L80881F84:
/* 00284 80881F84 ACD9014C */ sw $t9, 0x014C($a2) ## 0000014C
.L80881F88:
/* 00288 80881F88 8FBF0014 */ lw $ra, 0x0014($sp)
/* 0028C 80881F8C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00290 80881F90 03E00008 */ jr $ra
/* 00294 80881F94 00000000 */ nop

View file

@ -1,77 +0,0 @@
glabel func_80881F98
/* 00298 80881F98 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 0029C 80881F9C AFBF001C */ sw $ra, 0x001C($sp)
/* 002A0 80881FA0 AFB00018 */ sw $s0, 0x0018($sp)
/* 002A4 80881FA4 AFA50024 */ sw $a1, 0x0024($sp)
/* 002A8 80881FA8 908E0150 */ lbu $t6, 0x0150($a0) ## 00000150
/* 002AC 80881FAC 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 002B0 80881FB0 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 002B4 80881FB4 55C0000D */ bnel $t6, $zero, .L80881FEC
/* 002B8 80881FB8 92180150 */ lbu $t8, 0x0150($s0) ## 00000150
/* 002BC 80881FBC 0C00B2D0 */ jal Flags_GetSwitch
/* 002C0 80881FC0 8605001C */ lh $a1, 0x001C($s0) ## 0000001C
/* 002C4 80881FC4 10400008 */ beq $v0, $zero, .L80881FE8
/* 002C8 80881FC8 3C014348 */ lui $at, 0x4348 ## $at = 43480000
/* 002CC 80881FCC C604000C */ lwc1 $f4, 0x000C($s0) ## 0000000C
/* 002D0 80881FD0 44813000 */ mtc1 $at, $f6 ## $f6 = 200.00
/* 002D4 80881FD4 240F0001 */ addiu $t7, $zero, 0x0001 ## $t7 = 00000001
/* 002D8 80881FD8 A20F0150 */ sb $t7, 0x0150($s0) ## 00000150
/* 002DC 80881FDC 46062201 */ sub.s $f8, $f4, $f6
/* 002E0 80881FE0 1000000E */ beq $zero, $zero, .L8088201C
/* 002E4 80881FE4 E608000C */ swc1 $f8, 0x000C($s0) ## 0000000C
.L80881FE8:
/* 002E8 80881FE8 92180150 */ lbu $t8, 0x0150($s0) ## 00000150
.L80881FEC:
/* 002EC 80881FEC 8FA40024 */ lw $a0, 0x0024($sp)
/* 002F0 80881FF0 5300000B */ beql $t8, $zero, .L80882020
/* 002F4 80881FF4 C604000C */ lwc1 $f4, 0x000C($s0) ## 0000000C
/* 002F8 80881FF8 0C00B2D0 */ jal Flags_GetSwitch
/* 002FC 80881FFC 8605001C */ lh $a1, 0x001C($s0) ## 0000001C
/* 00300 80882000 14400006 */ bne $v0, $zero, .L8088201C
/* 00304 80882004 3C014348 */ lui $at, 0x4348 ## $at = 43480000
/* 00308 80882008 C60A000C */ lwc1 $f10, 0x000C($s0) ## 0000000C
/* 0030C 8088200C 44818000 */ mtc1 $at, $f16 ## $f16 = 200.00
/* 00310 80882010 A2000150 */ sb $zero, 0x0150($s0) ## 00000150
/* 00314 80882014 46105480 */ add.s $f18, $f10, $f16
/* 00318 80882018 E612000C */ swc1 $f18, 0x000C($s0) ## 0000000C
.L8088201C:
/* 0031C 8088201C C604000C */ lwc1 $f4, 0x000C($s0) ## 0000000C
.L80882020:
/* 00320 80882020 C6060028 */ lwc1 $f6, 0x0028($s0) ## 00000028
/* 00324 80882024 2405205E */ addiu $a1, $zero, 0x205E ## $a1 = 0000205E
/* 00328 80882028 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 0032C 8088202C 4606203C */ c.lt.s $f4, $f6
/* 00330 80882030 00000000 */ nop
/* 00334 80882034 45000005 */ bc1f .L8088204C
/* 00338 80882038 00000000 */ nop
/* 0033C 8088203C 0C00BE52 */ jal func_8002F948
/* 00340 80882040 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00344 80882044 10000004 */ beq $zero, $zero, .L80882058
/* 00348 80882048 26040028 */ addiu $a0, $s0, 0x0028 ## $a0 = 00000028
.L8088204C:
/* 0034C 8088204C 0C00BE52 */ jal func_8002F948
/* 00350 80882050 2405205E */ addiu $a1, $zero, 0x205E ## $a1 = 0000205E
/* 00354 80882054 26040028 */ addiu $a0, $s0, 0x0028 ## $a0 = 00000028
.L80882058:
/* 00358 80882058 8E05000C */ lw $a1, 0x000C($s0) ## 0000000C
/* 0035C 8088205C 0C01DE80 */ jal Math_ApproxF
/* 00360 80882060 3C063F00 */ lui $a2, 0x3F00 ## $a2 = 3F000000
/* 00364 80882064 10400007 */ beq $v0, $zero, .L80882084
/* 00368 80882068 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 0036C 8088206C 92080150 */ lbu $t0, 0x0150($s0) ## 00000150
/* 00370 80882070 3C198088 */ lui $t9, %hi(func_80881EDC) ## $t9 = 80880000
/* 00374 80882074 27391EDC */ addiu $t9, $t9, %lo(func_80881EDC) ## $t9 = 80881EDC
/* 00378 80882078 11000002 */ beq $t0, $zero, .L80882084
/* 0037C 8088207C AE19014C */ sw $t9, 0x014C($s0) ## 0000014C
/* 00380 80882080 AE000134 */ sw $zero, 0x0134($s0) ## 00000134
.L80882084:
/* 00384 80882084 0C220765 */ jal func_80881D94
/* 00388 80882088 8FA50024 */ lw $a1, 0x0024($sp)
/* 0038C 8088208C 8FBF001C */ lw $ra, 0x001C($sp)
/* 00390 80882090 8FB00018 */ lw $s0, 0x0018($sp)
/* 00394 80882094 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 00398 80882098 03E00008 */ jr $ra
/* 0039C 8088209C 00000000 */ nop

View file

@ -1,20 +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_Haka_Water_InitVars
.word 0x00D70600, 0x00000030, 0x008D0000, 0x00000154
.word BgHakaWater_Init
.word BgHakaWater_Destroy
.word BgHakaWater_Update
.word BgHakaWater_Draw
glabel D_808824B0
.word 0x48500064, 0x00000000, 0x00000000, 0x00000000

View file

@ -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_80882530
.incbin "baserom/ovl_Bg_Haka_Water", 0x830, 0x00000090

3
spec
View file

@ -810,8 +810,7 @@ endseg
beginseg
name "ovl_Bg_Haka_Water"
include "build/src/overlays/actors/ovl_Bg_Haka_Water/z_bg_haka_water.o"
include "build/data/overlays/actors/z_bg_haka_water.data.o"
include "build/data/overlays/actors/z_bg_haka_water.reloc.o"
include "build/src/overlays/actors/ovl_Bg_Haka_Water/ovl_Bg_Haka_Water_reloc.o"
endseg
beginseg

View file

@ -15,11 +15,13 @@ void BgHakaWater_Destroy(Actor* thisx, GlobalContext* globalCtx);
void BgHakaWater_Update(Actor* thisx, GlobalContext* globalCtx);
void BgHakaWater_Draw(Actor* thisx, GlobalContext* globalCtx);
// ? func_80881D94(BgHakaWater* this, GlobalContext* globalCtx) // not entirely sure on this one
void func_80881EDC(BgHakaWater* this, GlobalContext* globalCtx);
void func_80881F98(BgHakaWater* this, GlobalContext* globalCtx);
void func_80881D94(BgHakaWater* this, GlobalContext* globalCtx);
void BgHakaWater_Wait(BgHakaWater* this, GlobalContext* globalCtx);
void BgHakaWater_ChangeWaterLevel(BgHakaWater* this, GlobalContext* globalCtx);
extern Gfx D_06001E50[];
extern Gfx D_06002010[];
/*
const ActorInit Bg_Haka_Water_InitVars = {
ACTOR_BG_HAKA_WATER,
ACTORTYPE_PROP,
@ -31,18 +33,122 @@ const ActorInit Bg_Haka_Water_InitVars = {
(ActorFunc)BgHakaWater_Update,
(ActorFunc)BgHakaWater_Draw,
};
*/
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Haka_Water/BgHakaWater_Init.s")
InitChainEntry sInitChain[] = {
ICHAIN_VEC3F_DIV1000(scale, 100, ICHAIN_STOP),
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Haka_Water/BgHakaWater_Destroy.s")
void BgHakaWater_Init(Actor* thisx, GlobalContext* globalCtx) {
BgHakaWater* this = THIS;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Haka_Water/func_80881D94.s")
Actor_ProcessInitChain(&this->actor, sInitChain);
if (Flags_GetSwitch(globalCtx, this->actor.params)) {
this->isLowered = true;
this->actor.initPosRot.pos.y -= 200.0f;
this->actor.posRot.pos.y = this->actor.initPosRot.pos.y;
} else {
this->isLowered = false;
}
func_80881D94(this, globalCtx);
this->actionFunc = BgHakaWater_Wait;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Haka_Water/func_80881EDC.s")
void BgHakaWater_Destroy(Actor* thisx, GlobalContext* globalCtx) {
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Haka_Water/func_80881F98.s")
void func_80881D94(BgHakaWater* this, GlobalContext* globalCtx) {
s32 i;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Haka_Water/BgHakaWater_Update.s")
for (i = 0; i < 9; i++) {
globalCtx->colCtx.stat.colHeader->waterBoxes[i].unk_02 = (s16)this->actor.posRot.pos.y - 8;
}
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Haka_Water/BgHakaWater_Draw.s")
void BgHakaWater_Wait(BgHakaWater* this, GlobalContext* globalCtx) {
if ((!this->isLowered && Flags_GetSwitch(globalCtx, this->actor.params)) ||
(this->isLowered && !Flags_GetSwitch(globalCtx, this->actor.params))) {
if (this->isLowered) {
this->isLowered = false;
this->actor.draw = BgHakaWater_Draw;
this->actor.initPosRot.pos.y += 200.0f;
} else {
this->isLowered = true;
this->actor.initPosRot.pos.y -= 200.0f;
}
this->actionFunc = BgHakaWater_ChangeWaterLevel;
}
}
void BgHakaWater_ChangeWaterLevel(BgHakaWater* this, GlobalContext* globalCtx) {
if (!this->isLowered && Flags_GetSwitch(globalCtx, this->actor.params)) {
this->isLowered = true;
this->actor.initPosRot.pos.y -= 200.0f;
} else if (this->isLowered && !Flags_GetSwitch(globalCtx, this->actor.params)) {
this->isLowered = false;
this->actor.initPosRot.pos.y += 200.0f;
}
if (this->actor.initPosRot.pos.y < this->actor.posRot.pos.y) {
func_8002F948(&this->actor, NA_SE_EV_WATER_LEVEL_DOWN - SFX_FLAG);
} else {
func_8002F948(&this->actor, NA_SE_EV_WATER_LEVEL_DOWN - SFX_FLAG);
}
if (Math_ApproxF(&this->actor.posRot.pos.y, this->actor.initPosRot.pos.y, 0.5f) != 0) {
this->actionFunc = BgHakaWater_Wait;
if (this->isLowered) {
this->actor.draw = NULL;
}
}
func_80881D94(this, globalCtx);
}
void BgHakaWater_Update(Actor* thisx, GlobalContext* globalCtx) {
BgHakaWater* this = THIS;
this->actionFunc(this, globalCtx);
}
void BgHakaWater_Draw(Actor* thisx, GlobalContext* globalCtx) {
BgHakaWater* this = THIS;
s32 pad;
f32 temp;
s32 pad2;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
gfxCtx = globalCtx->state.gfxCtx;
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_haka_water.c", 287);
func_80093D84(globalCtx->state.gfxCtx);
if (this->isLowered) {
temp = this->actor.posRot.pos.y - this->actor.initPosRot.pos.y;
} else {
temp = this->actor.posRot.pos.y - (this->actor.initPosRot.pos.y - 200.0f);
}
gDPSetPrimColor(gfxCtx->polyXlu.p++, 0, 0, 255, 255, 255, (u8)(0.765f * temp));
gSPSegment(gfxCtx->polyXlu.p++, 0x08,
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, globalCtx->gameplayFrames % 128,
globalCtx->gameplayFrames % 128, 32, 32, 1, 0, (0 - globalCtx->gameplayFrames) % 128,
32, 32));
gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_haka_water.c", 312),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(gfxCtx->polyXlu.p++, D_06001E50);
Matrix_Translate(0.0f, 92.0f, -1680.0f, MTXMODE_NEW);
Matrix_Scale(0.1f, 0.1f, 0.1f, MTXMODE_APPLY);
temp -= 170.0f;
if (temp < 0.0f) {
temp = 0.0f;
}
gDPPipeSync(gfxCtx->polyXlu.p++);
gDPSetPrimColor(gfxCtx->polyXlu.p++, 0, 0, 255, 255, 255, (u8)(5.1f * temp));
gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_haka_water.c", 328),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(gfxCtx->polyXlu.p++, D_06002010);
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_haka_water.c", 332);
}

View file

@ -11,7 +11,7 @@ typedef void (*BgHakaWaterActionFunc)(struct BgHakaWater*, GlobalContext*);
typedef struct BgHakaWater {
/* 0x0000 */ Actor actor;
/* 0x014C */ BgHakaWaterActionFunc actionFunc;
/* 0x0150 */ char unk_150[0x4];
/* 0x0150 */ u8 isLowered;
} BgHakaWater; // size = 0x0154
extern const ActorInit Bg_Haka_Water_InitVars;

View file

@ -897,6 +897,10 @@ D_0200F870 = 0x0200F870;
D_060011B8 = 0x060011B8;
D_06001040 = 0x06001040;
// z_bg_haka_water
D_06001E50 = 0x06001E50;
D_06002010 = 0x06002010;
// z_en_yukabyun
D_06000A60 = 0x06000A60;
D_06000970 = 0x06000970;