mirror of
https://github.com/zeldaret/oot.git
synced 2025-01-14 04:07:06 +00:00
Bg_Gnd_Iceblock and Bg_Ice_Objects (sliding ice blocks) (#534)
* Darkmeiro decompilation Bg_Gnd_Darkmeiro decompiled, matched, and documented. * give this a shot * fix conflict * one more try * could be useful * whoops * ZAP2 stuff * ZAP why * ZAP again * a good start * done * Log * formatting * thisx Co-authored-by: petrie911 <pmontag@DESKTOP-LG8A167.localdomain>
This commit is contained in:
parent
21e367a7cb
commit
695bc37be4
34 changed files with 544 additions and 2154 deletions
|
@ -1,14 +0,0 @@
|
|||
glabel BgGndIceblock_Destroy
|
||||
/* 00134 80879BD4 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 00138 80879BD8 AFA40018 */ sw $a0, 0x0018($sp)
|
||||
/* 0013C 80879BDC 8FAE0018 */ lw $t6, 0x0018($sp)
|
||||
/* 00140 80879BE0 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00144 80879BE4 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
|
||||
/* 00148 80879BE8 24A50810 */ addiu $a1, $a1, 0x0810 ## $a1 = 00000810
|
||||
/* 0014C 80879BEC 0C00FB56 */ jal DynaPolyInfo_Free
|
||||
## DynaPolyInfo_delReserve
|
||||
/* 00150 80879BF0 8DC6014C */ lw $a2, 0x014C($t6) ## 0000014C
|
||||
/* 00154 80879BF4 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00158 80879BF8 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 0015C 80879BFC 03E00008 */ jr $ra
|
||||
/* 00160 80879C00 00000000 */ nop
|
|
@ -1,14 +0,0 @@
|
|||
glabel BgGndIceblock_Draw
|
||||
/* 00C50 8087A6F0 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 00C54 8087A6F4 AFA40018 */ sw $a0, 0x0018($sp)
|
||||
/* 00C58 8087A6F8 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
|
||||
/* 00C5C 8087A6FC AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00C60 8087A700 3C050600 */ lui $a1, %hi(D_06004420) ## $a1 = 06000000
|
||||
/* 00C64 8087A704 0C00D498 */ jal Gfx_DrawDListOpa
|
||||
|
||||
/* 00C68 8087A708 24A54420 */ addiu $a1, $a1, %lo(D_06004420) ## $a1 = 06004420
|
||||
/* 00C6C 8087A70C 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00C70 8087A710 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 00C74 8087A714 03E00008 */ jr $ra
|
||||
/* 00C78 8087A718 00000000 */ nop
|
||||
/* 00C7C 8087A71C 00000000 */ nop
|
|
@ -1,113 +0,0 @@
|
|||
.rdata
|
||||
glabel D_8087A790
|
||||
.asciz "../z_bg_gnd_iceblock.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_8087A7A8
|
||||
.asciz "thisx->world.position.x = %f\n"
|
||||
.balign 4
|
||||
|
||||
glabel D_8087A7C8
|
||||
.asciz "0"
|
||||
.balign 4
|
||||
|
||||
glabel D_8087A7CC
|
||||
.asciz "../z_bg_gnd_iceblock.c"
|
||||
.balign 4
|
||||
|
||||
.late_rodata
|
||||
glabel D_8087A7E4
|
||||
.float 2792.0
|
||||
|
||||
glabel D_8087A7E8
|
||||
.float 3032.0
|
||||
|
||||
.text
|
||||
glabel BgGndIceblock_Init
|
||||
/* 00000 80879AA0 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
|
||||
/* 00004 80879AA4 AFA50034 */ sw $a1, 0x0034($sp)
|
||||
/* 00008 80879AA8 AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 0000C 80879AAC AFB00018 */ sw $s0, 0x0018($sp)
|
||||
/* 00010 80879AB0 3C058088 */ lui $a1, %hi(D_8087A754) ## $a1 = 80880000
|
||||
/* 00014 80879AB4 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00018 80879AB8 AFA00024 */ sw $zero, 0x0024($sp)
|
||||
/* 0001C 80879ABC 0C01E037 */ jal Actor_ProcessInitChain
|
||||
|
||||
/* 00020 80879AC0 24A5A754 */ addiu $a1, $a1, %lo(D_8087A754) ## $a1 = 8087A754
|
||||
/* 00024 80879AC4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00028 80879AC8 0C010D20 */ jal DynaPolyInfo_SetActorMove
|
||||
|
||||
/* 0002C 80879ACC 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
|
||||
/* 00030 80879AD0 3C040600 */ lui $a0, %hi(D_06004618) ## $a0 = 06000000
|
||||
/* 00034 80879AD4 24844618 */ addiu $a0, $a0, %lo(D_06004618) ## $a0 = 06004618
|
||||
/* 00038 80879AD8 0C010620 */ jal DynaPolyInfo_Alloc
|
||||
|
||||
/* 0003C 80879ADC 27A50024 */ addiu $a1, $sp, 0x0024 ## $a1 = FFFFFFF4
|
||||
/* 00040 80879AE0 8E0F0008 */ lw $t7, 0x0008($s0) ## 00000008
|
||||
/* 00044 80879AE4 8FA40034 */ lw $a0, 0x0034($sp)
|
||||
/* 00048 80879AE8 8E0E000C */ lw $t6, 0x000C($s0) ## 0000000C
|
||||
/* 0004C 80879AEC AE0F0168 */ sw $t7, 0x0168($s0) ## 00000168
|
||||
/* 00050 80879AF0 8E0F0010 */ lw $t7, 0x0010($s0) ## 00000010
|
||||
/* 00054 80879AF4 3C188088 */ lui $t8, %hi(func_8087A0C8) ## $t8 = 80880000
|
||||
/* 00058 80879AF8 2718A0C8 */ addiu $t8, $t8, %lo(func_8087A0C8) ## $t8 = 8087A0C8
|
||||
/* 0005C 80879AFC AE180164 */ sw $t8, 0x0164($s0) ## 00000164
|
||||
/* 00060 80879B00 AE0E016C */ sw $t6, 0x016C($s0) ## 0000016C
|
||||
/* 00064 80879B04 AE0F0170 */ sw $t7, 0x0170($s0) ## 00000170
|
||||
/* 00068 80879B08 8FA70024 */ lw $a3, 0x0024($sp)
|
||||
/* 0006C 80879B0C 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
|
||||
/* 00070 80879B10 0C00FA9D */ jal DynaPolyInfo_RegisterActor
|
||||
## DynaPolyInfo_setActor
|
||||
/* 00074 80879B14 24850810 */ addiu $a1, $a0, 0x0810 ## $a1 = 00000810
|
||||
/* 00078 80879B18 AE02014C */ sw $v0, 0x014C($s0) ## 0000014C
|
||||
/* 0007C 80879B1C 3C018088 */ lui $at, %hi(D_8087A7E4) ## $at = 80880000
|
||||
/* 00080 80879B20 C424A7E4 */ lwc1 $f4, %lo(D_8087A7E4)($at)
|
||||
/* 00084 80879B24 C6000024 */ lwc1 $f0, 0x0024($s0) ## 00000024
|
||||
/* 00088 80879B28 24190007 */ addiu $t9, $zero, 0x0007 ## $t9 = 00000007
|
||||
/* 0008C 80879B2C 3C018088 */ lui $at, %hi(D_8087A7E8) ## $at = 80880000
|
||||
/* 00090 80879B30 46002032 */ c.eq.s $f4, $f0
|
||||
/* 00094 80879B34 00000000 */ nop
|
||||
/* 00098 80879B38 45000005 */ bc1f .L80879B50
|
||||
/* 0009C 80879B3C 00000000 */ nop
|
||||
/* 000A0 80879B40 A600001C */ sh $zero, 0x001C($s0) ## 0000001C
|
||||
/* 000A4 80879B44 3C018088 */ lui $at, %hi(D_8087AC40) ## $at = 80880000
|
||||
/* 000A8 80879B48 1000001D */ beq $zero, $zero, .L80879BC0
|
||||
/* 000AC 80879B4C A039AC40 */ sb $t9, %lo(D_8087AC40)($at)
|
||||
.L80879B50:
|
||||
/* 000B0 80879B50 C426A7E8 */ lwc1 $f6, %lo(D_8087A7E8)($at)
|
||||
/* 000B4 80879B54 3C048088 */ lui $a0, %hi(D_8087A790) ## $a0 = 80880000
|
||||
/* 000B8 80879B58 24080001 */ addiu $t0, $zero, 0x0001 ## $t0 = 00000001
|
||||
/* 000BC 80879B5C 46003032 */ c.eq.s $f6, $f0
|
||||
/* 000C0 80879B60 3C018088 */ lui $at, %hi(D_8087AC41) ## $at = 80880000
|
||||
/* 000C4 80879B64 2409000E */ addiu $t1, $zero, 0x000E ## $t1 = 0000000E
|
||||
/* 000C8 80879B68 2484A790 */ addiu $a0, $a0, %lo(D_8087A790) ## $a0 = 8087A790
|
||||
/* 000CC 80879B6C 45000004 */ bc1f .L80879B80
|
||||
/* 000D0 80879B70 00000000 */ nop
|
||||
/* 000D4 80879B74 A608001C */ sh $t0, 0x001C($s0) ## 0000001C
|
||||
/* 000D8 80879B78 10000011 */ beq $zero, $zero, .L80879BC0
|
||||
/* 000DC 80879B7C A029AC41 */ sb $t1, %lo(D_8087AC41)($at)
|
||||
.L80879B80:
|
||||
/* 000E0 80879B80 0C000B84 */ jal LogUtils_LogThreadId
|
||||
|
||||
/* 000E4 80879B84 2405008A */ addiu $a1, $zero, 0x008A ## $a1 = 0000008A
|
||||
/* 000E8 80879B88 C6080024 */ lwc1 $f8, 0x0024($s0) ## 00000024
|
||||
/* 000EC 80879B8C 3C048088 */ lui $a0, %hi(D_8087A7A8) ## $a0 = 80880000
|
||||
/* 000F0 80879B90 2484A7A8 */ addiu $a0, $a0, %lo(D_8087A7A8) ## $a0 = 8087A7A8
|
||||
/* 000F4 80879B94 460042A1 */ cvt.d.s $f10, $f8
|
||||
/* 000F8 80879B98 44075000 */ mfc1 $a3, $f10
|
||||
/* 000FC 80879B9C 44065800 */ mfc1 $a2, $f11
|
||||
/* 00100 80879BA0 0C00084C */ jal osSyncPrintf
|
||||
|
||||
/* 00104 80879BA4 00000000 */ nop
|
||||
/* 00108 80879BA8 3C048088 */ lui $a0, %hi(D_8087A7C8) ## $a0 = 80880000
|
||||
/* 0010C 80879BAC 3C058088 */ lui $a1, %hi(D_8087A7CC) ## $a1 = 80880000
|
||||
/* 00110 80879BB0 24A5A7CC */ addiu $a1, $a1, %lo(D_8087A7CC) ## $a1 = 8087A7CC
|
||||
/* 00114 80879BB4 2484A7C8 */ addiu $a0, $a0, %lo(D_8087A7C8) ## $a0 = 8087A7C8
|
||||
/* 00118 80879BB8 0C0007FC */ jal __assert
|
||||
|
||||
/* 0011C 80879BBC 2406008B */ addiu $a2, $zero, 0x008B ## $a2 = 0000008B
|
||||
.L80879BC0:
|
||||
/* 00120 80879BC0 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 00124 80879BC4 8FB00018 */ lw $s0, 0x0018($sp)
|
||||
/* 00128 80879BC8 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
|
||||
/* 0012C 80879BCC 03E00008 */ jr $ra
|
||||
/* 00130 80879BD0 00000000 */ nop
|
|
@ -1,10 +0,0 @@
|
|||
glabel BgGndIceblock_Update
|
||||
/* 00C2C 8087A6CC 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 00C30 8087A6D0 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00C34 8087A6D4 8C990164 */ lw $t9, 0x0164($a0) ## 00000164
|
||||
/* 00C38 8087A6D8 0320F809 */ jalr $ra, $t9
|
||||
/* 00C3C 8087A6DC 00000000 */ nop
|
||||
/* 00C40 8087A6E0 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00C44 8087A6E4 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 00C48 8087A6E8 03E00008 */ jr $ra
|
||||
/* 00C4C 8087A6EC 00000000 */ nop
|
|
@ -1,76 +0,0 @@
|
|||
.late_rodata
|
||||
|
||||
glabel D_8087A7EC
|
||||
.float 2552.0
|
||||
|
||||
.text
|
||||
glabel func_80879C04
|
||||
/* 00164 80879C04 3C0E8088 */ lui $t6, %hi(D_8087A758) ## $t6 = 80880000
|
||||
/* 00168 80879C08 25CEA758 */ addiu $t6, $t6, %lo(D_8087A758) ## $t6 = 8087A758
|
||||
/* 0016C 80879C0C 8DD80000 */ lw $t8, 0x0000($t6) ## 8087A758
|
||||
/* 00170 80879C10 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8
|
||||
/* 00174 80879C14 27A2001C */ addiu $v0, $sp, 0x001C ## $v0 = FFFFFFE4
|
||||
/* 00178 80879C18 AC580000 */ sw $t8, 0x0000($v0) ## FFFFFFE4
|
||||
/* 0017C 80879C1C 8DCF0004 */ lw $t7, 0x0004($t6) ## 8087A75C
|
||||
/* 00180 80879C20 3C198088 */ lui $t9, %hi(D_8087A770) ## $t9 = 80880000
|
||||
/* 00184 80879C24 2739A770 */ addiu $t9, $t9, %lo(D_8087A770) ## $t9 = 8087A770
|
||||
/* 00188 80879C28 AC4F0004 */ sw $t7, 0x0004($v0) ## FFFFFFE8
|
||||
/* 0018C 80879C2C 8DD80008 */ lw $t8, 0x0008($t6) ## 8087A760
|
||||
/* 00190 80879C30 27A30004 */ addiu $v1, $sp, 0x0004 ## $v1 = FFFFFFCC
|
||||
/* 00194 80879C34 3C0142F0 */ lui $at, 0x42F0 ## $at = 42F00000
|
||||
/* 00198 80879C38 AC580008 */ sw $t8, 0x0008($v0) ## FFFFFFEC
|
||||
/* 0019C 80879C3C 8DCF000C */ lw $t7, 0x000C($t6) ## 8087A764
|
||||
/* 001A0 80879C40 44810000 */ mtc1 $at, $f0 ## $f0 = 120.00
|
||||
/* 001A4 80879C44 3C018088 */ lui $at, %hi(D_8087AC40) ## $at = 80880000
|
||||
/* 001A8 80879C48 AC4F000C */ sw $t7, 0x000C($v0) ## FFFFFFF0
|
||||
/* 001AC 80879C4C 8DD80010 */ lw $t8, 0x0010($t6) ## 8087A768
|
||||
/* 001B0 80879C50 00455821 */ addu $t3, $v0, $a1
|
||||
/* 001B4 80879C54 AC580010 */ sw $t8, 0x0010($v0) ## FFFFFFF4
|
||||
/* 001B8 80879C58 95D80014 */ lhu $t8, 0x0014($t6) ## 8087A76C
|
||||
/* 001BC 80879C5C A4580014 */ sh $t8, 0x0014($v0) ## FFFFFFF8
|
||||
/* 001C0 80879C60 8F290000 */ lw $t1, 0x0000($t9) ## 8087A770
|
||||
/* 001C4 80879C64 AC690000 */ sw $t1, 0x0000($v1) ## FFFFFFCC
|
||||
/* 001C8 80879C68 8F280004 */ lw $t0, 0x0004($t9) ## 8087A774
|
||||
/* 001CC 80879C6C AC680004 */ sw $t0, 0x0004($v1) ## FFFFFFD0
|
||||
/* 001D0 80879C70 8F290008 */ lw $t1, 0x0008($t9) ## 8087A778
|
||||
/* 001D4 80879C74 AC690008 */ sw $t1, 0x0008($v1) ## FFFFFFD4
|
||||
/* 001D8 80879C78 8F28000C */ lw $t0, 0x000C($t9) ## 8087A77C
|
||||
/* 001DC 80879C7C AC68000C */ sw $t0, 0x000C($v1) ## FFFFFFD8
|
||||
/* 001E0 80879C80 8F290010 */ lw $t1, 0x0010($t9) ## 8087A780
|
||||
/* 001E4 80879C84 AC690010 */ sw $t1, 0x0010($v1) ## FFFFFFDC
|
||||
/* 001E8 80879C88 97290014 */ lhu $t1, 0x0014($t9) ## 8087A784
|
||||
/* 001EC 80879C8C A4690014 */ sh $t1, 0x0014($v1) ## FFFFFFE0
|
||||
/* 001F0 80879C90 848A001C */ lh $t2, 0x001C($a0) ## 0000001C
|
||||
/* 001F4 80879C94 002A0821 */ addu $at, $at, $t2
|
||||
/* 001F8 80879C98 A025AC40 */ sb $a1, %lo(D_8087AC40)($at)
|
||||
/* 001FC 80879C9C 916C0000 */ lbu $t4, 0x0000($t3) ## 00000000
|
||||
/* 00200 80879CA0 3C014F80 */ lui $at, 0x4F80 ## $at = 4F800000
|
||||
/* 00204 80879CA4 448C2000 */ mtc1 $t4, $f4 ## $f4 = 0.00
|
||||
/* 00208 80879CA8 05810004 */ bgez $t4, .L80879CBC
|
||||
/* 0020C 80879CAC 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* 00210 80879CB0 44814000 */ mtc1 $at, $f8 ## $f8 = 4294967296.00
|
||||
/* 00214 80879CB4 00000000 */ nop
|
||||
/* 00218 80879CB8 46083180 */ add.s $f6, $f6, $f8
|
||||
.L80879CBC:
|
||||
/* 0021C 80879CBC 46003282 */ mul.s $f10, $f6, $f0
|
||||
/* 00220 80879CC0 3C018088 */ lui $at, %hi(D_8087A7EC) ## $at = 80880000
|
||||
/* 00224 80879CC4 C430A7EC */ lwc1 $f16, %lo(D_8087A7EC)($at)
|
||||
/* 00228 80879CC8 00656821 */ addu $t5, $v1, $a1
|
||||
/* 0022C 80879CCC 3C01C407 */ lui $at, 0xC407 ## $at = C4070000
|
||||
/* 00230 80879CD0 44812000 */ mtc1 $at, $f4 ## $f4 = -540.00
|
||||
/* 00234 80879CD4 3C014F80 */ lui $at, 0x4F80 ## $at = 4F800000
|
||||
/* 00238 80879CD8 46105480 */ add.s $f18, $f10, $f16
|
||||
/* 0023C 80879CDC E4920168 */ swc1 $f18, 0x0168($a0) ## 00000168
|
||||
/* 00240 80879CE0 91AE0000 */ lbu $t6, 0x0000($t5) ## 00000000
|
||||
/* 00244 80879CE4 448E4000 */ mtc1 $t6, $f8 ## $f8 = -0.00
|
||||
/* 00248 80879CE8 05C10004 */ bgez $t6, .L80879CFC
|
||||
/* 0024C 80879CEC 468041A0 */ cvt.s.w $f6, $f8
|
||||
/* 00250 80879CF0 44815000 */ mtc1 $at, $f10 ## $f10 = 4294967296.00
|
||||
/* 00254 80879CF4 00000000 */ nop
|
||||
/* 00258 80879CF8 460A3180 */ add.s $f6, $f6, $f10
|
||||
.L80879CFC:
|
||||
/* 0025C 80879CFC 46003402 */ mul.s $f16, $f6, $f0
|
||||
/* 00260 80879D00 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000
|
||||
/* 00264 80879D04 46102481 */ sub.s $f18, $f4, $f16
|
||||
/* 00268 80879D08 03E00008 */ jr $ra
|
||||
/* 0026C 80879D0C E4920170 */ swc1 $f18, 0x0170($a0) ## 00000170
|
|
@ -1,18 +0,0 @@
|
|||
glabel func_80879D10
|
||||
/* 00270 80879D10 3C038088 */ lui $v1, %hi(D_8087AC40) ## $v1 = 80880000
|
||||
/* 00274 80879D14 3C028088 */ lui $v0, %hi(D_8087AC42) ## $v0 = 80880000
|
||||
/* 00278 80879D18 2442AC42 */ addiu $v0, $v0, %lo(D_8087AC42) ## $v0 = 8087AC42
|
||||
/* 0027C 80879D1C 2463AC40 */ addiu $v1, $v1, %lo(D_8087AC40) ## $v1 = 8087AC40
|
||||
/* 00280 80879D20 906E0000 */ lbu $t6, 0x0000($v1) ## 8087AC40
|
||||
.L80879D24:
|
||||
/* 00284 80879D24 24630001 */ addiu $v1, $v1, 0x0001 ## $v1 = 8087AC41
|
||||
/* 00288 80879D28 148E0003 */ bne $a0, $t6, .L80879D38
|
||||
/* 0028C 80879D2C 00000000 */ nop
|
||||
/* 00290 80879D30 03E00008 */ jr $ra
|
||||
/* 00294 80879D34 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
|
||||
.L80879D38:
|
||||
/* 00298 80879D38 5462FFFA */ bnel $v1, $v0, .L80879D24
|
||||
/* 0029C 80879D3C 906E0000 */ lbu $t6, 0x0000($v1) ## 8087AC41
|
||||
/* 002A0 80879D40 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
||||
/* 002A4 80879D44 03E00008 */ jr $ra
|
||||
/* 002A8 80879D48 00000000 */ nop
|
|
@ -1,51 +0,0 @@
|
|||
.late_rodata
|
||||
|
||||
glabel jtbl_8087A7F0
|
||||
.word L80879D7C
|
||||
.word L80879D7C
|
||||
.word L80879D8C
|
||||
.word L80879D8C
|
||||
.word L80879D8C
|
||||
.word L80879D7C
|
||||
.word L80879D8C
|
||||
.word L80879D8C
|
||||
.word L80879D84
|
||||
.word L80879D8C
|
||||
.word L80879D8C
|
||||
.word L80879D8C
|
||||
.word L80879D8C
|
||||
.word L80879D7C
|
||||
.word L80879D8C
|
||||
.word L80879D8C
|
||||
.word L80879D7C
|
||||
.word L80879D8C
|
||||
.word L80879D8C
|
||||
.word L80879D8C
|
||||
.word L80879D7C
|
||||
.word L80879D7C
|
||||
|
||||
.text
|
||||
glabel func_80879D4C
|
||||
/* 002AC 80879D4C 848E001C */ lh $t6, 0x001C($a0) ## 0000001C
|
||||
/* 002B0 80879D50 3C0F8088 */ lui $t7, %hi(D_8087AC40) ## $t7 = 80880000
|
||||
/* 002B4 80879D54 01EE7821 */ addu $t7, $t7, $t6
|
||||
/* 002B8 80879D58 91EFAC40 */ lbu $t7, %lo(D_8087AC40)($t7)
|
||||
/* 002BC 80879D5C 2DE10016 */ sltiu $at, $t7, 0x0016
|
||||
/* 002C0 80879D60 1020000A */ beq $at, $zero, .L80879D8C
|
||||
/* 002C4 80879D64 000F7880 */ sll $t7, $t7, 2
|
||||
/* 002C8 80879D68 3C018088 */ lui $at, %hi(jtbl_8087A7F0) ## $at = 80880000
|
||||
/* 002CC 80879D6C 002F0821 */ addu $at, $at, $t7
|
||||
/* 002D0 80879D70 8C2FA7F0 */ lw $t7, %lo(jtbl_8087A7F0)($at)
|
||||
/* 002D4 80879D74 01E00008 */ jr $t7
|
||||
/* 002D8 80879D78 00000000 */ nop
|
||||
glabel L80879D7C
|
||||
/* 002DC 80879D7C 03E00008 */ jr $ra
|
||||
/* 002E0 80879D80 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
|
||||
glabel L80879D84
|
||||
/* 002E4 80879D84 03E00008 */ jr $ra
|
||||
/* 002E8 80879D88 24020002 */ addiu $v0, $zero, 0x0002 ## $v0 = 00000002
|
||||
glabel L80879D8C
|
||||
.L80879D8C:
|
||||
/* 002EC 80879D8C 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
||||
/* 002F0 80879D90 03E00008 */ jr $ra
|
||||
/* 002F4 80879D94 00000000 */ nop
|
|
@ -1,300 +0,0 @@
|
|||
.late_rodata
|
||||
|
||||
glabel jtbl_8087A848
|
||||
.word L80879DE8
|
||||
.word L80879DE8
|
||||
.word L8087A0B8
|
||||
.word L8087A0B8
|
||||
.word L80879DFC
|
||||
.word L8087A0B8
|
||||
.word L8087A0B8
|
||||
.word L8087A0B8
|
||||
.word L80879E38
|
||||
.word L8087A0B8
|
||||
.word L8087A0B8
|
||||
.word L80879E4C
|
||||
.word L8087A0B8
|
||||
.word L8087A0B8
|
||||
.word L8087A0B8
|
||||
.word L80879E60
|
||||
.word L80879E60
|
||||
|
||||
glabel jtbl_8087A88C
|
||||
.word L80879EB0
|
||||
.word L80879EB0
|
||||
.word L8087A0B8
|
||||
.word L8087A0B8
|
||||
.word L8087A0B8
|
||||
.word L80879EC4
|
||||
.word L8087A0B8
|
||||
.word L80879EC4
|
||||
.word L8087A0B8
|
||||
.word L80879ED8
|
||||
.word L8087A0B8
|
||||
.word L8087A0B8
|
||||
.word L80879EEC
|
||||
.word L80879EEC
|
||||
.word L8087A0B8
|
||||
.word L80879F00
|
||||
.word L80879F14
|
||||
|
||||
glabel jtbl_8087A8D0
|
||||
.word L80879F7C
|
||||
.word L80879F90
|
||||
.word L8087A0B8
|
||||
.word L80879FA4
|
||||
.word L8087A0B8
|
||||
.word L8087A0B8
|
||||
.word L80879FB8
|
||||
.word L8087A0B8
|
||||
.word L80879FCC
|
||||
.word L80879FE0
|
||||
|
||||
glabel jtbl_8087A8F8
|
||||
.word L8087A034
|
||||
.word L8087A048
|
||||
.word L8087A0B8
|
||||
.word L8087A05C
|
||||
.word L8087A0B8
|
||||
.word L8087A05C
|
||||
.word L8087A0B8
|
||||
.word L8087A0B8
|
||||
.word L8087A070
|
||||
.word L8087A084
|
||||
|
||||
.text
|
||||
glabel func_80879D98
|
||||
/* 002F8 80879D98 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 002FC 80879D9C AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00300 80879DA0 84820158 */ lh $v0, 0x0158($a0) ## 00000158
|
||||
/* 00304 80879DA4 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
|
||||
/* 00308 80879DA8 24018000 */ addiu $at, $zero, 0x8000 ## $at = FFFF8000
|
||||
/* 0030C 80879DAC 14400031 */ bne $v0, $zero, .L80879E74
|
||||
/* 00310 80879DB0 00000000 */ nop
|
||||
/* 00314 80879DB4 848E001C */ lh $t6, 0x001C($a0) ## 0000001C
|
||||
/* 00318 80879DB8 3C0F8088 */ lui $t7, %hi(D_8087AC40) ## $t7 = 80880000
|
||||
/* 0031C 80879DBC 01EE7821 */ addu $t7, $t7, $t6
|
||||
/* 00320 80879DC0 91EFAC40 */ lbu $t7, %lo(D_8087AC40)($t7)
|
||||
/* 00324 80879DC4 25F8FFFD */ addiu $t8, $t7, 0xFFFD ## $t8 = 8087FFFD
|
||||
/* 00328 80879DC8 2F010011 */ sltiu $at, $t8, 0x0011
|
||||
/* 0032C 80879DCC 102000BA */ beq $at, $zero, .L8087A0B8
|
||||
/* 00330 80879DD0 0018C080 */ sll $t8, $t8, 2
|
||||
/* 00334 80879DD4 3C018088 */ lui $at, %hi(jtbl_8087A848) ## $at = 80880000
|
||||
/* 00338 80879DD8 00380821 */ addu $at, $at, $t8
|
||||
/* 0033C 80879DDC 8C38A848 */ lw $t8, %lo(jtbl_8087A848)($at)
|
||||
/* 00340 80879DE0 03000008 */ jr $t8
|
||||
/* 00344 80879DE4 00000000 */ nop
|
||||
glabel L80879DE8
|
||||
/* 00348 80879DE8 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
|
||||
/* 0034C 80879DEC 0C21E701 */ jal func_80879C04
|
||||
/* 00350 80879DF0 24050005 */ addiu $a1, $zero, 0x0005 ## $a1 = 00000005
|
||||
/* 00354 80879DF4 100000B1 */ beq $zero, $zero, .L8087A0BC
|
||||
/* 00358 80879DF8 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
glabel L80879DFC
|
||||
/* 0035C 80879DFC 24040008 */ addiu $a0, $zero, 0x0008 ## $a0 = 00000008
|
||||
/* 00360 80879E00 0C21E744 */ jal func_80879D10
|
||||
/* 00364 80879E04 AFA60018 */ sw $a2, 0x0018($sp)
|
||||
/* 00368 80879E08 10400006 */ beq $v0, $zero, .L80879E24
|
||||
/* 0036C 80879E0C 8FA60018 */ lw $a2, 0x0018($sp)
|
||||
/* 00370 80879E10 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
|
||||
/* 00374 80879E14 0C21E701 */ jal func_80879C04
|
||||
/* 00378 80879E18 24050009 */ addiu $a1, $zero, 0x0009 ## $a1 = 00000009
|
||||
/* 0037C 80879E1C 100000A7 */ beq $zero, $zero, .L8087A0BC
|
||||
/* 00380 80879E20 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
.L80879E24:
|
||||
/* 00384 80879E24 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
|
||||
/* 00388 80879E28 0C21E701 */ jal func_80879C04
|
||||
/* 0038C 80879E2C 24050008 */ addiu $a1, $zero, 0x0008 ## $a1 = 00000008
|
||||
/* 00390 80879E30 100000A2 */ beq $zero, $zero, .L8087A0BC
|
||||
/* 00394 80879E34 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
glabel L80879E38
|
||||
/* 00398 80879E38 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
|
||||
/* 0039C 80879E3C 0C21E701 */ jal func_80879C04
|
||||
/* 003A0 80879E40 2405000C */ addiu $a1, $zero, 0x000C ## $a1 = 0000000C
|
||||
/* 003A4 80879E44 1000009D */ beq $zero, $zero, .L8087A0BC
|
||||
/* 003A8 80879E48 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
glabel L80879E4C
|
||||
/* 003AC 80879E4C 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
|
||||
/* 003B0 80879E50 0C21E701 */ jal func_80879C04
|
||||
/* 003B4 80879E54 2405000F */ addiu $a1, $zero, 0x000F ## $a1 = 0000000F
|
||||
/* 003B8 80879E58 10000098 */ beq $zero, $zero, .L8087A0BC
|
||||
/* 003BC 80879E5C 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
glabel L80879E60
|
||||
/* 003C0 80879E60 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
|
||||
/* 003C4 80879E64 0C21E701 */ jal func_80879C04
|
||||
/* 003C8 80879E68 24050014 */ addiu $a1, $zero, 0x0014 ## $a1 = 00000014
|
||||
/* 003CC 80879E6C 10000093 */ beq $zero, $zero, .L8087A0BC
|
||||
/* 003D0 80879E70 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
.L80879E74:
|
||||
/* 003D4 80879E74 54410032 */ bnel $v0, $at, .L80879F40
|
||||
/* 003D8 80879E78 24014000 */ addiu $at, $zero, 0x4000 ## $at = 00004000
|
||||
/* 003DC 80879E7C 84D9001C */ lh $t9, 0x001C($a2) ## 0000001C
|
||||
/* 003E0 80879E80 3C088088 */ lui $t0, %hi(D_8087AC40) ## $t0 = 80880000
|
||||
/* 003E4 80879E84 01194021 */ addu $t0, $t0, $t9
|
||||
/* 003E8 80879E88 9108AC40 */ lbu $t0, %lo(D_8087AC40)($t0)
|
||||
/* 003EC 80879E8C 2509FFFE */ addiu $t1, $t0, 0xFFFE ## $t1 = 8087FFFE
|
||||
/* 003F0 80879E90 2D210011 */ sltiu $at, $t1, 0x0011
|
||||
/* 003F4 80879E94 10200088 */ beq $at, $zero, .L8087A0B8
|
||||
/* 003F8 80879E98 00094880 */ sll $t1, $t1, 2
|
||||
/* 003FC 80879E9C 3C018088 */ lui $at, %hi(jtbl_8087A88C) ## $at = 80880000
|
||||
/* 00400 80879EA0 00290821 */ addu $at, $at, $t1
|
||||
/* 00404 80879EA4 8C29A88C */ lw $t1, %lo(jtbl_8087A88C)($at)
|
||||
/* 00408 80879EA8 01200008 */ jr $t1
|
||||
/* 0040C 80879EAC 00000000 */ nop
|
||||
glabel L80879EB0
|
||||
/* 00410 80879EB0 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
|
||||
/* 00414 80879EB4 0C21E701 */ jal func_80879C04
|
||||
/* 00418 80879EB8 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
|
||||
/* 0041C 80879EBC 1000007F */ beq $zero, $zero, .L8087A0BC
|
||||
/* 00420 80879EC0 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
glabel L80879EC4
|
||||
/* 00424 80879EC4 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
|
||||
/* 00428 80879EC8 0C21E701 */ jal func_80879C04
|
||||
/* 0042C 80879ECC 24050006 */ addiu $a1, $zero, 0x0006 ## $a1 = 00000006
|
||||
/* 00430 80879ED0 1000007A */ beq $zero, $zero, .L8087A0BC
|
||||
/* 00434 80879ED4 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
glabel L80879ED8
|
||||
/* 00438 80879ED8 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
|
||||
/* 0043C 80879EDC 0C21E701 */ jal func_80879C04
|
||||
/* 00440 80879EE0 2405000A */ addiu $a1, $zero, 0x000A ## $a1 = 0000000A
|
||||
/* 00444 80879EE4 10000075 */ beq $zero, $zero, .L8087A0BC
|
||||
/* 00448 80879EE8 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
glabel L80879EEC
|
||||
/* 0044C 80879EEC 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
|
||||
/* 00450 80879EF0 0C21E701 */ jal func_80879C04
|
||||
/* 00454 80879EF4 2405000D */ addiu $a1, $zero, 0x000D ## $a1 = 0000000D
|
||||
/* 00458 80879EF8 10000070 */ beq $zero, $zero, .L8087A0BC
|
||||
/* 0045C 80879EFC 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
glabel L80879F00
|
||||
/* 00460 80879F00 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
|
||||
/* 00464 80879F04 0C21E701 */ jal func_80879C04
|
||||
/* 00468 80879F08 24050010 */ addiu $a1, $zero, 0x0010 ## $a1 = 00000010
|
||||
/* 0046C 80879F0C 1000006B */ beq $zero, $zero, .L8087A0BC
|
||||
/* 00470 80879F10 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
glabel L80879F14
|
||||
/* 00474 80879F14 24040011 */ addiu $a0, $zero, 0x0011 ## $a0 = 00000011
|
||||
/* 00478 80879F18 0C21E744 */ jal func_80879D10
|
||||
/* 0047C 80879F1C AFA60018 */ sw $a2, 0x0018($sp)
|
||||
/* 00480 80879F20 14400065 */ bne $v0, $zero, .L8087A0B8
|
||||
/* 00484 80879F24 8FA60018 */ lw $a2, 0x0018($sp)
|
||||
/* 00488 80879F28 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
|
||||
/* 0048C 80879F2C 0C21E701 */ jal func_80879C04
|
||||
/* 00490 80879F30 24050010 */ addiu $a1, $zero, 0x0010 ## $a1 = 00000010
|
||||
/* 00494 80879F34 10000061 */ beq $zero, $zero, .L8087A0BC
|
||||
/* 00498 80879F38 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 0049C 80879F3C 24014000 */ addiu $at, $zero, 0x4000 ## $at = 00004000
|
||||
.L80879F40:
|
||||
/* 004A0 80879F40 5441002D */ bnel $v0, $at, .L80879FF8
|
||||
/* 004A4 80879F44 2401C000 */ addiu $at, $zero, 0xC000 ## $at = FFFFC000
|
||||
/* 004A8 80879F48 84CA001C */ lh $t2, 0x001C($a2) ## 0000001C
|
||||
/* 004AC 80879F4C 3C0B8088 */ lui $t3, %hi(D_8087AC40) ## $t3 = 80880000
|
||||
/* 004B0 80879F50 016A5821 */ addu $t3, $t3, $t2
|
||||
/* 004B4 80879F54 916BAC40 */ lbu $t3, %lo(D_8087AC40)($t3)
|
||||
/* 004B8 80879F58 256CFFFA */ addiu $t4, $t3, 0xFFFA ## $t4 = 8087FFFA
|
||||
/* 004BC 80879F5C 2D81000A */ sltiu $at, $t4, 0x000A
|
||||
/* 004C0 80879F60 10200055 */ beq $at, $zero, .L8087A0B8
|
||||
/* 004C4 80879F64 000C6080 */ sll $t4, $t4, 2
|
||||
/* 004C8 80879F68 3C018088 */ lui $at, %hi(jtbl_8087A8D0) ## $at = 80880000
|
||||
/* 004CC 80879F6C 002C0821 */ addu $at, $at, $t4
|
||||
/* 004D0 80879F70 8C2CA8D0 */ lw $t4, %lo(jtbl_8087A8D0)($at)
|
||||
/* 004D4 80879F74 01800008 */ jr $t4
|
||||
/* 004D8 80879F78 00000000 */ nop
|
||||
glabel L80879F7C
|
||||
/* 004DC 80879F7C 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
|
||||
/* 004E0 80879F80 0C21E701 */ jal func_80879C04
|
||||
/* 004E4 80879F84 2405000D */ addiu $a1, $zero, 0x000D ## $a1 = 0000000D
|
||||
/* 004E8 80879F88 1000004C */ beq $zero, $zero, .L8087A0BC
|
||||
/* 004EC 80879F8C 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
glabel L80879F90
|
||||
/* 004F0 80879F90 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
|
||||
/* 004F4 80879F94 0C21E701 */ jal func_80879C04
|
||||
/* 004F8 80879F98 24050011 */ addiu $a1, $zero, 0x0011 ## $a1 = 00000011
|
||||
/* 004FC 80879F9C 10000047 */ beq $zero, $zero, .L8087A0BC
|
||||
/* 00500 80879FA0 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
glabel L80879FA4
|
||||
/* 00504 80879FA4 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
|
||||
/* 00508 80879FA8 0C21E701 */ jal func_80879C04
|
||||
/* 0050C 80879FAC 2405000B */ addiu $a1, $zero, 0x000B ## $a1 = 0000000B
|
||||
/* 00510 80879FB0 10000042 */ beq $zero, $zero, .L8087A0BC
|
||||
/* 00514 80879FB4 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
glabel L80879FB8
|
||||
/* 00518 80879FB8 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
|
||||
/* 0051C 80879FBC 0C21E701 */ jal func_80879C04
|
||||
/* 00520 80879FC0 24050015 */ addiu $a1, $zero, 0x0015 ## $a1 = 00000015
|
||||
/* 00524 80879FC4 1000003D */ beq $zero, $zero, .L8087A0BC
|
||||
/* 00528 80879FC8 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
glabel L80879FCC
|
||||
/* 0052C 80879FCC 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
|
||||
/* 00530 80879FD0 0C21E701 */ jal func_80879C04
|
||||
/* 00534 80879FD4 24050012 */ addiu $a1, $zero, 0x0012 ## $a1 = 00000012
|
||||
/* 00538 80879FD8 10000038 */ beq $zero, $zero, .L8087A0BC
|
||||
/* 0053C 80879FDC 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
glabel L80879FE0
|
||||
/* 00540 80879FE0 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
|
||||
/* 00544 80879FE4 0C21E701 */ jal func_80879C04
|
||||
/* 00548 80879FE8 24050013 */ addiu $a1, $zero, 0x0013 ## $a1 = 00000013
|
||||
/* 0054C 80879FEC 10000033 */ beq $zero, $zero, .L8087A0BC
|
||||
/* 00550 80879FF0 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00554 80879FF4 2401C000 */ addiu $at, $zero, 0xC000 ## $at = FFFFC000
|
||||
.L80879FF8:
|
||||
/* 00558 80879FF8 54410030 */ bnel $v0, $at, .L8087A0BC
|
||||
/* 0055C 80879FFC 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00560 8087A000 84CD001C */ lh $t5, 0x001C($a2) ## 0000001C
|
||||
/* 00564 8087A004 3C0E8088 */ lui $t6, %hi(D_8087AC40) ## $t6 = 80880000
|
||||
/* 00568 8087A008 01CD7021 */ addu $t6, $t6, $t5
|
||||
/* 0056C 8087A00C 91CEAC40 */ lbu $t6, %lo(D_8087AC40)($t6)
|
||||
/* 00570 8087A010 25CFFFFA */ addiu $t7, $t6, 0xFFFA ## $t7 = 8087FFFA
|
||||
/* 00574 8087A014 2DE1000A */ sltiu $at, $t7, 0x000A
|
||||
/* 00578 8087A018 10200027 */ beq $at, $zero, .L8087A0B8
|
||||
/* 0057C 8087A01C 000F7880 */ sll $t7, $t7, 2
|
||||
/* 00580 8087A020 3C018088 */ lui $at, %hi(jtbl_8087A8F8) ## $at = 80880000
|
||||
/* 00584 8087A024 002F0821 */ addu $at, $at, $t7
|
||||
/* 00588 8087A028 8C2FA8F8 */ lw $t7, %lo(jtbl_8087A8F8)($at)
|
||||
/* 0058C 8087A02C 01E00008 */ jr $t7
|
||||
/* 00590 8087A030 00000000 */ nop
|
||||
glabel L8087A034
|
||||
/* 00594 8087A034 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
|
||||
/* 00598 8087A038 0C21E701 */ jal func_80879C04
|
||||
/* 0059C 8087A03C 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
|
||||
/* 005A0 8087A040 1000001E */ beq $zero, $zero, .L8087A0BC
|
||||
/* 005A4 8087A044 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
glabel L8087A048
|
||||
/* 005A8 8087A048 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
|
||||
/* 005AC 8087A04C 0C21E701 */ jal func_80879C04
|
||||
/* 005B0 8087A050 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
|
||||
/* 005B4 8087A054 10000019 */ beq $zero, $zero, .L8087A0BC
|
||||
/* 005B8 8087A058 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
glabel L8087A05C
|
||||
/* 005BC 8087A05C 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
|
||||
/* 005C0 8087A060 0C21E701 */ jal func_80879C04
|
||||
/* 005C4 8087A064 24050004 */ addiu $a1, $zero, 0x0004 ## $a1 = 00000004
|
||||
/* 005C8 8087A068 10000014 */ beq $zero, $zero, .L8087A0BC
|
||||
/* 005CC 8087A06C 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
glabel L8087A070
|
||||
/* 005D0 8087A070 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
|
||||
/* 005D4 8087A074 0C21E701 */ jal func_80879C04
|
||||
/* 005D8 8087A078 24050002 */ addiu $a1, $zero, 0x0002 ## $a1 = 00000002
|
||||
/* 005DC 8087A07C 1000000F */ beq $zero, $zero, .L8087A0BC
|
||||
/* 005E0 8087A080 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
glabel L8087A084
|
||||
/* 005E4 8087A084 24040008 */ addiu $a0, $zero, 0x0008 ## $a0 = 00000008
|
||||
/* 005E8 8087A088 0C21E744 */ jal func_80879D10
|
||||
/* 005EC 8087A08C AFA60018 */ sw $a2, 0x0018($sp)
|
||||
/* 005F0 8087A090 10400006 */ beq $v0, $zero, .L8087A0AC
|
||||
/* 005F4 8087A094 8FA60018 */ lw $a2, 0x0018($sp)
|
||||
/* 005F8 8087A098 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
|
||||
/* 005FC 8087A09C 0C21E701 */ jal func_80879C04
|
||||
/* 00600 8087A0A0 24050003 */ addiu $a1, $zero, 0x0003 ## $a1 = 00000003
|
||||
/* 00604 8087A0A4 10000005 */ beq $zero, $zero, .L8087A0BC
|
||||
/* 00608 8087A0A8 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
.L8087A0AC:
|
||||
/* 0060C 8087A0AC 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
|
||||
/* 00610 8087A0B0 0C21E701 */ jal func_80879C04
|
||||
/* 00614 8087A0B4 24050008 */ addiu $a1, $zero, 0x0008 ## $a1 = 00000008
|
||||
glabel L8087A0B8
|
||||
.L8087A0B8:
|
||||
/* 00618 8087A0B8 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
.L8087A0BC:
|
||||
/* 0061C 8087A0BC 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 00620 8087A0C0 03E00008 */ jr $ra
|
||||
/* 00624 8087A0C4 00000000 */ nop
|
|
@ -1,50 +0,0 @@
|
|||
glabel func_8087A0C8
|
||||
/* 00628 8087A0C8 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
|
||||
/* 0062C 8087A0CC AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 00630 8087A0D0 AFB00018 */ sw $s0, 0x0018($sp)
|
||||
/* 00634 8087A0D4 AFA50024 */ sw $a1, 0x0024($sp)
|
||||
/* 00638 8087A0D8 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
|
||||
/* 0063C 8087A0DC C4840150 */ lwc1 $f4, 0x0150($a0) ## 00000150
|
||||
/* 00640 8087A0E0 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00644 8087A0E4 8CA21C44 */ lw $v0, 0x1C44($a1) ## 00001C44
|
||||
/* 00648 8087A0E8 46040032 */ c.eq.s $f0, $f4
|
||||
/* 0064C 8087A0EC 00000000 */ nop
|
||||
/* 00650 8087A0F0 45030020 */ bc1tl .L8087A174
|
||||
/* 00654 8087A0F4 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 00658 8087A0F8 8C4F0680 */ lw $t7, 0x0680($v0) ## 00000680
|
||||
/* 0065C 8087A0FC 2401FFEF */ addiu $at, $zero, 0xFFEF ## $at = FFFFFFEF
|
||||
/* 00660 8087A100 01E1C024 */ and $t8, $t7, $at
|
||||
/* 00664 8087A104 AC580680 */ sw $t8, 0x0680($v0) ## 00000680
|
||||
/* 00668 8087A108 C4860150 */ lwc1 $f6, 0x0150($a0) ## 00000150
|
||||
/* 0066C 8087A10C 4606003C */ c.lt.s $f0, $f6
|
||||
/* 00670 8087A110 00000000 */ nop
|
||||
/* 00674 8087A114 45020014 */ bc1fl .L8087A168
|
||||
/* 00678 8087A118 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
|
||||
/* 0067C 8087A11C 0C21E766 */ jal func_80879D98
|
||||
/* 00680 8087A120 00000000 */ nop
|
||||
/* 00684 8087A124 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00688 8087A128 0C00B6EC */ jal func_8002DBB0
|
||||
/* 0068C 8087A12C 26050168 */ addiu $a1, $s0, 0x0168 ## $a1 = 00000168
|
||||
/* 00690 8087A130 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
|
||||
/* 00694 8087A134 44814000 */ mtc1 $at, $f8 ## $f8 = 1.00
|
||||
/* 00698 8087A138 8FA40024 */ lw $a0, 0x0024($sp)
|
||||
/* 0069C 8087A13C 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
|
||||
/* 006A0 8087A140 4600403C */ c.lt.s $f8, $f0
|
||||
/* 006A4 8087A144 00000000 */ nop
|
||||
/* 006A8 8087A148 45020007 */ bc1fl .L8087A168
|
||||
/* 006AC 8087A14C 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
|
||||
/* 006B0 8087A150 0C00B7D5 */ jal func_8002DF54
|
||||
/* 006B4 8087A154 24060008 */ addiu $a2, $zero, 0x0008 ## $a2 = 00000008
|
||||
/* 006B8 8087A158 3C198088 */ lui $t9, %hi(func_8087A39C) ## $t9 = 80880000
|
||||
/* 006BC 8087A15C 2739A39C */ addiu $t9, $t9, %lo(func_8087A39C) ## $t9 = 8087A39C
|
||||
/* 006C0 8087A160 AE190164 */ sw $t9, 0x0164($s0) ## 00000164
|
||||
/* 006C4 8087A164 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
|
||||
.L8087A168:
|
||||
/* 006C8 8087A168 00000000 */ nop
|
||||
/* 006CC 8087A16C E6000150 */ swc1 $f0, 0x0150($s0) ## 00000150
|
||||
/* 006D0 8087A170 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
.L8087A174:
|
||||
/* 006D4 8087A174 8FB00018 */ lw $s0, 0x0018($sp)
|
||||
/* 006D8 8087A178 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
|
||||
/* 006DC 8087A17C 03E00008 */ jr $ra
|
||||
/* 006E0 8087A180 00000000 */ nop
|
|
@ -1,56 +0,0 @@
|
|||
glabel func_8087A184
|
||||
/* 006E4 8087A184 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 006E8 8087A188 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 006EC 8087A18C 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
|
||||
/* 006F0 8087A190 C4840150 */ lwc1 $f4, 0x0150($a0) ## 00000150
|
||||
/* 006F4 8087A194 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000
|
||||
/* 006F8 8087A198 8CA21C44 */ lw $v0, 0x1C44($a1) ## 00001C44
|
||||
/* 006FC 8087A19C 46040032 */ c.eq.s $f0, $f4
|
||||
/* 00700 8087A1A0 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
|
||||
/* 00704 8087A1A4 45030007 */ bc1tl .L8087A1C4
|
||||
/* 00708 8087A1A8 8CE5000C */ lw $a1, 0x000C($a3) ## 0000000C
|
||||
/* 0070C 8087A1AC 8C4E0680 */ lw $t6, 0x0680($v0) ## 00000680
|
||||
/* 00710 8087A1B0 2401FFEF */ addiu $at, $zero, 0xFFEF ## $at = FFFFFFEF
|
||||
/* 00714 8087A1B4 01C17824 */ and $t7, $t6, $at
|
||||
/* 00718 8087A1B8 AC4F0680 */ sw $t7, 0x0680($v0) ## 00000680
|
||||
/* 0071C 8087A1BC E4800150 */ swc1 $f0, 0x0150($a0) ## 00000150
|
||||
/* 00720 8087A1C0 8CE5000C */ lw $a1, 0x000C($a3) ## 0000000C
|
||||
.L8087A1C4:
|
||||
/* 00724 8087A1C4 AFA70018 */ sw $a3, 0x0018($sp)
|
||||
/* 00728 8087A1C8 0C01DE80 */ jal Math_StepToF
|
||||
|
||||
/* 0072C 8087A1CC 24E40028 */ addiu $a0, $a3, 0x0028 ## $a0 = 00000028
|
||||
/* 00730 8087A1D0 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
|
||||
/* 00734 8087A1D4 10400018 */ beq $v0, $zero, .L8087A238
|
||||
/* 00738 8087A1D8 8FA70018 */ lw $a3, 0x0018($sp)
|
||||
/* 0073C 8087A1DC 8CF90008 */ lw $t9, 0x0008($a3) ## 00000008
|
||||
/* 00740 8087A1E0 84E2001C */ lh $v0, 0x001C($a3) ## 0000001C
|
||||
/* 00744 8087A1E4 8CF8000C */ lw $t8, 0x000C($a3) ## 0000000C
|
||||
/* 00748 8087A1E8 ACF90168 */ sw $t9, 0x0168($a3) ## 00000168
|
||||
/* 0074C 8087A1EC 8CF90010 */ lw $t9, 0x0010($a3) ## 00000010
|
||||
/* 00750 8087A1F0 3C088088 */ lui $t0, %hi(func_8087A0C8) ## $t0 = 80880000
|
||||
/* 00754 8087A1F4 2508A0C8 */ addiu $t0, $t0, %lo(func_8087A0C8) ## $t0 = 8087A0C8
|
||||
/* 00758 8087A1F8 E4E00068 */ swc1 $f0, 0x0068($a3) ## 00000068
|
||||
/* 0075C 8087A1FC ACE80164 */ sw $t0, 0x0164($a3) ## 00000164
|
||||
/* 00760 8087A200 ACF8016C */ sw $t8, 0x016C($a3) ## 0000016C
|
||||
/* 00764 8087A204 10400006 */ beq $v0, $zero, .L8087A220
|
||||
/* 00768 8087A208 ACF90170 */ sw $t9, 0x0170($a3) ## 00000170
|
||||
/* 0076C 8087A20C 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
|
||||
/* 00770 8087A210 10410007 */ beq $v0, $at, .L8087A230
|
||||
/* 00774 8087A214 240A000E */ addiu $t2, $zero, 0x000E ## $t2 = 0000000E
|
||||
/* 00778 8087A218 10000008 */ beq $zero, $zero, .L8087A23C
|
||||
/* 0077C 8087A21C 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
.L8087A220:
|
||||
/* 00780 8087A220 24090007 */ addiu $t1, $zero, 0x0007 ## $t1 = 00000007
|
||||
/* 00784 8087A224 3C018088 */ lui $at, %hi(D_8087AC40) ## $at = 80880000
|
||||
/* 00788 8087A228 10000003 */ beq $zero, $zero, .L8087A238
|
||||
/* 0078C 8087A22C A029AC40 */ sb $t1, %lo(D_8087AC40)($at)
|
||||
.L8087A230:
|
||||
/* 00790 8087A230 3C018088 */ lui $at, %hi(D_8087AC41) ## $at = 80880000
|
||||
/* 00794 8087A234 A02AAC41 */ sb $t2, %lo(D_8087AC41)($at)
|
||||
.L8087A238:
|
||||
/* 00798 8087A238 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
.L8087A23C:
|
||||
/* 0079C 8087A23C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 007A0 8087A240 03E00008 */ jr $ra
|
||||
/* 007A4 8087A244 00000000 */ nop
|
|
@ -1,50 +0,0 @@
|
|||
glabel func_8087A248
|
||||
/* 007A8 8087A248 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
|
||||
/* 007AC 8087A24C AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 007B0 8087A250 AFB00018 */ sw $s0, 0x0018($sp)
|
||||
/* 007B4 8087A254 AFA50024 */ sw $a1, 0x0024($sp)
|
||||
/* 007B8 8087A258 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
|
||||
/* 007BC 8087A25C 44813000 */ mtc1 $at, $f6 ## $f6 = 1.00
|
||||
/* 007C0 8087A260 C4840060 */ lwc1 $f4, 0x0060($a0) ## 00000060
|
||||
/* 007C4 8087A264 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 007C8 8087A268 3C014396 */ lui $at, 0x4396 ## $at = 43960000
|
||||
/* 007CC 8087A26C 46062200 */ add.s $f8, $f4, $f6
|
||||
/* 007D0 8087A270 44818000 */ mtc1 $at, $f16 ## $f16 = 300.00
|
||||
/* 007D4 8087A274 24840028 */ addiu $a0, $a0, 0x0028 ## $a0 = 00000028
|
||||
/* 007D8 8087A278 E4880038 */ swc1 $f8, 0x0038($a0) ## 00000060
|
||||
/* 007DC 8087A27C C60A000C */ lwc1 $f10, 0x000C($s0) ## 0000000C
|
||||
/* 007E0 8087A280 8E060060 */ lw $a2, 0x0060($s0) ## 00000060
|
||||
/* 007E4 8087A284 46105481 */ sub.s $f18, $f10, $f16
|
||||
/* 007E8 8087A288 44059000 */ mfc1 $a1, $f18
|
||||
/* 007EC 8087A28C 0C01DE80 */ jal Math_StepToF
|
||||
|
||||
/* 007F0 8087A290 00000000 */ nop
|
||||
/* 007F4 8087A294 10400015 */ beq $v0, $zero, .L8087A2EC
|
||||
/* 007F8 8087A298 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000
|
||||
/* 007FC 8087A29C C608000C */ lwc1 $f8, 0x000C($s0) ## 0000000C
|
||||
/* 00800 8087A2A0 44815000 */ mtc1 $at, $f10 ## $f10 = 100.00
|
||||
/* 00804 8087A2A4 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
|
||||
/* 00808 8087A2A8 C6060008 */ lwc1 $f6, 0x0008($s0) ## 00000008
|
||||
/* 0080C 8087A2AC 460A4401 */ sub.s $f16, $f8, $f10
|
||||
/* 00810 8087A2B0 C6120010 */ lwc1 $f18, 0x0010($s0) ## 00000010
|
||||
/* 00814 8087A2B4 E6040060 */ swc1 $f4, 0x0060($s0) ## 00000060
|
||||
/* 00818 8087A2B8 E6060024 */ swc1 $f6, 0x0024($s0) ## 00000024
|
||||
/* 0081C 8087A2BC E6100028 */ swc1 $f16, 0x0028($s0) ## 00000028
|
||||
/* 00820 8087A2C0 E612002C */ swc1 $f18, 0x002C($s0) ## 0000002C
|
||||
/* 00824 8087A2C4 0C023A62 */ jal Player_InCsMode
|
||||
/* 00828 8087A2C8 8FA40024 */ lw $a0, 0x0024($sp)
|
||||
/* 0082C 8087A2CC 10400004 */ beq $v0, $zero, .L8087A2E0
|
||||
/* 00830 8087A2D0 8FA40024 */ lw $a0, 0x0024($sp)
|
||||
/* 00834 8087A2D4 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
|
||||
/* 00838 8087A2D8 0C00B7D5 */ jal func_8002DF54
|
||||
/* 0083C 8087A2DC 24060007 */ addiu $a2, $zero, 0x0007 ## $a2 = 00000007
|
||||
.L8087A2E0:
|
||||
/* 00840 8087A2E0 3C0E8088 */ lui $t6, %hi(func_8087A184) ## $t6 = 80880000
|
||||
/* 00844 8087A2E4 25CEA184 */ addiu $t6, $t6, %lo(func_8087A184) ## $t6 = 8087A184
|
||||
/* 00848 8087A2E8 AE0E0164 */ sw $t6, 0x0164($s0) ## 00000164
|
||||
.L8087A2EC:
|
||||
/* 0084C 8087A2EC 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 00850 8087A2F0 8FB00018 */ lw $s0, 0x0018($sp)
|
||||
/* 00854 8087A2F4 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
|
||||
/* 00858 8087A2F8 03E00008 */ jr $ra
|
||||
/* 0085C 8087A2FC 00000000 */ nop
|
|
@ -1,43 +0,0 @@
|
|||
glabel func_8087A300
|
||||
/* 00860 8087A300 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
|
||||
/* 00864 8087A304 AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 00868 8087A308 AFB00018 */ sw $s0, 0x0018($sp)
|
||||
/* 0086C 8087A30C AFA50024 */ sw $a1, 0x0024($sp)
|
||||
/* 00870 8087A310 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
|
||||
/* 00874 8087A314 44813000 */ mtc1 $at, $f6 ## $f6 = 1.00
|
||||
/* 00878 8087A318 C4840060 */ lwc1 $f4, 0x0060($a0) ## 00000060
|
||||
/* 0087C 8087A31C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00880 8087A320 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000
|
||||
/* 00884 8087A324 46062200 */ add.s $f8, $f4, $f6
|
||||
/* 00888 8087A328 44818000 */ mtc1 $at, $f16 ## $f16 = 100.00
|
||||
/* 0088C 8087A32C 24840028 */ addiu $a0, $a0, 0x0028 ## $a0 = 00000028
|
||||
/* 00890 8087A330 E4880038 */ swc1 $f8, 0x0038($a0) ## 00000060
|
||||
/* 00894 8087A334 C60A000C */ lwc1 $f10, 0x000C($s0) ## 0000000C
|
||||
/* 00898 8087A338 8E060060 */ lw $a2, 0x0060($s0) ## 00000060
|
||||
/* 0089C 8087A33C 46105481 */ sub.s $f18, $f10, $f16
|
||||
/* 008A0 8087A340 44059000 */ mfc1 $a1, $f18
|
||||
/* 008A4 8087A344 0C01DE80 */ jal Math_StepToF
|
||||
|
||||
/* 008A8 8087A348 00000000 */ nop
|
||||
/* 008AC 8087A34C 5040000F */ beql $v0, $zero, .L8087A38C
|
||||
/* 008B0 8087A350 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 008B4 8087A354 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
|
||||
/* 008B8 8087A358 00000000 */ nop
|
||||
/* 008BC 8087A35C E6040060 */ swc1 $f4, 0x0060($s0) ## 00000060
|
||||
/* 008C0 8087A360 0C023A62 */ jal Player_InCsMode
|
||||
/* 008C4 8087A364 8FA40024 */ lw $a0, 0x0024($sp)
|
||||
/* 008C8 8087A368 10400004 */ beq $v0, $zero, .L8087A37C
|
||||
/* 008CC 8087A36C 8FA40024 */ lw $a0, 0x0024($sp)
|
||||
/* 008D0 8087A370 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
|
||||
/* 008D4 8087A374 0C00B7D5 */ jal func_8002DF54
|
||||
/* 008D8 8087A378 24060007 */ addiu $a2, $zero, 0x0007 ## $a2 = 00000007
|
||||
.L8087A37C:
|
||||
/* 008DC 8087A37C 3C0E8088 */ lui $t6, %hi(func_8087A0C8) ## $t6 = 80880000
|
||||
/* 008E0 8087A380 25CEA0C8 */ addiu $t6, $t6, %lo(func_8087A0C8) ## $t6 = 8087A0C8
|
||||
/* 008E4 8087A384 AE0E0164 */ sw $t6, 0x0164($s0) ## 00000164
|
||||
/* 008E8 8087A388 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
.L8087A38C:
|
||||
/* 008EC 8087A38C 8FB00018 */ lw $s0, 0x0018($sp)
|
||||
/* 008F0 8087A390 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
|
||||
/* 008F4 8087A394 03E00008 */ jr $ra
|
||||
/* 008F8 8087A398 00000000 */ nop
|
|
@ -1,232 +0,0 @@
|
|||
glabel func_8087A39C
|
||||
/* 008FC 8087A39C 27BDFF98 */ addiu $sp, $sp, 0xFF98 ## $sp = FFFFFF98
|
||||
/* 00900 8087A3A0 AFB00030 */ sw $s0, 0x0030($sp)
|
||||
/* 00904 8087A3A4 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00908 8087A3A8 AFBF0034 */ sw $ra, 0x0034($sp)
|
||||
/* 0090C 8087A3AC AFA5006C */ sw $a1, 0x006C($sp)
|
||||
/* 00910 8087A3B0 F7B40028 */ sdc1 $f20, 0x0028($sp)
|
||||
/* 00914 8087A3B4 3C054120 */ lui $a1, 0x4120 ## $a1 = 41200000
|
||||
/* 00918 8087A3B8 24840068 */ addiu $a0, $a0, 0x0068 ## $a0 = 00000068
|
||||
/* 0091C 8087A3BC 0C01DE80 */ jal Math_StepToF
|
||||
|
||||
/* 00920 8087A3C0 3C063F00 */ lui $a2, 0x3F00 ## $a2 = 3F000000
|
||||
/* 00924 8087A3C4 26040024 */ addiu $a0, $s0, 0x0024 ## $a0 = 00000024
|
||||
/* 00928 8087A3C8 8E050168 */ lw $a1, 0x0168($s0) ## 00000168
|
||||
/* 0092C 8087A3CC 0C01DE80 */ jal Math_StepToF
|
||||
|
||||
/* 00930 8087A3D0 8E060068 */ lw $a2, 0x0068($s0) ## 00000068
|
||||
/* 00934 8087A3D4 8E050170 */ lw $a1, 0x0170($s0) ## 00000170
|
||||
/* 00938 8087A3D8 8E060068 */ lw $a2, 0x0068($s0) ## 00000068
|
||||
/* 0093C 8087A3DC AFA20064 */ sw $v0, 0x0064($sp)
|
||||
/* 00940 8087A3E0 0C01DE80 */ jal Math_StepToF
|
||||
|
||||
/* 00944 8087A3E4 2604002C */ addiu $a0, $s0, 0x002C ## $a0 = 0000002C
|
||||
/* 00948 8087A3E8 8FA30064 */ lw $v1, 0x0064($sp)
|
||||
/* 0094C 8087A3EC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00950 8087A3F0 24052835 */ addiu $a1, $zero, 0x2835 ## $a1 = 00002835
|
||||
/* 00954 8087A3F4 00621824 */ and $v1, $v1, $v0
|
||||
/* 00958 8087A3F8 10600022 */ beq $v1, $zero, .L8087A484
|
||||
/* 0095C 8087A3FC 3C0140C0 */ lui $at, 0x40C0 ## $at = 40C00000
|
||||
/* 00960 8087A400 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
|
||||
/* 00964 8087A404 C6060024 */ lwc1 $f6, 0x0024($s0) ## 00000024
|
||||
/* 00968 8087A408 C608002C */ lwc1 $f8, 0x002C($s0) ## 0000002C
|
||||
/* 0096C 8087A40C E6040068 */ swc1 $f4, 0x0068($s0) ## 00000068
|
||||
/* 00970 8087A410 E6060168 */ swc1 $f6, 0x0168($s0) ## 00000168
|
||||
/* 00974 8087A414 0C00BE0A */ jal Audio_PlayActorSound2
|
||||
|
||||
/* 00978 8087A418 E6080170 */ swc1 $f8, 0x0170($s0) ## 00000170
|
||||
/* 0097C 8087A41C 0C21E753 */ jal func_80879D4C
|
||||
/* 00980 8087A420 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00984 8087A424 10400009 */ beq $v0, $zero, .L8087A44C
|
||||
/* 00988 8087A428 3C0E8088 */ lui $t6, %hi(func_8087A0C8) ## $t6 = 80880000
|
||||
/* 0098C 8087A42C 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
|
||||
/* 00990 8087A430 1041000E */ beq $v0, $at, .L8087A46C
|
||||
/* 00994 8087A434 3C0F8088 */ lui $t7, %hi(func_8087A248) ## $t7 = 80880000
|
||||
/* 00998 8087A438 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
|
||||
/* 0099C 8087A43C 1041000E */ beq $v0, $at, .L8087A478
|
||||
/* 009A0 8087A440 3C188088 */ lui $t8, %hi(func_8087A300) ## $t8 = 80880000
|
||||
/* 009A4 8087A444 1000009D */ beq $zero, $zero, .L8087A6BC
|
||||
/* 009A8 8087A448 8FBF0034 */ lw $ra, 0x0034($sp)
|
||||
.L8087A44C:
|
||||
/* 009AC 8087A44C 25CEA0C8 */ addiu $t6, $t6, %lo(func_8087A0C8) ## $t6 = 8087A0C8
|
||||
/* 009B0 8087A450 AE0E0164 */ sw $t6, 0x0164($s0) ## 00000164
|
||||
/* 009B4 8087A454 8FA4006C */ lw $a0, 0x006C($sp)
|
||||
/* 009B8 8087A458 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
|
||||
/* 009BC 8087A45C 0C00B7D5 */ jal func_8002DF54
|
||||
/* 009C0 8087A460 24060007 */ addiu $a2, $zero, 0x0007 ## $a2 = 00000007
|
||||
/* 009C4 8087A464 10000095 */ beq $zero, $zero, .L8087A6BC
|
||||
/* 009C8 8087A468 8FBF0034 */ lw $ra, 0x0034($sp)
|
||||
.L8087A46C:
|
||||
/* 009CC 8087A46C 25EFA248 */ addiu $t7, $t7, %lo(func_8087A248) ## $t7 = FFFFA248
|
||||
/* 009D0 8087A470 10000091 */ beq $zero, $zero, .L8087A6B8
|
||||
/* 009D4 8087A474 AE0F0164 */ sw $t7, 0x0164($s0) ## 00000164
|
||||
.L8087A478:
|
||||
/* 009D8 8087A478 2718A300 */ addiu $t8, $t8, %lo(func_8087A300) ## $t8 = FFFFA300
|
||||
/* 009DC 8087A47C 1000008E */ beq $zero, $zero, .L8087A6B8
|
||||
/* 009E0 8087A480 AE180164 */ sw $t8, 0x0164($s0) ## 00000164
|
||||
.L8087A484:
|
||||
/* 009E4 8087A484 44815000 */ mtc1 $at, $f10 ## $f10 = 0.00
|
||||
/* 009E8 8087A488 C6100068 */ lwc1 $f16, 0x0068($s0) ## 00000068
|
||||
/* 009EC 8087A48C 3C0142F0 */ lui $at, 0x42F0 ## $at = 42F00000
|
||||
/* 009F0 8087A490 4610503C */ c.lt.s $f10, $f16
|
||||
/* 009F4 8087A494 00000000 */ nop
|
||||
/* 009F8 8087A498 45020088 */ bc1fl .L8087A6BC
|
||||
/* 009FC 8087A49C 8FBF0034 */ lw $ra, 0x0034($sp)
|
||||
/* 00A00 8087A4A0 44816000 */ mtc1 $at, $f12 ## $f12 = 120.00
|
||||
/* 00A04 8087A4A4 0C00CFC8 */ jal Rand_CenteredFloat
|
||||
|
||||
/* 00A08 8087A4A8 00000000 */ nop
|
||||
/* 00A0C 8087A4AC 0C03F66B */ jal Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 00A10 8087A4B0 E7A00048 */ swc1 $f0, 0x0048($sp)
|
||||
/* 00A14 8087A4B4 46000506 */ mov.s $f20, $f0
|
||||
/* 00A18 8087A4B8 0C01DE1C */ jal Math_SinS
|
||||
## sins?
|
||||
/* 00A1C 8087A4BC 86040158 */ lh $a0, 0x0158($s0) ## 00000158
|
||||
/* 00A20 8087A4C0 3C013FC0 */ lui $at, 0x3FC0 ## $at = 3FC00000
|
||||
/* 00A24 8087A4C4 44819000 */ mtc1 $at, $f18 ## $f18 = 1.50
|
||||
/* 00A28 8087A4C8 00000000 */ nop
|
||||
/* 00A2C 8087A4CC 46149100 */ add.s $f4, $f18, $f20
|
||||
/* 00A30 8087A4D0 46002187 */ neg.s $f6, $f4
|
||||
/* 00A34 8087A4D4 46060202 */ mul.s $f8, $f0, $f6
|
||||
/* 00A38 8087A4D8 0C03F66B */ jal Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 00A3C 8087A4DC E7A8004C */ swc1 $f8, 0x004C($sp)
|
||||
/* 00A40 8087A4E0 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
|
||||
/* 00A44 8087A4E4 44815000 */ mtc1 $at, $f10 ## $f10 = 1.00
|
||||
/* 00A48 8087A4E8 00000000 */ nop
|
||||
/* 00A4C 8087A4EC 460A0400 */ add.s $f16, $f0, $f10
|
||||
/* 00A50 8087A4F0 0C03F66B */ jal Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 00A54 8087A4F4 E7B00050 */ swc1 $f16, 0x0050($sp)
|
||||
/* 00A58 8087A4F8 46000506 */ mov.s $f20, $f0
|
||||
/* 00A5C 8087A4FC 0C01DE0D */ jal Math_CosS
|
||||
## coss?
|
||||
/* 00A60 8087A500 86040158 */ lh $a0, 0x0158($s0) ## 00000158
|
||||
/* 00A64 8087A504 3C013FC0 */ lui $at, 0x3FC0 ## $at = 3FC00000
|
||||
/* 00A68 8087A508 44819000 */ mtc1 $at, $f18 ## $f18 = 1.50
|
||||
/* 00A6C 8087A50C 00000000 */ nop
|
||||
/* 00A70 8087A510 46149100 */ add.s $f4, $f18, $f20
|
||||
/* 00A74 8087A514 46002187 */ neg.s $f6, $f4
|
||||
/* 00A78 8087A518 46060202 */ mul.s $f8, $f0, $f6
|
||||
/* 00A7C 8087A51C E7A80054 */ swc1 $f8, 0x0054($sp)
|
||||
/* 00A80 8087A520 0C01DE1C */ jal Math_SinS
|
||||
## sins?
|
||||
/* 00A84 8087A524 86040158 */ lh $a0, 0x0158($s0) ## 00000158
|
||||
/* 00A88 8087A528 46000506 */ mov.s $f20, $f0
|
||||
/* 00A8C 8087A52C 0C01DE0D */ jal Math_CosS
|
||||
## coss?
|
||||
/* 00A90 8087A530 86040158 */ lh $a0, 0x0158($s0) ## 00000158
|
||||
/* 00A94 8087A534 3C014270 */ lui $at, 0x4270 ## $at = 42700000
|
||||
/* 00A98 8087A538 44818000 */ mtc1 $at, $f16 ## $f16 = 60.00
|
||||
/* 00A9C 8087A53C C7A60048 */ lwc1 $f6, 0x0048($sp)
|
||||
/* 00AA0 8087A540 C60A0024 */ lwc1 $f10, 0x0024($s0) ## 00000024
|
||||
/* 00AA4 8087A544 46148482 */ mul.s $f18, $f16, $f20
|
||||
/* 00AA8 8087A548 46125101 */ sub.s $f4, $f10, $f18
|
||||
/* 00AAC 8087A54C 46060202 */ mul.s $f8, $f0, $f6
|
||||
/* 00AB0 8087A550 46082401 */ sub.s $f16, $f4, $f8
|
||||
/* 00AB4 8087A554 E7B00058 */ swc1 $f16, 0x0058($sp)
|
||||
/* 00AB8 8087A558 0C01DE0D */ jal Math_CosS
|
||||
## coss?
|
||||
/* 00ABC 8087A55C 86040158 */ lh $a0, 0x0158($s0) ## 00000158
|
||||
/* 00AC0 8087A560 46000506 */ mov.s $f20, $f0
|
||||
/* 00AC4 8087A564 0C01DE1C */ jal Math_SinS
|
||||
## sins?
|
||||
/* 00AC8 8087A568 86040158 */ lh $a0, 0x0158($s0) ## 00000158
|
||||
/* 00ACC 8087A56C 3C014270 */ lui $at, 0x4270 ## $at = 42700000
|
||||
/* 00AD0 8087A570 44819000 */ mtc1 $at, $f18 ## $f18 = 60.00
|
||||
/* 00AD4 8087A574 C7A80048 */ lwc1 $f8, 0x0048($sp)
|
||||
/* 00AD8 8087A578 C60A002C */ lwc1 $f10, 0x002C($s0) ## 0000002C
|
||||
/* 00ADC 8087A57C 46149182 */ mul.s $f6, $f18, $f20
|
||||
/* 00AE0 8087A580 24040028 */ addiu $a0, $zero, 0x0028 ## $a0 = 00000028
|
||||
/* 00AE4 8087A584 2405000F */ addiu $a1, $zero, 0x000F ## $a1 = 0000000F
|
||||
/* 00AE8 8087A588 46080402 */ mul.s $f16, $f0, $f8
|
||||
/* 00AEC 8087A58C 46065101 */ sub.s $f4, $f10, $f6
|
||||
/* 00AF0 8087A590 46048480 */ add.s $f18, $f16, $f4
|
||||
/* 00AF4 8087A594 E7B20060 */ swc1 $f18, 0x0060($sp)
|
||||
/* 00AF8 8087A598 C60A0028 */ lwc1 $f10, 0x0028($s0) ## 00000028
|
||||
/* 00AFC 8087A59C 0C01DF64 */ jal Rand_S16Offset
|
||||
|
||||
/* 00B00 8087A5A0 E7AA005C */ swc1 $f10, 0x005C($sp)
|
||||
/* 00B04 8087A5A4 3C198088 */ lui $t9, %hi(D_8087A740) ## $t9 = 80880000
|
||||
/* 00B08 8087A5A8 3C088088 */ lui $t0, %hi(D_8087A744) ## $t0 = 80880000
|
||||
/* 00B0C 8087A5AC 2508A744 */ addiu $t0, $t0, %lo(D_8087A744) ## $t0 = 8087A744
|
||||
/* 00B10 8087A5B0 2739A740 */ addiu $t9, $t9, %lo(D_8087A740) ## $t9 = 8087A740
|
||||
/* 00B14 8087A5B4 3C078088 */ lui $a3, %hi(D_8087A748) ## $a3 = 80880000
|
||||
/* 00B18 8087A5B8 240900FA */ addiu $t1, $zero, 0x00FA ## $t1 = 000000FA
|
||||
/* 00B1C 8087A5BC AFA90018 */ sw $t1, 0x0018($sp)
|
||||
/* 00B20 8087A5C0 24E7A748 */ addiu $a3, $a3, %lo(D_8087A748) ## $a3 = 8087A748
|
||||
/* 00B24 8087A5C4 AFB90010 */ sw $t9, 0x0010($sp)
|
||||
/* 00B28 8087A5C8 AFA80014 */ sw $t0, 0x0014($sp)
|
||||
/* 00B2C 8087A5CC 8FA4006C */ lw $a0, 0x006C($sp)
|
||||
/* 00B30 8087A5D0 27A50058 */ addiu $a1, $sp, 0x0058 ## $a1 = FFFFFFF0
|
||||
/* 00B34 8087A5D4 27A6004C */ addiu $a2, $sp, 0x004C ## $a2 = FFFFFFE4
|
||||
/* 00B38 8087A5D8 0C00A0A7 */ jal func_8002829C
|
||||
/* 00B3C 8087A5DC AFA2001C */ sw $v0, 0x001C($sp)
|
||||
/* 00B40 8087A5E0 3C0142F0 */ lui $at, 0x42F0 ## $at = 42F00000
|
||||
/* 00B44 8087A5E4 44816000 */ mtc1 $at, $f12 ## $f12 = 120.00
|
||||
/* 00B48 8087A5E8 0C00CFC8 */ jal Rand_CenteredFloat
|
||||
|
||||
/* 00B4C 8087A5EC 00000000 */ nop
|
||||
/* 00B50 8087A5F0 E7A00048 */ swc1 $f0, 0x0048($sp)
|
||||
/* 00B54 8087A5F4 0C01DE1C */ jal Math_SinS
|
||||
## sins?
|
||||
/* 00B58 8087A5F8 86040158 */ lh $a0, 0x0158($s0) ## 00000158
|
||||
/* 00B5C 8087A5FC 46000506 */ mov.s $f20, $f0
|
||||
/* 00B60 8087A600 0C01DE0D */ jal Math_CosS
|
||||
## coss?
|
||||
/* 00B64 8087A604 86040158 */ lh $a0, 0x0158($s0) ## 00000158
|
||||
/* 00B68 8087A608 3C014270 */ lui $at, 0x4270 ## $at = 42700000
|
||||
/* 00B6C 8087A60C 44814000 */ mtc1 $at, $f8 ## $f8 = 60.00
|
||||
/* 00B70 8087A610 C7B20048 */ lwc1 $f18, 0x0048($sp)
|
||||
/* 00B74 8087A614 C6060024 */ lwc1 $f6, 0x0024($s0) ## 00000024
|
||||
/* 00B78 8087A618 46144402 */ mul.s $f16, $f8, $f20
|
||||
/* 00B7C 8087A61C 46103101 */ sub.s $f4, $f6, $f16
|
||||
/* 00B80 8087A620 46120282 */ mul.s $f10, $f0, $f18
|
||||
/* 00B84 8087A624 46045200 */ add.s $f8, $f10, $f4
|
||||
/* 00B88 8087A628 E7A80058 */ swc1 $f8, 0x0058($sp)
|
||||
/* 00B8C 8087A62C 0C01DE0D */ jal Math_CosS
|
||||
## coss?
|
||||
/* 00B90 8087A630 86040158 */ lh $a0, 0x0158($s0) ## 00000158
|
||||
/* 00B94 8087A634 46000506 */ mov.s $f20, $f0
|
||||
/* 00B98 8087A638 0C01DE1C */ jal Math_SinS
|
||||
## sins?
|
||||
/* 00B9C 8087A63C 86040158 */ lh $a0, 0x0158($s0) ## 00000158
|
||||
/* 00BA0 8087A640 3C014270 */ lui $at, 0x4270 ## $at = 42700000
|
||||
/* 00BA4 8087A644 44818000 */ mtc1 $at, $f16 ## $f16 = 60.00
|
||||
/* 00BA8 8087A648 C7A40048 */ lwc1 $f4, 0x0048($sp)
|
||||
/* 00BAC 8087A64C C606002C */ lwc1 $f6, 0x002C($s0) ## 0000002C
|
||||
/* 00BB0 8087A650 46148482 */ mul.s $f18, $f16, $f20
|
||||
/* 00BB4 8087A654 24040028 */ addiu $a0, $zero, 0x0028 ## $a0 = 00000028
|
||||
/* 00BB8 8087A658 2405000F */ addiu $a1, $zero, 0x000F ## $a1 = 0000000F
|
||||
/* 00BBC 8087A65C 46040202 */ mul.s $f8, $f0, $f4
|
||||
/* 00BC0 8087A660 46123281 */ sub.s $f10, $f6, $f18
|
||||
/* 00BC4 8087A664 46085401 */ sub.s $f16, $f10, $f8
|
||||
/* 00BC8 8087A668 0C01DF64 */ jal Rand_S16Offset
|
||||
|
||||
/* 00BCC 8087A66C E7B00060 */ swc1 $f16, 0x0060($sp)
|
||||
/* 00BD0 8087A670 3C0A8088 */ lui $t2, %hi(D_8087A740) ## $t2 = 80880000
|
||||
/* 00BD4 8087A674 3C0B8088 */ lui $t3, %hi(D_8087A744) ## $t3 = 80880000
|
||||
/* 00BD8 8087A678 256BA744 */ addiu $t3, $t3, %lo(D_8087A744) ## $t3 = 8087A744
|
||||
/* 00BDC 8087A67C 254AA740 */ addiu $t2, $t2, %lo(D_8087A740) ## $t2 = 8087A740
|
||||
/* 00BE0 8087A680 3C078088 */ lui $a3, %hi(D_8087A748) ## $a3 = 80880000
|
||||
/* 00BE4 8087A684 240C00FA */ addiu $t4, $zero, 0x00FA ## $t4 = 000000FA
|
||||
/* 00BE8 8087A688 AFAC0018 */ sw $t4, 0x0018($sp)
|
||||
/* 00BEC 8087A68C 24E7A748 */ addiu $a3, $a3, %lo(D_8087A748) ## $a3 = 8087A748
|
||||
/* 00BF0 8087A690 AFAA0010 */ sw $t2, 0x0010($sp)
|
||||
/* 00BF4 8087A694 AFAB0014 */ sw $t3, 0x0014($sp)
|
||||
/* 00BF8 8087A698 8FA4006C */ lw $a0, 0x006C($sp)
|
||||
/* 00BFC 8087A69C 27A50058 */ addiu $a1, $sp, 0x0058 ## $a1 = FFFFFFF0
|
||||
/* 00C00 8087A6A0 27A6004C */ addiu $a2, $sp, 0x004C ## $a2 = FFFFFFE4
|
||||
/* 00C04 8087A6A4 0C00A0A7 */ jal func_8002829C
|
||||
/* 00C08 8087A6A8 AFA2001C */ sw $v0, 0x001C($sp)
|
||||
/* 00C0C 8087A6AC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00C10 8087A6B0 0C00BE5D */ jal func_8002F974
|
||||
/* 00C14 8087A6B4 240500DF */ addiu $a1, $zero, 0x00DF ## $a1 = 000000DF
|
||||
.L8087A6B8:
|
||||
/* 00C18 8087A6B8 8FBF0034 */ lw $ra, 0x0034($sp)
|
||||
.L8087A6BC:
|
||||
/* 00C1C 8087A6BC D7B40028 */ ldc1 $f20, 0x0028($sp)
|
||||
/* 00C20 8087A6C0 8FB00030 */ lw $s0, 0x0030($sp)
|
||||
/* 00C24 8087A6C4 03E00008 */ jr $ra
|
||||
/* 00C28 8087A6C8 27BD0068 */ addiu $sp, $sp, 0x0068 ## $sp = 00000000
|
|
@ -1,14 +0,0 @@
|
|||
glabel BgIceObjects_Destroy
|
||||
/* 00088 8088F898 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 0008C 8088F89C AFA40018 */ sw $a0, 0x0018($sp)
|
||||
/* 00090 8088F8A0 8FAE0018 */ lw $t6, 0x0018($sp)
|
||||
/* 00094 8088F8A4 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00098 8088F8A8 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
|
||||
/* 0009C 8088F8AC 24A50810 */ addiu $a1, $a1, 0x0810 ## $a1 = 00000810
|
||||
/* 000A0 8088F8B0 0C00FB56 */ jal DynaPolyInfo_Free
|
||||
## DynaPolyInfo_delReserve
|
||||
/* 000A4 8088F8B4 8DC6014C */ lw $a2, 0x014C($t6) ## 0000014C
|
||||
/* 000A8 8088F8B8 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 000AC 8088F8BC 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 000B0 8088F8C0 03E00008 */ jr $ra
|
||||
/* 000B4 8088F8C4 00000000 */ nop
|
|
@ -1,16 +0,0 @@
|
|||
glabel BgIceObjects_Draw
|
||||
/* 00C48 80890458 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 00C4C 8089045C AFA40018 */ sw $a0, 0x0018($sp)
|
||||
/* 00C50 80890460 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
|
||||
/* 00C54 80890464 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00C58 80890468 3C050600 */ lui $a1, %hi(D_06000190) ## $a1 = 06000000
|
||||
/* 00C5C 8089046C 0C00D498 */ jal Gfx_DrawDListOpa
|
||||
|
||||
/* 00C60 80890470 24A50190 */ addiu $a1, $a1, %lo(D_06000190) ## $a1 = 06000190
|
||||
/* 00C64 80890474 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00C68 80890478 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 00C6C 8089047C 03E00008 */ jr $ra
|
||||
/* 00C70 80890480 00000000 */ nop
|
||||
/* 00C74 80890484 00000000 */ nop
|
||||
/* 00C78 80890488 00000000 */ nop
|
||||
/* 00C7C 8089048C 00000000 */ nop
|
|
@ -1,40 +0,0 @@
|
|||
glabel BgIceObjects_Init
|
||||
/* 00000 8088F810 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
|
||||
/* 00004 8088F814 AFA50034 */ sw $a1, 0x0034($sp)
|
||||
/* 00008 8088F818 AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 0000C 8088F81C AFB00018 */ sw $s0, 0x0018($sp)
|
||||
/* 00010 8088F820 3C058089 */ lui $a1, %hi(D_808904C4) ## $a1 = 80890000
|
||||
/* 00014 8088F824 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00018 8088F828 AFA00024 */ sw $zero, 0x0024($sp)
|
||||
/* 0001C 8088F82C 0C01E037 */ jal Actor_ProcessInitChain
|
||||
|
||||
/* 00020 8088F830 24A504C4 */ addiu $a1, $a1, %lo(D_808904C4) ## $a1 = 808904C4
|
||||
/* 00024 8088F834 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00028 8088F838 0C010D20 */ jal DynaPolyInfo_SetActorMove
|
||||
|
||||
/* 0002C 8088F83C 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
|
||||
/* 00030 8088F840 3C040600 */ lui $a0, %hi(D_060003F0) ## $a0 = 06000000
|
||||
/* 00034 8088F844 248403F0 */ addiu $a0, $a0, %lo(D_060003F0) ## $a0 = 060003F0
|
||||
/* 00038 8088F848 0C010620 */ jal DynaPolyInfo_Alloc
|
||||
|
||||
/* 0003C 8088F84C 27A50024 */ addiu $a1, $sp, 0x0024 ## $a1 = FFFFFFF4
|
||||
/* 00040 8088F850 26040168 */ addiu $a0, $s0, 0x0168 ## $a0 = 00000168
|
||||
/* 00044 8088F854 0C01DF90 */ jal Math_Vec3f_Copy
|
||||
## Vec3f_Copy
|
||||
/* 00048 8088F858 26050008 */ addiu $a1, $s0, 0x0008 ## $a1 = 00000008
|
||||
/* 0004C 8088F85C 8FA40034 */ lw $a0, 0x0034($sp)
|
||||
/* 00050 8088F860 3C0E8089 */ lui $t6, %hi(func_8088FED0) ## $t6 = 80890000
|
||||
/* 00054 8088F864 25CEFED0 */ addiu $t6, $t6, %lo(func_8088FED0) ## $t6 = 8088FED0
|
||||
/* 00058 8088F868 AE0E0164 */ sw $t6, 0x0164($s0) ## 00000164
|
||||
/* 0005C 8088F86C 8FA70024 */ lw $a3, 0x0024($sp)
|
||||
/* 00060 8088F870 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
|
||||
/* 00064 8088F874 0C00FA9D */ jal DynaPolyInfo_RegisterActor
|
||||
## DynaPolyInfo_setActor
|
||||
/* 00068 8088F878 24850810 */ addiu $a1, $a0, 0x0810 ## $a1 = 00000810
|
||||
/* 0006C 8088F87C AE02014C */ sw $v0, 0x014C($s0) ## 0000014C
|
||||
/* 00070 8088F880 A600001C */ sh $zero, 0x001C($s0) ## 0000001C
|
||||
/* 00074 8088F884 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 00078 8088F888 8FB00018 */ lw $s0, 0x0018($sp)
|
||||
/* 0007C 8088F88C 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
|
||||
/* 00080 8088F890 03E00008 */ jr $ra
|
||||
/* 00084 8088F894 00000000 */ nop
|
|
@ -1,10 +0,0 @@
|
|||
glabel BgIceObjects_Update
|
||||
/* 00C24 80890434 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 00C28 80890438 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00C2C 8089043C 8C990164 */ lw $t9, 0x0164($a0) ## 00000164
|
||||
/* 00C30 80890440 0320F809 */ jalr $ra, $t9
|
||||
/* 00C34 80890444 00000000 */ nop
|
||||
/* 00C38 80890448 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00C3C 8089044C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 00C40 80890450 03E00008 */ jr $ra
|
||||
/* 00C44 80890454 00000000 */ nop
|
|
@ -1,349 +0,0 @@
|
|||
.late_rodata
|
||||
glabel D_80890520
|
||||
.float -1260.0
|
||||
glabel D_80890524
|
||||
.float -1780.0
|
||||
|
||||
.text
|
||||
glabel func_8088F8C8
|
||||
/* 000B8 8088F8C8 AFA50004 */ sw $a1, 0x0004($sp)
|
||||
/* 000BC 8088F8CC 84830158 */ lh $v1, 0x0158($a0) ## 00000158
|
||||
/* 000C0 8088F8D0 24018000 */ addiu $at, $zero, 0x8000 ## $at = FFFF8000
|
||||
/* 000C4 8088F8D4 50600004 */ beql $v1, $zero, .L8088F8E8
|
||||
/* 000C8 8088F8D8 C4840024 */ lwc1 $f4, 0x0024($a0) ## 00000024
|
||||
/* 000CC 8088F8DC 5461008A */ bnel $v1, $at, .L8088FB08
|
||||
/* 000D0 8088F8E0 C484002C */ lwc1 $f4, 0x002C($a0) ## 0000002C
|
||||
/* 000D4 8088F8E4 C4840024 */ lwc1 $f4, 0x0024($a0) ## 00000024
|
||||
.L8088F8E8:
|
||||
/* 000D8 8088F8E8 3C0F8089 */ lui $t7, %hi(D_808904C8) ## $t7 = 80890000
|
||||
/* 000DC 8088F8EC 85EF04C8 */ lh $t7, %lo(D_808904C8)($t7)
|
||||
/* 000E0 8088F8F0 4600218D */ trunc.w.s $f6, $f4
|
||||
/* 000E4 8088F8F4 3C188089 */ lui $t8, %hi(D_808904CA) ## $t8 = 80890000
|
||||
/* 000E8 8088F8F8 44023000 */ mfc1 $v0, $f6
|
||||
/* 000EC 8088F8FC 00000000 */ nop
|
||||
/* 000F0 8088F900 00021400 */ sll $v0, $v0, 16
|
||||
/* 000F4 8088F904 00021403 */ sra $v0, $v0, 16
|
||||
/* 000F8 8088F908 144F000C */ bne $v0, $t7, .L8088F93C
|
||||
/* 000FC 8088F90C 00000000 */ nop
|
||||
/* 00100 8088F910 14600004 */ bne $v1, $zero, .L8088F924
|
||||
/* 00104 8088F914 3C028089 */ lui $v0, %hi(D_808904EA) ## $v0 = 80890000
|
||||
/* 00108 8088F918 3C028089 */ lui $v0, %hi(D_808904E8) ## $v0 = 80890000
|
||||
/* 0010C 8088F91C 10000002 */ beq $zero, $zero, .L8088F928
|
||||
/* 00110 8088F920 844204E8 */ lh $v0, %lo(D_808904E8)($v0)
|
||||
.L8088F924:
|
||||
/* 00114 8088F924 844204EA */ lh $v0, %lo(D_808904EA)($v0)
|
||||
.L8088F928:
|
||||
/* 00118 8088F928 44824000 */ mtc1 $v0, $f8 ## $f8 = -0.00
|
||||
/* 0011C 8088F92C 00000000 */ nop
|
||||
/* 00120 8088F930 468042A0 */ cvt.s.w $f10, $f8
|
||||
/* 00124 8088F934 03E00008 */ jr $ra
|
||||
/* 00128 8088F938 E48A0170 */ swc1 $f10, 0x0170($a0) ## 00000170
|
||||
.L8088F93C:
|
||||
/* 0012C 8088F93C 871804CA */ lh $t8, %lo(D_808904CA)($t8)
|
||||
/* 00130 8088F940 3C198089 */ lui $t9, %hi(D_808904CC) ## $t9 = 80890000
|
||||
/* 00134 8088F944 1458000C */ bne $v0, $t8, .L8088F978
|
||||
/* 00138 8088F948 00000000 */ nop
|
||||
/* 0013C 8088F94C 14600004 */ bne $v1, $zero, .L8088F960
|
||||
/* 00140 8088F950 3C028089 */ lui $v0, %hi(D_808904EE) ## $v0 = 80890000
|
||||
/* 00144 8088F954 3C028089 */ lui $v0, %hi(D_808904EC) ## $v0 = 80890000
|
||||
/* 00148 8088F958 10000002 */ beq $zero, $zero, .L8088F964
|
||||
/* 0014C 8088F95C 844204EC */ lh $v0, %lo(D_808904EC)($v0)
|
||||
.L8088F960:
|
||||
/* 00150 8088F960 844204EE */ lh $v0, %lo(D_808904EE)($v0)
|
||||
.L8088F964:
|
||||
/* 00154 8088F964 44828000 */ mtc1 $v0, $f16 ## $f16 = -0.00
|
||||
/* 00158 8088F968 00000000 */ nop
|
||||
/* 0015C 8088F96C 468084A0 */ cvt.s.w $f18, $f16
|
||||
/* 00160 8088F970 03E00008 */ jr $ra
|
||||
/* 00164 8088F974 E4920170 */ swc1 $f18, 0x0170($a0) ## 00000170
|
||||
.L8088F978:
|
||||
/* 00168 8088F978 873904CC */ lh $t9, %lo(D_808904CC)($t9)
|
||||
/* 0016C 8088F97C 24050003 */ addiu $a1, $zero, 0x0003 ## $a1 = 00000003
|
||||
/* 00170 8088F980 00054040 */ sll $t0, $a1, 1
|
||||
/* 00174 8088F984 1459000C */ bne $v0, $t9, .L8088F9B8
|
||||
/* 00178 8088F988 3C098089 */ lui $t1, %hi(D_808904C8) ## $t1 = 80890000
|
||||
/* 0017C 8088F98C 14600004 */ bne $v1, $zero, .L8088F9A0
|
||||
/* 00180 8088F990 3C028089 */ lui $v0, %hi(D_808904F2) ## $v0 = 80890000
|
||||
/* 00184 8088F994 3C028089 */ lui $v0, %hi(D_808904F0) ## $v0 = 80890000
|
||||
/* 00188 8088F998 10000002 */ beq $zero, $zero, .L8088F9A4
|
||||
/* 0018C 8088F99C 844204F0 */ lh $v0, %lo(D_808904F0)($v0)
|
||||
.L8088F9A0:
|
||||
/* 00190 8088F9A0 844204F2 */ lh $v0, %lo(D_808904F2)($v0)
|
||||
.L8088F9A4:
|
||||
/* 00194 8088F9A4 44822000 */ mtc1 $v0, $f4 ## $f4 = -0.00
|
||||
/* 00198 8088F9A8 00000000 */ nop
|
||||
/* 0019C 8088F9AC 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* 001A0 8088F9B0 03E00008 */ jr $ra
|
||||
/* 001A4 8088F9B4 E4860170 */ swc1 $f6, 0x0170($a0) ## 00000170
|
||||
.L8088F9B8:
|
||||
/* 001A8 8088F9B8 252904C8 */ addiu $t1, $t1, %lo(D_808904C8) ## $t1 = 808904C8
|
||||
/* 001AC 8088F9BC 01093021 */ addu $a2, $t0, $t1
|
||||
/* 001B0 8088F9C0 84CA0000 */ lh $t2, 0x0000($a2) ## 00000000
|
||||
/* 001B4 8088F9C4 544A0011 */ bnel $v0, $t2, .L8088FA0C
|
||||
/* 001B8 8088F9C8 84CD0002 */ lh $t5, 0x0002($a2) ## 00000002
|
||||
/* 001BC 8088F9CC 14600006 */ bne $v1, $zero, .L8088F9E8
|
||||
/* 001C0 8088F9D0 00056080 */ sll $t4, $a1, 2
|
||||
/* 001C4 8088F9D4 00055880 */ sll $t3, $a1, 2
|
||||
/* 001C8 8088F9D8 3C028089 */ lui $v0, %hi(D_808904E8) ## $v0 = 80890000
|
||||
/* 001CC 8088F9DC 004B1021 */ addu $v0, $v0, $t3
|
||||
/* 001D0 8088F9E0 10000004 */ beq $zero, $zero, .L8088F9F4
|
||||
/* 001D4 8088F9E4 844204E8 */ lh $v0, %lo(D_808904E8)($v0)
|
||||
.L8088F9E8:
|
||||
/* 001D8 8088F9E8 3C028089 */ lui $v0, %hi(D_808904EA) ## $v0 = 80890000
|
||||
/* 001DC 8088F9EC 004C1021 */ addu $v0, $v0, $t4
|
||||
/* 001E0 8088F9F0 844204EA */ lh $v0, %lo(D_808904EA)($v0)
|
||||
.L8088F9F4:
|
||||
/* 001E4 8088F9F4 44824000 */ mtc1 $v0, $f8 ## $f8 = -0.00
|
||||
/* 001E8 8088F9F8 00000000 */ nop
|
||||
/* 001EC 8088F9FC 468042A0 */ cvt.s.w $f10, $f8
|
||||
/* 001F0 8088FA00 03E00008 */ jr $ra
|
||||
/* 001F4 8088FA04 E48A0170 */ swc1 $f10, 0x0170($a0) ## 00000170
|
||||
.L8088FA08:
|
||||
/* 001F8 8088FA08 84CD0002 */ lh $t5, 0x0002($a2) ## 00000002
|
||||
.L8088FA0C:
|
||||
/* 001FC 8088FA0C 544D0011 */ bnel $v0, $t5, .L8088FA54
|
||||
/* 00200 8088FA10 84D80004 */ lh $t8, 0x0004($a2) ## 00000004
|
||||
/* 00204 8088FA14 14600006 */ bne $v1, $zero, .L8088FA30
|
||||
/* 00208 8088FA18 00057880 */ sll $t7, $a1, 2
|
||||
/* 0020C 8088FA1C 00057080 */ sll $t6, $a1, 2
|
||||
/* 00210 8088FA20 3C028089 */ lui $v0, %hi(D_808904EC) ## $v0 = 80890000
|
||||
/* 00214 8088FA24 004E1021 */ addu $v0, $v0, $t6
|
||||
/* 00218 8088FA28 10000004 */ beq $zero, $zero, .L8088FA3C
|
||||
/* 0021C 8088FA2C 844204EC */ lh $v0, %lo(D_808904EC)($v0)
|
||||
.L8088FA30:
|
||||
/* 00220 8088FA30 3C028089 */ lui $v0, %hi(D_808904EE) ## $v0 = 80890000
|
||||
/* 00224 8088FA34 004F1021 */ addu $v0, $v0, $t7
|
||||
/* 00228 8088FA38 844204EE */ lh $v0, %lo(D_808904EE)($v0)
|
||||
.L8088FA3C:
|
||||
/* 0022C 8088FA3C 44828000 */ mtc1 $v0, $f16 ## $f16 = -0.00
|
||||
/* 00230 8088FA40 00000000 */ nop
|
||||
/* 00234 8088FA44 468084A0 */ cvt.s.w $f18, $f16
|
||||
/* 00238 8088FA48 03E00008 */ jr $ra
|
||||
/* 0023C 8088FA4C E4920170 */ swc1 $f18, 0x0170($a0) ## 00000170
|
||||
.L8088FA50:
|
||||
/* 00240 8088FA50 84D80004 */ lh $t8, 0x0004($a2) ## 00000004
|
||||
.L8088FA54:
|
||||
/* 00244 8088FA54 54580011 */ bnel $v0, $t8, .L8088FA9C
|
||||
/* 00248 8088FA58 84C90006 */ lh $t1, 0x0006($a2) ## 00000006
|
||||
/* 0024C 8088FA5C 14600006 */ bne $v1, $zero, .L8088FA78
|
||||
/* 00250 8088FA60 00054080 */ sll $t0, $a1, 2
|
||||
/* 00254 8088FA64 0005C880 */ sll $t9, $a1, 2
|
||||
/* 00258 8088FA68 3C028089 */ lui $v0, %hi(D_808904F0) ## $v0 = 80890000
|
||||
/* 0025C 8088FA6C 00591021 */ addu $v0, $v0, $t9
|
||||
/* 00260 8088FA70 10000004 */ beq $zero, $zero, .L8088FA84
|
||||
/* 00264 8088FA74 844204F0 */ lh $v0, %lo(D_808904F0)($v0)
|
||||
.L8088FA78:
|
||||
/* 00268 8088FA78 3C028089 */ lui $v0, %hi(D_808904F2) ## $v0 = 80890000
|
||||
/* 0026C 8088FA7C 00481021 */ addu $v0, $v0, $t0
|
||||
/* 00270 8088FA80 844204F2 */ lh $v0, %lo(D_808904F2)($v0)
|
||||
.L8088FA84:
|
||||
/* 00274 8088FA84 44822000 */ mtc1 $v0, $f4 ## $f4 = -0.00
|
||||
/* 00278 8088FA88 00000000 */ nop
|
||||
/* 0027C 8088FA8C 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* 00280 8088FA90 03E00008 */ jr $ra
|
||||
/* 00284 8088FA94 E4860170 */ swc1 $f6, 0x0170($a0) ## 00000170
|
||||
.L8088FA98:
|
||||
/* 00288 8088FA98 84C90006 */ lh $t1, 0x0006($a2) ## 00000006
|
||||
.L8088FA9C:
|
||||
/* 0028C 8088FA9C 14490010 */ bne $v0, $t1, .L8088FAE0
|
||||
/* 00290 8088FAA0 00000000 */ nop
|
||||
/* 00294 8088FAA4 14600006 */ bne $v1, $zero, .L8088FAC0
|
||||
/* 00298 8088FAA8 00055880 */ sll $t3, $a1, 2
|
||||
/* 0029C 8088FAAC 00055080 */ sll $t2, $a1, 2
|
||||
/* 002A0 8088FAB0 3C028089 */ lui $v0, %hi(D_808904F4) ## $v0 = 80890000
|
||||
/* 002A4 8088FAB4 004A1021 */ addu $v0, $v0, $t2
|
||||
/* 002A8 8088FAB8 10000004 */ beq $zero, $zero, .L8088FACC
|
||||
/* 002AC 8088FABC 844204F4 */ lh $v0, %lo(D_808904F4)($v0)
|
||||
.L8088FAC0:
|
||||
/* 002B0 8088FAC0 3C028089 */ lui $v0, %hi(D_808904F6) ## $v0 = 80890000
|
||||
/* 002B4 8088FAC4 004B1021 */ addu $v0, $v0, $t3
|
||||
/* 002B8 8088FAC8 844204F6 */ lh $v0, %lo(D_808904F6)($v0)
|
||||
.L8088FACC:
|
||||
/* 002BC 8088FACC 44824000 */ mtc1 $v0, $f8 ## $f8 = -0.00
|
||||
/* 002C0 8088FAD0 00000000 */ nop
|
||||
/* 002C4 8088FAD4 468042A0 */ cvt.s.w $f10, $f8
|
||||
/* 002C8 8088FAD8 03E00008 */ jr $ra
|
||||
/* 002CC 8088FADC E48A0170 */ swc1 $f10, 0x0170($a0) ## 00000170
|
||||
.L8088FAE0:
|
||||
/* 002D0 8088FAE0 14600005 */ bne $v1, $zero, .L8088FAF8
|
||||
/* 002D4 8088FAE4 3C018089 */ lui $at, %hi(D_80890520) ## $at = 80890000
|
||||
/* 002D8 8088FAE8 3C01C3AA */ lui $at, 0xC3AA ## $at = C3AA0000
|
||||
/* 002DC 8088FAEC 44818000 */ mtc1 $at, $f16 ## $f16 = -340.00
|
||||
/* 002E0 8088FAF0 03E00008 */ jr $ra
|
||||
/* 002E4 8088FAF4 E4900170 */ swc1 $f16, 0x0170($a0) ## 00000170
|
||||
.L8088FAF8:
|
||||
/* 002E8 8088FAF8 C4320520 */ lwc1 $f18, %lo(D_80890520)($at)
|
||||
/* 002EC 8088FAFC 03E00008 */ jr $ra
|
||||
/* 002F0 8088FB00 E4920170 */ swc1 $f18, 0x0170($a0) ## 00000170
|
||||
.L8088FB04:
|
||||
/* 002F4 8088FB04 C484002C */ lwc1 $f4, 0x002C($a0) ## 0000002C
|
||||
.L8088FB08:
|
||||
/* 002F8 8088FB08 3C0D8089 */ lui $t5, %hi(D_808904D8) ## $t5 = 80890000
|
||||
/* 002FC 8088FB0C 85AD04D8 */ lh $t5, %lo(D_808904D8)($t5)
|
||||
/* 00300 8088FB10 4600218D */ trunc.w.s $f6, $f4
|
||||
/* 00304 8088FB14 3C0E8089 */ lui $t6, %hi(D_808904DA) ## $t6 = 80890000
|
||||
/* 00308 8088FB18 24014000 */ addiu $at, $zero, 0x4000 ## $at = 00004000
|
||||
/* 0030C 8088FB1C 44023000 */ mfc1 $v0, $f6
|
||||
/* 00310 8088FB20 00000000 */ nop
|
||||
/* 00314 8088FB24 00021400 */ sll $v0, $v0, 16
|
||||
/* 00318 8088FB28 00021403 */ sra $v0, $v0, 16
|
||||
/* 0031C 8088FB2C 144D000C */ bne $v0, $t5, .L8088FB60
|
||||
/* 00320 8088FB30 00000000 */ nop
|
||||
/* 00324 8088FB34 14610004 */ bne $v1, $at, .L8088FB48
|
||||
/* 00328 8088FB38 3C028089 */ lui $v0, %hi(D_80890506) ## $v0 = 80890000
|
||||
/* 0032C 8088FB3C 3C028089 */ lui $v0, %hi(D_80890504) ## $v0 = 80890000
|
||||
/* 00330 8088FB40 10000002 */ beq $zero, $zero, .L8088FB4C
|
||||
/* 00334 8088FB44 84420504 */ lh $v0, %lo(D_80890504)($v0)
|
||||
.L8088FB48:
|
||||
/* 00338 8088FB48 84420506 */ lh $v0, %lo(D_80890506)($v0)
|
||||
.L8088FB4C:
|
||||
/* 0033C 8088FB4C 44824000 */ mtc1 $v0, $f8 ## $f8 = -0.00
|
||||
/* 00340 8088FB50 00000000 */ nop
|
||||
/* 00344 8088FB54 468042A0 */ cvt.s.w $f10, $f8
|
||||
/* 00348 8088FB58 03E00008 */ jr $ra
|
||||
/* 0034C 8088FB5C E48A0168 */ swc1 $f10, 0x0168($a0) ## 00000168
|
||||
.L8088FB60:
|
||||
/* 00350 8088FB60 85CE04DA */ lh $t6, %lo(D_808904DA)($t6)
|
||||
/* 00354 8088FB64 3C0F8089 */ lui $t7, %hi(D_808904DC) ## $t7 = 80890000
|
||||
/* 00358 8088FB68 24014000 */ addiu $at, $zero, 0x4000 ## $at = 00004000
|
||||
/* 0035C 8088FB6C 144E000C */ bne $v0, $t6, .L8088FBA0
|
||||
/* 00360 8088FB70 00000000 */ nop
|
||||
/* 00364 8088FB74 14610004 */ bne $v1, $at, .L8088FB88
|
||||
/* 00368 8088FB78 3C028089 */ lui $v0, %hi(D_8089050A) ## $v0 = 80890000
|
||||
/* 0036C 8088FB7C 3C028089 */ lui $v0, %hi(D_80890508) ## $v0 = 80890000
|
||||
/* 00370 8088FB80 10000002 */ beq $zero, $zero, .L8088FB8C
|
||||
/* 00374 8088FB84 84420508 */ lh $v0, %lo(D_80890508)($v0)
|
||||
.L8088FB88:
|
||||
/* 00378 8088FB88 8442050A */ lh $v0, %lo(D_8089050A)($v0)
|
||||
.L8088FB8C:
|
||||
/* 0037C 8088FB8C 44828000 */ mtc1 $v0, $f16 ## $f16 = -0.00
|
||||
/* 00380 8088FB90 00000000 */ nop
|
||||
/* 00384 8088FB94 468084A0 */ cvt.s.w $f18, $f16
|
||||
/* 00388 8088FB98 03E00008 */ jr $ra
|
||||
/* 0038C 8088FB9C E4920168 */ swc1 $f18, 0x0168($a0) ## 00000168
|
||||
.L8088FBA0:
|
||||
/* 00390 8088FBA0 85EF04DC */ lh $t7, %lo(D_808904DC)($t7)
|
||||
/* 00394 8088FBA4 24050003 */ addiu $a1, $zero, 0x0003 ## $a1 = 00000003
|
||||
/* 00398 8088FBA8 0005C040 */ sll $t8, $a1, 1
|
||||
/* 0039C 8088FBAC 144F000D */ bne $v0, $t7, .L8088FBE4
|
||||
/* 003A0 8088FBB0 3C198089 */ lui $t9, %hi(D_808904D8) ## $t9 = 80890000
|
||||
/* 003A4 8088FBB4 24014000 */ addiu $at, $zero, 0x4000 ## $at = 00004000
|
||||
/* 003A8 8088FBB8 14610004 */ bne $v1, $at, .L8088FBCC
|
||||
/* 003AC 8088FBBC 3C028089 */ lui $v0, %hi(D_8089050E) ## $v0 = 80890000
|
||||
/* 003B0 8088FBC0 3C028089 */ lui $v0, %hi(D_8089050C) ## $v0 = 80890000
|
||||
/* 003B4 8088FBC4 10000002 */ beq $zero, $zero, .L8088FBD0
|
||||
/* 003B8 8088FBC8 8442050C */ lh $v0, %lo(D_8089050C)($v0)
|
||||
.L8088FBCC:
|
||||
/* 003BC 8088FBCC 8442050E */ lh $v0, %lo(D_8089050E)($v0)
|
||||
.L8088FBD0:
|
||||
/* 003C0 8088FBD0 44822000 */ mtc1 $v0, $f4 ## $f4 = -0.00
|
||||
/* 003C4 8088FBD4 00000000 */ nop
|
||||
/* 003C8 8088FBD8 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* 003CC 8088FBDC 03E00008 */ jr $ra
|
||||
/* 003D0 8088FBE0 E4860168 */ swc1 $f6, 0x0168($a0) ## 00000168
|
||||
.L8088FBE4:
|
||||
/* 003D4 8088FBE4 273904D8 */ addiu $t9, $t9, %lo(D_808904D8) ## $t9 = 808904D8
|
||||
/* 003D8 8088FBE8 03193021 */ addu $a2, $t8, $t9
|
||||
/* 003DC 8088FBEC 84C80000 */ lh $t0, 0x0000($a2) ## 00000000
|
||||
/* 003E0 8088FBF0 24014000 */ addiu $at, $zero, 0x4000 ## $at = 00004000
|
||||
/* 003E4 8088FBF4 54480011 */ bnel $v0, $t0, .L8088FC3C
|
||||
/* 003E8 8088FBF8 84CB0002 */ lh $t3, 0x0002($a2) ## 00000002
|
||||
/* 003EC 8088FBFC 14610006 */ bne $v1, $at, .L8088FC18
|
||||
/* 003F0 8088FC00 00055080 */ sll $t2, $a1, 2
|
||||
/* 003F4 8088FC04 00054880 */ sll $t1, $a1, 2
|
||||
/* 003F8 8088FC08 3C028089 */ lui $v0, %hi(D_80890504) ## $v0 = 80890000
|
||||
/* 003FC 8088FC0C 00491021 */ addu $v0, $v0, $t1
|
||||
/* 00400 8088FC10 10000004 */ beq $zero, $zero, .L8088FC24
|
||||
/* 00404 8088FC14 84420504 */ lh $v0, %lo(D_80890504)($v0)
|
||||
.L8088FC18:
|
||||
/* 00408 8088FC18 3C028089 */ lui $v0, %hi(D_80890506) ## $v0 = 80890000
|
||||
/* 0040C 8088FC1C 004A1021 */ addu $v0, $v0, $t2
|
||||
/* 00410 8088FC20 84420506 */ lh $v0, %lo(D_80890506)($v0)
|
||||
.L8088FC24:
|
||||
/* 00414 8088FC24 44824000 */ mtc1 $v0, $f8 ## $f8 = -0.00
|
||||
/* 00418 8088FC28 00000000 */ nop
|
||||
/* 0041C 8088FC2C 468042A0 */ cvt.s.w $f10, $f8
|
||||
/* 00420 8088FC30 03E00008 */ jr $ra
|
||||
/* 00424 8088FC34 E48A0168 */ swc1 $f10, 0x0168($a0) ## 00000168
|
||||
.L8088FC38:
|
||||
/* 00428 8088FC38 84CB0002 */ lh $t3, 0x0002($a2) ## 00000002
|
||||
.L8088FC3C:
|
||||
/* 0042C 8088FC3C 24014000 */ addiu $at, $zero, 0x4000 ## $at = 00004000
|
||||
/* 00430 8088FC40 544B0011 */ bnel $v0, $t3, .L8088FC88
|
||||
/* 00434 8088FC44 84CE0004 */ lh $t6, 0x0004($a2) ## 00000004
|
||||
/* 00438 8088FC48 14610006 */ bne $v1, $at, .L8088FC64
|
||||
/* 0043C 8088FC4C 00056880 */ sll $t5, $a1, 2
|
||||
/* 00440 8088FC50 00056080 */ sll $t4, $a1, 2
|
||||
/* 00444 8088FC54 3C028089 */ lui $v0, %hi(D_80890508) ## $v0 = 80890000
|
||||
/* 00448 8088FC58 004C1021 */ addu $v0, $v0, $t4
|
||||
/* 0044C 8088FC5C 10000004 */ beq $zero, $zero, .L8088FC70
|
||||
/* 00450 8088FC60 84420508 */ lh $v0, %lo(D_80890508)($v0)
|
||||
.L8088FC64:
|
||||
/* 00454 8088FC64 3C028089 */ lui $v0, %hi(D_8089050A) ## $v0 = 80890000
|
||||
/* 00458 8088FC68 004D1021 */ addu $v0, $v0, $t5
|
||||
/* 0045C 8088FC6C 8442050A */ lh $v0, %lo(D_8089050A)($v0)
|
||||
.L8088FC70:
|
||||
/* 00460 8088FC70 44828000 */ mtc1 $v0, $f16 ## $f16 = -0.00
|
||||
/* 00464 8088FC74 00000000 */ nop
|
||||
/* 00468 8088FC78 468084A0 */ cvt.s.w $f18, $f16
|
||||
/* 0046C 8088FC7C 03E00008 */ jr $ra
|
||||
/* 00470 8088FC80 E4920168 */ swc1 $f18, 0x0168($a0) ## 00000168
|
||||
.L8088FC84:
|
||||
/* 00474 8088FC84 84CE0004 */ lh $t6, 0x0004($a2) ## 00000004
|
||||
.L8088FC88:
|
||||
/* 00478 8088FC88 24014000 */ addiu $at, $zero, 0x4000 ## $at = 00004000
|
||||
/* 0047C 8088FC8C 544E0011 */ bnel $v0, $t6, .L8088FCD4
|
||||
/* 00480 8088FC90 84D90006 */ lh $t9, 0x0006($a2) ## 00000006
|
||||
/* 00484 8088FC94 14610006 */ bne $v1, $at, .L8088FCB0
|
||||
/* 00488 8088FC98 0005C080 */ sll $t8, $a1, 2
|
||||
/* 0048C 8088FC9C 00057880 */ sll $t7, $a1, 2
|
||||
/* 00490 8088FCA0 3C028089 */ lui $v0, %hi(D_8089050C) ## $v0 = 80890000
|
||||
/* 00494 8088FCA4 004F1021 */ addu $v0, $v0, $t7
|
||||
/* 00498 8088FCA8 10000004 */ beq $zero, $zero, .L8088FCBC
|
||||
/* 0049C 8088FCAC 8442050C */ lh $v0, %lo(D_8089050C)($v0)
|
||||
.L8088FCB0:
|
||||
/* 004A0 8088FCB0 3C028089 */ lui $v0, %hi(D_8089050E) ## $v0 = 80890000
|
||||
/* 004A4 8088FCB4 00581021 */ addu $v0, $v0, $t8
|
||||
/* 004A8 8088FCB8 8442050E */ lh $v0, %lo(D_8089050E)($v0)
|
||||
.L8088FCBC:
|
||||
/* 004AC 8088FCBC 44822000 */ mtc1 $v0, $f4 ## $f4 = -0.00
|
||||
/* 004B0 8088FCC0 00000000 */ nop
|
||||
/* 004B4 8088FCC4 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* 004B8 8088FCC8 03E00008 */ jr $ra
|
||||
/* 004BC 8088FCCC E4860168 */ swc1 $f6, 0x0168($a0) ## 00000168
|
||||
.L8088FCD0:
|
||||
/* 004C0 8088FCD0 84D90006 */ lh $t9, 0x0006($a2) ## 00000006
|
||||
.L8088FCD4:
|
||||
/* 004C4 8088FCD4 24014000 */ addiu $at, $zero, 0x4000 ## $at = 00004000
|
||||
/* 004C8 8088FCD8 14590011 */ bne $v0, $t9, .L8088FD20
|
||||
/* 004CC 8088FCDC 00000000 */ nop
|
||||
/* 004D0 8088FCE0 24014000 */ addiu $at, $zero, 0x4000 ## $at = 00004000
|
||||
/* 004D4 8088FCE4 14610006 */ bne $v1, $at, .L8088FD00
|
||||
/* 004D8 8088FCE8 00054880 */ sll $t1, $a1, 2
|
||||
/* 004DC 8088FCEC 00054080 */ sll $t0, $a1, 2
|
||||
/* 004E0 8088FCF0 3C028089 */ lui $v0, %hi(D_80890510) ## $v0 = 80890000
|
||||
/* 004E4 8088FCF4 00481021 */ addu $v0, $v0, $t0
|
||||
/* 004E8 8088FCF8 10000004 */ beq $zero, $zero, .L8088FD0C
|
||||
/* 004EC 8088FCFC 84420510 */ lh $v0, %lo(D_80890510)($v0)
|
||||
.L8088FD00:
|
||||
/* 004F0 8088FD00 3C028089 */ lui $v0, %hi(D_80890512) ## $v0 = 80890000
|
||||
/* 004F4 8088FD04 00491021 */ addu $v0, $v0, $t1
|
||||
/* 004F8 8088FD08 84420512 */ lh $v0, %lo(D_80890512)($v0)
|
||||
.L8088FD0C:
|
||||
/* 004FC 8088FD0C 44824000 */ mtc1 $v0, $f8 ## $f8 = -0.00
|
||||
/* 00500 8088FD10 00000000 */ nop
|
||||
/* 00504 8088FD14 468042A0 */ cvt.s.w $f10, $f8
|
||||
/* 00508 8088FD18 03E00008 */ jr $ra
|
||||
/* 0050C 8088FD1C E48A0168 */ swc1 $f10, 0x0168($a0) ## 00000168
|
||||
.L8088FD20:
|
||||
/* 00510 8088FD20 14610004 */ bne $v1, $at, .L8088FD34
|
||||
/* 00514 8088FD24 3C01C457 */ lui $at, 0xC457 ## $at = C4570000
|
||||
/* 00518 8088FD28 44818000 */ mtc1 $at, $f16 ## $f16 = -860.00
|
||||
/* 0051C 8088FD2C 03E00008 */ jr $ra
|
||||
/* 00520 8088FD30 E4900168 */ swc1 $f16, 0x0168($a0) ## 00000168
|
||||
.L8088FD34:
|
||||
/* 00524 8088FD34 3C018089 */ lui $at, %hi(D_80890524) ## $at = 80890000
|
||||
/* 00528 8088FD38 C4320524 */ lwc1 $f18, %lo(D_80890524)($at)
|
||||
/* 0052C 8088FD3C E4920168 */ swc1 $f18, 0x0168($a0) ## 00000168
|
||||
/* 00530 8088FD40 03E00008 */ jr $ra
|
||||
/* 00534 8088FD44 00000000 */ nop
|
|
@ -1,119 +0,0 @@
|
|||
.late_rodata
|
||||
glabel D_80890528
|
||||
.float -1660.0
|
||||
glabel D_8089052C
|
||||
.float -1060.0
|
||||
glabel D_80890530
|
||||
.float -1580.0
|
||||
glabel D_80890534
|
||||
.float -1180.0
|
||||
|
||||
.text
|
||||
glabel func_8088FD48
|
||||
/* 00538 8088FD48 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 0053C 8088FD4C AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00540 8088FD50 AFA5001C */ sw $a1, 0x001C($sp)
|
||||
/* 00544 8088FD54 C4820060 */ lwc1 $f2, 0x0060($a0) ## 00000060
|
||||
/* 00548 8088FD58 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
|
||||
/* 0054C 8088FD5C 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000
|
||||
/* 00550 8088FD60 3C018089 */ lui $at, %hi(D_80890528) ## $at = 80890000
|
||||
/* 00554 8088FD64 4602203C */ c.lt.s $f4, $f2
|
||||
/* 00558 8088FD68 00000000 */ nop
|
||||
/* 0055C 8088FD6C 45030034 */ bc1tl .L8088FE40
|
||||
/* 00560 8088FD70 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
|
||||
/* 00564 8088FD74 C4800024 */ lwc1 $f0, 0x0024($a0) ## 00000024
|
||||
/* 00568 8088FD78 C4260528 */ lwc1 $f6, %lo(D_80890528)($at)
|
||||
/* 0056C 8088FD7C 3C018089 */ lui $at, %hi(D_8089052C) ## $at = 80890000
|
||||
/* 00570 8088FD80 4606003E */ c.le.s $f0, $f6
|
||||
/* 00574 8088FD84 00000000 */ nop
|
||||
/* 00578 8088FD88 45000006 */ bc1f .L8088FDA4
|
||||
/* 0057C 8088FD8C 00000000 */ nop
|
||||
/* 00580 8088FD90 C428052C */ lwc1 $f8, %lo(D_8089052C)($at)
|
||||
/* 00584 8088FD94 C48A002C */ lwc1 $f10, 0x002C($a0) ## 0000002C
|
||||
/* 00588 8088FD98 4608503E */ c.le.s $f10, $f8
|
||||
/* 0058C 8088FD9C 00000000 */ nop
|
||||
/* 00590 8088FDA0 45010026 */ bc1t .L8088FE3C
|
||||
.L8088FDA4:
|
||||
/* 00594 8088FDA4 3C018089 */ lui $at, %hi(D_80890530) ## $at = 80890000
|
||||
/* 00598 8088FDA8 C4300530 */ lwc1 $f16, %lo(D_80890530)($at)
|
||||
/* 0059C 8088FDAC 3C01C3D2 */ lui $at, 0xC3D2 ## $at = C3D20000
|
||||
/* 005A0 8088FDB0 4610003E */ c.le.s $f0, $f16
|
||||
/* 005A4 8088FDB4 00000000 */ nop
|
||||
/* 005A8 8088FDB8 45020008 */ bc1fl .L8088FDDC
|
||||
/* 005AC 8088FDBC 3C01C475 */ lui $at, 0xC475 ## $at = C4750000
|
||||
/* 005B0 8088FDC0 C4F2002C */ lwc1 $f18, 0x002C($a3) ## 0000002C
|
||||
/* 005B4 8088FDC4 44812000 */ mtc1 $at, $f4 ## $f4 = -980.00
|
||||
/* 005B8 8088FDC8 00000000 */ nop
|
||||
/* 005BC 8088FDCC 4612203E */ c.le.s $f4, $f18
|
||||
/* 005C0 8088FDD0 00000000 */ nop
|
||||
/* 005C4 8088FDD4 45010019 */ bc1t .L8088FE3C
|
||||
/* 005C8 8088FDD8 3C01C475 */ lui $at, 0xC475 ## $at = C4750000
|
||||
.L8088FDDC:
|
||||
/* 005CC 8088FDDC 44813000 */ mtc1 $at, $f6 ## $f6 = -980.00
|
||||
/* 005D0 8088FDE0 3C018089 */ lui $at, %hi(D_80890534) ## $at = 80890000
|
||||
/* 005D4 8088FDE4 4600303E */ c.le.s $f6, $f0
|
||||
/* 005D8 8088FDE8 00000000 */ nop
|
||||
/* 005DC 8088FDEC 45020007 */ bc1fl .L8088FE0C
|
||||
/* 005E0 8088FDF0 3C01C457 */ lui $at, 0xC457 ## $at = C4570000
|
||||
/* 005E4 8088FDF4 C4280534 */ lwc1 $f8, %lo(D_80890534)($at)
|
||||
/* 005E8 8088FDF8 C4EA002C */ lwc1 $f10, 0x002C($a3) ## 0000002C
|
||||
/* 005EC 8088FDFC 4608503E */ c.le.s $f10, $f8
|
||||
/* 005F0 8088FE00 00000000 */ nop
|
||||
/* 005F4 8088FE04 4501000D */ bc1t .L8088FE3C
|
||||
/* 005F8 8088FE08 3C01C457 */ lui $at, 0xC457 ## $at = C4570000
|
||||
.L8088FE0C:
|
||||
/* 005FC 8088FE0C 44818000 */ mtc1 $at, $f16 ## $f16 = -860.00
|
||||
/* 00600 8088FE10 3C01C42F */ lui $at, 0xC42F ## $at = C42F0000
|
||||
/* 00604 8088FE14 4600803E */ c.le.s $f16, $f0
|
||||
/* 00608 8088FE18 00000000 */ nop
|
||||
/* 0060C 8088FE1C 45020029 */ bc1fl .L8088FEC4
|
||||
/* 00610 8088FE20 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00614 8088FE24 C4F2002C */ lwc1 $f18, 0x002C($a3) ## 0000002C
|
||||
/* 00618 8088FE28 44812000 */ mtc1 $at, $f4 ## $f4 = -700.00
|
||||
/* 0061C 8088FE2C 00000000 */ nop
|
||||
/* 00620 8088FE30 4612203E */ c.le.s $f4, $f18
|
||||
/* 00624 8088FE34 00000000 */ nop
|
||||
/* 00628 8088FE38 45000021 */ bc1f .L8088FEC0
|
||||
.L8088FE3C:
|
||||
/* 0062C 8088FE3C 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
|
||||
.L8088FE40:
|
||||
/* 00630 8088FE40 44813000 */ mtc1 $at, $f6 ## $f6 = 1.00
|
||||
/* 00634 8088FE44 24E40028 */ addiu $a0, $a3, 0x0028 ## $a0 = 00000028
|
||||
/* 00638 8088FE48 3C05C396 */ lui $a1, 0xC396 ## $a1 = C3960000
|
||||
/* 0063C 8088FE4C 46061200 */ add.s $f8, $f2, $f6
|
||||
/* 00640 8088FE50 E4E80060 */ swc1 $f8, 0x0060($a3) ## 00000060
|
||||
/* 00644 8088FE54 8CE60060 */ lw $a2, 0x0060($a3) ## 00000060
|
||||
/* 00648 8088FE58 0C01DE80 */ jal Math_StepToF
|
||||
|
||||
/* 0064C 8088FE5C AFA70018 */ sw $a3, 0x0018($sp)
|
||||
/* 00650 8088FE60 10400017 */ beq $v0, $zero, .L8088FEC0
|
||||
/* 00654 8088FE64 8FA70018 */ lw $a3, 0x0018($sp)
|
||||
/* 00658 8088FE68 3C014270 */ lui $at, 0x4270 ## $at = 42700000
|
||||
/* 0065C 8088FE6C 44812000 */ mtc1 $at, $f4 ## $f4 = 60.00
|
||||
/* 00660 8088FE70 C4F2000C */ lwc1 $f18, 0x000C($a3) ## 0000000C
|
||||
/* 00664 8088FE74 84EE001C */ lh $t6, 0x001C($a3) ## 0000001C
|
||||
/* 00668 8088FE78 44805000 */ mtc1 $zero, $f10 ## $f10 = 0.00
|
||||
/* 0066C 8088FE7C 46049181 */ sub.s $f6, $f18, $f4
|
||||
/* 00670 8088FE80 C4F00008 */ lwc1 $f16, 0x0008($a3) ## 00000008
|
||||
/* 00674 8088FE84 C4E80010 */ lwc1 $f8, 0x0010($a3) ## 00000010
|
||||
/* 00678 8088FE88 E4EA0060 */ swc1 $f10, 0x0060($a3) ## 00000060
|
||||
/* 0067C 8088FE8C E4E60028 */ swc1 $f6, 0x0028($a3) ## 00000028
|
||||
/* 00680 8088FE90 E4F00024 */ swc1 $f16, 0x0024($a3) ## 00000024
|
||||
/* 00684 8088FE94 11C00007 */ beq $t6, $zero, .L8088FEB4
|
||||
/* 00688 8088FE98 E4E8002C */ swc1 $f8, 0x002C($a3) ## 0000002C
|
||||
/* 0068C 8088FE9C 8FA4001C */ lw $a0, 0x001C($sp)
|
||||
/* 00690 8088FEA0 00E02825 */ or $a1, $a3, $zero ## $a1 = 00000000
|
||||
/* 00694 8088FEA4 24060007 */ addiu $a2, $zero, 0x0007 ## $a2 = 00000007
|
||||
/* 00698 8088FEA8 0C00B7D5 */ jal func_8002DF54
|
||||
/* 0069C 8088FEAC AFA70018 */ sw $a3, 0x0018($sp)
|
||||
/* 006A0 8088FEB0 8FA70018 */ lw $a3, 0x0018($sp)
|
||||
.L8088FEB4:
|
||||
/* 006A4 8088FEB4 3C0F8089 */ lui $t7, %hi(func_80890360) ## $t7 = 80890000
|
||||
/* 006A8 8088FEB8 25EF0360 */ addiu $t7, $t7, %lo(func_80890360) ## $t7 = 80890360
|
||||
/* 006AC 8088FEBC ACEF0164 */ sw $t7, 0x0164($a3) ## 00000164
|
||||
.L8088FEC0:
|
||||
/* 006B0 8088FEC0 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
.L8088FEC4:
|
||||
/* 006B4 8088FEC4 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 006B8 8088FEC8 03E00008 */ jr $ra
|
||||
/* 006BC 8088FECC 00000000 */ nop
|
|
@ -1,69 +0,0 @@
|
|||
glabel func_8088FED0
|
||||
/* 006C0 8088FED0 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
|
||||
/* 006C4 8088FED4 AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 006C8 8088FED8 AFB10018 */ sw $s1, 0x0018($sp)
|
||||
/* 006CC 8088FEDC AFB00014 */ sw $s0, 0x0014($sp)
|
||||
/* 006D0 8088FEE0 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
|
||||
/* 006D4 8088FEE4 C4840150 */ lwc1 $f4, 0x0150($a0) ## 00000150
|
||||
/* 006D8 8088FEE8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 006DC 8088FEEC 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
|
||||
/* 006E0 8088FEF0 46040032 */ c.eq.s $f0, $f4
|
||||
/* 006E4 8088FEF4 8CA21C44 */ lw $v0, 0x1C44($a1) ## 00001C44
|
||||
/* 006E8 8088FEF8 45030029 */ bc1tl .L8088FFA0
|
||||
/* 006EC 8088FEFC C60A0060 */ lwc1 $f10, 0x0060($s0) ## 00000060
|
||||
/* 006F0 8088FF00 8C4E0680 */ lw $t6, 0x0680($v0) ## 00000680
|
||||
/* 006F4 8088FF04 2401FFEF */ addiu $at, $zero, 0xFFEF ## $at = FFFFFFEF
|
||||
/* 006F8 8088FF08 01C17824 */ and $t7, $t6, $at
|
||||
/* 006FC 8088FF0C AC4F0680 */ sw $t7, 0x0680($v0) ## 00000680
|
||||
/* 00700 8088FF10 C4860150 */ lwc1 $f6, 0x0150($a0) ## 00000150
|
||||
/* 00704 8088FF14 4606003C */ c.lt.s $f0, $f6
|
||||
/* 00708 8088FF18 00000000 */ nop
|
||||
/* 0070C 8088FF1C 4502001D */ bc1fl .L8088FF94
|
||||
/* 00710 8088FF20 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
|
||||
/* 00714 8088FF24 0C023A62 */ jal Player_InCsMode
|
||||
/* 00718 8088FF28 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
|
||||
/* 0071C 8088FF2C 14400018 */ bne $v0, $zero, .L8088FF90
|
||||
/* 00720 8088FF30 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00724 8088FF34 0C223E32 */ jal func_8088F8C8
|
||||
/* 00728 8088FF38 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
|
||||
/* 0072C 8088FF3C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00730 8088FF40 0C00B6EC */ jal func_8002DBB0
|
||||
/* 00734 8088FF44 26050168 */ addiu $a1, $s0, 0x0168 ## $a1 = 00000168
|
||||
/* 00738 8088FF48 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
|
||||
/* 0073C 8088FF4C 44814000 */ mtc1 $at, $f8 ## $f8 = 1.00
|
||||
/* 00740 8088FF50 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 00744 8088FF54 4600403C */ c.lt.s $f8, $f0
|
||||
/* 00748 8088FF58 00000000 */ nop
|
||||
/* 0074C 8088FF5C 4502000D */ bc1fl .L8088FF94
|
||||
/* 00750 8088FF60 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
|
||||
/* 00754 8088FF64 8E180004 */ lw $t8, 0x0004($s0) ## 00000004
|
||||
/* 00758 8088FF68 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
|
||||
/* 0075C 8088FF6C 24060008 */ addiu $a2, $zero, 0x0008 ## $a2 = 00000008
|
||||
/* 00760 8088FF70 37190010 */ ori $t9, $t8, 0x0010 ## $t9 = 00000010
|
||||
/* 00764 8088FF74 0C00B7D5 */ jal func_8002DF54
|
||||
/* 00768 8088FF78 AE190004 */ sw $t9, 0x0004($s0) ## 00000004
|
||||
/* 0076C 8088FF7C 3C098089 */ lui $t1, %hi(func_8088FFD0) ## $t1 = 80890000
|
||||
/* 00770 8088FF80 24080001 */ addiu $t0, $zero, 0x0001 ## $t0 = 00000001
|
||||
/* 00774 8088FF84 2529FFD0 */ addiu $t1, $t1, %lo(func_8088FFD0) ## $t1 = 8088FFD0
|
||||
/* 00778 8088FF88 A608001C */ sh $t0, 0x001C($s0) ## 0000001C
|
||||
/* 0077C 8088FF8C AE090164 */ sw $t1, 0x0164($s0) ## 00000164
|
||||
.L8088FF90:
|
||||
/* 00780 8088FF90 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
|
||||
.L8088FF94:
|
||||
/* 00784 8088FF94 00000000 */ nop
|
||||
/* 00788 8088FF98 E6000150 */ swc1 $f0, 0x0150($s0) ## 00000150
|
||||
/* 0078C 8088FF9C C60A0060 */ lwc1 $f10, 0x0060($s0) ## 00000060
|
||||
.L8088FFA0:
|
||||
/* 00790 8088FFA0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00794 8088FFA4 460A003C */ c.lt.s $f0, $f10
|
||||
/* 00798 8088FFA8 00000000 */ nop
|
||||
/* 0079C 8088FFAC 45020004 */ bc1fl .L8088FFC0
|
||||
/* 007A0 8088FFB0 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 007A4 8088FFB4 0C223F52 */ jal func_8088FD48
|
||||
/* 007A8 8088FFB8 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
|
||||
/* 007AC 8088FFBC 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
.L8088FFC0:
|
||||
/* 007B0 8088FFC0 8FB00014 */ lw $s0, 0x0014($sp)
|
||||
/* 007B4 8088FFC4 8FB10018 */ lw $s1, 0x0018($sp)
|
||||
/* 007B8 8088FFC8 03E00008 */ jr $ra
|
||||
/* 007BC 8088FFCC 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
|
|
@ -1,260 +0,0 @@
|
|||
.late_rodata
|
||||
glabel D_80890538
|
||||
.float 1387.0
|
||||
|
||||
.text
|
||||
glabel func_8088FFD0
|
||||
/* 007C0 8088FFD0 27BDFF98 */ addiu $sp, $sp, 0xFF98 ## $sp = FFFFFF98
|
||||
/* 007C4 8088FFD4 AFB00030 */ sw $s0, 0x0030($sp)
|
||||
/* 007C8 8088FFD8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 007CC 8088FFDC AFBF0034 */ sw $ra, 0x0034($sp)
|
||||
/* 007D0 8088FFE0 AFA5006C */ sw $a1, 0x006C($sp)
|
||||
/* 007D4 8088FFE4 F7B40028 */ sdc1 $f20, 0x0028($sp)
|
||||
/* 007D8 8088FFE8 3C054120 */ lui $a1, 0x4120 ## $a1 = 41200000
|
||||
/* 007DC 8088FFEC 24840068 */ addiu $a0, $a0, 0x0068 ## $a0 = 00000068
|
||||
/* 007E0 8088FFF0 0C01DE80 */ jal Math_StepToF
|
||||
|
||||
/* 007E4 8088FFF4 3C063F00 */ lui $a2, 0x3F00 ## $a2 = 3F000000
|
||||
/* 007E8 8088FFF8 26040024 */ addiu $a0, $s0, 0x0024 ## $a0 = 00000024
|
||||
/* 007EC 8088FFFC 8E050168 */ lw $a1, 0x0168($s0) ## 00000168
|
||||
/* 007F0 80890000 0C01DE80 */ jal Math_StepToF
|
||||
|
||||
/* 007F4 80890004 8E060068 */ lw $a2, 0x0068($s0) ## 00000068
|
||||
/* 007F8 80890008 8E050170 */ lw $a1, 0x0170($s0) ## 00000170
|
||||
/* 007FC 8089000C 8E060068 */ lw $a2, 0x0068($s0) ## 00000068
|
||||
/* 00800 80890010 AFA20064 */ sw $v0, 0x0064($sp)
|
||||
/* 00804 80890014 0C01DE80 */ jal Math_StepToF
|
||||
|
||||
/* 00808 80890018 2604002C */ addiu $a0, $s0, 0x002C ## $a0 = 0000002C
|
||||
/* 0080C 8089001C 8FA30064 */ lw $v1, 0x0064($sp)
|
||||
/* 00810 80890020 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
|
||||
/* 00814 80890024 24060007 */ addiu $a2, $zero, 0x0007 ## $a2 = 00000007
|
||||
/* 00818 80890028 00621824 */ and $v1, $v1, $v0
|
||||
/* 0081C 8089002C 10600031 */ beq $v1, $zero, .L808900F4
|
||||
/* 00820 80890030 3C0140C0 */ lui $at, 0x40C0 ## $at = 40C00000
|
||||
/* 00824 80890034 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
|
||||
/* 00828 80890038 C6080060 */ lwc1 $f8, 0x0060($s0) ## 00000060
|
||||
/* 0082C 8089003C C6040024 */ lwc1 $f4, 0x0024($s0) ## 00000024
|
||||
/* 00830 80890040 C606002C */ lwc1 $f6, 0x002C($s0) ## 0000002C
|
||||
/* 00834 80890044 4600403E */ c.le.s $f8, $f0
|
||||
/* 00838 80890048 E6000068 */ swc1 $f0, 0x0068($s0) ## 00000068
|
||||
/* 0083C 8089004C E6040168 */ swc1 $f4, 0x0168($s0) ## 00000168
|
||||
/* 00840 80890050 E6060170 */ swc1 $f6, 0x0170($s0) ## 00000170
|
||||
/* 00844 80890054 45020006 */ bc1fl .L80890070
|
||||
/* 00848 80890058 A600001C */ sh $zero, 0x001C($s0) ## 0000001C
|
||||
/* 0084C 8089005C 8E0E0004 */ lw $t6, 0x0004($s0) ## 00000004
|
||||
/* 00850 80890060 2401FFEF */ addiu $at, $zero, 0xFFEF ## $at = FFFFFFEF
|
||||
/* 00854 80890064 01C17824 */ and $t7, $t6, $at
|
||||
/* 00858 80890068 AE0F0004 */ sw $t7, 0x0004($s0) ## 00000004
|
||||
/* 0085C 8089006C A600001C */ sh $zero, 0x001C($s0) ## 0000001C
|
||||
.L80890070:
|
||||
/* 00860 80890070 0C00B7D5 */ jal func_8002DF54
|
||||
/* 00864 80890074 8FA4006C */ lw $a0, 0x006C($sp)
|
||||
/* 00868 80890078 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 0086C 8089007C 0C00BE0A */ jal Audio_PlayActorSound2
|
||||
|
||||
/* 00870 80890080 24052835 */ addiu $a1, $zero, 0x2835 ## $a1 = 00002835
|
||||
/* 00874 80890084 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
|
||||
/* 00878 80890088 44811000 */ mtc1 $at, $f2 ## $f2 = 1.00
|
||||
/* 0087C 8089008C 3C018089 */ lui $at, %hi(D_80890538) ## $at = 80890000
|
||||
/* 00880 80890090 C4300538 */ lwc1 $f16, %lo(D_80890538)($at)
|
||||
/* 00884 80890094 C60A0024 */ lwc1 $f10, 0x0024($s0) ## 00000024
|
||||
/* 00888 80890098 3C198089 */ lui $t9, %hi(func_8088FED0) ## $t9 = 80890000
|
||||
/* 0088C 8089009C 3C014382 */ lui $at, 0x4382 ## $at = 43820000
|
||||
/* 00890 808900A0 46105000 */ add.s $f0, $f10, $f16
|
||||
/* 00894 808900A4 2739FED0 */ addiu $t9, $t9, %lo(func_8088FED0) ## $t9 = 8088FED0
|
||||
/* 00898 808900A8 46000005 */ abs.s $f0, $f0
|
||||
/* 0089C 808900AC 4602003C */ c.lt.s $f0, $f2
|
||||
/* 008A0 808900B0 00000000 */ nop
|
||||
/* 008A4 808900B4 4500000D */ bc1f .L808900EC
|
||||
/* 008A8 808900B8 00000000 */ nop
|
||||
/* 008AC 808900BC C612002C */ lwc1 $f18, 0x002C($s0) ## 0000002C
|
||||
/* 008B0 808900C0 44812000 */ mtc1 $at, $f4 ## $f4 = 260.00
|
||||
/* 008B4 808900C4 3C188089 */ lui $t8, %hi(func_808903FC) ## $t8 = 80890000
|
||||
/* 008B8 808900C8 271803FC */ addiu $t8, $t8, %lo(func_808903FC) ## $t8 = 808903FC
|
||||
/* 008BC 808900CC 46049000 */ add.s $f0, $f18, $f4
|
||||
/* 008C0 808900D0 46000005 */ abs.s $f0, $f0
|
||||
/* 008C4 808900D4 4602003C */ c.lt.s $f0, $f2
|
||||
/* 008C8 808900D8 00000000 */ nop
|
||||
/* 008CC 808900DC 45000003 */ bc1f .L808900EC
|
||||
/* 008D0 808900E0 00000000 */ nop
|
||||
/* 008D4 808900E4 10000096 */ beq $zero, $zero, .L80890340
|
||||
/* 008D8 808900E8 AE180164 */ sw $t8, 0x0164($s0) ## 00000164
|
||||
.L808900EC:
|
||||
/* 008DC 808900EC 10000094 */ beq $zero, $zero, .L80890340
|
||||
/* 008E0 808900F0 AE190164 */ sw $t9, 0x0164($s0) ## 00000164
|
||||
.L808900F4:
|
||||
/* 008E4 808900F4 44813000 */ mtc1 $at, $f6 ## $f6 = 260.00
|
||||
/* 008E8 808900F8 C6080068 */ lwc1 $f8, 0x0068($s0) ## 00000068
|
||||
/* 008EC 808900FC 4608303C */ c.lt.s $f6, $f8
|
||||
/* 008F0 80890100 00000000 */ nop
|
||||
/* 008F4 80890104 4502008F */ bc1fl .L80890344
|
||||
/* 008F8 80890108 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 008FC 8089010C 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
|
||||
/* 00900 80890110 C60A0028 */ lwc1 $f10, 0x0028($s0) ## 00000028
|
||||
/* 00904 80890114 3C0142F0 */ lui $at, 0x42F0 ## $at = 42F00000
|
||||
/* 00908 80890118 460A003E */ c.le.s $f0, $f10
|
||||
/* 0090C 8089011C 00000000 */ nop
|
||||
/* 00910 80890120 45020088 */ bc1fl .L80890344
|
||||
/* 00914 80890124 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00918 80890128 44816000 */ mtc1 $at, $f12 ## $f12 = 120.00
|
||||
/* 0091C 8089012C 0C00CFC8 */ jal Rand_CenteredFloat
|
||||
|
||||
/* 00920 80890130 00000000 */ nop
|
||||
/* 00924 80890134 0C03F66B */ jal Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 00928 80890138 E7A00048 */ swc1 $f0, 0x0048($sp)
|
||||
/* 0092C 8089013C 46000506 */ mov.s $f20, $f0
|
||||
/* 00930 80890140 0C01DE1C */ jal Math_SinS
|
||||
## sins?
|
||||
/* 00934 80890144 86040158 */ lh $a0, 0x0158($s0) ## 00000158
|
||||
/* 00938 80890148 3C013FC0 */ lui $at, 0x3FC0 ## $at = 3FC00000
|
||||
/* 0093C 8089014C 44818000 */ mtc1 $at, $f16 ## $f16 = 1.50
|
||||
/* 00940 80890150 00000000 */ nop
|
||||
/* 00944 80890154 46148480 */ add.s $f18, $f16, $f20
|
||||
/* 00948 80890158 46009107 */ neg.s $f4, $f18
|
||||
/* 0094C 8089015C 46040182 */ mul.s $f6, $f0, $f4
|
||||
/* 00950 80890160 0C03F66B */ jal Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 00954 80890164 E7A6004C */ swc1 $f6, 0x004C($sp)
|
||||
/* 00958 80890168 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
|
||||
/* 0095C 8089016C 44811000 */ mtc1 $at, $f2 ## $f2 = 1.00
|
||||
/* 00960 80890170 00000000 */ nop
|
||||
/* 00964 80890174 46020200 */ add.s $f8, $f0, $f2
|
||||
/* 00968 80890178 0C03F66B */ jal Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 0096C 8089017C E7A80050 */ swc1 $f8, 0x0050($sp)
|
||||
/* 00970 80890180 46000506 */ mov.s $f20, $f0
|
||||
/* 00974 80890184 0C01DE0D */ jal Math_CosS
|
||||
## coss?
|
||||
/* 00978 80890188 86040158 */ lh $a0, 0x0158($s0) ## 00000158
|
||||
/* 0097C 8089018C 3C013FC0 */ lui $at, 0x3FC0 ## $at = 3FC00000
|
||||
/* 00980 80890190 44815000 */ mtc1 $at, $f10 ## $f10 = 1.50
|
||||
/* 00984 80890194 00000000 */ nop
|
||||
/* 00988 80890198 46145400 */ add.s $f16, $f10, $f20
|
||||
/* 0098C 8089019C 46008487 */ neg.s $f18, $f16
|
||||
/* 00990 808901A0 46120102 */ mul.s $f4, $f0, $f18
|
||||
/* 00994 808901A4 E7A40054 */ swc1 $f4, 0x0054($sp)
|
||||
/* 00998 808901A8 0C01DE1C */ jal Math_SinS
|
||||
## sins?
|
||||
/* 0099C 808901AC 86040158 */ lh $a0, 0x0158($s0) ## 00000158
|
||||
/* 009A0 808901B0 46000506 */ mov.s $f20, $f0
|
||||
/* 009A4 808901B4 0C01DE0D */ jal Math_CosS
|
||||
## coss?
|
||||
/* 009A8 808901B8 86040158 */ lh $a0, 0x0158($s0) ## 00000158
|
||||
/* 009AC 808901BC 3C014270 */ lui $at, 0x4270 ## $at = 42700000
|
||||
/* 009B0 808901C0 44814000 */ mtc1 $at, $f8 ## $f8 = 60.00
|
||||
/* 009B4 808901C4 C7B20048 */ lwc1 $f18, 0x0048($sp)
|
||||
/* 009B8 808901C8 C6060024 */ lwc1 $f6, 0x0024($s0) ## 00000024
|
||||
/* 009BC 808901CC 46144282 */ mul.s $f10, $f8, $f20
|
||||
/* 009C0 808901D0 460A3401 */ sub.s $f16, $f6, $f10
|
||||
/* 009C4 808901D4 46120102 */ mul.s $f4, $f0, $f18
|
||||
/* 009C8 808901D8 46048201 */ sub.s $f8, $f16, $f4
|
||||
/* 009CC 808901DC E7A80058 */ swc1 $f8, 0x0058($sp)
|
||||
/* 009D0 808901E0 0C01DE0D */ jal Math_CosS
|
||||
## coss?
|
||||
/* 009D4 808901E4 86040158 */ lh $a0, 0x0158($s0) ## 00000158
|
||||
/* 009D8 808901E8 46000506 */ mov.s $f20, $f0
|
||||
/* 009DC 808901EC 0C01DE1C */ jal Math_SinS
|
||||
## sins?
|
||||
/* 009E0 808901F0 86040158 */ lh $a0, 0x0158($s0) ## 00000158
|
||||
/* 009E4 808901F4 3C014270 */ lui $at, 0x4270 ## $at = 42700000
|
||||
/* 009E8 808901F8 44815000 */ mtc1 $at, $f10 ## $f10 = 60.00
|
||||
/* 009EC 808901FC C7A40048 */ lwc1 $f4, 0x0048($sp)
|
||||
/* 009F0 80890200 C606002C */ lwc1 $f6, 0x002C($s0) ## 0000002C
|
||||
/* 009F4 80890204 46145482 */ mul.s $f18, $f10, $f20
|
||||
/* 009F8 80890208 24040028 */ addiu $a0, $zero, 0x0028 ## $a0 = 00000028
|
||||
/* 009FC 8089020C 2405000F */ addiu $a1, $zero, 0x000F ## $a1 = 0000000F
|
||||
/* 00A00 80890210 46040202 */ mul.s $f8, $f0, $f4
|
||||
/* 00A04 80890214 46123401 */ sub.s $f16, $f6, $f18
|
||||
/* 00A08 80890218 46104280 */ add.s $f10, $f8, $f16
|
||||
/* 00A0C 8089021C E7AA0060 */ swc1 $f10, 0x0060($sp)
|
||||
/* 00A10 80890220 C6060028 */ lwc1 $f6, 0x0028($s0) ## 00000028
|
||||
/* 00A14 80890224 0C01DF64 */ jal Rand_S16Offset
|
||||
|
||||
/* 00A18 80890228 E7A6005C */ swc1 $f6, 0x005C($sp)
|
||||
/* 00A1C 8089022C 3C088089 */ lui $t0, %hi(D_80890490) ## $t0 = 80890000
|
||||
/* 00A20 80890230 3C098089 */ lui $t1, %hi(D_80890494) ## $t1 = 80890000
|
||||
/* 00A24 80890234 25290494 */ addiu $t1, $t1, %lo(D_80890494) ## $t1 = 80890494
|
||||
/* 00A28 80890238 25080490 */ addiu $t0, $t0, %lo(D_80890490) ## $t0 = 80890490
|
||||
/* 00A2C 8089023C 3C078089 */ lui $a3, %hi(D_80890498) ## $a3 = 80890000
|
||||
/* 00A30 80890240 240A00FA */ addiu $t2, $zero, 0x00FA ## $t2 = 000000FA
|
||||
/* 00A34 80890244 AFAA0018 */ sw $t2, 0x0018($sp)
|
||||
/* 00A38 80890248 24E70498 */ addiu $a3, $a3, %lo(D_80890498) ## $a3 = 80890498
|
||||
/* 00A3C 8089024C AFA80010 */ sw $t0, 0x0010($sp)
|
||||
/* 00A40 80890250 AFA90014 */ sw $t1, 0x0014($sp)
|
||||
/* 00A44 80890254 8FA4006C */ lw $a0, 0x006C($sp)
|
||||
/* 00A48 80890258 27A50058 */ addiu $a1, $sp, 0x0058 ## $a1 = FFFFFFF0
|
||||
/* 00A4C 8089025C 27A6004C */ addiu $a2, $sp, 0x004C ## $a2 = FFFFFFE4
|
||||
/* 00A50 80890260 0C00A0A7 */ jal func_8002829C
|
||||
/* 00A54 80890264 AFA2001C */ sw $v0, 0x001C($sp)
|
||||
/* 00A58 80890268 3C0142F0 */ lui $at, 0x42F0 ## $at = 42F00000
|
||||
/* 00A5C 8089026C 44816000 */ mtc1 $at, $f12 ## $f12 = 120.00
|
||||
/* 00A60 80890270 0C00CFC8 */ jal Rand_CenteredFloat
|
||||
|
||||
/* 00A64 80890274 00000000 */ nop
|
||||
/* 00A68 80890278 E7A00048 */ swc1 $f0, 0x0048($sp)
|
||||
/* 00A6C 8089027C 0C01DE1C */ jal Math_SinS
|
||||
## sins?
|
||||
/* 00A70 80890280 86040158 */ lh $a0, 0x0158($s0) ## 00000158
|
||||
/* 00A74 80890284 46000506 */ mov.s $f20, $f0
|
||||
/* 00A78 80890288 0C01DE0D */ jal Math_CosS
|
||||
## coss?
|
||||
/* 00A7C 8089028C 86040158 */ lh $a0, 0x0158($s0) ## 00000158
|
||||
/* 00A80 80890290 3C014270 */ lui $at, 0x4270 ## $at = 42700000
|
||||
/* 00A84 80890294 44812000 */ mtc1 $at, $f4 ## $f4 = 60.00
|
||||
/* 00A88 80890298 C7AA0048 */ lwc1 $f10, 0x0048($sp)
|
||||
/* 00A8C 8089029C C6120024 */ lwc1 $f18, 0x0024($s0) ## 00000024
|
||||
/* 00A90 808902A0 46142202 */ mul.s $f8, $f4, $f20
|
||||
/* 00A94 808902A4 46089401 */ sub.s $f16, $f18, $f8
|
||||
/* 00A98 808902A8 460A0182 */ mul.s $f6, $f0, $f10
|
||||
/* 00A9C 808902AC 46103100 */ add.s $f4, $f6, $f16
|
||||
/* 00AA0 808902B0 E7A40058 */ swc1 $f4, 0x0058($sp)
|
||||
/* 00AA4 808902B4 0C01DE0D */ jal Math_CosS
|
||||
## coss?
|
||||
/* 00AA8 808902B8 86040158 */ lh $a0, 0x0158($s0) ## 00000158
|
||||
/* 00AAC 808902BC 46000506 */ mov.s $f20, $f0
|
||||
/* 00AB0 808902C0 0C01DE1C */ jal Math_SinS
|
||||
## sins?
|
||||
/* 00AB4 808902C4 86040158 */ lh $a0, 0x0158($s0) ## 00000158
|
||||
/* 00AB8 808902C8 3C014270 */ lui $at, 0x4270 ## $at = 42700000
|
||||
/* 00ABC 808902CC 44814000 */ mtc1 $at, $f8 ## $f8 = 60.00
|
||||
/* 00AC0 808902D0 C7B00048 */ lwc1 $f16, 0x0048($sp)
|
||||
/* 00AC4 808902D4 C612002C */ lwc1 $f18, 0x002C($s0) ## 0000002C
|
||||
/* 00AC8 808902D8 46144282 */ mul.s $f10, $f8, $f20
|
||||
/* 00ACC 808902DC 24040028 */ addiu $a0, $zero, 0x0028 ## $a0 = 00000028
|
||||
/* 00AD0 808902E0 2405000F */ addiu $a1, $zero, 0x000F ## $a1 = 0000000F
|
||||
/* 00AD4 808902E4 46100102 */ mul.s $f4, $f0, $f16
|
||||
/* 00AD8 808902E8 460A9181 */ sub.s $f6, $f18, $f10
|
||||
/* 00ADC 808902EC 46043201 */ sub.s $f8, $f6, $f4
|
||||
/* 00AE0 808902F0 0C01DF64 */ jal Rand_S16Offset
|
||||
|
||||
/* 00AE4 808902F4 E7A80060 */ swc1 $f8, 0x0060($sp)
|
||||
/* 00AE8 808902F8 3C0B8089 */ lui $t3, %hi(D_80890490) ## $t3 = 80890000
|
||||
/* 00AEC 808902FC 3C0C8089 */ lui $t4, %hi(D_80890494) ## $t4 = 80890000
|
||||
/* 00AF0 80890300 258C0494 */ addiu $t4, $t4, %lo(D_80890494) ## $t4 = 80890494
|
||||
/* 00AF4 80890304 256B0490 */ addiu $t3, $t3, %lo(D_80890490) ## $t3 = 80890490
|
||||
/* 00AF8 80890308 3C078089 */ lui $a3, %hi(D_80890498) ## $a3 = 80890000
|
||||
/* 00AFC 8089030C 240D00FA */ addiu $t5, $zero, 0x00FA ## $t5 = 000000FA
|
||||
/* 00B00 80890310 AFAD0018 */ sw $t5, 0x0018($sp)
|
||||
/* 00B04 80890314 24E70498 */ addiu $a3, $a3, %lo(D_80890498) ## $a3 = 80890498
|
||||
/* 00B08 80890318 AFAB0010 */ sw $t3, 0x0010($sp)
|
||||
/* 00B0C 8089031C AFAC0014 */ sw $t4, 0x0014($sp)
|
||||
/* 00B10 80890320 8FA4006C */ lw $a0, 0x006C($sp)
|
||||
/* 00B14 80890324 27A50058 */ addiu $a1, $sp, 0x0058 ## $a1 = FFFFFFF0
|
||||
/* 00B18 80890328 27A6004C */ addiu $a2, $sp, 0x004C ## $a2 = FFFFFFE4
|
||||
/* 00B1C 8089032C 0C00A0A7 */ jal func_8002829C
|
||||
/* 00B20 80890330 AFA2001C */ sw $v0, 0x001C($sp)
|
||||
/* 00B24 80890334 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00B28 80890338 0C00BE5D */ jal func_8002F974
|
||||
/* 00B2C 8089033C 240500DF */ addiu $a1, $zero, 0x00DF ## $a1 = 000000DF
|
||||
.L80890340:
|
||||
/* 00B30 80890340 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
.L80890344:
|
||||
/* 00B34 80890344 0C223F52 */ jal func_8088FD48
|
||||
/* 00B38 80890348 8FA5006C */ lw $a1, 0x006C($sp)
|
||||
/* 00B3C 8089034C 8FBF0034 */ lw $ra, 0x0034($sp)
|
||||
/* 00B40 80890350 D7B40028 */ ldc1 $f20, 0x0028($sp)
|
||||
/* 00B44 80890354 8FB00030 */ lw $s0, 0x0030($sp)
|
||||
/* 00B48 80890358 03E00008 */ jr $ra
|
||||
/* 00B4C 8089035C 27BD0068 */ addiu $sp, $sp, 0x0068 ## $sp = 00000000
|
|
@ -1,44 +0,0 @@
|
|||
glabel func_80890360
|
||||
/* 00B50 80890360 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 00B54 80890364 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00B58 80890368 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
|
||||
/* 00B5C 8089036C C4840150 */ lwc1 $f4, 0x0150($a0) ## 00000150
|
||||
/* 00B60 80890370 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000
|
||||
/* 00B64 80890374 8CA21C44 */ lw $v0, 0x1C44($a1) ## 00001C44
|
||||
/* 00B68 80890378 46040032 */ c.eq.s $f0, $f4
|
||||
/* 00B6C 8089037C 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
|
||||
/* 00B70 80890380 45030007 */ bc1tl .L808903A0
|
||||
/* 00B74 80890384 8CE5000C */ lw $a1, 0x000C($a3) ## 0000000C
|
||||
/* 00B78 80890388 8C4E0680 */ lw $t6, 0x0680($v0) ## 00000680
|
||||
/* 00B7C 8089038C 2401FFEF */ addiu $at, $zero, 0xFFEF ## $at = FFFFFFEF
|
||||
/* 00B80 80890390 01C17824 */ and $t7, $t6, $at
|
||||
/* 00B84 80890394 AC4F0680 */ sw $t7, 0x0680($v0) ## 00000680
|
||||
/* 00B88 80890398 E4800150 */ swc1 $f0, 0x0150($a0) ## 00000150
|
||||
/* 00B8C 8089039C 8CE5000C */ lw $a1, 0x000C($a3) ## 0000000C
|
||||
.L808903A0:
|
||||
/* 00B90 808903A0 AFA70018 */ sw $a3, 0x0018($sp)
|
||||
/* 00B94 808903A4 0C01DE80 */ jal Math_StepToF
|
||||
|
||||
/* 00B98 808903A8 24E40028 */ addiu $a0, $a3, 0x0028 ## $a0 = 00000028
|
||||
/* 00B9C 808903AC 1040000F */ beq $v0, $zero, .L808903EC
|
||||
/* 00BA0 808903B0 8FA70018 */ lw $a3, 0x0018($sp)
|
||||
/* 00BA4 808903B4 8CF80004 */ lw $t8, 0x0004($a3) ## 00000004
|
||||
/* 00BA8 808903B8 2401FFEF */ addiu $at, $zero, 0xFFEF ## $at = FFFFFFEF
|
||||
/* 00BAC 808903BC 24E40168 */ addiu $a0, $a3, 0x0168 ## $a0 = 00000168
|
||||
/* 00BB0 808903C0 0301C824 */ and $t9, $t8, $at
|
||||
/* 00BB4 808903C4 ACF90004 */ sw $t9, 0x0004($a3) ## 00000004
|
||||
/* 00BB8 808903C8 AFA70018 */ sw $a3, 0x0018($sp)
|
||||
/* 00BBC 808903CC 0C01DF90 */ jal Math_Vec3f_Copy
|
||||
## Vec3f_Copy
|
||||
/* 00BC0 808903D0 24E50008 */ addiu $a1, $a3, 0x0008 ## $a1 = 00000008
|
||||
/* 00BC4 808903D4 8FA70018 */ lw $a3, 0x0018($sp)
|
||||
/* 00BC8 808903D8 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00
|
||||
/* 00BCC 808903DC 3C088089 */ lui $t0, %hi(func_8088FED0) ## $t0 = 80890000
|
||||
/* 00BD0 808903E0 2508FED0 */ addiu $t0, $t0, %lo(func_8088FED0) ## $t0 = 8088FED0
|
||||
/* 00BD4 808903E4 ACE80164 */ sw $t0, 0x0164($a3) ## 00000164
|
||||
/* 00BD8 808903E8 E4E60068 */ swc1 $f6, 0x0068($a3) ## 00000068
|
||||
.L808903EC:
|
||||
/* 00BDC 808903EC 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00BE0 808903F0 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 00BE4 808903F4 03E00008 */ jr $ra
|
||||
/* 00BE8 808903F8 00000000 */ nop
|
|
@ -1,16 +0,0 @@
|
|||
glabel func_808903FC
|
||||
/* 00BEC 808903FC 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
|
||||
/* 00BF0 80890400 C4840150 */ lwc1 $f4, 0x0150($a0) ## 00000150
|
||||
/* 00BF4 80890404 8CA21C44 */ lw $v0, 0x1C44($a1) ## 00001C44
|
||||
/* 00BF8 80890408 46040032 */ c.eq.s $f0, $f4
|
||||
/* 00BFC 8089040C 00000000 */ nop
|
||||
/* 00C00 80890410 45010006 */ bc1t .L8089042C
|
||||
/* 00C04 80890414 00000000 */ nop
|
||||
/* 00C08 80890418 8C4E0680 */ lw $t6, 0x0680($v0) ## 00000680
|
||||
/* 00C0C 8089041C 2401FFEF */ addiu $at, $zero, 0xFFEF ## $at = FFFFFFEF
|
||||
/* 00C10 80890420 01C17824 */ and $t7, $t6, $at
|
||||
/* 00C14 80890424 AC4F0680 */ sw $t7, 0x0680($v0) ## 00000680
|
||||
/* 00C18 80890428 E4800150 */ swc1 $f0, 0x0150($a0) ## 00000150
|
||||
.L8089042C:
|
||||
/* 00C1C 8089042C 03E00008 */ jr $ra
|
||||
/* 00C20 80890430 00000000 */ nop
|
|
@ -1,18 +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 .bss
|
||||
|
||||
.balign 16
|
||||
|
||||
glabel D_8087AC40
|
||||
.space 0x01
|
||||
glabel D_8087AC41
|
||||
.space 0x01
|
||||
glabel D_8087AC42
|
||||
.space 0x0E
|
||||
|
|
@ -1,30 +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_Gnd_Iceblock_InitVars
|
||||
.word 0x01B70600, 0x00000030, 0x01790000, 0x00000174
|
||||
.word BgGndIceblock_Init
|
||||
.word BgGndIceblock_Destroy
|
||||
.word BgGndIceblock_Update
|
||||
.word BgGndIceblock_Draw
|
||||
glabel D_8087A740
|
||||
.word 0xFAFAFAFF
|
||||
glabel D_8087A744
|
||||
.word 0xB4B4B4FF
|
||||
glabel D_8087A748
|
||||
.word 0x00000000, 0x00000000, 0x00000000
|
||||
glabel D_8087A754
|
||||
.word 0x48500064
|
||||
glabel D_8087A758
|
||||
.word 0x00000000, 0x00000202, 0x02020303, 0x03040404, 0x06060606, 0x06060000
|
||||
glabel D_8087A770
|
||||
.word 0x05040302, 0x01000504, 0x02010601, 0x00050302, 0x05040302, 0x01000000, 0x00000000, 0x00000000
|
||||
|
|
@ -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_8087A920
|
||||
.incbin "baserom/ovl_Bg_Gnd_Iceblock", 0xE80, 0x00000320
|
|
@ -1,70 +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 D_80890490
|
||||
.word 0xFAFAFAFF
|
||||
glabel D_80890494
|
||||
.word 0xB4B4B4FF
|
||||
glabel D_80890498
|
||||
.word 0x00000000, 0x00000000, 0x00000000
|
||||
glabel Bg_Ice_Objects_InitVars
|
||||
.word 0x00D60600, 0x00000000, 0x006B0000, 0x00000174
|
||||
.word BgIceObjects_Init
|
||||
.word BgIceObjects_Destroy
|
||||
.word BgIceObjects_Update
|
||||
.word BgIceObjects_Draw
|
||||
glabel D_808904C4
|
||||
.word 0x48500064
|
||||
glabel D_808904C8
|
||||
.byte 0xFB, 0xDC
|
||||
glabel D_808904CA
|
||||
.byte 0xFB, 0x50
|
||||
glabel D_808904CC
|
||||
.word 0xFB28FA95, 0xF9D4F970, 0xF90C0000
|
||||
glabel D_808904D8
|
||||
.byte 0xFD, 0xBC
|
||||
glabel D_808904DA
|
||||
.byte 0xFD, 0x6C
|
||||
glabel D_808904DC
|
||||
.word 0xFCF4FCCC, 0xFCA4FC7C, 0xFBC10000
|
||||
glabel D_808904E8
|
||||
.byte 0xFD, 0xBC
|
||||
glabel D_808904EA
|
||||
.byte 0xFB, 0xC1
|
||||
glabel D_808904EC
|
||||
.byte 0xFC, 0xF4
|
||||
glabel D_808904EE
|
||||
.byte 0xFB, 0x14
|
||||
glabel D_808904F0
|
||||
.byte 0xFE, 0xAC
|
||||
glabel D_808904F2
|
||||
.byte 0xFC, 0xCC
|
||||
glabel D_808904F4
|
||||
.byte 0xFE, 0xFC
|
||||
glabel D_808904F6
|
||||
.byte 0xFB, 0x14, 0xFE, 0xAC, 0xFC, 0xA4, 0xFD, 0x6C, 0xFB, 0x14, 0xFE, 0xAC, 0xFD, 0x1C
|
||||
glabel D_80890504
|
||||
.byte 0xFC, 0xA4
|
||||
glabel D_80890506
|
||||
.byte 0xF9, 0xD4
|
||||
glabel D_80890508
|
||||
.byte 0xFB, 0x28
|
||||
glabel D_8089050A
|
||||
.byte 0xF9, 0x0C
|
||||
glabel D_8089050C
|
||||
.byte 0xFC, 0xA4
|
||||
glabel D_8089050E
|
||||
.byte 0xF9, 0x70
|
||||
glabel D_80890510
|
||||
.byte 0xFC, 0xA4
|
||||
glabel D_80890512
|
||||
.byte 0xF9, 0x70, 0xFA, 0x95, 0xF9, 0x70, 0xFC, 0xA4, 0xFB, 0x50, 0xFC, 0xA4, 0xF8, 0xF8
|
||||
|
|
@ -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_80890540
|
||||
.incbin "baserom/ovl_Bg_Ice_Objects", 0xD30, 0x00000200
|
|
@ -70,6 +70,7 @@
|
|||
#define LOG_TIME(exp, value, file, line) LOG(exp, value, "%lld", file, line)
|
||||
#define LOG_NUM(exp, value, file, line) LOG(exp, value, "%d", file, line)
|
||||
#define LOG_HEX(exp, value, file, line) LOG(exp, value, "%x", file, line)
|
||||
#define LOG_FLOAT(exp, value, file, line) LOG(exp, value, "%f", file, line)
|
||||
|
||||
#define SET_NEXT_GAMESTATE(curState, newInit, newStruct) \
|
||||
(curState)->init = newInit; \
|
||||
|
|
7
spec
7
spec
|
@ -713,9 +713,7 @@ endseg
|
|||
beginseg
|
||||
name "ovl_Bg_Gnd_Iceblock"
|
||||
include "build/src/overlays/actors/ovl_Bg_Gnd_Iceblock/z_bg_gnd_iceblock.o"
|
||||
include "build/data/overlays/actors/z_bg_gnd_iceblock.data.o"
|
||||
include "build/data/overlays/actors/z_bg_gnd_iceblock.bss.o"
|
||||
include "build/data/overlays/actors/z_bg_gnd_iceblock.reloc.o"
|
||||
include "build/src/overlays/actors/ovl_Bg_Gnd_Iceblock/ovl_Bg_Gnd_Iceblock_reloc.o"
|
||||
endseg
|
||||
|
||||
beginseg
|
||||
|
@ -900,8 +898,7 @@ endseg
|
|||
beginseg
|
||||
name "ovl_Bg_Ice_Objects"
|
||||
include "build/src/overlays/actors/ovl_Bg_Ice_Objects/z_bg_ice_objects.o"
|
||||
include "build/data/overlays/actors/z_bg_ice_objects.data.o"
|
||||
include "build/data/overlays/actors/z_bg_ice_objects.reloc.o"
|
||||
include "build/src/overlays/actors/ovl_Bg_Ice_Objects/ovl_Bg_Ice_Objects_reloc.o"
|
||||
endseg
|
||||
|
||||
beginseg
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
* File: z_bg_gnd_iceblock.c
|
||||
* Overlay: ovl_Bg_Gnd_Iceblock
|
||||
* Description: Pushable large square ice block (Inside Ganon's Castle)
|
||||
* Description: Pushable ice block (Inside Ganon's Castle)
|
||||
*/
|
||||
|
||||
#include "z_bg_gnd_iceblock.h"
|
||||
|
@ -10,21 +10,23 @@
|
|||
|
||||
#define THIS ((BgGndIceblock*)thisx)
|
||||
|
||||
typedef enum {
|
||||
/* 0 */ GNDICE_IDLE,
|
||||
/* 1 */ GNDICE_FALL,
|
||||
/* 2 */ GNDICE_HOLE
|
||||
} BgGndIceblockAction;
|
||||
|
||||
void BgGndIceblock_Init(Actor* thisx, GlobalContext* globalCtx);
|
||||
void BgGndIceblock_Destroy(Actor* thisx, GlobalContext* globalCtx);
|
||||
void BgGndIceblock_Update(Actor* thisx, GlobalContext* globalCtx);
|
||||
void BgGndIceblock_Draw(Actor* thisx, GlobalContext* globalCtx);
|
||||
|
||||
void func_8087A0C8(BgGndIceblock* this, GlobalContext* globalCtx);
|
||||
void func_8087A184(BgGndIceblock* this, GlobalContext* globalCtx);
|
||||
void func_8087A248(BgGndIceblock* this, GlobalContext* globalCtx);
|
||||
void func_8087A300(BgGndIceblock* this, GlobalContext* globalCtx);
|
||||
void func_8087A39C(BgGndIceblock* this, GlobalContext* globalCtx);
|
||||
void BgGndIceblock_Idle(BgGndIceblock* this, GlobalContext* globalCtx);
|
||||
void BgGndIceblock_Slide(BgGndIceblock* this, GlobalContext* globalCtx);
|
||||
|
||||
extern UNK_TYPE D_06004420;
|
||||
extern UNK_TYPE D_06004618;
|
||||
extern Gfx D_06004420[];
|
||||
extern ColHeader D_06004618;
|
||||
|
||||
/*
|
||||
const ActorInit Bg_Gnd_Iceblock_InitVars = {
|
||||
ACTOR_BG_GND_ICEBLOCK,
|
||||
ACTORTYPE_PROP,
|
||||
|
@ -36,29 +38,330 @@ const ActorInit Bg_Gnd_Iceblock_InitVars = {
|
|||
(ActorFunc)BgGndIceblock_Update,
|
||||
(ActorFunc)BgGndIceblock_Draw,
|
||||
};
|
||||
*/
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Gnd_Iceblock/BgGndIceblock_Init.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Gnd_Iceblock/BgGndIceblock_Destroy.s")
|
||||
static Color_RGBA8 sWhite = { 250, 250, 250, 255 };
|
||||
static Color_RGBA8 sGray = { 180, 180, 180, 255 };
|
||||
static Vec3f sZeroVec = { 0.0f, 0.0f, 0.0f };
|
||||
static InitChainEntry sInitChain[] = {
|
||||
ICHAIN_VEC3F_DIV1000(scale, 100, ICHAIN_STOP),
|
||||
};
|
||||
|
||||
static u8 sBlockPositions[2];
|
||||
|
||||
void BgGndIceblock_Init(Actor* thisx, GlobalContext* globalCtx) {
|
||||
s32 pad;
|
||||
BgGndIceblock* this = THIS;
|
||||
ColHeader* colHeader = NULL;
|
||||
|
||||
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
||||
DynaPolyInfo_SetActorMove(&this->dyna, 0);
|
||||
DynaPolyInfo_Alloc(&D_06004618, &colHeader);
|
||||
this->targetPos = this->dyna.actor.initPosRot.pos;
|
||||
this->actionFunc = BgGndIceblock_Idle;
|
||||
this->dyna.dynaPolyId =
|
||||
DynaPolyInfo_RegisterActor(globalCtx, &globalCtx->colCtx.dyna, &this->dyna.actor, colHeader);
|
||||
if (this->dyna.actor.posRot.pos.x == 2792.0f) {
|
||||
this->dyna.actor.params = 0;
|
||||
sBlockPositions[0] = 7;
|
||||
} else if (this->dyna.actor.posRot.pos.x == 3032.0f) {
|
||||
this->dyna.actor.params = 1;
|
||||
sBlockPositions[1] = 14;
|
||||
} else {
|
||||
LOG_FLOAT("thisx->world.position.x", this->dyna.actor.posRot.pos.x, "../z_bg_gnd_iceblock.c", 138);
|
||||
__assert("0", "../z_bg_gnd_iceblock.c", 139);
|
||||
}
|
||||
}
|
||||
|
||||
void BgGndIceblock_Destroy(Actor* thisx, GlobalContext* globalCtx) {
|
||||
s32 pad;
|
||||
BgGndIceblock* this = THIS;
|
||||
|
||||
DynaPolyInfo_Free(globalCtx, &globalCtx->colCtx.dyna, this->dyna.dynaPolyId);
|
||||
}
|
||||
|
||||
/*
|
||||
* Diagram of positions in the room:
|
||||
* __
|
||||
* _________|10|_________
|
||||
* |*0* 6 *13****16*|
|
||||
* |*1* 7 17 |
|
||||
* | 2 14 18 |
|
||||
* | 3 h8 15 19 |
|
||||
* | 4 9 11 XX *20*|
|
||||
* |*5* XX 12 *21*|
|
||||
* ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
|
||||
* XX are rocks
|
||||
* ** are pits
|
||||
* h is the hole.
|
||||
* Block 0 starts at 7 and block 1 starts at 14
|
||||
*/
|
||||
|
||||
void BgGndIceblock_SetPosition(BgGndIceblock* this, s32 blockPosition) {
|
||||
Actor* thisx = &this->dyna.actor;
|
||||
u8 xPosIdx[22] = {
|
||||
0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 3, 3, 3, 4, 4, 4, 6, 6, 6, 6, 6, 6,
|
||||
};
|
||||
u8 zPosIdx[22] = {
|
||||
5, 4, 3, 2, 1, 0, 5, 4, 2, 1, 6, 1, 0, 5, 3, 2, 5, 4, 3, 2, 1, 0,
|
||||
};
|
||||
|
||||
sBlockPositions[thisx->params] = blockPosition;
|
||||
this->targetPos.x = 2552.0f + (xPosIdx[blockPosition] * 120.0f);
|
||||
this->targetPos.z = -540.0f - (zPosIdx[blockPosition] * 120.0f);
|
||||
}
|
||||
|
||||
s32 BgGndIceblock_CheckForBlock(s32 blockPosition) {
|
||||
s32 i;
|
||||
|
||||
for (i = 0; i < 2; i++) {
|
||||
if (blockPosition == sBlockPositions[i]) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
s32 BgGndIceblock_NextAction(BgGndIceblock* this) {
|
||||
switch (sBlockPositions[this->dyna.actor.params]) {
|
||||
case 0:
|
||||
case 1:
|
||||
case 5:
|
||||
case 13:
|
||||
case 16:
|
||||
case 20:
|
||||
case 21:
|
||||
return GNDICE_FALL;
|
||||
case 8:
|
||||
return GNDICE_HOLE;
|
||||
default:
|
||||
return GNDICE_IDLE;
|
||||
}
|
||||
}
|
||||
|
||||
void BgGndIceblock_SetNextPosition(BgGndIceblock* this) {
|
||||
if (this->dyna.unk_158 == 0) {
|
||||
switch (sBlockPositions[this->dyna.actor.params]) {
|
||||
case 3:
|
||||
case 4:
|
||||
BgGndIceblock_SetPosition(this, 5);
|
||||
break;
|
||||
case 7:
|
||||
if (BgGndIceblock_CheckForBlock(8)) {
|
||||
BgGndIceblock_SetPosition(this, 9);
|
||||
} else {
|
||||
BgGndIceblock_SetPosition(this, 8);
|
||||
}
|
||||
break;
|
||||
case 11:
|
||||
BgGndIceblock_SetPosition(this, 12);
|
||||
break;
|
||||
case 14:
|
||||
BgGndIceblock_SetPosition(this, 15);
|
||||
break;
|
||||
case 18:
|
||||
case 19:
|
||||
BgGndIceblock_SetPosition(this, 20);
|
||||
break;
|
||||
}
|
||||
} else if (this->dyna.unk_158 == -0x8000) {
|
||||
switch (sBlockPositions[this->dyna.actor.params]) {
|
||||
case 2:
|
||||
case 3:
|
||||
BgGndIceblock_SetPosition(this, 1);
|
||||
break;
|
||||
case 7:
|
||||
case 9:
|
||||
BgGndIceblock_SetPosition(this, 6);
|
||||
break;
|
||||
case 11:
|
||||
BgGndIceblock_SetPosition(this, 10);
|
||||
break;
|
||||
case 14:
|
||||
case 15:
|
||||
BgGndIceblock_SetPosition(this, 13);
|
||||
break;
|
||||
case 17:
|
||||
BgGndIceblock_SetPosition(this, 16);
|
||||
break;
|
||||
case 18:
|
||||
if (!BgGndIceblock_CheckForBlock(17)) {
|
||||
BgGndIceblock_SetPosition(this, 16);
|
||||
}
|
||||
break;
|
||||
}
|
||||
} else if (this->dyna.unk_158 == 0x4000) {
|
||||
switch (sBlockPositions[this->dyna.actor.params]) {
|
||||
case 6:
|
||||
BgGndIceblock_SetPosition(this, 13);
|
||||
break;
|
||||
case 7:
|
||||
BgGndIceblock_SetPosition(this, 17);
|
||||
break;
|
||||
case 9:
|
||||
BgGndIceblock_SetPosition(this, 11);
|
||||
break;
|
||||
case 12:
|
||||
BgGndIceblock_SetPosition(this, 21);
|
||||
break;
|
||||
case 14:
|
||||
BgGndIceblock_SetPosition(this, 18);
|
||||
break;
|
||||
case 15:
|
||||
BgGndIceblock_SetPosition(this, 19);
|
||||
break;
|
||||
}
|
||||
} else if (this->dyna.unk_158 == -0x4000) {
|
||||
switch (sBlockPositions[this->dyna.actor.params]) {
|
||||
case 6:
|
||||
BgGndIceblock_SetPosition(this, 0);
|
||||
break;
|
||||
case 7:
|
||||
BgGndIceblock_SetPosition(this, 1);
|
||||
break;
|
||||
case 9:
|
||||
case 11:
|
||||
BgGndIceblock_SetPosition(this, 4);
|
||||
break;
|
||||
case 14:
|
||||
BgGndIceblock_SetPosition(this, 2);
|
||||
break;
|
||||
case 15:
|
||||
if (BgGndIceblock_CheckForBlock(8)) {
|
||||
BgGndIceblock_SetPosition(this, 3);
|
||||
} else {
|
||||
BgGndIceblock_SetPosition(this, 8);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void BgGndIceblock_Idle(BgGndIceblock* this, GlobalContext* globalCtx) {
|
||||
Player* player = PLAYER;
|
||||
|
||||
if (this->dyna.unk_150 != 0.0f) {
|
||||
player->stateFlags2 &= ~0x10;
|
||||
if (this->dyna.unk_150 > 0.0f) {
|
||||
BgGndIceblock_SetNextPosition(this);
|
||||
if (func_8002DBB0(&this->dyna.actor, &this->targetPos) > 1.0f) {
|
||||
func_8002DF54(globalCtx, &this->dyna.actor, 8);
|
||||
this->actionFunc = BgGndIceblock_Slide;
|
||||
}
|
||||
}
|
||||
this->dyna.unk_150 = 0.0f;
|
||||
}
|
||||
}
|
||||
|
||||
void BgGndIceblock_Reset(BgGndIceblock* this, GlobalContext* globalCtx) {
|
||||
Player* player = PLAYER;
|
||||
Actor* thisx = &this->dyna.actor;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Gnd_Iceblock/func_80879C04.s")
|
||||
if (this->dyna.unk_150 != 0.0f) {
|
||||
player->stateFlags2 &= ~0x10;
|
||||
this->dyna.unk_150 = 0.0f;
|
||||
}
|
||||
if (Math_StepToF(&thisx->posRot.pos.y, thisx->initPosRot.pos.y, 1.0f)) {
|
||||
this->targetPos = thisx->initPosRot.pos;
|
||||
thisx->speedXZ = 0.0f;
|
||||
this->actionFunc = BgGndIceblock_Idle;
|
||||
switch (thisx->params) {
|
||||
case 0:
|
||||
sBlockPositions[0] = 7;
|
||||
break;
|
||||
case 1:
|
||||
sBlockPositions[1] = 14;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Gnd_Iceblock/func_80879D10.s")
|
||||
void BgGndIceblock_Fall(BgGndIceblock* this, GlobalContext* globalCtx) {
|
||||
Actor* thisx = &this->dyna.actor;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Gnd_Iceblock/func_80879D4C.s")
|
||||
thisx->velocity.y += 1.0f;
|
||||
if (Math_StepToF(&thisx->posRot.pos.y, thisx->initPosRot.pos.y - 300.0f, thisx->velocity.y)) {
|
||||
thisx->velocity.y = 0.0f;
|
||||
thisx->posRot.pos.x = thisx->initPosRot.pos.x;
|
||||
thisx->posRot.pos.y = thisx->initPosRot.pos.y - 100.0f;
|
||||
thisx->posRot.pos.z = thisx->initPosRot.pos.z;
|
||||
if (Player_InCsMode(globalCtx)) {
|
||||
func_8002DF54(globalCtx, thisx, 7);
|
||||
}
|
||||
this->actionFunc = BgGndIceblock_Reset;
|
||||
}
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Gnd_Iceblock/func_80879D98.s")
|
||||
void BgGndIceblock_Hole(BgGndIceblock* this, GlobalContext* globalCtx) {
|
||||
Actor* thisx = &this->dyna.actor;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Gnd_Iceblock/func_8087A0C8.s")
|
||||
thisx->velocity.y += 1.0f;
|
||||
if (Math_StepToF(&thisx->posRot.pos.y, thisx->initPosRot.pos.y - 100.0f, thisx->velocity.y)) {
|
||||
thisx->velocity.y = 0.0f;
|
||||
if (Player_InCsMode(globalCtx)) {
|
||||
func_8002DF54(globalCtx, thisx, 7);
|
||||
}
|
||||
this->actionFunc = BgGndIceblock_Idle;
|
||||
}
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Gnd_Iceblock/func_8087A184.s")
|
||||
void BgGndIceblock_Slide(BgGndIceblock* this, GlobalContext* globalCtx) {
|
||||
s32 atTarget;
|
||||
Vec3f pos;
|
||||
Vec3f velocity;
|
||||
f32 spread;
|
||||
Actor* thisx = &this->dyna.actor;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Gnd_Iceblock/func_8087A248.s")
|
||||
Math_StepToF(&thisx->speedXZ, 10.0f, 0.5f);
|
||||
atTarget = Math_StepToF(&thisx->posRot.pos.x, this->targetPos.x, thisx->speedXZ);
|
||||
atTarget &= Math_StepToF(&thisx->posRot.pos.z, this->targetPos.z, thisx->speedXZ);
|
||||
if (atTarget) {
|
||||
thisx->speedXZ = 0.0f;
|
||||
this->targetPos.x = thisx->posRot.pos.x;
|
||||
this->targetPos.z = thisx->posRot.pos.z;
|
||||
Audio_PlayActorSound2(thisx, NA_SE_EV_BLOCK_BOUND);
|
||||
switch (BgGndIceblock_NextAction(this)) {
|
||||
case GNDICE_IDLE:
|
||||
this->actionFunc = BgGndIceblock_Idle;
|
||||
func_8002DF54(globalCtx, thisx, 7);
|
||||
break;
|
||||
case GNDICE_FALL:
|
||||
this->actionFunc = BgGndIceblock_Fall;
|
||||
break;
|
||||
case GNDICE_HOLE:
|
||||
this->actionFunc = BgGndIceblock_Hole;
|
||||
break;
|
||||
}
|
||||
} else if (thisx->speedXZ > 6.0f) {
|
||||
spread = Rand_CenteredFloat(120.0f);
|
||||
velocity.x = -(1.5f + Rand_ZeroOne()) * Math_SinS(this->dyna.unk_158);
|
||||
velocity.y = Rand_ZeroOne() + 1.0f;
|
||||
velocity.z = -(1.5f + Rand_ZeroOne()) * Math_CosS(this->dyna.unk_158);
|
||||
pos.x =
|
||||
thisx->posRot.pos.x - (60.0f * Math_SinS(this->dyna.unk_158)) - (Math_CosS(this->dyna.unk_158) * spread);
|
||||
pos.z =
|
||||
thisx->posRot.pos.z - (60.0f * Math_CosS(this->dyna.unk_158)) + (Math_SinS(this->dyna.unk_158) * spread);
|
||||
pos.y = thisx->posRot.pos.y;
|
||||
func_8002829C(globalCtx, &pos, &velocity, &sZeroVec, &sWhite, &sGray, 250, Rand_S16Offset(40, 15));
|
||||
spread = Rand_CenteredFloat(120.0f);
|
||||
pos.x =
|
||||
thisx->posRot.pos.x - (60.0f * Math_SinS(this->dyna.unk_158)) + (Math_CosS(this->dyna.unk_158) * spread);
|
||||
pos.z =
|
||||
thisx->posRot.pos.z - (60.0f * Math_CosS(this->dyna.unk_158)) - (Math_SinS(this->dyna.unk_158) * spread);
|
||||
func_8002829C(globalCtx, &pos, &velocity, &sZeroVec, &sWhite, &sGray, 250, Rand_S16Offset(40, 15));
|
||||
func_8002F974(thisx, NA_SE_PL_SLIP_ICE_LEVEL - SFX_FLAG);
|
||||
}
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Gnd_Iceblock/func_8087A300.s")
|
||||
void BgGndIceblock_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||
s32 pad;
|
||||
BgGndIceblock* this = THIS;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Gnd_Iceblock/func_8087A39C.s")
|
||||
this->actionFunc(this, globalCtx);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Gnd_Iceblock/BgGndIceblock_Update.s")
|
||||
void BgGndIceblock_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
||||
s32 pad;
|
||||
BgGndIceblock* this = THIS;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Gnd_Iceblock/BgGndIceblock_Draw.s")
|
||||
Gfx_DrawDListOpa(globalCtx, D_06004420);
|
||||
}
|
||||
|
|
|
@ -11,7 +11,7 @@ typedef void (*BgGndIceblockActionFunc)(struct BgGndIceblock*, GlobalContext*);
|
|||
typedef struct BgGndIceblock {
|
||||
/* 0x0000 */ DynaPolyActor dyna;
|
||||
/* 0x0164 */ BgGndIceblockActionFunc actionFunc;
|
||||
/* 0x0168 */ Vec3f unk_168;
|
||||
/* 0x0168 */ Vec3f targetPos;
|
||||
} BgGndIceblock; // size = 0x0174
|
||||
|
||||
extern const ActorInit Bg_Gnd_Iceblock_InitVars;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
* File: z_bg_ice_objects.c
|
||||
* Overlay: ovl_Bg_Ice_Objects
|
||||
* Description: Movable Ice Block.
|
||||
* Description: Pushable ice block (Ice Cavern)
|
||||
*/
|
||||
|
||||
#include "z_bg_ice_objects.h"
|
||||
|
@ -15,10 +15,18 @@ void BgIceObjects_Destroy(Actor* thisx, GlobalContext* globalCtx);
|
|||
void BgIceObjects_Update(Actor* thisx, GlobalContext* globalCtx);
|
||||
void BgIceObjects_Draw(Actor* thisx, GlobalContext* globalCtx);
|
||||
|
||||
extern UNK_TYPE D_06000190;
|
||||
extern UNK_TYPE D_060003F0;
|
||||
void BgIceObjects_Idle(BgIceObjects* this, GlobalContext* globalCtx);
|
||||
void BgIceObjects_Slide(BgIceObjects* this, GlobalContext* globalCtx);
|
||||
void BgIceObjects_Reset(BgIceObjects* this, GlobalContext* globalCtx);
|
||||
void BgIceObjects_Stuck(BgIceObjects* this, GlobalContext* globalCtx);
|
||||
|
||||
extern Gfx D_06000190[];
|
||||
extern ColHeader D_060003F0;
|
||||
|
||||
static Color_RGBA8 sWhite = { 250, 250, 250, 255 };
|
||||
static Color_RGBA8 sGray = { 180, 180, 180, 255 };
|
||||
static Vec3f sZeroVec = { 0.0f, 0.0f, 0.0f };
|
||||
|
||||
/*
|
||||
const ActorInit Bg_Ice_Objects_InitVars = {
|
||||
ACTOR_BG_ICE_OBJECTS,
|
||||
ACTORTYPE_PROP,
|
||||
|
@ -30,23 +38,209 @@ const ActorInit Bg_Ice_Objects_InitVars = {
|
|||
(ActorFunc)BgIceObjects_Update,
|
||||
(ActorFunc)BgIceObjects_Draw,
|
||||
};
|
||||
*/
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Ice_Objects/BgIceObjects_Init.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Ice_Objects/BgIceObjects_Destroy.s")
|
||||
InitChainEntry sInitChain[] = {
|
||||
ICHAIN_VEC3F_DIV1000(scale, 100, ICHAIN_STOP),
|
||||
};
|
||||
|
||||
void BgIceObjects_Init(Actor* thisx, GlobalContext* globalCtx) {
|
||||
s32 pad;
|
||||
BgIceObjects* this = THIS;
|
||||
ColHeader* colHeader = NULL;
|
||||
|
||||
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
||||
DynaPolyInfo_SetActorMove(&this->dyna, 0);
|
||||
DynaPolyInfo_Alloc(&D_060003F0, &colHeader);
|
||||
Math_Vec3f_Copy(&this->targetPos, &this->dyna.actor.initPosRot.pos);
|
||||
this->actionFunc = BgIceObjects_Idle;
|
||||
this->dyna.dynaPolyId =
|
||||
DynaPolyInfo_RegisterActor(globalCtx, &globalCtx->colCtx.dyna, &this->dyna.actor, colHeader);
|
||||
this->dyna.actor.params = 0;
|
||||
}
|
||||
|
||||
void BgIceObjects_Destroy(Actor* thisx, GlobalContext* globalCtx) {
|
||||
s32 pad;
|
||||
BgIceObjects* this = THIS;
|
||||
|
||||
DynaPolyInfo_Free(globalCtx, &globalCtx->colCtx.dyna, this->dyna.dynaPolyId);
|
||||
}
|
||||
|
||||
static s16 sXStarts[] = {
|
||||
-1060, -1200, -1240, -1387, -1580, -1680, -1780,
|
||||
};
|
||||
static s16 sZStarts[] = {
|
||||
-580, -660, -780, -820, -860, -900, -1087,
|
||||
};
|
||||
static s16 sZStops[7][2] = {
|
||||
{ -580, -1087 }, { -780, -1260 }, { -340, -820 }, { -260, -1260 }, { -340, -860 }, { -660, -1260 }, { -340, -740 },
|
||||
};
|
||||
static s16 sXStops[7][2] = {
|
||||
{ -860, -1580 }, { -1240, -1780 }, { -860, -1680 }, { -860, -1680 },
|
||||
{ -1387, -1680 }, { -860, -1200 }, { -860, -1800 },
|
||||
};
|
||||
|
||||
/*
|
||||
* Checks which of the eight possible x and z positions the block is at,
|
||||
* defaulting to the maximum x wall or minimum z wall. Each x and z position
|
||||
* has only one possible wall or pit on each side of it.
|
||||
*/
|
||||
void BgIceObjects_SetNextTarget(BgIceObjects* this, GlobalContext* globalCtx) {
|
||||
s16 x16;
|
||||
s16 z16 = 0; // needed to match
|
||||
s32 i;
|
||||
|
||||
if ((this->dyna.unk_158 == 0) || (this->dyna.unk_158 == -0x8000)) {
|
||||
x16 = this->dyna.actor.posRot.pos.x;
|
||||
for (i = 0; i < 7; i++) {
|
||||
if (x16 == sXStarts[i]) {
|
||||
z16 = (this->dyna.unk_158 == 0) ? sZStops[i][0] : sZStops[i][1];
|
||||
this->targetPos.z = z16;
|
||||
return;
|
||||
}
|
||||
}
|
||||
this->targetPos.z = (this->dyna.unk_158 == 0) ? -340 : -1260;
|
||||
} else {
|
||||
z16 = this->dyna.actor.posRot.pos.z;
|
||||
for (i = 0; i < 7; i++) {
|
||||
if (z16 == sZStarts[i]) {
|
||||
x16 = (this->dyna.unk_158 == 0x4000) ? sXStops[i][0] : sXStops[i][1];
|
||||
this->targetPos.x = x16;
|
||||
return;
|
||||
}
|
||||
}
|
||||
this->targetPos.x = (this->dyna.unk_158 == 0x4000) ? -860 : -1780;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Checks if the block has fallen into any of the pits.
|
||||
*/
|
||||
void BgIceObjects_CheckPits(BgIceObjects* this, GlobalContext* globalCtx) {
|
||||
Actor* thisx = &this->dyna.actor;
|
||||
|
||||
if ((thisx->velocity.y > 0.0f) || ((thisx->posRot.pos.x <= -1660.0f) && (thisx->posRot.pos.z <= -1060.0f)) ||
|
||||
((thisx->posRot.pos.x <= -1580.0f) && (thisx->posRot.pos.z >= -420.0f)) ||
|
||||
((thisx->posRot.pos.x >= -980.0f) && (thisx->posRot.pos.z <= -1180.0f)) ||
|
||||
((thisx->posRot.pos.x >= -860.0f) && (thisx->posRot.pos.z >= -700.0f))) {
|
||||
|
||||
thisx->velocity.y += 1.0f;
|
||||
if (Math_StepToF(&thisx->posRot.pos.y, -300.0f, thisx->velocity.y)) {
|
||||
thisx->velocity.y = 0.0f;
|
||||
thisx->posRot.pos.x = thisx->initPosRot.pos.x;
|
||||
thisx->posRot.pos.y = thisx->initPosRot.pos.y - 60.0f;
|
||||
thisx->posRot.pos.z = thisx->initPosRot.pos.z;
|
||||
if (thisx->params != 0) {
|
||||
func_8002DF54(globalCtx, thisx, 7);
|
||||
}
|
||||
this->actionFunc = BgIceObjects_Reset;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void BgIceObjects_Idle(BgIceObjects* this, GlobalContext* globalCtx) {
|
||||
Player* player = PLAYER;
|
||||
Actor* thisx = &this->dyna.actor;
|
||||
|
||||
if (this->dyna.unk_150 != 0.0f) {
|
||||
player->stateFlags2 &= ~0x10;
|
||||
if ((this->dyna.unk_150 > 0.0f) && !Player_InCsMode(globalCtx)) {
|
||||
BgIceObjects_SetNextTarget(this, globalCtx);
|
||||
if (func_8002DBB0(thisx, &this->targetPos) > 1.0f) {
|
||||
thisx->flags |= 0x10;
|
||||
func_8002DF54(globalCtx, thisx, 8);
|
||||
thisx->params = 1;
|
||||
this->actionFunc = BgIceObjects_Slide;
|
||||
}
|
||||
}
|
||||
this->dyna.unk_150 = 0.0f;
|
||||
}
|
||||
if (thisx->velocity.y > 0.0f) {
|
||||
BgIceObjects_CheckPits(this, globalCtx);
|
||||
}
|
||||
}
|
||||
|
||||
void BgIceObjects_Slide(BgIceObjects* this, GlobalContext* globalCtx) {
|
||||
s32 atTarget;
|
||||
Vec3f pos;
|
||||
Vec3f velocity;
|
||||
f32 spread;
|
||||
Actor* thisx = &this->dyna.actor;
|
||||
|
||||
Math_StepToF(&thisx->speedXZ, 10.0f, 0.5f);
|
||||
atTarget = Math_StepToF(&thisx->posRot.pos.x, this->targetPos.x, thisx->speedXZ);
|
||||
atTarget &= Math_StepToF(&thisx->posRot.pos.z, this->targetPos.z, thisx->speedXZ);
|
||||
if (atTarget) {
|
||||
thisx->speedXZ = 0.0f;
|
||||
this->targetPos.x = thisx->posRot.pos.x;
|
||||
this->targetPos.z = thisx->posRot.pos.z;
|
||||
if (thisx->velocity.y <= 0.0f) {
|
||||
thisx->flags &= ~0x10;
|
||||
}
|
||||
thisx->params = 0;
|
||||
func_8002DF54(globalCtx, thisx, 7);
|
||||
Audio_PlayActorSound2(thisx, NA_SE_EV_BLOCK_BOUND);
|
||||
if ((fabsf(thisx->posRot.pos.x + 1387.0f) < 1.0f) && (fabsf(thisx->posRot.pos.z + 260.0f) < 1.0f)) {
|
||||
this->actionFunc = BgIceObjects_Stuck;
|
||||
} else {
|
||||
this->actionFunc = BgIceObjects_Idle;
|
||||
}
|
||||
} else if ((thisx->speedXZ > 6.0f) && (thisx->posRot.pos.y >= 0.0f)) {
|
||||
spread = Rand_CenteredFloat(120.0f);
|
||||
velocity.x = -(1.5f + Rand_ZeroOne()) * Math_SinS(this->dyna.unk_158);
|
||||
velocity.y = Rand_ZeroOne() + 1.0f;
|
||||
velocity.z = -(1.5f + Rand_ZeroOne()) * Math_CosS(this->dyna.unk_158);
|
||||
pos.x =
|
||||
thisx->posRot.pos.x - (60.0f * Math_SinS(this->dyna.unk_158)) - (Math_CosS(this->dyna.unk_158) * spread);
|
||||
pos.z =
|
||||
thisx->posRot.pos.z - (60.0f * Math_CosS(this->dyna.unk_158)) + (Math_SinS(this->dyna.unk_158) * spread);
|
||||
pos.y = thisx->posRot.pos.y;
|
||||
func_8002829C(globalCtx, &pos, &velocity, &sZeroVec, &sWhite, &sGray, 250, Rand_S16Offset(40, 15));
|
||||
spread = Rand_CenteredFloat(120.0f);
|
||||
pos.x =
|
||||
thisx->posRot.pos.x - (60.0f * Math_SinS(this->dyna.unk_158)) + (Math_CosS(this->dyna.unk_158) * spread);
|
||||
pos.z =
|
||||
thisx->posRot.pos.z - (60.0f * Math_CosS(this->dyna.unk_158)) - (Math_SinS(this->dyna.unk_158) * spread);
|
||||
func_8002829C(globalCtx, &pos, &velocity, &sZeroVec, &sWhite, &sGray, 250, Rand_S16Offset(40, 15));
|
||||
func_8002F974(thisx, NA_SE_PL_SLIP_ICE_LEVEL - SFX_FLAG);
|
||||
}
|
||||
BgIceObjects_CheckPits(this, globalCtx);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Ice_Objects/func_8088F8C8.s")
|
||||
void BgIceObjects_Reset(BgIceObjects* this, GlobalContext* globalCtx) {
|
||||
Player* player = PLAYER;
|
||||
Actor* thisx = &this->dyna.actor;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Ice_Objects/func_8088FD48.s")
|
||||
if (this->dyna.unk_150 != 0.0f) {
|
||||
player->stateFlags2 &= ~0x10;
|
||||
this->dyna.unk_150 = 0.0f;
|
||||
}
|
||||
if (Math_StepToF(&thisx->posRot.pos.y, thisx->initPosRot.pos.y, 1.0f)) {
|
||||
thisx->flags &= ~0x10;
|
||||
Math_Vec3f_Copy(&this->targetPos, &thisx->initPosRot.pos);
|
||||
this->actionFunc = BgIceObjects_Idle;
|
||||
thisx->speedXZ = 0.0f;
|
||||
}
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Ice_Objects/func_8088FED0.s")
|
||||
void BgIceObjects_Stuck(BgIceObjects* this, GlobalContext* globalCtx) {
|
||||
Player* player = PLAYER;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Ice_Objects/func_8088FFD0.s")
|
||||
if (this->dyna.unk_150 != 0.0f) {
|
||||
player->stateFlags2 &= ~0x10;
|
||||
this->dyna.unk_150 = 0.0f;
|
||||
}
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Ice_Objects/func_80890360.s")
|
||||
void BgIceObjects_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||
s32 pad;
|
||||
BgIceObjects* this = THIS;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Ice_Objects/func_808903FC.s")
|
||||
this->actionFunc(this, globalCtx);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Ice_Objects/BgIceObjects_Update.s")
|
||||
void BgIceObjects_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
||||
s32 pad;
|
||||
BgIceObjects* this = THIS;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Ice_Objects/BgIceObjects_Draw.s")
|
||||
Gfx_DrawDListOpa(globalCtx, D_06000190);
|
||||
}
|
||||
|
|
|
@ -6,9 +6,12 @@
|
|||
|
||||
struct BgIceObjects;
|
||||
|
||||
typedef void (*BgIceObjectsActionFunc) (struct BgIceObjects*, GlobalContext*);
|
||||
|
||||
typedef struct BgIceObjects {
|
||||
/* 0x0000 */ Actor actor;
|
||||
/* 0x014C */ char unk_14C[0x28];
|
||||
/* 0x0000 */ DynaPolyActor dyna;
|
||||
/* 0x0164 */ BgIceObjectsActionFunc actionFunc;
|
||||
/* 0x0168 */ Vec3f targetPos;
|
||||
} BgIceObjects; // size = 0x0174
|
||||
|
||||
extern const ActorInit Bg_Ice_Objects_InitVars;
|
||||
|
|
Loading…
Reference in a new issue