OpenTTD Source  20240919-master-gdf0233f4c2
RailTypeScopeResolver Struct Reference

Resolver for the railtype scope. More...

#include <newgrf_railtype.h>

Inheritance diagram for RailTypeScopeResolver:
ScopeResolver

Public Member Functions

 RailTypeScopeResolver (ResolverObject &ro, const RailTypeInfo *rti, TileIndex tile, TileContext context)
 Constructor of the railtype scope resolvers. More...
 
uint32_t GetRandomBits () const override
 Get a few random bits. More...
 
uint32_t GetVariable (uint8_t variable, [[maybe_unused]] uint32_t parameter, bool &available) const override
 Get a variable value. More...
 
- Public Member Functions inherited from ScopeResolver
 ScopeResolver (ResolverObject &ro)
 
virtual uint32_t GetTriggers () const
 Get the triggers. More...
 
virtual void StorePSA (uint reg, int32_t value)
 Store a value into the persistent storage area (PSA). More...
 

Data Fields

TileIndex tile
 Tracktile. For track on a bridge this is the southern bridgehead.
 
TileContext context
 Are we resolving sprites for the upper halftile, or on a bridge?
 
const RailTypeInforti
 
- Data Fields inherited from ScopeResolver
ResolverObjectro
 Surrounding resolver object.
 

Detailed Description

Resolver for the railtype scope.

Definition at line 18 of file newgrf_railtype.h.

Constructor & Destructor Documentation

◆ RailTypeScopeResolver()

RailTypeScopeResolver::RailTypeScopeResolver ( ResolverObject ro,
const RailTypeInfo rti,
TileIndex  tile,
TileContext  context 
)
inline

Constructor of the railtype scope resolvers.

Parameters
roSurrounding resolver.
tileTile containing the track. For track on a bridge this is the southern bridgehead.
contextAre we resolving sprites for the upper halftile, or on a bridge?

Definition at line 29 of file newgrf_railtype.h.

Member Function Documentation

◆ GetRandomBits()

uint32_t RailTypeScopeResolver::GetRandomBits ( ) const
overridevirtual

Get a few random bits.

Default implementation has no random bits.

Returns
Random bits.

Reimplemented from ScopeResolver.

Definition at line 20 of file newgrf_railtype.cpp.

References CountBits(), GB(), tile, TILE_SIZE, TileX(), and TileY().

◆ GetVariable()

uint32_t RailTypeScopeResolver::GetVariable ( uint8_t  variable,
[[maybe_unused] ] uint32_t  parameter,
bool &  available 
) const
overridevirtual

Get a variable value.

Default implementation has no available variables.

Parameters
variableVariable to read
parameterParameter for 60+x variables
[out]availableSet to false, in case the variable does not exist.
Returns
Value

Reimplemented from ScopeResolver.

Definition at line 26 of file newgrf_railtype.cpp.

References TimerGameCalendar::date, INVALID_TILE, and tile.


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