1
// Copyright 2013 Dolphin Emulator Project
2
// Licensed under GPLv2
3
// Refer to the license.txt file included.
5
#ifndef _FIFODATAFILE_H_
6
#define _FIFODATAFILE_H_
41
// Must be sorted by fifoPosition
42
std::vector<MemoryUpdate> memoryUpdates;
59
void SetIsWii(bool isWii);
60
bool GetIsWii() const;
62
u32 *GetBPMem() { return m_BPMem; }
63
u32 *GetCPMem() { return m_CPMem; }
64
u32 *GetXFMem() { return m_XFMem; }
65
u32 *GetXFRegs() { return m_XFRegs; }
67
void AddFrame(const FifoFrameInfo &frameInfo);
68
const FifoFrameInfo &GetFrame(int frame) const { return m_Frames[frame]; }
69
int GetFrameCount() { return (int)m_Frames.size(); }
71
bool Save(const char *filename);
73
static FifoDataFile *Load(const std::string &filename, bool flagsOnly);
81
void PadFile(u32 numBytes, File::IOFile &file);
83
void SetFlag(u32 flag, bool set);
84
bool GetFlag(u32 flag) const;
86
u64 WriteMemoryUpdates(const std::vector<MemoryUpdate> &memUpdates, File::IOFile &file);
87
static void ReadMemoryUpdates(u64 fileOffset, u32 numUpdates, std::vector<MemoryUpdate> &memUpdates, File::IOFile &file);
89
u32 m_BPMem[BP_MEM_SIZE];
90
u32 m_CPMem[CP_MEM_SIZE];
91
u32 m_XFMem[XF_MEM_SIZE];
92
u32 m_XFRegs[XF_REGS_SIZE];
96
std::vector<FifoFrameInfo> m_Frames;