Decomp 15 functions in unknown_09F8F0

func_800A0190, func_800A0DC0, func_800A258C, func_800A263C, func_800A3870, func_800A6DB4, func_800A7484, func_800A74EC, func_800AB194, func_800AB1AC, func_800AB1C8, func_800AB308, func_800AC880, func_800AD220, and func_800AD2C4
This commit is contained in:
Faschz
2020-12-06 20:45:52 -06:00
parent 31f4f61029
commit 2bf0e0fd0f
16 changed files with 231 additions and 455 deletions
@@ -1,6 +0,0 @@
glabel func_800A0190
/* 0A0D90 800A0190 3C028012 */ lui $v0, %hi(D_80126D34) # $v0, 0x8012
/* 0A0D94 800A0194 90426D34 */ lbu $v0, %lo(D_80126D34)($v0)
/* 0A0D98 800A0198 03E00008 */ jr $ra
/* 0A0D9C 800A019C 00000000 */ nop
@@ -1,66 +0,0 @@
glabel func_800A0DC0
/* 0A19C0 800A0DC0 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 0A19C4 800A0DC4 AFBF001C */ sw $ra, 0x1c($sp)
/* 0A19C8 800A0DC8 AFB10018 */ sw $s1, 0x18($sp)
/* 0A19CC 800A0DCC AFB00014 */ sw $s0, 0x14($sp)
/* 0A19D0 800A0DD0 AFA40020 */ sw $a0, 0x20($sp)
/* 0A19D4 800A0DD4 AFA50024 */ sw $a1, 0x24($sp)
/* 0A19D8 800A0DD8 8CB10064 */ lw $s1, 0x64($a1)
/* 0A19DC 800A0DDC 00C08025 */ move $s0, $a2
/* 0A19E0 800A0DE0 0C01A142 */ jal func_80068508
/* 0A19E4 800A0DE4 24040001 */ li $a0, 1
/* 0A19E8 800A0DE8 02202025 */ move $a0, $s1
/* 0A19EC 800A0DEC 0C0283AD */ jal func_800A0EB4
/* 0A19F0 800A0DF0 02002825 */ move $a1, $s0
/* 0A19F4 800A0DF4 02202025 */ move $a0, $s1
/* 0A19F8 800A0DF8 0C029699 */ jal func_800A5A64
/* 0A19FC 800A0DFC 02002825 */ move $a1, $s0
/* 0A1A00 800A0E00 8FA40020 */ lw $a0, 0x20($sp)
/* 0A1A04 800A0E04 0C028F39 */ jal func_800A3CE4
/* 0A1A08 800A0E08 02002825 */ move $a1, $s0
/* 0A1A0C 800A0E0C 3C0F8012 */ lui $t7, %hi(D_80126D60) # $t7, 0x8012
/* 0A1A10 800A0E10 8DEF6D60 */ lw $t7, %lo(D_80126D60)($t7)
/* 0A1A14 800A0E14 02202025 */ move $a0, $s1
/* 0A1A18 800A0E18 81F8004C */ lb $t8, 0x4c($t7)
/* 0A1A1C 800A0E1C 00000000 */ nop
/* 0A1A20 800A0E20 17000003 */ bnez $t8, .L800A0E30
/* 0A1A24 800A0E24 00000000 */ nop
/* 0A1A28 800A0E28 0C0293D4 */ jal func_800A4F50
/* 0A1A2C 800A0E2C 02002825 */ move $a1, $s0
.L800A0E30:
/* 0A1A30 800A0E30 02202025 */ move $a0, $s1
/* 0A1A34 800A0E34 0C029055 */ jal func_800A4154
/* 0A1A38 800A0E38 02002825 */ move $a1, $s0
/* 0A1A3C 800A0E3C 02202025 */ move $a0, $s1
/* 0A1A40 800A0E40 0C029EDA */ jal func_800A7B68
/* 0A1A44 800A0E44 02002825 */ move $a1, $s0
/* 0A1A48 800A0E48 02202025 */ move $a0, $s1
/* 0A1A4C 800A0E4C 0C029311 */ jal func_800A4C44
/* 0A1A50 800A0E50 02002825 */ move $a1, $s0
/* 0A1A54 800A0E54 8FA40024 */ lw $a0, 0x24($sp)
/* 0A1A58 800A0E58 0C028E21 */ jal func_800A3884
/* 0A1A5C 800A0E5C 02002825 */ move $a1, $s0
/* 0A1A60 800A0E60 3C198012 */ lui $t9, %hi(D_80127188) # $t9, 0x8012
/* 0A1A64 800A0E64 93397188 */ lbu $t9, %lo(D_80127188)($t9)
/* 0A1A68 800A0E68 00000000 */ nop
/* 0A1A6C 800A0E6C 13200008 */ beqz $t9, .L800A0E90
/* 0A1A70 800A0E70 8FA40024 */ lw $a0, 0x24($sp)
/* 0A1A74 800A0E74 822801D8 */ lb $t0, 0x1d8($s1)
/* 0A1A78 800A0E78 02202025 */ move $a0, $s1
/* 0A1A7C 800A0E7C 15000003 */ bnez $t0, .L800A0E8C
/* 0A1A80 800A0E80 00000000 */ nop
/* 0A1A84 800A0E84 0C0291E8 */ jal func_800A47A0
/* 0A1A88 800A0E88 02002825 */ move $a1, $s0
.L800A0E8C:
/* 0A1A8C 800A0E8C 8FA40024 */ lw $a0, 0x24($sp)
.L800A0E90:
/* 0A1A90 800A0E90 0C029D48 */ jal func_800A7520
/* 0A1A94 800A0E94 02002825 */ move $a1, $s0
/* 0A1A98 800A0E98 0C01A142 */ jal func_80068508
/* 0A1A9C 800A0E9C 00002025 */ move $a0, $zero
/* 0A1AA0 800A0EA0 8FBF001C */ lw $ra, 0x1c($sp)
/* 0A1AA4 800A0EA4 8FB00014 */ lw $s0, 0x14($sp)
/* 0A1AA8 800A0EA8 8FB10018 */ lw $s1, 0x18($sp)
/* 0A1AAC 800A0EAC 03E00008 */ jr $ra
/* 0A1AB0 800A0EB0 27BD0020 */ addiu $sp, $sp, 0x20
@@ -1,47 +0,0 @@
glabel func_800A258C
/* 0A318C 800A258C 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 0A3190 800A2590 AFBF001C */ sw $ra, 0x1c($sp)
/* 0A3194 800A2594 AFB10018 */ sw $s1, 0x18($sp)
/* 0A3198 800A2598 AFB00014 */ sw $s0, 0x14($sp)
/* 0A319C 800A259C AFA40020 */ sw $a0, 0x20($sp)
/* 0A31A0 800A25A0 AFA50024 */ sw $a1, 0x24($sp)
/* 0A31A4 800A25A4 8CB10064 */ lw $s1, 0x64($a1)
/* 0A31A8 800A25A8 00C08025 */ move $s0, $a2
/* 0A31AC 800A25AC 0C01A142 */ jal func_80068508
/* 0A31B0 800A25B0 24040001 */ li $a0, 1
/* 0A31B4 800A25B4 02202025 */ move $a0, $s1
/* 0A31B8 800A25B8 0C029699 */ jal func_800A5A64
/* 0A31BC 800A25BC 02002825 */ move $a1, $s0
/* 0A31C0 800A25C0 8FA40020 */ lw $a0, 0x20($sp)
/* 0A31C4 800A25C4 0C028F39 */ jal func_800A3CE4
/* 0A31C8 800A25C8 02002825 */ move $a1, $s0
/* 0A31CC 800A25CC 02202025 */ move $a0, $s1
/* 0A31D0 800A25D0 0C029EDA */ jal func_800A7B68
/* 0A31D4 800A25D4 02002825 */ move $a1, $s0
/* 0A31D8 800A25D8 8FA40024 */ lw $a0, 0x24($sp)
/* 0A31DC 800A25DC 0C029D48 */ jal func_800A7520
/* 0A31E0 800A25E0 02002825 */ move $a1, $s0
/* 0A31E4 800A25E4 0C01AF6C */ jal func_8006BDB0
/* 0A31E8 800A25E8 00000000 */ nop
/* 0A31EC 800A25EC 804F004B */ lb $t7, 0x4b($v0)
/* 0A31F0 800A25F0 02202025 */ move $a0, $s1
/* 0A31F4 800A25F4 29E10002 */ slti $at, $t7, 2
/* 0A31F8 800A25F8 14200003 */ bnez $at, .L800A2608
/* 0A31FC 800A25FC 00000000 */ nop
/* 0A3200 800A2600 0C0293D4 */ jal func_800A4F50
/* 0A3204 800A2604 02002825 */ move $a1, $s0
.L800A2608:
/* 0A3208 800A2608 8FA40024 */ lw $a0, 0x24($sp)
/* 0A320C 800A260C 0C028E21 */ jal func_800A3884
/* 0A3210 800A2610 02002825 */ move $a1, $s0
/* 0A3214 800A2614 02202025 */ move $a0, $s1
/* 0A3218 800A2618 0C029311 */ jal func_800A4C44
/* 0A321C 800A261C 02002825 */ move $a1, $s0
/* 0A3220 800A2620 0C01A142 */ jal func_80068508
/* 0A3224 800A2624 00002025 */ move $a0, $zero
/* 0A3228 800A2628 8FBF001C */ lw $ra, 0x1c($sp)
/* 0A322C 800A262C 8FB00014 */ lw $s0, 0x14($sp)
/* 0A3230 800A2630 8FB10018 */ lw $s1, 0x18($sp)
/* 0A3234 800A2634 03E00008 */ jr $ra
/* 0A3238 800A2638 27BD0020 */ addiu $sp, $sp, 0x20
@@ -1,37 +0,0 @@
glabel func_800A263C
/* 0A323C 800A263C 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 0A3240 800A2640 AFBF001C */ sw $ra, 0x1c($sp)
/* 0A3244 800A2644 AFB10018 */ sw $s1, 0x18($sp)
/* 0A3248 800A2648 AFB00014 */ sw $s0, 0x14($sp)
/* 0A324C 800A264C AFA40020 */ sw $a0, 0x20($sp)
/* 0A3250 800A2650 AFA50024 */ sw $a1, 0x24($sp)
/* 0A3254 800A2654 8CB00064 */ lw $s0, 0x64($a1)
/* 0A3258 800A2658 00C08825 */ move $s1, $a2
/* 0A325C 800A265C 0C01A142 */ jal func_80068508
/* 0A3260 800A2660 24040001 */ li $a0, 1
/* 0A3264 800A2664 02002025 */ move $a0, $s0
/* 0A3268 800A2668 0C029699 */ jal func_800A5A64
/* 0A326C 800A266C 02202825 */ move $a1, $s1
/* 0A3270 800A2670 02002025 */ move $a0, $s0
/* 0A3274 800A2674 0C0293D4 */ jal func_800A4F50
/* 0A3278 800A2678 02202825 */ move $a1, $s1
/* 0A327C 800A267C 02002025 */ move $a0, $s0
/* 0A3280 800A2680 0C029311 */ jal func_800A4C44
/* 0A3284 800A2684 02202825 */ move $a1, $s1
/* 0A3288 800A2688 02002025 */ move $a0, $s0
/* 0A328C 800A268C 0C029EDA */ jal func_800A7B68
/* 0A3290 800A2690 02202825 */ move $a1, $s1
/* 0A3294 800A2694 8FA40020 */ lw $a0, 0x20($sp)
/* 0A3298 800A2698 0C028F39 */ jal func_800A3CE4
/* 0A329C 800A269C 02202825 */ move $a1, $s1
/* 0A32A0 800A26A0 8FA40024 */ lw $a0, 0x24($sp)
/* 0A32A4 800A26A4 0C028E21 */ jal func_800A3884
/* 0A32A8 800A26A8 02202825 */ move $a1, $s1
/* 0A32AC 800A26AC 0C01A142 */ jal func_80068508
/* 0A32B0 800A26B0 00002025 */ move $a0, $zero
/* 0A32B4 800A26B4 8FBF001C */ lw $ra, 0x1c($sp)
/* 0A32B8 800A26B8 8FB00014 */ lw $s0, 0x14($sp)
/* 0A32BC 800A26BC 8FB10018 */ lw $s1, 0x18($sp)
/* 0A32C0 800A26C0 03E00008 */ jr $ra
/* 0A32C4 800A26C4 27BD0020 */ addiu $sp, $sp, 0x20
@@ -1,7 +0,0 @@
glabel func_800A3870
/* 0A4470 800A3870 3C0F8012 */ lui $t7, %hi(D_80126CDC) # $t7, 0x8012
/* 0A4474 800A3874 8DEF6CDC */ lw $t7, %lo(D_80126CDC)($t7)
/* 0A4478 800A3878 240E6490 */ li $t6, 25744
/* 0A447C 800A387C 03E00008 */ jr $ra
/* 0A4480 800A3880 A5EE04C4 */ sh $t6, 0x4c4($t7)
@@ -1,35 +0,0 @@
glabel func_800A6DB4
/* 0A79B4 800A6DB4 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 0A79B8 800A6DB8 AFBF0014 */ sw $ra, 0x14($sp)
/* 0A79BC 800A6DBC 0C01BAA4 */ jal get_settings
/* 0A79C0 800A6DC0 AFA40018 */ sw $a0, 0x18($sp)
/* 0A79C4 800A6DC4 8FA30018 */ lw $v1, 0x18($sp)
/* 0A79C8 800A6DC8 00000000 */ nop
/* 0A79CC 800A6DCC 10600015 */ beqz $v1, .L800A6E24
/* 0A79D0 800A6DD0 8FBF0014 */ lw $ra, 0x14($sp)
/* 0A79D4 800A6DD4 846E0000 */ lh $t6, ($v1)
/* 0A79D8 800A6DD8 24040102 */ li $a0, 258
/* 0A79DC 800A6DDC 000E7880 */ sll $t7, $t6, 2
/* 0A79E0 800A6DE0 01EE7823 */ subu $t7, $t7, $t6
/* 0A79E4 800A6DE4 000F78C0 */ sll $t7, $t7, 3
/* 0A79E8 800A6DE8 004FC021 */ addu $t8, $v0, $t7
/* 0A79EC 800A6DEC 83190058 */ lb $t9, 0x58($t8)
/* 0A79F0 800A6DF0 3C058012 */ lui $a1, 0x8012
/* 0A79F4 800A6DF4 33280080 */ andi $t0, $t9, 0x80
/* 0A79F8 800A6DF8 11000007 */ beqz $t0, .L800A6E18
/* 0A79FC 800A6DFC 00000000 */ nop
/* 0A7A00 800A6E00 3C058012 */ lui $a1, %hi(D_80126D40) # $a1, 0x8012
/* 0A7A04 800A6E04 24A56D40 */ addiu $a1, %lo(D_80126D40) # addiu $a1, $a1, 0x6d40
/* 0A7A08 800A6E08 0C000741 */ jal func_80001D04
/* 0A7A0C 800A6E0C 24040145 */ li $a0, 325
/* 0A7A10 800A6E10 10000004 */ b .L800A6E24
/* 0A7A14 800A6E14 8FBF0014 */ lw $ra, 0x14($sp)
.L800A6E18:
/* 0A7A18 800A6E18 0C000741 */ jal func_80001D04
/* 0A7A1C 800A6E1C 24A56D40 */ addiu $a1, $a1, 0x6d40
/* 0A7A20 800A6E20 8FBF0014 */ lw $ra, 0x14($sp)
.L800A6E24:
/* 0A7A24 800A6E24 27BD0018 */ addiu $sp, $sp, 0x18
/* 0A7A28 800A6E28 03E00008 */ jr $ra
/* 0A7A2C 800A6E2C 00000000 */ nop
@@ -1,29 +0,0 @@
glabel func_800A7484
/* 0A8084 800A7484 3C028012 */ lui $v0, %hi(D_80126D74) # $v0, 0x8012
/* 0A8088 800A7488 24426D74 */ addiu $v0, %lo(D_80126D74) # addiu $v0, $v0, 0x6d74
/* 0A808C 800A748C 8C4F0000 */ lw $t7, ($v0)
/* 0A8090 800A7490 44856000 */ mtc1 $a1, $f12
/* 0A8094 800A7494 AFA40000 */ sw $a0, ($sp)
/* 0A8098 800A7498 15E00012 */ bnez $t7, .L800A74E4
/* 0A809C 800A749C 308EFFFF */ andi $t6, $a0, 0xffff
/* 0A80A0 800A74A0 3C018012 */ lui $at, %hi(D_80126D7C) # $at, 0x8012
/* 0A80A4 800A74A4 A42E6D7C */ sh $t6, %lo(D_80126D7C)($at)
/* 0A80A8 800A74A8 3C014270 */ li $at, 0x42700000 # 60.000000
/* 0A80AC 800A74AC 44812000 */ mtc1 $at, $f4
/* 0A80B0 800A74B0 00000000 */ nop
/* 0A80B4 800A74B4 46046182 */ mul.s $f6, $f12, $f4
/* 0A80B8 800A74B8 4458F800 */ cfc1 $t8, $31
/* 0A80BC 800A74BC 00000000 */ nop
/* 0A80C0 800A74C0 37010003 */ ori $at, $t8, 3
/* 0A80C4 800A74C4 38210002 */ xori $at, $at, 2
/* 0A80C8 800A74C8 44C1F800 */ ctc1 $at, $31
/* 0A80CC 800A74CC 3C018012 */ lui $at, %hi(D_80126D78) # $at, 0x8012
/* 0A80D0 800A74D0 46003224 */ cvt.w.s $f8, $f6
/* 0A80D4 800A74D4 44194000 */ mfc1 $t9, $f8
/* 0A80D8 800A74D8 44D8F800 */ ctc1 $t8, $31
/* 0A80DC 800A74DC AC590000 */ sw $t9, ($v0)
/* 0A80E0 800A74E0 AC266D78 */ sw $a2, %lo(D_80126D78)($at)
.L800A74E4:
/* 0A80E4 800A74E4 03E00008 */ jr $ra
/* 0A80E8 800A74E8 00000000 */ nop
@@ -1,16 +0,0 @@
glabel func_800A74EC
/* 0A80EC 800A74EC 3C0F8012 */ lui $t7, %hi(D_80126D7C) # $t7, 0x8012
/* 0A80F0 800A74F0 95EF6D7C */ lhu $t7, %lo(D_80126D7C)($t7)
/* 0A80F4 800A74F4 308EFFFF */ andi $t6, $a0, 0xffff
/* 0A80F8 800A74F8 15EE0007 */ bne $t7, $t6, .L800A7518
/* 0A80FC 800A74FC AFA40000 */ sw $a0, ($sp)
/* 0A8100 800A7500 3C188012 */ lui $t8, %hi(D_80126D78) # $t8, 0x8012
/* 0A8104 800A7504 8F186D78 */ lw $t8, %lo(D_80126D78)($t8)
/* 0A8108 800A7508 3C018012 */ lui $at, %hi(D_80126D74) # $at, 0x8012
/* 0A810C 800A750C 14B80002 */ bne $a1, $t8, .L800A7518
/* 0A8110 800A7510 00000000 */ nop
/* 0A8114 800A7514 AC206D74 */ sw $zero, %lo(D_80126D74)($at)
.L800A7518:
/* 0A8118 800A7518 03E00008 */ jr $ra
/* 0A811C 800A751C 00000000 */ nop
@@ -1,8 +0,0 @@
glabel func_800AB194
/* 0ABD94 800AB194 240E0001 */ li $t6, 1
/* 0ABD98 800AB198 3C018012 */ lui $at, %hi(D_80126CD1) # $at, 0x8012
/* 0ABD9C 800AB19C A02E6CD1 */ sb $t6, %lo(D_80126CD1)($at)
/* 0ABDA0 800AB1A0 3C018012 */ lui $at, 0x8012
/* 0ABDA4 800AB1A4 03E00008 */ jr $ra
/* 0ABDA8 800AB1A8 A0246CD3 */ sb $a0, 0x6cd3($at)
@@ -1,13 +0,0 @@
glabel func_800AB1AC
/* 0ABDAC 800AB1AC 3C0E8012 */ lui $t6, %hi(D_8012718B) # $t6, 0x8012
/* 0ABDB0 800AB1B0 91CE718B */ lbu $t6, %lo(D_8012718B)($t6)
/* 0ABDB4 800AB1B4 3C018012 */ lui $at, %hi(D_80126CD0) # $at, 0x8012
/* 0ABDB8 800AB1B8 A02E6CD0 */ sb $t6, %lo(D_80126CD0)($at)
/* 0ABDBC 800AB1BC 3C018012 */ lui $at, 0x8012
/* 0ABDC0 800AB1C0 03E00008 */ jr $ra
/* 0ABDC4 800AB1C4 A0246CD3 */ sb $a0, 0x6cd3($at)
/* 0ABDC8 800AB1C8 3C018012 */ lui $at, 0x8012
/* 0ABDCC 800AB1CC 03E00008 */ jr $ra
/* 0ABDD0 800AB1D0 A0206CD4 */ sb $zero, 0x6cd4($at)
@@ -1,25 +0,0 @@
glabel func_800AB308
/* 0ABF08 800AB308 3C028012 */ lui $v0, %hi(D_80127BF8) # $v0, 0x8012
/* 0ABF0C 800AB30C 24427BF8 */ addiu $v0, %lo(D_80127BF8) # addiu $v0, $v0, 0x7bf8
/* 0ABF10 800AB310 84480002 */ lh $t0, 2($v0)
/* 0ABF14 800AB314 84490000 */ lh $t1, ($v0)
/* 0ABF18 800AB318 00047400 */ sll $t6, $a0, 0x10
/* 0ABF1C 800AB31C 0005C400 */ sll $t8, $a1, 0x10
/* 0ABF20 800AB320 0018CC03 */ sra $t9, $t8, 0x10
/* 0ABF24 800AB324 000E7C03 */ sra $t7, $t6, 0x10
/* 0ABF28 800AB328 AFA40000 */ sw $a0, ($sp)
/* 0ABF2C 800AB32C AFA50004 */ sw $a1, 4($sp)
/* 0ABF30 800AB330 0109082A */ slt $at, $t0, $t1
/* 0ABF34 800AB334 03202825 */ move $a1, $t9
/* 0ABF38 800AB338 10200004 */ beqz $at, .L800AB34C
/* 0ABF3C 800AB33C 01E02025 */ move $a0, $t7
/* 0ABF40 800AB340 A44F0000 */ sh $t7, ($v0)
/* 0ABF44 800AB344 03E00008 */ jr $ra
/* 0ABF48 800AB348 A4590002 */ sh $t9, 2($v0)
.L800AB34C:
/* 0ABF4C 800AB34C A4450000 */ sh $a1, ($v0)
/* 0ABF50 800AB350 A4440002 */ sh $a0, 2($v0)
/* 0ABF54 800AB354 03E00008 */ jr $ra
/* 0ABF58 800AB358 00000000 */ nop
@@ -1,13 +0,0 @@
glabel func_800AC880
/* 0AD480 800AC880 3C02800E */ lui $v0, %hi(D_800E2A80) # $v0, 0x800e
/* 0AD484 800AC884 24422A80 */ addiu $v0, %lo(D_800E2A80) # addiu $v0, $v0, 0x2a80
/* 0AD488 800AC888 8C4E0000 */ lw $t6, ($v0)
/* 0AD48C 800AC88C 240F0001 */ li $t7, 1
/* 0AD490 800AC890 148E0003 */ bne $a0, $t6, .L800AC8A0
/* 0AD494 800AC894 3C01800E */ lui $at, %hi(D_800E2A84) # $at, 0x800e
/* 0AD498 800AC898 AC400000 */ sw $zero, ($v0)
/* 0AD49C 800AC89C AC2F2A84 */ sw $t7, %lo(D_800E2A84)($at)
.L800AC8A0:
/* 0AD4A0 800AC8A0 03E00008 */ jr $ra
/* 0AD4A4 800AC8A4 00000000 */ nop
@@ -1,47 +0,0 @@
glabel func_800AD220
/* 0ADE20 800AD220 3C04800E */ lui $a0, %hi(D_800E2C38) # $a0, 0x800e
/* 0ADE24 800AD224 8C842C38 */ lw $a0, %lo(D_800E2C38)($a0)
/* 0ADE28 800AD228 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 0ADE2C 800AD22C 10800005 */ beqz $a0, .L800AD244
/* 0ADE30 800AD230 AFBF0014 */ sw $ra, 0x14($sp)
/* 0ADE34 800AD234 0C01ECAF */ jal func_8007B2BC
/* 0ADE38 800AD238 00000000 */ nop
/* 0ADE3C 800AD23C 3C01800E */ lui $at, %hi(D_800E2C88) # $at, 0x800e
/* 0ADE40 800AD240 AC202C88 */ sw $zero, %lo(D_800E2C88)($at)
.L800AD244:
/* 0ADE44 800AD244 3C04800E */ lui $a0, %hi(D_800E2C50) # $a0, 0x800e
/* 0ADE48 800AD248 8C842C50 */ lw $a0, %lo(D_800E2C50)($a0)
/* 0ADE4C 800AD24C 00000000 */ nop
/* 0ADE50 800AD250 10800005 */ beqz $a0, .L800AD268
/* 0ADE54 800AD254 00000000 */ nop
/* 0ADE58 800AD258 0C01ECAF */ jal func_8007B2BC
/* 0ADE5C 800AD25C 00000000 */ nop
/* 0ADE60 800AD260 3C01800E */ lui $at, %hi(D_800E2C88) # $at, 0x800e
/* 0ADE64 800AD264 AC202C88 */ sw $zero, %lo(D_800E2C88)($at)
.L800AD268:
/* 0ADE68 800AD268 3C04800E */ lui $a0, %hi(D_800E2C8C) # $a0, 0x800e
/* 0ADE6C 800AD26C 8C842C8C */ lw $a0, %lo(D_800E2C8C)($a0)
/* 0ADE70 800AD270 00000000 */ nop
/* 0ADE74 800AD274 10800005 */ beqz $a0, .L800AD28C
/* 0ADE78 800AD278 00000000 */ nop
/* 0ADE7C 800AD27C 0C01F32C */ jal func_8007CCB0
/* 0ADE80 800AD280 00000000 */ nop
/* 0ADE84 800AD284 3C01800E */ lui $at, %hi(D_800E2C8C) # $at, 0x800e
/* 0ADE88 800AD288 AC202C8C */ sw $zero, %lo(D_800E2C8C)($at)
.L800AD28C:
/* 0ADE8C 800AD28C 3C04800E */ lui $a0, %hi(D_800E2C94) # $a0, 0x800e
/* 0ADE90 800AD290 8C842C94 */ lw $a0, %lo(D_800E2C94)($a0)
/* 0ADE94 800AD294 00000000 */ nop
/* 0ADE98 800AD298 10800006 */ beqz $a0, .L800AD2B4
/* 0ADE9C 800AD29C 8FBF0014 */ lw $ra, 0x14($sp)
/* 0ADEA0 800AD2A0 0C0025BE */ jal func_800096F8
/* 0ADEA4 800AD2A4 00000000 */ nop
/* 0ADEA8 800AD2A8 3C01800E */ lui $at, %hi(D_800E2C94) # $at, 0x800e
/* 0ADEAC 800AD2AC AC202C94 */ sw $zero, %lo(D_800E2C94)($at)
/* 0ADEB0 800AD2B0 8FBF0014 */ lw $ra, 0x14($sp)
.L800AD2B4:
/* 0ADEB4 800AD2B4 3C01800E */ lui $at, %hi(D_800E2C5C) # $at, 0x800e
/* 0ADEB8 800AD2B8 AC202C5C */ sw $zero, %lo(D_800E2C5C)($at)
/* 0ADEBC 800AD2BC 03E00008 */ jr $ra
/* 0ADEC0 800AD2C0 27BD0018 */ addiu $sp, $sp, 0x18
@@ -1,90 +0,0 @@
glabel func_800AD2C4
/* 0ADEC4 800AD2C4 3C0E8000 */ lui $t6, %hi(osTvType) # $t6, 0x8000
/* 0ADEC8 800AD2C8 8DCE0300 */ lw $t6, %lo(osTvType)($t6)
/* 0ADECC 800AD2CC 44866000 */ mtc1 $a2, $f12
/* 0ADED0 800AD2D0 15C00012 */ bnez $t6, .L800AD31C
/* 0ADED4 800AD2D4 3C06800E */ lui $a2, %hi(D_800E2C68) # $a2, 0x800e
/* 0ADED8 800AD2D8 3C014049 */ li $at, 0x40490000 # 3.140625
/* 0ADEDC 800AD2DC 44813800 */ mtc1 $at, $f7
/* 0ADEE0 800AD2E0 44803000 */ mtc1 $zero, $f6
/* 0ADEE4 800AD2E4 46006121 */ cvt.d.s $f4, $f12
/* 0ADEE8 800AD2E8 46262202 */ mul.d $f8, $f4, $f6
/* 0ADEEC 800AD2EC 3C03800E */ lui $v1, %hi(D_800E2C78) # $v1, 0x800e
/* 0ADEF0 800AD2F0 24632C78 */ addiu $v1, %lo(D_800E2C78) # addiu $v1, $v1, 0x2c78
/* 0ADEF4 800AD2F4 444FF800 */ cfc1 $t7, $31
/* 0ADEF8 800AD2F8 00000000 */ nop
/* 0ADEFC 800AD2FC 35E10003 */ ori $at, $t7, 3
/* 0ADF00 800AD300 38210002 */ xori $at, $at, 2
/* 0ADF04 800AD304 44C1F800 */ ctc1 $at, $31
/* 0ADF08 800AD308 00000000 */ nop
/* 0ADF0C 800AD30C 462042A4 */ cvt.w.d $f10, $f8
/* 0ADF10 800AD310 44CFF800 */ ctc1 $t7, $31
/* 0ADF14 800AD314 10000012 */ b .L800AD360
/* 0ADF18 800AD318 E46A0000 */ swc1 $f10, ($v1)
.L800AD31C:
/* 0ADF1C 800AD31C 3C01404E */ li $at, 0x404E0000 # 3.218750
/* 0ADF20 800AD320 44819800 */ mtc1 $at, $f19
/* 0ADF24 800AD324 44809000 */ mtc1 $zero, $f18
/* 0ADF28 800AD328 46006421 */ cvt.d.s $f16, $f12
/* 0ADF2C 800AD32C 46328102 */ mul.d $f4, $f16, $f18
/* 0ADF30 800AD330 3C03800E */ lui $v1, %hi(D_800E2C78) # $v1, 0x800e
/* 0ADF34 800AD334 24632C78 */ addiu $v1, %lo(D_800E2C78) # addiu $v1, $v1, 0x2c78
/* 0ADF38 800AD338 4458F800 */ cfc1 $t8, $31
/* 0ADF3C 800AD33C 00000000 */ nop
/* 0ADF40 800AD340 37010003 */ ori $at, $t8, 3
/* 0ADF44 800AD344 38210002 */ xori $at, $at, 2
/* 0ADF48 800AD348 44C1F800 */ ctc1 $at, $31
/* 0ADF4C 800AD34C 00000000 */ nop
/* 0ADF50 800AD350 462021A4 */ cvt.w.d $f6, $f4
/* 0ADF54 800AD354 44D8F800 */ ctc1 $t8, $31
/* 0ADF58 800AD358 E4660000 */ swc1 $f6, ($v1)
/* 0ADF5C 800AD35C 00000000 */ nop
.L800AD360:
/* 0ADF60 800AD360 24C62C68 */ addiu $a2, %lo(D_800E2C68) # addiu $a2, $a2, 0x2c68
/* 0ADF64 800AD364 ACC40000 */ sw $a0, ($a2)
/* 0ADF68 800AD368 3C08800E */ lui $t0, %hi(D_800E2C60) # $t0, 0x800e
/* 0ADF6C 800AD36C 8D082C60 */ lw $t0, %lo(D_800E2C60)($t0)
/* 0ADF70 800AD370 8C620000 */ lw $v0, ($v1)
/* 0ADF74 800AD374 00884823 */ subu $t1, $a0, $t0
/* 0ADF78 800AD378 0122001A */ div $zero, $t1, $v0
/* 0ADF7C 800AD37C 3C07800E */ lui $a3, %hi(D_800E2C74) # $a3, 0x800e
/* 0ADF80 800AD380 24E72C74 */ addiu $a3, %lo(D_800E2C74) # addiu $a3, $a3, 0x2c74
/* 0ADF84 800AD384 3C0C800E */ lui $t4, %hi(D_800E2C6C) # $t4, 0x800e
/* 0ADF88 800AD388 0080C825 */ move $t9, $a0
/* 0ADF8C 800AD38C 14400002 */ bnez $v0, .L800AD398
/* 0ADF90 800AD390 00000000 */ nop
/* 0ADF94 800AD394 0007000D */ break 7
.L800AD398:
/* 0ADF98 800AD398 2401FFFF */ li $at, -1
/* 0ADF9C 800AD39C 14410004 */ bne $v0, $at, .L800AD3B0
/* 0ADFA0 800AD3A0 3C018000 */ lui $at, 0x8000
/* 0ADFA4 800AD3A4 15210002 */ bne $t1, $at, .L800AD3B0
/* 0ADFA8 800AD3A8 00000000 */ nop
/* 0ADFAC 800AD3AC 0006000D */ break 6
.L800AD3B0:
/* 0ADFB0 800AD3B0 3C01800E */ lui $at, %hi(D_800E2C64) # $at, 0x800e
/* 0ADFB4 800AD3B4 00A05825 */ move $t3, $a1
/* 0ADFB8 800AD3B8 00005012 */ mflo $t2
/* 0ADFBC 800AD3BC AC2A2C64 */ sw $t2, %lo(D_800E2C64)($at)
/* 0ADFC0 800AD3C0 ACE50000 */ sw $a1, ($a3)
/* 0ADFC4 800AD3C4 8D8C2C6C */ lw $t4, %lo(D_800E2C6C)($t4)
/* 0ADFC8 800AD3C8 00000000 */ nop
/* 0ADFCC 800AD3CC 00AC6823 */ subu $t5, $a1, $t4
/* 0ADFD0 800AD3D0 01A2001A */ div $zero, $t5, $v0
/* 0ADFD4 800AD3D4 14400002 */ bnez $v0, .L800AD3E0
/* 0ADFD8 800AD3D8 00000000 */ nop
/* 0ADFDC 800AD3DC 0007000D */ break 7
.L800AD3E0:
/* 0ADFE0 800AD3E0 2401FFFF */ li $at, -1
/* 0ADFE4 800AD3E4 14410004 */ bne $v0, $at, .L800AD3F8
/* 0ADFE8 800AD3E8 3C018000 */ lui $at, 0x8000
/* 0ADFEC 800AD3EC 15A10002 */ bne $t5, $at, .L800AD3F8
/* 0ADFF0 800AD3F0 00000000 */ nop
/* 0ADFF4 800AD3F4 0006000D */ break 6
.L800AD3F8:
/* 0ADFF8 800AD3F8 3C01800E */ lui $at, %hi(D_800E2C70) # $at, 0x800e
/* 0ADFFC 800AD3FC 00007012 */ mflo $t6
/* 0AE000 800AD400 AC2E2C70 */ sw $t6, %lo(D_800E2C70)($at)
/* 0AE004 800AD404 03E00008 */ jr $ra
/* 0AE008 800AD408 00000000 */ nop
+2 -2
View File
@@ -34,7 +34,7 @@ typedef struct MenuElement {
/* Size: 0x18 bytes */
typedef struct Racer {
/* 0x00 */ u32 trophy_points;
/* 0x04 */ u8 best_times;
/* 0x04 */ s8 best_times;
/* 0x05 */ u8 character;
/* 0x06 */ s8 starting_position;
/* 0x07 */ char unk7;
@@ -137,7 +137,7 @@ typedef struct LevelHeader {
/* 0x49 */ s8 unk49;
/* 0x4A */ u8 unk4A;
/* 0x4B */ u8 laps;
/* 0x4B */ s8 laps;
/* 0x4C */ s8 race_type;
/* 0x4D */ u8 vehicle;
/* 0x4E */ u8 available_vehicles;
+229 -14
View File
@@ -3,15 +3,102 @@
#include "types.h"
#include "macros.h"
#include "structs.h"
typedef struct {
u8 unk0[0x4C4];
u16 unk4C4;
} unk80126CDC;
typedef struct {
u8 unk0[0x4C];
s8 unk4C;
} unk80126D60;
typedef struct {
s16 unk0;
s16 unk2;
} unk80127BF8;
extern u32 osTvType;
extern s32 D_800E2A80;
extern s32 D_800E2A84;
extern s32 D_800E2C38;
extern s32 D_800E2C50;
extern s32 D_800E2C5C;
extern s32 D_800E2C60;
extern s32 D_800E2C64;
extern s32 D_800E2C68;
extern s32 D_800E2C6C;
extern s32 D_800E2C70;
extern s32 D_800E2C74;
extern s32 D_800E2C78;
extern s32 D_800E2C88;
extern s32 D_800E2C8C;
extern s32 D_800E2C94;
extern u8 D_80126CD0;
extern u8 D_80126CD1;
extern u8 D_80126CD2;
extern u8 D_80126CD3;
extern u8 D_80126CD4;
extern unk80126CDC* D_80126CDC;
extern u8 D_80126D34;
extern s32 D_80126D40;
extern unk80126D60* D_80126D60;
extern s32 D_80126D74;
extern s32 D_80126D78;
extern u16 D_80126D7C;
extern u8 D_80127188;
extern u8 D_8012718B;
extern unk80127BF8 D_80127BF8;
GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_8009ECF0.s")
GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_8009F034.s")
GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800A003C.s")
GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800A0190.s")
u8 func_800A0190(void) {
return D_80126D34;
}
GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800A01A0.s")
GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800A0B74.s")
GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800A0BD4.s")
GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800A0DC0.s")
typedef struct {
u8 unk0[0x64];
s32* unk64;
} unk800A0DC0;
typedef struct {
u8 unk0[0x1D8];
s8 unk1D8;
} unk800A0DC0_2;
void func_800A0DC0(s32 arg0, unk800A0DC0* arg1, s32 arg2) {
unk800A0DC0_2* temp = arg1->unk64;
func_80068508(1);
func_800A0EB4(temp, arg2);
func_800A5A64(temp, arg2);
func_800A3CE4(arg0, arg2);
if (D_80126D60->unk4C == 0) {
func_800A4F50(temp, arg2);
}
func_800A4154(temp, arg2);
func_800A7B68(temp, arg2);
func_800A4C44(temp, arg2);
func_800A3884(arg1, arg2);
if (D_80127188 != 0 && temp->unk1D8 == 0) {
func_800A47A0(temp, arg2);
}
func_800A7520(arg1, arg2);
func_80068508(0);
}
GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800A0EB4.s")
GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800A1248.s")
GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800A1428.s")
@@ -20,12 +107,48 @@ GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800A19A4.s")
GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800A1C04.s")
GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800A1E48.s")
GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800A22F4.s")
GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800A258C.s")
GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800A263C.s")
void func_800A258C(s32 arg0, unk800A0DC0* arg1, s32 arg2) {
LevelHeader* level;
unk800A0DC0_2* temp = arg1->unk64;
func_80068508(1);
func_800A5A64(temp, arg2);
func_800A3CE4(arg0, arg2);
func_800A7B68(temp, arg2);
func_800A7520(arg1, arg2);
level = func_8006BDB0();
if (level->laps > 1) {
func_800A4F50(temp, arg2);
}
func_800A3884(arg1, arg2);
func_800A4C44(temp, arg2);
func_80068508(0);
}
void func_800A263C(s32 arg0, unk800A0DC0* arg1, s32 arg2) {
unk800A0DC0_2* temp = arg1->unk64;
func_80068508(1);
func_800A5A64(temp, arg2);
func_800A4F50(temp, arg2);
func_800A4C44(temp, arg2);
func_800A7B68(temp, arg2);
func_800A3CE4(arg0, arg2);
func_800A3884(arg1, arg2);
func_80068508(0);
}
GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800A26C8.s")
GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800A277C.s")
GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800A36CC.s")
GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800A3870.s")
void func_800A3870(void) {
D_80126CDC->unk4C4 = 0x6490;
}
GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800A3884.s")
GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800A3CE4.s")
GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800A4154.s")
@@ -37,11 +160,36 @@ GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800A4F50.s")
GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800A5A64.s")
GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800A5F18.s")
GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800A6254.s")
GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800A6DB4.s")
void func_800A6DB4(s16* arg0) {
Settings* settings = get_settings();
if (arg0 != NULL) {
if (settings->racers[*arg0].best_times & 0x80) {
func_80001D04(0x145, &D_80126D40);
} else {
func_80001D04(0x102, &D_80126D40);
}
}
}
GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800A6E30.s")
GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800A718C.s")
GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800A7484.s")
GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800A74EC.s")
void func_800A7484(u16 arg0, f32 arg1, s32 arg2) {
if (D_80126D74 == 0) {
D_80126D7C = arg0;
D_80126D74 = arg1 * 60.0f;
D_80126D78 = arg2;
}
}
void func_800A74EC(u16 arg0, s32 arg1) {
if (arg0 == D_80126D7C && D_80126D78 == arg1) {
D_80126D74 = 0;
}
}
GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800A7520.s")
GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800A7A60.s")
GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800A7B68.s")
@@ -52,11 +200,40 @@ GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800A8474.s")
GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800AA3EC.s")
GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800AA600.s")
GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800AAFD0.s")
GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800AB194.s")
GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800AB1AC.s")
void func_800AB194(s32 arg0) {
D_80126CD1 = 1;
D_80126CD3 = arg0;
}
void func_800AB1AC(s32 arg0) {
D_80126CD0 = D_8012718B;
D_80126CD3 = arg0;
}
/* Unused? */
void func_800AB1C8(void) {
D_80126CD4 = 0;
}
/* Last function of file */
GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800AB1D4.s")
//void func_800AB1D4(s32 arg0) {
// D_80126CD2 = arg0 - 1;
//}
GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800AB1F0.s")
GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800AB308.s")
void func_800AB308(s16 arg0, s16 arg1) {
if (D_80127BF8.unk2 < D_80127BF8.unk0) {
D_80127BF8.unk0 = arg0;
D_80127BF8.unk2 = arg1;
} else {
D_80127BF8.unk0 = arg1;
D_80127BF8.unk2 = arg0;
}
}
GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800AB35C.s")
GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800AB4A8.s")
GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800ABB34.s")
@@ -65,15 +242,53 @@ GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800ABE68.s")
GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800AC0C8.s")
GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800AC21C.s")
GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800AC5A4.s")
GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800AC880.s")
void func_800AC880(s32 arg0) {
if (arg0 == D_800E2A80) {
D_800E2A80 = 0;
D_800E2A84 = 1;
}
}
GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800AC8A8.s")
GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800ACA20.s")
GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800ACF60.s")
GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800ACF98.s")
GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800AD030.s")
GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800AD144.s")
GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800AD220.s")
GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800AD2C4.s")
void func_800AD220(void) {
if (D_800E2C38 != 0) {
func_8007B2BC(D_800E2C38);
D_800E2C88 = 0;
}
if (D_800E2C50 != 0) {
func_8007B2BC(D_800E2C50);
D_800E2C88 = 0;
}
if (D_800E2C8C != 0) {
func_8007CCB0(D_800E2C8C);
D_800E2C8C = 0;
}
if (D_800E2C94 != 0) {
func_800096F8(D_800E2C94);
D_800E2C94 = 0;
}
D_800E2C5C = 0;
}
void func_800AD2C4(s32 arg0, s32 arg1, f32 arg2) {
D_800E2C78 = osTvType == 0 ? 50.0 * arg2 : 60.0 * arg2;
D_800E2C68 = arg0;
D_800E2C64 = (D_800E2C68 - D_800E2C60) / D_800E2C78;
D_800E2C74 = arg1;
D_800E2C70 = (D_800E2C74 - D_800E2C6C) / D_800E2C78;
}
GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800AD40C.s")
GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800AD4B8.s")
GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800AD658.s")