mirror of
https://github.com/zeldaret/oot.git
synced 2024-12-29 16:26:18 +00:00
Decompiled ovl_En_Ma3 (re-created) (#114)
* Decompiled ovl_En_Ma3 * PR suggestions
This commit is contained in:
parent
a65554d586
commit
ca20f56c09
23 changed files with 392 additions and 1162 deletions
|
@ -1,16 +0,0 @@
|
|||
glabel EnMa3_Destroy
|
||||
/* 00728 80AA31C8 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 0072C 80AA31CC AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00730 80AA31D0 AFA40018 */ sw $a0, 0x0018($sp)
|
||||
/* 00734 80AA31D4 AFA5001C */ sw $a1, 0x001C($sp)
|
||||
/* 00738 80AA31D8 0C0295BC */ jal SkelAnime_Free
|
||||
/* 0073C 80AA31DC 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
|
||||
/* 00740 80AA31E0 8FA50018 */ lw $a1, 0x0018($sp)
|
||||
/* 00744 80AA31E4 8FA4001C */ lw $a0, 0x001C($sp)
|
||||
/* 00748 80AA31E8 0C0170EB */ jal Collider_DestroyCylinder
|
||||
|
||||
/* 0074C 80AA31EC 24A50194 */ addiu $a1, $a1, 0x0194 ## $a1 = 00000194
|
||||
/* 00750 80AA31F0 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00754 80AA31F4 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 00758 80AA31F8 03E00008 */ jr $ra
|
||||
/* 0075C 80AA31FC 00000000 */ nop
|
|
@ -1,109 +0,0 @@
|
|||
.rdata
|
||||
glabel D_80AA38E0
|
||||
.asciz "../z_en_ma3.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_80AA38F0
|
||||
.asciz "../z_en_ma3.c"
|
||||
.balign 4
|
||||
|
||||
.text
|
||||
glabel EnMa3_Draw
|
||||
/* 00BCC 80AA366C 27BDFF98 */ addiu $sp, $sp, 0xFF98 ## $sp = FFFFFF98
|
||||
/* 00BD0 80AA3670 AFB20030 */ sw $s2, 0x0030($sp)
|
||||
/* 00BD4 80AA3674 00A09025 */ or $s2, $a1, $zero ## $s2 = 00000000
|
||||
/* 00BD8 80AA3678 AFBF0034 */ sw $ra, 0x0034($sp)
|
||||
/* 00BDC 80AA367C AFB1002C */ sw $s1, 0x002C($sp)
|
||||
/* 00BE0 80AA3680 AFB00028 */ sw $s0, 0x0028($sp)
|
||||
/* 00BE4 80AA3684 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000
|
||||
/* 00BE8 80AA3688 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00BEC 80AA368C 3C0680AA */ lui $a2, %hi(D_80AA38E0) ## $a2 = 80AA0000
|
||||
/* 00BF0 80AA3690 24C638E0 */ addiu $a2, $a2, %lo(D_80AA38E0) ## $a2 = 80AA38E0
|
||||
/* 00BF4 80AA3694 27A40044 */ addiu $a0, $sp, 0x0044 ## $a0 = FFFFFFDC
|
||||
/* 00BF8 80AA3698 240703D2 */ addiu $a3, $zero, 0x03D2 ## $a3 = 000003D2
|
||||
/* 00BFC 80AA369C 0C031AB1 */ jal Graph_OpenDisps
|
||||
/* 00C00 80AA36A0 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
|
||||
/* 00C04 80AA36A4 864E07A0 */ lh $t6, 0x07A0($s2) ## 000007A0
|
||||
/* 00C08 80AA36A8 26040024 */ addiu $a0, $s0, 0x0024 ## $a0 = 00000024
|
||||
/* 00C0C 80AA36AC 000E7880 */ sll $t7, $t6, 2
|
||||
/* 00C10 80AA36B0 024FC021 */ addu $t8, $s2, $t7
|
||||
/* 00C14 80AA36B4 8F020790 */ lw $v0, 0x0790($t8) ## 00000790
|
||||
/* 00C18 80AA36B8 0C01E00A */ jal Math_Vec3f_DistXZ
|
||||
|
||||
/* 00C1C 80AA36BC 2445005C */ addiu $a1, $v0, 0x005C ## $a1 = 0000005C
|
||||
/* 00C20 80AA36C0 46000306 */ mov.s $f12, $f0
|
||||
/* 00C24 80AA36C4 0C03D89A */ jal func_800F6268
|
||||
/* 00C28 80AA36C8 2405002F */ addiu $a1, $zero, 0x002F ## $a1 = 0000002F
|
||||
/* 00C2C 80AA36CC 0C024F46 */ jal func_80093D18
|
||||
/* 00C30 80AA36D0 8E440000 */ lw $a0, 0x0000($s2) ## 00000000
|
||||
/* 00C34 80AA36D4 8E2302C0 */ lw $v1, 0x02C0($s1) ## 000002C0
|
||||
/* 00C38 80AA36D8 3C08DB06 */ lui $t0, 0xDB06 ## $t0 = DB060000
|
||||
/* 00C3C 80AA36DC 35080024 */ ori $t0, $t0, 0x0024 ## $t0 = DB060024
|
||||
/* 00C40 80AA36E0 24790008 */ addiu $t9, $v1, 0x0008 ## $t9 = 00000008
|
||||
/* 00C44 80AA36E4 AE3902C0 */ sw $t9, 0x02C0($s1) ## 000002C0
|
||||
/* 00C48 80AA36E8 AC680000 */ sw $t0, 0x0000($v1) ## 00000000
|
||||
/* 00C4C 80AA36EC 86090210 */ lh $t1, 0x0210($s0) ## 00000210
|
||||
/* 00C50 80AA36F0 3C0480AA */ lui $a0, %hi(D_80AA38A4) ## $a0 = 80AA0000
|
||||
/* 00C54 80AA36F4 3C068016 */ lui $a2, %hi(gSegments)
|
||||
/* 00C58 80AA36F8 00095080 */ sll $t2, $t1, 2
|
||||
/* 00C5C 80AA36FC 008A2021 */ addu $a0, $a0, $t2
|
||||
/* 00C60 80AA3700 8C8438A4 */ lw $a0, %lo(D_80AA38A4)($a0)
|
||||
/* 00C64 80AA3704 24C66FA8 */ addiu $a2, %lo(gSegments)
|
||||
/* 00C68 80AA3708 3C0500FF */ lui $a1, 0x00FF ## $a1 = 00FF0000
|
||||
/* 00C6C 80AA370C 00046100 */ sll $t4, $a0, 4
|
||||
/* 00C70 80AA3710 000C6F02 */ srl $t5, $t4, 28
|
||||
/* 00C74 80AA3714 000D7080 */ sll $t6, $t5, 2
|
||||
/* 00C78 80AA3718 00CE7821 */ addu $t7, $a2, $t6
|
||||
/* 00C7C 80AA371C 8DF80000 */ lw $t8, 0x0000($t7) ## 00000000
|
||||
/* 00C80 80AA3720 34A5FFFF */ ori $a1, $a1, 0xFFFF ## $a1 = 00FFFFFF
|
||||
/* 00C84 80AA3724 00855824 */ and $t3, $a0, $a1
|
||||
/* 00C88 80AA3728 3C078000 */ lui $a3, 0x8000 ## $a3 = 80000000
|
||||
/* 00C8C 80AA372C 0178C821 */ addu $t9, $t3, $t8
|
||||
/* 00C90 80AA3730 03274021 */ addu $t0, $t9, $a3
|
||||
/* 00C94 80AA3734 AC680004 */ sw $t0, 0x0004($v1) ## 00000004
|
||||
/* 00C98 80AA3738 8E2302C0 */ lw $v1, 0x02C0($s1) ## 000002C0
|
||||
/* 00C9C 80AA373C 3C0ADB06 */ lui $t2, 0xDB06 ## $t2 = DB060000
|
||||
/* 00CA0 80AA3740 354A0020 */ ori $t2, $t2, 0x0020 ## $t2 = DB060020
|
||||
/* 00CA4 80AA3744 24690008 */ addiu $t1, $v1, 0x0008 ## $t1 = 00000008
|
||||
/* 00CA8 80AA3748 AE2902C0 */ sw $t1, 0x02C0($s1) ## 000002C0
|
||||
/* 00CAC 80AA374C AC6A0000 */ sw $t2, 0x0000($v1) ## 00000000
|
||||
/* 00CB0 80AA3750 860C020E */ lh $t4, 0x020E($s0) ## 0000020E
|
||||
/* 00CB4 80AA3754 3C0480AA */ lui $a0, %hi(D_80AA38B0) ## $a0 = 80AA0000
|
||||
/* 00CB8 80AA3758 000C6880 */ sll $t5, $t4, 2
|
||||
/* 00CBC 80AA375C 008D2021 */ addu $a0, $a0, $t5
|
||||
/* 00CC0 80AA3760 8C8438B0 */ lw $a0, %lo(D_80AA38B0)($a0)
|
||||
/* 00CC4 80AA3764 3C0D80AA */ lui $t5, %hi(func_80AA3580) ## $t5 = 80AA0000
|
||||
/* 00CC8 80AA3768 3C0C80AA */ lui $t4, %hi(func_80AA3344) ## $t4 = 80AA0000
|
||||
/* 00CCC 80AA376C 00047900 */ sll $t7, $a0, 4
|
||||
/* 00CD0 80AA3770 000F5F02 */ srl $t3, $t7, 28
|
||||
/* 00CD4 80AA3774 000BC080 */ sll $t8, $t3, 2
|
||||
/* 00CD8 80AA3778 00D8C821 */ addu $t9, $a2, $t8
|
||||
/* 00CDC 80AA377C 8F280000 */ lw $t0, 0x0000($t9) ## 00000008
|
||||
/* 00CE0 80AA3780 00857024 */ and $t6, $a0, $a1
|
||||
/* 00CE4 80AA3784 258C3344 */ addiu $t4, $t4, %lo(func_80AA3344) ## $t4 = 80AA3344
|
||||
/* 00CE8 80AA3788 01C84821 */ addu $t1, $t6, $t0
|
||||
/* 00CEC 80AA378C 01275021 */ addu $t2, $t1, $a3
|
||||
/* 00CF0 80AA3790 AC6A0004 */ sw $t2, 0x0004($v1) ## 00000004
|
||||
/* 00CF4 80AA3794 9207014E */ lbu $a3, 0x014E($s0) ## 0000014E
|
||||
/* 00CF8 80AA3798 8E06016C */ lw $a2, 0x016C($s0) ## 0000016C
|
||||
/* 00CFC 80AA379C 8E050150 */ lw $a1, 0x0150($s0) ## 00000150
|
||||
/* 00D00 80AA37A0 25AD3580 */ addiu $t5, $t5, %lo(func_80AA3580) ## $t5 = 80AA3580
|
||||
/* 00D04 80AA37A4 AFAD0014 */ sw $t5, 0x0014($sp)
|
||||
/* 00D08 80AA37A8 AFB00018 */ sw $s0, 0x0018($sp)
|
||||
/* 00D0C 80AA37AC AFAC0010 */ sw $t4, 0x0010($sp)
|
||||
/* 00D10 80AA37B0 0C0286B2 */ jal SkelAnime_DrawSV
|
||||
/* 00D14 80AA37B4 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000
|
||||
/* 00D18 80AA37B8 3C0680AA */ lui $a2, %hi(D_80AA38F0) ## $a2 = 80AA0000
|
||||
/* 00D1C 80AA37BC 24C638F0 */ addiu $a2, $a2, %lo(D_80AA38F0) ## $a2 = 80AA38F0
|
||||
/* 00D20 80AA37C0 27A40044 */ addiu $a0, $sp, 0x0044 ## $a0 = FFFFFFDC
|
||||
/* 00D24 80AA37C4 8E450000 */ lw $a1, 0x0000($s2) ## 00000000
|
||||
/* 00D28 80AA37C8 0C031AD5 */ jal Graph_CloseDisps
|
||||
/* 00D2C 80AA37CC 240703F5 */ addiu $a3, $zero, 0x03F5 ## $a3 = 000003F5
|
||||
/* 00D30 80AA37D0 8FBF0034 */ lw $ra, 0x0034($sp)
|
||||
/* 00D34 80AA37D4 8FB00028 */ lw $s0, 0x0028($sp)
|
||||
/* 00D38 80AA37D8 8FB1002C */ lw $s1, 0x002C($sp)
|
||||
/* 00D3C 80AA37DC 8FB20030 */ lw $s2, 0x0030($sp)
|
||||
/* 00D40 80AA37E0 03E00008 */ jr $ra
|
||||
/* 00D44 80AA37E4 27BD0068 */ addiu $sp, $sp, 0x0068 ## $sp = 00000000
|
||||
/* 00D48 80AA37E8 00000000 */ nop
|
||||
/* 00D4C 80AA37EC 00000000 */ nop
|
|
@ -1,97 +0,0 @@
|
|||
glabel EnMa3_Init
|
||||
/* 005D4 80AA3074 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0
|
||||
/* 005D8 80AA3078 AFB00028 */ sw $s0, 0x0028($sp)
|
||||
/* 005DC 80AA307C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 005E0 80AA3080 AFBF002C */ sw $ra, 0x002C($sp)
|
||||
/* 005E4 80AA3084 AFA50044 */ sw $a1, 0x0044($sp)
|
||||
/* 005E8 80AA3088 3C068003 */ lui $a2, %hi(ActorShadow_DrawFunc_Circle)
|
||||
/* 005EC 80AA308C 24C6B5EC */ addiu $a2, %lo(ActorShadow_DrawFunc_Circle)
|
||||
/* 005F0 80AA3090 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
|
||||
/* 005F4 80AA3094 248400B4 */ addiu $a0, $a0, 0x00B4 ## $a0 = 000000B4
|
||||
/* 005F8 80AA3098 0C00AC78 */ jal ActorShape_Init
|
||||
|
||||
/* 005FC 80AA309C 3C074190 */ lui $a3, 0x4190 ## $a3 = 41900000
|
||||
/* 00600 80AA30A0 3C060601 */ lui $a2, 0x0601 ## $a2 = 06010000
|
||||
/* 00604 80AA30A4 24C68D90 */ addiu $a2, $a2, 0x8D90 ## $a2 = 06008D90
|
||||
/* 00608 80AA30A8 8FA40044 */ lw $a0, 0x0044($sp)
|
||||
/* 0060C 80AA30AC 2605014C */ addiu $a1, $s0, 0x014C ## $a1 = 0000014C
|
||||
/* 00610 80AA30B0 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
|
||||
/* 00614 80AA30B4 AFA00010 */ sw $zero, 0x0010($sp)
|
||||
/* 00618 80AA30B8 AFA00014 */ sw $zero, 0x0014($sp)
|
||||
/* 0061C 80AA30BC 0C0291BE */ jal SkelAnime_InitSV
|
||||
/* 00620 80AA30C0 AFA00018 */ sw $zero, 0x0018($sp)
|
||||
/* 00624 80AA30C4 26050194 */ addiu $a1, $s0, 0x0194 ## $a1 = 00000194
|
||||
/* 00628 80AA30C8 AFA50030 */ sw $a1, 0x0030($sp)
|
||||
/* 0062C 80AA30CC 0C0170D9 */ jal Collider_InitCylinder
|
||||
|
||||
/* 00630 80AA30D0 8FA40044 */ lw $a0, 0x0044($sp)
|
||||
/* 00634 80AA30D4 3C0780AA */ lui $a3, %hi(D_80AA3810) ## $a3 = 80AA0000
|
||||
/* 00638 80AA30D8 8FA50030 */ lw $a1, 0x0030($sp)
|
||||
/* 0063C 80AA30DC 24E73810 */ addiu $a3, $a3, %lo(D_80AA3810) ## $a3 = 80AA3810
|
||||
/* 00640 80AA30E0 8FA40044 */ lw $a0, 0x0044($sp)
|
||||
/* 00644 80AA30E4 0C01712B */ jal Collider_SetCylinder
|
||||
|
||||
/* 00648 80AA30E8 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
|
||||
/* 0064C 80AA30EC 0C016C80 */ jal DamageTable_Get
|
||||
/* 00650 80AA30F0 24040016 */ addiu $a0, $zero, 0x0016 ## $a0 = 00000016
|
||||
/* 00654 80AA30F4 3C0680AA */ lui $a2, %hi(D_80AA383C) ## $a2 = 80AA0000
|
||||
/* 00658 80AA30F8 24C6383C */ addiu $a2, $a2, %lo(D_80AA383C) ## $a2 = 80AA383C
|
||||
/* 0065C 80AA30FC 26040098 */ addiu $a0, $s0, 0x0098 ## $a0 = 00000098
|
||||
/* 00660 80AA3100 0C0187BF */ jal func_80061EFC
|
||||
/* 00664 80AA3104 00402825 */ or $a1, $v0, $zero ## $a1 = 00000000
|
||||
/* 00668 80AA3108 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 0066C 80AA310C 0C2A8BB2 */ jal func_80AA2EC8
|
||||
/* 00670 80AA3110 8FA50044 */ lw $a1, 0x0044($sp)
|
||||
/* 00674 80AA3114 10400009 */ beq $v0, $zero, .L80AA313C
|
||||
/* 00678 80AA3118 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 0067C 80AA311C 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
|
||||
/* 00680 80AA3120 1041000C */ beq $v0, $at, .L80AA3154
|
||||
/* 00684 80AA3124 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00688 80AA3128 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
|
||||
/* 0068C 80AA312C 1041000F */ beq $v0, $at, .L80AA316C
|
||||
/* 00690 80AA3130 00000000 */ nop
|
||||
/* 00694 80AA3134 10000012 */ beq $zero, $zero, .L80AA3180
|
||||
/* 00698 80AA3138 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
|
||||
.L80AA313C:
|
||||
/* 0069C 80AA313C 0C2A8C01 */ jal func_80AA3004
|
||||
/* 006A0 80AA3140 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
|
||||
/* 006A4 80AA3144 3C0E80AA */ lui $t6, %hi(func_80AA3200) ## $t6 = 80AA0000
|
||||
/* 006A8 80AA3148 25CE3200 */ addiu $t6, $t6, %lo(func_80AA3200) ## $t6 = 80AA3200
|
||||
/* 006AC 80AA314C 1000000B */ beq $zero, $zero, .L80AA317C
|
||||
/* 006B0 80AA3150 AE0E0190 */ sw $t6, 0x0190($s0) ## 00000190
|
||||
.L80AA3154:
|
||||
/* 006B4 80AA3154 0C2A8C01 */ jal func_80AA3004
|
||||
/* 006B8 80AA3158 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
|
||||
/* 006BC 80AA315C 3C0F80AA */ lui $t7, %hi(func_80AA3200) ## $t7 = 80AA0000
|
||||
/* 006C0 80AA3160 25EF3200 */ addiu $t7, $t7, %lo(func_80AA3200) ## $t7 = 80AA3200
|
||||
/* 006C4 80AA3164 10000005 */ beq $zero, $zero, .L80AA317C
|
||||
/* 006C8 80AA3168 AE0F0190 */ sw $t7, 0x0190($s0) ## 00000190
|
||||
.L80AA316C:
|
||||
/* 006CC 80AA316C 0C00B55C */ jal Actor_Kill
|
||||
|
||||
/* 006D0 80AA3170 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 006D4 80AA3174 10000010 */ beq $zero, $zero, .L80AA31B8
|
||||
/* 006D8 80AA3178 8FBF002C */ lw $ra, 0x002C($sp)
|
||||
.L80AA317C:
|
||||
/* 006DC 80AA317C 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
|
||||
.L80AA3180:
|
||||
/* 006E0 80AA3180 24180004 */ addiu $t8, $zero, 0x0004 ## $t8 = 00000004
|
||||
/* 006E4 80AA3184 AFB80014 */ sw $t8, 0x0014($sp)
|
||||
/* 006E8 80AA3188 44060000 */ mfc1 $a2, $f0
|
||||
/* 006EC 80AA318C 44070000 */ mfc1 $a3, $f0
|
||||
/* 006F0 80AA3190 8FA40044 */ lw $a0, 0x0044($sp)
|
||||
/* 006F4 80AA3194 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
|
||||
/* 006F8 80AA3198 0C00B92D */ jal func_8002E4B4
|
||||
/* 006FC 80AA319C E7A00010 */ swc1 $f0, 0x0010($sp)
|
||||
/* 00700 80AA31A0 3C053C23 */ lui $a1, 0x3C23 ## $a1 = 3C230000
|
||||
/* 00704 80AA31A4 34A5D70A */ ori $a1, $a1, 0xD70A ## $a1 = 3C23D70A
|
||||
/* 00708 80AA31A8 0C00B58B */ jal Actor_SetScale
|
||||
|
||||
/* 0070C 80AA31AC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00710 80AA31B0 A60001E0 */ sh $zero, 0x01E0($s0) ## 000001E0
|
||||
/* 00714 80AA31B4 8FBF002C */ lw $ra, 0x002C($sp)
|
||||
.L80AA31B8:
|
||||
/* 00718 80AA31B8 8FB00028 */ lw $s0, 0x0028($sp)
|
||||
/* 0071C 80AA31BC 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000
|
||||
/* 00720 80AA31C0 03E00008 */ jr $ra
|
||||
/* 00724 80AA31C4 00000000 */ nop
|
|
@ -1,75 +0,0 @@
|
|||
glabel EnMa3_Update
|
||||
/* 00794 80AA3234 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8
|
||||
/* 00798 80AA3238 AFB0001C */ sw $s0, 0x001C($sp)
|
||||
/* 0079C 80AA323C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 007A0 80AA3240 AFB10020 */ sw $s1, 0x0020($sp)
|
||||
/* 007A4 80AA3244 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
|
||||
/* 007A8 80AA3248 AFBF0024 */ sw $ra, 0x0024($sp)
|
||||
/* 007AC 80AA324C 26060194 */ addiu $a2, $s0, 0x0194 ## $a2 = 00000194
|
||||
/* 007B0 80AA3250 00C02825 */ or $a1, $a2, $zero ## $a1 = 00000194
|
||||
/* 007B4 80AA3254 0C0189B7 */ jal Collider_CylinderUpdate
|
||||
|
||||
/* 007B8 80AA3258 AFA6002C */ sw $a2, 0x002C($sp)
|
||||
/* 007BC 80AA325C 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
||||
/* 007C0 80AA3260 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60
|
||||
/* 007C4 80AA3264 8FA6002C */ lw $a2, 0x002C($sp)
|
||||
/* 007C8 80AA3268 02212821 */ addu $a1, $s1, $at
|
||||
/* 007CC 80AA326C 0C017713 */ jal CollisionCheck_SetOC
|
||||
## CollisionCheck_setOT
|
||||
/* 007D0 80AA3270 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 007D4 80AA3274 0C02927F */ jal SkelAnime_FrameUpdateMatrix
|
||||
|
||||
/* 007D8 80AA3278 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
|
||||
/* 007DC 80AA327C 0C2A8BE0 */ jal func_80AA2F80
|
||||
/* 007E0 80AA3280 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 007E4 80AA3284 8E190190 */ lw $t9, 0x0190($s0) ## 00000190
|
||||
/* 007E8 80AA3288 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 007EC 80AA328C 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
|
||||
/* 007F0 80AA3290 0320F809 */ jalr $ra, $t9
|
||||
/* 007F4 80AA3294 00000000 */ nop
|
||||
/* 007F8 80AA3298 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 007FC 80AA329C 0C2A8B95 */ jal func_80AA2E54
|
||||
/* 00800 80AA32A0 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
|
||||
/* 00804 80AA32A4 860E01D4 */ lh $t6, 0x01D4($s0) ## 000001D4
|
||||
/* 00808 80AA32A8 3C014316 */ lui $at, 0x4316 ## $at = 43160000
|
||||
/* 0080C 80AA32AC 44814000 */ mtc1 $at, $f8 ## $f8 = 150.00
|
||||
/* 00810 80AA32B0 448E2000 */ mtc1 $t6, $f4 ## $f4 = 0.00
|
||||
/* 00814 80AA32B4 3C0F80AA */ lui $t7, %hi(func_80AA2AA0) ## $t7 = 80AA0000
|
||||
/* 00818 80AA32B8 3C1880AA */ lui $t8, %hi(func_80AA2BD4) ## $t8 = 80AA0000
|
||||
/* 0081C 80AA32BC 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* 00820 80AA32C0 27182BD4 */ addiu $t8, $t8, %lo(func_80AA2BD4) ## $t8 = 80AA2BD4
|
||||
/* 00824 80AA32C4 25EF2AA0 */ addiu $t7, $t7, %lo(func_80AA2AA0) ## $t7 = 80AA2AA0
|
||||
/* 00828 80AA32C8 AFAF0010 */ sw $t7, 0x0010($sp)
|
||||
/* 0082C 80AA32CC AFB80014 */ sw $t8, 0x0014($sp)
|
||||
/* 00830 80AA32D0 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 00834 80AA32D4 46083280 */ add.s $f10, $f6, $f8
|
||||
/* 00838 80AA32D8 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
|
||||
/* 0083C 80AA32DC 260601E0 */ addiu $a2, $s0, 0x01E0 ## $a2 = 000001E0
|
||||
/* 00840 80AA32E0 44075000 */ mfc1 $a3, $f10
|
||||
/* 00844 80AA32E4 0C00D0F3 */ jal func_800343CC
|
||||
/* 00848 80AA32E8 00000000 */ nop
|
||||
/* 0084C 80AA32EC 860801E0 */ lh $t0, 0x01E0($s0) ## 000001E0
|
||||
/* 00850 80AA32F0 55000009 */ bnel $t0, $zero, .L80AA3318
|
||||
/* 00854 80AA32F4 860A020A */ lh $t2, 0x020A($s0) ## 0000020A
|
||||
/* 00858 80AA32F8 8609020A */ lh $t1, 0x020A($s0) ## 0000020A
|
||||
/* 0085C 80AA32FC 5120000D */ beql $t1, $zero, .L80AA3334
|
||||
/* 00860 80AA3300 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
/* 00864 80AA3304 0C03D961 */ jal func_800F6584
|
||||
/* 00868 80AA3308 00002025 */ or $a0, $zero, $zero ## $a0 = 00000000
|
||||
/* 0086C 80AA330C 10000008 */ beq $zero, $zero, .L80AA3330
|
||||
/* 00870 80AA3310 A600020A */ sh $zero, 0x020A($s0) ## 0000020A
|
||||
/* 00874 80AA3314 860A020A */ lh $t2, 0x020A($s0) ## 0000020A
|
||||
.L80AA3318:
|
||||
/* 00878 80AA3318 55400006 */ bnel $t2, $zero, .L80AA3334
|
||||
/* 0087C 80AA331C 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
/* 00880 80AA3320 0C03D961 */ jal func_800F6584
|
||||
/* 00884 80AA3324 24040001 */ addiu $a0, $zero, 0x0001 ## $a0 = 00000001
|
||||
/* 00888 80AA3328 240B0001 */ addiu $t3, $zero, 0x0001 ## $t3 = 00000001
|
||||
/* 0088C 80AA332C A60B020A */ sh $t3, 0x020A($s0) ## 0000020A
|
||||
.L80AA3330:
|
||||
/* 00890 80AA3330 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
.L80AA3334:
|
||||
/* 00894 80AA3334 8FB0001C */ lw $s0, 0x001C($sp)
|
||||
/* 00898 80AA3338 8FB10020 */ lw $s1, 0x0020($sp)
|
||||
/* 0089C 80AA333C 03E00008 */ jr $ra
|
||||
/* 008A0 80AA3340 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000
|
|
@ -1,89 +0,0 @@
|
|||
glabel func_80AA2AA0
|
||||
/* 00000 80AA2AA0 3C038016 */ lui $v1, %hi(gSaveContext)
|
||||
/* 00004 80AA2AA4 2463E660 */ addiu $v1, %lo(gSaveContext)
|
||||
/* 00008 80AA2AA8 946E0F0E */ lhu $t6, 0x0F0E($v1) ## 8015F56E
|
||||
/* 0000C 80AA2AAC 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
|
||||
/* 00010 80AA2AB0 AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 00014 80AA2AB4 31CF0100 */ andi $t7, $t6, 0x0100 ## $t7 = 00000000
|
||||
/* 00018 80AA2AB8 15E00003 */ bne $t7, $zero, .L80AA2AC8
|
||||
/* 0001C 80AA2ABC 8C821C44 */ lw $v0, 0x1C44($a0) ## 00001C44
|
||||
/* 00020 80AA2AC0 10000040 */ beq $zero, $zero, .L80AA2BC4
|
||||
/* 00024 80AA2AC4 24022000 */ addiu $v0, $zero, 0x2000 ## $v0 = 00002000
|
||||
.L80AA2AC8:
|
||||
/* 00028 80AA2AC8 947813FA */ lhu $t8, 0x13FA($v1) ## 8015FA5A
|
||||
/* 0002C 80AA2ACC 33190400 */ andi $t9, $t8, 0x0400 ## $t9 = 00000000
|
||||
/* 00030 80AA2AD0 53200027 */ beql $t9, $zero, .L80AA2B70
|
||||
/* 00034 80AA2AD4 8C4F067C */ lw $t7, 0x067C($v0) ## 0000267C
|
||||
/* 00038 80AA2AD8 846813D0 */ lh $t0, 0x13D0($v1) ## 8015FA30
|
||||
/* 0003C 80AA2ADC 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
||||
/* 00040 80AA2AE0 A46813D0 */ sh $t0, 0x13D0($v1) ## 8015FA30
|
||||
/* 00044 80AA2AE4 8CA90004 */ lw $t1, 0x0004($a1) ## 00000004
|
||||
/* 00048 80AA2AE8 01215025 */ or $t2, $t1, $at ## $t2 = 00010000
|
||||
/* 0004C 80AA2AEC ACAA0004 */ sw $t2, 0x0004($a1) ## 00000004
|
||||
/* 00050 80AA2AF0 846213D0 */ lh $v0, 0x13D0($v1) ## 8015FA30
|
||||
/* 00054 80AA2AF4 284100D3 */ slti $at, $v0, 0x00D3
|
||||
/* 00058 80AA2AF8 54200004 */ bnel $at, $zero, .L80AA2B0C
|
||||
/* 0005C 80AA2AFC 8C640EC4 */ lw $a0, 0x0EC4($v1) ## 8015F524
|
||||
/* 00060 80AA2B00 10000030 */ beq $zero, $zero, .L80AA2BC4
|
||||
/* 00064 80AA2B04 2402208E */ addiu $v0, $zero, 0x208E ## $v0 = 0000208E
|
||||
/* 00068 80AA2B08 8C640EC4 */ lw $a0, 0x0EC4($v1) ## 8015F524
|
||||
.L80AA2B0C:
|
||||
/* 0006C 80AA2B0C 240B00B4 */ addiu $t3, $zero, 0x00B4 ## $t3 = 000000B4
|
||||
/* 00070 80AA2B10 10800003 */ beq $a0, $zero, .L80AA2B20
|
||||
/* 00074 80AA2B14 288100B4 */ slti $at, $a0, 0x00B4
|
||||
/* 00078 80AA2B18 54200004 */ bnel $at, $zero, .L80AA2B2C
|
||||
/* 0007C 80AA2B1C 946C0ED6 */ lhu $t4, 0x0ED6($v1) ## 8015F536
|
||||
.L80AA2B20:
|
||||
/* 00080 80AA2B20 AC6B0EC4 */ sw $t3, 0x0EC4($v1) ## 8015F524
|
||||
/* 00084 80AA2B24 846213D0 */ lh $v0, 0x13D0($v1) ## 8015FA30
|
||||
/* 00088 80AA2B28 946C0ED6 */ lhu $t4, 0x0ED6($v1) ## 8015F536
|
||||
.L80AA2B2C:
|
||||
/* 0008C 80AA2B2C 28410032 */ slti $at, $v0, 0x0032
|
||||
/* 00090 80AA2B30 318D4000 */ andi $t5, $t4, 0x4000 ## $t5 = 00000000
|
||||
/* 00094 80AA2B34 55A00006 */ bnel $t5, $zero, .L80AA2B50
|
||||
/* 00098 80AA2B38 8C6E0EC4 */ lw $t6, 0x0EC4($v1) ## 8015F524
|
||||
/* 0009C 80AA2B3C 50200004 */ beql $at, $zero, .L80AA2B50
|
||||
/* 000A0 80AA2B40 8C6E0EC4 */ lw $t6, 0x0EC4($v1) ## 8015F524
|
||||
/* 000A4 80AA2B44 1000001F */ beq $zero, $zero, .L80AA2BC4
|
||||
/* 000A8 80AA2B48 2402208F */ addiu $v0, $zero, 0x208F ## $v0 = 0000208F
|
||||
/* 000AC 80AA2B4C 8C6E0EC4 */ lw $t6, 0x0EC4($v1) ## 8015F524
|
||||
.L80AA2B50:
|
||||
/* 000B0 80AA2B50 004E082A */ slt $at, $v0, $t6
|
||||
/* 000B4 80AA2B54 10200003 */ beq $at, $zero, .L80AA2B64
|
||||
/* 000B8 80AA2B58 00000000 */ nop
|
||||
/* 000BC 80AA2B5C 10000019 */ beq $zero, $zero, .L80AA2BC4
|
||||
/* 000C0 80AA2B60 24022012 */ addiu $v0, $zero, 0x2012 ## $v0 = 00002012
|
||||
.L80AA2B64:
|
||||
/* 000C4 80AA2B64 10000017 */ beq $zero, $zero, .L80AA2BC4
|
||||
/* 000C8 80AA2B68 24022004 */ addiu $v0, $zero, 0x2004 ## $v0 = 00002004
|
||||
/* 000CC 80AA2B6C 8C4F067C */ lw $t7, 0x067C($v0) ## 00002680
|
||||
.L80AA2B70:
|
||||
/* 000D0 80AA2B70 24060014 */ addiu $a2, $zero, 0x0014 ## $a2 = 00000014
|
||||
/* 000D4 80AA2B74 3C014496 */ lui $at, 0x4496 ## $at = 44960000
|
||||
/* 000D8 80AA2B78 000FC200 */ sll $t8, $t7, 8
|
||||
/* 000DC 80AA2B7C 0702000B */ bltzl $t8, .L80AA2BAC
|
||||
/* 000E0 80AA2B80 94790F0E */ lhu $t9, 0x0F0E($v1) ## 8015F56E
|
||||
/* 000E4 80AA2B84 44812000 */ mtc1 $at, $f4 ## $f4 = 1200.00
|
||||
/* 000E8 80AA2B88 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
|
||||
/* 000EC 80AA2B8C 0C00D4FD */ jal Actor_FindNearby
|
||||
|
||||
/* 000F0 80AA2B90 E7A40010 */ swc1 $f4, 0x0010($sp)
|
||||
/* 000F4 80AA2B94 3C038016 */ lui $v1, %hi(gSaveContext)
|
||||
/* 000F8 80AA2B98 14400003 */ bne $v0, $zero, .L80AA2BA8
|
||||
/* 000FC 80AA2B9C 2463E660 */ addiu $v1, %lo(gSaveContext)
|
||||
/* 00100 80AA2BA0 10000008 */ beq $zero, $zero, .L80AA2BC4
|
||||
/* 00104 80AA2BA4 24022001 */ addiu $v0, $zero, 0x2001 ## $v0 = 00002001
|
||||
.L80AA2BA8:
|
||||
/* 00108 80AA2BA8 94790F0E */ lhu $t9, 0x0F0E($v1) ## 8015F56E
|
||||
.L80AA2BAC:
|
||||
/* 0010C 80AA2BAC 24022003 */ addiu $v0, $zero, 0x2003 ## $v0 = 00002003
|
||||
/* 00110 80AA2BB0 33280200 */ andi $t0, $t9, 0x0200 ## $t0 = 00000000
|
||||
/* 00114 80AA2BB4 15000003 */ bne $t0, $zero, .L80AA2BC4
|
||||
/* 00118 80AA2BB8 00000000 */ nop
|
||||
/* 0011C 80AA2BBC 10000001 */ beq $zero, $zero, .L80AA2BC4
|
||||
/* 00120 80AA2BC0 24022002 */ addiu $v0, $zero, 0x2002 ## $v0 = 00002002
|
||||
.L80AA2BC4:
|
||||
/* 00124 80AA2BC4 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 00128 80AA2BC8 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
|
||||
/* 0012C 80AA2BCC 03E00008 */ jr $ra
|
||||
/* 00130 80AA2BD0 00000000 */ nop
|
|
@ -1,213 +0,0 @@
|
|||
.late_rodata
|
||||
glabel jtbl_80AA3900
|
||||
.word L80AA2E40
|
||||
.word L80AA2E40
|
||||
.word L80AA2D20
|
||||
.word L80AA2E40
|
||||
.word L80AA2C8C
|
||||
.word L80AA2C20
|
||||
.word L80AA2E40
|
||||
.word L80AA2E40
|
||||
.word L80AA2E40
|
||||
.word L80AA2E40
|
||||
glabel jtbl_80AA3928
|
||||
.word L80AA2D80
|
||||
.word L80AA2E3C
|
||||
.word L80AA2E08
|
||||
.word L80AA2E1C
|
||||
.word L80AA2DB0
|
||||
.word L80AA2E3C
|
||||
.word L80AA2E3C
|
||||
.word L80AA2E3C
|
||||
.word L80AA2E3C
|
||||
.word L80AA2E3C
|
||||
.word L80AA2E3C
|
||||
.word L80AA2E3C
|
||||
.word L80AA2E3C
|
||||
.word L80AA2E3C
|
||||
.word L80AA2E3C
|
||||
.word L80AA2E3C
|
||||
.word L80AA2E3C
|
||||
.word L80AA2E3C
|
||||
.word L80AA2DB0
|
||||
|
||||
.text
|
||||
glabel func_80AA2BD4
|
||||
/* 00134 80AA2BD4 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
|
||||
/* 00138 80AA2BD8 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 0013C 80AA2BDC 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
|
||||
/* 00140 80AA2BE0 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001
|
||||
/* 00144 80AA2BE4 A7AE001E */ sh $t6, 0x001E($sp)
|
||||
/* 00148 80AA2BE8 AFA60020 */ sw $a2, 0x0020($sp)
|
||||
/* 0014C 80AA2BEC 248420D8 */ addiu $a0, $a0, 0x20D8 ## $a0 = 000020D8
|
||||
/* 00150 80AA2BF0 0C042F6F */ jal func_8010BDBC
|
||||
/* 00154 80AA2BF4 AFA50024 */ sw $a1, 0x0024($sp)
|
||||
/* 00158 80AA2BF8 2C41000A */ sltiu $at, $v0, 0x000A
|
||||
/* 0015C 80AA2BFC 8FA50024 */ lw $a1, 0x0024($sp)
|
||||
/* 00160 80AA2C00 1020008F */ beq $at, $zero, .L80AA2E40
|
||||
/* 00164 80AA2C04 8FA60020 */ lw $a2, 0x0020($sp)
|
||||
/* 00168 80AA2C08 00027880 */ sll $t7, $v0, 2
|
||||
/* 0016C 80AA2C0C 3C0180AA */ lui $at, %hi(jtbl_80AA3900) ## $at = 80AA0000
|
||||
/* 00170 80AA2C10 002F0821 */ addu $at, $at, $t7
|
||||
/* 00174 80AA2C14 8C2F3900 */ lw $t7, %lo(jtbl_80AA3900)($at)
|
||||
/* 00178 80AA2C18 01E00008 */ jr $t7
|
||||
/* 0017C 80AA2C1C 00000000 */ nop
|
||||
glabel L80AA2C20
|
||||
/* 00180 80AA2C20 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
|
||||
/* 00184 80AA2C24 0C041AF2 */ jal func_80106BC8
|
||||
/* 00188 80AA2C28 AFA60020 */ sw $a2, 0x0020($sp)
|
||||
/* 0018C 80AA2C2C 10400084 */ beq $v0, $zero, .L80AA2E40
|
||||
/* 00190 80AA2C30 8FA60020 */ lw $a2, 0x0020($sp)
|
||||
/* 00194 80AA2C34 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
||||
/* 00198 80AA2C38 00260821 */ addu $at, $at, $a2
|
||||
/* 0019C 80AA2C3C 24180157 */ addiu $t8, $zero, 0x0157 ## $t8 = 00000157
|
||||
/* 001A0 80AA2C40 3C028016 */ lui $v0, %hi(gSaveContext)
|
||||
/* 001A4 80AA2C44 A4381E1A */ sh $t8, 0x1E1A($at) ## 00011E1A
|
||||
/* 001A8 80AA2C48 2442E660 */ addiu $v0, %lo(gSaveContext)
|
||||
/* 001AC 80AA2C4C 3419FFF0 */ ori $t9, $zero, 0xFFF0 ## $t9 = 0000FFF0
|
||||
/* 001B0 80AA2C50 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
||||
/* 001B4 80AA2C54 A4591412 */ sh $t9, 0x1412($v0) ## 8015FA72
|
||||
/* 001B8 80AA2C58 00260821 */ addu $at, $at, $a2
|
||||
/* 001BC 80AA2C5C 24080026 */ addiu $t0, $zero, 0x0026 ## $t0 = 00000026
|
||||
/* 001C0 80AA2C60 A0281E5E */ sb $t0, 0x1E5E($at) ## 00011E5E
|
||||
/* 001C4 80AA2C64 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
||||
/* 001C8 80AA2C68 00260821 */ addu $at, $at, $a2
|
||||
/* 001CC 80AA2C6C 24090014 */ addiu $t1, $zero, 0x0014 ## $t1 = 00000014
|
||||
/* 001D0 80AA2C70 A0291E15 */ sb $t1, 0x1E15($at) ## 00011E15
|
||||
/* 001D4 80AA2C74 944A13FA */ lhu $t2, 0x13FA($v0) ## 8015FA5A
|
||||
/* 001D8 80AA2C78 240C000F */ addiu $t4, $zero, 0x000F ## $t4 = 0000000F
|
||||
/* 001DC 80AA2C7C A44C13CE */ sh $t4, 0x13CE($v0) ## 8015FA2E
|
||||
/* 001E0 80AA2C80 354B0400 */ ori $t3, $t2, 0x0400 ## $t3 = 00000400
|
||||
/* 001E4 80AA2C84 1000006E */ beq $zero, $zero, .L80AA2E40
|
||||
/* 001E8 80AA2C88 A44B13FA */ sh $t3, 0x13FA($v0) ## 8015FA5A
|
||||
glabel L80AA2C8C
|
||||
/* 001EC 80AA2C8C 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
|
||||
/* 001F0 80AA2C90 0C041AF2 */ jal func_80106BC8
|
||||
/* 001F4 80AA2C94 AFA60020 */ sw $a2, 0x0020($sp)
|
||||
/* 001F8 80AA2C98 10400069 */ beq $v0, $zero, .L80AA2E40
|
||||
/* 001FC 80AA2C9C 8FA60020 */ lw $a2, 0x0020($sp)
|
||||
/* 00200 80AA2CA0 3C028016 */ lui $v0, %hi(gSaveContext)
|
||||
/* 00204 80AA2CA4 2442E660 */ addiu $v0, %lo(gSaveContext)
|
||||
/* 00208 80AA2CA8 944D0F0E */ lhu $t5, 0x0F0E($v0) ## 8015F56E
|
||||
/* 0020C 80AA2CAC 3C0F0001 */ lui $t7, 0x0001 ## $t7 = 00010000
|
||||
/* 00210 80AA2CB0 01E67821 */ addu $t7, $t7, $a2
|
||||
/* 00214 80AA2CB4 35AE0200 */ ori $t6, $t5, 0x0200 ## $t6 = 00000200
|
||||
/* 00218 80AA2CB8 A44E0F0E */ sh $t6, 0x0F0E($v0) ## 8015F56E
|
||||
/* 0021C 80AA2CBC 91EF04BD */ lbu $t7, 0x04BD($t7) ## 000104BD
|
||||
/* 00220 80AA2CC0 55E00060 */ bnel $t7, $zero, .L80AA2E44
|
||||
/* 00224 80AA2CC4 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00228 80AA2CC8 94580ED6 */ lhu $t8, 0x0ED6($v0) ## 8015F536
|
||||
/* 0022C 80AA2CCC 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
|
||||
/* 00230 80AA2CD0 33194000 */ andi $t9, $t8, 0x4000 ## $t9 = 00000000
|
||||
/* 00234 80AA2CD4 53200006 */ beql $t9, $zero, .L80AA2CF0
|
||||
/* 00238 80AA2CD8 8C480EC4 */ lw $t0, 0x0EC4($v0) ## 8015F524
|
||||
/* 0023C 80AA2CDC 0C042DC8 */ jal func_8010B720
|
||||
/* 00240 80AA2CE0 24052091 */ addiu $a1, $zero, 0x2091 ## $a1 = 00002091
|
||||
/* 00244 80AA2CE4 10000057 */ beq $zero, $zero, .L80AA2E44
|
||||
/* 00248 80AA2CE8 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 0024C 80AA2CEC 8C480EC4 */ lw $t0, 0x0EC4($v0) ## 00000EC4
|
||||
.L80AA2CF0:
|
||||
/* 00250 80AA2CF0 24052092 */ addiu $a1, $zero, 0x2092 ## $a1 = 00002092
|
||||
/* 00254 80AA2CF4 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
|
||||
/* 00258 80AA2CF8 15000005 */ bne $t0, $zero, .L80AA2D10
|
||||
/* 0025C 80AA2CFC 00000000 */ nop
|
||||
/* 00260 80AA2D00 0C042DC8 */ jal func_8010B720
|
||||
/* 00264 80AA2D04 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
|
||||
/* 00268 80AA2D08 1000004E */ beq $zero, $zero, .L80AA2E44
|
||||
/* 0026C 80AA2D0C 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
.L80AA2D10:
|
||||
/* 00270 80AA2D10 0C042DC8 */ jal func_8010B720
|
||||
/* 00274 80AA2D14 24052090 */ addiu $a1, $zero, 0x2090 ## $a1 = 00002090
|
||||
/* 00278 80AA2D18 1000004A */ beq $zero, $zero, .L80AA2E44
|
||||
/* 0027C 80AA2D1C 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
glabel L80AA2D20
|
||||
/* 00280 80AA2D20 94A2010E */ lhu $v0, 0x010E($a1) ## 0000010E
|
||||
/* 00284 80AA2D24 2841208F */ slti $at, $v0, 0x208F
|
||||
/* 00288 80AA2D28 14200006 */ bne $at, $zero, .L80AA2D44
|
||||
/* 0028C 80AA2D2C 2449E000 */ addiu $t1, $v0, 0xE000 ## $t1 = FFFFE000
|
||||
/* 00290 80AA2D30 2401208F */ addiu $at, $zero, 0x208F ## $at = 0000208F
|
||||
/* 00294 80AA2D34 10410019 */ beq $v0, $at, .L80AA2D9C
|
||||
/* 00298 80AA2D38 00000000 */ nop
|
||||
/* 0029C 80AA2D3C 10000040 */ beq $zero, $zero, .L80AA2E40
|
||||
/* 002A0 80AA2D40 A7A0001E */ sh $zero, 0x001E($sp)
|
||||
.L80AA2D44:
|
||||
/* 002A4 80AA2D44 28412013 */ slti $at, $v0, 0x2013
|
||||
/* 002A8 80AA2D48 14200005 */ bne $at, $zero, .L80AA2D60
|
||||
/* 002AC 80AA2D4C 2401208E */ addiu $at, $zero, 0x208E ## $at = 0000208E
|
||||
/* 002B0 80AA2D50 1041001F */ beq $v0, $at, .L80AA2DD0
|
||||
/* 002B4 80AA2D54 00000000 */ nop
|
||||
/* 002B8 80AA2D58 10000039 */ beq $zero, $zero, .L80AA2E40
|
||||
/* 002BC 80AA2D5C A7A0001E */ sh $zero, 0x001E($sp)
|
||||
.L80AA2D60:
|
||||
/* 002C0 80AA2D60 2D210013 */ sltiu $at, $t1, 0x0013
|
||||
/* 002C4 80AA2D64 10200035 */ beq $at, $zero, .L80AA2E3C
|
||||
/* 002C8 80AA2D68 00094880 */ sll $t1, $t1, 2
|
||||
/* 002CC 80AA2D6C 3C0180AA */ lui $at, %hi(jtbl_80AA3928) ## $at = 80AA0000
|
||||
/* 002D0 80AA2D70 00290821 */ addu $at, $at, $t1
|
||||
/* 002D4 80AA2D74 8C293928 */ lw $t1, %lo(jtbl_80AA3928)($at)
|
||||
/* 002D8 80AA2D78 01200008 */ jr $t1
|
||||
/* 002DC 80AA2D7C 00000000 */ nop
|
||||
glabel L80AA2D80
|
||||
/* 002E0 80AA2D80 3C028016 */ lui $v0, %hi(gSaveContext)
|
||||
/* 002E4 80AA2D84 2442E660 */ addiu $v0, %lo(gSaveContext)
|
||||
/* 002E8 80AA2D88 944A0F0E */ lhu $t2, 0x0F0E($v0) ## 8015F56E
|
||||
/* 002EC 80AA2D8C A7A0001E */ sh $zero, 0x001E($sp)
|
||||
/* 002F0 80AA2D90 354B0100 */ ori $t3, $t2, 0x0100 ## $t3 = 00000100
|
||||
/* 002F4 80AA2D94 1000002A */ beq $zero, $zero, .L80AA2E40
|
||||
/* 002F8 80AA2D98 A44B0F0E */ sh $t3, 0x0F0E($v0) ## 8015F56E
|
||||
.L80AA2D9C:
|
||||
/* 002FC 80AA2D9C 3C028016 */ lui $v0, %hi(gSaveContext)
|
||||
/* 00300 80AA2DA0 2442E660 */ addiu $v0, %lo(gSaveContext)
|
||||
/* 00304 80AA2DA4 944C0ED6 */ lhu $t4, 0x0ED6($v0) ## 8015F536
|
||||
/* 00308 80AA2DA8 358D4000 */ ori $t5, $t4, 0x4000 ## $t5 = 00004000
|
||||
/* 0030C 80AA2DAC A44D0ED6 */ sh $t5, 0x0ED6($v0) ## 8015F536
|
||||
glabel L80AA2DB0
|
||||
/* 00310 80AA2DB0 3C028016 */ lui $v0, %hi(gSaveContext)
|
||||
/* 00314 80AA2DB4 2442E660 */ addiu $v0, %lo(gSaveContext)
|
||||
/* 00318 80AA2DB8 844313D0 */ lh $v1, 0x13D0($v0) ## 8015FA30
|
||||
/* 0031C 80AA2DBC 8C4E0EC4 */ lw $t6, 0x0EC4($v0) ## 8015F524
|
||||
/* 00320 80AA2DC0 006E082A */ slt $at, $v1, $t6
|
||||
/* 00324 80AA2DC4 10200002 */ beq $at, $zero, .L80AA2DD0
|
||||
/* 00328 80AA2DC8 00000000 */ nop
|
||||
/* 0032C 80AA2DCC AC430EC4 */ sw $v1, 0x0EC4($v0) ## 8015F524
|
||||
.L80AA2DD0:
|
||||
/* 00330 80AA2DD0 3C028016 */ lui $v0, %hi(gSaveContext)
|
||||
/* 00334 80AA2DD4 2442E660 */ addiu $v0, %lo(gSaveContext)
|
||||
/* 00338 80AA2DD8 944F13FA */ lhu $t7, 0x13FA($v0) ## 8015FA5A
|
||||
/* 0033C 80AA2DDC 3C01FFFE */ lui $at, 0xFFFE ## $at = FFFE0000
|
||||
/* 00340 80AA2DE0 3421FFFF */ ori $at, $at, 0xFFFF ## $at = FFFEFFFF
|
||||
/* 00344 80AA2DE4 31F8FBFF */ andi $t8, $t7, 0xFBFF ## $t8 = 00000000
|
||||
/* 00348 80AA2DE8 A45813FA */ sh $t8, 0x13FA($v0) ## 8015FA5A
|
||||
/* 0034C 80AA2DEC 8CB90004 */ lw $t9, 0x0004($a1) ## 00000004
|
||||
/* 00350 80AA2DF0 2409000A */ addiu $t1, $zero, 0x000A ## $t1 = 0000000A
|
||||
/* 00354 80AA2DF4 03214024 */ and $t0, $t9, $at
|
||||
/* 00358 80AA2DF8 ACA80004 */ sw $t0, 0x0004($a1) ## 00000004
|
||||
/* 0035C 80AA2DFC A7A0001E */ sh $zero, 0x001E($sp)
|
||||
/* 00360 80AA2E00 1000000F */ beq $zero, $zero, .L80AA2E40
|
||||
/* 00364 80AA2E04 A44913CE */ sh $t1, 0x13CE($v0) ## 8015FA2E
|
||||
glabel L80AA2E08
|
||||
/* 00368 80AA2E08 3C028016 */ lui $v0, %hi(gSaveContext)
|
||||
/* 0036C 80AA2E0C 2442E660 */ addiu $v0, %lo(gSaveContext)
|
||||
/* 00370 80AA2E10 944A0F0E */ lhu $t2, 0x0F0E($v0) ## 8015F56E
|
||||
/* 00374 80AA2E14 354B0200 */ ori $t3, $t2, 0x0200 ## $t3 = 00000200
|
||||
/* 00378 80AA2E18 A44B0F0E */ sh $t3, 0x0F0E($v0) ## 8015F56E
|
||||
glabel L80AA2E1C
|
||||
/* 0037C 80AA2E1C 3C028016 */ lui $v0, %hi(gSaveContext)
|
||||
/* 00380 80AA2E20 2442E660 */ addiu $v0, %lo(gSaveContext)
|
||||
/* 00384 80AA2E24 944C13FA */ lhu $t4, 0x13FA($v0) ## 8015FA5A
|
||||
/* 00388 80AA2E28 318D0400 */ andi $t5, $t4, 0x0400 ## $t5 = 00000000
|
||||
/* 0038C 80AA2E2C 55A00005 */ bnel $t5, $zero, .L80AA2E44
|
||||
/* 00390 80AA2E30 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00394 80AA2E34 10000002 */ beq $zero, $zero, .L80AA2E40
|
||||
/* 00398 80AA2E38 A7A0001E */ sh $zero, 0x001E($sp)
|
||||
glabel L80AA2E3C
|
||||
.L80AA2E3C:
|
||||
/* 0039C 80AA2E3C A7A0001E */ sh $zero, 0x001E($sp)
|
||||
glabel L80AA2E40
|
||||
.L80AA2E40:
|
||||
/* 003A0 80AA2E40 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
.L80AA2E44:
|
||||
/* 003A4 80AA2E44 87A2001E */ lh $v0, 0x001E($sp)
|
||||
/* 003A8 80AA2E48 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
|
||||
/* 003AC 80AA2E4C 03E00008 */ jr $ra
|
||||
/* 003B0 80AA2E50 00000000 */ nop
|
|
@ -1,31 +0,0 @@
|
|||
glabel func_80AA2E54
|
||||
/* 003B4 80AA2E54 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 003B8 80AA2E58 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 003BC 80AA2E5C 848E01E0 */ lh $t6, 0x01E0($a0) ## 000001E0
|
||||
/* 003C0 80AA2E60 8CA21C44 */ lw $v0, 0x1C44($a1) ## 00001C44
|
||||
/* 003C4 80AA2E64 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
|
||||
/* 003C8 80AA2E68 15C00008 */ bne $t6, $zero, .L80AA2E8C
|
||||
/* 003CC 80AA2E6C 00000000 */ nop
|
||||
/* 003D0 80AA2E70 8C980154 */ lw $t8, 0x0154($a0) ## 00000154
|
||||
/* 003D4 80AA2E74 3C0F0601 */ lui $t7, 0x0601 ## $t7 = 06010000
|
||||
/* 003D8 80AA2E78 25EF9EE0 */ addiu $t7, $t7, 0x9EE0 ## $t7 = 06009EE0
|
||||
/* 003DC 80AA2E7C 15F80003 */ bne $t7, $t8, .L80AA2E8C
|
||||
/* 003E0 80AA2E80 00000000 */ nop
|
||||
/* 003E4 80AA2E84 10000001 */ beq $zero, $zero, .L80AA2E8C
|
||||
/* 003E8 80AA2E88 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
|
||||
.L80AA2E8C:
|
||||
/* 003EC 80AA2E8C 8C480024 */ lw $t0, 0x0024($v0) ## 00000024
|
||||
/* 003F0 80AA2E90 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
|
||||
/* 003F4 80AA2E94 248501E0 */ addiu $a1, $a0, 0x01E0 ## $a1 = 000001E0
|
||||
/* 003F8 80AA2E98 AC8801F8 */ sw $t0, 0x01F8($a0) ## 000001F8
|
||||
/* 003FC 80AA2E9C 8C590028 */ lw $t9, 0x0028($v0) ## 00000028
|
||||
/* 00400 80AA2EA0 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
|
||||
/* 00404 80AA2EA4 AC9901FC */ sw $t9, 0x01FC($a0) ## 000001FC
|
||||
/* 00408 80AA2EA8 8C48002C */ lw $t0, 0x002C($v0) ## 0000002C
|
||||
/* 0040C 80AA2EAC E48401F4 */ swc1 $f4, 0x01F4($a0) ## 000001F4
|
||||
/* 00410 80AA2EB0 0C00D285 */ jal func_80034A14
|
||||
/* 00414 80AA2EB4 AC880200 */ sw $t0, 0x0200($a0) ## 00000200
|
||||
/* 00418 80AA2EB8 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 0041C 80AA2EBC 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 00420 80AA2EC0 03E00008 */ jr $ra
|
||||
/* 00424 80AA2EC4 00000000 */ nop
|
|
@ -1,29 +0,0 @@
|
|||
glabel func_80AA2EC8
|
||||
/* 00428 80AA2EC8 3C028016 */ lui $v0, %hi(gSaveContext)
|
||||
/* 0042C 80AA2ECC 2442E660 */ addiu $v0, %lo(gSaveContext)
|
||||
/* 00430 80AA2ED0 8C4E0004 */ lw $t6, 0x0004($v0) ## 8015E664
|
||||
/* 00434 80AA2ED4 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
|
||||
/* 00438 80AA2ED8 AFA40000 */ sw $a0, 0x0000($sp)
|
||||
/* 0043C 80AA2EDC 15C10003 */ bne $t6, $at, .L80AA2EEC
|
||||
/* 00440 80AA2EE0 AFA50004 */ sw $a1, 0x0004($sp)
|
||||
/* 00444 80AA2EE4 03E00008 */ jr $ra
|
||||
/* 00448 80AA2EE8 24020002 */ addiu $v0, $zero, 0x0002 ## $v0 = 00000002
|
||||
.L80AA2EEC:
|
||||
/* 0044C 80AA2EEC 944F0ED6 */ lhu $t7, 0x0ED6($v0) ## 00000ED8
|
||||
/* 00450 80AA2EF0 31F80100 */ andi $t8, $t7, 0x0100 ## $t8 = 00000000
|
||||
/* 00454 80AA2EF4 57000004 */ bnel $t8, $zero, .L80AA2F08
|
||||
/* 00458 80AA2EF8 945913FA */ lhu $t9, 0x13FA($v0) ## 000013FC
|
||||
/* 0045C 80AA2EFC 03E00008 */ jr $ra
|
||||
/* 00460 80AA2F00 24020002 */ addiu $v0, $zero, 0x0002 ## $v0 = 00000002
|
||||
.L80AA2F04:
|
||||
/* 00464 80AA2F04 945913FA */ lhu $t9, 0x13FA($v0) ## 000013FC
|
||||
.L80AA2F08:
|
||||
/* 00468 80AA2F08 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
||||
/* 0046C 80AA2F0C 33280400 */ andi $t0, $t9, 0x0400 ## $t0 = 00000000
|
||||
/* 00470 80AA2F10 11000003 */ beq $t0, $zero, .L80AA2F20
|
||||
/* 00474 80AA2F14 00000000 */ nop
|
||||
/* 00478 80AA2F18 03E00008 */ jr $ra
|
||||
/* 0047C 80AA2F1C 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
|
||||
.L80AA2F20:
|
||||
/* 00480 80AA2F20 03E00008 */ jr $ra
|
||||
/* 00484 80AA2F24 00000000 */ nop
|
|
@ -1,28 +0,0 @@
|
|||
glabel func_80AA2F28
|
||||
/* 00488 80AA2F28 8C8F0154 */ lw $t7, 0x0154($a0) ## 00000154
|
||||
/* 0048C 80AA2F2C 3C0E0601 */ lui $t6, 0x0601 ## $t6 = 06010000
|
||||
/* 00490 80AA2F30 25CE9EE0 */ addiu $t6, $t6, 0x9EE0 ## $t6 = 06009EE0
|
||||
/* 00494 80AA2F34 51CF0004 */ beql $t6, $t7, .L80AA2F48
|
||||
/* 00498 80AA2F38 849801E0 */ lh $t8, 0x01E0($a0) ## 000001E0
|
||||
/* 0049C 80AA2F3C 03E00008 */ jr $ra
|
||||
/* 004A0 80AA2F40 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
||||
.L80AA2F44:
|
||||
/* 004A4 80AA2F44 849801E0 */ lh $t8, 0x01E0($a0) ## 000001E0
|
||||
.L80AA2F48:
|
||||
/* 004A8 80AA2F48 53000004 */ beql $t8, $zero, .L80AA2F5C
|
||||
/* 004AC 80AA2F4C 8499020E */ lh $t9, 0x020E($a0) ## 0000020E
|
||||
/* 004B0 80AA2F50 03E00008 */ jr $ra
|
||||
/* 004B4 80AA2F54 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
||||
.L80AA2F58:
|
||||
/* 004B8 80AA2F58 8499020E */ lh $t9, 0x020E($a0) ## 0000020E
|
||||
.L80AA2F5C:
|
||||
/* 004BC 80AA2F5C 24030002 */ addiu $v1, $zero, 0x0002 ## $v1 = 00000002
|
||||
/* 004C0 80AA2F60 A480020C */ sh $zero, 0x020C($a0) ## 0000020C
|
||||
/* 004C4 80AA2F64 10790003 */ beq $v1, $t9, .L80AA2F74
|
||||
/* 004C8 80AA2F68 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
|
||||
/* 004CC 80AA2F6C 03E00008 */ jr $ra
|
||||
/* 004D0 80AA2F70 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
||||
.L80AA2F74:
|
||||
/* 004D4 80AA2F74 A4830210 */ sh $v1, 0x0210($a0) ## 00000210
|
||||
/* 004D8 80AA2F78 03E00008 */ jr $ra
|
||||
/* 004DC 80AA2F7C 00000000 */ nop
|
|
@ -1,39 +0,0 @@
|
|||
glabel func_80AA2F80
|
||||
/* 004E0 80AA2F80 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 004E4 80AA2F84 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 004E8 80AA2F88 0C2A8BCA */ jal func_80AA2F28
|
||||
/* 004EC 80AA2F8C AFA40018 */ sw $a0, 0x0018($sp)
|
||||
/* 004F0 80AA2F90 14400018 */ bne $v0, $zero, .L80AA2FF4
|
||||
/* 004F4 80AA2F94 8FA60018 */ lw $a2, 0x0018($sp)
|
||||
/* 004F8 80AA2F98 84C2020C */ lh $v0, 0x020C($a2) ## 0000020C
|
||||
/* 004FC 80AA2F9C 14400003 */ bne $v0, $zero, .L80AA2FAC
|
||||
/* 00500 80AA2FA0 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF
|
||||
/* 00504 80AA2FA4 10000003 */ beq $zero, $zero, .L80AA2FB4
|
||||
/* 00508 80AA2FA8 00001825 */ or $v1, $zero, $zero ## $v1 = 00000000
|
||||
.L80AA2FAC:
|
||||
/* 0050C 80AA2FAC A4CE020C */ sh $t6, 0x020C($a2) ## 0000020C
|
||||
/* 00510 80AA2FB0 84C3020C */ lh $v1, 0x020C($a2) ## 0000020C
|
||||
.L80AA2FB4:
|
||||
/* 00514 80AA2FB4 54600010 */ bnel $v1, $zero, .L80AA2FF8
|
||||
/* 00518 80AA2FB8 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 0051C 80AA2FBC 84CF020E */ lh $t7, 0x020E($a2) ## 0000020E
|
||||
/* 00520 80AA2FC0 2404001E */ addiu $a0, $zero, 0x001E ## $a0 = 0000001E
|
||||
/* 00524 80AA2FC4 2405001E */ addiu $a1, $zero, 0x001E ## $a1 = 0000001E
|
||||
/* 00528 80AA2FC8 25F80001 */ addiu $t8, $t7, 0x0001 ## $t8 = 00000001
|
||||
/* 0052C 80AA2FCC A4D8020E */ sh $t8, 0x020E($a2) ## 0000020E
|
||||
/* 00530 80AA2FD0 84D9020E */ lh $t9, 0x020E($a2) ## 0000020E
|
||||
/* 00534 80AA2FD4 2B210003 */ slti $at, $t9, 0x0003
|
||||
/* 00538 80AA2FD8 54200007 */ bnel $at, $zero, .L80AA2FF8
|
||||
/* 0053C 80AA2FDC 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00540 80AA2FE0 0C01DF64 */ jal Math_Rand_S16Offset
|
||||
|
||||
/* 00544 80AA2FE4 AFA60018 */ sw $a2, 0x0018($sp)
|
||||
/* 00548 80AA2FE8 8FA60018 */ lw $a2, 0x0018($sp)
|
||||
/* 0054C 80AA2FEC A4C2020C */ sh $v0, 0x020C($a2) ## 0000020C
|
||||
/* 00550 80AA2FF0 A4C0020E */ sh $zero, 0x020E($a2) ## 0000020E
|
||||
.L80AA2FF4:
|
||||
/* 00554 80AA2FF4 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
.L80AA2FF8:
|
||||
/* 00558 80AA2FF8 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 0055C 80AA2FFC 03E00008 */ jr $ra
|
||||
/* 00560 80AA3000 00000000 */ nop
|
|
@ -1,31 +0,0 @@
|
|||
glabel func_80AA3004
|
||||
/* 00564 80AA3004 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
|
||||
/* 00568 80AA3008 3C0F80AA */ lui $t7, %hi(D_80AA3848) ## $t7 = 80AA0000
|
||||
/* 0056C 80AA300C 25EF3848 */ addiu $t7, $t7, %lo(D_80AA3848) ## $t7 = 80AA3848
|
||||
/* 00570 80AA3010 00057100 */ sll $t6, $a1, 4
|
||||
/* 00574 80AA3014 AFBF0024 */ sw $ra, 0x0024($sp)
|
||||
/* 00578 80AA3018 AFA40030 */ sw $a0, 0x0030($sp)
|
||||
/* 0057C 80AA301C 01CF1821 */ addu $v1, $t6, $t7
|
||||
/* 00580 80AA3020 8C640000 */ lw $a0, 0x0000($v1) ## 00000000
|
||||
/* 00584 80AA3024 0C028800 */ jal SkelAnime_GetFrameCount
|
||||
|
||||
/* 00588 80AA3028 AFA30028 */ sw $v1, 0x0028($sp)
|
||||
/* 0058C 80AA302C 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
|
||||
/* 00590 80AA3030 8FA30028 */ lw $v1, 0x0028($sp)
|
||||
/* 00594 80AA3034 8FA40030 */ lw $a0, 0x0030($sp)
|
||||
/* 00598 80AA3038 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* 0059C 80AA303C 90780008 */ lbu $t8, 0x0008($v1) ## 00000008
|
||||
/* 005A0 80AA3040 C468000C */ lwc1 $f8, 0x000C($v1) ## 0000000C
|
||||
/* 005A4 80AA3044 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
|
||||
/* 005A8 80AA3048 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
|
||||
/* 005AC 80AA304C 8C650000 */ lw $a1, 0x0000($v1) ## 00000000
|
||||
/* 005B0 80AA3050 E7A60010 */ swc1 $f6, 0x0010($sp)
|
||||
/* 005B4 80AA3054 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
|
||||
/* 005B8 80AA3058 AFB80014 */ sw $t8, 0x0014($sp)
|
||||
/* 005BC 80AA305C 0C029468 */ jal SkelAnime_ChangeAnim
|
||||
|
||||
/* 005C0 80AA3060 E7A80018 */ swc1 $f8, 0x0018($sp)
|
||||
/* 005C4 80AA3064 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
/* 005C8 80AA3068 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
|
||||
/* 005CC 80AA306C 03E00008 */ jr $ra
|
||||
/* 005D0 80AA3070 00000000 */ nop
|
|
@ -1,15 +0,0 @@
|
|||
glabel func_80AA3200
|
||||
/* 00760 80AA3200 AFA50004 */ sw $a1, 0x0004($sp)
|
||||
/* 00764 80AA3204 848E01E0 */ lh $t6, 0x01E0($a0) ## 000001E0
|
||||
/* 00768 80AA3208 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
|
||||
/* 0076C 80AA320C 15C10007 */ bne $t6, $at, .L80AA322C
|
||||
/* 00770 80AA3210 00000000 */ nop
|
||||
/* 00774 80AA3214 8C8F0004 */ lw $t7, 0x0004($a0) ## 00000004
|
||||
/* 00778 80AA3218 3C01FFFE */ lui $at, 0xFFFE ## $at = FFFE0000
|
||||
/* 0077C 80AA321C 3421FFFF */ ori $at, $at, 0xFFFF ## $at = FFFEFFFF
|
||||
/* 00780 80AA3220 01E1C024 */ and $t8, $t7, $at
|
||||
/* 00784 80AA3224 AC980004 */ sw $t8, 0x0004($a0) ## 00000004
|
||||
/* 00788 80AA3228 A48001E0 */ sh $zero, 0x01E0($a0) ## 000001E0
|
||||
.L80AA322C:
|
||||
/* 0078C 80AA322C 03E00008 */ jr $ra
|
||||
/* 00790 80AA3230 00000000 */ nop
|
|
@ -1,166 +0,0 @@
|
|||
.late_rodata
|
||||
glabel D_80AA3974
|
||||
.float 3.14159274101
|
||||
|
||||
glabel D_80AA3978
|
||||
.float 3.14159274101
|
||||
|
||||
glabel D_80AA397C
|
||||
.float 3.14159274101
|
||||
|
||||
glabel D_80AA3980
|
||||
.float 3.14159274101
|
||||
|
||||
.text
|
||||
glabel func_80AA3344
|
||||
/* 008A4 80AA3344 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8
|
||||
/* 008A8 80AA3348 AFB00018 */ sw $s0, 0x0018($sp)
|
||||
/* 008AC 80AA334C 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
|
||||
/* 008B0 80AA3350 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000
|
||||
/* 008B4 80AA3354 AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 008B8 80AA3358 AFA40038 */ sw $a0, 0x0038($sp)
|
||||
/* 008BC 80AA335C 10A10004 */ beq $a1, $at, .L80AA3370
|
||||
/* 008C0 80AA3360 AFA70044 */ sw $a3, 0x0044($sp)
|
||||
/* 008C4 80AA3364 24010006 */ addiu $at, $zero, 0x0006 ## $at = 00000006
|
||||
/* 008C8 80AA3368 54A10003 */ bnel $a1, $at, .L80AA3378
|
||||
/* 008CC 80AA336C 24010012 */ addiu $at, $zero, 0x0012 ## $at = 00000012
|
||||
.L80AA3370:
|
||||
/* 008D0 80AA3370 ACC00000 */ sw $zero, 0x0000($a2) ## 00000000
|
||||
/* 008D4 80AA3374 24010012 */ addiu $at, $zero, 0x0012 ## $at = 00000012
|
||||
.L80AA3378:
|
||||
/* 008D8 80AA3378 5601002E */ bnel $s0, $at, .L80AA3434
|
||||
/* 008DC 80AA337C 2401000B */ addiu $at, $zero, 0x000B ## $at = 0000000B
|
||||
/* 008E0 80AA3380 44807000 */ mtc1 $zero, $f14 ## $f14 = 0.00
|
||||
/* 008E4 80AA3384 3C0144AF */ lui $at, 0x44AF ## $at = 44AF0000
|
||||
/* 008E8 80AA3388 44816000 */ mtc1 $at, $f12 ## $f12 = 1400.00
|
||||
/* 008EC 80AA338C 44067000 */ mfc1 $a2, $f14
|
||||
/* 008F0 80AA3390 0C034261 */ jal Matrix_Translate
|
||||
/* 008F4 80AA3394 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
|
||||
/* 008F8 80AA3398 8FAF004C */ lw $t7, 0x004C($sp)
|
||||
/* 008FC 80AA339C 27AE002C */ addiu $t6, $sp, 0x002C ## $t6 = FFFFFFF4
|
||||
/* 00900 80AA33A0 3C014700 */ lui $at, 0x4700 ## $at = 47000000
|
||||
/* 00904 80AA33A4 89F901E8 */ lwl $t9, 0x01E8($t7) ## 000001E8
|
||||
/* 00908 80AA33A8 99F901EB */ lwr $t9, 0x01EB($t7) ## 000001EB
|
||||
/* 0090C 80AA33AC 44814000 */ mtc1 $at, $f8 ## $f8 = 32768.00
|
||||
/* 00910 80AA33B0 3C0180AA */ lui $at, %hi(D_80AA3974) ## $at = 80AA0000
|
||||
/* 00914 80AA33B4 ADD90000 */ sw $t9, 0x0000($t6) ## FFFFFFF4
|
||||
/* 00918 80AA33B8 95F901EC */ lhu $t9, 0x01EC($t7) ## 000001EC
|
||||
/* 0091C 80AA33BC 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
|
||||
/* 00920 80AA33C0 A5D90004 */ sh $t9, 0x0004($t6) ## FFFFFFF8
|
||||
/* 00924 80AA33C4 87A8002E */ lh $t0, 0x002E($sp)
|
||||
/* 00928 80AA33C8 C4303974 */ lwc1 $f16, %lo(D_80AA3974)($at)
|
||||
/* 0092C 80AA33CC 44882000 */ mtc1 $t0, $f4 ## $f4 = 0.00
|
||||
/* 00930 80AA33D0 00000000 */ nop
|
||||
/* 00934 80AA33D4 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* 00938 80AA33D8 46083283 */ div.s $f10, $f6, $f8
|
||||
/* 0093C 80AA33DC 46105302 */ mul.s $f12, $f10, $f16
|
||||
/* 00940 80AA33E0 0C0342DC */ jal Matrix_RotateX
|
||||
/* 00944 80AA33E4 00000000 */ nop
|
||||
/* 00948 80AA33E8 87A9002C */ lh $t1, 0x002C($sp)
|
||||
/* 0094C 80AA33EC 3C014700 */ lui $at, 0x4700 ## $at = 47000000
|
||||
/* 00950 80AA33F0 44813000 */ mtc1 $at, $f6 ## $f6 = 32768.00
|
||||
/* 00954 80AA33F4 44899000 */ mtc1 $t1, $f18 ## $f18 = 0.00
|
||||
/* 00958 80AA33F8 3C0180AA */ lui $at, %hi(D_80AA3978) ## $at = 80AA0000
|
||||
/* 0095C 80AA33FC C42A3978 */ lwc1 $f10, %lo(D_80AA3978)($at)
|
||||
/* 00960 80AA3400 46809120 */ cvt.s.w $f4, $f18
|
||||
/* 00964 80AA3404 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
|
||||
/* 00968 80AA3408 46062203 */ div.s $f8, $f4, $f6
|
||||
/* 0096C 80AA340C 460A4302 */ mul.s $f12, $f8, $f10
|
||||
/* 00970 80AA3410 0C0343B5 */ jal Matrix_RotateZ
|
||||
/* 00974 80AA3414 00000000 */ nop
|
||||
/* 00978 80AA3418 44807000 */ mtc1 $zero, $f14 ## $f14 = 0.00
|
||||
/* 0097C 80AA341C 3C01C4AF */ lui $at, 0xC4AF ## $at = C4AF0000
|
||||
/* 00980 80AA3420 44816000 */ mtc1 $at, $f12 ## $f12 = -1400.00
|
||||
/* 00984 80AA3424 44067000 */ mfc1 $a2, $f14
|
||||
/* 00988 80AA3428 0C034261 */ jal Matrix_Translate
|
||||
/* 0098C 80AA342C 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
|
||||
/* 00990 80AA3430 2401000B */ addiu $at, $zero, 0x000B ## $at = 0000000B
|
||||
.L80AA3434:
|
||||
/* 00994 80AA3434 16010022 */ bne $s0, $at, .L80AA34C0
|
||||
/* 00998 80AA3438 8FAB004C */ lw $t3, 0x004C($sp)
|
||||
/* 0099C 80AA343C 896D01EE */ lwl $t5, 0x01EE($t3) ## 000001EE
|
||||
/* 009A0 80AA3440 996D01F1 */ lwr $t5, 0x01F1($t3) ## 000001F1
|
||||
/* 009A4 80AA3444 27AA002C */ addiu $t2, $sp, 0x002C ## $t2 = FFFFFFF4
|
||||
/* 009A8 80AA3448 3C014700 */ lui $at, 0x4700 ## $at = 47000000
|
||||
/* 009AC 80AA344C AD4D0000 */ sw $t5, 0x0000($t2) ## FFFFFFF4
|
||||
/* 009B0 80AA3450 956D01F2 */ lhu $t5, 0x01F2($t3) ## 000001F2
|
||||
/* 009B4 80AA3454 44812000 */ mtc1 $at, $f4 ## $f4 = 32768.00
|
||||
/* 009B8 80AA3458 3C0180AA */ lui $at, %hi(D_80AA397C) ## $at = 80AA0000
|
||||
/* 009BC 80AA345C A54D0004 */ sh $t5, 0x0004($t2) ## FFFFFFF8
|
||||
/* 009C0 80AA3460 87AE002E */ lh $t6, 0x002E($sp)
|
||||
/* 009C4 80AA3464 C428397C */ lwc1 $f8, %lo(D_80AA397C)($at)
|
||||
/* 009C8 80AA3468 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
|
||||
/* 009CC 80AA346C 000E7823 */ subu $t7, $zero, $t6
|
||||
/* 009D0 80AA3470 448F8000 */ mtc1 $t7, $f16 ## $f16 = 0.00
|
||||
/* 009D4 80AA3474 00000000 */ nop
|
||||
/* 009D8 80AA3478 468084A0 */ cvt.s.w $f18, $f16
|
||||
/* 009DC 80AA347C 46049183 */ div.s $f6, $f18, $f4
|
||||
/* 009E0 80AA3480 46083302 */ mul.s $f12, $f6, $f8
|
||||
/* 009E4 80AA3484 0C034348 */ jal Matrix_RotateY
|
||||
/* 009E8 80AA3488 00000000 */ nop
|
||||
/* 009EC 80AA348C 87B8002C */ lh $t8, 0x002C($sp)
|
||||
/* 009F0 80AA3490 3C014700 */ lui $at, 0x4700 ## $at = 47000000
|
||||
/* 009F4 80AA3494 44819000 */ mtc1 $at, $f18 ## $f18 = 32768.00
|
||||
/* 009F8 80AA3498 0018C823 */ subu $t9, $zero, $t8
|
||||
/* 009FC 80AA349C 44995000 */ mtc1 $t9, $f10 ## $f10 = 0.00
|
||||
/* 00A00 80AA34A0 3C0180AA */ lui $at, %hi(D_80AA3980) ## $at = 80AA0000
|
||||
/* 00A04 80AA34A4 C4263980 */ lwc1 $f6, %lo(D_80AA3980)($at)
|
||||
/* 00A08 80AA34A8 46805420 */ cvt.s.w $f16, $f10
|
||||
/* 00A0C 80AA34AC 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
|
||||
/* 00A10 80AA34B0 46128103 */ div.s $f4, $f16, $f18
|
||||
/* 00A14 80AA34B4 46062302 */ mul.s $f12, $f4, $f6
|
||||
/* 00A18 80AA34B8 0C0342DC */ jal Matrix_RotateX
|
||||
/* 00A1C 80AA34BC 00000000 */ nop
|
||||
.L80AA34C0:
|
||||
/* 00A20 80AA34C0 2401000B */ addiu $at, $zero, 0x000B ## $at = 0000000B
|
||||
/* 00A24 80AA34C4 12010005 */ beq $s0, $at, .L80AA34DC
|
||||
/* 00A28 80AA34C8 8FA8004C */ lw $t0, 0x004C($sp)
|
||||
/* 00A2C 80AA34CC 2401000C */ addiu $at, $zero, 0x000C ## $at = 0000000C
|
||||
/* 00A30 80AA34D0 12010002 */ beq $s0, $at, .L80AA34DC
|
||||
/* 00A34 80AA34D4 2401000F */ addiu $at, $zero, 0x000F ## $at = 0000000F
|
||||
/* 00A38 80AA34D8 16010024 */ bne $s0, $at, .L80AA356C
|
||||
.L80AA34DC:
|
||||
/* 00A3C 80AA34DC 00104880 */ sll $t1, $s0, 2
|
||||
/* 00A40 80AA34E0 01304823 */ subu $t1, $t1, $s0
|
||||
/* 00A44 80AA34E4 00094840 */ sll $t1, $t1, 1
|
||||
/* 00A48 80AA34E8 01091821 */ addu $v1, $t0, $t1
|
||||
/* 00A4C 80AA34EC 84640214 */ lh $a0, 0x0214($v1) ## 00000214
|
||||
/* 00A50 80AA34F0 0C01DE1C */ jal Math_Sins
|
||||
## sins?
|
||||
/* 00A54 80AA34F4 AFA30024 */ sw $v1, 0x0024($sp)
|
||||
/* 00A58 80AA34F8 8FA20048 */ lw $v0, 0x0048($sp)
|
||||
/* 00A5C 80AA34FC 3C014348 */ lui $at, 0x4348 ## $at = 43480000
|
||||
/* 00A60 80AA3500 44818000 */ mtc1 $at, $f16 ## $f16 = 200.00
|
||||
/* 00A64 80AA3504 844A0002 */ lh $t2, 0x0002($v0) ## 00000002
|
||||
/* 00A68 80AA3508 8FA30024 */ lw $v1, 0x0024($sp)
|
||||
/* 00A6C 80AA350C 46100482 */ mul.s $f18, $f0, $f16
|
||||
/* 00A70 80AA3510 448A4000 */ mtc1 $t2, $f8 ## $f8 = 0.00
|
||||
/* 00A74 80AA3514 00000000 */ nop
|
||||
/* 00A78 80AA3518 468042A0 */ cvt.s.w $f10, $f8
|
||||
/* 00A7C 80AA351C 46125100 */ add.s $f4, $f10, $f18
|
||||
/* 00A80 80AA3520 4600218D */ trunc.w.s $f6, $f4
|
||||
/* 00A84 80AA3524 440C3000 */ mfc1 $t4, $f6
|
||||
/* 00A88 80AA3528 00000000 */ nop
|
||||
/* 00A8C 80AA352C A44C0002 */ sh $t4, 0x0002($v0) ## 00000002
|
||||
/* 00A90 80AA3530 0C01DE0D */ jal Math_Coss
|
||||
## coss?
|
||||
/* 00A94 80AA3534 84640216 */ lh $a0, 0x0216($v1) ## 00000216
|
||||
/* 00A98 80AA3538 8FA20048 */ lw $v0, 0x0048($sp)
|
||||
/* 00A9C 80AA353C 3C014348 */ lui $at, 0x4348 ## $at = 43480000
|
||||
/* 00AA0 80AA3540 44815000 */ mtc1 $at, $f10 ## $f10 = 200.00
|
||||
/* 00AA4 80AA3544 844D0004 */ lh $t5, 0x0004($v0) ## 00000004
|
||||
/* 00AA8 80AA3548 460A0482 */ mul.s $f18, $f0, $f10
|
||||
/* 00AAC 80AA354C 448D4000 */ mtc1 $t5, $f8 ## $f8 = 0.00
|
||||
/* 00AB0 80AA3550 00000000 */ nop
|
||||
/* 00AB4 80AA3554 46804420 */ cvt.s.w $f16, $f8
|
||||
/* 00AB8 80AA3558 46128100 */ add.s $f4, $f16, $f18
|
||||
/* 00ABC 80AA355C 4600218D */ trunc.w.s $f6, $f4
|
||||
/* 00AC0 80AA3560 440F3000 */ mfc1 $t7, $f6
|
||||
/* 00AC4 80AA3564 00000000 */ nop
|
||||
/* 00AC8 80AA3568 A44F0004 */ sh $t7, 0x0004($v0) ## 00000004
|
||||
.L80AA356C:
|
||||
/* 00ACC 80AA356C 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 00AD0 80AA3570 8FB00018 */ lw $s0, 0x0018($sp)
|
||||
/* 00AD4 80AA3574 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000
|
||||
/* 00AD8 80AA3578 03E00008 */ jr $ra
|
||||
/* 00ADC 80AA357C 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
|
@ -1,73 +0,0 @@
|
|||
.rdata
|
||||
glabel D_80AA38C0
|
||||
.asciz "../z_en_ma3.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_80AA38D0
|
||||
.asciz "../z_en_ma3.c"
|
||||
.balign 4
|
||||
|
||||
.text
|
||||
glabel func_80AA3580
|
||||
/* 00AE0 80AA3580 27BDFFB8 */ addiu $sp, $sp, 0xFFB8 ## $sp = FFFFFFB8
|
||||
/* 00AE4 80AA3584 3C0F80AA */ lui $t7, %hi(D_80AA3898) ## $t7 = 80AA0000
|
||||
/* 00AE8 80AA3588 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00AEC 80AA358C AFA40048 */ sw $a0, 0x0048($sp)
|
||||
/* 00AF0 80AA3590 AFA5004C */ sw $a1, 0x004C($sp)
|
||||
/* 00AF4 80AA3594 AFA60050 */ sw $a2, 0x0050($sp)
|
||||
/* 00AF8 80AA3598 AFA70054 */ sw $a3, 0x0054($sp)
|
||||
/* 00AFC 80AA359C 25EF3898 */ addiu $t7, $t7, %lo(D_80AA3898) ## $t7 = 80AA3898
|
||||
/* 00B00 80AA35A0 8DF90000 */ lw $t9, 0x0000($t7) ## 80AA3898
|
||||
/* 00B04 80AA35A4 27AE0038 */ addiu $t6, $sp, 0x0038 ## $t6 = FFFFFFF0
|
||||
/* 00B08 80AA35A8 8DF80004 */ lw $t8, 0x0004($t7) ## 80AA389C
|
||||
/* 00B0C 80AA35AC ADD90000 */ sw $t9, 0x0000($t6) ## FFFFFFF0
|
||||
/* 00B10 80AA35B0 8DF90008 */ lw $t9, 0x0008($t7) ## 80AA38A0
|
||||
/* 00B14 80AA35B4 ADD80004 */ sw $t8, 0x0004($t6) ## FFFFFFF4
|
||||
/* 00B18 80AA35B8 3C0680AA */ lui $a2, %hi(D_80AA38C0) ## $a2 = 80AA0000
|
||||
/* 00B1C 80AA35BC ADD90008 */ sw $t9, 0x0008($t6) ## FFFFFFF8
|
||||
/* 00B20 80AA35C0 8FA80048 */ lw $t0, 0x0048($sp)
|
||||
/* 00B24 80AA35C4 24C638C0 */ addiu $a2, $a2, %lo(D_80AA38C0) ## $a2 = 80AA38C0
|
||||
/* 00B28 80AA35C8 2407039F */ addiu $a3, $zero, 0x039F ## $a3 = 0000039F
|
||||
/* 00B2C 80AA35CC 8D050000 */ lw $a1, 0x0000($t0) ## 00000000
|
||||
/* 00B30 80AA35D0 27A40024 */ addiu $a0, $sp, 0x0024 ## $a0 = FFFFFFDC
|
||||
/* 00B34 80AA35D4 0C031AB1 */ jal Graph_OpenDisps
|
||||
/* 00B38 80AA35D8 AFA50034 */ sw $a1, 0x0034($sp)
|
||||
/* 00B3C 80AA35DC 8FA9004C */ lw $t1, 0x004C($sp)
|
||||
/* 00B40 80AA35E0 8FA50058 */ lw $a1, 0x0058($sp)
|
||||
/* 00B44 80AA35E4 24010012 */ addiu $at, $zero, 0x0012 ## $at = 00000012
|
||||
/* 00B48 80AA35E8 15210003 */ bne $t1, $at, .L80AA35F8
|
||||
/* 00B4C 80AA35EC 24A50038 */ addiu $a1, $a1, 0x0038 ## $a1 = 00000038
|
||||
/* 00B50 80AA35F0 0C0346BD */ jal Matrix_MultVec3f
|
||||
/* 00B54 80AA35F4 27A40038 */ addiu $a0, $sp, 0x0038 ## $a0 = FFFFFFF0
|
||||
.L80AA35F8:
|
||||
/* 00B58 80AA35F8 8FAA004C */ lw $t2, 0x004C($sp)
|
||||
/* 00B5C 80AA35FC 2401000E */ addiu $at, $zero, 0x000E ## $at = 0000000E
|
||||
/* 00B60 80AA3600 3C0680AA */ lui $a2, %hi(D_80AA38D0) ## $a2 = 80AA0000
|
||||
/* 00B64 80AA3604 15410010 */ bne $t2, $at, .L80AA3648
|
||||
/* 00B68 80AA3608 24C638D0 */ addiu $a2, $a2, %lo(D_80AA38D0) ## $a2 = 80AA38D0
|
||||
/* 00B6C 80AA360C 8FAC0058 */ lw $t4, 0x0058($sp)
|
||||
/* 00B70 80AA3610 3C0B0601 */ lui $t3, 0x0601 ## $t3 = 06010000
|
||||
/* 00B74 80AA3614 256B93BC */ addiu $t3, $t3, 0x93BC ## $t3 = 060093BC
|
||||
/* 00B78 80AA3618 8D8D0154 */ lw $t5, 0x0154($t4) ## 00000154
|
||||
/* 00B7C 80AA361C 8FA40034 */ lw $a0, 0x0034($sp)
|
||||
/* 00B80 80AA3620 3C0FDE00 */ lui $t7, 0xDE00 ## $t7 = DE000000
|
||||
/* 00B84 80AA3624 556D0009 */ bnel $t3, $t5, .L80AA364C
|
||||
/* 00B88 80AA3628 8FB90048 */ lw $t9, 0x0048($sp)
|
||||
/* 00B8C 80AA362C 8C8302C0 */ lw $v1, 0x02C0($a0) ## 000002C0
|
||||
/* 00B90 80AA3630 3C180600 */ lui $t8, 0x0600 ## $t8 = 06000000
|
||||
/* 00B94 80AA3634 27185420 */ addiu $t8, $t8, 0x5420 ## $t8 = 06005420
|
||||
/* 00B98 80AA3638 246E0008 */ addiu $t6, $v1, 0x0008 ## $t6 = 00000008
|
||||
/* 00B9C 80AA363C AC8E02C0 */ sw $t6, 0x02C0($a0) ## 000002C0
|
||||
/* 00BA0 80AA3640 AC780004 */ sw $t8, 0x0004($v1) ## 00000004
|
||||
/* 00BA4 80AA3644 AC6F0000 */ sw $t7, 0x0000($v1) ## 00000000
|
||||
.L80AA3648:
|
||||
/* 00BA8 80AA3648 8FB90048 */ lw $t9, 0x0048($sp)
|
||||
.L80AA364C:
|
||||
/* 00BAC 80AA364C 27A40024 */ addiu $a0, $sp, 0x0024 ## $a0 = FFFFFFDC
|
||||
/* 00BB0 80AA3650 240703B6 */ addiu $a3, $zero, 0x03B6 ## $a3 = 000003B6
|
||||
/* 00BB4 80AA3654 0C031AD5 */ jal Graph_CloseDisps
|
||||
/* 00BB8 80AA3658 8F250000 */ lw $a1, 0x0000($t9) ## 00000000
|
||||
/* 00BBC 80AA365C 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00BC0 80AA3660 27BD0048 */ addiu $sp, $sp, 0x0048 ## $sp = 00000000
|
||||
/* 00BC4 80AA3664 03E00008 */ jr $ra
|
||||
/* 00BC8 80AA3668 00000000 */ nop
|
|
@ -1,28 +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 purposee registers
|
||||
|
||||
.section .data
|
||||
|
||||
glabel En_Ma3_InitVars
|
||||
.word 0x01C50400, 0x00000039, 0x00D00000, 0x00000284
|
||||
.word EnMa3_Init
|
||||
.word EnMa3_Destroy
|
||||
.word EnMa3_Update
|
||||
.word EnMa3_Draw
|
||||
glabel D_80AA3810
|
||||
.word 0x0A000039, 0x20010000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000100, 0x0012002E, 0x00000000, 0x00000000
|
||||
glabel D_80AA383C
|
||||
.word 0x00000000, 0x00000000, 0xFF000000
|
||||
glabel D_80AA3848
|
||||
.word 0x060007D4, 0x3F800000, 0x00000000, 0x00000000, 0x060007D4, 0x3F800000, 0x00000000, 0xC1200000, 0x060093BC, 0x3F800000, 0x00000000, 0x00000000, 0x06009EE0, 0x3F800000, 0x00000000, 0x00000000, 0x06009EE0, 0x3F800000, 0x00000000, 0xC1200000
|
||||
glabel D_80AA3898
|
||||
.word 0x44610000, 0x00000000, 0x00000000
|
||||
glabel D_80AA38A4
|
||||
.word 0x06002970, 0x06003570, 0x06003770
|
||||
glabel D_80AA38B0
|
||||
.word 0x06002570, 0x06002C70, 0x06003070, 0x00000000
|
||||
|
|
@ -1,11 +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 purposee registers
|
||||
|
||||
.section .rodata
|
||||
glabel D_80AA3990
|
||||
|
||||
.incbin "baserom/ovl_En_Ma3", 0xEF0, 0x00000170
|
|
@ -2153,6 +2153,7 @@ void func_800F59E8(u16);
|
|||
// ? func_800F5E18(?);
|
||||
// ? func_800F5E90(?);
|
||||
void func_800F6268(f32, UNK_TYPE);
|
||||
void func_800F6584(UNK_TYPE);
|
||||
// ? func_800F64E0(?);
|
||||
void func_800F6584(UNK_TYPE);
|
||||
// ? func_800F66C0(?);
|
||||
|
|
|
@ -143,7 +143,9 @@ typedef struct {
|
|||
} fw;
|
||||
/* 0x0E8C */ char unk_E8C[0x0010];
|
||||
/* 0x0E9C */ u8 gsFlags[24];
|
||||
/* 0x0EB4 */ char unk_EB4[0x0020];
|
||||
/* 0x0EB4 */ char unk_EB4[0x0010];
|
||||
/* 0x0EC4 */ s32 unk_EC4;
|
||||
/* 0x0EC8 */ char unk_EC8[0x000C];
|
||||
/* 0x0ED4 */ u16 eventChkInf[14]; // "event_chk_inf"
|
||||
/* 0x0EF0 */ u16 itemGetInf[4]; // "item_get_inf"
|
||||
/* 0x0EF8 */ u16 infTable[30]; // "inf_table"
|
||||
|
|
3
spec
3
spec
|
@ -2917,8 +2917,7 @@ endseg
|
|||
beginseg
|
||||
name "ovl_En_Ma3"
|
||||
include "build/src/overlays/actors/ovl_En_Ma3/z_en_ma3.o"
|
||||
include "build/data/overlays/actors/z_en_ma3.data.o"
|
||||
include "build/data/overlays/actors/z_en_ma3.reloc.o"
|
||||
include "build/src/overlays/actors/ovl_En_Ma3/z_en_ma3_reloc.o"
|
||||
endseg
|
||||
|
||||
beginseg
|
||||
|
|
|
@ -110,28 +110,28 @@ s16 func_80AA0778(GlobalContext* globalCtx, Actor* this) {
|
|||
s16 ret = 1;
|
||||
switch (func_8010BDBC(&globalCtx->msgCtx)) {
|
||||
case 2:
|
||||
switch (this->textId - 0x2041) {
|
||||
case 0:
|
||||
switch (this->textId) {
|
||||
case 0x2041:
|
||||
gSaveContext.infTable[8] |= 0x10;
|
||||
gSaveContext.eventChkInf[1] |= 1;
|
||||
ret = 0;
|
||||
break;
|
||||
case 2:
|
||||
case 0x2043:
|
||||
ret = 1;
|
||||
break;
|
||||
case 6:
|
||||
case 0x2047:
|
||||
gSaveContext.eventChkInf[1] |= 0x20;
|
||||
ret = 0;
|
||||
break;
|
||||
case 7:
|
||||
case 0x2048:
|
||||
gSaveContext.infTable[8] |= 0x20;
|
||||
ret = 0;
|
||||
break;
|
||||
case 8:
|
||||
case 0x2049:
|
||||
gSaveContext.eventChkInf[1] |= 0x40;
|
||||
ret = 0;
|
||||
break;
|
||||
case 32:
|
||||
case 0x2061:
|
||||
ret = 2;
|
||||
break;
|
||||
default:
|
||||
|
|
|
@ -1,3 +1,9 @@
|
|||
/*
|
||||
* File: z_en_ma3.c
|
||||
* Overlay: En_Ma3
|
||||
* Description:
|
||||
*/
|
||||
|
||||
#include "z_en_ma3.h"
|
||||
|
||||
#define FLAGS 0x00000039
|
||||
|
@ -7,7 +13,16 @@ void EnMa3_Destroy(EnMa3* this, GlobalContext* globalCtx);
|
|||
void EnMa3_Update(EnMa3* this, GlobalContext* globalCtx);
|
||||
void EnMa3_Draw(EnMa3* this, GlobalContext* globalCtx);
|
||||
|
||||
/*
|
||||
u16 func_80AA2AA0(GlobalContext* globalCtx, Actor* this);
|
||||
s16 func_80AA2BD4(GlobalContext* globalCtx, Actor* this);
|
||||
|
||||
void func_80AA2E54(EnMa3* this, GlobalContext* globalCtx);
|
||||
s32 func_80AA2EC8(EnMa3* this, GlobalContext* globalCtx);
|
||||
s32 func_80AA2F28(EnMa3* this);
|
||||
void func_80AA2F80(EnMa3* this);
|
||||
void func_80AA3004(EnMa3* this, s32 arg1);
|
||||
void func_80AA3200(EnMa3* this, GlobalContext* globalCtx);
|
||||
|
||||
const ActorInit En_Ma3_InitVars = {
|
||||
ACTOR_EN_MA3,
|
||||
ACTORTYPE_NPC,
|
||||
|
@ -19,31 +34,359 @@ const ActorInit En_Ma3_InitVars = {
|
|||
(ActorFunc)EnMa3_Update,
|
||||
(ActorFunc)EnMa3_Draw,
|
||||
};
|
||||
*/
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ma3/func_80AA2AA0.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ma3/func_80AA2BD4.s")
|
||||
ColliderCylinderInit cylinderInit = {
|
||||
{ COLTYPE_UNK10, 0x00, 0x00, 0x39, 0x20, COLSHAPE_CYLINDER },
|
||||
{ 0x00, { 0x00000000, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, 0x00, 0x00, 0x01 },
|
||||
{ 18, 46, 0, { 0, 0, 0 } },
|
||||
};
|
||||
|
||||
CollisionCheckInfoInit2 D_80AA383C = { 0x00, 0x0000, 0x0000, 0x0000, 0xFF };
|
||||
|
||||
struct_D_80AA1678 D_80AA3848[] = {
|
||||
{
|
||||
0x060007D4,
|
||||
1.0f,
|
||||
0x00,
|
||||
0.0f,
|
||||
},
|
||||
{
|
||||
0x060007D4,
|
||||
1.0f,
|
||||
0x00,
|
||||
-10.0f,
|
||||
},
|
||||
{
|
||||
0x060093BC,
|
||||
1.0f,
|
||||
0x00,
|
||||
0.0f,
|
||||
},
|
||||
{
|
||||
0x06009EE0,
|
||||
1.0f,
|
||||
0x00,
|
||||
0.0f,
|
||||
},
|
||||
{
|
||||
0x06009EE0,
|
||||
1.0f,
|
||||
0x00,
|
||||
-10.0f,
|
||||
},
|
||||
};
|
||||
|
||||
Vec3f D_80AA3898 = { 900.0f, 0.0f, 0.0f };
|
||||
|
||||
u32 D_80AA38A4[] = {
|
||||
0x06002970,
|
||||
0x06003570,
|
||||
0x06003770,
|
||||
};
|
||||
|
||||
u32 D_80AA38B0[] = {
|
||||
0x06002570,
|
||||
0x06002C70,
|
||||
0x06003070,
|
||||
};
|
||||
|
||||
extern u32 D_06005420;
|
||||
extern SkeletonHeader D_06008D90;
|
||||
extern AnimationHeader D_060093BC;
|
||||
extern AnimationHeader D_06009EE0;
|
||||
|
||||
u16 func_80AA2AA0(GlobalContext* globalCtx, Actor* this) {
|
||||
Player* player = PLAYER;
|
||||
s16* timer1ValuePtr; // weirdness with this necessary to match
|
||||
|
||||
if (!(gSaveContext.infTable[11] & 0x100)) {
|
||||
return 0x2000;
|
||||
}
|
||||
timer1ValuePtr = &gSaveContext.timer1Value;
|
||||
if (gSaveContext.eventInf[0] & 0x400) {
|
||||
gSaveContext.timer1Value = gSaveContext.timer1Value;
|
||||
this->flags |= 0x10000;
|
||||
if (gSaveContext.timer1Value >= 0xD3) {
|
||||
return 0x208E;
|
||||
}
|
||||
if ((gSaveContext.unk_EC4 == 0) || (gSaveContext.unk_EC4 >= 0xB4)) {
|
||||
gSaveContext.unk_EC4 = 0xB4;
|
||||
gSaveContext.timer1Value = *timer1ValuePtr;
|
||||
}
|
||||
if (!(gSaveContext.eventChkInf[1] & 0x4000) && (gSaveContext.timer1Value < 0x32)) {
|
||||
return 0x208F;
|
||||
} else if (gSaveContext.timer1Value < gSaveContext.unk_EC4) {
|
||||
return 0x2012;
|
||||
} else {
|
||||
return 0x2004;
|
||||
}
|
||||
}
|
||||
if ((!(player->stateFlags1 & 0x800000)) &&
|
||||
(Actor_FindNearby(globalCtx, this, ACTOR_EN_HORSE, 1, 1200.0f) == NULL)) {
|
||||
return 0x2001;
|
||||
}
|
||||
if (!(gSaveContext.infTable[11] & 0x200)) {
|
||||
return 0x2002;
|
||||
} else {
|
||||
return 0x2003;
|
||||
}
|
||||
}
|
||||
|
||||
s16 func_80AA2BD4(GlobalContext* globalCtx, Actor* this) {
|
||||
s16 ret = 1;
|
||||
|
||||
switch (func_8010BDBC(&globalCtx->msgCtx)) {
|
||||
case 5:
|
||||
if (func_80106BC8(globalCtx) != 0) {
|
||||
globalCtx->nextEntranceIndex = 0x157;
|
||||
gSaveContext.nextCutsceneIndex = 0xFFF0;
|
||||
globalCtx->fadeTransition = 0x26;
|
||||
globalCtx->sceneLoadFlag = 0x14;
|
||||
gSaveContext.eventInf[0] |= 0x400;
|
||||
gSaveContext.timer1State = 0xF;
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
if (func_80106BC8(globalCtx) != 0) {
|
||||
gSaveContext.infTable[11] |= 0x200;
|
||||
if (globalCtx->msgCtx.choiceIndex == 0) {
|
||||
if (gSaveContext.eventChkInf[1] & 0x4000) {
|
||||
func_8010B720(globalCtx, 0x2091);
|
||||
} else if (gSaveContext.unk_EC4 == 0) {
|
||||
func_8010B720(globalCtx, 0x2092);
|
||||
} else {
|
||||
func_8010B720(globalCtx, 0x2090);
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
switch (this->textId) {
|
||||
case 0x2000:
|
||||
gSaveContext.infTable[11] |= 0x100;
|
||||
ret = 0;
|
||||
break;
|
||||
case 0x208F:
|
||||
gSaveContext.eventChkInf[1] |= 0x4000;
|
||||
case 0x2004:
|
||||
case 0x2012:
|
||||
if (gSaveContext.unk_EC4 > gSaveContext.timer1Value) {
|
||||
gSaveContext.unk_EC4 = gSaveContext.timer1Value;
|
||||
}
|
||||
case 0x208E:
|
||||
gSaveContext.eventInf[0] &= ~0x400;
|
||||
this->flags &= ~0x10000;
|
||||
ret = 0;
|
||||
gSaveContext.timer1State = 0xA;
|
||||
break;
|
||||
case 0x2002:
|
||||
gSaveContext.infTable[11] |= 0x200;
|
||||
case 0x2003:
|
||||
if (!(gSaveContext.eventInf[0] & 0x400)) {
|
||||
ret = 0;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
ret = 0;
|
||||
}
|
||||
break;
|
||||
case 0:
|
||||
case 1:
|
||||
case 3:
|
||||
case 6:
|
||||
case 7:
|
||||
case 8:
|
||||
case 9:
|
||||
break;
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
void func_80AA2E54(EnMa3* this, GlobalContext* globalCtx) {
|
||||
Player* player = PLAYER;
|
||||
s16 phi_a3;
|
||||
|
||||
if ((this->unk_1E0.unk_00 == 0) && (this->skelAnime.animCurrentSeg == &D_06009EE0)) {
|
||||
phi_a3 = 1;
|
||||
} else {
|
||||
phi_a3 = 0;
|
||||
}
|
||||
|
||||
this->unk_1E0.unk_18 = player->actor.posRot.pos;
|
||||
this->unk_1E0.unk_14 = 0.0f;
|
||||
func_80034A14(&this->actor, &this->unk_1E0, 0, phi_a3);
|
||||
}
|
||||
|
||||
s32 func_80AA2EC8(EnMa3* this, GlobalContext* globalCtx) {
|
||||
if (gSaveContext.linkAge == 1) {
|
||||
return 2;
|
||||
}
|
||||
if (!(gSaveContext.eventChkInf[1] & 0x100)) {
|
||||
return 2;
|
||||
}
|
||||
if (gSaveContext.eventInf[0] & 0x400) {
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
s32 func_80AA2F28(EnMa3* this) {
|
||||
if (this->skelAnime.animCurrentSeg != &D_06009EE0) {
|
||||
return 0;
|
||||
}
|
||||
if (this->unk_1E0.unk_00 != 0) {
|
||||
return 0;
|
||||
}
|
||||
this->unk_20C = 0;
|
||||
if (this->unk_20E != 2) {
|
||||
return 0;
|
||||
}
|
||||
this->unk_210 = 2;
|
||||
return 1;
|
||||
}
|
||||
|
||||
void func_80AA2F80(EnMa3* this) {
|
||||
if ((!func_80AA2F28(this)) && (DECR(this->unk_20C) == 0)) {
|
||||
this->unk_20E += 1;
|
||||
if (this->unk_20E >= 3) {
|
||||
this->unk_20C = Math_Rand_S16Offset(0x1E, 0x1E);
|
||||
this->unk_20E = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void func_80AA3004(EnMa3* this, s32 idx) {
|
||||
f32 frameCount = SkelAnime_GetFrameCount(&D_80AA3848[idx].animation->genericHeader);
|
||||
|
||||
SkelAnime_ChangeAnim(&this->skelAnime, D_80AA3848[idx].animation, 1.0f, 0.0f, frameCount, D_80AA3848[idx].unk_08,
|
||||
D_80AA3848[idx].transitionRate);
|
||||
}
|
||||
|
||||
void EnMa3_Init(EnMa3* this, GlobalContext* globalCtx) {
|
||||
ColliderCylinder* collider;
|
||||
s32 pad;
|
||||
|
||||
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawFunc_Circle, 18.0f);
|
||||
SkelAnime_InitSV(globalCtx, &this->skelAnime, &D_06008D90, NULL, 0, 0, 0);
|
||||
collider = &this->collider;
|
||||
Collider_InitCylinder(globalCtx, collider);
|
||||
Collider_SetCylinder(globalCtx, collider, &this->actor, &cylinderInit);
|
||||
func_80061EFC(&this->actor.colChkInfo, DamageTable_Get(0x16), &D_80AA383C);
|
||||
|
||||
switch (func_80AA2EC8(this, globalCtx)) {
|
||||
case 0:
|
||||
func_80AA3004(this, 0);
|
||||
this->actionFunc = (ActorFunc)func_80AA3200;
|
||||
break;
|
||||
case 1:
|
||||
func_80AA3004(this, 0);
|
||||
this->actionFunc = (ActorFunc)func_80AA3200;
|
||||
break;
|
||||
case 2:
|
||||
Actor_Kill(&this->actor);
|
||||
return;
|
||||
}
|
||||
|
||||
func_8002E4B4(globalCtx, &this->actor, 0.0f, 0.0f, 0.0f, 4);
|
||||
Actor_SetScale(&this->actor, 0.01f);
|
||||
this->unk_1E0.unk_00 = (u16)0;
|
||||
}
|
||||
|
||||
void EnMa3_Destroy(EnMa3* this, GlobalContext* globalCtx) {
|
||||
SkelAnime_Free(&this->skelAnime, globalCtx);
|
||||
Collider_DestroyCylinder(globalCtx, &this->collider);
|
||||
}
|
||||
|
||||
void func_80AA3200(EnMa3* this, GlobalContext* globalCtx) {
|
||||
if (this->unk_1E0.unk_00 == 2) {
|
||||
this->actor.flags &= ~0x10000;
|
||||
this->unk_1E0.unk_00 = 0;
|
||||
}
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ma3/func_80AA2E54.s")
|
||||
void EnMa3_Update(EnMa3* this, GlobalContext* globalCtx) {
|
||||
s32 pad;
|
||||
ColliderCylinder* collider = &this->collider;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ma3/func_80AA2EC8.s")
|
||||
Collider_CylinderUpdate(&this->actor, collider);
|
||||
CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &collider->base);
|
||||
SkelAnime_FrameUpdateMatrix(&this->skelAnime);
|
||||
func_80AA2F80(this);
|
||||
this->actionFunc(this, globalCtx);
|
||||
func_80AA2E54(this, globalCtx);
|
||||
func_800343CC(globalCtx, &this->actor, &this->unk_1E0.unk_00, (f32)this->collider.dim.radius + 150.0f,
|
||||
&func_80AA2AA0, &func_80AA2BD4);
|
||||
if (this->unk_1E0.unk_00 == 0) {
|
||||
if (this->unk_20A != 0) {
|
||||
func_800F6584(0);
|
||||
this->unk_20A = 0;
|
||||
}
|
||||
} else if (this->unk_20A == 0) {
|
||||
func_800F6584(1);
|
||||
this->unk_20A = 1;
|
||||
}
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ma3/func_80AA2F28.s")
|
||||
s32 EnMa3_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* thisx) {
|
||||
EnMa3* this = (EnMa3*)thisx;
|
||||
Vec3s tempVec;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ma3/func_80AA2F80.s")
|
||||
if ((limbIndex == 3) || (limbIndex == 6)) {
|
||||
*dList = NULL;
|
||||
}
|
||||
if (limbIndex == 18) {
|
||||
Matrix_Translate(1400.0f, 0.0f, 0.0f, MTXMODE_APPLY);
|
||||
tempVec = this->unk_1E0.unk_08;
|
||||
Matrix_RotateX((tempVec.y / 32768.0f) * M_PI, MTXMODE_APPLY);
|
||||
Matrix_RotateZ((tempVec.x / 32768.0f) * M_PI, MTXMODE_APPLY);
|
||||
Matrix_Translate(-1400.0f, 0.0f, 0.0f, MTXMODE_APPLY);
|
||||
}
|
||||
if (limbIndex == 11) {
|
||||
tempVec = this->unk_1E0.unk_0E;
|
||||
Matrix_RotateY((-tempVec.y / 32768.0f) * M_PI, MTXMODE_APPLY);
|
||||
Matrix_RotateX((-tempVec.x / 32768.0f) * M_PI, MTXMODE_APPLY);
|
||||
}
|
||||
if ((limbIndex == 11) || (limbIndex == 12) || (limbIndex == 15)) {
|
||||
rot->y += Math_Sins(this->unk_212[limbIndex].y) * 200.0f;
|
||||
rot->z += Math_Coss(this->unk_212[limbIndex].z) * 200.0f;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ma3/func_80AA3004.s")
|
||||
void EnMa3_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx) {
|
||||
EnMa3* this = (EnMa3*)thisx;
|
||||
Vec3f vec = D_80AA3898;
|
||||
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
|
||||
Gfx* dispRefs[4];
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ma3/EnMa3_Init.s")
|
||||
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_ma3.c", 927);
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ma3/EnMa3_Destroy.s")
|
||||
if (limbIndex == 18) {
|
||||
Matrix_MultVec3f(&vec, &thisx->posRot2.pos);
|
||||
}
|
||||
if ((limbIndex == 14) && (this->skelAnime.animCurrentSeg == &D_060093BC)) {
|
||||
gSPDisplayList(gfxCtx->polyOpa.p++, &D_06005420);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ma3/func_80AA3200.s")
|
||||
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_ma3.c", 950);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ma3/EnMa3_Update.s")
|
||||
void EnMa3_Draw(EnMa3* this, GlobalContext* globalCtx) {
|
||||
Camera* camera;
|
||||
f32 someFloat;
|
||||
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
|
||||
Gfx* dispRefs[6];
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ma3/func_80AA3344.s")
|
||||
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_ma3.c", 978);
|
||||
camera = globalCtx->cameraPtrs[globalCtx->activeCamera];
|
||||
someFloat = Math_Vec3f_DistXZ(&this->actor.posRot.pos, &camera->eye);
|
||||
func_800F6268(someFloat, 0x2F);
|
||||
func_80093D18(globalCtx->state.gfxCtx);
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ma3/func_80AA3580.s")
|
||||
gSPSegment(gfxCtx->polyOpa.p++, 0x09, SEGMENTED_TO_VIRTUAL(D_80AA38A4[this->unk_210]));
|
||||
gSPSegment(gfxCtx->polyOpa.p++, 0x08, SEGMENTED_TO_VIRTUAL(D_80AA38B0[this->unk_20E]));
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ma3/EnMa3_Draw.s")
|
||||
SkelAnime_DrawSV(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount,
|
||||
EnMa3_OverrideLimbDraw, EnMa3_PostLimbDraw, &this->actor);
|
||||
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_ma3.c", 1013);
|
||||
}
|
||||
|
|
|
@ -6,7 +6,16 @@
|
|||
|
||||
typedef struct {
|
||||
/* 0x0000 */ Actor actor;
|
||||
/* 0x014C */ char unk_14C[0x138];
|
||||
/* 0x014C */ SkelAnime skelAnime;
|
||||
/* 0x0190 */ ActorFunc actionFunc;
|
||||
/* 0x0194 */ ColliderCylinder collider;
|
||||
/* 0x01E0 */ struct_80034A14_arg1 unk_1E0;
|
||||
/* 0x0208 */ s16 unk_208;
|
||||
/* 0x020A */ s16 unk_20A;
|
||||
/* 0x020C */ s16 unk_20C;
|
||||
/* 0x020E */ s16 unk_20E;
|
||||
/* 0x0210 */ s16 unk_210;
|
||||
/* 0x0212 */ Vec3s unk_212[0x13];
|
||||
} EnMa3; // size = 0x0284
|
||||
|
||||
extern const ActorInit En_Ma3_InitVars;
|
||||
|
|
|
@ -3,9 +3,6 @@
|
|||
import os
|
||||
import sys
|
||||
import subprocess
|
||||
import re
|
||||
import shlex
|
||||
from disassemble import get_z_name
|
||||
|
||||
script_dir = os.path.dirname(os.path.realpath(__file__))
|
||||
root_dir = script_dir + "/../"
|
||||
|
@ -13,77 +10,10 @@ build_dir = root_dir + "build/"
|
|||
src_dir = root_dir + "src/"
|
||||
|
||||
|
||||
def find_build_command_line(c_file):
|
||||
rel_c_file = os.path.relpath(c_file, root_dir)
|
||||
make_cmd = ["make", "--always-make", "--dry-run", "--debug=j", "PERMUTER=1"]
|
||||
debug_output = (
|
||||
subprocess.check_output(make_cmd, cwd=root_dir).decode("utf-8").split("\n")
|
||||
)
|
||||
output = []
|
||||
|
||||
for line in debug_output:
|
||||
while "//" in line:
|
||||
line = line.replace("//", "/")
|
||||
while "/./" in line:
|
||||
line = line.replace("/./", "/")
|
||||
if rel_c_file not in line:
|
||||
continue
|
||||
parts = shlex.split(line)
|
||||
if rel_c_file not in parts:
|
||||
continue
|
||||
if "-o" not in parts:
|
||||
continue
|
||||
if "-fsyntax-only" in parts:
|
||||
continue
|
||||
output.append(line)
|
||||
|
||||
if len(output) > 1:
|
||||
output_lines = "\n".join(output)
|
||||
print(
|
||||
f"Error: found multiple compile commands for {rel_c_file}:\n{output_lines}\n"
|
||||
"Please modify the makefile such that if PERMUTER = 1, "
|
||||
"only a single compile command is included.",
|
||||
file=sys.stderr,
|
||||
)
|
||||
sys.exit(1)
|
||||
|
||||
return output[0]
|
||||
|
||||
|
||||
def import_c_file(compiler, in_file):
|
||||
def import_c_file(in_file):
|
||||
in_file = os.path.relpath(in_file, root_dir)
|
||||
include_next = 0
|
||||
cpp_command = ["cpp", "-P"]
|
||||
compiler_split = compiler.split(" ")
|
||||
for arg in compiler_split:
|
||||
if include_next > 0:
|
||||
include_next -= 1
|
||||
cpp_command.append(arg)
|
||||
continue
|
||||
if arg in ["-D", "-U", "-I"]:
|
||||
cpp_command.append(arg)
|
||||
include_next = 1
|
||||
continue
|
||||
if (
|
||||
arg.startswith("-D")
|
||||
or arg.startswith("-U")
|
||||
or arg.startswith("-I")
|
||||
or arg in ["-nostdinc"]
|
||||
):
|
||||
cpp_command.append(arg)
|
||||
|
||||
cpp_command.extend(
|
||||
[
|
||||
"-undef",
|
||||
"-D__sgi",
|
||||
"-D_LANGUAGE_C",
|
||||
"-DNON_MATCHING",
|
||||
"-D_Static_assert(x, y)=",
|
||||
"-D__attribute__(x)=",
|
||||
]
|
||||
)
|
||||
cpp_command.append(in_file)
|
||||
|
||||
cpp_command = ["cpp", "-P", "-Iinclude", "-Isrc", "-undef", "-D__sgi", "-D_LANGUAGE_C",
|
||||
"-DNON_MATCHING", "-D_Static_assert(x, y)=", "-D__attribute__(x)=", in_file]
|
||||
try:
|
||||
return subprocess.check_output(cpp_command, cwd=root_dir, encoding="utf-8")
|
||||
except subprocess.CalledProcessError:
|
||||
|
@ -91,39 +21,35 @@ def import_c_file(compiler, in_file):
|
|||
"Failed to preprocess input file, when running command:\n"
|
||||
+ cpp_command,
|
||||
file=sys.stderr,
|
||||
)
|
||||
)
|
||||
sys.exit(1)
|
||||
|
||||
|
||||
def get_c_dir(dirname):
|
||||
for root, dirs, files in os.walk(src_dir):
|
||||
for dir in dirs:
|
||||
if dir == dirname:
|
||||
return os.path.join(root, dir)
|
||||
for directory in dirs:
|
||||
if directory == dirname:
|
||||
return os.path.join(root, directory)
|
||||
|
||||
|
||||
def get_c_file(dir):
|
||||
for root, dirs, files in os.walk(dir):
|
||||
def get_c_file(directory):
|
||||
for root, dirs, files in os.walk(directory):
|
||||
for file in files:
|
||||
if file.endswith(".c") and "data" not in file:
|
||||
return file
|
||||
|
||||
|
||||
def main():
|
||||
target_script = sys.argv[1]
|
||||
|
||||
this_dir = os.getcwd().split("/")[-1]
|
||||
c_dir_path = get_c_dir(this_dir)
|
||||
c_file = get_c_file(c_dir_path)
|
||||
c_file_path = os.path.join(c_dir_path, c_file)
|
||||
|
||||
compiler = find_build_command_line(c_file_path)
|
||||
output = import_c_file(compiler, c_file_path)
|
||||
|
||||
output = import_c_file(c_file_path)
|
||||
|
||||
with open(os.path.join(build_dir, "ctx.c"), "w") as f:
|
||||
f.write(output)
|
||||
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
|
|
Loading…
Reference in a new issue