1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2025-05-11 03:23:46 +00:00

en_mm and object_mm OK (#735)

* almost done

* progress

* OK

* update mm2

* delete asm

* whitespace

* Update assets/xml/objects/object_mm.xml

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

* Update src/overlays/actors/ovl_En_Mm/z_en_mm.c

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

* name data

Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com>
This commit is contained in:
fig02 2021-03-28 19:18:41 -04:00 committed by GitHub
parent 11e5be77d5
commit 7f3be6e37f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
27 changed files with 648 additions and 1515 deletions

View file

@ -1,12 +0,0 @@
glabel EnMm_Destroy
/* 002D8 80AADA48 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 002DC 80AADA4C 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
/* 002E0 80AADA50 AFBF0014 */ sw $ra, 0x0014($sp)
/* 002E4 80AADA54 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 002E8 80AADA58 0C0170EB */ jal Collider_DestroyCylinder
/* 002EC 80AADA5C 24C50194 */ addiu $a1, $a2, 0x0194 ## $a1 = 00000194
/* 002F0 80AADA60 8FBF0014 */ lw $ra, 0x0014($sp)
/* 002F4 80AADA64 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 002F8 80AADA68 03E00008 */ jr $ra
/* 002FC 80AADA6C 00000000 */ nop

View file

@ -1,212 +0,0 @@
.rdata
glabel D_80AAEC00
.asciz "../z_en_mm.c"
.balign 4
glabel D_80AAEC10
.asciz "../z_en_mm.c"
.balign 4
glabel D_80AAEC20
.asciz "../z_en_mm.c"
.balign 4
glabel D_80AAEC30
.asciz "../z_en_mm.c"
.balign 4
glabel D_80AAEC40
.asciz "../z_en_mm.c"
.balign 4
.late_rodata
glabel D_80AAEC88
.word 0xC4966000
glabel D_80AAEC8C
.word 0xC4966000
.text
glabel EnMm_Draw
/* 00F3C 80AAE6AC 27BDFF80 */ addiu $sp, $sp, 0xFF80 ## $sp = FFFFFF80
/* 00F40 80AAE6B0 AFB10028 */ sw $s1, 0x0028($sp)
/* 00F44 80AAE6B4 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
/* 00F48 80AAE6B8 AFBF002C */ sw $ra, 0x002C($sp)
/* 00F4C 80AAE6BC AFB00024 */ sw $s0, 0x0024($sp)
/* 00F50 80AAE6C0 AFA40080 */ sw $a0, 0x0080($sp)
/* 00F54 80AAE6C4 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000
/* 00F58 80AAE6C8 3C0680AB */ lui $a2, %hi(D_80AAEC00) ## $a2 = 80AB0000
/* 00F5C 80AAE6CC 24C6EC00 */ addiu $a2, $a2, %lo(D_80AAEC00) ## $a2 = 80AAEC00
/* 00F60 80AAE6D0 27A40064 */ addiu $a0, $sp, 0x0064 ## $a0 = FFFFFFE4
/* 00F64 80AAE6D4 24070429 */ addiu $a3, $zero, 0x0429 ## $a3 = 00000429
/* 00F68 80AAE6D8 0C031AB1 */ jal Graph_OpenDisps
/* 00F6C 80AAE6DC 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000
/* 00F70 80AAE6E0 0C024F46 */ jal func_80093D18
/* 00F74 80AAE6E4 8E240000 */ lw $a0, 0x0000($s1) ## 00000000
/* 00F78 80AAE6E8 8E0302C0 */ lw $v1, 0x02C0($s0) ## 000002C0
/* 00F7C 80AAE6EC 8FA80080 */ lw $t0, 0x0080($sp)
/* 00F80 80AAE6F0 3C0FDB06 */ lui $t7, 0xDB06 ## $t7 = DB060000
/* 00F84 80AAE6F4 246E0008 */ addiu $t6, $v1, 0x0008 ## $t6 = 00000008
/* 00F88 80AAE6F8 AE0E02C0 */ sw $t6, 0x02C0($s0) ## 000002C0
/* 00F8C 80AAE6FC 35EF0020 */ ori $t7, $t7, 0x0020 ## $t7 = DB060020
/* 00F90 80AAE700 AC6F0000 */ sw $t7, 0x0000($v1) ## 00000000
/* 00F94 80AAE704 8D1801E4 */ lw $t8, 0x01E4($t0) ## 000001E4
/* 00F98 80AAE708 3C0480AB */ lui $a0, %hi(D_80AAEBEC) ## $a0 = 80AB0000
/* 00F9C 80AAE70C 3C0D8016 */ lui $t5, %hi(gSegments)
/* 00FA0 80AAE710 0018C880 */ sll $t9, $t8, 2
/* 00FA4 80AAE714 00992021 */ addu $a0, $a0, $t9
/* 00FA8 80AAE718 8C84EBEC */ lw $a0, %lo(D_80AAEBEC)($a0)
/* 00FAC 80AAE71C 3C0100FF */ lui $at, 0x00FF ## $at = 00FF0000
/* 00FB0 80AAE720 3421FFFF */ ori $at, $at, 0xFFFF ## $at = 00FFFFFF
/* 00FB4 80AAE724 00045100 */ sll $t2, $a0, 4
/* 00FB8 80AAE728 000A5F02 */ srl $t3, $t2, 28
/* 00FBC 80AAE72C 000B6080 */ sll $t4, $t3, 2
/* 00FC0 80AAE730 01AC6821 */ addu $t5, $t5, $t4
/* 00FC4 80AAE734 8DAD6FA8 */ lw $t5, %lo(gSegments)($t5)
/* 00FC8 80AAE738 00814824 */ and $t1, $a0, $at
/* 00FCC 80AAE73C 3C018000 */ lui $at, 0x8000 ## $at = 80000000
/* 00FD0 80AAE740 012D7021 */ addu $t6, $t1, $t5
/* 00FD4 80AAE744 01C17821 */ addu $t7, $t6, $at
/* 00FD8 80AAE748 AC6F0004 */ sw $t7, 0x0004($v1) ## 00000004
/* 00FDC 80AAE74C 3C1980AB */ lui $t9, %hi(func_80AAEA10) ## $t9 = 80AB0000
/* 00FE0 80AAE750 3C1880AB */ lui $t8, %hi(func_80AAE97C) ## $t8 = 80AB0000
/* 00FE4 80AAE754 9107014E */ lbu $a3, 0x014E($t0) ## 0000014E
/* 00FE8 80AAE758 8D06016C */ lw $a2, 0x016C($t0) ## 0000016C
/* 00FEC 80AAE75C 8D050150 */ lw $a1, 0x0150($t0) ## 00000150
/* 00FF0 80AAE760 2718E97C */ addiu $t8, $t8, %lo(func_80AAE97C) ## $t8 = 80AAE97C
/* 00FF4 80AAE764 2739EA10 */ addiu $t9, $t9, %lo(func_80AAEA10) ## $t9 = 80AAEA10
/* 00FF8 80AAE768 AFB90014 */ sw $t9, 0x0014($sp)
/* 00FFC 80AAE76C AFB80010 */ sw $t8, 0x0010($sp)
/* 01000 80AAE770 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 01004 80AAE774 0C0286B2 */ jal SkelAnime_DrawFlexOpa
/* 01008 80AAE778 AFA80018 */ sw $t0, 0x0018($sp)
/* 0100C 80AAE77C 3C0A8016 */ lui $t2, %hi(gSaveContext+0xef6)
/* 01010 80AAE780 954AF556 */ lhu $t2, %lo(gSaveContext+0xef6)($t2)
/* 01014 80AAE784 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 01018 80AAE788 342117A4 */ ori $at, $at, 0x17A4 ## $at = 000117A4
/* 0101C 80AAE78C 314B0800 */ andi $t3, $t2, 0x0800 ## $t3 = 00000000
/* 01020 80AAE790 1160006F */ beq $t3, $zero, .L80AAE950
/* 01024 80AAE794 02212021 */ addu $a0, $s1, $at
/* 01028 80AAE798 0C02604B */ jal Object_GetIndex
## ObjectIndex
/* 0102C 80AAE79C 24050015 */ addiu $a1, $zero, 0x0015 ## $a1 = 00000015
/* 01030 80AAE7A0 0440006B */ bltz $v0, .L80AAE950
/* 01034 80AAE7A4 AFA2005C */ sw $v0, 0x005C($sp)
/* 01038 80AAE7A8 8E240000 */ lw $a0, 0x0000($s1) ## 00000000
/* 0103C 80AAE7AC 0C031A73 */ jal Graph_Alloc
/* 01040 80AAE7B0 24050080 */ addiu $a1, $zero, 0x0080 ## $a1 = 00000080
/* 01044 80AAE7B4 8FA40080 */ lw $a0, 0x0080($sp)
/* 01048 80AAE7B8 AFA20058 */ sw $v0, 0x0058($sp)
/* 0104C 80AAE7BC 0C03423F */ jal Matrix_Put
/* 01050 80AAE7C0 24840208 */ addiu $a0, $a0, 0x0208 ## $a0 = 00000208
/* 01054 80AAE7C4 3C0580AB */ lui $a1, %hi(D_80AAEC10) ## $a1 = 80AB0000
/* 01058 80AAE7C8 24A5EC10 */ addiu $a1, $a1, %lo(D_80AAEC10) ## $a1 = 80AAEC10
/* 0105C 80AAE7CC 8E240000 */ lw $a0, 0x0000($s1) ## 00000000
/* 01060 80AAE7D0 0C0346A2 */ jal Matrix_NewMtx
/* 01064 80AAE7D4 24060457 */ addiu $a2, $zero, 0x0457 ## $a2 = 00000457
/* 01068 80AAE7D8 8E0302C0 */ lw $v1, 0x02C0($s0) ## 000002C0
/* 0106C 80AAE7DC 3C09DB06 */ lui $t1, 0xDB06 ## $t1 = DB060000
/* 01070 80AAE7E0 35290018 */ ori $t1, $t1, 0x0018 ## $t1 = DB060018
/* 01074 80AAE7E4 246C0008 */ addiu $t4, $v1, 0x0008 ## $t4 = 00000008
/* 01078 80AAE7E8 AE0C02C0 */ sw $t4, 0x02C0($s0) ## 000002C0
/* 0107C 80AAE7EC AC690000 */ sw $t1, 0x0000($v1) ## 00000000
/* 01080 80AAE7F0 8FAD005C */ lw $t5, 0x005C($sp)
/* 01084 80AAE7F4 3C180001 */ lui $t8, 0x0001 ## $t8 = 00010000
/* 01088 80AAE7F8 3C0ADB06 */ lui $t2, 0xDB06 ## $t2 = DB060000
/* 0108C 80AAE7FC 000D7100 */ sll $t6, $t5, 4
/* 01090 80AAE800 01CD7021 */ addu $t6, $t6, $t5
/* 01094 80AAE804 000E7080 */ sll $t6, $t6, 2
/* 01098 80AAE808 022E7821 */ addu $t7, $s1, $t6
/* 0109C 80AAE80C 030FC021 */ addu $t8, $t8, $t7
/* 010A0 80AAE810 8F1817B4 */ lw $t8, 0x17B4($t8) ## 000117B4
/* 010A4 80AAE814 354A002C */ ori $t2, $t2, 0x002C ## $t2 = DB06002C
/* 010A8 80AAE818 3C09DB06 */ lui $t1, 0xDB06 ## $t1 = DB060000
/* 010AC 80AAE81C AC780004 */ sw $t8, 0x0004($v1) ## 00000004
/* 010B0 80AAE820 8E0302C0 */ lw $v1, 0x02C0($s0) ## 000002C0
/* 010B4 80AAE824 35290034 */ ori $t1, $t1, 0x0034 ## $t1 = DB060034
/* 010B8 80AAE828 244DFE40 */ addiu $t5, $v0, 0xFE40 ## $t5 = FFFFFE40
/* 010BC 80AAE82C 24790008 */ addiu $t9, $v1, 0x0008 ## $t9 = 00000008
/* 010C0 80AAE830 AE1902C0 */ sw $t9, 0x02C0($s0) ## 000002C0
/* 010C4 80AAE834 AC6A0000 */ sw $t2, 0x0000($v1) ## 00000000
/* 010C8 80AAE838 8FAB0058 */ lw $t3, 0x0058($sp)
/* 010CC 80AAE83C 3C0142C2 */ lui $at, 0x42C2 ## $at = 42C20000
/* 010D0 80AAE840 44816000 */ mtc1 $at, $f12 ## $f12 = 97.00
/* 010D4 80AAE844 AC6B0004 */ sw $t3, 0x0004($v1) ## 00000004
/* 010D8 80AAE848 8E0302C0 */ lw $v1, 0x02C0($s0) ## 000002C0
/* 010DC 80AAE84C 240E03E2 */ addiu $t6, $zero, 0x03E2 ## $t6 = 000003E2
/* 010E0 80AAE850 240F0DBE */ addiu $t7, $zero, 0x0DBE ## $t7 = 00000DBE
/* 010E4 80AAE854 246C0008 */ addiu $t4, $v1, 0x0008 ## $t4 = 00000008
/* 010E8 80AAE858 AE0C02C0 */ sw $t4, 0x02C0($s0) ## 000002C0
/* 010EC 80AAE85C AC6D0004 */ sw $t5, 0x0004($v1) ## 00000004
/* 010F0 80AAE860 AC690000 */ sw $t1, 0x0000($v1) ## 00000000
/* 010F4 80AAE864 2418CB76 */ addiu $t8, $zero, 0xCB76 ## $t8 = FFFFCB76
/* 010F8 80AAE868 3C0180AB */ lui $at, %hi(D_80AAEC88) ## $at = 80AB0000
/* 010FC 80AAE86C A7AE0050 */ sh $t6, 0x0050($sp)
/* 01100 80AAE870 A7AF0052 */ sh $t7, 0x0052($sp)
/* 01104 80AAE874 A7B80054 */ sh $t8, 0x0054($sp)
/* 01108 80AAE878 C42EEC88 */ lwc1 $f14, %lo(D_80AAEC88)($at)
/* 0110C 80AAE87C 3C06C370 */ lui $a2, 0xC370 ## $a2 = C3700000
/* 01110 80AAE880 0C0345A5 */ jal func_800D1694
/* 01114 80AAE884 27A70050 */ addiu $a3, $sp, 0x0050 ## $a3 = FFFFFFD0
/* 01118 80AAE888 8FA20058 */ lw $v0, 0x0058($sp)
/* 0111C 80AAE88C 3C0580AB */ lui $a1, %hi(D_80AAEC20) ## $a1 = 80AB0000
/* 01120 80AAE890 24A5EC20 */ addiu $a1, $a1, %lo(D_80AAEC20) ## $a1 = 80AAEC20
/* 01124 80AAE894 00402025 */ or $a0, $v0, $zero ## $a0 = 00000000
/* 01128 80AAE898 24420040 */ addiu $v0, $v0, 0x0040 ## $v0 = 00000040
/* 0112C 80AAE89C AFA20058 */ sw $v0, 0x0058($sp)
/* 01130 80AAE8A0 0C034695 */ jal Matrix_ToMtx
/* 01134 80AAE8A4 24060464 */ addiu $a2, $zero, 0x0464 ## $a2 = 00000464
/* 01138 80AAE8A8 3C0142C2 */ lui $at, 0x42C2 ## $at = 42C20000
/* 0113C 80AAE8AC 44816000 */ mtc1 $at, $f12 ## $f12 = 97.00
/* 01140 80AAE8B0 2419FC1E */ addiu $t9, $zero, 0xFC1E ## $t9 = FFFFFC1E
/* 01144 80AAE8B4 240AF242 */ addiu $t2, $zero, 0xF242 ## $t2 = FFFFF242
/* 01148 80AAE8B8 240BCB76 */ addiu $t3, $zero, 0xCB76 ## $t3 = FFFFCB76
/* 0114C 80AAE8BC 3C0180AB */ lui $at, %hi(D_80AAEC8C) ## $at = 80AB0000
/* 01150 80AAE8C0 A7B90050 */ sh $t9, 0x0050($sp)
/* 01154 80AAE8C4 A7AA0052 */ sh $t2, 0x0052($sp)
/* 01158 80AAE8C8 A7AB0054 */ sh $t3, 0x0054($sp)
/* 0115C 80AAE8CC C42EEC8C */ lwc1 $f14, %lo(D_80AAEC8C)($at)
/* 01160 80AAE8D0 3C064370 */ lui $a2, 0x4370 ## $a2 = 43700000
/* 01164 80AAE8D4 0C0345A5 */ jal func_800D1694
/* 01168 80AAE8D8 27A70050 */ addiu $a3, $sp, 0x0050 ## $a3 = FFFFFFD0
/* 0116C 80AAE8DC 3C0580AB */ lui $a1, %hi(D_80AAEC30) ## $a1 = 80AB0000
/* 01170 80AAE8E0 24A5EC30 */ addiu $a1, $a1, %lo(D_80AAEC30) ## $a1 = 80AAEC30
/* 01174 80AAE8E4 8FA40058 */ lw $a0, 0x0058($sp)
/* 01178 80AAE8E8 0C034695 */ jal Matrix_ToMtx
/* 0117C 80AAE8EC 2406046B */ addiu $a2, $zero, 0x046B ## $a2 = 0000046B
/* 01180 80AAE8F0 8E0302C0 */ lw $v1, 0x02C0($s0) ## 000002C0
/* 01184 80AAE8F4 3C0D0603 */ lui $t5, %hi(D_0602CA38) ## $t5 = 06030000
/* 01188 80AAE8F8 25ADCA38 */ addiu $t5, $t5, %lo(D_0602CA38) ## $t5 = 0602CA38
/* 0118C 80AAE8FC 246C0008 */ addiu $t4, $v1, 0x0008 ## $t4 = 00000008
/* 01190 80AAE900 AE0C02C0 */ sw $t4, 0x02C0($s0) ## 000002C0
/* 01194 80AAE904 3C09DE00 */ lui $t1, 0xDE00 ## $t1 = DE000000
/* 01198 80AAE908 AC690000 */ sw $t1, 0x0000($v1) ## 00000000
/* 0119C 80AAE90C AC6D0004 */ sw $t5, 0x0004($v1) ## 00000004
/* 011A0 80AAE910 8E0302C0 */ lw $v1, 0x02C0($s0) ## 000002C0
/* 011A4 80AAE914 3C0FDB06 */ lui $t7, 0xDB06 ## $t7 = DB060000
/* 011A8 80AAE918 35EF0018 */ ori $t7, $t7, 0x0018 ## $t7 = DB060018
/* 011AC 80AAE91C 246E0008 */ addiu $t6, $v1, 0x0008 ## $t6 = 00000008
/* 011B0 80AAE920 AE0E02C0 */ sw $t6, 0x02C0($s0) ## 000002C0
/* 011B4 80AAE924 AC6F0000 */ sw $t7, 0x0000($v1) ## 00000000
/* 011B8 80AAE928 8FB80080 */ lw $t8, 0x0080($sp)
/* 011BC 80AAE92C 3C0C0001 */ lui $t4, 0x0001 ## $t4 = 00010000
/* 011C0 80AAE930 8319001E */ lb $t9, 0x001E($t8) ## 0000001E
/* 011C4 80AAE934 00195100 */ sll $t2, $t9, 4
/* 011C8 80AAE938 01595021 */ addu $t2, $t2, $t9
/* 011CC 80AAE93C 000A5080 */ sll $t2, $t2, 2
/* 011D0 80AAE940 022A5821 */ addu $t3, $s1, $t2
/* 011D4 80AAE944 018B6021 */ addu $t4, $t4, $t3
/* 011D8 80AAE948 8D8C17B4 */ lw $t4, 0x17B4($t4) ## 000117B4
/* 011DC 80AAE94C AC6C0004 */ sw $t4, 0x0004($v1) ## 00000004
.L80AAE950:
/* 011E0 80AAE950 3C0680AB */ lui $a2, %hi(D_80AAEC40) ## $a2 = 80AB0000
/* 011E4 80AAE954 24C6EC40 */ addiu $a2, $a2, %lo(D_80AAEC40) ## $a2 = 80AAEC40
/* 011E8 80AAE958 27A40064 */ addiu $a0, $sp, 0x0064 ## $a0 = FFFFFFE4
/* 011EC 80AAE95C 8E250000 */ lw $a1, 0x0000($s1) ## 00000000
/* 011F0 80AAE960 0C031AD5 */ jal Graph_CloseDisps
/* 011F4 80AAE964 24070475 */ addiu $a3, $zero, 0x0475 ## $a3 = 00000475
/* 011F8 80AAE968 8FBF002C */ lw $ra, 0x002C($sp)
/* 011FC 80AAE96C 8FB00024 */ lw $s0, 0x0024($sp)
/* 01200 80AAE970 8FB10028 */ lw $s1, 0x0028($sp)
/* 01204 80AAE974 03E00008 */ jr $ra
/* 01208 80AAE978 27BD0080 */ addiu $sp, $sp, 0x0080 ## $sp = 00000000

View file

@ -1,119 +0,0 @@
glabel EnMm_Init
/* 00120 80AAD890 27BDFFB8 */ addiu $sp, $sp, 0xFFB8 ## $sp = FFFFFFB8
/* 00124 80AAD894 AFA5004C */ sw $a1, 0x004C($sp)
/* 00128 80AAD898 AFBF002C */ sw $ra, 0x002C($sp)
/* 0012C 80AAD89C AFB00028 */ sw $s0, 0x0028($sp)
/* 00130 80AAD8A0 3C0580AB */ lui $a1, %hi(D_80AAEBE8) ## $a1 = 80AB0000
/* 00134 80AAD8A4 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00138 80AAD8A8 0C01E037 */ jal Actor_ProcessInitChain
/* 0013C 80AAD8AC 24A5EBE8 */ addiu $a1, $a1, %lo(D_80AAEBE8) ## $a1 = 80AAEBE8
/* 00140 80AAD8B0 3C068003 */ lui $a2, %hi(ActorShadow_DrawCircle)
/* 00144 80AAD8B4 24C6B5EC */ addiu $a2, %lo(ActorShadow_DrawCircle)
/* 00148 80AAD8B8 260400B4 */ addiu $a0, $s0, 0x00B4 ## $a0 = 000000B4
/* 0014C 80AAD8BC 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
/* 00150 80AAD8C0 0C00AC78 */ jal ActorShape_Init
/* 00154 80AAD8C4 3C0741A8 */ lui $a3, 0x41A8 ## $a3 = 41A80000
/* 00158 80AAD8C8 2605014C */ addiu $a1, $s0, 0x014C ## $a1 = 0000014C
/* 0015C 80AAD8CC 3C060600 */ lui $a2, %hi(D_06005E18) ## $a2 = 06000000
/* 00160 80AAD8D0 260E0260 */ addiu $t6, $s0, 0x0260 ## $t6 = 00000260
/* 00164 80AAD8D4 260F02C0 */ addiu $t7, $s0, 0x02C0 ## $t7 = 000002C0
/* 00168 80AAD8D8 24180010 */ addiu $t8, $zero, 0x0010 ## $t8 = 00000010
/* 0016C 80AAD8DC AFB80018 */ sw $t8, 0x0018($sp)
/* 00170 80AAD8E0 AFAF0014 */ sw $t7, 0x0014($sp)
/* 00174 80AAD8E4 AFAE0010 */ sw $t6, 0x0010($sp)
/* 00178 80AAD8E8 24C65E18 */ addiu $a2, $a2, %lo(D_06005E18) ## $a2 = 06005E18
/* 0017C 80AAD8EC AFA50038 */ sw $a1, 0x0038($sp)
/* 00180 80AAD8F0 8FA4004C */ lw $a0, 0x004C($sp)
/* 00184 80AAD8F4 0C0291BE */ jal SkelAnime_InitFlex
/* 00188 80AAD8F8 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
/* 0018C 80AAD8FC 26050194 */ addiu $a1, $s0, 0x0194 ## $a1 = 00000194
/* 00190 80AAD900 AFA50034 */ sw $a1, 0x0034($sp)
/* 00194 80AAD904 0C0170D9 */ jal Collider_InitCylinder
/* 00198 80AAD908 8FA4004C */ lw $a0, 0x004C($sp)
/* 0019C 80AAD90C 3C0780AB */ lui $a3, %hi(D_80AAEAE0) ## $a3 = 80AB0000
/* 001A0 80AAD910 8FA50034 */ lw $a1, 0x0034($sp)
/* 001A4 80AAD914 24E7EAE0 */ addiu $a3, $a3, %lo(D_80AAEAE0) ## $a3 = 80AAEAE0
/* 001A8 80AAD918 8FA4004C */ lw $a0, 0x004C($sp)
/* 001AC 80AAD91C 0C01712B */ jal Collider_SetCylinder
/* 001B0 80AAD920 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
/* 001B4 80AAD924 3C0580AB */ lui $a1, %hi(D_80AAEB18) ## $a1 = 80AB0000
/* 001B8 80AAD928 3C0680AB */ lui $a2, %hi(D_80AAEB0C) ## $a2 = 80AB0000
/* 001BC 80AAD92C 24C6EB0C */ addiu $a2, $a2, %lo(D_80AAEB0C) ## $a2 = 80AAEB0C
/* 001C0 80AAD930 24A5EB18 */ addiu $a1, $a1, %lo(D_80AAEB18) ## $a1 = 80AAEB18
/* 001C4 80AAD934 0C0187BF */ jal CollisionCheck_SetInfo2
/* 001C8 80AAD938 26040098 */ addiu $a0, $s0, 0x0098 ## $a0 = 00000098
/* 001CC 80AAD93C 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
/* 001D0 80AAD940 24190004 */ addiu $t9, $zero, 0x0004 ## $t9 = 00000004
/* 001D4 80AAD944 AFB90014 */ sw $t9, 0x0014($sp)
/* 001D8 80AAD948 44060000 */ mfc1 $a2, $f0
/* 001DC 80AAD94C 44070000 */ mfc1 $a3, $f0
/* 001E0 80AAD950 8FA4004C */ lw $a0, 0x004C($sp)
/* 001E4 80AAD954 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 001E8 80AAD958 0C00B92D */ jal Actor_UpdateBgCheckInfo
/* 001EC 80AAD95C E7A00010 */ swc1 $f0, 0x0010($sp)
/* 001F0 80AAD960 3C0380AB */ lui $v1, %hi(D_80AAEB38) ## $v1 = 80AB0000
/* 001F4 80AAD964 2463EB38 */ addiu $v1, $v1, %lo(D_80AAEB38) ## $v1 = 80AAEB38
/* 001F8 80AAD968 0C028800 */ jal Animation_GetLastFrame
/* 001FC 80AAD96C 8C640000 */ lw $a0, 0x0000($v1) ## 80AAEB38
/* 00200 80AAD970 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
/* 00204 80AAD974 3C0380AB */ lui $v1, %hi(D_80AAEB38) ## $v1 = 80AB0000
/* 00208 80AAD978 2463EB38 */ addiu $v1, $v1, %lo(D_80AAEB38) ## $v1 = 80AAEB38
/* 0020C 80AAD97C 468021A0 */ cvt.s.w $f6, $f4
/* 00210 80AAD980 90680008 */ lbu $t0, 0x0008($v1) ## 80AAEB40
/* 00214 80AAD984 C468000C */ lwc1 $f8, 0x000C($v1) ## 80AAEB44
/* 00218 80AAD988 8C650000 */ lw $a1, 0x0000($v1) ## 80AAEB38
/* 0021C 80AAD98C 8FA40038 */ lw $a0, 0x0038($sp)
/* 00220 80AAD990 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 00224 80AAD994 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 00228 80AAD998 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
/* 0022C 80AAD99C AFA80014 */ sw $t0, 0x0014($sp)
/* 00230 80AAD9A0 0C029468 */ jal Animation_Change
/* 00234 80AAD9A4 E7A80018 */ swc1 $f8, 0x0018($sp)
/* 00238 80AAD9A8 3C01BF80 */ lui $at, 0xBF80 ## $at = BF800000
/* 0023C 80AAD9AC 8609001C */ lh $t1, 0x001C($s0) ## 0000001C
/* 00240 80AAD9B0 44815000 */ mtc1 $at, $f10 ## $f10 = -1.00
/* 00244 80AAD9B4 3C014040 */ lui $at, 0x4040 ## $at = 40400000
/* 00248 80AAD9B8 44818000 */ mtc1 $at, $f16 ## $f16 = 3.00
/* 0024C 80AAD9BC 820B001E */ lb $t3, 0x001E($s0) ## 0000001E
/* 00250 80AAD9C0 24020002 */ addiu $v0, $zero, 0x0002 ## $v0 = 00000002
/* 00254 80AAD9C4 312A00FF */ andi $t2, $t1, 0x00FF ## $t2 = 00000000
/* 00258 80AAD9C8 AE0A01EC */ sw $t2, 0x01EC($s0) ## 000001EC
/* 0025C 80AAD9CC AE0201F0 */ sw $v0, 0x01F0($s0) ## 000001F0
/* 00260 80AAD9D0 AE0001E8 */ sw $zero, 0x01E8($s0) ## 000001E8
/* 00264 80AAD9D4 A202001F */ sb $v0, 0x001F($s0) ## 0000001F
/* 00268 80AAD9D8 E60A006C */ swc1 $f10, 0x006C($s0) ## 0000006C
/* 0026C 80AAD9DC E6100200 */ swc1 $f16, 0x0200($s0) ## 00000200
/* 00270 80AAD9E0 0C2AB69C */ jal func_80AADA70
/* 00274 80AAD9E4 AE0B0204 */ sw $t3, 0x0204($s0) ## 00000204
/* 00278 80AAD9E8 24030001 */ addiu $v1, $zero, 0x0001 ## $v1 = 00000001
/* 0027C 80AAD9EC 1443000A */ bne $v0, $v1, .L80AADA18
/* 00280 80AAD9F0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00284 80AAD9F4 AE0301E4 */ sw $v1, 0x01E4($s0) ## 000001E4
/* 00288 80AAD9F8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 0028C 80AAD9FC 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 00290 80AADA00 0C2AB5DC */ jal func_80AAD770
/* 00294 80AADA04 26060258 */ addiu $a2, $s0, 0x0258 ## $a2 = 00000258
/* 00298 80AADA08 3C0C80AB */ lui $t4, %hi(func_80AAE598) ## $t4 = 80AB0000
/* 0029C 80AADA0C 258CE598 */ addiu $t4, $t4, %lo(func_80AAE598) ## $t4 = 80AAE598
/* 002A0 80AADA10 10000008 */ beq $zero, $zero, .L80AADA34
/* 002A4 80AADA14 AE0C0190 */ sw $t4, 0x0190($s0) ## 00000190
.L80AADA18:
/* 002A8 80AADA18 AE0001E4 */ sw $zero, 0x01E4($s0) ## 000001E4
/* 002AC 80AADA1C 24050002 */ addiu $a1, $zero, 0x0002 ## $a1 = 00000002
/* 002B0 80AADA20 0C2AB5DC */ jal func_80AAD770
/* 002B4 80AADA24 26060258 */ addiu $a2, $s0, 0x0258 ## $a2 = 00000258
/* 002B8 80AADA28 3C0D80AB */ lui $t5, %hi(func_80AAE294) ## $t5 = 80AB0000
/* 002BC 80AADA2C 25ADE294 */ addiu $t5, $t5, %lo(func_80AAE294) ## $t5 = 80AAE294
/* 002C0 80AADA30 AE0D0190 */ sw $t5, 0x0190($s0) ## 00000190
.L80AADA34:
/* 002C4 80AADA34 8FBF002C */ lw $ra, 0x002C($sp)
/* 002C8 80AADA38 8FB00028 */ lw $s0, 0x0028($sp)
/* 002CC 80AADA3C 27BD0048 */ addiu $sp, $sp, 0x0048 ## $sp = 00000000
/* 002D0 80AADA40 03E00008 */ jr $ra
/* 002D4 80AADA44 00000000 */ nop

View file

@ -1,30 +0,0 @@
glabel EnMm_Update
/* 00ED0 80AAE640 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
/* 00ED4 80AAE644 AFB00018 */ sw $s0, 0x0018($sp)
/* 00ED8 80AAE648 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00EDC 80AAE64C AFBF001C */ sw $ra, 0x001C($sp)
/* 00EE0 80AAE650 AFA50034 */ sw $a1, 0x0034($sp)
/* 00EE4 80AAE654 8E190190 */ lw $t9, 0x0190($s0) ## 00000190
/* 00EE8 80AAE658 0320F809 */ jalr $ra, $t9
/* 00EEC 80AAE65C 00000000 */ nop
/* 00EF0 80AAE660 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00EF4 80AAE664 0C2AB734 */ jal func_80AADCD0
/* 00EF8 80AAE668 8FA50034 */ lw $a1, 0x0034($sp)
/* 00EFC 80AAE66C 26060194 */ addiu $a2, $s0, 0x0194 ## $a2 = 00000194
/* 00F00 80AAE670 00C02825 */ or $a1, $a2, $zero ## $a1 = 00000194
/* 00F04 80AAE674 AFA60024 */ sw $a2, 0x0024($sp)
/* 00F08 80AAE678 0C0189B7 */ jal Collider_UpdateCylinder
/* 00F0C 80AAE67C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00F10 80AAE680 8FA40034 */ lw $a0, 0x0034($sp)
/* 00F14 80AAE684 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 00F18 80AAE688 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60
/* 00F1C 80AAE68C 8FA60024 */ lw $a2, 0x0024($sp)
/* 00F20 80AAE690 0C017713 */ jal CollisionCheck_SetOC
## CollisionCheck_setOC
/* 00F24 80AAE694 00812821 */ addu $a1, $a0, $at
/* 00F28 80AAE698 8FBF001C */ lw $ra, 0x001C($sp)
/* 00F2C 80AAE69C 8FB00018 */ lw $s0, 0x0018($sp)
/* 00F30 80AAE6A0 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
/* 00F34 80AAE6A4 03E00008 */ jr $ra
/* 00F38 80AAE6A8 00000000 */ nop

View file

@ -1,82 +0,0 @@
glabel func_80AAD770
/* 00000 80AAD770 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8
/* 00004 80AAD774 AFBF0024 */ sw $ra, 0x0024($sp)
/* 00008 80AAD778 AFA40038 */ sw $a0, 0x0038($sp)
/* 0000C 80AAD77C AFA60040 */ sw $a2, 0x0040($sp)
/* 00010 80AAD780 8CC20000 */ lw $v0, 0x0000($a2) ## 00000000
/* 00014 80AAD784 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00
/* 00018 80AAD788 00057900 */ sll $t7, $a1, 4
/* 0001C 80AAD78C 04400003 */ bltz $v0, .L80AAD79C
/* 00020 80AAD790 3C1880AB */ lui $t8, %hi(D_80AAEB38) ## $t8 = 80AB0000
/* 00024 80AAD794 14A20005 */ bne $a1, $v0, .L80AAD7AC
/* 00028 80AAD798 0005C900 */ sll $t9, $a1, 4
.L80AAD79C:
/* 0002C 80AAD79C 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
/* 00030 80AAD7A0 2718EB38 */ addiu $t8, $t8, %lo(D_80AAEB38) ## $t8 = 80AAEB38
/* 00034 80AAD7A4 10000005 */ beq $zero, $zero, .L80AAD7BC
/* 00038 80AAD7A8 01F81821 */ addu $v1, $t7, $t8
.L80AAD7AC:
/* 0003C 80AAD7AC 3C0880AB */ lui $t0, %hi(D_80AAEB38) ## $t0 = 80AB0000
/* 00040 80AAD7B0 2508EB38 */ addiu $t0, $t0, %lo(D_80AAEB38) ## $t0 = 80AAEB38
/* 00044 80AAD7B4 03281821 */ addu $v1, $t9, $t0
/* 00048 80AAD7B8 C460000C */ lwc1 $f0, 0x000C($v1) ## 0000000C
.L80AAD7BC:
/* 0004C 80AAD7BC C4640004 */ lwc1 $f4, 0x0004($v1) ## 00000004
/* 00050 80AAD7C0 4604303E */ c.le.s $f6, $f4
/* 00054 80AAD7C4 00000000 */ nop
/* 00058 80AAD7C8 45020017 */ bc1fl .L80AAD828
/* 0005C 80AAD7CC 8C640000 */ lw $a0, 0x0000($v1) ## 00000000
/* 00060 80AAD7D0 8C640000 */ lw $a0, 0x0000($v1) ## 00000000
/* 00064 80AAD7D4 AFA3002C */ sw $v1, 0x002C($sp)
/* 00068 80AAD7D8 AFA5003C */ sw $a1, 0x003C($sp)
/* 0006C 80AAD7DC 0C028800 */ jal Animation_GetLastFrame
/* 00070 80AAD7E0 E7A00034 */ swc1 $f0, 0x0034($sp)
/* 00074 80AAD7E4 44824000 */ mtc1 $v0, $f8 ## $f8 = 0.00
/* 00078 80AAD7E8 8FA3002C */ lw $v1, 0x002C($sp)
/* 0007C 80AAD7EC C7A00034 */ lwc1 $f0, 0x0034($sp)
/* 00080 80AAD7F0 468042A0 */ cvt.s.w $f10, $f8
/* 00084 80AAD7F4 8FA40038 */ lw $a0, 0x0038($sp)
/* 00088 80AAD7F8 90690008 */ lbu $t1, 0x0008($v1) ## 00000008
/* 0008C 80AAD7FC 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
/* 00090 80AAD800 8C650000 */ lw $a1, 0x0000($v1) ## 00000000
/* 00094 80AAD804 8C660004 */ lw $a2, 0x0004($v1) ## 00000004
/* 00098 80AAD808 E7AA0010 */ swc1 $f10, 0x0010($sp)
/* 0009C 80AAD80C E7A00018 */ swc1 $f0, 0x0018($sp)
/* 000A0 80AAD810 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 000A4 80AAD814 0C029468 */ jal Animation_Change
/* 000A8 80AAD818 AFA90014 */ sw $t1, 0x0014($sp)
/* 000AC 80AAD81C 10000016 */ beq $zero, $zero, .L80AAD878
/* 000B0 80AAD820 8FAB003C */ lw $t3, 0x003C($sp)
/* 000B4 80AAD824 8C640000 */ lw $a0, 0x0000($v1) ## 00000000
.L80AAD828:
/* 000B8 80AAD828 AFA3002C */ sw $v1, 0x002C($sp)
/* 000BC 80AAD82C AFA5003C */ sw $a1, 0x003C($sp)
/* 000C0 80AAD830 0C028800 */ jal Animation_GetLastFrame
/* 000C4 80AAD834 E7A00034 */ swc1 $f0, 0x0034($sp)
/* 000C8 80AAD838 44828000 */ mtc1 $v0, $f16 ## $f16 = 0.00
/* 000CC 80AAD83C 8FA3002C */ lw $v1, 0x002C($sp)
/* 000D0 80AAD840 C7A00034 */ lwc1 $f0, 0x0034($sp)
/* 000D4 80AAD844 46808420 */ cvt.s.w $f16, $f16
/* 000D8 80AAD848 8FA40038 */ lw $a0, 0x0038($sp)
/* 000DC 80AAD84C 44809000 */ mtc1 $zero, $f18 ## $f18 = 0.00
/* 000E0 80AAD850 906A0008 */ lbu $t2, 0x0008($v1) ## 00000008
/* 000E4 80AAD854 8C650000 */ lw $a1, 0x0000($v1) ## 00000000
/* 000E8 80AAD858 8C660004 */ lw $a2, 0x0004($v1) ## 00000004
/* 000EC 80AAD85C 44078000 */ mfc1 $a3, $f16
/* 000F0 80AAD860 E7A00018 */ swc1 $f0, 0x0018($sp)
/* 000F4 80AAD864 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 000F8 80AAD868 AFAA0014 */ sw $t2, 0x0014($sp)
/* 000FC 80AAD86C 0C029468 */ jal Animation_Change
/* 00100 80AAD870 E7B20010 */ swc1 $f18, 0x0010($sp)
/* 00104 80AAD874 8FAB003C */ lw $t3, 0x003C($sp)
.L80AAD878:
/* 00108 80AAD878 8FAC0040 */ lw $t4, 0x0040($sp)
/* 0010C 80AAD87C AD8B0000 */ sw $t3, 0x0000($t4) ## 00000000
/* 00110 80AAD880 8FBF0024 */ lw $ra, 0x0024($sp)
/* 00114 80AAD884 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000
/* 00118 80AAD888 03E00008 */ jr $ra
/* 0011C 80AAD88C 00000000 */ nop

View file

@ -1,14 +0,0 @@
glabel func_80AADA70
/* 00300 80AADA70 3C028016 */ lui $v0, %hi(gSaveContext+0xc)
/* 00304 80AADA74 9442E66C */ lhu $v0, %lo(gSaveContext+0xc)($v0)
/* 00308 80AADA78 00001825 */ or $v1, $zero, $zero ## $v1 = 00000000
/* 0030C 80AADA7C 28413556 */ slti $at, $v0, 0x3556
/* 00310 80AADA80 14200005 */ bne $at, $zero, .L80AADA98
/* 00314 80AADA84 3401D557 */ ori $at, $zero, 0xD557 ## $at = 0000D557
/* 00318 80AADA88 0041082A */ slt $at, $v0, $at
/* 0031C 80AADA8C 10200002 */ beq $at, $zero, .L80AADA98
/* 00320 80AADA90 00000000 */ nop
/* 00324 80AADA94 24030001 */ addiu $v1, $zero, 0x0001 ## $v1 = 00000001
.L80AADA98:
/* 00328 80AADA98 03E00008 */ jr $ra
/* 0032C 80AADA9C 00601025 */ or $v0, $v1, $zero ## $v0 = 00000001

View file

@ -1,122 +0,0 @@
.late_rodata
glabel jtbl_80AAEC50
.word L80AADC20
.word L80AADC20
.word L80AADC20
.word L80AADC20
.word L80AADAF0
.word L80AADB78
.word L80AADBD0
.text
glabel func_80AADAA0
/* 00330 80AADAA0 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
/* 00334 80AADAA4 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00338 80AADAA8 8CAE1C44 */ lw $t6, 0x1C44($a1) ## 00001C44
/* 0033C 80AADAAC 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000
/* 00340 80AADAB0 240F0001 */ addiu $t7, $zero, 0x0001 ## $t7 = 00000001
/* 00344 80AADAB4 AFAF001C */ sw $t7, 0x001C($sp)
/* 00348 80AADAB8 AFA70028 */ sw $a3, 0x0028($sp)
/* 0034C 80AADABC 24A420D8 */ addiu $a0, $a1, 0x20D8 ## $a0 = 000020D8
/* 00350 80AADAC0 AFA5002C */ sw $a1, 0x002C($sp)
/* 00354 80AADAC4 0C042F6F */ jal func_8010BDBC
/* 00358 80AADAC8 AFAE0020 */ sw $t6, 0x0020($sp)
/* 0035C 80AADACC 2C410007 */ sltiu $at, $v0, 0x0007
/* 00360 80AADAD0 10200053 */ beq $at, $zero, .L80AADC20
/* 00364 80AADAD4 8FA70028 */ lw $a3, 0x0028($sp)
/* 00368 80AADAD8 0002C080 */ sll $t8, $v0, 2
/* 0036C 80AADADC 3C0180AB */ lui $at, %hi(jtbl_80AAEC50) ## $at = 80AB0000
/* 00370 80AADAE0 00380821 */ addu $at, $at, $t8
/* 00374 80AADAE4 8C38EC50 */ lw $t8, %lo(jtbl_80AAEC50)($at)
/* 00378 80AADAE8 03000008 */ jr $t8
/* 0037C 80AADAEC 00000000 */ nop
glabel L80AADAF0
/* 00380 80AADAF0 8FA4002C */ lw $a0, 0x002C($sp)
/* 00384 80AADAF4 0C041AF2 */ jal func_80106BC8
/* 00388 80AADAF8 AFA70028 */ sw $a3, 0x0028($sp)
/* 0038C 80AADAFC 10400048 */ beq $v0, $zero, .L80AADC20
/* 00390 80AADB00 8FA70028 */ lw $a3, 0x0028($sp)
/* 00394 80AADB04 8FB9002C */ lw $t9, 0x002C($sp)
/* 00398 80AADB08 3C080001 */ lui $t0, 0x0001 ## $t0 = 00010000
/* 0039C 80AADB0C 2409202D */ addiu $t1, $zero, 0x202D ## $t1 = 0000202D
/* 003A0 80AADB10 01194021 */ addu $t0, $t0, $t9
/* 003A4 80AADB14 910804BD */ lbu $t0, 0x04BD($t0) ## 000104BD
/* 003A8 80AADB18 8FAA0020 */ lw $t2, 0x0020($sp)
/* 003AC 80AADB1C 3C038016 */ lui $v1, %hi(gSaveContext)
/* 003B0 80AADB20 1500000C */ bne $t0, $zero, .L80AADB54
/* 003B4 80AADB24 8FAE0020 */ lw $t6, 0x0020($sp)
/* 003B8 80AADB28 A549010E */ sh $t1, 0x010E($t2) ## 0000010E
/* 003BC 80AADB2C 8CEB0254 */ lw $t3, 0x0254($a3) ## 00000254
/* 003C0 80AADB30 2401FFFE */ addiu $at, $zero, 0xFFFE ## $at = FFFFFFFE
/* 003C4 80AADB34 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000
/* 003C8 80AADB38 01616024 */ and $t4, $t3, $at
/* 003CC 80AADB3C ACEC0254 */ sw $t4, 0x0254($a3) ## 00000254
/* 003D0 80AADB40 24050006 */ addiu $a1, $zero, 0x0006 ## $a1 = 00000006
/* 003D4 80AADB44 0C2AB5DC */ jal func_80AAD770
/* 003D8 80AADB48 24E60258 */ addiu $a2, $a3, 0x0258 ## $a2 = 00000258
/* 003DC 80AADB4C 10000008 */ beq $zero, $zero, .L80AADB70
/* 003E0 80AADB50 24190002 */ addiu $t9, $zero, 0x0002 ## $t9 = 00000002
.L80AADB54:
/* 003E4 80AADB54 240D202C */ addiu $t5, $zero, 0x202C ## $t5 = 0000202C
/* 003E8 80AADB58 2463E660 */ addiu $v1, %lo(gSaveContext)
/* 003EC 80AADB5C A5CD010E */ sh $t5, 0x010E($t6) ## 0000010E
/* 003F0 80AADB60 946F0F26 */ lhu $t7, 0x0F26($v1) ## FFFFF586
/* 003F4 80AADB64 35F81000 */ ori $t8, $t7, 0x1000 ## $t8 = 00001000
/* 003F8 80AADB68 A4780F26 */ sh $t8, 0x0F26($v1) ## FFFFF586
/* 003FC 80AADB6C 24190002 */ addiu $t9, $zero, 0x0002 ## $t9 = 00000002
.L80AADB70:
/* 00400 80AADB70 1000002B */ beq $zero, $zero, .L80AADC20
/* 00404 80AADB74 AFB9001C */ sw $t9, 0x001C($sp)
glabel L80AADB78
/* 00408 80AADB78 0C041AF2 */ jal func_80106BC8
/* 0040C 80AADB7C 8FA4002C */ lw $a0, 0x002C($sp)
/* 00410 80AADB80 50400028 */ beql $v0, $zero, .L80AADC24
/* 00414 80AADB84 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00418 80AADB88 0C023C23 */ jal Player_UnsetMask
/* 0041C 80AADB8C 8FA4002C */ lw $a0, 0x002C($sp)
/* 00420 80AADB90 8FA4002C */ lw $a0, 0x002C($sp)
/* 00424 80AADB94 0C021344 */ jal Item_Give
/* 00428 80AADB98 2405002C */ addiu $a1, $zero, 0x002C ## $a1 = 0000002C
/* 0042C 80AADB9C 3C038016 */ lui $v1, %hi(gSaveContext)
/* 00430 80AADBA0 2463E660 */ addiu $v1, %lo(gSaveContext)
/* 00434 80AADBA4 94680EF6 */ lhu $t0, 0x0EF6($v1) ## 8015F556
/* 00438 80AADBA8 240401F4 */ addiu $a0, $zero, 0x01F4 ## $a0 = 000001F4
/* 0043C 80AADBAC 35090800 */ ori $t1, $t0, 0x0800 ## $t1 = 00000800
/* 00440 80AADBB0 0C021CC3 */ jal Rupees_ChangeBy
/* 00444 80AADBB4 A4690EF6 */ sh $t1, 0x0EF6($v1) ## 8015F556
/* 00448 80AADBB8 8FAB0020 */ lw $t3, 0x0020($sp)
/* 0044C 80AADBBC 240A202E */ addiu $t2, $zero, 0x202E ## $t2 = 0000202E
/* 00450 80AADBC0 240C0002 */ addiu $t4, $zero, 0x0002 ## $t4 = 00000002
/* 00454 80AADBC4 A56A010E */ sh $t2, 0x010E($t3) ## 0000010E
/* 00458 80AADBC8 10000015 */ beq $zero, $zero, .L80AADC20
/* 0045C 80AADBCC AFAC001C */ sw $t4, 0x001C($sp)
glabel L80AADBD0
/* 00460 80AADBD0 8FA4002C */ lw $a0, 0x002C($sp)
/* 00464 80AADBD4 0C041AF2 */ jal func_80106BC8
/* 00468 80AADBD8 AFA70028 */ sw $a3, 0x0028($sp)
/* 0046C 80AADBDC 10400010 */ beq $v0, $zero, .L80AADC20
/* 00470 80AADBE0 8FA70028 */ lw $a3, 0x0028($sp)
/* 00474 80AADBE4 8FAD0020 */ lw $t5, 0x0020($sp)
/* 00478 80AADBE8 2401202E */ addiu $at, $zero, 0x202E ## $at = 0000202E
/* 0047C 80AADBEC 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000
/* 00480 80AADBF0 95A2010E */ lhu $v0, 0x010E($t5) ## 0000010E
/* 00484 80AADBF4 10410003 */ beq $v0, $at, .L80AADC04
/* 00488 80AADBF8 2401202C */ addiu $at, $zero, 0x202C ## $at = 0000202C
/* 0048C 80AADBFC 54410008 */ bnel $v0, $at, .L80AADC20
/* 00490 80AADC00 AFA0001C */ sw $zero, 0x001C($sp)
.L80AADC04:
/* 00494 80AADC04 8CEE0254 */ lw $t6, 0x0254($a3) ## 00000254
/* 00498 80AADC08 24050002 */ addiu $a1, $zero, 0x0002 ## $a1 = 00000002
/* 0049C 80AADC0C 24E60258 */ addiu $a2, $a3, 0x0258 ## $a2 = 00000258
/* 004A0 80AADC10 35CF0001 */ ori $t7, $t6, 0x0001 ## $t7 = 00000001
/* 004A4 80AADC14 0C2AB5DC */ jal func_80AAD770
/* 004A8 80AADC18 ACEF0254 */ sw $t7, 0x0254($a3) ## 00000254
/* 004AC 80AADC1C AFA0001C */ sw $zero, 0x001C($sp)
glabel L80AADC20
.L80AADC20:
/* 004B0 80AADC20 8FBF0014 */ lw $ra, 0x0014($sp)
.L80AADC24:
/* 004B4 80AADC24 8FA2001C */ lw $v0, 0x001C($sp)
/* 004B8 80AADC28 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
/* 004BC 80AADC2C 03E00008 */ jr $ra
/* 004C0 80AADC30 00000000 */ nop

View file

@ -1,45 +0,0 @@
glabel func_80AADC34
/* 004C4 80AADC34 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 004C8 80AADC38 AFBF0014 */ sw $ra, 0x0014($sp)
/* 004CC 80AADC3C AFA40020 */ sw $a0, 0x0020($sp)
/* 004D0 80AADC40 8CAE1C44 */ lw $t6, 0x1C44($a1) ## 00001C44
/* 004D4 80AADC44 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 004D8 80AADC48 2405001C */ addiu $a1, $zero, 0x001C ## $a1 = 0000001C
/* 004DC 80AADC4C 0C01B0D8 */ jal Text_GetFaceReaction
/* 004E0 80AADC50 AFAE001C */ sw $t6, 0x001C($sp)
/* 004E4 80AADC54 3C058016 */ lui $a1, %hi(gSaveContext)
/* 004E8 80AADC58 24A5E660 */ addiu $a1, %lo(gSaveContext)
/* 004EC 80AADC5C 94AF0EF6 */ lhu $t7, 0x0EF6($a1) ## 8015F556
/* 004F0 80AADC60 00401825 */ or $v1, $v0, $zero ## $v1 = 00000000
/* 004F4 80AADC64 00402025 */ or $a0, $v0, $zero ## $a0 = 00000000
/* 004F8 80AADC68 31F80800 */ andi $t8, $t7, 0x0800 ## $t8 = 00000000
/* 004FC 80AADC6C 13000005 */ beq $t8, $zero, .L80AADC84
/* 00500 80AADC70 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00504 80AADC74 54400014 */ bnel $v0, $zero, .L80AADCC8
/* 00508 80AADC78 00801025 */ or $v0, $a0, $zero ## $v0 = 00000000
/* 0050C 80AADC7C 10000011 */ beq $zero, $zero, .L80AADCC4
/* 00510 80AADC80 2404204D */ addiu $a0, $zero, 0x204D ## $a0 = 0000204D
.L80AADC84:
/* 00514 80AADC84 8FB9001C */ lw $t9, 0x001C($sp)
/* 00518 80AADC88 24010004 */ addiu $at, $zero, 0x0004 ## $at = 00000004
/* 0051C 80AADC8C 9328015F */ lbu $t0, 0x015F($t9) ## 0000015F
/* 00520 80AADC90 15010009 */ bne $t0, $at, .L80AADCB8
/* 00524 80AADC94 00000000 */ nop
/* 00528 80AADC98 94A90F26 */ lhu $t1, 0x0F26($a1) ## 8015F586
/* 0052C 80AADC9C 312A1000 */ andi $t2, $t1, 0x1000 ## $t2 = 00000000
/* 00530 80AADCA0 11400003 */ beq $t2, $zero, .L80AADCB0
/* 00534 80AADCA4 00000000 */ nop
/* 00538 80AADCA8 10000006 */ beq $zero, $zero, .L80AADCC4
/* 0053C 80AADCAC 2404202B */ addiu $a0, $zero, 0x202B ## $a0 = 0000202B
.L80AADCB0:
/* 00540 80AADCB0 10000004 */ beq $zero, $zero, .L80AADCC4
/* 00544 80AADCB4 2404202A */ addiu $a0, $zero, 0x202A ## $a0 = 0000202A
.L80AADCB8:
/* 00548 80AADCB8 54600003 */ bnel $v1, $zero, .L80AADCC8
/* 0054C 80AADCBC 00801025 */ or $v0, $a0, $zero ## $v0 = 0000202A
/* 00550 80AADCC0 24042029 */ addiu $a0, $zero, 0x2029 ## $a0 = 00002029
.L80AADCC4:
/* 00554 80AADCC4 00801025 */ or $v0, $a0, $zero ## $v0 = 00002029
.L80AADCC8:
/* 00558 80AADCC8 03E00008 */ jr $ra
/* 0055C 80AADCCC 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000

View file

@ -1,105 +0,0 @@
glabel func_80AADCD0
/* 00560 80AADCD0 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
/* 00564 80AADCD4 AFBF001C */ sw $ra, 0x001C($sp)
/* 00568 80AADCD8 AFB00018 */ sw $s0, 0x0018($sp)
/* 0056C 80AADCDC 8C8201E0 */ lw $v0, 0x01E0($a0) ## 000001E0
/* 00570 80AADCE0 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
/* 00574 80AADCE4 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00578 80AADCE8 00A03025 */ or $a2, $a1, $zero ## $a2 = 00000000
/* 0057C 80AADCEC 14410007 */ bne $v0, $at, .L80AADD0C
/* 00580 80AADCF0 8CA31C44 */ lw $v1, 0x1C44($a1) ## 00001C44
/* 00584 80AADCF4 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 00588 80AADCF8 0C042DC8 */ jal func_8010B720
/* 0058C 80AADCFC 9465010E */ lhu $a1, 0x010E($v1) ## 0000010E
/* 00590 80AADD00 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001
/* 00594 80AADD04 1000004D */ beq $zero, $zero, .L80AADE3C
/* 00598 80AADD08 AE0E01E0 */ sw $t6, 0x01E0($s0) ## 000001E0
.L80AADD0C:
/* 0059C 80AADD0C 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 005A0 80AADD10 14410006 */ bne $v0, $at, .L80AADD2C
/* 005A4 80AADD14 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 005A8 80AADD18 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 005AC 80AADD1C 0C2AB6A8 */ jal func_80AADAA0
/* 005B0 80AADD20 00C02825 */ or $a1, $a2, $zero ## $a1 = 00000000
/* 005B4 80AADD24 10000045 */ beq $zero, $zero, .L80AADE3C
/* 005B8 80AADD28 AE0201E0 */ sw $v0, 0x01E0($s0) ## 000001E0
.L80AADD2C:
/* 005BC 80AADD2C 00C02825 */ or $a1, $a2, $zero ## $a1 = 00000000
/* 005C0 80AADD30 0C00BC65 */ jal func_8002F194
/* 005C4 80AADD34 AFA60034 */ sw $a2, 0x0034($sp)
/* 005C8 80AADD38 10400014 */ beq $v0, $zero, .L80AADD8C
/* 005CC 80AADD3C 8FA40034 */ lw $a0, 0x0034($sp)
/* 005D0 80AADD40 8E180258 */ lw $t8, 0x0258($s0) ## 00000258
/* 005D4 80AADD44 240F0001 */ addiu $t7, $zero, 0x0001 ## $t7 = 00000001
/* 005D8 80AADD48 24010005 */ addiu $at, $zero, 0x0005 ## $at = 00000005
/* 005DC 80AADD4C 1301003B */ beq $t8, $at, .L80AADE3C
/* 005E0 80AADD50 AE0F01E0 */ sw $t7, 0x01E0($s0) ## 000001E0
/* 005E4 80AADD54 9602010E */ lhu $v0, 0x010E($s0) ## 0000010E
/* 005E8 80AADD58 2401202A */ addiu $at, $zero, 0x202A ## $at = 0000202A
/* 005EC 80AADD5C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 005F0 80AADD60 10410004 */ beq $v0, $at, .L80AADD74
/* 005F4 80AADD64 24050005 */ addiu $a1, $zero, 0x0005 ## $a1 = 00000005
/* 005F8 80AADD68 2401202B */ addiu $at, $zero, 0x202B ## $at = 0000202B
/* 005FC 80AADD6C 54410034 */ bnel $v0, $at, .L80AADE40
/* 00600 80AADD70 8FBF001C */ lw $ra, 0x001C($sp)
.L80AADD74:
/* 00604 80AADD74 0C2AB5DC */ jal func_80AAD770
/* 00608 80AADD78 26060258 */ addiu $a2, $s0, 0x0258 ## $a2 = 00000258
/* 0060C 80AADD7C 0C01E221 */ jal func_80078884
/* 00610 80AADD80 24044807 */ addiu $a0, $zero, 0x4807 ## $a0 = 00004807
/* 00614 80AADD84 1000002E */ beq $zero, $zero, .L80AADE40
/* 00618 80AADD88 8FBF001C */ lw $ra, 0x001C($sp)
.L80AADD8C:
/* 0061C 80AADD8C 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 00620 80AADD90 27A60026 */ addiu $a2, $sp, 0x0026 ## $a2 = FFFFFFF6
/* 00624 80AADD94 0C00BCDD */ jal func_8002F374
/* 00628 80AADD98 27A70024 */ addiu $a3, $sp, 0x0024 ## $a3 = FFFFFFF4
/* 0062C 80AADD9C 8619008A */ lh $t9, 0x008A($s0) ## 0000008A
/* 00630 80AADDA0 860800B6 */ lh $t0, 0x00B6($s0) ## 000000B6
/* 00634 80AADDA4 03281023 */ subu $v0, $t9, $t0
/* 00638 80AADDA8 00021400 */ sll $v0, $v0, 16
/* 0063C 80AADDAC 00021403 */ sra $v0, $v0, 16
/* 00640 80AADDB0 04400004 */ bltz $v0, .L80AADDC4
/* 00644 80AADDB4 00024823 */ subu $t1, $zero, $v0
/* 00648 80AADDB8 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
/* 0064C 80AADDBC 10000004 */ beq $zero, $zero, .L80AADDD0
/* 00650 80AADDC0 46802020 */ cvt.s.w $f0, $f4
.L80AADDC4:
/* 00654 80AADDC4 44893000 */ mtc1 $t1, $f6 ## $f6 = 0.00
/* 00658 80AADDC8 00000000 */ nop
/* 0065C 80AADDCC 46803020 */ cvt.s.w $f0, $f6
.L80AADDD0:
/* 00660 80AADDD0 87A20026 */ lh $v0, 0x0026($sp)
/* 00664 80AADDD4 04400019 */ bltz $v0, .L80AADE3C
/* 00668 80AADDD8 28410141 */ slti $at, $v0, 0x0141
/* 0066C 80AADDDC 10200017 */ beq $at, $zero, .L80AADE3C
/* 00670 80AADDE0 87A20024 */ lh $v0, 0x0024($sp)
/* 00674 80AADDE4 04400015 */ bltz $v0, .L80AADE3C
/* 00678 80AADDE8 284100F1 */ slti $at, $v0, 0x00F1
/* 0067C 80AADDEC 10200013 */ beq $at, $zero, .L80AADE3C
/* 00680 80AADDF0 3C014686 */ lui $at, 0x4686 ## $at = 46860000
/* 00684 80AADDF4 44814000 */ mtc1 $at, $f8 ## $f8 = 17152.00
/* 00688 80AADDF8 00000000 */ nop
/* 0068C 80AADDFC 4608003E */ c.le.s $f0, $f8
/* 00690 80AADE00 00000000 */ nop
/* 00694 80AADE04 4502000E */ bc1fl .L80AADE40
/* 00698 80AADE08 8FBF001C */ lw $ra, 0x001C($sp)
/* 0069C 80AADE0C 8E0A01E0 */ lw $t2, 0x01E0($s0) ## 000001E0
/* 006A0 80AADE10 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
/* 006A4 80AADE14 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 006A8 80AADE18 11410008 */ beq $t2, $at, .L80AADE3C
/* 006AC 80AADE1C 8FA50034 */ lw $a1, 0x0034($sp)
/* 006B0 80AADE20 0C00BCB3 */ jal func_8002F2CC
/* 006B4 80AADE24 3C0642C8 */ lui $a2, 0x42C8 ## $a2 = 42C80000
/* 006B8 80AADE28 10400004 */ beq $v0, $zero, .L80AADE3C
/* 006BC 80AADE2C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 006C0 80AADE30 0C2AB70D */ jal func_80AADC34
/* 006C4 80AADE34 8FA50034 */ lw $a1, 0x0034($sp)
/* 006C8 80AADE38 A602010E */ sh $v0, 0x010E($s0) ## 0000010E
.L80AADE3C:
/* 006CC 80AADE3C 8FBF001C */ lw $ra, 0x001C($sp)
.L80AADE40:
/* 006D0 80AADE40 8FB00018 */ lw $s0, 0x0018($sp)
/* 006D4 80AADE44 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
/* 006D8 80AADE48 03E00008 */ jr $ra
/* 006DC 80AADE4C 00000000 */ nop

View file

@ -1,5 +0,0 @@
glabel func_80AADE50
/* 006E0 80AADE50 000570C0 */ sll $t6, $a1, 3
/* 006E4 80AADE54 01C47821 */ addu $t7, $t6, $a0
/* 006E8 80AADE58 03E00008 */ jr $ra
/* 006EC 80AADE5C 91E20000 */ lbu $v0, 0x0000($t7) ## 00000000

View file

@ -1,37 +0,0 @@
glabel func_80AADE60
/* 006F0 80AADE60 000670C0 */ sll $t6, $a2, 3
/* 006F4 80AADE64 008E7821 */ addu $t7, $a0, $t6
/* 006F8 80AADE68 8DE80004 */ lw $t0, 0x0004($t7) ## 00000004
/* 006FC 80AADE6C 3C0A8016 */ lui $t2, %hi(gSegments)
/* 00700 80AADE70 3C0100FF */ lui $at, 0x00FF ## $at = 00FF0000
/* 00704 80AADE74 0008C100 */ sll $t8, $t0, 4
/* 00708 80AADE78 0018CF02 */ srl $t9, $t8, 28
/* 0070C 80AADE7C 00194880 */ sll $t1, $t9, 2
/* 00710 80AADE80 01495021 */ addu $t2, $t2, $t1
/* 00714 80AADE84 8D4A6FA8 */ lw $t2, %lo(gSegments)($t2)
/* 00718 80AADE88 3421FFFF */ ori $at, $at, 0xFFFF ## $at = 00FFFFFF
/* 0071C 80AADE8C 00076880 */ sll $t5, $a3, 2
/* 00720 80AADE90 01A76823 */ subu $t5, $t5, $a3
/* 00724 80AADE94 01015824 */ and $t3, $t0, $at
/* 00728 80AADE98 000D6840 */ sll $t5, $t5, 1
/* 0072C 80AADE9C 014B6021 */ addu $t4, $t2, $t3
/* 00730 80AADEA0 018D1821 */ addu $v1, $t4, $t5
/* 00734 80AADEA4 3C018000 */ lui $at, 0x8000 ## $at = 80000000
/* 00738 80AADEA8 00611821 */ addu $v1, $v1, $at
/* 0073C 80AADEAC 846E0000 */ lh $t6, 0x0000($v1) ## 00000000
/* 00740 80AADEB0 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
/* 00744 80AADEB4 448E2000 */ mtc1 $t6, $f4 ## $f4 = 0.00
/* 00748 80AADEB8 00000000 */ nop
/* 0074C 80AADEBC 468021A0 */ cvt.s.w $f6, $f4
/* 00750 80AADEC0 E4A60000 */ swc1 $f6, 0x0000($a1) ## 00000000
/* 00754 80AADEC4 846F0002 */ lh $t7, 0x0002($v1) ## 00000002
/* 00758 80AADEC8 448F4000 */ mtc1 $t7, $f8 ## $f8 = 0.00
/* 0075C 80AADECC 00000000 */ nop
/* 00760 80AADED0 468042A0 */ cvt.s.w $f10, $f8
/* 00764 80AADED4 E4AA0004 */ swc1 $f10, 0x0004($a1) ## 00000004
/* 00768 80AADED8 84780004 */ lh $t8, 0x0004($v1) ## 00000004
/* 0076C 80AADEDC 44988000 */ mtc1 $t8, $f16 ## $f16 = 0.00
/* 00770 80AADEE0 00000000 */ nop
/* 00774 80AADEE4 468084A0 */ cvt.s.w $f18, $f16
/* 00778 80AADEE8 03E00008 */ jr $ra
/* 0077C 80AADEEC E4B20008 */ swc1 $f18, 0x0008($a1) ## 00000008

View file

@ -1,235 +0,0 @@
.late_rodata
glabel D_80AAEC6C
.word 0x4622F983
glabel D_80AAEC70
.word 0x41270A3D
glabel D_80AAEC74
.word 0x4622F983
glabel D_80AAEC78
.word 0x41270A3D
.text
glabel func_80AADEF0
/* 00780 80AADEF0 27BDFF88 */ addiu $sp, $sp, 0xFF88 ## $sp = FFFFFF88
/* 00784 80AADEF4 AFBF0044 */ sw $ra, 0x0044($sp)
/* 00788 80AADEF8 AFB10034 */ sw $s1, 0x0034($sp)
/* 0078C 80AADEFC AFB00030 */ sw $s0, 0x0030($sp)
/* 00790 80AADF00 AFA5007C */ sw $a1, 0x007C($sp)
/* 00794 80AADF04 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00798 80AADF08 AFB40040 */ sw $s4, 0x0040($sp)
/* 0079C 80AADF0C AFB3003C */ sw $s3, 0x003C($sp)
/* 007A0 80AADF10 AFB20038 */ sw $s2, 0x0038($sp)
/* 007A4 80AADF14 F7B60028 */ sdc1 $f22, 0x0028($sp)
/* 007A8 80AADF18 F7B40020 */ sdc1 $f20, 0x0020($sp)
/* 007AC 80AADF1C 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 007B0 80AADF20 00A18821 */ addu $s1, $a1, $at
/* 007B4 80AADF24 8E241E08 */ lw $a0, 0x1E08($s1) ## 00001E08
/* 007B8 80AADF28 27A50064 */ addiu $a1, $sp, 0x0064 ## $a1 = FFFFFFEC
/* 007BC 80AADF2C 8E0701F4 */ lw $a3, 0x01F4($s0) ## 000001F4
/* 007C0 80AADF30 0C2AB798 */ jal func_80AADE60
/* 007C4 80AADF34 8E0601EC */ lw $a2, 0x01EC($s0) ## 000001EC
/* 007C8 80AADF38 C7A40064 */ lwc1 $f4, 0x0064($sp)
/* 007CC 80AADF3C C6060024 */ lwc1 $f6, 0x0024($s0) ## 00000024
/* 007D0 80AADF40 C7A8006C */ lwc1 $f8, 0x006C($sp)
/* 007D4 80AADF44 C60A002C */ lwc1 $f10, 0x002C($s0) ## 0000002C
/* 007D8 80AADF48 46062501 */ sub.s $f20, $f4, $f6
/* 007DC 80AADF4C 460A4581 */ sub.s $f22, $f8, $f10
/* 007E0 80AADF50 4600A306 */ mov.s $f12, $f20
/* 007E4 80AADF54 0C03F494 */ jal Math_FAtan2F
/* 007E8 80AADF58 4600B386 */ mov.s $f14, $f22
/* 007EC 80AADF5C 3C0180AB */ lui $at, %hi(D_80AAEC6C) ## $at = 80AB0000
/* 007F0 80AADF60 C430EC6C */ lwc1 $f16, %lo(D_80AAEC6C)($at)
/* 007F4 80AADF64 3C0180AB */ lui $at, %hi(D_80AAEC70) ## $at = 80AB0000
/* 007F8 80AADF68 46100482 */ mul.s $f18, $f0, $f16
/* 007FC 80AADF6C 00000000 */ nop
/* 00800 80AADF70 4614A282 */ mul.s $f10, $f20, $f20
/* 00804 80AADF74 00000000 */ nop
/* 00808 80AADF78 4616B402 */ mul.s $f16, $f22, $f22
/* 0080C 80AADF7C 4600910D */ trunc.w.s $f4, $f18
/* 00810 80AADF80 46105000 */ add.s $f0, $f10, $f16
/* 00814 80AADF84 440F2000 */ mfc1 $t7, $f4
/* 00818 80AADF88 46000004 */ sqrt.s $f0, $f0
/* 0081C 80AADF8C 448F3000 */ mtc1 $t7, $f6 ## $f6 = 0.00
/* 00820 80AADF90 00000000 */ nop
/* 00824 80AADF94 46803220 */ cvt.s.w $f8, $f6
/* 00828 80AADF98 E60001FC */ swc1 $f0, 0x01FC($s0) ## 000001FC
/* 0082C 80AADF9C E60801F8 */ swc1 $f8, 0x01F8($s0) ## 000001F8
/* 00830 80AADFA0 C432EC70 */ lwc1 $f18, %lo(D_80AAEC70)($at)
/* 00834 80AADFA4 4612003E */ c.le.s $f0, $f18
/* 00838 80AADFA8 00000000 */ nop
/* 0083C 80AADFAC 45000073 */ bc1f .L80AAE17C
/* 00840 80AADFB0 00000000 */ nop
/* 00844 80AADFB4 8E0201E8 */ lw $v0, 0x01E8($s0) ## 000001E8
/* 00848 80AADFB8 24140002 */ addiu $s4, $zero, 0x0002 ## $s4 = 00000002
/* 0084C 80AADFBC 24130001 */ addiu $s3, $zero, 0x0001 ## $s3 = 00000001
/* 00850 80AADFC0 1040006E */ beq $v0, $zero, .L80AAE17C
/* 00854 80AADFC4 3C1280AB */ lui $s2, %hi(D_80AAEBA8) ## $s2 = 80AB0000
/* 00858 80AADFC8 2652EBA8 */ addiu $s2, $s2, %lo(D_80AAEBA8) ## $s2 = 80AAEBA8
/* 0085C 80AADFCC 0002C100 */ sll $t8, $v0, 4
.L80AADFD0:
/* 00860 80AADFD0 02582021 */ addu $a0, $s2, $t8
/* 00864 80AADFD4 8C880000 */ lw $t0, 0x0000($a0) ## 00000000
/* 00868 80AADFD8 8E1901F4 */ lw $t9, 0x01F4($s0) ## 000001F4
/* 0086C 80AADFDC 03284821 */ addu $t1, $t9, $t0
/* 00870 80AADFE0 AE0901F4 */ sw $t1, 0x01F4($s0) ## 000001F4
/* 00874 80AADFE4 8C860008 */ lw $a2, 0x0008($a0) ## 00000008
/* 00878 80AADFE8 10C00007 */ beq $a2, $zero, .L80AAE008
/* 0087C 80AADFEC 00000000 */ nop
/* 00880 80AADFF0 50D30008 */ beql $a2, $s3, .L80AAE014
/* 00884 80AADFF4 8E241E08 */ lw $a0, 0x1E08($s1) ## 00001E08
/* 00888 80AADFF8 50D4000E */ beql $a2, $s4, .L80AAE034
/* 0088C 80AADFFC 8E0601F0 */ lw $a2, 0x01F0($s0) ## 000001F0
/* 00890 80AAE000 1000000D */ beq $zero, $zero, .L80AAE038
/* 00894 80AAE004 8C83000C */ lw $v1, 0x000C($a0) ## 0000000C
.L80AAE008:
/* 00898 80AAE008 1000000A */ beq $zero, $zero, .L80AAE034
/* 0089C 80AAE00C 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
/* 008A0 80AAE010 8E241E08 */ lw $a0, 0x1E08($s1) ## 00001E08
.L80AAE014:
/* 008A4 80AAE014 0C2AB794 */ jal func_80AADE50
/* 008A8 80AAE018 8E0501EC */ lw $a1, 0x01EC($s0) ## 000001EC
/* 008AC 80AAE01C 8E0A01E8 */ lw $t2, 0x01E8($s0) ## 000001E8
/* 008B0 80AAE020 2446FFFF */ addiu $a2, $v0, 0xFFFF ## $a2 = FFFFFFFF
/* 008B4 80AAE024 000A5900 */ sll $t3, $t2, 4
/* 008B8 80AAE028 10000002 */ beq $zero, $zero, .L80AAE034
/* 008BC 80AAE02C 024B2021 */ addu $a0, $s2, $t3
/* 008C0 80AAE030 8E0601F0 */ lw $a2, 0x01F0($s0) ## 000001F0
.L80AAE034:
/* 008C4 80AAE034 8C83000C */ lw $v1, 0x000C($a0) ## 0000000C
.L80AAE038:
/* 008C8 80AAE038 10600007 */ beq $v1, $zero, .L80AAE058
/* 008CC 80AAE03C 00000000 */ nop
/* 008D0 80AAE040 50730008 */ beql $v1, $s3, .L80AAE064
/* 008D4 80AAE044 8E241E08 */ lw $a0, 0x1E08($s1) ## 00001E08
/* 008D8 80AAE048 50740010 */ beql $v1, $s4, .L80AAE08C
/* 008DC 80AAE04C 8E0301F0 */ lw $v1, 0x01F0($s0) ## 000001F0
/* 008E0 80AAE050 1000000F */ beq $zero, $zero, .L80AAE090
/* 008E4 80AAE054 8C820000 */ lw $v0, 0x0000($a0) ## 00000000
.L80AAE058:
/* 008E8 80AAE058 1000000C */ beq $zero, $zero, .L80AAE08C
/* 008EC 80AAE05C 00001825 */ or $v1, $zero, $zero ## $v1 = 00000000
/* 008F0 80AAE060 8E241E08 */ lw $a0, 0x1E08($s1) ## 00001E08
.L80AAE064:
/* 008F4 80AAE064 8E0501EC */ lw $a1, 0x01EC($s0) ## 000001EC
/* 008F8 80AAE068 0C2AB794 */ jal func_80AADE50
/* 008FC 80AAE06C AFA60060 */ sw $a2, 0x0060($sp)
/* 00900 80AAE070 8E0C01E8 */ lw $t4, 0x01E8($s0) ## 000001E8
/* 00904 80AAE074 8FA60060 */ lw $a2, 0x0060($sp)
/* 00908 80AAE078 2443FFFF */ addiu $v1, $v0, 0xFFFF ## $v1 = FFFFFFFF
/* 0090C 80AAE07C 000C6900 */ sll $t5, $t4, 4
/* 00910 80AAE080 10000002 */ beq $zero, $zero, .L80AAE08C
/* 00914 80AAE084 024D2021 */ addu $a0, $s2, $t5
/* 00918 80AAE088 8E0301F0 */ lw $v1, 0x01F0($s0) ## 000001F0
.L80AAE08C:
/* 0091C 80AAE08C 8C820000 */ lw $v0, 0x0000($a0) ## 00000000
.L80AAE090:
/* 00920 80AAE090 27A50064 */ addiu $a1, $sp, 0x0064 ## $a1 = FFFFFFEC
/* 00924 80AAE094 04400007 */ bltz $v0, .L80AAE0B4
/* 00928 80AAE098 00000000 */ nop
/* 0092C 80AAE09C 8E0701F4 */ lw $a3, 0x01F4($s0) ## 000001F4
/* 00930 80AAE0A0 00E6082A */ slt $at, $a3, $a2
/* 00934 80AAE0A4 1420000A */ bne $at, $zero, .L80AAE0D0
/* 00938 80AAE0A8 0067082A */ slt $at, $v1, $a3
/* 0093C 80AAE0AC 54200009 */ bnel $at, $zero, .L80AAE0D4
/* 00940 80AAE0B0 8C8E0004 */ lw $t6, 0x0004($a0) ## 00000004
.L80AAE0B4:
/* 00944 80AAE0B4 0441000C */ bgez $v0, .L80AAE0E8
/* 00948 80AAE0B8 8E0701F4 */ lw $a3, 0x01F4($s0) ## 000001F4
/* 0094C 80AAE0BC 00C7082A */ slt $at, $a2, $a3
/* 00950 80AAE0C0 14200003 */ bne $at, $zero, .L80AAE0D0
/* 00954 80AAE0C4 00E3082A */ slt $at, $a3, $v1
/* 00958 80AAE0C8 50200008 */ beql $at, $zero, .L80AAE0EC
/* 0095C 80AAE0CC 8E241E08 */ lw $a0, 0x1E08($s1) ## 00001E08
.L80AAE0D0:
/* 00960 80AAE0D0 8C8E0004 */ lw $t6, 0x0004($a0) ## 00000004
.L80AAE0D4:
/* 00964 80AAE0D4 000EC100 */ sll $t8, $t6, 4
/* 00968 80AAE0D8 0258C821 */ addu $t9, $s2, $t8
/* 0096C 80AAE0DC AE0E01E8 */ sw $t6, 0x01E8($s0) ## 000001E8
/* 00970 80AAE0E0 8F270008 */ lw $a3, 0x0008($t9) ## 00000008
/* 00974 80AAE0E4 AE0701F4 */ sw $a3, 0x01F4($s0) ## 000001F4
.L80AAE0E8:
/* 00978 80AAE0E8 8E241E08 */ lw $a0, 0x1E08($s1) ## 00001E08
.L80AAE0EC:
/* 0097C 80AAE0EC 0C2AB798 */ jal func_80AADE60
/* 00980 80AAE0F0 8E0601EC */ lw $a2, 0x01EC($s0) ## 000001EC
/* 00984 80AAE0F4 C7A40064 */ lwc1 $f4, 0x0064($sp)
/* 00988 80AAE0F8 C6060024 */ lwc1 $f6, 0x0024($s0) ## 00000024
/* 0098C 80AAE0FC C7A8006C */ lwc1 $f8, 0x006C($sp)
/* 00990 80AAE100 C60A002C */ lwc1 $f10, 0x002C($s0) ## 0000002C
/* 00994 80AAE104 46062501 */ sub.s $f20, $f4, $f6
/* 00998 80AAE108 460A4581 */ sub.s $f22, $f8, $f10
/* 0099C 80AAE10C 4600A306 */ mov.s $f12, $f20
/* 009A0 80AAE110 0C03F494 */ jal Math_FAtan2F
/* 009A4 80AAE114 4600B386 */ mov.s $f14, $f22
/* 009A8 80AAE118 3C0180AB */ lui $at, %hi(D_80AAEC74) ## $at = 80AB0000
/* 009AC 80AAE11C C430EC74 */ lwc1 $f16, %lo(D_80AAEC74)($at)
/* 009B0 80AAE120 3C0180AB */ lui $at, %hi(D_80AAEC78) ## $at = 80AB0000
/* 009B4 80AAE124 46100482 */ mul.s $f18, $f0, $f16
/* 009B8 80AAE128 00000000 */ nop
/* 009BC 80AAE12C 4614A282 */ mul.s $f10, $f20, $f20
/* 009C0 80AAE130 00000000 */ nop
/* 009C4 80AAE134 4616B402 */ mul.s $f16, $f22, $f22
/* 009C8 80AAE138 4600910D */ trunc.w.s $f4, $f18
/* 009CC 80AAE13C 46105000 */ add.s $f0, $f10, $f16
/* 009D0 80AAE140 440A2000 */ mfc1 $t2, $f4
/* 009D4 80AAE144 46000004 */ sqrt.s $f0, $f0
/* 009D8 80AAE148 448A3000 */ mtc1 $t2, $f6 ## $f6 = 0.00
/* 009DC 80AAE14C 00000000 */ nop
/* 009E0 80AAE150 46803220 */ cvt.s.w $f8, $f6
/* 009E4 80AAE154 E60001FC */ swc1 $f0, 0x01FC($s0) ## 000001FC
/* 009E8 80AAE158 E60801F8 */ swc1 $f8, 0x01F8($s0) ## 000001F8
/* 009EC 80AAE15C C432EC78 */ lwc1 $f18, %lo(D_80AAEC78)($at)
/* 009F0 80AAE160 4612003E */ c.le.s $f0, $f18
/* 009F4 80AAE164 00000000 */ nop
/* 009F8 80AAE168 45000004 */ bc1f .L80AAE17C
/* 009FC 80AAE16C 00000000 */ nop
/* 00A00 80AAE170 8E0201E8 */ lw $v0, 0x01E8($s0) ## 000001E8
/* 00A04 80AAE174 5440FF96 */ bnel $v0, $zero, .L80AADFD0
/* 00A08 80AAE178 0002C100 */ sll $t8, $v0, 4
.L80AAE17C:
/* 00A0C 80AAE17C C60401F8 */ lwc1 $f4, 0x01F8($s0) ## 000001F8
/* 00A10 80AAE180 AFA00010 */ sw $zero, 0x0010($sp)
/* 00A14 80AAE184 260400B6 */ addiu $a0, $s0, 0x00B6 ## $a0 = 000000B6
/* 00A18 80AAE188 4600218D */ trunc.w.s $f6, $f4
/* 00A1C 80AAE18C 24060001 */ addiu $a2, $zero, 0x0001 ## $a2 = 00000001
/* 00A20 80AAE190 240709C4 */ addiu $a3, $zero, 0x09C4 ## $a3 = 000009C4
/* 00A24 80AAE194 44053000 */ mfc1 $a1, $f6
/* 00A28 80AAE198 00000000 */ nop
/* 00A2C 80AAE19C 00052C00 */ sll $a1, $a1, 16
/* 00A30 80AAE1A0 0C01E1A7 */ jal Math_SmoothStepToS
/* 00A34 80AAE1A4 00052C03 */ sra $a1, $a1, 16
/* 00A38 80AAE1A8 860C00B6 */ lh $t4, 0x00B6($s0) ## 000000B6
/* 00A3C 80AAE1AC 4480A000 */ mtc1 $zero, $f20 ## $f20 = 0.00
/* 00A40 80AAE1B0 8E050200 */ lw $a1, 0x0200($s0) ## 00000200
/* 00A44 80AAE1B4 3C063F19 */ lui $a2, 0x3F19 ## $a2 = 3F190000
/* 00A48 80AAE1B8 8E0701FC */ lw $a3, 0x01FC($s0) ## 000001FC
/* 00A4C 80AAE1BC A60C0032 */ sh $t4, 0x0032($s0) ## 00000032
/* 00A50 80AAE1C0 34C6999A */ ori $a2, $a2, 0x999A ## $a2 = 3F19999A
/* 00A54 80AAE1C4 26040068 */ addiu $a0, $s0, 0x0068 ## $a0 = 00000068
/* 00A58 80AAE1C8 0C01E0C4 */ jal Math_SmoothStepToF
/* 00A5C 80AAE1CC E7B40010 */ swc1 $f20, 0x0010($sp)
/* 00A60 80AAE1D0 0C00B638 */ jal Actor_MoveForward
/* 00A64 80AAE1D4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00A68 80AAE1D8 4406A000 */ mfc1 $a2, $f20
/* 00A6C 80AAE1DC 4407A000 */ mfc1 $a3, $f20
/* 00A70 80AAE1E0 240D0004 */ addiu $t5, $zero, 0x0004 ## $t5 = 00000004
/* 00A74 80AAE1E4 AFAD0014 */ sw $t5, 0x0014($sp)
/* 00A78 80AAE1E8 8FA4007C */ lw $a0, 0x007C($sp)
/* 00A7C 80AAE1EC 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 00A80 80AAE1F0 0C00B92D */ jal Actor_UpdateBgCheckInfo
/* 00A84 80AAE1F4 E7B40010 */ swc1 $f20, 0x0010($sp)
/* 00A88 80AAE1F8 8FBF0044 */ lw $ra, 0x0044($sp)
/* 00A8C 80AAE1FC D7B40020 */ ldc1 $f20, 0x0020($sp)
/* 00A90 80AAE200 D7B60028 */ ldc1 $f22, 0x0028($sp)
/* 00A94 80AAE204 8FB00030 */ lw $s0, 0x0030($sp)
/* 00A98 80AAE208 8FB10034 */ lw $s1, 0x0034($sp)
/* 00A9C 80AAE20C 8FB20038 */ lw $s2, 0x0038($sp)
/* 00AA0 80AAE210 8FB3003C */ lw $s3, 0x003C($sp)
/* 00AA4 80AAE214 8FB40040 */ lw $s4, 0x0040($sp)
/* 00AA8 80AAE218 27BD0078 */ addiu $sp, $sp, 0x0078 ## $sp = 00000000
/* 00AAC 80AAE21C 03E00008 */ jr $ra
/* 00AB0 80AAE220 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000

View file

@ -1,31 +0,0 @@
glabel func_80AAE224
/* 00AB4 80AAE224 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00AB8 80AAE228 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00ABC 80AAE22C 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000
/* 00AC0 80AAE230 AFA5001C */ sw $a1, 0x001C($sp)
/* 00AC4 80AAE234 AFA70018 */ sw $a3, 0x0018($sp)
/* 00AC8 80AAE238 0C02927F */ jal SkelAnime_Update
/* 00ACC 80AAE23C 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00AD0 80AAE240 10400010 */ beq $v0, $zero, .L80AAE284
/* 00AD4 80AAE244 8FA70018 */ lw $a3, 0x0018($sp)
/* 00AD8 80AAE248 8CEF0254 */ lw $t7, 0x0254($a3) ## 00000254
/* 00ADC 80AAE24C 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
/* 00AE0 80AAE250 3C0E80AB */ lui $t6, %hi(func_80AAE598) ## $t6 = 80AB0000
/* 00AE4 80AAE254 25CEE598 */ addiu $t6, $t6, %lo(func_80AAE598) ## $t6 = 80AAE598
/* 00AE8 80AAE258 35F80001 */ ori $t8, $t7, 0x0001 ## $t8 = 00000001
/* 00AEC 80AAE25C ACEE0190 */ sw $t6, 0x0190($a3) ## 00000190
/* 00AF0 80AAE260 ACE001E8 */ sw $zero, 0x01E8($a3) ## 000001E8
/* 00AF4 80AAE264 ACE001E4 */ sw $zero, 0x01E4($a3) ## 000001E4
/* 00AF8 80AAE268 ACF80254 */ sw $t8, 0x0254($a3) ## 00000254
/* 00AFC 80AAE26C ACE001E0 */ sw $zero, 0x01E0($a3) ## 000001E0
/* 00B00 80AAE270 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000
/* 00B04 80AAE274 24050002 */ addiu $a1, $zero, 0x0002 ## $a1 = 00000002
/* 00B08 80AAE278 24E60258 */ addiu $a2, $a3, 0x0258 ## $a2 = 00000258
/* 00B0C 80AAE27C 0C2AB5DC */ jal func_80AAD770
/* 00B10 80AAE280 E4E40068 */ swc1 $f4, 0x0068($a3) ## 00000068
.L80AAE284:
/* 00B14 80AAE284 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00B18 80AAE288 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00B1C 80AAE28C 03E00008 */ jr $ra
/* 00B20 80AAE290 00000000 */ nop

View file

@ -1,184 +0,0 @@
.late_rodata
glabel D_80AAEC7C
.word 0x38000100
glabel D_80AAEC80
.word 0x3F7C1BDA
glabel D_80AAEC84
.word 0xBF7C1BDA
.text
glabel func_80AAE294
/* 00B24 80AAE294 27BDFFB8 */ addiu $sp, $sp, 0xFFB8 ## $sp = FFFFFFB8
/* 00B28 80AAE298 AFB00028 */ sw $s0, 0x0028($sp)
/* 00B2C 80AAE29C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00B30 80AAE2A0 AFBF002C */ sw $ra, 0x002C($sp)
/* 00B34 80AAE2A4 AFA5004C */ sw $a1, 0x004C($sp)
/* 00B38 80AAE2A8 0C023A62 */ jal Player_InCsMode
/* 00B3C 80AAE2AC 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 00B40 80AAE2B0 54400092 */ bnel $v0, $zero, .L80AAE4FC
/* 00B44 80AAE2B4 8FBF002C */ lw $ra, 0x002C($sp)
/* 00B48 80AAE2B8 0C02927F */ jal SkelAnime_Update
/* 00B4C 80AAE2BC 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 00B50 80AAE2C0 8E030258 */ lw $v1, 0x0258($s0) ## 00000258
/* 00B54 80AAE2C4 5460000F */ bnel $v1, $zero, .L80AAE304
/* 00B58 80AAE2C8 24010004 */ addiu $at, $zero, 0x0004 ## $at = 00000004
/* 00B5C 80AAE2CC C6040164 */ lwc1 $f4, 0x0164($s0) ## 00000164
/* 00B60 80AAE2D0 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 00B64 80AAE2D4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00B68 80AAE2D8 4600218D */ trunc.w.s $f6, $f4
/* 00B6C 80AAE2DC 44023000 */ mfc1 $v0, $f6
/* 00B70 80AAE2E0 00000000 */ nop
/* 00B74 80AAE2E4 10410003 */ beq $v0, $at, .L80AAE2F4
/* 00B78 80AAE2E8 24010006 */ addiu $at, $zero, 0x0006 ## $at = 00000006
/* 00B7C 80AAE2EC 54410005 */ bnel $v0, $at, .L80AAE304
/* 00B80 80AAE2F0 24010004 */ addiu $at, $zero, 0x0004 ## $at = 00000004
.L80AAE2F4:
/* 00B84 80AAE2F4 0C00BE0A */ jal Audio_PlayActorSound2
/* 00B88 80AAE2F8 24050800 */ addiu $a1, $zero, 0x0800 ## $a1 = 00000800
/* 00B8C 80AAE2FC 8E030258 */ lw $v1, 0x0258($s0) ## 00000258
/* 00B90 80AAE300 24010004 */ addiu $at, $zero, 0x0004 ## $at = 00000004
.L80AAE304:
/* 00B94 80AAE304 1461001B */ bne $v1, $at, .L80AAE374
/* 00B98 80AAE308 00000000 */ nop
/* 00B9C 80AAE30C C6000164 */ lwc1 $f0, 0x0164($s0) ## 00000164
/* 00BA0 80AAE310 C6080168 */ lwc1 $f8, 0x0168($s0) ## 00000168
/* 00BA4 80AAE314 3C014110 */ lui $at, 0x4110 ## $at = 41100000
/* 00BA8 80AAE318 44816000 */ mtc1 $at, $f12 ## $f12 = 9.00
/* 00BAC 80AAE31C 46080081 */ sub.s $f2, $f0, $f8
/* 00BB0 80AAE320 3C014198 */ lui $at, 0x4198 ## $at = 41980000
/* 00BB4 80AAE324 460C103C */ c.lt.s $f2, $f12
/* 00BB8 80AAE328 00000000 */ nop
/* 00BBC 80AAE32C 45020006 */ bc1fl .L80AAE348
/* 00BC0 80AAE330 44816000 */ mtc1 $at, $f12 ## $f12 = 19.00
/* 00BC4 80AAE334 4600603E */ c.le.s $f12, $f0
/* 00BC8 80AAE338 00000000 */ nop
/* 00BCC 80AAE33C 4503000B */ bc1tl .L80AAE36C
/* 00BD0 80AAE340 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00BD4 80AAE344 44816000 */ mtc1 $at, $f12 ## $f12 = 19.00
.L80AAE348:
/* 00BD8 80AAE348 00000000 */ nop
/* 00BDC 80AAE34C 460C103C */ c.lt.s $f2, $f12
/* 00BE0 80AAE350 00000000 */ nop
/* 00BE4 80AAE354 45000007 */ bc1f .L80AAE374
/* 00BE8 80AAE358 00000000 */ nop
/* 00BEC 80AAE35C 4600603E */ c.le.s $f12, $f0
/* 00BF0 80AAE360 00000000 */ nop
/* 00BF4 80AAE364 45000003 */ bc1f .L80AAE374
/* 00BF8 80AAE368 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
.L80AAE36C:
/* 00BFC 80AAE36C 0C00BE0A */ jal Audio_PlayActorSound2
/* 00C00 80AAE370 240538B8 */ addiu $a1, $zero, 0x38B8 ## $a1 = 000038B8
.L80AAE374:
/* 00C04 80AAE374 3C0F8016 */ lui $t7, %hi(gSaveContext+0xef6)
/* 00C08 80AAE378 95EFF556 */ lhu $t7, %lo(gSaveContext+0xef6)($t7)
/* 00C0C 80AAE37C 3C014040 */ lui $at, 0x4040 ## $at = 40400000
/* 00C10 80AAE380 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00C14 80AAE384 31F80800 */ andi $t8, $t7, 0x0800 ## $t8 = 00000000
/* 00C18 80AAE388 53000009 */ beql $t8, $zero, .L80AAE3B0
/* 00C1C 80AAE38C 44819000 */ mtc1 $at, $f18 ## $f18 = 3.00
/* 00C20 80AAE390 3C014120 */ lui $at, 0x4120 ## $at = 41200000
/* 00C24 80AAE394 44815000 */ mtc1 $at, $f10 ## $f10 = 10.00
/* 00C28 80AAE398 3C014000 */ lui $at, 0x4000 ## $at = 40000000
/* 00C2C 80AAE39C 44818000 */ mtc1 $at, $f16 ## $f16 = 2.00
/* 00C30 80AAE3A0 E60A0200 */ swc1 $f10, 0x0200($s0) ## 00000200
/* 00C34 80AAE3A4 10000006 */ beq $zero, $zero, .L80AAE3C0
/* 00C38 80AAE3A8 E6100168 */ swc1 $f16, 0x0168($s0) ## 00000168
/* 00C3C 80AAE3AC 44819000 */ mtc1 $at, $f18 ## $f18 = 2.00
.L80AAE3B0:
/* 00C40 80AAE3B0 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 00C44 80AAE3B4 44812000 */ mtc1 $at, $f4 ## $f4 = 1.00
/* 00C48 80AAE3B8 E6120200 */ swc1 $f18, 0x0200($s0) ## 00000200
/* 00C4C 80AAE3BC E6040168 */ swc1 $f4, 0x0168($s0) ## 00000168
.L80AAE3C0:
/* 00C50 80AAE3C0 0C2AB7BC */ jal func_80AADEF0
/* 00C54 80AAE3C4 8FA5004C */ lw $a1, 0x004C($sp)
/* 00C58 80AAE3C8 0C2AB69C */ jal func_80AADA70
/* 00C5C 80AAE3CC 00000000 */ nop
/* 00C60 80AAE3D0 14400025 */ bne $v0, $zero, .L80AAE468
/* 00C64 80AAE3D4 00000000 */ nop
/* 00C68 80AAE3D8 8E020078 */ lw $v0, 0x0078($s0) ## 00000078
/* 00C6C 80AAE3DC 10400022 */ beq $v0, $zero, .L80AAE468
/* 00C70 80AAE3E0 00000000 */ nop
/* 00C74 80AAE3E4 8459000A */ lh $t9, 0x000A($v0) ## 0000000A
/* 00C78 80AAE3E8 3C0180AB */ lui $at, %hi(D_80AAEC7C) ## $at = 80AB0000
/* 00C7C 80AAE3EC C42AEC7C */ lwc1 $f10, %lo(D_80AAEC7C)($at)
/* 00C80 80AAE3F0 44993000 */ mtc1 $t9, $f6 ## $f6 = 0.00
/* 00C84 80AAE3F4 3C0180AB */ lui $at, %hi(D_80AAEC80) ## $at = 80AB0000
/* 00C88 80AAE3F8 C430EC80 */ lwc1 $f16, %lo(D_80AAEC80)($at)
/* 00C8C 80AAE3FC 46803220 */ cvt.s.w $f8, $f6
/* 00C90 80AAE400 3C0180AB */ lui $at, %hi(D_80AAEC84) ## $at = 80AB0000
/* 00C94 80AAE404 460A4002 */ mul.s $f0, $f8, $f10
/* 00C98 80AAE408 4600803C */ c.lt.s $f16, $f0
/* 00C9C 80AAE40C 00000000 */ nop
/* 00CA0 80AAE410 45030007 */ bc1tl .L80AAE430
/* 00CA4 80AAE414 8E02025C */ lw $v0, 0x025C($s0) ## 0000025C
/* 00CA8 80AAE418 C432EC84 */ lwc1 $f18, %lo(D_80AAEC84)($at)
/* 00CAC 80AAE41C 4612003C */ c.lt.s $f0, $f18
/* 00CB0 80AAE420 00000000 */ nop
/* 00CB4 80AAE424 45020010 */ bc1fl .L80AAE468
/* 00CB8 80AAE428 AE00025C */ sw $zero, 0x025C($s0) ## 0000025C
/* 00CBC 80AAE42C 8E02025C */ lw $v0, 0x025C($s0) ## 0000025C
.L80AAE430:
/* 00CC0 80AAE430 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00CC4 80AAE434 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
/* 00CC8 80AAE438 2841001F */ slti $at, $v0, 0x001F
/* 00CCC 80AAE43C 14200007 */ bne $at, $zero, .L80AAE45C
/* 00CD0 80AAE440 24490001 */ addiu $t1, $v0, 0x0001 ## $t1 = 00000001
/* 00CD4 80AAE444 0C2AB5DC */ jal func_80AAD770
/* 00CD8 80AAE448 26060258 */ addiu $a2, $s0, 0x0258 ## $a2 = 00000258
/* 00CDC 80AAE44C 3C0880AB */ lui $t0, %hi(func_80AAE224) ## $t0 = 80AB0000
/* 00CE0 80AAE450 2508E224 */ addiu $t0, $t0, %lo(func_80AAE224) ## $t0 = 80AAE224
/* 00CE4 80AAE454 10000004 */ beq $zero, $zero, .L80AAE468
/* 00CE8 80AAE458 AE080190 */ sw $t0, 0x0190($s0) ## 00000190
.L80AAE45C:
/* 00CEC 80AAE45C 10000002 */ beq $zero, $zero, .L80AAE468
/* 00CF0 80AAE460 AE09025C */ sw $t1, 0x025C($s0) ## 0000025C
/* 00CF4 80AAE464 AE00025C */ sw $zero, 0x025C($s0) ## 0000025C
.L80AAE468:
/* 00CF8 80AAE468 3C028016 */ lui $v0, %hi(gSaveContext)
/* 00CFC 80AAE46C 2442E660 */ addiu $v0, %lo(gSaveContext)
/* 00D00 80AAE470 944A0EF6 */ lhu $t2, 0x0EF6($v0) ## 8015F556
/* 00D04 80AAE474 314B0800 */ andi $t3, $t2, 0x0800 ## $t3 = 00000000
/* 00D08 80AAE478 51600020 */ beql $t3, $zero, .L80AAE4FC
/* 00D0C 80AAE47C 8FBF002C */ lw $ra, 0x002C($sp)
/* 00D10 80AAE480 C6040024 */ lwc1 $f4, 0x0024($s0) ## 00000024
/* 00D14 80AAE484 8C4C135C */ lw $t4, 0x135C($v0) ## 8015F9BC
/* 00D18 80AAE488 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
/* 00D1C 80AAE48C E7A40038 */ swc1 $f4, 0x0038($sp)
/* 00D20 80AAE490 C6060028 */ lwc1 $f6, 0x0028($s0) ## 00000028
/* 00D24 80AAE494 8FA4004C */ lw $a0, 0x004C($sp)
/* 00D28 80AAE498 27A50038 */ addiu $a1, $sp, 0x0038 ## $a1 = FFFFFFF0
/* 00D2C 80AAE49C E7A6003C */ swc1 $f6, 0x003C($sp)
/* 00D30 80AAE4A0 C608002C */ lwc1 $f8, 0x002C($s0) ## 0000002C
/* 00D34 80AAE4A4 3C064248 */ lui $a2, 0x4248 ## $a2 = 42480000
/* 00D38 80AAE4A8 11810008 */ beq $t4, $at, .L80AAE4CC
/* 00D3C 80AAE4AC E7A80040 */ swc1 $f8, 0x0040($sp)
/* 00D40 80AAE4B0 240D015E */ addiu $t5, $zero, 0x015E ## $t5 = 0000015E
/* 00D44 80AAE4B4 240E0014 */ addiu $t6, $zero, 0x0014 ## $t6 = 00000014
/* 00D48 80AAE4B8 AFAE0014 */ sw $t6, 0x0014($sp)
/* 00D4C 80AAE4BC AFAD0010 */ sw $t5, 0x0010($sp)
/* 00D50 80AAE4C0 24070002 */ addiu $a3, $zero, 0x0002 ## $a3 = 00000002
/* 00D54 80AAE4C4 0C00CD20 */ jal func_80033480
/* 00D58 80AAE4C8 AFA00018 */ sw $zero, 0x0018($sp)
.L80AAE4CC:
/* 00D5C 80AAE4CC 920F01A7 */ lbu $t7, 0x01A7($s0) ## 000001A7
/* 00D60 80AAE4D0 8FA4004C */ lw $a0, 0x004C($sp)
/* 00D64 80AAE4D4 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 00D68 80AAE4D8 31F80001 */ andi $t8, $t7, 0x0001 ## $t8 = 00000000
/* 00D6C 80AAE4DC 13000006 */ beq $t8, $zero, .L80AAE4F8
/* 00D70 80AAE4E0 3C064040 */ lui $a2, 0x4040 ## $a2 = 40400000
/* 00D74 80AAE4E4 3C014080 */ lui $at, 0x4080 ## $at = 40800000
/* 00D78 80AAE4E8 44815000 */ mtc1 $at, $f10 ## $f10 = 4.00
/* 00D7C 80AAE4EC 8607008A */ lh $a3, 0x008A($s0) ## 0000008A
/* 00D80 80AAE4F0 0C00BDC7 */ jal func_8002F71C
/* 00D84 80AAE4F4 E7AA0010 */ swc1 $f10, 0x0010($sp)
.L80AAE4F8:
/* 00D88 80AAE4F8 8FBF002C */ lw $ra, 0x002C($sp)
.L80AAE4FC:
/* 00D8C 80AAE4FC 8FB00028 */ lw $s0, 0x0028($sp)
/* 00D90 80AAE500 27BD0048 */ addiu $sp, $sp, 0x0048 ## $sp = 00000000
/* 00D94 80AAE504 03E00008 */ jr $ra
/* 00D98 80AAE508 00000000 */ nop

View file

@ -1,40 +0,0 @@
glabel func_80AAE50C
/* 00D9C 80AAE50C 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 00DA0 80AAE510 AFB00018 */ sw $s0, 0x0018($sp)
/* 00DA4 80AAE514 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00DA8 80AAE518 AFBF001C */ sw $ra, 0x001C($sp)
/* 00DAC 80AAE51C AFA50024 */ sw $a1, 0x0024($sp)
/* 00DB0 80AAE520 0C02927F */ jal SkelAnime_Update
/* 00DB4 80AAE524 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00DB8 80AAE528 10400016 */ beq $v0, $zero, .L80AAE584
/* 00DBC 80AAE52C 3C0E80AB */ lui $t6, %hi(func_80AAE294) ## $t6 = 80AB0000
/* 00DC0 80AAE530 25CEE294 */ addiu $t6, $t6, %lo(func_80AAE294) ## $t6 = 80AAE294
/* 00DC4 80AAE534 AE00025C */ sw $zero, 0x025C($s0) ## 0000025C
/* 00DC8 80AAE538 AE0E0190 */ sw $t6, 0x0190($s0) ## 00000190
/* 00DCC 80AAE53C 3C0F8016 */ lui $t7, %hi(gSaveContext+0xef6)
/* 00DD0 80AAE540 95EFF556 */ lhu $t7, %lo(gSaveContext+0xef6)($t7)
/* 00DD4 80AAE544 26060258 */ addiu $a2, $s0, 0x0258 ## $a2 = 00000258
/* 00DD8 80AAE548 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00DDC 80AAE54C 31F80800 */ andi $t8, $t7, 0x0800 ## $t8 = 00000000
/* 00DE0 80AAE550 13000006 */ beq $t8, $zero, .L80AAE56C
/* 00DE4 80AAE554 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 00DE8 80AAE558 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00DEC 80AAE55C 0C2AB5DC */ jal func_80AAD770
/* 00DF0 80AAE560 24050004 */ addiu $a1, $zero, 0x0004 ## $a1 = 00000004
/* 00DF4 80AAE564 10000005 */ beq $zero, $zero, .L80AAE57C
/* 00DF8 80AAE568 AE0001E4 */ sw $zero, 0x01E4($s0) ## 000001E4
.L80AAE56C:
/* 00DFC 80AAE56C 0C2AB5DC */ jal func_80AAD770
/* 00E00 80AAE570 26060258 */ addiu $a2, $s0, 0x0258 ## $a2 = 00000258
/* 00E04 80AAE574 24190001 */ addiu $t9, $zero, 0x0001 ## $t9 = 00000001
/* 00E08 80AAE578 AE1901E4 */ sw $t9, 0x01E4($s0) ## 000001E4
.L80AAE57C:
/* 00E0C 80AAE57C 24080001 */ addiu $t0, $zero, 0x0001 ## $t0 = 00000001
/* 00E10 80AAE580 AE0801E8 */ sw $t0, 0x01E8($s0) ## 000001E8
.L80AAE584:
/* 00E14 80AAE584 8FBF001C */ lw $ra, 0x001C($sp)
/* 00E18 80AAE588 8FB00018 */ lw $s0, 0x0018($sp)
/* 00E1C 80AAE58C 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 00E20 80AAE590 03E00008 */ jr $ra
/* 00E24 80AAE594 00000000 */ nop

View file

@ -1,46 +0,0 @@
glabel func_80AAE598
/* 00E28 80AAE598 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
/* 00E2C 80AAE59C AFB00028 */ sw $s0, 0x0028($sp)
/* 00E30 80AAE5A0 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00E34 80AAE5A4 AFBF002C */ sw $ra, 0x002C($sp)
/* 00E38 80AAE5A8 AFA50034 */ sw $a1, 0x0034($sp)
/* 00E3C 80AAE5AC 8E0F0038 */ lw $t7, 0x0038($s0) ## 00000038
/* 00E40 80AAE5B0 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 00E44 80AAE5B4 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 00E48 80AAE5B8 AFAF0010 */ sw $t7, 0x0010($sp)
/* 00E4C 80AAE5BC 8E0E003C */ lw $t6, 0x003C($s0) ## 0000003C
/* 00E50 80AAE5C0 26060248 */ addiu $a2, $s0, 0x0248 ## $a2 = 00000248
/* 00E54 80AAE5C4 2607024E */ addiu $a3, $s0, 0x024E ## $a3 = 0000024E
/* 00E58 80AAE5C8 AFAE0014 */ sw $t6, 0x0014($sp)
/* 00E5C 80AAE5CC 8E0F0040 */ lw $t7, 0x0040($s0) ## 00000040
/* 00E60 80AAE5D0 0C00E0A4 */ jal func_80038290
/* 00E64 80AAE5D4 AFAF0018 */ sw $t7, 0x0018($sp)
/* 00E68 80AAE5D8 0C02927F */ jal SkelAnime_Update
/* 00E6C 80AAE5DC 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 00E70 80AAE5E0 0C2AB69C */ jal func_80AADA70
/* 00E74 80AAE5E4 00000000 */ nop
/* 00E78 80AAE5E8 50400011 */ beql $v0, $zero, .L80AAE630
/* 00E7C 80AAE5EC 8FBF002C */ lw $ra, 0x002C($sp)
/* 00E80 80AAE5F0 8E1801E0 */ lw $t8, 0x01E0($s0) ## 000001E0
/* 00E84 80AAE5F4 3C0880AB */ lui $t0, %hi(func_80AAE50C) ## $t0 = 80AB0000
/* 00E88 80AAE5F8 24190003 */ addiu $t9, $zero, 0x0003 ## $t9 = 00000003
/* 00E8C 80AAE5FC 1700000B */ bne $t8, $zero, .L80AAE62C
/* 00E90 80AAE600 2508E50C */ addiu $t0, $t0, %lo(func_80AAE50C) ## $t0 = 80AAE50C
/* 00E94 80AAE604 8E090254 */ lw $t1, 0x0254($s0) ## 00000254
/* 00E98 80AAE608 2401FFFE */ addiu $at, $zero, 0xFFFE ## $at = FFFFFFFE
/* 00E9C 80AAE60C AE1901E0 */ sw $t9, 0x01E0($s0) ## 000001E0
/* 00EA0 80AAE610 01215024 */ and $t2, $t1, $at
/* 00EA4 80AAE614 AE080190 */ sw $t0, 0x0190($s0) ## 00000190
/* 00EA8 80AAE618 AE0A0254 */ sw $t2, 0x0254($s0) ## 00000254
/* 00EAC 80AAE61C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00EB0 80AAE620 24050003 */ addiu $a1, $zero, 0x0003 ## $a1 = 00000003
/* 00EB4 80AAE624 0C2AB5DC */ jal func_80AAD770
/* 00EB8 80AAE628 26060258 */ addiu $a2, $s0, 0x0258 ## $a2 = 00000258
.L80AAE62C:
/* 00EBC 80AAE62C 8FBF002C */ lw $ra, 0x002C($sp)
.L80AAE630:
/* 00EC0 80AAE630 8FB00028 */ lw $s0, 0x0028($sp)
/* 00EC4 80AAE634 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
/* 00EC8 80AAE638 03E00008 */ jr $ra
/* 00ECC 80AAE63C 00000000 */ nop

View file

@ -1,41 +0,0 @@
glabel func_80AAE97C
/* 0120C 80AAE97C AFA40000 */ sw $a0, 0x0000($sp)
/* 01210 80AAE980 8FA40014 */ lw $a0, 0x0014($sp)
/* 01214 80AAE984 AFA60008 */ sw $a2, 0x0008($sp)
/* 01218 80AAE988 AFA7000C */ sw $a3, 0x000C($sp)
/* 0121C 80AAE98C 8C8E0254 */ lw $t6, 0x0254($a0) ## 00000254
/* 01220 80AAE990 24010008 */ addiu $at, $zero, 0x0008 ## $at = 00000008
/* 01224 80AAE994 31CF0001 */ andi $t7, $t6, 0x0001 ## $t7 = 00000000
/* 01228 80AAE998 11E0001B */ beq $t7, $zero, .L80AAEA08
/* 0122C 80AAE99C 00000000 */ nop
/* 01230 80AAE9A0 10A10006 */ beq $a1, $at, .L80AAE9BC
/* 01234 80AAE9A4 8FA20010 */ lw $v0, 0x0010($sp)
/* 01238 80AAE9A8 2401000F */ addiu $at, $zero, 0x000F ## $at = 0000000F
/* 0123C 80AAE9AC 10A1000D */ beq $a1, $at, .L80AAE9E4
/* 01240 80AAE9B0 8FA20010 */ lw $v0, 0x0010($sp)
/* 01244 80AAE9B4 03E00008 */ jr $ra
/* 01248 80AAE9B8 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
.L80AAE9BC:
/* 0124C 80AAE9BC 84580000 */ lh $t8, 0x0000($v0) ## 00000000
/* 01250 80AAE9C0 84990250 */ lh $t9, 0x0250($a0) ## 00000250
/* 01254 80AAE9C4 84490002 */ lh $t1, 0x0002($v0) ## 00000002
/* 01258 80AAE9C8 03194021 */ addu $t0, $t8, $t9
/* 0125C 80AAE9CC A4480000 */ sh $t0, 0x0000($v0) ## 00000000
/* 01260 80AAE9D0 848A024E */ lh $t2, 0x024E($a0) ## 0000024E
/* 01264 80AAE9D4 012A5823 */ subu $t3, $t1, $t2
/* 01268 80AAE9D8 A44B0002 */ sh $t3, 0x0002($v0) ## 00000002
/* 0126C 80AAE9DC 03E00008 */ jr $ra
/* 01270 80AAE9E0 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
.L80AAE9E4:
/* 01274 80AAE9E4 844C0000 */ lh $t4, 0x0000($v0) ## 00000000
/* 01278 80AAE9E8 848D024A */ lh $t5, 0x024A($a0) ## 0000024A
/* 0127C 80AAE9EC 844F0004 */ lh $t7, 0x0004($v0) ## 00000004
/* 01280 80AAE9F0 018D7021 */ addu $t6, $t4, $t5
/* 01284 80AAE9F4 A44E0000 */ sh $t6, 0x0000($v0) ## 00000000
/* 01288 80AAE9F8 84980248 */ lh $t8, 0x0248($a0) ## 00000248
/* 0128C 80AAE9FC 01F8C821 */ addu $t9, $t7, $t8
/* 01290 80AAEA00 27280FA0 */ addiu $t0, $t9, 0x0FA0 ## $t0 = 00000FA0
/* 01294 80AAEA04 A4480004 */ sh $t0, 0x0004($v0) ## 00000004
.L80AAEA08:
/* 01298 80AAEA08 03E00008 */ jr $ra
/* 0129C 80AAEA0C 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000

View file

@ -1,51 +0,0 @@
.late_rodata
glabel D_80AAEC90
.word 0x4020D97C, 0x00000000, 0x00000000, 0x00000000
.text
glabel func_80AAEA10
/* 012A0 80AAEA10 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 012A4 80AAEA14 2401000F */ addiu $at, $zero, 0x000F ## $at = 0000000F
/* 012A8 80AAEA18 AFBF0014 */ sw $ra, 0x0014($sp)
/* 012AC 80AAEA1C AFA40018 */ sw $a0, 0x0018($sp)
/* 012B0 80AAEA20 AFA60020 */ sw $a2, 0x0020($sp)
/* 012B4 80AAEA24 14A10021 */ bne $a1, $at, .L80AAEAAC
/* 012B8 80AAEA28 AFA70024 */ sw $a3, 0x0024($sp)
/* 012BC 80AAEA2C 8FA50028 */ lw $a1, 0x0028($sp)
/* 012C0 80AAEA30 3C0480AB */ lui $a0, %hi(D_80AAEBF4) ## $a0 = 80AB0000
/* 012C4 80AAEA34 2484EBF4 */ addiu $a0, $a0, %lo(D_80AAEBF4) ## $a0 = 80AAEBF4
/* 012C8 80AAEA38 0C0346BD */ jal Matrix_MultVec3f
/* 012CC 80AAEA3C 24A50038 */ addiu $a1, $a1, 0x0038 ## $a1 = 00000038
/* 012D0 80AAEA40 3C014382 */ lui $at, 0x4382 ## $at = 43820000
/* 012D4 80AAEA44 44816000 */ mtc1 $at, $f12 ## $f12 = 260.00
/* 012D8 80AAEA48 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000
/* 012DC 80AAEA4C 44817000 */ mtc1 $at, $f14 ## $f14 = 20.00
/* 012E0 80AAEA50 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
/* 012E4 80AAEA54 0C034261 */ jal Matrix_Translate
/* 012E8 80AAEA58 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
/* 012EC 80AAEA5C 44806000 */ mtc1 $zero, $f12 ## $f12 = 0.00
/* 012F0 80AAEA60 0C034348 */ jal Matrix_RotateY
/* 012F4 80AAEA64 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
/* 012F8 80AAEA68 44806000 */ mtc1 $zero, $f12 ## $f12 = 0.00
/* 012FC 80AAEA6C 0C0342DC */ jal Matrix_RotateX
/* 01300 80AAEA70 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
/* 01304 80AAEA74 3C0180AB */ lui $at, %hi(D_80AAEC90) ## $at = 80AB0000
/* 01308 80AAEA78 C42CEC90 */ lwc1 $f12, %lo(D_80AAEC90)($at)
/* 0130C 80AAEA7C 0C0343B5 */ jal Matrix_RotateZ
/* 01310 80AAEA80 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
/* 01314 80AAEA84 3C01C382 */ lui $at, 0xC382 ## $at = C3820000
/* 01318 80AAEA88 44816000 */ mtc1 $at, $f12 ## $f12 = -260.00
/* 0131C 80AAEA8C 3C014268 */ lui $at, 0x4268 ## $at = 42680000
/* 01320 80AAEA90 44817000 */ mtc1 $at, $f14 ## $f14 = 58.00
/* 01324 80AAEA94 3C064120 */ lui $a2, 0x4120 ## $a2 = 41200000
/* 01328 80AAEA98 0C034261 */ jal Matrix_Translate
/* 0132C 80AAEA9C 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
/* 01330 80AAEAA0 8FA40028 */ lw $a0, 0x0028($sp)
/* 01334 80AAEAA4 0C034236 */ jal Matrix_Get
/* 01338 80AAEAA8 24840208 */ addiu $a0, $a0, 0x0208 ## $a0 = 00000208
.L80AAEAAC:
/* 0133C 80AAEAAC 8FBF0014 */ lw $ra, 0x0014($sp)
/* 01340 80AAEAB0 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 01344 80AAEAB4 03E00008 */ jr $ra
/* 01348 80AAEAB8 00000000 */ nop
/* 0134C 80AAEABC 00000000 */ nop

View file

@ -0,0 +1,13 @@
<Root>
<File Name="object_mm" Segment="6">
<Skeleton Name="gRunningManSkel" Type="Flex" LimbType="Standard" Offset="0x5E18"/>
<Animation Name="gRunningManRunAnim" Offset="0x0718"/>
<Animation Name="gRunningManSitStandAnim" Offset="0x6940"/>
<Animation Name="gRunningManSitWaitAnim" Offset="0x6C50"/>
<Animation Name="gRunningManSprintAnim" Offset="0x0468"/>
<Animation Name="gRunningManExcitedAnim" Offset="0x73A0"/>
<Animation Name="gRunningManHappyAnim" Offset="0x8060"/>
<Texture Name="gRunningManMouthClosedTex" Outname="running_man_mouth_closed" Format="ci8" Width="32" Height="16" Offset="0xE30"/>
<Texture Name="gRunningManMouthOpenTex" Outname="running_man_mouth_closed" Format="ci8" Width="32" Height="16" Offset="0xC30"/>
</File>
</Root>

View file

@ -1,34 +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_Mm_InitVars
.word 0x01620400, 0x00000019, 0x013C0000, 0x00000320
.word EnMm_Init
.word EnMm_Destroy
.word EnMm_Update
.word EnMm_Draw
glabel D_80AAEAE0
.word 0x0A000039, 0x20010000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000100, 0x0012003F, 0x00000000, 0x00000000
glabel D_80AAEB0C
.word 0x00000000, 0x00000000, 0xFF000000
glabel D_80AAEB18
.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000
glabel D_80AAEB38
.word 0x06000718, 0x3F800000, 0x00000000, 0xC0E00000, 0x06006940, 0xBF800000, 0x02000000, 0xC0E00000, 0x06006C50, 0x3F800000, 0x00000000, 0xC0E00000, 0x06006940, 0x3F800000, 0x02000000, 0xC0E00000, 0x06000468, 0x3F800000, 0x00000000, 0xC0E00000, 0x060073A0, 0x3F800000, 0x00000000, 0xC1400000, 0x06008060, 0x3F800000, 0x00000000, 0xC1400000
glabel D_80AAEBA8
.word 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000001, 0x00000001, 0x00000000, 0x00000001, 0x00000001, 0x00000003, 0x00000002, 0x00000001, 0xFFFFFFFF, 0x00000000, 0x00000002, 0x00000000
glabel D_80AAEBE8
.word 0x30F40FA0
glabel D_80AAEBEC
.word 0x06000E30, 0x06000C30
glabel D_80AAEBF4
.word 0x43480000, 0x44480000, 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_80AAECA0
.incbin "baserom/ovl_En_Mm", 0x1530, 0x000001B0

6
spec
View file

@ -2653,8 +2653,7 @@ endseg
beginseg
name "ovl_En_Mm"
include "build/src/overlays/actors/ovl_En_Mm/z_en_mm.o"
include "build/data/overlays/actors/z_en_mm.data.o"
include "build/data/overlays/actors/z_en_mm.reloc.o"
include "build/src/overlays/actors/ovl_En_Mm/ovl_En_Mm_reloc.o"
endseg
beginseg
@ -5330,7 +5329,8 @@ endseg
beginseg
name "object_mm"
romalign 0x1000
include "build/baserom/object_mm.o"
include "build/assets/objects/object_mm/object_mm.o"
number 6
endseg
beginseg

View file

@ -1,18 +1,45 @@
/*
* File: z_en_mm.c
* Overlay: ovl_En_Mm
* Description: Running Man (child)
*/
#include "z_en_mm.h"
#include "objects/object_mm/object_mm.h"
#define FLAGS 0x00000019
#define THIS ((EnMm*)thisx)
typedef enum {
/* 0 */ RM_ANIM_RUN,
/* 1 */ RM_ANIM_SIT,
/* 2 */ RM_ANIM_SIT_WAIT,
/* 3 */ RM_ANIM_STAND,
/* 4 */ RM_ANIM_SPRINT,
/* 5 */ RM_ANIM_EXCITED, // plays when talking to him with bunny hood on
/* 6 */ RM_ANIM_HAPPY // plays when you sell him the bunny hood
} RunningManAnimIndex;
typedef enum {
/* 0 */ RM_MOUTH_CLOSED,
/* 1 */ RM_MOUTH_OPEN
} RunningManMouthTex;
void EnMm_Init(Actor* thisx, GlobalContext* globalCtx);
void EnMm_Destroy(Actor* thisx, GlobalContext* globalCtx);
void EnMm_Update(Actor* thisx, GlobalContext* globalCtx);
void EnMm_Draw(Actor* thisx, GlobalContext* globalCtx);
extern UNK_TYPE D_06005E18;
extern UNK_TYPE D_0602CA38;
void func_80AAE598(EnMm* this, GlobalContext* globalCtx);
void func_80AAE294(EnMm* this, GlobalContext* globalCtx);
void func_80AAE50C(EnMm* this, GlobalContext* globalCtx);
void func_80AAE224(EnMm* this, GlobalContext* globalCtx);
s32 func_80AADA70(void);
s32 EnMm_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* thisx);
void EnMm_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void*);
/*
const ActorInit En_Mm_InitVars = {
ACTOR_EN_MM,
ACTORCAT_NPC,
@ -25,7 +52,7 @@ const ActorInit En_Mm_InitVars = {
(ActorFunc)EnMm_Draw,
};
static ColliderCylinderInit D_80AAEAE0 = {
static ColliderCylinderInit sCylinderInit = {
{
COLTYPE_NONE,
AT_NONE,
@ -44,39 +71,541 @@ static ColliderCylinderInit D_80AAEAE0 = {
},
{ 18, 63, 0, { 0, 0, 0 } },
};
*/
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Mm/func_80AAD770.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Mm/EnMm_Init.s")
static CollisionCheckInfoInit2 sColChkInfoInit[] = { 0, 0, 0, 0, MASS_IMMOVABLE };
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Mm/EnMm_Destroy.s")
static DamageTable sDamageTable = {
/* Deku nut */ DMG_ENTRY(0, 0x0),
/* Deku stick */ DMG_ENTRY(0, 0x0),
/* Slingshot */ DMG_ENTRY(0, 0x0),
/* Explosive */ DMG_ENTRY(0, 0x0),
/* Boomerang */ DMG_ENTRY(0, 0x0),
/* Normal arrow */ DMG_ENTRY(0, 0x0),
/* Hammer swing */ DMG_ENTRY(0, 0x0),
/* Hookshot */ DMG_ENTRY(0, 0x0),
/* Kokiri sword */ DMG_ENTRY(0, 0x0),
/* Master sword */ DMG_ENTRY(0, 0x0),
/* Giant's Knife */ DMG_ENTRY(0, 0x0),
/* Fire arrow */ DMG_ENTRY(0, 0x0),
/* Ice arrow */ DMG_ENTRY(0, 0x0),
/* Light arrow */ DMG_ENTRY(0, 0x0),
/* Unk arrow 1 */ DMG_ENTRY(0, 0x0),
/* Unk arrow 2 */ DMG_ENTRY(0, 0x0),
/* Unk arrow 3 */ DMG_ENTRY(0, 0x0),
/* Fire magic */ DMG_ENTRY(0, 0x0),
/* Ice magic */ DMG_ENTRY(0, 0x0),
/* Light magic */ DMG_ENTRY(0, 0x0),
/* Shield */ DMG_ENTRY(0, 0x0),
/* Mirror Ray */ DMG_ENTRY(0, 0x0),
/* Kokiri spin */ DMG_ENTRY(0, 0x0),
/* Giant spin */ DMG_ENTRY(0, 0x0),
/* Master spin */ DMG_ENTRY(0, 0x0),
/* Kokiri jump */ DMG_ENTRY(0, 0x0),
/* Giant jump */ DMG_ENTRY(0, 0x0),
/* Master jump */ DMG_ENTRY(0, 0x0),
/* Unknown 1 */ DMG_ENTRY(0, 0x0),
/* Unblockable */ DMG_ENTRY(0, 0x0),
/* Hammer jump */ DMG_ENTRY(0, 0x0),
/* Unknown 2 */ DMG_ENTRY(0, 0x0),
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Mm/func_80AADA70.s")
typedef struct {
/* 0x00 */ AnimationHeader* animation;
/* 0x04 */ f32 playSpeed;
/* 0x08 */ u8 mode;
/* 0x0C */ f32 morphFrames;
} EnMmAnimEntry; // size = 0x10
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Mm/func_80AADAA0.s")
static EnMmAnimEntry sAnimationEntries[] = {
{ &gRunningManRunAnim, 1.0f, ANIMMODE_LOOP, -7.0f }, { &gRunningManSitStandAnim, -1.0f, ANIMMODE_ONCE, -7.0f },
{ &gRunningManSitWaitAnim, 1.0f, ANIMMODE_LOOP, -7.0f }, { &gRunningManSitStandAnim, 1.0f, ANIMMODE_ONCE, -7.0f },
{ &gRunningManSprintAnim, 1.0f, ANIMMODE_LOOP, -7.0f }, { &gRunningManExcitedAnim, 1.0f, ANIMMODE_LOOP, -12.0f },
{ &gRunningManHappyAnim, 1.0f, ANIMMODE_LOOP, -12.0f },
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Mm/func_80AADC34.s")
typedef struct {
/* 0x00 */ s32 unk_00;
/* 0x04 */ s32 unk_04;
/* 0x08 */ s32 unk_08;
/* 0x0C */ s32 unk_0C;
} EnMmPathInfo;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Mm/func_80AADCD0.s")
static EnMmPathInfo sPathInfo[] = {
{ 0, 1, 0, 0 },
{ 1, 1, 0, 1 },
{ 1, 3, 2, 1 },
{ -1, 0, 2, 0 },
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Mm/func_80AADE50.s")
static InitChainEntry sInitChain[] = {
ICHAIN_F32(uncullZoneForward, 4000, ICHAIN_STOP),
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Mm/func_80AADE60.s")
void EnMm_ChangeAnimation(EnMm* this, s32 newAnimIndex, s32* curAnimIndex) {
f32 morphFrames;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Mm/func_80AADEF0.s")
if ((*curAnimIndex < 0) || (newAnimIndex == *curAnimIndex)) {
morphFrames = 0.0f;
} else {
morphFrames = sAnimationEntries[newAnimIndex].morphFrames;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Mm/func_80AAE224.s")
if (sAnimationEntries[newAnimIndex].playSpeed >= 0.0f) {
Animation_Change(&this->skelAnime, sAnimationEntries[newAnimIndex].animation,
sAnimationEntries[newAnimIndex].playSpeed, 0.0f,
Animation_GetLastFrame(sAnimationEntries[newAnimIndex].animation),
sAnimationEntries[newAnimIndex].mode, morphFrames);
} else {
Animation_Change(&this->skelAnime, sAnimationEntries[newAnimIndex].animation,
sAnimationEntries[newAnimIndex].playSpeed,
Animation_GetLastFrame(sAnimationEntries[newAnimIndex].animation), 0.0f,
sAnimationEntries[newAnimIndex].mode, morphFrames);
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Mm/func_80AAE294.s")
*curAnimIndex = newAnimIndex;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Mm/func_80AAE50C.s")
void EnMm_Init(Actor* thisx, GlobalContext* globalCtx) {
s32 pad;
EnMm* this = THIS;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Mm/func_80AAE598.s")
Actor_ProcessInitChain(&this->actor, sInitChain);
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 21.0f);
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Mm/EnMm_Update.s")
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &gRunningManSkel, NULL, this->jointTable, this->morphTable, 16);
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Mm/EnMm_Draw.s")
Collider_InitCylinder(globalCtx, &this->collider);
Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &sCylinderInit);
CollisionCheck_SetInfo2(&this->actor.colChkInfo, &sDamageTable, sColChkInfoInit);
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Mm/func_80AAE97C.s")
Actor_UpdateBgCheckInfo(globalCtx, &this->actor, 0.0f, 0.0f, 0.0f, 4);
Animation_Change(&this->skelAnime, sAnimationEntries[RM_ANIM_RUN].animation, 1.0f, 0.0f,
Animation_GetLastFrame(sAnimationEntries[RM_ANIM_RUN].animation),
sAnimationEntries[RM_ANIM_RUN].mode, sAnimationEntries[RM_ANIM_RUN].morphFrames);
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Mm/func_80AAEA10.s")
this->path = this->actor.params & 0xFF;
this->unk_1F0 = 2;
this->unk_1E8 = 0;
this->actor.targetMode = 2;
this->actor.gravity = -1.0f;
this->speedXZ = 3.0f;
this->unk_204 = this->actor.objBankIndex;
if (func_80AADA70() == 1) {
this->mouthTexIndex = RM_MOUTH_OPEN;
EnMm_ChangeAnimation(this, RM_ANIM_RUN, &this->curAnimIndex);
this->actionFunc = func_80AAE598;
} else {
this->mouthTexIndex = RM_MOUTH_CLOSED;
EnMm_ChangeAnimation(this, RM_ANIM_SIT_WAIT, &this->curAnimIndex);
this->actionFunc = func_80AAE294;
}
}
void EnMm_Destroy(Actor* thisx, GlobalContext* globalCtx) {
s32 pad;
EnMm* this = THIS;
Collider_DestroyCylinder(globalCtx, &this->collider);
}
s32 func_80AADA70(void) {
s32 isDay = false;
if ((gSaveContext.dayTime > 0x3555) && (gSaveContext.dayTime <= 0xD556)) {
isDay = true;
}
return isDay;
}
s32 func_80AADAA0(EnMm* this, GlobalContext* globalCtx) {
s32 pad;
Player* player = PLAYER;
s32 sp1C = 1;
switch (func_8010BDBC(&globalCtx->msgCtx)) {
case 0:
case 1:
case 2:
case 3:
break;
case 4:
if (func_80106BC8(globalCtx)) {
if (globalCtx->msgCtx.choiceIndex == 0) {
player->actor.textId = 0x202D;
this->unk_254 &= ~1;
EnMm_ChangeAnimation(this, RM_ANIM_HAPPY, &this->curAnimIndex);
} else {
player->actor.textId = 0x202C;
gSaveContext.infTable[23] |= 0x1000;
}
sp1C = 2;
}
break;
case 5:
if (func_80106BC8(globalCtx)) {
Player_UnsetMask(globalCtx);
Item_Give(globalCtx, ITEM_SOLD_OUT);
gSaveContext.itemGetInf[3] |= 0x800;
Rupees_ChangeBy(500);
player->actor.textId = 0x202E;
sp1C = 2;
}
break;
case 6:
if (func_80106BC8(globalCtx)) {
if ((player->actor.textId == 0x202E) || (player->actor.textId == 0x202C)) {
this->unk_254 |= 1;
EnMm_ChangeAnimation(this, RM_ANIM_SIT_WAIT, &this->curAnimIndex);
}
sp1C = 0;
}
break;
}
return sp1C;
}
s32 EnMm_GetTextId(EnMm* this, GlobalContext* globalCtx) {
Player* player = PLAYER;
s32 textId;
textId = Text_GetFaceReaction(globalCtx, 0x1C);
if (gSaveContext.itemGetInf[3] & 0x800) {
if (textId == 0) {
textId = 0x204D;
}
} else if (player->currentMask == PLAYER_MASK_BUNNY) {
textId = (gSaveContext.infTable[23] & 0x1000) ? 0x202B : 0x202A;
} else if (textId == 0) {
textId = 0x2029;
}
return textId;
}
void func_80AADCD0(EnMm* this, GlobalContext* globalCtx) {
Player* player = PLAYER;
f32 yawDiff;
s16 sp26;
s16 sp24;
if (this->unk_1E0 == 2) {
func_8010B720(globalCtx, player->actor.textId);
this->unk_1E0 = 1;
} else if (this->unk_1E0 == 1) {
this->unk_1E0 = func_80AADAA0(this, globalCtx);
} else {
if (func_8002F194(&this->actor, globalCtx)) {
this->unk_1E0 = 1;
if (this->curAnimIndex != 5) {
if ((this->actor.textId == 0x202A) || (this->actor.textId == 0x202B)) {
EnMm_ChangeAnimation(this, RM_ANIM_EXCITED, &this->curAnimIndex);
func_80078884(NA_SE_SY_TRE_BOX_APPEAR);
}
}
} else {
func_8002F374(globalCtx, &this->actor, &sp26, &sp24);
yawDiff = ABS((s16)(this->actor.yawTowardsPlayer - this->actor.shape.rot.y));
if ((sp26 >= 0) && (sp26 <= 0x140) && (sp24 >= 0) && (sp24 <= 0xF0) && (yawDiff <= 17152.0f) &&
(this->unk_1E0 != 3) && func_8002F2CC(&this->actor, globalCtx, 100.0f)) {
this->actor.textId = EnMm_GetTextId(this, globalCtx);
}
}
}
}
s32 EnMm_GetPointCount(Path* pathList, s32 pathNum) {
return (pathList + pathNum)->count;
}
s32 func_80AADE60(Path* pathList, Vec3f* pos, s32 pathNum, s32 waypoint) {
Vec3s* pointPos;
pointPos = &((Vec3s*)SEGMENTED_TO_VIRTUAL((pathList + pathNum)->points))[waypoint];
pos->x = pointPos->x;
pos->y = pointPos->y;
pos->z = pointPos->z;
return 0;
}
s32 func_80AADEF0(EnMm* this, GlobalContext* globalCtx) {
f32 xDiff;
f32 zDiff;
Vec3f waypointPos;
s32 phi_a2;
s32 phi_v1;
func_80AADE60(globalCtx->setupPathList, &waypointPos, this->path, this->waypoint);
xDiff = waypointPos.x - this->actor.world.pos.x;
zDiff = waypointPos.z - this->actor.world.pos.z;
this->yawToWaypoint = (s32)(Math_FAtan2F(xDiff, zDiff) * 10430.378f);
this->distToWaypoint = sqrtf(SQ(xDiff) + SQ(zDiff));
while ((this->distToWaypoint <= 10.44f) && (this->unk_1E8 != 0)) {
this->waypoint += sPathInfo[this->unk_1E8].unk_00;
phi_a2 = sPathInfo[this->unk_1E8].unk_08;
switch (phi_a2) {
case 0:
phi_a2 = 0;
break;
case 1:
phi_a2 = EnMm_GetPointCount(globalCtx->setupPathList, this->path) - 1;
break;
case 2:
phi_a2 = this->unk_1F0;
break;
}
phi_v1 = sPathInfo[this->unk_1E8].unk_0C;
switch (phi_v1) {
case 0:
phi_v1 = 0;
break;
case 1:
phi_v1 = EnMm_GetPointCount(globalCtx->setupPathList, this->path) - 1;
break;
case 2:
phi_v1 = this->unk_1F0;
break;
}
if ((sPathInfo[this->unk_1E8].unk_00 >= 0 && (this->waypoint < phi_a2 || phi_v1 < this->waypoint)) ||
(sPathInfo[this->unk_1E8].unk_00 < 0 && (phi_a2 < this->waypoint || this->waypoint < phi_v1))) {
this->unk_1E8 = sPathInfo[this->unk_1E8].unk_04;
this->waypoint = sPathInfo[this->unk_1E8].unk_08;
}
func_80AADE60(globalCtx->setupPathList, &waypointPos, this->path, this->waypoint);
xDiff = waypointPos.x - this->actor.world.pos.x;
zDiff = waypointPos.z - this->actor.world.pos.z;
this->yawToWaypoint = (s32)(Math_FAtan2F(xDiff, zDiff) * 10430.378f);
this->distToWaypoint = sqrtf(SQ(xDiff) + SQ(zDiff));
}
Math_SmoothStepToS(&this->actor.shape.rot.y, this->yawToWaypoint, 1, 2500, 0);
this->actor.world.rot.y = this->actor.shape.rot.y;
Math_SmoothStepToF(&this->actor.speedXZ, this->speedXZ, 0.6f, this->distToWaypoint, 0.0f);
Actor_MoveForward(&this->actor);
Actor_UpdateBgCheckInfo(globalCtx, &this->actor, 0.0f, 0.0f, 0.0f, 4);
return 0;
}
void func_80AAE224(EnMm* this, GlobalContext* globalCtx) {
if (SkelAnime_Update(&this->skelAnime)) {
this->actionFunc = func_80AAE598;
this->unk_1E8 = 0;
this->mouthTexIndex = RM_MOUTH_CLOSED;
this->unk_254 |= 1;
this->unk_1E0 = 0;
this->actor.speedXZ = 0.0f;
EnMm_ChangeAnimation(this, RM_ANIM_SIT_WAIT, &this->curAnimIndex);
}
}
void func_80AAE294(EnMm* this, GlobalContext* globalCtx) {
f32 floorYNorm;
Vec3f dustPos;
if (!Player_InCsMode(globalCtx)) {
SkelAnime_Update(&this->skelAnime);
if (this->curAnimIndex == 0) {
if (((s32)this->skelAnime.curFrame == 1) || ((s32)this->skelAnime.curFrame == 6)) {
Audio_PlayActorSound2(&this->actor, NA_SE_PL_WALK_GROUND);
}
}
if (this->curAnimIndex == 4) {
if (((this->skelAnime.curFrame - this->skelAnime.playSpeed < 9.0f) && (this->skelAnime.curFrame >= 9.0f)) ||
((this->skelAnime.curFrame - this->skelAnime.playSpeed < 19.0f) &&
(this->skelAnime.curFrame >= 19.0f))) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_MORIBLIN_WALK);
}
}
if (gSaveContext.itemGetInf[3] & 0x800) {
this->speedXZ = 10.0f;
this->skelAnime.playSpeed = 2.0f;
} else {
this->speedXZ = 3.0f;
this->skelAnime.playSpeed = 1.0f;
}
func_80AADEF0(this, globalCtx);
if (func_80AADA70() == 0) {
if (this->actor.floorPoly != NULL) {
floorYNorm = this->actor.floorPoly->normal.y * 0.00003051851f;
if ((floorYNorm > 0.9848f) || (floorYNorm < -0.9848f)) {
if (this->sitTimer > 30) {
EnMm_ChangeAnimation(this, RM_ANIM_SIT, &this->curAnimIndex);
this->actionFunc = func_80AAE224;
} else {
this->sitTimer++;
}
} else {
this->sitTimer = 0;
}
}
}
if (gSaveContext.itemGetInf[3] & 0x800) {
dustPos.x = this->actor.world.pos.x;
dustPos.y = this->actor.world.pos.y;
dustPos.z = this->actor.world.pos.z;
if (gSaveContext.gameMode != 3) {
func_80033480(globalCtx, &dustPos, 50.0f, 2, 350, 20, 0);
}
if (this->collider.base.ocFlags2 & OC2_HIT_PLAYER) {
func_8002F71C(globalCtx, &this->actor, 3.0f, this->actor.yawTowardsPlayer, 4.0f);
}
}
}
}
void func_80AAE50C(EnMm* this, GlobalContext* globalCtx) {
if (SkelAnime_Update(&this->skelAnime)) {
this->sitTimer = 0;
this->actionFunc = func_80AAE294;
if (gSaveContext.itemGetInf[3] & 0x800) {
EnMm_ChangeAnimation(this, RM_ANIM_SPRINT, &this->curAnimIndex);
this->mouthTexIndex = RM_MOUTH_CLOSED;
} else {
EnMm_ChangeAnimation(this, RM_ANIM_RUN, &this->curAnimIndex);
this->mouthTexIndex = RM_MOUTH_OPEN;
}
this->unk_1E8 = 1;
}
}
void func_80AAE598(EnMm* this, GlobalContext* globalCtx) {
func_80038290(globalCtx, &this->actor, &this->unk_248, &this->unk_24E, this->actor.focus.pos);
SkelAnime_Update(&this->skelAnime);
if ((func_80AADA70() != 0) && (this->unk_1E0 == 0)) {
this->unk_1E0 = 3;
this->actionFunc = func_80AAE50C;
this->unk_254 &= ~1;
EnMm_ChangeAnimation(this, RM_ANIM_STAND, &this->curAnimIndex);
}
}
void EnMm_Update(Actor* thisx, GlobalContext* globalCtx) {
s32 pad;
EnMm* this = THIS;
this->actionFunc(this, globalCtx);
func_80AADCD0(this, globalCtx);
Collider_UpdateCylinder(&this->actor, &this->collider);
CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->collider.base);
}
extern Gfx D_0602CA38[]; // bunny hood dlist from object_link_child. replace with proper symbol later
void EnMm_Draw(Actor* thisx, GlobalContext* globalCtx) {
static u64* mouthTextures[] = { gRunningManMouthClosedTex, gRunningManMouthOpenTex };
s32 pad;
EnMm* this = THIS;
if (0) {}
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_mm.c", 1065);
func_80093D18(globalCtx->state.gfxCtx);
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(mouthTextures[this->mouthTexIndex]));
SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
EnMm_OverrideLimbDraw, EnMm_PostLimbDraw, this);
if (gSaveContext.itemGetInf[3] & 0x800) {
s32 linkChildObjBankIndex = Object_GetIndex(&globalCtx->objectCtx, OBJECT_LINK_CHILD);
if (linkChildObjBankIndex >= 0) {
Mtx* mtx;
Vec3s sp50;
Mtx* mtx2;
mtx = Graph_Alloc(globalCtx->state.gfxCtx, sizeof(Mtx) * 2);
Matrix_Put(&this->unk_208);
mtx2 = Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_mm.c", 1111);
gSPSegment(POLY_OPA_DISP++, 0x06, globalCtx->objectCtx.status[linkChildObjBankIndex].segment);
gSPSegment(POLY_OPA_DISP++, 0x0B, mtx);
gSPSegment(POLY_OPA_DISP++, 0x0D, mtx2 - 7);
sp50.x = 994;
sp50.y = 3518;
sp50.z = -13450;
func_800D1694(97.0f, -1203.0f, -240.0f, &sp50);
Matrix_ToMtx(mtx++, "../z_en_mm.c", 1124);
sp50.x = -994;
sp50.y = -3518;
sp50.z = -13450;
func_800D1694(97.0f, -1203.0f, 240.0f, &sp50);
Matrix_ToMtx(mtx, "../z_en_mm.c", 1131);
gSPDisplayList(POLY_OPA_DISP++, D_0602CA38);
gSPSegment(POLY_OPA_DISP++, 0x06, globalCtx->objectCtx.status[this->actor.objBankIndex].segment);
}
}
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_mm.c", 1141);
}
s32 EnMm_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* thisx) {
EnMm* this = THIS;
if (this->unk_254 & 1) {
switch (limbIndex) {
case 8:
rot->x += this->unk_24E.y;
rot->y -= this->unk_24E.x;
break;
case 15:
rot->x += this->unk_248.y;
rot->z += (this->unk_248.x + 0xFA0);
break;
default:
break;
}
}
return 0;
}
void EnMm_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx) {
static Vec3f headOffset = { 200.0f, 800.0f, 0.0f };
EnMm* this = THIS;
if (limbIndex == 15) {
Matrix_MultVec3f(&headOffset, &this->actor.focus.pos);
Matrix_Translate(260.0f, 20.0f, 0.0f, MTXMODE_APPLY);
Matrix_RotateY(0.0f, MTXMODE_APPLY);
Matrix_RotateX(0.0f, MTXMODE_APPLY);
Matrix_RotateZ(2.5132742f, MTXMODE_APPLY);
Matrix_Translate(-260.0f, 58.0f, 10.0f, MTXMODE_APPLY);
Matrix_Get(&this->unk_208);
}
}

View file

@ -6,9 +6,31 @@
struct EnMm;
typedef void (*EnMmActionFunc)(struct EnMm*, GlobalContext*);
typedef struct EnMm {
/* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x1D4];
/* 0x014C */ SkelAnime skelAnime;
/* 0x0190 */ EnMmActionFunc actionFunc;
/* 0x0194 */ ColliderCylinder collider;
/* 0x01E0 */ s32 unk_1E0;
/* 0x01E4 */ s32 mouthTexIndex;
/* 0x01E8 */ s32 unk_1E8;
/* 0x01EC */ s32 path;
/* 0x01F0 */ s32 unk_1F0;
/* 0x01F4 */ s32 waypoint;
/* 0x01F8 */ f32 yawToWaypoint;
/* 0x01FC */ f32 distToWaypoint;
/* 0x0200 */ f32 speedXZ;
/* 0x0204 */ s32 unk_204;
/* 0x0208 */ MtxF unk_208;
/* 0x0248 */ Vec3s unk_248;
/* 0x024E */ Vec3s unk_24E;
/* 0x0254 */ s32 unk_254;
/* 0x0258 */ s32 curAnimIndex;
/* 0x025C */ s32 sitTimer;
/* 0x0260 */ Vec3s jointTable[16];
/* 0x02C0 */ Vec3s morphTable[16];
} EnMm; // size = 0x0320
extern const ActorInit En_Mm_InitVars;

