OpenTTD
|
Public Member Functions | |
ObjectOverrideManager (uint16 offset, uint16 maximum, uint16 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. | |
![]() | |
OverrideManagerBase (uint16 offset, uint16 maximum, uint16 invalid) | |
Constructor of generic class. | |
virtual | ~OverrideManagerBase () |
Destructor of the 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 (uint8 local_id, uint32 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 | AddEntityID (byte grf_local_id, uint32 grfid, byte substitute_id) |
Reserves a place in the mapping array for an entity to be installed. | |
uint32 | GetGRFID (uint16 entity_id) const |
Gives the GRFID of the file the entity belongs to. | |
uint16 | GetSubstituteID (uint16 entity_id) const |
Gives the substitute of the entity, as specified by the grf file. | |
virtual uint16 | GetID (uint8 grf_local_id, uint32 grfid) const |
Return the ID (if ever available) of a previously inserted entity. | |
uint16 | GetMaxMapping () const |
uint16 | GetMaxOffset () const |
Protected Member Functions | |
virtual bool | CheckValidNewID (uint16 testid) |
Additional Inherited Members | |
![]() | |
EntityIDMapping * | mapping_ID |
mapping of ids from grf files. Public out of convenience | |
![]() | |
uint16 * | entity_overrides |
uint32 * | grfid_overrides |
uint16 | max_offset |
what is the length of the original entity's array of specs | |
uint16 | max_new_entities |
what is the amount of entities, old and new summed | |
uint16 | invalid_ID |
ID used to detected invalid entities;. |
Definition at line 279 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 317 of file newgrf_commons.cpp.
References _object_specs, OverrideManagerBase::AddEntityID(), OverrideManagerBase::GetID(), ObjectSpec::grf_prop, GRFFilePropsBase< Tcnt >::grffile, grfmsg(), OverrideManagerBase::invalid_ID, GRFFilePropsBase< Tcnt >::local_id, NUM_OBJECTS, and OBJECT_TRANSMITTER.
Referenced by FinaliseObjectsArray().