Porytiles
Loading...
Searching...
No Matches
porytiles2::TilemapEntry Class Reference

Represents a tilemap entry referencing a tile with palette and flip attributes. More...

#include <tilemap_entry.hpp>

Public Member Functions

 TilemapEntry ()
 
 TilemapEntry (unsigned int tile_index, unsigned int pal_index, bool hflip, bool vflip)
 
bool is_transparent () const
 Checks if this TilemapEntry refers to the canonically transparent tile.
 
unsigned int tile_index () const
 
void tile_index (unsigned int tile_index)
 
unsigned int pal_index () const
 
void pal_index (unsigned int pal_index)
 
bool hflip () const
 
void hflip (bool hflip)
 
bool vflip () const
 
void vflip (bool vflip)
 

Detailed Description

Represents a tilemap entry referencing a tile with palette and flip attributes.

TilemapEntry stores a reference to a tile (via tile_index) along with palette selection and flip flags. In Pokémon Generation III decomp projects, tile index 0 is conventionally the transparent tile.

Invariant
Default-constructed TilemapEntry is transparent (satisfies SupportsTransparency design invariant). That is, TilemapEntry{} produces an entry with tile_index=0, which refers to the canonical transparent tile.

Definition at line 17 of file tilemap_entry.hpp.

Constructor & Destructor Documentation

◆ TilemapEntry() [1/2]

porytiles2::TilemapEntry::TilemapEntry ( )
inline

Definition at line 19 of file tilemap_entry.hpp.

◆ TilemapEntry() [2/2]

porytiles2::TilemapEntry::TilemapEntry ( unsigned int  tile_index,
unsigned int  pal_index,
bool  hflip,
bool  vflip 
)
inline

Definition at line 21 of file tilemap_entry.hpp.

Member Function Documentation

◆ hflip() [1/2]

bool porytiles2::TilemapEntry::hflip ( ) const
inline

Definition at line 59 of file tilemap_entry.hpp.

◆ hflip() [2/2]

void porytiles2::TilemapEntry::hflip ( bool  hflip)
inline

Definition at line 64 of file tilemap_entry.hpp.

◆ is_transparent()

bool porytiles2::TilemapEntry::is_transparent ( ) const

Checks if this TilemapEntry refers to the canonically transparent tile.

A TilemapEntry is "transparent" if it refers to the canonical transparent tile, which always has index 0. The canonical transparent tile is a concept specific to Pokémon Generation III decomp projects. While not strictly required by the Gen III engine, tile 0 in the vanilla tilesets is always transparent. Porytiles enforces this explicitly.

Returns
True if this TilemapEntry refers to the transparent tile, false otherwise

Definition at line 5 of file tilemap_entry.cpp.

◆ pal_index() [1/2]

unsigned int porytiles2::TilemapEntry::pal_index ( ) const
inline

Definition at line 49 of file tilemap_entry.hpp.

◆ pal_index() [2/2]

void porytiles2::TilemapEntry::pal_index ( unsigned int  pal_index)
inline

Definition at line 54 of file tilemap_entry.hpp.

◆ tile_index() [1/2]

unsigned int porytiles2::TilemapEntry::tile_index ( ) const
inline

Definition at line 39 of file tilemap_entry.hpp.

◆ tile_index() [2/2]

void porytiles2::TilemapEntry::tile_index ( unsigned int  tile_index)
inline

Definition at line 44 of file tilemap_entry.hpp.

◆ vflip() [1/2]

bool porytiles2::TilemapEntry::vflip ( ) const
inline

Definition at line 69 of file tilemap_entry.hpp.

◆ vflip() [2/2]

void porytiles2::TilemapEntry::vflip ( bool  vflip)
inline

Definition at line 74 of file tilemap_entry.hpp.


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