Match 6 functions

This commit is contained in:
AloXado320 2024-10-06 13:00:18 -05:00
parent 0ee98ae789
commit 9ad4f29c3c
7 changed files with 58 additions and 1086 deletions

View File

@ -1,112 +0,0 @@
glabel func_80099394
/* 099F94 80099394 27BDFFC8 */ addiu $sp, $sp, -0x38
/* 099F98 80099398 AFBF0034 */ sw $ra, 0x34($sp)
/* 099F9C 8009939C AFB60030 */ sw $s6, 0x30($sp)
/* 099FA0 800993A0 AFB5002C */ sw $s5, 0x2c($sp)
/* 099FA4 800993A4 AFB40028 */ sw $s4, 0x28($sp)
/* 099FA8 800993A8 AFB30024 */ sw $s3, 0x24($sp)
/* 099FAC 800993AC AFB20020 */ sw $s2, 0x20($sp)
/* 099FB0 800993B0 AFB1001C */ sw $s1, 0x1c($sp)
/* 099FB4 800993B4 0C026449 */ jal segmented_to_virtual_dupe
/* 099FB8 800993B8 AFB00018 */ sw $s0, 0x18($sp)
/* 099FBC 800993BC 8C4E0004 */ lw $t6, 4($v0)
/* 099FC0 800993C0 3C168019 */ lui $s6, %hi(gMenuTextureBuffer) # $s6, 0x8019
/* 099FC4 800993C4 00409025 */ move $s2, $v0
/* 099FC8 800993C8 11C0004E */ beqz $t6, .L80099504
/* 099FCC 800993CC 26D6D9B0 */ addiu $s6, %lo(gMenuTextureBuffer) # addiu $s6, $s6, -0x2650
/* 099FD0 800993D0 3C148019 */ lui $s4, %hi(gNumD_8018E118Entries) # $s4, 0x8019
/* 099FD4 800993D4 3C138019 */ lui $s3, %hi(gMenuTextureBufferIndex) # $s3, 0x8019
/* 099FD8 800993D8 3C118019 */ lui $s1, %hi(sMenuTextureMap) # $s1, 0x8019
/* 099FDC 800993DC 2631E118 */ addiu $s1, %lo(sMenuTextureMap) # addiu $s1, $s1, -0x1ee8
/* 099FE0 800993E0 2673E110 */ addiu $s3, %lo(gMenuTextureBufferIndex) # addiu $s3, $s3, -0x1ef0
/* 099FE4 800993E4 2694E758 */ addiu $s4, %lo(gNumD_8018E118Entries) # addiu $s4, $s4, -0x18a8
/* 099FE8 800993E8 24150005 */ li $s5, 5
/* 099FEC 800993EC 8E830000 */ lw $v1, ($s4)
.L800993F0:
/* 099FF0 800993F0 00002025 */ move $a0, $zero
/* 099FF4 800993F4 00001025 */ move $v0, $zero
/* 099FF8 800993F8 1860000D */ blez $v1, .L80099430
/* 099FFC 800993FC 00000000 */ nop
/* 09A000 80099400 8E500004 */ lw $s0, 4($s2)
/* 09A004 80099404 000278C0 */ sll $t7, $v0, 3
.L80099408:
/* 09A008 80099408 022FC021 */ addu $t8, $s1, $t7
/* 09A00C 8009940C 8F190000 */ lw $t9, ($t8)
/* 09A010 80099410 24420001 */ addiu $v0, $v0, 1
/* 09A014 80099414 0043082A */ slt $at, $v0, $v1
/* 09A018 80099418 17300003 */ bne $t9, $s0, .L80099428
/* 09A01C 8009941C 00000000 */ nop
/* 09A020 80099420 10000003 */ b .L80099430
/* 09A024 80099424 24040001 */ li $a0, 1
.L80099428:
/* 09A028 80099428 5420FFF7 */ bnel $at, $zero, .L80099408
/* 09A02C 8009942C 000278C0 */ sll $t7, $v0, 3
.L80099430:
/* 09A030 80099430 54800031 */ bnel $a0, $zero, .L800994F8
/* 09A034 80099434 8E4C0018 */ lw $t4, 0x18($s2)
/* 09A038 80099438 86480000 */ lh $t0, ($s2)
/* 09A03C 8009943C 8E500004 */ lw $s0, 4($s2)
/* 09A040 80099440 56A80013 */ bnel $s5, $t0, .L80099490
/* 09A044 80099444 000378C0 */ sll $t7, $v1, 3
/* 09A048 80099448 9649000A */ lhu $t1, 0xa($s2)
/* 09A04C 8009944C 964A0008 */ lhu $t2, 8($s2)
/* 09A050 80099450 8E6C0000 */ lw $t4, ($s3)
/* 09A054 80099454 8ECE0000 */ lw $t6, ($s6)
/* 09A058 80099458 012A0019 */ multu $t1, $t2
/* 09A05C 8009945C 000C6840 */ sll $t5, $t4, 1
/* 09A060 80099460 02002025 */ move $a0, $s0
/* 09A064 80099464 01AE3021 */ addu $a2, $t5, $t6
/* 09A068 80099468 00002812 */ mflo $a1
/* 09A06C 8009946C 04A10003 */ bgez $a1, .L8009947C
/* 09A070 80099470 00055843 */ sra $t3, $a1, 1
/* 09A074 80099474 24A10001 */ addiu $at, $a1, 1
/* 09A078 80099478 00015843 */ sra $t3, $at, 1
.L8009947C:
/* 09A07C 8009947C 0C026400 */ jal dma_copy_base_729a30
/* 09A080 80099480 01602825 */ move $a1, $t3
/* 09A084 80099484 8E830000 */ lw $v1, ($s4)
/* 09A088 80099488 8E500004 */ lw $s0, 4($s2)
/* 09A08C 8009948C 000378C0 */ sll $t7, $v1, 3
.L80099490:
/* 09A090 80099490 022FC021 */ addu $t8, $s1, $t7
/* 09A094 80099494 AF100000 */ sw $s0, ($t8)
/* 09A098 80099498 8E880000 */ lw $t0, ($s4)
/* 09A09C 8009949C 8E790000 */ lw $t9, ($s3)
/* 09A0A0 800994A0 000848C0 */ sll $t1, $t0, 3
/* 09A0A4 800994A4 02295021 */ addu $t2, $s1, $t1
/* 09A0A8 800994A8 AD590004 */ sw $t9, 4($t2)
/* 09A0AC 800994AC 964C0008 */ lhu $t4, 8($s2)
/* 09A0B0 800994B0 964B000A */ lhu $t3, 0xa($s2)
/* 09A0B4 800994B4 8E6E0000 */ lw $t6, ($s3)
/* 09A0B8 800994B8 8E8A0000 */ lw $t2, ($s4)
/* 09A0BC 800994BC 016C0019 */ multu $t3, $t4
/* 09A0C0 800994C0 254B0001 */ addiu $t3, $t2, 1
/* 09A0C4 800994C4 AE8B0000 */ sw $t3, ($s4)
/* 09A0C8 800994C8 00006812 */ mflo $t5
/* 09A0CC 800994CC 01CD7821 */ addu $t7, $t6, $t5
/* 09A0D0 800994D0 01E0C025 */ move $t8, $t7
/* 09A0D4 800994D4 AE6F0000 */ sw $t7, ($s3)
/* 09A0D8 800994D8 07010003 */ bgez $t8, .L800994E8
/* 09A0DC 800994DC 001840C3 */ sra $t0, $t8, 3
/* 09A0E0 800994E0 27010007 */ addiu $at, $t8, 7
/* 09A0E4 800994E4 000140C3 */ sra $t0, $at, 3
.L800994E8:
/* 09A0E8 800994E8 000848C0 */ sll $t1, $t0, 3
/* 09A0EC 800994EC 25390008 */ addiu $t9, $t1, 8
/* 09A0F0 800994F0 AE790000 */ sw $t9, ($s3)
/* 09A0F4 800994F4 8E4C0018 */ lw $t4, 0x18($s2)
.L800994F8:
/* 09A0F8 800994F8 26520014 */ addiu $s2, $s2, 0x14
/* 09A0FC 800994FC 5580FFBC */ bnel $t4, $zero, .L800993F0
/* 09A100 80099500 8E830000 */ lw $v1, ($s4)
.L80099504:
/* 09A104 80099504 8FBF0034 */ lw $ra, 0x34($sp)
/* 09A108 80099508 8FB00018 */ lw $s0, 0x18($sp)
/* 09A10C 8009950C 8FB1001C */ lw $s1, 0x1c($sp)
/* 09A110 80099510 8FB20020 */ lw $s2, 0x20($sp)
/* 09A114 80099514 8FB30024 */ lw $s3, 0x24($sp)
/* 09A118 80099518 8FB40028 */ lw $s4, 0x28($sp)
/* 09A11C 8009951C 8FB5002C */ lw $s5, 0x2c($sp)
/* 09A120 80099520 8FB60030 */ lw $s6, 0x30($sp)
/* 09A124 80099524 03E00008 */ jr $ra
/* 09A128 80099528 27BD0038 */ addiu $sp, $sp, 0x38

View File