View file

@ -1,10 +1,32 @@
/*
* File: z_en_mm.c
* Overlay: ovl_En_Mm
* Description: Running Man (adult)
*/
#include "z_en_mm2.h"
#include "vt.h"
#include "objects/object_mm/object_mm.h"
#define FLAGS 0x00000019
#define THIS ((EnMm2*)thisx)
typedef enum {
/* 0 */ RM2_ANIM_RUN,
/* 1 */ RM2_ANIM_SIT,
/* 2 */ RM2_ANIM_SIT_WAIT,
/* 3 */ RM2_ANIM_STAND,
/* 4 */ RM2_ANIM_SPRINT,
/* 5 */ RM2_ANIM_EXCITED, // plays when talking to him with bunny hood on
/* 6 */ RM2_ANIM_HAPPY // plays when you sell him the bunny hood
} RunningManAnimIndex;
typedef enum {
/* 0 */ RM2_MOUTH_CLOSED,
/* 1 */ RM2_MOUTH_OPEN
} RunningManMouthTex;
void EnMm2_Init(Actor* thisx, GlobalContext* globalCtx);
void EnMm2_Destroy(Actor* thisx, GlobalContext* globalCtx);
void EnMm2_Update(Actor* thisx, GlobalContext* globalCtx);
@ -15,8 +37,6 @@ void func_80AAF668(EnMm2* this, GlobalContext* globalCtx);
s32 EnMm2_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* thisx);
void EnMm2_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx);
extern FlexSkeletonHeader D_06005E18;
const ActorInit En_Mm2_InitVars = {
ACTOR_EN_MM2,
ACTORCAT_NPC,
@ -54,12 +74,13 @@ typedef struct {
/* 0x04 */ f32 playSpeed;
/* 0x08 */ u8 mode;
/* 0x0C */ f32 morphFrames;
} Mm2AnimationEntry; // size = 0x10
} EnMm2AnimEntry; // size = 0x10
static Mm2AnimationEntry sAnimations[] = {
{ 0x06000718, 1.0f, 0, -7.0f }, { 0x06006940, -1.0f, 2, -7.0f }, { 0x06006C50, 1.0f, 0, -7.0f },
{ 0x06006940, 1.0f, 2, -7.0f }, { 0x06000468, 1.0f, 0, -7.0f }, { 0x060073A0, 1.0f, 0, -12.0f },
{ 0x06008060, 1.0f, 0, -12.0f },
static EnMm2AnimEntry sAnimationEntries[] = {
{ &gRunningManRunAnim, 1.0f, ANIMMODE_LOOP, -7.0f }, { &gRunningManSitStandAnim, -1.0f, ANIMMODE_ONCE, -7.0f },
{ &gRunningManSitWaitAnim, 1.0f, ANIMMODE_LOOP, -7.0f }, { &gRunningManSitStandAnim, 1.0f, ANIMMODE_ONCE, -7.0f },
{ &gRunningManSprintAnim, 1.0f, ANIMMODE_LOOP, -7.0f }, { &gRunningManExcitedAnim, 1.0f, ANIMMODE_LOOP, -12.0f },
{ &gRunningManHappyAnim, 1.0f, ANIMMODE_LOOP, -12.0f },
};
static InitChainEntry sInitChain[] = {
@ -72,17 +93,19 @@ void EnMm2_ChangeAnimation(EnMm2* this, s32 animationIndex, s32* previousAnimati
if ((*previousAnimation < 0) || (animationIndex == *previousAnimation)) {
phi_f0 = 0.0f;
} else {
phi_f0 = sAnimations[animationIndex].morphFrames;
phi_f0 = sAnimationEntries[animationIndex].morphFrames;
}
if (sAnimations[animationIndex].playSpeed >= 0.0f) {
Animation_Change(&this->skelAnime, sAnimations[animationIndex].animation, sAnimations[animationIndex].playSpeed,
0.0f, (f32)Animation_GetLastFrame(sAnimations[animationIndex].animation),
sAnimations[animationIndex].mode, phi_f0);
if (sAnimationEntries[animationIndex].playSpeed >= 0.0f) {
Animation_Change(&this->skelAnime, sAnimationEntries[animationIndex].animation,
sAnimationEntries[animationIndex].playSpeed, 0.0f,
(f32)Animation_GetLastFrame(sAnimationEntries[animationIndex].animation),
sAnimationEntries[animationIndex].mode, phi_f0);
} else {
Animation_Change(&this->skelAnime, sAnimations[animationIndex].animation, sAnimations[animationIndex].playSpeed,
(f32)Animation_GetLastFrame(sAnimations[animationIndex].animation), 0.0f,
sAnimations[animationIndex].mode, phi_f0);
Animation_Change(&this->skelAnime, sAnimationEntries[animationIndex].animation,
sAnimationEntries[animationIndex].playSpeed,
(f32)Animation_GetLastFrame(sAnimationEntries[animationIndex].animation), 0.0f,
sAnimationEntries[animationIndex].mode, phi_f0);
}
*previousAnimation = animationIndex;
}
@ -115,14 +138,15 @@ void EnMm2_Init(Actor* thisx, GlobalContext* globalCtx2) {
Actor_ProcessInitChain(&this->actor, sInitChain);
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 21.0f);
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06005E18, NULL, this->jointTable, this->morphTable, 16);
Animation_Change(&this->skelAnime, sAnimations[2].animation, 1.0f, 0.0f,
Animation_GetLastFrame(sAnimations[2].animation), sAnimations[2].mode, sAnimations[2].morphFrames);
this->previousAnimation = 2;
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &gRunningManSkel, NULL, this->jointTable, this->morphTable, 16);
Animation_Change(&this->skelAnime, sAnimationEntries[RM2_ANIM_SIT_WAIT].animation, 1.0f, 0.0f,
Animation_GetLastFrame(sAnimationEntries[RM2_ANIM_SIT_WAIT].animation),
sAnimationEntries[RM2_ANIM_SIT_WAIT].mode, sAnimationEntries[RM2_ANIM_SIT_WAIT].morphFrames);
this->previousAnimation = RM2_ANIM_SIT_WAIT;
Collider_InitCylinder(globalCtx, &this->collider);
Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &sCylinderInit);
this->actor.colChkInfo.mass = MASS_IMMOVABLE;
this->unk_1E0 = 0;
this->mouthTexIndex = RM2_MOUTH_CLOSED;
this->actor.targetMode = 6;
this->unk_1F4 |= 1;
this->actor.gravity = -1.0f;
@ -157,14 +181,14 @@ s32 func_80AAF224(EnMm2* this, GlobalContext* globalCtx, EnMm2ActionFunc actionF
return 1;
}
yawDiff = this->actor.yawTowardsPlayer - this->actor.shape.rot.y;
if ((ABS(yawDiff) < 0x4301) && (this->actor.xzDistToPlayer < 100.0f)) {
if ((ABS(yawDiff) <= 0x4300) && (this->actor.xzDistToPlayer < 100.0f)) {
func_8002F2CC(&this->actor, globalCtx, 100.0f);
}
return 0;
}
void func_80AAF2BC(EnMm2* this, GlobalContext* globalCtx) {
if (this->unk_1F6 >= 61) {
if (this->unk_1F6 > 60) {
Actor_Kill(&this->actor);
}
SkelAnime_Update(&this->skelAnime);
@ -176,7 +200,7 @@ void func_80AAF330(EnMm2* this, GlobalContext* globalCtx) {
if (SkelAnime_Update(&this->skelAnime)) {
this->actionFunc = func_80AAF2BC;
EnMm2_ChangeAnimation(this, 0, &this->previousAnimation);
this->unk_1E0 = 1;
this->mouthTexIndex = RM2_MOUTH_OPEN;
if (!(this->unk_1F4 & 2)) {
func_80106CCC(globalCtx);
}
@ -187,6 +211,7 @@ void func_80AAF330(EnMm2* this, GlobalContext* globalCtx) {
void func_80AAF3C0(EnMm2* this, GlobalContext* globalCtx) {
SkelAnime_Update(&this->skelAnime);
switch (this->actor.textId) {
case 0x607D:
case 0x607E:
@ -218,6 +243,7 @@ void func_80AAF3C0(EnMm2* this, GlobalContext* globalCtx) {
}
return;
}
if (func_8002F334(&this->actor, globalCtx)) {
if (this->actor.textId == 0x607F) {
func_80088AA0(0);
@ -292,12 +318,12 @@ void EnMm2_Update(Actor* thisx, GlobalContext* globalCtx) {
}
void EnMm2_Draw(Actor* thisx, GlobalContext* globalCtx) {
static UNK_PTR D_80AAFB60[] = { 0x06000E30, 0x06000C30 };
static u64* mouthTextures[] = { gRunningManMouthClosedTex, gRunningManMouthOpenTex };
EnMm2* this = THIS;
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_mm2.c", 634);
func_80093D18(globalCtx->state.gfxCtx);
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(D_80AAFB60[this->unk_1E0]));
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(mouthTextures[this->mouthTexIndex]));
SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
EnMm2_OverrideLimbDraw, EnMm2_PostLimbDraw, this);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_mm2.c", 654);
@ -316,14 +342,15 @@ s32 EnMm2_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList,
rot->z += this->unk_1E8.x + 0xFA0;
break;
}
return 0;
}
void EnMm2_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx) {
static Vec3f D_80AAFB68 = { 200.0f, 800.0f, 0.0f };
static Vec3f headOffset = { 200.0f, 800.0f, 0.0f };
EnMm2* this = THIS;
if (limbIndex == 15) {
Matrix_MultVec3f(&D_80AAFB68, &this->actor.focus.pos);
Matrix_MultVec3f(&headOffset, &this->actor.focus.pos);
}
}

View file

@ -13,7 +13,7 @@ typedef struct EnMm2 {
/* 0x014C */ SkelAnime skelAnime;
/* 0x0190 */ EnMm2ActionFunc actionFunc;
/* 0x0194 */ ColliderCylinder collider;
/* 0x01E0 */ s32 unk_1E0;
/* 0x01E0 */ s32 mouthTexIndex;
/* 0x01E4 */ char unk_1E4[0x4];
/* 0x01E8 */ Vec3s unk_1E8;
/* 0x01EE */ Vec3s unk_1EE;

View file

@ -92,7 +92,7 @@ static ColliderCylinderInit sCylinderInit = {
{ 10, 44, 0, { 0, 0, 0 } },
};
CollisionCheckInfoInit2 sColChkInfoInit = { 0, 0, 0, 0, MASS_IMMOVABLE };
static CollisionCheckInfoInit2 sColChkInfoInit = { 0, 0, 0, 0, MASS_IMMOVABLE };
typedef enum {
/* 0 */ ZL4_ANIM_0,
@ -131,7 +131,7 @@ typedef enum {
/* 33 */ ZL4_ANIM_33
} EnZl4Animation;
struct_80034EC0_Entry sAnimationEntries[] = {
static struct_80034EC0_Entry sAnimationEntries[] = {
/* 0 */ /* standing idle */ { &gChildZeldaAnim_000654, 1.0f, 0.0f, -1.0f, ANIMMODE_LOOP, 0.0f },
/* 1 */ /* moves to introduce herself */ { &gChildZeldaAnim_00E5C8, 1.0f, 0.0f, -1.0f, ANIMMODE_ONCE, -1.0f },
/* 2 */ /* introducing herself */ { &gChildZeldaAnim_00EBC4, 1.0f, 0.0f, -1.0f, ANIMMODE_LOOP, -1.0f },