Mesen/Core/SaveStateManager.h

31 lines
762 B
C++

#pragma once
#include "stdafx.h"
class SaveStateManager
{
private:
static const uint32_t MaxIndex = 7;
static atomic<uint32_t> _lastIndex;
static string GetStateFilepath(int stateIndex);
public:
static const uint32_t FileFormatVersion = 5;
static uint64_t GetStateInfo(int stateIndex);
static void SaveState();
static bool LoadState();
static void SaveState(ostream &stream);
static void SaveState(int stateIndex, bool displayMessage = true);
static bool LoadState(istream &stream);
static bool LoadState(int stateIndex);
static void SaveRecentGame(string romName, string romPath, string patchPath, int32_t archiveFileIndex);
static void LoadRecentGame(string filename);
static void MoveToNextSlot();
static void MoveToPreviousSlot();
};