@ -1,100 +0,0 @@
glabel func_8009952C
/* 09A12C 8009952C 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 09A130 80099530 AFBF002C */ sw $ra, 0x2c($sp)
/* 09A134 80099534 AFB50028 */ sw $s5, 0x28($sp)
/* 09A138 80099538 AFB40024 */ sw $s4, 0x24($sp)
/* 09A13C 8009953C AFB30020 */ sw $s3, 0x20($sp)
/* 09A140 80099540 AFB2001C */ sw $s2, 0x1c($sp)
/* 09A144 80099544 AFB10018 */ sw $s1, 0x18($sp)
/* 09A148 80099548 0C026449 */ jal segmented_to_virtual_dupe
/* 09A14C 8009954C AFB00014 */ sw $s0, 0x14($sp)
/* 09A150 80099550 8C4E0004 */ lw $t6, 4($v0)
/* 09A154 80099554 3C158019 */ lui $s5, %hi(gMenuTextureBuffer) # $s5, 0x8019
/* 09A158 80099558 00408825 */ move $s1, $v0
/* 09A15C 8009955C 11C00046 */ beqz $t6, .L80099678
/* 09A160 80099560 26B5D9B0 */ addiu $s5, %lo(gMenuTextureBuffer) # addiu $s5, $s5, -0x2650
/* 09A164 80099564 3C148019 */ lui $s4, %hi(gMenuCompressedBuffer) # $s4, 0x8019
/* 09A168 80099568 3C138019 */ lui $s3, %hi(gNumD_8018E118Entries) # $s3, 0x8019
/* 09A16C 8009956C 3C128019 */ lui $s2, %hi(gMenuTextureBufferIndex) # $s2, 0x8019
/* 09A170 80099570 3C108019 */ lui $s0, %hi(sMenuTextureMap) # $s0, 0x8019
/* 09A174 80099574 2610E118 */ addiu $s0, %lo(sMenuTextureMap) # addiu $s0, $s0, -0x1ee8
/* 09A178 80099578 2652E110 */ addiu $s2, %lo(gMenuTextureBufferIndex) # addiu $s2, $s2, -0x1ef0
/* 09A17C 8009957C 2673E758 */ addiu $s3, %lo(gNumD_8018E118Entries) # addiu $s3, $s3, -0x18a8
/* 09A180 80099580 2694D9B4 */ addiu $s4, %lo(gMenuCompressedBuffer) # addiu $s4, $s4, -0x264c
/* 09A184 80099584 8E630000 */ lw $v1, ($s3)
.L80099588:
/* 09A188 80099588 00002825 */ move $a1, $zero
/* 09A18C 8009958C 00001025 */ move $v0, $zero
/* 09A190 80099590 1860000D */ blez $v1, .L800995C8
/* 09A194 80099594 00000000 */ nop
/* 09A198 80099598 8E240004 */ lw $a0, 4($s1)
/* 09A19C 8009959C 000278C0 */ sll $t7, $v0, 3
.L800995A0:
/* 09A1A0 800995A0 020FC021 */ addu $t8, $s0, $t7
/* 09A1A4 800995A4 8F190000 */ lw $t9, ($t8)
/* 09A1A8 800995A8 24420001 */ addiu $v0, $v0, 1
/* 09A1AC 800995AC 0043082A */ slt $at, $v0, $v1
/* 09A1B0 800995B0 17240003 */ bne $t9, $a0, .L800995C0
/* 09A1B4 800995B4 00000000 */ nop
/* 09A1B8 800995B8 10000003 */ b .L800995C8
/* 09A1BC 800995BC 24050001 */ li $a1, 1
.L800995C0:
/* 09A1C0 800995C0 5420FFF7 */ bnel $at, $zero, .L800995A0
/* 09A1C4 800995C4 000278C0 */ sll $t7, $v0, 3
.L800995C8:
/* 09A1C8 800995C8 54A00028 */ bnel $a1, $zero, .L8009966C
/* 09A1CC 800995CC 8E2A0018 */ lw $t2, 0x18($s1)
/* 09A1D0 800995D0 8E240004 */ lw $a0, 4($s1)
/* 09A1D4 800995D4 34058000 */ li $a1, 32768
/* 09A1D8 800995D8 0C026400 */ jal dma_copy_base_729a30
/* 09A1DC 800995DC 8E860000 */ lw $a2, ($s4)
/* 09A1E0 800995E0 8E480000 */ lw $t0, ($s2)
/* 09A1E4 800995E4 8EAA0000 */ lw $t2, ($s5)
/* 09A1E8 800995E8 8E840000 */ lw $a0, ($s4)
/* 09A1EC 800995EC 00084840 */ sll $t1, $t0, 1
/* 09A1F0 800995F0 0C010034 */ jal mio0decode
/* 09A1F4 800995F4 012A2821 */ addu $a1, $t1, $t2
/* 09A1F8 800995F8 8E6C0000 */ lw $t4, ($s3)
/* 09A1FC 800995FC 8E2B0004 */ lw $t3, 4($s1)
/* 09A200 80099600 000C68C0 */ sll $t5, $t4, 3
/* 09A204 80099604 020D7021 */ addu $t6, $s0, $t5
/* 09A208 80099608 ADCB0000 */ sw $t3, ($t6)
/* 09A20C 8009960C 8E780000 */ lw $t8, ($s3)
/* 09A210 80099610 8E4F0000 */ lw $t7, ($s2)
/* 09A214 80099614 0018C8C0 */ sll $t9, $t8, 3
/* 09A218 80099618 02194021 */ addu $t0, $s0, $t9
/* 09A21C 8009961C AD0F0004 */ sw $t7, 4($t0)
/* 09A220 80099620 962A0008 */ lhu $t2, 8($s1)
/* 09A224 80099624 9629000A */ lhu $t1, 0xa($s1)
/* 09A228 80099628 8E4D0000 */ lw $t5, ($s2)
/* 09A22C 8009962C 8E680000 */ lw $t0, ($s3)
/* 09A230 80099630 012A0019 */ multu $t1, $t2
/* 09A234 80099634 25090001 */ addiu $t1, $t0, 1
/* 09A238 80099638 AE690000 */ sw $t1, ($s3)
/* 09A23C 8009963C 00006012 */ mflo $t4
/* 09A240 80099640 01AC5821 */ addu $t3, $t5, $t4
/* 09A244 80099644 01607025 */ move $t6, $t3
/* 09A248 80099648 AE4B0000 */ sw $t3, ($s2)
/* 09A24C 8009964C 05C10003 */ bgez $t6, .L8009965C
/* 09A250 80099650 000EC0C3 */ sra $t8, $t6, 3
/* 09A254 80099654 25C10007 */ addiu $at, $t6, 7
/* 09A258 80099658 0001C0C3 */ sra $t8, $at, 3
.L8009965C:
/* 09A25C 8009965C 0018C8C0 */ sll $t9, $t8, 3
/* 09A260 80099660 272F0008 */ addiu $t7, $t9, 8
/* 09A264 80099664 AE4F0000 */ sw $t7, ($s2)
/* 09A268 80099668 8E2A0018 */ lw $t2, 0x18($s1)
.L8009966C:
/* 09A26C 8009966C 26310014 */ addiu $s1, $s1, 0x14
/* 09A270 80099670 5540FFC5 */ bnel $t2, $zero, .L80099588
/* 09A274 80099674 8E630000 */ lw $v1, ($s3)
.L80099678:
/* 09A278 80099678 8FBF002C */ lw $ra, 0x2c($sp)
/* 09A27C 8009967C 8FB00014 */ lw $s0, 0x14($sp)
/* 09A280 80099680 8FB10018 */ lw $s1, 0x18($sp)
/* 09A284 80099684 8FB2001C */ lw $s2, 0x1c($sp)
/* 09A288 80099688 8FB30020 */ lw $s3, 0x20($sp)
/* 09A28C 8009968C 8FB40024 */ lw $s4, 0x24($sp)
/* 09A290 80099690 8FB50028 */ lw $s5, 0x28($sp)
/* 09A294 80099694 03E00008 */ jr $ra
/* 09A298 80099698 27BD0030 */ addiu $sp, $sp, 0x30

View File

@ -1,64 +0,0 @@
glabel func_800A09E0
/* 0A15E0 800A09E0 27BDFFC8 */ addiu $sp, $sp, -0x38
/* 0A15E4 800A09E4 AFB10018 */ sw $s1, 0x18($sp)
/* 0A15E8 800A09E8 3C118015 */ lui $s1, %hi(gDisplayListHead) # $s1, 0x8015
/* 0A15EC 800A09EC 26310298 */ addiu $s1, %lo(gDisplayListHead) # addiu $s1, $s1, 0x298
/* 0A15F0 800A09F0 8E230000 */ lw $v1, ($s1)
/* 0A15F4 800A09F4 AFB70030 */ sw $s7, 0x30($sp)
/* 0A15F8 800A09F8 AFB6002C */ sw $s6, 0x2c($sp)
/* 0A15FC 800A09FC AFB50028 */ sw $s5, 0x28($sp)
/* 0A1600 800A0A00 AFB40024 */ sw $s4, 0x24($sp)
/* 0A1604 800A0A04 AFB30020 */ sw $s3, 0x20($sp)
/* 0A1608 800A0A08 AFB2001C */ sw $s2, 0x1c($sp)
/* 0A160C 800A0A0C AFB00014 */ sw $s0, 0x14($sp)
/* 0A1610 800A0A10 246E0008 */ addiu $t6, $v1, 8
/* 0A1614 800A0A14 AFBF0034 */ sw $ra, 0x34($sp)
/* 0A1618 800A0A18 AE2E0000 */ sw $t6, ($s1)
/* 0A161C 800A0A1C 3C18004F */ lui $t8, (0x004FC308 >> 16) # lui $t8, 0x4f
/* 0A1620 800A0A20 3718C308 */ ori $t8, (0x004FC308 & 0xFFFF) # ori $t8, $t8, 0xc308
/* 0A1624 800A0A24 3C0FED00 */ lui $t7, 0xed00
/* 0A1628 800A0A28 3C13800F */ lui $s3, %hi(gControllerPakScrollDirection) # $s3, 0x800f
/* 0A162C 800A0A2C 3C160200 */ lui $s6, %hi(D_0200157C) # $s6, 0x200
/* 0A1630 800A0A30 00809025 */ move $s2, $a0
/* 0A1634 800A0A34 26D6157C */ addiu $s6, %lo(D_0200157C) # addiu $s6, $s6, 0x157c
/* 0A1638 800A0A38 267386D0 */ addiu $s3, %lo(gControllerPakScrollDirection) # addiu $s3, $s3, -0x7930
/* 0A163C 800A0A3C 00008025 */ move $s0, $zero
/* 0A1640 800A0A40 24140008 */ li $s4, 8
/* 0A1644 800A0A44 24150009 */ li $s5, 9
/* 0A1648 800A0A48 2417000A */ li $s7, 10
/* 0A164C 800A0A4C AC6F0000 */ sw $t7, ($v1)
/* 0A1650 800A0A50 AC780004 */ sw $t8, 4($v1)
/* 0A1654 800A0A54 82790000 */ lb $t9, ($s3)
.L800A0A58:
/* 0A1658 800A0A58 17200005 */ bnez $t9, .L800A0A70
/* 0A165C 800A0A5C 00000000 */ nop
/* 0A1660 800A0A60 5200000E */ beql $s0, $zero, .L800A0A9C
/* 0A1664 800A0A64 26100001 */ addiu $s0, $s0, 1
/* 0A1668 800A0A68 5214000C */ beql $s0, $s4, .L800A0A9C
/* 0A166C 800A0A6C 26100001 */ addiu $s0, $s0, 1
.L800A0A70:
/* 0A1670 800A0A70 02170019 */ multu $s0, $s7
/* 0A1674 800A0A74 8E490010 */ lw $t1, 0x10($s2)
/* 0A1678 800A0A78 8E240000 */ lw $a0, ($s1)
/* 0A167C 800A0A7C 02C02825 */ move $a1, $s6
/* 0A1680 800A0A80 24060020 */ li $a2, 32
/* 0A1684 800A0A84 00004012 */ mflo $t0
/* 0A1688 800A0A88 01093821 */ addu $a3, $t0, $t1
/* 0A168C 800A0A8C 0C026E9D */ jal func_8009BA74
/* 0A1690 800A0A90 00000000 */ nop
/* 0A1694 800A0A94 AE220000 */ sw $v0, ($s1)
/* 0A1698 800A0A98 26100001 */ addiu $s0, $s0, 1
.L800A0A9C:
/* 0A169C 800A0A9C 5615FFEE */ bnel $s0, $s5, .L800A0A58
/* 0A16A0 800A0AA0 82790000 */ lb $t9, ($s3)
/* 0A16A4 800A0AA4 8FBF0034 */ lw $ra, 0x34($sp)
/* 0A16A8 800A0AA8 8FB00014 */ lw $s0, 0x14($sp)
/* 0A16AC 800A0AAC 8FB10018 */ lw $s1, 0x18($sp)
/* 0A16B0 800A0AB0 8FB2001C */ lw $s2, 0x1c($sp)
/* 0A16B4 800A0AB4 8FB30020 */ lw $s3, 0x20($sp)
/* 0A16B8 800A0AB8 8FB40024 */ lw $s4, 0x24($sp)
/* 0A16BC 800A0ABC 8FB50028 */ lw $s5, 0x28($sp)
/* 0A16C0 800A0AC0 8FB6002C */ lw $s6, 0x2c($sp)
/* 0A16C4 800A0AC4 8FB70030 */ lw $s7, 0x30($sp)
/* 0A16C8 800A0AC8 03E00008 */ jr $ra
/* 0A16CC 800A0ACC 27BD0038 */ addiu $sp, $sp, 0x38

View File

