OpenTTD Source: GrfProcessingState Struct Reference

OpenTTD Source 15.0-RC2

Data Structures | Public Member Functions | Data Fields | Private Attributes
GrfProcessingState Struct Reference

Temporary data during loading of GRFs. More...

`#include <newgrf_internal.h>`

## Data Structures
struct | SpriteSet
| Definition of a single Action1 spriteset. More...

## Public Member Functions
void | ClearDataForNextFile ()
| Clear temporary data before processing the next file in the current loading stage.
void | AddSpriteSets (GrfSpecFeature feature, SpriteID first_sprite, uint first_set, uint numsets, uint numents)
| Records new spritesets.
bool | HasValidSpriteSets (GrfSpecFeature feature) const
| Check whether there are any valid spritesets for a feature.
bool | IsValidSpriteSet (GrfSpecFeature feature, uint set) const
| Check whether a specific set is defined.
SpriteID | GetSprite (GrfSpecFeature feature, uint set) const
| Returns the first sprite of a spriteset.
uint | GetNumEnts (GrfSpecFeature feature, uint set) const
| Returns the number of sprites in a spriteset.

## Data Fields
GrfLoadingStage | stage
| Current loading stage.
SpriteID | spriteid
| First available SpriteID for loading realsprites.
SpriteFile * | file
| File of currently processed GRF file.
GRFFile * | grffile
| Currently processed GRF file.
GRFConfig * | grfconfig
| Config of the currently processed GRF file.
uint32_t | nfo_line
| Currently processed pseudo sprite number in the GRF.
int | skip_sprites
| Number of pseudo sprites to skip before processing the next one. (-1 to skip to end of file)
std::array< const SpriteGroup *, MAX_SPRITEGROUP+1 > | spritegroups {}

## Private Attributes
std::map< uint, SpriteSet > | spritesets [GSF_END]
| Currently referenceable spritesets.

## Detailed Description

Temporary data during loading of GRFs.

Definition at line 49 of file newgrf_internal.h.

## Member Function Documentation

## ◆ AddSpriteSets()

void GrfProcessingState::AddSpriteSets | ( | GrfSpecFeature | feature,
|  | SpriteID | first_sprite,
|  | uint | first_set,
|  | uint | numsets,
|  | uint | numents
| ) |  |
| inline

Records new spritesets.

Parameters

  feature | GrfSpecFeature the set is defined for.
  first_sprite | SpriteID of the first sprite in the set.
  first_set | First spriteset to define.
  numsets | Number of sets to define.
  numents | Number of sprites per set to define.

Definition at line 98 of file newgrf_internal.h.

References GrfProcessingState::SpriteSet::num_sprites, and GrfProcessingState::SpriteSet::sprite.

## ◆ ClearDataForNextFile()

void GrfProcessingState::ClearDataForNextFile | ( |  | ) |
| inline

Clear temporary data before processing the next file in the current loading stage.

Definition at line 78 of file newgrf_internal.h.

Referenced by LoadNewGRF(), and LoadNewGRFFileFromFile().

## ◆ GetNumEnts()

uint GrfProcessingState::GetNumEnts | ( | GrfSpecFeature | feature,
|  | uint | set
| ) |  | const
| inline

Returns the number of sprites in a spriteset.

Parameters

  feature | GrfSpecFeature to query.
  set | Set to query.

Returns
  Number of sprites in the set.

Definition at line 151 of file newgrf_internal.h.

References IsValidSpriteSet().

Referenced by CreateGroupFromGroupID(), and ReadSpriteLayoutSprite().

## ◆ GetSprite()

SpriteID GrfProcessingState::GetSprite | ( | GrfSpecFeature | feature,
|  | uint | set
| ) |  | const
| inline

Returns the first sprite of a spriteset.

Parameters

  feature | GrfSpecFeature to query.
  set | Set to query.

Returns
  First sprite of the set.

Definition at line 139 of file newgrf_internal.h.

References IsValidSpriteSet().

Referenced by CreateGroupFromGroupID(), and ReadSpriteLayoutSprite().

## ◆ HasValidSpriteSets()

bool GrfProcessingState::HasValidSpriteSets | ( | GrfSpecFeature | feature | ) | const
| inline

Check whether there are any valid spritesets for a feature.

Parameters

  feature | GrfSpecFeature to check.

Returns
  true if there are any valid sets.

Note
  Spritesets with zero sprites are valid to allow callback-failures.

Definition at line 114 of file newgrf_internal.h.

## ◆ IsValidSpriteSet()

