Skip to content

Commit 4dffce2

Browse files
authored
Merge pull request #705 from Pedro-Beirao/fix-saves
- Fix wrong save slot being deleted when doing a quicksave - Dont allow saving to the first page
2 parents a29392d + e485c07 commit 4dffce2

File tree

1 file changed

+8
-5
lines changed

1 file changed

+8
-5
lines changed

prboom2/src/m_menu.c

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -833,7 +833,7 @@ static void M_DeleteSaveGame(int slot)
833833
if (dsda_LastSaveSlot() == slot)
834834
dsda_ResetLastSaveSlot();
835835

836-
name = dsda_SaveGameName(slot + current_page * g_menu_save_page_size, false);
836+
name = dsda_SaveGameName(slot, false);
837837
remove(name);
838838
Z_Free(name);
839839

@@ -1099,7 +1099,7 @@ static void M_DrawSave(void)
10991099
for (i = 0 ; i < load_end ; i++)
11001100
{
11011101
M_DrawSaveLoadBorder(LoadDef.x,LoadDef.y+LINEHEIGHT*i);
1102-
M_WriteText(LoadDef.x,LoadDef.y+LINEHEIGHT*i,savegamestrings[i], CR_DEFAULT);
1102+
M_WriteText(LoadDef.x,LoadDef.y+LINEHEIGHT*i,savegamestrings[i], current_page == 0 ? CR_DARKEN : CR_DEFAULT);
11031103
}
11041104

11051105
M_DrawTabs(saves_pages, 5, 145);
@@ -1117,9 +1117,9 @@ static void M_DrawSave(void)
11171117
//
11181118
// M_Responder calls this when user is finished
11191119
//
1120-
static void M_DoSave(int slot)
1120+
static void M_DoSave(int choice)
11211121
{
1122-
G_SaveGame(slot + current_page * g_menu_save_page_size, savegamestrings[slot]);
1122+
G_SaveGame(choice + current_page * g_menu_save_page_size, savegamestrings[choice]);
11231123
M_ClearMenus();
11241124
}
11251125

@@ -1147,6 +1147,9 @@ static inline dboolean IsMapName(char *str)
11471147

11481148
static void M_SaveSelect(int choice)
11491149
{
1150+
if (current_save_page == 0)
1151+
return;
1152+
11501153
// we are going to be intercepting all chars
11511154
saveStringEnter = 1;
11521155

@@ -5714,7 +5717,7 @@ static dboolean M_SaveResponder(int ch, int action, event_t* ev)
57145717
switch (M_EventToConfirmation(ch, action, ev))
57155718
{
57165719
case confirmation_yes:
5717-
M_DeleteSaveGame(itemOn);
5720+
M_DeleteSaveGame(itemOn + current_page * g_menu_save_page_size);
57185721
S_StartVoidSound(g_sfx_itemup);
57195722
delete_verify = false;
57205723
break;

0 commit comments

Comments
 (0)