1
0
mirror of https://github.com/zeldaret/oot.git synced 2024-09-21 04:24:43 +00:00

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
This commit is contained in:
Ethan Roseman 2020-05-01 06:08:39 -04:00 committed by GitHub
parent 4932e93ba2
commit 363d5d4194
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
28 changed files with 397 additions and 1133 deletions

View File

@ -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 \

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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(?);

3
spec
View File

@ -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

View File

@ -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 } },

View File

@ -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);
}

View File

@ -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;

0
tools/overlayhelpers/GenColliderInit.py Normal file → Executable file
View File

View File

@ -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;