mirror of
https://github.com/ZDoom/raze-gles.git
synced 2025-01-27 01:10:51 +00:00
Menus: Fix the recently introduced bug where blank savegames would have their autogenerated names clobbered by the new menu code.
git-svn-id: https://svn.eduke32.com/eduke32@4508 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
parent
7f3708b55d
commit
2281e287dd
1 changed files with 15 additions and 12 deletions
|
@ -2262,7 +2262,7 @@ static int32_t M_PreMenuCustom2ColScreen(MenuGroup_t *group, MenuEntry_t *entry)
|
||||||
|
|
||||||
KB_ClearKeyDown(sc);
|
KB_ClearKeyDown(sc);
|
||||||
|
|
||||||
return 1;
|
return -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2606,7 +2606,7 @@ static int32_t M_MenuEntryOptionModify(MenuGroup_t* group, MenuEntry_t *entry, i
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
M_ChangeMenu(MENU_ADULTPASSWORD);
|
M_ChangeMenu(MENU_ADULTPASSWORD);
|
||||||
return 1;
|
return -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2718,22 +2718,22 @@ static void M_MenuEntryStringActivate(MenuGroup_t *group/*, MenuEntry_t *entry*/
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void M_MenuEntryStringSubmit(/*MenuGroup_t *group, MenuEntry_t *entry, char *input*/)
|
static int32_t M_MenuEntryStringSubmit(MenuGroup_t *group /*, MenuEntry_t *entry, char *input*/)
|
||||||
{
|
{
|
||||||
switch (g_currentMenu)
|
switch (g_currentMenu)
|
||||||
{
|
{
|
||||||
case MENU_SAVE:
|
case MENU_SAVE:
|
||||||
// dirty hack... char 127 in last position indicates an auto-filled name
|
// dirty hack... char 127 in last position indicates an auto-filled name
|
||||||
if (ud.savegame[MG_SAVE.currentEntry][0] == 0 || (ud.savegame[MG_SAVE.currentEntry][20] == 127 &&
|
if (ud.savegame[group->currentEntry][0] == 0 || (ud.savegame[group->currentEntry][MAXSAVEGAMENAME-2] == 127 &&
|
||||||
save_xxh == XXH32((uint8_t *)&ud.savegame[MG_SAVE.currentEntry][0], 19, 0xDEADBEEF)))
|
save_xxh == XXH32((uint8_t *)&ud.savegame[group->currentEntry][0], 19, 0xDEADBEEF)))
|
||||||
{
|
{
|
||||||
Bstrncpy(&ud.savegame[MG_SAVE.currentEntry][0], MapInfo[ud.volume_number * MAXLEVELS + ud.level_number].name, 19);
|
Bstrncpy(&ud.savegame[group->currentEntry][0], MapInfo[ud.volume_number * MAXLEVELS + ud.level_number].name, 19);
|
||||||
ud.savegame[MG_SAVE.currentEntry][20] = 127;
|
ud.savegame[group->currentEntry][MAXSAVEGAMENAME-2] = 127;
|
||||||
}
|
}
|
||||||
|
|
||||||
G_SavePlayerMaybeMulti(MG_SAVE.currentEntry);
|
G_SavePlayerMaybeMulti(group->currentEntry);
|
||||||
|
|
||||||
g_lastSaveSlot = MG_SAVE.currentEntry;
|
g_lastSaveSlot = group->currentEntry;
|
||||||
g_player[myconnectindex].ps->gm = MODE_GAME;
|
g_player[myconnectindex].ps->gm = MODE_GAME;
|
||||||
|
|
||||||
if ((!g_netServer && ud.multimode < 2) && ud.recstat != 2)
|
if ((!g_netServer && ud.multimode < 2) && ud.recstat != 2)
|
||||||
|
@ -2742,11 +2742,15 @@ static void M_MenuEntryStringSubmit(/*MenuGroup_t *group, MenuEntry_t *entry, ch
|
||||||
totalclock = ototalclock;
|
totalclock = ototalclock;
|
||||||
}
|
}
|
||||||
save_xxh = 0;
|
save_xxh = 0;
|
||||||
|
|
||||||
|
return -1;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void M_MenuEntryStringCancel(/*MenuGroup_t *group, MenuEntry_t *entry*/)
|
static void M_MenuEntryStringCancel(/*MenuGroup_t *group, MenuEntry_t *entry*/)
|
||||||
|
@ -4468,8 +4472,7 @@ static void M_RunMenuInput(Menu_t *cm)
|
||||||
{
|
{
|
||||||
S_PlaySound(PISTOL_BODYHIT);
|
S_PlaySound(PISTOL_BODYHIT);
|
||||||
|
|
||||||
M_MenuEntryStringSubmit(/*currgroup, currentry, object->editfield*/);
|
if (!M_MenuEntryStringSubmit(currgroup /*, currentry, object->editfield*/))
|
||||||
|
|
||||||
Bstrncpy(object->variable, object->editfield, object->maxlength);
|
Bstrncpy(object->variable, object->editfield, object->maxlength);
|
||||||
|
|
||||||
object->editfield = NULL;
|
object->editfield = NULL;
|
||||||
|
|
Loading…
Reference in a new issue