mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2026-01-10 00:34:32 +00:00
Change the rules of when GP Backup occours/is deleted
- Re-saved every time you lose a life, to prevent scumming
- Force-deletion of your backup has changed
- Don't when saying NO to the GP Backup load prompt
- Don't when returning to titlescreen under non-DEVELOP
- DO when starting a new Grand Prix session of any cup
This commit is contained in:
parent
6b1fadd9d2
commit
3e6a5fda21
6 changed files with 17 additions and 27 deletions
|
|
@ -982,7 +982,6 @@ void D_ClearState(void)
|
|||
cht_debug = 0;
|
||||
emeralds = 0;
|
||||
memset(&luabanks, 0, sizeof(luabanks));
|
||||
lastqueuesaved = 0;
|
||||
|
||||
// In case someone exits out at the same time they start a time attack run,
|
||||
// reset modeattacking
|
||||
|
|
|
|||
|
|
@ -6241,11 +6241,6 @@ void Command_ExitGame_f(void)
|
|||
{
|
||||
INT32 i;
|
||||
|
||||
#ifndef DEVELOP
|
||||
// Wipes gp backup if appropriate
|
||||
G_HandleSaveLevel(true);
|
||||
#endif
|
||||
|
||||
LUA_HookBool(false, HOOK(GameQuit));
|
||||
|
||||
D_QuitNetGame();
|
||||
|
|
|
|||
|
|
@ -51,7 +51,6 @@ extern UINT8 mapmusrng;
|
|||
extern UINT32 maptol;
|
||||
|
||||
extern INT32 cursaveslot;
|
||||
extern UINT8 lastqueuesaved;
|
||||
extern UINT8 gamecomplete;
|
||||
|
||||
// Extra abilities/settings for skins (combinable stuff)
|
||||
|
|
|
|||
19
src/g_game.c
19
src/g_game.c
|
|
@ -123,7 +123,6 @@ precipprops_t precipprops[MAXPRECIP] =
|
|||
preciptype_t precip_freeslot = PRECIP_FIRSTFREESLOT;
|
||||
|
||||
INT32 cursaveslot = 0; // Auto-save 1p savegame slot
|
||||
UINT8 lastqueuesaved = 0;
|
||||
UINT8 gamecomplete = 0;
|
||||
|
||||
marathonmode_t marathonmode = 0;
|
||||
|
|
@ -3350,6 +3349,7 @@ void G_ExitLevel(void)
|
|||
else
|
||||
{
|
||||
// Back to the menu with you.
|
||||
G_HandleSaveLevel(true);
|
||||
D_QuitNetGame();
|
||||
CL_Reset();
|
||||
D_ClearState();
|
||||
|
|
@ -4024,18 +4024,21 @@ void G_HandleSaveLevel(boolean removecondition)
|
|||
return;
|
||||
|
||||
if (removecondition)
|
||||
{
|
||||
if (FIL_FileExists(gpbackup))
|
||||
remove(gpbackup);
|
||||
return;
|
||||
}
|
||||
goto doremove;
|
||||
|
||||
if (gamestate != GS_LEVEL
|
||||
|| roundqueue.size == 0
|
||||
|| lastqueuesaved == roundqueue.position)
|
||||
|| roundqueue.size == 0)
|
||||
return;
|
||||
|
||||
if (roundqueue.position == 1)
|
||||
goto doremove;
|
||||
|
||||
G_SaveGame();
|
||||
return;
|
||||
|
||||
doremove:
|
||||
if (FIL_FileExists(gpbackup))
|
||||
remove(gpbackup);
|
||||
}
|
||||
|
||||
// Next map apparatus
|
||||
|
|
|
|||
|
|
@ -530,7 +530,7 @@ static void M_GPBackup(INT32 choice)
|
|||
SplitScreen_OnChange();
|
||||
}
|
||||
|
||||
const UINT8 entry = lastqueuesaved-1;
|
||||
const UINT8 entry = roundqueue.position-1;
|
||||
|
||||
SV_StartSinglePlayerServer(roundqueue.entries[entry].gametype, false);
|
||||
|
||||
|
|
@ -541,7 +541,7 @@ static void M_GPBackup(INT32 choice)
|
|||
true,
|
||||
1,
|
||||
false,
|
||||
roundqueue.entries[lastqueuesaved-1].rankrestricted
|
||||
roundqueue.entries[entry].rankrestricted
|
||||
);
|
||||
|
||||
M_ClearMenus(true);
|
||||
|
|
@ -549,21 +549,17 @@ static void M_GPBackup(INT32 choice)
|
|||
// We can't put it deeper in the menuflow due to lack of guaranteed setup
|
||||
restoreMenu = &MainDef;
|
||||
}
|
||||
}
|
||||
else if (choice == MA_NO)
|
||||
{
|
||||
if (FIL_FileExists(gpbackup)) // just in case someone deleted it while we weren't looking.
|
||||
remove(gpbackup);
|
||||
|
||||
M_CharacterSelect(0);
|
||||
return;
|
||||
}
|
||||
|
||||
M_CharacterSelect(-1);
|
||||
}
|
||||
|
||||
void M_CharacterSelect(INT32 choice)
|
||||
{
|
||||
(void)choice;
|
||||
|
||||
if (currentMenu == &MainDef
|
||||
&& choice != -1
|
||||
&& FIL_FileExists(gpbackup))
|
||||
{
|
||||
M_StartMessage(
|
||||
|
|
|
|||
|
|
@ -5968,8 +5968,6 @@ boolean P_LoadGame(savebuffer_t *save)
|
|||
if (!P_UnArchiveLuabanksAndConsistency(save))
|
||||
goto badloadgame;
|
||||
|
||||
lastqueuesaved = roundqueue.position;
|
||||
|
||||
return true;
|
||||
|
||||
badloadgame:
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue