1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2025-01-14 04:07:06 +00:00

En Firefly OK (#503)

* Init, Destroy OK, data partially done

* All functions matched

* Data imported

* Finished naming functions and variables

* name change, inlined PostLimbDraw data

* Delete asm

* progress

* skelanime updated and review

* asm

* review 2

Co-authored-by: fig <fig02srl@gmail.com>
This commit is contained in:
EllipticEllipsis 2020-12-06 07:07:59 +00:00 committed by GitHub
parent 736ebc7cca
commit 6b6c30cded
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
39 changed files with 786 additions and 2384 deletions

View file

@ -1,11 +0,0 @@
glabel EnFirefly_Destroy
/* 0025C 80A132CC 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00260 80A132D0 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
/* 00264 80A132D4 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00268 80A132D8 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 0026C 80A132DC 0C016F32 */ jal Collider_DestroyJntSph
/* 00270 80A132E0 24C50314 */ addiu $a1, $a2, 0x0314 ## $a1 = 00000314
/* 00274 80A132E4 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00278 80A132E8 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 0027C 80A132EC 03E00008 */ jr $ra
/* 00280 80A132F0 00000000 */ nop

View file

@ -1,71 +0,0 @@
.rdata
glabel D_80A14FE0
.asciz "../z_en_firefly.c"
.balign 4
glabel D_80A14FF4
.asciz "../z_en_firefly.c"
.balign 4
.text
glabel EnFirefly_Draw
/* 01CD0 80A14D40 27BDFFA8 */ addiu $sp, $sp, 0xFFA8 ## $sp = FFFFFFA8
/* 01CD4 80A14D44 AFBF002C */ sw $ra, 0x002C($sp)
/* 01CD8 80A14D48 AFB00028 */ sw $s0, 0x0028($sp)
/* 01CDC 80A14D4C AFA40058 */ sw $a0, 0x0058($sp)
/* 01CE0 80A14D50 AFA5005C */ sw $a1, 0x005C($sp)
/* 01CE4 80A14D54 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000
/* 01CE8 80A14D58 3C0680A1 */ lui $a2, %hi(D_80A14FE0) ## $a2 = 80A10000
/* 01CEC 80A14D5C 24C64FE0 */ addiu $a2, $a2, %lo(D_80A14FE0) ## $a2 = 80A14FE0
/* 01CF0 80A14D60 27A40040 */ addiu $a0, $sp, 0x0040 ## $a0 = FFFFFFE8
/* 01CF4 80A14D64 240706C5 */ addiu $a3, $zero, 0x06C5 ## $a3 = 000006C5
/* 01CF8 80A14D68 0C031AB1 */ jal Graph_OpenDisps
/* 01CFC 80A14D6C 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000
/* 01D00 80A14D70 8FAF005C */ lw $t7, 0x005C($sp)
/* 01D04 80A14D74 0C024F46 */ jal func_80093D18
/* 01D08 80A14D78 8DE40000 */ lw $a0, 0x0000($t7) ## 00000000
/* 01D0C 80A14D7C 8FA80058 */ lw $t0, 0x0058($sp)
/* 01D10 80A14D80 3C0780A1 */ lui $a3, %hi(func_80A14960) ## $a3 = 80A10000
/* 01D14 80A14D84 3C0D80A1 */ lui $t5, %hi(func_80A149B4) ## $t5 = 80A10000
/* 01D18 80A14D88 911801B9 */ lbu $t8, 0x01B9($t0) ## 000001B9
/* 01D1C 80A14D8C 25AD49B4 */ addiu $t5, $t5, %lo(func_80A149B4) ## $t5 = 80A149B4
/* 01D20 80A14D90 24E74960 */ addiu $a3, $a3, %lo(func_80A14960) ## $a3 = 80A14960
/* 01D24 80A14D94 53000009 */ beql $t8, $zero, .L80A14DBC
/* 01D28 80A14D98 8E0302C0 */ lw $v1, 0x02C0($s0) ## 000002C0
/* 01D2C 80A14D9C 8E0302C0 */ lw $v1, 0x02C0($s0) ## 000002C0
/* 01D30 80A14DA0 3C09FB00 */ lui $t1, 0xFB00 ## $t1 = FB000000
/* 01D34 80A14DA4 24790008 */ addiu $t9, $v1, 0x0008 ## $t9 = 00000008
/* 01D38 80A14DA8 AE1902C0 */ sw $t9, 0x02C0($s0) ## 000002C0
/* 01D3C 80A14DAC AC600004 */ sw $zero, 0x0004($v1) ## 00000004
/* 01D40 80A14DB0 10000008 */ beq $zero, $zero, .L80A14DD4
/* 01D44 80A14DB4 AC690000 */ sw $t1, 0x0000($v1) ## 00000000
/* 01D48 80A14DB8 8E0302C0 */ lw $v1, 0x02C0($s0) ## 000002C0
.L80A14DBC:
/* 01D4C 80A14DBC 3C0BFB00 */ lui $t3, 0xFB00 ## $t3 = FB000000
/* 01D50 80A14DC0 240C00FF */ addiu $t4, $zero, 0x00FF ## $t4 = 000000FF
/* 01D54 80A14DC4 246A0008 */ addiu $t2, $v1, 0x0008 ## $t2 = 00000008
/* 01D58 80A14DC8 AE0A02C0 */ sw $t2, 0x02C0($s0) ## 000002C0
/* 01D5C 80A14DCC AC6C0004 */ sw $t4, 0x0004($v1) ## 00000004
/* 01D60 80A14DD0 AC6B0000 */ sw $t3, 0x0000($v1) ## 00000000
.L80A14DD4:
/* 01D64 80A14DD4 8D050174 */ lw $a1, 0x0174($t0) ## 00000174
/* 01D68 80A14DD8 8D060190 */ lw $a2, 0x0190($t0) ## 00000190
/* 01D6C 80A14DDC AFA80014 */ sw $t0, 0x0014($sp)
/* 01D70 80A14DE0 AFAD0010 */ sw $t5, 0x0010($sp)
/* 01D74 80A14DE4 8E0E02C0 */ lw $t6, 0x02C0($s0) ## 000002C0
/* 01D78 80A14DE8 8FA4005C */ lw $a0, 0x005C($sp)
/* 01D7C 80A14DEC 0C0288A2 */ jal SkelAnime_Draw
/* 01D80 80A14DF0 AFAE0018 */ sw $t6, 0x0018($sp)
/* 01D84 80A14DF4 AE0202C0 */ sw $v0, 0x02C0($s0) ## 000002C0
/* 01D88 80A14DF8 8FAF005C */ lw $t7, 0x005C($sp)
/* 01D8C 80A14DFC 3C0680A1 */ lui $a2, %hi(D_80A14FF4) ## $a2 = 80A10000
/* 01D90 80A14E00 24C64FF4 */ addiu $a2, $a2, %lo(D_80A14FF4) ## $a2 = 80A14FF4
/* 01D94 80A14E04 27A40040 */ addiu $a0, $sp, 0x0040 ## $a0 = FFFFFFE8
/* 01D98 80A14E08 240706E3 */ addiu $a3, $zero, 0x06E3 ## $a3 = 000006E3
/* 01D9C 80A14E0C 0C031AD5 */ jal Graph_CloseDisps
/* 01DA0 80A14E10 8DE50000 */ lw $a1, 0x0000($t7) ## 00000000
/* 01DA4 80A14E14 8FBF002C */ lw $ra, 0x002C($sp)
/* 01DA8 80A14E18 8FB00028 */ lw $s0, 0x0028($sp)
/* 01DAC 80A14E1C 27BD0058 */ addiu $sp, $sp, 0x0058 ## $sp = 00000000
/* 01DB0 80A14E20 03E00008 */ jr $ra
/* 01DB4 80A14E24 00000000 */ nop

View file

@ -1,141 +0,0 @@
glabel EnFirefly_Init
/* 00064 80A130D4 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8
/* 00068 80A130D8 AFA5003C */ sw $a1, 0x003C($sp)
/* 0006C 80A130DC AFBF002C */ sw $ra, 0x002C($sp)
/* 00070 80A130E0 AFB00028 */ sw $s0, 0x0028($sp)
/* 00074 80A130E4 3C0580A1 */ lui $a1, %hi(D_80A14F8C) ## $a1 = 80A10000
/* 00078 80A130E8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 0007C 80A130EC 0C01E037 */ jal Actor_ProcessInitChain
/* 00080 80A130F0 24A54F8C */ addiu $a1, $a1, %lo(D_80A14F8C) ## $a1 = 80A14F8C
/* 00084 80A130F4 3C068003 */ lui $a2, %hi(ActorShadow_DrawFunc_Circle)
/* 00088 80A130F8 24C6B5EC */ addiu $a2, %lo(ActorShadow_DrawFunc_Circle)
/* 0008C 80A130FC 260400B4 */ addiu $a0, $s0, 0x00B4 ## $a0 = 000000B4
/* 00090 80A13100 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
/* 00094 80A13104 0C00AC78 */ jal ActorShape_Init
/* 00098 80A13108 3C0741C8 */ lui $a3, 0x41C8 ## $a3 = 41C80000
/* 0009C 80A1310C 3C060600 */ lui $a2, 0x0600 ## $a2 = 06000000
/* 000A0 80A13110 3C070600 */ lui $a3, 0x0600 ## $a3 = 06000000
/* 000A4 80A13114 260E01BE */ addiu $t6, $s0, 0x01BE ## $t6 = 000001BE
/* 000A8 80A13118 260F0266 */ addiu $t7, $s0, 0x0266 ## $t7 = 00000266
/* 000AC 80A1311C 2418001C */ addiu $t8, $zero, 0x001C ## $t8 = 0000001C
/* 000B0 80A13120 AFB80018 */ sw $t8, 0x0018($sp)
/* 000B4 80A13124 AFAF0014 */ sw $t7, 0x0014($sp)
/* 000B8 80A13128 AFAE0010 */ sw $t6, 0x0010($sp)
/* 000BC 80A1312C 24E7017C */ addiu $a3, $a3, 0x017C ## $a3 = 0600017C
/* 000C0 80A13130 24C618B8 */ addiu $a2, $a2, 0x18B8 ## $a2 = 060018B8
/* 000C4 80A13134 8FA4003C */ lw $a0, 0x003C($sp)
/* 000C8 80A13138 0C02915F */ jal SkelAnime_Init
/* 000CC 80A1313C 26050170 */ addiu $a1, $s0, 0x0170 ## $a1 = 00000170
/* 000D0 80A13140 26050314 */ addiu $a1, $s0, 0x0314 ## $a1 = 00000314
/* 000D4 80A13144 AFA50030 */ sw $a1, 0x0030($sp)
/* 000D8 80A13148 0C016EFE */ jal Collider_InitJntSph
/* 000DC 80A1314C 8FA4003C */ lw $a0, 0x003C($sp)
/* 000E0 80A13150 3C0780A1 */ lui $a3, %hi(D_80A14F54) ## $a3 = 80A10000
/* 000E4 80A13154 26190334 */ addiu $t9, $s0, 0x0334 ## $t9 = 00000334
/* 000E8 80A13158 8FA50030 */ lw $a1, 0x0030($sp)
/* 000EC 80A1315C AFB90010 */ sw $t9, 0x0010($sp)
/* 000F0 80A13160 24E74F54 */ addiu $a3, $a3, %lo(D_80A14F54) ## $a3 = 80A14F54
/* 000F4 80A13164 8FA4003C */ lw $a0, 0x003C($sp)
/* 000F8 80A13168 0C017014 */ jal Collider_SetJntSph
/* 000FC 80A1316C 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
/* 00100 80A13170 3C0580A1 */ lui $a1, %hi(D_80A14F6C) ## $a1 = 80A10000
/* 00104 80A13174 3C0680A1 */ lui $a2, %hi(D_80A14F64) ## $a2 = 80A10000
/* 00108 80A13178 24C64F64 */ addiu $a2, $a2, %lo(D_80A14F64) ## $a2 = 80A14F64
/* 0010C 80A1317C 24A54F6C */ addiu $a1, $a1, %lo(D_80A14F6C) ## $a1 = 80A14F6C
/* 00110 80A13180 0C0187B5 */ jal func_80061ED4
/* 00114 80A13184 26040098 */ addiu $a0, $s0, 0x0098 ## $a0 = 00000098
/* 00118 80A13188 8602001C */ lh $v0, 0x001C($s0) ## 0000001C
/* 0011C 80A1318C 3C0B80A1 */ lui $t3, %hi(func_80A14E28) ## $t3 = 80A10000
/* 00120 80A13190 256B4E28 */ addiu $t3, $t3, %lo(func_80A14E28) ## $t3 = 80A14E28
/* 00124 80A13194 30488000 */ andi $t0, $v0, 0x8000 ## $t0 = 00000000
/* 00128 80A13198 11000009 */ beq $t0, $zero, .L80A131C0
/* 0012C 80A1319C 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001
/* 00130 80A131A0 860C001C */ lh $t4, 0x001C($s0) ## 0000001C
/* 00134 80A131A4 8E090004 */ lw $t1, 0x0004($s0) ## 00000004
/* 00138 80A131A8 AE0B0134 */ sw $t3, 0x0134($s0) ## 00000134
/* 0013C 80A131AC 318D7FFF */ andi $t5, $t4, 0x7FFF ## $t5 = 00000000
/* 00140 80A131B0 A60D001C */ sh $t5, 0x001C($s0) ## 0000001C
/* 00144 80A131B4 352A0080 */ ori $t2, $t1, 0x0080 ## $t2 = 00000080
/* 00148 80A131B8 AE0A0004 */ sw $t2, 0x0004($s0) ## 00000004
/* 0014C 80A131BC 8602001C */ lh $v0, 0x001C($s0) ## 0000001C
.L80A131C0:
/* 00150 80A131C0 28410002 */ slti $at, $v0, 0x0002
/* 00154 80A131C4 10200003 */ beq $at, $zero, .L80A131D4
/* 00158 80A131C8 3C1880A1 */ lui $t8, %hi(func_80A13A08) ## $t8 = 80A10000
/* 0015C 80A131CC 10000002 */ beq $zero, $zero, .L80A131D8
/* 00160 80A131D0 A20E01B9 */ sb $t6, 0x01B9($s0) ## 000001B9
.L80A131D4:
/* 00164 80A131D4 A20001B9 */ sb $zero, 0x01B9($s0) ## 000001B9
.L80A131D8:
/* 00168 80A131D8 920F01B9 */ lbu $t7, 0x01B9($s0) ## 000001B9
/* 0016C 80A131DC 27183A08 */ addiu $t8, $t8, %lo(func_80A13A08) ## $t8 = 80A13A08
/* 00170 80A131E0 24040014 */ addiu $a0, $zero, 0x0014 ## $a0 = 00000014
/* 00174 80A131E4 11E0000D */ beq $t7, $zero, .L80A1321C
/* 00178 80A131E8 2405003C */ addiu $a1, $zero, 0x003C ## $a1 = 0000003C
/* 0017C 80A131EC 0C01DF64 */ jal Math_Rand_S16Offset
/* 00180 80A131F0 AE1801B4 */ sw $t8, 0x01B4($s0) ## 000001B4
/* 00184 80A131F4 C604000C */ lwc1 $f4, 0x000C($s0) ## 0000000C
/* 00188 80A131F8 24191554 */ addiu $t9, $zero, 0x1554 ## $t9 = 00001554
/* 0018C 80A131FC 24080001 */ addiu $t0, $zero, 0x0001 ## $t0 = 00000001
/* 00190 80A13200 24090011 */ addiu $t1, $zero, 0x0011 ## $t1 = 00000011
/* 00194 80A13204 A60201BA */ sh $v0, 0x01BA($s0) ## 000001BA
/* 00198 80A13208 A61900B4 */ sh $t9, 0x00B4($s0) ## 000000B4
/* 0019C 80A1320C A20801B8 */ sb $t0, 0x01B8($s0) ## 000001B8
/* 001A0 80A13210 A2090117 */ sb $t1, 0x0117($s0) ## 00000117
/* 001A4 80A13214 10000023 */ beq $zero, $zero, .L80A132A4
/* 001A8 80A13218 E6040310 */ swc1 $f4, 0x0310($s0) ## 00000310
.L80A1321C:
/* 001AC 80A1321C 860A001C */ lh $t2, 0x001C($s0) ## 0000001C
/* 001B0 80A13220 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
/* 001B4 80A13224 3C0C80A1 */ lui $t4, %hi(func_80A13A08) ## $t4 = 80A10000
/* 001B8 80A13228 15410005 */ bne $t2, $at, .L80A13240
/* 001BC 80A1322C 258C3A08 */ addiu $t4, $t4, %lo(func_80A13A08) ## $t4 = 80A13A08
/* 001C0 80A13230 3C0B80A1 */ lui $t3, %hi(func_80A142F4) ## $t3 = 80A10000
/* 001C4 80A13234 256B42F4 */ addiu $t3, $t3, %lo(func_80A142F4) ## $t3 = 80A142F4
/* 001C8 80A13238 10000002 */ beq $zero, $zero, .L80A13244
/* 001CC 80A1323C AE0B01B4 */ sw $t3, 0x01B4($s0) ## 000001B4
.L80A13240:
/* 001D0 80A13240 AE0C01B4 */ sw $t4, 0x01B4($s0) ## 000001B4
.L80A13244:
/* 001D4 80A13244 860D001C */ lh $t5, 0x001C($s0) ## 0000001C
/* 001D8 80A13248 24020004 */ addiu $v0, $zero, 0x0004 ## $v0 = 00000004
/* 001DC 80A1324C 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000
/* 001E0 80A13250 144D0007 */ bne $v0, $t5, .L80A13270
/* 001E4 80A13254 240A0002 */ addiu $t2, $zero, 0x0002 ## $t2 = 00000002
/* 001E8 80A13258 8E0F0330 */ lw $t7, 0x0330($s0) ## 00000330
/* 001EC 80A1325C 240E0002 */ addiu $t6, $zero, 0x0002 ## $t6 = 00000002
/* 001F0 80A13260 24180056 */ addiu $t8, $zero, 0x0056 ## $t8 = 00000056
/* 001F4 80A13264 A1EE0004 */ sb $t6, 0x0004($t7) ## 00000004
/* 001F8 80A13268 10000005 */ beq $zero, $zero, .L80A13280
/* 001FC 80A1326C A2180117 */ sb $t8, 0x0117($s0) ## 00000117
.L80A13270:
/* 00200 80A13270 8E190330 */ lw $t9, 0x0330($s0) ## 00000330
/* 00204 80A13274 24080012 */ addiu $t0, $zero, 0x0012 ## $t0 = 00000012
/* 00208 80A13278 A3200004 */ sb $zero, 0x0004($t9) ## 00001558
/* 0020C 80A1327C A2080117 */ sb $t0, 0x0117($s0) ## 00000117
.L80A13280:
/* 00210 80A13280 C606000C */ lwc1 $f6, 0x000C($s0) ## 0000000C
/* 00214 80A13284 44814000 */ mtc1 $at, $f8 ## $f8 = 100.00
/* 00218 80A13288 8609001C */ lh $t1, 0x001C($s0) ## 0000001C
/* 0021C 80A1328C 46083280 */ add.s $f10, $f6, $f8
/* 00220 80A13290 14490003 */ bne $v0, $t1, .L80A132A0
/* 00224 80A13294 E60A0310 */ swc1 $f10, 0x0310($s0) ## 00000310
/* 00228 80A13298 10000002 */ beq $zero, $zero, .L80A132A4
/* 0022C 80A1329C A20A01B8 */ sb $t2, 0x01B8($s0) ## 000001B8
.L80A132A0:
/* 00230 80A132A0 A20001B8 */ sb $zero, 0x01B8($s0) ## 000001B8
.L80A132A4:
/* 00234 80A132A4 3C0B80A1 */ lui $t3, %hi(D_80A14F60) ## $t3 = 80A10000
/* 00238 80A132A8 8D6B4F60 */ lw $t3, %lo(D_80A14F60)($t3)
/* 0023C 80A132AC 8E0D0330 */ lw $t5, 0x0330($s0) ## 00000330
/* 00240 80A132B0 856C0020 */ lh $t4, 0x0020($t3) ## 80A10020
/* 00244 80A132B4 A5AC0036 */ sh $t4, 0x0036($t5) ## 00000036
/* 00248 80A132B8 8FBF002C */ lw $ra, 0x002C($sp)
/* 0024C 80A132BC 8FB00028 */ lw $s0, 0x0028($sp)
/* 00250 80A132C0 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000
/* 00254 80A132C4 03E00008 */ jr $ra
/* 00258 80A132C8 00000000 */ nop

View file

@ -1,193 +0,0 @@
glabel EnFirefly_Update
/* 01648 80A146B8 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0
/* 0164C 80A146BC AFBF0024 */ sw $ra, 0x0024($sp)
/* 01650 80A146C0 AFB00020 */ sw $s0, 0x0020($sp)
/* 01654 80A146C4 AFA50044 */ sw $a1, 0x0044($sp)
/* 01658 80A146C8 90820324 */ lbu $v0, 0x0324($a0) ## 00000324
/* 0165C 80A146CC 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 01660 80A146D0 304E0002 */ andi $t6, $v0, 0x0002 ## $t6 = 00000000
/* 01664 80A146D4 11C00010 */ beq $t6, $zero, .L80A14718
/* 01668 80A146D8 304FFFFD */ andi $t7, $v0, 0xFFFD ## $t7 = 00000000
/* 0166C 80A146DC A08F0324 */ sb $t7, 0x0324($a0) ## 00000324
/* 01670 80A146E0 0C00BE0A */ jal Audio_PlayActorSound2
/* 01674 80A146E4 24053840 */ addiu $a1, $zero, 0x3840 ## $a1 = 00003840
/* 01678 80A146E8 921801B9 */ lbu $t8, 0x01B9($s0) ## 000001B9
/* 0167C 80A146EC 53000004 */ beql $t8, $zero, .L80A14700
/* 01680 80A146F0 8E0801B4 */ lw $t0, 0x01B4($s0) ## 000001B4
/* 01684 80A146F4 0C284C1C */ jal func_80A13070
/* 01688 80A146F8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 0168C 80A146FC 8E0801B4 */ lw $t0, 0x01B4($s0) ## 000001B4
.L80A14700:
/* 01690 80A14700 3C1980A1 */ lui $t9, %hi(func_80A143B4) ## $t9 = 80A10000
/* 01694 80A14704 273943B4 */ addiu $t9, $t9, %lo(func_80A143B4) ## $t9 = 80A143B4
/* 01698 80A14708 53280004 */ beql $t9, $t0, .L80A1471C
/* 0169C 80A1470C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 016A0 80A14710 0C284D19 */ jal func_80A13464
/* 016A4 80A14714 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
.L80A14718:
/* 016A8 80A14718 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
.L80A1471C:
/* 016AC 80A1471C 0C285143 */ jal func_80A1450C
/* 016B0 80A14720 8FA50044 */ lw $a1, 0x0044($sp)
/* 016B4 80A14724 8E1901B4 */ lw $t9, 0x01B4($s0) ## 000001B4
/* 016B8 80A14728 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 016BC 80A1472C 8FA50044 */ lw $a1, 0x0044($sp)
/* 016C0 80A14730 0320F809 */ jalr $ra, $t9
/* 016C4 80A14734 00000000 */ nop
/* 016C8 80A14738 8E090004 */ lw $t1, 0x0004($s0) ## 00000004
/* 016CC 80A1473C 312A8000 */ andi $t2, $t1, 0x8000 ## $t2 = 00000000
/* 016D0 80A14740 55400017 */ bnel $t2, $zero, .L80A147A0
/* 016D4 80A14744 3C014120 */ lui $at, 0x4120 ## $at = 41200000
/* 016D8 80A14748 920B00AF */ lbu $t3, 0x00AF($s0) ## 000000AF
/* 016DC 80A1474C 11600006 */ beq $t3, $zero, .L80A14768
/* 016E0 80A14750 00000000 */ nop
/* 016E4 80A14754 8E0201B4 */ lw $v0, 0x01B4($s0) ## 000001B4
/* 016E8 80A14758 3C0C80A1 */ lui $t4, %hi(func_80A141F0) ## $t4 = 80A10000
/* 016EC 80A1475C 258C41F0 */ addiu $t4, $t4, %lo(func_80A141F0) ## $t4 = 80A141F0
/* 016F0 80A14760 15820005 */ bne $t4, $v0, .L80A14778
/* 016F4 80A14764 3C0D80A1 */ lui $t5, %hi(func_80A13FF4) ## $t5 = 80A10000
.L80A14768:
/* 016F8 80A14768 0C00B638 */ jal Actor_MoveForward
/* 016FC 80A1476C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01700 80A14770 1000000B */ beq $zero, $zero, .L80A147A0
/* 01704 80A14774 3C014120 */ lui $at, 0x4120 ## $at = 41200000
.L80A14778:
/* 01708 80A14778 25AD3FF4 */ addiu $t5, $t5, %lo(func_80A13FF4) ## $t5 = 00003FF4
/* 0170C 80A1477C 11A20005 */ beq $t5, $v0, .L80A14794
/* 01710 80A14780 00000000 */ nop
/* 01714 80A14784 860E00B4 */ lh $t6, 0x00B4($s0) ## 000000B4
/* 01718 80A14788 240F1554 */ addiu $t7, $zero, 0x1554 ## $t7 = 00001554
/* 0171C 80A1478C 01EEC023 */ subu $t8, $t7, $t6
/* 01720 80A14790 A6180030 */ sh $t8, 0x0030($s0) ## 00000030
.L80A14794:
/* 01724 80A14794 0C00B65F */ jal func_8002D97C
/* 01728 80A14798 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 0172C 80A1479C 3C014120 */ lui $at, 0x4120 ## $at = 41200000
.L80A147A0:
/* 01730 80A147A0 44810000 */ mtc1 $at, $f0 ## $f0 = 10.00
/* 01734 80A147A4 3C014170 */ lui $at, 0x4170 ## $at = 41700000
/* 01738 80A147A8 44812000 */ mtc1 $at, $f4 ## $f4 = 15.00
/* 0173C 80A147AC 24080007 */ addiu $t0, $zero, 0x0007 ## $t0 = 00000007
/* 01740 80A147B0 44060000 */ mfc1 $a2, $f0
/* 01744 80A147B4 44070000 */ mfc1 $a3, $f0
/* 01748 80A147B8 AFA80014 */ sw $t0, 0x0014($sp)
/* 0174C 80A147BC 8FA40044 */ lw $a0, 0x0044($sp)
/* 01750 80A147C0 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 01754 80A147C4 0C00B92D */ jal func_8002E4B4
/* 01758 80A147C8 E7A40010 */ swc1 $f4, 0x0010($sp)
/* 0175C 80A147CC C6060024 */ lwc1 $f6, 0x0024($s0) ## 00000024
/* 01760 80A147D0 8E0A0330 */ lw $t2, 0x0330($s0) ## 00000330
/* 01764 80A147D4 3C014120 */ lui $at, 0x4120 ## $at = 41200000
/* 01768 80A147D8 4600320D */ trunc.w.s $f8, $f6
/* 0176C 80A147DC 44818000 */ mtc1 $at, $f16 ## $f16 = 10.00
/* 01770 80A147E0 3C0880A1 */ lui $t0, %hi(func_80A13DE4) ## $t0 = 80A10000
/* 01774 80A147E4 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 01778 80A147E8 44094000 */ mfc1 $t1, $f8
/* 0177C 80A147EC 25083DE4 */ addiu $t0, $t0, %lo(func_80A13DE4) ## $t0 = 80A13DE4
/* 01780 80A147F0 3C1980A1 */ lui $t9, %hi(func_80A143B4) ## $t9 = 80A10000
/* 01784 80A147F4 A5490030 */ sh $t1, 0x0030($t2) ## 00000030
/* 01788 80A147F8 C60A0028 */ lwc1 $f10, 0x0028($s0) ## 00000028
/* 0178C 80A147FC 8E0D0330 */ lw $t5, 0x0330($s0) ## 00000330
/* 01790 80A14800 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60
/* 01794 80A14804 46105480 */ add.s $f18, $f10, $f16
/* 01798 80A14808 273943B4 */ addiu $t9, $t9, %lo(func_80A143B4) ## $t9 = 80A143B4
/* 0179C 80A1480C 4600910D */ trunc.w.s $f4, $f18
/* 017A0 80A14810 440C2000 */ mfc1 $t4, $f4
/* 017A4 80A14814 00000000 */ nop
/* 017A8 80A14818 A5AC0032 */ sh $t4, 0x0032($t5) ## 00000032
/* 017AC 80A1481C C606002C */ lwc1 $f6, 0x002C($s0) ## 0000002C
/* 017B0 80A14820 8E180330 */ lw $t8, 0x0330($s0) ## 00000330
/* 017B4 80A14824 4600320D */ trunc.w.s $f8, $f6
/* 017B8 80A14828 440E4000 */ mfc1 $t6, $f8
/* 017BC 80A1482C 00000000 */ nop
/* 017C0 80A14830 A70E0034 */ sh $t6, 0x0034($t8) ## 00000034
/* 017C4 80A14834 8E0201B4 */ lw $v0, 0x01B4($s0) ## 000001B4
/* 017C8 80A14838 8FA40044 */ lw $a0, 0x0044($sp)
/* 017CC 80A1483C 11020003 */ beq $t0, $v0, .L80A1484C
/* 017D0 80A14840 00812821 */ addu $a1, $a0, $at
/* 017D4 80A14844 57220004 */ bnel $t9, $v0, .L80A14858
/* 017D8 80A14848 8FA40044 */ lw $a0, 0x0044($sp)
.L80A1484C:
/* 017DC 80A1484C 0C0175E7 */ jal CollisionCheck_SetAT
## CollisionCheck_setAT
/* 017E0 80A14850 26060314 */ addiu $a2, $s0, 0x0314 ## $a2 = 00000314
/* 017E4 80A14854 8FA40044 */ lw $a0, 0x0044($sp)
.L80A14858:
/* 017E8 80A14858 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 017EC 80A1485C 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60
/* 017F0 80A14860 260A0314 */ addiu $t2, $s0, 0x0314 ## $t2 = 00000314
/* 017F4 80A14864 00814821 */ addu $t1, $a0, $at
/* 017F8 80A14868 AFA90030 */ sw $t1, 0x0030($sp)
/* 017FC 80A1486C AFAA002C */ sw $t2, 0x002C($sp)
/* 01800 80A14870 920B00AF */ lbu $t3, 0x00AF($s0) ## 000000AF
/* 01804 80A14874 01202825 */ or $a1, $t1, $zero ## $a1 = 00000000
/* 01808 80A14878 5160000D */ beql $t3, $zero, .L80A148B0
/* 0180C 80A1487C 8FA40044 */ lw $a0, 0x0044($sp)
/* 01810 80A14880 0C01767D */ jal CollisionCheck_SetAC
## CollisionCheck_setAC
/* 01814 80A14884 01403025 */ or $a2, $t2, $zero ## $a2 = 00000314
/* 01818 80A14888 860C00B6 */ lh $t4, 0x00B6($s0) ## 000000B6
/* 0181C 80A1488C 26040170 */ addiu $a0, $s0, 0x0170 ## $a0 = 00000170
/* 01820 80A14890 3C0540A0 */ lui $a1, 0x40A0 ## $a1 = 40A00000
/* 01824 80A14894 0C0295B2 */ jal func_800A56C8
/* 01828 80A14898 A60C0032 */ sh $t4, 0x0032($s0) ## 00000032
/* 0182C 80A1489C 10400003 */ beq $v0, $zero, .L80A148AC
/* 01830 80A148A0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01834 80A148A4 0C00BE0A */ jal Audio_PlayActorSound2
/* 01838 80A148A8 24053841 */ addiu $a1, $zero, 0x3841 ## $a1 = 00003841
.L80A148AC:
/* 0183C 80A148AC 8FA40044 */ lw $a0, 0x0044($sp)
.L80A148B0:
/* 01840 80A148B0 8FA50030 */ lw $a1, 0x0030($sp)
/* 01844 80A148B4 0C017713 */ jal CollisionCheck_SetOC
## CollisionCheck_setOT
/* 01848 80A148B8 8FA6002C */ lw $a2, 0x002C($sp)
/* 0184C 80A148BC 0C01DE1C */ jal Math_Sins
## sins?
/* 01850 80A148C0 860400B4 */ lh $a0, 0x00B4($s0) ## 000000B4
/* 01854 80A148C4 E7A00034 */ swc1 $f0, 0x0034($sp)
/* 01858 80A148C8 0C01DE1C */ jal Math_Sins
## sins?
/* 0185C 80A148CC 860400B6 */ lh $a0, 0x00B6($s0) ## 000000B6
/* 01860 80A148D0 3C014120 */ lui $at, 0x4120 ## $at = 41200000
/* 01864 80A148D4 44815000 */ mtc1 $at, $f10 ## $f10 = 10.00
/* 01868 80A148D8 C7B00034 */ lwc1 $f16, 0x0034($sp)
/* 0186C 80A148DC C6060024 */ lwc1 $f6, 0x0024($s0) ## 00000024
/* 01870 80A148E0 860400B4 */ lh $a0, 0x00B4($s0) ## 000000B4
/* 01874 80A148E4 46105482 */ mul.s $f18, $f10, $f16
/* 01878 80A148E8 00000000 */ nop
/* 0187C 80A148EC 46120102 */ mul.s $f4, $f0, $f18
/* 01880 80A148F0 46062200 */ add.s $f8, $f4, $f6
/* 01884 80A148F4 0C01DE0D */ jal Math_Coss
## coss?
/* 01888 80A148F8 E6080038 */ swc1 $f8, 0x0038($s0) ## 00000038
/* 0188C 80A148FC 3C014120 */ lui $at, 0x4120 ## $at = 41200000
/* 01890 80A14900 44815000 */ mtc1 $at, $f10 ## $f10 = 10.00
/* 01894 80A14904 C6120028 */ lwc1 $f18, 0x0028($s0) ## 00000028
/* 01898 80A14908 860400B4 */ lh $a0, 0x00B4($s0) ## 000000B4
/* 0189C 80A1490C 460A0402 */ mul.s $f16, $f0, $f10
/* 018A0 80A14910 46128100 */ add.s $f4, $f16, $f18
/* 018A4 80A14914 0C01DE1C */ jal Math_Sins
## sins?
/* 018A8 80A14918 E604003C */ swc1 $f4, 0x003C($s0) ## 0000003C
/* 018AC 80A1491C E7A00034 */ swc1 $f0, 0x0034($sp)
/* 018B0 80A14920 0C01DE0D */ jal Math_Coss
## coss?
/* 018B4 80A14924 860400B6 */ lh $a0, 0x00B6($s0) ## 000000B6
/* 018B8 80A14928 3C014120 */ lui $at, 0x4120 ## $at = 41200000
/* 018BC 80A1492C 44813000 */ mtc1 $at, $f6 ## $f6 = 10.00
/* 018C0 80A14930 C7A80034 */ lwc1 $f8, 0x0034($sp)
/* 018C4 80A14934 C612002C */ lwc1 $f18, 0x002C($s0) ## 0000002C
/* 018C8 80A14938 46083282 */ mul.s $f10, $f6, $f8
/* 018CC 80A1493C 00000000 */ nop
/* 018D0 80A14940 460A0402 */ mul.s $f16, $f0, $f10
/* 018D4 80A14944 46128100 */ add.s $f4, $f16, $f18
/* 018D8 80A14948 E6040040 */ swc1 $f4, 0x0040($s0) ## 00000040
/* 018DC 80A1494C 8FBF0024 */ lw $ra, 0x0024($sp)
/* 018E0 80A14950 8FB00020 */ lw $s0, 0x0020($sp)
/* 018E4 80A14954 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000
/* 018E8 80A14958 03E00008 */ jr $ra
/* 018EC 80A1495C 00000000 */ nop

View file

@ -1,11 +0,0 @@
glabel func_80A13070
/* 00000 80A13070 848E001C */ lh $t6, 0x001C($a0) ## 0000001C
/* 00004 80A13074 8C980330 */ lw $t8, 0x0330($a0) ## 00000330
/* 00008 80A13078 24190012 */ addiu $t9, $zero, 0x0012 ## $t9 = 00000012
/* 0000C 80A1307C 25CF0002 */ addiu $t7, $t6, 0x0002 ## $t7 = 00000002
/* 00010 80A13080 A48F001C */ sh $t7, 0x001C($a0) ## 0000001C
/* 00014 80A13084 A3000004 */ sb $zero, 0x0004($t8) ## 00000004
/* 00018 80A13088 A08001B8 */ sb $zero, 0x01B8($a0) ## 000001B8
/* 0001C 80A1308C A08001B9 */ sb $zero, 0x01B9($a0) ## 000001B9
/* 00020 80A13090 03E00008 */ jr $ra
/* 00024 80A13094 A0990117 */ sb $t9, 0x0117($a0) ## 00000117

View file

@ -1,18 +0,0 @@
glabel func_80A13098
/* 00028 80A13098 8482001C */ lh $v0, 0x001C($a0) ## 0000001C
/* 0002C 80A1309C 24010004 */ addiu $at, $zero, 0x0004 ## $at = 00000004
/* 00030 80A130A0 14410003 */ bne $v0, $at, .L80A130B0
/* 00034 80A130A4 244EFFFE */ addiu $t6, $v0, 0xFFFE ## $t6 = FFFFFFFE
/* 00038 80A130A8 10000002 */ beq $zero, $zero, .L80A130B4
/* 0003C 80A130AC A480001C */ sh $zero, 0x001C($a0) ## 0000001C
.L80A130B0:
/* 00040 80A130B0 A48E001C */ sh $t6, 0x001C($a0) ## 0000001C
.L80A130B4:
/* 00044 80A130B4 8C8F0330 */ lw $t7, 0x0330($a0) ## 00000330
/* 00048 80A130B8 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
/* 0004C 80A130BC 24180011 */ addiu $t8, $zero, 0x0011 ## $t8 = 00000011
/* 00050 80A130C0 A1E20004 */ sb $v0, 0x0004($t7) ## 00000004
/* 00054 80A130C4 A08201B8 */ sb $v0, 0x01B8($a0) ## 000001B8
/* 00058 80A130C8 A08201B9 */ sb $v0, 0x01B9($a0) ## 000001B9
/* 0005C 80A130CC 03E00008 */ jr $ra
/* 00060 80A130D0 A0980117 */ sb $t8, 0x0117($a0) ## 00000117

View file

@ -1,48 +0,0 @@
glabel func_80A132F4
/* 00284 80A132F4 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 00288 80A132F8 AFB00018 */ sw $s0, 0x0018($sp)
/* 0028C 80A132FC 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00290 80A13300 AFBF001C */ sw $ra, 0x001C($sp)
/* 00294 80A13304 24040046 */ addiu $a0, $zero, 0x0046 ## $a0 = 00000046
/* 00298 80A13308 0C01DF64 */ jal Math_Rand_S16Offset
/* 0029C 80A1330C 24050064 */ addiu $a1, $zero, 0x0064 ## $a1 = 00000064
/* 002A0 80A13310 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 002A4 80A13314 A60201BA */ sh $v0, 0x01BA($s0) ## 000001BA
/* 002A8 80A13318 3C013FC0 */ lui $at, 0x3FC0 ## $at = 3FC00000
/* 002AC 80A1331C 44811000 */ mtc1 $at, $f2 ## $f2 = 1.50
/* 002B0 80A13320 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 002B4 80A13324 26050008 */ addiu $a1, $s0, 0x0008 ## $a1 = 00000008
/* 002B8 80A13328 46020102 */ mul.s $f4, $f0, $f2
/* 002BC 80A1332C 46022180 */ add.s $f6, $f4, $f2
/* 002C0 80A13330 0C00B6B0 */ jal func_8002DAC0
/* 002C4 80A13334 E6060068 */ swc1 $f6, 0x0068($s0) ## 00000068
/* 002C8 80A13338 00022C00 */ sll $a1, $v0, 16
/* 002CC 80A1333C 00052C03 */ sra $a1, $a1, 16
/* 002D0 80A13340 260400B6 */ addiu $a0, $s0, 0x00B6 ## $a0 = 000000B6
/* 002D4 80A13344 0C01DE2B */ jal Math_ApproxUpdateScaledS
/* 002D8 80A13348 24060300 */ addiu $a2, $zero, 0x0300 ## $a2 = 00000300
/* 002DC 80A1334C C6080310 */ lwc1 $f8, 0x0310($s0) ## 00000310
/* 002E0 80A13350 C60A0028 */ lwc1 $f10, 0x0028($s0) ## 00000028
/* 002E4 80A13354 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 002E8 80A13358 44818000 */ mtc1 $at, $f16 ## $f16 = 1.00
/* 002EC 80A1335C 460A403C */ c.lt.s $f8, $f10
/* 002F0 80A13360 3C0F80A1 */ lui $t7, %hi(func_80A13A08) ## $t7 = 80A10000
/* 002F4 80A13364 2402F400 */ addiu $v0, $zero, 0xF400 ## $v0 = FFFFF400
/* 002F8 80A13368 25EF3A08 */ addiu $t7, $t7, %lo(func_80A13A08) ## $t7 = 80A13A08
/* 002FC 80A1336C 45000003 */ bc1f .L80A1337C
/* 00300 80A13370 00000000 */ nop
/* 00304 80A13374 10000001 */ beq $zero, $zero, .L80A1337C
/* 00308 80A13378 24020C00 */ addiu $v0, $zero, 0x0C00 ## $v0 = 00000C00
.L80A1337C:
/* 0030C 80A1337C 244E1554 */ addiu $t6, $v0, 0x1554 ## $t6 = 00002154
/* 00310 80A13380 A60E01BC */ sh $t6, 0x01BC($s0) ## 000001BC
/* 00314 80A13384 E610018C */ swc1 $f16, 0x018C($s0) ## 0000018C
/* 00318 80A13388 AE0F01B4 */ sw $t7, 0x01B4($s0) ## 000001B4
/* 0031C 80A1338C 8FBF001C */ lw $ra, 0x001C($sp)
/* 00320 80A13390 8FB00018 */ lw $s0, 0x0018($sp)
/* 00324 80A13394 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 00328 80A13398 03E00008 */ jr $ra
/* 0032C 80A1339C 00000000 */ nop

View file

@ -1,44 +0,0 @@
glabel func_80A133A0
/* 00330 80A133A0 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
/* 00334 80A133A4 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
/* 00338 80A133A8 AFBF002C */ sw $ra, 0x002C($sp)
/* 0033C 80A133AC AFB00028 */ sw $s0, 0x0028($sp)
/* 00340 80A133B0 240E0028 */ addiu $t6, $zero, 0x0028 ## $t6 = 00000028
/* 00344 80A133B4 3C01C040 */ lui $at, 0xC040 ## $at = C0400000
/* 00348 80A133B8 44812000 */ mtc1 $at, $f4 ## $f4 = -3.00
/* 0034C 80A133BC A48E01BA */ sh $t6, 0x01BA($a0) ## 000001BA
/* 00350 80A133C0 E4800060 */ swc1 $f0, 0x0060($a0) ## 00000060
/* 00354 80A133C4 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00358 80A133C8 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000
/* 0035C 80A133CC 240F0001 */ addiu $t7, $zero, 0x0001 ## $t7 = 00000001
/* 00360 80A133D0 44070000 */ mfc1 $a3, $f0
/* 00364 80A133D4 AFAF0014 */ sw $t7, 0x0014($sp)
/* 00368 80A133D8 24A5017C */ addiu $a1, $a1, 0x017C ## $a1 = 0600017C
/* 0036C 80A133DC 24840170 */ addiu $a0, $a0, 0x0170 ## $a0 = 00000170
/* 00370 80A133E0 3C063F00 */ lui $a2, 0x3F00 ## $a2 = 3F000000
/* 00374 80A133E4 E7A00010 */ swc1 $f0, 0x0010($sp)
/* 00378 80A133E8 0C029468 */ jal SkelAnime_ChangeAnim
/* 0037C 80A133EC E7A40018 */ swc1 $f4, 0x0018($sp)
/* 00380 80A133F0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00384 80A133F4 0C00BE0A */ jal Audio_PlayActorSound2
/* 00388 80A133F8 24053842 */ addiu $a1, $zero, 0x3842 ## $a1 = 00003842
/* 0038C 80A133FC 8E180004 */ lw $t8, 0x0004($s0) ## 00000004
/* 00390 80A13400 24080028 */ addiu $t0, $zero, 0x0028 ## $t0 = 00000028
/* 00394 80A13404 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00398 80A13408 37190010 */ ori $t9, $t8, 0x0010 ## $t9 = 00000010
/* 0039C 80A1340C AE190004 */ sw $t9, 0x0004($s0) ## 00000004
/* 003A0 80A13410 AFA80010 */ sw $t0, 0x0010($sp)
/* 003A4 80A13414 24054000 */ addiu $a1, $zero, 0x4000 ## $a1 = 00004000
/* 003A8 80A13418 240600FF */ addiu $a2, $zero, 0x00FF ## $a2 = 000000FF
/* 003AC 80A1341C 0C00D09B */ jal func_8003426C
/* 003B0 80A13420 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
/* 003B4 80A13424 3C0980A1 */ lui $t1, %hi(func_80A13C98) ## $t1 = 80A10000
/* 003B8 80A13428 25293C98 */ addiu $t1, $t1, %lo(func_80A13C98) ## $t1 = 80A13C98
/* 003BC 80A1342C AE0901B4 */ sw $t1, 0x01B4($s0) ## 000001B4
/* 003C0 80A13430 8FBF002C */ lw $ra, 0x002C($sp)
/* 003C4 80A13434 8FB00028 */ lw $s0, 0x0028($sp)
/* 003C8 80A13438 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
/* 003CC 80A1343C 03E00008 */ jr $ra
/* 003D0 80A13440 00000000 */ nop

View file

@ -1,9 +0,0 @@
glabel func_80A13444
/* 003D4 80A13444 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
/* 003D8 80A13448 3C0F80A1 */ lui $t7, %hi(func_80A13D68) ## $t7 = 80A10000
/* 003DC 80A1344C 240E000F */ addiu $t6, $zero, 0x000F ## $t6 = 0000000F
/* 003E0 80A13450 25EF3D68 */ addiu $t7, $t7, %lo(func_80A13D68) ## $t7 = 80A13D68
/* 003E4 80A13454 A48E01BA */ sh $t6, 0x01BA($a0) ## 000001BA
/* 003E8 80A13458 AC8F01B4 */ sw $t7, 0x01B4($a0) ## 000001B4
/* 003EC 80A1345C 03E00008 */ jr $ra
/* 003F0 80A13460 E4840068 */ swc1 $f4, 0x0068($a0) ## 00000068

View file

@ -1,15 +0,0 @@
glabel func_80A13464
/* 003F4 80A13464 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 003F8 80A13468 44812000 */ mtc1 $at, $f4 ## $f4 = 1.00
/* 003FC 80A1346C 3C014020 */ lui $at, 0x4020 ## $at = 40200000
/* 00400 80A13470 44813000 */ mtc1 $at, $f6 ## $f6 = 2.50
/* 00404 80A13474 3C1880A1 */ lui $t8, %hi(func_80A13FF4) ## $t8 = 80A10000
/* 00408 80A13478 240E7000 */ addiu $t6, $zero, 0x7000 ## $t6 = 00007000
/* 0040C 80A1347C 240F0012 */ addiu $t7, $zero, 0x0012 ## $t7 = 00000012
/* 00410 80A13480 27183FF4 */ addiu $t8, $t8, %lo(func_80A13FF4) ## $t8 = 80A13FF4
/* 00414 80A13484 A48E0030 */ sh $t6, 0x0030($a0) ## 00000030
/* 00418 80A13488 A48F01BA */ sh $t7, 0x01BA($a0) ## 000001BA
/* 0041C 80A1348C AC9801B4 */ sw $t8, 0x01B4($a0) ## 000001B4
/* 00420 80A13490 E484018C */ swc1 $f4, 0x018C($a0) ## 0000018C
/* 00424 80A13494 03E00008 */ jr $ra
/* 00428 80A13498 E4860068 */ swc1 $f6, 0x0068($a0) ## 00000068

View file

@ -1,31 +0,0 @@
glabel func_80A1349C
/* 0042C 80A1349C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00430 80A134A0 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00434 80A134A4 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
/* 00438 80A134A8 AFA60018 */ sw $a2, 0x0018($sp)
/* 0043C 80A134AC 24040046 */ addiu $a0, $zero, 0x0046 ## $a0 = 00000046
/* 00440 80A134B0 0C01DF64 */ jal Math_Rand_S16Offset
/* 00444 80A134B4 24050064 */ addiu $a1, $zero, 0x0064 ## $a1 = 00000064
/* 00448 80A134B8 8FA60018 */ lw $a2, 0x0018($sp)
/* 0044C 80A134BC 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00
/* 00450 80A134C0 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 00454 80A134C4 C4C80094 */ lwc1 $f8, 0x0094($a2) ## 00000094
/* 00458 80A134C8 44812000 */ mtc1 $at, $f4 ## $f4 = 1.00
/* 0045C 80A134CC 3C0F80A1 */ lui $t7, %hi(func_80A13DE4) ## $t7 = 80A10000
/* 00460 80A134D0 4608303C */ c.lt.s $f6, $f8
/* 00464 80A134D4 A4C201BA */ sh $v0, 0x01BA($a2) ## 000001BA
/* 00468 80A134D8 24020C00 */ addiu $v0, $zero, 0x0C00 ## $v0 = 00000C00
/* 0046C 80A134DC 25EF3DE4 */ addiu $t7, $t7, %lo(func_80A13DE4) ## $t7 = 80A13DE4
/* 00470 80A134E0 45000003 */ bc1f .L80A134F0
/* 00474 80A134E4 E4C4018C */ swc1 $f4, 0x018C($a2) ## 0000018C
/* 00478 80A134E8 10000001 */ beq $zero, $zero, .L80A134F0
/* 0047C 80A134EC 2402F400 */ addiu $v0, $zero, 0xF400 ## $v0 = FFFFF400
.L80A134F0:
/* 00480 80A134F0 244E1554 */ addiu $t6, $v0, 0x1554 ## $t6 = 00000954
/* 00484 80A134F4 A4CE01BC */ sh $t6, 0x01BC($a2) ## 000001BC
/* 00488 80A134F8 ACCF01B4 */ sw $t7, 0x01B4($a2) ## 000001B4
/* 0048C 80A134FC 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00490 80A13500 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00494 80A13504 03E00008 */ jr $ra
/* 00498 80A13508 00000000 */ nop

View file

@ -1,12 +0,0 @@
glabel func_80A1350C
/* 0049C 80A1350C 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 004A0 80A13510 44812000 */ mtc1 $at, $f4 ## $f4 = 1.00
/* 004A4 80A13514 3C1880A1 */ lui $t8, %hi(func_80A14088) ## $t8 = 80A10000
/* 004A8 80A13518 240E0096 */ addiu $t6, $zero, 0x0096 ## $t6 = 00000096
/* 004AC 80A1351C 240F0954 */ addiu $t7, $zero, 0x0954 ## $t7 = 00000954
/* 004B0 80A13520 27184088 */ addiu $t8, $t8, %lo(func_80A14088) ## $t8 = 80A14088
/* 004B4 80A13524 A48E01BA */ sh $t6, 0x01BA($a0) ## 000001BA
/* 004B8 80A13528 A48F01BC */ sh $t7, 0x01BC($a0) ## 000001BC
/* 004BC 80A1352C AC9801B4 */ sw $t8, 0x01B4($a0) ## 000001B4
/* 004C0 80A13530 03E00008 */ jr $ra
/* 004C4 80A13534 E484018C */ swc1 $f4, 0x018C($a0) ## 0000018C

View file

@ -1,30 +0,0 @@
glabel func_80A13538
/* 004C8 80A13538 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 004CC 80A1353C AFBF001C */ sw $ra, 0x001C($sp)
/* 004D0 80A13540 240E0050 */ addiu $t6, $zero, 0x0050 ## $t6 = 00000050
/* 004D4 80A13544 A48E01BA */ sh $t6, 0x01BA($a0) ## 000001BA
/* 004D8 80A13548 240F0050 */ addiu $t7, $zero, 0x0050 ## $t7 = 00000050
/* 004DC 80A1354C AFAF0010 */ sw $t7, 0x0010($sp)
/* 004E0 80A13550 AFA40020 */ sw $a0, 0x0020($sp)
/* 004E4 80A13554 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 004E8 80A13558 240600FF */ addiu $a2, $zero, 0x00FF ## $a2 = 000000FF
/* 004EC 80A1355C 0C00D09B */ jal func_8003426C
/* 004F0 80A13560 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
/* 004F4 80A13564 8FA40020 */ lw $a0, 0x0020($sp)
/* 004F8 80A13568 3C014040 */ lui $at, 0x4040 ## $at = 40400000
/* 004FC 80A1356C 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
/* 00500 80A13570 44813000 */ mtc1 $at, $f6 ## $f6 = 3.00
/* 00504 80A13574 2405389E */ addiu $a1, $zero, 0x389E ## $a1 = 0000389E
/* 00508 80A13578 A08001B8 */ sb $zero, 0x01B8($a0) ## 000001B8
/* 0050C 80A1357C E4840060 */ swc1 $f4, 0x0060($a0) ## 00000060
/* 00510 80A13580 0C00BE0A */ jal Audio_PlayActorSound2
/* 00514 80A13584 E486018C */ swc1 $f6, 0x018C($a0) ## 0000018C
/* 00518 80A13588 8FA40020 */ lw $a0, 0x0020($sp)
/* 0051C 80A1358C 3C1880A1 */ lui $t8, %hi(func_80A141F0) ## $t8 = 80A10000
/* 00520 80A13590 271841F0 */ addiu $t8, $t8, %lo(func_80A141F0) ## $t8 = 80A141F0
/* 00524 80A13594 AC9801B4 */ sw $t8, 0x01B4($a0) ## 000001B4
/* 00528 80A13598 8FBF001C */ lw $ra, 0x001C($sp)
/* 0052C 80A1359C 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 00530 80A135A0 03E00008 */ jr $ra
/* 00534 80A135A4 00000000 */ nop

View file

@ -1,120 +0,0 @@
.late_rodata
glabel D_80A15030
.float 0.85
glabel D_80A15034
.float 0.15
.text
glabel func_80A135A8
/* 00538 80A135A8 27BDFF78 */ addiu $sp, $sp, 0xFF78 ## $sp = FFFFFF78
/* 0053C 80A135AC AFBF006C */ sw $ra, 0x006C($sp)
/* 00540 80A135B0 AFB40068 */ sw $s4, 0x0068($sp)
/* 00544 80A135B4 AFB30064 */ sw $s3, 0x0064($sp)
/* 00548 80A135B8 AFB20060 */ sw $s2, 0x0060($sp)
/* 0054C 80A135BC AFB1005C */ sw $s1, 0x005C($sp)
/* 00550 80A135C0 AFB00058 */ sw $s0, 0x0058($sp)
/* 00554 80A135C4 F7BA0050 */ sdc1 $f26, 0x0050($sp)
/* 00558 80A135C8 F7B80048 */ sdc1 $f24, 0x0048($sp)
/* 0055C 80A135CC F7B60040 */ sdc1 $f22, 0x0040($sp)
/* 00560 80A135D0 F7B40038 */ sdc1 $f20, 0x0038($sp)
/* 00564 80A135D4 8C8E0004 */ lw $t6, 0x0004($a0) ## 00000004
/* 00568 80A135D8 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
/* 0056C 80A135DC 00A0A025 */ or $s4, $a1, $zero ## $s4 = 00000000
/* 00570 80A135E0 35CF0010 */ ori $t7, $t6, 0x0010 ## $t7 = 00000010
/* 00574 80A135E4 AC8F0004 */ sw $t7, 0x0004($a0) ## 00000004
/* 00578 80A135E8 A08001B8 */ sb $zero, 0x01B8($a0) ## 000001B8
/* 0057C 80A135EC 241800FF */ addiu $t8, $zero, 0x00FF ## $t8 = 000000FF
/* 00580 80A135F0 E4840068 */ swc1 $f4, 0x0068($a0) ## 00000068
/* 00584 80A135F4 00808825 */ or $s1, $a0, $zero ## $s1 = 00000000
/* 00588 80A135F8 AFB80010 */ sw $t8, 0x0010($sp)
/* 0058C 80A135FC 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 00590 80A13600 240600FF */ addiu $a2, $zero, 0x00FF ## $a2 = 000000FF
/* 00594 80A13604 0C00D09B */ jal func_8003426C
/* 00598 80A13608 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
/* 0059C 80A1360C 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 005A0 80A13610 0C00BE0A */ jal Audio_PlayActorSound2
/* 005A4 80A13614 24053842 */ addiu $a1, $zero, 0x3842 ## $a1 = 00003842
/* 005A8 80A13618 3C0180A1 */ lui $at, %hi(D_80A15030) ## $at = 80A10000
/* 005AC 80A1361C C43A5030 */ lwc1 $f26, %lo(D_80A15030)($at)
/* 005B0 80A13620 3C0180A1 */ lui $at, %hi(D_80A15034) ## $at = 80A10000
/* 005B4 80A13624 C4385034 */ lwc1 $f24, %lo(D_80A15034)($at)
/* 005B8 80A13628 3C01C0E0 */ lui $at, 0xC0E0 ## $at = C0E00000
/* 005BC 80A1362C 4481B000 */ mtc1 $at, $f22 ## $f22 = -7.00
/* 005C0 80A13630 3C0140E0 */ lui $at, 0x40E0 ## $at = 40E00000
/* 005C4 80A13634 4481A000 */ mtc1 $at, $f20 ## $f20 = 7.00
/* 005C8 80A13638 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000
/* 005CC 80A1363C 24130008 */ addiu $s3, $zero, 0x0008 ## $s3 = 00000008
/* 005D0 80A13640 27B20078 */ addiu $s2, $sp, 0x0078 ## $s2 = FFFFFFF0
/* 005D4 80A13644 32190001 */ andi $t9, $s0, 0x0001 ## $t9 = 00000000
.L80A13648:
/* 005D8 80A13648 53200004 */ beql $t9, $zero, .L80A1365C
/* 005DC 80A1364C 4600B006 */ mov.s $f0, $f22
/* 005E0 80A13650 10000002 */ beq $zero, $zero, .L80A1365C
/* 005E4 80A13654 4600A006 */ mov.s $f0, $f20
/* 005E8 80A13658 4600B006 */ mov.s $f0, $f22
.L80A1365C:
/* 005EC 80A1365C C6260024 */ lwc1 $f6, 0x0024($s1) ## 00000024
/* 005F0 80A13660 32080002 */ andi $t0, $s0, 0x0002 ## $t0 = 00000000
/* 005F4 80A13664 46060200 */ add.s $f8, $f0, $f6
/* 005F8 80A13668 11000003 */ beq $t0, $zero, .L80A13678
/* 005FC 80A1366C E7A80078 */ swc1 $f8, 0x0078($sp)
/* 00600 80A13670 10000002 */ beq $zero, $zero, .L80A1367C
/* 00604 80A13674 4600A006 */ mov.s $f0, $f20
.L80A13678:
/* 00608 80A13678 4600B006 */ mov.s $f0, $f22
.L80A1367C:
/* 0060C 80A1367C C62A0028 */ lwc1 $f10, 0x0028($s1) ## 00000028
/* 00610 80A13680 32090004 */ andi $t1, $s0, 0x0004 ## $t1 = 00000000
/* 00614 80A13684 460A0400 */ add.s $f16, $f0, $f10
/* 00618 80A13688 11200003 */ beq $t1, $zero, .L80A13698
/* 0061C 80A1368C E7B0007C */ swc1 $f16, 0x007C($sp)
/* 00620 80A13690 10000002 */ beq $zero, $zero, .L80A1369C
/* 00624 80A13694 4600A006 */ mov.s $f0, $f20
.L80A13698:
/* 00628 80A13698 4600B006 */ mov.s $f0, $f22
.L80A1369C:
/* 0062C 80A1369C C632002C */ lwc1 $f18, 0x002C($s1) ## 0000002C
/* 00630 80A136A0 46120100 */ add.s $f4, $f0, $f18
/* 00634 80A136A4 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 00638 80A136A8 E7A40080 */ swc1 $f4, 0x0080($sp)
/* 0063C 80A136AC 46180182 */ mul.s $f6, $f0, $f24
/* 00640 80A136B0 240A0096 */ addiu $t2, $zero, 0x0096 ## $t2 = 00000096
/* 00644 80A136B4 240B0096 */ addiu $t3, $zero, 0x0096 ## $t3 = 00000096
/* 00648 80A136B8 240C00FA */ addiu $t4, $zero, 0x00FA ## $t4 = 000000FA
/* 0064C 80A136BC 240D00EB */ addiu $t5, $zero, 0x00EB ## $t5 = 000000EB
/* 00650 80A136C0 240E00F5 */ addiu $t6, $zero, 0x00F5 ## $t6 = 000000F5
/* 00654 80A136C4 240F00FF */ addiu $t7, $zero, 0x00FF ## $t7 = 000000FF
/* 00658 80A136C8 461A3200 */ add.s $f8, $f6, $f26
/* 0065C 80A136CC AFAF0024 */ sw $t7, 0x0024($sp)
/* 00660 80A136D0 AFAE0020 */ sw $t6, 0x0020($sp)
/* 00664 80A136D4 AFAD001C */ sw $t5, 0x001C($sp)
/* 00668 80A136D8 E7A80028 */ swc1 $f8, 0x0028($sp)
/* 0066C 80A136DC AFAC0018 */ sw $t4, 0x0018($sp)
/* 00670 80A136E0 AFAB0014 */ sw $t3, 0x0014($sp)
/* 00674 80A136E4 AFAA0010 */ sw $t2, 0x0010($sp)
/* 00678 80A136E8 02802025 */ or $a0, $s4, $zero ## $a0 = 00000000
/* 0067C 80A136EC 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
/* 00680 80A136F0 02403025 */ or $a2, $s2, $zero ## $a2 = FFFFFFF0
/* 00684 80A136F4 0C00A850 */ jal EffectSsEnIce_SpawnFlyingVec3f
/* 00688 80A136F8 24070096 */ addiu $a3, $zero, 0x0096 ## $a3 = 00000096
/* 0068C 80A136FC 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001
/* 00690 80A13700 5613FFD1 */ bnel $s0, $s3, .L80A13648
/* 00694 80A13704 32190001 */ andi $t9, $s0, 0x0001 ## $t9 = 00000001
/* 00698 80A13708 3C1880A1 */ lui $t8, %hi(func_80A14294) ## $t8 = 80A10000
/* 0069C 80A1370C 27184294 */ addiu $t8, $t8, %lo(func_80A14294) ## $t8 = 80A14294
/* 006A0 80A13710 AE3801B4 */ sw $t8, 0x01B4($s1) ## 000001B4
/* 006A4 80A13714 8FBF006C */ lw $ra, 0x006C($sp)
/* 006A8 80A13718 8FB40068 */ lw $s4, 0x0068($sp)
/* 006AC 80A1371C 8FB30064 */ lw $s3, 0x0064($sp)
/* 006B0 80A13720 8FB20060 */ lw $s2, 0x0060($sp)
/* 006B4 80A13724 8FB1005C */ lw $s1, 0x005C($sp)
/* 006B8 80A13728 8FB00058 */ lw $s0, 0x0058($sp)
/* 006BC 80A1372C D7BA0050 */ ldc1 $f26, 0x0050($sp)
/* 006C0 80A13730 D7B80048 */ ldc1 $f24, 0x0048($sp)
/* 006C4 80A13734 D7B60040 */ ldc1 $f22, 0x0040($sp)
/* 006C8 80A13738 D7B40038 */ ldc1 $f20, 0x0038($sp)
/* 006CC 80A1373C 03E00008 */ jr $ra
/* 006D0 80A13740 27BD0088 */ addiu $sp, $sp, 0x0088 ## $sp = 00000000

View file

@ -1,9 +0,0 @@
glabel func_80A13744
/* 006D4 80A13744 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
/* 006D8 80A13748 3C0F80A1 */ lui $t7, %hi(func_80A142F4) ## $t7 = 80A10000
/* 006DC 80A1374C 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001
/* 006E0 80A13750 25EF42F4 */ addiu $t7, $t7, %lo(func_80A142F4) ## $t7 = 80A142F4
/* 006E4 80A13754 A48E01BA */ sh $t6, 0x01BA($a0) ## 000001BA
/* 006E8 80A13758 AC8F01B4 */ sw $t7, 0x01B4($a0) ## 000001B4
/* 006EC 80A1375C 03E00008 */ jr $ra
/* 006F0 80A13760 E4840068 */ swc1 $f4, 0x0068($a0) ## 00000068

View file

@ -1,15 +0,0 @@
glabel func_80A13764
/* 006F4 80A13764 3C014040 */ lui $at, 0x4040 ## $at = 40400000
/* 006F8 80A13768 44810000 */ mtc1 $at, $f0 ## $f0 = 3.00
/* 006FC 80A1376C 848F008A */ lh $t7, 0x008A($a0) ## 0000008A
/* 00700 80A13770 3C1980A1 */ lui $t9, %hi(func_80A143B4) ## $t9 = 80A10000
/* 00704 80A13774 240E1554 */ addiu $t6, $zero, 0x1554 ## $t6 = 00001554
/* 00708 80A13778 24180032 */ addiu $t8, $zero, 0x0032 ## $t8 = 00000032
/* 0070C 80A1377C 273943B4 */ addiu $t9, $t9, %lo(func_80A143B4) ## $t9 = 80A143B4
/* 00710 80A13780 A48E00B4 */ sh $t6, 0x00B4($a0) ## 000000B4
/* 00714 80A13784 A49801BA */ sh $t8, 0x01BA($a0) ## 000001BA
/* 00718 80A13788 AC9901B4 */ sw $t9, 0x01B4($a0) ## 000001B4
/* 0071C 80A1378C E480018C */ swc1 $f0, 0x018C($a0) ## 0000018C
/* 00720 80A13790 A48F00B6 */ sh $t7, 0x00B6($a0) ## 000000B6
/* 00724 80A13794 03E00008 */ jr $ra
/* 00728 80A13798 E4800068 */ swc1 $f0, 0x0068($a0) ## 00000068

View file

@ -1,83 +0,0 @@
.late_rodata
glabel D_80A15038
.float 0.05
.text
glabel func_80A1379C
/* 0072C 80A1379C 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 00730 80A137A0 AFBF001C */ sw $ra, 0x001C($sp)
/* 00734 80A137A4 AFB10018 */ sw $s1, 0x0018($sp)
/* 00738 80A137A8 AFB00014 */ sw $s0, 0x0014($sp)
/* 0073C 80A137AC 848E001C */ lh $t6, 0x001C($a0) ## 0000001C
/* 00740 80A137B0 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
/* 00744 80A137B4 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00748 80A137B8 11C10003 */ beq $t6, $at, .L80A137C8
/* 0074C 80A137BC 8CA61C44 */ lw $a2, 0x1C44($a1) ## 00001C44
/* 00750 80A137C0 10000038 */ beq $zero, $zero, .L80A138A4
/* 00754 80A137C4 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
.L80A137C8:
/* 00758 80A137C8 26110008 */ addiu $s1, $s0, 0x0008 ## $s1 = 00000008
/* 0075C 80A137CC 02202825 */ or $a1, $s1, $zero ## $a1 = 00000008
/* 00760 80A137D0 0C00B6EC */ jal func_8002DBB0
/* 00764 80A137D4 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
/* 00768 80A137D8 3C014396 */ lui $at, 0x4396 ## $at = 43960000
/* 0076C 80A137DC 44812000 */ mtc1 $at, $f4 ## $f4 = 300.00
/* 00770 80A137E0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00774 80A137E4 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
/* 00778 80A137E8 4600203C */ c.lt.s $f4, $f0
/* 0077C 80A137EC 00000000 */ nop
/* 00780 80A137F0 4500002C */ bc1f .L80A138A4
/* 00784 80A137F4 00000000 */ nop
/* 00788 80A137F8 0C00B6DB */ jal func_8002DB6C
/* 0078C 80A137FC 02202825 */ or $a1, $s1, $zero ## $a1 = 00000008
/* 00790 80A13800 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000
/* 00794 80A13804 44813000 */ mtc1 $at, $f6 ## $f6 = 5.00
/* 00798 80A13808 3C0180A1 */ lui $at, %hi(D_80A15038) ## $at = 80A10000
/* 0079C 80A1380C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 007A0 80A13810 4606003C */ c.lt.s $f0, $f6
/* 007A4 80A13814 00000000 */ nop
/* 007A8 80A13818 45000005 */ bc1f .L80A13830
/* 007AC 80A1381C 00000000 */ nop
/* 007B0 80A13820 0C284DD1 */ jal func_80A13744
/* 007B4 80A13824 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 007B8 80A13828 1000001E */ beq $zero, $zero, .L80A138A4
/* 007BC 80A1382C 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
.L80A13830:
/* 007C0 80A13830 C4285038 */ lwc1 $f8, %lo(D_80A15038)($at)
/* 007C4 80A13834 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 007C8 80A13838 44815000 */ mtc1 $at, $f10 ## $f10 = 1.00
/* 007CC 80A1383C 46080082 */ mul.s $f2, $f0, $f8
/* 007D0 80A13840 460A103C */ c.lt.s $f2, $f10
/* 007D4 80A13844 00000000 */ nop
/* 007D8 80A13848 45000004 */ bc1f .L80A1385C
/* 007DC 80A1384C 00000000 */ nop
/* 007E0 80A13850 C6100068 */ lwc1 $f16, 0x0068($s0) ## 00000068
/* 007E4 80A13854 46028482 */ mul.s $f18, $f16, $f2
/* 007E8 80A13858 E6120068 */ swc1 $f18, 0x0068($s0) ## 00000068
.L80A1385C:
/* 007EC 80A1385C 0C00B6B0 */ jal func_8002DAC0
/* 007F0 80A13860 02202825 */ or $a1, $s1, $zero ## $a1 = 00000008
/* 007F4 80A13864 00022C00 */ sll $a1, $v0, 16
/* 007F8 80A13868 00052C03 */ sra $a1, $a1, 16
/* 007FC 80A1386C 260400B6 */ addiu $a0, $s0, 0x00B6 ## $a0 = 000000B6
/* 00800 80A13870 0C01DE2B */ jal Math_ApproxUpdateScaledS
/* 00804 80A13874 24060300 */ addiu $a2, $zero, 0x0300 ## $a2 = 00000300
/* 00808 80A13878 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 0080C 80A1387C 0C00B6CA */ jal func_8002DB28
/* 00810 80A13880 02202825 */ or $a1, $s1, $zero ## $a1 = 00000008
/* 00814 80A13884 24451554 */ addiu $a1, $v0, 0x1554 ## $a1 = 00001554
/* 00818 80A13888 00052C00 */ sll $a1, $a1, 16
/* 0081C 80A1388C 00052C03 */ sra $a1, $a1, 16
/* 00820 80A13890 260400B4 */ addiu $a0, $s0, 0x00B4 ## $a0 = 000000B4
/* 00824 80A13894 0C01DE2B */ jal Math_ApproxUpdateScaledS
/* 00828 80A13898 24060100 */ addiu $a2, $zero, 0x0100 ## $a2 = 00000100
/* 0082C 80A1389C 10000001 */ beq $zero, $zero, .L80A138A4
/* 00830 80A138A0 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
.L80A138A4:
/* 00834 80A138A4 8FBF001C */ lw $ra, 0x001C($sp)
/* 00838 80A138A8 8FB00014 */ lw $s0, 0x0014($sp)
/* 0083C 80A138AC 8FB10018 */ lw $s1, 0x0018($sp)
/* 00840 80A138B0 03E00008 */ jr $ra
/* 00844 80A138B4 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000

View file

@ -1,97 +0,0 @@
.late_rodata
glabel D_80A1503C
.word 0x4708B800
.text
glabel func_80A138B8
/* 00848 80A138B8 27BDFFB0 */ addiu $sp, $sp, 0xFFB0 ## $sp = FFFFFFB0
/* 0084C 80A138BC AFBF002C */ sw $ra, 0x002C($sp)
/* 00850 80A138C0 AFB30028 */ sw $s3, 0x0028($sp)
/* 00854 80A138C4 AFB20024 */ sw $s2, 0x0024($sp)
/* 00858 80A138C8 AFB10020 */ sw $s1, 0x0020($sp)
/* 0085C 80A138CC AFB0001C */ sw $s0, 0x001C($sp)
/* 00860 80A138D0 F7B40010 */ sdc1 $f20, 0x0010($sp)
/* 00864 80A138D4 8CB01C64 */ lw $s0, 0x1C64($a1) ## 00001C64
/* 00868 80A138D8 3C0180A1 */ lui $at, %hi(D_80A1503C) ## $at = 80A10000
/* 0086C 80A138DC 00809825 */ or $s3, $a0, $zero ## $s3 = 00000000
/* 00870 80A138E0 00008825 */ or $s1, $zero, $zero ## $s1 = 00000000
/* 00874 80A138E4 12000014 */ beq $s0, $zero, .L80A13938
/* 00878 80A138E8 C434503C */ lwc1 $f20, %lo(D_80A1503C)($at)
/* 0087C 80A138EC 2412005E */ addiu $s2, $zero, 0x005E ## $s2 = 0000005E
/* 00880 80A138F0 860E0000 */ lh $t6, 0x0000($s0) ## 00000000
.L80A138F4:
/* 00884 80A138F4 564E000E */ bnel $s2, $t6, .L80A13930
/* 00888 80A138F8 8E100124 */ lw $s0, 0x0124($s0) ## 00000124
/* 0088C 80A138FC 860F01E4 */ lh $t7, 0x01E4($s0) ## 000001E4
/* 00890 80A13900 02602025 */ or $a0, $s3, $zero ## $a0 = 00000000
/* 00894 80A13904 51E0000A */ beql $t7, $zero, .L80A13930
/* 00898 80A13908 8E100124 */ lw $s0, 0x0124($s0) ## 00000124
/* 0089C 80A1390C 0C00B6D2 */ jal func_8002DB48
/* 008A0 80A13910 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 008A4 80A13914 4614003C */ c.lt.s $f0, $f20
/* 008A8 80A13918 00000000 */ nop
/* 008AC 80A1391C 45020004 */ bc1fl .L80A13930
/* 008B0 80A13920 8E100124 */ lw $s0, 0x0124($s0) ## 00000124
/* 008B4 80A13924 46000506 */ mov.s $f20, $f0
/* 008B8 80A13928 02008825 */ or $s1, $s0, $zero ## $s1 = 00000000
/* 008BC 80A1392C 8E100124 */ lw $s0, 0x0124($s0) ## 00000124
.L80A13930:
/* 008C0 80A13930 5600FFF0 */ bnel $s0, $zero, .L80A138F4
/* 008C4 80A13934 860E0000 */ lh $t6, 0x0000($s0) ## 00000000
.L80A13938:
/* 008C8 80A13938 1220002B */ beq $s1, $zero, .L80A139E8
/* 008CC 80A1393C 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
/* 008D0 80A13940 C6240024 */ lwc1 $f4, 0x0024($s1) ## 00000024
/* 008D4 80A13944 3C014170 */ lui $at, 0x4170 ## $at = 41700000
/* 008D8 80A13948 4481A000 */ mtc1 $at, $f20 ## $f20 = 15.00
/* 008DC 80A1394C 3C014250 */ lui $at, 0x4250 ## $at = 42500000
/* 008E0 80A13950 E7A40034 */ swc1 $f4, 0x0034($sp)
/* 008E4 80A13954 C6260028 */ lwc1 $f6, 0x0028($s1) ## 00000028
/* 008E8 80A13958 44814000 */ mtc1 $at, $f8 ## $f8 = 52.00
/* 008EC 80A1395C 27B00034 */ addiu $s0, $sp, 0x0034 ## $s0 = FFFFFFE4
/* 008F0 80A13960 02002825 */ or $a1, $s0, $zero ## $a1 = FFFFFFE4
/* 008F4 80A13964 46083280 */ add.s $f10, $f6, $f8
/* 008F8 80A13968 02602025 */ or $a0, $s3, $zero ## $a0 = 00000000
/* 008FC 80A1396C 46145400 */ add.s $f16, $f10, $f20
/* 00900 80A13970 E7B00038 */ swc1 $f16, 0x0038($sp)
/* 00904 80A13974 C632002C */ lwc1 $f18, 0x002C($s1) ## 0000002C
/* 00908 80A13978 0C00B6DB */ jal func_8002DB6C
/* 0090C 80A1397C E7B2003C */ swc1 $f18, 0x003C($sp)
/* 00910 80A13980 4614003C */ c.lt.s $f0, $f20
/* 00914 80A13984 02602025 */ or $a0, $s3, $zero ## $a0 = 00000000
/* 00918 80A13988 45000005 */ bc1f .L80A139A0
/* 0091C 80A1398C 00000000 */ nop
/* 00920 80A13990 0C284C26 */ jal func_80A13098
/* 00924 80A13994 02602025 */ or $a0, $s3, $zero ## $a0 = 00000000
/* 00928 80A13998 10000013 */ beq $zero, $zero, .L80A139E8
/* 0092C 80A1399C 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
.L80A139A0:
/* 00930 80A139A0 0C00B69E */ jal func_8002DA78
/* 00934 80A139A4 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
/* 00938 80A139A8 00022C00 */ sll $a1, $v0, 16
/* 0093C 80A139AC 00052C03 */ sra $a1, $a1, 16
/* 00940 80A139B0 266400B6 */ addiu $a0, $s3, 0x00B6 ## $a0 = 000000B6
/* 00944 80A139B4 0C01DE2B */ jal Math_ApproxUpdateScaledS
/* 00948 80A139B8 24060300 */ addiu $a2, $zero, 0x0300 ## $a2 = 00000300
/* 0094C 80A139BC 02602025 */ or $a0, $s3, $zero ## $a0 = 00000000
/* 00950 80A139C0 0C00B6CA */ jal func_8002DB28
/* 00954 80A139C4 02002825 */ or $a1, $s0, $zero ## $a1 = FFFFFFE4
/* 00958 80A139C8 24451554 */ addiu $a1, $v0, 0x1554 ## $a1 = 00001554
/* 0095C 80A139CC 00052C00 */ sll $a1, $a1, 16
/* 00960 80A139D0 00052C03 */ sra $a1, $a1, 16
/* 00964 80A139D4 266400B4 */ addiu $a0, $s3, 0x00B4 ## $a0 = 000000B4
/* 00968 80A139D8 0C01DE2B */ jal Math_ApproxUpdateScaledS
/* 0096C 80A139DC 24060100 */ addiu $a2, $zero, 0x0100 ## $a2 = 00000100
/* 00970 80A139E0 10000001 */ beq $zero, $zero, .L80A139E8
/* 00974 80A139E4 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
.L80A139E8:
/* 00978 80A139E8 8FBF002C */ lw $ra, 0x002C($sp)
/* 0097C 80A139EC D7B40010 */ ldc1 $f20, 0x0010($sp)
/* 00980 80A139F0 8FB0001C */ lw $s0, 0x001C($sp)
/* 00984 80A139F4 8FB10020 */ lw $s1, 0x0020($sp)
/* 00988 80A139F8 8FB20024 */ lw $s2, 0x0024($sp)
/* 0098C 80A139FC 8FB30028 */ lw $s3, 0x0028($sp)
/* 00990 80A13A00 03E00008 */ jr $ra
/* 00994 80A13A04 27BD0050 */ addiu $sp, $sp, 0x0050 ## $sp = 00000000

View file

@ -1,198 +0,0 @@
.late_rodata
glabel D_80A15040
.float 0.8
glabel D_80A15044
.word 0x3EB33333
.text
glabel func_80A13A08
/* 00998 80A13A08 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0
/* 0099C 80A13A0C AFB00020 */ sw $s0, 0x0020($sp)
/* 009A0 80A13A10 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 009A4 80A13A14 AFBF0024 */ sw $ra, 0x0024($sp)
/* 009A8 80A13A18 24840170 */ addiu $a0, $a0, 0x0170 ## $a0 = 00000170
/* 009AC 80A13A1C AFA50044 */ sw $a1, 0x0044($sp)
/* 009B0 80A13A20 0C02927F */ jal SkelAnime_FrameUpdateMatrix
/* 009B4 80A13A24 AFA4002C */ sw $a0, 0x002C($sp)
/* 009B8 80A13A28 860301BA */ lh $v1, 0x01BA($s0) ## 000001BA
/* 009BC 80A13A2C 8FA4002C */ lw $a0, 0x002C($sp)
/* 009C0 80A13A30 10600002 */ beq $v1, $zero, .L80A13A3C
/* 009C4 80A13A34 246EFFFF */ addiu $t6, $v1, 0xFFFF ## $t6 = FFFFFFFF
/* 009C8 80A13A38 A60E01BA */ sh $t6, 0x01BA($s0) ## 000001BA
.L80A13A3C:
/* 009CC 80A13A3C 0C0295B2 */ jal func_800A56C8
/* 009D0 80A13A40 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
/* 009D4 80A13A44 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 009D8 80A13A48 AFA2003C */ sw $v0, 0x003C($sp)
/* 009DC 80A13A4C 3C013FC0 */ lui $at, 0x3FC0 ## $at = 3FC00000
/* 009E0 80A13A50 44811000 */ mtc1 $at, $f2 ## $f2 = 1.50
/* 009E4 80A13A54 920F01B9 */ lbu $t7, 0x01B9($s0) ## 000001B9
/* 009E8 80A13A58 46020102 */ mul.s $f4, $f0, $f2
/* 009EC 80A13A5C 46022180 */ add.s $f6, $f4, $f2
/* 009F0 80A13A60 15E0000E */ bne $t7, $zero, .L80A13A9C
/* 009F4 80A13A64 E6060068 */ swc1 $f6, 0x0068($s0) ## 00000068
/* 009F8 80A13A68 8618001C */ lh $t8, 0x001C($s0) ## 0000001C
/* 009FC 80A13A6C 24010004 */ addiu $at, $zero, 0x0004 ## $at = 00000004
/* 00A00 80A13A70 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00A04 80A13A74 5301000A */ beql $t8, $at, .L80A13AA0
/* 00A08 80A13A78 8FB9003C */ lw $t9, 0x003C($sp)
/* 00A0C 80A13A7C 0C284DE7 */ jal func_80A1379C
/* 00A10 80A13A80 8FA50044 */ lw $a1, 0x0044($sp)
/* 00A14 80A13A84 14400063 */ bne $v0, $zero, .L80A13C14
/* 00A18 80A13A88 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00A1C 80A13A8C 0C284E2E */ jal func_80A138B8
/* 00A20 80A13A90 8FA50044 */ lw $a1, 0x0044($sp)
/* 00A24 80A13A94 54400060 */ bnel $v0, $zero, .L80A13C18
/* 00A28 80A13A98 96090088 */ lhu $t1, 0x0088($s0) ## 00000088
.L80A13A9C:
/* 00A2C 80A13A9C 8FB9003C */ lw $t9, 0x003C($sp)
.L80A13AA0:
/* 00A30 80A13AA0 53200049 */ beql $t9, $zero, .L80A13BC8
/* 00A34 80A13AA4 96020088 */ lhu $v0, 0x0088($s0) ## 00000088
/* 00A38 80A13AA8 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 00A3C 80A13AAC 00000000 */ nop
/* 00A40 80A13AB0 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000
/* 00A44 80A13AB4 44814000 */ mtc1 $at, $f8 ## $f8 = 0.50
/* 00A48 80A13AB8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00A4C 80A13ABC 3C0180A1 */ lui $at, %hi(D_80A15040) ## $at = 80A10000
/* 00A50 80A13AC0 4608003C */ c.lt.s $f0, $f8
/* 00A54 80A13AC4 00000000 */ nop
/* 00A58 80A13AC8 4500000A */ bc1f .L80A13AF4
/* 00A5C 80A13ACC 00000000 */ nop
/* 00A60 80A13AD0 0C00B6B0 */ jal func_8002DAC0
/* 00A64 80A13AD4 26050008 */ addiu $a1, $s0, 0x0008 ## $a1 = 00000008
/* 00A68 80A13AD8 00022C00 */ sll $a1, $v0, 16
/* 00A6C 80A13ADC 00052C03 */ sra $a1, $a1, 16
/* 00A70 80A13AE0 260400B6 */ addiu $a0, $s0, 0x00B6 ## $a0 = 000000B6
/* 00A74 80A13AE4 0C01DE2B */ jal Math_ApproxUpdateScaledS
/* 00A78 80A13AE8 24060300 */ addiu $a2, $zero, 0x0300 ## $a2 = 00000300
/* 00A7C 80A13AEC 10000014 */ beq $zero, $zero, .L80A13B40
/* 00A80 80A13AF0 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000
.L80A13AF4:
/* 00A84 80A13AF4 C42A5040 */ lwc1 $f10, %lo(D_80A15040)($at)
/* 00A88 80A13AF8 3C0144C0 */ lui $at, 0x44C0 ## $at = 44C00000
/* 00A8C 80A13AFC 460A003C */ c.lt.s $f0, $f10
/* 00A90 80A13B00 00000000 */ nop
/* 00A94 80A13B04 4502000E */ bc1fl .L80A13B40
/* 00A98 80A13B08 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000
/* 00A9C 80A13B0C 44816000 */ mtc1 $at, $f12 ## $f12 = 20.00
/* 00AA0 80A13B10 0C00CFC8 */ jal Math_Rand_CenteredFloat
/* 00AA4 80A13B14 00000000 */ nop
/* 00AA8 80A13B18 860800B6 */ lh $t0, 0x00B6($s0) ## 000000B6
/* 00AAC 80A13B1C 44888000 */ mtc1 $t0, $f16 ## $f16 = 0.00
/* 00AB0 80A13B20 00000000 */ nop
/* 00AB4 80A13B24 468084A0 */ cvt.s.w $f18, $f16
/* 00AB8 80A13B28 46009100 */ add.s $f4, $f18, $f0
/* 00ABC 80A13B2C 4600218D */ trunc.w.s $f6, $f4
/* 00AC0 80A13B30 440A3000 */ mfc1 $t2, $f6
/* 00AC4 80A13B34 00000000 */ nop
/* 00AC8 80A13B38 A60A00B6 */ sh $t2, 0x00B6($s0) ## 000000B6
/* 00ACC 80A13B3C 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000
.L80A13B40:
/* 00AD0 80A13B40 44815000 */ mtc1 $at, $f10 ## $f10 = 20.00
/* 00AD4 80A13B44 C6080080 */ lwc1 $f8, 0x0080($s0) ## 00000080
/* 00AD8 80A13B48 C6000028 */ lwc1 $f0, 0x0028($s0) ## 00000028
/* 00ADC 80A13B4C 240B0954 */ addiu $t3, $zero, 0x0954 ## $t3 = 00000954
/* 00AE0 80A13B50 460A4400 */ add.s $f16, $f8, $f10
/* 00AE4 80A13B54 4610003C */ c.lt.s $f0, $f16
/* 00AE8 80A13B58 00000000 */ nop
/* 00AEC 80A13B5C 45020004 */ bc1fl .L80A13B70
/* 00AF0 80A13B60 C6120310 */ lwc1 $f18, 0x0310($s0) ## 00000310
/* 00AF4 80A13B64 10000027 */ beq $zero, $zero, .L80A13C04
/* 00AF8 80A13B68 A60B01BC */ sh $t3, 0x01BC($s0) ## 000001BC
/* 00AFC 80A13B6C C6120310 */ lwc1 $f18, 0x0310($s0) ## 00000310
.L80A13B70:
/* 00B00 80A13B70 240C2154 */ addiu $t4, $zero, 0x2154 ## $t4 = 00002154
/* 00B04 80A13B74 4600903C */ c.lt.s $f18, $f0
/* 00B08 80A13B78 00000000 */ nop
/* 00B0C 80A13B7C 45000003 */ bc1f .L80A13B8C
/* 00B10 80A13B80 00000000 */ nop
/* 00B14 80A13B84 1000001F */ beq $zero, $zero, .L80A13C04
/* 00B18 80A13B88 A60C01BC */ sh $t4, 0x01BC($s0) ## 000001BC
.L80A13B8C:
/* 00B1C 80A13B8C 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 00B20 80A13B90 00000000 */ nop
/* 00B24 80A13B94 3C0180A1 */ lui $at, %hi(D_80A15044) ## $at = 80A10000
/* 00B28 80A13B98 C4245044 */ lwc1 $f4, %lo(D_80A15044)($at)
/* 00B2C 80A13B9C 240D0954 */ addiu $t5, $zero, 0x0954 ## $t5 = 00000954
/* 00B30 80A13BA0 240E2154 */ addiu $t6, $zero, 0x2154 ## $t6 = 00002154
/* 00B34 80A13BA4 4600203C */ c.lt.s $f4, $f0
/* 00B38 80A13BA8 00000000 */ nop
/* 00B3C 80A13BAC 45000003 */ bc1f .L80A13BBC
/* 00B40 80A13BB0 00000000 */ nop
/* 00B44 80A13BB4 10000013 */ beq $zero, $zero, .L80A13C04
/* 00B48 80A13BB8 A60D01BC */ sh $t5, 0x01BC($s0) ## 000001BC
.L80A13BBC:
/* 00B4C 80A13BBC 10000011 */ beq $zero, $zero, .L80A13C04
/* 00B50 80A13BC0 A60E01BC */ sh $t6, 0x01BC($s0) ## 000001BC
/* 00B54 80A13BC4 96020088 */ lhu $v0, 0x0088($s0) ## 00000088
.L80A13BC8:
/* 00B58 80A13BC8 24180954 */ addiu $t8, $zero, 0x0954 ## $t8 = 00000954
/* 00B5C 80A13BCC 304F0001 */ andi $t7, $v0, 0x0001 ## $t7 = 00000000
/* 00B60 80A13BD0 11E00003 */ beq $t7, $zero, .L80A13BE0
/* 00B64 80A13BD4 30590010 */ andi $t9, $v0, 0x0010 ## $t9 = 00000000
/* 00B68 80A13BD8 1000000A */ beq $zero, $zero, .L80A13C04
/* 00B6C 80A13BDC A61801BC */ sh $t8, 0x01BC($s0) ## 000001BC
.L80A13BE0:
/* 00B70 80A13BE0 17200007 */ bne $t9, $zero, .L80A13C00
/* 00B74 80A13BE4 24082154 */ addiu $t0, $zero, 0x2154 ## $t0 = 00002154
/* 00B78 80A13BE8 C6060310 */ lwc1 $f6, 0x0310($s0) ## 00000310
/* 00B7C 80A13BEC C6080028 */ lwc1 $f8, 0x0028($s0) ## 00000028
/* 00B80 80A13BF0 4608303C */ c.lt.s $f6, $f8
/* 00B84 80A13BF4 00000000 */ nop
/* 00B88 80A13BF8 45020003 */ bc1fl .L80A13C08
/* 00B8C 80A13BFC 260400B4 */ addiu $a0, $s0, 0x00B4 ## $a0 = 000000B4
.L80A13C00:
/* 00B90 80A13C00 A60801BC */ sh $t0, 0x01BC($s0) ## 000001BC
.L80A13C04:
/* 00B94 80A13C04 260400B4 */ addiu $a0, $s0, 0x00B4 ## $a0 = 000000B4
.L80A13C08:
/* 00B98 80A13C08 860501BC */ lh $a1, 0x01BC($s0) ## 000001BC
/* 00B9C 80A13C0C 0C01DE2B */ jal Math_ApproxUpdateScaledS
/* 00BA0 80A13C10 24060100 */ addiu $a2, $zero, 0x0100 ## $a2 = 00000100
.L80A13C14:
/* 00BA4 80A13C14 96090088 */ lhu $t1, 0x0088($s0) ## 00000088
.L80A13C18:
/* 00BA8 80A13C18 260400B6 */ addiu $a0, $s0, 0x00B6 ## $a0 = 000000B6
/* 00BAC 80A13C1C 24060002 */ addiu $a2, $zero, 0x0002 ## $a2 = 00000002
/* 00BB0 80A13C20 312A0008 */ andi $t2, $t1, 0x0008 ## $t2 = 00000000
/* 00BB4 80A13C24 11400005 */ beq $t2, $zero, .L80A13C3C
/* 00BB8 80A13C28 24070C00 */ addiu $a3, $zero, 0x0C00 ## $a3 = 00000C00
/* 00BBC 80A13C2C 8605007E */ lh $a1, 0x007E($s0) ## 0000007E
/* 00BC0 80A13C30 240B0300 */ addiu $t3, $zero, 0x0300 ## $t3 = 00000300
/* 00BC4 80A13C34 0C01E1A7 */ jal Math_SmoothScaleMaxMinS
/* 00BC8 80A13C38 AFAB0010 */ sw $t3, 0x0010($sp)
.L80A13C3C:
/* 00BCC 80A13C3C 860C01BA */ lh $t4, 0x01BA($s0) ## 000001BA
/* 00BD0 80A13C40 3C014348 */ lui $at, 0x4348 ## $at = 43480000
/* 00BD4 80A13C44 55800010 */ bnel $t4, $zero, .L80A13C88
/* 00BD8 80A13C48 8FBF0024 */ lw $ra, 0x0024($sp)
/* 00BDC 80A13C4C C60A0090 */ lwc1 $f10, 0x0090($s0) ## 00000090
/* 00BE0 80A13C50 44818000 */ mtc1 $at, $f16 ## $f16 = 200.00
/* 00BE4 80A13C54 00000000 */ nop
/* 00BE8 80A13C58 4610503C */ c.lt.s $f10, $f16
/* 00BEC 80A13C5C 00000000 */ nop
/* 00BF0 80A13C60 45020009 */ bc1fl .L80A13C88
/* 00BF4 80A13C64 8FBF0024 */ lw $ra, 0x0024($sp)
/* 00BF8 80A13C68 0C023C20 */ jal Player_GetMask
/* 00BFC 80A13C6C 8FA40044 */ lw $a0, 0x0044($sp)
/* 00C00 80A13C70 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
/* 00C04 80A13C74 50410004 */ beql $v0, $at, .L80A13C88
/* 00C08 80A13C78 8FBF0024 */ lw $ra, 0x0024($sp)
/* 00C0C 80A13C7C 0C284D27 */ jal func_80A1349C
/* 00C10 80A13C80 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00C14 80A13C84 8FBF0024 */ lw $ra, 0x0024($sp)
.L80A13C88:
/* 00C18 80A13C88 8FB00020 */ lw $s0, 0x0020($sp)
/* 00C1C 80A13C8C 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000
/* 00C20 80A13C90 03E00008 */ jr $ra
/* 00C24 80A13C94 00000000 */ nop

View file

@ -1,62 +0,0 @@
glabel func_80A13C98
/* 00C28 80A13C98 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
/* 00C2C 80A13C9C AFB00018 */ sw $s0, 0x0018($sp)
/* 00C30 80A13CA0 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00C34 80A13CA4 AFBF001C */ sw $ra, 0x001C($sp)
/* 00C38 80A13CA8 AFA5002C */ sw $a1, 0x002C($sp)
/* 00C3C 80A13CAC 24840170 */ addiu $a0, $a0, 0x0170 ## $a0 = 00000170
/* 00C40 80A13CB0 AFA40024 */ sw $a0, 0x0024($sp)
/* 00C44 80A13CB4 0C0295B2 */ jal func_800A56C8
/* 00C48 80A13CB8 3C0540C0 */ lui $a1, 0x40C0 ## $a1 = 40C00000
/* 00C4C 80A13CBC 10400004 */ beq $v0, $zero, .L80A13CD0
/* 00C50 80A13CC0 8FA40024 */ lw $a0, 0x0024($sp)
/* 00C54 80A13CC4 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
/* 00C58 80A13CC8 00000000 */ nop
/* 00C5C 80A13CCC E604018C */ swc1 $f4, 0x018C($s0) ## 0000018C
.L80A13CD0:
/* 00C60 80A13CD0 240E0028 */ addiu $t6, $zero, 0x0028 ## $t6 = 00000028
/* 00C64 80A13CD4 0C02927F */ jal SkelAnime_FrameUpdateMatrix
/* 00C68 80A13CD8 A20E0114 */ sb $t6, 0x0114($s0) ## 00000114
/* 00C6C 80A13CDC 26040068 */ addiu $a0, $s0, 0x0068 ## $a0 = 00000068
/* 00C70 80A13CE0 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
/* 00C74 80A13CE4 0C01DE80 */ jal Math_ApproxF
/* 00C78 80A13CE8 3C063F00 */ lui $a2, 0x3F00 ## $a2 = 3F000000
/* 00C7C 80A13CEC 8E0F0004 */ lw $t7, 0x0004($s0) ## 00000004
/* 00C80 80A13CF0 24190028 */ addiu $t9, $zero, 0x0028 ## $t9 = 00000028
/* 00C84 80A13CF4 260400B4 */ addiu $a0, $s0, 0x00B4 ## $a0 = 000000B4
/* 00C88 80A13CF8 31F88000 */ andi $t8, $t7, 0x8000 ## $t8 = 00000000
/* 00C8C 80A13CFC 13000003 */ beq $t8, $zero, .L80A13D0C
/* 00C90 80A13D00 24056800 */ addiu $a1, $zero, 0x6800 ## $a1 = 00006800
/* 00C94 80A13D04 10000013 */ beq $zero, $zero, .L80A13D54
/* 00C98 80A13D08 A2190114 */ sb $t9, 0x0114($s0) ## 00000114
.L80A13D0C:
/* 00C9C 80A13D0C 0C01DE2B */ jal Math_ApproxUpdateScaledS
/* 00CA0 80A13D10 24060200 */ addiu $a2, $zero, 0x0200 ## $a2 = 00000200
/* 00CA4 80A13D14 860800B6 */ lh $t0, 0x00B6($s0) ## 000000B6
/* 00CA8 80A13D18 860301BA */ lh $v1, 0x01BA($s0) ## 000001BA
/* 00CAC 80A13D1C 2509FD00 */ addiu $t1, $t0, 0xFD00 ## $t1 = FFFFFD00
/* 00CB0 80A13D20 10600003 */ beq $v1, $zero, .L80A13D30
/* 00CB4 80A13D24 A60900B6 */ sh $t1, 0x00B6($s0) ## 000000B6
/* 00CB8 80A13D28 246AFFFF */ addiu $t2, $v1, 0xFFFF ## $t2 = FFFFFFFF
/* 00CBC 80A13D2C A60A01BA */ sh $t2, 0x01BA($s0) ## 000001BA
.L80A13D30:
/* 00CC0 80A13D30 960B0088 */ lhu $t3, 0x0088($s0) ## 00000088
/* 00CC4 80A13D34 316C0001 */ andi $t4, $t3, 0x0001 ## $t4 = 00000000
/* 00CC8 80A13D38 15800004 */ bne $t4, $zero, .L80A13D4C
/* 00CCC 80A13D3C 00000000 */ nop
/* 00CD0 80A13D40 860D01BA */ lh $t5, 0x01BA($s0) ## 000001BA
/* 00CD4 80A13D44 55A00004 */ bnel $t5, $zero, .L80A13D58
/* 00CD8 80A13D48 8FBF001C */ lw $ra, 0x001C($sp)
.L80A13D4C:
/* 00CDC 80A13D4C 0C284D11 */ jal func_80A13444
/* 00CE0 80A13D50 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
.L80A13D54:
/* 00CE4 80A13D54 8FBF001C */ lw $ra, 0x001C($sp)
.L80A13D58:
/* 00CE8 80A13D58 8FB00018 */ lw $s0, 0x0018($sp)
/* 00CEC 80A13D5C 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
/* 00CF0 80A13D60 03E00008 */ jr $ra
/* 00CF4 80A13D64 00000000 */ nop

View file

@ -1,37 +0,0 @@
glabel func_80A13D68
/* 00CF8 80A13D68 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 00CFC 80A13D6C AFBF001C */ sw $ra, 0x001C($sp)
/* 00D00 80A13D70 AFB00018 */ sw $s0, 0x0018($sp)
/* 00D04 80A13D74 AFA50024 */ sw $a1, 0x0024($sp)
/* 00D08 80A13D78 848201BA */ lh $v0, 0x01BA($a0) ## 000001BA
/* 00D0C 80A13D7C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00D10 80A13D80 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
/* 00D14 80A13D84 10400003 */ beq $v0, $zero, .L80A13D94
/* 00D18 80A13D88 3C0639B2 */ lui $a2, 0x39B2 ## $a2 = 39B20000
/* 00D1C 80A13D8C 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF
/* 00D20 80A13D90 A48E01BA */ sh $t6, 0x01BA($a0) ## 000001BA
.L80A13D94:
/* 00D24 80A13D94 26040050 */ addiu $a0, $s0, 0x0050 ## $a0 = 00000050
/* 00D28 80A13D98 0C01DE80 */ jal Math_ApproxF
/* 00D2C 80A13D9C 34C64207 */ ori $a2, $a2, 0x4207 ## $a2 = 39B24207
/* 00D30 80A13DA0 C6000050 */ lwc1 $f0, 0x0050($s0) ## 00000050
/* 00D34 80A13DA4 860F01BA */ lh $t7, 0x01BA($s0) ## 000001BA
/* 00D38 80A13DA8 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 00D3C 80A13DAC E6000058 */ swc1 $f0, 0x0058($s0) ## 00000058
/* 00D40 80A13DB0 15E00007 */ bne $t7, $zero, .L80A13DD0
/* 00D44 80A13DB4 E6000054 */ swc1 $f0, 0x0054($s0) ## 00000054
/* 00D48 80A13DB8 8FA40024 */ lw $a0, 0x0024($sp)
/* 00D4C 80A13DBC 26060024 */ addiu $a2, $s0, 0x0024 ## $a2 = 00000024
/* 00D50 80A13DC0 0C007E50 */ jal Item_DropCollectibleRandom
/* 00D54 80A13DC4 240700E0 */ addiu $a3, $zero, 0x00E0 ## $a3 = 000000E0
/* 00D58 80A13DC8 0C00B55C */ jal Actor_Kill
/* 00D5C 80A13DCC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
.L80A13DD0:
/* 00D60 80A13DD0 8FBF001C */ lw $ra, 0x001C($sp)
/* 00D64 80A13DD4 8FB00018 */ lw $s0, 0x0018($sp)
/* 00D68 80A13DD8 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 00D6C 80A13DDC 03E00008 */ jr $ra
/* 00D70 80A13DE0 00000000 */ nop

View file

@ -1,152 +0,0 @@
glabel func_80A13DE4
/* 00D74 80A13DE4 27BDFFB8 */ addiu $sp, $sp, 0xFFB8 ## $sp = FFFFFFB8
/* 00D78 80A13DE8 AFB00020 */ sw $s0, 0x0020($sp)
/* 00D7C 80A13DEC AFBF0024 */ sw $ra, 0x0024($sp)
/* 00D80 80A13DF0 AFA5004C */ sw $a1, 0x004C($sp)
/* 00D84 80A13DF4 8CAF1C44 */ lw $t7, 0x1C44($a1) ## 00001C44
/* 00D88 80A13DF8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00D8C 80A13DFC 24840170 */ addiu $a0, $a0, 0x0170 ## $a0 = 00000170
/* 00D90 80A13E00 AFA40030 */ sw $a0, 0x0030($sp)
/* 00D94 80A13E04 0C02927F */ jal SkelAnime_FrameUpdateMatrix
/* 00D98 80A13E08 AFAF0044 */ sw $t7, 0x0044($sp)
/* 00D9C 80A13E0C 860301BA */ lh $v1, 0x01BA($s0) ## 000001BA
/* 00DA0 80A13E10 26040068 */ addiu $a0, $s0, 0x0068 ## $a0 = 00000068
/* 00DA4 80A13E14 3C054080 */ lui $a1, 0x4080 ## $a1 = 40800000
/* 00DA8 80A13E18 10600002 */ beq $v1, $zero, .L80A13E24
/* 00DAC 80A13E1C 2478FFFF */ addiu $t8, $v1, 0xFFFF ## $t8 = FFFFFFFF
/* 00DB0 80A13E20 A61801BA */ sh $t8, 0x01BA($s0) ## 000001BA
.L80A13E24:
/* 00DB4 80A13E24 0C01DE80 */ jal Math_ApproxF
/* 00DB8 80A13E28 3C063F00 */ lui $a2, 0x3F00 ## $a2 = 3F000000
/* 00DBC 80A13E2C 96190088 */ lhu $t9, 0x0088($s0) ## 00000088
/* 00DC0 80A13E30 24060002 */ addiu $a2, $zero, 0x0002 ## $a2 = 00000002
/* 00DC4 80A13E34 24070C00 */ addiu $a3, $zero, 0x0C00 ## $a3 = 00000C00
/* 00DC8 80A13E38 33280008 */ andi $t0, $t9, 0x0008 ## $t0 = 00000000
/* 00DCC 80A13E3C 1100000C */ beq $t0, $zero, .L80A13E70
/* 00DD0 80A13E40 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00DD4 80A13E44 8605007E */ lh $a1, 0x007E($s0) ## 0000007E
/* 00DD8 80A13E48 24090300 */ addiu $t1, $zero, 0x0300 ## $t1 = 00000300
/* 00DDC 80A13E4C AFA90010 */ sw $t1, 0x0010($sp)
/* 00DE0 80A13E50 0C01E1A7 */ jal Math_SmoothScaleMaxMinS
/* 00DE4 80A13E54 260400B6 */ addiu $a0, $s0, 0x00B6 ## $a0 = 000000B6
/* 00DE8 80A13E58 260400B4 */ addiu $a0, $s0, 0x00B4 ## $a0 = 000000B4
/* 00DEC 80A13E5C 860501BC */ lh $a1, 0x01BC($s0) ## 000001BC
/* 00DF0 80A13E60 0C01DE2B */ jal Math_ApproxUpdateScaledS
/* 00DF4 80A13E64 24060100 */ addiu $a2, $zero, 0x0100 ## $a2 = 00000100
/* 00DF8 80A13E68 10000054 */ beq $zero, $zero, .L80A13FBC
/* 00DFC 80A13E6C 860801BA */ lh $t0, 0x01BA($s0) ## 000001BA
.L80A13E70:
/* 00E00 80A13E70 0C00B821 */ jal func_8002E084
/* 00E04 80A13E74 24052800 */ addiu $a1, $zero, 0x2800 ## $a1 = 00002800
/* 00E08 80A13E78 10400029 */ beq $v0, $zero, .L80A13F20
/* 00E0C 80A13E7C 3C013FC0 */ lui $at, 0x3FC0 ## $at = 3FC00000
/* 00E10 80A13E80 8FA40030 */ lw $a0, 0x0030($sp)
/* 00E14 80A13E84 0C0295B2 */ jal func_800A56C8
/* 00E18 80A13E88 3C054080 */ lui $a1, 0x4080 ## $a1 = 40800000
/* 00E1C 80A13E8C 10400006 */ beq $v0, $zero, .L80A13EA8
/* 00E20 80A13E90 260400B6 */ addiu $a0, $s0, 0x00B6 ## $a0 = 000000B6
/* 00E24 80A13E94 3C014080 */ lui $at, 0x4080 ## $at = 40800000
/* 00E28 80A13E98 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
/* 00E2C 80A13E9C 44813000 */ mtc1 $at, $f6 ## $f6 = 4.00
/* 00E30 80A13EA0 E604018C */ swc1 $f4, 0x018C($s0) ## 0000018C
/* 00E34 80A13EA4 E6060188 */ swc1 $f6, 0x0188($s0) ## 00000188
.L80A13EA8:
/* 00E38 80A13EA8 8605008A */ lh $a1, 0x008A($s0) ## 0000008A
/* 00E3C 80A13EAC 240A0300 */ addiu $t2, $zero, 0x0300 ## $t2 = 00000300
/* 00E40 80A13EB0 AFAA0010 */ sw $t2, 0x0010($sp)
/* 00E44 80A13EB4 24060002 */ addiu $a2, $zero, 0x0002 ## $a2 = 00000002
/* 00E48 80A13EB8 0C01E1A7 */ jal Math_SmoothScaleMaxMinS
/* 00E4C 80A13EBC 24070C00 */ addiu $a3, $zero, 0x0C00 ## $a3 = 00000C00
/* 00E50 80A13EC0 8FA30044 */ lw $v1, 0x0044($sp)
/* 00E54 80A13EC4 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000
/* 00E58 80A13EC8 44818000 */ mtc1 $at, $f16 ## $f16 = 20.00
/* 00E5C 80A13ECC C4680024 */ lwc1 $f8, 0x0024($v1) ## 00000024
/* 00E60 80A13ED0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00E64 80A13ED4 27A50038 */ addiu $a1, $sp, 0x0038 ## $a1 = FFFFFFF0
/* 00E68 80A13ED8 E7A80038 */ swc1 $f8, 0x0038($sp)
/* 00E6C 80A13EDC C46A0028 */ lwc1 $f10, 0x0028($v1) ## 00000028
/* 00E70 80A13EE0 46105480 */ add.s $f18, $f10, $f16
/* 00E74 80A13EE4 E7B2003C */ swc1 $f18, 0x003C($sp)
/* 00E78 80A13EE8 C464002C */ lwc1 $f4, 0x002C($v1) ## 0000002C
/* 00E7C 80A13EEC 0C00B6CA */ jal func_8002DB28
/* 00E80 80A13EF0 E7A40040 */ swc1 $f4, 0x0040($sp)
/* 00E84 80A13EF4 24451554 */ addiu $a1, $v0, 0x1554 ## $a1 = 00001554
/* 00E88 80A13EF8 00052C00 */ sll $a1, $a1, 16
/* 00E8C 80A13EFC 240B0100 */ addiu $t3, $zero, 0x0100 ## $t3 = 00000100
/* 00E90 80A13F00 AFAB0010 */ sw $t3, 0x0010($sp)
/* 00E94 80A13F04 00052C03 */ sra $a1, $a1, 16
/* 00E98 80A13F08 260400B4 */ addiu $a0, $s0, 0x00B4 ## $a0 = 000000B4
/* 00E9C 80A13F0C 24060002 */ addiu $a2, $zero, 0x0002 ## $a2 = 00000002
/* 00EA0 80A13F10 0C01E1A7 */ jal Math_SmoothScaleMaxMinS
/* 00EA4 80A13F14 24070400 */ addiu $a3, $zero, 0x0400 ## $a3 = 00000400
/* 00EA8 80A13F18 10000028 */ beq $zero, $zero, .L80A13FBC
/* 00EAC 80A13F1C 860801BA */ lh $t0, 0x01BA($s0) ## 000001BA
.L80A13F20:
/* 00EB0 80A13F20 44813000 */ mtc1 $at, $f6 ## $f6 = 0.00
/* 00EB4 80A13F24 3C0142A0 */ lui $at, 0x42A0 ## $at = 42A00000
/* 00EB8 80A13F28 44814000 */ mtc1 $at, $f8 ## $f8 = 80.00
/* 00EBC 80A13F2C C60A0090 */ lwc1 $f10, 0x0090($s0) ## 00000090
/* 00EC0 80A13F30 260400B6 */ addiu $a0, $s0, 0x00B6 ## $a0 = 000000B6
/* 00EC4 80A13F34 24060002 */ addiu $a2, $zero, 0x0002 ## $a2 = 00000002
/* 00EC8 80A13F38 460A403C */ c.lt.s $f8, $f10
/* 00ECC 80A13F3C 24070C00 */ addiu $a3, $zero, 0x0C00 ## $a3 = 00000C00
/* 00ED0 80A13F40 240C0300 */ addiu $t4, $zero, 0x0300 ## $t4 = 00000300
/* 00ED4 80A13F44 E606018C */ swc1 $f6, 0x018C($s0) ## 0000018C
/* 00ED8 80A13F48 45020005 */ bc1fl .L80A13F60
/* 00EDC 80A13F4C 96020088 */ lhu $v0, 0x0088($s0) ## 00000088
/* 00EE0 80A13F50 8605008A */ lh $a1, 0x008A($s0) ## 0000008A
/* 00EE4 80A13F54 0C01E1A7 */ jal Math_SmoothScaleMaxMinS
/* 00EE8 80A13F58 AFAC0010 */ sw $t4, 0x0010($sp)
/* 00EEC 80A13F5C 96020088 */ lhu $v0, 0x0088($s0) ## 00000088
.L80A13F60:
/* 00EF0 80A13F60 240E0954 */ addiu $t6, $zero, 0x0954 ## $t6 = 00000954
/* 00EF4 80A13F64 260400B4 */ addiu $a0, $s0, 0x00B4 ## $a0 = 000000B4
/* 00EF8 80A13F68 304D0001 */ andi $t5, $v0, 0x0001 ## $t5 = 00000000
/* 00EFC 80A13F6C 11A00003 */ beq $t5, $zero, .L80A13F7C
/* 00F00 80A13F70 24060100 */ addiu $a2, $zero, 0x0100 ## $a2 = 00000100
/* 00F04 80A13F74 A60E01BC */ sh $t6, 0x01BC($s0) ## 000001BC
/* 00F08 80A13F78 96020088 */ lhu $v0, 0x0088($s0) ## 00000088
.L80A13F7C:
/* 00F0C 80A13F7C 304F0010 */ andi $t7, $v0, 0x0010 ## $t7 = 00000000
/* 00F10 80A13F80 15E00008 */ bne $t7, $zero, .L80A13FA4
/* 00F14 80A13F84 24182154 */ addiu $t8, $zero, 0x2154 ## $t8 = 00002154
/* 00F18 80A13F88 C6100310 */ lwc1 $f16, 0x0310($s0) ## 00000310
/* 00F1C 80A13F8C C6120028 */ lwc1 $f18, 0x0028($s0) ## 00000028
/* 00F20 80A13F90 24190954 */ addiu $t9, $zero, 0x0954 ## $t9 = 00000954
/* 00F24 80A13F94 4612803C */ c.lt.s $f16, $f18
/* 00F28 80A13F98 00000000 */ nop
/* 00F2C 80A13F9C 45020004 */ bc1fl .L80A13FB0
/* 00F30 80A13FA0 A61901BC */ sh $t9, 0x01BC($s0) ## 000001BC
.L80A13FA4:
/* 00F34 80A13FA4 10000002 */ beq $zero, $zero, .L80A13FB0
/* 00F38 80A13FA8 A61801BC */ sh $t8, 0x01BC($s0) ## 000001BC
/* 00F3C 80A13FAC A61901BC */ sh $t9, 0x01BC($s0) ## 000001BC
.L80A13FB0:
/* 00F40 80A13FB0 0C01DE2B */ jal Math_ApproxUpdateScaledS
/* 00F44 80A13FB4 860501BC */ lh $a1, 0x01BC($s0) ## 000001BC
/* 00F48 80A13FB8 860801BA */ lh $t0, 0x01BA($s0) ## 000001BA
.L80A13FBC:
/* 00F4C 80A13FBC 11000006 */ beq $t0, $zero, .L80A13FD8
/* 00F50 80A13FC0 00000000 */ nop
/* 00F54 80A13FC4 0C023C20 */ jal Player_GetMask
/* 00F58 80A13FC8 8FA4004C */ lw $a0, 0x004C($sp)
/* 00F5C 80A13FCC 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
/* 00F60 80A13FD0 54410004 */ bnel $v0, $at, .L80A13FE4
/* 00F64 80A13FD4 8FBF0024 */ lw $ra, 0x0024($sp)
.L80A13FD8:
/* 00F68 80A13FD8 0C284D43 */ jal func_80A1350C
/* 00F6C 80A13FDC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00F70 80A13FE0 8FBF0024 */ lw $ra, 0x0024($sp)
.L80A13FE4:
/* 00F74 80A13FE4 8FB00020 */ lw $s0, 0x0020($sp)
/* 00F78 80A13FE8 27BD0048 */ addiu $sp, $sp, 0x0048 ## $sp = 00000000
/* 00F7C 80A13FEC 03E00008 */ jr $ra
/* 00F80 80A13FF0 00000000 */ nop

View file

@ -1,44 +0,0 @@
glabel func_80A13FF4
/* 00F84 80A13FF4 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 00F88 80A13FF8 AFB00018 */ sw $s0, 0x0018($sp)
/* 00F8C 80A13FFC 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00F90 80A14000 AFBF001C */ sw $ra, 0x001C($sp)
/* 00F94 80A14004 AFA50024 */ sw $a1, 0x0024($sp)
/* 00F98 80A14008 0C02927F */ jal SkelAnime_FrameUpdateMatrix
/* 00F9C 80A1400C 24840170 */ addiu $a0, $a0, 0x0170 ## $a0 = 00000170
/* 00FA0 80A14010 260400B4 */ addiu $a0, $s0, 0x00B4 ## $a0 = 000000B4
/* 00FA4 80A14014 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 00FA8 80A14018 0C01DE2B */ jal Math_ApproxUpdateScaledS
/* 00FAC 80A1401C 24060100 */ addiu $a2, $zero, 0x0100 ## $a2 = 00000100
/* 00FB0 80A14020 3C063ECC */ lui $a2, 0x3ECC ## $a2 = 3ECC0000
/* 00FB4 80A14024 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3ECCCCCD
/* 00FB8 80A14028 26040060 */ addiu $a0, $s0, 0x0060 ## $a0 = 00000060
/* 00FBC 80A1402C 0C01DE80 */ jal Math_ApproxF
/* 00FC0 80A14030 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
/* 00FC4 80A14034 3C063E19 */ lui $a2, 0x3E19 ## $a2 = 3E190000
/* 00FC8 80A14038 34C6999A */ ori $a2, $a2, 0x999A ## $a2 = 3E19999A
/* 00FCC 80A1403C 26040068 */ addiu $a0, $s0, 0x0068 ## $a0 = 00000068
/* 00FD0 80A14040 0C01DE80 */ jal Math_ApproxF
/* 00FD4 80A14044 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
/* 00FD8 80A14048 5040000B */ beql $v0, $zero, .L80A14078
/* 00FDC 80A1404C 8FBF001C */ lw $ra, 0x001C($sp)
/* 00FE0 80A14050 860201BA */ lh $v0, 0x01BA($s0) ## 000001BA
/* 00FE4 80A14054 10400003 */ beq $v0, $zero, .L80A14064
/* 00FE8 80A14058 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF
/* 00FEC 80A1405C A60E01BA */ sh $t6, 0x01BA($s0) ## 000001BA
/* 00FF0 80A14060 860201BA */ lh $v0, 0x01BA($s0) ## 000001BA
.L80A14064:
/* 00FF4 80A14064 54400004 */ bnel $v0, $zero, .L80A14078
/* 00FF8 80A14068 8FBF001C */ lw $ra, 0x001C($sp)
/* 00FFC 80A1406C 0C284D43 */ jal func_80A1350C
/* 01000 80A14070 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01004 80A14074 8FBF001C */ lw $ra, 0x001C($sp)
.L80A14078:
/* 01008 80A14078 8FB00018 */ lw $s0, 0x0018($sp)
/* 0100C 80A1407C 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 01010 80A14080 03E00008 */ jr $ra
/* 01014 80A14084 00000000 */ nop

View file

@ -1,107 +0,0 @@
glabel func_80A14088
/* 01018 80A14088 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
/* 0101C 80A1408C AFB00020 */ sw $s0, 0x0020($sp)
/* 01020 80A14090 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 01024 80A14094 AFBF0024 */ sw $ra, 0x0024($sp)
/* 01028 80A14098 AFA5002C */ sw $a1, 0x002C($sp)
/* 0102C 80A1409C 0C02927F */ jal SkelAnime_FrameUpdateMatrix
/* 01030 80A140A0 24840170 */ addiu $a0, $a0, 0x0170 ## $a0 = 00000170
/* 01034 80A140A4 860301BA */ lh $v1, 0x01BA($s0) ## 000001BA
/* 01038 80A140A8 26040024 */ addiu $a0, $s0, 0x0024 ## $a0 = 00000024
/* 0103C 80A140AC 10600002 */ beq $v1, $zero, .L80A140B8
/* 01040 80A140B0 246EFFFF */ addiu $t6, $v1, 0xFFFF ## $t6 = FFFFFFFF
/* 01044 80A140B4 A60E01BA */ sh $t6, 0x01BA($s0) ## 000001BA
.L80A140B8:
/* 01048 80A140B8 C6040028 */ lwc1 $f4, 0x0028($s0) ## 00000028
/* 0104C 80A140BC C6060310 */ lwc1 $f6, 0x0310($s0) ## 00000310
/* 01050 80A140C0 3C014120 */ lui $at, 0x4120 ## $at = 41200000
/* 01054 80A140C4 44814000 */ mtc1 $at, $f8 ## $f8 = 10.00
/* 01058 80A140C8 46062001 */ sub.s $f0, $f4, $f6
/* 0105C 80A140CC 46000005 */ abs.s $f0, $f0
/* 01060 80A140D0 4608003C */ c.lt.s $f0, $f8
/* 01064 80A140D4 00000000 */ nop
/* 01068 80A140D8 4502000B */ bc1fl .L80A14108
/* 0106C 80A140DC 860F01BA */ lh $t7, 0x01BA($s0) ## 000001BA
/* 01070 80A140E0 0C01E00A */ jal Math_Vec3f_DistXZ
/* 01074 80A140E4 26050008 */ addiu $a1, $s0, 0x0008 ## $a1 = 00000008
/* 01078 80A140E8 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000
/* 0107C 80A140EC 44815000 */ mtc1 $at, $f10 ## $f10 = 20.00
/* 01080 80A140F0 00000000 */ nop
/* 01084 80A140F4 460A003C */ c.lt.s $f0, $f10
/* 01088 80A140F8 00000000 */ nop
/* 0108C 80A140FC 45010006 */ bc1t .L80A14118
/* 01090 80A14100 00000000 */ nop
/* 01094 80A14104 860F01BA */ lh $t7, 0x01BA($s0) ## 000001BA
.L80A14108:
/* 01098 80A14108 26040068 */ addiu $a0, $s0, 0x0068 ## $a0 = 00000068
/* 0109C 80A1410C 3C054040 */ lui $a1, 0x4040 ## $a1 = 40400000
/* 010A0 80A14110 15E00005 */ bne $t7, $zero, .L80A14128
/* 010A4 80A14114 3C063E99 */ lui $a2, 0x3E99 ## $a2 = 3E990000
.L80A14118:
/* 010A8 80A14118 0C284CBD */ jal func_80A132F4
/* 010AC 80A1411C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 010B0 80A14120 1000002F */ beq $zero, $zero, .L80A141E0
/* 010B4 80A14124 8FBF0024 */ lw $ra, 0x0024($sp)
.L80A14128:
/* 010B8 80A14128 0C01DE80 */ jal Math_ApproxF
/* 010BC 80A1412C 34C6999A */ ori $a2, $a2, 0x999A ## $a2 = 0000999A
/* 010C0 80A14130 96030088 */ lhu $v1, 0x0088($s0) ## 00000088
/* 010C4 80A14134 24190954 */ addiu $t9, $zero, 0x0954 ## $t9 = 00000954
/* 010C8 80A14138 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 010CC 80A1413C 30780001 */ andi $t8, $v1, 0x0001 ## $t8 = 00000000
/* 010D0 80A14140 13000003 */ beq $t8, $zero, .L80A14150
/* 010D4 80A14144 30680010 */ andi $t0, $v1, 0x0010 ## $t0 = 00000000
/* 010D8 80A14148 1000000D */ beq $zero, $zero, .L80A14180
/* 010DC 80A1414C A61901BC */ sh $t9, 0x01BC($s0) ## 000001BC
.L80A14150:
/* 010E0 80A14150 15000008 */ bne $t0, $zero, .L80A14174
/* 010E4 80A14154 24092154 */ addiu $t1, $zero, 0x2154 ## $t1 = 00002154
/* 010E8 80A14158 C6100310 */ lwc1 $f16, 0x0310($s0) ## 00000310
/* 010EC 80A1415C C6120028 */ lwc1 $f18, 0x0028($s0) ## 00000028
/* 010F0 80A14160 240A0954 */ addiu $t2, $zero, 0x0954 ## $t2 = 00000954
/* 010F4 80A14164 4612803C */ c.lt.s $f16, $f18
/* 010F8 80A14168 00000000 */ nop
/* 010FC 80A1416C 45020004 */ bc1fl .L80A14180
/* 01100 80A14170 A60A01BC */ sh $t2, 0x01BC($s0) ## 000001BC
.L80A14174:
/* 01104 80A14174 10000002 */ beq $zero, $zero, .L80A14180
/* 01108 80A14178 A60901BC */ sh $t1, 0x01BC($s0) ## 000001BC
/* 0110C 80A1417C A60A01BC */ sh $t2, 0x01BC($s0) ## 000001BC
.L80A14180:
/* 01110 80A14180 960B0088 */ lhu $t3, 0x0088($s0) ## 00000088
/* 01114 80A14184 24060002 */ addiu $a2, $zero, 0x0002 ## $a2 = 00000002
/* 01118 80A14188 24070C00 */ addiu $a3, $zero, 0x0C00 ## $a3 = 00000C00
/* 0111C 80A1418C 316C0008 */ andi $t4, $t3, 0x0008 ## $t4 = 00000000
/* 01120 80A14190 11800007 */ beq $t4, $zero, .L80A141B0
/* 01124 80A14194 240D0300 */ addiu $t5, $zero, 0x0300 ## $t5 = 00000300
/* 01128 80A14198 8605007E */ lh $a1, 0x007E($s0) ## 0000007E
/* 0112C 80A1419C AFAD0010 */ sw $t5, 0x0010($sp)
/* 01130 80A141A0 0C01E1A7 */ jal Math_SmoothScaleMaxMinS
/* 01134 80A141A4 260400B6 */ addiu $a0, $s0, 0x00B6 ## $a0 = 000000B6
/* 01138 80A141A8 10000009 */ beq $zero, $zero, .L80A141D0
/* 0113C 80A141AC 260400B4 */ addiu $a0, $s0, 0x00B4 ## $a0 = 000000B4
.L80A141B0:
/* 01140 80A141B0 0C00B6B0 */ jal func_8002DAC0
/* 01144 80A141B4 26050008 */ addiu $a1, $s0, 0x0008 ## $a1 = 00000008
/* 01148 80A141B8 00022C00 */ sll $a1, $v0, 16
/* 0114C 80A141BC 00052C03 */ sra $a1, $a1, 16
/* 01150 80A141C0 260400B6 */ addiu $a0, $s0, 0x00B6 ## $a0 = 000000B6
/* 01154 80A141C4 0C01DE2B */ jal Math_ApproxUpdateScaledS
/* 01158 80A141C8 24060300 */ addiu $a2, $zero, 0x0300 ## $a2 = 00000300
/* 0115C 80A141CC 260400B4 */ addiu $a0, $s0, 0x00B4 ## $a0 = 000000B4
.L80A141D0:
/* 01160 80A141D0 860501BC */ lh $a1, 0x01BC($s0) ## 000001BC
/* 01164 80A141D4 0C01DE2B */ jal Math_ApproxUpdateScaledS
/* 01168 80A141D8 24060100 */ addiu $a2, $zero, 0x0100 ## $a2 = 00000100
/* 0116C 80A141DC 8FBF0024 */ lw $ra, 0x0024($sp)
.L80A141E0:
/* 01170 80A141E0 8FB00020 */ lw $s0, 0x0020($sp)
/* 01174 80A141E4 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
/* 01178 80A141E8 03E00008 */ jr $ra
/* 0117C 80A141EC 00000000 */ nop

View file

@ -1,49 +0,0 @@
glabel func_80A141F0
/* 01180 80A141F0 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 01184 80A141F4 AFB00018 */ sw $s0, 0x0018($sp)
/* 01188 80A141F8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 0118C 80A141FC AFBF001C */ sw $ra, 0x001C($sp)
/* 01190 80A14200 AFA50024 */ sw $a1, 0x0024($sp)
/* 01194 80A14204 0C02927F */ jal SkelAnime_FrameUpdateMatrix
/* 01198 80A14208 24840170 */ addiu $a0, $a0, 0x0170 ## $a0 = 00000170
/* 0119C 80A1420C 26040068 */ addiu $a0, $s0, 0x0068 ## $a0 = 00000068
/* 011A0 80A14210 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
/* 011A4 80A14214 0C01DE80 */ jal Math_ApproxF
/* 011A8 80A14218 3C063F00 */ lui $a2, 0x3F00 ## $a2 = 3F000000
/* 011AC 80A1421C 260400B4 */ addiu $a0, $s0, 0x00B4 ## $a0 = 000000B4
/* 011B0 80A14220 24051554 */ addiu $a1, $zero, 0x1554 ## $a1 = 00001554
/* 011B4 80A14224 0C01DE2B */ jal Math_ApproxUpdateScaledS
/* 011B8 80A14228 24060100 */ addiu $a2, $zero, 0x0100 ## $a2 = 00000100
/* 011BC 80A1422C 860201BA */ lh $v0, 0x01BA($s0) ## 000001BA
/* 011C0 80A14230 10400003 */ beq $v0, $zero, .L80A14240
/* 011C4 80A14234 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF
/* 011C8 80A14238 A60E01BA */ sh $t6, 0x01BA($s0) ## 000001BA
/* 011CC 80A1423C 860201BA */ lh $v0, 0x01BA($s0) ## 000001BA
.L80A14240:
/* 011D0 80A14240 54400010 */ bnel $v0, $zero, .L80A14284
/* 011D4 80A14244 8FBF001C */ lw $ra, 0x001C($sp)
/* 011D8 80A14248 920F01B9 */ lbu $t7, 0x01B9($s0) ## 000001B9
/* 011DC 80A1424C 24180001 */ addiu $t8, $zero, 0x0001 ## $t8 = 00000001
/* 011E0 80A14250 51E00004 */ beql $t7, $zero, .L80A14264
/* 011E4 80A14254 8619001C */ lh $t9, 0x001C($s0) ## 0000001C
/* 011E8 80A14258 10000007 */ beq $zero, $zero, .L80A14278
/* 011EC 80A1425C A21801B8 */ sb $t8, 0x01B8($s0) ## 000001B8
/* 011F0 80A14260 8619001C */ lh $t9, 0x001C($s0) ## 0000001C
.L80A14264:
/* 011F4 80A14264 24010004 */ addiu $at, $zero, 0x0004 ## $at = 00000004
/* 011F8 80A14268 24080002 */ addiu $t0, $zero, 0x0002 ## $t0 = 00000002
/* 011FC 80A1426C 17210002 */ bne $t9, $at, .L80A14278
/* 01200 80A14270 00000000 */ nop
/* 01204 80A14274 A20801B8 */ sb $t0, 0x01B8($s0) ## 000001B8
.L80A14278:
/* 01208 80A14278 0C284CBD */ jal func_80A132F4
/* 0120C 80A1427C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01210 80A14280 8FBF001C */ lw $ra, 0x001C($sp)
.L80A14284:
/* 01214 80A14284 8FB00018 */ lw $s0, 0x0018($sp)
/* 01218 80A14288 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 0121C 80A1428C 03E00008 */ jr $ra
/* 01220 80A14290 00000000 */ nop

View file

@ -1,28 +0,0 @@
glabel func_80A14294
/* 01224 80A14294 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 01228 80A14298 AFBF0014 */ sw $ra, 0x0014($sp)
/* 0122C 80A1429C AFA5001C */ sw $a1, 0x001C($sp)
/* 01230 80A142A0 948E0088 */ lhu $t6, 0x0088($a0) ## 00000088
/* 01234 80A142A4 3C01C6FA */ lui $at, 0xC6FA ## $at = C6FA0000
/* 01238 80A142A8 31CF0001 */ andi $t7, $t6, 0x0001 ## $t7 = 00000000
/* 0123C 80A142AC 15E00008 */ bne $t7, $zero, .L80A142D0
/* 01240 80A142B0 00000000 */ nop
/* 01244 80A142B4 44812000 */ mtc1 $at, $f4 ## $f4 = -32000.00
/* 01248 80A142B8 C4860080 */ lwc1 $f6, 0x0080($a0) ## 00000080
/* 0124C 80A142BC 241800FF */ addiu $t8, $zero, 0x00FF ## $t8 = 000000FF
/* 01250 80A142C0 46062032 */ c.eq.s $f4, $f6
/* 01254 80A142C4 00000000 */ nop
/* 01258 80A142C8 45020006 */ bc1fl .L80A142E4
/* 0125C 80A142CC A0980114 */ sb $t8, 0x0114($a0) ## 00000114
.L80A142D0:
/* 01260 80A142D0 0C284D11 */ jal func_80A13444
/* 01264 80A142D4 A0800114 */ sb $zero, 0x0114($a0) ## 00000114
/* 01268 80A142D8 10000003 */ beq $zero, $zero, .L80A142E8
/* 0126C 80A142DC 8FBF0014 */ lw $ra, 0x0014($sp)
/* 01270 80A142E0 A0980114 */ sb $t8, 0x0114($a0) ## 00000114
.L80A142E4:
/* 01274 80A142E4 8FBF0014 */ lw $ra, 0x0014($sp)
.L80A142E8:
/* 01278 80A142E8 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 0127C 80A142EC 03E00008 */ jr $ra
/* 01280 80A142F0 00000000 */ nop

View file

@ -1,61 +0,0 @@
.late_rodata
glabel D_80A15048
.float 0.02
.text
glabel func_80A142F4
/* 01284 80A142F4 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
/* 01288 80A142F8 AFB00018 */ sw $s0, 0x0018($sp)
/* 0128C 80A142FC 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 01290 80A14300 AFBF001C */ sw $ra, 0x001C($sp)
/* 01294 80A14304 AFA5002C */ sw $a1, 0x002C($sp)
/* 01298 80A14308 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 0129C 80A1430C 248400B4 */ addiu $a0, $a0, 0x00B4 ## $a0 = 000000B4
/* 012A0 80A14310 0C01DE2B */ jal Math_ApproxUpdateScaledS
/* 012A4 80A14314 24060100 */ addiu $a2, $zero, 0x0100 ## $a2 = 00000100
/* 012A8 80A14318 860E01BA */ lh $t6, 0x01BA($s0) ## 000001BA
/* 012AC 80A1431C 26040170 */ addiu $a0, $s0, 0x0170 ## $a0 = 00000170
/* 012B0 80A14320 11C0000C */ beq $t6, $zero, .L80A14354
/* 012B4 80A14324 00000000 */ nop
/* 012B8 80A14328 0C02927F */ jal SkelAnime_FrameUpdateMatrix
/* 012BC 80A1432C AFA40024 */ sw $a0, 0x0024($sp)
/* 012C0 80A14330 8FA40024 */ lw $a0, 0x0024($sp)
/* 012C4 80A14334 0C0295B2 */ jal func_800A56C8
/* 012C8 80A14338 3C0540C0 */ lui $a1, 0x40C0 ## $a1 = 40C00000
/* 012CC 80A1433C 50400010 */ beql $v0, $zero, .L80A14380
/* 012D0 80A14340 3C0142F0 */ lui $at, 0x42F0 ## $at = 42F00000
/* 012D4 80A14344 860F01BA */ lh $t7, 0x01BA($s0) ## 000001BA
/* 012D8 80A14348 25F8FFFF */ addiu $t8, $t7, 0xFFFF ## $t8 = FFFFFFFF
/* 012DC 80A1434C 1000000B */ beq $zero, $zero, .L80A1437C
/* 012E0 80A14350 A61801BA */ sh $t8, 0x01BA($s0) ## 000001BA
.L80A14354:
/* 012E4 80A14354 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 012E8 80A14358 00000000 */ nop
/* 012EC 80A1435C 3C0180A1 */ lui $at, %hi(D_80A15048) ## $at = 80A10000
/* 012F0 80A14360 C4245048 */ lwc1 $f4, %lo(D_80A15048)($at)
/* 012F4 80A14364 24190001 */ addiu $t9, $zero, 0x0001 ## $t9 = 00000001
/* 012F8 80A14368 4604003C */ c.lt.s $f0, $f4
/* 012FC 80A1436C 00000000 */ nop
/* 01300 80A14370 45020003 */ bc1fl .L80A14380
/* 01304 80A14374 3C0142F0 */ lui $at, 0x42F0 ## $at = 42F00000
/* 01308 80A14378 A61901BA */ sh $t9, 0x01BA($s0) ## 000001BA
.L80A1437C:
/* 0130C 80A1437C 3C0142F0 */ lui $at, 0x42F0 ## $at = 42F00000
.L80A14380:
/* 01310 80A14380 44814000 */ mtc1 $at, $f8 ## $f8 = 120.00
/* 01314 80A14384 C6060090 */ lwc1 $f6, 0x0090($s0) ## 00000090
/* 01318 80A14388 4608303C */ c.lt.s $f6, $f8
/* 0131C 80A1438C 00000000 */ nop
/* 01320 80A14390 45020004 */ bc1fl .L80A143A4
/* 01324 80A14394 8FBF001C */ lw $ra, 0x001C($sp)
/* 01328 80A14398 0C284DD9 */ jal func_80A13764
/* 0132C 80A1439C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01330 80A143A0 8FBF001C */ lw $ra, 0x001C($sp)
.L80A143A4:
/* 01334 80A143A4 8FB00018 */ lw $s0, 0x0018($sp)
/* 01338 80A143A8 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
/* 0133C 80A143AC 03E00008 */ jr $ra
/* 01340 80A143B0 00000000 */ nop

View file

@ -1,63 +0,0 @@
glabel func_80A143B4
/* 01344 80A143B4 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8
/* 01348 80A143B8 AFBF001C */ sw $ra, 0x001C($sp)
/* 0134C 80A143BC AFB00018 */ sw $s0, 0x0018($sp)
/* 01350 80A143C0 8CA61C44 */ lw $a2, 0x1C44($a1) ## 00001C44
/* 01354 80A143C4 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 01358 80A143C8 24840170 */ addiu $a0, $a0, 0x0170 ## $a0 = 00000170
/* 0135C 80A143CC 0C02927F */ jal SkelAnime_FrameUpdateMatrix
/* 01360 80A143D0 AFA60034 */ sw $a2, 0x0034($sp)
/* 01364 80A143D4 860301BA */ lh $v1, 0x01BA($s0) ## 000001BA
/* 01368 80A143D8 8FA60034 */ lw $a2, 0x0034($sp)
/* 0136C 80A143DC 260400B4 */ addiu $a0, $s0, 0x00B4 ## $a0 = 000000B4
/* 01370 80A143E0 10600003 */ beq $v1, $zero, .L80A143F0
/* 01374 80A143E4 246EFFFF */ addiu $t6, $v1, 0xFFFF ## $t6 = FFFFFFFF
/* 01378 80A143E8 A60E01BA */ sh $t6, 0x01BA($s0) ## 000001BA
/* 0137C 80A143EC 860301BA */ lh $v1, 0x01BA($s0) ## 000001BA
.L80A143F0:
/* 01380 80A143F0 28610028 */ slti $at, $v1, 0x0028
/* 01384 80A143F4 10200005 */ beq $at, $zero, .L80A1440C
/* 01388 80A143F8 2405F554 */ addiu $a1, $zero, 0xF554 ## $a1 = FFFFF554
/* 0138C 80A143FC 0C01DE2B */ jal Math_ApproxUpdateScaledS
/* 01390 80A14400 24060100 */ addiu $a2, $zero, 0x0100 ## $a2 = 00000100
/* 01394 80A14404 10000018 */ beq $zero, $zero, .L80A14468
/* 01398 80A14408 860F01BA */ lh $t7, 0x01BA($s0) ## 000001BA
.L80A1440C:
/* 0139C 80A1440C C4C40024 */ lwc1 $f4, 0x0024($a2) ## 00000024
/* 013A0 80A14410 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000
/* 013A4 80A14414 44814000 */ mtc1 $at, $f8 ## $f8 = 20.00
/* 013A8 80A14418 E7A40028 */ swc1 $f4, 0x0028($sp)
/* 013AC 80A1441C C4C60028 */ lwc1 $f6, 0x0028($a2) ## 00000028
/* 013B0 80A14420 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 013B4 80A14424 27A50028 */ addiu $a1, $sp, 0x0028 ## $a1 = FFFFFFF0
/* 013B8 80A14428 46083280 */ add.s $f10, $f6, $f8
/* 013BC 80A1442C E7AA002C */ swc1 $f10, 0x002C($sp)
/* 013C0 80A14430 C4D0002C */ lwc1 $f16, 0x002C($a2) ## 0000002C
/* 013C4 80A14434 0C00B6CA */ jal func_8002DB28
/* 013C8 80A14438 E7B00030 */ swc1 $f16, 0x0030($sp)
/* 013CC 80A1443C 24451554 */ addiu $a1, $v0, 0x1554 ## $a1 = 00001554
/* 013D0 80A14440 00052C00 */ sll $a1, $a1, 16
/* 013D4 80A14444 00052C03 */ sra $a1, $a1, 16
/* 013D8 80A14448 260400B4 */ addiu $a0, $s0, 0x00B4 ## $a0 = 000000B4
/* 013DC 80A1444C 0C01DE2B */ jal Math_ApproxUpdateScaledS
/* 013E0 80A14450 24060100 */ addiu $a2, $zero, 0x0100 ## $a2 = 00000100
/* 013E4 80A14454 260400B6 */ addiu $a0, $s0, 0x00B6 ## $a0 = 000000B6
/* 013E8 80A14458 8605008A */ lh $a1, 0x008A($s0) ## 0000008A
/* 013EC 80A1445C 0C01DE2B */ jal Math_ApproxUpdateScaledS
/* 013F0 80A14460 24060300 */ addiu $a2, $zero, 0x0300 ## $a2 = 00000300
/* 013F4 80A14464 860F01BA */ lh $t7, 0x01BA($s0) ## 000001BA
.L80A14468:
/* 013F8 80A14468 55E00004 */ bnel $t7, $zero, .L80A1447C
/* 013FC 80A1446C 8FBF001C */ lw $ra, 0x001C($sp)
/* 01400 80A14470 0C284CBD */ jal func_80A132F4
/* 01404 80A14474 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01408 80A14478 8FBF001C */ lw $ra, 0x001C($sp)
.L80A1447C:
/* 0140C 80A1447C 8FB00018 */ lw $s0, 0x0018($sp)
/* 01410 80A14480 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000
/* 01414 80A14484 03E00008 */ jr $ra
/* 01418 80A14488 00000000 */ nop

View file

@ -1,34 +0,0 @@
glabel func_80A1448C
/* 0141C 80A1448C 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0
/* 01420 80A14490 AFB40038 */ sw $s4, 0x0038($sp)
/* 01424 80A14494 AFB30034 */ sw $s3, 0x0034($sp)
/* 01428 80A14498 AFB20030 */ sw $s2, 0x0030($sp)
/* 0142C 80A1449C AFB1002C */ sw $s1, 0x002C($sp)
/* 01430 80A144A0 AFB00028 */ sw $s0, 0x0028($sp)
/* 01434 80A144A4 00808825 */ or $s1, $a0, $zero ## $s1 = 00000000
/* 01438 80A144A8 00A09825 */ or $s3, $a1, $zero ## $s3 = 00000000
/* 0143C 80A144AC AFBF003C */ sw $ra, 0x003C($sp)
/* 01440 80A144B0 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000
/* 01444 80A144B4 24920024 */ addiu $s2, $a0, 0x0024 ## $s2 = 00000024
/* 01448 80A144B8 24140003 */ addiu $s4, $zero, 0x0003 ## $s4 = 00000003
/* 0144C 80A144BC 02602025 */ or $a0, $s3, $zero ## $a0 = 00000000
.L80A144C0:
/* 01450 80A144C0 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
/* 01454 80A144C4 02403025 */ or $a2, $s2, $zero ## $a2 = 00000024
/* 01458 80A144C8 24070028 */ addiu $a3, $zero, 0x0028 ## $a3 = 00000028
/* 0145C 80A144CC AFA00010 */ sw $zero, 0x0010($sp)
/* 01460 80A144D0 AFA00014 */ sw $zero, 0x0014($sp)
/* 01464 80A144D4 0C00A935 */ jal EffectSsEnFire_SpawnVec3f
/* 01468 80A144D8 AFB00018 */ sw $s0, 0x0018($sp)
/* 0146C 80A144DC 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001
/* 01470 80A144E0 5614FFF7 */ bnel $s0, $s4, .L80A144C0
/* 01474 80A144E4 02602025 */ or $a0, $s3, $zero ## $a0 = 00000000
/* 01478 80A144E8 A22001B8 */ sb $zero, 0x01B8($s1) ## 000001B8
/* 0147C 80A144EC 8FBF003C */ lw $ra, 0x003C($sp)
/* 01480 80A144F0 8FB40038 */ lw $s4, 0x0038($sp)
/* 01484 80A144F4 8FB30034 */ lw $s3, 0x0034($sp)
/* 01488 80A144F8 8FB20030 */ lw $s2, 0x0030($sp)
/* 0148C 80A144FC 8FB1002C */ lw $s1, 0x002C($sp)
/* 01490 80A14500 8FB00028 */ lw $s0, 0x0028($sp)
/* 01494 80A14504 03E00008 */ jr $ra
/* 01498 80A14508 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000

View file

@ -1,119 +0,0 @@
glabel func_80A1450C
/* 0149C 80A1450C 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 014A0 80A14510 AFBF001C */ sw $ra, 0x001C($sp)
/* 014A4 80A14514 AFB00018 */ sw $s0, 0x0018($sp)
/* 014A8 80A14518 AFA50024 */ sw $a1, 0x0024($sp)
/* 014AC 80A1451C 90820325 */ lbu $v0, 0x0325($a0) ## 00000325
/* 014B0 80A14520 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 014B4 80A14524 24060001 */ addiu $a2, $zero, 0x0001 ## $a2 = 00000001
/* 014B8 80A14528 304E0002 */ andi $t6, $v0, 0x0002 ## $t6 = 00000000
/* 014BC 80A1452C 11C0005D */ beq $t6, $zero, .L80A146A4
/* 014C0 80A14530 304FFFFD */ andi $t7, $v0, 0xFFFD ## $t7 = 00000000
/* 014C4 80A14534 A08F0325 */ sb $t7, 0x0325($a0) ## 00000325
/* 014C8 80A14538 0C00D594 */ jal func_80035650
/* 014CC 80A1453C 8E050330 */ lw $a1, 0x0330($s0) ## 00000330
/* 014D0 80A14540 921800B1 */ lbu $t8, 0x00B1($s0) ## 000000B1
/* 014D4 80A14544 17000004 */ bne $t8, $zero, .L80A14558
/* 014D8 80A14548 00000000 */ nop
/* 014DC 80A1454C 921900B0 */ lbu $t9, 0x00B0($s0) ## 000000B0
/* 014E0 80A14550 53200055 */ beql $t9, $zero, .L80A146A8
/* 014E4 80A14554 8FBF001C */ lw $ra, 0x001C($sp)
.L80A14558:
/* 014E8 80A14558 0C00D58A */ jal Actor_ApplyDamage
/* 014EC 80A1455C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 014F0 80A14560 14400007 */ bne $v0, $zero, .L80A14580
/* 014F4 80A14564 8FA40024 */ lw $a0, 0x0024($sp)
/* 014F8 80A14568 0C00CB1F */ jal func_80032C7C
/* 014FC 80A1456C 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 01500 80A14570 8E080004 */ lw $t0, 0x0004($s0) ## 00000004
/* 01504 80A14574 2401FFFE */ addiu $at, $zero, 0xFFFE ## $at = FFFFFFFE
/* 01508 80A14578 01014824 */ and $t1, $t0, $at
/* 0150C 80A1457C AE090004 */ sw $t1, 0x0004($s0) ## 00000004
.L80A14580:
/* 01510 80A14580 920200B1 */ lbu $v0, 0x00B1($s0) ## 000000B1
/* 01514 80A14584 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
/* 01518 80A14588 5441001F */ bnel $v0, $at, .L80A14608
/* 0151C 80A1458C 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
/* 01520 80A14590 860A001C */ lh $t2, 0x001C($s0) ## 0000001C
/* 01524 80A14594 24010004 */ addiu $at, $zero, 0x0004 ## $at = 00000004
/* 01528 80A14598 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 0152C 80A1459C 5541000C */ bnel $t2, $at, .L80A145D0
/* 01530 80A145A0 920B01B9 */ lbu $t3, 0x01B9($s0) ## 000001B9
/* 01534 80A145A4 A20000AF */ sb $zero, 0x00AF($s0) ## 000000AF
/* 01538 80A145A8 0C00CB1F */ jal func_80032C7C
/* 0153C 80A145AC 8FA40024 */ lw $a0, 0x0024($sp)
/* 01540 80A145B0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01544 80A145B4 0C285123 */ jal func_80A1448C
/* 01548 80A145B8 8FA50024 */ lw $a1, 0x0024($sp)
/* 0154C 80A145BC 0C284CE8 */ jal func_80A133A0
/* 01550 80A145C0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01554 80A145C4 10000038 */ beq $zero, $zero, .L80A146A8
/* 01558 80A145C8 8FBF001C */ lw $ra, 0x001C($sp)
/* 0155C 80A145CC 920B01B9 */ lbu $t3, 0x01B9($s0) ## 000001B9
.L80A145D0:
/* 01560 80A145D0 55600035 */ bnel $t3, $zero, .L80A146A8
/* 01564 80A145D4 8FBF001C */ lw $ra, 0x001C($sp)
/* 01568 80A145D8 0C284C26 */ jal func_80A13098
/* 0156C 80A145DC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01570 80A145E0 8E0D01B4 */ lw $t5, 0x01B4($s0) ## 000001B4
/* 01574 80A145E4 3C0C80A1 */ lui $t4, %hi(func_80A142F4) ## $t4 = 80A10000
/* 01578 80A145E8 258C42F4 */ addiu $t4, $t4, %lo(func_80A142F4) ## $t4 = 80A142F4
/* 0157C 80A145EC 558D002E */ bnel $t4, $t5, .L80A146A8
/* 01580 80A145F0 8FBF001C */ lw $ra, 0x001C($sp)
/* 01584 80A145F4 0C284CBD */ jal func_80A132F4
/* 01588 80A145F8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 0158C 80A145FC 1000002A */ beq $zero, $zero, .L80A146A8
/* 01590 80A14600 8FBF001C */ lw $ra, 0x001C($sp)
/* 01594 80A14604 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
.L80A14608:
/* 01598 80A14608 5441000F */ bnel $v0, $at, .L80A14648
/* 0159C 80A1460C 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 015A0 80A14610 860E001C */ lh $t6, 0x001C($s0) ## 0000001C
/* 015A4 80A14614 24010004 */ addiu $at, $zero, 0x0004 ## $at = 00000004
/* 015A8 80A14618 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 015AC 80A1461C 15C10005 */ bne $t6, $at, .L80A14634
/* 015B0 80A14620 00000000 */ nop
/* 015B4 80A14624 0C284CE8 */ jal func_80A133A0
/* 015B8 80A14628 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 015BC 80A1462C 1000001E */ beq $zero, $zero, .L80A146A8
/* 015C0 80A14630 8FBF001C */ lw $ra, 0x001C($sp)
.L80A14634:
/* 015C4 80A14634 0C284D6A */ jal func_80A135A8
/* 015C8 80A14638 8FA50024 */ lw $a1, 0x0024($sp)
/* 015CC 80A1463C 1000001A */ beq $zero, $zero, .L80A146A8
/* 015D0 80A14640 8FBF001C */ lw $ra, 0x001C($sp)
/* 015D4 80A14644 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
.L80A14648:
/* 015D8 80A14648 5441000B */ bnel $v0, $at, .L80A14678
/* 015DC 80A1464C 2401000F */ addiu $at, $zero, 0x000F ## $at = 0000000F
/* 015E0 80A14650 8E1801B4 */ lw $t8, 0x01B4($s0) ## 000001B4
/* 015E4 80A14654 3C0F80A1 */ lui $t7, %hi(func_80A141F0) ## $t7 = 80A10000
/* 015E8 80A14658 25EF41F0 */ addiu $t7, $t7, %lo(func_80A141F0) ## $t7 = 80A141F0
/* 015EC 80A1465C 51F80012 */ beql $t7, $t8, .L80A146A8
/* 015F0 80A14660 8FBF001C */ lw $ra, 0x001C($sp)
/* 015F4 80A14664 0C284D4E */ jal func_80A13538
/* 015F8 80A14668 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 015FC 80A1466C 1000000E */ beq $zero, $zero, .L80A146A8
/* 01600 80A14670 8FBF001C */ lw $ra, 0x001C($sp)
/* 01604 80A14674 2401000F */ addiu $at, $zero, 0x000F ## $at = 0000000F
.L80A14678:
/* 01608 80A14678 14410008 */ bne $v0, $at, .L80A1469C
/* 0160C 80A1467C 00000000 */ nop
/* 01610 80A14680 8619001C */ lh $t9, 0x001C($s0) ## 0000001C
/* 01614 80A14684 24010004 */ addiu $at, $zero, 0x0004 ## $at = 00000004
/* 01618 80A14688 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 0161C 80A1468C 17210003 */ bne $t9, $at, .L80A1469C
/* 01620 80A14690 00000000 */ nop
/* 01624 80A14694 0C285123 */ jal func_80A1448C
/* 01628 80A14698 8FA50024 */ lw $a1, 0x0024($sp)
.L80A1469C:
/* 0162C 80A1469C 0C284CE8 */ jal func_80A133A0
/* 01630 80A146A0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
.L80A146A4:
/* 01634 80A146A4 8FBF001C */ lw $ra, 0x001C($sp)
.L80A146A8:
/* 01638 80A146A8 8FB00018 */ lw $s0, 0x0018($sp)
/* 0163C 80A146AC 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 01640 80A146B0 03E00008 */ jr $ra
/* 01644 80A146B4 00000000 */ nop

View file

@ -1,29 +0,0 @@
.late_rodata
glabel D_80A1504C
.word 0x450FC000
.text
glabel func_80A14960
/* 018F0 80A14960 8FAF0014 */ lw $t7, 0x0014($sp)
/* 018F4 80A14964 3C0E80A1 */ lui $t6, %hi(func_80A14E28) ## $t6 = 80A10000
/* 018F8 80A14968 25CE4E28 */ addiu $t6, $t6, %lo(func_80A14E28) ## $t6 = 80A14E28
/* 018FC 80A1496C 8DF80134 */ lw $t8, 0x0134($t7) ## 00000134
/* 01900 80A14970 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 01904 80A14974 15D80007 */ bne $t6, $t8, .L80A14994
/* 01908 80A14978 00000000 */ nop
/* 0190C 80A1497C 90991C27 */ lbu $t9, 0x1C27($a0) ## 00001C27
/* 01910 80A14980 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
/* 01914 80A14984 17200003 */ bne $t9, $zero, .L80A14994
/* 01918 80A14988 00000000 */ nop
/* 0191C 80A1498C 03E00008 */ jr $ra
/* 01920 80A14990 ACC00000 */ sw $zero, 0x0000($a2) ## 00000000
.L80A14994:
/* 01924 80A14994 14A10005 */ bne $a1, $at, .L80A149AC
/* 01928 80A14998 3C0180A1 */ lui $at, %hi(D_80A1504C) ## $at = 80A10000
/* 0192C 80A1499C C426504C */ lwc1 $f6, %lo(D_80A1504C)($at)
/* 01930 80A149A0 C4E40004 */ lwc1 $f4, 0x0004($a3) ## 00000004
/* 01934 80A149A4 46062200 */ add.s $f8, $f4, $f6
/* 01938 80A149A8 E4E80004 */ swc1 $f8, 0x0004($a3) ## 00000004
.L80A149AC:
/* 0193C 80A149AC 03E00008 */ jr $ra
/* 01940 80A149B0 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000

View file

@ -1,251 +0,0 @@
glabel func_80A149B4
/* 01944 80A149B4 27BDFF60 */ addiu $sp, $sp, 0xFF60 ## $sp = FFFFFF60
/* 01948 80A149B8 AFB00030 */ sw $s0, 0x0030($sp)
/* 0194C 80A149BC 8FB000B0 */ lw $s0, 0x00B0($sp)
/* 01950 80A149C0 AFBF0034 */ sw $ra, 0x0034($sp)
/* 01954 80A149C4 AFA400A0 */ sw $a0, 0x00A0($sp)
/* 01958 80A149C8 AFA600A8 */ sw $a2, 0x00A8($sp)
/* 0195C 80A149CC AFA700AC */ sw $a3, 0x00AC($sp)
/* 01960 80A149D0 920E01B9 */ lbu $t6, 0x01B9($s0) ## 000001B9
/* 01964 80A149D4 2401001B */ addiu $at, $zero, 0x001B ## $at = 0000001B
/* 01968 80A149D8 55C0000D */ bnel $t6, $zero, .L80A14A10
/* 0196C 80A149DC 920201B8 */ lbu $v0, 0x01B8($s0) ## 000001B8
/* 01970 80A149E0 14A1000A */ bne $a1, $at, .L80A14A0C
/* 01974 80A149E4 8FA400B4 */ lw $a0, 0x00B4($sp)
/* 01978 80A149E8 8C830000 */ lw $v1, 0x0000($a0) ## 00000000
/* 0197C 80A149EC 3C190600 */ lui $t9, 0x0600 ## $t9 = 06000000
/* 01980 80A149F0 27391678 */ addiu $t9, $t9, 0x1678 ## $t9 = 06001678
/* 01984 80A149F4 246F0008 */ addiu $t7, $v1, 0x0008 ## $t7 = 00000008
/* 01988 80A149F8 AC8F0000 */ sw $t7, 0x0000($a0) ## 00000000
/* 0198C 80A149FC 3C18DE00 */ lui $t8, 0xDE00 ## $t8 = DE000000
/* 01990 80A14A00 AC780000 */ sw $t8, 0x0000($v1) ## 00000000
/* 01994 80A14A04 100000AF */ beq $zero, $zero, .L80A14CC4
/* 01998 80A14A08 AC790004 */ sw $t9, 0x0004($v1) ## 00000004
.L80A14A0C:
/* 0199C 80A14A0C 920201B8 */ lbu $v0, 0x01B8($s0) ## 000001B8
.L80A14A10:
/* 019A0 80A14A10 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 019A4 80A14A14 10410002 */ beq $v0, $at, .L80A14A20
/* 019A8 80A14A18 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
/* 019AC 80A14A1C 144100A9 */ bne $v0, $at, .L80A14CC4
.L80A14A20:
/* 019B0 80A14A20 2402000F */ addiu $v0, $zero, 0x000F ## $v0 = 0000000F
/* 019B4 80A14A24 10A20003 */ beq $a1, $v0, .L80A14A34
/* 019B8 80A14A28 24010015 */ addiu $at, $zero, 0x0015 ## $at = 00000015
/* 019BC 80A14A2C 54A100A6 */ bnel $a1, $at, .L80A14CC8
/* 019C0 80A14A30 2402000F */ addiu $v0, $zero, 0x000F ## $v0 = 0000000F
.L80A14A34:
/* 019C4 80A14A34 8E0B01B4 */ lw $t3, 0x01B4($s0) ## 000001B4
/* 019C8 80A14A38 3C0A80A1 */ lui $t2, %hi(func_80A13D68) ## $t2 = 80A10000
/* 019CC 80A14A3C 254A3D68 */ addiu $t2, $t2, %lo(func_80A13D68) ## $t2 = 80A13D68
/* 019D0 80A14A40 114B001C */ beq $t2, $t3, .L80A14AB4
/* 019D4 80A14A44 27A40048 */ addiu $a0, $sp, 0x0048 ## $a0 = FFFFFFA8
/* 019D8 80A14A48 0C034236 */ jal Matrix_Get
/* 019DC 80A14A4C AFA500A4 */ sw $a1, 0x00A4($sp)
/* 019E0 80A14A50 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 019E4 80A14A54 00000000 */ nop
/* 019E8 80A14A58 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000
/* 019EC 80A14A5C 44812000 */ mtc1 $at, $f4 ## $f4 = 5.00
/* 019F0 80A14A60 C7A80078 */ lwc1 $f8, 0x0078($sp)
/* 019F4 80A14A64 46040182 */ mul.s $f6, $f0, $f4
/* 019F8 80A14A68 46083280 */ add.s $f10, $f6, $f8
/* 019FC 80A14A6C 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 01A00 80A14A70 E7AA0094 */ swc1 $f10, 0x0094($sp)
/* 01A04 80A14A74 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000
/* 01A08 80A14A78 44818000 */ mtc1 $at, $f16 ## $f16 = 5.00
/* 01A0C 80A14A7C C7A4007C */ lwc1 $f4, 0x007C($sp)
/* 01A10 80A14A80 46100482 */ mul.s $f18, $f0, $f16
/* 01A14 80A14A84 46049180 */ add.s $f6, $f18, $f4
/* 01A18 80A14A88 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 01A1C 80A14A8C E7A60098 */ swc1 $f6, 0x0098($sp)
/* 01A20 80A14A90 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000
/* 01A24 80A14A94 44814000 */ mtc1 $at, $f8 ## $f8 = 5.00
/* 01A28 80A14A98 C7B00080 */ lwc1 $f16, 0x0080($sp)
/* 01A2C 80A14A9C 2408FFD8 */ addiu $t0, $zero, 0xFFD8 ## $t0 = FFFFFFD8
/* 01A30 80A14AA0 46080282 */ mul.s $f10, $f0, $f8
/* 01A34 80A14AA4 24090003 */ addiu $t1, $zero, 0x0003 ## $t1 = 00000003
/* 01A38 80A14AA8 46105480 */ add.s $f18, $f10, $f16
/* 01A3C 80A14AAC 1000006B */ beq $zero, $zero, .L80A14C5C
/* 01A40 80A14AB0 E7B2009C */ swc1 $f18, 0x009C($sp)
.L80A14AB4:
/* 01A44 80A14AB4 54A20030 */ bnel $a1, $v0, .L80A14B78
/* 01A48 80A14AB8 860401BA */ lh $a0, 0x01BA($s0) ## 000001BA
/* 01A4C 80A14ABC 860401BA */ lh $a0, 0x01BA($s0) ## 000001BA
/* 01A50 80A14AC0 AFA500A4 */ sw $a1, 0x00A4($sp)
/* 01A54 80A14AC4 00800821 */ addu $at, $a0, $zero
/* 01A58 80A14AC8 000420C0 */ sll $a0, $a0, 3
/* 01A5C 80A14ACC 00812021 */ addu $a0, $a0, $at
/* 01A60 80A14AD0 000420C0 */ sll $a0, $a0, 3
/* 01A64 80A14AD4 00812023 */ subu $a0, $a0, $at
/* 01A68 80A14AD8 000420C0 */ sll $a0, $a0, 3
/* 01A6C 80A14ADC 00812021 */ addu $a0, $a0, $at
/* 01A70 80A14AE0 00042080 */ sll $a0, $a0, 2
/* 01A74 80A14AE4 00812023 */ subu $a0, $a0, $at
/* 01A78 80A14AE8 00042080 */ sll $a0, $a0, 2
/* 01A7C 80A14AEC 00042400 */ sll $a0, $a0, 16
/* 01A80 80A14AF0 0C01DE1C */ jal Math_Sins
## sins?
/* 01A84 80A14AF4 00042403 */ sra $a0, $a0, 16
/* 01A88 80A14AF8 860C01BA */ lh $t4, 0x01BA($s0) ## 000001BA
/* 01A8C 80A14AFC C60A0024 */ lwc1 $f10, 0x0024($s0) ## 00000024
/* 01A90 80A14B00 448C2000 */ mtc1 $t4, $f4 ## $f4 = 0.00
/* 01A94 80A14B04 00000000 */ nop
/* 01A98 80A14B08 468021A0 */ cvt.s.w $f6, $f4
/* 01A9C 80A14B0C 46060202 */ mul.s $f8, $f0, $f6
/* 01AA0 80A14B10 460A4400 */ add.s $f16, $f8, $f10
/* 01AA4 80A14B14 E7B00094 */ swc1 $f16, 0x0094($sp)
/* 01AA8 80A14B18 860401BA */ lh $a0, 0x01BA($s0) ## 000001BA
/* 01AAC 80A14B1C 00800821 */ addu $at, $a0, $zero
/* 01AB0 80A14B20 000420C0 */ sll $a0, $a0, 3
/* 01AB4 80A14B24 00812021 */ addu $a0, $a0, $at
/* 01AB8 80A14B28 000420C0 */ sll $a0, $a0, 3
/* 01ABC 80A14B2C 00812023 */ subu $a0, $a0, $at
/* 01AC0 80A14B30 000420C0 */ sll $a0, $a0, 3
/* 01AC4 80A14B34 00812021 */ addu $a0, $a0, $at
/* 01AC8 80A14B38 00042080 */ sll $a0, $a0, 2
/* 01ACC 80A14B3C 00812023 */ subu $a0, $a0, $at
/* 01AD0 80A14B40 00042080 */ sll $a0, $a0, 2
/* 01AD4 80A14B44 00042400 */ sll $a0, $a0, 16
/* 01AD8 80A14B48 0C01DE0D */ jal Math_Coss
## coss?
/* 01ADC 80A14B4C 00042403 */ sra $a0, $a0, 16
/* 01AE0 80A14B50 860D01BA */ lh $t5, 0x01BA($s0) ## 000001BA
/* 01AE4 80A14B54 C608002C */ lwc1 $f8, 0x002C($s0) ## 0000002C
/* 01AE8 80A14B58 448D9000 */ mtc1 $t5, $f18 ## $f18 = 0.00
/* 01AEC 80A14B5C 00000000 */ nop
/* 01AF0 80A14B60 46809120 */ cvt.s.w $f4, $f18
/* 01AF4 80A14B64 46040182 */ mul.s $f6, $f0, $f4
/* 01AF8 80A14B68 46083280 */ add.s $f10, $f6, $f8
/* 01AFC 80A14B6C 1000002E */ beq $zero, $zero, .L80A14C28
/* 01B00 80A14B70 E7AA009C */ swc1 $f10, 0x009C($sp)
/* 01B04 80A14B74 860401BA */ lh $a0, 0x01BA($s0) ## 000001BA
.L80A14B78:
/* 01B08 80A14B78 AFA500A4 */ sw $a1, 0x00A4($sp)
/* 01B0C 80A14B7C 00800821 */ addu $at, $a0, $zero
/* 01B10 80A14B80 000420C0 */ sll $a0, $a0, 3
/* 01B14 80A14B84 00812021 */ addu $a0, $a0, $at
/* 01B18 80A14B88 000420C0 */ sll $a0, $a0, 3
/* 01B1C 80A14B8C 00812023 */ subu $a0, $a0, $at
/* 01B20 80A14B90 000420C0 */ sll $a0, $a0, 3
/* 01B24 80A14B94 00812021 */ addu $a0, $a0, $at
/* 01B28 80A14B98 00042080 */ sll $a0, $a0, 2
/* 01B2C 80A14B9C 00812023 */ subu $a0, $a0, $at
/* 01B30 80A14BA0 00042080 */ sll $a0, $a0, 2
/* 01B34 80A14BA4 00042400 */ sll $a0, $a0, 16
/* 01B38 80A14BA8 0C01DE1C */ jal Math_Sins
## sins?
/* 01B3C 80A14BAC 00042403 */ sra $a0, $a0, 16
/* 01B40 80A14BB0 860E01BA */ lh $t6, 0x01BA($s0) ## 000001BA
/* 01B44 80A14BB4 C6100024 */ lwc1 $f16, 0x0024($s0) ## 00000024
/* 01B48 80A14BB8 448E9000 */ mtc1 $t6, $f18 ## $f18 = 0.00
/* 01B4C 80A14BBC 00000000 */ nop
/* 01B50 80A14BC0 46809120 */ cvt.s.w $f4, $f18
/* 01B54 80A14BC4 46040182 */ mul.s $f6, $f0, $f4
/* 01B58 80A14BC8 46068201 */ sub.s $f8, $f16, $f6
/* 01B5C 80A14BCC E7A80094 */ swc1 $f8, 0x0094($sp)
/* 01B60 80A14BD0 860401BA */ lh $a0, 0x01BA($s0) ## 000001BA
/* 01B64 80A14BD4 00800821 */ addu $at, $a0, $zero
/* 01B68 80A14BD8 000420C0 */ sll $a0, $a0, 3
/* 01B6C 80A14BDC 00812021 */ addu $a0, $a0, $at
/* 01B70 80A14BE0 000420C0 */ sll $a0, $a0, 3
/* 01B74 80A14BE4 00812023 */ subu $a0, $a0, $at
/* 01B78 80A14BE8 000420C0 */ sll $a0, $a0, 3
/* 01B7C 80A14BEC 00812021 */ addu $a0, $a0, $at
/* 01B80 80A14BF0 00042080 */ sll $a0, $a0, 2
/* 01B84 80A14BF4 00812023 */ subu $a0, $a0, $at
/* 01B88 80A14BF8 00042080 */ sll $a0, $a0, 2
/* 01B8C 80A14BFC 00042400 */ sll $a0, $a0, 16
/* 01B90 80A14C00 0C01DE0D */ jal Math_Coss
## coss?
/* 01B94 80A14C04 00042403 */ sra $a0, $a0, 16
/* 01B98 80A14C08 860F01BA */ lh $t7, 0x01BA($s0) ## 000001BA
/* 01B9C 80A14C0C C60A002C */ lwc1 $f10, 0x002C($s0) ## 0000002C
/* 01BA0 80A14C10 448F9000 */ mtc1 $t7, $f18 ## $f18 = 0.00
/* 01BA4 80A14C14 00000000 */ nop
/* 01BA8 80A14C18 46809120 */ cvt.s.w $f4, $f18
/* 01BAC 80A14C1C 46040402 */ mul.s $f16, $f0, $f4
/* 01BB0 80A14C20 46105181 */ sub.s $f6, $f10, $f16
/* 01BB4 80A14C24 E7A6009C */ swc1 $f6, 0x009C($sp)
.L80A14C28:
/* 01BB8 80A14C28 861801BA */ lh $t8, 0x01BA($s0) ## 000001BA
/* 01BBC 80A14C2C 2419000F */ addiu $t9, $zero, 0x000F ## $t9 = 0000000F
/* 01BC0 80A14C30 3C013FC0 */ lui $at, 0x3FC0 ## $at = 3FC00000
/* 01BC4 80A14C34 03385023 */ subu $t2, $t9, $t8
/* 01BC8 80A14C38 448A4000 */ mtc1 $t2, $f8 ## $f8 = 0.00
/* 01BCC 80A14C3C 44812000 */ mtc1 $at, $f4 ## $f4 = 1.50
/* 01BD0 80A14C40 C6100028 */ lwc1 $f16, 0x0028($s0) ## 00000028
/* 01BD4 80A14C44 468044A0 */ cvt.s.w $f18, $f8
/* 01BD8 80A14C48 2408FFFB */ addiu $t0, $zero, 0xFFFB ## $t0 = FFFFFFFB
/* 01BDC 80A14C4C 2409000A */ addiu $t1, $zero, 0x000A ## $t1 = 0000000A
/* 01BE0 80A14C50 46049282 */ mul.s $f10, $f18, $f4
/* 01BE4 80A14C54 460A8180 */ add.s $f6, $f16, $f10
/* 01BE8 80A14C58 E7A60098 */ swc1 $f6, 0x0098($sp)
.L80A14C5C:
/* 01BEC 80A14C5C 920B01B8 */ lbu $t3, 0x01B8($s0) ## 000001B8
/* 01BF0 80A14C60 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 01BF4 80A14C64 8FA400A0 */ lw $a0, 0x00A0($sp)
/* 01BF8 80A14C68 15610006 */ bne $t3, $at, .L80A14C84
/* 01BFC 80A14C6C 27A50094 */ addiu $a1, $sp, 0x0094 ## $a1 = FFFFFFF4
/* 01C00 80A14C70 3C0280A1 */ lui $v0, %hi(D_80A14FA0) ## $v0 = 80A10000
/* 01C04 80A14C74 3C0380A1 */ lui $v1, %hi(D_80A14FA4) ## $v1 = 80A10000
/* 01C08 80A14C78 24424FA0 */ addiu $v0, $v0, %lo(D_80A14FA0) ## $v0 = 80A14FA0
/* 01C0C 80A14C7C 10000005 */ beq $zero, $zero, .L80A14C94
/* 01C10 80A14C80 24634FA4 */ addiu $v1, $v1, %lo(D_80A14FA4) ## $v1 = 80A14FA4
.L80A14C84:
/* 01C14 80A14C84 3C0280A1 */ lui $v0, %hi(D_80A14FA8) ## $v0 = 80A10000
/* 01C18 80A14C88 3C0380A1 */ lui $v1, %hi(D_80A14FAC) ## $v1 = 80A10000
/* 01C1C 80A14C8C 24424FA8 */ addiu $v0, $v0, %lo(D_80A14FA8) ## $v0 = 80A14FA8
/* 01C20 80A14C90 24634FAC */ addiu $v1, $v1, %lo(D_80A14FAC) ## $v1 = 80A14FAC
.L80A14C94:
/* 01C24 80A14C94 3C0680A1 */ lui $a2, %hi(D_80A14FB0) ## $a2 = 80A10000
/* 01C28 80A14C98 3C0780A1 */ lui $a3, %hi(D_80A14FBC) ## $a3 = 80A10000
/* 01C2C 80A14C9C 240C00FA */ addiu $t4, $zero, 0x00FA ## $t4 = 000000FA
/* 01C30 80A14CA0 AFAC0018 */ sw $t4, 0x0018($sp)
/* 01C34 80A14CA4 24E74FBC */ addiu $a3, $a3, %lo(D_80A14FBC) ## $a3 = 80A14FBC
/* 01C38 80A14CA8 24C64FB0 */ addiu $a2, $a2, %lo(D_80A14FB0) ## $a2 = 80A14FB0
/* 01C3C 80A14CAC AFA20010 */ sw $v0, 0x0010($sp)
/* 01C40 80A14CB0 AFA30014 */ sw $v1, 0x0014($sp)
/* 01C44 80A14CB4 AFA8001C */ sw $t0, 0x001C($sp)
/* 01C48 80A14CB8 0C00A10F */ jal func_8002843C
/* 01C4C 80A14CBC AFA90020 */ sw $t1, 0x0020($sp)
/* 01C50 80A14CC0 8FA500A4 */ lw $a1, 0x00A4($sp)
.L80A14CC4:
/* 01C54 80A14CC4 2402000F */ addiu $v0, $zero, 0x000F ## $v0 = 0000000F
.L80A14CC8:
/* 01C58 80A14CC8 10A20005 */ beq $a1, $v0, .L80A14CE0
/* 01C5C 80A14CCC 24010015 */ addiu $at, $zero, 0x0015 ## $at = 00000015
/* 01C60 80A14CD0 10A10003 */ beq $a1, $at, .L80A14CE0
/* 01C64 80A14CD4 2401000A */ addiu $at, $zero, 0x000A ## $at = 0000000A
/* 01C68 80A14CD8 54A10015 */ bnel $a1, $at, .L80A14D30
/* 01C6C 80A14CDC 8FBF0034 */ lw $ra, 0x0034($sp)
.L80A14CE0:
/* 01C70 80A14CE0 14A20003 */ bne $a1, $v0, .L80A14CF0
/* 01C74 80A14CE4 3C0480A1 */ lui $a0, %hi(D_80A14FC8) ## $a0 = 80A10000
/* 01C78 80A14CE8 10000007 */ beq $zero, $zero, .L80A14D08
/* 01C7C 80A14CEC 2605014C */ addiu $a1, $s0, 0x014C ## $a1 = 0000014C
.L80A14CF0:
/* 01C80 80A14CF0 24010015 */ addiu $at, $zero, 0x0015 ## $at = 00000015
/* 01C84 80A14CF4 54A10004 */ bnel $a1, $at, .L80A14D08
/* 01C88 80A14CF8 26050164 */ addiu $a1, $s0, 0x0164 ## $a1 = 00000164
/* 01C8C 80A14CFC 10000002 */ beq $zero, $zero, .L80A14D08
/* 01C90 80A14D00 26050158 */ addiu $a1, $s0, 0x0158 ## $a1 = 00000158
/* 01C94 80A14D04 26050164 */ addiu $a1, $s0, 0x0164 ## $a1 = 00000164
.L80A14D08:
/* 01C98 80A14D08 24844FC8 */ addiu $a0, $a0, %lo(D_80A14FC8) ## $a0 = 80A14FC8
/* 01C9C 80A14D0C 0C0346BD */ jal Matrix_MultVec3f
/* 01CA0 80A14D10 AFA50090 */ sw $a1, 0x0090($sp)
/* 01CA4 80A14D14 8FA50090 */ lw $a1, 0x0090($sp)
/* 01CA8 80A14D18 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000
/* 01CAC 80A14D1C 44819000 */ mtc1 $at, $f18 ## $f18 = 5.00
/* 01CB0 80A14D20 C4A80004 */ lwc1 $f8, 0x0004($a1) ## 00000004
/* 01CB4 80A14D24 46124101 */ sub.s $f4, $f8, $f18
/* 01CB8 80A14D28 E4A40004 */ swc1 $f4, 0x0004($a1) ## 00000004
/* 01CBC 80A14D2C 8FBF0034 */ lw $ra, 0x0034($sp)
.L80A14D30:
/* 01CC0 80A14D30 8FB00030 */ lw $s0, 0x0030($sp)
/* 01CC4 80A14D34 27BD00A0 */ addiu $sp, $sp, 0x00A0 ## $sp = 00000000
/* 01CC8 80A14D38 03E00008 */ jr $ra
/* 01CCC 80A14D3C 00000000 */ nop

View file

@ -1,71 +0,0 @@
.rdata
glabel D_80A15008
.asciz "../z_en_firefly.c"
.balign 4
glabel D_80A1501C
.asciz "../z_en_firefly.c"
.balign 4
.text
glabel func_80A14E28
/* 01DB8 80A14E28 27BDFFA8 */ addiu $sp, $sp, 0xFFA8 ## $sp = FFFFFFA8
/* 01DBC 80A14E2C AFBF002C */ sw $ra, 0x002C($sp)
/* 01DC0 80A14E30 AFB00028 */ sw $s0, 0x0028($sp)
/* 01DC4 80A14E34 AFA40058 */ sw $a0, 0x0058($sp)
/* 01DC8 80A14E38 AFA5005C */ sw $a1, 0x005C($sp)
/* 01DCC 80A14E3C 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000
/* 01DD0 80A14E40 3C0680A1 */ lui $a2, %hi(D_80A15008) ## $a2 = 80A10000
/* 01DD4 80A14E44 24C65008 */ addiu $a2, $a2, %lo(D_80A15008) ## $a2 = 80A15008
/* 01DD8 80A14E48 27A40040 */ addiu $a0, $sp, 0x0040 ## $a0 = FFFFFFE8
/* 01DDC 80A14E4C 240706EF */ addiu $a3, $zero, 0x06EF ## $a3 = 000006EF
/* 01DE0 80A14E50 0C031AB1 */ jal Graph_OpenDisps
/* 01DE4 80A14E54 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000
/* 01DE8 80A14E58 8FAF005C */ lw $t7, 0x005C($sp)
/* 01DEC 80A14E5C 0C024F61 */ jal func_80093D84
/* 01DF0 80A14E60 8DE40000 */ lw $a0, 0x0000($t7) ## 00000000
/* 01DF4 80A14E64 8FA80058 */ lw $t0, 0x0058($sp)
/* 01DF8 80A14E68 3C0780A1 */ lui $a3, %hi(func_80A14960) ## $a3 = 80A10000
/* 01DFC 80A14E6C 3C0D80A1 */ lui $t5, %hi(func_80A149B4) ## $t5 = 80A10000
/* 01E00 80A14E70 911801B9 */ lbu $t8, 0x01B9($t0) ## 000001B9
/* 01E04 80A14E74 25AD49B4 */ addiu $t5, $t5, %lo(func_80A149B4) ## $t5 = 80A149B4
/* 01E08 80A14E78 24E74960 */ addiu $a3, $a3, %lo(func_80A14960) ## $a3 = 80A14960
/* 01E0C 80A14E7C 53000009 */ beql $t8, $zero, .L80A14EA4
/* 01E10 80A14E80 8E0302D0 */ lw $v1, 0x02D0($s0) ## 000002D0
/* 01E14 80A14E84 8E0302D0 */ lw $v1, 0x02D0($s0) ## 000002D0
/* 01E18 80A14E88 3C09FB00 */ lui $t1, 0xFB00 ## $t1 = FB000000
/* 01E1C 80A14E8C 24790008 */ addiu $t9, $v1, 0x0008 ## $t9 = 00000008
/* 01E20 80A14E90 AE1902D0 */ sw $t9, 0x02D0($s0) ## 000002D0
/* 01E24 80A14E94 AC600004 */ sw $zero, 0x0004($v1) ## 00000004
/* 01E28 80A14E98 10000008 */ beq $zero, $zero, .L80A14EBC
/* 01E2C 80A14E9C AC690000 */ sw $t1, 0x0000($v1) ## 00000000
/* 01E30 80A14EA0 8E0302D0 */ lw $v1, 0x02D0($s0) ## 000002D0
.L80A14EA4:
/* 01E34 80A14EA4 3C0BFB00 */ lui $t3, 0xFB00 ## $t3 = FB000000
/* 01E38 80A14EA8 240C00FF */ addiu $t4, $zero, 0x00FF ## $t4 = 000000FF
/* 01E3C 80A14EAC 246A0008 */ addiu $t2, $v1, 0x0008 ## $t2 = 00000008
/* 01E40 80A14EB0 AE0A02D0 */ sw $t2, 0x02D0($s0) ## 000002D0
/* 01E44 80A14EB4 AC6C0004 */ sw $t4, 0x0004($v1) ## 00000004
/* 01E48 80A14EB8 AC6B0000 */ sw $t3, 0x0000($v1) ## 00000000
.L80A14EBC:
/* 01E4C 80A14EBC 8D050174 */ lw $a1, 0x0174($t0) ## 00000174
/* 01E50 80A14EC0 8D060190 */ lw $a2, 0x0190($t0) ## 00000190
/* 01E54 80A14EC4 AFA80014 */ sw $t0, 0x0014($sp)
/* 01E58 80A14EC8 AFAD0010 */ sw $t5, 0x0010($sp)
/* 01E5C 80A14ECC 8E0E02D0 */ lw $t6, 0x02D0($s0) ## 000002D0
/* 01E60 80A14ED0 8FA4005C */ lw $a0, 0x005C($sp)
/* 01E64 80A14ED4 0C0288A2 */ jal SkelAnime_Draw
/* 01E68 80A14ED8 AFAE0018 */ sw $t6, 0x0018($sp)
/* 01E6C 80A14EDC AE0202D0 */ sw $v0, 0x02D0($s0) ## 000002D0
/* 01E70 80A14EE0 8FAF005C */ lw $t7, 0x005C($sp)
/* 01E74 80A14EE4 3C0680A1 */ lui $a2, %hi(D_80A1501C) ## $a2 = 80A10000
/* 01E78 80A14EE8 24C6501C */ addiu $a2, $a2, %lo(D_80A1501C) ## $a2 = 80A1501C
/* 01E7C 80A14EEC 27A40040 */ addiu $a0, $sp, 0x0040 ## $a0 = FFFFFFE8
/* 01E80 80A14EF0 2407070D */ addiu $a3, $zero, 0x070D ## $a3 = 0000070D
/* 01E84 80A14EF4 0C031AD5 */ jal Graph_CloseDisps
/* 01E88 80A14EF8 8DE50000 */ lw $a1, 0x0000($t7) ## 00000000
/* 01E8C 80A14EFC 8FBF002C */ lw $ra, 0x002C($sp)
/* 01E90 80A14F00 8FB00028 */ lw $s0, 0x0028($sp)
/* 01E94 80A14F04 27BD0058 */ addiu $sp, $sp, 0x0058 ## $sp = 00000000
/* 01E98 80A14F08 03E00008 */ jr $ra
/* 01E9C 80A14F0C 00000000 */ nop

View file

@ -1,44 +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_Firefly_InitVars
.word 0x00130500, 0x00005005, 0x000D0000, 0x00000374
.word EnFirefly_Init
.word EnFirefly_Destroy
.word EnFirefly_Update
.word EnFirefly_Draw
glabel D_80A14F30
.word 0x00000000, 0xFFCFFFFF, 0x01080000, 0xFFCFFFFF, 0x00000000, 0x09010100, 0x01000000, 0x03E80000, 0x000F0064
glabel D_80A14F54
.word 0x03110939, 0x10000000, 0x00000001
glabel D_80A14F60
.word D_80A14F30
glabel D_80A14F64
.word 0x0100000A, 0x000A1E00
glabel D_80A14F6C
.word 0x10020102, 0x01020202, 0x010204F2, 0x34020202, 0x02203400, 0x00000104, 0x02020804, 0x00000400
glabel D_80A14F8C
.word 0xC8500005, 0xB86CFE0C, 0xB070FFFC, 0x801F0002, 0x304C0FA0
glabel D_80A14FA0
.word 0xFFFF64FF
glabel D_80A14FA4
.word 0xFF320000
glabel D_80A14FA8
.word 0x64C8FFFF
glabel D_80A14FAC
.word 0x0000FF00
glabel D_80A14FB0
.word 0x00000000, 0x3F000000, 0x00000000
glabel D_80A14FBC
.word 0x00000000, 0x3F000000, 0x00000000
glabel D_80A14FC8
.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000

View file

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

3
spec
View file

@ -2288,8 +2288,7 @@ endseg
beginseg
name "ovl_En_Firefly"
include "build/src/overlays/actors/ovl_En_Firefly/z_en_firefly.o"
include "build/data/overlays/actors/z_en_firefly.data.o"
include "build/data/overlays/actors/z_en_firefly.reloc.o"
include "build/src/overlays/actors/ovl_En_Firefly/ovl_En_Firefly_reloc.o"
endseg
beginseg

View file

@ -1,4 +1,5 @@
#include "z_en_firefly.h"
#include "overlays/actors/ovl_Obj_Syokudai/z_obj_syokudai.h"
#define FLAGS 0x00005005
@ -9,7 +10,25 @@ void EnFirefly_Destroy(Actor* thisx, GlobalContext* globalCtx);
void EnFirefly_Update(Actor* thisx, GlobalContext* globalCtx);
void EnFirefly_Draw(Actor* thisx, GlobalContext* globalCtx);
/*
void EnFirefly_DrawInvisible(Actor* thisx, GlobalContext* globalCtx);
void EnFirefly_FlyIdle(EnFirefly* this, GlobalContext* globalCtx);
void EnFirefly_Fall(EnFirefly* this, GlobalContext* globalCtx);
void EnFirefly_Die(EnFirefly* this, GlobalContext* globalCtx);
void EnFirefly_DiveAttack(EnFirefly* this, GlobalContext* globalCtx);
void EnFirefly_Rebound(EnFirefly* this, GlobalContext* globalCtx);
void EnFirefly_FlyAway(EnFirefly* this, GlobalContext* globalCtx);
void EnFirefly_Stunned(EnFirefly* this, GlobalContext* globalCtx);
void EnFirefly_FrozenFall(EnFirefly* this, GlobalContext* globalCtx);
void EnFirefly_Perch(EnFirefly* this, GlobalContext* globalCtx);
void EnFirefly_DisturbDiveAttack(EnFirefly* this, GlobalContext* globalCtx);
typedef enum {
/* 0 */ KEESE_AURA_NONE,
/* 1 */ KEESE_AURA_FIRE,
/* 2 */ KEESE_AURA_ICE
} KeeseAuraType;
const ActorInit En_Firefly_InitVars = {
ACTOR_EN_FIREFLY,
ACTORTYPE_ENEMY,
@ -21,69 +40,747 @@ const ActorInit En_Firefly_InitVars = {
(ActorFunc)EnFirefly_Update,
(ActorFunc)EnFirefly_Draw,
};
*/
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Firefly/func_80A13070.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Firefly/func_80A13098.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Firefly/EnFirefly_Init.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Firefly/EnFirefly_Destroy.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Firefly/func_80A132F4.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Firefly/func_80A133A0.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Firefly/func_80A13444.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Firefly/func_80A13464.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Firefly/func_80A1349C.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Firefly/func_80A1350C.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Firefly/func_80A13538.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Firefly/func_80A135A8.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Firefly/func_80A13744.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Firefly/func_80A13764.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Firefly/func_80A1379C.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Firefly/func_80A138B8.s")
static ColliderJntSphItemInit sJntSphItemsInit[] = { {
{ 0x00, { 0xFFCFFFFF, 0x01, 0x08 }, { 0xFFCFFFFF, 0x00, 0x00 }, 0x09, 0x01, 0x01 },
{ 1, { { 0, 1000, 0 }, 15 }, 100 },
} };
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Firefly/func_80A13A08.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Firefly/func_80A13C98.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Firefly/func_80A13D68.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Firefly/func_80A13DE4.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Firefly/func_80A13FF4.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Firefly/func_80A14088.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Firefly/func_80A141F0.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Firefly/func_80A14294.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Firefly/func_80A142F4.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Firefly/func_80A143B4.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Firefly/func_80A1448C.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Firefly/func_80A1450C.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Firefly/EnFirefly_Update.s")
static ColliderJntSphInit sJntSphInit = {
{ COLTYPE_UNK3, 0x11, 0x09, 0x39, 0x10, COLSHAPE_JNTSPH },
1,
&sJntSphItemsInit[0],
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Firefly/func_80A14960.s")
static CollisionCheckInfoInit sColChkInfoInit = { 1, 10, 10, 30 };
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Firefly/func_80A149B4.s")
static DamageTable sDamageTable = {
0x10, 0x02, 0x01, 0x02, 0x01, 0x02, 0x02, 0x02, 0x01, 0x02, 0x04, 0xF2, 0x34, 0x02, 0x02, 0x02,
0x02, 0x20, 0x34, 0x00, 0x00, 0x00, 0x01, 0x04, 0x02, 0x02, 0x08, 0x04, 0x00, 0x00, 0x04, 0x00,
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Firefly/EnFirefly_Draw.s")
static InitChainEntry sInitChain[] = {
ICHAIN_VEC3F_DIV1000(scale, 5, ICHAIN_CONTINUE), ICHAIN_F32_DIV1000(gravity, -500, ICHAIN_CONTINUE),
ICHAIN_F32(minVelocityY, -4, ICHAIN_CONTINUE), ICHAIN_U8(unk_1F, 2, ICHAIN_CONTINUE),
ICHAIN_F32(unk_4C, 4000, ICHAIN_STOP),
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Firefly/func_80A14E28.s")
extern SkeletonHeader D_060018B8;
extern AnimationHeader D_0600017C;
extern Gfx D_06001678[];
void EnFirefly_Extinguish(EnFirefly* this) {
this->actor.params += 2;
this->collider.list->body.toucher.effect = 0; // None
this->auraType = KEESE_AURA_NONE;
this->onFire = false;
this->actor.naviEnemyId = 0x12; // Keese
}
void EnFirefly_Ignite(EnFirefly* this) {
if (this->actor.params == KEESE_ICE_FLY) {
this->actor.params = KEESE_FIRE_FLY;
} else {
this->actor.params -= 2;
}
this->collider.list->body.toucher.effect = 1; // Fire
this->auraType = KEESE_AURA_FIRE;
this->onFire = true;
this->actor.naviEnemyId = 0x11; // Fire Keese
}
void EnFirefly_Init(Actor* thisx, GlobalContext* globalCtx) {
EnFirefly* this = THIS;
Actor_ProcessInitChain(&this->actor, sInitChain);
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawFunc_Circle, 25.0f);
SkelAnime_Init(globalCtx, &this->skelAnime, &D_060018B8, &D_0600017C, this->limbDrawTable,
this->transitionDrawTable, 28);
Collider_InitJntSph(globalCtx, &this->collider);
Collider_SetJntSph(globalCtx, &this->collider, &this->actor, &sJntSphInit, this->colliderItems);
func_80061ED4(&this->actor.colChkInfo, &sDamageTable, &sColChkInfoInit);
if ((this->actor.params & 0x8000) != 0) {
this->actor.flags |= 0x80;
if (1) {}
this->actor.draw = EnFirefly_DrawInvisible;
this->actor.params &= 0x7FFF;
}
if (this->actor.params <= KEESE_FIRE_PERCH) {
this->onFire = true;
} else {
this->onFire = false;
}
if (this->onFire) {
this->actionFunc = EnFirefly_FlyIdle;
this->timer = Math_Rand_S16Offset(20, 60);
this->actor.shape.rot.x = 0x1554;
this->auraType = KEESE_AURA_FIRE;
this->actor.naviEnemyId = 0x11; // Fire Keese
this->maxAltitude = this->actor.initPosRot.pos.y;
} else {
if (this->actor.params == KEESE_NORMAL_PERCH) {
this->actionFunc = EnFirefly_Perch;
} else {
this->actionFunc = EnFirefly_FlyIdle;
}
if (this->actor.params == KEESE_ICE_FLY) {
this->collider.list->body.toucher.effect = 2; // Ice
this->actor.naviEnemyId = 0x56; // Ice Keese
} else {
this->collider.list->body.toucher.effect = 0; // Nothing
this->actor.naviEnemyId = 0x12; // Keese
}
this->maxAltitude = this->actor.initPosRot.pos.y + 100.0f;
if (this->actor.params == KEESE_ICE_FLY) {
this->auraType = KEESE_AURA_ICE;
} else {
this->auraType = KEESE_AURA_NONE;
}
}
this->collider.list->dim.worldSphere.radius = sJntSphInit.list[0].dim.modelSphere.radius;
}
void EnFirefly_Destroy(Actor* thisx, GlobalContext* globalCtx) {
EnFirefly* this = THIS;
Collider_DestroyJntSph(globalCtx, &this->collider);
}
void EnFirefly_SetupWait(EnFirefly* this) {
this->timer = Math_Rand_S16Offset(70, 100);
this->actor.speedXZ = (Math_Rand_ZeroOne() * 1.5f) + 1.5f;
Math_ApproxUpdateScaledS(&this->actor.shape.rot.y, func_8002DAC0(&this->actor, &this->actor.initPosRot.pos), 0x300);
this->targetPitch = ((this->maxAltitude < this->actor.posRot.pos.y) ? 0xC00 : -0xC00) + 0x1554;
this->skelAnime.animPlaybackSpeed = 1.0f;
this->actionFunc = EnFirefly_FlyIdle;
}
void EnFirefly_SetupFall(EnFirefly* this) {
this->timer = 40;
this->actor.velocity.y = 0.0f;
SkelAnime_ChangeAnim(&this->skelAnime, &D_0600017C, 0.5f, 0.0f, 0.0f, 1, -3.0f);
Audio_PlayActorSound2(&this->actor, NA_SE_EN_FFLY_DEAD);
this->actor.flags |= 0x10;
func_8003426C(&this->actor, 0x4000, 0xFF, 0, 40);
this->actionFunc = EnFirefly_Fall;
}
void EnFirefly_SetupDie(EnFirefly* this) {
this->timer = 15;
this->actor.speedXZ = 0.0f;
this->actionFunc = EnFirefly_Die;
}
void EnFirefly_SetupRebound(EnFirefly* this) {
this->actor.posRot.rot.x = 0x7000;
this->timer = 18;
this->skelAnime.animPlaybackSpeed = 1.0f;
this->actor.speedXZ = 2.5f;
this->actionFunc = EnFirefly_Rebound;
}
void EnFirefly_SetupDiveAttack(EnFirefly* this) {
this->timer = Math_Rand_S16Offset(70, 100);
this->skelAnime.animPlaybackSpeed = 1.0f;
this->targetPitch = ((this->actor.yDistFromLink > 0.0f) ? -0xC00 : 0xC00) + 0x1554;
this->actionFunc = EnFirefly_DiveAttack;
}
void EnFirefly_SetupFlyAway(EnFirefly* this) {
this->timer = 150;
this->skelAnime.animPlaybackSpeed = 1.0f;
this->targetPitch = 0x954;
this->actionFunc = EnFirefly_FlyAway;
}
void EnFirefly_SetupStunned(EnFirefly* this) {
this->timer = 80;
func_8003426C(&this->actor, 0, 0xFF, 0, 80);
this->auraType = KEESE_AURA_NONE;
this->actor.velocity.y = 0.0f;
this->skelAnime.animPlaybackSpeed = 3.0f;
Audio_PlayActorSound2(&this->actor, NA_SE_EN_GOMA_JR_FREEZE);
this->actionFunc = EnFirefly_Stunned;
}
void EnFirefly_SetupFrozenFall(EnFirefly* this, GlobalContext* globalCtx) {
s32 i;
Vec3f iceParticlePos;
this->actor.flags |= 0x10;
this->auraType = KEESE_AURA_NONE;
this->actor.speedXZ = 0.0f;
func_8003426C(&this->actor, 0, 0xFF, 0, 0xFF);
Audio_PlayActorSound2(&this->actor, NA_SE_EN_FFLY_DEAD);
for (i = 0; i <= 7; i++) {
iceParticlePos.x = (i & 1 ? 7.0f : -7.0f) + this->actor.posRot.pos.x;
iceParticlePos.y = (i & 2 ? 7.0f : -7.0f) + this->actor.posRot.pos.y;
iceParticlePos.z = (i & 4 ? 7.0f : -7.0f) + this->actor.posRot.pos.z;
EffectSsEnIce_SpawnFlyingVec3f(globalCtx, &this->actor, &iceParticlePos, 150, 150, 150, 250, 235, 245, 255,
(Math_Rand_ZeroOne() * 0.15f) + 0.85f);
}
this->actionFunc = EnFirefly_FrozenFall;
}
void EnFirefly_SetupPerch(EnFirefly* this) {
this->timer = 1;
this->actor.speedXZ = 0.0f;
this->actionFunc = EnFirefly_Perch;
}
void EnFirefly_SetupDisturbDiveAttack(EnFirefly* this) {
this->skelAnime.animPlaybackSpeed = 3.0f;
this->actor.shape.rot.x = 0x1554;
this->actor.shape.rot.y = this->actor.yawTowardsLink;
this->actor.speedXZ = 3.0f;
this->timer = 50;
this->actionFunc = EnFirefly_DisturbDiveAttack;
}
s32 EnFirefly_ReturnToPerch(EnFirefly* this, GlobalContext* globalCtx) {
Player* player = PLAYER;
f32 distFromHome;
if (this->actor.params != KEESE_NORMAL_PERCH) {
return 0;
}
if (func_8002DBB0(&player->actor, &this->actor.initPosRot.pos) > 300.0f) {
distFromHome = func_8002DB6C(&this->actor, &this->actor.initPosRot.pos);
if (distFromHome < 5.0f) {
EnFirefly_SetupPerch(this);
return 1;
}
distFromHome *= 0.05f;
if (distFromHome < 1.0f) {
this->actor.speedXZ *= distFromHome;
}
Math_ApproxUpdateScaledS(&this->actor.shape.rot.y, func_8002DAC0(&this->actor, &this->actor.initPosRot.pos),
0x300);
Math_ApproxUpdateScaledS(&this->actor.shape.rot.x,
func_8002DB28(&this->actor, &this->actor.initPosRot.pos) + 0x1554, 0x100);
return 1;
}
return 0;
}
s32 EnFirefly_SeekTorch(EnFirefly* this, GlobalContext* globalCtx) {
ObjSyokudai* findTorch;
ObjSyokudai* closestTorch;
f32 torchDist;
f32 currentMinDist;
Vec3f flamePos;
findTorch = (ObjSyokudai*)globalCtx->actorCtx.actorList[ACTORTYPE_PROP].first;
closestTorch = NULL;
currentMinDist = 35000.0f;
while (findTorch != NULL) {
if ((findTorch->actor.id == ACTOR_OBJ_SYOKUDAI) && (findTorch->litTimer != 0)) {
torchDist = func_8002DB48(&this->actor, &findTorch->actor);
if (torchDist < currentMinDist) {
currentMinDist = torchDist;
closestTorch = findTorch;
}
}
findTorch = (ObjSyokudai*)findTorch->actor.next;
}
if (closestTorch != NULL) {
flamePos.x = closestTorch->actor.posRot.pos.x;
flamePos.y = closestTorch->actor.posRot.pos.y + 52.0f + 15.0f;
flamePos.z = closestTorch->actor.posRot.pos.z;
if (func_8002DB6C(&this->actor, &flamePos) < 15.0f) {
EnFirefly_Ignite(this);
return 1;
} else {
Math_ApproxUpdateScaledS(&this->actor.shape.rot.y, func_8002DA78(&this->actor, &closestTorch->actor),
0x300);
Math_ApproxUpdateScaledS(&this->actor.shape.rot.x, func_8002DB28(&this->actor, &flamePos) + 0x1554, 0x100);
return 1;
}
}
return 0;
}
void EnFirefly_FlyIdle(EnFirefly* this, GlobalContext* globalCtx) {
s32 skelanimeUpdated;
f32 rand;
SkelAnime_FrameUpdateMatrix(&this->skelAnime);
if (this->timer != 0) {
this->timer--;
}
skelanimeUpdated = func_800A56C8(&this->skelAnime, 0.0f);
this->actor.speedXZ = (Math_Rand_ZeroOne() * 1.5f) + 1.5f;
if (this->onFire || (this->actor.params == KEESE_ICE_FLY) ||
((EnFirefly_ReturnToPerch(this, globalCtx) == 0) && (EnFirefly_SeekTorch(this, globalCtx) == 0))) {
if (skelanimeUpdated) {
rand = Math_Rand_ZeroOne();
if (rand < 0.5f) {
Math_ApproxUpdateScaledS(&this->actor.shape.rot.y,
func_8002DAC0(&this->actor, &this->actor.initPosRot.pos), 0x300);
} else if (rand < 0.8f) {
this->actor.shape.rot.y += Math_Rand_CenteredFloat(1536.0f);
}
// Climb if too close to ground
if (this->actor.posRot.pos.y < (this->actor.groundY + 20.0f)) {
this->targetPitch = 0x954;
// Descend if above maxAltitude
} else if (this->maxAltitude < this->actor.posRot.pos.y) {
this->targetPitch = 0x2154;
// Otherwise ascend or descend at random, biased towards ascending
} else if (0.35f < Math_Rand_ZeroOne()) {
this->targetPitch = 0x954;
} else {
this->targetPitch = 0x2154;
}
} else {
if (this->actor.bgCheckFlags & 1) {
this->targetPitch = 0x954;
} else if ((this->actor.bgCheckFlags & 0x10) || (this->maxAltitude < this->actor.posRot.pos.y)) {
this->targetPitch = 0x2154;
}
}
Math_ApproxUpdateScaledS(&this->actor.shape.rot.x, this->targetPitch, 0x100);
}
if (this->actor.bgCheckFlags & 8) {
Math_SmoothScaleMaxMinS(&this->actor.shape.rot.y, this->actor.wallPolyRot, 2, 0xC00, 0x300);
}
if ((this->timer == 0) && (this->actor.xzDistFromLink < 200.0f) &&
(Player_GetMask(globalCtx) != PLAYER_MASK_SKULL)) {
EnFirefly_SetupDiveAttack(this);
}
}
// Fall to the ground after being hit
void EnFirefly_Fall(EnFirefly* this, GlobalContext* globalCtx) {
if (func_800A56C8(&this->skelAnime, 6.0f)) {
this->skelAnime.animPlaybackSpeed = 0.0f;
}
this->actor.dmgEffectTimer = 40;
SkelAnime_FrameUpdateMatrix(&this->skelAnime);
Math_ApproxF(&this->actor.speedXZ, 0.0f, 0.5f);
if (this->actor.flags & 0x8000) {
this->actor.dmgEffectTimer = 40;
} else {
Math_ApproxUpdateScaledS(&this->actor.shape.rot.x, 0x6800, 0x200);
this->actor.shape.rot.y = this->actor.shape.rot.y - 0x300;
if (this->timer != 0) {
this->timer--;
}
if ((this->actor.bgCheckFlags & 1) || (this->timer == 0)) {
EnFirefly_SetupDie(this);
}
}
}
// Hit the ground or burn up, spawn drops
void EnFirefly_Die(EnFirefly* this, GlobalContext* globalCtx) {
if (this->timer != 0) {
this->timer--;
}
Math_ApproxF(&this->actor.scale.x, 0.0f, 0.00034f);
this->actor.scale.y = this->actor.scale.z = this->actor.scale.x;
if (this->timer == 0) {
Item_DropCollectibleRandom(globalCtx, &this->actor, &this->actor.posRot.pos, 0xE0);
Actor_Kill(&this->actor);
}
}
void EnFirefly_DiveAttack(EnFirefly* this, GlobalContext* globalCtx) {
Player* player = PLAYER;
Vec3f preyPos;
SkelAnime_FrameUpdateMatrix(&this->skelAnime);
if (this->timer != 0) {
this->timer--;
}
Math_ApproxF(&this->actor.speedXZ, 4.0f, 0.5f);
if (this->actor.bgCheckFlags & 8) {
Math_SmoothScaleMaxMinS(&this->actor.shape.rot.y, this->actor.wallPolyRot, 2, 0xC00, 0x300);
Math_ApproxUpdateScaledS(&this->actor.shape.rot.x, this->targetPitch, 0x100);
} else if (func_8002E084(&this->actor, 0x2800)) {
if (func_800A56C8(&this->skelAnime, 4.0f)) {
this->skelAnime.animPlaybackSpeed = 0.0f;
this->skelAnime.animCurrentFrame = 4.0f;
}
Math_SmoothScaleMaxMinS(&this->actor.shape.rot.y, this->actor.yawTowardsLink, 2, 0xC00, 0x300);
preyPos.x = player->actor.posRot.pos.x;
preyPos.y = player->actor.posRot.pos.y + 20.0f;
preyPos.z = player->actor.posRot.pos.z;
Math_SmoothScaleMaxMinS(&this->actor.shape.rot.x, func_8002DB28(&this->actor, &preyPos) + 0x1554, 2, 0x400,
0x100);
} else {
this->skelAnime.animPlaybackSpeed = 1.5f;
if (this->actor.xzDistFromLink > 80.0f) {
Math_SmoothScaleMaxMinS(&this->actor.shape.rot.y, this->actor.yawTowardsLink, 2, 0xC00, 0x300);
}
if (this->actor.bgCheckFlags & 1) {
this->targetPitch = 0x954;
}
if ((this->actor.bgCheckFlags & 0x10) || (this->maxAltitude < this->actor.posRot.pos.y)) {
this->targetPitch = 0x2154;
} else {
this->targetPitch = 0x954;
}
Math_ApproxUpdateScaledS(&this->actor.shape.rot.x, this->targetPitch, 0x100);
}
if ((this->timer == 0) || (Player_GetMask(globalCtx) == PLAYER_MASK_SKULL)) {
EnFirefly_SetupFlyAway(this);
}
}
// Knockback after hitting player
void EnFirefly_Rebound(EnFirefly* this, GlobalContext* globalCtx) {
SkelAnime_FrameUpdateMatrix(&this->skelAnime);
Math_ApproxUpdateScaledS(&this->actor.shape.rot.x, 0, 0x100);
Math_ApproxF(&this->actor.velocity.y, 0.0f, 0.4f);
if (Math_ApproxF(&this->actor.speedXZ, 0.0f, 0.15f)) {
if (this->timer != 0) {
this->timer--;
}
if (this->timer == 0) {
EnFirefly_SetupFlyAway(this);
}
}
}
void EnFirefly_FlyAway(EnFirefly* this, GlobalContext* globalCtx) {
SkelAnime_FrameUpdateMatrix(&this->skelAnime);
if (this->timer != 0) {
this->timer--;
}
if (((fabsf(this->actor.posRot.pos.y - this->maxAltitude) < 10.0f) &&
(Math_Vec3f_DistXZ(&this->actor.posRot.pos, &this->actor.initPosRot.pos) < 20.0f)) ||
(this->timer == 0)) {
EnFirefly_SetupWait(this);
return;
}
Math_ApproxF(&this->actor.speedXZ, 3.0f, 0.3f);
if (this->actor.bgCheckFlags & 1) {
this->targetPitch = 0x954;
} else if ((this->actor.bgCheckFlags & 0x10) || (this->maxAltitude < this->actor.posRot.pos.y)) {
this->targetPitch = 0x2154;
} else {
this->targetPitch = 0x954;
}
if (this->actor.bgCheckFlags & 8) {
Math_SmoothScaleMaxMinS(&this->actor.shape.rot.y, this->actor.wallPolyRot, 2, 0xC00, 0x300);
} else {
Math_ApproxUpdateScaledS(&this->actor.shape.rot.y, func_8002DAC0(&this->actor, &this->actor.initPosRot.pos),
0x300);
}
Math_ApproxUpdateScaledS(&this->actor.shape.rot.x, this->targetPitch, 0x100);
}
void EnFirefly_Stunned(EnFirefly* this, GlobalContext* globalCtx) {
SkelAnime_FrameUpdateMatrix(&this->skelAnime);
Math_ApproxF(&this->actor.speedXZ, 0.0f, 0.5f);
Math_ApproxUpdateScaledS(&this->actor.shape.rot.x, 0x1554, 0x100);
if (this->timer != 0) {
this->timer--;
}
if (this->timer == 0) {
if (this->onFire) {
this->auraType = KEESE_AURA_FIRE;
} else if (this->actor.params == KEESE_ICE_FLY) {
this->auraType = KEESE_AURA_ICE;
}
EnFirefly_SetupWait(this);
}
}
void EnFirefly_FrozenFall(EnFirefly* this, GlobalContext* globalCtx) {
if ((this->actor.bgCheckFlags & 1) || (this->actor.groundY == -32000.0f)) {
this->actor.dmgEffectTimer = 0;
EnFirefly_SetupDie(this);
} else {
this->actor.dmgEffectTimer = 255;
}
}
// When perching, sit on collision and flap at random intervals
void EnFirefly_Perch(EnFirefly* this, GlobalContext* globalCtx) {
Math_ApproxUpdateScaledS(&this->actor.shape.rot.x, 0, 0x100);
if (this->timer != 0) {
SkelAnime_FrameUpdateMatrix(&this->skelAnime);
if (func_800A56C8(&this->skelAnime, 6.0f)) {
this->timer--;
}
} else if (Math_Rand_ZeroOne() < 0.02f) {
this->timer = 1;
}
if (this->actor.xzDistFromLink < 120.0f) {
EnFirefly_SetupDisturbDiveAttack(this);
}
}
void EnFirefly_DisturbDiveAttack(EnFirefly* this, GlobalContext* globalCtx) {
Player* player = PLAYER;
Vec3f preyPos;
SkelAnime_FrameUpdateMatrix(&this->skelAnime);
if (this->timer != 0) {
this->timer--;
}
if (this->timer < 40) {
Math_ApproxUpdateScaledS(&this->actor.shape.rot.x, -0xAAC, 0x100);
} else {
preyPos.x = player->actor.posRot.pos.x;
preyPos.y = player->actor.posRot.pos.y + 20.0f;
preyPos.z = player->actor.posRot.pos.z;
Math_ApproxUpdateScaledS(&this->actor.shape.rot.x, func_8002DB28(&this->actor, &preyPos) + 0x1554, 0x100);
Math_ApproxUpdateScaledS(&this->actor.shape.rot.y, this->actor.yawTowardsLink, 0x300);
}
if (this->timer == 0) {
EnFirefly_SetupWait(this);
}
}
void EnFirefly_Combust(EnFirefly* this, GlobalContext* globalCtx) {
s32 i;
for (i = 0; i <= 2; i++) {
EffectSsEnFire_SpawnVec3f(globalCtx, &this->actor, &this->actor.posRot.pos, 40, 0, 0, i);
}
this->auraType = KEESE_AURA_NONE;
}
void EnFirefly_UpdateDamage(EnFirefly* this, GlobalContext* globalCtx) {
u8 damageEffect;
if (this->collider.base.acFlags & 2) {
this->collider.base.acFlags &= ~2;
func_80035650(&this->actor, &this->collider.list->body, 1);
if ((this->actor.colChkInfo.damageEffect != 0) || (this->actor.colChkInfo.damage != 0)) {
if (Actor_ApplyDamage(&this->actor) == 0) {
func_80032C7C(globalCtx, &this->actor);
this->actor.flags &= ~1;
}
damageEffect = this->actor.colChkInfo.damageEffect;
if (damageEffect == 2) { // Din's Fire
if (this->actor.params == KEESE_ICE_FLY) {
this->actor.colChkInfo.health = 0;
func_80032C7C(globalCtx, &this->actor);
EnFirefly_Combust(this, globalCtx);
EnFirefly_SetupFall(this);
} else if (!this->onFire) {
EnFirefly_Ignite(this);
if (this->actionFunc == EnFirefly_Perch) {
EnFirefly_SetupWait(this);
}
}
} else if (damageEffect == 3) { // Ice Arrows or Ice Magic
if (this->actor.params == KEESE_ICE_FLY) {
EnFirefly_SetupFall(this);
} else {
EnFirefly_SetupFrozenFall(this, globalCtx);
}
} else if (damageEffect == 1) { // Deku Nuts
if (this->actionFunc != EnFirefly_Stunned) {
EnFirefly_SetupStunned(this);
}
} else { // Fire Arrows
if ((damageEffect == 0xF) && (this->actor.params == KEESE_ICE_FLY)) {
EnFirefly_Combust(this, globalCtx);
}
EnFirefly_SetupFall(this);
}
}
}
}
void EnFirefly_Update(Actor* thisx, GlobalContext* globalCtx2) {
EnFirefly* this = THIS;
GlobalContext* globalCtx = globalCtx2;
if (this->collider.base.atFlags & 2) {
this->collider.base.atFlags &= ~2;
Audio_PlayActorSound2(&this->actor, NA_SE_EN_FFLY_ATTACK);
if (this->onFire) {
EnFirefly_Extinguish(this);
}
if (this->actionFunc != EnFirefly_DisturbDiveAttack) {
EnFirefly_SetupRebound(this);
}
}
EnFirefly_UpdateDamage(this, globalCtx);
this->actionFunc(this, globalCtx);
if (!(this->actor.flags & 0x8000)) {
if ((this->actor.colChkInfo.health == 0) || (this->actionFunc == EnFirefly_Stunned)) {
Actor_MoveForward(&this->actor);
} else {
if (this->actionFunc != EnFirefly_Rebound) {
this->actor.posRot.rot.x = 0x1554 - this->actor.shape.rot.x;
}
func_8002D97C(&this->actor);
}
}
func_8002E4B4(globalCtx, &this->actor, 10.0f, 10.0f, 15.0f, 7);
this->collider.list->dim.worldSphere.center.x = this->actor.posRot.pos.x;
this->collider.list->dim.worldSphere.center.y = this->actor.posRot.pos.y + 10.0f;
this->collider.list->dim.worldSphere.center.z = this->actor.posRot.pos.z;
if ((this->actionFunc == EnFirefly_DiveAttack) || (this->actionFunc == EnFirefly_DisturbDiveAttack)) {
CollisionCheck_SetAT(globalCtx, &globalCtx->colChkCtx, &this->collider.base);
}
if (this->actor.colChkInfo.health != 0) {
CollisionCheck_SetAC(globalCtx, &globalCtx->colChkCtx, &this->collider.base);
this->actor.posRot.rot.y = this->actor.shape.rot.y;
if (func_800A56C8(&this->skelAnime, 5.0f)) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_FFLY_FLY);
}
}
CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->collider.base);
this->actor.posRot2.pos.x =
(10.0f * Math_Sins(this->actor.shape.rot.x) * Math_Sins(this->actor.shape.rot.y)) + this->actor.posRot.pos.x;
this->actor.posRot2.pos.y = (10.0f * Math_Coss(this->actor.shape.rot.x)) + this->actor.posRot.pos.y;
this->actor.posRot2.pos.z =
(10.0f * Math_Sins(this->actor.shape.rot.x) * Math_Coss(this->actor.shape.rot.y)) + this->actor.posRot.pos.z;
}
s32 EnFirefly_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot,
void* thisx, Gfx** gfx) {
EnFirefly* this = THIS;
if ((this->actor.draw == EnFirefly_DrawInvisible) && (globalCtx->actorCtx.unk_03 == 0)) {
*dList = NULL;
} else if (limbIndex == 1) {
pos->y += 2300.0f;
}
return 0;
}
void EnFirefly_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx, Gfx** gfx) {
static Color_RGBA8 fireAuraPrimColor = { 255, 255, 100, 255 };
static Color_RGBA8 fireAuraEnvColor = { 255, 50, 0, 0 };
static Color_RGBA8 iceAuraPrimColor = { 100, 200, 255, 255 };
static Color_RGBA8 iceAuraEnvColor = { 0, 0, 255, 0 };
static Vec3f effVelocity = { 0.0f, 0.5f, 0.0f };
static Vec3f effAccel = { 0.0f, 0.5f, 0.0f };
static Vec3f limbSrc = { 0.0f, 0.0f, 0.0f };
Vec3f effPos;
Vec3f* limbDest;
void* effPrimColor;
void* effEnvColor;
MtxF mtx;
s16 effScaleStep;
s16 effLife;
EnFirefly* this = THIS;
if (!this->onFire && (limbIndex == 27)) {
gSPDisplayList((*gfx)++, D_06001678);
} else {
if ((this->auraType == KEESE_AURA_FIRE) || (this->auraType == KEESE_AURA_ICE)) {
if ((limbIndex == 15) || (limbIndex == 21)) {
if (this->actionFunc != EnFirefly_Die) {
Matrix_Get(&mtx);
effPos.x = (Math_Rand_ZeroOne() * 5.0f) + mtx.wx;
effPos.y = (Math_Rand_ZeroOne() * 5.0f) + mtx.wy;
effPos.z = (Math_Rand_ZeroOne() * 5.0f) + mtx.wz;
effScaleStep = -40;
effLife = 3;
} else {
if (limbIndex == 15) {
effPos.x = (Math_Sins(9100 * this->timer) * this->timer) + this->actor.posRot.pos.x;
effPos.z = (Math_Coss(9100 * this->timer) * this->timer) + this->actor.posRot.pos.z;
} else {
effPos.x = this->actor.posRot.pos.x - (Math_Sins(9100 * this->timer) * this->timer);
effPos.z = this->actor.posRot.pos.z - (Math_Coss(9100 * this->timer) * this->timer);
}
effPos.y = this->actor.posRot.pos.y + ((15 - this->timer) * 1.5f);
effScaleStep = -5;
effLife = 10;
}
if (this->auraType == KEESE_AURA_FIRE) {
effPrimColor = &fireAuraPrimColor;
effEnvColor = &fireAuraEnvColor;
} else {
effPrimColor = &iceAuraPrimColor;
effEnvColor = &iceAuraEnvColor;
}
func_8002843C(globalCtx, &effPos, &effVelocity, &effAccel, effPrimColor, effEnvColor, 250, effScaleStep,
effLife);
}
}
}
if ((limbIndex == 15) || (limbIndex == 21) || (limbIndex == 10)) {
if (limbIndex == 15) {
limbDest = &this->bodyPartsPos[0];
} else if (limbIndex == 21) {
limbDest = &this->bodyPartsPos[1];
} else {
limbDest = &this->bodyPartsPos[2];
}
Matrix_MultVec3f(&limbSrc, limbDest);
limbDest->y -= 5.0f;
}
}
void EnFirefly_Draw(Actor* thisx, GlobalContext* globalCtx) {
EnFirefly* this = THIS;
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_firefly.c", 1733);
func_80093D18(globalCtx->state.gfxCtx);
if (this->onFire) {
gDPSetEnvColor(POLY_OPA_DISP++, 0, 0, 0, 0);
} else {
gDPSetEnvColor(POLY_OPA_DISP++, 0, 0, 0, 255);
}
POLY_OPA_DISP = SkelAnime_Draw(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl,
EnFirefly_OverrideLimbDraw, EnFirefly_PostLimbDraw, &this->actor, POLY_OPA_DISP);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_firefly.c", 1763);
}
void EnFirefly_DrawInvisible(Actor* thisx, GlobalContext* globalCtx) {
EnFirefly* this = THIS;
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_firefly.c", 1775);
func_80093D84(globalCtx->state.gfxCtx);
if (this->onFire) {
gDPSetEnvColor(POLY_XLU_DISP++, 0, 0, 0, 0);
} else {
gDPSetEnvColor(POLY_XLU_DISP++, 0, 0, 0, 255);
}
POLY_XLU_DISP = SkelAnime_Draw(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl,
EnFirefly_OverrideLimbDraw, EnFirefly_PostLimbDraw, this, POLY_XLU_DISP);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_firefly.c", 1805);
}

