mirror of
https://github.com/zeldaret/oot.git
synced 2024-12-27 07:07:09 +00:00
Shabom OK (#571)
* 2 nonmatchings left * shabom OK * suggested changes * more suggested changes
This commit is contained in:
parent
7daadc5ea1
commit
ae5a8f2700
27 changed files with 401 additions and 1389 deletions
|
@ -1,11 +0,0 @@
|
|||
glabel EnBubble_Destroy
|
||||
/* 00D8C 809CC98C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 00D90 809CC990 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
|
||||
/* 00D94 809CC994 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00D98 809CC998 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
|
||||
/* 00D9C 809CC99C 0C016F32 */ jal Collider_DestroyJntSph
|
||||
/* 00DA0 809CC9A0 24C50150 */ addiu $a1, $a2, 0x0150 ## $a1 = 00000150
|
||||
/* 00DA4 809CC9A4 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00DA8 809CC9A8 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 00DAC 809CC9AC 03E00008 */ jr $ra
|
||||
/* 00DB0 809CC9B0 00000000 */ nop
|
|
@ -1,173 +0,0 @@
|
|||
.rdata
|
||||
glabel D_809CCEB0
|
||||
.asciz "../z_en_bubble.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_809CCEC4
|
||||
.asciz "../z_en_bubble.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_809CCED8
|
||||
.asciz "../z_en_bubble.c"
|
||||
.balign 4
|
||||
|
||||
.late_rodata
|
||||
glabel D_809CCF14
|
||||
.word 0x3C8EFA35
|
||||
glabel D_809CCF18
|
||||
.word 0x3C8EFA35
|
||||
glabel D_809CCF1C
|
||||
.float 0.2
|
||||
|
||||
.text
|
||||
glabel EnBubble_Draw
|
||||
/* 00FD0 809CCBD0 27BDFFA8 */ addiu $sp, $sp, 0xFFA8 ## $sp = FFFFFFA8
|
||||
/* 00FD4 809CCBD4 AFB10020 */ sw $s1, 0x0020($sp)
|
||||
/* 00FD8 809CCBD8 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
|
||||
/* 00FDC 809CCBDC AFBF0024 */ sw $ra, 0x0024($sp)
|
||||
/* 00FE0 809CCBE0 AFB0001C */ sw $s0, 0x001C($sp)
|
||||
/* 00FE4 809CCBE4 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000
|
||||
/* 00FE8 809CCBE8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00FEC 809CCBEC 3C06809D */ lui $a2, %hi(D_809CCEB0) ## $a2 = 809D0000
|
||||
/* 00FF0 809CCBF0 24C6CEB0 */ addiu $a2, $a2, %lo(D_809CCEB0) ## $a2 = 809CCEB0
|
||||
/* 00FF4 809CCBF4 27A4003C */ addiu $a0, $sp, 0x003C ## $a0 = FFFFFFE4
|
||||
/* 00FF8 809CCBF8 24070497 */ addiu $a3, $zero, 0x0497 ## $a3 = 00000497
|
||||
/* 00FFC 809CCBFC 0C031AB1 */ jal Graph_OpenDisps
|
||||
/* 01000 809CCC00 AFA5004C */ sw $a1, 0x004C($sp)
|
||||
/* 01004 809CCC04 3C0E809D */ lui $t6, %hi(func_809CCAA8) ## $t6 = 809D0000
|
||||
/* 01008 809CCC08 25CECAA8 */ addiu $t6, $t6, %lo(func_809CCAA8) ## $t6 = 809CCAA8
|
||||
/* 0100C 809CCC0C AFAE0030 */ sw $t6, 0x0030($sp)
|
||||
/* 01010 809CCC10 8E0F014C */ lw $t7, 0x014C($s0) ## 0000014C
|
||||
/* 01014 809CCC14 11CF0062 */ beq $t6, $t7, .L809CCDA0
|
||||
/* 01018 809CCC18 00000000 */ nop
|
||||
/* 0101C 809CCC1C 0C024F61 */ jal func_80093D84
|
||||
/* 01020 809CCC20 8E240000 */ lw $a0, 0x0000($s1) ## 00000000
|
||||
/* 01024 809CCC24 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
|
||||
/* 01028 809CCC28 3C063E4C */ lui $a2, 0x3E4C ## $a2 = 3E4C0000
|
||||
/* 0102C 809CCC2C 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3E4CCCCD
|
||||
/* 01030 809CCC30 26040210 */ addiu $a0, $s0, 0x0210 ## $a0 = 00000210
|
||||
/* 01034 809CCC34 3C054180 */ lui $a1, 0x4180 ## $a1 = 41800000
|
||||
/* 01038 809CCC38 3C07447A */ lui $a3, 0x447A ## $a3 = 447A0000
|
||||
/* 0103C 809CCC3C 0C01E0C4 */ jal Math_SmoothStepToF
|
||||
|
||||
/* 01040 809CCC40 E7A40010 */ swc1 $f4, 0x0010($sp)
|
||||
/* 01044 809CCC44 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00
|
||||
/* 01048 809CCC48 3C053DA3 */ lui $a1, 0x3DA3 ## $a1 = 3DA30000
|
||||
/* 0104C 809CCC4C 3C063E4C */ lui $a2, 0x3E4C ## $a2 = 3E4C0000
|
||||
/* 01050 809CCC50 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3E4CCCCD
|
||||
/* 01054 809CCC54 34A5D70A */ ori $a1, $a1, 0xD70A ## $a1 = 3DA3D70A
|
||||
/* 01058 809CCC58 26040214 */ addiu $a0, $s0, 0x0214 ## $a0 = 00000214
|
||||
/* 0105C 809CCC5C 3C07447A */ lui $a3, 0x447A ## $a3 = 447A0000
|
||||
/* 01060 809CCC60 0C01E0C4 */ jal Math_SmoothStepToF
|
||||
|
||||
/* 01064 809CCC64 E7A60010 */ swc1 $f6, 0x0010($sp)
|
||||
/* 01068 809CCC68 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
||||
/* 0106C 809CCC6C 34211DA0 */ ori $at, $at, 0x1DA0 ## $at = 00011DA0
|
||||
/* 01070 809CCC70 0C0347F5 */ jal func_800D1FD4
|
||||
/* 01074 809CCC74 02212021 */ addu $a0, $s1, $at
|
||||
/* 01078 809CCC78 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
|
||||
/* 0107C 809CCC7C 44810000 */ mtc1 $at, $f0 ## $f0 = 1.00
|
||||
/* 01080 809CCC80 C6080220 */ lwc1 $f8, 0x0220($s0) ## 00000220
|
||||
/* 01084 809CCC84 C60A0224 */ lwc1 $f10, 0x0224($s0) ## 00000224
|
||||
/* 01088 809CCC88 44060000 */ mfc1 $a2, $f0
|
||||
/* 0108C 809CCC8C 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
|
||||
/* 01090 809CCC90 46004300 */ add.s $f12, $f8, $f0
|
||||
/* 01094 809CCC94 0C0342A3 */ jal Matrix_Scale
|
||||
/* 01098 809CCC98 46005380 */ add.s $f14, $f10, $f0
|
||||
/* 0109C 809CCC9C 8E38009C */ lw $t8, 0x009C($s1) ## 0000009C
|
||||
/* 010A0 809CCCA0 3C014F80 */ lui $at, 0x4F80 ## $at = 4F800000
|
||||
/* 010A4 809CCCA4 44988000 */ mtc1 $t8, $f16 ## $f16 = 0.00
|
||||
/* 010A8 809CCCA8 07010004 */ bgez $t8, .L809CCCBC
|
||||
/* 010AC 809CCCAC 468084A0 */ cvt.s.w $f18, $f16
|
||||
/* 010B0 809CCCB0 44812000 */ mtc1 $at, $f4 ## $f4 = 4294967296.00
|
||||
/* 010B4 809CCCB4 00000000 */ nop
|
||||
/* 010B8 809CCCB8 46049480 */ add.s $f18, $f18, $f4
|
||||
.L809CCCBC:
|
||||
/* 010BC 809CCCBC 3C01809D */ lui $at, %hi(D_809CCF14) ## $at = 809D0000
|
||||
/* 010C0 809CCCC0 C426CF14 */ lwc1 $f6, %lo(D_809CCF14)($at)
|
||||
/* 010C4 809CCCC4 C60A0210 */ lwc1 $f10, 0x0210($s0) ## 00000210
|
||||
/* 010C8 809CCCC8 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
|
||||
/* 010CC 809CCCCC 46069202 */ mul.s $f8, $f18, $f6
|
||||
/* 010D0 809CCCD0 00000000 */ nop
|
||||
/* 010D4 809CCCD4 460A4302 */ mul.s $f12, $f8, $f10
|
||||
/* 010D8 809CCCD8 0C0343B5 */ jal Matrix_RotateZ
|
||||
/* 010DC 809CCCDC 00000000 */ nop
|
||||
/* 010E0 809CCCE0 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
|
||||
/* 010E4 809CCCE4 44817000 */ mtc1 $at, $f14 ## $f14 = 1.00
|
||||
/* 010E8 809CCCE8 C6100214 */ lwc1 $f16, 0x0214($s0) ## 00000214
|
||||
/* 010EC 809CCCEC 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
|
||||
/* 010F0 809CCCF0 44067000 */ mfc1 $a2, $f14
|
||||
/* 010F4 809CCCF4 0C0342A3 */ jal Matrix_Scale
|
||||
/* 010F8 809CCCF8 460E8300 */ add.s $f12, $f16, $f14
|
||||
/* 010FC 809CCCFC 8E39009C */ lw $t9, 0x009C($s1) ## 0000009C
|
||||
/* 01100 809CCD00 3C014F80 */ lui $at, 0x4F80 ## $at = 4F800000
|
||||
/* 01104 809CCD04 44992000 */ mtc1 $t9, $f4 ## $f4 = 0.00
|
||||
/* 01108 809CCD08 07210004 */ bgez $t9, .L809CCD1C
|
||||
/* 0110C 809CCD0C 468024A0 */ cvt.s.w $f18, $f4
|
||||
/* 01110 809CCD10 44813000 */ mtc1 $at, $f6 ## $f6 = 4294967296.00
|
||||
/* 01114 809CCD14 00000000 */ nop
|
||||
/* 01118 809CCD18 46069480 */ add.s $f18, $f18, $f6
|
||||
.L809CCD1C:
|
||||
/* 0111C 809CCD1C 3C01809D */ lui $at, %hi(D_809CCF18) ## $at = 809D0000
|
||||
/* 01120 809CCD20 C42ACF18 */ lwc1 $f10, %lo(D_809CCF18)($at)
|
||||
/* 01124 809CCD24 46009207 */ neg.s $f8, $f18
|
||||
/* 01128 809CCD28 C6040210 */ lwc1 $f4, 0x0210($s0) ## 00000210
|
||||
/* 0112C 809CCD2C 460A4402 */ mul.s $f16, $f8, $f10
|
||||
/* 01130 809CCD30 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
|
||||
/* 01134 809CCD34 46048302 */ mul.s $f12, $f16, $f4
|
||||
/* 01138 809CCD38 0C0343B5 */ jal Matrix_RotateZ
|
||||
/* 0113C 809CCD3C 00000000 */ nop
|
||||
/* 01140 809CCD40 8FA7004C */ lw $a3, 0x004C($sp)
|
||||
/* 01144 809CCD44 3C09DA38 */ lui $t1, 0xDA38 ## $t1 = DA380000
|
||||
/* 01148 809CCD48 35290003 */ ori $t1, $t1, 0x0003 ## $t1 = DA380003
|
||||
/* 0114C 809CCD4C 8CE202D0 */ lw $v0, 0x02D0($a3) ## 000002D0
|
||||
/* 01150 809CCD50 3C05809D */ lui $a1, %hi(D_809CCEC4) ## $a1 = 809D0000
|
||||
/* 01154 809CCD54 24A5CEC4 */ addiu $a1, $a1, %lo(D_809CCEC4) ## $a1 = 809CCEC4
|
||||
/* 01158 809CCD58 24480008 */ addiu $t0, $v0, 0x0008 ## $t0 = 00000008
|
||||
/* 0115C 809CCD5C ACE802D0 */ sw $t0, 0x02D0($a3) ## 000002D0
|
||||
/* 01160 809CCD60 AC490000 */ sw $t1, 0x0000($v0) ## 00000000
|
||||
/* 01164 809CCD64 8E240000 */ lw $a0, 0x0000($s1) ## 00000000
|
||||
/* 01168 809CCD68 240604C4 */ addiu $a2, $zero, 0x04C4 ## $a2 = 000004C4
|
||||
/* 0116C 809CCD6C 0C0346A2 */ jal Matrix_NewMtx
|
||||
/* 01170 809CCD70 AFA20038 */ sw $v0, 0x0038($sp)
|
||||
/* 01174 809CCD74 8FA30038 */ lw $v1, 0x0038($sp)
|
||||
/* 01178 809CCD78 3C0D0600 */ lui $t5, %hi(D_06001000) ## $t5 = 06000000
|
||||
/* 0117C 809CCD7C 25AD1000 */ addiu $t5, $t5, %lo(D_06001000) ## $t5 = 06001000
|
||||
/* 01180 809CCD80 AC620004 */ sw $v0, 0x0004($v1) ## 00000004
|
||||
/* 01184 809CCD84 8FAA004C */ lw $t2, 0x004C($sp)
|
||||
/* 01188 809CCD88 3C0CDE00 */ lui $t4, 0xDE00 ## $t4 = DE000000
|
||||
/* 0118C 809CCD8C 8D4202D0 */ lw $v0, 0x02D0($t2) ## 000002D0
|
||||
/* 01190 809CCD90 244B0008 */ addiu $t3, $v0, 0x0008 ## $t3 = 00000008
|
||||
/* 01194 809CCD94 AD4B02D0 */ sw $t3, 0x02D0($t2) ## 000002D0
|
||||
/* 01198 809CCD98 AC4D0004 */ sw $t5, 0x0004($v0) ## 00000004
|
||||
/* 0119C 809CCD9C AC4C0000 */ sw $t4, 0x0000($v0) ## 00000000
|
||||
.L809CCDA0:
|
||||
/* 011A0 809CCDA0 3C06809D */ lui $a2, %hi(D_809CCED8) ## $a2 = 809D0000
|
||||
/* 011A4 809CCDA4 24C6CED8 */ addiu $a2, $a2, %lo(D_809CCED8) ## $a2 = 809CCED8
|
||||
/* 011A8 809CCDA8 27A4003C */ addiu $a0, $sp, 0x003C ## $a0 = FFFFFFE4
|
||||
/* 011AC 809CCDAC 8E250000 */ lw $a1, 0x0000($s1) ## 00000000
|
||||
/* 011B0 809CCDB0 0C031AD5 */ jal Graph_CloseDisps
|
||||
/* 011B4 809CCDB4 240704CA */ addiu $a3, $zero, 0x04CA ## $a3 = 000004CA
|
||||
/* 011B8 809CCDB8 8FAE0030 */ lw $t6, 0x0030($sp)
|
||||
/* 011BC 809CCDBC 8E0F014C */ lw $t7, 0x014C($s0) ## 0000014C
|
||||
/* 011C0 809CCDC0 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
|
||||
/* 011C4 809CCDC4 51CF000B */ beql $t6, $t7, .L809CCDF4
|
||||
/* 011C8 809CCDC8 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
/* 011CC 809CCDCC C6060220 */ lwc1 $f6, 0x0220($s0) ## 00000220
|
||||
/* 011D0 809CCDD0 44819000 */ mtc1 $at, $f18 ## $f18 = 1.00
|
||||
/* 011D4 809CCDD4 3C01809D */ lui $at, %hi(D_809CCF1C) ## $at = 809D0000
|
||||
/* 011D8 809CCDD8 C42ACF1C */ lwc1 $f10, %lo(D_809CCF1C)($at)
|
||||
/* 011DC 809CCDDC 46123200 */ add.s $f8, $f6, $f18
|
||||
/* 011E0 809CCDE0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 011E4 809CCDE4 460A4402 */ mul.s $f16, $f8, $f10
|
||||
/* 011E8 809CCDE8 0C2731DD */ jal func_809CC774
|
||||
/* 011EC 809CCDEC E61000C4 */ swc1 $f16, 0x00C4($s0) ## 000000C4
|
||||
/* 011F0 809CCDF0 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
.L809CCDF4:
|
||||
/* 011F4 809CCDF4 8FB0001C */ lw $s0, 0x001C($sp)
|
||||
/* 011F8 809CCDF8 8FB10020 */ lw $s1, 0x0020($sp)
|
||||
/* 011FC 809CCDFC 03E00008 */ jr $ra
|
||||
/* 01200 809CCE00 27BD0058 */ addiu $sp, $sp, 0x0058 ## $sp = 00000000
|
||||
/* 01204 809CCE04 00000000 */ nop
|
||||
/* 01208 809CCE08 00000000 */ nop
|
||||
/* 0120C 809CCE0C 00000000 */ nop
|
|
@ -1,70 +0,0 @@
|
|||
glabel EnBubble_Init
|
||||
/* 00C8C 809CC88C 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8
|
||||
/* 00C90 809CC890 AFB00020 */ sw $s0, 0x0020($sp)
|
||||
/* 00C94 809CC894 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00C98 809CC898 AFBF0024 */ sw $ra, 0x0024($sp)
|
||||
/* 00C9C 809CC89C AFA5003C */ sw $a1, 0x003C($sp)
|
||||
/* 00CA0 809CC8A0 3C068003 */ lui $a2, %hi(ActorShadow_DrawFunc_Circle)
|
||||
/* 00CA4 809CC8A4 3C073E4C */ lui $a3, 0x3E4C ## $a3 = 3E4C0000
|
||||
/* 00CA8 809CC8A8 34E7CCCD */ ori $a3, $a3, 0xCCCD ## $a3 = 3E4CCCCD
|
||||
/* 00CAC 809CC8AC 24C6B5EC */ addiu $a2, %lo(ActorShadow_DrawFunc_Circle)
|
||||
/* 00CB0 809CC8B0 3C054180 */ lui $a1, 0x4180 ## $a1 = 41800000
|
||||
/* 00CB4 809CC8B4 0C00AC78 */ jal ActorShape_Init
|
||||
|
||||
/* 00CB8 809CC8B8 248400B4 */ addiu $a0, $a0, 0x00B4 ## $a0 = 000000B4
|
||||
/* 00CBC 809CC8BC 26050150 */ addiu $a1, $s0, 0x0150 ## $a1 = 00000150
|
||||
/* 00CC0 809CC8C0 AFA50028 */ sw $a1, 0x0028($sp)
|
||||
/* 00CC4 809CC8C4 0C016EFE */ jal Collider_InitJntSph
|
||||
/* 00CC8 809CC8C8 8FA4003C */ lw $a0, 0x003C($sp)
|
||||
/* 00CCC 809CC8CC 3C07809D */ lui $a3, %hi(D_809CCE78) ## $a3 = 809D0000
|
||||
/* 00CD0 809CC8D0 260E0170 */ addiu $t6, $s0, 0x0170 ## $t6 = 00000170
|
||||
/* 00CD4 809CC8D4 8FA50028 */ lw $a1, 0x0028($sp)
|
||||
/* 00CD8 809CC8D8 AFAE0010 */ sw $t6, 0x0010($sp)
|
||||
/* 00CDC 809CC8DC 24E7CE78 */ addiu $a3, $a3, %lo(D_809CCE78) ## $a3 = 809CCE78
|
||||
/* 00CE0 809CC8E0 8FA4003C */ lw $a0, 0x003C($sp)
|
||||
/* 00CE4 809CC8E4 0C017014 */ jal Collider_SetJntSph
|
||||
/* 00CE8 809CC8E8 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
|
||||
/* 00CEC 809CC8EC 0C016C80 */ jal DamageTable_Get
|
||||
|
||||
/* 00CF0 809CC8F0 24040009 */ addiu $a0, $zero, 0x0009 ## $a0 = 00000009
|
||||
/* 00CF4 809CC8F4 3C06809D */ lui $a2, %hi(D_809CCE88) ## $a2 = 809D0000
|
||||
/* 00CF8 809CC8F8 24C6CE88 */ addiu $a2, $a2, %lo(D_809CCE88) ## $a2 = 809CCE88
|
||||
/* 00CFC 809CC8FC 26040098 */ addiu $a0, $s0, 0x0098 ## $a0 = 00000098
|
||||
/* 00D00 809CC900 0C0187BF */ jal func_80061EFC
|
||||
/* 00D04 809CC904 00402825 */ or $a1, $v0, $zero ## $a1 = 00000000
|
||||
/* 00D08 809CC908 240F0016 */ addiu $t7, $zero, 0x0016 ## $t7 = 00000016
|
||||
/* 00D0C 809CC90C 0C03F66B */ jal Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 00D10 809CC910 A20F0117 */ sb $t7, 0x0117($s0) ## 00000117
|
||||
/* 00D14 809CC914 0C03F66B */ jal Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 00D18 809CC918 E600022C */ swc1 $f0, 0x022C($s0) ## 0000022C
|
||||
/* 00D1C 809CC91C 0C03F66B */ jal Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 00D20 809CC920 E6000230 */ swc1 $f0, 0x0230($s0) ## 00000230
|
||||
/* 00D24 809CC924 E6000234 */ swc1 $f0, 0x0234($s0) ## 00000234
|
||||
/* 00D28 809CC928 0C27303F */ jal func_809CC0FC
|
||||
/* 00D2C 809CC92C 2604022C */ addiu $a0, $s0, 0x022C ## $a0 = 0000022C
|
||||
/* 00D30 809CC930 3C014040 */ lui $at, 0x4040 ## $at = 40400000
|
||||
/* 00D34 809CC934 44810000 */ mtc1 $at, $f0 ## $f0 = 3.00
|
||||
/* 00D38 809CC938 C604022C */ lwc1 $f4, 0x022C($s0) ## 0000022C
|
||||
/* 00D3C 809CC93C C6080230 */ lwc1 $f8, 0x0230($s0) ## 00000230
|
||||
/* 00D40 809CC940 C6100234 */ lwc1 $f16, 0x0234($s0) ## 00000234
|
||||
/* 00D44 809CC944 46002182 */ mul.s $f6, $f4, $f0
|
||||
/* 00D48 809CC948 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00D4C 809CC94C 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
|
||||
/* 00D50 809CC950 46004282 */ mul.s $f10, $f8, $f0
|
||||
/* 00D54 809CC954 00000000 */ nop
|
||||
/* 00D58 809CC958 46008482 */ mul.s $f18, $f16, $f0
|
||||
/* 00D5C 809CC95C E6060238 */ swc1 $f6, 0x0238($s0) ## 00000238
|
||||
/* 00D60 809CC960 E60A023C */ swc1 $f10, 0x023C($s0) ## 0000023C
|
||||
/* 00D64 809CC964 0C272F00 */ jal func_809CBC00
|
||||
/* 00D68 809CC968 E6120240 */ swc1 $f18, 0x0240($s0) ## 00000240
|
||||
/* 00D6C 809CC96C 3C18809D */ lui $t8, %hi(func_809CC9B4) ## $t8 = 809D0000
|
||||
/* 00D70 809CC970 2718C9B4 */ addiu $t8, $t8, %lo(func_809CC9B4) ## $t8 = 809CC9B4
|
||||
/* 00D74 809CC974 AE18014C */ sw $t8, 0x014C($s0) ## 0000014C
|
||||
/* 00D78 809CC978 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
/* 00D7C 809CC97C 8FB00020 */ lw $s0, 0x0020($sp)
|
||||
/* 00D80 809CC980 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000
|
||||
/* 00D84 809CC984 03E00008 */ jr $ra
|
||||
/* 00D88 809CC988 00000000 */ nop
|
|
@ -1,32 +0,0 @@
|
|||
glabel EnBubble_Update
|
||||
/* 00F58 809CCB58 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
|
||||
/* 00F5C 809CCB5C AFBF0024 */ sw $ra, 0x0024($sp)
|
||||
/* 00F60 809CCB60 AFB00020 */ sw $s0, 0x0020($sp)
|
||||
/* 00F64 809CCB64 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00F68 809CCB68 0C00B5FB */ jal func_8002D7EC
|
||||
/* 00F6C 809CCB6C AFA5002C */ sw $a1, 0x002C($sp)
|
||||
/* 00F70 809CCB70 3C014180 */ lui $at, 0x4180 ## $at = 41800000
|
||||
/* 00F74 809CCB74 44810000 */ mtc1 $at, $f0 ## $f0 = 16.00
|
||||
/* 00F78 809CCB78 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
|
||||
/* 00F7C 809CCB7C 240E0007 */ addiu $t6, $zero, 0x0007 ## $t6 = 00000007
|
||||
/* 00F80 809CCB80 44060000 */ mfc1 $a2, $f0
|
||||
/* 00F84 809CCB84 44070000 */ mfc1 $a3, $f0
|
||||
/* 00F88 809CCB88 AFAE0014 */ sw $t6, 0x0014($sp)
|
||||
/* 00F8C 809CCB8C 8FA4002C */ lw $a0, 0x002C($sp)
|
||||
/* 00F90 809CCB90 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
|
||||
/* 00F94 809CCB94 0C00B92D */ jal func_8002E4B4
|
||||
/* 00F98 809CCB98 E7A40010 */ swc1 $f4, 0x0010($sp)
|
||||
/* 00F9C 809CCB9C 8E19014C */ lw $t9, 0x014C($s0) ## 0000014C
|
||||
/* 00FA0 809CCBA0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00FA4 809CCBA4 8FA5002C */ lw $a1, 0x002C($sp)
|
||||
/* 00FA8 809CCBA8 0320F809 */ jalr $ra, $t9
|
||||
/* 00FAC 809CCBAC 00000000 */ nop
|
||||
/* 00FB0 809CCBB0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00FB4 809CCBB4 0C00B56E */ jal Actor_SetHeight
|
||||
|
||||
/* 00FB8 809CCBB8 8E0500BC */ lw $a1, 0x00BC($s0) ## 000000BC
|
||||
/* 00FBC 809CCBBC 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
/* 00FC0 809CCBC0 8FB00020 */ lw $s0, 0x0020($sp)
|
||||
/* 00FC4 809CCBC4 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
|
||||
/* 00FC8 809CCBC8 03E00008 */ jr $ra
|
||||
/* 00FCC 809CCBCC 00000000 */ nop
|
|
@ -1,57 +0,0 @@
|
|||
.late_rodata
|
||||
glabel D_809CCEEC
|
||||
.float 0.08
|
||||
|
||||
.text
|
||||
glabel func_809CBC00
|
||||
/* 00000 809CBC00 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
|
||||
/* 00004 809CBC04 AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 00008 809CBC08 AFB00018 */ sw $s0, 0x0018($sp)
|
||||
/* 0000C 809CBC0C AFA5002C */ sw $a1, 0x002C($sp)
|
||||
/* 00010 809CBC10 8C8E0004 */ lw $t6, 0x0004($a0) ## 00000004
|
||||
/* 00014 809CBC14 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00018 809CBC18 3C053F80 */ lui $a1, 0x3F80 ## $a1 = 3F800000
|
||||
/* 0001C 809CBC1C 35CF0001 */ ori $t7, $t6, 0x0001 ## $t7 = 00000001
|
||||
/* 00020 809CBC20 0C00B58B */ jal Actor_SetScale
|
||||
|
||||
/* 00024 809CBC24 AC8F0004 */ sw $t7, 0x0004($a0) ## 00000004
|
||||
/* 00028 809CBC28 3C014180 */ lui $at, 0x4180 ## $at = 41800000
|
||||
/* 0002C 809CBC2C 44810000 */ mtc1 $at, $f0 ## $f0 = 16.00
|
||||
/* 00030 809CBC30 C7A2002C */ lwc1 $f2, 0x002C($sp)
|
||||
/* 00034 809CBC34 3C01809D */ lui $at, %hi(D_809CCEEC) ## $at = 809D0000
|
||||
/* 00038 809CBC38 E60000BC */ swc1 $f0, 0x00BC($s0) ## 000000BC
|
||||
/* 0003C 809CBC3C E6000210 */ swc1 $f0, 0x0210($s0) ## 00000210
|
||||
/* 00040 809CBC40 C424CEEC */ lwc1 $f4, %lo(D_809CCEEC)($at)
|
||||
/* 00044 809CBC44 E6020220 */ swc1 $f2, 0x0220($s0) ## 00000220
|
||||
/* 00048 809CBC48 E6020224 */ swc1 $f2, 0x0224($s0) ## 00000224
|
||||
/* 0004C 809CBC4C 0C03F66B */ jal Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 00050 809CBC50 E6040214 */ swc1 $f4, 0x0214($s0) ## 00000214
|
||||
/* 00054 809CBC54 0C03F66B */ jal Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 00058 809CBC58 E7A00024 */ swc1 $f0, 0x0024($sp)
|
||||
/* 0005C 809CBC5C 0C03F66B */ jal Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 00060 809CBC60 E7A00020 */ swc1 $f0, 0x0020($sp)
|
||||
/* 00064 809CBC64 C7AC0024 */ lwc1 $f12, 0x0024($sp)
|
||||
/* 00068 809CBC68 C7AE0020 */ lwc1 $f14, 0x0020($sp)
|
||||
/* 0006C 809CBC6C 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
|
||||
/* 00070 809CBC70 460C6182 */ mul.s $f6, $f12, $f12
|
||||
/* 00074 809CBC74 44818000 */ mtc1 $at, $f16 ## $f16 = 1.00
|
||||
/* 00078 809CBC78 460E7202 */ mul.s $f8, $f14, $f14
|
||||
/* 0007C 809CBC7C E6100218 */ swc1 $f16, 0x0218($s0) ## 00000218
|
||||
/* 00080 809CBC80 E610021C */ swc1 $f16, 0x021C($s0) ## 0000021C
|
||||
/* 00084 809CBC84 46000482 */ mul.s $f18, $f0, $f0
|
||||
/* 00088 809CBC88 46083280 */ add.s $f10, $f6, $f8
|
||||
/* 0008C 809CBC8C 46125080 */ add.s $f2, $f10, $f18
|
||||
/* 00090 809CBC90 46020203 */ div.s $f8, $f0, $f2
|
||||
/* 00094 809CBC94 46026103 */ div.s $f4, $f12, $f2
|
||||
/* 00098 809CBC98 E6080204 */ swc1 $f8, 0x0204($s0) ## 00000204
|
||||
/* 0009C 809CBC9C 46027183 */ div.s $f6, $f14, $f2
|
||||
/* 000A0 809CBCA0 E60401FC */ swc1 $f4, 0x01FC($s0) ## 000001FC
|
||||
/* 000A4 809CBCA4 E6060200 */ swc1 $f6, 0x0200($s0) ## 00000200
|
||||
/* 000A8 809CBCA8 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 000AC 809CBCAC 8FB00018 */ lw $s0, 0x0018($sp)
|
||||
/* 000B0 809CBCB0 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
|
||||
/* 000B4 809CBCB4 03E00008 */ jr $ra
|
||||
/* 000B8 809CBCB8 00000000 */ nop
|
|
@ -1,13 +0,0 @@
|
|||
glabel func_809CBCBC
|
||||
/* 000BC 809CBCBC 8C83016C */ lw $v1, 0x016C($a0) ## 0000016C
|
||||
/* 000C0 809CBCC0 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
|
||||
/* 000C4 809CBCC4 240E0008 */ addiu $t6, $zero, 0x0008 ## $t6 = 00000008
|
||||
/* 000C8 809CBCC8 240F0004 */ addiu $t7, $zero, 0x0004 ## $t7 = 00000004
|
||||
/* 000CC 809CBCCC 24180001 */ addiu $t8, $zero, 0x0001 ## $t8 = 00000001
|
||||
/* 000D0 809CBCD0 AC6E0000 */ sw $t6, 0x0000($v1) ## 00000000
|
||||
/* 000D4 809CBCD4 A0600004 */ sb $zero, 0x0004($v1) ## 00000004
|
||||
/* 000D8 809CBCD8 A06F0005 */ sb $t7, 0x0005($v1) ## 00000005
|
||||
/* 000DC 809CBCDC A0780015 */ sb $t8, 0x0015($v1) ## 00000015
|
||||
/* 000E0 809CBCE0 24020006 */ addiu $v0, $zero, 0x0006 ## $v0 = 00000006
|
||||
/* 000E4 809CBCE4 03E00008 */ jr $ra
|
||||
/* 000E8 809CBCE8 E4840060 */ swc1 $f4, 0x0060($a0) ## 00000060
|
|
@ -1,10 +0,0 @@
|
|||
glabel func_809CBCEC
|
||||
/* 000EC 809CBCEC 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 000F0 809CBCF0 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 000F4 809CBCF4 0C272F00 */ jal func_809CBC00
|
||||
/* 000F8 809CBCF8 3C05BF80 */ lui $a1, 0xBF80 ## $a1 = BF800000
|
||||
/* 000FC 809CBCFC 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00100 809CBD00 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 00104 809CBD04 2402000C */ addiu $v0, $zero, 0x000C ## $v0 = 0000000C
|
||||
/* 00108 809CBD08 03E00008 */ jr $ra
|
||||
/* 0010C 809CBD0C 00000000 */ nop
|
|
@ -1,27 +0,0 @@
|
|||
glabel func_809CBD10
|
||||
/* 00110 809CBD10 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
|
||||
/* 00114 809CBD14 AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 00118 809CBD18 AFA40020 */ sw $a0, 0x0020($sp)
|
||||
/* 0011C 809CBD1C 8C8F016C */ lw $t7, 0x016C($a0) ## 0000016C
|
||||
/* 00120 809CBD20 00A03025 */ or $a2, $a1, $zero ## $a2 = 00000000
|
||||
/* 00124 809CBD24 3C190001 */ lui $t9, 0x0001 ## $t9 = 00010000
|
||||
/* 00128 809CBD28 91E50005 */ lbu $a1, 0x0005($t7) ## 00000005
|
||||
/* 0012C 809CBD2C AFA60024 */ sw $a2, 0x0024($sp)
|
||||
/* 00130 809CBD30 0326C821 */ addu $t9, $t9, $a2
|
||||
/* 00134 809CBD34 8F391D58 */ lw $t9, 0x1D58($t9) ## 00011D58
|
||||
/* 00138 809CBD38 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
|
||||
/* 0013C 809CBD3C 00052823 */ subu $a1, $zero, $a1
|
||||
/* 00140 809CBD40 0320F809 */ jalr $ra, $t9
|
||||
/* 00144 809CBD44 00000000 */ nop
|
||||
/* 00148 809CBD48 3C0140C0 */ lui $at, 0x40C0 ## $at = 40C00000
|
||||
/* 0014C 809CBD4C 44810000 */ mtc1 $at, $f0 ## $f0 = 6.00
|
||||
/* 00150 809CBD50 8FA50020 */ lw $a1, 0x0020($sp)
|
||||
/* 00154 809CBD54 8FA40024 */ lw $a0, 0x0024($sp)
|
||||
/* 00158 809CBD58 44060000 */ mfc1 $a2, $f0
|
||||
/* 0015C 809CBD5C 84A7008A */ lh $a3, 0x008A($a1) ## 0000008A
|
||||
/* 00160 809CBD60 0C00BDE8 */ jal func_8002F7A0
|
||||
/* 00164 809CBD64 E7A00010 */ swc1 $f0, 0x0010($sp)
|
||||
/* 00168 809CBD68 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 0016C 809CBD6C 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
|
||||
/* 00170 809CBD70 03E00008 */ jr $ra
|
||||
/* 00174 809CBD74 00000000 */ nop
|
|
@ -1,172 +0,0 @@
|
|||
.late_rodata
|
||||
glabel D_809CCEF0
|
||||
.float 0.1
|
||||
|
||||
.text
|
||||
glabel func_809CBD78
|
||||
/* 00178 809CBD78 27BDFF60 */ addiu $sp, $sp, 0xFF60 ## $sp = FFFFFF60
|
||||
/* 0017C 809CBD7C 3C0E809D */ lui $t6, %hi(D_809CCE94) ## $t6 = 809D0000
|
||||
/* 00180 809CBD80 AFBF0064 */ sw $ra, 0x0064($sp)
|
||||
/* 00184 809CBD84 AFBE0060 */ sw $s8, 0x0060($sp)
|
||||
/* 00188 809CBD88 AFB7005C */ sw $s7, 0x005C($sp)
|
||||
/* 0018C 809CBD8C AFB60058 */ sw $s6, 0x0058($sp)
|
||||
/* 00190 809CBD90 AFB50054 */ sw $s5, 0x0054($sp)
|
||||
/* 00194 809CBD94 AFB40050 */ sw $s4, 0x0050($sp)
|
||||
/* 00198 809CBD98 AFB3004C */ sw $s3, 0x004C($sp)
|
||||
/* 0019C 809CBD9C AFB20048 */ sw $s2, 0x0048($sp)
|
||||
/* 001A0 809CBDA0 AFB10044 */ sw $s1, 0x0044($sp)
|
||||
/* 001A4 809CBDA4 AFB00040 */ sw $s0, 0x0040($sp)
|
||||
/* 001A8 809CBDA8 F7B60038 */ sdc1 $f22, 0x0038($sp)
|
||||
/* 001AC 809CBDAC F7B40030 */ sdc1 $f20, 0x0030($sp)
|
||||
/* 001B0 809CBDB0 25CECE94 */ addiu $t6, $t6, %lo(D_809CCE94) ## $t6 = 809CCE94
|
||||
/* 001B4 809CBDB4 8DD80000 */ lw $t8, 0x0000($t6) ## 809CCE94
|
||||
/* 001B8 809CBDB8 3C01809D */ lui $at, %hi(D_809CCEF0) ## $at = 809D0000
|
||||
/* 001BC 809CBDBC C434CEF0 */ lwc1 $f20, %lo(D_809CCEF0)($at)
|
||||
/* 001C0 809CBDC0 27BE0090 */ addiu $s8, $sp, 0x0090 ## $s8 = FFFFFFF0
|
||||
/* 001C4 809CBDC4 AFD80000 */ sw $t8, 0x0000($s8) ## FFFFFFF0
|
||||
/* 001C8 809CBDC8 8DCF0004 */ lw $t7, 0x0004($t6) ## 809CCE98
|
||||
/* 001CC 809CBDCC 3C01447A */ lui $at, 0x447A ## $at = 447A0000
|
||||
/* 001D0 809CBDD0 4481B000 */ mtc1 $at, $f22 ## $f22 = 1000.00
|
||||
/* 001D4 809CBDD4 AFCF0004 */ sw $t7, 0x0004($s8) ## FFFFFFF4
|
||||
/* 001D8 809CBDD8 8DD80008 */ lw $t8, 0x0008($t6) ## 809CCE9C
|
||||
/* 001DC 809CBDDC 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
|
||||
/* 001E0 809CBDE0 0080B025 */ or $s6, $a0, $zero ## $s6 = 00000000
|
||||
/* 001E4 809CBDE4 00A0B825 */ or $s7, $a1, $zero ## $s7 = 00000000
|
||||
/* 001E8 809CBDE8 4406A000 */ mfc1 $a2, $f20
|
||||
/* 001EC 809CBDEC 4407B000 */ mfc1 $a3, $f22
|
||||
/* 001F0 809CBDF0 AFD80008 */ sw $t8, 0x0008($s8) ## FFFFFFF8
|
||||
/* 001F4 809CBDF4 3C054080 */ lui $a1, 0x4080 ## $a1 = 40800000
|
||||
/* 001F8 809CBDF8 24840220 */ addiu $a0, $a0, 0x0220 ## $a0 = 00000220
|
||||
/* 001FC 809CBDFC 0C01E0C4 */ jal Math_SmoothStepToF
|
||||
|
||||
/* 00200 809CBE00 E7A40010 */ swc1 $f4, 0x0010($sp)
|
||||
/* 00204 809CBE04 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00
|
||||
/* 00208 809CBE08 4406A000 */ mfc1 $a2, $f20
|
||||
/* 0020C 809CBE0C 4407B000 */ mfc1 $a3, $f22
|
||||
/* 00210 809CBE10 26C40224 */ addiu $a0, $s6, 0x0224 ## $a0 = 00000224
|
||||
/* 00214 809CBE14 3C054080 */ lui $a1, 0x4080 ## $a1 = 40800000
|
||||
/* 00218 809CBE18 0C01E0C4 */ jal Math_SmoothStepToF
|
||||
|
||||
/* 0021C 809CBE1C E7A60010 */ swc1 $f6, 0x0010($sp)
|
||||
/* 00220 809CBE20 44804000 */ mtc1 $zero, $f8 ## $f8 = 0.00
|
||||
/* 00224 809CBE24 4406A000 */ mfc1 $a2, $f20
|
||||
/* 00228 809CBE28 4407B000 */ mfc1 $a3, $f22
|
||||
/* 0022C 809CBE2C 26C40210 */ addiu $a0, $s6, 0x0210 ## $a0 = 00000210
|
||||
/* 00230 809CBE30 3C054258 */ lui $a1, 0x4258 ## $a1 = 42580000
|
||||
/* 00234 809CBE34 0C01E0C4 */ jal Math_SmoothStepToF
|
||||
|
||||
/* 00238 809CBE38 E7A80010 */ swc1 $f8, 0x0010($sp)
|
||||
/* 0023C 809CBE3C 44805000 */ mtc1 $zero, $f10 ## $f10 = 0.00
|
||||
/* 00240 809CBE40 3C053E4C */ lui $a1, 0x3E4C ## $a1 = 3E4C0000
|
||||
/* 00244 809CBE44 4406A000 */ mfc1 $a2, $f20
|
||||
/* 00248 809CBE48 4407B000 */ mfc1 $a3, $f22
|
||||
/* 0024C 809CBE4C 34A5CCCD */ ori $a1, $a1, 0xCCCD ## $a1 = 3E4CCCCD
|
||||
/* 00250 809CBE50 26C40214 */ addiu $a0, $s6, 0x0214 ## $a0 = 00000214
|
||||
/* 00254 809CBE54 0C01E0C4 */ jal Math_SmoothStepToF
|
||||
|
||||
/* 00258 809CBE58 E7AA0010 */ swc1 $f10, 0x0010($sp)
|
||||
/* 0025C 809CBE5C 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
|
||||
/* 00260 809CBE60 44819000 */ mtc1 $at, $f18 ## $f18 = 1.00
|
||||
/* 00264 809CBE64 C6D00224 */ lwc1 $f16, 0x0224($s6) ## 00000224
|
||||
/* 00268 809CBE68 3C014180 */ lui $at, 0x4180 ## $at = 41800000
|
||||
/* 0026C 809CBE6C 44813000 */ mtc1 $at, $f6 ## $f6 = 16.00
|
||||
/* 00270 809CBE70 46128100 */ add.s $f4, $f16, $f18
|
||||
/* 00274 809CBE74 86C2020A */ lh $v0, 0x020A($s6) ## 0000020A
|
||||
/* 00278 809CBE78 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000
|
||||
/* 0027C 809CBE7C 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000
|
||||
/* 00280 809CBE80 46062202 */ mul.s $f8, $f4, $f6
|
||||
/* 00284 809CBE84 24150014 */ addiu $s5, $zero, 0x0014 ## $s5 = 00000014
|
||||
/* 00288 809CBE88 2459FFFF */ addiu $t9, $v0, 0xFFFF ## $t9 = FFFFFFFF
|
||||
/* 0028C 809CBE8C 14400003 */ bne $v0, $zero, .L809CBE9C
|
||||
/* 00290 809CBE90 E6C800BC */ swc1 $f8, 0x00BC($s6) ## 000000BC
|
||||
/* 00294 809CBE94 10000003 */ beq $zero, $zero, .L809CBEA4
|
||||
/* 00298 809CBE98 00001825 */ or $v1, $zero, $zero ## $v1 = 00000000
|
||||
.L809CBE9C:
|
||||
/* 0029C 809CBE9C A6D9020A */ sh $t9, 0x020A($s6) ## 0000020A
|
||||
/* 002A0 809CBEA0 86C3020A */ lh $v1, 0x020A($s6) ## 0000020A
|
||||
.L809CBEA4:
|
||||
/* 002A4 809CBEA4 50600004 */ beql $v1, $zero, .L809CBEB8
|
||||
/* 002A8 809CBEA8 C6CA0024 */ lwc1 $f10, 0x0024($s6) ## 00000024
|
||||
/* 002AC 809CBEAC 1000003B */ beq $zero, $zero, .L809CBF9C
|
||||
/* 002B0 809CBEB0 2402FFFF */ addiu $v0, $zero, 0xFFFF ## $v0 = FFFFFFFF
|
||||
/* 002B4 809CBEB4 C6CA0024 */ lwc1 $f10, 0x0024($s6) ## 00000024
|
||||
.L809CBEB8:
|
||||
/* 002B8 809CBEB8 4481B000 */ mtc1 $at, $f22 ## $f22 = 0.50
|
||||
/* 002BC 809CBEBC 3C0140E0 */ lui $at, 0x40E0 ## $at = 40E00000
|
||||
/* 002C0 809CBEC0 E7AA0078 */ swc1 $f10, 0x0078($sp)
|
||||
/* 002C4 809CBEC4 C6D200BC */ lwc1 $f18, 0x00BC($s6) ## 000000BC
|
||||
/* 002C8 809CBEC8 C6D00028 */ lwc1 $f16, 0x0028($s6) ## 00000028
|
||||
/* 002CC 809CBECC 3C14809D */ lui $s4, %hi(D_809CCEA4) ## $s4 = 809D0000
|
||||
/* 002D0 809CBED0 3C13809D */ lui $s3, %hi(D_809CCEA0) ## $s3 = 809D0000
|
||||
/* 002D4 809CBED4 46128100 */ add.s $f4, $f16, $f18
|
||||
/* 002D8 809CBED8 4481A000 */ mtc1 $at, $f20 ## $f20 = 7.00
|
||||
/* 002DC 809CBEDC 2673CEA0 */ addiu $s3, $s3, %lo(D_809CCEA0) ## $s3 = 809CCEA0
|
||||
/* 002E0 809CBEE0 2694CEA4 */ addiu $s4, $s4, %lo(D_809CCEA4) ## $s4 = 809CCEA4
|
||||
/* 002E4 809CBEE4 E7A4007C */ swc1 $f4, 0x007C($sp)
|
||||
/* 002E8 809CBEE8 C6C6002C */ lwc1 $f6, 0x002C($s6) ## 0000002C
|
||||
/* 002EC 809CBEEC 27B20084 */ addiu $s2, $sp, 0x0084 ## $s2 = FFFFFFE4
|
||||
/* 002F0 809CBEF0 27B10078 */ addiu $s1, $sp, 0x0078 ## $s1 = FFFFFFD8
|
||||
/* 002F4 809CBEF4 E7A60080 */ swc1 $f6, 0x0080($sp)
|
||||
.L809CBEF8:
|
||||
/* 002F8 809CBEF8 0C03F66B */ jal Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 002FC 809CBEFC 00000000 */ nop
|
||||
/* 00300 809CBF00 46160201 */ sub.s $f8, $f0, $f22
|
||||
/* 00304 809CBF04 46144282 */ mul.s $f10, $f8, $f20
|
||||
/* 00308 809CBF08 0C03F66B */ jal Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 0030C 809CBF0C E7AA0084 */ swc1 $f10, 0x0084($sp)
|
||||
/* 00310 809CBF10 46140402 */ mul.s $f16, $f0, $f20
|
||||
/* 00314 809CBF14 0C03F66B */ jal Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 00318 809CBF18 E7B00088 */ swc1 $f16, 0x0088($sp)
|
||||
/* 0031C 809CBF1C 46160481 */ sub.s $f18, $f0, $f22
|
||||
/* 00320 809CBF20 24040064 */ addiu $a0, $zero, 0x0064 ## $a0 = 00000064
|
||||
/* 00324 809CBF24 24050032 */ addiu $a1, $zero, 0x0032 ## $a1 = 00000032
|
||||
/* 00328 809CBF28 46149102 */ mul.s $f4, $f18, $f20
|
||||
/* 0032C 809CBF2C 0C01DF64 */ jal Rand_S16Offset
|
||||
|
||||
/* 00330 809CBF30 E7A4008C */ swc1 $f4, 0x008C($sp)
|
||||
/* 00334 809CBF34 24080019 */ addiu $t0, $zero, 0x0019 ## $t0 = 00000019
|
||||
/* 00338 809CBF38 AFA8001C */ sw $t0, 0x001C($sp)
|
||||
/* 0033C 809CBF3C 02E02025 */ or $a0, $s7, $zero ## $a0 = 00000000
|
||||
/* 00340 809CBF40 02202825 */ or $a1, $s1, $zero ## $a1 = FFFFFFD8
|
||||
/* 00344 809CBF44 02403025 */ or $a2, $s2, $zero ## $a2 = FFFFFFE4
|
||||
/* 00348 809CBF48 03C03825 */ or $a3, $s8, $zero ## $a3 = FFFFFFF0
|
||||
/* 0034C 809CBF4C AFB30010 */ sw $s3, 0x0010($sp)
|
||||
/* 00350 809CBF50 AFB40014 */ sw $s4, 0x0014($sp)
|
||||
/* 00354 809CBF54 AFA20018 */ sw $v0, 0x0018($sp)
|
||||
/* 00358 809CBF58 0C00A5A5 */ jal EffectSsDtBubble_SpawnCustomColor
|
||||
/* 0035C 809CBF5C AFA00020 */ sw $zero, 0x0020($sp)
|
||||
/* 00360 809CBF60 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001
|
||||
/* 00364 809CBF64 1615FFE4 */ bne $s0, $s5, .L809CBEF8
|
||||
/* 00368 809CBF68 00000000 */ nop
|
||||
/* 0036C 809CBF6C 02E02025 */ or $a0, $s7, $zero ## $a0 = 00000000
|
||||
/* 00370 809CBF70 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
|
||||
/* 00374 809CBF74 26C60024 */ addiu $a2, $s6, 0x0024 ## $a2 = 00000024
|
||||
/* 00378 809CBF78 0C007E50 */ jal Item_DropCollectibleRandom
|
||||
|
||||
/* 0037C 809CBF7C 24070050 */ addiu $a3, $zero, 0x0050 ## $a3 = 00000050
|
||||
/* 00380 809CBF80 8EC90004 */ lw $t1, 0x0004($s6) ## 00000004
|
||||
/* 00384 809CBF84 2401FFFE */ addiu $at, $zero, 0xFFFE ## $at = FFFFFFFE
|
||||
/* 00388 809CBF88 2404005A */ addiu $a0, $zero, 0x005A ## $a0 = 0000005A
|
||||
/* 0038C 809CBF8C 01215024 */ and $t2, $t1, $at
|
||||
/* 00390 809CBF90 AECA0004 */ sw $t2, 0x0004($s6) ## 00000004
|
||||
/* 00394 809CBF94 0C01DF64 */ jal Rand_S16Offset
|
||||
|
||||
/* 00398 809CBF98 2405003C */ addiu $a1, $zero, 0x003C ## $a1 = 0000003C
|
||||
.L809CBF9C:
|
||||
/* 0039C 809CBF9C 8FBF0064 */ lw $ra, 0x0064($sp)
|
||||
/* 003A0 809CBFA0 D7B40030 */ ldc1 $f20, 0x0030($sp)
|
||||
/* 003A4 809CBFA4 D7B60038 */ ldc1 $f22, 0x0038($sp)
|
||||
/* 003A8 809CBFA8 8FB00040 */ lw $s0, 0x0040($sp)
|
||||
/* 003AC 809CBFAC 8FB10044 */ lw $s1, 0x0044($sp)
|
||||
/* 003B0 809CBFB0 8FB20048 */ lw $s2, 0x0048($sp)
|
||||
/* 003B4 809CBFB4 8FB3004C */ lw $s3, 0x004C($sp)
|
||||
/* 003B8 809CBFB8 8FB40050 */ lw $s4, 0x0050($sp)
|
||||
/* 003BC 809CBFBC 8FB50054 */ lw $s5, 0x0054($sp)
|
||||
/* 003C0 809CBFC0 8FB60058 */ lw $s6, 0x0058($sp)
|
||||
/* 003C4 809CBFC4 8FB7005C */ lw $s7, 0x005C($sp)
|
||||
/* 003C8 809CBFC8 8FBE0060 */ lw $s8, 0x0060($sp)
|
||||
/* 003CC 809CBFCC 03E00008 */ jr $ra
|
||||
/* 003D0 809CBFD0 27BD00A0 */ addiu $sp, $sp, 0x00A0 ## $sp = 00000000
|
|
@ -1,24 +0,0 @@
|
|||
glabel func_809CBFD4
|
||||
/* 003D4 809CBFD4 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 003D8 809CBFD8 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 003DC 809CBFDC 8482020A */ lh $v0, 0x020A($a0) ## 0000020A
|
||||
/* 003E0 809CBFE0 14400003 */ bne $v0, $zero, .L809CBFF0
|
||||
/* 003E4 809CBFE4 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF
|
||||
/* 003E8 809CBFE8 10000003 */ beq $zero, $zero, .L809CBFF8
|
||||
/* 003EC 809CBFEC 00001825 */ or $v1, $zero, $zero ## $v1 = 00000000
|
||||
.L809CBFF0:
|
||||
/* 003F0 809CBFF0 A48E020A */ sh $t6, 0x020A($a0) ## 0000020A
|
||||
/* 003F4 809CBFF4 8483020A */ lh $v1, 0x020A($a0) ## 0000020A
|
||||
.L809CBFF8:
|
||||
/* 003F8 809CBFF8 10600003 */ beq $v1, $zero, .L809CC008
|
||||
/* 003FC 809CBFFC 00000000 */ nop
|
||||
/* 00400 809CC000 10000003 */ beq $zero, $zero, .L809CC010
|
||||
/* 00404 809CC004 2402FFFF */ addiu $v0, $zero, 0xFFFF ## $v0 = FFFFFFFF
|
||||
.L809CC008:
|
||||
/* 00408 809CC008 0C272F3B */ jal func_809CBCEC
|
||||
/* 0040C 809CC00C 00000000 */ nop
|
||||
.L809CC010:
|
||||
/* 00410 809CC010 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00414 809CC014 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 00418 809CC018 03E00008 */ jr $ra
|
||||
/* 0041C 809CC01C 00000000 */ nop
|
|
@ -1,30 +0,0 @@
|
|||
.late_rodata
|
||||
glabel D_809CCEF4
|
||||
.word 0x3DAAAAAB
|
||||
|
||||
.text
|
||||
glabel func_809CC020
|
||||
/* 00420 809CC020 3C01809D */ lui $at, %hi(D_809CCEF4) ## $at = 809D0000
|
||||
/* 00424 809CC024 C420CEF4 */ lwc1 $f0, %lo(D_809CCEF4)($at)
|
||||
/* 00428 809CC028 C4840220 */ lwc1 $f4, 0x0220($a0) ## 00000220
|
||||
/* 0042C 809CC02C C4880224 */ lwc1 $f8, 0x0224($a0) ## 00000224
|
||||
/* 00430 809CC030 8482020A */ lh $v0, 0x020A($a0) ## 0000020A
|
||||
/* 00434 809CC034 46002180 */ add.s $f6, $f4, $f0
|
||||
/* 00438 809CC038 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF
|
||||
/* 0043C 809CC03C 46004280 */ add.s $f10, $f8, $f0
|
||||
/* 00440 809CC040 E4860220 */ swc1 $f6, 0x0220($a0) ## 00000220
|
||||
/* 00444 809CC044 14400003 */ bne $v0, $zero, .L809CC054
|
||||
/* 00448 809CC048 E48A0224 */ swc1 $f10, 0x0224($a0) ## 00000224
|
||||
/* 0044C 809CC04C 10000003 */ beq $zero, $zero, .L809CC05C
|
||||
/* 00450 809CC050 00001825 */ or $v1, $zero, $zero ## $v1 = 00000000
|
||||
.L809CC054:
|
||||
/* 00454 809CC054 A48E020A */ sh $t6, 0x020A($a0) ## 0000020A
|
||||
/* 00458 809CC058 8483020A */ lh $v1, 0x020A($a0) ## 0000020A
|
||||
.L809CC05C:
|
||||
/* 0045C 809CC05C 10600003 */ beq $v1, $zero, .L809CC06C
|
||||
/* 00460 809CC060 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
|
||||
/* 00464 809CC064 03E00008 */ jr $ra
|
||||
/* 00468 809CC068 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
||||
.L809CC06C:
|
||||
/* 0046C 809CC06C 03E00008 */ jr $ra
|
||||
/* 00470 809CC070 00000000 */ nop
|
|
@ -1,37 +0,0 @@
|
|||
glabel func_809CC074
|
||||
/* 00474 809CC074 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 00478 809CC078 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 0047C 809CC07C 0C032C30 */ jal Math3D_Vec3fReflect
|
||||
/* 00480 809CC080 AFA60020 */ sw $a2, 0x0020($sp)
|
||||
/* 00484 809CC084 8FA60020 */ lw $a2, 0x0020($sp)
|
||||
/* 00488 809CC088 44808000 */ mtc1 $zero, $f16 ## $f16 = 0.00
|
||||
/* 0048C 809CC08C C4C20000 */ lwc1 $f2, 0x0000($a2) ## 00000000
|
||||
/* 00490 809CC090 C4CC0004 */ lwc1 $f12, 0x0004($a2) ## 00000004
|
||||
/* 00494 809CC094 C4CE0008 */ lwc1 $f14, 0x0008($a2) ## 00000008
|
||||
/* 00498 809CC098 46021102 */ mul.s $f4, $f2, $f2
|
||||
/* 0049C 809CC09C 00000000 */ nop
|
||||
/* 004A0 809CC0A0 460C6182 */ mul.s $f6, $f12, $f12
|
||||
/* 004A4 809CC0A4 46062200 */ add.s $f8, $f4, $f6
|
||||
/* 004A8 809CC0A8 460E7282 */ mul.s $f10, $f14, $f14
|
||||
/* 004AC 809CC0AC 460A4000 */ add.s $f0, $f8, $f10
|
||||
/* 004B0 809CC0B0 46000004 */ sqrt.s $f0, $f0
|
||||
/* 004B4 809CC0B4 46100032 */ c.eq.s $f0, $f16
|
||||
/* 004B8 809CC0B8 00000000 */ nop
|
||||
/* 004BC 809CC0BC 45010008 */ bc1t .L809CC0E0
|
||||
/* 004C0 809CC0C0 00000000 */ nop
|
||||
/* 004C4 809CC0C4 46001483 */ div.s $f18, $f2, $f0
|
||||
/* 004C8 809CC0C8 46006103 */ div.s $f4, $f12, $f0
|
||||
/* 004CC 809CC0CC E4D20000 */ swc1 $f18, 0x0000($a2) ## 00000000
|
||||
/* 004D0 809CC0D0 46007183 */ div.s $f6, $f14, $f0
|
||||
/* 004D4 809CC0D4 E4C40004 */ swc1 $f4, 0x0004($a2) ## 00000004
|
||||
/* 004D8 809CC0D8 10000004 */ beq $zero, $zero, .L809CC0EC
|
||||
/* 004DC 809CC0DC E4C60008 */ swc1 $f6, 0x0008($a2) ## 00000008
|
||||
.L809CC0E0:
|
||||
/* 004E0 809CC0E0 E4D00008 */ swc1 $f16, 0x0008($a2) ## 00000008
|
||||
/* 004E4 809CC0E4 E4D00004 */ swc1 $f16, 0x0004($a2) ## 00000004
|
||||
/* 004E8 809CC0E8 E4D00000 */ swc1 $f16, 0x0000($a2) ## 00000000
|
||||
.L809CC0EC:
|
||||
/* 004EC 809CC0EC 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 004F0 809CC0F0 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 004F4 809CC0F4 03E00008 */ jr $ra
|
||||
/* 004F8 809CC0F8 00000000 */ nop
|
|
@ -1,31 +0,0 @@
|
|||
glabel func_809CC0FC
|
||||
/* 004FC 809CC0FC C4820000 */ lwc1 $f2, 0x0000($a0) ## 00000000
|
||||
/* 00500 809CC100 C48C0004 */ lwc1 $f12, 0x0004($a0) ## 00000004
|
||||
/* 00504 809CC104 C48E0008 */ lwc1 $f14, 0x0008($a0) ## 00000008
|
||||
/* 00508 809CC108 46021102 */ mul.s $f4, $f2, $f2
|
||||
/* 0050C 809CC10C 44809000 */ mtc1 $zero, $f18 ## $f18 = 0.00
|
||||
/* 00510 809CC110 460C6182 */ mul.s $f6, $f12, $f12
|
||||
/* 00514 809CC114 46062200 */ add.s $f8, $f4, $f6
|
||||
/* 00518 809CC118 460E7282 */ mul.s $f10, $f14, $f14
|
||||
/* 0051C 809CC11C 460A4100 */ add.s $f4, $f8, $f10
|
||||
/* 00520 809CC120 46002021 */ cvt.d.s $f0, $f4
|
||||
/* 00524 809CC124 46200004 */ sqrt.d $f0, $f0
|
||||
/* 00528 809CC128 46200420 */ cvt.s.d $f16, $f0
|
||||
/* 0052C 809CC12C 46109032 */ c.eq.s $f18, $f16
|
||||
/* 00530 809CC130 00000000 */ nop
|
||||
/* 00534 809CC134 45030009 */ bc1tl .L809CC15C
|
||||
/* 00538 809CC138 E4920008 */ swc1 $f18, 0x0008($a0) ## 00000008
|
||||
/* 0053C 809CC13C 46101183 */ div.s $f6, $f2, $f16
|
||||
/* 00540 809CC140 46106203 */ div.s $f8, $f12, $f16
|
||||
/* 00544 809CC144 E4860000 */ swc1 $f6, 0x0000($a0) ## 00000000
|
||||
/* 00548 809CC148 46107283 */ div.s $f10, $f14, $f16
|
||||
/* 0054C 809CC14C E4880004 */ swc1 $f8, 0x0004($a0) ## 00000004
|
||||
/* 00550 809CC150 03E00008 */ jr $ra
|
||||
/* 00554 809CC154 E48A0008 */ swc1 $f10, 0x0008($a0) ## 00000008
|
||||
.L809CC158:
|
||||
/* 00558 809CC158 E4920008 */ swc1 $f18, 0x0008($a0) ## 00000008
|
||||
.L809CC15C:
|
||||
/* 0055C 809CC15C E4920004 */ swc1 $f18, 0x0004($a0) ## 00000004
|
||||
/* 00560 809CC160 E4920000 */ swc1 $f18, 0x0000($a0) ## 00000000
|
||||
/* 00564 809CC164 03E00008 */ jr $ra
|
||||
/* 00568 809CC168 00000000 */ nop
|
|
@ -1,346 +0,0 @@
|
|||
.late_rodata
|
||||
glabel D_809CCEF8
|
||||
.float 0.1
|
||||
|
||||
glabel D_809CCEFC
|
||||
.word 0x38000100
|
||||
glabel D_809CCF00
|
||||
.word 0x40666667
|
||||
glabel D_809CCF04
|
||||
.word 0x3EF5C28F
|
||||
glabel D_809CCF08
|
||||
.word 0x40666667
|
||||
glabel D_809CCF0C
|
||||
.word 0x3EF5C28F
|
||||
|
||||
.text
|
||||
glabel func_809CC16C
|
||||
/* 0056C 809CC16C 27BDFF68 */ addiu $sp, $sp, 0xFF68 ## $sp = FFFFFF68
|
||||
/* 00570 809CC170 AFBF003C */ sw $ra, 0x003C($sp)
|
||||
/* 00574 809CC174 AFB00038 */ sw $s0, 0x0038($sp)
|
||||
/* 00578 809CC178 F7B40030 */ sdc1 $f20, 0x0030($sp)
|
||||
/* 0057C 809CC17C AFA5009C */ sw $a1, 0x009C($sp)
|
||||
/* 00580 809CC180 8C8E016C */ lw $t6, 0x016C($a0) ## 0000016C
|
||||
/* 00584 809CC184 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00588 809CC188 91CF0056 */ lbu $t7, 0x0056($t6) ## 00000056
|
||||
/* 0058C 809CC18C 31F80002 */ andi $t8, $t7, 0x0002 ## $t8 = 00000000
|
||||
/* 00590 809CC190 1300001B */ beq $t8, $zero, .L809CC200
|
||||
/* 00594 809CC194 00000000 */ nop
|
||||
/* 00598 809CC198 8C820158 */ lw $v0, 0x0158($a0) ## 00000158
|
||||
/* 0059C 809CC19C 24840244 */ addiu $a0, $a0, 0x0244 ## $a0 = 00000244
|
||||
/* 005A0 809CC1A0 8C48005C */ lw $t0, 0x005C($v0) ## 0000005C
|
||||
/* 005A4 809CC1A4 AC880000 */ sw $t0, 0x0000($a0) ## 00000244
|
||||
/* 005A8 809CC1A8 8C590060 */ lw $t9, 0x0060($v0) ## 00000060
|
||||
/* 005AC 809CC1AC AC990004 */ sw $t9, 0x0004($a0) ## 00000248
|
||||
/* 005B0 809CC1B0 8C480064 */ lw $t0, 0x0064($v0) ## 00000064
|
||||
/* 005B4 809CC1B4 0C27303F */ jal func_809CC0FC
|
||||
/* 005B8 809CC1B8 AC880008 */ sw $t0, 0x0008($a0) ## 0000024C
|
||||
/* 005BC 809CC1BC 3C014040 */ lui $at, 0x4040 ## $at = 40400000
|
||||
/* 005C0 809CC1C0 44811000 */ mtc1 $at, $f2 ## $f2 = 3.00
|
||||
/* 005C4 809CC1C4 C6060244 */ lwc1 $f6, 0x0244($s0) ## 00000244
|
||||
/* 005C8 809CC1C8 C6040250 */ lwc1 $f4, 0x0250($s0) ## 00000250
|
||||
/* 005CC 809CC1CC C6120248 */ lwc1 $f18, 0x0248($s0) ## 00000248
|
||||
/* 005D0 809CC1D0 46023202 */ mul.s $f8, $f6, $f2
|
||||
/* 005D4 809CC1D4 C6100254 */ lwc1 $f16, 0x0254($s0) ## 00000254
|
||||
/* 005D8 809CC1D8 46029182 */ mul.s $f6, $f18, $f2
|
||||
/* 005DC 809CC1DC 46082280 */ add.s $f10, $f4, $f8
|
||||
/* 005E0 809CC1E0 C6080258 */ lwc1 $f8, 0x0258($s0) ## 00000258
|
||||
/* 005E4 809CC1E4 46068100 */ add.s $f4, $f16, $f6
|
||||
/* 005E8 809CC1E8 E60A0250 */ swc1 $f10, 0x0250($s0) ## 00000250
|
||||
/* 005EC 809CC1EC C60A024C */ lwc1 $f10, 0x024C($s0) ## 0000024C
|
||||
/* 005F0 809CC1F0 E6040254 */ swc1 $f4, 0x0254($s0) ## 00000254
|
||||
/* 005F4 809CC1F4 46025482 */ mul.s $f18, $f10, $f2
|
||||
/* 005F8 809CC1F8 46124400 */ add.s $f16, $f8, $f18
|
||||
/* 005FC 809CC1FC E6100258 */ swc1 $f16, 0x0258($s0) ## 00000258
|
||||
.L809CC200:
|
||||
/* 00600 809CC200 3C01809D */ lui $at, %hi(D_809CCEF8) ## $at = 809D0000
|
||||
/* 00604 809CC204 C424CEF8 */ lwc1 $f4, %lo(D_809CCEF8)($at)
|
||||
/* 00608 809CC208 C606025C */ lwc1 $f6, 0x025C($s0) ## 0000025C
|
||||
/* 0060C 809CC20C C6000070 */ lwc1 $f0, 0x0070($s0) ## 00000070
|
||||
/* 00610 809CC210 46043281 */ sub.s $f10, $f6, $f4
|
||||
/* 00614 809CC214 E60A025C */ swc1 $f10, 0x025C($s0) ## 0000025C
|
||||
/* 00618 809CC218 C608025C */ lwc1 $f8, 0x025C($s0) ## 0000025C
|
||||
/* 0061C 809CC21C 4600403C */ c.lt.s $f8, $f0
|
||||
/* 00620 809CC220 00000000 */ nop
|
||||
/* 00624 809CC224 45020003 */ bc1fl .L809CC234
|
||||
/* 00628 809CC228 C6120238 */ lwc1 $f18, 0x0238($s0) ## 00000238
|
||||
/* 0062C 809CC22C E600025C */ swc1 $f0, 0x025C($s0) ## 0000025C
|
||||
/* 00630 809CC230 C6120238 */ lwc1 $f18, 0x0238($s0) ## 00000238
|
||||
.L809CC234:
|
||||
/* 00634 809CC234 C6100250 */ lwc1 $f16, 0x0250($s0) ## 00000250
|
||||
/* 00638 809CC238 27A40054 */ addiu $a0, $sp, 0x0054 ## $a0 = FFFFFFBC
|
||||
/* 0063C 809CC23C 46109180 */ add.s $f6, $f18, $f16
|
||||
/* 00640 809CC240 E7A60054 */ swc1 $f6, 0x0054($sp)
|
||||
/* 00644 809CC244 C60A0254 */ lwc1 $f10, 0x0254($s0) ## 00000254
|
||||
/* 00648 809CC248 C604023C */ lwc1 $f4, 0x023C($s0) ## 0000023C
|
||||
/* 0064C 809CC24C C612025C */ lwc1 $f18, 0x025C($s0) ## 0000025C
|
||||
/* 00650 809CC250 460A2200 */ add.s $f8, $f4, $f10
|
||||
/* 00654 809CC254 46124400 */ add.s $f16, $f8, $f18
|
||||
/* 00658 809CC258 E7B00058 */ swc1 $f16, 0x0058($sp)
|
||||
/* 0065C 809CC25C C6040258 */ lwc1 $f4, 0x0258($s0) ## 00000258
|
||||
/* 00660 809CC260 C6060240 */ lwc1 $f6, 0x0240($s0) ## 00000240
|
||||
/* 00664 809CC264 46043280 */ add.s $f10, $f6, $f4
|
||||
/* 00668 809CC268 0C27303F */ jal func_809CC0FC
|
||||
/* 0066C 809CC26C E7AA005C */ swc1 $f10, 0x005C($sp)
|
||||
/* 00670 809CC270 C6080024 */ lwc1 $f8, 0x0024($s0) ## 00000024
|
||||
/* 00674 809CC274 27A50078 */ addiu $a1, $sp, 0x0078 ## $a1 = FFFFFFE0
|
||||
/* 00678 809CC278 27A6006C */ addiu $a2, $sp, 0x006C ## $a2 = FFFFFFD4
|
||||
/* 0067C 809CC27C E7A80078 */ swc1 $f8, 0x0078($sp)
|
||||
/* 00680 809CC280 C61000BC */ lwc1 $f16, 0x00BC($s0) ## 000000BC
|
||||
/* 00684 809CC284 C6120028 */ lwc1 $f18, 0x0028($s0) ## 00000028
|
||||
/* 00688 809CC288 3C0141C0 */ lui $at, 0x41C0 ## $at = 41C00000
|
||||
/* 0068C 809CC28C 44810000 */ mtc1 $at, $f0 ## $f0 = 24.00
|
||||
/* 00690 809CC290 46109180 */ add.s $f6, $f18, $f16
|
||||
/* 00694 809CC294 27AB0094 */ addiu $t3, $sp, 0x0094 ## $t3 = FFFFFFFC
|
||||
/* 00698 809CC298 240C0001 */ addiu $t4, $zero, 0x0001 ## $t4 = 00000001
|
||||
/* 0069C 809CC29C 240D0001 */ addiu $t5, $zero, 0x0001 ## $t5 = 00000001
|
||||
/* 006A0 809CC2A0 E7A6007C */ swc1 $f6, 0x007C($sp)
|
||||
/* 006A4 809CC2A4 C604002C */ lwc1 $f4, 0x002C($s0) ## 0000002C
|
||||
/* 006A8 809CC2A8 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001
|
||||
/* 006AC 809CC2AC 27AF004C */ addiu $t7, $sp, 0x004C ## $t7 = FFFFFFB4
|
||||
/* 006B0 809CC2B0 E7A40080 */ swc1 $f4, 0x0080($sp)
|
||||
/* 006B4 809CC2B4 8CAA0000 */ lw $t2, 0x0000($a1) ## FFFFFFE0
|
||||
/* 006B8 809CC2B8 8CA90004 */ lw $t1, 0x0004($a1) ## FFFFFFE4
|
||||
/* 006BC 809CC2BC 27A70084 */ addiu $a3, $sp, 0x0084 ## $a3 = FFFFFFEC
|
||||
/* 006C0 809CC2C0 ACCA0000 */ sw $t2, 0x0000($a2) ## FFFFFFD4
|
||||
/* 006C4 809CC2C4 8CAA0008 */ lw $t2, 0x0008($a1) ## FFFFFFE8
|
||||
/* 006C8 809CC2C8 ACC90004 */ sw $t1, 0x0004($a2) ## FFFFFFD8
|
||||
/* 006CC 809CC2CC ACCA0008 */ sw $t2, 0x0008($a2) ## FFFFFFDC
|
||||
/* 006D0 809CC2D0 C7A80054 */ lwc1 $f8, 0x0054($sp)
|
||||
/* 006D4 809CC2D4 C7AA006C */ lwc1 $f10, 0x006C($sp)
|
||||
/* 006D8 809CC2D8 C7A40058 */ lwc1 $f4, 0x0058($sp)
|
||||
/* 006DC 809CC2DC 46004482 */ mul.s $f18, $f8, $f0
|
||||
/* 006E0 809CC2E0 C7A60070 */ lwc1 $f6, 0x0070($sp)
|
||||
/* 006E4 809CC2E4 8FA4009C */ lw $a0, 0x009C($sp)
|
||||
/* 006E8 809CC2E8 46002202 */ mul.s $f8, $f4, $f0
|
||||
/* 006EC 809CC2EC AFAF0024 */ sw $t7, 0x0024($sp)
|
||||
/* 006F0 809CC2F0 AFA00020 */ sw $zero, 0x0020($sp)
|
||||
/* 006F4 809CC2F4 AFAE001C */ sw $t6, 0x001C($sp)
|
||||
/* 006F8 809CC2F8 AFAD0018 */ sw $t5, 0x0018($sp)
|
||||
/* 006FC 809CC2FC 46125400 */ add.s $f16, $f10, $f18
|
||||
/* 00700 809CC300 C7B20074 */ lwc1 $f18, 0x0074($sp)
|
||||
/* 00704 809CC304 AFAC0014 */ sw $t4, 0x0014($sp)
|
||||
/* 00708 809CC308 46083280 */ add.s $f10, $f6, $f8
|
||||
/* 0070C 809CC30C E7B0006C */ swc1 $f16, 0x006C($sp)
|
||||
/* 00710 809CC310 C7B0005C */ lwc1 $f16, 0x005C($sp)
|
||||
/* 00714 809CC314 AFAB0010 */ sw $t3, 0x0010($sp)
|
||||
/* 00718 809CC318 E7AA0070 */ swc1 $f10, 0x0070($sp)
|
||||
/* 0071C 809CC31C 46008102 */ mul.s $f4, $f16, $f0
|
||||
/* 00720 809CC320 248407C0 */ addiu $a0, $a0, 0x07C0 ## $a0 = 000007C0
|
||||
/* 00724 809CC324 46049180 */ add.s $f6, $f18, $f4
|
||||
/* 00728 809CC328 0C00F7A1 */ jal func_8003DE84
|
||||
/* 0072C 809CC32C E7A60074 */ swc1 $f6, 0x0074($sp)
|
||||
/* 00730 809CC330 10400052 */ beq $v0, $zero, .L809CC47C
|
||||
/* 00734 809CC334 8FB80094 */ lw $t8, 0x0094($sp)
|
||||
/* 00738 809CC338 87190008 */ lh $t9, 0x0008($t8) ## 00000008
|
||||
/* 0073C 809CC33C 3C01809D */ lui $at, %hi(D_809CCEFC) ## $at = 809D0000
|
||||
/* 00740 809CC340 C420CEFC */ lwc1 $f0, %lo(D_809CCEFC)($at)
|
||||
/* 00744 809CC344 44994000 */ mtc1 $t9, $f8 ## $f8 = 0.00
|
||||
/* 00748 809CC348 27A40054 */ addiu $a0, $sp, 0x0054 ## $a0 = FFFFFFBC
|
||||
/* 0074C 809CC34C 00803025 */ or $a2, $a0, $zero ## $a2 = FFFFFFBC
|
||||
/* 00750 809CC350 468042A0 */ cvt.s.w $f10, $f8
|
||||
/* 00754 809CC354 27A50060 */ addiu $a1, $sp, 0x0060 ## $a1 = FFFFFFC8
|
||||
/* 00758 809CC358 46005402 */ mul.s $f16, $f10, $f0
|
||||
/* 0075C 809CC35C E7B00060 */ swc1 $f16, 0x0060($sp)
|
||||
/* 00760 809CC360 8708000A */ lh $t0, 0x000A($t8) ## 0000000A
|
||||
/* 00764 809CC364 44889000 */ mtc1 $t0, $f18 ## $f18 = 0.00
|
||||
/* 00768 809CC368 00000000 */ nop
|
||||
/* 0076C 809CC36C 46809120 */ cvt.s.w $f4, $f18
|
||||
/* 00770 809CC370 46002182 */ mul.s $f6, $f4, $f0
|
||||
/* 00774 809CC374 E7A60064 */ swc1 $f6, 0x0064($sp)
|
||||
/* 00778 809CC378 8709000C */ lh $t1, 0x000C($t8) ## 0000000C
|
||||
/* 0077C 809CC37C 44894000 */ mtc1 $t1, $f8 ## $f8 = 0.00
|
||||
/* 00780 809CC380 00000000 */ nop
|
||||
/* 00784 809CC384 468042A0 */ cvt.s.w $f10, $f8
|
||||
/* 00788 809CC388 46005402 */ mul.s $f16, $f10, $f0
|
||||
/* 0078C 809CC38C 0C27301D */ jal func_809CC074
|
||||
/* 00790 809CC390 E7B00068 */ swc1 $f16, 0x0068($sp)
|
||||
/* 00794 809CC394 27AA0054 */ addiu $t2, $sp, 0x0054 ## $t2 = FFFFFFBC
|
||||
/* 00798 809CC398 8D4C0000 */ lw $t4, 0x0000($t2) ## FFFFFFBC
|
||||
/* 0079C 809CC39C 92020228 */ lbu $v0, 0x0228($s0) ## 00000228
|
||||
/* 007A0 809CC3A0 AE0C022C */ sw $t4, 0x022C($s0) ## 0000022C
|
||||
/* 007A4 809CC3A4 8D4B0004 */ lw $t3, 0x0004($t2) ## FFFFFFC0
|
||||
/* 007A8 809CC3A8 24420001 */ addiu $v0, $v0, 0x0001 ## $v0 = 00000001
|
||||
/* 007AC 809CC3AC AE0B0230 */ sw $t3, 0x0230($s0) ## 00000230
|
||||
/* 007B0 809CC3B0 8D4C0008 */ lw $t4, 0x0008($t2) ## FFFFFFC4
|
||||
/* 007B4 809CC3B4 A2020228 */ sb $v0, 0x0228($s0) ## 00000228
|
||||
/* 007B8 809CC3B8 AE0C0234 */ sw $t4, 0x0234($s0) ## 00000234
|
||||
/* 007BC 809CC3BC 0C03F66B */ jal Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 007C0 809CC3C0 A3A2004B */ sb $v0, 0x004B($sp)
|
||||
/* 007C4 809CC3C4 3C014120 */ lui $at, 0x4120 ## $at = 41200000
|
||||
/* 007C8 809CC3C8 44819000 */ mtc1 $at, $f18 ## $f18 = 10.00
|
||||
/* 007CC 809CC3CC 93A2004B */ lbu $v0, 0x004B($sp)
|
||||
/* 007D0 809CC3D0 46120102 */ mul.s $f4, $f0, $f18
|
||||
/* 007D4 809CC3D4 4600218D */ trunc.w.s $f6, $f4
|
||||
/* 007D8 809CC3D8 440E3000 */ mfc1 $t6, $f6
|
||||
/* 007DC 809CC3DC 00000000 */ nop
|
||||
/* 007E0 809CC3E0 000E7C00 */ sll $t7, $t6, 16
|
||||
/* 007E4 809CC3E4 000FCC03 */ sra $t9, $t7, 16
|
||||
/* 007E8 809CC3E8 0322082A */ slt $at, $t9, $v0
|
||||
/* 007EC 809CC3EC 50200003 */ beql $at, $zero, .L809CC3FC
|
||||
/* 007F0 809CC3F0 92080228 */ lbu $t0, 0x0228($s0) ## 00000228
|
||||
/* 007F4 809CC3F4 A2000228 */ sb $zero, 0x0228($s0) ## 00000228
|
||||
/* 007F8 809CC3F8 92080228 */ lbu $t0, 0x0228($s0) ## 00000228
|
||||
.L809CC3FC:
|
||||
/* 007FC 809CC3FC 3C014040 */ lui $at, 0x4040 ## $at = 40400000
|
||||
/* 00800 809CC400 55000005 */ bnel $t0, $zero, .L809CC418
|
||||
/* 00804 809CC404 44810000 */ mtc1 $at, $f0 ## $f0 = 3.00
|
||||
/* 00808 809CC408 3C01809D */ lui $at, %hi(D_809CCF00) ## $at = 809D0000
|
||||
/* 0080C 809CC40C 10000003 */ beq $zero, $zero, .L809CC41C
|
||||
/* 00810 809CC410 C420CF00 */ lwc1 $f0, %lo(D_809CCF00)($at)
|
||||
/* 00814 809CC414 44810000 */ mtc1 $at, $f0 ## $f0 = -0.00
|
||||
.L809CC418:
|
||||
/* 00818 809CC418 00000000 */ nop
|
||||
.L809CC41C:
|
||||
/* 0081C 809CC41C C608022C */ lwc1 $f8, 0x022C($s0) ## 0000022C
|
||||
/* 00820 809CC420 C6100230 */ lwc1 $f16, 0x0230($s0) ## 00000230
|
||||
/* 00824 809CC424 C6040234 */ lwc1 $f4, 0x0234($s0) ## 00000234
|
||||
/* 00828 809CC428 46004282 */ mul.s $f10, $f8, $f0
|
||||
/* 0082C 809CC42C 4480A000 */ mtc1 $zero, $f20 ## $f20 = 0.00
|
||||
/* 00830 809CC430 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00834 809CC434 46008482 */ mul.s $f18, $f16, $f0
|
||||
/* 00838 809CC438 24053948 */ addiu $a1, $zero, 0x3948 ## $a1 = 00003948
|
||||
/* 0083C 809CC43C E6140258 */ swc1 $f20, 0x0258($s0) ## 00000258
|
||||
/* 00840 809CC440 46002182 */ mul.s $f6, $f4, $f0
|
||||
/* 00844 809CC444 E60A0238 */ swc1 $f10, 0x0238($s0) ## 00000238
|
||||
/* 00848 809CC448 E6140254 */ swc1 $f20, 0x0254($s0) ## 00000254
|
||||
/* 0084C 809CC44C E6140250 */ swc1 $f20, 0x0250($s0) ## 00000250
|
||||
/* 00850 809CC450 E612023C */ swc1 $f18, 0x023C($s0) ## 0000023C
|
||||
/* 00854 809CC454 E614025C */ swc1 $f20, 0x025C($s0) ## 0000025C
|
||||
/* 00858 809CC458 0C00BE0A */ jal Audio_PlayActorSound2
|
||||
|
||||
/* 0085C 809CC45C E6060240 */ swc1 $f6, 0x0240($s0) ## 00000240
|
||||
/* 00860 809CC460 3C014300 */ lui $at, 0x4300 ## $at = 43000000
|
||||
/* 00864 809CC464 44814000 */ mtc1 $at, $f8 ## $f8 = 128.00
|
||||
/* 00868 809CC468 3C01809D */ lui $at, %hi(D_809CCF04) ## $at = 809D0000
|
||||
/* 0086C 809CC46C E6080210 */ swc1 $f8, 0x0210($s0) ## 00000210
|
||||
/* 00870 809CC470 C42ACF04 */ lwc1 $f10, %lo(D_809CCF04)($at)
|
||||
/* 00874 809CC474 1000004B */ beq $zero, $zero, .L809CC5A4
|
||||
/* 00878 809CC478 E60A0214 */ swc1 $f10, 0x0214($s0) ## 00000214
|
||||
.L809CC47C:
|
||||
/* 0087C 809CC47C 96180088 */ lhu $t8, 0x0088($s0) ## 00000088
|
||||
/* 00880 809CC480 C7B00058 */ lwc1 $f16, 0x0058($sp)
|
||||
/* 00884 809CC484 33090020 */ andi $t1, $t8, 0x0020 ## $t1 = 00000000
|
||||
/* 00888 809CC488 51200047 */ beql $t1, $zero, .L809CC5A8
|
||||
/* 0088C 809CC48C C6120238 */ lwc1 $f18, 0x0238($s0) ## 00000238
|
||||
/* 00890 809CC490 4480A000 */ mtc1 $zero, $f20 ## $f20 = 0.00
|
||||
/* 00894 809CC494 27A40054 */ addiu $a0, $sp, 0x0054 ## $a0 = FFFFFFBC
|
||||
/* 00898 809CC498 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
|
||||
/* 0089C 809CC49C 4614803C */ c.lt.s $f16, $f20
|
||||
/* 008A0 809CC4A0 00803025 */ or $a2, $a0, $zero ## $a2 = FFFFFFBC
|
||||
/* 008A4 809CC4A4 27A50060 */ addiu $a1, $sp, 0x0060 ## $a1 = FFFFFFC8
|
||||
/* 008A8 809CC4A8 4502003F */ bc1fl .L809CC5A8
|
||||
/* 008AC 809CC4AC C6120238 */ lwc1 $f18, 0x0238($s0) ## 00000238
|
||||
/* 008B0 809CC4B0 44819000 */ mtc1 $at, $f18 ## $f18 = 1.00
|
||||
/* 008B4 809CC4B4 E7B40068 */ swc1 $f20, 0x0068($sp)
|
||||
/* 008B8 809CC4B8 E7B40060 */ swc1 $f20, 0x0060($sp)
|
||||
/* 008BC 809CC4BC 0C27301D */ jal func_809CC074
|
||||
/* 008C0 809CC4C0 E7B20064 */ swc1 $f18, 0x0064($sp)
|
||||
/* 008C4 809CC4C4 27AA0054 */ addiu $t2, $sp, 0x0054 ## $t2 = FFFFFFBC
|
||||
/* 008C8 809CC4C8 8D4C0000 */ lw $t4, 0x0000($t2) ## FFFFFFBC
|
||||
/* 008CC 809CC4CC 92020228 */ lbu $v0, 0x0228($s0) ## 00000228
|
||||
/* 008D0 809CC4D0 AE0C022C */ sw $t4, 0x022C($s0) ## 0000022C
|
||||
/* 008D4 809CC4D4 8D4B0004 */ lw $t3, 0x0004($t2) ## FFFFFFC0
|
||||
/* 008D8 809CC4D8 24420001 */ addiu $v0, $v0, 0x0001 ## $v0 = 00000001
|
||||
/* 008DC 809CC4DC AE0B0230 */ sw $t3, 0x0230($s0) ## 00000230
|
||||
/* 008E0 809CC4E0 8D4C0008 */ lw $t4, 0x0008($t2) ## FFFFFFC4
|
||||
/* 008E4 809CC4E4 A2020228 */ sb $v0, 0x0228($s0) ## 00000228
|
||||
/* 008E8 809CC4E8 AE0C0234 */ sw $t4, 0x0234($s0) ## 00000234
|
||||
/* 008EC 809CC4EC 0C03F66B */ jal Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 008F0 809CC4F0 A3A2004B */ sb $v0, 0x004B($sp)
|
||||
/* 008F4 809CC4F4 3C014120 */ lui $at, 0x4120 ## $at = 41200000
|
||||
/* 008F8 809CC4F8 44812000 */ mtc1 $at, $f4 ## $f4 = 10.00
|
||||
/* 008FC 809CC4FC 93A2004B */ lbu $v0, 0x004B($sp)
|
||||
/* 00900 809CC500 46040182 */ mul.s $f6, $f0, $f4
|
||||
/* 00904 809CC504 4600320D */ trunc.w.s $f8, $f6
|
||||
/* 00908 809CC508 440E4000 */ mfc1 $t6, $f8
|
||||
/* 0090C 809CC50C 00000000 */ nop
|
||||
/* 00910 809CC510 000E7C00 */ sll $t7, $t6, 16
|
||||
/* 00914 809CC514 000FCC03 */ sra $t9, $t7, 16
|
||||
/* 00918 809CC518 0322082A */ slt $at, $t9, $v0
|
||||
/* 0091C 809CC51C 50200003 */ beql $at, $zero, .L809CC52C
|
||||
/* 00920 809CC520 92080228 */ lbu $t0, 0x0228($s0) ## 00000228
|
||||
/* 00924 809CC524 A2000228 */ sb $zero, 0x0228($s0) ## 00000228
|
||||
/* 00928 809CC528 92080228 */ lbu $t0, 0x0228($s0) ## 00000228
|
||||
.L809CC52C:
|
||||
/* 0092C 809CC52C 3C014040 */ lui $at, 0x4040 ## $at = 40400000
|
||||
/* 00930 809CC530 55000005 */ bnel $t0, $zero, .L809CC548
|
||||
/* 00934 809CC534 44810000 */ mtc1 $at, $f0 ## $f0 = 3.00
|
||||
/* 00938 809CC538 3C01809D */ lui $at, %hi(D_809CCF08) ## $at = 809D0000
|
||||
/* 0093C 809CC53C 10000003 */ beq $zero, $zero, .L809CC54C
|
||||
/* 00940 809CC540 C420CF08 */ lwc1 $f0, %lo(D_809CCF08)($at)
|
||||
/* 00944 809CC544 44810000 */ mtc1 $at, $f0 ## $f0 = -0.00
|
||||
.L809CC548:
|
||||
/* 00948 809CC548 00000000 */ nop
|
||||
.L809CC54C:
|
||||
/* 0094C 809CC54C C60A022C */ lwc1 $f10, 0x022C($s0) ## 0000022C
|
||||
/* 00950 809CC550 C6120230 */ lwc1 $f18, 0x0230($s0) ## 00000230
|
||||
/* 00954 809CC554 C6060234 */ lwc1 $f6, 0x0234($s0) ## 00000234
|
||||
/* 00958 809CC558 46005402 */ mul.s $f16, $f10, $f0
|
||||
/* 0095C 809CC55C E6140258 */ swc1 $f20, 0x0258($s0) ## 00000258
|
||||
/* 00960 809CC560 E6140254 */ swc1 $f20, 0x0254($s0) ## 00000254
|
||||
/* 00964 809CC564 46009102 */ mul.s $f4, $f18, $f0
|
||||
/* 00968 809CC568 E6140250 */ swc1 $f20, 0x0250($s0) ## 00000250
|
||||
/* 0096C 809CC56C E614025C */ swc1 $f20, 0x025C($s0) ## 0000025C
|
||||
/* 00970 809CC570 46003202 */ mul.s $f8, $f6, $f0
|
||||
/* 00974 809CC574 E6100238 */ swc1 $f16, 0x0238($s0) ## 00000238
|
||||
/* 00978 809CC578 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 0097C 809CC57C 24053948 */ addiu $a1, $zero, 0x3948 ## $a1 = 00003948
|
||||
/* 00980 809CC580 E604023C */ swc1 $f4, 0x023C($s0) ## 0000023C
|
||||
/* 00984 809CC584 0C00BE0A */ jal Audio_PlayActorSound2
|
||||
|
||||
/* 00988 809CC588 E6080240 */ swc1 $f8, 0x0240($s0) ## 00000240
|
||||
/* 0098C 809CC58C 3C014300 */ lui $at, 0x4300 ## $at = 43000000
|
||||
/* 00990 809CC590 44815000 */ mtc1 $at, $f10 ## $f10 = 128.00
|
||||
/* 00994 809CC594 3C01809D */ lui $at, %hi(D_809CCF0C) ## $at = 809D0000
|
||||
/* 00998 809CC598 E60A0210 */ swc1 $f10, 0x0210($s0) ## 00000210
|
||||
/* 0099C 809CC59C C430CF0C */ lwc1 $f16, %lo(D_809CCF0C)($at)
|
||||
/* 009A0 809CC5A0 E6100214 */ swc1 $f16, 0x0214($s0) ## 00000214
|
||||
.L809CC5A4:
|
||||
/* 009A4 809CC5A4 C6120238 */ lwc1 $f18, 0x0238($s0) ## 00000238
|
||||
.L809CC5A8:
|
||||
/* 009A8 809CC5A8 C6040250 */ lwc1 $f4, 0x0250($s0) ## 00000250
|
||||
/* 009AC 809CC5AC C608023C */ lwc1 $f8, 0x023C($s0) ## 0000023C
|
||||
/* 009B0 809CC5B0 C60A0254 */ lwc1 $f10, 0x0254($s0) ## 00000254
|
||||
/* 009B4 809CC5B4 46049180 */ add.s $f6, $f18, $f4
|
||||
/* 009B8 809CC5B8 C612025C */ lwc1 $f18, 0x025C($s0) ## 0000025C
|
||||
/* 009BC 809CC5BC 4480A000 */ mtc1 $zero, $f20 ## $f20 = 0.00
|
||||
/* 009C0 809CC5C0 460A4400 */ add.s $f16, $f8, $f10
|
||||
/* 009C4 809CC5C4 E606005C */ swc1 $f6, 0x005C($s0) ## 0000005C
|
||||
/* 009C8 809CC5C8 C6060240 */ lwc1 $f6, 0x0240($s0) ## 00000240
|
||||
/* 009CC 809CC5CC C6080258 */ lwc1 $f8, 0x0258($s0) ## 00000258
|
||||
/* 009D0 809CC5D0 46128100 */ add.s $f4, $f16, $f18
|
||||
/* 009D4 809CC5D4 3C063E99 */ lui $a2, 0x3E99 ## $a2 = 3E990000
|
||||
/* 009D8 809CC5D8 3C073DCC */ lui $a3, 0x3DCC ## $a3 = 3DCC0000
|
||||
/* 009DC 809CC5DC 46083280 */ add.s $f10, $f6, $f8
|
||||
/* 009E0 809CC5E0 4405A000 */ mfc1 $a1, $f20
|
||||
/* 009E4 809CC5E4 E6040060 */ swc1 $f4, 0x0060($s0) ## 00000060
|
||||
/* 009E8 809CC5E8 34E7CCCD */ ori $a3, $a3, 0xCCCD ## $a3 = 3DCCCCCD
|
||||
/* 009EC 809CC5EC E60A0064 */ swc1 $f10, 0x0064($s0) ## 00000064
|
||||
/* 009F0 809CC5F0 34C6999A */ ori $a2, $a2, 0x999A ## $a2 = 3E99999A
|
||||
/* 009F4 809CC5F4 0C01E107 */ jal Math_ApproachF
|
||||
|
||||
/* 009F8 809CC5F8 26040250 */ addiu $a0, $s0, 0x0250 ## $a0 = 00000250
|
||||
/* 009FC 809CC5FC 4405A000 */ mfc1 $a1, $f20
|
||||
/* 00A00 809CC600 3C063E99 */ lui $a2, 0x3E99 ## $a2 = 3E990000
|
||||
/* 00A04 809CC604 3C073DCC */ lui $a3, 0x3DCC ## $a3 = 3DCC0000
|
||||
/* 00A08 809CC608 34E7CCCD */ ori $a3, $a3, 0xCCCD ## $a3 = 3DCCCCCD
|
||||
/* 00A0C 809CC60C 34C6999A */ ori $a2, $a2, 0x999A ## $a2 = 3E99999A
|
||||
/* 00A10 809CC610 0C01E107 */ jal Math_ApproachF
|
||||
|
||||
/* 00A14 809CC614 26040254 */ addiu $a0, $s0, 0x0254 ## $a0 = 00000254
|
||||
/* 00A18 809CC618 4405A000 */ mfc1 $a1, $f20
|
||||
/* 00A1C 809CC61C 3C063E99 */ lui $a2, 0x3E99 ## $a2 = 3E990000
|
||||
/* 00A20 809CC620 3C073DCC */ lui $a3, 0x3DCC ## $a3 = 3DCC0000
|
||||
/* 00A24 809CC624 34E7CCCD */ ori $a3, $a3, 0xCCCD ## $a3 = 3DCCCCCD
|
||||
/* 00A28 809CC628 34C6999A */ ori $a2, $a2, 0x999A ## $a2 = 3E99999A
|
||||
/* 00A2C 809CC62C 0C01E107 */ jal Math_ApproachF
|
||||
|
||||
/* 00A30 809CC630 26040258 */ addiu $a0, $s0, 0x0258 ## $a0 = 00000258
|
||||
/* 00A34 809CC634 8FBF003C */ lw $ra, 0x003C($sp)
|
||||
/* 00A38 809CC638 D7B40030 */ ldc1 $f20, 0x0030($sp)
|
||||
/* 00A3C 809CC63C 8FB00038 */ lw $s0, 0x0038($sp)
|
||||
/* 00A40 809CC640 03E00008 */ jr $ra
|
||||
/* 00A44 809CC644 27BD0098 */ addiu $sp, $sp, 0x0098 ## $sp = 00000000
|
|
@ -1,49 +0,0 @@
|
|||
.late_rodata
|
||||
glabel D_809CCF10
|
||||
.word 0x3EF5C28F
|
||||
|
||||
.text
|
||||
glabel func_809CC648
|
||||
/* 00A48 809CC648 90820161 */ lbu $v0, 0x0161($a0) ## 00000161
|
||||
/* 00A4C 809CC64C 304E0002 */ andi $t6, $v0, 0x0002 ## $t6 = 00000000
|
||||
/* 00A50 809CC650 000E782B */ sltu $t7, $zero, $t6
|
||||
/* 00A54 809CC654 55E00004 */ bnel $t7, $zero, .L809CC668
|
||||
/* 00A58 809CC658 8C99016C */ lw $t9, 0x016C($a0) ## 0000016C
|
||||
/* 00A5C 809CC65C 03E00008 */ jr $ra
|
||||
/* 00A60 809CC660 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
||||
.L809CC664:
|
||||
/* 00A64 809CC664 8C99016C */ lw $t9, 0x016C($a0) ## 0000016C
|
||||
.L809CC668:
|
||||
/* 00A68 809CC668 3058FFFD */ andi $t8, $v0, 0xFFFD ## $t8 = 00000000
|
||||
/* 00A6C 809CC66C A0980161 */ sb $t8, 0x0161($a0) ## 00000161
|
||||
/* 00A70 809CC670 93280056 */ lbu $t0, 0x0056($t9) ## 00000056
|
||||
/* 00A74 809CC674 240A0008 */ addiu $t2, $zero, 0x0008 ## $t2 = 00000008
|
||||
/* 00A78 809CC678 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
|
||||
/* 00A7C 809CC67C 31090002 */ andi $t1, $t0, 0x0002 ## $t1 = 00000000
|
||||
/* 00A80 809CC680 51200016 */ beql $t1, $zero, .L809CC6DC
|
||||
/* 00A84 809CC684 A48A0208 */ sh $t2, 0x0208($a0) ## 00000208
|
||||
/* 00A88 809CC688 8C830158 */ lw $v1, 0x0158($a0) ## 00000158
|
||||
/* 00A8C 809CC68C 3C014120 */ lui $at, 0x4120 ## $at = 41200000
|
||||
/* 00A90 809CC690 44810000 */ mtc1 $at, $f0 ## $f0 = 10.00
|
||||
/* 00A94 809CC694 C464005C */ lwc1 $f4, 0x005C($v1) ## 0000005C
|
||||
/* 00A98 809CC698 3C014300 */ lui $at, 0x4300 ## $at = 43000000
|
||||
/* 00A9C 809CC69C 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
||||
/* 00AA0 809CC6A0 46002183 */ div.s $f6, $f4, $f0
|
||||
/* 00AA4 809CC6A4 44812000 */ mtc1 $at, $f4 ## $f4 = 128.00
|
||||
/* 00AA8 809CC6A8 3C01809D */ lui $at, %hi(D_809CCF10) ## $at = 809D0000
|
||||
/* 00AAC 809CC6AC E48601F0 */ swc1 $f6, 0x01F0($a0) ## 000001F0
|
||||
/* 00AB0 809CC6B0 C4680060 */ lwc1 $f8, 0x0060($v1) ## 00000060
|
||||
/* 00AB4 809CC6B4 46004283 */ div.s $f10, $f8, $f0
|
||||
/* 00AB8 809CC6B8 E48A01F4 */ swc1 $f10, 0x01F4($a0) ## 000001F4
|
||||
/* 00ABC 809CC6BC C4700064 */ lwc1 $f16, 0x0064($v1) ## 00000064
|
||||
/* 00AC0 809CC6C0 E4840210 */ swc1 $f4, 0x0210($a0) ## 00000210
|
||||
/* 00AC4 809CC6C4 46008483 */ div.s $f18, $f16, $f0
|
||||
/* 00AC8 809CC6C8 E49201F8 */ swc1 $f18, 0x01F8($a0) ## 000001F8
|
||||
/* 00ACC 809CC6CC C426CF10 */ lwc1 $f6, %lo(D_809CCF10)($at)
|
||||
/* 00AD0 809CC6D0 03E00008 */ jr $ra
|
||||
/* 00AD4 809CC6D4 E4860214 */ swc1 $f6, 0x0214($a0) ## 00000214
|
||||
.L809CC6D8:
|
||||
/* 00AD8 809CC6D8 A48A0208 */ sh $t2, 0x0208($a0) ## 00000208
|
||||
.L809CC6DC:
|
||||
/* 00ADC 809CC6DC 03E00008 */ jr $ra
|
||||
/* 00AE0 809CC6E0 00000000 */ nop
|
|
@ -1,43 +0,0 @@
|
|||
glabel func_809CC6E4
|
||||
/* 00AE4 809CC6E4 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 00AE8 809CC6E8 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00AEC 809CC6EC 84820208 */ lh $v0, 0x0208($a0) ## 00000208
|
||||
/* 00AF0 809CC6F0 14400003 */ bne $v0, $zero, .L809CC700
|
||||
/* 00AF4 809CC6F4 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF
|
||||
/* 00AF8 809CC6F8 10000003 */ beq $zero, $zero, .L809CC708
|
||||
/* 00AFC 809CC6FC 00001825 */ or $v1, $zero, $zero ## $v1 = 00000000
|
||||
.L809CC700:
|
||||
/* 00B00 809CC700 A48E0208 */ sh $t6, 0x0208($a0) ## 00000208
|
||||
/* 00B04 809CC704 84830208 */ lh $v1, 0x0208($a0) ## 00000208
|
||||
.L809CC708:
|
||||
/* 00B08 809CC708 14600006 */ bne $v1, $zero, .L809CC724
|
||||
/* 00B0C 809CC70C 00000000 */ nop
|
||||
/* 00B10 809CC710 8C98014C */ lw $t8, 0x014C($a0) ## 0000014C
|
||||
/* 00B14 809CC714 3C0F809D */ lui $t7, %hi(func_809CCA60) ## $t7 = 809D0000
|
||||
/* 00B18 809CC718 25EFCA60 */ addiu $t7, $t7, %lo(func_809CCA60) ## $t7 = 809CCA60
|
||||
/* 00B1C 809CC71C 55F80004 */ bnel $t7, $t8, .L809CC730
|
||||
/* 00B20 809CC720 90820163 */ lbu $v0, 0x0163($a0) ## 00000163
|
||||
.L809CC724:
|
||||
/* 00B24 809CC724 1000000F */ beq $zero, $zero, .L809CC764
|
||||
/* 00B28 809CC728 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
||||
/* 00B2C 809CC72C 90820163 */ lbu $v0, 0x0163($a0) ## 00000163
|
||||
.L809CC730:
|
||||
/* 00B30 809CC730 30590001 */ andi $t9, $v0, 0x0001 ## $t9 = 00000000
|
||||
/* 00B34 809CC734 13200009 */ beq $t9, $zero, .L809CC75C
|
||||
/* 00B38 809CC738 3048FFFE */ andi $t0, $v0, 0xFFFE ## $t0 = 00000000
|
||||
/* 00B3C 809CC73C A0880163 */ sb $t0, 0x0163($a0) ## 00000163
|
||||
/* 00B40 809CC740 0C272F44 */ jal func_809CBD10
|
||||
/* 00B44 809CC744 AFA40018 */ sw $a0, 0x0018($sp)
|
||||
/* 00B48 809CC748 8FA40018 */ lw $a0, 0x0018($sp)
|
||||
/* 00B4C 809CC74C 24090008 */ addiu $t1, $zero, 0x0008 ## $t1 = 00000008
|
||||
/* 00B50 809CC750 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
|
||||
/* 00B54 809CC754 10000003 */ beq $zero, $zero, .L809CC764
|
||||
/* 00B58 809CC758 A4890208 */ sh $t1, 0x0208($a0) ## 00000208
|
||||
.L809CC75C:
|
||||
/* 00B5C 809CC75C 0C273192 */ jal func_809CC648
|
||||
/* 00B60 809CC760 00000000 */ nop
|
||||
.L809CC764:
|
||||
/* 00B64 809CC764 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00B68 809CC768 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 00B6C 809CC76C 03E00008 */ jr $ra
|
||||
/* 00B70 809CC770 00000000 */ nop
|
|
@ -1,71 +0,0 @@
|
|||
glabel func_809CC774
|
||||
/* 00B74 809CC774 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8
|
||||
/* 00B78 809CC778 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00B7C 809CC77C 8C82016C */ lw $v0, 0x016C($a0) ## 0000016C
|
||||
/* 00B80 809CC780 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
|
||||
/* 00B84 809CC784 27A40028 */ addiu $a0, $sp, 0x0028 ## $a0 = FFFFFFF0
|
||||
/* 00B88 809CC788 844E0028 */ lh $t6, 0x0028($v0) ## 00000028
|
||||
/* 00B8C 809CC78C 24420028 */ addiu $v0, $v0, 0x0028 ## $v0 = 00000028
|
||||
/* 00B90 809CC790 27A5001C */ addiu $a1, $sp, 0x001C ## $a1 = FFFFFFE4
|
||||
/* 00B94 809CC794 448E2000 */ mtc1 $t6, $f4 ## $f4 = 0.00
|
||||
/* 00B98 809CC798 00000000 */ nop
|
||||
/* 00B9C 809CC79C 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* 00BA0 809CC7A0 E7A60028 */ swc1 $f6, 0x0028($sp)
|
||||
/* 00BA4 809CC7A4 844F0002 */ lh $t7, 0x0002($v0) ## 0000002A
|
||||
/* 00BA8 809CC7A8 448F4000 */ mtc1 $t7, $f8 ## $f8 = 0.00
|
||||
/* 00BAC 809CC7AC 00000000 */ nop
|
||||
/* 00BB0 809CC7B0 468042A0 */ cvt.s.w $f10, $f8
|
||||
/* 00BB4 809CC7B4 E7AA002C */ swc1 $f10, 0x002C($sp)
|
||||
/* 00BB8 809CC7B8 84580004 */ lh $t8, 0x0004($v0) ## 0000002C
|
||||
/* 00BBC 809CC7BC AFA60038 */ sw $a2, 0x0038($sp)
|
||||
/* 00BC0 809CC7C0 AFA20034 */ sw $v0, 0x0034($sp)
|
||||
/* 00BC4 809CC7C4 44988000 */ mtc1 $t8, $f16 ## $f16 = 0.00
|
||||
/* 00BC8 809CC7C8 00000000 */ nop
|
||||
/* 00BCC 809CC7CC 468084A0 */ cvt.s.w $f18, $f16
|
||||
/* 00BD0 809CC7D0 0C0346BD */ jal Matrix_MultVec3f
|
||||
/* 00BD4 809CC7D4 E7B20030 */ swc1 $f18, 0x0030($sp)
|
||||
/* 00BD8 809CC7D8 C7A4001C */ lwc1 $f4, 0x001C($sp)
|
||||
/* 00BDC 809CC7DC 8FA20034 */ lw $v0, 0x0034($sp)
|
||||
/* 00BE0 809CC7E0 8FA60038 */ lw $a2, 0x0038($sp)
|
||||
/* 00BE4 809CC7E4 4600218D */ trunc.w.s $f6, $f4
|
||||
/* 00BE8 809CC7E8 844D0006 */ lh $t5, 0x0006($v0) ## 00000006
|
||||
/* 00BEC 809CC7EC 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
|
||||
/* 00BF0 809CC7F0 44812000 */ mtc1 $at, $f4 ## $f4 = 1.00
|
||||
/* 00BF4 809CC7F4 44083000 */ mfc1 $t0, $f6
|
||||
/* 00BF8 809CC7F8 00000000 */ nop
|
||||
/* 00BFC 809CC7FC A4480008 */ sh $t0, 0x0008($v0) ## 00000008
|
||||
/* 00C00 809CC800 C7A80020 */ lwc1 $f8, 0x0020($sp)
|
||||
/* 00C04 809CC804 8C480000 */ lw $t0, 0x0000($v0) ## 00000000
|
||||
/* 00C08 809CC808 4600428D */ trunc.w.s $f10, $f8
|
||||
/* 00C0C 809CC80C 440A5000 */ mfc1 $t2, $f10
|
||||
/* 00C10 809CC810 448D5000 */ mtc1 $t5, $f10 ## $f10 = 0.00
|
||||
/* 00C14 809CC814 A44A000A */ sh $t2, 0x000A($v0) ## 0000000A
|
||||
/* 00C18 809CC818 C7B00024 */ lwc1 $f16, 0x0024($sp)
|
||||
/* 00C1C 809CC81C 4600848D */ trunc.w.s $f18, $f16
|
||||
/* 00C20 809CC820 46805420 */ cvt.s.w $f16, $f10
|
||||
/* 00C24 809CC824 440C9000 */ mfc1 $t4, $f18
|
||||
/* 00C28 809CC828 00000000 */ nop
|
||||
/* 00C2C 809CC82C A44C000C */ sh $t4, 0x000C($v0) ## 0000000C
|
||||
/* 00C30 809CC830 C4C60220 */ lwc1 $f6, 0x0220($a2) ## 00000220
|
||||
/* 00C34 809CC834 46062200 */ add.s $f8, $f4, $f6
|
||||
/* 00C38 809CC838 46088482 */ mul.s $f18, $f16, $f8
|
||||
/* 00C3C 809CC83C 4600910D */ trunc.w.s $f4, $f18
|
||||
/* 00C40 809CC840 440F2000 */ mfc1 $t7, $f4
|
||||
/* 00C44 809CC844 00000000 */ nop
|
||||
/* 00C48 809CC848 A44F000E */ sh $t7, 0x000E($v0) ## 0000000E
|
||||
/* 00C4C 809CC84C 8CD8016C */ lw $t8, 0x016C($a2) ## 0000016C
|
||||
/* 00C50 809CC850 AF080068 */ sw $t0, 0x0068($t8) ## 00000068
|
||||
/* 00C54 809CC854 8C590004 */ lw $t9, 0x0004($v0) ## 00000004
|
||||
/* 00C58 809CC858 AF19006C */ sw $t9, 0x006C($t8) ## 0000006C
|
||||
/* 00C5C 809CC85C 8C480008 */ lw $t0, 0x0008($v0) ## 00000008
|
||||
/* 00C60 809CC860 AF080070 */ sw $t0, 0x0070($t8) ## 00000070
|
||||
/* 00C64 809CC864 8C59000C */ lw $t9, 0x000C($v0) ## 0000000C
|
||||
/* 00C68 809CC868 AF190074 */ sw $t9, 0x0074($t8) ## 00000074
|
||||
/* 00C6C 809CC86C 8C480010 */ lw $t0, 0x0010($v0) ## 00000010
|
||||
/* 00C70 809CC870 AF080078 */ sw $t0, 0x0078($t8) ## 00000078
|
||||
/* 00C74 809CC874 8C590014 */ lw $t9, 0x0014($v0) ## 00000014
|
||||
/* 00C78 809CC878 AF19007C */ sw $t9, 0x007C($t8) ## 0000007C
|
||||
/* 00C7C 809CC87C 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00C80 809CC880 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000
|
||||
/* 00C84 809CC884 03E00008 */ jr $ra
|
||||
/* 00C88 809CC888 00000000 */ nop
|
|
@ -1,48 +0,0 @@
|
|||
glabel func_809CC9B4
|
||||
/* 00DB4 809CC9B4 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
|
||||
/* 00DB8 809CC9B8 AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 00DBC 809CC9BC AFB10018 */ sw $s1, 0x0018($sp)
|
||||
/* 00DC0 809CC9C0 AFB00014 */ sw $s0, 0x0014($sp)
|
||||
/* 00DC4 809CC9C4 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00DC8 809CC9C8 0C2731B9 */ jal func_809CC6E4
|
||||
/* 00DCC 809CC9CC 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
|
||||
/* 00DD0 809CC9D0 10400008 */ beq $v0, $zero, .L809CC9F4
|
||||
/* 00DD4 809CC9D4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00DD8 809CC9D8 0C272F2F */ jal func_809CBCBC
|
||||
/* 00DDC 809CC9DC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00DE0 809CC9E0 3C0E809D */ lui $t6, %hi(func_809CCA60) ## $t6 = 809D0000
|
||||
/* 00DE4 809CC9E4 25CECA60 */ addiu $t6, $t6, %lo(func_809CCA60) ## $t6 = 809CCA60
|
||||
/* 00DE8 809CC9E8 A602020A */ sh $v0, 0x020A($s0) ## 0000020A
|
||||
/* 00DEC 809CC9EC 10000017 */ beq $zero, $zero, .L809CCA4C
|
||||
/* 00DF0 809CC9F0 AE0E014C */ sw $t6, 0x014C($s0) ## 0000014C
|
||||
.L809CC9F4:
|
||||
/* 00DF4 809CC9F4 0C27305B */ jal func_809CC16C
|
||||
/* 00DF8 809CC9F8 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
|
||||
/* 00DFC 809CC9FC 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
|
||||
/* 00E00 809CCA00 44813000 */ mtc1 $at, $f6 ## $f6 = 1.00
|
||||
/* 00E04 809CCA04 C6040224 */ lwc1 $f4, 0x0224($s0) ## 00000224
|
||||
/* 00E08 809CCA08 3C014180 */ lui $at, 0x4180 ## $at = 41800000
|
||||
/* 00E0C 809CCA0C 44815000 */ mtc1 $at, $f10 ## $f10 = 16.00
|
||||
/* 00E10 809CCA10 46062200 */ add.s $f8, $f4, $f6
|
||||
/* 00E14 809CCA14 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
||||
/* 00E18 809CCA18 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60
|
||||
/* 00E1C 809CCA1C 02212821 */ addu $a1, $s1, $at
|
||||
/* 00E20 809CCA20 460A4402 */ mul.s $f16, $f8, $f10
|
||||
/* 00E24 809CCA24 26060150 */ addiu $a2, $s0, 0x0150 ## $a2 = 00000150
|
||||
/* 00E28 809CCA28 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 00E2C 809CCA2C E61000BC */ swc1 $f16, 0x00BC($s0) ## 000000BC
|
||||
/* 00E30 809CCA30 AFA60020 */ sw $a2, 0x0020($sp)
|
||||
/* 00E34 809CCA34 0C01767D */ jal CollisionCheck_SetAC
|
||||
## CollisionCheck_setAC
|
||||
/* 00E38 809CCA38 AFA50024 */ sw $a1, 0x0024($sp)
|
||||
/* 00E3C 809CCA3C 8FA50024 */ lw $a1, 0x0024($sp)
|
||||
/* 00E40 809CCA40 8FA60020 */ lw $a2, 0x0020($sp)
|
||||
/* 00E44 809CCA44 0C017713 */ jal CollisionCheck_SetOC
|
||||
## CollisionCheck_setOT
|
||||
/* 00E48 809CCA48 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
.L809CCA4C:
|
||||
/* 00E4C 809CCA4C 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 00E50 809CCA50 8FB00014 */ lw $s0, 0x0014($sp)
|
||||
/* 00E54 809CCA54 8FB10018 */ lw $s1, 0x0018($sp)
|
||||
/* 00E58 809CCA58 03E00008 */ jr $ra
|
||||
/* 00E5C 809CCA5C 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
|
|
@ -1,22 +0,0 @@
|
|||
glabel func_809CCA60
|
||||
/* 00E60 809CCA60 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 00E64 809CCA64 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00E68 809CCA68 AFA40018 */ sw $a0, 0x0018($sp)
|
||||
/* 00E6C 809CCA6C 0C272F5E */ jal func_809CBD78
|
||||
/* 00E70 809CCA70 AFA5001C */ sw $a1, 0x001C($sp)
|
||||
/* 00E74 809CCA74 04400008 */ bltz $v0, .L809CCA98
|
||||
/* 00E78 809CCA78 8FA4001C */ lw $a0, 0x001C($sp)
|
||||
/* 00E7C 809CCA7C 8FA50018 */ lw $a1, 0x0018($sp)
|
||||
/* 00E80 809CCA80 2406003C */ addiu $a2, $zero, 0x003C ## $a2 = 0000003C
|
||||
/* 00E84 809CCA84 24073949 */ addiu $a3, $zero, 0x3949 ## $a3 = 00003949
|
||||
/* 00E88 809CCA88 0C01AEB6 */ jal Audio_PlaySoundAtPosition
|
||||
|
||||
/* 00E8C 809CCA8C 24A50024 */ addiu $a1, $a1, 0x0024 ## $a1 = 00000024
|
||||
/* 00E90 809CCA90 0C00B55C */ jal Actor_Kill
|
||||
|
||||
/* 00E94 809CCA94 8FA40018 */ lw $a0, 0x0018($sp)
|
||||
.L809CCA98:
|
||||
/* 00E98 809CCA98 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00E9C 809CCA9C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 00EA0 809CCAA0 03E00008 */ jr $ra
|
||||
/* 00EA4 809CCAA4 00000000 */ nop
|
|
@ -1,20 +0,0 @@
|
|||
glabel func_809CCAA8
|
||||
/* 00EA8 809CCAA8 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 00EAC 809CCAAC AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00EB0 809CCAB0 AFA5001C */ sw $a1, 0x001C($sp)
|
||||
/* 00EB4 809CCAB4 0C272FF5 */ jal func_809CBFD4
|
||||
/* 00EB8 809CCAB8 AFA40018 */ sw $a0, 0x0018($sp)
|
||||
/* 00EBC 809CCABC 04400008 */ bltz $v0, .L809CCAE0
|
||||
/* 00EC0 809CCAC0 8FA40018 */ lw $a0, 0x0018($sp)
|
||||
/* 00EC4 809CCAC4 3C0E8003 */ lui $t6, %hi(ActorShadow_DrawFunc_Circle)
|
||||
/* 00EC8 809CCAC8 3C0F809D */ lui $t7, %hi(func_809CCAF0) ## $t7 = 809D0000
|
||||
/* 00ECC 809CCACC 25CEB5EC */ addiu $t6, %lo(ActorShadow_DrawFunc_Circle)
|
||||
/* 00ED0 809CCAD0 25EFCAF0 */ addiu $t7, $t7, %lo(func_809CCAF0) ## $t7 = 809CCAF0
|
||||
/* 00ED4 809CCAD4 AC8E00C0 */ sw $t6, 0x00C0($a0) ## 000000C0
|
||||
/* 00ED8 809CCAD8 A482020A */ sh $v0, 0x020A($a0) ## 0000020A
|
||||
/* 00EDC 809CCADC AC8F014C */ sw $t7, 0x014C($a0) ## 0000014C
|
||||
.L809CCAE0:
|
||||
/* 00EE0 809CCAE0 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00EE4 809CCAE4 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 00EE8 809CCAE8 03E00008 */ jr $ra
|
||||
/* 00EEC 809CCAEC 00000000 */ nop
|
|
@ -1,30 +0,0 @@
|
|||
glabel func_809CCAF0
|
||||
/* 00EF0 809CCAF0 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
|
||||
/* 00EF4 809CCAF4 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00EF8 809CCAF8 AFA50024 */ sw $a1, 0x0024($sp)
|
||||
/* 00EFC 809CCAFC 0C273008 */ jal func_809CC020
|
||||
/* 00F00 809CCB00 AFA40020 */ sw $a0, 0x0020($sp)
|
||||
/* 00F04 809CCB04 10400004 */ beq $v0, $zero, .L809CCB18
|
||||
/* 00F08 809CCB08 8FA70020 */ lw $a3, 0x0020($sp)
|
||||
/* 00F0C 809CCB0C 3C0E809D */ lui $t6, %hi(func_809CC9B4) ## $t6 = 809D0000
|
||||
/* 00F10 809CCB10 25CEC9B4 */ addiu $t6, $t6, %lo(func_809CC9B4) ## $t6 = 809CC9B4
|
||||
/* 00F14 809CCB14 ACEE014C */ sw $t6, 0x014C($a3) ## 0000014C
|
||||
.L809CCB18:
|
||||
/* 00F18 809CCB18 8FA40024 */ lw $a0, 0x0024($sp)
|
||||
/* 00F1C 809CCB1C 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
||||
/* 00F20 809CCB20 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60
|
||||
/* 00F24 809CCB24 24E60150 */ addiu $a2, $a3, 0x0150 ## $a2 = 00000150
|
||||
/* 00F28 809CCB28 00812821 */ addu $a1, $a0, $at
|
||||
/* 00F2C 809CCB2C AFA5001C */ sw $a1, 0x001C($sp)
|
||||
/* 00F30 809CCB30 0C01767D */ jal CollisionCheck_SetAC
|
||||
## CollisionCheck_setAC
|
||||
/* 00F34 809CCB34 AFA60018 */ sw $a2, 0x0018($sp)
|
||||
/* 00F38 809CCB38 8FA5001C */ lw $a1, 0x001C($sp)
|
||||
/* 00F3C 809CCB3C 8FA60018 */ lw $a2, 0x0018($sp)
|
||||
/* 00F40 809CCB40 0C017713 */ jal CollisionCheck_SetOC
|
||||
## CollisionCheck_setOT
|
||||
/* 00F44 809CCB44 8FA40024 */ lw $a0, 0x0024($sp)
|
||||
/* 00F48 809CCB48 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00F4C 809CCB4C 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
|
||||
/* 00F50 809CCB50 03E00008 */ jr $ra
|
||||
/* 00F54 809CCB54 00000000 */ nop
|
|
@ -1,31 +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 En_Bubble_InitVars
|
||||
.word 0x002D0500, 0x00000001, 0x00120000, 0x00000260
|
||||
.word EnBubble_Init
|
||||
.word EnBubble_Destroy
|
||||
.word EnBubble_Update
|
||||
.word EnBubble_Draw
|
||||
glabel D_809CCE30
|
||||
.word 0x00000000, 0x00000000, 0x00040000, 0xFFCFD753, 0x00000000, 0x00010100, 0x00000000, 0x00000000, 0x00100064, 0x00000000, 0x00000000, 0x00000000, 0x00002824, 0x00000000, 0x00790000, 0x00000000, 0x00000000, 0x00100064
|
||||
glabel D_809CCE78
|
||||
.word 0x06110939, 0x10000000, 0x00000002
|
||||
.word D_809CCE30
|
||||
glabel D_809CCE88
|
||||
.word 0x01000002, 0x00190019, 0xFF000000
|
||||
glabel D_809CCE94
|
||||
.word 0x00000000, 0xBF000000, 0x00000000
|
||||
glabel D_809CCEA0
|
||||
.word 0xFFFFFFFF
|
||||
glabel D_809CCEA4
|
||||
.word 0x96969600, 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_809CCF20
|
||||
.incbin "baserom/ovl_En_Bubble", 0x1320, 0x00000150
|
3
spec
3
spec
|
@ -2000,8 +2000,7 @@ endseg
|
|||
beginseg
|
||||
name "ovl_En_Bubble"
|
||||
include "build/src/overlays/actors/ovl_En_Bubble/z_en_bubble.o"
|
||||
include "build/data/overlays/actors/z_en_bubble.data.o"
|
||||
include "build/data/overlays/actors/z_en_bubble.reloc.o"
|
||||
include "build/src/overlays/actors/ovl_En_Bubble/ovl_En_Bubble_reloc.o"
|
||||
endseg
|
||||
|
||||
beginseg
|
||||
|
|
|
@ -9,9 +9,12 @@ void EnBubble_Destroy(Actor* thisx, GlobalContext* globalCtx);
|
|||
void EnBubble_Update(Actor* thisx, GlobalContext* globalCtx);
|
||||
void EnBubble_Draw(Actor* thisx, GlobalContext* globalCtx);
|
||||
|
||||
extern UNK_TYPE D_06001000;
|
||||
void EnBubble_Wait(EnBubble* this, GlobalContext* globalCtx);
|
||||
void EnBubble_Pop(EnBubble* this, GlobalContext* globalCtx);
|
||||
void EnBubble_Regrow(EnBubble* this, GlobalContext* globalCtx);
|
||||
|
||||
extern Gfx D_06001000[];
|
||||
|
||||
/*
|
||||
const ActorInit En_Bubble_InitVars = {
|
||||
ACTOR_EN_BUBBLE,
|
||||
ACTORTYPE_ENEMY,
|
||||
|
@ -23,45 +26,393 @@ const ActorInit En_Bubble_InitVars = {
|
|||
(ActorFunc)EnBubble_Update,
|
||||
(ActorFunc)EnBubble_Draw,
|
||||
};
|
||||
*/
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Bubble/func_809CBC00.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Bubble/func_809CBCBC.s")
|
||||
static ColliderJntSphItemInit sJntSphItemsInit[] = {
|
||||
{
|
||||
{ 0x00, { 0x00000000, 0x00, 0x04 }, { 0xFFCFD753, 0x00, 0x00 }, 0x00, 0x01, 0x01 },
|
||||
{ 0x00, { { 0x0000, 0x0000, 0x0000 }, 16 }, 100 },
|
||||
},
|
||||
{
|
||||
{ 0x00, { 0x00000000, 0x00, 0x00 }, { 0x00002824, 0x00, 0x00 }, 0x00, 0x79, 0x00 },
|
||||
{ 0x00, { { 0x0000, 0x0000, 0x0000 }, 16 }, 100 },
|
||||
},
|
||||
};
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Bubble/func_809CBCEC.s")
|
||||
static ColliderJntSphInit sJntSphInit = {
|
||||
{ COLTYPE_UNK6, 0x11, 0x09, 0x39, 0x10, COLSHAPE_JNTSPH },
|
||||
2,
|
||||
sJntSphItemsInit,
|
||||
};
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Bubble/func_809CBD10.s")
|
||||
static CollisionCheckInfoInit2 sColChkInfoInit2 = {
|
||||
0x01, 0x0002, 0x0019, 0x0019, 0xFF,
|
||||
};
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Bubble/func_809CBD78.s")
|
||||
static Vec3f sEffectAccel = { 0.0f, -0.5f, 0.0f };
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Bubble/func_809CBFD4.s")
|
||||
static Color_RGBA8 sEffectPrimColor = { 255, 255, 255, 255 };
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Bubble/func_809CC020.s")
|
||||
static Color_RGBA8 sEffectEnvColor = { 150, 150, 150, 0 };
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Bubble/func_809CC074.s")
|
||||
void EnBubble_SetDimensions(EnBubble* this, f32 dim) {
|
||||
f32 a;
|
||||
f32 b;
|
||||
f32 c;
|
||||
f32 d;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Bubble/func_809CC0FC.s")
|
||||
this->actor.flags |= 1;
|
||||
Actor_SetScale(&this->actor, 1.0f);
|
||||
this->actor.shape.unk_08 = 16.0f;
|
||||
this->graphicRotSpeed = 16.0f;
|
||||
this->graphicEccentricity = 0.08f;
|
||||
this->expansionWidth = dim;
|
||||
this->expansionHeight = dim;
|
||||
a = Rand_ZeroOne();
|
||||
b = Rand_ZeroOne();
|
||||
c = Rand_ZeroOne();
|
||||
this->unk_218 = 1.0f;
|
||||
this->unk_21C = 1.0f;
|
||||
d = (a * a) + (b * b) + (c * c);
|
||||
this->unk_1FC.x = a / d;
|
||||
this->unk_1FC.y = b / d;
|
||||
this->unk_1FC.z = c / d;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Bubble/func_809CC16C.s")
|
||||
u32 func_809CBCBC(EnBubble* this) {
|
||||
ColliderBody* body = &this->colliderSphere.list->body;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Bubble/func_809CC648.s")
|
||||
body->toucher.flags = 0x8;
|
||||
body->toucher.effect = 0;
|
||||
body->toucher.damage = 4;
|
||||
body->toucherFlags = 1;
|
||||
this->actor.velocity.y = 0.0f;
|
||||
return 6;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Bubble/func_809CC6E4.s")
|
||||
// only called in an unused actionFunc
|
||||
u32 func_809CBCEC(EnBubble* this) {
|
||||
EnBubble_SetDimensions(this, -1.0f);
|
||||
return 12;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Bubble/func_809CC774.s")
|
||||
void EnBubble_DamagePlayer(EnBubble* this, GlobalContext* globalCtx) {
|
||||
s32 damage = -this->colliderSphere.list->body.toucher.damage;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Bubble/EnBubble_Init.s")
|
||||
globalCtx->damagePlayer(globalCtx, damage);
|
||||
func_8002F7A0(globalCtx, &this->actor, 6.0f, this->actor.yawTowardsLink, 6.0f);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Bubble/EnBubble_Destroy.s")
|
||||
s32 EnBubble_Explosion(EnBubble* this, GlobalContext* globalCtx) {
|
||||
u32 i;
|
||||
Vec3f effectAccel;
|
||||
Vec3f effectVel;
|
||||
Vec3f effectPos;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Bubble/func_809CC9B4.s")
|
||||
effectAccel = sEffectAccel;
|
||||
Math_SmoothStepToF(&this->expansionWidth, 4.0f, 0.1f, 1000.0f, 0.0f);
|
||||
Math_SmoothStepToF(&this->expansionHeight, 4.0f, 0.1f, 1000.0f, 0.0f);
|
||||
Math_SmoothStepToF(&this->graphicRotSpeed, 54.0f, 0.1f, 1000.0f, 0.0f);
|
||||
Math_SmoothStepToF(&this->graphicEccentricity, 0.2f, 0.1f, 1000.0f, 0.0f);
|
||||
this->actor.shape.unk_08 = ((this->expansionHeight + 1.0f) * 16.0f);
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Bubble/func_809CCA60.s")
|
||||
if (DECR(this->explosionCountdown) != 0) {
|
||||
return -1;
|
||||
}
|
||||
effectPos.x = this->actor.posRot.pos.x;
|
||||
effectPos.y = this->actor.posRot.pos.y + this->actor.shape.unk_08;
|
||||
effectPos.z = this->actor.posRot.pos.z;
|
||||
for (i = 0; i < 20; i++) {
|
||||
effectVel.x = (Rand_ZeroOne() - 0.5f) * 7.0f;
|
||||
effectVel.y = Rand_ZeroOne() * 7.0f;
|
||||
effectVel.z = (Rand_ZeroOne() - 0.5f) * 7.0f;
|
||||
EffectSsDtBubble_SpawnCustomColor(globalCtx, &effectPos, &effectVel, &effectAccel, &sEffectPrimColor,
|
||||
&sEffectEnvColor, Rand_S16Offset(100, 50), 0x19, 0);
|
||||
}
|
||||
Item_DropCollectibleRandom(globalCtx, NULL, &this->actor.posRot.pos, 0x50);
|
||||
this->actor.flags &= ~0x1;
|
||||
return Rand_S16Offset(90, 60);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Bubble/func_809CCAA8.s")
|
||||
// only called in an unused actionFunc
|
||||
u32 func_809CBFD4(EnBubble* this) {
|
||||
if (DECR(this->explosionCountdown) != 0) {
|
||||
return -1;
|
||||
}
|
||||
return func_809CBCEC(this);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Bubble/func_809CCAF0.s")
|
||||
// only called in an unused actionFunc
|
||||
u32 func_809CC020(EnBubble* this) {
|
||||
this->expansionWidth += 0.083333336f;
|
||||
this->expansionHeight += 0.083333336f;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Bubble/EnBubble_Update.s")
|
||||
if (DECR(this->explosionCountdown) != 0) {
|
||||
return 0;
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Bubble/EnBubble_Draw.s")
|
||||
void EnBubble_Vec3fNormalizedRelfect(Vec3f* vec1, Vec3f* vec2, Vec3f* ret) {
|
||||
f32 norm;
|
||||
|
||||
Math3D_Vec3fReflect(vec1, vec2, ret);
|
||||
norm = sqrtf((ret->x * ret->x) + (ret->y * ret->y) + (ret->z * ret->z));
|
||||
if (norm != 0.0f) {
|
||||
ret->x /= norm;
|
||||
ret->y /= norm;
|
||||
ret->z /= norm;
|
||||
} else {
|
||||
ret->x = ret->y = ret->z = 0.0f;
|
||||
}
|
||||
}
|
||||
|
||||
void EnBubble_Vec3fNormalize(Vec3f* vec) {
|
||||
f32 norm;
|
||||
|
||||
norm = sqrt((vec->x * vec->x) + (vec->y * vec->y) + (vec->z * vec->z));
|
||||
if (norm != 0.0f) {
|
||||
vec->x /= norm;
|
||||
vec->y /= norm;
|
||||
vec->z /= norm;
|
||||
} else {
|
||||
vec->x = vec->y = vec->z = 0.0f;
|
||||
}
|
||||
}
|
||||
|
||||
void EnBubble_Fly(EnBubble* this, GlobalContext* globalCtx) {
|
||||
CollisionPoly* sp94;
|
||||
Actor* bumpActor;
|
||||
Vec3f sp84;
|
||||
Vec3f sp78;
|
||||
Vec3f sp6C;
|
||||
Vec3f sp60;
|
||||
Vec3f sp54;
|
||||
f32 bounceSpeed;
|
||||
u32 sp4C;
|
||||
u8 bounceCount;
|
||||
|
||||
if (this->colliderSphere.list[1].body.bumperFlags & 0x2) {
|
||||
bumpActor = this->colliderSphere.base.ac;
|
||||
this->normalizedBumpVelocity = bumpActor->velocity;
|
||||
EnBubble_Vec3fNormalize(&this->normalizedBumpVelocity);
|
||||
this->velocityFromBump.x += (this->normalizedBumpVelocity.x * 3.0f);
|
||||
this->velocityFromBump.y += (this->normalizedBumpVelocity.y * 3.0f);
|
||||
this->velocityFromBump.z += (this->normalizedBumpVelocity.z * 3.0f);
|
||||
}
|
||||
this->sinkSpeed -= 0.1f;
|
||||
if (this->sinkSpeed < this->actor.minVelocityY) {
|
||||
this->sinkSpeed = this->actor.minVelocityY;
|
||||
}
|
||||
sp54.x = this->velocityFromBounce.x + this->velocityFromBump.x;
|
||||
sp54.y = this->velocityFromBounce.y + this->velocityFromBump.y + this->sinkSpeed;
|
||||
sp54.z = this->velocityFromBounce.z + this->velocityFromBump.z;
|
||||
EnBubble_Vec3fNormalize(&sp54);
|
||||
|
||||
sp78.x = this->actor.posRot.pos.x;
|
||||
sp78.y = this->actor.posRot.pos.y + this->actor.shape.unk_08;
|
||||
sp78.z = this->actor.posRot.pos.z;
|
||||
sp6C = sp78;
|
||||
|
||||
sp6C.x += (sp54.x * 24.0f);
|
||||
sp6C.y += (sp54.y * 24.0f);
|
||||
sp6C.z += (sp54.z * 24.0f);
|
||||
if (func_8003DE84(&globalCtx->colCtx, &sp78, &sp6C, &sp84, &sp94, 1, 1, 1, 0, &sp4C) != 0) {
|
||||
sp60.x = sp94->norm.x * 0.00003051851f;
|
||||
sp60.y = sp94->norm.y * 0.00003051851f;
|
||||
sp60.z = sp94->norm.z * 0.00003051851f;
|
||||
EnBubble_Vec3fNormalizedRelfect(&sp54, &sp60, &sp54);
|
||||
this->bounceDirection = sp54;
|
||||
bounceCount = this->bounceCount;
|
||||
this->bounceCount = ++bounceCount;
|
||||
if (bounceCount > (s16)(Rand_ZeroOne() * 10.0f)) {
|
||||
this->bounceCount = 0;
|
||||
}
|
||||
bounceSpeed = (this->bounceCount == 0) ? 3.6000001f : 3.0f;
|
||||
this->velocityFromBump.x = this->velocityFromBump.y = this->velocityFromBump.z = 0.0f;
|
||||
this->velocityFromBounce.x = (this->bounceDirection.x * bounceSpeed);
|
||||
this->velocityFromBounce.y = (this->bounceDirection.y * bounceSpeed);
|
||||
this->velocityFromBounce.z = (this->bounceDirection.z * bounceSpeed);
|
||||
this->sinkSpeed = 0.0f;
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_AWA_BOUND);
|
||||
this->graphicRotSpeed = 128.0f;
|
||||
this->graphicEccentricity = 0.48f;
|
||||
} else if (this->actor.bgCheckFlags & 0x20 && sp54.y < 0.0f) {
|
||||
sp60.x = sp60.z = 0.0f;
|
||||
sp60.y = 1.0f;
|
||||
EnBubble_Vec3fNormalizedRelfect(&sp54, &sp60, &sp54);
|
||||
this->bounceDirection = sp54;
|
||||
bounceCount = this->bounceCount;
|
||||
this->bounceCount = ++bounceCount;
|
||||
if (bounceCount > (s16)(Rand_ZeroOne() * 10.0f)) {
|
||||
this->bounceCount = 0;
|
||||
}
|
||||
bounceSpeed = (this->bounceCount == 0) ? 3.6000001f : 3.0f;
|
||||
this->velocityFromBump.x = this->velocityFromBump.y = this->velocityFromBump.z = 0.0f;
|
||||
this->velocityFromBounce.x = (this->bounceDirection.x * bounceSpeed);
|
||||
this->velocityFromBounce.y = (this->bounceDirection.y * bounceSpeed);
|
||||
this->velocityFromBounce.z = (this->bounceDirection.z * bounceSpeed);
|
||||
this->sinkSpeed = 0.0f;
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_AWA_BOUND);
|
||||
this->graphicRotSpeed = 128.0f;
|
||||
this->graphicEccentricity = 0.48f;
|
||||
}
|
||||
this->actor.velocity.x = this->velocityFromBounce.x + this->velocityFromBump.x;
|
||||
this->actor.velocity.y = this->velocityFromBounce.y + this->velocityFromBump.y + this->sinkSpeed;
|
||||
this->actor.velocity.z = this->velocityFromBounce.z + this->velocityFromBump.z;
|
||||
Math_ApproachF(&this->velocityFromBump.x, 0.0f, 0.3f, 0.1f);
|
||||
Math_ApproachF(&this->velocityFromBump.y, 0.0f, 0.3f, 0.1f);
|
||||
Math_ApproachF(&this->velocityFromBump.z, 0.0f, 0.3f, 0.1f);
|
||||
}
|
||||
|
||||
u32 func_809CC648(EnBubble* this) {
|
||||
if (((this->colliderSphere.base.acFlags & 0x2) != 0) == false) {
|
||||
return false;
|
||||
}
|
||||
this->colliderSphere.base.acFlags &= ~0x2;
|
||||
if (this->colliderSphere.list[1].body.bumperFlags & 0x2) {
|
||||
this->unk_1F0.x = this->colliderSphere.base.ac->velocity.x / 10.0f;
|
||||
this->unk_1F0.y = this->colliderSphere.base.ac->velocity.y / 10.0f;
|
||||
this->unk_1F0.z = this->colliderSphere.base.ac->velocity.z / 10.0f;
|
||||
this->graphicRotSpeed = 128.0f;
|
||||
this->graphicEccentricity = 0.48f;
|
||||
return false;
|
||||
}
|
||||
this->unk_208 = 8;
|
||||
return true;
|
||||
}
|
||||
|
||||
u32 EnBubble_DetectPop(EnBubble* this, GlobalContext* globalCtx) {
|
||||
if (DECR(this->unk_208) != 0 || this->actionFunc == EnBubble_Pop) {
|
||||
return false;
|
||||
}
|
||||
if (this->colliderSphere.base.maskB & 0x1) {
|
||||
this->colliderSphere.base.maskB &= ~0x1;
|
||||
EnBubble_DamagePlayer(this, globalCtx);
|
||||
this->unk_208 = 8;
|
||||
return true;
|
||||
}
|
||||
return func_809CC648(this);
|
||||
}
|
||||
|
||||
void func_809CC774(EnBubble* this) {
|
||||
ColliderJntSphItemDim* dim;
|
||||
Vec3f src;
|
||||
Vec3f dest;
|
||||
|
||||
dim = &this->colliderSphere.list[0].dim;
|
||||
src.x = dim->modelSphere.center.x;
|
||||
src.y = dim->modelSphere.center.y;
|
||||
src.z = dim->modelSphere.center.z;
|
||||
|
||||
Matrix_MultVec3f(&src, &dest);
|
||||
dim->worldSphere.center.x = dest.x;
|
||||
dim->worldSphere.center.y = dest.y;
|
||||
dim->worldSphere.center.z = dest.z;
|
||||
dim->worldSphere.radius = dim->modelSphere.radius * (1.0f + this->expansionWidth);
|
||||
this->colliderSphere.list[1].dim = *dim;
|
||||
}
|
||||
|
||||
void EnBubble_Init(Actor* thisx, GlobalContext* globalCtx) {
|
||||
EnBubble* this = THIS;
|
||||
u32 pad;
|
||||
|
||||
ActorShape_Init(&this->actor.shape, 16.0f, ActorShadow_DrawFunc_Circle, 0.2f);
|
||||
Collider_InitJntSph(globalCtx, &this->colliderSphere);
|
||||
Collider_SetJntSph(globalCtx, &this->colliderSphere, &this->actor, &sJntSphInit, this->colliderSphereItems);
|
||||
func_80061EFC(&this->actor.colChkInfo, DamageTable_Get(9), &sColChkInfoInit2);
|
||||
this->actor.naviEnemyId = 0x16;
|
||||
this->bounceDirection.x = Rand_ZeroOne();
|
||||
this->bounceDirection.y = Rand_ZeroOne();
|
||||
this->bounceDirection.z = Rand_ZeroOne();
|
||||
EnBubble_Vec3fNormalize(&this->bounceDirection);
|
||||
this->velocityFromBounce.x = this->bounceDirection.x * 3.0f;
|
||||
this->velocityFromBounce.y = this->bounceDirection.y * 3.0f;
|
||||
this->velocityFromBounce.z = this->bounceDirection.z * 3.0f;
|
||||
EnBubble_SetDimensions(this, 0.0f);
|
||||
this->actionFunc = EnBubble_Wait;
|
||||
}
|
||||
|
||||
void EnBubble_Destroy(Actor* thisx, GlobalContext* globalCtx) {
|
||||
EnBubble* this = THIS;
|
||||
|
||||
Collider_DestroyJntSph(globalCtx, &this->colliderSphere);
|
||||
}
|
||||
|
||||
void EnBubble_Wait(EnBubble* this, GlobalContext* globalCtx) {
|
||||
if (EnBubble_DetectPop(this, globalCtx)) {
|
||||
this->explosionCountdown = func_809CBCBC(this);
|
||||
this->actionFunc = EnBubble_Pop;
|
||||
} else {
|
||||
EnBubble_Fly(this, globalCtx);
|
||||
this->actor.shape.unk_08 = ((this->expansionHeight + 1.0f) * 16.0f);
|
||||
CollisionCheck_SetAC(globalCtx, &globalCtx->colChkCtx, &this->colliderSphere.base);
|
||||
CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->colliderSphere.base);
|
||||
}
|
||||
}
|
||||
|
||||
void EnBubble_Pop(EnBubble* this, GlobalContext* globalCtx) {
|
||||
if (EnBubble_Explosion(this, globalCtx) >= 0) {
|
||||
Audio_PlaySoundAtPosition(globalCtx, &this->actor.posRot.pos, 60, NA_SE_EN_AWA_BREAK);
|
||||
Actor_Kill(&this->actor);
|
||||
}
|
||||
}
|
||||
|
||||
// unused
|
||||
void EnBubble_Disappear(EnBubble* this, GlobalContext* globalCtx) {
|
||||
s32 temp_v0;
|
||||
|
||||
temp_v0 = func_809CBFD4(this);
|
||||
if (temp_v0 >= 0) {
|
||||
this->actor.shape.shadowDrawFunc = ActorShadow_DrawFunc_Circle;
|
||||
this->explosionCountdown = temp_v0;
|
||||
this->actionFunc = EnBubble_Regrow;
|
||||
}
|
||||
}
|
||||
|
||||
// unused
|
||||
void EnBubble_Regrow(EnBubble* this, GlobalContext* globalCtx) {
|
||||
if (func_809CC020(this) != 0) {
|
||||
this->actionFunc = EnBubble_Wait;
|
||||
}
|
||||
CollisionCheck_SetAC(globalCtx, &globalCtx->colChkCtx, &this->colliderSphere.base);
|
||||
CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->colliderSphere.base);
|
||||
}
|
||||
|
||||
void EnBubble_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||
EnBubble* this = THIS;
|
||||
|
||||
func_8002D7EC(&this->actor);
|
||||
func_8002E4B4(globalCtx, &this->actor, 16.0f, 16.0f, 0.0f, 7);
|
||||
this->actionFunc(this, globalCtx);
|
||||
Actor_SetHeight(&this->actor, this->actor.shape.unk_08);
|
||||
}
|
||||
|
||||
void EnBubble_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
||||
EnBubble* this = THIS;
|
||||
u32 pad;
|
||||
|
||||
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_bubble.c", 1175);
|
||||
|
||||
if (this->actionFunc != EnBubble_Disappear) {
|
||||
func_80093D84(globalCtx->state.gfxCtx);
|
||||
Math_SmoothStepToF(&this->graphicRotSpeed, 16.0f, 0.2f, 1000.0f, 0.0f);
|
||||
Math_SmoothStepToF(&this->graphicEccentricity, 0.08f, 0.2f, 1000.0f, 0.0f);
|
||||
func_800D1FD4(&globalCtx->mf_11DA0);
|
||||
|
||||
Matrix_Scale(this->expansionWidth + 1.0f, this->expansionHeight + 1.0f, 1.0f, MTXMODE_APPLY);
|
||||
Matrix_RotateZ(((f32)globalCtx->state.frames * 0.017453292f) * this->graphicRotSpeed, MTXMODE_APPLY);
|
||||
Matrix_Scale(this->graphicEccentricity + 1.0f, 1.0f, 1.0f, MTXMODE_APPLY);
|
||||
Matrix_RotateZ((-(f32)globalCtx->state.frames * 0.017453292f) * this->graphicRotSpeed, MTXMODE_APPLY);
|
||||
|
||||
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_bubble.c", 1220),
|
||||
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
gSPDisplayList(POLY_XLU_DISP++, D_06001000);
|
||||
}
|
||||
|
||||
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_bubble.c", 1226);
|
||||
|
||||
if (this->actionFunc != EnBubble_Disappear) {
|
||||
this->actor.shape.unk_10 = (f32)((this->expansionWidth + 1.0f) * 0.2f);
|
||||
func_809CC774(this);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -6,11 +6,30 @@
|
|||
|
||||
struct EnBubble;
|
||||
|
||||
typedef void (*EnBubbleActionFunc)(struct EnBubble*, GlobalContext*);
|
||||
|
||||
typedef struct EnBubble {
|
||||
/* 0x0000 */ Actor actor;
|
||||
/* 0x014C */ char unk_14C[0x114];
|
||||
/* 0x014C */ EnBubbleActionFunc actionFunc;
|
||||
/* 0x0150 */ ColliderJntSph colliderSphere;
|
||||
/* 0x0170 */ ColliderJntSphItem colliderSphereItems[2];
|
||||
/* 0x01F0 */ Vec3f unk_1F0; // set but never used
|
||||
/* 0x01FC */ Vec3f unk_1FC; // randomly generated, set but never used
|
||||
/* 0x0208 */ s16 unk_208; // set to 8 when about to pop
|
||||
/* 0x020A */ s16 explosionCountdown;
|
||||
/* 0x020C */ char unk_20C[4]; // unused
|
||||
/* 0x0210 */ f32 graphicRotSpeed;
|
||||
/* 0x0214 */ f32 graphicEccentricity;
|
||||
/* 0x0218 */ f32 unk_218; // set to 1.0f, never used
|
||||
/* 0x021C */ f32 unk_21C; // set to 1.0f, never used
|
||||
/* 0x0220 */ f32 expansionWidth;
|
||||
/* 0x0224 */ f32 expansionHeight;
|
||||
/* 0x0228 */ u8 bounceCount;
|
||||
/* 0x022C */ Vec3f bounceDirection;
|
||||
/* 0x0238 */ Vec3f velocityFromBounce;
|
||||
/* 0x0244 */ Vec3f normalizedBumpVelocity;
|
||||
/* 0x0250 */ Vec3f velocityFromBump;
|
||||
/* 0x025C */ f32 sinkSpeed;
|
||||
} EnBubble; // size = 0x0260
|
||||
|
||||
extern const ActorInit En_Bubble_InitVars;
|
||||
|
||||
#endif
|
||||
|
|
|
@ -1551,6 +1551,9 @@ D_0200F870 = 0x0200F870;
|
|||
D_06002854 = 0x6002854;
|
||||
D_06002740 = 0x6002740;
|
||||
|
||||
// z_en_bubble
|
||||
D_06001000 = 0x06001000;
|
||||
|
||||
// z_bg_ingate
|
||||
D_060011B8 = 0x060011B8;
|
||||
D_06001040 = 0x06001040;
|
||||
|
|
Loading…
Reference in a new issue