OpenTTD Source
20241108-master-g80f628063a
|
Allow incrementing of ObjectClassID variables. More...
#include <newgrf_object.h>
Public Member Functions | |
bool | IsEnabled () const |
Test if this object is enabled. More... | |
Money | GetBuildCost () const |
Get the cost for building a structure of this type. More... | |
Money | GetClearCost () const |
Get the cost for clearing a structure of this type. More... | |
bool | IsEverAvailable () const |
Check whether the object might be available at some point in this game with the current game mode. More... | |
bool | WasEverAvailable () const |
Check whether the object was available at some point in the past or present in this game with the current game mode. More... | |
bool | IsAvailable () const |
Check whether the object is available at this time. More... | |
uint | Index () const |
Gets the index of this spec. More... | |
Static Public Member Functions | |
static const std::vector< ObjectSpec > & | Specs () |
static size_t | Count () |
static const ObjectSpec * | Get (ObjectType index) |
Get the specification associated with a specific ObjectType. More... | |
static const ObjectSpec * | GetByTile (TileIndex tile) |
Get the specification associated with a tile. More... | |
static void | BindToClasses () |
Tie all ObjectSpecs to their class. | |
Data Fields | |
GRFFilePropsBase< 2 > | grf_prop |
Properties related the the grf file. | |
AnimationInfo | animation |
Information about the animation. | |
StringID | name |
The name for this object. | |
uint8_t | climate |
In which climates is this object available? | |
uint8_t | size |
The size of this objects; low nibble for X, high nibble for Y. | |
uint8_t | build_cost_multiplier |
Build cost multiplier per tile. | |
uint8_t | clear_cost_multiplier |
Clear cost multiplier per tile. | |
TimerGameCalendar::Date | introduction_date |
From when can this object be built. | |
TimerGameCalendar::Date | end_of_life_date |
When can't this object be built anymore. | |
ObjectFlags | flags |
Flags/settings related to the object. | |
uint16_t | callback_mask |
Bitmask of requested/allowed callbacks. | |
uint8_t | height |
The height of this structure, in heightlevels; max MAX_TILE_HEIGHT. | |
uint8_t | views |
The number of views. | |
uint8_t | generate_amount |
Number of objects which are attempted to be generated per 256^2 map during world generation. | |
Data Fields inherited from NewGRFSpecBase< ObjectClassID > | |
ObjectClassID | class_index |
Class index of this spec, invalid until class is allocated. | |
uint16_t | index |
Index within class of this spec, invalid until inserted into class. | |
Allow incrementing of ObjectClassID variables.
An object that isn't use for transport, industries or houses.
Definition at line 60 of file newgrf_object.h.
|
static |
Get the specification associated with a specific ObjectType.
index | The object type to fetch. |
Definition at line 50 of file newgrf_object.cpp.
References _object_specs, NewGRFSpecBase< ObjectClassID >::index, and NUM_OBJECTS.
Referenced by BuildObject(), CmdBuildObject(), CmdBuildObjectArea(), ObjectPickerCallbacks::FillUsedItems(), GetByTile(), and GetObjectIDAtOffset().
|
inline |
Get the cost for building a structure of this type.
Definition at line 88 of file newgrf_object.h.
References GetPrice().
|
static |
Get the specification associated with a tile.
tile | The tile to fetch the data for. |
Definition at line 65 of file newgrf_object.cpp.
References Get(), and GetObjectType().
Referenced by AnimateNewObjectTile(), NIHObject::GetGRFID(), NIHObject::GetSpec(), NIHObject::IsInspectable(), NIHObject::Resolve(), and UpdateObjectColours().
|
inline |
Get the cost for clearing a structure of this type.
Definition at line 94 of file newgrf_object.h.
References GetPrice().
uint ObjectSpec::Index | ( | ) | const |
Gets the index of this spec.
Definition at line 103 of file newgrf_object.cpp.
References _object_specs.
bool ObjectSpec::IsAvailable | ( | ) | const |
Check whether the object is available at this time.
Definition at line 93 of file newgrf_object.cpp.
References TimerGameCalendar::date, end_of_life_date, introduction_date, and WasEverAvailable().
|
inline |
Test if this object is enabled.
Definition at line 82 of file newgrf_object.h.
Referenced by IsEverAvailable().
bool ObjectSpec::IsEverAvailable | ( | ) | const |
Check whether the object might be available at some point in this game with the current game mode.
Definition at line 74 of file newgrf_object.cpp.
References _settings_game, climate, flags, GameSettings::game_creation, HasBit(), IsEnabled(), and GameCreationSettings::landscape.
Referenced by ObjectPickerCallbacks::FillUsedItems(), and WasEverAvailable().
bool ObjectSpec::WasEverAvailable | ( | ) | const |
Check whether the object was available at some point in the past or present in this game with the current game mode.
Definition at line 84 of file newgrf_object.cpp.
References TimerGameCalendar::date, introduction_date, and IsEverAvailable().
Referenced by IsAvailable().