OpenTTD Source: TileLayoutSpriteGroup Struct Reference

OpenTTD Source 15.0-RC2

Public Member Functions | Data Fields | Protected Member Functions
TileLayoutSpriteGroup Struct Reference

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

`#include <newgrf_spritegroup.h>`

Inheritance diagram for TileLayoutSpriteGroup:

## Public Member Functions
SpriteLayoutProcessor | ProcessRegisters (const ResolverObject &object, uint8_t *stage) const
| Process registers and the construction stage into the sprite layout.
Public Member Functions inherited from Pool< Titem, Tindex, Tgrowth_step, Tpool_type, Tcache >::PoolItem<&_spritegroup_pool >
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 {}
Data Fields inherited from SpriteGroup
uint32_t | nfo_line = 0
Data Fields inherited from Pool< Titem, Tindex, Tgrowth_step, Tpool_type, Tcache >::PoolItem<&_spritegroup_pool >
Tindex | index
| Index of this pool item.

## Protected Member Functions
ResolverResult | Resolve (ResolverObject &) const override
| Base sprite group resolver.

## Additional Inherited Members
Public Types inherited from Pool< Titem, Tindex, Tgrowth_step, Tpool_type, Tcache >::PoolItem<&_spritegroup_pool >
typedef struct Pool< Titem, Tindex, Tgrowth_step, Tpool_type, Tcache > | Pool
| Type of the pool this item is going to be part of.
Static Public Member Functions inherited from SpriteGroup
static ResolverResult | Resolve (const SpriteGroup *group, ResolverObject &object, bool top_level=true)
| ResolverObject (re)entry point.
Static Public Member Functions inherited from Pool< Titem, Tindex, Tgrowth_step, Tpool_type, Tcache >::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 (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.

## Detailed Description

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

Definition at line 236 of file newgrf_spritegroup.h.

## Constructor & Destructor Documentation

## ◆ TileLayoutSpriteGroup()

TileLayoutSpriteGroup::TileLayoutSpriteGroup | ( |  | ) |
| inline

Definition at line 237 of file newgrf_spritegroup.h.

## Member Function Documentation

## ◆ ProcessRegisters()

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.

Parameters

  | object | ResolverObject owning the temporary storage.
  [in,out] | stage | Construction stage (0-3), or nullptr if not applicable.

Returns
  sprite layout to draw.

Definition at line 290 of file newgrf_spritegroup.cpp.

References NewGRFSpriteLayout::consistent_max_offset, GetConstructionStageOffset(), NewGRFSpriteLayout::NeedsPreprocessing(), and SpriteLayoutProcessor::ProcessRegisters().

Referenced by DrawNewHouseTileInGUI(), DrawNewObjectTile(), DrawNewObjectTileInGUI(), and DrawRoadStopTile().

## ◆ Resolve()

ResolverResult TileLayoutSpriteGroup::Resolve | ( | ResolverObject & | object | ) | const
| inlineoverrideprotectedvirtual

Base sprite group resolver.

Implements SpriteGroup.

Definition at line 244 of file newgrf_spritegroup.h.

## Field Documentation

## ◆ dts

NewGRFSpriteLayout TileLayoutSpriteGroup::dts {}

Definition at line 239 of file newgrf_spritegroup.h.

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

- src/newgrf_spritegroup.h
- src/newgrf_spritegroup.cpp