@ -1,367 +0,0 @@
.section .late_rodata
glabel jpt_800F2688
.word L800AC488, L800AC4EC, L800AC580, L800AC5D0
.word L800AC5D0, L800AC5D0, L800AC5D0, L800AC738
.word L800AC78C, L800AC7CC, L800AC878, L800AC8A0
.word L800AC8E0, L800AC968
.section .text
glabel func_800AC458
/* 0AD058 800AC458 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 0AD05C 800AC45C AFBF0014 */ sw $ra, 0x14($sp)
/* 0AD060 800AC460 8C820004 */ lw $v0, 4($a0)
/* 0AD064 800AC464 00803825 */ move $a3, $a0
/* 0AD068 800AC468 2C41000E */ sltiu $at, $v0, 0xe
/* 0AD06C 800AC46C 1020013E */ beqz $at, .L800AC968
/* 0AD070 800AC470 00027080 */ sll $t6, $v0, 2
/* 0AD074 800AC474 3C01800F */ lui $at, %hi(jpt_800F2688)
/* 0AD078 800AC478 002E0821 */ addu $at, $at, $t6
/* 0AD07C 800AC47C 8C2E2688 */ lw $t6, %lo(jpt_800F2688)($at)
/* 0AD080 800AC480 01C00008 */ jr $t6
/* 0AD084 800AC484 00000000 */ nop
glabel L800AC488
/* 0AD088 800AC488 240FFF60 */ li $t7, -160
/* 0AD08C 800AC48C 24180001 */ li $t8, 1
/* 0AD090 800AC490 ACEF000C */ sw $t7, 0xc($a3)
/* 0AD094 800AC494 ACF80004 */ sw $t8, 4($a3)
/* 0AD098 800AC498 3C028019 */ lui $v0, %hi(sGPPointsCopy) # $v0, 0x8019
/* 0AD09C 800AC49C 2442D9BC */ addiu $v0, %lo(sGPPointsCopy) # addiu $v0, $v0, -0x2644
/* 0AD0A0 800AC4A0 3C19800F */ lui $t9, %hi(gGPPointRewards) # $t9, 0x800f
/* 0AD0A4 800AC4A4 83390B18 */ lb $t9, %lo(gGPPointRewards)($t9)
/* 0AD0A8 800AC4A8 8C4A0000 */ lw $t2, ($v0)
/* 0AD0AC 800AC4AC 3C0B800F */ lui $t3, %hi(gGPPointRewards + 1) # $t3, 0x800f
/* 0AD0B0 800AC4B0 3C0D800F */ lui $t5, %hi(gGPPointRewards + 2) # $t5, 0x800f
/* 0AD0B4 800AC4B4 A1590000 */ sb $t9, ($t2)
/* 0AD0B8 800AC4B8 8C4C0000 */ lw $t4, ($v0)
/* 0AD0BC 800AC4BC 816B0B19 */ lb $t3, %lo(gGPPointRewards + 1)($t3)
/* 0AD0C0 800AC4C0 3C0F800F */ lui $t7, %hi(gGPPointRewards + 3) # $t7, 0x800f
/* 0AD0C4 800AC4C4 A18B0001 */ sb $t3, 1($t4)
/* 0AD0C8 800AC4C8 8C4E0000 */ lw $t6, ($v0)
/* 0AD0CC 800AC4CC 81AD0B1A */ lb $t5, %lo(gGPPointRewards + 2)($t5)
/* 0AD0D0 800AC4D0 A1CD0002 */ sb $t5, 2($t6)
/* 0AD0D4 800AC4D4 8C580000 */ lw $t8, ($v0)
/* 0AD0D8 800AC4D8 81EF0B1B */ lb $t7, %lo(gGPPointRewards + 3)($t7)
/* 0AD0DC 800AC4DC A30F0003 */ sb $t7, 3($t8)
/* 0AD0E0 800AC4E0 8CF9000C */ lw $t9, 0xc($a3)
/* 0AD0E4 800AC4E4 10000120 */ b .L800AC968
/* 0AD0E8 800AC4E8 ACF90020 */ sw $t9, 0x20($a3)
glabel L800AC4EC
/* 0AD0EC 800AC4EC 8CE50020 */ lw $a1, 0x20($a3)
/* 0AD0F0 800AC4F0 3C0A8019 */ lui $t2, %hi(D_8018D9D8) # $t2, 0x8019
/* 0AD0F4 800AC4F4 24040010 */ li $a0, 16
/* 0AD0F8 800AC4F8 ACE5000C */ sw $a1, 0xc($a3)
/* 0AD0FC 800AC4FC 814AD9D8 */ lb $t2, %lo(D_8018D9D8)($t2)
/* 0AD100 800AC500 3C02800E */ lui $v0, %hi(D_800DC5EC) # $v0, 0x800e
/* 0AD104 800AC504 240F0002 */ li $t7, 2
/* 0AD108 800AC508 11400003 */ beqz $t2, .L800AC518
/* 0AD10C 800AC50C 3C19800E */ lui $t9, %hi(D_800DC5EC) # $t9, 0x800e
/* 0AD110 800AC510 10000001 */ b .L800AC518
/* 0AD114 800AC514 24040020 */ li $a0, 32
.L800AC518:
/* 0AD118 800AC518 00A43021 */ addu $a2, $a1, $a0
/* 0AD11C 800AC51C 04C3000D */ bgezl $a2, .L800AC554
/* 0AD120 800AC520 ACE00020 */ sw $zero, 0x20($a3)
/* 0AD124 800AC524 ACE60020 */ sw $a2, 0x20($a3)
/* 0AD128 800AC528 8C42C5EC */ lw $v0, %lo(D_800DC5EC)($v0)
/* 0AD12C 800AC52C 3C03800E */ lui $v1, %hi(D_800DC5F0) # $v1, 0x800e
/* 0AD130 800AC530 844B0030 */ lh $t3, 0x30($v0)
/* 0AD134 800AC534 01646021 */ addu $t4, $t3, $a0
/* 0AD138 800AC538 A44C0030 */ sh $t4, 0x30($v0)
/* 0AD13C 800AC53C 8C63C5F0 */ lw $v1, %lo(D_800DC5F0)($v1)
/* 0AD140 800AC540 846D0030 */ lh $t5, 0x30($v1)
/* 0AD144 800AC544 01A47023 */ subu $t6, $t5, $a0
/* 0AD148 800AC548 10000107 */ b .L800AC968
/* 0AD14C 800AC54C A46E0030 */ sh $t6, 0x30($v1)
/* 0AD150 800AC550 ACE00020 */ sw $zero, 0x20($a3)
.L800AC554:
/* 0AD154 800AC554 ACE0000C */ sw $zero, 0xc($a3)
/* 0AD158 800AC558 ACEF0004 */ sw $t7, 4($a3)
/* 0AD15C 800AC55C ACE0001C */ sw $zero, 0x1c($a3)
/* 0AD160 800AC560 8F39C5EC */ lw $t9, %lo(D_800DC5EC)($t9)
/* 0AD164 800AC564 241800F0 */ li $t8, 240
/* 0AD168 800AC568 3C0B800E */ lui $t3, %hi(D_800DC5F0) # $t3, 0x800e
/* 0AD16C 800AC56C A7380030 */ sh $t8, 0x30($t9)
/* 0AD170 800AC570 8D6BC5F0 */ lw $t3, %lo(D_800DC5F0)($t3)
/* 0AD174 800AC574 240A0050 */ li $t2, 80
/* 0AD178 800AC578 100000FB */ b .L800AC968
/* 0AD17C 800AC57C A56A0030 */ sh $t2, 0x30($t3)
glabel L800AC580
/* 0AD180 800AC580 8CEC001C */ lw $t4, 0x1c($a3)
/* 0AD184 800AC584 ACE0000C */ sw $zero, 0xc($a3)
/* 0AD188 800AC588 3C0E8019 */ lui $t6, %hi(D_8018D9D8) # $t6, 0x8019
/* 0AD18C 800AC58C 258D0001 */ addiu $t5, $t4, 1
/* 0AD190 800AC590 ACED001C */ sw $t5, 0x1c($a3)
/* 0AD194 800AC594 81CED9D8 */ lb $t6, %lo(D_8018D9D8)($t6)
/* 0AD198 800AC598 29A1001F */ slti $at, $t5, 0x1f
/* 0AD19C 800AC59C 3C18800E */ lui $t8, %hi(D_800DDB24) # $t8, 0x800e
/* 0AD1A0 800AC5A0 15C00003 */ bnez $t6, .L800AC5B0
/* 0AD1A4 800AC5A4 00000000 */ nop
/* 0AD1A8 800AC5A8 542000F0 */ bnel $at, $zero, .L800AC96C
/* 0AD1AC 800AC5AC 8FBF0014 */ lw $ra, 0x14($sp)
.L800AC5B0:
/* 0AD1B0 800AC5B0 8F18DB24 */ lw $t8, %lo(D_800DDB24)($t8)
/* 0AD1B4 800AC5B4 24190003 */ li $t9, 3
/* 0AD1B8 800AC5B8 530000EC */ beql $t8, $zero, .L800AC96C
/* 0AD1BC 800AC5BC 8FBF0014 */ lw $ra, 0x14($sp)
/* 0AD1C0 800AC5C0 ACF90004 */ sw $t9, 4($a3)
/* 0AD1C4 800AC5C4 ACE0001C */ sw $zero, 0x1c($a3)
/* 0AD1C8 800AC5C8 100000E7 */ b .L800AC968
/* 0AD1CC 800AC5CC ACE00020 */ sw $zero, 0x20($a3)
glabel L800AC5D0
/* 0AD1D0 800AC5D0 8CEA001C */ lw $t2, 0x1c($a3)
/* 0AD1D4 800AC5D4 24010003 */ li $at, 3
/* 0AD1D8 800AC5D8 00004825 */ move $t1, $zero
/* 0AD1DC 800AC5DC 254B0001 */ addiu $t3, $t2, 1
/* 0AD1E0 800AC5E0 0161001A */ div $zero, $t3, $at
/* 0AD1E4 800AC5E4 00006810 */ mfhi $t5
/* 0AD1E8 800AC5E8 2445FFFD */ addiu $a1, $v0, -3
/* 0AD1EC 800AC5EC 11A00004 */ beqz $t5, .L800AC600
/* 0AD1F0 800AC5F0 ACEB001C */ sw $t3, 0x1c($a3)
/* 0AD1F4 800AC5F4 3C0E8019 */ lui $t6, %hi(D_8018D9D8) # $t6, 0x8019
/* 0AD1F8 800AC5F8 81CED9D8 */ lb $t6, %lo(D_8018D9D8)($t6)
/* 0AD1FC 800AC5FC 11C00032 */ beqz $t6, .L800AC6C8
.L800AC600:
/* 0AD200 800AC600 3C028019 */ lui $v0, %hi(sGPPointsCopy) # $v0, 0x8019
/* 0AD204 800AC604 2442D9BC */ addiu $v0, %lo(sGPPointsCopy) # addiu $v0, $v0, -0x2644
/* 0AD208 800AC608 8C4F0000 */ lw $t7, ($v0)
/* 0AD20C 800AC60C 0005C840 */ sll $t9, $a1, 1
/* 0AD210 800AC610 3C0A8016 */ lui $t2, %hi(gGPCurrentRacePlayerIdByRank) # 0x8016
/* 0AD214 800AC614 01E53021 */ addu $a2, $t7, $a1
/* 0AD218 800AC618 90C80000 */ lbu $t0, ($a2)
/* 0AD21C 800AC61C 01595021 */ addu $t2, $t2, $t9
/* 0AD220 800AC620 3C0C800F */ lui $t4, %hi(gPlayers+0x254) # 0x800f
/* 0AD224 800AC624 19000028 */ blez $t0, .L800AC6C8
/* 0AD228 800AC628 2518FFFF */ addiu $t8, $t0, -1
/* 0AD22C 800AC62C A0D80000 */ sb $t8, ($a2)
/* 0AD230 800AC630 854A4360 */ lh $t2, %lo(gGPCurrentRacePlayerIdByRank)($t2) # 0x4360($t2)
/* 0AD234 800AC634 3C0D8019 */ lui $t5, %hi(gGPPointsByCharacterId) # $t5, 0x8019
/* 0AD238 800AC638 25ADD9C8 */ addiu $t5, %lo(gGPPointsByCharacterId) # addiu $t5, $t5, -0x2638
/* 0AD23C 800AC63C 000A58C0 */ sll $t3, $t2, 3
/* 0AD240 800AC640 016A5823 */ subu $t3, $t3, $t2
/* 0AD244 800AC644 000B5900 */ sll $t3, $t3, 4
/* 0AD248 800AC648 016A5823 */ subu $t3, $t3, $t2
/* 0AD24C 800AC64C 000B5880 */ sll $t3, $t3, 2
/* 0AD250 800AC650 016A5823 */ subu $t3, $t3, $t2
/* 0AD254 800AC654 000B58C0 */ sll $t3, $t3, 3
/* 0AD258 800AC658 018B6021 */ addu $t4, $t4, $t3
/* 0AD25C 800AC65C 958C6BE4 */ lhu $t4, %lo(gPlayers+0x254)($t4) # 0x6be4($t4)
/* 0AD260 800AC660 3C044900 */ lui $a0, (0x49008017 >> 16) # lui $a0, 0x4900
/* 0AD264 800AC664 34848017 */ ori $a0, (0x49008017 & 0xFFFF) # ori $a0, $a0, 0x8017
/* 0AD268 800AC668 018D1821 */ addu $v1, $t4, $t5
/* 0AD26C 800AC66C 806E0000 */ lb $t6, ($v1)
/* 0AD270 800AC670 AFA90018 */ sw $t1, 0x18($sp)
/* 0AD274 800AC674 AFA70020 */ sw $a3, 0x20($sp)
/* 0AD278 800AC678 25CF0001 */ addiu $t7, $t6, 1
/* 0AD27C 800AC67C A06F0000 */ sb $t7, ($v1)
/* 0AD280 800AC680 0C032384 */ jal play_sound2
/* 0AD284 800AC684 AFA5001C */ sw $a1, 0x1c($sp)
/* 0AD288 800AC688 3C028019 */ lui $v0, %hi(sGPPointsCopy) # $v0, 0x8019
/* 0AD28C 800AC68C 2442D9BC */ addiu $v0, %lo(sGPPointsCopy) # addiu $v0, $v0, -0x2644
/* 0AD290 800AC690 8FA5001C */ lw $a1, 0x1c($sp)
/* 0AD294 800AC694 8C580000 */ lw $t8, ($v0)
/* 0AD298 800AC698 8FA70020 */ lw $a3, 0x20($sp)
/* 0AD29C 800AC69C 8FA90018 */ lw $t1, 0x18($sp)
/* 0AD2A0 800AC6A0 0305C821 */ addu $t9, $t8, $a1
/* 0AD2A4 800AC6A4 932A0000 */ lbu $t2, ($t9)
/* 0AD2A8 800AC6A8 55400008 */ bnel $t2, $zero, .L800AC6CC
/* 0AD2AC 800AC6AC 8CED0020 */ lw $t5, 0x20($a3)
/* 0AD2B0 800AC6B0 8CEB0020 */ lw $t3, 0x20($a3)
/* 0AD2B4 800AC6B4 240C0001 */ li $t4, 1
/* 0AD2B8 800AC6B8 55600004 */ bnel $t3, $zero, .L800AC6CC
/* 0AD2BC 800AC6BC 8CED0020 */ lw $t5, 0x20($a3)
/* 0AD2C0 800AC6C0 ACEC0020 */ sw $t4, 0x20($a3)
/* 0AD2C4 800AC6C4 ACE0001C */ sw $zero, 0x1c($a3)
.L800AC6C8:
/* 0AD2C8 800AC6C8 8CED0020 */ lw $t5, 0x20($a3)
.L800AC6CC:
/* 0AD2CC 800AC6CC 11A0000D */ beqz $t5, .L800AC704
/* 0AD2D0 800AC6D0 00000000 */ nop
/* 0AD2D4 800AC6D4 8CE2001C */ lw $v0, 0x1c($a3)
/* 0AD2D8 800AC6D8 3C0E8019 */ lui $t6, %hi(D_8018D9D8) # $t6, 0x8019
/* 0AD2DC 800AC6DC 2841000B */ slti $at, $v0, 0xb
/* 0AD2E0 800AC6E0 50200008 */ beql $at, $zero, .L800AC704
/* 0AD2E4 800AC6E4 24090001 */ li $t1, 1
/* 0AD2E8 800AC6E8 81CED9D8 */ lb $t6, %lo(D_8018D9D8)($t6)
/* 0AD2EC 800AC6EC 28410004 */ slti $at, $v0, 4
/* 0AD2F0 800AC6F0 11C00004 */ beqz $t6, .L800AC704
/* 0AD2F4 800AC6F4 00000000 */ nop
/* 0AD2F8 800AC6F8 14200002 */ bnez $at, .L800AC704
/* 0AD2FC 800AC6FC 00000000 */ nop
/* 0AD300 800AC700 24090001 */ li $t1, 1
.L800AC704:
/* 0AD304 800AC704 51200099 */ beql $t1, $zero, .L800AC96C
/* 0AD308 800AC708 8FBF0014 */ lw $ra, 0x14($sp)
/* 0AD30C 800AC70C 8CE20004 */ lw $v0, 4($a3)
/* 0AD310 800AC710 ACE00020 */ sw $zero, 0x20($a3)
/* 0AD314 800AC714 ACE0001C */ sw $zero, 0x1c($a3)
/* 0AD318 800AC718 28410006 */ slti $at, $v0, 6
/* 0AD31C 800AC71C 10200004 */ beqz $at, .L800AC730
/* 0AD320 800AC720 24180007 */ li $t8, 7
/* 0AD324 800AC724 244F0001 */ addiu $t7, $v0, 1
/* 0AD328 800AC728 1000008F */ b .L800AC968
/* 0AD32C 800AC72C ACEF0004 */ sw $t7, 4($a3)
.L800AC730:
/* 0AD330 800AC730 1000008D */ b .L800AC968
/* 0AD334 800AC734 ACF80004 */ sw $t8, 4($a3)
glabel L800AC738
/* 0AD338 800AC738 8CF9001C */ lw $t9, 0x1c($a3)
/* 0AD33C 800AC73C 3C0B8019 */ lui $t3, %hi(D_8018D9D8) # $t3, 0x8019
/* 0AD340 800AC740 272A0001 */ addiu $t2, $t9, 1
/* 0AD344 800AC744 ACEA001C */ sw $t2, 0x1c($a3)
/* 0AD348 800AC748 816BD9D8 */ lb $t3, %lo(D_8018D9D8)($t3)
/* 0AD34C 800AC74C 2941000B */ slti $at, $t2, 0xb
/* 0AD350 800AC750 51600004 */ beql $t3, $zero, .L800AC764
/* 0AD354 800AC754 8CED001C */ lw $t5, 0x1c($a3)
/* 0AD358 800AC758 10200004 */ beqz $at, .L800AC76C
/* 0AD35C 800AC75C 00000000 */ nop
/* 0AD360 800AC760 8CED001C */ lw $t5, 0x1c($a3)
.L800AC764:
/* 0AD364 800AC764 29A1003D */ slti $at, $t5, 0x3d
/* 0AD368 800AC768 1420007F */ bnez $at, .L800AC968
.L800AC76C:
/* 0AD36C 800AC76C 3C0E800E */ lui $t6, %hi(D_800DDB24) # $t6, 0x800e
/* 0AD370 800AC770 8DCEDB24 */ lw $t6, %lo(D_800DDB24)($t6)
/* 0AD374 800AC774 24060008 */ li $a2, 8
/* 0AD378 800AC778 51C0007C */ beql $t6, $zero, .L800AC96C
/* 0AD37C 800AC77C 8FBF0014 */ lw $ra, 0x14($sp)
/* 0AD380 800AC780 ACE60004 */ sw $a2, 4($a3)
/* 0AD384 800AC784 10000078 */ b .L800AC968
/* 0AD388 800AC788 ACE0001C */ sw $zero, 0x1c($a3)
glabel L800AC78C
/* 0AD38C 800AC78C 8CEF001C */ lw $t7, 0x1c($a3)
/* 0AD390 800AC790 3C198019 */ lui $t9, %hi(D_8018D9D8) # $t9, 0x8019
/* 0AD394 800AC794 240D0009 */ li $t5, 9
/* 0AD398 800AC798 25F80001 */ addiu $t8, $t7, 1
/* 0AD39C 800AC79C ACF8001C */ sw $t8, 0x1c($a3)
/* 0AD3A0 800AC7A0 8339D9D8 */ lb $t9, %lo(D_8018D9D8)($t9)
/* 0AD3A4 800AC7A4 270B0005 */ addiu $t3, $t8, 5
/* 0AD3A8 800AC7A8 53200003 */ beql $t9, $zero, .L800AC7B8
/* 0AD3AC 800AC7AC 8CEC001C */ lw $t4, 0x1c($a3)
/* 0AD3B0 800AC7B0 ACEB001C */ sw $t3, 0x1c($a3)
/* 0AD3B4 800AC7B4 8CEC001C */ lw $t4, 0x1c($a3)
.L800AC7B8:
/* 0AD3B8 800AC7B8 29810029 */ slti $at, $t4, 0x29
/* 0AD3BC 800AC7BC 5420006B */ bnel $at, $zero, .L800AC96C
/* 0AD3C0 800AC7C0 8FBF0014 */ lw $ra, 0x14($sp)
/* 0AD3C4 800AC7C4 10000068 */ b .L800AC968
/* 0AD3C8 800AC7C8 ACED0004 */ sw $t5, 4($a3)
glabel L800AC7CC
/* 0AD3CC 800AC7CC 8CEE001C */ lw $t6, 0x1c($a3)
/* 0AD3D0 800AC7D0 3C188019 */ lui $t8, %hi(D_8018D9D8) # $t8, 0x8019
/* 0AD3D4 800AC7D4 240C000A */ li $t4, 10
/* 0AD3D8 800AC7D8 25CFFFFF */ addiu $t7, $t6, -1
/* 0AD3DC 800AC7DC ACEF001C */ sw $t7, 0x1c($a3)
/* 0AD3E0 800AC7E0 8318D9D8 */ lb $t8, %lo(D_8018D9D8)($t8)
/* 0AD3E4 800AC7E4 25EAFFFB */ addiu $t2, $t7, -5
/* 0AD3E8 800AC7E8 3C0D8019 */ lui $t5, %hi(gCourseIndexInCup) # $t5, 0x8019
/* 0AD3EC 800AC7EC 53000003 */ beql $t8, $zero, .L800AC7FC
/* 0AD3F0 800AC7F0 8CEB001C */ lw $t3, 0x1c($a3)
/* 0AD3F4 800AC7F4 ACEA001C */ sw $t2, 0x1c($a3)
/* 0AD3F8 800AC7F8 8CEB001C */ lw $t3, 0x1c($a3)
.L800AC7FC:
/* 0AD3FC 800AC7FC 5D60005B */ bgtzl $t3, .L800AC96C
/* 0AD400 800AC800 8FBF0014 */ lw $ra, 0x14($sp)
/* 0AD404 800AC804 ACEC0004 */ sw $t4, 4($a3)
/* 0AD408 800AC808 ACE0001C */ sw $zero, 0x1c($a3)
/* 0AD40C 800AC80C 81ADEE0B */ lb $t5, %lo(gCourseIndexInCup)($t5)
/* 0AD410 800AC810 24010003 */ li $at, 3
/* 0AD414 800AC814 00002825 */ move $a1, $zero
/* 0AD418 800AC818 15A10053 */ bne $t5, $at, .L800AC968
/* 0AD41C 800AC81C 3C028019 */ lui $v0, %hi(gCharacterIdByGPOverallRank) # $v0, 0x8019
/* 0AD420 800AC820 3C038019 */ lui $v1, %hi(gPlayerCount) # $v1, 0x8019
/* 0AD424 800AC824 3C048016 */ lui $a0, %hi(D_80164478) # $a0, 0x8016
/* 0AD428 800AC828 24844478 */ addiu $a0, %lo(D_80164478) # addiu $a0, $a0, 0x4478
/* 0AD42C 800AC82C 8063EDF3 */ lb $v1, %lo(gPlayerCount)($v1)
/* 0AD430 800AC830 2442D9D0 */ addiu $v0, %lo(gCharacterIdByGPOverallRank) # addiu $v0, $v0, -0x2630
/* 0AD434 800AC834 24060008 */ li $a2, 8
.L800AC838:
/* 0AD438 800AC838 804E0000 */ lb $t6, ($v0)
/* 0AD43C 800AC83C 000E7840 */ sll $t7, $t6, 1
/* 0AD440 800AC840 008FC021 */ addu $t8, $a0, $t7
/* 0AD444 800AC844 87190000 */ lh $t9, ($t8)
/* 0AD448 800AC848 0323082A */ slt $at, $t9, $v1
/* 0AD44C 800AC84C 50200006 */ beql $at, $zero, .L800AC868
/* 0AD450 800AC850 24A50001 */ addiu $a1, $a1, 1
/* 0AD454 800AC854 0C02D4DB */ jal func_800B536C
/* 0AD458 800AC858 00A02025 */ move $a0, $a1
/* 0AD45C 800AC85C 10000043 */ b .L800AC96C
/* 0AD460 800AC860 8FBF0014 */ lw $ra, 0x14($sp)
/* 0AD464 800AC864 24A50001 */ addiu $a1, $a1, 1
.L800AC868:
/* 0AD468 800AC868 14A6FFF3 */ bne $a1, $a2, .L800AC838
/* 0AD46C 800AC86C 24420001 */ addiu $v0, $v0, 1
/* 0AD470 800AC870 1000003E */ b .L800AC96C
/* 0AD474 800AC874 8FBF0014 */ lw $ra, 0x14($sp)
glabel L800AC878
/* 0AD478 800AC878 8CEA001C */ lw $t2, 0x1c($a3)
/* 0AD47C 800AC87C 240D000B */ li $t5, 11
/* 0AD480 800AC880 254B0001 */ addiu $t3, $t2, 1
/* 0AD484 800AC884 19600038 */ blez $t3, .L800AC968
/* 0AD488 800AC888 ACEB001C */ sw $t3, 0x1c($a3)
/* 0AD48C 800AC88C ACED0004 */ sw $t5, 4($a3)
/* 0AD490 800AC890 0C02486D */ jal func_800921B4
/* 0AD494 800AC894 ACE0001C */ sw $zero, 0x1c($a3)
/* 0AD498 800AC898 10000034 */ b .L800AC96C
/* 0AD49C 800AC89C 8FBF0014 */ lw $ra, 0x14($sp)
glabel L800AC8A0
/* 0AD4A0 800AC8A0 3C0E8019 */ lui $t6, %hi(D_8018D9D8) # $t6, 0x8019
/* 0AD4A4 800AC8A4 81CED9D8 */ lb $t6, %lo(D_8018D9D8)($t6)
/* 0AD4A8 800AC8A8 3C0F800E */ lui $t7, %hi(D_800DDB24) # $t7, 0x800e
/* 0AD4AC 800AC8AC 51C0002F */ beql $t6, $zero, .L800AC96C
/* 0AD4B0 800AC8B0 8FBF0014 */ lw $ra, 0x14($sp)
/* 0AD4B4 800AC8B4 8DEFDB24 */ lw $t7, %lo(D_800DDB24)($t7)
/* 0AD4B8 800AC8B8 3C044900 */ lui $a0, (0x49008015 >> 16) # lui $a0, 0x4900
/* 0AD4BC 800AC8BC 2418000C */ li $t8, 12
/* 0AD4C0 800AC8C0 11E00029 */ beqz $t7, .L800AC968
/* 0AD4C4 800AC8C4 34848015 */ ori $a0, (0x49008015 & 0xFFFF) # ori $a0, $a0, 0x8015
/* 0AD4C8 800AC8C8 8CF90010 */ lw $t9, 0x10($a3)
/* 0AD4CC 800AC8CC ACF80004 */ sw $t8, 4($a3)
/* 0AD4D0 800AC8D0 0C032384 */ jal play_sound2
/* 0AD4D4 800AC8D4 ACF90020 */ sw $t9, 0x20($a3)
/* 0AD4D8 800AC8D8 10000024 */ b .L800AC96C
/* 0AD4DC 800AC8DC 8FBF0014 */ lw $ra, 0x14($sp)
glabel L800AC8E0
/* 0AD4E0 800AC8E0 8CE50020 */ lw $a1, 0x20($a3)
/* 0AD4E4 800AC8E4 240F000D */ li $t7, 13
/* 0AD4E8 800AC8E8 2418012C */ li $t8, 300
/* 0AD4EC 800AC8EC 28A100F0 */ slti $at, $a1, 0xf0
/* 0AD4F0 800AC8F0 1020000E */ beqz $at, .L800AC92C
/* 0AD4F4 800AC8F4 ACE50010 */ sw $a1, 0x10($a3)
/* 0AD4F8 800AC8F8 24AA0010 */ addiu $t2, $a1, 0x10
/* 0AD4FC 800AC8FC ACEA0020 */ sw $t2, 0x20($a3)
/* 0AD500 800AC900 3C02800E */ lui $v0, %hi(D_800DC5EC) # $v0, 0x800e
/* 0AD504 800AC904 8C42C5EC */ lw $v0, %lo(D_800DC5EC)($v0)
/* 0AD508 800AC908 3C03800E */ lui $v1, %hi(D_800DC5F0) # $v1, 0x800e
/* 0AD50C 800AC90C 844B0032 */ lh $t3, 0x32($v0)
/* 0AD510 800AC910 256C0010 */ addiu $t4, $t3, 0x10
/* 0AD514 800AC914 A44C0032 */ sh $t4, 0x32($v0)
/* 0AD518 800AC918 8C63C5F0 */ lw $v1, %lo(D_800DC5F0)($v1)
/* 0AD51C 800AC91C 846D0032 */ lh $t5, 0x32($v1)
/* 0AD520 800AC920 25AEFFF0 */ addiu $t6, $t5, -0x10
/* 0AD524 800AC924 10000010 */ b .L800AC968
/* 0AD528 800AC928 A46E0032 */ sh $t6, 0x32($v1)
.L800AC92C:
/* 0AD52C 800AC92C ACE00020 */ sw $zero, 0x20($a3)
/* 0AD530 800AC930 ACEF0004 */ sw $t7, 4($a3)
/* 0AD534 800AC934 ACE0001C */ sw $zero, 0x1c($a3)
/* 0AD538 800AC938 3C19800E */ lui $t9, %hi(D_800DC5EC) # $t9, 0x800e
/* 0AD53C 800AC93C 8F39C5EC */ lw $t9, %lo(D_800DC5EC)($t9)
/* 0AD540 800AC940 3C0B800E */ lui $t3, %hi(D_800DC5F0) # $t3, 0x800e
/* 0AD544 800AC944 240AFFC4 */ li $t2, -60
/* 0AD548 800AC948 A7380032 */ sh $t8, 0x32($t9)
/* 0AD54C 800AC94C 8D6BC5F0 */ lw $t3, %lo(D_800DC5F0)($t3)
/* 0AD550 800AC950 240C0004 */ li $t4, 4
/* 0AD554 800AC954 3C018016 */ lui $at, %hi(D_8015F894) # $at, 0x8016
/* 0AD558 800AC958 A56A0032 */ sh $t2, 0x32($t3)
/* 0AD55C 800AC95C A42CF894 */ sh $t4, %lo(D_8015F894)($at)
/* 0AD560 800AC960 0C0328CC */ jal func_800CA330
/* 0AD564 800AC964 24040019 */ li $a0, 25
.L800AC968:
glabel L800AC968
/* 0AD568 800AC968 8FBF0014 */ lw $ra, 0x14($sp)
.L800AC96C:
/* 0AD56C 800AC96C 27BD0020 */ addiu $sp, $sp, 0x20
/* 0AD570 800AC970 03E00008 */ jr $ra
/* 0AD574 800AC974 00000000 */ nop

