mpsetups: fixed bugs caused by using a wrong constant + fixed the setup marquee display

This commit is contained in:
Raf committed 2025-03-29 04:17:36 +08:00
1 parent dcef8deed8
commit 9e19055348
3 files changed
+11 -8

No files matched your search

+4 -4
View File
@@ -3918,7 +3918,7 @@ void mpsetupfileLoadWad(struct savebuffer *buffer)
s32 i;
s32 j;
savebufferReadString_ext(buffer, g_MpSetup.name, false, MPSETUP_MAXSETUPS+1);
savebufferReadString_ext(buffer, g_MpSetup.name, false, MPSETUP_MAXNAME+1);
savebufferReadBits(buffer, 4);
g_MpSetup.stagenum = savebufferReadBits(buffer, 7);
@@ -3973,7 +3973,7 @@ void mpsetupfileSaveWad(struct savebuffer *buffer)
s32 mpbodynum;
s32 i;
func0f0d55a4_ext(buffer, g_MpSetup.name, MPSETUP_MAXSETUPS+1);
func0f0d55a4_ext(buffer, g_MpSetup.name, MPSETUP_MAXNAME+1);
for (i = 0; i < MAX_BOTS; i++) {
if (g_MpSetup.chrslots & (1 << (i + 4))) {
@@ -4033,9 +4033,9 @@ void mpsetupfileGetOverview(char *arg0, char *filename, u16 *numsims, u16 *stage
{
struct savebuffer buffer;
savebufferWriteData(&buffer, arg0, 15);
savebufferWriteData(&buffer, arg0, 22);
savebufferReadString(&buffer, filename, 0);
savebufferReadString_ext(&buffer, filename, 0, MPSETUP_MAXNAME+1);
*numsims = savebufferReadBits(&buffer, 4);
*stagenum = savebufferReadBits(&buffer, 7);
+1 -1
View File
@@ -421,7 +421,7 @@ void scenarioReadSave(struct savebuffer *buffer)
if (g_MpScenarios[g_MpSetup.scenario].readsavefunc) {
g_MpScenarios[g_MpSetup.scenario].readsavefunc(buffer);
} else {
savebufferReadBits(buffer, 8);
savebufferReadBits(buffer, 32);
}
}
+6 -3
View File
@@ -2262,7 +2262,7 @@ MenuItemHandlerResult mpLoadSettingsMenuHandler(s32 operation, struct menuitem *
}
if (g_MpSetupFile.numsetups > 0) {
struct setupblock *block = &g_MpSetupFile.setups[data->list.value - mpGetNumUnlockedPresets()];
func0f0d564c_ext(block->bytes, g_StringPointer, false, MPSETUP_MAXSETUPS+1);
func0f0d564c_ext(block->bytes, g_StringPointer, false, MPSETUP_MAXNAME+1);
return (uintptr_t)g_StringPointer;
}
break;
@@ -2303,6 +2303,9 @@ MenuItemHandlerResult mpLoadSettingsMenuHandler(s32 operation, struct menuitem *
if (data->list.value < mpGetNumUnlockedPresets()) {
g_Menus[g_MpPlayerNum].mpsetup.slotindex = 0xffff;
}
else {
g_Menus[g_MpPlayerNum].mpsetup.slotindex = data->list.value - mpGetNumUnlockedPresets();
}
break;
}
@@ -2318,14 +2321,14 @@ char *mpMenuTextMpconfigMarquee(struct menuitem *item)
s32 arenanum;
s32 i;
if (g_Menus[g_MpPlayerNum].mpsetup.slotindex < 0xffff && g_FileLists[1]) {
if (g_Menus[g_MpPlayerNum].mpsetup.slotindex < 0xffff && g_MpSetupFile.numsetups > 0) {
#if VERSION >= VERSION_NTSC_1_0
arenanum = -1;
#else
arenanum = 0;
#endif
mpsetupfileGetOverview(g_FileLists[1]->files[g_Menus[g_MpPlayerNum].mpsetup.slotindex].name,
mpsetupfileGetOverview(g_MpSetupFile.setups[g_Menus[g_MpPlayerNum].mpsetup.slotindex].bytes,
filename, &numsims, &stagenum, &scenarionum);
for (i = 0; i < ARRAYCOUNT(g_MpArenas); i++) {