mirror of
https://github.com/HarbourMasters/SpaghettiKart
synced 2026-07-01 04:20:13 -04:00
a2dc62ccf8
* Part 1, Commit 1 of 24 audio/effects Signed-off-by: Taggerung <tyler.taggerung@gmail.com> * Part 1, Commit 2 of 24 audio/external Signed-off-by: Taggerung <tyler.taggerung@gmail.com> * Part 1, Commit 3 of 24 audio/heap Signed-off-by: Taggerung <tyler.taggerung@gmail.com> * Part 1, Commit 4 of 24 audio/port_eu Signed-off-by: Taggerung <tyler.taggerung@gmail.com> * Part 1, Commit 5 of 24 audio/seqplayer Signed-off-by: Taggerung <tyler.taggerung@gmail.com> * Part 1, Commit 6 of 24 code_80005FD0 Signed-off-by: Taggerung <tyler.taggerung@gmail.com> * Part 1, Commit 7 of 24 code_8001C4D0 Signed-off-by: Taggerung <tyler.taggerung@gmail.com> * Part 1, Commit 8 of 24 code_80027D00 Signed-off-by: Taggerung <tyler.taggerung@gmail.com> * Part 1, Commit 9 of 24 code_800393C0 Signed-off-by: Taggerung <tyler.taggerung@gmail.com> * Part 1, Commit 10 of 24 code_8003DC40 Signed-off-by: Taggerung <tyler.taggerung@gmail.com> * Part 1, Commit 11 of 24 code_800431B0 Signed-off-by: Taggerung <tyler.taggerung@gmail.com> * Part 1, Commit 12 of 24 code_80057C60 Signed-off-by: Taggerung <tyler.taggerung@gmail.com> * Part 1, Commit 13 of 24 code_8006E9C0 Signed-off-by: Taggerung <tyler.taggerung@gmail.com> * Part 1, Commit 14 of 24 code_80071F00 Signed-off-by: Taggerung <tyler.taggerung@gmail.com> * Part 1, Commit 15 of 24 code_80086E70 Signed-off-by: Taggerung <tyler.taggerung@gmail.com> * Part 1, Commit 16 of 24 code_8008C1D0 Signed-off-by: Taggerung <tyler.taggerung@gmail.com> * Part 1, Commit 17 of 24 code_80091750 Signed-off-by: Taggerung <tyler.taggerung@gmail.com> * Part 1, Commit 18 of 24 code_800AF9B0 Signed-off-by: Taggerung <tyler.taggerung@gmail.com> * Part 1, Commit 19 of 24 code_8028DF00 Signed-off-by: Taggerung <tyler.taggerung@gmail.com> * Part 1, Commit 20 of 24 code_80290C20 Signed-off-by: Taggerung <tyler.taggerung@gmail.com> * Part 1, Commit 21 of 24 code_802B0210 Signed-off-by: Taggerung <tyler.taggerung@gmail.com> * Part 1, Commit 22 of 24 code_actors Signed-off-by: Taggerung <tyler.taggerung@gmail.com> * Part 1, Commit 23 of 24 memory Signed-off-by: Taggerung <tyler.taggerung@gmail.com> * Part 1, Commit 24 of 24 os/__osException Signed-off-by: Taggerung <tyler.taggerung@gmail.com> * Part 2, Commit 1 of 20 audio/effects.c Signed-off-by: Taggerung <tyler.taggerung@gmail.com> * Part 2, Commit 2 of 20 audio/external.c Signed-off-by: Taggerung <tyler.taggerung@gmail.com> * Part 2, Commit 3 of 24 audio/heap.c Signed-off-by: Taggerung <tyler.taggerung@gmail.com> * Part 2, Commit 4 of 20 audio/port_eu.c Signed-off-by: Taggerung <tyler.taggerung@gmail.com> * Part 2, Commit 5 of 20 audio/seqplayer.c Signed-off-by: Taggerung <tyler.taggerung@gmail.com> * Part 2, Commit 6 of 20 code_80005FD0.c Signed-off-by: Taggerung <tyler.taggerung@gmail.com> * Part 2, Commit 7 of 20 code_8001C4D0.c Signed-off-by: Taggerung <tyler.taggerung@gmail.com> * Part 2, Commit 8 of 20 code_80027D00.c Signed-off-by: Taggerung <tyler.taggerung@gmail.com> * Part 2, Commit 9 of 20 code_8003DC40.c Signed-off-by: Taggerung <tyler.taggerung@gmail.com> * Part 2, Commit 10 of 20 code_800431B0.c Signed-off-by: Taggerung <tyler.taggerung@gmail.com> * Part 2, Commit 11 of 20 code_80057C60.c Signed-off-by: Taggerung <tyler.taggerung@gmail.com> * Part 2, Commit 12 of 20 code_8006E9C0.c Signed-off-by: Taggerung <tyler.taggerung@gmail.com> * Part 2, Commit 13 of 20 code_80071F00.c Signed-off-by: Taggerung <tyler.taggerung@gmail.com> * Part 2, Commit 14 of 20 code_80086E70.c Signed-off-by: Taggerung <tyler.taggerung@gmail.com> * Part 2, Commit 15 of 20 code_80091750.c Signed-off-by: Taggerung <tyler.taggerung@gmail.com> * Part 2, Commit 16 of 20 code_800AF9B0.c Signed-off-by: Taggerung <tyler.taggerung@gmail.com> * Part 2, Commit 17 of 20 code_80290C20.c Signed-off-by: Taggerung <tyler.taggerung@gmail.com> * Part 2, Commit 18 of 20 code_802B0210.c Signed-off-by: Taggerung <tyler.taggerung@gmail.com> * Part 2, Commit 19 of 20 code_80296A50.c Signed-off-by: Taggerung <tyler.taggerung@gmail.com> * Part 2, Commit 20 of 20 memory.c Signed-off-by: Taggerung <tyler.taggerung@gmail.com> * Part 3, Commit 1 of 4 code_8008C1D0 Signed-off-by: Taggerung <tyler.taggerung@gmail.com> * Part 3, Commit 2 of 4 code_8028DF00 Signed-off-by: Taggerung <tyler.taggerung@gmail.com> * Part 3, Commit 3 of 4 math_util Signed-off-by: Taggerung <tyler.taggerung@gmail.com> * Part 3, Commit 4 of 4 crash_screen Signed-off-by: Taggerung <tyler.taggerung@gmail.com> * Recreated disassemblies with a context file Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
192 lines
9.2 KiB
ArmAsm
192 lines
9.2 KiB
ArmAsm
glabel func_8003F46C
|
|
/* 04006C 8003F46C 27BDFFD0 */ addiu $sp, $sp, -0x30
|
|
/* 040070 8003F470 AFBF002C */ sw $ra, 0x2c($sp)
|
|
/* 040074 8003F474 AFB10028 */ sw $s1, 0x28($sp)
|
|
/* 040078 8003F478 AFB00024 */ sw $s0, 0x24($sp)
|
|
/* 04007C 8003F47C C4840140 */ lwc1 $f4, 0x140($a0)
|
|
/* 040080 8003F480 44800000 */ mtc1 $zero, $f0
|
|
/* 040084 8003F484 00A08025 */ move $s0, $a1
|
|
/* 040088 8003F488 46002187 */ neg.s $f6, $f4
|
|
/* 04008C 8003F48C 00808825 */ move $s1, $a0
|
|
/* 040090 8003F490 E4A60000 */ swc1 $f6, ($a1)
|
|
/* 040094 8003F494 C4880144 */ lwc1 $f8, 0x144($a0)
|
|
/* 040098 8003F498 3C19800E */ lui $t9, %hi(gCurrentCourseId) # $t9, 0x800e
|
|
/* 04009C 8003F49C 46004287 */ neg.s $f10, $f8
|
|
/* 0400A0 8003F4A0 E4AA0004 */ swc1 $f10, 4($a1)
|
|
/* 0400A4 8003F4A4 C4900148 */ lwc1 $f16, 0x148($a0)
|
|
/* 0400A8 8003F4A8 46008487 */ neg.s $f18, $f16
|
|
/* 0400AC 8003F4AC E4B20008 */ swc1 $f18, 8($a1)
|
|
/* 0400B0 8003F4B0 C4840144 */ lwc1 $f4, 0x144($a0)
|
|
/* 0400B4 8003F4B4 4600203C */ c.lt.s $f4, $f0
|
|
/* 0400B8 8003F4B8 00000000 */ nop
|
|
/* 0400BC 8003F4BC 4500002E */ bc1f .L8003F578
|
|
/* 0400C0 8003F4C0 00000000 */ nop
|
|
/* 0400C4 8003F4C4 848E00CA */ lh $t6, 0xca($a0)
|
|
/* 0400C8 8003F4C8 31CF0002 */ andi $t7, $t6, 2
|
|
/* 0400CC 8003F4CC 15E0002A */ bnez $t7, .L8003F578
|
|
/* 0400D0 8003F4D0 00000000 */ nop
|
|
/* 0400D4 8003F4D4 C4A60000 */ lwc1 $f6, ($a1)
|
|
/* 0400D8 8003F4D8 C4880124 */ lwc1 $f8, 0x124($a0)
|
|
/* 0400DC 8003F4DC 3C013F80 */ li $at, 0x3F800000 # 1.000000
|
|
/* 0400E0 8003F4E0 44811000 */ mtc1 $at, $f2
|
|
/* 0400E4 8003F4E4 46083282 */ mul.s $f10, $f6, $f8
|
|
/* 0400E8 8003F4E8 8FA20044 */ lw $v0, 0x44($sp)
|
|
/* 0400EC 8003F4EC 8FA30048 */ lw $v1, 0x48($sp)
|
|
/* 0400F0 8003F4F0 8FA8004C */ lw $t0, 0x4c($sp)
|
|
/* 0400F4 8003F4F4 C4520000 */ lwc1 $f18, ($v0)
|
|
/* 0400F8 8003F4F8 3C073F99 */ lui $a3, (0x3F99999A >> 16) # lui $a3, 0x3f99
|
|
/* 0400FC 8003F4FC 34E7999A */ ori $a3, (0x3F99999A & 0xFFFF) # ori $a3, $a3, 0x999a
|
|
/* 040100 8003F500 46025402 */ mul.s $f16, $f10, $f2
|
|
/* 040104 8003F504 46109100 */ add.s $f4, $f18, $f16
|
|
/* 040108 8003F508 E4440000 */ swc1 $f4, ($v0)
|
|
/* 04010C 8003F50C C4880124 */ lwc1 $f8, 0x124($a0)
|
|
/* 040110 8003F510 C4A60004 */ lwc1 $f6, 4($a1)
|
|
/* 040114 8003F514 C4700000 */ lwc1 $f16, ($v1)
|
|
/* 040118 8003F518 46083282 */ mul.s $f10, $f6, $f8
|
|
/* 04011C 8003F51C 00000000 */ nop
|
|
/* 040120 8003F520 46025482 */ mul.s $f18, $f10, $f2
|
|
/* 040124 8003F524 46128100 */ add.s $f4, $f16, $f18
|
|
/* 040128 8003F528 E4640000 */ swc1 $f4, ($v1)
|
|
/* 04012C 8003F52C C4880124 */ lwc1 $f8, 0x124($a0)
|
|
/* 040130 8003F530 C4A60008 */ lwc1 $f6, 8($a1)
|
|
/* 040134 8003F534 C5120000 */ lwc1 $f18, ($t0)
|
|
/* 040138 8003F538 00A02025 */ move $a0, $a1
|
|
/* 04013C 8003F53C 46083282 */ mul.s $f10, $f6, $f8
|
|
/* 040140 8003F540 00000000 */ nop
|
|
/* 040144 8003F544 46025402 */ mul.s $f16, $f10, $f2
|
|
/* 040148 8003F548 46109100 */ add.s $f4, $f18, $f16
|
|
/* 04014C 8003F54C E5040000 */ swc1 $f4, ($t0)
|
|
/* 040150 8003F550 8FB80040 */ lw $t8, 0x40($sp)
|
|
/* 040154 8003F554 8F050000 */ lw $a1, ($t8)
|
|
/* 040158 8003F558 0C00A97D */ jal func_8002A5F4
|
|
/* 04015C 8003F55C E7A00010 */ swc1 $f0, 0x10($sp)
|
|
/* 040160 8003F560 44800000 */ mtc1 $zero, $f0
|
|
/* 040164 8003F564 00000000 */ nop
|
|
/* 040168 8003F568 E62000F0 */ swc1 $f0, 0xf0($s1)
|
|
/* 04016C 8003F56C E62000F4 */ swc1 $f0, 0xf4($s1)
|
|
/* 040170 8003F570 1000006B */ b .L8003F720
|
|
/* 040174 8003F574 E62000EC */ swc1 $f0, 0xec($s1)
|
|
.L8003F578:
|
|
/* 040178 8003F578 9739C5A0 */ lhu $t9, %lo(gCurrentCourseId)($t9)
|
|
/* 04017C 8003F57C 2F210013 */ sltiu $at, $t9, 0x13
|
|
/* 040180 8003F580 10200054 */ beqz $at, .L8003F6D4
|
|
/* 040184 8003F584 0019C880 */ sll $t9, $t9, 2
|
|
/* 040188 8003F588 3C01800F */ lui $at, %hi(jpt_800EDF8C)
|
|
/* 04018C 8003F58C 00390821 */ addu $at, $at, $t9
|
|
/* 040190 8003F590 8C39DF8C */ lw $t9, %lo(jpt_800EDF8C)($at)
|
|
/* 040194 8003F594 03200008 */ jr $t9
|
|
/* 040198 8003F598 00000000 */ nop
|
|
glabel L8003F59C
|
|
/* 04019C 8003F59C 8FA20044 */ lw $v0, 0x44($sp)
|
|
/* 0401A0 8003F5A0 8FA30048 */ lw $v1, 0x48($sp)
|
|
/* 0401A4 8003F5A4 8FA8004C */ lw $t0, 0x4c($sp)
|
|
/* 0401A8 8003F5A8 8FA90040 */ lw $t1, 0x40($sp)
|
|
/* 0401AC 8003F5AC 02202025 */ move $a0, $s1
|
|
/* 0401B0 8003F5B0 02002825 */ move $a1, $s0
|
|
/* 0401B4 8003F5B4 AFA20014 */ sw $v0, 0x14($sp)
|
|
/* 0401B8 8003F5B8 AFA30018 */ sw $v1, 0x18($sp)
|
|
/* 0401BC 8003F5BC AFA8001C */ sw $t0, 0x1c($sp)
|
|
/* 0401C0 8003F5C0 0C00F812 */ jal func_8003E048
|
|
/* 0401C4 8003F5C4 AFA90010 */ sw $t1, 0x10($sp)
|
|
/* 0401C8 8003F5C8 1000004E */ b .L8003F704
|
|
/* 0401CC 8003F5CC 8E3800BC */ lw $t8, 0xbc($s1)
|
|
glabel L8003F5D0
|
|
/* 0401D0 8003F5D0 8FA20044 */ lw $v0, 0x44($sp)
|
|
/* 0401D4 8003F5D4 8FA30048 */ lw $v1, 0x48($sp)
|
|
/* 0401D8 8003F5D8 8FA8004C */ lw $t0, 0x4c($sp)
|
|
/* 0401DC 8003F5DC 8FAA0040 */ lw $t2, 0x40($sp)
|
|
/* 0401E0 8003F5E0 02202025 */ move $a0, $s1
|
|
/* 0401E4 8003F5E4 02002825 */ move $a1, $s0
|
|
/* 0401E8 8003F5E8 AFA20014 */ sw $v0, 0x14($sp)
|
|
/* 0401EC 8003F5EC AFA30018 */ sw $v1, 0x18($sp)
|
|
/* 0401F0 8003F5F0 AFA8001C */ sw $t0, 0x1c($sp)
|
|
/* 0401F4 8003F5F4 0C00F8DF */ jal func_8003E37C
|
|
/* 0401F8 8003F5F8 AFAA0010 */ sw $t2, 0x10($sp)
|
|
/* 0401FC 8003F5FC 10000041 */ b .L8003F704
|
|
/* 040200 8003F600 8E3800BC */ lw $t8, 0xbc($s1)
|
|
glabel L8003F604
|
|
/* 040204 8003F604 8FA20044 */ lw $v0, 0x44($sp)
|
|
/* 040208 8003F608 8FA30048 */ lw $v1, 0x48($sp)
|
|
/* 04020C 8003F60C 8FA8004C */ lw $t0, 0x4c($sp)
|
|
/* 040210 8003F610 8FAB0040 */ lw $t3, 0x40($sp)
|
|
/* 040214 8003F614 02202025 */ move $a0, $s1
|
|
/* 040218 8003F618 02002825 */ move $a1, $s0
|
|
/* 04021C 8003F61C AFA20014 */ sw $v0, 0x14($sp)
|
|
/* 040220 8003F620 AFA30018 */ sw $v1, 0x18($sp)
|
|
/* 040224 8003F624 AFA8001C */ sw $t0, 0x1c($sp)
|
|
/* 040228 8003F628 0C00F9BB */ jal func_8003E6EC
|
|
/* 04022C 8003F62C AFAB0010 */ sw $t3, 0x10($sp)
|
|
/* 040230 8003F630 10000034 */ b .L8003F704
|
|
/* 040234 8003F634 8E3800BC */ lw $t8, 0xbc($s1)
|
|
glabel L8003F638
|
|
/* 040238 8003F638 8FA20044 */ lw $v0, 0x44($sp)
|
|
/* 04023C 8003F63C 8FA30048 */ lw $v1, 0x48($sp)
|
|
/* 040240 8003F640 8FA8004C */ lw $t0, 0x4c($sp)
|
|
/* 040244 8003F644 8FAC0040 */ lw $t4, 0x40($sp)
|
|
/* 040248 8003F648 02202025 */ move $a0, $s1
|
|
/* 04024C 8003F64C 02002825 */ move $a1, $s0
|
|
/* 040250 8003F650 AFA20014 */ sw $v0, 0x14($sp)
|
|
/* 040254 8003F654 AFA30018 */ sw $v1, 0x18($sp)
|
|
/* 040258 8003F658 AFA8001C */ sw $t0, 0x1c($sp)
|
|
/* 04025C 8003F65C 0C00FA7B */ jal func_8003E9EC
|
|
/* 040260 8003F660 AFAC0010 */ sw $t4, 0x10($sp)
|
|
/* 040264 8003F664 10000027 */ b .L8003F704
|
|
/* 040268 8003F668 8E3800BC */ lw $t8, 0xbc($s1)
|
|
glabel L8003F66C
|
|
/* 04026C 8003F66C 8FA20044 */ lw $v0, 0x44($sp)
|
|
/* 040270 8003F670 8FA30048 */ lw $v1, 0x48($sp)
|
|
/* 040274 8003F674 8FA8004C */ lw $t0, 0x4c($sp)
|
|
/* 040278 8003F678 8FAD0040 */ lw $t5, 0x40($sp)
|
|
/* 04027C 8003F67C 02202025 */ move $a0, $s1
|
|
/* 040280 8003F680 02002825 */ move $a1, $s0
|
|
/* 040284 8003F684 AFA20014 */ sw $v0, 0x14($sp)
|
|
/* 040288 8003F688 AFA30018 */ sw $v1, 0x18($sp)
|
|
/* 04028C 8003F68C AFA8001C */ sw $t0, 0x1c($sp)
|
|
/* 040290 8003F690 0C00FB8B */ jal func_8003EE2C
|
|
/* 040294 8003F694 AFAD0010 */ sw $t5, 0x10($sp)
|
|
/* 040298 8003F698 1000001A */ b .L8003F704
|
|
/* 04029C 8003F69C 8E3800BC */ lw $t8, 0xbc($s1)
|
|
glabel L8003F6A0
|
|
/* 0402A0 8003F6A0 8FA20044 */ lw $v0, 0x44($sp)
|
|
/* 0402A4 8003F6A4 8FA30048 */ lw $v1, 0x48($sp)
|
|
/* 0402A8 8003F6A8 8FA8004C */ lw $t0, 0x4c($sp)
|
|
/* 0402AC 8003F6AC 8FAE0040 */ lw $t6, 0x40($sp)
|
|
/* 0402B0 8003F6B0 02202025 */ move $a0, $s1
|
|
/* 0402B4 8003F6B4 02002825 */ move $a1, $s0
|
|
/* 0402B8 8003F6B8 AFA20014 */ sw $v0, 0x14($sp)
|
|
/* 0402BC 8003F6BC AFA30018 */ sw $v1, 0x18($sp)
|
|
/* 0402C0 8003F6C0 AFA8001C */ sw $t0, 0x1c($sp)
|
|
/* 0402C4 8003F6C4 0C00FC4E */ jal func_8003F138
|
|
/* 0402C8 8003F6C8 AFAE0010 */ sw $t6, 0x10($sp)
|
|
/* 0402CC 8003F6CC 1000000D */ b .L8003F704
|
|
/* 0402D0 8003F6D0 8E3800BC */ lw $t8, 0xbc($s1)
|
|
.L8003F6D4:
|
|
glabel L8003F6D4
|
|
/* 0402D4 8003F6D4 8FA20044 */ lw $v0, 0x44($sp)
|
|
/* 0402D8 8003F6D8 8FA30048 */ lw $v1, 0x48($sp)
|
|
/* 0402DC 8003F6DC 8FA8004C */ lw $t0, 0x4c($sp)
|
|
/* 0402E0 8003F6E0 8FAF0040 */ lw $t7, 0x40($sp)
|
|
/* 0402E4 8003F6E4 02202025 */ move $a0, $s1
|
|
/* 0402E8 8003F6E8 02002825 */ move $a1, $s0
|
|
/* 0402EC 8003F6EC AFA20014 */ sw $v0, 0x14($sp)
|
|
/* 0402F0 8003F6F0 AFA30018 */ sw $v1, 0x18($sp)
|
|
/* 0402F4 8003F6F4 AFA8001C */ sw $t0, 0x1c($sp)
|
|
/* 0402F8 8003F6F8 0C00F812 */ jal func_8003E048
|
|
/* 0402FC 8003F6FC AFAF0010 */ sw $t7, 0x10($sp)
|
|
/* 040300 8003F700 8E3800BC */ lw $t8, 0xbc($s1)
|
|
.L8003F704:
|
|
/* 040304 8003F704 3C013F00 */ li $at, 0x3F000000 # 0.500000
|
|
/* 040308 8003F708 0018CBC0 */ sll $t9, $t8, 0xf
|
|
/* 04030C 8003F70C 07230005 */ bgezl $t9, .L8003F724
|
|
/* 040310 8003F710 8FBF002C */ lw $ra, 0x2c($sp)
|
|
/* 040314 8003F714 44813000 */ mtc1 $at, $f6
|
|
/* 040318 8003F718 00000000 */ nop
|
|
/* 04031C 8003F71C E6260DAC */ swc1 $f6, 0xdac($s1)
|
|
.L8003F720:
|
|
/* 040320 8003F720 8FBF002C */ lw $ra, 0x2c($sp)
|
|
.L8003F724:
|
|
/* 040324 8003F724 8FB00024 */ lw $s0, 0x24($sp)
|
|
/* 040328 8003F728 8FB10028 */ lw $s1, 0x28($sp)
|
|
/* 04032C 8003F72C 03E00008 */ jr $ra
|
|
/* 040330 8003F730 27BD0030 */ addiu $sp, $sp, 0x30
|