From d58983494c33d02838dc0aa6647dbe1c9fc5274b Mon Sep 17 00:00:00 2001 From: Ethan Roseman Date: Mon, 27 Apr 2020 01:47:35 -0400 Subject: [PATCH] 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> --- .../actors/ovl_En_Ma1/EnMa1_Destroy.s | 16 - .../overlays/actors/ovl_En_Ma1/EnMa1_Draw.s | 107 ----- .../overlays/actors/ovl_En_Ma1/EnMa1_Init.s | 101 ----- .../overlays/actors/ovl_En_Ma1/EnMa1_Update.s | 63 --- .../actors/ovl_En_Ma1/func_80AA0690.s | 69 --- .../actors/ovl_En_Ma1/func_80AA0778.s | 145 ------ .../actors/ovl_En_Ma1/func_80AA08C4.s | 97 ---- .../actors/ovl_En_Ma1/func_80AA0A0C.s | 35 -- .../actors/ovl_En_Ma1/func_80AA0A84.s | 31 -- .../actors/ovl_En_Ma1/func_80AA0AF4.s | 34 -- .../actors/ovl_En_Ma1/func_80AA0B74.s | 33 -- .../actors/ovl_En_Ma1/func_80AA0D88.s | 78 ---- .../actors/ovl_En_Ma1/func_80AA0EA0.s | 26 -- .../actors/ovl_En_Ma1/func_80AA0EFC.s | 20 - .../actors/ovl_En_Ma1/func_80AA0F44.s | 80 ---- .../actors/ovl_En_Ma1/func_80AA106C.s | 34 -- .../actors/ovl_En_Ma1/func_80AA10EC.s | 27 -- .../actors/ovl_En_Ma1/func_80AA1150.s | 32 -- .../actors/ovl_En_Ma1/func_80AA11C8.s | 4 - .../actors/ovl_En_Ma1/func_80AA12BC.s | 118 ----- .../actors/ovl_En_Ma1/func_80AA1448.s | 25 - data/overlays/actors/z_en_ma1.data.s | 28 -- data/overlays/actors/z_en_ma1.reloc.s | 11 - include/functions.h | 2 + include/z64.h | 17 +- include/z64actor.h | 3 +- spec | 3 +- src/overlays/actors/ovl_En_Ma1/z_en_ma1.c | 428 +++++++++++++++++- src/overlays/actors/ovl_En_Ma1/z_en_ma1.h | 9 +- src/overlays/actors/ovl_En_Ru1/z_en_ru1.h | 1 - tools/decompile_data.py | 117 ----- tools/gen_mips_to_c_context.py | 129 ++++++ tools/overlayhelpers/GenColliderInit.py | 36 +- undefined_syms.txt | 5 + 34 files changed, 585 insertions(+), 1379 deletions(-) delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Ma1/EnMa1_Destroy.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Ma1/EnMa1_Draw.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Ma1/EnMa1_Init.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Ma1/EnMa1_Update.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Ma1/func_80AA0690.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Ma1/func_80AA0778.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Ma1/func_80AA08C4.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Ma1/func_80AA0A0C.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Ma1/func_80AA0A84.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Ma1/func_80AA0AF4.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Ma1/func_80AA0B74.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Ma1/func_80AA0D88.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Ma1/func_80AA0EA0.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Ma1/func_80AA0EFC.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Ma1/func_80AA0F44.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Ma1/func_80AA106C.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Ma1/func_80AA10EC.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Ma1/func_80AA1150.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Ma1/func_80AA11C8.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Ma1/func_80AA12BC.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Ma1/func_80AA1448.s delete mode 100644 data/overlays/actors/z_en_ma1.data.s delete mode 100644 data/overlays/actors/z_en_ma1.reloc.s create mode 100644 tools/gen_mips_to_c_context.py diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ma1/EnMa1_Destroy.s b/asm/non_matchings/overlays/actors/ovl_En_Ma1/EnMa1_Destroy.s deleted file mode 100644 index 95a515d378..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Ma1/EnMa1_Destroy.s +++ /dev/null @@ -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 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ma1/EnMa1_Draw.s b/asm/non_matchings/overlays/actors/ovl_En_Ma1/EnMa1_Draw.s deleted file mode 100644 index 45ef7d8081..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Ma1/EnMa1_Draw.s +++ /dev/null @@ -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 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ma1/EnMa1_Init.s b/asm/non_matchings/overlays/actors/ovl_En_Ma1/EnMa1_Init.s deleted file mode 100644 index 4a4ef22106..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Ma1/EnMa1_Init.s +++ /dev/null @@ -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 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ma1/EnMa1_Update.s b/asm/non_matchings/overlays/actors/ovl_En_Ma1/EnMa1_Update.s deleted file mode 100644 index 55d3201ba2..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Ma1/EnMa1_Update.s +++ /dev/null @@ -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 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ma1/func_80AA0690.s b/asm/non_matchings/overlays/actors/ovl_En_Ma1/func_80AA0690.s deleted file mode 100644 index 8c58a84b63..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Ma1/func_80AA0690.s +++ /dev/null @@ -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 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ma1/func_80AA0778.s b/asm/non_matchings/overlays/actors/ovl_En_Ma1/func_80AA0778.s deleted file mode 100644 index b8b42ec9cd..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Ma1/func_80AA0778.s +++ /dev/null @@ -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 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ma1/func_80AA08C4.s b/asm/non_matchings/overlays/actors/ovl_En_Ma1/func_80AA08C4.s deleted file mode 100644 index 63d9c72757..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Ma1/func_80AA08C4.s +++ /dev/null @@ -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 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ma1/func_80AA0A0C.s b/asm/non_matchings/overlays/actors/ovl_En_Ma1/func_80AA0A0C.s deleted file mode 100644 index 034d89b290..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Ma1/func_80AA0A0C.s +++ /dev/null @@ -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 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ma1/func_80AA0A84.s b/asm/non_matchings/overlays/actors/ovl_En_Ma1/func_80AA0A84.s deleted file mode 100644 index b18ccbc4b7..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Ma1/func_80AA0A84.s +++ /dev/null @@ -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 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ma1/func_80AA0AF4.s b/asm/non_matchings/overlays/actors/ovl_En_Ma1/func_80AA0AF4.s deleted file mode 100644 index 8e4c238363..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Ma1/func_80AA0AF4.s +++ /dev/null @@ -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 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ma1/func_80AA0B74.s b/asm/non_matchings/overlays/actors/ovl_En_Ma1/func_80AA0B74.s deleted file mode 100644 index bf4a8384a1..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Ma1/func_80AA0B74.s +++ /dev/null @@ -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 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ma1/func_80AA0D88.s b/asm/non_matchings/overlays/actors/ovl_En_Ma1/func_80AA0D88.s deleted file mode 100644 index 4e7a5bdf2e..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Ma1/func_80AA0D88.s +++ /dev/null @@ -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 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ma1/func_80AA0EA0.s b/asm/non_matchings/overlays/actors/ovl_En_Ma1/func_80AA0EA0.s deleted file mode 100644 index b8c27d0798..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Ma1/func_80AA0EA0.s +++ /dev/null @@ -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 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ma1/func_80AA0EFC.s b/asm/non_matchings/overlays/actors/ovl_En_Ma1/func_80AA0EFC.s deleted file mode 100644 index e022c02c86..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Ma1/func_80AA0EFC.s +++ /dev/null @@ -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 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ma1/func_80AA0F44.s b/asm/non_matchings/overlays/actors/ovl_En_Ma1/func_80AA0F44.s deleted file mode 100644 index 17300d1c23..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Ma1/func_80AA0F44.s +++ /dev/null @@ -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 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ma1/func_80AA106C.s b/asm/non_matchings/overlays/actors/ovl_En_Ma1/func_80AA106C.s deleted file mode 100644 index 6a083f55c9..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Ma1/func_80AA106C.s +++ /dev/null @@ -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 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ma1/func_80AA10EC.s b/asm/non_matchings/overlays/actors/ovl_En_Ma1/func_80AA10EC.s deleted file mode 100644 index 56506841eb..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Ma1/func_80AA10EC.s +++ /dev/null @@ -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 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ma1/func_80AA1150.s b/asm/non_matchings/overlays/actors/ovl_En_Ma1/func_80AA1150.s deleted file mode 100644 index 15b28dc145..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Ma1/func_80AA1150.s +++ /dev/null @@ -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 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ma1/func_80AA11C8.s b/asm/non_matchings/overlays/actors/ovl_En_Ma1/func_80AA11C8.s deleted file mode 100644 index 85ec709899..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Ma1/func_80AA11C8.s +++ /dev/null @@ -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) diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ma1/func_80AA12BC.s b/asm/non_matchings/overlays/actors/ovl_En_Ma1/func_80AA12BC.s deleted file mode 100644 index 74ace6cd58..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Ma1/func_80AA12BC.s +++ /dev/null @@ -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 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ma1/func_80AA1448.s b/asm/non_matchings/overlays/actors/ovl_En_Ma1/func_80AA1448.s deleted file mode 100644 index a456d95a59..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Ma1/func_80AA1448.s +++ /dev/null @@ -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 diff --git a/data/overlays/actors/z_en_ma1.data.s b/data/overlays/actors/z_en_ma1.data.s deleted file mode 100644 index 03181d8ff7..0000000000 --- a/data/overlays/actors/z_en_ma1.data.s +++ /dev/null @@ -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 - diff --git a/data/overlays/actors/z_en_ma1.reloc.s b/data/overlays/actors/z_en_ma1.reloc.s deleted file mode 100644 index 678c957783..0000000000 --- a/data/overlays/actors/z_en_ma1.reloc.s +++ /dev/null @@ -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 diff --git a/include/functions.h b/include/functions.h index 0b155d35cf..668ffdf196 100644 --- a/include/functions.h +++ b/include/functions.h @@ -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*), s16 (*unkFunc2)(GlobalContext*, Actor*)); 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, PostLimbDraw2 postLimbDraw, Actor* actor, s16 alpha); void func_80034CC4(GlobalContext* globalCtx, SkelAnime* skelAnime, OverrideLimbDraw2 overrideLimbDraw, @@ -2154,6 +2155,7 @@ void func_800F59E8(u16); // ? func_800F5CF8(?); // ? func_800F5E18(?); // ? func_800F5E90(?); +void func_800F6268(f32, UNK_TYPE); // ? func_800F64E0(?); // ? func_800F66C0(?); // ? func_800F6700(?); diff --git a/include/z64.h b/include/z64.h index fd6361f84f..482ed69209 100644 --- a/include/z64.h +++ b/include/z64.h @@ -604,9 +604,11 @@ typedef struct { /* 0xE3E2 */ u16 unk_E3E2; /* 0xE3E4 */ u8 unk_E3E4; /* 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_E3F0; + /* 0xE3F0 */ u16 unk_E3F0; /* 0xE3F2 */ char unk_E3F2[0x02]; /* 0xE3F4 */ u16 unk_E3F4; /* 0xE3F6 */ char unk_E3F6[0x16]; @@ -1129,6 +1131,14 @@ typedef struct { /* 0x14 */ f32 transitionRate; } 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 { /* 0x00 */ s16 unk_00; /* 0x02 */ s16 unk_02; @@ -1138,6 +1148,7 @@ typedef struct { /* 0x0E */ Vec3s unk_0E; /* 0x14 */ f32 unk_14; /* 0x18 */ Vec3f unk_18; + /* 0x24 */ char unk_24[0x4]; } struct_80034A14_arg1; typedef struct { @@ -1577,7 +1588,7 @@ typedef struct { /* 0xB4 */ JpegWork* workBuf; } JpegContext; // size = 0xB8 -typedef struct { +typedef struct { /* 0x00 */ char unk_00[0x08]; /* 0x08 */ Color_RGBA8 color; /* 0x0C */ char unk_0C[0x0C]; diff --git a/include/z64actor.h b/include/z64actor.h index 5b5c77f56c..b0d22ba82f 100644 --- a/include/z64actor.h +++ b/include/z64actor.h @@ -250,7 +250,8 @@ typedef struct { /* 0x0698 */ f32 unk_698; /* 0x069C */ char unk_69C[0x008]; /* 0x06A4 */ f32 unk_6A4; - /* 0x06A8 */ char unk_6A8[0x5]; + /* 0x06A8 */ Actor* unk_6A8; + /* 0x06AC */ char unk_6AC[0x001]; /* 0x06AD */ u8 unk_6AD; /* 0x06AE */ char unk_6AE[0x1A]; /* 0x06C8 */ SkelAnime skelAnime2; diff --git a/spec b/spec index 08b9e7f932..ceb51bd44e 100644 --- a/spec +++ b/spec @@ -2916,8 +2916,7 @@ endseg beginseg name "ovl_En_Ma1" include "build/src/overlays/actors/ovl_En_Ma1/z_en_ma1.o" - include "build/data/overlays/actors/z_en_ma1.data.o" - include "build/data/overlays/actors/z_en_ma1.reloc.o" + include "build/src/overlays/actors/ovl_En_Ma1/z_en_ma1_reloc.o" endseg beginseg diff --git a/src/overlays/actors/ovl_En_Ma1/z_en_ma1.c b/src/overlays/actors/ovl_En_Ma1/z_en_ma1.c index 7acb4e94f1..3e8a9e5ab2 100644 --- a/src/overlays/actors/ovl_En_Ma1/z_en_ma1.c +++ b/src/overlays/actors/ovl_En_Ma1/z_en_ma1.c @@ -1,3 +1,9 @@ +/* + * File: z_en_ma1.c + * Overlay: En_Ma1 + * Description: + */ + #include "z_en_ma1.h" #define FLAGS 0x02000039 @@ -7,7 +13,18 @@ void EnMa1_Destroy(EnMa1* this, GlobalContext* globalCtx); void EnMa1_Update(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 = { ACTOR_EN_MA1, ACTORTYPE_NPC, @@ -19,45 +36,410 @@ const ActorInit En_Ma1_InitVars = { (ActorFunc)EnMa1_Update, (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); +} diff --git a/src/overlays/actors/ovl_En_Ma1/z_en_ma1.h b/src/overlays/actors/ovl_En_Ma1/z_en_ma1.h index 16d1c5aead..9d46f9fa03 100644 --- a/src/overlays/actors/ovl_En_Ma1/z_en_ma1.h +++ b/src/overlays/actors/ovl_En_Ma1/z_en_ma1.h @@ -6,7 +6,14 @@ typedef struct { /* 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 extern const ActorInit En_Ma1_InitVars; diff --git a/src/overlays/actors/ovl_En_Ru1/z_en_ru1.h b/src/overlays/actors/ovl_En_Ru1/z_en_ru1.h index dbabf46a10..8c334aee4a 100644 --- a/src/overlays/actors/ovl_En_Ru1/z_en_ru1.h +++ b/src/overlays/actors/ovl_En_Ru1/z_en_ru1.h @@ -52,7 +52,6 @@ typedef struct { /* 0x0364 */ Vec3f unk_364; /* 0x0370 */ f32 unk_370; /* 0x0374 */ struct_80034A14_arg1 unk_374; - /* 0x0398 */ char unk_398[0x4]; // probably belongs to previous struct } EnRu1; // size = 0x039C extern const ActorInit En_Ru1_InitVars; diff --git a/tools/decompile_data.py b/tools/decompile_data.py index e5d98d2168..7fdc0cc231 100755 --- a/tools/decompile_data.py +++ b/tools/decompile_data.py @@ -10,121 +10,6 @@ root_dir = script_dir + "/../" data_dir = root_dir + "data/" 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): bad_bytes = 0 for byte in text_bytes: @@ -156,8 +41,6 @@ def is_zeros(stuff): def try_float(word): - if (word in floats): - return floats[word] if (word[:3] == "0x3") or (word[:3] == "0x4") or \ (word[:3] == "0xB") or (word[:3] == "0xC"): return struct.unpack('!f', bytes.fromhex(word[2:10]))[0] diff --git a/tools/gen_mips_to_c_context.py b/tools/gen_mips_to_c_context.py new file mode 100644 index 0000000000..fa9bcd646d --- /dev/null +++ b/tools/gen_mips_to_c_context.py @@ -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() diff --git a/tools/overlayhelpers/GenColliderInit.py b/tools/overlayhelpers/GenColliderInit.py index 8b854060ab..141a04aa65 100644 --- a/tools/overlayhelpers/GenColliderInit.py +++ b/tools/overlayhelpers/GenColliderInit.py @@ -1,3 +1,5 @@ +#!/usr/bin/env python3 + import struct T_DEFAULT = '' @@ -8,7 +10,7 @@ TYPE_ENUM = [ "COLTYPE_UNK0", "COLTYPE_UNK1", "COLTYPE_UNK2", - "COLTYPE_UNK3", + "COLTYPE_UNK3", "COLTYPE_UNK4", "COLTYPE_UNK5", "COLTYPE_UNK6", @@ -17,14 +19,14 @@ TYPE_ENUM = [ "COLTYPE_METAL_SHIELD", "COLTYPE_UNK10", "COLTYPE_WOODEN_SHIELD", - "COLTYPE_UNK12", + "COLTYPE_UNK12", "COLTYPE_UNK13" ] -SHAPE_ENUM = [ +SHAPE_ENUM = [ "COLSHAPE_JNTSPH", "COLSHAPE_CYLINDER", "COLSHAPE_TRIS", - "COLSHAPE_QUAD" ] + "COLSHAPE_QUAD" ] sf_ColliderInit = ">BBBBBB" 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_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_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_JntSphItem = "{{ {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: return (sf_ColliderInit_Actor, f_ColliderInit_Actor) return None - + def GetColliderStr(data, off, type): cf = GetColliderFormat(type) cBase = list(struct.unpack_from(cf[0], data, off)) @@ -70,16 +72,16 @@ def GetColliderStr(data, off, type): cBase[0] = TYPE_ENUM[cBase[0]] else: cBase[0] = '0x{0:02X}'.format(cBase[0]) - + i = 4 if type == T_DEFAULT: i = 5 - + if cBase[i] < 4: cBase[i] = SHAPE_ENUM[cBase[i]] else: cBase[i] = '0x{0:02X}'.format(cBase[i]) - + return cf[1].format(*cBase); def GetItems(data, off, count, structf, fmt, size): @@ -94,7 +96,7 @@ def GetItems(data, off, count, structf, fmt, size): {1}, }},'''.format(f_ColliderBodyInit.format(*cBody), fmt.format(*cItem)) return result - + def GetJntSphItems(data, off, count): items = GetItems(data, off, count, sf_JntSphItem, f_JntSphItem, 0x0C) print(''' @@ -105,7 +107,7 @@ ColliderJntSphItemInit jntsphItemsInit[{0}] = {{{1} def GetJntSph(data, off, type): sBase = GetColliderStr(data, off, type) cJntSph = struct.unpack_from(sf_JntSph, data, off + 8) - + print(''' ColliderJntSphInit{0} jntsphInit = {{ @@ -121,13 +123,13 @@ def GetTrisItems(data, off, count): ColliderTrisItemInit trisItemsInit[{0}] = {{{1} }}; '''.format(count, items)) - + def GetCylinder(data, off, type): sBase = GetColliderStr(data, off, type) cBody = struct.unpack_from(sf_ColliderBodyInit, data, off + 0x08) cCyl16 = struct.unpack_from(sf_Cylinder16, data, off + 0x20) - + print(''' ColliderCylinderInit{0} cylinderInit = {{ @@ -136,11 +138,11 @@ ColliderCylinderInit{0} cylinderInit = {3}, }}; '''.format(type, sBase, f_ColliderBodyInit.format(*cBody),f_Cylinder16.format(*cCyl16))) - + def GetTris(data, off, type): sBase = GetColliderStr(data, off, type) cTris = struct.unpack_from(sf_Tris, data, off + 8) - + print(''' ColliderTrisInit{0} trisInit = {{ @@ -164,8 +166,8 @@ ColliderQuadInit{0} quadInit = '''.format(type, sBase, f_ColliderBodyInit.format(*cBody), f_Quad.format(*cQuad))) TYPE_DICT = { - 'ColliderJntSphInit' : (GetCylinder, 'Shape', T_DEFAULT), - 'ColliderCylinderInit' : (GetJntSph, 'Shape', T_DEFAULT), + 'ColliderJntSphInit' : (GetJntSph, 'Shape', T_DEFAULT), + 'ColliderCylinderInit' : (GetCylinder, 'Shape', T_DEFAULT), 'ColliderTrisInit': (GetTris, 'Shape', T_DEFAULT), 'ColliderQuadInit': (GetQuad, 'Shape', T_DEFAULT), 'ColliderJntSphItemInit' : (GetJntSphItems, 'Item'), diff --git a/undefined_syms.txt b/undefined_syms.txt index ead6e07145..126a62c368 100644 --- a/undefined_syms.txt +++ b/undefined_syms.txt @@ -219,6 +219,11 @@ D_060074EC = 0x060074EC; D_060038FC = 0x060038FC; D_06002590 = 0x06002590; +// z_en_ma1 +D_06000820 = 0x06000820; +D_06008460 = 0x06008460; +D_06008D64 = 0x06008D64; + // z_en_ms D_060005EC = 0x060005EC; D_06003DC0 = 0x06003DC0;