OpenTTD Source
20241121-master-g67a0fccfad
|
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. More... | |
Public Member Functions inherited from OverrideManagerBase | |
OverrideManagerBase (uint16_t offset, uint16_t maximum, uint16_t invalid) | |
Constructor of generic class. More... | |
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. More... | |
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. More... | |
uint32_t | GetGRFID (uint16_t entity_id) const |
Gives the GRFID of the file the entity belongs to. More... | |
uint16_t | GetSubstituteID (uint16_t entity_id) const |
Gives the substitute of the entity, as specified by the grf file. More... | |
virtual uint16_t | GetID (uint16_t grf_local_id, uint32_t grfid) const |
Return the ID (if ever available) of a previously inserted entity. More... | |
uint16_t | GetMaxMapping () const |
uint16_t | GetMaxOffset () const |
Protected Member Functions | |
bool | CheckValidNewID (uint16_t testid) override |
Protected Member Functions inherited from OverrideManagerBase | |
virtual bool | CheckValidNewID ([[maybe_unused]] uint16_t testid) |
Additional Inherited Members | |
Data Fields inherited from OverrideManagerBase | |
std::vector< EntityIDMapping > | mappings |
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. | |
Definition at line 278 of file newgrf_commons.h.
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.
spec | ObjectSpec that comes from the grf decoding process |
Definition at line 302 of file newgrf_commons.cpp.
References OverrideManagerBase::AddEntityID(), OverrideManagerBase::GetID(), ObjectSpec::grf_prop, GRFFilePropsBase< Tcnt >::grffile, OverrideManagerBase::invalid_id, GRFFilePropsBase< Tcnt >::local_id, and OBJECT_TRANSMITTER.
Referenced by FinaliseObjectsArray().