Couple matches in code_80091750 (#430)

Required fixing a problem relating to rodata. There was a missing
 balign directive causing some issues when trying to match
 func_800A9A98

Signed-off-by: Taggerung <tyler.taggerung@email.com>
This commit is contained in:
Tyler McGavran
2023-09-20 13:44:36 -04:00
committed by GitHub
parent 9f2330e259
commit 7d2fe91598
5 changed files with 447 additions and 1273 deletions
@@ -1,707 +0,0 @@
.section .late_rodata
glabel jpt_800F1F38
.word L800A8164, L800A8164, L800A8164, L800A8164
.word L800A8164, L800A8164, L800A8164, L800A8164
.word L800A8164, L800A8164, L800A8164, L800A8164
.word L800A8164, L800A8164, L800A8164, L800A8164
.word L800A8164, L800A8164, L800A8164, L800A8164
.word L800A8164, L800A8164, L800A8164, L800A8164
.word L800A8164, L800A8164, L800A8164, L800A8164
.word L800A8164, L800A8164, L800A8164, L800A8164
.word L800A8164, L800A8164, L800A8164, L800A8164
.word L800A8164, L800A8164, L800A8164, L800A8164
.word L800A8164, L800A8164, L800A8164, L800A8164
.word L800A8164, L800A8164, L800A8164, L800A8164
.word L800A8164, L800A8164, L800A8164, L800A8164
.word L800A8164, L800A8164, L800A8164, L800A8164
.word L800A8164, L800A8164, L800A8164, L800A8164
.word L800A8164, L800A8164, L800A8164
glabel jpt_800F2034
.word L800A8134, L800A8144, L800A8144, L800A8144
.word L800A8144, L800A8154
glabel jpt_800F204C
.word L800A7F20, L800A7F20, L800A7F20, L800A7F20
.word L800A816C, L800A7F74, L800A7F74, L800A7F74
.word L800A7F74, L800A816C, L800A7F10, L800A8014
.word L800A7F94, L800A7F94, L800A7F94, L800A7F94
.word L800A816C, L800A7F84, L800A7FA4, L800A7FA4
.word L800A7FB4, L800A816C, L800A816C, L800A816C
.word L800A816C, L800A816C, L800A816C, L800A816C
.word L800A816C, L800A816C, L800A816C, L800A816C
.word L800A816C, L800A816C, L800A816C, L800A816C
.word L800A816C, L800A7FC4, L800A7FC4, L800A7FC4
.word L800A7FC4, L800A7FE4, L800A7FE4, L800A7FE4
.word L800A7FE4, L800A7FE4, L800A7FE4, L800A7FE4
.word L800A7FE4, L800A7FE4, L800A7FE4, L800A7FE4
.word L800A7FE4, L800A7FE4, L800A7FE4, L800A7FE4
.word L800A7FE4, L800A7FC4, L800A7FD4, L800A816C
.word L800A816C, L800A816C, L800A816C, L800A816C
.word L800A816C, L800A816C, L800A816C, L800A7FF4
.word L800A8004, L800A816C, L800A816C, L800A816C
.word L800A816C, L800A816C, L800A816C, L800A816C
.word L800A816C, L800A816C, L800A816C, L800A816C
.word L800A816C, L800A816C, L800A816C, L800A816C
.word L800A816C, L800A816C, L800A816C, L800A8024
.word L800A8034, L800A8044, L800A816C, L800A816C
.word L800A8054, L800A8064, L800A8074, L800A8074
.word L800A8074, L800A8074, L800A816C, L800A816C
.word L800A816C, L800A816C, L800A8084, L800A8094
.word L800A816C, L800A80A4, L800A80C4, L800A8114
.word L800A816C, L800A816C, L800A816C, L800A816C
.word L800A816C, L800A816C, L800A816C, L800A816C
.word L800A80B4, L800A816C, L800A816C, L800A816C
.word L800A816C, L800A816C, L800A816C, L800A816C
.word L800A816C, L800A816C, L800A816C, L800A816C
.word L800A816C, L800A7D20, L800A816C, L800A7D10
.word L800A816C, L800A816C, L800A816C, L800A7D00
.word L800A816C, L800A816C, L800A816C, L800A816C
.word L800A816C, L800A816C, L800A816C, L800A816C
.word L800A816C, L800A816C, L800A816C, L800A80D4
.word L800A816C, L800A80E4, L800A80F4, L800A8104
.word L800A816C, L800A816C, L800A816C, L800A816C
.word L800A816C, L800A816C, L800A816C, L800A816C
.word L800A816C, L800A816C, L800A816C, L800A816C
.word L800A816C, L800A816C, L800A816C, L800A7B78
.word L800A816C, L800A816C, L800A816C, L800A816C
.word L800A816C, L800A816C, L800A816C, L800A816C
.word L800A816C, L800A816C, L800A816C, L800A816C
.word L800A816C, L800A816C, L800A816C, L800A816C
.word L800A816C, L800A816C, L800A816C, L800A8124
glabel jpt_800F233C
.word L800A816C, L800A816C, L800A816C, L800A816C
.word L800A816C, L800A7D30, L800A816C, L800A816C
.word L800A816C, L800A816C, L800A7D8C, L800A7E00
.word L800A7E00, L800A7E00, L800A7E00, L800A7DE8
.word L800A7D9C, L800A7D9C, L800A7E54, L800A7E54
.word L800A7E54, L800A7E54, L800A7E54, L800A7E54
.word L800A7E54, L800A7E54, L800A816C, L800A7E64
.word L800A816C, L800A816C, L800A816C, L800A816C
.word L800A816C, L800A816C, L800A816C, L800A816C
.word L800A816C, L800A816C, L800A816C, L800A816C
.word L800A816C, L800A816C, L800A816C, L800A7E84
.word L800A7E84, L800A7E84, L800A7E84, L800A7E84
.word L800A7E84, L800A7E84, L800A7E84, L800A7F10
.word L800A7E74, L800A7E74, L800A7E74, L800A7E74
.word 0x00000000
glabel D_800F2420
.double 0.1
glabel D_800F2428
.double 0.1
glabel D_800F2430
.double 0.1
glabel D_800F2438
.double 0.3
glabel jpt_800F2440
.word L800A7DC8, L800A7DC8, L800A7DC8, L800A7DD8
.word L800A7DD8, L800A7DD8, L800A7DD8, L800A7DD8
glabel jpt_800F2460
.word L800A7E2C, L800A7E2C, L800A7E2C, L800A7E3C
.word L800A7E3C, L800A7E3C, L800A7E3C, L800A7E3C
glabel jpt_800F2480
.word L800A7EB4, L800A7EB4, L800A7EB4, L800A7EB4
.word L800A7EB4, L800A7EB4, L800A7EB4, L800A7EB4
.section .text
glabel func_800A7A4C
/* 0A864C 800A7A4C 27BDFFC8 */ addiu $sp, $sp, -0x38
/* 0A8650 800A7A50 AFB1001C */ sw $s1, 0x1c($sp)
/* 0A8654 800A7A54 AFB00018 */ sw $s0, 0x18($sp)
/* 0A8658 800A7A58 AFB60030 */ sw $s6, 0x30($sp)
/* 0A865C 800A7A5C AFB5002C */ sw $s5, 0x2c($sp)
/* 0A8660 800A7A60 AFB40028 */ sw $s4, 0x28($sp)
/* 0A8664 800A7A64 AFB30024 */ sw $s3, 0x24($sp)
/* 0A8668 800A7A68 AFB20020 */ sw $s2, 0x20($sp)
/* 0A866C 800A7A6C 3C10800F */ lui $s0, %hi(D_800E8534) # $s0, 0x800f
/* 0A8670 800A7A70 3C118019 */ lui $s1, %hi(D_8018D9E0) # $s1, 0x8019
/* 0A8674 800A7A74 00809825 */ move $s3, $a0
/* 0A8678 800A7A78 AFBF0034 */ sw $ra, 0x34($sp)
/* 0A867C 800A7A7C 2631D9E0 */ addiu $s1, %lo(D_8018D9E0) # addiu $s1, $s1, -0x2620
/* 0A8680 800A7A80 26108534 */ addiu $s0, %lo(D_800E8534) # addiu $s0, $s0, -0x7acc
/* 0A8684 800A7A84 24120001 */ li $s2, 1
/* 0A8688 800A7A88 24140004 */ li $s4, 4
/* 0A868C 800A7A8C 24150005 */ li $s5, 5
/* 0A8690 800A7A90 241600C7 */ li $s6, 199
/* 0A8694 800A7A94 8E220000 */ lw $v0, ($s1)
.L800A7A98:
/* 0A8698 800A7A98 00001825 */ move $v1, $zero
/* 0A869C 800A7A9C 10540005 */ beq $v0, $s4, .L800A7AB4
/* 0A86A0 800A7AA0 2841010F */ slti $at, $v0, 0x10f
/* 0A86A4 800A7AA4 10550003 */ beq $v0, $s5, .L800A7AB4
/* 0A86A8 800A7AA8 00000000 */ nop
/* 0A86AC 800A7AAC 14560005 */ bne $v0, $s6, .L800A7AC4
/* 0A86B0 800A7AB0 00000000 */ nop
.L800A7AB4:
/* 0A86B4 800A7AB4 12600006 */ beqz $s3, .L800A7AD0
/* 0A86B8 800A7AB8 00000000 */ nop
/* 0A86BC 800A7ABC 10000004 */ b .L800A7AD0
/* 0A86C0 800A7AC0 02401825 */ move $v1, $s2
.L800A7AC4:
/* 0A86C4 800A7AC4 16600002 */ bnez $s3, .L800A7AD0
/* 0A86C8 800A7AC8 00000000 */ nop
/* 0A86CC 800A7ACC 02401825 */ move $v1, $s2
.L800A7AD0:
/* 0A86D0 800A7AD0 106001A6 */ beqz $v1, .L800A816C
/* 0A86D4 800A7AD4 00000000 */ nop
/* 0A86D8 800A7AD8 14200014 */ bnez $at, .L800A7B2C
/* 0A86DC 800A7ADC 28410131 */ slti $at, $v0, 0x131
/* 0A86E0 800A7AE0 1420000A */ bnez $at, .L800A7B0C
/* 0A86E4 800A7AE4 244FFED5 */ addiu $t7, $v0, -0x12b
/* 0A86E8 800A7AE8 244EFE70 */ addiu $t6, $v0, -0x190
/* 0A86EC 800A7AEC 2DC1003F */ sltiu $at, $t6, 0x3f
/* 0A86F0 800A7AF0 1020019E */ beqz $at, .L800A816C
/* 0A86F4 800A7AF4 000E7080 */ sll $t6, $t6, 2
/* 0A86F8 800A7AF8 3C01800F */ lui $at, %hi(jpt_800F1F38)
/* 0A86FC 800A7AFC 002E0821 */ addu $at, $at, $t6
/* 0A8700 800A7B00 8C2E1F38 */ lw $t6, %lo(jpt_800F1F38)($at)
/* 0A8704 800A7B04 01C00008 */ jr $t6
/* 0A8708 800A7B08 00000000 */ nop
.L800A7B0C:
/* 0A870C 800A7B0C 2DE10006 */ sltiu $at, $t7, 6
/* 0A8710 800A7B10 10200196 */ beqz $at, .L800A816C
/* 0A8714 800A7B14 000F7880 */ sll $t7, $t7, 2
/* 0A8718 800A7B18 3C01800F */ lui $at, %hi(jpt_800F2034)
/* 0A871C 800A7B1C 002F0821 */ addu $at, $at, $t7
/* 0A8720 800A7B20 8C2F2034 */ lw $t7, %lo(jpt_800F2034)($at)
/* 0A8724 800A7B24 01E00008 */ jr $t7
/* 0A8728 800A7B28 00000000 */ nop
.L800A7B2C:
/* 0A872C 800A7B2C 28410038 */ slti $at, $v0, 0x38
/* 0A8730 800A7B30 14200009 */ bnez $at, .L800A7B58
/* 0A8734 800A7B34 2458FFAD */ addiu $t8, $v0, -0x53
/* 0A8738 800A7B38 2F0100BC */ sltiu $at, $t8, 0xbc
/* 0A873C 800A7B3C 1020018B */ beqz $at, .L800A816C
/* 0A8740 800A7B40 0018C080 */ sll $t8, $t8, 2
/* 0A8744 800A7B44 3C01800F */ lui $at, %hi(jpt_800F204C)
/* 0A8748 800A7B48 00380821 */ addu $at, $at, $t8
/* 0A874C 800A7B4C 8C38204C */ lw $t8, %lo(jpt_800F204C)($at)
/* 0A8750 800A7B50 03000008 */ jr $t8
/* 0A8754 800A7B54 00000000 */ nop
.L800A7B58:
/* 0A8758 800A7B58 2C410038 */ sltiu $at, $v0, 0x38
/* 0A875C 800A7B5C 10200183 */ beqz $at, .L800A816C
/* 0A8760 800A7B60 0002C880 */ sll $t9, $v0, 2
/* 0A8764 800A7B64 3C01800F */ lui $at, %hi(jpt_800F233C)
/* 0A8768 800A7B68 00390821 */ addu $at, $at, $t9
/* 0A876C 800A7B6C 8C39233C */ lw $t9, %lo(jpt_800F233C)($at)
/* 0A8770 800A7B70 03200008 */ jr $t9
/* 0A8774 800A7B74 00000000 */ nop
glabel L800A7B78
/* 0A8778 800A7B78 3C028019 */ lui $v0, %hi(s8018ED94) # $v0, 0x8019
/* 0A877C 800A7B7C 8C42ED94 */ lw $v0, %lo(s8018ED94)($v0)
/* 0A8780 800A7B80 28410050 */ slti $at, $v0, 0x50
/* 0A8784 800A7B84 10200004 */ beqz $at, .L800A7B98
/* 0A8788 800A7B88 3C014040 */ li $at, 0x40400000 # 3.000000
/* 0A878C 800A7B8C 44812000 */ mtc1 $at, $f4
/* 0A8790 800A7B90 10000030 */ b .L800A7C54
/* 0A8794 800A7B94 E6040000 */ swc1 $f4, ($s0)
.L800A7B98:
/* 0A8798 800A7B98 2841005A */ slti $at, $v0, 0x5a
/* 0A879C 800A7B9C 10200018 */ beqz $at, .L800A7C00
/* 0A87A0 800A7BA0 3C01800F */ lui $at, %hi(D_800E8530) # $at, 0x800f
/* 0A87A4 800A7BA4 C4268530 */ lwc1 $f6, %lo(D_800E8530)($at)
/* 0A87A8 800A7BA8 3C013FF0 */ li $at, 0x3FF00000 # 1.875000
/* 0A87AC 800A7BAC 44814800 */ mtc1 $at, $f9
/* 0A87B0 800A7BB0 44804000 */ mtc1 $zero, $f8
/* 0A87B4 800A7BB4 46003021 */ cvt.d.s $f0, $f6
/* 0A87B8 800A7BB8 3C01800F */ lui $at, %hi(D_800F2420)
/* 0A87BC 800A7BBC 4628003C */ c.lt.d $f0, $f8
/* 0A87C0 800A7BC0 00000000 */ nop
/* 0A87C4 800A7BC4 45020007 */ bc1fl .L800A7BE4
/* 0A87C8 800A7BC8 C6040000 */ lwc1 $f4, ($s0)
/* 0A87CC 800A7BCC D42A2420 */ ldc1 $f10, %lo(D_800F2420)($at)
/* 0A87D0 800A7BD0 3C01800F */ lui $at, %hi(D_800E8530) # $at, 0x800f
/* 0A87D4 800A7BD4 462A0400 */ add.d $f16, $f0, $f10
/* 0A87D8 800A7BD8 462084A0 */ cvt.s.d $f18, $f16
/* 0A87DC 800A7BDC E4328530 */ swc1 $f18, %lo(D_800E8530)($at)
/* 0A87E0 800A7BE0 C6040000 */ lwc1 $f4, ($s0)
.L800A7BE4:
/* 0A87E4 800A7BE4 3C01800F */ lui $at, %hi(D_800F2428)
/* 0A87E8 800A7BE8 D4282428 */ ldc1 $f8, %lo(D_800F2428)($at)
/* 0A87EC 800A7BEC 460021A1 */ cvt.d.s $f6, $f4
/* 0A87F0 800A7BF0 46283280 */ add.d $f10, $f6, $f8
/* 0A87F4 800A7BF4 46205420 */ cvt.s.d $f16, $f10
/* 0A87F8 800A7BF8 10000016 */ b .L800A7C54
/* 0A87FC 800A7BFC E6100000 */ swc1 $f16, ($s0)
.L800A7C00:
/* 0A8800 800A7C00 284100A0 */ slti $at, $v0, 0xa0
/* 0A8804 800A7C04 5020000A */ beql $at, $zero, .L800A7C30
/* 0A8808 800A7C08 28410190 */ slti $at, $v0, 0x190
/* 0A880C 800A7C0C C6120000 */ lwc1 $f18, ($s0)
/* 0A8810 800A7C10 3C01800F */ lui $at, %hi(D_800F2430)
/* 0A8814 800A7C14 D4262430 */ ldc1 $f6, %lo(D_800F2430)($at)
/* 0A8818 800A7C18 46009121 */ cvt.d.s $f4, $f18
/* 0A881C 800A7C1C 46262200 */ add.d $f8, $f4, $f6
/* 0A8820 800A7C20 462042A0 */ cvt.s.d $f10, $f8
/* 0A8824 800A7C24 1000000B */ b .L800A7C54
/* 0A8828 800A7C28 E60A0000 */ swc1 $f10, ($s0)
/* 0A882C 800A7C2C 28410190 */ slti $at, $v0, 0x190
.L800A7C30:
/* 0A8830 800A7C30 10200008 */ beqz $at, .L800A7C54
/* 0A8834 800A7C34 00000000 */ nop
/* 0A8838 800A7C38 C6100000 */ lwc1 $f16, ($s0)
/* 0A883C 800A7C3C 3C01800F */ lui $at, %hi(D_800F2438)
/* 0A8840 800A7C40 D4242438 */ ldc1 $f4, %lo(D_800F2438)($at)
/* 0A8844 800A7C44 460084A1 */ cvt.d.s $f18, $f16
/* 0A8848 800A7C48 46249180 */ add.d $f6, $f18, $f4
/* 0A884C 800A7C4C 46203220 */ cvt.s.d $f8, $f6
/* 0A8850 800A7C50 E6080000 */ swc1 $f8, ($s0)
.L800A7C54:
/* 0A8854 800A7C54 3C018019 */ lui $at, %hi(D_8018EDCC) # $at, 0x8019
/* 0A8858 800A7C58 C42AEDCC */ lwc1 $f10, %lo(D_8018EDCC)($at)
/* 0A885C 800A7C5C C6100000 */ lwc1 $f16, ($s0)
/* 0A8860 800A7C60 24480001 */ addiu $t0, $v0, 1
/* 0A8864 800A7C64 46105481 */ sub.s $f18, $f10, $f16
/* 0A8868 800A7C68 E432EDCC */ swc1 $f18, %lo(D_8018EDCC)($at)
/* 0A886C 800A7C6C 3C018019 */ lui $at, %hi(s8018ED94) # $at, 0x8019
/* 0A8870 800A7C70 AC28ED94 */ sw $t0, %lo(s8018ED94)($at)
/* 0A8874 800A7C74 3C01C3B4 */ li $at, 0xC3B40000 # -360.000000
/* 0A8878 800A7C78 44812000 */ mtc1 $at, $f4
/* 0A887C 800A7C7C 3C0143B4 */ li $at, 0x43B40000 # 360.000000
/* 0A8880 800A7C80 4604903C */ c.lt.s $f18, $f4
/* 0A8884 800A7C84 00000000 */ nop
/* 0A8888 800A7C88 45020006 */ bc1fl .L800A7CA4
/* 0A888C 800A7C8C 8E29001C */ lw $t1, 0x1c($s1)
/* 0A8890 800A7C90 44813000 */ mtc1 $at, $f6
/* 0A8894 800A7C94 3C018019 */ lui $at, %hi(D_8018EDCC) # $at, 0x8019
/* 0A8898 800A7C98 46069200 */ add.s $f8, $f18, $f6
/* 0A889C 800A7C9C E428EDCC */ swc1 $f8, %lo(D_8018EDCC)($at)
/* 0A88A0 800A7CA0 8E29001C */ lw $t1, 0x1c($s1)
.L800A7CA4:
/* 0A88A4 800A7CA4 240100B4 */ li $at, 180
/* 0A88A8 800A7CA8 252A0001 */ addiu $t2, $t1, 1
/* 0A88AC 800A7CAC 15410007 */ bne $t2, $at, .L800A7CCC
/* 0A88B0 800A7CB0 AE2A001C */ sw $t2, 0x1c($s1)
/* 0A88B4 800A7CB4 0C027800 */ jal func_8009E000
/* 0A88B8 800A7CB8 24040028 */ li $a0, 40
/* 0A88BC 800A7CBC 0C0328E2 */ jal func_800CA388
/* 0A88C0 800A7CC0 24040064 */ li $a0, 100
/* 0A88C4 800A7CC4 3C018019 */ lui $at, %hi(D_8018EDE0) # $at, 0x8019
/* 0A88C8 800A7CC8 AC20EDE0 */ sw $zero, %lo(D_8018EDE0)($at)
.L800A7CCC:
/* 0A88CC 800A7CCC 8E2C0020 */ lw $t4, 0x20($s1)
/* 0A88D0 800A7CD0 11800126 */ beqz $t4, .L800A816C
/* 0A88D4 800A7CD4 00000000 */ nop
/* 0A88D8 800A7CD8 8E2D001C */ lw $t5, 0x1c($s1)
/* 0A88DC 800A7CDC 3C044901 */ lui $a0, (0x49018008 >> 16) # lui $a0, 0x4901
/* 0A88E0 800A7CE0 34848008 */ ori $a0, (0x49018008 & 0xFFFF) # ori $a0, $a0, 0x8008
/* 0A88E4 800A7CE4 29A10003 */ slti $at, $t5, 3
/* 0A88E8 800A7CE8 14200120 */ bnez $at, .L800A816C
/* 0A88EC 800A7CEC 00000000 */ nop
/* 0A88F0 800A7CF0 0C032384 */ jal play_sound2
/* 0A88F4 800A7CF4 AE200020 */ sw $zero, 0x20($s1)
/* 0A88F8 800A7CF8 1000011C */ b .L800A816C
/* 0A88FC 800A7CFC 00000000 */ nop
glabel L800A7D00
/* 0A8900 800A7D00 0C02A553 */ jal func_800A954C
/* 0A8904 800A7D04 02202025 */ move $a0, $s1
/* 0A8908 800A7D08 10000118 */ b .L800A816C
/* 0A890C 800A7D0C 00000000 */ nop
glabel L800A7D10
/* 0A8910 800A7D10 0C02A5C4 */ jal func_800A9710
/* 0A8914 800A7D14 02202025 */ move $a0, $s1
/* 0A8918 800A7D18 10000114 */ b .L800A816C
/* 0A891C 800A7D1C 00000000 */ nop
glabel L800A7D20
/* 0A8920 800A7D20 0C02A5EF */ jal func_800A97BC
/* 0A8924 800A7D24 02202025 */ move $a0, $s1
/* 0A8928 800A7D28 10000110 */ b .L800A816C
/* 0A892C 800A7D2C 00000000 */ nop
glabel L800A7D30
/* 0A8930 800A7D30 8E220004 */ lw $v0, 4($s1)
/* 0A8934 800A7D34 3C0E800E */ lui $t6, %hi(gControllerFive) # $t6, 0x800e
/* 0A8938 800A7D38 10400005 */ beqz $v0, .L800A7D50
/* 0A893C 800A7D3C 00000000 */ nop
/* 0A8940 800A7D40 10520010 */ beq $v0, $s2, .L800A7D84
/* 0A8944 800A7D44 00000000 */ nop
/* 0A8948 800A7D48 1000000E */ b .L800A7D84
/* 0A894C 800A7D4C 00000000 */ nop
.L800A7D50:
/* 0A8950 800A7D50 8DCEC4CC */ lw $t6, %lo(gControllerFive)($t6)
/* 0A8954 800A7D54 3C044900 */ lui $a0, (0x4900801C >> 16) # lui $a0, 0x4900
/* 0A8958 800A7D58 3484801C */ ori $a0, (0x4900801C & 0xFFFF) # ori $a0, $a0, 0x801c
/* 0A895C 800A7D5C 95CF0004 */ lhu $t7, 4($t6)
/* 0A8960 800A7D60 31F80010 */ andi $t8, $t7, 0x10
/* 0A8964 800A7D64 13000005 */ beqz $t8, .L800A7D7C
/* 0A8968 800A7D68 00000000 */ nop
/* 0A896C 800A7D6C 0C032384 */ jal play_sound2
/* 0A8970 800A7D70 AE320004 */ sw $s2, 4($s1)
/* 0A8974 800A7D74 100000FD */ b .L800A816C
/* 0A8978 800A7D78 00000000 */ nop
.L800A7D7C:
/* 0A897C 800A7D7C 100000FB */ b .L800A816C
/* 0A8980 800A7D80 A2200015 */ sb $zero, 0x15($s1)
.L800A7D84:
/* 0A8984 800A7D84 100000F9 */ b .L800A816C
/* 0A8988 800A7D88 A2320015 */ sb $s2, 0x15($s1)
glabel L800A7D8C
/* 0A898C 800A7D8C 0C02A8A0 */ jal func_800AA280
/* 0A8990 800A7D90 02202025 */ move $a0, $s1
/* 0A8994 800A7D94 100000F5 */ b .L800A816C
/* 0A8998 800A7D98 00000000 */ nop
glabel L800A7D9C
/* 0A899C 800A7D9C 3C198019 */ lui $t9, %hi(gMainMenuSelectionDepth) # $t9, 0x8019
/* 0A89A0 800A7DA0 8339EDED */ lb $t9, %lo(gMainMenuSelectionDepth)($t9)
/* 0A89A4 800A7DA4 2728FFFF */ addiu $t0, $t9, -1
/* 0A89A8 800A7DA8 2D010008 */ sltiu $at, $t0, 8
/* 0A89AC 800A7DAC 102000EF */ beqz $at, .L800A816C
/* 0A89B0 800A7DB0 00084080 */ sll $t0, $t0, 2
/* 0A89B4 800A7DB4 3C01800F */ lui $at, %hi(jpt_800F2440)
/* 0A89B8 800A7DB8 00280821 */ addu $at, $at, $t0
/* 0A89BC 800A7DBC 8C282440 */ lw $t0, %lo(jpt_800F2440)($at)
/* 0A89C0 800A7DC0 01000008 */ jr $t0
/* 0A89C4 800A7DC4 00000000 */ nop
glabel L800A7DC8
/* 0A89C8 800A7DC8 0C02A6E7 */ jal func_800A9B9C
/* 0A89CC 800A7DCC 02202025 */ move $a0, $s1
/* 0A89D0 800A7DD0 100000E6 */ b .L800A816C
/* 0A89D4 800A7DD4 00000000 */ nop
glabel L800A7DD8
/* 0A89D8 800A7DD8 0C02A710 */ jal func_800A9C40
/* 0A89DC 800A7DDC 02202025 */ move $a0, $s1
/* 0A89E0 800A7DE0 100000E2 */ b .L800A816C
/* 0A89E4 800A7DE4 00000000 */ nop
glabel L800A7DE8
/* 0A89E8 800A7DE8 0C02A8A0 */ jal func_800AA280
/* 0A89EC 800A7DEC 02202025 */ move $a0, $s1
/* 0A89F0 800A7DF0 0C02A6A6 */ jal func_800A9A98
/* 0A89F4 800A7DF4 02202025 */ move $a0, $s1
/* 0A89F8 800A7DF8 100000DC */ b .L800A816C
/* 0A89FC 800A7DFC 00000000 */ nop
glabel L800A7E00
/* 0A8A00 800A7E00 3C098019 */ lui $t1, %hi(gMainMenuSelectionDepth) # $t1, 0x8019
/* 0A8A04 800A7E04 8129EDED */ lb $t1, %lo(gMainMenuSelectionDepth)($t1)
/* 0A8A08 800A7E08 252AFFFF */ addiu $t2, $t1, -1
/* 0A8A0C 800A7E0C 2D410008 */ sltiu $at, $t2, 8
/* 0A8A10 800A7E10 1020000C */ beqz $at, .L800A7E44
/* 0A8A14 800A7E14 000A5080 */ sll $t2, $t2, 2
/* 0A8A18 800A7E18 3C01800F */ lui $at, %hi(jpt_800F2460)
/* 0A8A1C 800A7E1C 002A0821 */ addu $at, $at, $t2
/* 0A8A20 800A7E20 8C2A2460 */ lw $t2, %lo(jpt_800F2460)($at)
/* 0A8A24 800A7E24 01400008 */ jr $t2
/* 0A8A28 800A7E28 00000000 */ nop
glabel L800A7E2C
/* 0A8A2C 800A7E2C 0C02A6E7 */ jal func_800A9B9C
/* 0A8A30 800A7E30 02202025 */ move $a0, $s1
/* 0A8A34 800A7E34 10000003 */ b .L800A7E44
/* 0A8A38 800A7E38 00000000 */ nop
glabel L800A7E3C
/* 0A8A3C 800A7E3C 0C02A710 */ jal func_800A9C40
/* 0A8A40 800A7E40 02202025 */ move $a0, $s1
.L800A7E44:
/* 0A8A44 800A7E44 0C02A757 */ jal func_800A9D5C
/* 0A8A48 800A7E48 02202025 */ move $a0, $s1
/* 0A8A4C 800A7E4C 100000C7 */ b .L800A816C
/* 0A8A50 800A7E50 00000000 */ nop
glabel L800A7E54
/* 0A8A54 800A7E54 0C02A796 */ jal func_800A9E58
/* 0A8A58 800A7E58 02202025 */ move $a0, $s1
/* 0A8A5C 800A7E5C 100000C3 */ b .L800A816C
/* 0A8A60 800A7E60 00000000 */ nop
glabel L800A7E64
/* 0A8A64 800A7E64 0C02A8BB */ jal func_800AA2EC
/* 0A8A68 800A7E68 02202025 */ move $a0, $s1
/* 0A8A6C 800A7E6C 100000BF */ b .L800A816C
/* 0A8A70 800A7E70 00000000 */ nop
glabel L800A7E74
/* 0A8A74 800A7E74 0C02AB75 */ jal func_800AADD4
/* 0A8A78 800A7E78 02202025 */ move $a0, $s1
/* 0A8A7C 800A7E7C 100000BB */ b .L800A816C
/* 0A8A80 800A7E80 00000000 */ nop
glabel L800A7E84
/* 0A8A84 800A7E84 0C02AB06 */ jal func_800AAC18
/* 0A8A88 800A7E88 02202025 */ move $a0, $s1
/* 0A8A8C 800A7E8C 8E2B0000 */ lw $t3, ($s1)
/* 0A8A90 800A7E90 256CFFD5 */ addiu $t4, $t3, -0x2b
/* 0A8A94 800A7E94 2D810008 */ sltiu $at, $t4, 8
/* 0A8A98 800A7E98 10200008 */ beqz $at, .L800A7EBC
/* 0A8A9C 800A7E9C 000C6080 */ sll $t4, $t4, 2
/* 0A8AA0 800A7EA0 3C01800F */ lui $at, %hi(jpt_800F2480)
/* 0A8AA4 800A7EA4 002C0821 */ addu $at, $at, $t4
/* 0A8AA8 800A7EA8 8C2C2480 */ lw $t4, %lo(jpt_800F2480)($at)
/* 0A8AAC 800A7EAC 01800008 */ jr $t4
/* 0A8AB0 800A7EB0 00000000 */ nop
glabel L800A7EB4
/* 0A8AB4 800A7EB4 0C02A9A7 */ jal func_800AA69C
/* 0A8AB8 800A7EB8 02202025 */ move $a0, $s1
.L800A7EBC:
/* 0A8ABC 800A7EBC 3C028019 */ lui $v0, %hi(D_8018EDEE) # $v0, 0x8019
/* 0A8AC0 800A7EC0 8042EDEE */ lb $v0, %lo(D_8018EDEE)($v0)
/* 0A8AC4 800A7EC4 24010002 */ li $at, 2
/* 0A8AC8 800A7EC8 10520007 */ beq $v0, $s2, .L800A7EE8
/* 0A8ACC 800A7ECC 00000000 */ nop
/* 0A8AD0 800A7ED0 10410009 */ beq $v0, $at, .L800A7EF8
/* 0A8AD4 800A7ED4 24010003 */ li $at, 3
/* 0A8AD8 800A7ED8 10410007 */ beq $v0, $at, .L800A7EF8
/* 0A8ADC 800A7EDC 00000000 */ nop
/* 0A8AE0 800A7EE0 10000007 */ b .L800A7F00
/* 0A8AE4 800A7EE4 00000000 */ nop
.L800A7EE8:
/* 0A8AE8 800A7EE8 0C02AAE4 */ jal func_800AAB90
/* 0A8AEC 800A7EEC 02202025 */ move $a0, $s1
/* 0A8AF0 800A7EF0 10000003 */ b .L800A7F00
/* 0A8AF4 800A7EF4 00000000 */ nop
.L800A7EF8:
/* 0A8AF8 800A7EF8 0C02AAA7 */ jal func_800AAA9C
/* 0A8AFC 800A7EFC 02202025 */ move $a0, $s1
.L800A7F00:
/* 0A8B00 800A7F00 0C02AB86 */ jal func_800AAE18
/* 0A8B04 800A7F04 02202025 */ move $a0, $s1
/* 0A8B08 800A7F08 10000098 */ b .L800A816C
/* 0A8B0C 800A7F0C 00000000 */ nop
glabel L800A7F10
/* 0A8B10 800A7F10 0C02A6A6 */ jal func_800A9A98
/* 0A8B14 800A7F14 02202025 */ move $a0, $s1
/* 0A8B18 800A7F18 10000094 */ b .L800A816C
/* 0A8B1C 800A7F1C 00000000 */ nop
glabel L800A7F20
/* 0A8B20 800A7F20 0C02AC59 */ jal func_800AB164
/* 0A8B24 800A7F24 02202025 */ move $a0, $s1
/* 0A8B28 800A7F28 3C028019 */ lui $v0, %hi(D_8018EDEC) # $v0, 0x8019
/* 0A8B2C 800A7F2C 8042EDEC */ lb $v0, %lo(D_8018EDEC)($v0)
/* 0A8B30 800A7F30 24010002 */ li $at, 2
/* 0A8B34 800A7F34 10520007 */ beq $v0, $s2, .L800A7F54
/* 0A8B38 800A7F38 00000000 */ nop
/* 0A8B3C 800A7F3C 10410009 */ beq $v0, $at, .L800A7F64
/* 0A8B40 800A7F40 24010003 */ li $at, 3
/* 0A8B44 800A7F44 10410007 */ beq $v0, $at, .L800A7F64
/* 0A8B48 800A7F48 00000000 */ nop
/* 0A8B4C 800A7F4C 10000087 */ b .L800A816C
/* 0A8B50 800A7F50 00000000 */ nop
.L800A7F54:
/* 0A8B54 800A7F54 0C02AC08 */ jal func_800AB020
/* 0A8B58 800A7F58 02202025 */ move $a0, $s1
/* 0A8B5C 800A7F5C 10000083 */ b .L800A816C
/* 0A8B60 800A7F60 00000000 */ nop
.L800A7F64:
/* 0A8B64 800A7F64 0C02AC26 */ jal func_800AB098
/* 0A8B68 800A7F68 02202025 */ move $a0, $s1
/* 0A8B6C 800A7F6C 1000007F */ b .L800A816C
/* 0A8B70 800A7F70 00000000 */ nop
glabel L800A7F74
/* 0A8B74 800A7F74 0C02AC98 */ jal func_800AB260
/* 0A8B78 800A7F78 02202025 */ move $a0, $s1
/* 0A8B7C 800A7F7C 1000007B */ b .L800A816C
/* 0A8B80 800A7F80 00000000 */ nop
glabel L800A7F84
/* 0A8B84 800A7F84 0C02ACC5 */ jal func_800AB314
/* 0A8B88 800A7F88 02202025 */ move $a0, $s1
/* 0A8B8C 800A7F8C 10000077 */ b .L800A816C
/* 0A8B90 800A7F90 00000000 */ nop
glabel L800A7F94
/* 0A8B94 800A7F94 0C02ACA4 */ jal func_800AB290
/* 0A8B98 800A7F98 02202025 */ move $a0, $s1
/* 0A8B9C 800A7F9C 10000073 */ b .L800A816C
/* 0A8BA0 800A7FA0 00000000 */ nop
glabel L800A7FA4
/* 0A8BA4 800A7FA4 0C02AE41 */ jal func_800AB904
/* 0A8BA8 800A7FA8 02202025 */ move $a0, $s1
/* 0A8BAC 800A7FAC 1000006F */ b .L800A816C
/* 0A8BB0 800A7FB0 00000000 */ nop
glabel L800A7FB4
/* 0A8BB4 800A7FB4 0C02AE6C */ jal func_800AB9B0
/* 0A8BB8 800A7FB8 02202025 */ move $a0, $s1
/* 0A8BBC 800A7FBC 1000006B */ b .L800A816C
/* 0A8BC0 800A7FC0 00000000 */ nop
glabel L800A7FC4
/* 0A8BC4 800A7FC4 0C02AEBA */ jal func_800ABAE8
/* 0A8BC8 800A7FC8 02202025 */ move $a0, $s1
/* 0A8BCC 800A7FCC 10000067 */ b .L800A816C
/* 0A8BD0 800A7FD0 00000000 */ nop
glabel L800A7FD4
/* 0A8BD4 800A7FD4 0C02AEC9 */ jal func_800ABB24
/* 0A8BD8 800A7FD8 02202025 */ move $a0, $s1
/* 0A8BDC 800A7FDC 10000063 */ b .L800A816C
/* 0A8BE0 800A7FE0 00000000 */ nop
glabel L800A7FE4
/* 0A8BE4 800A7FE4 0C02AEF3 */ jal func_800ABBCC
/* 0A8BE8 800A7FE8 02202025 */ move $a0, $s1
/* 0A8BEC 800A7FEC 1000005F */ b .L800A816C
/* 0A8BF0 800A7FF0 00000000 */ nop
glabel L800A7FF4
/* 0A8BF4 800A7FF4 0C02AF0E */ jal func_800ABC38
/* 0A8BF8 800A7FF8 02202025 */ move $a0, $s1
/* 0A8BFC 800A7FFC 1000005B */ b .L800A816C
/* 0A8C00 800A8000 00000000 */ nop
glabel L800A8004
/* 0A8C04 800A8004 0C02AFAB */ jal func_800ABEAC
/* 0A8C08 800A8008 02202025 */ move $a0, $s1
/* 0A8C0C 800A800C 10000057 */ b .L800A816C
/* 0A8C10 800A8010 00000000 */ nop
glabel L800A8014
/* 0A8C14 800A8014 0C02B0C0 */ jal func_800AC300
/* 0A8C18 800A8018 02202025 */ move $a0, $s1
/* 0A8C1C 800A801C 10000053 */ b .L800A816C
/* 0A8C20 800A8020 00000000 */ nop
glabel L800A8024
/* 0A8C24 800A8024 0C02B0C9 */ jal func_800AC324
/* 0A8C28 800A8028 02202025 */ move $a0, $s1
/* 0A8C2C 800A802C 1000004F */ b .L800A816C
/* 0A8C30 800A8030 00000000 */ nop
glabel L800A8034
/* 0A8C34 800A8034 0C02B116 */ jal func_800AC458
/* 0A8C38 800A8038 02202025 */ move $a0, $s1
/* 0A8C3C 800A803C 1000004B */ b .L800A816C
/* 0A8C40 800A8040 00000000 */ nop
glabel L800A8044
/* 0A8C44 800A8044 0C02B285 */ jal func_800ACA14
/* 0A8C48 800A8048 02202025 */ move $a0, $s1
/* 0A8C4C 800A804C 10000047 */ b .L800A816C
/* 0A8C50 800A8050 00000000 */ nop
glabel L800A8054
/* 0A8C54 800A8054 0C02B25E */ jal func_800AC978
/* 0A8C58 800A8058 02202025 */ move $a0, $s1
/* 0A8C5C 800A805C 10000043 */ b .L800A816C
/* 0A8C60 800A8060 00000000 */ nop
glabel L800A8064
/* 0A8C64 800A8064 0C02B314 */ jal func_800ACC50
/* 0A8C68 800A8068 02202025 */ move $a0, $s1
/* 0A8C6C 800A806C 1000003F */ b .L800A816C
/* 0A8C70 800A8070 00000000 */ nop
glabel L800A8074
/* 0A8C74 800A8074 0C02B3D0 */ jal func_800ACF40
/* 0A8C78 800A8078 02202025 */ move $a0, $s1
/* 0A8C7C 800A807C 1000003B */ b .L800A816C
/* 0A8C80 800A8080 00000000 */ nop
glabel L800A8084
/* 0A8C84 800A8084 0C02B469 */ jal func_800AD1A4
/* 0A8C88 800A8088 02202025 */ move $a0, $s1
/* 0A8C8C 800A808C 10000037 */ b .L800A816C
/* 0A8C90 800A8090 00000000 */ nop
glabel L800A8094
/* 0A8C94 800A8094 0C02B4BA */ jal func_800AD2E8
/* 0A8C98 800A8098 02202025 */ move $a0, $s1
/* 0A8C9C 800A809C 10000033 */ b .L800A816C
/* 0A8CA0 800A80A0 00000000 */ nop
glabel L800A80A4
/* 0A8CA4 800A80A4 0C02BB15 */ jal func_800AEC54
/* 0A8CA8 800A80A8 02202025 */ move $a0, $s1
/* 0A8CAC 800A80AC 1000002F */ b .L800A816C
/* 0A8CB0 800A80B0 00000000 */ nop
glabel L800A80B4
/* 0A8CB4 800A80B4 0C02B7D2 */ jal func_800ADF48
/* 0A8CB8 800A80B8 02202025 */ move $a0, $s1
/* 0A8CBC 800A80BC 1000002B */ b .L800A816C
/* 0A8CC0 800A80C0 00000000 */ nop
glabel L800A80C4
/* 0A8CC4 800A80C4 0C02B886 */ jal func_800AE218
/* 0A8CC8 800A80C8 02202025 */ move $a0, $s1
/* 0A8CCC 800A80CC 10000027 */ b .L800A816C
/* 0A8CD0 800A80D0 00000000 */ nop
glabel L800A80D4
/* 0A8CD4 800A80D4 0C02BB6F */ jal func_800AEDBC
/* 0A8CD8 800A80D8 02202025 */ move $a0, $s1
/* 0A8CDC 800A80DC 10000023 */ b .L800A816C
/* 0A8CE0 800A80E0 00000000 */ nop
glabel L800A80E4
/* 0A8CE4 800A80E4 0C02BBA4 */ jal func_800AEE90
/* 0A8CE8 800A80E8 02202025 */ move $a0, $s1
/* 0A8CEC 800A80EC 1000001F */ b .L800A816C
/* 0A8CF0 800A80F0 00000000 */ nop
glabel L800A80F4
/* 0A8CF4 800A80F4 0C02BBAF */ jal func_800AEEBC
/* 0A8CF8 800A80F8 02202025 */ move $a0, $s1
/* 0A8CFC 800A80FC 1000001B */ b .L800A816C
/* 0A8D00 800A8100 00000000 */ nop
glabel L800A8104
/* 0A8D04 800A8104 0C02BBBA */ jal func_800AEEE8
/* 0A8D08 800A8108 02202025 */ move $a0, $s1
/* 0A8D0C 800A810C 10000017 */ b .L800A816C
/* 0A8D10 800A8110 00000000 */ nop
glabel L800A8114
/* 0A8D14 800A8114 0C02BBC5 */ jal func_800AEF14
/* 0A8D18 800A8118 02202025 */ move $a0, $s1
/* 0A8D1C 800A811C 10000013 */ b .L800A816C
/* 0A8D20 800A8120 00000000 */ nop
glabel L800A8124
/* 0A8D24 800A8124 0C02BBDD */ jal func_800AEF74
/* 0A8D28 800A8128 02202025 */ move $a0, $s1
/* 0A8D2C 800A812C 1000000F */ b .L800A816C
/* 0A8D30 800A8130 00000000 */ nop
glabel L800A8134
/* 0A8D34 800A8134 0C02BC01 */ jal func_800AF004
/* 0A8D38 800A8138 02202025 */ move $a0, $s1
/* 0A8D3C 800A813C 1000000B */ b .L800A816C
/* 0A8D40 800A8140 00000000 */ nop
glabel L800A8144
/* 0A8D44 800A8144 0C02BC6B */ jal func_800AF1AC
/* 0A8D48 800A8148 02202025 */ move $a0, $s1
/* 0A8D4C 800A814C 10000007 */ b .L800A816C
/* 0A8D50 800A8150 00000000 */ nop
glabel L800A8154
/* 0A8D54 800A8154 0C02BC9C */ jal func_800AF270
/* 0A8D58 800A8158 02202025 */ move $a0, $s1
/* 0A8D5C 800A815C 10000003 */ b .L800A816C
/* 0A8D60 800A8160 00000000 */ nop
glabel L800A8164
/* 0A8D64 800A8164 0C02BD20 */ jal func_800AF480
/* 0A8D68 800A8168 02202025 */ move $a0, $s1
.L800A816C:
glabel L800A816C
/* 0A8D6C 800A816C 3C0D8019 */ lui $t5, %hi(D_8018DEE0) # $t5, 0x8019
/* 0A8D70 800A8170 25ADDEE0 */ addiu $t5, %lo(D_8018DEE0) # addiu $t5, $t5, -0x2120
/* 0A8D74 800A8174 26310028 */ addiu $s1, $s1, 0x28
/* 0A8D78 800A8178 562DFE47 */ bnel $s1, $t5, .L800A7A98
/* 0A8D7C 800A817C 8E220000 */ lw $v0, ($s1)
/* 0A8D80 800A8180 3C128019 */ lui $s2, %hi(D_8018DEE0) # $s2, 0x8019
/* 0A8D84 800A8184 2652DEE0 */ addiu $s2, %lo(D_8018DEE0) # addiu $s2, $s2, -0x2120
/* 0A8D88 800A8188 00008025 */ move $s0, $zero
.L800A818C:
/* 0A8D8C 800A818C 3C118019 */ lui $s1, %hi(D_8018D9E0) # $s1, 0x8019
/* 0A8D90 800A8190 2631D9E0 */ addiu $s1, %lo(D_8018D9E0) # addiu $s1, $s1, -0x2620
/* 0A8D94 800A8194 8E220000 */ lw $v0, ($s1)
.L800A8198:
/* 0A8D98 800A8198 00001825 */ move $v1, $zero
/* 0A8D9C 800A819C 10540005 */ beq $v0, $s4, .L800A81B4
/* 0A8DA0 800A81A0 00000000 */ nop
/* 0A8DA4 800A81A4 10550003 */ beq $v0, $s5, .L800A81B4
/* 0A8DA8 800A81A8 00000000 */ nop
/* 0A8DAC 800A81AC 14560005 */ bne $v0, $s6, .L800A81C4
/* 0A8DB0 800A81B0 00000000 */ nop
.L800A81B4:
/* 0A8DB4 800A81B4 12600006 */ beqz $s3, .L800A81D0
/* 0A8DB8 800A81B8 00000000 */ nop
/* 0A8DBC 800A81BC 10000004 */ b .L800A81D0
/* 0A8DC0 800A81C0 24030001 */ li $v1, 1
.L800A81C4:
/* 0A8DC4 800A81C4 16600002 */ bnez $s3, .L800A81D0
/* 0A8DC8 800A81C8 00000000 */ nop
/* 0A8DCC 800A81CC 24030001 */ li $v1, 1
.L800A81D0:
/* 0A8DD0 800A81D0 50600007 */ beql $v1, $zero, .L800A81F0
/* 0A8DD4 800A81D4 26310028 */ addiu $s1, $s1, 0x28
/* 0A8DD8 800A81D8 822E0014 */ lb $t6, 0x14($s1)
/* 0A8DDC 800A81DC 560E0004 */ bnel $s0, $t6, .L800A81F0
/* 0A8DE0 800A81E0 26310028 */ addiu $s1, $s1, 0x28
/* 0A8DE4 800A81E4 0C027D78 */ jal func_8009F5E0
/* 0A8DE8 800A81E8 02202025 */ move $a0, $s1
/* 0A8DEC 800A81EC 26310028 */ addiu $s1, $s1, 0x28
.L800A81F0:
/* 0A8DF0 800A81F0 5632FFE9 */ bnel $s1, $s2, .L800A8198
/* 0A8DF4 800A81F4 8E220000 */ lw $v0, ($s1)
/* 0A8DF8 800A81F8 26100001 */ addiu $s0, $s0, 1
/* 0A8DFC 800A81FC 24010010 */ li $at, 16
/* 0A8E00 800A8200 1601FFE2 */ bne $s0, $at, .L800A818C
/* 0A8E04 800A8204 00000000 */ nop
/* 0A8E08 800A8208 8FBF0034 */ lw $ra, 0x34($sp)
/* 0A8E0C 800A820C 8FB00018 */ lw $s0, 0x18($sp)
/* 0A8E10 800A8210 8FB1001C */ lw $s1, 0x1c($sp)
/* 0A8E14 800A8214 8FB20020 */ lw $s2, 0x20($sp)
/* 0A8E18 800A8218 8FB30024 */ lw $s3, 0x24($sp)
/* 0A8E1C 800A821C 8FB40028 */ lw $s4, 0x28($sp)
/* 0A8E20 800A8220 8FB5002C */ lw $s5, 0x2c($sp)
/* 0A8E24 800A8224 8FB60030 */ lw $s6, 0x30($sp)
/* 0A8E28 800A8228 03E00008 */ jr $ra
/* 0A8E2C 800A822C 27BD0038 */ addiu $sp, $sp, 0x38
@@ -6,6 +6,7 @@ glabel D_800F0C98
glabel D_800F0C9C
.asciiz "\""
.balign 4
.section .late_rodata
@@ -1,88 +0,0 @@
.section .rodata
glabel D_800F0CA0
.byte 0x03, 0x03, 0x03, 0x02, 0x00, 0x02, 0x02
glabel D_800F0CA7 # Second OK menu button
.byte 0x01, 0x03, 0x02, 0x00
glabel D_800F0CAB # Third OK menu button
.byte 0x00, 0x03, 0x03, 0x02, 0x00
.section .text
glabel func_800A9A98
/* 0AA698 800A9A98 8C820000 */ lw $v0, ($a0)
/* 0AA69C 800A9A9C 2401000F */ li $at, 15
/* 0AA6A0 800A9AA0 27BDFFF8 */ addiu $sp, $sp, -8
/* 0AA6A4 800A9AA4 10410009 */ beq $v0, $at, .L800A9ACC
/* 0AA6A8 800A9AA8 3C0E8019 */ lui $t6, %hi(gMainMenuSelectionDepth) # $t6, 0x8019
/* 0AA6AC 800A9AAC 24010033 */ li $at, 51
/* 0AA6B0 800A9AB0 10410010 */ beq $v0, $at, .L800A9AF4
/* 0AA6B4 800A9AB4 3C188019 */ lui $t8, %hi(D_8018EDEE) # $t8, 0x8019
/* 0AA6B8 800A9AB8 2401005D */ li $at, 93
/* 0AA6BC 800A9ABC 10410008 */ beq $v0, $at, .L800A9AE0
/* 0AA6C0 800A9AC0 3C0F8019 */ lui $t7, %hi(D_8018EDEC) # $t7, 0x8019
/* 0AA6C4 800A9AC4 1000000F */ b .L800A9B04
/* 0AA6C8 800A9AC8 8FA20004 */ lw $v0, 4($sp)
.L800A9ACC:
/* 0AA6CC 800A9ACC 81CEEDED */ lb $t6, %lo(gMainMenuSelectionDepth)($t6)
/* 0AA6D0 800A9AD0 3C02800F */ lui $v0, %hi(D_800F0C9C+0x03) # 0x800f
/* 0AA6D4 800A9AD4 004E1021 */ addu $v0, $v0, $t6
/* 0AA6D8 800A9AD8 1000000A */ b .L800A9B04
/* 0AA6DC 800A9ADC 80420C9F */ lb $v0, %lo(D_800F0C9C+0x03)($v0) # 0xc9f($v0)
.L800A9AE0:
/* 0AA6E0 800A9AE0 81EFEDEC */ lb $t7, %lo(D_8018EDEC)($t7)
/* 0AA6E4 800A9AE4 3C02800F */ lui $v0, %hi(D_800F0CAB) # 0x800f
/* 0AA6E8 800A9AE8 004F1021 */ addu $v0, $v0, $t7
/* 0AA6EC 800A9AEC 10000005 */ b .L800A9B04
/* 0AA6F0 800A9AF0 80420CAB */ lb $v0, %lo(D_800F0CAB)($v0) # 0xcab($v0)
.L800A9AF4:
/* 0AA6F4 800A9AF4 8318EDEE */ lb $t8, %lo(D_8018EDEE)($t8)
/* 0AA6F8 800A9AF8 3C02800F */ lui $v0, %hi(D_800F0CA7) # 0x800f
/* 0AA6FC 800A9AFC 00581021 */ addu $v0, $v0, $t8
/* 0AA700 800A9B00 80420CA7 */ lb $v0, %lo(D_800F0CA7)($v0) # 0xca7($v0)
.L800A9B04:
/* 0AA704 800A9B04 1040000A */ beqz $v0, .L800A9B30
/* 0AA708 800A9B08 24010001 */ li $at, 1
/* 0AA70C 800A9B0C 1041000A */ beq $v0, $at, .L800A9B38
/* 0AA710 800A9B10 24190020 */ li $t9, 32
/* 0AA714 800A9B14 24010002 */ li $at, 2
/* 0AA718 800A9B18 10410009 */ beq $v0, $at, .L800A9B40
/* 0AA71C 800A9B1C 24010003 */ li $at, 3
/* 0AA720 800A9B20 50410014 */ beql $v0, $at, .L800A9B74
/* 0AA724 800A9B24 8C82001C */ lw $v0, 0x1c($a0)
/* 0AA728 800A9B28 1000001A */ b .L800A9B94
/* 0AA72C 800A9B2C 00000000 */ nop
.L800A9B30:
/* 0AA730 800A9B30 10000018 */ b .L800A9B94
/* 0AA734 800A9B34 AC80001C */ sw $zero, 0x1c($a0)
.L800A9B38:
/* 0AA738 800A9B38 10000016 */ b .L800A9B94
/* 0AA73C 800A9B3C AC99001C */ sw $t9, 0x1c($a0)
.L800A9B40:
/* 0AA740 800A9B40 8C82001C */ lw $v0, 0x1c($a0)
/* 0AA744 800A9B44 2401000C */ li $at, 12
/* 0AA748 800A9B48 18400012 */ blez $v0, .L800A9B94
/* 0AA74C 800A9B4C 00000000 */ nop
/* 0AA750 800A9B50 0041001A */ div $zero, $v0, $at
/* 0AA754 800A9B54 00004012 */ mflo $t0
/* 0AA758 800A9B58 00484823 */ subu $t1, $v0, $t0
/* 0AA75C 800A9B5C 252AFFFE */ addiu $t2, $t1, -2
/* 0AA760 800A9B60 0541000C */ bgez $t2, .L800A9B94
/* 0AA764 800A9B64 AC8A001C */ sw $t2, 0x1c($a0)
/* 0AA768 800A9B68 1000000A */ b .L800A9B94
/* 0AA76C 800A9B6C AC80001C */ sw $zero, 0x1c($a0)
/* 0AA770 800A9B70 8C82001C */ lw $v0, 0x1c($a0)
.L800A9B74:
/* 0AA774 800A9B74 28410020 */ slti $at, $v0, 0x20
/* 0AA778 800A9B78 10200006 */ beqz $at, .L800A9B94
/* 0AA77C 800A9B7C 244C0002 */ addiu $t4, $v0, 2
/* 0AA780 800A9B80 29810020 */ slti $at, $t4, 0x20
/* 0AA784 800A9B84 14200003 */ bnez $at, .L800A9B94
/* 0AA788 800A9B88 AC8C001C */ sw $t4, 0x1c($a0)
/* 0AA78C 800A9B8C 240E0020 */ li $t6, 32
/* 0AA790 800A9B90 AC8E001C */ sw $t6, 0x1c($a0)
.L800A9B94:
/* 0AA794 800A9B94 03E00008 */ jr $ra
/* 0AA798 800A9B98 27BD0008 */ addiu $sp, $sp, 8
+416 -460
View File
@@ -7011,9 +7011,6 @@ block_14:
GLOBAL_ASM("asm/non_matchings/code_80091750/func_8009DB8C.s")
#endif
extern s32 D_8018E7B8[];
extern s32 D_8018E7E0;
void func_8009DEF8(u32 arg0, u32 arg1) {
if (arg0 == 0) {
arg0 = 1;
@@ -7189,8 +7186,6 @@ void func_8009E280(void) {
D_8018EDE0 = 4;
}
extern void func_8009E2F0(); /* extern */
void func_8009E2A8(s32 arg0) {
switch(D_8018E838[arg0]) {
case 0:
@@ -10616,443 +10611,415 @@ void func_800A79F4(s32 arg0, char *arg1) {
arg1[4] = '\0';
}
#ifdef MIPS_TO_C
//generated by m2c commit eefca95b040d7ee0c617bc58f9ac6cd1cf7bce87 on Sep-01-2023
? func_8009F5E0(struct_8018D9E0_entry *); /* extern */
? func_800A97BC(struct_8018D9E0_entry *); /* extern */
? func_800A9A98(struct_8018D9E0_entry *); /* extern */
? func_800A9E58(struct_8018D9E0_entry *); /* extern */
? func_800AA2EC(struct_8018D9E0_entry *); /* extern */
? func_800AAA9C(struct_8018D9E0_entry *); /* extern */
? func_800AAC18(struct_8018D9E0_entry *); /* extern */
? func_800AB314(struct_8018D9E0_entry *); /* extern */
? func_800AB9B0(struct_8018D9E0_entry *); /* extern */
? func_800AC458(struct_8018D9E0_entry *); /* extern */
? func_800ACF40(struct_8018D9E0_entry *); /* extern */
? func_800AEF14(struct_8018D9E0_entry *); /* extern */
void func_800A7A4C(s32 arg0) {
f32 temp_f18;
f64 temp_f0;
s32 temp_t2;
s32 temp_t3;
s32 temp_v0;
s32 temp_v0_2;
s32 temp_v0_3;
s32 var_s0;
s32 var_v1;
s32 var_v1_2;
s32 type;
struct_8018D9E0_entry *var_s1;
struct_8018D9E0_entry *var_s1_2;
u8 var_v1;
s32 one = 1;
var_s1 = D_8018D9E0;
do {
temp_v0 = var_s1->type;
for (var_v1_2 = 0; var_v1_2 < D_8018D9E0_SIZE; var_v1_2++) {
var_v1 = 0;
if ((temp_v0 == 4) || (temp_v0 == 5) || (temp_v0 == 0x000000C7)) {
var_s1 = &D_8018D9E0[var_v1_2];
type = var_s1->type;
if ((type == 4) || (type == 5) || (type == 0x000000C7)) {
if (arg0 != 0) {
goto block_7;
var_v1 = 1;
}
} else if (arg0 == 0) {
block_7:
var_v1 = 1;
}
if (var_v1 != 0) {
switch (temp_v0) { /* switch 8; irregular */
case 0xFA: /* switch 8 */
if (s8018ED94 < 0x50) {
D_800E8534 = 3.0f;
} else if (s8018ED94 < 0x5A) {
temp_f0 = (f64) D_800E8530;
if (temp_f0 < 1.0) {
D_800E8530 = (f32) (temp_f0 + 0.1);
}
D_800E8534 = (f32) ((f64) D_800E8534 + 0.1);
} else if (s8018ED94 < 0xA0) {
D_800E8534 = (f32) ((f64) D_800E8534 + 0.1);
} else if (s8018ED94 < 0x190) {
D_800E8534 = (f32) ((f64) D_800E8534 + 0.3);
if (var_v1 == 0) continue;
switch (type) { /* switch 8; irregular */
case 0xFA: /* switch 8 */
if (s8018ED94 < 0x50) {
D_800E8534 = 3.0f;
} else if (s8018ED94 < 0x5A) {
if (D_800E8530 < 1.0) {
D_800E8530 += 0.1;
}
temp_f18 = D_8018EDCC - D_800E8534;
D_8018EDCC = temp_f18;
s8018ED94 += 1;
if (temp_f18 < -360.0f) {
D_8018EDCC = temp_f18 + 360.0f;
}
temp_t2 = var_s1->unk1C + 1;
var_s1->unk1C = temp_t2;
if (temp_t2 == 0x000000B4) {
func_8009E000(0x00000028);
func_800CA388(0x64U);
D_8018EDE0 = 0;
}
if ((var_s1->unk20 != 0) && (var_s1->unk1C >= 3)) {
var_s1->unk20 = 0;
play_sound2(0x49018008);
D_800E8534 += 0.1;
} else if (s8018ED94 < 0xA0) {
D_800E8534 += 0.1;
} else if (s8018ED94 < 0x190) {
D_800E8534 += 0.3;
}
D_8018EDCC -= D_800E8534;
s8018ED94 += 1;
if (D_8018EDCC < -360.0f) {
D_8018EDCC += 360.0f;
}
var_s1->unk1C++;
if (var_s1->unk1C == 0x000000B4) {
func_8009E000(0x00000028);
func_800CA388(0x64U);
D_8018EDE0 = 0;
}
if ((var_s1->unk20 != 0) && (var_s1->unk1C >= 3)) {
var_s1->unk20 = 0;
play_sound2(0x49018008);
}
break;
case 0xDA: /* switch 8 */
func_800A954C(var_s1);
break;
case 0xD6: /* switch 8 */
func_800A9710(var_s1);
break;
case 0xD4: /* switch 8 */
func_800A97BC(var_s1);
break;
case 0x5: /* switch 8 */
switch (var_s1->unk4) { /* switch 9; irregular */
case 0: /* switch 9 */
if (gControllerFive->button & 0x10) {
var_s1->unk4 = (s32) 1U;
play_sound2(0x4900801C);
} else {
var_s1->visible = 0;
}
break;
case 0xDA: /* switch 8 */
func_800A954C(var_s1);
break;
case 0xD6: /* switch 8 */
func_800A9710(var_s1);
break;
case 0xD4: /* switch 8 */
func_800A97BC(var_s1);
break;
case 0x5: /* switch 8 */
temp_v0_2 = var_s1->unk4;
switch (temp_v0_2) { /* switch 9; irregular */
case 0: /* switch 9 */
if (gControllerFive->button & 0x10) {
var_s1->unk4 = (s32) 1U;
play_sound2(0x4900801C);
} else {
var_s1->visible = 0;
}
break;
default: /* switch 9 */
case 1: /* switch 9 */
var_s1->visible = 1;
break;
}
break;
case 0xA: /* switch 8 */
func_800AA280(var_s1);
break;
case 0x10: /* switch 8 */
case 0x11: /* switch 8 */
switch (gMainMenuSelectionDepth) { /* switch 5 */
case 1: /* switch 5 */
case 2: /* switch 5 */
case 3: /* switch 5 */
func_800A9B9C(var_s1);
break;
case 4: /* switch 5 */
case 5: /* switch 5 */
case 6: /* switch 5 */
case 7: /* switch 5 */
case 8: /* switch 5 */
func_800A9C40(var_s1);
break;
}
break;
case 0xF: /* switch 8 */
func_800AA280(var_s1);
func_800A9A98(var_s1);
break;
case 0xB: /* switch 8 */
case 0xC: /* switch 8 */
case 0xD: /* switch 8 */
case 0xE: /* switch 8 */
switch (gMainMenuSelectionDepth) { /* switch 6 */
case 1: /* switch 6 */
case 2: /* switch 6 */
case 3: /* switch 6 */
func_800A9B9C(var_s1);
break;
case 4: /* switch 6 */
case 5: /* switch 6 */
case 6: /* switch 6 */
case 7: /* switch 6 */
case 8: /* switch 6 */
func_800A9C40(var_s1);
break;
}
func_800A9D5C(var_s1);
break;
case 0x12: /* switch 8 */
case 0x13: /* switch 8 */
case 0x14: /* switch 8 */
case 0x15: /* switch 8 */
case 0x16: /* switch 8 */
case 0x17: /* switch 8 */
case 0x18: /* switch 8 */
case 0x19: /* switch 8 */
func_800A9E58(var_s1);
break;
case 0x1B: /* switch 8 */
func_800AA2EC(var_s1);
break;
case 0x34: /* switch 8 */
case 0x35: /* switch 8 */
case 0x36: /* switch 8 */
case 0x37: /* switch 8 */
func_800AADD4(var_s1);
break;
case 0x2B: /* switch 8 */
case 0x2C: /* switch 8 */
case 0x2D: /* switch 8 */
case 0x2E: /* switch 8 */
case 0x2F: /* switch 8 */
case 0x30: /* switch 8 */
case 0x31: /* switch 8 */
case 0x32: /* switch 8 */
func_800AAC18(var_s1);
temp_t3 = var_s1->type;
switch (temp_t3) { /* switch 7 */
case 43: /* switch 7 */
case 44: /* switch 7 */
case 45: /* switch 7 */
case 46: /* switch 7 */
case 47: /* switch 7 */
case 48: /* switch 7 */
case 49: /* switch 7 */
case 50: /* switch 7 */
func_800AA69C(var_s1);
break;
}
switch (D_8018EDEE) { /* switch 10; irregular */
case 1: /* switch 10 */
func_800AAB90(var_s1);
break;
case 2: /* switch 10 */
case 3: /* switch 10 */
func_800AAA9C(var_s1);
break;
}
func_800AAE18(var_s1);
break;
case 0x33: /* switch 8 */
case 0x5D: /* switch 8 */
func_800A9A98(var_s1);
break;
case 0x53: /* switch 8 */
case 0x54: /* switch 8 */
case 0x55: /* switch 8 */
case 0x56: /* switch 8 */
func_800AB164(var_s1);
switch (D_8018EDEC) { /* switch 11; irregular */
case 1: /* switch 11 */
func_800AB020(var_s1);
break;
case 2: /* switch 11 */
case 3: /* switch 11 */
func_800AB098(var_s1);
break;
}
break;
case 0x58: /* switch 8 */
case 0x59: /* switch 8 */
case 0x5A: /* switch 8 */
case 0x5B: /* switch 8 */
func_800AB260(var_s1);
break;
case 0x64: /* switch 8 */
func_800AB314(var_s1);
break;
case 0x5F: /* switch 8 */
case 0x60: /* switch 8 */
case 0x61: /* switch 8 */
case 0x62: /* switch 8 */
func_800AB290(var_s1);
break;
case 0x65: /* switch 8 */
case 0x66: /* switch 8 */
func_800AB904(var_s1);
break;
case 0x67: /* switch 8 */
func_800AB9B0(var_s1);
break;
case 0x78: /* switch 8 */
case 0x79: /* switch 8 */
case 0x7A: /* switch 8 */
case 0x7B: /* switch 8 */
case 0x8C: /* switch 8 */
func_800ABAE8(var_s1);
break;
case 0x8D: /* switch 8 */
func_800ABB24(var_s1);
break;
case 0x7C: /* switch 8 */
case 0x7D: /* switch 8 */
case 0x7E: /* switch 8 */
case 0x7F: /* switch 8 */
case 0x80: /* switch 8 */
case 0x81: /* switch 8 */
case 0x82: /* switch 8 */
case 0x83: /* switch 8 */
case 0x84: /* switch 8 */
case 0x85: /* switch 8 */
case 0x86: /* switch 8 */
case 0x87: /* switch 8 */
case 0x88: /* switch 8 */
case 0x89: /* switch 8 */
case 0x8A: /* switch 8 */
case 0x8B: /* switch 8 */
func_800ABBCC(var_s1);
break;
case 0x96: /* switch 8 */
func_800ABC38(var_s1);
break;
case 0x97: /* switch 8 */
func_800ABEAC(var_s1);
break;
case 0x5E: /* switch 8 */
func_800AC300(var_s1);
break;
case 0xAA: /* switch 8 */
func_800AC324(var_s1);
break;
case 0xAB: /* switch 8 */
func_800AC458(var_s1);
break;
case 0xAC: /* switch 8 */
func_800ACA14(var_s1);
break;
case 0xAF: /* switch 8 */
func_800AC978(var_s1);
break;
case 0xB0: /* switch 8 */
func_800ACC50(var_s1);
break;
case 0xB1: /* switch 8 */
case 0xB2: /* switch 8 */
case 0xB3: /* switch 8 */
case 0xB4: /* switch 8 */
func_800ACF40(var_s1);
break;
case 0xB9: /* switch 8 */
func_800AD1A4(var_s1);
break;
case 0xBA: /* switch 8 */
func_800AD2E8(var_s1);
break;
case 0xBC: /* switch 8 */
func_800AEC54(var_s1);
break;
case 0xC7: /* switch 8 */
func_800ADF48(var_s1);
break;
case 0xBD: /* switch 8 */
func_800AE218(var_s1);
break;
case 0xE6: /* switch 8 */
func_800AEDBC(var_s1);
break;
case 0xE8: /* switch 8 */
func_800AEE90(var_s1);
break;
case 0xE9: /* switch 8 */
func_800AEEBC(var_s1);
break;
case 0xEA: /* switch 8 */
func_800AEEE8(var_s1);
break;
case 0xBE: /* switch 8 */
func_800AEF14(var_s1);
break;
case 0x10E: /* switch 8 */
func_800AEF74(var_s1);
break;
case 0x12B: /* switch 8 */
func_800AF004(var_s1);
break;
case 0x12C: /* switch 8 */
case 0x12D: /* switch 8 */
case 0x12E: /* switch 8 */
case 0x12F: /* switch 8 */
func_800AF1AC(var_s1);
break;
case 0x130: /* switch 8 */
func_800AF270(var_s1);
break;
case 0x190: /* switch 8 */
case 0x191: /* switch 8 */
case 0x192: /* switch 8 */
case 0x193: /* switch 8 */
case 0x194: /* switch 8 */
case 0x195: /* switch 8 */
case 0x196: /* switch 8 */
case 0x197: /* switch 8 */
case 0x198: /* switch 8 */
case 0x199: /* switch 8 */
case 0x19A: /* switch 8 */
case 0x19B: /* switch 8 */
case 0x19C: /* switch 8 */
case 0x19D: /* switch 8 */
case 0x19E: /* switch 8 */
case 0x19F: /* switch 8 */
case 0x1A0: /* switch 8 */
case 0x1A1: /* switch 8 */
case 0x1A2: /* switch 8 */
case 0x1A3: /* switch 8 */
case 0x1A4: /* switch 8 */
case 0x1A5: /* switch 8 */
case 0x1A6: /* switch 8 */
case 0x1A7: /* switch 8 */
case 0x1A8: /* switch 8 */
case 0x1A9: /* switch 8 */
case 0x1AA: /* switch 8 */
case 0x1AB: /* switch 8 */
case 0x1AC: /* switch 8 */
case 0x1AD: /* switch 8 */
case 0x1AE: /* switch 8 */
case 0x1AF: /* switch 8 */
case 0x1B0: /* switch 8 */
case 0x1B1: /* switch 8 */
case 0x1B2: /* switch 8 */
case 0x1B3: /* switch 8 */
case 0x1B4: /* switch 8 */
case 0x1B5: /* switch 8 */
case 0x1B6: /* switch 8 */
case 0x1B7: /* switch 8 */
case 0x1B8: /* switch 8 */
case 0x1B9: /* switch 8 */
case 0x1BA: /* switch 8 */
case 0x1BB: /* switch 8 */
case 0x1BC: /* switch 8 */
case 0x1BD: /* switch 8 */
case 0x1BE: /* switch 8 */
case 0x1BF: /* switch 8 */
case 0x1C0: /* switch 8 */
case 0x1C1: /* switch 8 */
case 0x1C2: /* switch 8 */
case 0x1C3: /* switch 8 */
case 0x1C4: /* switch 8 */
case 0x1C5: /* switch 8 */
case 0x1C6: /* switch 8 */
case 0x1C7: /* switch 8 */
case 0x1C8: /* switch 8 */
case 0x1C9: /* switch 8 */
case 0x1CA: /* switch 8 */
case 0x1CB: /* switch 8 */
case 0x1CC: /* switch 8 */
case 0x1CD: /* switch 8 */
case 0x1CE: /* switch 8 */
func_800AF480(var_s1);
case 1: /* switch 9 */
default: /* switch 9 */
var_s1->visible = one;
break;
}
}
var_s1 += 0x28;
} while (var_s1 != D_8018DEE0);
var_s0 = 0;
do {
var_s1_2 = D_8018D9E0;
loop_113:
temp_v0_3 = var_s1_2->type;
var_v1_2 = 0;
if ((temp_v0_3 == 4) || (temp_v0_3 == 5) || (temp_v0_3 == 0x000000C7)) {
if (arg0 != 0) {
goto block_119;
break;
case 0xA: /* switch 8 */
func_800AA280(var_s1);
break;
case 0x10: /* switch 8 */
case 0x11: /* switch 8 */
switch (gMainMenuSelectionDepth) { /* switch 5 */
case 1: /* switch 5 */
case 2: /* switch 5 */
case 3: /* switch 5 */
func_800A9B9C(var_s1);
break;
case 4: /* switch 5 */
case 5: /* switch 5 */
case 6: /* switch 5 */
case 7: /* switch 5 */
case 8: /* switch 5 */
func_800A9C40(var_s1);
break;
}
} else if (arg0 == 0) {
block_119:
var_v1_2 = 1;
break;
case 0xF: /* switch 8 */
func_800AA280(var_s1);
func_800A9A98(var_s1);
break;
case 0xB: /* switch 8 */
case 0xC: /* switch 8 */
case 0xD: /* switch 8 */
case 0xE: /* switch 8 */
switch (gMainMenuSelectionDepth) { /* switch 6 */
case 1: /* switch 6 */
case 2: /* switch 6 */
case 3: /* switch 6 */
func_800A9B9C(var_s1);
break;
case 4: /* switch 6 */
case 5: /* switch 6 */
case 6: /* switch 6 */
case 7: /* switch 6 */
case 8: /* switch 6 */
func_800A9C40(var_s1);
break;
}
func_800A9D5C(var_s1);
break;
case 0x12: /* switch 8 */
case 0x13: /* switch 8 */
case 0x14: /* switch 8 */
case 0x15: /* switch 8 */
case 0x16: /* switch 8 */
case 0x17: /* switch 8 */
case 0x18: /* switch 8 */
case 0x19: /* switch 8 */
func_800A9E58(var_s1);
break;
case 0x1B: /* switch 8 */
func_800AA2EC(var_s1);
break;
case 0x34: /* switch 8 */
case 0x35: /* switch 8 */
case 0x36: /* switch 8 */
case 0x37: /* switch 8 */
func_800AADD4(var_s1);
break;
case 0x2B: /* switch 8 */
case 0x2C: /* switch 8 */
case 0x2D: /* switch 8 */
case 0x2E: /* switch 8 */
case 0x2F: /* switch 8 */
case 0x30: /* switch 8 */
case 0x31: /* switch 8 */
case 0x32: /* switch 8 */
func_800AAC18(var_s1);
switch (var_s1->type) { /* switch 7 */
case 43: /* switch 7 */
case 44: /* switch 7 */
case 45: /* switch 7 */
case 46: /* switch 7 */
case 47: /* switch 7 */
case 48: /* switch 7 */
case 49: /* switch 7 */
case 50: /* switch 7 */
func_800AA69C(var_s1);
break;
}
switch (D_8018EDEE) { /* switch 10; irregular */
case 1: /* switch 10 */
func_800AAB90(var_s1);
break;
case 2: /* switch 10 */
case 3: /* switch 10 */
func_800AAA9C(var_s1);
break;
}
func_800AAE18(var_s1);
break;
case 0x33: /* switch 8 */
case 0x5D: /* switch 8 */
func_800A9A98(var_s1);
break;
case 0x53: /* switch 8 */
case 0x54: /* switch 8 */
case 0x55: /* switch 8 */
case 0x56: /* switch 8 */
func_800AB164(var_s1);
switch (D_8018EDEC) { /* switch 11; irregular */
case 1: /* switch 11 */
func_800AB020(var_s1);
break;
case 2: /* switch 11 */
case 3: /* switch 11 */
func_800AB098(var_s1);
break;
}
break;
case 0x58: /* switch 8 */
case 0x59: /* switch 8 */
case 0x5A: /* switch 8 */
case 0x5B: /* switch 8 */
func_800AB260(var_s1);
break;
case 0x64: /* switch 8 */
func_800AB314(var_s1);
break;
case 0x5F: /* switch 8 */
case 0x60: /* switch 8 */
case 0x61: /* switch 8 */
case 0x62: /* switch 8 */
func_800AB290(var_s1);
break;
case 0x65: /* switch 8 */
case 0x66: /* switch 8 */
func_800AB904(var_s1);
break;
case 0x67: /* switch 8 */
func_800AB9B0(var_s1);
break;
case 0x78: /* switch 8 */
case 0x79: /* switch 8 */
case 0x7A: /* switch 8 */
case 0x7B: /* switch 8 */
case 0x8C: /* switch 8 */
func_800ABAE8(var_s1);
break;
case 0x8D: /* switch 8 */
func_800ABB24(var_s1);
break;
case 0x7C: /* switch 8 */
case 0x7D: /* switch 8 */
case 0x7E: /* switch 8 */
case 0x7F: /* switch 8 */
case 0x80: /* switch 8 */
case 0x81: /* switch 8 */
case 0x82: /* switch 8 */
case 0x83: /* switch 8 */
case 0x84: /* switch 8 */
case 0x85: /* switch 8 */
case 0x86: /* switch 8 */
case 0x87: /* switch 8 */
case 0x88: /* switch 8 */
case 0x89: /* switch 8 */
case 0x8A: /* switch 8 */
case 0x8B: /* switch 8 */
func_800ABBCC(var_s1);
break;
case 0x96: /* switch 8 */
func_800ABC38(var_s1);
break;
case 0x97: /* switch 8 */
func_800ABEAC(var_s1);
break;
case 0x5E: /* switch 8 */
func_800AC300(var_s1);
break;
case 0xAA: /* switch 8 */
func_800AC324(var_s1);
break;
case 0xAB: /* switch 8 */
func_800AC458(var_s1);
break;
case 0xAC: /* switch 8 */
func_800ACA14(var_s1);
break;
case 0xAF: /* switch 8 */
func_800AC978(var_s1);
break;
case 0xB0: /* switch 8 */
func_800ACC50(var_s1);
break;
case 0xB1: /* switch 8 */
case 0xB2: /* switch 8 */
case 0xB3: /* switch 8 */
case 0xB4: /* switch 8 */
func_800ACF40(var_s1);
break;
case 0xB9: /* switch 8 */
func_800AD1A4(var_s1);
break;
case 0xBA: /* switch 8 */
func_800AD2E8(var_s1);
break;
case 0xBC: /* switch 8 */
func_800AEC54(var_s1);
break;
case 0xC7: /* switch 8 */
func_800ADF48(var_s1);
break;
case 0xBD: /* switch 8 */
func_800AE218(var_s1);
break;
case 0xE6: /* switch 8 */
func_800AEDBC(var_s1);
break;
case 0xE8: /* switch 8 */
func_800AEE90(var_s1);
break;
case 0xE9: /* switch 8 */
func_800AEEBC(var_s1);
break;
case 0xEA: /* switch 8 */
func_800AEEE8(var_s1);
break;
case 0xBE: /* switch 8 */
func_800AEF14(var_s1);
break;
case 0x10E: /* switch 8 */
func_800AEF74(var_s1);
break;
case 0x12B: /* switch 8 */
func_800AF004(var_s1);
break;
case 0x12C: /* switch 8 */
case 0x12D: /* switch 8 */
case 0x12E: /* switch 8 */
case 0x12F: /* switch 8 */
func_800AF1AC(var_s1);
break;
case 0x130: /* switch 8 */
func_800AF270(var_s1);
break;
case 0x190: /* switch 8 */
case 0x191: /* switch 8 */
case 0x192: /* switch 8 */
case 0x193: /* switch 8 */
case 0x194: /* switch 8 */
case 0x195: /* switch 8 */
case 0x196: /* switch 8 */
case 0x197: /* switch 8 */
case 0x198: /* switch 8 */
case 0x199: /* switch 8 */
case 0x19A: /* switch 8 */
case 0x19B: /* switch 8 */
case 0x19C: /* switch 8 */
case 0x19D: /* switch 8 */
case 0x19E: /* switch 8 */
case 0x19F: /* switch 8 */
case 0x1A0: /* switch 8 */
case 0x1A1: /* switch 8 */
case 0x1A2: /* switch 8 */
case 0x1A3: /* switch 8 */
case 0x1A4: /* switch 8 */
case 0x1A5: /* switch 8 */
case 0x1A6: /* switch 8 */
case 0x1A7: /* switch 8 */
case 0x1A8: /* switch 8 */
case 0x1A9: /* switch 8 */
case 0x1AA: /* switch 8 */
case 0x1AB: /* switch 8 */
case 0x1AC: /* switch 8 */
case 0x1AD: /* switch 8 */
case 0x1AE: /* switch 8 */
case 0x1AF: /* switch 8 */
case 0x1B0: /* switch 8 */
case 0x1B1: /* switch 8 */
case 0x1B2: /* switch 8 */
case 0x1B3: /* switch 8 */
case 0x1B4: /* switch 8 */
case 0x1B5: /* switch 8 */
case 0x1B6: /* switch 8 */
case 0x1B7: /* switch 8 */
case 0x1B8: /* switch 8 */
case 0x1B9: /* switch 8 */
case 0x1BA: /* switch 8 */
case 0x1BB: /* switch 8 */
case 0x1BC: /* switch 8 */
case 0x1BD: /* switch 8 */
case 0x1BE: /* switch 8 */
case 0x1BF: /* switch 8 */
case 0x1C0: /* switch 8 */
case 0x1C1: /* switch 8 */
case 0x1C2: /* switch 8 */
case 0x1C3: /* switch 8 */
case 0x1C4: /* switch 8 */
case 0x1C5: /* switch 8 */
case 0x1C6: /* switch 8 */
case 0x1C7: /* switch 8 */
case 0x1C8: /* switch 8 */
case 0x1C9: /* switch 8 */
case 0x1CA: /* switch 8 */
case 0x1CB: /* switch 8 */
case 0x1CC: /* switch 8 */
case 0x1CD: /* switch 8 */
case 0x1CE: /* switch 8 */
func_800AF480(var_s1);
break;
case 0:
case 1:
case 2:
case 3:
case 4:
break;
}
if ((var_v1_2 != 0) && (var_s0 == (s8) var_s1_2->priority)) {
func_8009F5E0(var_s1_2);
}
for (var_s0 = 0; var_s0 < 0x10; var_s0++) {
for (var_v1_2 = 0; var_v1_2 < D_8018D9E0_SIZE; var_v1_2++) {
var_v1 = 0;
var_s1 = &D_8018D9E0[var_v1_2];
if (var_s1 && var_s1) {} // ?
type = var_s1->type;
if ((type == 4) || (type == 5) || (type == 0x000000C7)) {
if (arg0 != 0) {
var_v1 = 1;
}
} else if (arg0 == 0) {
var_v1 = 1;
}
if ((var_v1 != 0) && (var_s0 == (s8) var_s1->priority)) {
func_8009F5E0(var_s1);
}
}
var_s1_2 += 0x28;
if (var_s1_2 != D_8018DEE0) {
goto loop_113;
}
var_s0 += 1;
} while (var_s0 != 0x10);
}
}
#else
GLOBAL_ASM("asm/non_matchings/code_80091750/func_800A7A4C.s")
#endif
void func_800A8230(void) {
func_800A7A4C(0);
@@ -11661,68 +11628,59 @@ void func_800A97BC(struct_8018D9E0_entry *arg0, u32 arg3) {
GLOBAL_ASM("asm/non_matchings/code_80091750/func_800A97BC.s")
#endif
#ifdef MIPS_TO_C
//generated by m2c commit eefca95b040d7ee0c617bc58f9ac6cd1cf7bce87 on Sep-01-2023
extern ? D_800F0C9C;
static ? D_800F0CA7; /* unable to generate initializer; const */
static ? D_800F0CAB; /* unable to generate initializer; const */
// Don't know if this belongs here or inside func_800A9A98
// as a `static const`. But this matches so we'll leave
// it here for now.
const s8 D_800F0CA0[] = {
0x03, 0x03, 0x03, 0x02,
0x00, 0x02, 0x02, 0x01,
0x03, 0x02, 0x00, 0x00,
0x03, 0x03, 0x02, 0x00
};
void func_800A9A98(void *arg0) {
s32 temp_t2;
s32 temp_t4;
s32 temp_v0;
s32 temp_v0_2;
s32 temp_v0_3;
void func_800A9A98(struct_8018D9E0_entry *arg0) {
s32 sp4;
s32 var_v0;
temp_v0 = arg0->unk0;
switch (temp_v0) { /* irregular */
switch (arg0->type) { /* irregular */
default:
var_v0 = sp4;
var_v0 = sp4; // wut?
break;
case 0xF:
var_v0 = (s32) *(&D_800F0C9C + 3 + gMainMenuSelectionDepth);
var_v0 = D_800F0CA0[gMainMenuSelectionDepth - 1];
break;
case 0x5D:
var_v0 = (s32) *(&D_800F0CAB + D_8018EDEC);
var_v0 = D_800F0CA0[D_8018EDEC + 11];
break;
case 0x33:
var_v0 = (s32) *(&D_800F0CA7 + D_8018EDEE);
var_v0 = D_800F0CA0[D_8018EDEE + 7];
break;
}
switch (var_v0) { /* switch 1; irregular */
case 0: /* switch 1 */
arg0->unk1C = 0;
return;
break;
case 1: /* switch 1 */
arg0->unk1C = 0x00000020;
return;
break;
case 2: /* switch 1 */
temp_v0_2 = arg0->unk1C;
if (temp_v0_2 > 0) {
temp_t2 = (temp_v0_2 - (temp_v0_2 / 12)) - 2;
arg0->unk1C = temp_t2;
if (temp_t2 < 0) {
if (arg0->unk1C > 0) {
arg0->unk1C = (arg0->unk1C - (arg0->unk1C / 12)) - 2;
if (arg0->unk1C < 0) {
arg0->unk1C = 0;
return;
}
}
return;
break;
case 3: /* switch 1 */
temp_v0_3 = arg0->unk1C;
temp_t4 = temp_v0_3 + 2;
if (temp_v0_3 < 0x20) {
arg0->unk1C = temp_t4;
if (temp_t4 >= 0x20) {
if (arg0->unk1C < 0x20) {
arg0->unk1C += 2;
if (arg0->unk1C >= 0x20) {
arg0->unk1C = 0x00000020;
}
}
break;
}
}
#else
GLOBAL_ASM("asm/non_matchings/code_80091750/func_800A9A98.s")
#endif
void func_800A9B9C(struct_8018D9E0_entry *arg0) {
switch (arg0->unk4) {
@@ -14128,14 +14086,12 @@ void func_800AEEE8(struct_8018D9E0_entry *arg0) {
}
}
extern u32 D_8018CA78;
void func_800AEF14(s32* arg0) {
void func_800AEF14(struct_8018D9E0_entry *arg0) {
if (D_8018CAE0 != 0) {
if ((u32) D_8018CA78 < (u32) (func_800B4E24(4) & 0xFFFFF)) {
D_8018ED90 = 1;
}
*arg0 = 0;
arg0->type = 0;
}
}
+30 -18
View File
@@ -60,23 +60,13 @@ typedef struct {
/* Function Prototypes */
void func_800A7A4C(s32);
void func_8009DF8C(u32, u32);
void func_8009DEF8(u32, u32);
void func_8009D77C(s32,s32,s32);
void func_8009CBE4(s32, s32, s32);
void func_800996BC(MkTexture*, s32);
void func_8009E2A8(s32);
s32 func_80091D74(void);
void func_80091EE4(void);
void func_80091FA4(void);
void func_80093A30(s32);
void func_80093A5C(u32);
void func_80093B70(u32);
f64 exponent_by_squaring(f64, s32);
f64 func_80091A6C(f64, s32);
f64 func_80091AC0(f64, s32*);
void swap_values(s32*, s32*);
s32 func_80091D74(void);
void func_80091EE4(void);
void func_80091FA4(void);
void func_80092148(void);
void func_800921B4(void);
void func_800921C0(s32, s32, s32);
@@ -110,6 +100,9 @@ void func_80093754(s32, s32, char*, s32, f32, f32);
void print_text2(s32, s32, char*, s32, f32, f32, s32);
void func_800939C8(s32, s32, char*, s32, f32, f32);
void text_draw(s32, s32, char*, s32, f32, f32);
void func_80093A30(s32);
void func_80093A5C(u32);
void func_80093B70(u32);
void func_80093C1C(s32);
void func_80093C88(void);
void func_80093C90(void);
@@ -136,16 +129,14 @@ void func_80099110(void);
void func_80099184(MkTexture*);
void *segmented_to_virtual_dupe(const void*);
void *segmented_to_virtual_dupe_2(const void*);
Gfx *func_8009C204(Gfx*, MkTexture*, s32, s32, s32);
void func_8009CA2C(void);
void func_8009CA6C(s32);
void func_8009969C(MkTexture*);
void func_80099A94(MkTexture *, s32);
void func_80099AEC(void);
void func_800996BC(MkTexture*, s32);
void func_80099E54(void);
void func_80099E60(MkTexture *, s32, s32);
void func_80099EC4(void);
void func_80099A70(void);
void func_80099A94(MkTexture *, s32);
void func_80099AEC(void);
void func_8009A344(void);
void func_8009A594(s32, s32, MkAnimation*);
void func_8009A640(s32, s32, s32, MkAnimation*);
@@ -162,17 +153,23 @@ Gfx *func_8009B9D0(Gfx*, MkTexture*);
Gfx *func_8009BA74(Gfx*, MkTexture*, s32, s32);
Gfx *func_8009BC9C(Gfx*, MkTexture*, s32, s32, s32, s32);
Gfx *func_8009BEF0(Gfx*, MkTexture*, f32, f32, s32, f32,f32);
Gfx *func_8009C204(Gfx*, MkTexture*, s32, s32, s32);
Gfx *func_8009C434(Gfx*, struct_8018DEE0_entry*, s32, s32, s32);
Gfx *func_8009C708(Gfx*, struct_8018DEE0_entry *, s32, s32, s32, s32);
void func_8009C918(void);
void func_8009CA2C(void);
void func_8009CA6C(s32);
void func_8009CBE4(s32, s32, s32);
void func_8009CDDC(s32, s32);
void func_8009CDFC(s32, s32);
void func_8009CE1C(void);
void func_8009D77C(s32,s32,s32);
void func_8009D958(s32, s32);
void func_8009D978(s32, s32);
void func_8009DEF8(u32, u32);
void func_8009DF4C(s32);
void func_8009DF6C(s32);
void func_8009DF8C(u32, u32);
void func_8009DFE0(s32);
void func_8009E000(s32);
void func_8009E020(s32, s32);
@@ -184,10 +181,13 @@ void func_8009E208(void);
void func_8009E230(void);
void func_8009E258(void);
void func_8009E280(void);
void func_8009E2A8(s32);
void func_8009E2F0(void);
void func_8009E5BC(void);
void func_8009E5FC(s32);
void func_8009E620(void);
void add_8018D9E0_entry(s32, s32, s32, s8);
void func_8009F5E0(struct_8018D9E0_entry*);
void func_800A08D8(u8, s32, s32);
s32 func_800A095C(char*, s32, s32, s32);
void func_800A09E0(struct_8018D9E0_entry*);
@@ -247,6 +247,7 @@ void get_time_record_minutes(s32, char*);
void get_time_record_seconds(s32 , char*);
void get_time_record_centiseconds(s32, char*);
void func_800A79F4(s32, char*);
void func_800A7A4C(s32);
void func_800A8230(void);
void func_800A8250(void);
void func_800A8270(s32, struct_8018D9E0_entry*);
@@ -269,6 +270,8 @@ void func_800A940C(struct_8018D9E0_entry*, s32);
void func_800A94C8(struct_8018D9E0_entry*, s32, s32);
void func_800A954C(struct_8018D9E0_entry*);
void func_800A9710(struct_8018D9E0_entry*);
void func_800A97BC(struct_8018D9E0_entry*);
void func_800A9A98(struct_8018D9E0_entry*);
void func_800A9B9C(struct_8018D9E0_entry*);
void func_800A9C40(struct_8018D9E0_entry*);
void func_800A9D5C(struct_8018D9E0_entry*);
@@ -277,6 +280,7 @@ void func_800AA280(struct_8018D9E0_entry*);
void func_800AA2EC(struct_8018D9E0_entry*);
void func_800AA5C8(struct_8018D9E0_entry*, s8);
void func_800AA69C(struct_8018D9E0_entry*);
void func_800AAA9C(struct_8018D9E0_entry*);
void func_800AAB90(struct_8018D9E0_entry*);
void func_800AAC18(struct_8018D9E0_entry*);
void func_800AADD4(struct_8018D9E0_entry*);
@@ -293,6 +297,7 @@ void func_800AB098(struct_8018D9E0_entry*);
void func_800AB164(struct_8018D9E0_entry*);
void func_800AB260(struct_8018D9E0_entry*);
void func_800AB290(struct_8018D9E0_entry*);
void func_800AB314(struct_8018D9E0_entry*);
void func_800AB904(struct_8018D9E0_entry*);
void func_800AB9B0(struct_8018D9E0_entry*);
void func_800ABAE8(struct_8018D9E0_entry*);
@@ -309,6 +314,7 @@ void func_800AC458(struct_8018D9E0_entry*);
void func_800AC978(struct_8018D9E0_entry*);
void func_800ACA14(struct_8018D9E0_entry*);
void func_800ACC50(struct_8018D9E0_entry*);
void func_800ACF40(struct_8018D9E0_entry*);
void func_800AD1A4(struct_8018D9E0_entry*);
void func_800AD2E8(struct_8018D9E0_entry*);
void func_800ADF48(struct_8018D9E0_entry*);
@@ -318,6 +324,7 @@ void func_800AEDBC(struct_8018D9E0_entry*);
void func_800AEE90(struct_8018D9E0_entry*);
void func_800AEEBC(struct_8018D9E0_entry*);
void func_800AEEE8(struct_8018D9E0_entry*);
void func_800AEF14(struct_8018D9E0_entry*);
void func_800AEF74(struct_8018D9E0_entry*);
void func_800AF004(struct_8018D9E0_entry*);
void func_800AF1AC(struct_8018D9E0_entry*);
@@ -373,6 +380,11 @@ extern f32 D_8018EDD8;
extern f32 D_8018EDDC;
extern s8 D_8018EE08;
extern s32 D_8018E7B8[];
extern s32 D_8018E7E0;
extern s32 D_8018CA78;
extern u8 _textures_0aSegmentRomStart[];
extern u8 _textures_0bSegmentRomStart[];