Adds option to use a rotation of quicksaves instead of having one quicksave slot that needs to be manually created.
This commit is contained in:
parent
28d4401f4b
commit
5cb59018e0
6 changed files with 58 additions and 9 deletions
|
|
@ -318,7 +318,7 @@ DEFINE_ACTION_FUNCTION(FSavegameManager, ReadSaveStrings)
|
|||
//
|
||||
//=============================================================================
|
||||
|
||||
void FSavegameManager::NotifyNewSave(const FString &file, const FString &title, bool okForQuicksave)
|
||||
void FSavegameManager::NotifyNewSave(const FString &file, const FString &title, bool okForQuicksave, bool forceQuicksave)
|
||||
{
|
||||
FSaveGameNode *node;
|
||||
|
||||
|
|
@ -342,7 +342,7 @@ void FSavegameManager::NotifyNewSave(const FString &file, const FString &title,
|
|||
node->bMissingWads = false;
|
||||
if (okForQuicksave)
|
||||
{
|
||||
if (quickSaveSlot == nullptr) quickSaveSlot = node;
|
||||
if (quickSaveSlot == nullptr || forceQuicksave) quickSaveSlot = node;
|
||||
LastAccessed = LastSaved = i;
|
||||
}
|
||||
return;
|
||||
|
|
@ -358,7 +358,7 @@ void FSavegameManager::NotifyNewSave(const FString &file, const FString &title,
|
|||
|
||||
if (okForQuicksave)
|
||||
{
|
||||
if (quickSaveSlot == nullptr) quickSaveSlot = node;
|
||||
if (quickSaveSlot == nullptr || forceQuicksave) quickSaveSlot = node;
|
||||
LastAccessed = LastSaved = index;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -84,7 +84,7 @@ public:
|
|||
private:
|
||||
int InsertSaveNode(FSaveGameNode *node);
|
||||
public:
|
||||
void NotifyNewSave(const FString &file, const FString &title, bool okForQuicksave);
|
||||
void NotifyNewSave(const FString &file, const FString &title, bool okForQuicksave, bool forceQuicksave);
|
||||
void ClearSaveGames();
|
||||
|
||||
void ReadSaveStrings();
|
||||
|
|
|
|||
|
|
@ -44,6 +44,7 @@
|
|||
#include "vm.h"
|
||||
|
||||
EXTERN_CVAR (Bool, saveloadconfirmation) // [mxd]
|
||||
EXTERN_CVAR (Bool, quicksaverotation)
|
||||
|
||||
typedef void(*hfunc)();
|
||||
DEFINE_ACTION_FUNCTION(DMessageBoxMenu, CallHandler)
|
||||
|
|
@ -174,6 +175,13 @@ CCMD (quicksave)
|
|||
|
||||
if (gamestate != GS_LEVEL)
|
||||
return;
|
||||
|
||||
// If the quick save rotation is enabled, it handles the save slot.
|
||||
if (quicksaverotation)
|
||||
{
|
||||
G_DoQuickSave();
|
||||
return;
|
||||
}
|
||||
|
||||
if (savegameManager.quickSaveSlot == NULL)
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue