mirror of
https://github.com/zeldaret/oot.git
synced 2025-07-03 06:24:30 +00:00
EnFish, OK and documented (#795)
* Matching * Some naming * spec * Name another function * Name animations, clarify use of GI_MAX and GI_NONE * Documented bottle range functions * Simplify squared distance function in EnIceHono, actor descriptions * Functions for dropped fish * More naming * Change 65535.5f to (0xFFFF + 0.5f) * Change 65535.5f to (0xFFFF + 0.5f) * name phases * Named other types, Docile functions * Naming complete * delete asm * format, remove outdated comment * Fix a few DrawFlexOpa arguments * Review changes * Change back to original playSound * Function comments per review
This commit is contained in:
parent
2ee1fd4668
commit
ce44541d33
63 changed files with 812 additions and 2426 deletions
|
@ -1,11 +0,0 @@
|
|||
glabel EnFish_Destroy
|
||||
/* 00328 80A155A8 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 0032C 80A155AC 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000
|
||||
/* 00330 80A155B0 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00334 80A155B4 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
|
||||
/* 00338 80A155B8 0C016F32 */ jal Collider_DestroyJntSph
|
||||
/* 0033C 80A155BC 24E5014C */ addiu $a1, $a3, 0x014C ## $a1 = 0000014C
|
||||
/* 00340 80A155C0 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00344 80A155C4 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 00348 80A155C8 03E00008 */ jr $ra
|
||||
/* 0034C 80A155CC 00000000 */ nop
|
|
@ -1,26 +0,0 @@
|
|||
glabel EnFish_Draw
|
||||
/* 01D2C 80A16FAC 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
|
||||
/* 01D30 80A16FB0 AFBF0024 */ sw $ra, 0x0024($sp)
|
||||
/* 01D34 80A16FB4 AFA40028 */ sw $a0, 0x0028($sp)
|
||||
/* 01D38 80A16FB8 AFA5002C */ sw $a1, 0x002C($sp)
|
||||
/* 01D3C 80A16FBC 0C024F46 */ jal func_80093D18
|
||||
/* 01D40 80A16FC0 8CA40000 */ lw $a0, 0x0000($a1) ## 00000000
|
||||
/* 01D44 80A16FC4 8FA20028 */ lw $v0, 0x0028($sp)
|
||||
/* 01D48 80A16FC8 8FA4002C */ lw $a0, 0x002C($sp)
|
||||
/* 01D4C 80A16FCC 8C4501B0 */ lw $a1, 0x01B0($v0) ## 000001B0
|
||||
/* 01D50 80A16FD0 8C4601CC */ lw $a2, 0x01CC($v0) ## 000001CC
|
||||
/* 01D54 80A16FD4 904701AE */ lbu $a3, 0x01AE($v0) ## 000001AE
|
||||
/* 01D58 80A16FD8 AFA00018 */ sw $zero, 0x0018($sp)
|
||||
/* 01D5C 80A16FDC AFA00014 */ sw $zero, 0x0014($sp)
|
||||
/* 01D60 80A16FE0 0C0286B2 */ jal SkelAnime_DrawFlexOpa
|
||||
/* 01D64 80A16FE4 AFA00010 */ sw $zero, 0x0010($sp)
|
||||
/* 01D68 80A16FE8 8FA20028 */ lw $v0, 0x0028($sp)
|
||||
/* 01D6C 80A16FEC 00002025 */ or $a0, $zero, $zero ## $a0 = 00000000
|
||||
/* 01D70 80A16FF0 0C018A29 */ jal Collider_UpdateSpheres
|
||||
/* 01D74 80A16FF4 2445014C */ addiu $a1, $v0, 0x014C ## $a1 = 0000014C
|
||||
/* 01D78 80A16FF8 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
/* 01D7C 80A16FFC 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
|
||||
/* 01D80 80A17000 03E00008 */ jr $ra
|
||||
/* 01D84 80A17004 00000000 */ nop
|
||||
/* 01D88 80A17008 00000000 */ nop
|
||||
/* 01D8C 80A1700C 00000000 */ nop
|
|
@ -1,95 +0,0 @@
|
|||
.late_rodata
|
||||
glabel D_80A17194
|
||||
.float 65535.5
|
||||
glabel D_80A17198
|
||||
.float 65535.5
|
||||
|
||||
.text
|
||||
glabel EnFish_Init
|
||||
/* 001E8 80A15468 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0
|
||||
/* 001EC 80A1546C AFBF002C */ sw $ra, 0x002C($sp)
|
||||
/* 001F0 80A15470 AFB00028 */ sw $s0, 0x0028($sp)
|
||||
/* 001F4 80A15474 AFA50044 */ sw $a1, 0x0044($sp)
|
||||
/* 001F8 80A15478 848E001C */ lh $t6, 0x001C($a0) ## 0000001C
|
||||
/* 001FC 80A1547C 3C0580A1 */ lui $a1, %hi(D_80A17070) ## $a1 = 80A10000
|
||||
/* 00200 80A15480 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00204 80A15484 24A57070 */ addiu $a1, $a1, %lo(D_80A17070) ## $a1 = 80A17070
|
||||
/* 00208 80A15488 0C01E037 */ jal Actor_ProcessInitChain
|
||||
|
||||
/* 0020C 80A1548C A7AE003A */ sh $t6, 0x003A($sp)
|
||||
/* 00210 80A15490 3C060402 */ lui $a2, %hi(gFishSkel) ## $a2 = 04020000
|
||||
/* 00214 80A15494 3C070402 */ lui $a3, %hi(gFish2Anim) ## $a3 = 04020000
|
||||
/* 00218 80A15498 260F01F0 */ addiu $t7, $s0, 0x01F0 ## $t7 = 000001F0
|
||||
/* 0021C 80A1549C 2618021A */ addiu $t8, $s0, 0x021A ## $t8 = 0000021A
|
||||
/* 00220 80A154A0 24190007 */ addiu $t9, $zero, 0x0007 ## $t9 = 00000007
|
||||
/* 00224 80A154A4 AFB90018 */ sw $t9, 0x0018($sp)
|
||||
/* 00228 80A154A8 AFB80014 */ sw $t8, 0x0014($sp)
|
||||
/* 0022C 80A154AC AFAF0010 */ sw $t7, 0x0010($sp)
|
||||
/* 00230 80A154B0 24E7909C */ addiu $a3, $a3, %lo(gFish2Anim) ## $a3 = 0401909C
|
||||
/* 00234 80A154B4 24C68FE0 */ addiu $a2, $a2, %lo(gFishSkel) ## $a2 = 04018FE0
|
||||
/* 00238 80A154B8 8FA40044 */ lw $a0, 0x0044($sp)
|
||||
/* 0023C 80A154BC 0C0291BE */ jal SkelAnime_InitFlex
|
||||
/* 00240 80A154C0 260501AC */ addiu $a1, $s0, 0x01AC ## $a1 = 000001AC
|
||||
/* 00244 80A154C4 2605014C */ addiu $a1, $s0, 0x014C ## $a1 = 0000014C
|
||||
/* 00248 80A154C8 AFA50034 */ sw $a1, 0x0034($sp)
|
||||
/* 0024C 80A154CC 0C016EFE */ jal Collider_InitJntSph
|
||||
/* 00250 80A154D0 8FA40044 */ lw $a0, 0x0044($sp)
|
||||
/* 00254 80A154D4 3C0780A1 */ lui $a3, %hi(D_80A17040) ## $a3 = 80A10000
|
||||
/* 00258 80A154D8 2608016C */ addiu $t0, $s0, 0x016C ## $t0 = 0000016C
|
||||
/* 0025C 80A154DC 8FA50034 */ lw $a1, 0x0034($sp)
|
||||
/* 00260 80A154E0 AFA80010 */ sw $t0, 0x0010($sp)
|
||||
/* 00264 80A154E4 24E77040 */ addiu $a3, $a3, %lo(D_80A17040) ## $a3 = 80A17040
|
||||
/* 00268 80A154E8 8FA40044 */ lw $a0, 0x0044($sp)
|
||||
/* 0026C 80A154EC 0C017014 */ jal Collider_SetJntSph
|
||||
/* 00270 80A154F0 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
|
||||
/* 00274 80A154F4 24090032 */ addiu $t1, $zero, 0x0032 ## $t1 = 00000032
|
||||
/* 00278 80A154F8 0C03F66B */ jal Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 0027C 80A154FC A20900AE */ sb $t1, 0x00AE($s0) ## 000000AE
|
||||
/* 00280 80A15500 3C0180A1 */ lui $at, %hi(D_80A17194) ## $at = 80A10000
|
||||
/* 00284 80A15504 C4247194 */ lwc1 $f4, %lo(D_80A17194)($at)
|
||||
/* 00288 80A15508 46040182 */ mul.s $f6, $f0, $f4
|
||||
/* 0028C 80A1550C 4600320D */ trunc.w.s $f8, $f6
|
||||
/* 00290 80A15510 440B4000 */ mfc1 $t3, $f8
|
||||
/* 00294 80A15514 0C03F66B */ jal Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 00298 80A15518 A60B024C */ sh $t3, 0x024C($s0) ## 0000024C
|
||||
/* 0029C 80A1551C 3C0180A1 */ lui $at, %hi(D_80A17198) ## $at = 80A10000
|
||||
/* 002A0 80A15520 C42A7198 */ lwc1 $f10, %lo(D_80A17198)($at)
|
||||
/* 002A4 80A15524 87A2003A */ lh $v0, 0x003A($sp)
|
||||
/* 002A8 80A15528 260400B4 */ addiu $a0, $s0, 0x00B4 ## $a0 = 000000B4
|
||||
/* 002AC 80A1552C 460A0402 */ mul.s $f16, $f0, $f10
|
||||
/* 002B0 80A15530 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
|
||||
/* 002B4 80A15534 3C068003 */ lui $a2, %hi(ActorShadow_DrawCircle)
|
||||
/* 002B8 80A15538 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
|
||||
/* 002BC 80A1553C 4600848D */ trunc.w.s $f18, $f16
|
||||
/* 002C0 80A15540 440D9000 */ mfc1 $t5, $f18
|
||||
/* 002C4 80A15544 1440000B */ bne $v0, $zero, .L80A15574
|
||||
/* 002C8 80A15548 A60D024E */ sh $t5, 0x024E($s0) ## 0000024E
|
||||
/* 002CC 80A1554C 8E0E0004 */ lw $t6, 0x0004($s0) ## 00000004
|
||||
/* 002D0 80A15550 24C6B5EC */ addiu $a2, %lo(ActorShadow_DrawCircle)
|
||||
/* 002D4 80A15554 3C074100 */ lui $a3, 0x4100 ## $a3 = 41000000
|
||||
/* 002D8 80A15558 35CF0010 */ ori $t7, $t6, 0x0010 ## $t7 = 00000010
|
||||
/* 002DC 80A1555C 0C00AC78 */ jal ActorShape_Init
|
||||
|
||||
/* 002E0 80A15560 AE0F0004 */ sw $t7, 0x0004($s0) ## 00000004
|
||||
/* 002E4 80A15564 0C2857C9 */ jal func_80A15F24
|
||||
/* 002E8 80A15568 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 002EC 80A1556C 1000000A */ beq $zero, $zero, .L80A15598
|
||||
/* 002F0 80A15570 8FBF002C */ lw $ra, 0x002C($sp)
|
||||
.L80A15574:
|
||||
/* 002F4 80A15574 14410005 */ bne $v0, $at, .L80A1558C
|
||||
/* 002F8 80A15578 00000000 */ nop
|
||||
/* 002FC 80A1557C 0C285986 */ jal func_80A16618
|
||||
/* 00300 80A15580 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00304 80A15584 10000004 */ beq $zero, $zero, .L80A15598
|
||||
/* 00308 80A15588 8FBF002C */ lw $ra, 0x002C($sp)
|
||||
.L80A1558C:
|
||||
/* 0030C 80A1558C 0C2855E9 */ jal func_80A157A4
|
||||
/* 00310 80A15590 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00314 80A15594 8FBF002C */ lw $ra, 0x002C($sp)
|
||||
.L80A15598:
|
||||
/* 00318 80A15598 8FB00028 */ lw $s0, 0x0028($sp)
|
||||
/* 0031C 80A1559C 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000
|
||||
/* 00320 80A155A0 03E00008 */ jr $ra
|
||||
/* 00324 80A155A4 00000000 */ nop
|
|
@ -1,48 +0,0 @@
|
|||
glabel EnFish_Update
|
||||
/* 01C80 80A16F00 3C0280A1 */ lui $v0, %hi(D_80A17010) ## $v0 = 80A10000
|
||||
/* 01C84 80A16F04 8C427010 */ lw $v0, %lo(D_80A17010)($v0)
|
||||
/* 01C88 80A16F08 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 01C8C 80A16F0C AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 01C90 80A16F10 14400011 */ bne $v0, $zero, .L80A16F58
|
||||
/* 01C94 80A16F14 00000000 */ nop
|
||||
/* 01C98 80A16F18 848E001C */ lh $t6, 0x001C($a0) ## 0000001C
|
||||
/* 01C9C 80A16F1C 15C0000E */ bne $t6, $zero, .L80A16F58
|
||||
/* 01CA0 80A16F20 00000000 */ nop
|
||||
/* 01CA4 80A16F24 90AF1D6C */ lbu $t7, 0x1D6C($a1) ## 00001D6C
|
||||
/* 01CA8 80A16F28 11E0000B */ beq $t7, $zero, .L80A16F58
|
||||
/* 01CAC 80A16F2C 00000000 */ nop
|
||||
/* 01CB0 80A16F30 8CB81D90 */ lw $t8, 0x1D90($a1) ## 00001D90
|
||||
/* 01CB4 80A16F34 13000008 */ beq $t8, $zero, .L80A16F58
|
||||
/* 01CB8 80A16F38 00000000 */ nop
|
||||
/* 01CBC 80A16F3C AFA40018 */ sw $a0, 0x0018($sp)
|
||||
/* 01CC0 80A16F40 0C2854EB */ jal func_80A153AC
|
||||
/* 01CC4 80A16F44 AFA5001C */ sw $a1, 0x001C($sp)
|
||||
/* 01CC8 80A16F48 3C0280A1 */ lui $v0, %hi(D_80A17010) ## $v0 = 80A10000
|
||||
/* 01CCC 80A16F4C 8C427010 */ lw $v0, %lo(D_80A17010)($v0)
|
||||
/* 01CD0 80A16F50 8FA40018 */ lw $a0, 0x0018($sp)
|
||||
/* 01CD4 80A16F54 8FA5001C */ lw $a1, 0x001C($sp)
|
||||
.L80A16F58:
|
||||
/* 01CD8 80A16F58 50400008 */ beql $v0, $zero, .L80A16F7C
|
||||
/* 01CDC 80A16F5C 8482024A */ lh $v0, 0x024A($a0) ## 0000024A
|
||||
/* 01CE0 80A16F60 54820006 */ bnel $a0, $v0, .L80A16F7C
|
||||
/* 01CE4 80A16F64 8482024A */ lh $v0, 0x024A($a0) ## 0000024A
|
||||
/* 01CE8 80A16F68 0C285A99 */ jal func_80A16A64
|
||||
/* 01CEC 80A16F6C 00000000 */ nop
|
||||
/* 01CF0 80A16F70 1000000B */ beq $zero, $zero, .L80A16FA0
|
||||
/* 01CF4 80A16F74 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 01CF8 80A16F78 8482024A */ lh $v0, 0x024A($a0) ## 0000024A
|
||||
.L80A16F7C:
|
||||
/* 01CFC 80A16F7C 18400005 */ blez $v0, .L80A16F94
|
||||
/* 01D00 80A16F80 2459FFFF */ addiu $t9, $v0, 0xFFFF ## $t9 = FFFFFFFF
|
||||
/* 01D04 80A16F84 0C285B7B */ jal func_80A16DEC
|
||||
/* 01D08 80A16F88 A499024A */ sh $t9, 0x024A($a0) ## 0000024A
|
||||
/* 01D0C 80A16F8C 10000004 */ beq $zero, $zero, .L80A16FA0
|
||||
/* 01D10 80A16F90 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
.L80A16F94:
|
||||
/* 01D14 80A16F94 0C285B1A */ jal func_80A16C68
|
||||
/* 01D18 80A16F98 00000000 */ nop
|
||||
/* 01D1C 80A16F9C 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
.L80A16FA0:
|
||||
/* 01D20 80A16FA0 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 01D24 80A16FA4 03E00008 */ jr $ra
|
||||
/* 01D28 80A16FA8 00000000 */ nop
|
|
@ -1,12 +0,0 @@
|
|||
glabel func_80A15280
|
||||
/* 00000 80A15280 C4840000 */ lwc1 $f4, 0x0000($a0) ## 00000000
|
||||
/* 00004 80A15284 C4A60000 */ lwc1 $f6, 0x0000($a1) ## 00000000
|
||||
/* 00008 80A15288 C4880008 */ lwc1 $f8, 0x0008($a0) ## 00000008
|
||||
/* 0000C 80A1528C C4AA0008 */ lwc1 $f10, 0x0008($a1) ## 00000008
|
||||
/* 00010 80A15290 46062081 */ sub.s $f2, $f4, $f6
|
||||
/* 00014 80A15294 460A4301 */ sub.s $f12, $f8, $f10
|
||||
/* 00018 80A15298 46021402 */ mul.s $f16, $f2, $f2
|
||||
/* 0001C 80A1529C 00000000 */ nop
|
||||
/* 00020 80A152A0 460C6482 */ mul.s $f18, $f12, $f12
|
||||
/* 00024 80A152A4 03E00008 */ jr $ra
|
||||
/* 00028 80A152A8 46128000 */ add.s $f0, $f16, $f18
|
|
@ -1,28 +0,0 @@
|
|||
glabel func_80A152AC
|
||||
/* 0002C 80A152AC 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
|
||||
/* 00030 80A152B0 AFA40028 */ sw $a0, 0x0028($sp)
|
||||
/* 00034 80A152B4 AFBF0024 */ sw $ra, 0x0024($sp)
|
||||
/* 00038 80A152B8 3C040402 */ lui $a0, %hi(gFish2Anim) ## $a0 = 04020000
|
||||
/* 0003C 80A152BC 0C028800 */ jal Animation_GetLastFrame
|
||||
|
||||
/* 00040 80A152C0 2484909C */ addiu $a0, $a0, %lo(gFish2Anim) ## $a0 = 0401909C
|
||||
/* 00044 80A152C4 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
|
||||
/* 00048 80A152C8 3C014000 */ lui $at, 0x4000 ## $at = 40000000
|
||||
/* 0004C 80A152CC 44814000 */ mtc1 $at, $f8 ## $f8 = 2.00
|
||||
/* 00050 80A152D0 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* 00054 80A152D4 8FA40028 */ lw $a0, 0x0028($sp)
|
||||
/* 00058 80A152D8 3C050402 */ lui $a1, %hi(gFish2Anim) ## $a1 = 04020000
|
||||
/* 0005C 80A152DC 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001
|
||||
/* 00060 80A152E0 AFAE0014 */ sw $t6, 0x0014($sp)
|
||||
/* 00064 80A152E4 24A5909C */ addiu $a1, $a1, %lo(gFish2Anim) ## $a1 = 0401909C
|
||||
/* 00068 80A152E8 E7A60010 */ swc1 $f6, 0x0010($sp)
|
||||
/* 0006C 80A152EC 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
|
||||
/* 00070 80A152F0 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
|
||||
/* 00074 80A152F4 E7A80018 */ swc1 $f8, 0x0018($sp)
|
||||
/* 00078 80A152F8 0C029468 */ jal Animation_Change
|
||||
|
||||
/* 0007C 80A152FC 248401AC */ addiu $a0, $a0, 0x01AC ## $a0 = 000001AC
|
||||
/* 00080 80A15300 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
/* 00084 80A15304 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
|
||||
/* 00088 80A15308 03E00008 */ jr $ra
|
||||
/* 0008C 80A1530C 00000000 */ nop
|
|
@ -1,28 +0,0 @@
|
|||
glabel func_80A15310
|
||||
/* 00090 80A15310 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
|
||||
/* 00094 80A15314 AFA40028 */ sw $a0, 0x0028($sp)
|
||||
/* 00098 80A15318 AFBF0024 */ sw $ra, 0x0024($sp)
|
||||
/* 0009C 80A1531C 3C040402 */ lui $a0, %hi(gFish1Anim) ## $a0 = 04020000
|
||||
/* 000A0 80A15320 0C028800 */ jal Animation_GetLastFrame
|
||||
|
||||
/* 000A4 80A15324 248485FC */ addiu $a0, $a0, %lo(gFish1Anim) ## $a0 = 040185FC
|
||||
/* 000A8 80A15328 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
|
||||
/* 000AC 80A1532C 3C014000 */ lui $at, 0x4000 ## $at = 40000000
|
||||
/* 000B0 80A15330 44814000 */ mtc1 $at, $f8 ## $f8 = 2.00
|
||||
/* 000B4 80A15334 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* 000B8 80A15338 8FA40028 */ lw $a0, 0x0028($sp)
|
||||
/* 000BC 80A1533C 3C050402 */ lui $a1, %hi(gFish1Anim) ## $a1 = 04020000
|
||||
/* 000C0 80A15340 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001
|
||||
/* 000C4 80A15344 AFAE0014 */ sw $t6, 0x0014($sp)
|
||||
/* 000C8 80A15348 24A585FC */ addiu $a1, $a1, %lo(gFish1Anim) ## $a1 = 040185FC
|
||||
/* 000CC 80A1534C E7A60010 */ swc1 $f6, 0x0010($sp)
|
||||
/* 000D0 80A15350 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
|
||||
/* 000D4 80A15354 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
|
||||
/* 000D8 80A15358 E7A80018 */ swc1 $f8, 0x0018($sp)
|
||||
/* 000DC 80A1535C 0C029468 */ jal Animation_Change
|
||||
|
||||
/* 000E0 80A15360 248401AC */ addiu $a0, $a0, 0x01AC ## $a0 = 000001AC
|
||||
/* 000E4 80A15364 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
/* 000E8 80A15368 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
|
||||
/* 000EC 80A1536C 03E00008 */ jr $ra
|
||||
/* 000F0 80A15370 00000000 */ nop
|
|
@ -1,16 +0,0 @@
|
|||
glabel func_80A15374
|
||||
/* 000F4 80A15374 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 000F8 80A15378 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 000FC 80A1537C 240E0190 */ addiu $t6, $zero, 0x0190 ## $t6 = 00000190
|
||||
/* 00100 80A15380 A48E024A */ sh $t6, 0x024A($a0) ## 0000024A
|
||||
/* 00104 80A15384 3C053A83 */ lui $a1, 0x3A83 ## $a1 = 3A830000
|
||||
/* 00108 80A15388 34A5126F */ ori $a1, $a1, 0x126F ## $a1 = 3A83126F
|
||||
/* 0010C 80A1538C 0C00B58B */ jal Actor_SetScale
|
||||
|
||||
/* 00110 80A15390 AFA40018 */ sw $a0, 0x0018($sp)
|
||||
/* 00114 80A15394 8FA40018 */ lw $a0, 0x0018($sp)
|
||||
/* 00118 80A15398 AC800134 */ sw $zero, 0x0134($a0) ## 00000134
|
||||
/* 0011C 80A1539C 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00120 80A153A0 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 00124 80A153A4 03E00008 */ jr $ra
|
||||
/* 00128 80A153A8 00000000 */ nop
|
|
@ -1,41 +0,0 @@
|
|||
glabel func_80A153AC
|
||||
/* 0012C 80A153AC 3C0E80A1 */ lui $t6, %hi(D_80A17010) ## $t6 = 80A10000
|
||||
/* 00130 80A153B0 8DCE7010 */ lw $t6, %lo(D_80A17010)($t6)
|
||||
/* 00134 80A153B4 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 00138 80A153B8 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 0013C 80A153BC 15C0001D */ bne $t6, $zero, .L80A15434
|
||||
/* 00140 80A153C0 3C0180A1 */ lui $at, %hi(D_80A17010) ## $at = 80A10000
|
||||
/* 00144 80A153C4 3C053C23 */ lui $a1, 0x3C23 ## $a1 = 3C230000
|
||||
/* 00148 80A153C8 AC247010 */ sw $a0, %lo(D_80A17010)($at)
|
||||
/* 0014C 80A153CC 34A5D70A */ ori $a1, $a1, 0xD70A ## $a1 = 3C23D70A
|
||||
/* 00150 80A153D0 0C00B58B */ jal Actor_SetScale
|
||||
|
||||
/* 00154 80A153D4 AFA40018 */ sw $a0, 0x0018($sp)
|
||||
/* 00158 80A153D8 8FA40018 */ lw $a0, 0x0018($sp)
|
||||
/* 0015C 80A153DC 3C014416 */ lui $at, 0x4416 ## $at = 44160000
|
||||
/* 00160 80A153E0 44812000 */ mtc1 $at, $f4 ## $f4 = 600.00
|
||||
/* 00164 80A153E4 3C014120 */ lui $at, 0x4120 ## $at = 41200000
|
||||
/* 00168 80A153E8 44813000 */ mtc1 $at, $f6 ## $f6 = 10.00
|
||||
/* 0016C 80A153EC 3C0F80A1 */ lui $t7, %hi(EnFish_Draw) ## $t7 = 80A10000
|
||||
/* 00170 80A153F0 25EF6FAC */ addiu $t7, $t7, %lo(EnFish_Draw) ## $t7 = 80A16FAC
|
||||
/* 00174 80A153F4 24189BF0 */ addiu $t8, $zero, 0x9BF0 ## $t8 = FFFF9BF0
|
||||
/* 00178 80A153F8 24194000 */ addiu $t9, $zero, 0x4000 ## $t9 = 00004000
|
||||
/* 0017C 80A153FC 44804000 */ mtc1 $zero, $f8 ## $f8 = 0.00
|
||||
/* 00180 80A15400 3C0180A1 */ lui $at, %hi(D_80A17014) ## $at = 80A10000
|
||||
/* 00184 80A15404 AC8F0134 */ sw $t7, 0x0134($a0) ## 00000134
|
||||
/* 00188 80A15408 A48000B4 */ sh $zero, 0x00B4($a0) ## 000000B4
|
||||
/* 0018C 80A1540C A49800B6 */ sh $t8, 0x00B6($a0) ## 000000B6
|
||||
/* 00190 80A15410 A49900B8 */ sh $t9, 0x00B8($a0) ## 000000B8
|
||||
/* 00194 80A15414 E48400BC */ swc1 $f4, 0x00BC($a0) ## 000000BC
|
||||
/* 00198 80A15418 E4267014 */ swc1 $f6, %lo(D_80A17014)($at)
|
||||
/* 0019C 80A1541C 3C0180A1 */ lui $at, %hi(D_80A17018) ## $at = 80A10000
|
||||
/* 001A0 80A15420 E4287018 */ swc1 $f8, %lo(D_80A17018)($at)
|
||||
/* 001A4 80A15424 8C880004 */ lw $t0, 0x0004($a0) ## 00000004
|
||||
/* 001A8 80A15428 35090010 */ ori $t1, $t0, 0x0010 ## $t1 = 00000010
|
||||
/* 001AC 80A1542C 0C2854C4 */ jal func_80A15310
|
||||
/* 001B0 80A15430 AC890004 */ sw $t1, 0x0004($a0) ## 00000004
|
||||
.L80A15434:
|
||||
/* 001B4 80A15434 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 001B8 80A15438 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 001BC 80A1543C 03E00008 */ jr $ra
|
||||
/* 001C0 80A15440 00000000 */ nop
|
|
@ -1,10 +0,0 @@
|
|||
glabel func_80A15444
|
||||
/* 001C4 80A15444 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
|
||||
/* 001C8 80A15448 3C0180A1 */ lui $at, %hi(D_80A17010) ## $at = 80A10000
|
||||
/* 001CC 80A1544C AC207010 */ sw $zero, %lo(D_80A17010)($at)
|
||||
/* 001D0 80A15450 3C0180A1 */ lui $at, %hi(D_80A17014) ## $at = 80A10000
|
||||
/* 001D4 80A15454 E4207014 */ swc1 $f0, %lo(D_80A17014)($at)
|
||||
/* 001D8 80A15458 3C0180A1 */ lui $at, %hi(D_80A17018) ## $at = 80A10000
|
||||
/* 001DC 80A1545C AFA40000 */ sw $a0, 0x0000($sp)
|
||||
/* 001E0 80A15460 03E00008 */ jr $ra
|
||||
/* 001E4 80A15464 E4207018 */ swc1 $f0, %lo(D_80A17018)($at)
|
|
@ -1,52 +0,0 @@
|
|||
glabel func_80A155D0
|
||||
/* 00350 80A155D0 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
|
||||
/* 00354 80A155D4 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00358 80A155D8 00802825 */ or $a1, $a0, $zero ## $a1 = 00000000
|
||||
/* 0035C 80A155DC 8484024E */ lh $a0, 0x024E($a0) ## 0000024E
|
||||
/* 00360 80A155E0 0C01DE1C */ jal Math_SinS
|
||||
## sins?
|
||||
/* 00364 80A155E4 AFA50020 */ sw $a1, 0x0020($sp)
|
||||
/* 00368 80A155E8 8FA50020 */ lw $a1, 0x0020($sp)
|
||||
/* 0036C 80A155EC E7A00018 */ swc1 $f0, 0x0018($sp)
|
||||
/* 00370 80A155F0 0C01DE1C */ jal Math_SinS
|
||||
## sins?
|
||||
/* 00374 80A155F4 84A4024C */ lh $a0, 0x024C($a1) ## 0000024C
|
||||
/* 00378 80A155F8 3C01C348 */ lui $at, 0xC348 ## $at = C3480000
|
||||
/* 0037C 80A155FC 44816000 */ mtc1 $at, $f12 ## $f12 = -200.00
|
||||
/* 00380 80A15600 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000
|
||||
/* 00384 80A15604 44813000 */ mtc1 $at, $f6 ## $f6 = 5.00
|
||||
/* 00388 80A15608 C7A40018 */ lwc1 $f4, 0x0018($sp)
|
||||
/* 0038C 80A1560C 3C014120 */ lui $at, 0x4120 ## $at = 41200000
|
||||
/* 00390 80A15610 44815000 */ mtc1 $at, $f10 ## $f10 = 10.00
|
||||
/* 00394 80A15614 46062202 */ mul.s $f8, $f4, $f6
|
||||
/* 00398 80A15618 8FA50020 */ lw $a1, 0x0020($sp)
|
||||
/* 0039C 80A1561C 3C014348 */ lui $at, 0x4348 ## $at = 43480000
|
||||
/* 003A0 80A15620 460A0402 */ mul.s $f16, $f0, $f10
|
||||
/* 003A4 80A15624 C4A400BC */ lwc1 $f4, 0x00BC($a1) ## 000000BC
|
||||
/* 003A8 80A15628 46088480 */ add.s $f18, $f16, $f8
|
||||
/* 003AC 80A1562C 46122180 */ add.s $f6, $f4, $f18
|
||||
/* 003B0 80A15630 E4A600BC */ swc1 $f6, 0x00BC($a1) ## 000000BC
|
||||
/* 003B4 80A15634 C4A200BC */ lwc1 $f2, 0x00BC($a1) ## 000000BC
|
||||
/* 003B8 80A15638 460C103C */ c.lt.s $f2, $f12
|
||||
/* 003BC 80A1563C 00000000 */ nop
|
||||
/* 003C0 80A15640 45020004 */ bc1fl .L80A15654
|
||||
/* 003C4 80A15644 44816000 */ mtc1 $at, $f12 ## $f12 = 200.00
|
||||
/* 003C8 80A15648 1000000B */ beq $zero, $zero, .L80A15678
|
||||
/* 003CC 80A1564C E4AC00BC */ swc1 $f12, 0x00BC($a1) ## 000000BC
|
||||
/* 003D0 80A15650 44816000 */ mtc1 $at, $f12 ## $f12 = 200.00
|
||||
.L80A15654:
|
||||
/* 003D4 80A15654 00000000 */ nop
|
||||
/* 003D8 80A15658 4602603C */ c.lt.s $f12, $f2
|
||||
/* 003DC 80A1565C 00000000 */ nop
|
||||
/* 003E0 80A15660 45020004 */ bc1fl .L80A15674
|
||||
/* 003E4 80A15664 46001006 */ mov.s $f0, $f2
|
||||
/* 003E8 80A15668 10000002 */ beq $zero, $zero, .L80A15674
|
||||
/* 003EC 80A1566C 46006006 */ mov.s $f0, $f12
|
||||
/* 003F0 80A15670 46001006 */ mov.s $f0, $f2
|
||||
.L80A15674:
|
||||
/* 003F4 80A15674 E4A000BC */ swc1 $f0, 0x00BC($a1) ## 000000BC
|
||||
.L80A15678:
|
||||
/* 003F8 80A15678 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 003FC 80A1567C 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
|
||||
/* 00400 80A15680 03E00008 */ jr $ra
|
||||
/* 00404 80A15684 00000000 */ nop
|
|
@ -1,63 +0,0 @@
|
|||
glabel func_80A15688
|
||||
/* 00408 80A15688 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
|
||||
/* 0040C 80A1568C AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00410 80A15690 3C014200 */ lui $at, 0x4200 ## $at = 42000000
|
||||
/* 00414 80A15694 44813000 */ mtc1 $at, $f6 ## $f6 = 32.00
|
||||
/* 00418 80A15698 C4840090 */ lwc1 $f4, 0x0090($a0) ## 00000090
|
||||
/* 0041C 80A1569C 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
|
||||
/* 00420 80A156A0 8CA21C44 */ lw $v0, 0x1C44($a1) ## 00001C44
|
||||
/* 00424 80A156A4 4606203C */ c.lt.s $f4, $f6
|
||||
/* 00428 80A156A8 34018000 */ ori $at, $zero, 0x8000 ## $at = 00008000
|
||||
/* 0042C 80A156AC 4502002D */ bc1fl .L80A15764
|
||||
/* 00430 80A156B0 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
||||
/* 00434 80A156B4 8484008A */ lh $a0, 0x008A($a0) ## 0000008A
|
||||
/* 00438 80A156B8 AFA60030 */ sw $a2, 0x0030($sp)
|
||||
/* 0043C 80A156BC AFA20028 */ sw $v0, 0x0028($sp)
|
||||
/* 00440 80A156C0 00812021 */ addu $a0, $a0, $at
|
||||
/* 00444 80A156C4 00042400 */ sll $a0, $a0, 16
|
||||
/* 00448 80A156C8 0C01DE1C */ jal Math_SinS
|
||||
## sins?
|
||||
/* 0044C 80A156CC 00042403 */ sra $a0, $a0, 16
|
||||
/* 00450 80A156D0 3C014180 */ lui $at, 0x4180 ## $at = 41800000
|
||||
/* 00454 80A156D4 44814000 */ mtc1 $at, $f8 ## $f8 = 16.00
|
||||
/* 00458 80A156D8 8FA20028 */ lw $v0, 0x0028($sp)
|
||||
/* 0045C 80A156DC 8FAE0030 */ lw $t6, 0x0030($sp)
|
||||
/* 00460 80A156E0 46080282 */ mul.s $f10, $f0, $f8
|
||||
/* 00464 80A156E4 C4500024 */ lwc1 $f16, 0x0024($v0) ## 00000024
|
||||
/* 00468 80A156E8 34018000 */ ori $at, $zero, 0x8000 ## $at = 00008000
|
||||
/* 0046C 80A156EC 46105480 */ add.s $f18, $f10, $f16
|
||||
/* 00470 80A156F0 E7B2001C */ swc1 $f18, 0x001C($sp)
|
||||
/* 00474 80A156F4 C4440028 */ lwc1 $f4, 0x0028($v0) ## 00000028
|
||||
/* 00478 80A156F8 E7A40020 */ swc1 $f4, 0x0020($sp)
|
||||
/* 0047C 80A156FC 85C4008A */ lh $a0, 0x008A($t6) ## 0000008A
|
||||
/* 00480 80A15700 00812021 */ addu $a0, $a0, $at
|
||||
/* 00484 80A15704 00042400 */ sll $a0, $a0, 16
|
||||
/* 00488 80A15708 0C01DE0D */ jal Math_CosS
|
||||
## coss?
|
||||
/* 0048C 80A1570C 00042403 */ sra $a0, $a0, 16
|
||||
/* 00490 80A15710 3C014180 */ lui $at, 0x4180 ## $at = 41800000
|
||||
/* 00494 80A15714 44813000 */ mtc1 $at, $f6 ## $f6 = 16.00
|
||||
/* 00498 80A15718 8FA20028 */ lw $v0, 0x0028($sp)
|
||||
/* 0049C 80A1571C 8FA50030 */ lw $a1, 0x0030($sp)
|
||||
/* 004A0 80A15720 46060202 */ mul.s $f8, $f0, $f6
|
||||
/* 004A4 80A15724 C44A002C */ lwc1 $f10, 0x002C($v0) ## 0000002C
|
||||
/* 004A8 80A15728 27A4001C */ addiu $a0, $sp, 0x001C ## $a0 = FFFFFFEC
|
||||
/* 004AC 80A1572C 24A50024 */ addiu $a1, $a1, 0x0024 ## $a1 = 00000024
|
||||
/* 004B0 80A15730 460A4400 */ add.s $f16, $f8, $f10
|
||||
/* 004B4 80A15734 0C2854A0 */ jal func_80A15280
|
||||
/* 004B8 80A15738 E7B00024 */ swc1 $f16, 0x0024($sp)
|
||||
/* 004BC 80A1573C 3C0143C8 */ lui $at, 0x43C8 ## $at = 43C80000
|
||||
/* 004C0 80A15740 44819000 */ mtc1 $at, $f18 ## $f18 = 400.00
|
||||
/* 004C4 80A15744 00000000 */ nop
|
||||
/* 004C8 80A15748 4612003E */ c.le.s $f0, $f18
|
||||
/* 004CC 80A1574C 00000000 */ nop
|
||||
/* 004D0 80A15750 45020004 */ bc1fl .L80A15764
|
||||
/* 004D4 80A15754 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
||||
/* 004D8 80A15758 10000002 */ beq $zero, $zero, .L80A15764
|
||||
/* 004DC 80A1575C 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
|
||||
/* 004E0 80A15760 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
||||
.L80A15764:
|
||||
/* 004E4 80A15764 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 004E8 80A15768 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
|
||||
/* 004EC 80A1576C 03E00008 */ jr $ra
|
||||
/* 004F0 80A15770 00000000 */ nop
|
|
@ -1,14 +0,0 @@
|
|||
glabel func_80A15774
|
||||
/* 004F4 80A15774 AFA50004 */ sw $a1, 0x0004($sp)
|
||||
/* 004F8 80A15778 3C014270 */ lui $at, 0x4270 ## $at = 42700000
|
||||
/* 004FC 80A1577C 44813000 */ mtc1 $at, $f6 ## $f6 = 60.00
|
||||
/* 00500 80A15780 C4840090 */ lwc1 $f4, 0x0090($a0) ## 00000090
|
||||
/* 00504 80A15784 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
||||
/* 00508 80A15788 4606203C */ c.lt.s $f4, $f6
|
||||
/* 0050C 80A1578C 00000000 */ nop
|
||||
/* 00510 80A15790 45000002 */ bc1f .L80A1579C
|
||||
/* 00514 80A15794 00000000 */ nop
|
||||
/* 00518 80A15798 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
|
||||
.L80A1579C:
|
||||
/* 0051C 80A1579C 03E00008 */ jr $ra
|
||||
/* 00520 80A157A0 00000000 */ nop
|
|
@ -1,24 +0,0 @@
|
|||
glabel func_80A157A4
|
||||
/* 00524 80A157A4 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
|
||||
/* 00528 80A157A8 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 0052C 80A157AC AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00530 80A157B0 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
|
||||
/* 00534 80A157B4 E480006C */ swc1 $f0, 0x006C($a0) ## 0000006C
|
||||
/* 00538 80A157B8 E4800070 */ swc1 $f0, 0x0070($a0) ## 00000070
|
||||
/* 0053C 80A157BC AFA60018 */ sw $a2, 0x0018($sp)
|
||||
/* 00540 80A157C0 24040005 */ addiu $a0, $zero, 0x0005 ## $a0 = 00000005
|
||||
/* 00544 80A157C4 0C01DF64 */ jal Rand_S16Offset
|
||||
|
||||
/* 00548 80A157C8 24050023 */ addiu $a1, $zero, 0x0023 ## $a1 = 00000023
|
||||
/* 0054C 80A157CC 8FA40018 */ lw $a0, 0x0018($sp)
|
||||
/* 00550 80A157D0 A4820248 */ sh $v0, 0x0248($a0) ## 00000248
|
||||
/* 00554 80A157D4 0C2854AB */ jal func_80A152AC
|
||||
/* 00558 80A157D8 AC800250 */ sw $zero, 0x0250($a0) ## 00000250
|
||||
/* 0055C 80A157DC 8FA60018 */ lw $a2, 0x0018($sp)
|
||||
/* 00560 80A157E0 3C0E80A1 */ lui $t6, %hi(func_80A157FC) ## $t6 = 80A10000
|
||||
/* 00564 80A157E4 25CE57FC */ addiu $t6, $t6, %lo(func_80A157FC) ## $t6 = 80A157FC
|
||||
/* 00568 80A157E8 ACCE0244 */ sw $t6, 0x0244($a2) ## 00000244
|
||||
/* 0056C 80A157EC 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00570 80A157F0 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 00574 80A157F4 03E00008 */ jr $ra
|
||||
/* 00578 80A157F8 00000000 */ nop
|
|
@ -1,75 +0,0 @@
|
|||
.late_rodata
|
||||
glabel D_80A1719C
|
||||
.float 1.4
|
||||
|
||||
glabel D_80A171A0
|
||||
.float 0.8
|
||||
|
||||
.text
|
||||
glabel func_80A157FC
|
||||
/* 0057C 80A157FC 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
|
||||
/* 00580 80A15800 AFBF0024 */ sw $ra, 0x0024($sp)
|
||||
/* 00584 80A15804 AFB00020 */ sw $s0, 0x0020($sp)
|
||||
/* 00588 80A15808 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 0058C 80A1580C 0C285574 */ jal func_80A155D0
|
||||
/* 00590 80A15810 AFA5002C */ sw $a1, 0x002C($sp)
|
||||
/* 00594 80A15814 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
|
||||
/* 00598 80A15818 3C063D4C */ lui $a2, 0x3D4C ## $a2 = 3D4C0000
|
||||
/* 0059C 80A1581C 3C073E99 */ lui $a3, 0x3E99 ## $a3 = 3E990000
|
||||
/* 005A0 80A15820 44050000 */ mfc1 $a1, $f0
|
||||
/* 005A4 80A15824 34E7999A */ ori $a3, $a3, 0x999A ## $a3 = 3E99999A
|
||||
/* 005A8 80A15828 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3D4CCCCD
|
||||
/* 005AC 80A1582C 26040068 */ addiu $a0, $s0, 0x0068 ## $a0 = 00000068
|
||||
/* 005B0 80A15830 0C01E0C4 */ jal Math_SmoothStepToF
|
||||
|
||||
/* 005B4 80A15834 E7A00010 */ swc1 $f0, 0x0010($sp)
|
||||
/* 005B8 80A15838 3C014000 */ lui $at, 0x4000 ## $at = 40000000
|
||||
/* 005BC 80A1583C 44811000 */ mtc1 $at, $f2 ## $f2 = 2.00
|
||||
/* 005C0 80A15840 3C0180A1 */ lui $at, %hi(D_80A1719C) ## $at = 80A10000
|
||||
/* 005C4 80A15844 C426719C */ lwc1 $f6, %lo(D_80A1719C)($at)
|
||||
/* 005C8 80A15848 C6040068 */ lwc1 $f4, 0x0068($s0) ## 00000068
|
||||
/* 005CC 80A1584C 3C0180A1 */ lui $at, %hi(D_80A171A0) ## $at = 80A10000
|
||||
/* 005D0 80A15850 C42A71A0 */ lwc1 $f10, %lo(D_80A171A0)($at)
|
||||
/* 005D4 80A15854 46062202 */ mul.s $f8, $f4, $f6
|
||||
/* 005D8 80A15858 460A4000 */ add.s $f0, $f8, $f10
|
||||
/* 005DC 80A1585C 4600103C */ c.lt.s $f2, $f0
|
||||
/* 005E0 80A15860 00000000 */ nop
|
||||
/* 005E4 80A15864 45020004 */ bc1fl .L80A15878
|
||||
/* 005E8 80A15868 E60001C8 */ swc1 $f0, 0x01C8($s0) ## 000001C8
|
||||
/* 005EC 80A1586C 10000002 */ beq $zero, $zero, .L80A15878
|
||||
/* 005F0 80A15870 E60201C8 */ swc1 $f2, 0x01C8($s0) ## 000001C8
|
||||
/* 005F4 80A15874 E60001C8 */ swc1 $f0, 0x01C8($s0) ## 000001C8
|
||||
.L80A15878:
|
||||
/* 005F8 80A15878 0C02927F */ jal SkelAnime_Update
|
||||
|
||||
/* 005FC 80A1587C 260401AC */ addiu $a0, $s0, 0x01AC ## $a0 = 000001AC
|
||||
/* 00600 80A15880 860F0248 */ lh $t7, 0x0248($s0) ## 00000248
|
||||
/* 00604 80A15884 860E0032 */ lh $t6, 0x0032($s0) ## 00000032
|
||||
/* 00608 80A15888 1DE00005 */ bgtz $t7, .L80A158A0
|
||||
/* 0060C 80A1588C A60E00B6 */ sh $t6, 0x00B6($s0) ## 000000B6
|
||||
/* 00610 80A15890 0C28563B */ jal func_80A158EC
|
||||
/* 00614 80A15894 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00618 80A15898 10000010 */ beq $zero, $zero, .L80A158DC
|
||||
/* 0061C 80A1589C 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
.L80A158A0:
|
||||
/* 00620 80A158A0 8E18011C */ lw $t8, 0x011C($s0) ## 0000011C
|
||||
/* 00624 80A158A4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00628 80A158A8 16180005 */ bne $s0, $t8, .L80A158C0
|
||||
/* 0062C 80A158AC 00000000 */ nop
|
||||
/* 00630 80A158B0 0C285746 */ jal func_80A15D18
|
||||
/* 00634 80A158B4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00638 80A158B8 10000008 */ beq $zero, $zero, .L80A158DC
|
||||
/* 0063C 80A158BC 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
.L80A158C0:
|
||||
/* 00640 80A158C0 0C2855DD */ jal func_80A15774
|
||||
/* 00644 80A158C4 8FA5002C */ lw $a1, 0x002C($sp)
|
||||
/* 00648 80A158C8 50400004 */ beql $v0, $zero, .L80A158DC
|
||||
/* 0064C 80A158CC 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
/* 00650 80A158D0 0C2856B5 */ jal func_80A15AD4
|
||||
/* 00654 80A158D4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00658 80A158D8 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
.L80A158DC:
|
||||
/* 0065C 80A158DC 8FB00020 */ lw $s0, 0x0020($sp)
|
||||
/* 00660 80A158E0 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
|
||||
/* 00664 80A158E4 03E00008 */ jr $ra
|
||||
/* 00668 80A158E8 00000000 */ nop
|
|
@ -1,24 +0,0 @@
|
|||
glabel func_80A158EC
|
||||
/* 0066C 80A158EC 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
|
||||
/* 00670 80A158F0 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 00674 80A158F4 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00678 80A158F8 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
|
||||
/* 0067C 80A158FC E480006C */ swc1 $f0, 0x006C($a0) ## 0000006C
|
||||
/* 00680 80A15900 E4800070 */ swc1 $f0, 0x0070($a0) ## 00000070
|
||||
/* 00684 80A15904 AFA60018 */ sw $a2, 0x0018($sp)
|
||||
/* 00688 80A15908 2404000F */ addiu $a0, $zero, 0x000F ## $a0 = 0000000F
|
||||
/* 0068C 80A1590C 0C01DF64 */ jal Rand_S16Offset
|
||||
|
||||
/* 00690 80A15910 2405002D */ addiu $a1, $zero, 0x002D ## $a1 = 0000002D
|
||||
/* 00694 80A15914 8FA40018 */ lw $a0, 0x0018($sp)
|
||||
/* 00698 80A15918 A4820248 */ sh $v0, 0x0248($a0) ## 00000248
|
||||
/* 0069C 80A1591C 0C2854AB */ jal func_80A152AC
|
||||
/* 006A0 80A15920 AC800250 */ sw $zero, 0x0250($a0) ## 00000250
|
||||
/* 006A4 80A15924 8FA60018 */ lw $a2, 0x0018($sp)
|
||||
/* 006A8 80A15928 3C0E80A1 */ lui $t6, %hi(func_80A15944) ## $t6 = 80A10000
|
||||
/* 006AC 80A1592C 25CE5944 */ addiu $t6, $t6, %lo(func_80A15944) ## $t6 = 80A15944
|
||||
/* 006B0 80A15930 ACCE0244 */ sw $t6, 0x0244($a2) ## 00000244
|
||||
/* 006B4 80A15934 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 006B8 80A15938 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 006BC 80A1593C 03E00008 */ jr $ra
|
||||
/* 006C0 80A15940 00000000 */ nop
|
|
@ -1,117 +0,0 @@
|
|||
.late_rodata
|
||||
glabel D_80A171A4
|
||||
.float 0.8
|
||||
|
||||
.text
|
||||
glabel func_80A15944
|
||||
/* 006C4 80A15944 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8
|
||||
/* 006C8 80A15948 AFBF0024 */ sw $ra, 0x0024($sp)
|
||||
/* 006CC 80A1594C AFB00020 */ sw $s0, 0x0020($sp)
|
||||
/* 006D0 80A15950 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 006D4 80A15954 0C285574 */ jal func_80A155D0
|
||||
/* 006D8 80A15958 AFA5003C */ sw $a1, 0x003C($sp)
|
||||
/* 006DC 80A1595C 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
|
||||
/* 006E0 80A15960 3C053FE6 */ lui $a1, 0x3FE6 ## $a1 = 3FE60000
|
||||
/* 006E4 80A15964 3C063DA3 */ lui $a2, 0x3DA3 ## $a2 = 3DA30000
|
||||
/* 006E8 80A15968 3C073ECC */ lui $a3, 0x3ECC ## $a3 = 3ECC0000
|
||||
/* 006EC 80A1596C 34E7CCCD */ ori $a3, $a3, 0xCCCD ## $a3 = 3ECCCCCD
|
||||
/* 006F0 80A15970 34C6D70A */ ori $a2, $a2, 0xD70A ## $a2 = 3DA3D70A
|
||||
/* 006F4 80A15974 34A56666 */ ori $a1, $a1, 0x6666 ## $a1 = 3FE66666
|
||||
/* 006F8 80A15978 26040068 */ addiu $a0, $s0, 0x0068 ## $a0 = 00000068
|
||||
/* 006FC 80A1597C 0C01E0C4 */ jal Math_SmoothStepToF
|
||||
|
||||
/* 00700 80A15980 E7A40010 */ swc1 $f4, 0x0010($sp)
|
||||
/* 00704 80A15984 26040024 */ addiu $a0, $s0, 0x0024 ## $a0 = 00000024
|
||||
/* 00708 80A15988 26050008 */ addiu $a1, $s0, 0x0008 ## $a1 = 00000008
|
||||
/* 0070C 80A1598C AFA50028 */ sw $a1, 0x0028($sp)
|
||||
/* 00710 80A15990 0C2854A0 */ jal func_80A15280
|
||||
/* 00714 80A15994 AFA4002C */ sw $a0, 0x002C($sp)
|
||||
/* 00718 80A15998 3C0145C8 */ lui $at, 0x45C8 ## $at = 45C80000
|
||||
/* 0071C 80A1599C 44813000 */ mtc1 $at, $f6 ## $f6 = 6400.00
|
||||
/* 00720 80A159A0 8FA4002C */ lw $a0, 0x002C($sp)
|
||||
/* 00724 80A159A4 8FA50028 */ lw $a1, 0x0028($sp)
|
||||
/* 00728 80A159A8 4600303C */ c.lt.s $f6, $f0
|
||||
/* 0072C 80A159AC 00000000 */ nop
|
||||
/* 00730 80A159B0 45010005 */ bc1t .L80A159C8
|
||||
/* 00734 80A159B4 00000000 */ nop
|
||||
/* 00738 80A159B8 860E0248 */ lh $t6, 0x0248($s0) ## 00000248
|
||||
/* 0073C 80A159BC 29C10004 */ slti $at, $t6, 0x0004
|
||||
/* 00740 80A159C0 5020000B */ beql $at, $zero, .L80A159F0
|
||||
/* 00744 80A159C4 8E02011C */ lw $v0, 0x011C($s0) ## 0000011C
|
||||
.L80A159C8:
|
||||
/* 00748 80A159C8 0C01E01A */ jal Math_Vec3f_Yaw
|
||||
|
||||
/* 0074C 80A159CC 00000000 */ nop
|
||||
/* 00750 80A159D0 00022C00 */ sll $a1, $v0, 16
|
||||
/* 00754 80A159D4 00052C03 */ sra $a1, $a1, 16
|
||||
/* 00758 80A159D8 26040032 */ addiu $a0, $s0, 0x0032 ## $a0 = 00000032
|
||||
/* 0075C 80A159DC 0C01DED6 */ jal Math_StepToAngleS
|
||||
/* 00760 80A159E0 24060BB8 */ addiu $a2, $zero, 0x0BB8 ## $a2 = 00000BB8
|
||||
/* 00764 80A159E4 1000000E */ beq $zero, $zero, .L80A15A20
|
||||
/* 00768 80A159E8 3C014080 */ lui $at, 0x4080 ## $at = 40800000
|
||||
/* 0076C 80A159EC 8E02011C */ lw $v0, 0x011C($s0) ## 0000011C
|
||||
.L80A159F0:
|
||||
/* 00770 80A159F0 5040000B */ beql $v0, $zero, .L80A15A20
|
||||
/* 00774 80A159F4 3C014080 */ lui $at, 0x4080 ## $at = 40800000
|
||||
/* 00778 80A159F8 52020009 */ beql $s0, $v0, .L80A15A20
|
||||
/* 0077C 80A159FC 3C014080 */ lui $at, 0x4080 ## $at = 40800000
|
||||
/* 00780 80A15A00 0C01E01A */ jal Math_Vec3f_Yaw
|
||||
|
||||
/* 00784 80A15A04 24450024 */ addiu $a1, $v0, 0x0024 ## $a1 = 00000024
|
||||
/* 00788 80A15A08 00022C00 */ sll $a1, $v0, 16
|
||||
/* 0078C 80A15A0C 00052C03 */ sra $a1, $a1, 16
|
||||
/* 00790 80A15A10 26040032 */ addiu $a0, $s0, 0x0032 ## $a0 = 00000032
|
||||
/* 00794 80A15A14 0C01DED6 */ jal Math_StepToAngleS
|
||||
/* 00798 80A15A18 24060BB8 */ addiu $a2, $zero, 0x0BB8 ## $a2 = 00000BB8
|
||||
/* 0079C 80A15A1C 3C014080 */ lui $at, 0x4080 ## $at = 40800000
|
||||
.L80A15A20:
|
||||
/* 007A0 80A15A20 44811000 */ mtc1 $at, $f2 ## $f2 = 4.00
|
||||
/* 007A4 80A15A24 3C013FC0 */ lui $at, 0x3FC0 ## $at = 3FC00000
|
||||
/* 007A8 80A15A28 44815000 */ mtc1 $at, $f10 ## $f10 = 1.50
|
||||
/* 007AC 80A15A2C C6080068 */ lwc1 $f8, 0x0068($s0) ## 00000068
|
||||
/* 007B0 80A15A30 860F0032 */ lh $t7, 0x0032($s0) ## 00000032
|
||||
/* 007B4 80A15A34 3C0180A1 */ lui $at, %hi(D_80A171A4) ## $at = 80A10000
|
||||
/* 007B8 80A15A38 460A4402 */ mul.s $f16, $f8, $f10
|
||||
/* 007BC 80A15A3C A60F00B6 */ sh $t7, 0x00B6($s0) ## 000000B6
|
||||
/* 007C0 80A15A40 C43271A4 */ lwc1 $f18, %lo(D_80A171A4)($at)
|
||||
/* 007C4 80A15A44 46128000 */ add.s $f0, $f16, $f18
|
||||
/* 007C8 80A15A48 4600103C */ c.lt.s $f2, $f0
|
||||
/* 007CC 80A15A4C 00000000 */ nop
|
||||
/* 007D0 80A15A50 45020004 */ bc1fl .L80A15A64
|
||||
/* 007D4 80A15A54 E60001C8 */ swc1 $f0, 0x01C8($s0) ## 000001C8
|
||||
/* 007D8 80A15A58 10000002 */ beq $zero, $zero, .L80A15A64
|
||||
/* 007DC 80A15A5C E60201C8 */ swc1 $f2, 0x01C8($s0) ## 000001C8
|
||||
/* 007E0 80A15A60 E60001C8 */ swc1 $f0, 0x01C8($s0) ## 000001C8
|
||||
.L80A15A64:
|
||||
/* 007E4 80A15A64 0C02927F */ jal SkelAnime_Update
|
||||
|
||||
/* 007E8 80A15A68 260401AC */ addiu $a0, $s0, 0x01AC ## $a0 = 000001AC
|
||||
/* 007EC 80A15A6C 86180248 */ lh $t8, 0x0248($s0) ## 00000248
|
||||
/* 007F0 80A15A70 5F000006 */ bgtzl $t8, .L80A15A8C
|
||||
/* 007F4 80A15A74 8E19011C */ lw $t9, 0x011C($s0) ## 0000011C
|
||||
/* 007F8 80A15A78 0C2855E9 */ jal func_80A157A4
|
||||
/* 007FC 80A15A7C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00800 80A15A80 10000010 */ beq $zero, $zero, .L80A15AC4
|
||||
/* 00804 80A15A84 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
/* 00808 80A15A88 8E19011C */ lw $t9, 0x011C($s0) ## 0000011C
|
||||
.L80A15A8C:
|
||||
/* 0080C 80A15A8C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00810 80A15A90 16190005 */ bne $s0, $t9, .L80A15AA8
|
||||
/* 00814 80A15A94 00000000 */ nop
|
||||
/* 00818 80A15A98 0C285746 */ jal func_80A15D18
|
||||
/* 0081C 80A15A9C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00820 80A15AA0 10000008 */ beq $zero, $zero, .L80A15AC4
|
||||
/* 00824 80A15AA4 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
.L80A15AA8:
|
||||
/* 00828 80A15AA8 0C2855DD */ jal func_80A15774
|
||||
/* 0082C 80A15AAC 8FA5003C */ lw $a1, 0x003C($sp)
|
||||
/* 00830 80A15AB0 50400004 */ beql $v0, $zero, .L80A15AC4
|
||||
/* 00834 80A15AB4 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
/* 00838 80A15AB8 0C2856B5 */ jal func_80A15AD4
|
||||
/* 0083C 80A15ABC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00840 80A15AC0 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
.L80A15AC4:
|
||||
/* 00844 80A15AC4 8FB00020 */ lw $s0, 0x0020($sp)
|
||||
/* 00848 80A15AC8 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000
|
||||
/* 0084C 80A15ACC 03E00008 */ jr $ra
|
||||
/* 00850 80A15AD0 00000000 */ nop
|
|
@ -1,24 +0,0 @@
|
|||
glabel func_80A15AD4
|
||||
/* 00854 80A15AD4 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
|
||||
/* 00858 80A15AD8 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 0085C 80A15ADC AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00860 80A15AE0 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
|
||||
/* 00864 80A15AE4 E480006C */ swc1 $f0, 0x006C($a0) ## 0000006C
|
||||
/* 00868 80A15AE8 E4800070 */ swc1 $f0, 0x0070($a0) ## 00000070
|
||||
/* 0086C 80A15AEC AFA60018 */ sw $a2, 0x0018($sp)
|
||||
/* 00870 80A15AF0 2404000A */ addiu $a0, $zero, 0x000A ## $a0 = 0000000A
|
||||
/* 00874 80A15AF4 0C01DF64 */ jal Rand_S16Offset
|
||||
|
||||
/* 00878 80A15AF8 24050028 */ addiu $a1, $zero, 0x0028 ## $a1 = 00000028
|
||||
/* 0087C 80A15AFC 8FA40018 */ lw $a0, 0x0018($sp)
|
||||
/* 00880 80A15B00 A4820248 */ sh $v0, 0x0248($a0) ## 00000248
|
||||
/* 00884 80A15B04 0C2854AB */ jal func_80A152AC
|
||||
/* 00888 80A15B08 AC800250 */ sw $zero, 0x0250($a0) ## 00000250
|
||||
/* 0088C 80A15B0C 8FA60018 */ lw $a2, 0x0018($sp)
|
||||
/* 00890 80A15B10 3C0E80A1 */ lui $t6, %hi(func_80A15B2C) ## $t6 = 80A10000
|
||||
/* 00894 80A15B14 25CE5B2C */ addiu $t6, $t6, %lo(func_80A15B2C) ## $t6 = 80A15B2C
|
||||
/* 00898 80A15B18 ACCE0244 */ sw $t6, 0x0244($a2) ## 00000244
|
||||
/* 0089C 80A15B1C 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 008A0 80A15B20 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 008A4 80A15B24 03E00008 */ jr $ra
|
||||
/* 008A8 80A15B28 00000000 */ nop
|
|
@ -1,144 +0,0 @@
|
|||
.late_rodata
|
||||
glabel D_80A171A8
|
||||
.float 0.8
|
||||
|
||||
.text
|
||||
glabel func_80A15B2C
|
||||
/* 008AC 80A15B2C 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0
|
||||
/* 008B0 80A15B30 AFBF0024 */ sw $ra, 0x0024($sp)
|
||||
/* 008B4 80A15B34 AFB00020 */ sw $s0, 0x0020($sp)
|
||||
/* 008B8 80A15B38 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 008BC 80A15B3C 0C285574 */ jal func_80A155D0
|
||||
/* 008C0 80A15B40 AFA50044 */ sw $a1, 0x0044($sp)
|
||||
/* 008C4 80A15B44 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 008C8 80A15B48 0C2855DD */ jal func_80A15774
|
||||
/* 008CC 80A15B4C 8FA50044 */ lw $a1, 0x0044($sp)
|
||||
/* 008D0 80A15B50 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
|
||||
/* 008D4 80A15B54 3C054086 */ lui $a1, 0x4086 ## $a1 = 40860000
|
||||
/* 008D8 80A15B58 3C063DA3 */ lui $a2, 0x3DA3 ## $a2 = 3DA30000
|
||||
/* 008DC 80A15B5C 3C073FB3 */ lui $a3, 0x3FB3 ## $a3 = 3FB30000
|
||||
/* 008E0 80A15B60 A7A20034 */ sh $v0, 0x0034($sp)
|
||||
/* 008E4 80A15B64 34E73333 */ ori $a3, $a3, 0x3333 ## $a3 = 3FB33333
|
||||
/* 008E8 80A15B68 34C6D70A */ ori $a2, $a2, 0xD70A ## $a2 = 3DA3D70A
|
||||
/* 008EC 80A15B6C 34A56666 */ ori $a1, $a1, 0x6666 ## $a1 = 40866666
|
||||
/* 008F0 80A15B70 26040068 */ addiu $a0, $s0, 0x0068 ## $a0 = 00000068
|
||||
/* 008F4 80A15B74 0C01E0C4 */ jal Math_SmoothStepToF
|
||||
|
||||
/* 008F8 80A15B78 E7A40010 */ swc1 $f4, 0x0010($sp)
|
||||
/* 008FC 80A15B7C 26040024 */ addiu $a0, $s0, 0x0024 ## $a0 = 00000024
|
||||
/* 00900 80A15B80 26050008 */ addiu $a1, $s0, 0x0008 ## $a1 = 00000008
|
||||
/* 00904 80A15B84 AFA5002C */ sw $a1, 0x002C($sp)
|
||||
/* 00908 80A15B88 0C2854A0 */ jal func_80A15280
|
||||
/* 0090C 80A15B8C AFA40030 */ sw $a0, 0x0030($sp)
|
||||
/* 00910 80A15B90 3C0146C8 */ lui $at, 0x46C8 ## $at = 46C80000
|
||||
/* 00914 80A15B94 44813000 */ mtc1 $at, $f6 ## $f6 = 25600.00
|
||||
/* 00918 80A15B98 8FA40030 */ lw $a0, 0x0030($sp)
|
||||
/* 0091C 80A15B9C 8FA5002C */ lw $a1, 0x002C($sp)
|
||||
/* 00920 80A15BA0 4600303C */ c.lt.s $f6, $f0
|
||||
/* 00924 80A15BA4 00000000 */ nop
|
||||
/* 00928 80A15BA8 4502000B */ bc1fl .L80A15BD8
|
||||
/* 0092C 80A15BAC 8E02011C */ lw $v0, 0x011C($s0) ## 0000011C
|
||||
/* 00930 80A15BB0 0C01E01A */ jal Math_Vec3f_Yaw
|
||||
|
||||
/* 00934 80A15BB4 00000000 */ nop
|
||||
/* 00938 80A15BB8 00022C00 */ sll $a1, $v0, 16
|
||||
/* 0093C 80A15BBC 00052C03 */ sra $a1, $a1, 16
|
||||
/* 00940 80A15BC0 26040032 */ addiu $a0, $s0, 0x0032 ## $a0 = 00000032
|
||||
/* 00944 80A15BC4 0C01DED6 */ jal Math_StepToAngleS
|
||||
/* 00948 80A15BC8 24060BB8 */ addiu $a2, $zero, 0x0BB8 ## $a2 = 00000BB8
|
||||
/* 0094C 80A15BCC 1000002B */ beq $zero, $zero, .L80A15C7C
|
||||
/* 00950 80A15BD0 3C014080 */ lui $at, 0x4080 ## $at = 40800000
|
||||
/* 00954 80A15BD4 8E02011C */ lw $v0, 0x011C($s0) ## 0000011C
|
||||
.L80A15BD8:
|
||||
/* 00958 80A15BD8 87AE0034 */ lh $t6, 0x0034($sp)
|
||||
/* 0095C 80A15BDC 1040000C */ beq $v0, $zero, .L80A15C10
|
||||
/* 00960 80A15BE0 00000000 */ nop
|
||||
/* 00964 80A15BE4 1202000A */ beq $s0, $v0, .L80A15C10
|
||||
/* 00968 80A15BE8 00000000 */ nop
|
||||
/* 0096C 80A15BEC 0C01E01A */ jal Math_Vec3f_Yaw
|
||||
|
||||
/* 00970 80A15BF0 24450024 */ addiu $a1, $v0, 0x0024 ## $a1 = 00000024
|
||||
/* 00974 80A15BF4 00022C00 */ sll $a1, $v0, 16
|
||||
/* 00978 80A15BF8 00052C03 */ sra $a1, $a1, 16
|
||||
/* 0097C 80A15BFC 26040032 */ addiu $a0, $s0, 0x0032 ## $a0 = 00000032
|
||||
/* 00980 80A15C00 0C01DED6 */ jal Math_StepToAngleS
|
||||
/* 00984 80A15C04 240607D0 */ addiu $a2, $zero, 0x07D0 ## $a2 = 000007D0
|
||||
/* 00988 80A15C08 1000001C */ beq $zero, $zero, .L80A15C7C
|
||||
/* 0098C 80A15C0C 3C014080 */ lui $at, 0x4080 ## $at = 40800000
|
||||
.L80A15C10:
|
||||
/* 00990 80A15C10 11C00019 */ beq $t6, $zero, .L80A15C78
|
||||
/* 00994 80A15C14 8FA30044 */ lw $v1, 0x0044($sp)
|
||||
/* 00998 80A15C18 8605008A */ lh $a1, 0x008A($s0) ## 0000008A
|
||||
/* 0099C 80A15C1C 8462009E */ lh $v0, 0x009E($v1) ## 0000009E
|
||||
/* 009A0 80A15C20 34018000 */ ori $at, $zero, 0x8000 ## $at = 00008000
|
||||
/* 009A4 80A15C24 00A12821 */ addu $a1, $a1, $at
|
||||
/* 009A8 80A15C28 00052C00 */ sll $a1, $a1, 16
|
||||
/* 009AC 80A15C2C 304F0010 */ andi $t7, $v0, 0x0010 ## $t7 = 00000000
|
||||
/* 009B0 80A15C30 11E00008 */ beq $t7, $zero, .L80A15C54
|
||||
/* 009B4 80A15C34 00052C03 */ sra $a1, $a1, 16
|
||||
/* 009B8 80A15C38 30580020 */ andi $t8, $v0, 0x0020 ## $t8 = 00000000
|
||||
/* 009BC 80A15C3C 5300000C */ beql $t8, $zero, .L80A15C70
|
||||
/* 009C0 80A15C40 26040032 */ addiu $a0, $s0, 0x0032 ## $a0 = 00000032
|
||||
/* 009C4 80A15C44 24A52000 */ addiu $a1, $a1, 0x2000 ## $a1 = 00002000
|
||||
/* 009C8 80A15C48 00052C00 */ sll $a1, $a1, 16
|
||||
/* 009CC 80A15C4C 10000007 */ beq $zero, $zero, .L80A15C6C
|
||||
/* 009D0 80A15C50 00052C03 */ sra $a1, $a1, 16
|
||||
.L80A15C54:
|
||||
/* 009D4 80A15C54 30590020 */ andi $t9, $v0, 0x0020 ## $t9 = 00000000
|
||||
/* 009D8 80A15C58 53200005 */ beql $t9, $zero, .L80A15C70
|
||||
/* 009DC 80A15C5C 26040032 */ addiu $a0, $s0, 0x0032 ## $a0 = 00000032
|
||||
/* 009E0 80A15C60 24A5E000 */ addiu $a1, $a1, 0xE000 ## $a1 = 00000000
|
||||
/* 009E4 80A15C64 00052C00 */ sll $a1, $a1, 16
|
||||
/* 009E8 80A15C68 00052C03 */ sra $a1, $a1, 16
|
||||
.L80A15C6C:
|
||||
/* 009EC 80A15C6C 26040032 */ addiu $a0, $s0, 0x0032 ## $a0 = 00000032
|
||||
.L80A15C70:
|
||||
/* 009F0 80A15C70 0C01DED6 */ jal Math_StepToAngleS
|
||||
/* 009F4 80A15C74 240607D0 */ addiu $a2, $zero, 0x07D0 ## $a2 = 000007D0
|
||||
.L80A15C78:
|
||||
/* 009F8 80A15C78 3C014080 */ lui $at, 0x4080 ## $at = 40800000
|
||||
.L80A15C7C:
|
||||
/* 009FC 80A15C7C 44811000 */ mtc1 $at, $f2 ## $f2 = 4.00
|
||||
/* 00A00 80A15C80 3C013FC0 */ lui $at, 0x3FC0 ## $at = 3FC00000
|
||||
/* 00A04 80A15C84 44815000 */ mtc1 $at, $f10 ## $f10 = 1.50
|
||||
/* 00A08 80A15C88 C6080068 */ lwc1 $f8, 0x0068($s0) ## 00000068
|
||||
/* 00A0C 80A15C8C 86080032 */ lh $t0, 0x0032($s0) ## 00000032
|
||||
/* 00A10 80A15C90 3C0180A1 */ lui $at, %hi(D_80A171A8) ## $at = 80A10000
|
||||
/* 00A14 80A15C94 460A4402 */ mul.s $f16, $f8, $f10
|
||||
/* 00A18 80A15C98 A60800B6 */ sh $t0, 0x00B6($s0) ## 000000B6
|
||||
/* 00A1C 80A15C9C C43271A8 */ lwc1 $f18, %lo(D_80A171A8)($at)
|
||||
/* 00A20 80A15CA0 46128000 */ add.s $f0, $f16, $f18
|
||||
/* 00A24 80A15CA4 4600103C */ c.lt.s $f2, $f0
|
||||
/* 00A28 80A15CA8 00000000 */ nop
|
||||
/* 00A2C 80A15CAC 45020004 */ bc1fl .L80A15CC0
|
||||
/* 00A30 80A15CB0 E60001C8 */ swc1 $f0, 0x01C8($s0) ## 000001C8
|
||||
/* 00A34 80A15CB4 10000002 */ beq $zero, $zero, .L80A15CC0
|
||||
/* 00A38 80A15CB8 E60201C8 */ swc1 $f2, 0x01C8($s0) ## 000001C8
|
||||
/* 00A3C 80A15CBC E60001C8 */ swc1 $f0, 0x01C8($s0) ## 000001C8
|
||||
.L80A15CC0:
|
||||
/* 00A40 80A15CC0 0C02927F */ jal SkelAnime_Update
|
||||
|
||||
/* 00A44 80A15CC4 260401AC */ addiu $a0, $s0, 0x01AC ## $a0 = 000001AC
|
||||
/* 00A48 80A15CC8 86090248 */ lh $t1, 0x0248($s0) ## 00000248
|
||||
/* 00A4C 80A15CCC 87AA0034 */ lh $t2, 0x0034($sp)
|
||||
/* 00A50 80A15CD0 19200003 */ blez $t1, .L80A15CE0
|
||||
/* 00A54 80A15CD4 00000000 */ nop
|
||||
/* 00A58 80A15CD8 55400006 */ bnel $t2, $zero, .L80A15CF4
|
||||
/* 00A5C 80A15CDC 8E0B011C */ lw $t3, 0x011C($s0) ## 0000011C
|
||||
.L80A15CE0:
|
||||
/* 00A60 80A15CE0 0C2855E9 */ jal func_80A157A4
|
||||
/* 00A64 80A15CE4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00A68 80A15CE8 10000007 */ beq $zero, $zero, .L80A15D08
|
||||
/* 00A6C 80A15CEC 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
/* 00A70 80A15CF0 8E0B011C */ lw $t3, 0x011C($s0) ## 0000011C
|
||||
.L80A15CF4:
|
||||
/* 00A74 80A15CF4 560B0004 */ bnel $s0, $t3, .L80A15D08
|
||||
/* 00A78 80A15CF8 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
/* 00A7C 80A15CFC 0C285746 */ jal func_80A15D18
|
||||
/* 00A80 80A15D00 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00A84 80A15D04 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
.L80A15D08:
|
||||
/* 00A88 80A15D08 8FB00020 */ lw $s0, 0x0020($sp)
|
||||
/* 00A8C 80A15D0C 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000
|
||||
/* 00A90 80A15D10 03E00008 */ jr $ra
|
||||
/* 00A94 80A15D14 00000000 */ nop
|
|
@ -1,22 +0,0 @@
|
|||
glabel func_80A15D18
|
||||
/* 00A98 80A15D18 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
|
||||
/* 00A9C 80A15D1C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 00AA0 80A15D20 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00AA4 80A15D24 E480006C */ swc1 $f0, 0x006C($a0) ## 0000006C
|
||||
/* 00AA8 80A15D28 E4800070 */ swc1 $f0, 0x0070($a0) ## 00000070
|
||||
/* 00AAC 80A15D2C 0C2854AB */ jal func_80A152AC
|
||||
/* 00AB0 80A15D30 AFA40018 */ sw $a0, 0x0018($sp)
|
||||
/* 00AB4 80A15D34 2404000A */ addiu $a0, $zero, 0x000A ## $a0 = 0000000A
|
||||
/* 00AB8 80A15D38 0C01DF64 */ jal Rand_S16Offset
|
||||
|
||||
/* 00ABC 80A15D3C 24050028 */ addiu $a1, $zero, 0x0028 ## $a1 = 00000028
|
||||
/* 00AC0 80A15D40 8FA60018 */ lw $a2, 0x0018($sp)
|
||||
/* 00AC4 80A15D44 3C0E80A1 */ lui $t6, %hi(func_80A15D68) ## $t6 = 80A10000
|
||||
/* 00AC8 80A15D48 25CE5D68 */ addiu $t6, $t6, %lo(func_80A15D68) ## $t6 = 80A15D68
|
||||
/* 00ACC 80A15D4C A4C20248 */ sh $v0, 0x0248($a2) ## 00000248
|
||||
/* 00AD0 80A15D50 ACC00250 */ sw $zero, 0x0250($a2) ## 00000250
|
||||
/* 00AD4 80A15D54 ACCE0244 */ sw $t6, 0x0244($a2) ## 00000244
|
||||
/* 00AD8 80A15D58 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00ADC 80A15D5C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 00AE0 80A15D60 03E00008 */ jr $ra
|
||||
/* 00AE4 80A15D64 00000000 */ nop
|
|
@ -1,129 +0,0 @@
|
|||
.late_rodata
|
||||
glabel D_80A171AC
|
||||
.float 0.8
|
||||
|
||||
.text
|
||||
glabel func_80A15D68
|
||||
/* 00AE8 80A15D68 27BDFFB0 */ addiu $sp, $sp, 0xFFB0 ## $sp = FFFFFFB0
|
||||
/* 00AEC 80A15D6C AFBF0024 */ sw $ra, 0x0024($sp)
|
||||
/* 00AF0 80A15D70 AFB00020 */ sw $s0, 0x0020($sp)
|
||||
/* 00AF4 80A15D74 AFA50054 */ sw $a1, 0x0054($sp)
|
||||
/* 00AF8 80A15D78 8CAF1C44 */ lw $t7, 0x1C44($a1) ## 00001C44
|
||||
/* 00AFC 80A15D7C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00B00 80A15D80 0C285574 */ jal func_80A155D0
|
||||
/* 00B04 80A15D84 AFAF0048 */ sw $t7, 0x0048($sp)
|
||||
/* 00B08 80A15D88 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
|
||||
/* 00B0C 80A15D8C 3C053FE6 */ lui $a1, 0x3FE6 ## $a1 = 3FE60000
|
||||
/* 00B10 80A15D90 3C063DCC */ lui $a2, 0x3DCC ## $a2 = 3DCC0000
|
||||
/* 00B14 80A15D94 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3DCCCCCD
|
||||
/* 00B18 80A15D98 34A56666 */ ori $a1, $a1, 0x6666 ## $a1 = 3FE66666
|
||||
/* 00B1C 80A15D9C 26040068 */ addiu $a0, $s0, 0x0068 ## $a0 = 00000068
|
||||
/* 00B20 80A15DA0 3C073F00 */ lui $a3, 0x3F00 ## $a3 = 3F000000
|
||||
/* 00B24 80A15DA4 0C01E0C4 */ jal Math_SmoothStepToF
|
||||
|
||||
/* 00B28 80A15DA8 E7A40010 */ swc1 $f4, 0x0010($sp)
|
||||
/* 00B2C 80A15DAC 26040024 */ addiu $a0, $s0, 0x0024 ## $a0 = 00000024
|
||||
/* 00B30 80A15DB0 26050008 */ addiu $a1, $s0, 0x0008 ## $a1 = 00000008
|
||||
/* 00B34 80A15DB4 AFA5002C */ sw $a1, 0x002C($sp)
|
||||
/* 00B38 80A15DB8 0C2854A0 */ jal func_80A15280
|
||||
/* 00B3C 80A15DBC AFA40030 */ sw $a0, 0x0030($sp)
|
||||
/* 00B40 80A15DC0 3C0145C8 */ lui $at, 0x45C8 ## $at = 45C80000
|
||||
/* 00B44 80A15DC4 44813000 */ mtc1 $at, $f6 ## $f6 = 6400.00
|
||||
/* 00B48 80A15DC8 8FA5002C */ lw $a1, 0x002C($sp)
|
||||
/* 00B4C 80A15DCC 8FB80054 */ lw $t8, 0x0054($sp)
|
||||
/* 00B50 80A15DD0 4600303C */ c.lt.s $f6, $f0
|
||||
/* 00B54 80A15DD4 00000000 */ nop
|
||||
/* 00B58 80A15DD8 4502000B */ bc1fl .L80A15E08
|
||||
/* 00B5C 80A15DDC 8719009E */ lh $t9, 0x009E($t8) ## 0000009E
|
||||
/* 00B60 80A15DE0 0C01E01A */ jal Math_Vec3f_Yaw
|
||||
|
||||
/* 00B64 80A15DE4 8FA40030 */ lw $a0, 0x0030($sp)
|
||||
/* 00B68 80A15DE8 00022C00 */ sll $a1, $v0, 16
|
||||
/* 00B6C 80A15DEC 00052C03 */ sra $a1, $a1, 16
|
||||
/* 00B70 80A15DF0 26040032 */ addiu $a0, $s0, 0x0032 ## $a0 = 00000032
|
||||
/* 00B74 80A15DF4 0C01DED6 */ jal Math_StepToAngleS
|
||||
/* 00B78 80A15DF8 24060BB8 */ addiu $a2, $zero, 0x0BB8 ## $a2 = 00000BB8
|
||||
/* 00B7C 80A15DFC 1000002C */ beq $zero, $zero, .L80A15EB0
|
||||
/* 00B80 80A15E00 3C014080 */ lui $at, 0x4080 ## $at = 40800000
|
||||
/* 00B84 80A15E04 8719009E */ lh $t9, 0x009E($t8) ## 0000009E
|
||||
.L80A15E08:
|
||||
/* 00B88 80A15E08 33280040 */ andi $t0, $t9, 0x0040 ## $t0 = 00000000
|
||||
/* 00B8C 80A15E0C 51000008 */ beql $t0, $zero, .L80A15E30
|
||||
/* 00B90 80A15E10 8604008A */ lh $a0, 0x008A($s0) ## 0000008A
|
||||
/* 00B94 80A15E14 8604008A */ lh $a0, 0x008A($s0) ## 0000008A
|
||||
/* 00B98 80A15E18 34019000 */ ori $at, $zero, 0x9000 ## $at = 00009000
|
||||
/* 00B9C 80A15E1C 00812021 */ addu $a0, $a0, $at
|
||||
/* 00BA0 80A15E20 00042400 */ sll $a0, $a0, 16
|
||||
/* 00BA4 80A15E24 10000005 */ beq $zero, $zero, .L80A15E3C
|
||||
/* 00BA8 80A15E28 00042403 */ sra $a0, $a0, 16
|
||||
/* 00BAC 80A15E2C 8604008A */ lh $a0, 0x008A($s0) ## 0000008A
|
||||
.L80A15E30:
|
||||
/* 00BB0 80A15E30 24847000 */ addiu $a0, $a0, 0x7000 ## $a0 = 00007000
|
||||
/* 00BB4 80A15E34 00042400 */ sll $a0, $a0, 16
|
||||
/* 00BB8 80A15E38 00042403 */ sra $a0, $a0, 16
|
||||
.L80A15E3C:
|
||||
/* 00BBC 80A15E3C 0C01DE1C */ jal Math_SinS
|
||||
## sins?
|
||||
/* 00BC0 80A15E40 A7A40034 */ sh $a0, 0x0034($sp)
|
||||
/* 00BC4 80A15E44 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000
|
||||
/* 00BC8 80A15E48 44814000 */ mtc1 $at, $f8 ## $f8 = 20.00
|
||||
/* 00BCC 80A15E4C 8FA20048 */ lw $v0, 0x0048($sp)
|
||||
/* 00BD0 80A15E50 87A40034 */ lh $a0, 0x0034($sp)
|
||||
/* 00BD4 80A15E54 46080282 */ mul.s $f10, $f0, $f8
|
||||
/* 00BD8 80A15E58 C4500024 */ lwc1 $f16, 0x0024($v0) ## 00000024
|
||||
/* 00BDC 80A15E5C 46105480 */ add.s $f18, $f10, $f16
|
||||
/* 00BE0 80A15E60 E7B20038 */ swc1 $f18, 0x0038($sp)
|
||||
/* 00BE4 80A15E64 C4440028 */ lwc1 $f4, 0x0028($v0) ## 00000028
|
||||
/* 00BE8 80A15E68 0C01DE0D */ jal Math_CosS
|
||||
## coss?
|
||||
/* 00BEC 80A15E6C E7A4003C */ swc1 $f4, 0x003C($sp)
|
||||
/* 00BF0 80A15E70 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000
|
||||
/* 00BF4 80A15E74 44813000 */ mtc1 $at, $f6 ## $f6 = 20.00
|
||||
/* 00BF8 80A15E78 8FA90048 */ lw $t1, 0x0048($sp)
|
||||
/* 00BFC 80A15E7C 8FA40030 */ lw $a0, 0x0030($sp)
|
||||
/* 00C00 80A15E80 46060202 */ mul.s $f8, $f0, $f6
|
||||
/* 00C04 80A15E84 C52A002C */ lwc1 $f10, 0x002C($t1) ## 0000002C
|
||||
/* 00C08 80A15E88 27A50038 */ addiu $a1, $sp, 0x0038 ## $a1 = FFFFFFE8
|
||||
/* 00C0C 80A15E8C 460A4400 */ add.s $f16, $f8, $f10
|
||||
/* 00C10 80A15E90 0C01E01A */ jal Math_Vec3f_Yaw
|
||||
|
||||
/* 00C14 80A15E94 E7B00040 */ swc1 $f16, 0x0040($sp)
|
||||
/* 00C18 80A15E98 00022C00 */ sll $a1, $v0, 16
|
||||
/* 00C1C 80A15E9C 00052C03 */ sra $a1, $a1, 16
|
||||
/* 00C20 80A15EA0 26040032 */ addiu $a0, $s0, 0x0032 ## $a0 = 00000032
|
||||
/* 00C24 80A15EA4 0C01DED6 */ jal Math_StepToAngleS
|
||||
/* 00C28 80A15EA8 24060BB8 */ addiu $a2, $zero, 0x0BB8 ## $a2 = 00000BB8
|
||||
/* 00C2C 80A15EAC 3C014080 */ lui $at, 0x4080 ## $at = 40800000
|
||||
.L80A15EB0:
|
||||
/* 00C30 80A15EB0 44811000 */ mtc1 $at, $f2 ## $f2 = 4.00
|
||||
/* 00C34 80A15EB4 3C013FC0 */ lui $at, 0x3FC0 ## $at = 3FC00000
|
||||
/* 00C38 80A15EB8 44812000 */ mtc1 $at, $f4 ## $f4 = 1.50
|
||||
/* 00C3C 80A15EBC C6120068 */ lwc1 $f18, 0x0068($s0) ## 00000068
|
||||
/* 00C40 80A15EC0 860A0032 */ lh $t2, 0x0032($s0) ## 00000032
|
||||
/* 00C44 80A15EC4 3C0180A1 */ lui $at, %hi(D_80A171AC) ## $at = 80A10000
|
||||
/* 00C48 80A15EC8 46049182 */ mul.s $f6, $f18, $f4
|
||||
/* 00C4C 80A15ECC A60A00B6 */ sh $t2, 0x00B6($s0) ## 000000B6
|
||||
/* 00C50 80A15ED0 C42871AC */ lwc1 $f8, %lo(D_80A171AC)($at)
|
||||
/* 00C54 80A15ED4 46083000 */ add.s $f0, $f6, $f8
|
||||
/* 00C58 80A15ED8 4600103C */ c.lt.s $f2, $f0
|
||||
/* 00C5C 80A15EDC 00000000 */ nop
|
||||
/* 00C60 80A15EE0 45020004 */ bc1fl .L80A15EF4
|
||||
/* 00C64 80A15EE4 E60001C8 */ swc1 $f0, 0x01C8($s0) ## 000001C8
|
||||
/* 00C68 80A15EE8 10000002 */ beq $zero, $zero, .L80A15EF4
|
||||
/* 00C6C 80A15EEC E60201C8 */ swc1 $f2, 0x01C8($s0) ## 000001C8
|
||||
/* 00C70 80A15EF0 E60001C8 */ swc1 $f0, 0x01C8($s0) ## 000001C8
|
||||
.L80A15EF4:
|
||||
/* 00C74 80A15EF4 0C02927F */ jal SkelAnime_Update
|
||||
|
||||
/* 00C78 80A15EF8 260401AC */ addiu $a0, $s0, 0x01AC ## $a0 = 000001AC
|
||||
/* 00C7C 80A15EFC 860B0248 */ lh $t3, 0x0248($s0) ## 00000248
|
||||
/* 00C80 80A15F00 5D600004 */ bgtzl $t3, .L80A15F14
|
||||
/* 00C84 80A15F04 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
/* 00C88 80A15F08 0C2855E9 */ jal func_80A157A4
|
||||
/* 00C8C 80A15F0C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00C90 80A15F10 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
.L80A15F14:
|
||||
/* 00C94 80A15F14 8FB00020 */ lw $s0, 0x0020($sp)
|
||||
/* 00C98 80A15F18 27BD0050 */ addiu $sp, $sp, 0x0050 ## $sp = 00000000
|
||||
/* 00C9C 80A15F1C 03E00008 */ jr $ra
|
||||
/* 00CA0 80A15F20 00000000 */ nop
|
|
@ -1,25 +0,0 @@
|
|||
glabel func_80A15F24
|
||||
/* 00CA4 80A15F24 3C01BF80 */ lui $at, 0xBF80 ## $at = BF800000
|
||||
/* 00CA8 80A15F28 44812000 */ mtc1 $at, $f4 ## $f4 = -1.00
|
||||
/* 00CAC 80A15F2C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 00CB0 80A15F30 3C01C120 */ lui $at, 0xC120 ## $at = C1200000
|
||||
/* 00CB4 80A15F34 44813000 */ mtc1 $at, $f6 ## $f6 = -10.00
|
||||
/* 00CB8 80A15F38 44804000 */ mtc1 $zero, $f8 ## $f8 = 0.00
|
||||
/* 00CBC 80A15F3C AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00CC0 80A15F40 E484006C */ swc1 $f4, 0x006C($a0) ## 0000006C
|
||||
/* 00CC4 80A15F44 E4860070 */ swc1 $f6, 0x0070($a0) ## 00000070
|
||||
/* 00CC8 80A15F48 E48800BC */ swc1 $f8, 0x00BC($a0) ## 000000BC
|
||||
/* 00CCC 80A15F4C 0C2854C4 */ jal func_80A15310
|
||||
/* 00CD0 80A15F50 AFA40018 */ sw $a0, 0x0018($sp)
|
||||
/* 00CD4 80A15F54 8FA40018 */ lw $a0, 0x0018($sp)
|
||||
/* 00CD8 80A15F58 3C0F80A1 */ lui $t7, %hi(func_80A15F84) ## $t7 = 80A10000
|
||||
/* 00CDC 80A15F5C 240E0005 */ addiu $t6, $zero, 0x0005 ## $t6 = 00000005
|
||||
/* 00CE0 80A15F60 25EF5F84 */ addiu $t7, $t7, %lo(func_80A15F84) ## $t7 = 80A15F84
|
||||
/* 00CE4 80A15F64 2418012C */ addiu $t8, $zero, 0x012C ## $t8 = 0000012C
|
||||
/* 00CE8 80A15F68 AC8E0250 */ sw $t6, 0x0250($a0) ## 00000250
|
||||
/* 00CEC 80A15F6C AC8F0244 */ sw $t7, 0x0244($a0) ## 00000244
|
||||
/* 00CF0 80A15F70 A4980248 */ sh $t8, 0x0248($a0) ## 00000248
|
||||
/* 00CF4 80A15F74 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00CF8 80A15F78 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 00CFC 80A15F7C 03E00008 */ jr $ra
|
||||
/* 00D00 80A15F80 00000000 */ nop
|
|
@ -1,112 +0,0 @@
|
|||
.rdata
|
||||
glabel D_80A170A0
|
||||
.asciz "\x1b[43;30m"
|
||||
.balign 4
|
||||
|
||||
glabel D_80A170AC
|
||||
.asciz "BG 抜け? Actor_delete します(%s %d)\n"
|
||||
.balign 4
|
||||
|
||||
glabel D_80A170D4
|
||||
.asciz "../z_en_sakana.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_80A170E8
|
||||
.asciz "\x1b[m"
|
||||
.balign 4
|
||||
.late_rodata
|
||||
glabel D_80A171B0
|
||||
.float 0.1
|
||||
|
||||
glabel D_80A171B4
|
||||
.float -31990.0
|
||||
|
||||
.text
|
||||
glabel func_80A15F84
|
||||
/* 00D04 80A15F84 3C0180A1 */ lui $at, %hi(D_80A171B0) ## $at = 80A10000
|
||||
/* 00D08 80A15F88 C42271B0 */ lwc1 $f2, %lo(D_80A171B0)($at)
|
||||
/* 00D0C 80A15F8C 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
|
||||
/* 00D10 80A15F90 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
|
||||
/* 00D14 80A15F94 AFB00020 */ sw $s0, 0x0020($sp)
|
||||
/* 00D18 80A15F98 AFA5002C */ sw $a1, 0x002C($sp)
|
||||
/* 00D1C 80A15F9C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00D20 80A15FA0 AFBF0024 */ sw $ra, 0x0024($sp)
|
||||
/* 00D24 80A15FA4 44061000 */ mfc1 $a2, $f2
|
||||
/* 00D28 80A15FA8 44071000 */ mfc1 $a3, $f2
|
||||
/* 00D2C 80A15FAC 44050000 */ mfc1 $a1, $f0
|
||||
/* 00D30 80A15FB0 24840068 */ addiu $a0, $a0, 0x0068 ## $a0 = 00000068
|
||||
/* 00D34 80A15FB4 0C01E0C4 */ jal Math_SmoothStepToF
|
||||
|
||||
/* 00D38 80A15FB8 E7A00010 */ swc1 $f0, 0x0010($sp)
|
||||
/* 00D3C 80A15FBC 26040030 */ addiu $a0, $s0, 0x0030 ## $a0 = 00000030
|
||||
/* 00D40 80A15FC0 24054000 */ addiu $a1, $zero, 0x4000 ## $a1 = 00004000
|
||||
/* 00D44 80A15FC4 0C01DED6 */ jal Math_StepToAngleS
|
||||
/* 00D48 80A15FC8 24060064 */ addiu $a2, $zero, 0x0064 ## $a2 = 00000064
|
||||
/* 00D4C 80A15FCC 26040034 */ addiu $a0, $s0, 0x0034 ## $a0 = 00000034
|
||||
/* 00D50 80A15FD0 2405C000 */ addiu $a1, $zero, 0xC000 ## $a1 = FFFFC000
|
||||
/* 00D54 80A15FD4 0C01DED6 */ jal Math_StepToAngleS
|
||||
/* 00D58 80A15FD8 24060064 */ addiu $a2, $zero, 0x0064 ## $a2 = 00000064
|
||||
/* 00D5C 80A15FDC 860E0030 */ lh $t6, 0x0030($s0) ## 00000030
|
||||
/* 00D60 80A15FE0 860F0032 */ lh $t7, 0x0032($s0) ## 00000032
|
||||
/* 00D64 80A15FE4 86180034 */ lh $t8, 0x0034($s0) ## 00000034
|
||||
/* 00D68 80A15FE8 260401AC */ addiu $a0, $s0, 0x01AC ## $a0 = 000001AC
|
||||
/* 00D6C 80A15FEC A60E00B4 */ sh $t6, 0x00B4($s0) ## 000000B4
|
||||
/* 00D70 80A15FF0 A60F00B6 */ sh $t7, 0x00B6($s0) ## 000000B6
|
||||
/* 00D74 80A15FF4 0C02927F */ jal SkelAnime_Update
|
||||
|
||||
/* 00D78 80A15FF8 A61800B8 */ sh $t8, 0x00B8($s0) ## 000000B8
|
||||
/* 00D7C 80A15FFC 96020088 */ lhu $v0, 0x0088($s0) ## 00000088
|
||||
/* 00D80 80A16000 24080190 */ addiu $t0, $zero, 0x0190 ## $t0 = 00000190
|
||||
/* 00D84 80A16004 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00D88 80A16008 30590001 */ andi $t9, $v0, 0x0001 ## $t9 = 00000000
|
||||
/* 00D8C 80A1600C 13200005 */ beq $t9, $zero, .L80A16024
|
||||
/* 00D90 80A16010 30490020 */ andi $t1, $v0, 0x0020 ## $t1 = 00000000
|
||||
/* 00D94 80A16014 0C28582F */ jal func_80A160BC
|
||||
/* 00D98 80A16018 A6080248 */ sh $t0, 0x0248($s0) ## 00000248
|
||||
/* 00D9C 80A1601C 10000023 */ beq $zero, $zero, .L80A160AC
|
||||
/* 00DA0 80A16020 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
.L80A16024:
|
||||
/* 00DA4 80A16024 51200006 */ beql $t1, $zero, .L80A16040
|
||||
/* 00DA8 80A16028 860A0248 */ lh $t2, 0x0248($s0) ## 00000248
|
||||
/* 00DAC 80A1602C 0C2858F7 */ jal func_80A163DC
|
||||
/* 00DB0 80A16030 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00DB4 80A16034 1000001D */ beq $zero, $zero, .L80A160AC
|
||||
/* 00DB8 80A16038 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
/* 00DBC 80A1603C 860A0248 */ lh $t2, 0x0248($s0) ## 00000248
|
||||
.L80A16040:
|
||||
/* 00DC0 80A16040 5D40001A */ bgtzl $t2, .L80A160AC
|
||||
/* 00DC4 80A16044 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
/* 00DC8 80A16048 860B001C */ lh $t3, 0x001C($s0) ## 0000001C
|
||||
/* 00DCC 80A1604C 3C0180A1 */ lui $at, %hi(D_80A171B4) ## $at = 80A10000
|
||||
/* 00DD0 80A16050 55600016 */ bnel $t3, $zero, .L80A160AC
|
||||
/* 00DD4 80A16054 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
/* 00DD8 80A16058 C6040080 */ lwc1 $f4, 0x0080($s0) ## 00000080
|
||||
/* 00DDC 80A1605C C42671B4 */ lwc1 $f6, %lo(D_80A171B4)($at)
|
||||
/* 00DE0 80A16060 3C0480A1 */ lui $a0, %hi(D_80A170A0) ## $a0 = 80A10000
|
||||
/* 00DE4 80A16064 4606203C */ c.lt.s $f4, $f6
|
||||
/* 00DE8 80A16068 00000000 */ nop
|
||||
/* 00DEC 80A1606C 4502000F */ bc1fl .L80A160AC
|
||||
/* 00DF0 80A16070 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
/* 00DF4 80A16074 0C00084C */ jal osSyncPrintf
|
||||
|
||||
/* 00DF8 80A16078 248470A0 */ addiu $a0, $a0, %lo(D_80A170A0) ## $a0 = 80A170A0
|
||||
/* 00DFC 80A1607C 3C0480A1 */ lui $a0, %hi(D_80A170AC) ## $a0 = 80A10000
|
||||
/* 00E00 80A16080 3C0580A1 */ lui $a1, %hi(D_80A170D4) ## $a1 = 80A10000
|
||||
/* 00E04 80A16084 24A570D4 */ addiu $a1, $a1, %lo(D_80A170D4) ## $a1 = 80A170D4
|
||||
/* 00E08 80A16088 248470AC */ addiu $a0, $a0, %lo(D_80A170AC) ## $a0 = 80A170AC
|
||||
/* 00E0C 80A1608C 0C00084C */ jal osSyncPrintf
|
||||
|
||||
/* 00E10 80A16090 24060336 */ addiu $a2, $zero, 0x0336 ## $a2 = 00000336
|
||||
/* 00E14 80A16094 3C0480A1 */ lui $a0, %hi(D_80A170E8) ## $a0 = 80A10000
|
||||
/* 00E18 80A16098 0C00084C */ jal osSyncPrintf
|
||||
|
||||
/* 00E1C 80A1609C 248470E8 */ addiu $a0, $a0, %lo(D_80A170E8) ## $a0 = 80A170E8
|
||||
/* 00E20 80A160A0 0C00B55C */ jal Actor_Kill
|
||||
|
||||
/* 00E24 80A160A4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00E28 80A160A8 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
.L80A160AC:
|
||||
/* 00E2C 80A160AC 8FB00020 */ lw $s0, 0x0020($sp)
|
||||
/* 00E30 80A160B0 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
|
||||
/* 00E34 80A160B4 03E00008 */ jr $ra
|
||||
/* 00E38 80A160B8 00000000 */ nop
|
|
@ -1,109 +0,0 @@
|
|||
.late_rodata
|
||||
glabel D_80A171B8
|
||||
.float 0.1
|
||||
|
||||
glabel D_80A171BC
|
||||
.float 0.2
|
||||
|
||||
glabel D_80A171C0
|
||||
.float 1.2
|
||||
|
||||
glabel D_80A171C4
|
||||
.float 0.2
|
||||
|
||||
glabel D_80A171C8
|
||||
.float 0.2
|
||||
|
||||
.text
|
||||
glabel func_80A160BC
|
||||
/* 00E3C 80A160BC 3C01BF80 */ lui $at, 0xBF80 ## $at = BF800000
|
||||
/* 00E40 80A160C0 44812000 */ mtc1 $at, $f4 ## $f4 = -1.00
|
||||
/* 00E44 80A160C4 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
|
||||
/* 00E48 80A160C8 3C01C120 */ lui $at, 0xC120 ## $at = C1200000
|
||||
/* 00E4C 80A160CC 44813000 */ mtc1 $at, $f6 ## $f6 = -10.00
|
||||
/* 00E50 80A160D0 AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 00E54 80A160D4 AFB00018 */ sw $s0, 0x0018($sp)
|
||||
/* 00E58 80A160D8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00E5C 80A160DC E484006C */ swc1 $f4, 0x006C($a0) ## 0000006C
|
||||
/* 00E60 80A160E0 0C03F66B */ jal Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 00E64 80A160E4 E4860070 */ swc1 $f6, 0x0070($a0) ## 00000070
|
||||
/* 00E68 80A160E8 3C0180A1 */ lui $at, %hi(D_80A171B8) ## $at = 80A10000
|
||||
/* 00E6C 80A160EC C42871B8 */ lwc1 $f8, %lo(D_80A171B8)($at)
|
||||
/* 00E70 80A160F0 3C0180A1 */ lui $at, %hi(D_80A171BC) ## $at = 80A10000
|
||||
/* 00E74 80A160F4 4608003C */ c.lt.s $f0, $f8
|
||||
/* 00E78 80A160F8 00000000 */ nop
|
||||
/* 00E7C 80A160FC 4500000C */ bc1f .L80A16130
|
||||
/* 00E80 80A16100 00000000 */ nop
|
||||
/* 00E84 80A16104 0C03F66B */ jal Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 00E88 80A16108 00000000 */ nop
|
||||
/* 00E8C 80A1610C 3C014040 */ lui $at, 0x4040 ## $at = 40400000
|
||||
/* 00E90 80A16110 44815000 */ mtc1 $at, $f10 ## $f10 = 3.00
|
||||
/* 00E94 80A16114 3C014020 */ lui $at, 0x4020 ## $at = 40200000
|
||||
/* 00E98 80A16118 44819000 */ mtc1 $at, $f18 ## $f18 = 2.50
|
||||
/* 00E9C 80A1611C 460A0402 */ mul.s $f16, $f0, $f10
|
||||
/* 00EA0 80A16120 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
|
||||
/* 00EA4 80A16124 46128100 */ add.s $f4, $f16, $f18
|
||||
/* 00EA8 80A16128 1000001D */ beq $zero, $zero, .L80A161A0
|
||||
/* 00EAC 80A1612C E6040060 */ swc1 $f4, 0x0060($s0) ## 00000060
|
||||
.L80A16130:
|
||||
/* 00EB0 80A16130 C42671BC */ lwc1 $f6, %lo(D_80A171BC)($at)
|
||||
/* 00EB4 80A16134 4606003C */ c.lt.s $f0, $f6
|
||||
/* 00EB8 80A16138 00000000 */ nop
|
||||
/* 00EBC 80A1613C 4502000D */ bc1fl .L80A16174
|
||||
/* 00EC0 80A16140 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
|
||||
/* 00EC4 80A16144 0C03F66B */ jal Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 00EC8 80A16148 00000000 */ nop
|
||||
/* 00ECC 80A1614C 3C0180A1 */ lui $at, %hi(D_80A171C0) ## $at = 80A10000
|
||||
/* 00ED0 80A16150 C42871C0 */ lwc1 $f8, %lo(D_80A171C0)($at)
|
||||
/* 00ED4 80A16154 3C0180A1 */ lui $at, %hi(D_80A171C4) ## $at = 80A10000
|
||||
/* 00ED8 80A16158 C43071C4 */ lwc1 $f16, %lo(D_80A171C4)($at)
|
||||
/* 00EDC 80A1615C 46080282 */ mul.s $f10, $f0, $f8
|
||||
/* 00EE0 80A16160 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
|
||||
/* 00EE4 80A16164 46105480 */ add.s $f18, $f10, $f16
|
||||
/* 00EE8 80A16168 1000000D */ beq $zero, $zero, .L80A161A0
|
||||
/* 00EEC 80A1616C E6120060 */ swc1 $f18, 0x0060($s0) ## 00000060
|
||||
/* 00EF0 80A16170 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
|
||||
.L80A16174:
|
||||
/* 00EF4 80A16174 0C03F66B */ jal Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 00EF8 80A16178 E6040060 */ swc1 $f4, 0x0060($s0) ## 00000060
|
||||
/* 00EFC 80A1617C 3C0180A1 */ lui $at, %hi(D_80A171C8) ## $at = 80A10000
|
||||
/* 00F00 80A16180 C42671C8 */ lwc1 $f6, %lo(D_80A171C8)($at)
|
||||
/* 00F04 80A16184 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
||||
/* 00F08 80A16188 4606003C */ c.lt.s $f0, $f6
|
||||
/* 00F0C 80A1618C 00000000 */ nop
|
||||
/* 00F10 80A16190 45000003 */ bc1f .L80A161A0
|
||||
/* 00F14 80A16194 00000000 */ nop
|
||||
/* 00F18 80A16198 10000001 */ beq $zero, $zero, .L80A161A0
|
||||
/* 00F1C 80A1619C 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
|
||||
.L80A161A0:
|
||||
/* 00F20 80A161A0 3C014396 */ lui $at, 0x4396 ## $at = 43960000
|
||||
/* 00F24 80A161A4 44814000 */ mtc1 $at, $f8 ## $f8 = 300.00
|
||||
/* 00F28 80A161A8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00F2C 80A161AC E60800BC */ swc1 $f8, 0x00BC($s0) ## 000000BC
|
||||
/* 00F30 80A161B0 0C2854C4 */ jal func_80A15310
|
||||
/* 00F34 80A161B4 AFA20024 */ sw $v0, 0x0024($sp)
|
||||
/* 00F38 80A161B8 8FA20024 */ lw $v0, 0x0024($sp)
|
||||
/* 00F3C 80A161BC 3C0E80A1 */ lui $t6, %hi(func_80A16200) ## $t6 = 80A10000
|
||||
/* 00F40 80A161C0 25CE6200 */ addiu $t6, $t6, %lo(func_80A16200) ## $t6 = 80A16200
|
||||
/* 00F44 80A161C4 240F0005 */ addiu $t7, $zero, 0x0005 ## $t7 = 00000005
|
||||
/* 00F48 80A161C8 AE0E0244 */ sw $t6, 0x0244($s0) ## 00000244
|
||||
/* 00F4C 80A161CC 10400007 */ beq $v0, $zero, .L80A161EC
|
||||
/* 00F50 80A161D0 AE0F0250 */ sw $t7, 0x0250($s0) ## 00000250
|
||||
/* 00F54 80A161D4 8E180134 */ lw $t8, 0x0134($s0) ## 00000134
|
||||
/* 00F58 80A161D8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00F5C 80A161DC 53000004 */ beql $t8, $zero, .L80A161F0
|
||||
/* 00F60 80A161E0 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 00F64 80A161E4 0C00BE0A */ jal Audio_PlayActorSound2
|
||||
|
||||
/* 00F68 80A161E8 24052869 */ addiu $a1, $zero, 0x2869 ## $a1 = 00002869
|
||||
.L80A161EC:
|
||||
/* 00F6C 80A161EC 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
.L80A161F0:
|
||||
/* 00F70 80A161F0 8FB00018 */ lw $s0, 0x0018($sp)
|
||||
/* 00F74 80A161F4 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
|
||||
/* 00F78 80A161F8 03E00008 */ jr $ra
|
||||
/* 00F7C 80A161FC 00000000 */ nop
|
|
@ -1,145 +0,0 @@
|
|||
.late_rodata
|
||||
glabel D_80A171CC
|
||||
.float 0.1
|
||||
|
||||
glabel D_80A171D0
|
||||
.float 0.2
|
||||
|
||||
glabel D_80A171D4
|
||||
.float 0.3
|
||||
|
||||
.text
|
||||
glabel func_80A16200
|
||||
/* 00F80 80A16200 27BDFFB8 */ addiu $sp, $sp, 0xFFB8 ## $sp = FFFFFFB8
|
||||
/* 00F84 80A16204 AFBF0024 */ sw $ra, 0x0024($sp)
|
||||
/* 00F88 80A16208 AFB00020 */ sw $s0, 0x0020($sp)
|
||||
/* 00F8C 80A1620C 84A2009E */ lh $v0, 0x009E($a1) ## 0000009E
|
||||
/* 00F90 80A16210 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00F94 80A16214 0C03F66B */ jal Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 00F98 80A16218 A7A20042 */ sh $v0, 0x0042($sp)
|
||||
/* 00F9C 80A1621C 3C0180A1 */ lui $at, %hi(D_80A171CC) ## $at = 80A10000
|
||||
/* 00FA0 80A16220 C42271CC */ lwc1 $f2, %lo(D_80A171CC)($at)
|
||||
/* 00FA4 80A16224 3C0180A1 */ lui $at, %hi(D_80A171D0) ## $at = 80A10000
|
||||
/* 00FA8 80A16228 C42471D0 */ lwc1 $f4, %lo(D_80A171D0)($at)
|
||||
/* 00FAC 80A1622C 44804000 */ mtc1 $zero, $f8 ## $f8 = 0.00
|
||||
/* 00FB0 80A16230 44061000 */ mfc1 $a2, $f2
|
||||
/* 00FB4 80A16234 46040182 */ mul.s $f6, $f0, $f4
|
||||
/* 00FB8 80A16238 44071000 */ mfc1 $a3, $f2
|
||||
/* 00FBC 80A1623C 26040068 */ addiu $a0, $s0, 0x0068 ## $a0 = 00000068
|
||||
/* 00FC0 80A16240 E7A80010 */ swc1 $f8, 0x0010($sp)
|
||||
/* 00FC4 80A16244 44053000 */ mfc1 $a1, $f6
|
||||
/* 00FC8 80A16248 0C01E0C4 */ jal Math_SmoothStepToF
|
||||
|
||||
/* 00FCC 80A1624C 00000000 */ nop
|
||||
/* 00FD0 80A16250 87A20042 */ lh $v0, 0x0042($sp)
|
||||
/* 00FD4 80A16254 3C0180A1 */ lui $at, %hi(D_80A171D4) ## $at = 80A10000
|
||||
/* 00FD8 80A16258 C43271D4 */ lwc1 $f18, %lo(D_80A171D4)($at)
|
||||
/* 00FDC 80A1625C 00027143 */ sra $t6, $v0, 5
|
||||
/* 00FE0 80A16260 0002C083 */ sra $t8, $v0, 2
|
||||
/* 00FE4 80A16264 33190001 */ andi $t9, $t8, 0x0001 ## $t9 = 00000000
|
||||
/* 00FE8 80A16268 31CF0002 */ andi $t7, $t6, 0x0002 ## $t7 = 00000000
|
||||
/* 00FEC 80A1626C 01F94825 */ or $t1, $t7, $t9 ## $t1 = 00000000
|
||||
/* 00FF0 80A16270 000956C0 */ sll $t2, $t1, 27
|
||||
/* 00FF4 80A16274 000A5C03 */ sra $t3, $t2, 16
|
||||
/* 00FF8 80A16278 448B5000 */ mtc1 $t3, $f10 ## $f10 = 0.00
|
||||
/* 00FFC 80A1627C 30470004 */ andi $a3, $v0, 0x0004 ## $a3 = 00000000
|
||||
/* 01000 80A16280 26040030 */ addiu $a0, $s0, 0x0030 ## $a0 = 00000030
|
||||
/* 01004 80A16284 46805420 */ cvt.s.w $f16, $f10
|
||||
/* 01008 80A16288 24060FA0 */ addiu $a2, $zero, 0x0FA0 ## $a2 = 00000FA0
|
||||
/* 0100C 80A1628C 46128102 */ mul.s $f4, $f16, $f18
|
||||
/* 01010 80A16290 4600218D */ trunc.w.s $f6, $f4
|
||||
/* 01014 80A16294 44033000 */ mfc1 $v1, $f6
|
||||
/* 01018 80A16298 00000000 */ nop
|
||||
/* 0101C 80A1629C 00032C00 */ sll $a1, $v1, 16
|
||||
/* 01020 80A162A0 10E00005 */ beq $a3, $zero, .L80A162B8
|
||||
/* 01024 80A162A4 00052C03 */ sra $a1, $a1, 16
|
||||
/* 01028 80A162A8 00602825 */ or $a1, $v1, $zero ## $a1 = 00000000
|
||||
/* 0102C 80A162AC 00052823 */ subu $a1, $zero, $a1
|
||||
/* 01030 80A162B0 00052C00 */ sll $a1, $a1, 16
|
||||
/* 01034 80A162B4 00052C03 */ sra $a1, $a1, 16
|
||||
.L80A162B8:
|
||||
/* 01038 80A162B8 AFA40030 */ sw $a0, 0x0030($sp)
|
||||
/* 0103C 80A162BC 0C01DED6 */ jal Math_StepToAngleS
|
||||
/* 01040 80A162C0 AFA7002C */ sw $a3, 0x002C($sp)
|
||||
/* 01044 80A162C4 26040034 */ addiu $a0, $s0, 0x0034 ## $a0 = 00000034
|
||||
/* 01048 80A162C8 24054000 */ addiu $a1, $zero, 0x4000 ## $a1 = 00004000
|
||||
/* 0104C 80A162CC 0C01DED6 */ jal Math_StepToAngleS
|
||||
/* 01050 80A162D0 240603E8 */ addiu $a2, $zero, 0x03E8 ## $a2 = 000003E8
|
||||
/* 01054 80A162D4 0C03F66B */ jal Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 01058 80A162D8 00000000 */ nop
|
||||
/* 0105C 80A162DC E7A00034 */ swc1 $f0, 0x0034($sp)
|
||||
/* 01060 80A162E0 0C01DE1C */ jal Math_SinS
|
||||
## sins?
|
||||
/* 01064 80A162E4 8604024E */ lh $a0, 0x024E($s0) ## 0000024E
|
||||
/* 01068 80A162E8 E7A00038 */ swc1 $f0, 0x0038($sp)
|
||||
/* 0106C 80A162EC 0C01DE1C */ jal Math_SinS
|
||||
## sins?
|
||||
/* 01070 80A162F0 8604024C */ lh $a0, 0x024C($s0) ## 0000024C
|
||||
/* 01074 80A162F4 3C01447A */ lui $at, 0x447A ## $at = 447A0000
|
||||
/* 01078 80A162F8 44815000 */ mtc1 $at, $f10 ## $f10 = 1000.00
|
||||
/* 0107C 80A162FC C7A80038 */ lwc1 $f8, 0x0038($sp)
|
||||
/* 01080 80A16300 3C0144FA */ lui $at, 0x44FA ## $at = 44FA0000
|
||||
/* 01084 80A16304 44819000 */ mtc1 $at, $f18 ## $f18 = 2000.00
|
||||
/* 01088 80A16308 460A4402 */ mul.s $f16, $f8, $f10
|
||||
/* 0108C 80A1630C C7A80034 */ lwc1 $f8, 0x0034($sp)
|
||||
/* 01090 80A16310 86190032 */ lh $t9, 0x0032($s0) ## 00000032
|
||||
/* 01094 80A16314 46120102 */ mul.s $f4, $f0, $f18
|
||||
/* 01098 80A16318 260401AC */ addiu $a0, $s0, 0x01AC ## $a0 = 000001AC
|
||||
/* 0109C 80A1631C 46102180 */ add.s $f6, $f4, $f16
|
||||
/* 010A0 80A16320 46083282 */ mul.s $f10, $f6, $f8
|
||||
/* 010A4 80A16324 4600548D */ trunc.w.s $f18, $f10
|
||||
/* 010A8 80A16328 440F9000 */ mfc1 $t7, $f18
|
||||
/* 010AC 80A1632C 00000000 */ nop
|
||||
/* 010B0 80A16330 032F4021 */ addu $t0, $t9, $t7
|
||||
/* 010B4 80A16334 A6080032 */ sh $t0, 0x0032($s0) ## 00000032
|
||||
/* 010B8 80A16338 8FA90030 */ lw $t1, 0x0030($sp)
|
||||
/* 010BC 80A1633C 892B0000 */ lwl $t3, 0x0000($t1) ## 00000000
|
||||
/* 010C0 80A16340 992B0003 */ lwr $t3, 0x0003($t1) ## 00000003
|
||||
/* 010C4 80A16344 AA0B00B4 */ swl $t3, 0x00B4($s0) ## 000000B4
|
||||
/* 010C8 80A16348 BA0B00B7 */ swr $t3, 0x00B7($s0) ## 000000B7
|
||||
/* 010CC 80A1634C 952B0004 */ lhu $t3, 0x0004($t1) ## 00000004
|
||||
/* 010D0 80A16350 0C02927F */ jal SkelAnime_Update
|
||||
|
||||
/* 010D4 80A16354 A60B00B8 */ sh $t3, 0x00B8($s0) ## 000000B8
|
||||
/* 010D8 80A16358 86020248 */ lh $v0, 0x0248($s0) ## 00000248
|
||||
/* 010DC 80A1635C 1C400005 */ bgtz $v0, .L80A16374
|
||||
/* 010E0 80A16360 2841003D */ slti $at, $v0, 0x003D
|
||||
/* 010E4 80A16364 0C00B55C */ jal Actor_Kill
|
||||
|
||||
/* 010E8 80A16368 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 010EC 80A1636C 10000017 */ beq $zero, $zero, .L80A163CC
|
||||
/* 010F0 80A16370 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
.L80A16374:
|
||||
/* 010F4 80A16374 10200008 */ beq $at, $zero, .L80A16398
|
||||
/* 010F8 80A16378 8FAC002C */ lw $t4, 0x002C($sp)
|
||||
/* 010FC 80A1637C 11800004 */ beq $t4, $zero, .L80A16390
|
||||
/* 01100 80A16380 3C0D80A1 */ lui $t5, %hi(EnFish_Draw) ## $t5 = 80A10000
|
||||
/* 01104 80A16384 25AD6FAC */ addiu $t5, $t5, %lo(EnFish_Draw) ## $t5 = 80A16FAC
|
||||
/* 01108 80A16388 1000000F */ beq $zero, $zero, .L80A163C8
|
||||
/* 0110C 80A1638C AE0D0134 */ sw $t5, 0x0134($s0) ## 00000134
|
||||
.L80A16390:
|
||||
/* 01110 80A16390 1000000D */ beq $zero, $zero, .L80A163C8
|
||||
/* 01114 80A16394 AE000134 */ sw $zero, 0x0134($s0) ## 00000134
|
||||
.L80A16398:
|
||||
/* 01118 80A16398 96020088 */ lhu $v0, 0x0088($s0) ## 00000088
|
||||
/* 0111C 80A1639C 304E0020 */ andi $t6, $v0, 0x0020 ## $t6 = 00000000
|
||||
/* 01120 80A163A0 11C00005 */ beq $t6, $zero, .L80A163B8
|
||||
/* 01124 80A163A4 30580001 */ andi $t8, $v0, 0x0001 ## $t8 = 00000000
|
||||
/* 01128 80A163A8 0C2858F7 */ jal func_80A163DC
|
||||
/* 0112C 80A163AC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 01130 80A163B0 10000006 */ beq $zero, $zero, .L80A163CC
|
||||
/* 01134 80A163B4 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
.L80A163B8:
|
||||
/* 01138 80A163B8 53000004 */ beql $t8, $zero, .L80A163CC
|
||||
/* 0113C 80A163BC 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
/* 01140 80A163C0 0C28582F */ jal func_80A160BC
|
||||
/* 01144 80A163C4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
.L80A163C8:
|
||||
/* 01148 80A163C8 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
.L80A163CC:
|
||||
/* 0114C 80A163CC 8FB00020 */ lw $s0, 0x0020($sp)
|
||||
/* 01150 80A163D0 27BD0048 */ addiu $sp, $sp, 0x0048 ## $sp = 00000000
|
||||
/* 01154 80A163D4 03E00008 */ jr $ra
|
||||
/* 01158 80A163D8 00000000 */ nop
|
|
@ -1,30 +0,0 @@
|
|||
glabel func_80A163DC
|
||||
/* 0115C 80A163DC 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 01160 80A163E0 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 01164 80A163E4 8C8F0024 */ lw $t7, 0x0024($a0) ## 00000024
|
||||
/* 01168 80A163E8 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
|
||||
/* 0116C 80A163EC 8C980004 */ lw $t8, 0x0004($a0) ## 00000004
|
||||
/* 01170 80A163F0 AC8F0008 */ sw $t7, 0x0008($a0) ## 00000008
|
||||
/* 01174 80A163F4 8C8F002C */ lw $t7, 0x002C($a0) ## 0000002C
|
||||
/* 01178 80A163F8 8C8E0028 */ lw $t6, 0x0028($a0) ## 00000028
|
||||
/* 0117C 80A163FC 240800C8 */ addiu $t0, $zero, 0x00C8 ## $t0 = 000000C8
|
||||
/* 01180 80A16400 37190010 */ ori $t9, $t8, 0x0010 ## $t9 = 00000010
|
||||
/* 01184 80A16404 AC990004 */ sw $t9, 0x0004($a0) ## 00000004
|
||||
/* 01188 80A16408 A4880248 */ sh $t0, 0x0248($a0) ## 00000248
|
||||
/* 0118C 80A1640C E480006C */ swc1 $f0, 0x006C($a0) ## 0000006C
|
||||
/* 01190 80A16410 E4800070 */ swc1 $f0, 0x0070($a0) ## 00000070
|
||||
/* 01194 80A16414 E48000BC */ swc1 $f0, 0x00BC($a0) ## 000000BC
|
||||
/* 01198 80A16418 AC8F0010 */ sw $t7, 0x0010($a0) ## 00000010
|
||||
/* 0119C 80A1641C AC8E000C */ sw $t6, 0x000C($a0) ## 0000000C
|
||||
/* 011A0 80A16420 0C2854AB */ jal func_80A152AC
|
||||
/* 011A4 80A16424 AFA40018 */ sw $a0, 0x0018($sp)
|
||||
/* 011A8 80A16428 8FA40018 */ lw $a0, 0x0018($sp)
|
||||
/* 011AC 80A1642C 3C0980A1 */ lui $t1, %hi(func_80A16450) ## $t1 = 80A10000
|
||||
/* 011B0 80A16430 25296450 */ addiu $t1, $t1, %lo(func_80A16450) ## $t1 = 80A16450
|
||||
/* 011B4 80A16434 240A0005 */ addiu $t2, $zero, 0x0005 ## $t2 = 00000005
|
||||
/* 011B8 80A16438 AC890244 */ sw $t1, 0x0244($a0) ## 00000244
|
||||
/* 011BC 80A1643C AC8A0250 */ sw $t2, 0x0250($a0) ## 00000250
|
||||
/* 011C0 80A16440 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 011C4 80A16444 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 011C8 80A16448 03E00008 */ jr $ra
|
||||
/* 011CC 80A1644C 00000000 */ nop
|
|
@ -1,134 +0,0 @@
|
|||
.late_rodata
|
||||
glabel D_80A171D8
|
||||
.float 0.982
|
||||
|
||||
.text
|
||||
glabel func_80A16450
|
||||
/* 011D0 80A16450 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
|
||||
/* 011D4 80A16454 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
|
||||
/* 011D8 80A16458 AFB00020 */ sw $s0, 0x0020($sp)
|
||||
/* 011DC 80A1645C AFA50034 */ sw $a1, 0x0034($sp)
|
||||
/* 011E0 80A16460 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 011E4 80A16464 AFBF0024 */ sw $ra, 0x0024($sp)
|
||||
/* 011E8 80A16468 3C054033 */ lui $a1, 0x4033 ## $a1 = 40330000
|
||||
/* 011EC 80A1646C 3C063DCC */ lui $a2, 0x3DCC ## $a2 = 3DCC0000
|
||||
/* 011F0 80A16470 3C073ECC */ lui $a3, 0x3ECC ## $a3 = 3ECC0000
|
||||
/* 011F4 80A16474 34E7CCCD */ ori $a3, $a3, 0xCCCD ## $a3 = 3ECCCCCD
|
||||
/* 011F8 80A16478 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3DCCCCCD
|
||||
/* 011FC 80A1647C 34A53333 */ ori $a1, $a1, 0x3333 ## $a1 = 40333333
|
||||
/* 01200 80A16480 24840068 */ addiu $a0, $a0, 0x0068 ## $a0 = 00000068
|
||||
/* 01204 80A16484 0C01E0C4 */ jal Math_SmoothStepToF
|
||||
|
||||
/* 01208 80A16488 E7A40010 */ swc1 $f4, 0x0010($sp)
|
||||
/* 0120C 80A1648C 96020088 */ lhu $v0, 0x0088($s0) ## 00000088
|
||||
/* 01210 80A16490 26040024 */ addiu $a0, $s0, 0x0024 ## $a0 = 00000024
|
||||
/* 01214 80A16494 304E0008 */ andi $t6, $v0, 0x0008 ## $t6 = 00000000
|
||||
/* 01218 80A16498 15C00003 */ bne $t6, $zero, .L80A164A8
|
||||
/* 0121C 80A1649C 304F0020 */ andi $t7, $v0, 0x0020 ## $t7 = 00000000
|
||||
/* 01220 80A164A0 55E0000A */ bnel $t7, $zero, .L80A164CC
|
||||
/* 01224 80A164A4 26040030 */ addiu $a0, $s0, 0x0030 ## $a0 = 00000030
|
||||
.L80A164A8:
|
||||
/* 01228 80A164A8 0C01E01A */ jal Math_Vec3f_Yaw
|
||||
|
||||
/* 0122C 80A164AC 26050008 */ addiu $a1, $s0, 0x0008 ## $a1 = 00000008
|
||||
/* 01230 80A164B0 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000
|
||||
/* 01234 80A164B4 44814000 */ mtc1 $at, $f8 ## $f8 = 0.50
|
||||
/* 01238 80A164B8 C6060068 */ lwc1 $f6, 0x0068($s0) ## 00000068
|
||||
/* 0123C 80A164BC A6020016 */ sh $v0, 0x0016($s0) ## 00000016
|
||||
/* 01240 80A164C0 46083282 */ mul.s $f10, $f6, $f8
|
||||
/* 01244 80A164C4 E60A0068 */ swc1 $f10, 0x0068($s0) ## 00000068
|
||||
/* 01248 80A164C8 26040030 */ addiu $a0, $s0, 0x0030 ## $a0 = 00000030
|
||||
.L80A164CC:
|
||||
/* 0124C 80A164CC AFA40028 */ sw $a0, 0x0028($sp)
|
||||
/* 01250 80A164D0 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
|
||||
/* 01254 80A164D4 0C01DED6 */ jal Math_StepToAngleS
|
||||
/* 01258 80A164D8 240605DC */ addiu $a2, $zero, 0x05DC ## $a2 = 000005DC
|
||||
/* 0125C 80A164DC 26040032 */ addiu $a0, $s0, 0x0032 ## $a0 = 00000032
|
||||
/* 01260 80A164E0 86050016 */ lh $a1, 0x0016($s0) ## 00000016
|
||||
/* 01264 80A164E4 0C01DED6 */ jal Math_StepToAngleS
|
||||
/* 01268 80A164E8 24060BB8 */ addiu $a2, $zero, 0x0BB8 ## $a2 = 00000BB8
|
||||
/* 0126C 80A164EC 26040034 */ addiu $a0, $s0, 0x0034 ## $a0 = 00000034
|
||||
/* 01270 80A164F0 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
|
||||
/* 01274 80A164F4 0C01DED6 */ jal Math_StepToAngleS
|
||||
/* 01278 80A164F8 240603E8 */ addiu $a2, $zero, 0x03E8 ## $a2 = 000003E8
|
||||
/* 0127C 80A164FC 8FB80028 */ lw $t8, 0x0028($sp)
|
||||
/* 01280 80A16500 96090088 */ lhu $t1, 0x0088($s0) ## 00000088
|
||||
/* 01284 80A16504 3C014120 */ lui $at, 0x4120 ## $at = 41200000
|
||||
/* 01288 80A16508 8B080000 */ lwl $t0, 0x0000($t8) ## 00000000
|
||||
/* 0128C 80A1650C 9B080003 */ lwr $t0, 0x0003($t8) ## 00000003
|
||||
/* 01290 80A16510 312A0001 */ andi $t2, $t1, 0x0001 ## $t2 = 00000000
|
||||
/* 01294 80A16514 AA0800B4 */ swl $t0, 0x00B4($s0) ## 000000B4
|
||||
/* 01298 80A16518 BA0800B7 */ swr $t0, 0x00B7($s0) ## 000000B7
|
||||
/* 0129C 80A1651C 97080004 */ lhu $t0, 0x0004($t8) ## 00000004
|
||||
/* 012A0 80A16520 1140000C */ beq $t2, $zero, .L80A16554
|
||||
/* 012A4 80A16524 A60800B8 */ sh $t0, 0x00B8($s0) ## 000000B8
|
||||
/* 012A8 80A16528 3C014080 */ lui $at, 0x4080 ## $at = 40800000
|
||||
/* 012AC 80A1652C 44819000 */ mtc1 $at, $f18 ## $f18 = 4.00
|
||||
/* 012B0 80A16530 C610000C */ lwc1 $f16, 0x000C($s0) ## 0000000C
|
||||
/* 012B4 80A16534 26040028 */ addiu $a0, $s0, 0x0028 ## $a0 = 00000028
|
||||
/* 012B8 80A16538 3C064000 */ lui $a2, 0x4000 ## $a2 = 40000000
|
||||
/* 012BC 80A1653C 46128101 */ sub.s $f4, $f16, $f18
|
||||
/* 012C0 80A16540 44052000 */ mfc1 $a1, $f4
|
||||
/* 012C4 80A16544 0C01DE80 */ jal Math_StepToF
|
||||
|
||||
/* 012C8 80A16548 00000000 */ nop
|
||||
/* 012CC 80A1654C 1000000A */ beq $zero, $zero, .L80A16578
|
||||
/* 012D0 80A16550 860B0248 */ lh $t3, 0x0248($s0) ## 00000248
|
||||
.L80A16554:
|
||||
/* 012D4 80A16554 C606000C */ lwc1 $f6, 0x000C($s0) ## 0000000C
|
||||
/* 012D8 80A16558 44814000 */ mtc1 $at, $f8 ## $f8 = 0.00
|
||||
/* 012DC 80A1655C 26040028 */ addiu $a0, $s0, 0x0028 ## $a0 = 00000028
|
||||
/* 012E0 80A16560 3C064000 */ lui $a2, 0x4000 ## $a2 = 40000000
|
||||
/* 012E4 80A16564 46083281 */ sub.s $f10, $f6, $f8
|
||||
/* 012E8 80A16568 44055000 */ mfc1 $a1, $f10
|
||||
/* 012EC 80A1656C 0C01DE80 */ jal Math_StepToF
|
||||
|
||||
/* 012F0 80A16570 00000000 */ nop
|
||||
/* 012F4 80A16574 860B0248 */ lh $t3, 0x0248($s0) ## 00000248
|
||||
.L80A16578:
|
||||
/* 012F8 80A16578 29610064 */ slti $at, $t3, 0x0064
|
||||
/* 012FC 80A1657C 10200008 */ beq $at, $zero, .L80A165A0
|
||||
/* 01300 80A16580 3C0180A1 */ lui $at, %hi(D_80A171D8) ## $at = 80A10000
|
||||
/* 01304 80A16584 C43271D8 */ lwc1 $f18, %lo(D_80A171D8)($at)
|
||||
/* 01308 80A16588 C6100050 */ lwc1 $f16, 0x0050($s0) ## 00000050
|
||||
/* 0130C 80A1658C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 01310 80A16590 46128102 */ mul.s $f4, $f16, $f18
|
||||
/* 01314 80A16594 44052000 */ mfc1 $a1, $f4
|
||||
/* 01318 80A16598 0C00B58B */ jal Actor_SetScale
|
||||
|
||||
/* 0131C 80A1659C 00000000 */ nop
|
||||
.L80A165A0:
|
||||
/* 01320 80A165A0 3C013FC0 */ lui $at, 0x3FC0 ## $at = 3FC00000
|
||||
/* 01324 80A165A4 44814000 */ mtc1 $at, $f8 ## $f8 = 1.50
|
||||
/* 01328 80A165A8 C6060068 */ lwc1 $f6, 0x0068($s0) ## 00000068
|
||||
/* 0132C 80A165AC 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
|
||||
/* 01330 80A165B0 44818000 */ mtc1 $at, $f16 ## $f16 = 1.00
|
||||
/* 01334 80A165B4 46083282 */ mul.s $f10, $f6, $f8
|
||||
/* 01338 80A165B8 3C014080 */ lui $at, 0x4080 ## $at = 40800000
|
||||
/* 0133C 80A165BC 44819000 */ mtc1 $at, $f18 ## $f18 = 4.00
|
||||
/* 01340 80A165C0 3C014080 */ lui $at, 0x4080 ## $at = 40800000
|
||||
/* 01344 80A165C4 46105000 */ add.s $f0, $f10, $f16
|
||||
/* 01348 80A165C8 4600903C */ c.lt.s $f18, $f0
|
||||
/* 0134C 80A165CC 00000000 */ nop
|
||||
/* 01350 80A165D0 45020005 */ bc1fl .L80A165E8
|
||||
/* 01354 80A165D4 E60001C8 */ swc1 $f0, 0x01C8($s0) ## 000001C8
|
||||
/* 01358 80A165D8 44812000 */ mtc1 $at, $f4 ## $f4 = 4.00
|
||||
/* 0135C 80A165DC 10000002 */ beq $zero, $zero, .L80A165E8
|
||||
/* 01360 80A165E0 E60401C8 */ swc1 $f4, 0x01C8($s0) ## 000001C8
|
||||
/* 01364 80A165E4 E60001C8 */ swc1 $f0, 0x01C8($s0) ## 000001C8
|
||||
.L80A165E8:
|
||||
/* 01368 80A165E8 0C02927F */ jal SkelAnime_Update
|
||||
|
||||
/* 0136C 80A165EC 260401AC */ addiu $a0, $s0, 0x01AC ## $a0 = 000001AC
|
||||
/* 01370 80A165F0 860C0248 */ lh $t4, 0x0248($s0) ## 00000248
|
||||
/* 01374 80A165F4 5D800004 */ bgtzl $t4, .L80A16608
|
||||
/* 01378 80A165F8 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
/* 0137C 80A165FC 0C00B55C */ jal Actor_Kill
|
||||
|
||||
/* 01380 80A16600 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 01384 80A16604 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
.L80A16608:
|
||||
/* 01388 80A16608 8FB00020 */ lw $s0, 0x0020($sp)
|
||||
/* 0138C 80A1660C 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
|
||||
/* 01390 80A16610 03E00008 */ jr $ra
|
||||
/* 01394 80A16614 00000000 */ nop
|
|
@ -1,24 +0,0 @@
|
|||
glabel func_80A16618
|
||||
/* 01398 80A16618 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
|
||||
/* 0139C 80A1661C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 013A0 80A16620 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 013A4 80A16624 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
|
||||
/* 013A8 80A16628 E480006C */ swc1 $f0, 0x006C($a0) ## 0000006C
|
||||
/* 013AC 80A1662C E4800070 */ swc1 $f0, 0x0070($a0) ## 00000070
|
||||
/* 013B0 80A16630 AFA60018 */ sw $a2, 0x0018($sp)
|
||||
/* 013B4 80A16634 24040005 */ addiu $a0, $zero, 0x0005 ## $a0 = 00000005
|
||||
/* 013B8 80A16638 0C01DF64 */ jal Rand_S16Offset
|
||||
|
||||
/* 013BC 80A1663C 24050023 */ addiu $a1, $zero, 0x0023 ## $a1 = 00000023
|
||||
/* 013C0 80A16640 8FA40018 */ lw $a0, 0x0018($sp)
|
||||
/* 013C4 80A16644 A4820248 */ sh $v0, 0x0248($a0) ## 00000248
|
||||
/* 013C8 80A16648 0C2854AB */ jal func_80A152AC
|
||||
/* 013CC 80A1664C AC800250 */ sw $zero, 0x0250($a0) ## 00000250
|
||||
/* 013D0 80A16650 8FA60018 */ lw $a2, 0x0018($sp)
|
||||
/* 013D4 80A16654 3C0E80A1 */ lui $t6, %hi(func_80A16670) ## $t6 = 80A10000
|
||||
/* 013D8 80A16658 25CE6670 */ addiu $t6, $t6, %lo(func_80A16670) ## $t6 = 80A16670
|
||||
/* 013DC 80A1665C ACCE0244 */ sw $t6, 0x0244($a2) ## 00000244
|
||||
/* 013E0 80A16660 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 013E4 80A16664 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 013E8 80A16668 03E00008 */ jr $ra
|
||||
/* 013EC 80A1666C 00000000 */ nop
|
|
@ -1,162 +0,0 @@
|
|||
.late_rodata
|
||||
glabel D_80A171DC
|
||||
.float 1.2
|
||||
|
||||
glabel D_80A171E0
|
||||
.float 0.2
|
||||
|
||||
.text
|
||||
glabel func_80A16670
|
||||
/* 013F0 80A16670 27BDFFA8 */ addiu $sp, $sp, 0xFFA8 ## $sp = FFFFFFA8
|
||||
/* 013F4 80A16674 3C0E0001 */ lui $t6, 0x0001 ## $t6 = 00010000
|
||||
/* 013F8 80A16678 AFBF0024 */ sw $ra, 0x0024($sp)
|
||||
/* 013FC 80A1667C AFB00020 */ sw $s0, 0x0020($sp)
|
||||
/* 01400 80A16680 01C57021 */ addu $t6, $t6, $a1
|
||||
/* 01404 80A16684 8DCE1DE4 */ lw $t6, 0x1DE4($t6) ## 00011DE4
|
||||
/* 01408 80A16688 3C014270 */ lui $at, 0x4270 ## $at = 42700000
|
||||
/* 0140C 80A1668C 44813000 */ mtc1 $at, $f6 ## $f6 = 60.00
|
||||
/* 01410 80A16690 AFAE0050 */ sw $t6, 0x0050($sp)
|
||||
/* 01414 80A16694 C4840090 */ lwc1 $f4, 0x0090($a0) ## 00000090
|
||||
/* 01418 80A16698 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 0141C 80A1669C 4606203C */ c.lt.s $f4, $f6
|
||||
/* 01420 80A166A0 00000000 */ nop
|
||||
/* 01424 80A166A4 4502000C */ bc1fl .L80A166D8
|
||||
/* 01428 80A166A8 86180248 */ lh $t8, 0x0248($s0) ## 00000248
|
||||
/* 0142C 80A166AC 848F0248 */ lh $t7, 0x0248($a0) ## 00000248
|
||||
/* 01430 80A166B0 3C0280A1 */ lui $v0, %hi(D_80A17080) ## $v0 = 80A10000
|
||||
/* 01434 80A166B4 29E1000C */ slti $at, $t7, 0x000C
|
||||
/* 01438 80A166B8 10200004 */ beq $at, $zero, .L80A166CC
|
||||
/* 0143C 80A166BC 00000000 */ nop
|
||||
/* 01440 80A166C0 3C0280A1 */ lui $v0, %hi(D_80A1708C) ## $v0 = 80A10000
|
||||
/* 01444 80A166C4 1000000C */ beq $zero, $zero, .L80A166F8
|
||||
/* 01448 80A166C8 2442708C */ addiu $v0, $v0, %lo(D_80A1708C) ## $v0 = 80A1708C
|
||||
.L80A166CC:
|
||||
/* 0144C 80A166CC 1000000A */ beq $zero, $zero, .L80A166F8
|
||||
/* 01450 80A166D0 24427080 */ addiu $v0, $v0, %lo(D_80A17080) ## $v0 = 80A1E10C
|
||||
/* 01454 80A166D4 86180248 */ lh $t8, 0x0248($s0) ## 00000248
|
||||
.L80A166D8:
|
||||
/* 01458 80A166D8 3C0280A1 */ lui $v0, %hi(D_80A17080) ## $v0 = 80A10000
|
||||
/* 0145C 80A166DC 24427080 */ addiu $v0, $v0, %lo(D_80A17080) ## $v0 = 80A17080
|
||||
/* 01460 80A166E0 2B010004 */ slti $at, $t8, 0x0004
|
||||
/* 01464 80A166E4 10200004 */ beq $at, $zero, .L80A166F8
|
||||
/* 01468 80A166E8 00000000 */ nop
|
||||
/* 0146C 80A166EC 3C0280A1 */ lui $v0, %hi(D_80A1708C) ## $v0 = 80A10000
|
||||
/* 01470 80A166F0 10000001 */ beq $zero, $zero, .L80A166F8
|
||||
/* 01474 80A166F4 2442708C */ addiu $v0, $v0, %lo(D_80A1708C) ## $v0 = 80A1708C
|
||||
.L80A166F8:
|
||||
/* 01478 80A166F8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 0147C 80A166FC 0C285574 */ jal func_80A155D0
|
||||
/* 01480 80A16700 AFA2004C */ sw $v0, 0x004C($sp)
|
||||
/* 01484 80A16704 8FA2004C */ lw $v0, 0x004C($sp)
|
||||
/* 01488 80A16708 44804000 */ mtc1 $zero, $f8 ## $f8 = 0.00
|
||||
/* 0148C 80A1670C 26040068 */ addiu $a0, $s0, 0x0068 ## $a0 = 00000068
|
||||
/* 01490 80A16710 8C450000 */ lw $a1, 0x0000($v0) ## 00000000
|
||||
/* 01494 80A16714 8C460004 */ lw $a2, 0x0004($v0) ## 00000004
|
||||
/* 01498 80A16718 8C470008 */ lw $a3, 0x0008($v0) ## 00000008
|
||||
/* 0149C 80A1671C 0C01E0C4 */ jal Math_SmoothStepToF
|
||||
|
||||
/* 014A0 80A16720 E7A80010 */ swc1 $f8, 0x0010($sp)
|
||||
/* 014A4 80A16724 44805000 */ mtc1 $zero, $f10 ## $f10 = 0.00
|
||||
/* 014A8 80A16728 26040024 */ addiu $a0, $s0, 0x0024 ## $a0 = 00000024
|
||||
/* 014AC 80A1672C 26050008 */ addiu $a1, $s0, 0x0008 ## $a1 = 00000008
|
||||
/* 014B0 80A16730 AFA50028 */ sw $a1, 0x0028($sp)
|
||||
/* 014B4 80A16734 AFA4002C */ sw $a0, 0x002C($sp)
|
||||
/* 014B8 80A16738 0C2854A0 */ jal func_80A15280
|
||||
/* 014BC 80A1673C E7AA0044 */ swc1 $f10, 0x0044($sp)
|
||||
/* 014C0 80A16740 3C014361 */ lui $at, 0x4361 ## $at = 43610000
|
||||
/* 014C4 80A16744 44818000 */ mtc1 $at, $f16 ## $f16 = 225.00
|
||||
/* 014C8 80A16748 8FA4002C */ lw $a0, 0x002C($sp)
|
||||
/* 014CC 80A1674C 8FA50028 */ lw $a1, 0x0028($sp)
|
||||
/* 014D0 80A16750 4600803C */ c.lt.s $f16, $f0
|
||||
/* 014D4 80A16754 00000000 */ nop
|
||||
/* 014D8 80A16758 4502000E */ bc1fl .L80A16794
|
||||
/* 014DC 80A1675C 86190248 */ lh $t9, 0x0248($s0) ## 00000248
|
||||
/* 014E0 80A16760 0C01E01A */ jal Math_Vec3f_Yaw
|
||||
|
||||
/* 014E4 80A16764 00000000 */ nop
|
||||
/* 014E8 80A16768 00022C00 */ sll $a1, $v0, 16
|
||||
/* 014EC 80A1676C 00052C03 */ sra $a1, $a1, 16
|
||||
/* 014F0 80A16770 26040032 */ addiu $a0, $s0, 0x0032 ## $a0 = 00000032
|
||||
/* 014F4 80A16774 0C01DE2B */ jal Math_ScaledStepToS
|
||||
|
||||
/* 014F8 80A16778 240600C8 */ addiu $a2, $zero, 0x00C8 ## $a2 = 000000C8
|
||||
/* 014FC 80A1677C 14400013 */ bne $v0, $zero, .L80A167CC
|
||||
/* 01500 80A16780 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000
|
||||
/* 01504 80A16784 44819000 */ mtc1 $at, $f18 ## $f18 = 0.50
|
||||
/* 01508 80A16788 10000010 */ beq $zero, $zero, .L80A167CC
|
||||
/* 0150C 80A1678C E7B20044 */ swc1 $f18, 0x0044($sp)
|
||||
/* 01510 80A16790 86190248 */ lh $t9, 0x0248($s0) ## 00000248
|
||||
.L80A16794:
|
||||
/* 01514 80A16794 8FA50050 */ lw $a1, 0x0050($sp)
|
||||
/* 01518 80A16798 24060064 */ addiu $a2, $zero, 0x0064 ## $a2 = 00000064
|
||||
/* 0151C 80A1679C 2B210004 */ slti $at, $t9, 0x0004
|
||||
/* 01520 80A167A0 1020000A */ beq $at, $zero, .L80A167CC
|
||||
/* 01524 80A167A4 000529C0 */ sll $a1, $a1, 7
|
||||
/* 01528 80A167A8 00052C00 */ sll $a1, $a1, 16
|
||||
/* 0152C 80A167AC 00052C03 */ sra $a1, $a1, 16
|
||||
/* 01530 80A167B0 0C01DE2B */ jal Math_ScaledStepToS
|
||||
|
||||
/* 01534 80A167B4 26040032 */ addiu $a0, $s0, 0x0032 ## $a0 = 00000032
|
||||
/* 01538 80A167B8 14400004 */ bne $v0, $zero, .L80A167CC
|
||||
/* 0153C 80A167BC 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000
|
||||
/* 01540 80A167C0 44812000 */ mtc1 $at, $f4 ## $f4 = 0.50
|
||||
/* 01544 80A167C4 00000000 */ nop
|
||||
/* 01548 80A167C8 E7A40044 */ swc1 $f4, 0x0044($sp)
|
||||
.L80A167CC:
|
||||
/* 0154C 80A167CC 86080032 */ lh $t0, 0x0032($s0) ## 00000032
|
||||
/* 01550 80A167D0 3C0180A1 */ lui $at, %hi(D_80A171DC) ## $at = 80A10000
|
||||
/* 01554 80A167D4 C6060068 */ lwc1 $f6, 0x0068($s0) ## 00000068
|
||||
/* 01558 80A167D8 A60800B6 */ sh $t0, 0x00B6($s0) ## 000000B6
|
||||
/* 0155C 80A167DC C42871DC */ lwc1 $f8, %lo(D_80A171DC)($at)
|
||||
/* 01560 80A167E0 3C0180A1 */ lui $at, %hi(D_80A171E0) ## $at = 80A10000
|
||||
/* 01564 80A167E4 C43071E0 */ lwc1 $f16, %lo(D_80A171E0)($at)
|
||||
/* 01568 80A167E8 46083282 */ mul.s $f10, $f6, $f8
|
||||
/* 0156C 80A167EC C7A40044 */ lwc1 $f4, 0x0044($sp)
|
||||
/* 01570 80A167F0 3C013FC0 */ lui $at, 0x3FC0 ## $at = 3FC00000
|
||||
/* 01574 80A167F4 44813000 */ mtc1 $at, $f6 ## $f6 = 1.50
|
||||
/* 01578 80A167F8 3C013FE0 */ lui $at, 0x3FE0 ## $at = 3FE00000
|
||||
/* 0157C 80A167FC 46105480 */ add.s $f18, $f10, $f16
|
||||
/* 01580 80A16800 46049080 */ add.s $f2, $f18, $f4
|
||||
/* 01584 80A16804 4606103C */ c.lt.s $f2, $f6
|
||||
/* 01588 80A16808 00000000 */ nop
|
||||
/* 0158C 80A1680C 45020009 */ bc1fl .L80A16834
|
||||
/* 01590 80A16810 44816800 */ mtc1 $at, $f13 ## $f13 = 1.75
|
||||
/* 01594 80A16814 3C013FF8 */ lui $at, 0x3FF8 ## $at = 3FF80000
|
||||
/* 01598 80A16818 44814800 */ mtc1 $at, $f9 ## $f9 = 1.94
|
||||
/* 0159C 80A1681C 44804000 */ mtc1 $zero, $f8 ## $f8 = 0.00
|
||||
/* 015A0 80A16820 00000000 */ nop
|
||||
/* 015A4 80A16824 462042A0 */ cvt.s.d $f10, $f8
|
||||
/* 015A8 80A16828 1000000D */ beq $zero, $zero, .L80A16860
|
||||
/* 015AC 80A1682C E60A01C8 */ swc1 $f10, 0x01C8($s0) ## 000001C8
|
||||
/* 015B0 80A16830 44816800 */ mtc1 $at, $f13 ## $f13 = 1.94
|
||||
.L80A16834:
|
||||
/* 015B4 80A16834 44806000 */ mtc1 $zero, $f12 ## $f12 = 0.00
|
||||
/* 015B8 80A16838 46001021 */ cvt.d.s $f0, $f2
|
||||
/* 015BC 80A1683C 4620603C */ c.lt.d $f12, $f0
|
||||
/* 015C0 80A16840 00000000 */ nop
|
||||
/* 015C4 80A16844 45020004 */ bc1fl .L80A16858
|
||||
/* 015C8 80A16848 46200086 */ mov.d $f2, $f0
|
||||
/* 015CC 80A1684C 10000002 */ beq $zero, $zero, .L80A16858
|
||||
/* 015D0 80A16850 46206086 */ mov.d $f2, $f12
|
||||
/* 015D4 80A16854 46200086 */ mov.d $f2, $f0
|
||||
.L80A16858:
|
||||
/* 015D8 80A16858 46201420 */ cvt.s.d $f16, $f2
|
||||
/* 015DC 80A1685C E61001C8 */ swc1 $f16, 0x01C8($s0) ## 000001C8
|
||||
.L80A16860:
|
||||
/* 015E0 80A16860 0C02927F */ jal SkelAnime_Update
|
||||
|
||||
/* 015E4 80A16864 260401AC */ addiu $a0, $s0, 0x01AC ## $a0 = 000001AC
|
||||
/* 015E8 80A16868 86090248 */ lh $t1, 0x0248($s0) ## 00000248
|
||||
/* 015EC 80A1686C 24040005 */ addiu $a0, $zero, 0x0005 ## $a0 = 00000005
|
||||
/* 015F0 80A16870 5D200005 */ bgtzl $t1, .L80A16888
|
||||
/* 015F4 80A16874 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
/* 015F8 80A16878 0C01DF64 */ jal Rand_S16Offset
|
||||
|
||||
/* 015FC 80A1687C 24050050 */ addiu $a1, $zero, 0x0050 ## $a1 = 00000050
|
||||
/* 01600 80A16880 A6020248 */ sh $v0, 0x0248($s0) ## 00000248
|
||||
/* 01604 80A16884 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
.L80A16888:
|
||||
/* 01608 80A16888 8FB00020 */ lw $s0, 0x0020($sp)
|
||||
/* 0160C 80A1688C 27BD0058 */ addiu $sp, $sp, 0x0058 ## $sp = 00000000
|
||||
/* 01610 80A16890 03E00008 */ jr $ra
|
||||
/* 01614 80A16894 00000000 */ nop
|
|
@ -1,95 +0,0 @@
|
|||
.late_rodata
|
||||
glabel D_80A171E4
|
||||
.float 0.1
|
||||
|
||||
glabel D_80A171E8
|
||||
.float 0.4
|
||||
|
||||
.text
|
||||
glabel func_80A16898
|
||||
/* 01618 80A16898 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
|
||||
/* 0161C 80A1689C AFB00018 */ sw $s0, 0x0018($sp)
|
||||
/* 01620 80A168A0 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 01624 80A168A4 AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 01628 80A168A8 AFA5002C */ sw $a1, 0x002C($sp)
|
||||
/* 0162C 80A168AC 0C01DE1C */ jal Math_SinS
|
||||
## sins?
|
||||
/* 01630 80A168B0 8484024C */ lh $a0, 0x024C($a0) ## 0000024C
|
||||
/* 01634 80A168B4 E7A00024 */ swc1 $f0, 0x0024($sp)
|
||||
/* 01638 80A168B8 0C01DE1C */ jal Math_SinS
|
||||
## sins?
|
||||
/* 0163C 80A168BC 8604024E */ lh $a0, 0x024E($s0) ## 0000024E
|
||||
/* 01640 80A168C0 3C0280A1 */ lui $v0, %hi(D_80A17014) ## $v0 = 80A10000
|
||||
/* 01644 80A168C4 3C0380A1 */ lui $v1, %hi(D_80A17018) ## $v1 = 80A10000
|
||||
/* 01648 80A168C8 24637018 */ addiu $v1, $v1, %lo(D_80A17018) ## $v1 = 80A17018
|
||||
/* 0164C 80A168CC 24427014 */ addiu $v0, $v0, %lo(D_80A17014) ## $v0 = 80A17014
|
||||
/* 01650 80A168D0 C4440000 */ lwc1 $f4, 0x0000($v0) ## 80A17014
|
||||
/* 01654 80A168D4 C4620000 */ lwc1 $f2, 0x0000($v1) ## 80A17018
|
||||
/* 01658 80A168D8 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
|
||||
/* 0165C 80A168DC 44816000 */ mtc1 $at, $f12 ## $f12 = 1.00
|
||||
/* 01660 80A168E0 46022180 */ add.s $f6, $f4, $f2
|
||||
/* 01664 80A168E4 E7A00020 */ swc1 $f0, 0x0020($sp)
|
||||
/* 01668 80A168E8 3C0180A1 */ lui $at, %hi(D_80A171E8) ## $at = 80A10000
|
||||
/* 0166C 80A168EC E4460000 */ swc1 $f6, 0x0000($v0) ## 80A17014
|
||||
/* 01670 80A168F0 C4480000 */ lwc1 $f8, 0x0000($v0) ## 80A17014
|
||||
/* 01674 80A168F4 460C403E */ c.le.s $f8, $f12
|
||||
/* 01678 80A168F8 00000000 */ nop
|
||||
/* 0167C 80A168FC 4500001E */ bc1f .L80A16978
|
||||
/* 01680 80A16900 00000000 */ nop
|
||||
/* 01684 80A16904 0C03F66B */ jal Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 01688 80A16908 E44C0000 */ swc1 $f12, 0x0000($v0) ## 80A17014
|
||||
/* 0168C 80A1690C 3C0180A1 */ lui $at, %hi(D_80A171E4) ## $at = 80A10000
|
||||
/* 01690 80A16910 C42A71E4 */ lwc1 $f10, %lo(D_80A171E4)($at)
|
||||
/* 01694 80A16914 3C0380A1 */ lui $v1, %hi(D_80A17018) ## $v1 = 80A10000
|
||||
/* 01698 80A16918 24637018 */ addiu $v1, $v1, %lo(D_80A17018) ## $v1 = 80A17018
|
||||
/* 0169C 80A1691C 460A003C */ c.lt.s $f0, $f10
|
||||
/* 016A0 80A16920 00000000 */ nop
|
||||
/* 016A4 80A16924 45020012 */ bc1fl .L80A16970
|
||||
/* 016A8 80A16928 44804000 */ mtc1 $zero, $f8 ## $f8 = 0.00
|
||||
/* 016AC 80A1692C 0C03F66B */ jal Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 016B0 80A16930 00000000 */ nop
|
||||
/* 016B4 80A16934 3C014040 */ lui $at, 0x4040 ## $at = 40400000
|
||||
/* 016B8 80A16938 44818000 */ mtc1 $at, $f16 ## $f16 = 3.00
|
||||
/* 016BC 80A1693C 3C014000 */ lui $at, 0x4000 ## $at = 40000000
|
||||
/* 016C0 80A16940 44812000 */ mtc1 $at, $f4 ## $f4 = 2.00
|
||||
/* 016C4 80A16944 46100482 */ mul.s $f18, $f0, $f16
|
||||
/* 016C8 80A16948 3C0380A1 */ lui $v1, %hi(D_80A17018) ## $v1 = 80A10000
|
||||
/* 016CC 80A1694C 24637018 */ addiu $v1, $v1, %lo(D_80A17018) ## $v1 = 80A17018
|
||||
/* 016D0 80A16950 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 016D4 80A16954 24052869 */ addiu $a1, $zero, 0x2869 ## $a1 = 00002869
|
||||
/* 016D8 80A16958 46049180 */ add.s $f6, $f18, $f4
|
||||
/* 016DC 80A1695C 0C00BE0A */ jal Audio_PlayActorSound2
|
||||
|
||||
/* 016E0 80A16960 E4660000 */ swc1 $f6, 0x0000($v1) ## 80A17018
|
||||
/* 016E4 80A16964 10000008 */ beq $zero, $zero, .L80A16988
|
||||
/* 016E8 80A16968 C7B20024 */ lwc1 $f18, 0x0024($sp)
|
||||
/* 016EC 80A1696C 44804000 */ mtc1 $zero, $f8 ## $f8 = 0.00
|
||||
.L80A16970:
|
||||
/* 016F0 80A16970 10000004 */ beq $zero, $zero, .L80A16984
|
||||
/* 016F4 80A16974 E4680000 */ swc1 $f8, 0x0000($v1) ## 00000000
|
||||
.L80A16978:
|
||||
/* 016F8 80A16978 C42A71E8 */ lwc1 $f10, %lo(D_80A171E8)($at)
|
||||
/* 016FC 80A1697C 460A1401 */ sub.s $f16, $f2, $f10
|
||||
/* 01700 80A16980 E4700000 */ swc1 $f16, 0x0000($v1) ## 00000000
|
||||
.L80A16984:
|
||||
/* 01704 80A16984 C7B20024 */ lwc1 $f18, 0x0024($sp)
|
||||
.L80A16988:
|
||||
/* 01708 80A16988 C7A40020 */ lwc1 $f4, 0x0020($sp)
|
||||
/* 0170C 80A1698C 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000
|
||||
/* 01710 80A16990 44814000 */ mtc1 $at, $f8 ## $f8 = 0.50
|
||||
/* 01714 80A16994 46049180 */ add.s $f6, $f18, $f4
|
||||
/* 01718 80A16998 3C014000 */ lui $at, 0x4000 ## $at = 40000000
|
||||
/* 0171C 80A1699C 44818000 */ mtc1 $at, $f16 ## $f16 = 2.00
|
||||
/* 01720 80A169A0 260401AC */ addiu $a0, $s0, 0x01AC ## $a0 = 000001AC
|
||||
/* 01724 80A169A4 46083282 */ mul.s $f10, $f6, $f8
|
||||
/* 01728 80A169A8 46105480 */ add.s $f18, $f10, $f16
|
||||
/* 0172C 80A169AC 0C02927F */ jal SkelAnime_Update
|
||||
|
||||
/* 01730 80A169B0 E61201C8 */ swc1 $f18, 0x01C8($s0) ## 000001C8
|
||||
/* 01734 80A169B4 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 01738 80A169B8 8FB00018 */ lw $s0, 0x0018($sp)
|
||||
/* 0173C 80A169BC 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
|
||||
/* 01740 80A169C0 03E00008 */ jr $ra
|
||||
/* 01744 80A169C4 00000000 */ nop
|
|
@ -1,44 +0,0 @@
|
|||
glabel func_80A169C8
|
||||
/* 01748 80A169C8 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
|
||||
/* 0174C 80A169CC AFB00018 */ sw $s0, 0x0018($sp)
|
||||
/* 01750 80A169D0 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 01754 80A169D4 AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 01758 80A169D8 AFA50034 */ sw $a1, 0x0034($sp)
|
||||
/* 0175C 80A169DC 0C01DE1C */ jal Math_SinS
|
||||
## sins?
|
||||
/* 01760 80A169E0 8484024C */ lh $a0, 0x024C($a0) ## 0000024C
|
||||
/* 01764 80A169E4 E7A00028 */ swc1 $f0, 0x0028($sp)
|
||||
/* 01768 80A169E8 0C01DE1C */ jal Math_SinS
|
||||
## sins?
|
||||
/* 0176C 80A169EC 8604024E */ lh $a0, 0x024E($s0) ## 0000024E
|
||||
/* 01770 80A169F0 E7A00024 */ swc1 $f0, 0x0024($sp)
|
||||
/* 01774 80A169F4 860E00B4 */ lh $t6, 0x00B4($s0) ## 000000B4
|
||||
/* 01778 80A169F8 861800B8 */ lh $t8, 0x00B8($s0) ## 000000B8
|
||||
/* 0177C 80A169FC 3C0480A1 */ lui $a0, %hi(D_80A17014) ## $a0 = 80A10000
|
||||
/* 01780 80A16A00 25CFFE0C */ addiu $t7, $t6, 0xFE0C ## $t7 = FFFFFE0C
|
||||
/* 01784 80A16A04 27190064 */ addiu $t9, $t8, 0x0064 ## $t9 = 00000064
|
||||
/* 01788 80A16A08 A60F00B4 */ sh $t7, 0x00B4($s0) ## 000000B4
|
||||
/* 0178C 80A16A0C A61900B8 */ sh $t9, 0x00B8($s0) ## 000000B8
|
||||
/* 01790 80A16A10 24847014 */ addiu $a0, $a0, %lo(D_80A17014) ## $a0 = 80A17014
|
||||
/* 01794 80A16A14 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
|
||||
/* 01798 80A16A18 0C01DE80 */ jal Math_StepToF
|
||||
|
||||
/* 0179C 80A16A1C 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
|
||||
/* 017A0 80A16A20 C7A40028 */ lwc1 $f4, 0x0028($sp)
|
||||
/* 017A4 80A16A24 C7A60024 */ lwc1 $f6, 0x0024($sp)
|
||||
/* 017A8 80A16A28 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000
|
||||
/* 017AC 80A16A2C 44815000 */ mtc1 $at, $f10 ## $f10 = 0.50
|
||||
/* 017B0 80A16A30 46062200 */ add.s $f8, $f4, $f6
|
||||
/* 017B4 80A16A34 3C014000 */ lui $at, 0x4000 ## $at = 40000000
|
||||
/* 017B8 80A16A38 44819000 */ mtc1 $at, $f18 ## $f18 = 2.00
|
||||
/* 017BC 80A16A3C 260401AC */ addiu $a0, $s0, 0x01AC ## $a0 = 000001AC
|
||||
/* 017C0 80A16A40 460A4402 */ mul.s $f16, $f8, $f10
|
||||
/* 017C4 80A16A44 46128100 */ add.s $f4, $f16, $f18
|
||||
/* 017C8 80A16A48 0C02927F */ jal SkelAnime_Update
|
||||
|
||||
/* 017CC 80A16A4C E60401C8 */ swc1 $f4, 0x01C8($s0) ## 000001C8
|
||||
/* 017D0 80A16A50 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 017D4 80A16A54 8FB00018 */ lw $s0, 0x0018($sp)
|
||||
/* 017D8 80A16A58 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
|
||||
/* 017DC 80A16A5C 03E00008 */ jr $ra
|
||||
/* 017E0 80A16A60 00000000 */ nop
|
|
@ -1,164 +0,0 @@
|
|||
.rdata
|
||||
glabel D_80A170EC
|
||||
.asciz "Warning : dousa 3 消滅 が呼ばれずにデモが終了した(%s %d)(arg_data 0x%04x)\n"
|
||||
.balign 4
|
||||
|
||||
glabel D_80A17138
|
||||
.asciz "../z_en_sakana.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_80A1714C
|
||||
.asciz "デモ魚消滅\n"
|
||||
.balign 4
|
||||
|
||||
glabel D_80A17158
|
||||
.asciz "不正なデモ動作(%s %d)(arg_data 0x%04x)\n"
|
||||
.balign 4
|
||||
|
||||
glabel D_80A17180
|
||||
.asciz "../z_en_sakana.c"
|
||||
.balign 4
|
||||
|
||||
.text
|
||||
glabel func_80A16A64
|
||||
/* 017E4 80A16A64 27BDFFA8 */ addiu $sp, $sp, 0xFFA8 ## $sp = FFFFFFA8
|
||||
/* 017E8 80A16A68 AFBF0024 */ sw $ra, 0x0024($sp)
|
||||
/* 017EC 80A16A6C AFB00020 */ sw $s0, 0x0020($sp)
|
||||
/* 017F0 80A16A70 AFA5005C */ sw $a1, 0x005C($sp)
|
||||
/* 017F4 80A16A74 8CA21D90 */ lw $v0, 0x1D90($a1) ## 00001D90
|
||||
/* 017F8 80A16A78 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 017FC 80A16A7C 3C0480A1 */ lui $a0, %hi(D_80A170EC) ## $a0 = 80A10000
|
||||
/* 01800 80A16A80 1440000C */ bne $v0, $zero, .L80A16AB4
|
||||
/* 01804 80A16A84 248470EC */ addiu $a0, $a0, %lo(D_80A170EC) ## $a0 = 80A170EC
|
||||
/* 01808 80A16A88 3C0580A1 */ lui $a1, %hi(D_80A17138) ## $a1 = 80A10000
|
||||
/* 0180C 80A16A8C 24A57138 */ addiu $a1, $a1, %lo(D_80A17138) ## $a1 = 80A17138
|
||||
/* 01810 80A16A90 24060491 */ addiu $a2, $zero, 0x0491 ## $a2 = 00000491
|
||||
/* 01814 80A16A94 0C00084C */ jal osSyncPrintf
|
||||
|
||||
/* 01818 80A16A98 8607001C */ lh $a3, 0x001C($s0) ## 0000001C
|
||||
/* 0181C 80A16A9C 0C285511 */ jal func_80A15444
|
||||
/* 01820 80A16AA0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 01824 80A16AA4 0C00B55C */ jal Actor_Kill
|
||||
|
||||
/* 01828 80A16AA8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 0182C 80A16AAC 1000006A */ beq $zero, $zero, .L80A16C58
|
||||
/* 01830 80A16AB0 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
.L80A16AB4:
|
||||
/* 01834 80A16AB4 860F024C */ lh $t7, 0x024C($s0) ## 0000024C
|
||||
/* 01838 80A16AB8 8619024E */ lh $t9, 0x024E($s0) ## 0000024E
|
||||
/* 0183C 80A16ABC 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
|
||||
/* 01840 80A16AC0 25F80111 */ addiu $t8, $t7, 0x0111 ## $t8 = 00000111
|
||||
/* 01844 80A16AC4 27280500 */ addiu $t0, $t9, 0x0500 ## $t0 = 00000500
|
||||
/* 01848 80A16AC8 A618024C */ sh $t8, 0x024C($s0) ## 0000024C
|
||||
/* 0184C 80A16ACC A608024E */ sh $t0, 0x024E($s0) ## 0000024E
|
||||
/* 01850 80A16AD0 94430000 */ lhu $v1, 0x0000($v0) ## 00000000
|
||||
/* 01854 80A16AD4 8FA5005C */ lw $a1, 0x005C($sp)
|
||||
/* 01858 80A16AD8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 0185C 80A16ADC 10610008 */ beq $v1, $at, .L80A16B00
|
||||
/* 01860 80A16AE0 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
|
||||
/* 01864 80A16AE4 1061000A */ beq $v1, $at, .L80A16B10
|
||||
/* 01868 80A16AE8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 0186C 80A16AEC 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
|
||||
/* 01870 80A16AF0 1061000C */ beq $v1, $at, .L80A16B24
|
||||
/* 01874 80A16AF4 3C0480A1 */ lui $a0, %hi(D_80A1714C) ## $a0 = 80A10000
|
||||
/* 01878 80A16AF8 10000012 */ beq $zero, $zero, .L80A16B44
|
||||
/* 0187C 80A16AFC 3C0480A1 */ lui $a0, %hi(D_80A17158) ## $a0 = 80A10000
|
||||
.L80A16B00:
|
||||
/* 01880 80A16B00 0C285A26 */ jal func_80A16898
|
||||
/* 01884 80A16B04 AFA2004C */ sw $v0, 0x004C($sp)
|
||||
/* 01888 80A16B08 10000016 */ beq $zero, $zero, .L80A16B64
|
||||
/* 0188C 80A16B0C 8FA2004C */ lw $v0, 0x004C($sp)
|
||||
.L80A16B10:
|
||||
/* 01890 80A16B10 8FA5005C */ lw $a1, 0x005C($sp)
|
||||
/* 01894 80A16B14 0C285A72 */ jal func_80A169C8
|
||||
/* 01898 80A16B18 AFA2004C */ sw $v0, 0x004C($sp)
|
||||
/* 0189C 80A16B1C 10000011 */ beq $zero, $zero, .L80A16B64
|
||||
/* 018A0 80A16B20 8FA2004C */ lw $v0, 0x004C($sp)
|
||||
.L80A16B24:
|
||||
/* 018A4 80A16B24 0C00084C */ jal osSyncPrintf
|
||||
|
||||
/* 018A8 80A16B28 2484714C */ addiu $a0, $a0, %lo(D_80A1714C) ## $a0 = 0000714C
|
||||
/* 018AC 80A16B2C 0C285511 */ jal func_80A15444
|
||||
/* 018B0 80A16B30 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 018B4 80A16B34 0C00B55C */ jal Actor_Kill
|
||||
|
||||
/* 018B8 80A16B38 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 018BC 80A16B3C 10000046 */ beq $zero, $zero, .L80A16C58
|
||||
/* 018C0 80A16B40 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
.L80A16B44:
|
||||
/* 018C4 80A16B44 3C0580A1 */ lui $a1, %hi(D_80A17180) ## $a1 = 80A10000
|
||||
/* 018C8 80A16B48 8607001C */ lh $a3, 0x001C($s0) ## 0000001C
|
||||
/* 018CC 80A16B4C AFA2004C */ sw $v0, 0x004C($sp)
|
||||
/* 018D0 80A16B50 24A57180 */ addiu $a1, $a1, %lo(D_80A17180) ## $a1 = 80A17180
|
||||
/* 018D4 80A16B54 24847158 */ addiu $a0, $a0, %lo(D_80A17158) ## $a0 = 00007158
|
||||
/* 018D8 80A16B58 0C00084C */ jal osSyncPrintf
|
||||
|
||||
/* 018DC 80A16B5C 240604B0 */ addiu $a2, $zero, 0x04B0 ## $a2 = 000004B0
|
||||
/* 018E0 80A16B60 8FA2004C */ lw $v0, 0x004C($sp)
|
||||
.L80A16B64:
|
||||
/* 018E4 80A16B64 8C4C0018 */ lw $t4, 0x0018($v0) ## 00000018
|
||||
/* 018E8 80A16B68 8C49000C */ lw $t1, 0x000C($v0) ## 0000000C
|
||||
/* 018EC 80A16B6C 8C4A0010 */ lw $t2, 0x0010($v0) ## 00000010
|
||||
/* 018F0 80A16B70 448C5000 */ mtc1 $t4, $f10 ## $f10 = 0.00
|
||||
/* 018F4 80A16B74 8C4B0014 */ lw $t3, 0x0014($v0) ## 00000014
|
||||
/* 018F8 80A16B78 44892000 */ mtc1 $t1, $f4 ## $f4 = 0.00
|
||||
/* 018FC 80A16B7C 46805420 */ cvt.s.w $f16, $f10
|
||||
/* 01900 80A16B80 448A3000 */ mtc1 $t2, $f6 ## $f6 = 0.00
|
||||
/* 01904 80A16B84 448B4000 */ mtc1 $t3, $f8 ## $f8 = 0.00
|
||||
/* 01908 80A16B88 8FAF005C */ lw $t7, 0x005C($sp)
|
||||
/* 0190C 80A16B8C 468020A0 */ cvt.s.w $f2, $f4
|
||||
/* 01910 80A16B90 E7B00034 */ swc1 $f16, 0x0034($sp)
|
||||
/* 01914 80A16B94 8C4D001C */ lw $t5, 0x001C($v0) ## 0000001C
|
||||
/* 01918 80A16B98 448D9000 */ mtc1 $t5, $f18 ## $f18 = 0.00
|
||||
/* 0191C 80A16B9C 46803320 */ cvt.s.w $f12, $f6
|
||||
/* 01920 80A16BA0 46809120 */ cvt.s.w $f4, $f18
|
||||
/* 01924 80A16BA4 468043A0 */ cvt.s.w $f14, $f8
|
||||
/* 01928 80A16BA8 E7A40038 */ swc1 $f4, 0x0038($sp)
|
||||
/* 0192C 80A16BAC 8C4E0020 */ lw $t6, 0x0020($v0) ## 00000020
|
||||
/* 01930 80A16BB0 448E3000 */ mtc1 $t6, $f6 ## $f6 = 0.00
|
||||
/* 01934 80A16BB4 00000000 */ nop
|
||||
/* 01938 80A16BB8 46803220 */ cvt.s.w $f8, $f6
|
||||
/* 0193C 80A16BBC E7A8003C */ swc1 $f8, 0x003C($sp)
|
||||
/* 01940 80A16BC0 94450002 */ lhu $a1, 0x0002($v0) ## 00000002
|
||||
/* 01944 80A16BC4 94440004 */ lhu $a0, 0x0004($v0) ## 00000004
|
||||
/* 01948 80A16BC8 95E61D74 */ lhu $a2, 0x1D74($t7) ## 00001D74
|
||||
/* 0194C 80A16BCC E7AE0048 */ swc1 $f14, 0x0048($sp)
|
||||
/* 01950 80A16BD0 E7AC0044 */ swc1 $f12, 0x0044($sp)
|
||||
/* 01954 80A16BD4 0C01BE4F */ jal func_8006F93C
|
||||
/* 01958 80A16BD8 E7A20040 */ swc1 $f2, 0x0040($sp)
|
||||
/* 0195C 80A16BDC C7A20040 */ lwc1 $f2, 0x0040($sp)
|
||||
/* 01960 80A16BE0 C7AA0034 */ lwc1 $f10, 0x0034($sp)
|
||||
/* 01964 80A16BE4 C7AC0044 */ lwc1 $f12, 0x0044($sp)
|
||||
/* 01968 80A16BE8 C7AE0048 */ lwc1 $f14, 0x0048($sp)
|
||||
/* 0196C 80A16BEC 46025401 */ sub.s $f16, $f10, $f2
|
||||
/* 01970 80A16BF0 3C0180A1 */ lui $at, %hi(D_80A17014) ## $at = 80A10000
|
||||
/* 01974 80A16BF4 26180024 */ addiu $t8, $s0, 0x0024 ## $t8 = 00000024
|
||||
/* 01978 80A16BF8 26050078 */ addiu $a1, $s0, 0x0078 ## $a1 = 00000078
|
||||
/* 0197C 80A16BFC 46008482 */ mul.s $f18, $f16, $f0
|
||||
/* 01980 80A16C00 27A6002C */ addiu $a2, $sp, 0x002C ## $a2 = FFFFFFD4
|
||||
/* 01984 80A16C04 02003825 */ or $a3, $s0, $zero ## $a3 = 00000000
|
||||
/* 01988 80A16C08 46029100 */ add.s $f4, $f18, $f2
|
||||
/* 0198C 80A16C0C E6040024 */ swc1 $f4, 0x0024($s0) ## 00000024
|
||||
/* 01990 80A16C10 C7A60038 */ lwc1 $f6, 0x0038($sp)
|
||||
/* 01994 80A16C14 C4327014 */ lwc1 $f18, %lo(D_80A17014)($at)
|
||||
/* 01998 80A16C18 460C3201 */ sub.s $f8, $f6, $f12
|
||||
/* 0199C 80A16C1C 46004282 */ mul.s $f10, $f8, $f0
|
||||
/* 019A0 80A16C20 460C5400 */ add.s $f16, $f10, $f12
|
||||
/* 019A4 80A16C24 46128100 */ add.s $f4, $f16, $f18
|
||||
/* 019A8 80A16C28 E6040028 */ swc1 $f4, 0x0028($s0) ## 00000028
|
||||
/* 019AC 80A16C2C C7A6003C */ lwc1 $f6, 0x003C($sp)
|
||||
/* 019B0 80A16C30 460E3201 */ sub.s $f8, $f6, $f14
|
||||
/* 019B4 80A16C34 46004282 */ mul.s $f10, $f8, $f0
|
||||
/* 019B8 80A16C38 460E5400 */ add.s $f16, $f10, $f14
|
||||
/* 019BC 80A16C3C E610002C */ swc1 $f16, 0x002C($s0) ## 0000002C
|
||||
/* 019C0 80A16C40 8FA4005C */ lw $a0, 0x005C($sp)
|
||||
/* 019C4 80A16C44 AFB80010 */ sw $t8, 0x0010($sp)
|
||||
/* 019C8 80A16C48 0C00F269 */ jal BgCheck_EntityRaycastFloor4
|
||||
/* 019CC 80A16C4C 248407C0 */ addiu $a0, $a0, 0x07C0 ## $a0 = 000007C0
|
||||
/* 019D0 80A16C50 E6000080 */ swc1 $f0, 0x0080($s0) ## 00000080
|
||||
/* 019D4 80A16C54 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
.L80A16C58:
|
||||
/* 019D8 80A16C58 8FB00020 */ lw $s0, 0x0020($sp)
|
||||
/* 019DC 80A16C5C 27BD0058 */ addiu $sp, $sp, 0x0058 ## $sp = 00000000
|
||||
/* 019E0 80A16C60 03E00008 */ jr $ra
|
||||
/* 019E4 80A16C64 00000000 */ nop
|
|
@ -1,117 +0,0 @@
|
|||
.late_rodata
|
||||
glabel D_80A171EC
|
||||
.float 0.01
|
||||
|
||||
.text
|
||||
glabel func_80A16C68
|
||||
/* 019E8 80A16C68 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
|
||||
/* 019EC 80A16C6C AFBF0024 */ sw $ra, 0x0024($sp)
|
||||
/* 019F0 80A16C70 AFB00020 */ sw $s0, 0x0020($sp)
|
||||
/* 019F4 80A16C74 AFA5002C */ sw $a1, 0x002C($sp)
|
||||
/* 019F8 80A16C78 84820248 */ lh $v0, 0x0248($a0) ## 00000248
|
||||
/* 019FC 80A16C7C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 01A00 80A16C80 18400002 */ blez $v0, .L80A16C8C
|
||||
/* 01A04 80A16C84 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF
|
||||
/* 01A08 80A16C88 A48E0248 */ sh $t6, 0x0248($a0) ## 00000248
|
||||
.L80A16C8C:
|
||||
/* 01A0C 80A16C8C 860F024C */ lh $t7, 0x024C($s0) ## 0000024C
|
||||
/* 01A10 80A16C90 8619024E */ lh $t9, 0x024E($s0) ## 0000024E
|
||||
/* 01A14 80A16C94 8E02011C */ lw $v0, 0x011C($s0) ## 0000011C
|
||||
/* 01A18 80A16C98 25F80111 */ addiu $t8, $t7, 0x0111 ## $t8 = 00000111
|
||||
/* 01A1C 80A16C9C 27280500 */ addiu $t0, $t9, 0x0500 ## $t0 = 00000500
|
||||
/* 01A20 80A16CA0 A618024C */ sh $t8, 0x024C($s0) ## 0000024C
|
||||
/* 01A24 80A16CA4 10400007 */ beq $v0, $zero, .L80A16CC4
|
||||
/* 01A28 80A16CA8 A608024E */ sh $t0, 0x024E($s0) ## 0000024E
|
||||
/* 01A2C 80A16CAC 8C490130 */ lw $t1, 0x0130($v0) ## 00000130
|
||||
/* 01A30 80A16CB0 55200005 */ bnel $t1, $zero, .L80A16CC8
|
||||
/* 01A34 80A16CB4 8E020244 */ lw $v0, 0x0244($s0) ## 00000244
|
||||
/* 01A38 80A16CB8 52020003 */ beql $s0, $v0, .L80A16CC8
|
||||
/* 01A3C 80A16CBC 8E020244 */ lw $v0, 0x0244($s0) ## 00000244
|
||||
/* 01A40 80A16CC0 AE00011C */ sw $zero, 0x011C($s0) ## 0000011C
|
||||
.L80A16CC4:
|
||||
/* 01A44 80A16CC4 8E020244 */ lw $v0, 0x0244($s0) ## 00000244
|
||||
.L80A16CC8:
|
||||
/* 01A48 80A16CC8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 01A4C 80A16CCC 10400006 */ beq $v0, $zero, .L80A16CE8
|
||||
/* 01A50 80A16CD0 00000000 */ nop
|
||||
/* 01A54 80A16CD4 0040F809 */ jalr $ra, $v0
|
||||
/* 01A58 80A16CD8 8FA5002C */ lw $a1, 0x002C($sp)
|
||||
/* 01A5C 80A16CDC 8E0A0130 */ lw $t2, 0x0130($s0) ## 00000130
|
||||
/* 01A60 80A16CE0 5140003E */ beql $t2, $zero, .L80A16DDC
|
||||
/* 01A64 80A16CE4 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
.L80A16CE8:
|
||||
/* 01A68 80A16CE8 0C00B638 */ jal Actor_MoveForward
|
||||
|
||||
/* 01A6C 80A16CEC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 01A70 80A16CF0 8E020250 */ lw $v0, 0x0250($s0) ## 00000250
|
||||
/* 01A74 80A16CF4 8FA4002C */ lw $a0, 0x002C($sp)
|
||||
/* 01A78 80A16CF8 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
|
||||
/* 01A7C 80A16CFC 10400006 */ beq $v0, $zero, .L80A16D18
|
||||
/* 01A80 80A16D00 3C06418C */ lui $a2, 0x418C ## $a2 = 418C0000
|
||||
/* 01A84 80A16D04 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
|
||||
/* 01A88 80A16D08 3C074080 */ lui $a3, 0x4080 ## $a3 = 40800000
|
||||
/* 01A8C 80A16D0C AFA20014 */ sw $v0, 0x0014($sp)
|
||||
/* 01A90 80A16D10 0C00B92D */ jal Actor_UpdateBgCheckInfo
|
||||
/* 01A94 80A16D14 E7A40010 */ swc1 $f4, 0x0010($sp)
|
||||
.L80A16D18:
|
||||
/* 01A98 80A16D18 3C01428C */ lui $at, 0x428C ## $at = 428C0000
|
||||
/* 01A9C 80A16D1C 44814000 */ mtc1 $at, $f8 ## $f8 = 70.00
|
||||
/* 01AA0 80A16D20 C6060090 */ lwc1 $f6, 0x0090($s0) ## 00000090
|
||||
/* 01AA4 80A16D24 8FA4002C */ lw $a0, 0x002C($sp)
|
||||
/* 01AA8 80A16D28 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
||||
/* 01AAC 80A16D2C 4608303C */ c.lt.s $f6, $f8
|
||||
/* 01AB0 80A16D30 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60
|
||||
/* 01AB4 80A16D34 00812821 */ addu $a1, $a0, $at
|
||||
/* 01AB8 80A16D38 45000003 */ bc1f .L80A16D48
|
||||
/* 01ABC 80A16D3C 00000000 */ nop
|
||||
/* 01AC0 80A16D40 0C017713 */ jal CollisionCheck_SetOC
|
||||
## CollisionCheck_setOC
|
||||
/* 01AC4 80A16D44 2606014C */ addiu $a2, $s0, 0x014C ## $a2 = 0000014C
|
||||
.L80A16D48:
|
||||
/* 01AC8 80A16D48 3C0180A1 */ lui $at, %hi(D_80A171EC) ## $at = 80A10000
|
||||
/* 01ACC 80A16D4C C43071EC */ lwc1 $f16, %lo(D_80A171EC)($at)
|
||||
/* 01AD0 80A16D50 C60A00BC */ lwc1 $f10, 0x00BC($s0) ## 000000BC
|
||||
/* 01AD4 80A16D54 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 01AD8 80A16D58 46105482 */ mul.s $f18, $f10, $f16
|
||||
/* 01ADC 80A16D5C 44059000 */ mfc1 $a1, $f18
|
||||
/* 01AE0 80A16D60 0C00B56E */ jal Actor_SetFocus
|
||||
|
||||
/* 01AE4 80A16D64 00000000 */ nop
|
||||
/* 01AE8 80A16D68 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 01AEC 80A16D6C 0C00BD04 */ jal Actor_HasParent
|
||||
/* 01AF0 80A16D70 8FA5002C */ lw $a1, 0x002C($sp)
|
||||
/* 01AF4 80A16D74 1040000D */ beq $v0, $zero, .L80A16DAC
|
||||
/* 01AF8 80A16D78 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 01AFC 80A16D7C 860B001C */ lh $t3, 0x001C($s0) ## 0000001C
|
||||
/* 01B00 80A16D80 AE000118 */ sw $zero, 0x0118($s0) ## 00000118
|
||||
/* 01B04 80A16D84 15600005 */ bne $t3, $zero, .L80A16D9C
|
||||
/* 01B08 80A16D88 00000000 */ nop
|
||||
/* 01B0C 80A16D8C 0C00B55C */ jal Actor_Kill
|
||||
|
||||
/* 01B10 80A16D90 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 01B14 80A16D94 10000011 */ beq $zero, $zero, .L80A16DDC
|
||||
/* 01B18 80A16D98 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
.L80A16D9C:
|
||||
/* 01B1C 80A16D9C 0C2854DD */ jal func_80A15374
|
||||
/* 01B20 80A16DA0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 01B24 80A16DA4 1000000D */ beq $zero, $zero, .L80A16DDC
|
||||
/* 01B28 80A16DA8 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
.L80A16DAC:
|
||||
/* 01B2C 80A16DAC 0C2855A2 */ jal func_80A15688
|
||||
/* 01B30 80A16DB0 8FA5002C */ lw $a1, 0x002C($sp)
|
||||
/* 01B34 80A16DB4 10400008 */ beq $v0, $zero, .L80A16DD8
|
||||
/* 01B38 80A16DB8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 01B3C 80A16DBC 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000
|
||||
/* 01B40 80A16DC0 44812000 */ mtc1 $at, $f4 ## $f4 = 20.00
|
||||
/* 01B44 80A16DC4 8FA5002C */ lw $a1, 0x002C($sp)
|
||||
/* 01B48 80A16DC8 2406007E */ addiu $a2, $zero, 0x007E ## $a2 = 0000007E
|
||||
/* 01B4C 80A16DCC 3C0742A0 */ lui $a3, 0x42A0 ## $a3 = 42A00000
|
||||
/* 01B50 80A16DD0 0C00BD0D */ jal func_8002F434
|
||||
/* 01B54 80A16DD4 E7A40010 */ swc1 $f4, 0x0010($sp)
|
||||
.L80A16DD8:
|
||||
/* 01B58 80A16DD8 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
.L80A16DDC:
|
||||
/* 01B5C 80A16DDC 8FB00020 */ lw $s0, 0x0020($sp)
|
||||
/* 01B60 80A16DE0 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
|
||||
/* 01B64 80A16DE4 03E00008 */ jr $ra
|
||||
/* 01B68 80A16DE8 00000000 */ nop
|
|
@ -1,93 +0,0 @@
|
|||
.late_rodata
|
||||
glabel D_80A171F0
|
||||
.float 0.01
|
||||
|
||||
glabel D_80A171F4
|
||||
.float 0.01
|
||||
|
||||
glabel D_80A171F8
|
||||
.float 0.001
|
||||
|
||||
.text
|
||||
glabel func_80A16DEC
|
||||
/* 01B6C 80A16DEC 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 01B70 80A16DF0 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 01B74 80A16DF4 848E001C */ lh $t6, 0x001C($a0) ## 0000001C
|
||||
/* 01B78 80A16DF8 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
|
||||
/* 01B7C 80A16DFC 55C10006 */ bnel $t6, $at, .L80A16E18
|
||||
/* 01B80 80A16E00 8C82011C */ lw $v0, 0x011C($a0) ## 0000011C
|
||||
/* 01B84 80A16E04 0C00B55C */ jal Actor_Kill
|
||||
|
||||
/* 01B88 80A16E08 00000000 */ nop
|
||||
/* 01B8C 80A16E0C 10000039 */ beq $zero, $zero, .L80A16EF4
|
||||
/* 01B90 80A16E10 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 01B94 80A16E14 8C82011C */ lw $v0, 0x011C($a0) ## 0000011C
|
||||
.L80A16E18:
|
||||
/* 01B98 80A16E18 50400008 */ beql $v0, $zero, .L80A16E3C
|
||||
/* 01B9C 80A16E1C 8C820244 */ lw $v0, 0x0244($a0) ## 00000244
|
||||
/* 01BA0 80A16E20 8C4F0130 */ lw $t7, 0x0130($v0) ## 00000130
|
||||
/* 01BA4 80A16E24 55E00005 */ bnel $t7, $zero, .L80A16E3C
|
||||
/* 01BA8 80A16E28 8C820244 */ lw $v0, 0x0244($a0) ## 00000244
|
||||
/* 01BAC 80A16E2C 50820003 */ beql $a0, $v0, .L80A16E3C
|
||||
/* 01BB0 80A16E30 8C820244 */ lw $v0, 0x0244($a0) ## 00000244
|
||||
/* 01BB4 80A16E34 AC80011C */ sw $zero, 0x011C($a0) ## 0000011C
|
||||
/* 01BB8 80A16E38 8C820244 */ lw $v0, 0x0244($a0) ## 00000244
|
||||
.L80A16E3C:
|
||||
/* 01BBC 80A16E3C 10400007 */ beq $v0, $zero, .L80A16E5C
|
||||
/* 01BC0 80A16E40 00000000 */ nop
|
||||
/* 01BC4 80A16E44 0040F809 */ jalr $ra, $v0
|
||||
/* 01BC8 80A16E48 AFA40018 */ sw $a0, 0x0018($sp)
|
||||
/* 01BCC 80A16E4C 8FA40018 */ lw $a0, 0x0018($sp)
|
||||
/* 01BD0 80A16E50 8C980130 */ lw $t8, 0x0130($a0) ## 00000130
|
||||
/* 01BD4 80A16E54 53000027 */ beql $t8, $zero, .L80A16EF4
|
||||
/* 01BD8 80A16E58 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
.L80A16E5C:
|
||||
/* 01BDC 80A16E5C 0C00B638 */ jal Actor_MoveForward
|
||||
|
||||
/* 01BE0 80A16E60 AFA40018 */ sw $a0, 0x0018($sp)
|
||||
/* 01BE4 80A16E64 8FA40018 */ lw $a0, 0x0018($sp)
|
||||
/* 01BE8 80A16E68 24010014 */ addiu $at, $zero, 0x0014 ## $at = 00000014
|
||||
/* 01BEC 80A16E6C 3C1980A1 */ lui $t9, %hi(EnFish_Draw) ## $t9 = 80A10000
|
||||
/* 01BF0 80A16E70 8482024A */ lh $v0, 0x024A($a0) ## 0000024A
|
||||
/* 01BF4 80A16E74 27396FAC */ addiu $t9, $t9, %lo(EnFish_Draw) ## $t9 = 80A16FAC
|
||||
/* 01BF8 80A16E78 14410003 */ bne $v0, $at, .L80A16E88
|
||||
/* 01BFC 80A16E7C 00000000 */ nop
|
||||
/* 01C00 80A16E80 1000001B */ beq $zero, $zero, .L80A16EF0
|
||||
/* 01C04 80A16E84 AC990134 */ sw $t9, 0x0134($a0) ## 00000134
|
||||
.L80A16E88:
|
||||
/* 01C08 80A16E88 14400008 */ bne $v0, $zero, .L80A16EAC
|
||||
/* 01C0C 80A16E8C 28410014 */ slti $at, $v0, 0x0014
|
||||
/* 01C10 80A16E90 3C0180A1 */ lui $at, %hi(D_80A171F0) ## $at = 80A10000
|
||||
/* 01C14 80A16E94 C42C71F0 */ lwc1 $f12, %lo(D_80A171F0)($at)
|
||||
/* 01C18 80A16E98 44056000 */ mfc1 $a1, $f12
|
||||
/* 01C1C 80A16E9C 0C00B58B */ jal Actor_SetScale
|
||||
|
||||
/* 01C20 80A16EA0 00000000 */ nop
|
||||
/* 01C24 80A16EA4 10000013 */ beq $zero, $zero, .L80A16EF4
|
||||
/* 01C28 80A16EA8 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
.L80A16EAC:
|
||||
/* 01C2C 80A16EAC 10200010 */ beq $at, $zero, .L80A16EF0
|
||||
/* 01C30 80A16EB0 3C0180A1 */ lui $at, %hi(D_80A171F4) ## $at = 80A10000
|
||||
/* 01C34 80A16EB4 C42C71F4 */ lwc1 $f12, %lo(D_80A171F4)($at)
|
||||
/* 01C38 80A16EB8 3C0180A1 */ lui $at, %hi(D_80A171F8) ## $at = 80A10000
|
||||
/* 01C3C 80A16EBC C42671F8 */ lwc1 $f6, %lo(D_80A171F8)($at)
|
||||
/* 01C40 80A16EC0 C4840050 */ lwc1 $f4, 0x0050($a0) ## 00000050
|
||||
/* 01C44 80A16EC4 46062000 */ add.s $f0, $f4, $f6
|
||||
/* 01C48 80A16EC8 4600603C */ c.lt.s $f12, $f0
|
||||
/* 01C4C 80A16ECC 00000000 */ nop
|
||||
/* 01C50 80A16ED0 45020004 */ bc1fl .L80A16EE4
|
||||
/* 01C54 80A16ED4 46000086 */ mov.s $f2, $f0
|
||||
/* 01C58 80A16ED8 10000002 */ beq $zero, $zero, .L80A16EE4
|
||||
/* 01C5C 80A16EDC 46006086 */ mov.s $f2, $f12
|
||||
/* 01C60 80A16EE0 46000086 */ mov.s $f2, $f0
|
||||
.L80A16EE4:
|
||||
/* 01C64 80A16EE4 44051000 */ mfc1 $a1, $f2
|
||||
/* 01C68 80A16EE8 0C00B58B */ jal Actor_SetScale
|
||||
|
||||
/* 01C6C 80A16EEC 00000000 */ nop
|
||||
.L80A16EF0:
|
||||
/* 01C70 80A16EF0 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
.L80A16EF4:
|
||||
/* 01C74 80A16EF4 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 01C78 80A16EF8 03E00008 */ jr $ra
|
||||
/* 01C7C 80A16EFC 00000000 */ nop
|
|
@ -695,9 +695,9 @@
|
|||
<Texture Name="gEffUnknown4Tex" OutName="eff_unknown_4" Format="i8" Width="32" Height="64" Offset="0x173D0"/>
|
||||
<Texture Name="gEffUnknown5Tex" OutName="eff_unknown_5" Format="i8" Width="32" Height="64" Offset="0x17BD0"/>
|
||||
<DList Name="gEffFireCircleDL" Offset="0x184B0"/>
|
||||
<Animation Name="gFish1Anim" Offset="0x185FC"/>
|
||||
<Animation Name="gFishOutOfWaterAnim" Offset="0x185FC"/>
|
||||
<Skeleton Name="gFishSkel" Type="Flex" LimbType="Standard" Offset="0x18FE0"/>
|
||||
<Animation Name="gFish2Anim" Offset="0x1909C"/>
|
||||
<Animation Name="gFishInWaterAnim" Offset="0x1909C"/>
|
||||
<Texture Name="gFishTailTex" OutName="fish_tail" Format="rgb5a1" Width="16" Height="16" Offset="0x18B80"/>
|
||||
<Texture Name="gFishBodyTex" OutName="fish_body" Format="rgb5a1" Width="32" Height="8" Offset="0x18D80"/>
|
||||
<Texture Name="gEffShockwaveTex" OutName="eff_shockwave" Format="i8" Width="64" Height="64" Offset="0x190B0"/>
|
||||
|
|
|
@ -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_80A17010
|
||||
.word 0x00000000
|
||||
glabel D_80A17014
|
||||
.word 0x00000000
|
||||
glabel D_80A17018
|
||||
.word 0x00000000
|
||||
glabel D_80A1701C
|
||||
.word 0x00000000, 0x00000000, 0x00000000, 0xFFCFFFFF, 0x00000000, 0x00000100, 0x00000000, 0x00000000, 0x00050064
|
||||
glabel D_80A17040
|
||||
.word 0x0A000039, 0x10000000, 0x00000001
|
||||
.word D_80A1701C
|
||||
glabel En_Fish_InitVars
|
||||
.word 0x00210700, 0x00000000, 0x00010000, 0x00000254
|
||||
.word EnFish_Init
|
||||
.word EnFish_Destroy
|
||||
.word EnFish_Update
|
||||
.word EnFish_Draw
|
||||
glabel D_80A17070
|
||||
.word 0xC850000A, 0xB0F40384, 0xB0F80028, 0x30FC02BC
|
||||
glabel D_80A17080
|
||||
.word 0x00000000, 0x3D23D70A, 0x3DB851EC
|
||||
glabel D_80A1708C
|
||||
.word 0x3F000000, 0x3DCCCCCD, 0x3E19999A, 0x00000000, 0x00000000
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purpose registers
|
||||
|
||||
.section .rodata
|
||||
|
||||
.balign 16
|
||||
|
||||
glabel D_80A17200
|
||||
.incbin "baserom/ovl_En_Fish", 0x1F80, 0x00000310
|
3
spec
3
spec
|
@ -2212,8 +2212,7 @@ endseg
|
|||
beginseg
|
||||
name "ovl_En_Fish"
|
||||
include "build/src/overlays/actors/ovl_En_Fish/z_en_fish.o"
|
||||
include "build/data/overlays/actors/z_en_fish.data.o"
|
||||
include "build/data/overlays/actors/z_en_fish.reloc.o"
|
||||
include "build/src/overlays/actors/ovl_En_Fish/ovl_En_Fish_reloc.o"
|
||||
endseg
|
||||
|
||||
beginseg
|
||||
|
|
|
@ -331,8 +331,8 @@ void BgSpot08Iceblock_Init(Actor* thisx, GlobalContext* globalCtx) {
|
|||
break;
|
||||
}
|
||||
|
||||
this->bobPhaseSlow = (s32)(Rand_ZeroOne() * 65535.5f);
|
||||
this->bobPhaseFast = (s32)(Rand_ZeroOne() * 65535.5f);
|
||||
this->bobPhaseSlow = (s32)(Rand_ZeroOne() * (0xFFFF + 0.5f));
|
||||
this->bobPhaseFast = (s32)(Rand_ZeroOne() * (0xFFFF + 0.5f));
|
||||
this->surfaceNormal.y = 1.0f;
|
||||
this->rotationAxis.x = 1.0f;
|
||||
|
||||
|
|
|
@ -324,7 +324,8 @@ void func_808B43D0(BgSpot15Rrbox* this, GlobalContext* globalCtx) {
|
|||
|
||||
Actor_MoveForward(actor);
|
||||
|
||||
if (actor->world.pos.y <= -31990.0f) {
|
||||
if (actor->world.pos.y <= BGCHECK_Y_MIN + 10.0f) {
|
||||
// Lon Lon wooden crate fell too much
|
||||
osSyncPrintf("Warning : ロンロン木箱落ちすぎた(%s %d)(arg_data 0x%04x)\n", "../z_bg_spot15_rrbox.c", 599,
|
||||
actor->params);
|
||||
|
||||
|
|
|
@ -550,7 +550,7 @@ void EnBb_Blue(EnBb* this, GlobalContext* globalCtx) {
|
|||
|
||||
Math_SmoothStepToF(&this->flameScaleY, 80.0f, 1.0f, 10.0f, 0.0f);
|
||||
Math_SmoothStepToF(&this->flameScaleX, 100.0f, 1.0f, 10.0f, 0.0f);
|
||||
if (this->actor.floorHeight > -32000.0f) {
|
||||
if (this->actor.floorHeight > BGCHECK_Y_MIN) {
|
||||
Math_SmoothStepToF(&this->actor.world.pos.y, this->actor.floorHeight + 50.0f + this->flyHeightMod, 1.0f, 0.5f,
|
||||
0.0f);
|
||||
}
|
||||
|
|
|
@ -513,7 +513,7 @@ void func_809FEC70(EnDu* this, GlobalContext* globalCtx) {
|
|||
EnDu_SetupAction(this, func_809FECE4);
|
||||
} else {
|
||||
f32 xzRange = this->actor.xzDistToPlayer + 1.0f;
|
||||
func_8002F434(&this->actor, globalCtx, 0x54, xzRange, fabsf(this->actor.yDistToPlayer) + 1.0f);
|
||||
func_8002F434(&this->actor, globalCtx, GI_BRACELET, xzRange, fabsf(this->actor.yDistToPlayer) + 1.0f);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -660,6 +660,7 @@ void func_80A0329C(EnElf* this, GlobalContext* globalCtx) {
|
|||
}
|
||||
|
||||
if (!(this->fairyFlags & FAIRY_FLAG_BIG)) {
|
||||
// GI_MAX in this case allows the player to catch the actor in a bottle
|
||||
func_8002F434(&this->actor, globalCtx, GI_MAX, 80.0f, 60.0f);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -382,30 +382,30 @@ void EnExItem_TargetPrizeApproach(EnExItem* this, GlobalContext* globalCtx) {
|
|||
this->actor.world.pos.z += (tmpf3 / tmpf4) * 5.0f;
|
||||
}
|
||||
} else {
|
||||
s32 itemId;
|
||||
s32 getItemId;
|
||||
|
||||
this->actor.draw = NULL;
|
||||
func_8002DF54(globalCtx, NULL, 7);
|
||||
this->actor.parent = NULL;
|
||||
if (CUR_UPG_VALUE(UPG_BULLET_BAG) == 1) {
|
||||
itemId = GI_BULLET_BAG_40;
|
||||
getItemId = GI_BULLET_BAG_40;
|
||||
} else {
|
||||
itemId = GI_BULLET_BAG_50;
|
||||
getItemId = GI_BULLET_BAG_50;
|
||||
}
|
||||
func_8002F434(&this->actor, globalCtx, itemId, 2000.0f, 1000.0f);
|
||||
func_8002F434(&this->actor, globalCtx, getItemId, 2000.0f, 1000.0f);
|
||||
this->actionFunc = EnExItem_TargetPrizeGive;
|
||||
}
|
||||
}
|
||||
|
||||
void EnExItem_TargetPrizeGive(EnExItem* this, GlobalContext* globalCtx) {
|
||||
s32 itemId;
|
||||
s32 getItemId;
|
||||
|
||||
if (Actor_HasParent(&this->actor, globalCtx)) {
|
||||
this->actionFunc = EnExItem_TargetPrizeFinish;
|
||||
} else {
|
||||
itemId = (CUR_UPG_VALUE(UPG_BULLET_BAG) == 2) ? GI_BULLET_BAG_50 : GI_BULLET_BAG_40;
|
||||
getItemId = (CUR_UPG_VALUE(UPG_BULLET_BAG) == 2) ? GI_BULLET_BAG_50 : GI_BULLET_BAG_40;
|
||||
|
||||
func_8002F434(&this->actor, globalCtx, itemId, 2000.0f, 1000.0f);
|
||||
func_8002F434(&this->actor, globalCtx, getItemId, 2000.0f, 1000.0f);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,5 +1,12 @@
|
|||
/*
|
||||
* File: z_en_fish.c
|
||||
* Overlay: ovl_En_Fish
|
||||
* Description: Fish
|
||||
*/
|
||||
|
||||
#include "z_en_fish.h"
|
||||
#include "objects/gameplay_keep/gameplay_keep.h"
|
||||
#include "vt.h"
|
||||
|
||||
#define FLAGS 0x00000000
|
||||
|
||||
|
@ -10,20 +17,29 @@ void EnFish_Destroy(Actor* thisx, GlobalContext* globalCtx);
|
|||
void EnFish_Update(Actor* thisx, GlobalContext* globalCtx);
|
||||
void EnFish_Draw(Actor* thisx, GlobalContext* globalCtx);
|
||||
|
||||
/*
|
||||
const ActorInit En_Fish_InitVars = {
|
||||
ACTOR_EN_FISH,
|
||||
ACTORCAT_ITEMACTION,
|
||||
FLAGS,
|
||||
OBJECT_GAMEPLAY_KEEP,
|
||||
sizeof(EnFish),
|
||||
(ActorFunc)EnFish_Init,
|
||||
(ActorFunc)EnFish_Destroy,
|
||||
(ActorFunc)EnFish_Update,
|
||||
(ActorFunc)EnFish_Draw,
|
||||
};
|
||||
void EnFish_Respawning_SetupSlowDown(EnFish* this);
|
||||
void EnFish_Respawning_SlowDown(EnFish* this, GlobalContext* globalCtx);
|
||||
void EnFish_Respawning_SetupFollowChild(EnFish* this);
|
||||
void EnFish_Respawning_FollowChild(EnFish* this, GlobalContext* globalCtx);
|
||||
void EnFish_Respawning_SetupFleePlayer(EnFish* this);
|
||||
void EnFish_Respawning_FleePlayer(EnFish* this, GlobalContext* globalCtx);
|
||||
void EnFish_Respawning_SetupApproachPlayer(EnFish* this);
|
||||
void EnFish_Respawning_ApproachPlayer(EnFish* this, GlobalContext* globalCtx);
|
||||
void EnFish_Dropped_SetupFall(EnFish* this);
|
||||
void EnFish_Dropped_Fall(EnFish* this, GlobalContext* globalCtx);
|
||||
void EnFish_Dropped_SetupFlopOnGround(EnFish* this);
|
||||
void EnFish_Dropped_FlopOnGround(EnFish* this, GlobalContext* globalCtx);
|
||||
void EnFish_Dropped_SetupSwimAway(EnFish* this);
|
||||
void EnFish_Dropped_SwimAway(EnFish* this, GlobalContext* globalCtx);
|
||||
void EnFish_Unique_SetupSwimIdle(EnFish* this);
|
||||
void EnFish_Unique_SwimIdle(EnFish* this, GlobalContext* globalCtx);
|
||||
|
||||
static ColliderJntSphElementInit D_80A1701C[1] = {
|
||||
// Used in the cutscene functions
|
||||
static Actor* D_80A17010 = NULL;
|
||||
static f32 D_80A17014 = 0.0f;
|
||||
static f32 D_80A17018 = 0.0f;
|
||||
|
||||
static ColliderJntSphElementInit sJntSphElementsInit[1] = {
|
||||
{
|
||||
{
|
||||
ELEMTYPE_UNK0,
|
||||
|
@ -37,7 +53,7 @@ static ColliderJntSphElementInit D_80A1701C[1] = {
|
|||
},
|
||||
};
|
||||
|
||||
static ColliderJntSphInit D_80A17040 = {
|
||||
static ColliderJntSphInit sJntSphInit = {
|
||||
{
|
||||
COLTYPE_NONE,
|
||||
AT_NONE,
|
||||
|
@ -47,73 +63,707 @@ static ColliderJntSphInit D_80A17040 = {
|
|||
COLSHAPE_JNTSPH,
|
||||
},
|
||||
1,
|
||||
D_80A1701C,
|
||||
sJntSphElementsInit,
|
||||
};
|
||||
|
||||
const ActorInit En_Fish_InitVars = {
|
||||
ACTOR_EN_FISH,
|
||||
ACTORCAT_ITEMACTION,
|
||||
FLAGS,
|
||||
OBJECT_GAMEPLAY_KEEP,
|
||||
sizeof(EnFish),
|
||||
(ActorFunc)EnFish_Init,
|
||||
(ActorFunc)EnFish_Destroy,
|
||||
(ActorFunc)EnFish_Update,
|
||||
(ActorFunc)EnFish_Draw,
|
||||
};
|
||||
|
||||
static InitChainEntry sInitChain[] = {
|
||||
ICHAIN_VEC3F_DIV1000(scale, 10, ICHAIN_CONTINUE),
|
||||
ICHAIN_F32(uncullZoneForward, 900, ICHAIN_CONTINUE),
|
||||
ICHAIN_F32(uncullZoneScale, 40, ICHAIN_CONTINUE),
|
||||
ICHAIN_F32(uncullZoneDownward, 700, ICHAIN_STOP),
|
||||
};
|
||||
|
||||
f32 EnFish_XZDistanceSquared(Vec3f* v1, Vec3f* v2) {
|
||||
return SQ(v1->x - v2->x) + SQ(v1->z - v2->z);
|
||||
}
|
||||
|
||||
void EnFish_SetInWaterAnimation(EnFish* this) {
|
||||
Animation_Change(&this->skelAnime, &gFishInWaterAnim, 1.0f, 0.0f, Animation_GetLastFrame(&gFishInWaterAnim),
|
||||
ANIMMODE_LOOP_INTERP, 2.0f);
|
||||
}
|
||||
|
||||
void EnFish_SetOutOfWaterAnimation(EnFish* this) {
|
||||
Animation_Change(&this->skelAnime, &gFishOutOfWaterAnim, 1.0f, 0.0f, Animation_GetLastFrame(&gFishOutOfWaterAnim),
|
||||
ANIMMODE_LOOP_INTERP, 2.0f);
|
||||
}
|
||||
|
||||
void EnFish_BeginRespawn(EnFish* this) {
|
||||
this->respawnTimer = 400;
|
||||
Actor_SetScale(&this->actor, 0.001f);
|
||||
this->actor.draw = NULL;
|
||||
}
|
||||
|
||||
void EnFish_SetCutsceneData(EnFish* this) {
|
||||
Actor* thisx = &this->actor;
|
||||
|
||||
if (D_80A17010 == NULL) {
|
||||
D_80A17010 = thisx;
|
||||
Actor_SetScale(thisx, 0.01f);
|
||||
thisx->draw = EnFish_Draw;
|
||||
thisx->shape.rot.x = 0;
|
||||
thisx->shape.rot.y = -0x6410;
|
||||
thisx->shape.rot.z = 0x4000;
|
||||
thisx->shape.yOffset = 600.0f;
|
||||
D_80A17014 = 10.0f;
|
||||
D_80A17018 = 0.0f;
|
||||
thisx->flags |= 0x10;
|
||||
EnFish_SetOutOfWaterAnimation(this);
|
||||
}
|
||||
}
|
||||
|
||||
void EnFish_ClearCutsceneData(EnFish* this) {
|
||||
D_80A17010 = NULL;
|
||||
D_80A17014 = 0.0f;
|
||||
D_80A17018 = 0.0f;
|
||||
}
|
||||
|
||||
void EnFish_Init(Actor* thisx, GlobalContext* globalCtx) {
|
||||
EnFish* this = THIS;
|
||||
s16 params = this->actor.params;
|
||||
|
||||
Actor_ProcessInitChain(&this->actor, sInitChain);
|
||||
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &gFishSkel, &gFishInWaterAnim, this->jointTable, this->morphTable,
|
||||
7);
|
||||
Collider_InitJntSph(globalCtx, &this->collider);
|
||||
Collider_SetJntSph(globalCtx, &this->collider, &this->actor, &sJntSphInit, this->colliderItems);
|
||||
this->actor.colChkInfo.mass = 50;
|
||||
this->slowPhase = Rand_ZeroOne() * (0xFFFF + 0.5f);
|
||||
this->fastPhase = Rand_ZeroOne() * (0xFFFF + 0.5f);
|
||||
|
||||
if (params == FISH_DROPPED) {
|
||||
this->actor.flags |= 0x10;
|
||||
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 8.0f);
|
||||
EnFish_Dropped_SetupFall(this);
|
||||
} else if (params == FISH_SWIMMING_UNIQUE) {
|
||||
EnFish_Unique_SetupSwimIdle(this);
|
||||
} else {
|
||||
EnFish_Respawning_SetupSlowDown(this);
|
||||
}
|
||||
}
|
||||
|
||||
void EnFish_Destroy(Actor* thisx, GlobalContext* globalCtx2) {
|
||||
GlobalContext* globalCtx = globalCtx2;
|
||||
EnFish* this = THIS;
|
||||
|
||||
Collider_DestroyJntSph(globalCtx, &this->collider);
|
||||
}
|
||||
|
||||
void EnFish_SetYOffset(EnFish* this) {
|
||||
this->actor.shape.yOffset += (Math_SinS(this->slowPhase) * 10.0f + Math_SinS(this->fastPhase) * 5.0f);
|
||||
this->actor.shape.yOffset = CLAMP(this->actor.shape.yOffset, -200.0f, 200.0f);
|
||||
}
|
||||
|
||||
s32 EnFish_InBottleRange(EnFish* this, GlobalContext* globalCtx) {
|
||||
s32 pad;
|
||||
Player* player = PLAYER;
|
||||
Vec3f sp1C;
|
||||
|
||||
if (this->actor.xzDistToPlayer < 32.0f) {
|
||||
sp1C.x = (Math_SinS(this->actor.yawTowardsPlayer + 0x8000) * 16.0f) + player->actor.world.pos.x;
|
||||
sp1C.y = player->actor.world.pos.y;
|
||||
sp1C.z = (Math_CosS(this->actor.yawTowardsPlayer + 0x8000) * 16.0f) + player->actor.world.pos.z;
|
||||
|
||||
//! @bug: this check is superfluous: it is automatically satisfied if the coarse check is satisfied. It may have
|
||||
//! been intended to check the actor is in front of Player, but yawTowardsPlayer does not depend on Player's
|
||||
//! world rotation.
|
||||
if (EnFish_XZDistanceSquared(&sp1C, &this->actor.world.pos) <= SQ(20.0f)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
s32 EnFish_CheckXZDistanceToPlayer(EnFish* this, GlobalContext* globalCtx) {
|
||||
return (this->actor.xzDistToPlayer < 60.0f);
|
||||
}
|
||||
|
||||
// Respawning type functions
|
||||
|
||||
void EnFish_Respawning_SetupSlowDown(EnFish* this) {
|
||||
this->actor.gravity = 0.0f;
|
||||
this->actor.minVelocityY = 0.0f;
|
||||
this->timer = Rand_S16Offset(5, 35);
|
||||
this->unk_250 = 0;
|
||||
EnFish_SetInWaterAnimation(this);
|
||||
this->actionFunc = EnFish_Respawning_SlowDown;
|
||||
}
|
||||
|
||||
void EnFish_Respawning_SlowDown(EnFish* this, GlobalContext* globalCtx) {
|
||||
EnFish_SetYOffset(this);
|
||||
Math_SmoothStepToF(&this->actor.speedXZ, 0.0f, 0.05f, 0.3f, 0.0f);
|
||||
this->skelAnime.playSpeed = CLAMP_MAX(this->actor.speedXZ * 1.4f + 0.8f, 2.0f);
|
||||
SkelAnime_Update(&this->skelAnime);
|
||||
this->actor.shape.rot.y = this->actor.world.rot.y;
|
||||
|
||||
if (this->timer <= 0) {
|
||||
EnFish_Respawning_SetupFollowChild(this);
|
||||
} else if (&this->actor == this->actor.child) {
|
||||
EnFish_Respawning_SetupApproachPlayer(this);
|
||||
} else if (EnFish_CheckXZDistanceToPlayer(this, globalCtx)) {
|
||||
EnFish_Respawning_SetupFleePlayer(this);
|
||||
}
|
||||
}
|
||||
|
||||
// The three following actionfunctions also turn the yaw to home if the fish is too far from it.
|
||||
|
||||
void EnFish_Respawning_SetupFollowChild(EnFish* this) {
|
||||
this->actor.gravity = 0.0f;
|
||||
this->actor.minVelocityY = 0.0f;
|
||||
this->timer = Rand_S16Offset(15, 45);
|
||||
this->unk_250 = 0;
|
||||
EnFish_SetInWaterAnimation(this);
|
||||
this->actionFunc = EnFish_Respawning_FollowChild;
|
||||
}
|
||||
|
||||
void EnFish_Respawning_FollowChild(EnFish* this, GlobalContext* globalCtx) {
|
||||
s32 pad;
|
||||
|
||||
EnFish_SetYOffset(this);
|
||||
Math_SmoothStepToF(&this->actor.speedXZ, 1.8f, 0.08f, 0.4f, 0.0f);
|
||||
|
||||
if ((EnFish_XZDistanceSquared(&this->actor.world.pos, &this->actor.home.pos) > SQ(80.0f)) || (this->timer < 4)) {
|
||||
Math_StepToAngleS(&this->actor.world.rot.y, Math_Vec3f_Yaw(&this->actor.world.pos, &this->actor.home.pos),
|
||||
3000);
|
||||
} else if ((this->actor.child != NULL) && (&this->actor != this->actor.child)) {
|
||||
Math_StepToAngleS(&this->actor.world.rot.y,
|
||||
Math_Vec3f_Yaw(&this->actor.world.pos, &this->actor.child->world.pos), 3000);
|
||||
}
|
||||
|
||||
this->actor.shape.rot.y = this->actor.world.rot.y;
|
||||
this->skelAnime.playSpeed = CLAMP_MAX(this->actor.speedXZ * 1.5f + 0.8f, 4.0f);
|
||||
SkelAnime_Update(&this->skelAnime);
|
||||
|
||||
if (this->timer <= 0) {
|
||||
EnFish_Respawning_SetupSlowDown(this);
|
||||
} else if (&this->actor == this->actor.child) {
|
||||
EnFish_Respawning_SetupApproachPlayer(this);
|
||||
} else if (EnFish_CheckXZDistanceToPlayer(this, globalCtx)) {
|
||||
EnFish_Respawning_SetupFleePlayer(this);
|
||||
}
|
||||
}
|
||||
|
||||
void EnFish_Respawning_SetupFleePlayer(EnFish* this) {
|
||||
this->actor.gravity = 0.0f;
|
||||
this->actor.minVelocityY = 0.0f;
|
||||
this->timer = Rand_S16Offset(10, 40);
|
||||
this->unk_250 = 0;
|
||||
EnFish_SetInWaterAnimation(this);
|
||||
this->actionFunc = EnFish_Respawning_FleePlayer;
|
||||
}
|
||||
|
||||
void EnFish_Respawning_FleePlayer(EnFish* this, GlobalContext* globalCtx) {
|
||||
s32 pad;
|
||||
s16 pad2;
|
||||
s16 frames;
|
||||
s16 yaw;
|
||||
s16 playerClose;
|
||||
|
||||
EnFish_SetYOffset(this);
|
||||
playerClose = EnFish_CheckXZDistanceToPlayer(this, globalCtx);
|
||||
Math_SmoothStepToF(&this->actor.speedXZ, 4.2f, 0.08f, 1.4f, 0.0f);
|
||||
|
||||
if (EnFish_XZDistanceSquared(&this->actor.world.pos, &this->actor.home.pos) > SQ(160.0f)) {
|
||||
yaw = Math_Vec3f_Yaw(&this->actor.world.pos, &this->actor.home.pos);
|
||||
Math_StepToAngleS(&this->actor.world.rot.y, yaw, 3000);
|
||||
} else if ((this->actor.child != NULL) && (&this->actor != this->actor.child)) {
|
||||
yaw = Math_Vec3f_Yaw(&this->actor.world.pos, &this->actor.child->world.pos);
|
||||
Math_StepToAngleS(&this->actor.world.rot.y, yaw, 2000);
|
||||
} else if (playerClose) {
|
||||
yaw = this->actor.yawTowardsPlayer + 0x8000;
|
||||
frames = globalCtx->state.frames;
|
||||
|
||||
if (frames & 0x10) {
|
||||
if (frames & 0x20) {
|
||||
yaw += 0x2000;
|
||||
}
|
||||
} else {
|
||||
if (frames & 0x20) {
|
||||
yaw -= 0x2000;
|
||||
}
|
||||
}
|
||||
if (globalCtx) {}
|
||||
Math_StepToAngleS(&this->actor.world.rot.y, yaw, 2000);
|
||||
}
|
||||
|
||||
this->actor.shape.rot.y = this->actor.world.rot.y;
|
||||
this->skelAnime.playSpeed = CLAMP_MAX(this->actor.speedXZ * 1.5f + 0.8f, 4.0f);
|
||||
|
||||
SkelAnime_Update(&this->skelAnime);
|
||||
|
||||
if ((this->timer <= 0) || !playerClose) {
|
||||
EnFish_Respawning_SetupSlowDown(this);
|
||||
} else if (&this->actor == this->actor.child) {
|
||||
EnFish_Respawning_SetupApproachPlayer(this);
|
||||
}
|
||||
}
|
||||
|
||||
void EnFish_Respawning_SetupApproachPlayer(EnFish* this) {
|
||||
this->actor.gravity = 0.0f;
|
||||
this->actor.minVelocityY = 0.0f;
|
||||
EnFish_SetInWaterAnimation(this);
|
||||
this->timer = Rand_S16Offset(10, 40);
|
||||
this->unk_250 = 0;
|
||||
this->actionFunc = EnFish_Respawning_ApproachPlayer;
|
||||
}
|
||||
|
||||
void EnFish_Respawning_ApproachPlayer(EnFish* this, GlobalContext* globalCtx) {
|
||||
s32 pad;
|
||||
Player* player = PLAYER;
|
||||
s32 pad2;
|
||||
Vec3f sp38;
|
||||
s16 yaw;
|
||||
s16 temp_a0_2;
|
||||
|
||||
EnFish_SetYOffset(this);
|
||||
Math_SmoothStepToF(&this->actor.speedXZ, 1.8f, 0.1f, 0.5f, 0.0f);
|
||||
|
||||
if (EnFish_XZDistanceSquared(&this->actor.world.pos, &this->actor.home.pos) > SQ(80.0f)) {
|
||||
yaw = Math_Vec3f_Yaw(&this->actor.world.pos, &this->actor.home.pos);
|
||||
Math_StepToAngleS(&this->actor.world.rot.y, yaw, 3000);
|
||||
} else {
|
||||
if ((s16)globalCtx->state.frames & 0x40) {
|
||||
temp_a0_2 = (this->actor.yawTowardsPlayer + 0x9000);
|
||||
} else {
|
||||
temp_a0_2 = (this->actor.yawTowardsPlayer + 0x7000);
|
||||
}
|
||||
|
||||
sp38.x = player->actor.world.pos.x + (Math_SinS(temp_a0_2) * 20.0f);
|
||||
sp38.y = player->actor.world.pos.y;
|
||||
sp38.z = player->actor.world.pos.z + (Math_CosS(temp_a0_2) * 20.0f);
|
||||
|
||||
yaw = Math_Vec3f_Yaw(&this->actor.world.pos, &sp38);
|
||||
Math_StepToAngleS(&this->actor.world.rot.y, yaw, 3000);
|
||||
}
|
||||
|
||||
this->actor.shape.rot.y = this->actor.world.rot.y;
|
||||
this->skelAnime.playSpeed = CLAMP_MAX((this->actor.speedXZ * 1.5f) + 0.8f, 4.0f);
|
||||
|
||||
SkelAnime_Update(&this->skelAnime);
|
||||
|
||||
if (this->timer <= 0) {
|
||||
EnFish_Respawning_SetupSlowDown(this);
|
||||
}
|
||||
}
|
||||
|
||||
// Dropped type functions
|
||||
|
||||
void EnFish_Dropped_SetupFall(EnFish* this) {
|
||||
this->actor.gravity = -1.0f;
|
||||
this->actor.minVelocityY = -10.0f;
|
||||
this->actor.shape.yOffset = 0.0f;
|
||||
EnFish_SetOutOfWaterAnimation(this);
|
||||
this->unk_250 = 5;
|
||||
this->actionFunc = EnFish_Dropped_Fall;
|
||||
this->timer = 300;
|
||||
}
|
||||
|
||||
void EnFish_Dropped_Fall(EnFish* this, GlobalContext* globalCtx) {
|
||||
Math_SmoothStepToF(&this->actor.speedXZ, 0.0f, 0.1f, 0.1f, 0.0f);
|
||||
Math_StepToAngleS(&this->actor.world.rot.x, 0x4000, 100);
|
||||
Math_StepToAngleS(&this->actor.world.rot.z, -0x4000, 100);
|
||||
this->actor.shape.rot.x = this->actor.world.rot.x;
|
||||
this->actor.shape.rot.y = this->actor.world.rot.y;
|
||||
this->actor.shape.rot.z = this->actor.world.rot.z;
|
||||
SkelAnime_Update(&this->skelAnime);
|
||||
|
||||
if (this->actor.bgCheckFlags & 1) { // On floor
|
||||
this->timer = 400;
|
||||
EnFish_Dropped_SetupFlopOnGround(this);
|
||||
} else if (this->actor.bgCheckFlags & 0x20) { // In water
|
||||
EnFish_Dropped_SetupSwimAway(this);
|
||||
} else if ((this->timer <= 0) && (this->actor.params == FISH_DROPPED) &&
|
||||
(this->actor.floorHeight < BGCHECK_Y_MIN + 10.0f)) {
|
||||
osSyncPrintf(VT_COL(YELLOW, BLACK));
|
||||
// BG missing? Running Actor_delete
|
||||
osSyncPrintf("BG 抜け? Actor_delete します(%s %d)\n", "../z_en_sakana.c", 822);
|
||||
osSyncPrintf(VT_RST);
|
||||
Actor_Kill(&this->actor);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* If the fish is on a floor, this function is looped back to by EnFish_Dropped_FlopOnGround to set a new flopping
|
||||
* height and whether the sound should play again.
|
||||
*/
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Fish/func_80A15280.s")
|
||||
void EnFish_Dropped_SetupFlopOnGround(EnFish* this) {
|
||||
s32 pad;
|
||||
f32 randomFloat;
|
||||
s32 playSound;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Fish/func_80A152AC.s")
|
||||
this->actor.gravity = -1.0f;
|
||||
this->actor.minVelocityY = -10.0f;
|
||||
randomFloat = Rand_ZeroOne();
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Fish/func_80A15310.s")
|
||||
if (randomFloat < 0.1f) {
|
||||
this->actor.velocity.y = (Rand_ZeroOne() * 3.0f) + 2.5f;
|
||||
playSound = true;
|
||||
} else if (randomFloat < 0.2f) {
|
||||
this->actor.velocity.y = (Rand_ZeroOne() * 1.2f) + 0.2f;
|
||||
playSound = true;
|
||||
} else {
|
||||
this->actor.velocity.y = 0.0f;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Fish/func_80A15374.s")
|
||||
if (Rand_ZeroOne() < 0.2f) {
|
||||
playSound = true;
|
||||
} else {
|
||||
playSound = false;
|
||||
}
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Fish/func_80A153AC.s")
|
||||
this->actor.shape.yOffset = 300.0f;
|
||||
EnFish_SetOutOfWaterAnimation(this);
|
||||
this->actionFunc = EnFish_Dropped_FlopOnGround;
|
||||
this->unk_250 = 5;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Fish/func_80A15444.s")
|
||||
if (playSound && (this->actor.draw != NULL)) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EV_FISH_LEAP);
|
||||
}
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Fish/EnFish_Init.s")
|
||||
void EnFish_Dropped_FlopOnGround(EnFish* this, GlobalContext* globalCtx) {
|
||||
s32 pad;
|
||||
s16 frames = globalCtx->state.frames;
|
||||
s16 targetXRot;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Fish/EnFish_Destroy.s")
|
||||
Math_SmoothStepToF(&this->actor.speedXZ, Rand_ZeroOne() * 0.2f, 0.1f, 0.1f, 0.0f);
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Fish/func_80A155D0.s")
|
||||
targetXRot = (s16)((((frames >> 5) & 2) | ((frames >> 2) & 1)) << 0xB) * 0.3f;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Fish/func_80A15688.s")
|
||||
if (frames & 4) {
|
||||
targetXRot = -targetXRot;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Fish/func_80A15774.s")
|
||||
Math_StepToAngleS(&this->actor.world.rot.x, targetXRot, 4000);
|
||||
Math_StepToAngleS(&this->actor.world.rot.z, 0x4000, 1000);
|
||||
this->actor.world.rot.y +=
|
||||
(s16)(((Math_SinS(this->slowPhase) * 2000.0f) + (Math_SinS(this->fastPhase) * 1000.0f)) * Rand_ZeroOne());
|
||||
this->actor.shape.rot = this->actor.world.rot;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Fish/func_80A157A4.s")
|
||||
SkelAnime_Update(&this->skelAnime);
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Fish/func_80A157FC.s")
|
||||
if (this->timer <= 0) {
|
||||
Actor_Kill(&this->actor);
|
||||
return;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Fish/func_80A158EC.s")
|
||||
if (this->timer <= 60) {
|
||||
// Blink when about to disappear
|
||||
if (frames & 4) {
|
||||
this->actor.draw = EnFish_Draw;
|
||||
} else {
|
||||
this->actor.draw = NULL;
|
||||
}
|
||||
} else if (this->actor.bgCheckFlags & 0x20) { // In water
|
||||
EnFish_Dropped_SetupSwimAway(this);
|
||||
} else if (this->actor.bgCheckFlags & 1) { // On floor
|
||||
EnFish_Dropped_SetupFlopOnGround(this);
|
||||
}
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Fish/func_80A15944.s")
|
||||
void EnFish_Dropped_SetupSwimAway(EnFish* this) {
|
||||
this->actor.home.pos = this->actor.world.pos;
|
||||
this->actor.flags |= 0x10;
|
||||
this->timer = 200;
|
||||
this->actor.gravity = 0.0f;
|
||||
this->actor.minVelocityY = 0.0f;
|
||||
this->actor.shape.yOffset = 0.0f;
|
||||
EnFish_SetInWaterAnimation(this);
|
||||
this->actionFunc = EnFish_Dropped_SwimAway;
|
||||
this->unk_250 = 5;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Fish/func_80A15AD4.s")
|
||||
void EnFish_Dropped_SwimAway(EnFish* this, GlobalContext* globalCtx) {
|
||||
s32 pad;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Fish/func_80A15B2C.s")
|
||||
Math_SmoothStepToF(&this->actor.speedXZ, 2.8f, 0.1f, 0.4f, 0.0f);
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Fish/func_80A15D18.s")
|
||||
// If touching wall or not in water, turn back and slow down for one frame.
|
||||
if ((this->actor.bgCheckFlags & 8) || !(this->actor.bgCheckFlags & 0x20)) {
|
||||
this->actor.home.rot.y = Math_Vec3f_Yaw(&this->actor.world.pos, &this->actor.home.pos);
|
||||
this->actor.speedXZ *= 0.5f;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Fish/func_80A15D68.s")
|
||||
Math_StepToAngleS(&this->actor.world.rot.x, 0, 1500);
|
||||
Math_StepToAngleS(&this->actor.world.rot.y, this->actor.home.rot.y, 3000);
|
||||
Math_StepToAngleS(&this->actor.world.rot.z, 0, 1000);
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Fish/func_80A15F24.s")
|
||||
this->actor.shape.rot = this->actor.world.rot;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Fish/func_80A15F84.s")
|
||||
// Raise if on a floor.
|
||||
if (this->actor.bgCheckFlags & 1) {
|
||||
Math_StepToF(&this->actor.world.pos.y, this->actor.home.pos.y - 4.0f, 2.0f);
|
||||
} else {
|
||||
Math_StepToF(&this->actor.world.pos.y, this->actor.home.pos.y - 10.0f, 2.0f);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Fish/func_80A160BC.s")
|
||||
// Shrink when close to disappearing.
|
||||
if (this->timer < 100) {
|
||||
Actor_SetScale(&this->actor, this->actor.scale.x * 0.982f);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Fish/func_80A16200.s")
|
||||
this->skelAnime.playSpeed = CLAMP_MAX((this->actor.speedXZ * 1.5f) + 1.0f, 4.0f);
|
||||
SkelAnime_Update(&this->skelAnime);
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Fish/func_80A163DC.s")
|
||||
if (this->timer <= 0) {
|
||||
Actor_Kill(&this->actor);
|
||||
}
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Fish/func_80A16450.s")
|
||||
// Unique type functions
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Fish/func_80A16618.s")
|
||||
void EnFish_Unique_SetupSwimIdle(EnFish* this) {
|
||||
this->actor.gravity = 0.0f;
|
||||
this->actor.minVelocityY = 0.0f;
|
||||
this->timer = Rand_S16Offset(5, 35);
|
||||
this->unk_250 = 0;
|
||||
EnFish_SetInWaterAnimation(this);
|
||||
this->actionFunc = EnFish_Unique_SwimIdle;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Fish/func_80A16670.s")
|
||||
void EnFish_Unique_SwimIdle(EnFish* this, GlobalContext* globalCtx) {
|
||||
static f32 speedStopping[] = { 0.0f, 0.04f, 0.09f };
|
||||
static f32 speedMoving[] = { 0.5f, 0.1f, 0.15f };
|
||||
f32 playSpeed;
|
||||
u32 frames = globalCtx->gameplayFrames;
|
||||
f32* speed;
|
||||
s32 pad2;
|
||||
f32 extraPlaySpeed;
|
||||
s32 pad3;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Fish/func_80A16898.s")
|
||||
if (this->actor.xzDistToPlayer < 60.0f) {
|
||||
if (this->timer < 12) {
|
||||
speed = speedMoving;
|
||||
} else {
|
||||
speed = speedStopping;
|
||||
}
|
||||
} else {
|
||||
if (this->timer < 4) {
|
||||
speed = speedMoving;
|
||||
} else {
|
||||
speed = speedStopping;
|
||||
}
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Fish/func_80A169C8.s")
|
||||
EnFish_SetYOffset(this);
|
||||
Math_SmoothStepToF(&this->actor.speedXZ, speed[0], speed[1], speed[2], 0.0f);
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Fish/func_80A16A64.s")
|
||||
extraPlaySpeed = 0.0f;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Fish/func_80A16C68.s")
|
||||
if ((EnFish_XZDistanceSquared(&this->actor.world.pos, &this->actor.home.pos) > SQ(15.0f))) {
|
||||
if (!Math_ScaledStepToS(&this->actor.world.rot.y, Math_Vec3f_Yaw(&this->actor.world.pos, &this->actor.home.pos),
|
||||
200)) {
|
||||
extraPlaySpeed = 0.5f;
|
||||
}
|
||||
} else if ((this->timer < 4) && !Math_ScaledStepToS(&this->actor.world.rot.y, frames * 0x80, 100)) {
|
||||
extraPlaySpeed = 0.5f;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Fish/func_80A16DEC.s")
|
||||
this->actor.shape.rot.y = this->actor.world.rot.y;
|
||||
playSpeed = (this->actor.speedXZ * 1.2f) + 0.2f + extraPlaySpeed;
|
||||
this->skelAnime.playSpeed = CLAMP(playSpeed, 1.5f, 0.5);
|
||||
SkelAnime_Update(&this->skelAnime);
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Fish/EnFish_Update.s")
|
||||
if (this->timer <= 0) {
|
||||
this->timer = Rand_S16Offset(5, 80);
|
||||
}
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Fish/EnFish_Draw.s")
|
||||
// Cutscene functions
|
||||
|
||||
void EnFish_Cutscene_FlopOnGround(EnFish* this, GlobalContext* globalCtx) {
|
||||
f32 sp24 = Math_SinS(this->slowPhase);
|
||||
f32 sp20 = Math_SinS(this->fastPhase);
|
||||
|
||||
D_80A17014 += D_80A17018;
|
||||
|
||||
if (D_80A17014 <= 1.0f) {
|
||||
D_80A17014 = 1.0f;
|
||||
|
||||
if (Rand_ZeroOne() < 0.1f) {
|
||||
D_80A17018 = (Rand_ZeroOne() * 3.0f) + 2.0f;
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EV_FISH_LEAP);
|
||||
} else {
|
||||
D_80A17018 = 0.0f;
|
||||
}
|
||||
} else {
|
||||
D_80A17018 -= 0.4f;
|
||||
}
|
||||
|
||||
this->skelAnime.playSpeed = ((sp24 + sp20) * 0.5f) + 2.0f;
|
||||
SkelAnime_Update(&this->skelAnime);
|
||||
}
|
||||
|
||||
void EnFish_Cutscene_WiggleFlyingThroughAir(EnFish* this, GlobalContext* globalCtx) {
|
||||
s32 pad;
|
||||
f32 sp28 = Math_SinS(this->slowPhase);
|
||||
f32 sp24 = Math_SinS(this->fastPhase);
|
||||
|
||||
this->actor.shape.rot.x -= 500;
|
||||
this->actor.shape.rot.z += 100;
|
||||
Math_StepToF(&D_80A17014, 0.0f, 1.0f);
|
||||
this->skelAnime.playSpeed = ((sp28 + sp24) * 0.5f) + 2.0f;
|
||||
SkelAnime_Update(&this->skelAnime);
|
||||
}
|
||||
|
||||
void EnFish_UpdateCutscene(EnFish* this, GlobalContext* globalCtx) {
|
||||
s32 pad;
|
||||
s32 pad2;
|
||||
CsCmdActorAction* csAction = globalCtx->csCtx.npcActions[1];
|
||||
Vec3f startPos;
|
||||
Vec3f endPos;
|
||||
f32 progress;
|
||||
s32 bgId;
|
||||
|
||||
if (csAction == NULL) {
|
||||
// Warning : DEMO ended without dousa (action) 3 termination being called
|
||||
osSyncPrintf("Warning : dousa 3 消滅 が呼ばれずにデモが終了した(%s %d)(arg_data 0x%04x)\n", "../z_en_sakana.c",
|
||||
1169, this->actor.params);
|
||||
EnFish_ClearCutsceneData(this);
|
||||
Actor_Kill(&this->actor);
|
||||
return;
|
||||
}
|
||||
|
||||
this->slowPhase += 0x111;
|
||||
this->fastPhase += 0x500;
|
||||
|
||||
switch (csAction->action) {
|
||||
case 1:
|
||||
EnFish_Cutscene_FlopOnGround(this, globalCtx);
|
||||
break;
|
||||
case 2:
|
||||
EnFish_Cutscene_WiggleFlyingThroughAir(this, globalCtx);
|
||||
break;
|
||||
case 3:
|
||||
// DEMO fish termination
|
||||
osSyncPrintf("デモ魚消滅\n");
|
||||
EnFish_ClearCutsceneData(this);
|
||||
Actor_Kill(&this->actor);
|
||||
return;
|
||||
default:
|
||||
// Improper DEMO action
|
||||
osSyncPrintf("不正なデモ動作(%s %d)(arg_data 0x%04x)\n", "../z_en_sakana.c", 1200, this->actor.params);
|
||||
break;
|
||||
}
|
||||
|
||||
startPos.x = csAction->startPos.x;
|
||||
startPos.y = csAction->startPos.y;
|
||||
startPos.z = csAction->startPos.z;
|
||||
endPos.x = csAction->endPos.x;
|
||||
endPos.y = csAction->endPos.y;
|
||||
endPos.z = csAction->endPos.z;
|
||||
|
||||
progress = func_8006F93C(csAction->endFrame, csAction->startFrame, globalCtx->csCtx.frames);
|
||||
|
||||
this->actor.world.pos.x = (endPos.x - startPos.x) * progress + startPos.x;
|
||||
this->actor.world.pos.y = (endPos.y - startPos.y) * progress + startPos.y + D_80A17014;
|
||||
this->actor.world.pos.z = (endPos.z - startPos.z) * progress + startPos.z;
|
||||
|
||||
this->actor.floorHeight = BgCheck_EntityRaycastFloor4(&globalCtx->colCtx, &this->actor.floorPoly, &bgId,
|
||||
&this->actor, &this->actor.world.pos);
|
||||
}
|
||||
|
||||
// Update functions and Draw
|
||||
|
||||
void EnFish_OrdinaryUpdate(EnFish* this, GlobalContext* globalCtx) {
|
||||
if (this->timer > 0) {
|
||||
this->timer--;
|
||||
}
|
||||
|
||||
this->slowPhase += 0x111;
|
||||
this->fastPhase += 0x500;
|
||||
|
||||
if ((this->actor.child != NULL) && (this->actor.child->update == NULL) && (&this->actor != this->actor.child)) {
|
||||
this->actor.child = NULL;
|
||||
}
|
||||
|
||||
if ((this->actionFunc == NULL) || (this->actionFunc(this, globalCtx), (this->actor.update != NULL))) {
|
||||
Actor_MoveForward(&this->actor);
|
||||
|
||||
if (this->unk_250 != 0) {
|
||||
Actor_UpdateBgCheckInfo(globalCtx, &this->actor, 17.5f, 4.0f, 0.0f, this->unk_250);
|
||||
}
|
||||
|
||||
if (this->actor.xzDistToPlayer < 70.0f) {
|
||||
CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->collider.base);
|
||||
}
|
||||
|
||||
Actor_SetFocus(&this->actor, this->actor.shape.yOffset * 0.01f);
|
||||
|
||||
if (Actor_HasParent(&this->actor, globalCtx)) {
|
||||
this->actor.parent = NULL;
|
||||
|
||||
if (this->actor.params == FISH_DROPPED) {
|
||||
Actor_Kill(&this->actor);
|
||||
return;
|
||||
}
|
||||
|
||||
EnFish_BeginRespawn(this);
|
||||
} else if (EnFish_InBottleRange(this, globalCtx)) {
|
||||
// GI_MAX in this case allows the player to catch the actor in a bottle
|
||||
func_8002F434(&this->actor, globalCtx, GI_MAX, 80.0f, 20.0f);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void EnFish_RespawningUpdate(EnFish* this, GlobalContext* globalCtx) {
|
||||
if (this->actor.params == FISH_SWIMMING_UNIQUE) {
|
||||
Actor_Kill(&this->actor);
|
||||
return;
|
||||
}
|
||||
|
||||
if ((this->actor.child != NULL) && (this->actor.child->update == NULL) && (&this->actor != this->actor.child)) {
|
||||
this->actor.child = NULL;
|
||||
}
|
||||
|
||||
if ((this->actionFunc == NULL) || (this->actionFunc(this, globalCtx), (this->actor.update != NULL))) {
|
||||
Actor_MoveForward(&this->actor);
|
||||
|
||||
if (this->respawnTimer == 20) {
|
||||
this->actor.draw = EnFish_Draw;
|
||||
} else if (this->respawnTimer == 0) {
|
||||
Actor_SetScale(&this->actor, 0.01f);
|
||||
} else if (this->respawnTimer < 20) {
|
||||
Actor_SetScale(&this->actor, CLAMP_MAX(this->actor.scale.x + 0.001f, 0.01f));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void EnFish_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||
EnFish* this = THIS;
|
||||
|
||||
if ((D_80A17010 == NULL) && (this->actor.params == FISH_DROPPED) && (globalCtx->csCtx.state != 0) &&
|
||||
(globalCtx->csCtx.npcActions[1] != NULL)) {
|
||||
EnFish_SetCutsceneData(this);
|
||||
}
|
||||
|
||||
if ((D_80A17010 != NULL) && (&this->actor == D_80A17010)) {
|
||||
EnFish_UpdateCutscene(this, globalCtx);
|
||||
} else if (this->respawnTimer > 0) {
|
||||
this->respawnTimer--;
|
||||
EnFish_RespawningUpdate(this, globalCtx);
|
||||
} else {
|
||||
EnFish_OrdinaryUpdate(this, globalCtx);
|
||||
}
|
||||
}
|
||||
|
||||
void EnFish_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
||||
EnFish* this = THIS;
|
||||
|
||||
func_80093D18(globalCtx->state.gfxCtx);
|
||||
SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
|
||||
NULL, NULL, NULL);
|
||||
Collider_UpdateSpheres(0, &this->collider);
|
||||
}
|
||||
|
|
|
@ -6,11 +6,29 @@
|
|||
|
||||
struct EnFish;
|
||||
|
||||
typedef void (*EnFishActionFunc)(struct EnFish*, GlobalContext*);
|
||||
|
||||
typedef struct EnFish {
|
||||
/* 0x0000 */ Actor actor;
|
||||
/* 0x014C */ char unk_14C[0x108];
|
||||
/* 0x014C */ ColliderJntSph collider;
|
||||
/* 0x016C */ ColliderJntSphElement colliderItems[1];
|
||||
/* 0x01AC */ SkelAnime skelAnime;
|
||||
/* 0x01F0 */ Vec3s jointTable[7];
|
||||
/* 0x021A */ Vec3s morphTable[7];
|
||||
/* 0x0244 */ EnFishActionFunc actionFunc;
|
||||
/* 0x0248 */ s16 timer;
|
||||
/* 0x024A */ s16 respawnTimer;
|
||||
/* 0x024C */ s16 slowPhase;
|
||||
/* 0x024E */ s16 fastPhase;
|
||||
/* 0x0250 */ s32 unk_250; // Set to 0 or 5, arg5 of Actor_UpdateBgCheckInfo
|
||||
} EnFish; // size = 0x0254
|
||||
|
||||
typedef enum {
|
||||
/* -1 */ FISH_SWIMMING_RESPAWNING = -1, // Used in Zora's Domain; code only uses not 0 or 1, runs away from Player
|
||||
/* 0 */ FISH_DROPPED,
|
||||
/* 1 */ FISH_SWIMMING_UNIQUE // Used in grottos
|
||||
} EnFishType;
|
||||
|
||||
extern const ActorInit En_Fish_InitVars;
|
||||
|
||||
#endif
|
||||
|
|
|
@ -955,7 +955,7 @@ void func_80A40B1C(EnGo* this, GlobalContext* globalCtx) {
|
|||
void EnGo_GetItem(EnGo* this, GlobalContext* globalCtx) {
|
||||
f32 xzDist;
|
||||
f32 yDist;
|
||||
s32 getItem;
|
||||
s32 getItemId;
|
||||
|
||||
if (Actor_HasParent(&this->actor, globalCtx)) {
|
||||
this->unk_1E0.unk_00 = 2;
|
||||
|
@ -965,24 +965,24 @@ void EnGo_GetItem(EnGo* this, GlobalContext* globalCtx) {
|
|||
this->unk_20C = 0;
|
||||
if ((this->actor.params & 0xF0) == 0x90) {
|
||||
if (INV_CONTENT(ITEM_TRADE_ADULT) == ITEM_CLAIM_CHECK) {
|
||||
getItem = GI_SWORD_BGS;
|
||||
getItemId = GI_SWORD_BGS;
|
||||
this->unk_20C = 1;
|
||||
}
|
||||
if (INV_CONTENT(ITEM_TRADE_ADULT) == ITEM_EYEDROPS) {
|
||||
getItem = GI_CLAIM_CHECK;
|
||||
getItemId = GI_CLAIM_CHECK;
|
||||
}
|
||||
if (INV_CONTENT(ITEM_TRADE_ADULT) == ITEM_SWORD_BROKEN) {
|
||||
getItem = GI_PRESCRIPTION;
|
||||
getItemId = GI_PRESCRIPTION;
|
||||
}
|
||||
}
|
||||
|
||||
if ((this->actor.params & 0xF0) == 0) {
|
||||
getItem = GI_TUNIC_GORON;
|
||||
getItemId = GI_TUNIC_GORON;
|
||||
}
|
||||
|
||||
yDist = fabsf(this->actor.yDistToPlayer) + 1.0f;
|
||||
xzDist = this->actor.xzDistToPlayer + 1.0f;
|
||||
func_8002F434(&this->actor, globalCtx, getItem, xzDist, yDist);
|
||||
func_8002F434(&this->actor, globalCtx, getItemId, xzDist, yDist);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -3209,7 +3209,7 @@ void EnHorse_UpdateBgCheckInfo(EnHorse* this, GlobalContext* globalCtx) {
|
|||
obstaclePos.z += intersectDist * Math_CosS(this->actor.world.rot.y);
|
||||
obstacleTop = obstaclePos;
|
||||
obstacleTop.y = BgCheck_EntityRaycastFloor3(&globalCtx->colCtx, &obstacleFloor, &bgId, &obstaclePos);
|
||||
if (obstacleTop.y == -32000.0f) {
|
||||
if (obstacleTop.y == BGCHECK_Y_MIN) {
|
||||
return;
|
||||
}
|
||||
obstacleHeight = obstacleTop.y - this->actor.world.pos.y;
|
||||
|
@ -3258,7 +3258,7 @@ void EnHorse_UpdateBgCheckInfo(EnHorse* this, GlobalContext* globalCtx) {
|
|||
|
||||
obstacleTop = obstaclePos;
|
||||
obstacleTop.y = BgCheck_EntityRaycastFloor3(&globalCtx->colCtx, &obstacleFloor, &bgId, &obstaclePos);
|
||||
if (obstacleTop.y == -32000.0f) {
|
||||
if (obstacleTop.y == BGCHECK_Y_MIN) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,3 +1,9 @@
|
|||
/*
|
||||
* File: z_en_ice_hono.c
|
||||
* Overlay: ovl_En_Ice_Hono
|
||||
* Description: The various types of Blue Fire
|
||||
*/
|
||||
|
||||
#include "z_en_ice_hono.h"
|
||||
#include "objects/gameplay_keep/gameplay_keep.h"
|
||||
|
||||
|
@ -92,11 +98,8 @@ static InitChainEntry sInitChainSmallFlame[] = {
|
|||
ICHAIN_F32(uncullZoneDownward, 1000, ICHAIN_STOP),
|
||||
};
|
||||
|
||||
f32 EnIceHono_SquareDist(Vec3f* pos1, Vec3f* pos2) {
|
||||
f32 dx = pos1->x - pos2->x;
|
||||
f32 dz = pos1->z - pos2->z;
|
||||
|
||||
return SQ(dx) + SQ(dz);
|
||||
f32 EnIceHono_XZDistanceSquared(Vec3f* v1, Vec3f* v2) {
|
||||
return SQ(v1->x - v2->x) + SQ(v1->z - v2->z);
|
||||
}
|
||||
|
||||
void EnIceHono_InitCapturableFlame(Actor* thisx, GlobalContext* globalCtx) {
|
||||
|
@ -185,7 +188,7 @@ void EnIceHono_Destroy(Actor* thisx, GlobalContext* globalCtx) {
|
|||
}
|
||||
}
|
||||
|
||||
u32 EnIceHono_LinkCloseAndFacing(EnIceHono* this, GlobalContext* globalCtx) {
|
||||
u32 EnIceHono_InBottleRange(EnIceHono* this, GlobalContext* globalCtx) {
|
||||
Player* player = PLAYER;
|
||||
|
||||
if (this->actor.xzDistToPlayer < 60.0f) {
|
||||
|
@ -193,11 +196,15 @@ u32 EnIceHono_LinkCloseAndFacing(EnIceHono* this, GlobalContext* globalCtx) {
|
|||
tempPos.x = Math_SinS(this->actor.yawTowardsPlayer + 0x8000) * 40.0f + player->actor.world.pos.x;
|
||||
tempPos.y = player->actor.world.pos.y;
|
||||
tempPos.z = Math_CosS(this->actor.yawTowardsPlayer + 0x8000) * 40.0f + player->actor.world.pos.z;
|
||||
if (EnIceHono_SquareDist(&tempPos, &this->actor.world.pos) <= SQ(40.0f)) {
|
||||
return 1;
|
||||
|
||||
//! @bug: this check is superfluous: it is automatically satisfied if the coarse check is satisfied. It may have
|
||||
//! been intended to check the actor is in front of Player, but yawTowardsPlayer does not depend on Player's
|
||||
//! world rotation.
|
||||
if (EnIceHono_XZDistanceSquared(&tempPos, &this->actor.world.pos) <= SQ(40.0f)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
return false;
|
||||
}
|
||||
|
||||
void EnIceHono_SetupActionCapturableFlame(EnIceHono* this) {
|
||||
|
@ -209,8 +216,9 @@ void EnIceHono_SetupActionCapturableFlame(EnIceHono* this) {
|
|||
void EnIceHono_CapturableFlame(EnIceHono* this, GlobalContext* globalCtx) {
|
||||
if (Actor_HasParent(&this->actor, globalCtx)) {
|
||||
this->actor.parent = NULL;
|
||||
} else if (EnIceHono_LinkCloseAndFacing(this, globalCtx)) {
|
||||
func_8002F434(&this->actor, globalCtx, 0x7E, 60.0f, 100.0f);
|
||||
} else if (EnIceHono_InBottleRange(this, globalCtx)) {
|
||||
// GI_MAX in this case allows the player to catch the actor in a bottle
|
||||
func_8002F434(&this->actor, globalCtx, GI_MAX, 60.0f, 100.0f);
|
||||
}
|
||||
|
||||
if (this->actor.xzDistToPlayer < 200.0f) {
|
||||
|
|
|
@ -1,3 +1,9 @@
|
|||
/*
|
||||
* File: z_en_insect.c
|
||||
* Overlay: ovl_En_Insect
|
||||
* Description: Bugs
|
||||
*/
|
||||
|
||||
#include "z_en_insect.h"
|
||||
#include "vt.h"
|
||||
#include "objects/gameplay_keep/gameplay_keep.h"
|
||||
|
@ -87,7 +93,7 @@ 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) {
|
||||
s32 EnInsect_InBottleRange(EnInsect* this, GlobalContext* globalCtx) {
|
||||
s32 pad;
|
||||
Player* player = PLAYER;
|
||||
Vec3f pos;
|
||||
|
@ -97,12 +103,15 @@ s32 func_80A7BE6C(EnInsect* this, GlobalContext* globalCtx) {
|
|||
pos.y = player->actor.world.pos.y;
|
||||
pos.z = Math_CosS(this->actor.yawTowardsPlayer + 0x8000) * 16.0f + player->actor.world.pos.z;
|
||||
|
||||
if (EnInsect_XZDistanceSquared(&pos, &this->actor.world.pos) <= 400.0f) {
|
||||
return 1;
|
||||
//! @bug: this check is superfluous: it is automatically satisfied if the coarse check is satisfied. It may have
|
||||
//! been intended to check the actor is in front of Player, but yawTowardsPlayer does not depend on Player's
|
||||
//! world rotation.
|
||||
if (EnInsect_XZDistanceSquared(&pos, &this->actor.world.pos) <= SQ(20.0f)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
return false;
|
||||
}
|
||||
|
||||
void func_80A7BF58(EnInsect* this) {
|
||||
|
@ -143,7 +152,7 @@ s32 EnInsect_FoundNearbySoil(EnInsect* this, GlobalContext* globalCtx) {
|
|||
|
||||
void func_80A7C058(EnInsect* this) {
|
||||
if (this->unk_31E > 0) {
|
||||
this->unk_31E -= 1;
|
||||
this->unk_31E--;
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -546,9 +555,9 @@ void func_80A7D39C(EnInsect* this) {
|
|||
func_80A7BF58(this);
|
||||
this->unk_31A = 100;
|
||||
this->unk_324 = 1.5f;
|
||||
this->unk_328 = Rand_ZeroOne() * 65535.5f;
|
||||
this->unk_328 = Rand_ZeroOne() * (0xFFFF + 0.5f);
|
||||
this->unk_316 = (Rand_ZeroOne() - 0.5f) * 1500.0f;
|
||||
this->actor.world.rot.y = Rand_ZeroOne() * 65535.5f;
|
||||
this->actor.world.rot.y = Rand_ZeroOne() * (0xFFFF + 0.5f);
|
||||
Actor_SetScale(&this->actor, 0.003f);
|
||||
this->actionFunc = func_80A7D460;
|
||||
this->unk_314 |= 0x100;
|
||||
|
@ -703,7 +712,7 @@ void func_80A7D460(EnInsect* this, GlobalContext* globalCtx) {
|
|||
} 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.floorHeight < -31990.0f) {
|
||||
this->actor.floorHeight < BGCHECK_Y_MIN + 10.0f) {
|
||||
osSyncPrintf(VT_COL(YELLOW, BLACK));
|
||||
// BG missing? To do Actor_delete
|
||||
osSyncPrintf("BG 抜け? Actor_delete します(%s %d)\n", "../z_en_mushi.c", 1197);
|
||||
|
@ -775,8 +784,9 @@ void EnInsect_Update(Actor* thisx, GlobalContext* globalCtx) {
|
|||
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, GI_MAX, 60.0f, 30.0f) != 0) {
|
||||
if (!(this->unk_314 & 8) && D_80A7DEB4 < 4 && EnInsect_InBottleRange(this, globalCtx) &&
|
||||
// GI_MAX in this case allows the player to catch the actor in a bottle
|
||||
func_8002F434(&this->actor, globalCtx, GI_MAX, 60.0f, 30.0f)) {
|
||||
D_80A7DEB4++;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -375,10 +375,11 @@ void EnIshi_Wait(EnIshi* this, GlobalContext* globalCtx) {
|
|||
if (this->actor.xzDistToPlayer < 400.0f) {
|
||||
CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->collider.base);
|
||||
if (this->actor.xzDistToPlayer < 90.0f) {
|
||||
// GI_NONE in these cases allows the player to lift the actor
|
||||
if (type == ROCK_LARGE) {
|
||||
func_8002F434(&this->actor, globalCtx, 0, 80.0f, 20.0f);
|
||||
func_8002F434(&this->actor, globalCtx, GI_NONE, 80.0f, 20.0f);
|
||||
} else {
|
||||
func_8002F434(&this->actor, globalCtx, 0, 50.0f, 10.0f);
|
||||
func_8002F434(&this->actor, globalCtx, GI_NONE, 50.0f, 10.0f);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -323,7 +323,7 @@ void EnJj_Draw(Actor* thisx, GlobalContext* globalCtx2) {
|
|||
Matrix_Scale(10.0f, 10.0f, 10.0f, MTXMODE_APPLY);
|
||||
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sEyeTextures[this->eyeIndex]));
|
||||
SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
|
||||
0, 0, this);
|
||||
NULL, NULL, this);
|
||||
|
||||
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_jj.c", 898);
|
||||
}
|
||||
|
|
|
@ -467,7 +467,8 @@ void func_80AB6450(EnNiw* this, GlobalContext* globalCtx) {
|
|||
this->actor.speedXZ = 0.0f;
|
||||
this->actionFunc = func_80AB6BF8;
|
||||
} else {
|
||||
func_8002F434(&this->actor, globalCtx, 0, 25.0f, 10.0f);
|
||||
// GI_NONE in this case allows the player to lift the actor
|
||||
func_8002F434(&this->actor, globalCtx, GI_NONE, 25.0f, 10.0f);
|
||||
func_80AB5BF8(this, globalCtx, 1);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -260,7 +260,7 @@ void EnNiwGirl_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
|||
func_80093D18(globalCtx->state.gfxCtx);
|
||||
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(D_80AB99D8[this->unk_272]));
|
||||
SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
|
||||
EnNiwGirlOverrideLimbDraw, 0, this);
|
||||
EnNiwGirlOverrideLimbDraw, NULL, this);
|
||||
func_80033C30(&this->actor.world.pos, &sp4C, 255, globalCtx);
|
||||
|
||||
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_niw_girl.c", 592);
|
||||
|
|
|
@ -307,14 +307,14 @@ void func_80ABA654(EnNiwLady* this, GlobalContext* globalCtx) {
|
|||
this->unk_26E = 0xB;
|
||||
if (!(gSaveContext.itemGetInf[0] & 0x1000)) {
|
||||
this->actor.parent = NULL;
|
||||
this->unk_284 = 0xF;
|
||||
func_8002F434(&this->actor, globalCtx, 0xF, 100.0f, 50.0f);
|
||||
this->getItemId = GI_BOTTLE;
|
||||
func_8002F434(&this->actor, globalCtx, GI_BOTTLE, 100.0f, 50.0f);
|
||||
this->actionFunc = func_80ABAC00;
|
||||
return;
|
||||
}
|
||||
if (this->unk_26C == 1) {
|
||||
this->unk_284 = 0x55;
|
||||
func_8002F434(&this->actor, globalCtx, 0x55, 100.0f, 50.0f);
|
||||
this->getItemId = GI_RUPEE_PURPLE;
|
||||
func_8002F434(&this->actor, globalCtx, GI_RUPEE_PURPLE, 100.0f, 50.0f);
|
||||
this->actionFunc = func_80ABAC00;
|
||||
}
|
||||
this->actionFunc = func_80ABA244;
|
||||
|
@ -417,7 +417,7 @@ void func_80ABAB08(EnNiwLady* this, GlobalContext* globalCtx) {
|
|||
case 0:
|
||||
func_80106CCC(globalCtx);
|
||||
this->actor.parent = NULL;
|
||||
func_8002F434(&this->actor, globalCtx, 0xE, 200.0f, 100.0f);
|
||||
func_8002F434(&this->actor, globalCtx, GI_COJIRO, 200.0f, 100.0f);
|
||||
this->actionFunc = func_80ABAC00;
|
||||
break;
|
||||
case 1:
|
||||
|
@ -439,7 +439,7 @@ void func_80ABAC00(EnNiwLady* this, GlobalContext* globalCtx) {
|
|||
if (Actor_HasParent(&this->actor, globalCtx)) {
|
||||
this->actionFunc = func_80ABAC84;
|
||||
} else {
|
||||
getItemId = this->unk_284;
|
||||
getItemId = this->getItemId;
|
||||
if (LINK_IS_ADULT) {
|
||||
getItemId = !(gSaveContext.itemGetInf[2] & 0x1000) ? GI_POCKET_EGG : GI_COJIRO;
|
||||
}
|
||||
|
|
|
@ -37,7 +37,7 @@ typedef struct EnNiwLady {
|
|||
/* 0x027E */ s16 unk_27E;
|
||||
/* 0x0280 */ s8 objectAneIndex;
|
||||
/* 0x0281 */ s8 objectOsAnimeIndex;
|
||||
/* 0x0284 */ s32 unk_284;
|
||||
/* 0x0284 */ s32 getItemId;
|
||||
/* 0x0288 */ struct_80034A14_arg1 unk_288;
|
||||
/* 0x02B0 */ ColliderCylinder collider;
|
||||
} EnNiwLady; // size = 0x02FC
|
||||
|
|
|
@ -394,7 +394,7 @@ void EnSyatekiMan_Update(Actor* thisx, GlobalContext* globalCtx) {
|
|||
func_80038290(globalCtx, &this->actor, &this->headRot, &this->bodyRot, this->actor.focus.pos);
|
||||
}
|
||||
|
||||
s32 func_80B1148C(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* thisx) {
|
||||
s32 EnSyatekiMan_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* thisx) {
|
||||
EnSyatekiMan* this = THIS;
|
||||
s32 turnDirection;
|
||||
|
||||
|
@ -419,7 +419,7 @@ void EnSyatekiMan_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
|||
|
||||
func_80093D18(globalCtx->state.gfxCtx);
|
||||
SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
|
||||
func_80B1148C, NULL, this);
|
||||
EnSyatekiMan_OverrideLimbDraw, NULL, this);
|
||||
}
|
||||
|
||||
void EnSyatekiMan_SetBgm(void) {
|
||||
|
|
|
@ -321,7 +321,7 @@ void func_80B20768(EnToryo* this, GlobalContext* globalCtx) {
|
|||
this->actor.parent = NULL;
|
||||
this->unk_1E4 = 5;
|
||||
} else {
|
||||
func_8002F434(&this->actor, globalCtx, 0x22, 100.0f, 10.0f);
|
||||
func_8002F434(&this->actor, globalCtx, GI_SWORD_BROKEN, 100.0f, 10.0f);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -572,7 +572,7 @@ void func_80B2B4A8(EnViewer* this, GlobalContext* globalCtx) {
|
|||
|
||||
if (params == 9) {
|
||||
SkelAnime_DrawFlexOpa(globalCtx, this->skin.skelAnime.skeleton, this->skin.skelAnime.jointTable,
|
||||
this->skin.skelAnime.dListCount, 0, func_80B2B364, this);
|
||||
this->skin.skelAnime.dListCount, NULL, func_80B2B364, this);
|
||||
} else if (params == 3) {
|
||||
SkelAnime_DrawFlexOpa(globalCtx, this->skin.skelAnime.skeleton, this->skin.skelAnime.jointTable,
|
||||
this->skin.skelAnime.dListCount, func_80B2B2F4, func_80B2B468, this);
|
||||
|
@ -580,11 +580,11 @@ void func_80B2B4A8(EnViewer* this, GlobalContext* globalCtx) {
|
|||
} else if ((params == 3) || (params == 5) || (params == 7) || (params == 8)) {
|
||||
if ((globalCtx->csCtx.state != CS_STATE_IDLE) && (globalCtx->csCtx.npcActions[1] != NULL)) {
|
||||
SkelAnime_DrawFlexOpa(globalCtx, this->skin.skelAnime.skeleton, this->skin.skelAnime.jointTable,
|
||||
this->skin.skelAnime.dListCount, 0, func_80B2B468, this);
|
||||
this->skin.skelAnime.dListCount, NULL, func_80B2B468, this);
|
||||
func_80B2CC1C(globalCtx, this);
|
||||
}
|
||||
} else {
|
||||
SkelAnime_DrawOpa(globalCtx, this->skin.skelAnime.skeleton, this->skin.skelAnime.jointTable, NULL, 0, this);
|
||||
SkelAnime_DrawOpa(globalCtx, this->skin.skelAnime.skeleton, this->skin.skelAnime.jointTable, NULL, NULL, this);
|
||||
}
|
||||
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_viewer.c", 1511);
|
||||
}
|
||||
|
@ -688,7 +688,7 @@ void func_80B2C130(EnViewer* this, GlobalContext* globalCtx) {
|
|||
gDPSetEnvColor(POLY_OPA_DISP++, 0, 0, 0, 255);
|
||||
gSPSegment(POLY_OPA_DISP++, 0x0C, &D_80116280[2]);
|
||||
SkelAnime_DrawFlexOpa(globalCtx, this->skin.skelAnime.skeleton, this->skin.skelAnime.jointTable,
|
||||
this->skin.skelAnime.dListCount, func_80B2C10C, 0, this);
|
||||
this->skin.skelAnime.dListCount, func_80B2C10C, NULL, this);
|
||||
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_viewer.c", 1740);
|
||||
}
|
||||
|
||||
|
|
|
@ -575,7 +575,7 @@ void EnZl1_Update(Actor* thisx, GlobalContext* globalCtx) {
|
|||
func_80B4AE18(this);
|
||||
}
|
||||
|
||||
s32 func_80B4C340(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* thisx) {
|
||||
s32 EnZl1_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* thisx) {
|
||||
EnZl1* this = THIS;
|
||||
|
||||
if ((limbIndex == 4) || (limbIndex == 3) || (limbIndex == 6) || (limbIndex == 5)) {
|
||||
|
@ -596,7 +596,7 @@ s32 func_80B4C340(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* p
|
|||
return 0;
|
||||
}
|
||||
|
||||
void func_80B4C400(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx) {
|
||||
void EnZl1_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx) {
|
||||
Vec3f vec = { 0.0f, 0.0f, 0.0f };
|
||||
EnZl1* this = THIS;
|
||||
|
||||
|
@ -616,7 +616,7 @@ void EnZl1_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
|||
|
||||
func_80093D18(globalCtx->state.gfxCtx);
|
||||
SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
|
||||
func_80B4C340, func_80B4C400, this);
|
||||
EnZl1_OverrideLimbDraw, EnZl1_PostLimbDraw, this);
|
||||
|
||||
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_girlB.c", 2046);
|
||||
}
|
||||
|
|
|
@ -390,7 +390,7 @@ s32 ObjOshihiki_CheckFloor(ObjOshihiki* this, GlobalContext* globalCtx) {
|
|||
}
|
||||
|
||||
s32 ObjOshihiki_CheckGround(ObjOshihiki* this, GlobalContext* globalCtx) {
|
||||
if (this->dyna.actor.world.pos.y <= -31990.0f) {
|
||||
if (this->dyna.actor.world.pos.y <= BGCHECK_Y_MIN + 10.0f) {
|
||||
// Warning : Push-pull block fell too much
|
||||
osSyncPrintf("Warning : 押し引きブロック落ちすぎた(%s %d)(arg_data 0x%04x)\n", "../z_obj_oshihiki.c", 809,
|
||||
this->dyna.actor.params);
|
||||
|
|
|
@ -266,7 +266,8 @@ void ObjTsubo_Idle(ObjTsubo* this, GlobalContext* globalCtx) {
|
|||
temp_v0 = this->actor.yawTowardsPlayer - PLAYER->actor.world.rot.y;
|
||||
phi_v1 = ABS(temp_v0);
|
||||
if (phi_v1 >= 0x5556) {
|
||||
func_8002F434(&this->actor, globalCtx, 0, 30.0f, 30.0f);
|
||||
// GI_NONE in this case allows the player to lift the actor
|
||||
func_8002F434(&this->actor, globalCtx, GI_NONE, 30.0f, 30.0f);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -14,6 +14,7 @@
|
|||
#include "overlays/actors/ovl_En_Box/z_en_box.h"
|
||||
#include "overlays/actors/ovl_En_Door/z_en_door.h"
|
||||
#include "overlays/actors/ovl_En_Elf/z_en_elf.h"
|
||||
#include "overlays/actors/ovl_En_Fish/z_en_fish.h"
|
||||
#include "overlays/actors/ovl_En_Horse/z_en_horse.h"
|
||||
#include "overlays/effects/ovl_Effect_Ss_Fhg_Flash/z_eff_ss_fhg_flash.h"
|
||||
#include "objects/gameplay_keep/gameplay_keep.h"
|
||||
|
@ -12189,7 +12190,7 @@ void func_8084EED8(Player* this, GlobalContext* globalCtx) {
|
|||
}
|
||||
|
||||
BottleDropInfo D_80854A28[] = {
|
||||
{ ACTOR_EN_FISH, 0 },
|
||||
{ ACTOR_EN_FISH, FISH_DROPPED },
|
||||
{ ACTOR_EN_ICE_HONO, 0 },
|
||||
{ ACTOR_EN_INSECT, 2 },
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue