Decompile mpChooseTrack
This commit is contained in:
parent
87bfa11a98
commit
c6bafcdd1a
|
|
@ -4423,726 +4423,81 @@ s32 mpGetCurrentTrackSlotNum(void)
|
|||
return mpGetTrackSlotIndex(g_BossFile.tracknum);
|
||||
}
|
||||
|
||||
#if VERSION == VERSION_PAL_FINAL
|
||||
GLOBAL_ASM(
|
||||
glabel mpChooseTrack
|
||||
/* f18d564: 27bdffc8 */ addiu $sp,$sp,-56
|
||||
/* f18d568: afbf0034 */ sw $ra,0x34($sp)
|
||||
/* f18d56c: afb60030 */ sw $s6,0x30($sp)
|
||||
/* f18d570: afb5002c */ sw $s5,0x2c($sp)
|
||||
/* f18d574: afb40028 */ sw $s4,0x28($sp)
|
||||
/* f18d578: afb30024 */ sw $s3,0x24($sp)
|
||||
/* f18d57c: afb20020 */ sw $s2,0x20($sp)
|
||||
/* f18d580: afb1001c */ sw $s1,0x1c($sp)
|
||||
/* f18d584: 0fc634d2 */ jal mpGetUsingMultipleTunes
|
||||
/* f18d588: afb00018 */ sw $s0,0x18($sp)
|
||||
/* f18d58c: 1040006f */ beqz $v0,.PF0f18d74c
|
||||
/* f18d590: 00000000 */ nop
|
||||
/* f18d594: 0fc634a9 */ jal mpGetNumUnlockedTracks
|
||||
/* f18d598: 00000000 */ nop
|
||||
/* f18d59c: 0040a025 */ move $s4,$v0
|
||||
/* f18d5a0: 0000a825 */ move $s5,$zero
|
||||
/* f18d5a4: 18400009 */ blez $v0,.PF0f18d5cc
|
||||
/* f18d5a8: 00008025 */ move $s0,$zero
|
||||
.PF0f18d5ac:
|
||||
/* f18d5ac: 0fc634d5 */ jal mpIsMultiTrackSlotEnabled
|
||||
/* f18d5b0: 02002025 */ move $a0,$s0
|
||||
/* f18d5b4: 10400002 */ beqz $v0,.PF0f18d5c0
|
||||
/* f18d5b8: 26100001 */ addiu $s0,$s0,0x1
|
||||
/* f18d5bc: 26b50001 */ addiu $s5,$s5,0x1
|
||||
.PF0f18d5c0:
|
||||
/* f18d5c0: 0214082a */ slt $at,$s0,$s4
|
||||
/* f18d5c4: 1420fff9 */ bnez $at,.PF0f18d5ac
|
||||
/* f18d5c8: 00000000 */ nop
|
||||
.PF0f18d5cc:
|
||||
/* f18d5cc: 16a00020 */ bnez $s5,.PF0f18d650
|
||||
/* f18d5d0: 3c16800b */ lui $s6,0x800b
|
||||
/* f18d5d4: 26d6d1c0 */ addiu $s6,$s6,-11840
|
||||
.PF0f18d5d8:
|
||||
/* f18d5d8: 0c004ad4 */ jal random
|
||||
/* f18d5dc: 00000000 */ nop
|
||||
/* f18d5e0: 0054001b */ divu $zero,$v0,$s4
|
||||
/* f18d5e4: 00002010 */ mfhi $a0
|
||||
/* f18d5e8: 16800002 */ bnez $s4,.PF0f18d5f4
|
||||
/* f18d5ec: 00000000 */ nop
|
||||
/* f18d5f0: 0007000d */ break 0x7
|
||||
.PF0f18d5f4:
|
||||
/* f18d5f4: 0fc6348e */ jal mpGetTrackNumAtSlotIndex
|
||||
/* f18d5f8: 00000000 */ nop
|
||||
/* f18d5fc: 8ece0004 */ lw $t6,0x4($s6)
|
||||
/* f18d600: 00409825 */ move $s3,$v0
|
||||
/* f18d604: 104efff4 */ beq $v0,$t6,.PF0f18d5d8
|
||||
/* f18d608: 00000000 */ nop
|
||||
/* f18d60c: 00027880 */ sll $t7,$v0,0x2
|
||||
/* f18d610: 01e27823 */ subu $t7,$t7,$v0
|
||||
/* f18d614: 000f7840 */ sll $t7,$t7,0x1
|
||||
/* f18d618: 3c038008 */ lui $v1,0x8008
|
||||
/* f18d61c: aec20004 */ sw $v0,0x4($s6)
|
||||
/* f18d620: 006f1821 */ addu $v1,$v1,$t7
|
||||
/* f18d624: 94637fc0 */ lhu $v1,0x7fc0($v1)
|
||||
/* f18d628: 3c018008 */ lui $at,0x8008
|
||||
/* f18d62c: 307801ff */ andi $t8,$v1,0x1ff
|
||||
/* f18d630: 0018c880 */ sll $t9,$t8,0x2
|
||||
/* f18d634: 0338c823 */ subu $t9,$t9,$t8
|
||||
/* f18d638: 0019c8c0 */ sll $t9,$t9,0x3
|
||||
/* f18d63c: 0338c821 */ addu $t9,$t9,$t8
|
||||
/* f18d640: 0019c840 */ sll $t9,$t9,0x1
|
||||
/* f18d644: ac394638 */ sw $t9,0x4638($at)
|
||||
/* f18d648: 1000007b */ b .PF0f18d838
|
||||
/* f18d64c: 00031242 */ srl $v0,$v1,0x9
|
||||
.PF0f18d650:
|
||||
/* f18d650: 3c16800b */ lui $s6,0x800b
|
||||
/* f18d654: 26d6d1c0 */ addiu $s6,$s6,-11840
|
||||
/* f18d658: 00008025 */ move $s0,$zero
|
||||
.PF0f18d65c:
|
||||
/* f18d65c: 0c004ad4 */ jal random
|
||||
/* f18d660: 00008825 */ move $s1,$zero
|
||||
/* f18d664: 0055001b */ divu $zero,$v0,$s5
|
||||
/* f18d668: 00009010 */ mfhi $s2
|
||||
/* f18d66c: 2413ffff */ li $s3,-1
|
||||
/* f18d670: 16a00002 */ bnez $s5,.PF0f18d67c
|
||||
/* f18d674: 00000000 */ nop
|
||||
/* f18d678: 0007000d */ break 0x7
|
||||
.PF0f18d67c:
|
||||
/* f18d67c: 5a80000d */ blezl $s4,.PF0f18d6b4
|
||||
/* f18d680: 2401ffff */ li $at,-1
|
||||
.PF0f18d684:
|
||||
/* f18d684: 0fc634d5 */ jal mpIsMultiTrackSlotEnabled
|
||||
/* f18d688: 02002025 */ move $a0,$s0
|
||||
/* f18d68c: 50400006 */ beqzl $v0,.PF0f18d6a8
|
||||
/* f18d690: 26100001 */ addiu $s0,$s0,0x1
|
||||
/* f18d694: 56510003 */ bnel $s2,$s1,.PF0f18d6a4
|
||||
/* f18d698: 26310001 */ addiu $s1,$s1,0x1
|
||||
/* f18d69c: 02009825 */ move $s3,$s0
|
||||
/* f18d6a0: 26310001 */ addiu $s1,$s1,0x1
|
||||
.PF0f18d6a4:
|
||||
/* f18d6a4: 26100001 */ addiu $s0,$s0,0x1
|
||||
.PF0f18d6a8:
|
||||
/* f18d6a8: 1614fff6 */ bne $s0,$s4,.PF0f18d684
|
||||
/* f18d6ac: 00000000 */ nop
|
||||
/* f18d6b0: 2401ffff */ li $at,-1
|
||||
.PF0f18d6b4:
|
||||
/* f18d6b4: 1661000c */ bne $s3,$at,.PF0f18d6e8
|
||||
/* f18d6b8: 3c038008 */ lui $v1,0x8008
|
||||
/* f18d6bc: 94637fc0 */ lhu $v1,0x7fc0($v1)
|
||||
/* f18d6c0: 3c018008 */ lui $at,0x8008
|
||||
/* f18d6c4: 306801ff */ andi $t0,$v1,0x1ff
|
||||
/* f18d6c8: 00084880 */ sll $t1,$t0,0x2
|
||||
/* f18d6cc: 01284823 */ subu $t1,$t1,$t0
|
||||
/* f18d6d0: 000948c0 */ sll $t1,$t1,0x3
|
||||
/* f18d6d4: 01284821 */ addu $t1,$t1,$t0
|
||||
/* f18d6d8: 00094840 */ sll $t1,$t1,0x1
|
||||
/* f18d6dc: ac294638 */ sw $t1,0x4638($at)
|
||||
/* f18d6e0: 10000055 */ b .PF0f18d838
|
||||
/* f18d6e4: 00031242 */ srl $v0,$v1,0x9
|
||||
.PF0f18d6e8:
|
||||
/* f18d6e8: 0fc6348e */ jal mpGetTrackNumAtSlotIndex
|
||||
/* f18d6ec: 02602025 */ move $a0,$s3
|
||||
/* f18d6f0: 2aa10002 */ slti $at,$s5,0x2
|
||||
/* f18d6f4: 14200004 */ bnez $at,.PF0f18d708
|
||||
/* f18d6f8: 00409825 */ move $s3,$v0
|
||||
/* f18d6fc: 8eca0004 */ lw $t2,0x4($s6)
|
||||
/* f18d700: 504affd6 */ beql $v0,$t2,.PF0f18d65c
|
||||
/* f18d704: 00008025 */ move $s0,$zero
|
||||
.PF0f18d708:
|
||||
/* f18d708: 00135880 */ sll $t3,$s3,0x2
|
||||
/* f18d70c: 01735823 */ subu $t3,$t3,$s3
|
||||
/* f18d710: 000b5840 */ sll $t3,$t3,0x1
|
||||
/* f18d714: 3c038008 */ lui $v1,0x8008
|
||||
/* f18d718: aed30004 */ sw $s3,0x4($s6)
|
||||
/* f18d71c: 006b1821 */ addu $v1,$v1,$t3
|
||||
/* f18d720: 94637fc0 */ lhu $v1,0x7fc0($v1)
|
||||
/* f18d724: 3c018008 */ lui $at,0x8008
|
||||
/* f18d728: 306c01ff */ andi $t4,$v1,0x1ff
|
||||
/* f18d72c: 000c6880 */ sll $t5,$t4,0x2
|
||||
/* f18d730: 01ac6823 */ subu $t5,$t5,$t4
|
||||
/* f18d734: 000d68c0 */ sll $t5,$t5,0x3
|
||||
/* f18d738: 01ac6821 */ addu $t5,$t5,$t4
|
||||
/* f18d73c: 000d6840 */ sll $t5,$t5,0x1
|
||||
/* f18d740: ac2d4638 */ sw $t5,0x4638($at)
|
||||
/* f18d744: 1000003c */ b .PF0f18d838
|
||||
/* f18d748: 00031242 */ srl $v0,$v1,0x9
|
||||
.PF0f18d74c:
|
||||
/* f18d74c: 0fc6354b */ jal mpGetCurrentTrackSlotNum
|
||||
/* f18d750: 00000000 */ nop
|
||||
/* f18d754: 04410024 */ bgez $v0,.PF0f18d7e8
|
||||
/* f18d758: 00409825 */ move $s3,$v0
|
||||
/* f18d75c: 0fc634a9 */ jal mpGetNumUnlockedTracks
|
||||
/* f18d760: 00000000 */ nop
|
||||
/* f18d764: 3c16800b */ lui $s6,0x800b
|
||||
/* f18d768: 00408025 */ move $s0,$v0
|
||||
/* f18d76c: 26d6d1c0 */ addiu $s6,$s6,-11840
|
||||
.PF0f18d770:
|
||||
/* f18d770: 0c004ad4 */ jal random
|
||||
/* f18d774: 00000000 */ nop
|
||||
/* f18d778: 0050001b */ divu $zero,$v0,$s0
|
||||
/* f18d77c: 00002010 */ mfhi $a0
|
||||
/* f18d780: 16000002 */ bnez $s0,.PF0f18d78c
|
||||
/* f18d784: 00000000 */ nop
|
||||
/* f18d788: 0007000d */ break 0x7
|
||||
.PF0f18d78c:
|
||||
/* f18d78c: 0fc6348e */ jal mpGetTrackNumAtSlotIndex
|
||||
/* f18d790: 00000000 */ nop
|
||||
/* f18d794: 8ece0004 */ lw $t6,0x4($s6)
|
||||
/* f18d798: 00409825 */ move $s3,$v0
|
||||
/* f18d79c: 104efff4 */ beq $v0,$t6,.PF0f18d770
|
||||
/* f18d7a0: 00000000 */ nop
|
||||
/* f18d7a4: 00027880 */ sll $t7,$v0,0x2
|
||||
/* f18d7a8: 01e27823 */ subu $t7,$t7,$v0
|
||||
/* f18d7ac: 000f7840 */ sll $t7,$t7,0x1
|
||||
/* f18d7b0: 3c038008 */ lui $v1,0x8008
|
||||
/* f18d7b4: aec20004 */ sw $v0,0x4($s6)
|
||||
/* f18d7b8: 006f1821 */ addu $v1,$v1,$t7
|
||||
/* f18d7bc: 94637fc0 */ lhu $v1,0x7fc0($v1)
|
||||
/* f18d7c0: 3c018008 */ lui $at,0x8008
|
||||
/* f18d7c4: 307801ff */ andi $t8,$v1,0x1ff
|
||||
/* f18d7c8: 0018c880 */ sll $t9,$t8,0x2
|
||||
/* f18d7cc: 0338c823 */ subu $t9,$t9,$t8
|
||||
/* f18d7d0: 0019c8c0 */ sll $t9,$t9,0x3
|
||||
/* f18d7d4: 0338c821 */ addu $t9,$t9,$t8
|
||||
/* f18d7d8: 0019c840 */ sll $t9,$t9,0x1
|
||||
/* f18d7dc: ac394638 */ sw $t9,0x4638($at)
|
||||
/* f18d7e0: 10000015 */ b .PF0f18d838
|
||||
/* f18d7e4: 00031242 */ srl $v0,$v1,0x9
|
||||
.PF0f18d7e8:
|
||||
/* f18d7e8: 0fc6348e */ jal mpGetTrackNumAtSlotIndex
|
||||
/* f18d7ec: 02602025 */ move $a0,$s3
|
||||
/* f18d7f0: 00024080 */ sll $t0,$v0,0x2
|
||||
/* f18d7f4: 3c16800b */ lui $s6,0x800b
|
||||
/* f18d7f8: 01024023 */ subu $t0,$t0,$v0
|
||||
/* f18d7fc: 26d6d1c0 */ addiu $s6,$s6,-11840
|
||||
/* f18d800: 00084040 */ sll $t0,$t0,0x1
|
||||
/* f18d804: 3c038008 */ lui $v1,0x8008
|
||||
/* f18d808: aec20004 */ sw $v0,0x4($s6)
|
||||
/* f18d80c: 00681821 */ addu $v1,$v1,$t0
|
||||
/* f18d810: 94637fc0 */ lhu $v1,0x7fc0($v1)
|
||||
/* f18d814: 3c018008 */ lui $at,0x8008
|
||||
/* f18d818: 306901ff */ andi $t1,$v1,0x1ff
|
||||
/* f18d81c: 00095080 */ sll $t2,$t1,0x2
|
||||
/* f18d820: 01495023 */ subu $t2,$t2,$t1
|
||||
/* f18d824: 000a50c0 */ sll $t2,$t2,0x3
|
||||
/* f18d828: 01495021 */ addu $t2,$t2,$t1
|
||||
/* f18d82c: 000a5040 */ sll $t2,$t2,0x1
|
||||
/* f18d830: ac2a4638 */ sw $t2,0x4638($at)
|
||||
/* f18d834: 00031242 */ srl $v0,$v1,0x9
|
||||
.PF0f18d838:
|
||||
/* f18d838: 8fbf0034 */ lw $ra,0x34($sp)
|
||||
/* f18d83c: 8fb00018 */ lw $s0,0x18($sp)
|
||||
/* f18d840: 8fb1001c */ lw $s1,0x1c($sp)
|
||||
/* f18d844: 8fb20020 */ lw $s2,0x20($sp)
|
||||
/* f18d848: 8fb30024 */ lw $s3,0x24($sp)
|
||||
/* f18d84c: 8fb40028 */ lw $s4,0x28($sp)
|
||||
/* f18d850: 8fb5002c */ lw $s5,0x2c($sp)
|
||||
/* f18d854: 8fb60030 */ lw $s6,0x30($sp)
|
||||
/* f18d858: 03e00008 */ jr $ra
|
||||
/* f18d85c: 27bd0038 */ addiu $sp,$sp,0x38
|
||||
);
|
||||
#elif VERSION == VERSION_PAL_BETA
|
||||
GLOBAL_ASM(
|
||||
glabel mpChooseTrack
|
||||
/* f18e064: 27bdffc8 */ addiu $sp,$sp,-56
|
||||
/* f18e068: afbf0034 */ sw $ra,0x34($sp)
|
||||
/* f18e06c: afb60030 */ sw $s6,0x30($sp)
|
||||
/* f18e070: afb5002c */ sw $s5,0x2c($sp)
|
||||
/* f18e074: afb40028 */ sw $s4,0x28($sp)
|
||||
/* f18e078: afb30024 */ sw $s3,0x24($sp)
|
||||
/* f18e07c: afb20020 */ sw $s2,0x20($sp)
|
||||
/* f18e080: afb1001c */ sw $s1,0x1c($sp)
|
||||
/* f18e084: 0fc63792 */ jal mpGetUsingMultipleTunes
|
||||
/* f18e088: afb00018 */ sw $s0,0x18($sp)
|
||||
/* f18e08c: 1040006f */ beqz $v0,.PB0f18e24c
|
||||
/* f18e090: 00000000 */ nop
|
||||
/* f18e094: 0fc63769 */ jal mpGetNumUnlockedTracks
|
||||
/* f18e098: 00000000 */ nop
|
||||
/* f18e09c: 0040a025 */ move $s4,$v0
|
||||
/* f18e0a0: 0000a825 */ move $s5,$zero
|
||||
/* f18e0a4: 18400009 */ blez $v0,.PB0f18e0cc
|
||||
/* f18e0a8: 00008025 */ move $s0,$zero
|
||||
.PB0f18e0ac:
|
||||
/* f18e0ac: 0fc63795 */ jal mpIsMultiTrackSlotEnabled
|
||||
/* f18e0b0: 02002025 */ move $a0,$s0
|
||||
/* f18e0b4: 10400002 */ beqz $v0,.PB0f18e0c0
|
||||
/* f18e0b8: 26100001 */ addiu $s0,$s0,0x1
|
||||
/* f18e0bc: 26b50001 */ addiu $s5,$s5,0x1
|
||||
.PB0f18e0c0:
|
||||
/* f18e0c0: 0214082a */ slt $at,$s0,$s4
|
||||
/* f18e0c4: 1420fff9 */ bnez $at,.PB0f18e0ac
|
||||
/* f18e0c8: 00000000 */ nop
|
||||
.PB0f18e0cc:
|
||||
/* f18e0cc: 16a00020 */ bnez $s5,.PB0f18e150
|
||||
/* f18e0d0: 3c16800b */ lui $s6,0x800b
|
||||
/* f18e0d4: 26d61240 */ addiu $s6,$s6,0x1240
|
||||
.PB0f18e0d8:
|
||||
/* f18e0d8: 0c004be0 */ jal random
|
||||
/* f18e0dc: 00000000 */ nop
|
||||
/* f18e0e0: 0054001b */ divu $zero,$v0,$s4
|
||||
/* f18e0e4: 00002010 */ mfhi $a0
|
||||
/* f18e0e8: 16800002 */ bnez $s4,.PB0f18e0f4
|
||||
/* f18e0ec: 00000000 */ nop
|
||||
/* f18e0f0: 0007000d */ break 0x7
|
||||
.PB0f18e0f4:
|
||||
/* f18e0f4: 0fc6374e */ jal mpGetTrackNumAtSlotIndex
|
||||
/* f18e0f8: 00000000 */ nop
|
||||
/* f18e0fc: 8ece0004 */ lw $t6,0x4($s6)
|
||||
/* f18e100: 00409825 */ move $s3,$v0
|
||||
/* f18e104: 104efff4 */ beq $v0,$t6,.PB0f18e0d8
|
||||
/* f18e108: 00000000 */ nop
|
||||
/* f18e10c: 00027880 */ sll $t7,$v0,0x2
|
||||
/* f18e110: 01e27823 */ subu $t7,$t7,$v0
|
||||
/* f18e114: 000f7840 */ sll $t7,$t7,0x1
|
||||
/* f18e118: 3c038009 */ lui $v1,0x8009
|
||||
/* f18e11c: aec20004 */ sw $v0,0x4($s6)
|
||||
/* f18e120: 006f1821 */ addu $v1,$v1,$t7
|
||||
/* f18e124: 94639f50 */ lhu $v1,-0x60b0($v1)
|
||||
/* f18e128: 3c018008 */ lui $at,0x8008
|
||||
/* f18e12c: 307801ff */ andi $t8,$v1,0x1ff
|
||||
/* f18e130: 0018c880 */ sll $t9,$t8,0x2
|
||||
/* f18e134: 0338c823 */ subu $t9,$t9,$t8
|
||||
/* f18e138: 0019c8c0 */ sll $t9,$t9,0x3
|
||||
/* f18e13c: 0338c821 */ addu $t9,$t9,$t8
|
||||
/* f18e140: 0019c840 */ sll $t9,$t9,0x1
|
||||
/* f18e144: ac3965c8 */ sw $t9,0x65c8($at)
|
||||
/* f18e148: 1000007b */ b .PB0f18e338
|
||||
/* f18e14c: 00031242 */ srl $v0,$v1,0x9
|
||||
.PB0f18e150:
|
||||
/* f18e150: 3c16800b */ lui $s6,0x800b
|
||||
/* f18e154: 26d61240 */ addiu $s6,$s6,0x1240
|
||||
/* f18e158: 00008025 */ move $s0,$zero
|
||||
.PB0f18e15c:
|
||||
/* f18e15c: 0c004be0 */ jal random
|
||||
/* f18e160: 00008825 */ move $s1,$zero
|
||||
/* f18e164: 0055001b */ divu $zero,$v0,$s5
|
||||
/* f18e168: 00009010 */ mfhi $s2
|
||||
/* f18e16c: 2413ffff */ li $s3,-1
|
||||
/* f18e170: 16a00002 */ bnez $s5,.PB0f18e17c
|
||||
/* f18e174: 00000000 */ nop
|
||||
/* f18e178: 0007000d */ break 0x7
|
||||
.PB0f18e17c:
|
||||
/* f18e17c: 5a80000d */ blezl $s4,.PB0f18e1b4
|
||||
/* f18e180: 2401ffff */ li $at,-1
|
||||
.PB0f18e184:
|
||||
/* f18e184: 0fc63795 */ jal mpIsMultiTrackSlotEnabled
|
||||
/* f18e188: 02002025 */ move $a0,$s0
|
||||
/* f18e18c: 50400006 */ beqzl $v0,.PB0f18e1a8
|
||||
/* f18e190: 26100001 */ addiu $s0,$s0,0x1
|
||||
/* f18e194: 56510003 */ bnel $s2,$s1,.PB0f18e1a4
|
||||
/* f18e198: 26310001 */ addiu $s1,$s1,0x1
|
||||
/* f18e19c: 02009825 */ move $s3,$s0
|
||||
/* f18e1a0: 26310001 */ addiu $s1,$s1,0x1
|
||||
.PB0f18e1a4:
|
||||
/* f18e1a4: 26100001 */ addiu $s0,$s0,0x1
|
||||
.PB0f18e1a8:
|
||||
/* f18e1a8: 1614fff6 */ bne $s0,$s4,.PB0f18e184
|
||||
/* f18e1ac: 00000000 */ nop
|
||||
/* f18e1b0: 2401ffff */ li $at,-1
|
||||
.PB0f18e1b4:
|
||||
/* f18e1b4: 1661000c */ bne $s3,$at,.PB0f18e1e8
|
||||
/* f18e1b8: 3c038009 */ lui $v1,0x8009
|
||||
/* f18e1bc: 94639f50 */ lhu $v1,-0x60b0($v1)
|
||||
/* f18e1c0: 3c018008 */ lui $at,0x8008
|
||||
/* f18e1c4: 306801ff */ andi $t0,$v1,0x1ff
|
||||
/* f18e1c8: 00084880 */ sll $t1,$t0,0x2
|
||||
/* f18e1cc: 01284823 */ subu $t1,$t1,$t0
|
||||
/* f18e1d0: 000948c0 */ sll $t1,$t1,0x3
|
||||
/* f18e1d4: 01284821 */ addu $t1,$t1,$t0
|
||||
/* f18e1d8: 00094840 */ sll $t1,$t1,0x1
|
||||
/* f18e1dc: ac2965c8 */ sw $t1,0x65c8($at)
|
||||
/* f18e1e0: 10000055 */ b .PB0f18e338
|
||||
/* f18e1e4: 00031242 */ srl $v0,$v1,0x9
|
||||
.PB0f18e1e8:
|
||||
/* f18e1e8: 0fc6374e */ jal mpGetTrackNumAtSlotIndex
|
||||
/* f18e1ec: 02602025 */ move $a0,$s3
|
||||
/* f18e1f0: 2aa10002 */ slti $at,$s5,0x2
|
||||
/* f18e1f4: 14200004 */ bnez $at,.PB0f18e208
|
||||
/* f18e1f8: 00409825 */ move $s3,$v0
|
||||
/* f18e1fc: 8eca0004 */ lw $t2,0x4($s6)
|
||||
/* f18e200: 504affd6 */ beql $v0,$t2,.PB0f18e15c
|
||||
/* f18e204: 00008025 */ move $s0,$zero
|
||||
.PB0f18e208:
|
||||
/* f18e208: 00135880 */ sll $t3,$s3,0x2
|
||||
/* f18e20c: 01735823 */ subu $t3,$t3,$s3
|
||||
/* f18e210: 000b5840 */ sll $t3,$t3,0x1
|
||||
/* f18e214: 3c038009 */ lui $v1,0x8009
|
||||
/* f18e218: aed30004 */ sw $s3,0x4($s6)
|
||||
/* f18e21c: 006b1821 */ addu $v1,$v1,$t3
|
||||
/* f18e220: 94639f50 */ lhu $v1,-0x60b0($v1)
|
||||
/* f18e224: 3c018008 */ lui $at,0x8008
|
||||
/* f18e228: 306c01ff */ andi $t4,$v1,0x1ff
|
||||
/* f18e22c: 000c6880 */ sll $t5,$t4,0x2
|
||||
/* f18e230: 01ac6823 */ subu $t5,$t5,$t4
|
||||
/* f18e234: 000d68c0 */ sll $t5,$t5,0x3
|
||||
/* f18e238: 01ac6821 */ addu $t5,$t5,$t4
|
||||
/* f18e23c: 000d6840 */ sll $t5,$t5,0x1
|
||||
/* f18e240: ac2d65c8 */ sw $t5,0x65c8($at)
|
||||
/* f18e244: 1000003c */ b .PB0f18e338
|
||||
/* f18e248: 00031242 */ srl $v0,$v1,0x9
|
||||
.PB0f18e24c:
|
||||
/* f18e24c: 0fc6380b */ jal mpGetCurrentTrackSlotNum
|
||||
/* f18e250: 00000000 */ nop
|
||||
/* f18e254: 04410024 */ bgez $v0,.PB0f18e2e8
|
||||
/* f18e258: 00409825 */ move $s3,$v0
|
||||
/* f18e25c: 0fc63769 */ jal mpGetNumUnlockedTracks
|
||||
/* f18e260: 00000000 */ nop
|
||||
/* f18e264: 3c16800b */ lui $s6,0x800b
|
||||
/* f18e268: 00408025 */ move $s0,$v0
|
||||
/* f18e26c: 26d61240 */ addiu $s6,$s6,0x1240
|
||||
.PB0f18e270:
|
||||
/* f18e270: 0c004be0 */ jal random
|
||||
/* f18e274: 00000000 */ nop
|
||||
/* f18e278: 0050001b */ divu $zero,$v0,$s0
|
||||
/* f18e27c: 00002010 */ mfhi $a0
|
||||
/* f18e280: 16000002 */ bnez $s0,.PB0f18e28c
|
||||
/* f18e284: 00000000 */ nop
|
||||
/* f18e288: 0007000d */ break 0x7
|
||||
.PB0f18e28c:
|
||||
/* f18e28c: 0fc6374e */ jal mpGetTrackNumAtSlotIndex
|
||||
/* f18e290: 00000000 */ nop
|
||||
/* f18e294: 8ece0004 */ lw $t6,0x4($s6)
|
||||
/* f18e298: 00409825 */ move $s3,$v0
|
||||
/* f18e29c: 104efff4 */ beq $v0,$t6,.PB0f18e270
|
||||
/* f18e2a0: 00000000 */ nop
|
||||
/* f18e2a4: 00027880 */ sll $t7,$v0,0x2
|
||||
/* f18e2a8: 01e27823 */ subu $t7,$t7,$v0
|
||||
/* f18e2ac: 000f7840 */ sll $t7,$t7,0x1
|
||||
/* f18e2b0: 3c038009 */ lui $v1,0x8009
|
||||
/* f18e2b4: aec20004 */ sw $v0,0x4($s6)
|
||||
/* f18e2b8: 006f1821 */ addu $v1,$v1,$t7
|
||||
/* f18e2bc: 94639f50 */ lhu $v1,-0x60b0($v1)
|
||||
/* f18e2c0: 3c018008 */ lui $at,0x8008
|
||||
/* f18e2c4: 307801ff */ andi $t8,$v1,0x1ff
|
||||
/* f18e2c8: 0018c880 */ sll $t9,$t8,0x2
|
||||
/* f18e2cc: 0338c823 */ subu $t9,$t9,$t8
|
||||
/* f18e2d0: 0019c8c0 */ sll $t9,$t9,0x3
|
||||
/* f18e2d4: 0338c821 */ addu $t9,$t9,$t8
|
||||
/* f18e2d8: 0019c840 */ sll $t9,$t9,0x1
|
||||
/* f18e2dc: ac3965c8 */ sw $t9,0x65c8($at)
|
||||
/* f18e2e0: 10000015 */ b .PB0f18e338
|
||||
/* f18e2e4: 00031242 */ srl $v0,$v1,0x9
|
||||
.PB0f18e2e8:
|
||||
/* f18e2e8: 0fc6374e */ jal mpGetTrackNumAtSlotIndex
|
||||
/* f18e2ec: 02602025 */ move $a0,$s3
|
||||
/* f18e2f0: 00024080 */ sll $t0,$v0,0x2
|
||||
/* f18e2f4: 3c16800b */ lui $s6,0x800b
|
||||
/* f18e2f8: 01024023 */ subu $t0,$t0,$v0
|
||||
/* f18e2fc: 26d61240 */ addiu $s6,$s6,0x1240
|
||||
/* f18e300: 00084040 */ sll $t0,$t0,0x1
|
||||
/* f18e304: 3c038009 */ lui $v1,0x8009
|
||||
/* f18e308: aec20004 */ sw $v0,0x4($s6)
|
||||
/* f18e30c: 00681821 */ addu $v1,$v1,$t0
|
||||
/* f18e310: 94639f50 */ lhu $v1,-0x60b0($v1)
|
||||
/* f18e314: 3c018008 */ lui $at,0x8008
|
||||
/* f18e318: 306901ff */ andi $t1,$v1,0x1ff
|
||||
/* f18e31c: 00095080 */ sll $t2,$t1,0x2
|
||||
/* f18e320: 01495023 */ subu $t2,$t2,$t1
|
||||
/* f18e324: 000a50c0 */ sll $t2,$t2,0x3
|
||||
/* f18e328: 01495021 */ addu $t2,$t2,$t1
|
||||
/* f18e32c: 000a5040 */ sll $t2,$t2,0x1
|
||||
/* f18e330: ac2a65c8 */ sw $t2,0x65c8($at)
|
||||
/* f18e334: 00031242 */ srl $v0,$v1,0x9
|
||||
.PB0f18e338:
|
||||
/* f18e338: 8fbf0034 */ lw $ra,0x34($sp)
|
||||
/* f18e33c: 8fb00018 */ lw $s0,0x18($sp)
|
||||
/* f18e340: 8fb1001c */ lw $s1,0x1c($sp)
|
||||
/* f18e344: 8fb20020 */ lw $s2,0x20($sp)
|
||||
/* f18e348: 8fb30024 */ lw $s3,0x24($sp)
|
||||
/* f18e34c: 8fb40028 */ lw $s4,0x28($sp)
|
||||
/* f18e350: 8fb5002c */ lw $s5,0x2c($sp)
|
||||
/* f18e354: 8fb60030 */ lw $s6,0x30($sp)
|
||||
/* f18e358: 03e00008 */ jr $ra
|
||||
/* f18e35c: 27bd0038 */ addiu $sp,$sp,0x38
|
||||
);
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
glabel mpChooseTrack
|
||||
/* f18c4c0: 27bdffc8 */ addiu $sp,$sp,-56
|
||||
/* f18c4c4: afbf0034 */ sw $ra,0x34($sp)
|
||||
/* f18c4c8: afb60030 */ sw $s6,0x30($sp)
|
||||
/* f18c4cc: afb5002c */ sw $s5,0x2c($sp)
|
||||
/* f18c4d0: afb40028 */ sw $s4,0x28($sp)
|
||||
/* f18c4d4: afb30024 */ sw $s3,0x24($sp)
|
||||
/* f18c4d8: afb20020 */ sw $s2,0x20($sp)
|
||||
/* f18c4dc: afb1001c */ sw $s1,0x1c($sp)
|
||||
/* f18c4e0: 0fc630a9 */ jal mpGetUsingMultipleTunes
|
||||
/* f18c4e4: afb00018 */ sw $s0,0x18($sp)
|
||||
/* f18c4e8: 10400069 */ beqz $v0,.L0f18c690
|
||||
/* f18c4ec: 00000000 */ nop
|
||||
/* f18c4f0: 0fc63080 */ jal mpGetNumUnlockedTracks
|
||||
/* f18c4f4: 00000000 */ nop
|
||||
/* f18c4f8: 0040a025 */ or $s4,$v0,$zero
|
||||
/* f18c4fc: 0000a825 */ or $s5,$zero,$zero
|
||||
/* f18c500: 18400009 */ blez $v0,.L0f18c528
|
||||
/* f18c504: 00008025 */ or $s0,$zero,$zero
|
||||
.L0f18c508:
|
||||
/* f18c508: 0fc630ac */ jal mpIsMultiTrackSlotEnabled
|
||||
/* f18c50c: 02002025 */ or $a0,$s0,$zero
|
||||
/* f18c510: 10400002 */ beqz $v0,.L0f18c51c
|
||||
/* f18c514: 26100001 */ addiu $s0,$s0,0x1
|
||||
/* f18c518: 26b50001 */ addiu $s5,$s5,0x1
|
||||
.L0f18c51c:
|
||||
/* f18c51c: 0214082a */ slt $at,$s0,$s4
|
||||
/* f18c520: 1420fff9 */ bnez $at,.L0f18c508
|
||||
/* f18c524: 00000000 */ nop
|
||||
.L0f18c528:
|
||||
/* f18c528: 16a0001e */ bnez $s5,.L0f18c5a4
|
||||
/* f18c52c: 3c16800b */ lui $s6,%hi(g_MpLockInfo)
|
||||
/* f18c530: 26d6cc20 */ addiu $s6,$s6,%lo(g_MpLockInfo)
|
||||
.L0f18c534:
|
||||
/* f18c534: 0c004b70 */ jal random
|
||||
/* f18c538: 00000000 */ nop
|
||||
/* f18c53c: 0054001b */ divu $zero,$v0,$s4
|
||||
/* f18c540: 00002010 */ mfhi $a0
|
||||
/* f18c544: 16800002 */ bnez $s4,.L0f18c550
|
||||
/* f18c548: 00000000 */ nop
|
||||
/* f18c54c: 0007000d */ break 0x7
|
||||
.L0f18c550:
|
||||
/* f18c550: 0fc63065 */ jal mpGetTrackNumAtSlotIndex
|
||||
/* f18c554: 00000000 */ nop
|
||||
/* f18c558: 8ece0004 */ lw $t6,0x4($s6)
|
||||
/* f18c55c: 00409825 */ or $s3,$v0,$zero
|
||||
/* f18c560: 104efff4 */ beq $v0,$t6,.L0f18c534
|
||||
/* f18c564: 00000000 */ nop
|
||||
/* f18c568: 00027880 */ sll $t7,$v0,0x2
|
||||
/* f18c56c: 01e27823 */ subu $t7,$t7,$v0
|
||||
/* f18c570: 000f7840 */ sll $t7,$t7,0x1
|
||||
/* f18c574: 3c038008 */ lui $v1,%hi(g_MpTracks)
|
||||
/* f18c578: aec20004 */ sw $v0,0x4($s6)
|
||||
/* f18c57c: 006f1821 */ addu $v1,$v1,$t7
|
||||
/* f18c580: 94637a70 */ lhu $v1,%lo(g_MpTracks)($v1)
|
||||
/* f18c584: 3c018008 */ lui $at,%hi(g_MusicLife60)
|
||||
/* f18c588: 307801ff */ andi $t8,$v1,0x1ff
|
||||
/* f18c58c: 0018c900 */ sll $t9,$t8,0x4
|
||||
/* f18c590: 0338c823 */ subu $t9,$t9,$t8
|
||||
/* f18c594: 0019c880 */ sll $t9,$t9,0x2
|
||||
/* f18c598: ac3940f8 */ sw $t9,%lo(g_MusicLife60)($at)
|
||||
/* f18c59c: 10000073 */ b .L0f18c76c
|
||||
/* f18c5a0: 00031242 */ srl $v0,$v1,0x9
|
||||
.L0f18c5a4:
|
||||
/* f18c5a4: 3c16800b */ lui $s6,%hi(g_MpLockInfo)
|
||||
/* f18c5a8: 26d6cc20 */ addiu $s6,$s6,%lo(g_MpLockInfo)
|
||||
/* f18c5ac: 00008025 */ or $s0,$zero,$zero
|
||||
.L0f18c5b0:
|
||||
/* f18c5b0: 0c004b70 */ jal random
|
||||
/* f18c5b4: 00008825 */ or $s1,$zero,$zero
|
||||
/* f18c5b8: 0055001b */ divu $zero,$v0,$s5
|
||||
/* f18c5bc: 00009010 */ mfhi $s2
|
||||
/* f18c5c0: 2413ffff */ addiu $s3,$zero,-1
|
||||
/* f18c5c4: 16a00002 */ bnez $s5,.L0f18c5d0
|
||||
/* f18c5c8: 00000000 */ nop
|
||||
/* f18c5cc: 0007000d */ break 0x7
|
||||
.L0f18c5d0:
|
||||
/* f18c5d0: 5a80000d */ blezl $s4,.L0f18c608
|
||||
/* f18c5d4: 2401ffff */ addiu $at,$zero,-1
|
||||
.L0f18c5d8:
|
||||
/* f18c5d8: 0fc630ac */ jal mpIsMultiTrackSlotEnabled
|
||||
/* f18c5dc: 02002025 */ or $a0,$s0,$zero
|
||||
/* f18c5e0: 50400006 */ beqzl $v0,.L0f18c5fc
|
||||
/* f18c5e4: 26100001 */ addiu $s0,$s0,0x1
|
||||
/* f18c5e8: 56510003 */ bnel $s2,$s1,.L0f18c5f8
|
||||
/* f18c5ec: 26310001 */ addiu $s1,$s1,0x1
|
||||
/* f18c5f0: 02009825 */ or $s3,$s0,$zero
|
||||
/* f18c5f4: 26310001 */ addiu $s1,$s1,0x1
|
||||
.L0f18c5f8:
|
||||
/* f18c5f8: 26100001 */ addiu $s0,$s0,0x1
|
||||
.L0f18c5fc:
|
||||
/* f18c5fc: 1614fff6 */ bne $s0,$s4,.L0f18c5d8
|
||||
/* f18c600: 00000000 */ nop
|
||||
/* f18c604: 2401ffff */ addiu $at,$zero,-1
|
||||
.L0f18c608:
|
||||
/* f18c608: 1661000a */ bne $s3,$at,.L0f18c634
|
||||
/* f18c60c: 3c038008 */ lui $v1,%hi(g_MpTracks)
|
||||
/* f18c610: 94637a70 */ lhu $v1,%lo(g_MpTracks)($v1)
|
||||
/* f18c614: 3c018008 */ lui $at,%hi(g_MusicLife60)
|
||||
/* f18c618: 306801ff */ andi $t0,$v1,0x1ff
|
||||
/* f18c61c: 00084900 */ sll $t1,$t0,0x4
|
||||
/* f18c620: 01284823 */ subu $t1,$t1,$t0
|
||||
/* f18c624: 00094880 */ sll $t1,$t1,0x2
|
||||
/* f18c628: ac2940f8 */ sw $t1,%lo(g_MusicLife60)($at)
|
||||
/* f18c62c: 1000004f */ b .L0f18c76c
|
||||
/* f18c630: 00031242 */ srl $v0,$v1,0x9
|
||||
.L0f18c634:
|
||||
/* f18c634: 0fc63065 */ jal mpGetTrackNumAtSlotIndex
|
||||
/* f18c638: 02602025 */ or $a0,$s3,$zero
|
||||
/* f18c63c: 2aa10002 */ slti $at,$s5,0x2
|
||||
/* f18c640: 14200004 */ bnez $at,.L0f18c654
|
||||
/* f18c644: 00409825 */ or $s3,$v0,$zero
|
||||
/* f18c648: 8eca0004 */ lw $t2,0x4($s6)
|
||||
/* f18c64c: 504affd8 */ beql $v0,$t2,.L0f18c5b0
|
||||
/* f18c650: 00008025 */ or $s0,$zero,$zero
|
||||
.L0f18c654:
|
||||
/* f18c654: 00135880 */ sll $t3,$s3,0x2
|
||||
/* f18c658: 01735823 */ subu $t3,$t3,$s3
|
||||
/* f18c65c: 000b5840 */ sll $t3,$t3,0x1
|
||||
/* f18c660: 3c038008 */ lui $v1,%hi(g_MpTracks)
|
||||
/* f18c664: aed30004 */ sw $s3,0x4($s6)
|
||||
/* f18c668: 006b1821 */ addu $v1,$v1,$t3
|
||||
/* f18c66c: 94637a70 */ lhu $v1,%lo(g_MpTracks)($v1)
|
||||
/* f18c670: 3c018008 */ lui $at,%hi(g_MusicLife60)
|
||||
/* f18c674: 306c01ff */ andi $t4,$v1,0x1ff
|
||||
/* f18c678: 000c6900 */ sll $t5,$t4,0x4
|
||||
/* f18c67c: 01ac6823 */ subu $t5,$t5,$t4
|
||||
/* f18c680: 000d6880 */ sll $t5,$t5,0x2
|
||||
/* f18c684: ac2d40f8 */ sw $t5,%lo(g_MusicLife60)($at)
|
||||
/* f18c688: 10000038 */ b .L0f18c76c
|
||||
/* f18c68c: 00031242 */ srl $v0,$v1,0x9
|
||||
.L0f18c690:
|
||||
/* f18c690: 0fc63122 */ jal mpGetCurrentTrackSlotNum
|
||||
/* f18c694: 00000000 */ nop
|
||||
/* f18c698: 04410022 */ bgez $v0,.L0f18c724
|
||||
/* f18c69c: 00409825 */ or $s3,$v0,$zero
|
||||
/* f18c6a0: 0fc63080 */ jal mpGetNumUnlockedTracks
|
||||
/* f18c6a4: 00000000 */ nop
|
||||
/* f18c6a8: 3c16800b */ lui $s6,%hi(g_MpLockInfo)
|
||||
/* f18c6ac: 00408025 */ or $s0,$v0,$zero
|
||||
/* f18c6b0: 26d6cc20 */ addiu $s6,$s6,%lo(g_MpLockInfo)
|
||||
.L0f18c6b4:
|
||||
/* f18c6b4: 0c004b70 */ jal random
|
||||
/* f18c6b8: 00000000 */ nop
|
||||
/* f18c6bc: 0050001b */ divu $zero,$v0,$s0
|
||||
/* f18c6c0: 00002010 */ mfhi $a0
|
||||
/* f18c6c4: 16000002 */ bnez $s0,.L0f18c6d0
|
||||
/* f18c6c8: 00000000 */ nop
|
||||
/* f18c6cc: 0007000d */ break 0x7
|
||||
.L0f18c6d0:
|
||||
/* f18c6d0: 0fc63065 */ jal mpGetTrackNumAtSlotIndex
|
||||
/* f18c6d4: 00000000 */ nop
|
||||
/* f18c6d8: 8ece0004 */ lw $t6,0x4($s6)
|
||||
/* f18c6dc: 00409825 */ or $s3,$v0,$zero
|
||||
/* f18c6e0: 104efff4 */ beq $v0,$t6,.L0f18c6b4
|
||||
/* f18c6e4: 00000000 */ nop
|
||||
/* f18c6e8: 00027880 */ sll $t7,$v0,0x2
|
||||
/* f18c6ec: 01e27823 */ subu $t7,$t7,$v0
|
||||
/* f18c6f0: 000f7840 */ sll $t7,$t7,0x1
|
||||
/* f18c6f4: 3c038008 */ lui $v1,%hi(g_MpTracks)
|
||||
/* f18c6f8: aec20004 */ sw $v0,0x4($s6)
|
||||
/* f18c6fc: 006f1821 */ addu $v1,$v1,$t7
|
||||
/* f18c700: 94637a70 */ lhu $v1,%lo(g_MpTracks)($v1)
|
||||
/* f18c704: 3c018008 */ lui $at,%hi(g_MusicLife60)
|
||||
/* f18c708: 307801ff */ andi $t8,$v1,0x1ff
|
||||
/* f18c70c: 0018c900 */ sll $t9,$t8,0x4
|
||||
/* f18c710: 0338c823 */ subu $t9,$t9,$t8
|
||||
/* f18c714: 0019c880 */ sll $t9,$t9,0x2
|
||||
/* f18c718: ac3940f8 */ sw $t9,%lo(g_MusicLife60)($at)
|
||||
/* f18c71c: 10000013 */ b .L0f18c76c
|
||||
/* f18c720: 00031242 */ srl $v0,$v1,0x9
|
||||
.L0f18c724:
|
||||
/* f18c724: 0fc63065 */ jal mpGetTrackNumAtSlotIndex
|
||||
/* f18c728: 02602025 */ or $a0,$s3,$zero
|
||||
/* f18c72c: 00024080 */ sll $t0,$v0,0x2
|
||||
/* f18c730: 3c16800b */ lui $s6,%hi(g_MpLockInfo)
|
||||
/* f18c734: 01024023 */ subu $t0,$t0,$v0
|
||||
/* f18c738: 26d6cc20 */ addiu $s6,$s6,%lo(g_MpLockInfo)
|
||||
/* f18c73c: 00084040 */ sll $t0,$t0,0x1
|
||||
/* f18c740: 3c038008 */ lui $v1,%hi(g_MpTracks)
|
||||
/* f18c744: aec20004 */ sw $v0,0x4($s6)
|
||||
/* f18c748: 00681821 */ addu $v1,$v1,$t0
|
||||
/* f18c74c: 94637a70 */ lhu $v1,%lo(g_MpTracks)($v1)
|
||||
/* f18c750: 3c018008 */ lui $at,%hi(g_MusicLife60)
|
||||
/* f18c754: 306901ff */ andi $t1,$v1,0x1ff
|
||||
/* f18c758: 00095100 */ sll $t2,$t1,0x4
|
||||
/* f18c75c: 01495023 */ subu $t2,$t2,$t1
|
||||
/* f18c760: 000a5080 */ sll $t2,$t2,0x2
|
||||
/* f18c764: ac2a40f8 */ sw $t2,%lo(g_MusicLife60)($at)
|
||||
/* f18c768: 00031242 */ srl $v0,$v1,0x9
|
||||
.L0f18c76c:
|
||||
/* f18c76c: 8fbf0034 */ lw $ra,0x34($sp)
|
||||
/* f18c770: 8fb00018 */ lw $s0,0x18($sp)
|
||||
/* f18c774: 8fb1001c */ lw $s1,0x1c($sp)
|
||||
/* f18c778: 8fb20020 */ lw $s2,0x20($sp)
|
||||
/* f18c77c: 8fb30024 */ lw $s3,0x24($sp)
|
||||
/* f18c780: 8fb40028 */ lw $s4,0x28($sp)
|
||||
/* f18c784: 8fb5002c */ lw $s5,0x2c($sp)
|
||||
/* f18c788: 8fb60030 */ lw $s6,0x30($sp)
|
||||
/* f18c78c: 03e00008 */ jr $ra
|
||||
/* f18c790: 27bd0038 */ addiu $sp,$sp,0x38
|
||||
);
|
||||
#endif
|
||||
s32 mpChooseTrack(void)
|
||||
{
|
||||
s32 i;
|
||||
s32 tracknum;
|
||||
|
||||
// Mismatch: goal uses shifting to calculate the offset into g_MpTracks
|
||||
// while the below uses multu.
|
||||
//s32 mpChooseTrack(void)
|
||||
//{
|
||||
// s32 i;
|
||||
// s32 tracknum;
|
||||
//
|
||||
// if (mpGetUsingMultipleTunes()) {
|
||||
// s32 numunlocked = mpGetNumUnlockedTracks();
|
||||
// s32 numselected = 0;
|
||||
//
|
||||
// // 508
|
||||
// for (i = 0; i < numunlocked; i++) {
|
||||
// if (mpIsMultiTrackSlotEnabled(i)) {
|
||||
// numselected++;
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// // 528
|
||||
// if (numselected == 0) {
|
||||
// do {
|
||||
// tracknum = mpGetTrackNumAtSlotIndex(random() % numunlocked);
|
||||
// } while (tracknum == g_MpLockInfo.unk04);
|
||||
//
|
||||
// // 568
|
||||
// g_MpLockInfo.unk04 = tracknum;
|
||||
// g_MusicLife60 = g_MpTracks[tracknum].duration * TICKS(60);
|
||||
//
|
||||
// return g_MpTracks[tracknum].musicnum;
|
||||
// }
|
||||
//
|
||||
// // 5a4
|
||||
// do {
|
||||
// s32 selectionindex = random() % numselected;
|
||||
// s32 selectioncount = 0;
|
||||
// tracknum = -1; // s3
|
||||
//
|
||||
// // 5d8
|
||||
// for (i = 0; i < numunlocked; i++) {
|
||||
// if (mpIsMultiTrackSlotEnabled(i)) {
|
||||
// if (selectionindex == selectioncount) {
|
||||
// tracknum = i;
|
||||
// }
|
||||
//
|
||||
// selectioncount++;
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// // 608
|
||||
// if (tracknum == -1) {
|
||||
// g_MusicLife60 = g_MpTracks[0].duration * TICKS(60);
|
||||
// return g_MpTracks[0].musicnum;
|
||||
// }
|
||||
//
|
||||
// // 634
|
||||
// tracknum = mpGetTrackNumAtSlotIndex(tracknum);
|
||||
// } while (numselected > 1 && tracknum == g_MpLockInfo.unk04);
|
||||
//
|
||||
// // 654
|
||||
// g_MpLockInfo.unk04 = tracknum;
|
||||
// g_MusicLife60 = g_MpTracks[tracknum].duration * TICKS(60);
|
||||
//
|
||||
// return g_MpTracks[tracknum].musicnum;
|
||||
// }
|
||||
//
|
||||
// // 690
|
||||
// tracknum = mpGetCurrentTrackSlotNum();
|
||||
//
|
||||
// if (tracknum < 0) {
|
||||
// s32 numunlocked = mpGetNumUnlockedTracks();
|
||||
//
|
||||
// do {
|
||||
// tracknum = mpGetTrackNumAtSlotIndex(random() % numunlocked);
|
||||
// } while (tracknum == g_MpLockInfo.unk04);
|
||||
//
|
||||
// g_MpLockInfo.unk04 = tracknum;
|
||||
// g_MusicLife60 = g_MpTracks[tracknum].duration * TICKS(60);
|
||||
// return g_MpTracks[tracknum].musicnum;
|
||||
// }
|
||||
//
|
||||
// tracknum = mpGetTrackNumAtSlotIndex(tracknum);
|
||||
// g_MpLockInfo.unk04 = tracknum;
|
||||
// g_MusicLife60 = g_MpTracks[g_MpLockInfo.unk04].duration * TICKS(60);
|
||||
//
|
||||
// return g_MpTracks[tracknum].musicnum;
|
||||
//}
|
||||
if (mpGetUsingMultipleTunes()) {
|
||||
s32 numunlocked = mpGetNumUnlockedTracks();
|
||||
s32 numselected = 0;
|
||||
|
||||
for (i = 0; i < numunlocked; i++) {
|
||||
if (mpIsMultiTrackSlotEnabled(i)) {
|
||||
numselected++;
|
||||
}
|
||||
}
|
||||
|
||||
if (numselected == 0) {
|
||||
do {
|
||||
tracknum = mpGetTrackNumAtSlotIndex(random() % numunlocked);
|
||||
} while (tracknum == g_MpLockInfo.unk04);
|
||||
|
||||
g_MpLockInfo.unk04 = tracknum;
|
||||
g_MusicLife60 = g_MpTracks[tracknum].duration * TICKS(60);
|
||||
|
||||
return g_MpTracks[tracknum].musicnum;
|
||||
}
|
||||
|
||||
do {
|
||||
s32 selectionindex = random() % numselected;
|
||||
s32 selectioncount = 0;
|
||||
tracknum = -1;
|
||||
|
||||
for (i = 0; i < numunlocked; i++) {
|
||||
if (mpIsMultiTrackSlotEnabled(i)) {
|
||||
if (selectionindex == selectioncount) {
|
||||
tracknum = i;
|
||||
}
|
||||
|
||||
selectioncount++;
|
||||
}
|
||||
}
|
||||
|
||||
if (tracknum == -1) {
|
||||
g_MusicLife60 = g_MpTracks[0].duration * TICKS(60);
|
||||
return g_MpTracks[0].musicnum;
|
||||
}
|
||||
|
||||
tracknum = mpGetTrackNumAtSlotIndex(tracknum);
|
||||
} while (numselected > 1 && tracknum == g_MpLockInfo.unk04);
|
||||
|
||||
g_MpLockInfo.unk04 = tracknum;
|
||||
g_MusicLife60 = g_MpTracks[tracknum].duration * TICKS(60);
|
||||
|
||||
return g_MpTracks[tracknum].musicnum;
|
||||
}
|
||||
|
||||
tracknum = mpGetCurrentTrackSlotNum();
|
||||
|
||||
if (tracknum < 0) {
|
||||
s32 numunlocked = mpGetNumUnlockedTracks();
|
||||
|
||||
do {
|
||||
tracknum = mpGetTrackNumAtSlotIndex(random() % numunlocked);
|
||||
} while (tracknum == g_MpLockInfo.unk04);
|
||||
|
||||
g_MpLockInfo.unk04 = tracknum;
|
||||
g_MusicLife60 = g_MpTracks[tracknum].duration * TICKS(60);
|
||||
return g_MpTracks[tracknum].musicnum;
|
||||
}
|
||||
|
||||
tracknum = mpGetTrackNumAtSlotIndex(tracknum);
|
||||
g_MpLockInfo.unk04 = tracknum;
|
||||
g_MusicLife60 = g_MpTracks[tracknum].duration * TICKS(60);
|
||||
|
||||
return g_MpTracks[tracknum].musicnum;
|
||||
}
|
||||
|
||||
struct mpchrconfig *mpGetChrConfigBySlotNum(s32 slot)
|
||||
{
|
||||
|
|
|
|||
Loading…
Reference in New Issue