OpenTTD Source 20260917-master-gec444f7315
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 {}
 Currently referenceable spritegroups.

Private Attributes

EnumIndexArray< std::map< uint, SpriteSet >, GrfSpecFeature, GrfSpecFeature::End > spritesets {}
 Currently referenceable spritesets.

Detailed Description

Temporary data during loading of GRFs.

Definition at line 89 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
featureGrfSpecFeature the set is defined for.
first_spriteSpriteID of the first sprite in the set.
first_setFirst spriteset to define.
numsetsNumber of sets to define.
numentsNumber of sprites per set to define.

Definition at line 138 of file newgrf_internal.h.

References End, 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 118 of file newgrf_internal.h.

◆ GetNumEnts()

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

Returns the number of sprites in a spriteset.

Parameters
featureGrfSpecFeature to query.
setSet to query.
Returns
Number of sprites in the set.

Definition at line 191 of file newgrf_internal.h.

References IsValidSpriteSet().

◆ GetSprite()

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

Returns the first sprite of a spriteset.

Parameters
featureGrfSpecFeature to query.
setSet to query.
Returns
First sprite of the set.

Definition at line 179 of file newgrf_internal.h.

References IsValidSpriteSet().

◆ HasValidSpriteSets()

bool GrfProcessingState::HasValidSpriteSets ( GrfSpecFeature feature) const
inline

Check whether there are any valid spritesets for a feature.

Parameters
featureGrfSpecFeature to check.
Returns
true if there are any valid sets.
Note
Spritesets with zero sprites are valid to allow callback-failures.

Definition at line 154 of file newgrf_internal.h.

References End.

◆ IsValidSpriteSet()

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

Check whether a specific set is defined.

Parameters
featureGrfSpecFeature to check.
setSet to check.
Returns
true if the set is valid.
Note
Spritesets with zero sprites are valid to allow callback-failures.

Definition at line 167 of file newgrf_internal.h.

References End.

Referenced by GetNumEnts(), and GetSprite().

Field Documentation

◆ file

SpriteFile* GrfProcessingState::file

File of currently processed GRF file.

Definition at line 106 of file newgrf_internal.h.

◆ grfconfig

GRFConfig* GrfProcessingState::grfconfig

Config of the currently processed GRF file.

Definition at line 108 of file newgrf_internal.h.

◆ grffile

GRFFile* GrfProcessingState::grffile

Currently processed GRF file.

Definition at line 107 of file newgrf_internal.h.

◆ nfo_line

uint32_t GrfProcessingState::nfo_line

Currently processed pseudo sprite number in the GRF.

Definition at line 109 of file newgrf_internal.h.

◆ 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 112 of file newgrf_internal.h.

◆ spritegroups

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

Currently referenceable spritegroups.

Definition at line 115 of file newgrf_internal.h.

◆ spriteid

SpriteID GrfProcessingState::spriteid

First available SpriteID for loading realsprites.

Definition at line 103 of file newgrf_internal.h.

◆ spritesets

EnumIndexArray<std::map<uint, SpriteSet>, GrfSpecFeature, GrfSpecFeature::End> GrfProcessingState::spritesets {}
private

Currently referenceable spritesets.

Definition at line 98 of file newgrf_internal.h.

◆ stage

GrfLoadingStage GrfProcessingState::stage

Current loading stage.

Definition at line 102 of file newgrf_internal.h.


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