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

One sprite-set: the pre-loaded sprite group for an outdoor area. More...

#include <spriteSet.h>

Collaboration diagram for SpriteSetDBEntry:

Public Member Functions

 SpriteSetDBEntry ()
 Empty entry.
 SpriteSetDBEntry (QJsonValue &data)
 Build from a JSON value.
void deepLink ()
 Resolve sprite list + split neighbours + maps.
bool isDynamic () const
 True if this set is split by coordinate.
QVector< SpriteDBEntry * > getSprites (var8 x, var8 y) const
 Sprites active at (x,y).

Public Attributes

var8 ind = 0
 Set index.
QString split
 Split descriptor.
QVector< QString > spriteList
 Sprite names in this set.
QVector< SpriteDBEntry * > toSprites
 Resolved sprites (deepLink).
std::optional< var8splitAt
 Coordinate the set splits at, if dynamic.
std::optional< var8setWN
 West/North sub-set index, if split.
std::optional< var8setES
 East/South sub-set index, if split.
SpriteSetDBEntrytoSetWN = nullptr
 Resolved West/North set (deepLink).
SpriteSetDBEntrytoSetES = nullptr
 Resolved East/South set (deepLink).
QVector< MapDBEntry * > toMaps
 Maps using this set (back-ref).

Detailed Description

One sprite-set: the pre-loaded sprite group for an outdoor area.

Plain-struct DB entry. A set lists up to 11 sprites (spriteList resolved to toSprites). Large maps split into two sets by coordinate – splitAt plus the toSetWN / toSetES neighbours; isDynamic() reports the split case and getSprites(x,y) returns the right set's sprites for a position. toMaps is a back-ref. See db.md.

See also
SpriteSetDB, AreaLoadedSprites (the save-side loaded sprites).

Definition at line 47 of file spriteSet.h.

Constructor & Destructor Documentation

◆ SpriteSetDBEntry() [1/2]

SpriteSetDBEntry::SpriteSetDBEntry ( )

Empty entry.

Definition at line 35 of file spriteSet.cpp.

Referenced by deepLink().

◆ SpriteSetDBEntry() [2/2]

SpriteSetDBEntry::SpriteSetDBEntry ( QJsonValue & data)

Build from a JSON value.

Definition at line 36 of file spriteSet.cpp.

References ind, setES, setWN, split, splitAt, and spriteList.

Member Function Documentation

◆ deepLink()

void SpriteSetDBEntry::deepLink ( )

Resolve sprite list + split neighbours + maps.

Definition at line 54 of file spriteSet.cpp.

References SpritesDB::getIndAt(), SpriteSetDB::getIndAt(), SpritesDB::inst(), SpriteSetDB::inst(), setES, setWN, spriteList, SpriteSetDBEntry(), toSetES, toSetWN, and toSprites.

◆ getSprites()

QVector< SpriteDBEntry * > SpriteSetDBEntry::getSprites ( var8 x,
var8 y ) const
nodiscard

Sprites active at (x,y).

Definition at line 81 of file spriteSet.cpp.

References isDynamic(), split, splitAt, toSetES, toSetWN, and toSprites.

Referenced by AreaLoadedSprites::loadSpriteSet().

◆ isDynamic()

bool SpriteSetDBEntry::isDynamic ( ) const
nodiscard

True if this set is split by coordinate.

Definition at line 79 of file spriteSet.cpp.

References ind.

Referenced by getSprites().

Member Data Documentation

◆ ind

var8 SpriteSetDBEntry::ind = 0

Set index.

Definition at line 55 of file spriteSet.h.

Referenced by isDynamic(), AreaLoadedSprites::loadSpriteSet(), and SpriteSetDBEntry().

◆ setES

std::optional<var8> SpriteSetDBEntry::setES

East/South sub-set index, if split.

Definition at line 63 of file spriteSet.h.

Referenced by deepLink(), and SpriteSetDBEntry().

◆ setWN

std::optional<var8> SpriteSetDBEntry::setWN

West/North sub-set index, if split.

Definition at line 62 of file spriteSet.h.

Referenced by deepLink(), and SpriteSetDBEntry().

◆ split

QString SpriteSetDBEntry::split

Split descriptor.

Definition at line 56 of file spriteSet.h.

Referenced by getSprites(), and SpriteSetDBEntry().

◆ splitAt

std::optional<var8> SpriteSetDBEntry::splitAt

Coordinate the set splits at, if dynamic.

Definition at line 61 of file spriteSet.h.

Referenced by getSprites(), and SpriteSetDBEntry().

◆ spriteList

QVector<QString> SpriteSetDBEntry::spriteList

Sprite names in this set.

Definition at line 58 of file spriteSet.h.

Referenced by deepLink(), and SpriteSetDBEntry().

◆ toMaps

QVector<MapDBEntry*> SpriteSetDBEntry::toMaps

Maps using this set (back-ref).

Definition at line 68 of file spriteSet.h.

◆ toSetES

SpriteSetDBEntry* SpriteSetDBEntry::toSetES = nullptr

Resolved East/South set (deepLink).

Definition at line 66 of file spriteSet.h.

Referenced by deepLink(), and getSprites().

◆ toSetWN

SpriteSetDBEntry* SpriteSetDBEntry::toSetWN = nullptr

Resolved West/North set (deepLink).

Definition at line 65 of file spriteSet.h.

Referenced by deepLink(), and getSprites().

◆ toSprites

QVector<SpriteDBEntry*> SpriteSetDBEntry::toSprites

Resolved sprites (deepLink).

Definition at line 59 of file spriteSet.h.

Referenced by deepLink(), and getSprites().


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