View File

@ -1,146 +0,0 @@
glabel load_menu_img
/* 099D84 80099184 27BDFFC8 */ addiu $sp, $sp, -0x38
/* 099D88 80099188 AFBF0034 */ sw $ra, 0x34($sp)
/* 099D8C 8009918C AFB60030 */ sw $s6, 0x30($sp)
/* 099D90 80099190 AFB5002C */ sw $s5, 0x2c($sp)
/* 099D94 80099194 AFB40028 */ sw $s4, 0x28($sp)
/* 099D98 80099198 AFB30024 */ sw $s3, 0x24($sp)
/* 099D9C 8009919C AFB20020 */ sw $s2, 0x20($sp)
/* 099DA0 800991A0 AFB1001C */ sw $s1, 0x1c($sp)
/* 099DA4 800991A4 0C026449 */ jal segmented_to_virtual_dupe
/* 099DA8 800991A8 AFB00018 */ sw $s0, 0x18($sp)
/* 099DAC 800991AC 8C4E0004 */ lw $t6, 4($v0)
/* 099DB0 800991B0 00408825 */ move $s1, $v0
/* 099DB4 800991B4 24160003 */ li $s6, 3
/* 099DB8 800991B8 11C0006C */ beqz $t6, .L8009936C
/* 099DBC 800991BC 3C158019 */ lui $s5, %hi(gMenuTextureBuffer) # $s5, 0x8019
/* 099DC0 800991C0 3C148019 */ lui $s4, %hi(gMenuCompressedBuffer) # $s4, 0x8019
/* 099DC4 800991C4 3C138019 */ lui $s3, %hi(gNumD_8018E118Entries) # $s3, 0x8019
/* 099DC8 800991C8 3C128019 */ lui $s2, %hi(gMenuTextureBufferIndex) # $s2, 0x8019
/* 099DCC 800991CC 3C108019 */ lui $s0, %hi(sMenuTextureMap) # $s0, 0x8019
/* 099DD0 800991D0 2610E118 */ addiu $s0, %lo(sMenuTextureMap) # addiu $s0, $s0, -0x1ee8
/* 099DD4 800991D4 2652E110 */ addiu $s2, %lo(gMenuTextureBufferIndex) # addiu $s2, $s2, -0x1ef0
/* 099DD8 800991D8 2673E758 */ addiu $s3, %lo(gNumD_8018E118Entries) # addiu $s3, $s3, -0x18a8
/* 099DDC 800991DC 2694D9B4 */ addiu $s4, %lo(gMenuCompressedBuffer) # addiu $s4, $s4, -0x264c
/* 099DE0 800991E0 26B5D9B0 */ addiu $s5, %lo(gMenuTextureBuffer) # addiu $s5, $s5, -0x2650
/* 099DE4 800991E4 8E630000 */ lw $v1, ($s3)
.L800991E8:
/* 099DE8 800991E8 00002825 */ move $a1, $zero
/* 099DEC 800991EC 00001025 */ move $v0, $zero
/* 099DF0 800991F0 1860000D */ blez $v1, .L80099228
/* 099DF4 800991F4 00000000 */ nop
/* 099DF8 800991F8 8E240004 */ lw $a0, 4($s1)
/* 099DFC 800991FC 000278C0 */ sll $t7, $v0, 3
.L80099200:
/* 099E00 80099200 020FC021 */ addu $t8, $s0, $t7
/* 099E04 80099204 8F190000 */ lw $t9, ($t8)
/* 099E08 80099208 24420001 */ addiu $v0, $v0, 1
/* 099E0C 8009920C 0043082A */ slt $at, $v0, $v1
/* 099E10 80099210 17240003 */ bne $t9, $a0, .L80099220
/* 099E14 80099214 00000000 */ nop
/* 099E18 80099218 10000003 */ b .L80099228
/* 099E1C 8009921C 24050001 */ li $a1, 1
.L80099220:
/* 099E20 80099220 5420FFF7 */ bnel $at, $zero, .L80099200
/* 099E24 80099224 000278C0 */ sll $t7, $v0, 3
.L80099228:
/* 099E28 80099228 54A0004D */ bnel $a1, $zero, .L80099360
/* 099E2C 8009922C 8E2A0018 */ lw $t2, 0x18($s1)
/* 099E30 80099230 86280000 */ lh $t0, ($s1)
/* 099E34 80099234 8E240004 */ lw $a0, 4($s1)
/* 099E38 80099238 56C80022 */ bnel $s6, $t0, .L800992C4
/* 099E3C 8009923C 962F000A */ lhu $t7, 0xa($s1)
/* 099E40 80099240 96220010 */ lhu $v0, 0x10($s1)
/* 099E44 80099244 24051000 */ li $a1, 4096
/* 099E48 80099248 10400003 */ beqz $v0, .L80099258
/* 099E4C 8009924C 00000000 */ nop
/* 099E50 80099250 10000001 */ b .L80099258
/* 099E54 80099254 3045FFFF */ andi $a1, $v0, 0xffff
.L80099258:
/* 099E58 80099258 00A01025 */ move $v0, $a1
/* 099E5C 8009925C 04410004 */ bgez $v0, .L80099270
/* 099E60 80099260 30490007 */ andi $t1, $v0, 7
/* 099E64 80099264 11200002 */ beqz $t1, .L80099270
/* 099E68 80099268 00000000 */ nop
/* 099E6C 8009926C 2529FFF8 */ addiu $t1, $t1, -8
.L80099270:
/* 099E70 80099270 11200009 */ beqz $t1, .L80099298
/* 099E74 80099274 00000000 */ nop
/* 099E78 80099278 04410003 */ bgez $v0, .L80099288
/* 099E7C 8009927C 000228C3 */ sra $a1, $v0, 3
/* 099E80 80099280 24410007 */ addiu $at, $v0, 7
/* 099E84 80099284 000128C3 */ sra $a1, $at, 3
.L80099288:
/* 099E88 80099288 000550C0 */ sll $t2, $a1, 3
/* 099E8C 8009928C 25450008 */ addiu $a1, $t2, 8
/* 099E90 80099290 30ABFFFF */ andi $t3, $a1, 0xffff
/* 099E94 80099294 01602825 */ move $a1, $t3
.L80099298:
/* 099E98 80099298 0C026400 */ jal dma_copy_base_729a30
/* 099E9C 8009929C 8E860000 */ lw $a2, ($s4)
/* 099EA0 800992A0 8E4C0000 */ lw $t4, ($s2)
/* 099EA4 800992A4 8EAE0000 */ lw $t6, ($s5)
/* 099EA8 800992A8 8E840000 */ lw $a0, ($s4)
/* 099EAC 800992AC 000C6840 */ sll $t5, $t4, 1
/* 099EB0 800992B0 0C010034 */ jal mio0decode
/* 099EB4 800992B4 01AE2821 */ addu $a1, $t5, $t6
/* 099EB8 800992B8 1000000D */ b .L800992F0
/* 099EBC 800992BC 8E6C0000 */ lw $t4, ($s3)
/* 099EC0 800992C0 962F000A */ lhu $t7, 0xa($s1)
.L800992C4:
/* 099EC4 800992C4 96380008 */ lhu $t8, 8($s1)
/* 099EC8 800992C8 8E480000 */ lw $t0, ($s2)
/* 099ECC 800992CC 8EAA0000 */ lw $t2, ($s5)
/* 099ED0 800992D0 01F80019 */ multu $t7, $t8
/* 099ED4 800992D4 00084840 */ sll $t1, $t0, 1
/* 099ED8 800992D8 012A3021 */ addu $a2, $t1, $t2
/* 099EDC 800992DC 00002812 */ mflo $a1
/* 099EE0 800992E0 0005C840 */ sll $t9, $a1, 1
/* 099EE4 800992E4 0C026400 */ jal dma_copy_base_729a30
/* 099EE8 800992E8 03202825 */ move $a1, $t9
/* 099EEC 800992EC 8E6C0000 */ lw $t4, ($s3)
.L800992F0:
/* 099EF0 800992F0 8E2B0004 */ lw $t3, 4($s1)
/* 099EF4 800992F4 000C68C0 */ sll $t5, $t4, 3
/* 099EF8 800992F8 020D7021 */ addu $t6, $s0, $t5
/* 099EFC 800992FC ADCB0000 */ sw $t3, ($t6)
/* 099F00 80099300 8E780000 */ lw $t8, ($s3)
/* 099F04 80099304 8E4F0000 */ lw $t7, ($s2)
/* 099F08 80099308 0018C8C0 */ sll $t9, $t8, 3
/* 099F0C 8009930C 02194021 */ addu $t0, $s0, $t9
/* 099F10 80099310 AD0F0004 */ sw $t7, 4($t0)
/* 099F14 80099314 962A0008 */ lhu $t2, 8($s1)
/* 099F18 80099318 9629000A */ lhu $t1, 0xa($s1)
/* 099F1C 8009931C 8E4D0000 */ lw $t5, ($s2)
/* 099F20 80099320 8E680000 */ lw $t0, ($s3)
/* 099F24 80099324 012A0019 */ multu $t1, $t2
/* 099F28 80099328 25090001 */ addiu $t1, $t0, 1
/* 099F2C 8009932C AE690000 */ sw $t1, ($s3)
/* 099F30 80099330 00006012 */ mflo $t4
/* 099F34 80099334 01AC5821 */ addu $t3, $t5, $t4
/* 099F38 80099338 01607025 */ move $t6, $t3
/* 099F3C 8009933C AE4B0000 */ sw $t3, ($s2)
/* 099F40 80099340 05C10003 */ bgez $t6, .L80099350
/* 099F44 80099344 000EC0C3 */ sra $t8, $t6, 3
/* 099F48 80099348 25C10007 */ addiu $at, $t6, 7
/* 099F4C 8009934C 0001C0C3 */ sra $t8, $at, 3
.L80099350:
/* 099F50 80099350 0018C8C0 */ sll $t9, $t8, 3
/* 099F54 80099354 272F0008 */ addiu $t7, $t9, 8
/* 099F58 80099358 AE4F0000 */ sw $t7, ($s2)
/* 099F5C 8009935C 8E2A0018 */ lw $t2, 0x18($s1)
.L80099360:
/* 099F60 80099360 26310014 */ addiu $s1, $s1, 0x14
/* 099F64 80099364 5540FFA0 */ bnel $t2, $zero, .L800991E8
/* 099F68 80099368 8E630000 */ lw $v1, ($s3)
.L8009936C:
/* 099F6C 8009936C 8FBF0034 */ lw $ra, 0x34($sp)
/* 099F70 80099370 8FB00018 */ lw $s0, 0x18($sp)
/* 099F74 80099374 8FB1001C */ lw $s1, 0x1c($sp)
/* 099F78 80099378 8FB20020 */ lw $s2, 0x20($sp)
/* 099F7C 8009937C 8FB30024 */ lw $s3, 0x24($sp)
/* 099F80 80099380 8FB40028 */ lw $s4, 0x28($sp)
/* 099F84 80099384 8FB5002C */ lw $s5, 0x2c($sp)
/* 099F88 80099388 8FB60030 */ lw $s6, 0x30($sp)
/* 099F8C 8009938C 03E00008 */ jr $ra
/* 099F90 80099390 27BD0038 */ addiu $sp, $sp, 0x38

