rpcsx/rpcs3/Loader/PSF.h

42 lines
661 B
C
Raw Normal View History

#pragma once
#include "Loader.h"
struct PsfHeader
{
u32 psf_magic;
u32 psf_version;
u32 psf_offset_key_table;
u32 psf_offset_values_table;
u32 psf_entries_num;
bool CheckMagic() const { return psf_magic == *(u32*)"\0PSF"; }
};
struct PsfDefTbl
{
u16 psf_name_tbl_offset;
u16 psf_data_type;
u32 psf_data_size;
u32 psf_data_fsize;
u32 psf_data_tbl_offset;
};
class PSFLoader
{
vfsStream& psf_f;
bool m_show_log;
public:
PSFLoader(vfsStream& f);
wxArrayString m_table;
GameInfo m_info;
PsfHeader psfhdr;
virtual bool Load(bool show = true);
virtual bool Close();
private:
bool LoadHdr();
bool LoadKeyTable();
bool LoadValuesTable();
};