OpenTTD Source 20241224-master-gf74b0cf984
TileLayoutSpriteGroup Struct Reference

Action 2 sprite layout for houses, industry tiles, objects and airport tiles. More...

#include <newgrf_spritegroup.h>

Inheritance diagram for TileLayoutSpriteGroup:
SpriteGroup Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_spritegroup_pool >

Public Member Functions

const DrawTileSpritesProcessRegisters (uint8_t *stage) const
 Process registers and the construction stage into the sprite layout.
 
- Public Member Functions inherited from SpriteGroup
virtual SpriteID GetResult () const
 
virtual uint8_t GetNumResults () const
 
virtual uint16_t GetCallbackResult () const
 
- Public Member Functions inherited from Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_spritegroup_pool >
void * operator new (size_t size)
 Allocates space for new Titem.
 
void * operator new (size_t size, size_t 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)
 Marks Titem as free.
 

Data Fields

NewGRFSpriteLayout dts
 
- Data Fields inherited from SpriteGroup
uint32_t nfo_line
 
SpriteGroupType type
 
- Data Fields inherited from Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_spritegroup_pool >
Tindex index
 Index of this pool item.
 

Additional Inherited Members

- Public Types inherited from Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_spritegroup_pool >
typedef struct Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero > Pool
 Type of the pool this item is going to be part of.
 
- Static Public Member Functions inherited from SpriteGroup
static const SpriteGroupResolve (const SpriteGroup *group, ResolverObject &object, bool top_level=true)
 ResolverObject (re)entry point.
 
- Static Public Member Functions inherited from Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_spritegroup_pool >
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 (size_t index)
 Tests whether given index can be used to get valid (non-nullptr) Titem.
 
static Titem * Get (size_t index)
 Returns Titem with given index.
 
static Titem * GetIfValid (size_t 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.
 
- Protected Member Functions inherited from SpriteGroup
 SpriteGroup (SpriteGroupType type)
 
virtual const SpriteGroupResolve (ResolverObject &object) const
 Base sprite group resolver.
 

Detailed Description

Action 2 sprite layout for houses, industry tiles, objects and airport tiles.

Definition at line 248 of file newgrf_spritegroup.h.

Constructor & Destructor Documentation

◆ TileLayoutSpriteGroup()

TileLayoutSpriteGroup::TileLayoutSpriteGroup ( )
inline

Definition at line 249 of file newgrf_spritegroup.h.

◆ ~TileLayoutSpriteGroup()

TileLayoutSpriteGroup::~TileLayoutSpriteGroup ( )
inline

Definition at line 250 of file newgrf_spritegroup.h.

Member Function Documentation

◆ ProcessRegisters()

const DrawTileSprites * TileLayoutSpriteGroup::ProcessRegisters ( 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.

Parameters
[in,out]stageConstruction stage (0-3), or nullptr if not applicable.
Returns
sprite layout to draw.

Definition at line 289 of file newgrf_spritegroup.cpp.

References NewGRFSpriteLayout::consistent_max_offset, GetConstructionStageOffset(), NewGRFSpriteLayout::GetLayout(), DrawTileSprites::ground, NewGRFSpriteLayout::NeedsPreprocessing(), NewGRFSpriteLayout::PrepareLayout(), NewGRFSpriteLayout::ProcessRegisters(), and DrawTileSprites::seq.

Referenced by DrawTileLayout().

Field Documentation

◆ dts

NewGRFSpriteLayout TileLayoutSpriteGroup::dts

Definition at line 252 of file newgrf_spritegroup.h.


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