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

The fixed set of sprite picture-ids currently loaded into the map's VRAM. More...

#include <arealoadedsprites.h>

Inheritance diagram for AreaLoadedSprites:
Collaboration diagram for AreaLoadedSprites:

Public Member Functions

 AreaLoadedSprites (SaveFile *saveFile=nullptr)
 < Which sprite set is loaded.
virtual ~AreaLoadedSprites ()
void load (SaveFile *saveFile=nullptr)
 Expand the loaded-sprite slots from the save.
void save (SaveFile *saveFile)
 Flatten the loaded-sprite slots to the save.
void loadSpriteSet (SpriteSetDBEntry *entry, int x, int y)
 Populate from a sprite-set definition.
int lSpriteCount ()
 Number of loaded-sprite slots (fixed).
int lSpriteAt (int ind)
 Picture-id in slot ind.
void lSpriteSwap (int from, int to)
 Swap two loaded-sprite slots.
protected::void loadedSpritesChanged ()
void loadedSetIdChanged ()
void reset ()
 Blank the loaded-sprite slots.
void randomize (MapDBEntry *map, int x, int y)
 Randomize for map at (x,y).
void setTo (MapDBEntry *map, int x, int y)
 Set to map's sprite set at (x,y).

Public Attributes

var8 loadedSprites [maxLoadedSprites]
 The fixed loaded-sprite picture-ids.
int loadedSetId

Detailed Description

The fixed set of sprite picture-ids currently loaded into the map's VRAM.

The game keeps exactly maxLoadedSprites loaded sprite entries plus the loadedSetId of the chosen sprite set. These slots are fixed – they can be swapped but not created/removed – so the QML helpers only count, read, and swap. Standard expanded-node convention (see SaveFileExpanded).

See also
Area, SpriteSetDBEntry.

Definition at line 39 of file arealoadedsprites.h.

Constructor & Destructor Documentation

◆ AreaLoadedSprites()

AreaLoadedSprites::AreaLoadedSprites ( SaveFile * saveFile = nullptr)

< Which sprite set is loaded.

Definition at line 32 of file arealoadedsprites.cpp.

References load(), loadedSprites, and maxLoadedSprites.

◆ ~AreaLoadedSprites()

AreaLoadedSprites::~AreaLoadedSprites ( )
virtual

Definition at line 38 of file arealoadedsprites.cpp.

Member Function Documentation

◆ load()

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

Expand the loaded-sprite slots from the save.

Definition at line 61 of file arealoadedsprites.cpp.

References SaveFileToolset::getRange(), loadedSetId, loadedSetIdChanged(), loadedSprites, loadedSpritesChanged(), maxLoadedSprites, reset(), and SaveFile::toolset.

Referenced by AreaLoadedSprites().

◆ loadedSetIdChanged()

void AreaLoadedSprites::loadedSetIdChanged ( )

References randomize(), reset(), and setTo().

Referenced by load(), loadSpriteSet(), lSpriteSwap(), and reset().

◆ loadedSpritesChanged()

protected::void AreaLoadedSprites::loadedSpritesChanged ( )

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

◆ loadSpriteSet()

void AreaLoadedSprites::loadSpriteSet ( SpriteSetDBEntry * entry,
int x,
int y )

Populate from a sprite-set definition.

Definition at line 135 of file arealoadedsprites.cpp.

References SpriteSetDBEntry::getSprites(), SpriteSetDBEntry::ind, loadedSetId, loadedSetIdChanged(), loadedSprites, and loadedSpritesChanged().

Referenced by randomize(), and setTo().

◆ lSpriteAt()

int AreaLoadedSprites::lSpriteAt ( int ind)

Picture-id in slot ind.

Definition at line 45 of file arealoadedsprites.cpp.

References loadedSprites.

◆ lSpriteCount()

int AreaLoadedSprites::lSpriteCount ( )

Number of loaded-sprite slots (fixed).

Definition at line 40 of file arealoadedsprites.cpp.

References maxLoadedSprites.

◆ lSpriteSwap()

void AreaLoadedSprites::lSpriteSwap ( int from,
int to )

Swap two loaded-sprite slots.

Definition at line 50 of file arealoadedsprites.cpp.

References loadedSetIdChanged(), and loadedSprites.

◆ randomize()

void AreaLoadedSprites::randomize ( MapDBEntry * map,
int x,
int y )

Randomize for map at (x,y).

Definition at line 106 of file arealoadedsprites.cpp.

References SpriteSetDB::getStore(), MapDBEntry::getToSpriteSet(), Random::inst(), SpriteSetDB::inst(), loadSpriteSet(), and reset().

Referenced by loadedSetIdChanged().

◆ reset()

void AreaLoadedSprites::reset ( )

Blank the loaded-sprite slots.

Definition at line 97 of file arealoadedsprites.cpp.

References loadedSetId, loadedSetIdChanged(), loadedSprites, loadedSpritesChanged(), and maxLoadedSprites.

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

◆ save()

void AreaLoadedSprites::save ( SaveFile * saveFile)

Flatten the loaded-sprite slots to the save.

Definition at line 82 of file arealoadedsprites.cpp.

References SaveFileToolset::copyRange(), loadedSetId, loadedSprites, maxLoadedSprites, and SaveFile::toolset.

◆ setTo()

void AreaLoadedSprites::setTo ( MapDBEntry * map,
int x,
int y )

Set to map's sprite set at (x,y).

Definition at line 125 of file arealoadedsprites.cpp.

References MapDBEntry::getToSpriteSet(), loadSpriteSet(), and reset().

Referenced by loadedSetIdChanged().

Member Data Documentation

◆ loadedSetId

int AreaLoadedSprites::loadedSetId
See also
loadedSetId property.

Definition at line 70 of file arealoadedsprites.h.

Referenced by load(), loadSpriteSet(), reset(), and save().

◆ loadedSprites

var8 AreaLoadedSprites::loadedSprites[maxLoadedSprites]

The fixed loaded-sprite picture-ids.

Definition at line 69 of file arealoadedsprites.h.

Referenced by AreaLoadedSprites(), load(), loadSpriteSet(), lSpriteAt(), lSpriteSwap(), reset(), and save().


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