mirror of
https://github.com/zeldaret/oot.git
synced 2024-11-14 05:19:36 +00:00
Decompiled ovl_En_Ma1 (#83)
* first steps * some more * fixing merge * more progress * progs * Decompiled ovl_En_Ma1 * newline * Pr suggestion * Fixing some small things * Update src/overlays/actors/ovl_En_Ma1/z_en_ma1.c Co-Authored-By: Roman971 <32455037+Roman971@users.noreply.github.com> * Removing padding * Fixing script * Fixing some things Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com>
This commit is contained in:
parent
e126e37084
commit
d58983494c
34 changed files with 585 additions and 1379 deletions
|
@ -1,16 +0,0 @@
|
||||||
glabel EnMa1_Destroy
|
|
||||||
/* 006C0 80AA0D50 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
|
||||||
/* 006C4 80AA0D54 AFBF0014 */ sw $ra, 0x0014($sp)
|
|
||||||
/* 006C8 80AA0D58 AFA40018 */ sw $a0, 0x0018($sp)
|
|
||||||
/* 006CC 80AA0D5C AFA5001C */ sw $a1, 0x001C($sp)
|
|
||||||
/* 006D0 80AA0D60 0C0295BC */ jal SkelAnime_Free
|
|
||||||
/* 006D4 80AA0D64 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
|
|
||||||
/* 006D8 80AA0D68 8FA50018 */ lw $a1, 0x0018($sp)
|
|
||||||
/* 006DC 80AA0D6C 8FA4001C */ lw $a0, 0x001C($sp)
|
|
||||||
/* 006E0 80AA0D70 0C0170EB */ jal Collider_DestroyCylinder
|
|
||||||
|
|
||||||
/* 006E4 80AA0D74 24A50194 */ addiu $a1, $a1, 0x0194 ## $a1 = 00000194
|
|
||||||
/* 006E8 80AA0D78 8FBF0014 */ lw $ra, 0x0014($sp)
|
|
||||||
/* 006EC 80AA0D7C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
|
||||||
/* 006F0 80AA0D80 03E00008 */ jr $ra
|
|
||||||
/* 006F4 80AA0D84 00000000 */ nop
|
|
|
@ -1,107 +0,0 @@
|
||||||
.rdata
|
|
||||||
glabel D_80AA16E0
|
|
||||||
.asciz "../z_en_ma1.c"
|
|
||||||
.balign 4
|
|
||||||
|
|
||||||
glabel D_80AA16F0
|
|
||||||
.asciz "../z_en_ma1.c"
|
|
||||||
.balign 4
|
|
||||||
|
|
||||||
.text
|
|
||||||
glabel EnMa1_Draw
|
|
||||||
/* 00E14 80AA14A4 27BDFF98 */ addiu $sp, $sp, 0xFF98 ## $sp = FFFFFF98
|
|
||||||
/* 00E18 80AA14A8 AFB20030 */ sw $s2, 0x0030($sp)
|
|
||||||
/* 00E1C 80AA14AC 00A09025 */ or $s2, $a1, $zero ## $s2 = 00000000
|
|
||||||
/* 00E20 80AA14B0 AFBF0034 */ sw $ra, 0x0034($sp)
|
|
||||||
/* 00E24 80AA14B4 AFB1002C */ sw $s1, 0x002C($sp)
|
|
||||||
/* 00E28 80AA14B8 AFB00028 */ sw $s0, 0x0028($sp)
|
|
||||||
/* 00E2C 80AA14BC 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000
|
|
||||||
/* 00E30 80AA14C0 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
|
||||||
/* 00E34 80AA14C4 3C0680AA */ lui $a2, %hi(D_80AA16E0) ## $a2 = 80AA0000
|
|
||||||
/* 00E38 80AA14C8 24C616E0 */ addiu $a2, $a2, %lo(D_80AA16E0) ## $a2 = 80AA16E0
|
|
||||||
/* 00E3C 80AA14CC 27A40044 */ addiu $a0, $sp, 0x0044 ## $a0 = FFFFFFDC
|
|
||||||
/* 00E40 80AA14D0 240704CA */ addiu $a3, $zero, 0x04CA ## $a3 = 000004CA
|
|
||||||
/* 00E44 80AA14D4 0C031AB1 */ jal Graph_OpenDisps
|
|
||||||
/* 00E48 80AA14D8 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
|
|
||||||
/* 00E4C 80AA14DC 864E07A0 */ lh $t6, 0x07A0($s2) ## 000007A0
|
|
||||||
/* 00E50 80AA14E0 26040024 */ addiu $a0, $s0, 0x0024 ## $a0 = 00000024
|
|
||||||
/* 00E54 80AA14E4 000E7880 */ sll $t7, $t6, 2
|
|
||||||
/* 00E58 80AA14E8 024FC021 */ addu $t8, $s2, $t7
|
|
||||||
/* 00E5C 80AA14EC 8F020790 */ lw $v0, 0x0790($t8) ## 00000790
|
|
||||||
/* 00E60 80AA14F0 0C01E00A */ jal Math_Vec3f_DistXZ
|
|
||||||
|
|
||||||
/* 00E64 80AA14F4 2445005C */ addiu $a1, $v0, 0x005C ## $a1 = 0000005C
|
|
||||||
/* 00E68 80AA14F8 46000306 */ mov.s $f12, $f0
|
|
||||||
/* 00E6C 80AA14FC 0C03D89A */ jal func_800F6268
|
|
||||||
/* 00E70 80AA1500 2405002F */ addiu $a1, $zero, 0x002F ## $a1 = 0000002F
|
|
||||||
/* 00E74 80AA1504 0C024F46 */ jal func_80093D18
|
|
||||||
/* 00E78 80AA1508 8E440000 */ lw $a0, 0x0000($s2) ## 00000000
|
|
||||||
/* 00E7C 80AA150C 8E2302C0 */ lw $v1, 0x02C0($s1) ## 000002C0
|
|
||||||
/* 00E80 80AA1510 3C08DB06 */ lui $t0, 0xDB06 ## $t0 = DB060000
|
|
||||||
/* 00E84 80AA1514 35080024 */ ori $t0, $t0, 0x0024 ## $t0 = DB060024
|
|
||||||
/* 00E88 80AA1518 24790008 */ addiu $t9, $v1, 0x0008 ## $t9 = 00000008
|
|
||||||
/* 00E8C 80AA151C AE3902C0 */ sw $t9, 0x02C0($s1) ## 000002C0
|
|
||||||
/* 00E90 80AA1520 AC680000 */ sw $t0, 0x0000($v1) ## 00000000
|
|
||||||
/* 00E94 80AA1524 860901E6 */ lh $t1, 0x01E6($s0) ## 000001E6
|
|
||||||
/* 00E98 80AA1528 3C0480AA */ lui $a0, %hi(D_80AA16C4) ## $a0 = 80AA0000
|
|
||||||
/* 00E9C 80AA152C 3C068016 */ lui $a2, %hi(gSegments)
|
|
||||||
/* 00EA0 80AA1530 00095080 */ sll $t2, $t1, 2
|
|
||||||
/* 00EA4 80AA1534 008A2021 */ addu $a0, $a0, $t2
|
|
||||||
/* 00EA8 80AA1538 8C8416C4 */ lw $a0, %lo(D_80AA16C4)($a0)
|
|
||||||
/* 00EAC 80AA153C 24C66FA8 */ addiu $a2, %lo(gSegments)
|
|
||||||
/* 00EB0 80AA1540 3C0500FF */ lui $a1, 0x00FF ## $a1 = 00FF0000
|
|
||||||
/* 00EB4 80AA1544 00046100 */ sll $t4, $a0, 4
|
|
||||||
/* 00EB8 80AA1548 000C6F02 */ srl $t5, $t4, 28
|
|
||||||
/* 00EBC 80AA154C 000D7080 */ sll $t6, $t5, 2
|
|
||||||
/* 00EC0 80AA1550 00CE7821 */ addu $t7, $a2, $t6
|
|
||||||
/* 00EC4 80AA1554 8DF80000 */ lw $t8, 0x0000($t7) ## 00000000
|
|
||||||
/* 00EC8 80AA1558 34A5FFFF */ ori $a1, $a1, 0xFFFF ## $a1 = 00FFFFFF
|
|
||||||
/* 00ECC 80AA155C 00855824 */ and $t3, $a0, $a1
|
|
||||||
/* 00ED0 80AA1560 3C078000 */ lui $a3, 0x8000 ## $a3 = 80000000
|
|
||||||
/* 00ED4 80AA1564 0178C821 */ addu $t9, $t3, $t8
|
|
||||||
/* 00ED8 80AA1568 03274021 */ addu $t0, $t9, $a3
|
|
||||||
/* 00EDC 80AA156C AC680004 */ sw $t0, 0x0004($v1) ## 00000004
|
|
||||||
/* 00EE0 80AA1570 8E2302C0 */ lw $v1, 0x02C0($s1) ## 000002C0
|
|
||||||
/* 00EE4 80AA1574 3C0ADB06 */ lui $t2, 0xDB06 ## $t2 = DB060000
|
|
||||||
/* 00EE8 80AA1578 354A0020 */ ori $t2, $t2, 0x0020 ## $t2 = DB060020
|
|
||||||
/* 00EEC 80AA157C 24690008 */ addiu $t1, $v1, 0x0008 ## $t1 = 00000008
|
|
||||||
/* 00EF0 80AA1580 AE2902C0 */ sw $t1, 0x02C0($s1) ## 000002C0
|
|
||||||
/* 00EF4 80AA1584 AC6A0000 */ sw $t2, 0x0000($v1) ## 00000000
|
|
||||||
/* 00EF8 80AA1588 860C01E4 */ lh $t4, 0x01E4($s0) ## 000001E4
|
|
||||||
/* 00EFC 80AA158C 3C0480AA */ lui $a0, %hi(D_80AA16D0) ## $a0 = 80AA0000
|
|
||||||
/* 00F00 80AA1590 000C6880 */ sll $t5, $t4, 2
|
|
||||||
/* 00F04 80AA1594 008D2021 */ addu $a0, $a0, $t5
|
|
||||||
/* 00F08 80AA1598 8C8416D0 */ lw $a0, %lo(D_80AA16D0)($a0)
|
|
||||||
/* 00F0C 80AA159C 3C0D80AA */ lui $t5, %hi(func_80AA1448) ## $t5 = 80AA0000
|
|
||||||
/* 00F10 80AA15A0 3C0C80AA */ lui $t4, %hi(func_80AA12BC) ## $t4 = 80AA0000
|
|
||||||
/* 00F14 80AA15A4 00047900 */ sll $t7, $a0, 4
|
|
||||||
/* 00F18 80AA15A8 000F5F02 */ srl $t3, $t7, 28
|
|
||||||
/* 00F1C 80AA15AC 000BC080 */ sll $t8, $t3, 2
|
|
||||||
/* 00F20 80AA15B0 00D8C821 */ addu $t9, $a2, $t8
|
|
||||||
/* 00F24 80AA15B4 8F280000 */ lw $t0, 0x0000($t9) ## 00000008
|
|
||||||
/* 00F28 80AA15B8 00857024 */ and $t6, $a0, $a1
|
|
||||||
/* 00F2C 80AA15BC 258C12BC */ addiu $t4, $t4, %lo(func_80AA12BC) ## $t4 = 80AA12BC
|
|
||||||
/* 00F30 80AA15C0 01C84821 */ addu $t1, $t6, $t0
|
|
||||||
/* 00F34 80AA15C4 01275021 */ addu $t2, $t1, $a3
|
|
||||||
/* 00F38 80AA15C8 AC6A0004 */ sw $t2, 0x0004($v1) ## 00000004
|
|
||||||
/* 00F3C 80AA15CC 9207014E */ lbu $a3, 0x014E($s0) ## 0000014E
|
|
||||||
/* 00F40 80AA15D0 8E06016C */ lw $a2, 0x016C($s0) ## 0000016C
|
|
||||||
/* 00F44 80AA15D4 8E050150 */ lw $a1, 0x0150($s0) ## 00000150
|
|
||||||
/* 00F48 80AA15D8 25AD1448 */ addiu $t5, $t5, %lo(func_80AA1448) ## $t5 = 80AA1448
|
|
||||||
/* 00F4C 80AA15DC AFAD0014 */ sw $t5, 0x0014($sp)
|
|
||||||
/* 00F50 80AA15E0 AFB00018 */ sw $s0, 0x0018($sp)
|
|
||||||
/* 00F54 80AA15E4 AFAC0010 */ sw $t4, 0x0010($sp)
|
|
||||||
/* 00F58 80AA15E8 0C0286B2 */ jal SkelAnime_DrawSV
|
|
||||||
/* 00F5C 80AA15EC 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000
|
|
||||||
/* 00F60 80AA15F0 3C0680AA */ lui $a2, %hi(D_80AA16F0) ## $a2 = 80AA0000
|
|
||||||
/* 00F64 80AA15F4 24C616F0 */ addiu $a2, $a2, %lo(D_80AA16F0) ## $a2 = 80AA16F0
|
|
||||||
/* 00F68 80AA15F8 27A40044 */ addiu $a0, $sp, 0x0044 ## $a0 = FFFFFFDC
|
|
||||||
/* 00F6C 80AA15FC 8E450000 */ lw $a1, 0x0000($s2) ## 00000000
|
|
||||||
/* 00F70 80AA1600 0C031AD5 */ jal Graph_CloseDisps
|
|
||||||
/* 00F74 80AA1604 240704ED */ addiu $a3, $zero, 0x04ED ## $a3 = 000004ED
|
|
||||||
/* 00F78 80AA1608 8FBF0034 */ lw $ra, 0x0034($sp)
|
|
||||||
/* 00F7C 80AA160C 8FB00028 */ lw $s0, 0x0028($sp)
|
|
||||||
/* 00F80 80AA1610 8FB1002C */ lw $s1, 0x002C($sp)
|
|
||||||
/* 00F84 80AA1614 8FB20030 */ lw $s2, 0x0030($sp)
|
|
||||||
/* 00F88 80AA1618 03E00008 */ jr $ra
|
|
||||||
/* 00F8C 80AA161C 27BD0068 */ addiu $sp, $sp, 0x0068 ## $sp = 00000000
|
|
|
@ -1,101 +0,0 @@
|
||||||
glabel EnMa1_Init
|
|
||||||
/* 00558 80AA0BE8 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0
|
|
||||||
/* 0055C 80AA0BEC AFB00028 */ sw $s0, 0x0028($sp)
|
|
||||||
/* 00560 80AA0BF0 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
|
||||||
/* 00564 80AA0BF4 AFBF002C */ sw $ra, 0x002C($sp)
|
|
||||||
/* 00568 80AA0BF8 AFA50044 */ sw $a1, 0x0044($sp)
|
|
||||||
/* 0056C 80AA0BFC 3C068003 */ lui $a2, %hi(ActorShadow_DrawFunc_Circle)
|
|
||||||
/* 00570 80AA0C00 24C6B5EC */ addiu $a2, %lo(ActorShadow_DrawFunc_Circle)
|
|
||||||
/* 00574 80AA0C04 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
|
|
||||||
/* 00578 80AA0C08 248400B4 */ addiu $a0, $a0, 0x00B4 ## $a0 = 000000B4
|
|
||||||
/* 0057C 80AA0C0C 0C00AC78 */ jal ActorShape_Init
|
|
||||||
|
|
||||||
/* 00580 80AA0C10 3C074190 */ lui $a3, 0x4190 ## $a3 = 41900000
|
|
||||||
/* 00584 80AA0C14 3C060601 */ lui $a2, 0x0601 ## $a2 = 06010000
|
|
||||||
/* 00588 80AA0C18 24C68460 */ addiu $a2, $a2, 0x8460 ## $a2 = 06008460
|
|
||||||
/* 0058C 80AA0C1C 8FA40044 */ lw $a0, 0x0044($sp)
|
|
||||||
/* 00590 80AA0C20 2605014C */ addiu $a1, $s0, 0x014C ## $a1 = 0000014C
|
|
||||||
/* 00594 80AA0C24 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
|
|
||||||
/* 00598 80AA0C28 AFA00010 */ sw $zero, 0x0010($sp)
|
|
||||||
/* 0059C 80AA0C2C AFA00014 */ sw $zero, 0x0014($sp)
|
|
||||||
/* 005A0 80AA0C30 0C0291BE */ jal SkelAnime_InitSV
|
|
||||||
/* 005A4 80AA0C34 AFA00018 */ sw $zero, 0x0018($sp)
|
|
||||||
/* 005A8 80AA0C38 26050194 */ addiu $a1, $s0, 0x0194 ## $a1 = 00000194
|
|
||||||
/* 005AC 80AA0C3C AFA50030 */ sw $a1, 0x0030($sp)
|
|
||||||
/* 005B0 80AA0C40 0C0170D9 */ jal Collider_InitCylinder
|
|
||||||
|
|
||||||
/* 005B4 80AA0C44 8FA40044 */ lw $a0, 0x0044($sp)
|
|
||||||
/* 005B8 80AA0C48 3C0780AA */ lui $a3, %hi(D_80AA1640) ## $a3 = 80AA0000
|
|
||||||
/* 005BC 80AA0C4C 8FA50030 */ lw $a1, 0x0030($sp)
|
|
||||||
/* 005C0 80AA0C50 24E71640 */ addiu $a3, $a3, %lo(D_80AA1640) ## $a3 = 80AA1640
|
|
||||||
/* 005C4 80AA0C54 8FA40044 */ lw $a0, 0x0044($sp)
|
|
||||||
/* 005C8 80AA0C58 0C01712B */ jal Collider_SetCylinder
|
|
||||||
|
|
||||||
/* 005CC 80AA0C5C 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
|
|
||||||
/* 005D0 80AA0C60 0C016C80 */ jal DamageTable_Get
|
|
||||||
|
|
||||||
/* 005D4 80AA0C64 24040016 */ addiu $a0, $zero, 0x0016 ## $a0 = 00000016
|
|
||||||
/* 005D8 80AA0C68 3C0680AA */ lui $a2, %hi(D_80AA166C) ## $a2 = 80AA0000
|
|
||||||
/* 005DC 80AA0C6C 24C6166C */ addiu $a2, $a2, %lo(D_80AA166C) ## $a2 = 80AA166C
|
|
||||||
/* 005E0 80AA0C70 26040098 */ addiu $a0, $s0, 0x0098 ## $a0 = 00000098
|
|
||||||
/* 005E4 80AA0C74 0C0187BF */ jal func_80061EFC
|
|
||||||
/* 005E8 80AA0C78 00402825 */ or $a1, $v0, $zero ## $a1 = 00000000
|
|
||||||
/* 005EC 80AA0C7C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
|
||||||
/* 005F0 80AA0C80 0C2A8231 */ jal func_80AA08C4
|
|
||||||
/* 005F4 80AA0C84 8FA50044 */ lw $a1, 0x0044($sp)
|
|
||||||
/* 005F8 80AA0C88 14400005 */ bne $v0, $zero, .L80AA0CA0
|
|
||||||
/* 005FC 80AA0C8C 8FA40044 */ lw $a0, 0x0044($sp)
|
|
||||||
/* 00600 80AA0C90 0C00B55C */ jal Actor_Kill
|
|
||||||
|
|
||||||
/* 00604 80AA0C94 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
|
||||||
/* 00608 80AA0C98 10000029 */ beq $zero, $zero, .L80AA0D40
|
|
||||||
/* 0060C 80AA0C9C 8FBF002C */ lw $ra, 0x002C($sp)
|
|
||||||
.L80AA0CA0:
|
|
||||||
/* 00610 80AA0CA0 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
|
|
||||||
/* 00614 80AA0CA4 240E0004 */ addiu $t6, $zero, 0x0004 ## $t6 = 00000004
|
|
||||||
/* 00618 80AA0CA8 AFAE0014 */ sw $t6, 0x0014($sp)
|
|
||||||
/* 0061C 80AA0CAC 44060000 */ mfc1 $a2, $f0
|
|
||||||
/* 00620 80AA0CB0 44070000 */ mfc1 $a3, $f0
|
|
||||||
/* 00624 80AA0CB4 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
|
|
||||||
/* 00628 80AA0CB8 0C00B92D */ jal func_8002E4B4
|
|
||||||
/* 0062C 80AA0CBC E7A00010 */ swc1 $f0, 0x0010($sp)
|
|
||||||
/* 00630 80AA0CC0 3C053C23 */ lui $a1, 0x3C23 ## $a1 = 3C230000
|
|
||||||
/* 00634 80AA0CC4 34A5D70A */ ori $a1, $a1, 0xD70A ## $a1 = 3C23D70A
|
|
||||||
/* 00638 80AA0CC8 0C00B58B */ jal Actor_SetScale
|
|
||||||
|
|
||||||
/* 0063C 80AA0CCC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
|
||||||
/* 00640 80AA0CD0 3C028016 */ lui $v0, %hi(gSaveContext)
|
|
||||||
/* 00644 80AA0CD4 240F0006 */ addiu $t7, $zero, 0x0006 ## $t7 = 00000006
|
|
||||||
/* 00648 80AA0CD8 2442E660 */ addiu $v0, %lo(gSaveContext)
|
|
||||||
/* 0064C 80AA0CDC A20F001F */ sb $t7, 0x001F($s0) ## 0000001F
|
|
||||||
/* 00650 80AA0CE0 A60001E8 */ sh $zero, 0x01E8($s0) ## 000001E8
|
|
||||||
/* 00654 80AA0CE4 94580ED6 */ lhu $t8, 0x0ED6($v0) ## 8015F536
|
|
||||||
/* 00658 80AA0CE8 3C0B80AA */ lui $t3, %hi(func_80AA0D88) ## $t3 = 80AA0000
|
|
||||||
/* 0065C 80AA0CEC 3C088012 */ lui $t0, %hi(gBitFlags+0x34)
|
|
||||||
/* 00660 80AA0CF0 33190010 */ andi $t9, $t8, 0x0010 ## $t9 = 00000000
|
|
||||||
/* 00664 80AA0CF4 13200008 */ beq $t9, $zero, .L80AA0D18
|
|
||||||
/* 00668 80AA0CF8 256B0D88 */ addiu $t3, $t3, %lo(func_80AA0D88) ## $t3 = 80AA0D88
|
|
||||||
/* 0066C 80AA0CFC 8D087154 */ lw $t0, %lo(gBitFlags+0x34)($t0)
|
|
||||||
/* 00670 80AA0D00 8C4900A4 */ lw $t1, 0x00A4($v0) ## 8015E704
|
|
||||||
/* 00674 80AA0D04 3C0C80AA */ lui $t4, %hi(func_80AA0F44) ## $t4 = 80AA0000
|
|
||||||
/* 00678 80AA0D08 258C0F44 */ addiu $t4, $t4, %lo(func_80AA0F44) ## $t4 = 80AA0F44
|
|
||||||
/* 0067C 80AA0D0C 01095024 */ and $t2, $t0, $t1
|
|
||||||
/* 00680 80AA0D10 11400007 */ beq $t2, $zero, .L80AA0D30
|
|
||||||
/* 00684 80AA0D14 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
|
||||||
.L80AA0D18:
|
|
||||||
/* 00688 80AA0D18 AE0B0190 */ sw $t3, 0x0190($s0) ## 00000190
|
|
||||||
/* 0068C 80AA0D1C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
|
||||||
/* 00690 80AA0D20 0C2A82A1 */ jal func_80AA0A84
|
|
||||||
/* 00694 80AA0D24 24050002 */ addiu $a1, $zero, 0x0002 ## $a1 = 00000002
|
|
||||||
/* 00698 80AA0D28 10000005 */ beq $zero, $zero, .L80AA0D40
|
|
||||||
/* 0069C 80AA0D2C 8FBF002C */ lw $ra, 0x002C($sp)
|
|
||||||
.L80AA0D30:
|
|
||||||
/* 006A0 80AA0D30 AE0C0190 */ sw $t4, 0x0190($s0) ## 00000190
|
|
||||||
/* 006A4 80AA0D34 0C2A82A1 */ jal func_80AA0A84
|
|
||||||
/* 006A8 80AA0D38 24050002 */ addiu $a1, $zero, 0x0002 ## $a1 = 00000002
|
|
||||||
/* 006AC 80AA0D3C 8FBF002C */ lw $ra, 0x002C($sp)
|
|
||||||
.L80AA0D40:
|
|
||||||
/* 006B0 80AA0D40 8FB00028 */ lw $s0, 0x0028($sp)
|
|
||||||
/* 006B4 80AA0D44 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000
|
|
||||||
/* 006B8 80AA0D48 03E00008 */ jr $ra
|
|
||||||
/* 006BC 80AA0D4C 00000000 */ nop
|
|
|
@ -1,63 +0,0 @@
|
||||||
glabel EnMa1_Update
|
|
||||||
/* 00B44 80AA11D4 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8
|
|
||||||
/* 00B48 80AA11D8 AFB0001C */ sw $s0, 0x001C($sp)
|
|
||||||
/* 00B4C 80AA11DC 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
|
||||||
/* 00B50 80AA11E0 AFB10020 */ sw $s1, 0x0020($sp)
|
|
||||||
/* 00B54 80AA11E4 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
|
|
||||||
/* 00B58 80AA11E8 AFBF0024 */ sw $ra, 0x0024($sp)
|
|
||||||
/* 00B5C 80AA11EC 26060194 */ addiu $a2, $s0, 0x0194 ## $a2 = 00000194
|
|
||||||
/* 00B60 80AA11F0 00C02825 */ or $a1, $a2, $zero ## $a1 = 00000194
|
|
||||||
/* 00B64 80AA11F4 0C0189B7 */ jal Collider_CylinderUpdate
|
|
||||||
|
|
||||||
/* 00B68 80AA11F8 AFA6002C */ sw $a2, 0x002C($sp)
|
|
||||||
/* 00B6C 80AA11FC 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
|
||||||
/* 00B70 80AA1200 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60
|
|
||||||
/* 00B74 80AA1204 8FA6002C */ lw $a2, 0x002C($sp)
|
|
||||||
/* 00B78 80AA1208 02212821 */ addu $a1, $s1, $at
|
|
||||||
/* 00B7C 80AA120C 0C017713 */ jal CollisionCheck_SetOC
|
|
||||||
## CollisionCheck_setOT
|
|
||||||
/* 00B80 80AA1210 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
|
||||||
/* 00B84 80AA1214 0C02927F */ jal SkelAnime_FrameUpdateMatrix
|
|
||||||
|
|
||||||
/* 00B88 80AA1218 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
|
|
||||||
/* 00B8C 80AA121C 0C2A8283 */ jal func_80AA0A0C
|
|
||||||
/* 00B90 80AA1220 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
|
||||||
/* 00B94 80AA1224 8E190190 */ lw $t9, 0x0190($s0) ## 00000190
|
|
||||||
/* 00B98 80AA1228 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
|
||||||
/* 00B9C 80AA122C 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
|
|
||||||
/* 00BA0 80AA1230 0320F809 */ jalr $ra, $t9
|
|
||||||
/* 00BA4 80AA1234 00000000 */ nop
|
|
||||||
/* 00BA8 80AA1238 8E0F0190 */ lw $t7, 0x0190($s0) ## 00000190
|
|
||||||
/* 00BAC 80AA123C 3C0E80AA */ lui $t6, %hi(func_80AA11C8) ## $t6 = 80AA0000
|
|
||||||
/* 00BB0 80AA1240 25CE11C8 */ addiu $t6, $t6, %lo(func_80AA11C8) ## $t6 = 80AA11C8
|
|
||||||
/* 00BB4 80AA1244 11CF0013 */ beq $t6, $t7, .L80AA1294
|
|
||||||
/* 00BB8 80AA1248 00000000 */ nop
|
|
||||||
/* 00BBC 80AA124C 861801D4 */ lh $t8, 0x01D4($s0) ## 000001D4
|
|
||||||
/* 00BC0 80AA1250 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000
|
|
||||||
/* 00BC4 80AA1254 44814000 */ mtc1 $at, $f8 ## $f8 = 30.00
|
|
||||||
/* 00BC8 80AA1258 44982000 */ mtc1 $t8, $f4 ## $f4 = 0.00
|
|
||||||
/* 00BCC 80AA125C 3C0880AA */ lui $t0, %hi(func_80AA0690) ## $t0 = 80AA0000
|
|
||||||
/* 00BD0 80AA1260 3C0980AA */ lui $t1, %hi(func_80AA0778) ## $t1 = 80AA0000
|
|
||||||
/* 00BD4 80AA1264 468021A0 */ cvt.s.w $f6, $f4
|
|
||||||
/* 00BD8 80AA1268 25290778 */ addiu $t1, $t1, %lo(func_80AA0778) ## $t1 = 80AA0778
|
|
||||||
/* 00BDC 80AA126C 25080690 */ addiu $t0, $t0, %lo(func_80AA0690) ## $t0 = 80AA0690
|
|
||||||
/* 00BE0 80AA1270 AFA80010 */ sw $t0, 0x0010($sp)
|
|
||||||
/* 00BE4 80AA1274 AFA90014 */ sw $t1, 0x0014($sp)
|
|
||||||
/* 00BE8 80AA1278 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
|
||||||
/* 00BEC 80AA127C 46083280 */ add.s $f10, $f6, $f8
|
|
||||||
/* 00BF0 80AA1280 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
|
|
||||||
/* 00BF4 80AA1284 260601E8 */ addiu $a2, $s0, 0x01E8 ## $a2 = 000001E8
|
|
||||||
/* 00BF8 80AA1288 44075000 */ mfc1 $a3, $f10
|
|
||||||
/* 00BFC 80AA128C 0C00D0F3 */ jal func_800343CC
|
|
||||||
/* 00C00 80AA1290 00000000 */ nop
|
|
||||||
.L80AA1294:
|
|
||||||
/* 00C04 80AA1294 0C2A82DD */ jal func_80AA0B74
|
|
||||||
/* 00C08 80AA1298 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
|
||||||
/* 00C0C 80AA129C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
|
||||||
/* 00C10 80AA12A0 0C2A82BD */ jal func_80AA0AF4
|
|
||||||
/* 00C14 80AA12A4 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
|
|
||||||
/* 00C18 80AA12A8 8FBF0024 */ lw $ra, 0x0024($sp)
|
|
||||||
/* 00C1C 80AA12AC 8FB0001C */ lw $s0, 0x001C($sp)
|
|
||||||
/* 00C20 80AA12B0 8FB10020 */ lw $s1, 0x0020($sp)
|
|
||||||
/* 00C24 80AA12B4 03E00008 */ jr $ra
|
|
||||||
/* 00C28 80AA12B8 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000
|
|
|
@ -1,69 +0,0 @@
|
||||||
glabel func_80AA0690
|
|
||||||
/* 00000 80AA0690 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
|
||||||
/* 00004 80AA0694 AFBF0014 */ sw $ra, 0x0014($sp)
|
|
||||||
/* 00008 80AA0698 AFA5001C */ sw $a1, 0x001C($sp)
|
|
||||||
/* 0000C 80AA069C 0C01B0D8 */ jal Text_GetFaceReaction
|
|
||||||
/* 00010 80AA06A0 24050017 */ addiu $a1, $zero, 0x0017 ## $a1 = 00000017
|
|
||||||
/* 00014 80AA06A4 10400003 */ beq $v0, $zero, .L80AA06B4
|
|
||||||
/* 00018 80AA06A8 3043FFFF */ andi $v1, $v0, 0xFFFF ## $v1 = 00000000
|
|
||||||
/* 0001C 80AA06AC 1000002E */ beq $zero, $zero, .L80AA0768
|
|
||||||
/* 00020 80AA06B0 00601025 */ or $v0, $v1, $zero ## $v0 = 00000000
|
|
||||||
.L80AA06B4:
|
|
||||||
/* 00024 80AA06B4 3C038016 */ lui $v1, %hi(gSaveContext)
|
|
||||||
/* 00028 80AA06B8 2463E660 */ addiu $v1, %lo(gSaveContext)
|
|
||||||
/* 0002C 80AA06BC 3C0E8012 */ lui $t6, %hi(gBitFlags+0x34)
|
|
||||||
/* 00030 80AA06C0 8DCE7154 */ lw $t6, %lo(gBitFlags+0x34)($t6)
|
|
||||||
/* 00034 80AA06C4 8C6F00A4 */ lw $t7, 0x00A4($v1) ## 8015E704
|
|
||||||
/* 00038 80AA06C8 01CFC024 */ and $t8, $t6, $t7
|
|
||||||
/* 0003C 80AA06CC 53000004 */ beql $t8, $zero, .L80AA06E0
|
|
||||||
/* 00040 80AA06D0 94620ED6 */ lhu $v0, 0x0ED6($v1) ## 8015F536
|
|
||||||
/* 00044 80AA06D4 10000024 */ beq $zero, $zero, .L80AA0768
|
|
||||||
/* 00048 80AA06D8 2402204A */ addiu $v0, $zero, 0x204A ## $v0 = 0000204A
|
|
||||||
/* 0004C 80AA06DC 94620ED6 */ lhu $v0, 0x0ED6($v1) ## 8015F536
|
|
||||||
.L80AA06E0:
|
|
||||||
/* 00050 80AA06E0 30590040 */ andi $t9, $v0, 0x0040 ## $t9 = 00000040
|
|
||||||
/* 00054 80AA06E4 13200003 */ beq $t9, $zero, .L80AA06F4
|
|
||||||
/* 00058 80AA06E8 30480020 */ andi $t0, $v0, 0x0020 ## $t0 = 00000000
|
|
||||||
/* 0005C 80AA06EC 1000001E */ beq $zero, $zero, .L80AA0768
|
|
||||||
/* 00060 80AA06F0 24022049 */ addiu $v0, $zero, 0x2049 ## $v0 = 00002049
|
|
||||||
.L80AA06F4:
|
|
||||||
/* 00064 80AA06F4 11000009 */ beq $t0, $zero, .L80AA071C
|
|
||||||
/* 00068 80AA06F8 304B0010 */ andi $t3, $v0, 0x0010 ## $t3 = 00000000
|
|
||||||
/* 0006C 80AA06FC 94690F08 */ lhu $t1, 0x0F08($v1) ## 8015F568
|
|
||||||
/* 00070 80AA0700 312A0020 */ andi $t2, $t1, 0x0020 ## $t2 = 00000000
|
|
||||||
/* 00074 80AA0704 11400003 */ beq $t2, $zero, .L80AA0714
|
|
||||||
/* 00078 80AA0708 00000000 */ nop
|
|
||||||
/* 0007C 80AA070C 10000016 */ beq $zero, $zero, .L80AA0768
|
|
||||||
/* 00080 80AA0710 24022049 */ addiu $v0, $zero, 0x2049 ## $v0 = 00002049
|
|
||||||
.L80AA0714:
|
|
||||||
/* 00084 80AA0714 10000014 */ beq $zero, $zero, .L80AA0768
|
|
||||||
/* 00088 80AA0718 24022048 */ addiu $v0, $zero, 0x2048 ## $v0 = 00002048
|
|
||||||
.L80AA071C:
|
|
||||||
/* 0008C 80AA071C 11600003 */ beq $t3, $zero, .L80AA072C
|
|
||||||
/* 00090 80AA0720 304C0004 */ andi $t4, $v0, 0x0004 ## $t4 = 00000000
|
|
||||||
/* 00094 80AA0724 10000010 */ beq $zero, $zero, .L80AA0768
|
|
||||||
/* 00098 80AA0728 24022047 */ addiu $v0, $zero, 0x2047 ## $v0 = 00002047
|
|
||||||
.L80AA072C:
|
|
||||||
/* 0009C 80AA072C 51800004 */ beql $t4, $zero, .L80AA0740
|
|
||||||
/* 000A0 80AA0730 94620F08 */ lhu $v0, 0x0F08($v1) ## 8015F568
|
|
||||||
/* 000A4 80AA0734 1000000C */ beq $zero, $zero, .L80AA0768
|
|
||||||
/* 000A8 80AA0738 24022044 */ addiu $v0, $zero, 0x2044 ## $v0 = 00002044
|
|
||||||
/* 000AC 80AA073C 94620F08 */ lhu $v0, 0x0F08($v1) ## 8015F568
|
|
||||||
.L80AA0740:
|
|
||||||
/* 000B0 80AA0740 304D0010 */ andi $t5, $v0, 0x0010 ## $t5 = 00000000
|
|
||||||
/* 000B4 80AA0744 11A00007 */ beq $t5, $zero, .L80AA0764
|
|
||||||
/* 000B8 80AA0748 304E0800 */ andi $t6, $v0, 0x0800 ## $t6 = 00000000
|
|
||||||
/* 000BC 80AA074C 11C00003 */ beq $t6, $zero, .L80AA075C
|
|
||||||
/* 000C0 80AA0750 00000000 */ nop
|
|
||||||
/* 000C4 80AA0754 10000004 */ beq $zero, $zero, .L80AA0768
|
|
||||||
/* 000C8 80AA0758 24022043 */ addiu $v0, $zero, 0x2043 ## $v0 = 00002043
|
|
||||||
.L80AA075C:
|
|
||||||
/* 000CC 80AA075C 10000002 */ beq $zero, $zero, .L80AA0768
|
|
||||||
/* 000D0 80AA0760 24022042 */ addiu $v0, $zero, 0x2042 ## $v0 = 00002042
|
|
||||||
.L80AA0764:
|
|
||||||
/* 000D4 80AA0764 24022041 */ addiu $v0, $zero, 0x2041 ## $v0 = 00002041
|
|
||||||
.L80AA0768:
|
|
||||||
/* 000D8 80AA0768 8FBF0014 */ lw $ra, 0x0014($sp)
|
|
||||||
/* 000DC 80AA076C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
|
||||||
/* 000E0 80AA0770 03E00008 */ jr $ra
|
|
||||||
/* 000E4 80AA0774 00000000 */ nop
|
|
|
@ -1,145 +0,0 @@
|
||||||
.late_rodata
|
|
||||||
.late_rodata_alignment 8
|
|
||||||
glabel jtbl_80AA1700
|
|
||||||
.word L80AA08B0
|
|
||||||
.word L80AA08B0
|
|
||||||
.word L80AA07C4
|
|
||||||
.word L80AA08B0
|
|
||||||
.word L80AA087C
|
|
||||||
.word L80AA087C
|
|
||||||
.word L80AA0898
|
|
||||||
.word L80AA08B0
|
|
||||||
.word L80AA08B0
|
|
||||||
.word L80AA08B0
|
|
||||||
glabel jtbl_80AA1728
|
|
||||||
.word L80AA07F0
|
|
||||||
.word L80AA0874
|
|
||||||
.word L80AA08B0
|
|
||||||
.word L80AA0874
|
|
||||||
.word L80AA0874
|
|
||||||
.word L80AA0874
|
|
||||||
.word L80AA0818
|
|
||||||
.word L80AA0834
|
|
||||||
.word L80AA0850
|
|
||||||
.word L80AA0874
|
|
||||||
.word L80AA0874
|
|
||||||
.word L80AA0874
|
|
||||||
.word L80AA0874
|
|
||||||
.word L80AA0874
|
|
||||||
.word L80AA0874
|
|
||||||
.word L80AA0874
|
|
||||||
.word L80AA0874
|
|
||||||
.word L80AA0874
|
|
||||||
.word L80AA0874
|
|
||||||
.word L80AA0874
|
|
||||||
.word L80AA0874
|
|
||||||
.word L80AA0874
|
|
||||||
.word L80AA0874
|
|
||||||
.word L80AA0874
|
|
||||||
.word L80AA0874
|
|
||||||
.word L80AA0874
|
|
||||||
.word L80AA0874
|
|
||||||
.word L80AA0874
|
|
||||||
.word L80AA0874
|
|
||||||
.word L80AA0874
|
|
||||||
.word L80AA0874
|
|
||||||
.word L80AA0874
|
|
||||||
.word L80AA086C
|
|
||||||
|
|
||||||
.text
|
|
||||||
glabel func_80AA0778
|
|
||||||
/* 000E8 80AA0778 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
|
|
||||||
/* 000EC 80AA077C AFBF0014 */ sw $ra, 0x0014($sp)
|
|
||||||
/* 000F0 80AA0780 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
|
|
||||||
/* 000F4 80AA0784 24030001 */ addiu $v1, $zero, 0x0001 ## $v1 = 00000001
|
|
||||||
/* 000F8 80AA0788 AFA50024 */ sw $a1, 0x0024($sp)
|
|
||||||
/* 000FC 80AA078C A7A3001E */ sh $v1, 0x001E($sp)
|
|
||||||
/* 00100 80AA0790 AFA60020 */ sw $a2, 0x0020($sp)
|
|
||||||
/* 00104 80AA0794 0C042F6F */ jal func_8010BDBC
|
|
||||||
/* 00108 80AA0798 248420D8 */ addiu $a0, $a0, 0x20D8 ## $a0 = 000020D8
|
|
||||||
/* 0010C 80AA079C 2C41000A */ sltiu $at, $v0, 0x000A
|
|
||||||
/* 00110 80AA07A0 87A3001E */ lh $v1, 0x001E($sp)
|
|
||||||
/* 00114 80AA07A4 10200042 */ beq $at, $zero, .L80AA08B0
|
|
||||||
/* 00118 80AA07A8 8FA60020 */ lw $a2, 0x0020($sp)
|
|
||||||
/* 0011C 80AA07AC 00027080 */ sll $t6, $v0, 2
|
|
||||||
/* 00120 80AA07B0 3C0180AA */ lui $at, %hi(jtbl_80AA1700) ## $at = 80AA0000
|
|
||||||
/* 00124 80AA07B4 002E0821 */ addu $at, $at, $t6
|
|
||||||
/* 00128 80AA07B8 8C2E1700 */ lw $t6, %lo(jtbl_80AA1700)($at)
|
|
||||||
/* 0012C 80AA07BC 01C00008 */ jr $t6
|
|
||||||
/* 00130 80AA07C0 00000000 */ nop
|
|
||||||
glabel L80AA07C4
|
|
||||||
/* 00134 80AA07C4 8FAF0024 */ lw $t7, 0x0024($sp)
|
|
||||||
/* 00138 80AA07C8 95F8010E */ lhu $t8, 0x010E($t7) ## 0000010E
|
|
||||||
/* 0013C 80AA07CC 2719DFBF */ addiu $t9, $t8, 0xDFBF ## $t9 = FFFFDFBF
|
|
||||||
/* 00140 80AA07D0 2F210021 */ sltiu $at, $t9, 0x0021
|
|
||||||
/* 00144 80AA07D4 10200027 */ beq $at, $zero, .L80AA0874
|
|
||||||
/* 00148 80AA07D8 0019C880 */ sll $t9, $t9, 2
|
|
||||||
/* 0014C 80AA07DC 3C0180AA */ lui $at, %hi(jtbl_80AA1728) ## $at = 80AA0000
|
|
||||||
/* 00150 80AA07E0 00390821 */ addu $at, $at, $t9
|
|
||||||
/* 00154 80AA07E4 8C391728 */ lw $t9, %lo(jtbl_80AA1728)($at)
|
|
||||||
/* 00158 80AA07E8 03200008 */ jr $t9
|
|
||||||
/* 0015C 80AA07EC 00000000 */ nop
|
|
||||||
glabel L80AA07F0
|
|
||||||
/* 00160 80AA07F0 3C028016 */ lui $v0, %hi(gSaveContext)
|
|
||||||
/* 00164 80AA07F4 2442E660 */ addiu $v0, %lo(gSaveContext)
|
|
||||||
/* 00168 80AA07F8 94480F08 */ lhu $t0, 0x0F08($v0) ## 8015F568
|
|
||||||
/* 0016C 80AA07FC 944A0ED6 */ lhu $t2, 0x0ED6($v0) ## 8015F536
|
|
||||||
/* 00170 80AA0800 00001825 */ or $v1, $zero, $zero ## $v1 = 00000000
|
|
||||||
/* 00174 80AA0804 35090010 */ ori $t1, $t0, 0x0010 ## $t1 = 00000010
|
|
||||||
/* 00178 80AA0808 354B0001 */ ori $t3, $t2, 0x0001 ## $t3 = 00000001
|
|
||||||
/* 0017C 80AA080C A4490F08 */ sh $t1, 0x0F08($v0) ## 8015F568
|
|
||||||
/* 00180 80AA0810 10000027 */ beq $zero, $zero, .L80AA08B0
|
|
||||||
/* 00184 80AA0814 A44B0ED6 */ sh $t3, 0x0ED6($v0) ## 8015F536
|
|
||||||
glabel L80AA0818
|
|
||||||
/* 00188 80AA0818 3C028016 */ lui $v0, %hi(gSaveContext)
|
|
||||||
/* 0018C 80AA081C 2442E660 */ addiu $v0, %lo(gSaveContext)
|
|
||||||
/* 00190 80AA0820 944C0ED6 */ lhu $t4, 0x0ED6($v0) ## 8015F536
|
|
||||||
/* 00194 80AA0824 00001825 */ or $v1, $zero, $zero ## $v1 = 00000000
|
|
||||||
/* 00198 80AA0828 358D0020 */ ori $t5, $t4, 0x0020 ## $t5 = 00000020
|
|
||||||
/* 0019C 80AA082C 10000020 */ beq $zero, $zero, .L80AA08B0
|
|
||||||
/* 001A0 80AA0830 A44D0ED6 */ sh $t5, 0x0ED6($v0) ## 8015F536
|
|
||||||
glabel L80AA0834
|
|
||||||
/* 001A4 80AA0834 3C028016 */ lui $v0, %hi(gSaveContext)
|
|
||||||
/* 001A8 80AA0838 2442E660 */ addiu $v0, %lo(gSaveContext)
|
|
||||||
/* 001AC 80AA083C 944E0F08 */ lhu $t6, 0x0F08($v0) ## 8015F568
|
|
||||||
/* 001B0 80AA0840 00001825 */ or $v1, $zero, $zero ## $v1 = 00000000
|
|
||||||
/* 001B4 80AA0844 35CF0020 */ ori $t7, $t6, 0x0020 ## $t7 = 00000020
|
|
||||||
/* 001B8 80AA0848 10000019 */ beq $zero, $zero, .L80AA08B0
|
|
||||||
/* 001BC 80AA084C A44F0F08 */ sh $t7, 0x0F08($v0) ## 8015F568
|
|
||||||
glabel L80AA0850
|
|
||||||
/* 001C0 80AA0850 3C028016 */ lui $v0, %hi(gSaveContext)
|
|
||||||
/* 001C4 80AA0854 2442E660 */ addiu $v0, %lo(gSaveContext)
|
|
||||||
/* 001C8 80AA0858 94580ED6 */ lhu $t8, 0x0ED6($v0) ## 8015F536
|
|
||||||
/* 001CC 80AA085C 00001825 */ or $v1, $zero, $zero ## $v1 = 00000000
|
|
||||||
/* 001D0 80AA0860 37190040 */ ori $t9, $t8, 0x0040 ## $t9 = 00000040
|
|
||||||
/* 001D4 80AA0864 10000012 */ beq $zero, $zero, .L80AA08B0
|
|
||||||
/* 001D8 80AA0868 A4590ED6 */ sh $t9, 0x0ED6($v0) ## 8015F536
|
|
||||||
glabel L80AA086C
|
|
||||||
/* 001DC 80AA086C 10000010 */ beq $zero, $zero, .L80AA08B0
|
|
||||||
/* 001E0 80AA0870 24030002 */ addiu $v1, $zero, 0x0002 ## $v1 = 00000002
|
|
||||||
glabel L80AA0874
|
|
||||||
.L80AA0874:
|
|
||||||
/* 001E4 80AA0874 1000000E */ beq $zero, $zero, .L80AA08B0
|
|
||||||
/* 001E8 80AA0878 00001825 */ or $v1, $zero, $zero ## $v1 = 00000000
|
|
||||||
glabel L80AA087C
|
|
||||||
/* 001EC 80AA087C 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
|
|
||||||
/* 001F0 80AA0880 0C041AF2 */ jal func_80106BC8
|
|
||||||
/* 001F4 80AA0884 A7A3001E */ sh $v1, 0x001E($sp)
|
|
||||||
/* 001F8 80AA0888 10400009 */ beq $v0, $zero, .L80AA08B0
|
|
||||||
/* 001FC 80AA088C 87A3001E */ lh $v1, 0x001E($sp)
|
|
||||||
/* 00200 80AA0890 10000007 */ beq $zero, $zero, .L80AA08B0
|
|
||||||
/* 00204 80AA0894 24030002 */ addiu $v1, $zero, 0x0002 ## $v1 = 00000002
|
|
||||||
glabel L80AA0898
|
|
||||||
/* 00208 80AA0898 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
|
|
||||||
/* 0020C 80AA089C 0C041AF2 */ jal func_80106BC8
|
|
||||||
/* 00210 80AA08A0 A7A3001E */ sh $v1, 0x001E($sp)
|
|
||||||
/* 00214 80AA08A4 10400002 */ beq $v0, $zero, .L80AA08B0
|
|
||||||
/* 00218 80AA08A8 87A3001E */ lh $v1, 0x001E($sp)
|
|
||||||
/* 0021C 80AA08AC 24030003 */ addiu $v1, $zero, 0x0003 ## $v1 = 00000003
|
|
||||||
glabel L80AA08B0
|
|
||||||
.L80AA08B0:
|
|
||||||
/* 00220 80AA08B0 8FBF0014 */ lw $ra, 0x0014($sp)
|
|
||||||
/* 00224 80AA08B4 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
|
|
||||||
/* 00228 80AA08B8 00601025 */ or $v0, $v1, $zero ## $v0 = 00000003
|
|
||||||
/* 0022C 80AA08BC 03E00008 */ jr $ra
|
|
||||||
/* 00230 80AA08C0 00000000 */ nop
|
|
|
@ -1,97 +0,0 @@
|
||||||
glabel func_80AA08C4
|
|
||||||
/* 00234 80AA08C4 848200B8 */ lh $v0, 0x00B8($a0) ## 000000B8
|
|
||||||
/* 00238 80AA08C8 24060003 */ addiu $a2, $zero, 0x0003 ## $a2 = 00000003
|
|
||||||
/* 0023C 80AA08CC 3C048016 */ lui $a0, %hi(gSaveContext)
|
|
||||||
/* 00240 80AA08D0 14C20007 */ bne $a2, $v0, .L80AA08F0
|
|
||||||
/* 00244 80AA08D4 2484E660 */ addiu $a0, %lo(gSaveContext)
|
|
||||||
/* 00248 80AA08D8 8C8E1360 */ lw $t6, 0x1360($a0) ## 8015F9C0
|
|
||||||
/* 0024C 80AA08DC 24010005 */ addiu $at, $zero, 0x0005 ## $at = 00000005
|
|
||||||
/* 00250 80AA08E0 15C10003 */ bne $t6, $at, .L80AA08F0
|
|
||||||
/* 00254 80AA08E4 00000000 */ nop
|
|
||||||
/* 00258 80AA08E8 03E00008 */ jr $ra
|
|
||||||
/* 0025C 80AA08EC 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
|
|
||||||
.L80AA08F0:
|
|
||||||
/* 00260 80AA08F0 3C048016 */ lui $a0, %hi(gSaveContext)
|
|
||||||
/* 00264 80AA08F4 2484E660 */ addiu $a0, %lo(gSaveContext)
|
|
||||||
/* 00268 80AA08F8 8C8F0004 */ lw $t7, 0x0004($a0) ## 8015E664
|
|
||||||
/* 0026C 80AA08FC 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
|
|
||||||
/* 00270 80AA0900 50EF0004 */ beql $a3, $t7, .L80AA0914
|
|
||||||
/* 00274 80AA0904 84A300A4 */ lh $v1, 0x00A4($a1) ## 000000A4
|
|
||||||
/* 00278 80AA0908 03E00008 */ jr $ra
|
|
||||||
/* 0027C 80AA090C 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
|
||||||
.L80AA0910:
|
|
||||||
/* 00280 80AA0910 84A300A4 */ lh $v1, 0x00A4($a1) ## 000000A4
|
|
||||||
.L80AA0914:
|
|
||||||
/* 00284 80AA0914 24010021 */ addiu $at, $zero, 0x0021 ## $at = 00000021
|
|
||||||
/* 00288 80AA0918 10610003 */ beq $v1, $at, .L80AA0928
|
|
||||||
/* 0028C 80AA091C 24010020 */ addiu $at, $zero, 0x0020 ## $at = 00000020
|
|
||||||
/* 00290 80AA0920 5461000C */ bnel $v1, $at, .L80AA0954
|
|
||||||
/* 00294 80AA0924 2401005F */ addiu $at, $zero, 0x005F ## $at = 0000005F
|
|
||||||
.L80AA0928:
|
|
||||||
/* 00298 80AA0928 94980ED6 */ lhu $t8, 0x0ED6($a0) ## 8015F536
|
|
||||||
/* 0029C 80AA092C 33190010 */ andi $t9, $t8, 0x0010 ## $t9 = 00000000
|
|
||||||
/* 002A0 80AA0930 57200008 */ bnel $t9, $zero, .L80AA0954
|
|
||||||
/* 002A4 80AA0934 2401005F */ addiu $at, $zero, 0x005F ## $at = 0000005F
|
|
||||||
/* 002A8 80AA0938 94880F08 */ lhu $t0, 0x0F08($a0) ## 8015F568
|
|
||||||
/* 002AC 80AA093C 31090800 */ andi $t1, $t0, 0x0800 ## $t1 = 00000000
|
|
||||||
/* 002B0 80AA0940 55200004 */ bnel $t1, $zero, .L80AA0954
|
|
||||||
/* 002B4 80AA0944 2401005F */ addiu $at, $zero, 0x005F ## $at = 0000005F
|
|
||||||
/* 002B8 80AA0948 03E00008 */ jr $ra
|
|
||||||
/* 002BC 80AA094C 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
|
|
||||||
.L80AA0950:
|
|
||||||
/* 002C0 80AA0950 2401005F */ addiu $at, $zero, 0x005F ## $at = 0000005F
|
|
||||||
.L80AA0954:
|
|
||||||
/* 002C4 80AA0954 5461000F */ bnel $v1, $at, .L80AA0994
|
|
||||||
/* 002C8 80AA0958 2401004C */ addiu $at, $zero, 0x004C ## $at = 0000004C
|
|
||||||
/* 002CC 80AA095C 948A0ED6 */ lhu $t2, 0x0ED6($a0) ## 8015F536
|
|
||||||
/* 002D0 80AA0960 314B0010 */ andi $t3, $t2, 0x0010 ## $t3 = 00000000
|
|
||||||
/* 002D4 80AA0964 5560000B */ bnel $t3, $zero, .L80AA0994
|
|
||||||
/* 002D8 80AA0968 2401004C */ addiu $at, $zero, 0x004C ## $at = 0000004C
|
|
||||||
/* 002DC 80AA096C 94830F08 */ lhu $v1, 0x0F08($a0) ## 8015F568
|
|
||||||
/* 002E0 80AA0970 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
|
||||||
/* 002E4 80AA0974 306C0800 */ andi $t4, $v1, 0x0800 ## $t4 = 00000000
|
|
||||||
/* 002E8 80AA0978 11800003 */ beq $t4, $zero, .L80AA0988
|
|
||||||
/* 002EC 80AA097C 346D0800 */ ori $t5, $v1, 0x0800 ## $t5 = 00000800
|
|
||||||
/* 002F0 80AA0980 03E00008 */ jr $ra
|
|
||||||
/* 002F4 80AA0984 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
|
|
||||||
.L80AA0988:
|
|
||||||
/* 002F8 80AA0988 03E00008 */ jr $ra
|
|
||||||
/* 002FC 80AA098C A48D0F08 */ sh $t5, 0x0F08($a0) ## 8015F568
|
|
||||||
.L80AA0990:
|
|
||||||
/* 00300 80AA0990 2401004C */ addiu $at, $zero, 0x004C ## $at = 0000004C
|
|
||||||
.L80AA0994:
|
|
||||||
/* 00304 80AA0994 5461000B */ bnel $v1, $at, .L80AA09C4
|
|
||||||
/* 00308 80AA0998 24010063 */ addiu $at, $zero, 0x0063 ## $at = 00000063
|
|
||||||
/* 0030C 80AA099C 8C8E0010 */ lw $t6, 0x0010($a0) ## 8015E670
|
|
||||||
/* 00310 80AA09A0 54EE0008 */ bnel $a3, $t6, .L80AA09C4
|
|
||||||
/* 00314 80AA09A4 24010063 */ addiu $at, $zero, 0x0063 ## $at = 00000063
|
|
||||||
/* 00318 80AA09A8 948F0ED6 */ lhu $t7, 0x0ED6($a0) ## 8015F536
|
|
||||||
/* 0031C 80AA09AC 31F80010 */ andi $t8, $t7, 0x0010 ## $t8 = 00000000
|
|
||||||
/* 00320 80AA09B0 53000004 */ beql $t8, $zero, .L80AA09C4
|
|
||||||
/* 00324 80AA09B4 24010063 */ addiu $at, $zero, 0x0063 ## $at = 00000063
|
|
||||||
/* 00328 80AA09B8 03E00008 */ jr $ra
|
|
||||||
/* 0032C 80AA09BC 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
|
|
||||||
.L80AA09C0:
|
|
||||||
/* 00330 80AA09C0 24010063 */ addiu $at, $zero, 0x0063 ## $at = 00000063
|
|
||||||
.L80AA09C4:
|
|
||||||
/* 00334 80AA09C4 10610003 */ beq $v1, $at, .L80AA09D4
|
|
||||||
/* 00338 80AA09C8 00000000 */ nop
|
|
||||||
/* 0033C 80AA09CC 03E00008 */ jr $ra
|
|
||||||
/* 00340 80AA09D0 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
|
||||||
.L80AA09D4:
|
|
||||||
/* 00344 80AA09D4 54C2000B */ bnel $a2, $v0, .L80AA0A04
|
|
||||||
/* 00348 80AA09D8 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
|
||||||
/* 0034C 80AA09DC 8C990010 */ lw $t9, 0x0010($a0) ## 8015E670
|
|
||||||
/* 00350 80AA09E0 57200008 */ bnel $t9, $zero, .L80AA0A04
|
|
||||||
/* 00354 80AA09E4 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
|
||||||
/* 00358 80AA09E8 94880ED6 */ lhu $t0, 0x0ED6($a0) ## 8015F536
|
|
||||||
/* 0035C 80AA09EC 31090010 */ andi $t1, $t0, 0x0010 ## $t1 = 00000000
|
|
||||||
/* 00360 80AA09F0 51200004 */ beql $t1, $zero, .L80AA0A04
|
|
||||||
/* 00364 80AA09F4 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
|
||||||
/* 00368 80AA09F8 03E00008 */ jr $ra
|
|
||||||
/* 0036C 80AA09FC 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
|
|
||||||
.L80AA0A00:
|
|
||||||
/* 00370 80AA0A00 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
|
||||||
.L80AA0A04:
|
|
||||||
/* 00374 80AA0A04 03E00008 */ jr $ra
|
|
||||||
/* 00378 80AA0A08 00000000 */ nop
|
|
|
@ -1,35 +0,0 @@
|
||||||
glabel func_80AA0A0C
|
|
||||||
/* 0037C 80AA0A0C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
|
||||||
/* 00380 80AA0A10 AFBF0014 */ sw $ra, 0x0014($sp)
|
|
||||||
/* 00384 80AA0A14 848201E2 */ lh $v0, 0x01E2($a0) ## 000001E2
|
|
||||||
/* 00388 80AA0A18 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
|
|
||||||
/* 0038C 80AA0A1C 14400003 */ bne $v0, $zero, .L80AA0A2C
|
|
||||||
/* 00390 80AA0A20 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF
|
|
||||||
/* 00394 80AA0A24 10000003 */ beq $zero, $zero, .L80AA0A34
|
|
||||||
/* 00398 80AA0A28 00001825 */ or $v1, $zero, $zero ## $v1 = 00000000
|
|
||||||
.L80AA0A2C:
|
|
||||||
/* 0039C 80AA0A2C A4CE01E2 */ sh $t6, 0x01E2($a2) ## 000001E2
|
|
||||||
/* 003A0 80AA0A30 84C301E2 */ lh $v1, 0x01E2($a2) ## 000001E2
|
|
||||||
.L80AA0A34:
|
|
||||||
/* 003A4 80AA0A34 54600010 */ bnel $v1, $zero, .L80AA0A78
|
|
||||||
/* 003A8 80AA0A38 8FBF0014 */ lw $ra, 0x0014($sp)
|
|
||||||
/* 003AC 80AA0A3C 84CF01E4 */ lh $t7, 0x01E4($a2) ## 000001E4
|
|
||||||
/* 003B0 80AA0A40 2404001E */ addiu $a0, $zero, 0x001E ## $a0 = 0000001E
|
|
||||||
/* 003B4 80AA0A44 2405001E */ addiu $a1, $zero, 0x001E ## $a1 = 0000001E
|
|
||||||
/* 003B8 80AA0A48 25F80001 */ addiu $t8, $t7, 0x0001 ## $t8 = 00000001
|
|
||||||
/* 003BC 80AA0A4C A4D801E4 */ sh $t8, 0x01E4($a2) ## 000001E4
|
|
||||||
/* 003C0 80AA0A50 84D901E4 */ lh $t9, 0x01E4($a2) ## 000001E4
|
|
||||||
/* 003C4 80AA0A54 2B210003 */ slti $at, $t9, 0x0003
|
|
||||||
/* 003C8 80AA0A58 54200007 */ bnel $at, $zero, .L80AA0A78
|
|
||||||
/* 003CC 80AA0A5C 8FBF0014 */ lw $ra, 0x0014($sp)
|
|
||||||
/* 003D0 80AA0A60 0C01DF64 */ jal Math_Rand_S16Offset
|
|
||||||
|
|
||||||
/* 003D4 80AA0A64 AFA60018 */ sw $a2, 0x0018($sp)
|
|
||||||
/* 003D8 80AA0A68 8FA60018 */ lw $a2, 0x0018($sp)
|
|
||||||
/* 003DC 80AA0A6C A4C201E2 */ sh $v0, 0x01E2($a2) ## 000001E2
|
|
||||||
/* 003E0 80AA0A70 A4C001E4 */ sh $zero, 0x01E4($a2) ## 000001E4
|
|
||||||
/* 003E4 80AA0A74 8FBF0014 */ lw $ra, 0x0014($sp)
|
|
||||||
.L80AA0A78:
|
|
||||||
/* 003E8 80AA0A78 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
|
||||||
/* 003EC 80AA0A7C 03E00008 */ jr $ra
|
|
||||||
/* 003F0 80AA0A80 00000000 */ nop
|
|
|
@ -1,31 +0,0 @@
|
||||||
glabel func_80AA0A84
|
|
||||||
/* 003F4 80AA0A84 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
|
|
||||||
/* 003F8 80AA0A88 3C0F80AA */ lui $t7, %hi(D_80AA1678) ## $t7 = 80AA0000
|
|
||||||
/* 003FC 80AA0A8C 25EF1678 */ addiu $t7, $t7, %lo(D_80AA1678) ## $t7 = 80AA1678
|
|
||||||
/* 00400 80AA0A90 00057100 */ sll $t6, $a1, 4
|
|
||||||
/* 00404 80AA0A94 AFBF0024 */ sw $ra, 0x0024($sp)
|
|
||||||
/* 00408 80AA0A98 AFA40030 */ sw $a0, 0x0030($sp)
|
|
||||||
/* 0040C 80AA0A9C 01CF1821 */ addu $v1, $t6, $t7
|
|
||||||
/* 00410 80AA0AA0 8C640000 */ lw $a0, 0x0000($v1) ## 00000000
|
|
||||||
/* 00414 80AA0AA4 0C028800 */ jal SkelAnime_GetFrameCount
|
|
||||||
|
|
||||||
/* 00418 80AA0AA8 AFA30028 */ sw $v1, 0x0028($sp)
|
|
||||||
/* 0041C 80AA0AAC 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
|
|
||||||
/* 00420 80AA0AB0 8FA30028 */ lw $v1, 0x0028($sp)
|
|
||||||
/* 00424 80AA0AB4 8FA40030 */ lw $a0, 0x0030($sp)
|
|
||||||
/* 00428 80AA0AB8 468021A0 */ cvt.s.w $f6, $f4
|
|
||||||
/* 0042C 80AA0ABC 90780008 */ lbu $t8, 0x0008($v1) ## 00000008
|
|
||||||
/* 00430 80AA0AC0 C468000C */ lwc1 $f8, 0x000C($v1) ## 0000000C
|
|
||||||
/* 00434 80AA0AC4 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
|
|
||||||
/* 00438 80AA0AC8 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
|
|
||||||
/* 0043C 80AA0ACC 8C650000 */ lw $a1, 0x0000($v1) ## 00000000
|
|
||||||
/* 00440 80AA0AD0 E7A60010 */ swc1 $f6, 0x0010($sp)
|
|
||||||
/* 00444 80AA0AD4 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
|
|
||||||
/* 00448 80AA0AD8 AFB80014 */ sw $t8, 0x0014($sp)
|
|
||||||
/* 0044C 80AA0ADC 0C029468 */ jal SkelAnime_ChangeAnim
|
|
||||||
|
|
||||||
/* 00450 80AA0AE0 E7A80018 */ swc1 $f8, 0x0018($sp)
|
|
||||||
/* 00454 80AA0AE4 8FBF0024 */ lw $ra, 0x0024($sp)
|
|
||||||
/* 00458 80AA0AE8 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
|
|
||||||
/* 0045C 80AA0AEC 03E00008 */ jr $ra
|
|
||||||
/* 00460 80AA0AF0 00000000 */ nop
|
|
|
@ -1,34 +0,0 @@
|
||||||
glabel func_80AA0AF4
|
|
||||||
/* 00464 80AA0AF4 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
|
||||||
/* 00468 80AA0AF8 AFBF0014 */ sw $ra, 0x0014($sp)
|
|
||||||
/* 0046C 80AA0AFC 848E01E8 */ lh $t6, 0x01E8($a0) ## 000001E8
|
|
||||||
/* 00470 80AA0B00 8CA21C44 */ lw $v0, 0x1C44($a1) ## 00001C44
|
|
||||||
/* 00474 80AA0B04 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
|
|
||||||
/* 00478 80AA0B08 15C00008 */ bne $t6, $zero, .L80AA0B2C
|
|
||||||
/* 0047C 80AA0B0C 00000000 */ nop
|
|
||||||
/* 00480 80AA0B10 8C980154 */ lw $t8, 0x0154($a0) ## 00000154
|
|
||||||
/* 00484 80AA0B14 3C0F0601 */ lui $t7, 0x0601 ## $t7 = 06010000
|
|
||||||
/* 00488 80AA0B18 25EF8D64 */ addiu $t7, $t7, 0x8D64 ## $t7 = 06008D64
|
|
||||||
/* 0048C 80AA0B1C 15F80003 */ bne $t7, $t8, .L80AA0B2C
|
|
||||||
/* 00490 80AA0B20 00000000 */ nop
|
|
||||||
/* 00494 80AA0B24 10000001 */ beq $zero, $zero, .L80AA0B2C
|
|
||||||
/* 00498 80AA0B28 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
|
|
||||||
.L80AA0B2C:
|
|
||||||
/* 0049C 80AA0B2C 8C480024 */ lw $t0, 0x0024($v0) ## 00000024
|
|
||||||
/* 004A0 80AA0B30 3C01C120 */ lui $at, 0xC120 ## $at = C1200000
|
|
||||||
/* 004A4 80AA0B34 44813000 */ mtc1 $at, $f6 ## $f6 = -10.00
|
|
||||||
/* 004A8 80AA0B38 AC880200 */ sw $t0, 0x0200($a0) ## 00000200
|
|
||||||
/* 004AC 80AA0B3C 8C590028 */ lw $t9, 0x0028($v0) ## 00000028
|
|
||||||
/* 004B0 80AA0B40 248501E8 */ addiu $a1, $a0, 0x01E8 ## $a1 = 000001E8
|
|
||||||
/* 004B4 80AA0B44 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
|
|
||||||
/* 004B8 80AA0B48 AC990204 */ sw $t9, 0x0204($a0) ## 00000204
|
|
||||||
/* 004BC 80AA0B4C C4840204 */ lwc1 $f4, 0x0204($a0) ## 00000204
|
|
||||||
/* 004C0 80AA0B50 8C48002C */ lw $t0, 0x002C($v0) ## 0000002C
|
|
||||||
/* 004C4 80AA0B54 46062201 */ sub.s $f8, $f4, $f6
|
|
||||||
/* 004C8 80AA0B58 AC880208 */ sw $t0, 0x0208($a0) ## 00000208
|
|
||||||
/* 004CC 80AA0B5C 0C00D285 */ jal func_80034A14
|
|
||||||
/* 004D0 80AA0B60 E4880204 */ swc1 $f8, 0x0204($a0) ## 00000204
|
|
||||||
/* 004D4 80AA0B64 8FBF0014 */ lw $ra, 0x0014($sp)
|
|
||||||
/* 004D8 80AA0B68 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
|
||||||
/* 004DC 80AA0B6C 03E00008 */ jr $ra
|
|
||||||
/* 004E0 80AA0B70 00000000 */ nop
|
|
|
@ -1,33 +0,0 @@
|
||||||
glabel func_80AA0B74
|
|
||||||
/* 004E4 80AA0B74 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
|
||||||
/* 004E8 80AA0B78 AFBF0014 */ sw $ra, 0x0014($sp)
|
|
||||||
/* 004EC 80AA0B7C 8C8F0154 */ lw $t7, 0x0154($a0) ## 00000154
|
|
||||||
/* 004F0 80AA0B80 3C0E0601 */ lui $t6, 0x0601 ## $t6 = 06010000
|
|
||||||
/* 004F4 80AA0B84 25CE8D64 */ addiu $t6, $t6, 0x8D64 ## $t6 = 06008D64
|
|
||||||
/* 004F8 80AA0B88 15CF0013 */ bne $t6, $t7, .L80AA0BD8
|
|
||||||
/* 004FC 80AA0B8C 00802825 */ or $a1, $a0, $zero ## $a1 = 00000000
|
|
||||||
/* 00500 80AA0B90 849801E8 */ lh $t8, 0x01E8($a0) ## 000001E8
|
|
||||||
/* 00504 80AA0B94 5700000A */ bnel $t8, $zero, .L80AA0BC0
|
|
||||||
/* 00508 80AA0B98 84A801E0 */ lh $t0, 0x01E0($a1) ## 000001E0
|
|
||||||
/* 0050C 80AA0B9C 849901E0 */ lh $t9, 0x01E0($a0) ## 000001E0
|
|
||||||
/* 00510 80AA0BA0 5320000E */ beql $t9, $zero, .L80AA0BDC
|
|
||||||
/* 00514 80AA0BA4 8FBF0014 */ lw $ra, 0x0014($sp)
|
|
||||||
/* 00518 80AA0BA8 A48001E0 */ sh $zero, 0x01E0($a0) ## 000001E0
|
|
||||||
/* 0051C 80AA0BAC 0C03D961 */ jal func_800F6584
|
|
||||||
/* 00520 80AA0BB0 00002025 */ or $a0, $zero, $zero ## $a0 = 00000000
|
|
||||||
/* 00524 80AA0BB4 10000009 */ beq $zero, $zero, .L80AA0BDC
|
|
||||||
/* 00528 80AA0BB8 8FBF0014 */ lw $ra, 0x0014($sp)
|
|
||||||
/* 0052C 80AA0BBC 84A801E0 */ lh $t0, 0x01E0($a1) ## 000001E0
|
|
||||||
.L80AA0BC0:
|
|
||||||
/* 00530 80AA0BC0 24090001 */ addiu $t1, $zero, 0x0001 ## $t1 = 00000001
|
|
||||||
/* 00534 80AA0BC4 24040001 */ addiu $a0, $zero, 0x0001 ## $a0 = 00000001
|
|
||||||
/* 00538 80AA0BC8 55000004 */ bnel $t0, $zero, .L80AA0BDC
|
|
||||||
/* 0053C 80AA0BCC 8FBF0014 */ lw $ra, 0x0014($sp)
|
|
||||||
/* 00540 80AA0BD0 0C03D961 */ jal func_800F6584
|
|
||||||
/* 00544 80AA0BD4 A4A901E0 */ sh $t1, 0x01E0($a1) ## 000001E0
|
|
||||||
.L80AA0BD8:
|
|
||||||
/* 00548 80AA0BD8 8FBF0014 */ lw $ra, 0x0014($sp)
|
|
||||||
.L80AA0BDC:
|
|
||||||
/* 0054C 80AA0BDC 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
|
||||||
/* 00550 80AA0BE0 03E00008 */ jr $ra
|
|
||||||
/* 00554 80AA0BE4 00000000 */ nop
|
|
|
@ -1,78 +0,0 @@
|
||||||
glabel func_80AA0D88
|
|
||||||
/* 006F8 80AA0D88 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
|
||||||
/* 006FC 80AA0D8C AFBF0014 */ sw $ra, 0x0014($sp)
|
|
||||||
/* 00700 80AA0D90 848E01E8 */ lh $t6, 0x01E8($a0) ## 000001E8
|
|
||||||
/* 00704 80AA0D94 00A03025 */ or $a2, $a1, $zero ## $a2 = 00000000
|
|
||||||
/* 00708 80AA0D98 51C0000D */ beql $t6, $zero, .L80AA0DD0
|
|
||||||
/* 0070C 80AA0D9C 8C880154 */ lw $t0, 0x0154($a0) ## 00000154
|
|
||||||
/* 00710 80AA0DA0 8C980154 */ lw $t8, 0x0154($a0) ## 00000154
|
|
||||||
/* 00714 80AA0DA4 3C0F0600 */ lui $t7, 0x0600 ## $t7 = 06000000
|
|
||||||
/* 00718 80AA0DA8 25EF0820 */ addiu $t7, $t7, 0x0820 ## $t7 = 06000820
|
|
||||||
/* 0071C 80AA0DAC 11F80011 */ beq $t7, $t8, .L80AA0DF4
|
|
||||||
/* 00720 80AA0DB0 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
|
|
||||||
/* 00724 80AA0DB4 AFA40018 */ sw $a0, 0x0018($sp)
|
|
||||||
/* 00728 80AA0DB8 0C2A82A1 */ jal func_80AA0A84
|
|
||||||
/* 0072C 80AA0DBC AFA6001C */ sw $a2, 0x001C($sp)
|
|
||||||
/* 00730 80AA0DC0 8FA40018 */ lw $a0, 0x0018($sp)
|
|
||||||
/* 00734 80AA0DC4 1000000B */ beq $zero, $zero, .L80AA0DF4
|
|
||||||
/* 00738 80AA0DC8 8FA6001C */ lw $a2, 0x001C($sp)
|
|
||||||
/* 0073C 80AA0DCC 8C880154 */ lw $t0, 0x0154($a0) ## 00000154
|
|
||||||
.L80AA0DD0:
|
|
||||||
/* 00740 80AA0DD0 3C190601 */ lui $t9, 0x0601 ## $t9 = 06010000
|
|
||||||
/* 00744 80AA0DD4 27398D64 */ addiu $t9, $t9, 0x8D64 ## $t9 = 06008D64
|
|
||||||
/* 00748 80AA0DD8 13280006 */ beq $t9, $t0, .L80AA0DF4
|
|
||||||
/* 0074C 80AA0DDC 24050003 */ addiu $a1, $zero, 0x0003 ## $a1 = 00000003
|
|
||||||
/* 00750 80AA0DE0 AFA40018 */ sw $a0, 0x0018($sp)
|
|
||||||
/* 00754 80AA0DE4 0C2A82A1 */ jal func_80AA0A84
|
|
||||||
/* 00758 80AA0DE8 AFA6001C */ sw $a2, 0x001C($sp)
|
|
||||||
/* 0075C 80AA0DEC 8FA40018 */ lw $a0, 0x0018($sp)
|
|
||||||
/* 00760 80AA0DF0 8FA6001C */ lw $a2, 0x001C($sp)
|
|
||||||
.L80AA0DF4:
|
|
||||||
/* 00764 80AA0DF4 84C900A4 */ lh $t1, 0x00A4($a2) ## 000000A4
|
|
||||||
/* 00768 80AA0DF8 2401005F */ addiu $at, $zero, 0x005F ## $at = 0000005F
|
|
||||||
/* 0076C 80AA0DFC 3C028016 */ lui $v0, %hi(gSaveContext)
|
|
||||||
/* 00770 80AA0E00 15210009 */ bne $t1, $at, .L80AA0E28
|
|
||||||
/* 00774 80AA0E04 2442E660 */ addiu $v0, %lo(gSaveContext)
|
|
||||||
/* 00778 80AA0E08 944A0ED6 */ lhu $t2, 0x0ED6($v0) ## 8015F536
|
|
||||||
/* 0077C 80AA0E0C 314B0010 */ andi $t3, $t2, 0x0010 ## $t3 = 00000000
|
|
||||||
/* 00780 80AA0E10 11600005 */ beq $t3, $zero, .L80AA0E28
|
|
||||||
/* 00784 80AA0E14 00000000 */ nop
|
|
||||||
/* 00788 80AA0E18 0C00B55C */ jal Actor_Kill
|
|
||||||
|
|
||||||
/* 0078C 80AA0E1C 00000000 */ nop
|
|
||||||
/* 00790 80AA0E20 1000001C */ beq $zero, $zero, .L80AA0E94
|
|
||||||
/* 00794 80AA0E24 8FBF0014 */ lw $ra, 0x0014($sp)
|
|
||||||
.L80AA0E28:
|
|
||||||
/* 00798 80AA0E28 3C028016 */ lui $v0, %hi(gSaveContext)
|
|
||||||
/* 0079C 80AA0E2C 2442E660 */ addiu $v0, %lo(gSaveContext)
|
|
||||||
/* 007A0 80AA0E30 944C0ED6 */ lhu $t4, 0x0ED6($v0) ## 8015F536
|
|
||||||
/* 007A4 80AA0E34 3C0E8012 */ lui $t6, %hi(gBitFlags+0x34)
|
|
||||||
/* 007A8 80AA0E38 318D0010 */ andi $t5, $t4, 0x0010 ## $t5 = 00000000
|
|
||||||
/* 007AC 80AA0E3C 51A00007 */ beql $t5, $zero, .L80AA0E5C
|
|
||||||
/* 007B0 80AA0E40 849901E8 */ lh $t9, 0x01E8($a0) ## 000001E8
|
|
||||||
/* 007B4 80AA0E44 8DCE7154 */ lw $t6, %lo(gBitFlags+0x34)($t6)
|
|
||||||
/* 007B8 80AA0E48 8C4F00A4 */ lw $t7, 0x00A4($v0) ## 8015E704
|
|
||||||
/* 007BC 80AA0E4C 01CFC024 */ and $t8, $t6, $t7
|
|
||||||
/* 007C0 80AA0E50 53000010 */ beql $t8, $zero, .L80AA0E94
|
|
||||||
/* 007C4 80AA0E54 8FBF0014 */ lw $ra, 0x0014($sp)
|
|
||||||
/* 007C8 80AA0E58 849901E8 */ lh $t9, 0x01E8($a0) ## 000001E8
|
|
||||||
.L80AA0E5C:
|
|
||||||
/* 007CC 80AA0E5C 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
|
|
||||||
/* 007D0 80AA0E60 3C0880AA */ lui $t0, %hi(func_80AA0EA0) ## $t0 = 80AA0000
|
|
||||||
/* 007D4 80AA0E64 1721000A */ bne $t9, $at, .L80AA0E90
|
|
||||||
/* 007D8 80AA0E68 25080EA0 */ addiu $t0, $t0, %lo(func_80AA0EA0) ## $t0 = 80AA0EA0
|
|
||||||
/* 007DC 80AA0E6C 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
|
||||||
/* 007E0 80AA0E70 AC880190 */ sw $t0, 0x0190($a0) ## 00000190
|
|
||||||
/* 007E4 80AA0E74 00260821 */ addu $at, $at, $a2
|
|
||||||
/* 007E8 80AA0E78 24090004 */ addiu $t1, $zero, 0x0004 ## $t1 = 00000004
|
|
||||||
/* 007EC 80AA0E7C A02904BF */ sb $t1, 0x04BF($at) ## 000104BF
|
|
||||||
/* 007F0 80AA0E80 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
|
||||||
/* 007F4 80AA0E84 00260821 */ addu $at, $at, $a2
|
|
||||||
/* 007F8 80AA0E88 240A0036 */ addiu $t2, $zero, 0x0036 ## $t2 = 00000036
|
|
||||||
/* 007FC 80AA0E8C A02A03DC */ sb $t2, 0x03DC($at) ## 000103DC
|
|
||||||
.L80AA0E90:
|
|
||||||
/* 00800 80AA0E90 8FBF0014 */ lw $ra, 0x0014($sp)
|
|
||||||
.L80AA0E94:
|
|
||||||
/* 00804 80AA0E94 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
|
||||||
/* 00808 80AA0E98 03E00008 */ jr $ra
|
|
||||||
/* 0080C 80AA0E9C 00000000 */ nop
|
|
|
@ -1,26 +0,0 @@
|
||||||
glabel func_80AA0EA0
|
|
||||||
/* 00810 80AA0EA0 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
|
|
||||||
/* 00814 80AA0EA4 AFBF001C */ sw $ra, 0x001C($sp)
|
|
||||||
/* 00818 80AA0EA8 AFA50024 */ sw $a1, 0x0024($sp)
|
|
||||||
/* 0081C 80AA0EAC 0C00BD04 */ jal func_8002F410
|
|
||||||
/* 00820 80AA0EB0 AFA40020 */ sw $a0, 0x0020($sp)
|
|
||||||
/* 00824 80AA0EB4 10400006 */ beq $v0, $zero, .L80AA0ED0
|
|
||||||
/* 00828 80AA0EB8 8FA40020 */ lw $a0, 0x0020($sp)
|
|
||||||
/* 0082C 80AA0EBC 3C0E80AA */ lui $t6, %hi(func_80AA0EFC) ## $t6 = 80AA0000
|
|
||||||
/* 00830 80AA0EC0 25CE0EFC */ addiu $t6, $t6, %lo(func_80AA0EFC) ## $t6 = 80AA0EFC
|
|
||||||
/* 00834 80AA0EC4 AC800118 */ sw $zero, 0x0118($a0) ## 00000118
|
|
||||||
/* 00838 80AA0EC8 10000008 */ beq $zero, $zero, .L80AA0EEC
|
|
||||||
/* 0083C 80AA0ECC AC8E0190 */ sw $t6, 0x0190($a0) ## 00000190
|
|
||||||
.L80AA0ED0:
|
|
||||||
/* 00840 80AA0ED0 3C014120 */ lui $at, 0x4120 ## $at = 41200000
|
|
||||||
/* 00844 80AA0ED4 44812000 */ mtc1 $at, $f4 ## $f4 = 10.00
|
|
||||||
/* 00848 80AA0ED8 8FA50024 */ lw $a1, 0x0024($sp)
|
|
||||||
/* 0084C 80AA0EDC 24060047 */ addiu $a2, $zero, 0x0047 ## $a2 = 00000047
|
|
||||||
/* 00850 80AA0EE0 3C0742F0 */ lui $a3, 0x42F0 ## $a3 = 42F00000
|
|
||||||
/* 00854 80AA0EE4 0C00BD0D */ jal func_8002F434
|
|
||||||
/* 00858 80AA0EE8 E7A40010 */ swc1 $f4, 0x0010($sp)
|
|
||||||
.L80AA0EEC:
|
|
||||||
/* 0085C 80AA0EEC 8FBF001C */ lw $ra, 0x001C($sp)
|
|
||||||
/* 00860 80AA0EF0 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
|
|
||||||
/* 00864 80AA0EF4 03E00008 */ jr $ra
|
|
||||||
/* 00868 80AA0EF8 00000000 */ nop
|
|
|
@ -1,20 +0,0 @@
|
||||||
glabel func_80AA0EFC
|
|
||||||
/* 0086C 80AA0EFC 848E01E8 */ lh $t6, 0x01E8($a0) ## 000001E8
|
|
||||||
/* 00870 80AA0F00 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
|
|
||||||
/* 00874 80AA0F04 3C028016 */ lui $v0, %hi(gSaveContext)
|
|
||||||
/* 00878 80AA0F08 15C1000C */ bne $t6, $at, .L80AA0F3C
|
|
||||||
/* 0087C 80AA0F0C 2442E660 */ addiu $v0, %lo(gSaveContext)
|
|
||||||
/* 00880 80AA0F10 3C0F80AA */ lui $t7, %hi(func_80AA0D88) ## $t7 = 80AA0000
|
|
||||||
/* 00884 80AA0F14 25EF0D88 */ addiu $t7, $t7, %lo(func_80AA0D88) ## $t7 = 80AA0D88
|
|
||||||
/* 00888 80AA0F18 A48001E8 */ sh $zero, 0x01E8($a0) ## 000001E8
|
|
||||||
/* 0088C 80AA0F1C AC8F0190 */ sw $t7, 0x0190($a0) ## 00000190
|
|
||||||
/* 00890 80AA0F20 94580ED6 */ lhu $t8, 0x0ED6($v0) ## 8015F536
|
|
||||||
/* 00894 80AA0F24 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
|
||||||
/* 00898 80AA0F28 00250821 */ addu $at, $at, $a1
|
|
||||||
/* 0089C 80AA0F2C 37190004 */ ori $t9, $t8, 0x0004 ## $t9 = 00000004
|
|
||||||
/* 008A0 80AA0F30 A4590ED6 */ sh $t9, 0x0ED6($v0) ## 8015F536
|
|
||||||
/* 008A4 80AA0F34 24080036 */ addiu $t0, $zero, 0x0036 ## $t0 = 00000036
|
|
||||||
/* 008A8 80AA0F38 A02803DC */ sb $t0, 0x03DC($at) ## 000103DC
|
|
||||||
.L80AA0F3C:
|
|
||||||
/* 008AC 80AA0F3C 03E00008 */ jr $ra
|
|
||||||
/* 008B0 80AA0F40 00000000 */ nop
|
|
|
@ -1,80 +0,0 @@
|
||||||
glabel func_80AA0F44
|
|
||||||
/* 008B4 80AA0F44 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
|
|
||||||
/* 008B8 80AA0F48 AFBF001C */ sw $ra, 0x001C($sp)
|
|
||||||
/* 008BC 80AA0F4C AFB00018 */ sw $s0, 0x0018($sp)
|
|
||||||
/* 008C0 80AA0F50 AFA5002C */ sw $a1, 0x002C($sp)
|
|
||||||
/* 008C4 80AA0F54 848F01E8 */ lh $t7, 0x01E8($a0) ## 000001E8
|
|
||||||
/* 008C8 80AA0F58 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
|
||||||
/* 008CC 80AA0F5C 8CA31C44 */ lw $v1, 0x1C44($a1) ## 00001C44
|
|
||||||
/* 008D0 80AA0F60 51E0000B */ beql $t7, $zero, .L80AA0F90
|
|
||||||
/* 008D4 80AA0F64 8E090154 */ lw $t1, 0x0154($s0) ## 00000154
|
|
||||||
/* 008D8 80AA0F68 8C990154 */ lw $t9, 0x0154($a0) ## 00000154
|
|
||||||
/* 008DC 80AA0F6C 3C180600 */ lui $t8, 0x0600 ## $t8 = 06000000
|
|
||||||
/* 008E0 80AA0F70 27180820 */ addiu $t8, $t8, 0x0820 ## $t8 = 06000820
|
|
||||||
/* 008E4 80AA0F74 1319000E */ beq $t8, $t9, .L80AA0FB0
|
|
||||||
/* 008E8 80AA0F78 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
|
|
||||||
/* 008EC 80AA0F7C 0C2A82A1 */ jal func_80AA0A84
|
|
||||||
/* 008F0 80AA0F80 AFA30024 */ sw $v1, 0x0024($sp)
|
|
||||||
/* 008F4 80AA0F84 1000000A */ beq $zero, $zero, .L80AA0FB0
|
|
||||||
/* 008F8 80AA0F88 8FA30024 */ lw $v1, 0x0024($sp)
|
|
||||||
/* 008FC 80AA0F8C 8E090154 */ lw $t1, 0x0154($s0) ## 00000154
|
|
||||||
.L80AA0F90:
|
|
||||||
/* 00900 80AA0F90 3C080601 */ lui $t0, 0x0601 ## $t0 = 06010000
|
|
||||||
/* 00904 80AA0F94 25088D64 */ addiu $t0, $t0, 0x8D64 ## $t0 = 06008D64
|
|
||||||
/* 00908 80AA0F98 11090005 */ beq $t0, $t1, .L80AA0FB0
|
|
||||||
/* 0090C 80AA0F9C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
|
||||||
/* 00910 80AA0FA0 24050003 */ addiu $a1, $zero, 0x0003 ## $a1 = 00000003
|
|
||||||
/* 00914 80AA0FA4 0C2A82A1 */ jal func_80AA0A84
|
|
||||||
/* 00918 80AA0FA8 AFA30024 */ sw $v1, 0x0024($sp)
|
|
||||||
/* 0091C 80AA0FAC 8FA30024 */ lw $v1, 0x0024($sp)
|
|
||||||
.L80AA0FB0:
|
|
||||||
/* 00920 80AA0FB0 3C0A8016 */ lui $t2, %hi(gSaveContext+0xed6)
|
|
||||||
/* 00924 80AA0FB4 954AF536 */ lhu $t2, %lo(gSaveContext+0xed6)($t2)
|
|
||||||
/* 00928 80AA0FB8 314B0040 */ andi $t3, $t2, 0x0040 ## $t3 = 00000000
|
|
||||||
/* 0092C 80AA0FBC 51600027 */ beql $t3, $zero, .L80AA105C
|
|
||||||
/* 00930 80AA0FC0 8FBF001C */ lw $ra, 0x001C($sp)
|
|
||||||
/* 00934 80AA0FC4 8C620680 */ lw $v0, 0x0680($v1) ## 00000680
|
|
||||||
/* 00938 80AA0FC8 3C010200 */ lui $at, 0x0200 ## $at = 02000000
|
|
||||||
/* 0093C 80AA0FCC 240E2061 */ addiu $t6, $zero, 0x2061 ## $t6 = 00002061
|
|
||||||
/* 00940 80AA0FD0 000261C0 */ sll $t4, $v0, 7
|
|
||||||
/* 00944 80AA0FD4 05810012 */ bgez $t4, .L80AA1020
|
|
||||||
/* 00948 80AA0FD8 00416825 */ or $t5, $v0, $at ## $t5 = 02000000
|
|
||||||
/* 0094C 80AA0FDC AC6D0680 */ sw $t5, 0x0680($v1) ## 00000680
|
|
||||||
/* 00950 80AA0FE0 AC7006A8 */ sw $s0, 0x06A8($v1) ## 000006A8
|
|
||||||
/* 00954 80AA0FE4 A60E010E */ sh $t6, 0x010E($s0) ## 0000010E
|
|
||||||
/* 00958 80AA0FE8 8FA4002C */ lw $a0, 0x002C($sp)
|
|
||||||
/* 0095C 80AA0FEC 31C5FFFF */ andi $a1, $t6, 0xFFFF ## $a1 = 00002061
|
|
||||||
/* 00960 80AA0FF0 0C042DA0 */ jal func_8010B680
|
|
||||||
/* 00964 80AA0FF4 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
|
|
||||||
/* 00968 80AA0FF8 8E180004 */ lw $t8, 0x0004($s0) ## 00000004
|
|
||||||
/* 0096C 80AA0FFC 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
|
||||||
/* 00970 80AA1000 3C0880AA */ lui $t0, %hi(func_80AA106C) ## $t0 = 80AA0000
|
|
||||||
/* 00974 80AA1004 240F0001 */ addiu $t7, $zero, 0x0001 ## $t7 = 00000001
|
|
||||||
/* 00978 80AA1008 2508106C */ addiu $t0, $t0, %lo(func_80AA106C) ## $t0 = 80AA106C
|
|
||||||
/* 0097C 80AA100C 0301C825 */ or $t9, $t8, $at ## $t9 = 00010000
|
|
||||||
/* 00980 80AA1010 A60F01E8 */ sh $t7, 0x01E8($s0) ## 000001E8
|
|
||||||
/* 00984 80AA1014 AE190004 */ sw $t9, 0x0004($s0) ## 00000004
|
|
||||||
/* 00988 80AA1018 1000000F */ beq $zero, $zero, .L80AA1058
|
|
||||||
/* 0098C 80AA101C AE080190 */ sw $t0, 0x0190($s0) ## 00000190
|
|
||||||
.L80AA1020:
|
|
||||||
/* 00990 80AA1020 860901D4 */ lh $t1, 0x01D4($s0) ## 000001D4
|
|
||||||
/* 00994 80AA1024 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000
|
|
||||||
/* 00998 80AA1028 44813000 */ mtc1 $at, $f6 ## $f6 = 30.00
|
|
||||||
/* 0099C 80AA102C 44894000 */ mtc1 $t1, $f8 ## $f8 = 0.00
|
|
||||||
/* 009A0 80AA1030 C6040090 */ lwc1 $f4, 0x0090($s0) ## 00000090
|
|
||||||
/* 009A4 80AA1034 3C010080 */ lui $at, 0x0080 ## $at = 00800000
|
|
||||||
/* 009A8 80AA1038 468042A0 */ cvt.s.w $f10, $f8
|
|
||||||
/* 009AC 80AA103C 00415025 */ or $t2, $v0, $at ## $t2 = 00800000
|
|
||||||
/* 009B0 80AA1040 460A3400 */ add.s $f16, $f6, $f10
|
|
||||||
/* 009B4 80AA1044 4610203C */ c.lt.s $f4, $f16
|
|
||||||
/* 009B8 80AA1048 00000000 */ nop
|
|
||||||
/* 009BC 80AA104C 45020003 */ bc1fl .L80AA105C
|
|
||||||
/* 009C0 80AA1050 8FBF001C */ lw $ra, 0x001C($sp)
|
|
||||||
/* 009C4 80AA1054 AC6A0680 */ sw $t2, 0x0680($v1) ## 00000680
|
|
||||||
.L80AA1058:
|
|
||||||
/* 009C8 80AA1058 8FBF001C */ lw $ra, 0x001C($sp)
|
|
||||||
.L80AA105C:
|
|
||||||
/* 009CC 80AA105C 8FB00018 */ lw $s0, 0x0018($sp)
|
|
||||||
/* 009D0 80AA1060 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
|
|
||||||
/* 009D4 80AA1064 03E00008 */ jr $ra
|
|
||||||
/* 009D8 80AA1068 00000000 */ nop
|
|
|
@ -1,34 +0,0 @@
|
||||||
glabel func_80AA106C
|
|
||||||
/* 009DC 80AA106C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
|
||||||
/* 009E0 80AA1070 AFBF0014 */ sw $ra, 0x0014($sp)
|
|
||||||
/* 009E4 80AA1074 8CA21C44 */ lw $v0, 0x1C44($a1) ## 00001C44
|
|
||||||
/* 009E8 80AA1078 3C010080 */ lui $at, 0x0080 ## $at = 00800000
|
|
||||||
/* 009EC 80AA107C 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
|
|
||||||
/* 009F0 80AA1080 8C4E0680 */ lw $t6, 0x0680($v0) ## 00000680
|
|
||||||
/* 009F4 80AA1084 01C17825 */ or $t7, $t6, $at ## $t7 = 00800000
|
|
||||||
/* 009F8 80AA1088 AC4F0680 */ sw $t7, 0x0680($v0) ## 00000680
|
|
||||||
/* 009FC 80AA108C 849801E8 */ lh $t8, 0x01E8($a0) ## 000001E8
|
|
||||||
/* 00A00 80AA1090 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
|
|
||||||
/* 00A04 80AA1094 24040002 */ addiu $a0, $zero, 0x0002 ## $a0 = 00000002
|
|
||||||
/* 00A08 80AA1098 57010011 */ bnel $t8, $at, .L80AA10E0
|
|
||||||
/* 00A0C 80AA109C 8FBF0014 */ lw $ra, 0x0014($sp)
|
|
||||||
/* 00A10 80AA10A0 AFA60018 */ sw $a2, 0x0018($sp)
|
|
||||||
/* 00A14 80AA10A4 0C03B616 */ jal func_800ED858
|
|
||||||
/* 00A18 80AA10A8 AFA5001C */ sw $a1, 0x001C($sp)
|
|
||||||
/* 00A1C 80AA10AC 8FA4001C */ lw $a0, 0x001C($sp)
|
|
||||||
/* 00A20 80AA10B0 0C042F56 */ jal func_8010BD58
|
|
||||||
/* 00A24 80AA10B4 24050009 */ addiu $a1, $zero, 0x0009 ## $a1 = 00000009
|
|
||||||
/* 00A28 80AA10B8 8FA60018 */ lw $a2, 0x0018($sp)
|
|
||||||
/* 00A2C 80AA10BC 3C01FFFE */ lui $at, 0xFFFE ## $at = FFFE0000
|
|
||||||
/* 00A30 80AA10C0 3421FFFF */ ori $at, $at, 0xFFFF ## $at = FFFEFFFF
|
|
||||||
/* 00A34 80AA10C4 8CD90004 */ lw $t9, 0x0004($a2) ## 00000004
|
|
||||||
/* 00A38 80AA10C8 3C0980AA */ lui $t1, %hi(func_80AA10EC) ## $t1 = 80AA0000
|
|
||||||
/* 00A3C 80AA10CC 252910EC */ addiu $t1, $t1, %lo(func_80AA10EC) ## $t1 = 80AA10EC
|
|
||||||
/* 00A40 80AA10D0 03214024 */ and $t0, $t9, $at
|
|
||||||
/* 00A44 80AA10D4 ACC80004 */ sw $t0, 0x0004($a2) ## 00000004
|
|
||||||
/* 00A48 80AA10D8 ACC90190 */ sw $t1, 0x0190($a2) ## 00000190
|
|
||||||
/* 00A4C 80AA10DC 8FBF0014 */ lw $ra, 0x0014($sp)
|
|
||||||
.L80AA10E0:
|
|
||||||
/* 00A50 80AA10E0 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
|
||||||
/* 00A54 80AA10E4 03E00008 */ jr $ra
|
|
||||||
/* 00A58 80AA10E8 00000000 */ nop
|
|
|
@ -1,27 +0,0 @@
|
||||||
glabel func_80AA10EC
|
|
||||||
/* 00A5C 80AA10EC 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
|
||||||
/* 00A60 80AA10F0 AFBF0014 */ sw $ra, 0x0014($sp)
|
|
||||||
/* 00A64 80AA10F4 AFA40018 */ sw $a0, 0x0018($sp)
|
|
||||||
/* 00A68 80AA10F8 8CA21C44 */ lw $v0, 0x1C44($a1) ## 00001C44
|
|
||||||
/* 00A6C 80AA10FC 3C010080 */ lui $at, 0x0080 ## $at = 00800000
|
|
||||||
/* 00A70 80AA1100 24A420D8 */ addiu $a0, $a1, 0x20D8 ## $a0 = 000020D8
|
|
||||||
/* 00A74 80AA1104 8C4E0680 */ lw $t6, 0x0680($v0) ## 00000680
|
|
||||||
/* 00A78 80AA1108 01C17825 */ or $t7, $t6, $at ## $t7 = 00800000
|
|
||||||
/* 00A7C 80AA110C AC4F0680 */ sw $t7, 0x0680($v0) ## 00000680
|
|
||||||
/* 00A80 80AA1110 0C042F6F */ jal func_8010BDBC
|
|
||||||
/* 00A84 80AA1114 AFA5001C */ sw $a1, 0x001C($sp)
|
|
||||||
/* 00A88 80AA1118 24010007 */ addiu $at, $zero, 0x0007 ## $at = 00000007
|
|
||||||
/* 00A8C 80AA111C 14410008 */ bne $v0, $at, .L80AA1140
|
|
||||||
/* 00A90 80AA1120 8FA6001C */ lw $a2, 0x001C($sp)
|
|
||||||
/* 00A94 80AA1124 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
|
|
||||||
/* 00A98 80AA1128 0C042F56 */ jal func_8010BD58
|
|
||||||
/* 00A9C 80AA112C 24050016 */ addiu $a1, $zero, 0x0016 ## $a1 = 00000016
|
|
||||||
/* 00AA0 80AA1130 8FB90018 */ lw $t9, 0x0018($sp)
|
|
||||||
/* 00AA4 80AA1134 3C1880AA */ lui $t8, %hi(func_80AA1150) ## $t8 = 80AA0000
|
|
||||||
/* 00AA8 80AA1138 27181150 */ addiu $t8, $t8, %lo(func_80AA1150) ## $t8 = 80AA1150
|
|
||||||
/* 00AAC 80AA113C AF380190 */ sw $t8, 0x0190($t9) ## 00000190
|
|
||||||
.L80AA1140:
|
|
||||||
/* 00AB0 80AA1140 8FBF0014 */ lw $ra, 0x0014($sp)
|
|
||||||
/* 00AB4 80AA1144 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
|
||||||
/* 00AB8 80AA1148 03E00008 */ jr $ra
|
|
||||||
/* 00ABC 80AA114C 00000000 */ nop
|
|
|
@ -1,32 +0,0 @@
|
||||||
glabel func_80AA1150
|
|
||||||
/* 00AC0 80AA1150 8CA21C44 */ lw $v0, 0x1C44($a1) ## 00001C44
|
|
||||||
/* 00AC4 80AA1154 3C010080 */ lui $at, 0x0080 ## $at = 00800000
|
|
||||||
/* 00AC8 80AA1158 3C180001 */ lui $t8, 0x0001 ## $t8 = 00010000
|
|
||||||
/* 00ACC 80AA115C 8C4E0680 */ lw $t6, 0x0680($v0) ## 00000680
|
|
||||||
/* 00AD0 80AA1160 0305C021 */ addu $t8, $t8, $a1
|
|
||||||
/* 00AD4 80AA1164 24190157 */ addiu $t9, $zero, 0x0157 ## $t9 = 00000157
|
|
||||||
/* 00AD8 80AA1168 01C17825 */ or $t7, $t6, $at ## $t7 = 00800000
|
|
||||||
/* 00ADC 80AA116C AC4F0680 */ sw $t7, 0x0680($v0) ## 00000680
|
|
||||||
/* 00AE0 80AA1170 971804C6 */ lhu $t8, 0x04C6($t8) ## 000104C6
|
|
||||||
/* 00AE4 80AA1174 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
|
|
||||||
/* 00AE8 80AA1178 3408FFF1 */ ori $t0, $zero, 0xFFF1 ## $t0 = 0000FFF1
|
|
||||||
/* 00AEC 80AA117C 17010010 */ bne $t8, $at, .L80AA11C0
|
|
||||||
/* 00AF0 80AA1180 2409002A */ addiu $t1, $zero, 0x002A ## $t1 = 0000002A
|
|
||||||
/* 00AF4 80AA1184 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
|
||||||
/* 00AF8 80AA1188 00250821 */ addu $at, $at, $a1
|
|
||||||
/* 00AFC 80AA118C A4391E1A */ sh $t9, 0x1E1A($at) ## 00011E1A
|
|
||||||
/* 00B00 80AA1190 3C018016 */ lui $at, %hi(gSaveContext+0x1412)
|
|
||||||
/* 00B04 80AA1194 A428FA72 */ sh $t0, %lo(gSaveContext+0x1412)($at)
|
|
||||||
/* 00B08 80AA1198 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
|
||||||
/* 00B0C 80AA119C 00250821 */ addu $at, $at, $a1
|
|
||||||
/* 00B10 80AA11A0 A0291E5E */ sb $t1, 0x1E5E($at) ## 00011E5E
|
|
||||||
/* 00B14 80AA11A4 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
|
||||||
/* 00B18 80AA11A8 00250821 */ addu $at, $at, $a1
|
|
||||||
/* 00B1C 80AA11AC 240A0014 */ addiu $t2, $zero, 0x0014 ## $t2 = 00000014
|
|
||||||
/* 00B20 80AA11B0 3C0B80AA */ lui $t3, %hi(func_80AA11C8) ## $t3 = 80AA0000
|
|
||||||
/* 00B24 80AA11B4 A02A1E15 */ sb $t2, 0x1E15($at) ## 00011E15
|
|
||||||
/* 00B28 80AA11B8 256B11C8 */ addiu $t3, $t3, %lo(func_80AA11C8) ## $t3 = 80AA11C8
|
|
||||||
/* 00B2C 80AA11BC AC8B0190 */ sw $t3, 0x0190($a0) ## 00000190
|
|
||||||
.L80AA11C0:
|
|
||||||
/* 00B30 80AA11C0 03E00008 */ jr $ra
|
|
||||||
/* 00B34 80AA11C4 00000000 */ nop
|
|
|
@ -1,4 +0,0 @@
|
||||||
glabel func_80AA11C8
|
|
||||||
/* 00B38 80AA11C8 AFA40000 */ sw $a0, 0x0000($sp)
|
|
||||||
/* 00B3C 80AA11CC 03E00008 */ jr $ra
|
|
||||||
/* 00B40 80AA11D0 AFA50004 */ sw $a1, 0x0004($sp)
|
|
|
@ -1,118 +0,0 @@
|
||||||
.late_rodata
|
|
||||||
glabel D_80AA17AC
|
|
||||||
.float 3.14159274101
|
|
||||||
|
|
||||||
glabel D_80AA17B0
|
|
||||||
.float 3.14159274101
|
|
||||||
|
|
||||||
glabel D_80AA17B4
|
|
||||||
.float 3.14159274101
|
|
||||||
|
|
||||||
glabel D_80AA17B8
|
|
||||||
.float 3.14159274101
|
|
||||||
|
|
||||||
.text
|
|
||||||
glabel func_80AA12BC
|
|
||||||
/* 00C2C 80AA12BC 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
|
|
||||||
/* 00C30 80AA12C0 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
|
|
||||||
/* 00C34 80AA12C4 AFBF0014 */ sw $ra, 0x0014($sp)
|
|
||||||
/* 00C38 80AA12C8 AFA40028 */ sw $a0, 0x0028($sp)
|
|
||||||
/* 00C3C 80AA12CC 10A10004 */ beq $a1, $at, .L80AA12E0
|
|
||||||
/* 00C40 80AA12D0 AFA70034 */ sw $a3, 0x0034($sp)
|
|
||||||
/* 00C44 80AA12D4 24010005 */ addiu $at, $zero, 0x0005 ## $at = 00000005
|
|
||||||
/* 00C48 80AA12D8 54A10003 */ bnel $a1, $at, .L80AA12E8
|
|
||||||
/* 00C4C 80AA12DC 2401000F */ addiu $at, $zero, 0x000F ## $at = 0000000F
|
|
||||||
.L80AA12E0:
|
|
||||||
/* 00C50 80AA12E0 ACC00000 */ sw $zero, 0x0000($a2) ## 00000000
|
|
||||||
/* 00C54 80AA12E4 2401000F */ addiu $at, $zero, 0x000F ## $at = 0000000F
|
|
||||||
.L80AA12E8:
|
|
||||||
/* 00C58 80AA12E8 14A1002E */ bne $a1, $at, .L80AA13A4
|
|
||||||
/* 00C5C 80AA12EC 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
|
|
||||||
/* 00C60 80AA12F0 44807000 */ mtc1 $zero, $f14 ## $f14 = 0.00
|
|
||||||
/* 00C64 80AA12F4 3C0144AF */ lui $at, 0x44AF ## $at = 44AF0000
|
|
||||||
/* 00C68 80AA12F8 44816000 */ mtc1 $at, $f12 ## $f12 = 1400.00
|
|
||||||
/* 00C6C 80AA12FC 44067000 */ mfc1 $a2, $f14
|
|
||||||
/* 00C70 80AA1300 0C034261 */ jal Matrix_Translate
|
|
||||||
/* 00C74 80AA1304 AFA5002C */ sw $a1, 0x002C($sp)
|
|
||||||
/* 00C78 80AA1308 8FAF003C */ lw $t7, 0x003C($sp)
|
|
||||||
/* 00C7C 80AA130C 27AE001C */ addiu $t6, $sp, 0x001C ## $t6 = FFFFFFF4
|
|
||||||
/* 00C80 80AA1310 3C014700 */ lui $at, 0x4700 ## $at = 47000000
|
|
||||||
/* 00C84 80AA1314 89F901F0 */ lwl $t9, 0x01F0($t7) ## 000001F0
|
|
||||||
/* 00C88 80AA1318 99F901F3 */ lwr $t9, 0x01F3($t7) ## 000001F3
|
|
||||||
/* 00C8C 80AA131C 44814000 */ mtc1 $at, $f8 ## $f8 = 32768.00
|
|
||||||
/* 00C90 80AA1320 3C0180AA */ lui $at, %hi(D_80AA17AC) ## $at = 80AA0000
|
|
||||||
/* 00C94 80AA1324 ADD90000 */ sw $t9, 0x0000($t6) ## FFFFFFF4
|
|
||||||
/* 00C98 80AA1328 95F901F4 */ lhu $t9, 0x01F4($t7) ## 000001F4
|
|
||||||
/* 00C9C 80AA132C 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
|
|
||||||
/* 00CA0 80AA1330 A5D90004 */ sh $t9, 0x0004($t6) ## FFFFFFF8
|
|
||||||
/* 00CA4 80AA1334 87A8001E */ lh $t0, 0x001E($sp)
|
|
||||||
/* 00CA8 80AA1338 C43017AC */ lwc1 $f16, %lo(D_80AA17AC)($at)
|
|
||||||
/* 00CAC 80AA133C 44882000 */ mtc1 $t0, $f4 ## $f4 = 0.00
|
|
||||||
/* 00CB0 80AA1340 00000000 */ nop
|
|
||||||
/* 00CB4 80AA1344 468021A0 */ cvt.s.w $f6, $f4
|
|
||||||
/* 00CB8 80AA1348 46083283 */ div.s $f10, $f6, $f8
|
|
||||||
/* 00CBC 80AA134C 46105302 */ mul.s $f12, $f10, $f16
|
|
||||||
/* 00CC0 80AA1350 0C0342DC */ jal Matrix_RotateX
|
|
||||||
/* 00CC4 80AA1354 00000000 */ nop
|
|
||||||
/* 00CC8 80AA1358 87A9001C */ lh $t1, 0x001C($sp)
|
|
||||||
/* 00CCC 80AA135C 3C014700 */ lui $at, 0x4700 ## $at = 47000000
|
|
||||||
/* 00CD0 80AA1360 44813000 */ mtc1 $at, $f6 ## $f6 = 32768.00
|
|
||||||
/* 00CD4 80AA1364 44899000 */ mtc1 $t1, $f18 ## $f18 = 0.00
|
|
||||||
/* 00CD8 80AA1368 3C0180AA */ lui $at, %hi(D_80AA17B0) ## $at = 80AA0000
|
|
||||||
/* 00CDC 80AA136C C42A17B0 */ lwc1 $f10, %lo(D_80AA17B0)($at)
|
|
||||||
/* 00CE0 80AA1370 46809120 */ cvt.s.w $f4, $f18
|
|
||||||
/* 00CE4 80AA1374 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
|
|
||||||
/* 00CE8 80AA1378 46062203 */ div.s $f8, $f4, $f6
|
|
||||||
/* 00CEC 80AA137C 460A4302 */ mul.s $f12, $f8, $f10
|
|
||||||
/* 00CF0 80AA1380 0C0343B5 */ jal Matrix_RotateZ
|
|
||||||
/* 00CF4 80AA1384 00000000 */ nop
|
|
||||||
/* 00CF8 80AA1388 44807000 */ mtc1 $zero, $f14 ## $f14 = 0.00
|
|
||||||
/* 00CFC 80AA138C 3C01C4AF */ lui $at, 0xC4AF ## $at = C4AF0000
|
|
||||||
/* 00D00 80AA1390 44816000 */ mtc1 $at, $f12 ## $f12 = -1400.00
|
|
||||||
/* 00D04 80AA1394 44067000 */ mfc1 $a2, $f14
|
|
||||||
/* 00D08 80AA1398 0C034261 */ jal Matrix_Translate
|
|
||||||
/* 00D0C 80AA139C 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
|
|
||||||
/* 00D10 80AA13A0 8FA5002C */ lw $a1, 0x002C($sp)
|
|
||||||
.L80AA13A4:
|
|
||||||
/* 00D14 80AA13A4 24010008 */ addiu $at, $zero, 0x0008 ## $at = 00000008
|
|
||||||
/* 00D18 80AA13A8 14A10022 */ bne $a1, $at, .L80AA1434
|
|
||||||
/* 00D1C 80AA13AC 8FAB003C */ lw $t3, 0x003C($sp)
|
|
||||||
/* 00D20 80AA13B0 896D01F6 */ lwl $t5, 0x01F6($t3) ## 000001F6
|
|
||||||
/* 00D24 80AA13B4 996D01F9 */ lwr $t5, 0x01F9($t3) ## 000001F9
|
|
||||||
/* 00D28 80AA13B8 27AA001C */ addiu $t2, $sp, 0x001C ## $t2 = FFFFFFF4
|
|
||||||
/* 00D2C 80AA13BC 3C014700 */ lui $at, 0x4700 ## $at = 47000000
|
|
||||||
/* 00D30 80AA13C0 AD4D0000 */ sw $t5, 0x0000($t2) ## FFFFFFF4
|
|
||||||
/* 00D34 80AA13C4 956D01FA */ lhu $t5, 0x01FA($t3) ## 000001FA
|
|
||||||
/* 00D38 80AA13C8 44812000 */ mtc1 $at, $f4 ## $f4 = 32768.00
|
|
||||||
/* 00D3C 80AA13CC 3C0180AA */ lui $at, %hi(D_80AA17B4) ## $at = 80AA0000
|
|
||||||
/* 00D40 80AA13D0 A54D0004 */ sh $t5, 0x0004($t2) ## FFFFFFF8
|
|
||||||
/* 00D44 80AA13D4 87AE001E */ lh $t6, 0x001E($sp)
|
|
||||||
/* 00D48 80AA13D8 C42817B4 */ lwc1 $f8, %lo(D_80AA17B4)($at)
|
|
||||||
/* 00D4C 80AA13DC 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
|
|
||||||
/* 00D50 80AA13E0 000E7823 */ subu $t7, $zero, $t6
|
|
||||||
/* 00D54 80AA13E4 448F8000 */ mtc1 $t7, $f16 ## $f16 = 0.00
|
|
||||||
/* 00D58 80AA13E8 00000000 */ nop
|
|
||||||
/* 00D5C 80AA13EC 468084A0 */ cvt.s.w $f18, $f16
|
|
||||||
/* 00D60 80AA13F0 46049183 */ div.s $f6, $f18, $f4
|
|
||||||
/* 00D64 80AA13F4 46083302 */ mul.s $f12, $f6, $f8
|
|
||||||
/* 00D68 80AA13F8 0C0342DC */ jal Matrix_RotateX
|
|
||||||
/* 00D6C 80AA13FC 00000000 */ nop
|
|
||||||
/* 00D70 80AA1400 87B8001C */ lh $t8, 0x001C($sp)
|
|
||||||
/* 00D74 80AA1404 3C014700 */ lui $at, 0x4700 ## $at = 47000000
|
|
||||||
/* 00D78 80AA1408 44819000 */ mtc1 $at, $f18 ## $f18 = 32768.00
|
|
||||||
/* 00D7C 80AA140C 0018C823 */ subu $t9, $zero, $t8
|
|
||||||
/* 00D80 80AA1410 44995000 */ mtc1 $t9, $f10 ## $f10 = 0.00
|
|
||||||
/* 00D84 80AA1414 3C0180AA */ lui $at, %hi(D_80AA17B8) ## $at = 80AA0000
|
|
||||||
/* 00D88 80AA1418 C42617B8 */ lwc1 $f6, %lo(D_80AA17B8)($at)
|
|
||||||
/* 00D8C 80AA141C 46805420 */ cvt.s.w $f16, $f10
|
|
||||||
/* 00D90 80AA1420 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
|
|
||||||
/* 00D94 80AA1424 46128103 */ div.s $f4, $f16, $f18
|
|
||||||
/* 00D98 80AA1428 46062302 */ mul.s $f12, $f4, $f6
|
|
||||||
/* 00D9C 80AA142C 0C0343B5 */ jal Matrix_RotateZ
|
|
||||||
/* 00DA0 80AA1430 00000000 */ nop
|
|
||||||
.L80AA1434:
|
|
||||||
/* 00DA4 80AA1434 8FBF0014 */ lw $ra, 0x0014($sp)
|
|
||||||
/* 00DA8 80AA1438 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
|
|
||||||
/* 00DAC 80AA143C 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
|
||||||
/* 00DB0 80AA1440 03E00008 */ jr $ra
|
|
||||||
/* 00DB4 80AA1444 00000000 */ nop
|
|
|
@ -1,25 +0,0 @@
|
||||||
glabel func_80AA1448
|
|
||||||
/* 00DB8 80AA1448 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
|
|
||||||
/* 00DBC 80AA144C 3C0E80AA */ lui $t6, %hi(D_80AA16B8) ## $t6 = 80AA0000
|
|
||||||
/* 00DC0 80AA1450 AFBF0014 */ sw $ra, 0x0014($sp)
|
|
||||||
/* 00DC4 80AA1454 AFA40028 */ sw $a0, 0x0028($sp)
|
|
||||||
/* 00DC8 80AA1458 AFA60030 */ sw $a2, 0x0030($sp)
|
|
||||||
/* 00DCC 80AA145C AFA70034 */ sw $a3, 0x0034($sp)
|
|
||||||
/* 00DD0 80AA1460 25CE16B8 */ addiu $t6, $t6, %lo(D_80AA16B8) ## $t6 = 80AA16B8
|
|
||||||
/* 00DD4 80AA1464 8DD80000 */ lw $t8, 0x0000($t6) ## 80AA16B8
|
|
||||||
/* 00DD8 80AA1468 27A40018 */ addiu $a0, $sp, 0x0018 ## $a0 = FFFFFFF0
|
|
||||||
/* 00DDC 80AA146C 2401000F */ addiu $at, $zero, 0x000F ## $at = 0000000F
|
|
||||||
/* 00DE0 80AA1470 AC980000 */ sw $t8, 0x0000($a0) ## FFFFFFF0
|
|
||||||
/* 00DE4 80AA1474 8DCF0004 */ lw $t7, 0x0004($t6) ## 80AA16BC
|
|
||||||
/* 00DE8 80AA1478 AC8F0004 */ sw $t7, 0x0004($a0) ## FFFFFFF4
|
|
||||||
/* 00DEC 80AA147C 8DD80008 */ lw $t8, 0x0008($t6) ## 80AA16C0
|
|
||||||
/* 00DF0 80AA1480 14A10004 */ bne $a1, $at, .L80AA1494
|
|
||||||
/* 00DF4 80AA1484 AC980008 */ sw $t8, 0x0008($a0) ## FFFFFFF8
|
|
||||||
/* 00DF8 80AA1488 8FA50038 */ lw $a1, 0x0038($sp)
|
|
||||||
/* 00DFC 80AA148C 0C0346BD */ jal Matrix_MultVec3f
|
|
||||||
/* 00E00 80AA1490 24A50038 */ addiu $a1, $a1, 0x0038 ## $a1 = 00000038
|
|
||||||
.L80AA1494:
|
|
||||||
/* 00E04 80AA1494 8FBF0014 */ lw $ra, 0x0014($sp)
|
|
||||||
/* 00E08 80AA1498 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
|
|
||||||
/* 00E0C 80AA149C 03E00008 */ jr $ra
|
|
||||||
/* 00E10 80AA14A0 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_Ma1_InitVars
|
|
||||||
.word 0x00E70400, 0x02000039, 0x00E00000, 0x00000210
|
|
||||||
.word EnMa1_Init
|
|
||||||
.word EnMa1_Destroy
|
|
||||||
.word EnMa1_Update
|
|
||||||
.word EnMa1_Draw
|
|
||||||
glabel D_80AA1640
|
|
||||||
.word 0x0A000039, 0x20010000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000100, 0x0012002E, 0x00000000, 0x00000000
|
|
||||||
glabel D_80AA166C
|
|
||||||
.word 0x00000000, 0x00000000, 0xFF000000
|
|
||||||
glabel D_80AA1678
|
|
||||||
.word 0x06000820, 0x3F800000, 0x00000000, 0x00000000, 0x06000820, 0x3F800000, 0x00000000, 0xC1200000, 0x06008D64, 0x3F800000, 0x00000000, 0x00000000, 0x06008D64, 0x3F800000, 0x00000000, 0xC1200000
|
|
||||||
glabel D_80AA16B8
|
|
||||||
.word 0x44480000, 0x00000000, 0x00000000
|
|
||||||
glabel D_80AA16C4
|
|
||||||
.word 0x06001F18, 0x06002B18, 0x06002F18
|
|
||||||
glabel D_80AA16D0
|
|
||||||
.word 0x06001B18, 0x06002318, 0x06002718, 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_80AA17C0
|
|
||||||
|
|
||||||
.incbin "baserom/ovl_En_Ma1", 0x1130, 0x000001E0
|
|
|
@ -400,6 +400,7 @@ Hilite* func_8003435C(Vec3f* object, GlobalContext* globalCtx);
|
||||||
s32 func_800343CC(GlobalContext* globalCtx, Actor* actor, s16* arg2, f32 arg3, u16 (*unkFunc1)(GlobalContext*, Actor*),
|
s32 func_800343CC(GlobalContext* globalCtx, Actor* actor, s16* arg2, f32 arg3, u16 (*unkFunc1)(GlobalContext*, Actor*),
|
||||||
s16 (*unkFunc2)(GlobalContext*, Actor*));
|
s16 (*unkFunc2)(GlobalContext*, Actor*));
|
||||||
s16 func_800347E8(s16 arg0);
|
s16 func_800347E8(s16 arg0);
|
||||||
|
void func_80034A14(Actor* actor, struct_80034A14_arg1* arg1, s16 arg2, s16 arg3);
|
||||||
void func_80034BA0(GlobalContext* globalCtx, SkelAnime* skelAnime, OverrideLimbDraw2 overrideLimbDraw,
|
void func_80034BA0(GlobalContext* globalCtx, SkelAnime* skelAnime, OverrideLimbDraw2 overrideLimbDraw,
|
||||||
PostLimbDraw2 postLimbDraw, Actor* actor, s16 alpha);
|
PostLimbDraw2 postLimbDraw, Actor* actor, s16 alpha);
|
||||||
void func_80034CC4(GlobalContext* globalCtx, SkelAnime* skelAnime, OverrideLimbDraw2 overrideLimbDraw,
|
void func_80034CC4(GlobalContext* globalCtx, SkelAnime* skelAnime, OverrideLimbDraw2 overrideLimbDraw,
|
||||||
|
@ -2154,6 +2155,7 @@ void func_800F59E8(u16);
|
||||||
// ? func_800F5CF8(?);
|
// ? func_800F5CF8(?);
|
||||||
// ? func_800F5E18(?);
|
// ? func_800F5E18(?);
|
||||||
// ? func_800F5E90(?);
|
// ? func_800F5E90(?);
|
||||||
|
void func_800F6268(f32, UNK_TYPE);
|
||||||
// ? func_800F64E0(?);
|
// ? func_800F64E0(?);
|
||||||
// ? func_800F66C0(?);
|
// ? func_800F66C0(?);
|
||||||
// ? func_800F6700(?);
|
// ? func_800F6700(?);
|
||||||
|
|
|
@ -604,9 +604,11 @@ typedef struct {
|
||||||
/* 0xE3E2 */ u16 unk_E3E2;
|
/* 0xE3E2 */ u16 unk_E3E2;
|
||||||
/* 0xE3E4 */ u8 unk_E3E4;
|
/* 0xE3E4 */ u8 unk_E3E4;
|
||||||
/* 0xE3E5 */ u8 choiceIndex;
|
/* 0xE3E5 */ u8 choiceIndex;
|
||||||
/* 0xE3E6 */ char unk_E3E6[0x08];
|
/* 0xE3E6 */ char unk_E3E6[0x01];
|
||||||
|
/* 0xE3E7 */ u8 unk_E3E7;
|
||||||
|
/* 0xE3E8 */ char unk_E3E8[0x6];
|
||||||
/* 0xE3EE */ u16 unk_E3EE;
|
/* 0xE3EE */ u16 unk_E3EE;
|
||||||
/* 0xE3EE */ u16 unk_E3F0;
|
/* 0xE3F0 */ u16 unk_E3F0;
|
||||||
/* 0xE3F2 */ char unk_E3F2[0x02];
|
/* 0xE3F2 */ char unk_E3F2[0x02];
|
||||||
/* 0xE3F4 */ u16 unk_E3F4;
|
/* 0xE3F4 */ u16 unk_E3F4;
|
||||||
/* 0xE3F6 */ char unk_E3F6[0x16];
|
/* 0xE3F6 */ char unk_E3F6[0x16];
|
||||||
|
@ -1129,6 +1131,14 @@ typedef struct {
|
||||||
/* 0x14 */ f32 transitionRate;
|
/* 0x14 */ f32 transitionRate;
|
||||||
} struct_80034EC0_Entry; // size = 0x18
|
} struct_80034EC0_Entry; // size = 0x18
|
||||||
|
|
||||||
|
// Another animation related structure
|
||||||
|
typedef struct {
|
||||||
|
/* 0x00 */ AnimationHeader* animation;
|
||||||
|
/* 0x04 */ f32 frameCount;
|
||||||
|
/* 0x08 */ u8 unk_08;
|
||||||
|
/* 0x0C */ f32 transitionRate;
|
||||||
|
} struct_D_80AA1678; // size = 0x10
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
/* 0x00 */ s16 unk_00;
|
/* 0x00 */ s16 unk_00;
|
||||||
/* 0x02 */ s16 unk_02;
|
/* 0x02 */ s16 unk_02;
|
||||||
|
@ -1138,6 +1148,7 @@ typedef struct {
|
||||||
/* 0x0E */ Vec3s unk_0E;
|
/* 0x0E */ Vec3s unk_0E;
|
||||||
/* 0x14 */ f32 unk_14;
|
/* 0x14 */ f32 unk_14;
|
||||||
/* 0x18 */ Vec3f unk_18;
|
/* 0x18 */ Vec3f unk_18;
|
||||||
|
/* 0x24 */ char unk_24[0x4];
|
||||||
} struct_80034A14_arg1;
|
} struct_80034A14_arg1;
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
@ -1577,7 +1588,7 @@ typedef struct {
|
||||||
/* 0xB4 */ JpegWork* workBuf;
|
/* 0xB4 */ JpegWork* workBuf;
|
||||||
} JpegContext; // size = 0xB8
|
} JpegContext; // size = 0xB8
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
/* 0x00 */ char unk_00[0x08];
|
/* 0x00 */ char unk_00[0x08];
|
||||||
/* 0x08 */ Color_RGBA8 color;
|
/* 0x08 */ Color_RGBA8 color;
|
||||||
/* 0x0C */ char unk_0C[0x0C];
|
/* 0x0C */ char unk_0C[0x0C];
|
||||||
|
|
|
@ -250,7 +250,8 @@ typedef struct {
|
||||||
/* 0x0698 */ f32 unk_698;
|
/* 0x0698 */ f32 unk_698;
|
||||||
/* 0x069C */ char unk_69C[0x008];
|
/* 0x069C */ char unk_69C[0x008];
|
||||||
/* 0x06A4 */ f32 unk_6A4;
|
/* 0x06A4 */ f32 unk_6A4;
|
||||||
/* 0x06A8 */ char unk_6A8[0x5];
|
/* 0x06A8 */ Actor* unk_6A8;
|
||||||
|
/* 0x06AC */ char unk_6AC[0x001];
|
||||||
/* 0x06AD */ u8 unk_6AD;
|
/* 0x06AD */ u8 unk_6AD;
|
||||||
/* 0x06AE */ char unk_6AE[0x1A];
|
/* 0x06AE */ char unk_6AE[0x1A];
|
||||||
/* 0x06C8 */ SkelAnime skelAnime2;
|
/* 0x06C8 */ SkelAnime skelAnime2;
|
||||||
|
|
3
spec
3
spec
|
@ -2916,8 +2916,7 @@ endseg
|
||||||
beginseg
|
beginseg
|
||||||
name "ovl_En_Ma1"
|
name "ovl_En_Ma1"
|
||||||
include "build/src/overlays/actors/ovl_En_Ma1/z_en_ma1.o"
|
include "build/src/overlays/actors/ovl_En_Ma1/z_en_ma1.o"
|
||||||
include "build/data/overlays/actors/z_en_ma1.data.o"
|
include "build/src/overlays/actors/ovl_En_Ma1/z_en_ma1_reloc.o"
|
||||||
include "build/data/overlays/actors/z_en_ma1.reloc.o"
|
|
||||||
endseg
|
endseg
|
||||||
|
|
||||||
beginseg
|
beginseg
|
||||||
|
|
|
@ -1,3 +1,9 @@
|
||||||
|
/*
|
||||||
|
* File: z_en_ma1.c
|
||||||
|
* Overlay: En_Ma1
|
||||||
|
* Description:
|
||||||
|
*/
|
||||||
|
|
||||||
#include "z_en_ma1.h"
|
#include "z_en_ma1.h"
|
||||||
|
|
||||||
#define FLAGS 0x02000039
|
#define FLAGS 0x02000039
|
||||||
|
@ -7,7 +13,18 @@ void EnMa1_Destroy(EnMa1* this, GlobalContext* globalCtx);
|
||||||
void EnMa1_Update(EnMa1* this, GlobalContext* globalCtx);
|
void EnMa1_Update(EnMa1* this, GlobalContext* globalCtx);
|
||||||
void EnMa1_Draw(EnMa1* this, GlobalContext* globalCtx);
|
void EnMa1_Draw(EnMa1* this, GlobalContext* globalCtx);
|
||||||
|
|
||||||
/*
|
u16 EnMa1_GetText(GlobalContext* globalCtx, Actor* this);
|
||||||
|
s16 func_80AA0778(GlobalContext* globalCtx, Actor* this);
|
||||||
|
|
||||||
|
void func_80AA0D88(EnMa1* this, GlobalContext* globalCtx);
|
||||||
|
void func_80AA0EA0(EnMa1* this, GlobalContext* globalCtx);
|
||||||
|
void func_80AA0EFC(EnMa1* this, GlobalContext* globalCtx);
|
||||||
|
void func_80AA0F44(EnMa1* this, GlobalContext* globalCtx);
|
||||||
|
void func_80AA106C(EnMa1* this, GlobalContext* globalCtx);
|
||||||
|
void func_80AA10EC(EnMa1* this, GlobalContext* globalCtx);
|
||||||
|
void func_80AA1150(EnMa1* this, GlobalContext* globalCtx);
|
||||||
|
void func_80AA11C8(EnMa1* this, GlobalContext* globalCtx);
|
||||||
|
|
||||||
const ActorInit En_Ma1_InitVars = {
|
const ActorInit En_Ma1_InitVars = {
|
||||||
ACTOR_EN_MA1,
|
ACTOR_EN_MA1,
|
||||||
ACTORTYPE_NPC,
|
ACTORTYPE_NPC,
|
||||||
|
@ -19,45 +36,410 @@ const ActorInit En_Ma1_InitVars = {
|
||||||
(ActorFunc)EnMa1_Update,
|
(ActorFunc)EnMa1_Update,
|
||||||
(ActorFunc)EnMa1_Draw,
|
(ActorFunc)EnMa1_Draw,
|
||||||
};
|
};
|
||||||
*/
|
|
||||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ma1/func_80AA0690.s")
|
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ma1/func_80AA0778.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 } },
|
||||||
|
};
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ma1/func_80AA08C4.s")
|
CollisionCheckInfoInit2 D_80AA166C = {
|
||||||
|
0x00, 0x0000, 0x0000, 0x0000, 0xFF,
|
||||||
|
};
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ma1/func_80AA0A0C.s")
|
struct_D_80AA1678 D_80AA1678[] = {
|
||||||
|
{ 0x06000820, 1.0f, 0x00, 0.0f },
|
||||||
|
{ 0x06000820, 1.0f, 0x00, -10.0f },
|
||||||
|
{ 0x06008D64, 1.0f, 0x00, 0.0f },
|
||||||
|
{ 0x06008D64, 1.0f, 0x00, -10.0f },
|
||||||
|
};
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ma1/func_80AA0A84.s")
|
Vec3f D_80AA16B8 = { 800.0f, 0.0f, 0.0f };
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ma1/func_80AA0AF4.s")
|
u32 D_80AA16C4[] = {
|
||||||
|
0x06001F18,
|
||||||
|
0x06002B18,
|
||||||
|
0x06002F18,
|
||||||
|
};
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ma1/func_80AA0B74.s")
|
u32 D_80AA16D0[] = {
|
||||||
|
0x06001B18,
|
||||||
|
0x06002318,
|
||||||
|
0x06002718,
|
||||||
|
};
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ma1/EnMa1_Init.s")
|
extern AnimationHeader D_06000820;
|
||||||
|
extern SkeletonHeader D_06008460;
|
||||||
|
extern AnimationHeader D_06008D64;
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ma1/EnMa1_Destroy.s")
|
u16 EnMa1_GetText(GlobalContext* globalCtx, Actor* this) {
|
||||||
|
u16 faceReaction = Text_GetFaceReaction(globalCtx, 0x17);
|
||||||
|
if (faceReaction != 0) {
|
||||||
|
return faceReaction;
|
||||||
|
}
|
||||||
|
if (CHECK_QUEST_ITEM(QUEST_SONG_EPONA)) {
|
||||||
|
return 0x204A;
|
||||||
|
}
|
||||||
|
if (gSaveContext.eventChkInf[1] & 0x40) {
|
||||||
|
return 0x2049;
|
||||||
|
}
|
||||||
|
if (gSaveContext.eventChkInf[1] & 0x20) {
|
||||||
|
if ((gSaveContext.infTable[8] & 0x20)) {
|
||||||
|
return 0x2049;
|
||||||
|
} else {
|
||||||
|
return 0x2048;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (gSaveContext.eventChkInf[1] & 0x10) {
|
||||||
|
return 0x2047;
|
||||||
|
}
|
||||||
|
if (gSaveContext.eventChkInf[1] & 4) {
|
||||||
|
return 0x2044;
|
||||||
|
}
|
||||||
|
if (gSaveContext.infTable[8] & 0x10) {
|
||||||
|
if (gSaveContext.infTable[8] & 0x800) {
|
||||||
|
return 0x2043;
|
||||||
|
} else {
|
||||||
|
return 0x2042;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return 0x2041;
|
||||||
|
}
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ma1/func_80AA0D88.s")
|
s16 func_80AA0778(GlobalContext* globalCtx, Actor* this) {
|
||||||
|
s16 ret = 1;
|
||||||
|
switch (func_8010BDBC(&globalCtx->msgCtx)) {
|
||||||
|
case 2:
|
||||||
|
switch (this->textId - 0x2041) {
|
||||||
|
case 0:
|
||||||
|
gSaveContext.infTable[8] |= 0x10;
|
||||||
|
gSaveContext.eventChkInf[1] |= 1;
|
||||||
|
ret = 0;
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
ret = 1;
|
||||||
|
break;
|
||||||
|
case 6:
|
||||||
|
gSaveContext.eventChkInf[1] |= 0x20;
|
||||||
|
ret = 0;
|
||||||
|
break;
|
||||||
|
case 7:
|
||||||
|
gSaveContext.infTable[8] |= 0x20;
|
||||||
|
ret = 0;
|
||||||
|
break;
|
||||||
|
case 8:
|
||||||
|
gSaveContext.eventChkInf[1] |= 0x40;
|
||||||
|
ret = 0;
|
||||||
|
break;
|
||||||
|
case 32:
|
||||||
|
ret = 2;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
ret = 0;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 4:
|
||||||
|
case 5:
|
||||||
|
if (func_80106BC8(globalCtx) != 0) {
|
||||||
|
ret = 2;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 6:
|
||||||
|
if (func_80106BC8(globalCtx) != 0) {
|
||||||
|
ret = 3;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 0:
|
||||||
|
case 1:
|
||||||
|
case 3:
|
||||||
|
case 7:
|
||||||
|
case 8:
|
||||||
|
case 9:
|
||||||
|
ret = 1;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ma1/func_80AA0EA0.s")
|
s32 func_80AA08C4(EnMa1* this, GlobalContext* globalCtx) {
|
||||||
|
if ((this->actor.shape.rot.z == 3) && (gSaveContext.sceneSetupIndex == 5)) {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
if (gSaveContext.linkAge != 1) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
if (((globalCtx->sceneNum == SCENE_MARKET_NIGHT) || (globalCtx->sceneNum == SCENE_MARKET_DAY)) &&
|
||||||
|
(!(gSaveContext.eventChkInf[1] & 0x10)) && (!(gSaveContext.infTable[8] & 0x800))) {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
if ((globalCtx->sceneNum == SCENE_SPOT15) && (!(gSaveContext.eventChkInf[1] & 0x10))) {
|
||||||
|
if (gSaveContext.infTable[8] & 0x800) {
|
||||||
|
return 1;
|
||||||
|
} else {
|
||||||
|
gSaveContext.infTable[8] |= 0x800;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ((globalCtx->sceneNum == SCENE_SOUKO) && (gSaveContext.nightFlag == 1) && (gSaveContext.eventChkInf[1] & 0x10)) {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
if (globalCtx->sceneNum != SCENE_SPOT20) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
if ((this->actor.shape.rot.z == 3) && (gSaveContext.nightFlag == 0) && (gSaveContext.eventChkInf[1] & 0x10)) {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ma1/func_80AA0EFC.s")
|
void func_80AA0A0C(EnMa1* this) {
|
||||||
|
if (DECR(this->unk_1E2) == 0) {
|
||||||
|
this->unk_1E4 += 1;
|
||||||
|
if (this->unk_1E4 >= 3) {
|
||||||
|
this->unk_1E2 = Math_Rand_S16Offset(0x1E, 0x1E);
|
||||||
|
this->unk_1E4 = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ma1/func_80AA0F44.s")
|
void func_80AA0A84(EnMa1* this, UNK_TYPE idx) {
|
||||||
|
f32 frameCount = SkelAnime_GetFrameCount(&D_80AA1678[idx].animation->genericHeader);
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ma1/func_80AA106C.s")
|
SkelAnime_ChangeAnim(&this->skelAnime, D_80AA1678[idx].animation, 1.0f, 0.0f, frameCount, D_80AA1678[idx].unk_08,
|
||||||
|
D_80AA1678[idx].transitionRate);
|
||||||
|
}
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ma1/func_80AA10EC.s")
|
void func_80AA0AF4(EnMa1* this, GlobalContext* globalCtx) {
|
||||||
|
Player* player = PLAYER;
|
||||||
|
s16 phi_a3;
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ma1/func_80AA1150.s")
|
if ((this->unk_1E8.unk_00 == 0) && (this->skelAnime.animCurrentSeg == &D_06008D64)) {
|
||||||
|
phi_a3 = 1;
|
||||||
|
} else {
|
||||||
|
phi_a3 = 0;
|
||||||
|
}
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ma1/func_80AA11C8.s")
|
this->unk_1E8.unk_18 = player->actor.posRot.pos;
|
||||||
|
this->unk_1E8.unk_18.y -= -10.0f;
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ma1/EnMa1_Update.s")
|
func_80034A14(&this->actor, &this->unk_1E8, 0, phi_a3);
|
||||||
|
}
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ma1/func_80AA12BC.s")
|
void func_80AA0B74(EnMa1* this) {
|
||||||
|
if (this->skelAnime.animCurrentSeg == &D_06008D64) {
|
||||||
|
if (this->unk_1E8.unk_00 == 0) {
|
||||||
|
if (this->unk_1E0 != 0) {
|
||||||
|
this->unk_1E0 = 0;
|
||||||
|
func_800F6584(0);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (this->unk_1E0 == 0) {
|
||||||
|
this->unk_1E0 = 1;
|
||||||
|
func_800F6584(1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ma1/func_80AA1448.s")
|
void EnMa1_Init(EnMa1* this, GlobalContext* globalCtx) {
|
||||||
|
s32 pad;
|
||||||
|
ColliderCylinder* collider = &this->collider;
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ma1/EnMa1_Draw.s")
|
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawFunc_Circle, 18.0f);
|
||||||
|
SkelAnime_InitSV(globalCtx, &this->skelAnime, &D_06008460, NULL, NULL, NULL, 0);
|
||||||
|
Collider_InitCylinder(globalCtx, collider);
|
||||||
|
Collider_SetCylinder(globalCtx, collider, &this->actor, &cylinderInit);
|
||||||
|
func_80061EFC(&this->actor.colChkInfo, DamageTable_Get(0x16), &D_80AA166C);
|
||||||
|
|
||||||
|
if (!func_80AA08C4(this, globalCtx)) {
|
||||||
|
Actor_Kill(&this->actor);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
func_8002E4B4(globalCtx, &this->actor, 0.0f, 0.0f, 0.0f, 4);
|
||||||
|
Actor_SetScale(&this->actor, 0.01f);
|
||||||
|
this->actor.unk_1F = 6;
|
||||||
|
this->unk_1E8.unk_00 = 0;
|
||||||
|
|
||||||
|
if ((!(gSaveContext.eventChkInf[1] & 0x10)) || (CHECK_QUEST_ITEM(QUEST_SONG_EPONA))) {
|
||||||
|
this->actionFunc = (ActorFunc)func_80AA0D88;
|
||||||
|
func_80AA0A84(this, 2);
|
||||||
|
} else {
|
||||||
|
this->actionFunc = (ActorFunc)func_80AA0F44;
|
||||||
|
func_80AA0A84(this, 2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void EnMa1_Destroy(EnMa1* this, GlobalContext* globalCtx) {
|
||||||
|
SkelAnime_Free(&this->skelAnime, globalCtx);
|
||||||
|
Collider_DestroyCylinder(globalCtx, &this->collider);
|
||||||
|
}
|
||||||
|
|
||||||
|
void func_80AA0D88(EnMa1* this, GlobalContext* globalCtx) {
|
||||||
|
if (this->unk_1E8.unk_00 != 0) {
|
||||||
|
if (this->skelAnime.animCurrentSeg != &D_06000820) {
|
||||||
|
func_80AA0A84(this, 1);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (this->skelAnime.animCurrentSeg != &D_06008D64) {
|
||||||
|
func_80AA0A84(this, 3);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((globalCtx->sceneNum == SCENE_SPOT15) && (gSaveContext.eventChkInf[1] & 0x10)) {
|
||||||
|
Actor_Kill(&this->actor);
|
||||||
|
} else if ((!(gSaveContext.eventChkInf[1] & 0x10)) || (CHECK_QUEST_ITEM(QUEST_SONG_EPONA))) {
|
||||||
|
if (this->unk_1E8.unk_00 == 2) {
|
||||||
|
this->actionFunc = (ActorFunc)func_80AA0EA0;
|
||||||
|
globalCtx->msgCtx.unk_E3E7 = 4;
|
||||||
|
globalCtx->msgCtx.msgMode = 0x36;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void func_80AA0EA0(EnMa1* this, GlobalContext* globalCtx) {
|
||||||
|
if (func_8002F410(&this->actor, globalCtx)) {
|
||||||
|
this->actor.attachedA = NULL;
|
||||||
|
this->actionFunc = (ActorFunc)func_80AA0EFC;
|
||||||
|
} else {
|
||||||
|
func_8002F434(&this->actor, globalCtx, GI_WEIRD_EGG, 120.0f, 10.0f);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void func_80AA0EFC(EnMa1* this, GlobalContext* globalCtx) {
|
||||||
|
if (this->unk_1E8.unk_00 == 3) {
|
||||||
|
this->unk_1E8.unk_00 = 0;
|
||||||
|
this->actionFunc = (ActorFunc)func_80AA0D88;
|
||||||
|
gSaveContext.eventChkInf[1] |= 4;
|
||||||
|
globalCtx->msgCtx.msgMode = 0x36;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void func_80AA0F44(EnMa1* this, GlobalContext* globalCtx) {
|
||||||
|
Player* player = PLAYER;
|
||||||
|
|
||||||
|
if (this->unk_1E8.unk_00 != 0) {
|
||||||
|
if (this->skelAnime.animCurrentSeg != &D_06000820) {
|
||||||
|
func_80AA0A84(this, 1);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (this->skelAnime.animCurrentSeg != &D_06008D64) {
|
||||||
|
func_80AA0A84(this, 3);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (gSaveContext.eventChkInf[1] & 0x40) {
|
||||||
|
if (player->stateFlags2 & 0x1000000) {
|
||||||
|
player->stateFlags2 |= 0x2000000;
|
||||||
|
player->unk_6A8 = &this->actor;
|
||||||
|
this->actor.textId = 0x2061;
|
||||||
|
func_8010B680(globalCtx, this->actor.textId, 0);
|
||||||
|
this->unk_1E8.unk_00 = 1;
|
||||||
|
this->actor.flags |= 0x10000;
|
||||||
|
this->actionFunc = (ActorFunc)func_80AA106C;
|
||||||
|
} else if (this->actor.xzDistanceFromLink < 30.0f + (f32)this->collider.dim.radius) {
|
||||||
|
player->stateFlags2 |= 0x800000;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void func_80AA106C(EnMa1* this, GlobalContext* globalCtx) {
|
||||||
|
PLAYER->stateFlags2 |= 0x800000;
|
||||||
|
if (this->unk_1E8.unk_00 == 2) {
|
||||||
|
func_800ED858(2);
|
||||||
|
func_8010BD58(globalCtx, 9);
|
||||||
|
this->actor.flags &= ~0x10000;
|
||||||
|
this->actionFunc = (ActorFunc)func_80AA10EC;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void func_80AA10EC(EnMa1* this, GlobalContext* globalCtx) {
|
||||||
|
PLAYER->stateFlags2 |= 0x800000;
|
||||||
|
if (func_8010BDBC(&globalCtx->msgCtx) == 7) {
|
||||||
|
func_8010BD58(globalCtx, 0x16);
|
||||||
|
this->actionFunc = (ActorFunc)func_80AA1150;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void func_80AA1150(EnMa1* this, GlobalContext* globalCtx) {
|
||||||
|
PLAYER->stateFlags2 |= 0x800000;
|
||||||
|
if (globalCtx->msgCtx.unk_E3EE == 3) {
|
||||||
|
globalCtx->nextEntranceIndex = 0x157;
|
||||||
|
gSaveContext.nextCutsceneIndex = 0xFFF1;
|
||||||
|
globalCtx->fadeTransition = 42;
|
||||||
|
globalCtx->sceneLoadFlag = 0x14;
|
||||||
|
this->actionFunc = (ActorFunc)func_80AA11C8;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void func_80AA11C8(EnMa1* this, GlobalContext* globalCtx) {
|
||||||
|
}
|
||||||
|
|
||||||
|
void EnMa1_Update(EnMa1* this, GlobalContext* globalCtx) {
|
||||||
|
ColliderCylinder* collider = &this->collider;
|
||||||
|
s32 pad;
|
||||||
|
|
||||||
|
Collider_CylinderUpdate(&this->actor, collider);
|
||||||
|
CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &collider->base);
|
||||||
|
SkelAnime_FrameUpdateMatrix(&this->skelAnime);
|
||||||
|
func_80AA0A0C(this);
|
||||||
|
this->actionFunc(this, globalCtx);
|
||||||
|
if (this->actionFunc != (ActorFunc)func_80AA11C8) {
|
||||||
|
func_800343CC(globalCtx, &this->actor, &this->unk_1E8.unk_00, (f32)this->collider.dim.radius + 30.0f,
|
||||||
|
EnMa1_GetText, func_80AA0778);
|
||||||
|
}
|
||||||
|
func_80AA0B74(this);
|
||||||
|
func_80AA0AF4(this, globalCtx);
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 EnMa1_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* this) {
|
||||||
|
EnMa1* thisx = (EnMa1*)this;
|
||||||
|
Vec3s tempVec;
|
||||||
|
|
||||||
|
if ((limbIndex == 2) || (limbIndex == 5)) {
|
||||||
|
*dList = NULL;
|
||||||
|
}
|
||||||
|
if (limbIndex == 15) {
|
||||||
|
Matrix_Translate(1400.0f, 0.0f, 0.0f, MTXMODE_APPLY);
|
||||||
|
tempVec = thisx->unk_1E8.unk_08;
|
||||||
|
Matrix_RotateX(((f32)tempVec.y / 32768.0f) * M_PI, MTXMODE_APPLY);
|
||||||
|
Matrix_RotateZ(((f32)tempVec.x / 32768.0f) * M_PI, MTXMODE_APPLY);
|
||||||
|
Matrix_Translate(-1400.0f, 0.0f, 0.0f, MTXMODE_APPLY);
|
||||||
|
}
|
||||||
|
if (limbIndex == 8) {
|
||||||
|
tempVec = thisx->unk_1E8.unk_0E;
|
||||||
|
Matrix_RotateX(((f32)(0 - tempVec.y) / 32768.0f) * M_PI, MTXMODE_APPLY);
|
||||||
|
Matrix_RotateZ(((f32)(0 - tempVec.x) / 32768.0f) * M_PI, MTXMODE_APPLY);
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
void EnMa1_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* actor) {
|
||||||
|
s32 pad;
|
||||||
|
Vec3f vec = D_80AA16B8;
|
||||||
|
|
||||||
|
if (limbIndex == 15) {
|
||||||
|
Matrix_MultVec3f(&vec, &actor->posRot2.pos);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void EnMa1_Draw(EnMa1* this, GlobalContext* globalCtx) {
|
||||||
|
Camera* camera;
|
||||||
|
f32 someFloat;
|
||||||
|
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
|
||||||
|
Gfx* dispRefs[6];
|
||||||
|
|
||||||
|
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_ma1.c", 1226);
|
||||||
|
camera = globalCtx->cameraPtrs[globalCtx->activeCamera];
|
||||||
|
someFloat = Math_Vec3f_DistXZ(&this->actor.posRot.pos, &camera->unk_5C);
|
||||||
|
func_800F6268(someFloat, 0x2F);
|
||||||
|
func_80093D18(globalCtx->state.gfxCtx);
|
||||||
|
|
||||||
|
gSPSegment(gfxCtx->polyOpa.p++, 0x09, SEGMENTED_TO_VIRTUAL(D_80AA16C4[this->unk_1E6]));
|
||||||
|
gSPSegment(gfxCtx->polyOpa.p++, 0x08, SEGMENTED_TO_VIRTUAL(D_80AA16D0[this->unk_1E4]));
|
||||||
|
|
||||||
|
SkelAnime_DrawSV(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount,
|
||||||
|
EnMa1_OverrideLimbDraw, EnMa1_PostLimbDraw, &this->actor);
|
||||||
|
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_ma1.c", 1261);
|
||||||
|
}
|
||||||
|
|
|
@ -6,7 +6,14 @@
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
/* 0x0000 */ Actor actor;
|
/* 0x0000 */ Actor actor;
|
||||||
/* 0x014C */ char unk_14C[0xC4];
|
/* 0x014C */ SkelAnime skelAnime;
|
||||||
|
/* 0x0190 */ ActorFunc actionFunc;
|
||||||
|
/* 0x0194 */ ColliderCylinder collider;
|
||||||
|
/* 0x01E0 */ s16 unk_1E0;
|
||||||
|
/* 0x01E2 */ s16 unk_1E2;
|
||||||
|
/* 0x01E4 */ s16 unk_1E4;
|
||||||
|
/* 0x01E6 */ s16 unk_1E6;
|
||||||
|
/* 0x01E8 */ struct_80034A14_arg1 unk_1E8;
|
||||||
} EnMa1; // size = 0x0210
|
} EnMa1; // size = 0x0210
|
||||||
|
|
||||||
extern const ActorInit En_Ma1_InitVars;
|
extern const ActorInit En_Ma1_InitVars;
|
||||||
|
|
|
@ -52,7 +52,6 @@ typedef struct {
|
||||||
/* 0x0364 */ Vec3f unk_364;
|
/* 0x0364 */ Vec3f unk_364;
|
||||||
/* 0x0370 */ f32 unk_370;
|
/* 0x0370 */ f32 unk_370;
|
||||||
/* 0x0374 */ struct_80034A14_arg1 unk_374;
|
/* 0x0374 */ struct_80034A14_arg1 unk_374;
|
||||||
/* 0x0398 */ char unk_398[0x4]; // probably belongs to previous struct
|
|
||||||
} EnRu1; // size = 0x039C
|
} EnRu1; // size = 0x039C
|
||||||
|
|
||||||
extern const ActorInit En_Ru1_InitVars;
|
extern const ActorInit En_Ru1_InitVars;
|
||||||
|
|
|
@ -10,121 +10,6 @@ root_dir = script_dir + "/../"
|
||||||
data_dir = root_dir + "data/"
|
data_dir = root_dir + "data/"
|
||||||
asm_dir = root_dir + "asm/"
|
asm_dir = root_dir + "asm/"
|
||||||
|
|
||||||
floats = {}
|
|
||||||
floats["0x3F800000"] = "1.0"
|
|
||||||
floats["0x46EC7A00"] = "30269.0"
|
|
||||||
floats["0x46ECC600"] = "30307.0"
|
|
||||||
floats["0x46ECE600"] = "30323.0"
|
|
||||||
floats["0x3B23D70A"] = "0.0025"
|
|
||||||
floats["0x3D4CCCCD"] = "0.05"
|
|
||||||
floats["0x3DCCCCCD"] = "0.1"
|
|
||||||
floats["0x451C4000"] = "2500.0"
|
|
||||||
floats["0x453B8000"] = "3000.0"
|
|
||||||
floats["0x44BB8000"] = "1500.0"
|
|
||||||
floats["0x3FCCCCCD"] = "1.6"
|
|
||||||
floats["0x3E99999A"] = "0.3"
|
|
||||||
floats["0x40C90FDB"] = "6.28318548203"
|
|
||||||
floats["0x3DA3D70A"] = "0.08"
|
|
||||||
floats["0x3F333333"] = "0.7"
|
|
||||||
floats["0x3F19999A"] = "0.6"
|
|
||||||
floats["0x40133333"] = "2.3"
|
|
||||||
floats["0x40933333"] = "4.6"
|
|
||||||
floats["0x44758000"] = "982.0"
|
|
||||||
floats["0x409FFFEB"] = "4.99998998642"
|
|
||||||
floats["0x40FFFFEB"] = "7.99998998642"
|
|
||||||
floats["0x3F3AE148"] = "0.73"
|
|
||||||
floats["0x3A83126F"] = "0.001"
|
|
||||||
floats["0x494EA400"] = "846400.0"
|
|
||||||
floats["0x3DE147AE"] = "0.11"
|
|
||||||
floats["0x3C23D70B"] = "0.0100000007078"
|
|
||||||
floats["0x3E16872B"] = "0.147"
|
|
||||||
floats["0x3B03126F"] = "0.002"
|
|
||||||
floats["0x40490FDB"] = "3.14159274101"
|
|
||||||
floats["0xC49C4000"] = "-1250.0"
|
|
||||||
floats["0x3FC90FDB"] = "1.57079637051"
|
|
||||||
floats["0x44278000"] = "670.0"
|
|
||||||
floats["0x3CA3D70A"] = "0.02"
|
|
||||||
floats["0x3F7851EC"] = "0.97"
|
|
||||||
floats["0x3E999999"] = "0.299999982119"
|
|
||||||
floats["0x3E4CCCCD"] = "0.2"
|
|
||||||
floats["0x3B83126E"] = "0.00399999972433"
|
|
||||||
floats["0x3F59999A"] = "0.85"
|
|
||||||
floats["0x38C90FDB"] = "9.58738019108e-05"
|
|
||||||
floats["0x3D23D70A"] = "0.04"
|
|
||||||
floats["0xC4548000"] = "-850.0"
|
|
||||||
floats["0x45034000"] = "2100.0"
|
|
||||||
floats["0xBC23D70A"] = "-0.01"
|
|
||||||
floats["0x3C23D70A"] = "0.01"
|
|
||||||
floats["0x3CCCCCCD"] = "0.025"
|
|
||||||
floats["0xBCF5C28F"] = "-0.03"
|
|
||||||
floats["0x3FE1307A"] = "1.75929188728"
|
|
||||||
floats["0x3FA4DEEC"] = "1.28805303574"
|
|
||||||
floats["0xBF20D97B"] = "-0.628318488598"
|
|
||||||
floats["0x3EF1463A"] = "0.471238911152"
|
|
||||||
floats["0x3F333334"] = "0.700000047684"
|
|
||||||
floats["0x407FEF9E"] = "3.99900007248"
|
|
||||||
floats["0x3FF33333"] = "1.9"
|
|
||||||
floats["0x3F666666"] = "0.9"
|
|
||||||
floats["0x44A8C000"] = "1350.0"
|
|
||||||
floats["0x44898000"] = "1100.0"
|
|
||||||
floats["0x40C8F5C3"] = "6.28"
|
|
||||||
floats["0x48742400"] = "250000.0"
|
|
||||||
floats["0xBF060A92"] = "-0.523598790169"
|
|
||||||
floats["0x3C888889"] = "0.0166666675359"
|
|
||||||
floats["0x3F4CCCCD"] = "0.8"
|
|
||||||
floats["0x3FFFDF3B"] = "1.99899995327"
|
|
||||||
floats["0x3A031270"] = "0.000500000081956"
|
|
||||||
floats["0x3F99999A"] = "1.2"
|
|
||||||
floats["0x471C4000"] = "40000.0"
|
|
||||||
floats["0x45992000"] = "4900.0"
|
|
||||||
floats["0x461C4000"] = "10000.0"
|
|
||||||
floats["0x3E19999A"] = "0.15"
|
|
||||||
floats["0x448FC000"] = "1150.0"
|
|
||||||
floats["0x3727C5AC"] = "9.99999974738e-06"
|
|
||||||
floats["0x358637BD"] = "9.99999997475e-07"
|
|
||||||
floats["0xBF99999A"] = "-1.2"
|
|
||||||
floats["0x3F8CCCCD"] = "1.1"
|
|
||||||
floats["0x40066666"] = "2.1"
|
|
||||||
floats["0x3ECCCCCD"] = "0.4"
|
|
||||||
floats["0x44A28000"] = "1300.0"
|
|
||||||
floats["0x3CF5C28F"] = "0.03"
|
|
||||||
floats["0x43A6AAAB"] = "333.333343506"
|
|
||||||
floats["0x3BA3D70A"] = "0.005"
|
|
||||||
floats["0x3C03126F"] = "0.008"
|
|
||||||
floats["0x459C4000"] = "5000.0"
|
|
||||||
floats["0x3FAAAAA8"] = "1.33333301544"
|
|
||||||
floats["0x3FD9999A"] = "1.7"
|
|
||||||
floats["0x45DAC000"] = "7000.0"
|
|
||||||
floats["0x4016CBE4"] = "2.35619449615"
|
|
||||||
floats["0x49095440"] = "562500.0"
|
|
||||||
floats["0x45BB8000"] = "6000.0"
|
|
||||||
floats["0x3FB33333"] = "1.4"
|
|
||||||
floats["0x3C134ACB"] = "0.00899"
|
|
||||||
floats["0x458CA000"] = "4500.0"
|
|
||||||
floats["0x3FA66666"] = "1.3"
|
|
||||||
floats["0xBF4CCCCD"] = "-0.8"
|
|
||||||
floats["0xBF666666"] = "-0.9"
|
|
||||||
floats["0xBF59999A"] = "-0.85"
|
|
||||||
floats["0x3FFEB852"] = "1.99000000954"
|
|
||||||
floats["0x404CCCCD"] = "3.2"
|
|
||||||
floats["0xBB449BA6"] = "-0.003"
|
|
||||||
floats["0x3D99999A"] = "0.075"
|
|
||||||
floats["0x3D0F5C29"] = "0.035"
|
|
||||||
floats["0xBFC90FDB"] = "-1.57079637051"
|
|
||||||
floats["0xB8D1B717"] = "-9.99999974738e-05"
|
|
||||||
floats["0x3B59E83E"] = "0.003325"
|
|
||||||
floats["0x3B9BA5E3"] = "0.00475"
|
|
||||||
floats["0x3AC49BA6"] = "0.0015"
|
|
||||||
floats["0x3CA3D70B"] = "0.0200000014156"
|
|
||||||
floats["0x4316199A"] = "150.1"
|
|
||||||
floats["0x3FD5DCA8"] = "1.67079639435"
|
|
||||||
floats["0xB8C90FDB"] = "-9.58738019108e-05"
|
|
||||||
floats["0x3B6BEDFA"] = "0.0036"
|
|
||||||
floats["0x3DF5C28F"] = "0.12"
|
|
||||||
floats["0x3B30F27C"] = "0.0027"
|
|
||||||
floats["0xC3E28000"] = "-453.0"
|
|
||||||
floats["0xC4DC2000"] = "-1761.0"
|
|
||||||
floats["0x449FC000"] = "1278.0"
|
|
||||||
def try_text(text_bytes):
|
def try_text(text_bytes):
|
||||||
bad_bytes = 0
|
bad_bytes = 0
|
||||||
for byte in text_bytes:
|
for byte in text_bytes:
|
||||||
|
@ -156,8 +41,6 @@ def is_zeros(stuff):
|
||||||
|
|
||||||
|
|
||||||
def try_float(word):
|
def try_float(word):
|
||||||
if (word in floats):
|
|
||||||
return floats[word]
|
|
||||||
if (word[:3] == "0x3") or (word[:3] == "0x4") or \
|
if (word[:3] == "0x3") or (word[:3] == "0x4") or \
|
||||||
(word[:3] == "0xB") or (word[:3] == "0xC"):
|
(word[:3] == "0xB") or (word[:3] == "0xC"):
|
||||||
return struct.unpack('!f', bytes.fromhex(word[2:10]))[0]
|
return struct.unpack('!f', bytes.fromhex(word[2:10]))[0]
|
||||||
|
|
129
tools/gen_mips_to_c_context.py
Normal file
129
tools/gen_mips_to_c_context.py
Normal file
|
@ -0,0 +1,129 @@
|
||||||
|
#!/usr/bin/python3
|
||||||
|
|
||||||
|
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 + "/../"
|
||||||
|
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):
|
||||||
|
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)
|
||||||
|
|
||||||
|
try:
|
||||||
|
return subprocess.check_output(cpp_command, cwd=root_dir, encoding="utf-8")
|
||||||
|
except subprocess.CalledProcessError:
|
||||||
|
print(
|
||||||
|
"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)
|
||||||
|
|
||||||
|
|
||||||
|
def get_c_file(dir):
|
||||||
|
for root, dirs, files in os.walk(dir):
|
||||||
|
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)
|
||||||
|
|
||||||
|
with open(os.path.join(build_dir, "ctx.c"), "w") as f:
|
||||||
|
f.write(output)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
main()
|
|
@ -1,3 +1,5 @@
|
||||||
|
#!/usr/bin/env python3
|
||||||
|
|
||||||
import struct
|
import struct
|
||||||
|
|
||||||
T_DEFAULT = ''
|
T_DEFAULT = ''
|
||||||
|
@ -8,7 +10,7 @@ TYPE_ENUM = [
|
||||||
"COLTYPE_UNK0",
|
"COLTYPE_UNK0",
|
||||||
"COLTYPE_UNK1",
|
"COLTYPE_UNK1",
|
||||||
"COLTYPE_UNK2",
|
"COLTYPE_UNK2",
|
||||||
"COLTYPE_UNK3",
|
"COLTYPE_UNK3",
|
||||||
"COLTYPE_UNK4",
|
"COLTYPE_UNK4",
|
||||||
"COLTYPE_UNK5",
|
"COLTYPE_UNK5",
|
||||||
"COLTYPE_UNK6",
|
"COLTYPE_UNK6",
|
||||||
|
@ -17,14 +19,14 @@ TYPE_ENUM = [
|
||||||
"COLTYPE_METAL_SHIELD",
|
"COLTYPE_METAL_SHIELD",
|
||||||
"COLTYPE_UNK10",
|
"COLTYPE_UNK10",
|
||||||
"COLTYPE_WOODEN_SHIELD",
|
"COLTYPE_WOODEN_SHIELD",
|
||||||
"COLTYPE_UNK12",
|
"COLTYPE_UNK12",
|
||||||
"COLTYPE_UNK13" ]
|
"COLTYPE_UNK13" ]
|
||||||
|
|
||||||
SHAPE_ENUM = [
|
SHAPE_ENUM = [
|
||||||
"COLSHAPE_JNTSPH",
|
"COLSHAPE_JNTSPH",
|
||||||
"COLSHAPE_CYLINDER",
|
"COLSHAPE_CYLINDER",
|
||||||
"COLSHAPE_TRIS",
|
"COLSHAPE_TRIS",
|
||||||
"COLSHAPE_QUAD" ]
|
"COLSHAPE_QUAD" ]
|
||||||
|
|
||||||
sf_ColliderInit = ">BBBBBB"
|
sf_ColliderInit = ">BBBBBB"
|
||||||
sf_ColliderInit_Set3 = ">BBBBB"
|
sf_ColliderInit_Set3 = ">BBBBB"
|
||||||
|
@ -40,7 +42,7 @@ sf_Quad = ">12f"
|
||||||
f_ColliderInit = "{{ {0}, 0x{1:02X}, 0x{2:02X}, 0x{3:02X}, 0x{4:02X}, {5} }}"
|
f_ColliderInit = "{{ {0}, 0x{1:02X}, 0x{2:02X}, 0x{3:02X}, 0x{4:02X}, {5} }}"
|
||||||
f_ColliderInit_Set3 = "{{ {0}, 0x{1:02X}, 0x{2:02X}, 0x{3:02X}, {4} }}"
|
f_ColliderInit_Set3 = "{{ {0}, 0x{1:02X}, 0x{2:02X}, 0x{3:02X}, {4} }}"
|
||||||
f_ColliderInit_Actor = "{{ {0}, 0x{1:02X}, 0x{2:02X}, 0x{3:02X}, {4} }}"
|
f_ColliderInit_Actor = "{{ {0}, 0x{1:02X}, 0x{2:02X}, 0x{3:02X}, {4} }}"
|
||||||
f_ColliderBodyInit = "{{ 0x{0:02X}, {{ 0x{1:08X}, 0x{2:02X}, 0x{3:02X} }}, {{ 0x{4:08X}, 0x{5:02X}, 0x{6:02X} }}, 0x{7:02X} 0x{8:02X} 0x{9:02X} }}"
|
f_ColliderBodyInit = "{{ 0x{0:02X}, {{ 0x{1:08X}, 0x{2:02X}, 0x{3:02X} }}, {{ 0x{4:08X}, 0x{5:02X}, 0x{6:02X} }}, 0x{7:02X}, 0x{8:02X}, 0x{9:02X} }}"
|
||||||
f_JntSph = "{{ {0}, D_{1:08X} }}"
|
f_JntSph = "{{ {0}, D_{1:08X} }}"
|
||||||
f_JntSphItem = "{{ {0}, {{ {{ {1}, {2}, {3} }}, {4} }}, {5} }}"
|
f_JntSphItem = "{{ {0}, {{ {{ {1}, {2}, {3} }}, {4} }}, {5} }}"
|
||||||
f_Cylinder16 = "{{ {0}, {1}, {2}, {{ {3}, {4}, {5} }} }}"
|
f_Cylinder16 = "{{ {0}, {1}, {2}, {{ {3}, {4}, {5} }} }}"
|
||||||
|
@ -56,7 +58,7 @@ def GetColliderFormat(type):
|
||||||
if type == T_ACTOR:
|
if type == T_ACTOR:
|
||||||
return (sf_ColliderInit_Actor, f_ColliderInit_Actor)
|
return (sf_ColliderInit_Actor, f_ColliderInit_Actor)
|
||||||
return None
|
return None
|
||||||
|
|
||||||
def GetColliderStr(data, off, type):
|
def GetColliderStr(data, off, type):
|
||||||
cf = GetColliderFormat(type)
|
cf = GetColliderFormat(type)
|
||||||
cBase = list(struct.unpack_from(cf[0], data, off))
|
cBase = list(struct.unpack_from(cf[0], data, off))
|
||||||
|
@ -70,16 +72,16 @@ def GetColliderStr(data, off, type):
|
||||||
cBase[0] = TYPE_ENUM[cBase[0]]
|
cBase[0] = TYPE_ENUM[cBase[0]]
|
||||||
else:
|
else:
|
||||||
cBase[0] = '0x{0:02X}'.format(cBase[0])
|
cBase[0] = '0x{0:02X}'.format(cBase[0])
|
||||||
|
|
||||||
i = 4
|
i = 4
|
||||||
if type == T_DEFAULT:
|
if type == T_DEFAULT:
|
||||||
i = 5
|
i = 5
|
||||||
|
|
||||||
if cBase[i] < 4:
|
if cBase[i] < 4:
|
||||||
cBase[i] = SHAPE_ENUM[cBase[i]]
|
cBase[i] = SHAPE_ENUM[cBase[i]]
|
||||||
else:
|
else:
|
||||||
cBase[i] = '0x{0:02X}'.format(cBase[i])
|
cBase[i] = '0x{0:02X}'.format(cBase[i])
|
||||||
|
|
||||||
return cf[1].format(*cBase);
|
return cf[1].format(*cBase);
|
||||||
|
|
||||||
def GetItems(data, off, count, structf, fmt, size):
|
def GetItems(data, off, count, structf, fmt, size):
|
||||||
|
@ -94,7 +96,7 @@ def GetItems(data, off, count, structf, fmt, size):
|
||||||
{1},
|
{1},
|
||||||
}},'''.format(f_ColliderBodyInit.format(*cBody), fmt.format(*cItem))
|
}},'''.format(f_ColliderBodyInit.format(*cBody), fmt.format(*cItem))
|
||||||
return result
|
return result
|
||||||
|
|
||||||
def GetJntSphItems(data, off, count):
|
def GetJntSphItems(data, off, count):
|
||||||
items = GetItems(data, off, count, sf_JntSphItem, f_JntSphItem, 0x0C)
|
items = GetItems(data, off, count, sf_JntSphItem, f_JntSphItem, 0x0C)
|
||||||
print('''
|
print('''
|
||||||
|
@ -105,7 +107,7 @@ ColliderJntSphItemInit jntsphItemsInit[{0}] = {{{1}
|
||||||
def GetJntSph(data, off, type):
|
def GetJntSph(data, off, type):
|
||||||
sBase = GetColliderStr(data, off, type)
|
sBase = GetColliderStr(data, off, type)
|
||||||
cJntSph = struct.unpack_from(sf_JntSph, data, off + 8)
|
cJntSph = struct.unpack_from(sf_JntSph, data, off + 8)
|
||||||
|
|
||||||
print('''
|
print('''
|
||||||
ColliderJntSphInit{0} jntsphInit =
|
ColliderJntSphInit{0} jntsphInit =
|
||||||
{{
|
{{
|
||||||
|
@ -121,13 +123,13 @@ def GetTrisItems(data, off, count):
|
||||||
ColliderTrisItemInit trisItemsInit[{0}] = {{{1}
|
ColliderTrisItemInit trisItemsInit[{0}] = {{{1}
|
||||||
}};
|
}};
|
||||||
'''.format(count, items))
|
'''.format(count, items))
|
||||||
|
|
||||||
|
|
||||||
def GetCylinder(data, off, type):
|
def GetCylinder(data, off, type):
|
||||||
sBase = GetColliderStr(data, off, type)
|
sBase = GetColliderStr(data, off, type)
|
||||||
cBody = struct.unpack_from(sf_ColliderBodyInit, data, off + 0x08)
|
cBody = struct.unpack_from(sf_ColliderBodyInit, data, off + 0x08)
|
||||||
cCyl16 = struct.unpack_from(sf_Cylinder16, data, off + 0x20)
|
cCyl16 = struct.unpack_from(sf_Cylinder16, data, off + 0x20)
|
||||||
|
|
||||||
print('''
|
print('''
|
||||||
ColliderCylinderInit{0} cylinderInit =
|
ColliderCylinderInit{0} cylinderInit =
|
||||||
{{
|
{{
|
||||||
|
@ -136,11 +138,11 @@ ColliderCylinderInit{0} cylinderInit =
|
||||||
{3},
|
{3},
|
||||||
}};
|
}};
|
||||||
'''.format(type, sBase, f_ColliderBodyInit.format(*cBody),f_Cylinder16.format(*cCyl16)))
|
'''.format(type, sBase, f_ColliderBodyInit.format(*cBody),f_Cylinder16.format(*cCyl16)))
|
||||||
|
|
||||||
def GetTris(data, off, type):
|
def GetTris(data, off, type):
|
||||||
sBase = GetColliderStr(data, off, type)
|
sBase = GetColliderStr(data, off, type)
|
||||||
cTris = struct.unpack_from(sf_Tris, data, off + 8)
|
cTris = struct.unpack_from(sf_Tris, data, off + 8)
|
||||||
|
|
||||||
print('''
|
print('''
|
||||||
ColliderTrisInit{0} trisInit =
|
ColliderTrisInit{0} trisInit =
|
||||||
{{
|
{{
|
||||||
|
@ -164,8 +166,8 @@ ColliderQuadInit{0} quadInit =
|
||||||
'''.format(type, sBase, f_ColliderBodyInit.format(*cBody), f_Quad.format(*cQuad)))
|
'''.format(type, sBase, f_ColliderBodyInit.format(*cBody), f_Quad.format(*cQuad)))
|
||||||
|
|
||||||
TYPE_DICT = {
|
TYPE_DICT = {
|
||||||
'ColliderJntSphInit' : (GetCylinder, 'Shape', T_DEFAULT),
|
'ColliderJntSphInit' : (GetJntSph, 'Shape', T_DEFAULT),
|
||||||
'ColliderCylinderInit' : (GetJntSph, 'Shape', T_DEFAULT),
|
'ColliderCylinderInit' : (GetCylinder, 'Shape', T_DEFAULT),
|
||||||
'ColliderTrisInit': (GetTris, 'Shape', T_DEFAULT),
|
'ColliderTrisInit': (GetTris, 'Shape', T_DEFAULT),
|
||||||
'ColliderQuadInit': (GetQuad, 'Shape', T_DEFAULT),
|
'ColliderQuadInit': (GetQuad, 'Shape', T_DEFAULT),
|
||||||
'ColliderJntSphItemInit' : (GetJntSphItems, 'Item'),
|
'ColliderJntSphItemInit' : (GetJntSphItems, 'Item'),
|
||||||
|
|
|
@ -219,6 +219,11 @@ D_060074EC = 0x060074EC;
|
||||||
D_060038FC = 0x060038FC;
|
D_060038FC = 0x060038FC;
|
||||||
D_06002590 = 0x06002590;
|
D_06002590 = 0x06002590;
|
||||||
|
|
||||||
|
// z_en_ma1
|
||||||
|
D_06000820 = 0x06000820;
|
||||||
|
D_06008460 = 0x06008460;
|
||||||
|
D_06008D64 = 0x06008D64;
|
||||||
|
|
||||||
// z_en_ms
|
// z_en_ms
|
||||||
D_060005EC = 0x060005EC;
|
D_060005EC = 0x060005EC;
|
||||||
D_06003DC0 = 0x06003DC0;
|
D_06003DC0 = 0x06003DC0;
|
||||||
|
|
Loading…
Reference in a new issue