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:
parent
11e5be77d5
commit
7f3be6e37f
27 changed files with 648 additions and 1515 deletions
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
13
assets/xml/objects/object_mm.xml
Normal file
13
assets/xml/objects/object_mm.xml
Normal 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>
|
|
@ -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
|
||||
|
|
@ -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
6
spec
|
@ -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
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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 },
|
||||
|
|
Loading…
Add table
Reference in a new issue