1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2024-11-13 04:39:36 +00:00

Bombchu OK (#647)

* all but 1

* done

* asm

* rename collider data

* final changes and format

* matched, ty petrie

* asm

* review
This commit is contained in:
fig02 2021-02-02 20:12:03 -05:00 committed by GitHub
parent 33ce2c977b
commit 6221723aad
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
19 changed files with 444 additions and 1540 deletions

View file

@ -1,21 +0,0 @@
glabel EnBomChu_Destroy
/* 0019C 809C59CC 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 001A0 809C59D0 AFA40018 */ sw $a0, 0x0018($sp)
/* 001A4 809C59D4 8FAE0018 */ lw $t6, 0x0018($sp)
/* 001A8 809C59D8 AFBF0014 */ sw $ra, 0x0014($sp)
/* 001AC 809C59DC AFA5001C */ sw $a1, 0x001C($sp)
/* 001B0 809C59E0 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 001B4 809C59E4 0C009C27 */ jal Effect_Delete
/* 001B8 809C59E8 8DC5017C */ lw $a1, 0x017C($t6) ## 0000017C
/* 001BC 809C59EC 8FAF0018 */ lw $t7, 0x0018($sp)
/* 001C0 809C59F0 8FA4001C */ lw $a0, 0x001C($sp)
/* 001C4 809C59F4 0C009C27 */ jal Effect_Delete
/* 001C8 809C59F8 8DE50180 */ lw $a1, 0x0180($t7) ## 00000180
/* 001CC 809C59FC 8FA50018 */ lw $a1, 0x0018($sp)
/* 001D0 809C5A00 8FA4001C */ lw $a0, 0x001C($sp)
/* 001D4 809C5A04 0C016F32 */ jal Collider_DestroyJntSph
/* 001D8 809C5A08 24A50184 */ addiu $a1, $a1, 0x0184 ## $a1 = 00000184
/* 001DC 809C5A0C 8FBF0014 */ lw $ra, 0x0014($sp)
/* 001E0 809C5A10 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 001E4 809C5A14 03E00008 */ jr $ra
/* 001E8 809C5A18 00000000 */ nop

View file

@ -1,251 +0,0 @@
.rdata
glabel D_809C6DA0
.asciz "../z_en_bom_chu.c"
.balign 4
glabel D_809C6DB4
.asciz "../z_en_bom_chu.c"
.balign 4
glabel D_809C6DC8
.asciz "../z_en_bom_chu.c"
.balign 4
.text
glabel EnBomChu_Draw
/* 01164 809C6994 27BDFFA8 */ addiu $sp, $sp, 0xFFA8 ## $sp = FFFFFFA8
/* 01168 809C6998 AFBF001C */ sw $ra, 0x001C($sp)
/* 0116C 809C699C AFB10018 */ sw $s1, 0x0018($sp)
/* 01170 809C69A0 AFB00014 */ sw $s0, 0x0014($sp)
/* 01174 809C69A4 AFA5005C */ sw $a1, 0x005C($sp)
/* 01178 809C69A8 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000
/* 0117C 809C69AC 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 01180 809C69B0 3C06809C */ lui $a2, %hi(D_809C6DA0) ## $a2 = 809C0000
/* 01184 809C69B4 24C66DA0 */ addiu $a2, $a2, %lo(D_809C6DA0) ## $a2 = 809C6DA0
/* 01188 809C69B8 27A40030 */ addiu $a0, $sp, 0x0030 ## $a0 = FFFFFFD8
/* 0118C 809C69BC 24070399 */ addiu $a3, $zero, 0x0399 ## $a3 = 00000399
/* 01190 809C69C0 0C031AB1 */ jal Graph_OpenDisps
/* 01194 809C69C4 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
/* 01198 809C69C8 8FAF005C */ lw $t7, 0x005C($sp)
/* 0119C 809C69CC 0C024F46 */ jal func_80093D18
/* 011A0 809C69D0 8DE40000 */ lw $a0, 0x0000($t7) ## 00000000
/* 011A4 809C69D4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 011A8 809C69D8 8FA5005C */ lw $a1, 0x005C($sp)
/* 011AC 809C69DC 0C00BAF3 */ jal func_8002EBCC
/* 011B0 809C69E0 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
/* 011B4 809C69E4 86020150 */ lh $v0, 0x0150($s0) ## 00000150
/* 011B8 809C69E8 28410028 */ slti $at, $v0, 0x0028
/* 011BC 809C69EC 14200006 */ bne $at, $zero, .L809C6A08
/* 011C0 809C69F0 24010014 */ addiu $at, $zero, 0x0014 ## $at = 00000014
/* 011C4 809C69F4 0041001A */ div $zero, $v0, $at
/* 011C8 809C69F8 00002010 */ mfhi $a0
/* 011CC 809C69FC 2405000A */ addiu $a1, $zero, 0x000A ## $a1 = 0000000A
/* 011D0 809C6A00 1000000C */ beq $zero, $zero, .L809C6A34
/* 011D4 809C6A04 44854000 */ mtc1 $a1, $f8 ## $f8 = 0.00
.L809C6A08:
/* 011D8 809C6A08 2841000A */ slti $at, $v0, 0x000A
/* 011DC 809C6A0C 14200007 */ bne $at, $zero, .L809C6A2C
/* 011E0 809C6A10 30440001 */ andi $a0, $v0, 0x0001 ## $a0 = 00000000
/* 011E4 809C6A14 2401000A */ addiu $at, $zero, 0x000A ## $at = 0000000A
/* 011E8 809C6A18 0041001A */ div $zero, $v0, $at
/* 011EC 809C6A1C 00002010 */ mfhi $a0
/* 011F0 809C6A20 24050005 */ addiu $a1, $zero, 0x0005 ## $a1 = 00000005
/* 011F4 809C6A24 10000003 */ beq $zero, $zero, .L809C6A34
/* 011F8 809C6A28 44854000 */ mtc1 $a1, $f8 ## $f8 = 0.00
.L809C6A2C:
/* 011FC 809C6A2C 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
/* 01200 809C6A30 44854000 */ mtc1 $a1, $f8 ## $f8 = 0.00
.L809C6A34:
/* 01204 809C6A34 00A4082A */ slt $at, $a1, $a0
/* 01208 809C6A38 10200003 */ beq $at, $zero, .L809C6A48
/* 0120C 809C6A3C 468042A0 */ cvt.s.w $f10, $f8
/* 01210 809C6A40 0005C040 */ sll $t8, $a1, 1
/* 01214 809C6A44 03042023 */ subu $a0, $t8, $a0
.L809C6A48:
/* 01218 809C6A48 44842000 */ mtc1 $a0, $f4 ## $f4 = 0.00
/* 0121C 809C6A4C 3C014110 */ lui $at, 0x4110 ## $at = 41100000
/* 01220 809C6A50 44811000 */ mtc1 $at, $f2 ## $f2 = 9.00
/* 01224 809C6A54 468021A0 */ cvt.s.w $f6, $f4
/* 01228 809C6A58 3C014351 */ lui $at, 0x4351 ## $at = 43510000
/* 0122C 809C6A5C 44818000 */ mtc1 $at, $f16 ## $f16 = 209.00
/* 01230 809C6A60 240A0001 */ addiu $t2, $zero, 0x0001 ## $t2 = 00000001
/* 01234 809C6A64 8E2302C0 */ lw $v1, 0x02C0($s1) ## 000002C0
/* 01238 809C6A68 3C08FB00 */ lui $t0, 0xFB00 ## $t0 = FB000000
/* 0123C 809C6A6C 460A3003 */ div.s $f0, $f6, $f10
/* 01240 809C6A70 24790008 */ addiu $t9, $v1, 0x0008 ## $t9 = 00000008
/* 01244 809C6A74 AE3902C0 */ sw $t9, 0x02C0($s1) ## 000002C0
/* 01248 809C6A78 3C014F00 */ lui $at, 0x4F00 ## $at = 4F000000
/* 0124C 809C6A7C AC680000 */ sw $t0, 0x0000($v1) ## 00000000
/* 01250 809C6A80 46100482 */ mul.s $f18, $f0, $f16
/* 01254 809C6A84 46029100 */ add.s $f4, $f18, $f2
/* 01258 809C6A88 4449F800 */ cfc1 $t1, $31
/* 0125C 809C6A8C 44CAF800 */ ctc1 $t2, $31
/* 01260 809C6A90 00000000 */ nop
/* 01264 809C6A94 46002224 */ cvt.w.s $f8, $f4
/* 01268 809C6A98 444AF800 */ cfc1 $t2, $31
/* 0126C 809C6A9C 00000000 */ nop
/* 01270 809C6AA0 314A0078 */ andi $t2, $t2, 0x0078 ## $t2 = 00000000
/* 01274 809C6AA4 51400013 */ beql $t2, $zero, .L809C6AF4
/* 01278 809C6AA8 440A4000 */ mfc1 $t2, $f8
/* 0127C 809C6AAC 44814000 */ mtc1 $at, $f8 ## $f8 = 2147483648.00
/* 01280 809C6AB0 240A0001 */ addiu $t2, $zero, 0x0001 ## $t2 = 00000001
/* 01284 809C6AB4 46082201 */ sub.s $f8, $f4, $f8
/* 01288 809C6AB8 44CAF800 */ ctc1 $t2, $31
/* 0128C 809C6ABC 00000000 */ nop
/* 01290 809C6AC0 46004224 */ cvt.w.s $f8, $f8
/* 01294 809C6AC4 444AF800 */ cfc1 $t2, $31
/* 01298 809C6AC8 00000000 */ nop
/* 0129C 809C6ACC 314A0078 */ andi $t2, $t2, 0x0078 ## $t2 = 00000000
/* 012A0 809C6AD0 15400005 */ bne $t2, $zero, .L809C6AE8
/* 012A4 809C6AD4 00000000 */ nop
/* 012A8 809C6AD8 440A4000 */ mfc1 $t2, $f8
/* 012AC 809C6ADC 3C018000 */ lui $at, 0x8000 ## $at = 80000000
/* 012B0 809C6AE0 10000007 */ beq $zero, $zero, .L809C6B00
/* 012B4 809C6AE4 01415025 */ or $t2, $t2, $at ## $t2 = 80000000
.L809C6AE8:
/* 012B8 809C6AE8 10000005 */ beq $zero, $zero, .L809C6B00
/* 012BC 809C6AEC 240AFFFF */ addiu $t2, $zero, 0xFFFF ## $t2 = FFFFFFFF
/* 012C0 809C6AF0 440A4000 */ mfc1 $t2, $f8
.L809C6AF4:
/* 012C4 809C6AF4 00000000 */ nop
/* 012C8 809C6AF8 0540FFFB */ bltz $t2, .L809C6AE8
/* 012CC 809C6AFC 00000000 */ nop
.L809C6B00:
/* 012D0 809C6B00 3C014208 */ lui $at, 0x4208 ## $at = 42080000
/* 012D4 809C6B04 44C9F800 */ ctc1 $t1, $31
/* 012D8 809C6B08 44813000 */ mtc1 $at, $f6 ## $f6 = 34.00
/* 012DC 809C6B0C 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001
/* 012E0 809C6B10 3C014F00 */ lui $at, 0x4F00 ## $at = 4F000000
/* 012E4 809C6B14 46060282 */ mul.s $f10, $f0, $f6
/* 012E8 809C6B18 000A6600 */ sll $t4, $t2, 24
/* 012EC 809C6B1C 460A1400 */ add.s $f16, $f2, $f10
/* 012F0 809C6B20 444DF800 */ cfc1 $t5, $31
/* 012F4 809C6B24 44CEF800 */ ctc1 $t6, $31
/* 012F8 809C6B28 00000000 */ nop
/* 012FC 809C6B2C 460084A4 */ cvt.w.s $f18, $f16
/* 01300 809C6B30 444EF800 */ cfc1 $t6, $31
/* 01304 809C6B34 00000000 */ nop
/* 01308 809C6B38 31CE0078 */ andi $t6, $t6, 0x0078 ## $t6 = 00000000
/* 0130C 809C6B3C 51C00013 */ beql $t6, $zero, .L809C6B8C
/* 01310 809C6B40 440E9000 */ mfc1 $t6, $f18
/* 01314 809C6B44 44819000 */ mtc1 $at, $f18 ## $f18 = 2147483648.00
/* 01318 809C6B48 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001
/* 0131C 809C6B4C 46128481 */ sub.s $f18, $f16, $f18
/* 01320 809C6B50 44CEF800 */ ctc1 $t6, $31
/* 01324 809C6B54 00000000 */ nop
/* 01328 809C6B58 460094A4 */ cvt.w.s $f18, $f18
/* 0132C 809C6B5C 444EF800 */ cfc1 $t6, $31
/* 01330 809C6B60 00000000 */ nop
/* 01334 809C6B64 31CE0078 */ andi $t6, $t6, 0x0078 ## $t6 = 00000000
/* 01338 809C6B68 15C00005 */ bne $t6, $zero, .L809C6B80
/* 0133C 809C6B6C 00000000 */ nop
/* 01340 809C6B70 440E9000 */ mfc1 $t6, $f18
/* 01344 809C6B74 3C018000 */ lui $at, 0x8000 ## $at = 80000000
/* 01348 809C6B78 10000007 */ beq $zero, $zero, .L809C6B98
/* 0134C 809C6B7C 01C17025 */ or $t6, $t6, $at ## $t6 = 80000000
.L809C6B80:
/* 01350 809C6B80 10000005 */ beq $zero, $zero, .L809C6B98
/* 01354 809C6B84 240EFFFF */ addiu $t6, $zero, 0xFFFF ## $t6 = FFFFFFFF
/* 01358 809C6B88 440E9000 */ mfc1 $t6, $f18
.L809C6B8C:
/* 0135C 809C6B8C 00000000 */ nop
/* 01360 809C6B90 05C0FFFB */ bltz $t6, .L809C6B80
/* 01364 809C6B94 00000000 */ nop
.L809C6B98:
/* 01368 809C6B98 3C01420C */ lui $at, 0x420C ## $at = 420C0000
/* 0136C 809C6B9C 44812000 */ mtc1 $at, $f4 ## $f4 = 35.00
/* 01370 809C6BA0 3C01C20C */ lui $at, 0xC20C ## $at = C20C0000
/* 01374 809C6BA4 44CDF800 */ ctc1 $t5, $31
/* 01378 809C6BA8 44814000 */ mtc1 $at, $f8 ## $f8 = -35.00
/* 0137C 809C6BAC 24090001 */ addiu $t1, $zero, 0x0001 ## $t1 = 00000001
/* 01380 809C6BB0 31CF00FF */ andi $t7, $t6, 0x00FF ## $t7 = 000000FF
/* 01384 809C6BB4 46080182 */ mul.s $f6, $f0, $f8
/* 01388 809C6BB8 000FC400 */ sll $t8, $t7, 16
/* 0138C 809C6BBC 0198C825 */ or $t9, $t4, $t8 ## $t9 = 00000000
/* 01390 809C6BC0 3C014F00 */ lui $at, 0x4F00 ## $at = 4F000000
/* 01394 809C6BC4 46062280 */ add.s $f10, $f4, $f6
/* 01398 809C6BC8 4448F800 */ cfc1 $t0, $31
/* 0139C 809C6BCC 44C9F800 */ ctc1 $t1, $31
/* 013A0 809C6BD0 00000000 */ nop
/* 013A4 809C6BD4 46005424 */ cvt.w.s $f16, $f10
/* 013A8 809C6BD8 4449F800 */ cfc1 $t1, $31
/* 013AC 809C6BDC 00000000 */ nop
/* 013B0 809C6BE0 31290078 */ andi $t1, $t1, 0x0078 ## $t1 = 00000000
/* 013B4 809C6BE4 51200013 */ beql $t1, $zero, .L809C6C34
/* 013B8 809C6BE8 44098000 */ mfc1 $t1, $f16
/* 013BC 809C6BEC 44818000 */ mtc1 $at, $f16 ## $f16 = 2147483648.00
/* 013C0 809C6BF0 24090001 */ addiu $t1, $zero, 0x0001 ## $t1 = 00000001
/* 013C4 809C6BF4 46105401 */ sub.s $f16, $f10, $f16
/* 013C8 809C6BF8 44C9F800 */ ctc1 $t1, $31
/* 013CC 809C6BFC 00000000 */ nop
/* 013D0 809C6C00 46008424 */ cvt.w.s $f16, $f16
/* 013D4 809C6C04 4449F800 */ cfc1 $t1, $31
/* 013D8 809C6C08 00000000 */ nop
/* 013DC 809C6C0C 31290078 */ andi $t1, $t1, 0x0078 ## $t1 = 00000000
/* 013E0 809C6C10 15200005 */ bne $t1, $zero, .L809C6C28
/* 013E4 809C6C14 00000000 */ nop
/* 013E8 809C6C18 44098000 */ mfc1 $t1, $f16
/* 013EC 809C6C1C 3C018000 */ lui $at, 0x8000 ## $at = 80000000
/* 013F0 809C6C20 10000007 */ beq $zero, $zero, .L809C6C40
/* 013F4 809C6C24 01214825 */ or $t1, $t1, $at ## $t1 = 80000000
.L809C6C28:
/* 013F8 809C6C28 10000005 */ beq $zero, $zero, .L809C6C40
/* 013FC 809C6C2C 2409FFFF */ addiu $t1, $zero, 0xFFFF ## $t1 = FFFFFFFF
/* 01400 809C6C30 44098000 */ mfc1 $t1, $f16
.L809C6C34:
/* 01404 809C6C34 00000000 */ nop
/* 01408 809C6C38 0520FFFB */ bltz $t1, .L809C6C28
/* 0140C 809C6C3C 00000000 */ nop
.L809C6C40:
/* 01410 809C6C40 312A00FF */ andi $t2, $t1, 0x00FF ## $t2 = 000000FF
/* 01414 809C6C44 000A5A00 */ sll $t3, $t2, 8
/* 01418 809C6C48 032B6825 */ or $t5, $t9, $t3 ## $t5 = 00000000
/* 0141C 809C6C4C 35AE00FF */ ori $t6, $t5, 0x00FF ## $t6 = 000000FF
/* 01420 809C6C50 AC6E0004 */ sw $t6, 0x0004($v1) ## 00000004
/* 01424 809C6C54 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000
/* 01428 809C6C58 44C8F800 */ ctc1 $t0, $31
/* 0142C 809C6C5C 44807000 */ mtc1 $zero, $f14 ## $f14 = 0.00
/* 01430 809C6C60 44814000 */ mtc1 $at, $f8 ## $f8 = 100.00
/* 01434 809C6C64 C6120178 */ lwc1 $f18, 0x0178($s0) ## 00000178
/* 01438 809C6C68 44067000 */ mfc1 $a2, $f14
/* 0143C 809C6C6C 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
/* 01440 809C6C70 46089302 */ mul.s $f12, $f18, $f8
/* 01444 809C6C74 0C034261 */ jal Matrix_Translate
/* 01448 809C6C78 00000000 */ nop
/* 0144C 809C6C7C 8E2202C0 */ lw $v0, 0x02C0($s1) ## 000002C0
/* 01450 809C6C80 3C0CDA38 */ lui $t4, 0xDA38 ## $t4 = DA380000
/* 01454 809C6C84 358C0003 */ ori $t4, $t4, 0x0003 ## $t4 = DA380003
/* 01458 809C6C88 244F0008 */ addiu $t7, $v0, 0x0008 ## $t7 = 00000008
/* 0145C 809C6C8C AE2F02C0 */ sw $t7, 0x02C0($s1) ## 000002C0
/* 01460 809C6C90 AC4C0000 */ sw $t4, 0x0000($v0) ## 00000000
/* 01464 809C6C94 8FB8005C */ lw $t8, 0x005C($sp)
/* 01468 809C6C98 3C05809C */ lui $a1, %hi(D_809C6DB4) ## $a1 = 809C0000
/* 0146C 809C6C9C 24A56DB4 */ addiu $a1, $a1, %lo(D_809C6DB4) ## $a1 = 809C6DB4
/* 01470 809C6CA0 240603BC */ addiu $a2, $zero, 0x03BC ## $a2 = 000003BC
/* 01474 809C6CA4 00408025 */ or $s0, $v0, $zero ## $s0 = 00000000
/* 01478 809C6CA8 0C0346A2 */ jal Matrix_NewMtx
/* 0147C 809C6CAC 8F040000 */ lw $a0, 0x0000($t8) ## 00000000
/* 01480 809C6CB0 AE020004 */ sw $v0, 0x0004($s0) ## 00000004
/* 01484 809C6CB4 8E2202C0 */ lw $v0, 0x02C0($s1) ## 000002C0
/* 01488 809C6CB8 3C0A0400 */ lui $t2, %hi(gBombchuDL) ## $t2 = 04000000
/* 0148C 809C6CBC 254A7E10 */ addiu $t2, $t2, %lo(gBombchuDL) ## $t2 = 04007E10
/* 01490 809C6CC0 24480008 */ addiu $t0, $v0, 0x0008 ## $t0 = 00000008
/* 01494 809C6CC4 AE2802C0 */ sw $t0, 0x02C0($s1) ## 000002C0
/* 01498 809C6CC8 3C09DE00 */ lui $t1, 0xDE00 ## $t1 = DE000000
/* 0149C 809C6CCC AC490000 */ sw $t1, 0x0000($v0) ## 00000000
/* 014A0 809C6CD0 AC4A0004 */ sw $t2, 0x0004($v0) ## 00000004
/* 014A4 809C6CD4 8FB9005C */ lw $t9, 0x005C($sp)
/* 014A8 809C6CD8 3C06809C */ lui $a2, %hi(D_809C6DC8) ## $a2 = 809C0000
/* 014AC 809C6CDC 24C66DC8 */ addiu $a2, $a2, %lo(D_809C6DC8) ## $a2 = 809C6DC8
/* 014B0 809C6CE0 27A40030 */ addiu $a0, $sp, 0x0030 ## $a0 = FFFFFFD8
/* 014B4 809C6CE4 240703C1 */ addiu $a3, $zero, 0x03C1 ## $a3 = 000003C1
/* 014B8 809C6CE8 0C031AD5 */ jal Graph_CloseDisps
/* 014BC 809C6CEC 8F250000 */ lw $a1, 0x0000($t9) ## 00000000
/* 014C0 809C6CF0 8FBF001C */ lw $ra, 0x001C($sp)
/* 014C4 809C6CF4 8FB00014 */ lw $s0, 0x0014($sp)
/* 014C8 809C6CF8 8FB10018 */ lw $s1, 0x0018($sp)
/* 014CC 809C6CFC 03E00008 */ jr $ra
/* 014D0 809C6D00 27BD0058 */ addiu $sp, $sp, 0x0058 ## $sp = 00000000
/* 014D4 809C6D04 00000000 */ nop
/* 014D8 809C6D08 00000000 */ nop
/* 014DC 809C6D0C 00000000 */ nop

View file

@ -1,107 +0,0 @@
glabel EnBomChu_Init
/* 00000 809C5830 27BDFE28 */ addiu $sp, $sp, 0xFE28 ## $sp = FFFFFE28
/* 00004 809C5834 AFA501DC */ sw $a1, 0x01DC($sp)
/* 00008 809C5838 AFBF0024 */ sw $ra, 0x0024($sp)
/* 0000C 809C583C AFB00020 */ sw $s0, 0x0020($sp)
/* 00010 809C5840 3C05809C */ lui $a1, %hi(D_809C6D64) ## $a1 = 809C0000
/* 00014 809C5844 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00018 809C5848 0C01E037 */ jal Actor_ProcessInitChain
/* 0001C 809C584C 24A56D64 */ addiu $a1, $a1, %lo(D_809C6D64) ## $a1 = 809C6D64
/* 00020 809C5850 26050184 */ addiu $a1, $s0, 0x0184 ## $a1 = 00000184
/* 00024 809C5854 AFA5002C */ sw $a1, 0x002C($sp)
/* 00028 809C5858 0C016EFE */ jal Collider_InitJntSph
/* 0002C 809C585C 8FA401DC */ lw $a0, 0x01DC($sp)
/* 00030 809C5860 3C07809C */ lui $a3, %hi(D_809C6D54) ## $a3 = 809C0000
/* 00034 809C5864 260E01A4 */ addiu $t6, $s0, 0x01A4 ## $t6 = 000001A4
/* 00038 809C5868 8FA5002C */ lw $a1, 0x002C($sp)
/* 0003C 809C586C AFAE0010 */ sw $t6, 0x0010($sp)
/* 00040 809C5870 24E76D54 */ addiu $a3, $a3, %lo(D_809C6D54) ## $a3 = 809C6D54
/* 00044 809C5874 8FA401DC */ lw $a0, 0x01DC($sp)
/* 00048 809C5878 0C017014 */ jal Collider_SetJntSph
/* 0004C 809C587C 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
/* 00050 809C5880 8E0201A0 */ lw $v0, 0x01A0($s0) ## 000001A0
/* 00054 809C5884 3C0A809C */ lui $t2, %hi(D_809C6D6D) ## $t2 = 809C0000
/* 00058 809C5888 3C0B809C */ lui $t3, %hi(D_809C6D71) ## $t3 = 809C0000
/* 0005C 809C588C 844F002E */ lh $t7, 0x002E($v0) ## 0000002E
/* 00060 809C5890 3C18809C */ lui $t8, %hi(D_809C6D6C) ## $t8 = 809C0000
/* 00064 809C5894 3C19809C */ lui $t9, %hi(D_809C6D70) ## $t9 = 809C0000
/* 00068 809C5898 A44F0036 */ sh $t7, 0x0036($v0) ## 00000036
/* 0006C 809C589C 3C08809C */ lui $t0, %hi(D_809C6D74) ## $t0 = 809C0000
/* 00070 809C58A0 3C09809C */ lui $t1, %hi(D_809C6D78) ## $t1 = 809C0000
/* 00074 809C58A4 916B6D71 */ lbu $t3, %lo(D_809C6D71)($t3)
/* 00078 809C58A8 914A6D6D */ lbu $t2, %lo(D_809C6D6D)($t2)
/* 0007C 809C58AC 93186D6C */ lbu $t8, %lo(D_809C6D6C)($t8)
/* 00080 809C58B0 93396D70 */ lbu $t9, %lo(D_809C6D70)($t9)
/* 00084 809C58B4 91086D74 */ lbu $t0, %lo(D_809C6D74)($t0)
/* 00088 809C58B8 91296D78 */ lbu $t1, %lo(D_809C6D78)($t1)
/* 0008C 809C58BC 3C0C809C */ lui $t4, %hi(D_809C6D75) ## $t4 = 809C0000
/* 00090 809C58C0 3C0D809C */ lui $t5, %hi(D_809C6D79) ## $t5 = 809C0000
/* 00094 809C58C4 91AD6D79 */ lbu $t5, %lo(D_809C6D79)($t5)
/* 00098 809C58C8 918C6D75 */ lbu $t4, %lo(D_809C6D75)($t4)
/* 0009C 809C58CC A3AB01BD */ sb $t3, 0x01BD($sp)
/* 000A0 809C58D0 A3AA01B9 */ sb $t2, 0x01B9($sp)
/* 000A4 809C58D4 A3B801B8 */ sb $t8, 0x01B8($sp)
/* 000A8 809C58D8 A3B901BC */ sb $t9, 0x01BC($sp)
/* 000AC 809C58DC A3A801C0 */ sb $t0, 0x01C0($sp)
/* 000B0 809C58E0 A3A901C4 */ sb $t1, 0x01C4($sp)
/* 000B4 809C58E4 3C09809C */ lui $t1, %hi(D_809C6D73) ## $t1 = 809C0000
/* 000B8 809C58E8 3C08809C */ lui $t0, %hi(D_809C6D6F) ## $t0 = 809C0000
/* 000BC 809C58EC 3C19809C */ lui $t9, %hi(D_809C6D7A) ## $t9 = 809C0000
/* 000C0 809C58F0 3C18809C */ lui $t8, %hi(D_809C6D76) ## $t8 = 809C0000
/* 000C4 809C58F4 3C0A809C */ lui $t2, %hi(D_809C6D77) ## $t2 = 809C0000
/* 000C8 809C58F8 3C0B809C */ lui $t3, %hi(D_809C6D7B) ## $t3 = 809C0000
/* 000CC 809C58FC 3C0F809C */ lui $t7, %hi(D_809C6D72) ## $t7 = 809C0000
/* 000D0 809C5900 3C0E809C */ lui $t6, %hi(D_809C6D6E) ## $t6 = 809C0000
/* 000D4 809C5904 91CE6D6E */ lbu $t6, %lo(D_809C6D6E)($t6)
/* 000D8 809C5908 91EF6D72 */ lbu $t7, %lo(D_809C6D72)($t7)
/* 000DC 809C590C 916B6D7B */ lbu $t3, %lo(D_809C6D7B)($t3)
/* 000E0 809C5910 914A6D77 */ lbu $t2, %lo(D_809C6D77)($t2)
/* 000E4 809C5914 93186D76 */ lbu $t8, %lo(D_809C6D76)($t8)
/* 000E8 809C5918 93396D7A */ lbu $t9, %lo(D_809C6D7A)($t9)
/* 000EC 809C591C 91086D6F */ lbu $t0, %lo(D_809C6D6F)($t0)
/* 000F0 809C5920 91296D73 */ lbu $t1, %lo(D_809C6D73)($t1)
/* 000F4 809C5924 A3AD01C5 */ sb $t5, 0x01C5($sp)
/* 000F8 809C5928 A3AC01C1 */ sb $t4, 0x01C1($sp)
/* 000FC 809C592C 240C0010 */ addiu $t4, $zero, 0x0010 ## $t4 = 00000010
/* 00100 809C5930 27AD0034 */ addiu $t5, $sp, 0x0034 ## $t5 = FFFFFE5C
/* 00104 809C5934 AFAC01C8 */ sw $t4, 0x01C8($sp)
/* 00108 809C5938 AFA001CC */ sw $zero, 0x01CC($sp)
/* 0010C 809C593C AFA001D0 */ sw $zero, 0x01D0($sp)
/* 00110 809C5940 AFAD0014 */ sw $t5, 0x0014($sp)
/* 00114 809C5944 AFA00010 */ sw $zero, 0x0010($sp)
/* 00118 809C5948 8FA401DC */ lw $a0, 0x01DC($sp)
/* 0011C 809C594C 2605017C */ addiu $a1, $s0, 0x017C ## $a1 = 0000017C
/* 00120 809C5950 24060001 */ addiu $a2, $zero, 0x0001 ## $a2 = 00000001
/* 00124 809C5954 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
/* 00128 809C5958 A3AE01BA */ sb $t6, 0x01BA($sp)
/* 0012C 809C595C A3AF01BE */ sb $t7, 0x01BE($sp)
/* 00130 809C5960 A3AB01C7 */ sb $t3, 0x01C7($sp)
/* 00134 809C5964 A3AA01C3 */ sb $t2, 0x01C3($sp)
/* 00138 809C5968 A3B801C2 */ sb $t8, 0x01C2($sp)
/* 0013C 809C596C A3B901C6 */ sb $t9, 0x01C6($sp)
/* 00140 809C5970 A3A801BB */ sb $t0, 0x01BB($sp)
/* 00144 809C5974 0C009B35 */ jal Effect_Add
## Effect_Add
/* 00148 809C5978 A3A901BF */ sb $t1, 0x01BF($sp)
/* 0014C 809C597C 27AE0034 */ addiu $t6, $sp, 0x0034 ## $t6 = FFFFFE5C
/* 00150 809C5980 AFAE0014 */ sw $t6, 0x0014($sp)
/* 00154 809C5984 8FA401DC */ lw $a0, 0x01DC($sp)
/* 00158 809C5988 26050180 */ addiu $a1, $s0, 0x0180 ## $a1 = 00000180
/* 0015C 809C598C 24060001 */ addiu $a2, $zero, 0x0001 ## $a2 = 00000001
/* 00160 809C5990 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
/* 00164 809C5994 0C009B35 */ jal Effect_Add
## Effect_Add
/* 00168 809C5998 AFA00010 */ sw $zero, 0x0010($sp)
/* 0016C 809C599C 3C19809C */ lui $t9, %hi(func_809C5DDC) ## $t9 = 809C0000
/* 00170 809C59A0 240FFFFF */ addiu $t7, $zero, 0xFFFF ## $t7 = FFFFFFFF
/* 00174 809C59A4 24180078 */ addiu $t8, $zero, 0x0078 ## $t8 = 00000078
/* 00178 809C59A8 27395DDC */ addiu $t9, $t9, %lo(func_809C5DDC) ## $t9 = 809C5DDC
/* 0017C 809C59AC A20F0003 */ sb $t7, 0x0003($s0) ## 00000003
/* 00180 809C59B0 A6180150 */ sh $t8, 0x0150($s0) ## 00000150
/* 00184 809C59B4 AE19014C */ sw $t9, 0x014C($s0) ## 0000014C
/* 00188 809C59B8 8FBF0024 */ lw $ra, 0x0024($sp)
/* 0018C 809C59BC 8FB00020 */ lw $s0, 0x0020($sp)
/* 00190 809C59C0 27BD01D8 */ addiu $sp, $sp, 0x01D8 ## $sp = 00000000
/* 00194 809C59C4 03E00008 */ jr $ra
/* 00198 809C59C8 00000000 */ nop

View file

@ -1,259 +0,0 @@
glabel EnBomChu_Update
/* 00DA0 809C65D0 27BDFF88 */ addiu $sp, $sp, 0xFF88 ## $sp = FFFFFF88
/* 00DA4 809C65D4 AFBF0024 */ sw $ra, 0x0024($sp)
/* 00DA8 809C65D8 AFB10020 */ sw $s1, 0x0020($sp)
/* 00DAC 809C65DC AFB0001C */ sw $s0, 0x001C($sp)
/* 00DB0 809C65E0 908E007D */ lbu $t6, 0x007D($a0) ## 0000007D
/* 00DB4 809C65E4 24010032 */ addiu $at, $zero, 0x0032 ## $at = 00000032
/* 00DB8 809C65E8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00DBC 809C65EC 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
/* 00DC0 809C65F0 11C10037 */ beq $t6, $at, .L809C66D0
/* 00DC4 809C65F4 AFAE0030 */ sw $t6, 0x0030($sp)
/* 00DC8 809C65F8 848700B6 */ lh $a3, 0x00B6($a0) ## 000000B6
/* 00DCC 809C65FC 24A407C0 */ addiu $a0, $a1, 0x07C0 ## $a0 = 000007C0
/* 00DD0 809C6600 01C02825 */ or $a1, $t6, $zero ## $a1 = 00000000
/* 00DD4 809C6604 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
/* 00DD8 809C6608 0C010CE9 */ jal func_800433A4
/* 00DDC 809C660C A7A7006E */ sh $a3, 0x006E($sp)
/* 00DE0 809C6610 87A7006E */ lh $a3, 0x006E($sp)
/* 00DE4 809C6614 860300B6 */ lh $v1, 0x00B6($s0) ## 000000B6
/* 00DE8 809C6618 10E3002D */ beq $a3, $v1, .L809C66D0
/* 00DEC 809C661C 00673823 */ subu $a3, $v1, $a3
/* 00DF0 809C6620 00073C00 */ sll $a3, $a3, 16
/* 00DF4 809C6624 00073C03 */ sra $a3, $a3, 16
/* 00DF8 809C6628 00072400 */ sll $a0, $a3, 16
/* 00DFC 809C662C 00042403 */ sra $a0, $a0, 16
/* 00E00 809C6630 0C01DE1C */ jal Math_SinS
## sins?
/* 00E04 809C6634 A7A7006E */ sh $a3, 0x006E($sp)
/* 00E08 809C6638 87A7006E */ lh $a3, 0x006E($sp)
/* 00E0C 809C663C E7A00068 */ swc1 $f0, 0x0068($sp)
/* 00E10 809C6640 00072400 */ sll $a0, $a3, 16
/* 00E14 809C6644 0C01DE0D */ jal Math_CosS
## coss?
/* 00E18 809C6648 00042403 */ sra $a0, $a0, 16
/* 00E1C 809C664C C7AC0068 */ lwc1 $f12, 0x0068($sp)
/* 00E20 809C6650 C60E015C */ lwc1 $f14, 0x015C($s0) ## 0000015C
/* 00E24 809C6654 C6020154 */ lwc1 $f2, 0x0154($s0) ## 00000154
/* 00E28 809C6658 C6100168 */ lwc1 $f16, 0x0168($s0) ## 00000168
/* 00E2C 809C665C 460C7102 */ mul.s $f4, $f14, $f12
/* 00E30 809C6660 00000000 */ nop
/* 00E34 809C6664 46020182 */ mul.s $f6, $f0, $f2
/* 00E38 809C6668 00000000 */ nop
/* 00E3C 809C666C 46007282 */ mul.s $f10, $f14, $f0
/* 00E40 809C6670 C60E0174 */ lwc1 $f14, 0x0174($s0) ## 00000174
/* 00E44 809C6674 46026482 */ mul.s $f18, $f12, $f2
/* 00E48 809C6678 C6020160 */ lwc1 $f2, 0x0160($s0) ## 00000160
/* 00E4C 809C667C 46062200 */ add.s $f8, $f4, $f6
/* 00E50 809C6680 460C8182 */ mul.s $f6, $f16, $f12
/* 00E54 809C6684 E6080154 */ swc1 $f8, 0x0154($s0) ## 00000154
/* 00E58 809C6688 46020202 */ mul.s $f8, $f0, $f2
/* 00E5C 809C668C 46125101 */ sub.s $f4, $f10, $f18
/* 00E60 809C6690 46008482 */ mul.s $f18, $f16, $f0
/* 00E64 809C6694 E604015C */ swc1 $f4, 0x015C($s0) ## 0000015C
/* 00E68 809C6698 46026102 */ mul.s $f4, $f12, $f2
/* 00E6C 809C669C C602016C */ lwc1 $f2, 0x016C($s0) ## 0000016C
/* 00E70 809C66A0 46083280 */ add.s $f10, $f6, $f8
/* 00E74 809C66A4 460C7202 */ mul.s $f8, $f14, $f12
/* 00E78 809C66A8 E60A0160 */ swc1 $f10, 0x0160($s0) ## 00000160
/* 00E7C 809C66AC 46020282 */ mul.s $f10, $f0, $f2
/* 00E80 809C66B0 46049181 */ sub.s $f6, $f18, $f4
/* 00E84 809C66B4 46007102 */ mul.s $f4, $f14, $f0
/* 00E88 809C66B8 E6060168 */ swc1 $f6, 0x0168($s0) ## 00000168
/* 00E8C 809C66BC 46026182 */ mul.s $f6, $f12, $f2
/* 00E90 809C66C0 460A4480 */ add.s $f18, $f8, $f10
/* 00E94 809C66C4 E612016C */ swc1 $f18, 0x016C($s0) ## 0000016C
/* 00E98 809C66C8 46062201 */ sub.s $f8, $f4, $f6
/* 00E9C 809C66CC E6080174 */ swc1 $f8, 0x0174($s0) ## 00000174
.L809C66D0:
/* 00EA0 809C66D0 8E19014C */ lw $t9, 0x014C($s0) ## 0000014C
/* 00EA4 809C66D4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00EA8 809C66D8 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
/* 00EAC 809C66DC 0320F809 */ jalr $ra, $t9
/* 00EB0 809C66E0 00000000 */ nop
/* 00EB4 809C66E4 0C00B65F */ jal func_8002D97C
/* 00EB8 809C66E8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00EBC 809C66EC C60A0024 */ lwc1 $f10, 0x0024($s0) ## 00000024
/* 00EC0 809C66F0 8E0901A0 */ lw $t1, 0x01A0($s0) ## 000001A0
/* 00EC4 809C66F4 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 00EC8 809C66F8 4600548D */ trunc.w.s $f18, $f10
/* 00ECC 809C66FC 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60
/* 00ED0 809C6700 02212821 */ addu $a1, $s1, $at
/* 00ED4 809C6704 26060184 */ addiu $a2, $s0, 0x0184 ## $a2 = 00000184
/* 00ED8 809C6708 44089000 */ mfc1 $t0, $f18
/* 00EDC 809C670C 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 00EE0 809C6710 A5280030 */ sh $t0, 0x0030($t1) ## 00000030
/* 00EE4 809C6714 C6040028 */ lwc1 $f4, 0x0028($s0) ## 00000028
/* 00EE8 809C6718 8E0C01A0 */ lw $t4, 0x01A0($s0) ## 000001A0
/* 00EEC 809C671C 4600218D */ trunc.w.s $f6, $f4
/* 00EF0 809C6720 440B3000 */ mfc1 $t3, $f6
/* 00EF4 809C6724 00000000 */ nop
/* 00EF8 809C6728 A58B0032 */ sh $t3, 0x0032($t4) ## 00000032
/* 00EFC 809C672C C608002C */ lwc1 $f8, 0x002C($s0) ## 0000002C
/* 00F00 809C6730 8E0F01A0 */ lw $t7, 0x01A0($s0) ## 000001A0
/* 00F04 809C6734 4600428D */ trunc.w.s $f10, $f8
/* 00F08 809C6738 440E5000 */ mfc1 $t6, $f10
/* 00F0C 809C673C 00000000 */ nop
/* 00F10 809C6740 A5EE0034 */ sh $t6, 0x0034($t7) ## 00000034
/* 00F14 809C6744 AFA6002C */ sw $a2, 0x002C($sp)
/* 00F18 809C6748 0C01767D */ jal CollisionCheck_SetAC
## CollisionCheck_setAC
/* 00F1C 809C674C AFA50030 */ sw $a1, 0x0030($sp)
/* 00F20 809C6750 8E18014C */ lw $t8, 0x014C($s0) ## 0000014C
/* 00F24 809C6754 3C19809C */ lui $t9, %hi(func_809C5DDC) ## $t9 = 809C0000
/* 00F28 809C6758 27395DDC */ addiu $t9, $t9, %lo(func_809C5DDC) ## $t9 = 809C5DDC
/* 00F2C 809C675C 8FA50030 */ lw $a1, 0x0030($sp)
/* 00F30 809C6760 13380003 */ beq $t9, $t8, .L809C6770
/* 00F34 809C6764 8FA6002C */ lw $a2, 0x002C($sp)
/* 00F38 809C6768 0C017713 */ jal CollisionCheck_SetOC
## CollisionCheck_setOC
/* 00F3C 809C676C 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
.L809C6770:
/* 00F40 809C6770 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00F44 809C6774 0C00B56E */ jal Actor_SetFocus
/* 00F48 809C6778 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
/* 00F4C 809C677C 8E09014C */ lw $t1, 0x014C($s0) ## 0000014C
/* 00F50 809C6780 3C08809C */ lui $t0, %hi(func_809C5F48) ## $t0 = 809C0000
/* 00F54 809C6784 25085F48 */ addiu $t0, $t0, %lo(func_809C5F48) ## $t0 = 809C5F48
/* 00F58 809C6788 1509007D */ bne $t0, $t1, .L809C6980
/* 00F5C 809C678C 262A07C0 */ addiu $t2, $s1, 0x07C0 ## $t2 = 000007C0
/* 00F60 809C6790 0C03F66B */ jal Rand_ZeroOne
## Rand.Next() float
/* 00F64 809C6794 AFAA0030 */ sw $t2, 0x0030($sp)
/* 00F68 809C6798 0C03F66B */ jal Rand_ZeroOne
## Rand.Next() float
/* 00F6C 809C679C E7A00038 */ swc1 $f0, 0x0038($sp)
/* 00F70 809C67A0 3C014400 */ lui $at, 0x4400 ## $at = 44000000
/* 00F74 809C67A4 44819000 */ mtc1 $at, $f18 ## $f18 = 512.00
/* 00F78 809C67A8 860B0150 */ lh $t3, 0x0150($s0) ## 00000150
/* 00F7C 809C67AC 3C014640 */ lui $at, 0x4640 ## $at = 46400000
/* 00F80 809C67B0 46120102 */ mul.s $f4, $f0, $f18
/* 00F84 809C67B4 448B5000 */ mtc1 $t3, $f10 ## $f10 = 0.00
/* 00F88 809C67B8 44813000 */ mtc1 $at, $f6 ## $f6 = 12288.00
/* 00F8C 809C67BC 468054A0 */ cvt.s.w $f18, $f10
/* 00F90 809C67C0 46062200 */ add.s $f8, $f4, $f6
/* 00F94 809C67C4 46124102 */ mul.s $f4, $f8, $f18
/* 00F98 809C67C8 4600218D */ trunc.w.s $f6, $f4
/* 00F9C 809C67CC 44043000 */ mfc1 $a0, $f6
/* 00FA0 809C67D0 00000000 */ nop
/* 00FA4 809C67D4 00042400 */ sll $a0, $a0, 16
/* 00FA8 809C67D8 0C01DE1C */ jal Math_SinS
## sins?
/* 00FAC 809C67DC 00042403 */ sra $a0, $a0, 16
/* 00FB0 809C67E0 3C014040 */ lui $at, 0x4040 ## $at = 40400000
/* 00FB4 809C67E4 44814000 */ mtc1 $at, $f8 ## $f8 = 3.00
/* 00FB8 809C67E8 C7AA0038 */ lwc1 $f10, 0x0038($sp)
/* 00FBC 809C67EC 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000
/* 00FC0 809C67F0 44812000 */ mtc1 $at, $f4 ## $f4 = 5.00
/* 00FC4 809C67F4 46085482 */ mul.s $f18, $f10, $f8
/* 00FC8 809C67F8 3C05809C */ lui $a1, %hi(D_809C6D7C) ## $a1 = 809C0000
/* 00FCC 809C67FC 24A56D7C */ addiu $a1, $a1, %lo(D_809C6D7C) ## $a1 = 809C6D7C
/* 00FD0 809C6800 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00FD4 809C6804 27A60054 */ addiu $a2, $sp, 0x0054 ## $a2 = FFFFFFDC
/* 00FD8 809C6808 46122180 */ add.s $f6, $f4, $f18
/* 00FDC 809C680C 46060282 */ mul.s $f10, $f0, $f6
/* 00FE0 809C6810 0C271927 */ jal func_809C649C
/* 00FE4 809C6814 E60A0178 */ swc1 $f10, 0x0178($s0) ## 00000178
/* 00FE8 809C6818 3C05809C */ lui $a1, %hi(D_809C6D88) ## $a1 = 809C0000
/* 00FEC 809C681C 24A56D88 */ addiu $a1, $a1, %lo(D_809C6D88) ## $a1 = 809C6D88
/* 00FF0 809C6820 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00FF4 809C6824 0C271927 */ jal func_809C649C
/* 00FF8 809C6828 27A60048 */ addiu $a2, $sp, 0x0048 ## $a2 = FFFFFFD0
/* 00FFC 809C682C 0C009AC3 */ jal Effect_GetByIndex
/* 01000 809C6830 8E04017C */ lw $a0, 0x017C($s0) ## 0000017C
/* 01004 809C6834 00402025 */ or $a0, $v0, $zero ## $a0 = 00000000
/* 01008 809C6838 27A50054 */ addiu $a1, $sp, 0x0054 ## $a1 = FFFFFFDC
/* 0100C 809C683C 0C007F7C */ jal EffectBlure_AddVertex
/* 01010 809C6840 27A60048 */ addiu $a2, $sp, 0x0048 ## $a2 = FFFFFFD0
/* 01014 809C6844 3C05809C */ lui $a1, %hi(D_809C6D94) ## $a1 = 809C0000
/* 01018 809C6848 24A56D94 */ addiu $a1, $a1, %lo(D_809C6D94) ## $a1 = 809C6D94
/* 0101C 809C684C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01020 809C6850 0C271927 */ jal func_809C649C
/* 01024 809C6854 27A60048 */ addiu $a2, $sp, 0x0048 ## $a2 = FFFFFFD0
/* 01028 809C6858 0C009AC3 */ jal Effect_GetByIndex
/* 0102C 809C685C 8E040180 */ lw $a0, 0x0180($s0) ## 00000180
/* 01030 809C6860 00402025 */ or $a0, $v0, $zero ## $a0 = 00000000
/* 01034 809C6864 27A50054 */ addiu $a1, $sp, 0x0054 ## $a1 = FFFFFFDC
/* 01038 809C6868 0C007F7C */ jal EffectBlure_AddVertex
/* 0103C 809C686C 27A60048 */ addiu $a2, $sp, 0x0048 ## $a2 = FFFFFFD0
/* 01040 809C6870 C6080028 */ lwc1 $f8, 0x0028($s0) ## 00000028
/* 01044 809C6874 27AD0040 */ addiu $t5, $sp, 0x0040 ## $t5 = FFFFFFC8
/* 01048 809C6878 27AE0044 */ addiu $t6, $sp, 0x0044 ## $t6 = FFFFFFCC
/* 0104C 809C687C E7A80040 */ swc1 $f8, 0x0040($sp)
/* 01050 809C6880 8E07002C */ lw $a3, 0x002C($s0) ## 0000002C
/* 01054 809C6884 8E060024 */ lw $a2, 0x0024($s0) ## 00000024
/* 01058 809C6888 AFAE0014 */ sw $t6, 0x0014($sp)
/* 0105C 809C688C AFAD0010 */ sw $t5, 0x0010($sp)
/* 01060 809C6890 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 01064 809C6894 0C01084F */ jal WaterBox_GetSurface1
/* 01068 809C6898 8FA50030 */ lw $a1, 0x0030($sp)
/* 0106C 809C689C 10400032 */ beq $v0, $zero, .L809C6968
/* 01070 809C68A0 C7A40040 */ lwc1 $f4, 0x0040($sp)
/* 01074 809C68A4 C6120028 */ lwc1 $f18, 0x0028($s0) ## 00000028
/* 01078 809C68A8 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
/* 0107C 809C68AC 46122181 */ sub.s $f6, $f4, $f18
/* 01080 809C68B0 E6060084 */ swc1 $f6, 0x0084($s0) ## 00000084
/* 01084 809C68B4 C60A0084 */ lwc1 $f10, 0x0084($s0) ## 00000084
/* 01088 809C68B8 4600503C */ c.lt.s $f10, $f0
/* 0108C 809C68BC 00000000 */ nop
/* 01090 809C68C0 4502000E */ bc1fl .L809C68FC
/* 01094 809C68C4 96180088 */ lhu $t8, 0x0088($s0) ## 00000088
/* 01098 809C68C8 96020088 */ lhu $v0, 0x0088($s0) ## 00000088
/* 0109C 809C68CC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 010A0 809C68D0 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
/* 010A4 809C68D4 304F0020 */ andi $t7, $v0, 0x0020 ## $t7 = 00000000
/* 010A8 809C68D8 51E00005 */ beql $t7, $zero, .L809C68F0
/* 010AC 809C68DC 3059FFDF */ andi $t9, $v0, 0xFFDF ## $t9 = 00000000
/* 010B0 809C68E0 0C271952 */ jal func_809C6548
/* 010B4 809C68E4 8FA60040 */ lw $a2, 0x0040($sp)
/* 010B8 809C68E8 96020088 */ lhu $v0, 0x0088($s0) ## 00000088
/* 010BC 809C68EC 3059FFDF */ andi $t9, $v0, 0xFFDF ## $t9 = 00000000
.L809C68F0:
/* 010C0 809C68F0 10000023 */ beq $zero, $zero, .L809C6980
/* 010C4 809C68F4 A6190088 */ sh $t9, 0x0088($s0) ## 00000088
/* 010C8 809C68F8 96180088 */ lhu $t8, 0x0088($s0) ## 00000088
.L809C68FC:
/* 010CC 809C68FC 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 010D0 809C6900 26050024 */ addiu $a1, $s0, 0x0024 ## $a1 = 00000024
/* 010D4 809C6904 33080020 */ andi $t0, $t8, 0x0020 ## $t0 = 00000000
/* 010D8 809C6908 1500000B */ bne $t0, $zero, .L809C6938
/* 010DC 809C690C 3C074040 */ lui $a3, 0x4040 ## $a3 = 40400000
/* 010E0 809C6910 86090150 */ lh $t1, 0x0150($s0) ## 00000150
/* 010E4 809C6914 24010078 */ addiu $at, $zero, 0x0078 ## $at = 00000078
/* 010E8 809C6918 8FA60040 */ lw $a2, 0x0040($sp)
/* 010EC 809C691C 51210007 */ beql $t1, $at, .L809C693C
/* 010F0 809C6920 3C014170 */ lui $at, 0x4170 ## $at = 41700000
/* 010F4 809C6924 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 010F8 809C6928 0C271952 */ jal func_809C6548
/* 010FC 809C692C 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
/* 01100 809C6930 1000000A */ beq $zero, $zero, .L809C695C
/* 01104 809C6934 960A0088 */ lhu $t2, 0x0088($s0) ## 00000088
.L809C6938:
/* 01108 809C6938 3C014170 */ lui $at, 0x4170 ## $at = 41700000
.L809C693C:
/* 0110C 809C693C 44814000 */ mtc1 $at, $f8 ## $f8 = 15.00
/* 01110 809C6940 3C013E80 */ lui $at, 0x3E80 ## $at = 3E800000
/* 01114 809C6944 44812000 */ mtc1 $at, $f4 ## $f4 = 0.25
/* 01118 809C6948 44060000 */ mfc1 $a2, $f0
/* 0111C 809C694C E7A80010 */ swc1 $f8, 0x0010($sp)
/* 01120 809C6950 0C00A4F9 */ jal EffectSsBubble_Spawn
/* 01124 809C6954 E7A40014 */ swc1 $f4, 0x0014($sp)
/* 01128 809C6958 960A0088 */ lhu $t2, 0x0088($s0) ## 00000088
.L809C695C:
/* 0112C 809C695C 354B0020 */ ori $t3, $t2, 0x0020 ## $t3 = 00000020
/* 01130 809C6960 10000007 */ beq $zero, $zero, .L809C6980
/* 01134 809C6964 A60B0088 */ sh $t3, 0x0088($s0) ## 00000088
.L809C6968:
/* 01138 809C6968 960C0088 */ lhu $t4, 0x0088($s0) ## 00000088
/* 0113C 809C696C 3C01C6FA */ lui $at, 0xC6FA ## $at = C6FA0000
/* 01140 809C6970 44819000 */ mtc1 $at, $f18 ## $f18 = -32000.00
/* 01144 809C6974 318DFFDF */ andi $t5, $t4, 0xFFDF ## $t5 = 00000000
/* 01148 809C6978 A60D0088 */ sh $t5, 0x0088($s0) ## 00000088
/* 0114C 809C697C E6120084 */ swc1 $f18, 0x0084($s0) ## 00000084
.L809C6980:
/* 01150 809C6980 8FBF0024 */ lw $ra, 0x0024($sp)
/* 01154 809C6984 8FB0001C */ lw $s0, 0x001C($sp)
/* 01158 809C6988 8FB10020 */ lw $s1, 0x0020($sp)
/* 0115C 809C698C 03E00008 */ jr $ra
/* 01160 809C6990 27BD0078 */ addiu $sp, $sp, 0x0078 ## $sp = 00000000

View file

@ -1,76 +0,0 @@
glabel func_809C5A1C
/* 001EC 809C5A1C 27BDFF98 */ addiu $sp, $sp, 0xFF98 ## $sp = FFFFFF98
/* 001F0 809C5A20 AFB40060 */ sw $s4, 0x0060($sp)
/* 001F4 809C5A24 0080A025 */ or $s4, $a0, $zero ## $s4 = 00000000
/* 001F8 809C5A28 AFBF0064 */ sw $ra, 0x0064($sp)
/* 001FC 809C5A2C AFB3005C */ sw $s3, 0x005C($sp)
/* 00200 809C5A30 AFB20058 */ sw $s2, 0x0058($sp)
/* 00204 809C5A34 AFB10054 */ sw $s1, 0x0054($sp)
/* 00208 809C5A38 AFB00050 */ sw $s0, 0x0050($sp)
/* 0020C 809C5A3C F7BA0048 */ sdc1 $f26, 0x0048($sp)
/* 00210 809C5A40 F7B80040 */ sdc1 $f24, 0x0040($sp)
/* 00214 809C5A44 F7B60038 */ sdc1 $f22, 0x0038($sp)
/* 00218 809C5A48 F7B40030 */ sdc1 $f20, 0x0030($sp)
/* 0021C 809C5A4C C6840028 */ lwc1 $f4, 0x0028($s4) ## 00000028
/* 00220 809C5A50 8E870024 */ lw $a3, 0x0024($s4) ## 00000024
/* 00224 809C5A54 00A09825 */ or $s3, $a1, $zero ## $s3 = 00000000
/* 00228 809C5A58 E7A40010 */ swc1 $f4, 0x0010($sp)
/* 0022C 809C5A5C C686002C */ lwc1 $f6, 0x002C($s4) ## 0000002C
/* 00230 809C5A60 AFA00024 */ sw $zero, 0x0024($sp)
/* 00234 809C5A64 AFA00020 */ sw $zero, 0x0020($sp)
/* 00238 809C5A68 AFA0001C */ sw $zero, 0x001C($sp)
/* 0023C 809C5A6C AFA00018 */ sw $zero, 0x0018($sp)
/* 00240 809C5A70 24A41C24 */ addiu $a0, $a1, 0x1C24 ## $a0 = 00001C24
/* 00244 809C5A74 24060010 */ addiu $a2, $zero, 0x0010 ## $a2 = 00000010
/* 00248 809C5A78 0C00C7D4 */ jal Actor_Spawn
## ActorSpawn
/* 0024C 809C5A7C E7A60014 */ swc1 $f6, 0x0014($sp)
/* 00250 809C5A80 10400002 */ beq $v0, $zero, .L809C5A8C
/* 00254 809C5A84 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000
/* 00258 809C5A88 A44001F8 */ sh $zero, 0x01F8($v0) ## 000001F8
.L809C5A8C:
/* 0025C 809C5A8C 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
/* 00260 809C5A90 C6880084 */ lwc1 $f8, 0x0084($s4) ## 00000084
/* 00264 809C5A94 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001
/* 00268 809C5A98 A68E0150 */ sh $t6, 0x0150($s4) ## 00000150
/* 0026C 809C5A9C 4608003C */ c.lt.s $f0, $f8
/* 00270 809C5AA0 26910024 */ addiu $s1, $s4, 0x0024 ## $s1 = 00000024
/* 00274 809C5AA4 3C013E80 */ lui $at, 0x3E80 ## $at = 3E800000
/* 00278 809C5AA8 E6800068 */ swc1 $f0, 0x0068($s4) ## 00000068
/* 0027C 809C5AAC 45000013 */ bc1f .L809C5AFC
/* 00280 809C5AB0 00000000 */ nop
/* 00284 809C5AB4 4481D000 */ mtc1 $at, $f26 ## $f26 = 0.25
/* 00288 809C5AB8 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000
/* 0028C 809C5ABC 4481C000 */ mtc1 $at, $f24 ## $f24 = 30.00
/* 00290 809C5AC0 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000
/* 00294 809C5AC4 4481B000 */ mtc1 $at, $f22 ## $f22 = 5.00
/* 00298 809C5AC8 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 0029C 809C5ACC 4481A000 */ mtc1 $at, $f20 ## $f20 = 1.00
/* 002A0 809C5AD0 24120028 */ addiu $s2, $zero, 0x0028 ## $s2 = 00000028
/* 002A4 809C5AD4 4406A000 */ mfc1 $a2, $f20
.L809C5AD8:
/* 002A8 809C5AD8 4407B000 */ mfc1 $a3, $f22
/* 002AC 809C5ADC 02602025 */ or $a0, $s3, $zero ## $a0 = 00000000
/* 002B0 809C5AE0 02202825 */ or $a1, $s1, $zero ## $a1 = 00000024
/* 002B4 809C5AE4 E7B80010 */ swc1 $f24, 0x0010($sp)
/* 002B8 809C5AE8 0C00A4F9 */ jal EffectSsBubble_Spawn
/* 002BC 809C5AEC E7BA0014 */ swc1 $f26, 0x0014($sp)
/* 002C0 809C5AF0 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001
/* 002C4 809C5AF4 5612FFF8 */ bnel $s0, $s2, .L809C5AD8
/* 002C8 809C5AF8 4406A000 */ mfc1 $a2, $f20
.L809C5AFC:
/* 002CC 809C5AFC 3C0F809C */ lui $t7, %hi(func_809C645C) ## $t7 = 809C0000
/* 002D0 809C5B00 25EF645C */ addiu $t7, $t7, %lo(func_809C645C) ## $t7 = 809C645C
/* 002D4 809C5B04 AE8F014C */ sw $t7, 0x014C($s4) ## 0000014C
/* 002D8 809C5B08 8FBF0064 */ lw $ra, 0x0064($sp)
/* 002DC 809C5B0C 8FB40060 */ lw $s4, 0x0060($sp)
/* 002E0 809C5B10 8FB3005C */ lw $s3, 0x005C($sp)
/* 002E4 809C5B14 8FB20058 */ lw $s2, 0x0058($sp)
/* 002E8 809C5B18 8FB10054 */ lw $s1, 0x0054($sp)
/* 002EC 809C5B1C 8FB00050 */ lw $s0, 0x0050($sp)
/* 002F0 809C5B20 D7BA0048 */ ldc1 $f26, 0x0048($sp)
/* 002F4 809C5B24 D7B80040 */ ldc1 $f24, 0x0040($sp)
/* 002F8 809C5B28 D7B60038 */ ldc1 $f22, 0x0038($sp)
/* 002FC 809C5B2C D7B40030 */ ldc1 $f20, 0x0030($sp)
/* 00300 809C5B30 03E00008 */ jr $ra
/* 00304 809C5B34 27BD0068 */ addiu $sp, $sp, 0x0068 ## $sp = 00000000

View file

@ -1,29 +0,0 @@
glabel func_809C5B38
/* 00308 809C5B38 C4840004 */ lwc1 $f4, 0x0004($a0) ## 00000004
/* 0030C 809C5B3C C4A60008 */ lwc1 $f6, 0x0008($a1) ## 00000008
/* 00310 809C5B40 C48A0008 */ lwc1 $f10, 0x0008($a0) ## 00000008
/* 00314 809C5B44 C4B00004 */ lwc1 $f16, 0x0004($a1) ## 00000004
/* 00318 809C5B48 46062202 */ mul.s $f8, $f4, $f6
/* 0031C 809C5B4C 00000000 */ nop
/* 00320 809C5B50 46105482 */ mul.s $f18, $f10, $f16
/* 00324 809C5B54 46124101 */ sub.s $f4, $f8, $f18
/* 00328 809C5B58 E4C40000 */ swc1 $f4, 0x0000($a2) ## 00000000
/* 0032C 809C5B5C C4AA0000 */ lwc1 $f10, 0x0000($a1) ## 00000000
/* 00330 809C5B60 C4860008 */ lwc1 $f6, 0x0008($a0) ## 00000008
/* 00334 809C5B64 C4880000 */ lwc1 $f8, 0x0000($a0) ## 00000000
/* 00338 809C5B68 C4B20008 */ lwc1 $f18, 0x0008($a1) ## 00000008
/* 0033C 809C5B6C 460A3402 */ mul.s $f16, $f6, $f10
/* 00340 809C5B70 00000000 */ nop
/* 00344 809C5B74 46124102 */ mul.s $f4, $f8, $f18
/* 00348 809C5B78 46048181 */ sub.s $f6, $f16, $f4
/* 0034C 809C5B7C E4C60004 */ swc1 $f6, 0x0004($a2) ## 00000004
/* 00350 809C5B80 C4A80004 */ lwc1 $f8, 0x0004($a1) ## 00000004
/* 00354 809C5B84 C48A0000 */ lwc1 $f10, 0x0000($a0) ## 00000000
/* 00358 809C5B88 C4A40000 */ lwc1 $f4, 0x0000($a1) ## 00000000
/* 0035C 809C5B8C C4900004 */ lwc1 $f16, 0x0004($a0) ## 00000004
/* 00360 809C5B90 46085482 */ mul.s $f18, $f10, $f8
/* 00364 809C5B94 00000000 */ nop
/* 00368 809C5B98 46048182 */ mul.s $f6, $f16, $f4
/* 0036C 809C5B9C 46069281 */ sub.s $f10, $f18, $f6
/* 00370 809C5BA0 03E00008 */ jr $ra
/* 00374 809C5BA4 E4CA0008 */ swc1 $f10, 0x0008($a2) ## 00000008

View file

@ -1,155 +0,0 @@
.late_rodata
glabel D_809C6DDC
.word 0x38000100
glabel D_809C6DE0
.float 0.001
glabel D_809C6DE4
.float 0.001
.text
glabel func_809C5BA8
/* 00378 809C5BA8 27BDFF70 */ addiu $sp, $sp, 0xFF70 ## $sp = FFFFFF70
/* 0037C 809C5BAC 3C01809C */ lui $at, %hi(D_809C6DDC) ## $at = 809C0000
/* 00380 809C5BB0 C4226DDC */ lwc1 $f2, %lo(D_809C6DDC)($at)
/* 00384 809C5BB4 AFBF001C */ sw $ra, 0x001C($sp)
/* 00388 809C5BB8 AFB00018 */ sw $s0, 0x0018($sp)
/* 0038C 809C5BBC AFA60098 */ sw $a2, 0x0098($sp)
/* 00390 809C5BC0 AC850078 */ sw $a1, 0x0078($a0) ## 00000078
/* 00394 809C5BC4 84AE0008 */ lh $t6, 0x0008($a1) ## 00000008
/* 00398 809C5BC8 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 0039C 809C5BCC 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 003A0 809C5BD0 448E2000 */ mtc1 $t6, $f4 ## $f4 = 0.00
/* 003A4 809C5BD4 00000000 */ nop
/* 003A8 809C5BD8 468021A0 */ cvt.s.w $f6, $f4
/* 003AC 809C5BDC 46023202 */ mul.s $f8, $f6, $f2
/* 003B0 809C5BE0 E7A80084 */ swc1 $f8, 0x0084($sp)
/* 003B4 809C5BE4 84AF000A */ lh $t7, 0x000A($a1) ## 0000000A
/* 003B8 809C5BE8 448F5000 */ mtc1 $t7, $f10 ## $f10 = 0.00
/* 003BC 809C5BEC 00000000 */ nop
/* 003C0 809C5BF0 46805420 */ cvt.s.w $f16, $f10
/* 003C4 809C5BF4 46028482 */ mul.s $f18, $f16, $f2
/* 003C8 809C5BF8 E7B20088 */ swc1 $f18, 0x0088($sp)
/* 003CC 809C5BFC 84B8000C */ lh $t8, 0x000C($a1) ## 0000000C
/* 003D0 809C5C00 44982000 */ mtc1 $t8, $f4 ## $f4 = 0.00
/* 003D4 809C5C04 00000000 */ nop
/* 003D8 809C5C08 468021A0 */ cvt.s.w $f6, $f4
/* 003DC 809C5C0C 46023282 */ mul.s $f10, $f6, $f2
/* 003E0 809C5C10 E7AA008C */ swc1 $f10, 0x008C($sp)
/* 003E4 809C5C14 C4900160 */ lwc1 $f16, 0x0160($a0) ## 00000160
/* 003E8 809C5C18 C4860164 */ lwc1 $f6, 0x0164($a0) ## 00000164
/* 003EC 809C5C1C 46088102 */ mul.s $f4, $f16, $f8
/* 003F0 809C5C20 00000000 */ nop
/* 003F4 809C5C24 46069402 */ mul.s $f16, $f18, $f6
/* 003F8 809C5C28 C4920168 */ lwc1 $f18, 0x0168($a0) ## 00000168
/* 003FC 809C5C2C 46125182 */ mul.s $f6, $f10, $f18
/* 00400 809C5C30 46102200 */ add.s $f8, $f4, $f16
/* 00404 809C5C34 44812000 */ mtc1 $at, $f4 ## $f4 = 1.00
/* 00408 809C5C38 46064300 */ add.s $f12, $f8, $f6
/* 0040C 809C5C3C 46006005 */ abs.s $f0, $f12
/* 00410 809C5C40 4600203E */ c.le.s $f4, $f0
/* 00414 809C5C44 00000000 */ nop
/* 00418 809C5C48 4501005F */ bc1t .L809C5DC8
/* 0041C 809C5C4C 00000000 */ nop
/* 00420 809C5C50 0C03F4DA */ jal Math_FAcosF
/* 00424 809C5C54 00000000 */ nop
/* 00428 809C5C58 3C01809C */ lui $at, %hi(D_809C6DE0) ## $at = 809C0000
/* 0042C 809C5C5C C4306DE0 */ lwc1 $f16, %lo(D_809C6DE0)($at)
/* 00430 809C5C60 46000306 */ mov.s $f12, $f0
/* 00434 809C5C64 26040160 */ addiu $a0, $s0, 0x0160 ## $a0 = 00000160
/* 00438 809C5C68 4610003C */ c.lt.s $f0, $f16
/* 0043C 809C5C6C 27A50084 */ addiu $a1, $sp, 0x0084 ## $a1 = FFFFFFF4
/* 00440 809C5C70 27A60078 */ addiu $a2, $sp, 0x0078 ## $a2 = FFFFFFE8
/* 00444 809C5C74 45030055 */ bc1tl .L809C5DCC
/* 00448 809C5C78 8FBF001C */ lw $ra, 0x001C($sp)
/* 0044C 809C5C7C AFA40028 */ sw $a0, 0x0028($sp)
/* 00450 809C5C80 0C2716CE */ jal func_809C5B38
/* 00454 809C5C84 E7AC0074 */ swc1 $f12, 0x0074($sp)
/* 00458 809C5C88 C7AC0074 */ lwc1 $f12, 0x0074($sp)
/* 0045C 809C5C8C 27A50078 */ addiu $a1, $sp, 0x0078 ## $a1 = FFFFFFE8
/* 00460 809C5C90 0C0348FF */ jal func_800D23FC
/* 00464 809C5C94 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
/* 00468 809C5C98 2604016C */ addiu $a0, $s0, 0x016C ## $a0 = 0000016C
/* 0046C 809C5C9C AFA40024 */ sw $a0, 0x0024($sp)
/* 00470 809C5CA0 0C0346BD */ jal Matrix_MultVec3f
/* 00474 809C5CA4 27A50078 */ addiu $a1, $sp, 0x0078 ## $a1 = FFFFFFE8
/* 00478 809C5CA8 27B90078 */ addiu $t9, $sp, 0x0078 ## $t9 = FFFFFFE8
/* 0047C 809C5CAC 8FA40024 */ lw $a0, 0x0024($sp)
/* 00480 809C5CB0 8F290000 */ lw $t1, 0x0000($t9) ## FFFFFFE8
/* 00484 809C5CB4 26060154 */ addiu $a2, $s0, 0x0154 ## $a2 = 00000154
/* 00488 809C5CB8 27A50084 */ addiu $a1, $sp, 0x0084 ## $a1 = FFFFFFF4
/* 0048C 809C5CBC AC890000 */ sw $t1, 0x0000($a0) ## 00000000
/* 00490 809C5CC0 8F280004 */ lw $t0, 0x0004($t9) ## FFFFFFEC
/* 00494 809C5CC4 AC880004 */ sw $t0, 0x0004($a0) ## 00000004
/* 00498 809C5CC8 8F290008 */ lw $t1, 0x0008($t9) ## FFFFFFF0
/* 0049C 809C5CCC AC890008 */ sw $t1, 0x0008($a0) ## 00000008
/* 004A0 809C5CD0 0C2716CE */ jal func_809C5B38
/* 004A4 809C5CD4 AFA60020 */ sw $a2, 0x0020($sp)
/* 004A8 809C5CD8 0C032D8A */ jal Math3D_Vec3fMagnitude
/* 004AC 809C5CDC 8FA40020 */ lw $a0, 0x0020($sp)
/* 004B0 809C5CE0 3C01809C */ lui $at, %hi(D_809C6DE4) ## $at = 809C0000
/* 004B4 809C5CE4 C42A6DE4 */ lwc1 $f10, %lo(D_809C6DE4)($at)
/* 004B8 809C5CE8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 004BC 809C5CEC 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 004C0 809C5CF0 460A003C */ c.lt.s $f0, $f10
/* 004C4 809C5CF4 00000000 */ nop
/* 004C8 809C5CF8 45020006 */ bc1fl .L809C5D14
/* 004CC 809C5CFC 44819000 */ mtc1 $at, $f18 ## $f18 = 1.00
/* 004D0 809C5D00 0C271687 */ jal func_809C5A1C
/* 004D4 809C5D04 8FA50098 */ lw $a1, 0x0098($sp)
/* 004D8 809C5D08 10000030 */ beq $zero, $zero, .L809C5DCC
/* 004DC 809C5D0C 8FBF001C */ lw $ra, 0x001C($sp)
/* 004E0 809C5D10 44819000 */ mtc1 $at, $f18 ## $f18 = 0.00
.L809C5D14:
/* 004E4 809C5D14 C6080154 */ lwc1 $f8, 0x0154($s0) ## 00000154
/* 004E8 809C5D18 C6040158 */ lwc1 $f4, 0x0158($s0) ## 00000158
/* 004EC 809C5D1C 46009083 */ div.s $f2, $f18, $f0
/* 004F0 809C5D20 C60A015C */ lwc1 $f10, 0x015C($s0) ## 0000015C
/* 004F4 809C5D24 27AB0084 */ addiu $t3, $sp, 0x0084 ## $t3 = FFFFFFF4
/* 004F8 809C5D28 27A4002C */ addiu $a0, $sp, 0x002C ## $a0 = FFFFFF9C
/* 004FC 809C5D2C 26050030 */ addiu $a1, $s0, 0x0030 ## $a1 = 00000030
/* 00500 809C5D30 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
/* 00504 809C5D34 46024182 */ mul.s $f6, $f8, $f2
/* 00508 809C5D38 00000000 */ nop
/* 0050C 809C5D3C 46022402 */ mul.s $f16, $f4, $f2
/* 00510 809C5D40 00000000 */ nop
/* 00514 809C5D44 46025482 */ mul.s $f18, $f10, $f2
/* 00518 809C5D48 E6060154 */ swc1 $f6, 0x0154($s0) ## 00000154
/* 0051C 809C5D4C E6100158 */ swc1 $f16, 0x0158($s0) ## 00000158
/* 00520 809C5D50 E612015C */ swc1 $f18, 0x015C($s0) ## 0000015C
/* 00524 809C5D54 8D6D0000 */ lw $t5, 0x0000($t3) ## FFFFFFF4
/* 00528 809C5D58 8FAA0028 */ lw $t2, 0x0028($sp)
/* 0052C 809C5D5C AD4D0000 */ sw $t5, 0x0000($t2) ## 00000000
/* 00530 809C5D60 8D6C0004 */ lw $t4, 0x0004($t3) ## FFFFFFF8
/* 00534 809C5D64 AD4C0004 */ sw $t4, 0x0004($t2) ## 00000004
/* 00538 809C5D68 8D6D0008 */ lw $t5, 0x0008($t3) ## FFFFFFFC
/* 0053C 809C5D6C AD4D0008 */ sw $t5, 0x0008($t2) ## 00000008
/* 00540 809C5D70 C608016C */ lwc1 $f8, 0x016C($s0) ## 0000016C
/* 00544 809C5D74 C7B00084 */ lwc1 $f16, 0x0084($sp)
/* 00548 809C5D78 C7AA0088 */ lwc1 $f10, 0x0088($sp)
/* 0054C 809C5D7C E7A8002C */ swc1 $f8, 0x002C($sp)
/* 00550 809C5D80 C6060170 */ lwc1 $f6, 0x0170($s0) ## 00000170
/* 00554 809C5D84 C7B2008C */ lwc1 $f18, 0x008C($sp)
/* 00558 809C5D88 E7A60030 */ swc1 $f6, 0x0030($sp)
/* 0055C 809C5D8C C6040174 */ lwc1 $f4, 0x0174($s0) ## 00000174
/* 00560 809C5D90 E7B0003C */ swc1 $f16, 0x003C($sp)
/* 00564 809C5D94 E7AA0040 */ swc1 $f10, 0x0040($sp)
/* 00568 809C5D98 E7B20044 */ swc1 $f18, 0x0044($sp)
/* 0056C 809C5D9C E7A40034 */ swc1 $f4, 0x0034($sp)
/* 00570 809C5DA0 C6080154 */ lwc1 $f8, 0x0154($s0) ## 00000154
/* 00574 809C5DA4 E7A8004C */ swc1 $f8, 0x004C($sp)
/* 00578 809C5DA8 C6060158 */ lwc1 $f6, 0x0158($s0) ## 00000158
/* 0057C 809C5DAC E7A60050 */ swc1 $f6, 0x0050($sp)
/* 00580 809C5DB0 C604015C */ lwc1 $f4, 0x015C($s0) ## 0000015C
/* 00584 809C5DB4 0C034833 */ jal func_800D20CC
/* 00588 809C5DB8 E7A40054 */ swc1 $f4, 0x0054($sp)
/* 0058C 809C5DBC 860E0030 */ lh $t6, 0x0030($s0) ## 00000030
/* 00590 809C5DC0 000E7823 */ subu $t7, $zero, $t6
/* 00594 809C5DC4 A60F0030 */ sh $t7, 0x0030($s0) ## 00000030
.L809C5DC8:
/* 00598 809C5DC8 8FBF001C */ lw $ra, 0x001C($sp)
.L809C5DCC:
/* 0059C 809C5DCC 8FB00018 */ lw $s0, 0x0018($sp)
/* 005A0 809C5DD0 27BD0090 */ addiu $sp, $sp, 0x0090 ## $sp = 00000000
/* 005A4 809C5DD4 03E00008 */ jr $ra
/* 005A8 809C5DD8 00000000 */ nop

View file

@ -1,100 +0,0 @@
glabel func_809C5DDC
/* 005AC 809C5DDC 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8
/* 005B0 809C5DE0 AFBF002C */ sw $ra, 0x002C($sp)
/* 005B4 809C5DE4 AFB10028 */ sw $s1, 0x0028($sp)
/* 005B8 809C5DE8 AFB00024 */ sw $s0, 0x0024($sp)
/* 005BC 809C5DEC F7B40018 */ sdc1 $f20, 0x0018($sp)
/* 005C0 809C5DF0 8CAE1C44 */ lw $t6, 0x1C44($a1) ## 00001C44
/* 005C4 809C5DF4 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
/* 005C8 809C5DF8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 005CC 809C5DFC AFAE0034 */ sw $t6, 0x0034($sp)
/* 005D0 809C5E00 84820150 */ lh $v0, 0x0150($a0) ## 00000150
/* 005D4 809C5E04 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
/* 005D8 809C5E08 10400003 */ beq $v0, $zero, .L809C5E18
/* 005DC 809C5E0C 244FFFFF */ addiu $t7, $v0, 0xFFFF ## $t7 = FFFFFFFF
/* 005E0 809C5E10 A48F0150 */ sh $t7, 0x0150($a0) ## 00000150
/* 005E4 809C5E14 84820150 */ lh $v0, 0x0150($a0) ## 00000150
.L809C5E18:
/* 005E8 809C5E18 14400005 */ bne $v0, $zero, .L809C5E30
/* 005EC 809C5E1C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 005F0 809C5E20 0C271687 */ jal func_809C5A1C
/* 005F4 809C5E24 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
/* 005F8 809C5E28 10000042 */ beq $zero, $zero, .L809C5F34
/* 005FC 809C5E2C 8FBF002C */ lw $ra, 0x002C($sp)
.L809C5E30:
/* 00600 809C5E30 0C00BD68 */ jal Actor_HasNoParent
/* 00604 809C5E34 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00608 809C5E38 1040003D */ beq $v0, $zero, .L809C5F30
/* 0060C 809C5E3C 8FB80034 */ lw $t8, 0x0034($sp)
/* 00610 809C5E40 8F080024 */ lw $t0, 0x0024($t8) ## 00000024
/* 00614 809C5E44 4480A000 */ mtc1 $zero, $f20 ## $f20 = 0.00
/* 00618 809C5E48 24090004 */ addiu $t1, $zero, 0x0004 ## $t1 = 00000004
/* 0061C 809C5E4C AE080024 */ sw $t0, 0x0024($s0) ## 00000024
/* 00620 809C5E50 8F190028 */ lw $t9, 0x0028($t8) ## 00000028
/* 00624 809C5E54 4406A000 */ mfc1 $a2, $f20
/* 00628 809C5E58 4407A000 */ mfc1 $a3, $f20
/* 0062C 809C5E5C AE190028 */ sw $t9, 0x0028($s0) ## 00000028
/* 00630 809C5E60 8F08002C */ lw $t0, 0x002C($t8) ## 0000002C
/* 00634 809C5E64 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 00638 809C5E68 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 0063C 809C5E6C AE08002C */ sw $t0, 0x002C($s0) ## 0000002C
/* 00640 809C5E70 AFA90014 */ sw $t1, 0x0014($sp)
/* 00644 809C5E74 0C00B92D */ jal Actor_UpdateBgCheckInfo
/* 00648 809C5E78 E7B40010 */ swc1 $f20, 0x0010($sp)
/* 0064C 809C5E7C 8FAA0034 */ lw $t2, 0x0034($sp)
/* 00650 809C5E80 854B00B6 */ lh $t3, 0x00B6($t2) ## 000000B6
/* 00654 809C5E84 A60B00B6 */ sh $t3, 0x00B6($s0) ## 000000B6
/* 00658 809C5E88 0C01DE1C */ jal Math_SinS
## sins?
/* 0065C 809C5E8C 860400B6 */ lh $a0, 0x00B6($s0) ## 000000B6
/* 00660 809C5E90 E6000154 */ swc1 $f0, 0x0154($s0) ## 00000154
/* 00664 809C5E94 E6140158 */ swc1 $f20, 0x0158($s0) ## 00000158
/* 00668 809C5E98 0C01DE0D */ jal Math_CosS
## coss?
/* 0066C 809C5E9C 860400B6 */ lh $a0, 0x00B6($s0) ## 000000B6
/* 00670 809C5EA0 860400B6 */ lh $a0, 0x00B6($s0) ## 000000B6
/* 00674 809C5EA4 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 00678 809C5EA8 44812000 */ mtc1 $at, $f4 ## $f4 = 1.00
/* 0067C 809C5EAC 24844000 */ addiu $a0, $a0, 0x4000 ## $a0 = 00004000
/* 00680 809C5EB0 00042400 */ sll $a0, $a0, 16
/* 00684 809C5EB4 E600015C */ swc1 $f0, 0x015C($s0) ## 0000015C
/* 00688 809C5EB8 E6140160 */ swc1 $f20, 0x0160($s0) ## 00000160
/* 0068C 809C5EBC E6140168 */ swc1 $f20, 0x0168($s0) ## 00000168
/* 00690 809C5EC0 00042403 */ sra $a0, $a0, 16
/* 00694 809C5EC4 0C01DE1C */ jal Math_SinS
## sins?
/* 00698 809C5EC8 E6040164 */ swc1 $f4, 0x0164($s0) ## 00000164
/* 0069C 809C5ECC 860400B6 */ lh $a0, 0x00B6($s0) ## 000000B6
/* 006A0 809C5ED0 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00
/* 006A4 809C5ED4 E600016C */ swc1 $f0, 0x016C($s0) ## 0000016C
/* 006A8 809C5ED8 24844000 */ addiu $a0, $a0, 0x4000 ## $a0 = 00004000
/* 006AC 809C5EDC 00042400 */ sll $a0, $a0, 16
/* 006B0 809C5EE0 00042403 */ sra $a0, $a0, 16
/* 006B4 809C5EE4 0C01DE0D */ jal Math_CosS
## coss?
/* 006B8 809C5EE8 E6060170 */ swc1 $f6, 0x0170($s0) ## 00000170
/* 006BC 809C5EEC 3C014100 */ lui $at, 0x4100 ## $at = 41000000
/* 006C0 809C5EF0 44814000 */ mtc1 $at, $f8 ## $f8 = 8.00
/* 006C4 809C5EF4 E6000174 */ swc1 $f0, 0x0174($s0) ## 00000174
/* 006C8 809C5EF8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 006CC 809C5EFC 8E050078 */ lw $a1, 0x0078($s0) ## 00000078
/* 006D0 809C5F00 02203025 */ or $a2, $s1, $zero ## $a2 = 00000000
/* 006D4 809C5F04 0C2716EA */ jal func_809C5BA8
/* 006D8 809C5F08 E6080068 */ swc1 $f8, 0x0068($s0) ## 00000068
/* 006DC 809C5F0C 8E0C0004 */ lw $t4, 0x0004($s0) ## 00000004
/* 006E0 809C5F10 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 006E4 809C5F14 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 006E8 809C5F18 358D0001 */ ori $t5, $t4, 0x0001 ## $t5 = 00000001
/* 006EC 809C5F1C 0C00BE14 */ jal func_8002F850
/* 006F0 809C5F20 AE0D0004 */ sw $t5, 0x0004($s0) ## 00000004
/* 006F4 809C5F24 3C0E809C */ lui $t6, %hi(func_809C5F48) ## $t6 = 809C0000
/* 006F8 809C5F28 25CE5F48 */ addiu $t6, $t6, %lo(func_809C5F48) ## $t6 = 809C5F48
/* 006FC 809C5F2C AE0E014C */ sw $t6, 0x014C($s0) ## 0000014C
.L809C5F30:
/* 00700 809C5F30 8FBF002C */ lw $ra, 0x002C($sp)
.L809C5F34:
/* 00704 809C5F34 D7B40018 */ ldc1 $f20, 0x0018($sp)
/* 00708 809C5F38 8FB00024 */ lw $s0, 0x0024($sp)
/* 0070C 809C5F3C 8FB10028 */ lw $s1, 0x0028($sp)
/* 00710 809C5F40 03E00008 */ jr $ra
/* 00714 809C5F44 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000

View file

@ -1,344 +0,0 @@
glabel func_809C5F48
/* 00718 809C5F48 3C014100 */ lui $at, 0x4100 ## $at = 41000000
/* 0071C 809C5F4C 44810000 */ mtc1 $at, $f0 ## $f0 = 8.00
/* 00720 809C5F50 3C014000 */ lui $at, 0x4000 ## $at = 40000000
/* 00724 809C5F54 44812000 */ mtc1 $at, $f4 ## $f4 = 2.00
/* 00728 809C5F58 27BDFF60 */ addiu $sp, $sp, 0xFF60 ## $sp = FFFFFF60
/* 0072C 809C5F5C AFBF0044 */ sw $ra, 0x0044($sp)
/* 00730 809C5F60 46040402 */ mul.s $f16, $f0, $f4
/* 00734 809C5F64 AFB20040 */ sw $s2, 0x0040($sp)
/* 00738 809C5F68 AFB1003C */ sw $s1, 0x003C($sp)
/* 0073C 809C5F6C AFB00038 */ sw $s0, 0x0038($sp)
/* 00740 809C5F70 F7B40030 */ sdc1 $f20, 0x0030($sp)
/* 00744 809C5F74 84820150 */ lh $v0, 0x0150($a0) ## 00000150
/* 00748 809C5F78 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000
/* 0074C 809C5F7C 00808825 */ or $s1, $a0, $zero ## $s1 = 00000000
/* 00750 809C5F80 46008506 */ mov.s $f20, $f16
/* 00754 809C5F84 10400004 */ beq $v0, $zero, .L809C5F98
/* 00758 809C5F88 E4800068 */ swc1 $f0, 0x0068($a0) ## 00000068
/* 0075C 809C5F8C 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF
/* 00760 809C5F90 A48E0150 */ sh $t6, 0x0150($a0) ## 00000150
/* 00764 809C5F94 84820150 */ lh $v0, 0x0150($a0) ## 00000150
.L809C5F98:
/* 00768 809C5F98 1040000E */ beq $v0, $zero, .L809C5FD4
/* 0076C 809C5F9C 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 00770 809C5FA0 922F0195 */ lbu $t7, 0x0195($s1) ## 00000195
/* 00774 809C5FA4 31F80002 */ andi $t8, $t7, 0x0002 ## $t8 = 00000000
/* 00778 809C5FA8 1700000A */ bne $t8, $zero, .L809C5FD4
/* 0077C 809C5FAC 00000000 */ nop
/* 00780 809C5FB0 92390196 */ lbu $t9, 0x0196($s1) ## 00000196
/* 00784 809C5FB4 33280002 */ andi $t0, $t9, 0x0002 ## $t0 = 00000000
/* 00788 809C5FB8 5100000B */ beql $t0, $zero, .L809C5FE8
/* 0078C 809C5FBC C6200160 */ lwc1 $f0, 0x0160($s1) ## 00000160
/* 00790 809C5FC0 8E290190 */ lw $t1, 0x0190($s1) ## 00000190
/* 00794 809C5FC4 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
/* 00798 809C5FC8 912A0002 */ lbu $t2, 0x0002($t1) ## 00000002
/* 0079C 809C5FCC 51410006 */ beql $t2, $at, .L809C5FE8
/* 007A0 809C5FD0 C6200160 */ lwc1 $f0, 0x0160($s1) ## 00000160
.L809C5FD4:
/* 007A4 809C5FD4 0C271687 */ jal func_809C5A1C
/* 007A8 809C5FD8 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 007AC 809C5FDC 10000119 */ beq $zero, $zero, .L809C6444
/* 007B0 809C5FE0 8FBF0044 */ lw $ra, 0x0044($sp)
/* 007B4 809C5FE4 C6200160 */ lwc1 $f0, 0x0160($s1) ## 00000160
.L809C5FE8:
/* 007B8 809C5FE8 C6260024 */ lwc1 $f6, 0x0024($s1) ## 00000024
/* 007BC 809C5FEC 3C014080 */ lui $at, 0x4080 ## $at = 40800000
/* 007C0 809C5FF0 46000200 */ add.s $f8, $f0, $f0
/* 007C4 809C5FF4 44817000 */ mtc1 $at, $f14 ## $f14 = 4.00
/* 007C8 809C5FF8 261207C0 */ addiu $s2, $s0, 0x07C0 ## $s2 = 000007C0
/* 007CC 809C5FFC 27AB0098 */ addiu $t3, $sp, 0x0098 ## $t3 = FFFFFFF8
/* 007D0 809C6000 46083280 */ add.s $f10, $f6, $f8
/* 007D4 809C6004 240C0001 */ addiu $t4, $zero, 0x0001 ## $t4 = 00000001
/* 007D8 809C6008 240D0001 */ addiu $t5, $zero, 0x0001 ## $t5 = 00000001
/* 007DC 809C600C 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001
/* 007E0 809C6010 E7AA007C */ swc1 $f10, 0x007C($sp)
/* 007E4 809C6014 C6220164 */ lwc1 $f2, 0x0164($s1) ## 00000164
/* 007E8 809C6018 C6320028 */ lwc1 $f18, 0x0028($s1) ## 00000028
/* 007EC 809C601C 240F0001 */ addiu $t7, $zero, 0x0001 ## $t7 = 00000001
/* 007F0 809C6020 46021100 */ add.s $f4, $f2, $f2
/* 007F4 809C6024 27B80090 */ addiu $t8, $sp, 0x0090 ## $t8 = FFFFFFF0
/* 007F8 809C6028 02402025 */ or $a0, $s2, $zero ## $a0 = 000007C0
/* 007FC 809C602C 27A5007C */ addiu $a1, $sp, 0x007C ## $a1 = FFFFFFDC
/* 00800 809C6030 46049180 */ add.s $f6, $f18, $f4
/* 00804 809C6034 27A60070 */ addiu $a2, $sp, 0x0070 ## $a2 = FFFFFFD0
/* 00808 809C6038 27A70058 */ addiu $a3, $sp, 0x0058 ## $a3 = FFFFFFB8
/* 0080C 809C603C E7A60080 */ swc1 $f6, 0x0080($sp)
/* 00810 809C6040 C62C0168 */ lwc1 $f12, 0x0168($s1) ## 00000168
/* 00814 809C6044 C628002C */ lwc1 $f8, 0x002C($s1) ## 0000002C
/* 00818 809C6048 460C6280 */ add.s $f10, $f12, $f12
/* 0081C 809C604C 460A4480 */ add.s $f18, $f8, $f10
/* 00820 809C6050 E7B20084 */ swc1 $f18, 0x0084($sp)
/* 00824 809C6054 C6260160 */ lwc1 $f6, 0x0160($s1) ## 00000160
/* 00828 809C6058 C6240024 */ lwc1 $f4, 0x0024($s1) ## 00000024
/* 0082C 809C605C 460E3202 */ mul.s $f8, $f6, $f14
/* 00830 809C6060 46082281 */ sub.s $f10, $f4, $f8
/* 00834 809C6064 E7AA0070 */ swc1 $f10, 0x0070($sp)
/* 00838 809C6068 C6260164 */ lwc1 $f6, 0x0164($s1) ## 00000164
/* 0083C 809C606C C6320028 */ lwc1 $f18, 0x0028($s1) ## 00000028
/* 00840 809C6070 460E3102 */ mul.s $f4, $f6, $f14
/* 00844 809C6074 46049201 */ sub.s $f8, $f18, $f4
/* 00848 809C6078 E7A80074 */ swc1 $f8, 0x0074($sp)
/* 0084C 809C607C C6260168 */ lwc1 $f6, 0x0168($s1) ## 00000168
/* 00850 809C6080 C62A002C */ lwc1 $f10, 0x002C($s1) ## 0000002C
/* 00854 809C6084 E7B00054 */ swc1 $f16, 0x0054($sp)
/* 00858 809C6088 460E3482 */ mul.s $f18, $f6, $f14
/* 0085C 809C608C AFB000A4 */ sw $s0, 0x00A4($sp)
/* 00860 809C6090 AFB80024 */ sw $t8, 0x0024($sp)
/* 00864 809C6094 AFAF0020 */ sw $t7, 0x0020($sp)
/* 00868 809C6098 AFAE001C */ sw $t6, 0x001C($sp)
/* 0086C 809C609C AFAD0018 */ sw $t5, 0x0018($sp)
/* 00870 809C60A0 AFAC0014 */ sw $t4, 0x0014($sp)
/* 00874 809C60A4 46125101 */ sub.s $f4, $f10, $f18
/* 00878 809C60A8 AFAB0010 */ sw $t3, 0x0010($sp)
/* 0087C 809C60AC 0C00F7A1 */ jal BgCheck_EntityLineTest1
/* 00880 809C60B0 E7A40078 */ swc1 $f4, 0x0078($sp)
/* 00884 809C60B4 1040005A */ beq $v0, $zero, .L809C6220
/* 00888 809C60B8 02402025 */ or $a0, $s2, $zero ## $a0 = 000007C0
/* 0088C 809C60BC 8FA50098 */ lw $a1, 0x0098($sp)
/* 00890 809C60C0 0C01076E */ jal func_80041DB8
/* 00894 809C60C4 8FA60090 */ lw $a2, 0x0090($sp)
/* 00898 809C60C8 30590030 */ andi $t9, $v0, 0x0030 ## $t9 = 00000000
/* 0089C 809C60CC 17200054 */ bne $t9, $zero, .L809C6220
/* 008A0 809C60D0 02402025 */ or $a0, $s2, $zero ## $a0 = 000007C0
/* 008A4 809C60D4 8FA50098 */ lw $a1, 0x0098($sp)
/* 008A8 809C60D8 0C010812 */ jal SurfaceType_IsIgnoredByProjectiles
/* 008AC 809C60DC 8FA60090 */ lw $a2, 0x0090($sp)
/* 008B0 809C60E0 54400050 */ bnel $v0, $zero, .L809C6224
/* 008B4 809C60E4 44809000 */ mtc1 $zero, $f18 ## $f18 = 0.00
/* 008B8 809C60E8 C6280154 */ lwc1 $f8, 0x0154($s1) ## 00000154
/* 008BC 809C60EC C7AA007C */ lwc1 $f10, 0x007C($sp)
/* 008C0 809C60F0 27A8009C */ addiu $t0, $sp, 0x009C ## $t0 = FFFFFFFC
/* 008C4 809C60F4 46144182 */ mul.s $f6, $f8, $f20
/* 008C8 809C60F8 24090001 */ addiu $t1, $zero, 0x0001 ## $t1 = 00000001
/* 008CC 809C60FC 240A0001 */ addiu $t2, $zero, 0x0001 ## $t2 = 00000001
/* 008D0 809C6100 240B0001 */ addiu $t3, $zero, 0x0001 ## $t3 = 00000001
/* 008D4 809C6104 240C0001 */ addiu $t4, $zero, 0x0001 ## $t4 = 00000001
/* 008D8 809C6108 27AD0094 */ addiu $t5, $sp, 0x0094 ## $t5 = FFFFFFF4
/* 008DC 809C610C 02402025 */ or $a0, $s2, $zero ## $a0 = 000007C0
/* 008E0 809C6110 460A3480 */ add.s $f18, $f6, $f10
/* 008E4 809C6114 C7A60080 */ lwc1 $f6, 0x0080($sp)
/* 008E8 809C6118 27A5007C */ addiu $a1, $sp, 0x007C ## $a1 = FFFFFFDC
/* 008EC 809C611C 27A60070 */ addiu $a2, $sp, 0x0070 ## $a2 = FFFFFFD0
/* 008F0 809C6120 E7B20070 */ swc1 $f18, 0x0070($sp)
/* 008F4 809C6124 C6240158 */ lwc1 $f4, 0x0158($s1) ## 00000158
/* 008F8 809C6128 27A70064 */ addiu $a3, $sp, 0x0064 ## $a3 = FFFFFFC4
/* 008FC 809C612C 46142202 */ mul.s $f8, $f4, $f20
/* 00900 809C6130 46064280 */ add.s $f10, $f8, $f6
/* 00904 809C6134 C7A80084 */ lwc1 $f8, 0x0084($sp)
/* 00908 809C6138 E7AA0074 */ swc1 $f10, 0x0074($sp)
/* 0090C 809C613C C632015C */ lwc1 $f18, 0x015C($s1) ## 0000015C
/* 00910 809C6140 AFAD0024 */ sw $t5, 0x0024($sp)
/* 00914 809C6144 AFAC0020 */ sw $t4, 0x0020($sp)
/* 00918 809C6148 46149102 */ mul.s $f4, $f18, $f20
/* 0091C 809C614C AFAB001C */ sw $t3, 0x001C($sp)
/* 00920 809C6150 AFAA0018 */ sw $t2, 0x0018($sp)
/* 00924 809C6154 AFA90014 */ sw $t1, 0x0014($sp)
/* 00928 809C6158 AFA80010 */ sw $t0, 0x0010($sp)
/* 0092C 809C615C 46082180 */ add.s $f6, $f4, $f8
/* 00930 809C6160 0C00F7A1 */ jal BgCheck_EntityLineTest1
/* 00934 809C6164 E7A60078 */ swc1 $f6, 0x0078($sp)
/* 00938 809C6168 1040001B */ beq $v0, $zero, .L809C61D8
/* 0093C 809C616C 02402025 */ or $a0, $s2, $zero ## $a0 = 000007C0
/* 00940 809C6170 8FA5009C */ lw $a1, 0x009C($sp)
/* 00944 809C6174 0C01076E */ jal func_80041DB8
/* 00948 809C6178 8FA60094 */ lw $a2, 0x0094($sp)
/* 0094C 809C617C 304E0030 */ andi $t6, $v0, 0x0030 ## $t6 = 00000000
/* 00950 809C6180 15C00015 */ bne $t6, $zero, .L809C61D8
/* 00954 809C6184 02402025 */ or $a0, $s2, $zero ## $a0 = 000007C0
/* 00958 809C6188 8FA5009C */ lw $a1, 0x009C($sp)
/* 0095C 809C618C 0C010812 */ jal SurfaceType_IsIgnoredByProjectiles
/* 00960 809C6190 8FA60094 */ lw $a2, 0x0094($sp)
/* 00964 809C6194 14400010 */ bne $v0, $zero, .L809C61D8
/* 00968 809C6198 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 0096C 809C619C 8FA5009C */ lw $a1, 0x009C($sp)
/* 00970 809C61A0 0C2716EA */ jal func_809C5BA8
/* 00974 809C61A4 8FA600A4 */ lw $a2, 0x00A4($sp)
/* 00978 809C61A8 27AF0064 */ addiu $t7, $sp, 0x0064 ## $t7 = FFFFFFC4
/* 0097C 809C61AC 8DF90000 */ lw $t9, 0x0000($t7) ## FFFFFFC4
/* 00980 809C61B0 44805000 */ mtc1 $zero, $f10 ## $f10 = 0.00
/* 00984 809C61B4 AE390024 */ sw $t9, 0x0024($s1) ## 00000024
/* 00988 809C61B8 8DF80004 */ lw $t8, 0x0004($t7) ## FFFFFFC8
/* 0098C 809C61BC AE380028 */ sw $t8, 0x0028($s1) ## 00000028
/* 00990 809C61C0 8DF90008 */ lw $t9, 0x0008($t7) ## FFFFFFCC
/* 00994 809C61C4 AE39002C */ sw $t9, 0x002C($s1) ## 0000002C
/* 00998 809C61C8 8FA80094 */ lw $t0, 0x0094($sp)
/* 0099C 809C61CC E62A0068 */ swc1 $f10, 0x0068($s1) ## 00000068
/* 009A0 809C61D0 10000089 */ beq $zero, $zero, .L809C63F8
/* 009A4 809C61D4 A228007D */ sb $t0, 0x007D($s1) ## 0000007D
.L809C61D8:
/* 009A8 809C61D8 8FA90098 */ lw $t1, 0x0098($sp)
/* 009AC 809C61DC 8E2A0078 */ lw $t2, 0x0078($s1) ## 00000078
/* 009B0 809C61E0 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 009B4 809C61E4 01202825 */ or $a1, $t1, $zero ## $a1 = 00000000
/* 009B8 809C61E8 512A0004 */ beql $t1, $t2, .L809C61FC
/* 009BC 809C61EC 27AB0058 */ addiu $t3, $sp, 0x0058 ## $t3 = FFFFFFB8
/* 009C0 809C61F0 0C2716EA */ jal func_809C5BA8
/* 009C4 809C61F4 8FA600A4 */ lw $a2, 0x00A4($sp)
/* 009C8 809C61F8 27AB0058 */ addiu $t3, $sp, 0x0058 ## $t3 = FFFFFFB8
.L809C61FC:
/* 009CC 809C61FC 8D6D0000 */ lw $t5, 0x0000($t3) ## FFFFFFB8
/* 009D0 809C6200 AE2D0024 */ sw $t5, 0x0024($s1) ## 00000024
/* 009D4 809C6204 8D6C0004 */ lw $t4, 0x0004($t3) ## FFFFFFBC
/* 009D8 809C6208 AE2C0028 */ sw $t4, 0x0028($s1) ## 00000028
/* 009DC 809C620C 8D6D0008 */ lw $t5, 0x0008($t3) ## FFFFFFC0
/* 009E0 809C6210 AE2D002C */ sw $t5, 0x002C($s1) ## 0000002C
/* 009E4 809C6214 8FAE0090 */ lw $t6, 0x0090($sp)
/* 009E8 809C6218 10000077 */ beq $zero, $zero, .L809C63F8
/* 009EC 809C621C A22E007D */ sb $t6, 0x007D($s1) ## 0000007D
.L809C6220:
/* 009F0 809C6220 44809000 */ mtc1 $zero, $f18 ## $f18 = 0.00
.L809C6224:
/* 009F4 809C6224 27A60070 */ addiu $a2, $sp, 0x0070 ## $a2 = FFFFFFD0
/* 009F8 809C6228 27A5007C */ addiu $a1, $sp, 0x007C ## $a1 = FFFFFFDC
/* 009FC 809C622C E6320068 */ swc1 $f18, 0x0068($s1) ## 00000068
/* 00A00 809C6230 8CD80000 */ lw $t8, 0x0000($a2) ## FFFFFFD0
/* 00A04 809C6234 C7A40054 */ lwc1 $f4, 0x0054($sp)
/* 00A08 809C6238 3C014040 */ lui $at, 0x4040 ## $at = 40400000
/* 00A0C 809C623C 44814000 */ mtc1 $at, $f8 ## $f8 = 3.00
/* 00A10 809C6240 ACB80000 */ sw $t8, 0x0000($a1) ## FFFFFFDC
/* 00A14 809C6244 8CD80008 */ lw $t8, 0x0008($a2) ## FFFFFFD8
/* 00A18 809C6248 8CCF0004 */ lw $t7, 0x0004($a2) ## FFFFFFD4
/* 00A1C 809C624C 46082502 */ mul.s $f20, $f4, $f8
/* 00A20 809C6250 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000
/* 00A24 809C6254 ACB80008 */ sw $t8, 0x0008($a1) ## FFFFFFE4
/* 00A28 809C6258 ACAF0004 */ sw $t7, 0x0004($a1) ## FFFFFFE0
/* 00A2C 809C625C 27A5007C */ addiu $a1, $sp, 0x007C ## $a1 = FFFFFFDC
.L809C6260:
/* 00A30 809C6260 16000011 */ bne $s0, $zero, .L809C62A8
/* 00A34 809C6264 27A60070 */ addiu $a2, $sp, 0x0070 ## $a2 = FFFFFFD0
/* 00A38 809C6268 C62A0154 */ lwc1 $f10, 0x0154($s1) ## 00000154
/* 00A3C 809C626C C7A6007C */ lwc1 $f6, 0x007C($sp)
/* 00A40 809C6270 C7A80080 */ lwc1 $f8, 0x0080($sp)
/* 00A44 809C6274 46145482 */ mul.s $f18, $f10, $f20
/* 00A48 809C6278 46123101 */ sub.s $f4, $f6, $f18
/* 00A4C 809C627C E7A40070 */ swc1 $f4, 0x0070($sp)
/* 00A50 809C6280 C62A0158 */ lwc1 $f10, 0x0158($s1) ## 00000158
/* 00A54 809C6284 C7A40084 */ lwc1 $f4, 0x0084($sp)
/* 00A58 809C6288 46145182 */ mul.s $f6, $f10, $f20
/* 00A5C 809C628C 46064481 */ sub.s $f18, $f8, $f6
/* 00A60 809C6290 E7B20074 */ swc1 $f18, 0x0074($sp)
/* 00A64 809C6294 C62A015C */ lwc1 $f10, 0x015C($s1) ## 0000015C
/* 00A68 809C6298 46145202 */ mul.s $f8, $f10, $f20
/* 00A6C 809C629C 46082181 */ sub.s $f6, $f4, $f8
/* 00A70 809C62A0 10000023 */ beq $zero, $zero, .L809C6330
/* 00A74 809C62A4 E7A60078 */ swc1 $f6, 0x0078($sp)
.L809C62A8:
/* 00A78 809C62A8 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 00A7C 809C62AC 56010012 */ bnel $s0, $at, .L809C62F8
/* 00A80 809C62B0 C628016C */ lwc1 $f8, 0x016C($s1) ## 0000016C
/* 00A84 809C62B4 C632016C */ lwc1 $f18, 0x016C($s1) ## 0000016C
/* 00A88 809C62B8 C7A4007C */ lwc1 $f4, 0x007C($sp)
/* 00A8C 809C62BC 46149282 */ mul.s $f10, $f18, $f20
/* 00A90 809C62C0 46045200 */ add.s $f8, $f10, $f4
/* 00A94 809C62C4 C7AA0080 */ lwc1 $f10, 0x0080($sp)
/* 00A98 809C62C8 E7A80070 */ swc1 $f8, 0x0070($sp)
/* 00A9C 809C62CC C6260170 */ lwc1 $f6, 0x0170($s1) ## 00000170
/* 00AA0 809C62D0 46143482 */ mul.s $f18, $f6, $f20
/* 00AA4 809C62D4 460A9100 */ add.s $f4, $f18, $f10
/* 00AA8 809C62D8 C7B20084 */ lwc1 $f18, 0x0084($sp)
/* 00AAC 809C62DC E7A40074 */ swc1 $f4, 0x0074($sp)
/* 00AB0 809C62E0 C6280174 */ lwc1 $f8, 0x0174($s1) ## 00000174
/* 00AB4 809C62E4 46144182 */ mul.s $f6, $f8, $f20
/* 00AB8 809C62E8 46123280 */ add.s $f10, $f6, $f18
/* 00ABC 809C62EC 10000010 */ beq $zero, $zero, .L809C6330
/* 00AC0 809C62F0 E7AA0078 */ swc1 $f10, 0x0078($sp)
/* 00AC4 809C62F4 C628016C */ lwc1 $f8, 0x016C($s1) ## 0000016C
.L809C62F8:
/* 00AC8 809C62F8 C7A4007C */ lwc1 $f4, 0x007C($sp)
/* 00ACC 809C62FC C7AA0080 */ lwc1 $f10, 0x0080($sp)
/* 00AD0 809C6300 46144182 */ mul.s $f6, $f8, $f20
/* 00AD4 809C6304 46062481 */ sub.s $f18, $f4, $f6
/* 00AD8 809C6308 E7B20070 */ swc1 $f18, 0x0070($sp)
/* 00ADC 809C630C C6280170 */ lwc1 $f8, 0x0170($s1) ## 00000170
/* 00AE0 809C6310 C7B20084 */ lwc1 $f18, 0x0084($sp)
/* 00AE4 809C6314 46144102 */ mul.s $f4, $f8, $f20
/* 00AE8 809C6318 46045181 */ sub.s $f6, $f10, $f4
/* 00AEC 809C631C E7A60074 */ swc1 $f6, 0x0074($sp)
/* 00AF0 809C6320 C6280174 */ lwc1 $f8, 0x0174($s1) ## 00000174
/* 00AF4 809C6324 46144282 */ mul.s $f10, $f8, $f20
/* 00AF8 809C6328 460A9101 */ sub.s $f4, $f18, $f10
/* 00AFC 809C632C E7A40078 */ swc1 $f4, 0x0078($sp)
.L809C6330:
/* 00B00 809C6330 27B9009C */ addiu $t9, $sp, 0x009C ## $t9 = FFFFFFFC
/* 00B04 809C6334 24080001 */ addiu $t0, $zero, 0x0001 ## $t0 = 00000001
/* 00B08 809C6338 240A0001 */ addiu $t2, $zero, 0x0001 ## $t2 = 00000001
/* 00B0C 809C633C 24090001 */ addiu $t1, $zero, 0x0001 ## $t1 = 00000001
/* 00B10 809C6340 240B0001 */ addiu $t3, $zero, 0x0001 ## $t3 = 00000001
/* 00B14 809C6344 27AC0094 */ addiu $t4, $sp, 0x0094 ## $t4 = FFFFFFF4
/* 00B18 809C6348 AFAC0024 */ sw $t4, 0x0024($sp)
/* 00B1C 809C634C AFAB0020 */ sw $t3, 0x0020($sp)
/* 00B20 809C6350 AFA9001C */ sw $t1, 0x001C($sp)
/* 00B24 809C6354 AFAA0018 */ sw $t2, 0x0018($sp)
/* 00B28 809C6358 AFA80014 */ sw $t0, 0x0014($sp)
/* 00B2C 809C635C AFB90010 */ sw $t9, 0x0010($sp)
/* 00B30 809C6360 02402025 */ or $a0, $s2, $zero ## $a0 = 000007C0
/* 00B34 809C6364 0C00F7A1 */ jal BgCheck_EntityLineTest1
/* 00B38 809C6368 27A70064 */ addiu $a3, $sp, 0x0064 ## $a3 = FFFFFFC4
/* 00B3C 809C636C 10400019 */ beq $v0, $zero, .L809C63D4
/* 00B40 809C6370 02402025 */ or $a0, $s2, $zero ## $a0 = 000007C0
/* 00B44 809C6374 8FA5009C */ lw $a1, 0x009C($sp)
/* 00B48 809C6378 0C01076E */ jal func_80041DB8
/* 00B4C 809C637C 8FA60094 */ lw $a2, 0x0094($sp)
/* 00B50 809C6380 304D0030 */ andi $t5, $v0, 0x0030 ## $t5 = 00000000
/* 00B54 809C6384 15A00013 */ bne $t5, $zero, .L809C63D4
/* 00B58 809C6388 02402025 */ or $a0, $s2, $zero ## $a0 = 000007C0
/* 00B5C 809C638C 8FA5009C */ lw $a1, 0x009C($sp)
/* 00B60 809C6390 0C010812 */ jal SurfaceType_IsIgnoredByProjectiles
/* 00B64 809C6394 8FA60094 */ lw $a2, 0x0094($sp)
/* 00B68 809C6398 1440000E */ bne $v0, $zero, .L809C63D4
/* 00B6C 809C639C 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 00B70 809C63A0 8FA5009C */ lw $a1, 0x009C($sp)
/* 00B74 809C63A4 0C2716EA */ jal func_809C5BA8
/* 00B78 809C63A8 8FA600A4 */ lw $a2, 0x00A4($sp)
/* 00B7C 809C63AC 27AE0064 */ addiu $t6, $sp, 0x0064 ## $t6 = FFFFFFC4
/* 00B80 809C63B0 8DD80000 */ lw $t8, 0x0000($t6) ## FFFFFFC4
/* 00B84 809C63B4 AE380024 */ sw $t8, 0x0024($s1) ## 00000024
/* 00B88 809C63B8 8DCF0004 */ lw $t7, 0x0004($t6) ## FFFFFFC8
/* 00B8C 809C63BC AE2F0028 */ sw $t7, 0x0028($s1) ## 00000028
/* 00B90 809C63C0 8DD80008 */ lw $t8, 0x0008($t6) ## FFFFFFCC
/* 00B94 809C63C4 AE38002C */ sw $t8, 0x002C($s1) ## 0000002C
/* 00B98 809C63C8 8FB90094 */ lw $t9, 0x0094($sp)
/* 00B9C 809C63CC 10000005 */ beq $zero, $zero, .L809C63E4
/* 00BA0 809C63D0 A239007D */ sb $t9, 0x007D($s1) ## 0000007D
.L809C63D4:
/* 00BA4 809C63D4 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001
/* 00BA8 809C63D8 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
/* 00BAC 809C63DC 5601FFA0 */ bnel $s0, $at, .L809C6260
/* 00BB0 809C63E0 27A5007C */ addiu $a1, $sp, 0x007C ## $a1 = FFFFFFDC
.L809C63E4:
/* 00BB4 809C63E4 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
/* 00BB8 809C63E8 16010003 */ bne $s0, $at, .L809C63F8
/* 00BBC 809C63EC 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 00BC0 809C63F0 0C271687 */ jal func_809C5A1C
/* 00BC4 809C63F4 8FA500A4 */ lw $a1, 0x00A4($sp)
.L809C63F8:
/* 00BC8 809C63F8 86250030 */ lh $a1, 0x0030($s1) ## 00000030
/* 00BCC 809C63FC 262400B4 */ addiu $a0, $s1, 0x00B4 ## $a0 = 000000B4
/* 00BD0 809C6400 24060800 */ addiu $a2, $zero, 0x0800 ## $a2 = 00000800
/* 00BD4 809C6404 00052823 */ subu $a1, $zero, $a1
/* 00BD8 809C6408 00052C00 */ sll $a1, $a1, 16
/* 00BDC 809C640C 0C01DE2B */ jal Math_ScaledStepToS
/* 00BE0 809C6410 00052C03 */ sra $a1, $a1, 16
/* 00BE4 809C6414 262400B6 */ addiu $a0, $s1, 0x00B6 ## $a0 = 000000B6
/* 00BE8 809C6418 86250032 */ lh $a1, 0x0032($s1) ## 00000032
/* 00BEC 809C641C 0C01DE2B */ jal Math_ScaledStepToS
/* 00BF0 809C6420 24060800 */ addiu $a2, $zero, 0x0800 ## $a2 = 00000800
/* 00BF4 809C6424 262400B8 */ addiu $a0, $s1, 0x00B8 ## $a0 = 000000B8
/* 00BF8 809C6428 86250034 */ lh $a1, 0x0034($s1) ## 00000034
/* 00BFC 809C642C 0C01DE2B */ jal Math_ScaledStepToS
/* 00C00 809C6430 24060800 */ addiu $a2, $zero, 0x0800 ## $a2 = 00000800
/* 00C04 809C6434 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 00C08 809C6438 0C00BE3C */ jal func_8002F8F0
/* 00C0C 809C643C 24051031 */ addiu $a1, $zero, 0x1031 ## $a1 = 00001031
/* 00C10 809C6440 8FBF0044 */ lw $ra, 0x0044($sp)
.L809C6444:
/* 00C14 809C6444 D7B40030 */ ldc1 $f20, 0x0030($sp)
/* 00C18 809C6448 8FB00038 */ lw $s0, 0x0038($sp)
/* 00C1C 809C644C 8FB1003C */ lw $s1, 0x003C($sp)
/* 00C20 809C6450 8FB20040 */ lw $s2, 0x0040($sp)
/* 00C24 809C6454 03E00008 */ jr $ra
/* 00C28 809C6458 27BD00A0 */ addiu $sp, $sp, 0x00A0 ## $sp = 00000000

View file

@ -1,20 +0,0 @@
glabel func_809C645C
/* 00C2C 809C645C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00C30 809C6460 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00C34 809C6464 AFA5001C */ sw $a1, 0x001C($sp)
/* 00C38 809C6468 84820150 */ lh $v0, 0x0150($a0) ## 00000150
/* 00C3C 809C646C 10400003 */ beq $v0, $zero, .L809C647C
/* 00C40 809C6470 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF
/* 00C44 809C6474 A48E0150 */ sh $t6, 0x0150($a0) ## 00000150
/* 00C48 809C6478 84820150 */ lh $v0, 0x0150($a0) ## 00000150
.L809C647C:
/* 00C4C 809C647C 54400004 */ bnel $v0, $zero, .L809C6490
/* 00C50 809C6480 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00C54 809C6484 0C00B55C */ jal Actor_Kill
/* 00C58 809C6488 00000000 */ nop
/* 00C5C 809C648C 8FBF0014 */ lw $ra, 0x0014($sp)
.L809C6490:
/* 00C60 809C6490 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00C64 809C6494 03E00008 */ jr $ra
/* 00C68 809C6498 00000000 */ nop

View file

@ -1,44 +0,0 @@
glabel func_809C649C
/* 00C6C 809C649C C4A40000 */ lwc1 $f4, 0x0000($a1) ## 00000000
/* 00C70 809C64A0 C4860178 */ lwc1 $f6, 0x0178($a0) ## 00000178
/* 00C74 809C64A4 C48A016C */ lwc1 $f10, 0x016C($a0) ## 0000016C
/* 00C78 809C64A8 C4880024 */ lwc1 $f8, 0x0024($a0) ## 00000024
/* 00C7C 809C64AC 46062000 */ add.s $f0, $f4, $f6
/* 00C80 809C64B0 C4A60004 */ lwc1 $f6, 0x0004($a1) ## 00000004
/* 00C84 809C64B4 C4840160 */ lwc1 $f4, 0x0160($a0) ## 00000160
/* 00C88 809C64B8 46005402 */ mul.s $f16, $f10, $f0
/* 00C8C 809C64BC 46104480 */ add.s $f18, $f8, $f16
/* 00C90 809C64C0 46062282 */ mul.s $f10, $f4, $f6
/* 00C94 809C64C4 C4A40008 */ lwc1 $f4, 0x0008($a1) ## 00000008
/* 00C98 809C64C8 C4900154 */ lwc1 $f16, 0x0154($a0) ## 00000154
/* 00C9C 809C64CC 46048182 */ mul.s $f6, $f16, $f4
/* 00CA0 809C64D0 460A9200 */ add.s $f8, $f18, $f10
/* 00CA4 809C64D4 46064480 */ add.s $f18, $f8, $f6
/* 00CA8 809C64D8 E4D20000 */ swc1 $f18, 0x0000($a2) ## 00000000
/* 00CAC 809C64DC C4900170 */ lwc1 $f16, 0x0170($a0) ## 00000170
/* 00CB0 809C64E0 C4B20004 */ lwc1 $f18, 0x0004($a1) ## 00000004
/* 00CB4 809C64E4 C4860164 */ lwc1 $f6, 0x0164($a0) ## 00000164
/* 00CB8 809C64E8 46008102 */ mul.s $f4, $f16, $f0
/* 00CBC 809C64EC C48A0028 */ lwc1 $f10, 0x0028($a0) ## 00000028
/* 00CC0 809C64F0 46123402 */ mul.s $f16, $f6, $f18
/* 00CC4 809C64F4 C4A60008 */ lwc1 $f6, 0x0008($a1) ## 00000008
/* 00CC8 809C64F8 46045200 */ add.s $f8, $f10, $f4
/* 00CCC 809C64FC C4840158 */ lwc1 $f4, 0x0158($a0) ## 00000158
/* 00CD0 809C6500 46062482 */ mul.s $f18, $f4, $f6
/* 00CD4 809C6504 46104280 */ add.s $f10, $f8, $f16
/* 00CD8 809C6508 46125200 */ add.s $f8, $f10, $f18
/* 00CDC 809C650C E4C80004 */ swc1 $f8, 0x0004($a2) ## 00000004
/* 00CE0 809C6510 C4840174 */ lwc1 $f4, 0x0174($a0) ## 00000174
/* 00CE4 809C6514 C4A80004 */ lwc1 $f8, 0x0004($a1) ## 00000004
/* 00CE8 809C6518 C4920168 */ lwc1 $f18, 0x0168($a0) ## 00000168
/* 00CEC 809C651C 46002182 */ mul.s $f6, $f4, $f0
/* 00CF0 809C6520 C490002C */ lwc1 $f16, 0x002C($a0) ## 0000002C
/* 00CF4 809C6524 46089102 */ mul.s $f4, $f18, $f8
/* 00CF8 809C6528 C4B20008 */ lwc1 $f18, 0x0008($a1) ## 00000008
/* 00CFC 809C652C 46068280 */ add.s $f10, $f16, $f6
/* 00D00 809C6530 C486015C */ lwc1 $f6, 0x015C($a0) ## 0000015C
/* 00D04 809C6534 46123202 */ mul.s $f8, $f6, $f18
/* 00D08 809C6538 46045400 */ add.s $f16, $f10, $f4
/* 00D0C 809C653C 46088280 */ add.s $f10, $f16, $f8
/* 00D10 809C6540 03E00008 */ jr $ra
/* 00D14 809C6544 E4CA0008 */ swc1 $f10, 0x0008($a2) ## 00000008

View file

@ -1,35 +0,0 @@
glabel func_809C6548
/* 00D18 809C6548 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
/* 00D1C 809C654C AFBF001C */ sw $ra, 0x001C($sp)
/* 00D20 809C6550 AFA40030 */ sw $a0, 0x0030($sp)
/* 00D24 809C6554 AFA50034 */ sw $a1, 0x0034($sp)
/* 00D28 809C6558 44866000 */ mtc1 $a2, $f12 ## $f12 = 0.00
/* 00D2C 809C655C C4840024 */ lwc1 $f4, 0x0024($a0) ## 00000024
/* 00D30 809C6560 24060046 */ addiu $a2, $zero, 0x0046 ## $a2 = 00000046
/* 00D34 809C6564 E7AC0028 */ swc1 $f12, 0x0028($sp)
/* 00D38 809C6568 E7A40024 */ swc1 $f4, 0x0024($sp)
/* 00D3C 809C656C C486002C */ lwc1 $f6, 0x002C($a0) ## 0000002C
/* 00D40 809C6570 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 00D44 809C6574 27A50024 */ addiu $a1, $sp, 0x0024 ## $a1 = FFFFFFF4
/* 00D48 809C6578 AFA00010 */ sw $zero, 0x0010($sp)
/* 00D4C 809C657C 240701F4 */ addiu $a3, $zero, 0x01F4 ## $a3 = 000001F4
/* 00D50 809C6580 0C00A511 */ jal EffectSsGRipple_Spawn
/* 00D54 809C6584 E7A6002C */ swc1 $f6, 0x002C($sp)
/* 00D58 809C6588 240F0004 */ addiu $t7, $zero, 0x0004 ## $t7 = 00000004
/* 00D5C 809C658C AFAF0010 */ sw $t7, 0x0010($sp)
/* 00D60 809C6590 8FA40034 */ lw $a0, 0x0034($sp)
/* 00D64 809C6594 27A50024 */ addiu $a1, $sp, 0x0024 ## $a1 = FFFFFFF4
/* 00D68 809C6598 24060046 */ addiu $a2, $zero, 0x0046 ## $a2 = 00000046
/* 00D6C 809C659C 0C00A511 */ jal EffectSsGRipple_Spawn
/* 00D70 809C65A0 240701F4 */ addiu $a3, $zero, 0x01F4 ## $a3 = 000001F4
/* 00D74 809C65A4 24180008 */ addiu $t8, $zero, 0x0008 ## $t8 = 00000008
/* 00D78 809C65A8 AFB80010 */ sw $t8, 0x0010($sp)
/* 00D7C 809C65AC 8FA40034 */ lw $a0, 0x0034($sp)
/* 00D80 809C65B0 27A50024 */ addiu $a1, $sp, 0x0024 ## $a1 = FFFFFFF4
/* 00D84 809C65B4 24060046 */ addiu $a2, $zero, 0x0046 ## $a2 = 00000046
/* 00D88 809C65B8 0C00A511 */ jal EffectSsGRipple_Spawn
/* 00D8C 809C65BC 240701F4 */ addiu $a3, $zero, 0x01F4 ## $a3 = 000001F4
/* 00D90 809C65C0 8FBF001C */ lw $ra, 0x001C($sp)
/* 00D94 809C65C4 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
/* 00D98 809C65C8 03E00008 */ jr $ra
/* 00D9C 809C65CC 00000000 */ nop

View file

@ -1,63 +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_Bom_Chu_InitVars
.word 0x00DA0300, 0x00000010, 0x00010000, 0x000001E4
.word EnBomChu_Init
.word EnBomChu_Destroy
.word EnBomChu_Update
.word EnBomChu_Draw
glabel D_809C6D30
.word 0x00000000, 0x00000000, 0x00000000, 0xFFCFFFFF, 0x00000000, 0x00010100, 0x01000000, 0x00000000, 0x000C0064
glabel D_809C6D54
.word 0x0A000931, 0x20000000, 0x00000001
.word D_809C6D30
glabel D_809C6D64
.word 0x801F0002, 0x4850000A
glabel D_809C6D6C
.byte 0xFA
glabel D_809C6D6D
.byte 0x00
glabel D_809C6D6E
.byte 0x00
glabel D_809C6D6F
.byte 0xFA
glabel D_809C6D70
.byte 0xC8
glabel D_809C6D71
.byte 0x00
glabel D_809C6D72
.byte 0x00
glabel D_809C6D73
.byte 0x82
glabel D_809C6D74
.byte 0x96
glabel D_809C6D75
.byte 0x00
glabel D_809C6D76
.byte 0x00
glabel D_809C6D77
.byte 0x64
glabel D_809C6D78
.byte 0x64
glabel D_809C6D79
.byte 0x00
glabel D_809C6D7A
.byte 0x00
glabel D_809C6D7B
.byte 0x32
glabel D_809C6D7C
.word 0x00000000, 0x40E00000, 0xC0C00000
glabel D_809C6D88
.word 0x41400000, 0x00000000, 0xC0A00000
glabel D_809C6D94
.word 0xC1400000, 0x00000000, 0xC0A00000

View file

@ -1,13 +0,0 @@
.include "macro.inc"
# assembler directives
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.set gp=64 # allow use of 64-bit general purpose registers
.section .rodata
.balign 16
glabel D_809C6DF0
.incbin "baserom/ovl_En_Bom_Chu", 0x15C0, 0x00000170

3
spec
View file

@ -1961,8 +1961,7 @@ endseg
beginseg
name "ovl_En_Bom_Chu"
include "build/src/overlays/actors/ovl_En_Bom_Chu/z_en_bom_chu.o"
include "build/data/overlays/actors/z_en_bom_chu.data.o"
include "build/data/overlays/actors/z_en_bom_chu.reloc.o"
include "build/src/overlays/actors/ovl_En_Bom_Chu/ovl_En_Bom_Chu_reloc.o"
endseg
beginseg

View file

@ -70,7 +70,7 @@ void EnBomBowlPit_DetectHit(EnBomBowlPit* this, GlobalContext* globalCtx) {
if (((fabsf(chuPosDiff.x) < 40.0f) || (BREG(2))) && ((fabsf(chuPosDiff.y) < 40.0f) || (BREG(2))) &&
((fabsf(chuPosDiff.z) < 40.0f) || (BREG(2)))) {
func_8002DF54(globalCtx, NULL, 8);
chu->unk_150 = 1;
chu->timer = 1;
this->camId = Gameplay_CreateSubCamera(globalCtx);
Gameplay_ChangeCameraStatus(globalCtx, 0, 1);

View file

@ -1,4 +1,5 @@
#include "z_en_bom_chu.h"
#include "overlays/actors/ovl_En_Bom/z_en_bom.h"
#include "objects/gameplay_keep/gameplay_keep.h"
#define FLAGS 0x00000010
@ -10,7 +11,10 @@ void EnBomChu_Destroy(Actor* thisx, GlobalContext* globalCtx);
void EnBomChu_Update(Actor* thisx, GlobalContext* globalCtx);
void EnBomChu_Draw(Actor* thisx, GlobalContext* globalCtx);
/*
void EnBomChu_WaitForRelease(EnBomChu* this, GlobalContext* globalCtx);
void EnBomChu_Move(EnBomChu* this, GlobalContext* globalCtx);
void EnBomChu_WaitForKill(EnBomChu* this, GlobalContext* globalCtx);
const ActorInit En_Bom_Chu_InitVars = {
ACTOR_EN_BOM_CHU,
ACTORCAT_EXPLOSIVE,
@ -23,7 +27,7 @@ const ActorInit En_Bom_Chu_InitVars = {
(ActorFunc)EnBomChu_Draw,
};
static ColliderJntSphElementInit D_809C6D30[1] = {
static ColliderJntSphElementInit sJntSphElemInit[] = {
{
{
ELEMTYPE_UNK0,
@ -37,7 +41,7 @@ static ColliderJntSphElementInit D_809C6D30[1] = {
},
};
static ColliderJntSphInit D_809C6D54 = {
static ColliderJntSphInit sJntSphInit = {
{
COLTYPE_NONE,
AT_NONE,
@ -47,29 +51,440 @@ static ColliderJntSphInit D_809C6D54 = {
COLSHAPE_JNTSPH,
},
1,
D_809C6D30,
sJntSphElemInit,
};
*/
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Bom_Chu/EnBomChu_Init.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Bom_Chu/EnBomChu_Destroy.s")
static InitChainEntry sInitChain[] = {
ICHAIN_U8(targetMode, 2, ICHAIN_CONTINUE),
ICHAIN_VEC3F_DIV1000(scale, 10, ICHAIN_STOP),
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Bom_Chu/func_809C5A1C.s")
void EnBomChu_Init(Actor* thisx, GlobalContext* globalCtx) {
static u8 p1StartColor[] = { 250, 0, 0, 250 };
static u8 p2StartColor[] = { 200, 0, 0, 130 };
static u8 p1EndColor[] = { 150, 0, 0, 100 };
static u8 p2EndColor[] = { 100, 0, 0, 50 };
EnBomChu* this = THIS;
EffectBlureInit1 blureInit;
s32 i;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Bom_Chu/func_809C5B38.s")
Actor_ProcessInitChain(&this->actor, sInitChain);
Collider_InitJntSph(globalCtx, &this->collider);
Collider_SetJntSph(globalCtx, &this->collider, &this->actor, &sJntSphInit, this->colliderElements);
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Bom_Chu/func_809C5BA8.s")
this->collider.elements[0].dim.worldSphere.radius = this->collider.elements[0].dim.modelSphere.radius;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Bom_Chu/func_809C5DDC.s")
for (i = 0; i < 4; i++) {
blureInit.p1StartColor[i] = p1StartColor[i];
blureInit.p2StartColor[i] = p2StartColor[i];
blureInit.p1EndColor[i] = p1EndColor[i];
blureInit.p2EndColor[i] = p2EndColor[i];
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Bom_Chu/func_809C5F48.s")
blureInit.elemDuration = 16;
blureInit.unkFlag = 0;
blureInit.calcMode = 0;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Bom_Chu/func_809C645C.s")
Effect_Add(globalCtx, &this->blure1Index, EFFECT_BLURE1, 0, 0, &blureInit);
Effect_Add(globalCtx, &this->blure2Index, EFFECT_BLURE1, 0, 0, &blureInit);
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Bom_Chu/func_809C649C.s")
this->actor.room = -1;
this->timer = 120;
this->actionFunc = EnBomChu_WaitForRelease;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Bom_Chu/func_809C6548.s")
void EnBomChu_Destroy(Actor* thisx, GlobalContext* globalCtx) {
EnBomChu* this = THIS;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Bom_Chu/EnBomChu_Update.s")
Effect_Delete(globalCtx, this->blure1Index);
Effect_Delete(globalCtx, this->blure2Index);
Collider_DestroyJntSph(globalCtx, &this->collider);
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Bom_Chu/EnBomChu_Draw.s")
void EnBomChu_Explode(EnBomChu* this, GlobalContext* globalCtx) {
EnBom* bomb;
s32 i;
bomb = (EnBom*)Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_EN_BOM, this->actor.world.pos.x,
this->actor.world.pos.y, this->actor.world.pos.z, 0, 0, 0, BOMB_BODY);
if (bomb != NULL) {
bomb->timer = 0;
}
this->timer = 1;
this->actor.speedXZ = 0.0f;
if (this->actor.yDistToWater > 0.0f) {
for (i = 0; i < 40; i++) {
EffectSsBubble_Spawn(globalCtx, &this->actor.world.pos, 1.0f, 5.0f, 30.0f, 0.25f);
}
}
this->actionFunc = EnBomChu_WaitForKill;
}
void EnBomChu_CrossProduct(Vec3f* a, Vec3f* b, Vec3f* dest) {
dest->x = (a->y * b->z) - (a->z * b->y);
dest->y = (a->z * b->x) - (a->x * b->z);
dest->z = (a->x * b->y) - (a->y * b->x);
}
void func_809C5BA8(EnBomChu* this, CollisionPoly* floorPoly, GlobalContext* globalCtx) {
Vec3f sp84;
Vec3f sp78;
f32 sp74;
f32 magnitude;
f32 temp_f12;
MtxF mf;
this->actor.floorPoly = floorPoly;
sp84.x = floorPoly->normal.x * 0.00003051851f;
sp84.y = floorPoly->normal.y * 0.00003051851f;
sp84.z = floorPoly->normal.z * 0.00003051851f;
temp_f12 = (sp84.x * this->unk_160.x) + (sp84.y * this->unk_160.y) + (sp84.z * this->unk_160.z);
if (!(fabsf(temp_f12) >= 1.0f)) {
sp74 = Math_FAcosF(temp_f12);
if (!(sp74 < 0.001f)) {
EnBomChu_CrossProduct(&this->unk_160, &sp84, &sp78);
func_800D23FC(sp74, &sp78, 0);
Matrix_MultVec3f(&this->unk_16C, &sp78);
this->unk_16C = sp78;
EnBomChu_CrossProduct(&this->unk_16C, &sp84, &this->unk_154);
magnitude = Math3D_Vec3fMagnitude(&this->unk_154);
if (magnitude < 0.001f) {
EnBomChu_Explode(this, globalCtx);
return;
}
this->unk_154.x *= (1.0f / magnitude);
this->unk_154.y *= (1.0f / magnitude);
this->unk_154.z *= (1.0f / magnitude);
this->unk_160 = sp84;
if (1) {}
mf.xx = this->unk_16C.x;
mf.xy = this->unk_16C.y;
mf.xz = this->unk_16C.z;
mf.yx = sp84.x;
mf.yy = sp84.y;
mf.yz = sp84.z;
mf.zx = this->unk_154.x;
mf.zy = this->unk_154.y;
mf.zz = this->unk_154.z;
func_800D20CC(&mf, &this->actor.world.rot, 0);
this->actor.world.rot.x = -this->actor.world.rot.x;
}
}
}
void EnBomChu_WaitForRelease(EnBomChu* this, GlobalContext* globalCtx) {
Player* player = PLAYER;
if (this->timer != 0) {
this->timer--;
}
if (this->timer == 0) {
EnBomChu_Explode(this, globalCtx);
return;
}
if (Actor_HasNoParent(&this->actor, globalCtx)) {
this->actor.world.pos = player->actor.world.pos;
Actor_UpdateBgCheckInfo(globalCtx, &this->actor, 0.0f, 0.0f, 0.0f, 4);
this->actor.shape.rot.y = player->actor.shape.rot.y;
this->unk_154.x = Math_SinS(this->actor.shape.rot.y);
this->unk_154.y = 0.0f;
this->unk_154.z = Math_CosS(this->actor.shape.rot.y);
this->unk_160.x = 0.0f;
this->unk_160.y = 1.0f;
this->unk_160.z = 0.0f;
this->unk_16C.x = Math_SinS(this->actor.shape.rot.y + 0x4000);
this->unk_16C.y = 0;
this->unk_16C.z = Math_CosS(this->actor.shape.rot.y + 0x4000);
this->actor.speedXZ = 8.0f;
func_809C5BA8(this, this->actor.floorPoly, globalCtx);
this->actor.flags |= 1; // make chu targetable
func_8002F850(globalCtx, &this->actor);
this->actionFunc = EnBomChu_Move;
}
}
void EnBomChu_Move(EnBomChu* this, GlobalContext* globalCtx) {
CollisionPoly* sp9C;
CollisionPoly* sp98;
s32 sp94;
s32 sp90;
s32 i;
f32 sp54;
Vec3f sp7C;
Vec3f sp70;
Vec3f sp64;
Vec3f sp58;
this->actor.speedXZ = 8.0f;
sp54 = this->actor.speedXZ * 2.0f;
if (this->timer != 0) {
this->timer--;
}
if ((this->timer == 0) || (this->collider.base.acFlags & AC_HIT) ||
((this->collider.base.ocFlags1 & OC1_HIT) && (this->collider.base.oc->category != ACTORCAT_PLAYER))) {
EnBomChu_Explode(this, globalCtx);
return;
}
sp7C.x = this->actor.world.pos.x + (this->unk_160.x * 2.0f);
sp7C.y = this->actor.world.pos.y + (this->unk_160.y * 2.0f);
sp7C.z = this->actor.world.pos.z + (this->unk_160.z * 2.0f);
sp70.x = this->actor.world.pos.x - (this->unk_160.x * 4.0f);
sp70.y = this->actor.world.pos.y - (this->unk_160.y * 4.0f);
sp70.z = this->actor.world.pos.z - (this->unk_160.z * 4.0f);
if ((BgCheck_EntityLineTest1(&globalCtx->colCtx, &sp7C, &sp70, &sp58, &sp98, true, true, true, true, &sp90)) &&
(!(func_80041DB8(&globalCtx->colCtx, sp98, sp90) & 0x30)) &&
!SurfaceType_IsIgnoredByProjectiles(&globalCtx->colCtx, sp98, sp90)) {
sp70.x = (this->unk_154.x * sp54) + sp7C.x;
sp70.y = (this->unk_154.y * sp54) + sp7C.y;
sp70.z = (this->unk_154.z * sp54) + sp7C.z;
if ((BgCheck_EntityLineTest1(&globalCtx->colCtx, &sp7C, &sp70, &sp64, &sp9C, true, true, true, true, &sp94)) &&
(!(func_80041DB8(&globalCtx->colCtx, sp9C, sp94) & 0x30)) &&
!SurfaceType_IsIgnoredByProjectiles(&globalCtx->colCtx, sp9C, sp94)) {
func_809C5BA8(this, sp9C, globalCtx);
this->actor.world.pos = sp64;
this->actor.floorBgId = sp94;
this->actor.speedXZ = 0.0f;
} else {
if (this->actor.floorPoly != sp98) {
func_809C5BA8(this, sp98, globalCtx);
}
this->actor.world.pos = sp58;
this->actor.floorBgId = sp90;
}
} else {
this->actor.speedXZ = 0.0f;
sp54 = sp54 * 3.0f;
sp7C = sp70;
for (i = 0; i < 3; i++) {
if (i == 0) {
sp70.x = sp7C.x - (this->unk_154.x * sp54);
sp70.y = sp7C.y - (this->unk_154.y * sp54);
sp70.z = sp7C.z - (this->unk_154.z * sp54);
} else if (i == 1) {
sp70.x = sp7C.x + (this->unk_16C.x * sp54);
sp70.y = sp7C.y + (this->unk_16C.y * sp54);
sp70.z = sp7C.z + (this->unk_16C.z * sp54);
} else {
sp70.x = sp7C.x - (this->unk_16C.x * sp54);
sp70.y = sp7C.y - (this->unk_16C.y * sp54);
sp70.z = sp7C.z - (this->unk_16C.z * sp54);
}
if ((BgCheck_EntityLineTest1(&globalCtx->colCtx, &sp7C, &sp70, &sp64, &sp9C, true, true, true, true,
&sp94)) &&
(!(func_80041DB8(&globalCtx->colCtx, sp9C, sp94) & 0x30)) &&
!SurfaceType_IsIgnoredByProjectiles(&globalCtx->colCtx, sp9C, sp94)) {
func_809C5BA8(this, sp9C, globalCtx);
this->actor.world.pos = sp64;
this->actor.floorBgId = sp94;
break;
}
}
if (i == 3) {
EnBomChu_Explode(this, globalCtx);
}
}
Math_ScaledStepToS(&this->actor.shape.rot.x, -this->actor.world.rot.x, 0x800);
Math_ScaledStepToS(&this->actor.shape.rot.y, this->actor.world.rot.y, 0x800);
Math_ScaledStepToS(&this->actor.shape.rot.z, this->actor.world.rot.z, 0x800);
func_8002F8F0(&this->actor, NA_SE_IT_BOMBCHU_MOVE - SFX_FLAG);
}
void EnBomChu_WaitForKill(EnBomChu* this, GlobalContext* globalCtx) {
if (this->timer != 0) {
this->timer--;
}
if (this->timer == 0) {
Actor_Kill(&this->actor);
}
}
void func_809C649C(EnBomChu* this, Vec3f* arg1, Vec3f* dest) {
f32 scale = arg1->x + this->unk_178;
dest->x =
this->actor.world.pos.x + (this->unk_16C.x * scale) + (this->unk_160.x * arg1->y) + (this->unk_154.x * arg1->z);
dest->y =
this->actor.world.pos.y + (this->unk_16C.y * scale) + (this->unk_160.y * arg1->y) + (this->unk_154.y * arg1->z);
dest->z =
this->actor.world.pos.z + (this->unk_16C.z * scale) + (this->unk_160.z * arg1->y) + (this->unk_154.z * arg1->z);
}
void EnBomChu_SpawnRipples(EnBomChu* this, GlobalContext* globalCtx, f32 height) {
Vec3f pos;
pos.x = this->actor.world.pos.x;
pos.y = height;
pos.z = this->actor.world.pos.z;
EffectSsGRipple_Spawn(globalCtx, &pos, 70, 500, 0);
EffectSsGRipple_Spawn(globalCtx, &pos, 70, 500, 4);
EffectSsGRipple_Spawn(globalCtx, &pos, 70, 500, 8);
}
void EnBomChu_Update(Actor* thisx, GlobalContext* globalCtx2) {
static Vec3f D_809C6D7C = { 0.0f, 7.0f, -6.0f };
static Vec3f D_809C6D88 = { 12.0f, 0.0f, -5.0f };
static Vec3f D_809C6D94 = { -12.0f, 0.0f, -5.0f };
GlobalContext* globalCtx = globalCtx2;
EnBomChu* this = THIS;
s16 prevYaw;
f32 sin;
f32 cos;
f32 tempX;
Vec3f sp54;
Vec3f sp48;
WaterBox* waterBox;
f32 waterHeight;
if (this->actor.floorBgId != BGCHECK_SCENE) {
prevYaw = this->actor.shape.rot.y;
func_800433A4(&globalCtx->colCtx, this->actor.floorBgId, &this->actor);
if (prevYaw != this->actor.shape.rot.y) {
prevYaw = this->actor.shape.rot.y - prevYaw;
sin = Math_SinS(prevYaw);
cos = Math_CosS(prevYaw);
tempX = this->unk_154.x;
this->unk_154.x = (this->unk_154.z * sin) + (cos * tempX);
this->unk_154.z = (this->unk_154.z * cos) - (sin * tempX);
tempX = this->unk_160.x;
this->unk_160.x = (this->unk_160.z * sin) + (cos * tempX);
this->unk_160.z = (this->unk_160.z * cos) - (sin * tempX);
tempX = this->unk_16C.x;
this->unk_16C.x = (this->unk_16C.z * sin) + (cos * tempX);
this->unk_16C.z = (this->unk_16C.z * cos) - (sin * tempX);
}
}
this->actionFunc(this, globalCtx);
func_8002D97C(&this->actor);
this->collider.elements[0].dim.worldSphere.center.x = this->actor.world.pos.x;
this->collider.elements[0].dim.worldSphere.center.y = this->actor.world.pos.y;
this->collider.elements[0].dim.worldSphere.center.z = this->actor.world.pos.z;
CollisionCheck_SetAC(globalCtx, &globalCtx->colChkCtx, &this->collider.base);
if (this->actionFunc != EnBomChu_WaitForRelease) {
CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->collider.base);
}
Actor_SetFocus(&this->actor, 0.0f);
if (this->actionFunc == EnBomChu_Move) {
this->unk_178 =
(5.0f + (Rand_ZeroOne() * 3.0f)) * Math_SinS(((Rand_ZeroOne() * 512.0f) + 12288.0f) * this->timer);
func_809C649C(this, &D_809C6D7C, &sp54);
func_809C649C(this, &D_809C6D88, &sp48);
EffectBlure_AddVertex(Effect_GetByIndex(this->blure1Index), &sp54, &sp48);
func_809C649C(this, &D_809C6D94, &sp48);
EffectBlure_AddVertex(Effect_GetByIndex(this->blure2Index), &sp54, &sp48);
waterHeight = this->actor.world.pos.y;
if (WaterBox_GetSurface1(globalCtx, &globalCtx->colCtx, this->actor.world.pos.x, this->actor.world.pos.z,
&waterHeight, &waterBox)) {
this->actor.yDistToWater = waterHeight - this->actor.world.pos.y;
if (this->actor.yDistToWater < 0.0f) {
if (this->actor.bgCheckFlags & 0x20) {
EnBomChu_SpawnRipples(this, globalCtx, waterHeight);
}
this->actor.bgCheckFlags &= ~0x20;
} else {
if (!(this->actor.bgCheckFlags & 0x20) && (this->timer != 120)) {
EnBomChu_SpawnRipples(this, globalCtx, waterHeight);
} else {
EffectSsBubble_Spawn(globalCtx, &this->actor.world.pos, 0.0f, 3.0f, 15.0f, 0.25f);
}
this->actor.bgCheckFlags |= 0x20;
}
} else {
this->actor.bgCheckFlags &= ~0x20;
this->actor.yDistToWater = BGCHECK_Y_MIN;
}
}
}
void EnBomChu_Draw(Actor* thisx, GlobalContext* globalCtx) {
s32 pad;
EnBomChu* this = THIS;
f32 colorIntensity;
s32 phi_a1;
s32 timerMod;
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_bom_chu.c", 921);
func_80093D18(globalCtx->state.gfxCtx);
func_8002EBCC(&this->actor, globalCtx, 0);
if (this->timer >= 40) {
timerMod = this->timer % 20;
phi_a1 = 10;
} else if (this->timer >= 10) {
timerMod = this->timer % 10;
phi_a1 = 5;
} else {
timerMod = this->timer & 1;
phi_a1 = 1;
}
if (phi_a1 < timerMod) {
timerMod = (phi_a1 * 2) - timerMod;
}
colorIntensity = timerMod / (f32)phi_a1;
gDPSetEnvColor(POLY_OPA_DISP++, (9.0f + (colorIntensity * 209.0f)), (9.0f + (colorIntensity * 34.0f)),
(35.0f + (colorIntensity * -35.0f)), 255);
Matrix_Translate(this->unk_178 * 100.0f, 0.0f, 0.0f, MTXMODE_APPLY);
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_bom_chu.c", 956),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_OPA_DISP++, gBombchuDL);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_bom_chu.c", 961);
}

View file

@ -11,8 +11,15 @@ typedef void (*EnBomChuActionFunc)(struct EnBomChu*, GlobalContext*);
typedef struct EnBomChu {
/* 0x0000 */ Actor actor;
/* 0x014C */ EnBomChuActionFunc actionFunc;
/* 0x0150 */ u16 unk_150;
/* 0x0152 */ char unk_152[0x92];
/* 0x0150 */ s16 timer;
/* 0x0154 */ Vec3f unk_154;
/* 0x0160 */ Vec3f unk_160;
/* 0x016C */ Vec3f unk_16C;
/* 0x0178 */ f32 unk_178;
/* 0x017C */ s32 blure1Index;
/* 0x0180 */ s32 blure2Index;
/* 0x0184 */ ColliderJntSph collider;
/* 0x01A4 */ ColliderJntSphElement colliderElements[1];
} EnBomChu; // size = 0x01E4
extern const ActorInit En_Bom_Chu_InitVars;

View file

@ -89,7 +89,7 @@ void EnWallTubo_DetectChu(EnWallTubo* this, GlobalContext* globalCtx) {
if (((fabsf(chuPosDiff.x) < 40.0f) || (BREG(2))) && ((fabsf(chuPosDiff.y) < 40.0f) || (BREG(2))) &&
(fabsf(chuPosDiff.z) < 40.0f || (BREG(2)))) {
this->chuGirl->wallStatus[this->actor.params] = 1;
chu->unk_150 = 2;
chu->timer = 2;
func_80078884(NA_SE_SY_TRE_BOX_APPEAR);
this->timer = 60;
EffectSsBomb2_SpawnLayered(globalCtx, &this->explosionCenter, &effVelocity, &effAccel, 200, 40);