OpenTTD Source: SpriteGroup Struct Reference

OpenTTD Source 15.0-beta1

Public Member Functions | Static Public Member Functions | Data Fields | Protected Member Functions
SpriteGroup Struct Reference
Inheritance diagram for SpriteGroup:

## Public Member Functions
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.

## Static Public Member Functions
static const SpriteGroup * | 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, 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.

## Data Fields
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.

## Protected Member Functions
| SpriteGroup (SpriteGroupType type)
virtual const SpriteGroup * | Resolve (ResolverObject &object) const
| Base sprite group resolver.

## 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.

## Detailed Description

Definition at line 57 of file newgrf_spritegroup.h.

## Constructor & Destructor Documentation

## ◆ SpriteGroup()

SpriteGroup::SpriteGroup | ( | SpriteGroupType | type | ) |
| inlineprotected

Definition at line 59 of file newgrf_spritegroup.h.

## Member Function Documentation

## ◆ GetCallbackResult()

virtual uint16_t SpriteGroup::GetCallbackResult | ( |  | ) | const
| inlinevirtual

Definition at line 71 of file newgrf_spritegroup.h.

## ◆ GetNumResults()

virtual uint8_t SpriteGroup::GetNumResults | ( |  | ) | const
| inlinevirtual

Definition at line 70 of file newgrf_spritegroup.h.

## ◆ GetResult()

virtual SpriteID SpriteGroup::GetResult | ( |  | ) | const
| inlinevirtual

Definition at line 69 of file newgrf_spritegroup.h.

## ◆ Resolve() [1/2]

const SpriteGroup * SpriteGroup::Resolve | ( | const SpriteGroup * | group,
|  | ResolverObject & | object,
|  | bool | top_level = `true`
| ) |  |
| static

ResolverObject (re)entry point.

This cannot be made a call to a virtual function because virtual functions do not like nullptr and checking for nullptr everywhere is more cumbersome than this little helper function.

Parameters

  group | the group to resolve for
  object | information needed to resolve the group
  top_level | true if this is a top-level SpriteGroup, false if used nested in another SpriteGroup.

Returns
  the resolved group

Definition at line 34 of file newgrf_spritegroup.cpp.

References NewGRFProfiler::grffile, and Resolve().

## ◆ Resolve() [2/2]

virtual const SpriteGroup * SpriteGroup::Resolve | ( | ResolverObject & | object | ) | const
| inlineprotectedvirtual

Base sprite group resolver.

Reimplemented in RealSpriteGroup, DeterministicSpriteGroup, and RandomizedSpriteGroup.

Definition at line 61 of file newgrf_spritegroup.h.

Referenced by DoTriggerIndustryTile(), DrawNewHouseTileInGUI(), DrawNewObjectTile(), DrawNewObjectTileInGUI(), DrawRoadStopTile(), GetCanalSprite(), GetCustomCargoSprite(), GetCustomRailSprite(), GetCustomRoadSprite(), GetCustomSignalSprite(), GetCustomStationFoundationRelocation(), GetCustomStationRelocation(), IndustryProductionCallback(), ResolverObject::Resolve(), Resolve(), DeterministicSpriteGroup::Resolve(), RandomizedSpriteGroup::Resolve(), TriggerRoadStopRandomisation(), and TriggerStationRandomisation().

## Field Documentation

## ◆ nfo_line

uint32_t SpriteGroup::nfo_line

Definition at line 66 of file newgrf_spritegroup.h.

## ◆ type

SpriteGroupType SpriteGroup::type

Definition at line 67 of file newgrf_spritegroup.h.

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

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