mirror of
https://git.do.srb2.org/STJr/SRB2.git
synced 2024-11-17 10:11:02 +00:00
* Make the delete save message include the save number.
* Update/improve ultimate mode interaction experience a little. https://cdn.discordapp.com/attachments/293238104096112641/349685399200727041/srb20027.png
This commit is contained in:
parent
1e71b6d746
commit
673fbc3ec2
2 changed files with 29 additions and 10 deletions
|
@ -61,7 +61,7 @@ static UINT8 cheatf_ultimate(void)
|
||||||
if (menuactive && (currentMenu != &MainDef && currentMenu != &SP_LoadDef))
|
if (menuactive && (currentMenu != &MainDef && currentMenu != &SP_LoadDef))
|
||||||
return 0; // Only on the main menu, or the save select!
|
return 0; // Only on the main menu, or the save select!
|
||||||
|
|
||||||
S_StartSound(0, sfx_itemup);
|
BwehHehHe();
|
||||||
ultimate_selectable = (!ultimate_selectable);
|
ultimate_selectable = (!ultimate_selectable);
|
||||||
|
|
||||||
// If on the save select, move to what is now Ultimate Mode!
|
// If on the save select, move to what is now Ultimate Mode!
|
||||||
|
|
37
src/m_menu.c
37
src/m_menu.c
|
@ -6514,6 +6514,17 @@ static void M_SaveGameDeleteResponse(INT32 ch)
|
||||||
M_ReadSaveStrings(); // reload the menu
|
M_ReadSaveStrings(); // reload the menu
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void M_SaveGameUltimateResponse(INT32 ch)
|
||||||
|
{
|
||||||
|
if (ch != 'y' && ch != KEY_ENTER)
|
||||||
|
return;
|
||||||
|
|
||||||
|
S_StartSound(NULL, sfx_menu1);
|
||||||
|
M_LoadSelect(saveSlotSelected);
|
||||||
|
SP_PlayerDef.prevMenu = MessageDef.prevMenu;
|
||||||
|
MessageDef.prevMenu = &SP_PlayerDef;
|
||||||
|
}
|
||||||
|
|
||||||
static void M_HandleLoadSave(INT32 choice)
|
static void M_HandleLoadSave(INT32 choice)
|
||||||
{
|
{
|
||||||
boolean exitmenu = false; // exit to previous menu
|
boolean exitmenu = false; // exit to previous menu
|
||||||
|
@ -6537,8 +6548,15 @@ static void M_HandleLoadSave(INT32 choice)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case KEY_ENTER:
|
case KEY_ENTER:
|
||||||
if (savegameinfo[saveSlotSelected-1].lives != -666) // don't allow loading of "bad saves"
|
if (ultimate_selectable && saveSlotSelected == NOSAVESLOT)
|
||||||
{
|
{
|
||||||
|
loadgamescroll = 0;
|
||||||
|
S_StartSound(NULL, sfx_skid);
|
||||||
|
M_StartMessage("Are you sure you want to play\n\x85ultimate mode\x80? It isn't remotely fair,\nand you don't even get an emblem for it.\n\n(Press 'Y' to confirm)\n",M_SaveGameUltimateResponse,MM_YESNO);
|
||||||
|
}
|
||||||
|
else if (savegameinfo[saveSlotSelected-1].lives != -666) // don't allow loading of "bad saves"
|
||||||
|
{
|
||||||
|
loadgamescroll = 0;
|
||||||
S_StartSound(NULL, sfx_menu1);
|
S_StartSound(NULL, sfx_menu1);
|
||||||
M_LoadSelect(saveSlotSelected);
|
M_LoadSelect(saveSlotSelected);
|
||||||
}
|
}
|
||||||
|
@ -6560,14 +6578,14 @@ static void M_HandleLoadSave(INT32 choice)
|
||||||
{
|
{
|
||||||
loadgamescroll = 0;
|
loadgamescroll = 0;
|
||||||
S_StartSound(NULL, sfx_skid);
|
S_StartSound(NULL, sfx_skid);
|
||||||
M_StartMessage(M_GetText("Are you sure you want to delete\nthis save game?\n\n(Press 'Y' to confirm)\n"),M_SaveGameDeleteResponse,MM_YESNO);
|
M_StartMessage(va("Are you sure you want to delete\nsave file %d?\n\n(Press 'Y' to confirm)\n", saveSlotSelected),M_SaveGameDeleteResponse,MM_YESNO);
|
||||||
}
|
}
|
||||||
else if (!loadgameoffset)
|
else if (!loadgameoffset)
|
||||||
{
|
{
|
||||||
if (saveSlotSelected == NOSAVESLOT && ultimate_selectable)
|
if (saveSlotSelected == NOSAVESLOT && ultimate_selectable)
|
||||||
{
|
{
|
||||||
ultimate_selectable = false;
|
ultimate_selectable = false;
|
||||||
BwehHehHe();
|
S_StartSound(NULL, sfx_strpst);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
S_StartSound(NULL, sfx_lose);
|
S_StartSound(NULL, sfx_lose);
|
||||||
|
@ -6602,14 +6620,15 @@ static void M_LoadGame(INT32 choice)
|
||||||
//
|
//
|
||||||
void M_ForceSaveSlotSelected(INT32 sslot)
|
void M_ForceSaveSlotSelected(INT32 sslot)
|
||||||
{
|
{
|
||||||
// Already there? Out of bounds? Whatever, then!
|
loadgameoffset = 14;
|
||||||
if (sslot == saveSlotSelected || sslot >= MAXSAVEGAMES)
|
|
||||||
|
// Already there? Whatever, then!
|
||||||
|
if (sslot == saveSlotSelected)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
// Figure out whether to display up movement or down movement
|
loadgamescroll = 90;
|
||||||
/*menumovedir = (saveSlotSelected - sslot) > 0 ? -1 : 1;
|
if (saveSlotSelected <= numsaves/2)
|
||||||
if (abs(saveSlotSelected - sslot) > (MAXSAVEGAMES>>1))
|
loadgamescroll = -loadgamescroll;
|
||||||
menumovedir *= -1;*/
|
|
||||||
|
|
||||||
saveSlotSelected = sslot;
|
saveSlotSelected = sslot;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue