17#include <QtCore/QObject>
18#include <QtCore/qglobal.h>
Root of the editable object tree – the friendly mirror of a raw save.
A moving cursor over a SaveFile, layering auto-advancing reads/writes on top of SaveFileToolset.
void randomizeExpansion()
Fully randomizes the expansion data, doesn't change save file data.
SaveFileToolset * toolset
Tools to operate directly on the raw sav file data.
void setData(var8 *data, bool silent=false)
Change-out the save file.
SaveFileIterator * iterator()
Returns a unique iterator that's setup to iterate over the raw sav file data.
void expandData()
Replace expansion with new expansion of current sav file.
void flattenData()
Flatten expansion back to the save file, overwriting it's current contents with only data that's stri...
void resetData(bool silent=false)
Empty this save file to zero's.
void dataExpandedChanged(SaveFileExpanded *expanded)
SAV file has changed but the old expansion has not been replaced with exxpansion of new data.
void eraseExpansion()
Erase expansion data, this makes expansion data act like a new file but save file contents are preser...
var8 * data
Actual SAV Data, a raw internal binary copy of the file.
SaveFile(QObject *parent=nullptr)
The expanded, editable object tree. QML traverses in from here.
SaveFileExpanded * dataExpanded
Expanded SAV data to be readable and more usable.
Project-wide fixed-width integer aliases (var8, var16, ...).
var8e var8
Everyday 8-bit alias. Exact (not "fastest") to dodge the pointer-width bug noted above.
var16e var16
Everyday 16-bit alias. Exact width to avoid the "fastest" widening bug.
constexpr var16 SAV_DATA_SIZE
Size of a Gen 1 save in bytes (32 KB).
Import/export macro for the savefile library, plus the central list of QObject types kept deliberatel...
#define SAVEFILE_AUTOPORT
Expands to the correct dllexport/dllimport decoration for this library.