View File

@ -1,189 +0,0 @@
glabel load_menu_img2
/* 09A2BC 800996BC 27BDFFC0 */ addiu $sp, $sp, -0x40
/* 09A2C0 800996C0 AFBF003C */ sw $ra, 0x3c($sp)
/* 09A2C4 800996C4 AFB20020 */ sw $s2, 0x20($sp)
/* 09A2C8 800996C8 00A09025 */ move $s2, $a1
/* 09A2CC 800996CC AFBE0038 */ sw $fp, 0x38($sp)
/* 09A2D0 800996D0 AFB70034 */ sw $s7, 0x34($sp)
/* 09A2D4 800996D4 AFB60030 */ sw $s6, 0x30($sp)
/* 09A2D8 800996D8 AFB5002C */ sw $s5, 0x2c($sp)
/* 09A2DC 800996DC AFB40028 */ sw $s4, 0x28($sp)
/* 09A2E0 800996E0 AFB30024 */ sw $s3, 0x24($sp)
/* 09A2E4 800996E4 AFB1001C */ sw $s1, 0x1c($sp)
/* 09A2E8 800996E8 0C026449 */ jal segmented_to_virtual_dupe
/* 09A2EC 800996EC AFB00018 */ sw $s0, 0x18($sp)
/* 09A2F0 800996F0 8C4E0004 */ lw $t6, 4($v0)
/* 09A2F4 800996F4 00408025 */ move $s0, $v0
/* 09A2F8 800996F8 241E0002 */ li $fp, 2
/* 09A2FC 800996FC 11C0008A */ beqz $t6, .L80099928
/* 09A300 80099700 2417FFFF */ li $s7, -1
/* 09A304 80099704 3C158019 */ lui $s5, %hi(gMenuCompressedBuffer) # $s5, 0x8019
/* 09A308 80099708 3C148019 */ lui $s4, %hi(gNumD_8018E118Entries) # $s4, 0x8019
/* 09A30C 8009970C 3C138019 */ lui $s3, %hi(gMenuTextureBufferIndex) # $s3, 0x8019
/* 09A310 80099710 3C118019 */ lui $s1, %hi(sMenuTextureMap) # $s1, 0x8019
/* 09A314 80099714 2631E118 */ addiu $s1, %lo(sMenuTextureMap) # addiu $s1, $s1, -0x1ee8
/* 09A318 80099718 2673E110 */ addiu $s3, %lo(gMenuTextureBufferIndex) # addiu $s3, $s3, -0x1ef0
/* 09A31C 8009971C 2694E758 */ addiu $s4, %lo(gNumD_8018E118Entries) # addiu $s4, $s4, -0x18a8
/* 09A320 80099720 26B5D9B4 */ addiu $s5, %lo(gMenuCompressedBuffer) # addiu $s5, $s5, -0x264c
/* 09A324 80099724 24160001 */ li $s6, 1
/* 09A328 80099728 8E830000 */ lw $v1, ($s4)
.L8009972C:
/* 09A32C 8009972C 00002825 */ move $a1, $zero
/* 09A330 80099730 00001025 */ move $v0, $zero
/* 09A334 80099734 1860000D */ blez $v1, .L8009976C
/* 09A338 80099738 00000000 */ nop
/* 09A33C 8009973C 8E040004 */ lw $a0, 4($s0)
/* 09A340 80099740 000278C0 */ sll $t7, $v0, 3
.L80099744:
/* 09A344 80099744 022FC021 */ addu $t8, $s1, $t7
/* 09A348 80099748 8F190000 */ lw $t9, ($t8)
/* 09A34C 8009974C 24420001 */ addiu $v0, $v0, 1
/* 09A350 80099750 0043082A */ slt $at, $v0, $v1
/* 09A354 80099754 17240003 */ bne $t9, $a0, .L80099764
/* 09A358 80099758 00000000 */ nop
/* 09A35C 8009975C 10000003 */ b .L8009976C
/* 09A360 80099760 02C02825 */ move $a1, $s6
.L80099764:
/* 09A364 80099764 5420FFF7 */ bnel $at, $zero, .L80099744
/* 09A368 80099768 000278C0 */ sll $t7, $v0, 3
.L8009976C:
/* 09A36C 8009976C 50A00004 */ beql $a1, $zero, .L80099780
/* 09A370 80099770 96020010 */ lhu $v0, 0x10($s0)
/* 09A374 80099774 5A400069 */ blezl $s2, .L8009991C
/* 09A378 80099778 8E0F0018 */ lw $t7, 0x18($s0)
/* 09A37C 8009977C 96020010 */ lhu $v0, 0x10($s0)
.L80099780:
/* 09A380 80099780 24051000 */ li $a1, 4096
/* 09A384 80099784 10400003 */ beqz $v0, .L80099794
/* 09A388 80099788 00000000 */ nop
/* 09A38C 8009978C 10000001 */ b .L80099794
/* 09A390 80099790 3045FFFF */ andi $a1, $v0, 0xffff
.L80099794:
/* 09A394 80099794 00A01025 */ move $v0, $a1
/* 09A398 80099798 04410004 */ bgez $v0, .L800997AC
/* 09A39C 8009979C 30480007 */ andi $t0, $v0, 7
/* 09A3A0 800997A0 11000002 */ beqz $t0, .L800997AC
/* 09A3A4 800997A4 00000000 */ nop
/* 09A3A8 800997A8 2508FFF8 */ addiu $t0, $t0, -8
.L800997AC:
/* 09A3AC 800997AC 11000009 */ beqz $t0, .L800997D4
/* 09A3B0 800997B0 00000000 */ nop
/* 09A3B4 800997B4 04410003 */ bgez $v0, .L800997C4
/* 09A3B8 800997B8 000228C3 */ sra $a1, $v0, 3
/* 09A3BC 800997BC 24410007 */ addiu $at, $v0, 7
/* 09A3C0 800997C0 000128C3 */ sra $a1, $at, 3
.L800997C4:
/* 09A3C4 800997C4 000548C0 */ sll $t1, $a1, 3
/* 09A3C8 800997C8 25250008 */ addiu $a1, $t1, 8
/* 09A3CC 800997CC 30AAFFFF */ andi $t2, $a1, 0xffff
/* 09A3D0 800997D0 01402825 */ move $a1, $t2
.L800997D4:
/* 09A3D4 800997D4 5257000A */ beql $s2, $s7, .L80099800
/* 09A3D8 800997D8 8E040004 */ lw $a0, 4($s0)
/* 09A3DC 800997DC 5240000D */ beql $s2, $zero, .L80099814
/* 09A3E0 800997E0 8E040004 */ lw $a0, 4($s0)
/* 09A3E4 800997E4 52560006 */ beql $s2, $s6, .L80099800
/* 09A3E8 800997E8 8E040004 */ lw $a0, 4($s0)
/* 09A3EC 800997EC 525E0009 */ beql $s2, $fp, .L80099814
/* 09A3F0 800997F0 8E040004 */ lw $a0, 4($s0)
/* 09A3F4 800997F4 10000009 */ b .L8009981C
/* 09A3F8 800997F8 00000000 */ nop
/* 09A3FC 800997FC 8E040004 */ lw $a0, 4($s0)
.L80099800:
/* 09A400 80099800 0C026400 */ jal dma_copy_base_729a30
/* 09A404 80099804 8EA60000 */ lw $a2, ($s5)
/* 09A408 80099808 10000004 */ b .L8009981C
/* 09A40C 8009980C 00000000 */ nop
/* 09A410 80099810 8E040004 */ lw $a0, 4($s0)
.L80099814:
/* 09A414 80099814 0C026422 */ jal dma_copy_base_7fa3c0
/* 09A418 80099818 8EA60000 */ lw $a2, ($s5)
.L8009981C:
/* 09A41C 8009981C 1257000A */ beq $s2, $s7, .L80099848
/* 09A420 80099820 3C0D8019 */ lui $t5, %hi(gMenuTextureBuffer) # $t5, 0x8019
/* 09A424 80099824 12400011 */ beqz $s2, .L8009986C
/* 09A428 80099828 3C058019 */ lui $a1, %hi(sTKMK00_LowResBuffer) # 0x8019
/* 09A42C 8009982C 52560007 */ beql $s2, $s6, .L8009984C
/* 09A430 80099830 8E6B0000 */ lw $t3, ($s3)
/* 09A434 80099834 525E000E */ beql $s2, $fp, .L80099870
/* 09A438 80099838 860E0000 */ lh $t6, ($s0)
/* 09A43C 8009983C 8E830000 */ lw $v1, ($s4)
/* 09A440 80099840 1000001B */ b .L800998B0
/* 09A444 80099844 8E040004 */ lw $a0, 4($s0)
.L80099848:
/* 09A448 80099848 8E6B0000 */ lw $t3, ($s3)
.L8009984C:
/* 09A44C 8009984C 8DADD9B0 */ lw $t5, %lo(gMenuTextureBuffer)($t5)
/* 09A450 80099850 8EA40000 */ lw $a0, ($s5)
/* 09A454 80099854 000B6040 */ sll $t4, $t3, 1
/* 09A458 80099858 0C010034 */ jal mio0decode
/* 09A45C 8009985C 018D2821 */ addu $a1, $t4, $t5
/* 09A460 80099860 8E830000 */ lw $v1, ($s4)
/* 09A464 80099864 10000012 */ b .L800998B0
/* 09A468 80099868 8E040004 */ lw $a0, 4($s0)
.L8009986C:
/* 09A46C 8009986C 860E0000 */ lh $t6, ($s0)
.L80099870:
/* 09A470 80099870 24020001 */ li $v0, 1
/* 09A474 80099874 3C198019 */ lui $t9, %hi(gMenuTextureBuffer) # $t9, 0x8019
/* 09A478 80099878 16CE0003 */ bne $s6, $t6, .L80099888
/* 09A47C 8009987C 00000000 */ nop
/* 09A480 80099880 10000001 */ b .L80099888
/* 09A484 80099884 240200BE */ li $v0, 190
.L80099888:
/* 09A488 80099888 8E6F0000 */ lw $t7, ($s3)
/* 09A48C 8009988C 8F39D9B0 */ lw $t9, %lo(gMenuTextureBuffer)($t9)
/* 09A490 80099890 8EA40000 */ lw $a0, ($s5)
/* 09A494 80099894 000FC040 */ sll $t8, $t7, 1
/* 09A498 80099898 8CA5D9B8 */ lw $a1, %lo(sTKMK00_LowResBuffer)($a1) # -0x2648($a1)
/* 09A49C 8009989C 00403825 */ move $a3, $v0
/* 09A4A0 800998A0 0C010174 */ jal tkmk00decode
/* 09A4A4 800998A4 03193021 */ addu $a2, $t8, $t9
/* 09A4A8 800998A8 8E830000 */ lw $v1, ($s4)
/* 09A4AC 800998AC 8E040004 */ lw $a0, 4($s0)
.L800998B0:
/* 09A4B0 800998B0 000340C0 */ sll $t0, $v1, 3
/* 09A4B4 800998B4 02284821 */ addu $t1, $s1, $t0
/* 09A4B8 800998B8 AD240000 */ sw $a0, ($t1)
/* 09A4BC 800998BC 8E8B0000 */ lw $t3, ($s4)
/* 09A4C0 800998C0 8E6A0000 */ lw $t2, ($s3)
/* 09A4C4 800998C4 000B60C0 */ sll $t4, $t3, 3
/* 09A4C8 800998C8 022C6821 */ addu $t5, $s1, $t4
/* 09A4CC 800998CC ADAA0004 */ sw $t2, 4($t5)
/* 09A4D0 800998D0 960F0008 */ lhu $t7, 8($s0)
/* 09A4D4 800998D4 960E000A */ lhu $t6, 0xa($s0)
/* 09A4D8 800998D8 8E790000 */ lw $t9, ($s3)
/* 09A4DC 800998DC 8E8D0000 */ lw $t5, ($s4)
/* 09A4E0 800998E0 01CF0019 */ multu $t6, $t7
/* 09A4E4 800998E4 25AE0001 */ addiu $t6, $t5, 1
/* 09A4E8 800998E8 AE8E0000 */ sw $t6, ($s4)
/* 09A4EC 800998EC 0000C012 */ mflo $t8
/* 09A4F0 800998F0 03384021 */ addu $t0, $t9, $t8
/* 09A4F4 800998F4 01004825 */ move $t1, $t0
/* 09A4F8 800998F8 AE680000 */ sw $t0, ($s3)
/* 09A4FC 800998FC 05210003 */ bgez $t1, .L8009990C
/* 09A500 80099900 000958C3 */ sra $t3, $t1, 3
/* 09A504 80099904 25210007 */ addiu $at, $t1, 7
/* 09A508 80099908 000158C3 */ sra $t3, $at, 3
.L8009990C:
/* 09A50C 8009990C 000B60C0 */ sll $t4, $t3, 3
/* 09A510 80099910 258A0008 */ addiu $t2, $t4, 8
/* 09A514 80099914 AE6A0000 */ sw $t2, ($s3)
/* 09A518 80099918 8E0F0018 */ lw $t7, 0x18($s0)
.L8009991C:
/* 09A51C 8009991C 26100014 */ addiu $s0, $s0, 0x14
/* 09A520 80099920 55E0FF82 */ bnel $t7, $zero, .L8009972C
/* 09A524 80099924 8E830000 */ lw $v1, ($s4)
.L80099928:
/* 09A528 80099928 8FBF003C */ lw $ra, 0x3c($sp)
/* 09A52C 8009992C 8FB00018 */ lw $s0, 0x18($sp)
/* 09A530 80099930 8FB1001C */ lw $s1, 0x1c($sp)
/* 09A534 80099934 8FB20020 */ lw $s2, 0x20($sp)
/* 09A538 80099938 8FB30024 */ lw $s3, 0x24($sp)
/* 09A53C 8009993C 8FB40028 */ lw $s4, 0x28($sp)
/* 09A540 80099940 8FB5002C */ lw $s5, 0x2c($sp)
/* 09A544 80099944 8FB60030 */ lw $s6, 0x30($sp)
/* 09A548 80099948 8FB70034 */ lw $s7, 0x34($sp)
/* 09A54C 8009994C 8FBE0038 */ lw $fp, 0x38($sp)
/* 09A550 80099950 03E00008 */ jr $ra
/* 09A554 80099954 27BD0040 */ addiu $sp, $sp, 0x40

View File

@ -3364,27 +3364,23 @@ void* segmented_to_virtual_dupe_2(const void* addr) {
return (void*) ((gSegmentTable[segment] + offset) + 0x80000000);
}
#ifdef NON_MATCHING
// https://decomp.me/scratch/NAZ12
// Register allocation nonsense
void load_menu_img(MenuTexture* arg0) {
u16 var_a1_2;
s32 var_v0;
s32 var_a1;
UNUSED s32 temp_s3;
MenuTexture* var_s1;
UNUSED TextureMap* thing;
TextureMap* thing = &sMenuTextureMap[0];
var_s1 = segmented_to_virtual_dupe(arg0);
while (var_s1->textureData != NULL) {
while (var_s1->textureData != ((void*) 0)) {
var_a1 = 0;
for (var_v0 = 0; var_v0 < gNumD_8018E118Entries; var_v0++) {
// wtf is going on here?
if (sMenuTextureMap[var_v0 ^ 0].textureData == (*var_s1).textureData) {
if (var_s1->textureData == (thing + var_v0)->textureData) {
var_a1 = 1;
break;
}
}
if (var_a1 == 0) {
if (var_s1->type == 3) {
if (var_s1->size != 0) {
@ -3398,145 +3394,115 @@ void load_menu_img(MenuTexture* arg0) {
dma_copy_base_729a30(var_s1->textureData, var_a1_2, gMenuCompressedBuffer);
mio0decode(gMenuCompressedBuffer, (u8*) &gMenuTextureBuffer[gMenuTextureBufferIndex]);
} else {
dma_copy_base_729a30(var_s1->textureData, var_s1->height * var_s1->width * 2,
dma_copy_base_729a30(var_s1->textureData, (var_s1->height * var_s1->width) * 2,
&gMenuTextureBuffer[gMenuTextureBufferIndex]);
}
thing = &sMenuTextureMap[gNumD_8018E118Entries];
thing->textureData = var_s1->textureData;
thing = &sMenuTextureMap[gNumD_8018E118Entries];
thing->offset = gMenuTextureBufferIndex;
gMenuTextureBufferIndex += (var_s1->height * var_s1->width);
gNumD_8018E118Entries += 1;
thing[gNumD_8018E118Entries].textureData = var_s1->textureData;
thing[gNumD_8018E118Entries].offset = gMenuTextureBufferIndex;
gMenuTextureBufferIndex += var_s1->height * var_s1->width;
gMenuTextureBufferIndex = ((gMenuTextureBufferIndex / 8) * 8) + 8;
gNumD_8018E118Entries += 1;
}
var_s1++;
}
}
#else
GLOBAL_ASM("asm/non_matchings/code_80091750/load_menu_img.s")
#endif
#ifdef NON_MATCHING
// https://decomp.me/scratch/O2tkD
// Register allocation nonsense
void func_80099394(MenuTexture* arg0) {
UNUSED u16 var_a1_2;
s32 var_v0;
s32 var_a1;
UNUSED s32 temp_s3;
MenuTexture* var_s1;
TextureMap* thing;
TextureMap* thing = &sMenuTextureMap[0];
var_s1 = segmented_to_virtual_dupe(arg0);
while (var_s1->textureData != NULL) {
while (var_s1->textureData != ((void*) 0)) {
var_a1 = 0;
for (var_v0 = 0; var_v0 < gNumD_8018E118Entries; var_v0++) {
// wtf is going on here?
if (sMenuTextureMap[var_v0 ^ 0].textureData == (*var_s1).textureData) {
if (var_s1->textureData == (thing + var_v0)->textureData) {
var_a1 = 1;
break;
}
}
if (var_a1 == 0) {
if (var_s1->type == 5) {
dma_copy_base_729a30(var_s1->textureData, (u32) ((s32) (var_s1->height * var_s1->width) / 2),
dma_copy_base_729a30(var_s1->textureData, (u32)(((s32)(var_s1->height * var_s1->width)) / 2),
&gMenuTextureBuffer[gMenuTextureBufferIndex]);
}
thing = &sMenuTextureMap[gNumD_8018E118Entries];
thing->textureData = var_s1->textureData;
thing = &sMenuTextureMap[gNumD_8018E118Entries];
thing->offset = gMenuTextureBufferIndex;
gMenuTextureBufferIndex += (var_s1->height * var_s1->width);
thing[gNumD_8018E118Entries].textureData = var_s1->textureData;
thing[gNumD_8018E118Entries].offset = gMenuTextureBufferIndex;
gMenuTextureBufferIndex += var_s1->height * var_s1->width;
gMenuTextureBufferIndex = ((gMenuTextureBufferIndex / 8) * 8) + 8;
gNumD_8018E118Entries += 1;
}
var_s1++;
}
}
#else
GLOBAL_ASM("asm/non_matchings/code_80091750/func_80099394.s")
#endif
#ifdef NON_MATCHING
// Register allocation nonsense
// https://decomp.me/scratch/Wv2MX
void func_8009952C(MenuTexture* arg0) {
UNUSED u16 var_a1_2;
s32 var_v0;
s32 var_a1;
UNUSED s32 temp_s3;
MenuTexture* var_s1;
TextureMap* thing;
TextureMap* thing = &sMenuTextureMap[0];
var_s1 = segmented_to_virtual_dupe(arg0);
while (var_s1->textureData != NULL) {
while (var_s1->textureData != ((void*) 0)) {
var_a1 = 0;
for (var_v0 = 0; var_v0 < gNumD_8018E118Entries; var_v0++) {
// wtf is going on here?
if (sMenuTextureMap[var_v0 ^ 0].textureData == (*var_s1).textureData) {
if (var_s1->textureData == (thing + var_v0)->textureData) {
var_a1 = 1;
break;
}
}
if (var_a1 == 0) {
dma_copy_base_729a30(var_s1->textureData, 0x00008000U, gMenuCompressedBuffer);
mio0decode(gMenuCompressedBuffer, (u8*) &gMenuTextureBuffer[gMenuTextureBufferIndex]);
thing = &sMenuTextureMap[gNumD_8018E118Entries];
thing->textureData = var_s1->textureData;
thing = &sMenuTextureMap[gNumD_8018E118Entries];
thing->offset = gMenuTextureBufferIndex;
gMenuTextureBufferIndex += (var_s1->height * var_s1->width);
thing[gNumD_8018E118Entries].textureData = var_s1->textureData;
thing[gNumD_8018E118Entries].offset = gMenuTextureBufferIndex;
gMenuTextureBufferIndex += var_s1->height * var_s1->width;
gMenuTextureBufferIndex = ((gMenuTextureBufferIndex / 8) * 8) + 8;
gNumD_8018E118Entries += 1;
}
var_s1++;
}
}
#else
GLOBAL_ASM("asm/non_matchings/code_80091750/func_8009952C.s")
#endif
void load_img_wrap(MenuTexture* arg0) {
load_menu_img2(arg0, 1);
}
#ifdef NON_MATCHING
// Register allocation nonsense
// https://decomp.me/scratch/hwAAp
void load_menu_img2(MenuTexture* arg0, s32 arg1) {
u16 var_a1_2;
s32 var_v0;
s32 var_a1;
u8 var_v0_2;
MenuTexture* var_s1;
TextureMap* thing;
TextureMap* thing = &sMenuTextureMap[0];
var_s1 = segmented_to_virtual_dupe(arg0);
while (var_s1->textureData != NULL) {
while (var_s1->textureData != ((void*) 0)) {
var_a1 = 0;
for (var_v0 = 0; var_v0 < gNumD_8018E118Entries; var_v0++) {
// wtf is going on here?
if (sMenuTextureMap[var_v0 ^ 0].textureData == (*var_s1).textureData) {
if (var_s1->textureData == (thing + var_v0)->textureData) {
var_a1 = 1;
break;
}
}
if ((var_a1 == 0) || (arg1 > 0)) {
if (var_s1->size != 0) {
var_a1_2 = var_s1->size;
} else {
var_a1_2 = 0x1000;
}
if ((var_a1_2 % 8)) {
var_a1_2 = (((var_a1_2 / 8) * 8) + 8);
if (var_a1_2 % 8) {
var_a1_2 = ((var_a1_2 / 8) * 8) + 8;
}
switch (arg1) { /* irregular */
switch (arg1) {
case -1:
case 1:
dma_copy_base_729a30(var_s1->textureData, var_a1_2, gMenuCompressedBuffer);
@ -3546,27 +3512,26 @@ void load_menu_img2(MenuTexture* arg0, s32 arg1) {
dma_copy_base_7fa3c0(var_s1->textureData, var_a1_2, gMenuCompressedBuffer);
break;
}
switch (arg1) { /* switch 1; irregular */
case -1: /* switch 1 */
case 1: /* switch 1 */
switch (arg1) {
case -1:
case 1:
mio0decode(gMenuCompressedBuffer, (u8*) &gMenuTextureBuffer[gMenuTextureBufferIndex]);
break;
case 0: /* switch 1 */
case 2: /* switch 1 */
case 0:
case 2:
if (var_s1->type == 1) {
var_v0_2 = 0x000000BE;
} else {
var_v0_2 = 1;
}
if (1) {}
tkmk00decode(gMenuCompressedBuffer, sTKMK00_LowResBuffer,
(u8*) &gMenuTextureBuffer[gMenuTextureBufferIndex], var_v0_2);
tkmk00decode(gMenuCompressedBuffer, sTKMK00_LowResBuffer, (u8*) &gMenuTextureBuffer[gMenuTextureBufferIndex], var_v0_2);
break;
}
thing = &sMenuTextureMap[gNumD_8018E118Entries];
thing->textureData = var_s1->textureData;
thing = &sMenuTextureMap[gNumD_8018E118Entries];
thing->offset = gMenuTextureBufferIndex;
thing[gNumD_8018E118Entries].textureData = var_s1->textureData;
thing[gNumD_8018E118Entries].offset = gMenuTextureBufferIndex;
gMenuTextureBufferIndex += var_s1->height * var_s1->width;
gMenuTextureBufferIndex = ((gMenuTextureBufferIndex / 8) * 8) + 8;
gNumD_8018E118Entries += 1;
@ -3574,9 +3539,6 @@ void load_menu_img2(MenuTexture* arg0, s32 arg1) {
var_s1++;
}
}
#else
GLOBAL_ASM("asm/non_matchings/code_80091750/load_menu_img2.s")
#endif
void func_80099958(MenuTexture* arg0, s32 arg1, s32 arg2) {
u16 var_a1;
@ -6363,22 +6325,17 @@ s32 func_800A095C(char* someString, s32 len, s32 column, s32 row) {
return nonTerminatorCount;
}
#ifdef NON_MATCHING
// Non-matching due to the constants 9 and 0xA being saved to the wrong registers
// Same functionality, but doesn't match byte for byte :/
void func_800A09E0(MenuItem* arg0) {
s32 table_row, x = 0x20, y;
gDPSetScissor(gDisplayListHead++, G_SC_NON_INTERLACE, 0, 0, SCREEN_WIDTH - 1, 194);
for (table_row = 0; table_row < 9; table_row++) {
if ((gControllerPakScrollDirection != CONTROLLER_PAK_SCROLL_DIR_NONE) || ((table_row != 0) && (table_row != 8))) {
y = (table_row * 0xA) + arg0->row;
gDisplayListHead = func_8009BA74(gDisplayListHead, D_0200157C, x, y);
void func_800A09E0(MenuItem *arg0) {
s32 table_row;
gDPSetScissor(gDisplayListHead++, G_SC_NON_INTERLACE, 0, 0, SCREEN_WIDTH - 1, 194);
for (table_row = 0; table_row < 9; table_row++) {
if (gControllerPakScrollDirection == CONTROLLER_PAK_SCROLL_DIR_NONE && (table_row == 0 || table_row == 8)) {
continue;
}
}
gDisplayListHead = func_8009BA74(gDisplayListHead, D_0200157C, 0x20, (table_row * 0xA) + arg0->row);
}
}
#else
GLOBAL_ASM("asm/non_matchings/code_80091750/func_800A09E0.s")
#endif
void func_800A0AD0(UNUSED MenuItem* arg0) {
MenuItem* temp_t1;
@ -10692,12 +10649,10 @@ void func_800AC324(MenuItem* arg0) {
}
}
#ifdef NON_MATCHING
// https://decomp.me/scratch/NzdUC
// A really stupid register allocation issue
void func_800AC458(MenuItem* arg0) {
s32 var_a1;
s32 var_t1;
s32 temp;
switch (arg0->state) {
case 0:
@ -10710,15 +10665,13 @@ void func_800AC458(MenuItem* arg0) {
break;
case 1:
arg0->column = arg0->unk20;
if (D_8018D9D8 != 0) {
var_a1 = 0x20;
} else {
var_a1 = 0x10;
}
if ((arg0->unk20 + var_a1) < 0) {
arg0->unk20 += var_a1;
D_800DC5EC->screenStartX += var_a1;
D_800DC5F0->screenStartX -= var_a1;
temp = (D_8018D9D8 != 0) ? 0x20 : 0x10;
if ((arg0->unk20 + temp) < 0) {
arg0->unk20 += temp;
D_800DC5EC->screenStartX += temp;
D_800DC5F0->screenStartX -= temp;
} else {
arg0->unk20 = 0;
arg0->column = 0;
@ -10839,9 +10792,6 @@ void func_800AC458(MenuItem* arg0) {
break;
}
}
#else
GLOBAL_ASM("asm/non_matchings/code_80091750/func_800AC458.s")
#endif
void func_800AC978(MenuItem* arg0) {
switch (arg0->state) { /* irregular */