diff --git a/src/game/game_179060.c b/src/game/game_179060.c index bac0d6fce..ffc9aa02c 100644 --- a/src/game/game_179060.c +++ b/src/game/game_179060.c @@ -4879,7 +4879,7 @@ glabel var7f1b8228 /* f17de78: 10000039 */ beqz $zero,.L0f17df60 /* f17de7c: ac480458 */ sw $t0,0x458($v0) .L0f17de80: -/* f17de80: 0fc6311e */ jal func0f18c478 +/* f17de80: 0fc6311e */ jal mpSetTrackToRandom /* f17de84: 00000000 */ sll $zero,$zero,0x0 /* f17de88: 3c02800a */ lui $v0,%hi(g_Vars) /* f17de8c: 24429fc0 */ addiu $v0,$v0,%lo(g_Vars) @@ -4896,7 +4896,7 @@ glabel var7f1b8228 /* f17deb8: 10000029 */ beqz $zero,.L0f17df60 /* f17debc: acca0000 */ sw $t2,0x0($a2) .L0f17dec0: -/* f17dec0: 0fc63122 */ jal mpGetTrackNum +/* f17dec0: 0fc63122 */ jal mpGetCurrentTrackSlotNum /* f17dec4: afa60038 */ sw $a2,0x38($sp) /* f17dec8: 04410006 */ bgez $v0,.L0f17dee4 /* f17decc: 8fa60038 */ lw $a2,0x38($sp) @@ -4962,16 +4962,16 @@ bool menudialogMpSelectTune(u32 operation, struct menu_dialog *dialog, struct me char *mpMenuTextCurrentTrack(struct menu_item *item) { - s32 tracknum; + s32 slotnum; if (mpGetUsingMultipleTunes()) { return langGet(L_MPMENU(66)); // "Multiple Tunes" } - tracknum = mpGetTrackNum(); + slotnum = mpGetCurrentTrackSlotNum(); - if (tracknum >= 0) { - return mpGetTrackName(tracknum); + if (slotnum >= 0) { + return mpGetTrackName(slotnum); } return langGet(L_MPMENU(67)); // "Random" diff --git a/src/game/gamefile.c b/src/game/gamefile.c index 0cdedf6a0..1afb64f46 100644 --- a/src/game/gamefile.c +++ b/src/game/gamefile.c @@ -1403,7 +1403,7 @@ void func0f110b68(void) g_MpSetupSaveFile.teamnames[6][0] = '\0'; g_MpSetupSaveFile.teamnames[7][0] = '\0'; - g_MpSetupSaveFile.unk8c = -1; + g_MpSetupSaveFile.tracknum = -1; func0f18c3e4(); g_MpSetupSaveFile.usingmultipletunes = false; g_MpSetupSaveFile.unk89 = 0; diff --git a/src/game/mplayer.c b/src/game/mplayer.c index 2933ca99d..7b8ecbc69 100644 --- a/src/game/mplayer.c +++ b/src/game/mplayer.c @@ -5580,30 +5580,19 @@ glabel func0f18c430 /* f18c474: 27bd0020 */ addiu $sp,$sp,0x20 ); -void func0f18c478(void) +void mpSetTrackToRandom(void) { - g_MpSetupSaveFile.unk8c = -1; + g_MpSetupSaveFile.tracknum = -1; } -GLOBAL_ASM( -glabel mpGetTrackNum -/* f18c488: 3c04800b */ lui $a0,%hi(g_MpSetupSaveFile+0x64) -/* f18c48c: 8084cc14 */ lb $a0,%lo(g_MpSetupSaveFile+0x64)($a0) -/* f18c490: 27bdffe8 */ addiu $sp,$sp,-24 -/* f18c494: afbf0014 */ sw $ra,0x14($sp) -/* f18c498: 04810003 */ bgez $a0,.L0f18c4a8 -/* f18c49c: 00000000 */ sll $zero,$zero,0x0 -/* f18c4a0: 10000003 */ beqz $zero,.L0f18c4b0 -/* f18c4a4: 00801025 */ or $v0,$a0,$zero -.L0f18c4a8: -/* f18c4a8: 0fc6304e */ jal mpGetTrackSlotIndex -/* f18c4ac: 00000000 */ sll $zero,$zero,0x0 -.L0f18c4b0: -/* f18c4b0: 8fbf0014 */ lw $ra,0x14($sp) -/* f18c4b4: 27bd0018 */ addiu $sp,$sp,0x18 -/* f18c4b8: 03e00008 */ jr $ra -/* f18c4bc: 00000000 */ sll $zero,$zero,0x0 -); +s32 mpGetCurrentTrackSlotNum(void) +{ + if (g_MpSetupSaveFile.tracknum < 0) { + return g_MpSetupSaveFile.tracknum; + } + + return mpGetTrackSlotIndex(g_MpSetupSaveFile.tracknum); +} GLOBAL_ASM( glabel func0f18c4c0 @@ -5738,7 +5727,7 @@ glabel func0f18c4c0 /* f18c688: 10000038 */ beqz $zero,.L0f18c76c /* f18c68c: 00031242 */ srl $v0,$v1,0x9 .L0f18c690: -/* f18c690: 0fc63122 */ jal mpGetTrackNum +/* f18c690: 0fc63122 */ jal mpGetCurrentTrackSlotNum /* f18c694: 00000000 */ sll $zero,$zero,0x0 /* f18c698: 04410022 */ bgez $v0,.L0f18c724 /* f18c69c: 00409825 */ or $s3,$v0,$zero diff --git a/src/include/game/mplayer.h b/src/include/game/mplayer.h index 60f5879ad..837f3201f 100644 --- a/src/include/game/mplayer.h +++ b/src/include/game/mplayer.h @@ -76,8 +76,8 @@ u32 func0f18c38c(void); void func0f18c3e4(void); u32 func0f18c40c(void); u32 func0f18c430(void); -void func0f18c478(void); -u32 mpGetTrackNum(void); +void mpSetTrackToRandom(void); +s32 mpGetCurrentTrackSlotNum(void); u32 func0f18c4c0(void); struct mpchr *func0f18c794(s32 index); u32 func0f18c828(void); diff --git a/src/include/types.h b/src/include/types.h index 55409a1fd..2f3ff33d9 100644 --- a/src/include/types.h +++ b/src/include/types.h @@ -4164,7 +4164,7 @@ struct savefile_setup { /*0x800acc11*/ u8 unk89; /*0x800acc12*/ u8 usingmultipletunes; /*0x800acc13*/ u8 unk8b; - /*0x800acc14*/ s8 unk8c; + /*0x800acc14*/ s8 tracknum; // -1 = random }; struct mpscenario {