diff --git a/asm/bss_main_audio.s b/asm/bss_main_audio.s deleted file mode 100644 index 25212cdc2..000000000 --- a/asm/bss_main_audio.s +++ /dev/null @@ -1,33 +0,0 @@ -.include "macros.inc" - -.section .bss - -glabel sNumSoundsInBank -.skip 8 - -glabel D_80192AB8 -.skip 384 - -glabel D_80192C38 -.skip 4 - -glabel sSoundBankDisabled # 0x80192C3C -.skip 12 - -glabel D_80192C48 -.skip 96 - -glabel D_80192CA8 -.skip 30 - -glabel D_80192CC6 -.skip 10 - -glabel D_80192CD0 -.skip 1024 - -glabel D_801930D0 -.skip 584 - -glabel D_80193318 -.skip 1192 diff --git a/asm/non_matchings/audio/external/func_800C76C0.s b/asm/non_matchings/audio/external/func_800C76C0.s deleted file mode 100644 index a64809012..000000000 --- a/asm/non_matchings/audio/external/func_800C76C0.s +++ /dev/null @@ -1,941 +0,0 @@ -glabel func_800C76C0 -/* 0C82C0 800C76C0 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 0C82C4 800C76C4 308E00FF */ andi $t6, $a0, 0xff -/* 0C82C8 800C76C8 3C19800F */ lui $t9, %hi(D_800E9EA4) # $t9, 0x800f -/* 0C82CC 800C76CC 27399EA4 */ addiu $t9, %lo(D_800E9EA4) # addiu $t9, $t9, -0x615c -/* 0C82D0 800C76D0 000E7880 */ sll $t7, $t6, 2 -/* 0C82D4 800C76D4 01F94021 */ addu $t0, $t7, $t9 -/* 0C82D8 800C76D8 AFBF002C */ sw $ra, 0x2c($sp) -/* 0C82DC 800C76DC AFBE0028 */ sw $fp, 0x28($sp) -/* 0C82E0 800C76E0 AFA40040 */ sw $a0, 0x40($sp) -/* 0C82E4 800C76E4 AFA80034 */ sw $t0, 0x34($sp) -/* 0C82E8 800C76E8 AFAF0038 */ sw $t7, 0x38($sp) -/* 0C82EC 800C76EC 8D030000 */ lw $v1, ($t0) -/* 0C82F0 800C76F0 01C02025 */ move $a0, $t6 -/* 0C82F4 800C76F4 03A0F025 */ move $fp, $sp -/* 0C82F8 800C76F8 1060035B */ beqz $v1, .L800C8468 -/* 0C82FC 800C76FC 286102BC */ slti $at, $v1, 0x2bc -/* 0C8300 800C7700 10200003 */ beqz $at, .L800C7710 -/* 0C8304 800C7704 24690001 */ addiu $t1, $v1, 1 -/* 0C8308 800C7708 AD090000 */ sw $t1, ($t0) -/* 0C830C 800C770C 01201825 */ move $v1, $t1 -.L800C7710: -/* 0C8310 800C7710 24010002 */ li $at, 2 -/* 0C8314 800C7714 14610218 */ bne $v1, $at, .L800C7F78 -/* 0C8318 800C7718 A3C40043 */ sb $a0, 0x43($fp) -/* 0C831C 800C771C 3C050100 */ lui $a1, (0x0100FA28 >> 16) # lui $a1, 0x100 -/* 0C8320 800C7720 34A5FA28 */ ori $a1, (0x0100FA28 & 0xFFFF) # ori $a1, $a1, 0xfa28 -/* 0C8324 800C7724 0C032406 */ jal func_800C9018 -/* 0C8328 800C7728 A3C40043 */ sb $a0, 0x43($fp) -/* 0C832C 800C772C 3C050100 */ lui $a1, (0x0100FF2C >> 16) # lui $a1, 0x100 -/* 0C8330 800C7730 34A5FF2C */ ori $a1, (0x0100FF2C & 0xFFFF) # ori $a1, $a1, 0xff2c -/* 0C8334 800C7734 0C032406 */ jal func_800C9018 -/* 0C8338 800C7738 93C40043 */ lbu $a0, 0x43($fp) -/* 0C833C 800C773C 3C050100 */ lui $a1, (0x0100FA4C >> 16) # lui $a1, 0x100 -/* 0C8340 800C7740 34A5FA4C */ ori $a1, (0x0100FA4C & 0xFFFF) # ori $a1, $a1, 0xfa4c -/* 0C8344 800C7744 0C032406 */ jal func_800C9018 -/* 0C8348 800C7748 93C40043 */ lbu $a0, 0x43($fp) -/* 0C834C 800C774C 93CA0043 */ lbu $t2, 0x43($fp) -/* 0C8350 800C7750 8FCD0038 */ lw $t5, 0x38($fp) -/* 0C8354 800C7754 3C0C800F */ lui $t4, %hi(D_800E9F7C) # $t4, 0x800f -/* 0C8358 800C7758 000A5900 */ sll $t3, $t2, 4 -/* 0C835C 800C775C 3C05800F */ lui $a1, %hi(D_800E9E94) -/* 0C8360 800C7760 016A5823 */ subu $t3, $t3, $t2 -/* 0C8364 800C7764 000B5880 */ sll $t3, $t3, 2 -/* 0C8368 800C7768 258C9F7C */ addiu $t4, %lo(D_800E9F7C) # addiu $t4, $t4, -0x6084 -/* 0C836C 800C776C 00AD2821 */ addu $a1, $a1, $t5 -/* 0C8370 800C7770 8CA59E94 */ lw $a1, %lo(D_800E9E94)($a1) -/* 0C8374 800C7774 0C03155E */ jal func_800C5578 -/* 0C8378 800C7778 016C2021 */ addu $a0, $t3, $t4 -/* 0C837C 800C777C 8FCE0038 */ lw $t6, 0x38($fp) -/* 0C8380 800C7780 3C02800E */ lui $v0, %hi(gModeSelection) # $v0, 0x800e -/* 0C8384 800C7784 8C42C53C */ lw $v0, %lo(gModeSelection)($v0) -/* 0C8388 800C7788 3C01800F */ lui $at, %hi(D_800E9E74) -/* 0C838C 800C778C 002E0821 */ addu $at, $at, $t6 -/* 0C8390 800C7790 1040000D */ beqz $v0, .L800C77C8 -/* 0C8394 800C7794 AC209E74 */ sw $zero, %lo(D_800E9E74)($at) -/* 0C8398 800C7798 24070001 */ li $a3, 1 -/* 0C839C 800C779C 104700AC */ beq $v0, $a3, .L800C7A50 -/* 0C83A0 800C77A0 3C041001 */ lui $a0, 0x1001 -/* 0C83A4 800C77A4 24010002 */ li $at, 2 -/* 0C83A8 800C77A8 104100D5 */ beq $v0, $at, .L800C7B00 -/* 0C83AC 800C77AC 3C0B800F */ lui $t3, %hi(D_800EA0EC) -/* 0C83B0 800C77B0 24010003 */ li $at, 3 -/* 0C83B4 800C77B4 10410165 */ beq $v0, $at, .L800C7D4C -/* 0C83B8 800C77B8 00000000 */ nop -/* 0C83BC 800C77BC 8FCF0034 */ lw $t7, 0x34($fp) -/* 0C83C0 800C77C0 100001ED */ b .L800C7F78 -/* 0C83C4 800C77C4 8DE30000 */ lw $v1, ($t7) -.L800C77C8: -/* 0C83C8 800C77C8 93D80043 */ lbu $t8, 0x43($fp) -/* 0C83CC 800C77CC 3C19800F */ lui $t9, %hi(D_800EA0EC) # $t9, 0x800f -/* 0C83D0 800C77D0 2739A0EC */ addiu $t9, %lo(D_800EA0EC) # addiu $t9, $t9, -0x5f14 -/* 0C83D4 800C77D4 24080002 */ li $t0, 2 -/* 0C83D8 800C77D8 03191021 */ addu $v0, $t8, $t9 -/* 0C83DC 800C77DC A0480000 */ sb $t0, ($v0) -/* 0C83E0 800C77E0 3C051900 */ lui $a1, (0x1900F103 >> 16) # lui $a1, 0x1900 -/* 0C83E4 800C77E4 34A5F103 */ ori $a1, (0x1900F103 & 0xFFFF) # ori $a1, $a1, 0xf103 -/* 0C83E8 800C77E8 AFC20030 */ sw $v0, 0x30($fp) -/* 0C83EC 800C77EC 0C032418 */ jal func_800C9060 -/* 0C83F0 800C77F0 93C40043 */ lbu $a0, 0x43($fp) -/* 0C83F4 800C77F4 3C09800F */ lui $t1, %hi(D_800EA1C0) # $t1, 0x800f -/* 0C83F8 800C77F8 9129A1C0 */ lbu $t1, %lo(D_800EA1C0)($t1) -/* 0C83FC 800C77FC 3C041001 */ lui $a0, (0x100100FF >> 16) # lui $a0, 0x1001 -/* 0C8400 800C7800 240E0002 */ li $t6, 2 -/* 0C8404 800C7804 55200037 */ bnel $t1, $zero, .L800C78E4 -/* 0C8408 800C7808 8FCF0030 */ lw $t7, 0x30($fp) -/* 0C840C 800C780C 0C030D12 */ jal func_800C3448 -/* 0C8410 800C7810 348400FF */ ori $a0, (0x100100FF & 0xFFFF) # ori $a0, $a0, 0xff -/* 0C8414 800C7814 3C041101 */ lui $a0, (0x110100FF >> 16) # lui $a0, 0x1101 -/* 0C8418 800C7818 0C030D12 */ jal func_800C3448 -/* 0C841C 800C781C 348400FF */ ori $a0, (0x110100FF & 0xFFFF) # ori $a0, $a0, 0xff -/* 0C8420 800C7820 0C03149E */ jal func_800C5278 -/* 0C8424 800C7824 24040005 */ li $a0, 5 -/* 0C8428 800C7828 93CA0043 */ lbu $t2, 0x43($fp) -/* 0C842C 800C782C 3C02800F */ lui $v0, %hi(gPlayers+0x4) -/* 0C8430 800C7830 000A58C0 */ sll $t3, $t2, 3 -/* 0C8434 800C7834 016A5823 */ subu $t3, $t3, $t2 -/* 0C8438 800C7838 000B5900 */ sll $t3, $t3, 4 -/* 0C843C 800C783C 016A5823 */ subu $t3, $t3, $t2 -/* 0C8440 800C7840 000B5880 */ sll $t3, $t3, 2 -/* 0C8444 800C7844 016A5823 */ subu $t3, $t3, $t2 -/* 0C8448 800C7848 000B58C0 */ sll $t3, $t3, 3 -/* 0C844C 800C784C 004B1021 */ addu $v0, $v0, $t3 -/* 0C8450 800C7850 84426994 */ lh $v0, %lo(gPlayers+0x4)($v0) -/* 0C8454 800C7854 1440000D */ bnez $v0, .L800C788C -/* 0C8458 800C7858 28410004 */ slti $at, $v0, 4 -/* 0C845C 800C785C 0C0325F1 */ jal func_800C97C4 -/* 0C8460 800C7860 01402025 */ move $a0, $t2 -/* 0C8464 800C7864 240C0002 */ li $t4, 2 -/* 0C8468 800C7868 3C01800F */ lui $at, %hi(D_800EA0F0) # $at, 0x800f -/* 0C846C 800C786C A02CA0F0 */ sb $t4, %lo(D_800EA0F0)($at) -/* 0C8470 800C7870 0C0326A2 */ jal func_800C9A88 -/* 0C8474 800C7874 93C40043 */ lbu $a0, 0x43($fp) -/* 0C8478 800C7878 2404000D */ li $a0, 13 -/* 0C847C 800C787C 0C032905 */ jal func_800CA414 -/* 0C8480 800C7880 24050010 */ li $a1, 16 -/* 0C8484 800C7884 10000070 */ b .L800C7A48 -/* 0C8488 800C7888 8FCD0034 */ lw $t5, 0x34($fp) -.L800C788C: -/* 0C848C 800C788C 1020000D */ beqz $at, .L800C78C4 -/* 0C8490 800C7890 3C04C160 */ lui $a0, (0xC1606400 >> 16) # lui $a0, 0xc160 -/* 0C8494 800C7894 0C0325F1 */ jal func_800C97C4 -/* 0C8498 800C7898 93C40043 */ lbu $a0, 0x43($fp) -/* 0C849C 800C789C 240D0002 */ li $t5, 2 -/* 0C84A0 800C78A0 3C01800F */ lui $at, %hi(D_800EA0F0) # $at, 0x800f -/* 0C84A4 800C78A4 A02DA0F0 */ sb $t5, %lo(D_800EA0F0)($at) -/* 0C84A8 800C78A8 0C0326A2 */ jal func_800C9A88 -/* 0C84AC 800C78AC 93C40043 */ lbu $a0, 0x43($fp) -/* 0C84B0 800C78B0 2404000E */ li $a0, 14 -/* 0C84B4 800C78B4 0C032905 */ jal func_800CA414 -/* 0C84B8 800C78B8 24050010 */ li $a1, 16 -/* 0C84BC 800C78BC 10000062 */ b .L800C7A48 -/* 0C84C0 800C78C0 8FCD0034 */ lw $t5, 0x34($fp) -.L800C78C4: -/* 0C84C4 800C78C4 0C030D12 */ jal func_800C3448 -/* 0C84C8 800C78C8 34846400 */ ori $a0, (0xC1606400 & 0xFFFF) # ori $a0, $a0, 0x6400 -/* 0C84CC 800C78CC 2404000F */ li $a0, 15 -/* 0C84D0 800C78D0 0C032905 */ jal func_800CA414 -/* 0C84D4 800C78D4 24050018 */ li $a1, 24 -/* 0C84D8 800C78D8 1000005B */ b .L800C7A48 -/* 0C84DC 800C78DC 8FCD0034 */ lw $t5, 0x34($fp) -/* 0C84E0 800C78E0 8FCF0030 */ lw $t7, 0x30($fp) -.L800C78E4: -/* 0C84E4 800C78E4 3C051900 */ lui $a1, (0x1900F103 >> 16) # lui $a1, 0x1900 -/* 0C84E8 800C78E8 34A5F103 */ ori $a1, (0x1900F103 & 0xFFFF) # ori $a1, $a1, 0xf103 -/* 0C84EC 800C78EC A1EE0000 */ sb $t6, ($t7) -/* 0C84F0 800C78F0 0C032418 */ jal func_800C9060 -/* 0C84F4 800C78F4 93C40043 */ lbu $a0, 0x43($fp) -/* 0C84F8 800C78F8 93D80043 */ lbu $t8, 0x43($fp) -/* 0C84FC 800C78FC 3C02800F */ lui $v0, %hi(gPlayers+0x4) -/* 0C8500 800C7900 3C041001 */ lui $a0, (0x100100FF >> 16) # lui $a0, 0x1001 -/* 0C8504 800C7904 0018C8C0 */ sll $t9, $t8, 3 -/* 0C8508 800C7908 0338C823 */ subu $t9, $t9, $t8 -/* 0C850C 800C790C 0019C900 */ sll $t9, $t9, 4 -/* 0C8510 800C7910 0338C823 */ subu $t9, $t9, $t8 -/* 0C8514 800C7914 0019C880 */ sll $t9, $t9, 2 -/* 0C8518 800C7918 0338C823 */ subu $t9, $t9, $t8 -/* 0C851C 800C791C 0019C8C0 */ sll $t9, $t9, 3 -/* 0C8520 800C7920 00591021 */ addu $v0, $v0, $t9 -/* 0C8524 800C7924 84426994 */ lh $v0, %lo(gPlayers+0x4)($v0) -/* 0C8528 800C7928 14400013 */ bnez $v0, .L800C7978 -/* 0C852C 800C792C 28410004 */ slti $at, $v0, 4 -/* 0C8530 800C7930 0C030D12 */ jal func_800C3448 -/* 0C8534 800C7934 348400FF */ ori $a0, (0x100100FF & 0xFFFF) # ori $a0, $a0, 0xff -/* 0C8538 800C7938 3C041101 */ lui $a0, (0x110100FF >> 16) # lui $a0, 0x1101 -/* 0C853C 800C793C 0C030D12 */ jal func_800C3448 -/* 0C8540 800C7940 348400FF */ ori $a0, (0x110100FF & 0xFFFF) # ori $a0, $a0, 0xff -/* 0C8544 800C7944 0C0325F1 */ jal func_800C97C4 -/* 0C8548 800C7948 93C40043 */ lbu $a0, 0x43($fp) -/* 0C854C 800C794C 24080002 */ li $t0, 2 -/* 0C8550 800C7950 3C01800F */ lui $at, %hi(D_800EA0F0) # $at, 0x800f -/* 0C8554 800C7954 A028A0F0 */ sb $t0, %lo(D_800EA0F0)($at) -/* 0C8558 800C7958 0C0326A2 */ jal func_800C9A88 -/* 0C855C 800C795C 93C40043 */ lbu $a0, 0x43($fp) -/* 0C8560 800C7960 2404000D */ li $a0, 13 -/* 0C8564 800C7964 0C032905 */ jal func_800CA414 -/* 0C8568 800C7968 24050010 */ li $a1, 16 -/* 0C856C 800C796C 3C02800F */ lui $v0, %hi(D_800EA104) # $v0, 0x800f -/* 0C8570 800C7970 1000002B */ b .L800C7A20 -/* 0C8574 800C7974 9042A104 */ lbu $v0, %lo(D_800EA104)($v0) -.L800C7978: -/* 0C8578 800C7978 10200018 */ beqz $at, .L800C79DC -/* 0C857C 800C797C 3C02800F */ lui $v0, %hi(D_800EA104) -/* 0C8580 800C7980 3C09800F */ lui $t1, %hi(D_800EA104) # $t1, 0x800f -/* 0C8584 800C7984 9129A104 */ lbu $t1, %lo(D_800EA104)($t1) -/* 0C8588 800C7988 3C041001 */ lui $a0, (0x100100FF >> 16) # lui $a0, 0x1001 -/* 0C858C 800C798C 15200006 */ bnez $t1, .L800C79A8 -/* 0C8590 800C7990 00000000 */ nop -/* 0C8594 800C7994 0C030D12 */ jal func_800C3448 -/* 0C8598 800C7998 348400FF */ ori $a0, (0x100100FF & 0xFFFF) # ori $a0, $a0, 0xff -/* 0C859C 800C799C 3C041101 */ lui $a0, (0x110100FF >> 16) # lui $a0, 0x1101 -/* 0C85A0 800C79A0 0C030D12 */ jal func_800C3448 -/* 0C85A4 800C79A4 348400FF */ ori $a0, (0x110100FF & 0xFFFF) # ori $a0, $a0, 0xff -.L800C79A8: -/* 0C85A8 800C79A8 0C0325F1 */ jal func_800C97C4 -/* 0C85AC 800C79AC 93C40043 */ lbu $a0, 0x43($fp) -/* 0C85B0 800C79B0 240B0002 */ li $t3, 2 -/* 0C85B4 800C79B4 3C01800F */ lui $at, %hi(D_800EA0F0) # $at, 0x800f -/* 0C85B8 800C79B8 A02BA0F0 */ sb $t3, %lo(D_800EA0F0)($at) -/* 0C85BC 800C79BC 0C0326A2 */ jal func_800C9A88 -/* 0C85C0 800C79C0 93C40043 */ lbu $a0, 0x43($fp) -/* 0C85C4 800C79C4 2404000E */ li $a0, 14 -/* 0C85C8 800C79C8 0C032905 */ jal func_800CA414 -/* 0C85CC 800C79CC 24050010 */ li $a1, 16 -/* 0C85D0 800C79D0 3C02800F */ lui $v0, %hi(D_800EA104) # $v0, 0x800f -/* 0C85D4 800C79D4 10000012 */ b .L800C7A20 -/* 0C85D8 800C79D8 9042A104 */ lbu $v0, %lo(D_800EA104)($v0) -.L800C79DC: -/* 0C85DC 800C79DC 9042A104 */ lbu $v0, %lo(D_800EA104)($v0) -/* 0C85E0 800C79E0 3C041001 */ lui $a0, (0x100100FF >> 16) # lui $a0, 0x1001 -/* 0C85E4 800C79E4 1440000E */ bnez $v0, .L800C7A20 -/* 0C85E8 800C79E8 00000000 */ nop -/* 0C85EC 800C79EC 0C030D12 */ jal func_800C3448 -/* 0C85F0 800C79F0 348400FF */ ori $a0, (0x100100FF & 0xFFFF) # ori $a0, $a0, 0xff -/* 0C85F4 800C79F4 3C041101 */ lui $a0, (0x110100FF >> 16) # lui $a0, 0x1101 -/* 0C85F8 800C79F8 0C030D12 */ jal func_800C3448 -/* 0C85FC 800C79FC 348400FF */ ori $a0, (0x110100FF & 0xFFFF) # ori $a0, $a0, 0xff -/* 0C8600 800C7A00 3C04C160 */ lui $a0, (0xC16000FF >> 16) # lui $a0, 0xc160 -/* 0C8604 800C7A04 0C030D12 */ jal func_800C3448 -/* 0C8608 800C7A08 34846400 */ ori $a0, (0xC1606400 & 0xFFFF) # ori $a0, $a0, 0x6400 -/* 0C860C 800C7A0C 2404000F */ li $a0, 15 -/* 0C8610 800C7A10 0C032905 */ jal func_800CA414 -/* 0C8614 800C7A14 24050018 */ li $a1, 24 -/* 0C8618 800C7A18 3C02800F */ lui $v0, %hi(D_800EA104) # $v0, 0x800f -/* 0C861C 800C7A1C 9042A104 */ lbu $v0, %lo(D_800EA104)($v0) -.L800C7A20: -/* 0C8620 800C7A20 14400006 */ bnez $v0, .L800C7A3C -/* 0C8624 800C7A24 00000000 */ nop -/* 0C8628 800C7A28 8FCA0030 */ lw $t2, 0x30($fp) -/* 0C862C 800C7A2C 24010001 */ li $at, 1 -/* 0C8630 800C7A30 914C0000 */ lbu $t4, ($t2) -/* 0C8634 800C7A34 51810004 */ beql $t4, $at, .L800C7A48 -/* 0C8638 800C7A38 8FCD0034 */ lw $t5, 0x34($fp) -.L800C7A3C: -/* 0C863C 800C7A3C 0C03149E */ jal func_800C5278 -/* 0C8640 800C7A40 24040005 */ li $a0, 5 -/* 0C8644 800C7A44 8FCD0034 */ lw $t5, 0x34($fp) -.L800C7A48: -/* 0C8648 800C7A48 1000014B */ b .L800C7F78 -/* 0C864C 800C7A4C 8DA30000 */ lw $v1, ($t5) -.L800C7A50: -/* 0C8650 800C7A50 0C030D12 */ jal func_800C3448 -/* 0C8654 800C7A54 348400FF */ ori $a0, (0xC16000FF & 0xFFFF) # ori $a0, $a0, 0xff -/* 0C8658 800C7A58 3C041101 */ lui $a0, (0x110100FF >> 16) # lui $a0, 0x1101 -/* 0C865C 800C7A5C 0C030D12 */ jal func_800C3448 -/* 0C8660 800C7A60 348400FF */ ori $a0, (0x110100FF & 0xFFFF) # ori $a0, $a0, 0xff -/* 0C8664 800C7A64 0C0325F1 */ jal func_800C97C4 -/* 0C8668 800C7A68 93C40043 */ lbu $a0, 0x43($fp) -/* 0C866C 800C7A6C 240E0002 */ li $t6, 2 -/* 0C8670 800C7A70 3C01800F */ lui $at, %hi(D_800EA0F0) # $at, 0x800f -/* 0C8674 800C7A74 A02EA0F0 */ sb $t6, %lo(D_800EA0F0)($at) -/* 0C8678 800C7A78 0C0326A2 */ jal func_800C9A88 -/* 0C867C 800C7A7C 00002025 */ move $a0, $zero -/* 0C8680 800C7A80 93C40043 */ lbu $a0, 0x43($fp) -/* 0C8684 800C7A84 3C01800F */ lui $at, %hi(D_800EA0EC) -/* 0C8688 800C7A88 240F0002 */ li $t7, 2 -/* 0C868C 800C7A8C 3C051900 */ lui $a1, (0x1900F103 >> 16) # lui $a1, 0x1900 -/* 0C8690 800C7A90 00240821 */ addu $at, $at, $a0 -/* 0C8694 800C7A94 A02FA0EC */ sb $t7, %lo(D_800EA0EC)($at) -/* 0C8698 800C7A98 0C032418 */ jal func_800C9060 -/* 0C869C 800C7A9C 34A5F103 */ ori $a1, (0x1900F103 & 0xFFFF) # ori $a1, $a1, 0xf103 -/* 0C86A0 800C7AA0 3C198016 */ lui $t9, %hi(D_801657E5) # $t9, 0x8016 -/* 0C86A4 800C7AA4 833957E5 */ lb $t9, %lo(D_801657E5)($t9) -/* 0C86A8 800C7AA8 24010001 */ li $at, 1 -/* 0C86AC 800C7AAC 2404000D */ li $a0, 13 -/* 0C86B0 800C7AB0 17210005 */ bne $t9, $at, .L800C7AC8 -/* 0C86B4 800C7AB4 3C088019 */ lui $t0, %hi(D_8018ED90) # $t0, 0x8019 -/* 0C86B8 800C7AB8 0C032905 */ jal func_800CA414 -/* 0C86BC 800C7ABC 24050010 */ li $a1, 16 -/* 0C86C0 800C7AC0 1000000D */ b .L800C7AF8 -/* 0C86C4 800C7AC4 8FC90034 */ lw $t1, 0x34($fp) -.L800C7AC8: -/* 0C86C8 800C7AC8 9108ED90 */ lbu $t0, %lo(D_8018ED90)($t0) -/* 0C86CC 800C7ACC 24010001 */ li $at, 1 -/* 0C86D0 800C7AD0 24050010 */ li $a1, 16 -/* 0C86D4 800C7AD4 15010005 */ bne $t0, $at, .L800C7AEC -/* 0C86D8 800C7AD8 3C040164 */ lui $a0, (0x01640010 >> 16) # lui $a0, 0x164 -/* 0C86DC 800C7ADC 0C032905 */ jal func_800CA414 -/* 0C86E0 800C7AE0 2404000E */ li $a0, 14 -/* 0C86E4 800C7AE4 10000004 */ b .L800C7AF8 -/* 0C86E8 800C7AE8 8FC90034 */ lw $t1, 0x34($fp) -.L800C7AEC: -/* 0C86EC 800C7AEC 0C030D12 */ jal func_800C3448 -/* 0C86F0 800C7AF0 34840010 */ ori $a0, (0x01640010 & 0xFFFF) # ori $a0, $a0, 0x10 -/* 0C86F4 800C7AF4 8FC90034 */ lw $t1, 0x34($fp) -.L800C7AF8: -/* 0C86F8 800C7AF8 1000011F */ b .L800C7F78 -/* 0C86FC 800C7AFC 8D230000 */ lw $v1, ($t1) -.L800C7B00: -/* 0C8700 800C7B00 93C40043 */ lbu $a0, 0x43($fp) -/* 0C8704 800C7B04 256BA0EC */ addiu $t3, $t3, %lo(D_800EA0EC) -/* 0C8708 800C7B08 240A0002 */ li $t2, 2 -/* 0C870C 800C7B0C 008B1021 */ addu $v0, $a0, $t3 -/* 0C8710 800C7B10 A04A0000 */ sb $t2, ($v0) -/* 0C8714 800C7B14 3C051900 */ lui $a1, (0x1900F103 >> 16) # lui $a1, 0x1900 -/* 0C8718 800C7B18 34A5F103 */ ori $a1, (0x1900F103 & 0xFFFF) # ori $a1, $a1, 0xf103 -/* 0C871C 800C7B1C 0C032418 */ jal func_800C9060 -/* 0C8720 800C7B20 AFC20030 */ sw $v0, 0x30($fp) -/* 0C8724 800C7B24 3C02800F */ lui $v0, %hi(D_800EA1C0) # $v0, 0x800f -/* 0C8728 800C7B28 9042A1C0 */ lbu $v0, %lo(D_800EA1C0)($v0) -/* 0C872C 800C7B2C 24010001 */ li $at, 1 -/* 0C8730 800C7B30 3C041001 */ lui $a0, (0x100100FF >> 16) # lui $a0, 0x1001 -/* 0C8734 800C7B34 10410007 */ beq $v0, $at, .L800C7B54 -/* 0C8738 800C7B38 24010002 */ li $at, 2 -/* 0C873C 800C7B3C 10410016 */ beq $v0, $at, .L800C7B98 -/* 0C8740 800C7B40 24010003 */ li $at, 3 -/* 0C8744 800C7B44 10410041 */ beq $v0, $at, .L800C7C4C -/* 0C8748 800C7B48 00000000 */ nop -/* 0C874C 800C7B4C 1000007D */ b .L800C7D44 -/* 0C8750 800C7B50 8FCF0034 */ lw $t7, 0x34($fp) -.L800C7B54: -/* 0C8754 800C7B54 0C030D12 */ jal func_800C3448 -/* 0C8758 800C7B58 348400FF */ ori $a0, (0x100100FF & 0xFFFF) # ori $a0, $a0, 0xff -/* 0C875C 800C7B5C 3C041101 */ lui $a0, (0x110100FF >> 16) # lui $a0, 0x1101 -/* 0C8760 800C7B60 0C030D12 */ jal func_800C3448 -/* 0C8764 800C7B64 348400FF */ ori $a0, (0x110100FF & 0xFFFF) # ori $a0, $a0, 0xff -/* 0C8768 800C7B68 0C0325F1 */ jal func_800C97C4 -/* 0C876C 800C7B6C 93C40043 */ lbu $a0, 0x43($fp) -/* 0C8770 800C7B70 240C0002 */ li $t4, 2 -/* 0C8774 800C7B74 3C01800F */ lui $at, %hi(D_800EA0F0) # $at, 0x800f -/* 0C8778 800C7B78 A02CA0F0 */ sb $t4, %lo(D_800EA0F0)($at) -/* 0C877C 800C7B7C 0C0326A2 */ jal func_800C9A88 -/* 0C8780 800C7B80 93C40043 */ lbu $a0, 0x43($fp) -/* 0C8784 800C7B84 2404000D */ li $a0, 13 -/* 0C8788 800C7B88 0C032905 */ jal func_800CA414 -/* 0C878C 800C7B8C 24050017 */ li $a1, 23 -/* 0C8790 800C7B90 1000006C */ b .L800C7D44 -/* 0C8794 800C7B94 8FCF0034 */ lw $t7, 0x34($fp) -.L800C7B98: -/* 0C8798 800C7B98 3C02800F */ lui $v0, %hi(D_800EA104) # $v0, 0x800f -/* 0C879C 800C7B9C 9042A104 */ lbu $v0, %lo(D_800EA104)($v0) -/* 0C87A0 800C7BA0 54400014 */ bnel $v0, $zero, .L800C7BF4 -/* 0C87A4 800C7BA4 24010001 */ li $at, 1 -/* 0C87A8 800C7BA8 8FCD0030 */ lw $t5, 0x30($fp) -/* 0C87AC 800C7BAC 24010001 */ li $at, 1 -/* 0C87B0 800C7BB0 3C041001 */ lui $a0, (0x100100FF >> 16) # lui $a0, 0x1001 -/* 0C87B4 800C7BB4 91AE0000 */ lbu $t6, ($t5) -/* 0C87B8 800C7BB8 55C1000E */ bnel $t6, $at, .L800C7BF4 -/* 0C87BC 800C7BBC 24010001 */ li $at, 1 -/* 0C87C0 800C7BC0 0C030D12 */ jal func_800C3448 -/* 0C87C4 800C7BC4 348400FF */ ori $a0, (0x100100FF & 0xFFFF) # ori $a0, $a0, 0xff -/* 0C87C8 800C7BC8 3C041101 */ lui $a0, (0x110100FF >> 16) # lui $a0, 0x1101 -/* 0C87CC 800C7BCC 0C030D12 */ jal func_800C3448 -/* 0C87D0 800C7BD0 348400FF */ ori $a0, (0x110100FF & 0xFFFF) # ori $a0, $a0, 0xff -/* 0C87D4 800C7BD4 2404000D */ li $a0, 13 -/* 0C87D8 800C7BD8 0C032905 */ jal func_800CA414 -/* 0C87DC 800C7BDC 24050017 */ li $a1, 23 -/* 0C87E0 800C7BE0 240F0001 */ li $t7, 1 -/* 0C87E4 800C7BE4 3C01800F */ lui $at, %hi(D_800EA104) # $at, 0x800f -/* 0C87E8 800C7BE8 10000055 */ b .L800C7D40 -/* 0C87EC 800C7BEC A02FA104 */ sb $t7, %lo(D_800EA104)($at) -/* 0C87F0 800C7BF0 24010001 */ li $at, 1 -.L800C7BF4: -/* 0C87F4 800C7BF4 54410053 */ bnel $v0, $at, .L800C7D44 -/* 0C87F8 800C7BF8 8FCF0034 */ lw $t7, 0x34($fp) -/* 0C87FC 800C7BFC 8FD80030 */ lw $t8, 0x30($fp) -/* 0C8800 800C7C00 24010001 */ li $at, 1 -/* 0C8804 800C7C04 93190000 */ lbu $t9, ($t8) -/* 0C8808 800C7C08 5721004E */ bnel $t9, $at, .L800C7D44 -/* 0C880C 800C7C0C 8FCF0034 */ lw $t7, 0x34($fp) -/* 0C8810 800C7C10 0C03149E */ jal func_800C5278 -/* 0C8814 800C7C14 24040005 */ li $a0, 5 -/* 0C8818 800C7C18 0C030D42 */ jal func_800C3508 -/* 0C881C 800C7C1C 24040001 */ li $a0, 1 -/* 0C8820 800C7C20 2401000D */ li $at, 13 -/* 0C8824 800C7C24 10410005 */ beq $v0, $at, .L800C7C3C -/* 0C8828 800C7C28 2404000E */ li $a0, 14 -/* 0C882C 800C7C2C 3C01800F */ lui $at, %hi(D_800EA104) # $at, 0x800f -/* 0C8830 800C7C30 A020A104 */ sb $zero, %lo(D_800EA104)($at) -/* 0C8834 800C7C34 0C032905 */ jal func_800CA414 -/* 0C8838 800C7C38 24050017 */ li $a1, 23 -.L800C7C3C: -/* 0C883C 800C7C3C 24080002 */ li $t0, 2 -/* 0C8840 800C7C40 3C01800F */ lui $at, %hi(D_800EA104) # $at, 0x800f -/* 0C8844 800C7C44 1000003E */ b .L800C7D40 -/* 0C8848 800C7C48 A028A104 */ sb $t0, %lo(D_800EA104)($at) -.L800C7C4C: -/* 0C884C 800C7C4C 3C02800F */ lui $v0, %hi(D_800EA104) # $v0, 0x800f -/* 0C8850 800C7C50 9042A104 */ lbu $v0, %lo(D_800EA104)($v0) -/* 0C8854 800C7C54 54400013 */ bnel $v0, $zero, .L800C7CA4 -/* 0C8858 800C7C58 24010001 */ li $at, 1 -/* 0C885C 800C7C5C 8FC30030 */ lw $v1, 0x30($fp) -/* 0C8860 800C7C60 24010001 */ li $at, 1 -/* 0C8864 800C7C64 3C041001 */ lui $a0, (0x100100FF >> 16) # lui $a0, 0x1001 -/* 0C8868 800C7C68 90690000 */ lbu $t1, ($v1) -/* 0C886C 800C7C6C 5521000D */ bnel $t1, $at, .L800C7CA4 -/* 0C8870 800C7C70 24010001 */ li $at, 1 -/* 0C8874 800C7C74 0C030D12 */ jal func_800C3448 -/* 0C8878 800C7C78 348400FF */ ori $a0, (0x100100FF & 0xFFFF) # ori $a0, $a0, 0xff -/* 0C887C 800C7C7C 3C041101 */ lui $a0, (0x110100FF >> 16) # lui $a0, 0x1101 -/* 0C8880 800C7C80 0C030D12 */ jal func_800C3448 -/* 0C8884 800C7C84 348400FF */ ori $a0, (0x110100FF & 0xFFFF) # ori $a0, $a0, 0xff -/* 0C8888 800C7C88 0C0323BE */ jal func_800C8EF8 -/* 0C888C 800C7C8C 2404000D */ li $a0, 13 -/* 0C8890 800C7C90 240B0001 */ li $t3, 1 -/* 0C8894 800C7C94 3C01800F */ lui $at, %hi(D_800EA104) # $at, 0x800f -/* 0C8898 800C7C98 10000029 */ b .L800C7D40 -/* 0C889C 800C7C9C A02BA104 */ sb $t3, %lo(D_800EA104)($at) -/* 0C88A0 800C7CA0 24010001 */ li $at, 1 -.L800C7CA4: -/* 0C88A4 800C7CA4 14410011 */ bne $v0, $at, .L800C7CEC -/* 0C88A8 800C7CA8 8FC30030 */ lw $v1, 0x30($fp) -/* 0C88AC 800C7CAC 906A0000 */ lbu $t2, ($v1) -/* 0C88B0 800C7CB0 24010001 */ li $at, 1 -/* 0C88B4 800C7CB4 5541000E */ bnel $t2, $at, .L800C7CF0 -/* 0C88B8 800C7CB8 24010002 */ li $at, 2 -/* 0C88BC 800C7CBC 0C030D42 */ jal func_800C3508 -/* 0C88C0 800C7CC0 24040001 */ li $a0, 1 -/* 0C88C4 800C7CC4 2401000D */ li $at, 13 -/* 0C88C8 800C7CC8 10410004 */ beq $v0, $at, .L800C7CDC -/* 0C88CC 800C7CCC 2404000E */ li $a0, 14 -/* 0C88D0 800C7CD0 3C01800F */ lui $at, %hi(D_800EA104) # $at, 0x800f -/* 0C88D4 800C7CD4 0C0323BE */ jal func_800C8EF8 -/* 0C88D8 800C7CD8 A020A104 */ sb $zero, %lo(D_800EA104)($at) -.L800C7CDC: -/* 0C88DC 800C7CDC 240C0002 */ li $t4, 2 -/* 0C88E0 800C7CE0 3C01800F */ lui $at, %hi(D_800EA104) # $at, 0x800f -/* 0C88E4 800C7CE4 10000016 */ b .L800C7D40 -/* 0C88E8 800C7CE8 A02CA104 */ sb $t4, %lo(D_800EA104)($at) -.L800C7CEC: -/* 0C88EC 800C7CEC 24010002 */ li $at, 2 -.L800C7CF0: -/* 0C88F0 800C7CF0 54410014 */ bnel $v0, $at, .L800C7D44 -/* 0C88F4 800C7CF4 8FCF0034 */ lw $t7, 0x34($fp) -/* 0C88F8 800C7CF8 906D0000 */ lbu $t5, ($v1) -/* 0C88FC 800C7CFC 24010001 */ li $at, 1 -/* 0C8900 800C7D00 55A10010 */ bnel $t5, $at, .L800C7D44 -/* 0C8904 800C7D04 8FCF0034 */ lw $t7, 0x34($fp) -/* 0C8908 800C7D08 0C03149E */ jal func_800C5278 -/* 0C890C 800C7D0C 24040005 */ li $a0, 5 -/* 0C8910 800C7D10 0C030D42 */ jal func_800C3508 -/* 0C8914 800C7D14 24040001 */ li $a0, 1 -/* 0C8918 800C7D18 2401000E */ li $at, 14 -/* 0C891C 800C7D1C 10410005 */ beq $v0, $at, .L800C7D34 -/* 0C8920 800C7D20 2404000E */ li $a0, 14 -/* 0C8924 800C7D24 3C01800F */ lui $at, %hi(D_800EA104) # $at, 0x800f -/* 0C8928 800C7D28 A020A104 */ sb $zero, %lo(D_800EA104)($at) -/* 0C892C 800C7D2C 0C032905 */ jal func_800CA414 -/* 0C8930 800C7D30 24050017 */ li $a1, 23 -.L800C7D34: -/* 0C8934 800C7D34 240E0003 */ li $t6, 3 -/* 0C8938 800C7D38 3C01800F */ lui $at, %hi(D_800EA104) # $at, 0x800f -/* 0C893C 800C7D3C A02EA104 */ sb $t6, %lo(D_800EA104)($at) -.L800C7D40: -/* 0C8940 800C7D40 8FCF0034 */ lw $t7, 0x34($fp) -.L800C7D44: -/* 0C8944 800C7D44 1000008C */ b .L800C7F78 -/* 0C8948 800C7D48 8DE30000 */ lw $v1, ($t7) -.L800C7D4C: -/* 0C894C 800C7D4C 3C02800F */ lui $v0, %hi(D_800EA1C0) # $v0, 0x800f -/* 0C8950 800C7D50 9042A1C0 */ lbu $v0, %lo(D_800EA1C0)($v0) -/* 0C8954 800C7D54 24010002 */ li $at, 2 -/* 0C8958 800C7D58 3C041001 */ lui $a0, (0x100100FF >> 16) # lui $a0, 0x1001 -/* 0C895C 800C7D5C 10470007 */ beq $v0, $a3, .L800C7D7C -/* 0C8960 800C7D60 00000000 */ nop -/* 0C8964 800C7D64 1041002A */ beq $v0, $at, .L800C7E10 -/* 0C8968 800C7D68 24010003 */ li $at, 3 -/* 0C896C 800C7D6C 10410053 */ beq $v0, $at, .L800C7EBC -/* 0C8970 800C7D70 3C19800F */ lui $t9, %hi(D_800EA0EC) -/* 0C8974 800C7D74 1000007F */ b .L800C7F74 -/* 0C8978 800C7D78 8FCF0034 */ lw $t7, 0x34($fp) -.L800C7D7C: -/* 0C897C 800C7D7C 0C030D12 */ jal func_800C3448 -/* 0C8980 800C7D80 348400FF */ ori $a0, (0x100100FF & 0xFFFF) # ori $a0, $a0, 0xff -/* 0C8984 800C7D84 3C041101 */ lui $a0, (0x110100FF >> 16) # lui $a0, 0x1101 -/* 0C8988 800C7D88 0C030D12 */ jal func_800C3448 -/* 0C898C 800C7D8C 348400FF */ ori $a0, (0x110100FF & 0xFFFF) # ori $a0, $a0, 0xff -/* 0C8990 800C7D90 0C03149E */ jal func_800C5278 -/* 0C8994 800C7D94 24040005 */ li $a0, 5 -/* 0C8998 800C7D98 3C050100 */ lui $a1, (0x0100F926 >> 16) # lui $a1, 0x100 -/* 0C899C 800C7D9C 34A5F926 */ ori $a1, (0x0100F926 & 0xFFFF) # ori $a1, $a1, 0xf926 -/* 0C89A0 800C7DA0 0C032406 */ jal func_800C9018 -/* 0C89A4 800C7DA4 93C40043 */ lbu $a0, 0x43($fp) -/* 0C89A8 800C7DA8 0C0323BE */ jal func_800C8EF8 -/* 0C89AC 800C7DAC 24040017 */ li $a0, 23 -/* 0C89B0 800C7DB0 3C19800E */ lui $t9, %hi(gPlayerWinningIndex) # $t9, 0x800e -/* 0C89B4 800C7DB4 8F39C5E8 */ lw $t9, %lo(gPlayerWinningIndex)($t9) -/* 0C89B8 800C7DB8 93C40043 */ lbu $a0, 0x43($fp) -/* 0C89BC 800C7DBC 3C05800F */ lui $a1, %hi(gPlayers+0x254) -/* 0C89C0 800C7DC0 001940C0 */ sll $t0, $t9, 3 -/* 0C89C4 800C7DC4 01194023 */ subu $t0, $t0, $t9 -/* 0C89C8 800C7DC8 00084100 */ sll $t0, $t0, 4 -/* 0C89CC 800C7DCC 01194023 */ subu $t0, $t0, $t9 -/* 0C89D0 800C7DD0 00084080 */ sll $t0, $t0, 2 -/* 0C89D4 800C7DD4 01194023 */ subu $t0, $t0, $t9 -/* 0C89D8 800C7DD8 000840C0 */ sll $t0, $t0, 3 -/* 0C89DC 800C7DDC 3C01800F */ lui $at, %hi(D_800EA0EC) -/* 0C89E0 800C7DE0 00A82821 */ addu $a1, $a1, $t0 -/* 0C89E4 800C7DE4 94A56BE4 */ lhu $a1, %lo(gPlayers+0x254)($a1) -/* 0C89E8 800C7DE8 24180002 */ li $t8, 2 -/* 0C89EC 800C7DEC 00240821 */ addu $at, $at, $a0 -/* 0C89F0 800C7DF0 A038A0EC */ sb $t8, %lo(D_800EA0EC)($at) -/* 0C89F4 800C7DF4 3C012900 */ lui $at, (0x2900800D >> 16) # lui $at, 0x2900 -/* 0C89F8 800C7DF8 3421800D */ ori $at, (0x2900800D & 0xFFFF) # ori $at, $at, 0x800d -/* 0C89FC 800C7DFC 00054900 */ sll $t1, $a1, 4 -/* 0C8A00 800C7E00 0C03243D */ jal func_800C90F4 -/* 0C8A04 800C7E04 01212821 */ addu $a1, $t1, $at -/* 0C8A08 800C7E08 1000005A */ b .L800C7F74 -/* 0C8A0C 800C7E0C 8FCF0034 */ lw $t7, 0x34($fp) -.L800C7E10: -/* 0C8A10 800C7E10 3C02800F */ lui $v0, %hi(D_800EA0EC) # $v0, 0x800f -/* 0C8A14 800C7E14 2442A0EC */ addiu $v0, %lo(D_800EA0EC) # addiu $v0, $v0, -0x5f14 -/* 0C8A18 800C7E18 904B0000 */ lbu $t3, ($v0) -/* 0C8A1C 800C7E1C 54EB0055 */ bnel $a3, $t3, .L800C7F74 -/* 0C8A20 800C7E20 8FCF0034 */ lw $t7, 0x34($fp) -/* 0C8A24 800C7E24 904A0001 */ lbu $t2, 1($v0) -/* 0C8A28 800C7E28 54EA0052 */ bnel $a3, $t2, .L800C7F74 -/* 0C8A2C 800C7E2C 8FCF0034 */ lw $t7, 0x34($fp) -/* 0C8A30 800C7E30 904C0002 */ lbu $t4, 2($v0) -/* 0C8A34 800C7E34 54EC004F */ bnel $a3, $t4, .L800C7F74 -/* 0C8A38 800C7E38 8FCF0034 */ lw $t7, 0x34($fp) -/* 0C8A3C 800C7E3C 0C03149E */ jal func_800C5278 -/* 0C8A40 800C7E40 24040005 */ li $a0, 5 -/* 0C8A44 800C7E44 3C050100 */ lui $a1, (0x01008026 >> 16) # lui $a1, 0x100 -/* 0C8A48 800C7E48 34A58026 */ ori $a1, (0x01008026 & 0xFFFF) # ori $a1, $a1, 0x8026 -/* 0C8A4C 800C7E4C 0C032406 */ jal func_800C9018 -/* 0C8A50 800C7E50 93C40043 */ lbu $a0, 0x43($fp) -/* 0C8A54 800C7E54 0C0323BE */ jal func_800C8EF8 -/* 0C8A58 800C7E58 24040017 */ li $a0, 23 -/* 0C8A5C 800C7E5C 3C0E800E */ lui $t6, %hi(gPlayerWinningIndex) # $t6, 0x800e -/* 0C8A60 800C7E60 8DCEC5E8 */ lw $t6, %lo(gPlayerWinningIndex)($t6) -/* 0C8A64 800C7E64 93C40043 */ lbu $a0, 0x43($fp) -/* 0C8A68 800C7E68 3C05800F */ lui $a1, %hi(gPlayers+0x254) -/* 0C8A6C 800C7E6C 000E78C0 */ sll $t7, $t6, 3 -/* 0C8A70 800C7E70 01EE7823 */ subu $t7, $t7, $t6 -/* 0C8A74 800C7E74 000F7900 */ sll $t7, $t7, 4 -/* 0C8A78 800C7E78 01EE7823 */ subu $t7, $t7, $t6 -/* 0C8A7C 800C7E7C 000F7880 */ sll $t7, $t7, 2 -/* 0C8A80 800C7E80 01EE7823 */ subu $t7, $t7, $t6 -/* 0C8A84 800C7E84 000F78C0 */ sll $t7, $t7, 3 -/* 0C8A88 800C7E88 3C01800F */ lui $at, %hi(D_800EA0EC) -/* 0C8A8C 800C7E8C 00AF2821 */ addu $a1, $a1, $t7 -/* 0C8A90 800C7E90 94A56BE4 */ lhu $a1, %lo(gPlayers+0x254)($a1) -/* 0C8A94 800C7E94 240D0002 */ li $t5, 2 -/* 0C8A98 800C7E98 00240821 */ addu $at, $at, $a0 -/* 0C8A9C 800C7E9C A02DA0EC */ sb $t5, %lo(D_800EA0EC)($at) -/* 0C8AA0 800C7EA0 3C012900 */ lui $at, (0x2900800D >> 16) # lui $at, 0x2900 -/* 0C8AA4 800C7EA4 3421800D */ ori $at, (0x2900800D & 0xFFFF) # ori $at, $at, 0x800d -/* 0C8AA8 800C7EA8 0005C100 */ sll $t8, $a1, 4 -/* 0C8AAC 800C7EAC 0C03243D */ jal func_800C90F4 -/* 0C8AB0 800C7EB0 03012821 */ addu $a1, $t8, $at -/* 0C8AB4 800C7EB4 1000002F */ b .L800C7F74 -/* 0C8AB8 800C7EB8 8FCF0034 */ lw $t7, 0x34($fp) -.L800C7EBC: -/* 0C8ABC 800C7EBC 9339A0EC */ lbu $t9, %lo(D_800EA0EC)($t9) -/* 0C8AC0 800C7EC0 3C08800F */ lui $t0, %hi(D_800EA0ED) # $t0, 0x800f -/* 0C8AC4 800C7EC4 54F9002B */ bnel $a3, $t9, .L800C7F74 -/* 0C8AC8 800C7EC8 8FCF0034 */ lw $t7, 0x34($fp) -/* 0C8ACC 800C7ECC 9108A0ED */ lbu $t0, %lo(D_800EA0ED)($t0) -/* 0C8AD0 800C7ED0 3C09800F */ lui $t1, %hi(D_800EA0EE) # $t1, 0x800f -/* 0C8AD4 800C7ED4 54E80027 */ bnel $a3, $t0, .L800C7F74 -/* 0C8AD8 800C7ED8 8FCF0034 */ lw $t7, 0x34($fp) -/* 0C8ADC 800C7EDC 9129A0EE */ lbu $t1, %lo(D_800EA0EE)($t1) -/* 0C8AE0 800C7EE0 3C0B800F */ lui $t3, %hi(D_800EA0EF) # $t3, 0x800f -/* 0C8AE4 800C7EE4 54E90023 */ bnel $a3, $t1, .L800C7F74 -/* 0C8AE8 800C7EE8 8FCF0034 */ lw $t7, 0x34($fp) -/* 0C8AEC 800C7EEC 916BA0EF */ lbu $t3, %lo(D_800EA0EF)($t3) -/* 0C8AF0 800C7EF0 54EB0020 */ bnel $a3, $t3, .L800C7F74 -/* 0C8AF4 800C7EF4 8FCF0034 */ lw $t7, 0x34($fp) -/* 0C8AF8 800C7EF8 0C03149E */ jal func_800C5278 -/* 0C8AFC 800C7EFC 24040005 */ li $a0, 5 -/* 0C8B00 800C7F00 3C050100 */ lui $a1, (0x01008026 >> 16) # lui $a1, 0x100 -/* 0C8B04 800C7F04 34A58026 */ ori $a1, (0x01008026 & 0xFFFF) # ori $a1, $a1, 0x8026 -/* 0C8B08 800C7F08 0C032406 */ jal func_800C9018 -/* 0C8B0C 800C7F0C 93C40043 */ lbu $a0, 0x43($fp) -/* 0C8B10 800C7F10 0C0323BE */ jal func_800C8EF8 -/* 0C8B14 800C7F14 24040017 */ li $a0, 23 -/* 0C8B18 800C7F18 3C0C800E */ lui $t4, %hi(gPlayerWinningIndex) # $t4, 0x800e -/* 0C8B1C 800C7F1C 8D8CC5E8 */ lw $t4, %lo(gPlayerWinningIndex)($t4) -/* 0C8B20 800C7F20 93C40043 */ lbu $a0, 0x43($fp) -/* 0C8B24 800C7F24 3C05800F */ lui $a1, %hi(gPlayers+0x254) -/* 0C8B28 800C7F28 000C68C0 */ sll $t5, $t4, 3 -/* 0C8B2C 800C7F2C 01AC6823 */ subu $t5, $t5, $t4 -/* 0C8B30 800C7F30 000D6900 */ sll $t5, $t5, 4 -/* 0C8B34 800C7F34 01AC6823 */ subu $t5, $t5, $t4 -/* 0C8B38 800C7F38 000D6880 */ sll $t5, $t5, 2 -/* 0C8B3C 800C7F3C 01AC6823 */ subu $t5, $t5, $t4 -/* 0C8B40 800C7F40 000D68C0 */ sll $t5, $t5, 3 -/* 0C8B44 800C7F44 3C01800F */ lui $at, %hi(D_800EA0EC) -/* 0C8B48 800C7F48 00AD2821 */ addu $a1, $a1, $t5 -/* 0C8B4C 800C7F4C 94A56BE4 */ lhu $a1, %lo(gPlayers+0x254)($a1) -/* 0C8B50 800C7F50 240A0002 */ li $t2, 2 -/* 0C8B54 800C7F54 00240821 */ addu $at, $at, $a0 -/* 0C8B58 800C7F58 A02AA0EC */ sb $t2, %lo(D_800EA0EC)($at) -/* 0C8B5C 800C7F5C 3C012900 */ lui $at, (0x2900800D >> 16) # lui $at, 0x2900 -/* 0C8B60 800C7F60 3421800D */ ori $at, (0x2900800D & 0xFFFF) # ori $at, $at, 0x800d -/* 0C8B64 800C7F64 00057100 */ sll $t6, $a1, 4 -/* 0C8B68 800C7F68 0C03243D */ jal func_800C90F4 -/* 0C8B6C 800C7F6C 01C12821 */ addu $a1, $t6, $at -/* 0C8B70 800C7F70 8FCF0034 */ lw $t7, 0x34($fp) -.L800C7F74: -/* 0C8B74 800C7F74 8DE30000 */ lw $v1, ($t7) -.L800C7F78: -/* 0C8B78 800C7F78 3C02800E */ lui $v0, %hi(gModeSelection) # $v0, 0x800e -/* 0C8B7C 800C7F7C 2401001E */ li $at, 30 -/* 0C8B80 800C7F80 93C40043 */ lbu $a0, 0x43($fp) -/* 0C8B84 800C7F84 24070001 */ li $a3, 1 -/* 0C8B88 800C7F88 14610093 */ bne $v1, $at, .L800C81D8 -/* 0C8B8C 800C7F8C 8C42C53C */ lw $v0, %lo(gModeSelection)($v0) -/* 0C8B90 800C7F90 1040000B */ beqz $v0, .L800C7FC0 -/* 0C8B94 800C7F94 0004C0C0 */ sll $t8, $a0, 3 -/* 0C8B98 800C7F98 10470059 */ beq $v0, $a3, .L800C8100 -/* 0C8B9C 800C7F9C 3C0B8016 */ lui $t3, %hi(D_801657E5) # $t3, 0x8016 -/* 0C8BA0 800C7FA0 24010002 */ li $at, 2 -/* 0C8BA4 800C7FA4 1041003A */ beq $v0, $at, .L800C8090 -/* 0C8BA8 800C7FA8 000478C0 */ sll $t7, $a0, 3 -/* 0C8BAC 800C7FAC 24010003 */ li $at, 3 -/* 0C8BB0 800C7FB0 10410089 */ beq $v0, $at, .L800C81D8 -/* 0C8BB4 800C7FB4 00000000 */ nop -/* 0C8BB8 800C7FB8 10000087 */ b .L800C81D8 -/* 0C8BBC 800C7FBC 00000000 */ nop -.L800C7FC0: -/* 0C8BC0 800C7FC0 0304C023 */ subu $t8, $t8, $a0 -/* 0C8BC4 800C7FC4 0018C100 */ sll $t8, $t8, 4 -/* 0C8BC8 800C7FC8 0304C023 */ subu $t8, $t8, $a0 -/* 0C8BCC 800C7FCC 0018C080 */ sll $t8, $t8, 2 -/* 0C8BD0 800C7FD0 0304C023 */ subu $t8, $t8, $a0 -/* 0C8BD4 800C7FD4 3C19800F */ lui $t9, %hi(gPlayers) # $t9, 0x800f -/* 0C8BD8 800C7FD8 27396990 */ addiu $t9, %lo(gPlayers) # addiu $t9, $t9, 0x6990 -/* 0C8BDC 800C7FDC 0018C0C0 */ sll $t8, $t8, 3 -/* 0C8BE0 800C7FE0 03191821 */ addu $v1, $t8, $t9 -/* 0C8BE4 800C7FE4 84620004 */ lh $v0, 4($v1) -/* 0C8BE8 800C7FE8 3C08800F */ lui $t0, %hi(D_800EA0EC) # $t0, 0x800f -/* 0C8BEC 800C7FEC 2508A0EC */ addiu $t0, %lo(D_800EA0EC) # addiu $t0, $t0, -0x5f14 -/* 0C8BF0 800C7FF0 1440000C */ bnez $v0, .L800C8024 -/* 0C8BF4 800C7FF4 00883021 */ addu $a2, $a0, $t0 -/* 0C8BF8 800C7FF8 94650254 */ lhu $a1, 0x254($v1) -/* 0C8BFC 800C7FFC 24090002 */ li $t1, 2 -/* 0C8C00 800C8000 3C012900 */ lui $at, (0x29008007 >> 16) # lui $at, 0x2900 -/* 0C8C04 800C8004 A0C90000 */ sb $t1, ($a2) -/* 0C8C08 800C8008 34218007 */ ori $at, (0x29008007 & 0xFFFF) # ori $at, $at, 0x8007 -/* 0C8C0C 800C800C 00055900 */ sll $t3, $a1, 4 -/* 0C8C10 800C8010 01612821 */ addu $a1, $t3, $at -/* 0C8C14 800C8014 0C03243D */ jal func_800C90F4 -/* 0C8C18 800C8018 A3C40043 */ sb $a0, 0x43($fp) -/* 0C8C1C 800C801C 10000017 */ b .L800C807C -/* 0C8C20 800C8020 00000000 */ nop -.L800C8024: -/* 0C8C24 800C8024 28410004 */ slti $at, $v0, 4 -/* 0C8C28 800C8028 1020000C */ beqz $at, .L800C805C -/* 0C8C2C 800C802C 240D0002 */ li $t5, 2 -/* 0C8C30 800C8030 94650254 */ lhu $a1, 0x254($v1) -/* 0C8C34 800C8034 240A0002 */ li $t2, 2 -/* 0C8C38 800C8038 3C012900 */ lui $at, (0x2900800D >> 16) # lui $at, 0x2900 -/* 0C8C3C 800C803C A0CA0000 */ sb $t2, ($a2) -/* 0C8C40 800C8040 3421800D */ ori $at, (0x2900800D & 0xFFFF) # ori $at, $at, 0x800d -/* 0C8C44 800C8044 00056100 */ sll $t4, $a1, 4 -/* 0C8C48 800C8048 01812821 */ addu $a1, $t4, $at -/* 0C8C4C 800C804C 0C03243D */ jal func_800C90F4 -/* 0C8C50 800C8050 A3C40043 */ sb $a0, 0x43($fp) -/* 0C8C54 800C8054 10000009 */ b .L800C807C -/* 0C8C58 800C8058 00000000 */ nop -.L800C805C: -/* 0C8C5C 800C805C 94650254 */ lhu $a1, 0x254($v1) -/* 0C8C60 800C8060 3C012900 */ lui $at, (0x29008003 >> 16) # lui $at, 0x2900 -/* 0C8C64 800C8064 A0CD0000 */ sb $t5, ($a2) -/* 0C8C68 800C8068 34218003 */ ori $at, (0x29008003 & 0xFFFF) # ori $at, $at, 0x8003 -/* 0C8C6C 800C806C 00057100 */ sll $t6, $a1, 4 -/* 0C8C70 800C8070 01C12821 */ addu $a1, $t6, $at -/* 0C8C74 800C8074 0C03243D */ jal func_800C90F4 -/* 0C8C78 800C8078 A3C40043 */ sb $a0, 0x43($fp) -.L800C807C: -/* 0C8C7C 800C807C 3C02800E */ lui $v0, %hi(gModeSelection) # $v0, 0x800e -/* 0C8C80 800C8080 8C42C53C */ lw $v0, %lo(gModeSelection)($v0) -/* 0C8C84 800C8084 24070001 */ li $a3, 1 -/* 0C8C88 800C8088 10000053 */ b .L800C81D8 -/* 0C8C8C 800C808C 93C40043 */ lbu $a0, 0x43($fp) -.L800C8090: -/* 0C8C90 800C8090 01E47823 */ subu $t7, $t7, $a0 -/* 0C8C94 800C8094 000F7900 */ sll $t7, $t7, 4 -/* 0C8C98 800C8098 01E47823 */ subu $t7, $t7, $a0 -/* 0C8C9C 800C809C 000F7880 */ sll $t7, $t7, 2 -/* 0C8CA0 800C80A0 01E47823 */ subu $t7, $t7, $a0 -/* 0C8CA4 800C80A4 3C18800F */ lui $t8, %hi(gPlayers) # $t8, 0x800f -/* 0C8CA8 800C80A8 27186990 */ addiu $t8, %lo(gPlayers) # addiu $t8, $t8, 0x6990 -/* 0C8CAC 800C80AC 000F78C0 */ sll $t7, $t7, 3 -/* 0C8CB0 800C80B0 01F81821 */ addu $v1, $t7, $t8 -/* 0C8CB4 800C80B4 A3C40043 */ sb $a0, 0x43($fp) -/* 0C8CB8 800C80B8 84790004 */ lh $t9, 4($v1) -/* 0C8CBC 800C80BC 3C01800F */ lui $at, %hi(D_800EA0EC) -/* 0C8CC0 800C80C0 00240821 */ addu $at, $at, $a0 -/* 0C8CC4 800C80C4 1720000C */ bnez $t9, .L800C80F8 -/* 0C8CC8 800C80C8 24080002 */ li $t0, 2 -/* 0C8CCC 800C80CC A028A0EC */ sb $t0, %lo(D_800EA0EC)($at) -/* 0C8CD0 800C80D0 94650254 */ lhu $a1, 0x254($v1) -/* 0C8CD4 800C80D4 3C012900 */ lui $at, (0x2900800D >> 16) # lui $at, 0x2900 -/* 0C8CD8 800C80D8 3421800D */ ori $at, (0x2900800D & 0xFFFF) # ori $at, $at, 0x800d -/* 0C8CDC 800C80DC 00054900 */ sll $t1, $a1, 4 -/* 0C8CE0 800C80E0 01212821 */ addu $a1, $t1, $at -/* 0C8CE4 800C80E4 0C03243D */ jal func_800C90F4 -/* 0C8CE8 800C80E8 A3C40043 */ sb $a0, 0x43($fp) -/* 0C8CEC 800C80EC 3C02800E */ lui $v0, %hi(gModeSelection) # $v0, 0x800e -/* 0C8CF0 800C80F0 8C42C53C */ lw $v0, %lo(gModeSelection)($v0) -/* 0C8CF4 800C80F4 24070001 */ li $a3, 1 -.L800C80F8: -/* 0C8CF8 800C80F8 10000037 */ b .L800C81D8 -/* 0C8CFC 800C80FC 93C40043 */ lbu $a0, 0x43($fp) -.L800C8100: -/* 0C8D00 800C8100 816B57E5 */ lb $t3, %lo(D_801657E5)($t3) -/* 0C8D04 800C8104 240A0002 */ li $t2, 2 -/* 0C8D08 800C8108 3C01800F */ lui $at, %hi(D_800EA0EC) -/* 0C8D0C 800C810C 14EB0017 */ bne $a3, $t3, .L800C816C -/* 0C8D10 800C8110 3C0E8019 */ lui $t6, %hi(D_8018ED90) # $t6, 0x8019 -/* 0C8D14 800C8114 000460C0 */ sll $t4, $a0, 3 -/* 0C8D18 800C8118 01846023 */ subu $t4, $t4, $a0 -/* 0C8D1C 800C811C 000C6100 */ sll $t4, $t4, 4 -/* 0C8D20 800C8120 01846023 */ subu $t4, $t4, $a0 -/* 0C8D24 800C8124 000C6080 */ sll $t4, $t4, 2 -/* 0C8D28 800C8128 01846023 */ subu $t4, $t4, $a0 -/* 0C8D2C 800C812C 000C60C0 */ sll $t4, $t4, 3 -/* 0C8D30 800C8130 3C05800F */ lui $a1, %hi(gPlayers+0x254) -/* 0C8D34 800C8134 00AC2821 */ addu $a1, $a1, $t4 -/* 0C8D38 800C8138 94A56BE4 */ lhu $a1, %lo(gPlayers+0x254)($a1) -/* 0C8D3C 800C813C 00240821 */ addu $at, $at, $a0 -/* 0C8D40 800C8140 A02AA0EC */ sb $t2, %lo(D_800EA0EC)($at) -/* 0C8D44 800C8144 3C012900 */ lui $at, (0x29008007 >> 16) # lui $at, 0x2900 -/* 0C8D48 800C8148 34218007 */ ori $at, (0x29008007 & 0xFFFF) # ori $at, $at, 0x8007 -/* 0C8D4C 800C814C 00056900 */ sll $t5, $a1, 4 -/* 0C8D50 800C8150 01A12821 */ addu $a1, $t5, $at -/* 0C8D54 800C8154 0C03243D */ jal func_800C90F4 -/* 0C8D58 800C8158 A3C40043 */ sb $a0, 0x43($fp) -/* 0C8D5C 800C815C 3C02800E */ lui $v0, %hi(gModeSelection) # $v0, 0x800e -/* 0C8D60 800C8160 8C42C53C */ lw $v0, %lo(gModeSelection)($v0) -/* 0C8D64 800C8164 1000001B */ b .L800C81D4 -/* 0C8D68 800C8168 24070001 */ li $a3, 1 -.L800C816C: -/* 0C8D6C 800C816C A3C40043 */ sb $a0, 0x43($fp) -/* 0C8D70 800C8170 91CEED90 */ lbu $t6, %lo(D_8018ED90)($t6) -/* 0C8D74 800C8174 3C01800F */ lui $at, %hi(D_800EA0EC) -/* 0C8D78 800C8178 00240821 */ addu $at, $at, $a0 -/* 0C8D7C 800C817C 14EE0015 */ bne $a3, $t6, .L800C81D4 -/* 0C8D80 800C8180 240F0002 */ li $t7, 2 -/* 0C8D84 800C8184 0004C0C0 */ sll $t8, $a0, 3 -/* 0C8D88 800C8188 0304C023 */ subu $t8, $t8, $a0 -/* 0C8D8C 800C818C 0018C100 */ sll $t8, $t8, 4 -/* 0C8D90 800C8190 0304C023 */ subu $t8, $t8, $a0 -/* 0C8D94 800C8194 0018C080 */ sll $t8, $t8, 2 -/* 0C8D98 800C8198 0304C023 */ subu $t8, $t8, $a0 -/* 0C8D9C 800C819C 0018C0C0 */ sll $t8, $t8, 3 -/* 0C8DA0 800C81A0 3C05800F */ lui $a1, %hi(gPlayers+0x254) -/* 0C8DA4 800C81A4 00B82821 */ addu $a1, $a1, $t8 -/* 0C8DA8 800C81A8 94A56BE4 */ lhu $a1, %lo(gPlayers+0x254)($a1) -/* 0C8DAC 800C81AC A02FA0EC */ sb $t7, %lo(D_800EA0EC)($at) -/* 0C8DB0 800C81B0 3C012900 */ lui $at, (0x2900800D >> 16) # lui $at, 0x2900 -/* 0C8DB4 800C81B4 3421800D */ ori $at, (0x2900800D & 0xFFFF) # ori $at, $at, 0x800d -/* 0C8DB8 800C81B8 0005C900 */ sll $t9, $a1, 4 -/* 0C8DBC 800C81BC 03212821 */ addu $a1, $t9, $at -/* 0C8DC0 800C81C0 0C03243D */ jal func_800C90F4 -/* 0C8DC4 800C81C4 A3C40043 */ sb $a0, 0x43($fp) -/* 0C8DC8 800C81C8 3C02800E */ lui $v0, %hi(gModeSelection) # $v0, 0x800e -/* 0C8DCC 800C81CC 8C42C53C */ lw $v0, %lo(gModeSelection)($v0) -/* 0C8DD0 800C81D0 24070001 */ li $a3, 1 -.L800C81D4: -/* 0C8DD4 800C81D4 93C40043 */ lbu $a0, 0x43($fp) -.L800C81D8: -/* 0C8DD8 800C81D8 1040000A */ beqz $v0, .L800C8204 -/* 0C8DDC 800C81DC 000440C0 */ sll $t0, $a0, 3 -/* 0C8DE0 800C81E0 10470078 */ beq $v0, $a3, .L800C83C4 -/* 0C8DE4 800C81E4 24010002 */ li $at, 2 -/* 0C8DE8 800C81E8 1041004D */ beq $v0, $at, .L800C8320 -/* 0C8DEC 800C81EC 3C0E800F */ lui $t6, %hi(D_800EA1C0) # $t6, 0x800f -/* 0C8DF0 800C81F0 24010003 */ li $at, 3 -/* 0C8DF4 800C81F4 50410089 */ beql $v0, $at, .L800C841C -/* 0C8DF8 800C81F8 8FC90034 */ lw $t1, 0x34($fp) -/* 0C8DFC 800C81FC 1000009B */ b .L800C846C -/* 0C8E00 800C8200 8FDF002C */ lw $ra, 0x2c($fp) -.L800C8204: -/* 0C8E04 800C8204 01044023 */ subu $t0, $t0, $a0 -/* 0C8E08 800C8208 00084100 */ sll $t0, $t0, 4 -/* 0C8E0C 800C820C 01044023 */ subu $t0, $t0, $a0 -/* 0C8E10 800C8210 00084080 */ sll $t0, $t0, 2 -/* 0C8E14 800C8214 01044023 */ subu $t0, $t0, $a0 -/* 0C8E18 800C8218 000840C0 */ sll $t0, $t0, 3 -/* 0C8E1C 800C821C 3C02800F */ lui $v0, %hi(gPlayers+0x4) -/* 0C8E20 800C8220 00481021 */ addu $v0, $v0, $t0 -/* 0C8E24 800C8224 84426994 */ lh $v0, %lo(gPlayers+0x4)($v0) -/* 0C8E28 800C8228 8FC90034 */ lw $t1, 0x34($fp) -/* 0C8E2C 800C822C 14400014 */ bnez $v0, .L800C8280 -/* 0C8E30 800C8230 8D230000 */ lw $v1, ($t1) -/* 0C8E34 800C8234 2861015F */ slti $at, $v1, 0x15f -/* 0C8E38 800C8238 14200007 */ bnez $at, .L800C8258 -/* 0C8E3C 800C823C 2401015F */ li $at, 351 -/* 0C8E40 800C8240 5461008A */ bnel $v1, $at, .L800C846C -/* 0C8E44 800C8244 8FDF002C */ lw $ra, 0x2c($fp) -/* 0C8E48 800C8248 0C032743 */ jal func_800C9D0C -/* 0C8E4C 800C824C 00000000 */ nop -/* 0C8E50 800C8250 10000086 */ b .L800C846C -/* 0C8E54 800C8254 8FDF002C */ lw $ra, 0x2c($fp) -.L800C8258: -/* 0C8E58 800C8258 44832000 */ mtc1 $v1, $f4 -/* 0C8E5C 800C825C 3C0143C8 */ li $at, 0x43C80000 # 400.000000 -/* 0C8E60 800C8260 44814000 */ mtc1 $at, $f8 -/* 0C8E64 800C8264 468021A0 */ cvt.s.w $f6, $f4 -/* 0C8E68 800C8268 8FCB0038 */ lw $t3, 0x38($fp) -/* 0C8E6C 800C826C 3C01800F */ lui $at, %hi(D_800EA130) -/* 0C8E70 800C8270 002B0821 */ addu $at, $at, $t3 -/* 0C8E74 800C8274 46083283 */ div.s $f10, $f6, $f8 -/* 0C8E78 800C8278 1000007B */ b .L800C8468 -/* 0C8E7C 800C827C E42AA130 */ swc1 $f10, %lo(D_800EA130)($at) -.L800C8280: -/* 0C8E80 800C8280 28410004 */ slti $at, $v0, 4 -/* 0C8E84 800C8284 10200013 */ beqz $at, .L800C82D4 -/* 0C8E88 800C8288 2861015F */ slti $at, $v1, 0x15f -/* 0C8E8C 800C828C 14200007 */ bnez $at, .L800C82AC -/* 0C8E90 800C8290 2401015F */ li $at, 351 -/* 0C8E94 800C8294 54610075 */ bnel $v1, $at, .L800C846C -/* 0C8E98 800C8298 8FDF002C */ lw $ra, 0x2c($fp) -/* 0C8E9C 800C829C 0C032743 */ jal func_800C9D0C -/* 0C8EA0 800C82A0 00000000 */ nop -/* 0C8EA4 800C82A4 10000071 */ b .L800C846C -/* 0C8EA8 800C82A8 8FDF002C */ lw $ra, 0x2c($fp) -.L800C82AC: -/* 0C8EAC 800C82AC 44838000 */ mtc1 $v1, $f16 -/* 0C8EB0 800C82B0 3C0143C8 */ li $at, 0x43C80000 # 400.000000 -/* 0C8EB4 800C82B4 44812000 */ mtc1 $at, $f4 -/* 0C8EB8 800C82B8 468084A0 */ cvt.s.w $f18, $f16 -/* 0C8EBC 800C82BC 8FCA0038 */ lw $t2, 0x38($fp) -/* 0C8EC0 800C82C0 3C01800F */ lui $at, %hi(D_800EA130) -/* 0C8EC4 800C82C4 002A0821 */ addu $at, $at, $t2 -/* 0C8EC8 800C82C8 46049183 */ div.s $f6, $f18, $f4 -/* 0C8ECC 800C82CC 10000066 */ b .L800C8468 -/* 0C8ED0 800C82D0 E426A130 */ swc1 $f6, %lo(D_800EA130)($at) -.L800C82D4: -/* 0C8ED4 800C82D4 2861012D */ slti $at, $v1, 0x12d -/* 0C8ED8 800C82D8 14200007 */ bnez $at, .L800C82F8 -/* 0C8EDC 800C82DC 2401012D */ li $at, 301 -/* 0C8EE0 800C82E0 54610062 */ bnel $v1, $at, .L800C846C -/* 0C8EE4 800C82E4 8FDF002C */ lw $ra, 0x2c($fp) -/* 0C8EE8 800C82E8 0C0325F1 */ jal func_800C97C4 -/* 0C8EEC 800C82EC 00000000 */ nop -/* 0C8EF0 800C82F0 1000005E */ b .L800C846C -/* 0C8EF4 800C82F4 8FDF002C */ lw $ra, 0x2c($fp) -.L800C82F8: -/* 0C8EF8 800C82F8 44834000 */ mtc1 $v1, $f8 -/* 0C8EFC 800C82FC 3C0143A5 */ li $at, 0x43A50000 # 330.000000 -/* 0C8F00 800C8300 44818000 */ mtc1 $at, $f16 -/* 0C8F04 800C8304 468042A0 */ cvt.s.w $f10, $f8 -/* 0C8F08 800C8308 8FCC0038 */ lw $t4, 0x38($fp) -/* 0C8F0C 800C830C 3C01800F */ lui $at, %hi(D_800EA130) -/* 0C8F10 800C8310 002C0821 */ addu $at, $at, $t4 -/* 0C8F14 800C8314 46105483 */ div.s $f18, $f10, $f16 -/* 0C8F18 800C8318 10000053 */ b .L800C8468 -/* 0C8F1C 800C831C E432A130 */ swc1 $f18, %lo(D_800EA130)($at) -.L800C8320: -/* 0C8F20 800C8320 91CEA1C0 */ lbu $t6, %lo(D_800EA1C0)($t6) -/* 0C8F24 800C8324 8FCD0034 */ lw $t5, 0x34($fp) -/* 0C8F28 800C8328 14EE0014 */ bne $a3, $t6, .L800C837C -/* 0C8F2C 800C832C 8DA30000 */ lw $v1, ($t5) -/* 0C8F30 800C8330 28610065 */ slti $at, $v1, 0x65 -/* 0C8F34 800C8334 14200007 */ bnez $at, .L800C8354 -/* 0C8F38 800C8338 24010065 */ li $at, 101 -/* 0C8F3C 800C833C 54610022 */ bnel $v1, $at, .L800C83C8 -/* 0C8F40 800C8340 8FD90034 */ lw $t9, 0x34($fp) -/* 0C8F44 800C8344 0C032743 */ jal func_800C9D0C -/* 0C8F48 800C8348 00000000 */ nop -/* 0C8F4C 800C834C 1000001E */ b .L800C83C8 -/* 0C8F50 800C8350 8FD90034 */ lw $t9, 0x34($fp) -.L800C8354: -/* 0C8F54 800C8354 44832000 */ mtc1 $v1, $f4 -/* 0C8F58 800C8358 3C0142F0 */ li $at, 0x42F00000 # 120.000000 -/* 0C8F5C 800C835C 44814000 */ mtc1 $at, $f8 -/* 0C8F60 800C8360 468021A0 */ cvt.s.w $f6, $f4 -/* 0C8F64 800C8364 8FCF0038 */ lw $t7, 0x38($fp) -/* 0C8F68 800C8368 3C01800F */ lui $at, %hi(D_800EA130) -/* 0C8F6C 800C836C 002F0821 */ addu $at, $at, $t7 -/* 0C8F70 800C8370 46083283 */ div.s $f10, $f6, $f8 -/* 0C8F74 800C8374 10000013 */ b .L800C83C4 -/* 0C8F78 800C8378 E42AA130 */ swc1 $f10, %lo(D_800EA130)($at) -.L800C837C: -/* 0C8F7C 800C837C 28610065 */ slti $at, $v1, 0x65 -/* 0C8F80 800C8380 14200007 */ bnez $at, .L800C83A0 -/* 0C8F84 800C8384 24010065 */ li $at, 101 -/* 0C8F88 800C8388 5461000F */ bnel $v1, $at, .L800C83C8 -/* 0C8F8C 800C838C 8FD90034 */ lw $t9, 0x34($fp) -/* 0C8F90 800C8390 0C0325F1 */ jal func_800C97C4 -/* 0C8F94 800C8394 00000000 */ nop -/* 0C8F98 800C8398 1000000B */ b .L800C83C8 -/* 0C8F9C 800C839C 8FD90034 */ lw $t9, 0x34($fp) -.L800C83A0: -/* 0C8FA0 800C83A0 44838000 */ mtc1 $v1, $f16 -/* 0C8FA4 800C83A4 3C0142F0 */ li $at, 0x42F00000 # 120.000000 -/* 0C8FA8 800C83A8 44812000 */ mtc1 $at, $f4 -/* 0C8FAC 800C83AC 468084A0 */ cvt.s.w $f18, $f16 -/* 0C8FB0 800C83B0 8FD80038 */ lw $t8, 0x38($fp) -/* 0C8FB4 800C83B4 3C01800F */ lui $at, %hi(D_800EA130) -/* 0C8FB8 800C83B8 00380821 */ addu $at, $at, $t8 -/* 0C8FBC 800C83BC 46049183 */ div.s $f6, $f18, $f4 -/* 0C8FC0 800C83C0 E426A130 */ swc1 $f6, %lo(D_800EA130)($at) -.L800C83C4: -/* 0C8FC4 800C83C4 8FD90034 */ lw $t9, 0x34($fp) -.L800C83C8: -/* 0C8FC8 800C83C8 8F230000 */ lw $v1, ($t9) -/* 0C8FCC 800C83CC 2861012D */ slti $at, $v1, 0x12d -/* 0C8FD0 800C83D0 14200007 */ bnez $at, .L800C83F0 -/* 0C8FD4 800C83D4 2401012D */ li $at, 301 -/* 0C8FD8 800C83D8 54610024 */ bnel $v1, $at, .L800C846C -/* 0C8FDC 800C83DC 8FDF002C */ lw $ra, 0x2c($fp) -/* 0C8FE0 800C83E0 0C032743 */ jal func_800C9D0C -/* 0C8FE4 800C83E4 00002025 */ move $a0, $zero -/* 0C8FE8 800C83E8 10000020 */ b .L800C846C -/* 0C8FEC 800C83EC 8FDF002C */ lw $ra, 0x2c($fp) -.L800C83F0: -/* 0C8FF0 800C83F0 44834000 */ mtc1 $v1, $f8 -/* 0C8FF4 800C83F4 3C0143AF */ li $at, 0x43AF0000 # 350.000000 -/* 0C8FF8 800C83F8 44818000 */ mtc1 $at, $f16 -/* 0C8FFC 800C83FC 468042A0 */ cvt.s.w $f10, $f8 -/* 0C9000 800C8400 8FC80038 */ lw $t0, 0x38($fp) -/* 0C9004 800C8404 3C01800F */ lui $at, %hi(D_800EA130) -/* 0C9008 800C8408 00280821 */ addu $at, $at, $t0 -/* 0C900C 800C840C 46105483 */ div.s $f18, $f10, $f16 -/* 0C9010 800C8410 10000015 */ b .L800C8468 -/* 0C9014 800C8414 E432A130 */ swc1 $f18, %lo(D_800EA130)($at) -/* 0C9018 800C8418 8FC90034 */ lw $t1, 0x34($fp) -.L800C841C: -/* 0C901C 800C841C 8D230000 */ lw $v1, ($t1) -/* 0C9020 800C8420 28610065 */ slti $at, $v1, 0x65 -/* 0C9024 800C8424 14200007 */ bnez $at, .L800C8444 -/* 0C9028 800C8428 24010065 */ li $at, 101 -/* 0C902C 800C842C 5461000F */ bnel $v1, $at, .L800C846C -/* 0C9030 800C8430 8FDF002C */ lw $ra, 0x2c($fp) -/* 0C9034 800C8434 0C0325F1 */ jal func_800C97C4 -/* 0C9038 800C8438 00000000 */ nop -/* 0C903C 800C843C 1000000B */ b .L800C846C -/* 0C9040 800C8440 8FDF002C */ lw $ra, 0x2c($fp) -.L800C8444: -/* 0C9044 800C8444 44832000 */ mtc1 $v1, $f4 -/* 0C9048 800C8448 3C0142F0 */ li $at, 0x42F00000 # 120.000000 -/* 0C904C 800C844C 44814000 */ mtc1 $at, $f8 -/* 0C9050 800C8450 468021A0 */ cvt.s.w $f6, $f4 -/* 0C9054 800C8454 8FCB0038 */ lw $t3, 0x38($fp) -/* 0C9058 800C8458 3C01800F */ lui $at, %hi(D_800EA130) -/* 0C905C 800C845C 002B0821 */ addu $at, $at, $t3 -/* 0C9060 800C8460 46083283 */ div.s $f10, $f6, $f8 -/* 0C9064 800C8464 E42AA130 */ swc1 $f10, %lo(D_800EA130)($at) -.L800C8468: -/* 0C9068 800C8468 8FDF002C */ lw $ra, 0x2c($fp) -.L800C846C: -/* 0C906C 800C846C 03C0E825 */ move $sp, $fp -/* 0C9070 800C8470 8FDE0028 */ lw $fp, 0x28($fp) -/* 0C9074 800C8474 03E00008 */ jr $ra -/* 0C9078 800C8478 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/non_matchings/audio/load/audio_init.s b/asm/non_matchings/audio/load/audio_init.s index f9cc9fa98..54702befe 100644 --- a/asm/non_matchings/audio/load/audio_init.s +++ b/asm/non_matchings/audio/load/audio_init.s @@ -142,7 +142,7 @@ glabel audio_init /* 0BCEB0 800BC2B0 3C01803B */ lui $at, %hi(gSampleDmaNumListItems) # $at, 0x803b /* 0BCEB4 800BC2B4 3C04800F */ lui $a0, %hi(gAudioInitPoolSize) # $a0, 0x800f /* 0BCEB8 800BC2B8 AC206E58 */ sw $zero, %lo(gSampleDmaNumListItems)($at) -/* 0BCEBC 800BC2BC 0C02E43C */ jal func_800B90F0 +/* 0BCEBC 800BC2BC 0C02E43C */ jal sound_init_main_pools /* 0BCEC0 800BC2C0 8C84A5D4 */ lw $a0, %lo(gAudioInitPoolSize)($a0) /* 0BCEC4 800BC2C4 3C06803B */ lui $a2, %hi(gAiBuffers) # $a2, 0x803b /* 0BCEC8 800BC2C8 3C14803B */ lui $s4, %hi(gAudioInitPool) # $s4, 0x803b diff --git a/data/data_0DD0A0_2_1_1.s b/data/data_0DD0A0_2_1_1.s deleted file mode 100644 index cdafca1c4..000000000 --- a/data/data_0DD0A0_2_1_1.s +++ /dev/null @@ -1,422 +0,0 @@ -.include "macros.inc" - -.section .data - -glabel D_800E9A40 -.asciiz "Audio:Track:Warning: No Free Notetrack\n" -.balign 4 - -glabel D_800E9A68 -.asciiz "SUBTRACK DIM\n" -.balign 4 - -glabel D_800E9A78 -.asciiz "Audio:Track: Warning :SUBTRACK had been stolen by other Group.\n" -.balign 4 - -glabel D_800E9AB8 -.asciiz "SEQID %d,BANKID %d\n" -.balign 4 - -glabel D_800E9ACC -.asciiz "ERR:SUBTRACK %d NOT ALLOCATED\n" -.balign 4 - -glabel D_800E9AEC -.asciiz "Error:Same List Add\n" -.balign 4 - -glabel D_800E9B04 -.asciiz "Macro Level Over Error!\n" -.balign 4 - -glabel D_800E9B20 -.asciiz "Macro Level Over Error!\n" -.balign 4 - -glabel D_800E9B3C -.asciiz "WARNING: NPRG: cannot change %d\n" -.balign 4 - -glabel D_800E9B60 -.asciiz "Audio:Track:NOTE:UNDEFINED NOTE COM. %x\n" -.balign 4 - -glabel D_800E9B8C -.asciiz "Audio: Note:Velocity Error %d\n" -.balign 4 - -glabel D_800E9BAC -.asciiz "Error: Subtrack no prg.\n" -.balign 4 - -glabel D_800E9BC8 -.asciiz "ERR %x\n" -.balign 4 - -glabel D_800E9BD0 -.asciiz "Error: Your assignchannel is stolen.\n" -.balign 4 - -glabel D_800E9BF8 -.asciiz "Audio:Track :Call Macro Level Over Error!\n" -.balign 4 - -glabel D_800E9C24 -.asciiz "Audio:Track :Loops Macro Level Over Error!\n" -.balign 4 - -glabel D_800E9C50 -.asciiz "SUB:ERR:BANK %d NOT CACHED.\n" -.balign 4 - -glabel D_800E9C70 -.asciiz "SUB:ERR:BANK %d NOT CACHED.\n" -.balign 4 - -glabel D_800E9C90 -.asciiz "Audio:Track: CTBLCALL Macro Level Over Error!\n" -.balign 4 - -glabel D_800E9CC0 -.asciiz "[%2x] \n" -.balign 4 - -glabel D_800E9CC8 -.asciiz "Err :Sub %x ,address %x:Undefined SubTrack Function %x" -.balign 4 - -glabel D_800E9D00 -.asciiz "Disappear Sequence or Bank %d\n" -.balign 4 - -glabel D_800E9D20 -.asciiz "Macro Level Over Error!\n" -.balign 4 - -glabel D_800E9D3C -.asciiz "Macro Level Over Error!\n" -.balign 4 - -glabel D_800E9D58 -.asciiz "Group:Undefine upper C0h command (%x)\n" -.balign 4 - -glabel D_800E9D80 -.asciiz "Group:Undefined Command\n" -.balign 4 - -.balign 0x10 - -glabel D_800E9DA0 -.byte 0x00 - -.balign 4 - -# TODO: unused? -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -glabel D_800E9DB4 -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -glabel D_800E9DC4 -.float 1.0, 1.0, 1.0, 1.0 - -glabel D_800E9DD4 -.float 0.0, 0.0, 0.0, 0.0 - -glabel D_800E9DE4 -.float 0.0, 0.0, 0.0, 0.0 - -glabel D_800E9DF4 -.float 0.0, 0.0, 0.0, 0.0 -.float 0.0, 0.0, 0.0, 0.0 - -glabel D_800E9E14 -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -glabel D_800E9E24 -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -glabel D_800E9E34 -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000 -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -glabel D_800E9E54 -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -glabel D_800E9E64 -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -glabel D_800E9E74 -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -glabel D_800E9E84 -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -glabel D_800E9E94 -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -glabel D_800E9EA4 -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -glabel D_800E9EB4 -.float 0.0, 0.0, 0.0, 0.0 - -glabel D_800E9EC4 -.float 0.0, 0.0, 0.0, 0.0 - -glabel D_800E9ED4 -.float 0.0, 0.0, 0.0, 0.0 - -glabel D_800E9EE4 -.float 0.0, 0.0, 0.0, 0.0 - -glabel D_800E9EF4 -.float 1.0, 1.0, 1.0, 1.0 - -glabel D_800E9F04 -.float 1.0, 1.0, 1.0, 1.0 - -glabel D_800E9F14 -.float 1.0, 1.0, 1.0, 1.0 - -glabel D_800E9F24 -.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - -glabel D_800E9F2C -.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - -glabel D_800E9F34 -.float 0.0, 0.0, 0.0, 0.0 -.float 0.0, 0.0, 0.0, 0.0 - -glabel D_800E9F54 -.float 0.0, 0.0, 0.0, 0.0 -.float 0.0, 0.0, 0.0, 0.0 - -glabel D_800E9F74 -.byte 0x00, 0x00, 0x00, 0x00 - -glabel D_800E9F78 -.byte 0x00, 0x00, 0x00, 0x00 - -glabel D_800E9F7C -.float 0.0, 0.0, 0.0 -.float 1.0 -.float 1.0 -.byte 0x00 -.balign 4 -.float 3800.0, 3.4, 0.4 -.float -1.0, 0.4, 1100.0 -.float 630.0, 3600.0, 1.0 - -.float 0.0, 0.0, 0.0 -.float 1.0 -.float 1.0 -.byte 0x00 -.balign 4 -.float 3800.0, 3.4, 0.4 -.float -1.0, 0.4, 1100.0 -.float 630.0, 3600.0, 1.0 - -.float 0.0, 0.0, 0.0 -.float 1.0 -.float 1.0 -.byte 0x00 -.balign 4 -.float 3800.0, 3.4, 0.4 -.float -1.0, 0.4, 1100.0 -.float 630.0, 3600.0, 1.0 - -.float 0.0, 0.0, 0.0 -.float 1.0 -.float 1.0 -.byte 0x00 -.balign 4 -.float 3800.0, 3.4, 0.4 -.float -1.0, 0.4, 1100.0 -.float 630.0, 3600.0, 1.0 - -.macro Entry800EA06C f0, f1, f2, b0 -.float \f0, \f1, \f2 -.byte \b0, 0x00, 0x00, 0x00 -.endm - -glabel D_800EA06C -Entry800EA06C 0.0, 1.0, 1.0, 0x0 -Entry800EA06C 0.0, 1.0, 1.0, 0x0 -Entry800EA06C 0.0, 1.0, 1.0, 0x0 -Entry800EA06C 0.0, 1.0, 1.0, 0x0 -Entry800EA06C 0.0, 1.0, 1.0, 0x0 -Entry800EA06C 0.0, 1.0, 1.0, 0x0 -Entry800EA06C 0.0, 1.0, 1.0, 0x0 -Entry800EA06C 0.0, 1.0, 1.0, 0x0 - -glabel D_800EA0EC -.byte 0x00 -glabel D_800EA0ED -.byte 0x00 -glabel D_800EA0EE -.byte 0x00 -glabel D_800EA0EF -.byte 0x00 - -glabel D_800EA0F0 -.byte 0x00, 0x00, 0x00, 0x00 - -glabel D_800EA0F4 -.byte 0x00, 0x00, 0x00, 0x00 - -.word 0x00000000, 0x00000000, 0x3f800000 - -glabel D_800EA104 -.word 0x00000000 - -glabel D_800EA108 -.word 0x00000000 - -glabel D_800EA10C -.word 0x00000000 - -glabel D_800EA110 -.float 0.0, 0.0, 0.0, 0.0 - -glabel D_800EA120 -.float 0.0, 0.0, 0.0, 0.0 - -glabel D_800EA130 -.float 0.0, 0.0, 0.0, 0.0 -.float 0.0, 0.0, 0.0, 0.0 - -glabel D_800EA150 -.float 1.4 - -glabel D_800EA154 -.byte 0x02, 0x02, 0x58, 0x5a, 0x03, 0x30, 0x58, 0x30 - -glabel D_800EA15C -.word 0x00000000 - -glabel D_800EA160 -.word 0x00000000 - -glabel D_800EA164 -.word 0x00000000 - -glabel D_800EA168 -.word 0x00000000 - -glabel D_800EA16C -.word 0x00000000 - -glabel D_800EA170 -.word 0x00000000 - -glabel D_800EA174 -.word 0x00000000 - -glabel D_800EA178 -.word 0x3f800000 - -glabel D_800EA17C -.word 0x3f59999a - -glabel D_800EA180 -.word 0x00000000 - -glabel D_800EA184 -.word 0x00000000 - -glabel D_800EA188 -.byte 0x04, 0x02, 0x02, 0x02, 0x02, 0x01, 0x06, 0x02, 0x02, 0x02, 0x02, 0x01, 0x08, 0x02, 0x02, 0x00 -.byte 0x01, 0x01, 0x08, 0x02, 0x02, 0x00, 0x01, 0x01 - -glabel D_800EA1A0 -.byte 0x04, 0x01, 0x01, 0x02, 0x02, 0x01, 0x03, 0x01 -.byte 0x01, 0x02, 0x02, 0x01, 0x03, 0x01, 0x01, 0x00, 0x01, 0x01, 0x03, 0x01, 0x01, 0x00, 0x01, 0x01 - -glabel sSoundRequestCount -.word 0x00000000 - -glabel sNumProcessedSoundRequests -.word 0x00000000 - -glabel D_800EA1C0 -.word 0x00000000 - -glabel D_800EA1C4 -.word 0x00000000 - -glabel D_800EA1C8 -.word 0x00000000, 0x00000000, 0x00000000 - -glabel D_800EA1D4 -.word 0x3f800000, 0x00000000 - -glabel D_800EA1DC -.word 0x00000000, 0x00000000 - -glabel D_800EA1E4 -.word 0x00000000 - -glabel D_800EA1E8 -.word 0x00000000 - -glabel D_800EA1EC -.word 0x00000000 - -glabel D_800EA1F0 -.byte 0x00, 0x01, 0x02, 0x03 - -glabel D_800EA1F4 -.byte 0x00, 0x00, 0x00, 0x00 - -.asciiz "Error : Queue is not empty ( %x ) \n" -.balign 4 - -.asciiz "specchg error\n" -.balign 4 - -.asciiz "***** CAM MAX %d *****\n" -.balign 4 - -glabel D_800EA244 -.byte 0x00 - -.byte 0x00, 0x00, 0x00 - -.asciiz "entryout !!! %d\n" -.balign 4 - -.asciiz "AFTER GOAL VOICE FLAME %d\n" -.balign 4 - -.asciiz "*** Pause On ***\n" -.balign 4 - -.asciiz "*** Pause Off ***\n" -.balign 4 - -.asciiz "CALLED!! Na_ChangeSoundMode player %d\n" -.balign 4 - -.asciiz "CALLED!! Na_ChangeSoundMode spec %d\n" -.balign 4 - -.asciiz "Interfaced Spec Change player %d\n" -.balign 4 - -.asciiz "Interfaced Spec Change spec %d\n" -.balign 4 - -.word 0xff000000, 0xff000000, 0x00000000 - -.asciiz "FX MIX %d\n" -.balign 4 - -.asciiz "************** Seq Fadeout ***************\n" -.balign 4 - -.asciiz "SEQ FADE OUT TIME %d\n" -.balign 4 diff --git a/mk64.ld b/mk64.ld index 560493fa6..5a91366e6 100644 --- a/mk64.ld +++ b/mk64.ld @@ -234,7 +234,8 @@ SECTIONS BUILD_DIR/src/debug/debug.o(.data); BUILD_DIR/src/os/sprintf.o(.data); #endif - BUILD_DIR/data/data_0DD0A0_2_1_1.o(.data); + BUILD_DIR/src/audio/seqplayer.o(.data); + BUILD_DIR/src/audio/external.o(.data); BUILD_DIR/src/audio/port_eu.o(.data); BUILD_DIR/src/audio/audio_session_presets.o(.data); BUILD_DIR/src/os/osInitialize.o(.data*); @@ -319,7 +320,6 @@ SECTIONS BUILD_DIR/src/os/sprintf.o(.bss); #endif BUILD_DIR/src/audio/external.o(.bss); - BUILD_DIR/asm/bss_main_audio.o(.bss); BUILD_DIR/src/audio/port_eu.o(.bss); BUILD_DIR/src/os/osInitialize.o(.bss); BUILD_DIR/src/os/osCreateViManager.o(.bss); diff --git a/src/audio/external.c b/src/audio/external.c index afe5c3d26..eff82ea7d 100644 --- a/src/audio/external.c +++ b/src/audio/external.c @@ -33,55 +33,200 @@ struct Unk_8018FC20 sSoundRequests[0x100]; struct Unk_80191420 sSoundBanks[SOUND_BANK_COUNT][20]; u8 sSoundBankUsedListBack[SOUND_BANK_COUNT]; u8 sSoundBankFreeListFront[SOUND_BANK_COUNT]; -extern u8 sNumSoundsInBank[SOUND_BANK_COUNT]; - - -extern u8 sSoundBankDisabled[]; -extern u8 D_801930D0[]; -extern u8 D_80192C38; - -// Warning: D_801930D0 appears to be an array of struct. -// D_80193318 has been treated as a fake pr in the assembly. -// This may not be correct. - -/** Could not figure out these structs. -u8 D_80192AB8[384]; // probably wrong. - -struct UnkStruct_80192C38 { - u8 unk0; - //u8 unk1[3]; - u8 sSoundBankDisabled[16]; -}; - -struct UnkStruct_80192C38 D_80192C38; -//u8 D_80192C38; -//s32 a; -//u8 sSoundBankDisabled[15]; // 0x80192C3C - -typedef struct { - f32 unk0; - f32 unk4; - f32 unk8; - f32 unkC; -} UnkStruct_80192C48; // size 0x10 - -UnkStruct_80192C48 D_80192C48; - -typedef struct { - u8 unk0[9]; -} UnkStruct_80192CA8; // size 0xA - -UnkStruct_80192CA8 D_80192CA8[3]; -u8 D_80192CC6[10]; // unconfirmed +u8 sNumSoundsInBank[SOUND_BANK_COUNT]; +struct_D_80192AB8_entry D_80192AB8[SOUND_BANK_COUNT][8]; +u8 D_80192C38; +u8 sSoundBankDisabled[SOUND_BANK_COUNT]; +f32 D_80192C48[SOUND_BANK_COUNT][4]; +u8 D_80192CA8[3][10]; +u8 D_80192CC6[3]; u32 D_80192CD0[256]; +struct_D_801930D0_entry D_801930D0[3]; -typedef struct { - u8 unk0[0x24C]; -} UnkStruct_801930D0; +u8 D_800E9DA0 = 0; +UNUSED s32 D_800E9DA4[] = { 0, 0, 0, 0 }; +s32 D_800E9DB4[] = { 0, 0, 0, 0 }; +f32 D_800E9DC4[] = { 1.0f, 1.0f, 1.0f, 1.0f }; +f32 D_800E9DD4[] = { 0.0f, 0.0f, 0.0f, 0.0f }; +f32 D_800E9DE4[] = { 0.0f, 0.0f, 0.0f, 0.0f }; +f32 D_800E9DF4[] = { + 0.0f, 0.0f, 0.0f, 0.0f, + 0.0f, 0.0f, 0.0f, 0.0f +}; +s32 D_800E9E14[] = { 0, 0, 0, 0 }; +s32 D_800E9E24[] = { 0, 0, 0, 0 }; +s32 D_800E9E34[] = { + 0, 0, 0, 0, + 0, 0, 0, 0 +}; +f32 D_800E9E54[] = { 0.0f, 0.0f, 0.0f, 0.0f }; +f32 D_800E9E64[] = { 0.0f, 0.0f, 0.0f, 0.0f }; +s32 D_800E9E74[] = { 0, 0, 0, 0 }; +s32 D_800E9E84[] = { 0, 0, 0, 0 }; +u32 D_800E9E94[] = { 0, 0, 0, 0 }; +s32 D_800E9EA4[] = { 0, 0, 0, 0 }; +f32 D_800E9EB4[] = { 0.0f, 0.0f, 0.0f, 0.0f }; +f32 D_800E9EC4[] = { 0.0f, 0.0f, 0.0f, 0.0f }; +f32 D_800E9ED4[] = { 0.0f, 0.0f, 0.0f, 0.0f }; +f32 D_800E9EE4[] = { 0.0f, 0.0f, 0.0f, 0.0f }; +f32 D_800E9EF4[] = { 1.0f, 1.0f, 1.0f, 1.0f }; +f32 D_800E9F04[] = { 1.0f, 1.0f, 1.0f, 1.0f }; +f32 D_800E9F14[] = { 1.0f, 1.0f, 1.0f, 1.0f }; +u8 D_800E9F24[] = { + 0, 0, 0, 0, + 0, 0, 0, 0 +}; +u8 D_800E9F2C[] = { + 0, 0, 0, 0, + 0, 0, 0, 0 +}; +f32 D_800E9F34[] = { + 0.0f, 0.0f, 0.0f, 0.0f, + 0.0f, 0.0f, 0.0f, 0.0f +}; +f32 D_800E9F54[] = { + 0.0f, 0.0f, 0.0f, 0.0f, + 0.0f, 0.0f, 0.0f, 0.0f +}; +u8 D_800E9F74[] = { 0, 0, 0, 0 }; +u8 D_800E9F78[] = { 0, 0, 0, 0 }; +struct Unk_800E9F7C D_800E9F7C[] = { + { + { 0.0f, 0.0f, 0.0f }, + 1.0f, 1.0f, + 0, + 3800.0f, 3.4f, 0.4f, + -1.0f, 0.4f, 1100.0f, + 630.0f, 3600.0f, 1.0f + }, + { + { 0.0f, 0.0f, 0.0f }, + 1.0f, 1.0f, + 0, + 3800.0f, 3.4f, 0.4f, + -1.0f, 0.4f, 1100.0f, + 630.0f, 3600.0f, 1.0f + }, + { + { 0.0f, 0.0f, 0.0f }, + 1.0f, 1.0f, + 0, + 3800.0f, 3.4f, 0.4f, + -1.0f, 0.4f, 1100.0f, + 630.0f, 3600.0f, 1.0f + }, + { + { 0.0f, 0.0f, 0.0f }, + 1.0f, 1.0f, + 0, + 3800.0f, 3.4f, 0.4f, + -1.0f, 0.4f, 1100.0f, + 630.0f, 3600.0f, 1.0f + } +}; +struct Unk_800EA06C D_800EA06C[] = { + { + { 0.0f, 1.0f, 1.0f }, + 0 + }, + { + { 0.0f, 1.0f, 1.0f }, + 0 + }, + { + { 0.0f, 1.0f, 1.0f }, + 0 + }, + { + { 0.0f, 1.0f, 1.0f }, + 0 + }, + { + { 0.0f, 1.0f, 1.0f }, + 0 + }, + { + { 0.0f, 1.0f, 1.0f }, + 0 + }, + { + { 0.0f, 1.0f, 1.0f }, + 0 + }, + { + { 0.0f, 1.0f, 1.0f }, + 0 + } +}; +u8 D_800EA0EC[] = { 0, 0, 0, 0 }; +u8 D_800EA0F0 = 0; +u8 D_800EA0F4 = 0; +UNUSED Vec3f D_800EA0F8 = { 0.0f, 0.0f, 1.0f }; +u8 D_800EA104 = 0; +u8 D_800EA108 = 0; +u8 D_800EA10C[] = { 0, 0, 0, 0 }; +f32 D_800EA110[] = { 0.0f, 0.0f, 0.0f, 0.0f }; +f32 D_800EA120[] = { 0.0f, 0.0f, 0.0f, 0.0f }; +f32 D_800EA130[] = { + 0.0f, 0.0f, 0.0f, 0.0f, + 0.0f, 0.0f, 0.0f, 0.0f +}; +f32 D_800EA150 = 1.4f; +u8 D_800EA154[] = { 2, 2, 88, 90, 3, 48, 88, 48 }; +u16 D_800EA15C = 0; +u16 D_800EA160 = 0; +u8 D_800EA164 = 0; +s8 D_800EA168 = 0; +s8 D_800EA16C = 0; +u8 D_800EA170[] = { 0, 0, 0, 0 }; +u16 D_800EA174 = 0; +f32 D_800EA178 = 1.0f; +f32 D_800EA17C = 0.85f; +u16 D_800EA180 = 0; +u16 D_800EA184 = 0; +u8 D_800EA188[][6] = { + { 4, 2, 2, 2, 2, 1 }, + { 6, 2, 2, 2, 2, 1 }, + { 8, 2, 2, 0, 1, 1 }, + { 8, 2, 2, 0, 1, 1 } +}; +u8 D_800EA1A0[][6] = { + { 4, 1, 1, 2, 2, 1 }, + { 3, 1, 1, 2, 2, 1 }, + { 3, 1, 1, 0, 1, 1 }, + { 3, 1, 1, 0, 1, 1 } +}; +u8 sSoundRequestCount = 0; +u8 sNumProcessedSoundRequests = 0; +u8 D_800EA1C0 = 0; +u16 D_800EA1C4 = 0; +Vec3f D_800EA1C8 = { 0.0f, 0.0f, 0.0f }; +f32 D_800EA1D4 = 1.0f; +u32 external_unused_u32_0 = 0x00000000; +u8 D_800EA1DC = 0; +u32 external_unused_u32_1 = 0x00000000; +u8 D_800EA1E4 = 0; +u8 D_800EA1E8 = 0; +u8 D_800EA1EC = 0; +u8 D_800EA1F0[] = { 0, 1, 2, 3 }; +u8 D_800EA1F4[] = { 0, 0, 0, 0 }; -UnkStruct_801930D0 D_801930D0[3]; -//UnkStruct_801930D0 D_80193318[2]; // Likely fake var. Probably apart of 801930D0. -*/ +char external_unused_string00[] = "Error : Queue is not empty ( %x ) \n"; +char external_unused_string01[] = "specchg error\n"; +char external_unused_string02[] = "***** CAM MAX %d *****\n"; +u8 D_800EA244 = 0; +char external_unused_string03[] = "entryout !!! %d\n"; +char external_unused_string04[] = "AFTER GOAL VOICE FLAME %d\n"; +char external_unused_string05[] = "*** Pause On ***\n"; +char external_unused_string06[] = "*** Pause Off ***\n"; +char external_unused_string07[] = "CALLED!! Na_ChangeSoundMode player %d\n"; +char external_unused_string08[] = "CALLED!! Na_ChangeSoundMode spec %d\n"; +char external_unused_string09[] = "Interfaced Spec Change player %d\n"; +char external_unused_string10[] = "Interfaced Spec Change spec %d\n"; +UNUSED u32 external_unused_u32s[]= { 0xff000000, 0xff000000, 0x00000000 }; +char external_unused_string11[] = "FX MIX %d\n"; +char external_unused_string12[] = "************** Seq Fadeout ***************\n"; +char external_unused_string13[] = "SEQ FADE OUT TIME %d\n"; // Requires void in the argument list to match properly. void func_800C13F0(void) { @@ -1599,8 +1744,8 @@ extern u16 D_800EA1C4; void func_800C40F0(u8 arg0) { D_800EA1C4 &= ((1 << (arg0)) ^ (u16) -1); if (!D_800EA1C4) { - D_801930D0[18] = 1; - D_801930D0[16] = 0x7F; + D_801930D0[0].some_innards[18] = 1; + D_801930D0[0].some_innards[16] = 0x7F; } } @@ -2813,19 +2958,19 @@ void func_800C683C(u8 arg0) { D_800E9E94[arg0] = 0x0100F908; break; case 18: - play_sound(0x0100F81DU, D_800E9F7C[arg0].pos, arg0, D_800EA1D4, D_800EA1D4, (u8 *) &D_800E9F7C[arg0].unk_14); + play_sound(0x0100F81DU, D_800E9F7C[arg0].pos, arg0, &D_800EA1D4, &D_800EA1D4, (u8 *) &D_800E9F7C[arg0].unk_14); D_800E9E94[arg0] = 0x0100F81D; break; case 19: - play_sound(0x0100F822U, D_800E9F7C[arg0].pos, arg0, D_800EA1D4, D_800EA1D4, (u8 *) &D_800E9F7C[arg0].unk_14); + play_sound(0x0100F822U, D_800E9F7C[arg0].pos, arg0, &D_800EA1D4, &D_800EA1D4, (u8 *) &D_800E9F7C[arg0].unk_14); D_800E9E94[arg0] = 0x0100F822; break; case 1: - play_sound(0x0100F009U, D_800E9F7C[arg0].pos, arg0, D_800EA1D4, &D_800E9EF4[arg0], (u8 *) &D_800E9F7C[arg0].unk_14); + play_sound(0x0100F009U, D_800E9F7C[arg0].pos, arg0, &D_800EA1D4, &D_800E9EF4[arg0], (u8 *) &D_800E9F7C[arg0].unk_14); D_800E9E94[arg0] = 0x0100F009; break; case 2: - play_sound(0x0100F40AU, D_800E9F7C[arg0].pos, arg0, &D_800E9F14[arg0], D_800EA1D4, (u8 *) &D_800E9F7C[arg0].unk_14); + play_sound(0x0100F40AU, D_800E9F7C[arg0].pos, arg0, &D_800E9F14[arg0], &D_800EA1D4, (u8 *) &D_800E9F7C[arg0].unk_14); D_800E9E94[arg0] = 0x0100F40A; break; case 17: @@ -2833,93 +2978,93 @@ void func_800C683C(u8 arg0) { D_800E9E94[arg0] = 0x0100F01E; break; case 15: - play_sound(0x0100F01FU, D_800E9F7C[arg0].pos, arg0, &D_800E9F14[arg0], D_800EA1D4, (u8 *) &D_800E9F7C[arg0].unk_14); + play_sound(0x0100F01FU, D_800E9F7C[arg0].pos, arg0, &D_800E9F14[arg0], &D_800EA1D4, (u8 *) &D_800E9F7C[arg0].unk_14); D_800E9E94[arg0] = 0x0100F01F; break; case 16: - play_sound(0x0100F021U, D_800E9F7C[arg0].pos, arg0, &D_800E9F14[arg0], D_800EA1D4, (u8 *) &D_800E9F7C[arg0].unk_14); + play_sound(0x0100F021U, D_800E9F7C[arg0].pos, arg0, &D_800E9F14[arg0], &D_800EA1D4, (u8 *) &D_800E9F7C[arg0].unk_14); D_800E9E94[arg0] = 0x0100F021; break; case 20: - play_sound(0x0100F027U, D_800E9F7C[arg0].pos, arg0, &D_800E9F14[arg0], D_800EA1D4, (u8 *) &D_800E9F7C[arg0].unk_14); + play_sound(0x0100F027U, D_800E9F7C[arg0].pos, arg0, &D_800E9F14[arg0], &D_800EA1D4, (u8 *) &D_800E9F7C[arg0].unk_14); D_800E9E94[arg0] = 0x0100F027; break; case 25: - play_sound(0x0100F020U, D_800E9F7C[arg0].pos, arg0, &D_800E9F14[arg0], D_800EA1D4, (u8 *) &D_800E9F7C[arg0].unk_14); + play_sound(0x0100F020U, D_800E9F7C[arg0].pos, arg0, &D_800E9F14[arg0], &D_800EA1D4, (u8 *) &D_800E9F7C[arg0].unk_14); D_800E9E94[arg0] = 0x0100F020; break; case 26: - play_sound(0x0100F023U, D_800E9F7C[arg0].pos, arg0, &D_800E9F14[arg0], D_800EA1D4, (u8 *) &D_800E9F7C[arg0].unk_14); + play_sound(0x0100F023U, D_800E9F7C[arg0].pos, arg0, &D_800E9F14[arg0], &D_800EA1D4, (u8 *) &D_800E9F7C[arg0].unk_14); D_800E9E94[arg0] = 0x0100F023; break; case 27: - play_sound(0x01008046U, D_800E9F7C[arg0].pos, arg0, &D_800E9F14[arg0], D_800EA1D4, (u8 *) &D_800E9F7C[arg0].unk_14); + play_sound(0x01008046U, D_800E9F7C[arg0].pos, arg0, &D_800E9F14[arg0], &D_800EA1D4, (u8 *) &D_800E9F7C[arg0].unk_14); D_800E9E94[arg0] = 0x01008046; break; case 28: - play_sound(0x0100F025U, D_800E9F7C[arg0].pos, arg0, &D_800E9F14[arg0], D_800EA1D4, (u8 *) &D_800E9F7C[arg0].unk_14); + play_sound(0x0100F025U, D_800E9F7C[arg0].pos, arg0, &D_800E9F14[arg0], &D_800EA1D4, (u8 *) &D_800E9F7C[arg0].unk_14); D_800E9E94[arg0] = 0x0100F025; break; case 4: - play_sound(0x0100F00BU, D_800E9F7C[arg0].pos, arg0, D_800EA1D4, &D_800E9EF4[arg0], (u8 *) &D_800E9F7C[arg0].unk_14); + play_sound(0x0100F00BU, D_800E9F7C[arg0].pos, arg0, &D_800EA1D4, &D_800E9EF4[arg0], (u8 *) &D_800E9F7C[arg0].unk_14); D_800E9E94[arg0] = 0x0100F00B; break; case 5: - play_sound(0x0100F00CU, D_800E9F7C[arg0].pos, arg0, D_800EA1D4, &D_800E9EF4[arg0], (u8 *) &D_800E9F7C[arg0].unk_14); + play_sound(0x0100F00CU, D_800E9F7C[arg0].pos, arg0, &D_800EA1D4, &D_800E9EF4[arg0], (u8 *) &D_800E9F7C[arg0].unk_14); D_800E9E94[arg0] = 0x0100F00C; break; case 6: - play_sound(0x0100F00DU, D_800E9F7C[arg0].pos, arg0, D_800EA1D4, &D_800E9EF4[arg0], (u8 *) &D_800E9F7C[arg0].unk_14); + play_sound(0x0100F00DU, D_800E9F7C[arg0].pos, arg0, &D_800EA1D4, &D_800E9EF4[arg0], (u8 *) &D_800E9F7C[arg0].unk_14); D_800E9E94[arg0] = 0x0100F00D; break; case 7: - play_sound(0x0100F00EU, D_800E9F7C[arg0].pos, arg0, D_800EA1D4, &D_800E9EF4[arg0], (u8 *) &D_800E9F7C[arg0].unk_14); + play_sound(0x0100F00EU, D_800E9F7C[arg0].pos, arg0, &D_800EA1D4, &D_800E9EF4[arg0], (u8 *) &D_800E9F7C[arg0].unk_14); D_800E9E94[arg0] = 0x0100F00E; break; case 8: - play_sound(0x0100F00FU, D_800E9F7C[arg0].pos, arg0, D_800EA1D4, &D_800E9EF4[arg0], (u8 *) &D_800E9F7C[arg0].unk_14); + play_sound(0x0100F00FU, D_800E9F7C[arg0].pos, arg0, &D_800EA1D4, &D_800E9EF4[arg0], (u8 *) &D_800E9F7C[arg0].unk_14); D_800E9E94[arg0] = 0x0100F00F; break; case 9: - play_sound(0x0100F010U, D_800E9F7C[arg0].pos, arg0, D_800EA1D4, &D_800E9EF4[arg0], (u8 *) &D_800E9F7C[arg0].unk_14); + play_sound(0x0100F010U, D_800E9F7C[arg0].pos, arg0, &D_800EA1D4, &D_800E9EF4[arg0], (u8 *) &D_800E9F7C[arg0].unk_14); D_800E9E94[arg0] = 0x0100F010; break; case 10: case 14: - play_sound(0x0100F011U, D_800E9F7C[arg0].pos, arg0, D_800EA1D4, &D_800E9EF4[arg0], (u8 *) &D_800E9F7C[arg0].unk_14); + play_sound(0x0100F011U, D_800E9F7C[arg0].pos, arg0, &D_800EA1D4, &D_800E9EF4[arg0], (u8 *) &D_800E9F7C[arg0].unk_14); D_800E9E94[arg0] = 0x0100F011; break; case 11: - play_sound(0x0100F012U, D_800E9F7C[arg0].pos, arg0, D_800EA1D4, &D_800E9EF4[arg0], (u8 *) &D_800E9F7C[arg0].unk_14); + play_sound(0x0100F012U, D_800E9F7C[arg0].pos, arg0, &D_800EA1D4, &D_800E9EF4[arg0], (u8 *) &D_800E9F7C[arg0].unk_14); D_800E9E94[arg0] = 0x0100F012; break; case 12: - play_sound(0x0100F013U, D_800E9F7C[arg0].pos, arg0, D_800EA1D4, &D_800E9EF4[arg0], (u8 *) &D_800E9F7C[arg0].unk_14); + play_sound(0x0100F013U, D_800E9F7C[arg0].pos, arg0, &D_800EA1D4, &D_800E9EF4[arg0], (u8 *) &D_800E9F7C[arg0].unk_14); D_800E9E94[arg0] = 0x0100F013; break; case 29: - play_sound(0x0100F048U, D_800E9F7C[arg0].pos, arg0, D_800EA1D4, &D_800E9EF4[arg0], (u8 *) &D_800E9F7C[arg0].unk_14); + play_sound(0x0100F048U, D_800E9F7C[arg0].pos, arg0, &D_800EA1D4, &D_800E9EF4[arg0], (u8 *) &D_800E9F7C[arg0].unk_14); D_800E9E94[arg0] = 0x0100F048; break; case 30: - play_sound(0x0100F049U, D_800E9F7C[arg0].pos, arg0, D_800EA1D4, &D_800E9EF4[arg0], (u8 *) &D_800E9F7C[arg0].unk_14); + play_sound(0x0100F049U, D_800E9F7C[arg0].pos, arg0, &D_800EA1D4, &D_800E9EF4[arg0], (u8 *) &D_800E9F7C[arg0].unk_14); D_800E9E94[arg0] = 0x0100F049; break; case 31: - play_sound(0x0100F04AU, D_800E9F7C[arg0].pos, arg0, D_800EA1D4, &D_800E9EF4[arg0], (u8 *) &D_800E9F7C[arg0].unk_14); + play_sound(0x0100F04AU, D_800E9F7C[arg0].pos, arg0, &D_800EA1D4, &D_800E9EF4[arg0], (u8 *) &D_800E9F7C[arg0].unk_14); D_800E9E94[arg0] = 0x0100F04A; break; case 13: case 22: - play_sound(0x0100F029U, D_800E9F7C[arg0].pos, arg0, D_800EA1D4, &D_800E9EF4[arg0], (u8 *) &D_800E9F7C[arg0].unk_14); + play_sound(0x0100F029U, D_800E9F7C[arg0].pos, arg0, &D_800EA1D4, &D_800E9EF4[arg0], (u8 *) &D_800E9F7C[arg0].unk_14); D_800E9E94[arg0] = 0x0100F029; break; case 23: - play_sound(0x0100F02AU, D_800E9F7C[arg0].pos, arg0, D_800EA1D4, &D_800E9EF4[arg0], (u8 *) &D_800E9F7C[arg0].unk_14); + play_sound(0x0100F02AU, D_800E9F7C[arg0].pos, arg0, &D_800EA1D4, &D_800E9EF4[arg0], (u8 *) &D_800E9F7C[arg0].unk_14); D_800E9E94[arg0] = 0x0100F02A; break; case 24: - play_sound(0x0100F02BU, D_800E9F7C[arg0].pos, arg0, D_800EA1D4, &D_800E9EF4[arg0], (u8 *) &D_800E9F7C[arg0].unk_14); + play_sound(0x0100F02BU, D_800E9F7C[arg0].pos, arg0, &D_800EA1D4, &D_800E9EF4[arg0], (u8 *) &D_800E9F7C[arg0].unk_14); D_800E9E94[arg0] = 0x0100F02B; break; default: @@ -3133,84 +3278,31 @@ void func_800C70A8(u8 playerId) { } } -#ifdef MIPS_TO_C -//generated by m2c commit eefca95b040d7ee0c617bc58f9ac6cd1cf7bce87 on Sep-09-2023 -extern s8 D_801657E5; -s32 D_800E9E74[4] = { 0, 0, 0, 0 }; -static ? D_800E9E94; /* unable to generate initializer */ -static s32 D_800E9EA4[4] = { 0, 0, 0, 0 }; -struct Unk_800E9F7C D_800E9F7C[4]; /* unable to generate initializer */ -u8 D_800EA0EC[1] = { 0 }; -static u8 D_800EA0ED = 0; -static u8 D_800EA0EE = 0; -static u8 D_800EA0EF = 0; -u8 D_800EA0F0 = 0; -u8 D_800EA104 = 0; -static ? D_800EA130; /* unable to generate initializer */ -u8 D_800EA1C0 = 0; - void func_800C76C0(u8 playerId) { - s32 sp38; - s32 *sp34; - u8 *sp30; - Player *temp_v1; - Player *temp_v1_2; - f32 *var_at; - f32 var_f10; - s16 temp_v0_2; - s16 temp_v0_3; - s16 temp_v0_6; - s16 temp_v0_7; - s32 *temp_t0; - s32 temp_t1; - s32 temp_v0_5; - s32 temp_v1_3; - s32 temp_v1_4; - s32 temp_v1_5; - s32 temp_v1_6; - s32 var_v1; - u8 *temp_a2; - u8 *temp_v0; - u8 *temp_v0_4; - u8 temp_t6; - u8 var_v0; - - temp_t6 = playerId & 0xFF; - temp_t0 = &D_800E9EA4[temp_t6]; - sp34 = temp_t0; - sp38 = temp_t6 * 4; - var_v1 = *temp_t0; - if (var_v1 != 0) { - temp_t1 = var_v1 + 1; - if (var_v1 < 0x2BC) { - *temp_t0 = temp_t1; - var_v1 = temp_t1; + if (D_800E9EA4[playerId] != 0) { + if (D_800E9EA4[playerId] < 0x2BC) { + D_800E9EA4[playerId]++; } - playerId = temp_t6; - if (var_v1 == 2) { - playerId = temp_t6; - func_800C9018(temp_t6, 0x0100FA28); + if (D_800E9EA4[playerId] == 2) { + func_800C9018(playerId, 0x0100FA28); func_800C9018(playerId, 0x0100FF2C); func_800C9018(playerId, 0x0100FA4C); - func_800C5578(D_800E9F7C[playerId].pos, *(&D_800E9E94 + sp38)); - *(D_800E9E74 + sp38) = 0; + func_800C5578(D_800E9F7C[playerId].pos, D_800E9E94[playerId]); + D_800E9E74[playerId] = 0; switch (gModeSelection) { /* irregular */ case 0: - temp_v0 = &D_800EA0EC[playerId]; - *temp_v0 = 2; - sp30 = temp_v0; + D_800EA0EC[playerId] = 2; func_800C9060(playerId, 0x1900F103U); if (D_800EA1C0 == 0) { func_800C3448(0x100100FF); func_800C3448(0x110100FF); func_800C5278(5U); - temp_v0_2 = *(&gPlayers->currentRank + (playerId * 0xDD8)); - if (temp_v0_2 == 0) { + if (gPlayers[playerId].currentRank == 0) { func_800C97C4(playerId); D_800EA0F0 = 2; func_800C9A88(playerId); func_800CA414(0x000DU, 0x0010U); - } else if (temp_v0_2 < 4) { + } else if (gPlayers[playerId].currentRank < 4) { func_800C97C4(playerId); D_800EA0F0 = 2; func_800C9A88(playerId); @@ -3220,19 +3312,16 @@ void func_800C76C0(u8 playerId) { func_800CA414(0x000FU, 0x0018U); } } else { - *sp30 = 2; + D_800EA0EC[playerId] = 2; func_800C9060(playerId, 0x1900F103U); - temp_v0_3 = *(&gPlayers->currentRank + (playerId * 0xDD8)); - if (temp_v0_3 == 0) { + if (gPlayers[playerId].currentRank == 0) { func_800C3448(0x100100FF); func_800C3448(0x110100FF); func_800C97C4(playerId); D_800EA0F0 = 2; func_800C9A88(playerId); func_800CA414(0x000DU, 0x0010U); - goto block_23; - } - if (temp_v0_3 < 4) { + } else if (gPlayers[playerId].currentRank < 4) { if (D_800EA104 == 0) { func_800C3448(0x100100FF); func_800C3448(0x110100FF); @@ -3241,22 +3330,16 @@ void func_800C76C0(u8 playerId) { D_800EA0F0 = 2; func_800C9A88(playerId); func_800CA414(0x000EU, 0x0010U); - goto block_23; - } - var_v0 = D_800EA104; - if (var_v0 == 0) { + } else if (D_800EA104 == 0) { func_800C3448(0x100100FF); func_800C3448(0x110100FF); func_800C3448(-0x3E9F9C00); func_800CA414(0x000FU, 0x0018U); -block_23: - var_v0 = D_800EA104; } - if ((var_v0 != 0) || (*sp30 != 1)) { + if ((D_800EA104 != 0) || (D_800EA0EC[playerId] != 1)) { func_800C5278(5U); } } - var_v1 = *sp34; break; case 1: func_800C3448(0x100100FF); @@ -3273,12 +3356,9 @@ block_23: } else { func_800C3448(0x01640010); } - var_v1 = *sp34; break; case 2: - temp_v0_4 = &D_800EA0EC[playerId]; - *temp_v0_4 = 2; - sp30 = temp_v0_4; + D_800EA0EC[playerId] = 2; func_800C9060(playerId, 0x1900F103U); switch (D_800EA1C0) { /* switch 1; irregular */ case 1: /* switch 1 */ @@ -3290,12 +3370,12 @@ block_23: func_800CA414(0x000DU, 0x0017U); break; case 2: /* switch 1 */ - if ((D_800EA104 == 0) && (*sp30 == 1)) { + if ((D_800EA104 == 0) && (D_800EA0EC[playerId] == 1)) { func_800C3448(0x100100FF); func_800C3448(0x110100FF); func_800CA414(0x000DU, 0x0017U); D_800EA104 = 1; - } else if ((D_800EA104 == 1) && (*sp30 == 1)) { + } else if ((D_800EA104 == 1) && (D_800EA0EC[playerId] == 1)) { func_800C5278(5U); if (func_800C3508(1) != 0x000D) { D_800EA104 = 0; @@ -3305,18 +3385,18 @@ block_23: } break; case 3: /* switch 1 */ - if ((D_800EA104 == 0) && (*sp30 == 1)) { + if ((D_800EA104 == 0) && (D_800EA0EC[playerId] == 1)) { func_800C3448(0x100100FF); func_800C3448(0x110100FF); func_800C8EF8(0x000DU); D_800EA104 = 1; - } else if ((D_800EA104 == 1) && (*sp30 == 1)) { + } else if ((D_800EA104 == 1) && (D_800EA0EC[playerId] == 1)) { if (func_800C3508(1) != 0x000D) { D_800EA104 = 0; func_800C8EF8(0x000EU); } D_800EA104 = 2; - } else if ((D_800EA104 == 2) && (*sp30 == 1)) { + } else if ((D_800EA104 == 2) && (D_800EA0EC[playerId] == 1)) { func_800C5278(5U); if (func_800C3508(1) != 0x000E) { D_800EA104 = 0; @@ -3326,9 +3406,6 @@ block_23: } break; } - default: -block_76: - var_v1 = *sp34; break; case 3: switch (D_800EA1C0) { /* switch 2; irregular */ @@ -3339,153 +3416,129 @@ block_76: func_800C9018(playerId, 0x0100F926); func_800C8EF8(0x0017U); D_800EA0EC[playerId] = 2; - func_800C90F4(playerId, (*(&gPlayers->characterId + (gPlayerWinningIndex * 0xDD8)) * 0x10) + 0x2900800D); + func_800C90F4(playerId, (gPlayers[gPlayerWinningIndex].characterId * 0x10) + 0x2900800D); break; case 2: /* switch 2 */ - if ((D_800EA0EC->unk0 == 1) && (D_800EA0EC->unk1 == 1) && (D_800EA0EC->unk2 == 1)) { + if ((D_800EA0EC[0] == 1) && (D_800EA0EC[1] == 1) && (D_800EA0EC[2] == 1)) { func_800C5278(5U); func_800C9018(playerId, 0x01008026); func_800C8EF8(0x0017U); D_800EA0EC[playerId] = 2; - func_800C90F4(playerId, (*(&gPlayers->characterId + (gPlayerWinningIndex * 0xDD8)) * 0x10) + 0x2900800D); + func_800C90F4(playerId, (gPlayers[gPlayerWinningIndex].characterId * 0x10) + 0x2900800D); } break; case 3: /* switch 2 */ - if ((D_800EA0EC->unk0 == 1) && (D_800EA0ED == 1) && (D_800EA0EE == 1) && (D_800EA0EF == 1)) { + if ((D_800EA0EC[0] == 1) && (D_800EA0EC[1] == 1) && (D_800EA0EC[2] == 1) && (D_800EA0EC[3] == 1)) { func_800C5278(5U); func_800C9018(playerId, 0x01008026); func_800C8EF8(0x0017U); D_800EA0EC[playerId] = 2; - func_800C90F4(playerId, (*(&gPlayers->characterId + (gPlayerWinningIndex * 0xDD8)) * 0x10) + 0x2900800D); + func_800C90F4(playerId, (gPlayers[gPlayerWinningIndex].characterId * 0x10) + 0x2900800D); } break; } - goto block_76; + break; + default: + break; } } - temp_v0_5 = gModeSelection; - if (var_v1 == 0x0000001E) { - switch (temp_v0_5) { /* switch 3; irregular */ + if (D_800E9EA4[playerId] == 0x0000001E) { + switch (gModeSelection) { /* switch 3; irregular */ case 3: /* switch 3 */ break; case 0: /* switch 3 */ - temp_v1 = &gPlayers[playerId]; - temp_v0_6 = temp_v1->currentRank; - temp_a2 = &D_800EA0EC[playerId]; - if (temp_v0_6 == 0) { - *temp_a2 = 2; - func_800C90F4(playerId, (temp_v1->characterId * 0x10) + 0x29008007); - } else if (temp_v0_6 < 4) { - *temp_a2 = 2; - func_800C90F4(playerId, (temp_v1->characterId * 0x10) + 0x2900800D); + if (gPlayers[playerId].currentRank == 0) { + D_800EA0EC[playerId] = 2; + func_800C90F4(playerId, (gPlayers[playerId].characterId * 0x10) + 0x29008007); + } else if (gPlayers[playerId].currentRank < 4) { + D_800EA0EC[playerId] = 2; + func_800C90F4(playerId, (gPlayers[playerId].characterId * 0x10) + 0x2900800D); } else { - *temp_a2 = 2; - func_800C90F4(playerId, (temp_v1->characterId * 0x10) + 0x29008003); + D_800EA0EC[playerId] = 2; + func_800C90F4(playerId, (gPlayers[playerId].characterId * 0x10) + 0x29008003); } break; case 2: /* switch 3 */ - temp_v1_2 = &gPlayers[playerId]; - if (temp_v1_2->currentRank == 0) { + if (gPlayers[playerId].currentRank == 0) { D_800EA0EC[playerId] = 2; - func_800C90F4(playerId, (temp_v1_2->characterId * 0x10) + 0x2900800D); + func_800C90F4(playerId, (gPlayers[playerId].characterId * 0x10) + 0x2900800D); } break; case 1: /* switch 3 */ if (D_801657E5 == 1) { D_800EA0EC[playerId] = 2; - func_800C90F4(playerId, (*(&gPlayers->characterId + (playerId * 0xDD8)) * 0x10) + 0x29008007); + func_800C90F4(playerId, (gPlayers[playerId].characterId * 0x10) + 0x29008007); } else if (D_8018ED90 == (u8) 1) { D_800EA0EC[playerId] = 2; - func_800C90F4(playerId, (*(&gPlayers->characterId + (playerId * 0xDD8)) * 0x10) + 0x2900800D); + func_800C90F4(playerId, (gPlayers[playerId].characterId * 0x10) + 0x2900800D); } break; } } - switch (temp_v0_5) { /* switch 4; irregular */ + switch (gModeSelection) { /* switch 4; irregular */ case 0: /* switch 4 */ - temp_v0_7 = *(&gPlayers->currentRank + (playerId * 0xDD8)); - temp_v1_3 = *sp34; - if (temp_v0_7 == 0) { - if (temp_v1_3 >= 0x15F) { - if (temp_v1_3 == 0x0000015F) { + if (gPlayers[playerId].currentRank == 0) { + if (D_800E9EA4[playerId] >= 0x15F) { + if (D_800E9EA4[playerId] == 0x0000015F) { func_800C9D0C(playerId); - return; } } else { - var_at = &D_800EA130 + sp38; - var_f10 = (f32) temp_v1_3 / 400.0f; -block_134: - *var_at = var_f10; + D_800EA130[playerId] = (f32) D_800E9EA4[playerId] / 400.0f; } - } else if (temp_v0_7 < 4) { - if (temp_v1_3 >= 0x15F) { - if (temp_v1_3 == 0x0000015F) { + } else if (gPlayers[playerId].currentRank < 4) { + if (D_800E9EA4[playerId] >= 0x15F) { + if (D_800E9EA4[playerId] == 0x0000015F) { func_800C9D0C(playerId); - return; } } else { - *(&D_800EA130 + sp38) = (f32) temp_v1_3 / 400.0f; - return; + D_800EA130[playerId] = (f32) D_800E9EA4[playerId] / 400.0f; } - } else if (temp_v1_3 >= 0x12D) { - if (temp_v1_3 == 0x0000012D) { + } else if (D_800E9EA4[playerId] >= 0x12D) { + if (D_800E9EA4[playerId] == 0x0000012D) { func_800C97C4(playerId); - return; } } else { - *(&D_800EA130 + sp38) = (f32) temp_v1_3 / 330.0f; - return; + D_800EA130[playerId] = (f32) D_800E9EA4[playerId] / 330.0f; } break; case 2: /* switch 4 */ - temp_v1_4 = *sp34; if (D_800EA1C0 == (u8) 1) { - if (temp_v1_4 >= 0x65) { - if (temp_v1_4 == 0x00000065) { + if (D_800E9EA4[playerId] >= 0x65) { + if (D_800E9EA4[playerId] == 0x00000065) { func_800C9D0C(playerId); } } else { - *(&D_800EA130 + sp38) = (f32) temp_v1_4 / 120.0f; + D_800EA130[playerId] = (f32) D_800E9EA4[playerId] / 120.0f; } - } else if (temp_v1_4 >= 0x65) { - if (temp_v1_4 == 0x00000065) { + } else if (D_800E9EA4[playerId] >= 0x65) { + if (D_800E9EA4[playerId] == 0x00000065) { func_800C97C4(playerId); } } else { - *(&D_800EA130 + sp38) = (f32) temp_v1_4 / 120.0f; + D_800EA130[playerId] = (f32) D_800E9EA4[playerId] / 120.0f; } /* fallthrough */ case 1: /* switch 4 */ - temp_v1_5 = *sp34; - if (temp_v1_5 >= 0x12D) { - if (temp_v1_5 == 0x0000012D) { + if (D_800E9EA4[playerId] >= 0x12D) { + if (D_800E9EA4[playerId] == 0x0000012D) { func_800C9D0C(0U); - return; } } else { - *(&D_800EA130 + sp38) = (f32) temp_v1_5 / 350.0f; - return; + D_800EA130[playerId] = (f32) D_800E9EA4[playerId] / 350.0f; } break; case 3: /* switch 4 */ - temp_v1_6 = *sp34; - if (temp_v1_6 >= 0x65) { - if (temp_v1_6 == 0x00000065) { + if (D_800E9EA4[playerId] >= 0x65) { + if (D_800E9EA4[playerId] == 0x00000065) { func_800C97C4(playerId); - return; } } else { - var_at = &D_800EA130 + sp38; - var_f10 = (f32) temp_v1_6 / 120.0f; - goto block_134; + D_800EA130[playerId] = (f32) D_800E9EA4[playerId] / 120.0f; } break; } } } -#else -GLOBAL_ASM("asm/non_matchings/audio/external/func_800C76C0.s") -#endif void func_800C847C(u8 playerId) { if ((gPlayers[playerId].unk_0DE & 1) == 1) { @@ -3508,7 +3561,7 @@ void func_800C847C(u8 playerId) { || (gCurrentCourseId == COURSE_SHERBET_LAND) || (gCurrentCourseId == COURSE_DK_JUNGLE) || (gCurrentCourseId == COURSE_BIG_DONUT)) && (D_800EA0EC[playerId] == 0)) { - play_sound((gPlayers[playerId].characterId * 0x10) + 0x29008005, D_800E9F7C[playerId].pos, playerId, D_800EA1D4, D_800EA1D4, (u8 *) &D_800E9F7C[playerId].unk_14); + play_sound((gPlayers[playerId].characterId * 0x10) + 0x29008005, D_800E9F7C[playerId].pos, playerId, &D_800EA1D4, &D_800EA1D4, (u8 *) &D_800E9F7C[playerId].unk_14); } } } else { @@ -3518,7 +3571,7 @@ void func_800C847C(u8 playerId) { func_800C94A4(playerId); D_800E9F74[playerId] = 0; if ((gCurrentCourseId == COURSE_KOOPA_BEACH) && (D_800EA0EC[playerId] == 0)) { - play_sound((gPlayers[playerId].characterId * 0x10) + 0x29008008, D_800E9F7C[playerId].pos, playerId, D_800EA1D4, D_800EA1D4, (u8 *) &D_800E9F7C[playerId].unk_14); + play_sound((gPlayers[playerId].characterId * 0x10) + 0x29008008, D_800E9F7C[playerId].pos, playerId, &D_800EA1D4, &D_800EA1D4, (u8 *) &D_800E9F7C[playerId].unk_14); } } } @@ -3686,7 +3739,7 @@ void play_sound2(s32 soundBits) { if ((soundBits == SOUND_ACTION_REV_ENGINE_2) && (gCurrentCourseId == COURSE_DK_JUNGLE)) { soundBits = 0x49008028; } - play_sound(soundBits, D_800EA1C8, 4, D_800EA1D4, D_800EA1D4, &D_800EA1DC); + play_sound(soundBits, D_800EA1C8, 4, &D_800EA1D4, &D_800EA1D4, &D_800EA1DC); } void func_800C8EAC(u16 arg0) { @@ -3709,7 +3762,7 @@ void func_800C8F80(u8 arg0, u32 arg1) { case 2: D_800EA0EC[arg0] = 1; case 0: - play_sound(arg1, D_800E9F7C[arg0].pos, arg0, D_800EA1D4, D_800EA1D4, &D_800EA1DC); + play_sound(arg1, D_800E9F7C[arg0].pos, arg0, &D_800EA1D4, &D_800EA1D4, &D_800EA1DC); break; } } @@ -3726,7 +3779,7 @@ void func_800C9060(u8 arg0, u32 arg1) { case 2: D_800EA0EC[arg0] = 1; case 0: - play_sound(arg1, D_800E9F7C[arg0].pos, arg0, D_800EA1D4, D_800EA1D4, &D_800E9F7C[arg0].unk_14); + play_sound(arg1, D_800E9F7C[arg0].pos, arg0, &D_800EA1D4, &D_800EA1D4, &D_800E9F7C[arg0].unk_14); break; } } @@ -3742,9 +3795,9 @@ void func_800C90F4(u8 playerId, u32 arg1) { D_800EA180 = 1; } if (((gPlayers[playerId].effects & 0x40000000) == 0x40000000) && ((s32) D_800E9F2C[playerId] >= 0x1F)) { - play_sound(arg1, D_800E9F7C[playerId].pos, playerId, &D_800EA150, D_800EA1D4, (u8 *) &D_800E9F7C[playerId].unk_14); + play_sound(arg1, D_800E9F7C[playerId].pos, playerId, &D_800EA150, &D_800EA1D4, (u8 *) &D_800E9F7C[playerId].unk_14); } else { - play_sound(arg1, D_800E9F7C[playerId].pos, playerId, D_800EA1D4, D_800EA1D4, (u8 *) &D_800E9F7C[playerId].unk_14); + play_sound(arg1, D_800E9F7C[playerId].pos, playerId, &D_800EA1D4, &D_800EA1D4, (u8 *) &D_800E9F7C[playerId].unk_14); } break; default: @@ -3769,9 +3822,9 @@ void func_800C92CC(u8 playerId, u32 soundBits) { if (temp_v0 != NULL) { temp_v0->unk34 = 170.0f; if (((gPlayers[playerId].effects & 0x40000000) == 0x40000000) && ((s32) D_800E9F2C[playerId] >= 0x1F)) { - play_sound((gPlayers[playerId].characterId * 0x10) + soundBits, temp_v0->unk18, var_s0, &D_800EA150, D_800EA1D4, &D_800EA06C[playerId].unk0C); + play_sound((gPlayers[playerId].characterId * 0x10) + soundBits, temp_v0->unk18, var_s0, &D_800EA150, &D_800EA1D4, &D_800EA06C[playerId].unk0C); } else { - play_sound((gPlayers[playerId].characterId * 0x10) + soundBits, temp_v0->unk18, var_s0, &temp_v0->unk2C, D_800EA1D4, &D_800EA06C[playerId].unk0C); + play_sound((gPlayers[playerId].characterId * 0x10) + soundBits, temp_v0->unk18, var_s0, &temp_v0->unk2C, &D_800EA1D4, &D_800EA06C[playerId].unk0C); } } } @@ -3886,7 +3939,7 @@ void func_800C98B8(Vec3f position, Vec3f velocity, u32 soundBits) { temp_v0 = func_800C1C88(0U, position, velocity, D_800EA1C8, (u8) var_s0, soundBits); if (temp_v0 != 0) { temp_v0->unk34 = 170.0f; - play_sound(soundBits, temp_v0->unk18, var_s0, &temp_v0->unk2C, D_800EA1D4, &D_800EA1DC); + play_sound(soundBits, temp_v0->unk18, var_s0, &temp_v0->unk2C, &D_800EA1D4, &D_800EA1DC); } } } @@ -3976,7 +4029,7 @@ void func_800C9D80(Vec3f position, Vec3f velocity, u32 soundBits) { if (soundBits == 0x5103700B) { play_sound(soundBits, temp_v0->unk18, var_s0, &D_800EA178, &D_800EA17C, &D_800EA1DC); } else { - play_sound(soundBits, temp_v0->unk18, var_s0, &temp_v0->unk2C, D_800EA1D4, &D_800EA1DC); + play_sound(soundBits, temp_v0->unk18, var_s0, &temp_v0->unk2C, &D_800EA1D4, &D_800EA1DC); } } } @@ -4142,7 +4195,7 @@ void func_800CA49C(u8 arg0) { void func_800CA59C(u8 playerId) { if ((D_800EA0EC[playerId] == 0) && (D_800EA108 == 0)) { - play_sound((gPlayers[playerId].characterId * 0x10) + 0x29008001, D_800E9F7C[playerId].pos, playerId, D_800EA1D4, D_800EA1D4, (u8 *) &D_800E9F7C[playerId].unk_14); + play_sound((gPlayers[playerId].characterId * 0x10) + 0x29008001, D_800E9F7C[playerId].pos, playerId, &D_800EA1D4, &D_800EA1D4, (u8 *) &D_800E9F7C[playerId].unk_14); D_800EA164 = 1; if ((s32) D_800EA1C0 >= 2) { func_800C8F80(playerId, 0x0100FF2C); @@ -4166,12 +4219,10 @@ void func_800CA59C(u8 playerId) { } } -extern void func_800C3608(s32, s32); /* extern */ - void func_800CA730(u8 arg0) { if (D_800EA0EC[arg0] == 0) { if ((D_800EA108 == 0) && (D_800EA10C[arg0] != 0)) { - play_sound(gPlayers[arg0].characterId * 0x10 + 0x29008008, D_800E9F7C[arg0].pos, arg0, D_800EA1D4, D_800EA1D4, (u8*) &D_800E9F7C[arg0].unk_14); + play_sound(gPlayers[arg0].characterId * 0x10 + 0x29008008, D_800E9F7C[arg0].pos, arg0, &D_800EA1D4, &D_800EA1D4, (u8*) &D_800E9F7C[arg0].unk_14); if (D_800EA10C[arg0] != 0) { if ((s32) D_800EA1C0 >= 2) { func_800C9018(arg0, 0x0100FF2C); @@ -4216,7 +4267,7 @@ void func_800CA984(u8 arg0) { for (i = 0; i < D_800EA1C0 + 1; i++) { temp_v0_2 = func_800C1C88(arg0, &gPlayers[arg0].pos, D_800EA1C8, &gPlayers[arg0].unk_098, (u8) i, 0x31029008U); if (temp_v0_2) { - play_sound(0x31029008U, temp_v0_2->unk18, i, D_800EA1D4, D_800EA1D4, &D_800EA1DC); + play_sound(0x31029008U, temp_v0_2->unk18, i, &D_800EA1D4, &D_800EA1D4, &D_800EA1DC); } } } @@ -4240,7 +4291,7 @@ void func_800CAB4C(u8 arg0) { case 0: func_800C36C4(0, 1U, 0x55U, 5); func_800C9060(arg0, 0x1900F013U); - play_sound(0x5101C00CU, D_800EA1C8, 0U, D_800EA1D4, D_800EA1D4, &D_800EA1DC); + play_sound(0x5101C00CU, D_800EA1C8, 0U, &D_800EA1D4, &D_800EA1D4, &D_800EA1DC); break; default: break; @@ -4259,10 +4310,10 @@ void func_800CAC08() { void func_800CAC60(UNUSED s32 arg0) { if ((D_800EA108 == 0) && (D_800EA0F0 == 0)) { - play_sound(SOUND_ACTION_EXPLOSION_2, D_800EA1C8, 0U, D_800EA1D4, D_800EA1D4, &D_800EA1DC); + play_sound(SOUND_ACTION_EXPLOSION_2, D_800EA1C8, 0U, &D_800EA1D4, &D_800EA1D4, &D_800EA1DC); if ((D_800EA10C[0] != 1) && (D_800EA10C[1] != 1)) { func_800C36C4(0, 1, 0x37U, 5); - play_sound(SOUND_ITEM_THUNDERBOLT, D_800EA1C8, 0U, D_800EA1D4, D_800EA1D4, &D_800EA1DC); + play_sound(SOUND_ITEM_THUNDERBOLT, D_800EA1C8, 0U, &D_800EA1D4, &D_800EA1D4, &D_800EA1DC); D_800EA168 = 1; } } @@ -4299,7 +4350,7 @@ void func_800CADD0(u8 arg0, f32 arg1) { var_f12 = 0.0f; } D_800EA110[arg0] = var_f12; - play_sound(0x1900A209U, D_800E9F7C[arg0].pos, arg0, D_800EA1D4, &D_800EA110[arg0], (u8 *) &D_800E9F7C[arg0].unk_14); + play_sound(0x1900A209U, D_800E9F7C[arg0].pos, arg0, &D_800EA1D4, &D_800EA110[arg0], (u8 *) &D_800E9F7C[arg0].unk_14); break; default: break; diff --git a/src/audio/external.h b/src/audio/external.h index 5e8a6d6de..2a3e104b8 100644 --- a/src/audio/external.h +++ b/src/audio/external.h @@ -124,6 +124,17 @@ struct Unk_800EA06C { /* 0x0D */ // u8 compilerPadding0[3]; }; +typedef struct { + /* 0x00 */ s32 unk_0; + /* 0x04 */ s32 unk_4; +} struct_D_80192AB8_entry; // size = 0x8 + +typedef struct { + // This will need lots of expanding/documenting + // Its 147 words of space being used + u8 some_innards[0x24C]; +} struct_D_801930D0_entry; // size = 0x24C + void func_800C94A4(u8); void func_800CADD0(u8, f32); void func_800C13F0(void); @@ -145,6 +156,7 @@ void func_800C3724(void); void func_800C3448(u32); void func_800C3478(void); u16 func_800C3508(s32); +void func_800C3608(s32, s32); u8 func_800C357C(s32); void func_800C35E8(u8); void func_800C36C4(s32, u32, u8, s8); @@ -244,6 +256,9 @@ void func_800CB14C(void); void func_800CB2C4(void); void func_800CBC24(void); +// This is some from other file, its definitely not part of audio's data/bss +extern s8 D_801657E5; + // Based on SM64, this should be part of data.c's BSS section. Somehow. extern s32 gAudioErrorFlags; @@ -261,13 +276,18 @@ extern struct Unk_80191420 sSoundBanks[SOUND_BANK_COUNT][20]; extern u8 sSoundBankUsedListBack[SOUND_BANK_COUNT]; extern u8 sSoundBankFreeListFront[SOUND_BANK_COUNT]; extern u8 sNumSoundsInBank[SOUND_BANK_COUNT]; +extern struct_D_80192AB8_entry D_80192AB8[SOUND_BANK_COUNT][8]; +extern u8 D_80192C38; +extern u8 sSoundBankDisabled[SOUND_BANK_COUNT]; +extern f32 D_80192C48[SOUND_BANK_COUNT][4]; +extern u8 D_80192CA8[3][10]; +extern u8 D_80192CC6[3]; +extern u32 D_80192CD0[256]; +extern struct_D_801930D0_entry D_801930D0[3]; extern u8 sNumProcessedSoundRequests; extern u8 sSoundRequestCount; extern struct Unk_8018FC20 sSoundRequests[0x100]; -extern u8 D_80192CC6[]; -extern u32 D_80192CD0[]; - // Data entries extern u8 D_800E9DA0; extern f32 D_800E9DC4[4];// = { 1.0f, 1.0f, 1.0f, 1.0f }; @@ -293,7 +313,7 @@ extern f32 D_800E9F14[4];// = { 1.0f, 1.0f, 1.0f, 1.0f }; /* const */ extern u8 D_800E9F24[8];// = { 0, 0, 0, 0, 0, 0, 0, 0 }; extern u8 D_800E9F2C[8];// = { 0, 0, 0, 0, 0, 0, 0, 0 }; extern f32 D_800E9F34[8];// = { 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f }; /* const */ -extern f32 D_800E9F54[4];// = { 1.0f, 1.0f, 1.0f, 1.0f }; /* const */ +extern f32 D_800E9F54[8];// = { 1.0f, 1.0f, 1.0f, 1.0f }; /* const */ extern u8 D_800E9F74[4]; extern u8 D_800E9F78[4]; extern struct Unk_800E9F7C D_800E9F7C[4]; @@ -307,7 +327,7 @@ extern u8 D_800EA108;// = 0; extern u8 D_800EA10C[]; extern f32 D_800EA110[4];// = { 0.0f, 0.0f, 0.0f, 0.0f }; extern f32 D_800EA120[4]; -extern f32 D_800EA130[4]; +extern f32 D_800EA130[8]; extern f32 D_800EA150;// = 1.4f; extern u8 D_800EA154[]; extern u16 D_800EA15C; @@ -324,7 +344,7 @@ extern u8 D_800EA1C0;// = 0; // Most similar to gGlobalSoundSource from SM64, but I don't know if its really // a sound source, its usage makes it look like a 0'd Vec3f for general usage extern Vec3f D_800EA1C8;// = {0.0f, 0.0f, 0.0f} -extern Vec3f D_800EA1D4; +extern f32 D_800EA1D4; extern u8 D_800EA1DC;// = 0; extern u8 D_800EA1E4; extern u8 D_800EA1E8; diff --git a/src/audio/heap.c b/src/audio/heap.c index 3fd9a0b3f..02d9b8971 100644 --- a/src/audio/heap.c +++ b/src/audio/heap.c @@ -192,7 +192,7 @@ void func_800B90E0(struct SoundAllocPool *pool) { } // inspired by sound_init_main_pools in sm64 -void func_800B90F0(s32 arg0) { +void sound_init_main_pools(s32 arg0) { sound_alloc_pool_init(&gAudioInitPool, &D_803B71B0, arg0); sound_alloc_pool_init(&gAudioSessionPool, D_803B71B0 + arg0, gAudioHeapSize - arg0); } diff --git a/src/audio/heap.h b/src/audio/heap.h index cc81a3039..45aa87357 100644 --- a/src/audio/heap.h +++ b/src/audio/heap.h @@ -100,7 +100,7 @@ void sound_alloc_pool_init(struct SoundAllocPool *pool, void *memAddr, u32 size) void persistent_pool_clear(struct PersistentPool *persistent); void temporary_pool_clear(struct TemporaryPool *temporary); void func_800B90E0(struct SoundAllocPool *pool); -void func_800B90F0(s32); +void sound_init_main_pools(s32); void func_800B914C(struct PoolSplit*); void seq_and_bank_pool_init(struct PoolSplit2 *a); void persistent_pools_init(struct PoolSplit *a); diff --git a/src/audio/seqplayer.c b/src/audio/seqplayer.c index a04af3833..b8ac477fb 100644 --- a/src/audio/seqplayer.c +++ b/src/audio/seqplayer.c @@ -10,6 +10,41 @@ #include "audio/playback.h" #include "audio/external.h" +/** + * Given that (almost) all of these are format strings, it is highly likely + * that they are meant to be used in some sort of printf variant. But I don't + * care to try and figure out which function gets which string(s) + * So I've place them all here instead. + * This means some printf stubs have been commented out to avoid duplication + * of some strings (i.e seqplayer_unused_string00) +**/ +char seqplayer_unused_string00[] = "Audio:Track:Warning: No Free Notetrack\n"; +char seqplayer_unused_string01[] = "SUBTRACK DIM\n"; +char seqplayer_unused_string02[] = "Audio:Track: Warning :SUBTRACK had been stolen by other Group.\n"; +char seqplayer_unused_string03[] = "SEQID %d,BANKID %d\n"; +char seqplayer_unused_string04[] = "ERR:SUBTRACK %d NOT ALLOCATED\n"; +char seqplayer_unused_string05[] = "Error:Same List Add\n"; +char seqplayer_unused_string06[] = "Macro Level Over Error!\n"; +char seqplayer_unused_string07[] = "Macro Level Over Error!\n"; +char seqplayer_unused_string08[] = "WARNING: NPRG: cannot change %d\n"; +char seqplayer_unused_string09[] = "Audio:Track:NOTE:UNDEFINED NOTE COM. %x\n"; +char seqplayer_unused_string10[] = "Audio: Note:Velocity Error %d\n"; +char seqplayer_unused_string11[] = "Error: Subtrack no prg.\n"; +char seqplayer_unused_string12[] = "ERR %x\n"; +char seqplayer_unused_string13[] = "Error: Your assignchannel is stolen.\n"; +char seqplayer_unused_string14[] = "Audio:Track :Call Macro Level Over Error!\n"; +char seqplayer_unused_string15[] = "Audio:Track :Loops Macro Level Over Error!\n"; +char seqplayer_unused_string16[] = "SUB:ERR:BANK %d NOT CACHED.\n"; +char seqplayer_unused_string17[] = "SUB:ERR:BANK %d NOT CACHED.\n"; +char seqplayer_unused_string18[] = "Audio:Track: CTBLCALL Macro Level Over Error!\n"; +char seqplayer_unused_string19[] = "[%2x] \n"; +char seqplayer_unused_string20[] = "Err :Sub %x ,address %x:Undefined SubTrack Function %x"; +char seqplayer_unused_string21[] = "Disappear Sequence or Bank %d\n"; +char seqplayer_unused_string22[] = "Macro Level Over Error!\n"; +char seqplayer_unused_string23[] = "Macro Level Over Error!\n"; +char seqplayer_unused_string24[] = "Group:Undefine upper C0h command (%x)\n"; +char seqplayer_unused_string25[] = "Group:Undefined Command\n"; + // sequence_channel_init void sequence_channel_init(struct SequenceChannel *seqChannel) { s32 i; @@ -145,7 +180,7 @@ void sequence_player_init_channels(struct SequencePlayer *seqPlayer, u16 channel } seqChannel = allocate_sequence_channel(); if (IS_SEQUENCE_CHANNEL_VALID(seqChannel) == FALSE) { - eu_stubbed_printf_0("Audio:Track:Warning: No Free Notetrack\n"); + //eu_stubbed_printf_0("Audio:Track:Warning: No Free Notetrack\n"); gAudioErrorFlags = i + 0x10000; seqPlayer->channels[i] = seqChannel; } else { @@ -165,7 +200,7 @@ void sequence_player_disable_channels(struct SequencePlayer *seqPlayer, u16 chan struct SequenceChannel *seqChannel; s32 i; - eu_stubbed_printf_0("SUBTRACK DIM\n"); + //eu_stubbed_printf_0("SUBTRACK DIM\n"); for (i = 0; i < CHANNELS_MAX; i++) { if (channelBits & 1) { seqChannel = seqPlayer->channels[i]; @@ -175,7 +210,7 @@ void sequence_player_disable_channels(struct SequencePlayer *seqPlayer, u16 chan seqChannel->seqPlayer = NULL; } else { - stubbed_printf("Audio:Track: Warning SUBTRACK PARENT CHANGED\n"); + //stubbed_printf("Audio:Track: Warning SUBTRACK PARENT CHANGED\n"); } seqPlayer->channels[i] = &gSequenceChannelNone; } @@ -188,8 +223,8 @@ void sequence_channel_enable(struct SequencePlayer *seqPlayer, u8 channelIndex, struct SequenceChannel *seqChannel = seqPlayer->channels[channelIndex]; s32 i; if (IS_SEQUENCE_CHANNEL_VALID(seqChannel) == FALSE) { - stubbed_printf("SEQID %d,BANKID %d\n", seqPlayer->seqId, seqPlayer->defaultBank[0]); - stubbed_printf("ERR:SUBTRACK %d NOT ALLOCATED\n", channelIndex); + //stubbed_printf("SEQID %d,BANKID %d\n", seqPlayer->seqId, seqPlayer->defaultBank[0]); + //stubbed_printf("ERR:SUBTRACK %d NOT ALLOCATED\n", channelIndex); } else { seqChannel->enabled = TRUE; seqChannel->finished = FALSE; @@ -230,7 +265,7 @@ void sequence_player_disable(struct SequencePlayer *seqPlayer) { void audio_list_push_back(struct AudioListItem *list, struct AudioListItem *item) { if (item->prev != NULL) { - eu_stubbed_printf_0("Error:Same List Add\n"); + //eu_stubbed_printf_0("Error:Same List Add\n"); } else { list->prev->next = item; item->prev = list->prev; @@ -1447,7 +1482,7 @@ void sequence_player_process_sequence(struct SequencePlayer *seqPlayer) { break; default: - eu_stubbed_printf_1("Group:Undefine upper C0h command (%x)\n", cmd); + //eu_stubbed_printf_1("Group:Undefine upper C0h command (%x)\n", cmd); break; } } else { @@ -1481,7 +1516,7 @@ void sequence_player_process_sequence(struct SequencePlayer *seqPlayer) { break; default: - eu_stubbed_printf_0("Group:Undefined Command\n"); + //eu_stubbed_printf_0("Group:Undefined Command\n"); break; } }