41 if(saveFile ==
nullptr) {
105 for(
var8 i = 0; i < 151; i++)
111 owned[i] = markOwned;
122 bool valSeen =
seen[0];
123 bool valOwn =
owned[0];
140 bool valSeen =
seen[val];
141 bool valOwn =
owned[val];
144 this->
seen[val] =
false;
145 this->
owned[val] =
false;
148 this->
seen[val] =
true;
149 this->
owned[val] =
true;
152 this->
seen[val] =
true;
153 this->
owned[val] =
false;
179 this->seen[i] =
seen;
180 this->owned[i] =
owned;
191 auto toolset = saveFile->
toolset;
200 for(
auto entry : ret)
201 toArr->append(entry);
212 auto toolset = saveFile->
toolset;
280 bool valSeen =
seen[ind];
281 bool valOwn =
owned[ind];
bool seenAt(int ind)
Is species ind seen?
void markAll(int val)
Mark every entry to a state (e.g. all owned/seen/none).
void savePokedex(SaveFile *saveFile, QVector< bool > *fromArr, var16 toOffset)
Flatten one bool array back into a dex bit-field (toOffset).
void reset()
Blank the whole dex.
PlayerPokedex(SaveFile *saveFile=nullptr)
void ownedSet(int ind, bool val)
Set/clear owned for ind.
void save(SaveFile *saveFile)
Flatten both dex bit-fields back to the save.
void randomize()
Randomize the dex (constrained).
@ DexNone
Neither seen nor owned.
@ DexOwned
Owned (implies seen).
@ DexSeen
Seen but not owned.
protected::void dexChanged()
Any dex change (refreshes counts).
bool seen[maxPokedex]
Seen flag per species (0-based).
int seenCount()
Count of set seen flags (backs the property).
int ownedCount()
Count of set owned flags (backs the property).
int ownedMax()
Max owned index (maxPokedex).
void toggleOne(int val)
Flip a single entry val.
bool ownedAt(int ind)
Is species ind owned?
void seenSet(int ind, bool val)
Set/clear seen for ind.
void toggleAll()
Flip every entry.
int seenMax()
Max seen index (maxPokedex).
void dexItemChanged(int ind)
A single entry ind changed.
void load(SaveFile *saveFile=nullptr)
Expand both dex bit-fields from the save.
bool owned[maxPokedex]
Owned flag per species (0-based).
int getState(int ind)
Combined DexEntryState for ind.
void loadPokedex(SaveFile *saveFile, QVector< bool > *toArr, var16 fromOffset)
Expand one dex bit-field (fromOffset) into a bool array.
bool chanceSuccess(const int percent) const
Did a percent chance succeed?
static Random * inst()
< Convenience 50% coin flip (integer path), readable from QML.
One loaded save: the raw 32 KB bytes, their expanded object tree, and the tools that move between the...
SaveFileToolset * toolset
Tools to operate directly on the raw sav file data.
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 var8 maxPokedex
Number of Gen 1 species (dex slots).