2006-07-23 22:52:33 +00:00
|
|
|
#ifndef _SAVEEXPORTER_H_
|
|
|
|
#define _SAVEEXPORTER_H_
|
|
|
|
|
2019-10-16 20:51:11 -04:00
|
|
|
#include "filesystem_def.h"
|
2006-07-24 04:44:19 +00:00
|
|
|
#include "Types.h"
|
2011-12-30 22:49:52 +00:00
|
|
|
#include "Stream.h"
|
2006-07-23 22:52:33 +00:00
|
|
|
|
|
|
|
class CSaveExporter
|
|
|
|
{
|
|
|
|
public:
|
2019-10-16 20:51:11 -04:00
|
|
|
static void ExportPSU(Framework::CStream&, const fs::path&);
|
2018-04-30 21:01:23 +01:00
|
|
|
|
2006-07-24 04:44:19 +00:00
|
|
|
private:
|
|
|
|
#pragma pack(push, 1)
|
|
|
|
|
|
|
|
struct PSUENTRY
|
|
|
|
{
|
|
|
|
struct TIME
|
|
|
|
{
|
2018-04-30 21:01:23 +01:00
|
|
|
uint8 nUnknown;
|
|
|
|
uint8 nSecond;
|
|
|
|
uint8 nMinute;
|
|
|
|
uint8 nHour;
|
|
|
|
uint8 nDay;
|
|
|
|
uint8 nMonth;
|
|
|
|
uint16 nYear;
|
2006-07-24 04:44:19 +00:00
|
|
|
};
|
|
|
|
|
2018-04-30 21:01:23 +01:00
|
|
|
uint32 nFlags;
|
|
|
|
uint32 nSize;
|
|
|
|
TIME CreationTime;
|
|
|
|
uint32 nSector;
|
|
|
|
uint32 nChecksum;
|
|
|
|
TIME ModificationTime;
|
|
|
|
uint8 Padding[0x20];
|
|
|
|
uint8 sName[0x1C0];
|
2006-07-24 04:44:19 +00:00
|
|
|
};
|
2013-03-09 05:05:19 +00:00
|
|
|
static_assert(sizeof(PSUENTRY) == 0x200, "Size of PSUENTRY structure must be 0x200 bytes");
|
2006-07-24 04:44:19 +00:00
|
|
|
|
|
|
|
#pragma pack(pop)
|
|
|
|
|
2019-10-16 20:51:11 -04:00
|
|
|
static void PSU_CopyTime(PSUENTRY::TIME*, const fs::file_time_type&);
|
2006-07-23 22:52:33 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|