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

The current map's list of sprites/NPCs. More...

#include <areasprites.h>

Inheritance diagram for AreaSprites:
Collaboration diagram for AreaSprites:

Public Member Functions

 AreaSprites (SaveFile *saveFile=nullptr)
virtual ~AreaSprites ()
void load (SaveFile *saveFile=nullptr)
 Expand the sprite list from the save.
void save (SaveFile *saveFile)
 Flatten the sprite list to the save.
int spriteCount ()
 Number of sprites.
int spriteMax ()
 Capacity (maxSprites).
SpriteDataspriteAt (int ind)
 Sprite ind (GC-protected return).
void spriteSwap (int from, int to)
 Reorder sprites.
void spriteRemove (int ind)
 Remove sprite ind.
void spriteNew ()
 Add a fresh sprite.
protected::void spritesChanged ()
void reset ()
 Empty the sprite list.
void randomize (QVector< MapDBEntrySprite * > spriteData)
 Randomize sprites from spriteData.
void setTo (MapDBEntry *map)
 Rebuild the list from map's sprites.

Public Attributes

QVector< SpriteData * > sprites
 The map's sprites/NPCs.

Detailed Description

The current map's list of sprites/NPCs.

A variable-length list of SpriteData (up to maxSprites) with QML add/remove/ swap/access. setTo()/randomize() rebuild it from a chosen map's sprite set. Standard expanded-node convention (see SaveFileExpanded).

See also
SpriteData (a sprite), Area, MapDBEntrySprite.

Definition at line 38 of file areasprites.h.

Constructor & Destructor Documentation

◆ AreaSprites()

AreaSprites::AreaSprites ( SaveFile * saveFile = nullptr)

Definition at line 34 of file areasprites.cpp.

References load(), and sprites.

◆ ~AreaSprites()

AreaSprites::~AreaSprites ( )
virtual

Definition at line 41 of file areasprites.cpp.

References sprites.

Member Function Documentation

◆ load()

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

Expand the sprite list from the save.

Definition at line 93 of file areasprites.cpp.

References reset(), spriteCount(), sprites, spritesChanged(), and SaveFile::toolset.

Referenced by AreaSprites().

◆ randomize()

void AreaSprites::randomize ( QVector< MapDBEntrySprite * > spriteData)

Randomize sprites from spriteData.

Definition at line 134 of file areasprites.cpp.

References SpriteData::randomizeAll(), reset(), sprites, and spritesChanged().

Referenced by spritesChanged().

◆ reset()

void AreaSprites::reset ( )

Empty the sprite list.

Definition at line 125 of file areasprites.cpp.

References sprites, and spritesChanged().

Referenced by load(), randomize(), setTo(), and spritesChanged().

◆ save()

void AreaSprites::save ( SaveFile * saveFile)

Flatten the sprite list to the save.

Definition at line 112 of file areasprites.cpp.

References SpriteData::saveMissables(), SaveFileToolset::setByte(), sprites, and SaveFile::toolset.

◆ setTo()

void AreaSprites::setTo ( MapDBEntry * map)

Rebuild the list from map's sprites.

Definition at line 141 of file areasprites.cpp.

References MapDBEntry::getSprites(), reset(), SpriteData::setToAll(), sprites, and spritesChanged().

Referenced by spritesChanged().

◆ spriteAt()

SpriteData * AreaSprites::spriteAt ( int ind)

Sprite ind (GC-protected return).

Definition at line 57 of file areasprites.cpp.

References qmlCppOwned(), and sprites.

◆ spriteCount()

int AreaSprites::spriteCount ( )

Number of sprites.

Definition at line 47 of file areasprites.cpp.

References sprites.

Referenced by load().

◆ spriteMax()

int AreaSprites::spriteMax ( )

Capacity (maxSprites).

Definition at line 52 of file areasprites.cpp.

References maxSprites.

◆ spriteNew()

void AreaSprites::spriteNew ( )

Add a fresh sprite.

Definition at line 84 of file areasprites.cpp.

References maxSprites, sprites, and spritesChanged().

◆ spriteRemove()

void AreaSprites::spriteRemove ( int ind)

Remove sprite ind.

Definition at line 73 of file areasprites.cpp.

References sprites, and spritesChanged().

◆ spritesChanged()

protected::void AreaSprites::spritesChanged ( )

◆ spriteSwap()

void AreaSprites::spriteSwap ( int from,
int to )

Reorder sprites.

Definition at line 62 of file areasprites.cpp.

References sprites, and spritesChanged().

Member Data Documentation

◆ sprites

QVector<SpriteData*> AreaSprites::sprites

The map's sprites/NPCs.

Definition at line 65 of file areasprites.h.

Referenced by AreaSprites(), load(), randomize(), reset(), save(), setTo(), spriteAt(), spriteCount(), spriteNew(), spriteRemove(), spriteSwap(), and ~AreaSprites().


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