OpenTTD Source 20260206-master-g4d4e37dbf1
ObjectOverrideManager Class Reference
Inheritance diagram for ObjectOverrideManager:
OverrideManagerBase

Public Member Functions

 ObjectOverrideManager (uint16_t offset, uint16_t maximum, uint16_t invalid)
void SetEntitySpec (ObjectSpec &&spec)
 Method to install the new object data in its proper slot The slot assignment is internal of this method, since it requires checking what is available.
Public Member Functions inherited from OverrideManagerBase
 OverrideManagerBase (uint16_t offset, uint16_t maximum, uint16_t invalid)
 Constructor of generic class.
void ResetOverride ()
 Resets the override, which is used while initializing game.
void ResetMapping ()
 Resets the mapping, which is used while initializing game.
void Add (uint16_t local_id, uint32_t grfid, uint entity_type)
 Since the entity IDs defined by the GRF file does not necessarily correlate to those used by the game, the IDs used for overriding old entities must be translated when the entity spec is set.
virtual uint16_t AddEntityID (uint16_t grf_local_id, uint32_t grfid, uint16_t substitute_id)
 Reserves a place in the mapping array for an entity to be installed.
uint32_t GetGRFID (uint16_t entity_id) const
 Gives the GRFID of the file the entity belongs to.
uint16_t GetSubstituteID (uint16_t entity_id) const
 Gives the substitute of the entity, as specified by the grf file.
virtual uint16_t GetID (uint16_t grf_local_id, uint32_t grfid) const
 Return the ID (if ever available) of a previously inserted entity.
uint16_t GetMaxMapping () const
uint16_t GetMaxOffset () const

Protected Member Functions

bool CheckValidNewID (uint16_t testid) override
 Checks whether the given ID is valid in the context of this override manager.

Additional Inherited Members

Data Fields inherited from OverrideManagerBase
std::vector< EntityIDMappingmappings
 mapping of ids from grf files. Public out of convenience
Protected Attributes inherited from OverrideManagerBase
std::vector< uint16_t > entity_overrides
std::vector< uint32_t > grfid_overrides
uint16_t max_offset
 what is the length of the original entity's array of specs
uint16_t max_entities
 what is the amount of entities, old and new summed
uint16_t invalid_id
 ID used to detected invalid entities.

Detailed Description

Definition at line 287 of file newgrf_commons.h.

Constructor & Destructor Documentation

◆ ObjectOverrideManager()

ObjectOverrideManager::ObjectOverrideManager ( uint16_t offset,
uint16_t maximum,
uint16_t invalid )
inline

Definition at line 291 of file newgrf_commons.h.

Member Function Documentation

◆ CheckValidNewID()

bool ObjectOverrideManager::CheckValidNewID ( uint16_t testid)
inlineoverrideprotectedvirtual

Checks whether the given ID is valid in the context of this override manager.

Parameters
testidThe ID to test.
Returns
Whether the ID is valid.

Reimplemented from OverrideManagerBase.

Definition at line 289 of file newgrf_commons.h.

◆ SetEntitySpec()

void ObjectOverrideManager::SetEntitySpec ( ObjectSpec && spec)

Method to install the new object data in its proper slot The slot assignment is internal of this method, since it requires checking what is available.

Parameters
specObjectSpec that comes from the grf decoding process

Definition at line 300 of file newgrf_commons.cpp.

References _object_specs, OverrideManagerBase::AddEntityID(), OverrideManagerBase::GetID(), OverrideManagerBase::invalid_id, and OBJECT_TRANSMITTER.


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