1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2025-02-13 08:54:32 +00:00

Decompile ovl_En_Insect (#244)

* Start decompiling bugs

* Decomp func_80A7BFA0

* Match 4 functions

* Match a few functions, really close on another

* Consolidate if statements

* Progress on func_80A7C86C

* Decompile a few small functions

* func_80A7CEC0 still needs stack and regalloc work

* Finish up func_80A7CEC0, do a couple functions

* Start on func_80A7D460

* func_80A7D460 is mostly down to regalloc

* Match update and draw, more work on func_80A7D460

* func_80A7D460 is really close to matching

* func_80A7D460 matches

* Cleanup

* Run formatter

* Missed reversing a couple flout comparisons

* Apply suggestions from code review

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

* PR Comments

* PR Comments #2

* Missed one

Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com>
This commit is contained in:
Nathan Faltermeier 2020-07-18 16:40:27 -05:00 committed by GitHub
parent e29442f1a9
commit a982d40480
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
33 changed files with 770 additions and 2309 deletions

View file

@ -1,31 +0,0 @@
glabel EnInsect_Destroy
/* 00514 80A7C334 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 00518 80A7C338 AFBF0014 */ sw $ra, 0x0014($sp)
/* 0051C 80A7C33C 8482001C */ lh $v0, 0x001C($a0) ## 0000001C
/* 00520 80A7C340 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
/* 00524 80A7C344 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 00528 80A7C348 30420003 */ andi $v0, $v0, 0x0003 ## $v0 = 00000000
/* 0052C 80A7C34C 00021400 */ sll $v0, $v0, 16
/* 00530 80A7C350 00021403 */ sra $v0, $v0, 16
/* 00534 80A7C354 A7A2001E */ sh $v0, 0x001E($sp)
/* 00538 80A7C358 0C016F32 */ jal Collider_DestroyJntSph
/* 0053C 80A7C35C 24C5014C */ addiu $a1, $a2, 0x014C ## $a1 = 0000014C
/* 00540 80A7C360 87A2001E */ lh $v0, 0x001E($sp)
/* 00544 80A7C364 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
/* 00548 80A7C368 3C0380A8 */ lui $v1, %hi(D_80A7DEB8) ## $v1 = 80A80000
/* 0054C 80A7C36C 10410004 */ beq $v0, $at, .L80A7C380
/* 00550 80A7C370 2463DEB8 */ addiu $v1, $v1, %lo(D_80A7DEB8) ## $v1 = 80A7DEB8
/* 00554 80A7C374 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
/* 00558 80A7C378 54410006 */ bnel $v0, $at, .L80A7C394
/* 0055C 80A7C37C 8FBF0014 */ lw $ra, 0x0014($sp)
.L80A7C380:
/* 00560 80A7C380 84620000 */ lh $v0, 0x0000($v1) ## 80A7DEB8
/* 00564 80A7C384 18400002 */ blez $v0, .L80A7C390
/* 00568 80A7C388 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF
/* 0056C 80A7C38C A46E0000 */ sh $t6, 0x0000($v1) ## 80A7DEB8
.L80A7C390:
/* 00570 80A7C390 8FBF0014 */ lw $ra, 0x0014($sp)
.L80A7C394:
/* 00574 80A7C394 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 00578 80A7C398 03E00008 */ jr $ra
/* 0057C 80A7C39C 00000000 */ nop

View file

@ -1,28 +0,0 @@
glabel EnInsect_Draw
/* 02028 80A7DE48 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 0202C 80A7DE4C AFBF001C */ sw $ra, 0x001C($sp)
/* 02030 80A7DE50 AFA40020 */ sw $a0, 0x0020($sp)
/* 02034 80A7DE54 AFA50024 */ sw $a1, 0x0024($sp)
/* 02038 80A7DE58 0C024F46 */ jal func_80093D18
/* 0203C 80A7DE5C 8CA40000 */ lw $a0, 0x0000($a1) ## 00000000
/* 02040 80A7DE60 8FA20020 */ lw $v0, 0x0020($sp)
/* 02044 80A7DE64 8FA40024 */ lw $a0, 0x0024($sp)
/* 02048 80A7DE68 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
/* 0204C 80A7DE6C 8C4501B0 */ lw $a1, 0x01B0($v0) ## 000001B0
/* 02050 80A7DE70 8C4601CC */ lw $a2, 0x01CC($v0) ## 000001CC
/* 02054 80A7DE74 AFA00014 */ sw $zero, 0x0014($sp)
/* 02058 80A7DE78 0C028572 */ jal SkelAnime_Draw
/* 0205C 80A7DE7C AFA00010 */ sw $zero, 0x0010($sp)
/* 02060 80A7DE80 8FA50020 */ lw $a1, 0x0020($sp)
/* 02064 80A7DE84 00002025 */ or $a0, $zero, $zero ## $a0 = 00000000
/* 02068 80A7DE88 0C018A29 */ jal func_800628A4
/* 0206C 80A7DE8C 24A5014C */ addiu $a1, $a1, 0x014C ## $a1 = 0000014C
/* 02070 80A7DE90 8FBF001C */ lw $ra, 0x001C($sp)
/* 02074 80A7DE94 3C0180A8 */ lui $at, %hi(D_80A7DEB4) ## $at = 80A80000
/* 02078 80A7DE98 A420DEB4 */ sh $zero, %lo(D_80A7DEB4)($at)
/* 0207C 80A7DE9C 03E00008 */ jr $ra
/* 02080 80A7DEA0 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 02084 80A7DEA4 00000000 */ nop
/* 02088 80A7DEA8 00000000 */ nop
/* 0208C 80A7DEAC 00000000 */ nop

View file

@ -1,173 +0,0 @@
.late_rodata
glabel D_80A7DFD0
.word 0xBE4CCCCD
glabel D_80A7DFD4
.float 0.3
glabel D_80A7DFD8
.float 0.4
.text
glabel EnInsect_Init
/* 002CC 80A7C0EC 27BDFFB8 */ addiu $sp, $sp, 0xFFB8 ## $sp = FFFFFFB8
/* 002D0 80A7C0F0 AFB3003C */ sw $s3, 0x003C($sp)
/* 002D4 80A7C0F4 00A09825 */ or $s3, $a1, $zero ## $s3 = 00000000
/* 002D8 80A7C0F8 AFBF0044 */ sw $ra, 0x0044($sp)
/* 002DC 80A7C0FC AFB10034 */ sw $s1, 0x0034($sp)
/* 002E0 80A7C100 3C0580A8 */ lui $a1, %hi(D_80A7DF18) ## $a1 = 80A80000
/* 002E4 80A7C104 00808825 */ or $s1, $a0, $zero ## $s1 = 00000000
/* 002E8 80A7C108 AFB40040 */ sw $s4, 0x0040($sp)
/* 002EC 80A7C10C AFB20038 */ sw $s2, 0x0038($sp)
/* 002F0 80A7C110 AFB00030 */ sw $s0, 0x0030($sp)
/* 002F4 80A7C114 0C01E037 */ jal Actor_ProcessInitChain
/* 002F8 80A7C118 24A5DF18 */ addiu $a1, $a1, %lo(D_80A7DF18) ## $a1 = 80A7DF18
/* 002FC 80A7C11C 0C29EF88 */ jal func_80A7BE20
/* 00300 80A7C120 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 00304 80A7C124 8632001C */ lh $s2, 0x001C($s1) ## 0000001C
/* 00308 80A7C128 3C060403 */ lui $a2, 0x0403 ## $a2 = 04030000
/* 0030C 80A7C12C 3C070403 */ lui $a3, 0x0403 ## $a3 = 04030000
/* 00310 80A7C130 32520003 */ andi $s2, $s2, 0x0003 ## $s2 = 00000000
/* 00314 80A7C134 00129400 */ sll $s2, $s2, 16
/* 00318 80A7C138 262E01F0 */ addiu $t6, $s1, 0x01F0 ## $t6 = 000001F0
/* 0031C 80A7C13C 262F0280 */ addiu $t7, $s1, 0x0280 ## $t7 = 00000280
/* 00320 80A7C140 24180018 */ addiu $t8, $zero, 0x0018 ## $t8 = 00000018
/* 00324 80A7C144 00129403 */ sra $s2, $s2, 16
/* 00328 80A7C148 AFB80018 */ sw $t8, 0x0018($sp)
/* 0032C 80A7C14C AFAF0014 */ sw $t7, 0x0014($sp)
/* 00330 80A7C150 AFAE0010 */ sw $t6, 0x0010($sp)
/* 00334 80A7C154 24E741FC */ addiu $a3, $a3, 0x41FC ## $a3 = 040341FC
/* 00338 80A7C158 24C65590 */ addiu $a2, $a2, 0x5590 ## $a2 = 04035590
/* 0033C 80A7C15C 02602025 */ or $a0, $s3, $zero ## $a0 = 00000000
/* 00340 80A7C160 0C02915F */ jal SkelAnime_Init
/* 00344 80A7C164 262501AC */ addiu $a1, $s1, 0x01AC ## $a1 = 000001AC
/* 00348 80A7C168 2630014C */ addiu $s0, $s1, 0x014C ## $s0 = 0000014C
/* 0034C 80A7C16C 02002825 */ or $a1, $s0, $zero ## $a1 = 0000014C
/* 00350 80A7C170 0C016EFE */ jal Collider_InitJntSph
/* 00354 80A7C174 02602025 */ or $a0, $s3, $zero ## $a0 = 00000000
/* 00358 80A7C178 3C0780A8 */ lui $a3, %hi(D_80A7DF00) ## $a3 = 80A80000
/* 0035C 80A7C17C 2639016C */ addiu $t9, $s1, 0x016C ## $t9 = 0000016C
/* 00360 80A7C180 AFB90010 */ sw $t9, 0x0010($sp)
/* 00364 80A7C184 24E7DF00 */ addiu $a3, $a3, %lo(D_80A7DF00) ## $a3 = 80A7DF00
/* 00368 80A7C188 02602025 */ or $a0, $s3, $zero ## $a0 = 00000000
/* 0036C 80A7C18C 02002825 */ or $a1, $s0, $zero ## $a1 = 0000014C
/* 00370 80A7C190 0C017014 */ jal Collider_SetJntSph
/* 00374 80A7C194 02203025 */ or $a2, $s1, $zero ## $a2 = 00000000
/* 00378 80A7C198 96230314 */ lhu $v1, 0x0314($s1) ## 00000314
/* 0037C 80A7C19C 2408001E */ addiu $t0, $zero, 0x001E ## $t0 = 0000001E
/* 00380 80A7C1A0 A22800AE */ sb $t0, 0x00AE($s1) ## 000000AE
/* 00384 80A7C1A4 30690001 */ andi $t1, $v1, 0x0001 ## $t1 = 00000000
/* 00388 80A7C1A8 11200007 */ beq $t1, $zero, .L80A7C1C8
/* 0038C 80A7C1AC 3C0180A8 */ lui $at, %hi(D_80A7DFD0) ## $at = 80A80000
/* 00390 80A7C1B0 C424DFD0 */ lwc1 $f4, %lo(D_80A7DFD0)($at)
/* 00394 80A7C1B4 3C01C000 */ lui $at, 0xC000 ## $at = C0000000
/* 00398 80A7C1B8 44813000 */ mtc1 $at, $f6 ## $f6 = -2.00
/* 0039C 80A7C1BC 96230314 */ lhu $v1, 0x0314($s1) ## 00000314
/* 003A0 80A7C1C0 E624006C */ swc1 $f4, 0x006C($s1) ## 0000006C
/* 003A4 80A7C1C4 E6260070 */ swc1 $f6, 0x0070($s1) ## 00000070
.L80A7C1C8:
/* 003A8 80A7C1C8 306A0004 */ andi $t2, $v1, 0x0004 ## $t2 = 00000000
/* 003AC 80A7C1CC 11400007 */ beq $t2, $zero, .L80A7C1EC
/* 003B0 80A7C1D0 240400C8 */ addiu $a0, $zero, 0x00C8 ## $a0 = 000000C8
/* 003B4 80A7C1D4 0C01DF64 */ jal Math_Rand_S16Offset
/* 003B8 80A7C1D8 24050028 */ addiu $a1, $zero, 0x0028 ## $a1 = 00000028
/* 003BC 80A7C1DC 8E2B0004 */ lw $t3, 0x0004($s1) ## 00000004
/* 003C0 80A7C1E0 A622031C */ sh $v0, 0x031C($s1) ## 0000031C
/* 003C4 80A7C1E4 356C0010 */ ori $t4, $t3, 0x0010 ## $t4 = 00000010
/* 003C8 80A7C1E8 AE2C0004 */ sw $t4, 0x0004($s1) ## 00000004
.L80A7C1EC:
/* 003CC 80A7C1EC 24140002 */ addiu $s4, $zero, 0x0002 ## $s4 = 00000002
/* 003D0 80A7C1F0 12540002 */ beq $s2, $s4, .L80A7C1FC
/* 003D4 80A7C1F4 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
/* 003D8 80A7C1F8 1641002E */ bne $s2, $at, .L80A7C2B4
.L80A7C1FC:
/* 003DC 80A7C1FC 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 003E0 80A7C200 0C29EFE8 */ jal func_80A7BFA0
/* 003E4 80A7C204 02602825 */ or $a1, $s3, $zero ## $a1 = 00000000
/* 003E8 80A7C208 10400007 */ beq $v0, $zero, .L80A7C228
/* 003EC 80A7C20C 00000000 */ nop
/* 003F0 80A7C210 962D0314 */ lhu $t5, 0x0314($s1) ## 00000314
/* 003F4 80A7C214 44804000 */ mtc1 $zero, $f8 ## $f8 = 0.00
/* 003F8 80A7C218 3C0180A8 */ lui $at, %hi(D_80A7DEB0) ## $at = 80A80000
/* 003FC 80A7C21C 35AE0010 */ ori $t6, $t5, 0x0010 ## $t6 = 00000010
/* 00400 80A7C220 A62E0314 */ sh $t6, 0x0314($s1) ## 00000314
/* 00404 80A7C224 E428DEB0 */ swc1 $f8, %lo(D_80A7DEB0)($at)
.L80A7C228:
/* 00408 80A7C228 1654001A */ bne $s2, $s4, .L80A7C294
/* 0040C 80A7C22C 00000000 */ nop
/* 00410 80A7C230 A6200034 */ sh $zero, 0x0034($s1) ## 00000034
/* 00414 80A7C234 862F0034 */ lh $t7, 0x0034($s1) ## 00000034
/* 00418 80A7C238 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000
/* 0041C 80A7C23C 26721C24 */ addiu $s2, $s3, 0x1C24 ## $s2 = 00001C24
/* 00420 80A7C240 A62F00B8 */ sh $t7, 0x00B8($s1) ## 000000B8
/* 00424 80A7C244 C62A0028 */ lwc1 $f10, 0x0028($s1) ## 00000028
.L80A7C248:
/* 00428 80A7C248 8E270024 */ lw $a3, 0x0024($s1) ## 00000024
/* 0042C 80A7C24C 24090003 */ addiu $t1, $zero, 0x0003 ## $t1 = 00000003
/* 00430 80A7C250 E7AA0010 */ swc1 $f10, 0x0010($sp)
/* 00434 80A7C254 C630002C */ lwc1 $f16, 0x002C($s1) ## 0000002C
/* 00438 80A7C258 02402025 */ or $a0, $s2, $zero ## $a0 = 00001C24
/* 0043C 80A7C25C 02602825 */ or $a1, $s3, $zero ## $a1 = 00000000
/* 00440 80A7C260 E7B00014 */ swc1 $f16, 0x0014($sp)
/* 00444 80A7C264 863800B4 */ lh $t8, 0x00B4($s1) ## 000000B4
/* 00448 80A7C268 24060020 */ addiu $a2, $zero, 0x0020 ## $a2 = 00000020
/* 0044C 80A7C26C AFB80018 */ sw $t8, 0x0018($sp)
/* 00450 80A7C270 863900B6 */ lh $t9, 0x00B6($s1) ## 000000B6
/* 00454 80A7C274 AFB9001C */ sw $t9, 0x001C($sp)
/* 00458 80A7C278 862800B8 */ lh $t0, 0x00B8($s1) ## 000000B8
/* 0045C 80A7C27C AFA90024 */ sw $t1, 0x0024($sp)
/* 00460 80A7C280 0C00C7D4 */ jal Actor_Spawn
## ActorSpawn
/* 00464 80A7C284 AFA80020 */ sw $t0, 0x0020($sp)
/* 00468 80A7C288 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001
/* 0046C 80A7C28C 5614FFEE */ bnel $s0, $s4, .L80A7C248
/* 00470 80A7C290 C62A0028 */ lwc1 $f10, 0x0028($s1) ## 00000028
.L80A7C294:
/* 00474 80A7C294 0C29F4E7 */ jal func_80A7D39C
/* 00478 80A7C298 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 0047C 80A7C29C 3C0280A8 */ lui $v0, %hi(D_80A7DEB8) ## $v0 = 80A80000
/* 00480 80A7C2A0 2442DEB8 */ addiu $v0, $v0, %lo(D_80A7DEB8) ## $v0 = 80A7DEB8
/* 00484 80A7C2A4 844A0000 */ lh $t2, 0x0000($v0) ## 80A7DEB8
/* 00488 80A7C2A8 254B0001 */ addiu $t3, $t2, 0x0001 ## $t3 = 00000001
/* 0048C 80A7C2AC 10000019 */ beq $zero, $zero, .L80A7C314
/* 00490 80A7C2B0 A44B0000 */ sh $t3, 0x0000($v0) ## 80A7DEB8
.L80A7C2B4:
/* 00494 80A7C2B4 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 00498 80A7C2B8 00000000 */ nop
/* 0049C 80A7C2BC 3C0180A8 */ lui $at, %hi(D_80A7DFD4) ## $at = 80A80000
/* 004A0 80A7C2C0 C432DFD4 */ lwc1 $f18, %lo(D_80A7DFD4)($at)
/* 004A4 80A7C2C4 4612003C */ c.lt.s $f0, $f18
/* 004A8 80A7C2C8 00000000 */ nop
/* 004AC 80A7C2CC 45000005 */ bc1f .L80A7C2E4
/* 004B0 80A7C2D0 00000000 */ nop
/* 004B4 80A7C2D4 0C29F0E8 */ jal func_80A7C3A0
/* 004B8 80A7C2D8 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 004BC 80A7C2DC 1000000E */ beq $zero, $zero, .L80A7C318
/* 004C0 80A7C2E0 8FBF0044 */ lw $ra, 0x0044($sp)
.L80A7C2E4:
/* 004C4 80A7C2E4 3C0180A8 */ lui $at, %hi(D_80A7DFD8) ## $at = 80A80000
/* 004C8 80A7C2E8 C424DFD8 */ lwc1 $f4, %lo(D_80A7DFD8)($at)
/* 004CC 80A7C2EC 4604003C */ c.lt.s $f0, $f4
/* 004D0 80A7C2F0 00000000 */ nop
/* 004D4 80A7C2F4 45000005 */ bc1f .L80A7C30C
/* 004D8 80A7C2F8 00000000 */ nop
/* 004DC 80A7C2FC 0C29F166 */ jal func_80A7C598
/* 004E0 80A7C300 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 004E4 80A7C304 10000004 */ beq $zero, $zero, .L80A7C318
/* 004E8 80A7C308 8FBF0044 */ lw $ra, 0x0044($sp)
.L80A7C30C:
/* 004EC 80A7C30C 0C29F206 */ jal func_80A7C818
/* 004F0 80A7C310 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
.L80A7C314:
/* 004F4 80A7C314 8FBF0044 */ lw $ra, 0x0044($sp)
.L80A7C318:
/* 004F8 80A7C318 8FB00030 */ lw $s0, 0x0030($sp)
/* 004FC 80A7C31C 8FB10034 */ lw $s1, 0x0034($sp)
/* 00500 80A7C320 8FB20038 */ lw $s2, 0x0038($sp)
/* 00504 80A7C324 8FB3003C */ lw $s3, 0x003C($sp)
/* 00508 80A7C328 8FB40040 */ lw $s4, 0x0040($sp)
/* 0050C 80A7C32C 03E00008 */ jr $ra
/* 00510 80A7C330 27BD0048 */ addiu $sp, $sp, 0x0048 ## $sp = 00000000

View file

@ -1,168 +0,0 @@
glabel EnInsect_Update
/* 01DE0 80A7DC00 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
/* 01DE4 80A7DC04 AFBF0024 */ sw $ra, 0x0024($sp)
/* 01DE8 80A7DC08 AFB00020 */ sw $s0, 0x0020($sp)
/* 01DEC 80A7DC0C AFA5002C */ sw $a1, 0x002C($sp)
/* 01DF0 80A7DC10 8C82011C */ lw $v0, 0x011C($a0) ## 0000011C
/* 01DF4 80A7DC14 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 01DF8 80A7DC18 50400008 */ beql $v0, $zero, .L80A7DC3C
/* 01DFC 80A7DC1C 8602031A */ lh $v0, 0x031A($s0) ## 0000031A
/* 01E00 80A7DC20 8C4E0130 */ lw $t6, 0x0130($v0) ## 00000130
/* 01E04 80A7DC24 55C00005 */ bnel $t6, $zero, .L80A7DC3C
/* 01E08 80A7DC28 8602031A */ lh $v0, 0x031A($s0) ## 0000031A
/* 01E0C 80A7DC2C 50820003 */ beql $a0, $v0, .L80A7DC3C
/* 01E10 80A7DC30 8602031A */ lh $v0, 0x031A($s0) ## 0000031A
/* 01E14 80A7DC34 AC80011C */ sw $zero, 0x011C($a0) ## 0000011C
/* 01E18 80A7DC38 8602031A */ lh $v0, 0x031A($s0) ## 0000031A
.L80A7DC3C:
/* 01E1C 80A7DC3C 18400002 */ blez $v0, .L80A7DC48
/* 01E20 80A7DC40 244FFFFF */ addiu $t7, $v0, 0xFFFF ## $t7 = FFFFFFFF
/* 01E24 80A7DC44 A60F031A */ sh $t7, 0x031A($s0) ## 0000031A
.L80A7DC48:
/* 01E28 80A7DC48 8602031C */ lh $v0, 0x031C($s0) ## 0000031C
/* 01E2C 80A7DC4C 18400002 */ blez $v0, .L80A7DC58
/* 01E30 80A7DC50 2458FFFF */ addiu $t8, $v0, 0xFFFF ## $t8 = FFFFFFFF
/* 01E34 80A7DC54 A618031C */ sh $t8, 0x031C($s0) ## 0000031C
.L80A7DC58:
/* 01E38 80A7DC58 8E190310 */ lw $t9, 0x0310($s0) ## 00000310
/* 01E3C 80A7DC5C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01E40 80A7DC60 8FA5002C */ lw $a1, 0x002C($sp)
/* 01E44 80A7DC64 0320F809 */ jalr $ra, $t9
/* 01E48 80A7DC68 00000000 */ nop
/* 01E4C 80A7DC6C 8E080130 */ lw $t0, 0x0130($s0) ## 00000130
/* 01E50 80A7DC70 51000071 */ beql $t0, $zero, .L80A7DE38
/* 01E54 80A7DC74 8FBF0024 */ lw $ra, 0x0024($sp)
/* 01E58 80A7DC78 0C00B638 */ jal Actor_MoveForward
/* 01E5C 80A7DC7C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01E60 80A7DC80 96030314 */ lhu $v1, 0x0314($s0) ## 00000314
/* 01E64 80A7DC84 30690100 */ andi $t1, $v1, 0x0100 ## $t1 = 00000000
/* 01E68 80A7DC88 1120000E */ beq $t1, $zero, .L80A7DCC4
/* 01E6C 80A7DC8C 306A0001 */ andi $t2, $v1, 0x0001 ## $t2 = 00000000
/* 01E70 80A7DC90 11400009 */ beq $t2, $zero, .L80A7DCB8
/* 01E74 80A7DC94 00000000 */ nop
/* 01E78 80A7DC98 960B0088 */ lhu $t3, 0x0088($s0) ## 00000088
/* 01E7C 80A7DC9C 316C0001 */ andi $t4, $t3, 0x0001 ## $t4 = 00000000
/* 01E80 80A7DCA0 51800009 */ beql $t4, $zero, .L80A7DCC8
/* 01E84 80A7DCA4 306D0001 */ andi $t5, $v1, 0x0001 ## $t5 = 00000000
/* 01E88 80A7DCA8 0C29F016 */ jal func_80A7C058
/* 01E8C 80A7DCAC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01E90 80A7DCB0 10000004 */ beq $zero, $zero, .L80A7DCC4
/* 01E94 80A7DCB4 96030314 */ lhu $v1, 0x0314($s0) ## 00000314
.L80A7DCB8:
/* 01E98 80A7DCB8 0C29F016 */ jal func_80A7C058
/* 01E9C 80A7DCBC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01EA0 80A7DCC0 96030314 */ lhu $v1, 0x0314($s0) ## 00000314
.L80A7DCC4:
/* 01EA4 80A7DCC4 306D0001 */ andi $t5, $v1, 0x0001 ## $t5 = 00000000
.L80A7DCC8:
/* 01EA8 80A7DCC8 11A00002 */ beq $t5, $zero, .L80A7DCD4
/* 01EAC 80A7DCCC 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
/* 01EB0 80A7DCD0 24020004 */ addiu $v0, $zero, 0x0004 ## $v0 = 00000004
.L80A7DCD4:
/* 01EB4 80A7DCD4 306E0002 */ andi $t6, $v1, 0x0002 ## $t6 = 00000000
/* 01EB8 80A7DCD8 11C00002 */ beq $t6, $zero, .L80A7DCE4
/* 01EBC 80A7DCDC 8FA4002C */ lw $a0, 0x002C($sp)
/* 01EC0 80A7DCE0 34420001 */ ori $v0, $v0, 0x0001 ## $v0 = 00000005
.L80A7DCE4:
/* 01EC4 80A7DCE4 10400008 */ beq $v0, $zero, .L80A7DD08
/* 01EC8 80A7DCE8 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 01ECC 80A7DCEC 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
/* 01ED0 80A7DCF0 34420040 */ ori $v0, $v0, 0x0040 ## $v0 = 00000045
/* 01ED4 80A7DCF4 AFA20014 */ sw $v0, 0x0014($sp)
/* 01ED8 80A7DCF8 3C064100 */ lui $a2, 0x4100 ## $a2 = 41000000
/* 01EDC 80A7DCFC 3C0740A0 */ lui $a3, 0x40A0 ## $a3 = 40A00000
/* 01EE0 80A7DD00 0C00B92D */ jal func_8002E4B4
/* 01EE4 80A7DD04 E7A40010 */ swc1 $f4, 0x0010($sp)
.L80A7DD08:
/* 01EE8 80A7DD08 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01EEC 80A7DD0C 0C00BD04 */ jal func_8002F410
/* 01EF0 80A7DD10 8FA5002C */ lw $a1, 0x002C($sp)
/* 01EF4 80A7DD14 10400011 */ beq $v0, $zero, .L80A7DD5C
/* 01EF8 80A7DD18 3C014248 */ lui $at, 0x4248 ## $at = 42480000
/* 01EFC 80A7DD1C 8602001C */ lh $v0, 0x001C($s0) ## 0000001C
/* 01F00 80A7DD20 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
/* 01F04 80A7DD24 AE000118 */ sw $zero, 0x0118($s0) ## 00000118
/* 01F08 80A7DD28 30420003 */ andi $v0, $v0, 0x0003 ## $v0 = 00000000
/* 01F0C 80A7DD2C 10410003 */ beq $v0, $at, .L80A7DD3C
/* 01F10 80A7DD30 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
/* 01F14 80A7DD34 14410005 */ bne $v0, $at, .L80A7DD4C
/* 01F18 80A7DD38 00000000 */ nop
.L80A7DD3C:
/* 01F1C 80A7DD3C 0C00B55C */ jal Actor_Kill
/* 01F20 80A7DD40 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01F24 80A7DD44 10000039 */ beq $zero, $zero, .L80A7DE2C
/* 01F28 80A7DD48 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
.L80A7DD4C:
/* 01F2C 80A7DD4C 0C29F299 */ jal func_80A7CA64
/* 01F30 80A7DD50 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01F34 80A7DD54 10000035 */ beq $zero, $zero, .L80A7DE2C
/* 01F38 80A7DD58 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
.L80A7DD5C:
/* 01F3C 80A7DD5C C6060090 */ lwc1 $f6, 0x0090($s0) ## 00000090
/* 01F40 80A7DD60 44814000 */ mtc1 $at, $f8 ## $f8 = 0.00
/* 01F44 80A7DD64 00000000 */ nop
/* 01F48 80A7DD68 4608303C */ c.lt.s $f6, $f8
/* 01F4C 80A7DD6C 00000000 */ nop
/* 01F50 80A7DD70 4502002E */ bc1fl .L80A7DE2C
/* 01F54 80A7DD74 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01F58 80A7DD78 8E180310 */ lw $t8, 0x0310($s0) ## 00000310
/* 01F5C 80A7DD7C 3C0F80A8 */ lui $t7, %hi(func_80A7CAD0) ## $t7 = 80A80000
/* 01F60 80A7DD80 25EFCAD0 */ addiu $t7, $t7, %lo(func_80A7CAD0) ## $t7 = 80A7CAD0
/* 01F64 80A7DD84 51F80029 */ beql $t7, $t8, .L80A7DE2C
/* 01F68 80A7DD88 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01F6C 80A7DD8C 96030314 */ lhu $v1, 0x0314($s0) ## 00000314
/* 01F70 80A7DD90 30790020 */ andi $t9, $v1, 0x0020 ## $t9 = 00000000
/* 01F74 80A7DD94 5720000C */ bnel $t9, $zero, .L80A7DDC8
/* 01F78 80A7DD98 30690008 */ andi $t1, $v1, 0x0008 ## $t1 = 00000000
/* 01F7C 80A7DD9C 8608031C */ lh $t0, 0x031C($s0) ## 0000031C
/* 01F80 80A7DDA0 8FA4002C */ lw $a0, 0x002C($sp)
/* 01F84 80A7DDA4 2606014C */ addiu $a2, $s0, 0x014C ## $a2 = 0000014C
/* 01F88 80A7DDA8 290100B4 */ slti $at, $t0, 0x00B4
/* 01F8C 80A7DDAC 10200005 */ beq $at, $zero, .L80A7DDC4
/* 01F90 80A7DDB0 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 01F94 80A7DDB4 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60
/* 01F98 80A7DDB8 0C017713 */ jal CollisionCheck_SetOC
## CollisionCheck_setOT
/* 01F9C 80A7DDBC 00812821 */ addu $a1, $a0, $at
/* 01FA0 80A7DDC0 96030314 */ lhu $v1, 0x0314($s0) ## 00000314
.L80A7DDC4:
/* 01FA4 80A7DDC4 30690008 */ andi $t1, $v1, 0x0008 ## $t1 = 00000000
.L80A7DDC8:
/* 01FA8 80A7DDC8 15200017 */ bne $t1, $zero, .L80A7DE28
/* 01FAC 80A7DDCC 3C0A80A8 */ lui $t2, %hi(D_80A7DEB4) ## $t2 = 80A80000
/* 01FB0 80A7DDD0 854ADEB4 */ lh $t2, %lo(D_80A7DEB4)($t2)
/* 01FB4 80A7DDD4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01FB8 80A7DDD8 29410004 */ slti $at, $t2, 0x0004
/* 01FBC 80A7DDDC 50200013 */ beql $at, $zero, .L80A7DE2C
/* 01FC0 80A7DDE0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01FC4 80A7DDE4 0C29EF9B */ jal func_80A7BE6C
/* 01FC8 80A7DDE8 8FA5002C */ lw $a1, 0x002C($sp)
/* 01FCC 80A7DDEC 1040000E */ beq $v0, $zero, .L80A7DE28
/* 01FD0 80A7DDF0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01FD4 80A7DDF4 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000
/* 01FD8 80A7DDF8 44815000 */ mtc1 $at, $f10 ## $f10 = 30.00
/* 01FDC 80A7DDFC 8FA5002C */ lw $a1, 0x002C($sp)
/* 01FE0 80A7DE00 2406007E */ addiu $a2, $zero, 0x007E ## $a2 = 0000007E
/* 01FE4 80A7DE04 3C074270 */ lui $a3, 0x4270 ## $a3 = 42700000
/* 01FE8 80A7DE08 0C00BD0D */ jal func_8002F434
/* 01FEC 80A7DE0C E7AA0010 */ swc1 $f10, 0x0010($sp)
/* 01FF0 80A7DE10 10400005 */ beq $v0, $zero, .L80A7DE28
/* 01FF4 80A7DE14 3C0280A8 */ lui $v0, %hi(D_80A7DEB4) ## $v0 = 80A80000
/* 01FF8 80A7DE18 2442DEB4 */ addiu $v0, $v0, %lo(D_80A7DEB4) ## $v0 = 80A7DEB4
/* 01FFC 80A7DE1C 844B0000 */ lh $t3, 0x0000($v0) ## 80A7DEB4
/* 02000 80A7DE20 256C0001 */ addiu $t4, $t3, 0x0001 ## $t4 = 00000001
/* 02004 80A7DE24 A44C0000 */ sh $t4, 0x0000($v0) ## 80A7DEB4
.L80A7DE28:
/* 02008 80A7DE28 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
.L80A7DE2C:
/* 0200C 80A7DE2C 0C00B56E */ jal Actor_SetHeight
/* 02010 80A7DE30 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
/* 02014 80A7DE34 8FBF0024 */ lw $ra, 0x0024($sp)
.L80A7DE38:
/* 02018 80A7DE38 8FB00020 */ lw $s0, 0x0020($sp)
/* 0201C 80A7DE3C 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
/* 02020 80A7DE40 03E00008 */ jr $ra
/* 02024 80A7DE44 00000000 */ nop

View file

@ -1,9 +0,0 @@
glabel func_80A7BE20
/* 00000 80A7BE20 848E001C */ lh $t6, 0x001C($a0) ## 0000001C
/* 00004 80A7BE24 3C1980A8 */ lui $t9, %hi(D_80A7DF10) ## $t9 = 80A80000
/* 00008 80A7BE28 31CF0003 */ andi $t7, $t6, 0x0003 ## $t7 = 00000000
/* 0000C 80A7BE2C 000FC040 */ sll $t8, $t7, 1
/* 00010 80A7BE30 0338C821 */ addu $t9, $t9, $t8
/* 00014 80A7BE34 9739DF10 */ lhu $t9, %lo(D_80A7DF10)($t9)
/* 00018 80A7BE38 03E00008 */ jr $ra
/* 0001C 80A7BE3C A4990314 */ sh $t9, 0x0314($a0) ## 00000314

View file

@ -1,12 +0,0 @@
glabel func_80A7BE40
/* 00020 80A7BE40 C4840000 */ lwc1 $f4, 0x0000($a0) ## 00000000
/* 00024 80A7BE44 C4A60000 */ lwc1 $f6, 0x0000($a1) ## 00000000
/* 00028 80A7BE48 C4880008 */ lwc1 $f8, 0x0008($a0) ## 00000008
/* 0002C 80A7BE4C C4AA0008 */ lwc1 $f10, 0x0008($a1) ## 00000008
/* 00030 80A7BE50 46062081 */ sub.s $f2, $f4, $f6
/* 00034 80A7BE54 460A4301 */ sub.s $f12, $f8, $f10
/* 00038 80A7BE58 46021402 */ mul.s $f16, $f2, $f2
/* 0003C 80A7BE5C 00000000 */ nop
/* 00040 80A7BE60 460C6482 */ mul.s $f18, $f12, $f12
/* 00044 80A7BE64 03E00008 */ jr $ra
/* 00048 80A7BE68 46128000 */ add.s $f0, $f16, $f18

View file

@ -1,63 +0,0 @@
glabel func_80A7BE6C
/* 0004C 80A7BE6C 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
/* 00050 80A7BE70 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00054 80A7BE74 3C014200 */ lui $at, 0x4200 ## $at = 42000000
/* 00058 80A7BE78 44813000 */ mtc1 $at, $f6 ## $f6 = 32.00
/* 0005C 80A7BE7C C4840090 */ lwc1 $f4, 0x0090($a0) ## 00000090
/* 00060 80A7BE80 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
/* 00064 80A7BE84 8CA21C44 */ lw $v0, 0x1C44($a1) ## 00001C44
/* 00068 80A7BE88 4606203C */ c.lt.s $f4, $f6
/* 0006C 80A7BE8C 34018000 */ ori $at, $zero, 0x8000 ## $at = 00008000
/* 00070 80A7BE90 4502002D */ bc1fl .L80A7BF48
/* 00074 80A7BE94 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
/* 00078 80A7BE98 8484008A */ lh $a0, 0x008A($a0) ## 0000008A
/* 0007C 80A7BE9C AFA60030 */ sw $a2, 0x0030($sp)
/* 00080 80A7BEA0 AFA20028 */ sw $v0, 0x0028($sp)
/* 00084 80A7BEA4 00812021 */ addu $a0, $a0, $at
/* 00088 80A7BEA8 00042400 */ sll $a0, $a0, 16
/* 0008C 80A7BEAC 0C01DE1C */ jal Math_Sins
## sins?
/* 00090 80A7BEB0 00042403 */ sra $a0, $a0, 16
/* 00094 80A7BEB4 3C014180 */ lui $at, 0x4180 ## $at = 41800000
/* 00098 80A7BEB8 44814000 */ mtc1 $at, $f8 ## $f8 = 16.00
/* 0009C 80A7BEBC 8FA20028 */ lw $v0, 0x0028($sp)
/* 000A0 80A7BEC0 8FAE0030 */ lw $t6, 0x0030($sp)
/* 000A4 80A7BEC4 46080282 */ mul.s $f10, $f0, $f8
/* 000A8 80A7BEC8 C4500024 */ lwc1 $f16, 0x0024($v0) ## 00000024
/* 000AC 80A7BECC 34018000 */ ori $at, $zero, 0x8000 ## $at = 00008000
/* 000B0 80A7BED0 46105480 */ add.s $f18, $f10, $f16
/* 000B4 80A7BED4 E7B2001C */ swc1 $f18, 0x001C($sp)
/* 000B8 80A7BED8 C4440028 */ lwc1 $f4, 0x0028($v0) ## 00000028
/* 000BC 80A7BEDC E7A40020 */ swc1 $f4, 0x0020($sp)
/* 000C0 80A7BEE0 85C4008A */ lh $a0, 0x008A($t6) ## 0000008A
/* 000C4 80A7BEE4 00812021 */ addu $a0, $a0, $at
/* 000C8 80A7BEE8 00042400 */ sll $a0, $a0, 16
/* 000CC 80A7BEEC 0C01DE0D */ jal Math_Coss
## coss?
/* 000D0 80A7BEF0 00042403 */ sra $a0, $a0, 16
/* 000D4 80A7BEF4 3C014180 */ lui $at, 0x4180 ## $at = 41800000
/* 000D8 80A7BEF8 44813000 */ mtc1 $at, $f6 ## $f6 = 16.00
/* 000DC 80A7BEFC 8FA20028 */ lw $v0, 0x0028($sp)
/* 000E0 80A7BF00 8FA50030 */ lw $a1, 0x0030($sp)
/* 000E4 80A7BF04 46060202 */ mul.s $f8, $f0, $f6
/* 000E8 80A7BF08 C44A002C */ lwc1 $f10, 0x002C($v0) ## 0000002C
/* 000EC 80A7BF0C 27A4001C */ addiu $a0, $sp, 0x001C ## $a0 = FFFFFFEC
/* 000F0 80A7BF10 24A50024 */ addiu $a1, $a1, 0x0024 ## $a1 = 00000024
/* 000F4 80A7BF14 460A4400 */ add.s $f16, $f8, $f10
/* 000F8 80A7BF18 0C29EF90 */ jal func_80A7BE40
/* 000FC 80A7BF1C E7B00024 */ swc1 $f16, 0x0024($sp)
/* 00100 80A7BF20 3C0143C8 */ lui $at, 0x43C8 ## $at = 43C80000
/* 00104 80A7BF24 44819000 */ mtc1 $at, $f18 ## $f18 = 400.00
/* 00108 80A7BF28 00000000 */ nop
/* 0010C 80A7BF2C 4612003E */ c.le.s $f0, $f18
/* 00110 80A7BF30 00000000 */ nop
/* 00114 80A7BF34 45020004 */ bc1fl .L80A7BF48
/* 00118 80A7BF38 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
/* 0011C 80A7BF3C 10000002 */ beq $zero, $zero, .L80A7BF48
/* 00120 80A7BF40 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
/* 00124 80A7BF44 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
.L80A7BF48:
/* 00128 80A7BF48 8FBF0014 */ lw $ra, 0x0014($sp)
/* 0012C 80A7BF4C 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
/* 00130 80A7BF50 03E00008 */ jr $ra
/* 00134 80A7BF54 00000000 */ nop

View file

@ -1,20 +0,0 @@
glabel func_80A7BF58
/* 00138 80A7BF58 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
/* 0013C 80A7BF5C 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
/* 00140 80A7BF60 AFBF0024 */ sw $ra, 0x0024($sp)
/* 00144 80A7BF64 AFA40028 */ sw $a0, 0x0028($sp)
/* 00148 80A7BF68 3C050403 */ lui $a1, 0x0403 ## $a1 = 04030000
/* 0014C 80A7BF6C 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001
/* 00150 80A7BF70 44070000 */ mfc1 $a3, $f0
/* 00154 80A7BF74 AFAE0014 */ sw $t6, 0x0014($sp)
/* 00158 80A7BF78 24A541FC */ addiu $a1, $a1, 0x41FC ## $a1 = 040341FC
/* 0015C 80A7BF7C 248401AC */ addiu $a0, $a0, 0x01AC ## $a0 = 000001AC
/* 00160 80A7BF80 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 00164 80A7BF84 E7A00010 */ swc1 $f0, 0x0010($sp)
/* 00168 80A7BF88 0C029468 */ jal SkelAnime_ChangeAnim
/* 0016C 80A7BF8C E7A00018 */ swc1 $f0, 0x0018($sp)
/* 00170 80A7BF90 8FBF0024 */ lw $ra, 0x0024($sp)
/* 00174 80A7BF94 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
/* 00178 80A7BF98 03E00008 */ jr $ra
/* 0017C 80A7BF9C 00000000 */ nop

View file

@ -1,50 +0,0 @@
glabel func_80A7BFA0
/* 00180 80A7BFA0 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
/* 00184 80A7BFA4 AFBF002C */ sw $ra, 0x002C($sp)
/* 00188 80A7BFA8 AFB30028 */ sw $s3, 0x0028($sp)
/* 0018C 80A7BFAC AFB20024 */ sw $s2, 0x0024($sp)
/* 00190 80A7BFB0 AFB10020 */ sw $s1, 0x0020($sp)
/* 00194 80A7BFB4 AFB0001C */ sw $s0, 0x001C($sp)
/* 00198 80A7BFB8 F7B40010 */ sdc1 $f20, 0x0010($sp)
/* 0019C 80A7BFBC 8CB01C6C */ lw $s0, 0x1C6C($a1) ## 00001C6C
/* 001A0 80A7BFC0 3C0145C8 */ lui $at, 0x45C8 ## $at = 45C80000
/* 001A4 80A7BFC4 4481A000 */ mtc1 $at, $f20 ## $f20 = 6400.00
/* 001A8 80A7BFC8 00808825 */ or $s1, $a0, $zero ## $s1 = 00000000
/* 001AC 80A7BFCC 00009825 */ or $s3, $zero, $zero ## $s3 = 00000000
/* 001B0 80A7BFD0 12000018 */ beq $s0, $zero, .L80A7C034
/* 001B4 80A7BFD4 AC800320 */ sw $zero, 0x0320($a0) ## 00000320
/* 001B8 80A7BFD8 241201CF */ addiu $s2, $zero, 0x01CF ## $s2 = 000001CF
/* 001BC 80A7BFDC 860E0000 */ lh $t6, 0x0000($s0) ## 00000000
.L80A7BFE0:
/* 001C0 80A7BFE0 564E0012 */ bnel $s2, $t6, .L80A7C02C
/* 001C4 80A7BFE4 8E100124 */ lw $s0, 0x0124($s0) ## 00000124
/* 001C8 80A7BFE8 C62C0024 */ lwc1 $f12, 0x0024($s1) ## 00000024
/* 001CC 80A7BFEC C62E002C */ lwc1 $f14, 0x002C($s1) ## 0000002C
/* 001D0 80A7BFF0 8E060024 */ lw $a2, 0x0024($s0) ## 00000024
/* 001D4 80A7BFF4 0C032D65 */ jal func_800CB594
/* 001D8 80A7BFF8 8E07002C */ lw $a3, 0x002C($s0) ## 0000002C
/* 001DC 80A7BFFC 4614003C */ c.lt.s $f0, $f20
/* 001E0 80A7C000 00000000 */ nop
/* 001E4 80A7C004 45020009 */ bc1fl .L80A7C02C
/* 001E8 80A7C008 8E100124 */ lw $s0, 0x0124($s0) ## 00000124
/* 001EC 80A7C00C 822F0003 */ lb $t7, 0x0003($s1) ## 00000003
/* 001F0 80A7C010 82180003 */ lb $t8, 0x0003($s0) ## 00000003
/* 001F4 80A7C014 55F80005 */ bnel $t7, $t8, .L80A7C02C
/* 001F8 80A7C018 8E100124 */ lw $s0, 0x0124($s0) ## 00000124
/* 001FC 80A7C01C 24130001 */ addiu $s3, $zero, 0x0001 ## $s3 = 00000001
/* 00200 80A7C020 46000506 */ mov.s $f20, $f0
/* 00204 80A7C024 AE300320 */ sw $s0, 0x0320($s1) ## 00000320
/* 00208 80A7C028 8E100124 */ lw $s0, 0x0124($s0) ## 00000124
.L80A7C02C:
/* 0020C 80A7C02C 5600FFEC */ bnel $s0, $zero, .L80A7BFE0
/* 00210 80A7C030 860E0000 */ lh $t6, 0x0000($s0) ## 00000000
.L80A7C034:
/* 00214 80A7C034 8FBF002C */ lw $ra, 0x002C($sp)
/* 00218 80A7C038 02601025 */ or $v0, $s3, $zero ## $v0 = 00000001
/* 0021C 80A7C03C 8FB30028 */ lw $s3, 0x0028($sp)
/* 00220 80A7C040 D7B40010 */ ldc1 $f20, 0x0010($sp)
/* 00224 80A7C044 8FB0001C */ lw $s0, 0x001C($sp)
/* 00228 80A7C048 8FB10020 */ lw $s1, 0x0020($sp)
/* 0022C 80A7C04C 8FB20024 */ lw $s2, 0x0024($sp)
/* 00230 80A7C050 03E00008 */ jr $ra
/* 00234 80A7C054 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000

View file

@ -1,48 +0,0 @@
.late_rodata
glabel D_80A7DFCC
.float 0.1
.text
glabel func_80A7C058
/* 00238 80A7C058 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 0023C 80A7C05C AFBF0014 */ sw $ra, 0x0014($sp)
/* 00240 80A7C060 8482031E */ lh $v0, 0x031E($a0) ## 0000031E
/* 00244 80A7C064 240539F0 */ addiu $a1, $zero, 0x39F0 ## $a1 = 000039F0
/* 00248 80A7C068 18400003 */ blez $v0, .L80A7C078
/* 0024C 80A7C06C 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF
/* 00250 80A7C070 1000001A */ beq $zero, $zero, .L80A7C0DC
/* 00254 80A7C074 A48E031E */ sh $t6, 0x031E($a0) ## 0000031E
.L80A7C078:
/* 00258 80A7C078 0C00BE0A */ jal Audio_PlayActorSound2
/* 0025C 80A7C07C AFA40018 */ sw $a0, 0x0018($sp)
/* 00260 80A7C080 8FA40018 */ lw $a0, 0x0018($sp)
/* 00264 80A7C084 3C0180A8 */ lui $at, %hi(D_80A7DFCC) ## $at = 80A80000
/* 00268 80A7C088 C42CDFCC */ lwc1 $f12, %lo(D_80A7DFCC)($at)
/* 0026C 80A7C08C C48001C8 */ lwc1 $f0, 0x01C8($a0) ## 000001C8
/* 00270 80A7C090 3C014040 */ lui $at, 0x4040 ## $at = 40400000
/* 00274 80A7C094 44812000 */ mtc1 $at, $f4 ## $f4 = 3.00
/* 00278 80A7C098 460C003C */ c.lt.s $f0, $f12
/* 0027C 80A7C09C 24080002 */ addiu $t0, $zero, 0x0002 ## $t0 = 00000002
/* 00280 80A7C0A0 45020004 */ bc1fl .L80A7C0B4
/* 00284 80A7C0A4 46000086 */ mov.s $f2, $f0
/* 00288 80A7C0A8 10000002 */ beq $zero, $zero, .L80A7C0B4
/* 0028C 80A7C0AC 46006086 */ mov.s $f2, $f12
/* 00290 80A7C0B0 46000086 */ mov.s $f2, $f0
.L80A7C0B4:
/* 00294 80A7C0B4 46022183 */ div.s $f6, $f4, $f2
/* 00298 80A7C0B8 4600320D */ trunc.w.s $f8, $f6
/* 0029C 80A7C0BC 44184000 */ mfc1 $t8, $f8
/* 002A0 80A7C0C0 00000000 */ nop
/* 002A4 80A7C0C4 A498031E */ sh $t8, 0x031E($a0) ## 0000031E
/* 002A8 80A7C0C8 8499031E */ lh $t9, 0x031E($a0) ## 0000031E
/* 002AC 80A7C0CC 2B210002 */ slti $at, $t9, 0x0002
/* 002B0 80A7C0D0 50200003 */ beql $at, $zero, .L80A7C0E0
/* 002B4 80A7C0D4 8FBF0014 */ lw $ra, 0x0014($sp)
/* 002B8 80A7C0D8 A488031E */ sh $t0, 0x031E($a0) ## 0000031E
.L80A7C0DC:
/* 002BC 80A7C0DC 8FBF0014 */ lw $ra, 0x0014($sp)
.L80A7C0E0:
/* 002C0 80A7C0E0 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 002C4 80A7C0E4 03E00008 */ jr $ra
/* 002C8 80A7C0E8 00000000 */ nop

View file

@ -1,23 +0,0 @@
glabel func_80A7C3A0
/* 00580 80A7C3A0 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00584 80A7C3A4 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00588 80A7C3A8 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
/* 0058C 80A7C3AC AFA60018 */ sw $a2, 0x0018($sp)
/* 00590 80A7C3B0 24040005 */ addiu $a0, $zero, 0x0005 ## $a0 = 00000005
/* 00594 80A7C3B4 0C01DF64 */ jal Math_Rand_S16Offset
/* 00598 80A7C3B8 24050023 */ addiu $a1, $zero, 0x0023 ## $a1 = 00000023
/* 0059C 80A7C3BC 8FA40018 */ lw $a0, 0x0018($sp)
/* 005A0 80A7C3C0 0C29EFD6 */ jal func_80A7BF58
/* 005A4 80A7C3C4 A482031A */ sh $v0, 0x031A($a0) ## 0000031A
/* 005A8 80A7C3C8 8FA60018 */ lw $a2, 0x0018($sp)
/* 005AC 80A7C3CC 3C0E80A8 */ lui $t6, %hi(func_80A7C3F4) ## $t6 = 80A80000
/* 005B0 80A7C3D0 25CEC3F4 */ addiu $t6, $t6, %lo(func_80A7C3F4) ## $t6 = 80A7C3F4
/* 005B4 80A7C3D4 94CF0314 */ lhu $t7, 0x0314($a2) ## 00000314
/* 005B8 80A7C3D8 ACCE0310 */ sw $t6, 0x0310($a2) ## 00000310
/* 005BC 80A7C3DC 35F80100 */ ori $t8, $t7, 0x0100 ## $t8 = 00000100
/* 005C0 80A7C3E0 A4D80314 */ sh $t8, 0x0314($a2) ## 00000314
/* 005C4 80A7C3E4 8FBF0014 */ lw $ra, 0x0014($sp)
/* 005C8 80A7C3E8 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 005CC 80A7C3EC 03E00008 */ jr $ra
/* 005D0 80A7C3F0 00000000 */ nop

View file

@ -1,131 +0,0 @@
.late_rodata
glabel D_80A7DFDC
.float 1.2
glabel D_80A7DFE0
.float 0.8
glabel D_80A7DFE4
.float 1.9
.text
glabel func_80A7C3F4
/* 005D4 80A7C3F4 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8
/* 005D8 80A7C3F8 AFBF0024 */ sw $ra, 0x0024($sp)
/* 005DC 80A7C3FC AFB00020 */ sw $s0, 0x0020($sp)
/* 005E0 80A7C400 AFA5003C */ sw $a1, 0x003C($sp)
/* 005E4 80A7C404 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
/* 005E8 80A7C408 848E001C */ lh $t6, 0x001C($a0) ## 0000001C
/* 005EC 80A7C40C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 005F0 80A7C410 3C063DCC */ lui $a2, 0x3DCC ## $a2 = 3DCC0000
/* 005F4 80A7C414 31CF0003 */ andi $t7, $t6, 0x0003 ## $t7 = 00000000
/* 005F8 80A7C418 44050000 */ mfc1 $a1, $f0
/* 005FC 80A7C41C A7AF002E */ sh $t7, 0x002E($sp)
/* 00600 80A7C420 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3DCCCCCD
/* 00604 80A7C424 24840068 */ addiu $a0, $a0, 0x0068 ## $a0 = 00000068
/* 00608 80A7C428 3C073F00 */ lui $a3, 0x3F00 ## $a3 = 3F000000
/* 0060C 80A7C42C 0C01E0C4 */ jal Math_SmoothScaleMaxMinF
/* 00610 80A7C430 E7A00010 */ swc1 $f0, 0x0010($sp)
/* 00614 80A7C434 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 00618 80A7C438 00000000 */ nop
/* 0061C 80A7C43C 3C0180A8 */ lui $at, %hi(D_80A7DFDC) ## $at = 80A80000
/* 00620 80A7C440 C426DFDC */ lwc1 $f6, %lo(D_80A7DFDC)($at)
/* 00624 80A7C444 C6040068 */ lwc1 $f4, 0x0068($s0) ## 00000068
/* 00628 80A7C448 3C0180A8 */ lui $at, %hi(D_80A7DFE0) ## $at = 80A80000
/* 0062C 80A7C44C C42ADFE0 */ lwc1 $f10, %lo(D_80A7DFE0)($at)
/* 00630 80A7C450 46062202 */ mul.s $f8, $f4, $f6
/* 00634 80A7C454 44806000 */ mtc1 $zero, $f12 ## $f12 = 0.00
/* 00638 80A7C458 3C0180A8 */ lui $at, %hi(D_80A7DFE4) ## $at = 80A80000
/* 0063C 80A7C45C 460A0402 */ mul.s $f16, $f0, $f10
/* 00640 80A7C460 46088080 */ add.s $f2, $f16, $f8
/* 00644 80A7C464 460C103C */ c.lt.s $f2, $f12
/* 00648 80A7C468 00000000 */ nop
/* 0064C 80A7C46C 45000003 */ bc1f .L80A7C47C
/* 00650 80A7C470 00000000 */ nop
/* 00654 80A7C474 1000000A */ beq $zero, $zero, .L80A7C4A0
/* 00658 80A7C478 E60C01C8 */ swc1 $f12, 0x01C8($s0) ## 000001C8
.L80A7C47C:
/* 0065C 80A7C47C C42CDFE4 */ lwc1 $f12, %lo(D_80A7DFE4)($at)
/* 00660 80A7C480 4602603C */ c.lt.s $f12, $f2
/* 00664 80A7C484 00000000 */ nop
/* 00668 80A7C488 45020004 */ bc1fl .L80A7C49C
/* 0066C 80A7C48C 46001006 */ mov.s $f0, $f2
/* 00670 80A7C490 10000002 */ beq $zero, $zero, .L80A7C49C
/* 00674 80A7C494 46006006 */ mov.s $f0, $f12
/* 00678 80A7C498 46001006 */ mov.s $f0, $f2
.L80A7C49C:
/* 0067C 80A7C49C E60001C8 */ swc1 $f0, 0x01C8($s0) ## 000001C8
.L80A7C4A0:
/* 00680 80A7C4A0 0C02927F */ jal SkelAnime_FrameUpdateMatrix
/* 00684 80A7C4A4 260401AC */ addiu $a0, $s0, 0x01AC ## $a0 = 000001AC
/* 00688 80A7C4A8 8619031A */ lh $t9, 0x031A($s0) ## 0000031A
/* 0068C 80A7C4AC 86180032 */ lh $t8, 0x0032($s0) ## 00000032
/* 00690 80A7C4B0 1F200003 */ bgtz $t9, .L80A7C4C0
/* 00694 80A7C4B4 A61800B6 */ sh $t8, 0x00B6($s0) ## 000000B6
/* 00698 80A7C4B8 0C29F166 */ jal func_80A7C598
/* 0069C 80A7C4BC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
.L80A7C4C0:
/* 006A0 80A7C4C0 96020314 */ lhu $v0, 0x0314($s0) ## 00000314
/* 006A4 80A7C4C4 87A3002E */ lh $v1, 0x002E($sp)
/* 006A8 80A7C4C8 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
/* 006AC 80A7C4CC 30480004 */ andi $t0, $v0, 0x0004 ## $t0 = 00000000
/* 006B0 80A7C4D0 11000004 */ beq $t0, $zero, .L80A7C4E4
/* 006B4 80A7C4D4 00000000 */ nop
/* 006B8 80A7C4D8 8609031C */ lh $t1, 0x031C($s0) ## 0000031C
/* 006BC 80A7C4DC 19200011 */ blez $t1, .L80A7C524
/* 006C0 80A7C4E0 00000000 */ nop
.L80A7C4E4:
/* 006C4 80A7C4E4 10610004 */ beq $v1, $at, .L80A7C4F8
/* 006C8 80A7C4E8 304A0001 */ andi $t2, $v0, 0x0001 ## $t2 = 00000000
/* 006CC 80A7C4EC 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
/* 006D0 80A7C4F0 54610011 */ bnel $v1, $at, .L80A7C538
/* 006D4 80A7C4F4 304E0001 */ andi $t6, $v0, 0x0001 ## $t6 = 00000000
.L80A7C4F8:
/* 006D8 80A7C4F8 5140000F */ beql $t2, $zero, .L80A7C538
/* 006DC 80A7C4FC 304E0001 */ andi $t6, $v0, 0x0001 ## $t6 = 00000000
/* 006E0 80A7C500 960B0088 */ lhu $t3, 0x0088($s0) ## 00000088
/* 006E4 80A7C504 3C0D80A8 */ lui $t5, %hi(D_80A7DEB8) ## $t5 = 80A80000
/* 006E8 80A7C508 316C0001 */ andi $t4, $t3, 0x0001 ## $t4 = 00000000
/* 006EC 80A7C50C 5180000A */ beql $t4, $zero, .L80A7C538
/* 006F0 80A7C510 304E0001 */ andi $t6, $v0, 0x0001 ## $t6 = 00000000
/* 006F4 80A7C514 85ADDEB8 */ lh $t5, %lo(D_80A7DEB8)($t5)
/* 006F8 80A7C518 29A10004 */ slti $at, $t5, 0x0004
/* 006FC 80A7C51C 54200006 */ bnel $at, $zero, .L80A7C538
/* 00700 80A7C520 304E0001 */ andi $t6, $v0, 0x0001 ## $t6 = 00000000
.L80A7C524:
/* 00704 80A7C524 0C29F2F2 */ jal func_80A7CBC8
/* 00708 80A7C528 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 0070C 80A7C52C 10000016 */ beq $zero, $zero, .L80A7C588
/* 00710 80A7C530 8FBF0024 */ lw $ra, 0x0024($sp)
/* 00714 80A7C534 304E0001 */ andi $t6, $v0, 0x0001 ## $t6 = 00000000
.L80A7C538:
/* 00718 80A7C538 11C00009 */ beq $t6, $zero, .L80A7C560
/* 0071C 80A7C53C 3C014220 */ lui $at, 0x4220 ## $at = 42200000
/* 00720 80A7C540 960F0088 */ lhu $t7, 0x0088($s0) ## 00000088
/* 00724 80A7C544 31F80040 */ andi $t8, $t7, 0x0040 ## $t8 = 00000000
/* 00728 80A7C548 53000006 */ beql $t8, $zero, .L80A7C564
/* 0072C 80A7C54C C6120090 */ lwc1 $f18, 0x0090($s0) ## 00000090
/* 00730 80A7C550 0C29F398 */ jal func_80A7CE60
/* 00734 80A7C554 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00738 80A7C558 1000000B */ beq $zero, $zero, .L80A7C588
/* 0073C 80A7C55C 8FBF0024 */ lw $ra, 0x0024($sp)
.L80A7C560:
/* 00740 80A7C560 C6120090 */ lwc1 $f18, 0x0090($s0) ## 00000090
.L80A7C564:
/* 00744 80A7C564 44812000 */ mtc1 $at, $f4 ## $f4 = 0.00
/* 00748 80A7C568 00000000 */ nop
/* 0074C 80A7C56C 4604903C */ c.lt.s $f18, $f4
/* 00750 80A7C570 00000000 */ nop
/* 00754 80A7C574 45020004 */ bc1fl .L80A7C588
/* 00758 80A7C578 8FBF0024 */ lw $ra, 0x0024($sp)
/* 0075C 80A7C57C 0C29F206 */ jal func_80A7C818
/* 00760 80A7C580 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00764 80A7C584 8FBF0024 */ lw $ra, 0x0024($sp)
.L80A7C588:
/* 00768 80A7C588 8FB00020 */ lw $s0, 0x0020($sp)
/* 0076C 80A7C58C 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000
/* 00770 80A7C590 03E00008 */ jr $ra
/* 00774 80A7C594 00000000 */ nop

View file

@ -1,23 +0,0 @@
glabel func_80A7C598
/* 00778 80A7C598 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 0077C 80A7C59C AFBF0014 */ sw $ra, 0x0014($sp)
/* 00780 80A7C5A0 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
/* 00784 80A7C5A4 AFA60018 */ sw $a2, 0x0018($sp)
/* 00788 80A7C5A8 2404000A */ addiu $a0, $zero, 0x000A ## $a0 = 0000000A
/* 0078C 80A7C5AC 0C01DF64 */ jal Math_Rand_S16Offset
/* 00790 80A7C5B0 2405002D */ addiu $a1, $zero, 0x002D ## $a1 = 0000002D
/* 00794 80A7C5B4 8FA40018 */ lw $a0, 0x0018($sp)
/* 00798 80A7C5B8 0C29EFD6 */ jal func_80A7BF58
/* 0079C 80A7C5BC A482031A */ sh $v0, 0x031A($a0) ## 0000031A
/* 007A0 80A7C5C0 8FA60018 */ lw $a2, 0x0018($sp)
/* 007A4 80A7C5C4 3C0E80A8 */ lui $t6, %hi(func_80A7C5EC) ## $t6 = 80A80000
/* 007A8 80A7C5C8 25CEC5EC */ addiu $t6, $t6, %lo(func_80A7C5EC) ## $t6 = 80A7C5EC
/* 007AC 80A7C5CC 94CF0314 */ lhu $t7, 0x0314($a2) ## 00000314
/* 007B0 80A7C5D0 ACCE0310 */ sw $t6, 0x0310($a2) ## 00000310
/* 007B4 80A7C5D4 35F80100 */ ori $t8, $t7, 0x0100 ## $t8 = 00000100
/* 007B8 80A7C5D8 A4D80314 */ sh $t8, 0x0314($a2) ## 00000314
/* 007BC 80A7C5DC 8FBF0014 */ lw $ra, 0x0014($sp)
/* 007C0 80A7C5E0 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 007C4 80A7C5E4 03E00008 */ jr $ra
/* 007C8 80A7C5E8 00000000 */ nop

View file

@ -30,7 +30,7 @@ glabel func_80A7C5EC
/* 0080C 80A7C62C 26040024 */ addiu $a0, $s0, 0x0024 ## $a0 = 00000024
/* 00810 80A7C630 26050008 */ addiu $a1, $s0, 0x0008 ## $a1 = 00000008
/* 00814 80A7C634 AFA50028 */ sw $a1, 0x0028($sp)
/* 00818 80A7C638 0C29EF90 */ jal func_80A7BE40
/* 00818 80A7C638 0C29EF90 */ jal EnInsect_XZDistanceSquared
/* 0081C 80A7C63C AFA4002C */ sw $a0, 0x002C($sp)
/* 00820 80A7C640 3C0144C8 */ lui $at, 0x44C8 ## $at = 44C80000
/* 00824 80A7C644 44813000 */ mtc1 $at, $f6 ## $f6 = 1600.00

View file

@ -1,23 +0,0 @@
glabel func_80A7C818
/* 009F8 80A7C818 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 009FC 80A7C81C AFBF0014 */ sw $ra, 0x0014($sp)
/* 00A00 80A7C820 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
/* 00A04 80A7C824 AFA60018 */ sw $a2, 0x0018($sp)
/* 00A08 80A7C828 2404000A */ addiu $a0, $zero, 0x000A ## $a0 = 0000000A
/* 00A0C 80A7C82C 0C01DF64 */ jal Math_Rand_S16Offset
/* 00A10 80A7C830 24050028 */ addiu $a1, $zero, 0x0028 ## $a1 = 00000028
/* 00A14 80A7C834 8FA40018 */ lw $a0, 0x0018($sp)
/* 00A18 80A7C838 0C29EFD6 */ jal func_80A7BF58
/* 00A1C 80A7C83C A482031A */ sh $v0, 0x031A($a0) ## 0000031A
/* 00A20 80A7C840 8FA60018 */ lw $a2, 0x0018($sp)
/* 00A24 80A7C844 3C0E80A8 */ lui $t6, %hi(func_80A7C86C) ## $t6 = 80A80000
/* 00A28 80A7C848 25CEC86C */ addiu $t6, $t6, %lo(func_80A7C86C) ## $t6 = 80A7C86C
/* 00A2C 80A7C84C 94CF0314 */ lhu $t7, 0x0314($a2) ## 00000314
/* 00A30 80A7C850 ACCE0310 */ sw $t6, 0x0310($a2) ## 00000310
/* 00A34 80A7C854 35F80100 */ ori $t8, $t7, 0x0100 ## $t8 = 00000100
/* 00A38 80A7C858 A4D80314 */ sh $t8, 0x0314($a2) ## 00000314
/* 00A3C 80A7C85C 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00A40 80A7C860 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00A44 80A7C864 03E00008 */ jr $ra
/* 00A48 80A7C868 00000000 */ nop

View file

@ -37,7 +37,7 @@ glabel func_80A7C86C
/* 00AA4 80A7C8C4 26040024 */ addiu $a0, $s0, 0x0024 ## $a0 = 00000024
/* 00AA8 80A7C8C8 26050008 */ addiu $a1, $s0, 0x0008 ## $a1 = 00000008
/* 00AAC 80A7C8CC AFA5002C */ sw $a1, 0x002C($sp)
/* 00AB0 80A7C8D0 0C29EF90 */ jal func_80A7BE40
/* 00AB0 80A7C8D0 0C29EF90 */ jal EnInsect_XZDistanceSquared
/* 00AB4 80A7C8D4 AFA40030 */ sw $a0, 0x0030($sp)
/* 00AB8 80A7C8D8 3C0146C8 */ lui $at, 0x46C8 ## $at = 46C80000
/* 00ABC 80A7C8DC 44815000 */ mtc1 $at, $f10 ## $f10 = 25600.00

View file

@ -1,34 +0,0 @@
.late_rodata
glabel D_80A7E000
.float 0.3
.text
glabel func_80A7CA64
/* 00C44 80A7CA64 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00C48 80A7CA68 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00C4C 80A7CA6C 240E00C8 */ addiu $t6, $zero, 0x00C8 ## $t6 = 000000C8
/* 00C50 80A7CA70 A48E031A */ sh $t6, 0x031A($a0) ## 0000031A
/* 00C54 80A7CA74 3C053A83 */ lui $a1, 0x3A83 ## $a1 = 3A830000
/* 00C58 80A7CA78 34A5126F */ ori $a1, $a1, 0x126F ## $a1 = 3A83126F
/* 00C5C 80A7CA7C 0C00B58B */ jal Actor_SetScale
/* 00C60 80A7CA80 AFA40018 */ sw $a0, 0x0018($sp)
/* 00C64 80A7CA84 8FA40018 */ lw $a0, 0x0018($sp)
/* 00C68 80A7CA88 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
/* 00C6C 80A7CA8C AC800134 */ sw $zero, 0x0134($a0) ## 00000134
/* 00C70 80A7CA90 0C29EFD6 */ jal func_80A7BF58
/* 00C74 80A7CA94 E4840068 */ swc1 $f4, 0x0068($a0) ## 00000068
/* 00C78 80A7CA98 8FA40018 */ lw $a0, 0x0018($sp)
/* 00C7C 80A7CA9C 3C0180A8 */ lui $at, %hi(D_80A7E000) ## $at = 80A80000
/* 00C80 80A7CAA0 C426E000 */ lwc1 $f6, %lo(D_80A7E000)($at)
/* 00C84 80A7CAA4 94980314 */ lhu $t8, 0x0314($a0) ## 00000314
/* 00C88 80A7CAA8 3C0F80A8 */ lui $t7, %hi(func_80A7CAD0) ## $t7 = 80A80000
/* 00C8C 80A7CAAC 25EFCAD0 */ addiu $t7, $t7, %lo(func_80A7CAD0) ## $t7 = 80A7CAD0
/* 00C90 80A7CAB0 3319FEFF */ andi $t9, $t8, 0xFEFF ## $t9 = 00000000
/* 00C94 80A7CAB4 AC8F0310 */ sw $t7, 0x0310($a0) ## 00000310
/* 00C98 80A7CAB8 A4990314 */ sh $t9, 0x0314($a0) ## 00000314
/* 00C9C 80A7CABC E48601C8 */ swc1 $f6, 0x01C8($a0) ## 000001C8
/* 00CA0 80A7CAC0 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00CA4 80A7CAC4 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00CA8 80A7CAC8 03E00008 */ jr $ra
/* 00CAC 80A7CACC 00000000 */ nop

View file

@ -1,84 +0,0 @@
.late_rodata
glabel D_80A7E004
.float 0.01
glabel D_80A7E008
.float 0.01
glabel D_80A7E00C
.float 0.001
.text
glabel func_80A7CAD0
/* 00CB0 80A7CAD0 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00CB4 80A7CAD4 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00CB8 80A7CAD8 AFA5001C */ sw $a1, 0x001C($sp)
/* 00CBC 80A7CADC 8482031A */ lh $v0, 0x031A($a0) ## 0000031A
/* 00CC0 80A7CAE0 24010014 */ addiu $at, $zero, 0x0014 ## $at = 00000014
/* 00CC4 80A7CAE4 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
/* 00CC8 80A7CAE8 14410009 */ bne $v0, $at, .L80A7CB10
/* 00CCC 80A7CAEC 00000000 */ nop
/* 00CD0 80A7CAF0 948E0314 */ lhu $t6, 0x0314($a0) ## 00000314
/* 00CD4 80A7CAF4 3C1880A8 */ lui $t8, %hi(EnInsect_Draw) ## $t8 = 80A80000
/* 00CD8 80A7CAF8 2718DE48 */ addiu $t8, $t8, %lo(EnInsect_Draw) ## $t8 = 80A7DE48
/* 00CDC 80A7CAFC 31CF0004 */ andi $t7, $t6, 0x0004 ## $t7 = 00000000
/* 00CE0 80A7CB00 15E00003 */ bne $t7, $zero, .L80A7CB10
/* 00CE4 80A7CB04 00000000 */ nop
/* 00CE8 80A7CB08 1000002B */ beq $zero, $zero, .L80A7CBB8
/* 00CEC 80A7CB0C AC980134 */ sw $t8, 0x0134($a0) ## 00000134
.L80A7CB10:
/* 00CF0 80A7CB10 14400014 */ bne $v0, $zero, .L80A7CB64
/* 00CF4 80A7CB14 28410014 */ slti $at, $v0, 0x0014
/* 00CF8 80A7CB18 94D90314 */ lhu $t9, 0x0314($a2) ## 00000314
/* 00CFC 80A7CB1C 3C0180A8 */ lui $at, %hi(D_80A7E004) ## $at = 80A80000
/* 00D00 80A7CB20 33280004 */ andi $t0, $t9, 0x0004 ## $t0 = 00000000
/* 00D04 80A7CB24 11000005 */ beq $t0, $zero, .L80A7CB3C
/* 00D08 80A7CB28 00000000 */ nop
/* 00D0C 80A7CB2C 0C00B55C */ jal Actor_Kill
/* 00D10 80A7CB30 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
/* 00D14 80A7CB34 10000021 */ beq $zero, $zero, .L80A7CBBC
/* 00D18 80A7CB38 8FBF0014 */ lw $ra, 0x0014($sp)
.L80A7CB3C:
/* 00D1C 80A7CB3C C42CE004 */ lwc1 $f12, %lo(D_80A7E004)($at)
/* 00D20 80A7CB40 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
/* 00D24 80A7CB44 AFA60018 */ sw $a2, 0x0018($sp)
/* 00D28 80A7CB48 44056000 */ mfc1 $a1, $f12
/* 00D2C 80A7CB4C 0C00B58B */ jal Actor_SetScale
/* 00D30 80A7CB50 00000000 */ nop
/* 00D34 80A7CB54 0C29F0E8 */ jal func_80A7C3A0
/* 00D38 80A7CB58 8FA40018 */ lw $a0, 0x0018($sp)
/* 00D3C 80A7CB5C 10000017 */ beq $zero, $zero, .L80A7CBBC
/* 00D40 80A7CB60 8FBF0014 */ lw $ra, 0x0014($sp)
.L80A7CB64:
/* 00D44 80A7CB64 10200014 */ beq $at, $zero, .L80A7CBB8
/* 00D48 80A7CB68 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
/* 00D4C 80A7CB6C 3C0180A8 */ lui $at, %hi(D_80A7E008) ## $at = 80A80000
/* 00D50 80A7CB70 C42CE008 */ lwc1 $f12, %lo(D_80A7E008)($at)
/* 00D54 80A7CB74 3C0180A8 */ lui $at, %hi(D_80A7E00C) ## $at = 80A80000
/* 00D58 80A7CB78 C426E00C */ lwc1 $f6, %lo(D_80A7E00C)($at)
/* 00D5C 80A7CB7C C4C40050 */ lwc1 $f4, 0x0050($a2) ## 00000050
/* 00D60 80A7CB80 46062000 */ add.s $f0, $f4, $f6
/* 00D64 80A7CB84 4600603C */ c.lt.s $f12, $f0
/* 00D68 80A7CB88 00000000 */ nop
/* 00D6C 80A7CB8C 45020004 */ bc1fl .L80A7CBA0
/* 00D70 80A7CB90 46000086 */ mov.s $f2, $f0
/* 00D74 80A7CB94 10000002 */ beq $zero, $zero, .L80A7CBA0
/* 00D78 80A7CB98 46006086 */ mov.s $f2, $f12
/* 00D7C 80A7CB9C 46000086 */ mov.s $f2, $f0
.L80A7CBA0:
/* 00D80 80A7CBA0 44051000 */ mfc1 $a1, $f2
/* 00D84 80A7CBA4 0C00B58B */ jal Actor_SetScale
/* 00D88 80A7CBA8 AFA60018 */ sw $a2, 0x0018($sp)
/* 00D8C 80A7CBAC 8FA60018 */ lw $a2, 0x0018($sp)
/* 00D90 80A7CBB0 0C02927F */ jal SkelAnime_FrameUpdateMatrix
/* 00D94 80A7CBB4 24C401AC */ addiu $a0, $a2, 0x01AC ## $a0 = 000001AC
.L80A7CBB8:
/* 00D98 80A7CBB8 8FBF0014 */ lw $ra, 0x0014($sp)
.L80A7CBBC:
/* 00D9C 80A7CBBC 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00DA0 80A7CBC0 03E00008 */ jr $ra
/* 00DA4 80A7CBC4 00000000 */ nop

View file

@ -1,37 +0,0 @@
.late_rodata
glabel D_80A7E010
.float 1.9
.text
glabel func_80A7CBC8
/* 00DA8 80A7CBC8 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 00DAC 80A7CBCC AFBF001C */ sw $ra, 0x001C($sp)
/* 00DB0 80A7CBD0 AFB00018 */ sw $s0, 0x0018($sp)
/* 00DB4 80A7CBD4 240E003C */ addiu $t6, $zero, 0x003C ## $t6 = 0000003C
/* 00DB8 80A7CBD8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00DBC 80A7CBDC 0C29EFD6 */ jal func_80A7BF58
/* 00DC0 80A7CBE0 A48E031A */ sh $t6, 0x031A($a0) ## 0000031A
/* 00DC4 80A7CBE4 3C0180A8 */ lui $at, %hi(D_80A7E010) ## $at = 80A80000
/* 00DC8 80A7CBE8 C424E010 */ lwc1 $f4, %lo(D_80A7E010)($at)
/* 00DCC 80A7CBEC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00DD0 80A7CBF0 240539E9 */ addiu $a1, $zero, 0x39E9 ## $a1 = 000039E9
/* 00DD4 80A7CBF4 0C00BE0A */ jal Audio_PlayActorSound2
/* 00DD8 80A7CBF8 E60401C8 */ swc1 $f4, 0x01C8($s0) ## 000001C8
/* 00DDC 80A7CBFC 26040008 */ addiu $a0, $s0, 0x0008 ## $a0 = 00000008
/* 00DE0 80A7CC00 0C01DF90 */ jal Math_Vec3f_Copy
## Vec3f_Copy
/* 00DE4 80A7CC04 26050024 */ addiu $a1, $s0, 0x0024 ## $a1 = 00000024
/* 00DE8 80A7CC08 96180314 */ lhu $t8, 0x0314($s0) ## 00000314
/* 00DEC 80A7CC0C 3C0F80A8 */ lui $t7, %hi(func_80A7CC3C) ## $t7 = 80A80000
/* 00DF0 80A7CC10 25EFCC3C */ addiu $t7, $t7, %lo(func_80A7CC3C) ## $t7 = 80A7CC3C
/* 00DF4 80A7CC14 3308FEFF */ andi $t0, $t8, 0xFEFF ## $t0 = 00000000
/* 00DF8 80A7CC18 A6080314 */ sh $t0, 0x0314($s0) ## 00000314
/* 00DFC 80A7CC1C 35090008 */ ori $t1, $t0, 0x0008 ## $t1 = 00000008
/* 00E00 80A7CC20 AE0F0310 */ sw $t7, 0x0310($s0) ## 00000310
/* 00E04 80A7CC24 A6090314 */ sh $t1, 0x0314($s0) ## 00000314
/* 00E08 80A7CC28 8FBF001C */ lw $ra, 0x001C($sp)
/* 00E0C 80A7CC2C 8FB00018 */ lw $s0, 0x0018($sp)
/* 00E10 80A7CC30 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 00E14 80A7CC34 03E00008 */ jr $ra
/* 00E18 80A7CC38 00000000 */ nop

View file

@ -1,176 +0,0 @@
.late_rodata
glabel D_80A7E014
.float 0.001
glabel D_80A7E018
.word 0x3951B717
glabel D_80A7E01C
.float 0.8
glabel D_80A7E020
.float 0.1
glabel D_80A7E024
.word 0xBF19999A
glabel D_80A7E028
.float 0.6
glabel D_80A7E02C
.word 0xBF19999A
.text
glabel func_80A7CC3C
/* 00E1C 80A7CC3C 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
/* 00E20 80A7CC40 27BDFFB8 */ addiu $sp, $sp, 0xFFB8 ## $sp = FFFFFFB8
/* 00E24 80A7CC44 AFB00020 */ sw $s0, 0x0020($sp)
/* 00E28 80A7CC48 AFA5004C */ sw $a1, 0x004C($sp)
/* 00E2C 80A7CC4C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00E30 80A7CC50 AFBF0024 */ sw $ra, 0x0024($sp)
/* 00E34 80A7CC54 3C063DCC */ lui $a2, 0x3DCC ## $a2 = 3DCC0000
/* 00E38 80A7CC58 44050000 */ mfc1 $a1, $f0
/* 00E3C 80A7CC5C 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3DCCCCCD
/* 00E40 80A7CC60 24840068 */ addiu $a0, $a0, 0x0068 ## $a0 = 00000068
/* 00E44 80A7CC64 3C073F00 */ lui $a3, 0x3F00 ## $a3 = 3F000000
/* 00E48 80A7CC68 0C01E0C4 */ jal Math_SmoothScaleMaxMinF
/* 00E4C 80A7CC6C E7A00010 */ swc1 $f0, 0x0010($sp)
/* 00E50 80A7CC70 260400B4 */ addiu $a0, $s0, 0x00B4 ## $a0 = 000000B4
/* 00E54 80A7CC74 24052AAA */ addiu $a1, $zero, 0x2AAA ## $a1 = 00002AAA
/* 00E58 80A7CC78 0C01DE5F */ jal Math_ApproxS
/* 00E5C 80A7CC7C 24060160 */ addiu $a2, $zero, 0x0160 ## $a2 = 00000160
/* 00E60 80A7CC80 3C0180A8 */ lui $at, %hi(D_80A7E014) ## $at = 80A80000
/* 00E64 80A7CC84 C42CE014 */ lwc1 $f12, %lo(D_80A7E014)($at)
/* 00E68 80A7CC88 3C0180A8 */ lui $at, %hi(D_80A7E018) ## $at = 80A80000
/* 00E6C 80A7CC8C C426E018 */ lwc1 $f6, %lo(D_80A7E018)($at)
/* 00E70 80A7CC90 C6040050 */ lwc1 $f4, 0x0050($s0) ## 00000050
/* 00E74 80A7CC94 46062001 */ sub.s $f0, $f4, $f6
/* 00E78 80A7CC98 460C003C */ c.lt.s $f0, $f12
/* 00E7C 80A7CC9C 00000000 */ nop
/* 00E80 80A7CCA0 45020004 */ bc1fl .L80A7CCB4
/* 00E84 80A7CCA4 46000086 */ mov.s $f2, $f0
/* 00E88 80A7CCA8 10000002 */ beq $zero, $zero, .L80A7CCB4
/* 00E8C 80A7CCAC 46006086 */ mov.s $f2, $f12
/* 00E90 80A7CCB0 46000086 */ mov.s $f2, $f0
.L80A7CCB4:
/* 00E94 80A7CCB4 44051000 */ mfc1 $a1, $f2
/* 00E98 80A7CCB8 0C00B58B */ jal Actor_SetScale
/* 00E9C 80A7CCBC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00EA0 80A7CCC0 3C0180A8 */ lui $at, %hi(D_80A7E01C) ## $at = 80A80000
/* 00EA4 80A7CCC4 C42AE01C */ lwc1 $f10, %lo(D_80A7E01C)($at)
/* 00EA8 80A7CCC8 C60800BC */ lwc1 $f8, 0x00BC($s0) ## 000000BC
/* 00EAC 80A7CCCC 460A4401 */ sub.s $f16, $f8, $f10
/* 00EB0 80A7CCD0 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 00EB4 80A7CCD4 E61000BC */ swc1 $f16, 0x00BC($s0) ## 000000BC
/* 00EB8 80A7CCD8 C6120008 */ lwc1 $f18, 0x0008($s0) ## 00000008
/* 00EBC 80A7CCDC 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000
/* 00EC0 80A7CCE0 44813000 */ mtc1 $at, $f6 ## $f6 = 0.50
/* 00EC4 80A7CCE4 46120100 */ add.s $f4, $f0, $f18
/* 00EC8 80A7CCE8 46062201 */ sub.s $f8, $f4, $f6
/* 00ECC 80A7CCEC 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 00ED0 80A7CCF0 E6080024 */ swc1 $f8, 0x0024($s0) ## 00000024
/* 00ED4 80A7CCF4 C60A0010 */ lwc1 $f10, 0x0010($s0) ## 00000010
/* 00ED8 80A7CCF8 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000
/* 00EDC 80A7CCFC 44819000 */ mtc1 $at, $f18 ## $f18 = 0.50
/* 00EE0 80A7CD00 460A0400 */ add.s $f16, $f0, $f10
/* 00EE4 80A7CD04 260401AC */ addiu $a0, $s0, 0x01AC ## $a0 = 000001AC
/* 00EE8 80A7CD08 46128101 */ sub.s $f4, $f16, $f18
/* 00EEC 80A7CD0C 0C02927F */ jal SkelAnime_FrameUpdateMatrix
/* 00EF0 80A7CD10 E604002C */ swc1 $f4, 0x002C($s0) ## 0000002C
/* 00EF4 80A7CD14 860E031A */ lh $t6, 0x031A($s0) ## 0000031A
/* 00EF8 80A7CD18 29C10015 */ slti $at, $t6, 0x0015
/* 00EFC 80A7CD1C 54200034 */ bnel $at, $zero, .L80A7CDF0
/* 00F00 80A7CD20 8609031A */ lh $t1, 0x031A($s0) ## 0000031A
/* 00F04 80A7CD24 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 00F08 80A7CD28 00000000 */ nop
/* 00F0C 80A7CD2C 3C0180A8 */ lui $at, %hi(D_80A7E020) ## $at = 80A80000
/* 00F10 80A7CD30 C426E020 */ lwc1 $f6, %lo(D_80A7E020)($at)
/* 00F14 80A7CD34 4606003C */ c.lt.s $f0, $f6
/* 00F18 80A7CD38 00000000 */ nop
/* 00F1C 80A7CD3C 4502002C */ bc1fl .L80A7CDF0
/* 00F20 80A7CD40 8609031A */ lh $t1, 0x031A($s0) ## 0000031A
/* 00F24 80A7CD44 0C01DE1C */ jal Math_Sins
## sins?
/* 00F28 80A7CD48 860400B6 */ lh $a0, 0x00B6($s0) ## 000000B6
/* 00F2C 80A7CD4C 3C0180A8 */ lui $at, %hi(D_80A7E024) ## $at = 80A80000
/* 00F30 80A7CD50 C428E024 */ lwc1 $f8, %lo(D_80A7E024)($at)
/* 00F34 80A7CD54 46080282 */ mul.s $f10, $f0, $f8
/* 00F38 80A7CD58 E7AA0034 */ swc1 $f10, 0x0034($sp)
/* 00F3C 80A7CD5C 0C01DE1C */ jal Math_Sins
## sins?
/* 00F40 80A7CD60 860400B4 */ lh $a0, 0x00B4($s0) ## 000000B4
/* 00F44 80A7CD64 3C0180A8 */ lui $at, %hi(D_80A7E028) ## $at = 80A80000
/* 00F48 80A7CD68 C430E028 */ lwc1 $f16, %lo(D_80A7E028)($at)
/* 00F4C 80A7CD6C 46100482 */ mul.s $f18, $f0, $f16
/* 00F50 80A7CD70 E7B20038 */ swc1 $f18, 0x0038($sp)
/* 00F54 80A7CD74 0C01DE0D */ jal Math_Coss
## coss?
/* 00F58 80A7CD78 860400B6 */ lh $a0, 0x00B6($s0) ## 000000B6
/* 00F5C 80A7CD7C 3C0180A8 */ lui $at, %hi(D_80A7E02C) ## $at = 80A80000
/* 00F60 80A7CD80 C424E02C */ lwc1 $f4, %lo(D_80A7E02C)($at)
/* 00F64 80A7CD84 46040182 */ mul.s $f6, $f0, $f4
/* 00F68 80A7CD88 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 00F6C 80A7CD8C E7A6003C */ swc1 $f6, 0x003C($sp)
/* 00F70 80A7CD90 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 00F74 80A7CD94 E7A0002C */ swc1 $f0, 0x002C($sp)
/* 00F78 80A7CD98 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000
/* 00F7C 80A7CD9C 44811000 */ mtc1 $at, $f2 ## $f2 = 5.00
/* 00F80 80A7CDA0 C7A8002C */ lwc1 $f8, 0x002C($sp)
/* 00F84 80A7CDA4 3C014100 */ lui $at, 0x4100 ## $at = 41000000
/* 00F88 80A7CDA8 44816000 */ mtc1 $at, $f12 ## $f12 = 8.00
/* 00F8C 80A7CDAC 46024282 */ mul.s $f10, $f8, $f2
/* 00F90 80A7CDB0 3C0780A8 */ lui $a3, %hi(D_80A7DF28) ## $a3 = 80A80000
/* 00F94 80A7CDB4 24E7DF28 */ addiu $a3, $a3, %lo(D_80A7DF28) ## $a3 = 80A7DF28
/* 00F98 80A7CDB8 46020102 */ mul.s $f4, $f0, $f2
/* 00F9C 80A7CDBC 8FA4004C */ lw $a0, 0x004C($sp)
/* 00FA0 80A7CDC0 26050024 */ addiu $a1, $s0, 0x0024 ## $a1 = 00000024
/* 00FA4 80A7CDC4 27A60034 */ addiu $a2, $sp, 0x0034 ## $a2 = FFFFFFEC
/* 00FA8 80A7CDC8 460C5400 */ add.s $f16, $f10, $f12
/* 00FAC 80A7CDCC 460C2180 */ add.s $f6, $f4, $f12
/* 00FB0 80A7CDD0 4600848D */ trunc.w.s $f18, $f16
/* 00FB4 80A7CDD4 4600320D */ trunc.w.s $f8, $f6
/* 00FB8 80A7CDD8 44189000 */ mfc1 $t8, $f18
/* 00FBC 80A7CDDC 44084000 */ mfc1 $t0, $f8
/* 00FC0 80A7CDE0 AFB80010 */ sw $t8, 0x0010($sp)
/* 00FC4 80A7CDE4 0C00A1B3 */ jal func_800286CC
/* 00FC8 80A7CDE8 AFA80014 */ sw $t0, 0x0014($sp)
/* 00FCC 80A7CDEC 8609031A */ lh $t1, 0x031A($s0) ## 0000031A
.L80A7CDF0:
/* 00FD0 80A7CDF0 5D200017 */ bgtzl $t1, .L80A7CE50
/* 00FD4 80A7CDF4 8FBF0024 */ lw $ra, 0x0024($sp)
/* 00FD8 80A7CDF8 960A0314 */ lhu $t2, 0x0314($s0) ## 00000314
/* 00FDC 80A7CDFC 314B0010 */ andi $t3, $t2, 0x0010 ## $t3 = 00000000
/* 00FE0 80A7CE00 11600010 */ beq $t3, $zero, .L80A7CE44
/* 00FE4 80A7CE04 00000000 */ nop
/* 00FE8 80A7CE08 8E020320 */ lw $v0, 0x0320($s0) ## 00000320
/* 00FEC 80A7CE0C 1040000D */ beq $v0, $zero, .L80A7CE44
/* 00FF0 80A7CE10 24440024 */ addiu $a0, $v0, 0x0024 ## $a0 = 00000024
/* 00FF4 80A7CE14 0C032D94 */ jal func_800CB650
/* 00FF8 80A7CE18 26050024 */ addiu $a1, $s0, 0x0024 ## $a1 = 00000024
/* 00FFC 80A7CE1C 3C014280 */ lui $at, 0x4280 ## $at = 42800000
/* 01000 80A7CE20 44815000 */ mtc1 $at, $f10 ## $f10 = 64.00
/* 01004 80A7CE24 00000000 */ nop
/* 01008 80A7CE28 460A003C */ c.lt.s $f0, $f10
/* 0100C 80A7CE2C 00000000 */ nop
/* 01010 80A7CE30 45000004 */ bc1f .L80A7CE44
/* 01014 80A7CE34 00000000 */ nop
/* 01018 80A7CE38 8E0D0320 */ lw $t5, 0x0320($s0) ## 00000320
/* 0101C 80A7CE3C 240C0001 */ addiu $t4, $zero, 0x0001 ## $t4 = 00000001
/* 01020 80A7CE40 A5AC0152 */ sh $t4, 0x0152($t5) ## 00000152
.L80A7CE44:
/* 01024 80A7CE44 0C00B55C */ jal Actor_Kill
/* 01028 80A7CE48 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 0102C 80A7CE4C 8FBF0024 */ lw $ra, 0x0024($sp)
.L80A7CE50:
/* 01030 80A7CE50 8FB00020 */ lw $s0, 0x0020($sp)
/* 01034 80A7CE54 27BD0048 */ addiu $sp, $sp, 0x0048 ## $sp = 00000000
/* 01038 80A7CE58 03E00008 */ jr $ra
/* 0103C 80A7CE5C 00000000 */ nop

View file

@ -1,26 +0,0 @@
glabel func_80A7CE60
/* 01040 80A7CE60 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 01044 80A7CE64 AFBF0014 */ sw $ra, 0x0014($sp)
/* 01048 80A7CE68 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
/* 0104C 80A7CE6C AFA60018 */ sw $a2, 0x0018($sp)
/* 01050 80A7CE70 24040078 */ addiu $a0, $zero, 0x0078 ## $a0 = 00000078
/* 01054 80A7CE74 0C01DF64 */ jal Math_Rand_S16Offset
/* 01058 80A7CE78 24050032 */ addiu $a1, $zero, 0x0032 ## $a1 = 00000032
/* 0105C 80A7CE7C 8FA40018 */ lw $a0, 0x0018($sp)
/* 01060 80A7CE80 0C29EFD6 */ jal func_80A7BF58
/* 01064 80A7CE84 A482031A */ sh $v0, 0x031A($a0) ## 0000031A
/* 01068 80A7CE88 8FA60018 */ lw $a2, 0x0018($sp)
/* 0106C 80A7CE8C 3C0F80A8 */ lui $t7, %hi(func_80A7CEC0) ## $t7 = 80A80000
/* 01070 80A7CE90 25EFCEC0 */ addiu $t7, $t7, %lo(func_80A7CEC0) ## $t7 = 80A7CEC0
/* 01074 80A7CE94 94D80314 */ lhu $t8, 0x0314($a2) ## 00000314
/* 01078 80A7CE98 A4C00318 */ sh $zero, 0x0318($a2) ## 00000318
/* 0107C 80A7CE9C 84CE0318 */ lh $t6, 0x0318($a2) ## 00000318
/* 01080 80A7CEA0 3319FEFF */ andi $t9, $t8, 0xFEFF ## $t9 = 00000000
/* 01084 80A7CEA4 ACCF0310 */ sw $t7, 0x0310($a2) ## 00000310
/* 01088 80A7CEA8 A4D90314 */ sh $t9, 0x0314($a2) ## 00000314
/* 0108C 80A7CEAC A4CE0316 */ sh $t6, 0x0316($a2) ## 00000316
/* 01090 80A7CEB0 8FBF0014 */ lw $ra, 0x0014($sp)
/* 01094 80A7CEB4 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 01098 80A7CEB8 03E00008 */ jr $ra
/* 0109C 80A7CEBC 00000000 */ nop

View file

@ -1,246 +0,0 @@
.late_rodata
glabel D_80A7E030
.float 0.1
glabel D_80A7E034
.word 0x3C9374BC
glabel D_80A7E038
.float 1.9
glabel D_80A7E03C
.float 0.03
.text
glabel func_80A7CEC0
/* 010A0 80A7CEC0 27BDFFA8 */ addiu $sp, $sp, 0xFFA8 ## $sp = FFFFFFA8
/* 010A4 80A7CEC4 AFBF0024 */ sw $ra, 0x0024($sp)
/* 010A8 80A7CEC8 AFB00020 */ sw $s0, 0x0020($sp)
/* 010AC 80A7CECC AFA5005C */ sw $a1, 0x005C($sp)
/* 010B0 80A7CED0 848E001C */ lh $t6, 0x001C($a0) ## 0000001C
/* 010B4 80A7CED4 3C063CA3 */ lui $a2, 0x3CA3 ## $a2 = 3CA30000
/* 010B8 80A7CED8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 010BC 80A7CEDC 31CF0003 */ andi $t7, $t6, 0x0003 ## $t7 = 00000000
/* 010C0 80A7CEE0 A7AF004E */ sh $t7, 0x004E($sp)
/* 010C4 80A7CEE4 8498031A */ lh $t8, 0x031A($a0) ## 0000031A
/* 010C8 80A7CEE8 34C6D70A */ ori $a2, $a2, 0xD70A ## $a2 = 3CA3D70A
/* 010CC 80A7CEEC 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
/* 010D0 80A7CEF0 2B010051 */ slti $at, $t8, 0x0051
/* 010D4 80A7CEF4 14200009 */ bne $at, $zero, .L80A7CF1C
/* 010D8 80A7CEF8 00000000 */ nop
/* 010DC 80A7CEFC 3C053F19 */ lui $a1, 0x3F19 ## $a1 = 3F190000
/* 010E0 80A7CF00 3C063DA3 */ lui $a2, 0x3DA3 ## $a2 = 3DA30000
/* 010E4 80A7CF04 34C6D70A */ ori $a2, $a2, 0xD70A ## $a2 = 3DA3D70A
/* 010E8 80A7CF08 34A5999A */ ori $a1, $a1, 0x999A ## $a1 = 3F19999A
/* 010EC 80A7CF0C 0C01DE80 */ jal Math_ApproxF
/* 010F0 80A7CF10 24840068 */ addiu $a0, $a0, 0x0068 ## $a0 = 00000068
/* 010F4 80A7CF14 10000004 */ beq $zero, $zero, .L80A7CF28
/* 010F8 80A7CF18 8619031A */ lh $t9, 0x031A($s0) ## 0000031A
.L80A7CF1C:
/* 010FC 80A7CF1C 0C01DE80 */ jal Math_ApproxF
/* 01100 80A7CF20 26040068 */ addiu $a0, $s0, 0x0068 ## $a0 = 00000068
/* 01104 80A7CF24 8619031A */ lh $t9, 0x031A($s0) ## 0000031A
.L80A7CF28:
/* 01108 80A7CF28 C6060028 */ lwc1 $f6, 0x0028($s0) ## 00000028
/* 0110C 80A7CF2C C6080084 */ lwc1 $f8, 0x0084($s0) ## 00000084
/* 01110 80A7CF30 44998000 */ mtc1 $t9, $f16 ## $f16 = 0.00
/* 01114 80A7CF34 3C0180A8 */ lui $at, %hi(D_80A7E030) ## $at = 80A80000
/* 01118 80A7CF38 46083280 */ add.s $f10, $f6, $f8
/* 0111C 80A7CF3C C422E030 */ lwc1 $f2, %lo(D_80A7E030)($at)
/* 01120 80A7CF40 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
/* 01124 80A7CF44 468084A0 */ cvt.s.w $f18, $f16
/* 01128 80A7CF48 E60A0028 */ swc1 $f10, 0x0028($s0) ## 00000028
/* 0112C 80A7CF4C 3C0180A8 */ lui $at, %hi(D_80A7E034) ## $at = 80A80000
/* 01130 80A7CF50 E6040060 */ swc1 $f4, 0x0060($s0) ## 00000060
/* 01134 80A7CF54 C424E034 */ lwc1 $f4, %lo(D_80A7E034)($at)
/* 01138 80A7CF58 3C0180A8 */ lui $at, %hi(D_80A7E038) ## $at = 80A80000
/* 0113C 80A7CF5C 46049002 */ mul.s $f0, $f18, $f4
/* 01140 80A7CF60 4602003C */ c.lt.s $f0, $f2
/* 01144 80A7CF64 00000000 */ nop
/* 01148 80A7CF68 45000003 */ bc1f .L80A7CF78
/* 0114C 80A7CF6C 00000000 */ nop
/* 01150 80A7CF70 1000000A */ beq $zero, $zero, .L80A7CF9C
/* 01154 80A7CF74 E60201C8 */ swc1 $f2, 0x01C8($s0) ## 000001C8
.L80A7CF78:
/* 01158 80A7CF78 C42CE038 */ lwc1 $f12, %lo(D_80A7E038)($at)
/* 0115C 80A7CF7C 4600603C */ c.lt.s $f12, $f0
/* 01160 80A7CF80 00000000 */ nop
/* 01164 80A7CF84 45020004 */ bc1fl .L80A7CF98
/* 01168 80A7CF88 46000086 */ mov.s $f2, $f0
/* 0116C 80A7CF8C 10000002 */ beq $zero, $zero, .L80A7CF98
/* 01170 80A7CF90 46006086 */ mov.s $f2, $f12
/* 01174 80A7CF94 46000086 */ mov.s $f2, $f0
.L80A7CF98:
/* 01178 80A7CF98 E60201C8 */ swc1 $f2, 0x01C8($s0) ## 000001C8
.L80A7CF9C:
/* 0117C 80A7CF9C 0C02927F */ jal SkelAnime_FrameUpdateMatrix
/* 01180 80A7CFA0 260401AC */ addiu $a0, $s0, 0x01AC ## $a0 = 000001AC
/* 01184 80A7CFA4 8608031A */ lh $t0, 0x031A($s0) ## 0000031A
/* 01188 80A7CFA8 2404FFCE */ addiu $a0, $zero, 0xFFCE ## $a0 = FFFFFFCE
/* 0118C 80A7CFAC 29010051 */ slti $at, $t0, 0x0051
/* 01190 80A7CFB0 5420000D */ bnel $at, $zero, .L80A7CFE8
/* 01194 80A7CFB4 3C014348 */ lui $at, 0x4348 ## $at = 43480000
/* 01198 80A7CFB8 0C01DF64 */ jal Math_Rand_S16Offset
/* 0119C 80A7CFBC 24050064 */ addiu $a1, $zero, 0x0064 ## $a1 = 00000064
/* 011A0 80A7CFC0 86090316 */ lh $t1, 0x0316($s0) ## 00000316
/* 011A4 80A7CFC4 2404FED4 */ addiu $a0, $zero, 0xFED4 ## $a0 = FFFFFED4
/* 011A8 80A7CFC8 24050258 */ addiu $a1, $zero, 0x0258 ## $a1 = 00000258
/* 011AC 80A7CFCC 01225021 */ addu $t2, $t1, $v0
/* 011B0 80A7CFD0 0C01DF64 */ jal Math_Rand_S16Offset
/* 011B4 80A7CFD4 A60A0316 */ sh $t2, 0x0316($s0) ## 00000316
/* 011B8 80A7CFD8 860B0318 */ lh $t3, 0x0318($s0) ## 00000318
/* 011BC 80A7CFDC 01626021 */ addu $t4, $t3, $v0
/* 011C0 80A7CFE0 A60C0318 */ sh $t4, 0x0318($s0) ## 00000318
/* 011C4 80A7CFE4 3C014348 */ lui $at, 0x4348 ## $at = 43480000
.L80A7CFE8:
/* 011C8 80A7CFE8 44814000 */ mtc1 $at, $f8 ## $f8 = 200.00
/* 011CC 80A7CFEC C60601C8 */ lwc1 $f6, 0x01C8($s0) ## 000001C8
/* 011D0 80A7CFF0 86040316 */ lh $a0, 0x0316($s0) ## 00000316
/* 011D4 80A7CFF4 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 011D8 80A7CFF8 46083282 */ mul.s $f10, $f6, $f8
/* 011DC 80A7CFFC 4600540D */ trunc.w.s $f16, $f10
/* 011E0 80A7D000 44038000 */ mfc1 $v1, $f16
/* 011E4 80A7D004 00000000 */ nop
/* 011E8 80A7D008 00031C00 */ sll $v1, $v1, 16
/* 011EC 80A7D00C 00031C03 */ sra $v1, $v1, 16
/* 011F0 80A7D010 00031023 */ subu $v0, $zero, $v1
/* 011F4 80A7D014 0082082A */ slt $at, $a0, $v0
/* 011F8 80A7D018 50200004 */ beql $at, $zero, .L80A7D02C
/* 011FC 80A7D01C 0064082A */ slt $at, $v1, $a0
/* 01200 80A7D020 10000007 */ beq $zero, $zero, .L80A7D040
/* 01204 80A7D024 A6020316 */ sh $v0, 0x0316($s0) ## 00000316
/* 01208 80A7D028 0064082A */ slt $at, $v1, $a0
.L80A7D02C:
/* 0120C 80A7D02C 10200003 */ beq $at, $zero, .L80A7D03C
/* 01210 80A7D030 00801025 */ or $v0, $a0, $zero ## $v0 = 00000000
/* 01214 80A7D034 10000001 */ beq $zero, $zero, .L80A7D03C
/* 01218 80A7D038 00601025 */ or $v0, $v1, $zero ## $v0 = 00000000
.L80A7D03C:
/* 0121C 80A7D03C A6020316 */ sh $v0, 0x0316($s0) ## 00000316
.L80A7D040:
/* 01220 80A7D040 3C01447A */ lui $at, 0x447A ## $at = 447A0000
/* 01224 80A7D044 44812000 */ mtc1 $at, $f4 ## $f4 = 1000.00
/* 01228 80A7D048 C61201C8 */ lwc1 $f18, 0x01C8($s0) ## 000001C8
/* 0122C 80A7D04C 860E0032 */ lh $t6, 0x0032($s0) ## 00000032
/* 01230 80A7D050 860F0316 */ lh $t7, 0x0316($s0) ## 00000316
/* 01234 80A7D054 46049182 */ mul.s $f6, $f18, $f4
/* 01238 80A7D058 86040318 */ lh $a0, 0x0318($s0) ## 00000318
/* 0123C 80A7D05C 01CFC021 */ addu $t8, $t6, $t7
/* 01240 80A7D060 A6180032 */ sh $t8, 0x0032($s0) ## 00000032
/* 01244 80A7D064 4600320D */ trunc.w.s $f8, $f6
/* 01248 80A7D068 44034000 */ mfc1 $v1, $f8
/* 0124C 80A7D06C 00000000 */ nop
/* 01250 80A7D070 00031C00 */ sll $v1, $v1, 16
/* 01254 80A7D074 00031C03 */ sra $v1, $v1, 16
/* 01258 80A7D078 00031023 */ subu $v0, $zero, $v1
/* 0125C 80A7D07C 0082082A */ slt $at, $a0, $v0
/* 01260 80A7D080 50200004 */ beql $at, $zero, .L80A7D094
/* 01264 80A7D084 0064082A */ slt $at, $v1, $a0
/* 01268 80A7D088 10000007 */ beq $zero, $zero, .L80A7D0A8
/* 0126C 80A7D08C A6020318 */ sh $v0, 0x0318($s0) ## 00000318
/* 01270 80A7D090 0064082A */ slt $at, $v1, $a0
.L80A7D094:
/* 01274 80A7D094 10200003 */ beq $at, $zero, .L80A7D0A4
/* 01278 80A7D098 00801025 */ or $v0, $a0, $zero ## $v0 = 00000000
/* 0127C 80A7D09C 10000001 */ beq $zero, $zero, .L80A7D0A4
/* 01280 80A7D0A0 00601025 */ or $v0, $v1, $zero ## $v0 = 00000000
.L80A7D0A4:
/* 01284 80A7D0A4 A6020318 */ sh $v0, 0x0318($s0) ## 00000318
.L80A7D0A8:
/* 01288 80A7D0A8 860800B6 */ lh $t0, 0x00B6($s0) ## 000000B6
/* 0128C 80A7D0AC 86090318 */ lh $t1, 0x0318($s0) ## 00000318
/* 01290 80A7D0B0 26040030 */ addiu $a0, $s0, 0x0030 ## $a0 = 00000030
/* 01294 80A7D0B4 24060BB8 */ addiu $a2, $zero, 0x0BB8 ## $a2 = 00000BB8
/* 01298 80A7D0B8 01095021 */ addu $t2, $t0, $t1
/* 0129C 80A7D0BC 0C01DE2B */ jal Math_ApproxUpdateScaledS
/* 012A0 80A7D0C0 A60A00B6 */ sh $t2, 0x00B6($s0) ## 000000B6
/* 012A4 80A7D0C4 860B0030 */ lh $t3, 0x0030($s0) ## 00000030
/* 012A8 80A7D0C8 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 012AC 80A7D0CC A60B00B4 */ sh $t3, 0x00B4($s0) ## 000000B4
/* 012B0 80A7D0D0 3C0180A8 */ lui $at, %hi(D_80A7E03C) ## $at = 80A80000
/* 012B4 80A7D0D4 C42AE03C */ lwc1 $f10, %lo(D_80A7E03C)($at)
/* 012B8 80A7D0D8 460A003C */ c.lt.s $f0, $f10
/* 012BC 80A7D0DC 00000000 */ nop
/* 012C0 80A7D0E0 45020018 */ bc1fl .L80A7D144
/* 012C4 80A7D0E4 860E031A */ lh $t6, 0x031A($s0) ## 0000031A
/* 012C8 80A7D0E8 C6100024 */ lwc1 $f16, 0x0024($s0) ## 00000024
/* 012CC 80A7D0EC 240C0004 */ addiu $t4, $zero, 0x0004 ## $t4 = 00000004
/* 012D0 80A7D0F0 8FA4005C */ lw $a0, 0x005C($sp)
/* 012D4 80A7D0F4 E7B00040 */ swc1 $f16, 0x0040($sp)
/* 012D8 80A7D0F8 C6040084 */ lwc1 $f4, 0x0084($s0) ## 00000084
/* 012DC 80A7D0FC C6120028 */ lwc1 $f18, 0x0028($s0) ## 00000028
/* 012E0 80A7D100 27A50040 */ addiu $a1, $sp, 0x0040 ## $a1 = FFFFFFE8
/* 012E4 80A7D104 24060014 */ addiu $a2, $zero, 0x0014 ## $a2 = 00000014
/* 012E8 80A7D108 46049180 */ add.s $f6, $f18, $f4
/* 012EC 80A7D10C 24070064 */ addiu $a3, $zero, 0x0064 ## $a3 = 00000064
/* 012F0 80A7D110 E7A60044 */ swc1 $f6, 0x0044($sp)
/* 012F4 80A7D114 C608002C */ lwc1 $f8, 0x002C($s0) ## 0000002C
/* 012F8 80A7D118 AFAC0010 */ sw $t4, 0x0010($sp)
/* 012FC 80A7D11C 0C00A511 */ jal func_80029444
/* 01300 80A7D120 E7A80048 */ swc1 $f8, 0x0048($sp)
/* 01304 80A7D124 240D0008 */ addiu $t5, $zero, 0x0008 ## $t5 = 00000008
/* 01308 80A7D128 AFAD0010 */ sw $t5, 0x0010($sp)
/* 0130C 80A7D12C 8FA4005C */ lw $a0, 0x005C($sp)
/* 01310 80A7D130 27A50040 */ addiu $a1, $sp, 0x0040 ## $a1 = FFFFFFE8
/* 01314 80A7D134 24060028 */ addiu $a2, $zero, 0x0028 ## $a2 = 00000028
/* 01318 80A7D138 0C00A511 */ jal func_80029444
/* 0131C 80A7D13C 240700C8 */ addiu $a3, $zero, 0x00C8 ## $a3 = 000000C8
/* 01320 80A7D140 860E031A */ lh $t6, 0x031A($s0) ## 0000031A
.L80A7D144:
/* 01324 80A7D144 19C00015 */ blez $t6, .L80A7D19C
/* 01328 80A7D148 00000000 */ nop
/* 0132C 80A7D14C 96020314 */ lhu $v0, 0x0314($s0) ## 00000314
/* 01330 80A7D150 87B9004E */ lh $t9, 0x004E($sp)
/* 01334 80A7D154 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
/* 01338 80A7D158 304F0004 */ andi $t7, $v0, 0x0004 ## $t7 = 00000000
/* 0133C 80A7D15C 11E00004 */ beq $t7, $zero, .L80A7D170
/* 01340 80A7D160 00000000 */ nop
/* 01344 80A7D164 8618031C */ lh $t8, 0x031C($s0) ## 0000031C
/* 01348 80A7D168 1B00000C */ blez $t8, .L80A7D19C
/* 0134C 80A7D16C 00000000 */ nop
.L80A7D170:
/* 01350 80A7D170 13210004 */ beq $t9, $at, .L80A7D184
/* 01354 80A7D174 30480001 */ andi $t0, $v0, 0x0001 ## $t0 = 00000000
/* 01358 80A7D178 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
/* 0135C 80A7D17C 5721000C */ bnel $t9, $at, .L80A7D1B0
/* 01360 80A7D180 960A0088 */ lhu $t2, 0x0088($s0) ## 00000088
.L80A7D184:
/* 01364 80A7D184 11000009 */ beq $t0, $zero, .L80A7D1AC
/* 01368 80A7D188 3C0980A8 */ lui $t1, %hi(D_80A7DEB8) ## $t1 = 80A80000
/* 0136C 80A7D18C 8529DEB8 */ lh $t1, %lo(D_80A7DEB8)($t1)
/* 01370 80A7D190 29210004 */ slti $at, $t1, 0x0004
/* 01374 80A7D194 54200006 */ bnel $at, $zero, .L80A7D1B0
/* 01378 80A7D198 960A0088 */ lhu $t2, 0x0088($s0) ## 00000088
.L80A7D19C:
/* 0137C 80A7D19C 0C29F47D */ jal func_80A7D1F4
/* 01380 80A7D1A0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01384 80A7D1A4 1000000F */ beq $zero, $zero, .L80A7D1E4
/* 01388 80A7D1A8 8FBF0024 */ lw $ra, 0x0024($sp)
.L80A7D1AC:
/* 0138C 80A7D1AC 960A0088 */ lhu $t2, 0x0088($s0) ## 00000088
.L80A7D1B0:
/* 01390 80A7D1B0 304C0010 */ andi $t4, $v0, 0x0010 ## $t4 = 00000000
/* 01394 80A7D1B4 314B0040 */ andi $t3, $t2, 0x0040 ## $t3 = 00000000
/* 01398 80A7D1B8 5560000A */ bnel $t3, $zero, .L80A7D1E4
/* 0139C 80A7D1BC 8FBF0024 */ lw $ra, 0x0024($sp)
/* 013A0 80A7D1C0 11800005 */ beq $t4, $zero, .L80A7D1D8
/* 013A4 80A7D1C4 00000000 */ nop
/* 013A8 80A7D1C8 0C29F4E7 */ jal func_80A7D39C
/* 013AC 80A7D1CC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 013B0 80A7D1D0 10000004 */ beq $zero, $zero, .L80A7D1E4
/* 013B4 80A7D1D4 8FBF0024 */ lw $ra, 0x0024($sp)
.L80A7D1D8:
/* 013B8 80A7D1D8 0C29F0E8 */ jal func_80A7C3A0
/* 013BC 80A7D1DC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 013C0 80A7D1E0 8FBF0024 */ lw $ra, 0x0024($sp)
.L80A7D1E4:
/* 013C4 80A7D1E4 8FB00020 */ lw $s0, 0x0020($sp)
/* 013C8 80A7D1E8 27BD0058 */ addiu $sp, $sp, 0x0058 ## $sp = 00000000
/* 013CC 80A7D1EC 03E00008 */ jr $ra
/* 013D0 80A7D1F0 00000000 */ nop

View file

@ -1,39 +0,0 @@
.late_rodata
glabel D_80A7E040
.float -0.8
glabel D_80A7E044
.word 0xBD23D70A
.text
glabel func_80A7D1F4
/* 013D4 80A7D1F4 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 013D8 80A7D1F8 AFBF0014 */ sw $ra, 0x0014($sp)
/* 013DC 80A7D1FC 240E0064 */ addiu $t6, $zero, 0x0064 ## $t6 = 00000064
/* 013E0 80A7D200 A48E031A */ sh $t6, 0x031A($a0) ## 0000031A
/* 013E4 80A7D204 0C29EFD6 */ jal func_80A7BF58
/* 013E8 80A7D208 AFA40018 */ sw $a0, 0x0018($sp)
/* 013EC 80A7D20C 8FA40018 */ lw $a0, 0x0018($sp)
/* 013F0 80A7D210 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
/* 013F4 80A7D214 3C0180A8 */ lui $at, %hi(D_80A7E040) ## $at = 80A80000
/* 013F8 80A7D218 948F0314 */ lhu $t7, 0x0314($a0) ## 00000314
/* 013FC 80A7D21C E4800060 */ swc1 $f0, 0x0060($a0) ## 00000060
/* 01400 80A7D220 E4800068 */ swc1 $f0, 0x0068($a0) ## 00000068
/* 01404 80A7D224 C424E040 */ lwc1 $f4, %lo(D_80A7E040)($at)
/* 01408 80A7D228 3C0180A8 */ lui $at, %hi(D_80A7E044) ## $at = 80A80000
/* 0140C 80A7D22C 31E8FFFC */ andi $t0, $t7, 0xFFFC ## $t0 = 00000000
/* 01410 80A7D230 E4840070 */ swc1 $f4, 0x0070($a0) ## 00000070
/* 01414 80A7D234 C426E044 */ lwc1 $f6, %lo(D_80A7E044)($at)
/* 01418 80A7D238 310AFEFF */ andi $t2, $t0, 0xFEFF ## $t2 = 00000000
/* 0141C 80A7D23C 3C1980A8 */ lui $t9, %hi(func_80A7D26C) ## $t9 = 80A80000
/* 01420 80A7D240 A4880314 */ sh $t0, 0x0314($a0) ## 00000314
/* 01424 80A7D244 2739D26C */ addiu $t9, $t9, %lo(func_80A7D26C) ## $t9 = 80A7D26C
/* 01428 80A7D248 354B0008 */ ori $t3, $t2, 0x0008 ## $t3 = 00000008
/* 0142C 80A7D24C A48A0314 */ sh $t2, 0x0314($a0) ## 00000314
/* 01430 80A7D250 AC990310 */ sw $t9, 0x0310($a0) ## 00000310
/* 01434 80A7D254 A48B0314 */ sh $t3, 0x0314($a0) ## 00000314
/* 01438 80A7D258 E486006C */ swc1 $f6, 0x006C($a0) ## 0000006C
/* 0143C 80A7D25C 8FBF0014 */ lw $ra, 0x0014($sp)
/* 01440 80A7D260 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 01444 80A7D264 03E00008 */ jr $ra
/* 01448 80A7D268 00000000 */ nop

View file

@ -1,100 +0,0 @@
.late_rodata
glabel D_80A7E048
.float 0.001
glabel D_80A7E04C
.word 0x3851B717
glabel D_80A7E050
.float 0.3
glabel D_80A7E054
.float 0.04
glabel D_80A7E058
.float 0.02
.text
glabel func_80A7D26C
/* 0144C 80A7D26C 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
/* 01450 80A7D270 AFBF0024 */ sw $ra, 0x0024($sp)
/* 01454 80A7D274 AFB00020 */ sw $s0, 0x0020($sp)
/* 01458 80A7D278 AFA5002C */ sw $a1, 0x002C($sp)
/* 0145C 80A7D27C 848E00B4 */ lh $t6, 0x00B4($a0) ## 000000B4
/* 01460 80A7D280 849800B6 */ lh $t8, 0x00B6($a0) ## 000000B6
/* 01464 80A7D284 3C0180A8 */ lui $at, %hi(D_80A7E048) ## $at = 80A80000
/* 01468 80A7D288 C42CE048 */ lwc1 $f12, %lo(D_80A7E048)($at)
/* 0146C 80A7D28C 25CFFE0C */ addiu $t7, $t6, 0xFE0C ## $t7 = FFFFFE0C
/* 01470 80A7D290 271900C8 */ addiu $t9, $t8, 0x00C8 ## $t9 = 000000C8
/* 01474 80A7D294 A48F00B4 */ sh $t7, 0x00B4($a0) ## 000000B4
/* 01478 80A7D298 A49900B6 */ sh $t9, 0x00B6($a0) ## 000000B6
/* 0147C 80A7D29C 3C0180A8 */ lui $at, %hi(D_80A7E04C) ## $at = 80A80000
/* 01480 80A7D2A0 C426E04C */ lwc1 $f6, %lo(D_80A7E04C)($at)
/* 01484 80A7D2A4 C4840050 */ lwc1 $f4, 0x0050($a0) ## 00000050
/* 01488 80A7D2A8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 0148C 80A7D2AC 46062001 */ sub.s $f0, $f4, $f6
/* 01490 80A7D2B0 460C003C */ c.lt.s $f0, $f12
/* 01494 80A7D2B4 00000000 */ nop
/* 01498 80A7D2B8 45020004 */ bc1fl .L80A7D2CC
/* 0149C 80A7D2BC 46000086 */ mov.s $f2, $f0
/* 014A0 80A7D2C0 10000002 */ beq $zero, $zero, .L80A7D2CC
/* 014A4 80A7D2C4 46006086 */ mov.s $f2, $f12
/* 014A8 80A7D2C8 46000086 */ mov.s $f2, $f0
.L80A7D2CC:
/* 014AC 80A7D2CC 44051000 */ mfc1 $a1, $f2
/* 014B0 80A7D2D0 0C00B58B */ jal Actor_SetScale
/* 014B4 80A7D2D4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 014B8 80A7D2D8 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000
/* 014BC 80A7D2DC 44814000 */ mtc1 $at, $f8 ## $f8 = 5.00
/* 014C0 80A7D2E0 C6000084 */ lwc1 $f0, 0x0084($s0) ## 00000084
/* 014C4 80A7D2E4 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000
/* 014C8 80A7D2E8 4600403C */ c.lt.s $f8, $f0
/* 014CC 80A7D2EC 00000000 */ nop
/* 014D0 80A7D2F0 45020021 */ bc1fl .L80A7D378
/* 014D4 80A7D2F4 8608031A */ lh $t0, 0x031A($s0) ## 0000031A
/* 014D8 80A7D2F8 44815000 */ mtc1 $at, $f10 ## $f10 = 30.00
/* 014DC 80A7D2FC 00000000 */ nop
/* 014E0 80A7D300 460A003C */ c.lt.s $f0, $f10
/* 014E4 80A7D304 00000000 */ nop
/* 014E8 80A7D308 4502001B */ bc1fl .L80A7D378
/* 014EC 80A7D30C 8608031A */ lh $t0, 0x031A($s0) ## 0000031A
/* 014F0 80A7D310 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 014F4 80A7D314 00000000 */ nop
/* 014F8 80A7D318 3C0180A8 */ lui $at, %hi(D_80A7E050) ## $at = 80A80000
/* 014FC 80A7D31C C430E050 */ lwc1 $f16, %lo(D_80A7E050)($at)
/* 01500 80A7D320 4610003C */ c.lt.s $f0, $f16
/* 01504 80A7D324 00000000 */ nop
/* 01508 80A7D328 45020013 */ bc1fl .L80A7D378
/* 0150C 80A7D32C 8608031A */ lh $t0, 0x031A($s0) ## 0000031A
/* 01510 80A7D330 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 01514 80A7D334 00000000 */ nop
/* 01518 80A7D338 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000
/* 0151C 80A7D33C 44811000 */ mtc1 $at, $f2 ## $f2 = 5.00
/* 01520 80A7D340 3C0180A8 */ lui $at, %hi(D_80A7E054) ## $at = 80A80000
/* 01524 80A7D344 C432E054 */ lwc1 $f18, %lo(D_80A7E054)($at)
/* 01528 80A7D348 3C0180A8 */ lui $at, %hi(D_80A7E058) ## $at = 80A80000
/* 0152C 80A7D34C C426E058 */ lwc1 $f6, %lo(D_80A7E058)($at)
/* 01530 80A7D350 46120102 */ mul.s $f4, $f0, $f18
/* 01534 80A7D354 44071000 */ mfc1 $a3, $f2
/* 01538 80A7D358 8FA4002C */ lw $a0, 0x002C($sp)
/* 0153C 80A7D35C 26050024 */ addiu $a1, $s0, 0x0024 ## $a1 = 00000024
/* 01540 80A7D360 3C06C0A0 */ lui $a2, 0xC0A0 ## $a2 = C0A00000
/* 01544 80A7D364 E7A20010 */ swc1 $f2, 0x0010($sp)
/* 01548 80A7D368 46062200 */ add.s $f8, $f4, $f6
/* 0154C 80A7D36C 0C00A4F9 */ jal func_800293E4
/* 01550 80A7D370 E7A80014 */ swc1 $f8, 0x0014($sp)
/* 01554 80A7D374 8608031A */ lh $t0, 0x031A($s0) ## 0000031A
.L80A7D378:
/* 01558 80A7D378 5D000004 */ bgtzl $t0, .L80A7D38C
/* 0155C 80A7D37C 8FBF0024 */ lw $ra, 0x0024($sp)
/* 01560 80A7D380 0C00B55C */ jal Actor_Kill
/* 01564 80A7D384 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01568 80A7D388 8FBF0024 */ lw $ra, 0x0024($sp)
.L80A7D38C:
/* 0156C 80A7D38C 8FB00020 */ lw $s0, 0x0020($sp)
/* 01570 80A7D390 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
/* 01574 80A7D394 03E00008 */ jr $ra
/* 01578 80A7D398 00000000 */ nop

View file

@ -1,64 +0,0 @@
.late_rodata
glabel D_80A7E05C
.word 0x477FFF80
glabel D_80A7E060
.float 1500.0
glabel D_80A7E064
.word 0x477FFF80
.text
glabel func_80A7D39C
/* 0157C 80A7D39C 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 01580 80A7D3A0 AFBF001C */ sw $ra, 0x001C($sp)
/* 01584 80A7D3A4 AFB00018 */ sw $s0, 0x0018($sp)
/* 01588 80A7D3A8 0C29EFD6 */ jal func_80A7BF58
/* 0158C 80A7D3AC 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 01590 80A7D3B0 3C013FC0 */ lui $at, 0x3FC0 ## $at = 3FC00000
/* 01594 80A7D3B4 44812000 */ mtc1 $at, $f4 ## $f4 = 1.50
/* 01598 80A7D3B8 240E0064 */ addiu $t6, $zero, 0x0064 ## $t6 = 00000064
/* 0159C 80A7D3BC A60E031A */ sh $t6, 0x031A($s0) ## 0000031A
/* 015A0 80A7D3C0 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 015A4 80A7D3C4 E6040324 */ swc1 $f4, 0x0324($s0) ## 00000324
/* 015A8 80A7D3C8 3C0180A8 */ lui $at, %hi(D_80A7E05C) ## $at = 80A80000
/* 015AC 80A7D3CC C426E05C */ lwc1 $f6, %lo(D_80A7E05C)($at)
/* 015B0 80A7D3D0 46060202 */ mul.s $f8, $f0, $f6
/* 015B4 80A7D3D4 4600428D */ trunc.w.s $f10, $f8
/* 015B8 80A7D3D8 44185000 */ mfc1 $t8, $f10
/* 015BC 80A7D3DC 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 015C0 80A7D3E0 A6180328 */ sh $t8, 0x0328($s0) ## 00000328
/* 015C4 80A7D3E4 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000
/* 015C8 80A7D3E8 44818000 */ mtc1 $at, $f16 ## $f16 = 0.50
/* 015CC 80A7D3EC 3C0180A8 */ lui $at, %hi(D_80A7E060) ## $at = 80A80000
/* 015D0 80A7D3F0 C424E060 */ lwc1 $f4, %lo(D_80A7E060)($at)
/* 015D4 80A7D3F4 46100481 */ sub.s $f18, $f0, $f16
/* 015D8 80A7D3F8 46049182 */ mul.s $f6, $f18, $f4
/* 015DC 80A7D3FC 4600320D */ trunc.w.s $f8, $f6
/* 015E0 80A7D400 44084000 */ mfc1 $t0, $f8
/* 015E4 80A7D404 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 015E8 80A7D408 A6080316 */ sh $t0, 0x0316($s0) ## 00000316
/* 015EC 80A7D40C 3C0180A8 */ lui $at, %hi(D_80A7E064) ## $at = 80A80000
/* 015F0 80A7D410 C42AE064 */ lwc1 $f10, %lo(D_80A7E064)($at)
/* 015F4 80A7D414 3C053B44 */ lui $a1, 0x3B44 ## $a1 = 3B440000
/* 015F8 80A7D418 34A59BA6 */ ori $a1, $a1, 0x9BA6 ## $a1 = 3B449BA6
/* 015FC 80A7D41C 460A0402 */ mul.s $f16, $f0, $f10
/* 01600 80A7D420 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01604 80A7D424 4600848D */ trunc.w.s $f18, $f16
/* 01608 80A7D428 440A9000 */ mfc1 $t2, $f18
/* 0160C 80A7D42C 0C00B58B */ jal Actor_SetScale
/* 01610 80A7D430 A60A0032 */ sh $t2, 0x0032($s0) ## 00000032
/* 01614 80A7D434 960C0314 */ lhu $t4, 0x0314($s0) ## 00000314
/* 01618 80A7D438 3C0B80A8 */ lui $t3, %hi(func_80A7D460) ## $t3 = 80A80000
/* 0161C 80A7D43C 256BD460 */ addiu $t3, $t3, %lo(func_80A7D460) ## $t3 = 80A7D460
/* 01620 80A7D440 358D0100 */ ori $t5, $t4, 0x0100 ## $t5 = 00000100
/* 01624 80A7D444 AE0B0310 */ sw $t3, 0x0310($s0) ## 00000310
/* 01628 80A7D448 A60D0314 */ sh $t5, 0x0314($s0) ## 00000314
/* 0162C 80A7D44C 8FBF001C */ lw $ra, 0x001C($sp)
/* 01630 80A7D450 8FB00018 */ lw $s0, 0x0018($sp)
/* 01634 80A7D454 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 01638 80A7D458 03E00008 */ jr $ra
/* 0163C 80A7D45C 00000000 */ nop

View file

@ -1,635 +0,0 @@
.rdata
glabel D_80A7DF40
.asciz ""
.balign 4
glabel D_80A7DF4C
.asciz "warning: Actor NULL (%s %d)\n"
.balign 4
glabel D_80A7DF70
.asciz "../z_en_mushi.c"
.balign 4
glabel D_80A7DF80
.asciz "\x1b[m"
.balign 4
glabel D_80A7DF84
.asciz ""
.balign 4
glabel D_80A7DF90
.asciz "BG Actor_delete (%s %d)\n"
.balign 4
glabel D_80A7DFB8
.asciz "../z_en_mushi.c"
.balign 4
glabel D_80A7DFC8
.asciz "\x1b[m"
.balign 4
.late_rodata
glabel D_80A7E068
.word 0x3B5A740D
glabel D_80A7E06C
.word 0x3F7FBE77
glabel D_80A7E070
.float 1.1
glabel D_80A7E074
.word 0x3D8F5C29
glabel D_80A7E078
.word 0x3F7FBE77
glabel D_80A7E07C
.float 0.6
glabel D_80A7E080
.word 0x3D8F5C29
glabel D_80A7E084
.float 0.1
glabel D_80A7E088
.float 0.8
glabel D_80A7E08C
.float 1.3
glabel D_80A7E090
.word 0x477FFF00
glabel D_80A7E094
.float 0.01
glabel D_80A7E098
.word 0x3A51B717
glabel D_80A7E09C
.word 0x3E0F5C29
glabel D_80A7E0A0
.float 0.12
glabel D_80A7E0A4
.float 1.3
glabel D_80A7E0A8
.float 1.9
glabel D_80A7E0AC
.word 0xC6F9EC00
.text
glabel func_80A7D460
/* 01640 80A7D460 27BDFFA8 */ addiu $sp, $sp, 0xFFA8 ## $sp = FFFFFFA8
/* 01644 80A7D464 AFBF0024 */ sw $ra, 0x0024($sp)
/* 01648 80A7D468 AFB00020 */ sw $s0, 0x0020($sp)
/* 0164C 80A7D46C AFA5005C */ sw $a1, 0x005C($sp)
/* 01650 80A7D470 AFA00050 */ sw $zero, 0x0050($sp)
/* 01654 80A7D474 848E001C */ lh $t6, 0x001C($a0) ## 0000001C
/* 01658 80A7D478 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 0165C 80A7D47C 31CF0003 */ andi $t7, $t6, 0x0003 ## $t7 = 00000000
/* 01660 80A7D480 A7AF003A */ sh $t7, 0x003A($sp)
/* 01664 80A7D484 8C820320 */ lw $v0, 0x0320($a0) ## 00000320
/* 01668 80A7D488 10400005 */ beq $v0, $zero, .L80A7D4A0
/* 0166C 80A7D48C 24840024 */ addiu $a0, $a0, 0x0024 ## $a0 = 00000024
/* 01670 80A7D490 0C032D94 */ jal func_800CB650
/* 01674 80A7D494 24450024 */ addiu $a1, $v0, 0x0024 ## $a1 = 00000024
/* 01678 80A7D498 10000015 */ beq $zero, $zero, .L80A7D4F0
/* 0167C 80A7D49C E7A00040 */ swc1 $f0, 0x0040($sp)
.L80A7D4A0:
/* 01680 80A7D4A0 96180314 */ lhu $t8, 0x0314($s0) ## 00000314
/* 01684 80A7D4A4 3C0480A8 */ lui $a0, %hi(D_80A7DF40) ## $a0 = 80A80000
/* 01688 80A7D4A8 33190010 */ andi $t9, $t8, 0x0010 ## $t9 = 00000000
/* 0168C 80A7D4AC 5320000D */ beql $t9, $zero, .L80A7D4E4
/* 01690 80A7D4B0 3C014220 */ lui $at, 0x4220 ## $at = 42200000
/* 01694 80A7D4B4 0C00084C */ jal osSyncPrintf
/* 01698 80A7D4B8 2484DF40 */ addiu $a0, $a0, %lo(D_80A7DF40) ## $a0 = 80A7DF40
/* 0169C 80A7D4BC 3C0480A8 */ lui $a0, %hi(D_80A7DF4C) ## $a0 = 80A80000
/* 016A0 80A7D4C0 3C0580A8 */ lui $a1, %hi(D_80A7DF70) ## $a1 = 80A80000
/* 016A4 80A7D4C4 24A5DF70 */ addiu $a1, $a1, %lo(D_80A7DF70) ## $a1 = 80A7DF70
/* 016A8 80A7D4C8 2484DF4C */ addiu $a0, $a0, %lo(D_80A7DF4C) ## $a0 = 80A7DF4C
/* 016AC 80A7D4CC 0C00084C */ jal osSyncPrintf
/* 016B0 80A7D4D0 24060416 */ addiu $a2, $zero, 0x0416 ## $a2 = 00000416
/* 016B4 80A7D4D4 3C0480A8 */ lui $a0, %hi(D_80A7DF80) ## $a0 = 80A80000
/* 016B8 80A7D4D8 0C00084C */ jal osSyncPrintf
/* 016BC 80A7D4DC 2484DF80 */ addiu $a0, $a0, %lo(D_80A7DF80) ## $a0 = 80A7DF80
/* 016C0 80A7D4E0 3C014220 */ lui $at, 0x4220 ## $at = 42200000
.L80A7D4E4:
/* 016C4 80A7D4E4 44812000 */ mtc1 $at, $f4 ## $f4 = 40.00
/* 016C8 80A7D4E8 00000000 */ nop
/* 016CC 80A7D4EC E7A40040 */ swc1 $f4, 0x0040($sp)
.L80A7D4F0:
/* 016D0 80A7D4F0 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 016D4 80A7D4F4 44816000 */ mtc1 $at, $f12 ## $f12 = 1.00
/* 016D8 80A7D4F8 3C0280A8 */ lui $v0, %hi(D_80A7DEB0) ## $v0 = 80A80000
/* 016DC 80A7D4FC 2442DEB0 */ addiu $v0, $v0, %lo(D_80A7DEB0) ## $v0 = 80A7DEB0
/* 016E0 80A7D500 3C0180A8 */ lui $at, %hi(D_80A7E068) ## $at = 80A80000
/* 016E4 80A7D504 C428E068 */ lwc1 $f8, %lo(D_80A7E068)($at)
/* 016E8 80A7D508 C4460000 */ lwc1 $f6, 0x0000($v0) ## 80A7DEB0
/* 016EC 80A7D50C 3C0180A8 */ lui $at, %hi(D_80A7E06C) ## $at = 80A80000
/* 016F0 80A7D510 46083280 */ add.s $f10, $f6, $f8
/* 016F4 80A7D514 E44A0000 */ swc1 $f10, 0x0000($v0) ## 80A7DEB0
/* 016F8 80A7D518 C4400000 */ lwc1 $f0, 0x0000($v0) ## 80A7DEB0
/* 016FC 80A7D51C 4600603C */ c.lt.s $f12, $f0
/* 01700 80A7D520 00000000 */ nop
/* 01704 80A7D524 45000003 */ bc1f .L80A7D534
/* 01708 80A7D528 00000000 */ nop
/* 0170C 80A7D52C E44C0000 */ swc1 $f12, 0x0000($v0) ## 80A7DEB0
/* 01710 80A7D530 C4400000 */ lwc1 $f0, 0x0000($v0) ## 80A7DEB0
.L80A7D534:
/* 01714 80A7D534 C430E06C */ lwc1 $f16, %lo(D_80A7E06C)($at)
/* 01718 80A7D538 4600803C */ c.lt.s $f16, $f0
/* 0171C 80A7D53C 00000000 */ nop
/* 01720 80A7D540 45020005 */ bc1fl .L80A7D558
/* 01724 80A7D544 3C014461 */ lui $at, 0x4461 ## $at = 44610000
/* 01728 80A7D548 44801000 */ mtc1 $zero, $f2 ## $f2 = 0.00
/* 0172C 80A7D54C 10000019 */ beq $zero, $zero, .L80A7D5B4
/* 01730 80A7D550 8E080320 */ lw $t0, 0x0320($s0) ## 00000320
/* 01734 80A7D554 3C014461 */ lui $at, 0x4461 ## $at = 44610000
.L80A7D558:
/* 01738 80A7D558 44819000 */ mtc1 $at, $f18 ## $f18 = 900.00
/* 0173C 80A7D55C C7A40040 */ lwc1 $f4, 0x0040($sp)
/* 01740 80A7D560 3C014120 */ lui $at, 0x4120 ## $at = 41200000
/* 01744 80A7D564 4604903C */ c.lt.s $f18, $f4
/* 01748 80A7D568 00000000 */ nop
/* 0174C 80A7D56C 4502000C */ bc1fl .L80A7D5A0
/* 01750 80A7D570 46006101 */ sub.s $f4, $f12, $f0
/* 01754 80A7D574 3C0180A8 */ lui $at, %hi(D_80A7E070) ## $at = 80A80000
/* 01758 80A7D578 C426E070 */ lwc1 $f6, %lo(D_80A7E070)($at)
/* 0175C 80A7D57C 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000
/* 01760 80A7D580 44815000 */ mtc1 $at, $f10 ## $f10 = 100.00
/* 01764 80A7D584 46003201 */ sub.s $f8, $f6, $f0
/* 01768 80A7D588 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000
/* 0176C 80A7D58C 44819000 */ mtc1 $at, $f18 ## $f18 = 20.00
/* 01770 80A7D590 460A4402 */ mul.s $f16, $f8, $f10
/* 01774 80A7D594 10000006 */ beq $zero, $zero, .L80A7D5B0
/* 01778 80A7D598 46128080 */ add.s $f2, $f16, $f18
/* 0177C 80A7D59C 46006101 */ sub.s $f4, $f12, $f0
.L80A7D5A0:
/* 01780 80A7D5A0 44813000 */ mtc1 $at, $f6 ## $f6 = 20.00
/* 01784 80A7D5A4 00000000 */ nop
/* 01788 80A7D5A8 46062082 */ mul.s $f2, $f4, $f6
/* 0178C 80A7D5AC 00000000 */ nop
.L80A7D5B0:
/* 01790 80A7D5B0 8E080320 */ lw $t0, 0x0320($s0) ## 00000320
.L80A7D5B4:
/* 01794 80A7D5B4 11000022 */ beq $t0, $zero, .L80A7D640
/* 01798 80A7D5B8 00000000 */ nop
/* 0179C 80A7D5BC 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 017A0 80A7D5C0 E7A2003C */ swc1 $f2, 0x003C($sp)
/* 017A4 80A7D5C4 3C0180A8 */ lui $at, %hi(D_80A7E074) ## $at = 80A80000
/* 017A8 80A7D5C8 C428E074 */ lwc1 $f8, %lo(D_80A7E074)($at)
/* 017AC 80A7D5CC C7A2003C */ lwc1 $f2, 0x003C($sp)
/* 017B0 80A7D5D0 4608003C */ c.lt.s $f0, $f8
/* 017B4 80A7D5D4 00000000 */ nop
/* 017B8 80A7D5D8 45000019 */ bc1f .L80A7D640
/* 017BC 80A7D5DC 00000000 */ nop
/* 017C0 80A7D5E0 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 017C4 80A7D5E4 E7A2003C */ swc1 $f2, 0x003C($sp)
/* 017C8 80A7D5E8 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000
/* 017CC 80A7D5EC 44815000 */ mtc1 $at, $f10 ## $f10 = 0.50
/* 017D0 80A7D5F0 C7A2003C */ lwc1 $f2, 0x003C($sp)
/* 017D4 80A7D5F4 8E090320 */ lw $t1, 0x0320($s0) ## 00000320
/* 017D8 80A7D5F8 460A0401 */ sub.s $f16, $f0, $f10
/* 017DC 80A7D5FC 8E0A0320 */ lw $t2, 0x0320($s0) ## 00000320
/* 017E0 80A7D600 C5240024 */ lwc1 $f4, 0x0024($t1) ## 00000024
/* 017E4 80A7D604 46028482 */ mul.s $f18, $f16, $f2
/* 017E8 80A7D608 46049180 */ add.s $f6, $f18, $f4
/* 017EC 80A7D60C E6060008 */ swc1 $f6, 0x0008($s0) ## 00000008
/* 017F0 80A7D610 C5480028 */ lwc1 $f8, 0x0028($t2) ## 00000028
/* 017F4 80A7D614 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 017F8 80A7D618 E608000C */ swc1 $f8, 0x000C($s0) ## 0000000C
/* 017FC 80A7D61C 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000
/* 01800 80A7D620 44815000 */ mtc1 $at, $f10 ## $f10 = 0.50
/* 01804 80A7D624 C7A2003C */ lwc1 $f2, 0x003C($sp)
/* 01808 80A7D628 8E0B0320 */ lw $t3, 0x0320($s0) ## 00000320
/* 0180C 80A7D62C 460A0401 */ sub.s $f16, $f0, $f10
/* 01810 80A7D630 C564002C */ lwc1 $f4, 0x002C($t3) ## 0000002C
/* 01814 80A7D634 46028482 */ mul.s $f18, $f16, $f2
/* 01818 80A7D638 46049180 */ add.s $f6, $f18, $f4
/* 0181C 80A7D63C E6060010 */ swc1 $f6, 0x0010($s0) ## 00000010
.L80A7D640:
/* 01820 80A7D640 3C0280A8 */ lui $v0, %hi(D_80A7DEB0) ## $v0 = 80A80000
/* 01824 80A7D644 2442DEB0 */ addiu $v0, $v0, %lo(D_80A7DEB0) ## $v0 = 80A7DEB0
/* 01828 80A7D648 3C0180A8 */ lui $at, %hi(D_80A7E078) ## $at = 80A80000
/* 0182C 80A7D64C C428E078 */ lwc1 $f8, %lo(D_80A7E078)($at)
/* 01830 80A7D650 C44A0000 */ lwc1 $f10, 0x0000($v0) ## 80A7DEB0
/* 01834 80A7D654 460A403C */ c.lt.s $f8, $f10
/* 01838 80A7D658 00000000 */ nop
/* 0183C 80A7D65C 4500000B */ bc1f .L80A7D68C
/* 01840 80A7D660 26040024 */ addiu $a0, $s0, 0x0024 ## $a0 = 00000024
/* 01844 80A7D664 0C01E01A */ jal Math_Vec3f_Yaw
/* 01848 80A7D668 26050008 */ addiu $a1, $s0, 0x0008 ## $a1 = 00000008
/* 0184C 80A7D66C 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 01850 80A7D670 A6020328 */ sh $v0, 0x0328($s0) ## 00000328
/* 01854 80A7D674 3C0180A8 */ lui $at, %hi(D_80A7E07C) ## $at = 80A80000
/* 01858 80A7D678 C422E07C */ lwc1 $f2, %lo(D_80A7E07C)($at)
/* 0185C 80A7D67C 46020402 */ mul.s $f16, $f0, $f2
/* 01860 80A7D680 46028480 */ add.s $f18, $f16, $f2
/* 01864 80A7D684 10000048 */ beq $zero, $zero, .L80A7D7A8
/* 01868 80A7D688 E6120324 */ swc1 $f18, 0x0324($s0) ## 00000324
.L80A7D68C:
/* 0186C 80A7D68C 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 01870 80A7D690 00000000 */ nop
/* 01874 80A7D694 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 01878 80A7D698 44816000 */ mtc1 $at, $f12 ## $f12 = 1.00
/* 0187C 80A7D69C 3C0180A8 */ lui $at, %hi(D_80A7E080) ## $at = 80A80000
/* 01880 80A7D6A0 C424E080 */ lwc1 $f4, %lo(D_80A7E080)($at)
/* 01884 80A7D6A4 260C0024 */ addiu $t4, $s0, 0x0024 ## $t4 = 00000024
/* 01888 80A7D6A8 4604003C */ c.lt.s $f0, $f4
/* 0188C 80A7D6AC 00000000 */ nop
/* 01890 80A7D6B0 4500003D */ bc1f .L80A7D7A8
/* 01894 80A7D6B4 00000000 */ nop
/* 01898 80A7D6B8 AFAC002C */ sw $t4, 0x002C($sp)
/* 0189C 80A7D6BC C6060324 */ lwc1 $f6, 0x0324($s0) ## 00000324
/* 018A0 80A7D6C0 3C0180A8 */ lui $at, %hi(D_80A7E084) ## $at = 80A80000
/* 018A4 80A7D6C4 4606603C */ c.lt.s $f12, $f6
/* 018A8 80A7D6C8 00000000 */ nop
/* 018AC 80A7D6CC 45000004 */ bc1f .L80A7D6E0
/* 018B0 80A7D6D0 00000000 */ nop
/* 018B4 80A7D6D4 C428E084 */ lwc1 $f8, %lo(D_80A7E084)($at)
/* 018B8 80A7D6D8 1000000A */ beq $zero, $zero, .L80A7D704
/* 018BC 80A7D6DC E6080324 */ swc1 $f8, 0x0324($s0) ## 00000324
.L80A7D6E0:
/* 018C0 80A7D6E0 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 018C4 80A7D6E4 00000000 */ nop
/* 018C8 80A7D6E8 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 018CC 80A7D6EC 44816000 */ mtc1 $at, $f12 ## $f12 = 1.00
/* 018D0 80A7D6F0 3C0180A8 */ lui $at, %hi(D_80A7E088) ## $at = 80A80000
/* 018D4 80A7D6F4 C42AE088 */ lwc1 $f10, %lo(D_80A7E088)($at)
/* 018D8 80A7D6F8 460A0402 */ mul.s $f16, $f0, $f10
/* 018DC 80A7D6FC 460C8480 */ add.s $f18, $f16, $f12
/* 018E0 80A7D700 E6120324 */ swc1 $f18, 0x0324($s0) ## 00000324
.L80A7D704:
/* 018E4 80A7D704 3C0180A8 */ lui $at, %hi(D_80A7E08C) ## $at = 80A80000
/* 018E8 80A7D708 C424E08C */ lwc1 $f4, %lo(D_80A7E08C)($at)
/* 018EC 80A7D70C 3C0180A8 */ lui $at, %hi(D_80A7DEB0) ## $at = 80A80000
/* 018F0 80A7D710 C426DEB0 */ lwc1 $f6, %lo(D_80A7DEB0)($at)
/* 018F4 80A7D714 44804000 */ mtc1 $zero, $f8 ## $f8 = 0.00
/* 018F8 80A7D718 46062081 */ sub.s $f2, $f4, $f6
/* 018FC 80A7D71C 4608103C */ c.lt.s $f2, $f8
/* 01900 80A7D720 00000000 */ nop
/* 01904 80A7D724 45020005 */ bc1fl .L80A7D73C
/* 01908 80A7D728 4602603C */ c.lt.s $f12, $f2
/* 0190C 80A7D72C 44801000 */ mtc1 $zero, $f2 ## $f2 = 0.00
/* 01910 80A7D730 10000009 */ beq $zero, $zero, .L80A7D758
/* 01914 80A7D734 00000000 */ nop
/* 01918 80A7D738 4602603C */ c.lt.s $f12, $f2
.L80A7D73C:
/* 0191C 80A7D73C 00000000 */ nop
/* 01920 80A7D740 45020004 */ bc1fl .L80A7D754
/* 01924 80A7D744 46001006 */ mov.s $f0, $f2
/* 01928 80A7D748 10000002 */ beq $zero, $zero, .L80A7D754
/* 0192C 80A7D74C 46006006 */ mov.s $f0, $f12
/* 01930 80A7D750 46001006 */ mov.s $f0, $f2
.L80A7D754:
/* 01934 80A7D754 46000086 */ mov.s $f2, $f0
.L80A7D758:
/* 01938 80A7D758 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 0193C 80A7D75C E7A20034 */ swc1 $f2, 0x0034($sp)
/* 01940 80A7D760 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000
/* 01944 80A7D764 44815000 */ mtc1 $at, $f10 ## $f10 = 0.50
/* 01948 80A7D768 3C0180A8 */ lui $at, %hi(D_80A7E090) ## $at = 80A80000
/* 0194C 80A7D76C C432E090 */ lwc1 $f18, %lo(D_80A7E090)($at)
/* 01950 80A7D770 460A0401 */ sub.s $f16, $f0, $f10
/* 01954 80A7D774 C7A20034 */ lwc1 $f2, 0x0034($sp)
/* 01958 80A7D778 8FA4002C */ lw $a0, 0x002C($sp)
/* 0195C 80A7D77C 26050008 */ addiu $a1, $s0, 0x0008 ## $a1 = 00000008
/* 01960 80A7D780 46128102 */ mul.s $f4, $f16, $f18
/* 01964 80A7D784 00000000 */ nop
/* 01968 80A7D788 46022182 */ mul.s $f6, $f4, $f2
/* 0196C 80A7D78C 4600320D */ trunc.w.s $f8, $f6
/* 01970 80A7D790 440E4000 */ mfc1 $t6, $f8
/* 01974 80A7D794 0C01E01A */ jal Math_Vec3f_Yaw
/* 01978 80A7D798 A7AE0038 */ sh $t6, 0x0038($sp)
/* 0197C 80A7D79C 87AF0038 */ lh $t7, 0x0038($sp)
/* 01980 80A7D7A0 004FC021 */ addu $t8, $v0, $t7
/* 01984 80A7D7A4 A6180328 */ sh $t8, 0x0328($s0) ## 00000328
.L80A7D7A8:
/* 01988 80A7D7A8 3C0180A8 */ lui $at, %hi(D_80A7E094) ## $at = 80A80000
/* 0198C 80A7D7AC C42CE094 */ lwc1 $f12, %lo(D_80A7E094)($at)
/* 01990 80A7D7B0 3C0180A8 */ lui $at, %hi(D_80A7E098) ## $at = 80A80000
/* 01994 80A7D7B4 C430E098 */ lwc1 $f16, %lo(D_80A7E098)($at)
/* 01998 80A7D7B8 C60A0050 */ lwc1 $f10, 0x0050($s0) ## 00000050
/* 0199C 80A7D7BC 46105080 */ add.s $f2, $f10, $f16
/* 019A0 80A7D7C0 4602603C */ c.lt.s $f12, $f2
/* 019A4 80A7D7C4 00000000 */ nop
/* 019A8 80A7D7C8 45020004 */ bc1fl .L80A7D7DC
/* 019AC 80A7D7CC 46001006 */ mov.s $f0, $f2
/* 019B0 80A7D7D0 10000002 */ beq $zero, $zero, .L80A7D7DC
/* 019B4 80A7D7D4 46006006 */ mov.s $f0, $f12
/* 019B8 80A7D7D8 46001006 */ mov.s $f0, $f2
.L80A7D7DC:
/* 019BC 80A7D7DC 44050000 */ mfc1 $a1, $f0
/* 019C0 80A7D7E0 0C00B58B */ jal Actor_SetScale
/* 019C4 80A7D7E4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 019C8 80A7D7E8 96190088 */ lhu $t9, 0x0088($s0) ## 00000088
/* 019CC 80A7D7EC 26040068 */ addiu $a0, $s0, 0x0068 ## $a0 = 00000068
/* 019D0 80A7D7F0 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
/* 019D4 80A7D7F4 33280001 */ andi $t0, $t9, 0x0001 ## $t0 = 00000000
/* 019D8 80A7D7F8 11000017 */ beq $t0, $zero, .L80A7D858
/* 019DC 80A7D7FC 3C063DCC */ lui $a2, 0x3DCC ## $a2 = 3DCC0000
/* 019E0 80A7D800 44809000 */ mtc1 $zero, $f18 ## $f18 = 0.00
/* 019E4 80A7D804 8E050324 */ lw $a1, 0x0324($s0) ## 00000324
/* 019E8 80A7D808 3C063DCC */ lui $a2, 0x3DCC ## $a2 = 3DCC0000
/* 019EC 80A7D80C 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3DCCCCCD
/* 019F0 80A7D810 26040068 */ addiu $a0, $s0, 0x0068 ## $a0 = 00000068
/* 019F4 80A7D814 3C073F00 */ lui $a3, 0x3F00 ## $a3 = 3F000000
/* 019F8 80A7D818 0C01E0C4 */ jal Math_SmoothScaleMaxMinF
/* 019FC 80A7D81C E7B20010 */ swc1 $f18, 0x0010($sp)
/* 01A00 80A7D820 26040032 */ addiu $a0, $s0, 0x0032 ## $a0 = 00000032
/* 01A04 80A7D824 86050328 */ lh $a1, 0x0328($s0) ## 00000328
/* 01A08 80A7D828 0C01DE2B */ jal Math_ApproxUpdateScaledS
/* 01A0C 80A7D82C 240607D0 */ addiu $a2, $zero, 0x07D0 ## $a2 = 000007D0
/* 01A10 80A7D830 26040030 */ addiu $a0, $s0, 0x0030 ## $a0 = 00000030
/* 01A14 80A7D834 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 01A18 80A7D838 0C01DE2B */ jal Math_ApproxUpdateScaledS
/* 01A1C 80A7D83C 240607D0 */ addiu $a2, $zero, 0x07D0 ## $a2 = 000007D0
/* 01A20 80A7D840 AFA20050 */ sw $v0, 0x0050($sp)
/* 01A24 80A7D844 86090032 */ lh $t1, 0x0032($s0) ## 00000032
/* 01A28 80A7D848 860A0030 */ lh $t2, 0x0030($s0) ## 00000030
/* 01A2C 80A7D84C A60900B6 */ sh $t1, 0x00B6($s0) ## 000000B6
/* 01A30 80A7D850 10000021 */ beq $zero, $zero, .L80A7D8D8
/* 01A34 80A7D854 A60A00B4 */ sh $t2, 0x00B4($s0) ## 000000B4
.L80A7D858:
/* 01A38 80A7D858 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
/* 01A3C 80A7D85C 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 0000CCCD
/* 01A40 80A7D860 3C073F00 */ lui $a3, 0x3F00 ## $a3 = 3F000000
/* 01A44 80A7D864 0C01E0C4 */ jal Math_SmoothScaleMaxMinF
/* 01A48 80A7D868 E7A40010 */ swc1 $f4, 0x0010($sp)
/* 01A4C 80A7D86C 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 01A50 80A7D870 00000000 */ nop
/* 01A54 80A7D874 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000
/* 01A58 80A7D878 44813000 */ mtc1 $at, $f6 ## $f6 = 0.50
/* 01A5C 80A7D87C 3C0180A8 */ lui $at, %hi(D_80A7E09C) ## $at = 80A80000
/* 01A60 80A7D880 C42AE09C */ lwc1 $f10, %lo(D_80A7E09C)($at)
/* 01A64 80A7D884 46060201 */ sub.s $f8, $f0, $f6
/* 01A68 80A7D888 C6120068 */ lwc1 $f18, 0x0068($s0) ## 00000068
/* 01A6C 80A7D88C 460A4402 */ mul.s $f16, $f8, $f10
/* 01A70 80A7D890 46109100 */ add.s $f4, $f18, $f16
/* 01A74 80A7D894 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 01A78 80A7D898 E6040068 */ swc1 $f4, 0x0068($s0) ## 00000068
/* 01A7C 80A7D89C 3C0180A8 */ lui $at, %hi(D_80A7E0A0) ## $at = 80A80000
/* 01A80 80A7D8A0 C428E0A0 */ lwc1 $f8, %lo(D_80A7E0A0)($at)
/* 01A84 80A7D8A4 860B0032 */ lh $t3, 0x0032($s0) ## 00000032
/* 01A88 80A7D8A8 860C0316 */ lh $t4, 0x0316($s0) ## 00000316
/* 01A8C 80A7D8AC 46080282 */ mul.s $f10, $f0, $f8
/* 01A90 80A7D8B0 C6060060 */ lwc1 $f6, 0x0060($s0) ## 00000060
/* 01A94 80A7D8B4 016C6821 */ addu $t5, $t3, $t4
/* 01A98 80A7D8B8 860F00B4 */ lh $t7, 0x00B4($s0) ## 000000B4
/* 01A9C 80A7D8BC A60D0032 */ sh $t5, 0x0032($s0) ## 00000032
/* 01AA0 80A7D8C0 860E0032 */ lh $t6, 0x0032($s0) ## 00000032
/* 01AA4 80A7D8C4 25F8F830 */ addiu $t8, $t7, 0xF830 ## $t8 = FFFFF830
/* 01AA8 80A7D8C8 460A3480 */ add.s $f18, $f6, $f10
/* 01AAC 80A7D8CC A61800B4 */ sh $t8, 0x00B4($s0) ## 000000B4
/* 01AB0 80A7D8D0 A60E00B6 */ sh $t6, 0x00B6($s0) ## 000000B6
/* 01AB4 80A7D8D4 E6120060 */ swc1 $f18, 0x0060($s0) ## 00000060
.L80A7D8D8:
/* 01AB8 80A7D8D8 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 01ABC 80A7D8DC 00000000 */ nop
/* 01AC0 80A7D8E0 3C0180A8 */ lui $at, %hi(D_80A7E0A4) ## $at = 80A80000
/* 01AC4 80A7D8E4 C424E0A4 */ lwc1 $f4, %lo(D_80A7E0A4)($at)
/* 01AC8 80A7D8E8 C6100068 */ lwc1 $f16, 0x0068($s0) ## 00000068
/* 01ACC 80A7D8EC 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000
/* 01AD0 80A7D8F0 44813000 */ mtc1 $at, $f6 ## $f6 = 0.50
/* 01AD4 80A7D8F4 46048202 */ mul.s $f8, $f16, $f4
/* 01AD8 80A7D8F8 44806000 */ mtc1 $zero, $f12 ## $f12 = 0.00
/* 01ADC 80A7D8FC 3C0180A8 */ lui $at, %hi(D_80A7E0A8) ## $at = 80A80000
/* 01AE0 80A7D900 46060282 */ mul.s $f10, $f0, $f6
/* 01AE4 80A7D904 46085080 */ add.s $f2, $f10, $f8
/* 01AE8 80A7D908 460C103C */ c.lt.s $f2, $f12
/* 01AEC 80A7D90C 00000000 */ nop
/* 01AF0 80A7D910 45000003 */ bc1f .L80A7D920
/* 01AF4 80A7D914 00000000 */ nop
/* 01AF8 80A7D918 1000000A */ beq $zero, $zero, .L80A7D944
/* 01AFC 80A7D91C E60C01C8 */ swc1 $f12, 0x01C8($s0) ## 000001C8
.L80A7D920:
/* 01B00 80A7D920 C42CE0A8 */ lwc1 $f12, %lo(D_80A7E0A8)($at)
/* 01B04 80A7D924 4602603C */ c.lt.s $f12, $f2
/* 01B08 80A7D928 00000000 */ nop
/* 01B0C 80A7D92C 45020004 */ bc1fl .L80A7D940
/* 01B10 80A7D930 46001006 */ mov.s $f0, $f2
/* 01B14 80A7D934 10000002 */ beq $zero, $zero, .L80A7D940
/* 01B18 80A7D938 46006006 */ mov.s $f0, $f12
/* 01B1C 80A7D93C 46001006 */ mov.s $f0, $f2
.L80A7D940:
/* 01B20 80A7D940 E60001C8 */ swc1 $f0, 0x01C8($s0) ## 000001C8
.L80A7D944:
/* 01B24 80A7D944 0C02927F */ jal SkelAnime_FrameUpdateMatrix
/* 01B28 80A7D948 260401AC */ addiu $a0, $s0, 0x01AC ## $a0 = 000001AC
/* 01B2C 80A7D94C 96060314 */ lhu $a2, 0x0314($s0) ## 00000314
/* 01B30 80A7D950 30D90040 */ andi $t9, $a2, 0x0040 ## $t9 = 00000000
/* 01B34 80A7D954 1720000E */ bne $t9, $zero, .L80A7D990
/* 01B38 80A7D958 30C80001 */ andi $t0, $a2, 0x0001 ## $t0 = 00000000
/* 01B3C 80A7D95C 5100000D */ beql $t0, $zero, .L80A7D994
/* 01B40 80A7D960 87AD003A */ lh $t5, 0x003A($sp)
/* 01B44 80A7D964 96090088 */ lhu $t1, 0x0088($s0) ## 00000088
/* 01B48 80A7D968 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01B4C 80A7D96C 312A0001 */ andi $t2, $t1, 0x0001 ## $t2 = 00000000
/* 01B50 80A7D970 51400008 */ beql $t2, $zero, .L80A7D994
/* 01B54 80A7D974 87AD003A */ lh $t5, 0x003A($sp)
/* 01B58 80A7D978 0C00BE0A */ jal Audio_PlayActorSound2
/* 01B5C 80A7D97C 240539A0 */ addiu $a1, $zero, 0x39A0 ## $a1 = 000039A0
/* 01B60 80A7D980 960B0314 */ lhu $t3, 0x0314($s0) ## 00000314
/* 01B64 80A7D984 356C0040 */ ori $t4, $t3, 0x0040 ## $t4 = 00000040
/* 01B68 80A7D988 A60C0314 */ sh $t4, 0x0314($s0) ## 00000314
/* 01B6C 80A7D98C 3186FFFF */ andi $a2, $t4, 0xFFFF ## $a2 = 00000040
.L80A7D990:
/* 01B70 80A7D990 87AD003A */ lh $t5, 0x003A($sp)
.L80A7D994:
/* 01B74 80A7D994 24070002 */ addiu $a3, $zero, 0x0002 ## $a3 = 00000002
/* 01B78 80A7D998 30CE0010 */ andi $t6, $a2, 0x0010 ## $t6 = 00000000
/* 01B7C 80A7D99C 55A7002E */ bnel $t5, $a3, .L80A7DA58
/* 01B80 80A7D9A0 30C20001 */ andi $v0, $a2, 0x0001 ## $v0 = 00000000
/* 01B84 80A7D9A4 11C0002B */ beq $t6, $zero, .L80A7DA54
/* 01B88 80A7D9A8 30CF0080 */ andi $t7, $a2, 0x0080 ## $t7 = 00000000
/* 01B8C 80A7D9AC 55E0002A */ bnel $t7, $zero, .L80A7DA58
/* 01B90 80A7D9B0 30C20001 */ andi $v0, $a2, 0x0001 ## $v0 = 00000000
/* 01B94 80A7D9B4 9202032A */ lbu $v0, 0x032A($s0) ## 0000032A
/* 01B98 80A7D9B8 2841000F */ slti $at, $v0, 0x000F
/* 01B9C 80A7D9BC 14200023 */ bne $at, $zero, .L80A7DA4C
/* 01BA0 80A7D9C0 24580001 */ addiu $t8, $v0, 0x0001 ## $t8 = 00000001
/* 01BA4 80A7D9C4 8E020320 */ lw $v0, 0x0320($s0) ## 00000320
/* 01BA8 80A7D9C8 3C088016 */ lui $t0, %hi(gSaveContext+0xe9c)
/* 01BAC 80A7D9CC 5040001C */ beql $v0, $zero, .L80A7DA40
/* 01BB0 80A7D9D0 34CF0080 */ ori $t7, $a2, 0x0080 ## $t7 = 000000C0
/* 01BB4 80A7D9D4 8443001C */ lh $v1, 0x001C($v0) ## 0000001C
/* 01BB8 80A7D9D8 3C098012 */ lui $t1, %hi(D_8012723C)
/* 01BBC 80A7D9DC 3C0B8012 */ lui $t3, %hi(D_8012724C)
/* 01BC0 80A7D9E0 00032203 */ sra $a0, $v1, 8
/* 01BC4 80A7D9E4 3084001F */ andi $a0, $a0, 0x001F ## $a0 = 00000000
/* 01BC8 80A7D9E8 2484FFFF */ addiu $a0, $a0, 0xFFFF ## $a0 = FFFFFFFF
/* 01BCC 80A7D9EC 30850003 */ andi $a1, $a0, 0x0003 ## $a1 = 00000003
/* 01BD0 80A7D9F0 0004C083 */ sra $t8, $a0, 2
/* 01BD4 80A7D9F4 0018C880 */ sll $t9, $t8, 2
/* 01BD8 80A7D9F8 00052880 */ sll $a1, $a1, 2
/* 01BDC 80A7D9FC 01254821 */ addu $t1, $t1, $a1
/* 01BE0 80A7DA00 01194021 */ addu $t0, $t0, $t9
/* 01BE4 80A7DA04 8D08F4FC */ lw $t0, %lo(gSaveContext+0xe9c)($t0)
/* 01BE8 80A7DA08 8D29723C */ lw $t1, %lo(D_8012723C)($t1)
/* 01BEC 80A7DA0C 01655821 */ addu $t3, $t3, $a1
/* 01BF0 80A7DA10 8D6B724C */ lw $t3, %lo(D_8012724C)($t3)
/* 01BF4 80A7DA14 01095024 */ and $t2, $t0, $t1
/* 01BF8 80A7DA18 306D00FF */ andi $t5, $v1, 0x00FF ## $t5 = 00000000
/* 01BFC 80A7DA1C 016A6006 */ srlv $t4, $t2, $t3
/* 01C00 80A7DA20 018D7024 */ and $t6, $t4, $t5
/* 01C04 80A7DA24 55C00006 */ bnel $t6, $zero, .L80A7DA40
/* 01C08 80A7DA28 34CF0080 */ ori $t7, $a2, 0x0080 ## $t7 = 000000C0
/* 01C0C 80A7DA2C 0C01E221 */ jal func_80078884
/* 01C10 80A7DA30 24044807 */ addiu $a0, $zero, 0x4807 ## $a0 = 00004807
/* 01C14 80A7DA34 24070002 */ addiu $a3, $zero, 0x0002 ## $a3 = 00000002
/* 01C18 80A7DA38 96060314 */ lhu $a2, 0x0314($s0) ## 00000314
/* 01C1C 80A7DA3C 34CF0080 */ ori $t7, $a2, 0x0080 ## $t7 = 00000080
.L80A7DA40:
/* 01C20 80A7DA40 A60F0314 */ sh $t7, 0x0314($s0) ## 00000314
/* 01C24 80A7DA44 10000003 */ beq $zero, $zero, .L80A7DA54
/* 01C28 80A7DA48 31E6FFFF */ andi $a2, $t7, 0xFFFF ## $a2 = 00000080
.L80A7DA4C:
/* 01C2C 80A7DA4C A218032A */ sb $t8, 0x032A($s0) ## 0000032A
/* 01C30 80A7DA50 96060314 */ lhu $a2, 0x0314($s0) ## 00000314
.L80A7DA54:
/* 01C34 80A7DA54 30C20001 */ andi $v0, $a2, 0x0001 ## $v0 = 00000000
.L80A7DA58:
/* 01C38 80A7DA58 10400009 */ beq $v0, $zero, .L80A7DA80
/* 01C3C 80A7DA5C 30C90010 */ andi $t1, $a2, 0x0010 ## $t1 = 00000000
/* 01C40 80A7DA60 96190088 */ lhu $t9, 0x0088($s0) ## 00000088
/* 01C44 80A7DA64 33280040 */ andi $t0, $t9, 0x0040 ## $t0 = 00000000
/* 01C48 80A7DA68 11000005 */ beq $t0, $zero, .L80A7DA80
/* 01C4C 80A7DA6C 00000000 */ nop
/* 01C50 80A7DA70 0C29F398 */ jal func_80A7CE60
/* 01C54 80A7DA74 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01C58 80A7DA78 1000005D */ beq $zero, $zero, .L80A7DBF0
/* 01C5C 80A7DA7C 8FBF0024 */ lw $ra, 0x0024($sp)
.L80A7DA80:
/* 01C60 80A7DA80 11200033 */ beq $t1, $zero, .L80A7DB50
/* 01C64 80A7DA84 8FA80050 */ lw $t0, 0x0050($sp)
/* 01C68 80A7DA88 3C014110 */ lui $at, 0x4110 ## $at = 41100000
/* 01C6C 80A7DA8C 44818000 */ mtc1 $at, $f16 ## $f16 = 9.00
/* 01C70 80A7DA90 C7B20040 */ lwc1 $f18, 0x0040($sp)
/* 01C74 80A7DA94 4610903C */ c.lt.s $f18, $f16
/* 01C78 80A7DA98 00000000 */ nop
/* 01C7C 80A7DA9C 45020006 */ bc1fl .L80A7DAB8
/* 01C80 80A7DAA0 860A031A */ lh $t2, 0x031A($s0) ## 0000031A
/* 01C84 80A7DAA4 0C29F2F2 */ jal func_80A7CBC8
/* 01C88 80A7DAA8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01C8C 80A7DAAC 10000050 */ beq $zero, $zero, .L80A7DBF0
/* 01C90 80A7DAB0 8FBF0024 */ lw $ra, 0x0024($sp)
/* 01C94 80A7DAB4 860A031A */ lh $t2, 0x031A($s0) ## 0000031A
.L80A7DAB8:
/* 01C98 80A7DAB8 19400014 */ blez $t2, .L80A7DB0C
/* 01C9C 80A7DABC 00000000 */ nop
/* 01CA0 80A7DAC0 8603031C */ lh $v1, 0x031C($s0) ## 0000031C
/* 01CA4 80A7DAC4 18600011 */ blez $v1, .L80A7DB0C
/* 01CA8 80A7DAC8 00000000 */ nop
/* 01CAC 80A7DACC 10400013 */ beq $v0, $zero, .L80A7DB1C
/* 01CB0 80A7DAD0 C7A40040 */ lwc1 $f4, 0x0040($sp)
/* 01CB4 80A7DAD4 960B0088 */ lhu $t3, 0x0088($s0) ## 00000088
/* 01CB8 80A7DAD8 3C0D80A8 */ lui $t5, %hi(D_80A7DEB8) ## $t5 = 80A80000
/* 01CBC 80A7DADC 316C0001 */ andi $t4, $t3, 0x0001 ## $t4 = 00000000
/* 01CC0 80A7DAE0 5180000F */ beql $t4, $zero, .L80A7DB20
/* 01CC4 80A7DAE4 3C014461 */ lui $at, 0x4461 ## $at = 44610000
/* 01CC8 80A7DAE8 85ADDEB8 */ lh $t5, %lo(D_80A7DEB8)($t5)
/* 01CCC 80A7DAEC 87AE003A */ lh $t6, 0x003A($sp)
/* 01CD0 80A7DAF0 29A10004 */ slti $at, $t5, 0x0004
/* 01CD4 80A7DAF4 5420000A */ bnel $at, $zero, .L80A7DB20
/* 01CD8 80A7DAF8 3C014461 */ lui $at, 0x4461 ## $at = 44610000
/* 01CDC 80A7DAFC 11C70003 */ beq $t6, $a3, .L80A7DB0C
/* 01CE0 80A7DB00 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
/* 01CE4 80A7DB04 55C10006 */ bnel $t6, $at, .L80A7DB20
/* 01CE8 80A7DB08 3C014461 */ lui $at, 0x4461 ## $at = 44610000
.L80A7DB0C:
/* 01CEC 80A7DB0C 0C29F2F2 */ jal func_80A7CBC8
/* 01CF0 80A7DB10 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01CF4 80A7DB14 10000036 */ beq $zero, $zero, .L80A7DBF0
/* 01CF8 80A7DB18 8FBF0024 */ lw $ra, 0x0024($sp)
.L80A7DB1C:
/* 01CFC 80A7DB1C 3C014461 */ lui $at, 0x4461 ## $at = 44610000
.L80A7DB20:
/* 01D00 80A7DB20 44813000 */ mtc1 $at, $f6 ## $f6 = 900.00
/* 01D04 80A7DB24 246F0001 */ addiu $t7, $v1, 0x0001 ## $t7 = 00000001
/* 01D08 80A7DB28 34D80020 */ ori $t8, $a2, 0x0020 ## $t8 = 00000020
/* 01D0C 80A7DB2C 4606203C */ c.lt.s $f4, $f6
/* 01D10 80A7DB30 24190064 */ addiu $t9, $zero, 0x0064 ## $t9 = 00000064
/* 01D14 80A7DB34 45000004 */ bc1f .L80A7DB48
/* 01D18 80A7DB38 00000000 */ nop
/* 01D1C 80A7DB3C A60F031C */ sh $t7, 0x031C($s0) ## 0000031C
/* 01D20 80A7DB40 1000002A */ beq $zero, $zero, .L80A7DBEC
/* 01D24 80A7DB44 A6180314 */ sh $t8, 0x0314($s0) ## 00000314
.L80A7DB48:
/* 01D28 80A7DB48 10000028 */ beq $zero, $zero, .L80A7DBEC
/* 01D2C 80A7DB4C A619031A */ sh $t9, 0x031A($s0) ## 0000031A
.L80A7DB50:
/* 01D30 80A7DB50 11000005 */ beq $t0, $zero, .L80A7DB68
/* 01D34 80A7DB54 87A9003A */ lh $t1, 0x003A($sp)
/* 01D38 80A7DB58 0C29F0E8 */ jal func_80A7C3A0
/* 01D3C 80A7DB5C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01D40 80A7DB60 10000023 */ beq $zero, $zero, .L80A7DBF0
/* 01D44 80A7DB64 8FBF0024 */ lw $ra, 0x0024($sp)
.L80A7DB68:
/* 01D48 80A7DB68 11270003 */ beq $t1, $a3, .L80A7DB78
/* 01D4C 80A7DB6C 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
/* 01D50 80A7DB70 5521001F */ bnel $t1, $at, .L80A7DBF0
/* 01D54 80A7DB74 8FBF0024 */ lw $ra, 0x0024($sp)
.L80A7DB78:
/* 01D58 80A7DB78 5040001D */ beql $v0, $zero, .L80A7DBF0
/* 01D5C 80A7DB7C 8FBF0024 */ lw $ra, 0x0024($sp)
/* 01D60 80A7DB80 860A031C */ lh $t2, 0x031C($s0) ## 0000031C
/* 01D64 80A7DB84 5D40001A */ bgtzl $t2, .L80A7DBF0
/* 01D68 80A7DB88 8FBF0024 */ lw $ra, 0x0024($sp)
/* 01D6C 80A7DB8C 860B031A */ lh $t3, 0x031A($s0) ## 0000031A
/* 01D70 80A7DB90 3C0180A8 */ lui $at, %hi(D_80A7E0AC) ## $at = 80A80000
/* 01D74 80A7DB94 5D600016 */ bgtzl $t3, .L80A7DBF0
/* 01D78 80A7DB98 8FBF0024 */ lw $ra, 0x0024($sp)
/* 01D7C 80A7DB9C C60A0080 */ lwc1 $f10, 0x0080($s0) ## 00000080
/* 01D80 80A7DBA0 C428E0AC */ lwc1 $f8, %lo(D_80A7E0AC)($at)
/* 01D84 80A7DBA4 3C0480A8 */ lui $a0, %hi(D_80A7DF84) ## $a0 = 80A80000
/* 01D88 80A7DBA8 4608503C */ c.lt.s $f10, $f8
/* 01D8C 80A7DBAC 00000000 */ nop
/* 01D90 80A7DBB0 4502000F */ bc1fl .L80A7DBF0
/* 01D94 80A7DBB4 8FBF0024 */ lw $ra, 0x0024($sp)
/* 01D98 80A7DBB8 0C00084C */ jal osSyncPrintf
/* 01D9C 80A7DBBC 2484DF84 */ addiu $a0, $a0, %lo(D_80A7DF84) ## $a0 = 80A7DF84
/* 01DA0 80A7DBC0 3C0480A8 */ lui $a0, %hi(D_80A7DF90) ## $a0 = 80A80000
/* 01DA4 80A7DBC4 3C0580A8 */ lui $a1, %hi(D_80A7DFB8) ## $a1 = 80A80000
/* 01DA8 80A7DBC8 24A5DFB8 */ addiu $a1, $a1, %lo(D_80A7DFB8) ## $a1 = 80A7DFB8
/* 01DAC 80A7DBCC 2484DF90 */ addiu $a0, $a0, %lo(D_80A7DF90) ## $a0 = 80A7DF90
/* 01DB0 80A7DBD0 0C00084C */ jal osSyncPrintf
/* 01DB4 80A7DBD4 240604AD */ addiu $a2, $zero, 0x04AD ## $a2 = 000004AD
/* 01DB8 80A7DBD8 3C0480A8 */ lui $a0, %hi(D_80A7DFC8) ## $a0 = 80A80000
/* 01DBC 80A7DBDC 0C00084C */ jal osSyncPrintf
/* 01DC0 80A7DBE0 2484DFC8 */ addiu $a0, $a0, %lo(D_80A7DFC8) ## $a0 = 80A7DFC8
/* 01DC4 80A7DBE4 0C00B55C */ jal Actor_Kill
/* 01DC8 80A7DBE8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
.L80A7DBEC:
/* 01DCC 80A7DBEC 8FBF0024 */ lw $ra, 0x0024($sp)
.L80A7DBF0:
/* 01DD0 80A7DBF0 8FB00020 */ lw $s0, 0x0020($sp)
/* 01DD4 80A7DBF4 27BD0058 */ addiu $sp, $sp, 0x0058 ## $sp = 00000000
/* 01DD8 80A7DBF8 03E00008 */ jr $ra
/* 01DDC 80A7DBFC 00000000 */ nop

View file

@ -1,35 +0,0 @@
.include "macro.inc"
# assembler directives
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.set gp=64 # allow use of 64-bit general purpose registers
.section .data
.balign 16
glabel D_80A7DEB0
.word 0x00000000
glabel D_80A7DEB4
.word 0x00000000
glabel D_80A7DEB8
.word 0x00000000
glabel En_Insect_InitVars
.word 0x00200700, 0x00000000, 0x00010000, 0x0000032C
.word EnInsect_Init
.word EnInsect_Destroy
.word EnInsect_Update
.word EnInsect_Draw
glabel D_80A7DEDC
.word 0x00000000, 0x00000000, 0x00000000, 0xFFCFFFFF, 0x00000000, 0x00000100, 0x00000000, 0x00000000, 0x00050064
glabel D_80A7DF00
.word 0x0A000019, 0x10000000, 0x00000001
.word D_80A7DEDC
glabel D_80A7DF10
.word 0x00000005, 0x00070007
glabel D_80A7DF18
.word 0xC850000A, 0xB0F402BC, 0xB0F80014, 0x30FC0258
glabel D_80A7DF28
.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000

View file

@ -461,6 +461,7 @@ extern u32 gUpgradeNegMasks[8];
extern u8 gEquipShifts[4];
extern u8 gUpgradeShifts[8];
extern u16 gUpgradeCapacities[8][4];
extern u32 D_8012723C[4];
extern u32 D_8012724C[4];
extern u32 gItemIcons[0x82];
extern u8 gItemSlots[56];

View file

@ -142,7 +142,7 @@ typedef struct {
/* 0x0E88 */ s32 tempCollectFlags;
} fw;
/* 0x0E8C */ char unk_E8C[0x0010];
/* 0x0E9C */ u32 gsFlags[6];
/* 0x0E9C */ s32 gsFlags[6];
/* 0x0EB4 */ char unk_EB4[0x0010];
/* 0x0EC4 */ s32 unk_EC4;
/* 0x0EC8 */ char unk_EC8[0x000C];

1
spec
View file

@ -2752,7 +2752,6 @@ endseg
beginseg
name "ovl_En_Insect"
include "build/src/overlays/actors/ovl_En_Insect/z_en_insect.o"
include "build/data/overlays/actors/z_en_insect.data.o"
include "build/data/overlays/actors/z_en_insect.reloc.o"
endseg

View file

@ -1,4 +1,5 @@
#include "z_en_insect.h"
#include <vt.h>
#define FLAGS 0x00000000
@ -9,7 +10,29 @@ void EnInsect_Destroy(Actor* thisx, GlobalContext* globalCtx);
void EnInsect_Update(Actor* thisx, GlobalContext* globalCtx);
void EnInsect_Draw(Actor* thisx, GlobalContext* globalCtx);
/*
void func_80A7C3A0(EnInsect* this);
void func_80A7C3F4(EnInsect* this, GlobalContext* globalCtx);
void func_80A7C598(EnInsect* this);
void func_80A7C5EC(EnInsect* this, GlobalContext* globalCtx);
void func_80A7C818(EnInsect* this);
void func_80A7C86C(EnInsect* this, GlobalContext* globalCtx);
void func_80A7CAD0(EnInsect* this, GlobalContext* globalCtx);
void func_80A7CBC8(EnInsect* this);
void func_80A7CC3C(EnInsect* this, GlobalContext* globalCtx);
void func_80A7CE60(EnInsect* this);
void func_80A7CEC0(EnInsect* this, GlobalContext* globalCtx);
void func_80A7D1F4(EnInsect* this);
void func_80A7D26C(EnInsect* this, GlobalContext* globalCtx);
void func_80A7D39C(EnInsect* this);
void func_80A7D460(EnInsect* this, GlobalContext* globalCtx);
extern SkeletonHeader D_04035590;
extern AnimationHeader D_040341FC;
f32 D_80A7DEB0 = 0.0f;
s16 D_80A7DEB4 = 0;
s16 D_80A7DEB8 = 0;
const ActorInit En_Insect_InitVars = {
ACTOR_EN_INSECT,
ACTORTYPE_ITEMACTION,
@ -21,55 +44,749 @@ const ActorInit En_Insect_InitVars = {
(ActorFunc)EnInsect_Update,
(ActorFunc)EnInsect_Draw,
};
static ColliderJntSphItemInit sColliderItemInit[1] = {
{
{ 0x00, { 0x00000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, 0x00, 0x00, 0x01 },
{ 0, { { 0, 0, 0 }, 5 }, 100 },
},
};
static ColliderJntSphInit sColliderInit = {
{ COLTYPE_UNK10, 0x00, 0x00, 0x19, 0x10, COLSHAPE_JNTSPH },
1,
sColliderItemInit,
};
u16 D_80A7DF10[] = { 0, 5, 7, 7 };
static InitChainEntry sInitChain[] = {
ICHAIN_VEC3F_DIV1000(scale, 10, ICHAIN_CONTINUE),
ICHAIN_F32(uncullZoneForward, 700, ICHAIN_CONTINUE),
ICHAIN_F32(uncullZoneScale, 20, ICHAIN_CONTINUE),
ICHAIN_F32(uncullZoneDownward, 600, ICHAIN_STOP),
};
Vec3f D_80A7DF28[2] = { { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f } };
void func_80A7BE20(EnInsect* this) {
this->unk_314 = D_80A7DF10[this->actor.params & 3];
}
f32 EnInsect_XZDistanceSquared(Vec3f* v1, Vec3f* v2) {
return SQ(v1->x - v2->x) + SQ(v1->z - v2->z);
}
s32 func_80A7BE6C(EnInsect* this, GlobalContext* globalCtx) {
u32 pad;
Player* player = PLAYER;
Vec3f pos;
if (this->actor.xzDistFromLink < 32.0f) {
pos.x = Math_Sins(this->actor.yawTowardsLink + 0x8000) * 16.0f + player->actor.posRot.pos.x;
pos.y = player->actor.posRot.pos.y;
pos.z = Math_Coss(this->actor.yawTowardsLink + 0x8000) * 16.0f + player->actor.posRot.pos.z;
if (EnInsect_XZDistanceSquared(&pos, &this->actor.posRot.pos) <= 400.0f) {
return 1;
}
}
return 0;
}
void func_80A7BF58(EnInsect* this) {
SkelAnime_ChangeAnim(&this->skelAnime, &D_040341FC, 1.0f, 0.0f, 0.0f, 1, 0.0f);
}
/**
* Find the nearest soft dirt patch within 6400 units in the xz plane and the current room
*
* @return 1 if one was found, 0 otherwise
*/
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Insect/func_80A7BE20.s")
s32 EnInsect_FoundNearbySoil(EnInsect* this, GlobalContext* globalCtx) {
Actor* currentActor;
f32 currentDistance;
f32 bestDistance;
s32 ret;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Insect/func_80A7BE40.s")
ret = 0;
currentActor = globalCtx->actorCtx.actorList[ACTORTYPE_ITEMACTION].first;
bestDistance = 6400.0f;
this->soilActor = NULL;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Insect/func_80A7BE6C.s")
while (currentActor != NULL) {
if (currentActor->id == ACTOR_OBJ_MAKEKINSUTA) {
currentDistance = func_800CB594(this->actor.posRot.pos.x, this->actor.posRot.pos.z,
currentActor->posRot.pos.x, currentActor->posRot.pos.z);
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Insect/func_80A7BF58.s")
if (currentDistance < bestDistance && currentActor->room == this->actor.room) {
ret = 1;
bestDistance = currentDistance;
this->soilActor = (ObjMakekinsuta*)currentActor;
}
}
currentActor = currentActor->next;
}
return ret;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Insect/func_80A7BFA0.s")
void func_80A7C058(EnInsect* this) {
if (this->unk_31E > 0) {
this->unk_31E -= 1;
return;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Insect/func_80A7C058.s")
Audio_PlayActorSound2(&this->actor, NA_SE_EN_MUSI_WALK);
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Insect/EnInsect_Init.s")
this->unk_31E = 3.0f / CLAMP_MIN(this->skelAnime.animPlaybackSpeed, 0.1f);
if (this->unk_31E < 2) {
this->unk_31E = 2;
}
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Insect/EnInsect_Destroy.s")
void EnInsect_Init(Actor* thisx, GlobalContext* globalCtx) {
EnInsect* this = THIS;
f32 rand;
s16 temp_s2;
s32 count;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Insect/func_80A7C3A0.s")
Actor_ProcessInitChain(&this->actor, sInitChain);
func_80A7BE20(this);
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Insect/func_80A7C3F4.s")
temp_s2 = this->actor.params & 3;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Insect/func_80A7C598.s")
SkelAnime_Init(globalCtx, &this->skelAnime, &D_04035590, &D_040341FC, this->limbDrawTable,
this->transitionDrawTable, 24);
Collider_InitJntSph(globalCtx, &this->collider);
Collider_SetJntSph(globalCtx, &this->collider, &this->actor, &sColliderInit, &this->colliderItem);
this->actor.colChkInfo.mass = 30;
if (this->unk_314 & 1) {
this->actor.gravity = -0.2f;
this->actor.minVelocityY = -2.0f;
}
if (this->unk_314 & 4) {
this->unk_31C = Math_Rand_S16Offset(200, 40);
this->actor.flags |= 0x10;
}
if (temp_s2 == 2 || temp_s2 == 3) {
if (EnInsect_FoundNearbySoil(this, globalCtx)) {
this->unk_314 |= 0x10;
D_80A7DEB0 = 0.0f;
}
if (temp_s2 == 2) {
this->actor.posRot.rot.z = 0;
this->actor.shape.rot.z = this->actor.posRot.rot.z;
for (count = 0; count < 2; count++) {
Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_EN_INSECT, this->actor.posRot.pos.x,
this->actor.posRot.pos.y, this->actor.posRot.pos.z, this->actor.shape.rot.x,
this->actor.shape.rot.y, this->actor.shape.rot.z, 3);
if (globalCtx) {}
}
}
func_80A7D39C(this);
if (1) {}
D_80A7DEB8++;
} else {
rand = Math_Rand_ZeroOne();
if (rand < 0.3f) {
func_80A7C3A0(this);
} else if (rand < 0.4f) {
func_80A7C598(this);
} else {
func_80A7C818(this);
}
}
}
void EnInsect_Destroy(Actor* thisx, GlobalContext* globalCtx) {
s16 temp_v0;
EnInsect* this = THIS;
temp_v0 = this->actor.params & 3;
Collider_DestroyJntSph(globalCtx, &this->collider);
if ((temp_v0 == 2 || temp_v0 == 3) && D_80A7DEB8 > 0) {
D_80A7DEB8--;
}
}
void func_80A7C3A0(EnInsect* this) {
this->unk_31A = Math_Rand_S16Offset(5, 35);
func_80A7BF58(this);
this->actionFunc = func_80A7C3F4;
this->unk_314 |= 0x100;
}
void func_80A7C3F4(EnInsect* this, GlobalContext* globalCtx) {
s32 pad[2];
s16 sp2E;
f32 animPlaybackSpeed;
sp2E = this->actor.params & 3;
Math_SmoothScaleMaxMinF(&this->actor.speedXZ, 0.0f, 0.1f, 0.5f, 0.0f);
animPlaybackSpeed = (Math_Rand_ZeroOne() * 0.8f) + (this->actor.speedXZ * 1.2f);
this->skelAnime.animPlaybackSpeed = CLAMP(animPlaybackSpeed, 0.0f, 1.9f);
SkelAnime_FrameUpdateMatrix(&this->skelAnime);
this->actor.shape.rot.y = this->actor.posRot.rot.y;
if (this->unk_31A <= 0) {
func_80A7C598(this);
}
if (((this->unk_314 & 4) && this->unk_31C <= 0) ||
((sp2E == 2 || sp2E == 3) && (this->unk_314 & 1) && (this->actor.bgCheckFlags & 1) && D_80A7DEB8 >= 4)) {
func_80A7CBC8(this);
} else if ((this->unk_314 & 1) && (this->actor.bgCheckFlags & 0x40)) {
func_80A7CE60(this);
} else if (this->actor.xzDistFromLink < 40.0f) {
func_80A7C818(this);
}
}
void func_80A7C598(EnInsect* this) {
this->unk_31A = Math_Rand_S16Offset(10, 45);
func_80A7BF58(this);
this->actionFunc = func_80A7C5EC;
this->unk_314 |= 0x100;
}
#ifdef NON_MATCHING
// a stack offset is wrong
void func_80A7C5EC(EnInsect* this, GlobalContext* globalCtx) {
s32 pad[2];
s16 sp34 = this->actor.params & 3;
Math_SmoothScaleMaxMinF(&this->actor.speedXZ, 1.5f, 0.1f, 0.5f, 0.0f);
if (EnInsect_XZDistanceSquared(&this->actor.posRot.pos, &this->actor.initPosRot.pos) > 1600.0f ||
(this->unk_31A < 4)) {
Math_ApproxUpdateScaledS(&this->actor.posRot.rot.y,
Math_Vec3f_Yaw(&this->actor.posRot.pos, &this->actor.initPosRot.pos), 2000);
} else if (this->actor.attachedB != NULL && &this->actor != this->actor.attachedB) {
Math_ApproxUpdateScaledS(&this->actor.posRot.rot.y,
Math_Vec3f_Yaw(&this->actor.posRot.pos, &this->actor.attachedB->posRot.pos), 2000);
}
this->actor.shape.rot.y = this->actor.posRot.rot.y;
this->skelAnime.animPlaybackSpeed = CLAMP(this->actor.speedXZ * 1.4f, 0.7f, 1.9f);
SkelAnime_FrameUpdateMatrix(&this->skelAnime);
if (this->unk_31A <= 0) {
func_80A7C3A0(this);
}
if (((this->unk_314 & 4) && this->unk_31C <= 0) ||
((sp34 == 2 || sp34 == 3) && (this->unk_314 & 1) && (this->actor.bgCheckFlags & 1) && D_80A7DEB8 >= 4)) {
func_80A7CBC8(this);
} else if ((this->unk_314 & 1) && (this->actor.bgCheckFlags & 0x40)) {
func_80A7CE60(this);
} else if (this->actor.xzDistFromLink < 40.0f) {
func_80A7C818(this);
}
}
#else
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Insect/func_80A7C5EC.s")
#endif
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Insect/func_80A7C818.s")
void func_80A7C818(EnInsect* this) {
this->unk_31A = Math_Rand_S16Offset(10, 40);
func_80A7BF58(this);
this->actionFunc = func_80A7C86C;
this->unk_314 |= 0x100;
}
#ifdef NON_MATCHING
// regalloc, minor reordering
void func_80A7C86C(EnInsect* this, GlobalContext* globalCtx) {
s32 pad[3];
s16 phi_a1;
s16 sp38;
sp38 = 0;
if (this->actor.xzDistFromLink < 40.0f) {
sp38 = 1;
}
Math_SmoothScaleMaxMinF(&this->actor.speedXZ, 1.8f, 0.1f, 0.5f, 0.0f);
if (EnInsect_XZDistanceSquared(&this->actor.posRot.pos, &this->actor.initPosRot.pos) > 25600.0f ||
this->unk_31A < 4) {
Math_ApproxUpdateScaledS(&this->actor.posRot.rot.y,
Math_Vec3f_Yaw(&this->actor.posRot.pos, &this->actor.initPosRot.pos), 2000);
} else if (sp38 != 0) {
phi_a1 = this->actor.yawTowardsLink + 0x8000;
if ((s16)globalCtx->state.frames & 0x10) {
if ((s16)globalCtx->state.frames & 0x20) {
phi_a1 += 0x2000;
}
} else if ((s16)globalCtx->state.frames & 0x20) {
phi_a1 -= 0x2000;
}
Math_ApproxUpdateScaledS(&this->actor.posRot.rot.y, phi_a1, 2000);
}
this->actor.shape.rot.y = this->actor.posRot.rot.y;
this->skelAnime.animPlaybackSpeed = CLAMP(this->actor.speedXZ * 1.6f, 0.8f, 1.9f);
SkelAnime_FrameUpdateMatrix(&this->skelAnime);
if (this->unk_31A <= 0 || sp38 == 0) {
func_80A7C3A0(this);
} else if ((this->unk_314 & 1) && (this->actor.bgCheckFlags & 0x40)) {
func_80A7CE60(this);
}
}
#else
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Insect/func_80A7C86C.s")
#endif
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Insect/func_80A7CA64.s")
void func_80A7CA64(EnInsect* this) {
this->unk_31A = 200;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Insect/func_80A7CAD0.s")
Actor_SetScale(&this->actor, 0.001f);
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Insect/func_80A7CBC8.s")
this->actor.draw = NULL;
this->actor.speedXZ = 0.0f;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Insect/func_80A7CC3C.s")
func_80A7BF58(this);
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Insect/func_80A7CE60.s")
this->skelAnime.animPlaybackSpeed = 0.3f;
this->actionFunc = func_80A7CAD0;
this->unk_314 &= ~0x100;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Insect/func_80A7CEC0.s")
void func_80A7CAD0(EnInsect* this, GlobalContext* globalCtx) {
if (this->unk_31A == 20 && !(this->unk_314 & 4)) {
this->actor.draw = EnInsect_Draw;
} else if (this->unk_31A == 0) {
if (this->unk_314 & 4) {
Actor_Kill(&this->actor);
} else {
Actor_SetScale(&this->actor, 0.01f);
func_80A7C3A0(this);
}
} else if (this->unk_31A < 20) {
Actor_SetScale(&this->actor, CLAMP_MAX(this->actor.scale.x + 0.001f, 0.01f));
SkelAnime_FrameUpdateMatrix(&this->skelAnime);
}
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Insect/func_80A7D1F4.s")
void func_80A7CBC8(EnInsect* this) {
this->unk_31A = 60;
func_80A7BF58(this);
this->skelAnime.animPlaybackSpeed = 1.9f;
Audio_PlayActorSound2(&this->actor, NA_SE_EN_MUSI_SINK);
Math_Vec3f_Copy(&this->actor.initPosRot.pos, &this->actor.posRot.pos);
this->actionFunc = func_80A7CC3C;
this->unk_314 &= ~0x100;
this->unk_314 |= 0x8;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Insect/func_80A7D26C.s")
void func_80A7CC3C(EnInsect* this, GlobalContext* globalCtx) {
s32 pad[2];
Vec3f sp34;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Insect/func_80A7D39C.s")
Math_SmoothScaleMaxMinF(&this->actor.speedXZ, 0.0f, 0.1f, 0.5f, 0.0f);
Math_ApproxS(&this->actor.shape.rot.x, 10922, 352);
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Insect/func_80A7D460.s")
Actor_SetScale(&this->actor, CLAMP_MIN(this->actor.scale.x - 0.0002f, 0.001f));
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Insect/EnInsect_Update.s")
this->actor.shape.unk_08 -= 0.8f;
this->actor.posRot.pos.x = Math_Rand_ZeroOne() + this->actor.initPosRot.pos.x - 0.5f;
this->actor.posRot.pos.z = Math_Rand_ZeroOne() + this->actor.initPosRot.pos.z - 0.5f;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Insect/EnInsect_Draw.s")
SkelAnime_FrameUpdateMatrix(&this->skelAnime);
if (this->unk_31A >= 21 && Math_Rand_ZeroOne() < 0.1f) {
sp34.x = Math_Sins(this->actor.shape.rot.y) * -0.6f;
sp34.y = Math_Sins(this->actor.shape.rot.x) * 0.6f;
sp34.z = Math_Coss(this->actor.shape.rot.y) * -0.6f;
func_800286CC(globalCtx, &this->actor.posRot.pos, &sp34, D_80A7DF28, Math_Rand_ZeroOne() * 5.0f + 8.0f,
Math_Rand_ZeroOne() * 5.0f + 8.0f);
}
if (this->unk_31A <= 0) {
if ((this->unk_314 & 0x10) && this->soilActor != NULL &&
func_800CB650(&this->soilActor->actor.posRot.pos, &this->actor.posRot.pos) < 64.0f) {
this->soilActor->unk_152 = 1;
}
Actor_Kill(&this->actor);
}
}
void func_80A7CE60(EnInsect* this) {
this->unk_31A = Math_Rand_S16Offset(120, 50);
func_80A7BF58(this);
this->unk_316 = this->unk_318 = 0;
this->actionFunc = func_80A7CEC0;
this->unk_314 &= ~0x100;
}
void func_80A7CEC0(EnInsect* this, GlobalContext* globalCtx) {
f32 temp_f0;
s16 temp_v1;
s16 padding;
s16 sp4E;
Vec3f sp40;
s32 phi_v0;
s32 phi_v0_2;
sp4E = this->actor.params & 3;
if (this->unk_31A >= 81) {
Math_ApproxF(&this->actor.speedXZ, 0.6f, 0.08f);
} else {
Math_ApproxF(&this->actor.speedXZ, 0.0f, 0.02f);
}
this->actor.velocity.y = 0.0f;
this->actor.posRot.pos.y += this->actor.waterY;
this->skelAnime.animPlaybackSpeed = CLAMP(this->unk_31A * 0.018f, 0.1f, 1.9f);
SkelAnime_FrameUpdateMatrix(&this->skelAnime);
if (this->unk_31A >= 81) {
this->unk_316 += Math_Rand_S16Offset(-50, 100);
this->unk_318 += Math_Rand_S16Offset(-300, 600);
}
temp_v1 = this->skelAnime.animPlaybackSpeed * 200.0f;
if (this->unk_316 < -temp_v1) {
this->unk_316 = -temp_v1;
} else {
if (temp_v1 < this->unk_316) {
phi_v0 = temp_v1;
} else {
phi_v0 = this->unk_316;
}
this->unk_316 = phi_v0;
}
this->actor.posRot.rot.y += this->unk_316;
temp_v1 = this->skelAnime.animPlaybackSpeed * 1000.0f;
if (this->unk_318 < -temp_v1) {
this->unk_318 = -temp_v1;
} else {
if (temp_v1 < this->unk_318) {
phi_v0_2 = temp_v1;
} else {
phi_v0_2 = this->unk_318;
}
this->unk_318 = phi_v0_2;
}
this->actor.shape.rot.y += this->unk_318;
Math_ApproxUpdateScaledS(&this->actor.posRot.rot.x, 0, 3000);
this->actor.shape.rot.x = this->actor.posRot.rot.x;
if (Math_Rand_ZeroOne() < 0.03f) {
sp40.x = this->actor.posRot.pos.x;
sp40.y = this->actor.posRot.pos.y + this->actor.waterY;
sp40.z = this->actor.posRot.pos.z;
func_80029444(globalCtx, &sp40, 20, 100, 4);
func_80029444(globalCtx, &sp40, 40, 200, 8);
}
if (this->unk_31A <= 0 || ((this->unk_314 & 4) && this->unk_31C <= 0) ||
((sp4E == 2 || sp4E == 3) && (this->unk_314 & 1) && D_80A7DEB8 >= 4)) {
func_80A7D1F4(this);
} else if (!(this->actor.bgCheckFlags & 0x40)) {
if (this->unk_314 & 0x10) {
func_80A7D39C(this);
} else {
func_80A7C3A0(this);
}
}
}
void func_80A7D1F4(EnInsect* this) {
this->unk_31A = 100;
func_80A7BF58(this);
this->actor.velocity.y = 0.0f;
this->actor.speedXZ = 0.0f;
this->actor.minVelocityY = -0.8f;
this->actor.gravity = -0.04f;
this->unk_314 &= ~0x3;
this->actionFunc = func_80A7D26C;
this->unk_314 &= ~0x100;
this->unk_314 |= 8;
}
void func_80A7D26C(EnInsect* this, GlobalContext* globalCtx) {
this->actor.shape.rot.x -= 500;
this->actor.shape.rot.y += 200;
Actor_SetScale(&this->actor, CLAMP_MIN(this->actor.scale.x - 0.00005f, 0.001f));
if (this->actor.waterY > 5.0f && this->actor.waterY < 30.0f && Math_Rand_ZeroOne() < 0.3f) {
func_800293E4(globalCtx, &this->actor.posRot.pos, -5.0f, 5.0f, 5.0f, (Math_Rand_ZeroOne() * 0.04f) + 0.02f);
}
if (this->unk_31A <= 0) {
Actor_Kill(&this->actor);
}
}
void func_80A7D39C(EnInsect* this) {
func_80A7BF58(this);
this->unk_31A = 100;
this->unk_324 = 1.5f;
this->unk_328 = Math_Rand_ZeroOne() * 65535.5f;
this->unk_316 = (Math_Rand_ZeroOne() - 0.5f) * 1500.0f;
this->actor.posRot.rot.y = Math_Rand_ZeroOne() * 65535.5f;
Actor_SetScale(&this->actor, 0.003f);
this->actionFunc = func_80A7D460;
this->unk_314 |= 0x100;
}
void func_80A7D460(EnInsect* this, GlobalContext* globalCtx) {
s32 temp_a0;
s32 sp50;
f32 phi_f0;
EnInsect* thisTemp = this;
s32 temp_a1;
f32 sp40;
f32 phi_f2;
s16 sp3A;
s16 sp38;
f32 sp34;
sp50 = 0;
sp3A = this->actor.params & 3;
if (this->soilActor != NULL) {
sp40 = func_800CB650(&this->actor.posRot.pos, &this->soilActor->actor.posRot.pos);
} else {
if (this->unk_314 & 0x10) {
osSyncPrintf(VT_COL(YELLOW, BLACK));
// warning: target Actor is NULL
osSyncPrintf("warning:目標 Actor が NULL (%s %d)\n", "../z_en_mushi.c", 1046);
osSyncPrintf(VT_RST);
}
sp40 = 40.0f;
}
if (!this->soilActor->actor.params) {}
D_80A7DEB0 += 0.0033333332f;
if (D_80A7DEB0 > 1.0f) {
D_80A7DEB0 = 1.0f;
}
if (D_80A7DEB0 > 0.999f) {
phi_f2 = 0.0f;
} else {
if (sp40 > 900.0f) {
phi_f2 = ((1.1f - D_80A7DEB0) * 100.0f) + 20.0f;
} else {
phi_f2 = (1.0f - D_80A7DEB0) * 10.0f;
}
}
if (this->soilActor != NULL && Math_Rand_ZeroOne() < 0.07f) {
this->actor.initPosRot.pos.x = (Math_Rand_ZeroOne() - 0.5f) * phi_f2 + thisTemp->soilActor->actor.posRot.pos.x;
this->actor.initPosRot.pos.y = thisTemp->soilActor->actor.posRot.pos.y;
this->actor.initPosRot.pos.z = (Math_Rand_ZeroOne() - 0.5f) * phi_f2 + thisTemp->soilActor->actor.posRot.pos.z;
}
if (D_80A7DEB0 > 0.999f) {
this->unk_328 = Math_Vec3f_Yaw(&this->actor.posRot.pos, &this->actor.initPosRot.pos);
this->unk_324 = Math_Rand_ZeroOne() * 0.6f + 0.6f;
} else if (Math_Rand_ZeroOne() < 0.07f) {
if (this->unk_324 > 1.0f) {
this->unk_324 = 0.1f;
} else {
this->unk_324 = Math_Rand_ZeroOne() * 0.8f + 1.0f;
}
sp34 = 1.3f - D_80A7DEB0;
if (sp34 < 0.0f) {
sp34 = 0.0f;
} else {
if (sp34 > 1.0f) {
phi_f0 = 1.0f;
} else {
phi_f0 = sp34;
}
sp34 = phi_f0;
}
sp38 = (Math_Rand_ZeroOne() - 0.5f) * 65535.0f * sp34;
this->unk_328 = Math_Vec3f_Yaw(&this->actor.posRot.pos, &this->actor.initPosRot.pos) + sp38;
}
Actor_SetScale(&this->actor, CLAMP_MAX(thisTemp->actor.scale.x + 0.0008f, 0.01f));
if (this->actor.bgCheckFlags & 1) {
Math_SmoothScaleMaxMinF(&this->actor.speedXZ, this->unk_324, 0.1f, 0.5f, 0.0f);
Math_ApproxUpdateScaledS(&this->actor.posRot.rot.y, this->unk_328, 2000);
sp50 = Math_ApproxUpdateScaledS(&this->actor.posRot.rot.x, 0, 2000);
this->actor.shape.rot.y = this->actor.posRot.rot.y;
this->actor.shape.rot.x = this->actor.posRot.rot.x;
} else {
Math_SmoothScaleMaxMinF(&this->actor.speedXZ, 0.0f, 0.1f, 0.5f, 0.0f);
this->actor.speedXZ += (Math_Rand_ZeroOne() - 0.5f) * 0.14f;
this->actor.velocity.y += Math_Rand_ZeroOne() * 0.12f;
this->actor.posRot.rot.y += this->unk_316;
this->actor.shape.rot.y = this->actor.posRot.rot.y;
this->actor.shape.rot.x -= 2000;
}
phi_f2 = Math_Rand_ZeroOne() * 0.5f + this->actor.speedXZ * 1.3f;
if (phi_f2 < 0.0f) {
this->skelAnime.animPlaybackSpeed = 0.0f;
} else {
if (phi_f2 > 1.9f) {
phi_f0 = 1.9f;
} else {
phi_f0 = phi_f2;
}
this->skelAnime.animPlaybackSpeed = phi_f0;
}
SkelAnime_FrameUpdateMatrix(&this->skelAnime);
if (!(this->unk_314 & 0x40) && (this->unk_314 & 1) && (this->actor.bgCheckFlags & 1)) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_MUSI_LAND);
this->unk_314 |= 0x40;
}
if (sp3A == 2 && (this->unk_314 & 0x10) && !(this->unk_314 & 0x80)) {
if (this->unk_32A >= 15) {
if (this->soilActor != NULL) {
temp_a0 = ((this->soilActor->actor.params >> 8) & 0x1F) - 1;
temp_a1 = temp_a0 & 3;
if ((((gSaveContext.gsFlags[temp_a0 >> 2] & D_8012723C[temp_a1]) >> D_8012724C[temp_a1]) &
(this->soilActor->actor.params & 0xFF)) == 0) {
func_80078884(NA_SE_SY_TRE_BOX_APPEAR);
}
}
this->unk_314 |= 0x80;
} else {
this->unk_32A++;
}
}
if ((this->unk_314 & 1) && (this->actor.bgCheckFlags & 0x40)) {
func_80A7CE60(this);
} else if (this->unk_314 & 0x10) {
if (sp40 < 9.0f) {
func_80A7CBC8(this);
} else if (this->unk_31A <= 0 || this->unk_31C <= 0 ||
((this->unk_314 & 1) && (this->actor.bgCheckFlags & 1) && D_80A7DEB8 >= 4 &&
(sp3A == 2 || sp3A == 3))) {
func_80A7CBC8(this);
} else {
if (sp40 < 900.0f) {
this->unk_31C++;
this->unk_314 |= 0x20;
} else {
this->unk_31A = 100;
}
}
} else if (sp50 != 0) {
func_80A7C3A0(this);
} else if ((sp3A == 2 || sp3A == 3) && (this->unk_314 & 1) && this->unk_31C <= 0 && this->unk_31A <= 0 &&
this->actor.groundY < -31990.0f) {
osSyncPrintf(VT_COL(YELLOW, BLACK));
// BG missing? To do Actor_delete
osSyncPrintf("BG 抜け? Actor_delete します(%s %d)\n", "../z_en_mushi.c", 1197);
osSyncPrintf(VT_RST);
Actor_Kill(&this->actor);
}
}
void EnInsect_Update(Actor* thisx, GlobalContext* globalCtx) {
EnInsect* this = THIS;
s32 phi_v0;
if (this->actor.attachedB != NULL) {
if (this->actor.attachedB->update == NULL) {
if (&this->actor != this->actor.attachedB) {
this->actor.attachedB = NULL;
}
}
}
if (this->unk_31A > 0) {
this->unk_31A--;
}
if (this->unk_31C > 0) {
this->unk_31C--;
}
this->actionFunc(this, globalCtx);
if (this->actor.update != NULL) {
Actor_MoveForward(&this->actor);
if (this->unk_314 & 0x100) {
if (this->unk_314 & 1) {
if (this->actor.bgCheckFlags & 1) {
func_80A7C058(this);
}
} else {
func_80A7C058(this);
}
}
phi_v0 = 0;
if (this->unk_314 & 1) {
phi_v0 = 4;
}
if (this->unk_314 & 2) {
phi_v0 |= 1;
}
if (phi_v0 != 0) {
phi_v0 |= 0x40;
func_8002E4B4(globalCtx, &this->actor, 8.0f, 5.0f, 0.0f, phi_v0);
}
if (func_8002F410(&this->actor, globalCtx) != 0) {
this->actor.attachedA = NULL;
phi_v0 = this->actor.params & 3;
if (phi_v0 == 2 || phi_v0 == 3) {
Actor_Kill(&this->actor);
} else {
func_80A7CA64(this);
}
} else if (this->actor.xzDistFromLink < 50.0f && this->actionFunc != func_80A7CAD0) {
if (!(this->unk_314 & 0x20) && this->unk_31C < 180) {
CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->collider.base);
}
if (!(this->unk_314 & 8) && D_80A7DEB4 < 4 && func_80A7BE6C(this, globalCtx) != 0 &&
func_8002F434(&this->actor, globalCtx, 0x7E, 60.0f, 30.0f) != 0) {
D_80A7DEB4++;
}
}
Actor_SetHeight(&this->actor, 0.0f);
}
}
void EnInsect_Draw(Actor* thisx, GlobalContext* globalCtx) {
EnInsect* this = THIS;
func_80093D18(globalCtx->state.gfxCtx);
SkelAnime_Draw(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, NULL, NULL, NULL);
func_800628A4(0, &this->collider);
D_80A7DEB4 = 0;
}

View file

@ -3,12 +3,30 @@
#include <ultra64.h>
#include <global.h>
#include "overlays/actors/ovl_Obj_Makekinsuta/z_obj_makekinsuta.h"
struct EnInsect;
typedef void (*EnInsectActionFunc)(struct EnInsect*, GlobalContext*);
typedef struct EnInsect {
/* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x1E0];
/* 0x014C */ ColliderJntSph collider;
/* 0x016C */ ColliderJntSphItem colliderItem;
/* 0x01AC */ SkelAnime skelAnime;
/* 0x01F0 */ Vec3s limbDrawTable[24];
/* 0x0280 */ Vec3s transitionDrawTable[24];
/* 0x0310 */ EnInsectActionFunc actionFunc;
/* 0x0314 */ u16 unk_314;
/* 0x0316 */ s16 unk_316;
/* 0x0318 */ s16 unk_318;
/* 0x031A */ s16 unk_31A;
/* 0x031C */ s16 unk_31C;
/* 0x031E */ s16 unk_31E;
/* 0x0320 */ ObjMakekinsuta* soilActor;
/* 0x0324 */ f32 unk_324;
/* 0x0328 */ s16 unk_328;
/* 0x032A */ u8 unk_32A;
} EnInsect; // size = 0x032C
extern const ActorInit En_Insect_InitVars;

View file

@ -708,3 +708,7 @@ D_0600FAA0 = 0x0600FAA0;
D_0600FCF8 = 0x0600FCF8;
D_060105E0 = 0x060105E0;
D_06012160 = 0x06012160;
// z_en_insect
D_04035590 = 0x04035590;
D_040341FC = 0x040341FC;