From 363d5d419423ce5d047b6564c0d4b1990ad6f52a Mon Sep 17 00:00:00 2001 From: Ethan Roseman Date: Fri, 1 May 2020 06:08:39 -0400 Subject: [PATCH] Decompiled ovl_En_Ma2 (#93) * first steps * some more * fixing merge * more progress * progs * Decompiled ovl_En_Ma1 * newline * Pr suggestion * 2 to go * Makefile machinery work * Updating Jenkinsfile * Initial setup for OSX repo support * Adding ido7 to repo * Makefile reversion * Iniital Dockerfile * iconv fix * Docker stuff * Dun * Fixing stuff * Updating Dockerfile * Update README-OSX.md * Restore functions.h * Formatting * Defining some funcs * Renaming funcs * Removing unnecessary README-OSX * Addressing PR comments --- Dockerfile | 4 +- .../actors/ovl_En_Ma2/EnMa2_Destroy.s | 16 - .../overlays/actors/ovl_En_Ma2/EnMa2_Draw.s | 109 ----- .../overlays/actors/ovl_En_Ma2/EnMa2_Init.s | 121 ------ .../overlays/actors/ovl_En_Ma2/EnMa2_Update.s | 64 --- .../actors/ovl_En_Ma2/func_80AA19A0.s | 44 -- .../actors/ovl_En_Ma2/func_80AA1A38.s | 63 --- .../actors/ovl_En_Ma2/func_80AA1AE4.s | 31 -- .../actors/ovl_En_Ma2/func_80AA1B58.s | 80 ---- .../actors/ovl_En_Ma2/func_80AA1C68.s | 28 -- .../actors/ovl_En_Ma2/func_80AA1CC0.s | 39 -- .../actors/ovl_En_Ma2/func_80AA1D44.s | 31 -- .../actors/ovl_En_Ma2/func_80AA1DB4.s | 38 -- .../actors/ovl_En_Ma2/func_80AA2018.s | 15 - .../actors/ovl_En_Ma2/func_80AA204C.s | 42 -- .../actors/ovl_En_Ma2/func_80AA20E4.s | 62 --- .../actors/ovl_En_Ma2/func_80AA21C8.s | 47 --- .../actors/ovl_En_Ma2/func_80AA2354.s | 166 -------- .../actors/ovl_En_Ma2/func_80AA2590.s | 73 ---- data/overlays/actors/z_en_ma2.data.s | 28 -- data/overlays/actors/z_en_ma2.reloc.s | 11 - include/functions.h | 2 + spec | 3 +- src/overlays/actors/ovl_En_Ma1/z_en_ma1.c | 2 +- src/overlays/actors/ovl_En_Ma2/z_en_ma2.c | 394 +++++++++++++++++- src/overlays/actors/ovl_En_Ma2/z_en_ma2.h | 11 +- tools/overlayhelpers/GenColliderInit.py | 0 undefined_syms.txt | 6 + 28 files changed, 397 insertions(+), 1133 deletions(-) delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Ma2/EnMa2_Destroy.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Ma2/EnMa2_Draw.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Ma2/EnMa2_Init.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Ma2/EnMa2_Update.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Ma2/func_80AA19A0.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Ma2/func_80AA1A38.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Ma2/func_80AA1AE4.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Ma2/func_80AA1B58.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Ma2/func_80AA1C68.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Ma2/func_80AA1CC0.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Ma2/func_80AA1D44.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Ma2/func_80AA1DB4.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Ma2/func_80AA2018.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Ma2/func_80AA204C.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Ma2/func_80AA20E4.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Ma2/func_80AA21C8.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Ma2/func_80AA2354.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Ma2/func_80AA2590.s delete mode 100644 data/overlays/actors/z_en_ma2.data.s delete mode 100644 data/overlays/actors/z_en_ma2.reloc.s mode change 100644 => 100755 tools/overlayhelpers/GenColliderInit.py diff --git a/Dockerfile b/Dockerfile index 6399b3e1fa..d5ee7ee4a7 100644 --- a/Dockerfile +++ b/Dockerfile @@ -9,7 +9,9 @@ RUN apt-get update && \ python3-pip \ wget \ git \ - unzip + unzip \ + vbindiff \ + nano RUN wget \ https://github.com/n64decomp/qemu-irix/releases/download/v2.11-deb/qemu-irix-2.11.0-2169-g32ab296eef_amd64.deb \ diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ma2/EnMa2_Destroy.s b/asm/non_matchings/overlays/actors/ovl_En_Ma2/EnMa2_Destroy.s deleted file mode 100644 index 9dba7e9c5c..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Ma2/EnMa2_Destroy.s +++ /dev/null @@ -1,16 +0,0 @@ -glabel EnMa2_Destroy -/* 00640 80AA1FE0 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00644 80AA1FE4 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00648 80AA1FE8 AFA40018 */ sw $a0, 0x0018($sp) -/* 0064C 80AA1FEC AFA5001C */ sw $a1, 0x001C($sp) -/* 00650 80AA1FF0 0C0295BC */ jal SkelAnime_Free -/* 00654 80AA1FF4 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C -/* 00658 80AA1FF8 8FA50018 */ lw $a1, 0x0018($sp) -/* 0065C 80AA1FFC 8FA4001C */ lw $a0, 0x001C($sp) -/* 00660 80AA2000 0C0170EB */ jal Collider_DestroyCylinder - -/* 00664 80AA2004 24A50194 */ addiu $a1, $a1, 0x0194 ## $a1 = 00000194 -/* 00668 80AA2008 8FBF0014 */ lw $ra, 0x0014($sp) -/* 0066C 80AA200C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00670 80AA2010 03E00008 */ jr $ra -/* 00674 80AA2014 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ma2/EnMa2_Draw.s b/asm/non_matchings/overlays/actors/ovl_En_Ma2/EnMa2_Draw.s deleted file mode 100644 index 29b5ec2d81..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Ma2/EnMa2_Draw.s +++ /dev/null @@ -1,109 +0,0 @@ -.rdata -glabel D_80AA28F0 - .asciz "../z_en_ma2.c" - .balign 4 - -glabel D_80AA2900 - .asciz "../z_en_ma2.c" - .balign 4 - -.text -glabel EnMa2_Draw -/* 00CDC 80AA267C 27BDFF98 */ addiu $sp, $sp, 0xFF98 ## $sp = FFFFFF98 -/* 00CE0 80AA2680 AFB20030 */ sw $s2, 0x0030($sp) -/* 00CE4 80AA2684 00A09025 */ or $s2, $a1, $zero ## $s2 = 00000000 -/* 00CE8 80AA2688 AFBF0034 */ sw $ra, 0x0034($sp) -/* 00CEC 80AA268C AFB1002C */ sw $s1, 0x002C($sp) -/* 00CF0 80AA2690 AFB00028 */ sw $s0, 0x0028($sp) -/* 00CF4 80AA2694 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000 -/* 00CF8 80AA2698 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00CFC 80AA269C 3C0680AA */ lui $a2, %hi(D_80AA28F0) ## $a2 = 80AA0000 -/* 00D00 80AA26A0 24C628F0 */ addiu $a2, $a2, %lo(D_80AA28F0) ## $a2 = 80AA28F0 -/* 00D04 80AA26A4 27A40044 */ addiu $a0, $sp, 0x0044 ## $a0 = FFFFFFDC -/* 00D08 80AA26A8 240703BB */ addiu $a3, $zero, 0x03BB ## $a3 = 000003BB -/* 00D0C 80AA26AC 0C031AB1 */ jal Graph_OpenDisps -/* 00D10 80AA26B0 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000 -/* 00D14 80AA26B4 864E07A0 */ lh $t6, 0x07A0($s2) ## 000007A0 -/* 00D18 80AA26B8 26040024 */ addiu $a0, $s0, 0x0024 ## $a0 = 00000024 -/* 00D1C 80AA26BC 000E7880 */ sll $t7, $t6, 2 -/* 00D20 80AA26C0 024FC021 */ addu $t8, $s2, $t7 -/* 00D24 80AA26C4 8F020790 */ lw $v0, 0x0790($t8) ## 00000790 -/* 00D28 80AA26C8 0C01E00A */ jal Math_Vec3f_DistXZ - -/* 00D2C 80AA26CC 2445005C */ addiu $a1, $v0, 0x005C ## $a1 = 0000005C -/* 00D30 80AA26D0 46000306 */ mov.s $f12, $f0 -/* 00D34 80AA26D4 0C03D89A */ jal func_800F6268 -/* 00D38 80AA26D8 2405002F */ addiu $a1, $zero, 0x002F ## $a1 = 0000002F -/* 00D3C 80AA26DC 0C024F46 */ jal func_80093D18 -/* 00D40 80AA26E0 8E440000 */ lw $a0, 0x0000($s2) ## 00000000 -/* 00D44 80AA26E4 8E2302C0 */ lw $v1, 0x02C0($s1) ## 000002C0 -/* 00D48 80AA26E8 3C08DB06 */ lui $t0, 0xDB06 ## $t0 = DB060000 -/* 00D4C 80AA26EC 35080024 */ ori $t0, $t0, 0x0024 ## $t0 = DB060024 -/* 00D50 80AA26F0 24790008 */ addiu $t9, $v1, 0x0008 ## $t9 = 00000008 -/* 00D54 80AA26F4 AE3902C0 */ sw $t9, 0x02C0($s1) ## 000002C0 -/* 00D58 80AA26F8 AC680000 */ sw $t0, 0x0000($v1) ## 00000000 -/* 00D5C 80AA26FC 86090210 */ lh $t1, 0x0210($s0) ## 00000210 -/* 00D60 80AA2700 3C0480AA */ lui $a0, %hi(D_80AA28B4) ## $a0 = 80AA0000 -/* 00D64 80AA2704 3C068016 */ lui $a2, %hi(gSegments) -/* 00D68 80AA2708 00095080 */ sll $t2, $t1, 2 -/* 00D6C 80AA270C 008A2021 */ addu $a0, $a0, $t2 -/* 00D70 80AA2710 8C8428B4 */ lw $a0, %lo(D_80AA28B4)($a0) -/* 00D74 80AA2714 24C66FA8 */ addiu $a2, %lo(gSegments) -/* 00D78 80AA2718 3C0500FF */ lui $a1, 0x00FF ## $a1 = 00FF0000 -/* 00D7C 80AA271C 00046100 */ sll $t4, $a0, 4 -/* 00D80 80AA2720 000C6F02 */ srl $t5, $t4, 28 -/* 00D84 80AA2724 000D7080 */ sll $t6, $t5, 2 -/* 00D88 80AA2728 00CE7821 */ addu $t7, $a2, $t6 -/* 00D8C 80AA272C 8DF80000 */ lw $t8, 0x0000($t7) ## 00000000 -/* 00D90 80AA2730 34A5FFFF */ ori $a1, $a1, 0xFFFF ## $a1 = 00FFFFFF -/* 00D94 80AA2734 00855824 */ and $t3, $a0, $a1 -/* 00D98 80AA2738 3C078000 */ lui $a3, 0x8000 ## $a3 = 80000000 -/* 00D9C 80AA273C 0178C821 */ addu $t9, $t3, $t8 -/* 00DA0 80AA2740 03274021 */ addu $t0, $t9, $a3 -/* 00DA4 80AA2744 AC680004 */ sw $t0, 0x0004($v1) ## 00000004 -/* 00DA8 80AA2748 8E2302C0 */ lw $v1, 0x02C0($s1) ## 000002C0 -/* 00DAC 80AA274C 3C0ADB06 */ lui $t2, 0xDB06 ## $t2 = DB060000 -/* 00DB0 80AA2750 354A0020 */ ori $t2, $t2, 0x0020 ## $t2 = DB060020 -/* 00DB4 80AA2754 24690008 */ addiu $t1, $v1, 0x0008 ## $t1 = 00000008 -/* 00DB8 80AA2758 AE2902C0 */ sw $t1, 0x02C0($s1) ## 000002C0 -/* 00DBC 80AA275C AC6A0000 */ sw $t2, 0x0000($v1) ## 00000000 -/* 00DC0 80AA2760 860C020E */ lh $t4, 0x020E($s0) ## 0000020E -/* 00DC4 80AA2764 3C0480AA */ lui $a0, %hi(D_80AA28C0) ## $a0 = 80AA0000 -/* 00DC8 80AA2768 000C6880 */ sll $t5, $t4, 2 -/* 00DCC 80AA276C 008D2021 */ addu $a0, $a0, $t5 -/* 00DD0 80AA2770 8C8428C0 */ lw $a0, %lo(D_80AA28C0)($a0) -/* 00DD4 80AA2774 3C0D80AA */ lui $t5, %hi(func_80AA2590) ## $t5 = 80AA0000 -/* 00DD8 80AA2778 3C0C80AA */ lui $t4, %hi(func_80AA2354) ## $t4 = 80AA0000 -/* 00DDC 80AA277C 00047900 */ sll $t7, $a0, 4 -/* 00DE0 80AA2780 000F5F02 */ srl $t3, $t7, 28 -/* 00DE4 80AA2784 000BC080 */ sll $t8, $t3, 2 -/* 00DE8 80AA2788 00D8C821 */ addu $t9, $a2, $t8 -/* 00DEC 80AA278C 8F280000 */ lw $t0, 0x0000($t9) ## 00000008 -/* 00DF0 80AA2790 00857024 */ and $t6, $a0, $a1 -/* 00DF4 80AA2794 258C2354 */ addiu $t4, $t4, %lo(func_80AA2354) ## $t4 = 80AA2354 -/* 00DF8 80AA2798 01C84821 */ addu $t1, $t6, $t0 -/* 00DFC 80AA279C 01275021 */ addu $t2, $t1, $a3 -/* 00E00 80AA27A0 AC6A0004 */ sw $t2, 0x0004($v1) ## 00000004 -/* 00E04 80AA27A4 9207014E */ lbu $a3, 0x014E($s0) ## 0000014E -/* 00E08 80AA27A8 8E06016C */ lw $a2, 0x016C($s0) ## 0000016C -/* 00E0C 80AA27AC 8E050150 */ lw $a1, 0x0150($s0) ## 00000150 -/* 00E10 80AA27B0 25AD2590 */ addiu $t5, $t5, %lo(func_80AA2590) ## $t5 = 80AA2590 -/* 00E14 80AA27B4 AFAD0014 */ sw $t5, 0x0014($sp) -/* 00E18 80AA27B8 AFB00018 */ sw $s0, 0x0018($sp) -/* 00E1C 80AA27BC AFAC0010 */ sw $t4, 0x0010($sp) -/* 00E20 80AA27C0 0C0286B2 */ jal SkelAnime_DrawSV -/* 00E24 80AA27C4 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000 -/* 00E28 80AA27C8 3C0680AA */ lui $a2, %hi(D_80AA2900) ## $a2 = 80AA0000 -/* 00E2C 80AA27CC 24C62900 */ addiu $a2, $a2, %lo(D_80AA2900) ## $a2 = 80AA2900 -/* 00E30 80AA27D0 27A40044 */ addiu $a0, $sp, 0x0044 ## $a0 = FFFFFFDC -/* 00E34 80AA27D4 8E450000 */ lw $a1, 0x0000($s2) ## 00000000 -/* 00E38 80AA27D8 0C031AD5 */ jal Graph_CloseDisps -/* 00E3C 80AA27DC 240703DE */ addiu $a3, $zero, 0x03DE ## $a3 = 000003DE -/* 00E40 80AA27E0 8FBF0034 */ lw $ra, 0x0034($sp) -/* 00E44 80AA27E4 8FB00028 */ lw $s0, 0x0028($sp) -/* 00E48 80AA27E8 8FB1002C */ lw $s1, 0x002C($sp) -/* 00E4C 80AA27EC 8FB20030 */ lw $s2, 0x0030($sp) -/* 00E50 80AA27F0 03E00008 */ jr $ra -/* 00E54 80AA27F4 27BD0068 */ addiu $sp, $sp, 0x0068 ## $sp = 00000000 -/* 00E58 80AA27F8 00000000 */ nop -/* 00E5C 80AA27FC 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ma2/EnMa2_Init.s b/asm/non_matchings/overlays/actors/ovl_En_Ma2/EnMa2_Init.s deleted file mode 100644 index 5a680d7e0b..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Ma2/EnMa2_Init.s +++ /dev/null @@ -1,121 +0,0 @@ -glabel EnMa2_Init -/* 0049C 80AA1E3C 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0 -/* 004A0 80AA1E40 AFB00028 */ sw $s0, 0x0028($sp) -/* 004A4 80AA1E44 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 004A8 80AA1E48 AFBF002C */ sw $ra, 0x002C($sp) -/* 004AC 80AA1E4C AFA50044 */ sw $a1, 0x0044($sp) -/* 004B0 80AA1E50 3C068003 */ lui $a2, %hi(ActorShadow_DrawFunc_Circle) -/* 004B4 80AA1E54 24C6B5EC */ addiu $a2, %lo(ActorShadow_DrawFunc_Circle) -/* 004B8 80AA1E58 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000 -/* 004BC 80AA1E5C 248400B4 */ addiu $a0, $a0, 0x00B4 ## $a0 = 000000B4 -/* 004C0 80AA1E60 0C00AC78 */ jal ActorShape_Init - -/* 004C4 80AA1E64 3C074190 */ lui $a3, 0x4190 ## $a3 = 41900000 -/* 004C8 80AA1E68 3C060601 */ lui $a2, 0x0601 ## $a2 = 06010000 -/* 004CC 80AA1E6C 24C68D90 */ addiu $a2, $a2, 0x8D90 ## $a2 = 06008D90 -/* 004D0 80AA1E70 8FA40044 */ lw $a0, 0x0044($sp) -/* 004D4 80AA1E74 2605014C */ addiu $a1, $s0, 0x014C ## $a1 = 0000014C -/* 004D8 80AA1E78 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 -/* 004DC 80AA1E7C AFA00010 */ sw $zero, 0x0010($sp) -/* 004E0 80AA1E80 AFA00014 */ sw $zero, 0x0014($sp) -/* 004E4 80AA1E84 0C0291BE */ jal SkelAnime_InitSV -/* 004E8 80AA1E88 AFA00018 */ sw $zero, 0x0018($sp) -/* 004EC 80AA1E8C 26050194 */ addiu $a1, $s0, 0x0194 ## $a1 = 00000194 -/* 004F0 80AA1E90 AFA50030 */ sw $a1, 0x0030($sp) -/* 004F4 80AA1E94 0C0170D9 */ jal Collider_InitCylinder - -/* 004F8 80AA1E98 8FA40044 */ lw $a0, 0x0044($sp) -/* 004FC 80AA1E9C 3C0780AA */ lui $a3, %hi(D_80AA2820) ## $a3 = 80AA0000 -/* 00500 80AA1EA0 8FA50030 */ lw $a1, 0x0030($sp) -/* 00504 80AA1EA4 24E72820 */ addiu $a3, $a3, %lo(D_80AA2820) ## $a3 = 80AA2820 -/* 00508 80AA1EA8 8FA40044 */ lw $a0, 0x0044($sp) -/* 0050C 80AA1EAC 0C01712B */ jal Collider_SetCylinder - -/* 00510 80AA1EB0 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000 -/* 00514 80AA1EB4 0C016C80 */ jal DamageTable_Get - -/* 00518 80AA1EB8 24040016 */ addiu $a0, $zero, 0x0016 ## $a0 = 00000016 -/* 0051C 80AA1EBC 3C0680AA */ lui $a2, %hi(D_80AA284C) ## $a2 = 80AA0000 -/* 00520 80AA1EC0 24C6284C */ addiu $a2, $a2, %lo(D_80AA284C) ## $a2 = 80AA284C -/* 00524 80AA1EC4 26040098 */ addiu $a0, $s0, 0x0098 ## $a0 = 00000098 -/* 00528 80AA1EC8 0C0187BF */ jal func_80061EFC -/* 0052C 80AA1ECC 00402825 */ or $a1, $v0, $zero ## $a1 = 00000000 -/* 00530 80AA1ED0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00534 80AA1ED4 0C2A86D6 */ jal func_80AA1B58 -/* 00538 80AA1ED8 8FA50044 */ lw $a1, 0x0044($sp) -/* 0053C 80AA1EDC 10400027 */ beq $v0, $zero, .L80AA1F7C -/* 00540 80AA1EE0 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 00544 80AA1EE4 10410009 */ beq $v0, $at, .L80AA1F0C -/* 00548 80AA1EE8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 0054C 80AA1EEC 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002 -/* 00550 80AA1EF0 1041000C */ beq $v0, $at, .L80AA1F24 -/* 00554 80AA1EF4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00558 80AA1EF8 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003 -/* 0055C 80AA1EFC 1041000F */ beq $v0, $at, .L80AA1F3C -/* 00560 80AA1F00 3C188016 */ lui $t8, %hi(gSaveContext+0xf08) -/* 00564 80AA1F04 10000022 */ beq $zero, $zero, .L80AA1F90 -/* 00568 80AA1F08 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00 -.L80AA1F0C: -/* 0056C 80AA1F0C 0C2A8751 */ jal func_80AA1D44 -/* 00570 80AA1F10 24050002 */ addiu $a1, $zero, 0x0002 ## $a1 = 00000002 -/* 00574 80AA1F14 3C0E80AA */ lui $t6, %hi(func_80AA2018) ## $t6 = 80AA0000 -/* 00578 80AA1F18 25CE2018 */ addiu $t6, $t6, %lo(func_80AA2018) ## $t6 = 80AA2018 -/* 0057C 80AA1F1C 1000001B */ beq $zero, $zero, .L80AA1F8C -/* 00580 80AA1F20 AE0E0190 */ sw $t6, 0x0190($s0) ## 00000190 -.L80AA1F24: -/* 00584 80AA1F24 0C2A8751 */ jal func_80AA1D44 -/* 00588 80AA1F28 24050003 */ addiu $a1, $zero, 0x0003 ## $a1 = 00000003 -/* 0058C 80AA1F2C 3C0F80AA */ lui $t7, %hi(func_80AA204C) ## $t7 = 80AA0000 -/* 00590 80AA1F30 25EF204C */ addiu $t7, $t7, %lo(func_80AA204C) ## $t7 = 80AA204C -/* 00594 80AA1F34 10000015 */ beq $zero, $zero, .L80AA1F8C -/* 00598 80AA1F38 AE0F0190 */ sw $t7, 0x0190($s0) ## 00000190 -.L80AA1F3C: -/* 0059C 80AA1F3C 9718F568 */ lhu $t8, %lo(gSaveContext+0xf08)($t8) -/* 005A0 80AA1F40 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000 -/* 005A4 80AA1F44 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 005A8 80AA1F48 33192000 */ andi $t9, $t8, 0x2000 ## $t9 = 00000000 -/* 005AC 80AA1F4C 13200005 */ beq $t9, $zero, .L80AA1F64 -/* 005B0 80AA1F50 00000000 */ nop -/* 005B4 80AA1F54 0C2A8751 */ jal func_80AA1D44 -/* 005B8 80AA1F58 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 005BC 80AA1F5C 10000003 */ beq $zero, $zero, .L80AA1F6C -/* 005C0 80AA1F60 00000000 */ nop -.L80AA1F64: -/* 005C4 80AA1F64 0C2A8751 */ jal func_80AA1D44 -/* 005C8 80AA1F68 24050003 */ addiu $a1, $zero, 0x0003 ## $a1 = 00000003 -.L80AA1F6C: -/* 005CC 80AA1F6C 3C0880AA */ lui $t0, %hi(func_80AA2018) ## $t0 = 80AA0000 -/* 005D0 80AA1F70 25082018 */ addiu $t0, $t0, %lo(func_80AA2018) ## $t0 = 80AA2018 -/* 005D4 80AA1F74 10000005 */ beq $zero, $zero, .L80AA1F8C -/* 005D8 80AA1F78 AE080190 */ sw $t0, 0x0190($s0) ## 00000190 -.L80AA1F7C: -/* 005DC 80AA1F7C 0C00B55C */ jal Actor_Kill - -/* 005E0 80AA1F80 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 005E4 80AA1F84 10000012 */ beq $zero, $zero, .L80AA1FD0 -/* 005E8 80AA1F88 8FBF002C */ lw $ra, 0x002C($sp) -.L80AA1F8C: -/* 005EC 80AA1F8C 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00 -.L80AA1F90: -/* 005F0 80AA1F90 24090004 */ addiu $t1, $zero, 0x0004 ## $t1 = 00000004 -/* 005F4 80AA1F94 AFA90014 */ sw $t1, 0x0014($sp) -/* 005F8 80AA1F98 44060000 */ mfc1 $a2, $f0 -/* 005FC 80AA1F9C 44070000 */ mfc1 $a3, $f0 -/* 00600 80AA1FA0 8FA40044 */ lw $a0, 0x0044($sp) -/* 00604 80AA1FA4 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000 -/* 00608 80AA1FA8 0C00B92D */ jal func_8002E4B4 -/* 0060C 80AA1FAC E7A00010 */ swc1 $f0, 0x0010($sp) -/* 00610 80AA1FB0 3C053C23 */ lui $a1, 0x3C23 ## $a1 = 3C230000 -/* 00614 80AA1FB4 34A5D70A */ ori $a1, $a1, 0xD70A ## $a1 = 3C23D70A -/* 00618 80AA1FB8 0C00B58B */ jal Actor_SetScale - -/* 0061C 80AA1FBC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00620 80AA1FC0 240A0006 */ addiu $t2, $zero, 0x0006 ## $t2 = 00000006 -/* 00624 80AA1FC4 A20A001F */ sb $t2, 0x001F($s0) ## 0000001F -/* 00628 80AA1FC8 A60001E0 */ sh $zero, 0x01E0($s0) ## 000001E0 -/* 0062C 80AA1FCC 8FBF002C */ lw $ra, 0x002C($sp) -.L80AA1FD0: -/* 00630 80AA1FD0 8FB00028 */ lw $s0, 0x0028($sp) -/* 00634 80AA1FD4 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000 -/* 00638 80AA1FD8 03E00008 */ jr $ra -/* 0063C 80AA1FDC 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ma2/EnMa2_Update.s b/asm/non_matchings/overlays/actors/ovl_En_Ma2/EnMa2_Update.s deleted file mode 100644 index 1be022f7b0..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Ma2/EnMa2_Update.s +++ /dev/null @@ -1,64 +0,0 @@ -glabel EnMa2_Update -/* 008C8 80AA2268 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8 -/* 008CC 80AA226C AFB0001C */ sw $s0, 0x001C($sp) -/* 008D0 80AA2270 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 008D4 80AA2274 AFB10020 */ sw $s1, 0x0020($sp) -/* 008D8 80AA2278 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000 -/* 008DC 80AA227C AFBF0024 */ sw $ra, 0x0024($sp) -/* 008E0 80AA2280 26060194 */ addiu $a2, $s0, 0x0194 ## $a2 = 00000194 -/* 008E4 80AA2284 00C02825 */ or $a1, $a2, $zero ## $a1 = 00000194 -/* 008E8 80AA2288 0C0189B7 */ jal Collider_CylinderUpdate - -/* 008EC 80AA228C AFA6002C */ sw $a2, 0x002C($sp) -/* 008F0 80AA2290 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 008F4 80AA2294 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60 -/* 008F8 80AA2298 8FA6002C */ lw $a2, 0x002C($sp) -/* 008FC 80AA229C 02212821 */ addu $a1, $s1, $at -/* 00900 80AA22A0 0C017713 */ jal CollisionCheck_SetOC - ## CollisionCheck_setOT -/* 00904 80AA22A4 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 00908 80AA22A8 0C02927F */ jal SkelAnime_FrameUpdateMatrix - -/* 0090C 80AA22AC 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C -/* 00910 80AA22B0 0C2A8730 */ jal func_80AA1CC0 -/* 00914 80AA22B4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00918 80AA22B8 8E190190 */ lw $t9, 0x0190($s0) ## 00000190 -/* 0091C 80AA22BC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00920 80AA22C0 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000 -/* 00924 80AA22C4 0320F809 */ jalr $ra, $t9 -/* 00928 80AA22C8 00000000 */ nop -/* 0092C 80AA22CC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00930 80AA22D0 0C2A876D */ jal func_80AA1DB4 -/* 00934 80AA22D4 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000 -/* 00938 80AA22D8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 0093C 80AA22DC 0C2A86B9 */ jal func_80AA1AE4 -/* 00940 80AA22E0 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000 -/* 00944 80AA22E4 8E0F0190 */ lw $t7, 0x0190($s0) ## 00000190 -/* 00948 80AA22E8 3C0E80AA */ lui $t6, %hi(func_80AA20E4) ## $t6 = 80AA0000 -/* 0094C 80AA22EC 25CE20E4 */ addiu $t6, $t6, %lo(func_80AA20E4) ## $t6 = 80AA20E4 -/* 00950 80AA22F0 51CF0014 */ beql $t6, $t7, .L80AA2344 -/* 00954 80AA22F4 8FBF0024 */ lw $ra, 0x0024($sp) -/* 00958 80AA22F8 861801D4 */ lh $t8, 0x01D4($s0) ## 000001D4 -/* 0095C 80AA22FC 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000 -/* 00960 80AA2300 44814000 */ mtc1 $at, $f8 ## $f8 = 30.00 -/* 00964 80AA2304 44982000 */ mtc1 $t8, $f4 ## $f4 = 0.00 -/* 00968 80AA2308 3C0880AA */ lui $t0, %hi(func_80AA19A0) ## $t0 = 80AA0000 -/* 0096C 80AA230C 3C0980AA */ lui $t1, %hi(func_80AA1A38) ## $t1 = 80AA0000 -/* 00970 80AA2310 468021A0 */ cvt.s.w $f6, $f4 -/* 00974 80AA2314 25291A38 */ addiu $t1, $t1, %lo(func_80AA1A38) ## $t1 = 80AA1A38 -/* 00978 80AA2318 250819A0 */ addiu $t0, $t0, %lo(func_80AA19A0) ## $t0 = 80AA19A0 -/* 0097C 80AA231C AFA80010 */ sw $t0, 0x0010($sp) -/* 00980 80AA2320 AFA90014 */ sw $t1, 0x0014($sp) -/* 00984 80AA2324 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 00988 80AA2328 46083280 */ add.s $f10, $f6, $f8 -/* 0098C 80AA232C 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000 -/* 00990 80AA2330 260601E0 */ addiu $a2, $s0, 0x01E0 ## $a2 = 000001E0 -/* 00994 80AA2334 44075000 */ mfc1 $a3, $f10 -/* 00998 80AA2338 0C00D0F3 */ jal func_800343CC -/* 0099C 80AA233C 00000000 */ nop -/* 009A0 80AA2340 8FBF0024 */ lw $ra, 0x0024($sp) -.L80AA2344: -/* 009A4 80AA2344 8FB0001C */ lw $s0, 0x001C($sp) -/* 009A8 80AA2348 8FB10020 */ lw $s1, 0x0020($sp) -/* 009AC 80AA234C 03E00008 */ jr $ra -/* 009B0 80AA2350 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ma2/func_80AA19A0.s b/asm/non_matchings/overlays/actors/ovl_En_Ma2/func_80AA19A0.s deleted file mode 100644 index d5e577a835..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Ma2/func_80AA19A0.s +++ /dev/null @@ -1,44 +0,0 @@ -glabel func_80AA19A0 -/* 00000 80AA19A0 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00004 80AA19A4 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00008 80AA19A8 AFA5001C */ sw $a1, 0x001C($sp) -/* 0000C 80AA19AC 0C01B0D8 */ jal Text_GetFaceReaction -/* 00010 80AA19B0 24050017 */ addiu $a1, $zero, 0x0017 ## $a1 = 00000017 -/* 00014 80AA19B4 10400003 */ beq $v0, $zero, .L80AA19C4 -/* 00018 80AA19B8 3043FFFF */ andi $v1, $v0, 0xFFFF ## $v1 = 00000000 -/* 0001C 80AA19BC 1000001A */ beq $zero, $zero, .L80AA1A28 -/* 00020 80AA19C0 00601025 */ or $v0, $v1, $zero ## $v0 = 00000000 -.L80AA19C4: -/* 00024 80AA19C4 3C038016 */ lui $v1, %hi(gSaveContext) -/* 00028 80AA19C8 2463E660 */ addiu $v1, %lo(gSaveContext) -/* 0002C 80AA19CC 946E0ED6 */ lhu $t6, 0x0ED6($v1) ## 8015F536 -/* 00030 80AA19D0 31CF0100 */ andi $t7, $t6, 0x0100 ## $t7 = 00000000 -/* 00034 80AA19D4 51E00004 */ beql $t7, $zero, .L80AA19E8 -/* 00038 80AA19D8 8C780010 */ lw $t8, 0x0010($v1) ## 8015E670 -/* 0003C 80AA19DC 10000012 */ beq $zero, $zero, .L80AA1A28 -/* 00040 80AA19E0 24022056 */ addiu $v0, $zero, 0x2056 ## $v0 = 00002056 -/* 00044 80AA19E4 8C780010 */ lw $t8, 0x0010($v1) ## 8015E670 -.L80AA19E8: -/* 00048 80AA19E8 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 0004C 80AA19EC 2402204C */ addiu $v0, $zero, 0x204C ## $v0 = 0000204C -/* 00050 80AA19F0 1701000D */ bne $t8, $at, .L80AA1A28 -/* 00054 80AA19F4 00000000 */ nop -/* 00058 80AA19F8 94620F08 */ lhu $v0, 0x0F08($v1) ## 8015F568 -/* 0005C 80AA19FC 30591000 */ andi $t9, $v0, 0x1000 ## $t9 = 00000000 -/* 00060 80AA1A00 13200003 */ beq $t9, $zero, .L80AA1A10 -/* 00064 80AA1A04 30484000 */ andi $t0, $v0, 0x4000 ## $t0 = 00000000 -/* 00068 80AA1A08 10000007 */ beq $zero, $zero, .L80AA1A28 -/* 0006C 80AA1A0C 24022052 */ addiu $v0, $zero, 0x2052 ## $v0 = 00002052 -.L80AA1A10: -/* 00070 80AA1A10 11000003 */ beq $t0, $zero, .L80AA1A20 -/* 00074 80AA1A14 00000000 */ nop -/* 00078 80AA1A18 10000003 */ beq $zero, $zero, .L80AA1A28 -/* 0007C 80AA1A1C 24022051 */ addiu $v0, $zero, 0x2051 ## $v0 = 00002051 -.L80AA1A20: -/* 00080 80AA1A20 10000001 */ beq $zero, $zero, .L80AA1A28 -/* 00084 80AA1A24 24022050 */ addiu $v0, $zero, 0x2050 ## $v0 = 00002050 -.L80AA1A28: -/* 00088 80AA1A28 8FBF0014 */ lw $ra, 0x0014($sp) -/* 0008C 80AA1A2C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00090 80AA1A30 03E00008 */ jr $ra -/* 00094 80AA1A34 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ma2/func_80AA1A38.s b/asm/non_matchings/overlays/actors/ovl_En_Ma2/func_80AA1A38.s deleted file mode 100644 index 013130b4b7..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Ma2/func_80AA1A38.s +++ /dev/null @@ -1,63 +0,0 @@ -.late_rodata -glabel jtbl_80AA2910 -.word L80AA1AD0 -.word L80AA1AD0 -.word L80AA1A78 -.word L80AA1AD0 -.word L80AA1AD0 -.word L80AA1AD0 -.word L80AA1AD0 -.word L80AA1AD0 -.word L80AA1AD0 -.word L80AA1AD0 - -.text -glabel func_80AA1A38 -/* 00098 80AA1A38 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0 -/* 0009C 80AA1A3C AFBF0014 */ sw $ra, 0x0014($sp) -/* 000A0 80AA1A40 24030001 */ addiu $v1, $zero, 0x0001 ## $v1 = 00000001 -/* 000A4 80AA1A44 AFA50024 */ sw $a1, 0x0024($sp) -/* 000A8 80AA1A48 A7A3001E */ sh $v1, 0x001E($sp) -/* 000AC 80AA1A4C 0C042F6F */ jal func_8010BDBC -/* 000B0 80AA1A50 248420D8 */ addiu $a0, $a0, 0x20D8 ## $a0 = 000020D8 -/* 000B4 80AA1A54 2C41000A */ sltiu $at, $v0, 0x000A -/* 000B8 80AA1A58 1020001D */ beq $at, $zero, .L80AA1AD0 -/* 000BC 80AA1A5C 87A3001E */ lh $v1, 0x001E($sp) -/* 000C0 80AA1A60 00027080 */ sll $t6, $v0, 2 -/* 000C4 80AA1A64 3C0180AA */ lui $at, %hi(jtbl_80AA2910) ## $at = 80AA0000 -/* 000C8 80AA1A68 002E0821 */ addu $at, $at, $t6 -/* 000CC 80AA1A6C 8C2E2910 */ lw $t6, %lo(jtbl_80AA2910)($at) -/* 000D0 80AA1A70 01C00008 */ jr $t6 -/* 000D4 80AA1A74 00000000 */ nop -glabel L80AA1A78 -/* 000D8 80AA1A78 8FAF0024 */ lw $t7, 0x0024($sp) -/* 000DC 80AA1A7C 24012051 */ addiu $at, $zero, 0x2051 ## $at = 00002051 -/* 000E0 80AA1A80 95E2010E */ lhu $v0, 0x010E($t7) ## 0000010E -/* 000E4 80AA1A84 10410005 */ beq $v0, $at, .L80AA1A9C -/* 000E8 80AA1A88 24012053 */ addiu $at, $zero, 0x2053 ## $at = 00002053 -/* 000EC 80AA1A8C 1041000A */ beq $v0, $at, .L80AA1AB8 -/* 000F0 80AA1A90 00000000 */ nop -/* 000F4 80AA1A94 1000000E */ beq $zero, $zero, .L80AA1AD0 -/* 000F8 80AA1A98 00001825 */ or $v1, $zero, $zero ## $v1 = 00000000 -.L80AA1A9C: -/* 000FC 80AA1A9C 3C028016 */ lui $v0, %hi(gSaveContext) -/* 00100 80AA1AA0 2442E660 */ addiu $v0, %lo(gSaveContext) -/* 00104 80AA1AA4 94580F08 */ lhu $t8, 0x0F08($v0) ## 8015F568 -/* 00108 80AA1AA8 24030002 */ addiu $v1, $zero, 0x0002 ## $v1 = 00000002 -/* 0010C 80AA1AAC 37191000 */ ori $t9, $t8, 0x1000 ## $t9 = 00001000 -/* 00110 80AA1AB0 10000007 */ beq $zero, $zero, .L80AA1AD0 -/* 00114 80AA1AB4 A4590F08 */ sh $t9, 0x0F08($v0) ## 8015F568 -.L80AA1AB8: -/* 00118 80AA1AB8 3C028016 */ lui $v0, %hi(gSaveContext) -/* 0011C 80AA1ABC 2442E660 */ addiu $v0, %lo(gSaveContext) -/* 00120 80AA1AC0 94480F08 */ lhu $t0, 0x0F08($v0) ## 8015F568 -/* 00124 80AA1AC4 00001825 */ or $v1, $zero, $zero ## $v1 = 00000000 -/* 00128 80AA1AC8 35092000 */ ori $t1, $t0, 0x2000 ## $t1 = 00002000 -/* 0012C 80AA1ACC A4490F08 */ sh $t1, 0x0F08($v0) ## 8015F568 -glabel L80AA1AD0 -.L80AA1AD0: -/* 00130 80AA1AD0 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00134 80AA1AD4 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000 -/* 00138 80AA1AD8 00601025 */ or $v0, $v1, $zero ## $v0 = 00000000 -/* 0013C 80AA1ADC 03E00008 */ jr $ra -/* 00140 80AA1AE0 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ma2/func_80AA1AE4.s b/asm/non_matchings/overlays/actors/ovl_En_Ma2/func_80AA1AE4.s deleted file mode 100644 index 6636d115cf..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Ma2/func_80AA1AE4.s +++ /dev/null @@ -1,31 +0,0 @@ -glabel func_80AA1AE4 -/* 00144 80AA1AE4 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00148 80AA1AE8 AFBF0014 */ sw $ra, 0x0014($sp) -/* 0014C 80AA1AEC 848E01E0 */ lh $t6, 0x01E0($a0) ## 000001E0 -/* 00150 80AA1AF0 8CA21C44 */ lw $v0, 0x1C44($a1) ## 00001C44 -/* 00154 80AA1AF4 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 -/* 00158 80AA1AF8 15C00008 */ bne $t6, $zero, .L80AA1B1C -/* 0015C 80AA1AFC 00000000 */ nop -/* 00160 80AA1B00 8C980154 */ lw $t8, 0x0154($a0) ## 00000154 -/* 00164 80AA1B04 3C0F0601 */ lui $t7, 0x0601 ## $t7 = 06010000 -/* 00168 80AA1B08 25EF9EE0 */ addiu $t7, $t7, 0x9EE0 ## $t7 = 06009EE0 -/* 0016C 80AA1B0C 15F80003 */ bne $t7, $t8, .L80AA1B1C -/* 00170 80AA1B10 00000000 */ nop -/* 00174 80AA1B14 10000001 */ beq $zero, $zero, .L80AA1B1C -/* 00178 80AA1B18 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -.L80AA1B1C: -/* 0017C 80AA1B1C 8C480024 */ lw $t0, 0x0024($v0) ## 00000024 -/* 00180 80AA1B20 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00 -/* 00184 80AA1B24 248501E0 */ addiu $a1, $a0, 0x01E0 ## $a1 = 000001E0 -/* 00188 80AA1B28 AC8801F8 */ sw $t0, 0x01F8($a0) ## 000001F8 -/* 0018C 80AA1B2C 8C590028 */ lw $t9, 0x0028($v0) ## 00000028 -/* 00190 80AA1B30 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000 -/* 00194 80AA1B34 AC9901FC */ sw $t9, 0x01FC($a0) ## 000001FC -/* 00198 80AA1B38 8C48002C */ lw $t0, 0x002C($v0) ## 0000002C -/* 0019C 80AA1B3C E48401F4 */ swc1 $f4, 0x01F4($a0) ## 000001F4 -/* 001A0 80AA1B40 0C00D285 */ jal func_80034A14 -/* 001A4 80AA1B44 AC880200 */ sw $t0, 0x0200($a0) ## 00000200 -/* 001A8 80AA1B48 8FBF0014 */ lw $ra, 0x0014($sp) -/* 001AC 80AA1B4C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 001B0 80AA1B50 03E00008 */ jr $ra -/* 001B4 80AA1B54 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ma2/func_80AA1B58.s b/asm/non_matchings/overlays/actors/ovl_En_Ma2/func_80AA1B58.s deleted file mode 100644 index 0c4014017a..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Ma2/func_80AA1B58.s +++ /dev/null @@ -1,80 +0,0 @@ -glabel func_80AA1B58 -/* 001B8 80AA1B58 3C068016 */ lui $a2, %hi(gSaveContext) -/* 001BC 80AA1B5C 24C6E660 */ addiu $a2, %lo(gSaveContext) -/* 001C0 80AA1B60 8CCE0004 */ lw $t6, 0x0004($a2) ## 8015E664 -/* 001C4 80AA1B64 24030001 */ addiu $v1, $zero, 0x0001 ## $v1 = 00000001 -/* 001C8 80AA1B68 546E0004 */ bnel $v1, $t6, .L80AA1B7C -/* 001CC 80AA1B6C 94C20ED6 */ lhu $v0, 0x0ED6($a2) ## 8015F536 -/* 001D0 80AA1B70 03E00008 */ jr $ra -/* 001D4 80AA1B74 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000 -.L80AA1B78: -/* 001D8 80AA1B78 94C20ED6 */ lhu $v0, 0x0ED6($a2) ## 8015F536 -.L80AA1B7C: -/* 001DC 80AA1B7C 30420100 */ andi $v0, $v0, 0x0100 ## $v0 = 00000000 -/* 001E0 80AA1B80 1440000E */ bne $v0, $zero, .L80AA1BBC -/* 001E4 80AA1B84 00000000 */ nop -/* 001E8 80AA1B88 84AF00A4 */ lh $t7, 0x00A4($a1) ## 000000A4 -/* 001EC 80AA1B8C 24010036 */ addiu $at, $zero, 0x0036 ## $at = 00000036 -/* 001F0 80AA1B90 15E1000A */ bne $t7, $at, .L80AA1BBC -/* 001F4 80AA1B94 00000000 */ nop -/* 001F8 80AA1B98 8CD80010 */ lw $t8, 0x0010($a2) ## 8015E670 -/* 001FC 80AA1B9C 17000007 */ bne $t8, $zero, .L80AA1BBC -/* 00200 80AA1BA0 00000000 */ nop -/* 00204 80AA1BA4 849900B8 */ lh $t9, 0x00B8($a0) ## 000000B8 -/* 00208 80AA1BA8 24010005 */ addiu $at, $zero, 0x0005 ## $at = 00000005 -/* 0020C 80AA1BAC 17210003 */ bne $t9, $at, .L80AA1BBC -/* 00210 80AA1BB0 00000000 */ nop -/* 00214 80AA1BB4 03E00008 */ jr $ra -/* 00218 80AA1BB8 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001 -.L80AA1BBC: -/* 0021C 80AA1BBC 1440000E */ bne $v0, $zero, .L80AA1BF8 -/* 00220 80AA1BC0 00000000 */ nop -/* 00224 80AA1BC4 84A800A4 */ lh $t0, 0x00A4($a1) ## 000000A4 -/* 00228 80AA1BC8 24010063 */ addiu $at, $zero, 0x0063 ## $at = 00000063 -/* 0022C 80AA1BCC 1501000A */ bne $t0, $at, .L80AA1BF8 -/* 00230 80AA1BD0 00000000 */ nop -/* 00234 80AA1BD4 8CC90010 */ lw $t1, 0x0010($a2) ## 8015E670 -/* 00238 80AA1BD8 14690007 */ bne $v1, $t1, .L80AA1BF8 -/* 0023C 80AA1BDC 00000000 */ nop -/* 00240 80AA1BE0 848A00B8 */ lh $t2, 0x00B8($a0) ## 000000B8 -/* 00244 80AA1BE4 24010006 */ addiu $at, $zero, 0x0006 ## $at = 00000006 -/* 00248 80AA1BE8 15410003 */ bne $t2, $at, .L80AA1BF8 -/* 0024C 80AA1BEC 00000000 */ nop -/* 00250 80AA1BF0 03E00008 */ jr $ra -/* 00254 80AA1BF4 24020002 */ addiu $v0, $zero, 0x0002 ## $v0 = 00000002 -.L80AA1BF8: -/* 00258 80AA1BF8 10400005 */ beq $v0, $zero, .L80AA1C10 -/* 0025C 80AA1BFC 00000000 */ nop -/* 00260 80AA1C00 84AB00A4 */ lh $t3, 0x00A4($a1) ## 000000A4 -/* 00264 80AA1C04 24010063 */ addiu $at, $zero, 0x0063 ## $at = 00000063 -/* 00268 80AA1C08 51610004 */ beql $t3, $at, .L80AA1C1C -/* 0026C 80AA1C0C 848200B8 */ lh $v0, 0x00B8($a0) ## 000000B8 -.L80AA1C10: -/* 00270 80AA1C10 03E00008 */ jr $ra -/* 00274 80AA1C14 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000 -.L80AA1C18: -/* 00278 80AA1C18 848200B8 */ lh $v0, 0x00B8($a0) ## 000000B8 -.L80AA1C1C: -/* 0027C 80AA1C1C 24010007 */ addiu $at, $zero, 0x0007 ## $at = 00000007 -/* 00280 80AA1C20 54410007 */ bnel $v0, $at, .L80AA1C40 -/* 00284 80AA1C24 24010008 */ addiu $at, $zero, 0x0008 ## $at = 00000008 -/* 00288 80AA1C28 8CCC0010 */ lw $t4, 0x0010($a2) ## 8015E670 -/* 0028C 80AA1C2C 55800004 */ bnel $t4, $zero, .L80AA1C40 -/* 00290 80AA1C30 24010008 */ addiu $at, $zero, 0x0008 ## $at = 00000008 -/* 00294 80AA1C34 03E00008 */ jr $ra -/* 00298 80AA1C38 24020003 */ addiu $v0, $zero, 0x0003 ## $v0 = 00000003 -.L80AA1C3C: -/* 0029C 80AA1C3C 24010008 */ addiu $at, $zero, 0x0008 ## $at = 00000008 -.L80AA1C40: -/* 002A0 80AA1C40 54410007 */ bnel $v0, $at, .L80AA1C60 -/* 002A4 80AA1C44 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000 -/* 002A8 80AA1C48 8CCD0010 */ lw $t5, 0x0010($a2) ## 8015E670 -/* 002AC 80AA1C4C 546D0004 */ bnel $v1, $t5, .L80AA1C60 -/* 002B0 80AA1C50 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000 -/* 002B4 80AA1C54 03E00008 */ jr $ra -/* 002B8 80AA1C58 24020003 */ addiu $v0, $zero, 0x0003 ## $v0 = 00000003 -.L80AA1C5C: -/* 002BC 80AA1C5C 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000 -.L80AA1C60: -/* 002C0 80AA1C60 03E00008 */ jr $ra -/* 002C4 80AA1C64 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ma2/func_80AA1C68.s b/asm/non_matchings/overlays/actors/ovl_En_Ma2/func_80AA1C68.s deleted file mode 100644 index 769b78e040..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Ma2/func_80AA1C68.s +++ /dev/null @@ -1,28 +0,0 @@ -glabel func_80AA1C68 -/* 002C8 80AA1C68 8C8F0154 */ lw $t7, 0x0154($a0) ## 00000154 -/* 002CC 80AA1C6C 3C0E0601 */ lui $t6, 0x0601 ## $t6 = 06010000 -/* 002D0 80AA1C70 25CE9EE0 */ addiu $t6, $t6, 0x9EE0 ## $t6 = 06009EE0 -/* 002D4 80AA1C74 51CF0004 */ beql $t6, $t7, .L80AA1C88 -/* 002D8 80AA1C78 849801E0 */ lh $t8, 0x01E0($a0) ## 000001E0 -/* 002DC 80AA1C7C 03E00008 */ jr $ra -/* 002E0 80AA1C80 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000 -.L80AA1C84: -/* 002E4 80AA1C84 849801E0 */ lh $t8, 0x01E0($a0) ## 000001E0 -.L80AA1C88: -/* 002E8 80AA1C88 53000004 */ beql $t8, $zero, .L80AA1C9C -/* 002EC 80AA1C8C 8499020E */ lh $t9, 0x020E($a0) ## 0000020E -/* 002F0 80AA1C90 03E00008 */ jr $ra -/* 002F4 80AA1C94 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000 -.L80AA1C98: -/* 002F8 80AA1C98 8499020E */ lh $t9, 0x020E($a0) ## 0000020E -.L80AA1C9C: -/* 002FC 80AA1C9C 24030002 */ addiu $v1, $zero, 0x0002 ## $v1 = 00000002 -/* 00300 80AA1CA0 A480020C */ sh $zero, 0x020C($a0) ## 0000020C -/* 00304 80AA1CA4 10790003 */ beq $v1, $t9, .L80AA1CB4 -/* 00308 80AA1CA8 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001 -/* 0030C 80AA1CAC 03E00008 */ jr $ra -/* 00310 80AA1CB0 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000 -.L80AA1CB4: -/* 00314 80AA1CB4 A4830210 */ sh $v1, 0x0210($a0) ## 00000210 -/* 00318 80AA1CB8 03E00008 */ jr $ra -/* 0031C 80AA1CBC 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ma2/func_80AA1CC0.s b/asm/non_matchings/overlays/actors/ovl_En_Ma2/func_80AA1CC0.s deleted file mode 100644 index 5c1ebd20d0..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Ma2/func_80AA1CC0.s +++ /dev/null @@ -1,39 +0,0 @@ -glabel func_80AA1CC0 -/* 00320 80AA1CC0 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00324 80AA1CC4 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00328 80AA1CC8 0C2A871A */ jal func_80AA1C68 -/* 0032C 80AA1CCC AFA40018 */ sw $a0, 0x0018($sp) -/* 00330 80AA1CD0 14400018 */ bne $v0, $zero, .L80AA1D34 -/* 00334 80AA1CD4 8FA60018 */ lw $a2, 0x0018($sp) -/* 00338 80AA1CD8 84C2020C */ lh $v0, 0x020C($a2) ## 0000020C -/* 0033C 80AA1CDC 14400003 */ bne $v0, $zero, .L80AA1CEC -/* 00340 80AA1CE0 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF -/* 00344 80AA1CE4 10000003 */ beq $zero, $zero, .L80AA1CF4 -/* 00348 80AA1CE8 00001825 */ or $v1, $zero, $zero ## $v1 = 00000000 -.L80AA1CEC: -/* 0034C 80AA1CEC A4CE020C */ sh $t6, 0x020C($a2) ## 0000020C -/* 00350 80AA1CF0 84C3020C */ lh $v1, 0x020C($a2) ## 0000020C -.L80AA1CF4: -/* 00354 80AA1CF4 54600010 */ bnel $v1, $zero, .L80AA1D38 -/* 00358 80AA1CF8 8FBF0014 */ lw $ra, 0x0014($sp) -/* 0035C 80AA1CFC 84CF020E */ lh $t7, 0x020E($a2) ## 0000020E -/* 00360 80AA1D00 2404001E */ addiu $a0, $zero, 0x001E ## $a0 = 0000001E -/* 00364 80AA1D04 2405001E */ addiu $a1, $zero, 0x001E ## $a1 = 0000001E -/* 00368 80AA1D08 25F80001 */ addiu $t8, $t7, 0x0001 ## $t8 = 00000001 -/* 0036C 80AA1D0C A4D8020E */ sh $t8, 0x020E($a2) ## 0000020E -/* 00370 80AA1D10 84D9020E */ lh $t9, 0x020E($a2) ## 0000020E -/* 00374 80AA1D14 2B210003 */ slti $at, $t9, 0x0003 -/* 00378 80AA1D18 54200007 */ bnel $at, $zero, .L80AA1D38 -/* 0037C 80AA1D1C 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00380 80AA1D20 0C01DF64 */ jal Math_Rand_S16Offset - -/* 00384 80AA1D24 AFA60018 */ sw $a2, 0x0018($sp) -/* 00388 80AA1D28 8FA60018 */ lw $a2, 0x0018($sp) -/* 0038C 80AA1D2C A4C2020C */ sh $v0, 0x020C($a2) ## 0000020C -/* 00390 80AA1D30 A4C0020E */ sh $zero, 0x020E($a2) ## 0000020E -.L80AA1D34: -/* 00394 80AA1D34 8FBF0014 */ lw $ra, 0x0014($sp) -.L80AA1D38: -/* 00398 80AA1D38 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 0039C 80AA1D3C 03E00008 */ jr $ra -/* 003A0 80AA1D40 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ma2/func_80AA1D44.s b/asm/non_matchings/overlays/actors/ovl_En_Ma2/func_80AA1D44.s deleted file mode 100644 index d21513f0f8..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Ma2/func_80AA1D44.s +++ /dev/null @@ -1,31 +0,0 @@ -glabel func_80AA1D44 -/* 003A4 80AA1D44 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0 -/* 003A8 80AA1D48 3C0F80AA */ lui $t7, %hi(D_80AA2858) ## $t7 = 80AA0000 -/* 003AC 80AA1D4C 25EF2858 */ addiu $t7, $t7, %lo(D_80AA2858) ## $t7 = 80AA2858 -/* 003B0 80AA1D50 00057100 */ sll $t6, $a1, 4 -/* 003B4 80AA1D54 AFBF0024 */ sw $ra, 0x0024($sp) -/* 003B8 80AA1D58 AFA40030 */ sw $a0, 0x0030($sp) -/* 003BC 80AA1D5C 01CF1821 */ addu $v1, $t6, $t7 -/* 003C0 80AA1D60 8C640000 */ lw $a0, 0x0000($v1) ## 00000000 -/* 003C4 80AA1D64 0C028800 */ jal SkelAnime_GetFrameCount - -/* 003C8 80AA1D68 AFA30028 */ sw $v1, 0x0028($sp) -/* 003CC 80AA1D6C 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00 -/* 003D0 80AA1D70 8FA30028 */ lw $v1, 0x0028($sp) -/* 003D4 80AA1D74 8FA40030 */ lw $a0, 0x0030($sp) -/* 003D8 80AA1D78 468021A0 */ cvt.s.w $f6, $f4 -/* 003DC 80AA1D7C 90780008 */ lbu $t8, 0x0008($v1) ## 00000008 -/* 003E0 80AA1D80 C468000C */ lwc1 $f8, 0x000C($v1) ## 0000000C -/* 003E4 80AA1D84 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000 -/* 003E8 80AA1D88 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000 -/* 003EC 80AA1D8C 8C650000 */ lw $a1, 0x0000($v1) ## 00000000 -/* 003F0 80AA1D90 E7A60010 */ swc1 $f6, 0x0010($sp) -/* 003F4 80AA1D94 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C -/* 003F8 80AA1D98 AFB80014 */ sw $t8, 0x0014($sp) -/* 003FC 80AA1D9C 0C029468 */ jal SkelAnime_ChangeAnim - -/* 00400 80AA1DA0 E7A80018 */ swc1 $f8, 0x0018($sp) -/* 00404 80AA1DA4 8FBF0024 */ lw $ra, 0x0024($sp) -/* 00408 80AA1DA8 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000 -/* 0040C 80AA1DAC 03E00008 */ jr $ra -/* 00410 80AA1DB0 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ma2/func_80AA1DB4.s b/asm/non_matchings/overlays/actors/ovl_En_Ma2/func_80AA1DB4.s deleted file mode 100644 index d08ffaf097..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Ma2/func_80AA1DB4.s +++ /dev/null @@ -1,38 +0,0 @@ -glabel func_80AA1DB4 -/* 00414 80AA1DB4 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00418 80AA1DB8 AFBF0014 */ sw $ra, 0x0014($sp) -/* 0041C 80AA1DBC AFA40018 */ sw $a0, 0x0018($sp) -/* 00420 80AA1DC0 AFA5001C */ sw $a1, 0x001C($sp) -/* 00424 80AA1DC4 8C8F0154 */ lw $t7, 0x0154($a0) ## 00000154 -/* 00428 80AA1DC8 3C0E0601 */ lui $t6, 0x0601 ## $t6 = 06010000 -/* 0042C 80AA1DCC 25CE9EE0 */ addiu $t6, $t6, 0x9EE0 ## $t6 = 06009EE0 -/* 00430 80AA1DD0 15CF0016 */ bne $t6, $t7, .L80AA1E2C -/* 00434 80AA1DD4 00802825 */ or $a1, $a0, $zero ## $a1 = 00000000 -/* 00438 80AA1DD8 849801E0 */ lh $t8, 0x01E0($a0) ## 000001E0 -/* 0043C 80AA1DDC 5700000B */ bnel $t8, $zero, .L80AA1E0C -/* 00440 80AA1DE0 84A8020A */ lh $t0, 0x020A($a1) ## 0000020A -/* 00444 80AA1DE4 8499020A */ lh $t9, 0x020A($a0) ## 0000020A -/* 00448 80AA1DE8 00002025 */ or $a0, $zero, $zero ## $a0 = 00000000 -/* 0044C 80AA1DEC 53200010 */ beql $t9, $zero, .L80AA1E30 -/* 00450 80AA1DF0 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00454 80AA1DF4 0C03D961 */ jal func_800F6584 -/* 00458 80AA1DF8 AFA50018 */ sw $a1, 0x0018($sp) -/* 0045C 80AA1DFC 8FA50018 */ lw $a1, 0x0018($sp) -/* 00460 80AA1E00 1000000A */ beq $zero, $zero, .L80AA1E2C -/* 00464 80AA1E04 A4A0020A */ sh $zero, 0x020A($a1) ## 0000020A -/* 00468 80AA1E08 84A8020A */ lh $t0, 0x020A($a1) ## 0000020A -.L80AA1E0C: -/* 0046C 80AA1E0C 24040001 */ addiu $a0, $zero, 0x0001 ## $a0 = 00000001 -/* 00470 80AA1E10 55000007 */ bnel $t0, $zero, .L80AA1E30 -/* 00474 80AA1E14 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00478 80AA1E18 0C03D961 */ jal func_800F6584 -/* 0047C 80AA1E1C AFA50018 */ sw $a1, 0x0018($sp) -/* 00480 80AA1E20 8FA50018 */ lw $a1, 0x0018($sp) -/* 00484 80AA1E24 24090001 */ addiu $t1, $zero, 0x0001 ## $t1 = 00000001 -/* 00488 80AA1E28 A4A9020A */ sh $t1, 0x020A($a1) ## 0000020A -.L80AA1E2C: -/* 0048C 80AA1E2C 8FBF0014 */ lw $ra, 0x0014($sp) -.L80AA1E30: -/* 00490 80AA1E30 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00494 80AA1E34 03E00008 */ jr $ra -/* 00498 80AA1E38 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ma2/func_80AA2018.s b/asm/non_matchings/overlays/actors/ovl_En_Ma2/func_80AA2018.s deleted file mode 100644 index 56a98ec3dc..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Ma2/func_80AA2018.s +++ /dev/null @@ -1,15 +0,0 @@ -glabel func_80AA2018 -/* 00678 80AA2018 AFA50004 */ sw $a1, 0x0004($sp) -/* 0067C 80AA201C 848E01E0 */ lh $t6, 0x01E0($a0) ## 000001E0 -/* 00680 80AA2020 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002 -/* 00684 80AA2024 15C10007 */ bne $t6, $at, .L80AA2044 -/* 00688 80AA2028 00000000 */ nop -/* 0068C 80AA202C 8C8F0004 */ lw $t7, 0x0004($a0) ## 00000004 -/* 00690 80AA2030 3C01FFFE */ lui $at, 0xFFFE ## $at = FFFE0000 -/* 00694 80AA2034 3421FFFF */ ori $at, $at, 0xFFFF ## $at = FFFEFFFF -/* 00698 80AA2038 01E1C024 */ and $t8, $t7, $at -/* 0069C 80AA203C AC980004 */ sw $t8, 0x0004($a0) ## 00000004 -/* 006A0 80AA2040 A48001E0 */ sh $zero, 0x01E0($a0) ## 000001E0 -.L80AA2044: -/* 006A4 80AA2044 03E00008 */ jr $ra -/* 006A8 80AA2048 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ma2/func_80AA204C.s b/asm/non_matchings/overlays/actors/ovl_En_Ma2/func_80AA204C.s deleted file mode 100644 index 42340256de..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Ma2/func_80AA204C.s +++ /dev/null @@ -1,42 +0,0 @@ -glabel func_80AA204C -/* 006AC 80AA204C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 006B0 80AA2050 AFBF0014 */ sw $ra, 0x0014($sp) -/* 006B4 80AA2054 8CA21C44 */ lw $v0, 0x1C44($a1) ## 00001C44 -/* 006B8 80AA2058 3C010200 */ lui $at, 0x0200 ## $at = 02000000 -/* 006BC 80AA205C 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000 -/* 006C0 80AA2060 8C430680 */ lw $v1, 0x0680($v0) ## 00000680 -/* 006C4 80AA2064 000371C0 */ sll $t6, $v1, 7 -/* 006C8 80AA2068 05C1000C */ bgez $t6, .L80AA209C -/* 006CC 80AA206C 00617825 */ or $t7, $v1, $at ## $t7 = 02000000 -/* 006D0 80AA2070 AC4406A8 */ sw $a0, 0x06A8($v0) ## 000006A8 -/* 006D4 80AA2074 AC4F0680 */ sw $t7, 0x0680($v0) ## 00000680 -/* 006D8 80AA2078 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000 -/* 006DC 80AA207C 24050023 */ addiu $a1, $zero, 0x0023 ## $a1 = 00000023 -/* 006E0 80AA2080 0C042F56 */ jal func_8010BD58 -/* 006E4 80AA2084 AFA60018 */ sw $a2, 0x0018($sp) -/* 006E8 80AA2088 8FA60018 */ lw $a2, 0x0018($sp) -/* 006EC 80AA208C 3C1880AA */ lui $t8, %hi(func_80AA20E4) ## $t8 = 80AA0000 -/* 006F0 80AA2090 271820E4 */ addiu $t8, $t8, %lo(func_80AA20E4) ## $t8 = 80AA20E4 -/* 006F4 80AA2094 1000000F */ beq $zero, $zero, .L80AA20D4 -/* 006F8 80AA2098 ACD80190 */ sw $t8, 0x0190($a2) ## 00000190 -.L80AA209C: -/* 006FC 80AA209C 84D901D4 */ lh $t9, 0x01D4($a2) ## 000001D4 -/* 00700 80AA20A0 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000 -/* 00704 80AA20A4 44813000 */ mtc1 $at, $f6 ## $f6 = 30.00 -/* 00708 80AA20A8 44994000 */ mtc1 $t9, $f8 ## $f8 = 0.00 -/* 0070C 80AA20AC C4C40090 */ lwc1 $f4, 0x0090($a2) ## 00000090 -/* 00710 80AA20B0 3C010080 */ lui $at, 0x0080 ## $at = 00800000 -/* 00714 80AA20B4 468042A0 */ cvt.s.w $f10, $f8 -/* 00718 80AA20B8 00614025 */ or $t0, $v1, $at ## $t0 = 00800000 -/* 0071C 80AA20BC 460A3400 */ add.s $f16, $f6, $f10 -/* 00720 80AA20C0 4610203C */ c.lt.s $f4, $f16 -/* 00724 80AA20C4 00000000 */ nop -/* 00728 80AA20C8 45020003 */ bc1fl .L80AA20D8 -/* 0072C 80AA20CC 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00730 80AA20D0 AC480680 */ sw $t0, 0x0680($v0) ## 00000680 -.L80AA20D4: -/* 00734 80AA20D4 8FBF0014 */ lw $ra, 0x0014($sp) -.L80AA20D8: -/* 00738 80AA20D8 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 0073C 80AA20DC 03E00008 */ jr $ra -/* 00740 80AA20E0 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ma2/func_80AA20E4.s b/asm/non_matchings/overlays/actors/ovl_En_Ma2/func_80AA20E4.s deleted file mode 100644 index 0f75f86101..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Ma2/func_80AA20E4.s +++ /dev/null @@ -1,62 +0,0 @@ -glabel func_80AA20E4 -/* 00744 80AA20E4 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0 -/* 00748 80AA20E8 3C030001 */ lui $v1, 0x0001 ## $v1 = 00010000 -/* 0074C 80AA20EC AFBF001C */ sw $ra, 0x001C($sp) -/* 00750 80AA20F0 AFA40020 */ sw $a0, 0x0020($sp) -/* 00754 80AA20F4 AFA50024 */ sw $a1, 0x0024($sp) -/* 00758 80AA20F8 00651821 */ addu $v1, $v1, $a1 -/* 0075C 80AA20FC 946304C6 */ lhu $v1, 0x04C6($v1) ## 000104C6 -/* 00760 80AA2100 3C0F80AA */ lui $t7, %hi(func_80AA204C) ## $t7 = 80AA0000 -/* 00764 80AA2104 8CA21C44 */ lw $v0, 0x1C44($a1) ## 00001C44 -/* 00768 80AA2108 28610004 */ slti $at, $v1, 0x0004 -/* 0076C 80AA210C 14200008 */ bne $at, $zero, .L80AA2130 -/* 00770 80AA2110 25EF204C */ addiu $t7, $t7, %lo(func_80AA204C) ## $t7 = 80AA204C -/* 00774 80AA2114 AC8F0190 */ sw $t7, 0x0190($a0) ## 00000190 -/* 00778 80AA2118 8FA80024 */ lw $t0, 0x0024($sp) -/* 0077C 80AA211C 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 00780 80AA2120 24190004 */ addiu $t9, $zero, 0x0004 ## $t9 = 00000004 -/* 00784 80AA2124 00280821 */ addu $at, $at, $t0 -/* 00788 80AA2128 10000023 */ beq $zero, $zero, .L80AA21B8 -/* 0078C 80AA212C A43904C6 */ sh $t9, 0x04C6($at) ## 000104C6 -.L80AA2130: -/* 00790 80AA2130 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003 -/* 00794 80AA2134 1461001C */ bne $v1, $at, .L80AA21A8 -/* 00798 80AA2138 3C078013 */ lui $a3, %hi(D_801333E0) -/* 0079C 80AA213C 3C098013 */ lui $t1, %hi(D_801333E8) -/* 007A0 80AA2140 24E733E0 */ addiu $a3, %lo(D_801333E0) -/* 007A4 80AA2144 252933E8 */ addiu $t1, %lo(D_801333E8) -/* 007A8 80AA2148 3C058013 */ lui $a1, %hi(D_801333D4) -/* 007AC 80AA214C 24A533D4 */ addiu $a1, %lo(D_801333D4) -/* 007B0 80AA2150 AFA90014 */ sw $t1, 0x0014($sp) -/* 007B4 80AA2154 AFA70010 */ sw $a3, 0x0010($sp) -/* 007B8 80AA2158 24044802 */ addiu $a0, $zero, 0x4802 ## $a0 = 00004802 -/* 007BC 80AA215C 0C03DCE3 */ jal Audio_PlaySoundGeneral - -/* 007C0 80AA2160 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004 -/* 007C4 80AA2164 8FA30020 */ lw $v1, 0x0020($sp) -/* 007C8 80AA2168 3C028016 */ lui $v0, %hi(gSaveContext) -/* 007CC 80AA216C 240A001E */ addiu $t2, $zero, 0x001E ## $t2 = 0000001E -/* 007D0 80AA2170 2442E660 */ addiu $v0, %lo(gSaveContext) -/* 007D4 80AA2174 A46A0208 */ sh $t2, 0x0208($v1) ## 00000208 -/* 007D8 80AA2178 944B0F08 */ lhu $t3, 0x0F08($v0) ## 8015F568 -/* 007DC 80AA217C 3C0D80AA */ lui $t5, %hi(func_80AA21C8) ## $t5 = 80AA0000 -/* 007E0 80AA2180 25AD21C8 */ addiu $t5, $t5, %lo(func_80AA21C8) ## $t5 = 80AA21C8 -/* 007E4 80AA2184 356C4000 */ ori $t4, $t3, 0x4000 ## $t4 = 00004000 -/* 007E8 80AA2188 A44C0F08 */ sh $t4, 0x0F08($v0) ## 8015F568 -/* 007EC 80AA218C AC6D0190 */ sw $t5, 0x0190($v1) ## 00000190 -/* 007F0 80AA2190 8FAF0024 */ lw $t7, 0x0024($sp) -/* 007F4 80AA2194 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 007F8 80AA2198 240E0004 */ addiu $t6, $zero, 0x0004 ## $t6 = 00000004 -/* 007FC 80AA219C 002F0821 */ addu $at, $at, $t7 -/* 00800 80AA21A0 10000005 */ beq $zero, $zero, .L80AA21B8 -/* 00804 80AA21A4 A42E04C6 */ sh $t6, 0x04C6($at) ## 000104C6 -.L80AA21A8: -/* 00808 80AA21A8 8C580680 */ lw $t8, 0x0680($v0) ## 8015ECE0 -/* 0080C 80AA21AC 3C010080 */ lui $at, 0x0080 ## $at = 00800000 -/* 00810 80AA21B0 0301C825 */ or $t9, $t8, $at ## $t9 = 00800000 -/* 00814 80AA21B4 AC590680 */ sw $t9, 0x0680($v0) ## 8015ECE0 -.L80AA21B8: -/* 00818 80AA21B8 8FBF001C */ lw $ra, 0x001C($sp) -/* 0081C 80AA21BC 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000 -/* 00820 80AA21C0 03E00008 */ jr $ra -/* 00824 80AA21C4 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ma2/func_80AA21C8.s b/asm/non_matchings/overlays/actors/ovl_En_Ma2/func_80AA21C8.s deleted file mode 100644 index 5c7c6b9fa4..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Ma2/func_80AA21C8.s +++ /dev/null @@ -1,47 +0,0 @@ -glabel func_80AA21C8 -/* 00828 80AA21C8 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 0082C 80AA21CC AFBF0014 */ sw $ra, 0x0014($sp) -/* 00830 80AA21D0 84830208 */ lh $v1, 0x0208($a0) ## 00000208 -/* 00834 80AA21D4 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000 -/* 00838 80AA21D8 8CA21C44 */ lw $v0, 0x1C44($a1) ## 00001C44 -/* 0083C 80AA21DC 14600003 */ bne $v1, $zero, .L80AA21EC -/* 00840 80AA21E0 246EFFFF */ addiu $t6, $v1, 0xFFFF ## $t6 = FFFFFFFF -/* 00844 80AA21E4 10000003 */ beq $zero, $zero, .L80AA21F4 -/* 00848 80AA21E8 00002025 */ or $a0, $zero, $zero ## $a0 = 00000000 -.L80AA21EC: -/* 0084C 80AA21EC A4CE0208 */ sh $t6, 0x0208($a2) ## 00000208 -/* 00850 80AA21F0 84C40208 */ lh $a0, 0x0208($a2) ## 00000208 -.L80AA21F4: -/* 00854 80AA21F4 50800007 */ beql $a0, $zero, .L80AA2214 -/* 00858 80AA21F8 84D901E0 */ lh $t9, 0x01E0($a2) ## 000001E0 -/* 0085C 80AA21FC 8C4F0680 */ lw $t7, 0x0680($v0) ## 00000680 -/* 00860 80AA2200 3C010080 */ lui $at, 0x0080 ## $at = 00800000 -/* 00864 80AA2204 01E1C025 */ or $t8, $t7, $at ## $t8 = 00800000 -/* 00868 80AA2208 10000013 */ beq $zero, $zero, .L80AA2258 -/* 0086C 80AA220C AC580680 */ sw $t8, 0x0680($v0) ## 00000680 -/* 00870 80AA2210 84D901E0 */ lh $t9, 0x01E0($a2) ## 000001E0 -.L80AA2214: -/* 00874 80AA2214 3C01FFFE */ lui $at, 0xFFFE ## $at = FFFE0000 -/* 00878 80AA2218 3421FFFF */ ori $at, $at, 0xFFFF ## $at = FFFEFFFF -/* 0087C 80AA221C 17200009 */ bne $t9, $zero, .L80AA2244 -/* 00880 80AA2220 3C0C80AA */ lui $t4, %hi(func_80AA2018) ## $t4 = 80AA0000 -/* 00884 80AA2224 8CC80004 */ lw $t0, 0x0004($a2) ## 00000004 -/* 00888 80AA2228 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 0088C 80AA222C 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000 -/* 00890 80AA2230 01014825 */ or $t1, $t0, $at ## $t1 = 00010000 -/* 00894 80AA2234 0C041B33 */ jal func_80106CCC -/* 00898 80AA2238 ACC90004 */ sw $t1, 0x0004($a2) ## 00000004 -/* 0089C 80AA223C 10000007 */ beq $zero, $zero, .L80AA225C -/* 008A0 80AA2240 8FBF0014 */ lw $ra, 0x0014($sp) -.L80AA2244: -/* 008A4 80AA2244 8CCA0004 */ lw $t2, 0x0004($a2) ## 00000004 -/* 008A8 80AA2248 258C2018 */ addiu $t4, $t4, %lo(func_80AA2018) ## $t4 = 00002018 -/* 008AC 80AA224C ACCC0190 */ sw $t4, 0x0190($a2) ## 00000190 -/* 008B0 80AA2250 01415824 */ and $t3, $t2, $at -/* 008B4 80AA2254 ACCB0004 */ sw $t3, 0x0004($a2) ## 00000004 -.L80AA2258: -/* 008B8 80AA2258 8FBF0014 */ lw $ra, 0x0014($sp) -.L80AA225C: -/* 008BC 80AA225C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 008C0 80AA2260 03E00008 */ jr $ra -/* 008C4 80AA2264 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ma2/func_80AA2354.s b/asm/non_matchings/overlays/actors/ovl_En_Ma2/func_80AA2354.s deleted file mode 100644 index 14cae4cf63..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Ma2/func_80AA2354.s +++ /dev/null @@ -1,166 +0,0 @@ -.late_rodata -glabel D_80AA2938 - .float 3.14159274101 - -glabel D_80AA293C - .float 3.14159274101 - -glabel D_80AA2940 - .float 3.14159274101 - -glabel D_80AA2944 - .float 3.14159274101 - -.text -glabel func_80AA2354 -/* 009B4 80AA2354 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8 -/* 009B8 80AA2358 AFB00018 */ sw $s0, 0x0018($sp) -/* 009BC 80AA235C 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003 -/* 009C0 80AA2360 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000 -/* 009C4 80AA2364 AFBF001C */ sw $ra, 0x001C($sp) -/* 009C8 80AA2368 AFA40038 */ sw $a0, 0x0038($sp) -/* 009CC 80AA236C 10A10004 */ beq $a1, $at, .L80AA2380 -/* 009D0 80AA2370 AFA70044 */ sw $a3, 0x0044($sp) -/* 009D4 80AA2374 24010006 */ addiu $at, $zero, 0x0006 ## $at = 00000006 -/* 009D8 80AA2378 54A10003 */ bnel $a1, $at, .L80AA2388 -/* 009DC 80AA237C 24010012 */ addiu $at, $zero, 0x0012 ## $at = 00000012 -.L80AA2380: -/* 009E0 80AA2380 ACC00000 */ sw $zero, 0x0000($a2) ## 00000000 -/* 009E4 80AA2384 24010012 */ addiu $at, $zero, 0x0012 ## $at = 00000012 -.L80AA2388: -/* 009E8 80AA2388 5601002E */ bnel $s0, $at, .L80AA2444 -/* 009EC 80AA238C 2401000B */ addiu $at, $zero, 0x000B ## $at = 0000000B -/* 009F0 80AA2390 44807000 */ mtc1 $zero, $f14 ## $f14 = 0.00 -/* 009F4 80AA2394 3C0144AF */ lui $at, 0x44AF ## $at = 44AF0000 -/* 009F8 80AA2398 44816000 */ mtc1 $at, $f12 ## $f12 = 1400.00 -/* 009FC 80AA239C 44067000 */ mfc1 $a2, $f14 -/* 00A00 80AA23A0 0C034261 */ jal Matrix_Translate -/* 00A04 80AA23A4 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 00A08 80AA23A8 8FAF004C */ lw $t7, 0x004C($sp) -/* 00A0C 80AA23AC 27AE002C */ addiu $t6, $sp, 0x002C ## $t6 = FFFFFFF4 -/* 00A10 80AA23B0 3C014700 */ lui $at, 0x4700 ## $at = 47000000 -/* 00A14 80AA23B4 89F901E8 */ lwl $t9, 0x01E8($t7) ## 000001E8 -/* 00A18 80AA23B8 99F901EB */ lwr $t9, 0x01EB($t7) ## 000001EB -/* 00A1C 80AA23BC 44814000 */ mtc1 $at, $f8 ## $f8 = 32768.00 -/* 00A20 80AA23C0 3C0180AA */ lui $at, %hi(D_80AA2938) ## $at = 80AA0000 -/* 00A24 80AA23C4 ADD90000 */ sw $t9, 0x0000($t6) ## FFFFFFF4 -/* 00A28 80AA23C8 95F901EC */ lhu $t9, 0x01EC($t7) ## 000001EC -/* 00A2C 80AA23CC 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 00A30 80AA23D0 A5D90004 */ sh $t9, 0x0004($t6) ## FFFFFFF8 -/* 00A34 80AA23D4 87A8002E */ lh $t0, 0x002E($sp) -/* 00A38 80AA23D8 C4302938 */ lwc1 $f16, %lo(D_80AA2938)($at) -/* 00A3C 80AA23DC 44882000 */ mtc1 $t0, $f4 ## $f4 = 0.00 -/* 00A40 80AA23E0 00000000 */ nop -/* 00A44 80AA23E4 468021A0 */ cvt.s.w $f6, $f4 -/* 00A48 80AA23E8 46083283 */ div.s $f10, $f6, $f8 -/* 00A4C 80AA23EC 46105302 */ mul.s $f12, $f10, $f16 -/* 00A50 80AA23F0 0C0342DC */ jal Matrix_RotateX -/* 00A54 80AA23F4 00000000 */ nop -/* 00A58 80AA23F8 87A9002C */ lh $t1, 0x002C($sp) -/* 00A5C 80AA23FC 3C014700 */ lui $at, 0x4700 ## $at = 47000000 -/* 00A60 80AA2400 44813000 */ mtc1 $at, $f6 ## $f6 = 32768.00 -/* 00A64 80AA2404 44899000 */ mtc1 $t1, $f18 ## $f18 = 0.00 -/* 00A68 80AA2408 3C0180AA */ lui $at, %hi(D_80AA293C) ## $at = 80AA0000 -/* 00A6C 80AA240C C42A293C */ lwc1 $f10, %lo(D_80AA293C)($at) -/* 00A70 80AA2410 46809120 */ cvt.s.w $f4, $f18 -/* 00A74 80AA2414 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 00A78 80AA2418 46062203 */ div.s $f8, $f4, $f6 -/* 00A7C 80AA241C 460A4302 */ mul.s $f12, $f8, $f10 -/* 00A80 80AA2420 0C0343B5 */ jal Matrix_RotateZ -/* 00A84 80AA2424 00000000 */ nop -/* 00A88 80AA2428 44807000 */ mtc1 $zero, $f14 ## $f14 = 0.00 -/* 00A8C 80AA242C 3C01C4AF */ lui $at, 0xC4AF ## $at = C4AF0000 -/* 00A90 80AA2430 44816000 */ mtc1 $at, $f12 ## $f12 = -1400.00 -/* 00A94 80AA2434 44067000 */ mfc1 $a2, $f14 -/* 00A98 80AA2438 0C034261 */ jal Matrix_Translate -/* 00A9C 80AA243C 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 00AA0 80AA2440 2401000B */ addiu $at, $zero, 0x000B ## $at = 0000000B -.L80AA2444: -/* 00AA4 80AA2444 16010022 */ bne $s0, $at, .L80AA24D0 -/* 00AA8 80AA2448 8FAB004C */ lw $t3, 0x004C($sp) -/* 00AAC 80AA244C 896D01EE */ lwl $t5, 0x01EE($t3) ## 000001EE -/* 00AB0 80AA2450 996D01F1 */ lwr $t5, 0x01F1($t3) ## 000001F1 -/* 00AB4 80AA2454 27AA002C */ addiu $t2, $sp, 0x002C ## $t2 = FFFFFFF4 -/* 00AB8 80AA2458 3C014700 */ lui $at, 0x4700 ## $at = 47000000 -/* 00ABC 80AA245C AD4D0000 */ sw $t5, 0x0000($t2) ## FFFFFFF4 -/* 00AC0 80AA2460 956D01F2 */ lhu $t5, 0x01F2($t3) ## 000001F2 -/* 00AC4 80AA2464 44812000 */ mtc1 $at, $f4 ## $f4 = 32768.00 -/* 00AC8 80AA2468 3C0180AA */ lui $at, %hi(D_80AA2940) ## $at = 80AA0000 -/* 00ACC 80AA246C A54D0004 */ sh $t5, 0x0004($t2) ## FFFFFFF8 -/* 00AD0 80AA2470 87AE002E */ lh $t6, 0x002E($sp) -/* 00AD4 80AA2474 C4282940 */ lwc1 $f8, %lo(D_80AA2940)($at) -/* 00AD8 80AA2478 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 00ADC 80AA247C 000E7823 */ subu $t7, $zero, $t6 -/* 00AE0 80AA2480 448F8000 */ mtc1 $t7, $f16 ## $f16 = 0.00 -/* 00AE4 80AA2484 00000000 */ nop -/* 00AE8 80AA2488 468084A0 */ cvt.s.w $f18, $f16 -/* 00AEC 80AA248C 46049183 */ div.s $f6, $f18, $f4 -/* 00AF0 80AA2490 46083302 */ mul.s $f12, $f6, $f8 -/* 00AF4 80AA2494 0C034348 */ jal Matrix_RotateY -/* 00AF8 80AA2498 00000000 */ nop -/* 00AFC 80AA249C 87B8002C */ lh $t8, 0x002C($sp) -/* 00B00 80AA24A0 3C014700 */ lui $at, 0x4700 ## $at = 47000000 -/* 00B04 80AA24A4 44819000 */ mtc1 $at, $f18 ## $f18 = 32768.00 -/* 00B08 80AA24A8 0018C823 */ subu $t9, $zero, $t8 -/* 00B0C 80AA24AC 44995000 */ mtc1 $t9, $f10 ## $f10 = 0.00 -/* 00B10 80AA24B0 3C0180AA */ lui $at, %hi(D_80AA2944) ## $at = 80AA0000 -/* 00B14 80AA24B4 C4262944 */ lwc1 $f6, %lo(D_80AA2944)($at) -/* 00B18 80AA24B8 46805420 */ cvt.s.w $f16, $f10 -/* 00B1C 80AA24BC 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 00B20 80AA24C0 46128103 */ div.s $f4, $f16, $f18 -/* 00B24 80AA24C4 46062302 */ mul.s $f12, $f4, $f6 -/* 00B28 80AA24C8 0C0342DC */ jal Matrix_RotateX -/* 00B2C 80AA24CC 00000000 */ nop -.L80AA24D0: -/* 00B30 80AA24D0 2401000B */ addiu $at, $zero, 0x000B ## $at = 0000000B -/* 00B34 80AA24D4 12010005 */ beq $s0, $at, .L80AA24EC -/* 00B38 80AA24D8 8FA8004C */ lw $t0, 0x004C($sp) -/* 00B3C 80AA24DC 2401000C */ addiu $at, $zero, 0x000C ## $at = 0000000C -/* 00B40 80AA24E0 12010002 */ beq $s0, $at, .L80AA24EC -/* 00B44 80AA24E4 2401000F */ addiu $at, $zero, 0x000F ## $at = 0000000F -/* 00B48 80AA24E8 16010024 */ bne $s0, $at, .L80AA257C -.L80AA24EC: -/* 00B4C 80AA24EC 00104880 */ sll $t1, $s0, 2 -/* 00B50 80AA24F0 01304823 */ subu $t1, $t1, $s0 -/* 00B54 80AA24F4 00094840 */ sll $t1, $t1, 1 -/* 00B58 80AA24F8 01091821 */ addu $v1, $t0, $t1 -/* 00B5C 80AA24FC 84640214 */ lh $a0, 0x0214($v1) ## 00000214 -/* 00B60 80AA2500 0C01DE1C */ jal Math_Sins - ## sins? -/* 00B64 80AA2504 AFA30024 */ sw $v1, 0x0024($sp) -/* 00B68 80AA2508 8FA20048 */ lw $v0, 0x0048($sp) -/* 00B6C 80AA250C 3C014348 */ lui $at, 0x4348 ## $at = 43480000 -/* 00B70 80AA2510 44818000 */ mtc1 $at, $f16 ## $f16 = 200.00 -/* 00B74 80AA2514 844A0002 */ lh $t2, 0x0002($v0) ## 00000002 -/* 00B78 80AA2518 8FA30024 */ lw $v1, 0x0024($sp) -/* 00B7C 80AA251C 46100482 */ mul.s $f18, $f0, $f16 -/* 00B80 80AA2520 448A4000 */ mtc1 $t2, $f8 ## $f8 = 0.00 -/* 00B84 80AA2524 00000000 */ nop -/* 00B88 80AA2528 468042A0 */ cvt.s.w $f10, $f8 -/* 00B8C 80AA252C 46125100 */ add.s $f4, $f10, $f18 -/* 00B90 80AA2530 4600218D */ trunc.w.s $f6, $f4 -/* 00B94 80AA2534 440C3000 */ mfc1 $t4, $f6 -/* 00B98 80AA2538 00000000 */ nop -/* 00B9C 80AA253C A44C0002 */ sh $t4, 0x0002($v0) ## 00000002 -/* 00BA0 80AA2540 0C01DE0D */ jal Math_Coss - ## coss? -/* 00BA4 80AA2544 84640216 */ lh $a0, 0x0216($v1) ## 00000216 -/* 00BA8 80AA2548 8FA20048 */ lw $v0, 0x0048($sp) -/* 00BAC 80AA254C 3C014348 */ lui $at, 0x4348 ## $at = 43480000 -/* 00BB0 80AA2550 44815000 */ mtc1 $at, $f10 ## $f10 = 200.00 -/* 00BB4 80AA2554 844D0004 */ lh $t5, 0x0004($v0) ## 00000004 -/* 00BB8 80AA2558 460A0482 */ mul.s $f18, $f0, $f10 -/* 00BBC 80AA255C 448D4000 */ mtc1 $t5, $f8 ## $f8 = 0.00 -/* 00BC0 80AA2560 00000000 */ nop -/* 00BC4 80AA2564 46804420 */ cvt.s.w $f16, $f8 -/* 00BC8 80AA2568 46128100 */ add.s $f4, $f16, $f18 -/* 00BCC 80AA256C 4600218D */ trunc.w.s $f6, $f4 -/* 00BD0 80AA2570 440F3000 */ mfc1 $t7, $f6 -/* 00BD4 80AA2574 00000000 */ nop -/* 00BD8 80AA2578 A44F0004 */ sh $t7, 0x0004($v0) ## 00000004 -.L80AA257C: -/* 00BDC 80AA257C 8FBF001C */ lw $ra, 0x001C($sp) -/* 00BE0 80AA2580 8FB00018 */ lw $s0, 0x0018($sp) -/* 00BE4 80AA2584 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000 -/* 00BE8 80AA2588 03E00008 */ jr $ra -/* 00BEC 80AA258C 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ma2/func_80AA2590.s b/asm/non_matchings/overlays/actors/ovl_En_Ma2/func_80AA2590.s deleted file mode 100644 index e049217d59..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Ma2/func_80AA2590.s +++ /dev/null @@ -1,73 +0,0 @@ -.rdata -glabel D_80AA28D0 - .asciz "../z_en_ma2.c" - .balign 4 - -glabel D_80AA28E0 - .asciz "../z_en_ma2.c" - .balign 4 - -.text -glabel func_80AA2590 -/* 00BF0 80AA2590 27BDFFB8 */ addiu $sp, $sp, 0xFFB8 ## $sp = FFFFFFB8 -/* 00BF4 80AA2594 3C0F80AA */ lui $t7, %hi(D_80AA28A8) ## $t7 = 80AA0000 -/* 00BF8 80AA2598 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00BFC 80AA259C AFA40048 */ sw $a0, 0x0048($sp) -/* 00C00 80AA25A0 AFA5004C */ sw $a1, 0x004C($sp) -/* 00C04 80AA25A4 AFA60050 */ sw $a2, 0x0050($sp) -/* 00C08 80AA25A8 AFA70054 */ sw $a3, 0x0054($sp) -/* 00C0C 80AA25AC 25EF28A8 */ addiu $t7, $t7, %lo(D_80AA28A8) ## $t7 = 80AA28A8 -/* 00C10 80AA25B0 8DF90000 */ lw $t9, 0x0000($t7) ## 80AA28A8 -/* 00C14 80AA25B4 27AE0038 */ addiu $t6, $sp, 0x0038 ## $t6 = FFFFFFF0 -/* 00C18 80AA25B8 8DF80004 */ lw $t8, 0x0004($t7) ## 80AA28AC -/* 00C1C 80AA25BC ADD90000 */ sw $t9, 0x0000($t6) ## FFFFFFF0 -/* 00C20 80AA25C0 8DF90008 */ lw $t9, 0x0008($t7) ## 80AA28B0 -/* 00C24 80AA25C4 ADD80004 */ sw $t8, 0x0004($t6) ## FFFFFFF4 -/* 00C28 80AA25C8 3C0680AA */ lui $a2, %hi(D_80AA28D0) ## $a2 = 80AA0000 -/* 00C2C 80AA25CC ADD90008 */ sw $t9, 0x0008($t6) ## FFFFFFF8 -/* 00C30 80AA25D0 8FA80048 */ lw $t0, 0x0048($sp) -/* 00C34 80AA25D4 24C628D0 */ addiu $a2, $a2, %lo(D_80AA28D0) ## $a2 = 80AA28D0 -/* 00C38 80AA25D8 24070388 */ addiu $a3, $zero, 0x0388 ## $a3 = 00000388 -/* 00C3C 80AA25DC 8D050000 */ lw $a1, 0x0000($t0) ## 00000000 -/* 00C40 80AA25E0 27A40024 */ addiu $a0, $sp, 0x0024 ## $a0 = FFFFFFDC -/* 00C44 80AA25E4 0C031AB1 */ jal Graph_OpenDisps -/* 00C48 80AA25E8 AFA50034 */ sw $a1, 0x0034($sp) -/* 00C4C 80AA25EC 8FA9004C */ lw $t1, 0x004C($sp) -/* 00C50 80AA25F0 8FA50058 */ lw $a1, 0x0058($sp) -/* 00C54 80AA25F4 24010012 */ addiu $at, $zero, 0x0012 ## $at = 00000012 -/* 00C58 80AA25F8 15210003 */ bne $t1, $at, .L80AA2608 -/* 00C5C 80AA25FC 24A50038 */ addiu $a1, $a1, 0x0038 ## $a1 = 00000038 -/* 00C60 80AA2600 0C0346BD */ jal Matrix_MultVec3f -/* 00C64 80AA2604 27A40038 */ addiu $a0, $sp, 0x0038 ## $a0 = FFFFFFF0 -.L80AA2608: -/* 00C68 80AA2608 8FAA004C */ lw $t2, 0x004C($sp) -/* 00C6C 80AA260C 2401000E */ addiu $at, $zero, 0x000E ## $at = 0000000E -/* 00C70 80AA2610 3C0680AA */ lui $a2, %hi(D_80AA28E0) ## $a2 = 80AA0000 -/* 00C74 80AA2614 15410010 */ bne $t2, $at, .L80AA2658 -/* 00C78 80AA2618 24C628E0 */ addiu $a2, $a2, %lo(D_80AA28E0) ## $a2 = 80AA28E0 -/* 00C7C 80AA261C 8FAC0058 */ lw $t4, 0x0058($sp) -/* 00C80 80AA2620 3C0B0601 */ lui $t3, 0x0601 ## $t3 = 06010000 -/* 00C84 80AA2624 256B93BC */ addiu $t3, $t3, 0x93BC ## $t3 = 060093BC -/* 00C88 80AA2628 8D8D0154 */ lw $t5, 0x0154($t4) ## 00000154 -/* 00C8C 80AA262C 8FA40034 */ lw $a0, 0x0034($sp) -/* 00C90 80AA2630 3C0FDE00 */ lui $t7, 0xDE00 ## $t7 = DE000000 -/* 00C94 80AA2634 556D0009 */ bnel $t3, $t5, .L80AA265C -/* 00C98 80AA2638 8FB90048 */ lw $t9, 0x0048($sp) -/* 00C9C 80AA263C 8C8302C0 */ lw $v1, 0x02C0($a0) ## 000002C0 -/* 00CA0 80AA2640 3C180600 */ lui $t8, 0x0600 ## $t8 = 06000000 -/* 00CA4 80AA2644 27185420 */ addiu $t8, $t8, 0x5420 ## $t8 = 06005420 -/* 00CA8 80AA2648 246E0008 */ addiu $t6, $v1, 0x0008 ## $t6 = 00000008 -/* 00CAC 80AA264C AC8E02C0 */ sw $t6, 0x02C0($a0) ## 000002C0 -/* 00CB0 80AA2650 AC780004 */ sw $t8, 0x0004($v1) ## 00000004 -/* 00CB4 80AA2654 AC6F0000 */ sw $t7, 0x0000($v1) ## 00000000 -.L80AA2658: -/* 00CB8 80AA2658 8FB90048 */ lw $t9, 0x0048($sp) -.L80AA265C: -/* 00CBC 80AA265C 27A40024 */ addiu $a0, $sp, 0x0024 ## $a0 = FFFFFFDC -/* 00CC0 80AA2660 2407039F */ addiu $a3, $zero, 0x039F ## $a3 = 0000039F -/* 00CC4 80AA2664 0C031AD5 */ jal Graph_CloseDisps -/* 00CC8 80AA2668 8F250000 */ lw $a1, 0x0000($t9) ## 00000000 -/* 00CCC 80AA266C 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00CD0 80AA2670 27BD0048 */ addiu $sp, $sp, 0x0048 ## $sp = 00000000 -/* 00CD4 80AA2674 03E00008 */ jr $ra -/* 00CD8 80AA2678 00000000 */ nop diff --git a/data/overlays/actors/z_en_ma2.data.s b/data/overlays/actors/z_en_ma2.data.s deleted file mode 100644 index 7763e75e80..0000000000 --- a/data/overlays/actors/z_en_ma2.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_Ma2_InitVars - .word 0x00D90400, 0x02000039, 0x00D00000, 0x00000284 -.word EnMa2_Init -.word EnMa2_Destroy -.word EnMa2_Update -.word EnMa2_Draw -glabel D_80AA2820 - .word 0x0A000039, 0x20010000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000100, 0x0012002E, 0x00000000, 0x00000000 -glabel D_80AA284C - .word 0x00000000, 0x00000000, 0xFF000000 -glabel D_80AA2858 - .word 0x060007D4, 0x3F800000, 0x00000000, 0x00000000, 0x060007D4, 0x3F800000, 0x00000000, 0xC1200000, 0x060093BC, 0x3F800000, 0x00000000, 0x00000000, 0x06009EE0, 0x3F800000, 0x00000000, 0x00000000, 0x06009EE0, 0x3F800000, 0x00000000, 0xC1200000 -glabel D_80AA28A8 - .word 0x44610000, 0x00000000, 0x00000000 -glabel D_80AA28B4 - .word 0x06002970, 0x06003570, 0x06003770 -glabel D_80AA28C0 - .word 0x06002570, 0x06002C70, 0x06003070, 0x00000000 - diff --git a/data/overlays/actors/z_en_ma2.reloc.s b/data/overlays/actors/z_en_ma2.reloc.s deleted file mode 100644 index f4713fb8a0..0000000000 --- a/data/overlays/actors/z_en_ma2.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_80AA2950 - -.incbin "baserom/ovl_En_Ma2", 0xFB0, 0x00000150 diff --git a/include/functions.h b/include/functions.h index 9f8284da8e..6862c239c9 100644 --- a/include/functions.h +++ b/include/functions.h @@ -2160,6 +2160,7 @@ void func_800F59E8(u16); // ? func_800F5E90(?); void func_800F6268(f32, UNK_TYPE); // ? func_800F64E0(?); +void func_800F6584(UNK_TYPE); // ? func_800F66C0(?); // ? func_800F6700(?); // ? func_800F67A0(?); @@ -2457,6 +2458,7 @@ void func_8010B680(GlobalContext*, u16, s32); void func_8010B720(GlobalContext* globalCtx, u16 textId); // ? func_8010B820(?); // ? func_8010BD58(?); +void func_8010BD58(GlobalContext* globalCtx, u16 arg1); u8 func_8010BDBC(MessageContext* msgCtx); // ? func_8010BED8(?); // ? func_8010C358(?); diff --git a/spec b/spec index 289268f77c..ca857e184c 100644 --- a/spec +++ b/spec @@ -2913,8 +2913,7 @@ endseg beginseg name "ovl_En_Ma2" include "build/src/overlays/actors/ovl_En_Ma2/z_en_ma2.o" - include "build/data/overlays/actors/z_en_ma2.data.o" - include "build/data/overlays/actors/z_en_ma2.reloc.o" + include "build/src/overlays/actors/ovl_En_Ma2/z_en_ma2_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 1c55844c27..db9a7c0497 100644 --- a/src/overlays/actors/ovl_En_Ma1/z_en_ma1.c +++ b/src/overlays/actors/ovl_En_Ma1/z_en_ma1.c @@ -37,7 +37,7 @@ const ActorInit En_Ma1_InitVars = { (ActorFunc)EnMa1_Draw, }; -ColliderCylinderInit cylinderInit = { +static 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 } }, diff --git a/src/overlays/actors/ovl_En_Ma2/z_en_ma2.c b/src/overlays/actors/ovl_En_Ma2/z_en_ma2.c index dae18e110d..b020458443 100644 --- a/src/overlays/actors/ovl_En_Ma2/z_en_ma2.c +++ b/src/overlays/actors/ovl_En_Ma2/z_en_ma2.c @@ -7,7 +7,18 @@ void EnMa2_Destroy(EnMa2* this, GlobalContext* globalCtx); void EnMa2_Update(EnMa2* this, GlobalContext* globalCtx); void EnMa2_Draw(EnMa2* this, GlobalContext* globalCtx); -/* +u16 func_80AA19A0(GlobalContext* globalCtx, Actor* this); +s16 func_80AA1A38(GlobalContext* globalCtx, Actor* this); + +void func_80AA1AE4(EnMa2* this, GlobalContext* globalCtx); +s32 func_80AA1C68(EnMa2* this); +void func_80AA1CC0(EnMa2* this); +void func_80AA1DB4(EnMa2* this, GlobalContext* globalCtx); +void func_80AA2018(EnMa2* this, GlobalContext* globalCtx); +void func_80AA204C(EnMa2* this, GlobalContext* globalCtx); +void func_80AA20E4(EnMa2* this, GlobalContext* globalCtx); +void func_80AA21C8(EnMa2* this, GlobalContext* globalCtx); + const ActorInit En_Ma2_InitVars = { ACTOR_EN_MA2, ACTORTYPE_NPC, @@ -19,39 +30,382 @@ const ActorInit En_Ma2_InitVars = { (ActorFunc)EnMa2_Update, (ActorFunc)EnMa2_Draw, }; -*/ -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ma2/func_80AA19A0.s") -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ma2/func_80AA1A38.s") +static 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_Ma2/func_80AA1AE4.s") +CollisionCheckInfoInit2 D_80AA284C = { + 0x00, 0x0000, 0x0000, 0x0000, 0xFF, +}; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ma2/func_80AA1B58.s") +struct_D_80AA1678 D_80AA2858[] = { + { + 0x060007D4, + 1.0f, + 0x00, + 0.0f, + }, + { + 0x060007D4, + 1.0f, + 0x00, + -10.0f, + }, + { + 0x060093BC, + 1.0f, + 0x00, + 0.0f, + }, + { + 0x06009EE0, + 1.0f, + 0x00, + 0.0f, + }, + { + 0x06009EE0, + 1.0f, + 0x00, + -10.0f, + }, +}; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ma2/func_80AA1C68.s") +Vec3f D_80AA28A8 = { 900.0f, 0.0f, 0.0f }; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ma2/func_80AA1CC0.s") +u32 D_80AA28B4[] = { + 0x06002970, + 0x06003570, + 0x06003770, +}; +u32 D_80AA28C0[] = { + 0x06002570, + 0x06002C70, + 0x06003070, +}; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ma2/func_80AA1D44.s") +extern u32 D_06005420; +extern SkeletonHeader D_06008D90; +extern AnimationHeader D_060093BC; +extern AnimationHeader D_06009EE0; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ma2/func_80AA1DB4.s") +u16 func_80AA19A0(GlobalContext* globalCtx, Actor* this) { + u16 faceReaction = Text_GetFaceReaction(globalCtx, 23); + if (faceReaction != 0) { + return faceReaction; + } + if (gSaveContext.eventChkInf[1] & 0x100) { + return 0x2056; + } + if (gSaveContext.nightFlag == 1) { + if (gSaveContext.infTable[8] & 0x1000) { + return 0x2052; + } else if (gSaveContext.infTable[8] & 0x4000) { + return 0x2051; + } else { + return 0x2050; + } + } + return 0x204C; +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ma2/EnMa2_Init.s") +s16 func_80AA1A38(GlobalContext* globalCtx, Actor* this) { + s16 ret = 1; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ma2/EnMa2_Destroy.s") + switch (func_8010BDBC(&globalCtx->msgCtx)) { + case 2: + switch (this->textId) { + case 0x2051: + gSaveContext.infTable[8] |= 0x1000; + ret = 2; + break; + case 0x2053: + gSaveContext.infTable[8] |= 0x2000; + ret = 0; + break; + default: + ret = 0; + break; + } + break; + case 0: + case 1: + case 3: + case 4: + case 5: + case 6: + case 7: + case 9: + break; + } + return ret; +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ma2/func_80AA2018.s") +void func_80AA1AE4(EnMa2* this, GlobalContext* globalCtx) { + Player* player = PLAYER; + s16 phi_a3; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ma2/func_80AA204C.s") + if ((this->unk_1E0.unk_00 == 0) && (this->skelAnime.animCurrentSeg == &D_06009EE0)) { + phi_a3 = 1; + } else { + phi_a3 = 0; + } -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ma2/func_80AA20E4.s") + this->unk_1E0.unk_18 = player->actor.posRot.pos; + this->unk_1E0.unk_14 = 0.0f; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ma2/func_80AA21C8.s") + func_80034A14(&this->actor, &this->unk_1E0, 0, phi_a3); +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ma2/EnMa2_Update.s") +u16 func_80AA1B58(EnMa2* this, GlobalContext* globalCtx) { + if (gSaveContext.linkAge == 1) { + return 0; + } + if ((!(gSaveContext.eventChkInf[1] & 0x100)) && (globalCtx->sceneNum == SCENE_MALON_STABLE) && + (gSaveContext.nightFlag == 0) && (this->actor.shape.rot.z == 5)) { + return 1; + } + if ((!(gSaveContext.eventChkInf[1] & 0x100)) && (globalCtx->sceneNum == SCENE_SPOT20) && + (gSaveContext.nightFlag == 1) && (this->actor.shape.rot.z == 6)) { + return 2; + } + if ((!(gSaveContext.eventChkInf[1] & 0x100)) || (globalCtx->sceneNum != SCENE_SPOT20)) { + return 0; + } + if ((this->actor.shape.rot.z == 7) && (gSaveContext.nightFlag == 0)) { + return 3; + } + if ((this->actor.shape.rot.z == 8) && (gSaveContext.nightFlag == 1)) { + return 3; + } + return 0; +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ma2/func_80AA2354.s") +s32 func_80AA1C68(EnMa2* this) { + if (this->skelAnime.animCurrentSeg != &D_06009EE0) { + return 0; + } + if (this->unk_1E0.unk_00 != 0) { + return 0; + } + this->unk_20C = 0; + if (this->unk_20E != 2) { + return 0; + } + this->unk_210 = 2; + return 1; +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ma2/func_80AA2590.s") +void func_80AA1CC0(EnMa2* this) { + if ((!func_80AA1C68(this)) && (DECR(this->unk_20C) == 0)) { + this->unk_20E += 1; + if (this->unk_20E >= 3) { + this->unk_20C = Math_Rand_S16Offset(0x1E, 0x1E); + this->unk_20E = 0; + } + } +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ma2/EnMa2_Draw.s") +void func_80AA1D44(EnMa2* this, s32 idx) { + f32 frameCount = SkelAnime_GetFrameCount(&D_80AA2858[idx].animation->genericHeader); + + SkelAnime_ChangeAnim(&this->skelAnime, D_80AA2858[idx].animation, 1.0f, 0.0f, frameCount, D_80AA2858[idx].unk_08, + D_80AA2858[idx].transitionRate); +} + +void func_80AA1DB4(EnMa2* this, GlobalContext* globalCtx) { + if (this->skelAnime.animCurrentSeg == &D_06009EE0) { + if (this->unk_1E0.unk_00 == 0) { + if (this->unk_20A != 0) { + func_800F6584(0); + this->unk_20A = 0; + } + } else { + if (this->unk_20A == 0) { + func_800F6584(1); + this->unk_20A = 1; + } + } + } +} + +void EnMa2_Init(EnMa2* this, GlobalContext* globalCtx) { + ColliderCylinder* collider; + s32 pad; + + ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawFunc_Circle, 18.0f); + SkelAnime_InitSV(globalCtx, &this->skelAnime, &D_06008D90, NULL, NULL, NULL, 0); + collider = &this->collider; + Collider_InitCylinder(globalCtx, collider); + Collider_SetCylinder(globalCtx, collider, &this->actor, &cylinderInit); + func_80061EFC(&this->actor.colChkInfo, DamageTable_Get(0x16), &D_80AA284C); + + switch (func_80AA1B58(this, globalCtx)) { + case 1: + func_80AA1D44(this, 2); + this->actionFunc = (ActorFunc)func_80AA2018; + break; + case 2: + func_80AA1D44(this, 3); + this->actionFunc = (ActorFunc)func_80AA204C; + break; + case 3: + if (gSaveContext.infTable[8] & 0x2000) { + func_80AA1D44(this, 0); + } else { + func_80AA1D44(this, 3); + } + this->actionFunc = (ActorFunc)func_80AA2018; + break; + case 0: + 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_1E0.unk_00 = 0; +} + +void EnMa2_Destroy(EnMa2* this, GlobalContext* globalCtx) { + SkelAnime_Free(&this->skelAnime, globalCtx); + Collider_DestroyCylinder(globalCtx, &this->collider); +} + +void func_80AA2018(EnMa2* this, GlobalContext* globalCtx) { + if (this->unk_1E0.unk_00 == 2) { + this->actor.flags &= ~0x10000; + this->unk_1E0.unk_00 = 0; + } +} + +void func_80AA204C(EnMa2* this, GlobalContext* globalCtx) { + Player* player = PLAYER; + + if (player->stateFlags2 & 0x1000000) { + player->unk_6A8 = &this->actor; + player->stateFlags2 |= 0x2000000; + func_8010BD58(globalCtx, 0x23); + this->actionFunc = (ActorFunc)func_80AA20E4; + } else if (this->actor.xzDistanceFromLink < 30.0f + (f32)this->collider.dim.radius) { + player->stateFlags2 |= 0x800000; + } +} + +void func_80AA20E4(EnMa2* this, GlobalContext* globalCtx) { + Player* player = PLAYER; + + if (globalCtx->msgCtx.unk_E3EE >= 4) { + this->actionFunc = (ActorFunc)func_80AA204C; + globalCtx->msgCtx.unk_E3EE = 4; + } else if (globalCtx->msgCtx.unk_E3EE == 3) { + Audio_PlaySoundGeneral(NA_SE_SY_CORRECT_CHIME, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8); + this->unk_208 = 0x1E; + gSaveContext.infTable[8] |= 0x4000; + this->actionFunc = (ActorFunc)func_80AA21C8; + globalCtx->msgCtx.unk_E3EE = 4; + } else { + player->stateFlags2 |= 0x800000; + } +} + +void func_80AA21C8(EnMa2* this, GlobalContext* globalCtx) { + Player* player = PLAYER; + + if (DECR(this->unk_208)) { + player->stateFlags2 |= 0x800000; + } else { + if (this->unk_1E0.unk_00 == 0) { + this->actor.flags |= 0x10000; + func_80106CCC(globalCtx); + } else { + this->actor.flags &= ~0x10000; + this->actionFunc = (ActorFunc)func_80AA2018; + } + } +} + +void EnMa2_Update(EnMa2* 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_80AA1CC0(this); + this->actionFunc(this, globalCtx); + func_80AA1DB4(this, globalCtx); + func_80AA1AE4(this, globalCtx); + if (this->actionFunc != (ActorFunc)func_80AA20E4) { + func_800343CC(globalCtx, &this->actor, &this->unk_1E0.unk_00, (f32)this->collider.dim.radius + 30.0f, + func_80AA19A0, func_80AA1A38); + } +} + +s32 EnMa2_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* this) { + EnMa2* thisx = (EnMa2*)this; + Vec3s tempVec; + + if ((limbIndex == 3) || (limbIndex == 6)) { + *dList = NULL; + } + if (limbIndex == 18) { + Matrix_Translate(1400.0f, 0.0f, 0.0f, MTXMODE_APPLY); + tempVec = thisx->unk_1E0.unk_08; + Matrix_RotateX((tempVec.y / 32768.0f) * M_PI, MTXMODE_APPLY); + Matrix_RotateZ((tempVec.x / 32768.0f) * M_PI, MTXMODE_APPLY); + Matrix_Translate(-1400.0f, 0.0f, 0.0f, MTXMODE_APPLY); + } + if (limbIndex == 11) { + tempVec = thisx->unk_1E0.unk_0E; + Matrix_RotateY((-tempVec.y / 32768.0f) * M_PI, MTXMODE_APPLY); + Matrix_RotateX((-tempVec.x / 32768.0f) * M_PI, MTXMODE_APPLY); + } + if ((limbIndex == 11) || (limbIndex == 12) || (limbIndex == 15)) { + rot->y += Math_Sins(thisx->unk_212[limbIndex].y) * 200.0f; + rot->z += Math_Coss(thisx->unk_212[limbIndex].z) * 200.0f; + } + return 0; +} + +void EnMa2_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* this) { + EnMa2* thisx = (EnMa2*)this; + Vec3f vec = D_80AA28A8; + GraphicsContext* gfxCtx = globalCtx->state.gfxCtx; + Gfx* dispRefs[4]; + + Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_ma2.c", 904); + + if (limbIndex == 18) { + Matrix_MultVec3f(&vec, &this->posRot2.pos); + } + if ((limbIndex == 14) && (thisx->skelAnime.animCurrentSeg == &D_060093BC)) { + gSPDisplayList(gfxCtx->polyOpa.p++, &D_06005420); + } + + Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_ma2.c", 927); +} + +void EnMa2_Draw(EnMa2* this, GlobalContext* globalCtx) { + Camera* camera; + f32 someFloat; + GraphicsContext* gfxCtx = globalCtx->state.gfxCtx; + Gfx* dispRefs[6]; + + Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_ma2.c", 955); + camera = globalCtx->cameraPtrs[globalCtx->activeCamera]; + someFloat = Math_Vec3f_DistXZ(&this->actor.posRot.pos, &camera->eye); + func_800F6268(someFloat, 0x2F); + func_80093D18(globalCtx->state.gfxCtx); + + gSPSegment(gfxCtx->polyOpa.p++, 0x09, SEGMENTED_TO_VIRTUAL(D_80AA28B4[this->unk_210])); + gSPSegment(gfxCtx->polyOpa.p++, 0x08, SEGMENTED_TO_VIRTUAL(D_80AA28C0[this->unk_20E])); + + SkelAnime_DrawSV(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount, + EnMa2_OverrideLimbDraw, EnMa2_PostLimbDraw, &this->actor); + Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_en_ma2.c", 990); +} diff --git a/src/overlays/actors/ovl_En_Ma2/z_en_ma2.h b/src/overlays/actors/ovl_En_Ma2/z_en_ma2.h index 456fe9e86a..cd5ed62082 100644 --- a/src/overlays/actors/ovl_En_Ma2/z_en_ma2.h +++ b/src/overlays/actors/ovl_En_Ma2/z_en_ma2.h @@ -6,7 +6,16 @@ typedef struct { /* 0x0000 */ Actor actor; - /* 0x014C */ char unk_14C[0x138]; + /* 0x014C */ SkelAnime skelAnime; + /* 0x0190 */ ActorFunc actionFunc; + /* 0x0194 */ ColliderCylinder collider; + /* 0x01E0 */ struct_80034A14_arg1 unk_1E0; + /* 0x0208 */ s16 unk_208; + /* 0x020A */ s16 unk_20A; + /* 0x020C */ s16 unk_20C; + /* 0x020E */ s16 unk_20E; + /* 0x0210 */ s16 unk_210; + /* 0x0212 */ Vec3s unk_212[0x13]; } EnMa2; // size = 0x0284 extern const ActorInit En_Ma2_InitVars; diff --git a/tools/overlayhelpers/GenColliderInit.py b/tools/overlayhelpers/GenColliderInit.py old mode 100644 new mode 100755 diff --git a/undefined_syms.txt b/undefined_syms.txt index 126a62c368..37edcf7dcf 100644 --- a/undefined_syms.txt +++ b/undefined_syms.txt @@ -224,6 +224,12 @@ D_06000820 = 0x06000820; D_06008460 = 0x06008460; D_06008D64 = 0x06008D64; +// z_en_ma2 +D_06005420 = 0x06005420; +D_06008D90 = 0x06008D90; +D_060093BC = 0x060093BC; +D_06009EE0 = 0x06009EE0; + // z_en_ms D_060005EC = 0x060005EC; D_06003DC0 = 0x06003DC0;