View file

@ -6,11 +6,32 @@
struct EnFirefly;
typedef void (*EnFireflyActionFunc)(struct EnFirefly*, GlobalContext*);
typedef struct EnFirefly {
/* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x228];
/* 0x014C */ Vec3f bodyPartsPos[3];
/* 0x0170 */ SkelAnime skelAnime;
/* 0x01B4 */ EnFireflyActionFunc actionFunc;
/* 0x01B8 */ u8 auraType;
/* 0x01B9 */ u8 onFire;
/* 0x01BA */ s16 timer;
/* 0x01BC */ s16 targetPitch;
/* 0x01BE */ Vec3s limbDrawTable[28];
/* 0x0266 */ Vec3s transitionDrawTable[28];
/* 0x0310 */ f32 maxAltitude;
/* 0x0314 */ ColliderJntSph collider;
/* 0x0344 */ ColliderJntSphItem colliderItems[1];
} EnFirefly; // size = 0x0374
typedef enum {
/* 0 */ KEESE_FIRE_FLY,
/* 1 */ KEESE_FIRE_PERCH,
/* 2 */ KEESE_NORMAL_FLY,
/* 3 */ KEESE_NORMAL_PERCH,
/* 4 */ KEESE_ICE_FLY
} KeeseType;
extern const ActorInit En_Firefly_InitVars;
#endif

View file

@ -1747,6 +1747,11 @@ D_060000E8 = 0x060000E8;
D_060023B0 = 0x060023B0;
D_06002428 = 0x06002428;
// z_en_firefly
D_060018B8 = 0x060018B8;
D_0600017C = 0x0600017C;
D_06001678 = 0x06001678;
// z_bg_ice_turara
D_060023D0 = 0x060023D0;
D_06002594 = 0x06002594;