1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2025-05-10 02:54:24 +00:00

Decompile ovl_En_Fhg_Fire (#248)

* Decomp EnFhgFire_Init and EnFhgFire_SetActorFunc

* Decomp EnFhgFire_Destroy

* Decomp func_80A0F6F8

* Run format

* Decomp func_80A0FA90

* Decomp func_80A0FC48

* Decomp func_80A0FD8C

* Decomp EffectSsFhgFlash_Spawn

ex func_80029CF0

* Decomp EffectSsFhgFlash_Spawn2

ex func_80029D5C

* Decomp EnFhgFire_Update

* Decomp EnFhgFire_Draw, not matching

* Decomp func_80A10F18

* Move InitVars

* PR fixes

Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com>

Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com>
This commit is contained in:
Léo Peltier 2020-07-16 10:02:27 +00:00 committed by GitHub
parent 106f7a3f6a
commit bc14f6d93e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
28 changed files with 605 additions and 1442 deletions

View file

@ -1,29 +0,0 @@
glabel func_80029CF0
/* AA0E90 80029CF0 27BDFFB8 */ addiu $sp, $sp, -0x48
/* AA0E94 80029CF4 AFBF0014 */ sw $ra, 0x14($sp)
/* AA0E98 80029CF8 AFA40048 */ sw $a0, 0x48($sp)
/* AA0E9C 80029CFC AFA60050 */ sw $a2, 0x50($sp)
/* AA0EA0 80029D00 AFA70054 */ sw $a3, 0x54($sp)
/* AA0EA4 80029D04 0C01DF90 */ jal Math_Vec3f_Copy
/* AA0EA8 80029D08 27A40018 */ addiu $a0, $sp, 0x18
/* AA0EAC 80029D0C 27A40024 */ addiu $a0, $sp, 0x24
/* AA0EB0 80029D10 0C01DF90 */ jal Math_Vec3f_Copy
/* AA0EB4 80029D14 8FA50050 */ lw $a1, 0x50($sp)
/* AA0EB8 80029D18 27A40030 */ addiu $a0, $sp, 0x30
/* AA0EBC 80029D1C 0C01DF90 */ jal Math_Vec3f_Copy
/* AA0EC0 80029D20 8FA50054 */ lw $a1, 0x54($sp)
/* AA0EC4 80029D24 87AE005A */ lh $t6, 0x5a($sp)
/* AA0EC8 80029D28 93AF005F */ lbu $t7, 0x5f($sp)
/* AA0ECC 80029D2C A3A00044 */ sb $zero, 0x44($sp)
/* AA0ED0 80029D30 8FA40048 */ lw $a0, 0x48($sp)
/* AA0ED4 80029D34 24050016 */ li $a1, 22
/* AA0ED8 80029D38 24060080 */ li $a2, 128
/* AA0EDC 80029D3C 27A70018 */ addiu $a3, $sp, 0x18
/* AA0EE0 80029D40 A7AE003C */ sh $t6, 0x3c($sp)
/* AA0EE4 80029D44 0C009DE6 */ jal EffectSs_Spawn
/* AA0EE8 80029D48 A3AF003E */ sb $t7, 0x3e($sp)
/* AA0EEC 80029D4C 8FBF0014 */ lw $ra, 0x14($sp)
/* AA0EF0 80029D50 27BD0048 */ addiu $sp, $sp, 0x48
/* AA0EF4 80029D54 03E00008 */ jr $ra
/* AA0EF8 80029D58 00000000 */ nop

View file

@ -1,26 +0,0 @@
glabel func_80029D5C
/* AA0EFC 80029D5C 27BDFFB8 */ addiu $sp, $sp, -0x48
/* AA0F00 80029D60 AFBF0014 */ sw $ra, 0x14($sp)
/* AA0F04 80029D64 AFA40048 */ sw $a0, 0x48($sp)
/* AA0F08 80029D68 AFA5004C */ sw $a1, 0x4c($sp)
/* AA0F0C 80029D6C AFA50040 */ sw $a1, 0x40($sp)
/* AA0F10 80029D70 AFA70054 */ sw $a3, 0x54($sp)
/* AA0F14 80029D74 00C02825 */ move $a1, $a2
/* AA0F18 80029D78 0C01DF90 */ jal Math_Vec3f_Copy
/* AA0F1C 80029D7C 27A40018 */ addiu $a0, $sp, 0x18
/* AA0F20 80029D80 87AF0056 */ lh $t7, 0x56($sp)
/* AA0F24 80029D84 93B8005B */ lbu $t8, 0x5b($sp)
/* AA0F28 80029D88 24190001 */ li $t9, 1
/* AA0F2C 80029D8C A3B90044 */ sb $t9, 0x44($sp)
/* AA0F30 80029D90 8FA40048 */ lw $a0, 0x48($sp)
/* AA0F34 80029D94 24050016 */ li $a1, 22
/* AA0F38 80029D98 24060080 */ li $a2, 128
/* AA0F3C 80029D9C 27A70018 */ addiu $a3, $sp, 0x18
/* AA0F40 80029DA0 A7AF003C */ sh $t7, 0x3c($sp)
/* AA0F44 80029DA4 0C009DE6 */ jal EffectSs_Spawn
/* AA0F48 80029DA8 A3B8003E */ sb $t8, 0x3e($sp)
/* AA0F4C 80029DAC 8FBF0014 */ lw $ra, 0x14($sp)
/* AA0F50 80029DB0 27BD0048 */ addiu $sp, $sp, 0x48
/* AA0F54 80029DB4 03E00008 */ jr $ra
/* AA0F58 80029DB8 00000000 */ nop

View file

@ -264,7 +264,7 @@ glabel BossGanondrof_Update
/* 03BE0 80914220 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000 /* 03BE0 80914220 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000
/* 03BE4 80914224 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000 /* 03BE4 80914224 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
/* 03BE8 80914228 8FA60048 */ lw $a2, 0x0048($sp) /* 03BE8 80914228 8FA60048 */ lw $a2, 0x0048($sp)
/* 03BEC 8091422C 0C00A757 */ jal func_80029D5C /* 03BEC 8091422C 0C00A757 */ jal EffectSsFhgFlash_Spawn2
/* 03BF0 80914230 2407002D */ addiu $a3, $zero, 0x002D ## $a3 = 0000002D /* 03BF0 80914230 2407002D */ addiu $a3, $zero, 0x002D ## $a3 = 0000002D
/* 03BF4 80914234 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001 /* 03BF4 80914234 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001
/* 03BF8 80914238 00108400 */ sll $s0, $s0, 16 /* 03BF8 80914238 00108400 */ sll $s0, $s0, 16

View file

@ -485,7 +485,7 @@ glabel func_8091156C
/* 01604 80911C44 00095400 */ sll $t2, $t1, 16 /* 01604 80911C44 00095400 */ sll $t2, $t1, 16
/* 01608 80911C48 000A5C03 */ sra $t3, $t2, 16 /* 01608 80911C48 000A5C03 */ sra $t3, $t2, 16
/* 0160C 80911C4C 256C0096 */ addiu $t4, $t3, 0x0096 ## $t4 = 00000096 /* 0160C 80911C4C 256C0096 */ addiu $t4, $t3, 0x0096 ## $t4 = 00000096
/* 01610 80911C50 0C00A73C */ jal func_80029CF0 /* 01610 80911C50 0C00A73C */ jal EffectSsFhgFlash_Spawn
/* 01614 80911C54 AFAC0010 */ sw $t4, 0x0010($sp) /* 01614 80911C54 AFAC0010 */ sw $t4, 0x0010($sp)
/* 01618 80911C58 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001 /* 01618 80911C58 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001
/* 0161C 80911C5C 00108400 */ sll $s0, $s0, 16 /* 0161C 80911C5C 00108400 */ sll $s0, $s0, 16

View file

@ -436,7 +436,7 @@ glabel func_80912594
/* 0259C 80912BDC 461C5102 */ mul.s $f4, $f10, $f28 /* 0259C 80912BDC 461C5102 */ mul.s $f4, $f10, $f28
/* 025A0 80912BE0 46142483 */ div.s $f18, $f4, $f20 /* 025A0 80912BE0 46142483 */ div.s $f18, $f4, $f20
/* 025A4 80912BE4 E7A8009C */ swc1 $f8, 0x009C($sp) /* 025A4 80912BE4 E7A8009C */ swc1 $f8, 0x009C($sp)
/* 025A8 80912BE8 0C00A73C */ jal func_80029CF0 /* 025A8 80912BE8 0C00A73C */ jal EffectSsFhgFlash_Spawn
/* 025AC 80912BEC E7B200A0 */ swc1 $f18, 0x00A0($sp) /* 025AC 80912BEC E7B200A0 */ swc1 $f18, 0x00A0($sp)
/* 025B0 80912BF0 863801AC */ lh $t8, 0x01AC($s1) ## 000001AC /* 025B0 80912BF0 863801AC */ lh $t8, 0x01AC($s1) ## 000001AC
/* 025B4 80912BF4 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001 /* 025B4 80912BF4 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001

View file

@ -1,33 +0,0 @@
glabel EnFhgFire_Destroy
/* 0042C 80A0F68C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00430 80A0F690 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00434 80A0F694 AFA5001C */ sw $a1, 0x001C($sp)
/* 00438 80A0F698 8482001C */ lh $v0, 0x001C($a0) ## 0000001C
/* 0043C 80A0F69C 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000
/* 00440 80A0F6A0 24010023 */ addiu $at, $zero, 0x0023 ## $at = 00000023
/* 00444 80A0F6A4 10410005 */ beq $v0, $at, .L80A0F6BC
/* 00448 80A0F6A8 8FA4001C */ lw $a0, 0x001C($sp)
/* 0044C 80A0F6AC 24010024 */ addiu $at, $zero, 0x0024 ## $at = 00000024
/* 00450 80A0F6B0 10410002 */ beq $v0, $at, .L80A0F6BC
/* 00454 80A0F6B4 24010032 */ addiu $at, $zero, 0x0032 ## $at = 00000032
/* 00458 80A0F6B8 14410005 */ bne $v0, $at, .L80A0F6D0
.L80A0F6BC:
/* 0045C 80A0F6BC 24E501B0 */ addiu $a1, $a3, 0x01B0 ## $a1 = 000001B0
/* 00460 80A0F6C0 0C0170EB */ jal Collider_DestroyCylinder
/* 00464 80A0F6C4 AFA70018 */ sw $a3, 0x0018($sp)
/* 00468 80A0F6C8 8FA70018 */ lw $a3, 0x0018($sp)
/* 0046C 80A0F6CC 84E2001C */ lh $v0, 0x001C($a3) ## 0000001C
.L80A0F6D0:
/* 00470 80A0F6D0 24010032 */ addiu $at, $zero, 0x0032 ## $at = 00000032
/* 00474 80A0F6D4 14410004 */ bne $v0, $at, .L80A0F6E8
/* 00478 80A0F6D8 8FA4001C */ lw $a0, 0x001C($sp)
/* 0047C 80A0F6DC 248507A8 */ addiu $a1, $a0, 0x07A8 ## $a1 = 000007A8
/* 00480 80A0F6E0 0C01E9F1 */ jal Lights_Remove
/* 00484 80A0F6E4 8CE6019C */ lw $a2, 0x019C($a3) ## 0000019C
.L80A0F6E8:
/* 00488 80A0F6E8 8FBF0014 */ lw $ra, 0x0014($sp)
/* 0048C 80A0F6EC 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00490 80A0F6F0 03E00008 */ jr $ra
/* 00494 80A0F6F4 00000000 */ nop

View file

@ -1,311 +0,0 @@
.rdata
glabel D_80A11840
.asciz "yari hikari ct 1\n"
.balign 4
glabel D_80A11854
.asciz "yari hikari ct 2\n"
.balign 4
.late_rodata
glabel D_80A119C4
.word 0x3E051EB8
glabel D_80A119C8
.word 0x4622F983
glabel D_80A119CC
.word 0x4622F983
.text
glabel EnFhgFire_Init
/* 00008 80A0F268 27BDFFA8 */ addiu $sp, $sp, 0xFFA8 ## $sp = FFFFFFA8
/* 0000C 80A0F26C 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
/* 00010 80A0F270 AFBF002C */ sw $ra, 0x002C($sp)
/* 00014 80A0F274 AFB00028 */ sw $s0, 0x0028($sp)
/* 00018 80A0F278 AFA5005C */ sw $a1, 0x005C($sp)
/* 0001C 80A0F27C 8CAF1C44 */ lw $t7, 0x1C44($a1) ## 00001C44
/* 00020 80A0F280 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00024 80A0F284 248400B4 */ addiu $a0, $a0, 0x00B4 ## $a0 = 000000B4
/* 00028 80A0F288 44050000 */ mfc1 $a1, $f0
/* 0002C 80A0F28C 44070000 */ mfc1 $a3, $f0
/* 00030 80A0F290 AFA40038 */ sw $a0, 0x0038($sp)
/* 00034 80A0F294 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
/* 00038 80A0F298 0C00AC78 */ jal ActorShape_Init
/* 0003C 80A0F29C AFAF004C */ sw $t7, 0x004C($sp)
/* 00040 80A0F2A0 8602001C */ lh $v0, 0x001C($s0) ## 0000001C
/* 00044 80A0F2A4 24010023 */ addiu $at, $zero, 0x0023 ## $at = 00000023
/* 00048 80A0F2A8 8FA4005C */ lw $a0, 0x005C($sp)
/* 0004C 80A0F2AC 10410006 */ beq $v0, $at, .L80A0F2C8
/* 00050 80A0F2B0 260501B0 */ addiu $a1, $s0, 0x01B0 ## $a1 = 000001B0
/* 00054 80A0F2B4 24010024 */ addiu $at, $zero, 0x0024 ## $at = 00000024
/* 00058 80A0F2B8 10410003 */ beq $v0, $at, .L80A0F2C8
/* 0005C 80A0F2BC 24010032 */ addiu $at, $zero, 0x0032 ## $at = 00000032
/* 00060 80A0F2C0 5441000A */ bnel $v0, $at, .L80A0F2EC
/* 00064 80A0F2C4 3C014348 */ lui $at, 0x4348 ## $at = 43480000
.L80A0F2C8:
/* 00068 80A0F2C8 0C0170D9 */ jal Collider_InitCylinder
/* 0006C 80A0F2CC AFA50034 */ sw $a1, 0x0034($sp)
/* 00070 80A0F2D0 3C0780A1 */ lui $a3, %hi(D_80A11790) ## $a3 = 80A10000
/* 00074 80A0F2D4 8FA50034 */ lw $a1, 0x0034($sp)
/* 00078 80A0F2D8 24E71790 */ addiu $a3, $a3, %lo(D_80A11790) ## $a3 = 80A11790
/* 0007C 80A0F2DC 8FA4005C */ lw $a0, 0x005C($sp)
/* 00080 80A0F2E0 0C01712B */ jal Collider_SetCylinder
/* 00084 80A0F2E4 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
/* 00088 80A0F2E8 3C014348 */ lui $at, 0x4348 ## $at = 43480000
.L80A0F2EC:
/* 0008C 80A0F2EC 44812000 */ mtc1 $at, $f4 ## $f4 = 200.00
/* 00090 80A0F2F0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00094 80A0F2F4 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
/* 00098 80A0F2F8 0C00B58B */ jal Actor_SetScale
/* 0009C 80A0F2FC E6040160 */ swc1 $f4, 0x0160($s0) ## 00000160
/* 000A0 80A0F300 8602001C */ lh $v0, 0x001C($s0) ## 0000001C
/* 000A4 80A0F304 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 000A8 80A0F308 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 000AC 80A0F30C 14410008 */ bne $v0, $at, .L80A0F330
/* 000B0 80A0F310 3C0580A1 */ lui $a1, %hi(func_80A0F6F8) ## $a1 = 80A10000
/* 000B4 80A0F314 0C283C98 */ jal func_80A0F260
/* 000B8 80A0F318 24A5F6F8 */ addiu $a1, $a1, %lo(func_80A0F6F8) ## $a1 = 80A0F6F8
/* 000BC 80A0F31C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 000C0 80A0F320 0C00BE0A */ jal Audio_PlayActorSound2
/* 000C4 80A0F324 240538A2 */ addiu $a1, $zero, 0x38A2 ## $a1 = 000038A2
/* 000C8 80A0F328 1000000F */ beq $zero, $zero, .L80A0F368
/* 000CC 80A0F32C 8602001C */ lh $v0, 0x001C($s0) ## 0000001C
.L80A0F330:
/* 000D0 80A0F330 28410064 */ slti $at, $v0, 0x0064
/* 000D4 80A0F334 1420000C */ bne $at, $zero, .L80A0F368
/* 000D8 80A0F338 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 000DC 80A0F33C 3C0580A1 */ lui $a1, %hi(func_80A0FA90) ## $a1 = 80A10000
/* 000E0 80A0F340 0C283C98 */ jal func_80A0F260
/* 000E4 80A0F344 24A5FA90 */ addiu $a1, $a1, %lo(func_80A0FA90) ## $a1 = 80A0FA90
/* 000E8 80A0F348 8A080030 */ lwl $t0, 0x0030($s0) ## 00000030
/* 000EC 80A0F34C 8FB80038 */ lw $t8, 0x0038($sp)
/* 000F0 80A0F350 9A080033 */ lwr $t0, 0x0033($s0) ## 00000033
/* 000F4 80A0F354 AB080000 */ swl $t0, 0x0000($t8) ## 00000000
/* 000F8 80A0F358 BB080003 */ swr $t0, 0x0003($t8) ## 00000003
/* 000FC 80A0F35C 96080034 */ lhu $t0, 0x0034($s0) ## 00000034
/* 00100 80A0F360 A7080004 */ sh $t0, 0x0004($t8) ## 00000004
/* 00104 80A0F364 8602001C */ lh $v0, 0x001C($s0) ## 0000001C
.L80A0F368:
/* 00108 80A0F368 24010023 */ addiu $at, $zero, 0x0023 ## $at = 00000023
/* 0010C 80A0F36C 1441000D */ bne $v0, $at, .L80A0F3A4
/* 00110 80A0F370 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00114 80A0F374 3C0580A1 */ lui $a1, %hi(func_80A0FC48) ## $a1 = 80A10000
/* 00118 80A0F378 AE000134 */ sw $zero, 0x0134($s0) ## 00000134
/* 0011C 80A0F37C 0C283C98 */ jal func_80A0F260
/* 00120 80A0F380 24A5FC48 */ addiu $a1, $a1, %lo(func_80A0FC48) ## $a1 = 80A0FC48
/* 00124 80A0F384 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000
/* 00128 80A0F388 44813000 */ mtc1 $at, $f6 ## $f6 = 30.00
/* 0012C 80A0F38C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00130 80A0F390 240538A3 */ addiu $a1, $zero, 0x38A3 ## $a1 = 000038A3
/* 00134 80A0F394 0C00BE0A */ jal Audio_PlayActorSound2
/* 00138 80A0F398 E6060068 */ swc1 $f6, 0x0068($s0) ## 00000068
/* 0013C 80A0F39C 100000B7 */ beq $zero, $zero, .L80A0F67C
/* 00140 80A0F3A0 8FBF002C */ lw $ra, 0x002C($sp)
.L80A0F3A4:
/* 00144 80A0F3A4 24010024 */ addiu $at, $zero, 0x0024 ## $at = 00000024
/* 00148 80A0F3A8 1441001E */ bne $v0, $at, .L80A0F424
/* 0014C 80A0F3AC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00150 80A0F3B0 3C0580A1 */ lui $a1, %hi(func_80A0FD8C) ## $a1 = 80A10000
/* 00154 80A0F3B4 0C283C98 */ jal func_80A0F260
/* 00158 80A0F3B8 24A5FD8C */ addiu $a1, $a1, %lo(func_80A0FD8C) ## $a1 = 80A0FD8C
/* 0015C 80A0F3BC 860C0030 */ lh $t4, 0x0030($s0) ## 00000030
/* 00160 80A0F3C0 3C01437F */ lui $at, 0x437F ## $at = 437F0000
/* 00164 80A0F3C4 44814000 */ mtc1 $at, $f8 ## $f8 = 255.00
/* 00168 80A0F3C8 448C5000 */ mtc1 $t4, $f10 ## $f10 = 0.00
/* 0016C 80A0F3CC 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000
/* 00170 80A0F3D0 44819000 */ mtc1 $at, $f18 ## $f18 = 100.00
/* 00174 80A0F3D4 46805020 */ cvt.s.w $f0, $f10
/* 00178 80A0F3D8 24090020 */ addiu $t1, $zero, 0x0020 ## $t1 = 00000020
/* 0017C 80A0F3DC 240A0032 */ addiu $t2, $zero, 0x0032 ## $t2 = 00000032
/* 00180 80A0F3E0 240B000A */ addiu $t3, $zero, 0x000A ## $t3 = 0000000A
/* 00184 80A0F3E4 A6090150 */ sh $t1, 0x0150($s0) ## 00000150
/* 00188 80A0F3E8 A60A0152 */ sh $t2, 0x0152($s0) ## 00000152
/* 0018C 80A0F3EC 46120103 */ div.s $f4, $f0, $f18
/* 00190 80A0F3F0 A60B01FE */ sh $t3, 0x01FE($s0) ## 000001FE
/* 00194 80A0F3F4 3C0180A1 */ lui $at, %hi(D_80A119C4) ## $at = 80A10000
/* 00198 80A0F3F8 E6080160 */ swc1 $f8, 0x0160($s0) ## 00000160
/* 0019C 80A0F3FC E604018C */ swc1 $f4, 0x018C($s0) ## 0000018C
/* 001A0 80A0F400 C42619C4 */ lwc1 $f6, %lo(D_80A119C4)($at)
/* 001A4 80A0F404 A60001F4 */ sh $zero, 0x01F4($s0) ## 000001F4
/* 001A8 80A0F408 46060202 */ mul.s $f8, $f0, $f6
/* 001AC 80A0F40C 4600428D */ trunc.w.s $f10, $f8
/* 001B0 80A0F410 44025000 */ mfc1 $v0, $f10
/* 001B4 80A0F414 00000000 */ nop
/* 001B8 80A0F418 A60201F0 */ sh $v0, 0x01F0($s0) ## 000001F0
/* 001BC 80A0F41C 10000096 */ beq $zero, $zero, .L80A0F678
/* 001C0 80A0F420 A60201F2 */ sh $v0, 0x01F2($s0) ## 000001F2
.L80A0F424:
/* 001C4 80A0F424 24010026 */ addiu $at, $zero, 0x0026 ## $at = 00000026
/* 001C8 80A0F428 1441000F */ bne $v0, $at, .L80A0F468
/* 001CC 80A0F42C 3C0480A1 */ lui $a0, %hi(D_80A11840) ## $a0 = 80A10000
/* 001D0 80A0F430 0C00084C */ jal osSyncPrintf
/* 001D4 80A0F434 24841840 */ addiu $a0, $a0, %lo(D_80A11840) ## $a0 = 80A11840
/* 001D8 80A0F438 3C0580A1 */ lui $a1, %hi(func_80A10008) ## $a1 = 80A10000
/* 001DC 80A0F43C 24A50008 */ addiu $a1, $a1, %lo(func_80A10008) ## $a1 = 80A10008
/* 001E0 80A0F440 0C283C98 */ jal func_80A0F260
/* 001E4 80A0F444 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 001E8 80A0F448 3C0480A1 */ lui $a0, %hi(D_80A11854) ## $a0 = 80A10000
/* 001EC 80A0F44C 0C00084C */ jal osSyncPrintf
/* 001F0 80A0F450 24841854 */ addiu $a0, $a0, %lo(D_80A11854) ## $a0 = 80A11854
/* 001F4 80A0F454 860E0030 */ lh $t6, 0x0030($s0) ## 00000030
/* 001F8 80A0F458 860F0032 */ lh $t7, 0x0032($s0) ## 00000032
/* 001FC 80A0F45C A60E0150 */ sh $t6, 0x0150($s0) ## 00000150
/* 00200 80A0F460 10000085 */ beq $zero, $zero, .L80A0F678
/* 00204 80A0F464 A60F0158 */ sh $t7, 0x0158($s0) ## 00000158
.L80A0F468:
/* 00208 80A0F468 24010027 */ addiu $at, $zero, 0x0027 ## $at = 00000027
/* 0020C 80A0F46C 10410006 */ beq $v0, $at, .L80A0F488
/* 00210 80A0F470 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00214 80A0F474 24010028 */ addiu $at, $zero, 0x0028 ## $at = 00000028
/* 00218 80A0F478 10410003 */ beq $v0, $at, .L80A0F488
/* 0021C 80A0F47C 24010029 */ addiu $at, $zero, 0x0029 ## $at = 00000029
/* 00220 80A0F480 5441001B */ bnel $v0, $at, .L80A0F4F0
/* 00224 80A0F484 24010032 */ addiu $at, $zero, 0x0032 ## $at = 00000032
.L80A0F488:
/* 00228 80A0F488 0C00B58B */ jal Actor_SetScale
/* 0022C 80A0F48C 3C0540E0 */ lui $a1, 0x40E0 ## $a1 = 40E00000
/* 00230 80A0F490 3C0580A1 */ lui $a1, %hi(func_80A10F18) ## $a1 = 80A10000
/* 00234 80A0F494 24A50F18 */ addiu $a1, $a1, %lo(func_80A10F18) ## $a1 = 80A10F18
/* 00238 80A0F498 0C283C98 */ jal func_80A0F260
/* 0023C 80A0F49C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00240 80A0F4A0 8618001C */ lh $t8, 0x001C($s0) ## 0000001C
/* 00244 80A0F4A4 24010029 */ addiu $at, $zero, 0x0029 ## $at = 00000029
/* 00248 80A0F4A8 2408004C */ addiu $t0, $zero, 0x004C ## $t0 = 0000004C
/* 0024C 80A0F4AC 17010007 */ bne $t8, $at, .L80A0F4CC
/* 00250 80A0F4B0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00254 80A0F4B4 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 00258 80A0F4B8 44819000 */ mtc1 $at, $f18 ## $f18 = 1.00
/* 0025C 80A0F4BC 241901B8 */ addiu $t9, $zero, 0x01B8 ## $t9 = 000001B8
/* 00260 80A0F4C0 A6190150 */ sh $t9, 0x0150($s0) ## 00000150
/* 00264 80A0F4C4 1000006C */ beq $zero, $zero, .L80A0F678
/* 00268 80A0F4C8 E6120058 */ swc1 $f18, 0x0058($s0) ## 00000058
.L80A0F4CC:
/* 0026C 80A0F4CC A6080150 */ sh $t0, 0x0150($s0) ## 00000150
/* 00270 80A0F4D0 0C00BE0A */ jal Audio_PlayActorSound2
/* 00274 80A0F4D4 2405283F */ addiu $a1, $zero, 0x283F ## $a1 = 0000283F
/* 00278 80A0F4D8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 0027C 80A0F4DC 0C00BE0A */ jal Audio_PlayActorSound2
/* 00280 80A0F4E0 24052853 */ addiu $a1, $zero, 0x2853 ## $a1 = 00002853
/* 00284 80A0F4E4 10000065 */ beq $zero, $zero, .L80A0F67C
/* 00288 80A0F4E8 8FBF002C */ lw $ra, 0x002C($sp)
/* 0028C 80A0F4EC 24010032 */ addiu $at, $zero, 0x0032 ## $at = 00000032
.L80A0F4F0:
/* 00290 80A0F4F0 14410061 */ bne $v0, $at, .L80A0F678
/* 00294 80A0F4F4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00298 80A0F4F8 86090030 */ lh $t1, 0x0030($s0) ## 00000030
/* 0029C 80A0F4FC 3C014040 */ lui $at, 0x4040 ## $at = 40400000
/* 002A0 80A0F500 3C0580A1 */ lui $a1, %hi(func_80A10220) ## $a1 = 80A10000
/* 002A4 80A0F504 55200006 */ bnel $t1, $zero, .L80A0F520
/* 002A8 80A0F508 44813000 */ mtc1 $at, $f6 ## $f6 = 3.00
/* 002AC 80A0F50C 3C014100 */ lui $at, 0x4100 ## $at = 41000000
/* 002B0 80A0F510 44812000 */ mtc1 $at, $f4 ## $f4 = 8.00
/* 002B4 80A0F514 10000004 */ beq $zero, $zero, .L80A0F528
/* 002B8 80A0F518 E6040068 */ swc1 $f4, 0x0068($s0) ## 00000068
/* 002BC 80A0F51C 44813000 */ mtc1 $at, $f6 ## $f6 = 8.00
.L80A0F520:
/* 002C0 80A0F520 00000000 */ nop
/* 002C4 80A0F524 E6060068 */ swc1 $f6, 0x0068($s0) ## 00000068
.L80A0F528:
/* 002C8 80A0F528 0C283C98 */ jal func_80A0F260
/* 002CC 80A0F52C 24A50220 */ addiu $a1, $a1, %lo(func_80A10220) ## $a1 = 80A10220
/* 002D0 80A0F530 8FA2004C */ lw $v0, 0x004C($sp)
/* 002D4 80A0F534 240A0046 */ addiu $t2, $zero, 0x0046 ## $t2 = 00000046
/* 002D8 80A0F538 240B0002 */ addiu $t3, $zero, 0x0002 ## $t3 = 00000002
/* 002DC 80A0F53C A60A0150 */ sh $t2, 0x0150($s0) ## 00000150
/* 002E0 80A0F540 A60B0152 */ sh $t3, 0x0152($s0) ## 00000152
/* 002E4 80A0F544 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000
/* 002E8 80A0F548 C60A0024 */ lwc1 $f10, 0x0024($s0) ## 00000024
/* 002EC 80A0F54C 44812000 */ mtc1 $at, $f4 ## $f4 = 30.00
/* 002F0 80A0F550 C4480024 */ lwc1 $f8, 0x0024($v0) ## 00000024
/* 002F4 80A0F554 C4520028 */ lwc1 $f18, 0x0028($v0) ## 00000028
/* 002F8 80A0F558 460A4301 */ sub.s $f12, $f8, $f10
/* 002FC 80A0F55C C6080028 */ lwc1 $f8, 0x0028($s0) ## 00000028
/* 00300 80A0F560 46049180 */ add.s $f6, $f18, $f4
/* 00304 80A0F564 46083281 */ sub.s $f10, $f6, $f8
/* 00308 80A0F568 E7AA0044 */ swc1 $f10, 0x0044($sp)
/* 0030C 80A0F56C C604002C */ lwc1 $f4, 0x002C($s0) ## 0000002C
/* 00310 80A0F570 C452002C */ lwc1 $f18, 0x002C($v0) ## 0000002C
/* 00314 80A0F574 E7AC0048 */ swc1 $f12, 0x0048($sp)
/* 00318 80A0F578 46049381 */ sub.s $f14, $f18, $f4
/* 0031C 80A0F57C 0C03F494 */ jal Math_atan2f
/* 00320 80A0F580 E7AE0040 */ swc1 $f14, 0x0040($sp)
/* 00324 80A0F584 3C0180A1 */ lui $at, %hi(D_80A119C8) ## $at = 80A10000
/* 00328 80A0F588 C42619C8 */ lwc1 $f6, %lo(D_80A119C8)($at)
/* 0032C 80A0F58C C7A20048 */ lwc1 $f2, 0x0048($sp)
/* 00330 80A0F590 C7B00040 */ lwc1 $f16, 0x0040($sp)
/* 00334 80A0F594 46060202 */ mul.s $f8, $f0, $f6
/* 00338 80A0F598 00000000 */ nop
/* 0033C 80A0F59C 46021482 */ mul.s $f18, $f2, $f2
/* 00340 80A0F5A0 00000000 */ nop
/* 00344 80A0F5A4 46108102 */ mul.s $f4, $f16, $f16
/* 00348 80A0F5A8 4600428D */ trunc.w.s $f10, $f8
/* 0034C 80A0F5AC 46049000 */ add.s $f0, $f18, $f4
/* 00350 80A0F5B0 440D5000 */ mfc1 $t5, $f10
/* 00354 80A0F5B4 00000000 */ nop
/* 00358 80A0F5B8 A60D0032 */ sh $t5, 0x0032($s0) ## 00000032
/* 0035C 80A0F5BC 46000384 */ sqrt.s $f14, $f0
/* 00360 80A0F5C0 0C03F494 */ jal Math_atan2f
/* 00364 80A0F5C4 C7AC0044 */ lwc1 $f12, 0x0044($sp)
/* 00368 80A0F5C8 3C0180A1 */ lui $at, %hi(D_80A119CC) ## $at = 80A10000
/* 0036C 80A0F5CC C42619CC */ lwc1 $f6, %lo(D_80A119CC)($at)
/* 00370 80A0F5D0 24180028 */ addiu $t8, $zero, 0x0028 ## $t8 = 00000028
/* 00374 80A0F5D4 24190032 */ addiu $t9, $zero, 0x0032 ## $t9 = 00000032
/* 00378 80A0F5D8 46060202 */ mul.s $f8, $f0, $f6
/* 0037C 80A0F5DC 2408FFE7 */ addiu $t0, $zero, 0xFFE7 ## $t0 = FFFFFFE7
/* 00380 80A0F5E0 A61801F0 */ sh $t8, 0x01F0($s0) ## 000001F0
/* 00384 80A0F5E4 A61901F2 */ sh $t9, 0x01F2($s0) ## 000001F2
/* 00388 80A0F5E8 A60801F4 */ sh $t0, 0x01F4($s0) ## 000001F4
/* 0038C 80A0F5EC 260601A0 */ addiu $a2, $s0, 0x01A0 ## $a2 = 000001A0
/* 00390 80A0F5F0 4600428D */ trunc.w.s $f10, $f8
/* 00394 80A0F5F4 440F5000 */ mfc1 $t7, $f10
/* 00398 80A0F5F8 00000000 */ nop
/* 0039C 80A0F5FC A60F0030 */ sh $t7, 0x0030($s0) ## 00000030
/* 003A0 80A0F600 8FA4005C */ lw $a0, 0x005C($sp)
/* 003A4 80A0F604 AFA60038 */ sw $a2, 0x0038($sp)
/* 003A8 80A0F608 0C01E9D9 */ jal Lights_Insert
/* 003AC 80A0F60C 248507A8 */ addiu $a1, $a0, 0x07A8 ## $a1 = 000007A8
/* 003B0 80A0F610 C6120024 */ lwc1 $f18, 0x0024($s0) ## 00000024
/* 003B4 80A0F614 C6060028 */ lwc1 $f6, 0x0028($s0) ## 00000028
/* 003B8 80A0F618 C60A002C */ lwc1 $f10, 0x002C($s0) ## 0000002C
/* 003BC 80A0F61C 4600910D */ trunc.w.s $f4, $f18
/* 003C0 80A0F620 AE02019C */ sw $v0, 0x019C($s0) ## 0000019C
/* 003C4 80A0F624 240D00FF */ addiu $t5, $zero, 0x00FF ## $t5 = 000000FF
/* 003C8 80A0F628 4600320D */ trunc.w.s $f8, $f6
/* 003CC 80A0F62C 44052000 */ mfc1 $a1, $f4
/* 003D0 80A0F630 240E00FF */ addiu $t6, $zero, 0x00FF ## $t6 = 000000FF
/* 003D4 80A0F634 4600548D */ trunc.w.s $f18, $f10
/* 003D8 80A0F638 44064000 */ mfc1 $a2, $f8
/* 003DC 80A0F63C 240F00FF */ addiu $t7, $zero, 0x00FF ## $t7 = 000000FF
/* 003E0 80A0F640 241800FF */ addiu $t8, $zero, 0x00FF ## $t8 = 000000FF
/* 003E4 80A0F644 44079000 */ mfc1 $a3, $f18
/* 003E8 80A0F648 00052C00 */ sll $a1, $a1, 16
/* 003EC 80A0F64C 00063400 */ sll $a2, $a2, 16
/* 003F0 80A0F650 00073C00 */ sll $a3, $a3, 16
/* 003F4 80A0F654 00073C03 */ sra $a3, $a3, 16
/* 003F8 80A0F658 00063403 */ sra $a2, $a2, 16
/* 003FC 80A0F65C 00052C03 */ sra $a1, $a1, 16
/* 00400 80A0F660 AFB8001C */ sw $t8, 0x001C($sp)
/* 00404 80A0F664 AFAF0018 */ sw $t7, 0x0018($sp)
/* 00408 80A0F668 AFAE0014 */ sw $t6, 0x0014($sp)
/* 0040C 80A0F66C AFAD0010 */ sw $t5, 0x0010($sp)
/* 00410 80A0F670 0C01E763 */ jal Lights_InitType0PositionalLight
/* 00414 80A0F674 8FA40038 */ lw $a0, 0x0038($sp)
.L80A0F678:
/* 00418 80A0F678 8FBF002C */ lw $ra, 0x002C($sp)
.L80A0F67C:
/* 0041C 80A0F67C 8FB00028 */ lw $s0, 0x0028($sp)
/* 00420 80A0F680 27BD0058 */ addiu $sp, $sp, 0x0058 ## $sp = 00000000
/* 00424 80A0F684 03E00008 */ jr $ra
/* 00428 80A0F688 00000000 */ nop

View file

@ -1,23 +0,0 @@
glabel EnFhgFire_Update
/* 01E88 80A110E8 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 01E8C 80A110EC AFBF0014 */ sw $ra, 0x0014($sp)
/* 01E90 80A110F0 848E0156 */ lh $t6, 0x0156($a0) ## 00000156
/* 01E94 80A110F4 84820150 */ lh $v0, 0x0150($a0) ## 00000150
/* 01E98 80A110F8 25CF0001 */ addiu $t7, $t6, 0x0001 ## $t7 = 00000001
/* 01E9C 80A110FC 10400003 */ beq $v0, $zero, .L80A1110C
/* 01EA0 80A11100 A48F0156 */ sh $t7, 0x0156($a0) ## 00000156
/* 01EA4 80A11104 2458FFFF */ addiu $t8, $v0, 0xFFFF ## $t8 = FFFFFFFF
/* 01EA8 80A11108 A4980150 */ sh $t8, 0x0150($a0) ## 00000150
.L80A1110C:
/* 01EAC 80A1110C 84820152 */ lh $v0, 0x0152($a0) ## 00000152
/* 01EB0 80A11110 10400002 */ beq $v0, $zero, .L80A1111C
/* 01EB4 80A11114 2459FFFF */ addiu $t9, $v0, 0xFFFF ## $t9 = FFFFFFFF
/* 01EB8 80A11118 A4990152 */ sh $t9, 0x0152($a0) ## 00000152
.L80A1111C:
/* 01EBC 80A1111C 8C99014C */ lw $t9, 0x014C($a0) ## 0000014C
/* 01EC0 80A11120 0320F809 */ jalr $ra, $t9
/* 01EC4 80A11124 00000000 */ nop
/* 01EC8 80A11128 8FBF0014 */ lw $ra, 0x0014($sp)
/* 01ECC 80A1112C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 01ED0 80A11130 03E00008 */ jr $ra
/* 01ED4 80A11134 00000000 */ nop

View file

@ -1,3 +0,0 @@
glabel func_80A0F260
/* 00000 80A0F260 03E00008 */ jr $ra
/* 00004 80A0F264 AC85014C */ sw $a1, 0x014C($a0) ## 0000014C

View file

@ -1,258 +0,0 @@
.late_rodata
glabel D_80A119D0
.word 0xBE4CCCCD
.text
glabel func_80A0F6F8
/* 00498 80A0F6F8 27BDFF70 */ addiu $sp, $sp, 0xFF70 ## $sp = FFFFFF70
/* 0049C 80A0F6FC AFB10044 */ sw $s1, 0x0044($sp)
/* 004A0 80A0F700 00808825 */ or $s1, $a0, $zero ## $s1 = 00000000
/* 004A4 80A0F704 AFB40050 */ sw $s4, 0x0050($sp)
/* 004A8 80A0F708 00A0A025 */ or $s4, $a1, $zero ## $s4 = 00000000
/* 004AC 80A0F70C AFBF0054 */ sw $ra, 0x0054($sp)
/* 004B0 80A0F710 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 004B4 80A0F714 AFB3004C */ sw $s3, 0x004C($sp)
/* 004B8 80A0F718 AFB20048 */ sw $s2, 0x0048($sp)
/* 004BC 80A0F71C AFB00040 */ sw $s0, 0x0040($sp)
/* 004C0 80A0F720 F7B40038 */ sdc1 $f20, 0x0038($sp)
/* 004C4 80A0F724 0C030129 */ jal Gameplay_GetCamera
/* 004C8 80A0F728 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 004CC 80A0F72C 86230158 */ lh $v1, 0x0158($s1) ## 00000158
/* 004D0 80A0F730 00402025 */ or $a0, $v0, $zero ## $a0 = 00000000
/* 004D4 80A0F734 240E000A */ addiu $t6, $zero, 0x000A ## $t6 = 0000000A
/* 004D8 80A0F738 10600008 */ beq $v1, $zero, .L80A0F75C
/* 004DC 80A0F73C 240F0007 */ addiu $t7, $zero, 0x0007 ## $t7 = 00000007
/* 004E0 80A0F740 2401000A */ addiu $at, $zero, 0x000A ## $at = 0000000A
/* 004E4 80A0F744 10610008 */ beq $v1, $at, .L80A0F768
/* 004E8 80A0F748 2401000B */ addiu $at, $zero, 0x000B ## $at = 0000000B
/* 004EC 80A0F74C 1061006F */ beq $v1, $at, .L80A0F90C
/* 004F0 80A0F750 00000000 */ nop
/* 004F4 80A0F754 100000C3 */ beq $zero, $zero, .L80A0FA64
/* 004F8 80A0F758 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
.L80A0F75C:
/* 004FC 80A0F75C A62E0158 */ sh $t6, 0x0158($s1) ## 00000158
/* 00500 80A0F760 100000BF */ beq $zero, $zero, .L80A0FA60
/* 00504 80A0F764 A62F0150 */ sh $t7, 0x0150($s1) ## 00000150
.L80A0F768:
/* 00508 80A0F768 0C016A52 */ jal func_8005A948
/* 0050C 80A0F76C 00000000 */ nop
/* 00510 80A0F770 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 00514 80A0F774 44810000 */ mtc1 $at, $f0 ## $f0 = 1.00
/* 00518 80A0F778 86390156 */ lh $t9, 0x0156($s1) ## 00000156
/* 0051C 80A0F77C 3C073E4C */ lui $a3, 0x3E4C ## $a3 = 3E4C0000
/* 00520 80A0F780 44050000 */ mfc1 $a1, $f0
/* 00524 80A0F784 001943C0 */ sll $t0, $t9, 15
/* 00528 80A0F788 01024821 */ addu $t1, $t0, $v0
/* 0052C 80A0F78C 44060000 */ mfc1 $a2, $f0
/* 00530 80A0F790 A62900B6 */ sh $t1, 0x00B6($s1) ## 000000B6
/* 00534 80A0F794 34E7CCCD */ ori $a3, $a3, 0xCCCD ## $a3 = 3E4CCCCD
/* 00538 80A0F798 0C01E107 */ jal Math_SmoothScaleMaxF
/* 0053C 80A0F79C 2624016C */ addiu $a0, $s1, 0x016C ## $a0 = 0000016C
/* 00540 80A0F7A0 862A0150 */ lh $t2, 0x0150($s1) ## 00000150
/* 00544 80A0F7A4 240B000B */ addiu $t3, $zero, 0x000B ## $t3 = 0000000B
/* 00548 80A0F7A8 34018000 */ ori $at, $zero, 0x8000 ## $at = 00008000
/* 0054C 80A0F7AC 154000AC */ bne $t2, $zero, .L80A0FA60
/* 00550 80A0F7B0 240E0025 */ addiu $t6, $zero, 0x0025 ## $t6 = 00000025
/* 00554 80A0F7B4 862C00B8 */ lh $t4, 0x00B8($s1) ## 000000B8
/* 00558 80A0F7B8 C6240028 */ lwc1 $f4, 0x0028($s1) ## 00000028
/* 0055C 80A0F7BC C62A0024 */ lwc1 $f10, 0x0024($s1) ## 00000024
/* 00560 80A0F7C0 01816821 */ addu $t5, $t4, $at
/* 00564 80A0F7C4 3C014348 */ lui $at, 0x4348 ## $at = 43480000
/* 00568 80A0F7C8 44813000 */ mtc1 $at, $f6 ## $f6 = 200.00
/* 0056C 80A0F7CC A62B0158 */ sh $t3, 0x0158($s1) ## 00000158
/* 00570 80A0F7D0 A62D00B8 */ sh $t5, 0x00B8($s1) ## 000000B8
/* 00574 80A0F7D4 46062201 */ sub.s $f8, $f4, $f6
/* 00578 80A0F7D8 A62E0150 */ sh $t6, 0x0150($s1) ## 00000150
/* 0057C 80A0F7DC 240F01F4 */ addiu $t7, $zero, 0x01F4 ## $t7 = 000001F4
/* 00580 80A0F7E0 24180024 */ addiu $t8, $zero, 0x0024 ## $t8 = 00000024
/* 00584 80A0F7E4 E6280028 */ swc1 $f8, 0x0028($s1) ## 00000028
/* 00588 80A0F7E8 E7AA0010 */ swc1 $f10, 0x0010($sp)
/* 0058C 80A0F7EC C6300028 */ lwc1 $f16, 0x0028($s1) ## 00000028
/* 00590 80A0F7F0 26841C24 */ addiu $a0, $s4, 0x1C24 ## $a0 = 00001C24
/* 00594 80A0F7F4 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
/* 00598 80A0F7F8 E7B00014 */ swc1 $f16, 0x0014($sp)
/* 0059C 80A0F7FC C632002C */ lwc1 $f18, 0x002C($s1) ## 0000002C
/* 005A0 80A0F800 AFB80028 */ sw $t8, 0x0028($sp)
/* 005A4 80A0F804 AFA00024 */ sw $zero, 0x0024($sp)
/* 005A8 80A0F808 AFA00020 */ sw $zero, 0x0020($sp)
/* 005AC 80A0F80C AFAF001C */ sw $t7, 0x001C($sp)
/* 005B0 80A0F810 02803025 */ or $a2, $s4, $zero ## $a2 = 00000000
/* 005B4 80A0F814 2407006D */ addiu $a3, $zero, 0x006D ## $a3 = 0000006D
/* 005B8 80A0F818 0C00C916 */ jal Actor_SpawnAttached
/* 005BC 80A0F81C E7B20018 */ swc1 $f18, 0x0018($sp)
/* 005C0 80A0F820 3C1980A1 */ lui $t9, %hi(D_80A117BC) ## $t9 = 80A10000
/* 005C4 80A0F824 273917BC */ addiu $t9, $t9, %lo(D_80A117BC) ## $t9 = 80A117BC
/* 005C8 80A0F828 8F290000 */ lw $t1, 0x0000($t9) ## 80A117BC
/* 005CC 80A0F82C 27B30070 */ addiu $s3, $sp, 0x0070 ## $s3 = FFFFFFE0
/* 005D0 80A0F830 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000
/* 005D4 80A0F834 AE690000 */ sw $t1, 0x0000($s3) ## FFFFFFE0
/* 005D8 80A0F838 8F280004 */ lw $t0, 0x0004($t9) ## 80A117C0
/* 005DC 80A0F83C 4481A000 */ mtc1 $at, $f20 ## $f20 = 30.00
/* 005E0 80A0F840 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000
/* 005E4 80A0F844 AE680004 */ sw $t0, 0x0004($s3) ## FFFFFFE4
/* 005E8 80A0F848 8F290008 */ lw $t1, 0x0008($t9) ## 80A117C4
/* 005EC 80A0F84C 26320024 */ addiu $s2, $s1, 0x0024 ## $s2 = 00000024
/* 005F0 80A0F850 AE690008 */ sw $t1, 0x0008($s3) ## FFFFFFE8
.L80A0F854:
/* 005F4 80A0F854 0C00CFC8 */ jal Math_Rand_CenteredFloat
/* 005F8 80A0F858 4600A306 */ mov.s $f12, $f20
/* 005FC 80A0F85C 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000
/* 00600 80A0F860 44816000 */ mtc1 $at, $f12 ## $f12 = 5.00
/* 00604 80A0F864 0C00CFBE */ jal Math_Rand_ZeroFloat
/* 00608 80A0F868 E7A0007C */ swc1 $f0, 0x007C($sp)
/* 0060C 80A0F86C 3C014040 */ lui $at, 0x4040 ## $at = 40400000
/* 00610 80A0F870 44812000 */ mtc1 $at, $f4 ## $f4 = 3.00
/* 00614 80A0F874 4600A306 */ mov.s $f12, $f20
/* 00618 80A0F878 46040180 */ add.s $f6, $f0, $f4
/* 0061C 80A0F87C 0C00CFC8 */ jal Math_Rand_CenteredFloat
/* 00620 80A0F880 E7A60080 */ swc1 $f6, 0x0080($sp)
/* 00624 80A0F884 3C0180A1 */ lui $at, %hi(D_80A119D0) ## $at = 80A10000
/* 00628 80A0F888 C42819D0 */ lwc1 $f8, %lo(D_80A119D0)($at)
/* 0062C 80A0F88C E7A00084 */ swc1 $f0, 0x0084($sp)
/* 00630 80A0F890 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 00634 80A0F894 E7A80074 */ swc1 $f8, 0x0074($sp)
/* 00638 80A0F898 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000
/* 0063C 80A0F89C 44815000 */ mtc1 $at, $f10 ## $f10 = 100.00
/* 00640 80A0F8A0 02802025 */ or $a0, $s4, $zero ## $a0 = 00000000
/* 00644 80A0F8A4 02402825 */ or $a1, $s2, $zero ## $a1 = 00000024
/* 00648 80A0F8A8 460A0402 */ mul.s $f16, $f0, $f10
/* 0064C 80A0F8AC 27A6007C */ addiu $a2, $sp, 0x007C ## $a2 = FFFFFFEC
/* 00650 80A0F8B0 02603825 */ or $a3, $s3, $zero ## $a3 = FFFFFFE0
/* 00654 80A0F8B4 AFA00014 */ sw $zero, 0x0014($sp)
/* 00658 80A0F8B8 4600848D */ trunc.w.s $f18, $f16
/* 0065C 80A0F8BC 440B9000 */ mfc1 $t3, $f18
/* 00660 80A0F8C0 00000000 */ nop
/* 00664 80A0F8C4 000B6400 */ sll $t4, $t3, 16
/* 00668 80A0F8C8 000C6C03 */ sra $t5, $t4, 16
/* 0066C 80A0F8CC 25AE00F0 */ addiu $t6, $t5, 0x00F0 ## $t6 = 000000F0
/* 00670 80A0F8D0 0C00A73C */ jal func_80029CF0
/* 00674 80A0F8D4 AFAE0010 */ sw $t6, 0x0010($sp)
/* 00678 80A0F8D8 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001
/* 0067C 80A0F8DC 00108400 */ sll $s0, $s0, 16
/* 00680 80A0F8E0 00108403 */ sra $s0, $s0, 16
/* 00684 80A0F8E4 2A010023 */ slti $at, $s0, 0x0023
/* 00688 80A0F8E8 1420FFDA */ bne $at, $zero, .L80A0F854
/* 0068C 80A0F8EC 00000000 */ nop
/* 00690 80A0F8F0 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 00694 80A0F8F4 02802825 */ or $a1, $s4, $zero ## $a1 = 00000000
/* 00698 80A0F8F8 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004
/* 0069C 80A0F8FC 0C00CFA2 */ jal func_80033E88
/* 006A0 80A0F900 2407000A */ addiu $a3, $zero, 0x000A ## $a3 = 0000000A
/* 006A4 80A0F904 10000057 */ beq $zero, $zero, .L80A0FA64
/* 006A8 80A0F908 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
.L80A0F90C:
/* 006AC 80A0F90C 0C016A52 */ jal func_8005A948
/* 006B0 80A0F910 00000000 */ nop
/* 006B4 80A0F914 86380156 */ lh $t8, 0x0156($s1) ## 00000156
/* 006B8 80A0F918 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 006BC 80A0F91C 44810000 */ mtc1 $at, $f0 ## $f0 = 1.00
/* 006C0 80A0F920 0018CBC0 */ sll $t9, $t8, 15
/* 006C4 80A0F924 03224021 */ addu $t0, $t9, $v0
/* 006C8 80A0F928 3C073E4C */ lui $a3, 0x3E4C ## $a3 = 3E4C0000
/* 006CC 80A0F92C 44060000 */ mfc1 $a2, $f0
/* 006D0 80A0F930 A62800B6 */ sh $t0, 0x00B6($s1) ## 000000B6
/* 006D4 80A0F934 34E7CCCD */ ori $a3, $a3, 0xCCCD ## $a3 = 3E4CCCCD
/* 006D8 80A0F938 2624016C */ addiu $a0, $s1, 0x016C ## $a0 = 0000016C
/* 006DC 80A0F93C 0C01E107 */ jal Math_SmoothScaleMaxF
/* 006E0 80A0F940 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
/* 006E4 80A0F944 86220150 */ lh $v0, 0x0150($s1) ## 00000150
/* 006E8 80A0F948 2401001E */ addiu $at, $zero, 0x001E ## $at = 0000001E
/* 006EC 80A0F94C 14410040 */ bne $v0, $at, .L80A0FA50
/* 006F0 80A0F950 00000000 */ nop
/* 006F4 80A0F954 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 006F8 80A0F958 00000000 */ nop
/* 006FC 80A0F95C 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000
/* 00700 80A0F960 44812000 */ mtc1 $at, $f4 ## $f4 = 0.50
/* 00704 80A0F964 00009025 */ or $s2, $zero, $zero ## $s2 = 00000000
/* 00708 80A0F968 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000
/* 0070C 80A0F96C 4604003C */ c.lt.s $f0, $f4
/* 00710 80A0F970 26931C24 */ addiu $s3, $s4, 0x1C24 ## $s3 = 00001C24
/* 00714 80A0F974 45000003 */ bc1f .L80A0F984
/* 00718 80A0F978 00000000 */ nop
/* 0071C 80A0F97C 10000001 */ beq $zero, $zero, .L80A0F984
/* 00720 80A0F980 24121000 */ addiu $s2, $zero, 0x1000 ## $s2 = 00001000
.L80A0F984:
/* 00724 80A0F984 C6260024 */ lwc1 $f6, 0x0024($s1) ## 00000024
.L80A0F988:
/* 00728 80A0F988 00104B40 */ sll $t1, $s0, 13
/* 0072C 80A0F98C 01325021 */ addu $t2, $t1, $s2
/* 00730 80A0F990 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 00734 80A0F994 C6280028 */ lwc1 $f8, 0x0028($s1) ## 00000028
/* 00738 80A0F998 240B4000 */ addiu $t3, $zero, 0x4000 ## $t3 = 00004000
/* 0073C 80A0F99C 260C0064 */ addiu $t4, $s0, 0x0064 ## $t4 = 00000064
/* 00740 80A0F9A0 E7A80014 */ swc1 $f8, 0x0014($sp)
/* 00744 80A0F9A4 C62A002C */ lwc1 $f10, 0x002C($s1) ## 0000002C
/* 00748 80A0F9A8 AFAC0028 */ sw $t4, 0x0028($sp)
/* 0074C 80A0F9AC AFAB0024 */ sw $t3, 0x0024($sp)
/* 00750 80A0F9B0 AFAA0020 */ sw $t2, 0x0020($sp)
/* 00754 80A0F9B4 AFA0001C */ sw $zero, 0x001C($sp)
/* 00758 80A0F9B8 02602025 */ or $a0, $s3, $zero ## $a0 = 00001C24
/* 0075C 80A0F9BC 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
/* 00760 80A0F9C0 02803025 */ or $a2, $s4, $zero ## $a2 = 00000000
/* 00764 80A0F9C4 2407006D */ addiu $a3, $zero, 0x006D ## $a3 = 0000006D
/* 00768 80A0F9C8 0C00C916 */ jal Actor_SpawnAttached
/* 0076C 80A0F9CC E7AA0018 */ swc1 $f10, 0x0018($sp)
/* 00770 80A0F9D0 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001
/* 00774 80A0F9D4 00108400 */ sll $s0, $s0, 16
/* 00778 80A0F9D8 00108403 */ sra $s0, $s0, 16
/* 0077C 80A0F9DC 2A010008 */ slti $at, $s0, 0x0008
/* 00780 80A0F9E0 5420FFE9 */ bnel $at, $zero, .L80A0F988
/* 00784 80A0F9E4 C6260024 */ lwc1 $f6, 0x0024($s1) ## 00000024
/* 00788 80A0F9E8 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000
/* 0078C 80A0F9EC C6300024 */ lwc1 $f16, 0x0024($s1) ## 00000024
.L80A0F9F0:
/* 00790 80A0F9F0 00106B40 */ sll $t5, $s0, 13
/* 00794 80A0F9F4 01B27021 */ addu $t6, $t5, $s2
/* 00798 80A0F9F8 E7B00010 */ swc1 $f16, 0x0010($sp)
/* 0079C 80A0F9FC C6320028 */ lwc1 $f18, 0x0028($s1) ## 00000028
/* 007A0 80A0FA00 240F0023 */ addiu $t7, $zero, 0x0023 ## $t7 = 00000023
/* 007A4 80A0FA04 02602025 */ or $a0, $s3, $zero ## $a0 = 00001C24
/* 007A8 80A0FA08 E7B20014 */ swc1 $f18, 0x0014($sp)
/* 007AC 80A0FA0C C624002C */ lwc1 $f4, 0x002C($s1) ## 0000002C
/* 007B0 80A0FA10 AFAF0028 */ sw $t7, 0x0028($sp)
/* 007B4 80A0FA14 AFA00024 */ sw $zero, 0x0024($sp)
/* 007B8 80A0FA18 AFAE0020 */ sw $t6, 0x0020($sp)
/* 007BC 80A0FA1C AFA0001C */ sw $zero, 0x001C($sp)
/* 007C0 80A0FA20 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
/* 007C4 80A0FA24 02803025 */ or $a2, $s4, $zero ## $a2 = 00000000
/* 007C8 80A0FA28 2407006D */ addiu $a3, $zero, 0x006D ## $a3 = 0000006D
/* 007CC 80A0FA2C 0C00C916 */ jal Actor_SpawnAttached
/* 007D0 80A0FA30 E7A40018 */ swc1 $f4, 0x0018($sp)
/* 007D4 80A0FA34 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001
/* 007D8 80A0FA38 00108400 */ sll $s0, $s0, 16
/* 007DC 80A0FA3C 00108403 */ sra $s0, $s0, 16
/* 007E0 80A0FA40 2A010008 */ slti $at, $s0, 0x0008
/* 007E4 80A0FA44 5420FFEA */ bnel $at, $zero, .L80A0F9F0
/* 007E8 80A0FA48 C6300024 */ lwc1 $f16, 0x0024($s1) ## 00000024
/* 007EC 80A0FA4C 86220150 */ lh $v0, 0x0150($s1) ## 00000150
.L80A0FA50:
/* 007F0 80A0FA50 54400004 */ bnel $v0, $zero, .L80A0FA64
/* 007F4 80A0FA54 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 007F8 80A0FA58 0C00B55C */ jal Actor_Kill
/* 007FC 80A0FA5C 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
.L80A0FA60:
/* 00800 80A0FA60 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
.L80A0FA64:
/* 00804 80A0FA64 0C00B58B */ jal Actor_SetScale
/* 00808 80A0FA68 8E25016C */ lw $a1, 0x016C($s1) ## 0000016C
/* 0080C 80A0FA6C 8FBF0054 */ lw $ra, 0x0054($sp)
/* 00810 80A0FA70 D7B40038 */ ldc1 $f20, 0x0038($sp)
/* 00814 80A0FA74 8FB00040 */ lw $s0, 0x0040($sp)
/* 00818 80A0FA78 8FB10044 */ lw $s1, 0x0044($sp)
/* 0081C 80A0FA7C 8FB20048 */ lw $s2, 0x0048($sp)
/* 00820 80A0FA80 8FB3004C */ lw $s3, 0x004C($sp)
/* 00824 80A0FA84 8FB40050 */ lw $s4, 0x0050($sp)
/* 00828 80A0FA88 03E00008 */ jr $ra
/* 0082C 80A0FA8C 27BD0090 */ addiu $sp, $sp, 0x0090 ## $sp = 00000000

View file

@ -1,137 +0,0 @@
.rdata
glabel D_80A11868
.asciz "FF MOVE 1\n"
.balign 4
glabel D_80A11874
.asciz "FF MOVE 2\n"
.balign 4
.text
glabel func_80A0FA90
/* 00830 80A0FA90 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 00834 80A0FA94 AFB00018 */ sw $s0, 0x0018($sp)
/* 00838 80A0FA98 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 0083C 80A0FA9C AFBF001C */ sw $ra, 0x001C($sp)
/* 00840 80A0FAA0 3C0480A1 */ lui $a0, %hi(D_80A11868) ## $a0 = 80A10000
/* 00844 80A0FAA4 AFA50024 */ sw $a1, 0x0024($sp)
/* 00848 80A0FAA8 0C00084C */ jal osSyncPrintf
/* 0084C 80A0FAAC 24841868 */ addiu $a0, $a0, %lo(D_80A11868) ## $a0 = 80A11868
/* 00850 80A0FAB0 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 00854 80A0FAB4 00000000 */ nop
/* 00858 80A0FAB8 3C01457A */ lui $at, 0x457A ## $at = 457A0000
/* 0085C 80A0FABC 44812000 */ mtc1 $at, $f4 ## $f4 = 4000.00
/* 00860 80A0FAC0 860E00B4 */ lh $t6, 0x00B4($s0) ## 000000B4
/* 00864 80A0FAC4 86020158 */ lh $v0, 0x0158($s0) ## 00000158
/* 00868 80A0FAC8 46040182 */ mul.s $f6, $f0, $f4
/* 0086C 80A0FACC 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 00870 80A0FAD0 240B0001 */ addiu $t3, $zero, 0x0001 ## $t3 = 00000001
/* 00874 80A0FAD4 4600320D */ trunc.w.s $f8, $f6
/* 00878 80A0FAD8 44084000 */ mfc1 $t0, $f8
/* 0087C 80A0FADC 00000000 */ nop
/* 00880 80A0FAE0 01C84821 */ addu $t1, $t6, $t0
/* 00884 80A0FAE4 252A4000 */ addiu $t2, $t1, 0x4000 ## $t2 = 00004000
/* 00888 80A0FAE8 10400007 */ beq $v0, $zero, .L80A0FB08
/* 0088C 80A0FAEC A60A00B4 */ sh $t2, 0x00B4($s0) ## 000000B4
/* 00890 80A0FAF0 10410010 */ beq $v0, $at, .L80A0FB34
/* 00894 80A0FAF4 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
/* 00898 80A0FAF8 10410036 */ beq $v0, $at, .L80A0FBD4
/* 0089C 80A0FAFC 2604016C */ addiu $a0, $s0, 0x016C ## $a0 = 0000016C
/* 008A0 80A0FB00 1000003E */ beq $zero, $zero, .L80A0FBFC
/* 008A4 80A0FB04 C600016C */ lwc1 $f0, 0x016C($s0) ## 0000016C
.L80A0FB08:
/* 008A8 80A0FB08 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 008AC 80A0FB0C A60B0158 */ sh $t3, 0x0158($s0) ## 00000158
/* 008B0 80A0FB10 3C0140E0 */ lui $at, 0x40E0 ## $at = 40E00000
/* 008B4 80A0FB14 44815000 */ mtc1 $at, $f10 ## $f10 = 7.00
/* 008B8 80A0FB18 00000000 */ nop
/* 008BC 80A0FB1C 460A0402 */ mul.s $f16, $f0, $f10
/* 008C0 80A0FB20 4600848D */ trunc.w.s $f18, $f16
/* 008C4 80A0FB24 44189000 */ mfc1 $t8, $f18
/* 008C8 80A0FB28 00000000 */ nop
/* 008CC 80A0FB2C 27190007 */ addiu $t9, $t8, 0x0007 ## $t9 = 00000007
/* 008D0 80A0FB30 A6190150 */ sh $t9, 0x0150($s0) ## 00000150
.L80A0FB34:
/* 008D4 80A0FB34 3C053FD9 */ lui $a1, 0x3FD9 ## $a1 = 3FD90000
/* 008D8 80A0FB38 3C073EAE */ lui $a3, 0x3EAE ## $a3 = 3EAE0000
/* 008DC 80A0FB3C 34E7147B */ ori $a3, $a3, 0x147B ## $a3 = 3EAE147B
/* 008E0 80A0FB40 34A5999A */ ori $a1, $a1, 0x999A ## $a1 = 3FD9999A
/* 008E4 80A0FB44 2604016C */ addiu $a0, $s0, 0x016C ## $a0 = 0000016C
/* 008E8 80A0FB48 0C01E107 */ jal Math_SmoothScaleMaxF
/* 008EC 80A0FB4C 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 008F0 80A0FB50 860E0150 */ lh $t6, 0x0150($s0) ## 00000150
/* 008F4 80A0FB54 24080002 */ addiu $t0, $zero, 0x0002 ## $t0 = 00000002
/* 008F8 80A0FB58 2409000A */ addiu $t1, $zero, 0x000A ## $t1 = 0000000A
/* 008FC 80A0FB5C 15C0001B */ bne $t6, $zero, .L80A0FBCC
/* 00900 80A0FB60 00000000 */ nop
/* 00904 80A0FB64 A6080158 */ sh $t0, 0x0158($s0) ## 00000158
/* 00908 80A0FB68 A6090150 */ sh $t1, 0x0150($s0) ## 00000150
/* 0090C 80A0FB6C 0C01DE1C */ jal Math_Sins
## sins?
/* 00910 80A0FB70 860400B6 */ lh $a0, 0x00B6($s0) ## 000000B6
/* 00914 80A0FB74 3C01C348 */ lui $at, 0xC348 ## $at = C3480000
/* 00918 80A0FB78 44812000 */ mtc1 $at, $f4 ## $f4 = -200.00
/* 0091C 80A0FB7C C608016C */ lwc1 $f8, 0x016C($s0) ## 0000016C
/* 00920 80A0FB80 C610002C */ lwc1 $f16, 0x002C($s0) ## 0000002C
/* 00924 80A0FB84 46040182 */ mul.s $f6, $f0, $f4
/* 00928 80A0FB88 860400B6 */ lh $a0, 0x00B6($s0) ## 000000B6
/* 0092C 80A0FB8C 46083282 */ mul.s $f10, $f6, $f8
/* 00930 80A0FB90 460A8480 */ add.s $f18, $f16, $f10
/* 00934 80A0FB94 0C01DE0D */ jal Math_Coss
## coss?
/* 00938 80A0FB98 E612002C */ swc1 $f18, 0x002C($s0) ## 0000002C
/* 0093C 80A0FB9C 3C014348 */ lui $at, 0x4348 ## $at = 43480000
/* 00940 80A0FBA0 44812000 */ mtc1 $at, $f4 ## $f4 = 200.00
/* 00944 80A0FBA4 C608016C */ lwc1 $f8, 0x016C($s0) ## 0000016C
/* 00948 80A0FBA8 C60A0024 */ lwc1 $f10, 0x0024($s0) ## 00000024
/* 0094C 80A0FBAC 46040182 */ mul.s $f6, $f0, $f4
/* 00950 80A0FBB0 860A00B6 */ lh $t2, 0x00B6($s0) ## 000000B6
/* 00954 80A0FBB4 34018000 */ ori $at, $zero, 0x8000 ## $at = 00008000
/* 00958 80A0FBB8 01415821 */ addu $t3, $t2, $at
/* 0095C 80A0FBBC A60B00B6 */ sh $t3, 0x00B6($s0) ## 000000B6
/* 00960 80A0FBC0 46083402 */ mul.s $f16, $f6, $f8
/* 00964 80A0FBC4 46105480 */ add.s $f18, $f10, $f16
/* 00968 80A0FBC8 E6120024 */ swc1 $f18, 0x0024($s0) ## 00000024
.L80A0FBCC:
/* 0096C 80A0FBCC 1000000B */ beq $zero, $zero, .L80A0FBFC
/* 00970 80A0FBD0 C600016C */ lwc1 $f0, 0x016C($s0) ## 0000016C
.L80A0FBD4:
/* 00974 80A0FBD4 3C063EAE */ lui $a2, 0x3EAE ## $a2 = 3EAE0000
/* 00978 80A0FBD8 34C6147B */ ori $a2, $a2, 0x147B ## $a2 = 3EAE147B
/* 0097C 80A0FBDC 0C01E123 */ jal Math_SmoothDownscaleMaxF
/* 00980 80A0FBE0 3C053F80 */ lui $a1, 0x3F80 ## $a1 = 3F800000
/* 00984 80A0FBE4 860C0150 */ lh $t4, 0x0150($s0) ## 00000150
/* 00988 80A0FBE8 55800004 */ bnel $t4, $zero, .L80A0FBFC
/* 0098C 80A0FBEC C600016C */ lwc1 $f0, 0x016C($s0) ## 0000016C
/* 00990 80A0FBF0 0C00B55C */ jal Actor_Kill
/* 00994 80A0FBF4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00998 80A0FBF8 C600016C */ lwc1 $f0, 0x016C($s0) ## 0000016C
.L80A0FBFC:
/* 0099C 80A0FBFC 44050000 */ mfc1 $a1, $f0
/* 009A0 80A0FC00 0C00B58B */ jal Actor_SetScale
/* 009A4 80A0FC04 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 009A8 80A0FC08 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 009AC 80A0FC0C 44810000 */ mtc1 $at, $f0 ## $f0 = 1.00
/* 009B0 80A0FC10 C6040050 */ lwc1 $f4, 0x0050($s0) ## 00000050
/* 009B4 80A0FC14 3C0480A1 */ lui $a0, %hi(D_80A11874) ## $a0 = 80A10000
/* 009B8 80A0FC18 4604003C */ c.lt.s $f0, $f4
/* 009BC 80A0FC1C 00000000 */ nop
/* 009C0 80A0FC20 45000002 */ bc1f .L80A0FC2C
/* 009C4 80A0FC24 00000000 */ nop
/* 009C8 80A0FC28 E6000050 */ swc1 $f0, 0x0050($s0) ## 00000050
.L80A0FC2C:
/* 009CC 80A0FC2C 0C00084C */ jal osSyncPrintf
/* 009D0 80A0FC30 24841874 */ addiu $a0, $a0, %lo(D_80A11874) ## $a0 = 80A11874
/* 009D4 80A0FC34 8FBF001C */ lw $ra, 0x001C($sp)
/* 009D8 80A0FC38 8FB00018 */ lw $s0, 0x0018($sp)
/* 009DC 80A0FC3C 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 009E0 80A0FC40 03E00008 */ jr $ra
/* 009E4 80A0FC44 00000000 */ nop

View file

@ -1,92 +0,0 @@
glabel func_80A0FC48
/* 009E8 80A0FC48 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0
/* 009EC 80A0FC4C AFBF0024 */ sw $ra, 0x0024($sp)
/* 009F0 80A0FC50 AFB10020 */ sw $s1, 0x0020($sp)
/* 009F4 80A0FC54 AFB0001C */ sw $s0, 0x001C($sp)
/* 009F8 80A0FC58 8CAE1C44 */ lw $t6, 0x1C44($a1) ## 00001C44
/* 009FC 80A0FC5C 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
/* 00A00 80A0FC60 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00A04 80A0FC64 AFAE003C */ sw $t6, 0x003C($sp)
/* 00A08 80A0FC68 908201C0 */ lbu $v0, 0x01C0($a0) ## 000001C0
/* 00A0C 80A0FC6C 240538A8 */ addiu $a1, $zero, 0x38A8 ## $a1 = 000038A8
/* 00A10 80A0FC70 304F0002 */ andi $t7, $v0, 0x0002 ## $t7 = 00000000
/* 00A14 80A0FC74 11E00003 */ beq $t7, $zero, .L80A0FC84
/* 00A18 80A0FC78 3058FFFD */ andi $t8, $v0, 0xFFFD ## $t8 = 00000000
/* 00A1C 80A0FC7C 0C00BE0A */ jal Audio_PlayActorSound2
/* 00A20 80A0FC80 A09801C0 */ sb $t8, 0x01C0($a0) ## 000001C0
.L80A0FC84:
/* 00A24 80A0FC84 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 00A28 80A0FC88 00000000 */ nop
/* 00A2C 80A0FC8C 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000
/* 00A30 80A0FC90 44812000 */ mtc1 $at, $f4 ## $f4 = 0.50
/* 00A34 80A0FC94 00000000 */ nop
/* 00A38 80A0FC98 4604003C */ c.lt.s $f0, $f4
/* 00A3C 80A0FC9C 00000000 */ nop
/* 00A40 80A0FCA0 45000012 */ bc1f .L80A0FCEC
/* 00A44 80A0FCA4 00000000 */ nop
/* 00A48 80A0FCA8 8E080024 */ lw $t0, 0x0024($s0) ## 00000024
/* 00A4C 80A0FCAC 27A60030 */ addiu $a2, $sp, 0x0030 ## $a2 = FFFFFFF0
/* 00A50 80A0FCB0 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000
/* 00A54 80A0FCB4 ACC80000 */ sw $t0, 0x0000($a2) ## FFFFFFF0
/* 00A58 80A0FCB8 8E190028 */ lw $t9, 0x0028($s0) ## 00000028
/* 00A5C 80A0FCBC 44814000 */ mtc1 $at, $f8 ## $f8 = 20.00
/* 00A60 80A0FCC0 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 00A64 80A0FCC4 ACD90004 */ sw $t9, 0x0004($a2) ## FFFFFFF4
/* 00A68 80A0FCC8 8E08002C */ lw $t0, 0x002C($s0) ## 0000002C
/* 00A6C 80A0FCCC 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 00A70 80A0FCD0 240700C8 */ addiu $a3, $zero, 0x00C8 ## $a3 = 000000C8
/* 00A74 80A0FCD4 ACC80008 */ sw $t0, 0x0008($a2) ## FFFFFFF8
/* 00A78 80A0FCD8 C7A60034 */ lwc1 $f6, 0x0034($sp)
/* 00A7C 80A0FCDC AFA00010 */ sw $zero, 0x0010($sp)
/* 00A80 80A0FCE0 46083281 */ sub.s $f10, $f6, $f8
/* 00A84 80A0FCE4 0C00A757 */ jal func_80029D5C
/* 00A88 80A0FCE8 E7AA0034 */ swc1 $f10, 0x0034($sp)
.L80A0FCEC:
/* 00A8C 80A0FCEC 0C00B638 */ jal Actor_MoveForward
/* 00A90 80A0FCF0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00A94 80A0FCF4 260601B0 */ addiu $a2, $s0, 0x01B0 ## $a2 = 000001B0
/* 00A98 80A0FCF8 00C02825 */ or $a1, $a2, $zero ## $a1 = 000001B0
/* 00A9C 80A0FCFC AFA6002C */ sw $a2, 0x002C($sp)
/* 00AA0 80A0FD00 0C0189B7 */ jal Collider_CylinderUpdate
/* 00AA4 80A0FD04 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00AA8 80A0FD08 8FA9003C */ lw $t1, 0x003C($sp)
/* 00AAC 80A0FD0C 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 00AB0 80A0FD10 8FA6002C */ lw $a2, 0x002C($sp)
/* 00AB4 80A0FD14 812A0A78 */ lb $t2, 0x0A78($t1) ## 00000A78
/* 00AB8 80A0FD18 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60
/* 00ABC 80A0FD1C 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 00AC0 80A0FD20 55400004 */ bnel $t2, $zero, .L80A0FD34
/* 00AC4 80A0FD24 3C014248 */ lui $at, 0x4248 ## $at = 42480000
/* 00AC8 80A0FD28 0C0175E7 */ jal CollisionCheck_SetAT
## CollisionCheck_setAT
/* 00ACC 80A0FD2C 02212821 */ addu $a1, $s1, $at
/* 00AD0 80A0FD30 3C014248 */ lui $at, 0x4248 ## $at = 42480000
.L80A0FD34:
/* 00AD4 80A0FD34 44810000 */ mtc1 $at, $f0 ## $f0 = 50.00
/* 00AD8 80A0FD38 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000
/* 00ADC 80A0FD3C 44818000 */ mtc1 $at, $f16 ## $f16 = 100.00
/* 00AE0 80A0FD40 240B0001 */ addiu $t3, $zero, 0x0001 ## $t3 = 00000001
/* 00AE4 80A0FD44 44060000 */ mfc1 $a2, $f0
/* 00AE8 80A0FD48 44070000 */ mfc1 $a3, $f0
/* 00AEC 80A0FD4C AFAB0014 */ sw $t3, 0x0014($sp)
/* 00AF0 80A0FD50 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 00AF4 80A0FD54 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 00AF8 80A0FD58 0C00B92D */ jal func_8002E4B4
/* 00AFC 80A0FD5C E7B00010 */ swc1 $f16, 0x0010($sp)
/* 00B00 80A0FD60 960C0088 */ lhu $t4, 0x0088($s0) ## 00000088
/* 00B04 80A0FD64 318D0008 */ andi $t5, $t4, 0x0008 ## $t5 = 00000000
/* 00B08 80A0FD68 51A00004 */ beql $t5, $zero, .L80A0FD7C
/* 00B0C 80A0FD6C 8FBF0024 */ lw $ra, 0x0024($sp)
/* 00B10 80A0FD70 0C00B55C */ jal Actor_Kill
/* 00B14 80A0FD74 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00B18 80A0FD78 8FBF0024 */ lw $ra, 0x0024($sp)
.L80A0FD7C:
/* 00B1C 80A0FD7C 8FB0001C */ lw $s0, 0x001C($sp)
/* 00B20 80A0FD80 8FB10020 */ lw $s1, 0x0020($sp)
/* 00B24 80A0FD84 03E00008 */ jr $ra
/* 00B28 80A0FD88 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000

View file

@ -1,180 +0,0 @@
glabel func_80A0FD8C
/* 00B2C 80A0FD8C 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
/* 00B30 80A0FD90 AFBF001C */ sw $ra, 0x001C($sp)
/* 00B34 80A0FD94 AFB10018 */ sw $s1, 0x0018($sp)
/* 00B38 80A0FD98 AFB00014 */ sw $s0, 0x0014($sp)
/* 00B3C 80A0FD9C 8CAE1C44 */ lw $t6, 0x1C44($a1) ## 00001C44
/* 00B40 80A0FDA0 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 00B44 80A0FDA4 24080001 */ addiu $t0, $zero, 0x0001 ## $t0 = 00000001
/* 00B48 80A0FDA8 00250821 */ addu $at, $at, $a1
/* 00B4C 80A0FDAC AFAE002C */ sw $t6, 0x002C($sp)
/* 00B50 80A0FDB0 A0280B05 */ sb $t0, 0x0B05($at) ## 00010B05
/* 00B54 80A0FDB4 848F00B6 */ lh $t7, 0x00B6($a0) ## 000000B6
/* 00B58 80A0FDB8 84820152 */ lh $v0, 0x0152($a0) ## 00000152
/* 00B5C 80A0FDBC 24010031 */ addiu $at, $zero, 0x0031 ## $at = 00000031
/* 00B60 80A0FDC0 25F81000 */ addiu $t8, $t7, 0x1000 ## $t8 = 00001000
/* 00B64 80A0FDC4 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00B68 80A0FDC8 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
/* 00B6C 80A0FDCC 14410009 */ bne $v0, $at, .L80A0FDF4
/* 00B70 80A0FDD0 A49800B6 */ sh $t8, 0x00B6($a0) ## 000000B6
/* 00B74 80A0FDD4 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 00B78 80A0FDD8 00250821 */ addu $at, $at, $a1
/* 00B7C 80A0FDDC A0280AE3 */ sb $t0, 0x0AE3($at) ## 00010AE3
/* 00B80 80A0FDE0 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 00B84 80A0FDE4 00250821 */ addu $at, $at, $a1
/* 00B88 80A0FDE8 241900FF */ addiu $t9, $zero, 0x00FF ## $t9 = 000000FF
/* 00B8C 80A0FDEC A4390AFA */ sh $t9, 0x0AFA($at) ## 00010AFA
/* 00B90 80A0FDF0 84820152 */ lh $v0, 0x0152($a0) ## 00000152
.L80A0FDF4:
/* 00B94 80A0FDF4 2401001F */ addiu $at, $zero, 0x001F ## $at = 0000001F
/* 00B98 80A0FDF8 14410008 */ bne $v0, $at, .L80A0FE1C
/* 00B9C 80A0FDFC 24090014 */ addiu $t1, $zero, 0x0014 ## $t1 = 00000014
/* 00BA0 80A0FE00 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 00BA4 80A0FE04 00310821 */ addu $at, $at, $s1
/* 00BA8 80A0FE08 A0200AE3 */ sb $zero, 0x0AE3($at) ## 00010AE3
/* 00BAC 80A0FE0C 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 00BB0 80A0FE10 00310821 */ addu $at, $at, $s1
/* 00BB4 80A0FE14 A4290AFA */ sh $t1, 0x0AFA($at) ## 00010AFA
/* 00BB8 80A0FE18 86020152 */ lh $v0, 0x0152($s0) ## 00000152
.L80A0FE1C:
/* 00BBC 80A0FE1C 28410030 */ slti $at, $v0, 0x0030
/* 00BC0 80A0FE20 1420000F */ bne $at, $zero, .L80A0FE60
/* 00BC4 80A0FE24 240300FF */ addiu $v1, $zero, 0x00FF ## $v1 = 000000FF
/* 00BC8 80A0FE28 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 00BCC 80A0FE2C 02211021 */ addu $v0, $s1, $at
/* 00BD0 80A0FE30 A0430B08 */ sb $v1, 0x0B08($v0) ## 00000B08
/* 00BD4 80A0FE34 A0430B07 */ sb $v1, 0x0B07($v0) ## 00000B07
/* 00BD8 80A0FE38 A0430B06 */ sb $v1, 0x0B06($v0) ## 00000B06
/* 00BDC 80A0FE3C 860B0150 */ lh $t3, 0x0150($s0) ## 00000150
/* 00BE0 80A0FE40 240D0046 */ addiu $t5, $zero, 0x0046 ## $t5 = 00000046
/* 00BE4 80A0FE44 316C0001 */ andi $t4, $t3, 0x0001 ## $t4 = 00000000
/* 00BE8 80A0FE48 11800003 */ beq $t4, $zero, .L80A0FE58
/* 00BEC 80A0FE4C 00000000 */ nop
/* 00BF0 80A0FE50 10000006 */ beq $zero, $zero, .L80A0FE6C
/* 00BF4 80A0FE54 A04D0B09 */ sb $t5, 0x0B09($v0) ## 00000B09
.L80A0FE58:
/* 00BF8 80A0FE58 10000004 */ beq $zero, $zero, .L80A0FE6C
/* 00BFC 80A0FE5C A0400B09 */ sb $zero, 0x0B09($v0) ## 00000B09
.L80A0FE60:
/* 00C00 80A0FE60 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 00C04 80A0FE64 00310821 */ addu $at, $at, $s1
/* 00C08 80A0FE68 A0200B09 */ sb $zero, 0x0B09($at) ## 00010B09
.L80A0FE6C:
/* 00C0C 80A0FE6C 860E0150 */ lh $t6, 0x0150($s0) ## 00000150
/* 00C10 80A0FE70 2604016C */ addiu $a0, $s0, 0x016C ## $a0 = 0000016C
/* 00C14 80A0FE74 3C063F00 */ lui $a2, 0x3F00 ## $a2 = 3F000000
/* 00C18 80A0FE78 29C10015 */ slti $at, $t6, 0x0015
/* 00C1C 80A0FE7C 1020000B */ beq $at, $zero, .L80A0FEAC
/* 00C20 80A0FE80 3C074040 */ lui $a3, 0x4040 ## $a3 = 40400000
/* 00C24 80A0FE84 26040160 */ addiu $a0, $s0, 0x0160 ## $a0 = 00000160
/* 00C28 80A0FE88 3C053F80 */ lui $a1, 0x3F80 ## $a1 = 3F800000
/* 00C2C 80A0FE8C 0C01E123 */ jal Math_SmoothDownscaleMaxF
/* 00C30 80A0FE90 3C064234 */ lui $a2, 0x4234 ## $a2 = 42340000
/* 00C34 80A0FE94 2604016C */ addiu $a0, $s0, 0x016C ## $a0 = 0000016C
/* 00C38 80A0FE98 3C053F80 */ lui $a1, 0x3F80 ## $a1 = 3F800000
/* 00C3C 80A0FE9C 0C01E123 */ jal Math_SmoothDownscaleMaxF
/* 00C40 80A0FEA0 3C063F00 */ lui $a2, 0x3F00 ## $a2 = 3F000000
/* 00C44 80A0FEA4 10000004 */ beq $zero, $zero, .L80A0FEB8
/* 00C48 80A0FEA8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
.L80A0FEAC:
/* 00C4C 80A0FEAC 0C01E107 */ jal Math_SmoothScaleMaxF
/* 00C50 80A0FEB0 8E05018C */ lw $a1, 0x018C($s0) ## 0000018C
/* 00C54 80A0FEB4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
.L80A0FEB8:
/* 00C58 80A0FEB8 0C00B58B */ jal Actor_SetScale
/* 00C5C 80A0FEBC 8E05016C */ lw $a1, 0x016C($s0) ## 0000016C
/* 00C60 80A0FEC0 3C014040 */ lui $at, 0x4040 ## $at = 40400000
/* 00C64 80A0FEC4 44812000 */ mtc1 $at, $f4 ## $f4 = 3.00
/* 00C68 80A0FEC8 C606018C */ lwc1 $f6, 0x018C($s0) ## 0000018C
/* 00C6C 80A0FECC 260601B0 */ addiu $a2, $s0, 0x01B0 ## $a2 = 000001B0
/* 00C70 80A0FED0 00C02825 */ or $a1, $a2, $zero ## $a1 = 000001B0
/* 00C74 80A0FED4 4606203C */ c.lt.s $f4, $f6
/* 00C78 80A0FED8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00C7C 80A0FEDC 4502000E */ bc1fl .L80A0FF18
/* 00C80 80A0FEE0 86190150 */ lh $t9, 0x0150($s0) ## 00000150
/* 00C84 80A0FEE4 0C0189B7 */ jal Collider_CylinderUpdate
/* 00C88 80A0FEE8 AFA60024 */ sw $a2, 0x0024($sp)
/* 00C8C 80A0FEEC 8FAF002C */ lw $t7, 0x002C($sp)
/* 00C90 80A0FEF0 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 00C94 80A0FEF4 8FA60024 */ lw $a2, 0x0024($sp)
/* 00C98 80A0FEF8 81F80A78 */ lb $t8, 0x0A78($t7) ## 00000A78
/* 00C9C 80A0FEFC 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60
/* 00CA0 80A0FF00 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 00CA4 80A0FF04 57000004 */ bnel $t8, $zero, .L80A0FF18
/* 00CA8 80A0FF08 86190150 */ lh $t9, 0x0150($s0) ## 00000150
/* 00CAC 80A0FF0C 0C0175E7 */ jal CollisionCheck_SetAT
## CollisionCheck_setAT
/* 00CB0 80A0FF10 02212821 */ addu $a1, $s1, $at
/* 00CB4 80A0FF14 86190150 */ lh $t9, 0x0150($s0) ## 00000150
.L80A0FF18:
/* 00CB8 80A0FF18 57200007 */ bnel $t9, $zero, .L80A0FF38
/* 00CBC 80A0FF1C 860201FE */ lh $v0, 0x01FE($s0) ## 000001FE
/* 00CC0 80A0FF20 0C00B55C */ jal Actor_Kill
/* 00CC4 80A0FF24 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00CC8 80A0FF28 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 00CCC 80A0FF2C 00310821 */ addu $at, $at, $s1
/* 00CD0 80A0FF30 A0200B05 */ sb $zero, 0x0B05($at) ## 00010B05
/* 00CD4 80A0FF34 860201FE */ lh $v0, 0x01FE($s0) ## 000001FE
.L80A0FF38:
/* 00CD8 80A0FF38 26040200 */ addiu $a0, $s0, 0x0200 ## $a0 = 00000200
/* 00CDC 80A0FF3C 3C053F80 */ lui $a1, 0x3F80 ## $a1 = 3F800000
/* 00CE0 80A0FF40 1040000C */ beq $v0, $zero, .L80A0FF74
/* 00CE4 80A0FF44 2449FFFF */ addiu $t1, $v0, 0xFFFF ## $t1 = FFFFFFFF
/* 00CE8 80A0FF48 240A0001 */ addiu $t2, $zero, 0x0001 ## $t2 = 00000001
/* 00CEC 80A0FF4C 3C063E99 */ lui $a2, 0x3E99 ## $a2 = 3E990000
/* 00CF0 80A0FF50 A60901FE */ sh $t1, 0x01FE($s0) ## 000001FE
/* 00CF4 80A0FF54 A20A01FC */ sb $t2, 0x01FC($s0) ## 000001FC
/* 00CF8 80A0FF58 34C6999A */ ori $a2, $a2, 0x999A ## $a2 = 3E99999A
/* 00CFC 80A0FF5C 26040200 */ addiu $a0, $s0, 0x0200 ## $a0 = 00000200
/* 00D00 80A0FF60 3C054220 */ lui $a1, 0x4220 ## $a1 = 42200000
/* 00D04 80A0FF64 0C01E107 */ jal Math_SmoothScaleMaxF
/* 00D08 80A0FF68 3C074120 */ lui $a3, 0x4120 ## $a3 = 41200000
/* 00D0C 80A0FF6C 1000000B */ beq $zero, $zero, .L80A0FF9C
/* 00D10 80A0FF70 920B01FC */ lbu $t3, 0x01FC($s0) ## 000001FC
.L80A0FF74:
/* 00D14 80A0FF74 0C01E123 */ jal Math_SmoothDownscaleMaxF
/* 00D18 80A0FF78 3C0640A0 */ lui $a2, 0x40A0 ## $a2 = 40A00000
/* 00D1C 80A0FF7C 44804000 */ mtc1 $zero, $f8 ## $f8 = 0.00
/* 00D20 80A0FF80 C60A0200 */ lwc1 $f10, 0x0200($s0) ## 00000200
/* 00D24 80A0FF84 460A4032 */ c.eq.s $f8, $f10
/* 00D28 80A0FF88 00000000 */ nop
/* 00D2C 80A0FF8C 45020003 */ bc1fl .L80A0FF9C
/* 00D30 80A0FF90 920B01FC */ lbu $t3, 0x01FC($s0) ## 000001FC
/* 00D34 80A0FF94 A20001FC */ sb $zero, 0x01FC($s0) ## 000001FC
/* 00D38 80A0FF98 920B01FC */ lbu $t3, 0x01FC($s0) ## 000001FC
.L80A0FF9C:
/* 00D3C 80A0FF9C 3C018016 */ lui $at, %hi(D_8015FCF0)
/* 00D40 80A0FFA0 3C0C8016 */ lui $t4, %hi(D_8015FCF8)
/* 00D44 80A0FFA4 A02BFCF0 */ sb $t3, %lo(D_8015FCF0)($at)
/* 00D48 80A0FFA8 8E0E0024 */ lw $t6, 0x0024($s0) ## 00000024
/* 00D4C 80A0FFAC 258CFCF8 */ addiu $t4, %lo(D_8015FCF8)
/* 00D50 80A0FFB0 3C018016 */ lui $at, %hi(D_8015FD06)
/* 00D54 80A0FFB4 AD8E0000 */ sw $t6, 0x0000($t4) ## 8015FCF8
/* 00D58 80A0FFB8 8E0D0028 */ lw $t5, 0x0028($s0) ## 00000028
/* 00D5C 80A0FFBC AD8D0004 */ sw $t5, 0x0004($t4) ## 8015FCFC
/* 00D60 80A0FFC0 8E0E002C */ lw $t6, 0x002C($s0) ## 0000002C
/* 00D64 80A0FFC4 AD8E0008 */ sw $t6, 0x0008($t4) ## 8015FD00
/* 00D68 80A0FFC8 C6100200 */ lwc1 $f16, 0x0200($s0) ## 00000200
/* 00D6C 80A0FFCC 8FBF001C */ lw $ra, 0x001C($sp)
/* 00D70 80A0FFD0 8FB00014 */ lw $s0, 0x0014($sp)
/* 00D74 80A0FFD4 4600848D */ trunc.w.s $f18, $f16
/* 00D78 80A0FFD8 8FB10018 */ lw $s1, 0x0018($sp)
/* 00D7C 80A0FFDC 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
/* 00D80 80A0FFE0 44189000 */ mfc1 $t8, $f18
/* 00D84 80A0FFE4 00000000 */ nop
/* 00D88 80A0FFE8 A438FD06 */ sh $t8, %lo(D_8015FD06)($at)
/* 00D8C 80A0FFEC 3C014120 */ lui $at, 0x4120 ## $at = 41200000
/* 00D90 80A0FFF0 44812000 */ mtc1 $at, $f4 ## $f4 = 10.00
/* 00D94 80A0FFF4 3C018016 */ lui $at, %hi(D_8015FD08)
/* 00D98 80A0FFF8 E424FD08 */ swc1 $f4, %lo(D_8015FD08)($at)
/* 00D9C 80A0FFFC 3C018016 */ lui $at, %hi(D_8015FD0C)
/* 00DA0 80A10000 03E00008 */ jr $ra
/* 00DA4 80A10004 A420FD0C */ sh $zero, %lo(D_8015FD0C)($at)

View file

@ -1,171 +0,0 @@
.rdata
glabel D_80A11880
.asciz "yari hikari 1\n"
.balign 4
glabel D_80A11890
.asciz "yari hikari 2\n"
.balign 4
glabel D_80A118A0
.asciz "FLASH !!\n"
.balign 4
.late_rodata
glabel D_80A119D4
.word 0x469C4000
glabel D_80A119D8
.word 0xBDA3D70A
.text
glabel func_80A10008
/* 00DA8 80A10008 27BDFF80 */ addiu $sp, $sp, 0xFF80 ## $sp = FFFFFF80
/* 00DAC 80A1000C AFB10038 */ sw $s1, 0x0038($sp)
/* 00DB0 80A10010 00808825 */ or $s1, $a0, $zero ## $s1 = 00000000
/* 00DB4 80A10014 AFBF004C */ sw $ra, 0x004C($sp)
/* 00DB8 80A10018 AFB50048 */ sw $s5, 0x0048($sp)
/* 00DBC 80A1001C 3C0480A1 */ lui $a0, %hi(D_80A11880) ## $a0 = 80A10000
/* 00DC0 80A10020 00A0A825 */ or $s5, $a1, $zero ## $s5 = 00000000
/* 00DC4 80A10024 AFB40044 */ sw $s4, 0x0044($sp)
/* 00DC8 80A10028 AFB30040 */ sw $s3, 0x0040($sp)
/* 00DCC 80A1002C AFB2003C */ sw $s2, 0x003C($sp)
/* 00DD0 80A10030 AFB00034 */ sw $s0, 0x0034($sp)
/* 00DD4 80A10034 F7B80028 */ sdc1 $f24, 0x0028($sp)
/* 00DD8 80A10038 F7B60020 */ sdc1 $f22, 0x0020($sp)
/* 00DDC 80A1003C F7B40018 */ sdc1 $f20, 0x0018($sp)
/* 00DE0 80A10040 0C00084C */ jal osSyncPrintf
/* 00DE4 80A10044 24841880 */ addiu $a0, $a0, %lo(D_80A11880) ## $a0 = 80A11880
/* 00DE8 80A10048 862E0156 */ lh $t6, 0x0156($s1) ## 00000156
/* 00DEC 80A1004C 8E300118 */ lw $s0, 0x0118($s1) ## 00000118
/* 00DF0 80A10050 3C0540C0 */ lui $a1, 0x40C0 ## $a1 = 40C00000
/* 00DF4 80A10054 31CF0001 */ andi $t7, $t6, 0x0001 ## $t7 = 00000000
/* 00DF8 80A10058 11E00005 */ beq $t7, $zero, .L80A10070
/* 00DFC 80A1005C 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 00E00 80A10060 0C00B58B */ jal Actor_SetScale
/* 00E04 80A10064 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 00E08 80A10068 10000004 */ beq $zero, $zero, .L80A1007C
/* 00E0C 80A1006C 8E190200 */ lw $t9, 0x0200($s0) ## 00000200
.L80A10070:
/* 00E10 80A10070 0C00B58B */ jal Actor_SetScale
/* 00E14 80A10074 3C0540A8 */ lui $a1, 0x40A8 ## $a1 = 40A80000
/* 00E18 80A10078 8E190200 */ lw $t9, 0x0200($s0) ## 00000200
.L80A1007C:
/* 00E1C 80A1007C AE390024 */ sw $t9, 0x0024($s1) ## 00000024
/* 00E20 80A10080 8E180204 */ lw $t8, 0x0204($s0) ## 00000204
/* 00E24 80A10084 AE380028 */ sw $t8, 0x0028($s1) ## 00000028
/* 00E28 80A10088 8E190208 */ lw $t9, 0x0208($s0) ## 00000208
/* 00E2C 80A1008C 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 00E30 80A10090 AE39002C */ sw $t9, 0x002C($s1) ## 0000002C
/* 00E34 80A10094 3C0180A1 */ lui $at, %hi(D_80A119D4) ## $at = 80A10000
/* 00E38 80A10098 C42419D4 */ lwc1 $f4, %lo(D_80A119D4)($at)
/* 00E3C 80A1009C 862800B8 */ lh $t0, 0x00B8($s1) ## 000000B8
/* 00E40 80A100A0 3C0480A1 */ lui $a0, %hi(D_80A11890) ## $a0 = 80A10000
/* 00E44 80A100A4 46040182 */ mul.s $f6, $f0, $f4
/* 00E48 80A100A8 24841890 */ addiu $a0, $a0, %lo(D_80A11890) ## $a0 = 80A11890
/* 00E4C 80A100AC 4600320D */ trunc.w.s $f8, $f6
/* 00E50 80A100B0 440C4000 */ mfc1 $t4, $f8
/* 00E54 80A100B4 00000000 */ nop
/* 00E58 80A100B8 010C6821 */ addu $t5, $t0, $t4
/* 00E5C 80A100BC 25AE4000 */ addiu $t6, $t5, 0x4000 ## $t6 = 00004000
/* 00E60 80A100C0 0C00084C */ jal osSyncPrintf
/* 00E64 80A100C4 A62E00B8 */ sh $t6, 0x00B8($s1) ## 000000B8
/* 00E68 80A100C8 862F0158 */ lh $t7, 0x0158($s1) ## 00000158
/* 00E6C 80A100CC 3C1880A1 */ lui $t8, %hi(D_80A117C8) ## $t8 = 80A10000
/* 00E70 80A100D0 271817C8 */ addiu $t8, $t8, %lo(D_80A117C8) ## $t8 = 80A117C8
/* 00E74 80A100D4 55E00042 */ bnel $t7, $zero, .L80A101E0
/* 00E78 80A100D8 86390150 */ lh $t9, 0x0150($s1) ## 00000150
/* 00E7C 80A100DC 8F090000 */ lw $t1, 0x0000($t8) ## 80A117C8
/* 00E80 80A100E0 27B20060 */ addiu $s2, $sp, 0x0060 ## $s2 = FFFFFFE0
/* 00E84 80A100E4 3C0A80A1 */ lui $t2, %hi(D_80A117D4) ## $t2 = 80A10000
/* 00E88 80A100E8 AE490000 */ sw $t1, 0x0000($s2) ## FFFFFFE0
/* 00E8C 80A100EC 8F190004 */ lw $t9, 0x0004($t8) ## 80A117CC
/* 00E90 80A100F0 254A17D4 */ addiu $t2, $t2, %lo(D_80A117D4) ## $t2 = 80A117D4
/* 00E94 80A100F4 27B30054 */ addiu $s3, $sp, 0x0054 ## $s3 = FFFFFFD4
/* 00E98 80A100F8 AE590004 */ sw $t9, 0x0004($s2) ## FFFFFFE4
/* 00E9C 80A100FC 8F090008 */ lw $t1, 0x0008($t8) ## 80A117D0
/* 00EA0 80A10100 3C0480A1 */ lui $a0, %hi(D_80A118A0) ## $a0 = 80A10000
/* 00EA4 80A10104 248418A0 */ addiu $a0, $a0, %lo(D_80A118A0) ## $a0 = 80A118A0
/* 00EA8 80A10108 AE490008 */ sw $t1, 0x0008($s2) ## FFFFFFE8
/* 00EAC 80A1010C 8D480000 */ lw $t0, 0x0000($t2) ## 80A117D4
/* 00EB0 80A10110 AE680000 */ sw $t0, 0x0000($s3) ## FFFFFFD4
/* 00EB4 80A10114 8D4B0004 */ lw $t3, 0x0004($t2) ## 80A117D8
/* 00EB8 80A10118 AE6B0004 */ sw $t3, 0x0004($s3) ## FFFFFFD8
/* 00EBC 80A1011C 8D480008 */ lw $t0, 0x0008($t2) ## 80A117DC
/* 00EC0 80A10120 0C00084C */ jal osSyncPrintf
/* 00EC4 80A10124 AE680008 */ sw $t0, 0x0008($s3) ## FFFFFFDC
/* 00EC8 80A10128 3C0142A0 */ lui $at, 0x42A0 ## $at = 42A00000
/* 00ECC 80A1012C 4481C000 */ mtc1 $at, $f24 ## $f24 = 80.00
/* 00ED0 80A10130 3C0180A1 */ lui $at, %hi(D_80A119D8) ## $at = 80A10000
/* 00ED4 80A10134 C43619D8 */ lwc1 $f22, %lo(D_80A119D8)($at)
/* 00ED8 80A10138 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000
/* 00EDC 80A1013C 4481A000 */ mtc1 $at, $f20 ## $f20 = 20.00
/* 00EE0 80A10140 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000
/* 00EE4 80A10144 27B4006C */ addiu $s4, $sp, 0x006C ## $s4 = FFFFFFEC
.L80A10148:
/* 00EE8 80A10148 0C00CFC8 */ jal Math_Rand_CenteredFloat
/* 00EEC 80A1014C 4600A306 */ mov.s $f12, $f20
/* 00EF0 80A10150 C62A0024 */ lwc1 $f10, 0x0024($s1) ## 00000024
/* 00EF4 80A10154 4600A306 */ mov.s $f12, $f20
/* 00EF8 80A10158 460A0400 */ add.s $f16, $f0, $f10
/* 00EFC 80A1015C 0C00CFC8 */ jal Math_Rand_CenteredFloat
/* 00F00 80A10160 E7B0006C */ swc1 $f16, 0x006C($sp)
/* 00F04 80A10164 C6320028 */ lwc1 $f18, 0x0028($s1) ## 00000028
/* 00F08 80A10168 4600A306 */ mov.s $f12, $f20
/* 00F0C 80A1016C 46120100 */ add.s $f4, $f0, $f18
/* 00F10 80A10170 0C00CFC8 */ jal Math_Rand_CenteredFloat
/* 00F14 80A10174 E7A40070 */ swc1 $f4, 0x0070($sp)
/* 00F18 80A10178 C626002C */ lwc1 $f6, 0x002C($s1) ## 0000002C
/* 00F1C 80A1017C E7B60058 */ swc1 $f22, 0x0058($sp)
/* 00F20 80A10180 46060200 */ add.s $f8, $f0, $f6
/* 00F24 80A10184 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 00F28 80A10188 E7A80074 */ swc1 $f8, 0x0074($sp)
/* 00F2C 80A1018C 46180282 */ mul.s $f10, $f0, $f24
/* 00F30 80A10190 02A02025 */ or $a0, $s5, $zero ## $a0 = 00000000
/* 00F34 80A10194 02802825 */ or $a1, $s4, $zero ## $a1 = FFFFFFEC
/* 00F38 80A10198 02403025 */ or $a2, $s2, $zero ## $a2 = FFFFFFE0
/* 00F3C 80A1019C 02603825 */ or $a3, $s3, $zero ## $a3 = FFFFFFD4
/* 00F40 80A101A0 AFA00014 */ sw $zero, 0x0014($sp)
/* 00F44 80A101A4 4600540D */ trunc.w.s $f16, $f10
/* 00F48 80A101A8 440D8000 */ mfc1 $t5, $f16
/* 00F4C 80A101AC 00000000 */ nop
/* 00F50 80A101B0 000D7400 */ sll $t6, $t5, 16
/* 00F54 80A101B4 000E7C03 */ sra $t7, $t6, 16
/* 00F58 80A101B8 25F80096 */ addiu $t8, $t7, 0x0096 ## $t8 = 00000096
/* 00F5C 80A101BC 0C00A73C */ jal func_80029CF0
/* 00F60 80A101C0 AFB80010 */ sw $t8, 0x0010($sp)
/* 00F64 80A101C4 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001
/* 00F68 80A101C8 00108400 */ sll $s0, $s0, 16
/* 00F6C 80A101CC 00108403 */ sra $s0, $s0, 16
/* 00F70 80A101D0 2A010002 */ slti $at, $s0, 0x0002
/* 00F74 80A101D4 1420FFDC */ bne $at, $zero, .L80A10148
/* 00F78 80A101D8 00000000 */ nop
/* 00F7C 80A101DC 86390150 */ lh $t9, 0x0150($s1) ## 00000150
.L80A101E0:
/* 00F80 80A101E0 57200004 */ bnel $t9, $zero, .L80A101F4
/* 00F84 80A101E4 8FBF004C */ lw $ra, 0x004C($sp)
/* 00F88 80A101E8 0C00B55C */ jal Actor_Kill
/* 00F8C 80A101EC 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 00F90 80A101F0 8FBF004C */ lw $ra, 0x004C($sp)
.L80A101F4:
/* 00F94 80A101F4 D7B40018 */ ldc1 $f20, 0x0018($sp)
/* 00F98 80A101F8 D7B60020 */ ldc1 $f22, 0x0020($sp)
/* 00F9C 80A101FC D7B80028 */ ldc1 $f24, 0x0028($sp)
/* 00FA0 80A10200 8FB00034 */ lw $s0, 0x0034($sp)
/* 00FA4 80A10204 8FB10038 */ lw $s1, 0x0038($sp)
/* 00FA8 80A10208 8FB2003C */ lw $s2, 0x003C($sp)
/* 00FAC 80A1020C 8FB30040 */ lw $s3, 0x0040($sp)
/* 00FB0 80A10210 8FB40044 */ lw $s4, 0x0044($sp)
/* 00FB4 80A10214 8FB50048 */ lw $s5, 0x0048($sp)
/* 00FB8 80A10218 03E00008 */ jr $ra
/* 00FBC 80A1021C 27BD0080 */ addiu $sp, $sp, 0x0080 ## $sp = 00000000

View file

@ -192,7 +192,7 @@ glabel func_80A10220
/* 011D4 80A10434 000FC400 */ sll $t8, $t7, 16 /* 011D4 80A10434 000FC400 */ sll $t8, $t7, 16
/* 011D8 80A10438 0018CC03 */ sra $t9, $t8, 16 /* 011D8 80A10438 0018CC03 */ sra $t9, $t8, 16
/* 011DC 80A1043C 27290096 */ addiu $t1, $t9, 0x0096 ## $t1 = 00000096 /* 011DC 80A1043C 27290096 */ addiu $t1, $t9, 0x0096 ## $t1 = 00000096
/* 011E0 80A10440 0C00A73C */ jal func_80029CF0 /* 011E0 80A10440 0C00A73C */ jal EffectSsFhgFlash_Spawn
/* 011E4 80A10444 AFA90010 */ sw $t1, 0x0010($sp) /* 011E4 80A10444 AFA90010 */ sw $t1, 0x0010($sp)
/* 011E8 80A10448 87A200E0 */ lh $v0, 0x00E0($sp) /* 011E8 80A10448 87A200E0 */ lh $v0, 0x00E0($sp)
/* 011EC 80A1044C 24420001 */ addiu $v0, $v0, 0x0001 ## $v0 = 00000001 /* 011EC 80A1044C 24420001 */ addiu $v0, $v0, 0x0001 ## $v0 = 00000001
@ -309,7 +309,7 @@ glabel func_80A10220
/* 0137C 80A105DC 00086400 */ sll $t4, $t0, 16 /* 0137C 80A105DC 00086400 */ sll $t4, $t0, 16
/* 01380 80A105E0 000C5C03 */ sra $t3, $t4, 16 /* 01380 80A105E0 000C5C03 */ sra $t3, $t4, 16
/* 01384 80A105E4 256E0032 */ addiu $t6, $t3, 0x0032 ## $t6 = 00000032 /* 01384 80A105E4 256E0032 */ addiu $t6, $t3, 0x0032 ## $t6 = 00000032
/* 01388 80A105E8 0C00A73C */ jal func_80029CF0 /* 01388 80A105E8 0C00A73C */ jal EffectSsFhgFlash_Spawn
/* 0138C 80A105EC AFAE0010 */ sw $t6, 0x0010($sp) /* 0138C 80A105EC AFAE0010 */ sw $t6, 0x0010($sp)
/* 01390 80A105F0 87A200B6 */ lh $v0, 0x00B6($sp) /* 01390 80A105F0 87A200B6 */ lh $v0, 0x00B6($sp)
/* 01394 80A105F4 24420001 */ addiu $v0, $v0, 0x0001 ## $v0 = 00000001 /* 01394 80A105F4 24420001 */ addiu $v0, $v0, 0x0001 ## $v0 = 00000001
@ -702,7 +702,7 @@ glabel func_80A10220
/* 01928 80A10B88 00086400 */ sll $t4, $t0, 16 /* 01928 80A10B88 00086400 */ sll $t4, $t0, 16
/* 0192C 80A10B8C 000C5C03 */ sra $t3, $t4, 16 /* 0192C 80A10B8C 000C5C03 */ sra $t3, $t4, 16
/* 01930 80A10B90 256E0050 */ addiu $t6, $t3, 0x0050 ## $t6 = 00000050 /* 01930 80A10B90 256E0050 */ addiu $t6, $t3, 0x0050 ## $t6 = 00000050
/* 01934 80A10B94 0C00A73C */ jal func_80029CF0 /* 01934 80A10B94 0C00A73C */ jal EffectSsFhgFlash_Spawn
/* 01938 80A10B98 AFAE0010 */ sw $t6, 0x0010($sp) /* 01938 80A10B98 AFAE0010 */ sw $t6, 0x0010($sp)
/* 0193C 80A10B9C 87A20096 */ lh $v0, 0x0096($sp) /* 0193C 80A10B9C 87A20096 */ lh $v0, 0x0096($sp)
/* 01940 80A10BA0 24420001 */ addiu $v0, $v0, 0x0001 ## $v0 = 00000001 /* 01940 80A10BA0 24420001 */ addiu $v0, $v0, 0x0001 ## $v0 = 00000001
@ -832,7 +832,7 @@ glabel func_80A10220
/* 01B04 80A10D64 000C5C00 */ sll $t3, $t4, 16 /* 01B04 80A10D64 000C5C00 */ sll $t3, $t4, 16
/* 01B08 80A10D68 000B7403 */ sra $t6, $t3, 16 /* 01B08 80A10D68 000B7403 */ sra $t6, $t3, 16
/* 01B0C 80A10D6C 25CF0064 */ addiu $t7, $t6, 0x0064 ## $t7 = 00000064 /* 01B0C 80A10D6C 25CF0064 */ addiu $t7, $t6, 0x0064 ## $t7 = 00000064
/* 01B10 80A10D70 0C00A73C */ jal func_80029CF0 /* 01B10 80A10D70 0C00A73C */ jal EffectSsFhgFlash_Spawn
/* 01B14 80A10D74 AFAF0010 */ sw $t7, 0x0010($sp) /* 01B14 80A10D74 AFAF0010 */ sw $t7, 0x0010($sp)
/* 01B18 80A10D78 87A20078 */ lh $v0, 0x0078($sp) /* 01B18 80A10D78 87A20078 */ lh $v0, 0x0078($sp)
/* 01B1C 80A10D7C 24420001 */ addiu $v0, $v0, 0x0001 ## $v0 = 00000001 /* 01B1C 80A10D7C 24420001 */ addiu $v0, $v0, 0x0001 ## $v0 = 00000001

View file

@ -1,145 +0,0 @@
.rdata
glabel D_80A11910
.asciz "EFC 1\n"
.balign 4
glabel D_80A11918
.asciz "EFC 2\n"
.balign 4
.text
glabel func_80A10F18
/* 01CB8 80A10F18 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
/* 01CBC 80A10F1C AFBF001C */ sw $ra, 0x001C($sp)
/* 01CC0 80A10F20 AFB00018 */ sw $s0, 0x0018($sp)
/* 01CC4 80A10F24 AFA5002C */ sw $a1, 0x002C($sp)
/* 01CC8 80A10F28 8C8E0118 */ lw $t6, 0x0118($a0) ## 00000118
/* 01CCC 80A10F2C 3C0141C8 */ lui $at, 0x41C8 ## $at = 41C80000
/* 01CD0 80A10F30 44813000 */ mtc1 $at, $f6 ## $f6 = 25.00
/* 01CD4 80A10F34 AFAE0024 */ sw $t6, 0x0024($sp)
/* 01CD8 80A10F38 C4800184 */ lwc1 $f0, 0x0184($a0) ## 00000184
/* 01CDC 80A10F3C 3C014220 */ lui $at, 0x4220 ## $at = 42200000
/* 01CE0 80A10F40 44819000 */ mtc1 $at, $f18 ## $f18 = 40.00
/* 01CE4 80A10F44 46003202 */ mul.s $f8, $f6, $f0
/* 01CE8 80A10F48 C4840174 */ lwc1 $f4, 0x0174($a0) ## 00000174
/* 01CEC 80A10F4C C4900178 */ lwc1 $f16, 0x0178($a0) ## 00000178
/* 01CF0 80A10F50 46009182 */ mul.s $f6, $f18, $f0
/* 01CF4 80A10F54 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000
/* 01CF8 80A10F58 848F001C */ lh $t7, 0x001C($a0) ## 0000001C
/* 01CFC 80A10F5C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 01D00 80A10F60 46082280 */ add.s $f10, $f4, $f8
/* 01D04 80A10F64 C488017C */ lwc1 $f8, 0x017C($a0) ## 0000017C
/* 01D08 80A10F68 46068101 */ sub.s $f4, $f16, $f6
/* 01D0C 80A10F6C E48A0174 */ swc1 $f10, 0x0174($a0) ## 00000174
/* 01D10 80A10F70 44815000 */ mtc1 $at, $f10 ## $f10 = 5.00
/* 01D14 80A10F74 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000
/* 01D18 80A10F78 E4840178 */ swc1 $f4, 0x0178($a0) ## 00000178
/* 01D1C 80A10F7C 46005482 */ mul.s $f18, $f10, $f0
/* 01D20 80A10F80 44812000 */ mtc1 $at, $f4 ## $f4 = 30.00
/* 01D24 80A10F84 C4860180 */ lwc1 $f6, 0x0180($a0) ## 00000180
/* 01D28 80A10F88 24010029 */ addiu $at, $zero, 0x0029 ## $at = 00000029
/* 01D2C 80A10F8C 46002282 */ mul.s $f10, $f4, $f0
/* 01D30 80A10F90 46124400 */ add.s $f16, $f8, $f18
/* 01D34 80A10F94 460A3201 */ sub.s $f8, $f6, $f10
/* 01D38 80A10F98 E490017C */ swc1 $f16, 0x017C($a0) ## 0000017C
/* 01D3C 80A10F9C 15E10013 */ bne $t7, $at, .L80A10FEC
/* 01D40 80A10FA0 E4880180 */ swc1 $f8, 0x0180($a0) ## 00000180
/* 01D44 80A10FA4 84820150 */ lh $v0, 0x0150($a0) ## 00000150
/* 01D48 80A10FA8 28410047 */ slti $at, $v0, 0x0047
/* 01D4C 80A10FAC 54200008 */ bnel $at, $zero, .L80A10FD0
/* 01D50 80A10FB0 24010046 */ addiu $at, $zero, 0x0046 ## $at = 00000046
/* 01D54 80A10FB4 0C00BE0A */ jal Audio_PlayActorSound2
/* 01D58 80A10FB8 24052040 */ addiu $a1, $zero, 0x2040 ## $a1 = 00002040
/* 01D5C 80A10FBC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01D60 80A10FC0 0C00BE0A */ jal Audio_PlayActorSound2
/* 01D64 80A10FC4 24052054 */ addiu $a1, $zero, 0x2054 ## $a1 = 00002054
/* 01D68 80A10FC8 86020150 */ lh $v0, 0x0150($s0) ## 00000150
/* 01D6C 80A10FCC 24010046 */ addiu $at, $zero, 0x0046 ## $at = 00000046
.L80A10FD0:
/* 01D70 80A10FD0 14410006 */ bne $v0, $at, .L80A10FEC
/* 01D74 80A10FD4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01D78 80A10FD8 0C00BE0A */ jal Audio_PlayActorSound2
/* 01D7C 80A10FDC 2405283F */ addiu $a1, $zero, 0x283F ## $a1 = 0000283F
/* 01D80 80A10FE0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01D84 80A10FE4 0C00BE0A */ jal Audio_PlayActorSound2
/* 01D88 80A10FE8 24052853 */ addiu $a1, $zero, 0x2853 ## $a1 = 00002853
.L80A10FEC:
/* 01D8C 80A10FEC 86020150 */ lh $v0, 0x0150($s0) ## 00000150
/* 01D90 80A10FF0 26040184 */ addiu $a0, $s0, 0x0184 ## $a0 = 00000184
/* 01D94 80A10FF4 3C073D23 */ lui $a3, 0x3D23 ## $a3 = 3D230000
/* 01D98 80A10FF8 28410033 */ slti $at, $v0, 0x0033
/* 01D9C 80A10FFC 54200017 */ bnel $at, $zero, .L80A1105C
/* 01DA0 80A11000 2841001A */ slti $at, $v0, 0x001A
/* 01DA4 80A11004 8618001C */ lh $t8, 0x001C($s0) ## 0000001C
/* 01DA8 80A11008 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 01DAC 80A1100C 44811000 */ mtc1 $at, $f2 ## $f2 = 1.00
/* 01DB0 80A11010 2B010028 */ slti $at, $t8, 0x0028
/* 01DB4 80A11014 14200004 */ bne $at, $zero, .L80A11028
/* 01DB8 80A11018 46001006 */ mov.s $f0, $f2
/* 01DBC 80A1101C 3C01BF80 */ lui $at, 0xBF80 ## $at = BF800000
/* 01DC0 80A11020 44810000 */ mtc1 $at, $f0 ## $f0 = -1.00
/* 01DC4 80A11024 00000000 */ nop
.L80A11028:
/* 01DC8 80A11028 44050000 */ mfc1 $a1, $f0
/* 01DCC 80A1102C 44061000 */ mfc1 $a2, $f2
/* 01DD0 80A11030 0C01E107 */ jal Math_SmoothScaleMaxF
/* 01DD4 80A11034 34E7D70A */ ori $a3, $a3, 0xD70A ## $a3 = 3D23D70A
/* 01DD8 80A11038 3C074123 */ lui $a3, 0x4123 ## $a3 = 41230000
/* 01DDC 80A1103C 34E73333 */ ori $a3, $a3, 0x3333 ## $a3 = 41233333
/* 01DE0 80A11040 26040188 */ addiu $a0, $s0, 0x0188 ## $a0 = 00000188
/* 01DE4 80A11044 3C05437F */ lui $a1, 0x437F ## $a1 = 437F0000
/* 01DE8 80A11048 0C01E107 */ jal Math_SmoothScaleMaxF
/* 01DEC 80A1104C 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 01DF0 80A11050 1000000D */ beq $zero, $zero, .L80A11088
/* 01DF4 80A11054 00000000 */ nop
/* 01DF8 80A11058 2841001A */ slti $at, $v0, 0x001A
.L80A1105C:
/* 01DFC 80A1105C 1020000A */ beq $at, $zero, .L80A11088
/* 01E00 80A11060 26040184 */ addiu $a0, $s0, 0x0184 ## $a0 = 00000184
/* 01E04 80A11064 3C063D23 */ lui $a2, 0x3D23 ## $a2 = 3D230000
/* 01E08 80A11068 34C6D70A */ ori $a2, $a2, 0xD70A ## $a2 = 3D23D70A
/* 01E0C 80A1106C 0C01E123 */ jal Math_SmoothDownscaleMaxF
/* 01E10 80A11070 3C053F80 */ lui $a1, 0x3F80 ## $a1 = 3F800000
/* 01E14 80A11074 3C064123 */ lui $a2, 0x4123 ## $a2 = 41230000
/* 01E18 80A11078 34C63333 */ ori $a2, $a2, 0x3333 ## $a2 = 41233333
/* 01E1C 80A1107C 26040188 */ addiu $a0, $s0, 0x0188 ## $a0 = 00000188
/* 01E20 80A11080 0C01E123 */ jal Math_SmoothDownscaleMaxF
/* 01E24 80A11084 3C053F80 */ lui $a1, 0x3F80 ## $a1 = 3F800000
.L80A11088:
/* 01E28 80A11088 3C0480A1 */ lui $a0, %hi(D_80A11910) ## $a0 = 80A10000
/* 01E2C 80A1108C 0C00084C */ jal osSyncPrintf
/* 01E30 80A11090 24841910 */ addiu $a0, $a0, %lo(D_80A11910) ## $a0 = 80A11910
/* 01E34 80A11094 86190150 */ lh $t9, 0x0150($s0) ## 00000150
/* 01E38 80A11098 13200009 */ beq $t9, $zero, .L80A110C0
/* 01E3C 80A1109C 00000000 */ nop
/* 01E40 80A110A0 8608001C */ lh $t0, 0x001C($s0) ## 0000001C
/* 01E44 80A110A4 24010027 */ addiu $at, $zero, 0x0027 ## $at = 00000027
/* 01E48 80A110A8 8FA90024 */ lw $t1, 0x0024($sp)
/* 01E4C 80A110AC 15010006 */ bne $t0, $at, .L80A110C8
/* 01E50 80A110B0 00000000 */ nop
/* 01E54 80A110B4 912A014F */ lbu $t2, 0x014F($t1) ## 0000014F
/* 01E58 80A110B8 11400003 */ beq $t2, $zero, .L80A110C8
/* 01E5C 80A110BC 00000000 */ nop
.L80A110C0:
/* 01E60 80A110C0 0C00B55C */ jal Actor_Kill
/* 01E64 80A110C4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
.L80A110C8:
/* 01E68 80A110C8 3C0480A1 */ lui $a0, %hi(D_80A11918) ## $a0 = 80A10000
/* 01E6C 80A110CC 0C00084C */ jal osSyncPrintf
/* 01E70 80A110D0 24841918 */ addiu $a0, $a0, %lo(D_80A11918) ## $a0 = 80A11918
/* 01E74 80A110D4 8FBF001C */ lw $ra, 0x001C($sp)
/* 01E78 80A110D8 8FB00018 */ lw $s0, 0x0018($sp)
/* 01E7C 80A110DC 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
/* 01E80 80A110E0 03E00008 */ jr $ra
/* 01E84 80A110E4 00000000 */ nop

View file

@ -75,7 +75,7 @@ glabel func_80848B44
/* 16A30 80848C40 27A6003C */ addiu $a2, $sp, 0x003C ## $a2 = FFFFFFF4 /* 16A30 80848C40 27A6003C */ addiu $a2, $sp, 0x003C ## $a2 = FFFFFFF4
/* 16A34 80848C44 87A70036 */ lh $a3, 0x0036($sp) /* 16A34 80848C44 87A70036 */ lh $a3, 0x0036($sp)
/* 16A38 80848C48 46128101 */ sub.s $f4, $f16, $f18 /* 16A38 80848C48 46128101 */ sub.s $f4, $f16, $f18
/* 16A3C 80848C4C 0C00A757 */ jal func_80029D5C /* 16A3C 80848C4C 0C00A757 */ jal EffectSsFhgFlash_Spawn2
/* 16A40 80848C50 E7A40044 */ swc1 $f4, 0x0044($sp) /* 16A40 80848C50 E7A40044 */ swc1 $f4, 0x0044($sp)
/* 16A44 80848C54 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 /* 16A44 80848C54 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 16A48 80848C58 0C00BE3C */ jal func_8002F8F0 /* 16A48 80848C58 0C00BE3C */ jal func_8002F8F0

View file

@ -9,12 +9,6 @@
.balign 16 .balign 16
glabel En_Fhg_Fire_InitVars
.word 0x00000900, 0x00000030, 0x005A0000, 0x00000204
.word EnFhgFire_Init
.word EnFhgFire_Destroy
.word EnFhgFire_Update
.word EnFhgFire_Draw
glabel D_80A11790 glabel D_80A11790
.word 0x0A110939, 0x10010000, 0x06000000, 0x00100700, 0x03200000, 0x0D900700, 0x00000000, 0x01010100, 0x0014001E, 0x000A0000, 0x00000000 .word 0x0A110939, 0x10010000, 0x06000000, 0x00100700, 0x03200000, 0x0D900700, 0x00000000, 0x01010100, 0x0014001E, 0x000A0000, 0x00000000
glabel D_80A117BC glabel D_80A117BC

View file

@ -258,8 +258,8 @@ void func_800299AC(GlobalContext* globalCtx, Vec3f* v);
// ? func_80029C50(?); // ? func_80029C50(?);
void func_80029CA4(GlobalContext* globalCtx, s32 a, Vec3f* pos); void func_80029CA4(GlobalContext* globalCtx, s32 a, Vec3f* pos);
// ? func_80029CC8(?); // ? func_80029CC8(?);
// ? func_80029CF0(?); void EffectSsFhgFlash_Spawn(GlobalContext*, Vec3f*, Vec3f*, Vec3f*, s16, u8);
// ? func_80029D5C(?); void EffectSsFhgFlash_Spawn2(GlobalContext *, Actor *, Vec3f *, s16, u8);
// ? func_80029DBC(?); // ? func_80029DBC(?);
void func_80029E8C(GlobalContext* globalCtx, Vec3f* burstDepthY, Vec3f* burstDepthX, Vec3f* burstOrigin, void func_80029E8C(GlobalContext* globalCtx, Vec3f* burstDepthY, Vec3f* burstDepthX, Vec3f* burstOrigin,
s16 gravityInfluence, s16 u0, s16 rotSpeed, s16 burstVel, u8 u1, s16 scale, u8 u2, s16 jitter, s16 gravityInfluence, s16 u0, s16 rotSpeed, s16 burstVel, u8 u1, s16 scale, u8 u2, s16 jitter,
@ -691,6 +691,7 @@ void func_80059EC8(Camera* camera);
s32 func_8005A77C(Camera* camera, s16 button); s32 func_8005A77C(Camera* camera, s16 button);
// ? func_8005A7A8(?); // ? func_8005A7A8(?);
// ? func_8005A8C4(?); // ? func_8005A8C4(?);
s16 func_8005A948(Camera* camera);
Vec3s* func_8005A970(Vec3s*, Camera*); Vec3s* func_8005A970(Vec3s*, Camera*);
s16 func_8005A9F4(Camera* camera); s16 func_8005A9F4(Camera* camera);
s32 func_8005AA1C(Camera* camera, s32, s16, s32); s32 func_8005AA1C(Camera* camera, s32, s16, s32);

View file

@ -895,7 +895,8 @@ typedef struct {
/* 0xB8 */ UNK_PTR lightSettingsList; /* 0xB8 */ UNK_PTR lightSettingsList;
/* 0xBC */ char unk_BC[0x03]; /* 0xBC */ char unk_BC[0x03];
/* 0xBF */ u8 unk_BF; /* 0xBF */ u8 unk_BF;
/* 0xC0 */ char unk_C0[0x18]; /* 0xC0 */ char unk_C0[0x16];
/* 0xD6 */ s16 unk_D6;
/* 0xD8 */ f32 unk_D8; /* 0xD8 */ f32 unk_D8;
/* 0xDC */ u8 unk_DC; /* 0xDC */ u8 unk_DC;
/* 0xDD */ u8 gloomySkyEvent; /* 0xDD */ u8 gloomySkyEvent;

View file

@ -175,7 +175,7 @@ typedef struct {
typedef struct { typedef struct {
/* 0x00 */ u32 size; /* 0x00 */ u32 size;
/* 0x04 */ void (*init)(void* effect, void* initParms); /* 0x04 */ void (*init)(void* effect, void* initParams);
/* 0x08 */ void (*destroy)(void* effect); /* 0x08 */ void (*destroy)(void* effect);
/* 0x0C */ s32 (*update)(void* effect); /* 0x0C */ s32 (*update)(void* effect);
/* 0x10 */ void (*draw)(void* effect, struct GraphicsContext* gfxCtx); /* 0x10 */ void (*draw)(void* effect, struct GraphicsContext* gfxCtx);

View file

@ -1,6 +1,7 @@
#include <ultra64.h> #include <ultra64.h>
#include <global.h> #include <global.h>
#include "overlays/effects/ovl_Effect_Ss_Solder_Srch_Ball/z_eff_ss_solder_srch_ball.h" #include "overlays/effects/ovl_Effect_Ss_Solder_Srch_Ball/z_eff_ss_solder_srch_ball.h"
#include "overlays/effects/ovl_Effect_Ss_Fhg_Flash/z_eff_ss_fhg_flash.h"
// Draw utility for some G effects // Draw utility for some G effects
#pragma GLOBAL_ASM("asm/non_matchings/code/z_effect_soft_sprite_old_init/func_80027F80.s") #pragma GLOBAL_ASM("asm/non_matchings/code/z_effect_soft_sprite_old_init/func_80027F80.s")
@ -161,9 +162,30 @@
// EffectSsFhgFlash Spawn Functions // EffectSsFhgFlash Spawn Functions
#pragma GLOBAL_ASM("asm/non_matchings/code/z_effect_soft_sprite_old_init/func_80029CF0.s") void EffectSsFhgFlash_Spawn(GlobalContext *globalCtx, Vec3f *pos, Vec3f *velocity, Vec3f *accel, s16 arg4, u8 arg5) {
EffectSsFhgFlashInitParams initParams;
#pragma GLOBAL_ASM("asm/non_matchings/code/z_effect_soft_sprite_old_init/func_80029D5C.s") Math_Vec3f_Copy(&initParams.pos, pos);
Math_Vec3f_Copy(&initParams.velocity, velocity);
Math_Vec3f_Copy(&initParams.accel, accel);
initParams.unk_24 = arg4;
initParams.unk_26 = arg5;
initParams.unk_2C = 0;
EffectSs_Spawn(globalCtx, EFFECT_SS_FHG_FLASH, 128, &initParams);
}
void EffectSsFhgFlash_Spawn2(GlobalContext *globalCtx, Actor *arg1, Vec3f *pos, s16 arg3, u8 arg4) {
EffectSsFhgFlashInitParams initParams;
initParams.unk_28 = arg1;
Math_Vec3f_Copy(&initParams.pos, pos);
initParams.unk_24 = arg3;
initParams.unk_26 = arg4;
initParams.unk_2C = 1;
EffectSs_Spawn(globalCtx, EFFECT_SS_FHG_FLASH, 128, &initParams);
}
// EffectSsKFire Spawn Functions // EffectSsKFire Spawn Functions

View file

@ -1,4 +1,11 @@
/*
* File: z_en_fhg_fire.c
* Overlay: ovl_En_Fhg_Fire
* Description: Phantom Ganon's Lighting Attack
*/
#include "z_en_fhg_fire.h" #include "z_en_fhg_fire.h"
#include "../ovl_En_fHG/z_en_fhg.h"
#define FLAGS 0x00000030 #define FLAGS 0x00000030
@ -9,7 +16,24 @@ void EnFhgFire_Destroy(Actor* thisx, GlobalContext* globalCtx);
void EnFhgFire_Update(Actor* thisx, GlobalContext* globalCtx); void EnFhgFire_Update(Actor* thisx, GlobalContext* globalCtx);
void EnFhgFire_Draw(Actor* thisx, GlobalContext* globalCtx); void EnFhgFire_Draw(Actor* thisx, GlobalContext* globalCtx);
/* void func_80A0F6F8(EnFhgFire* this, GlobalContext* globalCtx);
void func_80A0FA90(EnFhgFire* this, GlobalContext* globalCtx);
void func_80A0FC48(EnFhgFire* this, GlobalContext* globalCtx);
void func_80A0FD8C(EnFhgFire* this, GlobalContext* globalCtx);
void func_80A10008(EnFhgFire* this, GlobalContext* globalCtx);
void func_80A10220(EnFhgFire* this, GlobalContext* globalCtx);
void func_80A10F18(EnFhgFire* this, GlobalContext* globalCtx);
extern ColliderCylinderInit D_80A11790;
extern Vec3f D_80A117BC;
extern Vec3f D_80A117C8;
extern Vec3f D_80A117D4;
extern Gfx D_0600FAA0[];
extern Gfx D_0600FCF8[];
extern Gfx D_060105E0[];
extern Gfx D_06012160[];
const ActorInit En_Fhg_Fire_InitVars = { const ActorInit En_Fhg_Fire_InitVars = {
0, 0,
ACTORTYPE_BOSS, ACTORTYPE_BOSS,
@ -21,27 +45,489 @@ const ActorInit En_Fhg_Fire_InitVars = {
(ActorFunc)EnFhgFire_Update, (ActorFunc)EnFhgFire_Update,
(ActorFunc)EnFhgFire_Draw, (ActorFunc)EnFhgFire_Draw,
}; };
*/
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Fhg_Fire/func_80A0F260.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Fhg_Fire/EnFhgFire_Init.s") void EnFhgFire_SetupAction(EnFhgFire* this, EnFhgFireActionFunc actionFunc) {
this->actionFunc = actionFunc;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Fhg_Fire/EnFhgFire_Destroy.s") void EnFhgFire_Init(Actor* thisx, GlobalContext* globalCtx) {
f32 tempf0;
EnFhgFire* this = THIS;
Player* player = PLAYER;
f32 tempf1;
f32 tempf2;
f32 tempf3;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Fhg_Fire/func_80A0F6F8.s") ActorShape_Init(&thisx->shape, 0.0f, NULL, 0.0f);
if ((thisx->params == 0x23) || (thisx->params == 0x24) || (thisx->params == 0x32)) {
Collider_InitCylinder(globalCtx, &this->collider);
Collider_SetCylinder(globalCtx, &this->collider, thisx, &D_80A11790);
}
this->unk_160 = 200.0f;
Actor_SetScale(thisx, 0.0f);
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Fhg_Fire/func_80A0FA90.s") if (thisx->params == 0x01) {
EnFhgFire_SetupAction(this, func_80A0F6F8);
Audio_PlayActorSound2(thisx, NA_SE_EN_FANTOM_THUNDER);
} else if (thisx->params >= 0x64) {
EnFhgFire_SetupAction(this, func_80A0FA90);
thisx->shape.rot = thisx->posRot.rot;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Fhg_Fire/func_80A0FC48.s") if (thisx->params == 0x23) {
thisx->draw = NULL;
EnFhgFire_SetupAction(this, func_80A0FC48);
thisx->speedXZ = 30.0f;
Audio_PlayActorSound2(thisx, NA_SE_EN_FANTOM_SPARK);
return;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Fhg_Fire/func_80A0FD8C.s") if (thisx->params == 0x24) {
EnFhgFire_SetupAction(this, func_80A0FD8C);
this->unk_160 = 255.0f;
this->unk_150.x = 0x20;
this->unk_150.y = 0x32;
this->unk_1FE = 0x0A;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Fhg_Fire/func_80A10008.s") tempf2 = thisx->posRot.rot.x;
this->unk_18C = tempf2 / 100.0f;
tempf1 = tempf2 * 0.13f;
this->collider.dim.radius = tempf1;
this->collider.dim.height = tempf1;
this->collider.dim.yShift = 0;
return;
}
if (thisx->params == 0x26) {
// "light spear"
osSyncPrintf("yari hikari ct 1\n");
EnFhgFire_SetupAction(this, func_80A10008);
osSyncPrintf("yari hikari ct 2\n");
this->unk_150.x = thisx->posRot.rot.x;
this->fireMode = thisx->posRot.rot.y;
return;
}
switch (thisx->params) {
case 0x27:
case 0x28:
case 0x29:
Actor_SetScale(thisx, 7.0f);
EnFhgFire_SetupAction(this, func_80A10F18);
if (thisx->params == 0x29) {
this->unk_150.x = 0x01B8;
thisx->scale.z = 1.0f;
} else {
this->unk_150.x = 0x4C;
Audio_PlayActorSound2(thisx, NA_SE_EV_FANTOM_WARP_S);
Audio_PlayActorSound2(thisx, NA_SE_EV_FANTOM_WARP_S2);
}
return;
}
if (thisx->params == 0x32) {
thisx->speedXZ = (thisx->posRot.rot.x == 0) ? 8.0f : 3.0f;
EnFhgFire_SetupAction(this, func_80A10220);
this->unk_150.x = 0x46;
this->unk_150.y = 0x02;
tempf1 = player->actor.posRot.pos.x - thisx->posRot.pos.x;
tempf2 = player->actor.posRot.pos.y + 30.0f - thisx->posRot.pos.y;
tempf3 = player->actor.posRot.pos.z - thisx->posRot.pos.z;
thisx->posRot.rot.y = Math_atan2f(tempf1, tempf3) * 10430.378f; // 65536/(2*M_PI)
tempf0 = sqrtf(SQ(tempf1) + SQ(tempf3));
thisx->posRot.rot.x = Math_atan2f(tempf2, tempf0) * 10430.378f; // 65536/(2*M_PI)
this->collider.dim.radius = 40;
this->collider.dim.height = 50;
this->collider.dim.yShift = -25;
this->light = Lights_Insert(globalCtx, &globalCtx->lightCtx, (void*)(&this->unk_1A0));
Lights_InitType0PositionalLight(&this->unk_1A0, thisx->posRot.pos.x, thisx->posRot.pos.y, thisx->posRot.pos.z,
0xFF, 0xFF, 0xFF, 0xFF);
}
}
void EnFhgFire_Destroy(Actor* thisx, GlobalContext* globalCtx) {
EnFhgFire* this = THIS;
if ((thisx->params == 0x23) || (thisx->params == 0x24) || (thisx->params == 0x32)) {
Collider_DestroyCylinder(globalCtx, &this->collider);
}
if (thisx->params == 0x32) {
Lights_Remove(globalCtx, &globalCtx->lightCtx, this->light);
}
}
void func_80A0F6F8(EnFhgFire* this, GlobalContext* globalCtx) {
Camera* camera;
s32 pad;
Vec3f randVec;
Vec3f tmpVec;
s16 i;
s16 randY;
s16* tmp;
tmp = &this->unk_156;
camera = Gameplay_GetCamera(globalCtx, 0);
switch (this->fireMode) {
case 0x00:
this->fireMode = 0x0A;
this->unk_150.x = 0x07;
break;
case 0x0A:
this->actor.shape.rot.y = func_8005A948(camera) + ((*tmp & 0xFF) << 0x0F);
Math_SmoothScaleMaxF(&this->scale, 1.0f, 1.0f, 0.2f);
if (this->unk_150.x == 0) {
this->fireMode = 0x0B;
this->actor.shape.rot.z += 0x8000;
this->unk_150.x = 0x25;
this->actor.posRot.pos.y -= 200.0f;
Actor_SpawnAttached(&globalCtx->actorCtx, &this->actor, globalCtx, ACTOR_EN_FHG_FIRE,
this->actor.posRot.pos.x, this->actor.posRot.pos.y, this->actor.posRot.pos.z, 500,
0, 0, 0x24);
tmpVec = D_80A117BC;
for (i = 0; i < 35; i++) {
randVec.x = Math_Rand_CenteredFloat(30.f);
randVec.y = Math_Rand_ZeroFloat(5.0f) + 3.0f;
randVec.z = Math_Rand_CenteredFloat(30.f);
tmpVec.y = -0.2f;
EffectSsFhgFlash_Spawn(globalCtx, &this->actor.posRot.pos, &randVec, &tmpVec,
(s16)(Math_Rand_ZeroOne() * 100.0f) + 240, 0);
}
func_80033E88(&this->actor, globalCtx, 4, 10);
}
break;
case 0x0B:
this->actor.shape.rot.y = func_8005A948(camera) + ((*tmp & 0xFF) << 0x0F);
Math_SmoothScaleMaxF(&this->scale, 0.0f, 1.0f, 0.2f);
if (this->unk_150.x == 0x1E) {
randY = (Math_Rand_ZeroOne() < 0.5f) ? 0x1000 : 0;
for (i = 0; i < 8; i++) {
Actor_SpawnAttached(&globalCtx->actorCtx, &this->actor, globalCtx, ACTOR_EN_FHG_FIRE,
this->actor.posRot.pos.x, this->actor.posRot.pos.y,
this->actor.posRot.pos.z, 0, (i * 8192) + randY, 0x4000, i + 0x64);
}
for (i = 0; i < 8; i++) {
Actor_SpawnAttached(&globalCtx->actorCtx, &this->actor, globalCtx, ACTOR_EN_FHG_FIRE,
this->actor.posRot.pos.x, this->actor.posRot.pos.y, this->actor.posRot.pos.z, 0,
(i * 8192) + randY, 0, 0x23);
}
}
if (this->unk_150.x == 0) {
Actor_Kill(&this->actor);
}
}
Actor_SetScale(&this->actor, this->scale);
}
void func_80A0FA90(EnFhgFire* this, GlobalContext* globalCtx) {
osSyncPrintf("FF MOVE 1\n");
this->actor.shape.rot.x += (s16)(Math_Rand_ZeroOne() * 4000.0f) + 0x4000;
switch (this->fireMode) {
case 0:
this->fireMode = 1;
this->unk_150.x = (s16)(Math_Rand_ZeroOne() * 7.0f) + 0x07;
case 1:
Math_SmoothScaleMaxF(&this->scale, 1.7f, 1.0f, 0.34f);
if (this->unk_150.x == 0) {
this->fireMode = 0x02;
this->unk_150.x = 0x0A;
this->actor.posRot.pos.z += Math_Sins(this->actor.shape.rot.y) * -200.0f * this->scale;
this->actor.posRot.pos.x += Math_Coss(this->actor.shape.rot.y) * 200.0f * this->scale;
this->actor.shape.rot.y += 0x8000;
}
break;
case 2:
Math_SmoothDownscaleMaxF(&this->scale, 1.0f, 0.34f);
if (this->unk_150.x == 0) {
Actor_Kill(&this->actor);
}
break;
}
Actor_SetScale(&this->actor, this->scale);
if (this->actor.scale.x > 1.0f) {
this->actor.scale.x = 1.0f;
}
osSyncPrintf("FF MOVE 2\n");
}
void func_80A0FC48(EnFhgFire* this, GlobalContext* globalCtx) {
Player* player = PLAYER;
Vec3f pos;
if (this->collider.base.atFlags & 2) {
this->collider.base.atFlags = this->collider.base.atFlags & ~2;
Audio_PlayActorSound2(&this->actor, NA_SE_EN_FANTOM_HIT_THUNDER);
}
if (Math_Rand_ZeroOne() < 0.5f) {
pos = this->actor.posRot.pos;
pos.y -= 20.0f;
EffectSsFhgFlash_Spawn2(globalCtx, &this->actor, &pos, 0xC8, 0);
}
Actor_MoveForward(&this->actor);
Collider_CylinderUpdate(&this->actor, &this->collider);
if (player->invincibilityTimer == 0) {
CollisionCheck_SetAT(globalCtx, &globalCtx->colChkCtx, &this->collider.base);
}
func_8002E4B4(globalCtx, &this->actor, 50.0f, 50.0f, 100.0f, 1);
if (this->actor.bgCheckFlags & 8) {
Actor_Kill(&this->actor);
}
}
void func_80A0FD8C(EnFhgFire* this, GlobalContext* globalCtx) {
Player* player = PLAYER;
s32 pad;
globalCtx->envCtx.unk_E1 = 0x01;
this->actor.shape.rot.y += 0x1000;
if (this->unk_150.y == 0x31) {
globalCtx->envCtx.unk_BF = 1;
globalCtx->envCtx.unk_D6 = 0xFF;
}
if (this->unk_150.y == 0x1F) {
globalCtx->envCtx.unk_BF = 0x00;
globalCtx->envCtx.unk_D6 = 0x14;
}
if (this->unk_150.y >= 0x30) {
globalCtx->envCtx.unk_E2[2] = 0xFF;
globalCtx->envCtx.unk_E2[1] = 0xFF;
globalCtx->envCtx.unk_E2[0] = 0xFF;
if (((this->unk_150.x & 0xFF) % 2) != 0) {
globalCtx->envCtx.unk_E2[3] = 0x46;
} else {
globalCtx->envCtx.unk_E2[3] = 0x00;
}
} else {
globalCtx->envCtx.unk_E2[3] = 0x00;
}
if (this->unk_150.x < 0x15) {
Math_SmoothDownscaleMaxF(&this->unk_160, 1.0f, 45.0f);
Math_SmoothDownscaleMaxF(&this->scale, 1.0f, 0.5f);
} else {
Math_SmoothScaleMaxF(&this->scale, this->unk_18C, 0.5f, 3.0f);
}
Actor_SetScale(&this->actor, this->scale);
if (3.0f < this->unk_18C) {
Collider_CylinderUpdate(&this->actor, &this->collider);
if (player->invincibilityTimer == 0) {
CollisionCheck_SetAT(globalCtx, &globalCtx->colChkCtx, (Collider*)&this->collider);
}
}
if (this->unk_150.x == 0) {
Actor_Kill(&this->actor);
globalCtx->envCtx.unk_E1 = 0;
}
if (this->unk_1FE != 0) {
this->unk_1FE--;
this->unk_1FC = 1;
Math_SmoothScaleMaxF(&this->unk_200, 40.0f, 0.3f, 10.0f);
} else {
Math_SmoothDownscaleMaxF(&this->unk_200, 1.0f, 5.0f);
if (this->unk_200 == 0.0f) {
this->unk_1FC = 0;
}
}
// Related to scene draw config 30, only used in BossGanon_Update and
// loaded in z_kankyo
D_8015FCF0 = this->unk_1FC;
D_8015FCF8 = this->actor.posRot.pos;
D_8015FD06 = this->unk_200;
D_8015FD08 = 10.0f;
D_8015FD0C = 0;
}
void func_80A10008(EnFhgFire* this, GlobalContext* globalCtx) {
EnfHG* horse;
s16 i;
Vec3f sp6C;
Vec3f tmp;
Vec3f sp54;
osSyncPrintf("yari hikari 1\n");
horse = (EnfHG*)this->actor.attachedA;
if ((this->unk_156 % 2) != 0) {
Actor_SetScale(&this->actor, 6.0f);
} else {
Actor_SetScale(&this->actor, 5.25f);
}
this->actor.posRot.pos = horse->unk_200;
this->actor.shape.rot.z += (s16)(Math_Rand_ZeroOne() * 20000.0f) + 0x4000;
osSyncPrintf("yari hikari 2\n");
if (this->fireMode == 0) {
tmp = D_80A117C8;
sp54 = D_80A117D4;
osSyncPrintf("FLASH !!\n");
for (i = 0; i < 2; i++) {
sp6C.x = Math_Rand_CenteredFloat(20.0f) + this->actor.posRot.pos.x;
sp6C.y = Math_Rand_CenteredFloat(20.0f) + this->actor.posRot.pos.y;
sp6C.z = Math_Rand_CenteredFloat(20.0f) + this->actor.posRot.pos.z;
sp54.y = -0.08f;
EffectSsFhgFlash_Spawn(globalCtx, &sp6C, &tmp, &sp54, (s16)(Math_Rand_ZeroOne() * 80.0f) + 150, 0);
}
}
if (this->unk_150.x == 0) {
Actor_Kill(&this->actor);
}
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Fhg_Fire/func_80A10220.s") #pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Fhg_Fire/func_80A10220.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Fhg_Fire/func_80A10F18.s") void func_80A10F18(EnFhgFire* this, GlobalContext* globalCtx) {
EnfHG* horse = (EnfHG*)this->actor.attachedA;
f32 phi_f0;
s32 tmp;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Fhg_Fire/EnFhgFire_Update.s") this->unk_174 = (this->unk_174 + (25.0f * this->unk_184));
this->unk_178 = (this->unk_178 - (40.0f * this->unk_184));
this->unk_17C = (this->unk_17C + (5.0f * this->unk_184));
this->unk_180 = (this->unk_180 - (30.0f * this->unk_184));
if (this->actor.params == 0x29) {
if (this->unk_150.x >= 0x47) {
Audio_PlayActorSound2(&this->actor, NA_SE_EV_FANTOM_WARP_L - SFX_FLAG);
Audio_PlayActorSound2(&this->actor, NA_SE_EV_FANTOM_WARP_L2 - SFX_FLAG);
}
if (this->unk_150.x == 0x46) {
Audio_PlayActorSound2(&this->actor, NA_SE_EV_FANTOM_WARP_S);
Audio_PlayActorSound2(&this->actor, NA_SE_EV_FANTOM_WARP_S2);
}
}
if (this->unk_150.x >= 0x33) {
phi_f0 = 1.0f;
if (this->actor.params >= 0x28) {
phi_f0 = -1.0f;
}
Math_SmoothScaleMaxF(&this->unk_184, phi_f0, 1.0f, 0.04f);
Math_SmoothScaleMaxF(&this->unk_188, 255.0f, 1.0f, 10.2f);
} else {
if (this->unk_150.x < 0x1A) {
Math_SmoothDownscaleMaxF(&this->unk_184, 1.0f, 0.04f);
Math_SmoothDownscaleMaxF(&this->unk_188, 1.0f, 10.2f);
}
}
osSyncPrintf("EFC 1\n");
if ((this->unk_150.x == 0) || ((this->actor.params == 0x27) && (horse->unk_14F != 0))) {
Actor_Kill(&this->actor);
}
osSyncPrintf("EFC 2\n");
}
void EnFhgFire_Update(Actor* thisx, GlobalContext* globalCtx) {
EnFhgFire* this = THIS;
this->unk_156++;
DECR(this->unk_150.x);
DECR(this->unk_150.y);
this->actionFunc(this, globalCtx);
}
// Unsolved regalloc
#ifdef NON_EQUIVALENT
void EnFhgFire_Draw(Actor* thisx, GlobalContext* globalCtx) {
EnFhgFire* this = THIS;
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Gfx* dispRefs[4];
Graph_OpenDisps(dispRefs, gfxCtx, "../z_en_fhg_fire.c", 1723);
if (thisx->params == 0x24) {
func_80093D84(globalCtx->state.gfxCtx);
gDPSetPrimColor(gfxCtx->polyXlu.p++, 0, 0, 0xFF, 0xFF, 0xFF, (s32)this->unk_160 & 0xFF);
gDPSetEnvColor(gfxCtx->polyXlu.p++, 0xA5, 0xFF, 0x4B, 0x00);
gDPPipeSync(gfxCtx->polyXlu.p++);
gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_fhg_fire.c", 1745),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(gfxCtx->polyXlu.p++, SEGMENTED_TO_VIRTUAL(D_0600FCF8));
} else if ((thisx->params == 0x26) || (thisx->params == 0x32)) {
osSyncPrintf("yari hikari draw 1\n");
func_800D1FD4(&globalCtx->mf_11DA0);
func_80093D84(globalCtx->state.gfxCtx);
gDPSetPrimColor(gfxCtx->polyXlu.p++, 0, 0, 0xFF, 0xFF, 0xFF, (s32)this->unk_160 & 0xFF);
if (this->fireMode > 0) {
gDPSetEnvColor(gfxCtx->polyXlu.p++, 0x00, 0xFF, 0xFF, 0x00);
} else {
gDPSetEnvColor(gfxCtx->polyXlu.p++, 0xA5, 0xFF, 0x4B, 0x00);
}
gDPPipeSync(gfxCtx->polyXlu.p++);
Matrix_RotateZ(((f32)thisx->shape.rot.z / 32768.0f) * M_PI, 1);
gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_fhg_fire.c", 1801),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(gfxCtx->polyXlu.p++, D_06012160);
} else if ((thisx->params == 0x27) || (thisx->params == 0x28) || (thisx->params == 0x29)) {
func_80093D84(globalCtx->state.gfxCtx);
gDPSetPrimColor(gfxCtx->polyXlu.p++, 0, 0, 0, 0, 0,
((u32)this->unk_188 & 0xFF)); // sic u32
gDPSetEnvColor(gfxCtx->polyXlu.p++, 0x5A, 0x32, 0x5F, (s32)(this->unk_188 * 0.5f));
gDPPipeSync(gfxCtx->polyXlu.p++);
gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_fhg_fire.c", 1833),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPSegment(gfxCtx->polyXlu.p++, 0x08,
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, (s16)this->unk_174, (s16)this->unk_178, 0x40, 0x40, 1,
(s16)this->unk_17C, (s16)this->unk_180, 0x40, 0x40));
gSPDisplayList(gfxCtx->polyXlu.p++, D_0600FAA0);
} else {
osSyncPrintf("FF DRAW 1\n");
Matrix_Translate(0.0f, -100.0f, 0.0f, 1);
func_80093D84(globalCtx->state.gfxCtx);
gDPSetPrimColor(gfxCtx->polyXlu.p++, 0, 0, 0xFF, 0xFF, 0xFF, (s32)this->unk_160 & 0xFF);
gDPSetEnvColor(gfxCtx->polyXlu.p++, 0xFF, 0x1E, 0x00, 0xFF);
gDPPipeSync(gfxCtx->polyXlu.p++);
gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_fhg_fire.c", 1892),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(gfxCtx->polyXlu.p++, D_060105E0);
osSyncPrintf("FF DRAW 2\n");
}
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_fhg_fire.c", 1900);
}
#else
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Fhg_Fire/EnFhgFire_Draw.s") #pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Fhg_Fire/EnFhgFire_Draw.s")
#endif

View file

@ -6,9 +6,37 @@
struct EnFhgFire; struct EnFhgFire;
typedef void (*EnFhgFireActionFunc)(struct EnFhgFire*, GlobalContext *globalCtx);
typedef struct EnFhgFire { typedef struct EnFhgFire {
/* 0x0000 */ Actor actor; /* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0xB8]; /* 0x014C */ EnFhgFireActionFunc actionFunc;
/* 0x0150 */ Vec3s unk_150; // rotation
/* 0x0156 */ s16 unk_156;
/* 0x0158 */ s16 fireMode;
/* 0x015a */ s16 unk_15A;
/* 0x015C */ s16 unk_15C;
/* 0x015E */ char unk_15E[0x02];
/* 0x0160 */ f32 unk_160;
/* 0x0164 */ char unk_164[0x08];
/* 0x016C */ f32 scale;
/* 0x0170 */ char unk_170[0x04];
/* 0x0174 */ f32 unk_174;
/* 0x0178 */ f32 unk_178;
/* 0x017C */ f32 unk_17C;
/* 0x0180 */ f32 unk_180;
/* 0x0184 */ f32 unk_184;
/* 0x0188 */ f32 unk_188;
/* 0x018C */ f32 unk_18C;
/* 0x0190 */ char unk_190[0x0C];
/* 0x019C */ z_Light* light;
/* 0x01A0 */ LightInfoPositional unk_1A0;
/* 0x01AE */ char padding_1AE[2];
/* 0x01B0 */ ColliderCylinder collider;
/* 0x01FC */ u8 unk_1FC;
/* 0x01FD */ char unk_1FD;
/* 0x01FE */ s16 unk_1FE;
/* 0x0200 */ f32 unk_200;
} EnFhgFire; // size = 0x0204 } EnFhgFire; // size = 0x0204
extern const ActorInit En_Fhg_Fire_InitVars; extern const ActorInit En_Fhg_Fire_InitVars;

View file

@ -1,3 +1,9 @@
/*
* File: z_en_fhg.c
* Overlay: ovl_En_fHG
* Description: Phantom Ganon's Horse
*/
#include "z_en_fhg.h" #include "z_en_fhg.h"
#define FLAGS 0x00000010 #define FLAGS 0x00000010

View file

@ -8,7 +8,17 @@ struct EnfHG;
typedef struct EnfHG { typedef struct EnfHG {
/* 0x0000 */ Actor actor; /* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x148]; /* 0x014C */ char unk_14C[0x3];
/* 0x014F */ u8 unk_14F;
/* 0x0150 */ char unk_150[0x77];
/* 0x01C7 */ u8 unk_1C7;
/* 0x01C8 */ char unk_1C8;
/* 0x01C9 */ u8 flyMode;
/* 0x01CA */ u8 unk_1CA;
/* 0x01CB */ char unk_1CB[0x35];
/* 0x0200 */ Vec3f unk_200;
/* 0x020C */ Vec3f unk_20C;
/* 0x0218 */ char unk_218[0x7C];
} EnfHG; // size = 0x0294 } EnfHG; // size = 0x0294
extern const ActorInit En_Fhg_InitVars; extern const ActorInit En_Fhg_InitVars;

View file

@ -0,0 +1,17 @@
#ifndef _Z_EFF_SS_FHGFLASH_h_
#define _Z_EFF_SS_FHGFLASH_h_
#include <ultra64.h>
#include <global.h>
typedef struct {
/* 0x00 */ Vec3f pos;
/* 0x0C */ Vec3f velocity;
/* 0x18 */ Vec3f accel;
/* 0x24 */ s16 unk_24;
/* 0x26 */ u8 unk_26;
/* 0x28 */ Actor* unk_28;
/* 0x2C */ u8 unk_2C;
} EffectSsFhgFlashInitParams;
#endif

View file

@ -702,3 +702,9 @@ D_0600BAC8 = 0x0600BAC8;
// z_Bg_Spot16_Doughnut // z_Bg_Spot16_Doughnut
D_06000660 = 0x06000660; D_06000660 = 0x06000660;
D_06000FC0 = 0x06000FC0; D_06000FC0 = 0x06000FC0;
// z_en_fhg_fire display lists
D_0600FAA0 = 0x0600FAA0;
D_0600FCF8 = 0x0600FCF8;
D_060105E0 = 0x060105E0;
D_06012160 = 0x06012160;