Pokered Save Editor 2
Pokemon Red & Blue save file editor - Qt 6 C++/QML
Loading...
Searching...
No Matches
WorldMissables Class Reference

Visibility flags for "missable" sprites (one-time NPCs/items on maps). More...

#include <worldmissables.h>

Inheritance diagram for WorldMissables:
Collaboration diagram for WorldMissables:

Public Member Functions

 WorldMissables (SaveFile *saveFile=nullptr)
virtual ~WorldMissables ()
void load (SaveFile *saveFile=nullptr)
 Expand the missable flags from the save.
void save (SaveFile *saveFile)
 Flatten the missable flags to the save.
int missablesCount ()
 Number of missable flags.
bool missablesAt (int ind)
 Is missable ind set (shown/hidden)?
void missablesSet (int ind, bool val)
 Set/clear missable ind.
protected::void missablesChanged ()
void reset ()
 Clear all missable flags.
void randomize ()
 Randomize the missable flags.

Public Attributes

bool missables [missableCount]
 Per-missable visibility flags.

Detailed Description

Visibility flags for "missable" sprites (one-time NPCs/items on maps).

Each SpriteData missable points at a bit here that decides whether it currently renders – e.g. an item ball that disappears once taken. Presented as a flat missables bool array (only the used bits; see the count note). QML count/at/set access. Standard expanded-node convention (see SaveFileExpanded).

See also
World, SpriteData (its missableIndex points here).

Definition at line 39 of file worldmissables.h.

Constructor & Destructor Documentation

◆ WorldMissables()

WorldMissables::WorldMissables ( SaveFile * saveFile = nullptr)

Definition at line 33 of file worldmissables.cpp.

References load().

◆ ~WorldMissables()

WorldMissables::~WorldMissables ( )
virtual

Definition at line 38 of file worldmissables.cpp.

Member Function Documentation

◆ load()

void WorldMissables::load ( SaveFile * saveFile = nullptr)

Expand the missable flags from the save.

Definition at line 40 of file worldmissables.cpp.

References SaveFileToolset::getBitField(), missableByteCount, missableCount, missables, missablesChanged(), reset(), and SaveFile::toolset.

Referenced by WorldMissables().

◆ missablesAt()

bool WorldMissables::missablesAt ( int ind)

Is missable ind set (shown/hidden)?

Definition at line 76 of file worldmissables.cpp.

References missables.

◆ missablesChanged()

protected::void WorldMissables::missablesChanged ( )

References randomize(), and reset().

Referenced by load(), missablesSet(), and reset().

◆ missablesCount()

int WorldMissables::missablesCount ( )

Number of missable flags.

Definition at line 71 of file worldmissables.cpp.

References missableCount.

◆ missablesSet()

void WorldMissables::missablesSet ( int ind,
bool val )

Set/clear missable ind.

Definition at line 81 of file worldmissables.cpp.

References missables, and missablesChanged().

◆ randomize()

void WorldMissables::randomize ( )

Randomize the missable flags.

Definition at line 100 of file worldmissables.cpp.

References reset().

Referenced by missablesChanged().

◆ reset()

void WorldMissables::reset ( )

Clear all missable flags.

Definition at line 87 of file worldmissables.cpp.

References MissablesDB::inst(), missables, and missablesChanged().

Referenced by load(), missablesChanged(), and randomize().

◆ save()

void WorldMissables::save ( SaveFile * saveFile)

Flatten the missable flags to the save.

Definition at line 58 of file worldmissables.cpp.

References missableByteCount, missableCount, missables, SaveFileToolset::setBitField(), and SaveFile::toolset.

Member Data Documentation

◆ missables

bool WorldMissables::missables[missableCount]

Per-missable visibility flags.

Definition at line 62 of file worldmissables.h.

Referenced by load(), missablesAt(), missablesSet(), reset(), and save().


The documentation for this class was generated from the following files: