OpenTTD Source  1.11.2
EngineOverrideManager Struct Reference

Stores the mapping of EngineID to the internal id of newgrfs. More...

#include <engine_base.h>

Inheritance diagram for EngineOverrideManager:

Public Member Functions

void ResetToDefaultMapping ()
 Initializes the EngineOverrideManager with the default engines.
 
EngineID GetID (VehicleType type, uint16 grf_local_id, uint32 grfid)
 Looks up an EngineID in the EngineOverrideManager. More...
 

Static Public Member Functions

static bool ResetToCurrentNewGRFConfig ()
 Tries to reset the engine mapping to match the current NewGRF configuration. More...
 

Static Public Attributes

static const uint NUM_DEFAULT_ENGINES = _engine_counts[VEH_TRAIN] + _engine_counts[VEH_ROAD] + _engine_counts[VEH_SHIP] + _engine_counts[VEH_AIRCRAFT]
 Number of default entries.
 

Detailed Description

Stores the mapping of EngineID to the internal id of newgrfs.

Note: This is not part of Engine, as the data in the EngineOverrideManager and the engine pool get resetted in different cases.

Definition at line 174 of file engine_base.h.

Member Function Documentation

◆ GetID()

EngineID EngineOverrideManager::GetID ( VehicleType  type,
uint16  grf_local_id,
uint32  grfid 
)

Looks up an EngineID in the EngineOverrideManager.

Parameters
typeVehicle type
grf_local_idThe local id in the newgrf
grfidThe GrfID that defines the scope of grf_local_id. If a newgrf overrides the engines of another newgrf, the "scope grfid" is the ID of the overridden newgrf. If dynnamic_engines is disabled, all newgrf share the same ID scope identified by INVALID_GRFID.
Returns
The engine ID if present, or INVALID_ENGINE if not.

Definition at line 507 of file engine.cpp.

References EngineIDMapping::grfid, EngineIDMapping::internal_id, INVALID_ENGINE, and EngineIDMapping::type.

◆ ResetToCurrentNewGRFConfig()

bool EngineOverrideManager::ResetToCurrentNewGRFConfig ( )
static

Tries to reset the engine mapping to match the current NewGRF configuration.

This is only possible when there are currently no vehicles in the game.

Returns
false if resetting failed due to present vehicles.

Definition at line 524 of file engine.cpp.

References IsCompanyBuildableVehicleType(), and Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_vehicle_pool >::Iterate().

Referenced by ResetLandscapeConfirmationCallback().


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