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

ovl_en_mm2 OK (#636)

* decompiled ovl_en_mm2

* resolved conflicts

* add back huta

* review suggestions

* review 2 suggestions

Co-authored-by: Fig02 <fig02srl@gmail.com>
This commit is contained in:
emilybrooks 2021-02-02 14:41:03 -07:00 committed by GitHub
parent cce6880bc0
commit 7eaf57be59
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
20 changed files with 290 additions and 975 deletions

View File

@ -1,12 +0,0 @@
glabel EnMm2_Destroy
/* 003AC 80AAF1FC 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 003B0 80AAF200 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
/* 003B4 80AAF204 AFBF0014 */ sw $ra, 0x0014($sp)
/* 003B8 80AAF208 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 003BC 80AAF20C 0C0170EB */ jal Collider_DestroyCylinder
/* 003C0 80AAF210 24C50194 */ addiu $a1, $a2, 0x0194 ## $a1 = 00000194
/* 003C4 80AAF214 8FBF0014 */ lw $ra, 0x0014($sp)
/* 003C8 80AAF218 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 003CC 80AAF21C 03E00008 */ jr $ra
/* 003D0 80AAF220 00000000 */ nop

View File

@ -1,75 +0,0 @@
.rdata
glabel D_80AAFBE8
.asciz "../z_en_mm2.c"
.balign 4
glabel D_80AAFBF8
.asciz "../z_en_mm2.c"
.balign 4
.text
glabel EnMm2_Draw
/* 00A88 80AAF8D8 27BDFFB0 */ addiu $sp, $sp, 0xFFB0 ## $sp = FFFFFFB0
/* 00A8C 80AAF8DC AFBF002C */ sw $ra, 0x002C($sp)
/* 00A90 80AAF8E0 AFB00028 */ sw $s0, 0x0028($sp)
/* 00A94 80AAF8E4 AFA50054 */ sw $a1, 0x0054($sp)
/* 00A98 80AAF8E8 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000
/* 00A9C 80AAF8EC 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00AA0 80AAF8F0 3C0680AB */ lui $a2, %hi(D_80AAFBE8) ## $a2 = 80AB0000
/* 00AA4 80AAF8F4 24C6FBE8 */ addiu $a2, $a2, %lo(D_80AAFBE8) ## $a2 = 80AAFBE8
/* 00AA8 80AAF8F8 27A40038 */ addiu $a0, $sp, 0x0038 ## $a0 = FFFFFFE8
/* 00AAC 80AAF8FC 2407027A */ addiu $a3, $zero, 0x027A ## $a3 = 0000027A
/* 00AB0 80AAF900 0C031AB1 */ jal Graph_OpenDisps
/* 00AB4 80AAF904 AFA50048 */ sw $a1, 0x0048($sp)
/* 00AB8 80AAF908 8FAF0054 */ lw $t7, 0x0054($sp)
/* 00ABC 80AAF90C 0C024F46 */ jal func_80093D18
/* 00AC0 80AAF910 8DE40000 */ lw $a0, 0x0000($t7) ## 00000000
/* 00AC4 80AAF914 8FA50048 */ lw $a1, 0x0048($sp)
/* 00AC8 80AAF918 3C19DB06 */ lui $t9, 0xDB06 ## $t9 = DB060000
/* 00ACC 80AAF91C 37390020 */ ori $t9, $t9, 0x0020 ## $t9 = DB060020
/* 00AD0 80AAF920 8CA302C0 */ lw $v1, 0x02C0($a1) ## 000002C0
/* 00AD4 80AAF924 3C0480AB */ lui $a0, %hi(D_80AAFB60) ## $a0 = 80AB0000
/* 00AD8 80AAF928 3C0E8016 */ lui $t6, %hi(gSegments)
/* 00ADC 80AAF92C 24780008 */ addiu $t8, $v1, 0x0008 ## $t8 = 00000008
/* 00AE0 80AAF930 ACB802C0 */ sw $t8, 0x02C0($a1) ## 000002C0
/* 00AE4 80AAF934 AC790000 */ sw $t9, 0x0000($v1) ## 00000000
/* 00AE8 80AAF938 8E0801E0 */ lw $t0, 0x01E0($s0) ## 000001E0
/* 00AEC 80AAF93C 3C0100FF */ lui $at, 0x00FF ## $at = 00FF0000
/* 00AF0 80AAF940 3421FFFF */ ori $at, $at, 0xFFFF ## $at = 00FFFFFF
/* 00AF4 80AAF944 00084880 */ sll $t1, $t0, 2
/* 00AF8 80AAF948 00892021 */ addu $a0, $a0, $t1
/* 00AFC 80AAF94C 8C84FB60 */ lw $a0, %lo(D_80AAFB60)($a0)
/* 00B00 80AAF950 3C0880AB */ lui $t0, %hi(func_80AAFA60) ## $t0 = 80AB0000
/* 00B04 80AAF954 3C1980AB */ lui $t9, %hi(func_80AAF9D8) ## $t9 = 80AB0000
/* 00B08 80AAF958 00045900 */ sll $t3, $a0, 4
/* 00B0C 80AAF95C 000B6702 */ srl $t4, $t3, 28
/* 00B10 80AAF960 000C6880 */ sll $t5, $t4, 2
/* 00B14 80AAF964 01CD7021 */ addu $t6, $t6, $t5
/* 00B18 80AAF968 8DCE6FA8 */ lw $t6, %lo(gSegments)($t6)
/* 00B1C 80AAF96C 00815024 */ and $t2, $a0, $at
/* 00B20 80AAF970 3C018000 */ lui $at, 0x8000 ## $at = 80000000
/* 00B24 80AAF974 014E7821 */ addu $t7, $t2, $t6
/* 00B28 80AAF978 01E1C021 */ addu $t8, $t7, $at
/* 00B2C 80AAF97C AC780004 */ sw $t8, 0x0004($v1) ## 00000004
/* 00B30 80AAF980 9207014E */ lbu $a3, 0x014E($s0) ## 0000014E
/* 00B34 80AAF984 8E06016C */ lw $a2, 0x016C($s0) ## 0000016C
/* 00B38 80AAF988 8E050150 */ lw $a1, 0x0150($s0) ## 00000150
/* 00B3C 80AAF98C 2739F9D8 */ addiu $t9, $t9, %lo(func_80AAF9D8) ## $t9 = 80AAF9D8
/* 00B40 80AAF990 2508FA60 */ addiu $t0, $t0, %lo(func_80AAFA60) ## $t0 = 80AAFA60
/* 00B44 80AAF994 AFA80014 */ sw $t0, 0x0014($sp)
/* 00B48 80AAF998 AFB90010 */ sw $t9, 0x0010($sp)
/* 00B4C 80AAF99C AFB00018 */ sw $s0, 0x0018($sp)
/* 00B50 80AAF9A0 0C0286B2 */ jal SkelAnime_DrawFlexOpa
/* 00B54 80AAF9A4 8FA40054 */ lw $a0, 0x0054($sp)
/* 00B58 80AAF9A8 8FA90054 */ lw $t1, 0x0054($sp)
/* 00B5C 80AAF9AC 3C0680AB */ lui $a2, %hi(D_80AAFBF8) ## $a2 = 80AB0000
/* 00B60 80AAF9B0 24C6FBF8 */ addiu $a2, $a2, %lo(D_80AAFBF8) ## $a2 = 80AAFBF8
/* 00B64 80AAF9B4 27A40038 */ addiu $a0, $sp, 0x0038 ## $a0 = FFFFFFE8
/* 00B68 80AAF9B8 2407028E */ addiu $a3, $zero, 0x028E ## $a3 = 0000028E
/* 00B6C 80AAF9BC 0C031AD5 */ jal Graph_CloseDisps
/* 00B70 80AAF9C0 8D250000 */ lw $a1, 0x0000($t1) ## 00000000
/* 00B74 80AAF9C4 8FBF002C */ lw $ra, 0x002C($sp)
/* 00B78 80AAF9C8 8FB00028 */ lw $s0, 0x0028($sp)
/* 00B7C 80AAF9CC 27BD0050 */ addiu $sp, $sp, 0x0050 ## $sp = 00000000
/* 00B80 80AAF9D0 03E00008 */ jr $ra
/* 00B84 80AAF9D4 00000000 */ nop

View File

@ -1,133 +0,0 @@
.rdata
glabel D_80AAFB80
.asciz "\x1b[36m \n\x1b[m\n"
.balign 4
.text
glabel EnMm2_Init
/* 001EC 80AAF03C 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0
/* 001F0 80AAF040 AFA50044 */ sw $a1, 0x0044($sp)
/* 001F4 80AAF044 AFBF002C */ sw $ra, 0x002C($sp)
/* 001F8 80AAF048 AFB00028 */ sw $s0, 0x0028($sp)
/* 001FC 80AAF04C 3C0580AB */ lui $a1, %hi(D_80AAFB5C) ## $a1 = 80AB0000
/* 00200 80AAF050 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00204 80AAF054 0C01E037 */ jal Actor_ProcessInitChain
/* 00208 80AAF058 24A5FB5C */ addiu $a1, $a1, %lo(D_80AAFB5C) ## $a1 = 80AAFB5C
/* 0020C 80AAF05C 3C068003 */ lui $a2, %hi(ActorShadow_DrawCircle)
/* 00210 80AAF060 24C6B5EC */ addiu $a2, %lo(ActorShadow_DrawCircle)
/* 00214 80AAF064 260400B4 */ addiu $a0, $s0, 0x00B4 ## $a0 = 000000B4
/* 00218 80AAF068 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
/* 0021C 80AAF06C 0C00AC78 */ jal ActorShape_Init
/* 00220 80AAF070 3C0741A8 */ lui $a3, 0x41A8 ## $a3 = 41A80000
/* 00224 80AAF074 2605014C */ addiu $a1, $s0, 0x014C ## $a1 = 0000014C
/* 00228 80AAF078 3C060600 */ lui $a2, %hi(D_06005E18) ## $a2 = 06000000
/* 0022C 80AAF07C 260E01FC */ addiu $t6, $s0, 0x01FC ## $t6 = 000001FC
/* 00230 80AAF080 260F025C */ addiu $t7, $s0, 0x025C ## $t7 = 0000025C
/* 00234 80AAF084 24180010 */ addiu $t8, $zero, 0x0010 ## $t8 = 00000010
/* 00238 80AAF088 AFB80018 */ sw $t8, 0x0018($sp)
/* 0023C 80AAF08C AFAF0014 */ sw $t7, 0x0014($sp)
/* 00240 80AAF090 AFAE0010 */ sw $t6, 0x0010($sp)
/* 00244 80AAF094 24C65E18 */ addiu $a2, $a2, %lo(D_06005E18) ## $a2 = 06005E18
/* 00248 80AAF098 AFA50030 */ sw $a1, 0x0030($sp)
/* 0024C 80AAF09C 8FA40044 */ lw $a0, 0x0044($sp)
/* 00250 80AAF0A0 0C0291BE */ jal SkelAnime_InitFlex
/* 00254 80AAF0A4 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
/* 00258 80AAF0A8 3C0380AB */ lui $v1, %hi(D_80AAFAEC) ## $v1 = 80AB0000
/* 0025C 80AAF0AC 2463FAEC */ addiu $v1, $v1, %lo(D_80AAFAEC) ## $v1 = 80AAFAEC
/* 00260 80AAF0B0 0C028800 */ jal Animation_GetLastFrame
/* 00264 80AAF0B4 8C640020 */ lw $a0, 0x0020($v1) ## 80AAFB0C
/* 00268 80AAF0B8 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
/* 0026C 80AAF0BC 3C0380AB */ lui $v1, %hi(D_80AAFAEC) ## $v1 = 80AB0000
/* 00270 80AAF0C0 2463FAEC */ addiu $v1, $v1, %lo(D_80AAFAEC) ## $v1 = 80AAFAEC
/* 00274 80AAF0C4 468021A0 */ cvt.s.w $f6, $f4
/* 00278 80AAF0C8 90790028 */ lbu $t9, 0x0028($v1) ## 80AAFB14
/* 0027C 80AAF0CC C468002C */ lwc1 $f8, 0x002C($v1) ## 80AAFB18
/* 00280 80AAF0D0 8C650020 */ lw $a1, 0x0020($v1) ## 80AAFB0C
/* 00284 80AAF0D4 8FA40030 */ lw $a0, 0x0030($sp)
/* 00288 80AAF0D8 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 0028C 80AAF0DC E7A60010 */ swc1 $f6, 0x0010($sp)
/* 00290 80AAF0E0 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
/* 00294 80AAF0E4 AFB90014 */ sw $t9, 0x0014($sp)
/* 00298 80AAF0E8 0C029468 */ jal Animation_Change
/* 0029C 80AAF0EC E7A80018 */ swc1 $f8, 0x0018($sp)
/* 002A0 80AAF0F0 24080002 */ addiu $t0, $zero, 0x0002 ## $t0 = 00000002
/* 002A4 80AAF0F4 AE0801F8 */ sw $t0, 0x01F8($s0) ## 000001F8
/* 002A8 80AAF0F8 26050194 */ addiu $a1, $s0, 0x0194 ## $a1 = 00000194
/* 002AC 80AAF0FC AFA50030 */ sw $a1, 0x0030($sp)
/* 002B0 80AAF100 0C0170D9 */ jal Collider_InitCylinder
/* 002B4 80AAF104 8FA40044 */ lw $a0, 0x0044($sp)
/* 002B8 80AAF108 3C0780AB */ lui $a3, %hi(D_80AAFAC0) ## $a3 = 80AB0000
/* 002BC 80AAF10C 8FA50030 */ lw $a1, 0x0030($sp)
/* 002C0 80AAF110 24E7FAC0 */ addiu $a3, $a3, %lo(D_80AAFAC0) ## $a3 = 80AAFAC0
/* 002C4 80AAF114 8FA40044 */ lw $a0, 0x0044($sp)
/* 002C8 80AAF118 0C01712B */ jal Collider_SetCylinder
/* 002CC 80AAF11C 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
/* 002D0 80AAF120 960B01F4 */ lhu $t3, 0x01F4($s0) ## 000001F4
/* 002D4 80AAF124 3C01BF80 */ lui $at, 0xBF80 ## $at = BF800000
/* 002D8 80AAF128 44815000 */ mtc1 $at, $f10 ## $f10 = -1.00
/* 002DC 80AAF12C 860D001C */ lh $t5, 0x001C($s0) ## 0000001C
/* 002E0 80AAF130 240900FF */ addiu $t1, $zero, 0x00FF ## $t1 = 000000FF
/* 002E4 80AAF134 240A0006 */ addiu $t2, $zero, 0x0006 ## $t2 = 00000006
/* 002E8 80AAF138 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 002EC 80AAF13C 356C0001 */ ori $t4, $t3, 0x0001 ## $t4 = 00000001
/* 002F0 80AAF140 A20900AE */ sb $t1, 0x00AE($s0) ## 000000AE
/* 002F4 80AAF144 AE0001E0 */ sw $zero, 0x01E0($s0) ## 000001E0
/* 002F8 80AAF148 A20A001F */ sb $t2, 0x001F($s0) ## 0000001F
/* 002FC 80AAF14C A60C01F4 */ sh $t4, 0x01F4($s0) ## 000001F4
/* 00300 80AAF150 15A10005 */ bne $t5, $at, .L80AAF168
/* 00304 80AAF154 E60A006C */ swc1 $f10, 0x006C($s0) ## 0000006C
/* 00308 80AAF158 3C0E80AB */ lui $t6, %hi(func_80AAF668) ## $t6 = 80AB0000
/* 0030C 80AAF15C 25CEF668 */ addiu $t6, $t6, %lo(func_80AAF668) ## $t6 = 80AAF668
/* 00310 80AAF160 10000007 */ beq $zero, $zero, .L80AAF180
/* 00314 80AAF164 AE0E0190 */ sw $t6, 0x0190($s0) ## 00000190
.L80AAF168:
/* 00318 80AAF168 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 0031C 80AAF16C 0C2ABBDC */ jal func_80AAEF70
/* 00320 80AAF170 8FA50044 */ lw $a1, 0x0044($sp)
/* 00324 80AAF174 3C0F80AB */ lui $t7, %hi(func_80AAF57C) ## $t7 = 80AB0000
/* 00328 80AAF178 25EFF57C */ addiu $t7, $t7, %lo(func_80AAF57C) ## $t7 = 80AAF57C
/* 0032C 80AAF17C AE0F0190 */ sw $t7, 0x0190($s0) ## 00000190
.L80AAF180:
/* 00330 80AAF180 3C028016 */ lui $v0, %hi(gSaveContext)
/* 00334 80AAF184 2442E660 */ addiu $v0, %lo(gSaveContext)
/* 00338 80AAF188 8C580004 */ lw $t8, 0x0004($v0) ## 8015E664
/* 0033C 80AAF18C 53000006 */ beql $t8, $zero, .L80AAF1A8
/* 00340 80AAF190 8619001C */ lh $t9, 0x001C($s0) ## 0000001C
/* 00344 80AAF194 0C00B55C */ jal Actor_Kill
/* 00348 80AAF198 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 0034C 80AAF19C 3C028016 */ lui $v0, %hi(gSaveContext)
/* 00350 80AAF1A0 2442E660 */ addiu $v0, %lo(gSaveContext)
/* 00354 80AAF1A4 8619001C */ lh $t9, 0x001C($s0) ## 0000001C
.L80AAF1A8:
/* 00358 80AAF1A8 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 0035C 80AAF1AC 5721000F */ bnel $t9, $at, .L80AAF1EC
/* 00360 80AAF1B0 8FBF002C */ lw $ra, 0x002C($sp)
/* 00364 80AAF1B4 94480F26 */ lhu $t0, 0x0F26($v0) ## 8015F586
/* 00368 80AAF1B8 3C0480AB */ lui $a0, %hi(D_80AAFB80) ## $a0 = 80AB0000
/* 0036C 80AAF1BC 31098000 */ andi $t1, $t0, 0x8000 ## $t1 = 00000000
/* 00370 80AAF1C0 11200005 */ beq $t1, $zero, .L80AAF1D8
/* 00374 80AAF1C4 00000000 */ nop
/* 00378 80AAF1C8 944A13FC */ lhu $t2, 0x13FC($v0) ## 8015FA5C
/* 0037C 80AAF1CC 314B0001 */ andi $t3, $t2, 0x0001 ## $t3 = 00000000
/* 00380 80AAF1D0 55600006 */ bnel $t3, $zero, .L80AAF1EC
/* 00384 80AAF1D4 8FBF002C */ lw $ra, 0x002C($sp)
.L80AAF1D8:
/* 00388 80AAF1D8 0C00084C */ jal osSyncPrintf
/* 0038C 80AAF1DC 2484FB80 */ addiu $a0, $a0, %lo(D_80AAFB80) ## $a0 = 80AAFB80
/* 00390 80AAF1E0 0C00B55C */ jal Actor_Kill
/* 00394 80AAF1E4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00398 80AAF1E8 8FBF002C */ lw $ra, 0x002C($sp)
.L80AAF1EC:
/* 0039C 80AAF1EC 8FB00028 */ lw $s0, 0x0028($sp)
/* 003A0 80AAF1F0 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000
/* 003A4 80AAF1F4 03E00008 */ jr $ra
/* 003A8 80AAF1F8 00000000 */ nop

View File

@ -1,92 +0,0 @@
glabel EnMm2_Update
/* 00940 80AAF790 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0
/* 00944 80AAF794 AFBF002C */ sw $ra, 0x002C($sp)
/* 00948 80AAF798 AFB10028 */ sw $s1, 0x0028($sp)
/* 0094C 80AAF79C AFB00024 */ sw $s0, 0x0024($sp)
/* 00950 80AAF7A0 948E01F4 */ lhu $t6, 0x01F4($a0) ## 000001F4
/* 00954 80AAF7A4 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00958 80AAF7A8 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
/* 0095C 80AAF7AC 31CF0001 */ andi $t7, $t6, 0x0001 ## $t7 = 00000000
/* 00960 80AAF7B0 11E0000E */ beq $t7, $zero, .L80AAF7EC
/* 00964 80AAF7B4 260401E8 */ addiu $a0, $s0, 0x01E8 ## $a0 = 000001E8
/* 00968 80AAF7B8 8E190038 */ lw $t9, 0x0038($s0) ## 00000038
/* 0096C 80AAF7BC 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 00970 80AAF7C0 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 00974 80AAF7C4 AFB90010 */ sw $t9, 0x0010($sp)
/* 00978 80AAF7C8 8E18003C */ lw $t8, 0x003C($s0) ## 0000003C
/* 0097C 80AAF7CC 260601E8 */ addiu $a2, $s0, 0x01E8 ## $a2 = 000001E8
/* 00980 80AAF7D0 260701EE */ addiu $a3, $s0, 0x01EE ## $a3 = 000001EE
/* 00984 80AAF7D4 AFB80014 */ sw $t8, 0x0014($sp)
/* 00988 80AAF7D8 8E190040 */ lw $t9, 0x0040($s0) ## 00000040
/* 0098C 80AAF7DC 0C00E0A4 */ jal func_80038290
/* 00990 80AAF7E0 AFB90018 */ sw $t9, 0x0018($sp)
/* 00994 80AAF7E4 1000001D */ beq $zero, $zero, .L80AAF85C
/* 00998 80AAF7E8 8E190190 */ lw $t9, 0x0190($s0) ## 00000190
.L80AAF7EC:
/* 0099C 80AAF7EC 24080064 */ addiu $t0, $zero, 0x0064 ## $t0 = 00000064
/* 009A0 80AAF7F0 AFA80010 */ sw $t0, 0x0010($sp)
/* 009A4 80AAF7F4 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 009A8 80AAF7F8 24060006 */ addiu $a2, $zero, 0x0006 ## $a2 = 00000006
/* 009AC 80AAF7FC 0C01E1A7 */ jal Math_SmoothStepToS
/* 009B0 80AAF800 24071838 */ addiu $a3, $zero, 0x1838 ## $a3 = 00001838
/* 009B4 80AAF804 24090064 */ addiu $t1, $zero, 0x0064 ## $t1 = 00000064
/* 009B8 80AAF808 AFA90010 */ sw $t1, 0x0010($sp)
/* 009BC 80AAF80C 260401EA */ addiu $a0, $s0, 0x01EA ## $a0 = 000001EA
/* 009C0 80AAF810 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 009C4 80AAF814 24060006 */ addiu $a2, $zero, 0x0006 ## $a2 = 00000006
/* 009C8 80AAF818 0C01E1A7 */ jal Math_SmoothStepToS
/* 009CC 80AAF81C 24071838 */ addiu $a3, $zero, 0x1838 ## $a3 = 00001838
/* 009D0 80AAF820 240A0064 */ addiu $t2, $zero, 0x0064 ## $t2 = 00000064
/* 009D4 80AAF824 AFAA0010 */ sw $t2, 0x0010($sp)
/* 009D8 80AAF828 260401EE */ addiu $a0, $s0, 0x01EE ## $a0 = 000001EE
/* 009DC 80AAF82C 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 009E0 80AAF830 24060006 */ addiu $a2, $zero, 0x0006 ## $a2 = 00000006
/* 009E4 80AAF834 0C01E1A7 */ jal Math_SmoothStepToS
/* 009E8 80AAF838 24071838 */ addiu $a3, $zero, 0x1838 ## $a3 = 00001838
/* 009EC 80AAF83C 240B0064 */ addiu $t3, $zero, 0x0064 ## $t3 = 00000064
/* 009F0 80AAF840 AFAB0010 */ sw $t3, 0x0010($sp)
/* 009F4 80AAF844 260401F0 */ addiu $a0, $s0, 0x01F0 ## $a0 = 000001F0
/* 009F8 80AAF848 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 009FC 80AAF84C 24060006 */ addiu $a2, $zero, 0x0006 ## $a2 = 00000006
/* 00A00 80AAF850 0C01E1A7 */ jal Math_SmoothStepToS
/* 00A04 80AAF854 24071838 */ addiu $a3, $zero, 0x1838 ## $a3 = 00001838
/* 00A08 80AAF858 8E190190 */ lw $t9, 0x0190($s0) ## 00000190
.L80AAF85C:
/* 00A0C 80AAF85C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00A10 80AAF860 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
/* 00A14 80AAF864 0320F809 */ jalr $ra, $t9
/* 00A18 80AAF868 00000000 */ nop
/* 00A1C 80AAF86C 26060194 */ addiu $a2, $s0, 0x0194 ## $a2 = 00000194
/* 00A20 80AAF870 00C02825 */ or $a1, $a2, $zero ## $a1 = 00000194
/* 00A24 80AAF874 AFA60034 */ sw $a2, 0x0034($sp)
/* 00A28 80AAF878 0C0189B7 */ jal Collider_UpdateCylinder
/* 00A2C 80AAF87C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00A30 80AAF880 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 00A34 80AAF884 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60
/* 00A38 80AAF888 8FA60034 */ lw $a2, 0x0034($sp)
/* 00A3C 80AAF88C 02212821 */ addu $a1, $s1, $at
/* 00A40 80AAF890 0C017713 */ jal CollisionCheck_SetOC
## CollisionCheck_setOC
/* 00A44 80AAF894 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 00A48 80AAF898 0C00B638 */ jal Actor_MoveForward
/* 00A4C 80AAF89C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00A50 80AAF8A0 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
/* 00A54 80AAF8A4 240C0004 */ addiu $t4, $zero, 0x0004 ## $t4 = 00000004
/* 00A58 80AAF8A8 AFAC0014 */ sw $t4, 0x0014($sp)
/* 00A5C 80AAF8AC 44060000 */ mfc1 $a2, $f0
/* 00A60 80AAF8B0 44070000 */ mfc1 $a3, $f0
/* 00A64 80AAF8B4 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 00A68 80AAF8B8 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 00A6C 80AAF8BC 0C00B92D */ jal Actor_UpdateBgCheckInfo
/* 00A70 80AAF8C0 E7A00010 */ swc1 $f0, 0x0010($sp)
/* 00A74 80AAF8C4 8FBF002C */ lw $ra, 0x002C($sp)
/* 00A78 80AAF8C8 8FB00024 */ lw $s0, 0x0024($sp)
/* 00A7C 80AAF8CC 8FB10028 */ lw $s1, 0x0028($sp)
/* 00A80 80AAF8D0 03E00008 */ jr $ra
/* 00A84 80AAF8D4 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000

View File

@ -1,82 +0,0 @@
glabel func_80AAEE50
/* 00000 80AAEE50 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8
/* 00004 80AAEE54 AFBF0024 */ sw $ra, 0x0024($sp)
/* 00008 80AAEE58 AFA40038 */ sw $a0, 0x0038($sp)
/* 0000C 80AAEE5C AFA60040 */ sw $a2, 0x0040($sp)
/* 00010 80AAEE60 8CC20000 */ lw $v0, 0x0000($a2) ## 00000000
/* 00014 80AAEE64 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00
/* 00018 80AAEE68 00057900 */ sll $t7, $a1, 4
/* 0001C 80AAEE6C 04400003 */ bltz $v0, .L80AAEE7C
/* 00020 80AAEE70 3C1880AB */ lui $t8, %hi(D_80AAFAEC) ## $t8 = 80AB0000
/* 00024 80AAEE74 14A20005 */ bne $a1, $v0, .L80AAEE8C
/* 00028 80AAEE78 0005C900 */ sll $t9, $a1, 4
.L80AAEE7C:
/* 0002C 80AAEE7C 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
/* 00030 80AAEE80 2718FAEC */ addiu $t8, $t8, %lo(D_80AAFAEC) ## $t8 = 80AAFAEC
/* 00034 80AAEE84 10000005 */ beq $zero, $zero, .L80AAEE9C
/* 00038 80AAEE88 01F81821 */ addu $v1, $t7, $t8
.L80AAEE8C:
/* 0003C 80AAEE8C 3C0880AB */ lui $t0, %hi(D_80AAFAEC) ## $t0 = 80AB0000
/* 00040 80AAEE90 2508FAEC */ addiu $t0, $t0, %lo(D_80AAFAEC) ## $t0 = 80AAFAEC
/* 00044 80AAEE94 03281821 */ addu $v1, $t9, $t0
/* 00048 80AAEE98 C460000C */ lwc1 $f0, 0x000C($v1) ## 0000000C
.L80AAEE9C:
/* 0004C 80AAEE9C C4640004 */ lwc1 $f4, 0x0004($v1) ## 00000004
/* 00050 80AAEEA0 4604303E */ c.le.s $f6, $f4
/* 00054 80AAEEA4 00000000 */ nop
/* 00058 80AAEEA8 45020017 */ bc1fl .L80AAEF08
/* 0005C 80AAEEAC 8C640000 */ lw $a0, 0x0000($v1) ## 00000000
/* 00060 80AAEEB0 8C640000 */ lw $a0, 0x0000($v1) ## 00000000
/* 00064 80AAEEB4 AFA3002C */ sw $v1, 0x002C($sp)
/* 00068 80AAEEB8 AFA5003C */ sw $a1, 0x003C($sp)
/* 0006C 80AAEEBC 0C028800 */ jal Animation_GetLastFrame
/* 00070 80AAEEC0 E7A00034 */ swc1 $f0, 0x0034($sp)
/* 00074 80AAEEC4 44824000 */ mtc1 $v0, $f8 ## $f8 = 0.00
/* 00078 80AAEEC8 8FA3002C */ lw $v1, 0x002C($sp)
/* 0007C 80AAEECC C7A00034 */ lwc1 $f0, 0x0034($sp)
/* 00080 80AAEED0 468042A0 */ cvt.s.w $f10, $f8
/* 00084 80AAEED4 8FA40038 */ lw $a0, 0x0038($sp)
/* 00088 80AAEED8 90690008 */ lbu $t1, 0x0008($v1) ## 00000008
/* 0008C 80AAEEDC 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
/* 00090 80AAEEE0 8C650000 */ lw $a1, 0x0000($v1) ## 00000000
/* 00094 80AAEEE4 8C660004 */ lw $a2, 0x0004($v1) ## 00000004
/* 00098 80AAEEE8 E7AA0010 */ swc1 $f10, 0x0010($sp)
/* 0009C 80AAEEEC E7A00018 */ swc1 $f0, 0x0018($sp)
/* 000A0 80AAEEF0 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 000A4 80AAEEF4 0C029468 */ jal Animation_Change
/* 000A8 80AAEEF8 AFA90014 */ sw $t1, 0x0014($sp)
/* 000AC 80AAEEFC 10000016 */ beq $zero, $zero, .L80AAEF58
/* 000B0 80AAEF00 8FAB003C */ lw $t3, 0x003C($sp)
/* 000B4 80AAEF04 8C640000 */ lw $a0, 0x0000($v1) ## 00000000
.L80AAEF08:
/* 000B8 80AAEF08 AFA3002C */ sw $v1, 0x002C($sp)
/* 000BC 80AAEF0C AFA5003C */ sw $a1, 0x003C($sp)
/* 000C0 80AAEF10 0C028800 */ jal Animation_GetLastFrame
/* 000C4 80AAEF14 E7A00034 */ swc1 $f0, 0x0034($sp)
/* 000C8 80AAEF18 44828000 */ mtc1 $v0, $f16 ## $f16 = 0.00
/* 000CC 80AAEF1C 8FA3002C */ lw $v1, 0x002C($sp)
/* 000D0 80AAEF20 C7A00034 */ lwc1 $f0, 0x0034($sp)
/* 000D4 80AAEF24 46808420 */ cvt.s.w $f16, $f16
/* 000D8 80AAEF28 8FA40038 */ lw $a0, 0x0038($sp)
/* 000DC 80AAEF2C 44809000 */ mtc1 $zero, $f18 ## $f18 = 0.00
/* 000E0 80AAEF30 906A0008 */ lbu $t2, 0x0008($v1) ## 00000008
/* 000E4 80AAEF34 8C650000 */ lw $a1, 0x0000($v1) ## 00000000
/* 000E8 80AAEF38 8C660004 */ lw $a2, 0x0004($v1) ## 00000004
/* 000EC 80AAEF3C 44078000 */ mfc1 $a3, $f16
/* 000F0 80AAEF40 E7A00018 */ swc1 $f0, 0x0018($sp)
/* 000F4 80AAEF44 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 000F8 80AAEF48 AFAA0014 */ sw $t2, 0x0014($sp)
/* 000FC 80AAEF4C 0C029468 */ jal Animation_Change
/* 00100 80AAEF50 E7B20010 */ swc1 $f18, 0x0010($sp)
/* 00104 80AAEF54 8FAB003C */ lw $t3, 0x003C($sp)
.L80AAEF58:
/* 00108 80AAEF58 8FAC0040 */ lw $t4, 0x0040($sp)
/* 0010C 80AAEF5C AD8B0000 */ sw $t3, 0x0000($t4) ## 00000000
/* 00110 80AAEF60 8FBF0024 */ lw $ra, 0x0024($sp)
/* 00114 80AAEF64 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000
/* 00118 80AAEF68 03E00008 */ jr $ra
/* 0011C 80AAEF6C 00000000 */ nop

View File

@ -1,62 +0,0 @@
glabel func_80AAEF70
/* 00120 80AAEF70 3C028016 */ lui $v0, %hi(gSaveContext)
/* 00124 80AAEF74 2442E660 */ addiu $v0, %lo(gSaveContext)
/* 00128 80AAEF78 944E0EE6 */ lhu $t6, 0x0EE6($v0) ## 8015F546
/* 0012C 80AAEF7C 2401000F */ addiu $at, $zero, 0x000F ## $at = 0000000F
/* 00130 80AAEF80 AFA50004 */ sw $a1, 0x0004($sp)
/* 00134 80AAEF84 31CF000F */ andi $t7, $t6, 0x000F ## $t7 = 00000000
/* 00138 80AAEF88 11E10003 */ beq $t7, $at, .L80AAEF98
/* 0013C 80AAEF8C 24186086 */ addiu $t8, $zero, 0x6086 ## $t8 = 00006086
/* 00140 80AAEF90 03E00008 */ jr $ra
/* 00144 80AAEF94 A498010E */ sh $t8, 0x010E($a0) ## 0000010E
.L80AAEF98:
/* 00148 80AAEF98 94590F26 */ lhu $t9, 0x0F26($v0) ## 8015F586
/* 0014C 80AAEF9C 33288000 */ andi $t0, $t9, 0x8000 ## $t0 = 00000000
/* 00150 80AAEFA0 51000018 */ beql $t0, $zero, .L80AAF004
/* 00154 80AAEFA4 845913D2 */ lh $t9, 0x13D2($v0) ## 8015FA32
/* 00158 80AAEFA8 944913FC */ lhu $t1, 0x13FC($v0) ## 8015FA5C
/* 0015C 80AAEFAC 240B6082 */ addiu $t3, $zero, 0x6082 ## $t3 = 00006082
/* 00160 80AAEFB0 312A0001 */ andi $t2, $t1, 0x0001 ## $t2 = 00000000
/* 00164 80AAEFB4 51400004 */ beql $t2, $zero, .L80AAEFC8
/* 00168 80AAEFB8 844C13D2 */ lh $t4, 0x13D2($v0) ## 8015FA32
/* 0016C 80AAEFBC 03E00008 */ jr $ra
/* 00170 80AAEFC0 A48B010E */ sh $t3, 0x010E($a0) ## 0000010E
.L80AAEFC4:
/* 00174 80AAEFC4 844C13D2 */ lh $t4, 0x13D2($v0) ## 8015FA32
.L80AAEFC8:
/* 00178 80AAEFC8 240D6076 */ addiu $t5, $zero, 0x6076 ## $t5 = 00006076
/* 0017C 80AAEFCC 51800004 */ beql $t4, $zero, .L80AAEFE0
/* 00180 80AAEFD0 8C4E0EC8 */ lw $t6, 0x0EC8($v0) ## 8015F528
/* 00184 80AAEFD4 03E00008 */ jr $ra
/* 00188 80AAEFD8 A48D010E */ sh $t5, 0x010E($a0) ## 0000010E
.L80AAEFDC:
/* 0018C 80AAEFDC 8C4E0EC8 */ lw $t6, 0x0EC8($v0) ## 8015F528
.L80AAEFE0:
/* 00190 80AAEFE0 2401009E */ addiu $at, $zero, 0x009E ## $at = 0000009E
/* 00194 80AAEFE4 240F607E */ addiu $t7, $zero, 0x607E ## $t7 = 0000607E
/* 00198 80AAEFE8 15C10003 */ bne $t6, $at, .L80AAEFF8
/* 0019C 80AAEFEC 24186081 */ addiu $t8, $zero, 0x6081 ## $t8 = 00006081
/* 001A0 80AAEFF0 03E00008 */ jr $ra
/* 001A4 80AAEFF4 A48F010E */ sh $t7, 0x010E($a0) ## 0000010E
.L80AAEFF8:
/* 001A8 80AAEFF8 03E00008 */ jr $ra
/* 001AC 80AAEFFC A498010E */ sh $t8, 0x010E($a0) ## 0000010E
.L80AAF000:
/* 001B0 80AAF000 845913D2 */ lh $t9, 0x13D2($v0) ## 8015FA32
.L80AAF004:
/* 001B4 80AAF004 24086076 */ addiu $t0, $zero, 0x6076 ## $t0 = 00006076
/* 001B8 80AAF008 2409607D */ addiu $t1, $zero, 0x607D ## $t1 = 0000607D
/* 001BC 80AAF00C 53200004 */ beql $t9, $zero, .L80AAF020
/* 001C0 80AAF010 A489010E */ sh $t1, 0x010E($a0) ## 0000010E
/* 001C4 80AAF014 03E00008 */ jr $ra
/* 001C8 80AAF018 A488010E */ sh $t0, 0x010E($a0) ## 0000010E
.L80AAF01C:
/* 001CC 80AAF01C A489010E */ sh $t1, 0x010E($a0) ## 0000010E
.L80AAF020:
/* 001D0 80AAF020 944A13FC */ lhu $t2, 0x13FC($v0) ## 8015FA5C
/* 001D4 80AAF024 240C009E */ addiu $t4, $zero, 0x009E ## $t4 = 0000009E
/* 001D8 80AAF028 AC4C0EC8 */ sw $t4, 0x0EC8($v0) ## 8015F528
/* 001DC 80AAF02C 314BFFFE */ andi $t3, $t2, 0xFFFE ## $t3 = 00000000
/* 001E0 80AAF030 A44B13FC */ sh $t3, 0x13FC($v0) ## 8015FA5C
/* 001E4 80AAF034 03E00008 */ jr $ra
/* 001E8 80AAF038 00000000 */ nop

View File

@ -1,43 +0,0 @@
glabel func_80AAF224
/* 003D4 80AAF224 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 003D8 80AAF228 AFBF0014 */ sw $ra, 0x0014($sp)
/* 003DC 80AAF22C AFA5001C */ sw $a1, 0x001C($sp)
/* 003E0 80AAF230 AFA60020 */ sw $a2, 0x0020($sp)
/* 003E4 80AAF234 0C00BC65 */ jal func_8002F194
/* 003E8 80AAF238 AFA40018 */ sw $a0, 0x0018($sp)
/* 003EC 80AAF23C 10400005 */ beq $v0, $zero, .L80AAF254
/* 003F0 80AAF240 8FA40018 */ lw $a0, 0x0018($sp)
/* 003F4 80AAF244 8FAE0020 */ lw $t6, 0x0020($sp)
/* 003F8 80AAF248 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
/* 003FC 80AAF24C 10000017 */ beq $zero, $zero, .L80AAF2AC
/* 00400 80AAF250 AC8E0190 */ sw $t6, 0x0190($a0) ## 00000190
.L80AAF254:
/* 00404 80AAF254 848F008A */ lh $t7, 0x008A($a0) ## 0000008A
/* 00408 80AAF258 849800B6 */ lh $t8, 0x00B6($a0) ## 000000B6
/* 0040C 80AAF25C 01F81023 */ subu $v0, $t7, $t8
/* 00410 80AAF260 00021400 */ sll $v0, $v0, 16
/* 00414 80AAF264 00021403 */ sra $v0, $v0, 16
/* 00418 80AAF268 04400003 */ bltz $v0, .L80AAF278
/* 0041C 80AAF26C 00021823 */ subu $v1, $zero, $v0
/* 00420 80AAF270 10000001 */ beq $zero, $zero, .L80AAF278
/* 00424 80AAF274 00401825 */ or $v1, $v0, $zero ## $v1 = 00000001
.L80AAF278:
/* 00428 80AAF278 28614301 */ slti $at, $v1, 0x4301
/* 0042C 80AAF27C 1020000A */ beq $at, $zero, .L80AAF2A8
/* 00430 80AAF280 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000
/* 00434 80AAF284 44810000 */ mtc1 $at, $f0 ## $f0 = 100.00
/* 00438 80AAF288 C4840090 */ lwc1 $f4, 0x0090($a0) ## 00000090
/* 0043C 80AAF28C 4600203C */ c.lt.s $f4, $f0
/* 00440 80AAF290 00000000 */ nop
/* 00444 80AAF294 45020005 */ bc1fl .L80AAF2AC
/* 00448 80AAF298 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
/* 0044C 80AAF29C 44060000 */ mfc1 $a2, $f0
/* 00450 80AAF2A0 0C00BCB3 */ jal func_8002F2CC
/* 00454 80AAF2A4 8FA5001C */ lw $a1, 0x001C($sp)
.L80AAF2A8:
/* 00458 80AAF2A8 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
.L80AAF2AC:
/* 0045C 80AAF2AC 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00460 80AAF2B0 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00464 80AAF2B4 03E00008 */ jr $ra
/* 00468 80AAF2B8 00000000 */ nop

View File

@ -1,34 +0,0 @@
glabel func_80AAF2BC
/* 0046C 80AAF2BC 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
/* 00470 80AAF2C0 AFBF0024 */ sw $ra, 0x0024($sp)
/* 00474 80AAF2C4 AFB00020 */ sw $s0, 0x0020($sp)
/* 00478 80AAF2C8 AFA5002C */ sw $a1, 0x002C($sp)
/* 0047C 80AAF2CC 848E01F6 */ lh $t6, 0x01F6($a0) ## 000001F6
/* 00480 80AAF2D0 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00484 80AAF2D4 29C1003D */ slti $at, $t6, 0x003D
/* 00488 80AAF2D8 14200003 */ bne $at, $zero, .L80AAF2E8
/* 0048C 80AAF2DC 00000000 */ nop
/* 00490 80AAF2E0 0C00B55C */ jal Actor_Kill
/* 00494 80AAF2E4 00000000 */ nop
.L80AAF2E8:
/* 00498 80AAF2E8 0C02927F */ jal SkelAnime_Update
/* 0049C 80AAF2EC 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 004A0 80AAF2F0 860F01F6 */ lh $t7, 0x01F6($s0) ## 000001F6
/* 004A4 80AAF2F4 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
/* 004A8 80AAF2F8 3C063F19 */ lui $a2, 0x3F19 ## $a2 = 3F190000
/* 004AC 80AAF2FC 25F80001 */ addiu $t8, $t7, 0x0001 ## $t8 = 00000001
/* 004B0 80AAF300 A61801F6 */ sh $t8, 0x01F6($s0) ## 000001F6
/* 004B4 80AAF304 34C6999A */ ori $a2, $a2, 0x999A ## $a2 = 3F19999A
/* 004B8 80AAF308 26040068 */ addiu $a0, $s0, 0x0068 ## $a0 = 00000068
/* 004BC 80AAF30C 3C054120 */ lui $a1, 0x4120 ## $a1 = 41200000
/* 004C0 80AAF310 3C074000 */ lui $a3, 0x4000 ## $a3 = 40000000
/* 004C4 80AAF314 0C01E0C4 */ jal Math_SmoothStepToF
/* 004C8 80AAF318 E7A40010 */ swc1 $f4, 0x0010($sp)
/* 004CC 80AAF31C 8FBF0024 */ lw $ra, 0x0024($sp)
/* 004D0 80AAF320 8FB00020 */ lw $s0, 0x0020($sp)
/* 004D4 80AAF324 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
/* 004D8 80AAF328 03E00008 */ jr $ra
/* 004DC 80AAF32C 00000000 */ nop

View File

@ -1,40 +0,0 @@
glabel func_80AAF330
/* 004E0 80AAF330 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 004E4 80AAF334 AFBF0014 */ sw $ra, 0x0014($sp)
/* 004E8 80AAF338 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000
/* 004EC 80AAF33C AFA5001C */ sw $a1, 0x001C($sp)
/* 004F0 80AAF340 AFA70018 */ sw $a3, 0x0018($sp)
/* 004F4 80AAF344 0C02927F */ jal SkelAnime_Update
/* 004F8 80AAF348 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 004FC 80AAF34C 10400018 */ beq $v0, $zero, .L80AAF3B0
/* 00500 80AAF350 8FA70018 */ lw $a3, 0x0018($sp)
/* 00504 80AAF354 3C0E80AB */ lui $t6, %hi(func_80AAF2BC) ## $t6 = 80AB0000
/* 00508 80AAF358 25CEF2BC */ addiu $t6, $t6, %lo(func_80AAF2BC) ## $t6 = 80AAF2BC
/* 0050C 80AAF35C ACEE0190 */ sw $t6, 0x0190($a3) ## 00000190
/* 00510 80AAF360 AFA70018 */ sw $a3, 0x0018($sp)
/* 00514 80AAF364 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000
/* 00518 80AAF368 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 0051C 80AAF36C 0C2ABB94 */ jal func_80AAEE50
/* 00520 80AAF370 24E601F8 */ addiu $a2, $a3, 0x01F8 ## $a2 = 000001F8
/* 00524 80AAF374 8FA70018 */ lw $a3, 0x0018($sp)
/* 00528 80AAF378 240F0001 */ addiu $t7, $zero, 0x0001 ## $t7 = 00000001
/* 0052C 80AAF37C 94F801F4 */ lhu $t8, 0x01F4($a3) ## 000001F4
/* 00530 80AAF380 ACEF01E0 */ sw $t7, 0x01E0($a3) ## 000001E0
/* 00534 80AAF384 33190002 */ andi $t9, $t8, 0x0002 ## $t9 = 00000000
/* 00538 80AAF388 17200003 */ bne $t9, $zero, .L80AAF398
/* 0053C 80AAF38C 00000000 */ nop
/* 00540 80AAF390 0C041B33 */ jal func_80106CCC
/* 00544 80AAF394 8FA4001C */ lw $a0, 0x001C($sp)
.L80AAF398:
/* 00548 80AAF398 3C028016 */ lui $v0, %hi(gSaveContext)
/* 0054C 80AAF39C 2442E660 */ addiu $v0, %lo(gSaveContext)
/* 00550 80AAF3A0 944813FC */ lhu $t0, 0x13FC($v0) ## 8015FA5C
/* 00554 80AAF3A4 A44013D2 */ sh $zero, 0x13D2($v0) ## 8015FA32
/* 00558 80AAF3A8 3109FFFE */ andi $t1, $t0, 0xFFFE ## $t1 = 00000000
/* 0055C 80AAF3AC A44913FC */ sh $t1, 0x13FC($v0) ## 8015FA5C
.L80AAF3B0:
/* 00560 80AAF3B0 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00564 80AAF3B4 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00568 80AAF3B8 03E00008 */ jr $ra
/* 0056C 80AAF3BC 00000000 */ nop

View File

@ -1,123 +0,0 @@
glabel func_80AAF3C0
/* 00570 80AAF3C0 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 00574 80AAF3C4 AFB00018 */ sw $s0, 0x0018($sp)
/* 00578 80AAF3C8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 0057C 80AAF3CC AFBF001C */ sw $ra, 0x001C($sp)
/* 00580 80AAF3D0 AFA50024 */ sw $a1, 0x0024($sp)
/* 00584 80AAF3D4 0C02927F */ jal SkelAnime_Update
/* 00588 80AAF3D8 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 0058C 80AAF3DC 9603010E */ lhu $v1, 0x010E($s0) ## 0000010E
/* 00590 80AAF3E0 2401607D */ addiu $at, $zero, 0x607D ## $at = 0000607D
/* 00594 80AAF3E4 8FA40024 */ lw $a0, 0x0024($sp)
/* 00598 80AAF3E8 10610007 */ beq $v1, $at, .L80AAF408
/* 0059C 80AAF3EC 2401607E */ addiu $at, $zero, 0x607E ## $at = 0000607E
/* 005A0 80AAF3F0 10610005 */ beq $v1, $at, .L80AAF408
/* 005A4 80AAF3F4 24016081 */ addiu $at, $zero, 0x6081 ## $at = 00006081
/* 005A8 80AAF3F8 10610031 */ beq $v1, $at, .L80AAF4C0
/* 005AC 80AAF3FC 8FA40024 */ lw $a0, 0x0024($sp)
/* 005B0 80AAF400 10000046 */ beq $zero, $zero, .L80AAF51C
/* 005B4 80AAF404 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
.L80AAF408:
/* 005B8 80AAF408 0C042F6F */ jal func_8010BDBC
/* 005BC 80AAF40C 248420D8 */ addiu $a0, $a0, 0x20D8 ## $a0 = 000020D8
/* 005C0 80AAF410 24010004 */ addiu $at, $zero, 0x0004 ## $at = 00000004
/* 005C4 80AAF414 54410055 */ bnel $v0, $at, .L80AAF56C
/* 005C8 80AAF418 8FBF001C */ lw $ra, 0x001C($sp)
/* 005CC 80AAF41C 0C041AF2 */ jal func_80106BC8
/* 005D0 80AAF420 8FA40024 */ lw $a0, 0x0024($sp)
/* 005D4 80AAF424 10400050 */ beq $v0, $zero, .L80AAF568
/* 005D8 80AAF428 8FAE0024 */ lw $t6, 0x0024($sp)
/* 005DC 80AAF42C 3C030001 */ lui $v1, 0x0001 ## $v1 = 00010000
/* 005E0 80AAF430 006E1821 */ addu $v1, $v1, $t6
/* 005E4 80AAF434 906304BD */ lbu $v1, 0x04BD($v1) ## 000104BD
/* 005E8 80AAF438 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 005EC 80AAF43C 8FA40024 */ lw $a0, 0x0024($sp)
/* 005F0 80AAF440 10600005 */ beq $v1, $zero, .L80AAF458
/* 005F4 80AAF444 00000000 */ nop
/* 005F8 80AAF448 1061000D */ beq $v1, $at, .L80AAF480
/* 005FC 80AAF44C 3C038016 */ lui $v1, %hi(gSaveContext)
/* 00600 80AAF450 10000012 */ beq $zero, $zero, .L80AAF49C
/* 00604 80AAF454 2463E660 */ addiu $v1, %lo(gSaveContext)
.L80AAF458:
/* 00608 80AAF458 0C042DC8 */ jal func_8010B720
/* 0060C 80AAF45C 2405607F */ addiu $a1, $zero, 0x607F ## $a1 = 0000607F
/* 00610 80AAF460 3C038016 */ lui $v1, %hi(gSaveContext)
/* 00614 80AAF464 240F607F */ addiu $t7, $zero, 0x607F ## $t7 = 0000607F
/* 00618 80AAF468 2463E660 */ addiu $v1, %lo(gSaveContext)
/* 0061C 80AAF46C A60F010E */ sh $t7, 0x010E($s0) ## 0000010E
/* 00620 80AAF470 947813FC */ lhu $t8, 0x13FC($v1) ## 8015FA5C
/* 00624 80AAF474 37190001 */ ori $t9, $t8, 0x0001 ## $t9 = 00000001
/* 00628 80AAF478 10000008 */ beq $zero, $zero, .L80AAF49C
/* 0062C 80AAF47C A47913FC */ sh $t9, 0x13FC($v1) ## 8015FA5C
.L80AAF480:
/* 00630 80AAF480 8FA40024 */ lw $a0, 0x0024($sp)
/* 00634 80AAF484 0C042DC8 */ jal func_8010B720
/* 00638 80AAF488 24056080 */ addiu $a1, $zero, 0x6080 ## $a1 = 00006080
/* 0063C 80AAF48C 24086080 */ addiu $t0, $zero, 0x6080 ## $t0 = 00006080
/* 00640 80AAF490 3C038016 */ lui $v1, %hi(gSaveContext)
/* 00644 80AAF494 A608010E */ sh $t0, 0x010E($s0) ## 0000010E
/* 00648 80AAF498 2463E660 */ addiu $v1, %lo(gSaveContext)
.L80AAF49C:
/* 0064C 80AAF49C 960201F4 */ lhu $v0, 0x01F4($s0) ## 000001F4
/* 00650 80AAF4A0 30490004 */ andi $t1, $v0, 0x0004 ## $t1 = 00000000
/* 00654 80AAF4A4 11200030 */ beq $t1, $zero, .L80AAF568
/* 00658 80AAF4A8 304AFFFB */ andi $t2, $v0, 0xFFFB ## $t2 = 00000000
/* 0065C 80AAF4AC A60A01F4 */ sh $t2, 0x01F4($s0) ## 000001F4
/* 00660 80AAF4B0 8C6B0EC8 */ lw $t3, 0x0EC8($v1) ## 8015F528
/* 00664 80AAF4B4 256C0001 */ addiu $t4, $t3, 0x0001 ## $t4 = 00000001
/* 00668 80AAF4B8 1000002B */ beq $zero, $zero, .L80AAF568
/* 0066C 80AAF4BC AC6C0EC8 */ sw $t4, 0x0EC8($v1) ## 8015F528
.L80AAF4C0:
/* 00670 80AAF4C0 0C042F6F */ jal func_8010BDBC
/* 00674 80AAF4C4 248420D8 */ addiu $a0, $a0, 0x20D8 ## $a0 = 000020D8
/* 00678 80AAF4C8 24010005 */ addiu $at, $zero, 0x0005 ## $at = 00000005
/* 0067C 80AAF4CC 54410027 */ bnel $v0, $at, .L80AAF56C
/* 00680 80AAF4D0 8FBF001C */ lw $ra, 0x001C($sp)
/* 00684 80AAF4D4 0C041AF2 */ jal func_80106BC8
/* 00688 80AAF4D8 8FA40024 */ lw $a0, 0x0024($sp)
/* 0068C 80AAF4DC 50400023 */ beql $v0, $zero, .L80AAF56C
/* 00690 80AAF4E0 8FBF001C */ lw $ra, 0x001C($sp)
/* 00694 80AAF4E4 960D01F4 */ lhu $t5, 0x01F4($s0) ## 000001F4
/* 00698 80AAF4E8 3C038016 */ lui $v1, %hi(gSaveContext)
/* 0069C 80AAF4EC 2463E660 */ addiu $v1, %lo(gSaveContext)
/* 006A0 80AAF4F0 35AE0004 */ ori $t6, $t5, 0x0004 ## $t6 = 00000004
/* 006A4 80AAF4F4 A60E01F4 */ sh $t6, 0x01F4($s0) ## 000001F4
/* 006A8 80AAF4F8 8C6F0EC8 */ lw $t7, 0x0EC8($v1) ## 8015F528
/* 006AC 80AAF4FC 8FA40024 */ lw $a0, 0x0024($sp)
/* 006B0 80AAF500 2405607E */ addiu $a1, $zero, 0x607E ## $a1 = 0000607E
/* 006B4 80AAF504 25F8FFFF */ addiu $t8, $t7, 0xFFFF ## $t8 = FFFFFFFF
/* 006B8 80AAF508 0C042DC8 */ jal func_8010B720
/* 006BC 80AAF50C AC780EC8 */ sw $t8, 0x0EC8($v1) ## 8015F528
/* 006C0 80AAF510 2419607E */ addiu $t9, $zero, 0x607E ## $t9 = 0000607E
/* 006C4 80AAF514 10000014 */ beq $zero, $zero, .L80AAF568
/* 006C8 80AAF518 A619010E */ sh $t9, 0x010E($s0) ## 0000010E
.L80AAF51C:
/* 006CC 80AAF51C 0C00BCCD */ jal func_8002F334
/* 006D0 80AAF520 8FA50024 */ lw $a1, 0x0024($sp)
/* 006D4 80AAF524 50400011 */ beql $v0, $zero, .L80AAF56C
/* 006D8 80AAF528 8FBF001C */ lw $ra, 0x001C($sp)
/* 006DC 80AAF52C 9608010E */ lhu $t0, 0x010E($s0) ## 0000010E
/* 006E0 80AAF530 2401607F */ addiu $at, $zero, 0x607F ## $at = 0000607F
/* 006E4 80AAF534 3C0A80AB */ lui $t2, %hi(func_80AAF57C) ## $t2 = 80AB0000
/* 006E8 80AAF538 15010007 */ bne $t0, $at, .L80AAF558
/* 006EC 80AAF53C 254AF57C */ addiu $t2, $t2, %lo(func_80AAF57C) ## $t2 = 80AAF57C
/* 006F0 80AAF540 0C0222A8 */ jal func_80088AA0
/* 006F4 80AAF544 00002025 */ or $a0, $zero, $zero ## $a0 = 00000000
/* 006F8 80AAF548 3C0980AB */ lui $t1, %hi(func_80AAF57C) ## $t1 = 80AB0000
/* 006FC 80AAF54C 2529F57C */ addiu $t1, $t1, %lo(func_80AAF57C) ## $t1 = 80AAF57C
/* 00700 80AAF550 10000002 */ beq $zero, $zero, .L80AAF55C
/* 00704 80AAF554 AE090190 */ sw $t1, 0x0190($s0) ## 00000190
.L80AAF558:
/* 00708 80AAF558 AE0A0190 */ sw $t2, 0x0190($s0) ## 00000190
.L80AAF55C:
/* 0070C 80AAF55C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00710 80AAF560 0C2ABBDC */ jal func_80AAEF70
/* 00714 80AAF564 8FA50024 */ lw $a1, 0x0024($sp)
.L80AAF568:
/* 00718 80AAF568 8FBF001C */ lw $ra, 0x001C($sp)
.L80AAF56C:
/* 0071C 80AAF56C 8FB00018 */ lw $s0, 0x0018($sp)
/* 00720 80AAF570 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 00724 80AAF574 03E00008 */ jr $ra
/* 00728 80AAF578 00000000 */ nop

View File

@ -1,31 +0,0 @@
glabel func_80AAF57C
/* 0072C 80AAF57C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00730 80AAF580 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00734 80AAF584 AFA40018 */ sw $a0, 0x0018($sp)
/* 00738 80AAF588 AFA5001C */ sw $a1, 0x001C($sp)
/* 0073C 80AAF58C 0C02927F */ jal SkelAnime_Update
/* 00740 80AAF590 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00744 80AAF594 8FA40018 */ lw $a0, 0x0018($sp)
/* 00748 80AAF598 0C2ABBDC */ jal func_80AAEF70
/* 0074C 80AAF59C 8FA5001C */ lw $a1, 0x001C($sp)
/* 00750 80AAF5A0 3C0680AB */ lui $a2, %hi(func_80AAF3C0) ## $a2 = 80AB0000
/* 00754 80AAF5A4 24C6F3C0 */ addiu $a2, $a2, %lo(func_80AAF3C0) ## $a2 = 80AAF3C0
/* 00758 80AAF5A8 8FA40018 */ lw $a0, 0x0018($sp)
/* 0075C 80AAF5AC 0C2ABC89 */ jal func_80AAF224
/* 00760 80AAF5B0 8FA5001C */ lw $a1, 0x001C($sp)
/* 00764 80AAF5B4 10400009 */ beq $v0, $zero, .L80AAF5DC
/* 00768 80AAF5B8 8FAE0018 */ lw $t6, 0x0018($sp)
/* 0076C 80AAF5BC 95CF010E */ lhu $t7, 0x010E($t6) ## 0000010E
/* 00770 80AAF5C0 2401607D */ addiu $at, $zero, 0x607D ## $at = 0000607D
/* 00774 80AAF5C4 3C028016 */ lui $v0, %hi(gSaveContext)
/* 00778 80AAF5C8 15E10004 */ bne $t7, $at, .L80AAF5DC
/* 0077C 80AAF5CC 2442E660 */ addiu $v0, %lo(gSaveContext)
/* 00780 80AAF5D0 94580F26 */ lhu $t8, 0x0F26($v0) ## 8015F586
/* 00784 80AAF5D4 37198000 */ ori $t9, $t8, 0x8000 ## $t9 = 00008000
/* 00788 80AAF5D8 A4590F26 */ sh $t9, 0x0F26($v0) ## 8015F586
.L80AAF5DC:
/* 0078C 80AAF5DC 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00790 80AAF5E0 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00794 80AAF5E4 03E00008 */ jr $ra
/* 00798 80AAF5E8 00000000 */ nop

View File

@ -1,35 +0,0 @@
glabel func_80AAF5EC
/* 0079C 80AAF5EC 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 007A0 80AAF5F0 AFB00018 */ sw $s0, 0x0018($sp)
/* 007A4 80AAF5F4 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 007A8 80AAF5F8 AFBF001C */ sw $ra, 0x001C($sp)
/* 007AC 80AAF5FC AFA50024 */ sw $a1, 0x0024($sp)
/* 007B0 80AAF600 0C02927F */ jal SkelAnime_Update
/* 007B4 80AAF604 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 007B8 80AAF608 8FA40024 */ lw $a0, 0x0024($sp)
/* 007BC 80AAF60C 0C042F6F */ jal func_8010BDBC
/* 007C0 80AAF610 248420D8 */ addiu $a0, $a0, 0x20D8 ## $a0 = 000020D8
/* 007C4 80AAF614 24010005 */ addiu $at, $zero, 0x0005 ## $at = 00000005
/* 007C8 80AAF618 5441000F */ bnel $v0, $at, .L80AAF658
/* 007CC 80AAF61C 8FBF001C */ lw $ra, 0x001C($sp)
/* 007D0 80AAF620 0C041AF2 */ jal func_80106BC8
/* 007D4 80AAF624 8FA40024 */ lw $a0, 0x0024($sp)
/* 007D8 80AAF628 1040000A */ beq $v0, $zero, .L80AAF654
/* 007DC 80AAF62C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 007E0 80AAF630 960E01F4 */ lhu $t6, 0x01F4($s0) ## 000001F4
/* 007E4 80AAF634 24050003 */ addiu $a1, $zero, 0x0003 ## $a1 = 00000003
/* 007E8 80AAF638 260601F8 */ addiu $a2, $s0, 0x01F8 ## $a2 = 000001F8
/* 007EC 80AAF63C 31CFFFFE */ andi $t7, $t6, 0xFFFE ## $t7 = 00000000
/* 007F0 80AAF640 0C2ABB94 */ jal func_80AAEE50
/* 007F4 80AAF644 A60F01F4 */ sh $t7, 0x01F4($s0) ## 000001F4
/* 007F8 80AAF648 3C1880AB */ lui $t8, %hi(func_80AAF330) ## $t8 = 80AB0000
/* 007FC 80AAF64C 2718F330 */ addiu $t8, $t8, %lo(func_80AAF330) ## $t8 = 80AAF330
/* 00800 80AAF650 AE180190 */ sw $t8, 0x0190($s0) ## 00000190
.L80AAF654:
/* 00804 80AAF654 8FBF001C */ lw $ra, 0x001C($sp)
.L80AAF658:
/* 00808 80AAF658 8FB00018 */ lw $s0, 0x0018($sp)
/* 0080C 80AAF65C 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 00810 80AAF660 03E00008 */ jr $ra
/* 00814 80AAF664 00000000 */ nop

View File

@ -1,93 +0,0 @@
.rdata
glabel D_80AAFBA8
.asciz "../z_en_mm2.c"
.balign 4
glabel D_80AAFBB8
.asciz "((z_common_data.event_inf[1]) & (0x0001)) = %x\n"
.balign 4
.text
glabel func_80AAF668
/* 00818 80AAF668 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 0081C 80AAF66C AFBF001C */ sw $ra, 0x001C($sp)
/* 00820 80AAF670 AFB00018 */ sw $s0, 0x0018($sp)
/* 00824 80AAF674 AFA50024 */ sw $a1, 0x0024($sp)
/* 00828 80AAF678 240EC180 */ addiu $t6, $zero, 0xC180 ## $t6 = FFFFC180
/* 0082C 80AAF67C A48E0032 */ sh $t6, 0x0032($a0) ## 00000032
/* 00830 80AAF680 848F0032 */ lh $t7, 0x0032($a0) ## 00000032
/* 00834 80AAF684 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00838 80AAF688 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 0083C 80AAF68C 0C02927F */ jal SkelAnime_Update
/* 00840 80AAF690 A48FFF6A */ sh $t7, -0x0096($a0) ## 000000B6
/* 00844 80AAF694 3C078016 */ lui $a3, %hi(gSaveContext)
/* 00848 80AAF698 24E7E660 */ addiu $a3, %lo(gSaveContext)
/* 0084C 80AAF69C 84E313D4 */ lh $v1, 0x13D4($a3) ## 8015FA34
/* 00850 80AAF6A0 8CF80EC8 */ lw $t8, 0x0EC8($a3) ## 8015F528
/* 00854 80AAF6A4 3C0680AB */ lui $a2, %hi(func_80AAF5EC) ## $a2 = 80AB0000
/* 00858 80AAF6A8 24C6F5EC */ addiu $a2, $a2, %lo(func_80AAF5EC) ## $a2 = 80AAF5EC
/* 0085C 80AAF6AC 0078082A */ slt $at, $v1, $t8
/* 00860 80AAF6B0 10200004 */ beq $at, $zero, .L80AAF6C4
/* 00864 80AAF6B4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00868 80AAF6B8 24196085 */ addiu $t9, $zero, 0x6085 ## $t9 = 00006085
/* 0086C 80AAF6BC 10000003 */ beq $zero, $zero, .L80AAF6CC
/* 00870 80AAF6C0 A619010E */ sh $t9, 0x010E($s0) ## 0000010E
.L80AAF6C4:
/* 00874 80AAF6C4 24086084 */ addiu $t0, $zero, 0x6084 ## $t0 = 00006084
/* 00878 80AAF6C8 A608010E */ sh $t0, 0x010E($s0) ## 0000010E
.L80AAF6CC:
/* 0087C 80AAF6CC 0C2ABC89 */ jal func_80AAF224
/* 00880 80AAF6D0 8FA50024 */ lw $a1, 0x0024($sp)
/* 00884 80AAF6D4 3C078016 */ lui $a3, %hi(gSaveContext)
/* 00888 80AAF6D8 1040000B */ beq $v0, $zero, .L80AAF708
/* 0088C 80AAF6DC 24E7E660 */ addiu $a3, %lo(gSaveContext)
/* 00890 80AAF6E0 A60001F6 */ sh $zero, 0x01F6($s0) ## 000001F6
/* 00894 80AAF6E4 84E213D4 */ lh $v0, 0x13D4($a3) ## 8015FA34
/* 00898 80AAF6E8 8CE90EC8 */ lw $t1, 0x0EC8($a3) ## 8015F528
/* 0089C 80AAF6EC 00021C00 */ sll $v1, $v0, 16
/* 008A0 80AAF6F0 00031C03 */ sra $v1, $v1, 16
/* 008A4 80AAF6F4 0069082A */ slt $at, $v1, $t1
/* 008A8 80AAF6F8 50200021 */ beql $at, $zero, .L80AAF780
/* 008AC 80AAF6FC 8FBF001C */ lw $ra, 0x001C($sp)
/* 008B0 80AAF700 1000001E */ beq $zero, $zero, .L80AAF77C
/* 008B4 80AAF704 ACE20EC8 */ sw $v0, 0x0EC8($a3) ## 8015F528
.L80AAF708:
/* 008B8 80AAF708 3C0480AB */ lui $a0, %hi(D_80AAFBA8) ## $a0 = 80AB0000
/* 008BC 80AAF70C 2484FBA8 */ addiu $a0, $a0, %lo(D_80AAFBA8) ## $a0 = 80AAFBA8
/* 008C0 80AAF710 0C000B84 */ jal LogUtils_LogThreadId
/* 008C4 80AAF714 2405021D */ addiu $a1, $zero, 0x021D ## $a1 = 0000021D
/* 008C8 80AAF718 3C078016 */ lui $a3, %hi(gSaveContext)
/* 008CC 80AAF71C 24E7E660 */ addiu $a3, %lo(gSaveContext)
/* 008D0 80AAF720 94E513FC */ lhu $a1, 0x13FC($a3) ## 8015FA5C
/* 008D4 80AAF724 3C0480AB */ lui $a0, %hi(D_80AAFBB8) ## $a0 = 80AB0000
/* 008D8 80AAF728 2484FBB8 */ addiu $a0, $a0, %lo(D_80AAFBB8) ## $a0 = 80AAFBB8
/* 008DC 80AAF72C 0C00084C */ jal osSyncPrintf
/* 008E0 80AAF730 30A50001 */ andi $a1, $a1, 0x0001 ## $a1 = 00000000
/* 008E4 80AAF734 3C078016 */ lui $a3, %hi(gSaveContext)
/* 008E8 80AAF738 24E7E660 */ addiu $a3, %lo(gSaveContext)
/* 008EC 80AAF73C 94EA13FC */ lhu $t2, 0x13FC($a3) ## 8015FA5C
/* 008F0 80AAF740 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 008F4 80AAF744 314B0001 */ andi $t3, $t2, 0x0001 ## $t3 = 00000000
/* 008F8 80AAF748 5560000D */ bnel $t3, $zero, .L80AAF780
/* 008FC 80AAF74C 8FBF001C */ lw $ra, 0x001C($sp)
/* 00900 80AAF750 960C01F4 */ lhu $t4, 0x01F4($s0) ## 000001F4
/* 00904 80AAF754 24050003 */ addiu $a1, $zero, 0x0003 ## $a1 = 00000003
/* 00908 80AAF758 260601F8 */ addiu $a2, $s0, 0x01F8 ## $a2 = 000001F8
/* 0090C 80AAF75C 358E0002 */ ori $t6, $t4, 0x0002 ## $t6 = 00000002
/* 00910 80AAF760 A60E01F4 */ sh $t6, 0x01F4($s0) ## 000001F4
/* 00914 80AAF764 31CFFFFE */ andi $t7, $t6, 0xFFFE ## $t7 = 00000002
/* 00918 80AAF768 0C2ABB94 */ jal func_80AAEE50
/* 0091C 80AAF76C A60F01F4 */ sh $t7, 0x01F4($s0) ## 000001F4
/* 00920 80AAF770 3C1880AB */ lui $t8, %hi(func_80AAF330) ## $t8 = 80AB0000
/* 00924 80AAF774 2718F330 */ addiu $t8, $t8, %lo(func_80AAF330) ## $t8 = 80AAF330
/* 00928 80AAF778 AE180190 */ sw $t8, 0x0190($s0) ## 00000190
.L80AAF77C:
/* 0092C 80AAF77C 8FBF001C */ lw $ra, 0x001C($sp)
.L80AAF780:
/* 00930 80AAF780 8FB00018 */ lw $s0, 0x0018($sp)
/* 00934 80AAF784 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 00938 80AAF788 03E00008 */ jr $ra
/* 0093C 80AAF78C 00000000 */ nop

View File

@ -1,37 +0,0 @@
glabel func_80AAF9D8
/* 00B88 80AAF9D8 24010008 */ addiu $at, $zero, 0x0008 ## $at = 00000008
/* 00B8C 80AAF9DC AFA40000 */ sw $a0, 0x0000($sp)
/* 00B90 80AAF9E0 AFA60008 */ sw $a2, 0x0008($sp)
/* 00B94 80AAF9E4 10A10006 */ beq $a1, $at, .L80AAFA00
/* 00B98 80AAF9E8 AFA7000C */ sw $a3, 0x000C($sp)
/* 00B9C 80AAF9EC 2401000F */ addiu $at, $zero, 0x000F ## $at = 0000000F
/* 00BA0 80AAF9F0 10A1000F */ beq $a1, $at, .L80AAFA30
/* 00BA4 80AAF9F4 8FA20014 */ lw $v0, 0x0014($sp)
/* 00BA8 80AAF9F8 03E00008 */ jr $ra
/* 00BAC 80AAF9FC 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
.L80AAFA00:
/* 00BB0 80AAFA00 8FA20014 */ lw $v0, 0x0014($sp)
/* 00BB4 80AAFA04 8FA30010 */ lw $v1, 0x0010($sp)
/* 00BB8 80AAFA08 844F01F0 */ lh $t7, 0x01F0($v0) ## 000001F0
/* 00BBC 80AAFA0C 846E0000 */ lh $t6, 0x0000($v1) ## 00000000
/* 00BC0 80AAFA10 84790002 */ lh $t9, 0x0002($v1) ## 00000002
/* 00BC4 80AAFA14 01CFC021 */ addu $t8, $t6, $t7
/* 00BC8 80AAFA18 A4780000 */ sh $t8, 0x0000($v1) ## 00000000
/* 00BCC 80AAFA1C 844801EE */ lh $t0, 0x01EE($v0) ## 000001EE
/* 00BD0 80AAFA20 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
/* 00BD4 80AAFA24 03284823 */ subu $t1, $t9, $t0
/* 00BD8 80AAFA28 03E00008 */ jr $ra
/* 00BDC 80AAFA2C A4690002 */ sh $t1, 0x0002($v1) ## 00000002
.L80AAFA30:
/* 00BE0 80AAFA30 8FA30010 */ lw $v1, 0x0010($sp)
/* 00BE4 80AAFA34 844B01EA */ lh $t3, 0x01EA($v0) ## 000001EA
/* 00BE8 80AAFA38 846A0000 */ lh $t2, 0x0000($v1) ## 00000000
/* 00BEC 80AAFA3C 846D0004 */ lh $t5, 0x0004($v1) ## 00000004
/* 00BF0 80AAFA40 014B6021 */ addu $t4, $t2, $t3
/* 00BF4 80AAFA44 A46C0000 */ sh $t4, 0x0000($v1) ## 00000000
/* 00BF8 80AAFA48 844E01E8 */ lh $t6, 0x01E8($v0) ## 000001E8
/* 00BFC 80AAFA4C 01AE7821 */ addu $t7, $t5, $t6
/* 00C00 80AAFA50 25F80FA0 */ addiu $t8, $t7, 0x0FA0 ## $t8 = 00000FA0
/* 00C04 80AAFA54 A4780004 */ sh $t8, 0x0004($v1) ## 00000004
/* 00C08 80AAFA58 03E00008 */ jr $ra
/* 00C0C 80AAFA5C 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000

View File

@ -1,18 +0,0 @@
glabel func_80AAFA60
/* 00C10 80AAFA60 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00C14 80AAFA64 2401000F */ addiu $at, $zero, 0x000F ## $at = 0000000F
/* 00C18 80AAFA68 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00C1C 80AAFA6C AFA40018 */ sw $a0, 0x0018($sp)
/* 00C20 80AAFA70 AFA60020 */ sw $a2, 0x0020($sp)
/* 00C24 80AAFA74 14A10006 */ bne $a1, $at, .L80AAFA90
/* 00C28 80AAFA78 AFA70024 */ sw $a3, 0x0024($sp)
/* 00C2C 80AAFA7C 8FA50028 */ lw $a1, 0x0028($sp)
/* 00C30 80AAFA80 3C0480AB */ lui $a0, %hi(D_80AAFB68) ## $a0 = 80AB0000
/* 00C34 80AAFA84 2484FB68 */ addiu $a0, $a0, %lo(D_80AAFB68) ## $a0 = 80AAFB68
/* 00C38 80AAFA88 0C0346BD */ jal Matrix_MultVec3f
/* 00C3C 80AAFA8C 24A50038 */ addiu $a1, $a1, 0x0038 ## $a1 = 00000038
.L80AAFA90:
/* 00C40 80AAFA90 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00C44 80AAFA94 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00C48 80AAFA98 03E00008 */ jr $ra
/* 00C4C 80AAFA9C 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 purpose registers
.section .data
.balign 16
glabel En_Mm2_InitVars
.word 0x01D40400, 0x00000019, 0x013C0000, 0x000002BC
.word EnMm2_Init
.word EnMm2_Destroy
.word EnMm2_Update
.word EnMm2_Draw
glabel D_80AAFAC0
.word 0x0A000939, 0x10010000, 0x00000000, 0x00000000, 0x00000000, 0x00000004, 0x00000000, 0x00010100, 0x0012003F, 0x00000000, 0x00000000
glabel D_80AAFAEC
.word 0x06000718, 0x3F800000, 0x00000000, 0xC0E00000, 0x06006940, 0xBF800000, 0x02000000, 0xC0E00000, 0x06006C50, 0x3F800000, 0x00000000, 0xC0E00000, 0x06006940, 0x3F800000, 0x02000000, 0xC0E00000, 0x06000468, 0x3F800000, 0x00000000, 0xC0E00000, 0x060073A0, 0x3F800000, 0x00000000, 0xC1400000, 0x06008060, 0x3F800000, 0x00000000, 0xC1400000
glabel D_80AAFB5C
.word 0x30F40FA0
glabel D_80AAFB60
.word 0x06000E30, 0x06000C30
glabel D_80AAFB68
.word 0x43480000, 0x44480000, 0x00000000, 0x00000000, 0x00000000, 0x00000000

View File

@ -1,13 +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 purpose registers
.section .rodata
.balign 16
glabel D_80AAFC10
.incbin "baserom/ovl_En_Mm2", 0xDC0, 0x00000110

7
spec
View File

@ -2680,8 +2680,7 @@ endseg
beginseg
name "ovl_En_Mm2"
include "build/src/overlays/actors/ovl_En_Mm2/z_en_mm2.o"
include "build/data/overlays/actors/z_en_mm2.data.o"
include "build/data/overlays/actors/z_en_mm2.reloc.o"
include "build/src/overlays/actors/ovl_En_Mm2/ovl_En_Mm2_reloc.o"
endseg
beginseg
@ -8221,7 +8220,7 @@ beginseg
name "syotes2_scene"
romalign 0x1000
include "build/assets/scenes/test_levels/syotes2/syotes2_scene.o"
number 2
number 2
endseg
beginseg
@ -10238,4 +10237,4 @@ beginseg
name "softsprite_matrix_static"
romalign 0x1000
include "build/baserom/softsprite_matrix_static.o"
endseg
endseg

View File

@ -1,4 +1,5 @@
#include "z_en_mm2.h"
#include "vt.h"
#define FLAGS 0x00000019
@ -8,10 +9,14 @@ void EnMm2_Init(Actor* thisx, GlobalContext* globalCtx);
void EnMm2_Destroy(Actor* thisx, GlobalContext* globalCtx);
void EnMm2_Update(Actor* thisx, GlobalContext* globalCtx);
void EnMm2_Draw(Actor* thisx, GlobalContext* globalCtx);
void func_80AAF3C0(EnMm2* this, GlobalContext* globalCtx);
void func_80AAF57C(EnMm2* this, GlobalContext* globalCtx);
void func_80AAF668(EnMm2* this, GlobalContext* globalCtx);
s32 EnMm2_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* pos, Vec3s* rot, void* thisx);
void EnMm2_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx);
extern UNK_TYPE D_06005E18;
extern FlexSkeletonHeader D_06005E18;
/*
const ActorInit En_Mm2_InitVars = {
ACTOR_EN_MM2,
ACTORCAT_NPC,
@ -24,7 +29,7 @@ const ActorInit En_Mm2_InitVars = {
(ActorFunc)EnMm2_Draw,
};
static ColliderCylinderInit D_80AAFAC0 = {
static ColliderCylinderInit sCylinderInit = {
{
COLTYPE_NONE,
AT_NONE,
@ -43,33 +48,282 @@ static ColliderCylinderInit D_80AAFAC0 = {
},
{ 18, 63, 0, { 0, 0, 0 } },
};
*/
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Mm2/func_80AAEE50.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Mm2/func_80AAEF70.s")
typedef struct {
/* 0x00 */ AnimationHeader* animation;
/* 0x04 */ f32 playSpeed;
/* 0x08 */ u8 mode;
/* 0x0C */ f32 morphFrames;
} Mm2AnimationEntry; // size = 0x10
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Mm2/EnMm2_Init.s")
static Mm2AnimationEntry sAnimations[] = {
{ 0x06000718, 1.0f, 0, -7.0f }, { 0x06006940, -1.0f, 2, -7.0f }, { 0x06006C50, 1.0f, 0, -7.0f },
{ 0x06006940, 1.0f, 2, -7.0f }, { 0x06000468, 1.0f, 0, -7.0f }, { 0x060073A0, 1.0f, 0, -12.0f },
{ 0x06008060, 1.0f, 0, -12.0f },
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Mm2/EnMm2_Destroy.s")
static InitChainEntry sInitChain[] = {
ICHAIN_F32(uncullZoneForward, 4000, ICHAIN_STOP),
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Mm2/func_80AAF224.s")
void EnMm2_ChangeAnimation(EnMm2* this, s32 animationIndex, s32* previousAnimation) {
f32 phi_f0;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Mm2/func_80AAF2BC.s")
if ((*previousAnimation < 0) || (animationIndex == *previousAnimation)) {
phi_f0 = 0.0f;
} else {
phi_f0 = sAnimations[animationIndex].morphFrames;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Mm2/func_80AAF330.s")
if (sAnimations[animationIndex].playSpeed >= 0.0f) {
Animation_Change(&this->skelAnime, sAnimations[animationIndex].animation, sAnimations[animationIndex].playSpeed,
0.0f, (f32)Animation_GetLastFrame(sAnimations[animationIndex].animation),
sAnimations[animationIndex].mode, phi_f0);
} else {
Animation_Change(&this->skelAnime, sAnimations[animationIndex].animation, sAnimations[animationIndex].playSpeed,
(f32)Animation_GetLastFrame(sAnimations[animationIndex].animation), 0.0f,
sAnimations[animationIndex].mode, phi_f0);
}
*previousAnimation = animationIndex;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Mm2/func_80AAF3C0.s")
void func_80AAEF70(EnMm2* this, GlobalContext* globalCtx) {
if ((gSaveContext.eventChkInf[9] & 0xF) != 0xF) {
this->actor.textId = 0x6086;
} else if (gSaveContext.infTable[23] & 0x8000) {
if (gSaveContext.eventInf[1] & 1) {
this->actor.textId = 0x6082;
} else if (gSaveContext.timer2State != 0) {
this->actor.textId = 0x6076;
} else if (HIGH_SCORE(HS_MARATHON) == 158) {
this->actor.textId = 0x607E;
} else {
this->actor.textId = 0x6081;
}
} else if (gSaveContext.timer2State) {
this->actor.textId = 0x6076;
} else {
this->actor.textId = 0x607D;
gSaveContext.eventInf[1] &= ~1;
HIGH_SCORE(HS_MARATHON) = 158;
}
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Mm2/func_80AAF57C.s")
void EnMm2_Init(Actor* thisx, GlobalContext* globalCtx2) {
EnMm2* this = THIS;
GlobalContext* globalCtx = globalCtx2;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Mm2/func_80AAF5EC.s")
Actor_ProcessInitChain(&this->actor, sInitChain);
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 21.0f);
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06005E18, NULL, this->jointTable, this->morphTable, 16);
Animation_Change(&this->skelAnime, sAnimations[2].animation, 1.0f, 0.0f,
Animation_GetLastFrame(sAnimations[2].animation), sAnimations[2].mode, sAnimations[2].morphFrames);
this->previousAnimation = 2;
Collider_InitCylinder(globalCtx, &this->collider);
Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &sCylinderInit);
this->actor.colChkInfo.mass = MASS_IMMOVABLE;
this->unk_1E0 = 0;
this->actor.targetMode = 6;
this->unk_1F4 |= 1;
this->actor.gravity = -1.0f;
if (this->actor.params == 1) {
this->actionFunc = func_80AAF668;
} else {
func_80AAEF70(this, globalCtx);
this->actionFunc = func_80AAF57C;
}
if (LINK_IS_CHILD) {
Actor_Kill(&this->actor);
}
if (this->actor.params == 1) {
if (!(gSaveContext.infTable[23] & 0x8000) || !(gSaveContext.eventInf[1] & 1)) {
osSyncPrintf(VT_FGCOL(CYAN) " マラソン 開始されていない \n" VT_RST "\n");
Actor_Kill(&this->actor);
}
}
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Mm2/func_80AAF668.s")
void EnMm2_Destroy(Actor* thisx, GlobalContext* globalCtx) {
EnMm2* this = THIS;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Mm2/EnMm2_Update.s")
Collider_DestroyCylinder(globalCtx, &this->collider);
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Mm2/EnMm2_Draw.s")
s32 func_80AAF224(EnMm2* this, GlobalContext* globalCtx, EnMm2ActionFunc actionFunc) {
s16 yawDiff;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Mm2/func_80AAF9D8.s")
if (func_8002F194(&this->actor, globalCtx)) {
this->actionFunc = actionFunc;
return 1;
}
yawDiff = this->actor.yawTowardsPlayer - this->actor.shape.rot.y;
if ((ABS(yawDiff) < 0x4301) && (this->actor.xzDistToPlayer < 100.0f)) {
func_8002F2CC(&this->actor, globalCtx, 100.0f);
}
return 0;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Mm2/func_80AAFA60.s")
void func_80AAF2BC(EnMm2* this, GlobalContext* globalCtx) {
if (this->unk_1F6 >= 61) {
Actor_Kill(&this->actor);
}
SkelAnime_Update(&this->skelAnime);
this->unk_1F6++;
Math_SmoothStepToF(&this->actor.speedXZ, 10.0f, 0.6f, 2.0f, 0.0f);
}
void func_80AAF330(EnMm2* this, GlobalContext* globalCtx) {
if (SkelAnime_Update(&this->skelAnime)) {
this->actionFunc = func_80AAF2BC;
EnMm2_ChangeAnimation(this, 0, &this->previousAnimation);
this->unk_1E0 = 1;
if (!(this->unk_1F4 & 2)) {
func_80106CCC(globalCtx);
}
gSaveContext.timer2State = 0;
gSaveContext.eventInf[1] &= ~1;
}
}
void func_80AAF3C0(EnMm2* this, GlobalContext* globalCtx) {
SkelAnime_Update(&this->skelAnime);
switch (this->actor.textId) {
case 0x607D:
case 0x607E:
if ((func_8010BDBC(&globalCtx->msgCtx) == 4) && (func_80106BC8(globalCtx))) {
switch (globalCtx->msgCtx.choiceIndex) {
case 0:
func_8010B720(globalCtx, 0x607F);
this->actor.textId = 0x607F;
gSaveContext.eventInf[1] |= 1;
break;
case 1:
func_8010B720(globalCtx, 0x6080);
this->actor.textId = 0x6080;
break;
};
if (this->unk_1F4 & 4) {
if (1) {}
this->unk_1F4 &= ~4;
HIGH_SCORE(HS_MARATHON) += 1;
}
}
return;
case 0x6081:
if ((func_8010BDBC(&globalCtx->msgCtx) == 5) && (func_80106BC8(globalCtx))) {
this->unk_1F4 |= 4;
HIGH_SCORE(HS_MARATHON) -= 1;
func_8010B720(globalCtx, 0x607E);
this->actor.textId = 0x607E;
}
return;
}
if (func_8002F334(&this->actor, globalCtx)) {
if (this->actor.textId == 0x607F) {
func_80088AA0(0);
this->actionFunc = func_80AAF57C;
} else {
this->actionFunc = func_80AAF57C;
}
this->actionFunc = func_80AAF57C;
func_80AAEF70(this, globalCtx);
}
}
void func_80AAF57C(EnMm2* this, GlobalContext* globalCtx) {
SkelAnime_Update(&this->skelAnime);
func_80AAEF70(this, globalCtx);
if ((func_80AAF224(this, globalCtx, func_80AAF3C0)) && (this->actor.textId == 0x607D)) {
gSaveContext.infTable[23] |= 0x8000;
}
}
void func_80AAF5EC(EnMm2* this, GlobalContext* globalCtx) {
SkelAnime_Update(&this->skelAnime);
if ((func_8010BDBC(&globalCtx->msgCtx) == 5) && (func_80106BC8(globalCtx))) {
this->unk_1F4 &= ~1;
EnMm2_ChangeAnimation(this, 3, &this->previousAnimation);
this->actionFunc = func_80AAF330;
}
}
void func_80AAF668(EnMm2* this, GlobalContext* globalCtx) {
this->actor.world.rot.y = -0x3E80;
this->actor.shape.rot.y = this->actor.world.rot.y;
SkelAnime_Update(&this->skelAnime);
if (((void)0, gSaveContext.timer2Value) < HIGH_SCORE(HS_MARATHON)) {
this->actor.textId = 0x6085;
} else {
this->actor.textId = 0x6084;
}
if (func_80AAF224(this, globalCtx, func_80AAF5EC)) {
this->unk_1F6 = 0;
if (((void)0, gSaveContext.timer2Value) < HIGH_SCORE(HS_MARATHON)) {
HIGH_SCORE(HS_MARATHON) = gSaveContext.timer2Value;
}
} else {
LOG_HEX("((z_common_data.event_inf[1]) & (0x0001))", gSaveContext.eventInf[1] & 1, "../z_en_mm2.c", 541);
if (!(gSaveContext.eventInf[1] & 1)) {
this->unk_1F4 |= 2;
this->unk_1F4 &= ~1;
EnMm2_ChangeAnimation(this, 3, &this->previousAnimation);
this->actionFunc = func_80AAF330;
}
}
}
void EnMm2_Update(Actor* thisx, GlobalContext* globalCtx) {
EnMm2* this = THIS;
s32 pad;
if (this->unk_1F4 & 1) {
func_80038290(globalCtx, &this->actor, &this->unk_1E8, &this->unk_1EE, this->actor.focus.pos);
} else {
Math_SmoothStepToS(&this->unk_1E8.x, 0, 6, 6200, 100);
Math_SmoothStepToS(&this->unk_1E8.y, 0, 6, 6200, 100);
Math_SmoothStepToS(&this->unk_1EE.x, 0, 6, 6200, 100);
Math_SmoothStepToS(&this->unk_1EE.y, 0, 6, 6200, 100);
}
this->actionFunc(this, globalCtx);
Collider_UpdateCylinder(&this->actor, &this->collider);
CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->collider.base);
Actor_MoveForward(&this->actor);
Actor_UpdateBgCheckInfo(globalCtx, &this->actor, 0.0f, 0.0f, 0.0f, 4);
}
void EnMm2_Draw(Actor* thisx, GlobalContext* globalCtx) {
static UNK_PTR D_80AAFB60[] = { 0x06000E30, 0x06000C30 };
EnMm2* this = THIS;
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_mm2.c", 634);
func_80093D18(globalCtx->state.gfxCtx);
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(D_80AAFB60[this->unk_1E0]));
SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
EnMm2_OverrideLimbDraw, EnMm2_PostLimbDraw, this);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_mm2.c", 654);
}
s32 EnMm2_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* pos, Vec3s* rot, void* thisx) {
EnMm2* this = THIS;
switch (limbIndex) {
case 8:
rot->x += this->unk_1EE.y;
rot->y -= this->unk_1EE.x;
break;
case 15:
rot->x += this->unk_1E8.y;
rot->z += this->unk_1E8.x + 0xFA0;
break;
}
return 0;
}
void EnMm2_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx) {
static Vec3f D_80AAFB68 = { 200.0f, 800.0f, 0.0f };
EnMm2* this = THIS;
if (limbIndex == 15) {
Matrix_MultVec3f(&D_80AAFB68, &this->actor.focus.pos);
}
}

View File

@ -6,9 +6,22 @@
struct EnMm2;
typedef void (*EnMm2ActionFunc)(struct EnMm2*, GlobalContext*);
typedef struct EnMm2 {
/* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x170];
/* 0x014C */ SkelAnime skelAnime;
/* 0x0190 */ EnMm2ActionFunc actionFunc;
/* 0x0194 */ ColliderCylinder collider;
/* 0x01E0 */ s32 unk_1E0;
/* 0x01E4 */ char unk_1E4[0x4];
/* 0x01E8 */ Vec3s unk_1E8;
/* 0x01EE */ Vec3s unk_1EE;
/* 0x01F4 */ u16 unk_1F4;
/* 0x01F6 */ s16 unk_1F6;
/* 0x01F8 */ s32 previousAnimation;
/* 0x01FC */ Vec3s jointTable[16];
/* 0x025C */ Vec3s morphTable[16];
} EnMm2; // size = 0x02BC
extern const ActorInit En_Mm2_InitVars;