mirror of
https://github.com/HarbourMasters/SpaghettiKart
synced 2026-06-30 20:11:40 -04:00
8ab4557b39
* Split asm using autodecompiler * Placed libultra bss and linked more C
77 lines
4.0 KiB
ArmAsm
77 lines
4.0 KiB
ArmAsm
glabel func_800131DC
|
|
/* 013DDC 800131DC 3C0E8016 */ lui $t6, %hi(D_801634D8) # $t6, 0x8016
|
|
/* 013DE0 800131E0 25CE34D8 */ addiu $t6, %lo(D_801634D8) # addiu $t6, $t6, 0x34d8
|
|
/* 013DE4 800131E4 00041040 */ sll $v0, $a0, 1
|
|
/* 013DE8 800131E8 004E1821 */ addu $v1, $v0, $t6
|
|
/* 013DEC 800131EC A4600000 */ sh $zero, ($v1)
|
|
/* 013DF0 800131F0 3C0F800E */ lui $t7, %hi(gCurrentCourseId)
|
|
/* 013DF4 800131F4 85EFC5A0 */ lh $t7, %lo(gCurrentCourseId)($t7)
|
|
/* 013DF8 800131F8 27BDFFE0 */ addiu $sp, $sp, -0x20
|
|
/* 013DFC 800131FC 2401000B */ li $at, 11
|
|
/* 013E00 80013200 15E10038 */ bne $t7, $at, .L800132E4
|
|
/* 013E04 80013204 AFBF0014 */ sw $ra, 0x14($sp)
|
|
/* 013E08 80013208 3C188016 */ lui $t8, %hi(D_801631E0) # 0x8016
|
|
/* 013E0C 8001320C 0302C021 */ addu $t8, $t8, $v0
|
|
/* 013E10 80013210 971831E0 */ lhu $t8, %lo(D_801631E0)($t8) # 0x31e0($t8)
|
|
/* 013E14 80013214 0004C8C0 */ sll $t9, $a0, 3
|
|
/* 013E18 80013218 0324C823 */ subu $t9, $t9, $a0
|
|
/* 013E1C 8001321C 1300000F */ beqz $t8, .L8001325C
|
|
/* 013E20 80013220 0019C900 */ sll $t9, $t9, 4
|
|
/* 013E24 80013224 0324C823 */ subu $t9, $t9, $a0
|
|
/* 013E28 80013228 0019C880 */ sll $t9, $t9, 2
|
|
/* 013E2C 8001322C 0324C823 */ subu $t9, $t9, $a0
|
|
/* 013E30 80013230 0019C8C0 */ sll $t9, $t9, 3
|
|
/* 013E34 80013234 3C09800F */ lui $t1, %hi(gPlayers) # $t1, 0x800f
|
|
/* 013E38 80013238 25296990 */ addiu $t1, %lo(gPlayers) # addiu $t1, $t1, 0x6990
|
|
/* 013E3C 8001323C 27280014 */ addiu $t0, $t9, 0x14
|
|
/* 013E40 80013240 01092021 */ addu $a0, $t0, $t1
|
|
/* 013E44 80013244 3C05447A */ lui $a1, 0x447a
|
|
/* 013E48 80013248 00003025 */ move $a2, $zero
|
|
/* 013E4C 8001324C 0C001877 */ jal func_800061DC
|
|
/* 013E50 80013250 AFA30018 */ sw $v1, 0x18($sp)
|
|
/* 013E54 80013254 10400023 */ beqz $v0, .L800132E4
|
|
/* 013E58 80013258 8FA30018 */ lw $v1, 0x18($sp)
|
|
.L8001325C:
|
|
/* 013E5C 8001325C 3C058016 */ lui $a1, %hi(D_801637B8) # $a1, 0x8016
|
|
/* 013E60 80013260 24A537B8 */ addiu $a1, %lo(D_801637B8) # addiu $a1, $a1, 0x37b8
|
|
/* 013E64 80013264 94AA0002 */ lhu $t2, 2($a1)
|
|
/* 013E68 80013268 24040001 */ li $a0, 1
|
|
/* 013E6C 8001326C 3C0B8016 */ lui $t3, %hi(D_801637BE) # $t3, 0x8016
|
|
/* 013E70 80013270 148A000D */ bne $a0, $t2, .L800132A8
|
|
/* 013E74 80013274 3C0D8016 */ lui $t5, %hi(D_801637BC) # $t5, 0x8016
|
|
/* 013E78 80013278 956B37BE */ lhu $t3, %lo(D_801637BE)($t3)
|
|
/* 013E7C 8001327C 3C028016 */ lui $v0, %hi(D_80162FCE) # $v0, 0x8016
|
|
/* 013E80 80013280 296100F1 */ slti $at, $t3, 0xf1
|
|
/* 013E84 80013284 54200009 */ bnel $at, $zero, .L800132AC
|
|
/* 013E88 80013288 94AC0000 */ lhu $t4, ($a1)
|
|
/* 013E8C 8001328C 84422FCE */ lh $v0, %lo(D_80162FCE)($v0)
|
|
/* 013E90 80013290 284100B1 */ slti $at, $v0, 0xb1
|
|
/* 013E94 80013294 14200004 */ bnez $at, .L800132A8
|
|
/* 013E98 80013298 284100B6 */ slti $at, $v0, 0xb6
|
|
/* 013E9C 8001329C 50200003 */ beql $at, $zero, .L800132AC
|
|
/* 013EA0 800132A0 94AC0000 */ lhu $t4, ($a1)
|
|
/* 013EA4 800132A4 A4640000 */ sh $a0, ($v1)
|
|
.L800132A8:
|
|
/* 013EA8 800132A8 94AC0000 */ lhu $t4, ($a1)
|
|
.L800132AC:
|
|
/* 013EAC 800132AC 548C000E */ bnel $a0, $t4, .L800132E8
|
|
/* 013EB0 800132B0 8FBF0014 */ lw $ra, 0x14($sp)
|
|
/* 013EB4 800132B4 95AD37BC */ lhu $t5, %lo(D_801637BC)($t5)
|
|
/* 013EB8 800132B8 3C028016 */ lui $v0, %hi(D_80162FCE) # $v0, 0x8016
|
|
/* 013EBC 800132BC 29A100F1 */ slti $at, $t5, 0xf1
|
|
/* 013EC0 800132C0 54200009 */ bnel $at, $zero, .L800132E8
|
|
/* 013EC4 800132C4 8FBF0014 */ lw $ra, 0x14($sp)
|
|
/* 013EC8 800132C8 84422FCE */ lh $v0, %lo(D_80162FCE)($v0)
|
|
/* 013ECC 800132CC 28410132 */ slti $at, $v0, 0x132
|
|
/* 013ED0 800132D0 14200004 */ bnez $at, .L800132E4
|
|
/* 013ED4 800132D4 28410136 */ slti $at, $v0, 0x136
|
|
/* 013ED8 800132D8 50200003 */ beql $at, $zero, .L800132E8
|
|
/* 013EDC 800132DC 8FBF0014 */ lw $ra, 0x14($sp)
|
|
/* 013EE0 800132E0 A4640000 */ sh $a0, ($v1)
|
|
.L800132E4:
|
|
/* 013EE4 800132E4 8FBF0014 */ lw $ra, 0x14($sp)
|
|
.L800132E8:
|
|
/* 013EE8 800132E8 27BD0020 */ addiu $sp, $sp, 0x20
|
|
/* 013EEC 800132EC 03E00008 */ jr $ra
|
|
/* 013EF0 800132F0 00000000 */ nop
|