1#ifndef YAZE_APP_EMU_RENDER_SAVE_STATE_MANAGER_H_
2#define YAZE_APP_EMU_RENDER_SAVE_STATE_MANAGER_H_
7#include <unordered_map>
9#include "absl/status/status.h"
10#include "absl/status/statusor.h"
59 int context_id = 0)
const;
122 return std::hash<int>()(
static_cast<int>(k.
type)) ^
126 std::unordered_map<CacheKey, StateMetadata, CacheKeyHash>
state_cache_;
142constexpr int kL = 10;
143constexpr int kR = 11;
The Rom class is used to load, save, and modify Rom data. This is a generic SNES ROM container and do...
absl::Status GenerateRoomState(int room_id)
bool HasCachedState(StateType type, int context_id=0) const
void WaitFrames(int frames)
bool IsStateCompatible(const StateMetadata &metadata) const
uint8_t ReadWram(uint32_t addr)
const std::string & GetStateDirectory() const
uint16_t ReadWram16(uint32_t addr)
SaveStateManager(emu::Snes *snes, Rom *rom)
std::string GetStatePath(StateType type, int context_id) const
std::string state_directory_
absl::Status LoadState(StateType type, int context_id=0)
std::unordered_map< CacheKey, StateMetadata, CacheKeyHash > state_cache_
void PressButton(int button, int frames=1)
absl::Status LoadStateFromFile(const std::string &path)
void SetStateDirectory(const std::string &path)
absl::StatusOr< StateMetadata > GetStateMetadata(StateType type, int context_id=0) const
absl::Status NavigateToFileSelect()
bool WaitForModule(uint8_t target, int max_frames)
uint32_t CalculateRomChecksum() const
absl::Status TeleportToRoomViaWram(int room_id)
absl::Status NavigateToRoomViaTas(int room_id)
absl::Status StartNewGame()
absl::Status Initialize()
absl::Status GenerateAllBaselineStates()
std::string GetMetadataPath(StateType type, int context_id) const
absl::Status SaveStateToFile(const std::string &path, const StateMetadata &metadata)
absl::Status NavigateToRoom(int room_id)
absl::Status BootToTitleScreen()
size_t operator()(const CacheKey &k) const
bool operator==(const CacheKey &other) const