OpenTTD Source 20250509-master-gb1cdf5024f
|
Action 2 sprite layout for houses, industry tiles, objects and airport tiles. More...
#include <newgrf_spritegroup.h>
Public Member Functions | |
SpriteLayoutProcessor | ProcessRegisters (const ResolverObject &object, uint8_t *stage) const |
Process registers and the construction stage into the sprite layout. | |
![]() | |
void * | operator new (size_t size) |
Allocates space for new Titem. | |
void * | operator new (size_t size, Tindex index) |
Allocates space for new Titem with given index. | |
void * | operator new (size_t, void *ptr) |
Allocates space for new Titem at given memory address. | |
void | operator delete (void *p, size_t size) |
Marks Titem as free. | |
Data Fields | |
NewGRFSpriteLayout | dts {} |
![]() | |
uint32_t | nfo_line = 0 |
SpriteGroupType | type {} |
![]() | |
Tindex | index |
Index of this pool item. | |
Static Public Attributes | |
static constexpr SpriteGroupType | TYPE = SGT_TILELAYOUT |
Additional Inherited Members | |
![]() | |
typedef struct Pool< Titem, Tindex, Tgrowth_step, Tpool_type, Tcache > | Pool |
Type of the pool this item is going to be part of. | |
![]() | |
static ResolverResult | Resolve (const SpriteGroup *group, ResolverObject &object, bool top_level=true) |
ResolverObject (re)entry point. | |
![]() | |
static bool | CanAllocateItem (size_t n=1) |
Helper functions so we can use PoolItem::Function() instead of _poolitem_pool.Function() | |
static bool | CleaningPool () |
Returns current state of pool cleaning - yes or no. | |
static bool | IsValidID (auto index) |
Tests whether given index can be used to get valid (non-nullptr) Titem. | |
static Titem * | Get (auto index) |
Returns Titem with given index. | |
static Titem * | GetIfValid (auto index) |
Returns Titem with given index. | |
static size_t | GetPoolSize () |
Returns first unused index. | |
static size_t | GetNumItems () |
Returns number of valid items in the pool. | |
static void | PostDestructor (size_t index) |
Dummy function called after destructor of each member. | |
static Pool::IterateWrapper< Titem > | Iterate (size_t from=0) |
Returns an iterable ensemble of all valid Titem. | |
![]() | |
SpriteGroup (SpriteGroupType type) | |
virtual ResolverResult | Resolve (ResolverObject &object) const |
Base sprite group resolver. | |
Action 2 sprite layout for houses, industry tiles, objects and airport tiles.
Definition at line 243 of file newgrf_spritegroup.h.
|
inline |
Definition at line 246 of file newgrf_spritegroup.h.
|
inline |
Definition at line 247 of file newgrf_spritegroup.h.
SpriteLayoutProcessor TileLayoutSpriteGroup::ProcessRegisters | ( | const ResolverObject & | object, |
uint8_t * | stage | ||
) | const |
Process registers and the construction stage into the sprite layout.
The passed construction stage might get reset to zero, if it gets incorporated into the layout during the preprocessing.
object | ResolverObject owning the temporary storage. | |
[in,out] | stage | Construction stage (0-3), or nullptr if not applicable. |
Definition at line 289 of file newgrf_spritegroup.cpp.
References NewGRFSpriteLayout::consistent_max_offset, GetConstructionStageOffset(), NewGRFSpriteLayout::NeedsPreprocessing(), and SpriteLayoutProcessor::ProcessRegisters().
Referenced by DrawNewHouseTileInGUI(), DrawNewObjectTile(), DrawNewObjectTileInGUI(), and DrawRoadStopTile().
NewGRFSpriteLayout TileLayoutSpriteGroup::dts {} |
Definition at line 249 of file newgrf_spritegroup.h.
|
staticconstexpr |
Definition at line 244 of file newgrf_spritegroup.h.