The trainer's headline values: name, ID, money, coins, badges, starter.
Holds contents of a single Pokemon storage box.
PokemonStorageBox * boxAt(int ind)
Box at ind within this set.
void reset()
Empty all six boxes.
void randomize(PlayerBasics *basics)
Fill the set with constrained random mons.
void loadSpecific(SaveFile *saveFile=nullptr, var16 offset=0, var8 toBox=0)
Load a specific box at a specific address into box toBox, overwriting it.
void save(SaveFile *saveFile, var16 boxesOffset, svar8 skipInd=-1)
Auto load or save boxes 1-6 from a single address and skip a box if it's the current box.
void load(SaveFile *saveFile=nullptr, var16 boxesOffset=0, svar8 skipInd=-1)
Auto load or save boxes 1-6 from a single address and skip a box if it's the current box.
protected::void boxesChanged()
Any box in the set changed.
PokemonStorageSet(SaveFile *saveFile=nullptr, var16 boxesOffset=0, svar8 skipInd=-1)
PokemonStorageBox * boxes[setMaxBoxes]
The six boxes (fixed-size; never grows/shrinks).
void saveSpecific(SaveFile *saveFile=nullptr, var16 offset=0, var8 fromBox=0)
Save box fromBox out to a specific address.
One loaded save: the raw 32 KB bytes, their expanded object tree, and the tools that move between the...
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.
svar8e svar8
Smaller Shorthand with most default assumptions.
constexpr var8 setMaxBoxes
Boxes per storage set (a save has two sets = 12 boxes).
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.