bool GrfProcessingState::IsValidSpriteSet | ( | GrfSpecFeature | feature,
|  | uint | set
| ) |  | const
| inline

Check whether a specific set is defined.

Parameters

  feature | GrfSpecFeature to check.
  set | Set to check.

Returns
  true if the set is valid.

Note
  Spritesets with zero sprites are valid to allow callback-failures.

Definition at line 127 of file newgrf_internal.h.

Referenced by CreateGroupFromGroupID(), GetNumEnts(), GetSprite(), and ReadSpriteLayoutSprite().

## Field Documentation

## ◆ file

SpriteFile* GrfProcessingState::file

File of currently processed GRF file.

Definition at line 66 of file newgrf_internal.h.

Referenced by DefineGotoLabel(), ImportGRFSound(), LoadFontGlyph(), LoadGRFSound(), and LoadNewGRFFileFromFile().

## ◆ grfconfig

GRFConfig* GrfProcessingState::grfconfig

Config of the currently processed GRF file.

Definition at line 68 of file newgrf_internal.h.

Referenced by ChangeGRFBlitter(), ChangeGRFDescription(), ChangeGRFMinVersion(), ChangeGRFName(), ChangeGRFNumUsedParams(), ChangeGRFPalette(), ChangeGRFParamDefault(), ChangeGRFParamDescription(), ChangeGRFParamName(), ChangeGRFParamValueNames(), ChangeGRFURL(), ChangeGRFVersion(), DisableGrf(), DisableStaticNewGRFInfluencingNonStaticNewGRFs(), GrfMsgI(), GRFUnsafe(), HandleParameterInfo(), LoadNewGRF(), LoadNewGRFFileFromFile(), ParamSet(), and ResetNewGRF().

## ◆ grffile

GRFFile* GrfProcessingState::grffile

Currently processed GRF file.

Definition at line 67 of file newgrf_internal.h.

Referenced by AddStringForMapping(), AircraftVehicleChangeInfo(), AirportChangeInfo(), BuildCargoTranslationMap(), CanalChangeInfo(), CargoReserveInfo(), DefineGotoLabel(), DisableGrf(), FeatureTownName(), GetCurrentGRFOverride(), GlobalVarChangeInfo(), IndustriesChangeInfo(), IndustrytilesChangeInfo(), InitNewGRFFile(), IsGRMReservedSprite(), LoadNewGRF(), LoadNewGRFFile(), LoadTranslationTable(), ObjectChangeInfo(), ParamSet(), RailTypeChangeInfo(), RailVehicleChangeInfo(), ReadBadgeList(), ResetNewGRF(), RoadTypeChangeInfo(), RoadVehicleChangeInfo(), ShipVehicleChangeInfo(), SoundEffectChangeInfo(), StationChangeInfo(), TownHouseChangeInfo(), TranslateGRFStrings(), and TranslateRefitMask().

## ◆ nfo_line

uint32_t GrfProcessingState::nfo_line

Currently processed pseudo sprite number in the GRF.

Definition at line 69 of file newgrf_internal.h.

Referenced by DefineGotoLabel(), DisableGrf(), GrfMsgI(), LoadFontGlyph(), LoadNewGRFFileFromFile(), and ParamSet().

## ◆ skip_sprites

int GrfProcessingState::skip_sprites

Number of pseudo sprites to skip before processing the next one. (-1 to skip to end of file)

Definition at line 72 of file newgrf_internal.h.

Referenced by DisableGrf(), GRFUnsafe(), LoadNewGRFFileFromFile(), ParamSet(), ReadSpriteLayout(), SkipAct12(), and StationChangeInfo().

## ◆ spritegroups

std::array<const SpriteGroup *, MAX_SPRITEGROUP + 1> GrfProcessingState::spritegroups {}

Definition at line 75 of file newgrf_internal.h.

## ◆ spriteid

SpriteID GrfProcessingState::spriteid

First available SpriteID for loading realsprites.

Definition at line 63 of file newgrf_internal.h.

Referenced by CreateGroupFromGroupID(), LoadFontGlyph(), LoadNewGRF(), and ParamSet().

## ◆ spritesets

std::map<uint, SpriteSet> GrfProcessingState::spritesets[GSF_END]
| private

Currently referenceable spritesets.

Definition at line 58 of file newgrf_internal.h.

## ◆ stage

GrfLoadingStage GrfProcessingState::stage

Current loading stage.

Definition at line 62 of file newgrf_internal.h.

Referenced by LoadNewGRF(), and ParamSet().

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

- src/newgrf/newgrf_internal.h