1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2025-05-11 11:33:48 +00:00

Phantom Ganon (ovl_Boss_Ganondrof) and related actors (#442)

* Darkmeiro decompilation

Bg_Gnd_Darkmeiro decompiled, matched, and documented.

* give this a shot

* fix conflict

* one more try

* It's Phantom Ganon time

* Fhg_Fire matched

* small touch up

* more documentation

* starting naming fire

* renaming

* cleanup

* hooray for new names

* merge

* first pass

* camera status

* bgcheck

* object 1

* object 2

* .s

* .s

* fig's comments

* implementing zel's suggestions and a few other things

* the work begins

* work continues

* docs, shifts, cleanup

* cleanup

* texture names

* addressing the rest of the notes

Co-authored-by: petrie911 <pmontag@DESKTOP-LG8A167.localdomain>
This commit is contained in:
petrie911 2021-03-29 14:35:46 -05:00 committed by GitHub
parent 86f16cf662
commit 28cfd82a4f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
66 changed files with 2969 additions and 9752 deletions

View file

@ -1,50 +0,0 @@
.rdata
glabel D_80915140
.asciz "DT1\n"
.balign 4
glabel D_80915148
.asciz "DT2\n"
.balign 4
.text
glabel BossGanondrof_Destroy
/* 006BC 80910CFC 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 006C0 80910D00 AFB00014 */ sw $s0, 0x0014($sp)
/* 006C4 80910D04 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 006C8 80910D08 AFBF001C */ sw $ra, 0x001C($sp)
/* 006CC 80910D0C AFB10018 */ sw $s1, 0x0018($sp)
/* 006D0 80910D10 3C048091 */ lui $a0, %hi(D_80915140) ## $a0 = 80910000
/* 006D4 80910D14 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
/* 006D8 80910D18 0C00084C */ jal osSyncPrintf
/* 006DC 80910D1C 24845140 */ addiu $a0, $a0, %lo(D_80915140) ## $a0 = 80915140
/* 006E0 80910D20 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 006E4 80910D24 0C0295BC */ jal SkelAnime_Free
/* 006E8 80910D28 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
/* 006EC 80910D2C 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 006F0 80910D30 0C0170EB */ jal Collider_DestroyCylinder
/* 006F4 80910D34 260504E0 */ addiu $a1, $s0, 0x04E0 ## $a1 = 000004E0
/* 006F8 80910D38 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 006FC 80910D3C 0C0170EB */ jal Collider_DestroyCylinder
/* 00700 80910D40 2605052C */ addiu $a1, $s0, 0x052C ## $a1 = 0000052C
/* 00704 80910D44 860E001C */ lh $t6, 0x001C($s0) ## 0000001C
/* 00708 80910D48 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 0070C 80910D4C 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 00710 80910D50 15C10003 */ bne $t6, $at, .L80910D60
/* 00714 80910D54 262507A8 */ addiu $a1, $s1, 0x07A8 ## $a1 = 000007A8
/* 00718 80910D58 0C01E9F1 */ jal LightContext_RemoveLight
/* 0071C 80910D5C 8E0604CC */ lw $a2, 0x04CC($s0) ## 000004CC
.L80910D60:
/* 00720 80910D60 3C048091 */ lui $a0, %hi(D_80915148) ## $a0 = 80910000
/* 00724 80910D64 0C00084C */ jal osSyncPrintf
/* 00728 80910D68 24845148 */ addiu $a0, $a0, %lo(D_80915148) ## $a0 = 80915148
/* 0072C 80910D6C 8FBF001C */ lw $ra, 0x001C($sp)
/* 00730 80910D70 8FB00014 */ lw $s0, 0x0014($sp)
/* 00734 80910D74 8FB10018 */ lw $s1, 0x0018($sp)
/* 00738 80910D78 03E00008 */ jr $ra
/* 0073C 80910D7C 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000

View file

@ -1,348 +0,0 @@
.rdata
glabel D_80915370
.asciz "../z_boss_ganondrof.c"
.balign 4
glabel D_80915388
.asciz "MOVE P = %x\n"
.balign 4
glabel D_80915398
.asciz "STOP TIMER = %d ==============\n"
.balign 4
glabel D_809153B8
.asciz "YP %f\n"
.balign 4
glabel D_809153C0
.asciz "DRAW 11\n"
.balign 4
glabel D_809153CC
.asciz "EYE_COL %d\n"
.balign 4
glabel D_809153D8
.asciz "DRAW 22\n"
.balign 4
glabel D_809153E4
.asciz "../z_boss_ganondrof.c"
.balign 4
glabel D_809153FC
.asciz "DRAW END %d\n"
.balign 4
.late_rodata
glabel D_80915518
.float 3.14159989357
.text
glabel BossGanondrof_Draw
/* 04204 80914844 27BDFFA0 */ addiu $sp, $sp, 0xFFA0 ## $sp = FFFFFFA0
/* 04208 80914848 AFBF002C */ sw $ra, 0x002C($sp)
/* 0420C 8091484C AFB10028 */ sw $s1, 0x0028($sp)
/* 04210 80914850 AFB00024 */ sw $s0, 0x0024($sp)
/* 04214 80914854 AFA50064 */ sw $a1, 0x0064($sp)
/* 04218 80914858 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000
/* 0421C 8091485C 00808825 */ or $s1, $a0, $zero ## $s1 = 00000000
/* 04220 80914860 3C068091 */ lui $a2, %hi(D_80915370) ## $a2 = 80910000
/* 04224 80914864 24C65370 */ addiu $a2, $a2, %lo(D_80915370) ## $a2 = 80915370
/* 04228 80914868 27A40040 */ addiu $a0, $sp, 0x0040 ## $a0 = FFFFFFE0
/* 0422C 8091486C 24070E84 */ addiu $a3, $zero, 0x0E84 ## $a3 = 00000E84
/* 04230 80914870 0C031AB1 */ jal Graph_OpenDisps
/* 04234 80914874 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000
/* 04238 80914878 3C048091 */ lui $a0, %hi(D_80915388) ## $a0 = 80910000
/* 0423C 8091487C 24845388 */ addiu $a0, $a0, %lo(D_80915388) ## $a0 = 80915388
/* 04240 80914880 0C00084C */ jal osSyncPrintf
/* 04244 80914884 8E250130 */ lw $a1, 0x0130($s1) ## 00000130
/* 04248 80914888 3C048091 */ lui $a0, %hi(D_80915398) ## $a0 = 80910000
/* 0424C 8091488C 24845398 */ addiu $a0, $a0, %lo(D_80915398) ## $a0 = 80915398
/* 04250 80914890 0C00084C */ jal osSyncPrintf
/* 04254 80914894 96250110 */ lhu $a1, 0x0110($s1) ## 00000110
/* 04258 80914898 922F01C9 */ lbu $t7, 0x01C9($s1) ## 000001C9
/* 0425C 8091489C 8E22011C */ lw $v0, 0x011C($s1) ## 0000011C
/* 04260 809148A0 55E0000F */ bnel $t7, $zero, .L809148E0
/* 04264 809148A4 C6320028 */ lwc1 $f18, 0x0028($s1) ## 00000028
/* 04268 809148A8 845801E0 */ lh $t8, 0x01E0($v0) ## 000001E0
/* 0426C 809148AC 3C018091 */ lui $at, %hi(D_80915518) ## $at = 80910000
/* 04270 809148B0 C4285518 */ lwc1 $f8, %lo(D_80915518)($at)
/* 04274 809148B4 44982000 */ mtc1 $t8, $f4 ## $f4 = 0.00
/* 04278 809148B8 3C014700 */ lui $at, 0x4700 ## $at = 47000000
/* 0427C 809148BC 44818000 */ mtc1 $at, $f16 ## $f16 = 32768.00
/* 04280 809148C0 468021A0 */ cvt.s.w $f6, $f4
/* 04284 809148C4 AFA20054 */ sw $v0, 0x0054($sp)
/* 04288 809148C8 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
/* 0428C 809148CC 46083282 */ mul.s $f10, $f6, $f8
/* 04290 809148D0 0C034348 */ jal Matrix_RotateY
/* 04294 809148D4 46105303 */ div.s $f12, $f10, $f16
/* 04298 809148D8 8FA20054 */ lw $v0, 0x0054($sp)
/* 0429C 809148DC C6320028 */ lwc1 $f18, 0x0028($s1) ## 00000028
.L809148E0:
/* 042A0 809148E0 3C048091 */ lui $a0, %hi(D_809153B8) ## $a0 = 80910000
/* 042A4 809148E4 248453B8 */ addiu $a0, $a0, %lo(D_809153B8) ## $a0 = 809153B8
/* 042A8 809148E8 46009121 */ cvt.d.s $f4, $f18
/* 042AC 809148EC AFA20054 */ sw $v0, 0x0054($sp)
/* 042B0 809148F0 44072000 */ mfc1 $a3, $f4
/* 042B4 809148F4 44062800 */ mfc1 $a2, $f5
/* 042B8 809148F8 0C00084C */ jal osSyncPrintf
/* 042BC 809148FC 00000000 */ nop
/* 042C0 80914900 8FB90064 */ lw $t9, 0x0064($sp)
/* 042C4 80914904 0C024F46 */ jal func_80093D18
/* 042C8 80914908 8F240000 */ lw $a0, 0x0000($t9) ## 00000000
/* 042CC 8091490C 862801A0 */ lh $t0, 0x01A0($s1) ## 000001A0
/* 042D0 80914910 8FA20054 */ lw $v0, 0x0054($sp)
/* 042D4 80914914 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
/* 042D8 80914918 31090004 */ andi $t1, $t0, 0x0004 ## $t1 = 00000000
/* 042DC 8091491C 5120000E */ beql $t1, $zero, .L80914958
/* 042E0 80914920 444CF800 */ cfc1 $t4, $31
/* 042E4 80914924 8E0402C0 */ lw $a0, 0x02C0($s0) ## 000002C0
/* 042E8 80914928 240A0384 */ addiu $t2, $zero, 0x0384 ## $t2 = 00000384
/* 042EC 8091492C 240B044B */ addiu $t3, $zero, 0x044B ## $t3 = 0000044B
/* 042F0 80914930 AFAB0018 */ sw $t3, 0x0018($sp)
/* 042F4 80914934 AFAA0014 */ sw $t2, 0x0014($sp)
/* 042F8 80914938 AFA00010 */ sw $zero, 0x0010($sp)
/* 042FC 8091493C 240500FF */ addiu $a1, $zero, 0x00FF ## $a1 = 000000FF
/* 04300 80914940 24060032 */ addiu $a2, $zero, 0x0032 ## $a2 = 00000032
/* 04304 80914944 0C024CDC */ jal Gfx_SetFog
/* 04308 80914948 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
/* 0430C 8091494C 10000076 */ beq $zero, $zero, .L80914B28
/* 04310 80914950 AE0202C0 */ sw $v0, 0x02C0($s0) ## 000002C0
/* 04314 80914954 444CF800 */ cfc1 $t4, $31
.L80914958:
/* 04318 80914958 44C5F800 */ ctc1 $a1, $31
/* 0431C 8091495C C44601E8 */ lwc1 $f6, 0x01E8($v0) ## 000001E8
/* 04320 80914960 8E0402C0 */ lw $a0, 0x02C0($s0) ## 000002C0
/* 04324 80914964 3C014F00 */ lui $at, 0x4F00 ## $at = 4F000000
/* 04328 80914968 46003224 */ cvt.w.s $f8, $f6
/* 0432C 8091496C 4445F800 */ cfc1 $a1, $31
/* 04330 80914970 00000000 */ nop
/* 04334 80914974 30A50078 */ andi $a1, $a1, 0x0078 ## $a1 = 00000000
/* 04338 80914978 50A00013 */ beql $a1, $zero, .L809149C8
/* 0433C 8091497C 44054000 */ mfc1 $a1, $f8
/* 04340 80914980 44814000 */ mtc1 $at, $f8 ## $f8 = 2147483648.00
/* 04344 80914984 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
/* 04348 80914988 46083201 */ sub.s $f8, $f6, $f8
/* 0434C 8091498C 44C5F800 */ ctc1 $a1, $31
/* 04350 80914990 00000000 */ nop
/* 04354 80914994 46004224 */ cvt.w.s $f8, $f8
/* 04358 80914998 4445F800 */ cfc1 $a1, $31
/* 0435C 8091499C 00000000 */ nop
/* 04360 809149A0 30A50078 */ andi $a1, $a1, 0x0078 ## $a1 = 00000000
/* 04364 809149A4 14A00005 */ bne $a1, $zero, .L809149BC
/* 04368 809149A8 00000000 */ nop
/* 0436C 809149AC 44054000 */ mfc1 $a1, $f8
/* 04370 809149B0 3C018000 */ lui $at, 0x8000 ## $at = 80000000
/* 04374 809149B4 10000007 */ beq $zero, $zero, .L809149D4
/* 04378 809149B8 00A12825 */ or $a1, $a1, $at ## $a1 = 80000000
.L809149BC:
/* 0437C 809149BC 10000005 */ beq $zero, $zero, .L809149D4
/* 04380 809149C0 2405FFFF */ addiu $a1, $zero, 0xFFFF ## $a1 = FFFFFFFF
/* 04384 809149C4 44054000 */ mfc1 $a1, $f8
.L809149C8:
/* 04388 809149C8 00000000 */ nop
/* 0438C 809149CC 04A0FFFB */ bltz $a1, .L809149BC
/* 04390 809149D0 00000000 */ nop
.L809149D4:
/* 04394 809149D4 44CCF800 */ ctc1 $t4, $31
/* 04398 809149D8 24060001 */ addiu $a2, $zero, 0x0001 ## $a2 = 00000001
/* 0439C 809149DC C44A01EC */ lwc1 $f10, 0x01EC($v0) ## 000001EC
/* 043A0 809149E0 3C014F00 */ lui $at, 0x4F00 ## $at = 4F000000
/* 043A4 809149E4 444DF800 */ cfc1 $t5, $31
/* 043A8 809149E8 44C6F800 */ ctc1 $a2, $31
/* 043AC 809149EC 00000000 */ nop
/* 043B0 809149F0 46005424 */ cvt.w.s $f16, $f10
/* 043B4 809149F4 4446F800 */ cfc1 $a2, $31
/* 043B8 809149F8 00000000 */ nop
/* 043BC 809149FC 30C60078 */ andi $a2, $a2, 0x0078 ## $a2 = 00000000
/* 043C0 80914A00 50C00013 */ beql $a2, $zero, .L80914A50
/* 043C4 80914A04 44068000 */ mfc1 $a2, $f16
/* 043C8 80914A08 44818000 */ mtc1 $at, $f16 ## $f16 = 2147483648.00
/* 043CC 80914A0C 24060001 */ addiu $a2, $zero, 0x0001 ## $a2 = 00000001
/* 043D0 80914A10 46105401 */ sub.s $f16, $f10, $f16
/* 043D4 80914A14 44C6F800 */ ctc1 $a2, $31
/* 043D8 80914A18 00000000 */ nop
/* 043DC 80914A1C 46008424 */ cvt.w.s $f16, $f16
/* 043E0 80914A20 4446F800 */ cfc1 $a2, $31
/* 043E4 80914A24 00000000 */ nop
/* 043E8 80914A28 30C60078 */ andi $a2, $a2, 0x0078 ## $a2 = 00000000
/* 043EC 80914A2C 14C00005 */ bne $a2, $zero, .L80914A44
/* 043F0 80914A30 00000000 */ nop
/* 043F4 80914A34 44068000 */ mfc1 $a2, $f16
/* 043F8 80914A38 3C018000 */ lui $at, 0x8000 ## $at = 80000000
/* 043FC 80914A3C 10000007 */ beq $zero, $zero, .L80914A5C
/* 04400 80914A40 00C13025 */ or $a2, $a2, $at ## $a2 = 80000000
.L80914A44:
/* 04404 80914A44 10000005 */ beq $zero, $zero, .L80914A5C
/* 04408 80914A48 2406FFFF */ addiu $a2, $zero, 0xFFFF ## $a2 = FFFFFFFF
/* 0440C 80914A4C 44068000 */ mfc1 $a2, $f16
.L80914A50:
/* 04410 80914A50 00000000 */ nop
/* 04414 80914A54 04C0FFFB */ bltz $a2, .L80914A44
/* 04418 80914A58 00000000 */ nop
.L80914A5C:
/* 0441C 80914A5C 44CDF800 */ ctc1 $t5, $31
/* 04420 80914A60 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
/* 04424 80914A64 C45201F0 */ lwc1 $f18, 0x01F0($v0) ## 000001F0
/* 04428 80914A68 3C014F00 */ lui $at, 0x4F00 ## $at = 4F000000
/* 0442C 80914A6C 444EF800 */ cfc1 $t6, $31
/* 04430 80914A70 44C7F800 */ ctc1 $a3, $31
/* 04434 80914A74 00000000 */ nop
/* 04438 80914A78 46009124 */ cvt.w.s $f4, $f18
/* 0443C 80914A7C 4447F800 */ cfc1 $a3, $31
/* 04440 80914A80 00000000 */ nop
/* 04444 80914A84 30E70078 */ andi $a3, $a3, 0x0078 ## $a3 = 00000000
/* 04448 80914A88 50E00013 */ beql $a3, $zero, .L80914AD8
/* 0444C 80914A8C 44072000 */ mfc1 $a3, $f4
/* 04450 80914A90 44812000 */ mtc1 $at, $f4 ## $f4 = 2147483648.00
/* 04454 80914A94 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
/* 04458 80914A98 46049101 */ sub.s $f4, $f18, $f4
/* 0445C 80914A9C 44C7F800 */ ctc1 $a3, $31
/* 04460 80914AA0 00000000 */ nop
/* 04464 80914AA4 46002124 */ cvt.w.s $f4, $f4
/* 04468 80914AA8 4447F800 */ cfc1 $a3, $31
/* 0446C 80914AAC 00000000 */ nop
/* 04470 80914AB0 30E70078 */ andi $a3, $a3, 0x0078 ## $a3 = 00000000
/* 04474 80914AB4 14E00005 */ bne $a3, $zero, .L80914ACC
/* 04478 80914AB8 00000000 */ nop
/* 0447C 80914ABC 44072000 */ mfc1 $a3, $f4
/* 04480 80914AC0 3C018000 */ lui $at, 0x8000 ## $at = 80000000
/* 04484 80914AC4 10000007 */ beq $zero, $zero, .L80914AE4
/* 04488 80914AC8 00E13825 */ or $a3, $a3, $at ## $a3 = 80000000
.L80914ACC:
/* 0448C 80914ACC 10000005 */ beq $zero, $zero, .L80914AE4
/* 04490 80914AD0 2407FFFF */ addiu $a3, $zero, 0xFFFF ## $a3 = FFFFFFFF
/* 04494 80914AD4 44072000 */ mfc1 $a3, $f4
.L80914AD8:
/* 04498 80914AD8 00000000 */ nop
/* 0449C 80914ADC 04E0FFFB */ bltz $a3, .L80914ACC
/* 044A0 80914AE0 00000000 */ nop
.L80914AE4:
/* 044A4 80914AE4 AFA00010 */ sw $zero, 0x0010($sp)
/* 044A8 80914AE8 C44601F4 */ lwc1 $f6, 0x01F4($v0) ## 000001F4
/* 044AC 80914AEC 44CEF800 */ ctc1 $t6, $31
/* 044B0 80914AF0 00000000 */ nop
/* 044B4 80914AF4 4600320D */ trunc.w.s $f8, $f6
/* 044B8 80914AF8 44184000 */ mfc1 $t8, $f8
/* 044BC 80914AFC 00000000 */ nop
/* 044C0 80914B00 271903E3 */ addiu $t9, $t8, 0x03E3 ## $t9 = 000003E3
/* 044C4 80914B04 AFB90014 */ sw $t9, 0x0014($sp)
/* 044C8 80914B08 C44A01F8 */ lwc1 $f10, 0x01F8($v0) ## 000001F8
/* 044CC 80914B0C 4600540D */ trunc.w.s $f16, $f10
/* 044D0 80914B10 44098000 */ mfc1 $t1, $f16
/* 044D4 80914B14 00000000 */ nop
/* 044D8 80914B18 252A03E8 */ addiu $t2, $t1, 0x03E8 ## $t2 = 000003E8
/* 044DC 80914B1C 0C024CDC */ jal Gfx_SetFog
/* 044E0 80914B20 AFAA0018 */ sw $t2, 0x0018($sp)
/* 044E4 80914B24 AE0202C0 */ sw $v0, 0x02C0($s0) ## 000002C0
.L80914B28:
/* 044E8 80914B28 3C048091 */ lui $a0, %hi(D_809153C0) ## $a0 = 80910000
/* 044EC 80914B2C 0C00084C */ jal osSyncPrintf
/* 044F0 80914B30 248453C0 */ addiu $a0, $a0, %lo(D_809153C0) ## $a0 = 809153C0
/* 044F4 80914B34 C63201D4 */ lwc1 $f18, 0x01D4($s1) ## 000001D4
/* 044F8 80914B38 3C048091 */ lui $a0, %hi(D_809153CC) ## $a0 = 80910000
/* 044FC 80914B3C 248453CC */ addiu $a0, $a0, %lo(D_809153CC) ## $a0 = 809153CC
/* 04500 80914B40 4600910D */ trunc.w.s $f4, $f18
/* 04504 80914B44 44052000 */ mfc1 $a1, $f4
/* 04508 80914B48 00000000 */ nop
/* 0450C 80914B4C 00052C00 */ sll $a1, $a1, 16
/* 04510 80914B50 0C00084C */ jal osSyncPrintf
/* 04514 80914B54 00052C03 */ sra $a1, $a1, 16
/* 04518 80914B58 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0
/* 0451C 80914B5C 3C0DFB00 */ lui $t5, 0xFB00 ## $t5 = FB000000
/* 04520 80914B60 244C0008 */ addiu $t4, $v0, 0x0008 ## $t4 = 00000008
/* 04524 80914B64 AE0C02C0 */ sw $t4, 0x02C0($s0) ## 000002C0
/* 04528 80914B68 AC4D0000 */ sw $t5, 0x0000($v0) ## 00000000
/* 0452C 80914B6C C62601D4 */ lwc1 $f6, 0x01D4($s1) ## 000001D4
/* 04530 80914B70 C62A01E0 */ lwc1 $f10, 0x01E0($s1) ## 000001E0
/* 04534 80914B74 4600320D */ trunc.w.s $f8, $f6
/* 04538 80914B78 4600540D */ trunc.w.s $f16, $f10
/* 0453C 80914B7C 44034000 */ mfc1 $v1, $f8
/* 04540 80914B80 44088000 */ mfc1 $t0, $f16
/* 04544 80914B84 00031C00 */ sll $v1, $v1, 16
/* 04548 80914B88 00031C03 */ sra $v1, $v1, 16
/* 0454C 80914B8C 306300FF */ andi $v1, $v1, 0x00FF ## $v1 = 00000000
/* 04550 80914B90 00035600 */ sll $t2, $v1, 24
/* 04554 80914B94 310900FF */ andi $t1, $t0, 0x00FF ## $t1 = 00000000
/* 04558 80914B98 012A5825 */ or $t3, $t1, $t2 ## $t3 = 00000000
/* 0455C 80914B9C 00036400 */ sll $t4, $v1, 16
/* 04560 80914BA0 016C6825 */ or $t5, $t3, $t4 ## $t5 = 00000008
/* 04564 80914BA4 00037200 */ sll $t6, $v1, 8
/* 04568 80914BA8 01AE7825 */ or $t7, $t5, $t6 ## $t7 = 00000008
/* 0456C 80914BAC AC4F0004 */ sw $t7, 0x0004($v0) ## 00000004
/* 04570 80914BB0 863801B0 */ lh $t8, 0x01B0($s1) ## 000001B0
/* 04574 80914BB4 5300000F */ beql $t8, $zero, .L80914BF4
/* 04578 80914BB8 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0
/* 0457C 80914BBC 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0
/* 04580 80914BC0 3C08DB06 */ lui $t0, 0xDB06 ## $t0 = DB060000
/* 04584 80914BC4 35080020 */ ori $t0, $t0, 0x0020 ## $t0 = DB060020
/* 04588 80914BC8 24590008 */ addiu $t9, $v0, 0x0008 ## $t9 = 00000008
/* 0458C 80914BCC AE1902C0 */ sw $t9, 0x02C0($s0) ## 000002C0
/* 04590 80914BD0 AC480000 */ sw $t0, 0x0000($v0) ## 00000000
/* 04594 80914BD4 8FA90064 */ lw $t1, 0x0064($sp)
/* 04598 80914BD8 8D240000 */ lw $a0, 0x0000($t1) ## 00000000
/* 0459C 80914BDC 0C2451E8 */ jal func_809147A0
/* 045A0 80914BE0 AFA20038 */ sw $v0, 0x0038($sp)
/* 045A4 80914BE4 8FA30038 */ lw $v1, 0x0038($sp)
/* 045A8 80914BE8 1000000D */ beq $zero, $zero, .L80914C20
/* 045AC 80914BEC AC620004 */ sw $v0, 0x0004($v1) ## 00000004
/* 045B0 80914BF0 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0
.L80914BF4:
/* 045B4 80914BF4 3C0BDB06 */ lui $t3, 0xDB06 ## $t3 = DB060000
/* 045B8 80914BF8 356B0020 */ ori $t3, $t3, 0x0020 ## $t3 = DB060020
/* 045BC 80914BFC 244A0008 */ addiu $t2, $v0, 0x0008 ## $t2 = 00000008
/* 045C0 80914C00 AE0A02C0 */ sw $t2, 0x02C0($s0) ## 000002C0
/* 045C4 80914C04 AC4B0000 */ sw $t3, 0x0000($v0) ## 00000000
/* 045C8 80914C08 8FAC0064 */ lw $t4, 0x0064($sp)
/* 045CC 80914C0C 8D840000 */ lw $a0, 0x0000($t4) ## 00000000
/* 045D0 80914C10 0C245206 */ jal func_80914818
/* 045D4 80914C14 AFA20034 */ sw $v0, 0x0034($sp)
/* 045D8 80914C18 8FA30034 */ lw $v1, 0x0034($sp)
/* 045DC 80914C1C AC620004 */ sw $v0, 0x0004($v1) ## 00000004
.L80914C20:
/* 045E0 80914C20 3C0D8091 */ lui $t5, %hi(func_809146DC) ## $t5 = 80910000
/* 045E4 80914C24 25AD46DC */ addiu $t5, $t5, %lo(func_809146DC) ## $t5 = 809146DC
/* 045E8 80914C28 8E250150 */ lw $a1, 0x0150($s1) ## 00000150
/* 045EC 80914C2C 8E26016C */ lw $a2, 0x016C($s1) ## 0000016C
/* 045F0 80914C30 3C078091 */ lui $a3, %hi(func_809142E0) ## $a3 = 80910000
/* 045F4 80914C34 24E742E0 */ addiu $a3, $a3, %lo(func_809142E0) ## $a3 = 809142E0
/* 045F8 80914C38 AFB10014 */ sw $s1, 0x0014($sp)
/* 045FC 80914C3C AFAD0010 */ sw $t5, 0x0010($sp)
/* 04600 80914C40 0C028572 */ jal SkelAnime_DrawOpa
/* 04604 80914C44 8FA40064 */ lw $a0, 0x0064($sp)
/* 04608 80914C48 3C048091 */ lui $a0, %hi(D_809153D8) ## $a0 = 80910000
/* 0460C 80914C4C 0C00084C */ jal osSyncPrintf
/* 04610 80914C50 248453D8 */ addiu $a0, $a0, %lo(D_809153D8) ## $a0 = 809153D8
/* 04614 80914C54 8FA40064 */ lw $a0, 0x0064($sp)
/* 04618 80914C58 0C02F228 */ jal func_800BC8A0
/* 0461C 80914C5C 8E0502C0 */ lw $a1, 0x02C0($s0) ## 000002C0
/* 04620 80914C60 AE0202C0 */ sw $v0, 0x02C0($s0) ## 000002C0
/* 04624 80914C64 8FAE0064 */ lw $t6, 0x0064($sp)
/* 04628 80914C68 3C068091 */ lui $a2, %hi(D_809153E4) ## $a2 = 80910000
/* 0462C 80914C6C 24C653E4 */ addiu $a2, $a2, %lo(D_809153E4) ## $a2 = 809153E4
/* 04630 80914C70 27A40040 */ addiu $a0, $sp, 0x0040 ## $a0 = FFFFFFE0
/* 04634 80914C74 24070EE6 */ addiu $a3, $zero, 0x0EE6 ## $a3 = 00000EE6
/* 04638 80914C78 0C031AD5 */ jal Graph_CloseDisps
/* 0463C 80914C7C 8DC50000 */ lw $a1, 0x0000($t6) ## 00000000
/* 04640 80914C80 3C048091 */ lui $a0, %hi(D_809153FC) ## $a0 = 80910000
/* 04644 80914C84 248453FC */ addiu $a0, $a0, %lo(D_809153FC) ## $a0 = 809153FC
/* 04648 80914C88 0C00084C */ jal osSyncPrintf
/* 0464C 80914C8C 8625001C */ lh $a1, 0x001C($s1) ## 0000001C
/* 04650 80914C90 8FBF002C */ lw $ra, 0x002C($sp)
/* 04654 80914C94 8FB00024 */ lw $s0, 0x0024($sp)
/* 04658 80914C98 8FB10028 */ lw $s1, 0x0028($sp)
/* 0465C 80914C9C 03E00008 */ jr $ra
/* 04660 80914CA0 27BD0060 */ addiu $sp, $sp, 0x0060 ## $sp = 00000000
/* 04664 80914CA4 00000000 */ nop
/* 04668 80914CA8 00000000 */ nop
/* 0466C 80914CAC 00000000 */ nop

View file

@ -1,191 +0,0 @@
.late_rodata
glabel D_8091540C
.float -3315.0
glabel D_80915410
.float -3315.0
.text
glabel BossGanondrof_Init
/* 00430 80910A70 27BDFFB0 */ addiu $sp, $sp, 0xFFB0 ## $sp = FFFFFFB0
/* 00434 80910A74 AFB10038 */ sw $s1, 0x0038($sp)
/* 00438 80910A78 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
/* 0043C 80910A7C AFBF003C */ sw $ra, 0x003C($sp)
/* 00440 80910A80 AFB00034 */ sw $s0, 0x0034($sp)
/* 00444 80910A84 3C058091 */ lui $a1, %hi(D_80915084) ## $a1 = 80910000
/* 00448 80910A88 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 0044C 80910A8C 0C01E037 */ jal Actor_ProcessInitChain
/* 00450 80910A90 24A55084 */ addiu $a1, $a1, %lo(D_80915084) ## $a1 = 80915084
/* 00454 80910A94 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
/* 00458 80910A98 260400B4 */ addiu $a0, $s0, 0x00B4 ## $a0 = 000000B4
/* 0045C 80910A9C 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
/* 00460 80910AA0 44050000 */ mfc1 $a1, $f0
/* 00464 80910AA4 44070000 */ mfc1 $a3, $f0
/* 00468 80910AA8 0C00AC78 */ jal ActorShape_Init
/* 0046C 80910AAC 00000000 */ nop
/* 00470 80910AB0 3C053C23 */ lui $a1, 0x3C23 ## $a1 = 3C230000
/* 00474 80910AB4 34A5D70A */ ori $a1, $a1, 0xD70A ## $a1 = 3C23D70A
/* 00478 80910AB8 0C00B58B */ jal Actor_SetScale
/* 0047C 80910ABC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00480 80910AC0 3C060601 */ lui $a2, 0x0601 ## $a2 = 06010000
/* 00484 80910AC4 3C070600 */ lui $a3, 0x0600 ## $a3 = 06000000
/* 00488 80910AC8 24E73CA4 */ addiu $a3, $a3, 0x3CA4 ## $a3 = 06003CA4
/* 0048C 80910ACC 24C6C710 */ addiu $a2, $a2, 0xC710 ## $a2 = 0600C710
/* 00490 80910AD0 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 00494 80910AD4 2605014C */ addiu $a1, $s0, 0x014C ## $a1 = 0000014C
/* 00498 80910AD8 AFA00010 */ sw $zero, 0x0010($sp)
/* 0049C 80910ADC AFA00014 */ sw $zero, 0x0014($sp)
/* 004A0 80910AE0 0C02915F */ jal SkelAnime_Init
/* 004A4 80910AE4 AFA00018 */ sw $zero, 0x0018($sp)
/* 004A8 80910AE8 860E001C */ lh $t6, 0x001C($s0) ## 0000001C
/* 004AC 80910AEC 240F0001 */ addiu $t7, $zero, 0x0001 ## $t7 = 00000001
/* 004B0 80910AF0 2418001E */ addiu $t8, $zero, 0x001E ## $t8 = 0000001E
/* 004B4 80910AF4 29C1000A */ slti $at, $t6, 0x000A
/* 004B8 80910AF8 10200026 */ beq $at, $zero, .L80910B94
/* 004BC 80910AFC 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 004C0 80910B00 A60F001C */ sh $t7, 0x001C($s0) ## 0000001C
/* 004C4 80910B04 A21800AF */ sb $t8, 0x00AF($s0) ## 000000AF
/* 004C8 80910B08 260604D0 */ addiu $a2, $s0, 0x04D0 ## $a2 = 000004D0
/* 004CC 80910B0C AFA60044 */ sw $a2, 0x0044($sp)
/* 004D0 80910B10 0C01E9D9 */ jal LightContext_InsertLight
/* 004D4 80910B14 262507A8 */ addiu $a1, $s1, 0x07A8 ## $a1 = 000007A8
/* 004D8 80910B18 C6040024 */ lwc1 $f4, 0x0024($s0) ## 00000024
/* 004DC 80910B1C C6080028 */ lwc1 $f8, 0x0028($s0) ## 00000028
/* 004E0 80910B20 C610002C */ lwc1 $f16, 0x002C($s0) ## 0000002C
/* 004E4 80910B24 4600218D */ trunc.w.s $f6, $f4
/* 004E8 80910B28 AE0204CC */ sw $v0, 0x04CC($s0) ## 000004CC
/* 004EC 80910B2C 240A00FF */ addiu $t2, $zero, 0x00FF ## $t2 = 000000FF
/* 004F0 80910B30 4600428D */ trunc.w.s $f10, $f8
/* 004F4 80910B34 44053000 */ mfc1 $a1, $f6
/* 004F8 80910B38 240B00FF */ addiu $t3, $zero, 0x00FF ## $t3 = 000000FF
/* 004FC 80910B3C 4600848D */ trunc.w.s $f18, $f16
/* 00500 80910B40 44065000 */ mfc1 $a2, $f10
/* 00504 80910B44 240C00FF */ addiu $t4, $zero, 0x00FF ## $t4 = 000000FF
/* 00508 80910B48 240D00FF */ addiu $t5, $zero, 0x00FF ## $t5 = 000000FF
/* 0050C 80910B4C 44079000 */ mfc1 $a3, $f18
/* 00510 80910B50 00052C00 */ sll $a1, $a1, 16
/* 00514 80910B54 00063400 */ sll $a2, $a2, 16
/* 00518 80910B58 00073C00 */ sll $a3, $a3, 16
/* 0051C 80910B5C 00073C03 */ sra $a3, $a3, 16
/* 00520 80910B60 00063403 */ sra $a2, $a2, 16
/* 00524 80910B64 00052C03 */ sra $a1, $a1, 16
/* 00528 80910B68 AFAD001C */ sw $t5, 0x001C($sp)
/* 0052C 80910B6C AFAC0018 */ sw $t4, 0x0018($sp)
/* 00530 80910B70 AFAB0014 */ sw $t3, 0x0014($sp)
/* 00534 80910B74 AFAA0010 */ sw $t2, 0x0010($sp)
/* 00538 80910B78 0C01E763 */ jal Lights_PointNoGlowSetInfo
/* 0053C 80910B7C 8FA40044 */ lw $a0, 0x0044($sp)
/* 00540 80910B80 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00544 80910B84 0C244360 */ jal func_80910D80
/* 00548 80910B88 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
/* 0054C 80910B8C 10000004 */ beq $zero, $zero, .L80910BA0
/* 00550 80910B90 260504E0 */ addiu $a1, $s0, 0x04E0 ## $a1 = 000004E0
.L80910B94:
/* 00554 80910B94 0C2444A5 */ jal func_80911294
/* 00558 80910B98 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 0055C 80910B9C 260504E0 */ addiu $a1, $s0, 0x04E0 ## $a1 = 000004E0
.L80910BA0:
/* 00560 80910BA0 AFA50040 */ sw $a1, 0x0040($sp)
/* 00564 80910BA4 0C0170D9 */ jal Collider_InitCylinder
/* 00568 80910BA8 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 0056C 80910BAC 2605052C */ addiu $a1, $s0, 0x052C ## $a1 = 0000052C
/* 00570 80910BB0 AFA50044 */ sw $a1, 0x0044($sp)
/* 00574 80910BB4 0C0170D9 */ jal Collider_InitCylinder
/* 00578 80910BB8 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 0057C 80910BBC 3C078091 */ lui $a3, %hi(D_80914CD0) ## $a3 = 80910000
/* 00580 80910BC0 24E74CD0 */ addiu $a3, $a3, %lo(D_80914CD0) ## $a3 = 80914CD0
/* 00584 80910BC4 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 00588 80910BC8 8FA50040 */ lw $a1, 0x0040($sp)
/* 0058C 80910BCC 0C01712B */ jal Collider_SetCylinder
/* 00590 80910BD0 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
/* 00594 80910BD4 3C078091 */ lui $a3, %hi(D_80914CFC) ## $a3 = 80910000
/* 00598 80910BD8 24E74CFC */ addiu $a3, $a3, %lo(D_80914CFC) ## $a3 = 80914CFC
/* 0059C 80910BDC 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 005A0 80910BE0 8FA50044 */ lw $a1, 0x0044($sp)
/* 005A4 80910BE4 0C01712B */ jal Collider_SetCylinder
/* 005A8 80910BE8 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
/* 005AC 80910BEC 8E0E0004 */ lw $t6, 0x0004($s0) ## 00000004
/* 005B0 80910BF0 2401FFFE */ addiu $at, $zero, 0xFFFE ## $at = FFFFFFFE
/* 005B4 80910BF4 3C050001 */ lui $a1, 0x0001 ## $a1 = 00010000
/* 005B8 80910BF8 01C17824 */ and $t7, $t6, $at
/* 005BC 80910BFC AE0F0004 */ sw $t7, 0x0004($s0) ## 00000004
/* 005C0 80910C00 00B12821 */ addu $a1, $a1, $s1
/* 005C4 80910C04 80A51CBC */ lb $a1, 0x1CBC($a1) ## 00011CBC
/* 005C8 80910C08 0C00B337 */ jal Flags_GetClear
/* 005CC 80910C0C 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 005D0 80910C10 50400026 */ beql $v0, $zero, .L80910CAC
/* 005D4 80910C14 C6100024 */ lwc1 $f16, 0x0024($s0) ## 00000024
/* 005D8 80910C18 0C00B55C */ jal Actor_Kill
/* 005DC 80910C1C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 005E0 80910C20 3C01C204 */ lui $at, 0xC204 ## $at = C2040000
/* 005E4 80910C24 44812000 */ mtc1 $at, $f4 ## $f4 = -33.00
/* 005E8 80910C28 3C018091 */ lui $at, %hi(D_8091540C) ## $at = 80910000
/* 005EC 80910C2C C426540C */ lwc1 $f6, %lo(D_8091540C)($at)
/* 005F0 80910C30 26301C24 */ addiu $s0, $s1, 0x1C24 ## $s0 = 00001C24
/* 005F4 80910C34 2418FFFF */ addiu $t8, $zero, 0xFFFF ## $t8 = FFFFFFFF
/* 005F8 80910C38 AFB80024 */ sw $t8, 0x0024($sp)
/* 005FC 80910C3C 02002025 */ or $a0, $s0, $zero ## $a0 = 00001C24
/* 00600 80910C40 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
/* 00604 80910C44 2406005D */ addiu $a2, $zero, 0x005D ## $a2 = 0000005D
/* 00608 80910C48 3C074160 */ lui $a3, 0x4160 ## $a3 = 41600000
/* 0060C 80910C4C AFA00018 */ sw $zero, 0x0018($sp)
/* 00610 80910C50 AFA0001C */ sw $zero, 0x001C($sp)
/* 00614 80910C54 AFA00020 */ sw $zero, 0x0020($sp)
/* 00618 80910C58 E7A40010 */ swc1 $f4, 0x0010($sp)
/* 0061C 80910C5C 0C00C7D4 */ jal Actor_Spawn
## ActorSpawn
/* 00620 80910C60 E7A60014 */ swc1 $f6, 0x0014($sp)
/* 00624 80910C64 3C01C204 */ lui $at, 0xC204 ## $at = C2040000
/* 00628 80910C68 44814000 */ mtc1 $at, $f8 ## $f8 = -33.00
/* 0062C 80910C6C 3C018091 */ lui $at, %hi(D_80915410) ## $at = 80910000
/* 00630 80910C70 C42A5410 */ lwc1 $f10, %lo(D_80915410)($at)
/* 00634 80910C74 02002025 */ or $a0, $s0, $zero ## $a0 = 00001C24
/* 00638 80910C78 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
/* 0063C 80910C7C 2406005F */ addiu $a2, $zero, 0x005F ## $a2 = 0000005F
/* 00640 80910C80 3C074356 */ lui $a3, 0x4356 ## $a3 = 43560000
/* 00644 80910C84 AFA00018 */ sw $zero, 0x0018($sp)
/* 00648 80910C88 AFA0001C */ sw $zero, 0x001C($sp)
/* 0064C 80910C8C AFA00020 */ sw $zero, 0x0020($sp)
/* 00650 80910C90 AFA00024 */ sw $zero, 0x0024($sp)
/* 00654 80910C94 E7A80010 */ swc1 $f8, 0x0010($sp)
/* 00658 80910C98 0C00C7D4 */ jal Actor_Spawn
## ActorSpawn
/* 0065C 80910C9C E7AA0014 */ swc1 $f10, 0x0014($sp)
/* 00660 80910CA0 10000012 */ beq $zero, $zero, .L80910CEC
/* 00664 80910CA4 8FBF003C */ lw $ra, 0x003C($sp)
/* 00668 80910CA8 C6100024 */ lwc1 $f16, 0x0024($s0) ## 00001C48
.L80910CAC:
/* 0066C 80910CAC 26241C24 */ addiu $a0, $s1, 0x1C24 ## $a0 = 00001C24
/* 00670 80910CB0 02002825 */ or $a1, $s0, $zero ## $a1 = 00001C24
/* 00674 80910CB4 E7B00010 */ swc1 $f16, 0x0010($sp)
/* 00678 80910CB8 C6120028 */ lwc1 $f18, 0x0028($s0) ## 00001C4C
/* 0067C 80910CBC 02203025 */ or $a2, $s1, $zero ## $a2 = 00000000
/* 00680 80910CC0 24070067 */ addiu $a3, $zero, 0x0067 ## $a3 = 00000067
/* 00684 80910CC4 E7B20014 */ swc1 $f18, 0x0014($sp)
/* 00688 80910CC8 C604002C */ lwc1 $f4, 0x002C($s0) ## 00001C50
/* 0068C 80910CCC AFA00024 */ sw $zero, 0x0024($sp)
/* 00690 80910CD0 AFA00020 */ sw $zero, 0x0020($sp)
/* 00694 80910CD4 AFA0001C */ sw $zero, 0x001C($sp)
/* 00698 80910CD8 E7A40018 */ swc1 $f4, 0x0018($sp)
/* 0069C 80910CDC 8619001C */ lh $t9, 0x001C($s0) ## 00001C40
/* 006A0 80910CE0 0C00C916 */ jal Actor_SpawnAsChild
/* 006A4 80910CE4 AFB90028 */ sw $t9, 0x0028($sp)
/* 006A8 80910CE8 8FBF003C */ lw $ra, 0x003C($sp)
.L80910CEC:
/* 006AC 80910CEC 8FB00034 */ lw $s0, 0x0034($sp)
/* 006B0 80910CF0 8FB10038 */ lw $s1, 0x0038($sp)
/* 006B4 80910CF4 03E00008 */ jr $ra
/* 006B8 80910CF8 27BD0050 */ addiu $sp, $sp, 0x0050 ## $sp = 00000000

View file

@ -1,342 +0,0 @@
.rdata
glabel D_80915314
.asciz "MOVE START %d\n"
.balign 4
glabel D_80915324
.asciz "MOVE START EEEEEEEEEEEEEEEEEEEEEE%d\n"
.balign 4
glabel D_8091534C
.asciz "MOVE END\n"
.balign 4
glabel D_80915358
.asciz "F 1\n"
.balign 4
glabel D_80915360
.asciz "F 15\n"
.balign 4
glabel D_80915368
.asciz "F 2\n"
.balign 4
.text
glabel BossGanondrof_Update
/* 0384C 80913E8C 27BDFF88 */ addiu $sp, $sp, 0xFF88 ## $sp = FFFFFF88
/* 03850 80913E90 AFB1002C */ sw $s1, 0x002C($sp)
/* 03854 80913E94 00808825 */ or $s1, $a0, $zero ## $s1 = 00000000
/* 03858 80913E98 AFB20030 */ sw $s2, 0x0030($sp)
/* 0385C 80913E9C 00A09025 */ or $s2, $a1, $zero ## $s2 = 00000000
/* 03860 80913EA0 AFBF0034 */ sw $ra, 0x0034($sp)
/* 03864 80913EA4 AFB00028 */ sw $s0, 0x0028($sp)
/* 03868 80913EA8 3C048091 */ lui $a0, %hi(D_80915314) ## $a0 = 80910000
/* 0386C 80913EAC 24845314 */ addiu $a0, $a0, %lo(D_80915314) ## $a0 = 80915314
/* 03870 80913EB0 0C00084C */ jal osSyncPrintf
/* 03874 80913EB4 8625001C */ lh $a1, 0x001C($s1) ## 0000001C
/* 03878 80913EB8 8E2E0004 */ lw $t6, 0x0004($s1) ## 00000004
/* 0387C 80913EBC 923901C6 */ lbu $t9, 0x01C6($s1) ## 000001C6
/* 03880 80913EC0 2401FBFF */ addiu $at, $zero, 0xFBFF ## $at = FFFFFBFF
/* 03884 80913EC4 24180003 */ addiu $t8, $zero, 0x0003 ## $t8 = 00000003
/* 03888 80913EC8 01C17824 */ and $t7, $t6, $at
/* 0388C 80913ECC AE2F0004 */ sw $t7, 0x0004($s1) ## 00000004
/* 03890 80913ED0 13200005 */ beq $t9, $zero, .L80913EE8
/* 03894 80913ED4 A23804F4 */ sb $t8, 0x04F4($s1) ## 000004F4
/* 03898 80913ED8 0C00B55C */ jal Actor_Kill
/* 0389C 80913EDC 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 038A0 80913EE0 100000FA */ beq $zero, $zero, .L809142CC
/* 038A4 80913EE4 8FBF0034 */ lw $ra, 0x0034($sp)
.L80913EE8:
/* 038A8 80913EE8 86280194 */ lh $t0, 0x0194($s1) ## 00000194
/* 038AC 80913EEC 3C048091 */ lui $a0, %hi(D_80915324) ## $a0 = 80910000
/* 038B0 80913EF0 8E30011C */ lw $s0, 0x011C($s1) ## 0000011C
/* 038B4 80913EF4 25090001 */ addiu $t1, $t0, 0x0001 ## $t1 = 00000001
/* 038B8 80913EF8 A6290194 */ sh $t1, 0x0194($s1) ## 00000194
/* 038BC 80913EFC 24845324 */ addiu $a0, $a0, %lo(D_80915324) ## $a0 = 80915324
/* 038C0 80913F00 0C00084C */ jal osSyncPrintf
/* 038C4 80913F04 8625001C */ lh $a1, 0x001C($s1) ## 0000001C
/* 038C8 80913F08 8E390190 */ lw $t9, 0x0190($s1) ## 00000190
/* 038CC 80913F0C 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 038D0 80913F10 02402825 */ or $a1, $s2, $zero ## $a1 = 00000000
/* 038D4 80913F14 0320F809 */ jalr $ra, $t9
/* 038D8 80913F18 00000000 */ nop
/* 038DC 80913F1C 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
/* 038E0 80913F20 00025040 */ sll $t2, $v0, 1
.L80913F24:
/* 038E4 80913F24 022A1821 */ addu $v1, $s1, $t2
/* 038E8 80913F28 846401BC */ lh $a0, 0x01BC($v1) ## 000001BC
/* 038EC 80913F2C 24420001 */ addiu $v0, $v0, 0x0001 ## $v0 = 00000001
/* 038F0 80913F30 00021400 */ sll $v0, $v0, 16
/* 038F4 80913F34 10800003 */ beq $a0, $zero, .L80913F44
/* 038F8 80913F38 00021403 */ sra $v0, $v0, 16
/* 038FC 80913F3C 248BFFFF */ addiu $t3, $a0, 0xFFFF ## $t3 = FFFFFFFF
/* 03900 80913F40 A46B01BC */ sh $t3, 0x01BC($v1) ## 000001BC
.L80913F44:
/* 03904 80913F44 28410005 */ slti $at, $v0, 0x0005
/* 03908 80913F48 5420FFF6 */ bnel $at, $zero, .L80913F24
/* 0390C 80913F4C 00025040 */ sll $t2, $v0, 1
/* 03910 80913F50 8622019C */ lh $v0, 0x019C($s1) ## 0000019C
/* 03914 80913F54 10400002 */ beq $v0, $zero, .L80913F60
/* 03918 80913F58 244CFFFF */ addiu $t4, $v0, 0xFFFF ## $t4 = 00000000
/* 0391C 80913F5C A62C019C */ sh $t4, 0x019C($s1) ## 0000019C
.L80913F60:
/* 03920 80913F60 8622019E */ lh $v0, 0x019E($s1) ## 0000019E
/* 03924 80913F64 10400002 */ beq $v0, $zero, .L80913F70
/* 03928 80913F68 244DFFFF */ addiu $t5, $v0, 0xFFFF ## $t5 = 00000000
/* 0392C 80913F6C A62D019E */ sh $t5, 0x019E($s1) ## 0000019E
.L80913F70:
/* 03930 80913F70 8E2F0190 */ lw $t7, 0x0190($s1) ## 00000190
/* 03934 80913F74 3C0E8091 */ lui $t6, %hi(func_80912D2C) ## $t6 = 80910000
/* 03938 80913F78 25CE2D2C */ addiu $t6, $t6, %lo(func_80912D2C) ## $t6 = 80912D2C
/* 0393C 80913F7C 11CF0003 */ beq $t6, $t7, .L80913F8C
/* 03940 80913F80 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 03944 80913F84 0C244F15 */ jal func_80913C54
/* 03948 80913F88 02402825 */ or $a1, $s2, $zero ## $a1 = 00000000
.L80913F8C:
/* 0394C 80913F8C 3C048091 */ lui $a0, %hi(D_8091534C) ## $a0 = 80910000
/* 03950 80913F90 0C00084C */ jal osSyncPrintf
/* 03954 80913F94 2484534C */ addiu $a0, $a0, %lo(D_8091534C) ## $a0 = 8091534C
/* 03958 80913F98 2624020C */ addiu $a0, $s1, 0x020C ## $a0 = 0000020C
/* 0395C 80913F9C 262504E0 */ addiu $a1, $s1, 0x04E0 ## $a1 = 000004E0
/* 03960 80913FA0 AFA5003C */ sw $a1, 0x003C($sp)
/* 03964 80913FA4 0C24428D */ jal func_80910A34
/* 03968 80913FA8 AFA40038 */ sw $a0, 0x0038($sp)
/* 0396C 80913FAC 2625052C */ addiu $a1, $s1, 0x052C ## $a1 = 0000052C
/* 03970 80913FB0 AFA50040 */ sw $a1, 0x0040($sp)
/* 03974 80913FB4 0C24428D */ jal func_80910A34
/* 03978 80913FB8 26240200 */ addiu $a0, $s1, 0x0200 ## $a0 = 00000200
/* 0397C 80913FBC 923801C9 */ lbu $t8, 0x01C9($s1) ## 000001C9
/* 03980 80913FC0 17000009 */ bne $t8, $zero, .L80913FE8
/* 03984 80913FC4 00000000 */ nop
/* 03988 80913FC8 9208014D */ lbu $t0, 0x014D($s0) ## 0000014D
/* 0398C 80913FCC 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 03990 80913FD0 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60
/* 03994 80913FD4 15000004 */ bne $t0, $zero, .L80913FE8
/* 03998 80913FD8 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000
/* 0399C 80913FDC 02412821 */ addu $a1, $s2, $at
/* 039A0 80913FE0 0C01767D */ jal CollisionCheck_SetAC
## CollisionCheck_setAC
/* 039A4 80913FE4 8FA6003C */ lw $a2, 0x003C($sp)
.L80913FE8:
/* 039A8 80913FE8 3C098091 */ lui $t1, %hi(func_809122A4) ## $t1 = 80910000
/* 039AC 80913FEC 252922A4 */ addiu $t1, $t1, %lo(func_809122A4) ## $t1 = 809122A4
/* 039B0 80913FF0 AFA90044 */ sw $t1, 0x0044($sp)
/* 039B4 80913FF4 8E220190 */ lw $v0, 0x0190($s1) ## 00000190
/* 039B8 80913FF8 3C030001 */ lui $v1, 0x0001 ## $v1 = 00010000
/* 039BC 80913FFC 34631E60 */ ori $v1, $v1, 0x1E60 ## $v1 = 00011E60
/* 039C0 80914000 1522000F */ bne $t1, $v0, .L80914040
/* 039C4 80914004 3C0A8091 */ lui $t2, %hi(func_80912448) ## $t2 = 80910000
/* 039C8 80914008 863901BC */ lh $t9, 0x01BC($s1) ## 000001BC
/* 039CC 8091400C 02438021 */ addu $s0, $s2, $v1
/* 039D0 80914010 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 039D4 80914014 2B210002 */ slti $at, $t9, 0x0002
/* 039D8 80914018 14200009 */ bne $at, $zero, .L80914040
/* 039DC 8091401C 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000
/* 039E0 80914020 0C01767D */ jal CollisionCheck_SetAC
## CollisionCheck_setAC
/* 039E4 80914024 8FA6003C */ lw $a2, 0x003C($sp)
/* 039E8 80914028 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000
/* 039EC 8091402C 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 039F0 80914030 0C017713 */ jal CollisionCheck_SetOC
## CollisionCheck_setOC
/* 039F4 80914034 8FA6003C */ lw $a2, 0x003C($sp)
/* 039F8 80914038 1000001A */ beq $zero, $zero, .L809140A4
/* 039FC 8091403C 8FAC0038 */ lw $t4, 0x0038($sp)
.L80914040:
/* 03A00 80914040 254A2448 */ addiu $t2, $t2, %lo(func_80912448) ## $t2 = 00002448
/* 03A04 80914044 15420007 */ bne $t2, $v0, .L80914064
/* 03A08 80914048 3C0B8091 */ lui $t3, %hi(func_80912594) ## $t3 = 80910000
/* 03A0C 8091404C 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000
/* 03A10 80914050 02432821 */ addu $a1, $s2, $v1
/* 03A14 80914054 0C01767D */ jal CollisionCheck_SetAC
## CollisionCheck_setAC
/* 03A18 80914058 8FA6003C */ lw $a2, 0x003C($sp)
/* 03A1C 8091405C 10000011 */ beq $zero, $zero, .L809140A4
/* 03A20 80914060 8FAC0038 */ lw $t4, 0x0038($sp)
.L80914064:
/* 03A24 80914064 256B2594 */ addiu $t3, $t3, %lo(func_80912594) ## $t3 = 00002594
/* 03A28 80914068 1562000D */ bne $t3, $v0, .L809140A0
/* 03A2C 8091406C 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000
/* 03A30 80914070 02438021 */ addu $s0, $s2, $v1
/* 03A34 80914074 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 03A38 80914078 0C01767D */ jal CollisionCheck_SetAC
## CollisionCheck_setAC
/* 03A3C 8091407C 8FA6003C */ lw $a2, 0x003C($sp)
/* 03A40 80914080 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000
/* 03A44 80914084 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 03A48 80914088 0C0175E7 */ jal CollisionCheck_SetAT
## CollisionCheck_setAT
/* 03A4C 8091408C 8FA6003C */ lw $a2, 0x003C($sp)
/* 03A50 80914090 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000
/* 03A54 80914094 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 03A58 80914098 0C0175E7 */ jal CollisionCheck_SetAT
## CollisionCheck_setAT
/* 03A5C 8091409C 8FA60040 */ lw $a2, 0x0040($sp)
.L809140A0:
/* 03A60 809140A0 8FAC0038 */ lw $t4, 0x0038($sp)
.L809140A4:
/* 03A64 809140A4 862400B6 */ lh $a0, 0x00B6($s1) ## 000000B6
/* 03A68 809140A8 8D8E0000 */ lw $t6, 0x0000($t4) ## 00000000
/* 03A6C 809140AC 00042023 */ subu $a0, $zero, $a0
/* 03A70 809140B0 00042400 */ sll $a0, $a0, 16
/* 03A74 809140B4 AE2E0038 */ sw $t6, 0x0038($s1) ## 00000038
/* 03A78 809140B8 8D8D0004 */ lw $t5, 0x0004($t4) ## 00000004
/* 03A7C 809140BC 00042403 */ sra $a0, $a0, 16
/* 03A80 809140C0 AE2D003C */ sw $t5, 0x003C($s1) ## 0000003C
/* 03A84 809140C4 8D8E0008 */ lw $t6, 0x0008($t4) ## 00000008
/* 03A88 809140C8 0C01DE1C */ jal Math_SinS
## sins?
/* 03A8C 809140CC AE2E0040 */ sw $t6, 0x0040($s1) ## 00000040
/* 03A90 809140D0 862400B6 */ lh $a0, 0x00B6($s1) ## 000000B6
/* 03A94 809140D4 E7A00070 */ swc1 $f0, 0x0070($sp)
/* 03A98 809140D8 00042023 */ subu $a0, $zero, $a0
/* 03A9C 809140DC 00042400 */ sll $a0, $a0, 16
/* 03AA0 809140E0 0C01DE0D */ jal Math_CosS
## coss?
/* 03AA4 809140E4 00042403 */ sra $a0, $a0, 16
/* 03AA8 809140E8 C7B00070 */ lwc1 $f16, 0x0070($sp)
/* 03AAC 809140EC C6220064 */ lwc1 $f2, 0x0064($s1) ## 00000064
/* 03AB0 809140F0 C62C005C */ lwc1 $f12, 0x005C($s1) ## 0000005C
/* 03AB4 809140F4 3C014396 */ lui $at, 0x4396 ## $at = 43960000
/* 03AB8 809140F8 46101102 */ mul.s $f4, $f2, $f16
/* 03ABC 809140FC 44819000 */ mtc1 $at, $f18 ## $f18 = 300.00
/* 03AC0 80914100 46008287 */ neg.s $f10, $f16
/* 03AC4 80914104 460C0182 */ mul.s $f6, $f0, $f12
/* 03AC8 80914108 262403C8 */ addiu $a0, $s1, 0x03C8 ## $a0 = 000003C8
/* 03ACC 8091410C 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 03AD0 80914110 3C074416 */ lui $a3, 0x4416 ## $a3 = 44160000
/* 03AD4 80914114 46062200 */ add.s $f8, $f4, $f6
/* 03AD8 80914118 46124382 */ mul.s $f14, $f8, $f18
/* 03ADC 8091411C 00000000 */ nop
/* 03AE0 80914120 460C5102 */ mul.s $f4, $f10, $f12
/* 03AE4 80914124 00000000 */ nop
/* 03AE8 80914128 46020182 */ mul.s $f6, $f0, $f2
/* 03AEC 8091412C 44057000 */ mfc1 $a1, $f14
/* 03AF0 80914130 46062200 */ add.s $f8, $f4, $f6
/* 03AF4 80914134 46124282 */ mul.s $f10, $f8, $f18
/* 03AF8 80914138 0C01E107 */ jal Math_ApproachF
/* 03AFC 8091413C E7AA0068 */ swc1 $f10, 0x0068($sp)
/* 03B00 80914140 262403CC */ addiu $a0, $s1, 0x03CC ## $a0 = 000003CC
/* 03B04 80914144 8FA50068 */ lw $a1, 0x0068($sp)
/* 03B08 80914148 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 03B0C 8091414C 0C01E107 */ jal Math_ApproachF
/* 03B10 80914150 3C074416 */ lui $a3, 0x4416 ## $a3 = 44160000
/* 03B14 80914154 922F01C9 */ lbu $t7, 0x01C9($s1) ## 000001C9
/* 03B18 80914158 8FB80044 */ lw $t8, 0x0044($sp)
/* 03B1C 8091415C 51E0001B */ beql $t7, $zero, .L809141CC
/* 03B20 80914160 44801000 */ mtc1 $zero, $f2 ## $f2 = 0.00
/* 03B24 80914164 8E280190 */ lw $t0, 0x0190($s1) ## 00000190
/* 03B28 80914168 53080018 */ beql $t8, $t0, .L809141CC
/* 03B2C 8091416C 44801000 */ mtc1 $zero, $f2 ## $f2 = 0.00
/* 03B30 80914170 8629035E */ lh $t1, 0x035E($s1) ## 0000035E
/* 03B34 80914174 55200015 */ bnel $t1, $zero, .L809141CC
/* 03B38 80914178 44801000 */ mtc1 $zero, $f2 ## $f2 = 0.00
/* 03B3C 8091417C 86240194 */ lh $a0, 0x0194($s1) ## 00000194
/* 03B40 80914180 00800821 */ addu $at, $a0, $zero
/* 03B44 80914184 000420C0 */ sll $a0, $a0, 3
/* 03B48 80914188 00812021 */ addu $a0, $a0, $at
/* 03B4C 8091418C 000420C0 */ sll $a0, $a0, 3
/* 03B50 80914190 00812023 */ subu $a0, $a0, $at
/* 03B54 80914194 000420C0 */ sll $a0, $a0, 3
/* 03B58 80914198 00812023 */ subu $a0, $a0, $at
/* 03B5C 8091419C 00042080 */ sll $a0, $a0, 2
/* 03B60 809141A0 00042400 */ sll $a0, $a0, 16
/* 03B64 809141A4 0C01DE1C */ jal Math_SinS
## sins?
/* 03B68 809141A8 00042403 */ sra $a0, $a0, 16
/* 03B6C 809141AC 3C01C3FA */ lui $at, 0xC3FA ## $at = C3FA0000
/* 03B70 809141B0 44812000 */ mtc1 $at, $f4 ## $f4 = -500.00
/* 03B74 809141B4 3C0143FA */ lui $at, 0x43FA ## $at = 43FA0000
/* 03B78 809141B8 44814000 */ mtc1 $at, $f8 ## $f8 = 500.00
/* 03B7C 809141BC 46040182 */ mul.s $f6, $f0, $f4
/* 03B80 809141C0 10000003 */ beq $zero, $zero, .L809141D0
/* 03B84 809141C4 46083081 */ sub.s $f2, $f6, $f8
/* 03B88 809141C8 44801000 */ mtc1 $zero, $f2 ## $f2 = 0.00
.L809141CC:
/* 03B8C 809141CC 00000000 */ nop
.L809141D0:
/* 03B90 809141D0 44051000 */ mfc1 $a1, $f2
/* 03B94 809141D4 262403D0 */ addiu $a0, $s1, 0x03D0 ## $a0 = 000003D0
/* 03B98 809141D8 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 03B9C 809141DC 0C01E107 */ jal Math_ApproachF
/* 03BA0 809141E0 3C0742C8 */ lui $a3, 0x42C8 ## $a3 = 42C80000
/* 03BA4 809141E4 922201C8 */ lbu $v0, 0x01C8($s1) ## 000001C8
/* 03BA8 809141E8 3C048091 */ lui $a0, %hi(D_80915358) ## $a0 = 80910000
/* 03BAC 809141EC 24845358 */ addiu $a0, $a0, %lo(D_80915358) ## $a0 = 80915358
/* 03BB0 809141F0 10400019 */ beq $v0, $zero, .L80914258
/* 03BB4 809141F4 2459FFFF */ addiu $t9, $v0, 0xFFFF ## $t9 = FFFFFFFF
/* 03BB8 809141F8 0C00084C */ jal osSyncPrintf
/* 03BBC 809141FC A23901C8 */ sb $t9, 0x01C8($s1) ## 000001C8
/* 03BC0 80914200 262A0024 */ addiu $t2, $s1, 0x0024 ## $t2 = 00000024
/* 03BC4 80914204 AFAA0048 */ sw $t2, 0x0048($sp)
/* 03BC8 80914208 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000
.L8091420C:
/* 03BCC 8091420C 3C048091 */ lui $a0, %hi(D_80915360) ## $a0 = 80910000
/* 03BD0 80914210 0C00084C */ jal osSyncPrintf
/* 03BD4 80914214 24845360 */ addiu $a0, $a0, %lo(D_80915360) ## $a0 = 80915360
/* 03BD8 80914218 240B0002 */ addiu $t3, $zero, 0x0002 ## $t3 = 00000002
/* 03BDC 8091421C AFAB0010 */ sw $t3, 0x0010($sp)
/* 03BE0 80914220 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000
/* 03BE4 80914224 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
/* 03BE8 80914228 8FA60048 */ lw $a2, 0x0048($sp)
/* 03BEC 8091422C 0C00A757 */ jal EffectSsFhgFlash_SpawnShock
/* 03BF0 80914230 2407002D */ addiu $a3, $zero, 0x002D ## $a3 = 0000002D
/* 03BF4 80914234 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001
/* 03BF8 80914238 00108400 */ sll $s0, $s0, 16
/* 03BFC 8091423C 00108403 */ sra $s0, $s0, 16
/* 03C00 80914240 2A010007 */ slti $at, $s0, 0x0007
/* 03C04 80914244 1420FFF1 */ bne $at, $zero, .L8091420C
/* 03C08 80914248 00000000 */ nop
/* 03C0C 8091424C 3C048091 */ lui $a0, %hi(D_80915368) ## $a0 = 80910000
/* 03C10 80914250 0C00084C */ jal osSyncPrintf
/* 03C14 80914254 24845368 */ addiu $a0, $a0, %lo(D_80915368) ## $a0 = 80915368
.L80914258:
/* 03C18 80914258 862C001C */ lh $t4, 0x001C($s1) ## 0000001C
/* 03C1C 8091425C 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 03C20 80914260 262404D0 */ addiu $a0, $s1, 0x04D0 ## $a0 = 000004D0
/* 03C24 80914264 15810018 */ bne $t4, $at, .L809142C8
/* 03C28 80914268 241800FF */ addiu $t8, $zero, 0x00FF ## $t8 = 000000FF
/* 03C2C 8091426C C62A0200 */ lwc1 $f10, 0x0200($s1) ## 00000200
/* 03C30 80914270 C6260204 */ lwc1 $f6, 0x0204($s1) ## 00000204
/* 03C34 80914274 240800FF */ addiu $t0, $zero, 0x00FF ## $t0 = 000000FF
/* 03C38 80914278 4600510D */ trunc.w.s $f4, $f10
/* 03C3C 8091427C C62A0208 */ lwc1 $f10, 0x0208($s1) ## 00000208
/* 03C40 80914280 240900FF */ addiu $t1, $zero, 0x00FF ## $t1 = 000000FF
/* 03C44 80914284 4600320D */ trunc.w.s $f8, $f6
/* 03C48 80914288 44052000 */ mfc1 $a1, $f4
/* 03C4C 8091428C 241900C8 */ addiu $t9, $zero, 0x00C8 ## $t9 = 000000C8
/* 03C50 80914290 4600510D */ trunc.w.s $f4, $f10
/* 03C54 80914294 44064000 */ mfc1 $a2, $f8
/* 03C58 80914298 00052C00 */ sll $a1, $a1, 16
/* 03C5C 8091429C 00052C03 */ sra $a1, $a1, 16
/* 03C60 809142A0 44072000 */ mfc1 $a3, $f4
/* 03C64 809142A4 00063400 */ sll $a2, $a2, 16
/* 03C68 809142A8 00063403 */ sra $a2, $a2, 16
/* 03C6C 809142AC 00073C00 */ sll $a3, $a3, 16
/* 03C70 809142B0 00073C03 */ sra $a3, $a3, 16
/* 03C74 809142B4 AFB9001C */ sw $t9, 0x001C($sp)
/* 03C78 809142B8 AFA90018 */ sw $t1, 0x0018($sp)
/* 03C7C 809142BC AFA80014 */ sw $t0, 0x0014($sp)
/* 03C80 809142C0 0C01E763 */ jal Lights_PointNoGlowSetInfo
/* 03C84 809142C4 AFB80010 */ sw $t8, 0x0010($sp)
.L809142C8:
/* 03C88 809142C8 8FBF0034 */ lw $ra, 0x0034($sp)
.L809142CC:
/* 03C8C 809142CC 8FB00028 */ lw $s0, 0x0028($sp)
/* 03C90 809142D0 8FB1002C */ lw $s1, 0x002C($sp)
/* 03C94 809142D4 8FB20030 */ lw $s2, 0x0030($sp)
/* 03C98 809142D8 03E00008 */ jr $ra
/* 03C9C 809142DC 27BD0078 */ addiu $sp, $sp, 0x0078 ## $sp = 00000000

View file

@ -1,19 +0,0 @@
glabel func_80910640
/* 00000 80910640 AFA60008 */ sw $a2, 0x0008($sp)
/* 00004 80910644 00063400 */ sll $a2, $a2, 16
/* 00008 80910648 00063403 */ sra $a2, $a2, 16
/* 0000C 8091064C 00C57021 */ addu $t6, $a2, $a1
/* 00010 80910650 91CF0000 */ lbu $t7, 0x0000($t6) ## 00000000
/* 00014 80910654 11E00008 */ beq $t7, $zero, .L80910678
/* 00018 80910658 00000000 */ nop
/* 0001C 8091065C 04C10003 */ bgez $a2, .L8091066C
/* 00020 80910660 0006C083 */ sra $t8, $a2, 2
/* 00024 80910664 24C10003 */ addiu $at, $a2, 0x0003 ## $at = 00000003
/* 00028 80910668 0001C083 */ sra $t8, $at, 2
.L8091066C:
/* 0002C 8091066C 0018C840 */ sll $t9, $t8, 1
/* 00030 80910670 00994021 */ addu $t0, $a0, $t9
/* 00034 80910674 A5000000 */ sh $zero, 0x0000($t0) ## 00000000
.L80910678:
/* 00038 80910678 03E00008 */ jr $ra
/* 0003C 8091067C 00000000 */ nop

View file

@ -1,19 +0,0 @@
glabel func_80910680
/* 00040 80910680 AFA60008 */ sw $a2, 0x0008($sp)
/* 00044 80910684 00063400 */ sll $a2, $a2, 16
/* 00048 80910688 00063403 */ sra $a2, $a2, 16
/* 0004C 8091068C 00C57021 */ addu $t6, $a2, $a1
/* 00050 80910690 91CF0000 */ lbu $t7, 0x0000($t6) ## 00000000
/* 00054 80910694 11E00008 */ beq $t7, $zero, .L809106B8
/* 00058 80910698 00000000 */ nop
/* 0005C 8091069C 04C10003 */ bgez $a2, .L809106AC
/* 00060 809106A0 0006C043 */ sra $t8, $a2, 1
/* 00064 809106A4 24C10001 */ addiu $at, $a2, 0x0001 ## $at = 00000001
/* 00068 809106A8 0001C043 */ sra $t8, $at, 1
.L809106AC:
/* 0006C 809106AC 0018C840 */ sll $t9, $t8, 1
/* 00070 809106B0 00994021 */ addu $t0, $a0, $t9
/* 00074 809106B4 A5000000 */ sh $zero, 0x0000($t0) ## 00000000
.L809106B8:
/* 00078 809106B8 03E00008 */ jr $ra
/* 0007C 809106BC 00000000 */ nop

View file

@ -1,14 +0,0 @@
glabel func_809106C0
/* 00080 809106C0 AFA60008 */ sw $a2, 0x0008($sp)
/* 00084 809106C4 00063400 */ sll $a2, $a2, 16
/* 00088 809106C8 00063403 */ sra $a2, $a2, 16
/* 0008C 809106CC 00C57021 */ addu $t6, $a2, $a1
/* 00090 809106D0 91CF0000 */ lbu $t7, 0x0000($t6) ## 00000000
/* 00094 809106D4 0006C040 */ sll $t8, $a2, 1
/* 00098 809106D8 0098C821 */ addu $t9, $a0, $t8
/* 0009C 809106DC 11E00002 */ beq $t7, $zero, .L809106E8
/* 000A0 809106E0 00000000 */ nop
/* 000A4 809106E4 A7200000 */ sh $zero, 0x0000($t9) ## 00000000
.L809106E8:
/* 000A8 809106E8 03E00008 */ jr $ra
/* 000AC 809106EC 00000000 */ nop

View file

@ -1,20 +0,0 @@
glabel func_809106F0
/* 000B0 809106F0 AFA60008 */ sw $a2, 0x0008($sp)
/* 000B4 809106F4 00063400 */ sll $a2, $a2, 16
/* 000B8 809106F8 00063403 */ sra $a2, $a2, 16
/* 000BC 809106FC 00C57021 */ addu $t6, $a2, $a1
/* 000C0 80910700 91CF0000 */ lbu $t7, 0x0000($t6) ## 00000000
/* 000C4 80910704 30D900F0 */ andi $t9, $a2, 0x00F0 ## $t9 = 00000000
/* 000C8 80910708 00194040 */ sll $t0, $t9, 1
/* 000CC 8091070C 11E00008 */ beq $t7, $zero, .L80910730
/* 000D0 80910710 30D8000F */ andi $t8, $a2, 0x000F ## $t8 = 00000000
/* 000D4 80910714 03084821 */ addu $t1, $t8, $t0
/* 000D8 80910718 00095400 */ sll $t2, $t1, 16
/* 000DC 8091071C 000A5C03 */ sra $t3, $t2, 16
/* 000E0 80910720 000B6040 */ sll $t4, $t3, 1
/* 000E4 80910724 008C1021 */ addu $v0, $a0, $t4
/* 000E8 80910728 A4400020 */ sh $zero, 0x0020($v0) ## 00000020
/* 000EC 8091072C A4400000 */ sh $zero, 0x0000($v0) ## 00000000
.L80910730:
/* 000F0 80910730 03E00008 */ jr $ra
/* 000F4 80910734 00000000 */ nop

View file

@ -1,21 +0,0 @@
glabel func_80910738
/* 000F8 80910738 AFA60008 */ sw $a2, 0x0008($sp)
/* 000FC 8091073C 00063400 */ sll $a2, $a2, 16
/* 00100 80910740 00063403 */ sra $a2, $a2, 16
/* 00104 80910744 00C57021 */ addu $t6, $a2, $a1
/* 00108 80910748 91CF0000 */ lbu $t7, 0x0000($t6) ## 00000000
/* 0010C 8091074C 30D8000F */ andi $t8, $a2, 0x000F ## $t8 = 00000000
/* 00110 80910750 0018C840 */ sll $t9, $t8, 1
/* 00114 80910754 11E00009 */ beq $t7, $zero, .L8091077C
/* 00118 80910758 30C800F0 */ andi $t0, $a2, 0x00F0 ## $t0 = 00000000
/* 0011C 8091075C 00084840 */ sll $t1, $t0, 1
/* 00120 80910760 03295021 */ addu $t2, $t9, $t1
/* 00124 80910764 000A5C00 */ sll $t3, $t2, 16
/* 00128 80910768 000B6403 */ sra $t4, $t3, 16
/* 0012C 8091076C 000C6840 */ sll $t5, $t4, 1
/* 00130 80910770 008D1021 */ addu $v0, $a0, $t5
/* 00134 80910774 A4400002 */ sh $zero, 0x0002($v0) ## 00000002
/* 00138 80910778 A4400000 */ sh $zero, 0x0000($v0) ## 00000000
.L8091077C:
/* 0013C 8091077C 03E00008 */ jr $ra
/* 00140 80910780 00000000 */ nop

View file

@ -1,177 +0,0 @@
glabel func_80910784
/* 00144 80910784 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0
/* 00148 80910788 AFBE0038 */ sw $s8, 0x0038($sp)
/* 0014C 8091078C AFB70034 */ sw $s7, 0x0034($sp)
/* 00150 80910790 AFB60030 */ sw $s6, 0x0030($sp)
/* 00154 80910794 AFB30024 */ sw $s3, 0x0024($sp)
/* 00158 80910798 AFB20020 */ sw $s2, 0x0020($sp)
/* 0015C 8091079C 0005B400 */ sll $s6, $a1, 16
/* 00160 809107A0 AFB5002C */ sw $s5, 0x002C($sp)
/* 00164 809107A4 AFB40028 */ sw $s4, 0x0028($sp)
/* 00168 809107A8 AFB00018 */ sw $s0, 0x0018($sp)
/* 0016C 809107AC 3C1200FF */ lui $s2, 0x00FF ## $s2 = 00FF0000
/* 00170 809107B0 3C138016 */ lui $s3, %hi(gSegments)
/* 00174 809107B4 3C178091 */ lui $s7, %hi(D_80915028) ## $s7 = 80910000
/* 00178 809107B8 3C1E8091 */ lui $s8, %hi(D_8091503C) ## $s8 = 80910000
/* 0017C 809107BC 0080A825 */ or $s5, $a0, $zero ## $s5 = 00000000
/* 00180 809107C0 0016B403 */ sra $s6, $s6, 16
/* 00184 809107C4 AFBF003C */ sw $ra, 0x003C($sp)
/* 00188 809107C8 AFB1001C */ sw $s1, 0x001C($sp)
/* 0018C 809107CC AFA50044 */ sw $a1, 0x0044($sp)
/* 00190 809107D0 27DE503C */ addiu $s8, $s8, %lo(D_8091503C) ## $s8 = 8091503C
/* 00194 809107D4 26F75028 */ addiu $s7, $s7, %lo(D_80915028) ## $s7 = 80915028
/* 00198 809107D8 26736FA8 */ addiu $s3, %lo(gSegments)
/* 0019C 809107DC 3652FFFF */ ori $s2, $s2, 0xFFFF ## $s2 = 00FFFFFF
/* 001A0 809107E0 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000
/* 001A4 809107E4 3C148000 */ lui $s4, 0x8000 ## $s4 = 80000000
/* 001A8 809107E8 00108880 */ sll $s1, $s0, 2
.L809107EC:
/* 001AC 809107EC 02F17021 */ addu $t6, $s7, $s1
/* 001B0 809107F0 8DC20000 */ lw $v0, 0x0000($t6) ## 00000000
/* 001B4 809107F4 00163400 */ sll $a2, $s6, 16
/* 001B8 809107F8 00063403 */ sra $a2, $a2, 16
/* 001BC 809107FC 0002C100 */ sll $t8, $v0, 4
/* 001C0 80910800 0018CF02 */ srl $t9, $t8, 28
/* 001C4 80910804 00194080 */ sll $t0, $t9, 2
/* 001C8 80910808 02684821 */ addu $t1, $s3, $t0
/* 001CC 8091080C 8D2A0000 */ lw $t2, 0x0000($t1) ## 00000000
/* 001D0 80910810 00527824 */ and $t7, $v0, $s2
/* 001D4 80910814 02A02825 */ or $a1, $s5, $zero ## $a1 = 00000000
/* 001D8 80910818 01EA5821 */ addu $t3, $t7, $t2
/* 001DC 8091081C 0C244190 */ jal func_80910640
/* 001E0 80910820 01742021 */ addu $a0, $t3, $s4
/* 001E4 80910824 03D16021 */ addu $t4, $s8, $s1
/* 001E8 80910828 8D820000 */ lw $v0, 0x0000($t4) ## 00000000
/* 001EC 8091082C 00163400 */ sll $a2, $s6, 16
/* 001F0 80910830 00063403 */ sra $a2, $a2, 16
/* 001F4 80910834 00027100 */ sll $t6, $v0, 4
/* 001F8 80910838 000EC702 */ srl $t8, $t6, 28
/* 001FC 8091083C 0018C880 */ sll $t9, $t8, 2
/* 00200 80910840 02794021 */ addu $t0, $s3, $t9
/* 00204 80910844 8D090000 */ lw $t1, 0x0000($t0) ## 00000000
/* 00208 80910848 00526824 */ and $t5, $v0, $s2
/* 0020C 8091084C 02A02825 */ or $a1, $s5, $zero ## $a1 = 00000000
/* 00210 80910850 01A97821 */ addu $t7, $t5, $t1
/* 00214 80910854 0C2441A0 */ jal func_80910680
/* 00218 80910858 01F42021 */ addu $a0, $t7, $s4
/* 0021C 8091085C 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001
/* 00220 80910860 00108400 */ sll $s0, $s0, 16
/* 00224 80910864 00108403 */ sra $s0, $s0, 16
/* 00228 80910868 2A010005 */ slti $at, $s0, 0x0005
/* 0022C 8091086C 5420FFDF */ bnel $at, $zero, .L809107EC
/* 00230 80910870 00108880 */ sll $s1, $s0, 2
/* 00234 80910874 3C118091 */ lui $s1, %hi(D_80915050) ## $s1 = 80910000
/* 00238 80910878 26315050 */ addiu $s1, $s1, %lo(D_80915050) ## $s1 = 80915050
/* 0023C 8091087C 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000
/* 00240 80910880 00105080 */ sll $t2, $s0, 2
.L80910884:
/* 00244 80910884 022A5821 */ addu $t3, $s1, $t2
/* 00248 80910888 8D620000 */ lw $v0, 0x0000($t3) ## 00000000
/* 0024C 8091088C 00163400 */ sll $a2, $s6, 16
/* 00250 80910890 00063403 */ sra $a2, $a2, 16
/* 00254 80910894 00027100 */ sll $t6, $v0, 4
/* 00258 80910898 000EC702 */ srl $t8, $t6, 28
/* 0025C 8091089C 0018C880 */ sll $t9, $t8, 2
/* 00260 809108A0 02794021 */ addu $t0, $s3, $t9
/* 00264 809108A4 8D0D0000 */ lw $t5, 0x0000($t0) ## 00000000
/* 00268 809108A8 00526024 */ and $t4, $v0, $s2
/* 0026C 809108AC 02A02825 */ or $a1, $s5, $zero ## $a1 = 00000000
/* 00270 809108B0 018D4821 */ addu $t1, $t4, $t5
/* 00274 809108B4 0C2441B0 */ jal func_809106C0
/* 00278 809108B8 01342021 */ addu $a0, $t1, $s4
/* 0027C 809108BC 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001
/* 00280 809108C0 00108400 */ sll $s0, $s0, 16
/* 00284 809108C4 00108403 */ sra $s0, $s0, 16
/* 00288 809108C8 2A010009 */ slti $at, $s0, 0x0009
/* 0028C 809108CC 5420FFED */ bnel $at, $zero, .L80910884
/* 00290 809108D0 00105080 */ sll $t2, $s0, 2
/* 00294 809108D4 3C118091 */ lui $s1, %hi(D_80915074) ## $s1 = 80910000
/* 00298 809108D8 26315074 */ addiu $s1, $s1, %lo(D_80915074) ## $s1 = 80915074
/* 0029C 809108DC 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000
/* 002A0 809108E0 00107880 */ sll $t7, $s0, 2
.L809108E4:
/* 002A4 809108E4 022F5021 */ addu $t2, $s1, $t7
/* 002A8 809108E8 8D420000 */ lw $v0, 0x0000($t2) ## 00000000
/* 002AC 809108EC 00163400 */ sll $a2, $s6, 16
/* 002B0 809108F0 00063403 */ sra $a2, $a2, 16
/* 002B4 809108F4 00027100 */ sll $t6, $v0, 4
/* 002B8 809108F8 000EC702 */ srl $t8, $t6, 28
/* 002BC 809108FC 0018C880 */ sll $t9, $t8, 2
/* 002C0 80910900 02794021 */ addu $t0, $s3, $t9
/* 002C4 80910904 8D0C0000 */ lw $t4, 0x0000($t0) ## 00000000
/* 002C8 80910908 00525824 */ and $t3, $v0, $s2
/* 002CC 8091090C 02A02825 */ or $a1, $s5, $zero ## $a1 = 00000000
/* 002D0 80910910 016C6821 */ addu $t5, $t3, $t4
/* 002D4 80910914 0C2441CE */ jal func_80910738
/* 002D8 80910918 01B42021 */ addu $a0, $t5, $s4
/* 002DC 8091091C 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001
/* 002E0 80910920 00108400 */ sll $s0, $s0, 16
/* 002E4 80910924 00108403 */ sra $s0, $s0, 16
/* 002E8 80910928 2A010002 */ slti $at, $s0, 0x0002
/* 002EC 8091092C 5420FFED */ bnel $at, $zero, .L809108E4
/* 002F0 80910930 00107880 */ sll $t7, $s0, 2
/* 002F4 80910934 3C020601 */ lui $v0, 0x0601 ## $v0 = 06010000
/* 002F8 80910938 2442B380 */ addiu $v0, $v0, 0xB380 ## $v0 = 0600B380
/* 002FC 8091093C 00024900 */ sll $t1, $v0, 4
/* 00300 80910940 00097F02 */ srl $t7, $t1, 28
/* 00304 80910944 000F5080 */ sll $t2, $t7, 2
/* 00308 80910948 026A7021 */ addu $t6, $s3, $t2
/* 0030C 8091094C 8DD80000 */ lw $t8, 0x0000($t6) ## 00000000
/* 00310 80910950 0052C824 */ and $t9, $v0, $s2
/* 00314 80910954 00163400 */ sll $a2, $s6, 16
/* 00318 80910958 03194021 */ addu $t0, $t8, $t9
/* 0031C 8091095C 01142021 */ addu $a0, $t0, $s4
/* 00320 80910960 00063403 */ sra $a2, $a2, 16
/* 00324 80910964 0C2441BC */ jal func_809106F0
/* 00328 80910968 02A02825 */ or $a1, $s5, $zero ## $a1 = 00000000
/* 0032C 8091096C 3C020600 */ lui $v0, 0x0600 ## $v0 = 06000000
/* 00330 80910970 24423DB0 */ addiu $v0, $v0, 0x3DB0 ## $v0 = 06003DB0
/* 00334 80910974 00025900 */ sll $t3, $v0, 4
/* 00338 80910978 000B6702 */ srl $t4, $t3, 28
/* 0033C 8091097C 000C6880 */ sll $t5, $t4, 2
/* 00340 80910980 026D4821 */ addu $t1, $s3, $t5
/* 00344 80910984 8D2F0000 */ lw $t7, 0x0000($t1) ## 00000000
/* 00348 80910988 00525024 */ and $t2, $v0, $s2
/* 0034C 8091098C 00163400 */ sll $a2, $s6, 16
/* 00350 80910990 01EA7021 */ addu $t6, $t7, $t2
/* 00354 80910994 01D42021 */ addu $a0, $t6, $s4
/* 00358 80910998 00063403 */ sra $a2, $a2, 16
/* 0035C 8091099C 0C2441CE */ jal func_80910738
/* 00360 809109A0 02A02825 */ or $a1, $s5, $zero ## $a1 = 00000000
/* 00364 809109A4 3C118091 */ lui $s1, %hi(D_8091507C) ## $s1 = 80910000
/* 00368 809109A8 2631507C */ addiu $s1, $s1, %lo(D_8091507C) ## $s1 = 8091507C
/* 0036C 809109AC 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000
/* 00370 809109B0 0010C080 */ sll $t8, $s0, 2
.L809109B4:
/* 00374 809109B4 0238C821 */ addu $t9, $s1, $t8
/* 00378 809109B8 8F220000 */ lw $v0, 0x0000($t9) ## 00000000
/* 0037C 809109BC 00163400 */ sll $a2, $s6, 16
/* 00380 809109C0 00063403 */ sra $a2, $a2, 16
/* 00384 809109C4 00025900 */ sll $t3, $v0, 4
/* 00388 809109C8 000B6702 */ srl $t4, $t3, 28
/* 0038C 809109CC 000C6880 */ sll $t5, $t4, 2
/* 00390 809109D0 026D4821 */ addu $t1, $s3, $t5
/* 00394 809109D4 8D2F0000 */ lw $t7, 0x0000($t1) ## 00000000
/* 00398 809109D8 00524024 */ and $t0, $v0, $s2
/* 0039C 809109DC 02A02825 */ or $a1, $s5, $zero ## $a1 = 00000000
/* 003A0 809109E0 010F5021 */ addu $t2, $t0, $t7
/* 003A4 809109E4 0C2441B0 */ jal func_809106C0
/* 003A8 809109E8 01542021 */ addu $a0, $t2, $s4
/* 003AC 809109EC 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001
/* 003B0 809109F0 00108400 */ sll $s0, $s0, 16
/* 003B4 809109F4 00108403 */ sra $s0, $s0, 16
/* 003B8 809109F8 2A010002 */ slti $at, $s0, 0x0002
/* 003BC 809109FC 5420FFED */ bnel $at, $zero, .L809109B4
/* 003C0 80910A00 0010C080 */ sll $t8, $s0, 2
/* 003C4 80910A04 8FBF003C */ lw $ra, 0x003C($sp)
/* 003C8 80910A08 8FB00018 */ lw $s0, 0x0018($sp)
/* 003CC 80910A0C 8FB1001C */ lw $s1, 0x001C($sp)
/* 003D0 80910A10 8FB20020 */ lw $s2, 0x0020($sp)
/* 003D4 80910A14 8FB30024 */ lw $s3, 0x0024($sp)
/* 003D8 80910A18 8FB40028 */ lw $s4, 0x0028($sp)
/* 003DC 80910A1C 8FB5002C */ lw $s5, 0x002C($sp)
/* 003E0 80910A20 8FB60030 */ lw $s6, 0x0030($sp)
/* 003E4 80910A24 8FB70034 */ lw $s7, 0x0034($sp)
/* 003E8 80910A28 8FBE0038 */ lw $s8, 0x0038($sp)
/* 003EC 80910A2C 03E00008 */ jr $ra
/* 003F0 80910A30 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000

View file

@ -1,16 +0,0 @@
glabel func_80910A34
/* 003F4 80910A34 C4840000 */ lwc1 $f4, 0x0000($a0) ## 00000000
/* 003F8 80910A38 4600218D */ trunc.w.s $f6, $f4
/* 003FC 80910A3C 440F3000 */ mfc1 $t7, $f6
/* 00400 80910A40 00000000 */ nop
/* 00404 80910A44 A4AF0046 */ sh $t7, 0x0046($a1) ## 00000046
/* 00408 80910A48 C4880004 */ lwc1 $f8, 0x0004($a0) ## 00000004
/* 0040C 80910A4C 4600428D */ trunc.w.s $f10, $f8
/* 00410 80910A50 44195000 */ mfc1 $t9, $f10
/* 00414 80910A54 00000000 */ nop
/* 00418 80910A58 A4B90048 */ sh $t9, 0x0048($a1) ## 00000048
/* 0041C 80910A5C C4900008 */ lwc1 $f16, 0x0008($a0) ## 00000008
/* 00420 80910A60 4600848D */ trunc.w.s $f18, $f16
/* 00424 80910A64 44099000 */ mfc1 $t1, $f18
/* 00428 80910A68 03E00008 */ jr $ra
/* 0042C 80910A6C A4A9004A */ sh $t1, 0x004A($a1) ## 0000004A

View file

@ -1,20 +0,0 @@
glabel func_80910D80
/* 00740 80910D80 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00744 80910D84 AFA5001C */ sw $a1, 0x001C($sp)
/* 00748 80910D88 AFBF0014 */ sw $ra, 0x0014($sp)
/* 0074C 80910D8C 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
/* 00750 80910D90 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000
/* 00754 80910D94 24A519A4 */ addiu $a1, $a1, 0x19A4 ## $a1 = 060019A4
/* 00758 80910D98 AFA60018 */ sw $a2, 0x0018($sp)
/* 0075C 80910D9C 0C0294BE */ jal Animation_PlayLoop
/* 00760 80910DA0 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00764 80910DA4 8FA60018 */ lw $a2, 0x0018($sp)
/* 00768 80910DA8 3C0E8091 */ lui $t6, %hi(func_80910DCC) ## $t6 = 80910000
/* 0076C 80910DAC 25CE0DCC */ addiu $t6, $t6, %lo(func_80910DCC) ## $t6 = 80910DCC
/* 00770 80910DB0 240F0001 */ addiu $t7, $zero, 0x0001 ## $t7 = 00000001
/* 00774 80910DB4 ACCE0190 */ sw $t6, 0x0190($a2) ## 00000190
/* 00778 80910DB8 A4CF01A8 */ sh $t7, 0x01A8($a2) ## 000001A8
/* 0077C 80910DBC 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00780 80910DC0 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00784 80910DC4 03E00008 */ jr $ra
/* 00788 80910DC8 00000000 */ nop

View file

@ -1,345 +0,0 @@
.rdata
glabel D_80915150
.asciz "SW %d------------------------------------------------\n"
.balign 4
.late_rodata
glabel D_80915414
.float 0.03
.text
glabel func_80910DCC
/* 0078C 80910DCC 27BDFF60 */ addiu $sp, $sp, 0xFF60 ## $sp = FFFFFF60
/* 00790 80910DD0 AFBF0054 */ sw $ra, 0x0054($sp)
/* 00794 80910DD4 AFB30050 */ sw $s3, 0x0050($sp)
/* 00798 80910DD8 AFB2004C */ sw $s2, 0x004C($sp)
/* 0079C 80910DDC AFB10048 */ sw $s1, 0x0048($sp)
/* 007A0 80910DE0 AFB00044 */ sw $s0, 0x0044($sp)
/* 007A4 80910DE4 F7B60038 */ sdc1 $f22, 0x0038($sp)
/* 007A8 80910DE8 F7B40030 */ sdc1 $f20, 0x0030($sp)
/* 007AC 80910DEC AFA500A4 */ sw $a1, 0x00A4($sp)
/* 007B0 80910DF0 8C8E011C */ lw $t6, 0x011C($a0) ## 0000011C
/* 007B4 80910DF4 00809825 */ or $s3, $a0, $zero ## $s3 = 00000000
/* 007B8 80910DF8 2491014C */ addiu $s1, $a0, 0x014C ## $s1 = 0000014C
/* 007BC 80910DFC 02202025 */ or $a0, $s1, $zero ## $a0 = 0000014C
/* 007C0 80910E00 0C02927F */ jal SkelAnime_Update
/* 007C4 80910E04 AFAE0094 */ sw $t6, 0x0094($sp)
/* 007C8 80910E08 8FA60094 */ lw $a2, 0x0094($sp)
/* 007CC 80910E0C 3C048091 */ lui $a0, %hi(D_80915150) ## $a0 = 80910000
/* 007D0 80910E10 24845150 */ addiu $a0, $a0, %lo(D_80915150) ## $a0 = 80915150
/* 007D4 80910E14 8CD80024 */ lw $t8, 0x0024($a2) ## 00000024
/* 007D8 80910E18 AE780024 */ sw $t8, 0x0024($s3) ## 00000024
/* 007DC 80910E1C 8CCF0028 */ lw $t7, 0x0028($a2) ## 00000028
/* 007E0 80910E20 AE6F0028 */ sw $t7, 0x0028($s3) ## 00000028
/* 007E4 80910E24 8CD8002C */ lw $t8, 0x002C($a2) ## 0000002C
/* 007E8 80910E28 AE78002C */ sw $t8, 0x002C($s3) ## 0000002C
/* 007EC 80910E2C 84C30032 */ lh $v1, 0x0032($a2) ## 00000032
/* 007F0 80910E30 A6630032 */ sh $v1, 0x0032($s3) ## 00000032
/* 007F4 80910E34 A66300B6 */ sh $v1, 0x00B6($s3) ## 000000B6
/* 007F8 80910E38 0C00084C */ jal osSyncPrintf
/* 007FC 80910E3C 90C5014C */ lbu $a1, 0x014C($a2) ## 0000014C
/* 00800 80910E40 866201BE */ lh $v0, 0x01BE($s3) ## 000001BE
/* 00804 80910E44 1040003B */ beq $v0, $zero, .L80910F34
/* 00808 80910E48 28410019 */ slti $at, $v0, 0x0019
/* 0080C 80910E4C 10200039 */ beq $at, $zero, .L80910F34
/* 00810 80910E50 3C198091 */ lui $t9, %hi(D_809150A0) ## $t9 = 80910000
/* 00814 80910E54 273950A0 */ addiu $t9, $t9, %lo(D_809150A0) ## $t9 = 809150A0
/* 00818 80910E58 8F290000 */ lw $t1, 0x0000($t9) ## 809150A0
/* 0081C 80910E5C 27B0007C */ addiu $s0, $sp, 0x007C ## $s0 = FFFFFFDC
/* 00820 80910E60 3C0A8091 */ lui $t2, %hi(D_809150AC) ## $t2 = 80910000
/* 00824 80910E64 AE090000 */ sw $t1, 0x0000($s0) ## FFFFFFDC
/* 00828 80910E68 8F280004 */ lw $t0, 0x0004($t9) ## 809150A4
/* 0082C 80910E6C 254A50AC */ addiu $t2, $t2, %lo(D_809150AC) ## $t2 = 809150AC
/* 00830 80910E70 27B20070 */ addiu $s2, $sp, 0x0070 ## $s2 = FFFFFFD0
/* 00834 80910E74 AE080004 */ sw $t0, 0x0004($s0) ## FFFFFFE0
/* 00838 80910E78 8F290008 */ lw $t1, 0x0008($t9) ## 809150A8
/* 0083C 80910E7C 3C014120 */ lui $at, 0x4120 ## $at = 41200000
/* 00840 80910E80 4481A000 */ mtc1 $at, $f20 ## $f20 = 10.00
/* 00844 80910E84 AE090008 */ sw $t1, 0x0008($s0) ## FFFFFFE4
/* 00848 80910E88 8D4C0000 */ lw $t4, 0x0000($t2) ## 809150AC
/* 0084C 80910E8C 4600A306 */ mov.s $f12, $f20
/* 00850 80910E90 AE4C0000 */ sw $t4, 0x0000($s2) ## FFFFFFD0
/* 00854 80910E94 8D4B0004 */ lw $t3, 0x0004($t2) ## 809150B0
/* 00858 80910E98 AE4B0004 */ sw $t3, 0x0004($s2) ## FFFFFFD4
/* 0085C 80910E9C 8D4C0008 */ lw $t4, 0x0008($t2) ## 809150B4
/* 00860 80910EA0 0C00CFC8 */ jal Rand_CenteredFloat
/* 00864 80910EA4 AE4C0008 */ sw $t4, 0x0008($s2) ## FFFFFFD8
/* 00868 80910EA8 C66402C0 */ lwc1 $f4, 0x02C0($s3) ## 000002C0
/* 0086C 80910EAC 3C01C0A0 */ lui $at, 0xC0A0 ## $at = C0A00000
/* 00870 80910EB0 44816000 */ mtc1 $at, $f12 ## $f12 = -5.00
/* 00874 80910EB4 46040180 */ add.s $f6, $f0, $f4
/* 00878 80910EB8 0C00CFBE */ jal Rand_ZeroFloat
/* 0087C 80910EBC E7A60088 */ swc1 $f6, 0x0088($sp)
/* 00880 80910EC0 C66802C4 */ lwc1 $f8, 0x02C4($s3) ## 000002C4
/* 00884 80910EC4 4600A306 */ mov.s $f12, $f20
/* 00888 80910EC8 46080280 */ add.s $f10, $f0, $f8
/* 0088C 80910ECC 0C00CFC8 */ jal Rand_CenteredFloat
/* 00890 80910ED0 E7AA008C */ swc1 $f10, 0x008C($sp)
/* 00894 80910ED4 C67002C8 */ lwc1 $f16, 0x02C8($s3) ## 000002C8
/* 00898 80910ED8 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000
/* 0089C 80910EDC 44812000 */ mtc1 $at, $f4 ## $f4 = 5.00
/* 008A0 80910EE0 46100480 */ add.s $f18, $f0, $f16
/* 008A4 80910EE4 3C018091 */ lui $at, %hi(D_80915414) ## $at = 80910000
/* 008A8 80910EE8 C4285414 */ lwc1 $f8, %lo(D_80915414)($at)
/* 008AC 80910EEC 4600A306 */ mov.s $f12, $f20
/* 008B0 80910EF0 46049180 */ add.s $f6, $f18, $f4
/* 008B4 80910EF4 E7A80074 */ swc1 $f8, 0x0074($sp)
/* 008B8 80910EF8 0C00CFBE */ jal Rand_ZeroFloat
/* 008BC 80910EFC E7A60090 */ swc1 $f6, 0x0090($sp)
/* 008C0 80910F00 4600028D */ trunc.w.s $f10, $f0
/* 008C4 80910F04 8FA400A4 */ lw $a0, 0x00A4($sp)
/* 008C8 80910F08 27A50088 */ addiu $a1, $sp, 0x0088 ## $a1 = FFFFFFE8
/* 008CC 80910F0C 02003025 */ or $a2, $s0, $zero ## $a2 = FFFFFFDC
/* 008D0 80910F10 440E5000 */ mfc1 $t6, $f10
/* 008D4 80910F14 02403825 */ or $a3, $s2, $zero ## $a3 = FFFFFFD0
/* 008D8 80910F18 AFA00014 */ sw $zero, 0x0014($sp)
/* 008DC 80910F1C 000E7C00 */ sll $t7, $t6, 16
/* 008E0 80910F20 000FC403 */ sra $t8, $t7, 16
/* 008E4 80910F24 27190005 */ addiu $t9, $t8, 0x0005 ## $t9 = 00000005
/* 008E8 80910F28 0C00A76F */ jal EffectSsKFire_Spawn
/* 008EC 80910F2C AFB90010 */ sw $t9, 0x0010($sp)
/* 008F0 80910F30 866201BE */ lh $v0, 0x01BE($s3) ## 000001BE
.L80910F34:
/* 008F4 80910F34 24010014 */ addiu $at, $zero, 0x0014 ## $at = 00000014
/* 008F8 80910F38 54410004 */ bnel $v0, $at, .L80910F4C
/* 008FC 80910F3C 2401001E */ addiu $at, $zero, 0x001E ## $at = 0000001E
/* 00900 80910F40 A66001A8 */ sh $zero, 0x01A8($s3) ## 000001A8
/* 00904 80910F44 866201BE */ lh $v0, 0x01BE($s3) ## 000001BE
/* 00908 80910F48 2401001E */ addiu $at, $zero, 0x001E ## $at = 0000001E
.L80910F4C:
/* 0090C 80910F4C 14410004 */ bne $v0, $at, .L80910F60
/* 00910 80910F50 3C048091 */ lui $a0, %hi(D_80915094) ## $a0 = 80910000
/* 00914 80910F54 24845094 */ addiu $a0, $a0, %lo(D_80915094) ## $a0 = 80915094
/* 00918 80910F58 0C01E245 */ jal func_80078914
/* 0091C 80910F5C 240538A1 */ addiu $a1, $zero, 0x38A1 ## $a1 = 000038A1
.L80910F60:
/* 00920 80910F60 8FA80094 */ lw $t0, 0x0094($sp)
/* 00924 80910F64 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
/* 00928 80910F68 3C100600 */ lui $s0, %hi(D_06001144) ## $s0 = 06000000
/* 0092C 80910F6C 9103014C */ lbu $v1, 0x014C($t0) ## 0000014C
/* 00930 80910F70 26101144 */ addiu $s0, $s0, %lo(D_06001144) ## $s0 = 06001144
/* 00934 80910F74 54610014 */ bnel $v1, $at, .L80910FC8
/* 00938 80910F78 24120002 */ addiu $s2, $zero, 0x0002 ## $s2 = 00000002
/* 0093C 80910F7C 0C028800 */ jal Animation_GetLastFrame
/* 00940 80910F80 02002025 */ or $a0, $s0, $zero ## $a0 = 06001144
/* 00944 80910F84 44828000 */ mtc1 $v0, $f16 ## $f16 = 0.00
/* 00948 80910F88 4480B000 */ mtc1 $zero, $f22 ## $f22 = 0.00
/* 0094C 80910F8C 24090003 */ addiu $t1, $zero, 0x0003 ## $t1 = 00000003
/* 00950 80910F90 468084A0 */ cvt.s.w $f18, $f16
/* 00954 80910F94 4407B000 */ mfc1 $a3, $f22
/* 00958 80910F98 AFA90014 */ sw $t1, 0x0014($sp)
/* 0095C 80910F9C 02202025 */ or $a0, $s1, $zero ## $a0 = 0000014C
/* 00960 80910FA0 02002825 */ or $a1, $s0, $zero ## $a1 = 06001144
/* 00964 80910FA4 3C063F00 */ lui $a2, 0x3F00 ## $a2 = 3F000000
/* 00968 80910FA8 E7B20010 */ swc1 $f18, 0x0010($sp)
/* 0096C 80910FAC 0C029468 */ jal Animation_Change
/* 00970 80910FB0 E7B60018 */ swc1 $f22, 0x0018($sp)
/* 00974 80910FB4 240A0028 */ addiu $t2, $zero, 0x0028 ## $t2 = 00000028
/* 00978 80910FB8 A66A01BE */ sh $t2, 0x01BE($s3) ## 000001BE
/* 0097C 80910FBC 8FAB0094 */ lw $t3, 0x0094($sp)
/* 00980 80910FC0 9163014C */ lbu $v1, 0x014C($t3) ## 0000014C
/* 00984 80910FC4 24120002 */ addiu $s2, $zero, 0x0002 ## $s2 = 00000002
.L80910FC8:
/* 00988 80910FC8 4480B000 */ mtc1 $zero, $f22 ## $f22 = 0.00
/* 0098C 80910FCC 16430007 */ bne $s2, $v1, .L80910FEC
/* 00990 80910FD0 02202025 */ or $a0, $s1, $zero ## $a0 = 0000014C
/* 00994 80910FD4 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000
/* 00998 80910FD8 24A52684 */ addiu $a1, $a1, 0x2684 ## $a1 = 06002684
/* 0099C 80910FDC 0C029490 */ jal Animation_MorphToPlayOnce
/* 009A0 80910FE0 3C06C040 */ lui $a2, 0xC040 ## $a2 = C0400000
/* 009A4 80910FE4 8FAC0094 */ lw $t4, 0x0094($sp)
/* 009A8 80910FE8 9183014C */ lbu $v1, 0x014C($t4) ## 0000014C
.L80910FEC:
/* 009AC 80910FEC 24010005 */ addiu $at, $zero, 0x0005 ## $at = 00000005
/* 009B0 80910FF0 14610007 */ bne $v1, $at, .L80911010
/* 009B4 80910FF4 02202025 */ or $a0, $s1, $zero ## $a0 = 0000014C
/* 009B8 80910FF8 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000
/* 009BC 80910FFC 24A519A4 */ addiu $a1, $a1, 0x19A4 ## $a1 = 060019A4
/* 009C0 80911000 0C0294D3 */ jal Animation_MorphToLoop
/* 009C4 80911004 3C06C150 */ lui $a2, 0xC150 ## $a2 = C1500000
/* 009C8 80911008 8FAD0094 */ lw $t5, 0x0094($sp)
/* 009CC 8091100C 91A3014C */ lbu $v1, 0x014C($t5) ## 0000014C
.L80911010:
/* 009D0 80911010 2401000A */ addiu $at, $zero, 0x000A ## $at = 0000000A
/* 009D4 80911014 1461001A */ bne $v1, $at, .L80911080
/* 009D8 80911018 02202025 */ or $a0, $s1, $zero ## $a0 = 0000014C
/* 009DC 8091101C 3C050601 */ lui $a1, 0x0601 ## $a1 = 06010000
/* 009E0 80911020 24A5D99C */ addiu $a1, $a1, 0xD99C ## $a1 = 0600D99C
/* 009E4 80911024 0C029490 */ jal Animation_MorphToPlayOnce
/* 009E8 80911028 3C06C0E0 */ lui $a2, 0xC0E0 ## $a2 = C0E00000
/* 009EC 8091102C C6640200 */ lwc1 $f4, 0x0200($s3) ## 00000200
/* 009F0 80911030 8E70011C */ lw $s0, 0x011C($s3) ## 0000011C
/* 009F4 80911034 8FA600A4 */ lw $a2, 0x00A4($sp)
/* 009F8 80911038 E7A40010 */ swc1 $f4, 0x0010($sp)
/* 009FC 8091103C C6660204 */ lwc1 $f6, 0x0204($s3) ## 00000204
/* 00A00 80911040 240F0032 */ addiu $t7, $zero, 0x0032 ## $t7 = 00000032
/* 00A04 80911044 24180026 */ addiu $t8, $zero, 0x0026 ## $t8 = 00000026
/* 00A08 80911048 E7A60014 */ swc1 $f6, 0x0014($sp)
/* 00A0C 8091104C C6680208 */ lwc1 $f8, 0x0208($s3) ## 00000208
/* 00A10 80911050 AFB80028 */ sw $t8, 0x0028($sp)
/* 00A14 80911054 AFA00024 */ sw $zero, 0x0024($sp)
/* 00A18 80911058 AFA00020 */ sw $zero, 0x0020($sp)
/* 00A1C 8091105C AFAF001C */ sw $t7, 0x001C($sp)
/* 00A20 80911060 02602825 */ or $a1, $s3, $zero ## $a1 = 00000000
/* 00A24 80911064 2407006D */ addiu $a3, $zero, 0x006D ## $a3 = 0000006D
/* 00A28 80911068 24C41C24 */ addiu $a0, $a2, 0x1C24 ## $a0 = 00001C24
/* 00A2C 8091106C 0C00C916 */ jal Actor_SpawnAsChild
/* 00A30 80911070 E7A80018 */ swc1 $f8, 0x0018($sp)
/* 00A34 80911074 AE70011C */ sw $s0, 0x011C($s3) ## 0000011C
/* 00A38 80911078 8FB90094 */ lw $t9, 0x0094($sp)
/* 00A3C 8091107C 9323014C */ lbu $v1, 0x014C($t9) ## 0000014C
.L80911080:
/* 00A40 80911080 2401000B */ addiu $at, $zero, 0x000B ## $at = 0000000B
/* 00A44 80911084 14610005 */ bne $v1, $at, .L8091109C
/* 00A48 80911088 02202025 */ or $a0, $s1, $zero ## $a0 = 0000014C
/* 00A4C 8091108C 3C050601 */ lui $a1, %hi(D_0600DF80) ## $a1 = 06010000
/* 00A50 80911090 24A5DF80 */ addiu $a1, $a1, %lo(D_0600DF80) ## $a1 = 0600DF80
/* 00A54 80911094 0C029490 */ jal Animation_MorphToPlayOnce
/* 00A58 80911098 3C06C0A0 */ lui $a2, 0xC0A0 ## $a2 = C0A00000
.L8091109C:
/* 00A5C 8091109C 866201AA */ lh $v0, 0x01AA($s3) ## 000001AA
/* 00A60 809110A0 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 00A64 809110A4 50410006 */ beql $v0, $at, .L809110C0
/* 00A68 809110A8 3C01437F */ lui $at, 0x437F ## $at = 437F0000
/* 00A6C 809110AC 10520011 */ beq $v0, $s2, .L809110F4
/* 00A70 809110B0 3C01437F */ lui $at, 0x437F ## $at = 437F0000
/* 00A74 809110B4 1000001C */ beq $zero, $zero, .L80911128
/* 00A78 809110B8 86640194 */ lh $a0, 0x0194($s3) ## 00000194
/* 00A7C 809110BC 3C01437F */ lui $at, 0x437F ## $at = 437F0000
.L809110C0:
/* 00A80 809110C0 44810000 */ mtc1 $at, $f0 ## $f0 = 255.00
/* 00A84 809110C4 3C014220 */ lui $at, 0x4220 ## $at = 42200000
/* 00A88 809110C8 44818000 */ mtc1 $at, $f16 ## $f16 = 40.00
/* 00A8C 809110CC C66A01E0 */ lwc1 $f10, 0x01E0($s3) ## 000001E0
/* 00A90 809110D0 46105480 */ add.s $f18, $f10, $f16
/* 00A94 809110D4 E67201E0 */ swc1 $f18, 0x01E0($s3) ## 000001E0
/* 00A98 809110D8 C66401E0 */ lwc1 $f4, 0x01E0($s3) ## 000001E0
/* 00A9C 809110DC 4604003E */ c.le.s $f0, $f4
/* 00AA0 809110E0 00000000 */ nop
/* 00AA4 809110E4 45020010 */ bc1fl .L80911128
/* 00AA8 809110E8 86640194 */ lh $a0, 0x0194($s3) ## 00000194
/* 00AAC 809110EC 1000000D */ beq $zero, $zero, .L80911124
/* 00AB0 809110F0 E66001E0 */ swc1 $f0, 0x01E0($s3) ## 000001E0
.L809110F4:
/* 00AB4 809110F4 44810000 */ mtc1 $at, $f0 ## $f0 = 40.00
/* 00AB8 809110F8 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000
/* 00ABC 809110FC 44814000 */ mtc1 $at, $f8 ## $f8 = 20.00
/* 00AC0 80911100 C66601D4 */ lwc1 $f6, 0x01D4($s3) ## 000001D4
/* 00AC4 80911104 46083280 */ add.s $f10, $f6, $f8
/* 00AC8 80911108 E66A01D4 */ swc1 $f10, 0x01D4($s3) ## 000001D4
/* 00ACC 8091110C C67001D4 */ lwc1 $f16, 0x01D4($s3) ## 000001D4
/* 00AD0 80911110 4610003C */ c.lt.s $f0, $f16
/* 00AD4 80911114 00000000 */ nop
/* 00AD8 80911118 45020003 */ bc1fl .L80911128
/* 00ADC 8091111C 86640194 */ lh $a0, 0x0194($s3) ## 00000194
/* 00AE0 80911120 E66001D4 */ swc1 $f0, 0x01D4($s3) ## 000001D4
.L80911124:
/* 00AE4 80911124 86640194 */ lh $a0, 0x0194($s3) ## 00000194
.L80911128:
/* 00AE8 80911128 00800821 */ addu $at, $a0, $zero
/* 00AEC 8091112C 000420C0 */ sll $a0, $a0, 3
/* 00AF0 80911130 00812023 */ subu $a0, $a0, $at
/* 00AF4 80911134 000420C0 */ sll $a0, $a0, 3
/* 00AF8 80911138 00812023 */ subu $a0, $a0, $at
/* 00AFC 8091113C 00042080 */ sll $a0, $a0, 2
/* 00B00 80911140 00812021 */ addu $a0, $a0, $at
/* 00B04 80911144 000420C0 */ sll $a0, $a0, 3
/* 00B08 80911148 00042400 */ sll $a0, $a0, 16
/* 00B0C 8091114C 0C01DE1C */ jal Math_SinS
## sins?
/* 00B10 80911150 00042403 */ sra $a0, $a0, 16
/* 00B14 80911154 86640194 */ lh $a0, 0x0194($s3) ## 00000194
/* 00B18 80911158 44809000 */ mtc1 $zero, $f18 ## $f18 = 0.00
/* 00B1C 8091115C 00800821 */ addu $at, $a0, $zero
/* 00B20 80911160 000420C0 */ sll $a0, $a0, 3
/* 00B24 80911164 00812021 */ addu $a0, $a0, $at
/* 00B28 80911168 46120102 */ mul.s $f4, $f0, $f18
/* 00B2C 8091116C 000420C0 */ sll $a0, $a0, 3
/* 00B30 80911170 00812023 */ subu $a0, $a0, $at
/* 00B34 80911174 000420C0 */ sll $a0, $a0, 3
/* 00B38 80911178 00812023 */ subu $a0, $a0, $at
/* 00B3C 8091117C 00042080 */ sll $a0, $a0, 2
/* 00B40 80911180 00042400 */ sll $a0, $a0, 16
/* 00B44 80911184 E66403D4 */ swc1 $f4, 0x03D4($s3) ## 000003D4
/* 00B48 80911188 0C01DE0D */ jal Math_CosS
## coss?
/* 00B4C 8091118C 00042403 */ sra $a0, $a0, 16
/* 00B50 80911190 3C014396 */ lui $at, 0x4396 ## $at = 43960000
/* 00B54 80911194 44813000 */ mtc1 $at, $f6 ## $f6 = 300.00
/* 00B58 80911198 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000
/* 00B5C 8091119C 4481A000 */ mtc1 $at, $f20 ## $f20 = 100.00
/* 00B60 809111A0 46060202 */ mul.s $f8, $f0, $f6
/* 00B64 809111A4 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000
/* 00B68 809111A8 E66803D8 */ swc1 $f8, 0x03D8($s3) ## 000003D8
.L809111AC:
/* 00B6C 809111AC 00109080 */ sll $s2, $s0, 2
/* 00B70 809111B0 02509023 */ subu $s2, $s2, $s0
/* 00B74 809111B4 001290C0 */ sll $s2, $s2, 3
/* 00B78 809111B8 86680194 */ lh $t0, 0x0194($s3) ## 00000194
/* 00B7C 809111BC 02509021 */ addu $s2, $s2, $s0
/* 00B80 809111C0 00129040 */ sll $s2, $s2, 1
/* 00B84 809111C4 264907B0 */ addiu $t1, $s2, 0x07B0 ## $t1 = 000007B2
/* 00B88 809111C8 01090019 */ multu $t0, $t1
/* 00B8C 809111CC 00002012 */ mflo $a0
/* 00B90 809111D0 00042400 */ sll $a0, $a0, 16
/* 00B94 809111D4 0C01DE1C */ jal Math_SinS
## sins?
/* 00B98 809111D8 00042403 */ sra $a0, $a0, 16
/* 00B9C 809111DC 46140282 */ mul.s $f10, $f0, $f20
/* 00BA0 809111E0 00105080 */ sll $t2, $s0, 2
/* 00BA4 809111E4 026A8821 */ addu $s1, $s3, $t2
/* 00BA8 809111E8 264C08DC */ addiu $t4, $s2, 0x08DC ## $t4 = 000008DE
/* 00BAC 809111EC E62A0454 */ swc1 $f10, 0x0454($s1) ## 000005A0
/* 00BB0 809111F0 866B0194 */ lh $t3, 0x0194($s3) ## 00000194
/* 00BB4 809111F4 016C0019 */ multu $t3, $t4
/* 00BB8 809111F8 00002012 */ mflo $a0
/* 00BBC 809111FC 00042400 */ sll $a0, $a0, 16
/* 00BC0 80911200 0C01DE0D */ jal Math_CosS
## coss?
/* 00BC4 80911204 00042403 */ sra $a0, $a0, 16
/* 00BC8 80911208 46140402 */ mul.s $f16, $f0, $f20
/* 00BCC 8091120C 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001
/* 00BD0 80911210 00108400 */ sll $s0, $s0, 16
/* 00BD4 80911214 00108403 */ sra $s0, $s0, 16
/* 00BD8 80911218 2A01001E */ slti $at, $s0, 0x001E
/* 00BDC 8091121C 1420FFE3 */ bne $at, $zero, .L809111AC
/* 00BE0 80911220 E63003DC */ swc1 $f16, 0x03DC($s1) ## 00000528
/* 00BE4 80911224 8FAD0094 */ lw $t5, 0x0094($sp)
/* 00BE8 80911228 240100FF */ addiu $at, $zero, 0x00FF ## $at = 000000FF
/* 00BEC 8091122C 91AE014C */ lbu $t6, 0x014C($t5) ## 0000014C
/* 00BF0 80911230 55C1000E */ bnel $t6, $at, .L8091126C
/* 00BF4 80911234 8FB80094 */ lw $t8, 0x0094($sp)
/* 00BF8 80911238 0C2444A5 */ jal func_80911294
/* 00BFC 8091123C 02602025 */ or $a0, $s3, $zero ## $a0 = 00000000
/* 00C00 80911240 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000
.L80911244:
/* 00C04 80911244 00107880 */ sll $t7, $s0, 2
/* 00C08 80911248 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001
/* 00C0C 8091124C 00108400 */ sll $s0, $s0, 16
/* 00C10 80911250 00108403 */ sra $s0, $s0, 16
/* 00C14 80911254 2A01001E */ slti $at, $s0, 0x001E
/* 00C18 80911258 026F8821 */ addu $s1, $s3, $t7
/* 00C1C 8091125C E63603DC */ swc1 $f22, 0x03DC($s1) ## 00000528
/* 00C20 80911260 1420FFF8 */ bne $at, $zero, .L80911244
/* 00C24 80911264 E6360454 */ swc1 $f22, 0x0454($s1) ## 000005A0
/* 00C28 80911268 8FB80094 */ lw $t8, 0x0094($sp)
.L8091126C:
/* 00C2C 8091126C A300014C */ sb $zero, 0x014C($t8) ## 0000014C
/* 00C30 80911270 8FBF0054 */ lw $ra, 0x0054($sp)
/* 00C34 80911274 8FB30050 */ lw $s3, 0x0050($sp)
/* 00C38 80911278 8FB2004C */ lw $s2, 0x004C($sp)
/* 00C3C 8091127C 8FB10048 */ lw $s1, 0x0048($sp)
/* 00C40 80911280 8FB00044 */ lw $s0, 0x0044($sp)
/* 00C44 80911284 D7B60038 */ ldc1 $f22, 0x0038($sp)
/* 00C48 80911288 D7B40030 */ ldc1 $f20, 0x0030($sp)
/* 00C4C 8091128C 03E00008 */ jr $ra
/* 00C50 80911290 27BD00A0 */ addiu $sp, $sp, 0x00A0 ## $sp = 00000000

View file

@ -1,17 +0,0 @@
glabel func_80911294
/* 00C54 80911294 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00C58 80911298 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00C5C 8091129C AFA40018 */ sw $a0, 0x0018($sp)
/* 00C60 809112A0 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000
/* 00C64 809112A4 24A53CA4 */ addiu $a1, $a1, 0x3CA4 ## $a1 = 06003CA4
/* 00C68 809112A8 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00C6C 809112AC 0C0294D3 */ jal Animation_MorphToLoop
/* 00C70 809112B0 3C06C0A0 */ lui $a2, 0xC0A0 ## $a2 = C0A00000
/* 00C74 809112B4 8FAF0018 */ lw $t7, 0x0018($sp)
/* 00C78 809112B8 3C0E8091 */ lui $t6, %hi(func_809112D4) ## $t6 = 80910000
/* 00C7C 809112BC 25CE12D4 */ addiu $t6, $t6, %lo(func_809112D4) ## $t6 = 809112D4
/* 00C80 809112C0 ADEE0190 */ sw $t6, 0x0190($t7) ## 00000190
/* 00C84 809112C4 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00C88 809112C8 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00C8C 809112CC 03E00008 */ jr $ra
/* 00C90 809112D0 00000000 */ nop

View file

@ -1,169 +0,0 @@
.rdata
glabel D_80915188
.asciz "RUN 1\n"
.balign 4
glabel D_80915190
.asciz "RUN 2\n"
.balign 4
glabel D_80915198
.asciz "RUN 3\n"
.balign 4
glabel D_809151A0
.asciz "RUN 4\n"
.balign 4
.late_rodata
glabel D_80915418
.float 1.14999997
.text
glabel func_809112D4
/* 00C94 809112D4 27BDFFB0 */ addiu $sp, $sp, 0xFFB0 ## $sp = FFFFFFB0
/* 00C98 809112D8 AFB00034 */ sw $s0, 0x0034($sp)
/* 00C9C 809112DC AFBF003C */ sw $ra, 0x003C($sp)
/* 00CA0 809112E0 AFB10038 */ sw $s1, 0x0038($sp)
/* 00CA4 809112E4 AFA50054 */ sw $a1, 0x0054($sp)
/* 00CA8 809112E8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00CAC 809112EC 8C91011C */ lw $s1, 0x011C($a0) ## 0000011C
/* 00CB0 809112F0 3C048091 */ lui $a0, %hi(D_80915188) ## $a0 = 80910000
/* 00CB4 809112F4 0C00084C */ jal osSyncPrintf
/* 00CB8 809112F8 24845188 */ addiu $a0, $a0, %lo(D_80915188) ## $a0 = 80915188
/* 00CBC 809112FC 2607014C */ addiu $a3, $s0, 0x014C ## $a3 = 0000014C
/* 00CC0 80911300 00E02025 */ or $a0, $a3, $zero ## $a0 = 0000014C
/* 00CC4 80911304 0C02927F */ jal SkelAnime_Update
/* 00CC8 80911308 AFA70040 */ sw $a3, 0x0040($sp)
/* 00CCC 8091130C 3C048091 */ lui $a0, %hi(D_80915190) ## $a0 = 80910000
/* 00CD0 80911310 0C00084C */ jal osSyncPrintf
/* 00CD4 80911314 24845190 */ addiu $a0, $a0, %lo(D_80915190) ## $a0 = 80915190
/* 00CD8 80911318 9222014C */ lbu $v0, 0x014C($s1) ## 0000014C
/* 00CDC 8091131C 8FA70040 */ lw $a3, 0x0040($sp)
/* 00CE0 80911320 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 00CE4 80911324 1441001E */ bne $v0, $at, .L809113A0
/* 00CE8 80911328 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000
/* 00CEC 8091132C 3C050601 */ lui $a1, 0x0601 ## $a1 = 06010000
/* 00CF0 80911330 24A5D99C */ addiu $a1, $a1, 0xD99C ## $a1 = 0600D99C
/* 00CF4 80911334 0C029490 */ jal Animation_MorphToPlayOnce
/* 00CF8 80911338 3C06C000 */ lui $a2, 0xC000 ## $a2 = C0000000
/* 00CFC 8091133C 8E0E0004 */ lw $t6, 0x0004($s0) ## 00000004
/* 00D00 80911340 8E18011C */ lw $t8, 0x011C($s0) ## 0000011C
/* 00D04 80911344 8FA60054 */ lw $a2, 0x0054($sp)
/* 00D08 80911348 35CF0001 */ ori $t7, $t6, 0x0001 ## $t7 = 00000001
/* 00D0C 8091134C AE0F0004 */ sw $t7, 0x0004($s0) ## 00000004
/* 00D10 80911350 AFB80048 */ sw $t8, 0x0048($sp)
/* 00D14 80911354 C6040200 */ lwc1 $f4, 0x0200($s0) ## 00000200
/* 00D18 80911358 2419001E */ addiu $t9, $zero, 0x001E ## $t9 = 0000001E
/* 00D1C 8091135C 24080026 */ addiu $t0, $zero, 0x0026 ## $t0 = 00000026
/* 00D20 80911360 E7A40010 */ swc1 $f4, 0x0010($sp)
/* 00D24 80911364 C6060204 */ lwc1 $f6, 0x0204($s0) ## 00000204
/* 00D28 80911368 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 00D2C 8091136C 2407006D */ addiu $a3, $zero, 0x006D ## $a3 = 0000006D
/* 00D30 80911370 E7A60014 */ swc1 $f6, 0x0014($sp)
/* 00D34 80911374 C6080208 */ lwc1 $f8, 0x0208($s0) ## 00000208
/* 00D38 80911378 AFA80028 */ sw $t0, 0x0028($sp)
/* 00D3C 8091137C AFA00024 */ sw $zero, 0x0024($sp)
/* 00D40 80911380 AFA00020 */ sw $zero, 0x0020($sp)
/* 00D44 80911384 AFB9001C */ sw $t9, 0x001C($sp)
/* 00D48 80911388 24C41C24 */ addiu $a0, $a2, 0x1C24 ## $a0 = 00001C24
/* 00D4C 8091138C 0C00C916 */ jal Actor_SpawnAsChild
/* 00D50 80911390 E7A80018 */ swc1 $f8, 0x0018($sp)
/* 00D54 80911394 8FA90048 */ lw $t1, 0x0048($sp)
/* 00D58 80911398 1000001E */ beq $zero, $zero, .L80911414
/* 00D5C 8091139C AE09011C */ sw $t1, 0x011C($s0) ## 0000011C
.L809113A0:
/* 00D60 809113A0 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
/* 00D64 809113A4 14410007 */ bne $v0, $at, .L809113C4
/* 00D68 809113A8 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000
/* 00D6C 809113AC 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000
/* 00D70 809113B0 24A53080 */ addiu $a1, $a1, 0x3080 ## $a1 = 06003080
/* 00D74 809113B4 0C029490 */ jal Animation_MorphToPlayOnce
/* 00D78 809113B8 3C06C000 */ lui $a2, 0xC000 ## $a2 = C0000000
/* 00D7C 809113BC 10000015 */ beq $zero, $zero, .L80911414
/* 00D80 809113C0 00000000 */ nop
.L809113C4:
/* 00D84 809113C4 24010004 */ addiu $at, $zero, 0x0004 ## $at = 00000004
/* 00D88 809113C8 14410007 */ bne $v0, $at, .L809113E8
/* 00D8C 809113CC 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000
/* 00D90 809113D0 3C050601 */ lui $a1, %hi(D_0600DF80) ## $a1 = 06010000
/* 00D94 809113D4 24A5DF80 */ addiu $a1, $a1, %lo(D_0600DF80) ## $a1 = 0600DF80
/* 00D98 809113D8 0C029490 */ jal Animation_MorphToPlayOnce
/* 00D9C 809113DC 3C06C000 */ lui $a2, 0xC000 ## $a2 = C0000000
/* 00DA0 809113E0 1000000C */ beq $zero, $zero, .L80911414
/* 00DA4 809113E4 00000000 */ nop
.L809113E8:
/* 00DA8 809113E8 24010005 */ addiu $at, $zero, 0x0005 ## $at = 00000005
/* 00DAC 809113EC 14410009 */ bne $v0, $at, .L80911414
/* 00DB0 809113F0 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000
/* 00DB4 809113F4 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000
/* 00DB8 809113F8 24A53CA4 */ addiu $a1, $a1, 0x3CA4 ## $a1 = 06003CA4
/* 00DBC 809113FC 0C0294D3 */ jal Animation_MorphToLoop
/* 00DC0 80911400 3C06C000 */ lui $a2, 0xC000 ## $a2 = C0000000
/* 00DC4 80911404 8E0A0004 */ lw $t2, 0x0004($s0) ## 00000004
/* 00DC8 80911408 2401FFFE */ addiu $at, $zero, 0xFFFE ## $at = FFFFFFFE
/* 00DCC 8091140C 01415824 */ and $t3, $t2, $at
/* 00DD0 80911410 AE0B0004 */ sw $t3, 0x0004($s0) ## 00000004
.L80911414:
/* 00DD4 80911414 3C048091 */ lui $a0, %hi(D_80915198) ## $a0 = 80910000
/* 00DD8 80911418 0C00084C */ jal osSyncPrintf
/* 00DDC 8091141C 24845198 */ addiu $a0, $a0, %lo(D_80915198) ## $a0 = 80915198
/* 00DE0 80911420 8E2D0024 */ lw $t5, 0x0024($s1) ## 00000024
/* 00DE4 80911424 920E01C9 */ lbu $t6, 0x01C9($s0) ## 000001C9
/* 00DE8 80911428 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00DEC 8091142C AE0D0024 */ sw $t5, 0x0024($s0) ## 00000024
/* 00DF0 80911430 8E2C0028 */ lw $t4, 0x0028($s1) ## 00000028
/* 00DF4 80911434 3C018091 */ lui $at, %hi(D_80915418) ## $at = 80910000
/* 00DF8 80911438 AE0C0028 */ sw $t4, 0x0028($s0) ## 00000028
/* 00DFC 8091143C 8E2D002C */ lw $t5, 0x002C($s1) ## 0000002C
/* 00E00 80911440 AE0D002C */ sw $t5, 0x002C($s0) ## 0000002C
/* 00E04 80911444 C62A0028 */ lwc1 $f10, 0x0028($s1) ## 00000028
/* 00E08 80911448 E60A0028 */ swc1 $f10, 0x0028($s0) ## 00000028
/* 00E0C 8091144C 86220032 */ lh $v0, 0x0032($s1) ## 00000032
/* 00E10 80911450 A6020032 */ sh $v0, 0x0032($s0) ## 00000032
/* 00E14 80911454 11C00011 */ beq $t6, $zero, .L8091149C
/* 00E18 80911458 A60200B6 */ sh $v0, 0x00B6($s0) ## 000000B6
/* 00E1C 8091145C 0C24453A */ jal func_809114E8
/* 00E20 80911460 3C05C1A0 */ lui $a1, 0xC1A0 ## $a1 = C1A00000
/* 00E24 80911464 240F0064 */ addiu $t7, $zero, 0x0064 ## $t7 = 00000064
/* 00E28 80911468 24180014 */ addiu $t8, $zero, 0x0014 ## $t8 = 00000014
/* 00E2C 8091146C 2419003C */ addiu $t9, $zero, 0x003C ## $t9 = 0000003C
/* 00E30 80911470 2408FFDF */ addiu $t0, $zero, 0xFFDF ## $t0 = FFFFFFDF
/* 00E34 80911474 A60F01BC */ sh $t7, 0x01BC($s0) ## 000001BC
/* 00E38 80911478 A6180520 */ sh $t8, 0x0520($s0) ## 00000520
/* 00E3C 8091147C A6190522 */ sh $t9, 0x0522($s0) ## 00000522
/* 00E40 80911480 A6080524 */ sh $t0, 0x0524($s0) ## 00000524
/* 00E44 80911484 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00E48 80911488 0C00BE0A */ jal Audio_PlayActorSound2
/* 00E4C 8091148C 240538B0 */ addiu $a1, $zero, 0x38B0 ## $a1 = 000038B0
/* 00E50 80911490 2409001A */ addiu $t1, $zero, 0x001A ## $t1 = 0000001A
/* 00E54 80911494 1000000F */ beq $zero, $zero, .L809114D4
/* 00E58 80911498 A2090117 */ sb $t1, 0x0117($s0) ## 00000117
.L8091149C:
/* 00E5C 8091149C C4205418 */ lwc1 $f0, %lo(D_80915418)($at)
/* 00E60 809114A0 C6300050 */ lwc1 $f16, 0x0050($s1) ## 00000050
/* 00E64 809114A4 A220014C */ sb $zero, 0x014C($s1) ## 0000014C
/* 00E68 809114A8 3C048091 */ lui $a0, %hi(D_809151A0) ## $a0 = 80910000
/* 00E6C 809114AC 46008483 */ div.s $f18, $f16, $f0
/* 00E70 809114B0 248451A0 */ addiu $a0, $a0, %lo(D_809151A0) ## $a0 = 809151A0
/* 00E74 809114B4 E6120050 */ swc1 $f18, 0x0050($s0) ## 00000050
/* 00E78 809114B8 C6240054 */ lwc1 $f4, 0x0054($s1) ## 00000054
/* 00E7C 809114BC 46002183 */ div.s $f6, $f4, $f0
/* 00E80 809114C0 E6060054 */ swc1 $f6, 0x0054($s0) ## 00000054
/* 00E84 809114C4 C6280058 */ lwc1 $f8, 0x0058($s1) ## 00000058
/* 00E88 809114C8 46004283 */ div.s $f10, $f8, $f0
/* 00E8C 809114CC 0C00084C */ jal osSyncPrintf
/* 00E90 809114D0 E60A0058 */ swc1 $f10, 0x0058($s0) ## 00000058
.L809114D4:
/* 00E94 809114D4 8FBF003C */ lw $ra, 0x003C($sp)
/* 00E98 809114D8 8FB00034 */ lw $s0, 0x0034($sp)
/* 00E9C 809114DC 8FB10038 */ lw $s1, 0x0038($sp)
/* 00EA0 809114E0 03E00008 */ jr $ra
/* 00EA4 809114E4 27BD0050 */ addiu $sp, $sp, 0x0050 ## $sp = 00000000

View file

@ -1,35 +0,0 @@
glabel func_809114E8
/* 00EA8 809114E8 44856000 */ mtc1 $a1, $f12 ## $f12 = 0.00
/* 00EAC 809114EC 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00EB0 809114F0 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00EB4 809114F4 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000
/* 00EB8 809114F8 3C050601 */ lui $a1, %hi(D_06010060) ## $a1 = 06010000
/* 00EBC 809114FC 44066000 */ mfc1 $a2, $f12
/* 00EC0 80911500 24A50060 */ addiu $a1, $a1, %lo(D_06010060) ## $a1 = 06010060
/* 00EC4 80911504 AFA70018 */ sw $a3, 0x0018($sp)
/* 00EC8 80911508 0C0294D3 */ jal Animation_MorphToLoop
/* 00ECC 8091150C 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00ED0 80911510 8FA70018 */ lw $a3, 0x0018($sp)
/* 00ED4 80911514 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
/* 00ED8 80911518 3C0E8091 */ lui $t6, %hi(func_8091156C) ## $t6 = 80910000
/* 00EDC 8091151C 8CEF0004 */ lw $t7, 0x0004($a3) ## 00000004
/* 00EE0 80911520 25CE156C */ addiu $t6, $t6, %lo(func_8091156C) ## $t6 = 8091156C
/* 00EE4 80911524 ACEE0190 */ sw $t6, 0x0190($a3) ## 00000190
/* 00EE8 80911528 35F80001 */ ori $t8, $t7, 0x0001 ## $t8 = 00000001
/* 00EEC 8091152C ACF80004 */ sw $t8, 0x0004($a3) ## 00000004
/* 00EF0 80911530 0C03F66B */ jal Rand_ZeroOne
## Rand.Next() float
/* 00EF4 80911534 E4E401CC */ swc1 $f4, 0x01CC($a3) ## 000001CC
/* 00EF8 80911538 3C014280 */ lui $at, 0x4280 ## $at = 42800000
/* 00EFC 8091153C 44813000 */ mtc1 $at, $f6 ## $f6 = 64.00
/* 00F00 80911540 8FA70018 */ lw $a3, 0x0018($sp)
/* 00F04 80911544 46060202 */ mul.s $f8, $f0, $f6
/* 00F08 80911548 4600428D */ trunc.w.s $f10, $f8
/* 00F0C 8091154C 440A5000 */ mfc1 $t2, $f10
/* 00F10 80911550 00000000 */ nop
/* 00F14 80911554 254B001E */ addiu $t3, $t2, 0x001E ## $t3 = 0000001E
/* 00F18 80911558 A4EB01BC */ sh $t3, 0x01BC($a3) ## 000001BC
/* 00F1C 8091155C 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00F20 80911560 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00F24 80911564 03E00008 */ jr $ra
/* 00F28 80911568 00000000 */ nop

View file

@ -1,537 +0,0 @@
.late_rodata
glabel D_8091541C
.float 0.8
glabel D_80915420
.float -3315.0
glabel D_80915424
.float -3315.0
glabel D_80915428
.float -3050.0
glabel D_8091542C
.float -3050.0
glabel D_80915430
.float -3100.0
glabel D_80915434
.float -0.079999998
.text
glabel func_8091156C
/* 00F2C 8091156C 27BDFF78 */ addiu $sp, $sp, 0xFF78 ## $sp = FFFFFF78
/* 00F30 80911570 AFBF002C */ sw $ra, 0x002C($sp)
/* 00F34 80911574 AFB10028 */ sw $s1, 0x0028($sp)
/* 00F38 80911578 AFB00024 */ sw $s0, 0x0024($sp)
/* 00F3C 8091157C F7B40018 */ sdc1 $f20, 0x0018($sp)
/* 00F40 80911580 AFA5008C */ sw $a1, 0x008C($sp)
/* 00F44 80911584 8CAF1C44 */ lw $t7, 0x1C44($a1) ## 00001C44
/* 00F48 80911588 00808825 */ or $s1, $a0, $zero ## $s1 = 00000000
/* 00F4C 8091158C 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00F50 80911590 0C02927F */ jal SkelAnime_Update
/* 00F54 80911594 AFAF0078 */ sw $t7, 0x0078($sp)
/* 00F58 80911598 922201C9 */ lbu $v0, 0x01C9($s1) ## 000001C9
/* 00F5C 8091159C 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 00F60 809115A0 1041000D */ beq $v0, $at, .L809115D8
/* 00F64 809115A4 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
/* 00F68 809115A8 104100A9 */ beq $v0, $at, .L80911850
/* 00F6C 809115AC 8FB80078 */ lw $t8, 0x0078($sp)
/* 00F70 809115B0 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
/* 00F74 809115B4 104100D2 */ beq $v0, $at, .L80911900
/* 00F78 809115B8 8FAA0078 */ lw $t2, 0x0078($sp)
/* 00F7C 809115BC 24010004 */ addiu $at, $zero, 0x0004 ## $at = 00000004
/* 00F80 809115C0 10410101 */ beq $v0, $at, .L809119C8
/* 00F84 809115C4 8FAF0078 */ lw $t7, 0x0078($sp)
/* 00F88 809115C8 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000
/* 00F8C 809115CC 4481A000 */ mtc1 $at, $f20 ## $f20 = 100.00
/* 00F90 809115D0 10000126 */ beq $zero, $zero, .L80911A6C
/* 00F94 809115D4 3C063D4C */ lui $a2, 0x3D4C ## $a2 = 3D4C0000
.L809115D8:
/* 00F98 809115D8 863801BC */ lh $t8, 0x01BC($s1) ## 000001BC
/* 00F9C 809115DC 5700004D */ bnel $t8, $zero, .L80911714
/* 00FA0 809115E0 862A01BE */ lh $t2, 0x01BE($s1) ## 000001BE
/* 00FA4 809115E4 0C03F66B */ jal Rand_ZeroOne
## Rand.Next() float
/* 00FA8 809115E8 00000000 */ nop
/* 00FAC 809115EC 3C014280 */ lui $at, 0x4280 ## $at = 42800000
/* 00FB0 809115F0 44812000 */ mtc1 $at, $f4 ## $f4 = 64.00
/* 00FB4 809115F4 00000000 */ nop
/* 00FB8 809115F8 46040182 */ mul.s $f6, $f0, $f4
/* 00FBC 809115FC 4600320D */ trunc.w.s $f8, $f6
/* 00FC0 80911600 440A4000 */ mfc1 $t2, $f8
/* 00FC4 80911604 00000000 */ nop
/* 00FC8 80911608 254B001E */ addiu $t3, $t2, 0x001E ## $t3 = 0000001E
/* 00FCC 8091160C 0C03F66B */ jal Rand_ZeroOne
## Rand.Next() float
/* 00FD0 80911610 A62B01BC */ sh $t3, 0x01BC($s1) ## 000001BC
/* 00FD4 80911614 922C00AF */ lbu $t4, 0x00AF($s1) ## 000000AF
/* 00FD8 80911618 29810005 */ slti $at, $t4, 0x0005
/* 00FDC 8091161C 10200025 */ beq $at, $zero, .L809116B4
/* 00FE0 80911620 3C013E80 */ lui $at, 0x3E80 ## $at = 3E800000
/* 00FE4 80911624 44815000 */ mtc1 $at, $f10 ## $f10 = 0.25
/* 00FE8 80911628 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 00FEC 8091162C 3C018091 */ lui $at, %hi(D_8091541C) ## $at = 80910000
/* 00FF0 80911630 460A003C */ c.lt.s $f0, $f10
/* 00FF4 80911634 00000000 */ nop
/* 00FF8 80911638 45000005 */ bc1f .L80911650
/* 00FFC 8091163C 00000000 */ nop
/* 01000 80911640 0C24472C */ jal func_80911CB0
/* 01004 80911644 8FA5008C */ lw $a1, 0x008C($sp)
/* 01008 80911648 10000032 */ beq $zero, $zero, .L80911714
/* 0100C 8091164C 862A01BE */ lh $t2, 0x01BE($s1) ## 000001BE
.L80911650:
/* 01010 80911650 C430541C */ lwc1 $f16, %lo(D_8091541C)($at)
/* 01014 80911654 240D0004 */ addiu $t5, $zero, 0x0004 ## $t5 = 00000004
/* 01018 80911658 240E003C */ addiu $t6, $zero, 0x003C ## $t6 = 0000003C
/* 0101C 8091165C 4600803E */ c.le.s $f16, $f0
/* 01020 80911660 240F0002 */ addiu $t7, $zero, 0x0002 ## $t7 = 00000002
/* 01024 80911664 2418003C */ addiu $t8, $zero, 0x003C ## $t8 = 0000003C
/* 01028 80911668 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 0102C 8091166C 4500000A */ bc1f .L80911698
/* 01030 80911670 240538B0 */ addiu $a1, $zero, 0x38B0 ## $a1 = 000038B0
/* 01034 80911674 44809000 */ mtc1 $zero, $f18 ## $f18 = 0.00
/* 01038 80911678 A22D01C9 */ sb $t5, 0x01C9($s1) ## 000001C9
/* 0103C 8091167C A62E01BC */ sh $t6, 0x01BC($s1) ## 000001BC
/* 01040 80911680 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 01044 80911684 240538B0 */ addiu $a1, $zero, 0x38B0 ## $a1 = 000038B0
/* 01048 80911688 0C00BE0A */ jal Audio_PlayActorSound2
/* 0104C 8091168C E63201CC */ swc1 $f18, 0x01CC($s1) ## 000001CC
/* 01050 80911690 10000020 */ beq $zero, $zero, .L80911714
/* 01054 80911694 862A01BE */ lh $t2, 0x01BE($s1) ## 000001BE
.L80911698:
/* 01058 80911698 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
/* 0105C 8091169C A22F01C9 */ sb $t7, 0x01C9($s1) ## 000001C9
/* 01060 809116A0 A63801BC */ sh $t8, 0x01BC($s1) ## 000001BC
/* 01064 809116A4 0C00BE0A */ jal Audio_PlayActorSound2
/* 01068 809116A8 E62401CC */ swc1 $f4, 0x01CC($s1) ## 000001CC
/* 0106C 809116AC 10000019 */ beq $zero, $zero, .L80911714
/* 01070 809116B0 862A01BE */ lh $t2, 0x01BE($s1) ## 000001BE
.L809116B4:
/* 01074 809116B4 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000
/* 01078 809116B8 44813000 */ mtc1 $at, $f6 ## $f6 = 0.50
/* 0107C 809116BC 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 01080 809116C0 4606003C */ c.lt.s $f0, $f6
/* 01084 809116C4 00000000 */ nop
/* 01088 809116C8 45010007 */ bc1t .L809116E8
/* 0108C 809116CC 00000000 */ nop
/* 01090 809116D0 863901A6 */ lh $t9, 0x01A6($s1) ## 000001A6
/* 01094 809116D4 24080002 */ addiu $t0, $zero, 0x0002 ## $t0 = 00000002
/* 01098 809116D8 2409003C */ addiu $t1, $zero, 0x003C ## $t1 = 0000003C
/* 0109C 809116DC 2B210005 */ slti $at, $t9, 0x0005
/* 010A0 809116E0 10200005 */ beq $at, $zero, .L809116F8
/* 010A4 809116E4 240538B0 */ addiu $a1, $zero, 0x38B0 ## $a1 = 000038B0
.L809116E8:
/* 010A8 809116E8 0C24472C */ jal func_80911CB0
/* 010AC 809116EC 8FA5008C */ lw $a1, 0x008C($sp)
/* 010B0 809116F0 10000008 */ beq $zero, $zero, .L80911714
/* 010B4 809116F4 862A01BE */ lh $t2, 0x01BE($s1) ## 000001BE
.L809116F8:
/* 010B8 809116F8 44804000 */ mtc1 $zero, $f8 ## $f8 = 0.00
/* 010BC 809116FC A22801C9 */ sb $t0, 0x01C9($s1) ## 000001C9
/* 010C0 80911700 A62901BC */ sh $t1, 0x01BC($s1) ## 000001BC
/* 010C4 80911704 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 010C8 80911708 0C00BE0A */ jal Audio_PlayActorSound2
/* 010CC 8091170C E62801CC */ swc1 $f8, 0x01CC($s1) ## 000001CC
/* 010D0 80911710 862A01BE */ lh $t2, 0x01BE($s1) ## 000001BE
.L80911714:
/* 010D4 80911714 3C014160 */ lui $at, 0x4160 ## $at = 41600000
/* 010D8 80911718 8FAB0078 */ lw $t3, 0x0078($sp)
/* 010DC 8091171C 11400007 */ beq $t2, $zero, .L8091173C
/* 010E0 80911720 00000000 */ nop
/* 010E4 80911724 44815000 */ mtc1 $at, $f10 ## $f10 = 14.00
/* 010E8 80911728 3C018091 */ lui $at, %hi(D_80915420) ## $at = 80910000
/* 010EC 8091172C C4305420 */ lwc1 $f16, %lo(D_80915420)($at)
/* 010F0 80911730 E7AA0084 */ swc1 $f10, 0x0084($sp)
/* 010F4 80911734 10000027 */ beq $zero, $zero, .L809117D4
/* 010F8 80911738 E7B0007C */ swc1 $f16, 0x007C($sp)
.L8091173C:
/* 010FC 8091173C 0C01DE1C */ jal Math_SinS
## sins?
/* 01100 80911740 856400B6 */ lh $a0, 0x00B6($t3) ## 000000B6
/* 01104 80911744 3C014334 */ lui $at, 0x4334 ## $at = 43340000
/* 01108 80911748 4481A000 */ mtc1 $at, $f20 ## $f20 = 180.00
/* 0110C 8091174C 8FAC0078 */ lw $t4, 0x0078($sp)
/* 01110 80911750 46140482 */ mul.s $f18, $f0, $f20
/* 01114 80911754 C5840024 */ lwc1 $f4, 0x0024($t4) ## 00000024
/* 01118 80911758 46049180 */ add.s $f6, $f18, $f4
/* 0111C 8091175C E7A60084 */ swc1 $f6, 0x0084($sp)
/* 01120 80911760 0C01DE0D */ jal Math_CosS
## coss?
/* 01124 80911764 858400B6 */ lh $a0, 0x00B6($t4) ## 000000B6
/* 01128 80911768 46140202 */ mul.s $f8, $f0, $f20
/* 0112C 8091176C 8FAD0078 */ lw $t5, 0x0078($sp)
/* 01130 80911770 3C014160 */ lui $at, 0x4160 ## $at = 41600000
/* 01134 80911774 44812000 */ mtc1 $at, $f4 ## $f4 = 14.00
/* 01138 80911778 C5AA002C */ lwc1 $f10, 0x002C($t5) ## 0000002C
/* 0113C 8091177C C7B20084 */ lwc1 $f18, 0x0084($sp)
/* 01140 80911780 3C018091 */ lui $at, %hi(D_80915424) ## $at = 80910000
/* 01144 80911784 460A4400 */ add.s $f16, $f8, $f10
/* 01148 80911788 C4265424 */ lwc1 $f6, %lo(D_80915424)($at)
/* 0114C 8091178C 3C01438C */ lui $at, 0x438C ## $at = 438C0000
/* 01150 80911790 46049081 */ sub.s $f2, $f18, $f4
/* 01154 80911794 44819000 */ mtc1 $at, $f18 ## $f18 = 280.00
/* 01158 80911798 E7B0007C */ swc1 $f16, 0x007C($sp)
/* 0115C 8091179C 46068301 */ sub.s $f12, $f16, $f6
/* 01160 809117A0 46021202 */ mul.s $f8, $f2, $f2
/* 01164 809117A4 00000000 */ nop
/* 01168 809117A8 460C6282 */ mul.s $f10, $f12, $f12
/* 0116C 809117AC 460A4000 */ add.s $f0, $f8, $f10
/* 01170 809117B0 46000004 */ sqrt.s $f0, $f0
/* 01174 809117B4 4600903C */ c.lt.s $f18, $f0
/* 01178 809117B8 00000000 */ nop
/* 0117C 809117BC 45000005 */ bc1f .L809117D4
/* 01180 809117C0 00000000 */ nop
/* 01184 809117C4 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
/* 01188 809117C8 240E0032 */ addiu $t6, $zero, 0x0032 ## $t6 = 00000032
/* 0118C 809117CC A62E01BE */ sh $t6, 0x01BE($s1) ## 000001BE
/* 01190 809117D0 E62401CC */ swc1 $f4, 0x01CC($s1) ## 000001CC
.L809117D4:
/* 01194 809117D4 8FAF0078 */ lw $t7, 0x0078($sp)
/* 01198 809117D8 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000
/* 0119C 809117DC 4481A000 */ mtc1 $at, $f20 ## $f20 = 100.00
/* 011A0 809117E0 C5F00028 */ lwc1 $f16, 0x0028($t7) ## 00000028
/* 011A4 809117E4 46148180 */ add.s $f6, $f16, $f20
/* 011A8 809117E8 E7A60080 */ swc1 $f6, 0x0080($sp)
/* 011AC 809117EC 86240194 */ lh $a0, 0x0194($s1) ## 00000194
/* 011B0 809117F0 00800821 */ addu $at, $a0, $zero
/* 011B4 809117F4 00042080 */ sll $a0, $a0, 2
/* 011B8 809117F8 00812021 */ addu $a0, $a0, $at
/* 011BC 809117FC 00042200 */ sll $a0, $a0, 8
/* 011C0 80911800 00042400 */ sll $a0, $a0, 16
/* 011C4 80911804 0C01DE1C */ jal Math_SinS
## sins?
/* 011C8 80911808 00042403 */ sra $a0, $a0, 16
/* 011CC 8091180C 46140282 */ mul.s $f10, $f0, $f20
/* 011D0 80911810 C7A80084 */ lwc1 $f8, 0x0084($sp)
/* 011D4 80911814 460A4480 */ add.s $f18, $f8, $f10
/* 011D8 80911818 E7B20084 */ swc1 $f18, 0x0084($sp)
/* 011DC 8091181C 86240194 */ lh $a0, 0x0194($s1) ## 00000194
/* 011E0 80911820 00800821 */ addu $at, $a0, $zero
/* 011E4 80911824 000420C0 */ sll $a0, $a0, 3
/* 011E8 80911828 00812023 */ subu $a0, $a0, $at
/* 011EC 8091182C 00042200 */ sll $a0, $a0, 8
/* 011F0 80911830 00042400 */ sll $a0, $a0, 16
/* 011F4 80911834 0C01DE0D */ jal Math_CosS
## coss?
/* 011F8 80911838 00042403 */ sra $a0, $a0, 16
/* 011FC 8091183C 46140402 */ mul.s $f16, $f0, $f20
/* 01200 80911840 C7A4007C */ lwc1 $f4, 0x007C($sp)
/* 01204 80911844 46102180 */ add.s $f6, $f4, $f16
/* 01208 80911848 10000087 */ beq $zero, $zero, .L80911A68
/* 0120C 8091184C E7A6007C */ swc1 $f6, 0x007C($sp)
.L80911850:
/* 01210 80911850 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000
/* 01214 80911854 4481A000 */ mtc1 $at, $f20 ## $f20 = 100.00
/* 01218 80911858 C7080028 */ lwc1 $f8, 0x0028($t8) ## 00000028
/* 0121C 8091185C 46144280 */ add.s $f10, $f8, $f20
/* 01220 80911860 46145480 */ add.s $f18, $f10, $f20
/* 01224 80911864 E7B20080 */ swc1 $f18, 0x0080($sp)
/* 01228 80911868 86240194 */ lh $a0, 0x0194($s1) ## 00000194
/* 0122C 8091186C 00800821 */ addu $at, $a0, $zero
/* 01230 80911870 00042080 */ sll $a0, $a0, 2
/* 01234 80911874 00812021 */ addu $a0, $a0, $at
/* 01238 80911878 00042200 */ sll $a0, $a0, 8
/* 0123C 8091187C 00042400 */ sll $a0, $a0, 16
/* 01240 80911880 0C01DE1C */ jal Math_SinS
## sins?
/* 01244 80911884 00042403 */ sra $a0, $a0, 16
/* 01248 80911888 46140402 */ mul.s $f16, $f0, $f20
/* 0124C 8091188C 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
/* 01250 80911890 00000000 */ nop
/* 01254 80911894 46102180 */ add.s $f6, $f4, $f16
/* 01258 80911898 E7A60084 */ swc1 $f6, 0x0084($sp)
/* 0125C 8091189C 86240194 */ lh $a0, 0x0194($s1) ## 00000194
/* 01260 809118A0 00800821 */ addu $at, $a0, $zero
/* 01264 809118A4 000420C0 */ sll $a0, $a0, 3
/* 01268 809118A8 00812023 */ subu $a0, $a0, $at
/* 0126C 809118AC 00042200 */ sll $a0, $a0, 8
/* 01270 809118B0 00042400 */ sll $a0, $a0, 16
/* 01274 809118B4 0C01DE0D */ jal Math_CosS
## coss?
/* 01278 809118B8 00042403 */ sra $a0, $a0, 16
/* 0127C 809118BC 46140282 */ mul.s $f10, $f0, $f20
/* 01280 809118C0 3C018091 */ lui $at, %hi(D_80915428) ## $at = 80910000
/* 01284 809118C4 C4285428 */ lwc1 $f8, %lo(D_80915428)($at)
/* 01288 809118C8 24080003 */ addiu $t0, $zero, 0x0003 ## $t0 = 00000003
/* 0128C 809118CC 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 01290 809118D0 460A4480 */ add.s $f18, $f8, $f10
/* 01294 809118D4 E7B2007C */ swc1 $f18, 0x007C($sp)
/* 01298 809118D8 863901BC */ lh $t9, 0x01BC($s1) ## 000001BC
/* 0129C 809118DC 57200063 */ bnel $t9, $zero, .L80911A6C
/* 012A0 809118E0 3C063D4C */ lui $a2, 0x3D4C ## $a2 = 3D4C0000
/* 012A4 809118E4 A22801C9 */ sb $t0, 0x01C9($s1) ## 000001C9
/* 012A8 809118E8 A22001CA */ sb $zero, 0x01CA($s1) ## 000001CA
/* 012AC 809118EC 0C24472C */ jal func_80911CB0
/* 012B0 809118F0 8FA5008C */ lw $a1, 0x008C($sp)
/* 012B4 809118F4 24090050 */ addiu $t1, $zero, 0x0050 ## $t1 = 00000050
/* 012B8 809118F8 1000005B */ beq $zero, $zero, .L80911A68
/* 012BC 809118FC A62901BC */ sh $t1, 0x01BC($s1) ## 000001BC
.L80911900:
/* 012C0 80911900 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000
/* 012C4 80911904 4481A000 */ mtc1 $at, $f20 ## $f20 = 100.00
/* 012C8 80911908 C5440028 */ lwc1 $f4, 0x0028($t2) ## 00000028
/* 012CC 8091190C 46142400 */ add.s $f16, $f4, $f20
/* 012D0 80911910 46148180 */ add.s $f6, $f16, $f20
/* 012D4 80911914 E7A60080 */ swc1 $f6, 0x0080($sp)
/* 012D8 80911918 86240194 */ lh $a0, 0x0194($s1) ## 00000194
/* 012DC 8091191C 00800821 */ addu $at, $a0, $zero
/* 012E0 80911920 00042080 */ sll $a0, $a0, 2
/* 012E4 80911924 00812021 */ addu $a0, $a0, $at
/* 012E8 80911928 00042200 */ sll $a0, $a0, 8
/* 012EC 8091192C 00042400 */ sll $a0, $a0, 16
/* 012F0 80911930 0C01DE1C */ jal Math_SinS
## sins?
/* 012F4 80911934 00042403 */ sra $a0, $a0, 16
/* 012F8 80911938 3C014248 */ lui $at, 0x4248 ## $at = 42480000
/* 012FC 8091193C 44815000 */ mtc1 $at, $f10 ## $f10 = 50.00
/* 01300 80911940 44804000 */ mtc1 $zero, $f8 ## $f8 = 0.00
/* 01304 80911944 460A0482 */ mul.s $f18, $f0, $f10
/* 01308 80911948 46124100 */ add.s $f4, $f8, $f18
/* 0130C 8091194C E7A40084 */ swc1 $f4, 0x0084($sp)
/* 01310 80911950 86240194 */ lh $a0, 0x0194($s1) ## 00000194
/* 01314 80911954 00800821 */ addu $at, $a0, $zero
/* 01318 80911958 000420C0 */ sll $a0, $a0, 3
/* 0131C 8091195C 00812023 */ subu $a0, $a0, $at
/* 01320 80911960 00042200 */ sll $a0, $a0, 8
/* 01324 80911964 00042400 */ sll $a0, $a0, 16
/* 01328 80911968 0C01DE0D */ jal Math_CosS
## coss?
/* 0132C 8091196C 00042403 */ sra $a0, $a0, 16
/* 01330 80911970 3C018091 */ lui $at, %hi(D_8091542C) ## $at = 80910000
/* 01334 80911974 C430542C */ lwc1 $f16, %lo(D_8091542C)($at)
/* 01338 80911978 3C014248 */ lui $at, 0x4248 ## $at = 42480000
/* 0133C 8091197C 44813000 */ mtc1 $at, $f6 ## $f6 = 50.00
/* 01340 80911980 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 01344 80911984 46060282 */ mul.s $f10, $f0, $f6
/* 01348 80911988 460A8200 */ add.s $f8, $f16, $f10
/* 0134C 8091198C E7A8007C */ swc1 $f8, 0x007C($sp)
/* 01350 80911990 922B01CA */ lbu $t3, 0x01CA($s1) ## 000001CA
/* 01354 80911994 51600007 */ beql $t3, $zero, .L809119B4
/* 01358 80911998 862D01BC */ lh $t5, 0x01BC($s1) ## 000001BC
/* 0135C 8091199C A22001CA */ sb $zero, 0x01CA($s1) ## 000001CA
/* 01360 809119A0 0C244808 */ jal func_80912020
/* 01364 809119A4 8FA5008C */ lw $a1, 0x008C($sp)
/* 01368 809119A8 240C0050 */ addiu $t4, $zero, 0x0050 ## $t4 = 00000050
/* 0136C 809119AC A62C01BC */ sh $t4, 0x01BC($s1) ## 000001BC
/* 01370 809119B0 862D01BC */ lh $t5, 0x01BC($s1) ## 000001BC
.L809119B4:
/* 01374 809119B4 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001
/* 01378 809119B8 55A0002C */ bnel $t5, $zero, .L80911A6C
/* 0137C 809119BC 3C063D4C */ lui $a2, 0x3D4C ## $a2 = 3D4C0000
/* 01380 809119C0 10000029 */ beq $zero, $zero, .L80911A68
/* 01384 809119C4 A22E01C9 */ sb $t6, 0x01C9($s1) ## 000001C9
.L809119C8:
/* 01388 809119C8 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000
/* 0138C 809119CC 4481A000 */ mtc1 $at, $f20 ## $f20 = 100.00
/* 01390 809119D0 C5F20028 */ lwc1 $f18, 0x0028($t7) ## 00000028
/* 01394 809119D4 3C014248 */ lui $at, 0x4248 ## $at = 42480000
/* 01398 809119D8 44813000 */ mtc1 $at, $f6 ## $f6 = 50.00
/* 0139C 809119DC 46149100 */ add.s $f4, $f18, $f20
/* 013A0 809119E0 46062400 */ add.s $f16, $f4, $f6
/* 013A4 809119E4 E7B00080 */ swc1 $f16, 0x0080($sp)
/* 013A8 809119E8 86240194 */ lh $a0, 0x0194($s1) ## 00000194
/* 013AC 809119EC 00800821 */ addu $at, $a0, $zero
/* 013B0 809119F0 00042080 */ sll $a0, $a0, 2
/* 013B4 809119F4 00812021 */ addu $a0, $a0, $at
/* 013B8 809119F8 00042200 */ sll $a0, $a0, 8
/* 013BC 809119FC 00042400 */ sll $a0, $a0, 16
/* 013C0 80911A00 0C01DE1C */ jal Math_SinS
## sins?
/* 013C4 80911A04 00042403 */ sra $a0, $a0, 16
/* 013C8 80911A08 46140202 */ mul.s $f8, $f0, $f20
/* 013CC 80911A0C 44805000 */ mtc1 $zero, $f10 ## $f10 = 0.00
/* 013D0 80911A10 00000000 */ nop
/* 013D4 80911A14 46085480 */ add.s $f18, $f10, $f8
/* 013D8 80911A18 E7B20084 */ swc1 $f18, 0x0084($sp)
/* 013DC 80911A1C 86240194 */ lh $a0, 0x0194($s1) ## 00000194
/* 013E0 80911A20 00800821 */ addu $at, $a0, $zero
/* 013E4 80911A24 000420C0 */ sll $a0, $a0, 3
/* 013E8 80911A28 00812023 */ subu $a0, $a0, $at
/* 013EC 80911A2C 00042200 */ sll $a0, $a0, 8
/* 013F0 80911A30 00042400 */ sll $a0, $a0, 16
/* 013F4 80911A34 0C01DE0D */ jal Math_CosS
## coss?
/* 013F8 80911A38 00042403 */ sra $a0, $a0, 16
/* 013FC 80911A3C 46140182 */ mul.s $f6, $f0, $f20
/* 01400 80911A40 3C018091 */ lui $at, %hi(D_80915430) ## $at = 80910000
/* 01404 80911A44 C4245430 */ lwc1 $f4, %lo(D_80915430)($at)
/* 01408 80911A48 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 0140C 80911A4C 46062400 */ add.s $f16, $f4, $f6
/* 01410 80911A50 E7B0007C */ swc1 $f16, 0x007C($sp)
/* 01414 80911A54 863801BC */ lh $t8, 0x01BC($s1) ## 000001BC
/* 01418 80911A58 57000004 */ bnel $t8, $zero, .L80911A6C
/* 0141C 80911A5C 3C063D4C */ lui $a2, 0x3D4C ## $a2 = 3D4C0000
/* 01420 80911A60 0C244949 */ jal func_80912524
/* 01424 80911A64 8FA5008C */ lw $a1, 0x008C($sp)
.L80911A68:
/* 01428 80911A68 3C063D4C */ lui $a2, 0x3D4C ## $a2 = 3D4C0000
.L80911A6C:
/* 0142C 80911A6C 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3D4CCCCD
/* 01430 80911A70 26240024 */ addiu $a0, $s1, 0x0024 ## $a0 = 00000024
/* 01434 80911A74 8FA50084 */ lw $a1, 0x0084($sp)
/* 01438 80911A78 0C01E107 */ jal Math_ApproachF
/* 0143C 80911A7C 8E2701CC */ lw $a3, 0x01CC($s1) ## 000001CC
/* 01440 80911A80 863901C0 */ lh $t9, 0x01C0($s1) ## 000001C0
/* 01444 80911A84 26240028 */ addiu $a0, $s1, 0x0028 ## $a0 = 00000028
/* 01448 80911A88 8FA50080 */ lw $a1, 0x0080($sp)
/* 0144C 80911A8C 1320000C */ beq $t9, $zero, .L80911AC0
/* 01450 80911A90 3C063D4C */ lui $a2, 0x3D4C ## $a2 = 3D4C0000
/* 01454 80911A94 C7AA0080 */ lwc1 $f10, 0x0080($sp)
/* 01458 80911A98 3C063DCC */ lui $a2, 0x3DCC ## $a2 = 3DCC0000
/* 0145C 80911A9C 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3DCCCCCD
/* 01460 80911AA0 46145200 */ add.s $f8, $f10, $f20
/* 01464 80911AA4 26240028 */ addiu $a0, $s1, 0x0028 ## $a0 = 00000028
/* 01468 80911AA8 3C074248 */ lui $a3, 0x4248 ## $a3 = 42480000
/* 0146C 80911AAC 44054000 */ mfc1 $a1, $f8
/* 01470 80911AB0 0C01E107 */ jal Math_ApproachF
/* 01474 80911AB4 00000000 */ nop
/* 01478 80911AB8 10000005 */ beq $zero, $zero, .L80911AD0
/* 0147C 80911ABC 3C063D4C */ lui $a2, 0x3D4C ## $a2 = 3D4C0000
.L80911AC0:
/* 01480 80911AC0 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3D4CCCCD
/* 01484 80911AC4 0C01E107 */ jal Math_ApproachF
/* 01488 80911AC8 3C074120 */ lui $a3, 0x4120 ## $a3 = 41200000
/* 0148C 80911ACC 3C063D4C */ lui $a2, 0x3D4C ## $a2 = 3D4C0000
.L80911AD0:
/* 01490 80911AD0 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3D4CCCCD
/* 01494 80911AD4 2624002C */ addiu $a0, $s1, 0x002C ## $a0 = 0000002C
/* 01498 80911AD8 8FA5007C */ lw $a1, 0x007C($sp)
/* 0149C 80911ADC 0C01E107 */ jal Math_ApproachF
/* 014A0 80911AE0 8E2701CC */ lw $a3, 0x01CC($s1) ## 000001CC
/* 014A4 80911AE4 262401CC */ addiu $a0, $s1, 0x01CC ## $a0 = 000001CC
/* 014A8 80911AE8 3C054248 */ lui $a1, 0x4248 ## $a1 = 42480000
/* 014AC 80911AEC 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 014B0 80911AF0 0C01E107 */ jal Math_ApproachF
/* 014B4 80911AF4 3C073F00 */ lui $a3, 0x3F00 ## $a3 = 3F000000
/* 014B8 80911AF8 86240194 */ lh $a0, 0x0194($s1) ## 00000194
/* 014BC 80911AFC C6320024 */ lwc1 $f18, 0x0024($s1) ## 00000024
/* 014C0 80911B00 C6240100 */ lwc1 $f4, 0x0100($s1) ## 00000100
/* 014C4 80911B04 00800821 */ addu $at, $a0, $zero
/* 014C8 80911B08 00042080 */ sll $a0, $a0, 2
/* 014CC 80911B0C 00812023 */ subu $a0, $a0, $at
/* 014D0 80911B10 C630002C */ lwc1 $f16, 0x002C($s1) ## 0000002C
/* 014D4 80911B14 C62A0108 */ lwc1 $f10, 0x0108($s1) ## 00000108
/* 014D8 80911B18 00042100 */ sll $a0, $a0, 4
/* 014DC 80911B1C 00812023 */ subu $a0, $a0, $at
/* 014E0 80911B20 000420C0 */ sll $a0, $a0, 3
/* 014E4 80911B24 46049181 */ sub.s $f6, $f18, $f4
/* 014E8 80911B28 00812023 */ subu $a0, $a0, $at
/* 014EC 80911B2C 00042080 */ sll $a0, $a0, 2
/* 014F0 80911B30 460A8201 */ sub.s $f8, $f16, $f10
/* 014F4 80911B34 00042400 */ sll $a0, $a0, 16
/* 014F8 80911B38 E626005C */ swc1 $f6, 0x005C($s1) ## 0000005C
/* 014FC 80911B3C 00042403 */ sra $a0, $a0, 16
/* 01500 80911B40 0C01DE1C */ jal Math_SinS
## sins?
/* 01504 80911B44 E6280064 */ swc1 $f8, 0x0064($s1) ## 00000064
/* 01508 80911B48 46000100 */ add.s $f4, $f0, $f0
/* 0150C 80911B4C C6320028 */ lwc1 $f18, 0x0028($s1) ## 00000028
/* 01510 80911B50 262400B6 */ addiu $a0, $s1, 0x00B6 ## $a0 = 000000B6
/* 01514 80911B54 8625008A */ lh $a1, 0x008A($s1) ## 0000008A
/* 01518 80911B58 46049180 */ add.s $f6, $f18, $f4
/* 0151C 80911B5C 24060005 */ addiu $a2, $zero, 0x0005 ## $a2 = 00000005
/* 01520 80911B60 24070BB8 */ addiu $a3, $zero, 0x0BB8 ## $a3 = 00000BB8
/* 01524 80911B64 0C01E1EF */ jal Math_ApproachS
/* 01528 80911B68 E6260028 */ swc1 $f6, 0x0028($s1) ## 00000028
/* 0152C 80911B6C 86280194 */ lh $t0, 0x0194($s1) ## 00000194
/* 01530 80911B70 3C0B8091 */ lui $t3, %hi(D_809150B8) ## $t3 = 80910000
/* 01534 80911B74 256B50B8 */ addiu $t3, $t3, %lo(D_809150B8) ## $t3 = 809150B8
/* 01538 80911B78 31090001 */ andi $t1, $t0, 0x0001 ## $t1 = 00000000
/* 0153C 80911B7C 1520003C */ bne $t1, $zero, .L80911C70
/* 01540 80911B80 27AA0050 */ addiu $t2, $sp, 0x0050 ## $t2 = FFFFFFC8
/* 01544 80911B84 8D6D0000 */ lw $t5, 0x0000($t3) ## 809150B8
/* 01548 80911B88 8D6C0004 */ lw $t4, 0x0004($t3) ## 809150BC
/* 0154C 80911B8C 3C0F8091 */ lui $t7, %hi(D_809150C4) ## $t7 = 80910000
/* 01550 80911B90 AD4D0000 */ sw $t5, 0x0000($t2) ## FFFFFFC8
/* 01554 80911B94 8D6D0008 */ lw $t5, 0x0008($t3) ## 809150C0
/* 01558 80911B98 25EF50C4 */ addiu $t7, $t7, %lo(D_809150C4) ## $t7 = 809150C4
/* 0155C 80911B9C AD4C0004 */ sw $t4, 0x0004($t2) ## FFFFFFCC
/* 01560 80911BA0 AD4D0008 */ sw $t5, 0x0008($t2) ## FFFFFFD0
/* 01564 80911BA4 8DF90000 */ lw $t9, 0x0000($t7) ## 809150C4
/* 01568 80911BA8 27AE0044 */ addiu $t6, $sp, 0x0044 ## $t6 = FFFFFFBC
/* 0156C 80911BAC 8DF80004 */ lw $t8, 0x0004($t7) ## 809150C8
/* 01570 80911BB0 ADD90000 */ sw $t9, 0x0000($t6) ## FFFFFFBC
/* 01574 80911BB4 8DF90008 */ lw $t9, 0x0008($t7) ## 809150CC
/* 01578 80911BB8 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000
/* 0157C 80911BBC 4481A000 */ mtc1 $at, $f20 ## $f20 = 20.00
/* 01580 80911BC0 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000
/* 01584 80911BC4 ADD80004 */ sw $t8, 0x0004($t6) ## FFFFFFC0
/* 01588 80911BC8 ADD90008 */ sw $t9, 0x0008($t6) ## FFFFFFC4
.L80911BCC:
/* 0158C 80911BCC 0C00CFC8 */ jal Rand_CenteredFloat
/* 01590 80911BD0 4600A306 */ mov.s $f12, $f20
/* 01594 80911BD4 C6300200 */ lwc1 $f16, 0x0200($s1) ## 00000200
/* 01598 80911BD8 4600A306 */ mov.s $f12, $f20
/* 0159C 80911BDC 46100280 */ add.s $f10, $f0, $f16
/* 015A0 80911BE0 0C00CFC8 */ jal Rand_CenteredFloat
/* 015A4 80911BE4 E7AA005C */ swc1 $f10, 0x005C($sp)
/* 015A8 80911BE8 C6280204 */ lwc1 $f8, 0x0204($s1) ## 00000204
/* 015AC 80911BEC 4600A306 */ mov.s $f12, $f20
/* 015B0 80911BF0 46080480 */ add.s $f18, $f0, $f8
/* 015B4 80911BF4 0C00CFC8 */ jal Rand_CenteredFloat
/* 015B8 80911BF8 E7B20060 */ swc1 $f18, 0x0060($sp)
/* 015BC 80911BFC C6240208 */ lwc1 $f4, 0x0208($s1) ## 00000208
/* 015C0 80911C00 3C018091 */ lui $at, %hi(D_80915434) ## $at = 80910000
/* 015C4 80911C04 C4305434 */ lwc1 $f16, %lo(D_80915434)($at)
/* 015C8 80911C08 46040180 */ add.s $f6, $f0, $f4
/* 015CC 80911C0C E7B00048 */ swc1 $f16, 0x0048($sp)
/* 015D0 80911C10 0C03F66B */ jal Rand_ZeroOne
## Rand.Next() float
/* 015D4 80911C14 E7A60064 */ swc1 $f6, 0x0064($sp)
/* 015D8 80911C18 3C0142A0 */ lui $at, 0x42A0 ## $at = 42A00000
/* 015DC 80911C1C 44815000 */ mtc1 $at, $f10 ## $f10 = 80.00
/* 015E0 80911C20 8FA4008C */ lw $a0, 0x008C($sp)
/* 015E4 80911C24 27A5005C */ addiu $a1, $sp, 0x005C ## $a1 = FFFFFFD4
/* 015E8 80911C28 460A0202 */ mul.s $f8, $f0, $f10
/* 015EC 80911C2C 27A60050 */ addiu $a2, $sp, 0x0050 ## $a2 = FFFFFFC8
/* 015F0 80911C30 27A70044 */ addiu $a3, $sp, 0x0044 ## $a3 = FFFFFFBC
/* 015F4 80911C34 AFA00014 */ sw $zero, 0x0014($sp)
/* 015F8 80911C38 4600448D */ trunc.w.s $f18, $f8
/* 015FC 80911C3C 44099000 */ mfc1 $t1, $f18
/* 01600 80911C40 00000000 */ nop
/* 01604 80911C44 00095400 */ sll $t2, $t1, 16
/* 01608 80911C48 000A5C03 */ sra $t3, $t2, 16
/* 0160C 80911C4C 256C0096 */ addiu $t4, $t3, 0x0096 ## $t4 = 00000096
/* 01610 80911C50 0C00A73C */ jal EffectSsFhgFlash_SpawnLightBall
/* 01614 80911C54 AFAC0010 */ sw $t4, 0x0010($sp)
/* 01618 80911C58 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001
/* 0161C 80911C5C 00108400 */ sll $s0, $s0, 16
/* 01620 80911C60 00108403 */ sra $s0, $s0, 16
/* 01624 80911C64 2A010003 */ slti $at, $s0, 0x0003
/* 01628 80911C68 1420FFD8 */ bne $at, $zero, .L80911BCC
/* 0162C 80911C6C 00000000 */ nop
.L80911C70:
/* 01630 80911C70 8FAD0078 */ lw $t5, 0x0078($sp)
/* 01634 80911C74 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 01638 80911C78 91AE0A73 */ lbu $t6, 0x0A73($t5) ## 00000A73
/* 0163C 80911C7C 51C00004 */ beql $t6, $zero, .L80911C90
/* 01640 80911C80 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 01644 80911C84 0C2448F5 */ jal func_809123D4
/* 01648 80911C88 8FA5008C */ lw $a1, 0x008C($sp)
/* 0164C 80911C8C 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
.L80911C90:
/* 01650 80911C90 0C00BE0A */ jal Audio_PlayActorSound2
/* 01654 80911C94 240530A4 */ addiu $a1, $zero, 0x30A4 ## $a1 = 000030A4
/* 01658 80911C98 8FBF002C */ lw $ra, 0x002C($sp)
/* 0165C 80911C9C D7B40018 */ ldc1 $f20, 0x0018($sp)
/* 01660 80911CA0 8FB00024 */ lw $s0, 0x0024($sp)
/* 01664 80911CA4 8FB10028 */ lw $s1, 0x0028($sp)
/* 01668 80911CA8 03E00008 */ jr $ra
/* 0166C 80911CAC 27BD0088 */ addiu $sp, $sp, 0x0088 ## $sp = 00000000

View file

@ -1,86 +0,0 @@
.late_rodata
glabel D_80915438
.float 0.1
.text
glabel func_80911CB0
/* 01670 80911CB0 27BDFFB8 */ addiu $sp, $sp, 0xFFB8 ## $sp = FFFFFFB8
/* 01674 80911CB4 AFB00038 */ sw $s0, 0x0038($sp)
/* 01678 80911CB8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 0167C 80911CBC AFBF003C */ sw $ra, 0x003C($sp)
/* 01680 80911CC0 3C040601 */ lui $a0, 0x0601 ## $a0 = 06010000
/* 01684 80911CC4 AFA5004C */ sw $a1, 0x004C($sp)
/* 01688 80911CC8 0C028800 */ jal Animation_GetLastFrame
/* 0168C 80911CCC 2484EC94 */ addiu $a0, $a0, 0xEC94 ## $a0 = 0600EC94
/* 01690 80911CD0 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
/* 01694 80911CD4 3C050601 */ lui $a1, 0x0601 ## $a1 = 06010000
/* 01698 80911CD8 24A5EC94 */ addiu $a1, $a1, 0xEC94 ## $a1 = 0600EC94
/* 0169C 80911CDC 468021A0 */ cvt.s.w $f6, $f4
/* 016A0 80911CE0 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 016A4 80911CE4 3C06C0A0 */ lui $a2, 0xC0A0 ## $a2 = C0A00000
/* 016A8 80911CE8 0C029490 */ jal Animation_MorphToPlayOnce
/* 016AC 80911CEC E60601D0 */ swc1 $f6, 0x01D0($s0) ## 000001D0
/* 016B0 80911CF0 3C0E8091 */ lui $t6, %hi(func_80911DD8) ## $t6 = 80910000
/* 016B4 80911CF4 25CE1DD8 */ addiu $t6, $t6, %lo(func_80911DD8) ## $t6 = 80911DD8
/* 016B8 80911CF8 0C03F66B */ jal Rand_ZeroOne
## Rand.Next() float
/* 016BC 80911CFC AE0E0190 */ sw $t6, 0x0190($s0) ## 00000190
/* 016C0 80911D00 3C018091 */ lui $at, %hi(D_80915438) ## $at = 80910000
/* 016C4 80911D04 C4285438 */ lwc1 $f8, %lo(D_80915438)($at)
/* 016C8 80911D08 24080019 */ addiu $t0, $zero, 0x0019 ## $t0 = 00000019
/* 016CC 80911D0C 24020019 */ addiu $v0, $zero, 0x0019 ## $v0 = 00000019
/* 016D0 80911D10 4608003E */ c.le.s $f0, $f8
/* 016D4 80911D14 00000000 */ nop
/* 016D8 80911D18 4502000F */ bc1fl .L80911D58
/* 016DC 80911D1C A60001A2 */ sh $zero, 0x01A2($s0) ## 000001A2
/* 016E0 80911D20 860F01A6 */ lh $t7, 0x01A6($s0) ## 000001A6
/* 016E4 80911D24 29E1000A */ slti $at, $t7, 0x000A
/* 016E8 80911D28 5420000B */ bnel $at, $zero, .L80911D58
/* 016EC 80911D2C A60001A2 */ sh $zero, 0x01A2($s0) ## 000001A2
/* 016F0 80911D30 921801C9 */ lbu $t8, 0x01C9($s0) ## 000001C9
/* 016F4 80911D34 24030001 */ addiu $v1, $zero, 0x0001 ## $v1 = 00000001
/* 016F8 80911D38 241903E8 */ addiu $t9, $zero, 0x03E8 ## $t9 = 000003E8
/* 016FC 80911D3C 54780006 */ bnel $v1, $t8, .L80911D58
/* 01700 80911D40 A60001A2 */ sh $zero, 0x01A2($s0) ## 000001A2
/* 01704 80911D44 A60301A2 */ sh $v1, 0x01A2($s0) ## 000001A2
/* 01708 80911D48 A61901A4 */ sh $t9, 0x01A4($s0) ## 000001A4
/* 0170C 80911D4C 10000003 */ beq $zero, $zero, .L80911D5C
/* 01710 80911D50 24020020 */ addiu $v0, $zero, 0x0020 ## $v0 = 00000020
/* 01714 80911D54 A60001A2 */ sh $zero, 0x01A2($s0) ## 000001A2
.L80911D58:
/* 01718 80911D58 A60801A4 */ sh $t0, 0x01A4($s0) ## 000001A4
.L80911D5C:
/* 0171C 80911D5C 8E09011C */ lw $t1, 0x011C($s0) ## 0000011C
/* 01720 80911D60 8FA6004C */ lw $a2, 0x004C($sp)
/* 01724 80911D64 240A0026 */ addiu $t2, $zero, 0x0026 ## $t2 = 00000026
/* 01728 80911D68 AFA90044 */ sw $t1, 0x0044($sp)
/* 0172C 80911D6C C60A0200 */ lwc1 $f10, 0x0200($s0) ## 00000200
/* 01730 80911D70 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 01734 80911D74 2407006D */ addiu $a3, $zero, 0x006D ## $a3 = 0000006D
/* 01738 80911D78 E7AA0010 */ swc1 $f10, 0x0010($sp)
/* 0173C 80911D7C C6100204 */ lwc1 $f16, 0x0204($s0) ## 00000204
/* 01740 80911D80 24C41C24 */ addiu $a0, $a2, 0x1C24 ## $a0 = 00001C24
/* 01744 80911D84 E7B00014 */ swc1 $f16, 0x0014($sp)
/* 01748 80911D88 C6120208 */ lwc1 $f18, 0x0208($s0) ## 00000208
/* 0174C 80911D8C AFAA0028 */ sw $t2, 0x0028($sp)
/* 01750 80911D90 AFA00024 */ sw $zero, 0x0024($sp)
/* 01754 80911D94 AFA00020 */ sw $zero, 0x0020($sp)
/* 01758 80911D98 AFA2001C */ sw $v0, 0x001C($sp)
/* 0175C 80911D9C 0C00C916 */ jal Actor_SpawnAsChild
/* 01760 80911DA0 E7B20018 */ swc1 $f18, 0x0018($sp)
/* 01764 80911DA4 860C01A6 */ lh $t4, 0x01A6($s0) ## 000001A6
/* 01768 80911DA8 8FAB0044 */ lw $t3, 0x0044($sp)
/* 0176C 80911DAC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01770 80911DB0 258D0001 */ addiu $t5, $t4, 0x0001 ## $t5 = 00000001
/* 01774 80911DB4 A60D01A6 */ sh $t5, 0x01A6($s0) ## 000001A6
/* 01778 80911DB8 240538AA */ addiu $a1, $zero, 0x38AA ## $a1 = 000038AA
/* 0177C 80911DBC 0C00BE0A */ jal Audio_PlayActorSound2
/* 01780 80911DC0 AE0B011C */ sw $t3, 0x011C($s0) ## 0000011C
/* 01784 80911DC4 8FBF003C */ lw $ra, 0x003C($sp)
/* 01788 80911DC8 8FB00038 */ lw $s0, 0x0038($sp)
/* 0178C 80911DCC 27BD0048 */ addiu $sp, $sp, 0x0048 ## $sp = 00000000
/* 01790 80911DD0 03E00008 */ jr $ra
/* 01794 80911DD4 00000000 */ nop

View file

@ -1,176 +0,0 @@
.rdata
glabel D_809151A8
.asciz "this->fwork[GND_END_FRAME] = %d\n"
.balign 4
glabel D_809151CC
.asciz "this->work[GND_SHOT_FRAME] = %d\n"
.balign 4
.text
glabel func_80911DD8
/* 01798 80911DD8 27BDFFB0 */ addiu $sp, $sp, 0xFFB0 ## $sp = FFFFFFB0
/* 0179C 80911DDC AFB00038 */ sw $s0, 0x0038($sp)
/* 017A0 80911DE0 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 017A4 80911DE4 AFBF003C */ sw $ra, 0x003C($sp)
/* 017A8 80911DE8 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 017AC 80911DEC AFA50054 */ sw $a1, 0x0054($sp)
/* 017B0 80911DF0 0C02927F */ jal SkelAnime_Update
/* 017B4 80911DF4 AFA40044 */ sw $a0, 0x0044($sp)
/* 017B8 80911DF8 C60401D0 */ lwc1 $f4, 0x01D0($s0) ## 000001D0
/* 017BC 80911DFC 3C048091 */ lui $a0, %hi(D_809151A8) ## $a0 = 80910000
/* 017C0 80911E00 248451A8 */ addiu $a0, $a0, %lo(D_809151A8) ## $a0 = 809151A8
/* 017C4 80911E04 4600218D */ trunc.w.s $f6, $f4
/* 017C8 80911E08 44053000 */ mfc1 $a1, $f6
/* 017CC 80911E0C 00000000 */ nop
/* 017D0 80911E10 00052C00 */ sll $a1, $a1, 16
/* 017D4 80911E14 0C00084C */ jal osSyncPrintf
/* 017D8 80911E18 00052C03 */ sra $a1, $a1, 16
/* 017DC 80911E1C 3C048091 */ lui $a0, %hi(D_809151CC) ## $a0 = 80910000
/* 017E0 80911E20 248451CC */ addiu $a0, $a0, %lo(D_809151CC) ## $a0 = 809151CC
/* 017E4 80911E24 0C00084C */ jal osSyncPrintf
/* 017E8 80911E28 860501A4 */ lh $a1, 0x01A4($s0) ## 000001A4
/* 017EC 80911E2C 8FA40044 */ lw $a0, 0x0044($sp)
/* 017F0 80911E30 0C0295B2 */ jal Animation_OnFrame
/* 017F4 80911E34 8E0501D0 */ lw $a1, 0x01D0($s0) ## 000001D0
/* 017F8 80911E38 10400003 */ beq $v0, $zero, .L80911E48
/* 017FC 80911E3C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01800 80911E40 0C24453A */ jal func_809114E8
/* 01804 80911E44 3C05C0C0 */ lui $a1, 0xC0C0 ## $a1 = C0C00000
.L80911E48:
/* 01808 80911E48 860F01A2 */ lh $t7, 0x01A2($s0) ## 000001A2
/* 0180C 80911E4C 8FA40044 */ lw $a0, 0x0044($sp)
/* 01810 80911E50 51E00012 */ beql $t7, $zero, .L80911E9C
/* 01814 80911E54 861901A4 */ lh $t9, 0x01A4($s0) ## 000001A4
/* 01818 80911E58 0C0295B2 */ jal Animation_OnFrame
/* 0181C 80911E5C 3C0541A8 */ lui $a1, 0x41A8 ## $a1 = 41A80000
/* 01820 80911E60 1040000D */ beq $v0, $zero, .L80911E98
/* 01824 80911E64 3C040601 */ lui $a0, 0x0601 ## $a0 = 06010000
/* 01828 80911E68 0C028800 */ jal Animation_GetLastFrame
/* 0182C 80911E6C 2484F48C */ addiu $a0, $a0, 0xF48C ## $a0 = 0600F48C
/* 01830 80911E70 44824000 */ mtc1 $v0, $f8 ## $f8 = 0.00
/* 01834 80911E74 3C050601 */ lui $a1, 0x0601 ## $a1 = 06010000
/* 01838 80911E78 24A5F48C */ addiu $a1, $a1, 0xF48C ## $a1 = 0600F48C
/* 0183C 80911E7C 468042A0 */ cvt.s.w $f10, $f8
/* 01840 80911E80 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
/* 01844 80911E84 E60A01D0 */ swc1 $f10, 0x01D0($s0) ## 000001D0
/* 01848 80911E88 0C029490 */ jal Animation_MorphToPlayOnce
/* 0184C 80911E8C 8FA40044 */ lw $a0, 0x0044($sp)
/* 01850 80911E90 2418000A */ addiu $t8, $zero, 0x000A ## $t8 = 0000000A
/* 01854 80911E94 A61801A4 */ sh $t8, 0x01A4($s0) ## 000001A4
.L80911E98:
/* 01858 80911E98 861901A4 */ lh $t9, 0x01A4($s0) ## 000001A4
.L80911E9C:
/* 0185C 80911E9C 8FA40044 */ lw $a0, 0x0044($sp)
/* 01860 80911EA0 44998000 */ mtc1 $t9, $f16 ## $f16 = 0.00
/* 01864 80911EA4 00000000 */ nop
/* 01868 80911EA8 46808420 */ cvt.s.w $f16, $f16
/* 0186C 80911EAC 44058000 */ mfc1 $a1, $f16
/* 01870 80911EB0 0C0295B2 */ jal Animation_OnFrame
/* 01874 80911EB4 00000000 */ nop
/* 01878 80911EB8 50400011 */ beql $v0, $zero, .L80911F00
/* 0187C 80911EBC 860901A4 */ lh $t1, 0x01A4($s0) ## 000001A4
/* 01880 80911EC0 920801C9 */ lbu $t0, 0x01C9($s0) ## 000001C9
/* 01884 80911EC4 240538A6 */ addiu $a1, $zero, 0x38A6 ## $a1 = 000038A6
/* 01888 80911EC8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 0188C 80911ECC 29010002 */ slti $at, $t0, 0x0002
/* 01890 80911ED0 10200005 */ beq $at, $zero, .L80911EE8
/* 01894 80911ED4 00000000 */ nop
/* 01898 80911ED8 0C00BE0A */ jal Audio_PlayActorSound2
/* 0189C 80911EDC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 018A0 80911EE0 10000004 */ beq $zero, $zero, .L80911EF4
/* 018A4 80911EE4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
.L80911EE8:
/* 018A8 80911EE8 0C00BE0A */ jal Audio_PlayActorSound2
/* 018AC 80911EEC 240538A5 */ addiu $a1, $zero, 0x38A5 ## $a1 = 000038A5
/* 018B0 80911EF0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
.L80911EF4:
/* 018B4 80911EF4 0C00BE0A */ jal Audio_PlayActorSound2
/* 018B8 80911EF8 240538B2 */ addiu $a1, $zero, 0x38B2 ## $a1 = 000038B2
/* 018BC 80911EFC 860901A4 */ lh $t1, 0x01A4($s0) ## 000001A4
.L80911F00:
/* 018C0 80911F00 8FA40044 */ lw $a0, 0x0044($sp)
/* 018C4 80911F04 44899000 */ mtc1 $t1, $f18 ## $f18 = 0.00
/* 018C8 80911F08 00000000 */ nop
/* 018CC 80911F0C 468094A0 */ cvt.s.w $f18, $f18
/* 018D0 80911F10 44059000 */ mfc1 $a1, $f18
/* 018D4 80911F14 0C0295B2 */ jal Animation_OnFrame
/* 018D8 80911F18 00000000 */ nop
/* 018DC 80911F1C 50400017 */ beql $v0, $zero, .L80911F7C
/* 018E0 80911F20 260400B6 */ addiu $a0, $s0, 0x00B6 ## $a0 = 000000B6
/* 018E4 80911F24 8E0A011C */ lw $t2, 0x011C($s0) ## 0000011C
/* 018E8 80911F28 8FA60054 */ lw $a2, 0x0054($sp)
/* 018EC 80911F2C 240C0032 */ addiu $t4, $zero, 0x0032 ## $t4 = 00000032
/* 018F0 80911F30 AFAA004C */ sw $t2, 0x004C($sp)
/* 018F4 80911F34 C6040200 */ lwc1 $f4, 0x0200($s0) ## 00000200
/* 018F8 80911F38 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 018FC 80911F3C 2407006D */ addiu $a3, $zero, 0x006D ## $a3 = 0000006D
/* 01900 80911F40 E7A40010 */ swc1 $f4, 0x0010($sp)
/* 01904 80911F44 C6060204 */ lwc1 $f6, 0x0204($s0) ## 00000204
/* 01908 80911F48 24C41C24 */ addiu $a0, $a2, 0x1C24 ## $a0 = 00001C24
/* 0190C 80911F4C E7A60014 */ swc1 $f6, 0x0014($sp)
/* 01910 80911F50 C6080208 */ lwc1 $f8, 0x0208($s0) ## 00000208
/* 01914 80911F54 E7A80018 */ swc1 $f8, 0x0018($sp)
/* 01918 80911F58 860B01A2 */ lh $t3, 0x01A2($s0) ## 000001A2
/* 0191C 80911F5C AFAC0028 */ sw $t4, 0x0028($sp)
/* 01920 80911F60 AFA00024 */ sw $zero, 0x0024($sp)
/* 01924 80911F64 AFA00020 */ sw $zero, 0x0020($sp)
/* 01928 80911F68 0C00C916 */ jal Actor_SpawnAsChild
/* 0192C 80911F6C AFAB001C */ sw $t3, 0x001C($sp)
/* 01930 80911F70 8FAD004C */ lw $t5, 0x004C($sp)
/* 01934 80911F74 AE0D011C */ sw $t5, 0x011C($s0) ## 0000011C
/* 01938 80911F78 260400B6 */ addiu $a0, $s0, 0x00B6 ## $a0 = 000000B6
.L80911F7C:
/* 0193C 80911F7C 8605008A */ lh $a1, 0x008A($s0) ## 0000008A
/* 01940 80911F80 24060005 */ addiu $a2, $zero, 0x0005 ## $a2 = 00000005
/* 01944 80911F84 0C01E1EF */ jal Math_ApproachS
/* 01948 80911F88 240707D0 */ addiu $a3, $zero, 0x07D0 ## $a3 = 000007D0
/* 0194C 80911F8C C60A0024 */ lwc1 $f10, 0x0024($s0) ## 00000024
/* 01950 80911F90 C610005C */ lwc1 $f16, 0x005C($s0) ## 0000005C
/* 01954 80911F94 C604002C */ lwc1 $f4, 0x002C($s0) ## 0000002C
/* 01958 80911F98 C6060064 */ lwc1 $f6, 0x0064($s0) ## 00000064
/* 0195C 80911F9C 46105480 */ add.s $f18, $f10, $f16
/* 01960 80911FA0 2604005C */ addiu $a0, $s0, 0x005C ## $a0 = 0000005C
/* 01964 80911FA4 3C053F80 */ lui $a1, 0x3F80 ## $a1 = 3F800000
/* 01968 80911FA8 46062200 */ add.s $f8, $f4, $f6
/* 0196C 80911FAC E6120024 */ swc1 $f18, 0x0024($s0) ## 00000024
/* 01970 80911FB0 3C063F00 */ lui $a2, 0x3F00 ## $a2 = 3F000000
/* 01974 80911FB4 0C01E123 */ jal Math_ApproachZeroF
/* 01978 80911FB8 E608002C */ swc1 $f8, 0x002C($s0) ## 0000002C
/* 0197C 80911FBC 26040064 */ addiu $a0, $s0, 0x0064 ## $a0 = 00000064
/* 01980 80911FC0 3C053F80 */ lui $a1, 0x3F80 ## $a1 = 3F800000
/* 01984 80911FC4 0C01E123 */ jal Math_ApproachZeroF
/* 01988 80911FC8 3C063F00 */ lui $a2, 0x3F00 ## $a2 = 3F000000
/* 0198C 80911FCC 86040194 */ lh $a0, 0x0194($s0) ## 00000194
/* 01990 80911FD0 00800821 */ addu $at, $a0, $zero
/* 01994 80911FD4 00042080 */ sll $a0, $a0, 2
/* 01998 80911FD8 00812023 */ subu $a0, $a0, $at
/* 0199C 80911FDC 00042100 */ sll $a0, $a0, 4
/* 019A0 80911FE0 00812023 */ subu $a0, $a0, $at
/* 019A4 80911FE4 000420C0 */ sll $a0, $a0, 3
/* 019A8 80911FE8 00812023 */ subu $a0, $a0, $at
/* 019AC 80911FEC 00042080 */ sll $a0, $a0, 2
/* 019B0 80911FF0 00042400 */ sll $a0, $a0, 16
/* 019B4 80911FF4 0C01DE1C */ jal Math_SinS
## sins?
/* 019B8 80911FF8 00042403 */ sra $a0, $a0, 16
/* 019BC 80911FFC 46000400 */ add.s $f16, $f0, $f0
/* 019C0 80912000 C60A0028 */ lwc1 $f10, 0x0028($s0) ## 00000028
/* 019C4 80912004 46105480 */ add.s $f18, $f10, $f16
/* 019C8 80912008 E6120028 */ swc1 $f18, 0x0028($s0) ## 00000028
/* 019CC 8091200C 8FBF003C */ lw $ra, 0x003C($sp)
/* 019D0 80912010 8FB00038 */ lw $s0, 0x0038($sp)
/* 019D4 80912014 27BD0050 */ addiu $sp, $sp, 0x0050 ## $sp = 00000000
/* 019D8 80912018 03E00008 */ jr $ra
/* 019DC 8091201C 00000000 */ nop

View file

@ -1,47 +0,0 @@
.late_rodata
glabel D_8091543C
.float 1.99000000954
.text
glabel func_80912020
/* 019E0 80912020 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 019E4 80912024 AFBF0014 */ sw $ra, 0x0014($sp)
/* 019E8 80912028 AFA40020 */ sw $a0, 0x0020($sp)
/* 019EC 8091202C 0C03F66B */ jal Rand_ZeroOne
## Rand.Next() float
/* 019F0 80912030 AFA50024 */ sw $a1, 0x0024($sp)
/* 019F4 80912034 3C018091 */ lui $at, %hi(D_8091543C) ## $at = 80910000
/* 019F8 80912038 C424543C */ lwc1 $f4, %lo(D_8091543C)($at)
/* 019FC 8091203C 3C048091 */ lui $a0, %hi(D_809150D0) ## $a0 = 80910000
/* 01A00 80912040 46040182 */ mul.s $f6, $f0, $f4
/* 01A04 80912044 4600320D */ trunc.w.s $f8, $f6
/* 01A08 80912048 44024000 */ mfc1 $v0, $f8
/* 01A0C 8091204C 00000000 */ nop
/* 01A10 80912050 00027C00 */ sll $t7, $v0, 16
/* 01A14 80912054 000FC403 */ sra $t8, $t7, 16
/* 01A18 80912058 0018C880 */ sll $t9, $t8, 2
/* 01A1C 8091205C 00992021 */ addu $a0, $a0, $t9
/* 01A20 80912060 8C8450D0 */ lw $a0, %lo(D_809150D0)($a0)
/* 01A24 80912064 0C028800 */ jal Animation_GetLastFrame
/* 01A28 80912068 A7A2001E */ sh $v0, 0x001E($sp)
/* 01A2C 8091206C 44825000 */ mtc1 $v0, $f10 ## $f10 = 0.00
/* 01A30 80912070 8FA30020 */ lw $v1, 0x0020($sp)
/* 01A34 80912074 3C058091 */ lui $a1, %hi(D_809150D0) ## $a1 = 80910000
/* 01A38 80912078 46805420 */ cvt.s.w $f16, $f10
/* 01A3C 8091207C 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
/* 01A40 80912080 2464014C */ addiu $a0, $v1, 0x014C ## $a0 = 0000014C
/* 01A44 80912084 E47001D0 */ swc1 $f16, 0x01D0($v1) ## 000001D0
/* 01A48 80912088 87A8001E */ lh $t0, 0x001E($sp)
/* 01A4C 8091208C 00084880 */ sll $t1, $t0, 2
/* 01A50 80912090 00A92821 */ addu $a1, $a1, $t1
/* 01A54 80912094 0C029490 */ jal Animation_MorphToPlayOnce
/* 01A58 80912098 8CA550D0 */ lw $a1, %lo(D_809150D0)($a1)
/* 01A5C 8091209C 8FAB0020 */ lw $t3, 0x0020($sp)
/* 01A60 809120A0 3C0A8091 */ lui $t2, %hi(func_809120BC) ## $t2 = 80910000
/* 01A64 809120A4 254A20BC */ addiu $t2, $t2, %lo(func_809120BC) ## $t2 = 809120BC
/* 01A68 809120A8 AD6A0190 */ sw $t2, 0x0190($t3) ## 00000190
/* 01A6C 809120AC 8FBF0014 */ lw $ra, 0x0014($sp)
/* 01A70 809120B0 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 01A74 809120B4 03E00008 */ jr $ra
/* 01A78 809120B8 00000000 */ nop

View file

@ -1,94 +0,0 @@
.rdata
glabel D_809151F0
.asciz "VOISE 2 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n"
.balign 4
glabel D_8091522C
.asciz "VOISE 2 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n"
.balign 4
.text
glabel func_809120BC
/* 01A7C 809120BC 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
/* 01A80 809120C0 AFB00018 */ sw $s0, 0x0018($sp)
/* 01A84 809120C4 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 01A88 809120C8 AFBF001C */ sw $ra, 0x001C($sp)
/* 01A8C 809120CC 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 01A90 809120D0 AFA5002C */ sw $a1, 0x002C($sp)
/* 01A94 809120D4 0C02927F */ jal SkelAnime_Update
/* 01A98 809120D8 AFA40020 */ sw $a0, 0x0020($sp)
/* 01A9C 809120DC 8FA40020 */ lw $a0, 0x0020($sp)
/* 01AA0 809120E0 0C0295B2 */ jal Animation_OnFrame
/* 01AA4 809120E4 3C0540A0 */ lui $a1, 0x40A0 ## $a1 = 40A00000
/* 01AA8 809120E8 10400009 */ beq $v0, $zero, .L80912110
/* 01AAC 809120EC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01AB0 809120F0 0C00BE0A */ jal Audio_PlayActorSound2
/* 01AB4 809120F4 240538B2 */ addiu $a1, $zero, 0x38B2 ## $a1 = 000038B2
/* 01AB8 809120F8 3C048091 */ lui $a0, %hi(D_809151F0) ## $a0 = 80910000
/* 01ABC 809120FC 0C00084C */ jal osSyncPrintf
/* 01AC0 80912100 248451F0 */ addiu $a0, $a0, %lo(D_809151F0) ## $a0 = 809151F0
/* 01AC4 80912104 3C048091 */ lui $a0, %hi(D_8091522C) ## $a0 = 80910000
/* 01AC8 80912108 0C00084C */ jal osSyncPrintf
/* 01ACC 8091210C 2484522C */ addiu $a0, $a0, %lo(D_8091522C) ## $a0 = 8091522C
.L80912110:
/* 01AD0 80912110 8FA40020 */ lw $a0, 0x0020($sp)
/* 01AD4 80912114 0C0295B2 */ jal Animation_OnFrame
/* 01AD8 80912118 8E0501D0 */ lw $a1, 0x01D0($s0) ## 000001D0
/* 01ADC 8091211C 10400003 */ beq $v0, $zero, .L8091212C
/* 01AE0 80912120 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01AE4 80912124 0C24453A */ jal func_809114E8
/* 01AE8 80912128 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
.L8091212C:
/* 01AEC 8091212C C6040024 */ lwc1 $f4, 0x0024($s0) ## 00000024
/* 01AF0 80912130 C606005C */ lwc1 $f6, 0x005C($s0) ## 0000005C
/* 01AF4 80912134 C60A002C */ lwc1 $f10, 0x002C($s0) ## 0000002C
/* 01AF8 80912138 C6100064 */ lwc1 $f16, 0x0064($s0) ## 00000064
/* 01AFC 8091213C 46062200 */ add.s $f8, $f4, $f6
/* 01B00 80912140 2604005C */ addiu $a0, $s0, 0x005C ## $a0 = 0000005C
/* 01B04 80912144 3C053F80 */ lui $a1, 0x3F80 ## $a1 = 3F800000
/* 01B08 80912148 46105480 */ add.s $f18, $f10, $f16
/* 01B0C 8091214C E6080024 */ swc1 $f8, 0x0024($s0) ## 00000024
/* 01B10 80912150 3C063F00 */ lui $a2, 0x3F00 ## $a2 = 3F000000
/* 01B14 80912154 0C01E123 */ jal Math_ApproachZeroF
/* 01B18 80912158 E612002C */ swc1 $f18, 0x002C($s0) ## 0000002C
/* 01B1C 8091215C 26040064 */ addiu $a0, $s0, 0x0064 ## $a0 = 00000064
/* 01B20 80912160 3C053F80 */ lui $a1, 0x3F80 ## $a1 = 3F800000
/* 01B24 80912164 0C01E123 */ jal Math_ApproachZeroF
/* 01B28 80912168 3C063F00 */ lui $a2, 0x3F00 ## $a2 = 3F000000
/* 01B2C 8091216C 86040194 */ lh $a0, 0x0194($s0) ## 00000194
/* 01B30 80912170 00800821 */ addu $at, $a0, $zero
/* 01B34 80912174 00042080 */ sll $a0, $a0, 2
/* 01B38 80912178 00812023 */ subu $a0, $a0, $at
/* 01B3C 8091217C 00042100 */ sll $a0, $a0, 4
/* 01B40 80912180 00812023 */ subu $a0, $a0, $at
/* 01B44 80912184 000420C0 */ sll $a0, $a0, 3
/* 01B48 80912188 00812023 */ subu $a0, $a0, $at
/* 01B4C 8091218C 00042080 */ sll $a0, $a0, 2
/* 01B50 80912190 00042400 */ sll $a0, $a0, 16
/* 01B54 80912194 0C01DE1C */ jal Math_SinS
## sins?
/* 01B58 80912198 00042403 */ sra $a0, $a0, 16
/* 01B5C 8091219C 46000180 */ add.s $f6, $f0, $f0
/* 01B60 809121A0 C6040028 */ lwc1 $f4, 0x0028($s0) ## 00000028
/* 01B64 809121A4 920E01CA */ lbu $t6, 0x01CA($s0) ## 000001CA
/* 01B68 809121A8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01B6C 809121AC 46062200 */ add.s $f8, $f4, $f6
/* 01B70 809121B0 11C00006 */ beq $t6, $zero, .L809121CC
/* 01B74 809121B4 E6080028 */ swc1 $f8, 0x0028($s0) ## 00000028
/* 01B78 809121B8 A20001CA */ sb $zero, 0x01CA($s0) ## 000001CA
/* 01B7C 809121BC 0C244808 */ jal func_80912020
/* 01B80 809121C0 8FA5002C */ lw $a1, 0x002C($sp)
/* 01B84 809121C4 240F0050 */ addiu $t7, $zero, 0x0050 ## $t7 = 00000050
/* 01B88 809121C8 A60F01BC */ sh $t7, 0x01BC($s0) ## 000001BC
.L809121CC:
/* 01B8C 809121CC 8FBF001C */ lw $ra, 0x001C($sp)
/* 01B90 809121D0 8FB00018 */ lw $s0, 0x0018($sp)
/* 01B94 809121D4 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
/* 01B98 809121D8 03E00008 */ jr $ra
/* 01B9C 809121DC 00000000 */ nop

View file

@ -1,54 +0,0 @@
glabel func_809121E0
/* 01BA0 809121E0 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
/* 01BA4 809121E4 3C0E8091 */ lui $t6, %hi(func_809122A4) ## $t6 = 80910000
/* 01BA8 809121E8 25CE22A4 */ addiu $t6, $t6, %lo(func_809122A4) ## $t6 = 809122A4
/* 01BAC 809121EC AFBF001C */ sw $ra, 0x001C($sp)
/* 01BB0 809121F0 AFB00018 */ sw $s0, 0x0018($sp)
/* 01BB4 809121F4 AFA5002C */ sw $a1, 0x002C($sp)
/* 01BB8 809121F8 AFAE0024 */ sw $t6, 0x0024($sp)
/* 01BBC 809121FC 8C8F0190 */ lw $t7, 0x0190($a0) ## 00000190
/* 01BC0 80912200 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 01BC4 80912204 3C040601 */ lui $a0, 0x0601 ## $a0 = 06010000
/* 01BC8 80912208 11CF0011 */ beq $t6, $t7, .L80912250
/* 01BCC 8091220C 00000000 */ nop
/* 01BD0 80912210 3C040601 */ lui $a0, 0x0601 ## $a0 = 06010000
/* 01BD4 80912214 0C028800 */ jal Animation_GetLastFrame
/* 01BD8 80912218 248408D8 */ addiu $a0, $a0, 0x08D8 ## $a0 = 060108D8
/* 01BDC 8091221C 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
/* 01BE0 80912220 3C050601 */ lui $a1, 0x0601 ## $a1 = 06010000
/* 01BE4 80912224 24A508D8 */ addiu $a1, $a1, 0x08D8 ## $a1 = 060108D8
/* 01BE8 80912228 468021A0 */ cvt.s.w $f6, $f4
/* 01BEC 8091222C 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 01BF0 80912230 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
/* 01BF4 80912234 0C0294D3 */ jal Animation_MorphToLoop
/* 01BF8 80912238 E60601D0 */ swc1 $f6, 0x01D0($s0) ## 000001D0
/* 01BFC 8091223C 24180032 */ addiu $t8, $zero, 0x0032 ## $t8 = 00000032
/* 01C00 80912240 2419003C */ addiu $t9, $zero, 0x003C ## $t9 = 0000003C
/* 01C04 80912244 A61801BC */ sh $t8, 0x01BC($s0) ## 000001BC
/* 01C08 80912248 1000000B */ beq $zero, $zero, .L80912278
/* 01C0C 8091224C A21901C8 */ sb $t9, 0x01C8($s0) ## 000001C8
.L80912250:
/* 01C10 80912250 0C028800 */ jal Animation_GetLastFrame
/* 01C14 80912254 2484FAC8 */ addiu $a0, $a0, 0xFAC8 ## $a0 = FFFFFAC8
/* 01C18 80912258 44824000 */ mtc1 $v0, $f8 ## $f8 = 0.00
/* 01C1C 8091225C 3C050601 */ lui $a1, 0x0601 ## $a1 = 06010000
/* 01C20 80912260 24A5FAC8 */ addiu $a1, $a1, 0xFAC8 ## $a1 = 0600FAC8
/* 01C24 80912264 468042A0 */ cvt.s.w $f10, $f8
/* 01C28 80912268 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 01C2C 8091226C 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
/* 01C30 80912270 0C0294D3 */ jal Animation_MorphToLoop
/* 01C34 80912274 E60A01D0 */ swc1 $f10, 0x01D0($s0) ## 000001D0
.L80912278:
/* 01C38 80912278 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
/* 01C3C 8091227C 8FA80024 */ lw $t0, 0x0024($sp)
/* 01C40 80912280 A60001A2 */ sh $zero, 0x01A2($s0) ## 000001A2
/* 01C44 80912284 E600005C */ swc1 $f0, 0x005C($s0) ## 0000005C
/* 01C48 80912288 AE080190 */ sw $t0, 0x0190($s0) ## 00000190
/* 01C4C 8091228C E6000064 */ swc1 $f0, 0x0064($s0) ## 00000064
/* 01C50 80912290 8FBF001C */ lw $ra, 0x001C($sp)
/* 01C54 80912294 8FB00018 */ lw $s0, 0x0018($sp)
/* 01C58 80912298 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
/* 01C5C 8091229C 03E00008 */ jr $ra
/* 01C60 809122A0 00000000 */ nop

View file

@ -1,101 +0,0 @@
.rdata
glabel D_80915268
.asciz "DAMAGE .................................\n"
.balign 4
glabel D_80915294
.asciz "TIME0 %d ********************************************\n"
.balign 4
.late_rodata
glabel D_80915440
.float -0.2
.text
glabel func_809122A4
/* 01C64 809122A4 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
/* 01C68 809122A8 AFB00018 */ sw $s0, 0x0018($sp)
/* 01C6C 809122AC 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 01C70 809122B0 AFBF001C */ sw $ra, 0x001C($sp)
/* 01C74 809122B4 3C048091 */ lui $a0, %hi(D_80915268) ## $a0 = 80910000
/* 01C78 809122B8 AFA5002C */ sw $a1, 0x002C($sp)
/* 01C7C 809122BC 0C00084C */ jal osSyncPrintf
/* 01C80 809122C0 24845268 */ addiu $a0, $a0, %lo(D_80915268) ## $a0 = 80915268
/* 01C84 809122C4 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 01C88 809122C8 0C02927F */ jal SkelAnime_Update
/* 01C8C 809122CC AFA40024 */ sw $a0, 0x0024($sp)
/* 01C90 809122D0 3C018091 */ lui $at, %hi(D_80915440) ## $at = 80910000
/* 01C94 809122D4 C4245440 */ lwc1 $f4, %lo(D_80915440)($at)
/* 01C98 809122D8 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000
/* 01C9C 809122DC 44813000 */ mtc1 $at, $f6 ## $f6 = 5.00
/* 01CA0 809122E0 C6080028 */ lwc1 $f8, 0x0028($s0) ## 00000028
/* 01CA4 809122E4 E604006C */ swc1 $f4, 0x006C($s0) ## 0000006C
/* 01CA8 809122E8 4606403E */ c.le.s $f8, $f6
/* 01CAC 809122EC 00000000 */ nop
/* 01CB0 809122F0 4500001E */ bc1f .L8091236C
/* 01CB4 809122F4 00000000 */ nop
/* 01CB8 809122F8 860E01A2 */ lh $t6, 0x01A2($s0) ## 000001A2
/* 01CBC 809122FC 3C040601 */ lui $a0, 0x0601 ## $a0 = 06010000
/* 01CC0 80912300 55C0000E */ bnel $t6, $zero, .L8091233C
/* 01CC4 80912304 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
/* 01CC8 80912308 0C028800 */ jal Animation_GetLastFrame
/* 01CCC 8091230C 24841BCC */ addiu $a0, $a0, 0x1BCC ## $a0 = 06011BCC
/* 01CD0 80912310 44825000 */ mtc1 $v0, $f10 ## $f10 = 0.00
/* 01CD4 80912314 3C050601 */ lui $a1, 0x0601 ## $a1 = 06010000
/* 01CD8 80912318 24A51BCC */ addiu $a1, $a1, 0x1BCC ## $a1 = 06011BCC
/* 01CDC 8091231C 46805420 */ cvt.s.w $f16, $f10
/* 01CE0 80912320 3C06C120 */ lui $a2, 0xC120 ## $a2 = C1200000
/* 01CE4 80912324 E61001D0 */ swc1 $f16, 0x01D0($s0) ## 000001D0
/* 01CE8 80912328 0C0294D3 */ jal Animation_MorphToLoop
/* 01CEC 8091232C 8FA40024 */ lw $a0, 0x0024($sp)
/* 01CF0 80912330 240F0001 */ addiu $t7, $zero, 0x0001 ## $t7 = 00000001
/* 01CF4 80912334 A60F01A2 */ sh $t7, 0x01A2($s0) ## 000001A2
/* 01CF8 80912338 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
.L8091233C:
/* 01CFC 8091233C 8E0501D0 */ lw $a1, 0x01D0($s0) ## 000001D0
/* 01D00 80912340 E6000060 */ swc1 $f0, 0x0060($s0) ## 00000060
/* 01D04 80912344 E600006C */ swc1 $f0, 0x006C($s0) ## 0000006C
/* 01D08 80912348 0C0295B2 */ jal Animation_OnFrame
/* 01D0C 8091234C 8FA40024 */ lw $a0, 0x0024($sp)
/* 01D10 80912350 10400003 */ beq $v0, $zero, .L80912360
/* 01D14 80912354 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01D18 80912358 0C00BE0A */ jal Audio_PlayActorSound2
/* 01D1C 8091235C 240538B1 */ addiu $a1, $zero, 0x38B1 ## $a1 = 000038B1
.L80912360:
/* 01D20 80912360 8E180004 */ lw $t8, 0x0004($s0) ## 00000004
/* 01D24 80912364 37190400 */ ori $t9, $t8, 0x0400 ## $t9 = 00000400
/* 01D28 80912368 AE190004 */ sw $t9, 0x0004($s0) ## 00000004
.L8091236C:
/* 01D2C 8091236C 3C048091 */ lui $a0, %hi(D_80915294) ## $a0 = 80910000
/* 01D30 80912370 24845294 */ addiu $a0, $a0, %lo(D_80915294) ## $a0 = 80915294
/* 01D34 80912374 0C00084C */ jal osSyncPrintf
/* 01D38 80912378 860501BC */ lh $a1, 0x01BC($s0) ## 000001BC
/* 01D3C 8091237C 860801BC */ lh $t0, 0x01BC($s0) ## 000001BC
/* 01D40 80912380 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01D44 80912384 1500000C */ bne $t0, $zero, .L809123B8
/* 01D48 80912388 00000000 */ nop
/* 01D4C 8091238C 0C24453A */ jal func_809114E8
/* 01D50 80912390 3C05C0A0 */ lui $a1, 0xC0A0 ## $a1 = C0A00000
/* 01D54 80912394 44809000 */ mtc1 $zero, $f18 ## $f18 = 0.00
/* 01D58 80912398 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
/* 01D5C 8091239C 2402001E */ addiu $v0, $zero, 0x001E ## $v0 = 0000001E
/* 01D60 809123A0 24090001 */ addiu $t1, $zero, 0x0001 ## $t1 = 00000001
/* 01D64 809123A4 A60201BC */ sh $v0, 0x01BC($s0) ## 000001BC
/* 01D68 809123A8 A60201C0 */ sh $v0, 0x01C0($s0) ## 000001C0
/* 01D6C 809123AC A20901C9 */ sb $t1, 0x01C9($s0) ## 000001C9
/* 01D70 809123B0 E6120060 */ swc1 $f18, 0x0060($s0) ## 00000060
/* 01D74 809123B4 E604006C */ swc1 $f4, 0x006C($s0) ## 0000006C
.L809123B8:
/* 01D78 809123B8 0C00B638 */ jal Actor_MoveForward
/* 01D7C 809123BC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01D80 809123C0 8FBF001C */ lw $ra, 0x001C($sp)
/* 01D84 809123C4 8FB00018 */ lw $s0, 0x0018($sp)
/* 01D88 809123C8 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
/* 01D8C 809123CC 03E00008 */ jr $ra
/* 01D90 809123D0 00000000 */ nop

View file

@ -1,32 +0,0 @@
glabel func_809123D4
/* 01D94 809123D4 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 01D98 809123D8 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000
/* 01D9C 809123DC AFBF0014 */ sw $ra, 0x0014($sp)
/* 01DA0 809123E0 3C040601 */ lui $a0, 0x0601 ## $a0 = 06010000
/* 01DA4 809123E4 AFA5001C */ sw $a1, 0x001C($sp)
/* 01DA8 809123E8 24840344 */ addiu $a0, $a0, 0x0344 ## $a0 = 06010344
/* 01DAC 809123EC 0C028800 */ jal Animation_GetLastFrame
/* 01DB0 809123F0 AFA70018 */ sw $a3, 0x0018($sp)
/* 01DB4 809123F4 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
/* 01DB8 809123F8 8FA70018 */ lw $a3, 0x0018($sp)
/* 01DBC 809123FC 3C050601 */ lui $a1, 0x0601 ## $a1 = 06010000
/* 01DC0 80912400 468021A0 */ cvt.s.w $f6, $f4
/* 01DC4 80912404 24A50344 */ addiu $a1, $a1, 0x0344 ## $a1 = 06010344
/* 01DC8 80912408 3C06C040 */ lui $a2, 0xC040 ## $a2 = C0400000
/* 01DCC 8091240C 24E4014C */ addiu $a0, $a3, 0x014C ## $a0 = 0000014C
/* 01DD0 80912410 0C0294D3 */ jal Animation_MorphToLoop
/* 01DD4 80912414 E4E601D0 */ swc1 $f6, 0x01D0($a3) ## 000001D0
/* 01DD8 80912418 8FA40018 */ lw $a0, 0x0018($sp)
/* 01DDC 8091241C 3C0E8091 */ lui $t6, %hi(func_80912448) ## $t6 = 80910000
/* 01DE0 80912420 25CE2448 */ addiu $t6, $t6, %lo(func_80912448) ## $t6 = 80912448
/* 01DE4 80912424 240F000A */ addiu $t7, $zero, 0x000A ## $t7 = 0000000A
/* 01DE8 80912428 240538AA */ addiu $a1, $zero, 0x38AA ## $a1 = 000038AA
/* 01DEC 8091242C AC8E0190 */ sw $t6, 0x0190($a0) ## 00000190
/* 01DF0 80912430 0C00BE0A */ jal Audio_PlayActorSound2
/* 01DF4 80912434 A48F01BC */ sh $t7, 0x01BC($a0) ## 000001BC
/* 01DF8 80912438 8FBF0014 */ lw $ra, 0x0014($sp)
/* 01DFC 8091243C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 01E00 80912440 03E00008 */ jr $ra
/* 01E04 80912444 00000000 */ nop

View file

@ -1,61 +0,0 @@
glabel func_80912448
/* 01E08 80912448 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 01E0C 8091244C AFB00018 */ sw $s0, 0x0018($sp)
/* 01E10 80912450 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 01E14 80912454 AFBF001C */ sw $ra, 0x001C($sp)
/* 01E18 80912458 AFA50024 */ sw $a1, 0x0024($sp)
/* 01E1C 8091245C 240E0009 */ addiu $t6, $zero, 0x0009 ## $t6 = 00000009
/* 01E20 80912460 A08E04F4 */ sb $t6, 0x04F4($a0) ## 000004F4
/* 01E24 80912464 0C02927F */ jal SkelAnime_Update
/* 01E28 80912468 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 01E2C 8091246C C6040024 */ lwc1 $f4, 0x0024($s0) ## 00000024
/* 01E30 80912470 C606005C */ lwc1 $f6, 0x005C($s0) ## 0000005C
/* 01E34 80912474 C60A002C */ lwc1 $f10, 0x002C($s0) ## 0000002C
/* 01E38 80912478 C6100064 */ lwc1 $f16, 0x0064($s0) ## 00000064
/* 01E3C 8091247C 46062200 */ add.s $f8, $f4, $f6
/* 01E40 80912480 2604005C */ addiu $a0, $s0, 0x005C ## $a0 = 0000005C
/* 01E44 80912484 3C053F80 */ lui $a1, 0x3F80 ## $a1 = 3F800000
/* 01E48 80912488 46105480 */ add.s $f18, $f10, $f16
/* 01E4C 8091248C E6080024 */ swc1 $f8, 0x0024($s0) ## 00000024
/* 01E50 80912490 3C063F00 */ lui $a2, 0x3F00 ## $a2 = 3F000000
/* 01E54 80912494 0C01E123 */ jal Math_ApproachZeroF
/* 01E58 80912498 E612002C */ swc1 $f18, 0x002C($s0) ## 0000002C
/* 01E5C 8091249C 26040064 */ addiu $a0, $s0, 0x0064 ## $a0 = 00000064
/* 01E60 809124A0 3C053F80 */ lui $a1, 0x3F80 ## $a1 = 3F800000
/* 01E64 809124A4 0C01E123 */ jal Math_ApproachZeroF
/* 01E68 809124A8 3C063F00 */ lui $a2, 0x3F00 ## $a2 = 3F000000
/* 01E6C 809124AC 86040194 */ lh $a0, 0x0194($s0) ## 00000194
/* 01E70 809124B0 00800821 */ addu $at, $a0, $zero
/* 01E74 809124B4 00042080 */ sll $a0, $a0, 2
/* 01E78 809124B8 00812023 */ subu $a0, $a0, $at
/* 01E7C 809124BC 00042100 */ sll $a0, $a0, 4
/* 01E80 809124C0 00812023 */ subu $a0, $a0, $at
/* 01E84 809124C4 000420C0 */ sll $a0, $a0, 3
/* 01E88 809124C8 00812023 */ subu $a0, $a0, $at
/* 01E8C 809124CC 00042080 */ sll $a0, $a0, 2
/* 01E90 809124D0 00042400 */ sll $a0, $a0, 16
/* 01E94 809124D4 0C01DE1C */ jal Math_SinS
## sins?
/* 01E98 809124D8 00042403 */ sra $a0, $a0, 16
/* 01E9C 809124DC 46000180 */ add.s $f6, $f0, $f0
/* 01EA0 809124E0 C6040028 */ lwc1 $f4, 0x0028($s0) ## 00000028
/* 01EA4 809124E4 860F01BC */ lh $t7, 0x01BC($s0) ## 000001BC
/* 01EA8 809124E8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01EAC 809124EC 46062200 */ add.s $f8, $f4, $f6
/* 01EB0 809124F0 15E00007 */ bne $t7, $zero, .L80912510
/* 01EB4 809124F4 E6080028 */ swc1 $f8, 0x0028($s0) ## 00000028
/* 01EB8 809124F8 0C24453A */ jal func_809114E8
/* 01EBC 809124FC 3C05C0A0 */ lui $a1, 0xC0A0 ## $a1 = C0A00000
/* 01EC0 80912500 2418000A */ addiu $t8, $zero, 0x000A ## $t8 = 0000000A
/* 01EC4 80912504 24190001 */ addiu $t9, $zero, 0x0001 ## $t9 = 00000001
/* 01EC8 80912508 A61801BC */ sh $t8, 0x01BC($s0) ## 000001BC
/* 01ECC 8091250C A21901C9 */ sb $t9, 0x01C9($s0) ## 000001C9
.L80912510:
/* 01ED0 80912510 8FBF001C */ lw $ra, 0x001C($sp)
/* 01ED4 80912514 8FB00018 */ lw $s0, 0x0018($sp)
/* 01ED8 80912518 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 01EDC 8091251C 03E00008 */ jr $ra
/* 01EE0 80912520 00000000 */ nop

View file

@ -1,30 +0,0 @@
glabel func_80912524
/* 01EE4 80912524 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 01EE8 80912528 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000
/* 01EEC 8091252C AFBF0014 */ sw $ra, 0x0014($sp)
/* 01EF0 80912530 3C040601 */ lui $a0, 0x0601 ## $a0 = 06010000
/* 01EF4 80912534 AFA5001C */ sw $a1, 0x001C($sp)
/* 01EF8 80912538 248429E0 */ addiu $a0, $a0, 0x29E0 ## $a0 = 060129E0
/* 01EFC 8091253C 0C028800 */ jal Animation_GetLastFrame
/* 01F00 80912540 AFA70018 */ sw $a3, 0x0018($sp)
/* 01F04 80912544 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
/* 01F08 80912548 8FA70018 */ lw $a3, 0x0018($sp)
/* 01F0C 8091254C 3C050601 */ lui $a1, 0x0601 ## $a1 = 06010000
/* 01F10 80912550 468021A0 */ cvt.s.w $f6, $f4
/* 01F14 80912554 24A529E0 */ addiu $a1, $a1, 0x29E0 ## $a1 = 060129E0
/* 01F18 80912558 3C06C040 */ lui $a2, 0xC040 ## $a2 = C0400000
/* 01F1C 8091255C 24E4014C */ addiu $a0, $a3, 0x014C ## $a0 = 0000014C
/* 01F20 80912560 0C0294D3 */ jal Animation_MorphToLoop
/* 01F24 80912564 E4E601D0 */ swc1 $f6, 0x01D0($a3) ## 000001D0
/* 01F28 80912568 8FA70018 */ lw $a3, 0x0018($sp)
/* 01F2C 8091256C 3C0E8091 */ lui $t6, %hi(func_80912594) ## $t6 = 80910000
/* 01F30 80912570 25CE2594 */ addiu $t6, $t6, %lo(func_80912594) ## $t6 = 80912594
/* 01F34 80912574 240F0014 */ addiu $t7, $zero, 0x0014 ## $t7 = 00000014
/* 01F38 80912578 ACEE0190 */ sw $t6, 0x0190($a3) ## 00000190
/* 01F3C 8091257C A4EF01BC */ sh $t7, 0x01BC($a3) ## 000001BC
/* 01F40 80912580 A4E001A2 */ sh $zero, 0x01A2($a3) ## 000001A2
/* 01F44 80912584 8FBF0014 */ lw $ra, 0x0014($sp)
/* 01F48 80912588 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 01F4C 8091258C 03E00008 */ jr $ra
/* 01F50 80912590 00000000 */ nop

View file

@ -1,508 +0,0 @@
.rdata
glabel D_809152CC
.asciz "YP %f @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\n"
.balign 4
.late_rodata
glabel D_80915444
.float -3315.0
glabel D_80915448
.float 10430.3779
glabel D_8091544C
.float 10000.0
glabel D_80915450
.float 0.2
glabel D_80915454
.float 0.1
glabel D_80915458
.float 3.14159274101
.text
glabel func_80912594
/* 01F54 80912594 27BDFF20 */ addiu $sp, $sp, 0xFF20 ## $sp = FFFFFF20
/* 01F58 80912598 AFB10060 */ sw $s1, 0x0060($sp)
/* 01F5C 8091259C AFBF0064 */ sw $ra, 0x0064($sp)
/* 01F60 809125A0 AFB0005C */ sw $s0, 0x005C($sp)
/* 01F64 809125A4 F7BC0050 */ sdc1 $f28, 0x0050($sp)
/* 01F68 809125A8 F7BA0048 */ sdc1 $f26, 0x0048($sp)
/* 01F6C 809125AC F7B80040 */ sdc1 $f24, 0x0040($sp)
/* 01F70 809125B0 F7B60038 */ sdc1 $f22, 0x0038($sp)
/* 01F74 809125B4 F7B40030 */ sdc1 $f20, 0x0030($sp)
/* 01F78 809125B8 3C014160 */ lui $at, 0x4160 ## $at = 41600000
/* 01F7C 809125BC 44819000 */ mtc1 $at, $f18 ## $f18 = 14.00
/* 01F80 809125C0 AFA500E4 */ sw $a1, 0x00E4($sp)
/* 01F84 809125C4 C4900024 */ lwc1 $f16, 0x0024($a0) ## 00000024
/* 01F88 809125C8 C48E002C */ lwc1 $f14, 0x002C($a0) ## 0000002C
/* 01F8C 809125CC 3C018091 */ lui $at, %hi(D_80915444) ## $at = 80910000
/* 01F90 809125D0 C42C5444 */ lwc1 $f12, %lo(D_80915444)($at)
/* 01F94 809125D4 46128501 */ sub.s $f20, $f16, $f18
/* 01F98 809125D8 00808825 */ or $s1, $a0, $zero ## $s1 = 00000000
/* 01F9C 809125DC 8CB01C44 */ lw $s0, 0x1C44($a1) ## 00001C44
/* 01FA0 809125E0 460C7581 */ sub.s $f22, $f14, $f12
/* 01FA4 809125E4 240F0009 */ addiu $t7, $zero, 0x0009 ## $t7 = 00000009
/* 01FA8 809125E8 A08F04F4 */ sb $t7, 0x04F4($a0) ## 000004F4
/* 01FAC 809125EC 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 01FB0 809125F0 0C02927F */ jal SkelAnime_Update
/* 01FB4 809125F4 AFA40070 */ sw $a0, 0x0070($sp)
/* 01FB8 809125F8 862301A2 */ lh $v1, 0x01A2($s1) ## 000001A2
/* 01FBC 809125FC 1060000A */ beq $v1, $zero, .L80912628
/* 01FC0 80912600 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 01FC4 80912604 10610043 */ beq $v1, $at, .L80912714
/* 01FC8 80912608 8FA40070 */ lw $a0, 0x0070($sp)
/* 01FCC 8091260C 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
/* 01FD0 80912610 10610051 */ beq $v1, $at, .L80912758
/* 01FD4 80912614 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
/* 01FD8 80912618 10610094 */ beq $v1, $at, .L8091286C
/* 01FDC 8091261C 00000000 */ nop
/* 01FE0 80912620 100000E7 */ beq $zero, $zero, .L809129C0
/* 01FE4 80912624 C6200028 */ lwc1 $f0, 0x0028($s1) ## 00000028
.L80912628:
/* 01FE8 80912628 862201BC */ lh $v0, 0x01BC($s1) ## 000001BC
/* 01FEC 8091262C 240100DA */ addiu $at, $zero, 0x00DA ## $at = 000000DA
/* 01FF0 80912630 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 01FF4 80912634 54410005 */ bnel $v0, $at, .L8091264C
/* 01FF8 80912638 24010013 */ addiu $at, $zero, 0x0013 ## $at = 00000013
/* 01FFC 8091263C 0C00BE0A */ jal Audio_PlayActorSound2
/* 02000 80912640 240538AA */ addiu $a1, $zero, 0x38AA ## $a1 = 000038AA
/* 02004 80912644 862201BC */ lh $v0, 0x01BC($s1) ## 000001BC
/* 02008 80912648 24010013 */ addiu $at, $zero, 0x0013 ## $at = 00000013
.L8091264C:
/* 0200C 8091264C 14410003 */ bne $v0, $at, .L8091265C
/* 02010 80912650 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 02014 80912654 0C00BE0A */ jal Audio_PlayActorSound2
/* 02018 80912658 240538A9 */ addiu $a1, $zero, 0x38A9 ## $a1 = 000038A9
.L8091265C:
/* 0201C 8091265C C6320024 */ lwc1 $f18, 0x0024($s1) ## 00000024
/* 02020 80912660 C624005C */ lwc1 $f4, 0x005C($s1) ## 0000005C
/* 02024 80912664 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 02028 80912668 4481C000 */ mtc1 $at, $f24 ## $f24 = 1.00
/* 0202C 8091266C C628002C */ lwc1 $f8, 0x002C($s1) ## 0000002C
/* 02030 80912670 C62A0064 */ lwc1 $f10, 0x0064($s1) ## 00000064
/* 02034 80912674 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000
/* 02038 80912678 46049180 */ add.s $f6, $f18, $f4
/* 0203C 8091267C 4481D000 */ mtc1 $at, $f26 ## $f26 = 0.50
/* 02040 80912680 4405C000 */ mfc1 $a1, $f24
/* 02044 80912684 460A4480 */ add.s $f18, $f8, $f10
/* 02048 80912688 4406D000 */ mfc1 $a2, $f26
/* 0204C 8091268C E6260024 */ swc1 $f6, 0x0024($s1) ## 00000024
/* 02050 80912690 2624005C */ addiu $a0, $s1, 0x005C ## $a0 = 0000005C
/* 02054 80912694 0C01E123 */ jal Math_ApproachZeroF
/* 02058 80912698 E632002C */ swc1 $f18, 0x002C($s1) ## 0000002C
/* 0205C 8091269C 4405C000 */ mfc1 $a1, $f24
/* 02060 809126A0 4406D000 */ mfc1 $a2, $f26
/* 02064 809126A4 0C01E123 */ jal Math_ApproachZeroF
/* 02068 809126A8 26240064 */ addiu $a0, $s1, 0x0064 ## $a0 = 00000064
/* 0206C 809126AC 863801BC */ lh $t8, 0x01BC($s1) ## 000001BC
/* 02070 809126B0 3C100601 */ lui $s0, 0x0601 ## $s0 = 06010000
/* 02074 809126B4 26101F44 */ addiu $s0, $s0, 0x1F44 ## $s0 = 06011F44
/* 02078 809126B8 1700000F */ bne $t8, $zero, .L809126F8
/* 0207C 809126BC 24190001 */ addiu $t9, $zero, 0x0001 ## $t9 = 00000001
/* 02080 809126C0 4480C000 */ mtc1 $zero, $f24 ## $f24 = 0.00
/* 02084 809126C4 2408000A */ addiu $t0, $zero, 0x000A ## $t0 = 0000000A
/* 02088 809126C8 A63901A2 */ sh $t9, 0x01A2($s1) ## 000001A2
/* 0208C 809126CC A62801BC */ sh $t0, 0x01BC($s1) ## 000001BC
/* 02090 809126D0 02002025 */ or $a0, $s0, $zero ## $a0 = 06011F44
/* 02094 809126D4 0C028800 */ jal Animation_GetLastFrame
/* 02098 809126D8 E6380068 */ swc1 $f24, 0x0068($s1) ## 00000068
/* 0209C 809126DC 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
/* 020A0 809126E0 4406C000 */ mfc1 $a2, $f24
/* 020A4 809126E4 02002825 */ or $a1, $s0, $zero ## $a1 = 06011F44
/* 020A8 809126E8 468021A0 */ cvt.s.w $f6, $f4
/* 020AC 809126EC E62601D0 */ swc1 $f6, 0x01D0($s1) ## 000001D0
/* 020B0 809126F0 0C029490 */ jal Animation_MorphToPlayOnce
/* 020B4 809126F4 8FA40070 */ lw $a0, 0x0070($sp)
.L809126F8:
/* 020B8 809126F8 262400B6 */ addiu $a0, $s1, 0x00B6 ## $a0 = 000000B6
/* 020BC 809126FC 8625008A */ lh $a1, 0x008A($s1) ## 0000008A
/* 020C0 80912700 24060005 */ addiu $a2, $zero, 0x0005 ## $a2 = 00000005
/* 020C4 80912704 0C01E1EF */ jal Math_ApproachS
/* 020C8 80912708 240707D0 */ addiu $a3, $zero, 0x07D0 ## $a3 = 000007D0
/* 020CC 8091270C 100000AC */ beq $zero, $zero, .L809129C0
/* 020D0 80912710 C6200028 */ lwc1 $f0, 0x0028($s1) ## 00000028
.L80912714:
/* 020D4 80912714 0C0295B2 */ jal Animation_OnFrame
/* 020D8 80912718 8E2501D0 */ lw $a1, 0x01D0($s1) ## 000001D0
/* 020DC 8091271C 1040000E */ beq $v0, $zero, .L80912758
/* 020E0 80912720 3C040601 */ lui $a0, 0x0601 ## $a0 = 06010000
/* 020E4 80912724 0C028800 */ jal Animation_GetLastFrame
/* 020E8 80912728 2484267C */ addiu $a0, $a0, 0x267C ## $a0 = 0601267C
/* 020EC 8091272C 44824000 */ mtc1 $v0, $f8 ## $f8 = 0.00
/* 020F0 80912730 4480C000 */ mtc1 $zero, $f24 ## $f24 = 0.00
/* 020F4 80912734 3C050601 */ lui $a1, 0x0601 ## $a1 = 06010000
/* 020F8 80912738 468042A0 */ cvt.s.w $f10, $f8
/* 020FC 8091273C 4406C000 */ mfc1 $a2, $f24
/* 02100 80912740 24A5267C */ addiu $a1, $a1, 0x267C ## $a1 = 0601267C
/* 02104 80912744 E62A01D0 */ swc1 $f10, 0x01D0($s1) ## 000001D0
/* 02108 80912748 0C0294D3 */ jal Animation_MorphToLoop
/* 0210C 8091274C 8FA40070 */ lw $a0, 0x0070($sp)
/* 02110 80912750 24090002 */ addiu $t1, $zero, 0x0002 ## $t1 = 00000002
/* 02114 80912754 A62901A2 */ sh $t1, 0x01A2($s1) ## 000001A2
.L80912758:
/* 02118 80912758 862A01BC */ lh $t2, 0x01BC($s1) ## 000001BC
/* 0211C 8091275C 262400B6 */ addiu $a0, $s1, 0x00B6 ## $a0 = 000000B6
/* 02120 80912760 24060005 */ addiu $a2, $zero, 0x0005 ## $a2 = 00000005
/* 02124 80912764 1140001D */ beq $t2, $zero, .L809127DC
/* 02128 80912768 240707D0 */ addiu $a3, $zero, 0x07D0 ## $a3 = 000007D0
/* 0212C 8091276C 0C01E1EF */ jal Math_ApproachS
/* 02130 80912770 8625008A */ lh $a1, 0x008A($s1) ## 0000008A
/* 02134 80912774 3C014220 */ lui $at, 0x4220 ## $at = 42200000
/* 02138 80912778 C6120024 */ lwc1 $f18, 0x0024($s0) ## 06011F68
/* 0213C 8091277C C6240024 */ lwc1 $f4, 0x0024($s1) ## 00000024
/* 02140 80912780 44814000 */ mtc1 $at, $f8 ## $f8 = 40.00
/* 02144 80912784 C6060028 */ lwc1 $f6, 0x0028($s0) ## 06011F6C
/* 02148 80912788 46049081 */ sub.s $f2, $f18, $f4
/* 0214C 8091278C C604002C */ lwc1 $f4, 0x002C($s0) ## 06011F70
/* 02150 80912790 C6320028 */ lwc1 $f18, 0x0028($s1) ## 00000028
/* 02154 80912794 46083280 */ add.s $f10, $f6, $f8
/* 02158 80912798 C626002C */ lwc1 $f6, 0x002C($s1) ## 0000002C
/* 0215C 8091279C 46021202 */ mul.s $f8, $f2, $f2
/* 02160 809127A0 862B00B6 */ lh $t3, 0x00B6($s1) ## 000000B6
/* 02164 809127A4 46062401 */ sub.s $f16, $f4, $f6
/* 02168 809127A8 A62B0032 */ sh $t3, 0x0032($s1) ## 00000032
/* 0216C 809127AC 46125301 */ sub.s $f12, $f10, $f18
/* 02170 809127B0 46108282 */ mul.s $f10, $f16, $f16
/* 02174 809127B4 460A4000 */ add.s $f0, $f8, $f10
/* 02178 809127B8 0C03F494 */ jal Math_FAtan2F
/* 0217C 809127BC 46000384 */ sqrt.s $f14, $f0
/* 02180 809127C0 3C018091 */ lui $at, %hi(D_80915448) ## $at = 80910000
/* 02184 809127C4 C4325448 */ lwc1 $f18, %lo(D_80915448)($at)
/* 02188 809127C8 46120102 */ mul.s $f4, $f0, $f18
/* 0218C 809127CC 4600218D */ trunc.w.s $f6, $f4
/* 02190 809127D0 440D3000 */ mfc1 $t5, $f6
/* 02194 809127D4 00000000 */ nop
/* 02198 809127D8 A62D0030 */ sh $t5, 0x0030($s1) ## 00000030
.L809127DC:
/* 0219C 809127DC 0C00B642 */ jal func_8002D908
/* 021A0 809127E0 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 021A4 809127E4 0C00B5FB */ jal func_8002D7EC
/* 021A8 809127E8 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 021AC 809127EC 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 021B0 809127F0 4481C000 */ mtc1 $at, $f24 ## $f24 = 1.00
/* 021B4 809127F4 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000
/* 021B8 809127F8 4481D000 */ mtc1 $at, $f26 ## $f26 = 0.50
/* 021BC 809127FC 4406C000 */ mfc1 $a2, $f24
/* 021C0 80912800 26240068 */ addiu $a0, $s1, 0x0068 ## $a0 = 00000068
/* 021C4 80912804 4407D000 */ mfc1 $a3, $f26
/* 021C8 80912808 0C01E107 */ jal Math_ApproachF
/* 021CC 8091280C 3C054120 */ lui $a1, 0x4120 ## $a1 = 41200000
/* 021D0 80912810 4614A202 */ mul.s $f8, $f20, $f20
/* 021D4 80912814 3C01438C */ lui $at, 0x438C ## $at = 438C0000
/* 021D8 80912818 44819000 */ mtc1 $at, $f18 ## $f18 = 280.00
/* 021DC 8091281C 4616B282 */ mul.s $f10, $f22, $f22
/* 021E0 80912820 3C018091 */ lui $at, %hi(D_8091544C) ## $at = 80910000
/* 021E4 80912824 240E0003 */ addiu $t6, $zero, 0x0003 ## $t6 = 00000003
/* 021E8 80912828 240F0014 */ addiu $t7, $zero, 0x0014 ## $t7 = 00000014
/* 021EC 8091282C 460A4000 */ add.s $f0, $f8, $f10
/* 021F0 80912830 46000004 */ sqrt.s $f0, $f0
/* 021F4 80912834 4600903C */ c.lt.s $f18, $f0
/* 021F8 80912838 00000000 */ nop
/* 021FC 8091283C 45030008 */ bc1tl .L80912860
/* 02200 80912840 A62E01A2 */ sh $t6, 0x01A2($s1) ## 000001A2
/* 02204 80912844 C624008C */ lwc1 $f4, 0x008C($s1) ## 0000008C
/* 02208 80912848 C426544C */ lwc1 $f6, %lo(D_8091544C)($at)
/* 0220C 8091284C 4606203C */ c.lt.s $f4, $f6
/* 02210 80912850 00000000 */ nop
/* 02214 80912854 45000003 */ bc1f .L80912864
/* 02218 80912858 00000000 */ nop
/* 0221C 8091285C A62E01A2 */ sh $t6, 0x01A2($s1) ## 000001A2
.L80912860:
/* 02220 80912860 A62F01BC */ sh $t7, 0x01BC($s1) ## 000001BC
.L80912864:
/* 02224 80912864 10000056 */ beq $zero, $zero, .L809129C0
/* 02228 80912868 C6200028 */ lwc1 $f0, 0x0028($s1) ## 00000028
.L8091286C:
/* 0222C 8091286C 3C018091 */ lui $at, %hi(D_80915450) ## $at = 80910000
/* 02230 80912870 C4285450 */ lwc1 $f8, %lo(D_80915450)($at)
/* 02234 80912874 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 02238 80912878 0C00B638 */ jal Actor_MoveForward
/* 0223C 8091287C E628006C */ swc1 $f8, 0x006C($s1) ## 0000006C
/* 02240 80912880 C62A0028 */ lwc1 $f10, 0x0028($s1) ## 00000028
/* 02244 80912884 3C048091 */ lui $a0, %hi(D_809152CC) ## $a0 = 80910000
/* 02248 80912888 248452CC */ addiu $a0, $a0, %lo(D_809152CC) ## $a0 = 809152CC
/* 0224C 8091288C 460054A1 */ cvt.d.s $f18, $f10
/* 02250 80912890 44079000 */ mfc1 $a3, $f18
/* 02254 80912894 44069800 */ mfc1 $a2, $f19
/* 02258 80912898 0C00084C */ jal osSyncPrintf
/* 0225C 8091289C 00000000 */ nop
/* 02260 809128A0 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000
/* 02264 809128A4 44810000 */ mtc1 $at, $f0 ## $f0 = 5.00
/* 02268 809128A8 C6240028 */ lwc1 $f4, 0x0028($s1) ## 00000028
/* 0226C 809128AC 4614A182 */ mul.s $f6, $f20, $f20
/* 02270 809128B0 4600203C */ c.lt.s $f4, $f0
/* 02274 809128B4 4616B202 */ mul.s $f8, $f22, $f22
/* 02278 809128B8 45020005 */ bc1fl .L809128D0
/* 0227C 809128BC 46083000 */ add.s $f0, $f6, $f8
/* 02280 809128C0 4480C000 */ mtc1 $zero, $f24 ## $f24 = 0.00
/* 02284 809128C4 E6200028 */ swc1 $f0, 0x0028($s1) ## 00000028
/* 02288 809128C8 E6380060 */ swc1 $f24, 0x0060($s1) ## 00000060
/* 0228C 809128CC 46083000 */ add.s $f0, $f6, $f8
.L809128D0:
/* 02290 809128D0 3C01438C */ lui $at, 0x438C ## $at = 438C0000
/* 02294 809128D4 44815000 */ mtc1 $at, $f10 ## $f10 = 280.00
/* 02298 809128D8 3C014000 */ lui $at, 0x4000 ## $at = 40000000
/* 0229C 809128DC 46000004 */ sqrt.s $f0, $f0
/* 022A0 809128E0 4600503C */ c.lt.s $f10, $f0
/* 022A4 809128E4 00000000 */ nop
/* 022A8 809128E8 4502000B */ bc1fl .L80912918
/* 022AC 809128EC 3C014000 */ lui $at, 0x4000 ## $at = 40000000
/* 022B0 809128F0 4481A000 */ mtc1 $at, $f20 ## $f20 = 2.00
/* 022B4 809128F4 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 022B8 809128F8 4481C000 */ mtc1 $at, $f24 ## $f24 = 1.00
/* 022BC 809128FC 4406A000 */ mfc1 $a2, $f20
/* 022C0 80912900 26240068 */ addiu $a0, $s1, 0x0068 ## $a0 = 00000068
/* 022C4 80912904 4405C000 */ mfc1 $a1, $f24
/* 022C8 80912908 0C01E123 */ jal Math_ApproachZeroF
/* 022CC 8091290C 00000000 */ nop
/* 022D0 80912910 A62001BC */ sh $zero, 0x01BC($s1) ## 000001BC
/* 022D4 80912914 3C014000 */ lui $at, 0x4000 ## $at = 40000000
.L80912918:
/* 022D8 80912918 863801BC */ lh $t8, 0x01BC($s1) ## 000001BC
/* 022DC 8091291C 4481A000 */ mtc1 $at, $f20 ## $f20 = 2.00
/* 022E0 80912920 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 022E4 80912924 4481C000 */ mtc1 $at, $f24 ## $f24 = 1.00
/* 022E8 80912928 57000025 */ bnel $t8, $zero, .L809129C0
/* 022EC 8091292C C6200028 */ lwc1 $f0, 0x0028($s1) ## 00000028
/* 022F0 80912930 4405C000 */ mfc1 $a1, $f24
/* 022F4 80912934 4406A000 */ mfc1 $a2, $f20
/* 022F8 80912938 0C01E123 */ jal Math_ApproachZeroF
/* 022FC 8091293C 26240068 */ addiu $a0, $s1, 0x0068 ## $a0 = 00000068
/* 02300 80912940 4405C000 */ mfc1 $a1, $f24
/* 02304 80912944 4406A000 */ mfc1 $a2, $f20
/* 02308 80912948 0C01E123 */ jal Math_ApproachZeroF
/* 0230C 8091294C 26240060 */ addiu $a0, $s1, 0x0060 ## $a0 = 00000060
/* 02310 80912950 262400B6 */ addiu $a0, $s1, 0x00B6 ## $a0 = 000000B6
/* 02314 80912954 8625008A */ lh $a1, 0x008A($s1) ## 0000008A
/* 02318 80912958 24060005 */ addiu $a2, $zero, 0x0005 ## $a2 = 00000005
/* 0231C 8091295C 0C01E1EF */ jal Math_ApproachS
/* 02320 80912960 240707D0 */ addiu $a3, $zero, 0x07D0 ## $a3 = 000007D0
/* 02324 80912964 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000
/* 02328 80912968 4481D000 */ mtc1 $at, $f26 ## $f26 = 0.50
/* 0232C 8091296C C6320068 */ lwc1 $f18, 0x0068($s1) ## 00000068
/* 02330 80912970 461A903E */ c.le.s $f18, $f26
/* 02334 80912974 00000000 */ nop
/* 02338 80912978 45020011 */ bc1fl .L809129C0
/* 0233C 8091297C C6200028 */ lwc1 $f0, 0x0028($s1) ## 00000028
/* 02340 80912980 C6200060 */ lwc1 $f0, 0x0060($s1) ## 00000060
/* 02344 80912984 3C018091 */ lui $at, %hi(D_80915454) ## $at = 80910000
/* 02348 80912988 C4245454 */ lwc1 $f4, %lo(D_80915454)($at)
/* 0234C 8091298C 46000005 */ abs.s $f0, $f0
/* 02350 80912990 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 02354 80912994 4604003E */ c.le.s $f0, $f4
/* 02358 80912998 00000000 */ nop
/* 0235C 8091299C 45020008 */ bc1fl .L809129C0
/* 02360 809129A0 C6200028 */ lwc1 $f0, 0x0028($s1) ## 00000028
/* 02364 809129A4 0C24453A */ jal func_809114E8
/* 02368 809129A8 3C05C120 */ lui $a1, 0xC120 ## $a1 = C1200000
/* 0236C 809129AC 2419001E */ addiu $t9, $zero, 0x001E ## $t9 = 0000001E
/* 02370 809129B0 24080001 */ addiu $t0, $zero, 0x0001 ## $t0 = 00000001
/* 02374 809129B4 A63901BC */ sh $t9, 0x01BC($s1) ## 000001BC
/* 02378 809129B8 A22801C9 */ sb $t0, 0x01C9($s1) ## 000001C9
/* 0237C 809129BC C6200028 */ lwc1 $f0, 0x0028($s1) ## 00000028
.L809129C0:
/* 02380 809129C0 3C014248 */ lui $at, 0x4248 ## $at = 42480000
/* 02384 809129C4 44813000 */ mtc1 $at, $f6 ## $f6 = 50.00
/* 02388 809129C8 00000000 */ nop
/* 0238C 809129CC 4600303C */ c.lt.s $f6, $f0
/* 02390 809129D0 00000000 */ nop
/* 02394 809129D4 45000011 */ bc1f .L80912A1C
/* 02398 809129D8 00000000 */ nop
/* 0239C 809129DC 86240194 */ lh $a0, 0x0194($s1) ## 00000194
/* 023A0 809129E0 00800821 */ addu $at, $a0, $zero
/* 023A4 809129E4 00042080 */ sll $a0, $a0, 2
/* 023A8 809129E8 00812023 */ subu $a0, $a0, $at
/* 023AC 809129EC 00042100 */ sll $a0, $a0, 4
/* 023B0 809129F0 00812023 */ subu $a0, $a0, $at
/* 023B4 809129F4 000420C0 */ sll $a0, $a0, 3
/* 023B8 809129F8 00812023 */ subu $a0, $a0, $at
/* 023BC 809129FC 00042080 */ sll $a0, $a0, 2
/* 023C0 80912A00 00042400 */ sll $a0, $a0, 16
/* 023C4 80912A04 0C01DE1C */ jal Math_SinS
## sins?
/* 023C8 80912A08 00042403 */ sra $a0, $a0, 16
/* 023CC 80912A0C 46000280 */ add.s $f10, $f0, $f0
/* 023D0 80912A10 C6280028 */ lwc1 $f8, 0x0028($s1) ## 00000028
/* 023D4 80912A14 460A4480 */ add.s $f18, $f8, $f10
/* 023D8 80912A18 E6320028 */ swc1 $f18, 0x0028($s1) ## 00000028
.L80912A1C:
/* 023DC 80912A1C 3C0A8091 */ lui $t2, %hi(D_809150D8) ## $t2 = 80910000
/* 023E0 80912A20 254A50D8 */ addiu $t2, $t2, %lo(D_809150D8) ## $t2 = 809150D8
/* 023E4 80912A24 8D4C0000 */ lw $t4, 0x0000($t2) ## 809150D8
/* 023E8 80912A28 27A900A4 */ addiu $t1, $sp, 0x00A4 ## $t1 = FFFFFFC4
/* 023EC 80912A2C 8D4B0004 */ lw $t3, 0x0004($t2) ## 809150DC
/* 023F0 80912A30 AD2C0000 */ sw $t4, 0x0000($t1) ## FFFFFFC4
/* 023F4 80912A34 8D4C0008 */ lw $t4, 0x0008($t2) ## 809150E0
/* 023F8 80912A38 3C0E8091 */ lui $t6, %hi(D_809150E4) ## $t6 = 80910000
/* 023FC 80912A3C 25CE50E4 */ addiu $t6, $t6, %lo(D_809150E4) ## $t6 = 809150E4
/* 02400 80912A40 AD2B0004 */ sw $t3, 0x0004($t1) ## FFFFFFC8
/* 02404 80912A44 AD2C0008 */ sw $t4, 0x0008($t1) ## FFFFFFCC
/* 02408 80912A48 8DD80000 */ lw $t8, 0x0000($t6) ## 809150E4
/* 0240C 80912A4C 27AD0098 */ addiu $t5, $sp, 0x0098 ## $t5 = FFFFFFB8
/* 02410 80912A50 8DCF0004 */ lw $t7, 0x0004($t6) ## 809150E8
/* 02414 80912A54 ADB80000 */ sw $t8, 0x0000($t5) ## FFFFFFB8
/* 02418 80912A58 8DD80008 */ lw $t8, 0x0008($t6) ## 809150EC
/* 0241C 80912A5C 3C088091 */ lui $t0, %hi(D_809150F0) ## $t0 = 80910000
/* 02420 80912A60 250850F0 */ addiu $t0, $t0, %lo(D_809150F0) ## $t0 = 809150F0
/* 02424 80912A64 ADAF0004 */ sw $t7, 0x0004($t5) ## FFFFFFBC
/* 02428 80912A68 ADB80008 */ sw $t8, 0x0008($t5) ## FFFFFFC0
/* 0242C 80912A6C 8D0A0000 */ lw $t2, 0x0000($t0) ## 809150F0
/* 02430 80912A70 3C014120 */ lui $at, 0x4120 ## $at = 41200000
/* 02434 80912A74 44812000 */ mtc1 $at, $f4 ## $f4 = 10.00
/* 02438 80912A78 27B9008C */ addiu $t9, $sp, 0x008C ## $t9 = FFFFFFAC
/* 0243C 80912A7C 3C01C248 */ lui $at, 0xC248 ## $at = C2480000
/* 02440 80912A80 AF2A0000 */ sw $t2, 0x0000($t9) ## FFFFFFAC
/* 02444 80912A84 8D0A0008 */ lw $t2, 0x0008($t0) ## 809150F8
/* 02448 80912A88 8D090004 */ lw $t1, 0x0004($t0) ## 809150F4
/* 0244C 80912A8C 4481E000 */ mtc1 $at, $f28 ## $f28 = -50.00
/* 02450 80912A90 3C0143FA */ lui $at, 0x43FA ## $at = 43FA0000
/* 02454 80912A94 4481D000 */ mtc1 $at, $f26 ## $f26 = 500.00
/* 02458 80912A98 3C018091 */ lui $at, %hi(D_80915458) ## $at = 80910000
/* 0245C 80912A9C AF2A0008 */ sw $t2, 0x0008($t9) ## FFFFFFB4
/* 02460 80912AA0 AF290004 */ sw $t1, 0x0004($t9) ## FFFFFFB0
/* 02464 80912AA4 C4385458 */ lwc1 $f24, %lo(D_80915458)($at)
/* 02468 80912AA8 3C014700 */ lui $at, 0x4700 ## $at = 47000000
/* 0246C 80912AAC 4481B000 */ mtc1 $at, $f22 ## $f22 = 32768.00
/* 02470 80912AB0 3C01447A */ lui $at, 0x447A ## $at = 447A0000
/* 02474 80912AB4 4481A000 */ mtc1 $at, $f20 ## $f20 = 1000.00
/* 02478 80912AB8 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000
/* 0247C 80912ABC E7A40090 */ swc1 $f4, 0x0090($sp)
.L80912AC0:
/* 02480 80912AC0 0C034213 */ jal Matrix_Push
/* 02484 80912AC4 00000000 */ nop
/* 02488 80912AC8 862B00B6 */ lh $t3, 0x00B6($s1) ## 000000B6
/* 0248C 80912ACC 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 02490 80912AD0 448B3000 */ mtc1 $t3, $f6 ## $f6 = 0.00
/* 02494 80912AD4 00000000 */ nop
/* 02498 80912AD8 46803220 */ cvt.s.w $f8, $f6
/* 0249C 80912ADC 46164283 */ div.s $f10, $f8, $f22
/* 024A0 80912AE0 46185302 */ mul.s $f12, $f10, $f24
/* 024A4 80912AE4 0C034348 */ jal Matrix_RotateY
/* 024A8 80912AE8 00000000 */ nop
/* 024AC 80912AEC 862C00B4 */ lh $t4, 0x00B4($s1) ## 000000B4
/* 024B0 80912AF0 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
/* 024B4 80912AF4 448C9000 */ mtc1 $t4, $f18 ## $f18 = 0.00
/* 024B8 80912AF8 00000000 */ nop
/* 024BC 80912AFC 46809120 */ cvt.s.w $f4, $f18
/* 024C0 80912B00 46162183 */ div.s $f6, $f4, $f22
/* 024C4 80912B04 46183302 */ mul.s $f12, $f6, $f24
/* 024C8 80912B08 0C0342DC */ jal Matrix_RotateX
/* 024CC 80912B0C 00000000 */ nop
/* 024D0 80912B10 862D01AC */ lh $t5, 0x01AC($s1) ## 000001AC
/* 024D4 80912B14 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
/* 024D8 80912B18 448D4000 */ mtc1 $t5, $f8 ## $f8 = 0.00
/* 024DC 80912B1C 00000000 */ nop
/* 024E0 80912B20 468042A0 */ cvt.s.w $f10, $f8
/* 024E4 80912B24 46165483 */ div.s $f18, $f10, $f22
/* 024E8 80912B28 46189302 */ mul.s $f12, $f18, $f24
/* 024EC 80912B2C 0C0343B5 */ jal Matrix_RotateZ
/* 024F0 80912B30 00000000 */ nop
/* 024F4 80912B34 27A4008C */ addiu $a0, $sp, 0x008C ## $a0 = FFFFFFAC
/* 024F8 80912B38 0C0346BD */ jal Matrix_MultVec3f
/* 024FC 80912B3C 27A50080 */ addiu $a1, $sp, 0x0080 ## $a1 = FFFFFFA0
/* 02500 80912B40 0C034221 */ jal Matrix_Pop
/* 02504 80912B44 00000000 */ nop
/* 02508 80912B48 C6240200 */ lwc1 $f4, 0x0200($s1) ## 00000200
/* 0250C 80912B4C C7A60080 */ lwc1 $f6, 0x0080($sp)
/* 02510 80912B50 C7B20084 */ lwc1 $f18, 0x0084($sp)
/* 02514 80912B54 24010007 */ addiu $at, $zero, 0x0007 ## $at = 00000007
/* 02518 80912B58 46062200 */ add.s $f8, $f4, $f6
/* 0251C 80912B5C 0201001A */ div $zero, $s0, $at
/* 02520 80912B60 E7A800B0 */ swc1 $f8, 0x00B0($sp)
/* 02524 80912B64 C62A0204 */ lwc1 $f10, 0x0204($s1) ## 00000204
/* 02528 80912B68 00007810 */ mfhi $t7
/* 0252C 80912B6C 240E0096 */ addiu $t6, $zero, 0x0096 ## $t6 = 00000096
/* 02530 80912B70 46125100 */ add.s $f4, $f10, $f18
/* 02534 80912B74 C7AA0088 */ lwc1 $f10, 0x0088($sp)
/* 02538 80912B78 8FA400E4 */ lw $a0, 0x00E4($sp)
/* 0253C 80912B7C 27A500B0 */ addiu $a1, $sp, 0x00B0 ## $a1 = FFFFFFD0
/* 02540 80912B80 E7A400B4 */ swc1 $f4, 0x00B4($sp)
/* 02544 80912B84 C6280208 */ lwc1 $f8, 0x0208($s1) ## 00000208
/* 02548 80912B88 AFAF0014 */ sw $t7, 0x0014($sp)
/* 0254C 80912B8C AFAE0010 */ sw $t6, 0x0010($sp)
/* 02550 80912B90 460A4100 */ add.s $f4, $f8, $f10
/* 02554 80912B94 461A3202 */ mul.s $f8, $f6, $f26
/* 02558 80912B98 27A600A4 */ addiu $a2, $sp, 0x00A4 ## $a2 = FFFFFFC4
/* 0255C 80912B9C 27A70098 */ addiu $a3, $sp, 0x0098 ## $a3 = FFFFFFB8
/* 02560 80912BA0 E7A400B8 */ swc1 $f4, 0x00B8($sp)
/* 02564 80912BA4 46144103 */ div.s $f4, $f8, $f20
/* 02568 80912BA8 461A9202 */ mul.s $f8, $f18, $f26
/* 0256C 80912BAC E7A400A4 */ swc1 $f4, 0x00A4($sp)
/* 02570 80912BB0 46144103 */ div.s $f4, $f8, $f20
/* 02574 80912BB4 461A5202 */ mul.s $f8, $f10, $f26
/* 02578 80912BB8 E7A400A8 */ swc1 $f4, 0x00A8($sp)
/* 0257C 80912BBC 46144103 */ div.s $f4, $f8, $f20
/* 02580 80912BC0 461C3202 */ mul.s $f8, $f6, $f28
/* 02584 80912BC4 00000000 */ nop
/* 02588 80912BC8 461C9182 */ mul.s $f6, $f18, $f28
/* 0258C 80912BCC E7A400AC */ swc1 $f4, 0x00AC($sp)
/* 02590 80912BD0 46144103 */ div.s $f4, $f8, $f20
/* 02594 80912BD4 46143203 */ div.s $f8, $f6, $f20
/* 02598 80912BD8 E7A40098 */ swc1 $f4, 0x0098($sp)
/* 0259C 80912BDC 461C5102 */ mul.s $f4, $f10, $f28
/* 025A0 80912BE0 46142483 */ div.s $f18, $f4, $f20
/* 025A4 80912BE4 E7A8009C */ swc1 $f8, 0x009C($sp)
/* 025A8 80912BE8 0C00A73C */ jal EffectSsFhgFlash_SpawnLightBall
/* 025AC 80912BEC E7B200A0 */ swc1 $f18, 0x00A0($sp)
/* 025B0 80912BF0 863801AC */ lh $t8, 0x01AC($s1) ## 000001AC
/* 025B4 80912BF4 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001
/* 025B8 80912BF8 00108400 */ sll $s0, $s0, 16
/* 025BC 80912BFC 00108403 */ sra $s0, $s0, 16
/* 025C0 80912C00 2A01000A */ slti $at, $s0, 0x000A
/* 025C4 80912C04 27191A5C */ addiu $t9, $t8, 0x1A5C ## $t9 = 00001A5C
/* 025C8 80912C08 1420FFAD */ bne $at, $zero, .L80912AC0
/* 025CC 80912C0C A63901AC */ sh $t9, 0x01AC($s1) ## 000001AC
/* 025D0 80912C10 86280194 */ lh $t0, 0x0194($s1) ## 00000194
/* 025D4 80912C14 8FA600E4 */ lw $a2, 0x00E4($sp)
/* 025D8 80912C18 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
/* 025DC 80912C1C 31090007 */ andi $t1, $t0, 0x0007 ## $t1 = 00000000
/* 025E0 80912C20 15200012 */ bne $t1, $zero, .L80912C6C
/* 025E4 80912C24 24C41C24 */ addiu $a0, $a2, 0x1C24 ## $a0 = 00001C24
/* 025E8 80912C28 C6260200 */ lwc1 $f6, 0x0200($s1) ## 00000200
/* 025EC 80912C2C 8E30011C */ lw $s0, 0x011C($s1) ## 0000011C
/* 025F0 80912C30 240B0008 */ addiu $t3, $zero, 0x0008 ## $t3 = 00000008
/* 025F4 80912C34 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 025F8 80912C38 C6280204 */ lwc1 $f8, 0x0204($s1) ## 00000204
/* 025FC 80912C3C 240C0001 */ addiu $t4, $zero, 0x0001 ## $t4 = 00000001
/* 02600 80912C40 240D0026 */ addiu $t5, $zero, 0x0026 ## $t5 = 00000026
/* 02604 80912C44 E7A80014 */ swc1 $f8, 0x0014($sp)
/* 02608 80912C48 C62A0208 */ lwc1 $f10, 0x0208($s1) ## 00000208
/* 0260C 80912C4C AFAD0028 */ sw $t5, 0x0028($sp)
/* 02610 80912C50 AFA00024 */ sw $zero, 0x0024($sp)
/* 02614 80912C54 AFAC0020 */ sw $t4, 0x0020($sp)
/* 02618 80912C58 AFAB001C */ sw $t3, 0x001C($sp)
/* 0261C 80912C5C 2407006D */ addiu $a3, $zero, 0x006D ## $a3 = 0000006D
/* 02620 80912C60 0C00C916 */ jal Actor_SpawnAsChild
/* 02624 80912C64 E7AA0018 */ swc1 $f10, 0x0018($sp)
/* 02628 80912C68 AE30011C */ sw $s0, 0x011C($s1) ## 0000011C
.L80912C6C:
/* 0262C 80912C6C 8FBF0064 */ lw $ra, 0x0064($sp)
/* 02630 80912C70 D7B40030 */ ldc1 $f20, 0x0030($sp)
/* 02634 80912C74 D7B60038 */ ldc1 $f22, 0x0038($sp)
/* 02638 80912C78 D7B80040 */ ldc1 $f24, 0x0040($sp)
/* 0263C 80912C7C D7BA0048 */ ldc1 $f26, 0x0048($sp)
/* 02640 80912C80 D7BC0050 */ ldc1 $f28, 0x0050($sp)
/* 02644 80912C84 8FB0005C */ lw $s0, 0x005C($sp)
/* 02648 80912C88 8FB10060 */ lw $s1, 0x0060($sp)
/* 0264C 80912C8C 03E00008 */ jr $ra
/* 02650 80912C90 27BD00E0 */ addiu $sp, $sp, 0x00E0 ## $sp = 00000000

View file

@ -1,42 +0,0 @@
glabel func_80912C94
/* 02654 80912C94 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 02658 80912C98 AFB00018 */ sw $s0, 0x0018($sp)
/* 0265C 80912C9C AFA50024 */ sw $a1, 0x0024($sp)
/* 02660 80912CA0 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 02664 80912CA4 AFBF001C */ sw $ra, 0x001C($sp)
/* 02668 80912CA8 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000
/* 0266C 80912CAC 24A5090C */ addiu $a1, $a1, 0x090C ## $a1 = 0600090C
/* 02670 80912CB0 0C02947A */ jal Animation_PlayOnce
/* 02674 80912CB4 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 02678 80912CB8 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000
/* 0267C 80912CBC 0C028800 */ jal Animation_GetLastFrame
/* 02680 80912CC0 2484090C */ addiu $a0, $a0, 0x090C ## $a0 = 0600090C
/* 02684 80912CC4 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
/* 02688 80912CC8 3C0E8091 */ lui $t6, %hi(func_80912D2C) ## $t6 = 80910000
/* 0268C 80912CCC 25CE2D2C */ addiu $t6, $t6, %lo(func_80912D2C) ## $t6 = 80912D2C
/* 02690 80912CD0 468021A0 */ cvt.s.w $f6, $f4
/* 02694 80912CD4 3C041001 */ lui $a0, 0x1001 ## $a0 = 10010000
/* 02698 80912CD8 AE0E0190 */ sw $t6, 0x0190($s0) ## 00000190
/* 0269C 80912CDC 348400FF */ ori $a0, $a0, 0x00FF ## $a0 = 100100FF
/* 026A0 80912CE0 0C03E803 */ jal Audio_SetBGM
/* 026A4 80912CE4 E60601D0 */ swc1 $f6, 0x01D0($s0) ## 000001D0
/* 026A8 80912CE8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 026AC 80912CEC 0C00BE0A */ jal Audio_PlayActorSound2
/* 026B0 80912CF0 240538AF */ addiu $a1, $zero, 0x38AF ## $a1 = 000038AF
/* 026B4 80912CF4 8E180004 */ lw $t8, 0x0004($s0) ## 00000004
/* 026B8 80912CF8 2401FFFE */ addiu $at, $zero, 0xFFFE ## $at = FFFFFFFE
/* 026BC 80912CFC 240F0001 */ addiu $t7, $zero, 0x0001 ## $t7 = 00000001
/* 026C0 80912D00 24080032 */ addiu $t0, $zero, 0x0032 ## $t0 = 00000032
/* 026C4 80912D04 0301C824 */ and $t9, $t8, $at
/* 026C8 80912D08 A60F035E */ sh $t7, 0x035E($s0) ## 0000035E
/* 026CC 80912D0C AE190004 */ sw $t9, 0x0004($s0) ## 00000004
/* 026D0 80912D10 A6000194 */ sh $zero, 0x0194($s0) ## 00000194
/* 026D4 80912D14 A20801C8 */ sb $t0, 0x01C8($s0) ## 000001C8
/* 026D8 80912D18 8FBF001C */ lw $ra, 0x001C($sp)
/* 026DC 80912D1C 8FB00018 */ lw $s0, 0x0018($sp)
/* 026E0 80912D20 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 026E4 80912D24 03E00008 */ jr $ra
/* 026E8 80912D28 00000000 */ nop

View file

@ -1,172 +0,0 @@
.rdata
glabel D_80915308
.asciz "hit != 0 \n"
.balign 4
.text
glabel func_80913C54
/* 03614 80913C54 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
/* 03618 80913C58 AFBF001C */ sw $ra, 0x001C($sp)
/* 0361C 80913C5C AFB00018 */ sw $s0, 0x0018($sp)
/* 03620 80913C60 AFA50034 */ sw $a1, 0x0034($sp)
/* 03624 80913C64 848201A0 */ lh $v0, 0x01A0($a0) ## 000001A0
/* 03628 80913C68 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 0362C 80913C6C 8C87011C */ lw $a3, 0x011C($a0) ## 0000011C
/* 03630 80913C70 10400007 */ beq $v0, $zero, .L80913C90
/* 03634 80913C74 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF
/* 03638 80913C78 908F04F1 */ lbu $t7, 0x04F1($a0) ## 000004F1
/* 0363C 80913C7C A48E01A0 */ sh $t6, 0x01A0($a0) ## 000001A0
/* 03640 80913C80 A08001C7 */ sb $zero, 0x01C7($a0) ## 000001C7
/* 03644 80913C84 31F8FFFD */ andi $t8, $t7, 0xFFFD ## $t8 = 00000000
/* 03648 80913C88 1000007B */ beq $zero, $zero, .L80913E78
/* 0364C 80913C8C A09804F1 */ sb $t8, 0x04F1($a0) ## 000004F1
.L80913C90:
/* 03650 80913C90 920304F1 */ lbu $v1, 0x04F1($s0) ## 000004F1
/* 03654 80913C94 30620002 */ andi $v0, $v1, 0x0002 ## $v0 = 00000000
/* 03658 80913C98 50400005 */ beql $v0, $zero, .L80913CB0
/* 0365C 80913C9C 920801C7 */ lbu $t0, 0x01C7($s0) ## 000001C7
/* 03660 80913CA0 821900AF */ lb $t9, 0x00AF($s0) ## 000000AF
/* 03664 80913CA4 1F200004 */ bgtz $t9, .L80913CB8
/* 03668 80913CA8 00000000 */ nop
/* 0366C 80913CAC 920801C7 */ lbu $t0, 0x01C7($s0) ## 000001C7
.L80913CB0:
/* 03670 80913CB0 51000072 */ beql $t0, $zero, .L80913E7C
/* 03674 80913CB4 8FBF001C */ lw $ra, 0x001C($sp)
.L80913CB8:
/* 03678 80913CB8 50400006 */ beql $v0, $zero, .L80913CD4
/* 0367C 80913CBC 920A01C9 */ lbu $t2, 0x01C9($s0) ## 000001C9
/* 03680 80913CC0 8E06051C */ lw $a2, 0x051C($s0) ## 0000051C
/* 03684 80913CC4 3069FFFD */ andi $t1, $v1, 0xFFFD ## $t1 = 00000000
/* 03688 80913CC8 A20904F1 */ sb $t1, 0x04F1($s0) ## 000004F1
/* 0368C 80913CCC AFA60024 */ sw $a2, 0x0024($sp)
/* 03690 80913CD0 920A01C9 */ lbu $t2, 0x01C9($s0) ## 000001C9
.L80913CD4:
/* 03694 80913CD4 8FA60024 */ lw $a2, 0x0024($sp)
/* 03698 80913CD8 11400055 */ beq $t2, $zero, .L80913E30
/* 0369C 80913CDC 00000000 */ nop
/* 036A0 80913CE0 50400014 */ beql $v0, $zero, .L80913D34
/* 036A4 80913CE4 8E180190 */ lw $t8, 0x0190($s0) ## 00000190
/* 036A8 80913CE8 8E0C0190 */ lw $t4, 0x0190($s0) ## 00000190
/* 036AC 80913CEC 3C0B8091 */ lui $t3, %hi(func_809122A4) ## $t3 = 80910000
/* 036B0 80913CF0 256B22A4 */ addiu $t3, $t3, %lo(func_809122A4) ## $t3 = 809122A4
/* 036B4 80913CF4 516C000F */ beql $t3, $t4, .L80913D34
/* 036B8 80913CF8 8E180190 */ lw $t8, 0x0190($s0) ## 00000190
/* 036BC 80913CFC 8CCD0000 */ lw $t5, 0x0000($a2) ## 00000000
/* 036C0 80913D00 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 036C4 80913D04 3421F8A4 */ ori $at, $at, 0xF8A4 ## $at = 0001F8A4
/* 036C8 80913D08 01A17024 */ and $t6, $t5, $at
/* 036CC 80913D0C 11C00008 */ beq $t6, $zero, .L80913D30
/* 036D0 80913D10 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 036D4 80913D14 0C00BE0A */ jal Audio_PlayActorSound2
/* 036D8 80913D18 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 036DC 80913D1C 3C048091 */ lui $a0, %hi(D_80915308) ## $a0 = 80910000
/* 036E0 80913D20 0C00084C */ jal osSyncPrintf
/* 036E4 80913D24 24845308 */ addiu $a0, $a0, %lo(D_80915308) ## $a0 = 80915308
/* 036E8 80913D28 10000053 */ beq $zero, $zero, .L80913E78
/* 036EC 80913D2C A20001C7 */ sb $zero, 0x01C7($s0) ## 000001C7
.L80913D30:
/* 036F0 80913D30 8E180190 */ lw $t8, 0x0190($s0) ## 00000190
.L80913D34:
/* 036F4 80913D34 3C0F8091 */ lui $t7, %hi(func_80912594) ## $t7 = 80910000
/* 036F8 80913D38 25EF2594 */ addiu $t7, $t7, %lo(func_80912594) ## $t7 = 80912594
/* 036FC 80913D3C 11F80038 */ beq $t7, $t8, .L80913E20
/* 03700 80913D40 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 03704 80913D44 921901C7 */ lbu $t9, 0x01C7($s0) ## 000001C7
/* 03708 80913D48 57200023 */ bnel $t9, $zero, .L80913DD8
/* 0370C 80913D4C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 03710 80913D50 8CC40000 */ lw $a0, 0x0000($a2) ## 00000000
/* 03714 80913D54 30880080 */ andi $t0, $a0, 0x0080 ## $t0 = 00000000
/* 03718 80913D58 55000048 */ bnel $t0, $zero, .L80913E7C
/* 0371C 80913D5C 8FBF001C */ lw $ra, 0x001C($sp)
/* 03720 80913D60 A3A00022 */ sb $zero, 0x0022($sp)
/* 03724 80913D64 0C018D74 */ jal CollisionCheck_GetSwordDamage
/* 03728 80913D68 AFA70028 */ sw $a3, 0x0028($sp)
/* 0372C 80913D6C 93A50022 */ lbu $a1, 0x0022($sp)
/* 03730 80913D70 8FA70028 */ lw $a3, 0x0028($sp)
/* 03734 80913D74 14400003 */ bne $v0, $zero, .L80913D84
/* 03738 80913D78 304400FF */ andi $a0, $v0, 0x00FF ## $a0 = 00000000
/* 0373C 80913D7C 10000002 */ beq $zero, $zero, .L80913D88
/* 03740 80913D80 24040002 */ addiu $a0, $zero, 0x0002 ## $a0 = 00000002
.L80913D84:
/* 03744 80913D84 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
.L80913D88:
/* 03748 80913D88 920300AF */ lbu $v1, 0x00AF($s0) ## 000000AF
/* 0374C 80913D8C 00031600 */ sll $v0, $v1, 24
/* 03750 80913D90 00021603 */ sra $v0, $v0, 24
/* 03754 80913D94 28410003 */ slti $at, $v0, 0x0003
/* 03758 80913D98 10200003 */ beq $at, $zero, .L80913DA8
/* 0375C 80913D9C 00644823 */ subu $t1, $v1, $a0
/* 03760 80913DA0 10A00003 */ beq $a1, $zero, .L80913DB0
/* 03764 80913DA4 00000000 */ nop
.L80913DA8:
/* 03768 80913DA8 A20900AF */ sb $t1, 0x00AF($s0) ## 000000AF
/* 0376C 80913DAC 820200AF */ lb $v0, 0x00AF($s0) ## 000000AF
.L80913DB0:
/* 03770 80913DB0 1C400008 */ bgtz $v0, .L80913DD4
/* 03774 80913DB4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 03778 80913DB8 0C244B25 */ jal func_80912C94
/* 0377C 80913DBC 8FA50034 */ lw $a1, 0x0034($sp)
/* 03780 80913DC0 8FA40034 */ lw $a0, 0x0034($sp)
/* 03784 80913DC4 0C00CB1F */ jal func_80032C7C
/* 03788 80913DC8 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 0378C 80913DCC 1000002B */ beq $zero, $zero, .L80913E7C
/* 03790 80913DD0 8FBF001C */ lw $ra, 0x001C($sp)
.L80913DD4:
/* 03794 80913DD4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
.L80913DD8:
/* 03798 80913DD8 8FA50034 */ lw $a1, 0x0034($sp)
/* 0379C 80913DDC 0C244878 */ jal func_809121E0
/* 037A0 80913DE0 AFA70028 */ sw $a3, 0x0028($sp)
/* 037A4 80913DE4 920A01C7 */ lbu $t2, 0x01C7($s0) ## 000001C7
/* 037A8 80913DE8 8FA70028 */ lw $a3, 0x0028($sp)
/* 037AC 80913DEC 240C000A */ addiu $t4, $zero, 0x000A ## $t4 = 0000000A
/* 037B0 80913DF0 29410002 */ slti $at, $t2, 0x0002
/* 037B4 80913DF4 14200003 */ bne $at, $zero, .L80913E04
/* 037B8 80913DF8 240D0014 */ addiu $t5, $zero, 0x0014 ## $t5 = 00000014
/* 037BC 80913DFC 240B0078 */ addiu $t3, $zero, 0x0078 ## $t3 = 00000078
/* 037C0 80913E00 A60B01BC */ sh $t3, 0x01BC($s0) ## 000001BC
.L80913E04:
/* 037C4 80913E04 A60C01A0 */ sh $t4, 0x01A0($s0) ## 000001A0
/* 037C8 80913E08 A4ED01DE */ sh $t5, 0x01DE($a3) ## 000001DE
/* 037CC 80913E0C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 037D0 80913E10 0C00BE0A */ jal Audio_PlayActorSound2
/* 037D4 80913E14 240538AE */ addiu $a1, $zero, 0x38AE ## $a1 = 000038AE
/* 037D8 80913E18 10000017 */ beq $zero, $zero, .L80913E78
/* 037DC 80913E1C A20001C7 */ sb $zero, 0x01C7($s0) ## 000001C7
.L80913E20:
/* 037E0 80913E20 0C00BE0A */ jal Audio_PlayActorSound2
/* 037E4 80913E24 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 037E8 80913E28 10000013 */ beq $zero, $zero, .L80913E78
/* 037EC 80913E2C A20001C7 */ sb $zero, 0x01C7($s0) ## 000001C7
.L80913E30:
/* 037F0 80913E30 50400011 */ beql $v0, $zero, .L80913E78
/* 037F4 80913E34 A20001C7 */ sb $zero, 0x01C7($s0) ## 000001C7
/* 037F8 80913E38 8CCE0000 */ lw $t6, 0x0000($a2) ## 00000000
/* 037FC 80913E3C 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 03800 80913E40 3421F8A4 */ ori $at, $at, 0xF8A4 ## $at = 0001F8A4
/* 03804 80913E44 01C17824 */ and $t7, $t6, $at
/* 03808 80913E48 11E0000A */ beq $t7, $zero, .L80913E74
/* 0380C 80913E4C 2418000A */ addiu $t8, $zero, 0x000A ## $t8 = 0000000A
/* 03810 80913E50 921900AF */ lbu $t9, 0x00AF($s0) ## 000000AF
/* 03814 80913E54 A61801A0 */ sh $t8, 0x01A0($s0) ## 000001A0
/* 03818 80913E58 24090014 */ addiu $t1, $zero, 0x0014 ## $t1 = 00000014
/* 0381C 80913E5C 2728FFFE */ addiu $t0, $t9, 0xFFFE ## $t0 = FFFFFFFE
/* 03820 80913E60 A20800AF */ sb $t0, 0x00AF($s0) ## 000000AF
/* 03824 80913E64 A4E901DE */ sh $t1, 0x01DE($a3) ## 000001DE
/* 03828 80913E68 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 0382C 80913E6C 0C00BE0A */ jal Audio_PlayActorSound2
/* 03830 80913E70 240538AE */ addiu $a1, $zero, 0x38AE ## $a1 = 000038AE
.L80913E74:
/* 03834 80913E74 A20001C7 */ sb $zero, 0x01C7($s0) ## 000001C7
.L80913E78:
/* 03838 80913E78 8FBF001C */ lw $ra, 0x001C($sp)
.L80913E7C:
/* 0383C 80913E7C 8FB00018 */ lw $s0, 0x0018($sp)
/* 03840 80913E80 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
/* 03844 80913E84 03E00008 */ jr $ra
/* 03848 80913E88 00000000 */ nop

View file

@ -1,295 +0,0 @@
.late_rodata
glabel jtbl_80A3F02C
.word L809145BC
.word L809145BC
.word L809145BC
.word L80914610
.word L80914610
.word L80914610
.word L80914678
.word L80914678
.word L80914664
.word L80914678
.word L8091430C
.word L80914678
.word L80914678
.word L80914678
.word L80914394
.word L809143F0
.word L8091444C
.word L80914678
.word L809144A8
.word L80914504
.word L80914560
.text
glabel func_809142E0
/* 03CA0 809142E0 24AEFFFB */ addiu $t6, $a1, 0xFFFB ## $t6 = FFFFFFFB
/* 03CA4 809142E4 2DC10015 */ sltiu $at, $t6, 0x0015
/* 03CA8 809142E8 AFA40000 */ sw $a0, 0x0000($sp)
/* 03CAC 809142EC 102000E2 */ beq $at, $zero, .L80914678
/* 03CB0 809142F0 AFA7000C */ sw $a3, 0x000C($sp)
/* 03CB4 809142F4 000E7080 */ sll $t6, $t6, 2
/* 03CB8 809142F8 3C018091 */ lui $at, %hi(jtbl_80A3F02C) ## $at = 80910000
/* 03CBC 809142FC 002E0821 */ addu $at, $at, $t6
/* 03CC0 80914300 8C2E54C4 */ lw $t6, %lo(jtbl_80A3F02C)($at)
/* 03CC4 80914304 01C00008 */ jr $t6
/* 03CC8 80914308 00000000 */ nop
glabel L8091430C
/* 03CCC 8091430C 8FA20014 */ lw $v0, 0x0014($sp)
/* 03CD0 80914310 3C0F8091 */ lui $t7, %hi(func_80910DCC) ## $t7 = 80910000
/* 03CD4 80914314 25EF0DCC */ addiu $t7, $t7, %lo(func_80910DCC) ## $t7 = 80910DCC
/* 03CD8 80914318 8C580190 */ lw $t8, 0x0190($v0) ## 00000190
/* 03CDC 8091431C 55F80008 */ bnel $t7, $t8, .L80914340
/* 03CE0 80914320 8FA30010 */ lw $v1, 0x0010($sp)
/* 03CE4 80914324 845901A8 */ lh $t9, 0x01A8($v0) ## 000001A8
/* 03CE8 80914328 3C080600 */ lui $t0, 0x0600 ## $t0 = 06000000
/* 03CEC 8091432C 25084EC0 */ addiu $t0, $t0, 0x4EC0 ## $t0 = 06004EC0
/* 03CF0 80914330 53200003 */ beql $t9, $zero, .L80914340
/* 03CF4 80914334 8FA30010 */ lw $v1, 0x0010($sp)
/* 03CF8 80914338 ACC80000 */ sw $t0, 0x0000($a2) ## 00000000
/* 03CFC 8091433C 8FA30010 */ lw $v1, 0x0010($sp)
.L80914340:
/* 03D00 80914340 00054880 */ sll $t1, $a1, 2
/* 03D04 80914344 00492021 */ addu $a0, $v0, $t1
/* 03D08 80914348 846A0002 */ lh $t2, 0x0002($v1) ## 00000002
/* 03D0C 8091434C C4880454 */ lwc1 $f8, 0x0454($a0) ## 00000454
/* 03D10 80914350 846D0004 */ lh $t5, 0x0004($v1) ## 00000004
/* 03D14 80914354 448A2000 */ mtc1 $t2, $f4 ## $f4 = 0.00
/* 03D18 80914358 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
/* 03D1C 8091435C 448D9000 */ mtc1 $t5, $f18 ## $f18 = 0.00
/* 03D20 80914360 468021A0 */ cvt.s.w $f6, $f4
/* 03D24 80914364 46809120 */ cvt.s.w $f4, $f18
/* 03D28 80914368 46083280 */ add.s $f10, $f6, $f8
/* 03D2C 8091436C 4600540D */ trunc.w.s $f16, $f10
/* 03D30 80914370 440C8000 */ mfc1 $t4, $f16
/* 03D34 80914374 00000000 */ nop
/* 03D38 80914378 A46C0002 */ sh $t4, 0x0002($v1) ## 00000002
/* 03D3C 8091437C C48603DC */ lwc1 $f6, 0x03DC($a0) ## 000003DC
/* 03D40 80914380 46062200 */ add.s $f8, $f4, $f6
/* 03D44 80914384 4600428D */ trunc.w.s $f10, $f8
/* 03D48 80914388 440F5000 */ mfc1 $t7, $f10
/* 03D4C 8091438C 03E00008 */ jr $ra
/* 03D50 80914390 A46F0004 */ sh $t7, 0x0004($v1) ## 00000004
glabel L80914394
/* 03D54 80914394 8FA30010 */ lw $v1, 0x0010($sp)
/* 03D58 80914398 8FA20014 */ lw $v0, 0x0014($sp)
/* 03D5C 8091439C 84780002 */ lh $t8, 0x0002($v1) ## 00000002
/* 03D60 809143A0 C45003C8 */ lwc1 $f16, 0x03C8($v0) ## 000003C8
/* 03D64 809143A4 C45203D0 */ lwc1 $f18, 0x03D0($v0) ## 000003D0
/* 03D68 809143A8 44983000 */ mtc1 $t8, $f6 ## $f6 = 0.00
/* 03D6C 809143AC 84690004 */ lh $t1, 0x0004($v1) ## 00000004
/* 03D70 809143B0 46128100 */ add.s $f4, $f16, $f18
/* 03D74 809143B4 44899000 */ mtc1 $t1, $f18 ## $f18 = 0.00
/* 03D78 809143B8 46803220 */ cvt.s.w $f8, $f6
/* 03D7C 809143BC 468091A0 */ cvt.s.w $f6, $f18
/* 03D80 809143C0 46044280 */ add.s $f10, $f8, $f4
/* 03D84 809143C4 4600540D */ trunc.w.s $f16, $f10
/* 03D88 809143C8 44088000 */ mfc1 $t0, $f16
/* 03D8C 809143CC 00000000 */ nop
/* 03D90 809143D0 A4680002 */ sh $t0, 0x0002($v1) ## 00000002
/* 03D94 809143D4 C44803CC */ lwc1 $f8, 0x03CC($v0) ## 000003CC
/* 03D98 809143D8 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
/* 03D9C 809143DC 46083100 */ add.s $f4, $f6, $f8
/* 03DA0 809143E0 4600228D */ trunc.w.s $f10, $f4
/* 03DA4 809143E4 440B5000 */ mfc1 $t3, $f10
/* 03DA8 809143E8 03E00008 */ jr $ra
/* 03DAC 809143EC A46B0004 */ sh $t3, 0x0004($v1) ## 00000004
glabel L809143F0
/* 03DB0 809143F0 8FA30010 */ lw $v1, 0x0010($sp)
/* 03DB4 809143F4 8FA20014 */ lw $v0, 0x0014($sp)
/* 03DB8 809143F8 846C0002 */ lh $t4, 0x0002($v1) ## 00000002
/* 03DBC 809143FC C45003C8 */ lwc1 $f16, 0x03C8($v0) ## 000003C8
/* 03DC0 80914400 C45203D0 */ lwc1 $f18, 0x03D0($v0) ## 000003D0
/* 03DC4 80914404 448C4000 */ mtc1 $t4, $f8 ## $f8 = 0.00
/* 03DC8 80914408 846F0004 */ lh $t7, 0x0004($v1) ## 00000004
/* 03DCC 8091440C 46128180 */ add.s $f6, $f16, $f18
/* 03DD0 80914410 448F9000 */ mtc1 $t7, $f18 ## $f18 = 0.00
/* 03DD4 80914414 46804120 */ cvt.s.w $f4, $f8
/* 03DD8 80914418 46809220 */ cvt.s.w $f8, $f18
/* 03DDC 8091441C 46062280 */ add.s $f10, $f4, $f6
/* 03DE0 80914420 4600540D */ trunc.w.s $f16, $f10
/* 03DE4 80914424 440E8000 */ mfc1 $t6, $f16
/* 03DE8 80914428 00000000 */ nop
/* 03DEC 8091442C A46E0002 */ sh $t6, 0x0002($v1) ## 00000002
/* 03DF0 80914430 C44403CC */ lwc1 $f4, 0x03CC($v0) ## 000003CC
/* 03DF4 80914434 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
/* 03DF8 80914438 46044180 */ add.s $f6, $f8, $f4
/* 03DFC 8091443C 4600328D */ trunc.w.s $f10, $f6
/* 03E00 80914440 44195000 */ mfc1 $t9, $f10
/* 03E04 80914444 03E00008 */ jr $ra
/* 03E08 80914448 A4790004 */ sh $t9, 0x0004($v1) ## 00000004
glabel L8091444C
/* 03E0C 8091444C 8FA30010 */ lw $v1, 0x0010($sp)
/* 03E10 80914450 8FA20014 */ lw $v0, 0x0014($sp)
/* 03E14 80914454 84680002 */ lh $t0, 0x0002($v1) ## 00000002
/* 03E18 80914458 C45003C8 */ lwc1 $f16, 0x03C8($v0) ## 000003C8
/* 03E1C 8091445C C45203D0 */ lwc1 $f18, 0x03D0($v0) ## 000003D0
/* 03E20 80914460 44882000 */ mtc1 $t0, $f4 ## $f4 = 0.00
/* 03E24 80914464 846B0004 */ lh $t3, 0x0004($v1) ## 00000004
/* 03E28 80914468 46128200 */ add.s $f8, $f16, $f18
/* 03E2C 8091446C 448B9000 */ mtc1 $t3, $f18 ## $f18 = 0.00
/* 03E30 80914470 468021A0 */ cvt.s.w $f6, $f4
/* 03E34 80914474 46809120 */ cvt.s.w $f4, $f18
/* 03E38 80914478 46083280 */ add.s $f10, $f6, $f8
/* 03E3C 8091447C 4600540D */ trunc.w.s $f16, $f10
/* 03E40 80914480 440A8000 */ mfc1 $t2, $f16
/* 03E44 80914484 00000000 */ nop
/* 03E48 80914488 A46A0002 */ sh $t2, 0x0002($v1) ## 00000002
/* 03E4C 8091448C C44603CC */ lwc1 $f6, 0x03CC($v0) ## 000003CC
/* 03E50 80914490 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
/* 03E54 80914494 46062200 */ add.s $f8, $f4, $f6
/* 03E58 80914498 4600428D */ trunc.w.s $f10, $f8
/* 03E5C 8091449C 440D5000 */ mfc1 $t5, $f10
/* 03E60 809144A0 03E00008 */ jr $ra
/* 03E64 809144A4 A46D0004 */ sh $t5, 0x0004($v1) ## 00000004
glabel L809144A8
/* 03E68 809144A8 8FA30010 */ lw $v1, 0x0010($sp)
/* 03E6C 809144AC 8FA20014 */ lw $v0, 0x0014($sp)
/* 03E70 809144B0 846E0002 */ lh $t6, 0x0002($v1) ## 00000002
/* 03E74 809144B4 C45003C8 */ lwc1 $f16, 0x03C8($v0) ## 000003C8
/* 03E78 809144B8 C45203D0 */ lwc1 $f18, 0x03D0($v0) ## 000003D0
/* 03E7C 809144BC 448E3000 */ mtc1 $t6, $f6 ## $f6 = 0.00
/* 03E80 809144C0 84790004 */ lh $t9, 0x0004($v1) ## 00000004
/* 03E84 809144C4 46128101 */ sub.s $f4, $f16, $f18
/* 03E88 809144C8 44999000 */ mtc1 $t9, $f18 ## $f18 = 0.00
/* 03E8C 809144CC 46803220 */ cvt.s.w $f8, $f6
/* 03E90 809144D0 468091A0 */ cvt.s.w $f6, $f18
/* 03E94 809144D4 46044280 */ add.s $f10, $f8, $f4
/* 03E98 809144D8 4600540D */ trunc.w.s $f16, $f10
/* 03E9C 809144DC 44188000 */ mfc1 $t8, $f16
/* 03EA0 809144E0 00000000 */ nop
/* 03EA4 809144E4 A4780002 */ sh $t8, 0x0002($v1) ## 00000002
/* 03EA8 809144E8 C44803CC */ lwc1 $f8, 0x03CC($v0) ## 000003CC
/* 03EAC 809144EC 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
/* 03EB0 809144F0 46083100 */ add.s $f4, $f6, $f8
/* 03EB4 809144F4 4600228D */ trunc.w.s $f10, $f4
/* 03EB8 809144F8 44095000 */ mfc1 $t1, $f10
/* 03EBC 809144FC 03E00008 */ jr $ra
/* 03EC0 80914500 A4690004 */ sh $t1, 0x0004($v1) ## 00000004
glabel L80914504
/* 03EC4 80914504 8FA30010 */ lw $v1, 0x0010($sp)
/* 03EC8 80914508 8FA20014 */ lw $v0, 0x0014($sp)
/* 03ECC 8091450C 846A0002 */ lh $t2, 0x0002($v1) ## 00000002
/* 03ED0 80914510 C45003C8 */ lwc1 $f16, 0x03C8($v0) ## 000003C8
/* 03ED4 80914514 C45203D0 */ lwc1 $f18, 0x03D0($v0) ## 000003D0
/* 03ED8 80914518 448A4000 */ mtc1 $t2, $f8 ## $f8 = 0.00
/* 03EDC 8091451C 846D0004 */ lh $t5, 0x0004($v1) ## 00000004
/* 03EE0 80914520 46128181 */ sub.s $f6, $f16, $f18
/* 03EE4 80914524 448D9000 */ mtc1 $t5, $f18 ## $f18 = 0.00
/* 03EE8 80914528 46804120 */ cvt.s.w $f4, $f8
/* 03EEC 8091452C 46809220 */ cvt.s.w $f8, $f18
/* 03EF0 80914530 46062280 */ add.s $f10, $f4, $f6
/* 03EF4 80914534 4600540D */ trunc.w.s $f16, $f10
/* 03EF8 80914538 440C8000 */ mfc1 $t4, $f16
/* 03EFC 8091453C 00000000 */ nop
/* 03F00 80914540 A46C0002 */ sh $t4, 0x0002($v1) ## 00000002
/* 03F04 80914544 C44403CC */ lwc1 $f4, 0x03CC($v0) ## 000003CC
/* 03F08 80914548 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
/* 03F0C 8091454C 46044180 */ add.s $f6, $f8, $f4
/* 03F10 80914550 4600328D */ trunc.w.s $f10, $f6
/* 03F14 80914554 440F5000 */ mfc1 $t7, $f10
/* 03F18 80914558 03E00008 */ jr $ra
/* 03F1C 8091455C A46F0004 */ sh $t7, 0x0004($v1) ## 00000004
glabel L80914560
/* 03F20 80914560 8FA30010 */ lw $v1, 0x0010($sp)
/* 03F24 80914564 8FA20014 */ lw $v0, 0x0014($sp)
/* 03F28 80914568 84780002 */ lh $t8, 0x0002($v1) ## 00000002
/* 03F2C 8091456C C45003C8 */ lwc1 $f16, 0x03C8($v0) ## 000003C8
/* 03F30 80914570 C45203D0 */ lwc1 $f18, 0x03D0($v0) ## 000003D0
/* 03F34 80914574 44982000 */ mtc1 $t8, $f4 ## $f4 = 0.00
/* 03F38 80914578 84690004 */ lh $t1, 0x0004($v1) ## 00000004
/* 03F3C 8091457C 46128201 */ sub.s $f8, $f16, $f18
/* 03F40 80914580 44899000 */ mtc1 $t1, $f18 ## $f18 = 0.00
/* 03F44 80914584 468021A0 */ cvt.s.w $f6, $f4
/* 03F48 80914588 46809120 */ cvt.s.w $f4, $f18
/* 03F4C 8091458C 46083280 */ add.s $f10, $f6, $f8
/* 03F50 80914590 4600540D */ trunc.w.s $f16, $f10
/* 03F54 80914594 44088000 */ mfc1 $t0, $f16
/* 03F58 80914598 00000000 */ nop
/* 03F5C 8091459C A4680002 */ sh $t0, 0x0002($v1) ## 00000002
/* 03F60 809145A0 C44603CC */ lwc1 $f6, 0x03CC($v0) ## 000003CC
/* 03F64 809145A4 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
/* 03F68 809145A8 46062200 */ add.s $f8, $f4, $f6
/* 03F6C 809145AC 4600428D */ trunc.w.s $f10, $f8
/* 03F70 809145B0 440B5000 */ mfc1 $t3, $f10
/* 03F74 809145B4 03E00008 */ jr $ra
/* 03F78 809145B8 A46B0004 */ sh $t3, 0x0004($v1) ## 00000004
glabel L809145BC
/* 03F7C 809145BC 8FA30010 */ lw $v1, 0x0010($sp)
/* 03F80 809145C0 8FA20014 */ lw $v0, 0x0014($sp)
/* 03F84 809145C4 846C0002 */ lh $t4, 0x0002($v1) ## 00000002
/* 03F88 809145C8 C44403D4 */ lwc1 $f4, 0x03D4($v0) ## 000003D4
/* 03F8C 809145CC 846F0004 */ lh $t7, 0x0004($v1) ## 00000004
/* 03F90 809145D0 448C8000 */ mtc1 $t4, $f16 ## $f16 = 0.00
/* 03F94 809145D4 448F5000 */ mtc1 $t7, $f10 ## $f10 = 0.00
/* 03F98 809145D8 468084A0 */ cvt.s.w $f18, $f16
/* 03F9C 809145DC 46805420 */ cvt.s.w $f16, $f10
/* 03FA0 809145E0 46049180 */ add.s $f6, $f18, $f4
/* 03FA4 809145E4 4600320D */ trunc.w.s $f8, $f6
/* 03FA8 809145E8 440E4000 */ mfc1 $t6, $f8
/* 03FAC 809145EC 00000000 */ nop
/* 03FB0 809145F0 A46E0002 */ sh $t6, 0x0002($v1) ## 00000002
/* 03FB4 809145F4 C45203D8 */ lwc1 $f18, 0x03D8($v0) ## 000003D8
/* 03FB8 809145F8 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
/* 03FBC 809145FC 46128100 */ add.s $f4, $f16, $f18
/* 03FC0 80914600 4600218D */ trunc.w.s $f6, $f4
/* 03FC4 80914604 44193000 */ mfc1 $t9, $f6
/* 03FC8 80914608 03E00008 */ jr $ra
/* 03FCC 8091460C A4790004 */ sh $t9, 0x0004($v1) ## 00000004
glabel L80914610
/* 03FD0 80914610 8FA30010 */ lw $v1, 0x0010($sp)
/* 03FD4 80914614 8FA20014 */ lw $v0, 0x0014($sp)
/* 03FD8 80914618 84680002 */ lh $t0, 0x0002($v1) ## 00000002
/* 03FDC 8091461C C45003D4 */ lwc1 $f16, 0x03D4($v0) ## 000003D4
/* 03FE0 80914620 846B0004 */ lh $t3, 0x0004($v1) ## 00000004
/* 03FE4 80914624 44884000 */ mtc1 $t0, $f8 ## $f8 = 0.00
/* 03FE8 80914628 448B3000 */ mtc1 $t3, $f6 ## $f6 = 0.00
/* 03FEC 8091462C 468042A0 */ cvt.s.w $f10, $f8
/* 03FF0 80914630 46803220 */ cvt.s.w $f8, $f6
/* 03FF4 80914634 46105480 */ add.s $f18, $f10, $f16
/* 03FF8 80914638 4600910D */ trunc.w.s $f4, $f18
/* 03FFC 8091463C 440A2000 */ mfc1 $t2, $f4
/* 04000 80914640 00000000 */ nop
/* 04004 80914644 A46A0002 */ sh $t2, 0x0002($v1) ## 00000002
/* 04008 80914648 C44A03D8 */ lwc1 $f10, 0x03D8($v0) ## 000003D8
/* 0400C 8091464C 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
/* 04010 80914650 460A4400 */ add.s $f16, $f8, $f10
/* 04014 80914654 4600848D */ trunc.w.s $f18, $f16
/* 04018 80914658 440D9000 */ mfc1 $t5, $f18
/* 0401C 8091465C 03E00008 */ jr $ra
/* 04020 80914660 A46D0004 */ sh $t5, 0x0004($v1) ## 00000004
glabel L80914664
/* 04024 80914664 8FA20014 */ lw $v0, 0x0014($sp)
/* 04028 80914668 844E035E */ lh $t6, 0x035E($v0) ## 0000035E
/* 0402C 8091466C 51C00003 */ beql $t6, $zero, .L8091467C
/* 04030 80914670 8FA30010 */ lw $v1, 0x0010($sp)
/* 04034 80914674 ACC00000 */ sw $zero, 0x0000($a2) ## 00000000
glabel L80914678
.L80914678:
/* 04038 80914678 8FA30010 */ lw $v1, 0x0010($sp)
.L8091467C:
/* 0403C 8091467C 8FA20014 */ lw $v0, 0x0014($sp)
/* 04040 80914680 00057880 */ sll $t7, $a1, 2
/* 04044 80914684 84780002 */ lh $t8, 0x0002($v1) ## 00000002
/* 04048 80914688 004F2021 */ addu $a0, $v0, $t7
/* 0404C 8091468C C4880454 */ lwc1 $f8, 0x0454($a0) ## 00000454
/* 04050 80914690 44982000 */ mtc1 $t8, $f4 ## $f4 = 0.00
/* 04054 80914694 84690004 */ lh $t1, 0x0004($v1) ## 00000004
/* 04058 80914698 468021A0 */ cvt.s.w $f6, $f4
/* 0405C 8091469C 44899000 */ mtc1 $t1, $f18 ## $f18 = 0.00
/* 04060 809146A0 00000000 */ nop
/* 04064 809146A4 46809120 */ cvt.s.w $f4, $f18
/* 04068 809146A8 46083280 */ add.s $f10, $f6, $f8
/* 0406C 809146AC 4600540D */ trunc.w.s $f16, $f10
/* 04070 809146B0 44088000 */ mfc1 $t0, $f16
/* 04074 809146B4 00000000 */ nop
/* 04078 809146B8 A4680002 */ sh $t0, 0x0002($v1) ## 00000002
/* 0407C 809146BC C48603DC */ lwc1 $f6, 0x03DC($a0) ## 000003DC
/* 04080 809146C0 46062200 */ add.s $f8, $f4, $f6
/* 04084 809146C4 4600428D */ trunc.w.s $f10, $f8
/* 04088 809146C8 440B5000 */ mfc1 $t3, $f10
/* 0408C 809146CC 00000000 */ nop
/* 04090 809146D0 A46B0004 */ sh $t3, 0x0004($v1) ## 00000004
/* 04094 809146D4 03E00008 */ jr $ra
/* 04098 809146D8 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000

View file

@ -1,55 +0,0 @@
glabel func_809146DC
/* 0409C 809146DC 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 040A0 809146E0 AFA60020 */ sw $a2, 0x0020($sp)
/* 040A4 809146E4 2401000E */ addiu $at, $zero, 0x000E ## $at = 0000000E
/* 040A8 809146E8 00A03025 */ or $a2, $a1, $zero ## $a2 = 00000000
/* 040AC 809146EC AFBF0014 */ sw $ra, 0x0014($sp)
/* 040B0 809146F0 AFA40018 */ sw $a0, 0x0018($sp)
/* 040B4 809146F4 AFA5001C */ sw $a1, 0x001C($sp)
/* 040B8 809146F8 14A10009 */ bne $a1, $at, .L80914720
/* 040BC 809146FC AFA70024 */ sw $a3, 0x0024($sp)
/* 040C0 80914700 8FA50028 */ lw $a1, 0x0028($sp)
/* 040C4 80914704 3C048091 */ lui $a0, %hi(D_80915120) ## $a0 = 80910000
/* 040C8 80914708 24845120 */ addiu $a0, $a0, %lo(D_80915120) ## $a0 = 80915120
/* 040CC 8091470C AFA6001C */ sw $a2, 0x001C($sp)
/* 040D0 80914710 0C0346BD */ jal Matrix_MultVec3f
/* 040D4 80914714 24A5020C */ addiu $a1, $a1, 0x020C ## $a1 = 0000020C
/* 040D8 80914718 1000000A */ beq $zero, $zero, .L80914744
/* 040DC 8091471C 8FA6001C */ lw $a2, 0x001C($sp)
.L80914720:
/* 040E0 80914720 2401000D */ addiu $at, $zero, 0x000D ## $at = 0000000D
/* 040E4 80914724 14C10007 */ bne $a2, $at, .L80914744
/* 040E8 80914728 3C048091 */ lui $a0, %hi(D_8091512C) ## $a0 = 80910000
/* 040EC 8091472C 8FA50028 */ lw $a1, 0x0028($sp)
/* 040F0 80914730 2484512C */ addiu $a0, $a0, %lo(D_8091512C) ## $a0 = 8091512C
/* 040F4 80914734 AFA6001C */ sw $a2, 0x001C($sp)
/* 040F8 80914738 0C0346BD */ jal Matrix_MultVec3f
/* 040FC 8091473C 24A50200 */ addiu $a1, $a1, 0x0200 ## $a1 = 00000200
/* 04100 80914740 8FA6001C */ lw $a2, 0x001C($sp)
.L80914744:
/* 04104 80914744 8FA20028 */ lw $v0, 0x0028($sp)
/* 04108 80914748 28C1001A */ slti $at, $a2, 0x001A
/* 0410C 8091474C 904E01C9 */ lbu $t6, 0x01C9($v0) ## 000001C9
/* 04110 80914750 15C00006 */ bne $t6, $zero, .L8091476C
/* 04114 80914754 00000000 */ nop
/* 04118 80914758 8C580190 */ lw $t8, 0x0190($v0) ## 00000190
/* 0411C 8091475C 3C0F8091 */ lui $t7, %hi(func_80910DCC) ## $t7 = 80910000
/* 04120 80914760 25EF0DCC */ addiu $t7, $t7, %lo(func_80910DCC) ## $t7 = 80910DCC
/* 04124 80914764 55F8000B */ bnel $t7, $t8, .L80914794
/* 04128 80914768 8FBF0014 */ lw $ra, 0x0014($sp)
.L8091476C:
/* 0412C 8091476C 10200008 */ beq $at, $zero, .L80914790
/* 04130 80914770 3C048091 */ lui $a0, %hi(D_80915120) ## $a0 = 80910000
/* 04134 80914774 0006C880 */ sll $t9, $a2, 2
/* 04138 80914778 0326C823 */ subu $t9, $t9, $a2
/* 0413C 8091477C 0019C880 */ sll $t9, $t9, 2
/* 04140 80914780 00592821 */ addu $a1, $v0, $t9
/* 04144 80914784 24A5020C */ addiu $a1, $a1, 0x020C ## $a1 = 0000020C
/* 04148 80914788 0C0346BD */ jal Matrix_MultVec3f
/* 0414C 8091478C 24845120 */ addiu $a0, $a0, %lo(D_80915120) ## $a0 = 80915120
.L80914790:
/* 04150 80914790 8FBF0014 */ lw $ra, 0x0014($sp)
.L80914794:
/* 04154 80914794 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 04158 80914798 03E00008 */ jr $ra
/* 0415C 8091479C 00000000 */ nop

View file

@ -1,32 +0,0 @@
glabel func_809147A0
/* 04160 809147A0 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 04164 809147A4 AFBF0014 */ sw $ra, 0x0014($sp)
/* 04168 809147A8 0C031A73 */ jal Graph_Alloc
/* 0416C 809147AC 24050020 */ addiu $a1, $zero, 0x0020 ## $a1 = 00000020
/* 04170 809147B0 3C0EE700 */ lui $t6, 0xE700 ## $t6 = E7000000
/* 04174 809147B4 00402825 */ or $a1, $v0, $zero ## $a1 = 00000000
/* 04178 809147B8 AC4E0000 */ sw $t6, 0x0000($v0) ## 00000000
/* 0417C 809147BC 24440008 */ addiu $a0, $v0, 0x0008 ## $a0 = 00000008
/* 04180 809147C0 AC400004 */ sw $zero, 0x0004($v0) ## 00000004
/* 04184 809147C4 00801025 */ or $v0, $a0, $zero ## $v0 = 00000008
/* 04188 809147C8 3C0FE200 */ lui $t7, 0xE200 ## $t7 = E2000000
/* 0418C 809147CC 3C18C811 */ lui $t8, 0xC811 ## $t8 = C8110000
/* 04190 809147D0 37183078 */ ori $t8, $t8, 0x3078 ## $t8 = C8113078
/* 04194 809147D4 35EF001C */ ori $t7, $t7, 0x001C ## $t7 = E200001C
/* 04198 809147D8 AC4F0000 */ sw $t7, 0x0000($v0) ## 00000008
/* 0419C 809147DC AC580004 */ sw $t8, 0x0004($v0) ## 0000000C
/* 041A0 809147E0 24840008 */ addiu $a0, $a0, 0x0008 ## $a0 = 00000010
/* 041A4 809147E4 00801025 */ or $v0, $a0, $zero ## $v0 = 00000010
/* 041A8 809147E8 3C19D9FF */ lui $t9, 0xD9FF ## $t9 = D9FF0000
/* 041AC 809147EC 3739FBFF */ ori $t9, $t9, 0xFBFF ## $t9 = D9FFFBFF
/* 041B0 809147F0 AC590000 */ sw $t9, 0x0000($v0) ## 00000010
/* 041B4 809147F4 AC400004 */ sw $zero, 0x0004($v0) ## 00000014
/* 041B8 809147F8 3C08DF00 */ lui $t0, 0xDF00 ## $t0 = DF000000
/* 041BC 809147FC AC880008 */ sw $t0, 0x0008($a0) ## 00000018
/* 041C0 80914800 AC80000C */ sw $zero, 0x000C($a0) ## 0000001C
/* 041C4 80914804 8FBF0014 */ lw $ra, 0x0014($sp)
/* 041C8 80914808 24840008 */ addiu $a0, $a0, 0x0008 ## $a0 = 00000018
/* 041CC 8091480C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 041D0 80914810 03E00008 */ jr $ra
/* 041D4 80914814 00A01025 */ or $v0, $a1, $zero ## $v0 = 00000000

View file

@ -1,13 +0,0 @@
glabel func_80914818
/* 041D8 80914818 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 041DC 8091481C AFBF0014 */ sw $ra, 0x0014($sp)
/* 041E0 80914820 0C031A73 */ jal Graph_Alloc
/* 041E4 80914824 24050008 */ addiu $a1, $zero, 0x0008 ## $a1 = 00000008
/* 041E8 80914828 3C0EDF00 */ lui $t6, 0xDF00 ## $t6 = DF000000
/* 041EC 8091482C AC4E0000 */ sw $t6, 0x0000($v0) ## 00000000
/* 041F0 80914830 AC400004 */ sw $zero, 0x0004($v0) ## 00000004
/* 041F4 80914834 8FBF0014 */ lw $ra, 0x0014($sp)
/* 041F8 80914838 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 041FC 8091483C 03E00008 */ jr $ra
/* 04200 80914840 00000000 */ nop

View file

@ -1,955 +0,0 @@
.rdata
glabel D_80A118AC
.asciz "F_FIRE_MODE %d\n"
.balign 4
glabel D_80A118BC
.asciz "fly_mode %d\n"
.balign 4
glabel D_80A118CC
.asciz "BEFORE setAC %d\n"
.balign 4
glabel D_80A118E0
.asciz "AFTER setAC\n"
.balign 4
glabel D_80A118F0
.asciz " %d\n"
.balign 4
.late_rodata
glabel D_80A119DC
.word 0x469C4000
glabel D_80A119E0
.word 0xBDA3D70A
glabel D_80A119E4
.word 0x4622F983
glabel D_80A119E8
.word 0x4622F983
glabel D_80A119EC
.word 0x4622F983
glabel D_80A119F0
.word 0x4622F983
glabel D_80A119F4
.word 0x4622F983
glabel D_80A119F8
.word 0x4622F983
glabel D_80A119FC
.word 0x4622F983
glabel D_80A11A00
.word 0xBDCCCCCD
.text
glabel func_80A10220
/* 00FC0 80A10220 27BDFEF0 */ addiu $sp, $sp, 0xFEF0 ## $sp = FFFFFEF0
/* 00FC4 80A10224 AFBF0044 */ sw $ra, 0x0044($sp)
/* 00FC8 80A10228 AFB10040 */ sw $s1, 0x0040($sp)
/* 00FCC 80A1022C AFB0003C */ sw $s0, 0x003C($sp)
/* 00FD0 80A10230 F7B40030 */ sdc1 $f20, 0x0030($sp)
/* 00FD4 80A10234 A3A000F3 */ sb $zero, 0x00F3($sp)
/* 00FD8 80A10238 8482015C */ lh $v0, 0x015C($a0) ## 0000015C
/* 00FDC 80A1023C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00FE0 80A10240 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
/* 00FE4 80A10244 1040000A */ beq $v0, $zero, .L80A10270
/* 00FE8 80A10248 8CA31C44 */ lw $v1, 0x1C44($a1) ## 00001C44
/* 00FEC 80A1024C 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF
/* 00FF0 80A10250 A48E015C */ sh $t6, 0x015C($a0) ## 0000015C
/* 00FF4 80A10254 848F015C */ lh $t7, 0x015C($a0) ## 0000015C
/* 00FF8 80A10258 55E0032A */ bnel $t7, $zero, .L80A10F04
/* 00FFC 80A1025C 8FBF0044 */ lw $ra, 0x0044($sp)
/* 01000 80A10260 0C00B55C */ jal Actor_Kill
/* 01004 80A10264 00000000 */ nop
/* 01008 80A10268 10000326 */ beq $zero, $zero, .L80A10F04
/* 0100C 80A1026C 8FBF0044 */ lw $ra, 0x0044($sp)
.L80A10270:
/* 01010 80A10270 8E020118 */ lw $v0, 0x0118($s0) ## 00000118
/* 01014 80A10274 C6000024 */ lwc1 $f0, 0x0024($s0) ## 00000024
/* 01018 80A10278 3C014220 */ lui $at, 0x4220 ## $at = 42200000
/* 0101C 80A1027C C444020C */ lwc1 $f4, 0x020C($v0) ## 0000020C
/* 01020 80A10280 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01024 80A10284 46002181 */ sub.s $f6, $f4, $f0
/* 01028 80A10288 E7A600FC */ swc1 $f6, 0x00FC($sp)
/* 0102C 80A1028C C6020028 */ lwc1 $f2, 0x0028($s0) ## 00000028
/* 01030 80A10290 C4480210 */ lwc1 $f8, 0x0210($v0) ## 00000210
/* 01034 80A10294 46024281 */ sub.s $f10, $f8, $f2
/* 01038 80A10298 E7AA00F8 */ swc1 $f10, 0x00F8($sp)
/* 0103C 80A1029C C60C002C */ lwc1 $f12, 0x002C($s0) ## 0000002C
/* 01040 80A102A0 C4440214 */ lwc1 $f4, 0x0214($v0) ## 00000214
/* 01044 80A102A4 460C2181 */ sub.s $f6, $f4, $f12
/* 01048 80A102A8 E7A600F4 */ swc1 $f6, 0x00F4($sp)
/* 0104C 80A102AC C4680024 */ lwc1 $f8, 0x0024($v1) ## 00000024
/* 01050 80A102B0 44813000 */ mtc1 $at, $f6 ## $f6 = 40.00
/* 01054 80A102B4 46004281 */ sub.s $f10, $f8, $f0
/* 01058 80A102B8 E7AA010C */ swc1 $f10, 0x010C($sp)
/* 0105C 80A102BC C4640028 */ lwc1 $f4, 0x0028($v1) ## 00000028
/* 01060 80A102C0 46062200 */ add.s $f8, $f4, $f6
/* 01064 80A102C4 46024281 */ sub.s $f10, $f8, $f2
/* 01068 80A102C8 E7AA0108 */ swc1 $f10, 0x0108($sp)
/* 0106C 80A102CC C464002C */ lwc1 $f4, 0x002C($v1) ## 0000002C
/* 01070 80A102D0 AFA300EC */ sw $v1, 0x00EC($sp)
/* 01074 80A102D4 AFA200E4 */ sw $v0, 0x00E4($sp)
/* 01078 80A102D8 460C2181 */ sub.s $f6, $f4, $f12
/* 0107C 80A102DC 0C00B642 */ jal func_8002D908
/* 01080 80A102E0 E7A60104 */ swc1 $f6, 0x0104($sp)
/* 01084 80A102E4 0C00B5FB */ jal func_8002D7EC
/* 01088 80A102E8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 0108C 80A102EC 86180156 */ lh $t8, 0x0156($s0) ## 00000156
/* 01090 80A102F0 3C0540C0 */ lui $a1, 0x40C0 ## $a1 = 40C00000
/* 01094 80A102F4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01098 80A102F8 33190001 */ andi $t9, $t8, 0x0001 ## $t9 = 00000000
/* 0109C 80A102FC 13200005 */ beq $t9, $zero, .L80A10314
/* 010A0 80A10300 00000000 */ nop
/* 010A4 80A10304 0C00B58B */ jal Actor_SetScale
/* 010A8 80A10308 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 010AC 80A1030C 10000003 */ beq $zero, $zero, .L80A1031C
/* 010B0 80A10310 00000000 */ nop
.L80A10314:
/* 010B4 80A10314 0C00B58B */ jal Actor_SetScale
/* 010B8 80A10318 3C0540A8 */ lui $a1, 0x40A8 ## $a1 = 40A80000
.L80A1031C:
/* 010BC 80A1031C 0C03F66B */ jal Rand_ZeroOne
## Rand.Next() float
/* 010C0 80A10320 00000000 */ nop
/* 010C4 80A10324 3C0180A1 */ lui $at, %hi(D_80A119DC) ## $at = 80A10000
/* 010C8 80A10328 C42819DC */ lwc1 $f8, %lo(D_80A119DC)($at)
/* 010CC 80A1032C 860800B8 */ lh $t0, 0x00B8($s0) ## 000000B8
/* 010D0 80A10330 3C1880A1 */ lui $t8, %hi(D_80A117E0) ## $t8 = 80A10000
/* 010D4 80A10334 46080282 */ mul.s $f10, $f0, $f8
/* 010D8 80A10338 271817E0 */ addiu $t8, $t8, %lo(D_80A117E0) ## $t8 = 80A117E0
/* 010DC 80A1033C 27AF00C8 */ addiu $t7, $sp, 0x00C8 ## $t7 = FFFFFFB8
/* 010E0 80A10340 3C0B80A1 */ lui $t3, %hi(D_80A117EC) ## $t3 = 80A10000
/* 010E4 80A10344 256B17EC */ addiu $t3, $t3, %lo(D_80A117EC) ## $t3 = 80A117EC
/* 010E8 80A10348 27AA00BC */ addiu $t2, $sp, 0x00BC ## $t2 = FFFFFFAC
/* 010EC 80A1034C 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000
/* 010F0 80A10350 4600510D */ trunc.w.s $f4, $f10
/* 010F4 80A10354 4481A000 */ mtc1 $at, $f20 ## $f20 = 20.00
/* 010F8 80A10358 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
/* 010FC 80A1035C 440C2000 */ mfc1 $t4, $f4
/* 01100 80A10360 00000000 */ nop
/* 01104 80A10364 010C6821 */ addu $t5, $t0, $t4
/* 01108 80A10368 25AE4000 */ addiu $t6, $t5, 0x4000 ## $t6 = 00004000
/* 0110C 80A1036C A60E00B8 */ sh $t6, 0x00B8($s0) ## 000000B8
/* 01110 80A10370 8F090000 */ lw $t1, 0x0000($t8) ## 80A117E0
/* 01114 80A10374 8F190004 */ lw $t9, 0x0004($t8) ## 80A117E4
/* 01118 80A10378 ADE90000 */ sw $t1, 0x0000($t7) ## FFFFFFB8
/* 0111C 80A1037C 8F090008 */ lw $t1, 0x0008($t8) ## 80A117E8
/* 01120 80A10380 ADF90004 */ sw $t9, 0x0004($t7) ## FFFFFFBC
/* 01124 80A10384 ADE90008 */ sw $t1, 0x0008($t7) ## FFFFFFC0
/* 01128 80A10388 8D6C0000 */ lw $t4, 0x0000($t3) ## 80A117EC
/* 0112C 80A1038C 8D680004 */ lw $t0, 0x0004($t3) ## 80A117F0
/* 01130 80A10390 AD4C0000 */ sw $t4, 0x0000($t2) ## FFFFFFAC
/* 01134 80A10394 8D6C0008 */ lw $t4, 0x0008($t3) ## 80A117F4
/* 01138 80A10398 AD480004 */ sw $t0, 0x0004($t2) ## FFFFFFB0
/* 0113C 80A1039C AD4C0008 */ sw $t4, 0x0008($t2) ## FFFFFFB4
/* 01140 80A103A0 860D0158 */ lh $t5, 0x0158($s0) ## 00000158
/* 01144 80A103A4 59A00003 */ blezl $t5, .L80A103B4
/* 01148 80A103A8 A7A000E0 */ sh $zero, 0x00E0($sp)
/* 0114C 80A103AC 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
/* 01150 80A103B0 A7A000E0 */ sh $zero, 0x00E0($sp)
.L80A103B4:
/* 01154 80A103B4 A3A200E3 */ sb $v0, 0x00E3($sp)
.L80A103B8:
/* 01158 80A103B8 0C00CFC8 */ jal Rand_CenteredFloat
/* 0115C 80A103BC 4600A306 */ mov.s $f12, $f20
/* 01160 80A103C0 C6060024 */ lwc1 $f6, 0x0024($s0) ## 00000024
/* 01164 80A103C4 4600A306 */ mov.s $f12, $f20
/* 01168 80A103C8 46060200 */ add.s $f8, $f0, $f6
/* 0116C 80A103CC 0C00CFC8 */ jal Rand_CenteredFloat
/* 01170 80A103D0 E7A800D4 */ swc1 $f8, 0x00D4($sp)
/* 01174 80A103D4 C60A0028 */ lwc1 $f10, 0x0028($s0) ## 00000028
/* 01178 80A103D8 4600A306 */ mov.s $f12, $f20
/* 0117C 80A103DC 460A0100 */ add.s $f4, $f0, $f10
/* 01180 80A103E0 0C00CFC8 */ jal Rand_CenteredFloat
/* 01184 80A103E4 E7A400D8 */ swc1 $f4, 0x00D8($sp)
/* 01188 80A103E8 C606002C */ lwc1 $f6, 0x002C($s0) ## 0000002C
/* 0118C 80A103EC 3C0180A1 */ lui $at, %hi(D_80A119E0) ## $at = 80A10000
/* 01190 80A103F0 C42A19E0 */ lwc1 $f10, %lo(D_80A119E0)($at)
/* 01194 80A103F4 46060200 */ add.s $f8, $f0, $f6
/* 01198 80A103F8 E7AA00C0 */ swc1 $f10, 0x00C0($sp)
/* 0119C 80A103FC 0C03F66B */ jal Rand_ZeroOne
## Rand.Next() float
/* 011A0 80A10400 E7A800DC */ swc1 $f8, 0x00DC($sp)
/* 011A4 80A10404 3C0142A0 */ lui $at, 0x42A0 ## $at = 42A00000
/* 011A8 80A10408 44812000 */ mtc1 $at, $f4 ## $f4 = 80.00
/* 011AC 80A1040C 93AA00E3 */ lbu $t2, 0x00E3($sp)
/* 011B0 80A10410 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 011B4 80A10414 46040182 */ mul.s $f6, $f0, $f4
/* 011B8 80A10418 27A500D4 */ addiu $a1, $sp, 0x00D4 ## $a1 = FFFFFFC4
/* 011BC 80A1041C 27A600C8 */ addiu $a2, $sp, 0x00C8 ## $a2 = FFFFFFB8
/* 011C0 80A10420 27A700BC */ addiu $a3, $sp, 0x00BC ## $a3 = FFFFFFAC
/* 011C4 80A10424 AFAA0014 */ sw $t2, 0x0014($sp)
/* 011C8 80A10428 4600320D */ trunc.w.s $f8, $f6
/* 011CC 80A1042C 440F4000 */ mfc1 $t7, $f8
/* 011D0 80A10430 00000000 */ nop
/* 011D4 80A10434 000FC400 */ sll $t8, $t7, 16
/* 011D8 80A10438 0018CC03 */ sra $t9, $t8, 16
/* 011DC 80A1043C 27290096 */ addiu $t1, $t9, 0x0096 ## $t1 = 00000096
/* 011E0 80A10440 0C00A73C */ jal EffectSsFhgFlash_SpawnLightBall
/* 011E4 80A10444 AFA90010 */ sw $t1, 0x0010($sp)
/* 011E8 80A10448 87A200E0 */ lh $v0, 0x00E0($sp)
/* 011EC 80A1044C 24420001 */ addiu $v0, $v0, 0x0001 ## $v0 = 00000001
/* 011F0 80A10450 00021400 */ sll $v0, $v0, 16
/* 011F4 80A10454 00021403 */ sra $v0, $v0, 16
/* 011F8 80A10458 28410003 */ slti $at, $v0, 0x0003
/* 011FC 80A1045C 1420FFD6 */ bne $at, $zero, .L80A103B8
/* 01200 80A10460 A7A200E0 */ sh $v0, 0x00E0($sp)
/* 01204 80A10464 86050158 */ lh $a1, 0x0158($s0) ## 00000158
/* 01208 80A10468 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 0120C 80A1046C 8FAB00EC */ lw $t3, 0x00EC($sp)
/* 01210 80A10470 10A00008 */ beq $a1, $zero, .L80A10494
/* 01214 80A10474 00A01025 */ or $v0, $a1, $zero ## $v0 = 00000000
/* 01218 80A10478 10410118 */ beq $v0, $at, .L80A108DC
/* 0121C 80A1047C 8FAC00E4 */ lw $t4, 0x00E4($sp)
/* 01220 80A10480 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
/* 01224 80A10484 5041019D */ beql $v0, $at, .L80A10AFC
/* 01228 80A10488 860E0150 */ lh $t6, 0x0150($s0) ## 00000150
/* 0122C 80A1048C 100001EE */ beq $zero, $zero, .L80A10C48
/* 01230 80A10490 00000000 */ nop
.L80A10494:
/* 01234 80A10494 8D68067C */ lw $t0, 0x067C($t3) ## 0000067C
/* 01238 80A10498 8FAE00E4 */ lw $t6, 0x00E4($sp)
/* 0123C 80A1049C 310C0002 */ andi $t4, $t0, 0x0002 ## $t4 = 00000000
/* 01240 80A104A0 51800021 */ beql $t4, $zero, .L80A10528
/* 01244 80A104A4 C7A2010C */ lwc1 $f2, 0x010C($sp)
/* 01248 80A104A8 85CF008A */ lh $t7, 0x008A($t6) ## 0000008A
/* 0124C 80A104AC 856D00B6 */ lh $t5, 0x00B6($t3) ## 000000B6
/* 01250 80A104B0 34018000 */ ori $at, $zero, 0x8000 ## $at = 00008000
/* 01254 80A104B4 01E14821 */ addu $t1, $t7, $at
/* 01258 80A104B8 01A91023 */ subu $v0, $t5, $t1
/* 0125C 80A104BC 00021400 */ sll $v0, $v0, 16
/* 01260 80A104C0 00021403 */ sra $v0, $v0, 16
/* 01264 80A104C4 04400003 */ bltz $v0, .L80A104D4
/* 01268 80A104C8 00021823 */ subu $v1, $zero, $v0
/* 0126C 80A104CC 10000001 */ beq $zero, $zero, .L80A104D4
/* 01270 80A104D0 00401825 */ or $v1, $v0, $zero ## $v1 = 00000000
.L80A104D4:
/* 01274 80A104D4 28612000 */ slti $at, $v1, 0x2000
/* 01278 80A104D8 10200012 */ beq $at, $zero, .L80A10524
/* 0127C 80A104DC C7A2010C */ lwc1 $f2, 0x010C($sp)
/* 01280 80A104E0 46021282 */ mul.s $f10, $f2, $f2
/* 01284 80A104E4 C7AE0108 */ lwc1 $f14, 0x0108($sp)
/* 01288 80A104E8 C7AC0104 */ lwc1 $f12, 0x0104($sp)
/* 0128C 80A104EC 3C0141C8 */ lui $at, 0x41C8 ## $at = 41C80000
/* 01290 80A104F0 460E7102 */ mul.s $f4, $f14, $f14
/* 01294 80A104F4 240A0001 */ addiu $t2, $zero, 0x0001 ## $t2 = 00000001
/* 01298 80A104F8 460C6202 */ mul.s $f8, $f12, $f12
/* 0129C 80A104FC 46045180 */ add.s $f6, $f10, $f4
/* 012A0 80A10500 44815000 */ mtc1 $at, $f10 ## $f10 = 25.00
/* 012A4 80A10504 46083000 */ add.s $f0, $f6, $f8
/* 012A8 80A10508 46000004 */ sqrt.s $f0, $f0
/* 012AC 80A1050C 460A003E */ c.le.s $f0, $f10
/* 012B0 80A10510 00000000 */ nop
/* 012B4 80A10514 45020004 */ bc1fl .L80A10528
/* 012B8 80A10518 C7A2010C */ lwc1 $f2, 0x010C($sp)
/* 012BC 80A1051C 10000005 */ beq $zero, $zero, .L80A10534
/* 012C0 80A10520 A3AA00F2 */ sb $t2, 0x00F2($sp)
.L80A10524:
/* 012C4 80A10524 C7A2010C */ lwc1 $f2, 0x010C($sp)
.L80A10528:
/* 012C8 80A10528 C7AC0104 */ lwc1 $f12, 0x0104($sp)
/* 012CC 80A1052C C7AE0108 */ lwc1 $f14, 0x0108($sp)
/* 012D0 80A10530 A3A000F2 */ sb $zero, 0x00F2($sp)
.L80A10534:
/* 012D4 80A10534 920801C1 */ lbu $t0, 0x01C1($s0) ## 000001C1
/* 012D8 80A10538 93AB00F2 */ lbu $t3, 0x00F2($sp)
/* 012DC 80A1053C 310C0002 */ andi $t4, $t0, 0x0002 ## $t4 = 00000000
/* 012E0 80A10540 55800004 */ bnel $t4, $zero, .L80A10554
/* 012E4 80A10544 8E0E01EC */ lw $t6, 0x01EC($s0) ## 000001EC
/* 012E8 80A10548 116000BA */ beq $t3, $zero, .L80A10834
/* 012EC 80A1054C 00000000 */ nop
/* 012F0 80A10550 8E0E01EC */ lw $t6, 0x01EC($s0) ## 000001EC
.L80A10554:
/* 012F4 80A10554 3C1880A1 */ lui $t8, %hi(D_80A117F8) ## $t8 = 80A10000
/* 012F8 80A10558 271817F8 */ addiu $t8, $t8, %lo(D_80A117F8) ## $t8 = 80A117F8
/* 012FC 80A1055C AFAE00B8 */ sw $t6, 0x00B8($sp)
/* 01300 80A10560 8F0D0000 */ lw $t5, 0x0000($t8) ## 80A117F8
/* 01304 80A10564 27AF009C */ addiu $t7, $sp, 0x009C ## $t7 = FFFFFF8C
/* 01308 80A10568 8F190004 */ lw $t9, 0x0004($t8) ## 80A117FC
/* 0130C 80A1056C ADED0000 */ sw $t5, 0x0000($t7) ## FFFFFF8C
/* 01310 80A10570 8F0D0008 */ lw $t5, 0x0008($t8) ## 80A11800
/* 01314 80A10574 ADF90004 */ sw $t9, 0x0004($t7) ## FFFFFF90
/* 01318 80A10578 26090024 */ addiu $t1, $s0, 0x0024 ## $t1 = 00000024
/* 0131C 80A1057C ADED0008 */ sw $t5, 0x0008($t7) ## FFFFFF94
/* 01320 80A10580 AFA90050 */ sw $t1, 0x0050($sp)
/* 01324 80A10584 A7A000B6 */ sh $zero, 0x00B6($sp)
.L80A10588:
/* 01328 80A10588 0C00CFC8 */ jal Rand_CenteredFloat
/* 0132C 80A1058C 4600A306 */ mov.s $f12, $f20
/* 01330 80A10590 E7A000A8 */ swc1 $f0, 0x00A8($sp)
/* 01334 80A10594 0C00CFC8 */ jal Rand_CenteredFloat
/* 01338 80A10598 4600A306 */ mov.s $f12, $f20
/* 0133C 80A1059C E7A000AC */ swc1 $f0, 0x00AC($sp)
/* 01340 80A105A0 0C00CFC8 */ jal Rand_CenteredFloat
/* 01344 80A105A4 4600A306 */ mov.s $f12, $f20
/* 01348 80A105A8 0C03F66B */ jal Rand_ZeroOne
## Rand.Next() float
/* 0134C 80A105AC E7A000B0 */ swc1 $f0, 0x00B0($sp)
/* 01350 80A105B0 3C0141C8 */ lui $at, 0x41C8 ## $at = 41C80000
/* 01354 80A105B4 44812000 */ mtc1 $at, $f4 ## $f4 = 25.00
/* 01358 80A105B8 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 0135C 80A105BC 8FA50050 */ lw $a1, 0x0050($sp)
/* 01360 80A105C0 46040182 */ mul.s $f6, $f0, $f4
/* 01364 80A105C4 27A600A8 */ addiu $a2, $sp, 0x00A8 ## $a2 = FFFFFF98
/* 01368 80A105C8 27A7009C */ addiu $a3, $sp, 0x009C ## $a3 = FFFFFF8C
/* 0136C 80A105CC AFA00014 */ sw $zero, 0x0014($sp)
/* 01370 80A105D0 4600320D */ trunc.w.s $f8, $f6
/* 01374 80A105D4 44084000 */ mfc1 $t0, $f8
/* 01378 80A105D8 00000000 */ nop
/* 0137C 80A105DC 00086400 */ sll $t4, $t0, 16
/* 01380 80A105E0 000C5C03 */ sra $t3, $t4, 16
/* 01384 80A105E4 256E0032 */ addiu $t6, $t3, 0x0032 ## $t6 = 00000032
/* 01388 80A105E8 0C00A73C */ jal EffectSsFhgFlash_SpawnLightBall
/* 0138C 80A105EC AFAE0010 */ sw $t6, 0x0010($sp)
/* 01390 80A105F0 87A200B6 */ lh $v0, 0x00B6($sp)
/* 01394 80A105F4 24420001 */ addiu $v0, $v0, 0x0001 ## $v0 = 00000001
/* 01398 80A105F8 00021400 */ sll $v0, $v0, 16
/* 0139C 80A105FC 00021403 */ sra $v0, $v0, 16
/* 013A0 80A10600 2841001E */ slti $at, $v0, 0x001E
/* 013A4 80A10604 1420FFE0 */ bne $at, $zero, .L80A10588
/* 013A8 80A10608 A7A200B6 */ sh $v0, 0x00B6($sp)
/* 013AC 80A1060C 93A200F2 */ lbu $v0, 0x00F2($sp)
/* 013B0 80A10610 8FAF00B8 */ lw $t7, 0x00B8($sp)
/* 013B4 80A10614 8FAA00E4 */ lw $t2, 0x00E4($sp)
/* 013B8 80A10618 54400019 */ bnel $v0, $zero, .L80A10680
/* 013BC 80A1061C 914801C9 */ lbu $t0, 0x01C9($t2) ## 000001C9
/* 013C0 80A10620 8DF80000 */ lw $t8, 0x0000($t7) ## 00000000
/* 013C4 80A10624 3C078013 */ lui $a3, %hi(D_801333E0)
/* 013C8 80A10628 24E733E0 */ addiu $a3, %lo(D_801333E0)
/* 013CC 80A1062C 0018CAC0 */ sll $t9, $t8, 11
/* 013D0 80A10630 07210012 */ bgez $t9, .L80A1067C
/* 013D4 80A10634 240D0002 */ addiu $t5, $zero, 0x0002 ## $t5 = 00000002
/* 013D8 80A10638 8FA500EC */ lw $a1, 0x00EC($sp)
/* 013DC 80A1063C 3C098013 */ lui $t1, %hi(D_801333E8)
/* 013E0 80A10640 252933E8 */ addiu $t1, %lo(D_801333E8)
/* 013E4 80A10644 A3AD00F3 */ sb $t5, 0x00F3($sp)
/* 013E8 80A10648 AFA90014 */ sw $t1, 0x0014($sp)
/* 013EC 80A1064C 2404180C */ addiu $a0, $zero, 0x180C ## $a0 = 0000180C
/* 013F0 80A10650 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004
/* 013F4 80A10654 AFA70010 */ sw $a3, 0x0010($sp)
/* 013F8 80A10658 0C03DCE3 */ jal Audio_PlaySoundGeneral
/* 013FC 80A1065C 24A500E4 */ addiu $a1, $a1, 0x00E4 ## $a1 = 000000E4
/* 01400 80A10660 C60C008C */ lwc1 $f12, 0x008C($s0) ## 0000008C
/* 01404 80A10664 240500FF */ addiu $a1, $zero, 0x00FF ## $a1 = 000000FF
/* 01408 80A10668 24060014 */ addiu $a2, $zero, 0x0014 ## $a2 = 00000014
/* 0140C 80A1066C 0C02A800 */ jal func_800AA000
/* 01410 80A10670 24070096 */ addiu $a3, $zero, 0x0096 ## $a3 = 00000096
/* 01414 80A10674 1000006D */ beq $zero, $zero, .L80A1082C
/* 01418 80A10678 00000000 */ nop
.L80A1067C:
/* 0141C 80A1067C 914801C9 */ lbu $t0, 0x01C9($t2) ## 000001C9
.L80A10680:
/* 01420 80A10680 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 01424 80A10684 15010012 */ bne $t0, $at, .L80A106D0
/* 01428 80A10688 3C014600 */ lui $at, 0x4600 ## $at = 46000000
/* 0142C 80A1068C 44816000 */ mtc1 $at, $f12 ## $f12 = 8192.00
/* 01430 80A10690 0C00CFC8 */ jal Rand_CenteredFloat
/* 01434 80A10694 00000000 */ nop
/* 01438 80A10698 4600028D */ trunc.w.s $f10, $f0
/* 0143C 80A1069C 3C014600 */ lui $at, 0x4600 ## $at = 46000000
/* 01440 80A106A0 44816000 */ mtc1 $at, $f12 ## $f12 = 8192.00
/* 01444 80A106A4 440B5000 */ mfc1 $t3, $f10
/* 01448 80A106A8 0C00CFC8 */ jal Rand_CenteredFloat
/* 0144C 80A106AC A7AB009A */ sh $t3, 0x009A($sp)
/* 01450 80A106B0 4600010D */ trunc.w.s $f4, $f0
/* 01454 80A106B4 3C014170 */ lui $at, 0x4170 ## $at = 41700000
/* 01458 80A106B8 44813000 */ mtc1 $at, $f6 ## $f6 = 15.00
/* 0145C 80A106BC 44032000 */ mfc1 $v1, $f4
/* 01460 80A106C0 E6060068 */ swc1 $f6, 0x0068($s0) ## 00000068
/* 01464 80A106C4 00031C00 */ sll $v1, $v1, 16
/* 01468 80A106C8 10000025 */ beq $zero, $zero, .L80A10760
/* 0146C 80A106CC 00031C03 */ sra $v1, $v1, 16
.L80A106D0:
/* 01470 80A106D0 A7A0009A */ sh $zero, 0x009A($sp)
/* 01474 80A106D4 860F015A */ lh $t7, 0x015A($s0) ## 0000015A
/* 01478 80A106D8 00001825 */ or $v1, $zero, $zero ## $v1 = 00000000
/* 0147C 80A106DC 25F80001 */ addiu $t8, $t7, 0x0001 ## $t8 = 00000001
/* 01480 80A106E0 A618015A */ sh $t8, 0x015A($s0) ## 0000015A
/* 01484 80A106E4 8619015A */ lh $t9, 0x015A($s0) ## 0000015A
/* 01488 80A106E8 2B210004 */ slti $at, $t9, 0x0004
/* 0148C 80A106EC 1420000D */ bne $at, $zero, .L80A10724
/* 01490 80A106F0 00000000 */ nop
/* 01494 80A106F4 AFA20050 */ sw $v0, 0x0050($sp)
/* 01498 80A106F8 0C03F66B */ jal Rand_ZeroOne
## Rand.Next() float
/* 0149C 80A106FC A7A00098 */ sh $zero, 0x0098($sp)
/* 014A0 80A10700 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000
/* 014A4 80A10704 44814000 */ mtc1 $at, $f8 ## $f8 = 0.50
/* 014A8 80A10708 8FA20050 */ lw $v0, 0x0050($sp)
/* 014AC 80A1070C 87A30098 */ lh $v1, 0x0098($sp)
/* 014B0 80A10710 4608003C */ c.lt.s $f0, $f8
/* 014B4 80A10714 240D0064 */ addiu $t5, $zero, 0x0064 ## $t5 = 00000064
/* 014B8 80A10718 45000002 */ bc1f .L80A10724
/* 014BC 80A1071C 00000000 */ nop
/* 014C0 80A10720 A60D015A */ sh $t5, 0x015A($s0) ## 0000015A
.L80A10724:
/* 014C4 80A10724 14400009 */ bne $v0, $zero, .L80A1074C
/* 014C8 80A10728 8FA900EC */ lw $t1, 0x00EC($sp)
/* 014CC 80A1072C 812A0842 */ lb $t2, 0x0842($t1) ## 00000842
/* 014D0 80A10730 24080004 */ addiu $t0, $zero, 0x0004 ## $t0 = 00000004
/* 014D4 80A10734 29410018 */ slti $at, $t2, 0x0018
/* 014D8 80A10738 54200005 */ bnel $at, $zero, .L80A10750
/* 014DC 80A1073C 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 014E0 80A10740 E6140068 */ swc1 $f20, 0x0068($s0) ## 00000068
/* 014E4 80A10744 10000006 */ beq $zero, $zero, .L80A10760
/* 014E8 80A10748 A608015A */ sh $t0, 0x015A($s0) ## 0000015A
.L80A1074C:
/* 014EC 80A1074C 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
.L80A10750:
/* 014F0 80A10750 44812000 */ mtc1 $at, $f4 ## $f4 = 1.00
/* 014F4 80A10754 C60A0068 */ lwc1 $f10, 0x0068($s0) ## 00000068
/* 014F8 80A10758 46045180 */ add.s $f6, $f10, $f4
/* 014FC 80A1075C E6060068 */ swc1 $f6, 0x0068($s0) ## 00000068
.L80A10760:
/* 01500 80A10760 C7AC00FC */ lwc1 $f12, 0x00FC($sp)
/* 01504 80A10764 C7AE00F4 */ lwc1 $f14, 0x00F4($sp)
/* 01508 80A10768 0C03F494 */ jal Math_FAtan2F
/* 0150C 80A1076C A7A30098 */ sh $v1, 0x0098($sp)
/* 01510 80A10770 3C0180A1 */ lui $at, %hi(D_80A119E4) ## $at = 80A10000
/* 01514 80A10774 C42819E4 */ lwc1 $f8, %lo(D_80A119E4)($at)
/* 01518 80A10778 87A30098 */ lh $v1, 0x0098($sp)
/* 0151C 80A1077C 46080282 */ mul.s $f10, $f0, $f8
/* 01520 80A10780 4600510D */ trunc.w.s $f4, $f10
/* 01524 80A10784 440F2000 */ mfc1 $t7, $f4
/* 01528 80A10788 00000000 */ nop
/* 0152C 80A1078C 01E3C021 */ addu $t8, $t7, $v1
/* 01530 80A10790 A6180032 */ sh $t8, 0x0032($s0) ## 00000032
/* 01534 80A10794 C7A600FC */ lwc1 $f6, 0x00FC($sp)
/* 01538 80A10798 C7AA00F4 */ lwc1 $f10, 0x00F4($sp)
/* 0153C 80A1079C C7AC00F8 */ lwc1 $f12, 0x00F8($sp)
/* 01540 80A107A0 46063202 */ mul.s $f8, $f6, $f6
/* 01544 80A107A4 00000000 */ nop
/* 01548 80A107A8 460A5102 */ mul.s $f4, $f10, $f10
/* 0154C 80A107AC 46044000 */ add.s $f0, $f8, $f4
/* 01550 80A107B0 0C03F494 */ jal Math_FAtan2F
/* 01554 80A107B4 46000384 */ sqrt.s $f14, $f0
/* 01558 80A107B8 3C0180A1 */ lui $at, %hi(D_80A119E8) ## $at = 80A10000
/* 0155C 80A107BC C42619E8 */ lwc1 $f6, %lo(D_80A119E8)($at)
/* 01560 80A107C0 87A8009A */ lh $t0, 0x009A($sp)
/* 01564 80A107C4 240B0001 */ addiu $t3, $zero, 0x0001 ## $t3 = 00000001
/* 01568 80A107C8 46060282 */ mul.s $f10, $f0, $f6
/* 0156C 80A107CC 240E0002 */ addiu $t6, $zero, 0x0002 ## $t6 = 00000002
/* 01570 80A107D0 A60B0158 */ sh $t3, 0x0158($s0) ## 00000158
/* 01574 80A107D4 A60E0152 */ sh $t6, 0x0152($s0) ## 00000152
/* 01578 80A107D8 3C078013 */ lui $a3, %hi(D_801333E0)
/* 0157C 80A107DC 3C0F8013 */ lui $t7, %hi(D_801333E8)
/* 01580 80A107E0 24E733E0 */ addiu $a3, %lo(D_801333E0)
/* 01584 80A107E4 4600520D */ trunc.w.s $f8, $f10
/* 01588 80A107E8 25EF33E8 */ addiu $t7, %lo(D_801333E8)
/* 0158C 80A107EC 2404182A */ addiu $a0, $zero, 0x182A ## $a0 = 0000182A
/* 01590 80A107F0 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004
/* 01594 80A107F4 440A4000 */ mfc1 $t2, $f8
/* 01598 80A107F8 00000000 */ nop
/* 0159C 80A107FC 01486021 */ addu $t4, $t2, $t0
/* 015A0 80A10800 A60C0030 */ sh $t4, 0x0030($s0) ## 00000030
/* 015A4 80A10804 8FA500EC */ lw $a1, 0x00EC($sp)
/* 015A8 80A10808 AFAF0014 */ sw $t7, 0x0014($sp)
/* 015AC 80A1080C AFA70010 */ sw $a3, 0x0010($sp)
/* 015B0 80A10810 0C03DCE3 */ jal Audio_PlaySoundGeneral
/* 015B4 80A10814 24A500E4 */ addiu $a1, $a1, 0x00E4 ## $a1 = 000000E4
/* 015B8 80A10818 C60C008C */ lwc1 $f12, 0x008C($s0) ## 0000008C
/* 015BC 80A1081C 240500B4 */ addiu $a1, $zero, 0x00B4 ## $a1 = 000000B4
/* 015C0 80A10820 24060014 */ addiu $a2, $zero, 0x0014 ## $a2 = 00000014
/* 015C4 80A10824 0C02A800 */ jal func_800AA000
/* 015C8 80A10828 24070064 */ addiu $a3, $zero, 0x0064 ## $a3 = 00000064
.L80A1082C:
/* 015CC 80A1082C 10000106 */ beq $zero, $zero, .L80A10C48
/* 015D0 80A10830 86050158 */ lh $a1, 0x0158($s0) ## 00000158
.L80A10834:
/* 015D4 80A10834 46021102 */ mul.s $f4, $f2, $f2
/* 015D8 80A10838 3C0141C8 */ lui $at, 0x41C8 ## $at = 41C80000
/* 015DC 80A1083C 24180001 */ addiu $t8, $zero, 0x0001 ## $t8 = 00000001
/* 015E0 80A10840 460E7182 */ mul.s $f6, $f14, $f14
/* 015E4 80A10844 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 015E8 80A10848 460C6202 */ mul.s $f8, $f12, $f12
/* 015EC 80A1084C 46062280 */ add.s $f10, $f4, $f6
/* 015F0 80A10850 44812000 */ mtc1 $at, $f4 ## $f4 = 25.00
/* 015F4 80A10854 46085000 */ add.s $f0, $f10, $f8
/* 015F8 80A10858 46000004 */ sqrt.s $f0, $f0
/* 015FC 80A1085C 4604003E */ c.le.s $f0, $f4
/* 01600 80A10860 00000000 */ nop
/* 01604 80A10864 450000F8 */ bc1f .L80A10C48
/* 01608 80A10868 00000000 */ nop
/* 0160C 80A1086C A3B800F3 */ sb $t8, 0x00F3($sp)
/* 01610 80A10870 0C00BE0A */ jal Audio_PlayActorSound2
/* 01614 80A10874 240538A8 */ addiu $a1, $zero, 0x38A8 ## $a1 = 000038A8
/* 01618 80A10878 8FB900E4 */ lw $t9, 0x00E4($sp)
/* 0161C 80A1087C 932D01C9 */ lbu $t5, 0x01C9($t9) ## 000001C9
/* 01620 80A10880 29A10002 */ slti $at, $t5, 0x0002
/* 01624 80A10884 54200009 */ bnel $at, $zero, .L80A108AC
/* 01628 80A10888 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00
/* 0162C 80A1088C 8609015A */ lh $t1, 0x015A($s0) ## 0000015A
/* 01630 80A10890 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01634 80A10894 29210002 */ slti $at, $t1, 0x0002
/* 01638 80A10898 54200004 */ bnel $at, $zero, .L80A108AC
/* 0163C 80A1089C 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00
/* 01640 80A108A0 0C00BE0A */ jal Audio_PlayActorSound2
/* 01644 80A108A4 240538B0 */ addiu $a1, $zero, 0x38B0 ## $a1 = 000038B0
/* 01648 80A108A8 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00
.L80A108AC:
/* 0164C 80A108AC 86070032 */ lh $a3, 0x0032($s0) ## 00000032
/* 01650 80A108B0 240A0003 */ addiu $t2, $zero, 0x0003 ## $t2 = 00000003
/* 01654 80A108B4 24080010 */ addiu $t0, $zero, 0x0010 ## $t0 = 00000010
/* 01658 80A108B8 AFA80018 */ sw $t0, 0x0018($sp)
/* 0165C 80A108BC AFAA0014 */ sw $t2, 0x0014($sp)
/* 01660 80A108C0 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 01664 80A108C4 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 01668 80A108C8 3C064040 */ lui $a2, 0x4040 ## $a2 = 40400000
/* 0166C 80A108CC 0C00BDA6 */ jal func_8002F698
/* 01670 80A108D0 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 01674 80A108D4 100000DC */ beq $zero, $zero, .L80A10C48
/* 01678 80A108D8 86050158 */ lh $a1, 0x0158($s0) ## 00000158
.L80A108DC:
/* 0167C 80A108DC 918B01C9 */ lbu $t3, 0x01C9($t4) ## 000001C9
/* 01680 80A108E0 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
/* 01684 80A108E4 55610029 */ bnel $t3, $at, .L80A1098C
/* 01688 80A108E8 8608015A */ lh $t0, 0x015A($s0) ## 0000015A
/* 0168C 80A108EC 860E015A */ lh $t6, 0x015A($s0) ## 0000015A
/* 01690 80A108F0 C7AC00FC */ lwc1 $f12, 0x00FC($sp)
/* 01694 80A108F4 29C10064 */ slti $at, $t6, 0x0064
/* 01698 80A108F8 50200024 */ beql $at, $zero, .L80A1098C
/* 0169C 80A108FC 8608015A */ lh $t0, 0x015A($s0) ## 0000015A
/* 016A0 80A10900 0C03F494 */ jal Math_FAtan2F
/* 016A4 80A10904 C7AE00F4 */ lwc1 $f14, 0x00F4($sp)
/* 016A8 80A10908 3C0180A1 */ lui $at, %hi(D_80A119EC) ## $at = 80A10000
/* 016AC 80A1090C C42A19EC */ lwc1 $f10, %lo(D_80A119EC)($at)
/* 016B0 80A10910 C7A200FC */ lwc1 $f2, 0x00FC($sp)
/* 016B4 80A10914 C7AC00F4 */ lwc1 $f12, 0x00F4($sp)
/* 016B8 80A10918 460A0202 */ mul.s $f8, $f0, $f10
/* 016BC 80A1091C 3C014100 */ lui $at, 0x4100 ## $at = 41000000
/* 016C0 80A10920 24190002 */ addiu $t9, $zero, 0x0002 ## $t9 = 00000002
/* 016C4 80A10924 46021182 */ mul.s $f6, $f2, $f2
/* 016C8 80A10928 00000000 */ nop
/* 016CC 80A1092C 460C6282 */ mul.s $f10, $f12, $f12
/* 016D0 80A10930 4600410D */ trunc.w.s $f4, $f8
/* 016D4 80A10934 C6080068 */ lwc1 $f8, 0x0068($s0) ## 00000068
/* 016D8 80A10938 460A3000 */ add.s $f0, $f6, $f10
/* 016DC 80A1093C 44182000 */ mfc1 $t8, $f4
/* 016E0 80A10940 44812000 */ mtc1 $at, $f4 ## $f4 = 8.00
/* 016E4 80A10944 3C014316 */ lui $at, 0x4316 ## $at = 43160000
/* 016E8 80A10948 46000004 */ sqrt.s $f0, $f0
/* 016EC 80A1094C 44815000 */ mtc1 $at, $f10 ## $f10 = 150.00
/* 016F0 80A10950 A6180032 */ sh $t8, 0x0032($s0) ## 00000032
/* 016F4 80A10954 46044182 */ mul.s $f6, $f8, $f4
/* 016F8 80A10958 46065200 */ add.s $f8, $f10, $f6
/* 016FC 80A1095C 4608003C */ c.lt.s $f0, $f8
/* 01700 80A10960 00000000 */ nop
/* 01704 80A10964 45000062 */ bc1f .L80A10AF0
/* 01708 80A10968 00000000 */ nop
/* 0170C 80A1096C A6190158 */ sh $t9, 0x0158($s0) ## 00000158
/* 01710 80A10970 8FA900E4 */ lw $t1, 0x00E4($sp)
/* 01714 80A10974 240D0001 */ addiu $t5, $zero, 0x0001 ## $t5 = 00000001
/* 01718 80A10978 240A0008 */ addiu $t2, $zero, 0x0008 ## $t2 = 00000008
/* 0171C 80A1097C A12D01CA */ sb $t5, 0x01CA($t1) ## 000001CA
/* 01720 80A10980 1000005B */ beq $zero, $zero, .L80A10AF0
/* 01724 80A10984 A60A0150 */ sh $t2, 0x0150($s0) ## 00000150
/* 01728 80A10988 8608015A */ lh $t0, 0x015A($s0) ## 0000015A
.L80A1098C:
/* 0172C 80A1098C C7AC00FC */ lwc1 $f12, 0x00FC($sp)
/* 01730 80A10990 C7AE00F4 */ lwc1 $f14, 0x00F4($sp)
/* 01734 80A10994 29010064 */ slti $at, $t0, 0x0064
/* 01738 80A10998 54200028 */ bnel $at, $zero, .L80A10A3C
/* 0173C 80A1099C C7A000FC */ lwc1 $f0, 0x00FC($sp)
/* 01740 80A109A0 460C6082 */ mul.s $f2, $f12, $f12
/* 01744 80A109A4 C7B200F8 */ lwc1 $f18, 0x00F8($sp)
/* 01748 80A109A8 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000
/* 0174C 80A109AC 460E7402 */ mul.s $f16, $f14, $f14
/* 01750 80A109B0 44813000 */ mtc1 $at, $f6 ## $f6 = 100.00
/* 01754 80A109B4 8FAB00E4 */ lw $t3, 0x00E4($sp)
/* 01758 80A109B8 46129102 */ mul.s $f4, $f18, $f18
/* 0175C 80A109BC 46041280 */ add.s $f10, $f2, $f4
/* 01760 80A109C0 46105000 */ add.s $f0, $f10, $f16
/* 01764 80A109C4 46000004 */ sqrt.s $f0, $f0
/* 01768 80A109C8 4606003C */ c.lt.s $f0, $f6
/* 0176C 80A109CC 00000000 */ nop
/* 01770 80A109D0 45000002 */ bc1f .L80A109DC
/* 01774 80A109D4 240C0001 */ addiu $t4, $zero, 0x0001 ## $t4 = 00000001
/* 01778 80A109D8 A16C01CA */ sb $t4, 0x01CA($t3) ## 000001CA
.L80A109DC:
/* 0177C 80A109DC E7A20050 */ swc1 $f2, 0x0050($sp)
/* 01780 80A109E0 0C03F494 */ jal Math_FAtan2F
/* 01784 80A109E4 E7B0004C */ swc1 $f16, 0x004C($sp)
/* 01788 80A109E8 3C0180A1 */ lui $at, %hi(D_80A119F0) ## $at = 80A10000
/* 0178C 80A109EC C42819F0 */ lwc1 $f8, %lo(D_80A119F0)($at)
/* 01790 80A109F0 C7A20050 */ lwc1 $f2, 0x0050($sp)
/* 01794 80A109F4 C7B0004C */ lwc1 $f16, 0x004C($sp)
/* 01798 80A109F8 46080102 */ mul.s $f4, $f0, $f8
/* 0179C 80A109FC 46101000 */ add.s $f0, $f2, $f16
/* 017A0 80A10A00 46000384 */ sqrt.s $f14, $f0
/* 017A4 80A10A04 4600228D */ trunc.w.s $f10, $f4
/* 017A8 80A10A08 440F5000 */ mfc1 $t7, $f10
/* 017AC 80A10A0C 00000000 */ nop
/* 017B0 80A10A10 A60F0032 */ sh $t7, 0x0032($s0) ## 00000032
/* 017B4 80A10A14 0C03F494 */ jal Math_FAtan2F
/* 017B8 80A10A18 C7AC00F8 */ lwc1 $f12, 0x00F8($sp)
/* 017BC 80A10A1C 3C0180A1 */ lui $at, %hi(D_80A119F4) ## $at = 80A10000
/* 017C0 80A10A20 C42619F4 */ lwc1 $f6, %lo(D_80A119F4)($at)
/* 017C4 80A10A24 46060202 */ mul.s $f8, $f0, $f6
/* 017C8 80A10A28 4600410D */ trunc.w.s $f4, $f8
/* 017CC 80A10A2C 44192000 */ mfc1 $t9, $f4
/* 017D0 80A10A30 00000000 */ nop
/* 017D4 80A10A34 A6190030 */ sh $t9, 0x0030($s0) ## 00000030
/* 017D8 80A10A38 C7A000FC */ lwc1 $f0, 0x00FC($sp)
.L80A10A3C:
/* 017DC 80A10A3C 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000
/* 017E0 80A10A40 44811000 */ mtc1 $at, $f2 ## $f2 = 30.00
/* 017E4 80A10A44 46000005 */ abs.s $f0, $f0
/* 017E8 80A10A48 4602003C */ c.lt.s $f0, $f2
/* 017EC 80A10A4C C7A000F4 */ lwc1 $f0, 0x00F4($sp)
/* 017F0 80A10A50 45000027 */ bc1f .L80A10AF0
/* 017F4 80A10A54 00000000 */ nop
/* 017F8 80A10A58 46000005 */ abs.s $f0, $f0
/* 017FC 80A10A5C 3C014234 */ lui $at, 0x4234 ## $at = 42340000
/* 01800 80A10A60 4602003C */ c.lt.s $f0, $f2
/* 01804 80A10A64 C7A000F8 */ lwc1 $f0, 0x00F8($sp)
/* 01808 80A10A68 45000021 */ bc1f .L80A10AF0
/* 0180C 80A10A6C 00000000 */ nop
/* 01810 80A10A70 44815000 */ mtc1 $at, $f10 ## $f10 = 45.00
/* 01814 80A10A74 46000005 */ abs.s $f0, $f0
/* 01818 80A10A78 3C078013 */ lui $a3, %hi(D_801333E0)
/* 0181C 80A10A7C 460A003C */ c.lt.s $f0, $f10
/* 01820 80A10A80 24E733E0 */ addiu $a3, %lo(D_801333E0)
/* 01824 80A10A84 240D0002 */ addiu $t5, $zero, 0x0002 ## $t5 = 00000002
/* 01828 80A10A88 240438A8 */ addiu $a0, $zero, 0x38A8 ## $a0 = 000038A8
/* 0182C 80A10A8C 45000018 */ bc1f .L80A10AF0
/* 01830 80A10A90 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004
/* 01834 80A10A94 A3AD00F3 */ sb $t5, 0x00F3($sp)
/* 01838 80A10A98 8609015A */ lh $t1, 0x015A($s0) ## 0000015A
/* 0183C 80A10A9C 8FA800E4 */ lw $t0, 0x00E4($sp)
/* 01840 80A10AA0 3C0C8013 */ lui $t4, %hi(D_801333E8)
/* 01844 80A10AA4 252A0001 */ addiu $t2, $t1, 0x0001 ## $t2 = 00000001
/* 01848 80A10AA8 A10A01C7 */ sb $t2, 0x01C7($t0) ## 000001C7
/* 0184C 80A10AAC 8FA500E4 */ lw $a1, 0x00E4($sp)
/* 01850 80A10AB0 258C33E8 */ addiu $t4, %lo(D_801333E8)
/* 01854 80A10AB4 AFAC0014 */ sw $t4, 0x0014($sp)
/* 01858 80A10AB8 24A500E4 */ addiu $a1, $a1, 0x00E4 ## $a1 = 000000E4
/* 0185C 80A10ABC AFA50050 */ sw $a1, 0x0050($sp)
/* 01860 80A10AC0 0C03DCE3 */ jal Audio_PlaySoundGeneral
/* 01864 80A10AC4 AFA70010 */ sw $a3, 0x0010($sp)
/* 01868 80A10AC8 3C078013 */ lui $a3, %hi(D_801333E0)
/* 0186C 80A10ACC 3C0B8013 */ lui $t3, %hi(D_801333E8)
/* 01870 80A10AD0 24E733E0 */ addiu $a3, %lo(D_801333E0)
/* 01874 80A10AD4 256B33E8 */ addiu $t3, %lo(D_801333E8)
/* 01878 80A10AD8 8FA50050 */ lw $a1, 0x0050($sp)
/* 0187C 80A10ADC AFAB0014 */ sw $t3, 0x0014($sp)
/* 01880 80A10AE0 AFA70010 */ sw $a3, 0x0010($sp)
/* 01884 80A10AE4 240438AE */ addiu $a0, $zero, 0x38AE ## $a0 = 000038AE
/* 01888 80A10AE8 0C03DCE3 */ jal Audio_PlaySoundGeneral
/* 0188C 80A10AEC 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004
.L80A10AF0:
/* 01890 80A10AF0 10000055 */ beq $zero, $zero, .L80A10C48
/* 01894 80A10AF4 86050158 */ lh $a1, 0x0158($s0) ## 00000158
/* 01898 80A10AF8 860E0150 */ lh $t6, 0x0150($s0) ## 00000150
.L80A10AFC:
/* 0189C 80A10AFC 3C1880A1 */ lui $t8, %hi(D_80A11804) ## $t8 = 80A10000
/* 018A0 80A10B00 27181804 */ addiu $t8, $t8, %lo(D_80A11804) ## $t8 = 80A11804
/* 018A4 80A10B04 15C00050 */ bne $t6, $zero, .L80A10C48
/* 018A8 80A10B08 00000000 */ nop
/* 018AC 80A10B0C 8F0D0000 */ lw $t5, 0x0000($t8) ## 80A11804
/* 018B0 80A10B10 27AF007C */ addiu $t7, $sp, 0x007C ## $t7 = FFFFFF6C
/* 018B4 80A10B14 8F190004 */ lw $t9, 0x0004($t8) ## 80A11808
/* 018B8 80A10B18 ADED0000 */ sw $t5, 0x0000($t7) ## FFFFFF6C
/* 018BC 80A10B1C 8F0D0008 */ lw $t5, 0x0008($t8) ## 80A1180C
/* 018C0 80A10B20 ADF90004 */ sw $t9, 0x0004($t7) ## FFFFFF70
/* 018C4 80A10B24 26090024 */ addiu $t1, $s0, 0x0024 ## $t1 = 00000024
/* 018C8 80A10B28 ADED0008 */ sw $t5, 0x0008($t7) ## FFFFFF74
/* 018CC 80A10B2C AFA90050 */ sw $t1, 0x0050($sp)
/* 018D0 80A10B30 A7A00096 */ sh $zero, 0x0096($sp)
.L80A10B34:
/* 018D4 80A10B34 0C00CFC8 */ jal Rand_CenteredFloat
/* 018D8 80A10B38 4600A306 */ mov.s $f12, $f20
/* 018DC 80A10B3C E7A00088 */ swc1 $f0, 0x0088($sp)
/* 018E0 80A10B40 0C00CFC8 */ jal Rand_CenteredFloat
/* 018E4 80A10B44 4600A306 */ mov.s $f12, $f20
/* 018E8 80A10B48 E7A0008C */ swc1 $f0, 0x008C($sp)
/* 018EC 80A10B4C 0C00CFC8 */ jal Rand_CenteredFloat
/* 018F0 80A10B50 4600A306 */ mov.s $f12, $f20
/* 018F4 80A10B54 0C03F66B */ jal Rand_ZeroOne
## Rand.Next() float
/* 018F8 80A10B58 E7A00090 */ swc1 $f0, 0x0090($sp)
/* 018FC 80A10B5C 3C014220 */ lui $at, 0x4220 ## $at = 42200000
/* 01900 80A10B60 44813000 */ mtc1 $at, $f6 ## $f6 = 40.00
/* 01904 80A10B64 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 01908 80A10B68 8FA50050 */ lw $a1, 0x0050($sp)
/* 0190C 80A10B6C 46060202 */ mul.s $f8, $f0, $f6
/* 01910 80A10B70 27A60088 */ addiu $a2, $sp, 0x0088 ## $a2 = FFFFFF78
/* 01914 80A10B74 27A7007C */ addiu $a3, $sp, 0x007C ## $a3 = FFFFFF6C
/* 01918 80A10B78 AFA00014 */ sw $zero, 0x0014($sp)
/* 0191C 80A10B7C 4600410D */ trunc.w.s $f4, $f8
/* 01920 80A10B80 44082000 */ mfc1 $t0, $f4
/* 01924 80A10B84 00000000 */ nop
/* 01928 80A10B88 00086400 */ sll $t4, $t0, 16
/* 0192C 80A10B8C 000C5C03 */ sra $t3, $t4, 16
/* 01930 80A10B90 256E0050 */ addiu $t6, $t3, 0x0050 ## $t6 = 00000050
/* 01934 80A10B94 0C00A73C */ jal EffectSsFhgFlash_SpawnLightBall
/* 01938 80A10B98 AFAE0010 */ sw $t6, 0x0010($sp)
/* 0193C 80A10B9C 87A20096 */ lh $v0, 0x0096($sp)
/* 01940 80A10BA0 24420001 */ addiu $v0, $v0, 0x0001 ## $v0 = 00000001
/* 01944 80A10BA4 00021400 */ sll $v0, $v0, 16
/* 01948 80A10BA8 00021403 */ sra $v0, $v0, 16
/* 0194C 80A10BAC 2841001E */ slti $at, $v0, 0x001E
/* 01950 80A10BB0 1420FFE0 */ bne $at, $zero, .L80A10B34
/* 01954 80A10BB4 A7A20096 */ sh $v0, 0x0096($sp)
/* 01958 80A10BB8 C7AC010C */ lwc1 $f12, 0x010C($sp)
/* 0195C 80A10BBC 0C03F494 */ jal Math_FAtan2F
/* 01960 80A10BC0 C7AE0104 */ lwc1 $f14, 0x0104($sp)
/* 01964 80A10BC4 3C0180A1 */ lui $at, %hi(D_80A119F8) ## $at = 80A10000
/* 01968 80A10BC8 C42A19F8 */ lwc1 $f10, %lo(D_80A119F8)($at)
/* 0196C 80A10BCC C7A2010C */ lwc1 $f2, 0x010C($sp)
/* 01970 80A10BD0 C7B00104 */ lwc1 $f16, 0x0104($sp)
/* 01974 80A10BD4 460A0182 */ mul.s $f6, $f0, $f10
/* 01978 80A10BD8 00000000 */ nop
/* 0197C 80A10BDC 46021102 */ mul.s $f4, $f2, $f2
/* 01980 80A10BE0 00000000 */ nop
/* 01984 80A10BE4 46108282 */ mul.s $f10, $f16, $f16
/* 01988 80A10BE8 4600320D */ trunc.w.s $f8, $f6
/* 0198C 80A10BEC 460A2000 */ add.s $f0, $f4, $f10
/* 01990 80A10BF0 44184000 */ mfc1 $t8, $f8
/* 01994 80A10BF4 00000000 */ nop
/* 01998 80A10BF8 A6180032 */ sh $t8, 0x0032($s0) ## 00000032
/* 0199C 80A10BFC 46000384 */ sqrt.s $f14, $f0
/* 019A0 80A10C00 0C03F494 */ jal Math_FAtan2F
/* 019A4 80A10C04 C7AC0108 */ lwc1 $f12, 0x0108($sp)
/* 019A8 80A10C08 3C0180A1 */ lui $at, %hi(D_80A119FC) ## $at = 80A10000
/* 019AC 80A10C0C C42619FC */ lwc1 $f6, %lo(D_80A119FC)($at)
/* 019B0 80A10C10 A6000158 */ sh $zero, 0x0158($s0) ## 00000158
/* 019B4 80A10C14 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 019B8 80A10C18 46060202 */ mul.s $f8, $f0, $f6
/* 019BC 80A10C1C 2405182A */ addiu $a1, $zero, 0x182A ## $a1 = 0000182A
/* 019C0 80A10C20 4600410D */ trunc.w.s $f4, $f8
/* 019C4 80A10C24 440D2000 */ mfc1 $t5, $f4
/* 019C8 80A10C28 0C00BE0A */ jal Audio_PlayActorSound2
/* 019CC 80A10C2C A60D0030 */ sh $t5, 0x0030($s0) ## 00000030
/* 019D0 80A10C30 3C014000 */ lui $at, 0x4000 ## $at = 40000000
/* 019D4 80A10C34 44813000 */ mtc1 $at, $f6 ## $f6 = 2.00
/* 019D8 80A10C38 C60A0068 */ lwc1 $f10, 0x0068($s0) ## 00000068
/* 019DC 80A10C3C 86050158 */ lh $a1, 0x0158($s0) ## 00000158
/* 019E0 80A10C40 46065200 */ add.s $f8, $f10, $f6
/* 019E4 80A10C44 E6080068 */ swc1 $f8, 0x0068($s0) ## 00000068
.L80A10C48:
/* 019E8 80A10C48 3C0480A1 */ lui $a0, %hi(D_80A118AC) ## $a0 = 80A10000
/* 019EC 80A10C4C 0C00084C */ jal osSyncPrintf
/* 019F0 80A10C50 248418AC */ addiu $a0, $a0, %lo(D_80A118AC) ## $a0 = 80A118AC
/* 019F4 80A10C54 8FA900E4 */ lw $t1, 0x00E4($sp)
/* 019F8 80A10C58 3C0480A1 */ lui $a0, %hi(D_80A118BC) ## $a0 = 80A10000
/* 019FC 80A10C5C 248418BC */ addiu $a0, $a0, %lo(D_80A118BC) ## $a0 = 80A118BC
/* 01A00 80A10C60 0C00084C */ jal osSyncPrintf
/* 01A04 80A10C64 912501C9 */ lbu $a1, 0x01C9($t1) ## 000001C9
/* 01A08 80A10C68 860A0152 */ lh $t2, 0x0152($s0) ## 00000152
/* 01A0C 80A10C6C 3C014248 */ lui $at, 0x4248 ## $at = 42480000
/* 01A10 80A10C70 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 01A14 80A10C74 1540007C */ bne $t2, $zero, .L80A10E68
/* 01A18 80A10C78 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 01A1C 80A10C7C 44810000 */ mtc1 $at, $f0 ## $f0 = 50.00
/* 01A20 80A10C80 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000
/* 01A24 80A10C84 44812000 */ mtc1 $at, $f4 ## $f4 = 100.00
/* 01A28 80A10C88 24080007 */ addiu $t0, $zero, 0x0007 ## $t0 = 00000007
/* 01A2C 80A10C8C 44060000 */ mfc1 $a2, $f0
/* 01A30 80A10C90 44070000 */ mfc1 $a3, $f0
/* 01A34 80A10C94 AFA80014 */ sw $t0, 0x0014($sp)
/* 01A38 80A10C98 0C00B92D */ jal Actor_UpdateBgCheckInfo
/* 01A3C 80A10C9C E7A40010 */ swc1 $f4, 0x0010($sp)
/* 01A40 80A10CA0 960C0088 */ lhu $t4, 0x0088($s0) ## 00000088
/* 01A44 80A10CA4 3C1880A1 */ lui $t8, %hi(D_80A11810) ## $t8 = 80A10000
/* 01A48 80A10CA8 93AE00F3 */ lbu $t6, 0x00F3($sp)
/* 01A4C 80A10CAC 318B0019 */ andi $t3, $t4, 0x0019 ## $t3 = 00000000
/* 01A50 80A10CB0 15600003 */ bne $t3, $zero, .L80A10CC0
/* 01A54 80A10CB4 27181810 */ addiu $t8, $t8, %lo(D_80A11810) ## $t8 = 80A11810
/* 01A58 80A10CB8 11C0005B */ beq $t6, $zero, .L80A10E28
/* 01A5C 80A10CBC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
.L80A10CC0:
/* 01A60 80A10CC0 8F0D0000 */ lw $t5, 0x0000($t8) ## 80A11810
/* 01A64 80A10CC4 27AF0060 */ addiu $t7, $sp, 0x0060 ## $t7 = FFFFFF50
/* 01A68 80A10CC8 8F190004 */ lw $t9, 0x0004($t8) ## 80A11814
/* 01A6C 80A10CCC ADED0000 */ sw $t5, 0x0000($t7) ## FFFFFF50
/* 01A70 80A10CD0 8F0D0008 */ lw $t5, 0x0008($t8) ## 80A11818
/* 01A74 80A10CD4 26090024 */ addiu $t1, $s0, 0x0024 ## $t1 = 00000024
/* 01A78 80A10CD8 ADF90004 */ sw $t9, 0x0004($t7) ## FFFFFF54
/* 01A7C 80A10CDC ADED0008 */ sw $t5, 0x0008($t7) ## FFFFFF58
/* 01A80 80A10CE0 AFA90050 */ sw $t1, 0x0050($sp)
/* 01A84 80A10CE4 860A0158 */ lh $t2, 0x0158($s0) ## 00000158
/* 01A88 80A10CE8 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
/* 01A8C 80A10CEC 59400003 */ blezl $t2, .L80A10CFC
/* 01A90 80A10CF0 A7A00078 */ sh $zero, 0x0078($sp)
/* 01A94 80A10CF4 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
/* 01A98 80A10CF8 A7A00078 */ sh $zero, 0x0078($sp)
.L80A10CFC:
/* 01A9C 80A10CFC A3A2007B */ sb $v0, 0x007B($sp)
.L80A10D00:
/* 01AA0 80A10D00 0C00CFC8 */ jal Rand_CenteredFloat
/* 01AA4 80A10D04 4600A306 */ mov.s $f12, $f20
/* 01AA8 80A10D08 E7A0006C */ swc1 $f0, 0x006C($sp)
/* 01AAC 80A10D0C 0C00CFC8 */ jal Rand_CenteredFloat
/* 01AB0 80A10D10 4600A306 */ mov.s $f12, $f20
/* 01AB4 80A10D14 E7A00070 */ swc1 $f0, 0x0070($sp)
/* 01AB8 80A10D18 0C00CFC8 */ jal Rand_CenteredFloat
/* 01ABC 80A10D1C 4600A306 */ mov.s $f12, $f20
/* 01AC0 80A10D20 3C0180A1 */ lui $at, %hi(D_80A11A00) ## $at = 80A10000
/* 01AC4 80A10D24 C42A1A00 */ lwc1 $f10, %lo(D_80A11A00)($at)
/* 01AC8 80A10D28 E7A00074 */ swc1 $f0, 0x0074($sp)
/* 01ACC 80A10D2C 0C03F66B */ jal Rand_ZeroOne
## Rand.Next() float
/* 01AD0 80A10D30 E7AA0064 */ swc1 $f10, 0x0064($sp)
/* 01AD4 80A10D34 3C014248 */ lui $at, 0x4248 ## $at = 42480000
/* 01AD8 80A10D38 44813000 */ mtc1 $at, $f6 ## $f6 = 50.00
/* 01ADC 80A10D3C 93B8007B */ lbu $t8, 0x007B($sp)
/* 01AE0 80A10D40 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 01AE4 80A10D44 46060202 */ mul.s $f8, $f0, $f6
/* 01AE8 80A10D48 8FA50050 */ lw $a1, 0x0050($sp)
/* 01AEC 80A10D4C 27A6006C */ addiu $a2, $sp, 0x006C ## $a2 = FFFFFF5C
/* 01AF0 80A10D50 27A70060 */ addiu $a3, $sp, 0x0060 ## $a3 = FFFFFF50
/* 01AF4 80A10D54 AFB80014 */ sw $t8, 0x0014($sp)
/* 01AF8 80A10D58 4600410D */ trunc.w.s $f4, $f8
/* 01AFC 80A10D5C 440C2000 */ mfc1 $t4, $f4
/* 01B00 80A10D60 00000000 */ nop
/* 01B04 80A10D64 000C5C00 */ sll $t3, $t4, 16
/* 01B08 80A10D68 000B7403 */ sra $t6, $t3, 16
/* 01B0C 80A10D6C 25CF0064 */ addiu $t7, $t6, 0x0064 ## $t7 = 00000064
/* 01B10 80A10D70 0C00A73C */ jal EffectSsFhgFlash_SpawnLightBall
/* 01B14 80A10D74 AFAF0010 */ sw $t7, 0x0010($sp)
/* 01B18 80A10D78 87A20078 */ lh $v0, 0x0078($sp)
/* 01B1C 80A10D7C 24420001 */ addiu $v0, $v0, 0x0001 ## $v0 = 00000001
/* 01B20 80A10D80 00021400 */ sll $v0, $v0, 16
/* 01B24 80A10D84 00021403 */ sra $v0, $v0, 16
/* 01B28 80A10D88 2841001E */ slti $at, $v0, 0x001E
/* 01B2C 80A10D8C 1420FFDC */ bne $at, $zero, .L80A10D00
/* 01B30 80A10D90 A7A20078 */ sh $v0, 0x0078($sp)
/* 01B34 80A10D94 93A200F3 */ lbu $v0, 0x00F3($sp)
/* 01B38 80A10D98 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 01B3C 80A10D9C 54410017 */ bnel $v0, $at, .L80A10DFC
/* 01B40 80A10DA0 8FA800E4 */ lw $t0, 0x00E4($sp)
/* 01B44 80A10DA4 C60A0024 */ lwc1 $f10, 0x0024($s0) ## 00000024
/* 01B48 80A10DA8 8FB900EC */ lw $t9, 0x00EC($sp)
/* 01B4C 80A10DAC 240D00C8 */ addiu $t5, $zero, 0x00C8 ## $t5 = 000000C8
/* 01B50 80A10DB0 E7AA0010 */ swc1 $f10, 0x0010($sp)
/* 01B54 80A10DB4 C7260028 */ lwc1 $f6, 0x0028($t9) ## 00000028
/* 01B58 80A10DB8 24090024 */ addiu $t1, $zero, 0x0024 ## $t1 = 00000024
/* 01B5C 80A10DBC 26241C24 */ addiu $a0, $s1, 0x1C24 ## $a0 = 00001C24
/* 01B60 80A10DC0 46143200 */ add.s $f8, $f6, $f20
/* 01B64 80A10DC4 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 01B68 80A10DC8 02203025 */ or $a2, $s1, $zero ## $a2 = 00000000
/* 01B6C 80A10DCC 2407006D */ addiu $a3, $zero, 0x006D ## $a3 = 0000006D
/* 01B70 80A10DD0 E7A80014 */ swc1 $f8, 0x0014($sp)
/* 01B74 80A10DD4 C604002C */ lwc1 $f4, 0x002C($s0) ## 0000002C
/* 01B78 80A10DD8 AFA20050 */ sw $v0, 0x0050($sp)
/* 01B7C 80A10DDC AFA90028 */ sw $t1, 0x0028($sp)
/* 01B80 80A10DE0 AFA00024 */ sw $zero, 0x0024($sp)
/* 01B84 80A10DE4 AFA00020 */ sw $zero, 0x0020($sp)
/* 01B88 80A10DE8 AFAD001C */ sw $t5, 0x001C($sp)
/* 01B8C 80A10DEC 0C00C916 */ jal Actor_SpawnAsChild
/* 01B90 80A10DF0 E7A40018 */ swc1 $f4, 0x0018($sp)
/* 01B94 80A10DF4 8FA20050 */ lw $v0, 0x0050($sp)
/* 01B98 80A10DF8 8FA800E4 */ lw $t0, 0x00E4($sp)
.L80A10DFC:
/* 01B9C 80A10DFC 240A0001 */ addiu $t2, $zero, 0x0001 ## $t2 = 00000001
/* 01BA0 80A10E00 240C001E */ addiu $t4, $zero, 0x001E ## $t4 = 0000001E
/* 01BA4 80A10E04 A10A01C9 */ sb $t2, 0x01C9($t0) ## 000001C9
/* 01BA8 80A10E08 A60C015C */ sh $t4, 0x015C($s0) ## 0000015C
/* 01BAC 80A10E0C 1440003C */ bne $v0, $zero, .L80A10F00
/* 01BB0 80A10E10 AE000134 */ sw $zero, 0x0134($s0) ## 00000134
/* 01BB4 80A10E14 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01BB8 80A10E18 0C00BE0A */ jal Audio_PlayActorSound2
/* 01BBC 80A10E1C 240538AD */ addiu $a1, $zero, 0x38AD ## $a1 = 000038AD
/* 01BC0 80A10E20 10000038 */ beq $zero, $zero, .L80A10F04
/* 01BC4 80A10E24 8FBF0044 */ lw $ra, 0x0044($sp)
.L80A10E28:
/* 01BC8 80A10E28 260501B0 */ addiu $a1, $s0, 0x01B0 ## $a1 = 000001B0
/* 01BCC 80A10E2C 0C0189B7 */ jal Collider_UpdateCylinder
/* 01BD0 80A10E30 AFA50050 */ sw $a1, 0x0050($sp)
/* 01BD4 80A10E34 3C0480A1 */ lui $a0, %hi(D_80A118CC) ## $a0 = 80A10000
/* 01BD8 80A10E38 248418CC */ addiu $a0, $a0, %lo(D_80A118CC) ## $a0 = 80A118CC
/* 01BDC 80A10E3C 0C00084C */ jal osSyncPrintf
/* 01BE0 80A10E40 920501C5 */ lbu $a1, 0x01C5($s0) ## 000001C5
/* 01BE4 80A10E44 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 01BE8 80A10E48 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60
/* 01BEC 80A10E4C 02212821 */ addu $a1, $s1, $at
/* 01BF0 80A10E50 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 01BF4 80A10E54 0C01767D */ jal CollisionCheck_SetAC
## CollisionCheck_setAC
/* 01BF8 80A10E58 8FA60050 */ lw $a2, 0x0050($sp)
/* 01BFC 80A10E5C 3C0480A1 */ lui $a0, %hi(D_80A118E0) ## $a0 = 80A10000
/* 01C00 80A10E60 0C00084C */ jal osSyncPrintf
/* 01C04 80A10E64 248418E0 */ addiu $a0, $a0, %lo(D_80A118E0) ## $a0 = 80A118E0
.L80A10E68:
/* 01C08 80A10E68 C60A0024 */ lwc1 $f10, 0x0024($s0) ## 00000024
/* 01C0C 80A10E6C C6080028 */ lwc1 $f8, 0x0028($s0) ## 00000028
/* 01C10 80A10E70 241800FF */ addiu $t8, $zero, 0x00FF ## $t8 = 000000FF
/* 01C14 80A10E74 4600518D */ trunc.w.s $f6, $f10
/* 01C18 80A10E78 C60A002C */ lwc1 $f10, 0x002C($s0) ## 0000002C
/* 01C1C 80A10E7C 241900FF */ addiu $t9, $zero, 0x00FF ## $t9 = 000000FF
/* 01C20 80A10E80 4600410D */ trunc.w.s $f4, $f8
/* 01C24 80A10E84 44053000 */ mfc1 $a1, $f6
/* 01C28 80A10E88 240D00FF */ addiu $t5, $zero, 0x00FF ## $t5 = 000000FF
/* 01C2C 80A10E8C 4600518D */ trunc.w.s $f6, $f10
/* 01C30 80A10E90 44062000 */ mfc1 $a2, $f4
/* 01C34 80A10E94 240900C8 */ addiu $t1, $zero, 0x00C8 ## $t1 = 000000C8
/* 01C38 80A10E98 00052C00 */ sll $a1, $a1, 16
/* 01C3C 80A10E9C 44073000 */ mfc1 $a3, $f6
/* 01C40 80A10EA0 00063400 */ sll $a2, $a2, 16
/* 01C44 80A10EA4 00063403 */ sra $a2, $a2, 16
/* 01C48 80A10EA8 00073C00 */ sll $a3, $a3, 16
/* 01C4C 80A10EAC 00073C03 */ sra $a3, $a3, 16
/* 01C50 80A10EB0 00052C03 */ sra $a1, $a1, 16
/* 01C54 80A10EB4 AFA9001C */ sw $t1, 0x001C($sp)
/* 01C58 80A10EB8 AFAD0018 */ sw $t5, 0x0018($sp)
/* 01C5C 80A10EBC AFB90014 */ sw $t9, 0x0014($sp)
/* 01C60 80A10EC0 AFB80010 */ sw $t8, 0x0010($sp)
/* 01C64 80A10EC4 0C01E763 */ jal Lights_PointNoGlowSetInfo
/* 01C68 80A10EC8 260401A0 */ addiu $a0, $s0, 0x01A0 ## $a0 = 000001A0
/* 01C6C 80A10ECC C6080068 */ lwc1 $f8, 0x0068($s0) ## 00000068
/* 01C70 80A10ED0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01C74 80A10ED4 4608A03C */ c.lt.s $f20, $f8
/* 01C78 80A10ED8 00000000 */ nop
/* 01C7C 80A10EDC 45000002 */ bc1f .L80A10EE8
/* 01C80 80A10EE0 00000000 */ nop
/* 01C84 80A10EE4 E6140068 */ swc1 $f20, 0x0068($s0) ## 00000068
.L80A10EE8:
/* 01C88 80A10EE8 0C00BE0A */ jal Audio_PlayActorSound2
/* 01C8C 80A10EEC 240530A7 */ addiu $a1, $zero, 0x30A7 ## $a1 = 000030A7
/* 01C90 80A10EF0 3C0480A1 */ lui $a0, %hi(D_80A118F0) ## $a0 = 80A10000
/* 01C94 80A10EF4 248418F0 */ addiu $a0, $a0, %lo(D_80A118F0) ## $a0 = 80A118F0
/* 01C98 80A10EF8 0C00084C */ jal osSyncPrintf
/* 01C9C 80A10EFC 86050156 */ lh $a1, 0x0156($s0) ## 00000156
.L80A10F00:
/* 01CA0 80A10F00 8FBF0044 */ lw $ra, 0x0044($sp)
.L80A10F04:
/* 01CA4 80A10F04 D7B40030 */ ldc1 $f20, 0x0030($sp)
/* 01CA8 80A10F08 8FB0003C */ lw $s0, 0x003C($sp)
/* 01CAC 80A10F0C 8FB10040 */ lw $s1, 0x0040($sp)
/* 01CB0 80A10F10 03E00008 */ jr $ra
/* 01CB4 80A10F14 27BD0110 */ addiu $sp, $sp, 0x0110 ## $sp = 00000000

View file

@ -1,31 +0,0 @@
.rdata
glabel D_80B65210
.asciz "F DT1\n"
.balign 4
glabel D_80B65218
.asciz "F DT2\n"
.balign 4
.text
glabel EnfHG_Destroy
/* 000FC 80B62ABC 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00100 80B62AC0 AFA40018 */ sw $a0, 0x0018($sp)
/* 00104 80B62AC4 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00108 80B62AC8 3C0480B6 */ lui $a0, %hi(D_80B65210) ## $a0 = 80B60000
/* 0010C 80B62ACC AFA5001C */ sw $a1, 0x001C($sp)
/* 00110 80B62AD0 0C00084C */ jal osSyncPrintf
/* 00114 80B62AD4 24845210 */ addiu $a0, $a0, %lo(D_80B65210) ## $a0 = 80B65210
/* 00118 80B62AD8 8FA50018 */ lw $a1, 0x0018($sp)
/* 0011C 80B62ADC 8FA4001C */ lw $a0, 0x001C($sp)
/* 00120 80B62AE0 0C029A22 */ jal func_800A6888
/* 00124 80B62AE4 24A50204 */ addiu $a1, $a1, 0x0204 ## $a1 = 00000204
/* 00128 80B62AE8 3C0480B6 */ lui $a0, %hi(D_80B65218) ## $a0 = 80B60000
/* 0012C 80B62AEC 0C00084C */ jal osSyncPrintf
/* 00130 80B62AF0 24845218 */ addiu $a0, $a0, %lo(D_80B65218) ## $a0 = 80B65218
/* 00134 80B62AF4 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00138 80B62AF8 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 0013C 80B62AFC 03E00008 */ jr $ra
/* 00140 80B62B00 00000000 */ nop

View file

@ -1,202 +0,0 @@
.rdata
glabel D_80B65378
.asciz "../z_en_fhg.c"
.balign 4
glabel D_80B65388
.asciz "../z_en_fhg.c"
.balign 4
.text
glabel EnfHG_Draw
/* 024E4 80B64EA4 27BDFFA0 */ addiu $sp, $sp, 0xFFA0 ## $sp = FFFFFFA0
/* 024E8 80B64EA8 AFBF0034 */ sw $ra, 0x0034($sp)
/* 024EC 80B64EAC AFB20030 */ sw $s2, 0x0030($sp)
/* 024F0 80B64EB0 AFB1002C */ sw $s1, 0x002C($sp)
/* 024F4 80B64EB4 AFB00028 */ sw $s0, 0x0028($sp)
/* 024F8 80B64EB8 8C8E0118 */ lw $t6, 0x0118($a0) ## 00000118
/* 024FC 80B64EBC 00A09025 */ or $s2, $a1, $zero ## $s2 = 00000000
/* 02500 80B64EC0 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 02504 80B64EC4 AFAE0058 */ sw $t6, 0x0058($sp)
/* 02508 80B64EC8 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000
/* 0250C 80B64ECC 3C0680B6 */ lui $a2, %hi(D_80B65378) ## $a2 = 80B60000
/* 02510 80B64ED0 24C65378 */ addiu $a2, $a2, %lo(D_80B65378) ## $a2 = 80B65378
/* 02514 80B64ED4 27A40040 */ addiu $a0, $sp, 0x0040 ## $a0 = FFFFFFE0
/* 02518 80B64ED8 24070987 */ addiu $a3, $zero, 0x0987 ## $a3 = 00000987
/* 0251C 80B64EDC 0C031AB1 */ jal Graph_OpenDisps
/* 02520 80B64EE0 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
/* 02524 80B64EE4 0C024F46 */ jal func_80093D18
/* 02528 80B64EE8 8E440000 */ lw $a0, 0x0000($s2) ## 00000000
/* 0252C 80B64EEC 8FA20058 */ lw $v0, 0x0058($sp)
/* 02530 80B64EF0 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
/* 02534 80B64EF4 844F01A0 */ lh $t7, 0x01A0($v0) ## 000001A0
/* 02538 80B64EF8 31F80004 */ andi $t8, $t7, 0x0004 ## $t8 = 00000000
/* 0253C 80B64EFC 53000010 */ beql $t8, $zero, .L80B64F40
/* 02540 80B64F00 444AF800 */ cfc1 $t2, $31
/* 02544 80B64F04 905901C9 */ lbu $t9, 0x01C9($v0) ## 000001C9
/* 02548 80B64F08 24060032 */ addiu $a2, $zero, 0x0032 ## $a2 = 00000032
/* 0254C 80B64F0C 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
/* 02550 80B64F10 1720000A */ bne $t9, $zero, .L80B64F3C
/* 02554 80B64F14 24080384 */ addiu $t0, $zero, 0x0384 ## $t0 = 00000384
/* 02558 80B64F18 8E2402C0 */ lw $a0, 0x02C0($s1) ## 000002C0
/* 0255C 80B64F1C 2409044B */ addiu $t1, $zero, 0x044B ## $t1 = 0000044B
/* 02560 80B64F20 AFA90018 */ sw $t1, 0x0018($sp)
/* 02564 80B64F24 AFA80014 */ sw $t0, 0x0014($sp)
/* 02568 80B64F28 AFA00010 */ sw $zero, 0x0010($sp)
/* 0256C 80B64F2C 0C024CDC */ jal Gfx_SetFog
/* 02570 80B64F30 240500FF */ addiu $a1, $zero, 0x00FF ## $a1 = 000000FF
/* 02574 80B64F34 10000076 */ beq $zero, $zero, .L80B65110
/* 02578 80B64F38 AE2202C0 */ sw $v0, 0x02C0($s1) ## 000002C0
.L80B64F3C:
/* 0257C 80B64F3C 444AF800 */ cfc1 $t2, $31
.L80B64F40:
/* 02580 80B64F40 44C5F800 */ ctc1 $a1, $31
/* 02584 80B64F44 C60401E8 */ lwc1 $f4, 0x01E8($s0) ## 000001E8
/* 02588 80B64F48 8E2402C0 */ lw $a0, 0x02C0($s1) ## 000002C0
/* 0258C 80B64F4C 3C014F00 */ lui $at, 0x4F00 ## $at = 4F000000
/* 02590 80B64F50 460021A4 */ cvt.w.s $f6, $f4
/* 02594 80B64F54 4445F800 */ cfc1 $a1, $31
/* 02598 80B64F58 00000000 */ nop
/* 0259C 80B64F5C 30A50078 */ andi $a1, $a1, 0x0078 ## $a1 = 00000000
/* 025A0 80B64F60 50A00013 */ beql $a1, $zero, .L80B64FB0
/* 025A4 80B64F64 44053000 */ mfc1 $a1, $f6
/* 025A8 80B64F68 44813000 */ mtc1 $at, $f6 ## $f6 = 2147483648.00
/* 025AC 80B64F6C 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
/* 025B0 80B64F70 46062181 */ sub.s $f6, $f4, $f6
/* 025B4 80B64F74 44C5F800 */ ctc1 $a1, $31
/* 025B8 80B64F78 00000000 */ nop
/* 025BC 80B64F7C 460031A4 */ cvt.w.s $f6, $f6
/* 025C0 80B64F80 4445F800 */ cfc1 $a1, $31
/* 025C4 80B64F84 00000000 */ nop
/* 025C8 80B64F88 30A50078 */ andi $a1, $a1, 0x0078 ## $a1 = 00000000
/* 025CC 80B64F8C 14A00005 */ bne $a1, $zero, .L80B64FA4
/* 025D0 80B64F90 00000000 */ nop
/* 025D4 80B64F94 44053000 */ mfc1 $a1, $f6
/* 025D8 80B64F98 3C018000 */ lui $at, 0x8000 ## $at = 80000000
/* 025DC 80B64F9C 10000007 */ beq $zero, $zero, .L80B64FBC
/* 025E0 80B64FA0 00A12825 */ or $a1, $a1, $at ## $a1 = 80000000
.L80B64FA4:
/* 025E4 80B64FA4 10000005 */ beq $zero, $zero, .L80B64FBC
/* 025E8 80B64FA8 2405FFFF */ addiu $a1, $zero, 0xFFFF ## $a1 = FFFFFFFF
/* 025EC 80B64FAC 44053000 */ mfc1 $a1, $f6
.L80B64FB0:
/* 025F0 80B64FB0 00000000 */ nop
/* 025F4 80B64FB4 04A0FFFB */ bltz $a1, .L80B64FA4
/* 025F8 80B64FB8 00000000 */ nop
.L80B64FBC:
/* 025FC 80B64FBC 44CAF800 */ ctc1 $t2, $31
/* 02600 80B64FC0 24060001 */ addiu $a2, $zero, 0x0001 ## $a2 = 00000001
/* 02604 80B64FC4 C60801EC */ lwc1 $f8, 0x01EC($s0) ## 000001EC
/* 02608 80B64FC8 3C014F00 */ lui $at, 0x4F00 ## $at = 4F000000
/* 0260C 80B64FCC 444BF800 */ cfc1 $t3, $31
/* 02610 80B64FD0 44C6F800 */ ctc1 $a2, $31
/* 02614 80B64FD4 00000000 */ nop
/* 02618 80B64FD8 460042A4 */ cvt.w.s $f10, $f8
/* 0261C 80B64FDC 4446F800 */ cfc1 $a2, $31
/* 02620 80B64FE0 00000000 */ nop
/* 02624 80B64FE4 30C60078 */ andi $a2, $a2, 0x0078 ## $a2 = 00000000
/* 02628 80B64FE8 50C00013 */ beql $a2, $zero, .L80B65038
/* 0262C 80B64FEC 44065000 */ mfc1 $a2, $f10
/* 02630 80B64FF0 44815000 */ mtc1 $at, $f10 ## $f10 = 2147483648.00
/* 02634 80B64FF4 24060001 */ addiu $a2, $zero, 0x0001 ## $a2 = 00000001
/* 02638 80B64FF8 460A4281 */ sub.s $f10, $f8, $f10
/* 0263C 80B64FFC 44C6F800 */ ctc1 $a2, $31
/* 02640 80B65000 00000000 */ nop
/* 02644 80B65004 460052A4 */ cvt.w.s $f10, $f10
/* 02648 80B65008 4446F800 */ cfc1 $a2, $31
/* 0264C 80B6500C 00000000 */ nop
/* 02650 80B65010 30C60078 */ andi $a2, $a2, 0x0078 ## $a2 = 00000000
/* 02654 80B65014 14C00005 */ bne $a2, $zero, .L80B6502C
/* 02658 80B65018 00000000 */ nop
/* 0265C 80B6501C 44065000 */ mfc1 $a2, $f10
/* 02660 80B65020 3C018000 */ lui $at, 0x8000 ## $at = 80000000
/* 02664 80B65024 10000007 */ beq $zero, $zero, .L80B65044
/* 02668 80B65028 00C13025 */ or $a2, $a2, $at ## $a2 = 80000000
.L80B6502C:
/* 0266C 80B6502C 10000005 */ beq $zero, $zero, .L80B65044
/* 02670 80B65030 2406FFFF */ addiu $a2, $zero, 0xFFFF ## $a2 = FFFFFFFF
/* 02674 80B65034 44065000 */ mfc1 $a2, $f10
.L80B65038:
/* 02678 80B65038 00000000 */ nop
/* 0267C 80B6503C 04C0FFFB */ bltz $a2, .L80B6502C
/* 02680 80B65040 00000000 */ nop
.L80B65044:
/* 02684 80B65044 44CBF800 */ ctc1 $t3, $31
/* 02688 80B65048 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
/* 0268C 80B6504C C61001F0 */ lwc1 $f16, 0x01F0($s0) ## 000001F0
/* 02690 80B65050 3C014F00 */ lui $at, 0x4F00 ## $at = 4F000000
/* 02694 80B65054 444CF800 */ cfc1 $t4, $31
/* 02698 80B65058 44C7F800 */ ctc1 $a3, $31
/* 0269C 80B6505C 00000000 */ nop
/* 026A0 80B65060 460084A4 */ cvt.w.s $f18, $f16
/* 026A4 80B65064 4447F800 */ cfc1 $a3, $31
/* 026A8 80B65068 00000000 */ nop
/* 026AC 80B6506C 30E70078 */ andi $a3, $a3, 0x0078 ## $a3 = 00000000
/* 026B0 80B65070 50E00013 */ beql $a3, $zero, .L80B650C0
/* 026B4 80B65074 44079000 */ mfc1 $a3, $f18
/* 026B8 80B65078 44819000 */ mtc1 $at, $f18 ## $f18 = 2147483648.00
/* 026BC 80B6507C 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
/* 026C0 80B65080 46128481 */ sub.s $f18, $f16, $f18
/* 026C4 80B65084 44C7F800 */ ctc1 $a3, $31
/* 026C8 80B65088 00000000 */ nop
/* 026CC 80B6508C 460094A4 */ cvt.w.s $f18, $f18
/* 026D0 80B65090 4447F800 */ cfc1 $a3, $31
/* 026D4 80B65094 00000000 */ nop
/* 026D8 80B65098 30E70078 */ andi $a3, $a3, 0x0078 ## $a3 = 00000000
/* 026DC 80B6509C 14E00005 */ bne $a3, $zero, .L80B650B4
/* 026E0 80B650A0 00000000 */ nop
/* 026E4 80B650A4 44079000 */ mfc1 $a3, $f18
/* 026E8 80B650A8 3C018000 */ lui $at, 0x8000 ## $at = 80000000
/* 026EC 80B650AC 10000007 */ beq $zero, $zero, .L80B650CC
/* 026F0 80B650B0 00E13825 */ or $a3, $a3, $at ## $a3 = 80000000
.L80B650B4:
/* 026F4 80B650B4 10000005 */ beq $zero, $zero, .L80B650CC
/* 026F8 80B650B8 2407FFFF */ addiu $a3, $zero, 0xFFFF ## $a3 = FFFFFFFF
/* 026FC 80B650BC 44079000 */ mfc1 $a3, $f18
.L80B650C0:
/* 02700 80B650C0 00000000 */ nop
/* 02704 80B650C4 04E0FFFB */ bltz $a3, .L80B650B4
/* 02708 80B650C8 00000000 */ nop
.L80B650CC:
/* 0270C 80B650CC AFA00010 */ sw $zero, 0x0010($sp)
/* 02710 80B650D0 C60401F4 */ lwc1 $f4, 0x01F4($s0) ## 000001F4
/* 02714 80B650D4 44CCF800 */ ctc1 $t4, $31
/* 02718 80B650D8 00000000 */ nop
/* 0271C 80B650DC 4600218D */ trunc.w.s $f6, $f4
/* 02720 80B650E0 440E3000 */ mfc1 $t6, $f6
/* 02724 80B650E4 00000000 */ nop
/* 02728 80B650E8 25CF03E3 */ addiu $t7, $t6, 0x03E3 ## $t7 = 000003E3
/* 0272C 80B650EC AFAF0014 */ sw $t7, 0x0014($sp)
/* 02730 80B650F0 C60801F8 */ lwc1 $f8, 0x01F8($s0) ## 000001F8
/* 02734 80B650F4 4600428D */ trunc.w.s $f10, $f8
/* 02738 80B650F8 44195000 */ mfc1 $t9, $f10
/* 0273C 80B650FC 00000000 */ nop
/* 02740 80B65100 272803E8 */ addiu $t0, $t9, 0x03E8 ## $t0 = 000003E8
/* 02744 80B65104 0C024CDC */ jal Gfx_SetFog
/* 02748 80B65108 AFA80018 */ sw $t0, 0x0018($sp)
/* 0274C 80B6510C AE2202C0 */ sw $v0, 0x02C0($s1) ## 000002C0
.L80B65110:
/* 02750 80B65110 3C0780B6 */ lui $a3, %hi(func_80B64E94) ## $a3 = 80B60000
/* 02754 80B65114 24090023 */ addiu $t1, $zero, 0x0023 ## $t1 = 00000023
/* 02758 80B65118 AFA90010 */ sw $t1, 0x0010($sp)
/* 0275C 80B6511C 24E74E94 */ addiu $a3, $a3, %lo(func_80B64E94) ## $a3 = 80B64E94
/* 02760 80B65120 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 02764 80B65124 02402825 */ or $a1, $s2, $zero ## $a1 = 00000000
/* 02768 80B65128 0C0298CC */ jal func_800A6330
/* 0276C 80B6512C 26060204 */ addiu $a2, $s0, 0x0204 ## $a2 = 00000204
/* 02770 80B65130 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000
/* 02774 80B65134 0C02F228 */ jal func_800BC8A0
/* 02778 80B65138 8E2502C0 */ lw $a1, 0x02C0($s1) ## 000002C0
/* 0277C 80B6513C AE2202C0 */ sw $v0, 0x02C0($s1) ## 000002C0
/* 02780 80B65140 3C0680B6 */ lui $a2, %hi(D_80B65388) ## $a2 = 80B60000
/* 02784 80B65144 24C65388 */ addiu $a2, $a2, %lo(D_80B65388) ## $a2 = 80B65388
/* 02788 80B65148 8E450000 */ lw $a1, 0x0000($s2) ## 00000000
/* 0278C 80B6514C 27A40040 */ addiu $a0, $sp, 0x0040 ## $a0 = FFFFFFE0
/* 02790 80B65150 0C031AD5 */ jal Graph_CloseDisps
/* 02794 80B65154 240709B0 */ addiu $a3, $zero, 0x09B0 ## $a3 = 000009B0
/* 02798 80B65158 8FBF0034 */ lw $ra, 0x0034($sp)
/* 0279C 80B6515C 8FB00028 */ lw $s0, 0x0028($sp)
/* 027A0 80B65160 8FB1002C */ lw $s1, 0x002C($sp)
/* 027A4 80B65164 8FB20030 */ lw $s2, 0x0030($sp)
/* 027A8 80B65168 03E00008 */ jr $ra
/* 027AC 80B6516C 27BD0060 */ addiu $sp, $sp, 0x0060 ## $sp = 00000000

View file

@ -1,70 +0,0 @@
glabel EnfHG_Init
/* 00000 80B629C0 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 00004 80B629C4 AFA50024 */ sw $a1, 0x0024($sp)
/* 00008 80B629C8 AFBF001C */ sw $ra, 0x001C($sp)
/* 0000C 80B629CC AFB00018 */ sw $s0, 0x0018($sp)
/* 00010 80B629D0 3C0580B6 */ lui $a1, %hi(D_80B651F0) ## $a1 = 80B60000
/* 00014 80B629D4 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00018 80B629D8 0C01E037 */ jal Actor_ProcessInitChain
/* 0001C 80B629DC 24A551F0 */ addiu $a1, $a1, %lo(D_80B651F0) ## $a1 = 80B651F0
/* 00020 80B629E0 8FA40024 */ lw $a0, 0x0024($sp)
/* 00024 80B629E4 0C00B2DD */ jal Flags_SetSwitch
/* 00028 80B629E8 24050014 */ addiu $a1, $zero, 0x0014 ## $a1 = 00000014
/* 0002C 80B629EC 3C053C3C */ lui $a1, 0x3C3C ## $a1 = 3C3C0000
/* 00030 80B629F0 34A56A7E */ ori $a1, $a1, 0x6A7E ## $a1 = 3C3C6A7E
/* 00034 80B629F4 0C00B58B */ jal Actor_SetScale
/* 00038 80B629F8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 0003C 80B629FC 3C01C060 */ lui $at, 0xC060 ## $at = C0600000
/* 00040 80B62A00 44812000 */ mtc1 $at, $f4 ## $f4 = -3.50
/* 00044 80B62A04 3C05C522 */ lui $a1, 0xC522 ## $a1 = C5220000
/* 00048 80B62A08 34A58000 */ ori $a1, $a1, 0x8000 ## $a1 = C5228000
/* 0004C 80B62A0C 260400B4 */ addiu $a0, $s0, 0x00B4 ## $a0 = 000000B4
/* 00050 80B62A10 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
/* 00054 80B62A14 3C0741A0 */ lui $a3, 0x41A0 ## $a3 = 41A00000
/* 00058 80B62A18 0C00AC78 */ jal ActorShape_Init
/* 0005C 80B62A1C E604006C */ swc1 $f4, 0x006C($s0) ## 0000006C
/* 00060 80B62A20 8E0E0028 */ lw $t6, 0x0028($s0) ## 00000028
/* 00064 80B62A24 3C01428C */ lui $at, 0x428C ## $at = 428C0000
/* 00068 80B62A28 8E0F0024 */ lw $t7, 0x0024($s0) ## 00000024
/* 0006C 80B62A2C AE0E003C */ sw $t6, 0x003C($s0) ## 0000003C
/* 00070 80B62A30 C608003C */ lwc1 $f8, 0x003C($s0) ## 0000003C
/* 00074 80B62A34 44815000 */ mtc1 $at, $f10 ## $f10 = 70.00
/* 00078 80B62A38 AE0F0038 */ sw $t7, 0x0038($s0) ## 00000038
/* 0007C 80B62A3C 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00
/* 00080 80B62A40 460A4400 */ add.s $f16, $f8, $f10
/* 00084 80B62A44 8E0F002C */ lw $t7, 0x002C($s0) ## 0000002C
/* 00088 80B62A48 3C060601 */ lui $a2, 0x0601 ## $a2 = 06010000
/* 0008C 80B62A4C 3C070601 */ lui $a3, 0x0601 ## $a3 = 06010000
/* 00090 80B62A50 E610003C */ swc1 $f16, 0x003C($s0) ## 0000003C
/* 00094 80B62A54 E6060068 */ swc1 $f6, 0x0068($s0) ## 00000068
/* 00098 80B62A58 AE0F0040 */ sw $t7, 0x0040($s0) ## 00000040
/* 0009C 80B62A5C 8FA40024 */ lw $a0, 0x0024($sp)
/* 000A0 80B62A60 24E7B4C8 */ addiu $a3, $a3, 0xB4C8 ## $a3 = 0600B4C8
/* 000A4 80B62A64 24C6B098 */ addiu $a2, $a2, 0xB098 ## $a2 = 0600B098
/* 000A8 80B62A68 0C02998F */ jal func_800A663C
/* 000AC 80B62A6C 26050204 */ addiu $a1, $s0, 0x0204 ## $a1 = 00000204
/* 000B0 80B62A70 8602001C */ lh $v0, 0x001C($s0) ## 0000001C
/* 000B4 80B62A74 8FA50024 */ lw $a1, 0x0024($sp)
/* 000B8 80B62A78 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 000BC 80B62A7C 2841000A */ slti $at, $v0, 0x000A
/* 000C0 80B62A80 14200007 */ bne $at, $zero, .L80B62AA0
/* 000C4 80B62A84 2446FFF6 */ addiu $a2, $v0, 0xFFF6 ## $a2 = FFFFFFF6
/* 000C8 80B62A88 00063400 */ sll $a2, $a2, 16
/* 000CC 80B62A8C 00063403 */ sra $a2, $a2, 16
/* 000D0 80B62A90 0C2D8F61 */ jal func_80B63D84
/* 000D4 80B62A94 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 000D8 80B62A98 10000004 */ beq $zero, $zero, .L80B62AAC
/* 000DC 80B62A9C 8FBF001C */ lw $ra, 0x001C($sp)
.L80B62AA0:
/* 000E0 80B62AA0 0C2D8AC1 */ jal func_80B62B04
/* 000E4 80B62AA4 8FA50024 */ lw $a1, 0x0024($sp)
/* 000E8 80B62AA8 8FBF001C */ lw $ra, 0x001C($sp)
.L80B62AAC:
/* 000EC 80B62AAC 8FB00018 */ lw $s0, 0x0018($sp)
/* 000F0 80B62AB0 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 000F4 80B62AB4 03E00008 */ jr $ra
/* 000F8 80B62AB8 00000000 */ nop

View file

@ -1,115 +0,0 @@
.late_rodata
glabel D_80B65454
.float 1500.0
.text
glabel EnfHG_Update
/* 02340 80B64D00 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 02344 80B64D04 AFBF001C */ sw $ra, 0x001C($sp)
/* 02348 80B64D08 AFB00018 */ sw $s0, 0x0018($sp)
/* 0234C 80B64D0C 908E014E */ lbu $t6, 0x014E($a0) ## 0000014E
/* 02350 80B64D10 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 02354 80B64D14 24190001 */ addiu $t9, $zero, 0x0001 ## $t9 = 00000001
/* 02358 80B64D18 51C00006 */ beql $t6, $zero, .L80B64D34
/* 0235C 80B64D1C 860F01C0 */ lh $t7, 0x01C0($s0) ## 000001C0
/* 02360 80B64D20 0C00B55C */ jal Actor_Kill
/* 02364 80B64D24 00000000 */ nop
/* 02368 80B64D28 10000056 */ beq $zero, $zero, .L80B64E84
/* 0236C 80B64D2C 8FBF001C */ lw $ra, 0x001C($sp)
/* 02370 80B64D30 860F01C0 */ lh $t7, 0x01C0($s0) ## 000001C0
.L80B64D34:
/* 02374 80B64D34 A219014D */ sb $t9, 0x014D($s0) ## 0000014D
/* 02378 80B64D38 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
/* 0237C 80B64D3C 25F80001 */ addiu $t8, $t7, 0x0001 ## $t8 = 00000001
/* 02380 80B64D40 A61801C0 */ sh $t8, 0x01C0($s0) ## 000001C0
/* 02384 80B64D44 00024040 */ sll $t0, $v0, 1
.L80B64D48:
/* 02388 80B64D48 02081821 */ addu $v1, $s0, $t0
/* 0238C 80B64D4C 846401D4 */ lh $a0, 0x01D4($v1) ## 000001D4
/* 02390 80B64D50 24420001 */ addiu $v0, $v0, 0x0001 ## $v0 = 00000001
/* 02394 80B64D54 304200FF */ andi $v0, $v0, 0x00FF ## $v0 = 00000001
/* 02398 80B64D58 10800003 */ beq $a0, $zero, .L80B64D68
/* 0239C 80B64D5C 28410005 */ slti $at, $v0, 0x0005
/* 023A0 80B64D60 2489FFFF */ addiu $t1, $a0, 0xFFFF ## $t1 = FFFFFFFF
/* 023A4 80B64D64 A46901D4 */ sh $t1, 0x01D4($v1) ## 000001D4
.L80B64D68:
/* 023A8 80B64D68 5420FFF7 */ bnel $at, $zero, .L80B64D48
/* 023AC 80B64D6C 00024040 */ sll $t0, $v0, 1
/* 023B0 80B64D70 8E1901FC */ lw $t9, 0x01FC($s0) ## 000001FC
/* 023B4 80B64D74 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 023B8 80B64D78 0320F809 */ jalr $ra, $t9
/* 023BC 80B64D7C 00000000 */ nop
/* 023C0 80B64D80 860201DE */ lh $v0, 0x01DE($s0) ## 000001DE
/* 023C4 80B64D84 3C01428C */ lui $at, 0x428C ## $at = 428C0000
/* 023C8 80B64D88 44813000 */ mtc1 $at, $f6 ## $f6 = 70.00
/* 023CC 80B64D8C 10400002 */ beq $v0, $zero, .L80B64D98
/* 023D0 80B64D90 244AFFFF */ addiu $t2, $v0, 0xFFFF ## $t2 = FFFFFFFF
/* 023D4 80B64D94 A60A01DE */ sh $t2, 0x01DE($s0) ## 000001DE
.L80B64D98:
/* 023D8 80B64D98 8E0B0028 */ lw $t3, 0x0028($s0) ## 00000028
/* 023DC 80B64D9C 860401DE */ lh $a0, 0x01DE($s0) ## 000001DE
/* 023E0 80B64DA0 8E0C0024 */ lw $t4, 0x0024($s0) ## 00000024
/* 023E4 80B64DA4 AE0B003C */ sw $t3, 0x003C($s0) ## 0000003C
/* 023E8 80B64DA8 C604003C */ lwc1 $f4, 0x003C($s0) ## 0000003C
/* 023EC 80B64DAC 00800821 */ addu $at, $a0, $zero
/* 023F0 80B64DB0 000420C0 */ sll $a0, $a0, 3
/* 023F4 80B64DB4 46062200 */ add.s $f8, $f4, $f6
/* 023F8 80B64DB8 00812021 */ addu $a0, $a0, $at
/* 023FC 80B64DBC AE0C0038 */ sw $t4, 0x0038($s0) ## 00000038
/* 02400 80B64DC0 8E0C002C */ lw $t4, 0x002C($s0) ## 0000002C
/* 02404 80B64DC4 860D0032 */ lh $t5, 0x0032($s0) ## 00000032
/* 02408 80B64DC8 00042300 */ sll $a0, $a0, 12
/* 0240C 80B64DCC 00042400 */ sll $a0, $a0, 16
/* 02410 80B64DD0 E608003C */ swc1 $f8, 0x003C($s0) ## 0000003C
/* 02414 80B64DD4 00042403 */ sra $a0, $a0, 16
/* 02418 80B64DD8 AE0C0040 */ sw $t4, 0x0040($s0) ## 00000040
/* 0241C 80B64DDC 0C01DE1C */ jal Math_SinS
## sins?
/* 02420 80B64DE0 A60D00B6 */ sh $t5, 0x00B6($s0) ## 000000B6
/* 02424 80B64DE4 860201DE */ lh $v0, 0x01DE($s0) ## 000001DE
/* 02428 80B64DE8 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000
/* 0242C 80B64DEC 44819000 */ mtc1 $at, $f18 ## $f18 = 20.00
/* 02430 80B64DF0 44825000 */ mtc1 $v0, $f10 ## $f10 = 0.00
/* 02434 80B64DF4 3C01442F */ lui $at, 0x442F ## $at = 442F0000
/* 02438 80B64DF8 44813000 */ mtc1 $at, $f6 ## $f6 = 700.00
/* 0243C 80B64DFC 46805420 */ cvt.s.w $f16, $f10
/* 02440 80B64E00 000220C0 */ sll $a0, $v0, 3
/* 02444 80B64E04 46060202 */ mul.s $f8, $f0, $f6
/* 02448 80B64E08 00822023 */ subu $a0, $a0, $v0
/* 0244C 80B64E0C 00042300 */ sll $a0, $a0, 12
/* 02450 80B64E10 00042400 */ sll $a0, $a0, 16
/* 02454 80B64E14 00042403 */ sra $a0, $a0, 16
/* 02458 80B64E18 46128103 */ div.s $f4, $f16, $f18
/* 0245C 80B64E1C 46044282 */ mul.s $f10, $f8, $f4
/* 02460 80B64E20 0C01DE1C */ jal Math_SinS
## sins?
/* 02464 80B64E24 E60A00BC */ swc1 $f10, 0x00BC($s0) ## 000000BC
/* 02468 80B64E28 860E01DE */ lh $t6, 0x01DE($s0) ## 000001DE
/* 0246C 80B64E2C 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000
/* 02470 80B64E30 44813000 */ mtc1 $at, $f6 ## $f6 = 20.00
/* 02474 80B64E34 448E8000 */ mtc1 $t6, $f16 ## $f16 = 0.00
/* 02478 80B64E38 3C0180B6 */ lui $at, %hi(D_80B65454) ## $at = 80B60000
/* 0247C 80B64E3C C4245454 */ lwc1 $f4, %lo(D_80B65454)($at)
/* 02480 80B64E40 468084A0 */ cvt.s.w $f18, $f16
/* 02484 80B64E44 46040282 */ mul.s $f10, $f0, $f4
/* 02488 80B64E48 46069203 */ div.s $f8, $f18, $f6
/* 0248C 80B64E4C 4600540D */ trunc.w.s $f16, $f10
/* 02490 80B64E50 44188000 */ mfc1 $t8, $f16
/* 02494 80B64E54 00000000 */ nop
/* 02498 80B64E58 00184400 */ sll $t0, $t8, 16
/* 0249C 80B64E5C 00084C03 */ sra $t1, $t0, 16
/* 024A0 80B64E60 44899000 */ mtc1 $t1, $f18 ## $f18 = 0.00
/* 024A4 80B64E64 00000000 */ nop
/* 024A8 80B64E68 468091A0 */ cvt.s.w $f6, $f18
/* 024AC 80B64E6C 46083102 */ mul.s $f4, $f6, $f8
/* 024B0 80B64E70 4600228D */ trunc.w.s $f10, $f4
/* 024B4 80B64E74 440A5000 */ mfc1 $t2, $f10
/* 024B8 80B64E78 00000000 */ nop
/* 024BC 80B64E7C A60A00B8 */ sh $t2, 0x00B8($s0) ## 000000B8
/* 024C0 80B64E80 8FBF001C */ lw $ra, 0x001C($sp)
.L80B64E84:
/* 024C4 80B64E84 8FB00018 */ lw $s0, 0x0018($sp)
/* 024C8 80B64E88 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 024CC 80B64E8C 03E00008 */ jr $ra
/* 024D0 80B64E90 00000000 */ nop

View file

@ -1,32 +0,0 @@
.late_rodata
glabel D_80B65398
.word 0xC54F3000
.text
glabel func_80B62B04
/* 00144 80B62B04 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00148 80B62B08 AFA5001C */ sw $a1, 0x001C($sp)
/* 0014C 80B62B0C AFBF0014 */ sw $ra, 0x0014($sp)
/* 00150 80B62B10 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
/* 00154 80B62B14 3C050601 */ lui $a1, 0x0601 ## $a1 = 06010000
/* 00158 80B62B18 24A5E8A0 */ addiu $a1, $a1, 0xE8A0 ## $a1 = 0600E8A0
/* 0015C 80B62B1C AFA60018 */ sw $a2, 0x0018($sp)
/* 00160 80B62B20 0C0294BE */ jal Animation_PlayLoop
/* 00164 80B62B24 24840250 */ addiu $a0, $a0, 0x0250 ## $a0 = 00000250
/* 00168 80B62B28 3C014160 */ lui $at, 0x4160 ## $at = 41600000
/* 0016C 80B62B2C 8FA60018 */ lw $a2, 0x0018($sp)
/* 00170 80B62B30 44812000 */ mtc1 $at, $f4 ## $f4 = 14.00
/* 00174 80B62B34 3C01C396 */ lui $at, 0xC396 ## $at = C3960000
/* 00178 80B62B38 44813000 */ mtc1 $at, $f6 ## $f6 = -300.00
/* 0017C 80B62B3C 3C0E80B6 */ lui $t6, %hi(func_80B62B6C) ## $t6 = 80B60000
/* 00180 80B62B40 25CE2B6C */ addiu $t6, $t6, %lo(func_80B62B6C) ## $t6 = 80B62B6C
/* 00184 80B62B44 3C0180B6 */ lui $at, %hi(D_80B65398) ## $at = 80B60000
/* 00188 80B62B48 ACCE01FC */ sw $t6, 0x01FC($a2) ## 000001FC
/* 0018C 80B62B4C E4C40024 */ swc1 $f4, 0x0024($a2) ## 00000024
/* 00190 80B62B50 E4C60028 */ swc1 $f6, 0x0028($a2) ## 00000028
/* 00194 80B62B54 C4285398 */ lwc1 $f8, %lo(D_80B65398)($at)
/* 00198 80B62B58 E4C8002C */ swc1 $f8, 0x002C($a2) ## 0000002C
/* 0019C 80B62B5C 8FBF0014 */ lw $ra, 0x0014($sp)
/* 001A0 80B62B60 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 001A4 80B62B64 03E00008 */ jr $ra
/* 001A8 80B62B68 00000000 */ nop

File diff suppressed because it is too large Load diff

View file

@ -1,226 +0,0 @@
.rdata
glabel D_80B6525C
.asciz "KABE NO 1 = %d\n"
.balign 4
glabel D_80B6526C
.asciz "KABE NO 2 = %d\n"
.balign 4
glabel D_80B6527C
.asciz "XP1 = %f\n"
.balign 4
glabel D_80B65288
.asciz "ZP1 = %f\n"
.balign 4
.late_rodata
glabel D_80B65428
.float 1.3
glabel D_80B6542C
.word 0x454FD000
glabel D_80B65430
.float 0.01
glabel D_80B65434
.float 1.3
glabel D_80B65438
.word 0x454FD000
glabel D_80B6543C
.float 0.002
glabel D_80B65440
.float 0.001
.text
glabel func_80B63D84
/* 013C4 80B63D84 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
/* 013C8 80B63D88 3C0F80B6 */ lui $t7, %hi(D_80B65204) ## $t7 = 80B60000
/* 013CC 80B63D8C AFBF001C */ sw $ra, 0x001C($sp)
/* 013D0 80B63D90 AFB00018 */ sw $s0, 0x0018($sp)
/* 013D4 80B63D94 AFA50034 */ sw $a1, 0x0034($sp)
/* 013D8 80B63D98 AFA60038 */ sw $a2, 0x0038($sp)
/* 013DC 80B63D9C 25EF5204 */ addiu $t7, $t7, %lo(D_80B65204) ## $t7 = 80B65204
/* 013E0 80B63DA0 8DF90000 */ lw $t9, 0x0000($t7) ## 80B65204
/* 013E4 80B63DA4 27AE0024 */ addiu $t6, $sp, 0x0024 ## $t6 = FFFFFFF4
/* 013E8 80B63DA8 8DF80004 */ lw $t8, 0x0004($t7) ## 80B65208
/* 013EC 80B63DAC ADD90000 */ sw $t9, 0x0000($t6) ## FFFFFFF4
/* 013F0 80B63DB0 8DF90008 */ lw $t9, 0x0008($t7) ## 80B6520C
/* 013F4 80B63DB4 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 013F8 80B63DB8 3C050601 */ lui $a1, 0x0601 ## $a1 = 06010000
/* 013FC 80B63DBC 24A5B4C8 */ addiu $a1, $a1, 0xB4C8 ## $a1 = 0600B4C8
/* 01400 80B63DC0 24840250 */ addiu $a0, $a0, 0x0250 ## $a0 = 00000250
/* 01404 80B63DC4 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
/* 01408 80B63DC8 ADD80004 */ sw $t8, 0x0004($t6) ## FFFFFFF8
/* 0140C 80B63DCC 0C0294D3 */ jal Animation_MorphToLoop
/* 01410 80B63DD0 ADD90008 */ sw $t9, 0x0008($t6) ## FFFFFFFC
/* 01414 80B63DD4 3C0880B6 */ lui $t0, %hi(func_80B6404C) ## $t0 = 80B60000
/* 01418 80B63DD8 2508404C */ addiu $t0, $t0, %lo(func_80B6404C) ## $t0 = 80B6404C
/* 0141C 80B63DDC AE0801FC */ sw $t0, 0x01FC($s0) ## 000001FC
/* 01420 80B63DE0 87A9003A */ lh $t1, 0x003A($sp)
/* 01424 80B63DE4 3C0480B6 */ lui $a0, %hi(D_80B6525C) ## $a0 = 80B60000
/* 01428 80B63DE8 2484525C */ addiu $a0, $a0, %lo(D_80B6525C) ## $a0 = 80B6525C
/* 0142C 80B63DEC A60901C2 */ sh $t1, 0x01C2($s0) ## 000001C2
/* 01430 80B63DF0 860501C2 */ lh $a1, 0x01C2($s0) ## 000001C2
/* 01434 80B63DF4 00055040 */ sll $t2, $a1, 1
/* 01438 80B63DF8 03AA5821 */ addu $t3, $sp, $t2
/* 0143C 80B63DFC 856B0024 */ lh $t3, 0x0024($t3) ## 00000024
/* 01440 80B63E00 0C00084C */ jal osSyncPrintf
/* 01444 80B63E04 A60B01C4 */ sh $t3, 0x01C4($s0) ## 000001C4
/* 01448 80B63E08 3C0480B6 */ lui $a0, %hi(D_80B6526C) ## $a0 = 80B60000
/* 0144C 80B63E0C 2484526C */ addiu $a0, $a0, %lo(D_80B6526C) ## $a0 = 80B6526C
/* 01450 80B63E10 0C00084C */ jal osSyncPrintf
/* 01454 80B63E14 860501C4 */ lh $a1, 0x01C4($s0) ## 000001C4
/* 01458 80B63E18 860C01C2 */ lh $t4, 0x01C2($s0) ## 000001C2
/* 0145C 80B63E1C 3C0E80B6 */ lui $t6, %hi(D_80B65190) ## $t6 = 80B60000
/* 01460 80B63E20 25CE5190 */ addiu $t6, $t6, %lo(D_80B65190) ## $t6 = 80B65190
/* 01464 80B63E24 000C6900 */ sll $t5, $t4, 4
/* 01468 80B63E28 3C0180B6 */ lui $at, %hi(D_80B65428) ## $at = 80B60000
/* 0146C 80B63E2C 01AE1021 */ addu $v0, $t5, $t6
/* 01470 80B63E30 C4205428 */ lwc1 $f0, %lo(D_80B65428)($at)
/* 01474 80B63E34 C4440000 */ lwc1 $f4, 0x0000($v0) ## 00000000
/* 01478 80B63E38 3C014120 */ lui $at, 0x4120 ## $at = 41200000
/* 0147C 80B63E3C 44814000 */ mtc1 $at, $f8 ## $f8 = 10.00
/* 01480 80B63E40 46002182 */ mul.s $f6, $f4, $f0
/* 01484 80B63E44 3C0142F0 */ lui $at, 0x42F0 ## $at = 42F00000
/* 01488 80B63E48 3C0480B6 */ lui $a0, %hi(D_80B6527C) ## $a0 = 80B60000
/* 0148C 80B63E4C 2484527C */ addiu $a0, $a0, %lo(D_80B6527C) ## $a0 = 80B6527C
/* 01490 80B63E50 46083280 */ add.s $f10, $f6, $f8
/* 01494 80B63E54 44813000 */ mtc1 $at, $f6 ## $f6 = 120.00
/* 01498 80B63E58 3C0180B6 */ lui $at, %hi(D_80B6542C) ## $at = 80B60000
/* 0149C 80B63E5C E60A0024 */ swc1 $f10, 0x0024($s0) ## 00000024
/* 014A0 80B63E60 C4440004 */ lwc1 $f4, 0x0004($v0) ## 00000004
/* 014A4 80B63E64 46062200 */ add.s $f8, $f4, $f6
/* 014A8 80B63E68 E6080028 */ swc1 $f8, 0x0028($s0) ## 00000028
/* 014AC 80B63E6C C44A0008 */ lwc1 $f10, 0x0008($v0) ## 00000008
/* 014B0 80B63E70 C426542C */ lwc1 $f6, %lo(D_80B6542C)($at)
/* 014B4 80B63E74 46005102 */ mul.s $f4, $f10, $f0
/* 014B8 80B63E78 C60A0024 */ lwc1 $f10, 0x0024($s0) ## 00000024
/* 014BC 80B63E7C 46062201 */ sub.s $f8, $f4, $f6
/* 014C0 80B63E80 46005121 */ cvt.d.s $f4, $f10
/* 014C4 80B63E84 E608002C */ swc1 $f8, 0x002C($s0) ## 0000002C
/* 014C8 80B63E88 844F000C */ lh $t7, 0x000C($v0) ## 0000000C
/* 014CC 80B63E8C 44072000 */ mfc1 $a3, $f4
/* 014D0 80B63E90 44062800 */ mfc1 $a2, $f5
/* 014D4 80B63E94 0C00084C */ jal osSyncPrintf
/* 014D8 80B63E98 A60F0032 */ sh $t7, 0x0032($s0) ## 00000032
/* 014DC 80B63E9C C606002C */ lwc1 $f6, 0x002C($s0) ## 0000002C
/* 014E0 80B63EA0 3C0480B6 */ lui $a0, %hi(D_80B65288) ## $a0 = 80B60000
/* 014E4 80B63EA4 24845288 */ addiu $a0, $a0, %lo(D_80B65288) ## $a0 = 80B65288
/* 014E8 80B63EA8 46003221 */ cvt.d.s $f8, $f6
/* 014EC 80B63EAC 44074000 */ mfc1 $a3, $f8
/* 014F0 80B63EB0 44064800 */ mfc1 $a2, $f9
/* 014F4 80B63EB4 0C00084C */ jal osSyncPrintf
/* 014F8 80B63EB8 00000000 */ nop
/* 014FC 80B63EBC 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 01500 80B63EC0 44816000 */ mtc1 $at, $f12 ## $f12 = 1.00
/* 01504 80B63EC4 861801C4 */ lh $t8, 0x01C4($s0) ## 000001C4
/* 01508 80B63EC8 3C014000 */ lui $at, 0x4000 ## $at = 40000000
/* 0150C 80B63ECC 44817000 */ mtc1 $at, $f14 ## $f14 = 2.00
/* 01510 80B63ED0 3C0180B6 */ lui $at, %hi(D_80B65430) ## $at = 80B60000
/* 01514 80B63ED4 3C0880B6 */ lui $t0, %hi(D_80B65190) ## $t0 = 80B60000
/* 01518 80B63ED8 C4305430 */ lwc1 $f16, %lo(D_80B65430)($at)
/* 0151C 80B63EDC 25085190 */ addiu $t0, $t0, %lo(D_80B65190) ## $t0 = 80B65190
/* 01520 80B63EE0 0018C900 */ sll $t9, $t8, 4
/* 01524 80B63EE4 3C0180B6 */ lui $at, %hi(D_80B65434) ## $at = 80B60000
/* 01528 80B63EE8 03281021 */ addu $v0, $t9, $t0
/* 0152C 80B63EEC C4325434 */ lwc1 $f18, %lo(D_80B65434)($at)
/* 01530 80B63EF0 C44A0000 */ lwc1 $f10, 0x0000($v0) ## 00000000
/* 01534 80B63EF4 3C014120 */ lui $at, 0x4120 ## $at = 41200000
/* 01538 80B63EF8 44813000 */ mtc1 $at, $f6 ## $f6 = 10.00
/* 0153C 80B63EFC 46125102 */ mul.s $f4, $f10, $f18
/* 01540 80B63F00 3C0180B6 */ lui $at, %hi(D_80B65438) ## $at = 80B60000
/* 01544 80B63F04 24090064 */ addiu $t1, $zero, 0x0064 ## $t1 = 00000064
/* 01548 80B63F08 46062200 */ add.s $f8, $f4, $f6
/* 0154C 80B63F0C E608018C */ swc1 $f8, 0x018C($s0) ## 0000018C
/* 01550 80B63F10 C44A0004 */ lwc1 $f10, 0x0004($v0) ## 00000004
/* 01554 80B63F14 E60A0190 */ swc1 $f10, 0x0190($s0) ## 00000190
/* 01558 80B63F18 C4440008 */ lwc1 $f4, 0x0008($v0) ## 00000008
/* 0155C 80B63F1C C4285438 */ lwc1 $f8, %lo(D_80B65438)($at)
/* 01560 80B63F20 3C0180B6 */ lui $at, %hi(D_80B6543C) ## $at = 80B60000
/* 01564 80B63F24 46122182 */ mul.s $f6, $f4, $f18
/* 01568 80B63F28 C604018C */ lwc1 $f4, 0x018C($s0) ## 0000018C
/* 0156C 80B63F2C 46083281 */ sub.s $f10, $f6, $f8
/* 01570 80B63F30 C6060024 */ lwc1 $f6, 0x0024($s0) ## 00000024
/* 01574 80B63F34 46062001 */ sub.s $f0, $f4, $f6
/* 01578 80B63F38 E60A0194 */ swc1 $f10, 0x0194($s0) ## 00000194
/* 0157C 80B63F3C 46000005 */ abs.s $f0, $f0
/* 01580 80B63F40 460E0202 */ mul.s $f8, $f0, $f14
/* 01584 80B63F44 00000000 */ nop
/* 01588 80B63F48 46104082 */ mul.s $f2, $f8, $f16
/* 0158C 80B63F4C 460C103C */ c.lt.s $f2, $f12
/* 01590 80B63F50 E6020198 */ swc1 $f2, 0x0198($s0) ## 00000198
/* 01594 80B63F54 45000002 */ bc1f .L80B63F60
/* 01598 80B63F58 00000000 */ nop
/* 0159C 80B63F5C E60C0198 */ swc1 $f12, 0x0198($s0) ## 00000198
.L80B63F60:
/* 015A0 80B63F60 C60A0194 */ lwc1 $f10, 0x0194($s0) ## 00000194
/* 015A4 80B63F64 C604002C */ lwc1 $f4, 0x002C($s0) ## 0000002C
/* 015A8 80B63F68 46045001 */ sub.s $f0, $f10, $f4
/* 015AC 80B63F6C 46000005 */ abs.s $f0, $f0
/* 015B0 80B63F70 460E0182 */ mul.s $f6, $f0, $f14
/* 015B4 80B63F74 00000000 */ nop
/* 015B8 80B63F78 46103082 */ mul.s $f2, $f6, $f16
/* 015BC 80B63F7C 460C103C */ c.lt.s $f2, $f12
/* 015C0 80B63F80 E602019C */ swc1 $f2, 0x019C($s0) ## 0000019C
/* 015C4 80B63F84 44801000 */ mtc1 $zero, $f2 ## $f2 = 0.00
/* 015C8 80B63F88 45000002 */ bc1f .L80B63F94
/* 015CC 80B63F8C 00000000 */ nop
/* 015D0 80B63F90 E60C019C */ swc1 $f12, 0x019C($s0) ## 0000019C
.L80B63F94:
/* 015D4 80B63F94 C420543C */ lwc1 $f0, %lo(D_80B6543C)($at)
/* 015D8 80B63F98 8FA20034 */ lw $v0, 0x0034($sp)
/* 015DC 80B63F9C A60901D4 */ sh $t1, 0x01D4($s0) ## 000001D4
/* 015E0 80B63FA0 3C0180B6 */ lui $at, %hi(D_80B65440) ## $at = 80B60000
/* 015E4 80B63FA4 E6000050 */ swc1 $f0, 0x0050($s0) ## 00000050
/* 015E8 80B63FA8 E6000054 */ swc1 $f0, 0x0054($s0) ## 00000054
/* 015EC 80B63FAC C4285440 */ lwc1 $f8, %lo(D_80B65440)($at)
/* 015F0 80B63FB0 E60201A4 */ swc1 $f2, 0x01A4($s0) ## 000001A4
/* 015F4 80B63FB4 3C014F80 */ lui $at, 0x4F80 ## $at = 4F800000
/* 015F8 80B63FB8 E6080058 */ swc1 $f8, 0x0058($s0) ## 00000058
/* 015FC 80B63FBC 904A07AF */ lbu $t2, 0x07AF($v0) ## 000007AF
/* 01600 80B63FC0 448A5000 */ mtc1 $t2, $f10 ## $f10 = 0.00
/* 01604 80B63FC4 05410004 */ bgez $t2, .L80B63FD8
/* 01608 80B63FC8 46805120 */ cvt.s.w $f4, $f10
/* 0160C 80B63FCC 44813000 */ mtc1 $at, $f6 ## $f6 = 4294967296.00
/* 01610 80B63FD0 00000000 */ nop
/* 01614 80B63FD4 46062100 */ add.s $f4, $f4, $f6
.L80B63FD8:
/* 01618 80B63FD8 E60401E8 */ swc1 $f4, 0x01E8($s0) ## 000001E8
/* 0161C 80B63FDC 904B07B0 */ lbu $t3, 0x07B0($v0) ## 000007B0
/* 01620 80B63FE0 3C014F80 */ lui $at, 0x4F80 ## $at = 4F800000
/* 01624 80B63FE4 448B4000 */ mtc1 $t3, $f8 ## $f8 = 0.00
/* 01628 80B63FE8 05610004 */ bgez $t3, .L80B63FFC
/* 0162C 80B63FEC 468042A0 */ cvt.s.w $f10, $f8
/* 01630 80B63FF0 44813000 */ mtc1 $at, $f6 ## $f6 = 4294967296.00
/* 01634 80B63FF4 00000000 */ nop
/* 01638 80B63FF8 46065280 */ add.s $f10, $f10, $f6
.L80B63FFC:
/* 0163C 80B63FFC E60A01EC */ swc1 $f10, 0x01EC($s0) ## 000001EC
/* 01640 80B64000 904C07B1 */ lbu $t4, 0x07B1($v0) ## 000007B1
/* 01644 80B64004 3C014F80 */ lui $at, 0x4F80 ## $at = 4F800000
/* 01648 80B64008 448C2000 */ mtc1 $t4, $f4 ## $f4 = 0.00
/* 0164C 80B6400C 05810004 */ bgez $t4, .L80B64020
/* 01650 80B64010 46802220 */ cvt.s.w $f8, $f4
/* 01654 80B64014 44813000 */ mtc1 $at, $f6 ## $f6 = 4294967296.00
/* 01658 80B64018 00000000 */ nop
/* 0165C 80B6401C 46064200 */ add.s $f8, $f8, $f6
.L80B64020:
/* 01660 80B64020 E60801F0 */ swc1 $f8, 0x01F0($s0) ## 000001F0
/* 01664 80B64024 E60201F4 */ swc1 $f2, 0x01F4($s0) ## 000001F4
/* 01668 80B64028 E60201F8 */ swc1 $f2, 0x01F8($s0) ## 000001F8
/* 0166C 80B6402C A60001E0 */ sh $zero, 0x01E0($s0) ## 000001E0
/* 01670 80B64030 A60001C6 */ sh $zero, 0x01C6($s0) ## 000001C6
/* 01674 80B64034 A60001C8 */ sh $zero, 0x01C8($s0) ## 000001C8
/* 01678 80B64038 8FBF001C */ lw $ra, 0x001C($sp)
/* 0167C 80B6403C 8FB00018 */ lw $s0, 0x0018($sp)
/* 01680 80B64040 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
/* 01684 80B64044 03E00008 */ jr $ra
/* 01688 80B64048 00000000 */ nop

View file

@ -1,160 +0,0 @@
.rdata
glabel D_80B65294
.asciz "STANDBY !!\n"
.balign 4
glabel D_80B652A0
.asciz "XP2 = %f\n"
.balign 4
glabel D_80B652AC
.asciz "ZP2 = %f\n"
.balign 4
glabel D_80B652B8
.asciz "arg_data ------------------------------------>%d\n"
.balign 4
.text
glabel func_80B6404C
/* 0168C 80B6404C 27BDFFB8 */ addiu $sp, $sp, 0xFFB8 ## $sp = FFFFFFB8
/* 01690 80B64050 AFB00038 */ sw $s0, 0x0038($sp)
/* 01694 80B64054 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 01698 80B64058 AFBF003C */ sw $ra, 0x003C($sp)
/* 0169C 80B6405C 3C0480B6 */ lui $a0, %hi(D_80B65294) ## $a0 = 80B60000
/* 016A0 80B64060 AFA5004C */ sw $a1, 0x004C($sp)
/* 016A4 80B64064 0C00084C */ jal osSyncPrintf
/* 016A8 80B64068 24845294 */ addiu $a0, $a0, %lo(D_80B65294) ## $a0 = 80B65294
/* 016AC 80B6406C C6040024 */ lwc1 $f4, 0x0024($s0) ## 00000024
/* 016B0 80B64070 3C0480B6 */ lui $a0, %hi(D_80B652A0) ## $a0 = 80B60000
/* 016B4 80B64074 248452A0 */ addiu $a0, $a0, %lo(D_80B652A0) ## $a0 = 80B652A0
/* 016B8 80B64078 460021A1 */ cvt.d.s $f6, $f4
/* 016BC 80B6407C 44073000 */ mfc1 $a3, $f6
/* 016C0 80B64080 44063800 */ mfc1 $a2, $f7
/* 016C4 80B64084 0C00084C */ jal osSyncPrintf
/* 016C8 80B64088 00000000 */ nop
/* 016CC 80B6408C C608002C */ lwc1 $f8, 0x002C($s0) ## 0000002C
/* 016D0 80B64090 3C0480B6 */ lui $a0, %hi(D_80B652AC) ## $a0 = 80B60000
/* 016D4 80B64094 248452AC */ addiu $a0, $a0, %lo(D_80B652AC) ## $a0 = 80B652AC
/* 016D8 80B64098 460042A1 */ cvt.d.s $f10, $f8
/* 016DC 80B6409C 44075000 */ mfc1 $a3, $f10
/* 016E0 80B640A0 44065800 */ mfc1 $a2, $f11
/* 016E4 80B640A4 0C00084C */ jal osSyncPrintf
/* 016E8 80B640A8 00000000 */ nop
/* 016EC 80B640AC 860E001C */ lh $t6, 0x001C($s0) ## 0000001C
/* 016F0 80B640B0 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 016F4 80B640B4 15C10013 */ bne $t6, $at, .L80B64104
/* 016F8 80B640B8 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000
/* 016FC 80B640BC 44819000 */ mtc1 $at, $f18 ## $f18 = 100.00
/* 01700 80B640C0 C6100050 */ lwc1 $f16, 0x0050($s0) ## 00000050
/* 01704 80B640C4 C60400E4 */ lwc1 $f4, 0x00E4($s0) ## 000000E4
/* 01708 80B640C8 C60800E8 */ lwc1 $f8, 0x00E8($s0) ## 000000E8
/* 0170C 80B640CC 46128002 */ mul.s $f0, $f16, $f18
/* 01710 80B640D0 C61000EC */ lwc1 $f16, 0x00EC($s0) ## 000000EC
/* 01714 80B640D4 860F01C0 */ lh $t7, 0x01C0($s0) ## 000001C0
/* 01718 80B640D8 26040180 */ addiu $a0, $s0, 0x0180 ## $a0 = 00000180
/* 0171C 80B640DC 31F80007 */ andi $t8, $t7, 0x0007 ## $t8 = 00000000
/* 01720 80B640E0 46002183 */ div.s $f6, $f4, $f0
/* 01724 80B640E4 46004283 */ div.s $f10, $f8, $f0
/* 01728 80B640E8 E6060180 */ swc1 $f6, 0x0180($s0) ## 00000180
/* 0172C 80B640EC 46008483 */ div.s $f18, $f16, $f0
/* 01730 80B640F0 E60A0184 */ swc1 $f10, 0x0184($s0) ## 00000184
/* 01734 80B640F4 17000003 */ bne $t8, $zero, .L80B64104
/* 01738 80B640F8 E6120188 */ swc1 $f18, 0x0188($s0) ## 00000188
/* 0173C 80B640FC 0C01E245 */ jal func_80078914
/* 01740 80B64100 24052804 */ addiu $a1, $zero, 0x2804 ## $a1 = 00002804
.L80B64104:
/* 01744 80B64104 26040250 */ addiu $a0, $s0, 0x0250 ## $a0 = 00000250
/* 01748 80B64108 0C02927F */ jal SkelAnime_Update
/* 0174C 80B6410C AFA40044 */ sw $a0, 0x0044($sp)
/* 01750 80B64110 3C053C3C */ lui $a1, 0x3C3C ## $a1 = 3C3C0000
/* 01754 80B64114 34A56A7E */ ori $a1, $a1, 0x6A7E ## $a1 = 3C3C6A7E
/* 01758 80B64118 26040050 */ addiu $a0, $s0, 0x0050 ## $a0 = 00000050
/* 0175C 80B6411C 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 01760 80B64120 0C01E107 */ jal Math_ApproachF
/* 01764 80B64124 8E0701A4 */ lw $a3, 0x01A4($s0) ## 000001A4
/* 01768 80B64128 3C053951 */ lui $a1, 0x3951 ## $a1 = 39510000
/* 0176C 80B6412C 3C0735C9 */ lui $a3, 0x35C9 ## $a3 = 35C90000
/* 01770 80B64130 34E7539C */ ori $a3, $a3, 0x539C ## $a3 = 35C9539C
/* 01774 80B64134 34A5B717 */ ori $a1, $a1, 0xB717 ## $a1 = 3951B717
/* 01778 80B64138 260401A4 */ addiu $a0, $s0, 0x01A4 ## $a0 = 000001A4
/* 0177C 80B6413C 0C01E107 */ jal Math_ApproachF
/* 01780 80B64140 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 01784 80B64144 3C063DCC */ lui $a2, 0x3DCC ## $a2 = 3DCC0000
/* 01788 80B64148 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3DCCCCCD
/* 0178C 80B6414C 26040028 */ addiu $a0, $s0, 0x0028 ## $a0 = 00000028
/* 01790 80B64150 3C054270 */ lui $a1, 0x4270 ## $a1 = 42700000
/* 01794 80B64154 0C01E107 */ jal Math_ApproachF
/* 01798 80B64158 3C073F80 */ lui $a3, 0x3F80 ## $a3 = 3F800000
/* 0179C 80B6415C 861901D4 */ lh $t9, 0x01D4($s0) ## 000001D4
/* 017A0 80B64160 C6040050 */ lwc1 $f4, 0x0050($s0) ## 00000050
/* 017A4 80B64164 3C0480B6 */ lui $a0, %hi(D_80B652B8) ## $a0 = 80B60000
/* 017A8 80B64168 17200033 */ bne $t9, $zero, .L80B64238
/* 017AC 80B6416C E6040054 */ swc1 $f4, 0x0054($s0) ## 00000054
/* 017B0 80B64170 248452B8 */ addiu $a0, $a0, %lo(D_80B652B8) ## $a0 = 80B652B8
/* 017B4 80B64174 0C00084C */ jal osSyncPrintf
/* 017B8 80B64178 8605001C */ lh $a1, 0x001C($s0) ## 0000001C
/* 017BC 80B6417C 8608001C */ lh $t0, 0x001C($s0) ## 0000001C
/* 017C0 80B64180 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 017C4 80B64184 3C0C80B6 */ lui $t4, %hi(func_80B6424C) ## $t4 = 80B60000
/* 017C8 80B64188 1101000E */ beq $t0, $at, .L80B641C4
/* 017CC 80B6418C 258C424C */ addiu $t4, $t4, %lo(func_80B6424C) ## $t4 = 80B6424C
/* 017D0 80B64190 3C0A80B6 */ lui $t2, %hi(func_80B64AA8) ## $t2 = 80B60000
/* 017D4 80B64194 2409008C */ addiu $t1, $zero, 0x008C ## $t1 = 0000008C
/* 017D8 80B64198 254A4AA8 */ addiu $t2, $t2, %lo(func_80B64AA8) ## $t2 = 80B64AA8
/* 017DC 80B6419C A60901D4 */ sh $t1, 0x01D4($s0) ## 000001D4
/* 017E0 80B641A0 AE0A01FC */ sw $t2, 0x01FC($s0) ## 000001FC
/* 017E4 80B641A4 3C050601 */ lui $a1, 0x0601 ## $a1 = 06010000
/* 017E8 80B641A8 24A5B4C8 */ addiu $a1, $a1, 0xB4C8 ## $a1 = 0600B4C8
/* 017EC 80B641AC 8FA40044 */ lw $a0, 0x0044($sp)
/* 017F0 80B641B0 0C0294D3 */ jal Animation_MorphToLoop
/* 017F4 80B641B4 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
/* 017F8 80B641B8 240B8000 */ addiu $t3, $zero, 0x8000 ## $t3 = FFFF8000
/* 017FC 80B641BC 1000001E */ beq $zero, $zero, .L80B64238
/* 01800 80B641C0 A60B01C6 */ sh $t3, 0x01C6($s0) ## 000001C6
.L80B641C4:
/* 01804 80B641C4 AE0C01FC */ sw $t4, 0x01FC($s0) ## 000001FC
/* 01808 80B641C8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 0180C 80B641CC 0C00BE0A */ jal Audio_PlayActorSound2
/* 01810 80B641D0 2405283D */ addiu $a1, $zero, 0x283D ## $a1 = 0000283D
/* 01814 80B641D4 C6060024 */ lwc1 $f6, 0x0024($s0) ## 00000024
/* 01818 80B641D8 8FA6004C */ lw $a2, 0x004C($sp)
/* 0181C 80B641DC 240D0028 */ addiu $t5, $zero, 0x0028 ## $t5 = 00000028
/* 01820 80B641E0 A60D01D4 */ sh $t5, 0x01D4($s0) ## 000001D4
/* 01824 80B641E4 3C014248 */ lui $at, 0x4248 ## $at = 42480000
/* 01828 80B641E8 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 0182C 80B641EC C6080028 */ lwc1 $f8, 0x0028($s0) ## 00000028
/* 01830 80B641F0 44815000 */ mtc1 $at, $f10 ## $f10 = 50.00
/* 01834 80B641F4 34018000 */ ori $at, $zero, 0x8000 ## $at = 00008000
/* 01838 80B641F8 24180027 */ addiu $t8, $zero, 0x0027 ## $t8 = 00000027
/* 0183C 80B641FC 460A4400 */ add.s $f16, $f8, $f10
/* 01840 80B64200 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 01844 80B64204 2407006D */ addiu $a3, $zero, 0x006D ## $a3 = 0000006D
/* 01848 80B64208 24C41C24 */ addiu $a0, $a2, 0x1C24 ## $a0 = 00001C24
/* 0184C 80B6420C E7B00014 */ swc1 $f16, 0x0014($sp)
/* 01850 80B64210 C612002C */ lwc1 $f18, 0x002C($s0) ## 0000002C
/* 01854 80B64214 AFA0001C */ sw $zero, 0x001C($sp)
/* 01858 80B64218 E7B20018 */ swc1 $f18, 0x0018($sp)
/* 0185C 80B6421C 860E00B6 */ lh $t6, 0x00B6($s0) ## 000000B6
/* 01860 80B64220 AFB80028 */ sw $t8, 0x0028($sp)
/* 01864 80B64224 AFA00024 */ sw $zero, 0x0024($sp)
/* 01868 80B64228 01C17821 */ addu $t7, $t6, $at
/* 0186C 80B6422C 0C00C916 */ jal Actor_SpawnAsChild
/* 01870 80B64230 AFAF0020 */ sw $t7, 0x0020($sp)
/* 01874 80B64234 A200014F */ sb $zero, 0x014F($s0) ## 0000014F
.L80B64238:
/* 01878 80B64238 8FBF003C */ lw $ra, 0x003C($sp)
/* 0187C 80B6423C 8FB00038 */ lw $s0, 0x0038($sp)
/* 01880 80B64240 27BD0048 */ addiu $sp, $sp, 0x0048 ## $sp = 00000000
/* 01884 80B64244 03E00008 */ jr $ra
/* 01888 80B64248 00000000 */ nop

View file

@ -1,394 +0,0 @@
.rdata
glabel D_80B652EC
.asciz "KABE OUT !!\n"
.balign 4
glabel D_80B652FC
.asciz "SPD X %f\n"
.balign 4
glabel D_80B65308
.asciz "SPD Z %f\n"
.balign 4
glabel D_80B65314
.asciz "X=%f\n"
.balign 4
glabel D_80B6531C
.asciz "Z=%f\n"
.balign 4
.text
glabel func_80B6424C
/* 0188C 80B6424C 27BDFFA8 */ addiu $sp, $sp, 0xFFA8 ## $sp = FFFFFFA8
/* 01890 80B64250 AFB00038 */ sw $s0, 0x0038($sp)
/* 01894 80B64254 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 01898 80B64258 AFBF003C */ sw $ra, 0x003C($sp)
/* 0189C 80B6425C 3C0480B6 */ lui $a0, %hi(D_80B652EC) ## $a0 = 80B60000
/* 018A0 80B64260 AFA5005C */ sw $a1, 0x005C($sp)
/* 018A4 80B64264 0C00084C */ jal osSyncPrintf
/* 018A8 80B64268 248452EC */ addiu $a0, $a0, %lo(D_80B652EC) ## $a0 = 80B652EC
/* 018AC 80B6426C A200014D */ sb $zero, 0x014D($s0) ## 0000014D
/* 018B0 80B64270 26040250 */ addiu $a0, $s0, 0x0250 ## $a0 = 00000250
/* 018B4 80B64274 0C02927F */ jal SkelAnime_Update
/* 018B8 80B64278 AFA40044 */ sw $a0, 0x0044($sp)
/* 018BC 80B6427C 860E01D4 */ lh $t6, 0x01D4($s0) ## 000001D4
/* 018C0 80B64280 8FA8005C */ lw $t0, 0x005C($sp)
/* 018C4 80B64284 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 018C8 80B64288 11C00029 */ beq $t6, $zero, .L80B64330
/* 018CC 80B6428C 3C053C3C */ lui $a1, 0x3C3C ## $a1 = 3C3C0000
/* 018D0 80B64290 3C073951 */ lui $a3, 0x3951 ## $a3 = 39510000
/* 018D4 80B64294 34E7B717 */ ori $a3, $a3, 0xB717 ## $a3 = 3951B717
/* 018D8 80B64298 34A56A7E */ ori $a1, $a1, 0x6A7E ## $a1 = 3C3C6A7E
/* 018DC 80B6429C 26040058 */ addiu $a0, $s0, 0x0058 ## $a0 = 00000058
/* 018E0 80B642A0 0C01E107 */ jal Math_ApproachF
/* 018E4 80B642A4 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 018E8 80B642A8 860F01D4 */ lh $t7, 0x01D4($s0) ## 000001D4
/* 018EC 80B642AC 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 018F0 80B642B0 24180001 */ addiu $t8, $zero, 0x0001 ## $t8 = 00000001
/* 018F4 80B642B4 15E10008 */ bne $t7, $at, .L80B642D8
/* 018F8 80B642B8 24190032 */ addiu $t9, $zero, 0x0032 ## $t9 = 00000032
/* 018FC 80B642BC A218014C */ sb $t8, 0x014C($s0) ## 0000014C
/* 01900 80B642C0 A61901D6 */ sh $t9, 0x01D6($s0) ## 000001D6
/* 01904 80B642C4 3C050601 */ lui $a1, 0x0601 ## $a1 = 06010000
/* 01908 80B642C8 24A5C65C */ addiu $a1, $a1, 0xC65C ## $a1 = 0600C65C
/* 0190C 80B642CC 8FA40044 */ lw $a0, 0x0044($sp)
/* 01910 80B642D0 0C029490 */ jal Animation_MorphToPlayOnce
/* 01914 80B642D4 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
.L80B642D8:
/* 01918 80B642D8 260401E8 */ addiu $a0, $s0, 0x01E8 ## $a0 = 000001E8
/* 0191C 80B642DC 3C05437F */ lui $a1, 0x437F ## $a1 = 437F0000
/* 01920 80B642E0 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 01924 80B642E4 0C01E107 */ jal Math_ApproachF
/* 01928 80B642E8 3C074120 */ lui $a3, 0x4120 ## $a3 = 41200000
/* 0192C 80B642EC 260401EC */ addiu $a0, $s0, 0x01EC ## $a0 = 000001EC
/* 01930 80B642F0 3C05437F */ lui $a1, 0x437F ## $a1 = 437F0000
/* 01934 80B642F4 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 01938 80B642F8 0C01E107 */ jal Math_ApproachF
/* 0193C 80B642FC 3C074120 */ lui $a3, 0x4120 ## $a3 = 41200000
/* 01940 80B64300 260401F0 */ addiu $a0, $s0, 0x01F0 ## $a0 = 000001F0
/* 01944 80B64304 3C05437F */ lui $a1, 0x437F ## $a1 = 437F0000
/* 01948 80B64308 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 0194C 80B6430C 0C01E107 */ jal Math_ApproachF
/* 01950 80B64310 3C074120 */ lui $a3, 0x4120 ## $a3 = 41200000
/* 01954 80B64314 260401F4 */ addiu $a0, $s0, 0x01F4 ## $a0 = 000001F4
/* 01958 80B64318 3C05C270 */ lui $a1, 0xC270 ## $a1 = C2700000
/* 0195C 80B6431C 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 01960 80B64320 0C01E107 */ jal Math_ApproachF
/* 01964 80B64324 3C0740A0 */ lui $a3, 0x40A0 ## $a3 = 40A00000
/* 01968 80B64328 10000084 */ beq $zero, $zero, .L80B6453C
/* 0196C 80B6432C 860A01DE */ lh $t2, 0x01DE($s0) ## 000001DE
.L80B64330:
/* 01970 80B64330 910907AF */ lbu $t1, 0x07AF($t0) ## 000007AF
/* 01974 80B64334 260401E8 */ addiu $a0, $s0, 0x01E8 ## $a0 = 000001E8
/* 01978 80B64338 44892000 */ mtc1 $t1, $f4 ## $f4 = 0.00
/* 0197C 80B6433C 05210005 */ bgez $t1, .L80B64354
/* 01980 80B64340 46802120 */ cvt.s.w $f4, $f4
/* 01984 80B64344 3C014F80 */ lui $at, 0x4F80 ## $at = 4F800000
/* 01988 80B64348 44813000 */ mtc1 $at, $f6 ## $f6 = 4294967296.00
/* 0198C 80B6434C 00000000 */ nop
/* 01990 80B64350 46062100 */ add.s $f4, $f4, $f6
.L80B64354:
/* 01994 80B64354 44052000 */ mfc1 $a1, $f4
/* 01998 80B64358 0C01E107 */ jal Math_ApproachF
/* 0199C 80B6435C 3C074120 */ lui $a3, 0x4120 ## $a3 = 41200000
/* 019A0 80B64360 8FAA005C */ lw $t2, 0x005C($sp)
/* 019A4 80B64364 260401EC */ addiu $a0, $s0, 0x01EC ## $a0 = 000001EC
/* 019A8 80B64368 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 019AC 80B6436C 914B07AF */ lbu $t3, 0x07AF($t2) ## 000007AF
/* 019B0 80B64370 3C014F80 */ lui $at, 0x4F80 ## $at = 4F800000
/* 019B4 80B64374 448B4000 */ mtc1 $t3, $f8 ## $f8 = 0.00
/* 019B8 80B64378 05610004 */ bgez $t3, .L80B6438C
/* 019BC 80B6437C 46804220 */ cvt.s.w $f8, $f8
/* 019C0 80B64380 44815000 */ mtc1 $at, $f10 ## $f10 = 4294967296.00
/* 019C4 80B64384 00000000 */ nop
/* 019C8 80B64388 460A4200 */ add.s $f8, $f8, $f10
.L80B6438C:
/* 019CC 80B6438C 44054000 */ mfc1 $a1, $f8
/* 019D0 80B64390 0C01E107 */ jal Math_ApproachF
/* 019D4 80B64394 3C074120 */ lui $a3, 0x4120 ## $a3 = 41200000
/* 019D8 80B64398 8FAC005C */ lw $t4, 0x005C($sp)
/* 019DC 80B6439C 260401F0 */ addiu $a0, $s0, 0x01F0 ## $a0 = 000001F0
/* 019E0 80B643A0 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 019E4 80B643A4 918D07AF */ lbu $t5, 0x07AF($t4) ## 000007AF
/* 019E8 80B643A8 3C014F80 */ lui $at, 0x4F80 ## $at = 4F800000
/* 019EC 80B643AC 448D8000 */ mtc1 $t5, $f16 ## $f16 = 0.00
/* 019F0 80B643B0 05A10004 */ bgez $t5, .L80B643C4
/* 019F4 80B643B4 46808420 */ cvt.s.w $f16, $f16
/* 019F8 80B643B8 44819000 */ mtc1 $at, $f18 ## $f18 = 4294967296.00
/* 019FC 80B643BC 00000000 */ nop
/* 01A00 80B643C0 46128400 */ add.s $f16, $f16, $f18
.L80B643C4:
/* 01A04 80B643C4 44058000 */ mfc1 $a1, $f16
/* 01A08 80B643C8 0C01E107 */ jal Math_ApproachF
/* 01A0C 80B643CC 3C074120 */ lui $a3, 0x4120 ## $a3 = 41200000
/* 01A10 80B643D0 260401F4 */ addiu $a0, $s0, 0x01F4 ## $a0 = 000001F4
/* 01A14 80B643D4 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
/* 01A18 80B643D8 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 01A1C 80B643DC 0C01E107 */ jal Math_ApproachF
/* 01A20 80B643E0 3C0740A0 */ lui $a3, 0x40A0 ## $a3 = 40A00000
/* 01A24 80B643E4 860E01D6 */ lh $t6, 0x01D6($s0) ## 000001D6
/* 01A28 80B643E8 2401001D */ addiu $at, $zero, 0x001D ## $at = 0000001D
/* 01A2C 80B643EC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01A30 80B643F0 55C10007 */ bnel $t6, $at, .L80B64410
/* 01A34 80B643F4 860F01DE */ lh $t7, 0x01DE($s0) ## 000001DE
/* 01A38 80B643F8 0C00BE0A */ jal Audio_PlayActorSound2
/* 01A3C 80B643FC 240538A6 */ addiu $a1, $zero, 0x38A6 ## $a1 = 000038A6
/* 01A40 80B64400 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01A44 80B64404 0C00BE0A */ jal Audio_PlayActorSound2
/* 01A48 80B64408 240538B2 */ addiu $a1, $zero, 0x38B2 ## $a1 = 000038B2
/* 01A4C 80B6440C 860F01DE */ lh $t7, 0x01DE($s0) ## 000001DE
.L80B64410:
/* 01A50 80B64410 55E00033 */ bnel $t7, $zero, .L80B644E0
/* 01A54 80B64414 3C053C3C */ lui $a1, 0x3C3C ## $a1 = 3C3C0000
/* 01A58 80B64418 860301D6 */ lh $v1, 0x01D6($s0) ## 000001D6
/* 01A5C 80B6441C 24010018 */ addiu $at, $zero, 0x0018 ## $at = 00000018
/* 01A60 80B64420 54610019 */ bnel $v1, $at, .L80B64488
/* 01A64 80B64424 2401002D */ addiu $at, $zero, 0x002D ## $at = 0000002D
/* 01A68 80B64428 C6040024 */ lwc1 $f4, 0x0024($s0) ## 00000024
/* 01A6C 80B6442C 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000
/* 01A70 80B64430 44814000 */ mtc1 $at, $f8 ## $f8 = 100.00
/* 01A74 80B64434 E7A40010 */ swc1 $f4, 0x0010($sp)
/* 01A78 80B64438 C6060028 */ lwc1 $f6, 0x0028($s0) ## 00000028
/* 01A7C 80B6443C 3C0141C8 */ lui $at, 0x41C8 ## $at = 41C80000
/* 01A80 80B64440 44818000 */ mtc1 $at, $f16 ## $f16 = 25.00
/* 01A84 80B64444 46083280 */ add.s $f10, $f6, $f8
/* 01A88 80B64448 8FA6005C */ lw $a2, 0x005C($sp)
/* 01A8C 80B6444C 24190001 */ addiu $t9, $zero, 0x0001 ## $t9 = 00000001
/* 01A90 80B64450 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 01A94 80B64454 46105480 */ add.s $f18, $f10, $f16
/* 01A98 80B64458 2407006D */ addiu $a3, $zero, 0x006D ## $a3 = 0000006D
/* 01A9C 80B6445C 24C41C24 */ addiu $a0, $a2, 0x1C24 ## $a0 = 00001C24
/* 01AA0 80B64460 E7B20014 */ swc1 $f18, 0x0014($sp)
/* 01AA4 80B64464 C604002C */ lwc1 $f4, 0x002C($s0) ## 0000002C
/* 01AA8 80B64468 AFB90028 */ sw $t9, 0x0028($sp)
/* 01AAC 80B6446C AFA00024 */ sw $zero, 0x0024($sp)
/* 01AB0 80B64470 AFA00020 */ sw $zero, 0x0020($sp)
/* 01AB4 80B64474 AFA0001C */ sw $zero, 0x001C($sp)
/* 01AB8 80B64478 0C00C916 */ jal Actor_SpawnAsChild
/* 01ABC 80B6447C E7A40018 */ swc1 $f4, 0x0018($sp)
/* 01AC0 80B64480 860301D6 */ lh $v1, 0x01D6($s0) ## 000001D6
/* 01AC4 80B64484 2401002D */ addiu $at, $zero, 0x002D ## $at = 0000002D
.L80B64488:
/* 01AC8 80B64488 14610006 */ bne $v1, $at, .L80B644A4
/* 01ACC 80B6448C 8FA40044 */ lw $a0, 0x0044($sp)
/* 01AD0 80B64490 3C050601 */ lui $a1, 0x0601 ## $a1 = 06010000
/* 01AD4 80B64494 24A5B9D0 */ addiu $a1, $a1, 0xB9D0 ## $a1 = 0600B9D0
/* 01AD8 80B64498 0C0294D3 */ jal Animation_MorphToLoop
/* 01ADC 80B6449C 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
/* 01AE0 80B644A0 860301D6 */ lh $v1, 0x01D6($s0) ## 000001D6
.L80B644A4:
/* 01AE4 80B644A4 24010026 */ addiu $at, $zero, 0x0026 ## $at = 00000026
/* 01AE8 80B644A8 14610003 */ bne $v1, $at, .L80B644B8
/* 01AEC 80B644AC 24080003 */ addiu $t0, $zero, 0x0003 ## $t0 = 00000003
/* 01AF0 80B644B0 A208014C */ sb $t0, 0x014C($s0) ## 0000014C
/* 01AF4 80B644B4 860301D6 */ lh $v1, 0x01D6($s0) ## 000001D6
.L80B644B8:
/* 01AF8 80B644B8 24010010 */ addiu $at, $zero, 0x0010 ## $at = 00000010
/* 01AFC 80B644BC 14610007 */ bne $v1, $at, .L80B644DC
/* 01B00 80B644C0 8FA40044 */ lw $a0, 0x0044($sp)
/* 01B04 80B644C4 3C050601 */ lui $a1, 0x0601 ## $a1 = 06010000
/* 01B08 80B644C8 24A5CB1C */ addiu $a1, $a1, 0xCB1C ## $a1 = 0600CB1C
/* 01B0C 80B644CC 0C029490 */ jal Animation_MorphToPlayOnce
/* 01B10 80B644D0 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
/* 01B14 80B644D4 24090004 */ addiu $t1, $zero, 0x0004 ## $t1 = 00000004
/* 01B18 80B644D8 A209014C */ sb $t1, 0x014C($s0) ## 0000014C
.L80B644DC:
/* 01B1C 80B644DC 3C053C3C */ lui $a1, 0x3C3C ## $a1 = 3C3C0000
.L80B644E0:
/* 01B20 80B644E0 3C073B03 */ lui $a3, 0x3B03 ## $a3 = 3B030000
/* 01B24 80B644E4 34E7126F */ ori $a3, $a3, 0x126F ## $a3 = 3B03126F
/* 01B28 80B644E8 34A56A7E */ ori $a1, $a1, 0x6A7E ## $a1 = 3C3C6A7E
/* 01B2C 80B644EC 26040058 */ addiu $a0, $s0, 0x0058 ## $a0 = 00000058
/* 01B30 80B644F0 0C01E107 */ jal Math_ApproachF
/* 01B34 80B644F4 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 01B38 80B644F8 26040024 */ addiu $a0, $s0, 0x0024 ## $a0 = 00000024
/* 01B3C 80B644FC 8E05018C */ lw $a1, 0x018C($s0) ## 0000018C
/* 01B40 80B64500 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 01B44 80B64504 0C01E107 */ jal Math_ApproachF
/* 01B48 80B64508 8E070198 */ lw $a3, 0x0198($s0) ## 00000198
/* 01B4C 80B6450C 3C063DCC */ lui $a2, 0x3DCC ## $a2 = 3DCC0000
/* 01B50 80B64510 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3DCCCCCD
/* 01B54 80B64514 26040028 */ addiu $a0, $s0, 0x0028 ## $a0 = 00000028
/* 01B58 80B64518 3C054270 */ lui $a1, 0x4270 ## $a1 = 42700000
/* 01B5C 80B6451C 0C01E107 */ jal Math_ApproachF
/* 01B60 80B64520 3C073F80 */ lui $a3, 0x3F80 ## $a3 = 3F800000
/* 01B64 80B64524 2604002C */ addiu $a0, $s0, 0x002C ## $a0 = 0000002C
/* 01B68 80B64528 8E050194 */ lw $a1, 0x0194($s0) ## 00000194
/* 01B6C 80B6452C 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 01B70 80B64530 0C01E107 */ jal Math_ApproachF
/* 01B74 80B64534 8E07019C */ lw $a3, 0x019C($s0) ## 0000019C
/* 01B78 80B64538 860A01DE */ lh $t2, 0x01DE($s0) ## 000001DE
.L80B6453C:
/* 01B7C 80B6453C 24010014 */ addiu $at, $zero, 0x0014 ## $at = 00000014
/* 01B80 80B64540 3C0B80B6 */ lui $t3, %hi(func_80B6476C) ## $t3 = 80B60000
/* 01B84 80B64544 1541001C */ bne $t2, $at, .L80B645B8
/* 01B88 80B64548 256B476C */ addiu $t3, $t3, %lo(func_80B6476C) ## $t3 = 80B6476C
/* 01B8C 80B6454C 3C040601 */ lui $a0, 0x0601 ## $a0 = 06010000
/* 01B90 80B64550 AE0B01FC */ sw $t3, 0x01FC($s0) ## 000001FC
/* 01B94 80B64554 A60001C8 */ sh $zero, 0x01C8($s0) ## 000001C8
/* 01B98 80B64558 0C028800 */ jal Animation_GetLastFrame
/* 01B9C 80B6455C 2484CB1C */ addiu $a0, $a0, 0xCB1C ## $a0 = 0600CB1C
/* 01BA0 80B64560 44823000 */ mtc1 $v0, $f6 ## $f6 = 0.00
/* 01BA4 80B64564 3C01C0A0 */ lui $at, 0xC0A0 ## $at = C0A00000
/* 01BA8 80B64568 44815000 */ mtc1 $at, $f10 ## $f10 = -5.00
/* 01BAC 80B6456C 46803220 */ cvt.s.w $f8, $f6
/* 01BB0 80B64570 3C050601 */ lui $a1, 0x0601 ## $a1 = 06010000
/* 01BB4 80B64574 240C0002 */ addiu $t4, $zero, 0x0002 ## $t4 = 00000002
/* 01BB8 80B64578 AFAC0014 */ sw $t4, 0x0014($sp)
/* 01BBC 80B6457C 24A5CB1C */ addiu $a1, $a1, 0xCB1C ## $a1 = 0600CB1C
/* 01BC0 80B64580 8FA40044 */ lw $a0, 0x0044($sp)
/* 01BC4 80B64584 E7A80010 */ swc1 $f8, 0x0010($sp)
/* 01BC8 80B64588 3C06BF80 */ lui $a2, 0xBF80 ## $a2 = BF800000
/* 01BCC 80B6458C 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
/* 01BD0 80B64590 0C029468 */ jal Animation_Change
/* 01BD4 80B64594 E7AA0018 */ swc1 $f10, 0x0018($sp)
/* 01BD8 80B64598 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 01BDC 80B6459C 44818000 */ mtc1 $at, $f16 ## $f16 = 1.00
/* 01BE0 80B645A0 240D000A */ addiu $t5, $zero, 0x000A ## $t5 = 0000000A
/* 01BE4 80B645A4 240E0004 */ addiu $t6, $zero, 0x0004 ## $t6 = 00000004
/* 01BE8 80B645A8 A60D01D4 */ sh $t5, 0x01D4($s0) ## 000001D4
/* 01BEC 80B645AC A20E014C */ sb $t6, 0x014C($s0) ## 0000014C
/* 01BF0 80B645B0 10000069 */ beq $zero, $zero, .L80B64758
/* 01BF4 80B645B4 E61001A0 */ swc1 $f16, 0x01A0($s0) ## 000001A0
.L80B645B8:
/* 01BF8 80B645B8 C606002C */ lwc1 $f6, 0x002C($s0) ## 0000002C
/* 01BFC 80B645BC C6080194 */ lwc1 $f8, 0x0194($s0) ## 00000194
/* 01C00 80B645C0 C6120024 */ lwc1 $f18, 0x0024($s0) ## 00000024
/* 01C04 80B645C4 C604018C */ lwc1 $f4, 0x018C($s0) ## 0000018C
/* 01C08 80B645C8 46083281 */ sub.s $f10, $f6, $f8
/* 01C0C 80B645CC 3C0143AF */ lui $at, 0x43AF ## $at = 43AF0000
/* 01C10 80B645D0 44813000 */ mtc1 $at, $f6 ## $f6 = 350.00
/* 01C14 80B645D4 46049081 */ sub.s $f2, $f18, $f4
/* 01C18 80B645D8 E7AA0050 */ swc1 $f10, 0x0050($sp)
/* 01C1C 80B645DC C7B00050 */ lwc1 $f16, 0x0050($sp)
/* 01C20 80B645E0 3C014396 */ lui $at, 0x4396 ## $at = 43960000
/* 01C24 80B645E4 44814000 */ mtc1 $at, $f8 ## $f8 = 300.00
/* 01C28 80B645E8 46108482 */ mul.s $f18, $f16, $f16
/* 01C2C 80B645EC 240F0001 */ addiu $t7, $zero, 0x0001 ## $t7 = 00000001
/* 01C30 80B645F0 46021102 */ mul.s $f4, $f2, $f2
/* 01C34 80B645F4 46122000 */ add.s $f0, $f4, $f18
/* 01C38 80B645F8 46000004 */ sqrt.s $f0, $f0
/* 01C3C 80B645FC 4606003C */ c.lt.s $f0, $f6
/* 01C40 80B64600 E7A0004C */ swc1 $f0, 0x004C($sp)
/* 01C44 80B64604 45020003 */ bc1fl .L80B64614
/* 01C48 80B64608 4608003C */ c.lt.s $f0, $f8
/* 01C4C 80B6460C A20F014D */ sb $t7, 0x014D($s0) ## 0000014D
/* 01C50 80B64610 4608003C */ c.lt.s $f0, $f8
.L80B64614:
/* 01C54 80B64614 00000000 */ nop
/* 01C58 80B64618 4502001E */ bc1fl .L80B64694
/* 01C5C 80B6461C C6080198 */ lwc1 $f8, 0x0198($s0) ## 00000198
/* 01C60 80B64620 861801C8 */ lh $t8, 0x01C8($s0) ## 000001C8
/* 01C64 80B64624 8FA6005C */ lw $a2, 0x005C($sp)
/* 01C68 80B64628 24190001 */ addiu $t9, $zero, 0x0001 ## $t9 = 00000001
/* 01C6C 80B6462C 17000018 */ bne $t8, $zero, .L80B64690
/* 01C70 80B64630 3C014248 */ lui $at, 0x4248 ## $at = 42480000
/* 01C74 80B64634 C60A018C */ lwc1 $f10, 0x018C($s0) ## 0000018C
/* 01C78 80B64638 A61901C8 */ sh $t9, 0x01C8($s0) ## 000001C8
/* 01C7C 80B6463C 44812000 */ mtc1 $at, $f4 ## $f4 = 50.00
/* 01C80 80B64640 E7AA0010 */ swc1 $f10, 0x0010($sp)
/* 01C84 80B64644 C6100028 */ lwc1 $f16, 0x0028($s0) ## 00000028
/* 01C88 80B64648 24090028 */ addiu $t1, $zero, 0x0028 ## $t1 = 00000028
/* 01C8C 80B6464C 24C41C24 */ addiu $a0, $a2, 0x1C24 ## $a0 = 00001C24
/* 01C90 80B64650 46048480 */ add.s $f18, $f16, $f4
/* 01C94 80B64654 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 01C98 80B64658 2407006D */ addiu $a3, $zero, 0x006D ## $a3 = 0000006D
/* 01C9C 80B6465C E7B20014 */ swc1 $f18, 0x0014($sp)
/* 01CA0 80B64660 C6060194 */ lwc1 $f6, 0x0194($s0) ## 00000194
/* 01CA4 80B64664 AFA0001C */ sw $zero, 0x001C($sp)
/* 01CA8 80B64668 E7A60018 */ swc1 $f6, 0x0018($sp)
/* 01CAC 80B6466C 860800B6 */ lh $t0, 0x00B6($s0) ## 000000B6
/* 01CB0 80B64670 E7A20054 */ swc1 $f2, 0x0054($sp)
/* 01CB4 80B64674 AFA90028 */ sw $t1, 0x0028($sp)
/* 01CB8 80B64678 AFA00024 */ sw $zero, 0x0024($sp)
/* 01CBC 80B6467C 0C00C916 */ jal Actor_SpawnAsChild
/* 01CC0 80B64680 AFA80020 */ sw $t0, 0x0020($sp)
/* 01CC4 80B64684 C7A20054 */ lwc1 $f2, 0x0054($sp)
/* 01CC8 80B64688 240A0001 */ addiu $t2, $zero, 0x0001 ## $t2 = 00000001
/* 01CCC 80B6468C A20A014F */ sb $t2, 0x014F($s0) ## 0000014F
.L80B64690:
/* 01CD0 80B64690 C6080198 */ lwc1 $f8, 0x0198($s0) ## 00000198
.L80B64694:
/* 01CD4 80B64694 3C0480B6 */ lui $a0, %hi(D_80B652FC) ## $a0 = 80B60000
/* 01CD8 80B64698 248452FC */ addiu $a0, $a0, %lo(D_80B652FC) ## $a0 = 80B652FC
/* 01CDC 80B6469C 460042A1 */ cvt.d.s $f10, $f8
/* 01CE0 80B646A0 E7A20054 */ swc1 $f2, 0x0054($sp)
/* 01CE4 80B646A4 44075000 */ mfc1 $a3, $f10
/* 01CE8 80B646A8 44065800 */ mfc1 $a2, $f11
/* 01CEC 80B646AC 0C00084C */ jal osSyncPrintf
/* 01CF0 80B646B0 00000000 */ nop
/* 01CF4 80B646B4 C610019C */ lwc1 $f16, 0x019C($s0) ## 0000019C
/* 01CF8 80B646B8 3C0480B6 */ lui $a0, %hi(D_80B65308) ## $a0 = 80B60000
/* 01CFC 80B646BC 24845308 */ addiu $a0, $a0, %lo(D_80B65308) ## $a0 = 80B65308
/* 01D00 80B646C0 46008121 */ cvt.d.s $f4, $f16
/* 01D04 80B646C4 44072000 */ mfc1 $a3, $f4
/* 01D08 80B646C8 44062800 */ mfc1 $a2, $f5
/* 01D0C 80B646CC 0C00084C */ jal osSyncPrintf
/* 01D10 80B646D0 00000000 */ nop
/* 01D14 80B646D4 C7A20054 */ lwc1 $f2, 0x0054($sp)
/* 01D18 80B646D8 3C0480B6 */ lui $a0, %hi(D_80B65314) ## $a0 = 80B60000
/* 01D1C 80B646DC 24845314 */ addiu $a0, $a0, %lo(D_80B65314) ## $a0 = 80B65314
/* 01D20 80B646E0 460014A1 */ cvt.d.s $f18, $f2
/* 01D24 80B646E4 44079000 */ mfc1 $a3, $f18
/* 01D28 80B646E8 44069800 */ mfc1 $a2, $f19
/* 01D2C 80B646EC 0C00084C */ jal osSyncPrintf
/* 01D30 80B646F0 00000000 */ nop
/* 01D34 80B646F4 C7A60050 */ lwc1 $f6, 0x0050($sp)
/* 01D38 80B646F8 3C0480B6 */ lui $a0, %hi(D_80B6531C) ## $a0 = 80B60000
/* 01D3C 80B646FC 2484531C */ addiu $a0, $a0, %lo(D_80B6531C) ## $a0 = 80B6531C
/* 01D40 80B64700 46003221 */ cvt.d.s $f8, $f6
/* 01D44 80B64704 44074000 */ mfc1 $a3, $f8
/* 01D48 80B64708 44064800 */ mfc1 $a2, $f9
/* 01D4C 80B6470C 0C00084C */ jal osSyncPrintf
/* 01D50 80B64710 00000000 */ nop
/* 01D54 80B64714 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
/* 01D58 80B64718 C7AA004C */ lwc1 $f10, 0x004C($sp)
/* 01D5C 80B6471C 3C0C80B6 */ lui $t4, %hi(func_80B64AA8) ## $t4 = 80B60000
/* 01D60 80B64720 3C050601 */ lui $a1, 0x0601 ## $a1 = 06010000
/* 01D64 80B64724 46005032 */ c.eq.s $f10, $f0
/* 01D68 80B64728 240B008C */ addiu $t3, $zero, 0x008C ## $t3 = 0000008C
/* 01D6C 80B6472C 258C4AA8 */ addiu $t4, $t4, %lo(func_80B64AA8) ## $t4 = 80B64AA8
/* 01D70 80B64730 24A5B4C8 */ addiu $a1, $a1, 0xB4C8 ## $a1 = 0600B4C8
/* 01D74 80B64734 45020009 */ bc1fl .L80B6475C
/* 01D78 80B64738 8FBF003C */ lw $ra, 0x003C($sp)
/* 01D7C 80B6473C A60B01D4 */ sh $t3, 0x01D4($s0) ## 000001D4
/* 01D80 80B64740 AE0C01FC */ sw $t4, 0x01FC($s0) ## 000001FC
/* 01D84 80B64744 44060000 */ mfc1 $a2, $f0
/* 01D88 80B64748 0C0294D3 */ jal Animation_MorphToLoop
/* 01D8C 80B6474C 8FA40044 */ lw $a0, 0x0044($sp)
/* 01D90 80B64750 240D0005 */ addiu $t5, $zero, 0x0005 ## $t5 = 00000005
/* 01D94 80B64754 A20D014C */ sb $t5, 0x014C($s0) ## 0000014C
.L80B64758:
/* 01D98 80B64758 8FBF003C */ lw $ra, 0x003C($sp)
.L80B6475C:
/* 01D9C 80B6475C 8FB00038 */ lw $s0, 0x0038($sp)
/* 01DA0 80B64760 27BD0058 */ addiu $sp, $sp, 0x0058 ## $sp = 00000000
/* 01DA4 80B64764 03E00008 */ jr $ra
/* 01DA8 80B64768 00000000 */ nop

View file

@ -1,243 +0,0 @@
.rdata
glabel D_80B65324
.asciz "REVISE !!\n"
.balign 4
.late_rodata
glabel D_80B65444
.float 1.3
glabel D_80B65448
.word 0x454FD000
.text
glabel func_80B6476C
/* 01DAC 80B6476C 27BDFFA0 */ addiu $sp, $sp, 0xFFA0 ## $sp = FFFFFFA0
/* 01DB0 80B64770 AFB00040 */ sw $s0, 0x0040($sp)
/* 01DB4 80B64774 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 01DB8 80B64778 AFBF0044 */ sw $ra, 0x0044($sp)
/* 01DBC 80B6477C 3C0480B6 */ lui $a0, %hi(D_80B65324) ## $a0 = 80B60000
/* 01DC0 80B64780 F7B40038 */ sdc1 $f20, 0x0038($sp)
/* 01DC4 80B64784 AFA50064 */ sw $a1, 0x0064($sp)
/* 01DC8 80B64788 0C00084C */ jal osSyncPrintf
/* 01DCC 80B6478C 24845324 */ addiu $a0, $a0, %lo(D_80B65324) ## $a0 = 80B65324
/* 01DD0 80B64790 26040250 */ addiu $a0, $s0, 0x0250 ## $a0 = 00000250
/* 01DD4 80B64794 0C02927F */ jal SkelAnime_Update
/* 01DD8 80B64798 AFA4004C */ sw $a0, 0x004C($sp)
/* 01DDC 80B6479C 8FAE0064 */ lw $t6, 0x0064($sp)
/* 01DE0 80B647A0 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 01DE4 80B647A4 4481A000 */ mtc1 $at, $f20 ## $f20 = 1.00
/* 01DE8 80B647A8 91CF07AF */ lbu $t7, 0x07AF($t6) ## 000007AF
/* 01DEC 80B647AC 260401E8 */ addiu $a0, $s0, 0x01E8 ## $a0 = 000001E8
/* 01DF0 80B647B0 4406A000 */ mfc1 $a2, $f20
/* 01DF4 80B647B4 448F2000 */ mtc1 $t7, $f4 ## $f4 = 0.00
/* 01DF8 80B647B8 05E10005 */ bgez $t7, .L80B647D0
/* 01DFC 80B647BC 46802120 */ cvt.s.w $f4, $f4
/* 01E00 80B647C0 3C014F80 */ lui $at, 0x4F80 ## $at = 4F800000
/* 01E04 80B647C4 44813000 */ mtc1 $at, $f6 ## $f6 = 4294967296.00
/* 01E08 80B647C8 00000000 */ nop
/* 01E0C 80B647CC 46062100 */ add.s $f4, $f4, $f6
.L80B647D0:
/* 01E10 80B647D0 44052000 */ mfc1 $a1, $f4
/* 01E14 80B647D4 0C01E107 */ jal Math_ApproachF
/* 01E18 80B647D8 3C074120 */ lui $a3, 0x4120 ## $a3 = 41200000
/* 01E1C 80B647DC 8FB80064 */ lw $t8, 0x0064($sp)
/* 01E20 80B647E0 4406A000 */ mfc1 $a2, $f20
/* 01E24 80B647E4 260401EC */ addiu $a0, $s0, 0x01EC ## $a0 = 000001EC
/* 01E28 80B647E8 931907AF */ lbu $t9, 0x07AF($t8) ## 000007AF
/* 01E2C 80B647EC 44994000 */ mtc1 $t9, $f8 ## $f8 = 0.00
/* 01E30 80B647F0 07210005 */ bgez $t9, .L80B64808
/* 01E34 80B647F4 46804220 */ cvt.s.w $f8, $f8
/* 01E38 80B647F8 3C014F80 */ lui $at, 0x4F80 ## $at = 4F800000
/* 01E3C 80B647FC 44815000 */ mtc1 $at, $f10 ## $f10 = 4294967296.00
/* 01E40 80B64800 00000000 */ nop
/* 01E44 80B64804 460A4200 */ add.s $f8, $f8, $f10
.L80B64808:
/* 01E48 80B64808 44054000 */ mfc1 $a1, $f8
/* 01E4C 80B6480C 0C01E107 */ jal Math_ApproachF
/* 01E50 80B64810 3C074120 */ lui $a3, 0x4120 ## $a3 = 41200000
/* 01E54 80B64814 8FA80064 */ lw $t0, 0x0064($sp)
/* 01E58 80B64818 4406A000 */ mfc1 $a2, $f20
/* 01E5C 80B6481C 260401F0 */ addiu $a0, $s0, 0x01F0 ## $a0 = 000001F0
/* 01E60 80B64820 910907AF */ lbu $t1, 0x07AF($t0) ## 000007AF
/* 01E64 80B64824 3C014F80 */ lui $at, 0x4F80 ## $at = 4F800000
/* 01E68 80B64828 44899000 */ mtc1 $t1, $f18 ## $f18 = 0.00
/* 01E6C 80B6482C 05210004 */ bgez $t1, .L80B64840
/* 01E70 80B64830 468094A0 */ cvt.s.w $f18, $f18
/* 01E74 80B64834 44812000 */ mtc1 $at, $f4 ## $f4 = 4294967296.00
/* 01E78 80B64838 00000000 */ nop
/* 01E7C 80B6483C 46049480 */ add.s $f18, $f18, $f4
.L80B64840:
/* 01E80 80B64840 44059000 */ mfc1 $a1, $f18
/* 01E84 80B64844 0C01E107 */ jal Math_ApproachF
/* 01E88 80B64848 3C074120 */ lui $a3, 0x4120 ## $a3 = 41200000
/* 01E8C 80B6484C 4406A000 */ mfc1 $a2, $f20
/* 01E90 80B64850 260401F4 */ addiu $a0, $s0, 0x01F4 ## $a0 = 000001F4
/* 01E94 80B64854 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
/* 01E98 80B64858 0C01E107 */ jal Math_ApproachF
/* 01E9C 80B6485C 3C0740A0 */ lui $a3, 0x40A0 ## $a3 = 40A00000
/* 01EA0 80B64860 3C053C3C */ lui $a1, 0x3C3C ## $a1 = 3C3C0000
/* 01EA4 80B64864 4406A000 */ mfc1 $a2, $f20
/* 01EA8 80B64868 3C073B03 */ lui $a3, 0x3B03 ## $a3 = 3B030000
/* 01EAC 80B6486C 34E7126F */ ori $a3, $a3, 0x126F ## $a3 = 3B03126F
/* 01EB0 80B64870 34A56A7E */ ori $a1, $a1, 0x6A7E ## $a1 = 3C3C6A7E
/* 01EB4 80B64874 0C01E107 */ jal Math_ApproachF
/* 01EB8 80B64878 26040058 */ addiu $a0, $s0, 0x0058 ## $a0 = 00000058
/* 01EBC 80B6487C 860A01D4 */ lh $t2, 0x01D4($s0) ## 000001D4
/* 01EC0 80B64880 3C063DCC */ lui $a2, 0x3DCC ## $a2 = 3DCC0000
/* 01EC4 80B64884 260401A0 */ addiu $a0, $s0, 0x01A0 ## $a0 = 000001A0
/* 01EC8 80B64888 11400021 */ beq $t2, $zero, .L80B64910
/* 01ECC 80B6488C 3C073DCC */ lui $a3, 0x3DCC ## $a3 = 3DCC0000
/* 01ED0 80B64890 4405A000 */ mfc1 $a1, $f20
/* 01ED4 80B64894 260401A0 */ addiu $a0, $s0, 0x01A0 ## $a0 = 000001A0
/* 01ED8 80B64898 0C01E123 */ jal Math_ApproachZeroF
/* 01EDC 80B6489C 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3DCCCCCD
/* 01EE0 80B648A0 860B01D4 */ lh $t3, 0x01D4($s0) ## 000001D4
/* 01EE4 80B648A4 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 01EE8 80B648A8 5561001E */ bnel $t3, $at, .L80B64924
/* 01EEC 80B648AC C60401A0 */ lwc1 $f4, 0x01A0($s0) ## 000001A0
/* 01EF0 80B648B0 860C01C2 */ lh $t4, 0x01C2($s0) ## 000001C2
/* 01EF4 80B648B4 3C0180B6 */ lui $at, %hi(D_80B65444) ## $at = 80B60000
/* 01EF8 80B648B8 C4205444 */ lwc1 $f0, %lo(D_80B65444)($at)
/* 01EFC 80B648BC A60C01C4 */ sh $t4, 0x01C4($s0) ## 000001C4
/* 01F00 80B648C0 860D01C4 */ lh $t5, 0x01C4($s0) ## 000001C4
/* 01F04 80B648C4 3C0F80B6 */ lui $t7, %hi(D_80B65190) ## $t7 = 80B60000
/* 01F08 80B648C8 25EF5190 */ addiu $t7, $t7, %lo(D_80B65190) ## $t7 = 80B65190
/* 01F0C 80B648CC 000D7100 */ sll $t6, $t5, 4
/* 01F10 80B648D0 01CF1021 */ addu $v0, $t6, $t7
/* 01F14 80B648D4 C4460000 */ lwc1 $f6, 0x0000($v0) ## 00000000
/* 01F18 80B648D8 3C014120 */ lui $at, 0x4120 ## $at = 41200000
/* 01F1C 80B648DC 44815000 */ mtc1 $at, $f10 ## $f10 = 10.00
/* 01F20 80B648E0 46003202 */ mul.s $f8, $f6, $f0
/* 01F24 80B648E4 3C0180B6 */ lui $at, %hi(D_80B65448) ## $at = 80B60000
/* 01F28 80B648E8 460A4480 */ add.s $f18, $f8, $f10
/* 01F2C 80B648EC E612018C */ swc1 $f18, 0x018C($s0) ## 0000018C
/* 01F30 80B648F0 C4440004 */ lwc1 $f4, 0x0004($v0) ## 00000004
/* 01F34 80B648F4 E6040190 */ swc1 $f4, 0x0190($s0) ## 00000190
/* 01F38 80B648F8 C4460008 */ lwc1 $f6, 0x0008($v0) ## 00000008
/* 01F3C 80B648FC C42A5448 */ lwc1 $f10, %lo(D_80B65448)($at)
/* 01F40 80B64900 46003202 */ mul.s $f8, $f6, $f0
/* 01F44 80B64904 460A4481 */ sub.s $f18, $f8, $f10
/* 01F48 80B64908 10000005 */ beq $zero, $zero, .L80B64920
/* 01F4C 80B6490C E6120194 */ swc1 $f18, 0x0194($s0) ## 00000194
.L80B64910:
/* 01F50 80B64910 4405A000 */ mfc1 $a1, $f20
/* 01F54 80B64914 4406A000 */ mfc1 $a2, $f20
/* 01F58 80B64918 0C01E107 */ jal Math_ApproachF
/* 01F5C 80B6491C 34E7CCCD */ ori $a3, $a3, 0xCCCD ## $a3 = 0000CCCD
.L80B64920:
/* 01F60 80B64920 C60401A0 */ lwc1 $f4, 0x01A0($s0) ## 000001A0
.L80B64924:
/* 01F64 80B64924 C6060198 */ lwc1 $f6, 0x0198($s0) ## 00000198
/* 01F68 80B64928 4406A000 */ mfc1 $a2, $f20
/* 01F6C 80B6492C 26040024 */ addiu $a0, $s0, 0x0024 ## $a0 = 00000024
/* 01F70 80B64930 46062202 */ mul.s $f8, $f4, $f6
/* 01F74 80B64934 8E05018C */ lw $a1, 0x018C($s0) ## 0000018C
/* 01F78 80B64938 44074000 */ mfc1 $a3, $f8
/* 01F7C 80B6493C 0C01E107 */ jal Math_ApproachF
/* 01F80 80B64940 00000000 */ nop
/* 01F84 80B64944 3C063DCC */ lui $a2, 0x3DCC ## $a2 = 3DCC0000
/* 01F88 80B64948 4407A000 */ mfc1 $a3, $f20
/* 01F8C 80B6494C 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3DCCCCCD
/* 01F90 80B64950 26040028 */ addiu $a0, $s0, 0x0028 ## $a0 = 00000028
/* 01F94 80B64954 0C01E107 */ jal Math_ApproachF
/* 01F98 80B64958 3C054270 */ lui $a1, 0x4270 ## $a1 = 42700000
/* 01F9C 80B6495C C60A01A0 */ lwc1 $f10, 0x01A0($s0) ## 000001A0
/* 01FA0 80B64960 C612019C */ lwc1 $f18, 0x019C($s0) ## 0000019C
/* 01FA4 80B64964 4406A000 */ mfc1 $a2, $f20
/* 01FA8 80B64968 2604002C */ addiu $a0, $s0, 0x002C ## $a0 = 0000002C
/* 01FAC 80B6496C 46125102 */ mul.s $f4, $f10, $f18
/* 01FB0 80B64970 8E050194 */ lw $a1, 0x0194($s0) ## 00000194
/* 01FB4 80B64974 44072000 */ mfc1 $a3, $f4
/* 01FB8 80B64978 0C01E107 */ jal Math_ApproachF
/* 01FBC 80B6497C 00000000 */ nop
/* 01FC0 80B64980 C60E018C */ lwc1 $f14, 0x018C($s0) ## 0000018C
/* 01FC4 80B64984 C6060024 */ lwc1 $f6, 0x0024($s0) ## 00000024
/* 01FC8 80B64988 C6100194 */ lwc1 $f16, 0x0194($s0) ## 00000194
/* 01FCC 80B6498C C608002C */ lwc1 $f8, 0x002C($s0) ## 0000002C
/* 01FD0 80B64990 460E3081 */ sub.s $f2, $f6, $f14
/* 01FD4 80B64994 3C014396 */ lui $at, 0x4396 ## $at = 43960000
/* 01FD8 80B64998 44812000 */ mtc1 $at, $f4 ## $f4 = 300.00
/* 01FDC 80B6499C 46104301 */ sub.s $f12, $f8, $f16
/* 01FE0 80B649A0 46021282 */ mul.s $f10, $f2, $f2
/* 01FE4 80B649A4 00000000 */ nop
/* 01FE8 80B649A8 460C6482 */ mul.s $f18, $f12, $f12
/* 01FEC 80B649AC 46125000 */ add.s $f0, $f10, $f18
/* 01FF0 80B649B0 46000504 */ sqrt.s $f20, $f0
/* 01FF4 80B649B4 4604A03C */ c.lt.s $f20, $f4
/* 01FF8 80B649B8 00000000 */ nop
/* 01FFC 80B649BC 45000019 */ bc1f .L80B64A24
/* 02000 80B649C0 00000000 */ nop
/* 02004 80B649C4 861801C8 */ lh $t8, 0x01C8($s0) ## 000001C8
/* 02008 80B649C8 24190001 */ addiu $t9, $zero, 0x0001 ## $t9 = 00000001
/* 0200C 80B649CC 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 02010 80B649D0 17000014 */ bne $t8, $zero, .L80B64A24
/* 02014 80B649D4 2407006D */ addiu $a3, $zero, 0x006D ## $a3 = 0000006D
/* 02018 80B649D8 A61901C8 */ sh $t9, 0x01C8($s0) ## 000001C8
/* 0201C 80B649DC E7AE0010 */ swc1 $f14, 0x0010($sp)
/* 02020 80B649E0 3C014248 */ lui $at, 0x4248 ## $at = 42480000
/* 02024 80B649E4 44814000 */ mtc1 $at, $f8 ## $f8 = 50.00
/* 02028 80B649E8 C6060028 */ lwc1 $f6, 0x0028($s0) ## 00000028
/* 0202C 80B649EC AFA0001C */ sw $zero, 0x001C($sp)
/* 02030 80B649F0 E7B00018 */ swc1 $f16, 0x0018($sp)
/* 02034 80B649F4 46083280 */ add.s $f10, $f6, $f8
/* 02038 80B649F8 8FA60064 */ lw $a2, 0x0064($sp)
/* 0203C 80B649FC 34018000 */ ori $at, $zero, 0x8000 ## $at = 00008000
/* 02040 80B64A00 240B0028 */ addiu $t3, $zero, 0x0028 ## $t3 = 00000028
/* 02044 80B64A04 E7AA0014 */ swc1 $f10, 0x0014($sp)
/* 02048 80B64A08 860900B6 */ lh $t1, 0x00B6($s0) ## 000000B6
/* 0204C 80B64A0C AFAB0028 */ sw $t3, 0x0028($sp)
/* 02050 80B64A10 AFA00024 */ sw $zero, 0x0024($sp)
/* 02054 80B64A14 01215021 */ addu $t2, $t1, $at
/* 02058 80B64A18 AFAA0020 */ sw $t2, 0x0020($sp)
/* 0205C 80B64A1C 0C00C916 */ jal Actor_SpawnAsChild
/* 02060 80B64A20 24C41C24 */ addiu $a0, $a2, 0x1C24 ## $a0 = 00001C24
.L80B64A24:
/* 02064 80B64A24 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
/* 02068 80B64A28 3C0D80B6 */ lui $t5, %hi(func_80B64AA8) ## $t5 = 80B60000
/* 0206C 80B64A2C 3C050601 */ lui $a1, 0x0601 ## $a1 = 06010000
/* 02070 80B64A30 4600A032 */ c.eq.s $f20, $f0
/* 02074 80B64A34 240C008C */ addiu $t4, $zero, 0x008C ## $t4 = 0000008C
/* 02078 80B64A38 25AD4AA8 */ addiu $t5, $t5, %lo(func_80B64AA8) ## $t5 = 80B64AA8
/* 0207C 80B64A3C 24A5B4C8 */ addiu $a1, $a1, 0xB4C8 ## $a1 = 0600B4C8
/* 02080 80B64A40 45020015 */ bc1fl .L80B64A98
/* 02084 80B64A44 8FBF0044 */ lw $ra, 0x0044($sp)
/* 02088 80B64A48 8E020118 */ lw $v0, 0x0118($s0) ## 00000118
/* 0208C 80B64A4C A60C01D4 */ sh $t4, 0x01D4($s0) ## 000001D4
/* 02090 80B64A50 AE0D01FC */ sw $t5, 0x01FC($s0) ## 000001FC
/* 02094 80B64A54 44060000 */ mfc1 $a2, $f0
/* 02098 80B64A58 8FA4004C */ lw $a0, 0x004C($sp)
/* 0209C 80B64A5C 0C0294D3 */ jal Animation_MorphToLoop
/* 020A0 80B64A60 AFA20050 */ sw $v0, 0x0050($sp)
/* 020A4 80B64A64 8FA20050 */ lw $v0, 0x0050($sp)
/* 020A8 80B64A68 240F0005 */ addiu $t7, $zero, 0x0005 ## $t7 = 00000005
/* 020AC 80B64A6C 24180001 */ addiu $t8, $zero, 0x0001 ## $t8 = 00000001
/* 020B0 80B64A70 904E00AF */ lbu $t6, 0x00AF($v0) ## 000000AF
/* 020B4 80B64A74 24198000 */ addiu $t9, $zero, 0x8000 ## $t9 = FFFF8000
/* 020B8 80B64A78 29C10019 */ slti $at, $t6, 0x0019
/* 020BC 80B64A7C 54200004 */ bnel $at, $zero, .L80B64A90
/* 020C0 80B64A80 A05801C9 */ sb $t8, 0x01C9($v0) ## 000001C9
/* 020C4 80B64A84 10000002 */ beq $zero, $zero, .L80B64A90
/* 020C8 80B64A88 A20F014C */ sb $t7, 0x014C($s0) ## 0000014C
/* 020CC 80B64A8C A05801C9 */ sb $t8, 0x01C9($v0) ## 000001C9
.L80B64A90:
/* 020D0 80B64A90 A61901C6 */ sh $t9, 0x01C6($s0) ## 000001C6
/* 020D4 80B64A94 8FBF0044 */ lw $ra, 0x0044($sp)
.L80B64A98:
/* 020D8 80B64A98 D7B40038 */ ldc1 $f20, 0x0038($sp)
/* 020DC 80B64A9C 8FB00040 */ lw $s0, 0x0040($sp)
/* 020E0 80B64AA0 03E00008 */ jr $ra
/* 020E4 80B64AA4 27BD0060 */ addiu $sp, $sp, 0x0060 ## $sp = 00000000

View file

@ -1,184 +0,0 @@
.rdata
glabel D_80B65330
.asciz "KABE IN !!\n"
.balign 4
glabel D_80B6533C
.asciz "ac1 = %x `````````````````````````````````````````````````\n"
.balign 4
.late_rodata
glabel D_80B6544C
.float 0.001
glabel D_80B65450
.word 0x40BFAE14
.text
glabel func_80B64AA8
/* 020E8 80B64AA8 27BDFFB8 */ addiu $sp, $sp, 0xFFB8 ## $sp = FFFFFFB8
/* 020EC 80B64AAC AFB10040 */ sw $s1, 0x0040($sp)
/* 020F0 80B64AB0 00808825 */ or $s1, $a0, $zero ## $s1 = 00000000
/* 020F4 80B64AB4 AFBF0044 */ sw $ra, 0x0044($sp)
/* 020F8 80B64AB8 3C0480B6 */ lui $a0, %hi(D_80B65330) ## $a0 = 80B60000
/* 020FC 80B64ABC AFB0003C */ sw $s0, 0x003C($sp)
/* 02100 80B64AC0 F7B40030 */ sdc1 $f20, 0x0030($sp)
/* 02104 80B64AC4 AFA5004C */ sw $a1, 0x004C($sp)
/* 02108 80B64AC8 0C00084C */ jal osSyncPrintf
/* 0210C 80B64ACC 24845330 */ addiu $a0, $a0, %lo(D_80B65330) ## $a0 = 80B65330
/* 02110 80B64AD0 862501C6 */ lh $a1, 0x01C6($s1) ## 000001C6
/* 02114 80B64AD4 262401E0 */ addiu $a0, $s1, 0x01E0 ## $a0 = 000001E0
/* 02118 80B64AD8 24060005 */ addiu $a2, $zero, 0x0005 ## $a2 = 00000005
/* 0211C 80B64ADC 50A00004 */ beql $a1, $zero, .L80B64AF0
/* 02120 80B64AE0 862E001C */ lh $t6, 0x001C($s1) ## 0000001C
/* 02124 80B64AE4 0C01E1EF */ jal Math_ApproachS
/* 02128 80B64AE8 240707D0 */ addiu $a3, $zero, 0x07D0 ## $a3 = 000007D0
/* 0212C 80B64AEC 862E001C */ lh $t6, 0x001C($s1) ## 0000001C
.L80B64AF0:
/* 02130 80B64AF0 24100001 */ addiu $s0, $zero, 0x0001 ## $s0 = 00000001
/* 02134 80B64AF4 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000
/* 02138 80B64AF8 160E0013 */ bne $s0, $t6, .L80B64B48
/* 0213C 80B64AFC 00000000 */ nop
/* 02140 80B64B00 C6240050 */ lwc1 $f4, 0x0050($s1) ## 00000050
/* 02144 80B64B04 44813000 */ mtc1 $at, $f6 ## $f6 = 100.00
/* 02148 80B64B08 C62800E4 */ lwc1 $f8, 0x00E4($s1) ## 000000E4
/* 0214C 80B64B0C C63000E8 */ lwc1 $f16, 0x00E8($s1) ## 000000E8
/* 02150 80B64B10 46062002 */ mul.s $f0, $f4, $f6
/* 02154 80B64B14 C62400EC */ lwc1 $f4, 0x00EC($s1) ## 000000EC
/* 02158 80B64B18 862F01C0 */ lh $t7, 0x01C0($s1) ## 000001C0
/* 0215C 80B64B1C 26240180 */ addiu $a0, $s1, 0x0180 ## $a0 = 00000180
/* 02160 80B64B20 31F80007 */ andi $t8, $t7, 0x0007 ## $t8 = 00000000
/* 02164 80B64B24 46004283 */ div.s $f10, $f8, $f0
/* 02168 80B64B28 46008483 */ div.s $f18, $f16, $f0
/* 0216C 80B64B2C E62A0180 */ swc1 $f10, 0x0180($s1) ## 00000180
/* 02170 80B64B30 46002183 */ div.s $f6, $f4, $f0
/* 02174 80B64B34 E6320184 */ swc1 $f18, 0x0184($s1) ## 00000184
/* 02178 80B64B38 17000003 */ bne $t8, $zero, .L80B64B48
/* 0217C 80B64B3C E6260188 */ swc1 $f6, 0x0188($s1) ## 00000188
/* 02180 80B64B40 0C01E245 */ jal func_80078914
/* 02184 80B64B44 24052804 */ addiu $a1, $zero, 0x2804 ## $a1 = 00002804
.L80B64B48:
/* 02188 80B64B48 0C02927F */ jal SkelAnime_Update
/* 0218C 80B64B4C 26240250 */ addiu $a0, $s1, 0x0250 ## $a0 = 00000250
/* 02190 80B64B50 3C0180B6 */ lui $at, %hi(D_80B6544C) ## $at = 80B60000
/* 02194 80B64B54 C420544C */ lwc1 $f0, %lo(D_80B6544C)($at)
/* 02198 80B64B58 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 0219C 80B64B5C 4481A000 */ mtc1 $at, $f20 ## $f20 = 1.00
/* 021A0 80B64B60 44050000 */ mfc1 $a1, $f0
/* 021A4 80B64B64 44070000 */ mfc1 $a3, $f0
/* 021A8 80B64B68 4406A000 */ mfc1 $a2, $f20
/* 021AC 80B64B6C 0C01E107 */ jal Math_ApproachF
/* 021B0 80B64B70 26240058 */ addiu $a0, $s1, 0x0058 ## $a0 = 00000058
/* 021B4 80B64B74 3C053B03 */ lui $a1, 0x3B03 ## $a1 = 3B030000
/* 021B8 80B64B78 3C063D4C */ lui $a2, 0x3D4C ## $a2 = 3D4C0000
/* 021BC 80B64B7C 3C0738D1 */ lui $a3, 0x38D1 ## $a3 = 38D10000
/* 021C0 80B64B80 34E7B717 */ ori $a3, $a3, 0xB717 ## $a3 = 38D1B717
/* 021C4 80B64B84 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3D4CCCCD
/* 021C8 80B64B88 34A5126F */ ori $a1, $a1, 0x126F ## $a1 = 3B03126F
/* 021CC 80B64B8C 0C01E107 */ jal Math_ApproachF
/* 021D0 80B64B90 26240050 */ addiu $a0, $s1, 0x0050 ## $a0 = 00000050
/* 021D4 80B64B94 3C063D4C */ lui $a2, 0x3D4C ## $a2 = 3D4C0000
/* 021D8 80B64B98 4407A000 */ mfc1 $a3, $f20
/* 021DC 80B64B9C 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3D4CCCCD
/* 021E0 80B64BA0 26240028 */ addiu $a0, $s1, 0x0028 ## $a0 = 00000028
/* 021E4 80B64BA4 0C01E107 */ jal Math_ApproachF
/* 021E8 80B64BA8 3C054348 */ lui $a1, 0x4348 ## $a1 = 43480000
/* 021EC 80B64BAC 862201D4 */ lh $v0, 0x01D4($s1) ## 000001D4
/* 021F0 80B64BB0 C6280050 */ lwc1 $f8, 0x0050($s1) ## 00000050
/* 021F4 80B64BB4 24010050 */ addiu $at, $zero, 0x0050 ## $at = 00000050
/* 021F8 80B64BB8 14410008 */ bne $v0, $at, .L80B64BDC
/* 021FC 80B64BBC E6280054 */ swc1 $f8, 0x0054($s1) ## 00000054
/* 02200 80B64BC0 8639001C */ lh $t9, 0x001C($s1) ## 0000001C
/* 02204 80B64BC4 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 02208 80B64BC8 16190004 */ bne $s0, $t9, .L80B64BDC
/* 0220C 80B64BCC 00000000 */ nop
/* 02210 80B64BD0 0C00BE0A */ jal Audio_PlayActorSound2
/* 02214 80B64BD4 240538B0 */ addiu $a1, $zero, 0x38B0 ## $a1 = 000038B0
/* 02218 80B64BD8 862201D4 */ lh $v0, 0x01D4($s1) ## 000001D4
.L80B64BDC:
/* 0221C 80B64BDC 54400040 */ bnel $v0, $zero, .L80B64CE0
/* 02220 80B64BE0 8FBF0044 */ lw $ra, 0x0044($sp)
/* 02224 80B64BE4 8628001C */ lh $t0, 0x001C($s1) ## 0000001C
/* 02228 80B64BE8 8E220118 */ lw $v0, 0x0118($s1) ## 00000118
/* 0222C 80B64BEC 24030001 */ addiu $v1, $zero, 0x0001 ## $v1 = 00000001
/* 02230 80B64BF0 52080005 */ beql $s0, $t0, .L80B64C08
/* 02234 80B64BF4 904901C9 */ lbu $t1, 0x01C9($v0) ## 000001C9
/* 02238 80B64BF8 A223014E */ sb $v1, 0x014E($s1) ## 0000014E
/* 0223C 80B64BFC 10000037 */ beq $zero, $zero, .L80B64CDC
/* 02240 80B64C00 A04301C6 */ sb $v1, 0x01C6($v0) ## 000001C6
/* 02244 80B64C04 904901C9 */ lbu $t1, 0x01C9($v0) ## 000001C9
.L80B64C08:
/* 02248 80B64C08 3C0A80B6 */ lui $t2, %hi(func_80B64CF4) ## $t2 = 80B60000
/* 0224C 80B64C0C 254A4CF4 */ addiu $t2, $t2, %lo(func_80B64CF4) ## $t2 = 80B64CF4
/* 02250 80B64C10 11200004 */ beq $t1, $zero, .L80B64C24
/* 02254 80B64C14 00000000 */ nop
/* 02258 80B64C18 AE2A01FC */ sw $t2, 0x01FC($s1) ## 000001FC
/* 0225C 80B64C1C 1000002F */ beq $zero, $zero, .L80B64CDC
/* 02260 80B64C20 AE200134 */ sw $zero, 0x0134($s1) ## 00000134
.L80B64C24:
/* 02264 80B64C24 0C03F66B */ jal Rand_ZeroOne
## Rand.Next() float
/* 02268 80B64C28 00000000 */ nop
/* 0226C 80B64C2C 3C0180B6 */ lui $at, %hi(D_80B65450) ## $at = 80B60000
/* 02270 80B64C30 C4345450 */ lwc1 $f20, %lo(D_80B65450)($at)
/* 02274 80B64C34 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 02278 80B64C38 8FA5004C */ lw $a1, 0x004C($sp)
/* 0227C 80B64C3C 46140282 */ mul.s $f10, $f0, $f20
/* 02280 80B64C40 4600540D */ trunc.w.s $f16, $f10
/* 02284 80B64C44 44028000 */ mfc1 $v0, $f16
/* 02288 80B64C48 00000000 */ nop
/* 0228C 80B64C4C 00028400 */ sll $s0, $v0, 16
/* 02290 80B64C50 00023400 */ sll $a2, $v0, 16
/* 02294 80B64C54 00108403 */ sra $s0, $s0, 16
/* 02298 80B64C58 0C2D8F61 */ jal func_80B63D84
/* 0229C 80B64C5C 00063403 */ sra $a2, $a2, 16
.L80B64C60:
/* 022A0 80B64C60 0C03F66B */ jal Rand_ZeroOne
## Rand.Next() float
/* 022A4 80B64C64 00000000 */ nop
/* 022A8 80B64C68 46140482 */ mul.s $f18, $f0, $f20
/* 022AC 80B64C6C 4600910D */ trunc.w.s $f4, $f18
/* 022B0 80B64C70 44022000 */ mfc1 $v0, $f4
/* 022B4 80B64C74 00000000 */ nop
/* 022B8 80B64C78 00026C00 */ sll $t5, $v0, 16
/* 022BC 80B64C7C 000D7403 */ sra $t6, $t5, 16
/* 022C0 80B64C80 00021C00 */ sll $v1, $v0, 16
/* 022C4 80B64C84 120EFFF6 */ beq $s0, $t6, .L80B64C60
/* 022C8 80B64C88 00031C03 */ sra $v1, $v1, 16
/* 022CC 80B64C8C C6260024 */ lwc1 $f6, 0x0024($s1) ## 00000024
/* 022D0 80B64C90 8FA6004C */ lw $a2, 0x004C($sp)
/* 022D4 80B64C94 2478000A */ addiu $t8, $v1, 0x000A ## $t8 = 0000000A
/* 022D8 80B64C98 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 022DC 80B64C9C C6280028 */ lwc1 $f8, 0x0028($s1) ## 00000028
/* 022E0 80B64CA0 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
/* 022E4 80B64CA4 24070052 */ addiu $a3, $zero, 0x0052 ## $a3 = 00000052
/* 022E8 80B64CA8 E7A80014 */ swc1 $f8, 0x0014($sp)
/* 022EC 80B64CAC C62A002C */ lwc1 $f10, 0x002C($s1) ## 0000002C
/* 022F0 80B64CB0 AFB80028 */ sw $t8, 0x0028($sp)
/* 022F4 80B64CB4 AFA00024 */ sw $zero, 0x0024($sp)
/* 022F8 80B64CB8 AFA00020 */ sw $zero, 0x0020($sp)
/* 022FC 80B64CBC AFA0001C */ sw $zero, 0x001C($sp)
/* 02300 80B64CC0 24C41C24 */ addiu $a0, $a2, 0x1C24 ## $a0 = 00001C24
/* 02304 80B64CC4 0C00C916 */ jal Actor_SpawnAsChild
/* 02308 80B64CC8 E7AA0018 */ swc1 $f10, 0x0018($sp)
/* 0230C 80B64CCC 3C0480B6 */ lui $a0, %hi(D_80B6533C) ## $a0 = 80B60000
/* 02310 80B64CD0 2484533C */ addiu $a0, $a0, %lo(D_80B6533C) ## $a0 = 80B6533C
/* 02314 80B64CD4 0C00084C */ jal osSyncPrintf
/* 02318 80B64CD8 00402825 */ or $a1, $v0, $zero ## $a1 = 00000000
.L80B64CDC:
/* 0231C 80B64CDC 8FBF0044 */ lw $ra, 0x0044($sp)
.L80B64CE0:
/* 02320 80B64CE0 D7B40030 */ ldc1 $f20, 0x0030($sp)
/* 02324 80B64CE4 8FB0003C */ lw $s0, 0x003C($sp)
/* 02328 80B64CE8 8FB10040 */ lw $s1, 0x0040($sp)
/* 0232C 80B64CEC 03E00008 */ jr $ra
/* 02330 80B64CF0 27BD0048 */ addiu $sp, $sp, 0x0048 ## $sp = 00000000

View file

@ -1,4 +0,0 @@
glabel func_80B64CF4
/* 02334 80B64CF4 AFA50004 */ sw $a1, 0x0004($sp)
/* 02338 80B64CF8 03E00008 */ jr $ra
/* 0233C 80B64CFC A080014D */ sb $zero, 0x014D($a0) ## 0000014D

View file

@ -1,5 +0,0 @@
glabel func_80B64E94
/* 024D4 80B64E94 AFA40000 */ sw $a0, 0x0000($sp)
/* 024D8 80B64E98 AFA50004 */ sw $a1, 0x0004($sp)
/* 024DC 80B64E9C 03E00008 */ jr $ra
/* 024E0 80B64EA0 AFA60008 */ sw $a2, 0x0008($sp)

View file

@ -0,0 +1,34 @@
<Root>
<File Name="object_fhg" Segment="6">
<!-- Skeleton -->
<Skeleton Name="gPhantomHorseSkel" Type="Normal" LimbType="Skin" Offset="0xB098"/>
<!-- Animations -->
<Animation Name="gPhantomHorseRunningAnim" Offset="0xB4C8"/>
<Animation Name="gPhantomHorseAirAnim" Offset="0xB9D0"/>
<Animation Name="gPhantomHorseLeapAnim" Offset="0xC65C"/>
<Animation Name="gPhantomHorseLandAnim" Offset="0xCB1C"/>
<Animation Name="gPhantomHorseRearingAnim" Offset="0xDDB8"/>
<Animation Name="gPhantomHorseIdleAnim" Offset="0xE8A0"/>
<!-- Unused animations -->
<Animation Name="gPhantomHorseUnusedRearingAnim" Offset="0x5804"/>
<Animation Name="gPhantomHorseStillAnim" Offset="0x5990"/>
<Animation Name="gPhantomHorseFenceJumpAnim" Offset="0xC180"/>
<!-- Boss title card -->
<Texture Name="gPhantomGanonTitleCardTex" OutName="phantom_ganon_title_card" Format="i8" Width="128" Height="120" Offset="0x59A0"/>
<!-- Energy attack DLists -->
<DList Name="gPhantomWarpDL" Offset="0xFAA0"/>
<DList Name="gPhantomLightningBlastDL" Offset="0xFCF8"/>
<DList Name="gPhantomLightningDL" Offset="0x105E0"/>
<DList Name="gPhantomEnergyBallDL" Offset="0x12160"/>
<!-- Unused DLists -->
<DList Name="gPhantomUnkDL_FCA0" Offset="0xFCA0"/>
<DList Name="gPhantomUnkDL_10CA0" Offset="0x10CA0"/>
</File>
</Root>

View file

@ -0,0 +1,84 @@
<Root>
<File Name="object_gnd" Segment="6">
<!-- Skeleton -->
<Skeleton Name="gPhantomGanonSkel" Type="Normal" LimbType="Standard" Offset="0xC710"/>
<!-- Riding animations -->
<Animation Name="gPhantomGanonRideAnim" Offset="0x3CA4"/>
<Animation Name="gPhantomGanonMaskOnAnim" Offset="0x1144"/>
<Animation Name="gPhantomGanonRidePoseAnim" Offset="0x19A4"/>
<Animation Name="gPhantomGanonHorseRearingAnim" Offset="0x2684"/>
<Animation Name="gPhantomGanonRideSpearRaiseAnim" Offset="0xD99C"/>
<Animation Name="gPhantomGanonRideSpearStrikeAnim" Offset="0x3080"/>
<Animation Name="gPhantomGanonRideSpearResetAnim" Offset="0xDF80"/>
<!-- Fight animations -->
<Animation Name="gPhantomGanonNeutralAnim" Offset="0x10060"/>
<Animation Name="gPhantomGanonThrowAnim" Offset="0xEC94"/>
<Animation Name="gPhantomGanonThrowEndAnim" Offset="0xF48C"/>
<Animation Name="gPhantomGanonReturn1Anim" Offset="0x10FD4"/>
<Animation Name="gPhantomGanonReturn2Anim" Offset="0x11800"/>
<Animation Name="gPhantomGanonBlockAnim" Offset="0x10344"/>
<Animation Name="gPhantomGanonChargeWindupAnim" Offset="0x129E0"/>
<Animation Name="gPhantomGanonChargeStartAnim" Offset="0x11F44"/>
<Animation Name="gPhantomGanonChargeAnim" Offset="0x1267C"/>
<Animation Name="gPhantomGanonAirDamageAnim" Offset="0x108D8"/>
<Animation Name="gPhantomGanonGroundDamageAnim" Offset="0xFAC8"/>
<Animation Name="gPhantomGanonStunnedAnim" Offset="0x11BCC"/>
<!-- Death animations -->
<Animation Name="gPhantomGanonDeathBlowAnim" Offset="0x90C"/>
<Animation Name="gPhantomGanonLimpAnim" Offset="0xD84"/>
<Animation Name="gPhantomGanonScreamAnim" Offset="0x189C"/>
<Animation Name="gPhantomGanonLastPoseAnim" Offset="0x1AB0"/>
<!-- Limb textures -->
<Texture Name="gPhantomGanonLimbTex_00B380" OutName="phantom_ganon_limb_tex_00B380" Format="rgb5a1" Width="16" Height="32" Offset="0xB380"/>
<Texture Name="gPhantomGanonLimbTex_00A800" OutName="phantom_ganon_limb_tex_00A800" Format="rgb5a1" Width="8" Height="8" Offset="0xA800"/>
<Texture Name="gPhantomGanonLimbTex_00AE80" OutName="phantom_ganon_limb_tex_00AE80" Format="rgb5a1" Width="8" Height="8" Offset="0xAE80"/>
<Texture Name="gPhantomGanonLimbTex_00AF00" OutName="phantom_ganon_limb_tex_00AF00" Format="rgb5a1" Width="8" Height="8" Offset="0xAF00"/>
<Texture Name="gPhantomGanonLimbTex_00C180" OutName="phantom_ganon_limb_tex_00C180" Format="rgb5a1" Width="8" Height="8" Offset="0xC180"/>
<Texture Name="gPhantomGanonLimbTex_00C400" OutName="phantom_ganon_limb_tex_00C400" Format="rgb5a1" Width="8" Height="8" Offset="0xC400"/>
<Texture Name="gPhantomGanonLimbTex_00B980" OutName="phantom_ganon_limb_tex_00B980" Format="rgb5a1" Width="16" Height="8" Offset="0xB980"/>
<Texture Name="gPhantomGanonLimbTex_00C480" OutName="phantom_ganon_limb_tex_00C480" Format="rgb5a1" Width="16" Height="8" Offset="0xC480"/>
<Texture Name="gPhantomGanonLimbTex_00BC80" OutName="phantom_ganon_limb_tex_00BC80" Format="rgb5a1" Width="16" Height="8" Offset="0xBC80"/>
<Texture Name="gPhantomGanonLimbTex_00BD80" OutName="phantom_ganon_limb_tex_00BD80" Format="rgb5a1" Width="16" Height="8" Offset="0xBD80"/>
<Texture Name="gPhantomGanonLimbTex_00C080" OutName="phantom_ganon_limb_tex_00C080" Format="rgb5a1" Width="16" Height="8" Offset="0xC080"/>
<Texture Name="gPhantomGanonLimbTex_00C200" OutName="phantom_ganon_limb_tex_00C200" Format="rgb5a1" Width="16" Height="16" Offset="0xC200"/>
<Texture Name="gPhantomGanonLimbTex_00A000" OutName="phantom_ganon_limb_tex_00A000" Format="rgb5a1" Width="16" Height="16" Offset="0xA000"/>
<Texture Name="gPhantomGanonLimbTex_00A200" OutName="phantom_ganon_limb_tex_00A200" Format="rgb5a1" Width="16" Height="16" Offset="0xA200"/>
<Texture Name="gPhantomGanonLimbTex_00A400" OutName="phantom_ganon_limb_tex_00A400" Format="rgb5a1" Width="16" Height="16" Offset="0xA400"/>
<Texture Name="gPhantomGanonLimbTex_00A600" OutName="phantom_ganon_limb_tex_00A600" Format="rgb5a1" Width="16" Height="16" Offset="0xA600"/>
<Texture Name="gPhantomGanonLimbTex_00A880" OutName="phantom_ganon_limb_tex_00A880" Format="rgb5a1" Width="16" Height="16" Offset="0xA880"/>
<Texture Name="gPhantomGanonLimbTex_00B780" OutName="phantom_ganon_limb_tex_00B780" Format="rgb5a1" Width="16" Height="16" Offset="0xB780"/>
<Texture Name="gPhantomGanonLimbTex_00BA80" OutName="phantom_ganon_limb_tex_00BA80" Format="rgb5a1" Width="16" Height="16" Offset="0xBA80"/>
<Texture Name="gPhantomGanonLimbTex_00BE80" OutName="phantom_ganon_limb_tex_00BE80" Format="rgb5a1" Width="16" Height="16" Offset="0xBE80"/>
<Texture Name="gPhantomGanonLimbTex_00AA80" OutName="phantom_ganon_limb_tex_00AA80" Format="rgb5a1" Width="32" Height="16" Offset="0xAA80"/>
<Texture Name="gPhantomGanonLimbTex_00AF80" OutName="phantom_ganon_limb_tex_00AF80" Format="rgb5a1" Width="32" Height="16" Offset="0xAF80"/>
<!-- Face DList -->
<DList Name="gPhantomGanonFaceDL" Offset="0x4EC0"/>
<!-- Face textures-->
<Texture Name="gPhantomGanonEyeTex" OutName="phantom_ganon_eye_tex" Format="ci8" Width="32" Height="16" Offset="0x3DB0"/>
<Texture Name="gPhantomGanonSmileTex" OutName="phantom_ganon_smile_tex" Format="ci8" Width="16" Height="16" Offset="0x3FB0"/>
<Texture Name="gPhantomGanonMouthTex" OutName="phantom_ganon_mouth_tex" Format="ci8" Width="16" Height="16" Offset="0x40B0"/>
<!-- Unused Animations, seem to be corrupt -->
<Animation Name="gPhantomGanonAnim_003854" Offset="0x3854"/>
<Animation Name="gPhantomGanonAnim_00D398" Offset="0xD398"/>
<Animation Name="gPhantomGanonAnim_00CC84" Offset="0xCC84"/>
<Animation Name="gPhantomGanonAnim_012320" Offset="0x12320"/>
<!-- Bars -->
<DList Name="gPhantomGanonBarsDL" Offset="0x12AB0"/>
<Collision Name="gPhantomGanonBarsCol" Offset="0x12FD0"/>
</File>
</Root>

View file

@ -1,68 +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 Boss_Ganondrof_InitVars
.word 0x00520900, 0x00000035, 0x00370000, 0x00000578
.word BossGanondrof_Init
.word BossGanondrof_Destroy
.word BossGanondrof_Update
.word BossGanondrof_Draw
glabel D_80914CD0
.word 0x03110939, 0x10010000, 0x00000000, 0xFFCFFFFF, 0x00100000, 0xFFCFFFFE, 0x00000000, 0x01050100, 0x001E005A, 0xFFCE0000, 0x00000000
glabel D_80914CFC
.word 0x03110939, 0x10010000, 0x00000000, 0xFFCFFFFF, 0x00300000, 0xFFCFFFFF, 0x00000000, 0x01010100, 0x0014001E, 0xFFEC0000, 0x00000000
glabel D_80914D28
.word 0x01010101, 0x01010101, 0x01010101, 0x01010101, 0x01000000, 0x00000001, 0x01010101, 0x01010101, 0x01000101, 0x00000000, 0x01010101, 0x01010001, 0x01000101, 0x01000000, 0x00010101, 0x01010001, 0x01000001, 0x01010100, 0x00000101, 0x01000001, 0x01000001, 0x01010101, 0x00000001, 0x01000001, 0x01000101, 0x01010000, 0x00000001, 0x00000001, 0x01010101, 0x01010101, 0x00000000, 0x01010001, 0x01000101, 0x01010100, 0x00000001, 0x01010001, 0x01000001, 0x01010000, 0x00010101, 0x01010001, 0x01000000, 0x00000000, 0x00000101, 0x01010001, 0x01000000, 0x01010000, 0x00010101, 0x01010101, 0x01000001, 0x01010100, 0x01010101, 0x01010101, 0x01000101, 0x01010100, 0x00010101, 0x01010001, 0x01010101, 0x01010100, 0x00010101, 0x00000001, 0x01010101, 0x01010101, 0x01010101, 0x01010101
glabel D_80914E28
.word 0x01010100, 0x01000001, 0x00000101, 0x01010101, 0x00000000, 0x00000000, 0x01010100, 0x00010100, 0x01000101, 0x00000000, 0x00010100, 0x00010000, 0x01000001, 0x01000000, 0x00000101, 0x01000000, 0x00000001, 0x01010000, 0x00000001, 0x01000001, 0x00000001, 0x00000100, 0x00000000, 0x01000001, 0x01000101, 0x01000000, 0x00000000, 0x00000000, 0x01000000, 0x01000000, 0x00000000, 0x00000000, 0x01000000, 0x01000000, 0x00000000, 0x01000001, 0x00000000, 0x00000000, 0x00000000, 0x01000001, 0x00000000, 0x00000000, 0x00000000, 0x01000001, 0x01000000, 0x00010000, 0x00000001, 0x01010000, 0x01000000, 0x00010000, 0x00000100, 0x01010000, 0x00000000, 0x01000000, 0x00000000, 0x01000000, 0x01000000, 0x01000100, 0x00000101, 0x00000001, 0x01000001, 0x01010000, 0x00010101, 0x00000001
glabel D_80914F28
.word 0x01010101, 0x01010101, 0x01010101, 0x01010101, 0x01010101, 0x01010101, 0x01010101, 0x01010101, 0x01010101, 0x01010101, 0x01010101, 0x01010101, 0x01010101, 0x01010101, 0x01010101, 0x01010101, 0x01010101, 0x01010101, 0x01010101, 0x01010101, 0x01010101, 0x01010101, 0x01010101, 0x01010101, 0x01010101, 0x01010101, 0x01010101, 0x01010101, 0x01010101, 0x01010101, 0x01010101, 0x01010101, 0x01010101, 0x01010101, 0x01010101, 0x01010101, 0x01010101, 0x01010101, 0x01010101, 0x01010101, 0x01010101, 0x01010101, 0x01010101, 0x01010101, 0x01010101, 0x01010101, 0x01010101, 0x01010101, 0x01010101, 0x01010101, 0x01010101, 0x01010101, 0x01010101, 0x01010101, 0x01010101, 0x01010101, 0x01010101, 0x01010101, 0x01010101, 0x01010101, 0x01010101, 0x01010101, 0x01010101, 0x01010101
glabel D_80915028
.word 0x0600A800, 0x0600AE80, 0x0600AF00, 0x0600C180, 0x0600C400
glabel D_8091503C
.word 0x0600B980, 0x0600C480, 0x0600BC80, 0x0600BD80, 0x0600C080
glabel D_80915050
.word 0x0600C200, 0x0600A000, 0x0600A200, 0x0600A400, 0x0600A600, 0x0600A880, 0x0600B780, 0x0600BA80, 0x0600BE80
glabel D_80915074
.word 0x0600AA80, 0x0600AF80
glabel D_8091507C
.word 0x060040B0, 0x06003FB0
glabel D_80915084
.word 0x801F0005, 0x8917002B, 0xB86C0000, 0x304C0000
glabel D_80915094
.word 0x00000000, 0x00000000, 0x42480000
glabel D_809150A0
.word 0x00000000, 0x00000000, 0x00000000
glabel D_809150AC
.word 0x00000000, 0x00000000, 0x00000000
glabel D_809150B8
.word 0x00000000, 0x00000000, 0x00000000
glabel D_809150C4
.word 0x00000000, 0x00000000, 0x00000000
glabel D_809150D0
.word 0x06010FD4, 0x06011800
glabel D_809150D8
.word 0x00000000, 0x00000000, 0x00000000
glabel D_809150E4
.word 0x00000000, 0x00000000, 0x00000000
glabel D_809150F0
.word 0x00000000, 0x42480000, 0x00000000
glabel D_809150FC
.word 0x00000000, 0x00000000, 0x00000000
glabel D_80915108
.word 0x00000000, 0x00000000, 0x00000000
glabel D_80915114
.word 0x00000000, 0xBF000000, 0x00000000
glabel D_80915120
.word 0x00000000, 0x00000000, 0x00000000
glabel D_8091512C
.word 0x00000000, 0x00000000, 0x45BB8000, 0x00000000, 0x00000000

View file

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

View file

@ -1,26 +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_fHG_InitVars
.word 0x00670100, 0x00000010, 0x005A0000, 0x00000294
.word EnfHG_Init
.word EnfHG_Destroy
.word EnfHG_Update
.word EnfHG_Draw
glabel D_80B65190
.word 0x00000000, 0x42700000, 0xC39D8000, 0x00000000, 0xC3820000, 0x42700000, 0xC3110000, 0x2AAA0000, 0xC3820000, 0x42700000, 0x43250000, 0x55540000, 0x00000000, 0x42700000, 0x439D8000, 0x7FFE0000, 0x43820000, 0x42700000, 0x431B0000, 0xAAA80000, 0x43820000, 0x42700000, 0xC31B0000, 0xD5520000
glabel D_80B651F0
.word 0x8917001A, 0x30F804B0
glabel D_80B651F8
.word 0x00000000, 0x00000000, 0x42480000
glabel D_80B65204
.word 0x00030004, 0x00050000, 0x00010002

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_80B65460
.incbin "baserom/ovl_En_fHG", 0x2AA0, 0x000002C0

View file

@ -1,30 +0,0 @@
.include "macro.inc"
# assembler directives
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.set gp=64 # allow use of 64-bit general purpose registers
.section .data
.balign 16
glabel D_80A11790
.word 0x0A110939, 0x10010000, 0x06000000, 0x00100700, 0x03200000, 0x0D900700, 0x00000000, 0x01010100, 0x0014001E, 0x000A0000, 0x00000000
glabel D_80A117BC
.word 0x00000000, 0xBF800000, 0x00000000
glabel D_80A117C8
.word 0x00000000, 0x00000000, 0x00000000
glabel D_80A117D4
.word 0x00000000, 0x00000000, 0x00000000
glabel D_80A117E0
.word 0x00000000, 0x00000000, 0x00000000
glabel D_80A117EC
.word 0x00000000, 0x00000000, 0x00000000
glabel D_80A117F8
.word 0x00000000, 0xBF000000, 0x00000000
glabel D_80A11804
.word 0x00000000, 0xBF000000, 0x00000000
glabel D_80A11810
.word 0x00000000, 0xBF800000, 0x00000000, 0x04051DB0, 0x040521B0, 0x040525B0, 0x040529B0, 0x04052DB0, 0x040531B0, 0x040535B0, 0x040539B0, 0x00000000

View file

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

15
spec
View file

@ -1412,8 +1412,7 @@ endseg
beginseg
name "ovl_Boss_Ganondrof"
include "build/src/overlays/actors/ovl_Boss_Ganondrof/z_boss_ganondrof.o"
include "build/data/overlays/actors/z_boss_ganondrof.data.o"
include "build/data/overlays/actors/z_boss_ganondrof.reloc.o"
include "build/src/overlays/actors/ovl_Boss_Ganondrof/ovl_Boss_Ganondrof_reloc.o"
endseg
beginseg
@ -2212,8 +2211,7 @@ endseg
beginseg
name "ovl_En_Fhg_Fire"
include "build/src/overlays/actors/ovl_En_Fhg_Fire/z_en_fhg_fire.o"
include "build/data/overlays/actors/z_en_fhg_fire.data.o"
include "build/data/overlays/actors/z_en_fhg_fire.reloc.o"
include "build/src/overlays/actors/ovl_En_Fhg_Fire/ovl_En_Fhg_Fire_reloc.o"
endseg
beginseg
@ -3198,8 +3196,7 @@ endseg
beginseg
name "ovl_En_fHG"
include "build/src/overlays/actors/ovl_En_fHG/z_en_fhg.o"
include "build/data/overlays/actors/z_en_fhg.data.o"
include "build/data/overlays/actors/z_en_fhg.reloc.o"
include "build/src/overlays/actors/ovl_En_fHG/ovl_En_fHG_reloc.o"
endseg
beginseg
@ -3794,7 +3791,8 @@ endseg
beginseg
name "object_gnd"
romalign 0x1000
include "build/baserom/object_gnd.o"
include "build/assets/objects/object_gnd/object_gnd.o"
number 6
endseg
beginseg
@ -4002,7 +4000,8 @@ endseg
beginseg
name "object_fhg"
romalign 0x1000
include "build/baserom/object_fhg.o"
include "build/assets/objects/object_fhg/object_fhg.o"
number 6
endseg
beginseg

File diff suppressed because it is too large Load diff

View file

@ -6,11 +6,99 @@
struct BossGanondrof;
typedef void (*BossGanondrofActionFunc)(struct BossGanondrof*, GlobalContext*);
#define GND_REAL_BOSS 1
#define GND_FAKE_BOSS 10
#define GND_BOSSROOM_CENTER_X 14.0f
#define GND_BOSSROOM_CENTER_Y -33.0f
#define GND_BOSSROOM_CENTER_Z -3315.0f
typedef enum {
/* 0 */ GND_FLY_PAINTING,
/* 1 */ GND_FLY_NEUTRAL,
/* 2 */ GND_FLY_VOLLEY,
/* 3 */ GND_FLY_RETURN,
/* 4 */ GND_FLY_CHARGE
} BossGanondrofFlyMode;
typedef enum {
/* 0 */ GND_EYESTATE_NONE,
/* 1 */ GND_EYESTATE_FADE,
/* 2 */ GND_EYESTATE_BRIGHTEN
} BossGanondrofEyeState;
typedef enum {
/* 0 */ GND_VARIANCE_TIMER,
/* 1 */ GND_US_1,
/* 2 */ GND_US_2,
/* 3 */ GND_US_3,
/* 4 */ GND_UNKTIMER_1,
/* 5 */ GND_UNKTIMER_2,
/* 6 */ GND_INVINC_TIMER,
/* 7 */ GND_ACTION_STATE,
/* 8 */ GND_THROW_FRAME,
/* 9 */ GND_THROW_COUNT,
/* 10 */ GND_MASK_OFF,
/* 11 */ GND_EYE_STATE,
/* 12 */ GND_PARTICLE_ANGLE,
/* 13 */ GND_BODY_DECAY_INDEX,
/* 14 */ GND_BODY_DECAY_FLAG,
/* 15 */ GND_LIMB_DECAY_INDEX,
/* 16 */ GND_DEATH_ENV_TIMER,
/* 17 */ GND_DEATH_SFX_TIMER,
/* 20 */ GND_SHORT_COUNT = 20
} BossGanondrofS16Var;
typedef enum {
/* 0 */ GND_FLOAT_SPEED,
/* 1 */ GND_END_FRAME,
/* 2 */ GND_EYE_BRIGHTNESS,
/* 3 */ GND_CAMERA_ZOOM,
/* 4 */ GND_CAMERA_ANGLE,
/* 5 */ GND_EYE_ALPHA,
/* 13 */ GND_FLOAT_COUNT = 13
} BossGanondrofF32Var;
typedef struct BossGanondrof {
/* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0xCC];
/* 0x0218 */ Vec3f bodyPartsPos[24];
/* 0x03C8 */ char unk_3C8[0x1B0];
/* 0x014C */ SkelAnime skelAnime;
/* 0x0190 */ BossGanondrofActionFunc actionFunc;
/* 0x0194 */ s16 work[GND_SHORT_COUNT];
/* 0x01BC */ s16 timers[5];
/* 0x01C6 */ u8 killActor;
/* 0x01C7 */ u8 returnCount;
/* 0x01C8 */ u8 shockTimer;
/* 0x01C9 */ u8 flyMode;
/* 0x01CA */ u8 returnSuccess;
/* 0x01CC */ f32 fwork[GND_FLOAT_COUNT];
/* 0x0200 */ Vec3f spearTip;
/* 0x020C */ Vec3f targetPos;
/* 0x0218 */ Vec3f bodyPartsPos[27]; // only 25 used
/* 0x035C */ s16 deathCamera;
/* 0x035E */ s16 deathState;
/* 0x0360 */ Vec3f cameraEye;
/* 0x036C */ Vec3f cameraAt;
/* 0x0378 */ Vec3f cameraEyeVel;
/* 0x0384 */ Vec3f cameraAtVel;
/* 0x0390 */ Vec3f cameraNextEye;
/* 0x039C */ Vec3f cameraEyeMaxVel;
/* 0x03A8 */ Vec3f cameraNextAt;
/* 0x03B4 */ Vec3f cameraAtMaxVel;
/* 0x03C0 */ f32 cameraSpeedMod;
/* 0x03C4 */ f32 cameraAccel;
/* 0x03C8 */ f32 legRotY;
/* 0x03CC */ f32 legRotZ;
/* 0x03D0 */ f32 legSplitY;
/* 0x03D4 */ f32 armRotY;
/* 0x03D8 */ f32 armRotZ;
/* 0x03DC */ f32 rideRotZ[30]; // possibly only 25 used
/* 0x0454 */ f32 rideRotY[30]; // possibly only 25 used
/* 0x04CC */ LightNode* lightNode;
/* 0x04D0 */ LightInfo lightInfo;
/* 0x04E0 */ ColliderCylinder colliderBody;
/* 0x052C */ ColliderCylinder colliderSpear;
} BossGanondrof; // size = 0x0578
extern const ActorInit Boss_Ganondrof_InitVars;

View file

@ -7,6 +7,7 @@
#include "z_door_shutter.h"
#include "objects/object_demo_kekkai/object_demo_kekkai.h"
#include "overlays/actors/ovl_Boss_Goma/z_boss_goma.h"
#include "objects/object_gnd/object_gnd.h"
#include "objects/gameplay_keep/gameplay_keep.h"
#include "objects/object_hidan_objects/object_hidan_objects.h"
@ -87,7 +88,7 @@ static ShutterInfo D_80998134[] = {
{ 0x06006910, gDungeonDoorDL, 130, 12, 20, 15 },
{ 0x060000C0, 0x060001F0, 240, 14, 70, 15 },
{ 0x06000590, 0x06006460, 0, 110, 50, 15 },
{ 0x06012AB0, NULL, 130, 12, 50, 15 },
{ gPhantomGanonBarsDL, NULL, 130, 12, 50, 15 },
{ 0x0601EC20, NULL, 130, 12, 50, 15 },
{ 0x06000100, 0x060001F0, 240, 14, 50, 15 },
{ 0x060010C0, NULL, 130, 12, 50, 15 },
@ -156,7 +157,6 @@ static UNK_PTR D_809982D4[] = {
};
extern CollisionHeader D_0601EDD0; // gohma block collision header
extern CollisionHeader D_06012FD0; // phantom ganon bars collision header
void DoorShutter_SetupAction(DoorShutter* this, DoorShutterActionFunc actionFunc) {
this->actionFunc = actionFunc;
@ -283,7 +283,8 @@ void DoorShutter_SetupType(DoorShutter* this, GlobalContext* globalCtx) {
Actor_SetObjectDependency(globalCtx, &this->dyna.actor);
this->unk_16C = D_809980F0[this->unk_16B].index1;
CollisionHeader_GetVirtual((this->doorType == SHUTTER_GOHMA_BLOCK) ? &D_0601EDD0 : &D_06012FD0, &colHeader);
CollisionHeader_GetVirtual((this->doorType == SHUTTER_GOHMA_BLOCK) ? &D_0601EDD0 : &gPhantomGanonBarsCol,
&colHeader);
this->dyna.bgId = DynaPoly_SetBgActor(globalCtx, &globalCtx->colCtx.dyna, &this->dyna.actor, colHeader);
if (this->doorType == SHUTTER_GOHMA_BLOCK) {
this->dyna.actor.velocity.y = 0.0f;

View file

@ -5,6 +5,9 @@
*/
#include "z_en_fhg_fire.h"
#include "objects/object_fhg/object_fhg.h"
#include "objects/gameplay_keep/gameplay_keep.h"
#include "overlays/actors/ovl_Boss_Ganondrof/z_boss_ganondrof.h"
#include "overlays/actors/ovl_En_fHG/z_en_fhg.h"
#include "overlays/effects/ovl_Effect_Ss_Fhg_Flash/z_eff_ss_fhg_flash.h"
@ -12,28 +15,36 @@
#define THIS ((EnFhgFire*)thisx)
typedef enum {
/* 0 */ STRIKE_INIT,
/* 10 */ STRIKE_BURST = 10,
/* 11 */ STRIKE_TRAILS
} StrikeMode;
typedef enum {
/* 0 */ TRAIL_INIT,
/* 1 */ TRAIL_APPEAR,
/* 2 */ TRAIL_DISSIPATE
} TrailMode;
typedef enum {
/* 0 */ BALL_FIZZLE,
/* 1 */ BALL_BURST,
/* 2 */ BALL_IMPACT
} BallKillMode;
void EnFhgFire_Init(Actor* thisx, GlobalContext* globalCtx);
void EnFhgFire_Destroy(Actor* thisx, GlobalContext* globalCtx);
void EnFhgFire_Update(Actor* thisx, GlobalContext* globalCtx);
void EnFhgFire_Draw(Actor* thisx, GlobalContext* globalCtx);
void func_80A0F6F8(EnFhgFire* this, GlobalContext* globalCtx);
void func_80A0FA90(EnFhgFire* this, GlobalContext* globalCtx);
void func_80A0FC48(EnFhgFire* this, GlobalContext* globalCtx);
void func_80A0FD8C(EnFhgFire* this, GlobalContext* globalCtx);
void func_80A10008(EnFhgFire* this, GlobalContext* globalCtx);
void func_80A10220(EnFhgFire* this, GlobalContext* globalCtx);
void func_80A10F18(EnFhgFire* this, GlobalContext* globalCtx);
extern ColliderCylinderInit D_80A11790;
extern Vec3f D_80A117BC;
extern Vec3f D_80A117C8;
extern Vec3f D_80A117D4;
extern Gfx D_0600FAA0[];
extern Gfx D_0600FCF8[];
extern Gfx D_060105E0[];
extern Gfx D_06012160[];
void EnFhgFire_LightningStrike(EnFhgFire* this, GlobalContext* globalCtx);
void EnFhgFire_LightningTrail(EnFhgFire* this, GlobalContext* globalCtx);
void EnFhgFire_LightningShock(EnFhgFire* this, GlobalContext* globalCtx);
void EnFhgFire_LightningBurst(EnFhgFire* this, GlobalContext* globalCtx);
void EnFhgFire_SpearLight(EnFhgFire* this, GlobalContext* globalCtx);
void EnFhgFire_EnergyBall(EnFhgFire* this, GlobalContext* globalCtx);
void EnFhgFire_PhantomWarp(EnFhgFire* this, GlobalContext* globalCtx);
const ActorInit En_Fhg_Fire_InitVars = {
0,
@ -47,224 +58,224 @@ const ActorInit En_Fhg_Fire_InitVars = {
(ActorFunc)EnFhgFire_Draw,
};
void EnFhgFire_SetupAction(EnFhgFire* this, EnFhgFireActionFunc actionFunc) {
this->actionFunc = actionFunc;
static ColliderCylinderInit sCylinderInit = {
{
COLTYPE_NONE,
AT_ON | AT_TYPE_ENEMY,
AC_ON | AC_TYPE_PLAYER,
OC1_ON | OC1_TYPE_ALL,
OC2_TYPE_1,
COLSHAPE_CYLINDER,
},
{
ELEMTYPE_UNK6,
{ 0x00100700, 0x03, 0x20 },
{ 0x0D900700, 0x00, 0x00 },
TOUCH_ON,
BUMP_ON,
OCELEM_ON,
},
{ 20, 30, 10, { 0, 0, 0 } },
};
void EnFhgFire_SetUpdate(EnFhgFire* this, EnFhgFireUpdateFunc updateFunc) {
this->updateFunc = updateFunc;
}
void EnFhgFire_Init(Actor* thisx, GlobalContext* globalCtx) {
f32 tempf0;
s32 pad;
EnFhgFire* this = THIS;
Player* player = PLAYER;
f32 tempf1;
f32 tempf2;
f32 tempf3;
ActorShape_Init(&thisx->shape, 0.0f, NULL, 0.0f);
if ((thisx->params == 0x23) || (thisx->params == 0x24) || (thisx->params == 0x32)) {
ActorShape_Init(&this->actor.shape, 0.0f, NULL, 0.0f);
if ((this->actor.params == FHGFIRE_LIGHTNING_SHOCK) || (this->actor.params == FHGFIRE_LIGHTNING_BURST) ||
(this->actor.params == FHGFIRE_ENERGY_BALL)) {
Collider_InitCylinder(globalCtx, &this->collider);
Collider_SetCylinder(globalCtx, &this->collider, thisx, &D_80A11790);
Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &sCylinderInit);
}
this->unk_160 = 200.0f;
Actor_SetScale(thisx, 0.0f);
this->fwork[FHGFIRE_ALPHA] = 200.0f;
Actor_SetScale(&this->actor, 0.0f);
if (thisx->params == 0x01) {
EnFhgFire_SetupAction(this, func_80A0F6F8);
Audio_PlayActorSound2(thisx, NA_SE_EN_FANTOM_THUNDER);
} else if (thisx->params >= 0x64) {
EnFhgFire_SetupAction(this, func_80A0FA90);
thisx->shape.rot = thisx->world.rot;
if (this->actor.params == FHGFIRE_LIGHTNING_STRIKE) {
EnFhgFire_SetUpdate(this, EnFhgFire_LightningStrike);
Audio_PlayActorSound2(&this->actor, NA_SE_EN_FANTOM_THUNDER);
} else if (this->actor.params >= FHGFIRE_LIGHTNING_TRAIL) {
EnFhgFire_SetUpdate(this, EnFhgFire_LightningTrail);
this->actor.shape.rot = this->actor.world.rot;
}
if (this->actor.params == FHGFIRE_LIGHTNING_SHOCK) {
this->actor.draw = NULL;
EnFhgFire_SetUpdate(this, EnFhgFire_LightningShock);
this->actor.speedXZ = 30.0f;
Audio_PlayActorSound2(&this->actor, NA_SE_EN_FANTOM_SPARK);
} else if (this->actor.params == FHGFIRE_LIGHTNING_BURST) {
EnFhgFire_SetUpdate(this, EnFhgFire_LightningBurst);
this->fwork[FHGFIRE_ALPHA] = 255.0f;
this->work[FHGFIRE_TIMER] = 32;
this->work[FHGFIRE_FX_TIMER] = 50;
this->lensFlareTimer = 10;
if (thisx->params == 0x23) {
thisx->draw = NULL;
EnFhgFire_SetupAction(this, func_80A0FC48);
thisx->speedXZ = 30.0f;
Audio_PlayActorSound2(thisx, NA_SE_EN_FANTOM_SPARK);
return;
}
if (thisx->params == 0x24) {
EnFhgFire_SetupAction(this, func_80A0FD8C);
this->unk_160 = 255.0f;
this->unk_150.x = 0x20;
this->unk_150.y = 0x32;
this->unk_1FE = 0x0A;
tempf2 = thisx->world.rot.x;
this->unk_18C = tempf2 / 100.0f;
tempf1 = tempf2 * 0.13f;
this->collider.dim.radius = tempf1;
this->collider.dim.height = tempf1;
this->fwork[FHGFIRE_BURST_SCALE] = this->actor.world.rot.x / 100.0f;
this->collider.dim.radius = this->actor.world.rot.x * 0.13f;
this->collider.dim.height = this->actor.world.rot.x * 0.13f;
this->collider.dim.yShift = 0;
return;
}
if (thisx->params == 0x26) {
} else if (this->actor.params == FHGFIRE_SPEAR_LIGHT) {
// "light spear"
osSyncPrintf("yari hikari ct 1\n");
EnFhgFire_SetupAction(this, func_80A10008);
EnFhgFire_SetUpdate(this, EnFhgFire_SpearLight);
osSyncPrintf("yari hikari ct 2\n");
this->unk_150.x = thisx->world.rot.x;
this->fireMode = thisx->world.rot.y;
return;
}
this->work[FHGFIRE_TIMER] = this->actor.world.rot.x;
this->work[FHGFIRE_FIRE_MODE] = this->actor.world.rot.y;
} else if ((this->actor.params == FHGFIRE_WARP_EMERGE) || (this->actor.params == FHGFIRE_WARP_RETREAT) ||
(this->actor.params == FHGFIRE_WARP_DEATH)) {
Actor_SetScale(&this->actor, 7.0f);
EnFhgFire_SetUpdate(this, EnFhgFire_PhantomWarp);
if (this->actor.params == FHGFIRE_WARP_DEATH) {
this->work[FHGFIRE_TIMER] = 440;
this->actor.scale.z = 1.0f;
} else {
this->work[FHGFIRE_TIMER] = 76;
Audio_PlayActorSound2(&this->actor, NA_SE_EV_FANTOM_WARP_S);
Audio_PlayActorSound2(&this->actor, NA_SE_EV_FANTOM_WARP_S2);
}
} else if (this->actor.params == FHGFIRE_ENERGY_BALL) {
f32 dxL;
f32 dyL;
f32 dzL;
f32 dxzL;
switch (thisx->params) {
case 0x27:
case 0x28:
case 0x29:
Actor_SetScale(thisx, 7.0f);
EnFhgFire_SetupAction(this, func_80A10F18);
if (thisx->params == 0x29) {
this->unk_150.x = 0x01B8;
thisx->scale.z = 1.0f;
} else {
this->unk_150.x = 0x4C;
Audio_PlayActorSound2(thisx, NA_SE_EV_FANTOM_WARP_S);
Audio_PlayActorSound2(thisx, NA_SE_EV_FANTOM_WARP_S2);
}
return;
}
this->actor.speedXZ = (this->actor.world.rot.x == 0) ? 8.0f : 3.0f;
EnFhgFire_SetUpdate(this, EnFhgFire_EnergyBall);
if (thisx->params == 0x32) {
thisx->speedXZ = (thisx->world.rot.x == 0) ? 8.0f : 3.0f;
EnFhgFire_SetupAction(this, func_80A10220);
this->work[FHGFIRE_TIMER] = 70;
this->work[FHGFIRE_FX_TIMER] = 2;
this->unk_150.x = 0x46;
this->unk_150.y = 0x02;
tempf1 = player->actor.world.pos.x - thisx->world.pos.x;
tempf2 = player->actor.world.pos.y + 30.0f - thisx->world.pos.y;
tempf3 = player->actor.world.pos.z - thisx->world.pos.z;
thisx->world.rot.y = Math_FAtan2F(tempf1, tempf3) * 10430.378f; // 65536/(2*M_PI)
tempf0 = sqrtf(SQ(tempf1) + SQ(tempf3));
thisx->world.rot.x = Math_FAtan2F(tempf2, tempf0) * 10430.378f; // 65536/(2*M_PI)
dxL = player->actor.world.pos.x - this->actor.world.pos.x;
dyL = player->actor.world.pos.y + 30.0f - this->actor.world.pos.y;
dzL = player->actor.world.pos.z - this->actor.world.pos.z;
this->actor.world.rot.y = Math_FAtan2F(dxL, dzL) * (0x8000 / M_PI);
dxzL = sqrtf(SQ(dxL) + SQ(dzL));
this->actor.world.rot.x = Math_FAtan2F(dyL, dxzL) * (0x8000 / M_PI);
this->collider.dim.radius = 40;
this->collider.dim.height = 50;
this->collider.dim.yShift = -25;
this->lightNode = LightContext_InsertLight(globalCtx, &globalCtx->lightCtx, &this->lightInfo);
Lights_PointNoGlowSetInfo(&this->lightInfo, thisx->world.pos.x, thisx->world.pos.y, thisx->world.pos.z, 255,
255, 255, 0xFF);
Lights_PointNoGlowSetInfo(&this->lightInfo, this->actor.world.pos.x, this->actor.world.pos.y,
this->actor.world.pos.z, 255, 255, 255, 255);
}
}
void EnFhgFire_Destroy(Actor* thisx, GlobalContext* globalCtx) {
s32 pad;
EnFhgFire* this = THIS;
if ((thisx->params == 0x23) || (thisx->params == 0x24) || (thisx->params == 0x32)) {
if ((this->actor.params == FHGFIRE_LIGHTNING_SHOCK) || (this->actor.params == FHGFIRE_LIGHTNING_BURST) ||
(this->actor.params == FHGFIRE_ENERGY_BALL)) {
Collider_DestroyCylinder(globalCtx, &this->collider);
}
if (thisx->params == 0x32) {
if (this->actor.params == FHGFIRE_ENERGY_BALL) {
LightContext_RemoveLight(globalCtx, &globalCtx->lightCtx, this->lightNode);
}
}
void func_80A0F6F8(EnFhgFire* this, GlobalContext* globalCtx) {
Camera* camera;
s32 pad;
Vec3f ballVelocity;
Vec3f ballAccel;
void EnFhgFire_LightningStrike(EnFhgFire* this, GlobalContext* globalCtx) {
Camera* camera = Gameplay_GetCamera(globalCtx, 0);
s16 i;
s16 randY;
s16* tmp;
tmp = &this->unk_156;
camera = Gameplay_GetCamera(globalCtx, 0);
switch (this->fireMode) {
case 0x00:
this->fireMode = 0x0A;
this->unk_150.x = 0x07;
switch (this->work[FHGFIRE_FIRE_MODE]) {
case STRIKE_INIT:
this->work[FHGFIRE_FIRE_MODE] = STRIKE_BURST;
this->work[FHGFIRE_TIMER] = 7;
break;
case STRIKE_BURST:
this->actor.shape.rot.y =
Camera_GetInputDirYaw(camera) + 0x8000 * (this->work[FHGFIRE_VARIANCE_TIMER] & 0xFF);
Math_ApproachF(&this->fwork[FHGFIRE_SCALE], 1.0f, 1.0f, 0.2f);
case 0x0A:
this->actor.shape.rot.y = Camera_GetInputDirYaw(camera) + ((*tmp & 0xFF) << 0x0F);
Math_ApproachF(&this->scale, 1.0f, 1.0f, 0.2f);
if (this->unk_150.x == 0) {
this->fireMode = 0x0B;
if (this->work[FHGFIRE_TIMER] == 0) {
this->work[FHGFIRE_FIRE_MODE] = STRIKE_TRAILS;
this->actor.shape.rot.z += 0x8000;
this->unk_150.x = 0x25;
this->work[FHGFIRE_TIMER] = 37;
this->actor.world.pos.y -= 200.0f;
Actor_SpawnAsChild(&globalCtx->actorCtx, &this->actor, globalCtx, ACTOR_EN_FHG_FIRE,
this->actor.world.pos.x, this->actor.world.pos.y, this->actor.world.pos.z, 500, 0, 0,
0x24);
FHGFIRE_LIGHTNING_BURST);
{
Vec3f sp7C;
Vec3f sp70 = { 0.0f, -1.0f, 0.0f };
ballAccel = D_80A117BC;
for (i = 0; i < 35; i++) {
ballVelocity.x = Rand_CenteredFloat(30.f);
ballVelocity.y = Rand_ZeroFloat(5.0f) + 3.0f;
ballVelocity.z = Rand_CenteredFloat(30.f);
ballAccel.y = -0.2f;
EffectSsFhgFlash_SpawnLightBall(globalCtx, &this->actor.world.pos, &ballVelocity, &ballAccel,
(s16)(Rand_ZeroOne() * 100.0f) + 240, FHGFLASH_LIGHTBALL_GREEN);
for (i = 0; i < 35; i++) {
sp7C.x = Rand_CenteredFloat(30.f);
sp7C.y = Rand_ZeroFloat(5.0f) + 3.0f;
sp7C.z = Rand_CenteredFloat(30.f);
sp70.y = -0.2f;
EffectSsFhgFlash_SpawnLightBall(globalCtx, &this->actor.world.pos, &sp7C, &sp70,
(s16)(Rand_ZeroOne() * 100.0f) + 240, FHGFLASH_LIGHTBALL_GREEN);
}
}
func_80033E88(&this->actor, globalCtx, 4, 10);
}
break;
case STRIKE_TRAILS:
this->actor.shape.rot.y =
Camera_GetInputDirYaw(camera) + (this->work[FHGFIRE_VARIANCE_TIMER] & 0xFF) * 0x8000;
case 0x0B:
this->actor.shape.rot.y = Camera_GetInputDirYaw(camera) + ((*tmp & 0xFF) << 0x0F);
Math_ApproachF(&this->scale, 0.0f, 1.0f, 0.2f);
if (this->unk_150.x == 0x1E) {
randY = (Rand_ZeroOne() < 0.5f) ? 0x1000 : 0;
Math_ApproachF(&this->fwork[FHGFIRE_SCALE], 0.0f, 1.0f, 0.2f);
if (this->work[FHGFIRE_TIMER] == 30) {
s16 randY = (Rand_ZeroOne() < 0.5f) ? 0x1000 : 0;
for (i = 0; i < 8; i++) {
Actor_SpawnAsChild(&globalCtx->actorCtx, &this->actor, globalCtx, ACTOR_EN_FHG_FIRE,
this->actor.world.pos.x, this->actor.world.pos.y, this->actor.world.pos.z, 0,
(i * 8192) + randY, 0x4000, i + 0x64);
(i * 0x2000) + randY, 0x4000, FHGFIRE_LIGHTNING_TRAIL + i);
}
for (i = 0; i < 8; i++) {
Actor_SpawnAsChild(&globalCtx->actorCtx, &this->actor, globalCtx, ACTOR_EN_FHG_FIRE,
this->actor.world.pos.x, this->actor.world.pos.y, this->actor.world.pos.z, 0,
(i * 8192) + randY, 0, 0x23);
(i * 0x2000) + randY, 0, FHGFIRE_LIGHTNING_SHOCK);
}
}
if (this->unk_150.x == 0) {
if (this->work[FHGFIRE_TIMER] == 0) {
Actor_Kill(&this->actor);
}
}
Actor_SetScale(&this->actor, this->scale);
Actor_SetScale(&this->actor, this->fwork[FHGFIRE_SCALE]);
}
void func_80A0FA90(EnFhgFire* this, GlobalContext* globalCtx) {
void EnFhgFire_LightningTrail(EnFhgFire* this, GlobalContext* globalCtx) {
osSyncPrintf("FF MOVE 1\n");
this->actor.shape.rot.x += (s16)(Rand_ZeroOne() * 4000.0f) + 0x4000;
switch (this->fireMode) {
case 0:
this->fireMode = 1;
this->unk_150.x = (s16)(Rand_ZeroOne() * 7.0f) + 0x07;
case 1:
Math_ApproachF(&this->scale, 1.7f, 1.0f, 0.34f);
switch (this->work[FHGFIRE_FIRE_MODE]) {
case TRAIL_INIT:
this->work[FHGFIRE_FIRE_MODE] = TRAIL_APPEAR;
this->work[FHGFIRE_TIMER] = (s16)(Rand_ZeroOne() * 7.0f) + 7;
case TRAIL_APPEAR:
Math_ApproachF(&this->fwork[FHGFIRE_SCALE], 1.7f, 1.0f, 0.34f);
if (this->unk_150.x == 0) {
this->fireMode = 0x02;
this->unk_150.x = 0x0A;
this->actor.world.pos.z += Math_SinS(this->actor.shape.rot.y) * -200.0f * this->scale;
this->actor.world.pos.x += Math_CosS(this->actor.shape.rot.y) * 200.0f * this->scale;
if (this->work[FHGFIRE_TIMER] == 0) {
this->work[FHGFIRE_FIRE_MODE] = TRAIL_DISSIPATE;
this->work[FHGFIRE_TIMER] = 10;
this->actor.world.pos.z += Math_SinS(this->actor.shape.rot.y) * -200.0f * this->fwork[FHGFIRE_SCALE];
this->actor.world.pos.x += Math_CosS(this->actor.shape.rot.y) * 200.0f * this->fwork[FHGFIRE_SCALE];
this->actor.shape.rot.y += 0x8000;
}
break;
case 2:
Math_ApproachZeroF(&this->scale, 1.0f, 0.34f);
if (this->unk_150.x == 0) {
case TRAIL_DISSIPATE:
Math_ApproachZeroF(&this->fwork[FHGFIRE_SCALE], 1.0f, 0.34f);
if (this->work[FHGFIRE_TIMER] == 0) {
Actor_Kill(&this->actor);
}
break;
}
Actor_SetScale(&this->actor, this->scale);
Actor_SetScale(&this->actor, this->fwork[FHGFIRE_SCALE]);
if (this->actor.scale.x > 1.0f) {
this->actor.scale.x = 1.0f;
}
@ -272,7 +283,7 @@ void func_80A0FA90(EnFhgFire* this, GlobalContext* globalCtx) {
osSyncPrintf("FF MOVE 2\n");
}
void func_80A0FC48(EnFhgFire* this, GlobalContext* globalCtx) {
void EnFhgFire_LightningShock(EnFhgFire* this, GlobalContext* globalCtx) {
Player* player = PLAYER;
Vec3f pos;
@ -299,27 +310,27 @@ void func_80A0FC48(EnFhgFire* this, GlobalContext* globalCtx) {
}
}
void func_80A0FD8C(EnFhgFire* this, GlobalContext* globalCtx) {
void EnFhgFire_LightningBurst(EnFhgFire* this, GlobalContext* globalCtx) {
Player* player = PLAYER;
s32 pad;
globalCtx->envCtx.unk_E1 = 0x01;
this->actor.shape.rot.y += 0x1000;
if (this->unk_150.y == 0x31) {
if (this->work[FHGFIRE_FX_TIMER] == 49) {
globalCtx->envCtx.unk_BF = 1;
globalCtx->envCtx.unk_D6 = 0xFF;
}
if (this->unk_150.y == 0x1F) {
if (this->work[FHGFIRE_FX_TIMER] == 31) {
globalCtx->envCtx.unk_BF = 0x00;
globalCtx->envCtx.unk_D6 = 0x14;
}
if (this->unk_150.y >= 0x30) {
if (this->work[FHGFIRE_FX_TIMER] >= 48) {
globalCtx->envCtx.unk_E2[2] = 0xFF;
globalCtx->envCtx.unk_E2[1] = 0xFF;
globalCtx->envCtx.unk_E2[0] = 0xFF;
if (((this->unk_150.x & 0xFF) % 2) != 0) {
if (((this->work[FHGFIRE_TIMER] & 0xFF) % 2) != 0) {
globalCtx->envCtx.unk_E2[3] = 0x46;
} else {
globalCtx->envCtx.unk_E2[3] = 0x00;
@ -328,65 +339,64 @@ void func_80A0FD8C(EnFhgFire* this, GlobalContext* globalCtx) {
globalCtx->envCtx.unk_E2[3] = 0x00;
}
if (this->unk_150.x < 0x15) {
Math_ApproachZeroF(&this->unk_160, 1.0f, 45.0f);
Math_ApproachZeroF(&this->scale, 1.0f, 0.5f);
if (this->work[FHGFIRE_TIMER] <= 20) {
Math_ApproachZeroF(&this->fwork[FHGFIRE_ALPHA], 1.0f, 45.0f);
Math_ApproachZeroF(&this->fwork[FHGFIRE_SCALE], 1.0f, 0.5f);
} else {
Math_ApproachF(&this->scale, this->unk_18C, 0.5f, 3.0f);
Math_ApproachF(&this->fwork[FHGFIRE_SCALE], this->fwork[FHGFIRE_BURST_SCALE], 0.5f, 3.0f);
}
Actor_SetScale(&this->actor, this->scale);
if (3.0f < this->unk_18C) {
Actor_SetScale(&this->actor, this->fwork[FHGFIRE_SCALE]);
if (this->fwork[FHGFIRE_BURST_SCALE] > 3.0f) {
Collider_UpdateCylinder(&this->actor, &this->collider);
if (player->invincibilityTimer == 0) {
CollisionCheck_SetAT(globalCtx, &globalCtx->colChkCtx, &this->collider.base);
}
}
if (this->unk_150.x == 0) {
if (this->work[FHGFIRE_TIMER] == 0) {
Actor_Kill(&this->actor);
globalCtx->envCtx.unk_E1 = 0;
}
if (this->unk_1FE != 0) {
this->unk_1FE--;
this->unk_1FC = 1;
Math_ApproachF(&this->unk_200, 40.0f, 0.3f, 10.0f);
if (this->lensFlareTimer != 0) {
this->lensFlareTimer--;
this->lensFlareOn = true;
Math_ApproachF(&this->lensFlareScale, 40.0f, 0.3f, 10.0f);
} else {
Math_ApproachZeroF(&this->unk_200, 1.0f, 5.0f);
if (this->unk_200 == 0.0f) {
this->unk_1FC = 0;
Math_ApproachZeroF(&this->lensFlareScale, 1.0f, 5.0f);
if (this->lensFlareScale == 0.0f) {
this->lensFlareOn = false;
}
}
// Related to scene draw config 30, only used in BossGanon_Update and
// loaded in z_kankyo
D_8015FCF0 = this->unk_1FC;
D_8015FCF0 = this->lensFlareOn;
D_8015FCF8 = this->actor.world.pos;
D_8015FD06 = this->unk_200;
D_8015FD06 = this->lensFlareScale;
D_8015FD08 = 10.0f;
D_8015FD0C = 0;
}
void func_80A10008(EnFhgFire* this, GlobalContext* globalCtx) {
EnfHG* horse;
void EnFhgFire_SpearLight(EnFhgFire* this, GlobalContext* globalCtx) {
BossGanondrof* bossGnd;
s16 i;
osSyncPrintf("yari hikari 1\n");
horse = (EnfHG*)this->actor.parent;
if ((this->unk_156 % 2) != 0) {
bossGnd = (BossGanondrof*)this->actor.parent;
if ((this->work[FHGFIRE_VARIANCE_TIMER] % 2) != 0) {
Actor_SetScale(&this->actor, 6.0f);
} else {
Actor_SetScale(&this->actor, 5.25f);
}
this->actor.world.pos = horse->unk_200;
this->actor.shape.rot.z += (s16)(Rand_ZeroOne() * 20000.0f) + 0x4000;
this->actor.world.pos = bossGnd->spearTip;
this->actor.shape.rot.z += (s16)(Rand_ZeroOne() * 0x4E20) + 0x4000;
osSyncPrintf("yari hikari 2\n");
if (this->fireMode == 0) {
if (this->work[FHGFIRE_FIRE_MODE] == FHGFIRE_LIGHT_GREEN) {
Vec3f ballPos;
Vec3f ballVelocity = D_80A117C8;
Vec3f ballAccel = D_80A117D4;
Vec3f ballVel = { 0.0f, 0.0f, 0.0f };
Vec3f ballAccel = { 0.0f, 0.0f, 0.0f };
osSyncPrintf("FLASH !!\n");
@ -396,124 +406,354 @@ void func_80A10008(EnFhgFire* this, GlobalContext* globalCtx) {
ballPos.z = Rand_CenteredFloat(20.0f) + this->actor.world.pos.z;
ballAccel.y = -0.08f;
EffectSsFhgFlash_SpawnLightBall(globalCtx, &ballPos, &ballVelocity, &ballAccel,
EffectSsFhgFlash_SpawnLightBall(globalCtx, &ballPos, &ballVel, &ballAccel,
(s16)(Rand_ZeroOne() * 80.0f) + 150, FHGFLASH_LIGHTBALL_GREEN);
}
}
if (this->unk_150.x == 0) {
if (this->work[FHGFIRE_TIMER] == 0) {
Actor_Kill(&this->actor);
}
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Fhg_Fire/func_80A10220.s")
void EnFhgFire_EnergyBall(EnFhgFire* this, GlobalContext* globalCtx) {
f32 dxL;
f32 dyL;
f32 dzL;
f32 dxzL;
f32 dxPG;
f32 dyPG;
f32 dzPG;
u8 killMode = BALL_FIZZLE;
u8 canBottleReflect1;
Player* player = PLAYER;
void func_80A10F18(EnFhgFire* this, GlobalContext* globalCtx) {
if (this->work[FHGFIRE_KILL_TIMER] != 0) {
this->work[FHGFIRE_KILL_TIMER]--;
if (this->work[FHGFIRE_KILL_TIMER] == 0) {
Actor_Kill(&this->actor);
return;
}
} else {
s32 canBottleReflect2;
BossGanondrof* bossGnd = (BossGanondrof*)this->actor.parent;
dxPG = bossGnd->targetPos.x - this->actor.world.pos.x;
dyPG = bossGnd->targetPos.y - this->actor.world.pos.y;
dzPG = bossGnd->targetPos.z - this->actor.world.pos.z;
dxL = player->actor.world.pos.x - this->actor.world.pos.x;
dyL = player->actor.world.pos.y + 40.0f - this->actor.world.pos.y;
dzL = player->actor.world.pos.z - this->actor.world.pos.z;
func_8002D908(&this->actor);
func_8002D7EC(&this->actor);
if (this->work[FHGFIRE_VARIANCE_TIMER] & 1) {
Actor_SetScale(&this->actor, 6.0f);
} else {
Actor_SetScale(&this->actor, 5.25f);
}
this->actor.shape.rot.z += (s16)(Rand_ZeroOne() * 0x4E20) + 0x4000;
{
u8 lightBallColor1 = FHGFLASH_LIGHTBALL_GREEN;
s16 i1;
Vec3f spD4;
Vec3f spC8 = { 0.0f, 0.0f, 0.0f };
Vec3f spBC = { 0.0f, 0.0f, 0.0f };
if (this->work[FHGFIRE_FIRE_MODE] >= FHGFIRE_LIGHT_BLUE) {
lightBallColor1 = FHGFLASH_LIGHTBALL_LIGHTBLUE;
}
for (i1 = 0; i1 < 3; i1++) {
spD4.x = Rand_CenteredFloat(20.0f) + this->actor.world.pos.x;
spD4.y = Rand_CenteredFloat(20.0f) + this->actor.world.pos.y;
spD4.z = Rand_CenteredFloat(20.0f) + this->actor.world.pos.z;
spBC.y = -0.08f;
EffectSsFhgFlash_SpawnLightBall(globalCtx, &spD4, &spC8, &spBC, (s16)(Rand_ZeroOne() * 80.0f) + 150,
lightBallColor1);
}
}
switch (this->work[FHGFIRE_FIRE_MODE]) {
case FHGFIRE_LIGHT_GREEN:
canBottleReflect1 =
((player->stateFlags1 & 2) &&
(ABS((s16)(player->actor.shape.rot.y - (s16)(bossGnd->actor.yawTowardsPlayer + 0x8000))) <
0x2000) &&
(sqrtf(SQ(dxL) + SQ(dyL) + SQ(dzL)) <= 25.0f))
? true
: false;
if ((this->collider.base.acFlags & AC_HIT) || canBottleReflect1) {
ColliderInfo* hurtbox = this->collider.info.acHitInfo;
s16 i2;
Vec3f spA8;
Vec3f sp9C = { 0.0f, -0.5f, 0.0f };
s16 angleModX;
s16 angleModY;
for (i2 = 0; i2 < 30; i2++) {
spA8.x = Rand_CenteredFloat(20.0f);
spA8.y = Rand_CenteredFloat(20.0f);
spA8.z = Rand_CenteredFloat(20.0f);
EffectSsFhgFlash_SpawnLightBall(globalCtx, &this->actor.world.pos, &spA8, &sp9C,
(s16)(Rand_ZeroOne() * 25.0f) + 50, FHGFLASH_LIGHTBALL_GREEN);
}
canBottleReflect2 = canBottleReflect1;
if (!canBottleReflect2 && (hurtbox->toucher.dmgFlags & 0x00100000)) {
killMode = BALL_IMPACT;
Audio_PlaySoundGeneral(NA_SE_IT_SHIELD_REFLECT_MG, &player->actor.projectedPos, 4, &D_801333E0,
&D_801333E0, &D_801333E8);
func_800AA000(this->actor.xyzDistToPlayerSq, 0xFF, 0x14, 0x96);
} else {
if (bossGnd->flyMode == GND_FLY_NEUTRAL) {
angleModX = Rand_CenteredFloat(0x2000);
angleModY = Rand_CenteredFloat(0x2000);
this->actor.speedXZ = 15.0f;
} else {
angleModX = 0;
angleModY = 0;
this->work[FHGFIRE_RETURN_COUNT]++;
if ((this->work[FHGFIRE_RETURN_COUNT] > 3) && (Rand_ZeroOne() < 0.5f)) {
this->work[FHGFIRE_RETURN_COUNT] = 100;
}
if (!canBottleReflect2 && (player->swordAnimation >= 24)) {
this->actor.speedXZ = 20.0f;
this->work[FHGFIRE_RETURN_COUNT] = 4;
} else {
this->actor.speedXZ += 1.0f;
}
}
this->actor.world.rot.y = (s16)(Math_FAtan2F(dxPG, dzPG) * (0x8000 / M_PI)) + angleModY;
this->actor.world.rot.x =
(s16)(Math_FAtan2F(dyPG, sqrtf((dxPG * dxPG) + (dzPG * dzPG))) * (0x8000 / M_PI)) +
angleModX;
this->work[FHGFIRE_FIRE_MODE] = FHGFIRE_LIGHT_BLUE;
this->work[FHGFIRE_FX_TIMER] = 2;
Audio_PlaySoundGeneral(NA_SE_IT_SWORD_REFLECT_MG, &player->actor.projectedPos, 4, &D_801333E0,
&D_801333E0, &D_801333E8);
func_800AA000(this->actor.xyzDistToPlayerSq, 0xB4, 0x14, 0x64);
}
} else if (sqrtf(SQ(dxL) + SQ(dyL) + SQ(dzL)) <= 25.0f) {
killMode = BALL_BURST;
Audio_PlayActorSound2(&this->actor, NA_SE_EN_FANTOM_HIT_THUNDER);
if ((bossGnd->flyMode >= GND_FLY_VOLLEY) && (this->work[FHGFIRE_RETURN_COUNT] >= 2)) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_FANTOM_LAUGH);
}
func_8002F698(globalCtx, &this->actor, 3.0f, this->actor.world.rot.y, 0.0f, 3, 0x10);
}
break;
case FHGFIRE_LIGHT_BLUE:
if ((bossGnd->flyMode == GND_FLY_RETURN) && (this->work[FHGFIRE_RETURN_COUNT] < 100)) {
this->actor.world.rot.y = Math_FAtan2F(dxPG, dzPG) * (0x8000 / M_PI);
if ((sqrtf(SQ(dxPG) + SQ(dzPG)) < (150.0f + (this->actor.speedXZ * 8.0f)))) {
this->work[FHGFIRE_FIRE_MODE] = FHGFIRE_LIGHT_REFLECT;
bossGnd->returnSuccess = true;
this->work[FHGFIRE_TIMER] = 8;
}
} else {
if (this->work[FHGFIRE_RETURN_COUNT] >= 100) {
if ((sqrtf(SQ(dxPG) + SQ(dyPG) + SQ(dzPG)) < 100.0f)) {
bossGnd->returnSuccess = true;
}
this->actor.world.rot.y = Math_FAtan2F(dxPG, dzPG) * (0x8000 / M_PI);
this->actor.world.rot.x = Math_FAtan2F(dyPG, sqrtf(SQ(dxPG) + SQ(dzPG))) * (0x8000 / M_PI);
}
if ((fabsf(dxPG) < 30.0f) && (fabsf(dzPG) < 30.0f) && (fabsf(dyPG) < 45.0f)) {
killMode = BALL_IMPACT;
bossGnd->returnCount = this->work[FHGFIRE_RETURN_COUNT] + 1;
Audio_PlaySoundGeneral(NA_SE_EN_FANTOM_HIT_THUNDER, &bossGnd->actor.projectedPos, 4,
&D_801333E0, &D_801333E0, &D_801333E8);
Audio_PlaySoundGeneral(NA_SE_EN_FANTOM_DAMAGE, &bossGnd->actor.projectedPos, 4, &D_801333E0,
&D_801333E0, &D_801333E8);
}
}
break;
case FHGFIRE_LIGHT_REFLECT:
if (this->work[FHGFIRE_TIMER] == 0) {
s16 i3;
Vec3f sp88;
Vec3f sp7C = { 0.0f, -0.5f, 0.0f };
for (i3 = 0; i3 < 30; i3++) {
sp88.x = Rand_CenteredFloat(20.0f);
sp88.y = Rand_CenteredFloat(20.0f);
sp88.z = Rand_CenteredFloat(20.0f);
EffectSsFhgFlash_SpawnLightBall(globalCtx, &this->actor.world.pos, &sp88, &sp7C,
(s16)(Rand_ZeroOne() * 40.0f) + 80, FHGFLASH_LIGHTBALL_GREEN);
}
this->actor.world.rot.y = Math_FAtan2F(dxL, dzL) * (0x8000 / M_PI);
dxzL = sqrtf(SQ(dxL) + SQ(dzL));
this->actor.world.rot.x = Math_FAtan2F(dyL, dxzL) * (0x8000 / M_PI);
this->work[FHGFIRE_FIRE_MODE] = FHGFIRE_LIGHT_GREEN;
Audio_PlayActorSound2(&this->actor, NA_SE_IT_SWORD_REFLECT_MG);
this->actor.speedXZ += 2.0f;
}
break;
}
osSyncPrintf("F_FIRE_MODE %d\n", this->work[FHGFIRE_FIRE_MODE]);
osSyncPrintf("fly_mode %d\n", bossGnd->flyMode);
if (this->work[FHGFIRE_FX_TIMER] == 0) {
Actor_UpdateBgCheckInfo(globalCtx, &this->actor, 50.0f, 50.0f, 100.0f, 7);
if ((this->actor.bgCheckFlags & 0x19) || killMode) {
u8 lightBallColor2 = FHGFLASH_LIGHTBALL_GREEN;
s16 i4;
Vec3f sp6C;
Vec3f sp60 = { 0.0f, -1.0f, 0.0f };
if (this->work[FHGFIRE_FIRE_MODE] > FHGFIRE_LIGHT_GREEN) {
lightBallColor2 = FHGFLASH_LIGHTBALL_LIGHTBLUE;
}
for (i4 = 0; i4 < 30; i4++) {
sp6C.x = Rand_CenteredFloat(20.0f);
sp6C.y = Rand_CenteredFloat(20.0f);
sp6C.z = Rand_CenteredFloat(20.0f);
sp60.y = -0.1f;
EffectSsFhgFlash_SpawnLightBall(globalCtx, &this->actor.world.pos, &sp6C, &sp60,
(s16)(Rand_ZeroOne() * 50.0f) + 100, lightBallColor2);
}
if (killMode == BALL_BURST) {
Actor_SpawnAsChild(&globalCtx->actorCtx, &this->actor, globalCtx, ACTOR_EN_FHG_FIRE,
this->actor.world.pos.x, player->actor.world.pos.y + 20.0f,
this->actor.world.pos.z, 0xC8, 0, 0, FHGFIRE_LIGHTNING_BURST);
}
bossGnd->flyMode = GND_FLY_NEUTRAL;
this->work[FHGFIRE_KILL_TIMER] = 30;
this->actor.draw = NULL;
if (killMode == BALL_FIZZLE) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_FANTOM_THUNDER_GND);
}
return;
} else {
Collider_UpdateCylinder(&this->actor, &this->collider);
osSyncPrintf("BEFORE setAC %d\n", this->collider.base.shape);
CollisionCheck_SetAC(globalCtx, &globalCtx->colChkCtx, &this->collider.base);
osSyncPrintf("AFTER setAC\n");
}
}
Lights_PointNoGlowSetInfo(&this->lightInfo, (s16)this->actor.world.pos.x, (s16)this->actor.world.pos.y,
(s16)this->actor.world.pos.z, 255, 255, 255, 200);
if (this->actor.speedXZ > 20.0f) {
this->actor.speedXZ = 20.0f;
}
Audio_PlayActorSound2(&this->actor, NA_SE_EN_FANTOM_FIRE - SFX_FLAG);
// Why ah ah ah ah
osSyncPrintf("なぜだああああああああ %d\n", this->work[FHGFIRE_VARIANCE_TIMER]);
}
}
void EnFhgFire_PhantomWarp(EnFhgFire* this, GlobalContext* globalCtx) {
EnfHG* horse = (EnfHG*)this->actor.parent;
f32 phi_f0;
s32 tmp;
f32 scrollDirection;
this->unk_174 = (this->unk_174 + (25.0f * this->unk_184));
this->unk_178 = (this->unk_178 - (40.0f * this->unk_184));
this->unk_17C = (this->unk_17C + (5.0f * this->unk_184));
this->unk_180 = (this->unk_180 - (30.0f * this->unk_184));
this->fwork[FHGFIRE_WARP_TEX_1_X] += 25.0f * this->fwork[FHGFIRE_WARP_TEX_SPEED];
this->fwork[FHGFIRE_WARP_TEX_1_Y] -= 40.0f * this->fwork[FHGFIRE_WARP_TEX_SPEED];
this->fwork[FHGFIRE_WARP_TEX_2_X] += 5.0f * this->fwork[FHGFIRE_WARP_TEX_SPEED];
this->fwork[FHGFIRE_WARP_TEX_2_Y] -= 30.0f * this->fwork[FHGFIRE_WARP_TEX_SPEED];
if (this->actor.params == 0x29) {
if (this->unk_150.x >= 0x47) {
if (this->actor.params == FHGFIRE_WARP_DEATH) {
if (this->work[FHGFIRE_TIMER] > 70) {
Audio_PlayActorSound2(&this->actor, NA_SE_EV_FANTOM_WARP_L - SFX_FLAG);
Audio_PlayActorSound2(&this->actor, NA_SE_EV_FANTOM_WARP_L2 - SFX_FLAG);
}
if (this->unk_150.x == 0x46) {
if (this->work[FHGFIRE_TIMER] == 70) {
Audio_PlayActorSound2(&this->actor, NA_SE_EV_FANTOM_WARP_S);
Audio_PlayActorSound2(&this->actor, NA_SE_EV_FANTOM_WARP_S2);
}
}
if (this->unk_150.x >= 0x33) {
phi_f0 = 1.0f;
if (this->actor.params >= 0x28) {
phi_f0 = -1.0f;
}
Math_ApproachF(&this->unk_184, phi_f0, 1.0f, 0.04f);
Math_ApproachF(&this->unk_188, 255.0f, 1.0f, 10.2f);
} else {
if (this->unk_150.x < 0x1A) {
Math_ApproachZeroF(&this->unk_184, 1.0f, 0.04f);
Math_ApproachZeroF(&this->unk_188, 1.0f, 10.2f);
if (this->work[FHGFIRE_TIMER] > 50) {
scrollDirection = 1.0f;
if (this->actor.params > FHGFIRE_WARP_EMERGE) {
scrollDirection = -1.0f;
}
Math_ApproachF(&this->fwork[FHGFIRE_WARP_TEX_SPEED], scrollDirection, 1.0f, 0.04f);
Math_ApproachF(&this->fwork[FHGFIRE_WARP_ALPHA], 255.0f, 1.0f, 10.2f);
} else if (this->work[FHGFIRE_TIMER] <= 25) {
Math_ApproachZeroF(&this->fwork[FHGFIRE_WARP_TEX_SPEED], 1.0f, 0.04f);
Math_ApproachZeroF(&this->fwork[FHGFIRE_WARP_ALPHA], 1.0f, 10.2f);
}
osSyncPrintf("EFC 1\n");
if ((this->unk_150.x == 0) || ((this->actor.params == 0x27) && (horse->unk_14F != 0))) {
if ((this->work[FHGFIRE_TIMER] == 0) || ((this->actor.params == FHGFIRE_WARP_EMERGE) && horse->fhgFireKillWarp)) {
Actor_Kill(&this->actor);
}
osSyncPrintf("EFC 2\n");
}
void EnFhgFire_Update(Actor* thisx, GlobalContext* globalCtx) {
s32 pad;
EnFhgFire* this = THIS;
this->unk_156++;
this->work[FHGFIRE_VARIANCE_TIMER]++;
DECR(this->unk_150.x);
DECR(this->unk_150.y);
if (this->work[FHGFIRE_TIMER] != 0) {
this->work[FHGFIRE_TIMER]--;
}
if (this->work[FHGFIRE_FX_TIMER] != 0) {
this->work[FHGFIRE_FX_TIMER]--;
}
this->actionFunc(this, globalCtx);
this->updateFunc(this, globalCtx);
}
static u64* sDustTextures[] = {
gDust1Tex, gDust2Tex, gDust3Tex, gDust4Tex, gDust5Tex, gDust6Tex, gDust7Tex, gDust8Tex,
};
void EnFhgFire_Draw(Actor* thisx, GlobalContext* globalCtx) {
EnFhgFire* this = THIS;
s32 pad;
EnFhgFire* this = THIS;
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_fhg_fire.c", 1723);
if (thisx->params == 0x24) {
if (this->actor.params == FHGFIRE_LIGHTNING_BURST) {
func_80093D84(globalCtx->state.gfxCtx);
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 255, 255, 255, (s8)this->unk_160);
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 255, 255, 255, (s8)this->fwork[FHGFIRE_ALPHA]);
gDPSetEnvColor(POLY_XLU_DISP++, 165, 255, 75, 0);
gDPPipeSync(POLY_XLU_DISP++);
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_fhg_fire.c", 1745),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(D_0600FCF8));
} else if ((thisx->params == 0x26) || (thisx->params == 0x32)) {
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(gPhantomLightningBlastDL));
} else if ((this->actor.params == FHGFIRE_SPEAR_LIGHT) || (this->actor.params == FHGFIRE_ENERGY_BALL)) {
osSyncPrintf("yari hikari draw 1\n");
func_800D1FD4(&globalCtx->mf_11DA0);
func_80093D84(globalCtx->state.gfxCtx);
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 255, 255, 255, (s8)this->unk_160);
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 255, 255, 255, (s8)this->fwork[FHGFIRE_ALPHA]);
if (this->fireMode > 0) {
if (this->work[FHGFIRE_FIRE_MODE] > FHGFIRE_LIGHT_GREEN) {
gDPSetEnvColor(POLY_XLU_DISP++, 0, 255, 255, 0);
} else {
gDPSetEnvColor(POLY_XLU_DISP++, 165, 255, 75, 0);
}
gDPPipeSync(POLY_XLU_DISP++);
Matrix_RotateZ((thisx->shape.rot.z / 32768.0f) * 3.1416f, 1);
Matrix_RotateZ((this->actor.shape.rot.z / (f32)0x8000) * 3.1416f, 1);
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_fhg_fire.c", 1801),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_XLU_DISP++, D_06012160);
} else if ((thisx->params == 0x27) || (thisx->params == 0x28) || (thisx->params == 0x29)) {
gSPDisplayList(POLY_XLU_DISP++, gPhantomEnergyBallDL);
} else if ((this->actor.params == FHGFIRE_WARP_EMERGE) || (this->actor.params == FHGFIRE_WARP_RETREAT) ||
(this->actor.params == FHGFIRE_WARP_DEATH)) {
func_80093D84(globalCtx->state.gfxCtx);
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 0, 0, 0, (u8)this->unk_188);
gDPSetEnvColor(POLY_XLU_DISP++, 90, 50, 95, (s8)(this->unk_188 * 0.5f));
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 0, 0, 0, (u8)this->fwork[FHGFIRE_WARP_ALPHA]);
gDPSetEnvColor(POLY_XLU_DISP++, 90, 50, 95, (s8)(this->fwork[FHGFIRE_WARP_ALPHA] * 0.5f));
gDPPipeSync(POLY_XLU_DISP++);
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_fhg_fire.c", 1833),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPSegment(POLY_XLU_DISP++, 0x08,
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, (s16)this->unk_174, (s16)this->unk_178, 0x40, 0x40, 1,
(s16)this->unk_17C, (s16)this->unk_180, 0x40, 0x40));
gSPDisplayList(POLY_XLU_DISP++, D_0600FAA0);
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, (s16)this->fwork[FHGFIRE_WARP_TEX_1_X],
(s16)this->fwork[FHGFIRE_WARP_TEX_1_Y], 0x40, 0x40, 1,
(s16)this->fwork[FHGFIRE_WARP_TEX_2_X], (s16)this->fwork[FHGFIRE_WARP_TEX_2_Y],
0x40, 0x40));
gSPDisplayList(POLY_XLU_DISP++, gPhantomWarpDL);
} else {
osSyncPrintf("FF DRAW 1\n");
Matrix_Translate(0.0f, -100.0f, 0.0f, 1);
func_80093D84(globalCtx->state.gfxCtx);
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 255, 255, 255, (s8)this->unk_160);
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 255, 255, 255, (s8)this->fwork[FHGFIRE_ALPHA]);
gDPSetEnvColor(POLY_XLU_DISP++, 0, 255, 30, 0);
gDPPipeSync(POLY_XLU_DISP++);
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_fhg_fire.c", 1892),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_XLU_DISP++, D_060105E0);
gSPDisplayList(POLY_XLU_DISP++, gPhantomLightningDL);
osSyncPrintf("FF DRAW 2\n");
}

View file

@ -6,37 +6,64 @@
struct EnFhgFire;
typedef void (*EnFhgFireActionFunc)(struct EnFhgFire*, GlobalContext *globalCtx);
typedef void (*EnFhgFireUpdateFunc)(struct EnFhgFire*, GlobalContext*);
typedef enum {
/* 1 */ FHGFIRE_LIGHTNING_STRIKE = 1,
/* 35 */ FHGFIRE_LIGHTNING_SHOCK = 35,
/* 36 */ FHGFIRE_LIGHTNING_BURST,
/* 38 */ FHGFIRE_SPEAR_LIGHT = 38,
/* 39 */ FHGFIRE_WARP_EMERGE,
/* 40 */ FHGFIRE_WARP_RETREAT,
/* 41 */ FHGFIRE_WARP_DEATH,
/* 50 */ FHGFIRE_ENERGY_BALL = 50,
/* 100 */ FHGFIRE_LIGHTNING_TRAIL = 100
} FhgFireParam;
typedef enum {
/* 0 */ FHGFIRE_LIGHT_GREEN,
/* 1 */ FHGFIRE_LIGHT_BLUE,
/* 2 */ FHGFIRE_LIGHT_REFLECT
} FhgLightMode;
typedef enum {
/* 0 */ FHGFIRE_TIMER,
/* 1 */ FHGFIRE_FX_TIMER,
/* 2 */ FHGFIRE_US_2,
/* 3 */ FHGFIRE_VARIANCE_TIMER,
/* 4 */ FHGFIRE_FIRE_MODE,
/* 5 */ FHGFIRE_RETURN_COUNT,
/* 6 */ FHGFIRE_KILL_TIMER,
/* 7 */ FHGFIRE_SHORT_COUNT
} FhgFireS16Var;
typedef enum {
/* 0 */ FHGFIRE_ALPHA,
/* 1 */ FHGFIRE_UF_1,
/* 2 */ FHGFIRE_UF_2,
/* 3 */ FHGFIRE_SCALE,
/* 4 */ FHGFIRE_UF_4,
/* 5 */ FHGFIRE_WARP_TEX_1_X,
/* 6 */ FHGFIRE_WARP_TEX_1_Y,
/* 7 */ FHGFIRE_WARP_TEX_2_X,
/* 8 */ FHGFIRE_WARP_TEX_2_Y,
/* 9 */ FHGFIRE_WARP_TEX_SPEED,
/* 10 */ FHGFIRE_WARP_ALPHA,
/* 11 */ FHGFIRE_BURST_SCALE,
/* 15 */ FHGFIRE_FLOAT_COUNT = 15
} FhgFireF32Var;
typedef struct EnFhgFire {
/* 0x0000 */ Actor actor;
/* 0x014C */ EnFhgFireActionFunc actionFunc;
/* 0x0150 */ Vec3s unk_150; // rotation
/* 0x0156 */ s16 unk_156;
/* 0x0158 */ s16 fireMode;
/* 0x015a */ s16 unk_15A;
/* 0x015C */ s16 unk_15C;
/* 0x015E */ char unk_15E[0x02];
/* 0x0160 */ f32 unk_160;
/* 0x0164 */ char unk_164[0x08];
/* 0x016C */ f32 scale;
/* 0x0170 */ char unk_170[0x04];
/* 0x0174 */ f32 unk_174;
/* 0x0178 */ f32 unk_178;
/* 0x017C */ f32 unk_17C;
/* 0x0180 */ f32 unk_180;
/* 0x0184 */ f32 unk_184;
/* 0x0188 */ f32 unk_188;
/* 0x018C */ f32 unk_18C;
/* 0x0190 */ char unk_190[0x0C];
/* 0x014C */ EnFhgFireUpdateFunc updateFunc;
/* 0x0150 */ s16 work[FHGFIRE_SHORT_COUNT];
/* 0x0160 */ f32 fwork[FHGFIRE_FLOAT_COUNT];
/* 0x019C */ LightNode* lightNode;
/* 0x01A0 */ LightInfo lightInfo;
/* 0x01AE */ char unk_1AE[2];
/* 0x01B0 */ ColliderCylinder collider;
/* 0x01FC */ u8 unk_1FC;
/* 0x01FD */ char unk_1FD;
/* 0x01FE */ s16 unk_1FE;
/* 0x0200 */ f32 unk_200;
/* 0x01FC */ u8 lensFlareOn;
/* 0x01FE */ s16 lensFlareTimer;
/* 0x0200 */ f32 lensFlareScale;
} EnFhgFire; // size = 0x0204
extern const ActorInit En_Fhg_Fire_InitVars;

View file

@ -5,17 +5,51 @@
*/
#include "z_en_fhg.h"
#include "objects/object_fhg/object_fhg.h"
#include "objects/object_fhg/object_fhg.h"
#include "overlays/actors/ovl_Door_Shutter/z_door_shutter.h"
#include "overlays/actors/ovl_Boss_Ganondrof/z_boss_ganondrof.h"
#include "overlays/actors/ovl_En_Fhg_Fire/z_en_fhg_fire.h"
#define FLAGS 0x00000010
#define THIS ((EnfHG*)thisx)
typedef struct {
/* 0x00 */ Vec3f pos;
/* 0x0C */ s16 yRot;
} EnfHGPainting; // size = 0x10;
typedef enum {
/* 0 */ INTRO_WAIT,
/* 1 */ INTRO_START,
/* 2 */ INTRO_FENCE,
/* 3 */ INTRO_BACK,
/* 4 */ INTRO_REVEAL,
/* 5 */ INTRO_CUT,
/* 6 */ INTRO_LAUGH,
/* 7 */ INTRO_TITLE,
/* 8 */ INTRO_RETREAT,
/* 9 */ INTRO_FINISH,
/* 15 */ INTRO_READY = 15
} EnfHGIntroState;
void EnfHG_Init(Actor* thisx, GlobalContext* globalCtx);
void EnfHG_Destroy(Actor* thisx, GlobalContext* globalCtx);
void EnfHG_Update(Actor* thisx, GlobalContext* globalCtx);
void EnfHG_Draw(Actor* thisx, GlobalContext* globalCtx);
/*
void EnfHG_SetupIntro(EnfHG* this, GlobalContext* globalCtx);
void EnfHG_Intro(EnfHG* this, GlobalContext* globalCtx);
void EnfHG_SetupApproach(EnfHG* this, GlobalContext* globalCtx, s16 paintingIndex);
void EnfHG_Approach(EnfHG* this, GlobalContext* globalCtx);
void EnfHG_Attack(EnfHG* this, GlobalContext* globalCtx);
void EnfHG_Damage(EnfHG* this, GlobalContext* globalCtx);
void EnfHG_Retreat(EnfHG* this, GlobalContext* globalCtx);
void EnfHG_Done(EnfHG* this, GlobalContext* globalCtx);
void EnfHG_Noop(Actor* thisx, GlobalContext* globalCtx, PSkinAwb* skin);
const ActorInit En_fHG_InitVars = {
ACTOR_EN_FHG,
ACTORCAT_BG,
@ -27,29 +61,673 @@ const ActorInit En_fHG_InitVars = {
(ActorFunc)EnfHG_Update,
(ActorFunc)EnfHG_Draw,
};
*/
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_fHG/EnfHG_Init.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_fHG/EnfHG_Destroy.s")
static EnfHGPainting sPaintings[] = {
{ { 0.0f, 60.0f, -315.0f }, 0x0000 }, { { -260.0f, 60.0f, -145.0f }, 0x2AAA },
{ { -260.0f, 60.0f, 165.0f }, 0x5554 }, { { 0.0f, 60.0f, 315.0f }, 0x7FFE },
{ { 260.0f, 60.0f, 155.0f }, 0xAAA8 }, { { 260.0f, 60.0f, -155.0f }, 0xD552 },
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_fHG/func_80B62B04.s")
static InitChainEntry sInitChain[] = {
ICHAIN_S8(naviEnemyId, 26, ICHAIN_CONTINUE),
ICHAIN_F32(uncullZoneScale, 1200, ICHAIN_STOP),
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_fHG/func_80B62B6C.s")
void EnfHG_Init(Actor* thisx, GlobalContext* globalCtx2) {
GlobalContext* globalCtx = globalCtx2;
EnfHG* this = THIS;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_fHG/func_80B63D84.s")
Actor_ProcessInitChain(&this->actor, sInitChain);
Flags_SetSwitch(globalCtx, 0x14);
Actor_SetScale(&this->actor, 0.011499999f);
this->actor.gravity = -3.5f;
ActorShape_Init(&this->actor.shape, -2600.0f, NULL, 20.0f);
this->actor.speedXZ = 0.0f;
this->actor.focus.pos = this->actor.world.pos;
this->actor.focus.pos.y += 70.0f;
func_800A663C(globalCtx, &this->skin, &gPhantomHorseSkel, &gPhantomHorseRunningAnim);
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_fHG/func_80B6404C.s")
if (this->actor.params >= GND_FAKE_BOSS) {
EnfHG_SetupApproach(this, globalCtx, this->actor.params - GND_FAKE_BOSS);
} else {
EnfHG_SetupIntro(this, globalCtx);
}
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_fHG/func_80B6424C.s")
void EnfHG_Destroy(Actor* thisx, GlobalContext* globalCtx) {
s32 pad;
EnfHG* this = THIS;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_fHG/func_80B6476C.s")
osSyncPrintf("F DT1\n");
func_800A6888(globalCtx, &this->skin);
osSyncPrintf("F DT2\n");
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_fHG/func_80B64AA8.s")
void EnfHG_SetupIntro(EnfHG* this, GlobalContext* globalCtx) {
Animation_PlayLoop(&this->skin.skelAnime, &gPhantomHorseIdleAnim);
this->actionFunc = EnfHG_Intro;
this->actor.world.pos.x = GND_BOSSROOM_CENTER_X;
this->actor.world.pos.y = GND_BOSSROOM_CENTER_Y - 267.0f;
this->actor.world.pos.z = GND_BOSSROOM_CENTER_Z;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_fHG/func_80B64CF4.s")
void EnfHG_Intro(EnfHG* this, GlobalContext* globalCtx) {
static Vec3f audioVec = { 0.0f, 0.0f, 50.0f };
s32 pad64;
Player* player = PLAYER;
BossGanondrof* bossGnd = (BossGanondrof*)this->actor.parent;
s32 pad58;
s32 pad54;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_fHG/EnfHG_Update.s")
if (this->cutsceneState != INTRO_FINISH) {
SkelAnime_Update(&this->skin.skelAnime);
}
switch (this->cutsceneState) {
case INTRO_WAIT:
if ((fabsf(player->actor.world.pos.x - (GND_BOSSROOM_CENTER_X + 0.0f)) < 150.0f) &&
(fabsf(player->actor.world.pos.z - (GND_BOSSROOM_CENTER_Z + 0.0f)) < 150.0f)) {
this->cutsceneState = INTRO_READY;
}
break;
case INTRO_READY:
if ((fabsf(player->actor.world.pos.x - (GND_BOSSROOM_CENTER_X + 0.0f)) < 100.0f) &&
(fabsf(player->actor.world.pos.z - (GND_BOSSROOM_CENTER_Z + 315.0f)) < 100.0f)) {
this->cutsceneState = INTRO_START;
if (gSaveContext.eventChkInf[7] & 4) {
this->timers[0] = 57;
}
}
break;
case INTRO_START:
if (gSaveContext.eventChkInf[7] & 4) {
if (this->timers[0] == 55) {
Actor_SpawnAsChild(&globalCtx->actorCtx, &this->actor, globalCtx, ACTOR_DOOR_SHUTTER,
GND_BOSSROOM_CENTER_X + 0.0f, GND_BOSSROOM_CENTER_Y - 97.0f,
GND_BOSSROOM_CENTER_Z + 308.0f, 0, 0, 0, (SHUTTER_PG_BARS << 6));
}
if (this->timers[0] == 51) {
Audio_PlayActorSound2(this->actor.child, NA_SE_EV_SPEAR_FENCE);
Audio_SetBGM(0x1B);
}
if (this->timers[0] == 0) {
EnfHG_SetupApproach(this, globalCtx, Rand_ZeroOne() * 5.99f);
this->bossGndSignal = FHG_START_FIGHT;
}
break;
}
func_80064520(globalCtx, &globalCtx->csCtx);
func_8002DF54(globalCtx, &this->actor, 8);
this->cutsceneCamera = Gameplay_CreateSubCamera(globalCtx);
Gameplay_ChangeCameraStatus(globalCtx, 0, 1);
Gameplay_ChangeCameraStatus(globalCtx, this->cutsceneCamera, 7);
this->cutsceneState = INTRO_FENCE;
this->timers[0] = 60;
this->actor.world.pos.y = GND_BOSSROOM_CENTER_Y - 7.0f;
Audio_SetBGM(0x100100FF);
gSaveContext.eventChkInf[7] |= 4;
Flags_SetSwitch(globalCtx, 0x23);
case INTRO_FENCE:
player->actor.world.pos.x = GND_BOSSROOM_CENTER_X + 0.0f;
player->actor.world.pos.y = GND_BOSSROOM_CENTER_Y + 7.0f;
player->actor.world.pos.z = GND_BOSSROOM_CENTER_Z + 155.0f;
player->actor.world.rot.y = player->actor.shape.rot.y = 0;
player->actor.speedXZ = 0.0f;
this->cameraEye.x = GND_BOSSROOM_CENTER_X + 0.0f;
this->cameraEye.y = GND_BOSSROOM_CENTER_Y + 37.0f;
this->cameraEye.z = GND_BOSSROOM_CENTER_Z + 170.0f;
this->cameraAt.x = GND_BOSSROOM_CENTER_X + 0.0f;
this->cameraAt.y = GND_BOSSROOM_CENTER_Y + 47.0f;
this->cameraAt.z = GND_BOSSROOM_CENTER_Z + 315.0f;
if (this->timers[0] == 25) {
Actor_SpawnAsChild(&globalCtx->actorCtx, &this->actor, globalCtx, ACTOR_DOOR_SHUTTER,
GND_BOSSROOM_CENTER_X + 0.0f, GND_BOSSROOM_CENTER_Y - 97.0f,
GND_BOSSROOM_CENTER_Z + 308.0f, 0, 0, 0, (SHUTTER_PG_BARS << 6));
}
if (this->timers[0] == 21) {
Audio_PlayActorSound2(this->actor.child, NA_SE_EV_SPEAR_FENCE);
}
if (this->timers[0] == 0) {
this->cutsceneState = INTRO_BACK;
this->timers[0] = 80;
}
break;
case INTRO_BACK:
if (this->timers[0] == 25) {
Audio_PlayActorSound2(&this->actor, NA_SE_EV_GANON_HORSE_GROAN);
}
if (this->timers[0] == 20) {
func_8002DF54(globalCtx, &this->actor, 9);
}
if (this->timers[0] == 1) {
Audio_SetBGM(0x23);
}
Math_ApproachF(&this->cameraEye.x, GND_BOSSROOM_CENTER_X + 40.0f, 0.05f, this->cameraSpeedMod * 20.0f);
Math_ApproachF(&this->cameraEye.y, GND_BOSSROOM_CENTER_Y + 37.0f, 0.05f, this->cameraSpeedMod * 20.0f);
Math_ApproachF(&this->cameraEye.z, GND_BOSSROOM_CENTER_Z + 80.0f, 0.05f, this->cameraSpeedMod * 20.0f);
Math_ApproachF(&this->cameraAt.x, GND_BOSSROOM_CENTER_X - 100.0f, 0.05f, this->cameraSpeedMod * 20.0f);
Math_ApproachF(&this->cameraAt.y, GND_BOSSROOM_CENTER_Y + 47.0f, 0.05f, this->cameraSpeedMod * 20.0f);
Math_ApproachF(&this->cameraAt.z, GND_BOSSROOM_CENTER_Z + 335.0f, 0.05f, this->cameraSpeedMod * 20.0f);
Math_ApproachF(&this->cameraSpeedMod, 1.0f, 1.0f, 0.01f);
if (this->timers[0] == 0) {
this->cutsceneState = INTRO_REVEAL;
this->timers[0] = 50;
this->cameraSpeedMod = 0.0f;
}
break;
case INTRO_REVEAL:
Math_ApproachF(&this->cameraEye.x, GND_BOSSROOM_CENTER_X + 70.0f, 0.1f, this->cameraSpeedMod * 20.0f);
Math_ApproachF(&this->cameraEye.y, GND_BOSSROOM_CENTER_Y + 7.0f, 0.1f, this->cameraSpeedMod * 20.0f);
Math_ApproachF(&this->cameraEye.z, GND_BOSSROOM_CENTER_Z + 200.0f, 0.1f, this->cameraSpeedMod * 20.0f);
Math_ApproachF(&this->cameraAt.x, GND_BOSSROOM_CENTER_X - 150.0f, 0.1f, this->cameraSpeedMod * 20.0f);
Math_ApproachF(&this->cameraAt.y, GND_BOSSROOM_CENTER_Y + 107.0f, 0.1f, this->cameraSpeedMod * 20.0f);
Math_ApproachF(&this->cameraAt.z, GND_BOSSROOM_CENTER_Z - 65.0f, 0.1f, this->cameraSpeedMod * 40.0f);
Math_ApproachF(&this->cameraSpeedMod, 1.0f, 1.0f, 0.05f);
if (this->timers[0] == 5) {
Audio_PlayActorSound2(&this->actor, NA_SE_EV_HORSE_SANDDUST);
}
if (this->timers[0] == 0) {
this->cutsceneState = INTRO_CUT;
this->timers[0] = 50;
this->cameraSpeedMod = 0.0f;
}
break;
case INTRO_CUT:
this->cutsceneState = INTRO_LAUGH;
this->cameraEye.x = GND_BOSSROOM_CENTER_X + 50.0f;
this->cameraEye.y = GND_BOSSROOM_CENTER_Y + 17.0f;
this->cameraEye.z = GND_BOSSROOM_CENTER_Z + 110.0f;
this->cameraAt.x = GND_BOSSROOM_CENTER_X - 150.0f;
this->cameraAt.y = GND_BOSSROOM_CENTER_Y + 207.0f;
this->cameraAt.z = GND_BOSSROOM_CENTER_Z - 155.0f;
this->cameraEyeVel.x = fabsf(this->cameraEye.x - (GND_BOSSROOM_CENTER_X + 20.0f));
this->cameraEyeVel.y = fabsf(this->cameraEye.y - (GND_BOSSROOM_CENTER_Y + 102.0f));
this->cameraEyeVel.z = fabsf(this->cameraEye.z - (GND_BOSSROOM_CENTER_Z + 25.0f));
this->cameraAtVel.x = fabsf(this->cameraAt.x - (GND_BOSSROOM_CENTER_X - 150.0f));
this->cameraAtVel.y = fabsf(this->cameraAt.y - (GND_BOSSROOM_CENTER_Y + 197.0f));
this->cameraAtVel.z = fabsf(this->cameraAt.z - (GND_BOSSROOM_CENTER_Z - 65.0f));
this->timers[0] = 250;
case INTRO_LAUGH:
Math_ApproachF(&this->cameraEye.x, GND_BOSSROOM_CENTER_X + 20.0f, 0.05f,
this->cameraSpeedMod * this->cameraEyeVel.x);
Math_ApproachF(&this->cameraEye.y, GND_BOSSROOM_CENTER_Y + 102.0f, 0.05f,
this->cameraSpeedMod * this->cameraEyeVel.y);
Math_ApproachF(&this->cameraEye.z, GND_BOSSROOM_CENTER_Z + 25.0f, 0.05f,
this->cameraSpeedMod * this->cameraEyeVel.z);
Math_ApproachF(&this->cameraAt.x, GND_BOSSROOM_CENTER_X - 150.0f, 0.05f,
this->cameraSpeedMod * this->cameraAtVel.x);
Math_ApproachF(&this->cameraAt.y, GND_BOSSROOM_CENTER_Y + 197.0f, 0.05f,
this->cameraSpeedMod * this->cameraAtVel.y);
Math_ApproachF(&this->cameraAt.z, GND_BOSSROOM_CENTER_Z - 65.0f, 0.05f,
this->cameraSpeedMod * this->cameraAtVel.z);
Math_ApproachF(&this->cameraSpeedMod, 0.01f, 1.0f, 0.001f);
if ((this->timers[0] == 245) || (this->timers[0] == 3)) {
Animation_MorphToPlayOnce(&this->skin.skelAnime, &gPhantomHorseRearingAnim, -8.0f);
this->bossGndSignal = FHG_REAR;
Audio_PlayActorSound2(&this->actor, NA_SE_EV_GANON_HORSE_NEIGH);
if (this->timers[0] == 3) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_FANTOM_VOICE);
}
}
if (this->timers[0] == 192) {
Audio_PlayActorSound2(&this->actor, NA_SE_EV_HORSE_SANDDUST);
}
if (this->timers[0] == 212) {
Audio_PlayActorSound2(&this->actor, NA_SE_EV_HORSE_LAND2);
Animation_Change(&this->skin.skelAnime, &gPhantomHorseIdleAnim, 0.3f, 0.0f, 5.0f, ANIMMODE_LOOP_INTERP,
-10.0f);
}
if (this->timers[0] == 90) {
globalCtx->envCtx.unk_BF = 2;
globalCtx->envCtx.unk_D6 = 0x14;
}
if (this->timers[0] == 100) {
this->bossGndSignal = FHG_LIGHTNING;
}
if (this->timers[0] == 60) {
this->bossGndSignal = FHG_RIDE;
}
if (this->timers[0] == 130) {
Audio_SetBGM(0x105000FF);
}
if (this->timers[0] == 30) {
bossGnd->work[GND_EYE_STATE] = GND_EYESTATE_BRIGHTEN;
}
if (this->timers[0] == 35) {
func_80078914(&audioVec, NA_SE_EN_FANTOM_EYE);
}
if (this->timers[0] == 130) {
bossGnd->work[GND_EYE_STATE] = GND_EYESTATE_FADE;
func_80078914(&audioVec, NA_SE_EN_FANTOM_ST_LAUGH);
}
if (this->timers[0] == 20) {
Audio_SetBGM(0x1B);
}
if (this->timers[0] == 2) {
this->cameraSpeedMod = 0.0f;
this->cutsceneState = INTRO_TITLE;
this->cameraEyeVel.x = fabsf(this->cameraEye.x - (GND_BOSSROOM_CENTER_X + 180.0f));
this->cameraEyeVel.y = fabsf(this->cameraEye.y - (GND_BOSSROOM_CENTER_Y + 7.0f));
this->cameraEyeVel.z = fabsf(this->cameraEye.z - (GND_BOSSROOM_CENTER_Z + 140.0f));
this->timers[0] = 100;
this->timers[1] = 34;
this->cameraAtVel.x = fabsf(this->cameraAt.x - this->actor.world.pos.x);
this->cameraAtVel.y = fabsf(this->cameraAt.y - ((this->actor.world.pos.y + 70.0f) - 20.0f));
this->cameraAtVel.z = fabsf(this->cameraAt.z - this->actor.world.pos.z);
}
break;
case INTRO_TITLE:
if (this->timers[1] == 1) {
Animation_Change(&this->skin.skelAnime, &gPhantomHorseIdleAnim, 0.5f, 0.0f,
Animation_GetLastFrame(&gPhantomHorseIdleAnim), ANIMMODE_LOOP_INTERP, -3.0f);
}
Math_ApproachF(&this->cameraEye.x, GND_BOSSROOM_CENTER_X + 180.0f, 0.1f,
this->cameraSpeedMod * this->cameraEyeVel.x);
Math_ApproachF(&this->cameraEye.y, GND_BOSSROOM_CENTER_Y + 7.0f, 0.1f,
this->cameraSpeedMod * this->cameraEyeVel.y);
Math_ApproachF(&this->cameraEye.z, this->cameraPanZ + (GND_BOSSROOM_CENTER_Z + 140.0f), 0.1f,
this->cameraSpeedMod * this->cameraEyeVel.z);
Math_ApproachF(&this->cameraPanZ, -100.0f, 0.1f, 1.0f);
Math_ApproachF(&this->cameraAt.x, this->actor.world.pos.x, 0.1f, this->cameraSpeedMod * 10.0f);
Math_ApproachF(&this->cameraAt.y, (this->actor.world.pos.y + 70.0f) - 20.0f, 0.1f,
this->cameraSpeedMod * 10.0f);
Math_ApproachF(&this->cameraAt.z, this->actor.world.pos.z, 0.1f, this->cameraSpeedMod * 10.0f);
Math_ApproachF(&this->actor.world.pos.y, 60.0f, 0.1f, 2.0f);
this->actor.world.pos.y += 2.0f * Math_SinS(this->gallopTimer * 0x5DC);
Math_ApproachF(&this->cameraSpeedMod, 1.0f, 1.0f, 0.05f);
if (this->timers[0] == 75) {
TitleCard_InitBossName(globalCtx, &globalCtx->actorCtx.titleCtx,
SEGMENTED_TO_VIRTUAL(&gPhantomGanonTitleCardTex), 0xA0, 0xB4, 0x80, 0x28);
}
if (this->timers[0] == 0) {
this->cutsceneState = INTRO_RETREAT;
this->timers[0] = 200;
this->timers[1] = 23;
this->cameraSpeedMod = 0.0f;
Animation_Change(&this->skin.skelAnime, &gPhantomHorseLeapAnim, 1.0f, 0.0f,
Animation_GetLastFrame(&gPhantomHorseLeapAnim), ANIMMODE_ONCE_INTERP, -4.0f);
this->bossGndSignal = FHG_SPUR;
Audio_PlayActorSound2(&this->actor, NA_SE_EN_FANTOM_VOICE);
Audio_PlayActorSound2(&this->actor, NA_SE_EV_GANON_HORSE_NEIGH);
}
break;
case INTRO_RETREAT:
if (this->timers[1] == 1) {
Animation_Change(&this->skin.skelAnime, &gPhantomHorseLandAnim, 0.5f, 0.0f,
Animation_GetLastFrame(&gPhantomHorseLandAnim), ANIMMODE_ONCE_INTERP, -3.0f);
this->bossGndSignal = FHG_FINISH;
}
if (this->timers[0] == 170) {
func_8002DF54(globalCtx, &this->actor, 8);
Audio_PlayActorSound2(&this->actor, NA_SE_EN_FANTOM_MASIC2);
}
Math_ApproachF(&this->cameraEye.z, this->cameraPanZ + (GND_BOSSROOM_CENTER_Z + 100.0f), 0.1f,
this->cameraSpeedMod * 1.5f);
Math_ApproachF(&this->cameraPanZ, -100.0f, 0.1f, 1.0f);
Math_ApproachF(&this->actor.world.pos.z, GND_BOSSROOM_CENTER_Z + 400.0f - 0.5f, 1.0f,
this->cameraSpeedMod * 10.0f);
Math_ApproachF(&this->cameraSpeedMod, 1.0f, 1.0f, 0.05f);
if ((fabsf(this->actor.world.pos.z - (GND_BOSSROOM_CENTER_Z + 400.0f - 0.5f)) < 300.0f) &&
!this->spawnedWarp) {
this->spawnedWarp = true;
Actor_SpawnAsChild(&globalCtx->actorCtx, &this->actor, globalCtx, ACTOR_EN_FHG_FIRE,
GND_BOSSROOM_CENTER_X + 0.0f, this->actor.world.pos.y + 50.0f,
GND_BOSSROOM_CENTER_Z + 400.0f - 0.5f, 0, this->actor.shape.rot.y, 0,
FHGFIRE_WARP_RETREAT);
this->fhgFireKillWarp = true;
}
Math_ApproachF(&this->cameraAt.x, this->actor.world.pos.x, 0.2f, 50.0f);
Math_ApproachF(&this->cameraAt.z, this->actor.world.pos.z, 0.2f, 50.0f);
osSyncPrintf("TIME %d-------------------------------------------------\n", this->timers[0]);
if (fabsf(this->actor.world.pos.z - (GND_BOSSROOM_CENTER_Z + 400.0f - 0.5f)) < 1.0f) {
globalCtx->envCtx.unk_BF = 0;
globalCtx->envCtx.unk_D6 = 0x14;
this->cutsceneState = INTRO_FINISH;
Animation_MorphToLoop(&this->skin.skelAnime, &gPhantomHorseRunningAnim, -3.0f);
this->bossGndSignal = FHG_START_FIGHT;
this->timers[1] = 75;
this->timers[0] = 140;
}
break;
case INTRO_FINISH:
EnfHG_Retreat(this, globalCtx);
Math_ApproachF(&this->cameraEye.z, this->cameraPanZ + (GND_BOSSROOM_CENTER_Z + 100.0f), 0.1f,
this->cameraSpeedMod * 1.5f);
Math_ApproachF(&this->cameraPanZ, -100.0f, 0.1f, 1.0f);
Math_ApproachF(&this->cameraAt.y, (this->actor.world.pos.y + 70.0f) - 20.0f, 0.1f,
this->cameraSpeedMod * 10.0f);
if (this->timers[1] == 0) {
Camera* camera = Gameplay_GetCamera(globalCtx, 0);
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_fHG/func_80B64E94.s")
camera->eye = this->cameraEye;
camera->eyeNext = this->cameraEye;
camera->at = this->cameraAt;
func_800C08AC(globalCtx, this->cutsceneCamera, 0);
this->cutsceneCamera = 0;
func_80064534(globalCtx, &globalCtx->csCtx);
func_8002DF54(globalCtx, &this->actor, 7);
this->actionFunc = EnfHG_Retreat;
}
break;
}
if (this->cutsceneCamera != 0) {
Gameplay_CameraSetAtEye(globalCtx, this->cutsceneCamera, &this->cameraAt, &this->cameraEye);
}
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_fHG/EnfHG_Draw.s")
void EnfHG_SetupApproach(EnfHG* this, GlobalContext* globalCtx, s16 paintingIndex) {
s16 oppositeIndex[6] = { 3, 4, 5, 0, 1, 2 };
Animation_MorphToLoop(&this->skin.skelAnime, &gPhantomHorseRunningAnim, 0.0f);
this->actionFunc = EnfHG_Approach;
this->curPainting = paintingIndex;
this->targetPainting = oppositeIndex[this->curPainting];
osSyncPrintf("KABE NO 1 = %d\n", this->curPainting);
osSyncPrintf("KABE NO 2 = %d\n", this->targetPainting);
this->actor.world.pos.x = (1.3f * sPaintings[this->curPainting].pos.x) + (GND_BOSSROOM_CENTER_X - 4.0f);
this->actor.world.pos.y = sPaintings[this->curPainting].pos.y + (GND_BOSSROOM_CENTER_Y + 153.0f);
this->actor.world.pos.z = (1.3f * sPaintings[this->curPainting].pos.z) - -(GND_BOSSROOM_CENTER_Z - 10.0f);
this->actor.world.rot.y = sPaintings[this->curPainting].yRot;
osSyncPrintf("XP1 = %f\n", this->actor.world.pos.x);
osSyncPrintf("ZP1 = %f\n", this->actor.world.pos.z);
this->inPaintingPos.x = (sPaintings[this->targetPainting].pos.x * 1.3f) + (GND_BOSSROOM_CENTER_X - 4.0f);
this->inPaintingPos.y = sPaintings[this->targetPainting].pos.y + (GND_BOSSROOM_CENTER_Y + 33.0f);
this->inPaintingPos.z = (sPaintings[this->targetPainting].pos.z * 1.3f) - -(GND_BOSSROOM_CENTER_Z - 10.0f);
this->inPaintingVelX = (fabsf(this->inPaintingPos.x - this->actor.world.pos.x) * 2) * 0.01f;
if (this->inPaintingVelX < 1.0f) {
this->inPaintingVelX = 1.0f;
}
this->inPaintingVelZ = (fabsf(this->inPaintingPos.z - this->actor.world.pos.z) * 2) * 0.01f;
if (this->inPaintingVelZ < 1.0f) {
this->inPaintingVelZ = 1.0f;
}
this->timers[0] = 100;
this->actor.scale.x = 0.002f;
this->actor.scale.y = 0.002f;
this->actor.scale.z = 0.001f;
this->approachRate = 0.0f;
this->warpColorFilterR = globalCtx->lightCtx.unk_07;
this->warpColorFilterG = globalCtx->lightCtx.unk_08;
this->warpColorFilterB = globalCtx->lightCtx.unk_09;
this->warpColorFilterUnk1 = 0.0f;
this->warpColorFilterUnk2 = 0.0f;
this->turnRot = 0;
this->turnTarget = 0;
this->spawnedWarp = false;
}
void EnfHG_Approach(EnfHG* this, GlobalContext* globalCtx) {
osSyncPrintf("STANDBY !!\n");
osSyncPrintf("XP2 = %f\n", this->actor.world.pos.x);
osSyncPrintf("ZP2 = %f\n", this->actor.world.pos.z);
if (this->actor.params == GND_REAL_BOSS) {
this->hoofSfxPos.x = this->actor.projectedPos.x / (this->actor.scale.x * 100.0f);
this->hoofSfxPos.y = this->actor.projectedPos.y / (this->actor.scale.x * 100.0f);
this->hoofSfxPos.z = this->actor.projectedPos.z / (this->actor.scale.x * 100.0f);
if ((this->gallopTimer % 8) == 0) {
func_80078914(&this->hoofSfxPos, NA_SE_EV_HORSE_RUN);
}
}
SkelAnime_Update(&this->skin.skelAnime);
Math_ApproachF(&this->actor.scale.x, 0.011499999f, 1.0f, this->approachRate);
Math_ApproachF(&this->approachRate, 0.0002f, 1.0f, 0.0000015f);
Math_ApproachF(&this->actor.world.pos.y, 60.0f, 0.1f, 1.0f);
this->actor.scale.y = this->actor.scale.x;
if (this->timers[0] == 0) {
osSyncPrintf("arg_data ------------------------------------>%d\n", this->actor.params);
if (this->actor.params != GND_REAL_BOSS) {
this->timers[0] = 140;
this->actionFunc = EnfHG_Retreat;
Animation_MorphToLoop(&this->skin.skelAnime, &gPhantomHorseRunningAnim, 0.0f);
this->turnTarget = -0x8000;
} else {
this->actionFunc = EnfHG_Attack;
Audio_PlayActorSound2(&this->actor, NA_SE_EV_GANON_HORSE_NEIGH);
this->timers[0] = 40;
Actor_SpawnAsChild(&globalCtx->actorCtx, &this->actor, globalCtx, ACTOR_EN_FHG_FIRE,
this->actor.world.pos.x, this->actor.world.pos.y + 50.0f, this->actor.world.pos.z, 0,
this->actor.shape.rot.y + 0x8000, 0, FHGFIRE_WARP_EMERGE);
this->fhgFireKillWarp = false;
}
}
}
void EnfHG_Attack(EnfHG* this, GlobalContext* globalCtx) {
osSyncPrintf("KABE OUT !!\n");
this->bossGndInPainting = false;
SkelAnime_Update(&this->skin.skelAnime);
if (this->timers[0] != 0) {
Math_ApproachF(&this->actor.scale.z, 0.011499999f, 1.0f, 0.0002f);
if (this->timers[0] == 1) {
this->bossGndSignal = FHG_RAISE_SPEAR;
this->timers[1] = 50;
Animation_MorphToPlayOnce(&this->skin.skelAnime, &gPhantomHorseLeapAnim, 0.0f);
}
Math_ApproachF(&this->warpColorFilterR, 255.0f, 1.0f, 10.0f);
Math_ApproachF(&this->warpColorFilterG, 255.0f, 1.0f, 10.0f);
Math_ApproachF(&this->warpColorFilterB, 255.0f, 1.0f, 10.0f);
Math_ApproachF(&this->warpColorFilterUnk1, -60.0f, 1.0f, 5.0f);
} else {
Math_ApproachF(&this->warpColorFilterR, globalCtx->lightCtx.unk_07, 1.0f, 10.0f);
Math_ApproachF(&this->warpColorFilterG, globalCtx->lightCtx.unk_07, 1.0f, 10.0f);
Math_ApproachF(&this->warpColorFilterB, globalCtx->lightCtx.unk_07, 1.0f, 10.0f);
Math_ApproachF(&this->warpColorFilterUnk1, 0.0f, 1.0f, 5.0f);
if (this->timers[1] == 29) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_FANTOM_MASIC2);
Audio_PlayActorSound2(&this->actor, NA_SE_EN_FANTOM_VOICE);
}
if (this->hitTimer == 0) {
if (this->timers[1] == 24) {
Actor_SpawnAsChild(&globalCtx->actorCtx, &this->actor, globalCtx, ACTOR_EN_FHG_FIRE,
this->actor.world.pos.x, (this->actor.world.pos.y + 100.0f) + 25.0f,
this->actor.world.pos.z, 0, 0, 0, FHGFIRE_LIGHTNING_STRIKE);
}
if (this->timers[1] == 45) {
Animation_MorphToLoop(&this->skin.skelAnime, &gPhantomHorseAirAnim, 0.0f);
}
if (this->timers[1] == 38) {
this->bossGndSignal = FHG_LIGHTNING;
}
if (this->timers[1] == 16) {
Animation_MorphToPlayOnce(&this->skin.skelAnime, &gPhantomHorseLandAnim, 0.0f);
this->bossGndSignal = FHG_RESET;
}
}
Math_ApproachF(&this->actor.scale.z, 0.011499999f, 1.0f, 0.002f);
Math_ApproachF(&this->actor.world.pos.x, this->inPaintingPos.x, 1.0f, this->inPaintingVelX);
Math_ApproachF(&this->actor.world.pos.y, 60.0f, 0.1f, 1.0f);
Math_ApproachF(&this->actor.world.pos.z, this->inPaintingPos.z, 1.0f, this->inPaintingVelZ);
}
if (this->hitTimer == 20) {
this->actionFunc = EnfHG_Damage;
this->spawnedWarp = false;
Animation_Change(&this->skin.skelAnime, &gPhantomHorseLandAnim, -1.0f, 0.0f,
Animation_GetLastFrame(&gPhantomHorseLandAnim), ANIMMODE_ONCE, -5.0f);
this->timers[0] = 10;
this->bossGndSignal = FHG_RESET;
this->damageSpeedMod = 1.0f;
} else {
f32 dx = this->actor.world.pos.x - this->inPaintingPos.x;
f32 dz = this->actor.world.pos.z - this->inPaintingPos.z;
f32 dxz = sqrtf(SQ(dx) + SQ(dz));
if (dxz < 350.0f) {
this->bossGndInPainting = true;
}
if ((dxz < 300.0f) && !this->spawnedWarp) {
this->spawnedWarp = true;
Actor_SpawnAsChild(&globalCtx->actorCtx, &this->actor, globalCtx, ACTOR_EN_FHG_FIRE, this->inPaintingPos.x,
this->actor.world.pos.y + 50.0f, this->inPaintingPos.z, 0, this->actor.shape.rot.y, 0,
FHGFIRE_WARP_RETREAT);
this->fhgFireKillWarp = true;
}
osSyncPrintf("SPD X %f\n", this->inPaintingVelX);
osSyncPrintf("SPD Z %f\n", this->inPaintingVelZ);
osSyncPrintf("X=%f\n", dx);
osSyncPrintf("Z=%f\n", dz);
if (dxz == 0.0f) {
this->timers[0] = 140;
this->actionFunc = EnfHG_Retreat;
Animation_MorphToLoop(&this->skin.skelAnime, &gPhantomHorseRunningAnim, 0.0f);
this->bossGndSignal = FHG_RIDE;
}
}
}
void EnfHG_Damage(EnfHG* this, GlobalContext* globalCtx) {
f32 dx;
f32 dz;
f32 dxz2;
osSyncPrintf("REVISE !!\n");
SkelAnime_Update(&this->skin.skelAnime);
Math_ApproachF(&this->warpColorFilterR, globalCtx->lightCtx.unk_07, 1.0f, 10.0f);
Math_ApproachF(&this->warpColorFilterG, globalCtx->lightCtx.unk_07, 1.0f, 10.0f);
Math_ApproachF(&this->warpColorFilterB, globalCtx->lightCtx.unk_07, 1.0f, 10.0f);
Math_ApproachF(&this->warpColorFilterUnk1, 0.0f, 1.0f, 5.0f);
Math_ApproachF(&this->actor.scale.z, 0.011499999f, 1.0f, 0.002f);
if (this->timers[0] != 0) {
Math_ApproachZeroF(&this->damageSpeedMod, 1.0f, 0.1f);
if (this->timers[0] == 1) {
this->targetPainting = this->curPainting;
this->inPaintingPos.x = (sPaintings[this->targetPainting].pos.x * 1.3f) + (GND_BOSSROOM_CENTER_X - 4.0f);
this->inPaintingPos.y = sPaintings[this->targetPainting].pos.y;
this->inPaintingPos.z = (sPaintings[this->targetPainting].pos.z * 1.3f) - -(GND_BOSSROOM_CENTER_Z - 10.0f);
}
} else {
Math_ApproachF(&this->damageSpeedMod, 1.0f, 1.0f, 0.1f);
}
Math_ApproachF(&this->actor.world.pos.x, this->inPaintingPos.x, 1.0f, this->damageSpeedMod * this->inPaintingVelX);
Math_ApproachF(&this->actor.world.pos.y, 60.0f, 0.1f, 1.0f);
Math_ApproachF(&this->actor.world.pos.z, this->inPaintingPos.z, 1.0f, this->damageSpeedMod * this->inPaintingVelZ);
dx = this->actor.world.pos.x - this->inPaintingPos.x;
dz = this->actor.world.pos.z - this->inPaintingPos.z;
dxz2 = sqrtf(SQ(dx) + SQ(dz));
if ((dxz2 < 300.0f) && (!this->spawnedWarp)) {
this->spawnedWarp = true;
Actor_SpawnAsChild(&globalCtx->actorCtx, &this->actor, globalCtx, ACTOR_EN_FHG_FIRE, this->inPaintingPos.x,
this->actor.world.pos.y + 50.0f, this->inPaintingPos.z, 0, this->actor.shape.rot.y + 0x8000,
0, FHGFIRE_WARP_RETREAT);
}
if (dxz2 == 0.0f) {
BossGanondrof* bossGnd = (BossGanondrof*)this->actor.parent;
this->timers[0] = 140;
this->actionFunc = EnfHG_Retreat;
Animation_MorphToLoop(&this->skin.skelAnime, &gPhantomHorseRunningAnim, 0.0f);
if (bossGnd->actor.colChkInfo.health > 24) {
this->bossGndSignal = FHG_RIDE;
} else {
bossGnd->flyMode = GND_FLY_NEUTRAL;
}
this->turnTarget = -0x8000;
}
}
void EnfHG_Retreat(EnfHG* this, GlobalContext* globalCtx) {
osSyncPrintf("KABE IN !!\n");
if (this->turnTarget != 0) {
Math_ApproachS(&this->turnRot, this->turnTarget, 5, 2000);
}
if (this->actor.params == GND_REAL_BOSS) {
this->hoofSfxPos.x = this->actor.projectedPos.x / (this->actor.scale.x * 100.0f);
this->hoofSfxPos.y = this->actor.projectedPos.y / (this->actor.scale.x * 100.0f);
this->hoofSfxPos.z = this->actor.projectedPos.z / (this->actor.scale.x * 100.0f);
if ((this->gallopTimer % 8) == 0) {
func_80078914(&this->hoofSfxPos, NA_SE_EV_HORSE_RUN);
}
}
SkelAnime_Update(&this->skin.skelAnime);
Math_ApproachF(&this->actor.scale.z, 0.001f, 1.0f, 0.001f);
Math_ApproachF(&this->actor.scale.x, 0.002f, 0.05f, 0.0001f);
Math_ApproachF(&this->actor.world.pos.y, 200.0f, 0.05f, 1.0f);
this->actor.scale.y = this->actor.scale.x;
if ((this->timers[0] == 80) && (this->actor.params == GND_REAL_BOSS)) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_FANTOM_LAUGH);
}
if (this->timers[0] == 0) {
BossGanondrof* bossGnd = (BossGanondrof*)this->actor.parent;
s16 paintingIdxReal;
s16 paintingIdxFake;
if (this->actor.params != GND_REAL_BOSS) {
this->killActor = true;
bossGnd->killActor = true;
} else if (bossGnd->flyMode != GND_FLY_PAINTING) {
this->actionFunc = EnfHG_Done;
this->actor.draw = NULL;
} else {
paintingIdxReal = Rand_ZeroOne() * 5.99f;
EnfHG_SetupApproach(this, globalCtx, paintingIdxReal);
do {
paintingIdxFake = Rand_ZeroOne() * 5.99f;
} while (paintingIdxFake == paintingIdxReal);
osSyncPrintf("ac1 = %x `````````````````````````````````````````````````\n",
Actor_SpawnAsChild(&globalCtx->actorCtx, &this->actor, globalCtx, ACTOR_BOSS_GANONDROF,
this->actor.world.pos.x, this->actor.world.pos.y, this->actor.world.pos.z,
0, 0, 0, paintingIdxFake + GND_FAKE_BOSS));
}
}
}
void EnfHG_Done(EnfHG* this, GlobalContext* globalCtx) {
this->bossGndInPainting = false;
}
void EnfHG_Update(Actor* thisx, GlobalContext* globalCtx) {
s32 pad;
EnfHG* this = THIS;
u8 i;
if (this->killActor) {
Actor_Kill(&this->actor);
return;
}
this->gallopTimer++;
this->bossGndInPainting = true;
for (i = 0; i < 5; i++) {
if (this->timers[i] != 0) {
this->timers[i]--;
}
}
this->actionFunc(this, globalCtx);
if (this->hitTimer != 0) {
this->hitTimer--;
}
this->actor.focus.pos = this->actor.world.pos;
this->actor.focus.pos.y += 70.0f;
this->actor.shape.rot.y = this->actor.world.rot.y;
this->actor.shape.yOffset = Math_SinS(this->hitTimer * 0x9000) * 700.0f * (this->hitTimer / 20.0f);
this->actor.shape.rot.z = (s16)(Math_SinS(this->hitTimer * 0x7000) * 1500.0f) * (this->hitTimer / 20.0f);
}
void EnfHG_Noop(Actor* thisx, GlobalContext* globalCtx, PSkinAwb* skin) {
}
void EnfHG_Draw(Actor* thisx, GlobalContext* globalCtx) {
EnfHG* this = THIS;
BossGanondrof* bossGnd = (BossGanondrof*)this->actor.parent;
s32 pad;
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_fhg.c", 2439);
func_80093D18(globalCtx->state.gfxCtx);
POLY_OPA_DISP = ((bossGnd->work[GND_INVINC_TIMER] & 4) && (bossGnd->flyMode == GND_FLY_PAINTING))
? Gfx_SetFog(POLY_OPA_DISP, 255, 50, 0, 0, 900, 1099)
: Gfx_SetFog(POLY_OPA_DISP, (u32)this->warpColorFilterR, (u32)this->warpColorFilterG,
(u32)this->warpColorFilterB, 0, (s32)this->warpColorFilterUnk1 + 995,
(s32)this->warpColorFilterUnk2 + 1000);
func_800A6330(&this->actor, globalCtx, &this->skin, EnfHG_Noop, 0x23);
POLY_OPA_DISP = func_800BC8A0(globalCtx, POLY_OPA_DISP);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_fhg.c", 2480);
}

View file

@ -6,21 +6,59 @@
struct EnfHG;
typedef void (*EnfHGActionFunc)(struct EnfHG*, GlobalContext*);
typedef enum {
/* 0 */ FHG_NO_SIGNAL,
/* 1 */ FHG_RAISE_SPEAR,
/* 2 */ FHG_REAR,
/* 3 */ FHG_LIGHTNING,
/* 4 */ FHG_RESET,
/* 5 */ FHG_RIDE,
/* 10 */ FHG_SPUR = 10,
/* 11 */ FHG_FINISH,
/* -1 */ FHG_START_FIGHT = 255
} EnfHGSignal;
typedef struct EnfHG {
/* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x3];
/* 0x014F */ u8 unk_14F;
/* 0x0150 */ char unk_150[0x77];
/* 0x01C7 */ u8 unk_1C7;
/* 0x01C8 */ char unk_1C8;
/* 0x01C9 */ u8 flyMode;
/* 0x01CA */ u8 unk_1CA;
/* 0x01CB */ char unk_1CB[0x15];
/* 0x014C */ u8 bossGndSignal;
/* 0x014D */ u8 bossGndInPainting;
/* 0x014E */ u8 killActor;
/* 0x014F */ u8 fhgFireKillWarp;
/* 0x0150 */ Vec3f cameraEye;
/* 0x015C */ Vec3f cameraAt;
/* 0x0168 */ Vec3f cameraEyeVel;
/* 0x0174 */ Vec3f cameraAtVel;
/* 0x0180 */ Vec3f hoofSfxPos;
/* 0x018C */ Vec3f inPaintingPos;
/* 0x0198 */ f32 inPaintingVelX;
/* 0x019C */ f32 inPaintingVelZ;
/* 0x0198 */ f32 damageSpeedMod;
/* 0x01A4 */ f32 approachRate;
/* 0x01A8 */ f32 cameraSpeedMod;
/* 0x01AC */ f32 cameraPanZ;
/* 0x01B0 */ char unk_1B0[0x10];
/* 0x01C0 */ s16 gallopTimer;
/* 0x01C2 */ s16 curPainting;
/* 0x01C4 */ s16 targetPainting;
/* 0x01C6 */ s16 turnTarget;
/* 0x01C8 */ s16 spawnedWarp;
/* 0x01CA */ s16 cutsceneState;
/* 0x01CC */ s16 cutsceneCamera;
/* 0x01CE */ char unk_1CE[6];
/* 0x01D4 */ s16 timers[5];
/* 0x01DE */ s16 hitTimer;
/* 0x01E0 */ s16 turnRot;
/* 0x01E2 */ char unk_1E2[0x1E];
/* 0x0200 */ Vec3f unk_200;
/* 0x020C */ Vec3f unk_20C;
/* 0x0218 */ char unk_218[0x7C];
/* 0x01E2 */ char unk_1E2[6];
/* 0x01E8 */ f32 warpColorFilterR;
/* 0x01EC */ f32 warpColorFilterG;
/* 0x01F0 */ f32 warpColorFilterB;
/* 0x01F4 */ f32 warpColorFilterUnk1;
/* 0x01F8 */ f32 warpColorFilterUnk2;
/* 0x01FC */ EnfHGActionFunc actionFunc;
/* 0x0200 */ char unk_200[4];
/* 0x0204 */ PSkinAwb skin;
} EnfHG; // size = 0x0294
extern const ActorInit En_Fhg_InitVars;

View file

@ -5,6 +5,7 @@
*/
#include "z_item_b_heart.h"
#include "objects/object_gi_hearts/object_gi_hearts.h"
#define FLAGS 0x00000000
@ -17,9 +18,6 @@ void ItemBHeart_Draw(Actor* thisx, GlobalContext* globalCtx);
void func_80B85264(ItemBHeart* this, GlobalContext* globalCtx);
extern Gfx D_06001290[];
extern Gfx D_06001470[];
const ActorInit Item_B_Heart_InitVars = {
ACTOR_ITEM_B_HEART,
ACTORCAT_MISC,
@ -67,11 +65,11 @@ void ItemBHeart_Update(Actor* thisx, GlobalContext* globalCtx) {
}
void func_80B85264(ItemBHeart* this, GlobalContext* globalCtx) {
f32 temp;
f32 yOffset;
this->unk_164 += 1;
temp = ((Math_SinS(this->unk_164 * 1548) * 5.0f) + 20.0f);
Math_ApproachF(&this->actor.world.pos.y, this->actor.home.pos.y + temp, 0.1f, this->unk_158);
this->unk_164++;
yOffset = (Math_SinS(this->unk_164 * 0x60C) * 5.0f) + 20.0f;
Math_ApproachF(&this->actor.world.pos.y, this->actor.home.pos.y + yOffset, 0.1f, this->unk_158);
Math_ApproachF(&this->unk_158, 2.0f, 1.0f, 0.1f);
this->actor.shape.rot.y += 0x400;
@ -82,7 +80,7 @@ void func_80B85264(ItemBHeart* this, GlobalContext* globalCtx) {
void ItemBHeart_Draw(Actor* thisx, GlobalContext* globalCtx) {
ItemBHeart* this = THIS;
Actor* actorIt;
u8 flag = 0;
u8 flag = false;
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_item_b_heart.c", 506);
@ -90,25 +88,24 @@ void ItemBHeart_Draw(Actor* thisx, GlobalContext* globalCtx) {
while (actorIt != NULL) {
if ((actorIt->id == ACTOR_DOOR_WARP1) && (actorIt->projectedPos.z > this->actor.projectedPos.z)) {
flag = 1;
flag = true;
break;
} else {
actorIt = actorIt->next;
}
actorIt = actorIt->next;
}
if (flag) {
func_80093D84(globalCtx->state.gfxCtx);
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_item_b_heart.c", 551),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_XLU_DISP++, D_06001290);
gSPDisplayList(POLY_XLU_DISP++, D_06001470);
gSPDisplayList(POLY_XLU_DISP++, gGiHeartBorderDL);
gSPDisplayList(POLY_XLU_DISP++, gGiHeartContainerDL);
} else {
func_80093D18(globalCtx->state.gfxCtx);
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_item_b_heart.c", 557),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_OPA_DISP++, D_06001290);
gSPDisplayList(POLY_OPA_DISP++, D_06001470);
gSPDisplayList(POLY_OPA_DISP++, gGiHeartBorderDL);
gSPDisplayList(POLY_OPA_DISP++, gGiHeartContainerDL);
}
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_item_b_heart.c", 561);

View file

@ -1018,6 +1018,16 @@ D_0600FCF8 = 0x0600FCF8;
D_060105E0 = 0x060105E0;
D_06012160 = 0x06012160;
//z_en_fHG
D_060059A0 = 0x060059A0;
D_0600B098 = 0x0600B098;
D_0600B4C8 = 0x0600B4C8;
D_0600B9D0 = 0x0600B9D0;
D_0600C65C = 0x0600C65C;
D_0600CB1C = 0x0600CB1C;
D_0600DDB8 = 0x0600DDB8;
D_0600E8A0 = 0x0600E8A0;
// z_obj_kibako
D_05005290 = 0x05005290;
D_05005380 = 0x05005380;
@ -1231,6 +1241,33 @@ D_06000498 = 0x06000498;
// z_bg_menkuri_eye
D_06002D20 = 0x06002D20;
// z_boss_ganondrof
D_06004EC0 = 0x06004EC0;
D_0600C710 = 0x0600C710;
D_06003CA4 = 0x06003CA4;
D_06001144 = 0x06001144;
D_06002684 = 0x06002684;
D_060019A4 = 0x060019A4;
D_0600D99C = 0x0600D99C;
D_0600DF80 = 0x0600DF80;
D_0600189C = 0x0600189C;
D_06001AB0 = 0x06001AB0;
D_060108D8 = 0x060108D8;
D_06000D84 = 0x06000D84;
D_0600090C = 0x0600090C;
D_0600FAC8 = 0x0600FAC8;
D_06011BCC = 0x06011BCC;
D_06010060 = 0x06010060;
D_06011F44 = 0x06011F44;
D_0601267C = 0x0601267C;
D_06003080 = 0x06003080;
D_0600EC94 = 0x0600EC94;
D_06010344 = 0x06010344;
D_060129E0 = 0x060129E0;
D_0600F48C = 0x0600F48C;
D_0600B380 = 0x0600B380;
D_06003DB0 = 0x06003DB0;
// z_en_fd
D_060079F8 = 0x060079F8;
D_06007A78 = 0x06007A78;