the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
1#pragma once
2
3#include "FileHeader.h"
4#include "ConsoleSavePath.h"
5
6class ConsoleSaveFile
7{
8public:
9 virtual ~ConsoleSaveFile() {};
10
11 virtual FileEntry *createFile( const ConsoleSavePath &fileName ) = 0;
12 virtual void deleteFile( FileEntry *file ) = 0;
13 virtual void setFilePointer( FileEntry *file,LONG lDistanceToMove, PLONG lpDistanceToMoveHigh,DWORD dwMoveMethod) = 0;
14 virtual BOOL writeFile( FileEntry *file, LPCVOID lpBuffer, DWORD nNumberOfBytesToWrite, LPDWORD lpNumberOfBytesWritten) = 0;
15 virtual BOOL zeroFile(FileEntry *file, DWORD nNumberOfBytesToWrite, LPDWORD lpNumberOfBytesWritten) = 0;
16 virtual BOOL readFile( FileEntry *file, LPVOID lpBuffer, DWORD nNumberOfBytesToRead, LPDWORD lpNumberOfBytesRead ) = 0;
17 virtual BOOL closeHandle( FileEntry *file ) = 0;
18 virtual void finalizeWrite() = 0;
19 virtual void tick() {};
20
21 virtual bool doesFileExist(ConsoleSavePath file) = 0;
22
23 virtual void Flush(bool autosave, bool updateThumbnail = true) = 0;
24
25#ifndef _CONTENT_PACKAGE
26 virtual void DebugFlushToFile(void *compressedData = NULL, unsigned int compressedDataSize = 0) = 0;
27#endif
28 virtual unsigned int getSizeOnDisk() = 0;
29 virtual wstring getFilename() = 0;
30 virtual vector<FileEntry *> *getFilesWithPrefix(const wstring &prefix) = 0;
31 virtual vector<FileEntry *> *getRegionFilesByDimension(unsigned int dimensionIndex) = 0;
32
33#if defined(__PS3__) || defined(__ORBIS__) || defined(__PSVITA__)
34 virtual wstring getPlayerDataFilenameForLoad(const PlayerUID& pUID) = 0;
35 virtual wstring getPlayerDataFilenameForSave(const PlayerUID& pUID) = 0;
36 virtual vector<FileEntry *> *getValidPlayerDatFiles() = 0;
37#endif //__PS3__
38
39 virtual int getSaveVersion() = 0;
40 virtual int getOriginalSaveVersion() = 0;
41
42 virtual void LockSaveAccess() = 0;
43 virtual void ReleaseSaveAccess() = 0;
44
45 virtual ESavePlatform getSavePlatform() = 0;
46 virtual bool isSaveEndianDifferent() = 0;
47 virtual void setLocalPlatform() = 0;
48 virtual void setPlatform(ESavePlatform plat) = 0;
49 virtual ByteOrder getSaveEndian() = 0;
50 virtual ByteOrder getLocalEndian() = 0;
51 virtual void setEndian(ByteOrder endian) = 0;
52
53 virtual void ConvertRegionFile(File sourceFile) = 0;
54 virtual void ConvertToLocalPlatform() = 0;
55
56 virtual void *getWritePointer(FileEntry *file) { return NULL; }
57};