OpenTTD Source: IndustryProductionSpriteGroup Struct Reference

OpenTTD Source 15.0-RC2

Data Fields | Protected Member Functions
IndustryProductionSpriteGroup Struct Reference
Inheritance diagram for IndustryProductionSpriteGroup:

## Data Fields
uint8_t | version = 0
| Production callback version used, or 0xFF if marked invalid.
uint8_t | num_input = 0
| How many subtract_input values are valid.
std::array< int16_t, INDUSTRY_NUM_INPUTS > | subtract_input {}
| Take this much of the input cargo (can be negative, is indirect in cb version 1+)
std::array< CargoType, INDUSTRY_NUM_INPUTS > | cargo_input {}
| Which input cargoes to take from (only cb version 2)
uint8_t | num_output = 0
| How many add_output values are valid.
std::array< uint16_t, INDUSTRY_NUM_OUTPUTS > | add_output {}
| Add this much output cargo when successful (unsigned, is indirect in cb version 1+)
std::array< CargoType, INDUSTRY_NUM_OUTPUTS > | cargo_output {}
| Which output cargoes to add to (only cb version 2)
uint8_t | again = 0
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.
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.
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

Definition at line 247 of file newgrf_spritegroup.h.

## Constructor & Destructor Documentation

## ◆ IndustryProductionSpriteGroup()

IndustryProductionSpriteGroup::IndustryProductionSpriteGroup | ( |  | ) |
| inline

Definition at line 248 of file newgrf_spritegroup.h.

## Member Function Documentation

## ◆ Resolve()

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

Base sprite group resolver.

Implements SpriteGroup.

Definition at line 260 of file newgrf_spritegroup.h.

## Field Documentation

## ◆ add_output

std::array<uint16_t, INDUSTRY_NUM_OUTPUTS> IndustryProductionSpriteGroup::add_output {}

Add this much output cargo when successful (unsigned, is indirect in cb version 1+)

Definition at line 255 of file newgrf_spritegroup.h.

## ◆ again

uint8_t IndustryProductionSpriteGroup::again = 0

Definition at line 257 of file newgrf_spritegroup.h.

## ◆ cargo_input

std::array<CargoType, INDUSTRY_NUM_INPUTS> IndustryProductionSpriteGroup::cargo_input {}

Which input cargoes to take from (only cb version 2)

Definition at line 253 of file newgrf_spritegroup.h.

## ◆ cargo_output

std::array<CargoType, INDUSTRY_NUM_OUTPUTS> IndustryProductionSpriteGroup::cargo_output {}

Which output cargoes to add to (only cb version 2)

Definition at line 256 of file newgrf_spritegroup.h.

## ◆ num_input

uint8_t IndustryProductionSpriteGroup::num_input = 0

How many subtract_input values are valid.

Definition at line 251 of file newgrf_spritegroup.h.

## ◆ num_output

uint8_t IndustryProductionSpriteGroup::num_output = 0

How many add_output values are valid.

Definition at line 254 of file newgrf_spritegroup.h.

## ◆ subtract_input

std::array<int16_t, INDUSTRY_NUM_INPUTS> IndustryProductionSpriteGroup::subtract_input {}

Take this much of the input cargo (can be negative, is indirect in cb version 1+)

Definition at line 252 of file newgrf_spritegroup.h.

## ◆ version

uint8_t IndustryProductionSpriteGroup::version = 0

Production callback version used, or 0xFF if marked invalid.

Definition at line 250 of file newgrf_spritegroup.h.

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

- src/newgrf_spritegroup.h