Decompile mpGetCurrentTrackSlotNum

This commit is contained in:
Ryan Dwyer 2020-03-28 18:55:06 +10:00
parent 82c30cd083
commit 9dd74370f5
5 changed files with 21 additions and 32 deletions

View File

@ -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"

View File

@ -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;

View File

@ -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

View File

@ -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);

View File

@ -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 {