|
OpenTTD Source
14.0-beta1
|
Go to the documentation of this file.
44 enum GrfLoadingStage {
57 GMB_DESERT_TREES_FIELDS = 0,
58 GMB_DESERT_PAVED_ROADS = 1,
59 GMB_FIELD_BOUNDING_BOX = 2,
61 GMB_AMBIENT_SOUND_CALLBACK = 4,
62 GMB_CATENARY_ON_3RD_TRACK = 5,
63 GMB_SECOND_ROCKY_TILE_SET = 6,
96 static const uint32_t INVALID_GRFID = 0xFFFFFFFF;
103 GRFLabel(
byte label, uint32_t nfo_line,
size_t pos) : label(label), nfo_line(nfo_line), pos(pos) {}
108 std::string filename;
115 std::vector<std::unique_ptr<struct StationSpec>> stations;
116 std::vector<std::unique_ptr<struct HouseSpec>> housespec;
117 std::vector<std::unique_ptr<struct IndustrySpec>> industryspec;
118 std::vector<std::unique_ptr<struct IndustryTileSpec>> indtspec;
119 std::vector<std::unique_ptr<struct ObjectSpec>> objectspec;
120 std::vector<std::unique_ptr<struct AirportSpec>> airportspec;
121 std::vector<std::unique_ptr<struct AirportTileSpec>> airtspec;
122 std::vector<std::unique_ptr<struct RoadStopSpec>> roadstops;
124 std::array<uint32_t, 0x80> param;
159 assert(this->param_end <= this->param.size());
160 return (number < this->
param_end) ? this->param[number] : 0;
199 void LoadNewGRF(uint load_index, uint num_baseset);
204 void GrfMsgI(
int severity,
const std::string &msg);
205 #define GrfMsg(severity, format_string, ...) GrfMsgI(severity, fmt::format(FMT_STRING(format_string), ## __VA_ARGS__))
@ ROADTYPE_END
Used for iterations.
struct LanguageMap * language_map
Mappings related to the languages.
std::vector< RoadTypeLabel > roadtype_list
Roadtype translation table (road)
void ReloadNewGRFData()
Reload all NewGRF files during a running game.
PriceMultipliers price_base_multipliers
Price base multipliers as set by the grf.
uint32_t StringID
Numeric value that represents a string, independent of the selected language.
uint8_t callback_mask
Bitmask of canal callbacks that have to be called.
uint8_t flags
Flags controlling display.
StringID MapGRFStringID(uint32_t grfid, StringID str)
Used when setting an object's property to map to the GRF's strings while taking in consideration the ...
uint64_t used_liveries
Bitmask of LiveryScheme used by the defined engines.
@ GMB_TRAIN_WIDTH_32_PIXELS
Use 32 pixels per train vehicle in depot gui and vehicle details. Never set in the global variable;.
@ GSF_INVALID
An invalid spec feature.
void ShowNewGRFError()
Show the first NewGRF error we can find.
bool GetGlobalVariable(byte param, uint32_t *value, const GRFFile *grffile)
Reads a variable common to VarAction2 and Action7/9/D.
int traininfo_vehicle_pitch
Vertical offset for drawing train images in depot GUI and vehicle details.
void ResetPersistentNewGRFData()
Reset NewGRF data which is stored persistently in savegames.
#define DECLARE_POSTFIX_INCREMENT(enum_type)
Some enums need to have allowed incrementing (i.e.
void LoadNewGRFFile(struct GRFConfig *config, GrfLoadingStage stage, Subdirectory subdir, bool temporary)
Load a particular NewGRF.
bool has_2CC
Set if any vehicle is loaded which uses 2cc (two company colours).
@ SHORE_REPLACE_NONE
No shore sprites were replaced.
ShoreReplacement shore
In which way shore sprites were replaced.
void ResetNewGRFData()
Reset all NewGRF loaded data.
RailType
Enumeration for all possible railtypes.
std::vector< RoadTypeLabel > tramtype_list
Roadtype translation table (tram)
Information about GRF, used in the game and (part of it) in savegames.
@ GSF_FAKE_TOWNS
Fake town GrfSpecFeature for NewGRF debugging (parent scope)
@ SHORE_REPLACE_ONLY_NEW
Only corner-shores were loaded by Action5 (openttd(w/d).grf only).
Base class that provides memory initialization on dynamically created objects.
@ GSF_FAKE_END
End of the fake features.
@ SHORE_REPLACE_ACTION_5
Shore sprites were replaced by Action5.
uint param_end
one more than the highest set parameter
bool HasGrfMiscBit(GrfMiscBit bit)
Check for grf miscellaneous bits.
uint traininfo_vehicle_width
Width (in pixels) of a 8/8 train vehicle in depot GUI and vehicle details.
GRFLoadedFeatures _loaded_newgrf_features
Indicates which are the newgrf features currently loaded ingame.
void LoadNewGRF(uint load_index, uint num_baseset)
Load all the NewGRFs.
CanalProperties canal_local_properties[CF_END]
Canal properties as set by this NewGRF.
GRFFile(const struct GRFConfig *config)
Constructor for GRFFile.
Mapping of language data between a NewGRF and OpenTTD.
TramReplacement tram
In which way tram depots were replaced.
@ SHORE_REPLACE_ACTION_A
Shore sprites were replaced by ActionA (using grass tiles for the corner-shores).
@ TRAMWAY_REPLACE_DEPOT_WITH_TRACK
Electrified depot graphics with tram track were loaded.
@ RAILTYPE_END
Used for iterations.
@ TRAMWAY_REPLACE_DEPOT_NONE
No tram depot graphics were loaded.
@ TRAMWAY_REPLACE_DEPOT_NO_TRACK
Electrified depot graphics without tram track were loaded.
RoadType
The different roadtypes we support.
Subdirectory
The different kinds of subdirectories OpenTTD uses.
std::vector< CargoLabel > cargo_list
Cargo translation table (local ID -> label)
std::vector< GRFLabel > labels
List of labels.
uint32_t GetParam(uint number) const
Get GRF Parameter with range checking.
byte _misc_grf_features
Miscellaneous GRF features, set by Action 0x0D, parameter 0x9E.
Canal properties local to the NewGRF.
void GrfMsgI(int severity, const std::string &msg)
Debug() function dedicated to newGRF debugging messages Function is essentially the same as Debug(grf...
std::array< uint8_t, NUM_CARGO > cargo_map
Inverse cargo translation table (CargoID -> local ID)
std::vector< RailTypeLabel > railtype_list
Railtype translation table.
Dynamic data of a loaded NewGRF.
uint32_t grf_features
Bitset of GrfSpecFeature the grf uses.
CanalFeature
List of different canal 'features'.
constexpr debug_inline bool HasBit(const T x, const uint8_t y)
Checks if a bit in a value is set.