mirror of
https://github.com/zeldaret/oot.git
synced 2024-11-13 04:39:36 +00:00
En_Cs OK and mostly documented (#639)
* all except one matching * documented and ready for pr * remove unused asm * change mass thing
This commit is contained in:
parent
da993894d3
commit
5da5263176
22 changed files with 449 additions and 1232 deletions
|
@ -1,12 +0,0 @@
|
|||
glabel EnCs_Destroy
|
||||
/* 002B4 809E1B64 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 002B8 809E1B68 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
|
||||
/* 002BC 809E1B6C AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 002C0 809E1B70 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
|
||||
/* 002C4 809E1B74 0C0170EB */ jal Collider_DestroyCylinder
|
||||
|
||||
/* 002C8 809E1B78 24C50194 */ addiu $a1, $a2, 0x0194 ## $a1 = 00000194
|
||||
/* 002CC 809E1B7C 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 002D0 809E1B80 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 002D4 809E1B84 03E00008 */ jr $ra
|
||||
/* 002D8 809E1B88 00000000 */ nop
|
|
@ -1,141 +0,0 @@
|
|||
.rdata
|
||||
glabel D_809E2980
|
||||
.asciz "../z_en_cs.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_809E2990
|
||||
.asciz "../z_en_cs.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_809E29A0
|
||||
.asciz "../z_en_cs.c"
|
||||
.balign 4
|
||||
|
||||
.text
|
||||
glabel EnCs_Draw
|
||||
/* 00CE4 809E2594 27BDFF88 */ addiu $sp, $sp, 0xFF88 ## $sp = FFFFFF88
|
||||
/* 00CE8 809E2598 AFB1002C */ sw $s1, 0x002C($sp)
|
||||
/* 00CEC 809E259C 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
|
||||
/* 00CF0 809E25A0 AFBF0034 */ sw $ra, 0x0034($sp)
|
||||
/* 00CF4 809E25A4 AFB20030 */ sw $s2, 0x0030($sp)
|
||||
/* 00CF8 809E25A8 AFB00028 */ sw $s0, 0x0028($sp)
|
||||
/* 00CFC 809E25AC 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000
|
||||
/* 00D00 809E25B0 00809025 */ or $s2, $a0, $zero ## $s2 = 00000000
|
||||
/* 00D04 809E25B4 3C06809E */ lui $a2, %hi(D_809E2980) ## $a2 = 809E0000
|
||||
/* 00D08 809E25B8 24C62980 */ addiu $a2, $a2, %lo(D_809E2980) ## $a2 = 809E2980
|
||||
/* 00D0C 809E25BC 27A4005C */ addiu $a0, $sp, 0x005C ## $a0 = FFFFFFE4
|
||||
/* 00D10 809E25C0 240703C8 */ addiu $a3, $zero, 0x03C8 ## $a3 = 000003C8
|
||||
/* 00D14 809E25C4 0C031AB1 */ jal Graph_OpenDisps
|
||||
/* 00D18 809E25C8 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000
|
||||
/* 00D1C 809E25CC 0C024F46 */ jal func_80093D18
|
||||
/* 00D20 809E25D0 8E240000 */ lw $a0, 0x0000($s1) ## 00000000
|
||||
/* 00D24 809E25D4 8E0302C0 */ lw $v1, 0x02C0($s0) ## 000002C0
|
||||
/* 00D28 809E25D8 3C0FDB06 */ lui $t7, 0xDB06 ## $t7 = DB060000
|
||||
/* 00D2C 809E25DC 35EF0020 */ ori $t7, $t7, 0x0020 ## $t7 = DB060020
|
||||
/* 00D30 809E25E0 246E0008 */ addiu $t6, $v1, 0x0008 ## $t6 = 00000008
|
||||
/* 00D34 809E25E4 AE0E02C0 */ sw $t6, 0x02C0($s0) ## 000002C0
|
||||
/* 00D38 809E25E8 AC6F0000 */ sw $t7, 0x0000($v1) ## 00000000
|
||||
/* 00D3C 809E25EC 8E5801E4 */ lw $t8, 0x01E4($s2) ## 000001E4
|
||||
/* 00D40 809E25F0 3C04809E */ lui $a0, %hi(D_809E2964) ## $a0 = 809E0000
|
||||
/* 00D44 809E25F4 3C0C8016 */ lui $t4, %hi(gSegments)
|
||||
/* 00D48 809E25F8 0018C880 */ sll $t9, $t8, 2
|
||||
/* 00D4C 809E25FC 00992021 */ addu $a0, $a0, $t9
|
||||
/* 00D50 809E2600 8C842964 */ lw $a0, %lo(D_809E2964)($a0)
|
||||
/* 00D54 809E2604 3C0100FF */ lui $at, 0x00FF ## $at = 00FF0000
|
||||
/* 00D58 809E2608 3421FFFF */ ori $at, $at, 0xFFFF ## $at = 00FFFFFF
|
||||
/* 00D5C 809E260C 00044900 */ sll $t1, $a0, 4
|
||||
/* 00D60 809E2610 00095702 */ srl $t2, $t1, 28
|
||||
/* 00D64 809E2614 000A5880 */ sll $t3, $t2, 2
|
||||
/* 00D68 809E2618 018B6021 */ addu $t4, $t4, $t3
|
||||
/* 00D6C 809E261C 8D8C6FA8 */ lw $t4, %lo(gSegments)($t4)
|
||||
/* 00D70 809E2620 00814024 */ and $t0, $a0, $at
|
||||
/* 00D74 809E2624 3C018000 */ lui $at, 0x8000 ## $at = 80000000
|
||||
/* 00D78 809E2628 010C6821 */ addu $t5, $t0, $t4
|
||||
/* 00D7C 809E262C 01A17021 */ addu $t6, $t5, $at
|
||||
/* 00D80 809E2630 AC6E0004 */ sw $t6, 0x0004($v1) ## 00000004
|
||||
/* 00D84 809E2634 9247014E */ lbu $a3, 0x014E($s2) ## 0000014E
|
||||
/* 00D88 809E2638 8E46016C */ lw $a2, 0x016C($s2) ## 0000016C
|
||||
/* 00D8C 809E263C 8E450150 */ lw $a1, 0x0150($s2) ## 00000150
|
||||
/* 00D90 809E2640 3C18809E */ lui $t8, %hi(func_809E2814) ## $t8 = 809E0000
|
||||
/* 00D94 809E2644 3C0F809E */ lui $t7, %hi(func_809E2784) ## $t7 = 809E0000
|
||||
/* 00D98 809E2648 25EF2784 */ addiu $t7, $t7, %lo(func_809E2784) ## $t7 = 809E2784
|
||||
/* 00D9C 809E264C 27182814 */ addiu $t8, $t8, %lo(func_809E2814) ## $t8 = 809E2814
|
||||
/* 00DA0 809E2650 AFB80014 */ sw $t8, 0x0014($sp)
|
||||
/* 00DA4 809E2654 AFAF0010 */ sw $t7, 0x0010($sp)
|
||||
/* 00DA8 809E2658 AFB20018 */ sw $s2, 0x0018($sp)
|
||||
/* 00DAC 809E265C 0C0286B2 */ jal SkelAnime_DrawFlexOpa
|
||||
/* 00DB0 809E2660 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 00DB4 809E2664 3C198016 */ lui $t9, %hi(gSaveContext+0xef6)
|
||||
/* 00DB8 809E2668 9739F556 */ lhu $t9, %lo(gSaveContext+0xef6)($t9)
|
||||
/* 00DBC 809E266C 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
||||
/* 00DC0 809E2670 342117A4 */ ori $at, $at, 0x17A4 ## $at = 000117A4
|
||||
/* 00DC4 809E2674 33290400 */ andi $t1, $t9, 0x0400 ## $t1 = 00000000
|
||||
/* 00DC8 809E2678 11200036 */ beq $t1, $zero, .L809E2754
|
||||
/* 00DCC 809E267C 02212021 */ addu $a0, $s1, $at
|
||||
/* 00DD0 809E2680 0C02604B */ jal Object_GetIndex
|
||||
## ObjectIndex
|
||||
/* 00DD4 809E2684 24050015 */ addiu $a1, $zero, 0x0015 ## $a1 = 00000015
|
||||
/* 00DD8 809E2688 04400032 */ bltz $v0, .L809E2754
|
||||
/* 00DDC 809E268C AFA20054 */ sw $v0, 0x0054($sp)
|
||||
/* 00DE0 809E2690 0C03423F */ jal Matrix_Put
|
||||
/* 00DE4 809E2694 26440218 */ addiu $a0, $s2, 0x0218 ## $a0 = 00000218
|
||||
/* 00DE8 809E2698 3C05809E */ lui $a1, %hi(D_809E2990) ## $a1 = 809E0000
|
||||
/* 00DEC 809E269C 24A52990 */ addiu $a1, $a1, %lo(D_809E2990) ## $a1 = 809E2990
|
||||
/* 00DF0 809E26A0 8E240000 */ lw $a0, 0x0000($s1) ## 00000000
|
||||
/* 00DF4 809E26A4 0C0346A2 */ jal Matrix_NewMtx
|
||||
/* 00DF8 809E26A8 240603E8 */ addiu $a2, $zero, 0x03E8 ## $a2 = 000003E8
|
||||
/* 00DFC 809E26AC 8E0302C0 */ lw $v1, 0x02C0($s0) ## 000002C0
|
||||
/* 00E00 809E26B0 3C05DB06 */ lui $a1, 0xDB06 ## $a1 = DB060000
|
||||
/* 00E04 809E26B4 34A50018 */ ori $a1, $a1, 0x0018 ## $a1 = DB060018
|
||||
/* 00E08 809E26B8 246A0008 */ addiu $t2, $v1, 0x0008 ## $t2 = 00000008
|
||||
/* 00E0C 809E26BC AE0A02C0 */ sw $t2, 0x02C0($s0) ## 000002C0
|
||||
/* 00E10 809E26C0 AC650000 */ sw $a1, 0x0000($v1) ## 00000000
|
||||
/* 00E14 809E26C4 8FAB0054 */ lw $t3, 0x0054($sp)
|
||||
/* 00E18 809E26C8 24060044 */ addiu $a2, $zero, 0x0044 ## $a2 = 00000044
|
||||
/* 00E1C 809E26CC 3C070001 */ lui $a3, 0x0001 ## $a3 = 00010000
|
||||
/* 00E20 809E26D0 01660019 */ multu $t3, $a2
|
||||
/* 00E24 809E26D4 3C18DB06 */ lui $t8, 0xDB06 ## $t8 = DB060000
|
||||
/* 00E28 809E26D8 37180034 */ ori $t8, $t8, 0x0034 ## $t8 = DB060034
|
||||
/* 00E2C 809E26DC 2459FE40 */ addiu $t9, $v0, 0xFE40 ## $t9 = FFFFFE40
|
||||
/* 00E30 809E26E0 3C0B0603 */ lui $t3, %hi(D_0602AF70) ## $t3 = 06030000
|
||||
/* 00E34 809E26E4 256BAF70 */ addiu $t3, $t3, %lo(D_0602AF70) ## $t3 = 0602AF70
|
||||
/* 00E38 809E26E8 3C0ADE00 */ lui $t2, 0xDE00 ## $t2 = DE000000
|
||||
/* 00E3C 809E26EC 00004012 */ mflo $t0
|
||||
/* 00E40 809E26F0 02286021 */ addu $t4, $s1, $t0
|
||||
/* 00E44 809E26F4 01876821 */ addu $t5, $t4, $a3
|
||||
/* 00E48 809E26F8 8DAE17B4 */ lw $t6, 0x17B4($t5) ## 000017B4
|
||||
/* 00E4C 809E26FC AC6E0004 */ sw $t6, 0x0004($v1) ## 00000004
|
||||
/* 00E50 809E2700 8E0302C0 */ lw $v1, 0x02C0($s0) ## 000002C0
|
||||
/* 00E54 809E2704 246F0008 */ addiu $t7, $v1, 0x0008 ## $t7 = 00000008
|
||||
/* 00E58 809E2708 AE0F02C0 */ sw $t7, 0x02C0($s0) ## 000002C0
|
||||
/* 00E5C 809E270C AC790004 */ sw $t9, 0x0004($v1) ## 00000004
|
||||
/* 00E60 809E2710 AC780000 */ sw $t8, 0x0000($v1) ## 00000000
|
||||
/* 00E64 809E2714 8E0302C0 */ lw $v1, 0x02C0($s0) ## 000002C0
|
||||
/* 00E68 809E2718 24690008 */ addiu $t1, $v1, 0x0008 ## $t1 = 00000008
|
||||
/* 00E6C 809E271C AE0902C0 */ sw $t1, 0x02C0($s0) ## 000002C0
|
||||
/* 00E70 809E2720 AC6B0004 */ sw $t3, 0x0004($v1) ## 00000004
|
||||
/* 00E74 809E2724 AC6A0000 */ sw $t2, 0x0000($v1) ## 00000000
|
||||
/* 00E78 809E2728 8E0302C0 */ lw $v1, 0x02C0($s0) ## 000002C0
|
||||
/* 00E7C 809E272C 24680008 */ addiu $t0, $v1, 0x0008 ## $t0 = 00000008
|
||||
/* 00E80 809E2730 AE0802C0 */ sw $t0, 0x02C0($s0) ## 000002C0
|
||||
/* 00E84 809E2734 AC650000 */ sw $a1, 0x0000($v1) ## 00000000
|
||||
/* 00E88 809E2738 824C001E */ lb $t4, 0x001E($s2) ## 0000001E
|
||||
/* 00E8C 809E273C 01860019 */ multu $t4, $a2
|
||||
/* 00E90 809E2740 00006812 */ mflo $t5
|
||||
/* 00E94 809E2744 022D7021 */ addu $t6, $s1, $t5
|
||||
/* 00E98 809E2748 01C77821 */ addu $t7, $t6, $a3
|
||||
/* 00E9C 809E274C 8DF817B4 */ lw $t8, 0x17B4($t7) ## 000017BC
|
||||
/* 00EA0 809E2750 AC780004 */ sw $t8, 0x0004($v1) ## 00000004
|
||||
.L809E2754:
|
||||
/* 00EA4 809E2754 3C06809E */ lui $a2, %hi(D_809E29A0) ## $a2 = 809E0000
|
||||
/* 00EA8 809E2758 24C629A0 */ addiu $a2, $a2, %lo(D_809E29A0) ## $a2 = 809E29A0
|
||||
/* 00EAC 809E275C 27A4005C */ addiu $a0, $sp, 0x005C ## $a0 = FFFFFFE4
|
||||
/* 00EB0 809E2760 8E250000 */ lw $a1, 0x0000($s1) ## 00000000
|
||||
/* 00EB4 809E2764 0C031AD5 */ jal Graph_CloseDisps
|
||||
/* 00EB8 809E2768 240703F7 */ addiu $a3, $zero, 0x03F7 ## $a3 = 000003F7
|
||||
/* 00EBC 809E276C 8FBF0034 */ lw $ra, 0x0034($sp)
|
||||
/* 00EC0 809E2770 8FB00028 */ lw $s0, 0x0028($sp)
|
||||
/* 00EC4 809E2774 8FB1002C */ lw $s1, 0x002C($sp)
|
||||
/* 00EC8 809E2778 8FB20030 */ lw $s2, 0x0030($sp)
|
||||
/* 00ECC 809E277C 03E00008 */ jr $ra
|
||||
/* 00ED0 809E2780 27BD0078 */ addiu $sp, $sp, 0x0078 ## $sp = 00000000
|
|
@ -1,110 +0,0 @@
|
|||
glabel EnCs_Init
|
||||
/* 00120 809E19D0 3C0E8016 */ lui $t6, %hi(gSaveContext+0x10)
|
||||
/* 00124 809E19D4 8DCEE670 */ lw $t6, %lo(gSaveContext+0x10)($t6)
|
||||
/* 00128 809E19D8 27BDFFB8 */ addiu $sp, $sp, 0xFFB8 ## $sp = FFFFFFB8
|
||||
/* 0012C 809E19DC AFB00028 */ sw $s0, 0x0028($sp)
|
||||
/* 00130 809E19E0 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00134 809E19E4 AFBF002C */ sw $ra, 0x002C($sp)
|
||||
/* 00138 809E19E8 11C00005 */ beq $t6, $zero, .L809E1A00
|
||||
/* 0013C 809E19EC AFA5004C */ sw $a1, 0x004C($sp)
|
||||
/* 00140 809E19F0 0C00B55C */ jal Actor_Kill
|
||||
|
||||
/* 00144 809E19F4 00000000 */ nop
|
||||
/* 00148 809E19F8 10000056 */ beq $zero, $zero, .L809E1B54
|
||||
/* 0014C 809E19FC 8FBF002C */ lw $ra, 0x002C($sp)
|
||||
.L809E1A00:
|
||||
/* 00150 809E1A00 3C068003 */ lui $a2, %hi(ActorShadow_DrawCircle)
|
||||
/* 00154 809E1A04 24C6B5EC */ addiu $a2, %lo(ActorShadow_DrawCircle)
|
||||
/* 00158 809E1A08 260400B4 */ addiu $a0, $s0, 0x00B4 ## $a0 = 000000B4
|
||||
/* 0015C 809E1A0C 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
|
||||
/* 00160 809E1A10 0C00AC78 */ jal ActorShape_Init
|
||||
|
||||
/* 00164 809E1A14 3C074198 */ lui $a3, 0x4198 ## $a3 = 41980000
|
||||
/* 00168 809E1A18 2605014C */ addiu $a1, $s0, 0x014C ## $a1 = 0000014C
|
||||
/* 0016C 809E1A1C 3C060601 */ lui $a2, %hi(D_06008540) ## $a2 = 06010000
|
||||
/* 00170 809E1A20 260F0284 */ addiu $t7, $s0, 0x0284 ## $t7 = 00000284
|
||||
/* 00174 809E1A24 261802E4 */ addiu $t8, $s0, 0x02E4 ## $t8 = 000002E4
|
||||
/* 00178 809E1A28 24190010 */ addiu $t9, $zero, 0x0010 ## $t9 = 00000010
|
||||
/* 0017C 809E1A2C AFB90018 */ sw $t9, 0x0018($sp)
|
||||
/* 00180 809E1A30 AFB80014 */ sw $t8, 0x0014($sp)
|
||||
/* 00184 809E1A34 AFAF0010 */ sw $t7, 0x0010($sp)
|
||||
/* 00188 809E1A38 24C68540 */ addiu $a2, $a2, %lo(D_06008540) ## $a2 = 06008540
|
||||
/* 0018C 809E1A3C AFA50038 */ sw $a1, 0x0038($sp)
|
||||
/* 00190 809E1A40 8FA4004C */ lw $a0, 0x004C($sp)
|
||||
/* 00194 809E1A44 0C0291BE */ jal SkelAnime_InitFlex
|
||||
/* 00198 809E1A48 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
|
||||
/* 0019C 809E1A4C 26050194 */ addiu $a1, $s0, 0x0194 ## $a1 = 00000194
|
||||
/* 001A0 809E1A50 AFA50034 */ sw $a1, 0x0034($sp)
|
||||
/* 001A4 809E1A54 0C0170D9 */ jal Collider_InitCylinder
|
||||
|
||||
/* 001A8 809E1A58 8FA4004C */ lw $a0, 0x004C($sp)
|
||||
/* 001AC 809E1A5C 3C07809E */ lui $a3, %hi(D_809E28C0) ## $a3 = 809E0000
|
||||
/* 001B0 809E1A60 8FA50034 */ lw $a1, 0x0034($sp)
|
||||
/* 001B4 809E1A64 24E728C0 */ addiu $a3, $a3, %lo(D_809E28C0) ## $a3 = 809E28C0
|
||||
/* 001B8 809E1A68 8FA4004C */ lw $a0, 0x004C($sp)
|
||||
/* 001BC 809E1A6C 0C01712B */ jal Collider_SetCylinder
|
||||
|
||||
/* 001C0 809E1A70 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
|
||||
/* 001C4 809E1A74 3C05809E */ lui $a1, %hi(D_809E28F8) ## $a1 = 809E0000
|
||||
/* 001C8 809E1A78 3C06809E */ lui $a2, %hi(D_809E28EC) ## $a2 = 809E0000
|
||||
/* 001CC 809E1A7C 24C628EC */ addiu $a2, $a2, %lo(D_809E28EC) ## $a2 = 809E28EC
|
||||
/* 001D0 809E1A80 24A528F8 */ addiu $a1, $a1, %lo(D_809E28F8) ## $a1 = 809E28F8
|
||||
/* 001D4 809E1A84 0C0187BF */ jal CollisionCheck_SetInfo2
|
||||
/* 001D8 809E1A88 26040098 */ addiu $a0, $s0, 0x0098 ## $a0 = 00000098
|
||||
/* 001DC 809E1A8C 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
|
||||
/* 001E0 809E1A90 24080004 */ addiu $t0, $zero, 0x0004 ## $t0 = 00000004
|
||||
/* 001E4 809E1A94 AFA80014 */ sw $t0, 0x0014($sp)
|
||||
/* 001E8 809E1A98 44060000 */ mfc1 $a2, $f0
|
||||
/* 001EC 809E1A9C 44070000 */ mfc1 $a3, $f0
|
||||
/* 001F0 809E1AA0 8FA4004C */ lw $a0, 0x004C($sp)
|
||||
/* 001F4 809E1AA4 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
|
||||
/* 001F8 809E1AA8 0C00B92D */ jal Actor_UpdateBgCheckInfo
|
||||
/* 001FC 809E1AAC E7A00010 */ swc1 $f0, 0x0010($sp)
|
||||
/* 00200 809E1AB0 3C03809E */ lui $v1, %hi(D_809E2918) ## $v1 = 809E0000
|
||||
/* 00204 809E1AB4 24632918 */ addiu $v1, $v1, %lo(D_809E2918) ## $v1 = 809E2918
|
||||
/* 00208 809E1AB8 0C028800 */ jal Animation_GetLastFrame
|
||||
|
||||
/* 0020C 809E1ABC 8C640000 */ lw $a0, 0x0000($v1) ## 809E2918
|
||||
/* 00210 809E1AC0 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
|
||||
/* 00214 809E1AC4 3C03809E */ lui $v1, %hi(D_809E2918) ## $v1 = 809E0000
|
||||
/* 00218 809E1AC8 24632918 */ addiu $v1, $v1, %lo(D_809E2918) ## $v1 = 809E2918
|
||||
/* 0021C 809E1ACC 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* 00220 809E1AD0 90690008 */ lbu $t1, 0x0008($v1) ## 809E2920
|
||||
/* 00224 809E1AD4 C468000C */ lwc1 $f8, 0x000C($v1) ## 809E2924
|
||||
/* 00228 809E1AD8 8C650000 */ lw $a1, 0x0000($v1) ## 809E2918
|
||||
/* 0022C 809E1ADC 8FA40038 */ lw $a0, 0x0038($sp)
|
||||
/* 00230 809E1AE0 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
|
||||
/* 00234 809E1AE4 E7A60010 */ swc1 $f6, 0x0010($sp)
|
||||
/* 00238 809E1AE8 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
|
||||
/* 0023C 809E1AEC AFA90014 */ sw $t1, 0x0014($sp)
|
||||
/* 00240 809E1AF0 0C029468 */ jal Animation_Change
|
||||
|
||||
/* 00244 809E1AF4 E7A80018 */ swc1 $f8, 0x0018($sp)
|
||||
/* 00248 809E1AF8 860B001C */ lh $t3, 0x001C($s0) ## 0000001C
|
||||
/* 0024C 809E1AFC 3C01BF80 */ lui $at, 0xBF80 ## $at = BF800000
|
||||
/* 00250 809E1B00 44815000 */ mtc1 $at, $f10 ## $f10 = -1.00
|
||||
/* 00254 809E1B04 240A0006 */ addiu $t2, $zero, 0x0006 ## $t2 = 00000006
|
||||
/* 00258 809E1B08 240DFFFF */ addiu $t5, $zero, 0xFFFF ## $t5 = FFFFFFFF
|
||||
/* 0025C 809E1B0C 316C00FF */ andi $t4, $t3, 0x00FF ## $t4 = 00000000
|
||||
/* 00260 809E1B10 A20A001F */ sb $t2, 0x001F($s0) ## 0000001F
|
||||
/* 00264 809E1B14 AE0C01F4 */ sw $t4, 0x01F4($s0) ## 000001F4
|
||||
/* 00268 809E1B18 AE0001EC */ sw $zero, 0x01EC($s0) ## 000001EC
|
||||
/* 0026C 809E1B1C AE0001E0 */ sw $zero, 0x01E0($s0) ## 000001E0
|
||||
/* 00270 809E1B20 AE0D0210 */ sw $t5, 0x0210($s0) ## 00000210
|
||||
/* 00274 809E1B24 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00278 809E1B28 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
|
||||
/* 0027C 809E1B2C 26060210 */ addiu $a2, $s0, 0x0210 ## $a2 = 00000210
|
||||
/* 00280 809E1B30 0C27862C */ jal func_809E18B0
|
||||
/* 00284 809E1B34 E60A006C */ swc1 $f10, 0x006C($s0) ## 0000006C
|
||||
/* 00288 809E1B38 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
|
||||
/* 0028C 809E1B3C 44818000 */ mtc1 $at, $f16 ## $f16 = 1.00
|
||||
/* 00290 809E1B40 3C0E809E */ lui $t6, %hi(func_809E2134) ## $t6 = 809E0000
|
||||
/* 00294 809E1B44 25CE2134 */ addiu $t6, $t6, %lo(func_809E2134) ## $t6 = 809E2134
|
||||
/* 00298 809E1B48 AE0E0190 */ sw $t6, 0x0190($s0) ## 00000190
|
||||
/* 0029C 809E1B4C E610020C */ swc1 $f16, 0x020C($s0) ## 0000020C
|
||||
/* 002A0 809E1B50 8FBF002C */ lw $ra, 0x002C($sp)
|
||||
.L809E1B54:
|
||||
/* 002A4 809E1B54 8FB00028 */ lw $s0, 0x0028($sp)
|
||||
/* 002A8 809E1B58 27BD0048 */ addiu $sp, $sp, 0x0048 ## $sp = 00000000
|
||||
/* 002AC 809E1B5C 03E00008 */ jr $ra
|
||||
/* 002B0 809E1B60 00000000 */ nop
|
|
@ -1,105 +0,0 @@
|
|||
glabel EnCs_Update
|
||||
/* 00B74 809E2424 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
|
||||
/* 00B78 809E2428 AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 00B7C 809E242C AFB00018 */ sw $s0, 0x0018($sp)
|
||||
/* 00B80 809E2430 AFA50034 */ sw $a1, 0x0034($sp)
|
||||
/* 00B84 809E2434 8C820210 */ lw $v0, 0x0210($a0) ## 00000210
|
||||
/* 00B88 809E2438 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00B8C 809E243C 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
|
||||
/* 00B90 809E2440 1440000F */ bne $v0, $zero, .L809E2480
|
||||
/* 00B94 809E2444 00000000 */ nop
|
||||
/* 00B98 809E2448 C4840164 */ lwc1 $f4, 0x0164($a0) ## 00000164
|
||||
/* 00B9C 809E244C 24010009 */ addiu $at, $zero, 0x0009 ## $at = 00000009
|
||||
/* 00BA0 809E2450 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00BA4 809E2454 4600218D */ trunc.w.s $f6, $f4
|
||||
/* 00BA8 809E2458 44023000 */ mfc1 $v0, $f6
|
||||
/* 00BAC 809E245C 00000000 */ nop
|
||||
/* 00BB0 809E2460 10410003 */ beq $v0, $at, .L809E2470
|
||||
/* 00BB4 809E2464 24010017 */ addiu $at, $zero, 0x0017 ## $at = 00000017
|
||||
/* 00BB8 809E2468 54410023 */ bnel $v0, $at, .L809E24F8
|
||||
/* 00BBC 809E246C 26060194 */ addiu $a2, $s0, 0x0194 ## $a2 = 00000194
|
||||
.L809E2470:
|
||||
/* 00BC0 809E2470 0C00BE0A */ jal Audio_PlayActorSound2
|
||||
|
||||
/* 00BC4 809E2474 240528EF */ addiu $a1, $zero, 0x28EF ## $a1 = 000028EF
|
||||
/* 00BC8 809E2478 1000001F */ beq $zero, $zero, .L809E24F8
|
||||
/* 00BCC 809E247C 26060194 */ addiu $a2, $s0, 0x0194 ## $a2 = 00000194
|
||||
.L809E2480:
|
||||
/* 00BD0 809E2480 54410010 */ bnel $v0, $at, .L809E24C4
|
||||
/* 00BD4 809E2484 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
|
||||
/* 00BD8 809E2488 C6080164 */ lwc1 $f8, 0x0164($s0) ## 00000164
|
||||
/* 00BDC 809E248C 2401000A */ addiu $at, $zero, 0x000A ## $at = 0000000A
|
||||
/* 00BE0 809E2490 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00BE4 809E2494 4600428D */ trunc.w.s $f10, $f8
|
||||
/* 00BE8 809E2498 44025000 */ mfc1 $v0, $f10
|
||||
/* 00BEC 809E249C 00000000 */ nop
|
||||
/* 00BF0 809E24A0 10410003 */ beq $v0, $at, .L809E24B0
|
||||
/* 00BF4 809E24A4 24010019 */ addiu $at, $zero, 0x0019 ## $at = 00000019
|
||||
/* 00BF8 809E24A8 54410013 */ bnel $v0, $at, .L809E24F8
|
||||
/* 00BFC 809E24AC 26060194 */ addiu $a2, $s0, 0x0194 ## $a2 = 00000194
|
||||
.L809E24B0:
|
||||
/* 00C00 809E24B0 0C00BE0A */ jal Audio_PlayActorSound2
|
||||
|
||||
/* 00C04 809E24B4 240528EF */ addiu $a1, $zero, 0x28EF ## $a1 = 000028EF
|
||||
/* 00C08 809E24B8 1000000F */ beq $zero, $zero, .L809E24F8
|
||||
/* 00C0C 809E24BC 26060194 */ addiu $a2, $s0, 0x0194 ## $a2 = 00000194
|
||||
/* 00C10 809E24C0 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
|
||||
.L809E24C4:
|
||||
/* 00C14 809E24C4 5441000C */ bnel $v0, $at, .L809E24F8
|
||||
/* 00C18 809E24C8 26060194 */ addiu $a2, $s0, 0x0194 ## $a2 = 00000194
|
||||
/* 00C1C 809E24CC C6100164 */ lwc1 $f16, 0x0164($s0) ## 00000164
|
||||
/* 00C20 809E24D0 24010014 */ addiu $at, $zero, 0x0014 ## $at = 00000014
|
||||
/* 00C24 809E24D4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00C28 809E24D8 4600848D */ trunc.w.s $f18, $f16
|
||||
/* 00C2C 809E24DC 44199000 */ mfc1 $t9, $f18
|
||||
/* 00C30 809E24E0 00000000 */ nop
|
||||
/* 00C34 809E24E4 57210004 */ bnel $t9, $at, .L809E24F8
|
||||
/* 00C38 809E24E8 26060194 */ addiu $a2, $s0, 0x0194 ## $a2 = 00000194
|
||||
/* 00C3C 809E24EC 0C00BE0A */ jal Audio_PlayActorSound2
|
||||
|
||||
/* 00C40 809E24F0 240528EF */ addiu $a1, $zero, 0x28EF ## $a1 = 000028EF
|
||||
/* 00C44 809E24F4 26060194 */ addiu $a2, $s0, 0x0194 ## $a2 = 00000194
|
||||
.L809E24F8:
|
||||
/* 00C48 809E24F8 00C02825 */ or $a1, $a2, $zero ## $a1 = 00000194
|
||||
/* 00C4C 809E24FC AFA60024 */ sw $a2, 0x0024($sp)
|
||||
/* 00C50 809E2500 0C0189B7 */ jal Collider_UpdateCylinder
|
||||
|
||||
/* 00C54 809E2504 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00C58 809E2508 8FA40034 */ lw $a0, 0x0034($sp)
|
||||
/* 00C5C 809E250C 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
||||
/* 00C60 809E2510 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60
|
||||
/* 00C64 809E2514 8FA60024 */ lw $a2, 0x0024($sp)
|
||||
/* 00C68 809E2518 0C017713 */ jal CollisionCheck_SetOC
|
||||
## CollisionCheck_setOC
|
||||
/* 00C6C 809E251C 00812821 */ addu $a1, $a0, $at
|
||||
/* 00C70 809E2520 8E190190 */ lw $t9, 0x0190($s0) ## 00000190
|
||||
/* 00C74 809E2524 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00C78 809E2528 8FA50034 */ lw $a1, 0x0034($sp)
|
||||
/* 00C7C 809E252C 0320F809 */ jalr $ra, $t9
|
||||
/* 00C80 809E2530 00000000 */ nop
|
||||
/* 00C84 809E2534 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00C88 809E2538 0C27874E */ jal func_809E1D38
|
||||
/* 00C8C 809E253C 8FA50034 */ lw $a1, 0x0034($sp)
|
||||
/* 00C90 809E2540 8E0901E8 */ lw $t1, 0x01E8($s0) ## 000001E8
|
||||
/* 00C94 809E2544 3C0F809E */ lui $t7, %hi(D_809E2958) ## $t7 = 809E0000
|
||||
/* 00C98 809E2548 252AFFFF */ addiu $t2, $t1, 0xFFFF ## $t2 = FFFFFFFF
|
||||
/* 00C9C 809E254C 0541000C */ bgez $t2, .L809E2580
|
||||
/* 00CA0 809E2550 AE0A01E8 */ sw $t2, 0x01E8($s0) ## 000001E8
|
||||
/* 00CA4 809E2554 8E0C01E4 */ lw $t4, 0x01E4($s0) ## 000001E4
|
||||
/* 00CA8 809E2558 25820001 */ addiu $v0, $t4, 0x0001 ## $v0 = 00000001
|
||||
/* 00CAC 809E255C 28410003 */ slti $at, $v0, 0x0003
|
||||
/* 00CB0 809E2560 14200003 */ bne $at, $zero, .L809E2570
|
||||
/* 00CB4 809E2564 AE0201E4 */ sw $v0, 0x01E4($s0) ## 000001E4
|
||||
/* 00CB8 809E2568 AE0001E4 */ sw $zero, 0x01E4($s0) ## 000001E4
|
||||
/* 00CBC 809E256C 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
||||
.L809E2570:
|
||||
/* 00CC0 809E2570 00027080 */ sll $t6, $v0, 2
|
||||
/* 00CC4 809E2574 01EE7821 */ addu $t7, $t7, $t6
|
||||
/* 00CC8 809E2578 8DEF2958 */ lw $t7, %lo(D_809E2958)($t7)
|
||||
/* 00CCC 809E257C AE0F01E8 */ sw $t7, 0x01E8($s0) ## 000001E8
|
||||
.L809E2580:
|
||||
/* 00CD0 809E2580 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 00CD4 809E2584 8FB00018 */ lw $s0, 0x0018($sp)
|
||||
/* 00CD8 809E2588 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
|
||||
/* 00CDC 809E258C 03E00008 */ jr $ra
|
||||
/* 00CE0 809E2590 00000000 */ nop
|
|
@ -1,82 +0,0 @@
|
|||
glabel func_809E18B0
|
||||
/* 00000 809E18B0 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8
|
||||
/* 00004 809E18B4 AFBF0024 */ sw $ra, 0x0024($sp)
|
||||
/* 00008 809E18B8 AFA40038 */ sw $a0, 0x0038($sp)
|
||||
/* 0000C 809E18BC AFA60040 */ sw $a2, 0x0040($sp)
|
||||
/* 00010 809E18C0 8CC20000 */ lw $v0, 0x0000($a2) ## 00000000
|
||||
/* 00014 809E18C4 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00
|
||||
/* 00018 809E18C8 00057900 */ sll $t7, $a1, 4
|
||||
/* 0001C 809E18CC 04400003 */ bltz $v0, .L809E18DC
|
||||
/* 00020 809E18D0 3C18809E */ lui $t8, %hi(D_809E2918) ## $t8 = 809E0000
|
||||
/* 00024 809E18D4 14A20005 */ bne $a1, $v0, .L809E18EC
|
||||
/* 00028 809E18D8 0005C900 */ sll $t9, $a1, 4
|
||||
.L809E18DC:
|
||||
/* 0002C 809E18DC 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
|
||||
/* 00030 809E18E0 27182918 */ addiu $t8, $t8, %lo(D_809E2918) ## $t8 = 809E2918
|
||||
/* 00034 809E18E4 10000005 */ beq $zero, $zero, .L809E18FC
|
||||
/* 00038 809E18E8 01F81821 */ addu $v1, $t7, $t8
|
||||
.L809E18EC:
|
||||
/* 0003C 809E18EC 3C08809E */ lui $t0, %hi(D_809E2918) ## $t0 = 809E0000
|
||||
/* 00040 809E18F0 25082918 */ addiu $t0, $t0, %lo(D_809E2918) ## $t0 = 809E2918
|
||||
/* 00044 809E18F4 03281821 */ addu $v1, $t9, $t0
|
||||
/* 00048 809E18F8 C460000C */ lwc1 $f0, 0x000C($v1) ## 0000000C
|
||||
.L809E18FC:
|
||||
/* 0004C 809E18FC C4640004 */ lwc1 $f4, 0x0004($v1) ## 00000004
|
||||
/* 00050 809E1900 4604303E */ c.le.s $f6, $f4
|
||||
/* 00054 809E1904 00000000 */ nop
|
||||
/* 00058 809E1908 45020017 */ bc1fl .L809E1968
|
||||
/* 0005C 809E190C 8C640000 */ lw $a0, 0x0000($v1) ## 00000000
|
||||
/* 00060 809E1910 8C640000 */ lw $a0, 0x0000($v1) ## 00000000
|
||||
/* 00064 809E1914 AFA3002C */ sw $v1, 0x002C($sp)
|
||||
/* 00068 809E1918 AFA5003C */ sw $a1, 0x003C($sp)
|
||||
/* 0006C 809E191C 0C028800 */ jal Animation_GetLastFrame
|
||||
|
||||
/* 00070 809E1920 E7A00034 */ swc1 $f0, 0x0034($sp)
|
||||
/* 00074 809E1924 44824000 */ mtc1 $v0, $f8 ## $f8 = 0.00
|
||||
/* 00078 809E1928 8FA3002C */ lw $v1, 0x002C($sp)
|
||||
/* 0007C 809E192C C7A00034 */ lwc1 $f0, 0x0034($sp)
|
||||
/* 00080 809E1930 468042A0 */ cvt.s.w $f10, $f8
|
||||
/* 00084 809E1934 8FA40038 */ lw $a0, 0x0038($sp)
|
||||
/* 00088 809E1938 90690008 */ lbu $t1, 0x0008($v1) ## 00000008
|
||||
/* 0008C 809E193C 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
|
||||
/* 00090 809E1940 8C650000 */ lw $a1, 0x0000($v1) ## 00000000
|
||||
/* 00094 809E1944 8C660004 */ lw $a2, 0x0004($v1) ## 00000004
|
||||
/* 00098 809E1948 E7AA0010 */ swc1 $f10, 0x0010($sp)
|
||||
/* 0009C 809E194C E7A00018 */ swc1 $f0, 0x0018($sp)
|
||||
/* 000A0 809E1950 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
|
||||
/* 000A4 809E1954 0C029468 */ jal Animation_Change
|
||||
|
||||
/* 000A8 809E1958 AFA90014 */ sw $t1, 0x0014($sp)
|
||||
/* 000AC 809E195C 10000016 */ beq $zero, $zero, .L809E19B8
|
||||
/* 000B0 809E1960 8FAB003C */ lw $t3, 0x003C($sp)
|
||||
/* 000B4 809E1964 8C640000 */ lw $a0, 0x0000($v1) ## 00000000
|
||||
.L809E1968:
|
||||
/* 000B8 809E1968 AFA3002C */ sw $v1, 0x002C($sp)
|
||||
/* 000BC 809E196C AFA5003C */ sw $a1, 0x003C($sp)
|
||||
/* 000C0 809E1970 0C028800 */ jal Animation_GetLastFrame
|
||||
|
||||
/* 000C4 809E1974 E7A00034 */ swc1 $f0, 0x0034($sp)
|
||||
/* 000C8 809E1978 44828000 */ mtc1 $v0, $f16 ## $f16 = 0.00
|
||||
/* 000CC 809E197C 8FA3002C */ lw $v1, 0x002C($sp)
|
||||
/* 000D0 809E1980 C7A00034 */ lwc1 $f0, 0x0034($sp)
|
||||
/* 000D4 809E1984 46808420 */ cvt.s.w $f16, $f16
|
||||
/* 000D8 809E1988 8FA40038 */ lw $a0, 0x0038($sp)
|
||||
/* 000DC 809E198C 44809000 */ mtc1 $zero, $f18 ## $f18 = 0.00
|
||||
/* 000E0 809E1990 906A0008 */ lbu $t2, 0x0008($v1) ## 00000008
|
||||
/* 000E4 809E1994 8C650000 */ lw $a1, 0x0000($v1) ## 00000000
|
||||
/* 000E8 809E1998 8C660004 */ lw $a2, 0x0004($v1) ## 00000004
|
||||
/* 000EC 809E199C 44078000 */ mfc1 $a3, $f16
|
||||
/* 000F0 809E19A0 E7A00018 */ swc1 $f0, 0x0018($sp)
|
||||
/* 000F4 809E19A4 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
|
||||
/* 000F8 809E19A8 AFAA0014 */ sw $t2, 0x0014($sp)
|
||||
/* 000FC 809E19AC 0C029468 */ jal Animation_Change
|
||||
|
||||
/* 00100 809E19B0 E7B20010 */ swc1 $f18, 0x0010($sp)
|
||||
/* 00104 809E19B4 8FAB003C */ lw $t3, 0x003C($sp)
|
||||
.L809E19B8:
|
||||
/* 00108 809E19B8 8FAC0040 */ lw $t4, 0x0040($sp)
|
||||
/* 0010C 809E19BC AD8B0000 */ sw $t3, 0x0000($t4) ## 00000000
|
||||
/* 00110 809E19C0 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
/* 00114 809E19C4 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000
|
||||
/* 00118 809E19C8 03E00008 */ jr $ra
|
||||
/* 0011C 809E19CC 00000000 */ nop
|
|
@ -1,92 +0,0 @@
|
|||
.late_rodata
|
||||
glabel jtbl_809E29B0
|
||||
.word L809E1CA4
|
||||
.word L809E1CA4
|
||||
.word L809E1CA4
|
||||
.word L809E1CA4
|
||||
.word L809E1BD4
|
||||
.word L809E1CA4
|
||||
.word L809E1C3C
|
||||
|
||||
.text
|
||||
glabel func_809E1B8C
|
||||
/* 002DC 809E1B8C 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
|
||||
/* 002E0 809E1B90 AFB00018 */ sw $s0, 0x0018($sp)
|
||||
/* 002E4 809E1B94 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 002E8 809E1B98 AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 002EC 809E1B9C 24030001 */ addiu $v1, $zero, 0x0001 ## $v1 = 00000001
|
||||
/* 002F0 809E1BA0 AFA50034 */ sw $a1, 0x0034($sp)
|
||||
/* 002F4 809E1BA4 AFA30024 */ sw $v1, 0x0024($sp)
|
||||
/* 002F8 809E1BA8 0C042F6F */ jal func_8010BDBC
|
||||
/* 002FC 809E1BAC 24A420D8 */ addiu $a0, $a1, 0x20D8 ## $a0 = 000020D8
|
||||
/* 00300 809E1BB0 2C410007 */ sltiu $at, $v0, 0x0007
|
||||
/* 00304 809E1BB4 1020003B */ beq $at, $zero, .L809E1CA4
|
||||
/* 00308 809E1BB8 8FA30024 */ lw $v1, 0x0024($sp)
|
||||
/* 0030C 809E1BBC 00027080 */ sll $t6, $v0, 2
|
||||
/* 00310 809E1BC0 3C01809E */ lui $at, %hi(jtbl_809E29B0) ## $at = 809E0000
|
||||
/* 00314 809E1BC4 002E0821 */ addu $at, $at, $t6
|
||||
/* 00318 809E1BC8 8C2E29B0 */ lw $t6, %lo(jtbl_809E29B0)($at)
|
||||
/* 0031C 809E1BCC 01C00008 */ jr $t6
|
||||
/* 00320 809E1BD0 00000000 */ nop
|
||||
glabel L809E1BD4
|
||||
/* 00324 809E1BD4 8FA40034 */ lw $a0, 0x0034($sp)
|
||||
/* 00328 809E1BD8 0C041AF2 */ jal func_80106BC8
|
||||
/* 0032C 809E1BDC AFA30024 */ sw $v1, 0x0024($sp)
|
||||
/* 00330 809E1BE0 10400030 */ beq $v0, $zero, .L809E1CA4
|
||||
/* 00334 809E1BE4 8FA30024 */ lw $v1, 0x0024($sp)
|
||||
/* 00338 809E1BE8 8FAF0034 */ lw $t7, 0x0034($sp)
|
||||
/* 0033C 809E1BEC 3C180001 */ lui $t8, 0x0001 ## $t8 = 00010000
|
||||
/* 00340 809E1BF0 24082024 */ addiu $t0, $zero, 0x2024 ## $t0 = 00002024
|
||||
/* 00344 809E1BF4 030FC021 */ addu $t8, $t8, $t7
|
||||
/* 00348 809E1BF8 931804BD */ lbu $t8, 0x04BD($t8) ## 000104BD
|
||||
/* 0034C 809E1BFC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00350 809E1C00 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
|
||||
/* 00354 809E1C04 17000009 */ bne $t8, $zero, .L809E1C2C
|
||||
/* 00358 809E1C08 26060210 */ addiu $a2, $s0, 0x0210 ## $a2 = 00000210
|
||||
/* 0035C 809E1C0C 24192026 */ addiu $t9, $zero, 0x2026 ## $t9 = 00002026
|
||||
/* 00360 809E1C10 A619010E */ sh $t9, 0x010E($s0) ## 0000010E
|
||||
/* 00364 809E1C14 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00368 809E1C18 24050003 */ addiu $a1, $zero, 0x0003 ## $a1 = 00000003
|
||||
/* 0036C 809E1C1C 0C27862C */ jal func_809E18B0
|
||||
/* 00370 809E1C20 26060210 */ addiu $a2, $s0, 0x0210 ## $a2 = 00000210
|
||||
/* 00374 809E1C24 1000001F */ beq $zero, $zero, .L809E1CA4
|
||||
/* 00378 809E1C28 24030002 */ addiu $v1, $zero, 0x0002 ## $v1 = 00000002
|
||||
.L809E1C2C:
|
||||
/* 0037C 809E1C2C 0C27862C */ jal func_809E18B0
|
||||
/* 00380 809E1C30 A608010E */ sh $t0, 0x010E($s0) ## 0000010E
|
||||
/* 00384 809E1C34 1000001B */ beq $zero, $zero, .L809E1CA4
|
||||
/* 00388 809E1C38 24030002 */ addiu $v1, $zero, 0x0002 ## $v1 = 00000002
|
||||
glabel L809E1C3C
|
||||
/* 0038C 809E1C3C 8FA40034 */ lw $a0, 0x0034($sp)
|
||||
/* 00390 809E1C40 0C041AF2 */ jal func_80106BC8
|
||||
/* 00394 809E1C44 AFA30024 */ sw $v1, 0x0024($sp)
|
||||
/* 00398 809E1C48 10400016 */ beq $v0, $zero, .L809E1CA4
|
||||
/* 0039C 809E1C4C 8FA30024 */ lw $v1, 0x0024($sp)
|
||||
/* 003A0 809E1C50 9609010E */ lhu $t1, 0x010E($s0) ## 0000010E
|
||||
/* 003A4 809E1C54 24012026 */ addiu $at, $zero, 0x2026 ## $at = 00002026
|
||||
/* 003A8 809E1C58 00001825 */ or $v1, $zero, $zero ## $v1 = 00000000
|
||||
/* 003AC 809E1C5C 15210011 */ bne $t1, $at, .L809E1CA4
|
||||
/* 003B0 809E1C60 00000000 */ nop
|
||||
/* 003B4 809E1C64 0C023C23 */ jal Player_UnsetMask
|
||||
/* 003B8 809E1C68 8FA40034 */ lw $a0, 0x0034($sp)
|
||||
/* 003BC 809E1C6C 8FA40034 */ lw $a0, 0x0034($sp)
|
||||
/* 003C0 809E1C70 0C021344 */ jal Item_Give
|
||||
/* 003C4 809E1C74 2405002C */ addiu $a1, $zero, 0x002C ## $a1 = 0000002C
|
||||
/* 003C8 809E1C78 3C038016 */ lui $v1, %hi(gSaveContext)
|
||||
/* 003CC 809E1C7C 2463E660 */ addiu $v1, %lo(gSaveContext)
|
||||
/* 003D0 809E1C80 946A0EF6 */ lhu $t2, 0x0EF6($v1) ## 8015F556
|
||||
/* 003D4 809E1C84 2404001E */ addiu $a0, $zero, 0x001E ## $a0 = 0000001E
|
||||
/* 003D8 809E1C88 354B0400 */ ori $t3, $t2, 0x0400 ## $t3 = 00000400
|
||||
/* 003DC 809E1C8C 0C021CC3 */ jal Rupees_ChangeBy
|
||||
/* 003E0 809E1C90 A46B0EF6 */ sh $t3, 0x0EF6($v1) ## 8015F556
|
||||
/* 003E4 809E1C94 240C2027 */ addiu $t4, $zero, 0x2027 ## $t4 = 00002027
|
||||
/* 003E8 809E1C98 A60C010E */ sh $t4, 0x010E($s0) ## 0000010E
|
||||
/* 003EC 809E1C9C 10000001 */ beq $zero, $zero, .L809E1CA4
|
||||
/* 003F0 809E1CA0 24030002 */ addiu $v1, $zero, 0x0002 ## $v1 = 00000002
|
||||
glabel L809E1CA4
|
||||
.L809E1CA4:
|
||||
/* 003F4 809E1CA4 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 003F8 809E1CA8 8FB00018 */ lw $s0, 0x0018($sp)
|
||||
/* 003FC 809E1CAC 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
|
||||
/* 00400 809E1CB0 03E00008 */ jr $ra
|
||||
/* 00404 809E1CB4 00601025 */ or $v0, $v1, $zero ## $v0 = 00000002
|
|
@ -1,37 +0,0 @@
|
|||
glabel func_809E1CB8
|
||||
/* 00408 809E1CB8 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
|
||||
/* 0040C 809E1CBC AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00410 809E1CC0 AFA40020 */ sw $a0, 0x0020($sp)
|
||||
/* 00414 809E1CC4 8CAE1C44 */ lw $t6, 0x1C44($a1) ## 00001C44
|
||||
/* 00418 809E1CC8 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
|
||||
/* 0041C 809E1CCC 2405000F */ addiu $a1, $zero, 0x000F ## $a1 = 0000000F
|
||||
/* 00420 809E1CD0 0C01B0D8 */ jal Text_GetFaceReaction
|
||||
/* 00424 809E1CD4 AFAE001C */ sw $t6, 0x001C($sp)
|
||||
/* 00428 809E1CD8 3C0F8016 */ lui $t7, %hi(gSaveContext+0xef6)
|
||||
/* 0042C 809E1CDC 95EFF556 */ lhu $t7, %lo(gSaveContext+0xef6)($t7)
|
||||
/* 00430 809E1CE0 00401825 */ or $v1, $v0, $zero ## $v1 = 00000000
|
||||
/* 00434 809E1CE4 00402025 */ or $a0, $v0, $zero ## $a0 = 00000000
|
||||
/* 00438 809E1CE8 31F80400 */ andi $t8, $t7, 0x0400 ## $t8 = 00000000
|
||||
/* 0043C 809E1CEC 13000005 */ beq $t8, $zero, .L809E1D04
|
||||
/* 00440 809E1CF0 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00444 809E1CF4 5440000E */ bnel $v0, $zero, .L809E1D30
|
||||
/* 00448 809E1CF8 00801025 */ or $v0, $a0, $zero ## $v0 = 00000000
|
||||
/* 0044C 809E1CFC 1000000B */ beq $zero, $zero, .L809E1D2C
|
||||
/* 00450 809E1D00 24042028 */ addiu $a0, $zero, 0x2028 ## $a0 = 00002028
|
||||
.L809E1D04:
|
||||
/* 00454 809E1D04 8FB9001C */ lw $t9, 0x001C($sp)
|
||||
/* 00458 809E1D08 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
|
||||
/* 0045C 809E1D0C 9328015F */ lbu $t0, 0x015F($t9) ## 0000015F
|
||||
/* 00460 809E1D10 15010003 */ bne $t0, $at, .L809E1D20
|
||||
/* 00464 809E1D14 00000000 */ nop
|
||||
/* 00468 809E1D18 10000004 */ beq $zero, $zero, .L809E1D2C
|
||||
/* 0046C 809E1D1C 24042023 */ addiu $a0, $zero, 0x2023 ## $a0 = 00002023
|
||||
.L809E1D20:
|
||||
/* 00470 809E1D20 54600003 */ bnel $v1, $zero, .L809E1D30
|
||||
/* 00474 809E1D24 00801025 */ or $v0, $a0, $zero ## $v0 = 00002023
|
||||
/* 00478 809E1D28 24042022 */ addiu $a0, $zero, 0x2022 ## $a0 = 00002022
|
||||
.L809E1D2C:
|
||||
/* 0047C 809E1D2C 00801025 */ or $v0, $a0, $zero ## $v0 = 00002022
|
||||
.L809E1D30:
|
||||
/* 00480 809E1D30 03E00008 */ jr $ra
|
||||
/* 00484 809E1D34 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
|
|
@ -1,93 +0,0 @@
|
|||
glabel func_809E1D38
|
||||
/* 00488 809E1D38 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
|
||||
/* 0048C 809E1D3C AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 00490 809E1D40 AFB00018 */ sw $s0, 0x0018($sp)
|
||||
/* 00494 809E1D44 8C8201E0 */ lw $v0, 0x01E0($a0) ## 000001E0
|
||||
/* 00498 809E1D48 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
|
||||
/* 0049C 809E1D4C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 004A0 809E1D50 14410007 */ bne $v0, $at, .L809E1D70
|
||||
/* 004A4 809E1D54 00A03025 */ or $a2, $a1, $zero ## $a2 = 00000000
|
||||
/* 004A8 809E1D58 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
|
||||
/* 004AC 809E1D5C 0C042DC8 */ jal func_8010B720
|
||||
/* 004B0 809E1D60 9605010E */ lhu $a1, 0x010E($s0) ## 0000010E
|
||||
/* 004B4 809E1D64 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001
|
||||
/* 004B8 809E1D68 10000040 */ beq $zero, $zero, .L809E1E6C
|
||||
/* 004BC 809E1D6C AE0E01E0 */ sw $t6, 0x01E0($s0) ## 000001E0
|
||||
.L809E1D70:
|
||||
/* 004C0 809E1D70 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
|
||||
/* 004C4 809E1D74 14410006 */ bne $v0, $at, .L809E1D90
|
||||
/* 004C8 809E1D78 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 004CC 809E1D7C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 004D0 809E1D80 0C2786E3 */ jal func_809E1B8C
|
||||
/* 004D4 809E1D84 00C02825 */ or $a1, $a2, $zero ## $a1 = 00000000
|
||||
/* 004D8 809E1D88 10000038 */ beq $zero, $zero, .L809E1E6C
|
||||
/* 004DC 809E1D8C AE0201E0 */ sw $v0, 0x01E0($s0) ## 000001E0
|
||||
.L809E1D90:
|
||||
/* 004E0 809E1D90 00C02825 */ or $a1, $a2, $zero ## $a1 = 00000000
|
||||
/* 004E4 809E1D94 0C00BC65 */ jal func_8002F194
|
||||
/* 004E8 809E1D98 AFA60034 */ sw $a2, 0x0034($sp)
|
||||
/* 004EC 809E1D9C 1040001E */ beq $v0, $zero, .L809E1E18
|
||||
/* 004F0 809E1DA0 8FA40034 */ lw $a0, 0x0034($sp)
|
||||
/* 004F4 809E1DA4 9602010E */ lhu $v0, 0x010E($s0) ## 0000010E
|
||||
/* 004F8 809E1DA8 24032022 */ addiu $v1, $zero, 0x2022 ## $v1 = 00002022
|
||||
/* 004FC 809E1DAC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00500 809E1DB0 10620005 */ beq $v1, $v0, .L809E1DC8
|
||||
/* 00504 809E1DB4 24050003 */ addiu $a1, $zero, 0x0003 ## $a1 = 00000003
|
||||
/* 00508 809E1DB8 10620006 */ beq $v1, $v0, .L809E1DD4
|
||||
/* 0050C 809E1DBC 24012028 */ addiu $at, $zero, 0x2028 ## $at = 00002028
|
||||
/* 00510 809E1DC0 50410005 */ beql $v0, $at, .L809E1DD8
|
||||
/* 00514 809E1DC4 24012023 */ addiu $at, $zero, 0x2023 ## $at = 00002023
|
||||
.L809E1DC8:
|
||||
/* 00518 809E1DC8 0C27862C */ jal func_809E18B0
|
||||
/* 0051C 809E1DCC 26060210 */ addiu $a2, $s0, 0x0210 ## $a2 = 00000210
|
||||
/* 00520 809E1DD0 9602010E */ lhu $v0, 0x010E($s0) ## 0000010E
|
||||
.L809E1DD4:
|
||||
/* 00524 809E1DD4 24012023 */ addiu $at, $zero, 0x2023 ## $at = 00002023
|
||||
.L809E1DD8:
|
||||
/* 00528 809E1DD8 10410003 */ beq $v0, $at, .L809E1DE8
|
||||
/* 0052C 809E1DDC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00530 809E1DE0 24012028 */ addiu $at, $zero, 0x2028 ## $at = 00002028
|
||||
/* 00534 809E1DE4 14410004 */ bne $v0, $at, .L809E1DF8
|
||||
.L809E1DE8:
|
||||
/* 00538 809E1DE8 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
|
||||
/* 0053C 809E1DEC 0C27862C */ jal func_809E18B0
|
||||
/* 00540 809E1DF0 26060210 */ addiu $a2, $s0, 0x0210 ## $a2 = 00000210
|
||||
/* 00544 809E1DF4 9602010E */ lhu $v0, 0x010E($s0) ## 0000010E
|
||||
.L809E1DF8:
|
||||
/* 00548 809E1DF8 24012023 */ addiu $at, $zero, 0x2023 ## $at = 00002023
|
||||
/* 0054C 809E1DFC 54410004 */ bnel $v0, $at, .L809E1E10
|
||||
/* 00550 809E1E00 240F0001 */ addiu $t7, $zero, 0x0001 ## $t7 = 00000001
|
||||
/* 00554 809E1E04 0C01E221 */ jal func_80078884
|
||||
/* 00558 809E1E08 24044807 */ addiu $a0, $zero, 0x4807 ## $a0 = 00004807
|
||||
/* 0055C 809E1E0C 240F0001 */ addiu $t7, $zero, 0x0001 ## $t7 = 00000001
|
||||
.L809E1E10:
|
||||
/* 00560 809E1E10 10000016 */ beq $zero, $zero, .L809E1E6C
|
||||
/* 00564 809E1E14 AE0F01E0 */ sw $t7, 0x01E0($s0) ## 000001E0
|
||||
.L809E1E18:
|
||||
/* 00568 809E1E18 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
|
||||
/* 0056C 809E1E1C 27A6002A */ addiu $a2, $sp, 0x002A ## $a2 = FFFFFFFA
|
||||
/* 00570 809E1E20 0C00BCDD */ jal func_8002F374
|
||||
/* 00574 809E1E24 27A70028 */ addiu $a3, $sp, 0x0028 ## $a3 = FFFFFFF8
|
||||
/* 00578 809E1E28 87A2002A */ lh $v0, 0x002A($sp)
|
||||
/* 0057C 809E1E2C 0440000F */ bltz $v0, .L809E1E6C
|
||||
/* 00580 809E1E30 28410141 */ slti $at, $v0, 0x0141
|
||||
/* 00584 809E1E34 1020000D */ beq $at, $zero, .L809E1E6C
|
||||
/* 00588 809E1E38 87A20028 */ lh $v0, 0x0028($sp)
|
||||
/* 0058C 809E1E3C 0440000B */ bltz $v0, .L809E1E6C
|
||||
/* 00590 809E1E40 284100F1 */ slti $at, $v0, 0x00F1
|
||||
/* 00594 809E1E44 10200009 */ beq $at, $zero, .L809E1E6C
|
||||
/* 00598 809E1E48 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 0059C 809E1E4C 8FA50034 */ lw $a1, 0x0034($sp)
|
||||
/* 005A0 809E1E50 0C00BCB3 */ jal func_8002F2CC
|
||||
/* 005A4 809E1E54 3C0642C8 */ lui $a2, 0x42C8 ## $a2 = 42C80000
|
||||
/* 005A8 809E1E58 10400004 */ beq $v0, $zero, .L809E1E6C
|
||||
/* 005AC 809E1E5C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 005B0 809E1E60 0C27872E */ jal func_809E1CB8
|
||||
/* 005B4 809E1E64 8FA50034 */ lw $a1, 0x0034($sp)
|
||||
/* 005B8 809E1E68 A602010E */ sh $v0, 0x010E($s0) ## 0000010E
|
||||
.L809E1E6C:
|
||||
/* 005BC 809E1E6C 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 005C0 809E1E70 8FB00018 */ lw $s0, 0x0018($sp)
|
||||
/* 005C4 809E1E74 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
|
||||
/* 005C8 809E1E78 03E00008 */ jr $ra
|
||||
/* 005CC 809E1E7C 00000000 */ nop
|
|
@ -1,5 +0,0 @@
|
|||
glabel func_809E1E80
|
||||
/* 005D0 809E1E80 000570C0 */ sll $t6, $a1, 3
|
||||
/* 005D4 809E1E84 01C47821 */ addu $t7, $t6, $a0
|
||||
/* 005D8 809E1E88 03E00008 */ jr $ra
|
||||
/* 005DC 809E1E8C 91E20000 */ lbu $v0, 0x0000($t7) ## 00000000
|
|
@ -1,37 +0,0 @@
|
|||
glabel func_809E1E90
|
||||
/* 005E0 809E1E90 000670C0 */ sll $t6, $a2, 3
|
||||
/* 005E4 809E1E94 008E7821 */ addu $t7, $a0, $t6
|
||||
/* 005E8 809E1E98 8DE80004 */ lw $t0, 0x0004($t7) ## 00000004
|
||||
/* 005EC 809E1E9C 3C0A8016 */ lui $t2, %hi(gSegments)
|
||||
/* 005F0 809E1EA0 3C0100FF */ lui $at, 0x00FF ## $at = 00FF0000
|
||||
/* 005F4 809E1EA4 0008C100 */ sll $t8, $t0, 4
|
||||
/* 005F8 809E1EA8 0018CF02 */ srl $t9, $t8, 28
|
||||
/* 005FC 809E1EAC 00194880 */ sll $t1, $t9, 2
|
||||
/* 00600 809E1EB0 01495021 */ addu $t2, $t2, $t1
|
||||
/* 00604 809E1EB4 8D4A6FA8 */ lw $t2, %lo(gSegments)($t2)
|
||||
/* 00608 809E1EB8 3421FFFF */ ori $at, $at, 0xFFFF ## $at = 00FFFFFF
|
||||
/* 0060C 809E1EBC 00076880 */ sll $t5, $a3, 2
|
||||
/* 00610 809E1EC0 01A76823 */ subu $t5, $t5, $a3
|
||||
/* 00614 809E1EC4 01015824 */ and $t3, $t0, $at
|
||||
/* 00618 809E1EC8 000D6840 */ sll $t5, $t5, 1
|
||||
/* 0061C 809E1ECC 014B6021 */ addu $t4, $t2, $t3
|
||||
/* 00620 809E1ED0 018D1821 */ addu $v1, $t4, $t5
|
||||
/* 00624 809E1ED4 3C018000 */ lui $at, 0x8000 ## $at = 80000000
|
||||
/* 00628 809E1ED8 00611821 */ addu $v1, $v1, $at
|
||||
/* 0062C 809E1EDC 846E0000 */ lh $t6, 0x0000($v1) ## 00000000
|
||||
/* 00630 809E1EE0 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
||||
/* 00634 809E1EE4 448E2000 */ mtc1 $t6, $f4 ## $f4 = 0.00
|
||||
/* 00638 809E1EE8 00000000 */ nop
|
||||
/* 0063C 809E1EEC 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* 00640 809E1EF0 E4A60000 */ swc1 $f6, 0x0000($a1) ## 00000000
|
||||
/* 00644 809E1EF4 846F0002 */ lh $t7, 0x0002($v1) ## 00000002
|
||||
/* 00648 809E1EF8 448F4000 */ mtc1 $t7, $f8 ## $f8 = 0.00
|
||||
/* 0064C 809E1EFC 00000000 */ nop
|
||||
/* 00650 809E1F00 468042A0 */ cvt.s.w $f10, $f8
|
||||
/* 00654 809E1F04 E4AA0004 */ swc1 $f10, 0x0004($a1) ## 00000004
|
||||
/* 00658 809E1F08 84780004 */ lh $t8, 0x0004($v1) ## 00000004
|
||||
/* 0065C 809E1F0C 44988000 */ mtc1 $t8, $f16 ## $f16 = 0.00
|
||||
/* 00660 809E1F10 00000000 */ nop
|
||||
/* 00664 809E1F14 468084A0 */ cvt.s.w $f18, $f16
|
||||
/* 00668 809E1F18 03E00008 */ jr $ra
|
||||
/* 0066C 809E1F1C E4B20008 */ swc1 $f18, 0x0008($a1) ## 00000008
|
|
@ -1,147 +0,0 @@
|
|||
.late_rodata
|
||||
glabel D_809E29CC
|
||||
.word 0x4622F983
|
||||
glabel D_809E29D0
|
||||
.word 0x41270A3D
|
||||
|
||||
.text
|
||||
glabel func_809E1F20
|
||||
/* 00670 809E1F20 27BDFF88 */ addiu $sp, $sp, 0xFF88 ## $sp = FFFFFF88
|
||||
/* 00674 809E1F24 AFBF004C */ sw $ra, 0x004C($sp)
|
||||
/* 00678 809E1F28 AFB20048 */ sw $s2, 0x0048($sp)
|
||||
/* 0067C 809E1F2C AFB10044 */ sw $s1, 0x0044($sp)
|
||||
/* 00680 809E1F30 AFB00040 */ sw $s0, 0x0040($sp)
|
||||
/* 00684 809E1F34 AFA5007C */ sw $a1, 0x007C($sp)
|
||||
/* 00688 809E1F38 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 0068C 809E1F3C F7BA0038 */ sdc1 $f26, 0x0038($sp)
|
||||
/* 00690 809E1F40 F7B80030 */ sdc1 $f24, 0x0030($sp)
|
||||
/* 00694 809E1F44 F7B60028 */ sdc1 $f22, 0x0028($sp)
|
||||
/* 00698 809E1F48 F7B40020 */ sdc1 $f20, 0x0020($sp)
|
||||
/* 0069C 809E1F4C 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
||||
/* 006A0 809E1F50 27B20064 */ addiu $s2, $sp, 0x0064 ## $s2 = FFFFFFEC
|
||||
/* 006A4 809E1F54 00A18821 */ addu $s1, $a1, $at
|
||||
/* 006A8 809E1F58 8E241E08 */ lw $a0, 0x1E08($s1) ## 00001E08
|
||||
/* 006AC 809E1F5C 02402825 */ or $a1, $s2, $zero ## $a1 = FFFFFFEC
|
||||
/* 006B0 809E1F60 8E0701FC */ lw $a3, 0x01FC($s0) ## 000001FC
|
||||
/* 006B4 809E1F64 0C2787A4 */ jal func_809E1E90
|
||||
/* 006B8 809E1F68 8E0601F4 */ lw $a2, 0x01F4($s0) ## 000001F4
|
||||
/* 006BC 809E1F6C C7A40064 */ lwc1 $f4, 0x0064($sp)
|
||||
/* 006C0 809E1F70 C6060024 */ lwc1 $f6, 0x0024($s0) ## 00000024
|
||||
/* 006C4 809E1F74 C7A8006C */ lwc1 $f8, 0x006C($sp)
|
||||
/* 006C8 809E1F78 C60A002C */ lwc1 $f10, 0x002C($s0) ## 0000002C
|
||||
/* 006CC 809E1F7C 46062501 */ sub.s $f20, $f4, $f6
|
||||
/* 006D0 809E1F80 460A4581 */ sub.s $f22, $f8, $f10
|
||||
/* 006D4 809E1F84 4600A306 */ mov.s $f12, $f20
|
||||
/* 006D8 809E1F88 0C03F494 */ jal Math_FAtan2F
|
||||
/* 006DC 809E1F8C 4600B386 */ mov.s $f14, $f22
|
||||
/* 006E0 809E1F90 3C01809E */ lui $at, %hi(D_809E29CC) ## $at = 809E0000
|
||||
/* 006E4 809E1F94 C43829CC */ lwc1 $f24, %lo(D_809E29CC)($at)
|
||||
/* 006E8 809E1F98 3C01809E */ lui $at, %hi(D_809E29D0) ## $at = 809E0000
|
||||
/* 006EC 809E1F9C C43A29D0 */ lwc1 $f26, %lo(D_809E29D0)($at)
|
||||
/* 006F0 809E1FA0 46180402 */ mul.s $f16, $f0, $f24
|
||||
/* 006F4 809E1FA4 00000000 */ nop
|
||||
/* 006F8 809E1FA8 4614A202 */ mul.s $f8, $f20, $f20
|
||||
/* 006FC 809E1FAC 00000000 */ nop
|
||||
/* 00700 809E1FB0 4616B282 */ mul.s $f10, $f22, $f22
|
||||
/* 00704 809E1FB4 4600848D */ trunc.w.s $f18, $f16
|
||||
/* 00708 809E1FB8 460A4000 */ add.s $f0, $f8, $f10
|
||||
/* 0070C 809E1FBC 440F9000 */ mfc1 $t7, $f18
|
||||
/* 00710 809E1FC0 46000004 */ sqrt.s $f0, $f0
|
||||
/* 00714 809E1FC4 000FC400 */ sll $t8, $t7, 16
|
||||
/* 00718 809E1FC8 0018CC03 */ sra $t9, $t8, 16
|
||||
/* 0071C 809E1FCC 44992000 */ mtc1 $t9, $f4 ## $f4 = 0.00
|
||||
/* 00720 809E1FD0 00000000 */ nop
|
||||
/* 00724 809E1FD4 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* 00728 809E1FD8 E6000208 */ swc1 $f0, 0x0208($s0) ## 00000208
|
||||
/* 0072C 809E1FDC 461A003E */ c.le.s $f0, $f26
|
||||
/* 00730 809E1FE0 E6060204 */ swc1 $f6, 0x0204($s0) ## 00000204
|
||||
/* 00734 809E1FE4 4500002E */ bc1f .L809E20A0
|
||||
/* 00738 809E1FE8 00000000 */ nop
|
||||
.L809E1FEC:
|
||||
/* 0073C 809E1FEC 8E0801FC */ lw $t0, 0x01FC($s0) ## 000001FC
|
||||
/* 00740 809E1FF0 8E0501F4 */ lw $a1, 0x01F4($s0) ## 000001F4
|
||||
/* 00744 809E1FF4 25090001 */ addiu $t1, $t0, 0x0001 ## $t1 = 00000001
|
||||
/* 00748 809E1FF8 AE0901FC */ sw $t1, 0x01FC($s0) ## 000001FC
|
||||
/* 0074C 809E1FFC 0C2787A0 */ jal func_809E1E80
|
||||
/* 00750 809E2000 8E241E08 */ lw $a0, 0x1E08($s1) ## 00001E08
|
||||
/* 00754 809E2004 8E0701FC */ lw $a3, 0x01FC($s0) ## 000001FC
|
||||
/* 00758 809E2008 02402825 */ or $a1, $s2, $zero ## $a1 = FFFFFFEC
|
||||
/* 0075C 809E200C 04E00003 */ bltz $a3, .L809E201C
|
||||
/* 00760 809E2010 00E2082A */ slt $at, $a3, $v0
|
||||
/* 00764 809E2014 54200004 */ bnel $at, $zero, .L809E2028
|
||||
/* 00768 809E2018 8E241E08 */ lw $a0, 0x1E08($s1) ## 00001E08
|
||||
.L809E201C:
|
||||
/* 0076C 809E201C AE0001FC */ sw $zero, 0x01FC($s0) ## 000001FC
|
||||
/* 00770 809E2020 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
|
||||
/* 00774 809E2024 8E241E08 */ lw $a0, 0x1E08($s1) ## 00001E08
|
||||
.L809E2028:
|
||||
/* 00778 809E2028 0C2787A4 */ jal func_809E1E90
|
||||
/* 0077C 809E202C 8E0601F4 */ lw $a2, 0x01F4($s0) ## 000001F4
|
||||
/* 00780 809E2030 C7B00064 */ lwc1 $f16, 0x0064($sp)
|
||||
/* 00784 809E2034 C6120024 */ lwc1 $f18, 0x0024($s0) ## 00000024
|
||||
/* 00788 809E2038 C7A4006C */ lwc1 $f4, 0x006C($sp)
|
||||
/* 0078C 809E203C C606002C */ lwc1 $f6, 0x002C($s0) ## 0000002C
|
||||
/* 00790 809E2040 46128501 */ sub.s $f20, $f16, $f18
|
||||
/* 00794 809E2044 46062581 */ sub.s $f22, $f4, $f6
|
||||
/* 00798 809E2048 4600A306 */ mov.s $f12, $f20
|
||||
/* 0079C 809E204C 0C03F494 */ jal Math_FAtan2F
|
||||
/* 007A0 809E2050 4600B386 */ mov.s $f14, $f22
|
||||
/* 007A4 809E2054 46180202 */ mul.s $f8, $f0, $f24
|
||||
/* 007A8 809E2058 00000000 */ nop
|
||||
/* 007AC 809E205C 4614A102 */ mul.s $f4, $f20, $f20
|
||||
/* 007B0 809E2060 00000000 */ nop
|
||||
/* 007B4 809E2064 4616B182 */ mul.s $f6, $f22, $f22
|
||||
/* 007B8 809E2068 4600428D */ trunc.w.s $f10, $f8
|
||||
/* 007BC 809E206C 46062000 */ add.s $f0, $f4, $f6
|
||||
/* 007C0 809E2070 440B5000 */ mfc1 $t3, $f10
|
||||
/* 007C4 809E2074 46000004 */ sqrt.s $f0, $f0
|
||||
/* 007C8 809E2078 000B6400 */ sll $t4, $t3, 16
|
||||
/* 007CC 809E207C 000C6C03 */ sra $t5, $t4, 16
|
||||
/* 007D0 809E2080 448D8000 */ mtc1 $t5, $f16 ## $f16 = 0.00
|
||||
/* 007D4 809E2084 00000000 */ nop
|
||||
/* 007D8 809E2088 468084A0 */ cvt.s.w $f18, $f16
|
||||
/* 007DC 809E208C E6000208 */ swc1 $f0, 0x0208($s0) ## 00000208
|
||||
/* 007E0 809E2090 461A003E */ c.le.s $f0, $f26
|
||||
/* 007E4 809E2094 E6120204 */ swc1 $f18, 0x0204($s0) ## 00000204
|
||||
/* 007E8 809E2098 4501FFD4 */ bc1t .L809E1FEC
|
||||
/* 007EC 809E209C 00000000 */ nop
|
||||
.L809E20A0:
|
||||
/* 007F0 809E20A0 C6080204 */ lwc1 $f8, 0x0204($s0) ## 00000204
|
||||
/* 007F4 809E20A4 AFA00010 */ sw $zero, 0x0010($sp)
|
||||
/* 007F8 809E20A8 260400B6 */ addiu $a0, $s0, 0x00B6 ## $a0 = 000000B6
|
||||
/* 007FC 809E20AC 4600428D */ trunc.w.s $f10, $f8
|
||||
/* 00800 809E20B0 24060001 */ addiu $a2, $zero, 0x0001 ## $a2 = 00000001
|
||||
/* 00804 809E20B4 240709C4 */ addiu $a3, $zero, 0x09C4 ## $a3 = 000009C4
|
||||
/* 00808 809E20B8 44055000 */ mfc1 $a1, $f10
|
||||
/* 0080C 809E20BC 00000000 */ nop
|
||||
/* 00810 809E20C0 00052C00 */ sll $a1, $a1, 16
|
||||
/* 00814 809E20C4 0C01E1A7 */ jal Math_SmoothStepToS
|
||||
|
||||
/* 00818 809E20C8 00052C03 */ sra $a1, $a1, 16
|
||||
/* 0081C 809E20CC 860F00B6 */ lh $t7, 0x00B6($s0) ## 000000B6
|
||||
/* 00820 809E20D0 C610020C */ lwc1 $f16, 0x020C($s0) ## 0000020C
|
||||
/* 00824 809E20D4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00828 809E20D8 A60F0032 */ sh $t7, 0x0032($s0) ## 00000032
|
||||
/* 0082C 809E20DC 0C00B638 */ jal Actor_MoveForward
|
||||
|
||||
/* 00830 809E20E0 E6100068 */ swc1 $f16, 0x0068($s0) ## 00000068
|
||||
/* 00834 809E20E4 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
|
||||
/* 00838 809E20E8 24180004 */ addiu $t8, $zero, 0x0004 ## $t8 = 00000004
|
||||
/* 0083C 809E20EC AFB80014 */ sw $t8, 0x0014($sp)
|
||||
/* 00840 809E20F0 44060000 */ mfc1 $a2, $f0
|
||||
/* 00844 809E20F4 44070000 */ mfc1 $a3, $f0
|
||||
/* 00848 809E20F8 8FA4007C */ lw $a0, 0x007C($sp)
|
||||
/* 0084C 809E20FC 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
|
||||
/* 00850 809E2100 0C00B92D */ jal Actor_UpdateBgCheckInfo
|
||||
/* 00854 809E2104 E7A00010 */ swc1 $f0, 0x0010($sp)
|
||||
/* 00858 809E2108 8FBF004C */ lw $ra, 0x004C($sp)
|
||||
/* 0085C 809E210C D7B40020 */ ldc1 $f20, 0x0020($sp)
|
||||
/* 00860 809E2110 D7B60028 */ ldc1 $f22, 0x0028($sp)
|
||||
/* 00864 809E2114 D7B80030 */ ldc1 $f24, 0x0030($sp)
|
||||
/* 00868 809E2118 D7BA0038 */ ldc1 $f26, 0x0038($sp)
|
||||
/* 0086C 809E211C 8FB00040 */ lw $s0, 0x0040($sp)
|
||||
/* 00870 809E2120 8FB10044 */ lw $s1, 0x0044($sp)
|
||||
/* 00874 809E2124 8FB20048 */ lw $s2, 0x0048($sp)
|
||||
/* 00878 809E2128 27BD0078 */ addiu $sp, $sp, 0x0078 ## $sp = 00000000
|
||||
/* 0087C 809E212C 03E00008 */ jr $ra
|
||||
/* 00880 809E2130 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
|
@ -1,125 +0,0 @@
|
|||
glabel func_809E2134
|
||||
/* 00884 809E2134 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 00888 809E2138 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 0088C 809E213C AFA5001C */ sw $a1, 0x001C($sp)
|
||||
/* 00890 809E2140 8C8E01E0 */ lw $t6, 0x01E0($a0) ## 000001E0
|
||||
/* 00894 809E2144 3C0F809E */ lui $t7, %hi(func_809E2360) ## $t7 = 809E0000
|
||||
/* 00898 809E2148 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000
|
||||
/* 0089C 809E214C 11C00003 */ beq $t6, $zero, .L809E215C
|
||||
/* 008A0 809E2150 25EF2360 */ addiu $t7, $t7, %lo(func_809E2360) ## $t7 = 809E2360
|
||||
/* 008A4 809E2154 1000005B */ beq $zero, $zero, .L809E22C4
|
||||
/* 008A8 809E2158 AC8F0190 */ sw $t7, 0x0190($a0) ## 00000190
|
||||
.L809E215C:
|
||||
/* 008AC 809E215C 24E4014C */ addiu $a0, $a3, 0x014C ## $a0 = 0000014C
|
||||
/* 008B0 809E2160 0C02927F */ jal SkelAnime_Update
|
||||
|
||||
/* 008B4 809E2164 AFA70018 */ sw $a3, 0x0018($sp)
|
||||
/* 008B8 809E2168 1040003B */ beq $v0, $zero, .L809E2258
|
||||
/* 008BC 809E216C 8FA70018 */ lw $a3, 0x0018($sp)
|
||||
/* 008C0 809E2170 8CF801E0 */ lw $t8, 0x01E0($a3) ## 000001E0
|
||||
/* 008C4 809E2174 8CE50210 */ lw $a1, 0x0210($a3) ## 00000210
|
||||
/* 008C8 809E2178 3C198016 */ lui $t9, %hi(gSaveContext+0xef6)
|
||||
/* 008CC 809E217C 57000032 */ bnel $t8, $zero, .L809E2248
|
||||
/* 008D0 809E2180 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000
|
||||
/* 008D4 809E2184 9739F556 */ lhu $t9, %lo(gSaveContext+0xef6)($t9)
|
||||
/* 008D8 809E2188 33280400 */ andi $t0, $t9, 0x0400 ## $t0 = 00000000
|
||||
/* 008DC 809E218C 1100000B */ beq $t0, $zero, .L809E21BC
|
||||
/* 008E0 809E2190 00000000 */ nop
|
||||
/* 008E4 809E2194 0C03F66B */ jal Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 008E8 809E2198 AFA70018 */ sw $a3, 0x0018($sp)
|
||||
/* 008EC 809E219C 3C014120 */ lui $at, 0x4120 ## $at = 41200000
|
||||
/* 008F0 809E21A0 44812000 */ mtc1 $at, $f4 ## $f4 = 10.00
|
||||
/* 008F4 809E21A4 8FA70018 */ lw $a3, 0x0018($sp)
|
||||
/* 008F8 809E21A8 46040182 */ mul.s $f6, $f0, $f4
|
||||
/* 008FC 809E21AC 4600320D */ trunc.w.s $f8, $f6
|
||||
/* 00900 809E21B0 44024000 */ mfc1 $v0, $f8
|
||||
/* 00904 809E21B4 1000000A */ beq $zero, $zero, .L809E21E0
|
||||
/* 00908 809E21B8 00000000 */ nop
|
||||
.L809E21BC:
|
||||
/* 0090C 809E21BC 0C03F66B */ jal Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 00910 809E21C0 AFA70018 */ sw $a3, 0x0018($sp)
|
||||
/* 00914 809E21C4 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000
|
||||
/* 00918 809E21C8 44815000 */ mtc1 $at, $f10 ## $f10 = 5.00
|
||||
/* 0091C 809E21CC 8FA70018 */ lw $a3, 0x0018($sp)
|
||||
/* 00920 809E21D0 460A0402 */ mul.s $f16, $f0, $f10
|
||||
/* 00924 809E21D4 4600848D */ trunc.w.s $f18, $f16
|
||||
/* 00928 809E21D8 44029000 */ mfc1 $v0, $f18
|
||||
/* 0092C 809E21DC 00000000 */ nop
|
||||
.L809E21E0:
|
||||
/* 00930 809E21E0 14400018 */ bne $v0, $zero, .L809E2244
|
||||
/* 00934 809E21E4 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
|
||||
/* 00938 809E21E8 3C0B8016 */ lui $t3, %hi(gSaveContext+0xef6)
|
||||
/* 0093C 809E21EC 956BF556 */ lhu $t3, %lo(gSaveContext+0xef6)($t3)
|
||||
/* 00940 809E21F0 24050002 */ addiu $a1, $zero, 0x0002 ## $a1 = 00000002
|
||||
/* 00944 809E21F4 316C0400 */ andi $t4, $t3, 0x0400 ## $t4 = 00000000
|
||||
/* 00948 809E21F8 1180000E */ beq $t4, $zero, .L809E2234
|
||||
/* 0094C 809E21FC 00000000 */ nop
|
||||
/* 00950 809E2200 0C03F66B */ jal Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 00954 809E2204 AFA70018 */ sw $a3, 0x0018($sp)
|
||||
/* 00958 809E2208 46000100 */ add.s $f4, $f0, $f0
|
||||
/* 0095C 809E220C 8FA70018 */ lw $a3, 0x0018($sp)
|
||||
/* 00960 809E2210 4600218D */ trunc.w.s $f6, $f4
|
||||
/* 00964 809E2214 440E3000 */ mfc1 $t6, $f6
|
||||
/* 00968 809E2218 00000000 */ nop
|
||||
/* 0096C 809E221C 15C00003 */ bne $t6, $zero, .L809E222C
|
||||
/* 00970 809E2220 00000000 */ nop
|
||||
/* 00974 809E2224 10000003 */ beq $zero, $zero, .L809E2234
|
||||
/* 00978 809E2228 24050002 */ addiu $a1, $zero, 0x0002 ## $a1 = 00000002
|
||||
.L809E222C:
|
||||
/* 0097C 809E222C 10000001 */ beq $zero, $zero, .L809E2234
|
||||
/* 00980 809E2230 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
|
||||
.L809E2234:
|
||||
/* 00984 809E2234 3C0F809E */ lui $t7, %hi(func_809E22D4) ## $t7 = 809E0000
|
||||
/* 00988 809E2238 25EF22D4 */ addiu $t7, $t7, %lo(func_809E22D4) ## $t7 = 809E22D4
|
||||
/* 0098C 809E223C 10000001 */ beq $zero, $zero, .L809E2244
|
||||
/* 00990 809E2240 ACEF0190 */ sw $t7, 0x0190($a3) ## 00000190
|
||||
.L809E2244:
|
||||
/* 00994 809E2244 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000
|
||||
.L809E2248:
|
||||
/* 00998 809E2248 24E60210 */ addiu $a2, $a3, 0x0210 ## $a2 = 00000210
|
||||
/* 0099C 809E224C 0C27862C */ jal func_809E18B0
|
||||
/* 009A0 809E2250 AFA70018 */ sw $a3, 0x0018($sp)
|
||||
/* 009A4 809E2254 8FA70018 */ lw $a3, 0x0018($sp)
|
||||
.L809E2258:
|
||||
/* 009A8 809E2258 8CF801E0 */ lw $t8, 0x01E0($a3) ## 000001E0
|
||||
/* 009AC 809E225C 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000
|
||||
/* 009B0 809E2260 57000019 */ bnel $t8, $zero, .L809E22C8
|
||||
/* 009B4 809E2264 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 009B8 809E2268 C4E80164 */ lwc1 $f8, 0x0164($a3) ## 00000164
|
||||
/* 009BC 809E226C 4600428D */ trunc.w.s $f10, $f8
|
||||
/* 009C0 809E2270 44025000 */ mfc1 $v0, $f10
|
||||
/* 009C4 809E2274 00000000 */ nop
|
||||
/* 009C8 809E2278 28410008 */ slti $at, $v0, 0x0008
|
||||
/* 009CC 809E227C 14200002 */ bne $at, $zero, .L809E2288
|
||||
/* 009D0 809E2280 28410010 */ slti $at, $v0, 0x0010
|
||||
/* 009D4 809E2284 14200007 */ bne $at, $zero, .L809E22A4
|
||||
.L809E2288:
|
||||
/* 009D8 809E2288 28410017 */ slti $at, $v0, 0x0017
|
||||
/* 009DC 809E228C 14200003 */ bne $at, $zero, .L809E229C
|
||||
/* 009E0 809E2290 2841001E */ slti $at, $v0, 0x001E
|
||||
/* 009E4 809E2294 54200004 */ bnel $at, $zero, .L809E22A8
|
||||
/* 009E8 809E2298 44808000 */ mtc1 $zero, $f16 ## $f16 = 0.00
|
||||
.L809E229C:
|
||||
/* 009EC 809E229C 14400004 */ bne $v0, $zero, .L809E22B0
|
||||
/* 009F0 809E22A0 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
|
||||
.L809E22A4:
|
||||
/* 009F4 809E22A4 44808000 */ mtc1 $zero, $f16 ## $f16 = 0.00
|
||||
.L809E22A8:
|
||||
/* 009F8 809E22A8 10000004 */ beq $zero, $zero, .L809E22BC
|
||||
/* 009FC 809E22AC E4F0020C */ swc1 $f16, 0x020C($a3) ## 0000020C
|
||||
.L809E22B0:
|
||||
/* 00A00 809E22B0 44819000 */ mtc1 $at, $f18 ## $f18 = 1.00
|
||||
/* 00A04 809E22B4 00000000 */ nop
|
||||
/* 00A08 809E22B8 E4F2020C */ swc1 $f18, 0x020C($a3) ## 0000020C
|
||||
.L809E22BC:
|
||||
/* 00A0C 809E22BC 0C2787C8 */ jal func_809E1F20
|
||||
/* 00A10 809E22C0 8FA5001C */ lw $a1, 0x001C($sp)
|
||||
.L809E22C4:
|
||||
/* 00A14 809E22C4 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
.L809E22C8:
|
||||
/* 00A18 809E22C8 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 00A1C 809E22CC 03E00008 */ jr $ra
|
||||
/* 00A20 809E22D0 00000000 */ nop
|
|
@ -1,41 +0,0 @@
|
|||
glabel func_809E22D4
|
||||
/* 00A24 809E22D4 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 00A28 809E22D8 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00A2C 809E22DC AFA5001C */ sw $a1, 0x001C($sp)
|
||||
/* 00A30 809E22E0 8C8E01E0 */ lw $t6, 0x01E0($a0) ## 000001E0
|
||||
/* 00A34 809E22E4 3C0F809E */ lui $t7, %hi(func_809E2360) ## $t7 = 809E0000
|
||||
/* 00A38 809E22E8 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000
|
||||
/* 00A3C 809E22EC 11C00003 */ beq $t6, $zero, .L809E22FC
|
||||
/* 00A40 809E22F0 25EF2360 */ addiu $t7, $t7, %lo(func_809E2360) ## $t7 = 809E2360
|
||||
/* 00A44 809E22F4 10000016 */ beq $zero, $zero, .L809E2350
|
||||
/* 00A48 809E22F8 AC8F0190 */ sw $t7, 0x0190($a0) ## 00000190
|
||||
.L809E22FC:
|
||||
/* 00A4C 809E22FC 24E4014C */ addiu $a0, $a3, 0x014C ## $a0 = 0000014C
|
||||
/* 00A50 809E2300 0C02927F */ jal SkelAnime_Update
|
||||
|
||||
/* 00A54 809E2304 AFA70018 */ sw $a3, 0x0018($sp)
|
||||
/* 00A58 809E2308 10400011 */ beq $v0, $zero, .L809E2350
|
||||
/* 00A5C 809E230C 8FA70018 */ lw $a3, 0x0018($sp)
|
||||
/* 00A60 809E2310 8CF801E0 */ lw $t8, 0x01E0($a3) ## 000001E0
|
||||
/* 00A64 809E2314 8CE50210 */ lw $a1, 0x0210($a3) ## 00000210
|
||||
/* 00A68 809E2318 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000
|
||||
/* 00A6C 809E231C 1700000A */ bne $t8, $zero, .L809E2348
|
||||
/* 00A70 809E2320 00000000 */ nop
|
||||
/* 00A74 809E2324 8CE20200 */ lw $v0, 0x0200($a3) ## 00000200
|
||||
/* 00A78 809E2328 3C08809E */ lui $t0, %hi(func_809E2134) ## $t0 = 809E0000
|
||||
/* 00A7C 809E232C 25082134 */ addiu $t0, $t0, %lo(func_809E2134) ## $t0 = 809E2134
|
||||
/* 00A80 809E2330 18400003 */ blez $v0, .L809E2340
|
||||
/* 00A84 809E2334 2459FFFF */ addiu $t9, $v0, 0xFFFF ## $t9 = FFFFFFFF
|
||||
/* 00A88 809E2338 10000003 */ beq $zero, $zero, .L809E2348
|
||||
/* 00A8C 809E233C ACF90200 */ sw $t9, 0x0200($a3) ## 00000200
|
||||
.L809E2340:
|
||||
/* 00A90 809E2340 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
|
||||
/* 00A94 809E2344 ACE80190 */ sw $t0, 0x0190($a3) ## 00000190
|
||||
.L809E2348:
|
||||
/* 00A98 809E2348 0C27862C */ jal func_809E18B0
|
||||
/* 00A9C 809E234C 24E60210 */ addiu $a2, $a3, 0x0210 ## $a2 = 00000210
|
||||
.L809E2350:
|
||||
/* 00AA0 809E2350 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00AA4 809E2354 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 00AA8 809E2358 03E00008 */ jr $ra
|
||||
/* 00AAC 809E235C 00000000 */ nop
|
|
@ -1,53 +0,0 @@
|
|||
glabel func_809E2360
|
||||
/* 00AB0 809E2360 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
|
||||
/* 00AB4 809E2364 AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 00AB8 809E2368 AFB00018 */ sw $s0, 0x0018($sp)
|
||||
/* 00ABC 809E236C 8CA31C44 */ lw $v1, 0x1C44($a1) ## 00001C44
|
||||
/* 00AC0 809E2370 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00AC4 809E2374 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
|
||||
/* 00AC8 809E2378 0C02927F */ jal SkelAnime_Update
|
||||
|
||||
/* 00ACC 809E237C AFA30024 */ sw $v1, 0x0024($sp)
|
||||
/* 00AD0 809E2380 10400007 */ beq $v0, $zero, .L809E23A0
|
||||
/* 00AD4 809E2384 8FA30024 */ lw $v1, 0x0024($sp)
|
||||
/* 00AD8 809E2388 8E050210 */ lw $a1, 0x0210($s0) ## 00000210
|
||||
/* 00ADC 809E238C AFA30024 */ sw $v1, 0x0024($sp)
|
||||
/* 00AE0 809E2390 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00AE4 809E2394 0C27862C */ jal func_809E18B0
|
||||
/* 00AE8 809E2398 26060210 */ addiu $a2, $s0, 0x0210 ## $a2 = 00000210
|
||||
/* 00AEC 809E239C 8FA30024 */ lw $v1, 0x0024($sp)
|
||||
.L809E23A0:
|
||||
/* 00AF0 809E23A0 8E0E0280 */ lw $t6, 0x0280($s0) ## 00000280
|
||||
/* 00AF4 809E23A4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00AF8 809E23A8 26050258 */ addiu $a1, $s0, 0x0258 ## $a1 = 00000258
|
||||
/* 00AFC 809E23AC 35CF0001 */ ori $t7, $t6, 0x0001 ## $t7 = 00000001
|
||||
/* 00B00 809E23B0 AE0F0280 */ sw $t7, 0x0280($s0) ## 00000280
|
||||
/* 00B04 809E23B4 C4640038 */ lwc1 $f4, 0x0038($v1) ## 00000038
|
||||
/* 00B08 809E23B8 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
|
||||
/* 00B0C 809E23BC 24070004 */ addiu $a3, $zero, 0x0004 ## $a3 = 00000004
|
||||
/* 00B10 809E23C0 E6040270 */ swc1 $f4, 0x0270($s0) ## 00000270
|
||||
/* 00B14 809E23C4 C466003C */ lwc1 $f6, 0x003C($v1) ## 0000003C
|
||||
/* 00B18 809E23C8 E6060274 */ swc1 $f6, 0x0274($s0) ## 00000274
|
||||
/* 00B1C 809E23CC C4680040 */ lwc1 $f8, 0x0040($v1) ## 00000040
|
||||
/* 00B20 809E23D0 0C00D285 */ jal func_80034A14
|
||||
/* 00B24 809E23D4 E6080278 */ swc1 $f8, 0x0278($s0) ## 00000278
|
||||
/* 00B28 809E23D8 8E1801E0 */ lw $t8, 0x01E0($s0) ## 000001E0
|
||||
/* 00B2C 809E23DC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00B30 809E23E0 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
|
||||
/* 00B34 809E23E4 5700000B */ bnel $t8, $zero, .L809E2414
|
||||
/* 00B38 809E23E8 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 00B3C 809E23EC 0C27862C */ jal func_809E18B0
|
||||
/* 00B40 809E23F0 26060210 */ addiu $a2, $s0, 0x0210 ## $a2 = 00000210
|
||||
/* 00B44 809E23F4 8E080280 */ lw $t0, 0x0280($s0) ## 00000280
|
||||
/* 00B48 809E23F8 3C19809E */ lui $t9, %hi(func_809E2134) ## $t9 = 809E0000
|
||||
/* 00B4C 809E23FC 2401FFFE */ addiu $at, $zero, 0xFFFE ## $at = FFFFFFFE
|
||||
/* 00B50 809E2400 27392134 */ addiu $t9, $t9, %lo(func_809E2134) ## $t9 = 809E2134
|
||||
/* 00B54 809E2404 01014824 */ and $t1, $t0, $at
|
||||
/* 00B58 809E2408 AE190190 */ sw $t9, 0x0190($s0) ## 00000190
|
||||
/* 00B5C 809E240C AE090280 */ sw $t1, 0x0280($s0) ## 00000280
|
||||
/* 00B60 809E2410 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
.L809E2414:
|
||||
/* 00B64 809E2414 8FB00018 */ lw $s0, 0x0018($sp)
|
||||
/* 00B68 809E2418 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
|
||||
/* 00B6C 809E241C 03E00008 */ jr $ra
|
||||
/* 00B70 809E2420 00000000 */ nop
|
|
@ -1,40 +0,0 @@
|
|||
glabel func_809E2784
|
||||
/* 00ED4 809E2784 AFA40000 */ sw $a0, 0x0000($sp)
|
||||
/* 00ED8 809E2788 8FA40014 */ lw $a0, 0x0014($sp)
|
||||
/* 00EDC 809E278C AFA60008 */ sw $a2, 0x0008($sp)
|
||||
/* 00EE0 809E2790 AFA7000C */ sw $a3, 0x000C($sp)
|
||||
/* 00EE4 809E2794 8C8E0280 */ lw $t6, 0x0280($a0) ## 00000280
|
||||
/* 00EE8 809E2798 24010008 */ addiu $at, $zero, 0x0008 ## $at = 00000008
|
||||
/* 00EEC 809E279C 31CF0001 */ andi $t7, $t6, 0x0001 ## $t7 = 00000000
|
||||
/* 00EF0 809E27A0 11E0001A */ beq $t7, $zero, .L809E280C
|
||||
/* 00EF4 809E27A4 00000000 */ nop
|
||||
/* 00EF8 809E27A8 10A10006 */ beq $a1, $at, .L809E27C4
|
||||
/* 00EFC 809E27AC 8FA20010 */ lw $v0, 0x0010($sp)
|
||||
/* 00F00 809E27B0 2401000F */ addiu $at, $zero, 0x000F ## $at = 0000000F
|
||||
/* 00F04 809E27B4 10A1000D */ beq $a1, $at, .L809E27EC
|
||||
/* 00F08 809E27B8 8FA20010 */ lw $v0, 0x0010($sp)
|
||||
/* 00F0C 809E27BC 03E00008 */ jr $ra
|
||||
/* 00F10 809E27C0 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
||||
.L809E27C4:
|
||||
/* 00F14 809E27C4 84580000 */ lh $t8, 0x0000($v0) ## 00000000
|
||||
/* 00F18 809E27C8 84990268 */ lh $t9, 0x0268($a0) ## 00000268
|
||||
/* 00F1C 809E27CC 84490002 */ lh $t1, 0x0002($v0) ## 00000002
|
||||
/* 00F20 809E27D0 03194021 */ addu $t0, $t8, $t9
|
||||
/* 00F24 809E27D4 A4480000 */ sh $t0, 0x0000($v0) ## 00000000
|
||||
/* 00F28 809E27D8 848A0266 */ lh $t2, 0x0266($a0) ## 00000266
|
||||
/* 00F2C 809E27DC 012A5823 */ subu $t3, $t1, $t2
|
||||
/* 00F30 809E27E0 A44B0002 */ sh $t3, 0x0002($v0) ## 00000002
|
||||
/* 00F34 809E27E4 03E00008 */ jr $ra
|
||||
/* 00F38 809E27E8 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
||||
.L809E27EC:
|
||||
/* 00F3C 809E27EC 844C0000 */ lh $t4, 0x0000($v0) ## 00000000
|
||||
/* 00F40 809E27F0 848D0262 */ lh $t5, 0x0262($a0) ## 00000262
|
||||
/* 00F44 809E27F4 844F0004 */ lh $t7, 0x0004($v0) ## 00000004
|
||||
/* 00F48 809E27F8 018D7021 */ addu $t6, $t4, $t5
|
||||
/* 00F4C 809E27FC A44E0000 */ sh $t6, 0x0000($v0) ## 00000000
|
||||
/* 00F50 809E2800 84980260 */ lh $t8, 0x0260($a0) ## 00000260
|
||||
/* 00F54 809E2804 01F8C821 */ addu $t9, $t7, $t8
|
||||
/* 00F58 809E2808 A4590004 */ sh $t9, 0x0004($v0) ## 00000004
|
||||
.L809E280C:
|
||||
/* 00F5C 809E280C 03E00008 */ jr $ra
|
||||
/* 00F60 809E2810 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
|
@ -1,42 +0,0 @@
|
|||
.late_rodata
|
||||
glabel D_809E29D4
|
||||
.word 0x3FDF66F3, 0x00000000, 0x00000000
|
||||
|
||||
.text
|
||||
glabel func_809E2814
|
||||
/* 00F64 809E2814 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 00F68 809E2818 2401000F */ addiu $at, $zero, 0x000F ## $at = 0000000F
|
||||
/* 00F6C 809E281C AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00F70 809E2820 AFA40018 */ sw $a0, 0x0018($sp)
|
||||
/* 00F74 809E2824 AFA60020 */ sw $a2, 0x0020($sp)
|
||||
/* 00F78 809E2828 14A10019 */ bne $a1, $at, .L809E2890
|
||||
/* 00F7C 809E282C AFA70024 */ sw $a3, 0x0024($sp)
|
||||
/* 00F80 809E2830 8FA50028 */ lw $a1, 0x0028($sp)
|
||||
/* 00F84 809E2834 3C04809E */ lui $a0, %hi(D_809E2970) ## $a0 = 809E0000
|
||||
/* 00F88 809E2838 24842970 */ addiu $a0, $a0, %lo(D_809E2970) ## $a0 = 809E2970
|
||||
/* 00F8C 809E283C 0C0346BD */ jal Matrix_MultVec3f
|
||||
/* 00F90 809E2840 24A50038 */ addiu $a1, $a1, 0x0038 ## $a1 = 00000038
|
||||
/* 00F94 809E2844 44806000 */ mtc1 $zero, $f12 ## $f12 = 0.00
|
||||
/* 00F98 809E2848 3C01C348 */ lui $at, 0xC348 ## $at = C3480000
|
||||
/* 00F9C 809E284C 44817000 */ mtc1 $at, $f14 ## $f14 = -200.00
|
||||
/* 00FA0 809E2850 44066000 */ mfc1 $a2, $f12
|
||||
/* 00FA4 809E2854 0C034261 */ jal Matrix_Translate
|
||||
/* 00FA8 809E2858 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
|
||||
/* 00FAC 809E285C 44806000 */ mtc1 $zero, $f12 ## $f12 = 0.00
|
||||
/* 00FB0 809E2860 0C034348 */ jal Matrix_RotateY
|
||||
/* 00FB4 809E2864 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
|
||||
/* 00FB8 809E2868 44806000 */ mtc1 $zero, $f12 ## $f12 = 0.00
|
||||
/* 00FBC 809E286C 0C0342DC */ jal Matrix_RotateX
|
||||
/* 00FC0 809E2870 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
|
||||
/* 00FC4 809E2874 3C01809E */ lui $at, %hi(D_809E29D4) ## $at = 809E0000
|
||||
/* 00FC8 809E2878 C42C29D4 */ lwc1 $f12, %lo(D_809E29D4)($at)
|
||||
/* 00FCC 809E287C 0C0343B5 */ jal Matrix_RotateZ
|
||||
/* 00FD0 809E2880 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
|
||||
/* 00FD4 809E2884 8FA40028 */ lw $a0, 0x0028($sp)
|
||||
/* 00FD8 809E2888 0C034236 */ jal Matrix_Get
|
||||
/* 00FDC 809E288C 24840218 */ addiu $a0, $a0, 0x0218 ## $a0 = 00000218
|
||||
.L809E2890:
|
||||
/* 00FE0 809E2890 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00FE4 809E2894 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 00FE8 809E2898 03E00008 */ jr $ra
|
||||
/* 00FEC 809E289C 00000000 */ nop
|
|
@ -1,32 +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_Cs_InitVars
|
||||
.word 0x016C0400, 0x00000009, 0x01450000, 0x00000344
|
||||
.word EnCs_Init
|
||||
.word EnCs_Destroy
|
||||
.word EnCs_Update
|
||||
.word EnCs_Draw
|
||||
glabel D_809E28C0
|
||||
.word 0x0A000039, 0x20010000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000100, 0x0012003F, 0x00000000, 0x00000000
|
||||
glabel D_809E28EC
|
||||
.word 0x00000000, 0x00000000, 0xFF000000
|
||||
glabel D_809E28F8
|
||||
.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000
|
||||
glabel D_809E2918
|
||||
.word 0x06000700, 0x3F800000, 0x02000000, 0xC1200000, 0x06000E10, 0x3F800000, 0x02000000, 0xC1200000, 0x06001588, 0x3F800000, 0x02000000, 0xC1200000, 0x0600195C, 0x3F800000, 0x02000000, 0xC1200000
|
||||
glabel D_809E2958
|
||||
.word 0x00000046, 0x00000001, 0x00000001
|
||||
glabel D_809E2964
|
||||
.word 0x06002130, 0x06002930, 0x06003130
|
||||
glabel D_809E2970
|
||||
.word 0x43FA0000, 0x44480000, 0x00000000, 0x00000000
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purpose registers
|
||||
|
||||
.section .rodata
|
||||
|
||||
.balign 16
|
||||
|
||||
glabel D_809E29E0
|
||||
.incbin "baserom/ovl_En_Cs", 0x1130, 0x00000150
|
3
spec
3
spec
|
@ -2041,8 +2041,7 @@ endseg
|
|||
beginseg
|
||||
name "ovl_En_Cs"
|
||||
include "build/src/overlays/actors/ovl_En_Cs/z_en_cs.o"
|
||||
include "build/data/overlays/actors/z_en_cs.data.o"
|
||||
include "build/data/overlays/actors/z_en_cs.reloc.o"
|
||||
include "build/src/overlays/actors/ovl_En_Cs/ovl_En_Cs_reloc.o"
|
||||
endseg
|
||||
|
||||
beginseg
|
||||
|
|
|
@ -9,10 +9,15 @@ void EnCs_Destroy(Actor* thisx, GlobalContext* globalCtx);
|
|||
void EnCs_Update(Actor* thisx, GlobalContext* globalCtx);
|
||||
void EnCs_Draw(Actor* thisx, GlobalContext* globalCtx);
|
||||
|
||||
extern UNK_TYPE D_06008540;
|
||||
extern UNK_TYPE D_0602AF70;
|
||||
void EnCs_Walk(EnCs* this, GlobalContext* globalCtx);
|
||||
void EnCs_Talk(EnCs* this, GlobalContext* globalCtx);
|
||||
void EnCs_Wait(EnCs* this, GlobalContext* globalCtx);
|
||||
s32 EnCs_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* pos, Vec3s* rot, void* thisx);
|
||||
void EnCs_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx);
|
||||
|
||||
extern FlexSkeletonHeader D_06008540; // Graveyard boy skeleton
|
||||
extern Gfx D_0602AF70[]; // Spooky Mask in Child Link's object
|
||||
|
||||
/*
|
||||
const ActorInit En_Cs_InitVars = {
|
||||
ACTOR_EN_CS,
|
||||
ACTORCAT_NPC,
|
||||
|
@ -25,7 +30,7 @@ const ActorInit En_Cs_InitVars = {
|
|||
(ActorFunc)EnCs_Draw,
|
||||
};
|
||||
|
||||
static ColliderCylinderInit D_809E28C0 = {
|
||||
static ColliderCylinderInit sCylinderInit = {
|
||||
{
|
||||
COLTYPE_NONE,
|
||||
AT_NONE,
|
||||
|
@ -44,35 +49,432 @@ static ColliderCylinderInit D_809E28C0 = {
|
|||
},
|
||||
{ 18, 63, 0, { 0, 0, 0 } },
|
||||
};
|
||||
*/
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Cs/func_809E18B0.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Cs/EnCs_Init.s")
|
||||
static CollisionCheckInfoInit2 sColChkInfoInit2 = { 0, 0, 0, 0, MASS_IMMOVABLE };
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Cs/EnCs_Destroy.s")
|
||||
static DamageTable sDamageTable = { 0 };
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Cs/func_809E1B8C.s")
|
||||
static struct_D_80AA1678 sAnimations[] = {
|
||||
{ 0x06000700, 1.0f, ANIMMODE_ONCE, -10.0f },
|
||||
{ 0x06000E10, 1.0f, ANIMMODE_ONCE, -10.0f },
|
||||
{ 0x06001588, 1.0f, ANIMMODE_ONCE, -10.0f },
|
||||
{ 0x0600195C, 1.0f, ANIMMODE_ONCE, -10.0f },
|
||||
};
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Cs/func_809E1CB8.s")
|
||||
void EnCs_SetAnimFromIndex(EnCs* this, s32 animIndex, s32* currentAnimIndex) {
|
||||
f32 morphFrames;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Cs/func_809E1D38.s")
|
||||
if ((*currentAnimIndex < 0) || (animIndex == *currentAnimIndex)) {
|
||||
morphFrames = 0.0f;
|
||||
} else {
|
||||
morphFrames = sAnimations[animIndex].transitionRate;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Cs/func_809E1E80.s")
|
||||
if (sAnimations[animIndex].frameCount >= 0.0f) {
|
||||
Animation_Change(&this->skelAnime, sAnimations[animIndex].animation, sAnimations[animIndex].frameCount, 0.0f,
|
||||
Animation_GetLastFrame(sAnimations[animIndex].animation), sAnimations[animIndex].mode,
|
||||
morphFrames);
|
||||
} else {
|
||||
Animation_Change(&this->skelAnime, sAnimations[animIndex].animation, sAnimations[animIndex].frameCount,
|
||||
Animation_GetLastFrame(sAnimations[animIndex].animation), 0.0f, sAnimations[animIndex].mode,
|
||||
morphFrames);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Cs/func_809E1E90.s")
|
||||
*currentAnimIndex = animIndex;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Cs/func_809E1F20.s")
|
||||
void EnCs_Init(Actor* thisx, GlobalContext* globalCtx) {
|
||||
EnCs* this = THIS;
|
||||
s32 pad;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Cs/func_809E2134.s")
|
||||
if (gSaveContext.nightFlag != 0) {
|
||||
Actor_Kill(&this->actor);
|
||||
return;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Cs/func_809E22D4.s")
|
||||
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 19.0f);
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Cs/func_809E2360.s")
|
||||
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06008540, NULL, this->jointTable, this->morphTable, 16);
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Cs/EnCs_Update.s")
|
||||
Collider_InitCylinder(globalCtx, &this->collider);
|
||||
Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &sCylinderInit);
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Cs/EnCs_Draw.s")
|
||||
CollisionCheck_SetInfo2(&this->actor.colChkInfo, &sDamageTable, &sColChkInfoInit2);
|
||||
Actor_UpdateBgCheckInfo(globalCtx, &this->actor, 0.0f, 0.0f, 0.0f, 4);
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Cs/func_809E2784.s")
|
||||
Animation_Change(&this->skelAnime, sAnimations[0].animation, 1.0f, 0.0f,
|
||||
Animation_GetLastFrame(sAnimations[0].animation), sAnimations[0].mode,
|
||||
sAnimations[0].transitionRate);
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Cs/func_809E2814.s")
|
||||
this->actor.targetMode = 6;
|
||||
this->path = this->actor.params & 0xFF;
|
||||
this->unk_1EC = 0; // This variable is unused anywhere else
|
||||
this->talkState = 0;
|
||||
this->currentAnimIndex = -1;
|
||||
this->actor.gravity = -1.0f;
|
||||
|
||||
EnCs_SetAnimFromIndex(this, 0, &this->currentAnimIndex);
|
||||
|
||||
this->actionFunc = EnCs_Walk;
|
||||
this->walkSpeed = 1.0f;
|
||||
}
|
||||
|
||||
void EnCs_Destroy(Actor* thisx, GlobalContext* globalCtx) {
|
||||
EnCs* this = THIS;
|
||||
|
||||
Collider_DestroyCylinder(globalCtx, &this->collider);
|
||||
}
|
||||
|
||||
s32 EnCs_GetTalkState(EnCs* this, GlobalContext* globalCtx) {
|
||||
s32 pad;
|
||||
s32 pad2;
|
||||
s32 talkState = 1;
|
||||
|
||||
switch (func_8010BDBC(&globalCtx->msgCtx)) {
|
||||
case 4:
|
||||
if (func_80106BC8(globalCtx) != 0) {
|
||||
if (globalCtx->msgCtx.choiceIndex == 0) {
|
||||
this->actor.textId = 0x2026;
|
||||
EnCs_SetAnimFromIndex(this, 3, &this->currentAnimIndex);
|
||||
talkState = 2;
|
||||
} else {
|
||||
this->actor.textId = 0x2024;
|
||||
EnCs_SetAnimFromIndex(this, 1, &this->currentAnimIndex);
|
||||
talkState = 2;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 6:
|
||||
if (func_80106BC8(globalCtx)) {
|
||||
if (this->actor.textId == 0x2026) {
|
||||
Player_UnsetMask(globalCtx);
|
||||
Item_Give(globalCtx, ITEM_SOLD_OUT);
|
||||
gSaveContext.itemGetInf[3] |= 0x400;
|
||||
Rupees_ChangeBy(30);
|
||||
this->actor.textId = 0x2027;
|
||||
talkState = 2;
|
||||
} else {
|
||||
talkState = 0;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 0:
|
||||
case 1:
|
||||
case 2:
|
||||
case 3:
|
||||
case 5:
|
||||
break;
|
||||
}
|
||||
|
||||
return talkState;
|
||||
}
|
||||
|
||||
s32 EnCs_GetTextID(EnCs* this, GlobalContext* globalCtx) {
|
||||
Player* player = PLAYER;
|
||||
s32 textId = Text_GetFaceReaction(globalCtx, 15);
|
||||
|
||||
if (gSaveContext.itemGetInf[3] & 0x400) {
|
||||
if (textId == 0) {
|
||||
textId = 0x2028;
|
||||
}
|
||||
} else if (player->currentMask == PLAYER_MASK_SPOOKY) {
|
||||
textId = 0x2023;
|
||||
} else {
|
||||
if (textId == 0) {
|
||||
textId = 0x2022;
|
||||
}
|
||||
}
|
||||
|
||||
return textId;
|
||||
}
|
||||
|
||||
void EnCs_HandleTalking(EnCs* this, GlobalContext* globalCtx) {
|
||||
s32 pad;
|
||||
s16 sp2A;
|
||||
s16 sp28;
|
||||
|
||||
if (this->talkState == 2) {
|
||||
func_8010B720(globalCtx, this->actor.textId);
|
||||
this->talkState = 1;
|
||||
} else if (this->talkState == 1) {
|
||||
this->talkState = EnCs_GetTalkState(this, globalCtx);
|
||||
} else if (func_8002F194(&this->actor, globalCtx)) {
|
||||
if ((this->actor.textId == 0x2022) || ((this->actor.textId != 0x2022) && (this->actor.textId != 0x2028))) {
|
||||
EnCs_SetAnimFromIndex(this, 3, &this->currentAnimIndex);
|
||||
}
|
||||
|
||||
if ((this->actor.textId == 0x2023) || (this->actor.textId == 0x2028)) {
|
||||
EnCs_SetAnimFromIndex(this, 1, &this->currentAnimIndex);
|
||||
}
|
||||
|
||||
if (this->actor.textId == 0x2023) {
|
||||
func_80078884(NA_SE_SY_TRE_BOX_APPEAR);
|
||||
}
|
||||
|
||||
this->talkState = 1;
|
||||
} else {
|
||||
func_8002F374(globalCtx, &this->actor, &sp2A, &sp28);
|
||||
|
||||
if ((sp2A >= 0) && (sp2A <= 320) && (sp28 >= 0) && (sp28 <= 240) && (func_8002F2CC(this, globalCtx, 100.0f))) {
|
||||
this->actor.textId = EnCs_GetTextID(this, globalCtx);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
s32 EnCs_GetwaypointCount(Path* pathList, s32 pathIndex) {
|
||||
Path* path = &pathList[pathIndex];
|
||||
|
||||
return path->count;
|
||||
}
|
||||
|
||||
s32 EnCs_GetPathPoint(Path* pathList, Vec3f* dest, s32 pathIndex, s32 waypoint) {
|
||||
Path* path = pathList;
|
||||
Vec3s* pathPos;
|
||||
|
||||
path += pathIndex;
|
||||
pathPos = &((Vec3s*)SEGMENTED_TO_VIRTUAL(path->points))[waypoint];
|
||||
|
||||
dest->x = pathPos->x;
|
||||
dest->y = pathPos->y;
|
||||
dest->z = pathPos->z;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
s32 EnCs_HandleWalking(EnCs* this, GlobalContext* globalCtx) {
|
||||
f32 xDiff;
|
||||
f32 zDiff;
|
||||
Vec3f pathPos;
|
||||
s32 waypointCount;
|
||||
s16 walkAngle1;
|
||||
s16 walkAngle2;
|
||||
|
||||
EnCs_GetPathPoint(globalCtx->setupPathList, &pathPos, this->path, this->waypoint);
|
||||
xDiff = pathPos.x - this->actor.world.pos.x;
|
||||
zDiff = pathPos.z - this->actor.world.pos.z;
|
||||
walkAngle1 = Math_FAtan2F(xDiff, zDiff) * (32768.0f / M_PI);
|
||||
this->walkAngle = walkAngle1;
|
||||
this->walkDist = sqrtf((xDiff * xDiff) + (zDiff * zDiff));
|
||||
|
||||
while (this->walkDist <= 10.44f) {
|
||||
this->waypoint++;
|
||||
waypointCount = EnCs_GetwaypointCount(globalCtx->setupPathList, this->path);
|
||||
|
||||
if ((this->waypoint < 0) || (!(this->waypoint < waypointCount))) {
|
||||
this->waypoint = 0;
|
||||
}
|
||||
|
||||
EnCs_GetPathPoint(globalCtx->setupPathList, &pathPos, this->path, this->waypoint);
|
||||
xDiff = pathPos.x - this->actor.world.pos.x;
|
||||
zDiff = pathPos.z - this->actor.world.pos.z;
|
||||
walkAngle2 = Math_FAtan2F(xDiff, zDiff) * (32768.0f / M_PI);
|
||||
this->walkAngle = walkAngle2;
|
||||
this->walkDist = sqrtf((xDiff * xDiff) + (zDiff * zDiff));
|
||||
}
|
||||
|
||||
Math_SmoothStepToS(&this->actor.shape.rot.y, this->walkAngle, 1, 2500, 0);
|
||||
this->actor.world.rot.y = this->actor.shape.rot.y;
|
||||
this->actor.speedXZ = this->walkSpeed;
|
||||
Actor_MoveForward(&this->actor);
|
||||
Actor_UpdateBgCheckInfo(globalCtx, &this->actor, 0.0f, 0.0f, 0.0f, 4);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
void EnCs_Walk(EnCs* this, GlobalContext* globalCtx) {
|
||||
s32 rnd;
|
||||
s32 animIndex;
|
||||
s32 curAnimFrame;
|
||||
|
||||
if (this->talkState != 0) {
|
||||
this->actionFunc = EnCs_Talk;
|
||||
return;
|
||||
}
|
||||
|
||||
if (SkelAnime_Update(&this->skelAnime)) {
|
||||
animIndex = this->currentAnimIndex;
|
||||
|
||||
if (this->talkState == 0) {
|
||||
if (gSaveContext.itemGetInf[3] & 0x400) {
|
||||
rnd = Rand_ZeroOne() * 10.0f;
|
||||
} else {
|
||||
rnd = Rand_ZeroOne() * 5.0f;
|
||||
}
|
||||
|
||||
if (rnd == 0) {
|
||||
if (gSaveContext.itemGetInf[3] & 0x400) {
|
||||
animIndex = 2.0f * Rand_ZeroOne();
|
||||
animIndex = (animIndex == 0) ? 2 : 1;
|
||||
} else {
|
||||
animIndex = 2;
|
||||
}
|
||||
|
||||
this->actionFunc = EnCs_Wait;
|
||||
} else {
|
||||
animIndex = 0;
|
||||
}
|
||||
}
|
||||
|
||||
EnCs_SetAnimFromIndex(this, animIndex, &this->currentAnimIndex);
|
||||
}
|
||||
|
||||
if (this->talkState == 0) {
|
||||
curAnimFrame = this->skelAnime.curFrame;
|
||||
|
||||
if (((curAnimFrame >= 8) && (curAnimFrame < 16)) || ((curAnimFrame >= 23) && (curAnimFrame < 30)) ||
|
||||
(curAnimFrame == 0)) {
|
||||
this->walkSpeed = 0.0f;
|
||||
} else {
|
||||
this->walkSpeed = 1.0f;
|
||||
}
|
||||
|
||||
EnCs_HandleWalking(this, globalCtx);
|
||||
}
|
||||
}
|
||||
|
||||
void EnCs_Wait(EnCs* this, GlobalContext* globalCtx) {
|
||||
s32 animIndex;
|
||||
|
||||
if (this->talkState != 0) {
|
||||
this->actionFunc = EnCs_Talk;
|
||||
return;
|
||||
}
|
||||
|
||||
if (SkelAnime_Update(&this->skelAnime)) {
|
||||
animIndex = this->currentAnimIndex;
|
||||
|
||||
if (this->talkState == 0) {
|
||||
if (this->animLoopCount > 0) {
|
||||
this->animLoopCount--;
|
||||
animIndex = this->currentAnimIndex;
|
||||
} else {
|
||||
animIndex = 0;
|
||||
this->actionFunc = EnCs_Walk;
|
||||
}
|
||||
}
|
||||
|
||||
EnCs_SetAnimFromIndex(this, animIndex, &this->currentAnimIndex);
|
||||
}
|
||||
}
|
||||
|
||||
void EnCs_Talk(EnCs* this, GlobalContext* globalCtx) {
|
||||
Player* player = PLAYER;
|
||||
|
||||
if (SkelAnime_Update(&this->skelAnime) != 0) {
|
||||
EnCs_SetAnimFromIndex(this, this->currentAnimIndex, &this->currentAnimIndex);
|
||||
}
|
||||
|
||||
this->flag |= 1;
|
||||
this->npcInfo.unk_18.x = player->actor.focus.pos.x;
|
||||
this->npcInfo.unk_18.y = player->actor.focus.pos.y;
|
||||
this->npcInfo.unk_18.z = player->actor.focus.pos.z;
|
||||
func_80034A14(&this->actor, &this->npcInfo, 0, 4);
|
||||
|
||||
if (this->talkState == 0) {
|
||||
EnCs_SetAnimFromIndex(this, 0, &this->currentAnimIndex);
|
||||
this->actionFunc = EnCs_Walk;
|
||||
this->flag &= ~1;
|
||||
}
|
||||
}
|
||||
|
||||
void EnCs_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||
static s32 eyeBlinkFrames[] = { 70, 1, 1 };
|
||||
EnCs* this = THIS;
|
||||
s32 pad;
|
||||
|
||||
if (this->currentAnimIndex == 0) {
|
||||
if (((s32)this->skelAnime.curFrame == 9) || ((s32)this->skelAnime.curFrame == 23)) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EV_CHIBI_WALK);
|
||||
}
|
||||
} else if (this->currentAnimIndex == 1) {
|
||||
if (((s32)this->skelAnime.curFrame == 10) || ((s32)this->skelAnime.curFrame == 25)) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EV_CHIBI_WALK);
|
||||
}
|
||||
} else if ((this->currentAnimIndex == 2) && ((s32)this->skelAnime.curFrame == 20)) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EV_CHIBI_WALK);
|
||||
}
|
||||
|
||||
Collider_UpdateCylinder(&this->actor, &this->collider);
|
||||
CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->collider.base);
|
||||
|
||||
this->actionFunc(this, globalCtx);
|
||||
|
||||
EnCs_HandleTalking(this, globalCtx);
|
||||
|
||||
this->eyeBlinkTimer--;
|
||||
|
||||
if (this->eyeBlinkTimer < 0) {
|
||||
this->eyeIndex++;
|
||||
|
||||
if (this->eyeIndex >= 3) {
|
||||
this->eyeIndex = 0;
|
||||
}
|
||||
|
||||
this->eyeBlinkTimer = eyeBlinkFrames[this->eyeIndex];
|
||||
}
|
||||
}
|
||||
|
||||
void EnCs_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
||||
static u64* eyeTextures[] = { 0x06002130, 0x06002930, 0x06003130 };
|
||||
EnCs* this = THIS;
|
||||
s32 pad;
|
||||
|
||||
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_cs.c", 968);
|
||||
|
||||
func_80093D18(globalCtx->state.gfxCtx);
|
||||
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(eyeTextures[this->eyeIndex]));
|
||||
|
||||
SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
|
||||
EnCs_OverrideLimbDraw, EnCs_PostLimbDraw, &this->actor);
|
||||
|
||||
if (gSaveContext.itemGetInf[3] & 0x400) {
|
||||
s32 childLinkObjectIndex = Object_GetIndex(&globalCtx->objectCtx, OBJECT_LINK_CHILD);
|
||||
|
||||
// Handle attaching the Spooky Mask to the boy's face
|
||||
if (childLinkObjectIndex >= 0) {
|
||||
Mtx* mtx;
|
||||
|
||||
Matrix_Put(&this->spookyMaskMtx);
|
||||
mtx = Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_cs.c", 1000);
|
||||
gSPSegment(POLY_OPA_DISP++, 0x06, globalCtx->objectCtx.status[childLinkObjectIndex].segment);
|
||||
gSPSegment(POLY_OPA_DISP++, 0x0D, mtx - 7);
|
||||
gSPDisplayList(POLY_OPA_DISP++, D_0602AF70);
|
||||
gSPSegment(POLY_OPA_DISP++, 0x06, globalCtx->objectCtx.status[this->actor.objBankIndex].segment);
|
||||
}
|
||||
}
|
||||
|
||||
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_cs.c", 1015);
|
||||
}
|
||||
|
||||
s32 EnCs_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* pos, Vec3s* rot, void* thisx) {
|
||||
EnCs* this = THIS;
|
||||
|
||||
if (this->flag & 1) {
|
||||
switch (limbIndex) {
|
||||
case 8:
|
||||
rot->x += this->npcInfo.unk_0E.y;
|
||||
rot->y -= this->npcInfo.unk_0E.x;
|
||||
break;
|
||||
case 15:
|
||||
rot->x += this->npcInfo.unk_08.y;
|
||||
rot->z += this->npcInfo.unk_08.x;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
void EnCs_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx) {
|
||||
static Vec3f D_809E2970 = { 500.0f, 800.0f, 0.0f };
|
||||
EnCs* this = THIS;
|
||||
|
||||
if (limbIndex == 15) {
|
||||
Matrix_MultVec3f(&D_809E2970, &this->actor.focus.pos);
|
||||
Matrix_Translate(0.0f, -200.0f, 0.0f, MTXMODE_APPLY);
|
||||
Matrix_RotateY(0.0f, MTXMODE_APPLY);
|
||||
Matrix_RotateX(0.0f, MTXMODE_APPLY);
|
||||
Matrix_RotateZ(1.7453293f, MTXMODE_APPLY);
|
||||
Matrix_Get(&this->spookyMaskMtx);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -6,9 +6,32 @@
|
|||
|
||||
struct EnCs;
|
||||
|
||||
typedef void (*EnCsActionFunc)(struct EnCs*, GlobalContext*);
|
||||
|
||||
typedef struct EnCs {
|
||||
/* 0x0000 */ Actor actor;
|
||||
/* 0x014C */ char unk_14C[0x1F8];
|
||||
/* 0x014C */ SkelAnime skelAnime;
|
||||
/* 0x0190 */ EnCsActionFunc actionFunc;
|
||||
/* 0x0194 */ ColliderCylinder collider;
|
||||
/* 0x01E0 */ s32 talkState;
|
||||
/* 0x01E4 */ s32 eyeIndex;
|
||||
/* 0x01E8 */ s32 eyeBlinkTimer;
|
||||
/* 0x01EC */ s32 unk_1EC;
|
||||
/* 0x01F0 */ char unk_1F0[4];
|
||||
/* 0x01F4 */ s32 path;
|
||||
/* 0x01F8 */ char unk_1F8[4];
|
||||
/* 0x01FC */ s32 waypoint;
|
||||
/* 0x0200 */ s32 animLoopCount; // How many time the current animation should loop before changing
|
||||
/* 0x0204 */ f32 walkAngle;
|
||||
/* 0x0208 */ f32 walkDist;
|
||||
/* 0x020C */ f32 walkSpeed;
|
||||
/* 0x0210 */ s32 currentAnimIndex;
|
||||
/* 0x0214 */ char unk_214[4];
|
||||
/* 0x0218 */ MtxF spookyMaskMtx;
|
||||
/* 0x0258 */ struct_80034A14_arg1 npcInfo;
|
||||
/* 0x0280 */ s32 flag;
|
||||
/* 0x0284 */ Vec3s jointTable[16];
|
||||
/* 0x02E4 */ Vec3s morphTable[16];
|
||||
} EnCs; // size = 0x0344
|
||||
|
||||
extern const ActorInit En_Cs_InitVars;
|
||||
|
|
|
@ -123,7 +123,7 @@ extern AnimationHeader D_06005B98;
|
|||
extern AnimationHeader D_060055A8;
|
||||
extern AnimationHeader D_060055A8;
|
||||
|
||||
struct_80034EC0_Entry sAnimations[] = {
|
||||
static struct_80034EC0_Entry sAnimations[] = {
|
||||
{ &D_06000304, 1.0f, 0.0f, -1.0f, ANIMMODE_LOOP_INTERP, 0.0f },
|
||||
{ &D_06005B98, 1.0f, 0.0f, -1.0f, ANIMMODE_ONCE_INTERP, -8.0f },
|
||||
{ &D_06000304, 4.0f, 0.0f, -1.0f, ANIMMODE_ONCE_INTERP, -8.0f },
|
||||
|
|
Loading…
Reference in a new issue