1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2024-11-28 19:25:27 +00:00

Gerudo1 OK and mostly documented (#607)

* all functions matched, data imported

* some function names

* more naming

* corrections, naming

* some state flags named

* naming completed (some may be inaccurate)

* spec

* delete asm

* Review changes

* review

* review

Co-authored-by: Fig02 <fig02srl@gmail.com>
This commit is contained in:
EllipticEllipsis 2021-02-01 20:20:16 +00:00 committed by GitHub
parent 45deae6357
commit ea60ad6017
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
52 changed files with 760 additions and 2279 deletions

View file

@ -1,12 +0,0 @@
glabel EnGe1_Destroy
/* 002D8 80A30C48 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 002DC 80A30C4C 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
/* 002E0 80A30C50 AFBF0014 */ sw $ra, 0x0014($sp)
/* 002E4 80A30C54 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 002E8 80A30C58 0C0170EB */ jal Collider_DestroyCylinder
/* 002EC 80A30C5C 24C5014C */ addiu $a1, $a2, 0x014C ## $a1 = 0000014C
/* 002F0 80A30C60 8FBF0014 */ lw $ra, 0x0014($sp)
/* 002F4 80A30C64 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 002F8 80A30C68 03E00008 */ jr $ra
/* 002FC 80A30C6C 00000000 */ nop

View file

@ -1,77 +0,0 @@
.rdata
glabel D_80A328A8
.asciz "../z_en_ge1.c"
.balign 4
glabel D_80A328B8
.asciz "../z_en_ge1.c"
.balign 4
.text
glabel EnGe1_Draw
/* 01CD8 80A32648 27BDFFA8 */ addiu $sp, $sp, 0xFFA8 ## $sp = FFFFFFA8
/* 01CDC 80A3264C AFBF002C */ sw $ra, 0x002C($sp)
/* 01CE0 80A32650 AFB00028 */ sw $s0, 0x0028($sp)
/* 01CE4 80A32654 AFA5005C */ sw $a1, 0x005C($sp)
/* 01CE8 80A32658 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000
/* 01CEC 80A3265C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 01CF0 80A32660 3C0680A3 */ lui $a2, %hi(D_80A328A8) ## $a2 = 80A30000
/* 01CF4 80A32664 24C628A8 */ addiu $a2, $a2, %lo(D_80A328A8) ## $a2 = 80A328A8
/* 01CF8 80A32668 27A4003C */ addiu $a0, $sp, 0x003C ## $a0 = FFFFFFE4
/* 01CFC 80A3266C 240705A2 */ addiu $a3, $zero, 0x05A2 ## $a3 = 000005A2
/* 01D00 80A32670 0C031AB1 */ jal Graph_OpenDisps
/* 01D04 80A32674 AFA5004C */ sw $a1, 0x004C($sp)
/* 01D08 80A32678 8FAF005C */ lw $t7, 0x005C($sp)
/* 01D0C 80A3267C 0C0250F2 */ jal func_800943C8
/* 01D10 80A32680 8DE40000 */ lw $a0, 0x0000($t7) ## 00000000
/* 01D14 80A32684 8FA5004C */ lw $a1, 0x004C($sp)
/* 01D18 80A32688 3C19DB06 */ lui $t9, 0xDB06 ## $t9 = DB060000
/* 01D1C 80A3268C 37390020 */ ori $t9, $t9, 0x0020 ## $t9 = DB060020
/* 01D20 80A32690 8CA302C0 */ lw $v1, 0x02C0($a1) ## 000002C0
/* 01D24 80A32694 3C0480A3 */ lui $a0, %hi(D_80A327B4) ## $a0 = 80A30000
/* 01D28 80A32698 3C0E8016 */ lui $t6, %hi(gSegments)
/* 01D2C 80A3269C 24780008 */ addiu $t8, $v1, 0x0008 ## $t8 = 00000008
/* 01D30 80A326A0 ACB802C0 */ sw $t8, 0x02C0($a1) ## 000002C0
/* 01D34 80A326A4 AC790000 */ sw $t9, 0x0000($v1) ## 00000000
/* 01D38 80A326A8 860802A8 */ lh $t0, 0x02A8($s0) ## 000002A8
/* 01D3C 80A326AC 3C0100FF */ lui $at, 0x00FF ## $at = 00FF0000
/* 01D40 80A326B0 3421FFFF */ ori $at, $at, 0xFFFF ## $at = 00FFFFFF
/* 01D44 80A326B4 00084880 */ sll $t1, $t0, 2
/* 01D48 80A326B8 00892021 */ addu $a0, $a0, $t1
/* 01D4C 80A326BC 8C8427B4 */ lw $a0, %lo(D_80A327B4)($a0)
/* 01D50 80A326C0 3C0880A3 */ lui $t0, %hi(func_80A32598) ## $t0 = 80A30000
/* 01D54 80A326C4 3C1980A3 */ lui $t9, %hi(func_80A32444) ## $t9 = 80A30000
/* 01D58 80A326C8 00045900 */ sll $t3, $a0, 4
/* 01D5C 80A326CC 000B6702 */ srl $t4, $t3, 28
/* 01D60 80A326D0 000C6880 */ sll $t5, $t4, 2
/* 01D64 80A326D4 01CD7021 */ addu $t6, $t6, $t5
/* 01D68 80A326D8 8DCE6FA8 */ lw $t6, %lo(gSegments)($t6)
/* 01D6C 80A326DC 00815024 */ and $t2, $a0, $at
/* 01D70 80A326E0 3C018000 */ lui $at, 0x8000 ## $at = 80000000
/* 01D74 80A326E4 014E7821 */ addu $t7, $t2, $t6
/* 01D78 80A326E8 01E1C021 */ addu $t8, $t7, $at
/* 01D7C 80A326EC AC780004 */ sw $t8, 0x0004($v1) ## 00000004
/* 01D80 80A326F0 9207019A */ lbu $a3, 0x019A($s0) ## 0000019A
/* 01D84 80A326F4 8E0601B8 */ lw $a2, 0x01B8($s0) ## 000001B8
/* 01D88 80A326F8 8E05019C */ lw $a1, 0x019C($s0) ## 0000019C
/* 01D8C 80A326FC 27392444 */ addiu $t9, $t9, %lo(func_80A32444) ## $t9 = 80A32444
/* 01D90 80A32700 25082598 */ addiu $t0, $t0, %lo(func_80A32598) ## $t0 = 80A32598
/* 01D94 80A32704 AFA80014 */ sw $t0, 0x0014($sp)
/* 01D98 80A32708 AFB90010 */ sw $t9, 0x0010($sp)
/* 01D9C 80A3270C AFB00018 */ sw $s0, 0x0018($sp)
/* 01DA0 80A32710 0C0286B2 */ jal SkelAnime_DrawFlexOpa
/* 01DA4 80A32714 8FA4005C */ lw $a0, 0x005C($sp)
/* 01DA8 80A32718 8FA9005C */ lw $t1, 0x005C($sp)
/* 01DAC 80A3271C 3C0680A3 */ lui $a2, %hi(D_80A328B8) ## $a2 = 80A30000
/* 01DB0 80A32720 24C628B8 */ addiu $a2, $a2, %lo(D_80A328B8) ## $a2 = 80A328B8
/* 01DB4 80A32724 27A4003C */ addiu $a0, $sp, 0x003C ## $a0 = FFFFFFE4
/* 01DB8 80A32728 240705B3 */ addiu $a3, $zero, 0x05B3 ## $a3 = 000005B3
/* 01DBC 80A3272C 0C031AD5 */ jal Graph_CloseDisps
/* 01DC0 80A32730 8D250000 */ lw $a1, 0x0000($t1) ## 00000000
/* 01DC4 80A32734 8FBF002C */ lw $ra, 0x002C($sp)
/* 01DC8 80A32738 8FB00028 */ lw $s0, 0x0028($sp)
/* 01DCC 80A3273C 27BD0058 */ addiu $sp, $sp, 0x0058 ## $sp = 00000000
/* 01DD0 80A32740 03E00008 */ jr $ra
/* 01DD4 80A32744 00000000 */ nop
/* 01DD8 80A32748 00000000 */ nop
/* 01DDC 80A3274C 00000000 */ nop

View file

@ -1,219 +0,0 @@
.rdata
glabel D_80A327C0
.asciz "\x1b[36m 退 \n\x1b[m"
.balign 4
glabel D_80A327DC
.asciz "\x1b[36m EVENT_INF(0) = %x\n\x1b[m"
.balign 4
.text
glabel EnGe1_Init
/* 00000 80A30970 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0
/* 00004 80A30974 AFB00028 */ sw $s0, 0x0028($sp)
/* 00008 80A30978 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 0000C 80A3097C AFBF002C */ sw $ra, 0x002C($sp)
/* 00010 80A30980 AFA50044 */ sw $a1, 0x0044($sp)
/* 00014 80A30984 3C068003 */ lui $a2, %hi(ActorShadow_DrawCircle)
/* 00018 80A30988 24C6B5EC */ addiu $a2, %lo(ActorShadow_DrawCircle)
/* 0001C 80A3098C 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
/* 00020 80A30990 248400B4 */ addiu $a0, $a0, 0x00B4 ## $a0 = 000000B4
/* 00024 80A30994 0C00AC78 */ jal ActorShape_Init
/* 00028 80A30998 3C0741F0 */ lui $a3, 0x41F0 ## $a3 = 41F00000
/* 0002C 80A3099C 26050198 */ addiu $a1, $s0, 0x0198 ## $a1 = 00000198
/* 00030 80A309A0 3C060600 */ lui $a2, %hi(D_06000330) ## $a2 = 06000000
/* 00034 80A309A4 3C070600 */ lui $a3, %hi(D_06000228) ## $a3 = 06000000
/* 00038 80A309A8 260E01DC */ addiu $t6, $s0, 0x01DC ## $t6 = 000001DC
/* 0003C 80A309AC 260F023C */ addiu $t7, $s0, 0x023C ## $t7 = 0000023C
/* 00040 80A309B0 24180010 */ addiu $t8, $zero, 0x0010 ## $t8 = 00000010
/* 00044 80A309B4 AFB80018 */ sw $t8, 0x0018($sp)
/* 00048 80A309B8 AFAF0014 */ sw $t7, 0x0014($sp)
/* 0004C 80A309BC AFAE0010 */ sw $t6, 0x0010($sp)
/* 00050 80A309C0 24E70228 */ addiu $a3, $a3, %lo(D_06000228) ## $a3 = 06000228
/* 00054 80A309C4 24C60330 */ addiu $a2, $a2, %lo(D_06000330) ## $a2 = 06000330
/* 00058 80A309C8 AFA50030 */ sw $a1, 0x0030($sp)
/* 0005C 80A309CC 0C0291BE */ jal SkelAnime_InitFlex
/* 00060 80A309D0 8FA40044 */ lw $a0, 0x0044($sp)
/* 00064 80A309D4 3C050600 */ lui $a1, %hi(D_06000228) ## $a1 = 06000000
/* 00068 80A309D8 24A50228 */ addiu $a1, $a1, %lo(D_06000228) ## $a1 = 06000228
/* 0006C 80A309DC 0C02947A */ jal Animation_PlayOnce
/* 00070 80A309E0 8FA40030 */ lw $a0, 0x0030($sp)
/* 00074 80A309E4 2605014C */ addiu $a1, $s0, 0x014C ## $a1 = 0000014C
/* 00078 80A309E8 AFA50030 */ sw $a1, 0x0030($sp)
/* 0007C 80A309EC 0C0170D9 */ jal Collider_InitCylinder
/* 00080 80A309F0 8FA40044 */ lw $a0, 0x0044($sp)
/* 00084 80A309F4 3C0780A3 */ lui $a3, %hi(D_80A32770) ## $a3 = 80A30000
/* 00088 80A309F8 8FA50030 */ lw $a1, 0x0030($sp)
/* 0008C 80A309FC 24E72770 */ addiu $a3, $a3, %lo(D_80A32770) ## $a3 = 80A32770
/* 00090 80A30A00 8FA40044 */ lw $a0, 0x0044($sp)
/* 00094 80A30A04 0C01712B */ jal Collider_SetCylinder
/* 00098 80A30A08 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
/* 0009C 80A30A0C 3C080600 */ lui $t0, %hi(D_06000228) ## $t0 = 06000000
/* 000A0 80A30A10 3C0980A3 */ lui $t1, %hi(func_80A323B0) ## $t1 = 80A30000
/* 000A4 80A30A14 241900FF */ addiu $t9, $zero, 0x00FF ## $t9 = 000000FF
/* 000A8 80A30A18 25080228 */ addiu $t0, $t0, %lo(D_06000228) ## $t0 = 06000228
/* 000AC 80A30A1C 252923B0 */ addiu $t1, $t1, %lo(func_80A323B0) ## $t1 = 80A323B0
/* 000B0 80A30A20 240A0006 */ addiu $t2, $zero, 0x0006 ## $t2 = 00000006
/* 000B4 80A30A24 3C053C23 */ lui $a1, 0x3C23 ## $a1 = 3C230000
/* 000B8 80A30A28 A21900AE */ sb $t9, 0x00AE($s0) ## 000000AE
/* 000BC 80A30A2C AE0802B0 */ sw $t0, 0x02B0($s0) ## 000002B0
/* 000C0 80A30A30 AE0902B8 */ sw $t1, 0x02B8($s0) ## 000002B8
/* 000C4 80A30A34 A20A001F */ sb $t2, 0x001F($s0) ## 0000001F
/* 000C8 80A30A38 34A5D70A */ ori $a1, $a1, 0xD70A ## $a1 = 3C23D70A
/* 000CC 80A30A3C 0C00B58B */ jal Actor_SetScale
/* 000D0 80A30A40 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 000D4 80A30A44 8FAB0044 */ lw $t3, 0x0044($sp)
/* 000D8 80A30A48 2401005A */ addiu $at, $zero, 0x005A ## $at = 0000005A
/* 000DC 80A30A4C 3C0E80A3 */ lui $t6, %hi(func_80A31880) ## $t6 = 80A30000
/* 000E0 80A30A50 856C00A4 */ lh $t4, 0x00A4($t3) ## 000000A4
/* 000E4 80A30A54 240D0002 */ addiu $t5, $zero, 0x0002 ## $t5 = 00000002
/* 000E8 80A30A58 25CE1880 */ addiu $t6, $t6, %lo(func_80A31880) ## $t6 = 80A31880
/* 000EC 80A30A5C 15810004 */ bne $t4, $at, .L80A30A70
/* 000F0 80A30A60 3C01447A */ lui $at, 0x447A ## $at = 447A0000
/* 000F4 80A30A64 44812000 */ mtc1 $at, $f4 ## $f4 = 1000.00
/* 000F8 80A30A68 10000005 */ beq $zero, $zero, .L80A30A80
/* 000FC 80A30A6C E60400F4 */ swc1 $f4, 0x00F4($s0) ## 000000F4
.L80A30A70:
/* 00100 80A30A70 3C014496 */ lui $at, 0x4496 ## $at = 44960000
/* 00104 80A30A74 44813000 */ mtc1 $at, $f6 ## $f6 = 1200.00
/* 00108 80A30A78 00000000 */ nop
/* 0010C 80A30A7C E60600F4 */ swc1 $f6, 0x00F4($s0) ## 000000F4
.L80A30A80:
/* 00110 80A30A80 8602001C */ lh $v0, 0x001C($s0) ## 0000001C
/* 00114 80A30A84 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 00118 80A30A88 304200FF */ andi $v0, $v0, 0x00FF ## $v0 = 00000000
/* 0011C 80A30A8C 50400012 */ beql $v0, $zero, .L80A30AD8
/* 00120 80A30A90 A20D02AE */ sb $t5, 0x02AE($s0) ## 000002AE
/* 00124 80A30A94 10410012 */ beq $v0, $at, .L80A30AE0
/* 00128 80A30A98 240F0001 */ addiu $t7, $zero, 0x0001 ## $t7 = 00000001
/* 0012C 80A30A9C 24010004 */ addiu $at, $zero, 0x0004 ## $at = 00000004
/* 00130 80A30AA0 1041001A */ beq $v0, $at, .L80A30B0C
/* 00134 80A30AA4 24080001 */ addiu $t0, $zero, 0x0001 ## $t0 = 00000001
/* 00138 80A30AA8 24010005 */ addiu $at, $zero, 0x0005 ## $at = 00000005
/* 0013C 80A30AAC 10410022 */ beq $v0, $at, .L80A30B38
/* 00140 80A30AB0 3C0B8016 */ lui $t3, %hi(gSaveContext+4)
/* 00144 80A30AB4 24010045 */ addiu $at, $zero, 0x0045 ## $at = 00000045
/* 00148 80A30AB8 1041002D */ beq $v0, $at, .L80A30B70
/* 0014C 80A30ABC 3C0D8012 */ lui $t5, %hi(gItemSlots+3)
/* 00150 80A30AC0 24010046 */ addiu $at, $zero, 0x0046 ## $at = 00000046
/* 00154 80A30AC4 10410050 */ beq $v0, $at, .L80A30C08
/* 00158 80A30AC8 240C0001 */ addiu $t4, $zero, 0x0001 ## $t4 = 00000001
/* 0015C 80A30ACC 10000059 */ beq $zero, $zero, .L80A30C34
/* 00160 80A30AD0 A60002AC */ sh $zero, 0x02AC($s0) ## 000002AC
/* 00164 80A30AD4 A20D02AE */ sb $t5, 0x02AE($s0) ## 000002AE
.L80A30AD8:
/* 00168 80A30AD8 10000055 */ beq $zero, $zero, .L80A30C30
/* 0016C 80A30ADC AE0E02B4 */ sw $t6, 0x02B4($s0) ## 000002B4
.L80A30AE0:
/* 00170 80A30AE0 0C28C373 */ jal func_80A30DCC
/* 00174 80A30AE4 A20F02AE */ sb $t7, 0x02AE($s0) ## 000002AE
/* 00178 80A30AE8 10400005 */ beq $v0, $zero, .L80A30B00
/* 0017C 80A30AEC 3C1980A3 */ lui $t9, %hi(func_80A30F48) ## $t9 = 80A30000
/* 00180 80A30AF0 3C1880A3 */ lui $t8, %hi(func_80A317C0) ## $t8 = 80A30000
/* 00184 80A30AF4 271817C0 */ addiu $t8, $t8, %lo(func_80A317C0) ## $t8 = 80A317C0
/* 00188 80A30AF8 1000004D */ beq $zero, $zero, .L80A30C30
/* 0018C 80A30AFC AE1802B4 */ sw $t8, 0x02B4($s0) ## 000002B4
.L80A30B00:
/* 00190 80A30B00 27390F48 */ addiu $t9, $t9, %lo(func_80A30F48) ## $t9 = 80A30F48
/* 00194 80A30B04 1000004A */ beq $zero, $zero, .L80A30C30
/* 00198 80A30B08 AE1902B4 */ sw $t9, 0x02B4($s0) ## 000002B4
.L80A30B0C:
/* 0019C 80A30B0C 0C28C373 */ jal func_80A30DCC
/* 001A0 80A30B10 A20802AE */ sb $t0, 0x02AE($s0) ## 000002AE
/* 001A4 80A30B14 10400005 */ beq $v0, $zero, .L80A30B2C
/* 001A8 80A30B18 3C0A80A3 */ lui $t2, %hi(func_80A310C4) ## $t2 = 80A30000
/* 001AC 80A30B1C 3C0980A3 */ lui $t1, %hi(func_80A31094) ## $t1 = 80A30000
/* 001B0 80A30B20 25291094 */ addiu $t1, $t1, %lo(func_80A31094) ## $t1 = 80A31094
/* 001B4 80A30B24 10000042 */ beq $zero, $zero, .L80A30C30
/* 001B8 80A30B28 AE0902B4 */ sw $t1, 0x02B4($s0) ## 000002B4
.L80A30B2C:
/* 001BC 80A30B2C 254A10C4 */ addiu $t2, $t2, %lo(func_80A310C4) ## $t2 = 80A310C4
/* 001C0 80A30B30 1000003F */ beq $zero, $zero, .L80A30C30
/* 001C4 80A30B34 AE0A02B4 */ sw $t2, 0x02B4($s0) ## 000002B4
.L80A30B38:
/* 001C8 80A30B38 8D6BE664 */ lw $t3, %lo(gSaveContext+4)($t3)
/* 001CC 80A30B3C 3C0C80A3 */ lui $t4, %hi(func_80A3118C) ## $t4 = 80A30000
/* 001D0 80A30B40 3C0480A3 */ lui $a0, %hi(D_80A327C0) ## $a0 = 80A30000
/* 001D4 80A30B44 15600007 */ bne $t3, $zero, .L80A30B64
/* 001D8 80A30B48 258C118C */ addiu $t4, $t4, %lo(func_80A3118C) ## $t4 = 80A3118C
/* 001DC 80A30B4C 0C00084C */ jal osSyncPrintf
/* 001E0 80A30B50 248427C0 */ addiu $a0, $a0, %lo(D_80A327C0) ## $a0 = 80A327C0
/* 001E4 80A30B54 0C00B55C */ jal Actor_Kill
/* 001E8 80A30B58 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 001EC 80A30B5C 10000036 */ beq $zero, $zero, .L80A30C38
/* 001F0 80A30B60 8FBF002C */ lw $ra, 0x002C($sp)
.L80A30B64:
/* 001F4 80A30B64 A20002AE */ sb $zero, 0x02AE($s0) ## 000002AE
/* 001F8 80A30B68 10000031 */ beq $zero, $zero, .L80A30C30
/* 001FC 80A30B6C AE0C02B4 */ sw $t4, 0x02B4($s0) ## 000002B4
.L80A30B70:
/* 00200 80A30B70 91AD7467 */ lbu $t5, %lo(gItemSlots+3)($t5)
/* 00204 80A30B74 3C028016 */ lui $v0, %hi(gSaveContext)
/* 00208 80A30B78 2442E660 */ addiu $v0, %lo(gSaveContext)
/* 0020C 80A30B7C 004D7021 */ addu $t6, $v0, $t5
/* 00210 80A30B80 91CF0074 */ lbu $t7, 0x0074($t6) ## 00000074
/* 00214 80A30B84 240100FF */ addiu $at, $zero, 0x00FF ## $at = 000000FF
/* 00218 80A30B88 24180003 */ addiu $t8, $zero, 0x0003 ## $t8 = 00000003
/* 0021C 80A30B8C 15E10005 */ bne $t7, $at, .L80A30BA4
/* 00220 80A30B90 3C0480A3 */ lui $a0, %hi(D_80A327DC) ## $a0 = 80A30000
/* 00224 80A30B94 0C00B55C */ jal Actor_Kill
/* 00228 80A30B98 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 0022C 80A30B9C 10000026 */ beq $zero, $zero, .L80A30C38
/* 00230 80A30BA0 8FBF002C */ lw $ra, 0x002C($sp)
.L80A30BA4:
/* 00234 80A30BA4 A218001F */ sb $t8, 0x001F($s0) ## 0000001F
/* 00238 80A30BA8 A20002AE */ sb $zero, 0x02AE($s0) ## 000002AE
/* 0023C 80A30BAC 944513FA */ lhu $a1, 0x13FA($v0) ## 000013FA
/* 00240 80A30BB0 0C00084C */ jal osSyncPrintf
/* 00244 80A30BB4 248427DC */ addiu $a0, $a0, %lo(D_80A327DC) ## $a0 = 000027DC
/* 00248 80A30BB8 3C198016 */ lui $t9, %hi(gSaveContext+0x13fa)
/* 0024C 80A30BBC 9739FA5A */ lhu $t9, %lo(gSaveContext+0x13fa)($t9)
/* 00250 80A30BC0 3C0980A3 */ lui $t1, %hi(func_80A31E2C) ## $t1 = 80A30000
/* 00254 80A30BC4 25291E2C */ addiu $t1, $t1, %lo(func_80A31E2C) ## $t1 = 80A31E2C
/* 00258 80A30BC8 33280100 */ andi $t0, $t9, 0x0100 ## $t0 = 00000000
/* 0025C 80A30BCC 11000003 */ beq $t0, $zero, .L80A30BDC
/* 00260 80A30BD0 00000000 */ nop
/* 00264 80A30BD4 10000016 */ beq $zero, $zero, .L80A30C30
/* 00268 80A30BD8 AE0902B4 */ sw $t1, 0x02B4($s0) ## 000002B4
.L80A30BDC:
/* 0026C 80A30BDC 0C28C373 */ jal func_80A30DCC
/* 00270 80A30BE0 00000000 */ nop
/* 00274 80A30BE4 10400005 */ beq $v0, $zero, .L80A30BFC
/* 00278 80A30BE8 3C0B80A3 */ lui $t3, %hi(func_80A30F48) ## $t3 = 80A30000
/* 0027C 80A30BEC 3C0A80A3 */ lui $t2, %hi(func_80A31FE0) ## $t2 = 80A30000
/* 00280 80A30BF0 254A1FE0 */ addiu $t2, $t2, %lo(func_80A31FE0) ## $t2 = 80A31FE0
/* 00284 80A30BF4 1000000E */ beq $zero, $zero, .L80A30C30
/* 00288 80A30BF8 AE0A02B4 */ sw $t2, 0x02B4($s0) ## 000002B4
.L80A30BFC:
/* 0028C 80A30BFC 256B0F48 */ addiu $t3, $t3, %lo(func_80A30F48) ## $t3 = 80A30F48
/* 00290 80A30C00 1000000B */ beq $zero, $zero, .L80A30C30
/* 00294 80A30C04 AE0B02B4 */ sw $t3, 0x02B4($s0) ## 000002B4
.L80A30C08:
/* 00298 80A30C08 0C28C373 */ jal func_80A30DCC
/* 0029C 80A30C0C A20C02AE */ sb $t4, 0x02AE($s0) ## 000002AE
/* 002A0 80A30C10 10400005 */ beq $v0, $zero, .L80A30C28
/* 002A4 80A30C14 3C0E80A3 */ lui $t6, %hi(func_80A30F48) ## $t6 = 80A30000
/* 002A8 80A30C18 3C0D80A3 */ lui $t5, %hi(func_80A31514) ## $t5 = 80A30000
/* 002AC 80A30C1C 25AD1514 */ addiu $t5, $t5, %lo(func_80A31514) ## $t5 = 80A31514
/* 002B0 80A30C20 10000003 */ beq $zero, $zero, .L80A30C30
/* 002B4 80A30C24 AE0D02B4 */ sw $t5, 0x02B4($s0) ## 000002B4
.L80A30C28:
/* 002B8 80A30C28 25CE0F48 */ addiu $t6, $t6, %lo(func_80A30F48) ## $t6 = 80A30F48
/* 002BC 80A30C2C AE0E02B4 */ sw $t6, 0x02B4($s0) ## 000002B4
.L80A30C30:
/* 002C0 80A30C30 A60002AC */ sh $zero, 0x02AC($s0) ## 000002AC
.L80A30C34:
/* 002C4 80A30C34 8FBF002C */ lw $ra, 0x002C($sp)
.L80A30C38:
/* 002C8 80A30C38 8FB00028 */ lw $s0, 0x0028($sp)
/* 002CC 80A30C3C 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000
/* 002D0 80A30C40 03E00008 */ jr $ra
/* 002D4 80A30C44 00000000 */ nop

View file

@ -1,92 +0,0 @@
glabel EnGe1_Update
/* 018FC 80A3226C 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0
/* 01900 80A32270 AFB0001C */ sw $s0, 0x001C($sp)
/* 01904 80A32274 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 01908 80A32278 AFB10020 */ sw $s1, 0x0020($sp)
/* 0190C 80A3227C 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
/* 01910 80A32280 AFBF0024 */ sw $ra, 0x0024($sp)
/* 01914 80A32284 2606014C */ addiu $a2, $s0, 0x014C ## $a2 = 0000014C
/* 01918 80A32288 00C02825 */ or $a1, $a2, $zero ## $a1 = 0000014C
/* 0191C 80A3228C 0C0189B7 */ jal Collider_UpdateCylinder
/* 01920 80A32290 AFA6002C */ sw $a2, 0x002C($sp)
/* 01924 80A32294 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 01928 80A32298 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60
/* 0192C 80A3229C 8FA6002C */ lw $a2, 0x002C($sp)
/* 01930 80A322A0 02212821 */ addu $a1, $s1, $at
/* 01934 80A322A4 0C017713 */ jal CollisionCheck_SetOC
## CollisionCheck_setOC
/* 01938 80A322A8 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 0193C 80A322AC 0C00B638 */ jal Actor_MoveForward
/* 01940 80A322B0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01944 80A322B4 3C014220 */ lui $at, 0x4220 ## $at = 42200000
/* 01948 80A322B8 44810000 */ mtc1 $at, $f0 ## $f0 = 40.00
/* 0194C 80A322BC 240E0005 */ addiu $t6, $zero, 0x0005 ## $t6 = 00000005
/* 01950 80A322C0 AFAE0014 */ sw $t6, 0x0014($sp)
/* 01954 80A322C4 44060000 */ mfc1 $a2, $f0
/* 01958 80A322C8 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 0195C 80A322CC 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 01960 80A322D0 3C0741C8 */ lui $a3, 0x41C8 ## $a3 = 41C80000
/* 01964 80A322D4 0C00B92D */ jal Actor_UpdateBgCheckInfo
/* 01968 80A322D8 E7A00010 */ swc1 $f0, 0x0010($sp)
/* 0196C 80A322DC 8E1902B8 */ lw $t9, 0x02B8($s0) ## 000002B8
/* 01970 80A322E0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01974 80A322E4 0320F809 */ jalr $ra, $t9
/* 01978 80A322E8 00000000 */ nop
/* 0197C 80A322EC 8E1902B4 */ lw $t9, 0x02B4($s0) ## 000002B4
/* 01980 80A322F0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01984 80A322F4 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
/* 01988 80A322F8 0320F809 */ jalr $ra, $t9
/* 0198C 80A322FC 00000000 */ nop
/* 01990 80A32300 960F02AC */ lhu $t7, 0x02AC($s0) ## 000002AC
/* 01994 80A32304 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
/* 01998 80A32308 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 0199C 80A3230C 31F80001 */ andi $t8, $t7, 0x0001 ## $t8 = 00000000
/* 019A0 80A32310 13000007 */ beq $t8, $zero, .L80A32330
/* 019A4 80A32314 00000000 */ nop
/* 019A8 80A32318 0C28C81E */ jal func_80A32078
/* 019AC 80A3231C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 019B0 80A32320 960802AC */ lhu $t0, 0x02AC($s0) ## 000002AC
/* 019B4 80A32324 3109FFFE */ andi $t1, $t0, 0xFFFE ## $t1 = 00000000
/* 019B8 80A32328 10000003 */ beq $zero, $zero, .L80A32338
/* 019BC 80A3232C A60902AC */ sh $t1, 0x02AC($s0) ## 000002AC
.L80A32330:
/* 019C0 80A32330 0C28C864 */ jal func_80A32190
/* 019C4 80A32334 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
.L80A32338:
/* 019C8 80A32338 A60002A6 */ sh $zero, 0x02A6($s0) ## 000002A6
/* 019CC 80A3233C 860202A6 */ lh $v0, 0x02A6($s0) ## 000002A6
/* 019D0 80A32340 860302AA */ lh $v1, 0x02AA($s0) ## 000002AA
/* 019D4 80A32344 2404003C */ addiu $a0, $zero, 0x003C ## $a0 = 0000003C
/* 019D8 80A32348 A60202A4 */ sh $v0, 0x02A4($s0) ## 000002A4
/* 019DC 80A3234C 14600003 */ bne $v1, $zero, .L80A3235C
/* 019E0 80A32350 A60202A2 */ sh $v0, 0x02A2($s0) ## 000002A2
/* 019E4 80A32354 10000005 */ beq $zero, $zero, .L80A3236C
/* 019E8 80A32358 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
.L80A3235C:
/* 019EC 80A3235C 246AFFFF */ addiu $t2, $v1, 0xFFFF ## $t2 = FFFFFFFF
/* 019F0 80A32360 A60A02AA */ sh $t2, 0x02AA($s0) ## 000002AA
/* 019F4 80A32364 860302AA */ lh $v1, 0x02AA($s0) ## 000002AA
/* 019F8 80A32368 00601025 */ or $v0, $v1, $zero ## $v0 = 00000000
.L80A3236C:
/* 019FC 80A3236C 54400006 */ bnel $v0, $zero, .L80A32388
/* 01A00 80A32370 A60302A8 */ sh $v1, 0x02A8($s0) ## 000002A8
/* 01A04 80A32374 0C01DF64 */ jal Rand_S16Offset
/* 01A08 80A32378 2405003C */ addiu $a1, $zero, 0x003C ## $a1 = 0000003C
/* 01A0C 80A3237C A60202AA */ sh $v0, 0x02AA($s0) ## 000002AA
/* 01A10 80A32380 860302AA */ lh $v1, 0x02AA($s0) ## 000002AA
/* 01A14 80A32384 A60302A8 */ sh $v1, 0x02A8($s0) ## 000002A8
.L80A32388:
/* 01A18 80A32388 860B02A8 */ lh $t3, 0x02A8($s0) ## 000002A8
/* 01A1C 80A3238C 29610003 */ slti $at, $t3, 0x0003
/* 01A20 80A32390 54200003 */ bnel $at, $zero, .L80A323A0
/* 01A24 80A32394 8FBF0024 */ lw $ra, 0x0024($sp)
/* 01A28 80A32398 A60002A8 */ sh $zero, 0x02A8($s0) ## 000002A8
/* 01A2C 80A3239C 8FBF0024 */ lw $ra, 0x0024($sp)
.L80A323A0:
/* 01A30 80A323A0 8FB0001C */ lw $s0, 0x001C($sp)
/* 01A34 80A323A4 8FB10020 */ lw $s1, 0x0020($sp)
/* 01A38 80A323A8 03E00008 */ jr $ra
/* 01A3C 80A323AC 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000

View file

@ -1,59 +0,0 @@
glabel func_80A30C70
/* 00300 80A30C70 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
/* 00304 80A30C74 AFBF002C */ sw $ra, 0x002C($sp)
/* 00308 80A30C78 AFB00028 */ sw $s0, 0x0028($sp)
/* 0030C 80A30C7C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00310 80A30C80 AFA50034 */ sw $a1, 0x0034($sp)
/* 00314 80A30C84 AFA60038 */ sw $a2, 0x0038($sp)
/* 00318 80A30C88 0C00BC65 */ jal func_8002F194
/* 0031C 80A30C8C AFA7003C */ sw $a3, 0x003C($sp)
/* 00320 80A30C90 1040001D */ beq $v0, $zero, .L80A30D08
/* 00324 80A30C94 C7A0003C */ lwc1 $f0, 0x003C($sp)
/* 00328 80A30C98 961802AC */ lhu $t8, 0x02AC($s0) ## 000002AC
/* 0032C 80A30C9C 8FAE0040 */ lw $t6, 0x0040($sp)
/* 00330 80A30CA0 3C040600 */ lui $a0, %hi(D_06000228) ## $a0 = 06000000
/* 00334 80A30CA4 3C0F80A3 */ lui $t7, %hi(func_80A323EC) ## $t7 = 80A30000
/* 00338 80A30CA8 24840228 */ addiu $a0, $a0, %lo(D_06000228) ## $a0 = 06000228
/* 0033C 80A30CAC 25EF23EC */ addiu $t7, $t7, %lo(func_80A323EC) ## $t7 = 80A323EC
/* 00340 80A30CB0 3319FFFB */ andi $t9, $t8, 0xFFFB ## $t9 = 00000000
/* 00344 80A30CB4 AE0F02B8 */ sw $t7, 0x02B8($s0) ## 000002B8
/* 00348 80A30CB8 A61902AC */ sh $t9, 0x02AC($s0) ## 000002AC
/* 0034C 80A30CBC AE0402B0 */ sw $a0, 0x02B0($s0) ## 000002B0
/* 00350 80A30CC0 0C028800 */ jal Animation_GetLastFrame
/* 00354 80A30CC4 AE0E02B4 */ sw $t6, 0x02B4($s0) ## 000002B4
/* 00358 80A30CC8 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
/* 0035C 80A30CCC 3C01C100 */ lui $at, 0xC100 ## $at = C1000000
/* 00360 80A30CD0 44814000 */ mtc1 $at, $f8 ## $f8 = -8.00
/* 00364 80A30CD4 468021A0 */ cvt.s.w $f6, $f4
/* 00368 80A30CD8 3C050600 */ lui $a1, %hi(D_06000228) ## $a1 = 06000000
/* 0036C 80A30CDC 24080002 */ addiu $t0, $zero, 0x0002 ## $t0 = 00000002
/* 00370 80A30CE0 AFA80014 */ sw $t0, 0x0014($sp)
/* 00374 80A30CE4 24A50228 */ addiu $a1, $a1, %lo(D_06000228) ## $a1 = 06000228
/* 00378 80A30CE8 26040198 */ addiu $a0, $s0, 0x0198 ## $a0 = 00000198
/* 0037C 80A30CEC E7A60010 */ swc1 $f6, 0x0010($sp)
/* 00380 80A30CF0 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 00384 80A30CF4 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
/* 00388 80A30CF8 0C029468 */ jal Animation_Change
/* 0038C 80A30CFC E7A80018 */ swc1 $f8, 0x0018($sp)
/* 00390 80A30D00 1000000C */ beq $zero, $zero, .L80A30D34
/* 00394 80A30D04 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
.L80A30D08:
/* 00398 80A30D08 C60A0090 */ lwc1 $f10, 0x0090($s0) ## 00000090
/* 0039C 80A30D0C 97A9003A */ lhu $t1, 0x003A($sp)
/* 003A0 80A30D10 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 003A4 80A30D14 4600503C */ c.lt.s $f10, $f0
/* 003A8 80A30D18 A609010E */ sh $t1, 0x010E($s0) ## 0000010E
/* 003AC 80A30D1C 45020005 */ bc1fl .L80A30D34
/* 003B0 80A30D20 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
/* 003B4 80A30D24 44060000 */ mfc1 $a2, $f0
/* 003B8 80A30D28 0C00BCB3 */ jal func_8002F2CC
/* 003BC 80A30D2C 8FA50034 */ lw $a1, 0x0034($sp)
/* 003C0 80A30D30 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
.L80A30D34:
/* 003C4 80A30D34 8FBF002C */ lw $ra, 0x002C($sp)
/* 003C8 80A30D38 8FB00028 */ lw $s0, 0x0028($sp)
/* 003CC 80A30D3C 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
/* 003D0 80A30D40 03E00008 */ jr $ra
/* 003D4 80A30D44 00000000 */ nop

View file

@ -1,36 +0,0 @@
glabel func_80A30D48
/* 003D8 80A30D48 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
/* 003DC 80A30D4C AFA40028 */ sw $a0, 0x0028($sp)
/* 003E0 80A30D50 AFBF0024 */ sw $ra, 0x0024($sp)
/* 003E4 80A30D54 3C040600 */ lui $a0, %hi(D_06000228) ## $a0 = 06000000
/* 003E8 80A30D58 0C028800 */ jal Animation_GetLastFrame
/* 003EC 80A30D5C 24840228 */ addiu $a0, $a0, %lo(D_06000228) ## $a0 = 06000228
/* 003F0 80A30D60 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
/* 003F4 80A30D64 3C014100 */ lui $at, 0x4100 ## $at = 41000000
/* 003F8 80A30D68 44814000 */ mtc1 $at, $f8 ## $f8 = 8.00
/* 003FC 80A30D6C 46802120 */ cvt.s.w $f4, $f4
/* 00400 80A30D70 8FA40028 */ lw $a0, 0x0028($sp)
/* 00404 80A30D74 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00
/* 00408 80A30D78 3C050600 */ lui $a1, %hi(D_06000228) ## $a1 = 06000000
/* 0040C 80A30D7C 240E0002 */ addiu $t6, $zero, 0x0002 ## $t6 = 00000002
/* 00410 80A30D80 AFAE0014 */ sw $t6, 0x0014($sp)
/* 00414 80A30D84 44072000 */ mfc1 $a3, $f4
/* 00418 80A30D88 24A50228 */ addiu $a1, $a1, %lo(D_06000228) ## $a1 = 06000228
/* 0041C 80A30D8C 3C06BF80 */ lui $a2, 0xBF80 ## $a2 = BF800000
/* 00420 80A30D90 E7A80018 */ swc1 $f8, 0x0018($sp)
/* 00424 80A30D94 24840198 */ addiu $a0, $a0, 0x0198 ## $a0 = 00000198
/* 00428 80A30D98 0C029468 */ jal Animation_Change
/* 0042C 80A30D9C E7A60010 */ swc1 $f6, 0x0010($sp)
/* 00430 80A30DA0 8FA20028 */ lw $v0, 0x0028($sp)
/* 00434 80A30DA4 3C0F0600 */ lui $t7, %hi(D_06000228) ## $t7 = 06000000
/* 00438 80A30DA8 3C1880A3 */ lui $t8, %hi(func_80A323B0) ## $t8 = 80A30000
/* 0043C 80A30DAC 25EF0228 */ addiu $t7, $t7, %lo(D_06000228) ## $t7 = 06000228
/* 00440 80A30DB0 271823B0 */ addiu $t8, $t8, %lo(func_80A323B0) ## $t8 = 80A323B0
/* 00444 80A30DB4 AC4F02B0 */ sw $t7, 0x02B0($v0) ## 000002B0
/* 00448 80A30DB8 AC5802B8 */ sw $t8, 0x02B8($v0) ## 000002B8
/* 0044C 80A30DBC 8FBF0024 */ lw $ra, 0x0024($sp)
/* 00450 80A30DC0 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
/* 00454 80A30DC4 03E00008 */ jr $ra
/* 00458 80A30DC8 00000000 */ nop

View file

@ -1,18 +0,0 @@
glabel func_80A30DCC
/* 0045C 80A30DCC 3C028016 */ lui $v0, %hi(gSaveContext+0xee6)
/* 00460 80A30DD0 9442F546 */ lhu $v0, %lo(gSaveContext+0xee6)($v0)
/* 00464 80A30DD4 304E0001 */ andi $t6, $v0, 0x0001 ## $t6 = 00000000
/* 00468 80A30DD8 11C00007 */ beq $t6, $zero, .L80A30DF8
/* 0046C 80A30DDC 304F0002 */ andi $t7, $v0, 0x0002 ## $t7 = 00000000
/* 00470 80A30DE0 11E00005 */ beq $t7, $zero, .L80A30DF8
/* 00474 80A30DE4 30580004 */ andi $t8, $v0, 0x0004 ## $t8 = 00000000
/* 00478 80A30DE8 13000003 */ beq $t8, $zero, .L80A30DF8
/* 0047C 80A30DEC 30590008 */ andi $t9, $v0, 0x0008 ## $t9 = 00000000
/* 00480 80A30DF0 17200003 */ bne $t9, $zero, .L80A30E00
/* 00484 80A30DF4 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
.L80A30DF8:
/* 00488 80A30DF8 03E00008 */ jr $ra
/* 0048C 80A30DFC 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
.L80A30E00:
/* 00490 80A30E00 03E00008 */ jr $ra
/* 00494 80A30E04 00000000 */ nop

View file

@ -1,63 +0,0 @@
glabel func_80A30E08
/* 00498 80A30E08 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 0049C 80A30E0C AFBF0014 */ sw $ra, 0x0014($sp)
/* 004A0 80A30E10 948E02AC */ lhu $t6, 0x02AC($a0) ## 000002AC
/* 004A4 80A30E14 908202AF */ lbu $v0, 0x02AF($a0) ## 000002AF
/* 004A8 80A30E18 35CF0001 */ ori $t7, $t6, 0x0001 ## $t7 = 00000001
/* 004AC 80A30E1C 18400004 */ blez $v0, .L80A30E30
/* 004B0 80A30E20 A48F02AC */ sh $t7, 0x02AC($a0) ## 000002AC
/* 004B4 80A30E24 2458FFFF */ addiu $t8, $v0, 0xFFFF ## $t8 = FFFFFFFF
/* 004B8 80A30E28 1000002B */ beq $zero, $zero, .L80A30ED8
/* 004BC 80A30E2C A09802AF */ sb $t8, 0x02AF($a0) ## 000002AF
.L80A30E30:
/* 004C0 80A30E30 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 004C4 80A30E34 0C01B41D */ jal func_8006D074
/* 004C8 80A30E38 AFA5001C */ sw $a1, 0x001C($sp)
/* 004CC 80A30E3C 3C048012 */ lui $a0, %hi(gItemSlots)
/* 004D0 80A30E40 24847464 */ addiu $a0, %lo(gItemSlots)
/* 004D4 80A30E44 9099000A */ lbu $t9, 0x000A($a0) ## 8012746E
/* 004D8 80A30E48 3C028016 */ lui $v0, %hi(gSaveContext)
/* 004DC 80A30E4C 2442E660 */ addiu $v0, %lo(gSaveContext)
/* 004E0 80A30E50 00594021 */ addu $t0, $v0, $t9
/* 004E4 80A30E54 91090074 */ lbu $t1, 0x0074($t0) ## 00000074
/* 004E8 80A30E58 240300FF */ addiu $v1, $zero, 0x00FF ## $v1 = 000000FF
/* 004EC 80A30E5C 8FA5001C */ lw $a1, 0x001C($sp)
/* 004F0 80A30E60 10690005 */ beq $v1, $t1, .L80A30E78
/* 004F4 80A30E64 24080026 */ addiu $t0, $zero, 0x0026 ## $t0 = 00000026
/* 004F8 80A30E68 908A000B */ lbu $t2, 0x000B($a0) ## 8012746F
/* 004FC 80A30E6C 004A5821 */ addu $t3, $v0, $t2
/* 00500 80A30E70 916C0074 */ lbu $t4, 0x0074($t3) ## 00000074
/* 00504 80A30E74 146C0005 */ bne $v1, $t4, .L80A30E8C
.L80A30E78:
/* 00508 80A30E78 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 0050C 80A30E7C 00250821 */ addu $at, $at, $a1
/* 00510 80A30E80 240D01A5 */ addiu $t5, $zero, 0x01A5 ## $t5 = 000001A5
/* 00514 80A30E84 1000000D */ beq $zero, $zero, .L80A30EBC
/* 00518 80A30E88 A42D1E1A */ sh $t5, 0x1E1A($at) ## 00011E1A
.L80A30E8C:
/* 0051C 80A30E8C 944E0EEC */ lhu $t6, 0x0EEC($v0) ## 8015F54C
/* 00520 80A30E90 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 00524 80A30E94 00250821 */ addu $at, $at, $a1
/* 00528 80A30E98 31CF0080 */ andi $t7, $t6, 0x0080 ## $t7 = 00000000
/* 0052C 80A30E9C 11E00006 */ beq $t7, $zero, .L80A30EB8
/* 00530 80A30EA0 241903B4 */ addiu $t9, $zero, 0x03B4 ## $t9 = 000003B4
/* 00534 80A30EA4 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 00538 80A30EA8 00250821 */ addu $at, $at, $a1
/* 0053C 80A30EAC 241805F8 */ addiu $t8, $zero, 0x05F8 ## $t8 = 000005F8
/* 00540 80A30EB0 10000002 */ beq $zero, $zero, .L80A30EBC
/* 00544 80A30EB4 A4381E1A */ sh $t8, 0x1E1A($at) ## 00011E1A
.L80A30EB8:
/* 00548 80A30EB8 A4391E1A */ sh $t9, 0x1E1A($at) ## 00011E1A
.L80A30EBC:
/* 0054C 80A30EBC 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 00550 80A30EC0 00250821 */ addu $at, $at, $a1
/* 00554 80A30EC4 A0281E5E */ sb $t0, 0x1E5E($at) ## 00011E5E
/* 00558 80A30EC8 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 0055C 80A30ECC 00250821 */ addu $at, $at, $a1
/* 00560 80A30ED0 24090014 */ addiu $t1, $zero, 0x0014 ## $t1 = 00000014
/* 00564 80A30ED4 A0291E15 */ sb $t1, 0x1E15($at) ## 00011E15
.L80A30ED8:
/* 00568 80A30ED8 8FBF0014 */ lw $ra, 0x0014($sp)
/* 0056C 80A30EDC 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00570 80A30EE0 03E00008 */ jr $ra
/* 00574 80A30EE4 00000000 */ nop

View file

@ -1,25 +0,0 @@
glabel func_80A30EE8
/* 00578 80A30EE8 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 0057C 80A30EEC AFBF0014 */ sw $ra, 0x0014($sp)
/* 00580 80A30EF0 AFA5001C */ sw $a1, 0x001C($sp)
/* 00584 80A30EF4 3C0F80A3 */ lui $t7, %hi(func_80A30E08) ## $t7 = 80A30000
/* 00588 80A30EF8 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000
/* 0058C 80A30EFC 240E001E */ addiu $t6, $zero, 0x001E ## $t6 = 0000001E
/* 00590 80A30F00 25EF0E08 */ addiu $t7, $t7, %lo(func_80A30E08) ## $t7 = 80A30E08
/* 00594 80A30F04 A08E02AF */ sb $t6, 0x02AF($a0) ## 000002AF
/* 00598 80A30F08 AC8F02B4 */ sw $t7, 0x02B4($a0) ## 000002B4
/* 0059C 80A30F0C AFA70018 */ sw $a3, 0x0018($sp)
/* 005A0 80A30F10 8FA4001C */ lw $a0, 0x001C($sp)
/* 005A4 80A30F14 00E02825 */ or $a1, $a3, $zero ## $a1 = 00000000
/* 005A8 80A30F18 0C00B7D5 */ jal func_8002DF54
/* 005AC 80A30F1C 2406005F */ addiu $a2, $zero, 0x005F ## $a2 = 0000005F
/* 005B0 80A30F20 0C01E221 */ jal func_80078884
/* 005B4 80A30F24 2404482C */ addiu $a0, $zero, 0x482C ## $a0 = 0000482C
/* 005B8 80A30F28 8FA60018 */ lw $a2, 0x0018($sp)
/* 005BC 80A30F2C 8FA4001C */ lw $a0, 0x001C($sp)
/* 005C0 80A30F30 0C042DA0 */ jal func_8010B680
/* 005C4 80A30F34 24056000 */ addiu $a1, $zero, 0x6000 ## $a1 = 00006000
/* 005C8 80A30F38 8FBF0014 */ lw $ra, 0x0014($sp)
/* 005CC 80A30F3C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 005D0 80A30F40 03E00008 */ jr $ra
/* 005D4 80A30F44 00000000 */ nop

View file

@ -1,52 +0,0 @@
glabel func_80A30F48
/* 005D8 80A30F48 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 005DC 80A30F4C AFBF0014 */ sw $ra, 0x0014($sp)
/* 005E0 80A30F50 AFA5001C */ sw $a1, 0x001C($sp)
/* 005E4 80A30F54 848F00B6 */ lh $t7, 0x00B6($a0) ## 000000B6
/* 005E8 80A30F58 848E008A */ lh $t6, 0x008A($a0) ## 0000008A
/* 005EC 80A30F5C 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000
/* 005F0 80A30F60 01CF1023 */ subu $v0, $t6, $t7
/* 005F4 80A30F64 00021400 */ sll $v0, $v0, 16
/* 005F8 80A30F68 00021403 */ sra $v0, $v0, 16
/* 005FC 80A30F6C 04400003 */ bltz $v0, .L80A30F7C
/* 00600 80A30F70 00021823 */ subu $v1, $zero, $v0
/* 00604 80A30F74 10000001 */ beq $zero, $zero, .L80A30F7C
/* 00608 80A30F78 00401825 */ or $v1, $v0, $zero ## $v1 = 00000000
.L80A30F7C:
/* 0060C 80A30F7C 28614301 */ slti $at, $v1, 0x4301
/* 00610 80A30F80 1020000C */ beq $at, $zero, .L80A30FB4
/* 00614 80A30F84 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000
/* 00618 80A30F88 44813000 */ mtc1 $at, $f6 ## $f6 = 100.00
/* 0061C 80A30F8C C4E40090 */ lwc1 $f4, 0x0090($a3) ## 00000090
/* 00620 80A30F90 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000
/* 00624 80A30F94 8FA5001C */ lw $a1, 0x001C($sp)
/* 00628 80A30F98 4606203C */ c.lt.s $f4, $f6
/* 0062C 80A30F9C 00000000 */ nop
/* 00630 80A30FA0 45020005 */ bc1fl .L80A30FB8
/* 00634 80A30FA4 90F8015D */ lbu $t8, 0x015D($a3) ## 0000015D
/* 00638 80A30FA8 0C28C3BA */ jal func_80A30EE8
/* 0063C 80A30FAC AFA70018 */ sw $a3, 0x0018($sp)
/* 00640 80A30FB0 8FA70018 */ lw $a3, 0x0018($sp)
.L80A30FB4:
/* 00644 80A30FB4 90F8015D */ lbu $t8, 0x015D($a3) ## 0000015D
.L80A30FB8:
/* 00648 80A30FB8 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000
/* 0064C 80A30FBC 8FA5001C */ lw $a1, 0x001C($sp)
/* 00650 80A30FC0 33190002 */ andi $t9, $t8, 0x0002 ## $t9 = 00000000
/* 00654 80A30FC4 53200005 */ beql $t9, $zero, .L80A30FDC
/* 00658 80A30FC8 8FA4001C */ lw $a0, 0x001C($sp)
/* 0065C 80A30FCC 0C28C3BA */ jal func_80A30EE8
/* 00660 80A30FD0 AFA70018 */ sw $a3, 0x0018($sp)
/* 00664 80A30FD4 8FA70018 */ lw $a3, 0x0018($sp)
/* 00668 80A30FD8 8FA4001C */ lw $a0, 0x001C($sp)
.L80A30FDC:
/* 0066C 80A30FDC 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 00670 80A30FE0 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60
/* 00674 80A30FE4 24E6014C */ addiu $a2, $a3, 0x014C ## $a2 = 0000014C
/* 00678 80A30FE8 0C01767D */ jal CollisionCheck_SetAC
## CollisionCheck_setAC
/* 0067C 80A30FEC 00812821 */ addu $a1, $a0, $at
/* 00680 80A30FF0 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00684 80A30FF4 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00688 80A30FF8 03E00008 */ jr $ra
/* 0068C 80A30FFC 00000000 */ nop

View file

@ -1,42 +0,0 @@
glabel func_80A31000
/* 00690 80A31000 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00694 80A31004 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00698 80A31008 948E02AC */ lhu $t6, 0x02AC($a0) ## 000002AC
/* 0069C 80A3100C 35CF0001 */ ori $t7, $t6, 0x0001 ## $t7 = 00000001
/* 006A0 80A31010 A48F02AC */ sh $t7, 0x02AC($a0) ## 000002AC
/* 006A4 80A31014 0C00BCCD */ jal func_8002F334
/* 006A8 80A31018 AFA40018 */ sw $a0, 0x0018($sp)
/* 006AC 80A3101C 10400019 */ beq $v0, $zero, .L80A31084
/* 006B0 80A31020 8FA40018 */ lw $a0, 0x0018($sp)
/* 006B4 80A31024 9482010E */ lhu $v0, 0x010E($a0) ## 0000010E
/* 006B8 80A31028 24016001 */ addiu $at, $zero, 0x6001 ## $at = 00006001
/* 006BC 80A3102C 3C1980A3 */ lui $t9, %hi(func_80A31094) ## $t9 = 80A30000
/* 006C0 80A31030 1041000D */ beq $v0, $at, .L80A31068
/* 006C4 80A31034 27391094 */ addiu $t9, $t9, %lo(func_80A31094) ## $t9 = 80A31094
/* 006C8 80A31038 24016018 */ addiu $at, $zero, 0x6018 ## $at = 00006018
/* 006CC 80A3103C 1041000F */ beq $v0, $at, .L80A3107C
/* 006D0 80A31040 3C0980A3 */ lui $t1, %hi(func_80A317C0) ## $t1 = 80A30000
/* 006D4 80A31044 24016019 */ addiu $at, $zero, 0x6019 ## $at = 00006019
/* 006D8 80A31048 10410009 */ beq $v0, $at, .L80A31070
/* 006DC 80A3104C 3C0880A3 */ lui $t0, %hi(func_80A3118C) ## $t0 = 80A30000
/* 006E0 80A31050 2401601A */ addiu $at, $zero, 0x601A ## $at = 0000601A
/* 006E4 80A31054 10410006 */ beq $v0, $at, .L80A31070
/* 006E8 80A31058 3C1880A3 */ lui $t8, %hi(func_80A3118C) ## $t8 = 80A30000
/* 006EC 80A3105C 2718118C */ addiu $t8, $t8, %lo(func_80A3118C) ## $t8 = 80A3118C
/* 006F0 80A31060 10000008 */ beq $zero, $zero, .L80A31084
/* 006F4 80A31064 AC9802B4 */ sw $t8, 0x02B4($a0) ## 000002B4
.L80A31068:
/* 006F8 80A31068 10000006 */ beq $zero, $zero, .L80A31084
/* 006FC 80A3106C AC9902B4 */ sw $t9, 0x02B4($a0) ## 000002B4
.L80A31070:
/* 00700 80A31070 2508118C */ addiu $t0, $t0, %lo(func_80A3118C) ## $t0 = 80A3118C
/* 00704 80A31074 10000003 */ beq $zero, $zero, .L80A31084
/* 00708 80A31078 AC8802B4 */ sw $t0, 0x02B4($a0) ## 000002B4
.L80A3107C:
/* 0070C 80A3107C 252917C0 */ addiu $t1, $t1, %lo(func_80A317C0) ## $t1 = 80A317C0
/* 00710 80A31080 AC8902B4 */ sw $t1, 0x02B4($a0) ## 000002B4
.L80A31084:
/* 00714 80A31084 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00718 80A31088 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 0071C 80A3108C 03E00008 */ jr $ra
/* 00720 80A31090 00000000 */ nop

View file

@ -1,13 +0,0 @@
glabel func_80A31094
/* 00724 80A31094 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 00728 80A31098 3C0E80A3 */ lui $t6, %hi(func_80A31000) ## $t6 = 80A30000
/* 0072C 80A3109C AFBF001C */ sw $ra, 0x001C($sp)
/* 00730 80A310A0 25CE1000 */ addiu $t6, $t6, %lo(func_80A31000) ## $t6 = 80A31000
/* 00734 80A310A4 AFAE0010 */ sw $t6, 0x0010($sp)
/* 00738 80A310A8 24066001 */ addiu $a2, $zero, 0x6001 ## $a2 = 00006001
/* 0073C 80A310AC 0C28C31C */ jal func_80A30C70
/* 00740 80A310B0 3C0742C8 */ lui $a3, 0x42C8 ## $a3 = 42C80000
/* 00744 80A310B4 8FBF001C */ lw $ra, 0x001C($sp)
/* 00748 80A310B8 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 0074C 80A310BC 03E00008 */ jr $ra
/* 00750 80A310C0 00000000 */ nop

View file

@ -1,56 +0,0 @@
glabel func_80A310C4
/* 00754 80A310C4 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00758 80A310C8 AFBF0014 */ sw $ra, 0x0014($sp)
/* 0075C 80A310CC AFA5001C */ sw $a1, 0x001C($sp)
/* 00760 80A310D0 3C014248 */ lui $at, 0x4248 ## $at = 42480000
/* 00764 80A310D4 44812000 */ mtc1 $at, $f4 ## $f4 = 50.00
/* 00768 80A310D8 C4800090 */ lwc1 $f0, 0x0090($a0) ## 00000090
/* 0076C 80A310DC 848F00B6 */ lh $t7, 0x00B6($a0) ## 000000B6
/* 00770 80A310E0 848E008A */ lh $t6, 0x008A($a0) ## 0000008A
/* 00774 80A310E4 4604003C */ c.lt.s $f0, $f4
/* 00778 80A310E8 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000
/* 0077C 80A310EC 01CF1023 */ subu $v0, $t6, $t7
/* 00780 80A310F0 00021400 */ sll $v0, $v0, 16
/* 00784 80A310F4 4501000D */ bc1t .L80A3112C
/* 00788 80A310F8 00021403 */ sra $v0, $v0, 16
/* 0078C 80A310FC 04400003 */ bltz $v0, .L80A3110C
/* 00790 80A31100 00021823 */ subu $v1, $zero, $v0
/* 00794 80A31104 10000001 */ beq $zero, $zero, .L80A3110C
/* 00798 80A31108 00401825 */ or $v1, $v0, $zero ## $v1 = 00000000
.L80A3110C:
/* 0079C 80A3110C 28614301 */ slti $at, $v1, 0x4301
/* 007A0 80A31110 1020000B */ beq $at, $zero, .L80A31140
/* 007A4 80A31114 3C0143C8 */ lui $at, 0x43C8 ## $at = 43C80000
/* 007A8 80A31118 44813000 */ mtc1 $at, $f6 ## $f6 = 400.00
/* 007AC 80A3111C 00000000 */ nop
/* 007B0 80A31120 4606003C */ c.lt.s $f0, $f6
/* 007B4 80A31124 00000000 */ nop
/* 007B8 80A31128 45000005 */ bc1f .L80A31140
.L80A3112C:
/* 007BC 80A3112C 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000
/* 007C0 80A31130 8FA5001C */ lw $a1, 0x001C($sp)
/* 007C4 80A31134 0C28C3BA */ jal func_80A30EE8
/* 007C8 80A31138 AFA70018 */ sw $a3, 0x0018($sp)
/* 007CC 80A3113C 8FA70018 */ lw $a3, 0x0018($sp)
.L80A31140:
/* 007D0 80A31140 90F8015D */ lbu $t8, 0x015D($a3) ## 0000015D
/* 007D4 80A31144 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000
/* 007D8 80A31148 8FA5001C */ lw $a1, 0x001C($sp)
/* 007DC 80A3114C 33190002 */ andi $t9, $t8, 0x0002 ## $t9 = 00000000
/* 007E0 80A31150 53200005 */ beql $t9, $zero, .L80A31168
/* 007E4 80A31154 8FA4001C */ lw $a0, 0x001C($sp)
/* 007E8 80A31158 0C28C3BA */ jal func_80A30EE8
/* 007EC 80A3115C AFA70018 */ sw $a3, 0x0018($sp)
/* 007F0 80A31160 8FA70018 */ lw $a3, 0x0018($sp)
/* 007F4 80A31164 8FA4001C */ lw $a0, 0x001C($sp)
.L80A31168:
/* 007F8 80A31168 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 007FC 80A3116C 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60
/* 00800 80A31170 24E6014C */ addiu $a2, $a3, 0x014C ## $a2 = 0000014C
/* 00804 80A31174 0C01767D */ jal CollisionCheck_SetAC
## CollisionCheck_setAC
/* 00808 80A31178 00812821 */ addu $a1, $a0, $at
/* 0080C 80A3117C 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00810 80A31180 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00814 80A31184 03E00008 */ jr $ra
/* 00818 80A31188 00000000 */ nop

View file

@ -1,23 +0,0 @@
glabel func_80A3118C
/* 0081C 80A3118C 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 00820 80A31190 AFA40020 */ sw $a0, 0x0020($sp)
/* 00824 80A31194 AFBF001C */ sw $ra, 0x001C($sp)
/* 00828 80A31198 AFA50024 */ sw $a1, 0x0024($sp)
/* 0082C 80A3119C 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 00830 80A311A0 0C01B0D8 */ jal Text_GetFaceReaction
/* 00834 80A311A4 24050022 */ addiu $a1, $zero, 0x0022 ## $a1 = 00000022
/* 00838 80A311A8 14400002 */ bne $v0, $zero, .L80A311B4
/* 0083C 80A311AC 3046FFFF */ andi $a2, $v0, 0xFFFF ## $a2 = 00000000
/* 00840 80A311B0 24066019 */ addiu $a2, $zero, 0x6019 ## $a2 = 00006019
.L80A311B4:
/* 00844 80A311B4 3C0E80A3 */ lui $t6, %hi(func_80A31000) ## $t6 = 80A30000
/* 00848 80A311B8 25CE1000 */ addiu $t6, $t6, %lo(func_80A31000) ## $t6 = 80A31000
/* 0084C 80A311BC AFAE0010 */ sw $t6, 0x0010($sp)
/* 00850 80A311C0 8FA40020 */ lw $a0, 0x0020($sp)
/* 00854 80A311C4 8FA50024 */ lw $a1, 0x0024($sp)
/* 00858 80A311C8 0C28C31C */ jal func_80A30C70
/* 0085C 80A311CC 3C0742C8 */ lui $a3, 0x42C8 ## $a3 = 42C80000
/* 00860 80A311D0 8FBF001C */ lw $ra, 0x001C($sp)
/* 00864 80A311D4 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 00868 80A311D8 03E00008 */ jr $ra
/* 0086C 80A311DC 00000000 */ nop

View file

@ -1,24 +0,0 @@
glabel func_80A311E0
/* 00870 80A311E0 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00874 80A311E4 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00878 80A311E8 AFA5001C */ sw $a1, 0x001C($sp)
/* 0087C 80A311EC 908202AF */ lbu $v0, 0x02AF($a0) ## 000002AF
/* 00880 80A311F0 18400003 */ blez $v0, .L80A31200
/* 00884 80A311F4 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF
/* 00888 80A311F8 10000007 */ beq $zero, $zero, .L80A31218
/* 0088C 80A311FC A08E02AF */ sb $t6, 0x02AF($a0) ## 000002AF
.L80A31200:
/* 00890 80A31200 0C28C352 */ jal func_80A30D48
/* 00894 80A31204 AFA40018 */ sw $a0, 0x0018($sp)
/* 00898 80A31208 8FA40018 */ lw $a0, 0x0018($sp)
/* 0089C 80A3120C 3C0F80A3 */ lui $t7, %hi(func_80A31094) ## $t7 = 80A30000
/* 008A0 80A31210 25EF1094 */ addiu $t7, $t7, %lo(func_80A31094) ## $t7 = 80A31094
/* 008A4 80A31214 AC8F02B4 */ sw $t7, 0x02B4($a0) ## 000002B4
.L80A31218:
/* 008A8 80A31218 949802AC */ lhu $t8, 0x02AC($a0) ## 000002AC
/* 008AC 80A3121C 37190008 */ ori $t9, $t8, 0x0008 ## $t9 = 00000008
/* 008B0 80A31220 A49902AC */ sh $t9, 0x02AC($a0) ## 000002AC
/* 008B4 80A31224 8FBF0014 */ lw $ra, 0x0014($sp)
/* 008B8 80A31228 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 008BC 80A3122C 03E00008 */ jr $ra
/* 008C0 80A31230 00000000 */ nop

View file

@ -1,50 +0,0 @@
glabel func_80A31234
/* 008C4 80A31234 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 008C8 80A31238 AFBF0014 */ sw $ra, 0x0014($sp)
/* 008CC 80A3123C AFA5001C */ sw $a1, 0x001C($sp)
/* 008D0 80A31240 948E02AC */ lhu $t6, 0x02AC($a0) ## 000002AC
/* 008D4 80A31244 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
/* 008D8 80A31248 3C1880A3 */ lui $t8, %hi(func_80A311E0) ## $t8 = 80A30000
/* 008DC 80A3124C 31CF0004 */ andi $t7, $t6, 0x0004 ## $t7 = 00000000
/* 008E0 80A31250 11E00010 */ beq $t7, $zero, .L80A31294
/* 008E4 80A31254 3C014170 */ lui $at, 0x4170 ## $at = 41700000
/* 008E8 80A31258 271811E0 */ addiu $t8, $t8, %lo(func_80A311E0) ## $t8 = 80A311E0
/* 008EC 80A3125C AC9802B4 */ sw $t8, 0x02B4($a0) ## 000002B4
/* 008F0 80A31260 84C5001C */ lh $a1, 0x001C($a2) ## 0000001C
/* 008F4 80A31264 AFA60018 */ sw $a2, 0x0018($sp)
/* 008F8 80A31268 8FA4001C */ lw $a0, 0x001C($sp)
/* 008FC 80A3126C 00052A03 */ sra $a1, $a1, 8
/* 00900 80A31270 0C00B2DD */ jal Flags_SetSwitch
/* 00904 80A31274 30A5003F */ andi $a1, $a1, 0x003F ## $a1 = 00000000
/* 00908 80A31278 8FA60018 */ lw $a2, 0x0018($sp)
/* 0090C 80A3127C 24190032 */ addiu $t9, $zero, 0x0032 ## $t9 = 00000032
/* 00910 80A31280 A0D902AF */ sb $t9, 0x02AF($a2) ## 000002AF
/* 00914 80A31284 0C041B33 */ jal func_80106CCC
/* 00918 80A31288 8FA4001C */ lw $a0, 0x001C($sp)
/* 0091C 80A3128C 10000012 */ beq $zero, $zero, .L80A312D8
/* 00920 80A31290 8FBF0014 */ lw $ra, 0x0014($sp)
.L80A31294:
/* 00924 80A31294 C4C001B0 */ lwc1 $f0, 0x01B0($a2) ## 000001B0
/* 00928 80A31298 44812000 */ mtc1 $at, $f4 ## $f4 = 0.00
/* 0092C 80A3129C 3C014198 */ lui $at, 0x4198 ## $at = 41980000
/* 00930 80A312A0 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
/* 00934 80A312A4 46002032 */ c.eq.s $f4, $f0
/* 00938 80A312A8 00000000 */ nop
/* 0093C 80A312AC 45010007 */ bc1t .L80A312CC
/* 00940 80A312B0 00000000 */ nop
/* 00944 80A312B4 44813000 */ mtc1 $at, $f6 ## $f6 = 19.00
/* 00948 80A312B8 00000000 */ nop
/* 0094C 80A312BC 46003032 */ c.eq.s $f6, $f0
/* 00950 80A312C0 00000000 */ nop
/* 00954 80A312C4 45020004 */ bc1fl .L80A312D8
/* 00958 80A312C8 8FBF0014 */ lw $ra, 0x0014($sp)
.L80A312CC:
/* 0095C 80A312CC 0C00BE0A */ jal Audio_PlayActorSound2
/* 00960 80A312D0 2405184D */ addiu $a1, $zero, 0x184D ## $a1 = 0000184D
/* 00964 80A312D4 8FBF0014 */ lw $ra, 0x0014($sp)
.L80A312D8:
/* 00968 80A312D8 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 0096C 80A312DC 03E00008 */ jr $ra
/* 00970 80A312E0 00000000 */ nop

View file

@ -1,52 +0,0 @@
glabel func_80A312E4
/* 00974 80A312E4 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
/* 00978 80A312E8 AFB00028 */ sw $s0, 0x0028($sp)
/* 0097C 80A312EC 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00980 80A312F0 AFBF002C */ sw $ra, 0x002C($sp)
/* 00984 80A312F4 AFA50034 */ sw $a1, 0x0034($sp)
/* 00988 80A312F8 0C042F6F */ jal func_8010BDBC
/* 0098C 80A312FC 24A420D8 */ addiu $a0, $a1, 0x20D8 ## $a0 = 000020D8
/* 00990 80A31300 24010005 */ addiu $at, $zero, 0x0005 ## $at = 00000005
/* 00994 80A31304 54410022 */ bnel $v0, $at, .L80A31390
/* 00998 80A31308 8FBF002C */ lw $ra, 0x002C($sp)
/* 0099C 80A3130C 0C041AF2 */ jal func_80106BC8
/* 009A0 80A31310 8FA40034 */ lw $a0, 0x0034($sp)
/* 009A4 80A31314 1040001D */ beq $v0, $zero, .L80A3138C
/* 009A8 80A31318 3C0E80A3 */ lui $t6, %hi(func_80A31234) ## $t6 = 80A30000
/* 009AC 80A3131C 25CE1234 */ addiu $t6, $t6, %lo(func_80A31234) ## $t6 = 80A31234
/* 009B0 80A31320 3C040601 */ lui $a0, %hi(D_0600A048) ## $a0 = 06010000
/* 009B4 80A31324 AE0E02B4 */ sw $t6, 0x02B4($s0) ## 000002B4
/* 009B8 80A31328 0C028800 */ jal Animation_GetLastFrame
/* 009BC 80A3132C 2484A048 */ addiu $a0, $a0, %lo(D_0600A048) ## $a0 = 0600A048
/* 009C0 80A31330 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
/* 009C4 80A31334 3C01C040 */ lui $at, 0xC040 ## $at = C0400000
/* 009C8 80A31338 44814000 */ mtc1 $at, $f8 ## $f8 = -3.00
/* 009CC 80A3133C 468021A0 */ cvt.s.w $f6, $f4
/* 009D0 80A31340 3C050601 */ lui $a1, %hi(D_0600A048) ## $a1 = 06010000
/* 009D4 80A31344 240F0002 */ addiu $t7, $zero, 0x0002 ## $t7 = 00000002
/* 009D8 80A31348 AFAF0014 */ sw $t7, 0x0014($sp)
/* 009DC 80A3134C 24A5A048 */ addiu $a1, $a1, %lo(D_0600A048) ## $a1 = 0600A048
/* 009E0 80A31350 26040198 */ addiu $a0, $s0, 0x0198 ## $a0 = 00000198
/* 009E4 80A31354 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 009E8 80A31358 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 009EC 80A3135C 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
/* 009F0 80A31360 0C029468 */ jal Animation_Change
/* 009F4 80A31364 E7A80018 */ swc1 $f8, 0x0018($sp)
/* 009F8 80A31368 960802AC */ lhu $t0, 0x02AC($s0) ## 000002AC
/* 009FC 80A3136C 3C180601 */ lui $t8, %hi(D_0600A048) ## $t8 = 06010000
/* 00A00 80A31370 3C1980A3 */ lui $t9, %hi(func_80A323EC) ## $t9 = 80A30000
/* 00A04 80A31374 2718A048 */ addiu $t8, $t8, %lo(D_0600A048) ## $t8 = 0600A048
/* 00A08 80A31378 273923EC */ addiu $t9, $t9, %lo(func_80A323EC) ## $t9 = 80A323EC
/* 00A0C 80A3137C 3109FFFB */ andi $t1, $t0, 0xFFFB ## $t1 = 00000000
/* 00A10 80A31380 AE1802B0 */ sw $t8, 0x02B0($s0) ## 000002B0
/* 00A14 80A31384 AE1902B8 */ sw $t9, 0x02B8($s0) ## 000002B8
/* 00A18 80A31388 A60902AC */ sh $t1, 0x02AC($s0) ## 000002AC
.L80A3138C:
/* 00A1C 80A3138C 8FBF002C */ lw $ra, 0x002C($sp)
.L80A31390:
/* 00A20 80A31390 8FB00028 */ lw $s0, 0x0028($sp)
/* 00A24 80A31394 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
/* 00A28 80A31398 03E00008 */ jr $ra
/* 00A2C 80A3139C 00000000 */ nop

View file

@ -1,18 +0,0 @@
glabel func_80A313A0
/* 00A30 80A313A0 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00A34 80A313A4 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00A38 80A313A8 AFA40018 */ sw $a0, 0x0018($sp)
/* 00A3C 80A313AC 0C042F6F */ jal func_8010BDBC
/* 00A40 80A313B0 24A420D8 */ addiu $a0, $a1, 0x20D8 ## $a0 = 000020D8
/* 00A44 80A313B4 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
/* 00A48 80A313B8 14410005 */ bne $v0, $at, .L80A313D0
/* 00A4C 80A313BC 8FA40018 */ lw $a0, 0x0018($sp)
/* 00A50 80A313C0 3C0E80A3 */ lui $t6, %hi(func_80A31514) ## $t6 = 80A30000
/* 00A54 80A313C4 25CE1514 */ addiu $t6, $t6, %lo(func_80A31514) ## $t6 = 80A31514
/* 00A58 80A313C8 0C28C352 */ jal func_80A30D48
/* 00A5C 80A313CC AC8E02B4 */ sw $t6, 0x02B4($a0) ## 000002B4
.L80A313D0:
/* 00A60 80A313D0 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00A64 80A313D4 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00A68 80A313D8 03E00008 */ jr $ra
/* 00A6C 80A313DC 00000000 */ nop

View file

@ -1,66 +0,0 @@
glabel func_80A313E0
/* 00A70 80A313E0 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 00A74 80A313E4 AFBF001C */ sw $ra, 0x001C($sp)
/* 00A78 80A313E8 AFB10018 */ sw $s1, 0x0018($sp)
/* 00A7C 80A313EC AFB00014 */ sw $s0, 0x0014($sp)
/* 00A80 80A313F0 948E02AC */ lhu $t6, 0x02AC($a0) ## 000002AC
/* 00A84 80A313F4 00808825 */ or $s1, $a0, $zero ## $s1 = 00000000
/* 00A88 80A313F8 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000
/* 00A8C 80A313FC 35CF0001 */ ori $t7, $t6, 0x0001 ## $t7 = 00000001
/* 00A90 80A31400 A48F02AC */ sh $t7, 0x02AC($a0) ## 000002AC
/* 00A94 80A31404 0C042F6F */ jal func_8010BDBC
/* 00A98 80A31408 24A420D8 */ addiu $a0, $a1, 0x20D8 ## $a0 = 000020D8
/* 00A9C 80A3140C 24010004 */ addiu $at, $zero, 0x0004 ## $at = 00000004
/* 00AA0 80A31410 5441002B */ bnel $v0, $at, .L80A314C0
/* 00AA4 80A31414 8FBF001C */ lw $ra, 0x001C($sp)
/* 00AA8 80A31418 0C041AF2 */ jal func_80106BC8
/* 00AAC 80A3141C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00AB0 80A31420 50400027 */ beql $v0, $zero, .L80A314C0
/* 00AB4 80A31424 8FBF001C */ lw $ra, 0x001C($sp)
/* 00AB8 80A31428 0C041B33 */ jal func_80106CCC
/* 00ABC 80A3142C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00AC0 80A31430 3C020001 */ lui $v0, 0x0001 ## $v0 = 00010000
/* 00AC4 80A31434 00501021 */ addu $v0, $v0, $s0
/* 00AC8 80A31438 904204BD */ lbu $v0, 0x04BD($v0) ## 000104BD
/* 00ACC 80A3143C 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 00AD0 80A31440 3C188016 */ lui $t8, %hi(gSaveContext+0x34)
/* 00AD4 80A31444 10400005 */ beq $v0, $zero, .L80A3145C
/* 00AD8 80A31448 00000000 */ nop
/* 00ADC 80A3144C 10410017 */ beq $v0, $at, .L80A314AC
/* 00AE0 80A31450 3C0980A3 */ lui $t1, %hi(func_80A31514) ## $t1 = 80A30000
/* 00AE4 80A31454 1000001A */ beq $zero, $zero, .L80A314C0
/* 00AE8 80A31458 8FBF001C */ lw $ra, 0x001C($sp)
.L80A3145C:
/* 00AEC 80A3145C 8718E694 */ lh $t8, %lo(gSaveContext+0x34)($t8)
/* 00AF0 80A31460 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00AF4 80A31464 2B01000A */ slti $at, $t8, 0x000A
/* 00AF8 80A31468 10200007 */ beq $at, $zero, .L80A31488
/* 00AFC 80A3146C 00000000 */ nop
/* 00B00 80A31470 0C042DC8 */ jal func_8010B720
/* 00B04 80A31474 24056016 */ addiu $a1, $zero, 0x6016 ## $a1 = 00006016
/* 00B08 80A31478 3C1980A3 */ lui $t9, %hi(func_80A313A0) ## $t9 = 80A30000
/* 00B0C 80A3147C 273913A0 */ addiu $t9, $t9, %lo(func_80A313A0) ## $t9 = 80A313A0
/* 00B10 80A31480 1000000E */ beq $zero, $zero, .L80A314BC
/* 00B14 80A31484 AE3902B4 */ sw $t9, 0x02B4($s1) ## 000002B4
.L80A31488:
/* 00B18 80A31488 0C021CC3 */ jal Rupees_ChangeBy
/* 00B1C 80A3148C 2404FFF6 */ addiu $a0, $zero, 0xFFF6 ## $a0 = FFFFFFF6
/* 00B20 80A31490 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00B24 80A31494 0C042DC8 */ jal func_8010B720
/* 00B28 80A31498 24056015 */ addiu $a1, $zero, 0x6015 ## $a1 = 00006015
/* 00B2C 80A3149C 3C0880A3 */ lui $t0, %hi(func_80A312E4) ## $t0 = 80A30000
/* 00B30 80A314A0 250812E4 */ addiu $t0, $t0, %lo(func_80A312E4) ## $t0 = 80A312E4
/* 00B34 80A314A4 10000005 */ beq $zero, $zero, .L80A314BC
/* 00B38 80A314A8 AE2802B4 */ sw $t0, 0x02B4($s1) ## 000002B4
.L80A314AC:
/* 00B3C 80A314AC 25291514 */ addiu $t1, $t1, %lo(func_80A31514) ## $t1 = 00001514
/* 00B40 80A314B0 AE2902B4 */ sw $t1, 0x02B4($s1) ## 000002B4
/* 00B44 80A314B4 0C28C352 */ jal func_80A30D48
/* 00B48 80A314B8 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
.L80A314BC:
/* 00B4C 80A314BC 8FBF001C */ lw $ra, 0x001C($sp)
.L80A314C0:
/* 00B50 80A314C0 8FB00014 */ lw $s0, 0x0014($sp)
/* 00B54 80A314C4 8FB10018 */ lw $s1, 0x0018($sp)
/* 00B58 80A314C8 03E00008 */ jr $ra
/* 00B5C 80A314CC 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000

View file

@ -1,19 +0,0 @@
glabel func_80A314D0
/* 00B60 80A314D0 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00B64 80A314D4 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00B68 80A314D8 948E02AC */ lhu $t6, 0x02AC($a0) ## 000002AC
/* 00B6C 80A314DC 35CF0001 */ ori $t7, $t6, 0x0001 ## $t7 = 00000001
/* 00B70 80A314E0 A48F02AC */ sh $t7, 0x02AC($a0) ## 000002AC
/* 00B74 80A314E4 0C00BCCD */ jal func_8002F334
/* 00B78 80A314E8 AFA40018 */ sw $a0, 0x0018($sp)
/* 00B7C 80A314EC 10400005 */ beq $v0, $zero, .L80A31504
/* 00B80 80A314F0 8FA40018 */ lw $a0, 0x0018($sp)
/* 00B84 80A314F4 3C1880A3 */ lui $t8, %hi(func_80A31514) ## $t8 = 80A30000
/* 00B88 80A314F8 27181514 */ addiu $t8, $t8, %lo(func_80A31514) ## $t8 = 80A31514
/* 00B8C 80A314FC 0C28C352 */ jal func_80A30D48
/* 00B90 80A31500 AC9802B4 */ sw $t8, 0x02B4($a0) ## 000002B4
.L80A31504:
/* 00B94 80A31504 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00B98 80A31508 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00B9C 80A3150C 03E00008 */ jr $ra
/* 00BA0 80A31510 00000000 */ nop

View file

@ -1,29 +0,0 @@
glabel func_80A31514
/* 00BA4 80A31514 3C0E8012 */ lui $t6, %hi(gBitFlags+0x58)
/* 00BA8 80A31518 3C0F8016 */ lui $t7, %hi(gSaveContext+0xa4)
/* 00BAC 80A3151C 8DEFE704 */ lw $t7, %lo(gSaveContext+0xa4)($t7)
/* 00BB0 80A31520 8DCE7178 */ lw $t6, %lo(gBitFlags+0x58)($t6)
/* 00BB4 80A31524 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 00BB8 80A31528 AFBF001C */ sw $ra, 0x001C($sp)
/* 00BBC 80A3152C 01CFC024 */ and $t8, $t6, $t7
/* 00BC0 80A31530 13000009 */ beq $t8, $zero, .L80A31558
/* 00BC4 80A31534 24066013 */ addiu $a2, $zero, 0x6013 ## $a2 = 00006013
/* 00BC8 80A31538 3C1980A3 */ lui $t9, %hi(func_80A313E0) ## $t9 = 80A30000
/* 00BCC 80A3153C 273913E0 */ addiu $t9, $t9, %lo(func_80A313E0) ## $t9 = 80A313E0
/* 00BD0 80A31540 AFB90010 */ sw $t9, 0x0010($sp)
/* 00BD4 80A31544 24066014 */ addiu $a2, $zero, 0x6014 ## $a2 = 00006014
/* 00BD8 80A31548 0C28C31C */ jal func_80A30C70
/* 00BDC 80A3154C 3C0742C8 */ lui $a3, 0x42C8 ## $a3 = 42C80000
/* 00BE0 80A31550 10000007 */ beq $zero, $zero, .L80A31570
/* 00BE4 80A31554 8FBF001C */ lw $ra, 0x001C($sp)
.L80A31558:
/* 00BE8 80A31558 3C0880A3 */ lui $t0, %hi(func_80A314D0) ## $t0 = 80A30000
/* 00BEC 80A3155C 250814D0 */ addiu $t0, $t0, %lo(func_80A314D0) ## $t0 = 80A314D0
/* 00BF0 80A31560 AFA80010 */ sw $t0, 0x0010($sp)
/* 00BF4 80A31564 0C28C31C */ jal func_80A30C70
/* 00BF8 80A31568 3C0742C8 */ lui $a3, 0x42C8 ## $a3 = 42C80000
/* 00BFC 80A3156C 8FBF001C */ lw $ra, 0x001C($sp)
.L80A31570:
/* 00C00 80A31570 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 00C04 80A31574 03E00008 */ jr $ra
/* 00C08 80A31578 00000000 */ nop

View file

@ -1,31 +0,0 @@
glabel func_80A3157C
/* 00C0C 80A3157C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00C10 80A31580 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00C14 80A31584 AFA5001C */ sw $a1, 0x001C($sp)
/* 00C18 80A31588 948E02AC */ lhu $t6, 0x02AC($a0) ## 000002AC
/* 00C1C 80A3158C 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
/* 00C20 80A31590 35CF0001 */ ori $t7, $t6, 0x0001 ## $t7 = 00000001
/* 00C24 80A31594 A48F02AC */ sh $t7, 0x02AC($a0) ## 000002AC
/* 00C28 80A31598 8FA4001C */ lw $a0, 0x001C($sp)
/* 00C2C 80A3159C AFA60018 */ sw $a2, 0x0018($sp)
/* 00C30 80A315A0 0C042F6F */ jal func_8010BDBC
/* 00C34 80A315A4 248420D8 */ addiu $a0, $a0, 0x20D8 ## $a0 = 000020D8
/* 00C38 80A315A8 24010005 */ addiu $at, $zero, 0x0005 ## $at = 00000005
/* 00C3C 80A315AC 5441000D */ bnel $v0, $at, .L80A315E4
/* 00C40 80A315B0 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00C44 80A315B4 0C041AF2 */ jal func_80106BC8
/* 00C48 80A315B8 8FA4001C */ lw $a0, 0x001C($sp)
/* 00C4C 80A315BC 50400009 */ beql $v0, $zero, .L80A315E4
/* 00C50 80A315C0 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00C54 80A315C4 0C041B33 */ jal func_80106CCC
/* 00C58 80A315C8 8FA4001C */ lw $a0, 0x001C($sp)
/* 00C5C 80A315CC 8FA40018 */ lw $a0, 0x0018($sp)
/* 00C60 80A315D0 3C1880A3 */ lui $t8, %hi(func_80A317C0) ## $t8 = 80A30000
/* 00C64 80A315D4 271817C0 */ addiu $t8, $t8, %lo(func_80A317C0) ## $t8 = 80A317C0
/* 00C68 80A315D8 0C28C352 */ jal func_80A30D48
/* 00C6C 80A315DC AC9802B4 */ sw $t8, 0x02B4($a0) ## 000002B4
/* 00C70 80A315E0 8FBF0014 */ lw $ra, 0x0014($sp)
.L80A315E4:
/* 00C74 80A315E4 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00C78 80A315E8 03E00008 */ jr $ra
/* 00C7C 80A315EC 00000000 */ nop

View file

@ -1,24 +0,0 @@
glabel func_80A315F0
/* 00C80 80A315F0 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00C84 80A315F4 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00C88 80A315F8 AFA5001C */ sw $a1, 0x001C($sp)
/* 00C8C 80A315FC 908202AF */ lbu $v0, 0x02AF($a0) ## 000002AF
/* 00C90 80A31600 18400003 */ blez $v0, .L80A31610
/* 00C94 80A31604 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF
/* 00C98 80A31608 10000007 */ beq $zero, $zero, .L80A31628
/* 00C9C 80A3160C A08E02AF */ sb $t6, 0x02AF($a0) ## 000002AF
.L80A31610:
/* 00CA0 80A31610 0C28C352 */ jal func_80A30D48
/* 00CA4 80A31614 AFA40018 */ sw $a0, 0x0018($sp)
/* 00CA8 80A31618 8FA40018 */ lw $a0, 0x0018($sp)
/* 00CAC 80A3161C 3C0F80A3 */ lui $t7, %hi(func_80A317C0) ## $t7 = 80A30000
/* 00CB0 80A31620 25EF17C0 */ addiu $t7, $t7, %lo(func_80A317C0) ## $t7 = 80A317C0
/* 00CB4 80A31624 AC8F02B4 */ sw $t7, 0x02B4($a0) ## 000002B4
.L80A31628:
/* 00CB8 80A31628 949802AC */ lhu $t8, 0x02AC($a0) ## 000002AC
/* 00CBC 80A3162C 37190008 */ ori $t9, $t8, 0x0008 ## $t9 = 00000008
/* 00CC0 80A31630 A49902AC */ sh $t9, 0x02AC($a0) ## 000002AC
/* 00CC4 80A31634 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00CC8 80A31638 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00CCC 80A3163C 03E00008 */ jr $ra
/* 00CD0 80A31640 00000000 */ nop

View file

@ -1,50 +0,0 @@
glabel func_80A31644
/* 00CD4 80A31644 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00CD8 80A31648 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00CDC 80A3164C AFA5001C */ sw $a1, 0x001C($sp)
/* 00CE0 80A31650 948E02AC */ lhu $t6, 0x02AC($a0) ## 000002AC
/* 00CE4 80A31654 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
/* 00CE8 80A31658 3C1880A3 */ lui $t8, %hi(func_80A315F0) ## $t8 = 80A30000
/* 00CEC 80A3165C 31CF0004 */ andi $t7, $t6, 0x0004 ## $t7 = 00000000
/* 00CF0 80A31660 11E00010 */ beq $t7, $zero, .L80A316A4
/* 00CF4 80A31664 3C014170 */ lui $at, 0x4170 ## $at = 41700000
/* 00CF8 80A31668 271815F0 */ addiu $t8, $t8, %lo(func_80A315F0) ## $t8 = 80A315F0
/* 00CFC 80A3166C AC9802B4 */ sw $t8, 0x02B4($a0) ## 000002B4
/* 00D00 80A31670 84C5001C */ lh $a1, 0x001C($a2) ## 0000001C
/* 00D04 80A31674 AFA60018 */ sw $a2, 0x0018($sp)
/* 00D08 80A31678 8FA4001C */ lw $a0, 0x001C($sp)
/* 00D0C 80A3167C 00052A03 */ sra $a1, $a1, 8
/* 00D10 80A31680 0C00B2DD */ jal Flags_SetSwitch
/* 00D14 80A31684 30A5003F */ andi $a1, $a1, 0x003F ## $a1 = 00000000
/* 00D18 80A31688 8FA60018 */ lw $a2, 0x0018($sp)
/* 00D1C 80A3168C 24190032 */ addiu $t9, $zero, 0x0032 ## $t9 = 00000032
/* 00D20 80A31690 A0D902AF */ sb $t9, 0x02AF($a2) ## 000002AF
/* 00D24 80A31694 0C041B33 */ jal func_80106CCC
/* 00D28 80A31698 8FA4001C */ lw $a0, 0x001C($sp)
/* 00D2C 80A3169C 10000012 */ beq $zero, $zero, .L80A316E8
/* 00D30 80A316A0 8FBF0014 */ lw $ra, 0x0014($sp)
.L80A316A4:
/* 00D34 80A316A4 C4C001B0 */ lwc1 $f0, 0x01B0($a2) ## 000001B0
/* 00D38 80A316A8 44812000 */ mtc1 $at, $f4 ## $f4 = 0.00
/* 00D3C 80A316AC 3C014198 */ lui $at, 0x4198 ## $at = 41980000
/* 00D40 80A316B0 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
/* 00D44 80A316B4 46002032 */ c.eq.s $f4, $f0
/* 00D48 80A316B8 00000000 */ nop
/* 00D4C 80A316BC 45010007 */ bc1t .L80A316DC
/* 00D50 80A316C0 00000000 */ nop
/* 00D54 80A316C4 44813000 */ mtc1 $at, $f6 ## $f6 = 19.00
/* 00D58 80A316C8 00000000 */ nop
/* 00D5C 80A316CC 46003032 */ c.eq.s $f6, $f0
/* 00D60 80A316D0 00000000 */ nop
/* 00D64 80A316D4 45020004 */ bc1fl .L80A316E8
/* 00D68 80A316D8 8FBF0014 */ lw $ra, 0x0014($sp)
.L80A316DC:
/* 00D6C 80A316DC 0C00BE0A */ jal Audio_PlayActorSound2
/* 00D70 80A316E0 2405184D */ addiu $a1, $zero, 0x184D ## $a1 = 0000184D
/* 00D74 80A316E4 8FBF0014 */ lw $ra, 0x0014($sp)
.L80A316E8:
/* 00D78 80A316E8 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00D7C 80A316EC 03E00008 */ jr $ra
/* 00D80 80A316F0 00000000 */ nop

View file

@ -1,56 +0,0 @@
glabel func_80A316F4
/* 00D84 80A316F4 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
/* 00D88 80A316F8 AFBF002C */ sw $ra, 0x002C($sp)
/* 00D8C 80A316FC AFB00028 */ sw $s0, 0x0028($sp)
/* 00D90 80A31700 AFA50034 */ sw $a1, 0x0034($sp)
/* 00D94 80A31704 948E02AC */ lhu $t6, 0x02AC($a0) ## 000002AC
/* 00D98 80A31708 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00D9C 80A3170C 35CF0001 */ ori $t7, $t6, 0x0001 ## $t7 = 00000001
/* 00DA0 80A31710 A48F02AC */ sh $t7, 0x02AC($a0) ## 000002AC
/* 00DA4 80A31714 8FA40034 */ lw $a0, 0x0034($sp)
/* 00DA8 80A31718 0C042F6F */ jal func_8010BDBC
/* 00DAC 80A3171C 248420D8 */ addiu $a0, $a0, 0x20D8 ## $a0 = 000020D8
/* 00DB0 80A31720 24010005 */ addiu $at, $zero, 0x0005 ## $at = 00000005
/* 00DB4 80A31724 54410022 */ bnel $v0, $at, .L80A317B0
/* 00DB8 80A31728 8FBF002C */ lw $ra, 0x002C($sp)
/* 00DBC 80A3172C 0C041AF2 */ jal func_80106BC8
/* 00DC0 80A31730 8FA40034 */ lw $a0, 0x0034($sp)
/* 00DC4 80A31734 1040001D */ beq $v0, $zero, .L80A317AC
/* 00DC8 80A31738 3C1880A3 */ lui $t8, %hi(func_80A31644) ## $t8 = 80A30000
/* 00DCC 80A3173C 27181644 */ addiu $t8, $t8, %lo(func_80A31644) ## $t8 = 80A31644
/* 00DD0 80A31740 3C040601 */ lui $a0, %hi(D_0600A048) ## $a0 = 06010000
/* 00DD4 80A31744 AE1802B4 */ sw $t8, 0x02B4($s0) ## 000002B4
/* 00DD8 80A31748 0C028800 */ jal Animation_GetLastFrame
/* 00DDC 80A3174C 2484A048 */ addiu $a0, $a0, %lo(D_0600A048) ## $a0 = 0600A048
/* 00DE0 80A31750 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
/* 00DE4 80A31754 3C01C040 */ lui $at, 0xC040 ## $at = C0400000
/* 00DE8 80A31758 44814000 */ mtc1 $at, $f8 ## $f8 = -3.00
/* 00DEC 80A3175C 468021A0 */ cvt.s.w $f6, $f4
/* 00DF0 80A31760 3C050601 */ lui $a1, %hi(D_0600A048) ## $a1 = 06010000
/* 00DF4 80A31764 24190002 */ addiu $t9, $zero, 0x0002 ## $t9 = 00000002
/* 00DF8 80A31768 AFB90014 */ sw $t9, 0x0014($sp)
/* 00DFC 80A3176C 24A5A048 */ addiu $a1, $a1, %lo(D_0600A048) ## $a1 = 0600A048
/* 00E00 80A31770 26040198 */ addiu $a0, $s0, 0x0198 ## $a0 = 00000198
/* 00E04 80A31774 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 00E08 80A31778 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 00E0C 80A3177C 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
/* 00E10 80A31780 0C029468 */ jal Animation_Change
/* 00E14 80A31784 E7A80018 */ swc1 $f8, 0x0018($sp)
/* 00E18 80A31788 960A02AC */ lhu $t2, 0x02AC($s0) ## 000002AC
/* 00E1C 80A3178C 3C080601 */ lui $t0, %hi(D_0600A048) ## $t0 = 06010000
/* 00E20 80A31790 3C0980A3 */ lui $t1, %hi(func_80A323EC) ## $t1 = 80A30000
/* 00E24 80A31794 2508A048 */ addiu $t0, $t0, %lo(D_0600A048) ## $t0 = 0600A048
/* 00E28 80A31798 252923EC */ addiu $t1, $t1, %lo(func_80A323EC) ## $t1 = 80A323EC
/* 00E2C 80A3179C 314BFFFB */ andi $t3, $t2, 0xFFFB ## $t3 = 00000000
/* 00E30 80A317A0 AE0802B0 */ sw $t0, 0x02B0($s0) ## 000002B0
/* 00E34 80A317A4 AE0902B8 */ sw $t1, 0x02B8($s0) ## 000002B8
/* 00E38 80A317A8 A60B02AC */ sh $t3, 0x02AC($s0) ## 000002AC
.L80A317AC:
/* 00E3C 80A317AC 8FBF002C */ lw $ra, 0x002C($sp)
.L80A317B0:
/* 00E40 80A317B0 8FB00028 */ lw $s0, 0x0028($sp)
/* 00E44 80A317B4 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
/* 00E48 80A317B8 03E00008 */ jr $ra
/* 00E4C 80A317BC 00000000 */ nop

View file

@ -1,35 +0,0 @@
glabel func_80A317C0
/* 00E50 80A317C0 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 00E54 80A317C4 AFA40020 */ sw $a0, 0x0020($sp)
/* 00E58 80A317C8 8FAE0020 */ lw $t6, 0x0020($sp)
/* 00E5C 80A317CC AFBF001C */ sw $ra, 0x001C($sp)
/* 00E60 80A317D0 AFA50024 */ sw $a1, 0x0024($sp)
/* 00E64 80A317D4 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 00E68 80A317D8 85C5001C */ lh $a1, 0x001C($t6) ## 0000001C
/* 00E6C 80A317DC 00052A03 */ sra $a1, $a1, 8
/* 00E70 80A317E0 0C00B2D0 */ jal Flags_GetSwitch
/* 00E74 80A317E4 30A5003F */ andi $a1, $a1, 0x003F ## $a1 = 00000000
/* 00E78 80A317E8 8FA40020 */ lw $a0, 0x0020($sp)
/* 00E7C 80A317EC 10400009 */ beq $v0, $zero, .L80A31814
/* 00E80 80A317F0 8FA50024 */ lw $a1, 0x0024($sp)
/* 00E84 80A317F4 3C0F80A3 */ lui $t7, %hi(func_80A3157C) ## $t7 = 80A30000
/* 00E88 80A317F8 25EF157C */ addiu $t7, $t7, %lo(func_80A3157C) ## $t7 = 80A3157C
/* 00E8C 80A317FC AFAF0010 */ sw $t7, 0x0010($sp)
/* 00E90 80A31800 24066018 */ addiu $a2, $zero, 0x6018 ## $a2 = 00006018
/* 00E94 80A31804 0C28C31C */ jal func_80A30C70
/* 00E98 80A31808 3C0742C8 */ lui $a3, 0x42C8 ## $a3 = 42C80000
/* 00E9C 80A3180C 10000008 */ beq $zero, $zero, .L80A31830
/* 00EA0 80A31810 8FBF001C */ lw $ra, 0x001C($sp)
.L80A31814:
/* 00EA4 80A31814 3C1880A3 */ lui $t8, %hi(func_80A316F4) ## $t8 = 80A30000
/* 00EA8 80A31818 271816F4 */ addiu $t8, $t8, %lo(func_80A316F4) ## $t8 = 80A316F4
/* 00EAC 80A3181C AFB80010 */ sw $t8, 0x0010($sp)
/* 00EB0 80A31820 24066017 */ addiu $a2, $zero, 0x6017 ## $a2 = 00006017
/* 00EB4 80A31824 0C28C31C */ jal func_80A30C70
/* 00EB8 80A31828 3C0742C8 */ lui $a3, 0x42C8 ## $a3 = 42C80000
/* 00EBC 80A3182C 8FBF001C */ lw $ra, 0x001C($sp)
.L80A31830:
/* 00EC0 80A31830 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 00EC4 80A31834 03E00008 */ jr $ra
/* 00EC8 80A31838 00000000 */ nop

View file

@ -1,19 +0,0 @@
glabel func_80A3183C
/* 00ECC 80A3183C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00ED0 80A31840 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00ED4 80A31844 948E02AC */ lhu $t6, 0x02AC($a0) ## 000002AC
/* 00ED8 80A31848 35CF0001 */ ori $t7, $t6, 0x0001 ## $t7 = 00000001
/* 00EDC 80A3184C A48F02AC */ sh $t7, 0x02AC($a0) ## 000002AC
/* 00EE0 80A31850 0C00BCCD */ jal func_8002F334
/* 00EE4 80A31854 AFA40018 */ sw $a0, 0x0018($sp)
/* 00EE8 80A31858 10400005 */ beq $v0, $zero, .L80A31870
/* 00EEC 80A3185C 8FA40018 */ lw $a0, 0x0018($sp)
/* 00EF0 80A31860 3C1880A3 */ lui $t8, %hi(func_80A31880) ## $t8 = 80A30000
/* 00EF4 80A31864 27181880 */ addiu $t8, $t8, %lo(func_80A31880) ## $t8 = 80A31880
/* 00EF8 80A31868 0C28C352 */ jal func_80A30D48
/* 00EFC 80A3186C AC9802B4 */ sw $t8, 0x02B4($a0) ## 000002B4
.L80A31870:
/* 00F00 80A31870 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00F04 80A31874 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00F08 80A31878 03E00008 */ jr $ra
/* 00F0C 80A3187C 00000000 */ nop

View file

@ -1,50 +0,0 @@
glabel func_80A31880
/* 00F10 80A31880 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
/* 00F14 80A31884 AFA40028 */ sw $a0, 0x0028($sp)
/* 00F18 80A31888 AFBF0024 */ sw $ra, 0x0024($sp)
/* 00F1C 80A3188C AFA5002C */ sw $a1, 0x002C($sp)
/* 00F20 80A31890 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 00F24 80A31894 0C01B0D8 */ jal Text_GetFaceReaction
/* 00F28 80A31898 24050022 */ addiu $a1, $zero, 0x0022 ## $a1 = 00000022
/* 00F2C 80A3189C 14400002 */ bne $v0, $zero, .L80A318A8
/* 00F30 80A318A0 3046FFFF */ andi $a2, $v0, 0xFFFF ## $a2 = 00000000
/* 00F34 80A318A4 24066069 */ addiu $a2, $zero, 0x6069 ## $a2 = 00006069
.L80A318A8:
/* 00F38 80A318A8 3C0E80A3 */ lui $t6, %hi(func_80A3183C) ## $t6 = 80A30000
/* 00F3C 80A318AC 25CE183C */ addiu $t6, $t6, %lo(func_80A3183C) ## $t6 = 80A3183C
/* 00F40 80A318B0 AFAE0010 */ sw $t6, 0x0010($sp)
/* 00F44 80A318B4 8FA40028 */ lw $a0, 0x0028($sp)
/* 00F48 80A318B8 8FA5002C */ lw $a1, 0x002C($sp)
/* 00F4C 80A318BC 0C28C31C */ jal func_80A30C70
/* 00F50 80A318C0 3C0742C8 */ lui $a3, 0x42C8 ## $a3 = 42C80000
/* 00F54 80A318C4 10400017 */ beq $v0, $zero, .L80A31924
/* 00F58 80A318C8 3C040601 */ lui $a0, %hi(D_0600A498) ## $a0 = 06010000
/* 00F5C 80A318CC 8FA20028 */ lw $v0, 0x0028($sp)
/* 00F60 80A318D0 3C0F80A3 */ lui $t7, %hi(func_80A323B0) ## $t7 = 80A30000
/* 00F64 80A318D4 2484A498 */ addiu $a0, $a0, %lo(D_0600A498) ## $a0 = 0600A498
/* 00F68 80A318D8 25EF23B0 */ addiu $t7, $t7, %lo(func_80A323B0) ## $t7 = 80A323B0
/* 00F6C 80A318DC AC4F02B8 */ sw $t7, 0x02B8($v0) ## 000002B8
/* 00F70 80A318E0 0C028800 */ jal Animation_GetLastFrame
/* 00F74 80A318E4 AC4402B0 */ sw $a0, 0x02B0($v0) ## 000002B0
/* 00F78 80A318E8 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
/* 00F7C 80A318EC 3C01C100 */ lui $at, 0xC100 ## $at = C1000000
/* 00F80 80A318F0 44814000 */ mtc1 $at, $f8 ## $f8 = -8.00
/* 00F84 80A318F4 468021A0 */ cvt.s.w $f6, $f4
/* 00F88 80A318F8 8FA40028 */ lw $a0, 0x0028($sp)
/* 00F8C 80A318FC 3C050601 */ lui $a1, %hi(D_0600A498) ## $a1 = 06010000
/* 00F90 80A31900 24180002 */ addiu $t8, $zero, 0x0002 ## $t8 = 00000002
/* 00F94 80A31904 AFB80014 */ sw $t8, 0x0014($sp)
/* 00F98 80A31908 24A5A498 */ addiu $a1, $a1, %lo(D_0600A498) ## $a1 = 0600A498
/* 00F9C 80A3190C E7A60010 */ swc1 $f6, 0x0010($sp)
/* 00FA0 80A31910 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 00FA4 80A31914 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
/* 00FA8 80A31918 E7A80018 */ swc1 $f8, 0x0018($sp)
/* 00FAC 80A3191C 0C029468 */ jal Animation_Change
/* 00FB0 80A31920 24840198 */ addiu $a0, $a0, 0x0198 ## $a0 = 00000198
.L80A31924:
/* 00FB4 80A31924 8FBF0024 */ lw $ra, 0x0024($sp)
/* 00FB8 80A31928 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
/* 00FBC 80A3192C 03E00008 */ jr $ra
/* 00FC0 80A31930 00000000 */ nop

View file

@ -1,16 +0,0 @@
glabel func_80A31934
/* 00FC4 80A31934 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00FC8 80A31938 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00FCC 80A3193C 0C00BCCD */ jal func_8002F334
/* 00FD0 80A31940 AFA40018 */ sw $a0, 0x0018($sp)
/* 00FD4 80A31944 10400005 */ beq $v0, $zero, .L80A3195C
/* 00FD8 80A31948 8FA40018 */ lw $a0, 0x0018($sp)
/* 00FDC 80A3194C 3C0E80A3 */ lui $t6, %hi(func_80A31FE0) ## $t6 = 80A30000
/* 00FE0 80A31950 25CE1FE0 */ addiu $t6, $t6, %lo(func_80A31FE0) ## $t6 = 80A31FE0
/* 00FE4 80A31954 0C28C352 */ jal func_80A30D48
/* 00FE8 80A31958 AC8E02B4 */ sw $t6, 0x02B4($a0) ## 000002B4
.L80A3195C:
/* 00FEC 80A3195C 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00FF0 80A31960 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00FF4 80A31964 03E00008 */ jr $ra
/* 00FF8 80A31968 00000000 */ nop

View file

@ -1,67 +0,0 @@
glabel func_80A3196C
/* 00FFC 80A3196C 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
/* 01000 80A31970 AFBF001C */ sw $ra, 0x001C($sp)
/* 01004 80A31974 AFA5002C */ sw $a1, 0x002C($sp)
/* 01008 80A31978 0C00BD04 */ jal Actor_HasParent
/* 0100C 80A3197C AFA40028 */ sw $a0, 0x0028($sp)
/* 01010 80A31980 10400013 */ beq $v0, $zero, .L80A319D0
/* 01014 80A31984 8FA40028 */ lw $a0, 0x0028($sp)
/* 01018 80A31988 948F02AC */ lhu $t7, 0x02AC($a0) ## 000002AC
/* 0101C 80A3198C 3C0E80A3 */ lui $t6, %hi(func_80A31934) ## $t6 = 80A30000
/* 01020 80A31990 25CE1934 */ addiu $t6, $t6, %lo(func_80A31934) ## $t6 = 80A31934
/* 01024 80A31994 31F80002 */ andi $t8, $t7, 0x0002 ## $t8 = 00000000
/* 01028 80A31998 13000007 */ beq $t8, $zero, .L80A319B8
/* 0102C 80A3199C AC8E02B4 */ sw $t6, 0x02B4($a0) ## 000002B4
/* 01030 80A319A0 3C038016 */ lui $v1, %hi(gSaveContext)
/* 01034 80A319A4 2463E660 */ addiu $v1, %lo(gSaveContext)
/* 01038 80A319A8 94790EF0 */ lhu $t9, 0x0EF0($v1) ## 8015F550
/* 0103C 80A319AC 37288000 */ ori $t0, $t9, 0x8000 ## $t0 = 00008000
/* 01040 80A319B0 10000026 */ beq $zero, $zero, .L80A31A4C
/* 01044 80A319B4 A4680EF0 */ sh $t0, 0x0EF0($v1) ## 8015F550
.L80A319B8:
/* 01048 80A319B8 3C038016 */ lui $v1, %hi(gSaveContext)
/* 0104C 80A319BC 2463E660 */ addiu $v1, %lo(gSaveContext)
/* 01050 80A319C0 94690F2A */ lhu $t1, 0x0F2A($v1) ## 8015F58A
/* 01054 80A319C4 352A0001 */ ori $t2, $t1, 0x0001 ## $t2 = 00000001
/* 01058 80A319C8 10000020 */ beq $zero, $zero, .L80A31A4C
/* 0105C 80A319CC A46A0F2A */ sh $t2, 0x0F2A($v1) ## 8015F58A
.L80A319D0:
/* 01060 80A319D0 948B02AC */ lhu $t3, 0x02AC($a0) ## 000002AC
/* 01064 80A319D4 2406003E */ addiu $a2, $zero, 0x003E ## $a2 = 0000003E
/* 01068 80A319D8 8FA5002C */ lw $a1, 0x002C($sp)
/* 0106C 80A319DC 316C0002 */ andi $t4, $t3, 0x0002 ## $t4 = 00000000
/* 01070 80A319E0 11800015 */ beq $t4, $zero, .L80A31A38
/* 01074 80A319E4 3C07461C */ lui $a3, 0x461C ## $a3 = 461C0000
/* 01078 80A319E8 3C038016 */ lui $v1, %hi(gSaveContext)
/* 0107C 80A319EC 2463E660 */ addiu $v1, %lo(gSaveContext)
/* 01080 80A319F0 3C0E8012 */ lui $t6, %hi(gUpgradeMasks)
/* 01084 80A319F4 8DCE71B0 */ lw $t6, %lo(gUpgradeMasks)($t6)
/* 01088 80A319F8 8C6D00A0 */ lw $t5, 0x00A0($v1) ## 8015E700
/* 0108C 80A319FC 3C188012 */ lui $t8, %hi(gUpgradeShifts)
/* 01090 80A31A00 931871F4 */ lbu $t8, %lo(gUpgradeShifts)($t8)
/* 01094 80A31A04 01AE7824 */ and $t7, $t5, $t6
/* 01098 80A31A08 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 0109C 80A31A0C 030F1007 */ srav $v0, $t7, $t8
/* 010A0 80A31A10 10410005 */ beq $v0, $at, .L80A31A28
/* 010A4 80A31A14 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
/* 010A8 80A31A18 10410005 */ beq $v0, $at, .L80A31A30
/* 010AC 80A31A1C 00000000 */ nop
/* 010B0 80A31A20 10000005 */ beq $zero, $zero, .L80A31A38
/* 010B4 80A31A24 8FA60024 */ lw $a2, 0x0024($sp)
.L80A31A28:
/* 010B8 80A31A28 10000003 */ beq $zero, $zero, .L80A31A38
/* 010BC 80A31A2C 24060030 */ addiu $a2, $zero, 0x0030 ## $a2 = 00000030
.L80A31A30:
/* 010C0 80A31A30 10000001 */ beq $zero, $zero, .L80A31A38
/* 010C4 80A31A34 24060031 */ addiu $a2, $zero, 0x0031 ## $a2 = 00000031
.L80A31A38:
/* 010C8 80A31A38 3C014248 */ lui $at, 0x4248 ## $at = 42480000
/* 010CC 80A31A3C 44812000 */ mtc1 $at, $f4 ## $f4 = 50.00
/* 010D0 80A31A40 34E74000 */ ori $a3, $a3, 0x4000 ## $a3 = 461C4000
/* 010D4 80A31A44 0C00BD0D */ jal func_8002F434
/* 010D8 80A31A48 E7A40010 */ swc1 $f4, 0x0010($sp)
.L80A31A4C:
/* 010DC 80A31A4C 8FBF001C */ lw $ra, 0x001C($sp)
/* 010E0 80A31A50 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
/* 010E4 80A31A54 03E00008 */ jr $ra
/* 010E8 80A31A58 00000000 */ nop

View file

@ -1,54 +0,0 @@
glabel func_80A31A5C
/* 010EC 80A31A5C 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
/* 010F0 80A31A60 AFBF001C */ sw $ra, 0x001C($sp)
/* 010F4 80A31A64 AFA5002C */ sw $a1, 0x002C($sp)
/* 010F8 80A31A68 0C00BCCD */ jal func_8002F334
/* 010FC 80A31A6C AFA40028 */ sw $a0, 0x0028($sp)
/* 01100 80A31A70 10400009 */ beq $v0, $zero, .L80A31A98
/* 01104 80A31A74 8FA40028 */ lw $a0, 0x0028($sp)
/* 01108 80A31A78 8C8E0004 */ lw $t6, 0x0004($a0) ## 00000004
/* 0110C 80A31A7C 3C01FFFE */ lui $at, 0xFFFE ## $at = FFFE0000
/* 01110 80A31A80 3421FFFF */ ori $at, $at, 0xFFFF ## $at = FFFEFFFF
/* 01114 80A31A84 3C1880A3 */ lui $t8, %hi(func_80A3196C) ## $t8 = 80A30000
/* 01118 80A31A88 2718196C */ addiu $t8, $t8, %lo(func_80A3196C) ## $t8 = 80A3196C
/* 0111C 80A31A8C 01C17824 */ and $t7, $t6, $at
/* 01120 80A31A90 AC8F0004 */ sw $t7, 0x0004($a0) ## 00000004
/* 01124 80A31A94 AC9802B4 */ sw $t8, 0x02B4($a0) ## 000002B4
.L80A31A98:
/* 01128 80A31A98 949902AC */ lhu $t9, 0x02AC($a0) ## 000002AC
/* 0112C 80A31A9C 2406003E */ addiu $a2, $zero, 0x003E ## $a2 = 0000003E
/* 01130 80A31AA0 8FA5002C */ lw $a1, 0x002C($sp)
/* 01134 80A31AA4 33280002 */ andi $t0, $t9, 0x0002 ## $t0 = 00000000
/* 01138 80A31AA8 11000014 */ beq $t0, $zero, .L80A31AFC
/* 0113C 80A31AAC 3C07461C */ lui $a3, 0x461C ## $a3 = 461C0000
/* 01140 80A31AB0 3C098016 */ lui $t1, %hi(gSaveContext+0xa0)
/* 01144 80A31AB4 3C0A8012 */ lui $t2, %hi(gUpgradeMasks)
/* 01148 80A31AB8 8D4A71B0 */ lw $t2, %lo(gUpgradeMasks)($t2)
/* 0114C 80A31ABC 8D29E700 */ lw $t1, %lo(gSaveContext+0xa0)($t1)
/* 01150 80A31AC0 3C0C8012 */ lui $t4, %hi(gUpgradeShifts)
/* 01154 80A31AC4 918C71F4 */ lbu $t4, %lo(gUpgradeShifts)($t4)
/* 01158 80A31AC8 012A5824 */ and $t3, $t1, $t2
/* 0115C 80A31ACC 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 01160 80A31AD0 018B1007 */ srav $v0, $t3, $t4
/* 01164 80A31AD4 10410005 */ beq $v0, $at, .L80A31AEC
/* 01168 80A31AD8 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
/* 0116C 80A31ADC 10410005 */ beq $v0, $at, .L80A31AF4
/* 01170 80A31AE0 00000000 */ nop
/* 01174 80A31AE4 10000005 */ beq $zero, $zero, .L80A31AFC
/* 01178 80A31AE8 8FA60024 */ lw $a2, 0x0024($sp)
.L80A31AEC:
/* 0117C 80A31AEC 10000003 */ beq $zero, $zero, .L80A31AFC
/* 01180 80A31AF0 24060030 */ addiu $a2, $zero, 0x0030 ## $a2 = 00000030
.L80A31AF4:
/* 01184 80A31AF4 10000001 */ beq $zero, $zero, .L80A31AFC
/* 01188 80A31AF8 24060031 */ addiu $a2, $zero, 0x0031 ## $a2 = 00000031
.L80A31AFC:
/* 0118C 80A31AFC 3C014248 */ lui $at, 0x4248 ## $at = 42480000
/* 01190 80A31B00 44812000 */ mtc1 $at, $f4 ## $f4 = 50.00
/* 01194 80A31B04 34E74000 */ ori $a3, $a3, 0x4000 ## $a3 = 461C4000
/* 01198 80A31B08 0C00BD0D */ jal func_8002F434
/* 0119C 80A31B0C E7A40010 */ swc1 $f4, 0x0010($sp)
/* 011A0 80A31B10 8FBF001C */ lw $ra, 0x001C($sp)
/* 011A4 80A31B14 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
/* 011A8 80A31B18 03E00008 */ jr $ra
/* 011AC 80A31B1C 00000000 */ nop

View file

@ -1,26 +0,0 @@
glabel func_80A31B20
/* 011B0 80A31B20 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 011B4 80A31B24 AFBF0014 */ sw $ra, 0x0014($sp)
/* 011B8 80A31B28 AFA5001C */ sw $a1, 0x001C($sp)
/* 011BC 80A31B2C 0C00BC65 */ jal func_8002F194
/* 011C0 80A31B30 AFA40018 */ sw $a0, 0x0018($sp)
/* 011C4 80A31B34 1040000A */ beq $v0, $zero, .L80A31B60
/* 011C8 80A31B38 8FA40018 */ lw $a0, 0x0018($sp)
/* 011CC 80A31B3C 8C8F0004 */ lw $t7, 0x0004($a0) ## 00000004
/* 011D0 80A31B40 3C01FFFE */ lui $at, 0xFFFE ## $at = FFFE0000
/* 011D4 80A31B44 3C0E80A3 */ lui $t6, %hi(func_80A31A5C) ## $t6 = 80A30000
/* 011D8 80A31B48 3421FFFF */ ori $at, $at, 0xFFFF ## $at = FFFEFFFF
/* 011DC 80A31B4C 25CE1A5C */ addiu $t6, $t6, %lo(func_80A31A5C) ## $t6 = 80A31A5C
/* 011E0 80A31B50 01E1C024 */ and $t8, $t7, $at
/* 011E4 80A31B54 AC8E02B4 */ sw $t6, 0x02B4($a0) ## 000002B4
/* 011E8 80A31B58 10000004 */ beq $zero, $zero, .L80A31B6C
/* 011EC 80A31B5C AC980004 */ sw $t8, 0x0004($a0) ## 00000004
.L80A31B60:
/* 011F0 80A31B60 8FA5001C */ lw $a1, 0x001C($sp)
/* 011F4 80A31B64 0C00BCB3 */ jal func_8002F2CC
/* 011F8 80A31B68 3C064348 */ lui $a2, 0x4348 ## $a2 = 43480000
.L80A31B6C:
/* 011FC 80A31B6C 8FBF0014 */ lw $ra, 0x0014($sp)
/* 01200 80A31B70 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 01204 80A31B74 03E00008 */ jr $ra
/* 01208 80A31B78 00000000 */ nop

View file

@ -1,26 +0,0 @@
glabel func_80A31B7C
/* 0120C 80A31B7C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 01210 80A31B80 AFBF0014 */ sw $ra, 0x0014($sp)
/* 01214 80A31B84 AFA40018 */ sw $a0, 0x0018($sp)
/* 01218 80A31B88 AFA5001C */ sw $a1, 0x001C($sp)
/* 0121C 80A31B8C 0C042F6F */ jal func_8010BDBC
/* 01220 80A31B90 24A420D8 */ addiu $a0, $a1, 0x20D8 ## $a0 = 000020D8
/* 01224 80A31B94 24010005 */ addiu $at, $zero, 0x0005 ## $at = 00000005
/* 01228 80A31B98 5441000D */ bnel $v0, $at, .L80A31BD0
/* 0122C 80A31B9C 8FBF0014 */ lw $ra, 0x0014($sp)
/* 01230 80A31BA0 0C041AF2 */ jal func_80106BC8
/* 01234 80A31BA4 8FA4001C */ lw $a0, 0x001C($sp)
/* 01238 80A31BA8 50400009 */ beql $v0, $zero, .L80A31BD0
/* 0123C 80A31BAC 8FBF0014 */ lw $ra, 0x0014($sp)
/* 01240 80A31BB0 0C041B33 */ jal func_80106CCC
/* 01244 80A31BB4 8FA4001C */ lw $a0, 0x001C($sp)
/* 01248 80A31BB8 8FA40018 */ lw $a0, 0x0018($sp)
/* 0124C 80A31BBC 3C0E80A3 */ lui $t6, %hi(func_80A31FE0) ## $t6 = 80A30000
/* 01250 80A31BC0 25CE1FE0 */ addiu $t6, $t6, %lo(func_80A31FE0) ## $t6 = 80A31FE0
/* 01254 80A31BC4 0C28C352 */ jal func_80A30D48
/* 01258 80A31BC8 AC8E02B4 */ sw $t6, 0x02B4($a0) ## 000002B4
/* 0125C 80A31BCC 8FBF0014 */ lw $ra, 0x0014($sp)
.L80A31BD0:
/* 01260 80A31BD0 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 01264 80A31BD4 03E00008 */ jr $ra
/* 01268 80A31BD8 00000000 */ nop

View file

@ -1,4 +0,0 @@
glabel func_80A31BDC
/* 0126C 80A31BDC AFA40000 */ sw $a0, 0x0000($sp)
/* 01270 80A31BE0 03E00008 */ jr $ra
/* 01274 80A31BE4 AFA50004 */ sw $a1, 0x0004($sp)

View file

@ -1,113 +0,0 @@
glabel func_80A31BE8
/* 01278 80A31BE8 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
/* 0127C 80A31BEC AFBF0024 */ sw $ra, 0x0024($sp)
/* 01280 80A31BF0 AFB10020 */ sw $s1, 0x0020($sp)
/* 01284 80A31BF4 AFB0001C */ sw $s0, 0x001C($sp)
/* 01288 80A31BF8 8CAE1C44 */ lw $t6, 0x1C44($a1) ## 00001C44
/* 0128C 80A31BFC 00808825 */ or $s1, $a0, $zero ## $s1 = 00000000
/* 01290 80A31C00 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000
/* 01294 80A31C04 24A420D8 */ addiu $a0, $a1, 0x20D8 ## $a0 = 000020D8
/* 01298 80A31C08 0C042F6F */ jal func_8010BDBC
/* 0129C 80A31C0C AFAE002C */ sw $t6, 0x002C($sp)
/* 012A0 80A31C10 24010004 */ addiu $at, $zero, 0x0004 ## $at = 00000004
/* 012A4 80A31C14 54410058 */ bnel $v0, $at, .L80A31D78
/* 012A8 80A31C18 8FBF0024 */ lw $ra, 0x0024($sp)
/* 012AC 80A31C1C 0C041AF2 */ jal func_80106BC8
/* 012B0 80A31C20 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 012B4 80A31C24 10400053 */ beq $v0, $zero, .L80A31D74
/* 012B8 80A31C28 3C01FFFE */ lui $at, 0xFFFE ## $at = FFFE0000
/* 012BC 80A31C2C 8E2F0004 */ lw $t7, 0x0004($s1) ## 00000004
/* 012C0 80A31C30 3421FFFF */ ori $at, $at, 0xFFFF ## $at = FFFEFFFF
/* 012C4 80A31C34 3C020001 */ lui $v0, 0x0001 ## $v0 = 00010000
/* 012C8 80A31C38 01E1C024 */ and $t8, $t7, $at
/* 012CC 80A31C3C AE380004 */ sw $t8, 0x0004($s1) ## 00000004
/* 012D0 80A31C40 00501021 */ addu $v0, $v0, $s0
/* 012D4 80A31C44 904204BD */ lbu $v0, 0x04BD($v0) ## 000104BD
/* 012D8 80A31C48 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 012DC 80A31C4C 10400005 */ beq $v0, $zero, .L80A31C64
/* 012E0 80A31C50 00000000 */ nop
/* 012E4 80A31C54 10410043 */ beq $v0, $at, .L80A31D64
/* 012E8 80A31C58 3C0B80A3 */ lui $t3, %hi(func_80A31FE0) ## $t3 = 80A30000
/* 012EC 80A31C5C 10000046 */ beq $zero, $zero, .L80A31D78
/* 012F0 80A31C60 8FBF0024 */ lw $ra, 0x0024($sp)
.L80A31C64:
/* 012F4 80A31C64 3C028016 */ lui $v0, %hi(gSaveContext)
/* 012F8 80A31C68 2442E660 */ addiu $v0, %lo(gSaveContext)
/* 012FC 80A31C6C 84590034 */ lh $t9, 0x0034($v0) ## 8015E694
/* 01300 80A31C70 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01304 80A31C74 2B210014 */ slti $at, $t9, 0x0014
/* 01308 80A31C78 10200007 */ beq $at, $zero, .L80A31C98
/* 0130C 80A31C7C 00000000 */ nop
/* 01310 80A31C80 0C042DC8 */ jal func_8010B720
/* 01314 80A31C84 24050085 */ addiu $a1, $zero, 0x0085 ## $a1 = 00000085
/* 01318 80A31C88 3C0880A3 */ lui $t0, %hi(func_80A31B7C) ## $t0 = 80A30000
/* 0131C 80A31C8C 25081B7C */ addiu $t0, $t0, %lo(func_80A31B7C) ## $t0 = 80A31B7C
/* 01320 80A31C90 10000038 */ beq $zero, $zero, .L80A31D74
/* 01324 80A31C94 AE2802B4 */ sw $t0, 0x02B4($s1) ## 000002B4
.L80A31C98:
/* 01328 80A31C98 0C021CC3 */ jal Rupees_ChangeBy
/* 0132C 80A31C9C 2404FFEC */ addiu $a0, $zero, 0xFFEC ## $a0 = FFFFFFEC
/* 01330 80A31CA0 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 01334 80A31CA4 8FA5002C */ lw $a1, 0x002C($sp)
/* 01338 80A31CA8 00300821 */ addu $at, $at, $s0
/* 0133C 80A31CAC 24090129 */ addiu $t1, $zero, 0x0129 ## $t1 = 00000129
/* 01340 80A31CB0 3C028016 */ lui $v0, %hi(gSaveContext)
/* 01344 80A31CB4 A4291E1A */ sh $t1, 0x1E1A($at) ## 00011E1A
/* 01348 80A31CB8 2442E660 */ addiu $v0, %lo(gSaveContext)
/* 0134C 80A31CBC 340AFFF0 */ ori $t2, $zero, 0xFFF0 ## $t2 = 0000FFF0
/* 01350 80A31CC0 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 01354 80A31CC4 A44A1412 */ sh $t2, 0x1412($v0) ## 8015FA72
/* 01358 80A31CC8 00300821 */ addu $at, $at, $s0
/* 0135C 80A31CCC 240B0026 */ addiu $t3, $zero, 0x0026 ## $t3 = 00000026
/* 01360 80A31CD0 A02B1E5E */ sb $t3, 0x1E5E($at) ## 00011E5E
/* 01364 80A31CD4 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 01368 80A31CD8 00300821 */ addu $at, $at, $s0
/* 0136C 80A31CDC 240C0014 */ addiu $t4, $zero, 0x0014 ## $t4 = 00000014
/* 01370 80A31CE0 A02C1E15 */ sb $t4, 0x1E15($at) ## 00011E15
/* 01374 80A31CE4 944D13FA */ lhu $t5, 0x13FA($v0) ## 8015FA5A
/* 01378 80A31CE8 944F0EE0 */ lhu $t7, 0x0EE0($v0) ## 8015F540
/* 0137C 80A31CEC 3C014496 */ lui $at, 0x4496 ## $at = 44960000
/* 01380 80A31CF0 35AE0100 */ ori $t6, $t5, 0x0100 ## $t6 = 00000100
/* 01384 80A31CF4 35F80100 */ ori $t8, $t7, 0x0100 ## $t8 = 00000100
/* 01388 80A31CF8 A44E13FA */ sh $t6, 0x13FA($v0) ## 8015FA5A
/* 0138C 80A31CFC A4580EE0 */ sh $t8, 0x0EE0($v0) ## 8015F540
/* 01390 80A31D00 8CB9067C */ lw $t9, 0x067C($a1) ## 0000067C
/* 01394 80A31D04 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01398 80A31D08 24060014 */ addiu $a2, $zero, 0x0014 ## $a2 = 00000014
/* 0139C 80A31D0C 00194200 */ sll $t0, $t9, 8
/* 013A0 80A31D10 05020008 */ bltzl $t0, .L80A31D34
/* 013A4 80A31D14 44812000 */ mtc1 $at, $f4 ## $f4 = 1200.00
/* 013A8 80A31D18 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 013AC 80A31D1C 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
/* 013B0 80A31D20 0C00B7D5 */ jal func_8002DF54
/* 013B4 80A31D24 24060001 */ addiu $a2, $zero, 0x0001 ## $a2 = 00000001
/* 013B8 80A31D28 1000000A */ beq $zero, $zero, .L80A31D54
/* 013BC 80A31D2C 00000000 */ nop
/* 013C0 80A31D30 44812000 */ mtc1 $at, $f4 ## $f4 = 0.00
.L80A31D34:
/* 013C4 80A31D34 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
/* 013C8 80A31D38 0C00D4FD */ jal Actor_FindNearby
/* 013CC 80A31D3C E7A40010 */ swc1 $f4, 0x0010($sp)
/* 013D0 80A31D40 8FA9002C */ lw $t1, 0x002C($sp)
/* 013D4 80A31D44 240304B0 */ addiu $v1, $zero, 0x04B0 ## $v1 = 000004B0
/* 013D8 80A31D48 10400002 */ beq $v0, $zero, .L80A31D54
/* 013DC 80A31D4C A5230110 */ sh $v1, 0x0110($t1) ## 00000110
/* 013E0 80A31D50 A4430110 */ sh $v1, 0x0110($v0) ## 00000110
.L80A31D54:
/* 013E4 80A31D54 3C0A80A3 */ lui $t2, %hi(func_80A31BDC) ## $t2 = 80A30000
/* 013E8 80A31D58 254A1BDC */ addiu $t2, $t2, %lo(func_80A31BDC) ## $t2 = 80A31BDC
/* 013EC 80A31D5C 10000005 */ beq $zero, $zero, .L80A31D74
/* 013F0 80A31D60 AE2A02B4 */ sw $t2, 0x02B4($s1) ## 000002B4
.L80A31D64:
/* 013F4 80A31D64 256B1FE0 */ addiu $t3, $t3, %lo(func_80A31FE0) ## $t3 = 00001FE0
/* 013F8 80A31D68 AE2B02B4 */ sw $t3, 0x02B4($s1) ## 000002B4
/* 013FC 80A31D6C 0C041B33 */ jal func_80106CCC
/* 01400 80A31D70 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
.L80A31D74:
/* 01404 80A31D74 8FBF0024 */ lw $ra, 0x0024($sp)
.L80A31D78:
/* 01408 80A31D78 8FB0001C */ lw $s0, 0x001C($sp)
/* 0140C 80A31D7C 8FB10020 */ lw $s1, 0x0020($sp)
/* 01410 80A31D80 03E00008 */ jr $ra
/* 01414 80A31D84 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000

View file

@ -1,26 +0,0 @@
glabel func_80A31D88
/* 01418 80A31D88 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 0141C 80A31D8C AFBF0014 */ sw $ra, 0x0014($sp)
/* 01420 80A31D90 AFA40018 */ sw $a0, 0x0018($sp)
/* 01424 80A31D94 AFA5001C */ sw $a1, 0x001C($sp)
/* 01428 80A31D98 0C042F6F */ jal func_8010BDBC
/* 0142C 80A31D9C 24A420D8 */ addiu $a0, $a1, 0x20D8 ## $a0 = 000020D8
/* 01430 80A31DA0 24010005 */ addiu $at, $zero, 0x0005 ## $at = 00000005
/* 01434 80A31DA4 5441000C */ bnel $v0, $at, .L80A31DD8
/* 01438 80A31DA8 8FBF0014 */ lw $ra, 0x0014($sp)
/* 0143C 80A31DAC 0C041AF2 */ jal func_80106BC8
/* 01440 80A31DB0 8FA4001C */ lw $a0, 0x001C($sp)
/* 01444 80A31DB4 10400007 */ beq $v0, $zero, .L80A31DD4
/* 01448 80A31DB8 8FA4001C */ lw $a0, 0x001C($sp)
/* 0144C 80A31DBC 0C042DC8 */ jal func_8010B720
/* 01450 80A31DC0 24056041 */ addiu $a1, $zero, 0x6041 ## $a1 = 00006041
/* 01454 80A31DC4 8FAF0018 */ lw $t7, 0x0018($sp)
/* 01458 80A31DC8 3C0E80A3 */ lui $t6, %hi(func_80A31BE8) ## $t6 = 80A30000
/* 0145C 80A31DCC 25CE1BE8 */ addiu $t6, $t6, %lo(func_80A31BE8) ## $t6 = 80A31BE8
/* 01460 80A31DD0 ADEE02B4 */ sw $t6, 0x02B4($t7) ## 000002B4
.L80A31DD4:
/* 01464 80A31DD4 8FBF0014 */ lw $ra, 0x0014($sp)
.L80A31DD8:
/* 01468 80A31DD8 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 0146C 80A31DDC 03E00008 */ jr $ra
/* 01470 80A31DE0 00000000 */ nop

View file

@ -1,21 +0,0 @@
glabel func_80A31DE4
/* 01474 80A31DE4 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 01478 80A31DE8 AFBF0014 */ sw $ra, 0x0014($sp)
/* 0147C 80A31DEC AFA5001C */ sw $a1, 0x001C($sp)
/* 01480 80A31DF0 0C00BC65 */ jal func_8002F194
/* 01484 80A31DF4 AFA40018 */ sw $a0, 0x0018($sp)
/* 01488 80A31DF8 10400005 */ beq $v0, $zero, .L80A31E10
/* 0148C 80A31DFC 8FA40018 */ lw $a0, 0x0018($sp)
/* 01490 80A31E00 3C0E80A3 */ lui $t6, %hi(func_80A31D88) ## $t6 = 80A30000
/* 01494 80A31E04 25CE1D88 */ addiu $t6, $t6, %lo(func_80A31D88) ## $t6 = 80A31D88
/* 01498 80A31E08 10000004 */ beq $zero, $zero, .L80A31E1C
/* 0149C 80A31E0C AC8E02B4 */ sw $t6, 0x02B4($a0) ## 000002B4
.L80A31E10:
/* 014A0 80A31E10 8FA5001C */ lw $a1, 0x001C($sp)
/* 014A4 80A31E14 0C00BCB3 */ jal func_8002F2CC
/* 014A8 80A31E18 3C064396 */ lui $a2, 0x4396 ## $a2 = 43960000
.L80A31E1C:
/* 014AC 80A31E1C 8FBF0014 */ lw $ra, 0x0014($sp)
/* 014B0 80A31E20 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 014B4 80A31E24 03E00008 */ jr $ra
/* 014B8 80A31E28 00000000 */ nop

View file

@ -1,121 +0,0 @@
.rdata
glabel D_80A32808
.asciz "../z_en_ge1.c"
.balign 4
glabel D_80A32818
.asciz "z_common_data.yabusame_total = %d\n"
.balign 4
glabel D_80A3283C
.asciz "../z_en_ge1.c"
.balign 4
glabel D_80A3284C
.asciz "z_common_data.memory.information.room_inf[127][ 0 ] = %d\n"
.balign 4
.text
glabel func_80A31E2C
/* 014BC 80A31E2C 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 014C0 80A31E30 AFB00018 */ sw $s0, 0x0018($sp)
/* 014C4 80A31E34 3C108016 */ lui $s0, %hi(gSaveContext)
/* 014C8 80A31E38 2610E660 */ addiu $s0, %lo(gSaveContext)
/* 014CC 80A31E3C 960E13FA */ lhu $t6, 0x13FA($s0) ## 8015FA5A
/* 014D0 80A31E40 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
/* 014D4 80A31E44 AFBF001C */ sw $ra, 0x001C($sp)
/* 014D8 80A31E48 AFA50024 */ sw $a1, 0x0024($sp)
/* 014DC 80A31E4C 3C0480A3 */ lui $a0, %hi(D_80A32808) ## $a0 = 80A30000
/* 014E0 80A31E50 31CFFEFF */ andi $t7, $t6, 0xFEFF ## $t7 = 00000000
/* 014E4 80A31E54 A60F13FA */ sh $t7, 0x13FA($s0) ## 8015FA5A
/* 014E8 80A31E58 24842808 */ addiu $a0, $a0, %lo(D_80A32808) ## $a0 = 80A32808
/* 014EC 80A31E5C 24050456 */ addiu $a1, $zero, 0x0456 ## $a1 = 00000456
/* 014F0 80A31E60 0C000B84 */ jal LogUtils_LogThreadId
/* 014F4 80A31E64 AFA60020 */ sw $a2, 0x0020($sp)
/* 014F8 80A31E68 3C0480A3 */ lui $a0, %hi(D_80A32818) ## $a0 = 80A30000
/* 014FC 80A31E6C 24842818 */ addiu $a0, $a0, %lo(D_80A32818) ## $a0 = 80A32818
/* 01500 80A31E70 0C00084C */ jal osSyncPrintf
/* 01504 80A31E74 96051406 */ lhu $a1, 0x1406($s0) ## 8015FA66
/* 01508 80A31E78 8FA60020 */ lw $a2, 0x0020($sp)
/* 0150C 80A31E7C 3C0480A3 */ lui $a0, %hi(D_80A3283C) ## $a0 = 80A30000
/* 01510 80A31E80 2484283C */ addiu $a0, $a0, %lo(D_80A3283C) ## $a0 = 80A3283C
/* 01514 80A31E84 24050457 */ addiu $a1, $zero, 0x0457 ## $a1 = 00000457
/* 01518 80A31E88 0C000B84 */ jal LogUtils_LogThreadId
/* 0151C 80A31E8C AFA60020 */ sw $a2, 0x0020($sp)
/* 01520 80A31E90 3C0480A3 */ lui $a0, %hi(D_80A3284C) ## $a0 = 80A30000
/* 01524 80A31E94 2484284C */ addiu $a0, $a0, %lo(D_80A3284C) ## $a0 = 80A3284C
/* 01528 80A31E98 0C00084C */ jal osSyncPrintf
/* 0152C 80A31E9C 8E050EB8 */ lw $a1, 0x0EB8($s0) ## 8015F518
/* 01530 80A31EA0 8FA60020 */ lw $a2, 0x0020($sp)
/* 01534 80A31EA4 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 01538 80A31EA8 3C0A80A3 */ lui $t2, %hi(func_80A31DE4) ## $t2 = 80A30000
/* 0153C 80A31EAC 8CD80004 */ lw $t8, 0x0004($a2) ## 00000004
/* 01540 80A31EB0 24096045 */ addiu $t1, $zero, 0x6045 ## $t1 = 00006045
/* 01544 80A31EB4 254A1DE4 */ addiu $t2, $t2, %lo(func_80A31DE4) ## $t2 = 80A31DE4
/* 01548 80A31EB8 0301C825 */ or $t9, $t8, $at ## $t9 = 00010000
/* 0154C 80A31EBC ACD90004 */ sw $t9, 0x0004($a2) ## 00000004
/* 01550 80A31EC0 8E080EB8 */ lw $t0, 0x0EB8($s0) ## 8015F518
/* 01554 80A31EC4 96021406 */ lhu $v0, 0x1406($s0) ## 8015FA66
/* 01558 80A31EC8 0102082A */ slt $at, $t0, $v0
/* 0155C 80A31ECC 50200004 */ beql $at, $zero, .L80A31EE0
/* 01560 80A31ED0 284103E8 */ slti $at, $v0, 0x03E8
/* 01564 80A31ED4 AE020EB8 */ sw $v0, 0x0EB8($s0) ## 8015F518
/* 01568 80A31ED8 96021406 */ lhu $v0, 0x1406($s0) ## 8015FA66
/* 0156C 80A31EDC 284103E8 */ slti $at, $v0, 0x03E8
.L80A31EE0:
/* 01570 80A31EE0 50200005 */ beql $at, $zero, .L80A31EF8
/* 01574 80A31EE4 960B0F2A */ lhu $t3, 0x0F2A($s0) ## 8015F58A
/* 01578 80A31EE8 A4C9010E */ sh $t1, 0x010E($a2) ## 0000010E
/* 0157C 80A31EEC 10000026 */ beq $zero, $zero, .L80A31F88
/* 01580 80A31EF0 ACCA02B4 */ sw $t2, 0x02B4($a2) ## 000002B4
/* 01584 80A31EF4 960B0F2A */ lhu $t3, 0x0F2A($s0) ## 8015F58A
.L80A31EF8:
/* 01588 80A31EF8 240D6046 */ addiu $t5, $zero, 0x6046 ## $t5 = 00006046
/* 0158C 80A31EFC 3C0E80A3 */ lui $t6, %hi(func_80A31B20) ## $t6 = 80A30000
/* 01590 80A31F00 316C0001 */ andi $t4, $t3, 0x0001 ## $t4 = 00000000
/* 01594 80A31F04 15800008 */ bne $t4, $zero, .L80A31F28
/* 01598 80A31F08 284105DC */ slti $at, $v0, 0x05DC
/* 0159C 80A31F0C 94CF02AC */ lhu $t7, 0x02AC($a2) ## 000002AC
/* 015A0 80A31F10 25CE1B20 */ addiu $t6, $t6, %lo(func_80A31B20) ## $t6 = 80A31B20
/* 015A4 80A31F14 A4CD010E */ sh $t5, 0x010E($a2) ## 0000010E
/* 015A8 80A31F18 31F8FFFD */ andi $t8, $t7, 0xFFFD ## $t8 = 00000000
/* 015AC 80A31F1C ACCE02B4 */ sw $t6, 0x02B4($a2) ## 000002B4
/* 015B0 80A31F20 10000019 */ beq $zero, $zero, .L80A31F88
/* 015B4 80A31F24 A4D802AC */ sh $t8, 0x02AC($a2) ## 000002AC
.L80A31F28:
/* 015B8 80A31F28 10200006 */ beq $at, $zero, .L80A31F44
/* 015BC 80A31F2C 24196047 */ addiu $t9, $zero, 0x6047 ## $t9 = 00006047
/* 015C0 80A31F30 3C0880A3 */ lui $t0, %hi(func_80A31DE4) ## $t0 = 80A30000
/* 015C4 80A31F34 25081DE4 */ addiu $t0, $t0, %lo(func_80A31DE4) ## $t0 = 80A31DE4
/* 015C8 80A31F38 A4D9010E */ sh $t9, 0x010E($a2) ## 0000010E
/* 015CC 80A31F3C 10000012 */ beq $zero, $zero, .L80A31F88
/* 015D0 80A31F40 ACC802B4 */ sw $t0, 0x02B4($a2) ## 000002B4
.L80A31F44:
/* 015D4 80A31F44 96090EF0 */ lhu $t1, 0x0EF0($s0) ## 8015F550
/* 015D8 80A31F48 3C0E80A3 */ lui $t6, %hi(func_80A31B20) ## $t6 = 80A30000
/* 015DC 80A31F4C 240D6044 */ addiu $t5, $zero, 0x6044 ## $t5 = 00006044
/* 015E0 80A31F50 312A8000 */ andi $t2, $t1, 0x8000 ## $t2 = 00000000
/* 015E4 80A31F54 11400007 */ beq $t2, $zero, .L80A31F74
/* 015E8 80A31F58 25CE1B20 */ addiu $t6, $t6, %lo(func_80A31B20) ## $t6 = 80A31B20
/* 015EC 80A31F5C 3C0C80A3 */ lui $t4, %hi(func_80A31DE4) ## $t4 = 80A30000
/* 015F0 80A31F60 240B6047 */ addiu $t3, $zero, 0x6047 ## $t3 = 00006047
/* 015F4 80A31F64 258C1DE4 */ addiu $t4, $t4, %lo(func_80A31DE4) ## $t4 = 80A31DE4
/* 015F8 80A31F68 A4CB010E */ sh $t3, 0x010E($a2) ## 0000010E
/* 015FC 80A31F6C 10000006 */ beq $zero, $zero, .L80A31F88
/* 01600 80A31F70 ACCC02B4 */ sw $t4, 0x02B4($a2) ## 000002B4
.L80A31F74:
/* 01604 80A31F74 94CF02AC */ lhu $t7, 0x02AC($a2) ## 000002AC
/* 01608 80A31F78 A4CD010E */ sh $t5, 0x010E($a2) ## 0000010E
/* 0160C 80A31F7C ACCE02B4 */ sw $t6, 0x02B4($a2) ## 000002B4
/* 01610 80A31F80 35F80002 */ ori $t8, $t7, 0x0002 ## $t8 = 00000002
/* 01614 80A31F84 A4D802AC */ sh $t8, 0x02AC($a2) ## 000002AC
.L80A31F88:
/* 01618 80A31F88 8FBF001C */ lw $ra, 0x001C($sp)
/* 0161C 80A31F8C 8FB00018 */ lw $s0, 0x0018($sp)
/* 01620 80A31F90 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 01624 80A31F94 03E00008 */ jr $ra
/* 01628 80A31F98 00000000 */ nop

View file

@ -1,19 +0,0 @@
glabel func_80A31F9C
/* 0162C 80A31F9C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 01630 80A31FA0 AFBF0014 */ sw $ra, 0x0014($sp)
/* 01634 80A31FA4 948E02AC */ lhu $t6, 0x02AC($a0) ## 000002AC
/* 01638 80A31FA8 35CF0001 */ ori $t7, $t6, 0x0001 ## $t7 = 00000001
/* 0163C 80A31FAC A48F02AC */ sh $t7, 0x02AC($a0) ## 000002AC
/* 01640 80A31FB0 0C00BCCD */ jal func_8002F334
/* 01644 80A31FB4 AFA40018 */ sw $a0, 0x0018($sp)
/* 01648 80A31FB8 10400005 */ beq $v0, $zero, .L80A31FD0
/* 0164C 80A31FBC 8FA40018 */ lw $a0, 0x0018($sp)
/* 01650 80A31FC0 3C1880A3 */ lui $t8, %hi(func_80A31FE0) ## $t8 = 80A30000
/* 01654 80A31FC4 27181FE0 */ addiu $t8, $t8, %lo(func_80A31FE0) ## $t8 = 80A31FE0
/* 01658 80A31FC8 0C28C352 */ jal func_80A30D48
/* 0165C 80A31FCC AC9802B4 */ sw $t8, 0x02B4($a0) ## 000002B4
.L80A31FD0:
/* 01660 80A31FD0 8FBF0014 */ lw $ra, 0x0014($sp)
/* 01664 80A31FD4 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 01668 80A31FD8 03E00008 */ jr $ra
/* 0166C 80A31FDC 00000000 */ nop

View file

@ -1,43 +0,0 @@
glabel func_80A31FE0
/* 01670 80A31FE0 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 01674 80A31FE4 AFBF001C */ sw $ra, 0x001C($sp)
/* 01678 80A31FE8 8CA21C44 */ lw $v0, 0x1C44($a1) ## 00001C44
/* 0167C 80A31FEC 3C0B80A3 */ lui $t3, %hi(func_80A31D88) ## $t3 = 80A30000
/* 01680 80A31FF0 256B1D88 */ addiu $t3, $t3, %lo(func_80A31D88) ## $t3 = 80A31D88
/* 01684 80A31FF4 8C4E067C */ lw $t6, 0x067C($v0) ## 0000067C
/* 01688 80A31FF8 3C028016 */ lui $v0, %hi(gSaveContext)
/* 0168C 80A31FFC 2442E660 */ addiu $v0, %lo(gSaveContext)
/* 01690 80A32000 000E7A00 */ sll $t7, $t6, 8
/* 01694 80A32004 05E00009 */ bltz $t7, .L80A3202C
/* 01698 80A32008 3C074348 */ lui $a3, 0x4348 ## $a3 = 43480000
/* 0169C 80A3200C 3C1880A3 */ lui $t8, %hi(func_80A31F9C) ## $t8 = 80A30000
/* 016A0 80A32010 27181F9C */ addiu $t8, $t8, %lo(func_80A31F9C) ## $t8 = 80A31F9C
/* 016A4 80A32014 AFB80010 */ sw $t8, 0x0010($sp)
/* 016A8 80A32018 2406603F */ addiu $a2, $zero, 0x603F ## $a2 = 0000603F
/* 016AC 80A3201C 0C28C31C */ jal func_80A30C70
/* 016B0 80A32020 3C0742C8 */ lui $a3, 0x42C8 ## $a3 = 42C80000
/* 016B4 80A32024 10000011 */ beq $zero, $zero, .L80A3206C
/* 016B8 80A32028 8FBF001C */ lw $ra, 0x001C($sp)
.L80A3202C:
/* 016BC 80A3202C 94590EE0 */ lhu $t9, 0x0EE0($v0) ## 00000EE0
/* 016C0 80A32030 24066040 */ addiu $a2, $zero, 0x6040 ## $a2 = 00006040
/* 016C4 80A32034 33280100 */ andi $t0, $t9, 0x0100 ## $t0 = 00000000
/* 016C8 80A32038 11000009 */ beq $t0, $zero, .L80A32060
/* 016CC 80A3203C 00000000 */ nop
/* 016D0 80A32040 94490F2A */ lhu $t1, 0x0F2A($v0) ## 00000F2A
/* 016D4 80A32044 312A0001 */ andi $t2, $t1, 0x0001 ## $t2 = 00000000
/* 016D8 80A32048 11400003 */ beq $t2, $zero, .L80A32058
/* 016DC 80A3204C 00000000 */ nop
/* 016E0 80A32050 10000003 */ beq $zero, $zero, .L80A32060
/* 016E4 80A32054 24066042 */ addiu $a2, $zero, 0x6042 ## $a2 = 00006042
.L80A32058:
/* 016E8 80A32058 10000001 */ beq $zero, $zero, .L80A32060
/* 016EC 80A3205C 24066043 */ addiu $a2, $zero, 0x6043 ## $a2 = 00006043
.L80A32060:
/* 016F0 80A32060 0C28C31C */ jal func_80A30C70
/* 016F4 80A32064 AFAB0010 */ sw $t3, 0x0010($sp)
/* 016F8 80A32068 8FBF001C */ lw $ra, 0x001C($sp)
.L80A3206C:
/* 016FC 80A3206C 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 01700 80A32070 03E00008 */ jr $ra
/* 01704 80A32074 00000000 */ nop

View file

@ -1,80 +0,0 @@
glabel func_80A32078
/* 01708 80A32078 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0
/* 0170C 80A3207C AFBF002C */ sw $ra, 0x002C($sp)
/* 01710 80A32080 AFB00028 */ sw $s0, 0x0028($sp)
/* 01714 80A32084 AFA50044 */ sw $a1, 0x0044($sp)
/* 01718 80A32088 848E008A */ lh $t6, 0x008A($a0) ## 0000008A
/* 0171C 80A3208C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 01720 80A32090 24060006 */ addiu $a2, $zero, 0x0006 ## $a2 = 00000006
/* 01724 80A32094 AFAE0030 */ sw $t6, 0x0030($sp)
/* 01728 80A32098 849800B6 */ lh $t8, 0x00B6($a0) ## 000000B6
/* 0172C 80A3209C 260400B6 */ addiu $a0, $s0, 0x00B6 ## $a0 = 000000B6
/* 01730 80A320A0 87A50032 */ lh $a1, 0x0032($sp)
/* 01734 80A320A4 01D81023 */ subu $v0, $t6, $t8
/* 01738 80A320A8 00021400 */ sll $v0, $v0, 16
/* 0173C 80A320AC 00021403 */ sra $v0, $v0, 16
/* 01740 80A320B0 04400003 */ bltz $v0, .L80A320C0
/* 01744 80A320B4 00021823 */ subu $v1, $zero, $v0
/* 01748 80A320B8 10000001 */ beq $zero, $zero, .L80A320C0
/* 0174C 80A320BC 00401825 */ or $v1, $v0, $zero ## $v1 = 00000000
.L80A320C0:
/* 01750 80A320C0 28614001 */ slti $at, $v1, 0x4001
/* 01754 80A320C4 10200013 */ beq $at, $zero, .L80A32114
/* 01758 80A320C8 24070FA0 */ addiu $a3, $zero, 0x0FA0 ## $a3 = 00000FA0
/* 0175C 80A320CC 24190064 */ addiu $t9, $zero, 0x0064 ## $t9 = 00000064
/* 01760 80A320D0 0C01E1A7 */ jal Math_SmoothStepToS
/* 01764 80A320D4 AFB90010 */ sw $t9, 0x0010($sp)
/* 01768 80A320D8 860800B6 */ lh $t0, 0x00B6($s0) ## 000000B6
/* 0176C 80A320DC 8E0A0038 */ lw $t2, 0x0038($s0) ## 00000038
/* 01770 80A320E0 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 01774 80A320E4 A6080032 */ sh $t0, 0x0032($s0) ## 00000032
/* 01778 80A320E8 AFAA0010 */ sw $t2, 0x0010($sp)
/* 0177C 80A320EC 8E09003C */ lw $t1, 0x003C($s0) ## 0000003C
/* 01780 80A320F0 8FA40044 */ lw $a0, 0x0044($sp)
/* 01784 80A320F4 2606029C */ addiu $a2, $s0, 0x029C ## $a2 = 0000029C
/* 01788 80A320F8 AFA90014 */ sw $t1, 0x0014($sp)
/* 0178C 80A320FC 8E0A0040 */ lw $t2, 0x0040($s0) ## 00000040
/* 01790 80A32100 260702A2 */ addiu $a3, $s0, 0x02A2 ## $a3 = 000002A2
/* 01794 80A32104 0C00E0A4 */ jal func_80038290
/* 01798 80A32108 AFAA0018 */ sw $t2, 0x0018($sp)
/* 0179C 80A3210C 1000001C */ beq $zero, $zero, .L80A32180
/* 017A0 80A32110 8FBF002C */ lw $ra, 0x002C($sp)
.L80A32114:
/* 017A4 80A32114 0441000A */ bgez $v0, .L80A32140
/* 017A8 80A32118 2604029E */ addiu $a0, $s0, 0x029E ## $a0 = 0000029E
/* 017AC 80A3211C 240B0100 */ addiu $t3, $zero, 0x0100 ## $t3 = 00000100
/* 017B0 80A32120 AFAB0010 */ sw $t3, 0x0010($sp)
/* 017B4 80A32124 2604029E */ addiu $a0, $s0, 0x029E ## $a0 = 0000029E
/* 017B8 80A32128 2405E000 */ addiu $a1, $zero, 0xE000 ## $a1 = FFFFE000
/* 017BC 80A3212C 24060006 */ addiu $a2, $zero, 0x0006 ## $a2 = 00000006
/* 017C0 80A32130 0C01E1A7 */ jal Math_SmoothStepToS
/* 017C4 80A32134 24071838 */ addiu $a3, $zero, 0x1838 ## $a3 = 00001838
/* 017C8 80A32138 10000008 */ beq $zero, $zero, .L80A3215C
/* 017CC 80A3213C 8605008A */ lh $a1, 0x008A($s0) ## 0000008A
.L80A32140:
/* 017D0 80A32140 240C0100 */ addiu $t4, $zero, 0x0100 ## $t4 = 00000100
/* 017D4 80A32144 AFAC0010 */ sw $t4, 0x0010($sp)
/* 017D8 80A32148 24052000 */ addiu $a1, $zero, 0x2000 ## $a1 = 00002000
/* 017DC 80A3214C 24060006 */ addiu $a2, $zero, 0x0006 ## $a2 = 00000006
/* 017E0 80A32150 0C01E1A7 */ jal Math_SmoothStepToS
/* 017E4 80A32154 24071838 */ addiu $a3, $zero, 0x1838 ## $a3 = 00001838
/* 017E8 80A32158 8605008A */ lh $a1, 0x008A($s0) ## 0000008A
.L80A3215C:
/* 017EC 80A3215C 240D0064 */ addiu $t5, $zero, 0x0064 ## $t5 = 00000064
/* 017F0 80A32160 AFAD0010 */ sw $t5, 0x0010($sp)
/* 017F4 80A32164 260400B6 */ addiu $a0, $s0, 0x00B6 ## $a0 = 000000B6
/* 017F8 80A32168 2406000C */ addiu $a2, $zero, 0x000C ## $a2 = 0000000C
/* 017FC 80A3216C 0C01E1A7 */ jal Math_SmoothStepToS
/* 01800 80A32170 240703E8 */ addiu $a3, $zero, 0x03E8 ## $a3 = 000003E8
/* 01804 80A32174 860E00B6 */ lh $t6, 0x00B6($s0) ## 000000B6
/* 01808 80A32178 A60E0032 */ sh $t6, 0x0032($s0) ## 00000032
/* 0180C 80A3217C 8FBF002C */ lw $ra, 0x002C($sp)
.L80A32180:
/* 01810 80A32180 8FB00028 */ lw $s0, 0x0028($sp)
/* 01814 80A32184 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000
/* 01818 80A32188 03E00008 */ jr $ra
/* 0181C 80A3218C 00000000 */ nop

View file

@ -1,62 +0,0 @@
glabel func_80A32190
/* 01820 80A32190 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
/* 01824 80A32194 AFBF002C */ sw $ra, 0x002C($sp)
/* 01828 80A32198 AFB00028 */ sw $s0, 0x0028($sp)
/* 0182C 80A3219C AFA50034 */ sw $a1, 0x0034($sp)
/* 01830 80A321A0 848F00B6 */ lh $t7, 0x00B6($a0) ## 000000B6
/* 01834 80A321A4 848E008A */ lh $t6, 0x008A($a0) ## 0000008A
/* 01838 80A321A8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 0183C 80A321AC 2604029C */ addiu $a0, $s0, 0x029C ## $a0 = 0000029C
/* 01840 80A321B0 01CF1023 */ subu $v0, $t6, $t7
/* 01844 80A321B4 00021400 */ sll $v0, $v0, 16
/* 01848 80A321B8 00021403 */ sra $v0, $v0, 16
/* 0184C 80A321BC 04400003 */ bltz $v0, .L80A321CC
/* 01850 80A321C0 00021823 */ subu $v1, $zero, $v0
/* 01854 80A321C4 10000001 */ beq $zero, $zero, .L80A321CC
/* 01858 80A321C8 00401825 */ or $v1, $v0, $zero ## $v1 = 00000000
.L80A321CC:
/* 0185C 80A321CC 28614301 */ slti $at, $v1, 0x4301
/* 01860 80A321D0 10200015 */ beq $at, $zero, .L80A32228
/* 01864 80A321D4 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 01868 80A321D8 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000
/* 0186C 80A321DC 44813000 */ mtc1 $at, $f6 ## $f6 = 100.00
/* 01870 80A321E0 C6040090 */ lwc1 $f4, 0x0090($s0) ## 00000090
/* 01874 80A321E4 4606203C */ c.lt.s $f4, $f6
/* 01878 80A321E8 00000000 */ nop
/* 0187C 80A321EC 4502000F */ bc1fl .L80A3222C
/* 01880 80A321F0 24080064 */ addiu $t0, $zero, 0x0064 ## $t0 = 00000064
/* 01884 80A321F4 8E190038 */ lw $t9, 0x0038($s0) ## 00000038
/* 01888 80A321F8 8FA40034 */ lw $a0, 0x0034($sp)
/* 0188C 80A321FC 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 01890 80A32200 AFB90010 */ sw $t9, 0x0010($sp)
/* 01894 80A32204 8E18003C */ lw $t8, 0x003C($s0) ## 0000003C
/* 01898 80A32208 2606029C */ addiu $a2, $s0, 0x029C ## $a2 = 0000029C
/* 0189C 80A3220C 260702A2 */ addiu $a3, $s0, 0x02A2 ## $a3 = 000002A2
/* 018A0 80A32210 AFB80014 */ sw $t8, 0x0014($sp)
/* 018A4 80A32214 8E190040 */ lw $t9, 0x0040($s0) ## 00000040
/* 018A8 80A32218 0C00E0A4 */ jal func_80038290
/* 018AC 80A3221C AFB90018 */ sw $t9, 0x0018($sp)
/* 018B0 80A32220 1000000E */ beq $zero, $zero, .L80A3225C
/* 018B4 80A32224 8FBF002C */ lw $ra, 0x002C($sp)
.L80A32228:
/* 018B8 80A32228 24080064 */ addiu $t0, $zero, 0x0064 ## $t0 = 00000064
.L80A3222C:
/* 018BC 80A3222C AFA80010 */ sw $t0, 0x0010($sp)
/* 018C0 80A32230 24060006 */ addiu $a2, $zero, 0x0006 ## $a2 = 00000006
/* 018C4 80A32234 0C01E1A7 */ jal Math_SmoothStepToS
/* 018C8 80A32238 24071838 */ addiu $a3, $zero, 0x1838 ## $a3 = 00001838
/* 018CC 80A3223C 24090064 */ addiu $t1, $zero, 0x0064 ## $t1 = 00000064
/* 018D0 80A32240 AFA90010 */ sw $t1, 0x0010($sp)
/* 018D4 80A32244 2604029E */ addiu $a0, $s0, 0x029E ## $a0 = 0000029E
/* 018D8 80A32248 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 018DC 80A3224C 24060006 */ addiu $a2, $zero, 0x0006 ## $a2 = 00000006
/* 018E0 80A32250 0C01E1A7 */ jal Math_SmoothStepToS
/* 018E4 80A32254 24071838 */ addiu $a3, $zero, 0x1838 ## $a3 = 00001838
/* 018E8 80A32258 8FBF002C */ lw $ra, 0x002C($sp)
.L80A3225C:
/* 018EC 80A3225C 8FB00028 */ lw $s0, 0x0028($sp)
/* 018F0 80A32260 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
/* 018F4 80A32264 03E00008 */ jr $ra
/* 018F8 80A32268 00000000 */ nop

View file

@ -1,18 +0,0 @@
glabel func_80A323B0
/* 01A40 80A323B0 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 01A44 80A323B4 AFA40020 */ sw $a0, 0x0020($sp)
/* 01A48 80A323B8 AFBF0014 */ sw $ra, 0x0014($sp)
/* 01A4C 80A323BC 24840198 */ addiu $a0, $a0, 0x0198 ## $a0 = 00000198
/* 01A50 80A323C0 0C02927F */ jal SkelAnime_Update
/* 01A54 80A323C4 AFA4001C */ sw $a0, 0x001C($sp)
/* 01A58 80A323C8 10400004 */ beq $v0, $zero, .L80A323DC
/* 01A5C 80A323CC 8FA4001C */ lw $a0, 0x001C($sp)
/* 01A60 80A323D0 8FAE0020 */ lw $t6, 0x0020($sp)
/* 01A64 80A323D4 0C02947A */ jal Animation_PlayOnce
/* 01A68 80A323D8 8DC502B0 */ lw $a1, 0x02B0($t6) ## 000002B0
.L80A323DC:
/* 01A6C 80A323DC 8FBF0014 */ lw $ra, 0x0014($sp)
/* 01A70 80A323E0 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 01A74 80A323E4 03E00008 */ jr $ra
/* 01A78 80A323E8 00000000 */ nop

View file

@ -1,26 +0,0 @@
glabel func_80A323EC
/* 01A7C 80A323EC 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 01A80 80A323F0 AFBF0014 */ sw $ra, 0x0014($sp)
/* 01A84 80A323F4 948E02AC */ lhu $t6, 0x02AC($a0) ## 000002AC
/* 01A88 80A323F8 00802825 */ or $a1, $a0, $zero ## $a1 = 00000000
/* 01A8C 80A323FC 24840198 */ addiu $a0, $a0, 0x0198 ## $a0 = 00000198
/* 01A90 80A32400 31CF0004 */ andi $t7, $t6, 0x0004 ## $t7 = 00000000
/* 01A94 80A32404 55E0000C */ bnel $t7, $zero, .L80A32438
/* 01A98 80A32408 8FBF0014 */ lw $ra, 0x0014($sp)
/* 01A9C 80A3240C 0C02927F */ jal SkelAnime_Update
/* 01AA0 80A32410 AFA50018 */ sw $a1, 0x0018($sp)
/* 01AA4 80A32414 10400004 */ beq $v0, $zero, .L80A32428
/* 01AA8 80A32418 8FA50018 */ lw $a1, 0x0018($sp)
/* 01AAC 80A3241C 94B802AC */ lhu $t8, 0x02AC($a1) ## 000002AC
/* 01AB0 80A32420 37190004 */ ori $t9, $t8, 0x0004 ## $t9 = 00000004
/* 01AB4 80A32424 A4B902AC */ sh $t9, 0x02AC($a1) ## 000002AC
.L80A32428:
/* 01AB8 80A32428 94A802AC */ lhu $t0, 0x02AC($a1) ## 000002AC
/* 01ABC 80A3242C 35090008 */ ori $t1, $t0, 0x0008 ## $t1 = 00000008
/* 01AC0 80A32430 A4A902AC */ sh $t1, 0x02AC($a1) ## 000002AC
/* 01AC4 80A32434 8FBF0014 */ lw $ra, 0x0014($sp)
.L80A32438:
/* 01AC8 80A32438 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 01ACC 80A3243C 03E00008 */ jr $ra
/* 01AD0 80A32440 00000000 */ nop

View file

@ -1,92 +0,0 @@
glabel func_80A32444
/* 01AD4 80A32444 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
/* 01AD8 80A32448 2401000F */ addiu $at, $zero, 0x000F ## $at = 0000000F
/* 01ADC 80A3244C AFBF0014 */ sw $ra, 0x0014($sp)
/* 01AE0 80A32450 AFA40028 */ sw $a0, 0x0028($sp)
/* 01AE4 80A32454 AFA60030 */ sw $a2, 0x0030($sp)
/* 01AE8 80A32458 14A1000B */ bne $a1, $at, .L80A32488
/* 01AEC 80A3245C AFA70034 */ sw $a3, 0x0034($sp)
/* 01AF0 80A32460 8FA20038 */ lw $v0, 0x0038($sp)
/* 01AF4 80A32464 8FA3003C */ lw $v1, 0x003C($sp)
/* 01AF8 80A32468 844E0000 */ lh $t6, 0x0000($v0) ## 00000000
/* 01AFC 80A3246C 846F029E */ lh $t7, 0x029E($v1) ## 0000029E
/* 01B00 80A32470 84590004 */ lh $t9, 0x0004($v0) ## 00000004
/* 01B04 80A32474 01CFC021 */ addu $t8, $t6, $t7
/* 01B08 80A32478 A4580000 */ sh $t8, 0x0000($v0) ## 00000000
/* 01B0C 80A3247C 8468029C */ lh $t0, 0x029C($v1) ## 0000029C
/* 01B10 80A32480 03284821 */ addu $t1, $t9, $t0
/* 01B14 80A32484 A4490004 */ sh $t1, 0x0004($v0) ## 00000004
.L80A32488:
/* 01B18 80A32488 8FA3003C */ lw $v1, 0x003C($sp)
/* 01B1C 80A3248C 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
/* 01B20 80A32490 24010008 */ addiu $at, $zero, 0x0008 ## $at = 00000008
/* 01B24 80A32494 946402AC */ lhu $a0, 0x02AC($v1) ## 000002AC
/* 01B28 80A32498 308A0008 */ andi $t2, $a0, 0x0008 ## $t2 = 00000000
/* 01B2C 80A3249C 11400003 */ beq $t2, $zero, .L80A324AC
/* 01B30 80A324A0 308BFFF7 */ andi $t3, $a0, 0xFFF7 ## $t3 = 00000000
/* 01B34 80A324A4 10000038 */ beq $zero, $zero, .L80A32588
/* 01B38 80A324A8 A46B02AC */ sh $t3, 0x02AC($v1) ## 000002AC
.L80A324AC:
/* 01B3C 80A324AC 10A10006 */ beq $a1, $at, .L80A324C8
/* 01B40 80A324B0 00051880 */ sll $v1, $a1, 2
/* 01B44 80A324B4 2401000A */ addiu $at, $zero, 0x000A ## $at = 0000000A
/* 01B48 80A324B8 10A10003 */ beq $a1, $at, .L80A324C8
/* 01B4C 80A324BC 2401000D */ addiu $at, $zero, 0x000D ## $at = 0000000D
/* 01B50 80A324C0 54A10031 */ bnel $a1, $at, .L80A32588
/* 01B54 80A324C4 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
.L80A324C8:
/* 01B58 80A324C8 8FAC0028 */ lw $t4, 0x0028($sp)
/* 01B5C 80A324CC 00651823 */ subu $v1, $v1, $a1
/* 01B60 80A324D0 000318C0 */ sll $v1, $v1, 3
/* 01B64 80A324D4 8D8D009C */ lw $t5, 0x009C($t4) ## 0000009C
/* 01B68 80A324D8 00651821 */ addu $v1, $v1, $a1
/* 01B6C 80A324DC 00031840 */ sll $v1, $v1, 1
/* 01B70 80A324E0 246E0814 */ addiu $t6, $v1, 0x0814 ## $t6 = 00000814
/* 01B74 80A324E4 01AE0019 */ multu $t5, $t6
/* 01B78 80A324E8 AFA30018 */ sw $v1, 0x0018($sp)
/* 01B7C 80A324EC 00002012 */ mflo $a0
/* 01B80 80A324F0 00042400 */ sll $a0, $a0, 16
/* 01B84 80A324F4 0C01DE1C */ jal Math_SinS
## sins?
/* 01B88 80A324F8 00042403 */ sra $a0, $a0, 16
/* 01B8C 80A324FC 8FA20038 */ lw $v0, 0x0038($sp)
/* 01B90 80A32500 3C014348 */ lui $at, 0x4348 ## $at = 43480000
/* 01B94 80A32504 44814000 */ mtc1 $at, $f8 ## $f8 = 200.00
/* 01B98 80A32508 844F0002 */ lh $t7, 0x0002($v0) ## 00000002
/* 01B9C 80A3250C 8FA30018 */ lw $v1, 0x0018($sp)
/* 01BA0 80A32510 46080282 */ mul.s $f10, $f0, $f8
/* 01BA4 80A32514 448F2000 */ mtc1 $t7, $f4 ## $f4 = 0.00
/* 01BA8 80A32518 246A0940 */ addiu $t2, $v1, 0x0940 ## $t2 = 00000940
/* 01BAC 80A3251C 468021A0 */ cvt.s.w $f6, $f4
/* 01BB0 80A32520 460A3400 */ add.s $f16, $f6, $f10
/* 01BB4 80A32524 4600848D */ trunc.w.s $f18, $f16
/* 01BB8 80A32528 44199000 */ mfc1 $t9, $f18
/* 01BBC 80A3252C 00000000 */ nop
/* 01BC0 80A32530 A4590002 */ sh $t9, 0x0002($v0) ## 00000002
/* 01BC4 80A32534 8FA80028 */ lw $t0, 0x0028($sp)
/* 01BC8 80A32538 8D09009C */ lw $t1, 0x009C($t0) ## 0000009C
/* 01BCC 80A3253C 012A0019 */ multu $t1, $t2
/* 01BD0 80A32540 00002012 */ mflo $a0
/* 01BD4 80A32544 00042400 */ sll $a0, $a0, 16
/* 01BD8 80A32548 0C01DE0D */ jal Math_CosS
## coss?
/* 01BDC 80A3254C 00042403 */ sra $a0, $a0, 16
/* 01BE0 80A32550 8FA20038 */ lw $v0, 0x0038($sp)
/* 01BE4 80A32554 3C014348 */ lui $at, 0x4348 ## $at = 43480000
/* 01BE8 80A32558 44813000 */ mtc1 $at, $f6 ## $f6 = 200.00
/* 01BEC 80A3255C 844B0004 */ lh $t3, 0x0004($v0) ## 00000004
/* 01BF0 80A32560 46060282 */ mul.s $f10, $f0, $f6
/* 01BF4 80A32564 448B2000 */ mtc1 $t3, $f4 ## $f4 = 0.00
/* 01BF8 80A32568 00000000 */ nop
/* 01BFC 80A3256C 46802220 */ cvt.s.w $f8, $f4
/* 01C00 80A32570 460A4400 */ add.s $f16, $f8, $f10
/* 01C04 80A32574 4600848D */ trunc.w.s $f18, $f16
/* 01C08 80A32578 440D9000 */ mfc1 $t5, $f18
/* 01C0C 80A3257C 00000000 */ nop
/* 01C10 80A32580 A44D0004 */ sh $t5, 0x0004($v0) ## 00000004
/* 01C14 80A32584 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
.L80A32588:
/* 01C18 80A32588 8FBF0014 */ lw $ra, 0x0014($sp)
/* 01C1C 80A3258C 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
/* 01C20 80A32590 03E00008 */ jr $ra
/* 01C24 80A32594 00000000 */ nop

View file

@ -1,56 +0,0 @@
.rdata
glabel D_80A32888
.asciz "../z_en_ge1.c"
.balign 4
glabel D_80A32898
.asciz "../z_en_ge1.c"
.balign 4
.text
glabel func_80A32598
/* 01C28 80A32598 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8
/* 01C2C 80A3259C AFBF0014 */ sw $ra, 0x0014($sp)
/* 01C30 80A325A0 AFA40038 */ sw $a0, 0x0038($sp)
/* 01C34 80A325A4 AFA5003C */ sw $a1, 0x003C($sp)
/* 01C38 80A325A8 AFA60040 */ sw $a2, 0x0040($sp)
/* 01C3C 80A325AC AFA70044 */ sw $a3, 0x0044($sp)
/* 01C40 80A325B0 8C850000 */ lw $a1, 0x0000($a0) ## 00000000
/* 01C44 80A325B4 3C0680A3 */ lui $a2, %hi(D_80A32888) ## $a2 = 80A30000
/* 01C48 80A325B8 24C62888 */ addiu $a2, $a2, %lo(D_80A32888) ## $a2 = 80A32888
/* 01C4C 80A325BC 27A40020 */ addiu $a0, $sp, 0x0020 ## $a0 = FFFFFFE8
/* 01C50 80A325C0 2407058B */ addiu $a3, $zero, 0x058B ## $a3 = 0000058B
/* 01C54 80A325C4 0C031AB1 */ jal Graph_OpenDisps
/* 01C58 80A325C8 AFA50030 */ sw $a1, 0x0030($sp)
/* 01C5C 80A325CC 8FAF003C */ lw $t7, 0x003C($sp)
/* 01C60 80A325D0 2401000F */ addiu $at, $zero, 0x000F ## $at = 0000000F
/* 01C64 80A325D4 8FA80030 */ lw $t0, 0x0030($sp)
/* 01C68 80A325D8 15E10010 */ bne $t7, $at, .L80A3261C
/* 01C6C 80A325DC 8FA60048 */ lw $a2, 0x0048($sp)
/* 01C70 80A325E0 8D0302C0 */ lw $v1, 0x02C0($t0) ## 000002C0
/* 01C74 80A325E4 3C19DE00 */ lui $t9, 0xDE00 ## $t9 = DE000000
/* 01C78 80A325E8 3C0B80A3 */ lui $t3, %hi(D_80A3279C) ## $t3 = 80A30000
/* 01C7C 80A325EC 24780008 */ addiu $t8, $v1, 0x0008 ## $t8 = 00000008
/* 01C80 80A325F0 AD1802C0 */ sw $t8, 0x02C0($t0) ## 000002C0
/* 01C84 80A325F4 AC790000 */ sw $t9, 0x0000($v1) ## 00000000
/* 01C88 80A325F8 90C902AE */ lbu $t1, 0x02AE($a2) ## 000002AE
/* 01C8C 80A325FC 3C0480A3 */ lui $a0, %hi(D_80A327A8) ## $a0 = 80A30000
/* 01C90 80A32600 248427A8 */ addiu $a0, $a0, %lo(D_80A327A8) ## $a0 = 80A327A8
/* 01C94 80A32604 00095080 */ sll $t2, $t1, 2
/* 01C98 80A32608 016A5821 */ addu $t3, $t3, $t2
/* 01C9C 80A3260C 8D6B279C */ lw $t3, %lo(D_80A3279C)($t3)
/* 01CA0 80A32610 24C50038 */ addiu $a1, $a2, 0x0038 ## $a1 = 00000038
/* 01CA4 80A32614 0C0346BD */ jal Matrix_MultVec3f
/* 01CA8 80A32618 AC6B0004 */ sw $t3, 0x0004($v1) ## 00000004
.L80A3261C:
/* 01CAC 80A3261C 8FAC0038 */ lw $t4, 0x0038($sp)
/* 01CB0 80A32620 3C0680A3 */ lui $a2, %hi(D_80A32898) ## $a2 = 80A30000
/* 01CB4 80A32624 24C62898 */ addiu $a2, $a2, %lo(D_80A32898) ## $a2 = 80A32898
/* 01CB8 80A32628 27A40020 */ addiu $a0, $sp, 0x0020 ## $a0 = FFFFFFE8
/* 01CBC 80A3262C 24070593 */ addiu $a3, $zero, 0x0593 ## $a3 = 00000593
/* 01CC0 80A32630 0C031AD5 */ jal Graph_CloseDisps
/* 01CC4 80A32634 8D850000 */ lw $a1, 0x0000($t4) ## 00000000
/* 01CC8 80A32638 8FBF0014 */ lw $ra, 0x0014($sp)
/* 01CCC 80A3263C 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000
/* 01CD0 80A32640 03E00008 */ jr $ra
/* 01CD4 80A32644 00000000 */ nop

View file

@ -1,26 +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_Ge1_InitVars
.word 0x01380400, 0x00000009, 0x01160000, 0x000002BC
.word EnGe1_Init
.word EnGe1_Destroy
.word EnGe1_Update
.word EnGe1_Draw
glabel D_80A32770
.word 0x0A001139, 0x10010000, 0x00000000, 0x00000000, 0x00000000, 0x00000702, 0x00000000, 0x00010100, 0x00140028, 0x00000000, 0x00000000
glabel D_80A3279C
.word 0x06009198, 0x06009430, 0x06009690
glabel D_80A327A8
.word 0x44160000, 0x442F0000, 0x00000000
glabel D_80A327B4
.word 0x06000708, 0x06000F08, 0x06001708

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_80A328D0
.incbin "baserom/ovl_En_Ge1", 0x1F60, 0x00000300

View file

@ -907,11 +907,11 @@ void SkelCurve_SetAnim(SkelAnimeCurve* skelCurve, TransformUpdateIndex* transUpd
s32 SkelCurve_Update(GlobalContext* globalCtx, SkelAnimeCurve* skelCurve);
void SkelCurve_Draw(Actor* actor, GlobalContext* globalCtx, SkelAnimeCurve* skelCurve,
OverrideCurveLimbDraw overrideLimbDraw, PostCurveLimbDraw postLimbDraw, s32 lod, void* data);
// ? func_8006CFC0(?);
s32 func_8006CFC0(s32 scene);
void func_8006D074(GlobalContext* globalCtx);
// ? func_8006D0AC(?);
// ? func_8006D0EC(?);
// ? func_8006D684(?);
void func_8006D0AC(GlobalContext* globalCtx);
void func_8006D0EC(GlobalContext* globalCtx, Player* player);
void func_8006D684(GlobalContext* globalCtx, Player* player);
void func_8006DC68(GlobalContext* globalCtx, Player* player);
void func_8006DD9C(Actor* actor, Vec3f* arg1, s16 arg2);
u32 Jpeg_SendTask(JpegContext* ctx);

3
spec
View file

@ -2314,8 +2314,7 @@ endseg
beginseg
name "ovl_En_Ge1"
include "build/src/overlays/actors/ovl_En_Ge1/z_en_ge1.o"
include "build/data/overlays/actors/z_en_ge1.data.o"
include "build/data/overlays/actors/z_en_ge1.reloc.o"
include "build/src/overlays/actors/ovl_En_Ge1/ovl_En_Ge1_reloc.o"
endseg
beginseg

View file

@ -1,20 +1,39 @@
#include "z_en_ge1.h"
#include "vt.h"
#define FLAGS 0x00000009
#define THIS ((EnGe1*)thisx)
#define GE1_STATE_TALKING (1 << 0)
#define GE1_STATE_GIVE_QUIVER (1 << 1)
#define GE1_STATE_IDLE_ANIM (1 << 2)
#define GE1_STATE_STOP_FIDGET (1 << 3)
typedef enum {
/* 00 */ GE1_HAIR_BOB,
/* 01 */ GE1_HAIR_STRAIGHT,
/* 02 */ GE1_HAIR_SPIKEY
} EnGe1Hairstyle;
void EnGe1_Init(Actor* thisx, GlobalContext* globalCtx);
void EnGe1_Destroy(Actor* thisx, GlobalContext* globalCtx);
void EnGe1_Update(Actor* thisx, GlobalContext* globalCtx);
void EnGe1_Draw(Actor* thisx, GlobalContext* globalCtx);
extern UNK_TYPE D_06000228;
extern UNK_TYPE D_06000330;
extern UNK_TYPE D_0600A048;
extern UNK_TYPE D_0600A498;
s32 EnGe1_CheckCarpentersFreed(void);
void EnGe1_WatchForPlayerFrontOnly(EnGe1* this, GlobalContext* globalCtx);
void EnGe1_SetNormalText(EnGe1* this, GlobalContext* globalCtx);
void EnGe1_WatchForAndSensePlayer(EnGe1* this, GlobalContext* globalCtx);
void EnGe1_GetReaction_ValleyFloor(EnGe1* this, GlobalContext* globalCtx);
void EnGe1_CheckForCard_GTGGuard(EnGe1* this, GlobalContext* globalCtx);
void EnGe1_CheckGate_GateOp(EnGe1* this, GlobalContext* globalCtx);
void EnGe1_GetReaction_GateGuard(EnGe1* this, GlobalContext* globalCtx);
void EnGe1_TalkAfterGame_Archery(EnGe1* this, GlobalContext* globalCtx);
void EnGe1_Wait_Archery(EnGe1* this, GlobalContext* globalCtx);
void EnGe1_CueUpAnimation(EnGe1* this);
void EnGe1_StopFidget(EnGe1* this);
/*
const ActorInit En_Ge1_InitVars = {
ACTOR_EN_GE1,
ACTORCAT_NPC,
@ -27,7 +46,7 @@ const ActorInit En_Ge1_InitVars = {
(ActorFunc)EnGe1_Draw,
};
static ColliderCylinderInit D_80A32770 = {
static ColliderCylinderInit sCylinderInit = {
{
COLTYPE_NONE,
AT_NONE,
@ -46,95 +65,732 @@ static ColliderCylinderInit D_80A32770 = {
},
{ 20, 40, 0, { 0, 0, 0 } },
};
*/
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ge1/EnGe1_Init.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ge1/EnGe1_Destroy.s")
static Gfx* sHairstyleDLists[] = {
0x06009198, // Bob
0x06009430, // Straight with fringe
0x06009690, // Spikey
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ge1/func_80A30C70.s")
static Vec3f D_80A327A8 = { 600.0f, 700.0f, 0.0f };
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ge1/func_80A30D48.s")
static u64* sEyeTextures[] = {
0x06000708, // Mostly Open
0x06000F08, // Half
0x06001708, // Closed
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ge1/func_80A30DCC.s")
extern AnimationHeader D_06000228; // Idle, arms crossed
extern FlexSkeletonHeader D_06000330;
extern AnimationHeader D_0600A048; // Clap
extern AnimationHeader D_0600A498; // Dismissive gesture
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ge1/func_80A30E08.s")
void EnGe1_Init(Actor* thisx, GlobalContext* globalCtx) {
s32 pad;
EnGe1* this = THIS;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ge1/func_80A30EE8.s")
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 30.0f);
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06000330, &D_06000228, this->jointTable, this->morphTable,
GE1_LIMB_MAX);
Animation_PlayOnce(&this->skelAnime, &D_06000228);
Collider_InitCylinder(globalCtx, &this->collider);
Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &sCylinderInit);
this->actor.colChkInfo.mass = MASS_IMMOVABLE;
this->animation = &D_06000228;
this->animFunc = EnGe1_CueUpAnimation;
this->actor.targetMode = 6;
Actor_SetScale(&this->actor, 0.01f);
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ge1/func_80A30F48.s")
// In Gerudo Valley
this->actor.uncullZoneForward = ((globalCtx->sceneNum == SCENE_SPOT09) ? 1000.0f : 1200.0f);
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ge1/func_80A31000.s")
switch (this->actor.params & 0xFF) {
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ge1/func_80A31094.s")
case GE1_TYPE_GATE_GUARD:
this->hairstyle = GE1_HAIR_SPIKEY;
this->actionFunc = EnGe1_GetReaction_GateGuard;
break;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ge1/func_80A310C4.s")
case GE1_TYPE_GATE_OPERATOR:
this->hairstyle = GE1_HAIR_STRAIGHT;
if (EnGe1_CheckCarpentersFreed()) {
this->actionFunc = EnGe1_CheckGate_GateOp;
} else {
this->actionFunc = EnGe1_WatchForPlayerFrontOnly;
}
break;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ge1/func_80A3118C.s")
case GE1_TYPE_NORMAL:
this->hairstyle = GE1_HAIR_STRAIGHT;
if (EnGe1_CheckCarpentersFreed()) {
this->actionFunc = EnGe1_SetNormalText;
} else {
this->actionFunc = EnGe1_WatchForAndSensePlayer;
}
break;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ge1/func_80A311E0.s")
case GE1_TYPE_VALLEY_FLOOR:
if (LINK_IS_ADULT) {
// Valley floor Gerudo withdrawal
osSyncPrintf(VT_FGCOL(CYAN) "谷底 ゲルド 撤退 \n" VT_RST);
Actor_Kill(&this->actor);
return;
}
this->hairstyle = GE1_HAIR_BOB;
this->actionFunc = EnGe1_GetReaction_ValleyFloor;
break;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ge1/func_80A31234.s")
case GE1_TYPE_HORSEBACK_ARCHERY:
if (INV_CONTENT(SLOT_BOW) == ITEM_NONE) {
Actor_Kill(&this->actor);
return;
}
this->actor.targetMode = 3;
this->hairstyle = GE1_HAIR_BOB;
// Horsback archery Gerudo EVENT_INF(0) =
osSyncPrintf(VT_FGCOL(CYAN) "やぶさめ ゲルド EVENT_INF(0) = %x\n" VT_RST, gSaveContext.eventInf[0]);
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ge1/func_80A312E4.s")
if (gSaveContext.eventInf[0] & 0x100) {
this->actionFunc = EnGe1_TalkAfterGame_Archery;
} else if (EnGe1_CheckCarpentersFreed()) {
this->actionFunc = EnGe1_Wait_Archery;
} else {
this->actionFunc = EnGe1_WatchForPlayerFrontOnly;
}
break;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ge1/func_80A313A0.s")
case GE1_TYPE_TRAINING_GROUNDS_GUARD:
this->hairstyle = GE1_HAIR_STRAIGHT;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ge1/func_80A313E0.s")
if (EnGe1_CheckCarpentersFreed()) {
this->actionFunc = EnGe1_CheckForCard_GTGGuard;
} else {
this->actionFunc = EnGe1_WatchForPlayerFrontOnly;
}
break;
}
this->stateFlags = 0;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ge1/func_80A314D0.s")
void EnGe1_Destroy(Actor* thisx, GlobalContext* globalCtx) {
EnGe1* this = THIS;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ge1/func_80A31514.s")
Collider_DestroyCylinder(globalCtx, &this->collider);
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ge1/func_80A3157C.s")
s32 EnGe1_SetTalkAction(EnGe1* this, GlobalContext* globalCtx, u16 textId, f32 arg3, EnGe1ActionFunc actionFunc) {
if (func_8002F194(&this->actor, globalCtx)) {
this->actionFunc = actionFunc;
this->animFunc = EnGe1_StopFidget;
this->stateFlags &= ~GE1_STATE_IDLE_ANIM;
this->animation = &D_06000228;
Animation_Change(&this->skelAnime, &D_06000228, 1.0f, 0.0f, Animation_GetLastFrame(&D_06000228), ANIMMODE_ONCE,
-8.0f);
return true;
}
this->actor.textId = textId;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ge1/func_80A315F0.s")
if (this->actor.xzDistToPlayer < arg3) {
func_8002F2CC(&this->actor, globalCtx, arg3);
}
return false;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ge1/func_80A31644.s")
void EnGe1_SetAnimationIdle(EnGe1* this) {
Animation_Change(&this->skelAnime, &D_06000228, -1.0f, Animation_GetLastFrame(&D_06000228), 0.0f, ANIMMODE_ONCE,
8.0f);
this->animation = &D_06000228;
this->animFunc = EnGe1_CueUpAnimation;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ge1/func_80A316F4.s")
s32 EnGe1_CheckCarpentersFreed(void) {
u16 carpenterFlags = gSaveContext.eventChkInf[9];
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ge1/func_80A317C0.s")
if (!((carpenterFlags & 1) && (carpenterFlags & 2) && (carpenterFlags & 4) && (carpenterFlags & 8))) {
return 0;
}
return 1;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ge1/func_80A3183C.s")
/**
* Sends player to different places depending on if has hookshot, and if this is the first time captured
*/
void EnGe1_KickPlayer(EnGe1* this, GlobalContext* globalCtx) {
this->stateFlags |= GE1_STATE_TALKING;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ge1/func_80A31880.s")
if (this->cutsceneTimer > 0) {
this->cutsceneTimer--;
} else {
func_8006D074(globalCtx);
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ge1/func_80A31934.s")
if ((INV_CONTENT(ITEM_HOOKSHOT) == ITEM_NONE) || (INV_CONTENT(ITEM_LONGSHOT) == ITEM_NONE)) {
globalCtx->nextEntranceIndex = 0x1A5;
} else if (gSaveContext.eventChkInf[12] & 0x80) {
globalCtx->nextEntranceIndex = 0x5F8;
} else {
globalCtx->nextEntranceIndex = 0x3B4;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ge1/func_80A3196C.s")
globalCtx->fadeTransition = 0x26;
globalCtx->sceneLoadFlag = 0x14;
}
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ge1/func_80A31A5C.s")
void EnGe1_SpotPlayer(EnGe1* this, GlobalContext* globalCtx) {
this->cutsceneTimer = 30;
this->actionFunc = EnGe1_KickPlayer;
func_8002DF54(globalCtx, &this->actor, 0x5F);
func_80078884(NA_SE_SY_FOUND);
func_8010B680(globalCtx, 0x6000, &this->actor);
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ge1/func_80A31B20.s")
void EnGe1_WatchForPlayerFrontOnly(EnGe1* this, GlobalContext* globalCtx) {
s16 angleDiff = this->actor.yawTowardsPlayer - this->actor.shape.rot.y;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ge1/func_80A31B7C.s")
if ((ABS(angleDiff) <= 0x4300) && (this->actor.xzDistToPlayer < 100.0f)) {
EnGe1_SpotPlayer(this, globalCtx);
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ge1/func_80A31BDC.s")
if (this->collider.base.acFlags & AC_HIT) {
EnGe1_SpotPlayer(this, globalCtx);
}
CollisionCheck_SetAC(globalCtx, &globalCtx->colChkCtx, &this->collider.base);
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ge1/func_80A31BE8.s")
void EnGe1_ChooseActionFromTextId(EnGe1* this, GlobalContext* globalCtx) {
this->stateFlags |= GE1_STATE_TALKING;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ge1/func_80A31D88.s")
if (func_8002F334(&this->actor, globalCtx)) {
switch (this->actor.textId) {
case 0x6001:
this->actionFunc = EnGe1_SetNormalText;
break;
case 0x601A:
case 0x6019:
this->actionFunc = EnGe1_GetReaction_ValleyFloor;
break;
case 0x6018:
this->actionFunc = EnGe1_CheckGate_GateOp;
break;
default:
this->actionFunc = EnGe1_GetReaction_ValleyFloor;
break;
}
}
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ge1/func_80A31DE4.s")
void EnGe1_SetNormalText(EnGe1* this, GlobalContext* globalCtx) {
EnGe1_SetTalkAction(this, globalCtx, 0x6001, 100.0f, EnGe1_ChooseActionFromTextId);
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ge1/func_80A31E2C.s")
void EnGe1_WatchForAndSensePlayer(EnGe1* this, GlobalContext* globalCtx) {
s16 angleDiff = this->actor.yawTowardsPlayer - this->actor.shape.rot.y;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ge1/func_80A31F9C.s")
if ((this->actor.xzDistToPlayer < 50.0f) || ((ABS(angleDiff) <= 0x4300) && (this->actor.xzDistToPlayer < 400.0f))) {
EnGe1_SpotPlayer(this, globalCtx);
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ge1/func_80A31FE0.s")
if (this->collider.base.acFlags & AC_HIT) {
EnGe1_SpotPlayer(this, globalCtx);
}
CollisionCheck_SetAC(globalCtx, &globalCtx->colChkCtx, &this->collider.base);
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ge1/func_80A32078.s")
void EnGe1_GetReaction_ValleyFloor(EnGe1* this, GlobalContext* globalCtx) {
u16 reactionText = Text_GetFaceReaction(globalCtx, 0x22);
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ge1/func_80A32190.s")
if (reactionText == 0) {
reactionText = 0x6019;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ge1/EnGe1_Update.s")
EnGe1_SetTalkAction(this, globalCtx, reactionText, 100.0f, EnGe1_ChooseActionFromTextId);
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ge1/func_80A323B0.s")
// Gerudo Training Ground Guard functions
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ge1/func_80A323EC.s")
void EnGe1_WaitTillOpened_GTGGuard(EnGe1* this, GlobalContext* globalCtx) {
if (this->cutsceneTimer > 0) {
this->cutsceneTimer--;
} else {
EnGe1_SetAnimationIdle(this);
this->actionFunc = EnGe1_SetNormalText;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ge1/func_80A32444.s")
this->stateFlags |= GE1_STATE_STOP_FIDGET;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ge1/func_80A32598.s")
void EnGe1_Open_GTGGuard(EnGe1* this, GlobalContext* globalCtx) {
if (this->stateFlags & GE1_STATE_IDLE_ANIM) {
this->actionFunc = EnGe1_WaitTillOpened_GTGGuard;
Flags_SetSwitch(globalCtx, (this->actor.params >> 8) & 0x3F);
this->cutsceneTimer = 50;
func_80106CCC(globalCtx);
} else if ((this->skelAnime.curFrame == 15.0f) || (this->skelAnime.curFrame == 19.0f)) {
Audio_PlayActorSound2(&this->actor, NA_SE_IT_HAND_CLAP);
}
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Ge1/EnGe1_Draw.s")
void EnGe1_SetupOpen_GTGGuard(EnGe1* this, GlobalContext* globalCtx) {
if ((func_8010BDBC(&globalCtx->msgCtx) == 5) && func_80106BC8(globalCtx)) {
this->actionFunc = EnGe1_Open_GTGGuard;
Animation_Change(&this->skelAnime, &D_0600A048, 1.0f, 0.0f, Animation_GetLastFrame(&D_0600A048), ANIMMODE_ONCE,
-3.0f);
this->animation = &D_0600A048;
this->animFunc = EnGe1_StopFidget;
this->stateFlags &= ~GE1_STATE_IDLE_ANIM;
}
}
void EnGe1_RefuseEntryTooPoor_GTGGuard(EnGe1* this, GlobalContext* globalCtx) {
if (func_8010BDBC(&globalCtx->msgCtx) == 2) {
this->actionFunc = EnGe1_CheckForCard_GTGGuard;
EnGe1_SetAnimationIdle(this);
}
}
void EnGe1_OfferOpen_GTGGuard(EnGe1* this, GlobalContext* globalCtx) {
this->stateFlags |= GE1_STATE_TALKING;
if ((func_8010BDBC(&globalCtx->msgCtx) == 4) && func_80106BC8(globalCtx)) {
func_80106CCC(globalCtx);
switch (globalCtx->msgCtx.choiceIndex) {
case 0:
if (gSaveContext.rupees < 10) {
func_8010B720(globalCtx, 0x6016);
this->actionFunc = EnGe1_RefuseEntryTooPoor_GTGGuard;
} else {
Rupees_ChangeBy(-10);
func_8010B720(globalCtx, 0x6015);
this->actionFunc = EnGe1_SetupOpen_GTGGuard;
}
break;
case 1:
this->actionFunc = EnGe1_CheckForCard_GTGGuard;
EnGe1_SetAnimationIdle(this);
break;
}
}
}
void EnGe1_RefuseOpenNoCard_GTGGuard(EnGe1* this, GlobalContext* globalCtx) {
this->stateFlags |= GE1_STATE_TALKING;
if (func_8002F334(&this->actor, globalCtx)) {
this->actionFunc = EnGe1_CheckForCard_GTGGuard;
EnGe1_SetAnimationIdle(this);
}
}
void EnGe1_CheckForCard_GTGGuard(EnGe1* this, GlobalContext* globalCtx) {
if (CHECK_QUEST_ITEM(QUEST_GERUDO_CARD)) {
EnGe1_SetTalkAction(this, globalCtx, 0x6014, 100.0f, EnGe1_OfferOpen_GTGGuard);
} else {
//! @bug This outcome is inaccessible in normal gameplay since this function it is unreachable without
//! obtaining the card in the first place.
EnGe1_SetTalkAction(this, globalCtx, 0x6013, 100.0f, EnGe1_RefuseOpenNoCard_GTGGuard);
}
}
// Gate Operator functions
void EnGe1_WaitGateOpen_GateOp(EnGe1* this, GlobalContext* globalCtx) {
this->stateFlags |= GE1_STATE_TALKING;
if ((func_8010BDBC(&globalCtx->msgCtx) == 5) && func_80106BC8(globalCtx)) {
func_80106CCC(globalCtx);
this->actionFunc = EnGe1_CheckGate_GateOp;
EnGe1_SetAnimationIdle(this);
}
}
void EnGe1_WaitUntilGateOpened_GateOp(EnGe1* this, GlobalContext* globalCtx) {
if (this->cutsceneTimer > 0) {
this->cutsceneTimer--;
} else {
EnGe1_SetAnimationIdle(this);
this->actionFunc = EnGe1_CheckGate_GateOp;
}
this->stateFlags |= GE1_STATE_STOP_FIDGET;
}
void EnGe1_OpenGate_GateOp(EnGe1* this, GlobalContext* globalCtx) {
if (this->stateFlags & GE1_STATE_IDLE_ANIM) {
this->actionFunc = EnGe1_WaitUntilGateOpened_GateOp;
Flags_SetSwitch(globalCtx, (this->actor.params >> 8) & 0x3F);
this->cutsceneTimer = 50;
func_80106CCC(globalCtx);
} else if ((this->skelAnime.curFrame == 15.0f) || (this->skelAnime.curFrame == 19.0f)) {
Audio_PlayActorSound2(&this->actor, NA_SE_IT_HAND_CLAP);
}
}
void EnGe1_SetupOpenGate_GateOp(EnGe1* this, GlobalContext* globalCtx) {
this->stateFlags |= GE1_STATE_TALKING;
if ((func_8010BDBC(&globalCtx->msgCtx) == 5) && func_80106BC8(globalCtx)) {
this->actionFunc = EnGe1_OpenGate_GateOp;
Animation_Change(&this->skelAnime, &D_0600A048, 1.0f, 0.0f, Animation_GetLastFrame(&D_0600A048), ANIMMODE_ONCE,
-3.0f);
this->animation = &D_0600A048;
this->animFunc = EnGe1_StopFidget;
this->stateFlags &= ~GE1_STATE_IDLE_ANIM;
}
}
void EnGe1_CheckGate_GateOp(EnGe1* this, GlobalContext* globalCtx) {
if (Flags_GetSwitch(globalCtx, (this->actor.params >> 8) & 0x3F)) {
EnGe1_SetTalkAction(this, globalCtx, 0x6018, 100.0f, EnGe1_WaitGateOpen_GateOp);
} else {
EnGe1_SetTalkAction(this, globalCtx, 0x6017, 100.0f, EnGe1_SetupOpenGate_GateOp);
}
}
// Gate guard functions
void EnGe1_Talk_GateGuard(EnGe1* this, GlobalContext* globalCtx) {
this->stateFlags |= GE1_STATE_TALKING;
if (func_8002F334(&this->actor, globalCtx)) {
this->actionFunc = EnGe1_GetReaction_GateGuard;
EnGe1_SetAnimationIdle(this);
}
}
void EnGe1_GetReaction_GateGuard(EnGe1* this, GlobalContext* globalCtx) {
u16 reactionText;
reactionText = Text_GetFaceReaction(globalCtx, 0x22);
if (reactionText == 0) {
reactionText = 0x6069;
}
if (EnGe1_SetTalkAction(this, globalCtx, reactionText, 100.0f, EnGe1_Talk_GateGuard)) {
this->animFunc = EnGe1_CueUpAnimation;
this->animation = &D_0600A498;
Animation_Change(&this->skelAnime, &D_0600A498, 1.0f, 0.0f, Animation_GetLastFrame(&D_0600A498), ANIMMODE_ONCE,
-8.0f);
}
}
// Archery functions
void EnGe1_SetupWait_Archery(EnGe1* this, GlobalContext* globalCtx) {
if (func_8002F334(&this->actor, globalCtx)) {
this->actionFunc = EnGe1_Wait_Archery;
EnGe1_SetAnimationIdle(this);
}
}
void EnGe1_WaitTillItemGiven_Archery(EnGe1* this, GlobalContext* globalCtx) {
s32 getItemId;
if (Actor_HasParent(&this->actor, globalCtx)) {
this->actionFunc = EnGe1_SetupWait_Archery;
if (this->stateFlags & GE1_STATE_GIVE_QUIVER) {
gSaveContext.itemGetInf[0] |= 0x8000;
} else {
gSaveContext.infTable[25] |= 1;
}
} else {
if (this->stateFlags & GE1_STATE_GIVE_QUIVER) {
switch (CUR_UPG_VALUE(UPG_QUIVER)) {
//! @bug Asschest. See next function for details
case 1:
getItemId = GI_QUIVER_40;
break;
case 2:
getItemId = GI_QUIVER_50;
break;
}
} else {
getItemId = GI_HEART_PIECE;
}
func_8002F434(&this->actor, globalCtx, getItemId, 10000.0f, 50.0f);
}
}
void EnGe1_BeginGiveItem_Archery(EnGe1* this, GlobalContext* globalCtx) {
s32 getItemId;
if (func_8002F334(&this->actor, globalCtx)) {
this->actor.flags &= ~0x10000;
this->actionFunc = EnGe1_WaitTillItemGiven_Archery;
}
if (this->stateFlags & GE1_STATE_GIVE_QUIVER) {
switch (CUR_UPG_VALUE(UPG_QUIVER)) {
//! @bug Asschest: the compiler inserts a default assigning *(sp+0x24) to getItemId, which is junk data left
//! over from the previous function run in EnGe1_Update, namely EnGe1_CueUpAnimation. The top stack variable
//! in that function is &this->skelAnime = thisx + 198, and depending on where this loads in memory, the
//! getItemId changes.
case 1:
getItemId = GI_QUIVER_40;
break;
case 2:
getItemId = GI_QUIVER_50;
break;
}
} else {
getItemId = GI_HEART_PIECE;
}
func_8002F434(&this->actor, globalCtx, getItemId, 10000.0f, 50.0f);
}
void EnGe1_TalkWinPrize_Archery(EnGe1* this, GlobalContext* globalCtx) {
if (func_8002F194(&this->actor, globalCtx)) {
this->actionFunc = EnGe1_BeginGiveItem_Archery;
this->actor.flags &= ~0x10000;
} else {
func_8002F2CC(&this->actor, globalCtx, 200.0f);
}
}
void EnGe1_TalkTooPoor_Archery(EnGe1* this, GlobalContext* globalCtx) {
if ((func_8010BDBC(&globalCtx->msgCtx) == 5) && func_80106BC8(globalCtx)) {
func_80106CCC(globalCtx);
this->actionFunc = EnGe1_Wait_Archery;
EnGe1_SetAnimationIdle(this);
}
}
void EnGe1_WaitDoNothing(EnGe1* this, GlobalContext* globalCtx) {
}
void EnGe1_BeginGame_Archery(EnGe1* this, GlobalContext* globalCtx) {
Player* player = PLAYER;
Actor* horse;
if ((func_8010BDBC(&globalCtx->msgCtx) == 4) && func_80106BC8(globalCtx)) {
this->actor.flags &= ~0x10000;
switch (globalCtx->msgCtx.choiceIndex) {
case 0:
if (gSaveContext.rupees < 20) {
func_8010B720(globalCtx, 0x85);
this->actionFunc = EnGe1_TalkTooPoor_Archery;
} else {
Rupees_ChangeBy(-20);
globalCtx->nextEntranceIndex = 0x129;
gSaveContext.nextCutsceneIndex = 0xFFF0;
globalCtx->fadeTransition = 0x26;
globalCtx->sceneLoadFlag = 0x14;
gSaveContext.eventInf[0] |= 0x100;
gSaveContext.eventChkInf[6] |= 0x100;
if (!(player->stateFlags1 & 0x800000)) {
func_8002DF54(globalCtx, &this->actor, 1);
} else {
horse = Actor_FindNearby(globalCtx, &player->actor, ACTOR_EN_HORSE, ACTORCAT_BG, 1200.0f);
player->actor.freezeTimer = 1200;
if (horse != NULL) {
horse->freezeTimer = 1200;
}
}
this->actionFunc = EnGe1_WaitDoNothing;
}
break;
case 1:
this->actionFunc = EnGe1_Wait_Archery;
func_80106CCC(globalCtx);
break;
}
}
}
void EnGe1_TalkOfferPlay_Archery(EnGe1* this, GlobalContext* globalCtx) {
if ((func_8010BDBC(&globalCtx->msgCtx) == 5) && func_80106BC8(globalCtx)) {
func_8010B720(globalCtx, 0x6041);
this->actionFunc = EnGe1_BeginGame_Archery;
}
}
void EnGe1_TalkNoPrize_Archery(EnGe1* this, GlobalContext* globalCtx) {
if (func_8002F194(&this->actor, globalCtx)) {
this->actionFunc = EnGe1_TalkOfferPlay_Archery;
} else {
func_8002F2CC(&this->actor, globalCtx, 300.0f);
}
}
void EnGe1_TalkAfterGame_Archery(EnGe1* this, GlobalContext* globalCtx) {
gSaveContext.eventInf[0] &= ~0x100;
LOG_NUM("z_common_data.yabusame_total", gSaveContext.minigameScore, "../z_en_ge1.c", 1110);
LOG_NUM("z_common_data.memory.information.room_inf[127][ 0 ]", gSaveContext.highScores[0], "../z_en_ge1.c", 1111);
this->actor.flags |= 0x10000;
if (gSaveContext.highScores[0] < gSaveContext.minigameScore) {
gSaveContext.highScores[0] = gSaveContext.minigameScore;
}
if (gSaveContext.minigameScore < 1000) {
this->actor.textId = 0x6045;
this->actionFunc = EnGe1_TalkNoPrize_Archery;
} else if (!(gSaveContext.infTable[25] & 1)) {
this->actor.textId = 0x6046;
this->actionFunc = EnGe1_TalkWinPrize_Archery;
this->stateFlags &= ~GE1_STATE_GIVE_QUIVER;
} else if (gSaveContext.minigameScore < 1500) {
this->actor.textId = 0x6047;
this->actionFunc = EnGe1_TalkNoPrize_Archery;
} else if (gSaveContext.itemGetInf[0] & 0x8000) {
this->actor.textId = 0x6047;
this->actionFunc = EnGe1_TalkNoPrize_Archery;
} else {
this->actor.textId = 0x6044;
this->actionFunc = EnGe1_TalkWinPrize_Archery;
this->stateFlags |= GE1_STATE_GIVE_QUIVER;
}
}
void EnGe1_TalkNoHorse_Archery(EnGe1* this, GlobalContext* globalCtx) {
this->stateFlags |= GE1_STATE_TALKING;
if (func_8002F334(&this->actor, globalCtx)) {
this->actionFunc = EnGe1_Wait_Archery;
EnGe1_SetAnimationIdle(this);
}
}
void EnGe1_Wait_Archery(EnGe1* this, GlobalContext* globalCtx) {
Player* player = PLAYER;
u16 textId;
if (!(player->stateFlags1 & 0x800000)) {
EnGe1_SetTalkAction(this, globalCtx, 0x603F, 100.0f, EnGe1_TalkNoHorse_Archery);
} else {
if (gSaveContext.eventChkInf[6] & 0x100) {
if (gSaveContext.infTable[25] & 1) {
textId = 0x6042;
} else {
textId = 0x6043;
}
} else {
textId = 0x6040;
}
EnGe1_SetTalkAction(this, globalCtx, textId, 200.0f, EnGe1_TalkOfferPlay_Archery);
}
}
// General functions
void EnGe1_TurnToFacePlayer(EnGe1* this, GlobalContext* globalCtx) {
s32 pad;
s16 angleDiff = this->actor.yawTowardsPlayer - this->actor.shape.rot.y;
if (ABS(angleDiff) <= 0x4000) {
Math_SmoothStepToS(&this->actor.shape.rot.y, this->actor.yawTowardsPlayer, 6, 4000, 100);
this->actor.world.rot.y = this->actor.shape.rot.y;
func_80038290(globalCtx, &this->actor, &this->headRot, &this->unk_2A2, this->actor.focus.pos);
} else {
if (angleDiff < 0) {
Math_SmoothStepToS(&this->headRot.y, -0x2000, 6, 6200, 0x100);
} else {
Math_SmoothStepToS(&this->headRot.y, 0x2000, 6, 6200, 0x100);
}
Math_SmoothStepToS(&this->actor.shape.rot.y, this->actor.yawTowardsPlayer, 12, 1000, 100);
this->actor.world.rot.y = this->actor.shape.rot.y;
}
}
void EnGe1_LookAtPlayer(EnGe1* this, GlobalContext* globalCtx) {
s16 angleDiff = this->actor.yawTowardsPlayer - this->actor.shape.rot.y;
if ((ABS(angleDiff) <= 0x4300) && (this->actor.xzDistToPlayer < 100.0f)) {
func_80038290(globalCtx, &this->actor, &this->headRot, &this->unk_2A2, this->actor.focus.pos);
} else {
Math_SmoothStepToS(&this->headRot.x, 0, 6, 6200, 100);
Math_SmoothStepToS(&this->headRot.y, 0, 6, 6200, 100);
}
}
void EnGe1_Update(Actor* thisx, GlobalContext* globalCtx) {
s32 pad;
EnGe1* this = THIS;
Collider_UpdateCylinder(&this->actor, &this->collider);
CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->collider.base);
Actor_MoveForward(&this->actor);
Actor_UpdateBgCheckInfo(globalCtx, &this->actor, 40.0f, 25.0f, 40.0f, 5);
this->animFunc(this);
this->actionFunc(this, globalCtx);
if (this->stateFlags & GE1_STATE_TALKING) {
EnGe1_TurnToFacePlayer(this, globalCtx);
this->stateFlags &= ~GE1_STATE_TALKING;
} else {
EnGe1_LookAtPlayer(this, globalCtx);
}
this->unk_2A2.x = this->unk_2A2.y = this->unk_2A2.z = 0;
if (DECR(this->blinkTimer) == 0) {
this->blinkTimer = Rand_S16Offset(60, 60);
}
this->eyeIndex = this->blinkTimer;
if (this->eyeIndex >= 3) {
this->eyeIndex = 0;
}
}
// Animation functions
void EnGe1_CueUpAnimation(EnGe1* this) {
if (SkelAnime_Update(&this->skelAnime)) {
Animation_PlayOnce(&this->skelAnime, this->animation);
}
}
void EnGe1_StopFidget(EnGe1* this) {
if (!(this->stateFlags & GE1_STATE_IDLE_ANIM)) {
if (SkelAnime_Update(&this->skelAnime)) {
this->stateFlags |= GE1_STATE_IDLE_ANIM;
}
this->stateFlags |= GE1_STATE_STOP_FIDGET;
}
}
s32 EnGe1_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* thisx) {
s32 pad;
EnGe1* this = THIS;
if (limbIndex == GE1_LIMB_HEAD) {
rot->x += this->headRot.y;
rot->z += this->headRot.x;
}
if (this->stateFlags & GE1_STATE_STOP_FIDGET) {
this->stateFlags &= ~GE1_STATE_STOP_FIDGET;
return 0;
}
// The purpose of the state flag GE1_STATE_STOP_FIDGET is to skip this code, which this actor has in lieu of an idle
// animation.
if ((limbIndex == GE1_LIMB_TORSO) || (limbIndex == GE1_LIMB_L_FOREARM) || (limbIndex == GE1_LIMB_R_FOREARM)) {
rot->y += Math_SinS(globalCtx->state.frames * (limbIndex * 50 + 0x814)) * 200.0f;
rot->z += Math_CosS(globalCtx->state.frames * (limbIndex * 50 + 0x940)) * 200.0f;
}
return 0;
}
void EnGe1_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx) {
EnGe1* this = THIS;
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_ge1.c", 1419);
if (limbIndex == GE1_LIMB_HEAD) {
gSPDisplayList(POLY_OPA_DISP++, sHairstyleDLists[this->hairstyle]);
Matrix_MultVec3f(&D_80A327A8, &this->actor.focus.pos);
}
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_ge1.c", 1427);
}
void EnGe1_Draw(Actor* thisx, GlobalContext* globalCtx) {
s32 pad;
EnGe1* this = THIS;
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_ge1.c", 1442);
func_800943C8(globalCtx->state.gfxCtx);
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sEyeTextures[this->eyeIndex]));
SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
EnGe1_OverrideLimbDraw, EnGe1_PostLimbDraw, this);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_ge1.c", 1459);
}

View file

@ -6,9 +6,54 @@
struct EnGe1;
typedef void (*EnGe1AnimFunc)(struct EnGe1*);
typedef void (*EnGe1ActionFunc)(struct EnGe1*, GlobalContext*);
typedef enum {
/* 0x00 */ GE1_TYPE_GATE_GUARD,
/* 0x01 */ GE1_TYPE_GATE_OPERATOR,
/* 0x04 */ GE1_TYPE_NORMAL = 4,
/* 0x05 */ GE1_TYPE_VALLEY_FLOOR,
/* 0x45 */ GE1_TYPE_HORSEBACK_ARCHERY = 0x45,
/* 0x46 */ GE1_TYPE_TRAINING_GROUNDS_GUARD
} EnGe1Type;
typedef enum {
/* 00 */ GE1_LIMB_NONE,
/* 01 */ GE1_LIMB_WAIST,
/* 02 */ GE1_LIMB_L_THIGH,
/* 03 */ GE1_LIMB_L_LOWER_LEG,
/* 04 */ GE1_LIMB_L_FOOT,
/* 05 */ GE1_LIMB_R_THIGH,
/* 06 */ GE1_LIMB_R_LOWER_LEG,
/* 07 */ GE1_LIMB_R_FOOT,
/* 08 */ GE1_LIMB_TORSO,
/* 09 */ GE1_LIMB_L_UPPER_ARM,
/* 10 */ GE1_LIMB_L_FOREARM,
/* 11 */ GE1_LIMB_L_HAND,
/* 12 */ GE1_LIMB_R_UPPER_ARM,
/* 13 */ GE1_LIMB_R_FOREARM,
/* 14 */ GE1_LIMB_R_HAND,
/* 15 */ GE1_LIMB_HEAD,
/* 16 */ GE1_LIMB_MAX
} EnGe1Limb;
typedef struct EnGe1 {
/* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x170];
/* 0x014C */ ColliderCylinder collider;
/* 0x0198 */ SkelAnime skelAnime;
/* 0x01DC */ Vec3s jointTable[GE1_LIMB_MAX];
/* 0x023C */ Vec3s morphTable[GE1_LIMB_MAX];
/* 0x029C */ Vec3s headRot;
/* 0x02A2 */ Vec3s unk_2A2;
/* 0x02A8 */ s16 eyeIndex;
/* 0x02AA */ s16 blinkTimer;
/* 0x02AC */ u16 stateFlags;
/* 0x02AE */ u8 hairstyle;
/* 0x02AF */ u8 cutsceneTimer;
/* 0x02B0 */ AnimationHeader* animation;
/* 0x02B4 */ EnGe1ActionFunc actionFunc;
/* 0x02B8 */ EnGe1AnimFunc animFunc;
} EnGe1; // size = 0x02BC
extern const ActorInit En_Ge1_InitVars;