1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2024-12-27 07:07:09 +00:00

ovl_En_Horse_Normal (#403)

* merge upstream

* Merge upstream

* Match EnHorseNormal_Init

* Work on EnHorseNormal_Draw (probably finish depending functions first)

* func_80A6CC88

* Work on EnHorseNormal_Draw

* Clang format

* Properly use OPEN_DISPS

* Stop using thisx lol

* Use the funny angle number

* Use &D_04049AD0 because it's not a display list?

* Stop using fun macros to fix stack

* EnHorseNormal_Draw

* EnHorseNormal_Destroy

* EnHorseNormal_Update

* Use disp macros EnHorseNormal_Draw

* Correctly type D_04049AD0

* func_80A6C570

* Name some draw stuff

* Fix names

* Make if condition more readable

* func_80A6B30C and fix incorrect  pointer types

* Function prototypes

* func_80A6B250

* Add header comment

* Move skin function to functions.h

* Change to stable

* Cleanup a little

* Match some more

* Work on func_80A6BE6C (won't compile yet)

* Work on func_80A6BE6C again

* Progress

* func_80A6CAFC

* Match all but one :)

* Work on func_80A6BE6C

* Work more on func_80A6BE6C

* Multiply floating point by integer lol

* Reorder assignment to almost match

* func_80A6BE6C

* Fix warning and remove unnecessary forward declarations

* Data section

* Cleanup data a bit

* More cleanup and clang format

* Clang format is a little confused

* More cleanup

* Formatting

* Revert formatting on z_bg_spot01_objects2.c

* Name unk_14C

* Add clone comment

* Name clonePos

* Name and cleanup

* Name some animation related stuff

* Remove unnecessary assignment

* Name cloneRotY

* Use ARRAY_COUNT for sAnimations

* Add more to unknown struct layout

* Use u8 for last struct member

* Use s32 for length

* Add padding disclaimer

* Update src/overlays/actors/ovl_En_Horse_Normal/z_en_horse_normal.c

Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>

* Update src/overlays/actors/ovl_En_Horse_Normal/z_en_horse_normal.c

Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>

* Update src/overlays/actors/ovl_En_Horse_Normal/z_en_horse_normal.c

Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>

* Update src/overlays/actors/ovl_En_Horse_Normal/z_en_horse_normal.c

Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>

* Update src/overlays/actors/ovl_En_Horse_Normal/z_en_horse_normal.c

Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>

* Various suggestions

* Replace 10430.378f

* Remove padding because alignment

* Move function array out of function

* Remove struct name being present twice unecessarily

* Oops forgot the s

* Don't separate static vars from others

* Some cleanup

* Use ARRAY_COUNT(sJntSphItemsInit)

* Minor cleanup

* Rename enum members

* Oops forgot to rename enum

Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>
This commit is contained in:
Sirius902 2020-10-12 15:45:16 -07:00 committed by GitHub
parent fff616d2be
commit 5c631e3170
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
30 changed files with 679 additions and 2482 deletions

View file

@ -1,27 +0,0 @@
glabel EnHorseNormal_Destroy
/* 0066C 80A6B8BC 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00670 80A6B8C0 AFA40018 */ sw $a0, 0x0018($sp)
/* 00674 80A6B8C4 AFA5001C */ sw $a1, 0x001C($sp)
/* 00678 80A6B8C8 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 0067C 80A6B8CC 8FA50018 */ lw $a1, 0x0018($sp)
/* 00680 80A6B8D0 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00684 80A6B8D4 0C029A22 */ jal func_800A6888
/* 00688 80A6B8D8 24A50154 */ addiu $a1, $a1, 0x0154 ## $a1 = 00000154
/* 0068C 80A6B8DC 8FA50018 */ lw $a1, 0x0018($sp)
/* 00690 80A6B8E0 8FA4001C */ lw $a0, 0x001C($sp)
/* 00694 80A6B8E4 0C0170EB */ jal Collider_DestroyCylinder
/* 00698 80A6B8E8 24A50228 */ addiu $a1, $a1, 0x0228 ## $a1 = 00000228
/* 0069C 80A6B8EC 8FA50018 */ lw $a1, 0x0018($sp)
/* 006A0 80A6B8F0 8FA4001C */ lw $a0, 0x001C($sp)
/* 006A4 80A6B8F4 0C0170EB */ jal Collider_DestroyCylinder
/* 006A8 80A6B8F8 24A502D4 */ addiu $a1, $a1, 0x02D4 ## $a1 = 000002D4
/* 006AC 80A6B8FC 8FA50018 */ lw $a1, 0x0018($sp)
/* 006B0 80A6B900 8FA4001C */ lw $a0, 0x001C($sp)
/* 006B4 80A6B904 0C016F32 */ jal Collider_DestroyJntSph
/* 006B8 80A6B908 24A50274 */ addiu $a1, $a1, 0x0274 ## $a1 = 00000274
/* 006BC 80A6B90C 8FBF0014 */ lw $ra, 0x0014($sp)
/* 006C0 80A6B910 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 006C4 80A6B914 03E00008 */ jr $ra
/* 006C8 80A6B918 00000000 */ nop

View file

@ -1,353 +0,0 @@
.rdata
glabel D_80A6D560
.asciz "../z_en_horse_normal.c"
.balign 4
glabel D_80A6D578
.asciz "../z_en_horse_normal.c"
.balign 4
glabel D_80A6D590
.asciz "../z_en_horse_normal.c"
.balign 4
.late_rodata
glabel D_80A6D5E8
.word 0x43B18000
glabel D_80A6D5EC
.word 0xC4368000
glabel D_80A6D5F0
.word 0xC4898000
glabel D_80A6D5F4
.word 0xC4924000
glabel D_80A6D5F8
.float 0.01
glabel D_80A6D5FC
.float 9.58738019108e-05
.text
glabel EnHorseNormal_Draw
/* 01C1C 80A6CE6C 27BDFF30 */ addiu $sp, $sp, 0xFF30 ## $sp = FFFFFF30
/* 01C20 80A6CE70 AFB10030 */ sw $s1, 0x0030($sp)
/* 01C24 80A6CE74 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
/* 01C28 80A6CE78 AFBF0034 */ sw $ra, 0x0034($sp)
/* 01C2C 80A6CE7C AFB0002C */ sw $s0, 0x002C($sp)
/* 01C30 80A6CE80 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000
/* 01C34 80A6CE84 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 01C38 80A6CE88 3C0680A7 */ lui $a2, %hi(D_80A6D560) ## $a2 = 80A70000
/* 01C3C 80A6CE8C 24C6D560 */ addiu $a2, $a2, %lo(D_80A6D560) ## $a2 = 80A6D560
/* 01C40 80A6CE90 27A400B4 */ addiu $a0, $sp, 0x00B4 ## $a0 = FFFFFFE4
/* 01C44 80A6CE94 240708B0 */ addiu $a3, $zero, 0x08B0 ## $a3 = 000008B0
/* 01C48 80A6CE98 0C031AB1 */ jal Graph_OpenDisps
/* 01C4C 80A6CE9C AFA500C4 */ sw $a1, 0x00C4($sp)
/* 01C50 80A6CEA0 862200A4 */ lh $v0, 0x00A4($s1) ## 000000A4
/* 01C54 80A6CEA4 24010063 */ addiu $at, $zero, 0x0063 ## $at = 00000063
/* 01C58 80A6CEA8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01C5C 80A6CEAC 14410003 */ bne $v0, $at, .L80A6CEBC
/* 01C60 80A6CEB0 24010036 */ addiu $at, $zero, 0x0036 ## $at = 00000036
/* 01C64 80A6CEB4 10410003 */ beq $v0, $at, .L80A6CEC4
/* 01C68 80A6CEB8 00000000 */ nop
.L80A6CEBC:
/* 01C6C 80A6CEBC 0C29B238 */ jal func_80A6C8E0
/* 01C70 80A6CEC0 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
.L80A6CEC4:
/* 01C74 80A6CEC4 0C024F46 */ jal func_80093D18
/* 01C78 80A6CEC8 8E240000 */ lw $a0, 0x0000($s1) ## 00000000
/* 01C7C 80A6CECC 26060154 */ addiu $a2, $s0, 0x0154 ## $a2 = 00000154
/* 01C80 80A6CED0 3C0780A7 */ lui $a3, %hi(func_80A6CAFC) ## $a3 = 80A70000
/* 01C84 80A6CED4 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001
/* 01C88 80A6CED8 AFAE0010 */ sw $t6, 0x0010($sp)
/* 01C8C 80A6CEDC 24E7CAFC */ addiu $a3, $a3, %lo(func_80A6CAFC) ## $a3 = 80A6CAFC
/* 01C90 80A6CEE0 AFA60038 */ sw $a2, 0x0038($sp)
/* 01C94 80A6CEE4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01C98 80A6CEE8 0C0298CC */ jal func_800A6330
/* 01C9C 80A6CEEC 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
/* 01CA0 80A6CEF0 8E0F014C */ lw $t7, 0x014C($s0) ## 0000014C
/* 01CA4 80A6CEF4 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
/* 01CA8 80A6CEF8 3C1880A7 */ lui $t8, %hi(D_80A6D548) ## $t8 = 80A70000
/* 01CAC 80A6CEFC 15E10109 */ bne $t7, $at, .L80A6D324
/* 01CB0 80A6CF00 2718D548 */ addiu $t8, $t8, %lo(D_80A6D548) ## $t8 = 80A6D548
/* 01CB4 80A6CF04 8F0A0000 */ lw $t2, 0x0000($t8) ## 80A6D548
/* 01CB8 80A6CF08 27A60064 */ addiu $a2, $sp, 0x0064 ## $a2 = FFFFFF94
/* 01CBC 80A6CF0C 24010036 */ addiu $at, $zero, 0x0036 ## $at = 00000036
/* 01CC0 80A6CF10 ACCA0000 */ sw $t2, 0x0000($a2) ## FFFFFF94
/* 01CC4 80A6CF14 8F190004 */ lw $t9, 0x0004($t8) ## 80A6D54C
/* 01CC8 80A6CF18 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 01CCC 80A6CF1C ACD90004 */ sw $t9, 0x0004($a2) ## FFFFFF98
/* 01CD0 80A6CF20 8F0A0008 */ lw $t2, 0x0008($t8) ## 80A6D550
/* 01CD4 80A6CF24 ACCA0008 */ sw $t2, 0x0008($a2) ## FFFFFF9C
/* 01CD8 80A6CF28 C6040080 */ lwc1 $f4, 0x0080($s0) ## 00000080
/* 01CDC 80A6CF2C C6020028 */ lwc1 $f2, 0x0028($s0) ## 00000028
/* 01CE0 80A6CF30 46041181 */ sub.s $f6, $f2, $f4
/* 01CE4 80A6CF34 E7A6005C */ swc1 $f6, 0x005C($sp)
/* 01CE8 80A6CF38 862200A4 */ lh $v0, 0x00A4($s1) ## 000000A4
/* 01CEC 80A6CF3C 14410038 */ bne $v0, $at, .L80A6D020
/* 01CF0 80A6CF40 3C0180A7 */ lui $at, %hi(D_80A6D5E8) ## $at = 80A70000
/* 01CF4 80A6CF44 C428D5E8 */ lwc1 $f8, %lo(D_80A6D5E8)($at)
/* 01CF8 80A6CF48 C6000024 */ lwc1 $f0, 0x0024($s0) ## 00000024
/* 01CFC 80A6CF4C 46004032 */ c.eq.s $f8, $f0
/* 01D00 80A6CF50 00000000 */ nop
/* 01D04 80A6CF54 45020018 */ bc1fl .L80A6CFB8
/* 01D08 80A6CF58 3C01436E */ lui $at, 0x436E ## $at = 436E0000
/* 01D0C 80A6CF5C 44806000 */ mtc1 $zero, $f12 ## $f12 = 0.00
/* 01D10 80A6CF60 3C01C375 */ lui $at, 0xC375 ## $at = C3750000
/* 01D14 80A6CF64 46026032 */ c.eq.s $f12, $f2
/* 01D18 80A6CF68 00000000 */ nop
/* 01D1C 80A6CF6C 45020012 */ bc1fl .L80A6CFB8
/* 01D20 80A6CF70 3C01436E */ lui $at, 0x436E ## $at = 436E0000
/* 01D24 80A6CF74 44815000 */ mtc1 $at, $f10 ## $f10 = 238.00
/* 01D28 80A6CF78 C610002C */ lwc1 $f16, 0x002C($s0) ## 0000002C
/* 01D2C 80A6CF7C 3C01436B */ lui $at, 0x436B ## $at = 436B0000
/* 01D30 80A6CF80 240B7FFF */ addiu $t3, $zero, 0x7FFF ## $t3 = 00007FFF
/* 01D34 80A6CF84 46105032 */ c.eq.s $f10, $f16
/* 01D38 80A6CF88 00000000 */ nop
/* 01D3C 80A6CF8C 4502000A */ bc1fl .L80A6CFB8
/* 01D40 80A6CF90 3C01436E */ lui $at, 0x436E ## $at = 436E0000
/* 01D44 80A6CF94 44819000 */ mtc1 $at, $f18 ## $f18 = 238.00
/* 01D48 80A6CF98 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000
/* 01D4C 80A6CF9C 44812000 */ mtc1 $at, $f4 ## $f4 = 100.00
/* 01D50 80A6CFA0 E7AC0068 */ swc1 $f12, 0x0068($sp)
/* 01D54 80A6CFA4 A7AB0062 */ sh $t3, 0x0062($sp)
/* 01D58 80A6CFA8 E7B20064 */ swc1 $f18, 0x0064($sp)
/* 01D5C 80A6CFAC 10000053 */ beq $zero, $zero, .L80A6D0FC
/* 01D60 80A6CFB0 E7A4006C */ swc1 $f4, 0x006C($sp)
/* 01D64 80A6CFB4 3C01436E */ lui $at, 0x436E ## $at = 436E0000
.L80A6CFB8:
/* 01D68 80A6CFB8 44813000 */ mtc1 $at, $f6 ## $f6 = 238.00
/* 01D6C 80A6CFBC 44806000 */ mtc1 $zero, $f12 ## $f12 = 0.00
/* 01D70 80A6CFC0 46003032 */ c.eq.s $f6, $f0
/* 01D74 80A6CFC4 00000000 */ nop
/* 01D78 80A6CFC8 4500004C */ bc1f .L80A6D0FC
/* 01D7C 80A6CFCC 00000000 */ nop
/* 01D80 80A6CFD0 46026032 */ c.eq.s $f12, $f2
/* 01D84 80A6CFD4 3C01C375 */ lui $at, 0xC375 ## $at = C3750000
/* 01D88 80A6CFD8 45000048 */ bc1f .L80A6D0FC
/* 01D8C 80A6CFDC 00000000 */ nop
/* 01D90 80A6CFE0 44814000 */ mtc1 $at, $f8 ## $f8 = -245.00
/* 01D94 80A6CFE4 C60A002C */ lwc1 $f10, 0x002C($s0) ## 0000002C
/* 01D98 80A6CFE8 3C0143EF */ lui $at, 0x43EF ## $at = 43EF0000
/* 01D9C 80A6CFEC 240C7FFF */ addiu $t4, $zero, 0x7FFF ## $t4 = 00007FFF
/* 01DA0 80A6CFF0 460A4032 */ c.eq.s $f8, $f10
/* 01DA4 80A6CFF4 00000000 */ nop
/* 01DA8 80A6CFF8 45000040 */ bc1f .L80A6D0FC
/* 01DAC 80A6CFFC 00000000 */ nop
/* 01DB0 80A6D000 44818000 */ mtc1 $at, $f16 ## $f16 = 478.00
/* 01DB4 80A6D004 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000
/* 01DB8 80A6D008 44819000 */ mtc1 $at, $f18 ## $f18 = 100.00
/* 01DBC 80A6D00C E7AC0068 */ swc1 $f12, 0x0068($sp)
/* 01DC0 80A6D010 A7AC0062 */ sh $t4, 0x0062($sp)
/* 01DC4 80A6D014 E7B00064 */ swc1 $f16, 0x0064($sp)
/* 01DC8 80A6D018 10000038 */ beq $zero, $zero, .L80A6D0FC
/* 01DCC 80A6D01C E7B2006C */ swc1 $f18, 0x006C($sp)
.L80A6D020:
/* 01DD0 80A6D020 24010063 */ addiu $at, $zero, 0x0063 ## $at = 00000063
/* 01DD4 80A6D024 14410035 */ bne $v0, $at, .L80A6D0FC
/* 01DD8 80A6D028 3C0180A7 */ lui $at, %hi(D_80A6D5EC) ## $at = 80A70000
/* 01DDC 80A6D02C C424D5EC */ lwc1 $f4, %lo(D_80A6D5EC)($at)
/* 01DE0 80A6D030 C6000024 */ lwc1 $f0, 0x0024($s0) ## 00000024
/* 01DE4 80A6D034 46002032 */ c.eq.s $f4, $f0
/* 01DE8 80A6D038 00000000 */ nop
/* 01DEC 80A6D03C 45020017 */ bc1fl .L80A6D09C
/* 01DF0 80A6D040 3C01445C */ lui $at, 0x445C ## $at = 445C0000
/* 01DF4 80A6D044 44806000 */ mtc1 $zero, $f12 ## $f12 = 0.00
/* 01DF8 80A6D048 3C0180A7 */ lui $at, %hi(D_80A6D5F0) ## $at = 80A70000
/* 01DFC 80A6D04C 46026032 */ c.eq.s $f12, $f2
/* 01E00 80A6D050 00000000 */ nop
/* 01E04 80A6D054 45020011 */ bc1fl .L80A6D09C
/* 01E08 80A6D058 3C01445C */ lui $at, 0x445C ## $at = 445C0000
/* 01E0C 80A6D05C C426D5F0 */ lwc1 $f6, %lo(D_80A6D5F0)($at)
/* 01E10 80A6D060 C608002C */ lwc1 $f8, 0x002C($s0) ## 0000002C
/* 01E14 80A6D064 3C014443 */ lui $at, 0x4443 ## $at = 44430000
/* 01E18 80A6D068 46083032 */ c.eq.s $f6, $f8
/* 01E1C 80A6D06C 00000000 */ nop
/* 01E20 80A6D070 4502000A */ bc1fl .L80A6D09C
/* 01E24 80A6D074 3C01445C */ lui $at, 0x445C ## $at = 445C0000
/* 01E28 80A6D078 44815000 */ mtc1 $at, $f10 ## $f10 = 880.00
/* 01E2C 80A6D07C 3C01C2A0 */ lui $at, 0xC2A0 ## $at = C2A00000
/* 01E30 80A6D080 44818000 */ mtc1 $at, $f16 ## $f16 = -80.00
/* 01E34 80A6D084 E7AC0068 */ swc1 $f12, 0x0068($sp)
/* 01E38 80A6D088 A7A00062 */ sh $zero, 0x0062($sp)
/* 01E3C 80A6D08C E7AA0064 */ swc1 $f10, 0x0064($sp)
/* 01E40 80A6D090 1000001A */ beq $zero, $zero, .L80A6D0FC
/* 01E44 80A6D094 E7B0006C */ swc1 $f16, 0x006C($sp)
/* 01E48 80A6D098 3C01445C */ lui $at, 0x445C ## $at = 445C0000
.L80A6D09C:
/* 01E4C 80A6D09C 44819000 */ mtc1 $at, $f18 ## $f18 = 880.00
/* 01E50 80A6D0A0 44806000 */ mtc1 $zero, $f12 ## $f12 = 0.00
/* 01E54 80A6D0A4 46009032 */ c.eq.s $f18, $f0
/* 01E58 80A6D0A8 00000000 */ nop
/* 01E5C 80A6D0AC 45000013 */ bc1f .L80A6D0FC
/* 01E60 80A6D0B0 00000000 */ nop
/* 01E64 80A6D0B4 46026032 */ c.eq.s $f12, $f2
/* 01E68 80A6D0B8 3C0180A7 */ lui $at, %hi(D_80A6D5F4) ## $at = 80A70000
/* 01E6C 80A6D0BC 4500000F */ bc1f .L80A6D0FC
/* 01E70 80A6D0C0 00000000 */ nop
/* 01E74 80A6D0C4 C424D5F4 */ lwc1 $f4, %lo(D_80A6D5F4)($at)
/* 01E78 80A6D0C8 C606002C */ lwc1 $f6, 0x002C($s0) ## 0000002C
/* 01E7C 80A6D0CC 3C01C47A */ lui $at, 0xC47A ## $at = C47A0000
/* 01E80 80A6D0D0 46062032 */ c.eq.s $f4, $f6
/* 01E84 80A6D0D4 00000000 */ nop
/* 01E88 80A6D0D8 45000008 */ bc1f .L80A6D0FC
/* 01E8C 80A6D0DC 00000000 */ nop
/* 01E90 80A6D0E0 44814000 */ mtc1 $at, $f8 ## $f8 = -1000.00
/* 01E94 80A6D0E4 3C01C28C */ lui $at, 0xC28C ## $at = C28C0000
/* 01E98 80A6D0E8 44815000 */ mtc1 $at, $f10 ## $f10 = -70.00
/* 01E9C 80A6D0EC E7AC0068 */ swc1 $f12, 0x0068($sp)
/* 01EA0 80A6D0F0 A7A00062 */ sh $zero, 0x0062($sp)
/* 01EA4 80A6D0F4 E7A80064 */ swc1 $f8, 0x0064($sp)
/* 01EA8 80A6D0F8 E7AA006C */ swc1 $f10, 0x006C($sp)
.L80A6D0FC:
/* 01EAC 80A6D0FC 0C29B322 */ jal func_80A6CC88
/* 01EB0 80A6D100 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 01EB4 80A6D104 860D00B4 */ lh $t5, 0x00B4($s0) ## 000000B4
/* 01EB8 80A6D108 87AE0062 */ lh $t6, 0x0062($sp)
/* 01EBC 80A6D10C C6000054 */ lwc1 $f0, 0x0054($s0) ## 00000054
/* 01EC0 80A6D110 8E050050 */ lw $a1, 0x0050($s0) ## 00000050
/* 01EC4 80A6D114 8E070058 */ lw $a3, 0x0058($s0) ## 00000058
/* 01EC8 80A6D118 AFAD0010 */ sw $t5, 0x0010($sp)
/* 01ECC 80A6D11C AFAE0014 */ sw $t6, 0x0014($sp)
/* 01ED0 80A6D120 860F00B8 */ lh $t7, 0x00B8($s0) ## 000000B8
/* 01ED4 80A6D124 C7B00064 */ lwc1 $f16, 0x0064($sp)
/* 01ED8 80A6D128 C7A60068 */ lwc1 $f6, 0x0068($sp)
/* 01EDC 80A6D12C AFAF0018 */ sw $t7, 0x0018($sp)
/* 01EE0 80A6D130 E7B0001C */ swc1 $f16, 0x001C($sp)
/* 01EE4 80A6D134 C61200BC */ lwc1 $f18, 0x00BC($s0) ## 000000BC
/* 01EE8 80A6D138 C7AA006C */ lwc1 $f10, 0x006C($sp)
/* 01EEC 80A6D13C 44060000 */ mfc1 $a2, $f0
/* 01EF0 80A6D140 46009102 */ mul.s $f4, $f18, $f0
/* 01EF4 80A6D144 27A40074 */ addiu $a0, $sp, 0x0074 ## $a0 = FFFFFFA4
/* 01EF8 80A6D148 E7AA0024 */ swc1 $f10, 0x0024($sp)
/* 01EFC 80A6D14C 46062200 */ add.s $f8, $f4, $f6
/* 01F00 80A6D150 0C029EC1 */ jal SkinMatrix_SetScaleRotateYRPTranslate
/* 01F04 80A6D154 E7A80020 */ swc1 $f8, 0x0020($sp)
/* 01F08 80A6D158 8E240000 */ lw $a0, 0x0000($s1) ## 00000000
/* 01F0C 80A6D15C 0C029F9C */ jal SkinMatrix_MtxFToNewMtx
/* 01F10 80A6D160 27A50074 */ addiu $a1, $sp, 0x0074 ## $a1 = FFFFFFA4
/* 01F14 80A6D164 10400075 */ beq $v0, $zero, .L80A6D33C
/* 01F18 80A6D168 8FA800C4 */ lw $t0, 0x00C4($sp)
/* 01F1C 80A6D16C 8D0402C0 */ lw $a0, 0x02C0($t0) ## 000002C0
/* 01F20 80A6D170 3C09DA38 */ lui $t1, 0xDA38 ## $t1 = DA380000
/* 01F24 80A6D174 3C198013 */ lui $t9, %hi(gMtxClear)
/* 01F28 80A6D178 24980008 */ addiu $t8, $a0, 0x0008 ## $t8 = 00000008
/* 01F2C 80A6D17C AD1802C0 */ sw $t8, 0x02C0($t0) ## 000002C0
/* 01F30 80A6D180 2739DB20 */ addiu $t9, %lo(gMtxClear)
/* 01F34 80A6D184 35290003 */ ori $t1, $t1, 0x0003 ## $t1 = DA380003
/* 01F38 80A6D188 AC890000 */ sw $t1, 0x0000($a0) ## 00000000
/* 01F3C 80A6D18C AC990004 */ sw $t9, 0x0004($a0) ## 00000004
/* 01F40 80A6D190 8D0402C0 */ lw $a0, 0x02C0($t0) ## 000002C0
/* 01F44 80A6D194 240B0001 */ addiu $t3, $zero, 0x0001 ## $t3 = 00000001
/* 01F48 80A6D198 240C0003 */ addiu $t4, $zero, 0x0003 ## $t4 = 00000003
/* 01F4C 80A6D19C 248A0008 */ addiu $t2, $a0, 0x0008 ## $t2 = 00000008
/* 01F50 80A6D1A0 AD0A02C0 */ sw $t2, 0x02C0($t0) ## 000002C0
/* 01F54 80A6D1A4 AC820004 */ sw $v0, 0x0004($a0) ## 00000004
/* 01F58 80A6D1A8 AC890000 */ sw $t1, 0x0000($a0) ## 00000000
/* 01F5C 80A6D1AC AFAC001C */ sw $t4, 0x001C($sp)
/* 01F60 80A6D1B0 AFA00018 */ sw $zero, 0x0018($sp)
/* 01F64 80A6D1B4 AFAB0014 */ sw $t3, 0x0014($sp)
/* 01F68 80A6D1B8 AFA00010 */ sw $zero, 0x0010($sp)
/* 01F6C 80A6D1BC 8FA60038 */ lw $a2, 0x0038($sp)
/* 01F70 80A6D1C0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01F74 80A6D1C4 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
/* 01F78 80A6D1C8 0C0298F3 */ jal func_800A63CC
/* 01F7C 80A6D1CC 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
/* 01F80 80A6D1D0 C7B00064 */ lwc1 $f16, 0x0064($sp)
/* 01F84 80A6D1D4 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 01F88 80A6D1D8 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60
/* 01F8C 80A6D1DC 4600848D */ trunc.w.s $f18, $f16
/* 01F90 80A6D1E0 02212821 */ addu $a1, $s1, $at
/* 01F94 80A6D1E4 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 01F98 80A6D1E8 260602D4 */ addiu $a2, $s0, 0x02D4 ## $a2 = 000002D4
/* 01F9C 80A6D1EC 440E9000 */ mfc1 $t6, $f18
/* 01FA0 80A6D1F0 00000000 */ nop
/* 01FA4 80A6D1F4 A60E031A */ sh $t6, 0x031A($s0) ## 0000031A
/* 01FA8 80A6D1F8 C7A40068 */ lwc1 $f4, 0x0068($sp)
/* 01FAC 80A6D1FC 4600218D */ trunc.w.s $f6, $f4
/* 01FB0 80A6D200 44183000 */ mfc1 $t8, $f6
/* 01FB4 80A6D204 00000000 */ nop
/* 01FB8 80A6D208 A618031C */ sh $t8, 0x031C($s0) ## 0000031C
/* 01FBC 80A6D20C C7A8006C */ lwc1 $f8, 0x006C($sp)
/* 01FC0 80A6D210 4600428D */ trunc.w.s $f10, $f8
/* 01FC4 80A6D214 440A5000 */ mfc1 $t2, $f10
/* 01FC8 80A6D218 0C017713 */ jal CollisionCheck_SetOC
## CollisionCheck_setOT
/* 01FCC 80A6D21C A60A031E */ sh $t2, 0x031E($s0) ## 0000031E
/* 01FD0 80A6D220 0C025011 */ jal func_80094044
/* 01FD4 80A6D224 8E240000 */ lw $a0, 0x0000($s1) ## 00000000
/* 01FD8 80A6D228 8FA400C4 */ lw $a0, 0x00C4($sp)
/* 01FDC 80A6D22C 3C0CFA00 */ lui $t4, 0xFA00 ## $t4 = FA000000
/* 01FE0 80A6D230 240D00FF */ addiu $t5, $zero, 0x00FF ## $t5 = 000000FF
/* 01FE4 80A6D234 8C8302D0 */ lw $v1, 0x02D0($a0) ## 000002D0
/* 01FE8 80A6D238 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
/* 01FEC 80A6D23C 246B0008 */ addiu $t3, $v1, 0x0008 ## $t3 = 00000008
/* 01FF0 80A6D240 AC8B02D0 */ sw $t3, 0x02D0($a0) ## 000002D0
/* 01FF4 80A6D244 AC6D0004 */ sw $t5, 0x0004($v1) ## 00000004
/* 01FF8 80A6D248 AC6C0000 */ sw $t4, 0x0000($v1) ## 00000000
/* 01FFC 80A6D24C 8FA6006C */ lw $a2, 0x006C($sp)
/* 02000 80A6D250 C7AE0068 */ lwc1 $f14, 0x0068($sp)
/* 02004 80A6D254 0C034261 */ jal Matrix_Translate
/* 02008 80A6D258 C7AC0064 */ lwc1 $f12, 0x0064($sp)
/* 0200C 80A6D25C 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 02010 80A6D260 44817000 */ mtc1 $at, $f14 ## $f14 = 1.00
/* 02014 80A6D264 3C0180A7 */ lui $at, %hi(D_80A6D5F8) ## $at = 80A70000
/* 02018 80A6D268 C432D5F8 */ lwc1 $f18, %lo(D_80A6D5F8)($at)
/* 0201C 80A6D26C C7B0005C */ lwc1 $f16, 0x005C($sp)
/* 02020 80A6D270 C60800C4 */ lwc1 $f8, 0x00C4($s0) ## 000000C4
/* 02024 80A6D274 C60A0050 */ lwc1 $f10, 0x0050($s0) ## 00000050
/* 02028 80A6D278 46128102 */ mul.s $f4, $f16, $f18
/* 0202C 80A6D27C C6100058 */ lwc1 $f16, 0x0058($s0) ## 00000058
/* 02030 80A6D280 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
/* 02034 80A6D284 46047181 */ sub.s $f6, $f14, $f4
/* 02038 80A6D288 46083002 */ mul.s $f0, $f6, $f8
/* 0203C 80A6D28C 00000000 */ nop
/* 02040 80A6D290 46005302 */ mul.s $f12, $f10, $f0
/* 02044 80A6D294 00000000 */ nop
/* 02048 80A6D298 46008482 */ mul.s $f18, $f16, $f0
/* 0204C 80A6D29C 44069000 */ mfc1 $a2, $f18
/* 02050 80A6D2A0 0C0342A3 */ jal Matrix_Scale
/* 02054 80A6D2A4 00000000 */ nop
/* 02058 80A6D2A8 87AE0062 */ lh $t6, 0x0062($sp)
/* 0205C 80A6D2AC 3C0180A7 */ lui $at, %hi(D_80A6D5FC) ## $at = 80A70000
/* 02060 80A6D2B0 C428D5FC */ lwc1 $f8, %lo(D_80A6D5FC)($at)
/* 02064 80A6D2B4 448E2000 */ mtc1 $t6, $f4 ## $f4 = 0.00
/* 02068 80A6D2B8 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
/* 0206C 80A6D2BC 468021A0 */ cvt.s.w $f6, $f4
/* 02070 80A6D2C0 46083302 */ mul.s $f12, $f6, $f8
/* 02074 80A6D2C4 0C034348 */ jal Matrix_RotateY
/* 02078 80A6D2C8 00000000 */ nop
/* 0207C 80A6D2CC 3C0580A7 */ lui $a1, %hi(D_80A6D578) ## $a1 = 80A70000
/* 02080 80A6D2D0 24A5D578 */ addiu $a1, $a1, %lo(D_80A6D578) ## $a1 = 80A6D578
/* 02084 80A6D2D4 8E240000 */ lw $a0, 0x0000($s1) ## 00000000
/* 02088 80A6D2D8 0C0346A2 */ jal Matrix_NewMtx
/* 0208C 80A6D2DC 24060919 */ addiu $a2, $zero, 0x0919 ## $a2 = 00000919
/* 02090 80A6D2E0 10400010 */ beq $v0, $zero, .L80A6D324
/* 02094 80A6D2E4 8FA500C4 */ lw $a1, 0x00C4($sp)
/* 02098 80A6D2E8 8CA302D0 */ lw $v1, 0x02D0($a1) ## 000002D0
/* 0209C 80A6D2EC 3C18DA38 */ lui $t8, 0xDA38 ## $t8 = DA380000
/* 020A0 80A6D2F0 37180003 */ ori $t8, $t8, 0x0003 ## $t8 = DA380003
/* 020A4 80A6D2F4 246F0008 */ addiu $t7, $v1, 0x0008 ## $t7 = 00000008
/* 020A8 80A6D2F8 ACAF02D0 */ sw $t7, 0x02D0($a1) ## 000002D0
/* 020AC 80A6D2FC AC620004 */ sw $v0, 0x0004($v1) ## 00000004
/* 020B0 80A6D300 AC780000 */ sw $t8, 0x0000($v1) ## 00000000
/* 020B4 80A6D304 8CA302D0 */ lw $v1, 0x02D0($a1) ## 000002D0
/* 020B8 80A6D308 3C0B0405 */ lui $t3, 0x0405 ## $t3 = 04050000
/* 020BC 80A6D30C 256B9AD0 */ addiu $t3, $t3, 0x9AD0 ## $t3 = 04049AD0
/* 020C0 80A6D310 24790008 */ addiu $t9, $v1, 0x0008 ## $t9 = 00000008
/* 020C4 80A6D314 ACB902D0 */ sw $t9, 0x02D0($a1) ## 000002D0
/* 020C8 80A6D318 3C0ADE00 */ lui $t2, 0xDE00 ## $t2 = DE000000
/* 020CC 80A6D31C AC6A0000 */ sw $t2, 0x0000($v1) ## 00000000
/* 020D0 80A6D320 AC6B0004 */ sw $t3, 0x0004($v1) ## 00000004
.L80A6D324:
/* 020D4 80A6D324 3C0680A7 */ lui $a2, %hi(D_80A6D590) ## $a2 = 80A70000
/* 020D8 80A6D328 24C6D590 */ addiu $a2, $a2, %lo(D_80A6D590) ## $a2 = 80A6D590
/* 020DC 80A6D32C 27A400B4 */ addiu $a0, $sp, 0x00B4 ## $a0 = FFFFFFE4
/* 020E0 80A6D330 8E250000 */ lw $a1, 0x0000($s1) ## 00000000
/* 020E4 80A6D334 0C031AD5 */ jal Graph_CloseDisps
/* 020E8 80A6D338 24070923 */ addiu $a3, $zero, 0x0923 ## $a3 = 00000923
.L80A6D33C:
/* 020EC 80A6D33C 8FBF0034 */ lw $ra, 0x0034($sp)
/* 020F0 80A6D340 8FB0002C */ lw $s0, 0x002C($sp)
/* 020F4 80A6D344 8FB10030 */ lw $s1, 0x0030($sp)
/* 020F8 80A6D348 03E00008 */ jr $ra
/* 020FC 80A6D34C 27BD00D0 */ addiu $sp, $sp, 0x00D0 ## $sp = 00000000

View file

@ -1,363 +0,0 @@
.late_rodata
glabel D_80A6D5B0
.word 0xC4368000
glabel D_80A6D5B4
.word 0xC4898000
glabel D_80A6D5B8
.word 0xC4924000
glabel D_80A6D5BC
.word 0x4567B000
glabel D_80A6D5C0
.word 0x44B0A000
glabel D_80A6D5C4
.word 0xC4264000
.text
glabel EnHorseNormal_Init
/* 00180 80A6B3D0 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8
/* 00184 80A6B3D4 AFA5003C */ sw $a1, 0x003C($sp)
/* 00188 80A6B3D8 AFBF0024 */ sw $ra, 0x0024($sp)
/* 0018C 80A6B3DC AFB00020 */ sw $s0, 0x0020($sp)
/* 00190 80A6B3E0 3C0580A7 */ lui $a1, %hi(D_80A6D4EC) ## $a1 = 80A70000
/* 00194 80A6B3E4 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00198 80A6B3E8 0C01E037 */ jal Actor_ProcessInitChain
/* 0019C 80A6B3EC 24A5D4EC */ addiu $a1, $a1, %lo(D_80A6D4EC) ## $a1 = 80A6D4EC
/* 001A0 80A6B3F0 3C053C23 */ lui $a1, 0x3C23 ## $a1 = 3C230000
/* 001A4 80A6B3F4 34A5D70A */ ori $a1, $a1, 0xD70A ## $a1 = 3C23D70A
/* 001A8 80A6B3F8 0C00B58B */ jal Actor_SetScale
/* 001AC 80A6B3FC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 001B0 80A6B400 3C01C060 */ lui $at, 0xC060 ## $at = C0600000
/* 001B4 80A6B404 44812000 */ mtc1 $at, $f4 ## $f4 = -3.50
/* 001B8 80A6B408 3C068003 */ lui $a2, %hi(ActorShadow_DrawFunc_Squiggly)
/* 001BC 80A6B40C 24C6B644 */ addiu $a2, %lo(ActorShadow_DrawFunc_Squiggly)
/* 001C0 80A6B410 260400B4 */ addiu $a0, $s0, 0x00B4 ## $a0 = 000000B4
/* 001C4 80A6B414 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
/* 001C8 80A6B418 3C0741A0 */ lui $a3, 0x41A0 ## $a3 = 41A00000
/* 001CC 80A6B41C 0C00AC78 */ jal ActorShape_Init
/* 001D0 80A6B420 E604006C */ swc1 $f4, 0x006C($s0) ## 0000006C
/* 001D4 80A6B424 8E0E0028 */ lw $t6, 0x0028($s0) ## 00000028
/* 001D8 80A6B428 3C01428C */ lui $at, 0x428C ## $at = 428C0000
/* 001DC 80A6B42C 8E0F0024 */ lw $t7, 0x0024($s0) ## 00000024
/* 001E0 80A6B430 AE0E003C */ sw $t6, 0x003C($s0) ## 0000003C
/* 001E4 80A6B434 C608003C */ lwc1 $f8, 0x003C($s0) ## 0000003C
/* 001E8 80A6B438 44815000 */ mtc1 $at, $f10 ## $f10 = 70.00
/* 001EC 80A6B43C AE0F0038 */ sw $t7, 0x0038($s0) ## 00000038
/* 001F0 80A6B440 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00
/* 001F4 80A6B444 460A4400 */ add.s $f16, $f8, $f10
/* 001F8 80A6B448 8E0F002C */ lw $t7, 0x002C($s0) ## 0000002C
/* 001FC 80A6B44C AE00014C */ sw $zero, 0x014C($s0) ## 0000014C
/* 00200 80A6B450 AE000150 */ sw $zero, 0x0150($s0) ## 00000150
/* 00204 80A6B454 E610003C */ swc1 $f16, 0x003C($s0) ## 0000003C
/* 00208 80A6B458 26050228 */ addiu $a1, $s0, 0x0228 ## $a1 = 00000228
/* 0020C 80A6B45C E6060068 */ swc1 $f6, 0x0068($s0) ## 00000068
/* 00210 80A6B460 AE0F0040 */ sw $t7, 0x0040($s0) ## 00000040
/* 00214 80A6B464 AFA50028 */ sw $a1, 0x0028($sp)
/* 00218 80A6B468 0C0170D9 */ jal Collider_InitCylinder
/* 0021C 80A6B46C 8FA4003C */ lw $a0, 0x003C($sp)
/* 00220 80A6B470 3C0780A7 */ lui $a3, %hi(D_80A6D394) ## $a3 = 80A70000
/* 00224 80A6B474 8FA50028 */ lw $a1, 0x0028($sp)
/* 00228 80A6B478 24E7D394 */ addiu $a3, $a3, %lo(D_80A6D394) ## $a3 = 80A6D394
/* 0022C 80A6B47C 8FA4003C */ lw $a0, 0x003C($sp)
/* 00230 80A6B480 0C01712B */ jal Collider_SetCylinder
/* 00234 80A6B484 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
/* 00238 80A6B488 26050274 */ addiu $a1, $s0, 0x0274 ## $a1 = 00000274
/* 0023C 80A6B48C AFA50028 */ sw $a1, 0x0028($sp)
/* 00240 80A6B490 0C016EFE */ jal Collider_InitJntSph
/* 00244 80A6B494 8FA4003C */ lw $a0, 0x003C($sp)
/* 00248 80A6B498 3C0780A7 */ lui $a3, %hi(D_80A6D410) ## $a3 = 80A70000
/* 0024C 80A6B49C 26180294 */ addiu $t8, $s0, 0x0294 ## $t8 = 00000294
/* 00250 80A6B4A0 8FA50028 */ lw $a1, 0x0028($sp)
/* 00254 80A6B4A4 AFB80010 */ sw $t8, 0x0010($sp)
/* 00258 80A6B4A8 24E7D410 */ addiu $a3, $a3, %lo(D_80A6D410) ## $a3 = 80A6D410
/* 0025C 80A6B4AC 8FA4003C */ lw $a0, 0x003C($sp)
/* 00260 80A6B4B0 0C017014 */ jal Collider_SetJntSph
/* 00264 80A6B4B4 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
/* 00268 80A6B4B8 260502D4 */ addiu $a1, $s0, 0x02D4 ## $a1 = 000002D4
/* 0026C 80A6B4BC AFA50028 */ sw $a1, 0x0028($sp)
/* 00270 80A6B4C0 0C0170D9 */ jal Collider_InitCylinder
/* 00274 80A6B4C4 8FA4003C */ lw $a0, 0x003C($sp)
/* 00278 80A6B4C8 3C0780A7 */ lui $a3, %hi(D_80A6D3C0) ## $a3 = 80A70000
/* 0027C 80A6B4CC 8FA50028 */ lw $a1, 0x0028($sp)
/* 00280 80A6B4D0 24E7D3C0 */ addiu $a3, $a3, %lo(D_80A6D3C0) ## $a3 = 80A6D3C0
/* 00284 80A6B4D4 8FA4003C */ lw $a0, 0x003C($sp)
/* 00288 80A6B4D8 0C01712B */ jal Collider_SetCylinder
/* 0028C 80A6B4DC 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
/* 00290 80A6B4E0 3C0680A7 */ lui $a2, %hi(D_80A6D420) ## $a2 = 80A70000
/* 00294 80A6B4E4 24C6D420 */ addiu $a2, $a2, %lo(D_80A6D420) ## $a2 = 80A6D420
/* 00298 80A6B4E8 26040098 */ addiu $a0, $s0, 0x0098 ## $a0 = 00000098
/* 0029C 80A6B4EC 0C0187B5 */ jal func_80061ED4
/* 002A0 80A6B4F0 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 002A4 80A6B4F4 8FB9003C */ lw $t9, 0x003C($sp)
/* 002A8 80A6B4F8 24010063 */ addiu $at, $zero, 0x0063 ## $at = 00000063
/* 002AC 80A6B4FC 872200A4 */ lh $v0, 0x00A4($t9) ## 000000A4
/* 002B0 80A6B500 5441007A */ bnel $v0, $at, .L80A6B6EC
/* 002B4 80A6B504 24010036 */ addiu $at, $zero, 0x0036 ## $at = 00000036
/* 002B8 80A6B508 86080034 */ lh $t0, 0x0034($s0) ## 00000034
/* 002BC 80A6B50C 3C028016 */ lui $v0, %hi(gSaveContext)
/* 002C0 80A6B510 2442E660 */ addiu $v0, %lo(gSaveContext)
/* 002C4 80A6B514 11000004 */ beq $t0, $zero, .L80A6B528
/* 002C8 80A6B518 00000000 */ nop
/* 002CC 80A6B51C 8C490010 */ lw $t1, 0x0010($v0) ## 8015E670
/* 002D0 80A6B520 51200006 */ beql $t1, $zero, .L80A6B53C
/* 002D4 80A6B524 8C4A0004 */ lw $t2, 0x0004($v0) ## 8015E664
.L80A6B528:
/* 002D8 80A6B528 0C00B55C */ jal Actor_Kill
/* 002DC 80A6B52C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 002E0 80A6B530 100000DE */ beq $zero, $zero, .L80A6B8AC
/* 002E4 80A6B534 8FBF0024 */ lw $ra, 0x0024($sp)
/* 002E8 80A6B538 8C4A0004 */ lw $t2, 0x0004($v0) ## 00000004
.L80A6B53C:
/* 002EC 80A6B53C 11400015 */ beq $t2, $zero, .L80A6B594
/* 002F0 80A6B540 00000000 */ nop
/* 002F4 80A6B544 0C00D6D3 */ jal Flags_GetEventChkInf
/* 002F8 80A6B548 24040014 */ addiu $a0, $zero, 0x0014 ## $a0 = 00000014
/* 002FC 80A6B54C 5040000A */ beql $v0, $zero, .L80A6B578
/* 00300 80A6B550 860C0034 */ lh $t4, 0x0034($s0) ## 00000034
/* 00304 80A6B554 860B0034 */ lh $t3, 0x0034($s0) ## 00000034
/* 00308 80A6B558 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
/* 0030C 80A6B55C 51610026 */ beql $t3, $at, .L80A6B5F8
/* 00310 80A6B560 A60000B8 */ sh $zero, 0x00B8($s0) ## 000000B8
/* 00314 80A6B564 0C00B55C */ jal Actor_Kill
/* 00318 80A6B568 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 0031C 80A6B56C 100000CF */ beq $zero, $zero, .L80A6B8AC
/* 00320 80A6B570 8FBF0024 */ lw $ra, 0x0024($sp)
/* 00324 80A6B574 860C0034 */ lh $t4, 0x0034($s0) ## 00000034
.L80A6B578:
/* 00328 80A6B578 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 0032C 80A6B57C 5181001E */ beql $t4, $at, .L80A6B5F8
/* 00330 80A6B580 A60000B8 */ sh $zero, 0x00B8($s0) ## 000000B8
/* 00334 80A6B584 0C00B55C */ jal Actor_Kill
/* 00338 80A6B588 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 0033C 80A6B58C 100000C7 */ beq $zero, $zero, .L80A6B8AC
/* 00340 80A6B590 8FBF0024 */ lw $ra, 0x0024($sp)
.L80A6B594:
/* 00344 80A6B594 0C00D6D3 */ jal Flags_GetEventChkInf
/* 00348 80A6B598 24040018 */ addiu $a0, $zero, 0x0018 ## $a0 = 00000018
/* 0034C 80A6B59C 14400005 */ bne $v0, $zero, .L80A6B5B4
/* 00350 80A6B5A0 3C0D8016 */ lui $t5, %hi(gGameInfo)
/* 00354 80A6B5A4 8DADFA90 */ lw $t5, %lo(gGameInfo)($t5)
/* 00358 80A6B5A8 85AE0556 */ lh $t6, 0x0556($t5) ## 80160556
/* 0035C 80A6B5AC 51C0000A */ beql $t6, $zero, .L80A6B5D8
/* 00360 80A6B5B0 86180034 */ lh $t8, 0x0034($s0) ## 00000034
.L80A6B5B4:
/* 00364 80A6B5B4 860F0034 */ lh $t7, 0x0034($s0) ## 00000034
/* 00368 80A6B5B8 24010007 */ addiu $at, $zero, 0x0007 ## $at = 00000007
/* 0036C 80A6B5BC 51E1000E */ beql $t7, $at, .L80A6B5F8
/* 00370 80A6B5C0 A60000B8 */ sh $zero, 0x00B8($s0) ## 000000B8
/* 00374 80A6B5C4 0C00B55C */ jal Actor_Kill
/* 00378 80A6B5C8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 0037C 80A6B5CC 100000B7 */ beq $zero, $zero, .L80A6B8AC
/* 00380 80A6B5D0 8FBF0024 */ lw $ra, 0x0024($sp)
/* 00384 80A6B5D4 86180034 */ lh $t8, 0x0034($s0) ## 00000034
.L80A6B5D8:
/* 00388 80A6B5D8 24010005 */ addiu $at, $zero, 0x0005 ## $at = 00000005
/* 0038C 80A6B5DC 53010006 */ beql $t8, $at, .L80A6B5F8
/* 00390 80A6B5E0 A60000B8 */ sh $zero, 0x00B8($s0) ## 000000B8
/* 00394 80A6B5E4 0C00B55C */ jal Actor_Kill
/* 00398 80A6B5E8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 0039C 80A6B5EC 100000AF */ beq $zero, $zero, .L80A6B8AC
/* 003A0 80A6B5F0 8FBF0024 */ lw $ra, 0x0024($sp)
/* 003A4 80A6B5F4 A60000B8 */ sh $zero, 0x00B8($s0) ## 000000B8
.L80A6B5F8:
/* 003A8 80A6B5F8 860200B8 */ lh $v0, 0x00B8($s0) ## 000000B8
/* 003AC 80A6B5FC 3C060601 */ lui $a2, 0x0601 ## $a2 = 06010000
/* 003B0 80A6B600 3C070600 */ lui $a3, 0x0600 ## $a3 = 06000000
/* 003B4 80A6B604 A6020034 */ sh $v0, 0x0034($s0) ## 00000034
/* 003B8 80A6B608 A6020018 */ sh $v0, 0x0018($s0) ## 00000018
/* 003BC 80A6B60C 8FA4003C */ lw $a0, 0x003C($sp)
/* 003C0 80A6B610 24E74580 */ addiu $a3, $a3, 0x4580 ## $a3 = 06004580
/* 003C4 80A6B614 24C69FAC */ addiu $a2, $a2, 0x9FAC ## $a2 = 06009FAC
/* 003C8 80A6B618 0C02998F */ jal func_800A663C
/* 003CC 80A6B61C 26050154 */ addiu $a1, $s0, 0x0154 ## $a1 = 00000154
/* 003D0 80A6B620 8E190150 */ lw $t9, 0x0150($s0) ## 00000150
/* 003D4 80A6B624 3C0580A7 */ lui $a1, %hi(D_80A6D370) ## $a1 = 80A70000
/* 003D8 80A6B628 260401A0 */ addiu $a0, $s0, 0x01A0 ## $a0 = 000001A0
/* 003DC 80A6B62C 00194080 */ sll $t0, $t9, 2
/* 003E0 80A6B630 00A82821 */ addu $a1, $a1, $t0
/* 003E4 80A6B634 0C02947A */ jal SkelAnime_ChangeAnimDefaultStop
/* 003E8 80A6B638 8CA5D370 */ lw $a1, %lo(D_80A6D370)($a1)
/* 003EC 80A6B63C 3C0180A7 */ lui $at, %hi(D_80A6D5B0) ## $at = 80A70000
/* 003F0 80A6B640 C432D5B0 */ lwc1 $f18, %lo(D_80A6D5B0)($at)
/* 003F4 80A6B644 C6000024 */ lwc1 $f0, 0x0024($s0) ## 00000024
/* 003F8 80A6B648 46009032 */ c.eq.s $f18, $f0
/* 003FC 80A6B64C 00000000 */ nop
/* 00400 80A6B650 4502000E */ bc1fl .L80A6B68C
/* 00404 80A6B654 3C01445C */ lui $at, 0x445C ## $at = 445C0000
/* 00408 80A6B658 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
/* 0040C 80A6B65C C6060028 */ lwc1 $f6, 0x0028($s0) ## 00000028
/* 00410 80A6B660 3C0180A7 */ lui $at, %hi(D_80A6D5B4) ## $at = 80A70000
/* 00414 80A6B664 46062032 */ c.eq.s $f4, $f6
/* 00418 80A6B668 00000000 */ nop
/* 0041C 80A6B66C 45020007 */ bc1fl .L80A6B68C
/* 00420 80A6B670 3C01445C */ lui $at, 0x445C ## $at = 445C0000
/* 00424 80A6B674 C428D5B4 */ lwc1 $f8, %lo(D_80A6D5B4)($at)
/* 00428 80A6B678 C60A002C */ lwc1 $f10, 0x002C($s0) ## 0000002C
/* 0042C 80A6B67C 460A4032 */ c.eq.s $f8, $f10
/* 00430 80A6B680 00000000 */ nop
/* 00434 80A6B684 45010014 */ bc1t .L80A6B6D8
/* 00438 80A6B688 3C01445C */ lui $at, 0x445C ## $at = 445C0000
.L80A6B68C:
/* 0043C 80A6B68C 44818000 */ mtc1 $at, $f16 ## $f16 = 880.00
/* 00440 80A6B690 00000000 */ nop
/* 00444 80A6B694 46008032 */ c.eq.s $f16, $f0
/* 00448 80A6B698 00000000 */ nop
/* 0044C 80A6B69C 45020075 */ bc1fl .L80A6B874
/* 00450 80A6B6A0 8602001C */ lh $v0, 0x001C($s0) ## 0000001C
/* 00454 80A6B6A4 44809000 */ mtc1 $zero, $f18 ## $f18 = 0.00
/* 00458 80A6B6A8 C6040028 */ lwc1 $f4, 0x0028($s0) ## 00000028
/* 0045C 80A6B6AC 3C0180A7 */ lui $at, %hi(D_80A6D5B8) ## $at = 80A70000
/* 00460 80A6B6B0 46049032 */ c.eq.s $f18, $f4
/* 00464 80A6B6B4 00000000 */ nop
/* 00468 80A6B6B8 4502006E */ bc1fl .L80A6B874
/* 0046C 80A6B6BC 8602001C */ lh $v0, 0x001C($s0) ## 0000001C
/* 00470 80A6B6C0 C426D5B8 */ lwc1 $f6, %lo(D_80A6D5B8)($at)
/* 00474 80A6B6C4 C608002C */ lwc1 $f8, 0x002C($s0) ## 0000002C
/* 00478 80A6B6C8 46083032 */ c.eq.s $f6, $f8
/* 0047C 80A6B6CC 00000000 */ nop
/* 00480 80A6B6D0 45020068 */ bc1fl .L80A6B874
/* 00484 80A6B6D4 8602001C */ lh $v0, 0x001C($s0) ## 0000001C
.L80A6B6D8:
/* 00488 80A6B6D8 0C29B1AC */ jal func_80A6C6B0
/* 0048C 80A6B6DC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00490 80A6B6E0 10000072 */ beq $zero, $zero, .L80A6B8AC
/* 00494 80A6B6E4 8FBF0024 */ lw $ra, 0x0024($sp)
/* 00498 80A6B6E8 24010036 */ addiu $at, $zero, 0x0036 ## $at = 00000036
.L80A6B6EC:
/* 0049C 80A6B6EC 5441001C */ bnel $v0, $at, .L80A6B760
/* 004A0 80A6B6F0 2401005D */ addiu $at, $zero, 0x005D ## $at = 0000005D
/* 004A4 80A6B6F4 3C028016 */ lui $v0, %hi(gSaveContext)
/* 004A8 80A6B6F8 2442E660 */ addiu $v0, %lo(gSaveContext)
/* 004AC 80A6B6FC 8C490010 */ lw $t1, 0x0010($v0) ## 8015E670
/* 004B0 80A6B700 8FA4003C */ lw $a0, 0x003C($sp)
/* 004B4 80A6B704 26050154 */ addiu $a1, $s0, 0x0154 ## $a1 = 00000154
/* 004B8 80A6B708 15200005 */ bne $t1, $zero, .L80A6B720
/* 004BC 80A6B70C 3C060601 */ lui $a2, 0x0601 ## $a2 = 06010000
/* 004C0 80A6B710 0C00B55C */ jal Actor_Kill
/* 004C4 80A6B714 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 004C8 80A6B718 10000064 */ beq $zero, $zero, .L80A6B8AC
/* 004CC 80A6B71C 8FBF0024 */ lw $ra, 0x0024($sp)
.L80A6B720:
/* 004D0 80A6B720 3C070600 */ lui $a3, 0x0600 ## $a3 = 06000000
/* 004D4 80A6B724 24E74580 */ addiu $a3, $a3, 0x4580 ## $a3 = 06004580
/* 004D8 80A6B728 0C02998F */ jal func_800A663C
/* 004DC 80A6B72C 24C69FAC */ addiu $a2, $a2, 0x9FAC ## $a2 = FFFF9FAC
/* 004E0 80A6B730 8E0A0150 */ lw $t2, 0x0150($s0) ## 00000150
/* 004E4 80A6B734 3C0580A7 */ lui $a1, %hi(D_80A6D370) ## $a1 = 80A70000
/* 004E8 80A6B738 260401A0 */ addiu $a0, $s0, 0x01A0 ## $a0 = 000001A0
/* 004EC 80A6B73C 000A5880 */ sll $t3, $t2, 2
/* 004F0 80A6B740 00AB2821 */ addu $a1, $a1, $t3
/* 004F4 80A6B744 0C02947A */ jal SkelAnime_ChangeAnimDefaultStop
/* 004F8 80A6B748 8CA5D370 */ lw $a1, %lo(D_80A6D370)($a1)
/* 004FC 80A6B74C 0C29B1AC */ jal func_80A6C6B0
/* 00500 80A6B750 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00504 80A6B754 10000055 */ beq $zero, $zero, .L80A6B8AC
/* 00508 80A6B758 8FBF0024 */ lw $ra, 0x0024($sp)
/* 0050C 80A6B75C 2401005D */ addiu $at, $zero, 0x005D ## $at = 0000005D
.L80A6B760:
/* 00510 80A6B760 14410036 */ bne $v0, $at, .L80A6B83C
/* 00514 80A6B764 8FA4003C */ lw $a0, 0x003C($sp)
/* 00518 80A6B768 3C0180A7 */ lui $at, %hi(D_80A6D5BC) ## $at = 80A70000
/* 0051C 80A6B76C C42AD5BC */ lwc1 $f10, %lo(D_80A6D5BC)($at)
/* 00520 80A6B770 C6100024 */ lwc1 $f16, 0x0024($s0) ## 00000024
/* 00524 80A6B774 3C060601 */ lui $a2, 0x0601 ## $a2 = 06010000
/* 00528 80A6B778 3C0180A7 */ lui $at, %hi(D_80A6D5C0) ## $at = 80A70000
/* 0052C 80A6B77C 46105032 */ c.eq.s $f10, $f16
/* 00530 80A6B780 24C69FAC */ addiu $a2, $a2, 0x9FAC ## $a2 = 06009FAC
/* 00534 80A6B784 8FA4003C */ lw $a0, 0x003C($sp)
/* 00538 80A6B788 26050154 */ addiu $a1, $s0, 0x0154 ## $a1 = 00000154
/* 0053C 80A6B78C 45000020 */ bc1f .L80A6B810
/* 00540 80A6B790 3C070600 */ lui $a3, 0x0600 ## $a3 = 06000000
/* 00544 80A6B794 C432D5C0 */ lwc1 $f18, %lo(D_80A6D5C0)($at)
/* 00548 80A6B798 C6040028 */ lwc1 $f4, 0x0028($s0) ## 00000028
/* 0054C 80A6B79C 3C0180A7 */ lui $at, %hi(D_80A6D5C4) ## $at = 80A70000
/* 00550 80A6B7A0 46049032 */ c.eq.s $f18, $f4
/* 00554 80A6B7A4 00000000 */ nop
/* 00558 80A6B7A8 45000019 */ bc1f .L80A6B810
/* 0055C 80A6B7AC 00000000 */ nop
/* 00560 80A6B7B0 C426D5C4 */ lwc1 $f6, %lo(D_80A6D5C4)($at)
/* 00564 80A6B7B4 C608002C */ lwc1 $f8, 0x002C($s0) ## 0000002C
/* 00568 80A6B7B8 46083032 */ c.eq.s $f6, $f8
/* 0056C 80A6B7BC 00000000 */ nop
/* 00570 80A6B7C0 45000013 */ bc1f .L80A6B810
/* 00574 80A6B7C4 00000000 */ nop
/* 00578 80A6B7C8 3C060601 */ lui $a2, 0x0601 ## $a2 = 06010000
/* 0057C 80A6B7CC 3C070600 */ lui $a3, 0x0600 ## $a3 = 06000000
/* 00580 80A6B7D0 24E74580 */ addiu $a3, $a3, 0x4580 ## $a3 = 06004580
/* 00584 80A6B7D4 24C69FAC */ addiu $a2, $a2, 0x9FAC ## $a2 = 06009FAC
/* 00588 80A6B7D8 8FA4003C */ lw $a0, 0x003C($sp)
/* 0058C 80A6B7DC 0C02998F */ jal func_800A663C
/* 00590 80A6B7E0 26050154 */ addiu $a1, $s0, 0x0154 ## $a1 = 00000154
/* 00594 80A6B7E4 8E0C0150 */ lw $t4, 0x0150($s0) ## 00000150
/* 00598 80A6B7E8 3C0580A7 */ lui $a1, %hi(D_80A6D370) ## $a1 = 80A70000
/* 0059C 80A6B7EC 260401A0 */ addiu $a0, $s0, 0x01A0 ## $a0 = 000001A0
/* 005A0 80A6B7F0 000C6880 */ sll $t5, $t4, 2
/* 005A4 80A6B7F4 00AD2821 */ addu $a1, $a1, $t5
/* 005A8 80A6B7F8 0C02947A */ jal SkelAnime_ChangeAnimDefaultStop
/* 005AC 80A6B7FC 8CA5D370 */ lw $a1, %lo(D_80A6D370)($a1)
/* 005B0 80A6B800 0C29B133 */ jal func_80A6C4CC
/* 005B4 80A6B804 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 005B8 80A6B808 10000028 */ beq $zero, $zero, .L80A6B8AC
/* 005BC 80A6B80C 8FBF0024 */ lw $ra, 0x0024($sp)
.L80A6B810:
/* 005C0 80A6B810 0C02998F */ jal func_800A663C
/* 005C4 80A6B814 24E74580 */ addiu $a3, $a3, 0x4580 ## $a3 = 00004580
/* 005C8 80A6B818 8E0E0150 */ lw $t6, 0x0150($s0) ## 00000150
/* 005CC 80A6B81C 3C0580A7 */ lui $a1, %hi(D_80A6D370) ## $a1 = 80A70000
/* 005D0 80A6B820 260401A0 */ addiu $a0, $s0, 0x01A0 ## $a0 = 000001A0
/* 005D4 80A6B824 000E7880 */ sll $t7, $t6, 2
/* 005D8 80A6B828 00AF2821 */ addu $a1, $a1, $t7
/* 005DC 80A6B82C 0C02947A */ jal SkelAnime_ChangeAnimDefaultStop
/* 005E0 80A6B830 8CA5D370 */ lw $a1, %lo(D_80A6D370)($a1)
/* 005E4 80A6B834 1000000F */ beq $zero, $zero, .L80A6B874
/* 005E8 80A6B838 8602001C */ lh $v0, 0x001C($s0) ## 0000001C
.L80A6B83C:
/* 005EC 80A6B83C 3C060601 */ lui $a2, 0x0601 ## $a2 = 06010000
/* 005F0 80A6B840 3C070600 */ lui $a3, 0x0600 ## $a3 = 06000000
/* 005F4 80A6B844 24E74580 */ addiu $a3, $a3, 0x4580 ## $a3 = 06004580
/* 005F8 80A6B848 24C69FAC */ addiu $a2, $a2, 0x9FAC ## $a2 = 06009FAC
/* 005FC 80A6B84C 0C02998F */ jal func_800A663C
/* 00600 80A6B850 26050154 */ addiu $a1, $s0, 0x0154 ## $a1 = 00000154
/* 00604 80A6B854 8E180150 */ lw $t8, 0x0150($s0) ## 00000150
/* 00608 80A6B858 3C0580A7 */ lui $a1, %hi(D_80A6D370) ## $a1 = 80A70000
/* 0060C 80A6B85C 260401A0 */ addiu $a0, $s0, 0x01A0 ## $a0 = 000001A0
/* 00610 80A6B860 0018C880 */ sll $t9, $t8, 2
/* 00614 80A6B864 00B92821 */ addu $a1, $a1, $t9
/* 00618 80A6B868 0C02947A */ jal SkelAnime_ChangeAnimDefaultStop
/* 0061C 80A6B86C 8CA5D370 */ lw $a1, %lo(D_80A6D370)($a1)
/* 00620 80A6B870 8602001C */ lh $v0, 0x001C($s0) ## 0000001C
.L80A6B874:
/* 00624 80A6B874 24010010 */ addiu $at, $zero, 0x0010 ## $at = 00000010
/* 00628 80A6B878 304800F0 */ andi $t0, $v0, 0x00F0 ## $t0 = 00000000
/* 0062C 80A6B87C 15010008 */ bne $t0, $at, .L80A6B8A0
/* 00630 80A6B880 3049000F */ andi $t1, $v0, 0x000F ## $t1 = 00000000
/* 00634 80A6B884 2401000F */ addiu $at, $zero, 0x000F ## $at = 0000000F
/* 00638 80A6B888 11210005 */ beq $t1, $at, .L80A6B8A0
/* 0063C 80A6B88C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00640 80A6B890 0C29AE47 */ jal func_80A6B91C
/* 00644 80A6B894 8FA5003C */ lw $a1, 0x003C($sp)
/* 00648 80A6B898 10000004 */ beq $zero, $zero, .L80A6B8AC
/* 0064C 80A6B89C 8FBF0024 */ lw $ra, 0x0024($sp)
.L80A6B8A0:
/* 00650 80A6B8A0 0C29AF12 */ jal func_80A6BC48
/* 00654 80A6B8A4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00658 80A6B8A8 8FBF0024 */ lw $ra, 0x0024($sp)
.L80A6B8AC:
/* 0065C 80A6B8AC 8FB00020 */ lw $s0, 0x0020($sp)
/* 00660 80A6B8B0 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000
/* 00664 80A6B8B4 03E00008 */ jr $ra
/* 00668 80A6B8B8 00000000 */ nop

View file

@ -1,92 +0,0 @@
glabel EnHorseNormal_Update
/* 01758 80A6C9A8 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8
/* 0175C 80A6C9AC AFB0001C */ sw $s0, 0x001C($sp)
/* 01760 80A6C9B0 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 01764 80A6C9B4 AFBF0024 */ sw $ra, 0x0024($sp)
/* 01768 80A6C9B8 AFB10020 */ sw $s1, 0x0020($sp)
/* 0176C 80A6C9BC 8E0E014C */ lw $t6, 0x014C($s0) ## 0000014C
/* 01770 80A6C9C0 3C1980A7 */ lui $t9, %hi(D_80A6D534) ## $t9 = 80A70000
/* 01774 80A6C9C4 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
/* 01778 80A6C9C8 000E7880 */ sll $t7, $t6, 2
/* 0177C 80A6C9CC 032FC821 */ addu $t9, $t9, $t7
/* 01780 80A6C9D0 8F39D534 */ lw $t9, %lo(D_80A6D534)($t9)
/* 01784 80A6C9D4 0320F809 */ jalr $ra, $t9
/* 01788 80A6C9D8 00000000 */ nop
/* 0178C 80A6C9DC 0C00B638 */ jal Actor_MoveForward
/* 01790 80A6C9E0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01794 80A6C9E4 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000
/* 01798 80A6C9E8 44812000 */ mtc1 $at, $f4 ## $f4 = 100.00
/* 0179C 80A6C9EC 2418001D */ addiu $t8, $zero, 0x001D ## $t8 = 0000001D
/* 017A0 80A6C9F0 AFB80014 */ sw $t8, 0x0014($sp)
/* 017A4 80A6C9F4 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 017A8 80A6C9F8 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 017AC 80A6C9FC 3C0641A0 */ lui $a2, 0x41A0 ## $a2 = 41A00000
/* 017B0 80A6CA00 3C07420C */ lui $a3, 0x420C ## $a3 = 420C0000
/* 017B4 80A6CA04 0C00B92D */ jal func_8002E4B4
/* 017B8 80A6CA08 E7A40010 */ swc1 $f4, 0x0010($sp)
/* 017BC 80A6CA0C 862800A4 */ lh $t0, 0x00A4($s1) ## 000000A4
/* 017C0 80A6CA10 24010063 */ addiu $at, $zero, 0x0063 ## $at = 00000063
/* 017C4 80A6CA14 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 017C8 80A6CA18 15010009 */ bne $t0, $at, .L80A6CA40
/* 017CC 80A6CA1C 26060228 */ addiu $a2, $s0, 0x0228 ## $a2 = 00000228
/* 017D0 80A6CA20 3C01C516 */ lui $at, 0xC516 ## $at = C5160000
/* 017D4 80A6CA24 44810000 */ mtc1 $at, $f0 ## $f0 = -2400.00
/* 017D8 80A6CA28 C606002C */ lwc1 $f6, 0x002C($s0) ## 0000002C
/* 017DC 80A6CA2C 4600303C */ c.lt.s $f6, $f0
/* 017E0 80A6CA30 00000000 */ nop
/* 017E4 80A6CA34 45020003 */ bc1fl .L80A6CA44
/* 017E8 80A6CA38 8E090028 */ lw $t1, 0x0028($s0) ## 00000028
/* 017EC 80A6CA3C E600002C */ swc1 $f0, 0x002C($s0) ## 0000002C
.L80A6CA40:
/* 017F0 80A6CA40 8E090028 */ lw $t1, 0x0028($s0) ## 00000028
.L80A6CA44:
/* 017F4 80A6CA44 8E0B00E8 */ lw $t3, 0x00E8($s0) ## 000000E8
/* 017F8 80A6CA48 3C01428C */ lui $at, 0x428C ## $at = 428C0000
/* 017FC 80A6CA4C 44815000 */ mtc1 $at, $f10 ## $f10 = 70.00
/* 01800 80A6CA50 3C0142F0 */ lui $at, 0x42F0 ## $at = 42F00000
/* 01804 80A6CA54 AE09003C */ sw $t1, 0x003C($s0) ## 0000003C
/* 01808 80A6CA58 AE0B0208 */ sw $t3, 0x0208($s0) ## 00000208
/* 0180C 80A6CA5C 8E0A0024 */ lw $t2, 0x0024($s0) ## 00000024
/* 01810 80A6CA60 C608003C */ lwc1 $f8, 0x003C($s0) ## 0000003C
/* 01814 80A6CA64 8E0C00E4 */ lw $t4, 0x00E4($s0) ## 000000E4
/* 01818 80A6CA68 C6120208 */ lwc1 $f18, 0x0208($s0) ## 00000208
/* 0181C 80A6CA6C 44812000 */ mtc1 $at, $f4 ## $f4 = 120.00
/* 01820 80A6CA70 460A4400 */ add.s $f16, $f8, $f10
/* 01824 80A6CA74 AE0A0038 */ sw $t2, 0x0038($s0) ## 00000038
/* 01828 80A6CA78 AE0C0204 */ sw $t4, 0x0204($s0) ## 00000204
/* 0182C 80A6CA7C 46049180 */ add.s $f6, $f18, $f4
/* 01830 80A6CA80 8E0A002C */ lw $t2, 0x002C($s0) ## 0000002C
/* 01834 80A6CA84 8E0C00EC */ lw $t4, 0x00EC($s0) ## 000000EC
/* 01838 80A6CA88 E610003C */ swc1 $f16, 0x003C($s0) ## 0000003C
/* 0183C 80A6CA8C E6060208 */ swc1 $f6, 0x0208($s0) ## 00000208
/* 01840 80A6CA90 AE0A0040 */ sw $t2, 0x0040($s0) ## 00000040
/* 01844 80A6CA94 AE0C020C */ sw $t4, 0x020C($s0) ## 0000020C
/* 01848 80A6CA98 AFA6002C */ sw $a2, 0x002C($sp)
/* 0184C 80A6CA9C 0C0189B7 */ jal Collider_CylinderUpdate
/* 01850 80A6CAA0 00C02825 */ or $a1, $a2, $zero ## $a1 = 00000228
/* 01854 80A6CAA4 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 01858 80A6CAA8 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60
/* 0185C 80A6CAAC 8FA6002C */ lw $a2, 0x002C($sp)
/* 01860 80A6CAB0 02212821 */ addu $a1, $s1, $at
/* 01864 80A6CAB4 0C017713 */ jal CollisionCheck_SetOC
## CollisionCheck_setOT
/* 01868 80A6CAB8 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 0186C 80A6CABC 44804000 */ mtc1 $zero, $f8 ## $f8 = 0.00
/* 01870 80A6CAC0 C60A0068 */ lwc1 $f10, 0x0068($s0) ## 00000068
/* 01874 80A6CAC4 240D00FF */ addiu $t5, $zero, 0x00FF ## $t5 = 000000FF
/* 01878 80A6CAC8 240E00FE */ addiu $t6, $zero, 0x00FE ## $t6 = 000000FE
/* 0187C 80A6CACC 460A4032 */ c.eq.s $f8, $f10
/* 01880 80A6CAD0 00000000 */ nop
/* 01884 80A6CAD4 45020004 */ bc1fl .L80A6CAE8
/* 01888 80A6CAD8 A20E00AE */ sb $t6, 0x00AE($s0) ## 000000AE
/* 0188C 80A6CADC 10000002 */ beq $zero, $zero, .L80A6CAE8
/* 01890 80A6CAE0 A20D00AE */ sb $t5, 0x00AE($s0) ## 000000AE
/* 01894 80A6CAE4 A20E00AE */ sb $t6, 0x00AE($s0) ## 000000AE
.L80A6CAE8:
/* 01898 80A6CAE8 8FBF0024 */ lw $ra, 0x0024($sp)
/* 0189C 80A6CAEC 8FB0001C */ lw $s0, 0x001C($sp)
/* 018A0 80A6CAF0 8FB10020 */ lw $s1, 0x0020($sp)
/* 018A4 80A6CAF4 03E00008 */ jr $ra
/* 018A8 80A6CAF8 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000

View file

@ -1,52 +0,0 @@
glabel func_80A6B250
/* 00000 80A6B250 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
/* 00004 80A6B254 AFBF0024 */ sw $ra, 0x0024($sp)
/* 00008 80A6B258 AFB00020 */ sw $s0, 0x0020($sp)
/* 0000C 80A6B25C 8C820200 */ lw $v0, 0x0200($a0) ## 00000200
/* 00010 80A6B260 3C0380A7 */ lui $v1, %hi(D_80A6D4C0) ## $v1 = 80A70000
/* 00014 80A6B264 2463D4C0 */ addiu $v1, $v1, %lo(D_80A6D4C0) ## $v1 = 80A6D4C0
/* 00018 80A6B268 00027080 */ sll $t6, $v0, 2
/* 0001C 80A6B26C 006E7821 */ addu $t7, $v1, $t6
/* 00020 80A6B270 8DF80000 */ lw $t8, 0x0000($t7) ## 00000000
/* 00024 80A6B274 C48001B8 */ lwc1 $f0, 0x01B8($a0) ## 000001B8
/* 00028 80A6B278 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 0002C 80A6B27C 44982000 */ mtc1 $t8, $f4 ## $f4 = 0.00
/* 00030 80A6B280 00000000 */ nop
/* 00034 80A6B284 468021A0 */ cvt.s.w $f6, $f4
/* 00038 80A6B288 4600303C */ c.lt.s $f6, $f0
/* 0003C 80A6B28C 00000000 */ nop
/* 00040 80A6B290 4502001A */ bc1fl .L80A6B2FC
/* 00044 80A6B294 8FBF0024 */ lw $ra, 0x0024($sp)
/* 00048 80A6B298 14400008 */ bne $v0, $zero, .L80A6B2BC
/* 0004C 80A6B29C 3C078013 */ lui $a3, %hi(D_801333E0)
/* 00050 80A6B2A0 8C790004 */ lw $t9, 0x0004($v1) ## 80A6D4C4
/* 00054 80A6B2A4 44994000 */ mtc1 $t9, $f8 ## $f8 = 0.00
/* 00058 80A6B2A8 00000000 */ nop
/* 0005C 80A6B2AC 468042A0 */ cvt.s.w $f10, $f8
/* 00060 80A6B2B0 4600503C */ c.lt.s $f10, $f0
/* 00064 80A6B2B4 00000000 */ nop
/* 00068 80A6B2B8 4501000F */ bc1t .L80A6B2F8
.L80A6B2BC:
/* 0006C 80A6B2BC 3C088013 */ lui $t0, %hi(D_801333E8)
/* 00070 80A6B2C0 24E733E0 */ addiu $a3, %lo(D_801333E0)
/* 00074 80A6B2C4 250833E8 */ addiu $t0, %lo(D_801333E8)
/* 00078 80A6B2C8 AFA80014 */ sw $t0, 0x0014($sp)
/* 0007C 80A6B2CC AFA70010 */ sw $a3, 0x0010($sp)
/* 00080 80A6B2D0 24042803 */ addiu $a0, $zero, 0x2803 ## $a0 = 00002803
/* 00084 80A6B2D4 260500E4 */ addiu $a1, $s0, 0x00E4 ## $a1 = 000000E4
/* 00088 80A6B2D8 0C03DCE3 */ jal Audio_PlaySoundGeneral
/* 0008C 80A6B2DC 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004
/* 00090 80A6B2E0 8E090200 */ lw $t1, 0x0200($s0) ## 00000200
/* 00094 80A6B2E4 252A0001 */ addiu $t2, $t1, 0x0001 ## $t2 = 00000001
/* 00098 80A6B2E8 29410002 */ slti $at, $t2, 0x0002
/* 0009C 80A6B2EC 14200002 */ bne $at, $zero, .L80A6B2F8
/* 000A0 80A6B2F0 AE0A0200 */ sw $t2, 0x0200($s0) ## 00000200
/* 000A4 80A6B2F4 AE000200 */ sw $zero, 0x0200($s0) ## 00000200
.L80A6B2F8:
/* 000A8 80A6B2F8 8FBF0024 */ lw $ra, 0x0024($sp)
.L80A6B2FC:
/* 000AC 80A6B2FC 8FB00020 */ lw $s0, 0x0020($sp)
/* 000B0 80A6B300 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
/* 000B4 80A6B304 03E00008 */ jr $ra
/* 000B8 80A6B308 00000000 */ nop

View file

@ -1,60 +0,0 @@
.late_rodata
glabel D_80A6D5A8
.word 0x3EAAAAAB
glabel D_80A6D5AC
.float 0.2
.text
glabel func_80A6B30C
/* 000BC 80A6B30C 8C820150 */ lw $v0, 0x0150($a0) ## 00000150
/* 000C0 80A6B310 24010004 */ addiu $at, $zero, 0x0004 ## $at = 00000004
/* 000C4 80A6B314 1441000C */ bne $v0, $at, .L80A6B348
/* 000C8 80A6B318 00027080 */ sll $t6, $v0, 2
/* 000CC 80A6B31C 3C0180A7 */ lui $at, %hi(D_80A6D4C8) ## $at = 80A70000
/* 000D0 80A6B320 002E0821 */ addu $at, $at, $t6
/* 000D4 80A6B324 C424D4C8 */ lwc1 $f4, %lo(D_80A6D4C8)($at)
/* 000D8 80A6B328 C4860068 */ lwc1 $f6, 0x0068($a0) ## 00000068
/* 000DC 80A6B32C 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000
/* 000E0 80A6B330 44815000 */ mtc1 $at, $f10 ## $f10 = 0.50
/* 000E4 80A6B334 46062202 */ mul.s $f8, $f4, $f6
/* 000E8 80A6B338 00000000 */ nop
/* 000EC 80A6B33C 460A4082 */ mul.s $f2, $f8, $f10
/* 000F0 80A6B340 03E00008 */ jr $ra
/* 000F4 80A6B344 46001006 */ mov.s $f0, $f2
.L80A6B348:
/* 000F8 80A6B348 24010005 */ addiu $at, $zero, 0x0005 ## $at = 00000005
/* 000FC 80A6B34C 1441000C */ bne $v0, $at, .L80A6B380
/* 00100 80A6B350 00027880 */ sll $t7, $v0, 2
/* 00104 80A6B354 3C0180A7 */ lui $at, %hi(D_80A6D4C8) ## $at = 80A70000
/* 00108 80A6B358 002F0821 */ addu $at, $at, $t7
/* 0010C 80A6B35C C430D4C8 */ lwc1 $f16, %lo(D_80A6D4C8)($at)
/* 00110 80A6B360 C4920068 */ lwc1 $f18, 0x0068($a0) ## 00000068
/* 00114 80A6B364 3C0180A7 */ lui $at, %hi(D_80A6D5A8) ## $at = 80A70000
/* 00118 80A6B368 C426D5A8 */ lwc1 $f6, %lo(D_80A6D5A8)($at)
/* 0011C 80A6B36C 46128102 */ mul.s $f4, $f16, $f18
/* 00120 80A6B370 00000000 */ nop
/* 00124 80A6B374 46062082 */ mul.s $f2, $f4, $f6
/* 00128 80A6B378 03E00008 */ jr $ra
/* 0012C 80A6B37C 46001006 */ mov.s $f0, $f2
.L80A6B380:
/* 00130 80A6B380 24010006 */ addiu $at, $zero, 0x0006 ## $at = 00000006
/* 00134 80A6B384 1441000D */ bne $v0, $at, .L80A6B3BC
/* 00138 80A6B388 0002C880 */ sll $t9, $v0, 2
/* 0013C 80A6B38C 0002C080 */ sll $t8, $v0, 2
/* 00140 80A6B390 3C0180A7 */ lui $at, %hi(D_80A6D4C8) ## $at = 80A70000
/* 00144 80A6B394 00380821 */ addu $at, $at, $t8
/* 00148 80A6B398 C428D4C8 */ lwc1 $f8, %lo(D_80A6D4C8)($at)
/* 0014C 80A6B39C C48A0068 */ lwc1 $f10, 0x0068($a0) ## 00000068
/* 00150 80A6B3A0 3C0180A7 */ lui $at, %hi(D_80A6D5AC) ## $at = 80A70000
/* 00154 80A6B3A4 C432D5AC */ lwc1 $f18, %lo(D_80A6D5AC)($at)
/* 00158 80A6B3A8 460A4402 */ mul.s $f16, $f8, $f10
/* 0015C 80A6B3AC 00000000 */ nop
/* 00160 80A6B3B0 46128082 */ mul.s $f2, $f16, $f18
/* 00164 80A6B3B4 03E00008 */ jr $ra
/* 00168 80A6B3B8 46001006 */ mov.s $f0, $f2
.L80A6B3BC:
/* 0016C 80A6B3BC 3C0180A7 */ lui $at, %hi(D_80A6D4C8) ## $at = 80A70000
/* 00170 80A6B3C0 00390821 */ addu $at, $at, $t9
/* 00174 80A6B3C4 C422D4C8 */ lwc1 $f2, %lo(D_80A6D4C8)($at)
/* 00178 80A6B3C8 03E00008 */ jr $ra
/* 0017C 80A6B3CC 46001006 */ mov.s $f0, $f2

View file

@ -1,48 +0,0 @@
glabel func_80A6B91C
/* 006CC 80A6B91C 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8
/* 006D0 80A6B920 AFBF002C */ sw $ra, 0x002C($sp)
/* 006D4 80A6B924 AFB00028 */ sw $s0, 0x0028($sp)
/* 006D8 80A6B928 AFA5003C */ sw $a1, 0x003C($sp)
/* 006DC 80A6B92C 8C8E0004 */ lw $t6, 0x0004($a0) ## 00000004
/* 006E0 80A6B930 3C0140E0 */ lui $at, 0x40E0 ## $at = 40E00000
/* 006E4 80A6B934 44812000 */ mtc1 $at, $f4 ## $f4 = 7.00
/* 006E8 80A6B938 24180004 */ addiu $t8, $zero, 0x0004 ## $t8 = 00000004
/* 006EC 80A6B93C 24190006 */ addiu $t9, $zero, 0x0006 ## $t9 = 00000006
/* 006F0 80A6B940 35CF0010 */ ori $t7, $t6, 0x0010 ## $t7 = 00000010
/* 006F4 80A6B944 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 006F8 80A6B948 AC8F0004 */ sw $t7, 0x0004($a0) ## 00000004
/* 006FC 80A6B94C AC98014C */ sw $t8, 0x014C($a0) ## 0000014C
/* 00700 80A6B950 AC990150 */ sw $t9, 0x0150($a0) ## 00000150
/* 00704 80A6B954 AC800324 */ sw $zero, 0x0324($a0) ## 00000324
/* 00708 80A6B958 0C29ACC3 */ jal func_80A6B30C
/* 0070C 80A6B95C E4840068 */ swc1 $f4, 0x0068($a0) ## 00000068
/* 00710 80A6B960 E7A00030 */ swc1 $f0, 0x0030($sp)
/* 00714 80A6B964 8E080150 */ lw $t0, 0x0150($s0) ## 00000150
/* 00718 80A6B968 3C0480A7 */ lui $a0, %hi(D_80A6D370) ## $a0 = 80A70000
/* 0071C 80A6B96C 00084880 */ sll $t1, $t0, 2
/* 00720 80A6B970 00892021 */ addu $a0, $a0, $t1
/* 00724 80A6B974 0C028800 */ jal SkelAnime_GetFrameCount
/* 00728 80A6B978 8C84D370 */ lw $a0, %lo(D_80A6D370)($a0)
/* 0072C 80A6B97C 44823000 */ mtc1 $v0, $f6 ## $f6 = 0.00
/* 00730 80A6B980 8E0A0150 */ lw $t2, 0x0150($s0) ## 00000150
/* 00734 80A6B984 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
/* 00738 80A6B988 46803220 */ cvt.s.w $f8, $f6
/* 0073C 80A6B98C 3C0580A7 */ lui $a1, %hi(D_80A6D370) ## $a1 = 80A70000
/* 00740 80A6B990 000A5880 */ sll $t3, $t2, 2
/* 00744 80A6B994 00AB2821 */ addu $a1, $a1, $t3
/* 00748 80A6B998 240C0002 */ addiu $t4, $zero, 0x0002 ## $t4 = 00000002
/* 0074C 80A6B99C 44070000 */ mfc1 $a3, $f0
/* 00750 80A6B9A0 AFAC0014 */ sw $t4, 0x0014($sp)
/* 00754 80A6B9A4 8CA5D370 */ lw $a1, %lo(D_80A6D370)($a1)
/* 00758 80A6B9A8 E7A80010 */ swc1 $f8, 0x0010($sp)
/* 0075C 80A6B9AC 260401A0 */ addiu $a0, $s0, 0x01A0 ## $a0 = 000001A0
/* 00760 80A6B9B0 8FA60030 */ lw $a2, 0x0030($sp)
/* 00764 80A6B9B4 0C029468 */ jal SkelAnime_ChangeAnim
/* 00768 80A6B9B8 E7A00018 */ swc1 $f0, 0x0018($sp)
/* 0076C 80A6B9BC 8FBF002C */ lw $ra, 0x002C($sp)
/* 00770 80A6B9C0 8FB00028 */ lw $s0, 0x0028($sp)
/* 00774 80A6B9C4 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000
/* 00778 80A6B9C8 03E00008 */ jr $ra
/* 0077C 80A6B9CC 00000000 */ nop

View file

@ -1,131 +0,0 @@
.late_rodata
glabel D_80A6D5C8
.word 0x4622F983
.text
glabel func_80A6B9D0
/* 00780 80A6B9D0 27BDFFB0 */ addiu $sp, $sp, 0xFFB0 ## $sp = FFFFFFB0
/* 00784 80A6B9D4 AFBF002C */ sw $ra, 0x002C($sp)
/* 00788 80A6B9D8 AFB00028 */ sw $s0, 0x0028($sp)
/* 0078C 80A6B9DC 848F001C */ lh $t7, 0x001C($a0) ## 0000001C
/* 00790 80A6B9E0 3C0E0001 */ lui $t6, 0x0001 ## $t6 = 00010000
/* 00794 80A6B9E4 01C57021 */ addu $t6, $t6, $a1
/* 00798 80A6B9E8 8DCE1E08 */ lw $t6, 0x1E08($t6) ## 00011E08
/* 0079C 80A6B9EC 31F8000F */ andi $t8, $t7, 0x000F ## $t8 = 00000000
/* 007A0 80A6B9F0 0018C8C0 */ sll $t9, $t8, 3
/* 007A4 80A6B9F4 01D93021 */ addu $a2, $t6, $t9
/* 007A8 80A6B9F8 8CC30004 */ lw $v1, 0x0004($a2) ## 00000004
/* 007AC 80A6B9FC 3C0B8016 */ lui $t3, %hi(gSegments)
/* 007B0 80A6BA00 8C8D0324 */ lw $t5, 0x0324($a0) ## 00000324
/* 007B4 80A6BA04 00034100 */ sll $t0, $v1, 4
/* 007B8 80A6BA08 00084F02 */ srl $t1, $t0, 28
/* 007BC 80A6BA0C 00095080 */ sll $t2, $t1, 2
/* 007C0 80A6BA10 016A5821 */ addu $t3, $t3, $t2
/* 007C4 80A6BA14 3C0100FF */ lui $at, 0x00FF ## $at = 00FF0000
/* 007C8 80A6BA18 8D6B6FA8 */ lw $t3, %lo(gSegments)($t3)
/* 007CC 80A6BA1C 3421FFFF */ ori $at, $at, 0xFFFF ## $at = 00FFFFFF
/* 007D0 80A6BA20 00616024 */ and $t4, $v1, $at
/* 007D4 80A6BA24 000D7880 */ sll $t7, $t5, 2
/* 007D8 80A6BA28 3C018000 */ lui $at, 0x8000 ## $at = 80000000
/* 007DC 80A6BA2C 01ED7823 */ subu $t7, $t7, $t5
/* 007E0 80A6BA30 016C1021 */ addu $v0, $t3, $t4
/* 007E4 80A6BA34 00411021 */ addu $v0, $v0, $at
/* 007E8 80A6BA38 000F7840 */ sll $t7, $t7, 1
/* 007EC 80A6BA3C 004F1021 */ addu $v0, $v0, $t7
/* 007F0 80A6BA40 84580000 */ lh $t8, 0x0000($v0) ## 00000000
/* 007F4 80A6BA44 844E0004 */ lh $t6, 0x0004($v0) ## 00000004
/* 007F8 80A6BA48 C4880024 */ lwc1 $f8, 0x0024($a0) ## 00000024
/* 007FC 80A6BA4C 44982000 */ mtc1 $t8, $f4 ## $f4 = 0.00
/* 00800 80A6BA50 448E5000 */ mtc1 $t6, $f10 ## $f10 = 0.00
/* 00804 80A6BA54 C492002C */ lwc1 $f18, 0x002C($a0) ## 0000002C
/* 00808 80A6BA58 468021A0 */ cvt.s.w $f6, $f4
/* 0080C 80A6BA5C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00810 80A6BA60 AFA6004C */ sw $a2, 0x004C($sp)
/* 00814 80A6BA64 46805420 */ cvt.s.w $f16, $f10
/* 00818 80A6BA68 46083301 */ sub.s $f12, $f6, $f8
/* 0081C 80A6BA6C 46128381 */ sub.s $f14, $f16, $f18
/* 00820 80A6BA70 E7AC0044 */ swc1 $f12, 0x0044($sp)
/* 00824 80A6BA74 0C03F494 */ jal Math_atan2f
/* 00828 80A6BA78 E7AE0040 */ swc1 $f14, 0x0040($sp)
/* 0082C 80A6BA7C 3C0180A7 */ lui $at, %hi(D_80A6D5C8) ## $at = 80A70000
/* 00830 80A6BA80 C424D5C8 */ lwc1 $f4, %lo(D_80A6D5C8)($at)
/* 00834 80A6BA84 24080001 */ addiu $t0, $zero, 0x0001 ## $t0 = 00000001
/* 00838 80A6BA88 AFA80010 */ sw $t0, 0x0010($sp)
/* 0083C 80A6BA8C 46040182 */ mul.s $f6, $f0, $f4
/* 00840 80A6BA90 26040032 */ addiu $a0, $s0, 0x0032 ## $a0 = 00000032
/* 00844 80A6BA94 2406000A */ addiu $a2, $zero, 0x000A ## $a2 = 0000000A
/* 00848 80A6BA98 240707D0 */ addiu $a3, $zero, 0x07D0 ## $a3 = 000007D0
/* 0084C 80A6BA9C 4600320D */ trunc.w.s $f8, $f6
/* 00850 80A6BAA0 44054000 */ mfc1 $a1, $f8
/* 00854 80A6BAA4 00000000 */ nop
/* 00858 80A6BAA8 00052C00 */ sll $a1, $a1, 16
/* 0085C 80A6BAAC 0C01E1A7 */ jal Math_SmoothScaleMaxMinS
/* 00860 80A6BAB0 00052C03 */ sra $a1, $a1, 16
/* 00864 80A6BAB4 C7AC0044 */ lwc1 $f12, 0x0044($sp)
/* 00868 80A6BAB8 C7AE0040 */ lwc1 $f14, 0x0040($sp)
/* 0086C 80A6BABC 3C014416 */ lui $at, 0x4416 ## $at = 44160000
/* 00870 80A6BAC0 460C6282 */ mul.s $f10, $f12, $f12
/* 00874 80A6BAC4 44812000 */ mtc1 $at, $f4 ## $f4 = 600.00
/* 00878 80A6BAC8 86090032 */ lh $t1, 0x0032($s0) ## 00000032
/* 0087C 80A6BACC 460E7402 */ mul.s $f16, $f14, $f14
/* 00880 80A6BAD0 A60900B6 */ sh $t1, 0x00B6($s0) ## 000000B6
/* 00884 80A6BAD4 46105480 */ add.s $f18, $f10, $f16
/* 00888 80A6BAD8 4604903C */ c.lt.s $f18, $f4
/* 0088C 80A6BADC 00000000 */ nop
/* 00890 80A6BAE0 4500000A */ bc1f .L80A6BB0C
/* 00894 80A6BAE4 00000000 */ nop
/* 00898 80A6BAE8 8E0A0324 */ lw $t2, 0x0324($s0) ## 00000324
/* 0089C 80A6BAEC 254B0001 */ addiu $t3, $t2, 0x0001 ## $t3 = 00000001
/* 008A0 80A6BAF0 AE0B0324 */ sw $t3, 0x0324($s0) ## 00000324
/* 008A4 80A6BAF4 8FAD004C */ lw $t5, 0x004C($sp)
/* 008A8 80A6BAF8 91AF0000 */ lbu $t7, 0x0000($t5) ## 00000000
/* 008AC 80A6BAFC 016F082A */ slt $at, $t3, $t7
/* 008B0 80A6BB00 14200002 */ bne $at, $zero, .L80A6BB0C
/* 008B4 80A6BB04 00000000 */ nop
/* 008B8 80A6BB08 AE000324 */ sw $zero, 0x0324($s0) ## 00000324
.L80A6BB0C:
/* 008BC 80A6BB0C 0C29ACC3 */ jal func_80A6B30C
/* 008C0 80A6BB10 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 008C4 80A6BB14 E60001BC */ swc1 $f0, 0x01BC($s0) ## 000001BC
/* 008C8 80A6BB18 260401A0 */ addiu $a0, $s0, 0x01A0 ## $a0 = 000001A0
/* 008CC 80A6BB1C 0C02927F */ jal SkelAnime_FrameUpdateMatrix
/* 008D0 80A6BB20 AFA40030 */ sw $a0, 0x0030($sp)
/* 008D4 80A6BB24 5040001D */ beql $v0, $zero, .L80A6BB9C
/* 008D8 80A6BB28 8FBF002C */ lw $ra, 0x002C($sp)
/* 008DC 80A6BB2C 0C29ACC3 */ jal func_80A6B30C
/* 008E0 80A6BB30 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 008E4 80A6BB34 E7A00038 */ swc1 $f0, 0x0038($sp)
/* 008E8 80A6BB38 8E180150 */ lw $t8, 0x0150($s0) ## 00000150
/* 008EC 80A6BB3C 3C0480A7 */ lui $a0, %hi(D_80A6D370) ## $a0 = 80A70000
/* 008F0 80A6BB40 00187080 */ sll $t6, $t8, 2
/* 008F4 80A6BB44 008E2021 */ addu $a0, $a0, $t6
/* 008F8 80A6BB48 0C028800 */ jal SkelAnime_GetFrameCount
/* 008FC 80A6BB4C 8C84D370 */ lw $a0, %lo(D_80A6D370)($a0)
/* 00900 80A6BB50 44823000 */ mtc1 $v0, $f6 ## $f6 = 0.00
/* 00904 80A6BB54 8E190150 */ lw $t9, 0x0150($s0) ## 00000150
/* 00908 80A6BB58 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
/* 0090C 80A6BB5C 46803220 */ cvt.s.w $f8, $f6
/* 00910 80A6BB60 3C0580A7 */ lui $a1, %hi(D_80A6D370) ## $a1 = 80A70000
/* 00914 80A6BB64 00194080 */ sll $t0, $t9, 2
/* 00918 80A6BB68 00A82821 */ addu $a1, $a1, $t0
/* 0091C 80A6BB6C 24090002 */ addiu $t1, $zero, 0x0002 ## $t1 = 00000002
/* 00920 80A6BB70 44070000 */ mfc1 $a3, $f0
/* 00924 80A6BB74 AFA90014 */ sw $t1, 0x0014($sp)
/* 00928 80A6BB78 8CA5D370 */ lw $a1, %lo(D_80A6D370)($a1)
/* 0092C 80A6BB7C E7A80010 */ swc1 $f8, 0x0010($sp)
/* 00930 80A6BB80 8FA40030 */ lw $a0, 0x0030($sp)
/* 00934 80A6BB84 8FA60038 */ lw $a2, 0x0038($sp)
/* 00938 80A6BB88 0C029468 */ jal SkelAnime_ChangeAnim
/* 0093C 80A6BB8C E7A00018 */ swc1 $f0, 0x0018($sp)
/* 00940 80A6BB90 0C29AF3B */ jal func_80A6BCEC
/* 00944 80A6BB94 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00948 80A6BB98 8FBF002C */ lw $ra, 0x002C($sp)
.L80A6BB9C:
/* 0094C 80A6BB9C 8FB00028 */ lw $s0, 0x0028($sp)
/* 00950 80A6BBA0 27BD0050 */ addiu $sp, $sp, 0x0050 ## $sp = 00000000
/* 00954 80A6BBA4 03E00008 */ jr $ra
/* 00958 80A6BBA8 00000000 */ nop

View file

@ -1,23 +0,0 @@
glabel func_80A6BBAC
/* 0095C 80A6BBAC 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00960 80A6BBB0 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00964 80A6BBB4 8C8E0150 */ lw $t6, 0x0150($a0) ## 00000150
/* 00968 80A6BBB8 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
/* 0096C 80A6BBBC AC80014C */ sw $zero, 0x014C($a0) ## 0000014C
/* 00970 80A6BBC0 25C20001 */ addiu $v0, $t6, 0x0001 ## $v0 = 00000001
/* 00974 80A6BBC4 28410009 */ slti $at, $v0, 0x0009
/* 00978 80A6BBC8 14200003 */ bne $at, $zero, .L80A6BBD8
/* 0097C 80A6BBCC AC820150 */ sw $v0, 0x0150($a0) ## 00000150
/* 00980 80A6BBD0 AC800150 */ sw $zero, 0x0150($a0) ## 00000150
/* 00984 80A6BBD4 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
.L80A6BBD8:
/* 00988 80A6BBD8 0002C080 */ sll $t8, $v0, 2
/* 0098C 80A6BBDC 3C0580A7 */ lui $a1, %hi(D_80A6D370) ## $a1 = 80A70000
/* 00990 80A6BBE0 00B82821 */ addu $a1, $a1, $t8
/* 00994 80A6BBE4 8CA5D370 */ lw $a1, %lo(D_80A6D370)($a1)
/* 00998 80A6BBE8 0C02947A */ jal SkelAnime_ChangeAnimDefaultStop
/* 0099C 80A6BBEC 24C401A0 */ addiu $a0, $a2, 0x01A0 ## $a0 = 000001A0
/* 009A0 80A6BBF0 8FBF0014 */ lw $ra, 0x0014($sp)
/* 009A4 80A6BBF4 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 009A8 80A6BBF8 03E00008 */ jr $ra
/* 009AC 80A6BBFC 00000000 */ nop

View file

@ -1,21 +0,0 @@
glabel func_80A6BC00
/* 009B0 80A6BC00 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 009B4 80A6BC04 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
/* 009B8 80A6BC08 AFA5001C */ sw $a1, 0x001C($sp)
/* 009BC 80A6BC0C AFBF0014 */ sw $ra, 0x0014($sp)
/* 009C0 80A6BC10 AFA40018 */ sw $a0, 0x0018($sp)
/* 009C4 80A6BC14 00802825 */ or $a1, $a0, $zero ## $a1 = 00000000
/* 009C8 80A6BC18 E4840068 */ swc1 $f4, 0x0068($a0) ## 00000068
/* 009CC 80A6BC1C AFA50018 */ sw $a1, 0x0018($sp)
/* 009D0 80A6BC20 0C02927F */ jal SkelAnime_FrameUpdateMatrix
/* 009D4 80A6BC24 248401A0 */ addiu $a0, $a0, 0x01A0 ## $a0 = 000001A0
/* 009D8 80A6BC28 10400003 */ beq $v0, $zero, .L80A6BC38
/* 009DC 80A6BC2C 8FA50018 */ lw $a1, 0x0018($sp)
/* 009E0 80A6BC30 0C29AEEB */ jal func_80A6BBAC
/* 009E4 80A6BC34 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
.L80A6BC38:
/* 009E8 80A6BC38 8FBF0014 */ lw $ra, 0x0014($sp)
/* 009EC 80A6BC3C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 009F0 80A6BC40 03E00008 */ jr $ra
/* 009F4 80A6BC44 00000000 */ nop

View file

@ -1,44 +0,0 @@
glabel func_80A6BC48
/* 009F8 80A6BC48 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8
/* 009FC 80A6BC4C AFBF002C */ sw $ra, 0x002C($sp)
/* 00A00 80A6BC50 AFB00028 */ sw $s0, 0x0028($sp)
/* 00A04 80A6BC54 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
/* 00A08 80A6BC58 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001
/* 00A0C 80A6BC5C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00A10 80A6BC60 AC8E014C */ sw $t6, 0x014C($a0) ## 0000014C
/* 00A14 80A6BC64 AC800150 */ sw $zero, 0x0150($a0) ## 00000150
/* 00A18 80A6BC68 A480021C */ sh $zero, 0x021C($a0) ## 0000021C
/* 00A1C 80A6BC6C A480021E */ sh $zero, 0x021E($a0) ## 0000021E
/* 00A20 80A6BC70 E4800068 */ swc1 $f0, 0x0068($a0) ## 00000068
/* 00A24 80A6BC74 0C29ACC3 */ jal func_80A6B30C
/* 00A28 80A6BC78 E4800218 */ swc1 $f0, 0x0218($a0) ## 00000218
/* 00A2C 80A6BC7C E7A00030 */ swc1 $f0, 0x0030($sp)
/* 00A30 80A6BC80 8E0F0150 */ lw $t7, 0x0150($s0) ## 00000150
/* 00A34 80A6BC84 3C0480A7 */ lui $a0, %hi(D_80A6D370) ## $a0 = 80A70000
/* 00A38 80A6BC88 000FC080 */ sll $t8, $t7, 2
/* 00A3C 80A6BC8C 00982021 */ addu $a0, $a0, $t8
/* 00A40 80A6BC90 0C028800 */ jal SkelAnime_GetFrameCount
/* 00A44 80A6BC94 8C84D370 */ lw $a0, %lo(D_80A6D370)($a0)
/* 00A48 80A6BC98 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
/* 00A4C 80A6BC9C 8E190150 */ lw $t9, 0x0150($s0) ## 00000150
/* 00A50 80A6BCA0 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
/* 00A54 80A6BCA4 468021A0 */ cvt.s.w $f6, $f4
/* 00A58 80A6BCA8 3C0580A7 */ lui $a1, %hi(D_80A6D370) ## $a1 = 80A70000
/* 00A5C 80A6BCAC 00194080 */ sll $t0, $t9, 2
/* 00A60 80A6BCB0 00A82821 */ addu $a1, $a1, $t0
/* 00A64 80A6BCB4 24090002 */ addiu $t1, $zero, 0x0002 ## $t1 = 00000002
/* 00A68 80A6BCB8 44070000 */ mfc1 $a3, $f0
/* 00A6C 80A6BCBC AFA90014 */ sw $t1, 0x0014($sp)
/* 00A70 80A6BCC0 8CA5D370 */ lw $a1, %lo(D_80A6D370)($a1)
/* 00A74 80A6BCC4 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 00A78 80A6BCC8 260401A0 */ addiu $a0, $s0, 0x01A0 ## $a0 = 000001A0
/* 00A7C 80A6BCCC 8FA60030 */ lw $a2, 0x0030($sp)
/* 00A80 80A6BCD0 0C029468 */ jal SkelAnime_ChangeAnim
/* 00A84 80A6BCD4 E7A00018 */ swc1 $f0, 0x0018($sp)
/* 00A88 80A6BCD8 8FBF002C */ lw $ra, 0x002C($sp)
/* 00A8C 80A6BCDC 8FB00028 */ lw $s0, 0x0028($sp)
/* 00A90 80A6BCE0 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000
/* 00A94 80A6BCE4 03E00008 */ jr $ra
/* 00A98 80A6BCE8 00000000 */ nop

View file

@ -1,42 +0,0 @@
glabel func_80A6BCEC
/* 00A9C 80A6BCEC 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 00AA0 80A6BCF0 AFBF001C */ sw $ra, 0x001C($sp)
/* 00AA4 80A6BCF4 AFA40020 */ sw $a0, 0x0020($sp)
/* 00AA8 80A6BCF8 8C820150 */ lw $v0, 0x0150($a0) ## 00000150
/* 00AAC 80A6BCFC 24010005 */ addiu $at, $zero, 0x0005 ## $at = 00000005
/* 00AB0 80A6BD00 00807025 */ or $t6, $a0, $zero ## $t6 = 00000000
/* 00AB4 80A6BD04 1441000C */ bne $v0, $at, .L80A6BD38
/* 00AB8 80A6BD08 3C078013 */ lui $a3, %hi(D_801333E0)
/* 00ABC 80A6BD0C 3C0F8013 */ lui $t7, %hi(D_801333E8)
/* 00AC0 80A6BD10 24E733E0 */ addiu $a3, %lo(D_801333E0)
/* 00AC4 80A6BD14 25EF33E8 */ addiu $t7, %lo(D_801333E8)
/* 00AC8 80A6BD18 AFAF0014 */ sw $t7, 0x0014($sp)
/* 00ACC 80A6BD1C AFA70010 */ sw $a3, 0x0010($sp)
/* 00AD0 80A6BD20 24042804 */ addiu $a0, $zero, 0x2804 ## $a0 = 00002804
/* 00AD4 80A6BD24 25C500E4 */ addiu $a1, $t6, 0x00E4 ## $a1 = 000000E4
/* 00AD8 80A6BD28 0C03DCE3 */ jal Audio_PlaySoundGeneral
/* 00ADC 80A6BD2C 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004
/* 00AE0 80A6BD30 1000000F */ beq $zero, $zero, .L80A6BD70
/* 00AE4 80A6BD34 8FBF001C */ lw $ra, 0x001C($sp)
.L80A6BD38:
/* 00AE8 80A6BD38 24010006 */ addiu $at, $zero, 0x0006 ## $at = 00000006
/* 00AEC 80A6BD3C 1441000B */ bne $v0, $at, .L80A6BD6C
/* 00AF0 80A6BD40 3C078013 */ lui $a3, %hi(D_801333E0)
/* 00AF4 80A6BD44 8FA50020 */ lw $a1, 0x0020($sp)
/* 00AF8 80A6BD48 3C188013 */ lui $t8, %hi(D_801333E8)
/* 00AFC 80A6BD4C 24E733E0 */ addiu $a3, %lo(D_801333E0)
/* 00B00 80A6BD50 271833E8 */ addiu $t8, %lo(D_801333E8)
/* 00B04 80A6BD54 AFB80014 */ sw $t8, 0x0014($sp)
/* 00B08 80A6BD58 AFA70010 */ sw $a3, 0x0010($sp)
/* 00B0C 80A6BD5C 24042804 */ addiu $a0, $zero, 0x2804 ## $a0 = 00002804
/* 00B10 80A6BD60 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004
/* 00B14 80A6BD64 0C03DCE3 */ jal Audio_PlaySoundGeneral
/* 00B18 80A6BD68 24A500E4 */ addiu $a1, $a1, 0x00E4 ## $a1 = 000000E4
.L80A6BD6C:
/* 00B1C 80A6BD6C 8FBF001C */ lw $ra, 0x001C($sp)
.L80A6BD70:
/* 00B20 80A6BD70 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 00B24 80A6BD74 03E00008 */ jr $ra
/* 00B28 80A6BD78 00000000 */ nop

View file

@ -1,67 +0,0 @@
glabel func_80A6BD7C
/* 00B2C 80A6BD7C 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
/* 00B30 80A6BD80 AFBF0024 */ sw $ra, 0x0024($sp)
/* 00B34 80A6BD84 AFB00020 */ sw $s0, 0x0020($sp)
/* 00B38 80A6BD88 8C830150 */ lw $v1, 0x0150($a0) ## 00000150
/* 00B3C 80A6BD8C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00B40 80A6BD90 C48001B8 */ lwc1 $f0, 0x01B8($a0) ## 000001B8
/* 00B44 80A6BD94 14600018 */ bne $v1, $zero, .L80A6BDF8
/* 00B48 80A6BD98 3C0141E0 */ lui $at, 0x41E0 ## $at = 41E00000
/* 00B4C 80A6BD9C 44812000 */ mtc1 $at, $f4 ## $f4 = 28.00
/* 00B50 80A6BDA0 00000000 */ nop
/* 00B54 80A6BDA4 4600203C */ c.lt.s $f4, $f0
/* 00B58 80A6BDA8 00000000 */ nop
/* 00B5C 80A6BDAC 45020013 */ bc1fl .L80A6BDFC
/* 00B60 80A6BDB0 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
/* 00B64 80A6BDB4 948201E4 */ lhu $v0, 0x01E4($a0) ## 000001E4
/* 00B68 80A6BDB8 3C078013 */ lui $a3, %hi(D_801333E0)
/* 00B6C 80A6BDBC 24E733E0 */ addiu $a3, %lo(D_801333E0)
/* 00B70 80A6BDC0 304E0001 */ andi $t6, $v0, 0x0001 ## $t6 = 00000000
/* 00B74 80A6BDC4 15C0000C */ bne $t6, $zero, .L80A6BDF8
/* 00B78 80A6BDC8 344F0001 */ ori $t7, $v0, 0x0001 ## $t7 = 00000001
/* 00B7C 80A6BDCC A48F01E4 */ sh $t7, 0x01E4($a0) ## 000001E4
/* 00B80 80A6BDD0 3C188013 */ lui $t8, %hi(D_801333E8)
/* 00B84 80A6BDD4 271833E8 */ addiu $t8, %lo(D_801333E8)
/* 00B88 80A6BDD8 AFB80014 */ sw $t8, 0x0014($sp)
/* 00B8C 80A6BDDC AFA70010 */ sw $a3, 0x0010($sp)
/* 00B90 80A6BDE0 2404282C */ addiu $a0, $zero, 0x282C ## $a0 = 0000282C
/* 00B94 80A6BDE4 260500E4 */ addiu $a1, $s0, 0x00E4 ## $a1 = 000000E4
/* 00B98 80A6BDE8 0C03DCE3 */ jal Audio_PlaySoundGeneral
/* 00B9C 80A6BDEC 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004
/* 00BA0 80A6BDF0 1000001A */ beq $zero, $zero, .L80A6BE5C
/* 00BA4 80A6BDF4 8FBF0024 */ lw $ra, 0x0024($sp)
.L80A6BDF8:
/* 00BA8 80A6BDF8 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
.L80A6BDFC:
/* 00BAC 80A6BDFC 14610016 */ bne $v1, $at, .L80A6BE58
/* 00BB0 80A6BE00 3C0141C8 */ lui $at, 0x41C8 ## $at = 41C80000
/* 00BB4 80A6BE04 44813000 */ mtc1 $at, $f6 ## $f6 = 25.00
/* 00BB8 80A6BE08 00000000 */ nop
/* 00BBC 80A6BE0C 4600303C */ c.lt.s $f6, $f0
/* 00BC0 80A6BE10 00000000 */ nop
/* 00BC4 80A6BE14 45020011 */ bc1fl .L80A6BE5C
/* 00BC8 80A6BE18 8FBF0024 */ lw $ra, 0x0024($sp)
/* 00BCC 80A6BE1C 960201E4 */ lhu $v0, 0x01E4($s0) ## 000001E4
/* 00BD0 80A6BE20 3C078013 */ lui $a3, %hi(D_801333E0)
/* 00BD4 80A6BE24 24E733E0 */ addiu $a3, %lo(D_801333E0)
/* 00BD8 80A6BE28 30590002 */ andi $t9, $v0, 0x0002 ## $t9 = 00000000
/* 00BDC 80A6BE2C 1720000A */ bne $t9, $zero, .L80A6BE58
/* 00BE0 80A6BE30 34480002 */ ori $t0, $v0, 0x0002 ## $t0 = 00000002
/* 00BE4 80A6BE34 3C098013 */ lui $t1, %hi(D_801333E8)
/* 00BE8 80A6BE38 A60801E4 */ sh $t0, 0x01E4($s0) ## 000001E4
/* 00BEC 80A6BE3C 252933E8 */ addiu $t1, %lo(D_801333E8)
/* 00BF0 80A6BE40 AFA90014 */ sw $t1, 0x0014($sp)
/* 00BF4 80A6BE44 AFA70010 */ sw $a3, 0x0010($sp)
/* 00BF8 80A6BE48 2404282B */ addiu $a0, $zero, 0x282B ## $a0 = 0000282B
/* 00BFC 80A6BE4C 260500E4 */ addiu $a1, $s0, 0x00E4 ## $a1 = 000000E4
/* 00C00 80A6BE50 0C03DCE3 */ jal Audio_PlaySoundGeneral
/* 00C04 80A6BE54 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004
.L80A6BE58:
/* 00C08 80A6BE58 8FBF0024 */ lw $ra, 0x0024($sp)
.L80A6BE5C:
/* 00C0C 80A6BE5C 8FB00020 */ lw $s0, 0x0020($sp)
/* 00C10 80A6BE60 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
/* 00C14 80A6BE64 03E00008 */ jr $ra
/* 00C18 80A6BE68 00000000 */ nop

View file

@ -1,466 +0,0 @@
.late_rodata
glabel D_80A6D5CC
.float 0.1
glabel D_80A6D5D0
.float 0.1
.text
glabel func_80A6BE6C
/* 00C1C 80A6BE6C 27BDFFB0 */ addiu $sp, $sp, 0xFFB0 ## $sp = FFFFFFB0
/* 00C20 80A6BE70 AFBF002C */ sw $ra, 0x002C($sp)
/* 00C24 80A6BE74 AFB00028 */ sw $s0, 0x0028($sp)
/* 00C28 80A6BE78 AFA50054 */ sw $a1, 0x0054($sp)
/* 00C2C 80A6BE7C 8C830150 */ lw $v1, 0x0150($a0) ## 00000150
/* 00C30 80A6BE80 3C0280A7 */ lui $v0, %hi(D_80A6D510) ## $v0 = 80A70000
/* 00C34 80A6BE84 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00C38 80A6BE88 00037080 */ sll $t6, $v1, 2
/* 00C3C 80A6BE8C 004E1021 */ addu $v0, $v0, $t6
/* 00C40 80A6BE90 8C42D510 */ lw $v0, %lo(D_80A6D510)($v0)
/* 00C44 80A6BE94 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 00C48 80A6BE98 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00C4C 80A6BE9C 10400009 */ beq $v0, $zero, .L80A6BEC4
/* 00C50 80A6BEA0 00604025 */ or $t0, $v1, $zero ## $t0 = 00000000
/* 00C54 80A6BEA4 10410010 */ beq $v0, $at, .L80A6BEE8
/* 00C58 80A6BEA8 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
/* 00C5C 80A6BEAC 104100AC */ beq $v0, $at, .L80A6C160
/* 00C60 80A6BEB0 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
/* 00C64 80A6BEB4 104100AA */ beq $v0, $at, .L80A6C160
/* 00C68 80A6BEB8 00000000 */ nop
/* 00C6C 80A6BEBC 100000A8 */ beq $zero, $zero, .L80A6C160
/* 00C70 80A6BEC0 00000000 */ nop
.L80A6BEC4:
/* 00C74 80A6BEC4 0C29AF5F */ jal func_80A6BD7C
/* 00C78 80A6BEC8 AFA8004C */ sw $t0, 0x004C($sp)
/* 00C7C 80A6BECC 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
/* 00C80 80A6BED0 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00
/* 00C84 80A6BED4 8FA8004C */ lw $t0, 0x004C($sp)
/* 00C88 80A6BED8 8E030150 */ lw $v1, 0x0150($s0) ## 00000150
/* 00C8C 80A6BEDC E6040068 */ swc1 $f4, 0x0068($s0) ## 00000068
/* 00C90 80A6BEE0 1000009F */ beq $zero, $zero, .L80A6C160
/* 00C94 80A6BEE4 E6060218 */ swc1 $f6, 0x0218($s0) ## 00000218
.L80A6BEE8:
/* 00C98 80A6BEE8 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 00C9C 80A6BEEC 00000000 */ nop
/* 00CA0 80A6BEF0 3C0180A7 */ lui $at, %hi(D_80A6D5CC) ## $at = 80A70000
/* 00CA4 80A6BEF4 C428D5CC */ lwc1 $f8, %lo(D_80A6D5CC)($at)
/* 00CA8 80A6BEF8 4608003C */ c.lt.s $f0, $f8
/* 00CAC 80A6BEFC 00000000 */ nop
/* 00CB0 80A6BF00 4502000A */ bc1fl .L80A6BF2C
/* 00CB4 80A6BF04 C6040068 */ lwc1 $f4, 0x0068($s0) ## 00000068
/* 00CB8 80A6BF08 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 00CBC 80A6BF0C 00000000 */ nop
/* 00CC0 80A6BF10 46000280 */ add.s $f10, $f0, $f0
/* 00CC4 80A6BF14 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 00CC8 80A6BF18 44818000 */ mtc1 $at, $f16 ## $f16 = 1.00
/* 00CCC 80A6BF1C 00000000 */ nop
/* 00CD0 80A6BF20 46105481 */ sub.s $f18, $f10, $f16
/* 00CD4 80A6BF24 E6120218 */ swc1 $f18, 0x0218($s0) ## 00000218
/* 00CD8 80A6BF28 C6040068 */ lwc1 $f4, 0x0068($s0) ## 00000068
.L80A6BF2C:
/* 00CDC 80A6BF2C C6060218 */ lwc1 $f6, 0x0218($s0) ## 00000218
/* 00CE0 80A6BF30 44805000 */ mtc1 $zero, $f10 ## $f10 = 0.00
/* 00CE4 80A6BF34 3C014040 */ lui $at, 0x4040 ## $at = 40400000
/* 00CE8 80A6BF38 46062200 */ add.s $f8, $f4, $f6
/* 00CEC 80A6BF3C E6080068 */ swc1 $f8, 0x0068($s0) ## 00000068
/* 00CF0 80A6BF40 C6000068 */ lwc1 $f0, 0x0068($s0) ## 00000068
/* 00CF4 80A6BF44 460A003E */ c.le.s $f0, $f10
/* 00CF8 80A6BF48 00000000 */ nop
/* 00CFC 80A6BF4C 45020008 */ bc1fl .L80A6BF70
/* 00D00 80A6BF50 44812000 */ mtc1 $at, $f4 ## $f4 = 3.00
/* 00D04 80A6BF54 44808000 */ mtc1 $zero, $f16 ## $f16 = 0.00
/* 00D08 80A6BF58 44809000 */ mtc1 $zero, $f18 ## $f18 = 0.00
/* 00D0C 80A6BF5C 00004025 */ or $t0, $zero, $zero ## $t0 = 00000000
/* 00D10 80A6BF60 E6100068 */ swc1 $f16, 0x0068($s0) ## 00000068
/* 00D14 80A6BF64 1000001C */ beq $zero, $zero, .L80A6BFD8
/* 00D18 80A6BF68 E6120218 */ swc1 $f18, 0x0218($s0) ## 00000218
/* 00D1C 80A6BF6C 44812000 */ mtc1 $at, $f4 ## $f4 = 3.00
.L80A6BF70:
/* 00D20 80A6BF70 3C0140C0 */ lui $at, 0x40C0 ## $at = 40C00000
/* 00D24 80A6BF74 4604003C */ c.lt.s $f0, $f4
/* 00D28 80A6BF78 00000000 */ nop
/* 00D2C 80A6BF7C 45020006 */ bc1fl .L80A6BF98
/* 00D30 80A6BF80 44813000 */ mtc1 $at, $f6 ## $f6 = 6.00
/* 00D34 80A6BF84 0C29AC94 */ jal func_80A6B250
/* 00D38 80A6BF88 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00D3C 80A6BF8C 10000012 */ beq $zero, $zero, .L80A6BFD8
/* 00D40 80A6BF90 24080004 */ addiu $t0, $zero, 0x0004 ## $t0 = 00000004
/* 00D44 80A6BF94 44813000 */ mtc1 $at, $f6 ## $f6 = 0.00
.L80A6BF98:
/* 00D48 80A6BF98 3C014100 */ lui $at, 0x4100 ## $at = 41000000
/* 00D4C 80A6BF9C 4606003C */ c.lt.s $f0, $f6
/* 00D50 80A6BFA0 00000000 */ nop
/* 00D54 80A6BFA4 45020004 */ bc1fl .L80A6BFB8
/* 00D58 80A6BFA8 44811000 */ mtc1 $at, $f2 ## $f2 = 8.00
/* 00D5C 80A6BFAC 1000000A */ beq $zero, $zero, .L80A6BFD8
/* 00D60 80A6BFB0 24080005 */ addiu $t0, $zero, 0x0005 ## $t0 = 00000005
/* 00D64 80A6BFB4 44811000 */ mtc1 $at, $f2 ## $f2 = 8.00
.L80A6BFB8:
/* 00D68 80A6BFB8 24080006 */ addiu $t0, $zero, 0x0006 ## $t0 = 00000006
/* 00D6C 80A6BFBC 4602003C */ c.lt.s $f0, $f2
/* 00D70 80A6BFC0 00000000 */ nop
/* 00D74 80A6BFC4 45020004 */ bc1fl .L80A6BFD8
/* 00D78 80A6BFC8 E6020068 */ swc1 $f2, 0x0068($s0) ## 00000068
/* 00D7C 80A6BFCC 10000002 */ beq $zero, $zero, .L80A6BFD8
/* 00D80 80A6BFD0 24080006 */ addiu $t0, $zero, 0x0006 ## $t0 = 00000006
/* 00D84 80A6BFD4 E6020068 */ swc1 $f2, 0x0068($s0) ## 00000068
.L80A6BFD8:
/* 00D88 80A6BFD8 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 00D8C 80A6BFDC AFA8004C */ sw $t0, 0x004C($sp)
/* 00D90 80A6BFE0 3C0180A7 */ lui $at, %hi(D_80A6D5D0) ## $at = 80A70000
/* 00D94 80A6BFE4 C428D5D0 */ lwc1 $f8, %lo(D_80A6D5D0)($at)
/* 00D98 80A6BFE8 8FA8004C */ lw $t0, 0x004C($sp)
/* 00D9C 80A6BFEC 4608003C */ c.lt.s $f0, $f8
/* 00DA0 80A6BFF0 00000000 */ nop
/* 00DA4 80A6BFF4 45010010 */ bc1t .L80A6C038
/* 00DA8 80A6BFF8 00000000 */ nop
/* 00DAC 80A6BFFC 8602021E */ lh $v0, 0x021E($s0) ## 0000021E
/* 00DB0 80A6C000 5440002C */ bnel $v0, $zero, .L80A6C0B4
/* 00DB4 80A6C004 8619021C */ lh $t9, 0x021C($s0) ## 0000021C
/* 00DB8 80A6C008 960F0088 */ lhu $t7, 0x0088($s0) ## 00000088
/* 00DBC 80A6C00C 31F80008 */ andi $t8, $t7, 0x0008 ## $t8 = 00000000
/* 00DC0 80A6C010 17000009 */ bne $t8, $zero, .L80A6C038
/* 00DC4 80A6C014 00000000 */ nop
/* 00DC8 80A6C018 9219023A */ lbu $t9, 0x023A($s0) ## 0000023A
/* 00DCC 80A6C01C 33290002 */ andi $t1, $t9, 0x0002 ## $t1 = 00000000
/* 00DD0 80A6C020 15200005 */ bne $t1, $zero, .L80A6C038
/* 00DD4 80A6C024 00000000 */ nop
/* 00DD8 80A6C028 920A0286 */ lbu $t2, 0x0286($s0) ## 00000286
/* 00DDC 80A6C02C 314B0002 */ andi $t3, $t2, 0x0002 ## $t3 = 00000000
/* 00DE0 80A6C030 51600020 */ beql $t3, $zero, .L80A6C0B4
/* 00DE4 80A6C034 8619021C */ lh $t9, 0x021C($s0) ## 0000021C
.L80A6C038:
/* 00DE8 80A6C038 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 00DEC 80A6C03C AFA8004C */ sw $t0, 0x004C($sp)
/* 00DF0 80A6C040 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000
/* 00DF4 80A6C044 44815000 */ mtc1 $at, $f10 ## $f10 = 30.00
/* 00DF8 80A6C048 860C021E */ lh $t4, 0x021E($s0) ## 0000021E
/* 00DFC 80A6C04C 3C014170 */ lui $at, 0x4170 ## $at = 41700000
/* 00E00 80A6C050 460A0402 */ mul.s $f16, $f0, $f10
/* 00E04 80A6C054 448C3000 */ mtc1 $t4, $f6 ## $f6 = 0.00
/* 00E08 80A6C058 44819000 */ mtc1 $at, $f18 ## $f18 = 15.00
/* 00E0C 80A6C05C 8FA8004C */ lw $t0, 0x004C($sp)
/* 00E10 80A6C060 240F0032 */ addiu $t7, $zero, 0x0032 ## $t7 = 00000032
/* 00E14 80A6C064 46803220 */ cvt.s.w $f8, $f6
/* 00E18 80A6C068 46128101 */ sub.s $f4, $f16, $f18
/* 00E1C 80A6C06C 46044280 */ add.s $f10, $f8, $f4
/* 00E20 80A6C070 4600540D */ trunc.w.s $f16, $f10
/* 00E24 80A6C074 440E8000 */ mfc1 $t6, $f16
/* 00E28 80A6C078 00000000 */ nop
/* 00E2C 80A6C07C A60E021E */ sh $t6, 0x021E($s0) ## 0000021E
/* 00E30 80A6C080 8602021E */ lh $v0, 0x021E($s0) ## 0000021E
/* 00E34 80A6C084 28410033 */ slti $at, $v0, 0x0033
/* 00E38 80A6C088 54200005 */ bnel $at, $zero, .L80A6C0A0
/* 00E3C 80A6C08C 2841FFCE */ slti $at, $v0, 0xFFCE
/* 00E40 80A6C090 A60F021E */ sh $t7, 0x021E($s0) ## 0000021E
/* 00E44 80A6C094 10000006 */ beq $zero, $zero, .L80A6C0B0
/* 00E48 80A6C098 8602021E */ lh $v0, 0x021E($s0) ## 0000021E
/* 00E4C 80A6C09C 2841FFCE */ slti $at, $v0, 0xFFCE
.L80A6C0A0:
/* 00E50 80A6C0A0 10200003 */ beq $at, $zero, .L80A6C0B0
/* 00E54 80A6C0A4 2418FFCE */ addiu $t8, $zero, 0xFFCE ## $t8 = FFFFFFCE
/* 00E58 80A6C0A8 A618021E */ sh $t8, 0x021E($s0) ## 0000021E
/* 00E5C 80A6C0AC 8602021E */ lh $v0, 0x021E($s0) ## 0000021E
.L80A6C0B0:
/* 00E60 80A6C0B0 8619021C */ lh $t9, 0x021C($s0) ## 0000021C
.L80A6C0B4:
/* 00E64 80A6C0B4 240AFED4 */ addiu $t2, $zero, 0xFED4 ## $t2 = FFFFFED4
/* 00E68 80A6C0B8 03224821 */ addu $t1, $t9, $v0
/* 00E6C 80A6C0BC A609021C */ sh $t1, 0x021C($s0) ## 0000021C
/* 00E70 80A6C0C0 8603021C */ lh $v1, 0x021C($s0) ## 0000021C
/* 00E74 80A6C0C4 2861FED4 */ slti $at, $v1, 0xFED4
/* 00E78 80A6C0C8 50200004 */ beql $at, $zero, .L80A6C0DC
/* 00E7C 80A6C0CC 2861012D */ slti $at, $v1, 0x012D
/* 00E80 80A6C0D0 1000001C */ beq $zero, $zero, .L80A6C144
/* 00E84 80A6C0D4 A60A021C */ sh $t2, 0x021C($s0) ## 0000021C
/* 00E88 80A6C0D8 2861012D */ slti $at, $v1, 0x012D
.L80A6C0DC:
/* 00E8C 80A6C0DC 14200003 */ bne $at, $zero, .L80A6C0EC
/* 00E90 80A6C0E0 240B012C */ addiu $t3, $zero, 0x012C ## $t3 = 0000012C
/* 00E94 80A6C0E4 10000017 */ beq $zero, $zero, .L80A6C144
/* 00E98 80A6C0E8 A60B021C */ sh $t3, 0x021C($s0) ## 0000021C
.L80A6C0EC:
/* 00E9C 80A6C0EC 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 00EA0 80A6C0F0 AFA8004C */ sw $t0, 0x004C($sp)
/* 00EA4 80A6C0F4 3C013E80 */ lui $at, 0x3E80 ## $at = 3E800000
/* 00EA8 80A6C0F8 44819000 */ mtc1 $at, $f18 ## $f18 = 0.25
/* 00EAC 80A6C0FC 8FA8004C */ lw $t0, 0x004C($sp)
/* 00EB0 80A6C100 4612003C */ c.lt.s $f0, $f18
/* 00EB4 80A6C104 00000000 */ nop
/* 00EB8 80A6C108 4502000F */ bc1fl .L80A6C148
/* 00EBC 80A6C10C 860D0032 */ lh $t5, 0x0032($s0) ## 00000032
/* 00EC0 80A6C110 860C021C */ lh $t4, 0x021C($s0) ## 0000021C
/* 00EC4 80A6C114 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000
/* 00EC8 80A6C118 44814000 */ mtc1 $at, $f8 ## $f8 = 100.00
/* 00ECC 80A6C11C 448C3000 */ mtc1 $t4, $f6 ## $f6 = 0.00
/* 00ED0 80A6C120 00000000 */ nop
/* 00ED4 80A6C124 46803020 */ cvt.s.w $f0, $f6
/* 00ED8 80A6C128 46000005 */ abs.s $f0, $f0
/* 00EDC 80A6C12C 4608003C */ c.lt.s $f0, $f8
/* 00EE0 80A6C130 00000000 */ nop
/* 00EE4 80A6C134 45020004 */ bc1fl .L80A6C148
/* 00EE8 80A6C138 860D0032 */ lh $t5, 0x0032($s0) ## 00000032
/* 00EEC 80A6C13C A600021C */ sh $zero, 0x021C($s0) ## 0000021C
/* 00EF0 80A6C140 A600021E */ sh $zero, 0x021E($s0) ## 0000021E
.L80A6C144:
/* 00EF4 80A6C144 860D0032 */ lh $t5, 0x0032($s0) ## 00000032
.L80A6C148:
/* 00EF8 80A6C148 860E021C */ lh $t6, 0x021C($s0) ## 0000021C
/* 00EFC 80A6C14C 8E030150 */ lw $v1, 0x0150($s0) ## 00000150
/* 00F00 80A6C150 01AE7821 */ addu $t7, $t5, $t6
/* 00F04 80A6C154 A60F0032 */ sh $t7, 0x0032($s0) ## 00000032
/* 00F08 80A6C158 86180032 */ lh $t8, 0x0032($s0) ## 00000032
/* 00F0C 80A6C15C A61800B6 */ sh $t8, 0x00B6($s0) ## 000000B6
.L80A6C160:
/* 00F10 80A6C160 15030006 */ bne $t0, $v1, .L80A6C17C
/* 00F14 80A6C164 260401A0 */ addiu $a0, $s0, 0x01A0 ## $a0 = 000001A0
/* 00F18 80A6C168 0C02927F */ jal SkelAnime_FrameUpdateMatrix
/* 00F1C 80A6C16C AFA8004C */ sw $t0, 0x004C($sp)
/* 00F20 80A6C170 104000D1 */ beq $v0, $zero, .L80A6C4B8
/* 00F24 80A6C174 8FA8004C */ lw $t0, 0x004C($sp)
/* 00F28 80A6C178 8E030150 */ lw $v1, 0x0150($s0) ## 00000150
.L80A6C17C:
/* 00F2C 80A6C17C 261901A0 */ addiu $t9, $s0, 0x01A0 ## $t9 = 000001A0
/* 00F30 80A6C180 11030041 */ beq $t0, $v1, .L80A6C288
/* 00F34 80A6C184 AFB90034 */ sw $t9, 0x0034($sp)
/* 00F38 80A6C188 960901E4 */ lhu $t1, 0x01E4($s0) ## 000001E4
/* 00F3C 80A6C18C 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 00F40 80A6C190 AE080150 */ sw $t0, 0x0150($s0) ## 00000150
/* 00F44 80A6C194 312BFFFE */ andi $t3, $t1, 0xFFFE ## $t3 = 00000000
/* 00F48 80A6C198 A60B01E4 */ sh $t3, 0x01E4($s0) ## 000001E4
/* 00F4C 80A6C19C 316CFFFD */ andi $t4, $t3, 0xFFFD ## $t4 = 00000000
/* 00F50 80A6C1A0 1501000D */ bne $t0, $at, .L80A6C1D8
/* 00F54 80A6C1A4 A60C01E4 */ sh $t4, 0x01E4($s0) ## 000001E4
/* 00F58 80A6C1A8 3C078013 */ lui $a3, %hi(D_801333E0)
/* 00F5C 80A6C1AC 3C0D8013 */ lui $t5, %hi(D_801333E8)
/* 00F60 80A6C1B0 24E733E0 */ addiu $a3, %lo(D_801333E0)
/* 00F64 80A6C1B4 25AD33E8 */ addiu $t5, %lo(D_801333E8)
/* 00F68 80A6C1B8 AFAD0014 */ sw $t5, 0x0014($sp)
/* 00F6C 80A6C1BC AFA70010 */ sw $a3, 0x0010($sp)
/* 00F70 80A6C1C0 24042816 */ addiu $a0, $zero, 0x2816 ## $a0 = 00002816
/* 00F74 80A6C1C4 26050204 */ addiu $a1, $s0, 0x0204 ## $a1 = 00000204
/* 00F78 80A6C1C8 0C03DCE3 */ jal Audio_PlaySoundGeneral
/* 00F7C 80A6C1CC 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004
/* 00F80 80A6C1D0 10000011 */ beq $zero, $zero, .L80A6C218
/* 00F84 80A6C1D4 00000000 */ nop
.L80A6C1D8:
/* 00F88 80A6C1D8 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
/* 00F8C 80A6C1DC 1501000C */ bne $t0, $at, .L80A6C210
/* 00F90 80A6C1E0 3C078013 */ lui $a3, %hi(D_801333E0)
/* 00F94 80A6C1E4 3C0E8013 */ lui $t6, %hi(D_801333E8)
/* 00F98 80A6C1E8 24E733E0 */ addiu $a3, %lo(D_801333E0)
/* 00F9C 80A6C1EC 25CE33E8 */ addiu $t6, %lo(D_801333E8)
/* 00FA0 80A6C1F0 AFAE0014 */ sw $t6, 0x0014($sp)
/* 00FA4 80A6C1F4 AFA70010 */ sw $a3, 0x0010($sp)
/* 00FA8 80A6C1F8 24042805 */ addiu $a0, $zero, 0x2805 ## $a0 = 00002805
/* 00FAC 80A6C1FC 26050204 */ addiu $a1, $s0, 0x0204 ## $a1 = 00000204
/* 00FB0 80A6C200 0C03DCE3 */ jal Audio_PlaySoundGeneral
/* 00FB4 80A6C204 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004
/* 00FB8 80A6C208 10000003 */ beq $zero, $zero, .L80A6C218
/* 00FBC 80A6C20C 00000000 */ nop
.L80A6C210:
/* 00FC0 80A6C210 0C29AF3B */ jal func_80A6BCEC
/* 00FC4 80A6C214 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
.L80A6C218:
/* 00FC8 80A6C218 0C29ACC3 */ jal func_80A6B30C
/* 00FCC 80A6C21C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00FD0 80A6C220 E7A00040 */ swc1 $f0, 0x0040($sp)
/* 00FD4 80A6C224 8E0F0150 */ lw $t7, 0x0150($s0) ## 00000150
/* 00FD8 80A6C228 3C0480A7 */ lui $a0, %hi(D_80A6D370) ## $a0 = 80A70000
/* 00FDC 80A6C22C 000FC080 */ sll $t8, $t7, 2
/* 00FE0 80A6C230 00982021 */ addu $a0, $a0, $t8
/* 00FE4 80A6C234 0C028800 */ jal SkelAnime_GetFrameCount
/* 00FE8 80A6C238 8C84D370 */ lw $a0, %lo(D_80A6D370)($a0)
/* 00FEC 80A6C23C 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
/* 00FF0 80A6C240 8E190150 */ lw $t9, 0x0150($s0) ## 00000150
/* 00FF4 80A6C244 3C01C040 */ lui $at, 0xC040 ## $at = C0400000
/* 00FF8 80A6C248 468022A0 */ cvt.s.w $f10, $f4
/* 00FFC 80A6C24C 44818000 */ mtc1 $at, $f16 ## $f16 = -3.00
/* 01000 80A6C250 3C0580A7 */ lui $a1, %hi(D_80A6D370) ## $a1 = 80A70000
/* 01004 80A6C254 00194880 */ sll $t1, $t9, 2
/* 01008 80A6C258 00A92821 */ addu $a1, $a1, $t1
/* 0100C 80A6C25C 240A0002 */ addiu $t2, $zero, 0x0002 ## $t2 = 00000002
/* 01010 80A6C260 AFAA0014 */ sw $t2, 0x0014($sp)
/* 01014 80A6C264 8CA5D370 */ lw $a1, %lo(D_80A6D370)($a1)
/* 01018 80A6C268 E7AA0010 */ swc1 $f10, 0x0010($sp)
/* 0101C 80A6C26C 8FA40034 */ lw $a0, 0x0034($sp)
/* 01020 80A6C270 8FA60040 */ lw $a2, 0x0040($sp)
/* 01024 80A6C274 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
/* 01028 80A6C278 0C029468 */ jal SkelAnime_ChangeAnim
/* 0102C 80A6C27C E7B00018 */ swc1 $f16, 0x0018($sp)
/* 01030 80A6C280 1000008E */ beq $zero, $zero, .L80A6C4BC
/* 01034 80A6C284 8FBF002C */ lw $ra, 0x002C($sp)
.L80A6C288:
/* 01038 80A6C288 00035880 */ sll $t3, $v1, 2
/* 0103C 80A6C28C 3C0280A7 */ lui $v0, %hi(D_80A6D510) ## $v0 = 80A70000
/* 01040 80A6C290 004B1021 */ addu $v0, $v0, $t3
/* 01044 80A6C294 8C42D510 */ lw $v0, %lo(D_80A6D510)($v0)
/* 01048 80A6C298 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 0104C 80A6C29C 10400009 */ beq $v0, $zero, .L80A6C2C4
/* 01050 80A6C2A0 00000000 */ nop
/* 01054 80A6C2A4 10410024 */ beq $v0, $at, .L80A6C338
/* 01058 80A6C2A8 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
/* 0105C 80A6C2AC 10410022 */ beq $v0, $at, .L80A6C338
/* 01060 80A6C2B0 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
/* 01064 80A6C2B4 50410021 */ beql $v0, $at, .L80A6C33C
/* 01068 80A6C2B8 960F01E4 */ lhu $t7, 0x01E4($s0) ## 000001E4
/* 0106C 80A6C2BC 1000001F */ beq $zero, $zero, .L80A6C33C
/* 01070 80A6C2C0 960F01E4 */ lhu $t7, 0x01E4($s0) ## 000001E4
.L80A6C2C4:
/* 01074 80A6C2C4 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 01078 80A6C2C8 00000000 */ nop
/* 0107C 80A6C2CC 3C013E80 */ lui $at, 0x3E80 ## $at = 3E800000
/* 01080 80A6C2D0 44819000 */ mtc1 $at, $f18 ## $f18 = 0.25
/* 01084 80A6C2D4 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 01088 80A6C2D8 4612003C */ c.lt.s $f0, $f18
/* 0108C 80A6C2DC 00000000 */ nop
/* 01090 80A6C2E0 45000005 */ bc1f .L80A6C2F8
/* 01094 80A6C2E4 00000000 */ nop
/* 01098 80A6C2E8 44813000 */ mtc1 $at, $f6 ## $f6 = 1.00
/* 0109C 80A6C2EC 24080004 */ addiu $t0, $zero, 0x0004 ## $t0 = 00000004
/* 010A0 80A6C2F0 10000011 */ beq $zero, $zero, .L80A6C338
/* 010A4 80A6C2F4 E6060218 */ swc1 $f6, 0x0218($s0) ## 00000218
.L80A6C2F8:
/* 010A8 80A6C2F8 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 010AC 80A6C2FC 00000000 */ nop
/* 010B0 80A6C300 3C014000 */ lui $at, 0x4000 ## $at = 40000000
/* 010B4 80A6C304 44814000 */ mtc1 $at, $f8 ## $f8 = 2.00
/* 010B8 80A6C308 3C0880A7 */ lui $t0, %hi(D_80A6D4F4) ## $t0 = 80A70000
/* 010BC 80A6C30C 44808000 */ mtc1 $zero, $f16 ## $f16 = 0.00
/* 010C0 80A6C310 46080102 */ mul.s $f4, $f0, $f8
/* 010C4 80A6C314 44809000 */ mtc1 $zero, $f18 ## $f18 = 0.00
/* 010C8 80A6C318 4600228D */ trunc.w.s $f10, $f4
/* 010CC 80A6C31C 440D5000 */ mfc1 $t5, $f10
/* 010D0 80A6C320 00000000 */ nop
/* 010D4 80A6C324 000D7080 */ sll $t6, $t5, 2
/* 010D8 80A6C328 010E4021 */ addu $t0, $t0, $t6
/* 010DC 80A6C32C 8D08D4F4 */ lw $t0, %lo(D_80A6D4F4)($t0)
/* 010E0 80A6C330 E6100068 */ swc1 $f16, 0x0068($s0) ## 00000068
/* 010E4 80A6C334 E6120218 */ swc1 $f18, 0x0218($s0) ## 00000218
.L80A6C338:
/* 010E8 80A6C338 960F01E4 */ lhu $t7, 0x01E4($s0) ## 000001E4
.L80A6C33C:
/* 010EC 80A6C33C 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 010F0 80A6C340 3C078013 */ lui $a3, %hi(D_801333E0)
/* 010F4 80A6C344 31F9FFFE */ andi $t9, $t7, 0xFFFE ## $t9 = 00000000
/* 010F8 80A6C348 A61901E4 */ sh $t9, 0x01E4($s0) ## 000001E4
/* 010FC 80A6C34C 3329FFFD */ andi $t1, $t9, 0xFFFD ## $t1 = 00000000
/* 01100 80A6C350 1501000D */ bne $t0, $at, .L80A6C388
/* 01104 80A6C354 A60901E4 */ sh $t1, 0x01E4($s0) ## 000001E4
/* 01108 80A6C358 3C0A8013 */ lui $t2, %hi(D_801333E8)
/* 0110C 80A6C35C 24E733E0 */ addiu $a3, %lo(D_801333E0)
/* 01110 80A6C360 254A33E8 */ addiu $t2, %lo(D_801333E8)
/* 01114 80A6C364 AFAA0014 */ sw $t2, 0x0014($sp)
/* 01118 80A6C368 AFA70010 */ sw $a3, 0x0010($sp)
/* 0111C 80A6C36C 24042816 */ addiu $a0, $zero, 0x2816 ## $a0 = 00002816
/* 01120 80A6C370 26050204 */ addiu $a1, $s0, 0x0204 ## $a1 = 00000204
/* 01124 80A6C374 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004
/* 01128 80A6C378 0C03DCE3 */ jal Audio_PlaySoundGeneral
/* 0112C 80A6C37C AFA8004C */ sw $t0, 0x004C($sp)
/* 01130 80A6C380 10000014 */ beq $zero, $zero, .L80A6C3D4
/* 01134 80A6C384 8FA8004C */ lw $t0, 0x004C($sp)
.L80A6C388:
/* 01138 80A6C388 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
/* 0113C 80A6C38C 1501000E */ bne $t0, $at, .L80A6C3C8
/* 01140 80A6C390 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01144 80A6C394 3C078013 */ lui $a3, %hi(D_801333E0)
/* 01148 80A6C398 3C0B8013 */ lui $t3, %hi(D_801333E8)
/* 0114C 80A6C39C 24E733E0 */ addiu $a3, %lo(D_801333E0)
/* 01150 80A6C3A0 256B33E8 */ addiu $t3, %lo(D_801333E8)
/* 01154 80A6C3A4 AFAB0014 */ sw $t3, 0x0014($sp)
/* 01158 80A6C3A8 AFA70010 */ sw $a3, 0x0010($sp)
/* 0115C 80A6C3AC 24042805 */ addiu $a0, $zero, 0x2805 ## $a0 = 00002805
/* 01160 80A6C3B0 26050204 */ addiu $a1, $s0, 0x0204 ## $a1 = 00000204
/* 01164 80A6C3B4 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004
/* 01168 80A6C3B8 0C03DCE3 */ jal Audio_PlaySoundGeneral
/* 0116C 80A6C3BC AFA8004C */ sw $t0, 0x004C($sp)
/* 01170 80A6C3C0 10000004 */ beq $zero, $zero, .L80A6C3D4
/* 01174 80A6C3C4 8FA8004C */ lw $t0, 0x004C($sp)
.L80A6C3C8:
/* 01178 80A6C3C8 0C29AF3B */ jal func_80A6BCEC
/* 0117C 80A6C3CC AFA8004C */ sw $t0, 0x004C($sp)
/* 01180 80A6C3D0 8FA8004C */ lw $t0, 0x004C($sp)
.L80A6C3D4:
/* 01184 80A6C3D4 8E0C0150 */ lw $t4, 0x0150($s0) ## 00000150
/* 01188 80A6C3D8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 0118C 80A6C3DC 110C001D */ beq $t0, $t4, .L80A6C454
/* 01190 80A6C3E0 00000000 */ nop
/* 01194 80A6C3E4 0C29ACC3 */ jal func_80A6B30C
/* 01198 80A6C3E8 AE080150 */ sw $t0, 0x0150($s0) ## 00000150
/* 0119C 80A6C3EC E7A00040 */ swc1 $f0, 0x0040($sp)
/* 011A0 80A6C3F0 8E0D0150 */ lw $t5, 0x0150($s0) ## 00000150
/* 011A4 80A6C3F4 3C0480A7 */ lui $a0, %hi(D_80A6D370) ## $a0 = 80A70000
/* 011A8 80A6C3F8 000D7080 */ sll $t6, $t5, 2
/* 011AC 80A6C3FC 008E2021 */ addu $a0, $a0, $t6
/* 011B0 80A6C400 0C028800 */ jal SkelAnime_GetFrameCount
/* 011B4 80A6C404 8C84D370 */ lw $a0, %lo(D_80A6D370)($a0)
/* 011B8 80A6C408 44823000 */ mtc1 $v0, $f6 ## $f6 = 0.00
/* 011BC 80A6C40C 8E0F0150 */ lw $t7, 0x0150($s0) ## 00000150
/* 011C0 80A6C410 3C01C040 */ lui $at, 0xC040 ## $at = C0400000
/* 011C4 80A6C414 46803220 */ cvt.s.w $f8, $f6
/* 011C8 80A6C418 44812000 */ mtc1 $at, $f4 ## $f4 = -3.00
/* 011CC 80A6C41C 3C0580A7 */ lui $a1, %hi(D_80A6D370) ## $a1 = 80A70000
/* 011D0 80A6C420 000FC080 */ sll $t8, $t7, 2
/* 011D4 80A6C424 00B82821 */ addu $a1, $a1, $t8
/* 011D8 80A6C428 24190002 */ addiu $t9, $zero, 0x0002 ## $t9 = 00000002
/* 011DC 80A6C42C AFB90014 */ sw $t9, 0x0014($sp)
/* 011E0 80A6C430 8CA5D370 */ lw $a1, %lo(D_80A6D370)($a1)
/* 011E4 80A6C434 E7A80010 */ swc1 $f8, 0x0010($sp)
/* 011E8 80A6C438 8FA40034 */ lw $a0, 0x0034($sp)
/* 011EC 80A6C43C 8FA60040 */ lw $a2, 0x0040($sp)
/* 011F0 80A6C440 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
/* 011F4 80A6C444 0C029468 */ jal SkelAnime_ChangeAnim
/* 011F8 80A6C448 E7A40018 */ swc1 $f4, 0x0018($sp)
/* 011FC 80A6C44C 1000001B */ beq $zero, $zero, .L80A6C4BC
/* 01200 80A6C450 8FBF002C */ lw $ra, 0x002C($sp)
.L80A6C454:
/* 01204 80A6C454 0C29ACC3 */ jal func_80A6B30C
/* 01208 80A6C458 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 0120C 80A6C45C E7A00040 */ swc1 $f0, 0x0040($sp)
/* 01210 80A6C460 8E090150 */ lw $t1, 0x0150($s0) ## 00000150
/* 01214 80A6C464 3C0480A7 */ lui $a0, %hi(D_80A6D370) ## $a0 = 80A70000
/* 01218 80A6C468 00095080 */ sll $t2, $t1, 2
/* 0121C 80A6C46C 008A2021 */ addu $a0, $a0, $t2
/* 01220 80A6C470 0C028800 */ jal SkelAnime_GetFrameCount
/* 01224 80A6C474 8C84D370 */ lw $a0, %lo(D_80A6D370)($a0)
/* 01228 80A6C478 44825000 */ mtc1 $v0, $f10 ## $f10 = 0.00
/* 0122C 80A6C47C 8E0B0150 */ lw $t3, 0x0150($s0) ## 00000150
/* 01230 80A6C480 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
/* 01234 80A6C484 46805420 */ cvt.s.w $f16, $f10
/* 01238 80A6C488 3C0580A7 */ lui $a1, %hi(D_80A6D370) ## $a1 = 80A70000
/* 0123C 80A6C48C 000B6080 */ sll $t4, $t3, 2
/* 01240 80A6C490 00AC2821 */ addu $a1, $a1, $t4
/* 01244 80A6C494 240D0002 */ addiu $t5, $zero, 0x0002 ## $t5 = 00000002
/* 01248 80A6C498 44070000 */ mfc1 $a3, $f0
/* 0124C 80A6C49C AFAD0014 */ sw $t5, 0x0014($sp)
/* 01250 80A6C4A0 8CA5D370 */ lw $a1, %lo(D_80A6D370)($a1)
/* 01254 80A6C4A4 E7B00010 */ swc1 $f16, 0x0010($sp)
/* 01258 80A6C4A8 8FA40034 */ lw $a0, 0x0034($sp)
/* 0125C 80A6C4AC 8FA60040 */ lw $a2, 0x0040($sp)
/* 01260 80A6C4B0 0C029468 */ jal SkelAnime_ChangeAnim
/* 01264 80A6C4B4 E7A00018 */ swc1 $f0, 0x0018($sp)
.L80A6C4B8:
/* 01268 80A6C4B8 8FBF002C */ lw $ra, 0x002C($sp)
.L80A6C4BC:
/* 0126C 80A6C4BC 8FB00028 */ lw $s0, 0x0028($sp)
/* 01270 80A6C4C0 27BD0050 */ addiu $sp, $sp, 0x0050 ## $sp = 00000000
/* 01274 80A6C4C4 03E00008 */ jr $ra
/* 01278 80A6C4C8 00000000 */ nop

View file

@ -1,44 +0,0 @@
glabel func_80A6C4CC
/* 0127C 80A6C4CC 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8
/* 01280 80A6C4D0 AFBF002C */ sw $ra, 0x002C($sp)
/* 01284 80A6C4D4 AFB00028 */ sw $s0, 0x0028($sp)
/* 01288 80A6C4D8 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
/* 0128C 80A6C4DC 240E0002 */ addiu $t6, $zero, 0x0002 ## $t6 = 00000002
/* 01290 80A6C4E0 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 01294 80A6C4E4 AC8E014C */ sw $t6, 0x014C($a0) ## 0000014C
/* 01298 80A6C4E8 AC800150 */ sw $zero, 0x0150($a0) ## 00000150
/* 0129C 80A6C4EC A480021C */ sh $zero, 0x021C($a0) ## 0000021C
/* 012A0 80A6C4F0 A480021E */ sh $zero, 0x021E($a0) ## 0000021E
/* 012A4 80A6C4F4 E4800068 */ swc1 $f0, 0x0068($a0) ## 00000068
/* 012A8 80A6C4F8 0C29ACC3 */ jal func_80A6B30C
/* 012AC 80A6C4FC E4800218 */ swc1 $f0, 0x0218($a0) ## 00000218
/* 012B0 80A6C500 E7A00030 */ swc1 $f0, 0x0030($sp)
/* 012B4 80A6C504 8E0F0150 */ lw $t7, 0x0150($s0) ## 00000150
/* 012B8 80A6C508 3C0480A7 */ lui $a0, %hi(D_80A6D370) ## $a0 = 80A70000
/* 012BC 80A6C50C 000FC080 */ sll $t8, $t7, 2
/* 012C0 80A6C510 00982021 */ addu $a0, $a0, $t8
/* 012C4 80A6C514 0C028800 */ jal SkelAnime_GetFrameCount
/* 012C8 80A6C518 8C84D370 */ lw $a0, %lo(D_80A6D370)($a0)
/* 012CC 80A6C51C 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
/* 012D0 80A6C520 8E190150 */ lw $t9, 0x0150($s0) ## 00000150
/* 012D4 80A6C524 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
/* 012D8 80A6C528 468021A0 */ cvt.s.w $f6, $f4
/* 012DC 80A6C52C 3C0580A7 */ lui $a1, %hi(D_80A6D370) ## $a1 = 80A70000
/* 012E0 80A6C530 00194080 */ sll $t0, $t9, 2
/* 012E4 80A6C534 00A82821 */ addu $a1, $a1, $t0
/* 012E8 80A6C538 24090002 */ addiu $t1, $zero, 0x0002 ## $t1 = 00000002
/* 012EC 80A6C53C 44070000 */ mfc1 $a3, $f0
/* 012F0 80A6C540 AFA90014 */ sw $t1, 0x0014($sp)
/* 012F4 80A6C544 8CA5D370 */ lw $a1, %lo(D_80A6D370)($a1)
/* 012F8 80A6C548 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 012FC 80A6C54C 260401A0 */ addiu $a0, $s0, 0x01A0 ## $a0 = 000001A0
/* 01300 80A6C550 8FA60030 */ lw $a2, 0x0030($sp)
/* 01304 80A6C554 0C029468 */ jal SkelAnime_ChangeAnim
/* 01308 80A6C558 E7A00018 */ swc1 $f0, 0x0018($sp)
/* 0130C 80A6C55C 8FBF002C */ lw $ra, 0x002C($sp)
/* 01310 80A6C560 8FB00028 */ lw $s0, 0x0028($sp)
/* 01314 80A6C564 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000
/* 01318 80A6C568 03E00008 */ jr $ra
/* 0131C 80A6C56C 00000000 */ nop

View file

@ -1,99 +0,0 @@
.late_rodata
glabel D_80A6D5D4
.float 0.4
glabel D_80A6D5D8
.float 0.8
.text
glabel func_80A6C570
/* 01320 80A6C570 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0
/* 01324 80A6C574 AFB00028 */ sw $s0, 0x0028($sp)
/* 01328 80A6C578 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 0132C 80A6C57C AFBF002C */ sw $ra, 0x002C($sp)
/* 01330 80A6C580 248401A0 */ addiu $a0, $a0, 0x01A0 ## $a0 = 000001A0
/* 01334 80A6C584 AFA50044 */ sw $a1, 0x0044($sp)
/* 01338 80A6C588 0C02927F */ jal SkelAnime_FrameUpdateMatrix
/* 0133C 80A6C58C AFA40030 */ sw $a0, 0x0030($sp)
/* 01340 80A6C590 50400043 */ beql $v0, $zero, .L80A6C6A0
/* 01344 80A6C594 8FBF002C */ lw $ra, 0x002C($sp)
/* 01348 80A6C598 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 0134C 80A6C59C 00000000 */ nop
/* 01350 80A6C5A0 3C0180A7 */ lui $at, %hi(D_80A6D5D4) ## $at = 80A70000
/* 01354 80A6C5A4 C424D5D4 */ lwc1 $f4, %lo(D_80A6D5D4)($at)
/* 01358 80A6C5A8 3C0180A7 */ lui $at, %hi(D_80A6D5D8) ## $at = 80A70000
/* 0135C 80A6C5AC 4604003C */ c.lt.s $f0, $f4
/* 01360 80A6C5B0 00000000 */ nop
/* 01364 80A6C5B4 45000003 */ bc1f .L80A6C5C4
/* 01368 80A6C5B8 00000000 */ nop
/* 0136C 80A6C5BC 1000001E */ beq $zero, $zero, .L80A6C638
/* 01370 80A6C5C0 AE000150 */ sw $zero, 0x0150($s0) ## 00000150
.L80A6C5C4:
/* 01374 80A6C5C4 C426D5D8 */ lwc1 $f6, %lo(D_80A6D5D8)($at)
/* 01378 80A6C5C8 3C078013 */ lui $a3, %hi(D_801333E0)
/* 0137C 80A6C5CC 24E733E0 */ addiu $a3, %lo(D_801333E0)
/* 01380 80A6C5D0 4606003C */ c.lt.s $f0, $f6
/* 01384 80A6C5D4 24180003 */ addiu $t8, $zero, 0x0003 ## $t8 = 00000003
/* 01388 80A6C5D8 24042805 */ addiu $a0, $zero, 0x2805 ## $a0 = 00002805
/* 0138C 80A6C5DC 26050204 */ addiu $a1, $s0, 0x0204 ## $a1 = 00000204
/* 01390 80A6C5E0 4500000F */ bc1f .L80A6C620
/* 01394 80A6C5E4 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004
/* 01398 80A6C5E8 3C078013 */ lui $a3, %hi(D_801333E0)
/* 0139C 80A6C5EC 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001
/* 013A0 80A6C5F0 3C0F8013 */ lui $t7, %hi(D_801333E8)
/* 013A4 80A6C5F4 24E733E0 */ addiu $a3, %lo(D_801333E0)
/* 013A8 80A6C5F8 AE0E0150 */ sw $t6, 0x0150($s0) ## 00000150
/* 013AC 80A6C5FC 25EF33E8 */ addiu $t7, %lo(D_801333E8)
/* 013B0 80A6C600 AFAF0014 */ sw $t7, 0x0014($sp)
/* 013B4 80A6C604 AFA70010 */ sw $a3, 0x0010($sp)
/* 013B8 80A6C608 24042816 */ addiu $a0, $zero, 0x2816 ## $a0 = 00002816
/* 013BC 80A6C60C 26050204 */ addiu $a1, $s0, 0x0204 ## $a1 = 00000204
/* 013C0 80A6C610 0C03DCE3 */ jal Audio_PlaySoundGeneral
/* 013C4 80A6C614 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004
/* 013C8 80A6C618 10000007 */ beq $zero, $zero, .L80A6C638
/* 013CC 80A6C61C 00000000 */ nop
.L80A6C620:
/* 013D0 80A6C620 3C198013 */ lui $t9, %hi(D_801333E8)
/* 013D4 80A6C624 AE180150 */ sw $t8, 0x0150($s0) ## 00000150
/* 013D8 80A6C628 273933E8 */ addiu $t9, %lo(D_801333E8)
/* 013DC 80A6C62C AFB90014 */ sw $t9, 0x0014($sp)
/* 013E0 80A6C630 0C03DCE3 */ jal Audio_PlaySoundGeneral
/* 013E4 80A6C634 AFA70010 */ sw $a3, 0x0010($sp)
.L80A6C638:
/* 013E8 80A6C638 0C29ACC3 */ jal func_80A6B30C
/* 013EC 80A6C63C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 013F0 80A6C640 E7A00034 */ swc1 $f0, 0x0034($sp)
/* 013F4 80A6C644 8E080150 */ lw $t0, 0x0150($s0) ## 00000150
/* 013F8 80A6C648 3C0480A7 */ lui $a0, %hi(D_80A6D370) ## $a0 = 80A70000
/* 013FC 80A6C64C 00084880 */ sll $t1, $t0, 2
/* 01400 80A6C650 00892021 */ addu $a0, $a0, $t1
/* 01404 80A6C654 0C028800 */ jal SkelAnime_GetFrameCount
/* 01408 80A6C658 8C84D370 */ lw $a0, %lo(D_80A6D370)($a0)
/* 0140C 80A6C65C 44824000 */ mtc1 $v0, $f8 ## $f8 = 0.00
/* 01410 80A6C660 8E0A0150 */ lw $t2, 0x0150($s0) ## 00000150
/* 01414 80A6C664 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
/* 01418 80A6C668 468042A0 */ cvt.s.w $f10, $f8
/* 0141C 80A6C66C 3C0580A7 */ lui $a1, %hi(D_80A6D370) ## $a1 = 80A70000
/* 01420 80A6C670 000A5880 */ sll $t3, $t2, 2
/* 01424 80A6C674 00AB2821 */ addu $a1, $a1, $t3
/* 01428 80A6C678 240C0002 */ addiu $t4, $zero, 0x0002 ## $t4 = 00000002
/* 0142C 80A6C67C 44070000 */ mfc1 $a3, $f0
/* 01430 80A6C680 AFAC0014 */ sw $t4, 0x0014($sp)
/* 01434 80A6C684 8CA5D370 */ lw $a1, %lo(D_80A6D370)($a1)
/* 01438 80A6C688 E7AA0010 */ swc1 $f10, 0x0010($sp)
/* 0143C 80A6C68C 8FA40030 */ lw $a0, 0x0030($sp)
/* 01440 80A6C690 8FA60034 */ lw $a2, 0x0034($sp)
/* 01444 80A6C694 0C029468 */ jal SkelAnime_ChangeAnim
/* 01448 80A6C698 E7A00018 */ swc1 $f0, 0x0018($sp)
/* 0144C 80A6C69C 8FBF002C */ lw $ra, 0x002C($sp)
.L80A6C6A0:
/* 01450 80A6C6A0 8FB00028 */ lw $s0, 0x0028($sp)
/* 01454 80A6C6A4 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000
/* 01458 80A6C6A8 03E00008 */ jr $ra
/* 0145C 80A6C6AC 00000000 */ nop

View file

@ -1,47 +0,0 @@
glabel func_80A6C6B0
/* 01460 80A6C6B0 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8
/* 01464 80A6C6B4 AFBF002C */ sw $ra, 0x002C($sp)
/* 01468 80A6C6B8 AFB00028 */ sw $s0, 0x0028($sp)
/* 0146C 80A6C6BC 8C8F0004 */ lw $t7, 0x0004($a0) ## 00000004
/* 01470 80A6C6C0 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
/* 01474 80A6C6C4 240E0003 */ addiu $t6, $zero, 0x0003 ## $t6 = 00000003
/* 01478 80A6C6C8 35F80030 */ ori $t8, $t7, 0x0030 ## $t8 = 00000030
/* 0147C 80A6C6CC 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 01480 80A6C6D0 AC8E014C */ sw $t6, 0x014C($a0) ## 0000014C
/* 01484 80A6C6D4 AC800150 */ sw $zero, 0x0150($a0) ## 00000150
/* 01488 80A6C6D8 A480021C */ sh $zero, 0x021C($a0) ## 0000021C
/* 0148C 80A6C6DC A480021E */ sh $zero, 0x021E($a0) ## 0000021E
/* 01490 80A6C6E0 AC980004 */ sw $t8, 0x0004($a0) ## 00000004
/* 01494 80A6C6E4 E4800068 */ swc1 $f0, 0x0068($a0) ## 00000068
/* 01498 80A6C6E8 0C29ACC3 */ jal func_80A6B30C
/* 0149C 80A6C6EC E4800218 */ swc1 $f0, 0x0218($a0) ## 00000218
/* 014A0 80A6C6F0 E7A00030 */ swc1 $f0, 0x0030($sp)
/* 014A4 80A6C6F4 8E190150 */ lw $t9, 0x0150($s0) ## 00000150
/* 014A8 80A6C6F8 3C0480A7 */ lui $a0, %hi(D_80A6D370) ## $a0 = 80A70000
/* 014AC 80A6C6FC 00194080 */ sll $t0, $t9, 2
/* 014B0 80A6C700 00882021 */ addu $a0, $a0, $t0
/* 014B4 80A6C704 0C028800 */ jal SkelAnime_GetFrameCount
/* 014B8 80A6C708 8C84D370 */ lw $a0, %lo(D_80A6D370)($a0)
/* 014BC 80A6C70C 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
/* 014C0 80A6C710 8E090150 */ lw $t1, 0x0150($s0) ## 00000150
/* 014C4 80A6C714 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
/* 014C8 80A6C718 468021A0 */ cvt.s.w $f6, $f4
/* 014CC 80A6C71C 3C0580A7 */ lui $a1, %hi(D_80A6D370) ## $a1 = 80A70000
/* 014D0 80A6C720 00095080 */ sll $t2, $t1, 2
/* 014D4 80A6C724 00AA2821 */ addu $a1, $a1, $t2
/* 014D8 80A6C728 240B0002 */ addiu $t3, $zero, 0x0002 ## $t3 = 00000002
/* 014DC 80A6C72C 44070000 */ mfc1 $a3, $f0
/* 014E0 80A6C730 AFAB0014 */ sw $t3, 0x0014($sp)
/* 014E4 80A6C734 8CA5D370 */ lw $a1, %lo(D_80A6D370)($a1)
/* 014E8 80A6C738 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 014EC 80A6C73C 260401A0 */ addiu $a0, $s0, 0x01A0 ## $a0 = 000001A0
/* 014F0 80A6C740 8FA60030 */ lw $a2, 0x0030($sp)
/* 014F4 80A6C744 0C029468 */ jal SkelAnime_ChangeAnim
/* 014F8 80A6C748 E7A00018 */ swc1 $f0, 0x0018($sp)
/* 014FC 80A6C74C 8FBF002C */ lw $ra, 0x002C($sp)
/* 01500 80A6C750 8FB00028 */ lw $s0, 0x0028($sp)
/* 01504 80A6C754 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000
/* 01508 80A6C758 03E00008 */ jr $ra
/* 0150C 80A6C75C 00000000 */ nop

View file

@ -1,115 +0,0 @@
.late_rodata
glabel D_80A6D5DC
.float 0.4
glabel D_80A6D5E0
.float 0.8
.text
glabel func_80A6C760
/* 01510 80A6C760 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0
/* 01514 80A6C764 AFBF002C */ sw $ra, 0x002C($sp)
/* 01518 80A6C768 AFB00028 */ sw $s0, 0x0028($sp)
/* 0151C 80A6C76C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 01520 80A6C770 0C29AF5F */ jal func_80A6BD7C
/* 01524 80A6C774 AFA50044 */ sw $a1, 0x0044($sp)
/* 01528 80A6C778 260401A0 */ addiu $a0, $s0, 0x01A0 ## $a0 = 000001A0
/* 0152C 80A6C77C 0C02927F */ jal SkelAnime_FrameUpdateMatrix
/* 01530 80A6C780 AFA40030 */ sw $a0, 0x0030($sp)
/* 01534 80A6C784 50400052 */ beql $v0, $zero, .L80A6C8D0
/* 01538 80A6C788 8FBF002C */ lw $ra, 0x002C($sp)
/* 0153C 80A6C78C 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 01540 80A6C790 00000000 */ nop
/* 01544 80A6C794 3C0180A7 */ lui $at, %hi(D_80A6D5DC) ## $at = 80A70000
/* 01548 80A6C798 C424D5DC */ lwc1 $f4, %lo(D_80A6D5DC)($at)
/* 0154C 80A6C79C 3C0180A7 */ lui $at, %hi(D_80A6D5E0) ## $at = 80A70000
/* 01550 80A6C7A0 4604003C */ c.lt.s $f0, $f4
/* 01554 80A6C7A4 00000000 */ nop
/* 01558 80A6C7A8 45000003 */ bc1f .L80A6C7B8
/* 0155C 80A6C7AC 00000000 */ nop
/* 01560 80A6C7B0 10000024 */ beq $zero, $zero, .L80A6C844
/* 01564 80A6C7B4 AE000150 */ sw $zero, 0x0150($s0) ## 00000150
.L80A6C7B8:
/* 01568 80A6C7B8 C426D5E0 */ lwc1 $f6, %lo(D_80A6D5E0)($at)
/* 0156C 80A6C7BC 3C078013 */ lui $a3, %hi(D_801333E0)
/* 01570 80A6C7C0 24E733E0 */ addiu $a3, %lo(D_801333E0)
/* 01574 80A6C7C4 4606003C */ c.lt.s $f0, $f6
/* 01578 80A6C7C8 24080003 */ addiu $t0, $zero, 0x0003 ## $t0 = 00000003
/* 0157C 80A6C7CC 24042805 */ addiu $a0, $zero, 0x2805 ## $a0 = 00002805
/* 01580 80A6C7D0 26050204 */ addiu $a1, $s0, 0x0204 ## $a1 = 00000204
/* 01584 80A6C7D4 45000012 */ bc1f .L80A6C820
/* 01588 80A6C7D8 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004
/* 0158C 80A6C7DC 960F01E4 */ lhu $t7, 0x01E4($s0) ## 000001E4
/* 01590 80A6C7E0 3C078013 */ lui $a3, %hi(D_801333E0)
/* 01594 80A6C7E4 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001
/* 01598 80A6C7E8 3C198013 */ lui $t9, %hi(D_801333E8)
/* 0159C 80A6C7EC 35F80020 */ ori $t8, $t7, 0x0020 ## $t8 = 00000020
/* 015A0 80A6C7F0 24E733E0 */ addiu $a3, %lo(D_801333E0)
/* 015A4 80A6C7F4 AE0E0150 */ sw $t6, 0x0150($s0) ## 00000150
/* 015A8 80A6C7F8 A61801E4 */ sh $t8, 0x01E4($s0) ## 000001E4
/* 015AC 80A6C7FC 273933E8 */ addiu $t9, %lo(D_801333E8)
/* 015B0 80A6C800 AFB90014 */ sw $t9, 0x0014($sp)
/* 015B4 80A6C804 AFA70010 */ sw $a3, 0x0010($sp)
/* 015B8 80A6C808 24042816 */ addiu $a0, $zero, 0x2816 ## $a0 = 00002816
/* 015BC 80A6C80C 26050204 */ addiu $a1, $s0, 0x0204 ## $a1 = 00000204
/* 015C0 80A6C810 0C03DCE3 */ jal Audio_PlaySoundGeneral
/* 015C4 80A6C814 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004
/* 015C8 80A6C818 1000000A */ beq $zero, $zero, .L80A6C844
/* 015CC 80A6C81C 00000000 */ nop
.L80A6C820:
/* 015D0 80A6C820 960901E4 */ lhu $t1, 0x01E4($s0) ## 000001E4
/* 015D4 80A6C824 3C0B8013 */ lui $t3, %hi(D_801333E8)
/* 015D8 80A6C828 AE080150 */ sw $t0, 0x0150($s0) ## 00000150
/* 015DC 80A6C82C 352A0020 */ ori $t2, $t1, 0x0020 ## $t2 = 00000020
/* 015E0 80A6C830 A60A01E4 */ sh $t2, 0x01E4($s0) ## 000001E4
/* 015E4 80A6C834 256B33E8 */ addiu $t3, %lo(D_801333E8)
/* 015E8 80A6C838 AFAB0014 */ sw $t3, 0x0014($sp)
/* 015EC 80A6C83C 0C03DCE3 */ jal Audio_PlaySoundGeneral
/* 015F0 80A6C840 AFA70010 */ sw $a3, 0x0010($sp)
.L80A6C844:
/* 015F4 80A6C844 0C29ACC3 */ jal func_80A6B30C
/* 015F8 80A6C848 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 015FC 80A6C84C E7A00034 */ swc1 $f0, 0x0034($sp)
/* 01600 80A6C850 8E0C0150 */ lw $t4, 0x0150($s0) ## 00000150
/* 01604 80A6C854 3C0480A7 */ lui $a0, %hi(D_80A6D370) ## $a0 = 80A70000
/* 01608 80A6C858 000C6880 */ sll $t5, $t4, 2
/* 0160C 80A6C85C 008D2021 */ addu $a0, $a0, $t5
/* 01610 80A6C860 0C028800 */ jal SkelAnime_GetFrameCount
/* 01614 80A6C864 8C84D370 */ lw $a0, %lo(D_80A6D370)($a0)
/* 01618 80A6C868 44824000 */ mtc1 $v0, $f8 ## $f8 = 0.00
/* 0161C 80A6C86C 8E0E0150 */ lw $t6, 0x0150($s0) ## 00000150
/* 01620 80A6C870 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
/* 01624 80A6C874 468042A0 */ cvt.s.w $f10, $f8
/* 01628 80A6C878 3C0580A7 */ lui $a1, %hi(D_80A6D370) ## $a1 = 80A70000
/* 0162C 80A6C87C 000E7880 */ sll $t7, $t6, 2
/* 01630 80A6C880 00AF2821 */ addu $a1, $a1, $t7
/* 01634 80A6C884 24180002 */ addiu $t8, $zero, 0x0002 ## $t8 = 00000002
/* 01638 80A6C888 44070000 */ mfc1 $a3, $f0
/* 0163C 80A6C88C AFB80014 */ sw $t8, 0x0014($sp)
/* 01640 80A6C890 8CA5D370 */ lw $a1, %lo(D_80A6D370)($a1)
/* 01644 80A6C894 E7AA0010 */ swc1 $f10, 0x0010($sp)
/* 01648 80A6C898 8FA40030 */ lw $a0, 0x0030($sp)
/* 0164C 80A6C89C 8FA60034 */ lw $a2, 0x0034($sp)
/* 01650 80A6C8A0 0C029468 */ jal SkelAnime_ChangeAnim
/* 01654 80A6C8A4 E7A00018 */ swc1 $f0, 0x0018($sp)
/* 01658 80A6C8A8 961901E4 */ lhu $t9, 0x01E4($s0) ## 000001E4
/* 0165C 80A6C8AC 3329FFFE */ andi $t1, $t9, 0xFFFE ## $t1 = 00000000
/* 01660 80A6C8B0 312BFFFD */ andi $t3, $t1, 0xFFFD ## $t3 = 00000000
/* 01664 80A6C8B4 A60901E4 */ sh $t1, 0x01E4($s0) ## 000001E4
/* 01668 80A6C8B8 316DFFF7 */ andi $t5, $t3, 0xFFF7 ## $t5 = 00000000
/* 0166C 80A6C8BC A60B01E4 */ sh $t3, 0x01E4($s0) ## 000001E4
/* 01670 80A6C8C0 A60D01E4 */ sh $t5, 0x01E4($s0) ## 000001E4
/* 01674 80A6C8C4 31AEFFEF */ andi $t6, $t5, 0xFFEF ## $t6 = 00000000
/* 01678 80A6C8C8 A60E01E4 */ sh $t6, 0x01E4($s0) ## 000001E4
/* 0167C 80A6C8CC 8FBF002C */ lw $ra, 0x002C($sp)
.L80A6C8D0:
/* 01680 80A6C8D0 8FB00028 */ lw $s0, 0x0028($sp)
/* 01684 80A6C8D4 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000
/* 01688 80A6C8D8 03E00008 */ jr $ra
/* 0168C 80A6C8DC 00000000 */ nop

View file

@ -1,58 +0,0 @@
.late_rodata
glabel D_80A6D5E4
.word 0x4622F983
.text
glabel func_80A6C8E0
/* 01690 80A6C8E0 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0
/* 01694 80A6C8E4 AFB00018 */ sw $s0, 0x0018($sp)
/* 01698 80A6C8E8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 0169C 80A6C8EC AFBF001C */ sw $ra, 0x001C($sp)
/* 016A0 80A6C8F0 AFA50044 */ sw $a1, 0x0044($sp)
/* 016A4 80A6C8F4 0C01DE1C */ jal Math_Sins
## sins?
/* 016A8 80A6C8F8 848400B6 */ lh $a0, 0x00B6($a0) ## 000000B6
/* 016AC 80A6C8FC 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000
/* 016B0 80A6C900 44812000 */ mtc1 $at, $f4 ## $f4 = 30.00
/* 016B4 80A6C904 C6080024 */ lwc1 $f8, 0x0024($s0) ## 00000024
/* 016B8 80A6C908 3C014270 */ lui $at, 0x4270 ## $at = 42700000
/* 016BC 80A6C90C 46040182 */ mul.s $f6, $f0, $f4
/* 016C0 80A6C910 44819000 */ mtc1 $at, $f18 ## $f18 = 60.00
/* 016C4 80A6C914 46083280 */ add.s $f10, $f6, $f8
/* 016C8 80A6C918 E7AA0028 */ swc1 $f10, 0x0028($sp)
/* 016CC 80A6C91C C6100028 */ lwc1 $f16, 0x0028($s0) ## 00000028
/* 016D0 80A6C920 46128100 */ add.s $f4, $f16, $f18
/* 016D4 80A6C924 E7A4002C */ swc1 $f4, 0x002C($sp)
/* 016D8 80A6C928 0C01DE0D */ jal Math_Coss
## coss?
/* 016DC 80A6C92C 860400B6 */ lh $a0, 0x00B6($s0) ## 000000B6
/* 016E0 80A6C930 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000
/* 016E4 80A6C934 44813000 */ mtc1 $at, $f6 ## $f6 = 30.00
/* 016E8 80A6C938 C60A002C */ lwc1 $f10, 0x002C($s0) ## 0000002C
/* 016EC 80A6C93C 8FA40044 */ lw $a0, 0x0044($sp)
/* 016F0 80A6C940 46060202 */ mul.s $f8, $f0, $f6
/* 016F4 80A6C944 27A50038 */ addiu $a1, $sp, 0x0038 ## $a1 = FFFFFFF8
/* 016F8 80A6C948 27A60024 */ addiu $a2, $sp, 0x0024 ## $a2 = FFFFFFE4
/* 016FC 80A6C94C 27A70028 */ addiu $a3, $sp, 0x0028 ## $a3 = FFFFFFE8
/* 01700 80A6C950 248407C0 */ addiu $a0, $a0, 0x07C0 ## $a0 = 000007C0
/* 01704 80A6C954 460A4400 */ add.s $f16, $f8, $f10
/* 01708 80A6C958 0C00F250 */ jal func_8003C940
/* 0170C 80A6C95C E7B00030 */ swc1 $f16, 0x0030($sp)
/* 01710 80A6C960 C6120028 */ lwc1 $f18, 0x0028($s0) ## 00000028
/* 01714 80A6C964 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000
/* 01718 80A6C968 44817000 */ mtc1 $at, $f14 ## $f14 = 30.00
/* 0171C 80A6C96C E6000220 */ swc1 $f0, 0x0220($s0) ## 00000220
/* 01720 80A6C970 0C03F494 */ jal Math_atan2f
/* 01724 80A6C974 46009301 */ sub.s $f12, $f18, $f0
/* 01728 80A6C978 3C0180A7 */ lui $at, %hi(D_80A6D5E4) ## $at = 80A70000
/* 0172C 80A6C97C C424D5E4 */ lwc1 $f4, %lo(D_80A6D5E4)($at)
/* 01730 80A6C980 46040182 */ mul.s $f6, $f0, $f4
/* 01734 80A6C984 4600320D */ trunc.w.s $f8, $f6
/* 01738 80A6C988 440F4000 */ mfc1 $t7, $f8
/* 0173C 80A6C98C 00000000 */ nop
/* 01740 80A6C990 A60F00B4 */ sh $t7, 0x00B4($s0) ## 000000B4
/* 01744 80A6C994 8FBF001C */ lw $ra, 0x001C($sp)
/* 01748 80A6C998 8FB00018 */ lw $s0, 0x0018($sp)
/* 0174C 80A6C99C 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000
/* 01750 80A6C9A0 03E00008 */ jr $ra
/* 01754 80A6C9A4 00000000 */ nop

View file

@ -1,103 +0,0 @@
glabel func_80A6CAFC
/* 018AC 80A6CAFC 27BDFFA8 */ addiu $sp, $sp, 0xFFA8 ## $sp = FFFFFFA8
/* 018B0 80A6CB00 AFBF002C */ sw $ra, 0x002C($sp)
/* 018B4 80A6CB04 AFB50028 */ sw $s5, 0x0028($sp)
/* 018B8 80A6CB08 AFB40024 */ sw $s4, 0x0024($sp)
/* 018BC 80A6CB0C AFB30020 */ sw $s3, 0x0020($sp)
/* 018C0 80A6CB10 AFB2001C */ sw $s2, 0x001C($sp)
/* 018C4 80A6CB14 AFB10018 */ sw $s1, 0x0018($sp)
/* 018C8 80A6CB18 AFB00014 */ sw $s0, 0x0014($sp)
/* 018CC 80A6CB1C AFA5005C */ sw $a1, 0x005C($sp)
/* 018D0 80A6CB20 8C8E028C */ lw $t6, 0x028C($a0) ## 0000028C
/* 018D4 80A6CB24 00808825 */ or $s1, $a0, $zero ## $s1 = 00000000
/* 018D8 80A6CB28 00C09825 */ or $s3, $a2, $zero ## $s3 = 00000000
/* 018DC 80A6CB2C 19C00047 */ blez $t6, .L80A6CC4C
/* 018E0 80A6CB30 00009025 */ or $s2, $zero, $zero ## $s2 = 00000000
/* 018E4 80A6CB34 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000
/* 018E8 80A6CB38 27B50040 */ addiu $s5, $sp, 0x0040 ## $s5 = FFFFFFE8
/* 018EC 80A6CB3C 27B4004C */ addiu $s4, $sp, 0x004C ## $s4 = FFFFFFF4
/* 018F0 80A6CB40 8E2F0290 */ lw $t7, 0x0290($s1) ## 00000290
.L80A6CB44:
/* 018F4 80A6CB44 02602025 */ or $a0, $s3, $zero ## $a0 = 00000000
/* 018F8 80A6CB48 02803025 */ or $a2, $s4, $zero ## $a2 = FFFFFFF4
/* 018FC 80A6CB4C 01F0C021 */ addu $t8, $t7, $s0
/* 01900 80A6CB50 87190028 */ lh $t9, 0x0028($t8) ## 00000028
/* 01904 80A6CB54 02A03825 */ or $a3, $s5, $zero ## $a3 = FFFFFFE8
/* 01908 80A6CB58 44992000 */ mtc1 $t9, $f4 ## $f4 = 0.00
/* 0190C 80A6CB5C 00000000 */ nop
/* 01910 80A6CB60 468021A0 */ cvt.s.w $f6, $f4
/* 01914 80A6CB64 E7A6004C */ swc1 $f6, 0x004C($sp)
/* 01918 80A6CB68 8E280290 */ lw $t0, 0x0290($s1) ## 00000290
/* 0191C 80A6CB6C 01104821 */ addu $t1, $t0, $s0
/* 01920 80A6CB70 852A002A */ lh $t2, 0x002A($t1) ## 0000002A
/* 01924 80A6CB74 448A4000 */ mtc1 $t2, $f8 ## $f8 = 0.00
/* 01928 80A6CB78 00000000 */ nop
/* 0192C 80A6CB7C 468042A0 */ cvt.s.w $f10, $f8
/* 01930 80A6CB80 E7AA0050 */ swc1 $f10, 0x0050($sp)
/* 01934 80A6CB84 8E2B0290 */ lw $t3, 0x0290($s1) ## 00000290
/* 01938 80A6CB88 01706021 */ addu $t4, $t3, $s0
/* 0193C 80A6CB8C 858D002C */ lh $t5, 0x002C($t4) ## 0000002C
/* 01940 80A6CB90 448D8000 */ mtc1 $t5, $f16 ## $f16 = 0.00
/* 01944 80A6CB94 00000000 */ nop
/* 01948 80A6CB98 468084A0 */ cvt.s.w $f18, $f16
/* 0194C 80A6CB9C E7B20054 */ swc1 $f18, 0x0054($sp)
/* 01950 80A6CBA0 8E2E0290 */ lw $t6, 0x0290($s1) ## 00000290
/* 01954 80A6CBA4 01D07821 */ addu $t7, $t6, $s0
/* 01958 80A6CBA8 0C029902 */ jal func_800A6408
/* 0195C 80A6CBAC 91E5003C */ lbu $a1, 0x003C($t7) ## 0000003C
/* 01960 80A6CBB0 C7A40040 */ lwc1 $f4, 0x0040($sp)
/* 01964 80A6CBB4 8E280290 */ lw $t0, 0x0290($s1) ## 00000290
/* 01968 80A6CBB8 26520001 */ addiu $s2, $s2, 0x0001 ## $s2 = 00000001
/* 0196C 80A6CBBC 4600218D */ trunc.w.s $f6, $f4
/* 01970 80A6CBC0 01104821 */ addu $t1, $t0, $s0
/* 01974 80A6CBC4 44193000 */ mfc1 $t9, $f6
/* 01978 80A6CBC8 00000000 */ nop
/* 0197C 80A6CBCC A5390030 */ sh $t9, 0x0030($t1) ## 00000030
/* 01980 80A6CBD0 C7A80044 */ lwc1 $f8, 0x0044($sp)
/* 01984 80A6CBD4 8E2C0290 */ lw $t4, 0x0290($s1) ## 00000290
/* 01988 80A6CBD8 4600428D */ trunc.w.s $f10, $f8
/* 0198C 80A6CBDC 01906821 */ addu $t5, $t4, $s0
/* 01990 80A6CBE0 440B5000 */ mfc1 $t3, $f10
/* 01994 80A6CBE4 00000000 */ nop
/* 01998 80A6CBE8 A5AB0032 */ sh $t3, 0x0032($t5) ## 00000032
/* 0199C 80A6CBEC C7B00048 */ lwc1 $f16, 0x0048($sp)
/* 019A0 80A6CBF0 8E380290 */ lw $t8, 0x0290($s1) ## 00000290
/* 019A4 80A6CBF4 4600848D */ trunc.w.s $f18, $f16
/* 019A8 80A6CBF8 03104021 */ addu $t0, $t8, $s0
/* 019AC 80A6CBFC 440F9000 */ mfc1 $t7, $f18
/* 019B0 80A6CC00 00000000 */ nop
/* 019B4 80A6CC04 A50F0034 */ sh $t7, 0x0034($t0) ## 00000034
/* 019B8 80A6CC08 8E390290 */ lw $t9, 0x0290($s1) ## 00000290
/* 019BC 80A6CC0C 03301021 */ addu $v0, $t9, $s0
/* 019C0 80A6CC10 8449002E */ lh $t1, 0x002E($v0) ## 0000002E
/* 019C4 80A6CC14 C4440038 */ lwc1 $f4, 0x0038($v0) ## 00000038
/* 019C8 80A6CC18 26100040 */ addiu $s0, $s0, 0x0040 ## $s0 = 00000040
/* 019CC 80A6CC1C 44893000 */ mtc1 $t1, $f6 ## $f6 = 0.00
/* 019D0 80A6CC20 00000000 */ nop
/* 019D4 80A6CC24 46803220 */ cvt.s.w $f8, $f6
/* 019D8 80A6CC28 46082282 */ mul.s $f10, $f4, $f8
/* 019DC 80A6CC2C 4600540D */ trunc.w.s $f16, $f10
/* 019E0 80A6CC30 440C8000 */ mfc1 $t4, $f16
/* 019E4 80A6CC34 00000000 */ nop
/* 019E8 80A6CC38 A44C0036 */ sh $t4, 0x0036($v0) ## 00000036
/* 019EC 80A6CC3C 8E2B028C */ lw $t3, 0x028C($s1) ## 0000028C
/* 019F0 80A6CC40 024B082A */ slt $at, $s2, $t3
/* 019F4 80A6CC44 5420FFBF */ bnel $at, $zero, .L80A6CB44
/* 019F8 80A6CC48 8E2F0290 */ lw $t7, 0x0290($s1) ## 00000290
.L80A6CC4C:
/* 019FC 80A6CC4C 8FA4005C */ lw $a0, 0x005C($sp)
/* 01A00 80A6CC50 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 01A04 80A6CC54 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60
/* 01A08 80A6CC58 26260274 */ addiu $a2, $s1, 0x0274 ## $a2 = 00000274
/* 01A0C 80A6CC5C 0C017713 */ jal CollisionCheck_SetOC
## CollisionCheck_setOT
/* 01A10 80A6CC60 00812821 */ addu $a1, $a0, $at
/* 01A14 80A6CC64 8FBF002C */ lw $ra, 0x002C($sp)
/* 01A18 80A6CC68 8FB00014 */ lw $s0, 0x0014($sp)
/* 01A1C 80A6CC6C 8FB10018 */ lw $s1, 0x0018($sp)
/* 01A20 80A6CC70 8FB2001C */ lw $s2, 0x001C($sp)
/* 01A24 80A6CC74 8FB30020 */ lw $s3, 0x0020($sp)
/* 01A28 80A6CC78 8FB40024 */ lw $s4, 0x0024($sp)
/* 01A2C 80A6CC7C 8FB50028 */ lw $s5, 0x0028($sp)
/* 01A30 80A6CC80 03E00008 */ jr $ra
/* 01A34 80A6CC84 27BD0058 */ addiu $sp, $sp, 0x0058 ## $sp = 00000000

View file

@ -1,131 +0,0 @@
glabel func_80A6CC88
/* 01A38 80A6CC88 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0
/* 01A3C 80A6CC8C AFB00020 */ sw $s0, 0x0020($sp)
/* 01A40 80A6CC90 AFBF0024 */ sw $ra, 0x0024($sp)
/* 01A44 80A6CC94 AFA40040 */ sw $a0, 0x0040($sp)
/* 01A48 80A6CC98 AFA60048 */ sw $a2, 0x0048($sp)
/* 01A4C 80A6CC9C C4A001B8 */ lwc1 $f0, 0x01B8($a1) ## 000001B8
/* 01A50 80A6CCA0 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000
/* 01A54 80A6CCA4 00C02825 */ or $a1, $a2, $zero ## $a1 = 00000000
/* 01A58 80A6CCA8 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 01A5C 80A6CCAC 34211D60 */ ori $at, $at, 0x1D60 ## $at = 00011D60
/* 01A60 80A6CCB0 260601E8 */ addiu $a2, $s0, 0x01E8 ## $a2 = 000001E8
/* 01A64 80A6CCB4 AFA60034 */ sw $a2, 0x0034($sp)
/* 01A68 80A6CCB8 00812021 */ addu $a0, $a0, $at
/* 01A6C 80A6CCBC 27A70038 */ addiu $a3, $sp, 0x0038 ## $a3 = FFFFFFF8
/* 01A70 80A6CCC0 0C029B84 */ jal SkinMatrix_Vec3fMtxFMultXYZW
/* 01A74 80A6CCC4 E7A0003C */ swc1 $f0, 0x003C($sp)
/* 01A78 80A6CCC8 8FAE0034 */ lw $t6, 0x0034($sp)
/* 01A7C 80A6CCCC C7A0003C */ lwc1 $f0, 0x003C($sp)
/* 01A80 80A6CCD0 260501F4 */ addiu $a1, $s0, 0x01F4 ## $a1 = 000001F4
/* 01A84 80A6CCD4 8DD80000 */ lw $t8, 0x0000($t6) ## 00000000
/* 01A88 80A6CCD8 3C0142F0 */ lui $at, 0x42F0 ## $at = 42F00000
/* 01A8C 80A6CCDC 44813000 */ mtc1 $at, $f6 ## $f6 = 120.00
/* 01A90 80A6CCE0 ACB80000 */ sw $t8, 0x0000($a1) ## 000001F4
/* 01A94 80A6CCE4 8DCF0004 */ lw $t7, 0x0004($t6) ## 00000004
/* 01A98 80A6CCE8 3C0141E0 */ lui $at, 0x41E0 ## $at = 41E00000
/* 01A9C 80A6CCEC 24040003 */ addiu $a0, $zero, 0x0003 ## $a0 = 00000003
/* 01AA0 80A6CCF0 ACAF0004 */ sw $t7, 0x0004($a1) ## 000001F8
/* 01AA4 80A6CCF4 8DD80008 */ lw $t8, 0x0008($t6) ## 00000008
/* 01AA8 80A6CCF8 ACB80008 */ sw $t8, 0x0008($a1) ## 000001FC
/* 01AAC 80A6CCFC C60401F8 */ lwc1 $f4, 0x01F8($s0) ## 000001F8
/* 01AB0 80A6CD00 8E030150 */ lw $v1, 0x0150($s0) ## 00000150
/* 01AB4 80A6CD04 46062200 */ add.s $f8, $f4, $f6
/* 01AB8 80A6CD08 14600018 */ bne $v1, $zero, .L80A6CD6C
/* 01ABC 80A6CD0C E60801F8 */ swc1 $f8, 0x01F8($s0) ## 000001F8
/* 01AC0 80A6CD10 44815000 */ mtc1 $at, $f10 ## $f10 = 28.00
/* 01AC4 80A6CD14 00000000 */ nop
/* 01AC8 80A6CD18 4600503C */ c.lt.s $f10, $f0
/* 01ACC 80A6CD1C 00000000 */ nop
/* 01AD0 80A6CD20 45000012 */ bc1f .L80A6CD6C
/* 01AD4 80A6CD24 00000000 */ nop
/* 01AD8 80A6CD28 960201E4 */ lhu $v0, 0x01E4($s0) ## 000001E4
/* 01ADC 80A6CD2C 3C078013 */ lui $a3, %hi(D_801333E0)
/* 01AE0 80A6CD30 24E733E0 */ addiu $a3, %lo(D_801333E0)
/* 01AE4 80A6CD34 30590008 */ andi $t9, $v0, 0x0008 ## $t9 = 00000000
/* 01AE8 80A6CD38 1720000C */ bne $t9, $zero, .L80A6CD6C
/* 01AEC 80A6CD3C 34480008 */ ori $t0, $v0, 0x0008 ## $t0 = 00000008
/* 01AF0 80A6CD40 A60801E4 */ sh $t0, 0x01E4($s0) ## 000001E4
/* 01AF4 80A6CD44 3C098013 */ lui $t1, %hi(D_801333E8)
/* 01AF8 80A6CD48 252933E8 */ addiu $t1, %lo(D_801333E8)
/* 01AFC 80A6CD4C AFA90014 */ sw $t1, 0x0014($sp)
/* 01B00 80A6CD50 AFA70010 */ sw $a3, 0x0010($sp)
/* 01B04 80A6CD54 8FA50034 */ lw $a1, 0x0034($sp)
/* 01B08 80A6CD58 2404282C */ addiu $a0, $zero, 0x282C ## $a0 = 0000282C
/* 01B0C 80A6CD5C 0C03DCE3 */ jal Audio_PlaySoundGeneral
/* 01B10 80A6CD60 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004
/* 01B14 80A6CD64 1000003D */ beq $zero, $zero, .L80A6CE5C
/* 01B18 80A6CD68 8FBF0024 */ lw $ra, 0x0024($sp)
.L80A6CD6C:
/* 01B1C 80A6CD6C 14830018 */ bne $a0, $v1, .L80A6CDD0
/* 01B20 80A6CD70 3C0141C8 */ lui $at, 0x41C8 ## $at = 41C80000
/* 01B24 80A6CD74 44818000 */ mtc1 $at, $f16 ## $f16 = 25.00
/* 01B28 80A6CD78 00000000 */ nop
/* 01B2C 80A6CD7C 4600803C */ c.lt.s $f16, $f0
/* 01B30 80A6CD80 00000000 */ nop
/* 01B34 80A6CD84 45000012 */ bc1f .L80A6CDD0
/* 01B38 80A6CD88 00000000 */ nop
/* 01B3C 80A6CD8C 960201E4 */ lhu $v0, 0x01E4($s0) ## 000001E4
/* 01B40 80A6CD90 3C078013 */ lui $a3, %hi(D_801333E0)
/* 01B44 80A6CD94 24E733E0 */ addiu $a3, %lo(D_801333E0)
/* 01B48 80A6CD98 304A0010 */ andi $t2, $v0, 0x0010 ## $t2 = 00000000
/* 01B4C 80A6CD9C 1540000C */ bne $t2, $zero, .L80A6CDD0
/* 01B50 80A6CDA0 344B0010 */ ori $t3, $v0, 0x0010 ## $t3 = 00000010
/* 01B54 80A6CDA4 A60B01E4 */ sh $t3, 0x01E4($s0) ## 000001E4
/* 01B58 80A6CDA8 3C0C8013 */ lui $t4, %hi(D_801333E8)
/* 01B5C 80A6CDAC 258C33E8 */ addiu $t4, %lo(D_801333E8)
/* 01B60 80A6CDB0 AFAC0014 */ sw $t4, 0x0014($sp)
/* 01B64 80A6CDB4 AFA70010 */ sw $a3, 0x0010($sp)
/* 01B68 80A6CDB8 8FA50034 */ lw $a1, 0x0034($sp)
/* 01B6C 80A6CDBC 2404282B */ addiu $a0, $zero, 0x282B ## $a0 = 0000282B
/* 01B70 80A6CDC0 0C03DCE3 */ jal Audio_PlaySoundGeneral
/* 01B74 80A6CDC4 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004
/* 01B78 80A6CDC8 10000024 */ beq $zero, $zero, .L80A6CE5C
/* 01B7C 80A6CDCC 8FBF0024 */ lw $ra, 0x0024($sp)
.L80A6CDD0:
/* 01B80 80A6CDD0 14830011 */ bne $a0, $v1, .L80A6CE18
/* 01B84 80A6CDD4 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 01B88 80A6CDD8 960201E4 */ lhu $v0, 0x01E4($s0) ## 000001E4
/* 01B8C 80A6CDDC 3C078013 */ lui $a3, %hi(D_801333E0)
/* 01B90 80A6CDE0 24E733E0 */ addiu $a3, %lo(D_801333E0)
/* 01B94 80A6CDE4 304D0020 */ andi $t5, $v0, 0x0020 ## $t5 = 00000000
/* 01B98 80A6CDE8 11A0000B */ beq $t5, $zero, .L80A6CE18
/* 01B9C 80A6CDEC 304EFFDF */ andi $t6, $v0, 0xFFDF ## $t6 = 00000000
/* 01BA0 80A6CDF0 3C0F8013 */ lui $t7, %hi(D_801333E8)
/* 01BA4 80A6CDF4 A60E01E4 */ sh $t6, 0x01E4($s0) ## 000001E4
/* 01BA8 80A6CDF8 25EF33E8 */ addiu $t7, %lo(D_801333E8)
/* 01BAC 80A6CDFC AFAF0014 */ sw $t7, 0x0014($sp)
/* 01BB0 80A6CE00 AFA70010 */ sw $a3, 0x0010($sp)
/* 01BB4 80A6CE04 24042805 */ addiu $a0, $zero, 0x2805 ## $a0 = 00002805
/* 01BB8 80A6CE08 0C03DCE3 */ jal Audio_PlaySoundGeneral
/* 01BBC 80A6CE0C 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004
/* 01BC0 80A6CE10 10000012 */ beq $zero, $zero, .L80A6CE5C
/* 01BC4 80A6CE14 8FBF0024 */ lw $ra, 0x0024($sp)
.L80A6CE18:
/* 01BC8 80A6CE18 54610010 */ bnel $v1, $at, .L80A6CE5C
/* 01BCC 80A6CE1C 8FBF0024 */ lw $ra, 0x0024($sp)
/* 01BD0 80A6CE20 960201E4 */ lhu $v0, 0x01E4($s0) ## 000001E4
/* 01BD4 80A6CE24 3C078013 */ lui $a3, %hi(D_801333E0)
/* 01BD8 80A6CE28 24E733E0 */ addiu $a3, %lo(D_801333E0)
/* 01BDC 80A6CE2C 30580020 */ andi $t8, $v0, 0x0020 ## $t8 = 00000000
/* 01BE0 80A6CE30 13000009 */ beq $t8, $zero, .L80A6CE58
/* 01BE4 80A6CE34 3059FFDF */ andi $t9, $v0, 0xFFDF ## $t9 = 00000000
/* 01BE8 80A6CE38 3C088013 */ lui $t0, %hi(D_801333E8)
/* 01BEC 80A6CE3C A61901E4 */ sh $t9, 0x01E4($s0) ## 000001E4
/* 01BF0 80A6CE40 250833E8 */ addiu $t0, %lo(D_801333E8)
/* 01BF4 80A6CE44 AFA80014 */ sw $t0, 0x0014($sp)
/* 01BF8 80A6CE48 AFA70010 */ sw $a3, 0x0010($sp)
/* 01BFC 80A6CE4C 24042816 */ addiu $a0, $zero, 0x2816 ## $a0 = 00002816
/* 01C00 80A6CE50 0C03DCE3 */ jal Audio_PlaySoundGeneral
/* 01C04 80A6CE54 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004
.L80A6CE58:
/* 01C08 80A6CE58 8FBF0024 */ lw $ra, 0x0024($sp)
.L80A6CE5C:
/* 01C0C 80A6CE5C 8FB00020 */ lw $s0, 0x0020($sp)
/* 01C10 80A6CE60 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000
/* 01C14 80A6CE64 03E00008 */ jr $ra
/* 01C18 80A6CE68 00000000 */ nop

View file

@ -1,55 +0,0 @@
.include "macro.inc"
# assembler directives
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.set gp=64 # allow use of 64-bit general purpose registers
.section .data
.balign 16
glabel En_Horse_Normal_InitVars
.word 0x003C0100, 0x00000000, 0x00270000, 0x00000328
.word EnHorseNormal_Init
.word EnHorseNormal_Destroy
.word EnHorseNormal_Update
.word EnHorseNormal_Draw
glabel D_80A6D370
.word 0x06004580, 0x06004C20, 0x060035D4, 0x06002458, 0x060054BC, 0x06001A1C, 0x06000608, 0x06000C20, 0x060013A8
glabel D_80A6D394
.word 0x0A000039, 0x10010000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000100, 0x00280064, 0x00000000, 0x00000000
glabel D_80A6D3C0
.word 0x0A000039, 0x10010000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000100, 0x003C0064, 0x00000000, 0x00000000
glabel D_80A6D3EC
.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000100, 0x0B000000, 0x00000000, 0x00140064
glabel D_80A6D410
.word 0x0A000039, 0x10000000, 0x00000001
.word D_80A6D3EC
glabel D_80A6D420
.word 0x0A000023, 0x0064FE00
glabel D_80A6D428
.word 0x04220001, 0x01800700, 0x06750027, 0xFE830600, 0x06460001, 0xFBE80600, 0x041D0001, 0xF9AC0600, 0xFC0C0001, 0xF99F0700, 0xF9890001, 0xFC6A0600, 0xF9CE0001, 0xFF7A0600, 0xFC3F0001, 0x01930700, 0x00000008
.word D_80A6D428
glabel D_80A6D470
.word 0x00580000, 0x081E0A00, 0x09B20178, 0x12170700, 0x08B4FFE4, 0x19CD0C00, 0x028EFF9C, 0x22A00700, 0xFED7FE0C, 0x29AB0C00, 0xEB49FE5C, 0x29900A00, 0xE5E2FE0C, 0x1E500A00, 0xEB740064, 0x15230700, 0xF20BFEF3, 0x0F350A00, 0x00000009
.word D_80A6D470
glabel D_80A6D4C0
.word 0x00000000, 0x00000010
glabel D_80A6D4C8
.word 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3FC00000, 0x3FC00000, 0x3FC00000, 0x3FC00000, 0x3F800000
glabel D_80A6D4EC
.word 0xB0F804B0, 0x30FC012C
glabel D_80A6D4F4
.word 0x00000000, 0x00000001, 0x00000004, 0x00000005, 0x00000006, 0x00000002, 0x00000003
glabel D_80A6D510
.word 0x00000000, 0x00000000, 0x00000002, 0x00000002, 0x00000001, 0x00000001, 0x00000001, 0x00000003, 0x00000003
glabel D_80A6D534
.word func_80A6BC00
.word func_80A6BE6C
.word func_80A6C570
.word func_80A6C760
.word func_80A6B9D0
glabel D_80A6D548
.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000

View file

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

View file

@ -1379,6 +1379,8 @@ void SkelAnime_Free(SkelAnime* skelAnime, GlobalContext* globalCtx);
// ? func_800A5F60(?);
// ? func_800A60D8(?);
void func_800A6330(Actor* this, GlobalContext* globalCtx, PSkinAwb*, void* callback, s32);
void func_800A63CC(Actor* this, GlobalContext* globalCtx, PSkinAwb*, s32, s32, s32, s32, s32);
void func_800A6408(ColliderJntSphItem* collider, u8 joint, Vec3f*, Vec3f*);
// ? func_800A6460(?);
void func_800A663C(GlobalContext* globalCtx, PSkinAwb*, SkeletonHeader*, AnimationHeader*);
void func_800A6888(GlobalContext*, PSkinAwb*);

View file

@ -55,7 +55,7 @@ extern Gfx D_04042440[];
//extern ? D_04048160;
extern u32 D_04048180;
extern Gfx D_04049210[];
extern u32 D_04049AD0;
extern Gfx D_04049AD0[];
//extern ? D_0404D1C0;
extern Gfx D_0404D450[];
//extern ? D_0500CA70;

3
spec
View file

@ -2537,8 +2537,7 @@ endseg
beginseg
name "ovl_En_Horse_Normal"
include "build/src/overlays/actors/ovl_En_Horse_Normal/z_en_horse_normal.o"
include "build/data/overlays/actors/z_en_horse_normal.data.o"
include "build/data/overlays/actors/z_en_horse_normal.reloc.o"
include "build/src/overlays/actors/ovl_En_Horse_Normal/ovl_En_Horse_Normal_reloc.o"
endseg
beginseg

View file

@ -67,7 +67,7 @@ void ActorShadow_DrawFunc_WhiteCircle(Actor* actor, Lights* lights, GlobalContex
}
void ActorShadow_DrawFunc_Squiggly(Actor* actor, Lights* lights, GlobalContext* globalCtx) {
func_8002B200(actor, lights, globalCtx, &D_04049AD0, NULL);
func_8002B200(actor, lights, globalCtx, D_04049AD0, NULL);
}
void func_8002B66C(GlobalContext* globalCtx, Light* light, MtxF* arg2, s32 arg3, f32 arg4, f32 arg5, f32 arg6) {

View file

@ -1,15 +1,44 @@
/*
* File: z_en_horse_normal.c
* Overlay: ovl_En_Horse_Normal
* Description: Non-rideable horses (Lon Lon Ranch and Stable)
*/
#include "z_en_horse_normal.h"
#define FLAGS 0x00000000
#define THIS ((EnHorseNormal*)thisx)
typedef struct {
Vec3s pos;
u8 unk_06; // this may be a s16 if the always-0 following byte is actually not padding
} EnHorseNormalUnkStruct1;
typedef struct {
s32 len;
EnHorseNormalUnkStruct1* items;
} EnHorseNormalUnkStruct2;
typedef enum {
/* 0x00 */ HORSE_CYCLE_ANIMATIONS,
/* 0x01 */ HORSE_WANDER,
/* 0x02 */ HORSE_WAIT,
/* 0x03 */ HORSE_WAIT_CLONE,
/* 0x04 */ HORSE_FOLLOW_PATH
} EnHorseNormalAction;
void EnHorseNormal_Init(Actor* thisx, GlobalContext* globalCtx);
void EnHorseNormal_Destroy(Actor* thisx, GlobalContext* globalCtx);
void EnHorseNormal_Update(Actor* thisx, GlobalContext* globalCtx);
void EnHorseNormal_Draw(Actor* thisx, GlobalContext* globalCtx);
/*
void func_80A6B91C(EnHorseNormal* this, GlobalContext* globalCtx);
void func_80A6BC48(EnHorseNormal* this);
void func_80A6BCEC(EnHorseNormal* this);
void func_80A6C4CC(EnHorseNormal* this);
void func_80A6C6B0(EnHorseNormal* this);
const ActorInit En_Horse_Normal_InitVars = {
ACTOR_EN_HORSE_NORMAL,
ACTORTYPE_BG,
@ -21,45 +50,633 @@ const ActorInit En_Horse_Normal_InitVars = {
(ActorFunc)EnHorseNormal_Update,
(ActorFunc)EnHorseNormal_Draw,
};
*/
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6B250.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6B30C.s")
extern AnimationHeader D_06000608;
extern AnimationHeader D_06000C20;
extern AnimationHeader D_060013A8;
extern AnimationHeader D_06001A1C;
extern AnimationHeader D_06002458;
extern AnimationHeader D_060035D4;
extern AnimationHeader D_06004580;
extern AnimationHeader D_06004C20;
extern AnimationHeader D_060054BC;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/EnHorseNormal_Init.s")
extern SkeletonHeader D_06009FAC;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/EnHorseNormal_Destroy.s")
static AnimationHeader* sAnimations[] = {
&D_06004580, &D_06004C20, &D_060035D4, &D_06002458, &D_060054BC, &D_06001A1C, &D_06000608, &D_06000C20, &D_060013A8,
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6B91C.s")
static ColliderCylinderInit sCylinderInit1 = {
{ COLTYPE_UNK10, 0x00, 0x00, 0x39, 0x10, COLSHAPE_CYLINDER },
{ 0x00, { 0x00000000, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, 0x00, 0x00, 0x01 },
{ 40, 100, 0, { 0, 0, 0 } },
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6B9D0.s")
static ColliderCylinderInit sCylinderInit2 = {
{ COLTYPE_UNK10, 0x00, 0x00, 0x39, 0x10, COLSHAPE_CYLINDER },
{ 0x00, { 0x00000000, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, 0x00, 0x00, 0x01 },
{ 60, 100, 0, { 0, 0, 0 } },
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6BBAC.s")
static ColliderJntSphItemInit sJntSphItemsInit[] = {
{
{ 0x00, { 0x00000000, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, 0x00, 0x00, 0x01 },
{ 11, { { 0, 0, 0 }, 20 }, 100 },
},
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6BC00.s")
static ColliderJntSphInit sJntSphInit = {
{ COLTYPE_UNK10, 0x00, 0x00, 0x39, 0x10, COLSHAPE_JNTSPH },
ARRAY_COUNT(sJntSphItemsInit),
sJntSphItemsInit,
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6BC48.s")
static CollisionCheckInfoInit sColChkInfoInit = { 10, 35, 100, 0xFE };
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6BCEC.s")
// Unused
static EnHorseNormalUnkStruct1 D_80A6D428[] = {
{ { 1058, 1, 384 }, 7 }, { { 1653, 39, -381 }, 6 }, { { 1606, 1, -1048 }, 6 }, { { 1053, 1, -1620 }, 6 },
{ { -1012, 1, -1633 }, 7 }, { { -1655, 1, -918 }, 6 }, { { -1586, 1, -134 }, 6 }, { { -961, 1, 403 }, 7 },
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6BD7C.s")
// Unused
static EnHorseNormalUnkStruct2 D_80A6D468 = { ARRAY_COUNT(D_80A6D428), D_80A6D428 };
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6BE6C.s")
// Unused
static EnHorseNormalUnkStruct1 D_80A6D470[] = {
{ { 88, 0, 2078 }, 10 }, { { 2482, 376, 4631 }, 7 }, { { 2228, -28, 6605 }, 12 },
{ { 654, -100, 8864 }, 7 }, { { -297, -500, 10667 }, 12 }, { { -5303, -420, 10640 }, 10 },
{ { -6686, -500, 7760 }, 10 }, { { -5260, 100, 5411 }, 7 }, { { -3573, -269, 3893 }, 10 },
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6C4CC.s")
// Unused
static EnHorseNormalUnkStruct2 D_80A6D4B8 = { ARRAY_COUNT(D_80A6D470), D_80A6D470 };
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6C570.s")
void func_80A6B250(EnHorseNormal* this) {
static s32 D_80A6D4C0[] = { 0, 16 };
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6C6B0.s")
if (D_80A6D4C0[this->unk_200] < this->skin.skelAnime.animCurrentFrame &&
((this->unk_200 != 0) || !(D_80A6D4C0[1] < this->skin.skelAnime.animCurrentFrame))) {
Audio_PlaySoundGeneral(NA_SE_EV_HORSE_WALK, &this->actor.projectedPos, 4, &D_801333E0, &D_801333E0,
&D_801333E8);
this->unk_200++;
if (this->unk_200 >= ARRAY_COUNT(D_80A6D4C0)) {
this->unk_200 = 0;
}
}
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6C760.s")
f32 func_80A6B30C(EnHorseNormal* this) {
static f32 D_80A6D4C8[] = { 1.0f, 1.0f, 1.0f, 1.0f, 1.5f, 1.5f, 1.5f, 1.5f, 1.0f };
f32 result;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6C8E0.s")
if (this->animationIdx == 4) {
result = D_80A6D4C8[this->animationIdx] * this->actor.speedXZ * (1 / 2.0f);
} else if (this->animationIdx == 5) {
result = D_80A6D4C8[this->animationIdx] * this->actor.speedXZ * (1 / 3.0f);
} else if (this->animationIdx == 6) {
result = D_80A6D4C8[this->animationIdx] * this->actor.speedXZ * (1 / 5.0f);
} else {
result = D_80A6D4C8[this->animationIdx];
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/EnHorseNormal_Update.s")
return result;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6CAFC.s")
static InitChainEntry sInitChain[] = {
ICHAIN_F32(uncullZoneScale, 1200, ICHAIN_CONTINUE),
ICHAIN_F32(uncullZoneDownward, 300, ICHAIN_STOP),
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6CC88.s")
void EnHorseNormal_Init(Actor* thisx, GlobalContext* globalCtx) {
EnHorseNormal* this = THIS;
s32 pad;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/EnHorseNormal_Draw.s")
Actor_ProcessInitChain(&this->actor, sInitChain);
Actor_SetScale(&this->actor, 0.01f);
this->actor.gravity = -3.5f;
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawFunc_Squiggly, 20.0f);
this->actor.speedXZ = 0.0f;
this->actor.posRot2.pos = this->actor.posRot.pos;
this->actor.posRot2.pos.y += 70.0f;
this->action = HORSE_CYCLE_ANIMATIONS;
this->animationIdx = 0;
Collider_InitCylinder(globalCtx, &this->bodyCollider);
Collider_SetCylinder(globalCtx, &this->bodyCollider, &this->actor, &sCylinderInit1);
Collider_InitJntSph(globalCtx, &this->headCollider);
Collider_SetJntSph(globalCtx, &this->headCollider, &this->actor, &sJntSphInit, this->headColliderItems);
Collider_InitCylinder(globalCtx, &this->cloneCollider);
Collider_SetCylinder(globalCtx, &this->cloneCollider, &this->actor, &sCylinderInit2);
func_80061ED4(&this->actor.colChkInfo, NULL, &sColChkInfoInit);
if (globalCtx->sceneNum == SCENE_SPOT20) {
if (this->actor.posRot.rot.z == 0 || gSaveContext.nightFlag) {
Actor_Kill(&this->actor);
return;
}
if (LINK_IS_CHILD) {
if (Flags_GetEventChkInf(0x14)) {
if (this->actor.posRot.rot.z != 3) {
Actor_Kill(&this->actor);
return;
}
} else if (this->actor.posRot.rot.z != 1) {
Actor_Kill(&this->actor);
return;
}
} else if (Flags_GetEventChkInf(0x18) || (DREG(1) != 0)) {
if (this->actor.posRot.rot.z != 7) {
Actor_Kill(&this->actor);
return;
}
} else if (this->actor.posRot.rot.z != 5) {
Actor_Kill(&this->actor);
return;
}
this->actor.initPosRot.rot.z = this->actor.posRot.rot.z = this->actor.shape.rot.z = 0;
func_800A663C(globalCtx, &this->skin, &D_06009FAC, &D_06004580);
SkelAnime_ChangeAnimDefaultStop(&this->skin.skelAnime, sAnimations[this->animationIdx]);
if ((this->actor.posRot.pos.x == -730.0f && this->actor.posRot.pos.y == 0.0f &&
this->actor.posRot.pos.z == -1100.0f) ||
(this->actor.posRot.pos.x == 880.0f && this->actor.posRot.pos.y == 0.0f &&
this->actor.posRot.pos.z == -1170.0f)) {
func_80A6C6B0(this);
return;
}
} else if (globalCtx->sceneNum == SCENE_MALON_STABLE) {
if (!gSaveContext.nightFlag) {
Actor_Kill(&this->actor);
return;
} else {
func_800A663C(globalCtx, &this->skin, &D_06009FAC, &D_06004580);
SkelAnime_ChangeAnimDefaultStop(&this->skin.skelAnime, sAnimations[this->animationIdx]);
func_80A6C6B0(this);
return;
}
} else if (globalCtx->sceneNum == SCENE_SPOT12) {
if (this->actor.posRot.pos.x == 3707.0f && this->actor.posRot.pos.y == 1413.0f &&
this->actor.posRot.pos.z == -665.0f) {
func_800A663C(globalCtx, &this->skin, &D_06009FAC, &D_06004580);
SkelAnime_ChangeAnimDefaultStop(&this->skin.skelAnime, sAnimations[this->animationIdx]);
func_80A6C4CC(this);
return;
}
func_800A663C(globalCtx, &this->skin, &D_06009FAC, &D_06004580);
SkelAnime_ChangeAnimDefaultStop(&this->skin.skelAnime, sAnimations[this->animationIdx]);
} else {
func_800A663C(globalCtx, &this->skin, &D_06009FAC, &D_06004580);
SkelAnime_ChangeAnimDefaultStop(&this->skin.skelAnime, sAnimations[this->animationIdx]);
}
if ((this->actor.params & 0xF0) == 0x10 && (this->actor.params & 0xF) != 0xF) {
func_80A6B91C(this, globalCtx);
} else {
func_80A6BC48(this);
}
}
void EnHorseNormal_Destroy(Actor* thisx, GlobalContext* globalCtx) {
EnHorseNormal* this = THIS;
func_800A6888(globalCtx, &this->skin);
Collider_DestroyCylinder(globalCtx, &this->bodyCollider);
Collider_DestroyCylinder(globalCtx, &this->cloneCollider);
Collider_DestroyJntSph(globalCtx, &this->headCollider);
}
void func_80A6B91C(EnHorseNormal* this, GlobalContext* globalCtx) {
this->actor.flags |= 0x10;
this->action = HORSE_FOLLOW_PATH;
this->animationIdx = 6;
this->waypoint = 0;
this->actor.speedXZ = 7.0f;
SkelAnime_ChangeAnim(&this->skin.skelAnime, sAnimations[this->animationIdx], func_80A6B30C(this), 0.0f,
SkelAnime_GetFrameCount(&sAnimations[this->animationIdx]->genericHeader), 2, 0.0f);
}
void EnHorseNormal_FollowPath(EnHorseNormal* this, GlobalContext* globalCtx) {
Path* path = &globalCtx->setupPathList[this->actor.params & 0xF];
Vec3s* pointPos = SEGMENTED_TO_VIRTUAL(path->points);
f32 dx;
f32 dz;
s32 pad;
pointPos += this->waypoint;
dx = pointPos->x - this->actor.posRot.pos.x;
dz = pointPos->z - this->actor.posRot.pos.z;
Math_SmoothScaleMaxMinS(&this->actor.posRot.rot.y, Math_atan2f(dx, dz) * (0x8000 / M_PI), 0xA, 0x7D0, 1);
this->actor.shape.rot.y = this->actor.posRot.rot.y;
if (SQ(dx) + SQ(dz) < 600.0f) {
this->waypoint++;
if (this->waypoint >= path->count) {
this->waypoint = 0;
}
}
this->skin.skelAnime.animPlaybackSpeed = func_80A6B30C(this);
if (SkelAnime_FrameUpdateMatrix(&this->skin.skelAnime)) {
SkelAnime_ChangeAnim(&this->skin.skelAnime, sAnimations[this->animationIdx], func_80A6B30C(this), 0.0f,
SkelAnime_GetFrameCount(&sAnimations[this->animationIdx]->genericHeader), 2, 0.0f);
func_80A6BCEC(this);
}
}
void EnHorseNormal_NextAnimation(EnHorseNormal* this) {
this->action = HORSE_CYCLE_ANIMATIONS;
this->animationIdx++;
if (this->animationIdx >= ARRAY_COUNT(sAnimations)) {
this->animationIdx = 0;
}
SkelAnime_ChangeAnimDefaultStop(&this->skin.skelAnime, sAnimations[this->animationIdx]);
}
void EnHorseNormal_CycleAnimations(EnHorseNormal* this, GlobalContext* globalCtx) {
this->actor.speedXZ = 0.0f;
if (SkelAnime_FrameUpdateMatrix(&this->skin.skelAnime)) {
EnHorseNormal_NextAnimation(this);
}
}
void func_80A6BC48(EnHorseNormal* this) {
this->action = HORSE_WANDER;
this->animationIdx = 0;
this->unk_21C = 0;
this->unk_21E = 0;
this->actor.speedXZ = 0.0f;
this->unk_218 = 0.0f;
SkelAnime_ChangeAnim(&this->skin.skelAnime, sAnimations[this->animationIdx], func_80A6B30C(this), 0.0f,
SkelAnime_GetFrameCount(&sAnimations[this->animationIdx]->genericHeader), 2, 0.0f);
}
void func_80A6BCEC(EnHorseNormal* this) {
if (this->animationIdx == 5) {
Audio_PlaySoundGeneral(NA_SE_EV_HORSE_RUN, &this->actor.projectedPos, 4, &D_801333E0, &D_801333E0, &D_801333E8);
} else if (this->animationIdx == 6) {
Audio_PlaySoundGeneral(NA_SE_EV_HORSE_RUN, &this->actor.projectedPos, 4, &D_801333E0, &D_801333E0, &D_801333E8);
}
}
void func_80A6BD7C(EnHorseNormal* this) {
f32 frame = this->skin.skelAnime.animCurrentFrame;
if (this->animationIdx == 0 && frame > 28.0f && !(this->unk_1E4 & 1)) {
this->unk_1E4 |= 1;
Audio_PlaySoundGeneral(NA_SE_EV_HORSE_SANDDUST, &this->actor.projectedPos, 4, &D_801333E0, &D_801333E0,
&D_801333E8);
} else if (this->animationIdx == 3 && frame > 25.0f && !(this->unk_1E4 & 2)) {
this->unk_1E4 |= 2;
Audio_PlaySoundGeneral(NA_SE_EV_HORSE_LAND2, &this->actor.projectedPos, 4, &D_801333E0, &D_801333E0,
&D_801333E8);
}
}
void EnHorseNormal_Wander(EnHorseNormal* this, GlobalContext* globalCtx) {
static s32 D_80A6D4F4[] = { 0, 1, 4, 5, 6, 2, 3 };
static s32 D_80A6D510[] = { 0, 0, 2, 2, 1, 1, 1, 3, 3 };
s32 phi_t0 = this->animationIdx;
s32 pad;
switch (D_80A6D510[this->animationIdx]) {
case 0:
func_80A6BD7C(this);
this->actor.speedXZ = 0.0f;
this->unk_218 = 0.0f;
break;
case 1:
if (Math_Rand_ZeroOne() < 0.1f) {
this->unk_218 = 2.0f * Math_Rand_ZeroOne() - 1.0f;
}
this->actor.speedXZ += this->unk_218;
if (this->actor.speedXZ <= 0.0f) {
this->actor.speedXZ = 0.0f;
this->unk_218 = 0.0f;
phi_t0 = 0;
} else if (this->actor.speedXZ < 3.0f) {
func_80A6B250(this);
phi_t0 = 4;
} else if (this->actor.speedXZ < 6.0f) {
phi_t0 = 5;
} else if (this->actor.speedXZ < 8.0f) {
phi_t0 = 6;
} else {
this->actor.speedXZ = 8.0f;
phi_t0 = 6;
}
if (Math_Rand_ZeroOne() < 0.1f ||
(this->unk_21E == 0 && (this->actor.bgCheckFlags & 8 || this->bodyCollider.base.maskA & 2 ||
this->headCollider.base.maskA & 2))) {
this->unk_21E += (Math_Rand_ZeroOne() * 30.0f) - 15.0f;
if (this->unk_21E > 50) {
this->unk_21E = 50;
} else if (this->unk_21E < -50) {
this->unk_21E = -50;
}
}
this->unk_21C += this->unk_21E;
if (this->unk_21C < -300) {
this->unk_21C = -300;
} else if (this->unk_21C > 300) {
this->unk_21C = 300;
} else if (Math_Rand_ZeroOne() < 0.25f && fabsf(this->unk_21C) < 100.0f) {
this->unk_21C = 0;
this->unk_21E = 0;
}
this->actor.posRot.rot.y += this->unk_21C;
this->actor.shape.rot.y = this->actor.posRot.rot.y;
break;
case 2:
case 3:
break;
}
if (phi_t0 != this->animationIdx || SkelAnime_FrameUpdateMatrix(&this->skin.skelAnime)) {
if (phi_t0 != this->animationIdx) {
this->animationIdx = phi_t0;
this->unk_1E4 &= ~1;
this->unk_1E4 &= ~2;
if (phi_t0 == 1) {
Audio_PlaySoundGeneral(NA_SE_EV_HORSE_GROAN, &this->unk_204, 4, &D_801333E0, &D_801333E0, &D_801333E8);
} else if (phi_t0 == 3) {
Audio_PlaySoundGeneral(NA_SE_EV_HORSE_NEIGH, &this->unk_204, 4, &D_801333E0, &D_801333E0, &D_801333E8);
} else {
func_80A6BCEC(this);
}
SkelAnime_ChangeAnim(&this->skin.skelAnime, sAnimations[this->animationIdx], func_80A6B30C(this), 0.0f,
SkelAnime_GetFrameCount(&sAnimations[this->animationIdx]->genericHeader), 2, -3.0f);
} else {
switch (D_80A6D510[this->animationIdx]) {
case 0:
if (Math_Rand_ZeroOne() < 0.25f) {
this->unk_218 = 1.0f;
phi_t0 = 4;
} else {
phi_t0 = D_80A6D4F4[(s32)(Math_Rand_ZeroOne() * 2)];
this->actor.speedXZ = 0.0f;
this->unk_218 = 0.0f;
}
break;
case 1:
case 2:
case 3:
break;
}
this->unk_1E4 &= ~1;
this->unk_1E4 &= ~2;
if (phi_t0 == 1) {
Audio_PlaySoundGeneral(NA_SE_EV_HORSE_GROAN, &this->unk_204, 4, &D_801333E0, &D_801333E0, &D_801333E8);
} else if (phi_t0 == 3) {
Audio_PlaySoundGeneral(NA_SE_EV_HORSE_NEIGH, &this->unk_204, 4, &D_801333E0, &D_801333E0, &D_801333E8);
} else {
func_80A6BCEC(this);
}
if (phi_t0 != this->animationIdx) {
this->animationIdx = phi_t0;
SkelAnime_ChangeAnim(&this->skin.skelAnime, sAnimations[this->animationIdx], func_80A6B30C(this), 0.0f,
SkelAnime_GetFrameCount(&sAnimations[this->animationIdx]->genericHeader), 2,
-3.0f);
} else {
SkelAnime_ChangeAnim(&this->skin.skelAnime, sAnimations[this->animationIdx], func_80A6B30C(this), 0.0f,
SkelAnime_GetFrameCount(&sAnimations[this->animationIdx]->genericHeader), 2, 0.0f);
}
}
}
}
void func_80A6C4CC(EnHorseNormal* this) {
this->action = HORSE_WAIT;
this->animationIdx = 0;
this->unk_21C = 0;
this->unk_21E = 0;
this->actor.speedXZ = 0.0f;
this->unk_218 = 0.0f;
SkelAnime_ChangeAnim(&this->skin.skelAnime, sAnimations[this->animationIdx], func_80A6B30C(this), 0.0f,
SkelAnime_GetFrameCount(&sAnimations[this->animationIdx]->genericHeader), 2, 0.0f);
}
void EnHorseNormal_Wait(EnHorseNormal* this, GlobalContext* globalCtx) {
if (SkelAnime_FrameUpdateMatrix(&this->skin.skelAnime)) {
f32 rand = Math_Rand_ZeroOne();
if (rand < 0.4f) {
this->animationIdx = 0;
} else if (rand < 0.8f) {
this->animationIdx = 1;
Audio_PlaySoundGeneral(NA_SE_EV_HORSE_GROAN, &this->unk_204, 4, &D_801333E0, &D_801333E0, &D_801333E8);
} else {
this->animationIdx = 3;
Audio_PlaySoundGeneral(NA_SE_EV_HORSE_NEIGH, &this->unk_204, 4, &D_801333E0, &D_801333E0, &D_801333E8);
}
SkelAnime_ChangeAnim(&this->skin.skelAnime, sAnimations[this->animationIdx], func_80A6B30C(this), 0.0f,
SkelAnime_GetFrameCount(&sAnimations[this->animationIdx]->genericHeader), 2, 0.0f);
}
}
void func_80A6C6B0(EnHorseNormal* this) {
this->action = HORSE_WAIT_CLONE;
this->animationIdx = 0;
this->unk_21C = 0;
this->unk_21E = 0;
this->actor.flags |= 0x30;
this->actor.speedXZ = 0.0f;
this->unk_218 = 0.0f;
SkelAnime_ChangeAnim(&this->skin.skelAnime, sAnimations[this->animationIdx], func_80A6B30C(this), 0.0f,
SkelAnime_GetFrameCount(&sAnimations[this->animationIdx]->genericHeader), 2, 0.0f);
}
void EnHorseNormal_WaitClone(EnHorseNormal* this, GlobalContext* globalCtx) {
func_80A6BD7C(this);
if (SkelAnime_FrameUpdateMatrix(&this->skin.skelAnime)) {
f32 rand = Math_Rand_ZeroOne();
if (rand < 0.4f) {
this->animationIdx = 0;
} else if (rand < 0.8f) {
this->animationIdx = 1;
this->unk_1E4 |= 0x20;
Audio_PlaySoundGeneral(NA_SE_EV_HORSE_GROAN, &this->unk_204, 4, &D_801333E0, &D_801333E0, &D_801333E8);
} else {
this->animationIdx = 3;
this->unk_1E4 |= 0x20;
Audio_PlaySoundGeneral(NA_SE_EV_HORSE_NEIGH, &this->unk_204, 4, &D_801333E0, &D_801333E0, &D_801333E8);
}
SkelAnime_ChangeAnim(&this->skin.skelAnime, sAnimations[this->animationIdx], func_80A6B30C(this), 0.0f,
SkelAnime_GetFrameCount(&sAnimations[this->animationIdx]->genericHeader), 2, 0.0f);
this->unk_1E4 &= ~1;
this->unk_1E4 &= ~2;
this->unk_1E4 &= ~8;
this->unk_1E4 &= ~0x10;
}
}
void func_80A6C8E0(EnHorseNormal* this, GlobalContext* globalCtx) {
s32 pad;
CollisionPoly* sp38;
s32 pad2;
Vec3f sp28;
s32 sp24;
sp28.x = (Math_Sins(this->actor.shape.rot.y) * 30.0f) + this->actor.posRot.pos.x;
sp28.y = this->actor.posRot.pos.y + 60.0f;
sp28.z = (Math_Coss(this->actor.shape.rot.y) * 30.0f) + this->actor.posRot.pos.z;
this->unk_220 = func_8003C940(&globalCtx->colCtx, &sp38, &sp24, &sp28);
this->actor.shape.rot.x = Math_atan2f(this->actor.posRot.pos.y - this->unk_220, 30.0f) * (0x8000 / M_PI);
}
static EnHorseNormalActionFunc sActionFuncs[] = {
EnHorseNormal_CycleAnimations, EnHorseNormal_Wander, EnHorseNormal_Wait,
EnHorseNormal_WaitClone, EnHorseNormal_FollowPath,
};
void EnHorseNormal_Update(Actor* thisx, GlobalContext* globalCtx) {
EnHorseNormal* this = THIS;
s32 pad;
sActionFuncs[this->action](this, globalCtx);
Actor_MoveForward(&this->actor);
func_8002E4B4(globalCtx, &this->actor, 20.0f, 35.0f, 100.0f, 0x1D);
if (globalCtx->sceneNum == SCENE_SPOT20 && this->actor.posRot.pos.z < -2400.0f) {
this->actor.posRot.pos.z = -2400.0f;
}
this->actor.posRot2.pos = this->actor.posRot.pos;
this->actor.posRot2.pos.y += 70.0f;
this->unk_204 = this->actor.projectedPos;
this->unk_204.y += 120.0f;
Collider_CylinderUpdate(&this->actor, &this->bodyCollider);
CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->bodyCollider.base);
if (this->actor.speedXZ == 0.0f) {
this->actor.colChkInfo.mass = 0xFF;
} else {
this->actor.colChkInfo.mass = 0xFE;
}
}
void func_80A6CAFC(Actor* thisx, GlobalContext* globalCtx, ColliderJntSphItem* collider) {
Vec3f sp4C;
Vec3f sp40;
EnHorseNormal* this = THIS;
s32 i;
for (i = 0; i < this->headCollider.count; i++) {
sp4C.x = this->headCollider.list[i].dim.modelSphere.center.x;
sp4C.y = this->headCollider.list[i].dim.modelSphere.center.y;
sp4C.z = this->headCollider.list[i].dim.modelSphere.center.z;
func_800A6408(collider, this->headCollider.list[i].dim.joint, &sp4C, &sp40);
this->headCollider.list[i].dim.worldSphere.center.x = sp40.x;
this->headCollider.list[i].dim.worldSphere.center.y = sp40.y;
this->headCollider.list[i].dim.worldSphere.center.z = sp40.z;
this->headCollider.list[i].dim.worldSphere.radius =
this->headCollider.list[i].dim.modelSphere.radius * this->headCollider.list[i].dim.scale;
}
CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->headCollider.base);
}
void func_80A6CC88(GlobalContext* globalCtx, EnHorseNormal* this, Vec3f* arg2) {
f32 animCurrentFrame = this->skin.skelAnime.animCurrentFrame;
f32 wDest;
SkinMatrix_Vec3fMtxFMultXYZW(&globalCtx->mf_11D60, arg2, &this->unk_1E8, &wDest);
this->unk_1F4 = this->unk_1E8;
this->unk_1F4.y += 120.0f;
if (this->animationIdx == 0 && animCurrentFrame > 28.0f && !(this->unk_1E4 & 8)) {
this->unk_1E4 |= 8;
Audio_PlaySoundGeneral(NA_SE_EV_HORSE_SANDDUST, &this->unk_1E8, 4, &D_801333E0, &D_801333E0, &D_801333E8);
} else if (this->animationIdx == 3 && animCurrentFrame > 25.0f && !(this->unk_1E4 & 0x10)) {
this->unk_1E4 |= 0x10;
Audio_PlaySoundGeneral(NA_SE_EV_HORSE_LAND2, &this->unk_1E8, 4, &D_801333E0, &D_801333E0, &D_801333E8);
} else if (this->animationIdx == 3 && this->unk_1E4 & 0x20) {
this->unk_1E4 &= ~0x20;
Audio_PlaySoundGeneral(NA_SE_EV_HORSE_NEIGH, &this->unk_1F4, 4, &D_801333E0, &D_801333E0, &D_801333E8);
} else if (this->animationIdx == 1 && this->unk_1E4 & 0x20) {
this->unk_1E4 &= ~0x20;
Audio_PlaySoundGeneral(NA_SE_EV_HORSE_GROAN, &this->unk_1F4, 4, &D_801333E0, &D_801333E0, &D_801333E8);
}
}
void EnHorseNormal_Draw(Actor* thisx, GlobalContext* globalCtx) {
EnHorseNormal* this = THIS;
Mtx* mtx2;
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_horse_normal.c", 2224);
if (globalCtx->sceneNum != SCENE_SPOT20 || globalCtx->sceneNum != SCENE_MALON_STABLE) {
func_80A6C8E0(this, globalCtx);
}
func_80093D18(globalCtx->state.gfxCtx);
func_800A6330(&this->actor, globalCtx, &this->skin, func_80A6CAFC, 1);
if (this->action == HORSE_WAIT_CLONE) {
MtxF skinMtx;
Mtx* mtx1;
Vec3f clonePos = { 0.0f, 0.0f, 0.0f };
s16 cloneRotY;
f32 distFromGround = this->actor.posRot.pos.y - this->actor.groundY;
f32 temp_f0_4;
if (globalCtx->sceneNum == SCENE_MALON_STABLE) {
if (this->actor.posRot.pos.x == 355.0f && this->actor.posRot.pos.y == 0.0f &&
this->actor.posRot.pos.z == -245.0f) {
clonePos.x = 235.0f;
clonePos.y = 0.0f;
clonePos.z = 100.0f;
cloneRotY = 0x7FFF;
} else if (this->actor.posRot.pos.x == 238.0f && this->actor.posRot.pos.y == 0.0f &&
this->actor.posRot.pos.z == -245.0f) {
clonePos.x = 478.0f;
clonePos.y = 0.0f;
clonePos.z = 100.0f;
cloneRotY = 0x7FFF;
}
} else if (globalCtx->sceneNum == SCENE_SPOT20) {
if (this->actor.posRot.pos.x == -730.0f && this->actor.posRot.pos.y == 0.0f &&
this->actor.posRot.pos.z == -1100.0f) {
clonePos.x = 780.0f;
clonePos.y = 0.0f;
clonePos.z = -80.0f;
cloneRotY = 0;
} else if (this->actor.posRot.pos.x == 880.0f && this->actor.posRot.pos.y == 0.0f &&
this->actor.posRot.pos.z == -1170.0f) {
clonePos.x = -1000.0f;
clonePos.y = 0.0f;
clonePos.z = -70.0f;
cloneRotY = 0;
}
}
func_80A6CC88(globalCtx, this, &clonePos);
SkinMatrix_SetScaleRotateYRPTranslate(&skinMtx, this->actor.scale.x, this->actor.scale.y, this->actor.scale.z,
this->actor.shape.rot.x, cloneRotY, this->actor.shape.rot.z, clonePos.x,
(this->actor.shape.unk_08 * this->actor.scale.y) + clonePos.y,
clonePos.z);
mtx1 = SkinMatrix_MtxFToNewMtx(globalCtx->state.gfxCtx, &skinMtx);
if (mtx1 == NULL) {
return;
}
gSPMatrix(oGfxCtx->polyOpa.p++, &gMtxClear, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPMatrix(oGfxCtx->polyOpa.p++, mtx1, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
func_800A63CC(&this->actor, globalCtx, &this->skin, 0, 0, 1, 0, 3);
this->cloneCollider.dim.pos.x = clonePos.x;
this->cloneCollider.dim.pos.y = clonePos.y;
this->cloneCollider.dim.pos.z = clonePos.z;
CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->cloneCollider.base);
func_80094044(globalCtx->state.gfxCtx);
gDPSetPrimColor(oGfxCtx->polyXlu.p++, 0, 0, 0, 0, 0, 255);
Matrix_Translate(clonePos.x, clonePos.y, clonePos.z, MTXMODE_NEW);
temp_f0_4 = (1.0f - (distFromGround * 0.01f)) * this->actor.shape.unk_10;
Matrix_Scale(this->actor.scale.x * temp_f0_4, 1.0f, this->actor.scale.z * temp_f0_4, MTXMODE_APPLY);
Matrix_RotateY(cloneRotY * (2.0f * M_PI / 0x10000), MTXMODE_APPLY);
mtx2 = Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_horse_normal.c", 2329);
if (mtx2 != NULL) {
gSPMatrix(oGfxCtx->polyXlu.p++, mtx2, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(oGfxCtx->polyXlu.p++, D_04049AD0);
}
}
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_horse_normal.c", 2339);
}

View file

@ -6,9 +6,30 @@
struct EnHorseNormal;
typedef void (*EnHorseNormalActionFunc)(struct EnHorseNormal*, GlobalContext*);
typedef struct EnHorseNormal {
/* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x1DC];
/* 0x014C */ s32 action;
/* 0x0150 */ s32 animationIdx;
/* 0x0154 */ PSkinAwb skin;
/* 0x01E4 */ u16 unk_1E4;
/* 0x01E8 */ Vec3f unk_1E8;
/* 0x01F4 */ Vec3f unk_1F4;
/* 0x0200 */ s32 unk_200;
/* 0x0204 */ Vec3f unk_204;
/* 0x0210 */ char unk_210[0x08];
/* 0x0218 */ f32 unk_218;
/* 0x021C */ s16 unk_21C;
/* 0x021E */ s16 unk_21E;
/* 0x0220 */ f32 unk_220;
/* 0x0224 */ char unk_224[0x04];
/* 0x0228 */ ColliderCylinder bodyCollider;
/* 0x0274 */ ColliderJntSph headCollider;
/* 0x0294 */ ColliderJntSphItem headColliderItems[1];
/* 0x02D4 */ ColliderCylinder cloneCollider;
/* 0x0320 */ char unk_320[0x04];
/* 0x0324 */ s32 waypoint;
} EnHorseNormal; // size = 0x0328
extern const ActorInit En_Horse_Normal_InitVars;

View file

@ -918,6 +918,18 @@ D_060048A8 = 0x060048A8;
D_06008668 = 0x06008668;
D_06004AA4 = 0x06004AA4;
// z_en_horse_normal
D_06000608 = 0x06000608;
D_06000C20 = 0x06000C20;
D_060013A8 = 0x060013A8;
D_06001A1C = 0x06001A1C;
D_06002458 = 0x06002458;
D_060035D4 = 0x060035D4;
D_06004580 = 0x06004580;
D_06004C20 = 0x06004C20;
D_060054BC = 0x060054BC;
D_06009FAC = 0x06009FAC;
// z_en_skjneedle
D_06000EB0 = 0x06000EB0;