Porytiles
Loading...
Searching...
No Matches
porytiles::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 (std::size_t tile_index, std::size_t pal_index, bool hflip, bool vflip)
 
bool is_transparent () const
 Checks if this TilemapEntry refers to the canonically transparent tile.
 
std::size_t tile_index () const
 
void tile_index (std::size_t tile_index)
 
std::size_t pal_index () const
 
void pal_index (std::size_t pal_index)
 
bool h_flip () const
 
void h_flip (bool hflip)
 
bool v_flip () const
 
void v_flip (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]

porytiles::TilemapEntry::TilemapEntry ( )
inline

Definition at line 19 of file tilemap_entry.hpp.

◆ TilemapEntry() [2/2]

porytiles::TilemapEntry::TilemapEntry ( std::size_t  tile_index,
std::size_t  pal_index,
bool  hflip,
bool  vflip 
)
inline

Definition at line 21 of file tilemap_entry.hpp.

Member Function Documentation

◆ h_flip() [1/2]

bool porytiles::TilemapEntry::h_flip ( ) const
inline

Definition at line 59 of file tilemap_entry.hpp.

◆ h_flip() [2/2]

void porytiles::TilemapEntry::h_flip ( bool  hflip)
inline

Definition at line 64 of file tilemap_entry.hpp.

◆ is_transparent()

bool porytiles::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]

std::size_t porytiles::TilemapEntry::pal_index ( ) const
inline

Definition at line 49 of file tilemap_entry.hpp.

◆ pal_index() [2/2]

void porytiles::TilemapEntry::pal_index ( std::size_t  pal_index)
inline

Definition at line 54 of file tilemap_entry.hpp.

◆ tile_index() [1/2]

std::size_t porytiles::TilemapEntry::tile_index ( ) const
inline

Definition at line 39 of file tilemap_entry.hpp.

◆ tile_index() [2/2]

void porytiles::TilemapEntry::tile_index ( std::size_t  tile_index)
inline

Definition at line 44 of file tilemap_entry.hpp.

◆ v_flip() [1/2]

bool porytiles::TilemapEntry::v_flip ( ) const
inline

Definition at line 69 of file tilemap_entry.hpp.

◆ v_flip() [2/2]

void porytiles::TilemapEntry::v_flip ( bool  vflip)
inline

Definition at line 74 of file tilemap_entry.hpp.


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