|
OpenTTD Source
12.0-beta1
|
#include "strings_type.h"#include "core/alloc_type.hpp"#include "core/smallmap_type.hpp"#include "misc/countedptr.hpp"#include "fileio_type.h"#include "textfile_type.h"#include "newgrf_text.h"Go to the source code of this file.
Data Structures | |
| struct | GRFIdentifier |
| Basic data to distinguish a GRF. More... | |
| struct | GRFError |
| Information about why GRF had problems during initialisation. More... | |
| struct | GRFParameterInfo |
| Information about one grf parameter. More... | |
| struct | GRFConfig |
| Information about GRF, used in the game and (part of it) in savegames. More... | |
| struct | NewGRFScanCallback |
| Callback for NewGRF scanning. More... | |
Functions | |
| size_t | GRFGetSizeOfDataSection (FILE *f) |
| Get the data section size of a GRF. More... | |
| void | ScanNewGRFFiles (NewGRFScanCallback *callback) |
| Scan for all NewGRFs. More... | |
| const GRFConfig * | FindGRFConfig (uint32 grfid, FindGRFConfigMode mode, const uint8 *md5sum=nullptr, uint32 desired_version=0) |
| Find a NewGRF in the scanned list. More... | |
| GRFConfig * | GetGRFConfig (uint32 grfid, uint32 mask=0xFFFFFFFF) |
| Retrieve a NewGRF from the current config by its grfid. More... | |
| GRFConfig ** | CopyGRFConfigList (GRFConfig **dst, const GRFConfig *src, bool init_only) |
| Copy a GRF Config list. More... | |
| void | AppendStaticGRFConfigs (GRFConfig **dst) |
| Appends the static GRFs to a list of GRFs. More... | |
| void | AppendToGRFConfigList (GRFConfig **dst, GRFConfig *el) |
| Appends an element to a list of GRFs. More... | |
| void | ClearGRFConfigList (GRFConfig **config) |
| Clear a GRF Config list, freeing all nodes. More... | |
| void | ResetGRFConfig (bool defaults) |
| Reset the current GRF Config to either blank or newgame settings. | |
| GRFListCompatibility | IsGoodGRFConfigList (GRFConfig *grfconfig) |
| Check if all GRFs in the GRF config from a savegame can be loaded. More... | |
| bool | FillGRFDetails (GRFConfig *config, bool is_static, Subdirectory subdir=NEWGRF_DIR) |
| Find the GRFID of a given grf, and calculate its md5sum. More... | |
| char * | GRFBuildParamList (char *dst, const GRFConfig *c, const char *last) |
| Build a string containing space separated parameter values, and terminate. | |
| void | ShowNewGRFSettings (bool editable, bool show_params, bool exec_changes, GRFConfig **config) |
| Setup the NewGRF gui. More... | |
| void | UpdateNewGRFScanStatus (uint num, const char *name) |
| Update the NewGRF scan status. More... | |
| void | UpdateNewGRFConfigPalette (int32 new_value=0) |
| Update the palettes of the graphics from the config file. More... | |
Variables | |
| GRFConfig * | _all_grfs |
| First item in list of all scanned NewGRFs. | |
| GRFConfig * | _grfconfig |
| First item in list of current GRF set up. | |
| GRFConfig * | _grfconfig_newgame |
| First item in list of default GRF set up. | |
| GRFConfig * | _grfconfig_static |
| First item in list of static GRF set up. | |
| uint | _missing_extra_graphics |
| Number of sprites provided by the fallback extra GRF, i.e. missing in the baseset. | |
Functions to find and configure NewGRFs.
Definition in file newgrf_config.h.
| enum FindGRFConfigMode |
Method to find GRFs using FindGRFConfig.
Definition at line 198 of file newgrf_config.h.
| enum GCF_Flags |
GRF config bit flags.
Definition at line 22 of file newgrf_config.h.
| enum GRFBugs |
Encountered GRF bugs.
Definition at line 43 of file newgrf_config.h.
| enum GRFListCompatibility |
Status of post-gameload GRF compatibility check.
Definition at line 52 of file newgrf_config.h.
| enum GRFPalette |
Information that can/has to be stored about a GRF's palette.
Definition at line 59 of file newgrf_config.h.
| enum GRFParameterType |
The possible types of a newgrf parameter.
| Enumerator | |
|---|---|
| PTYPE_UINT_ENUM | The parameter allows a range of numbers, each of which can have a special name. |
| PTYPE_BOOL | The parameter is either 0 or 1. |
| PTYPE_END | Invalid parameter type. |
Definition at line 127 of file newgrf_config.h.
| enum GRFStatus |
Status of GRF.
Definition at line 34 of file newgrf_config.h.
| void AppendStaticGRFConfigs | ( | GRFConfig ** | dst | ) |
Appends the static GRFs to a list of GRFs.
| dst | the head of the list to add to |
Definition at line 470 of file newgrf_config.cpp.
References _grfconfig_static, CopyGRFConfigList(), GRFConfig::next, and RemoveDuplicatesFromGRFConfigList().
Referenced by ResetGRFConfig().
Appends an element to a list of GRFs.
| dst | the head of the list to add to |
| el | the new tail to be |
Definition at line 484 of file newgrf_config.cpp.
References GRFConfig::next, and RemoveDuplicatesFromGRFConfigList().
| void ClearGRFConfigList | ( | GRFConfig ** | config | ) |
Clear a GRF Config list, freeing all nodes.
| config | Start of the list. |
nullptr. Definition at line 400 of file newgrf_config.cpp.
References GRFConfig::next.
Referenced by LoadCheckData::Clear(), CopyGRFConfigList(), DoScanNewGRFFiles(), NetworkAddServer(), NetworkGameListRemoveExpired(), NetworkGameListRemoveItem(), NewGRFWindow::OnDropdownSelect(), ClientNetworkCoordinatorSocketHandler::Receive_GC_LISTING(), and ClientNetworkGameSocketHandler::Receive_SERVER_GAME_INFO().
Copy a GRF Config list.
| dst | pointer to destination list |
| src | pointer to source list values |
| init_only | the copied GRF will be processed up to GLS_INIT |
Definition at line 418 of file newgrf_config.cpp.
References ClearGRFConfigList(), ClrBit(), GRFConfig::flags, GCF_INIT_ONLY, GRFConfig::next, and SetBit().
Referenced by AppendStaticGRFConfigs(), NewGRFConfirmationCallback(), and ResetGRFConfig().
| bool FillGRFDetails | ( | GRFConfig * | config, |
| bool | is_static, | ||
| Subdirectory | subdir | ||
| ) |
Find the GRFID of a given grf, and calculate its md5sum.
| config | grf to fill. |
| is_static | grf is static. |
| subdir | the subdirectory to search in. |
Definition at line 368 of file newgrf_config.cpp.
References GRFConfig::filename, FioCheckFileExists(), GCS_NOT_FOUND, LoadNewGRFFile(), and GRFConfig::status.
Referenced by GRFLoadConfig().
| const GRFConfig* FindGRFConfig | ( | uint32 | grfid, |
| FindGRFConfigMode | mode, | ||
| const uint8 * | md5sum, | ||
| uint32 | desired_version | ||
| ) |
Find a NewGRF in the scanned list.
| grfid | GRFID to look for, |
| mode | Restrictions for matching grfs |
| md5sum | Expected MD5 sum |
| desired_version | Requested version |
nullptr. Definition at line 736 of file newgrf_config.cpp.
References _all_grfs, FGCM_ANY, FGCM_COMPATIBLE, FGCM_EXACT, FGCM_NEWEST, GCF_INVALID, HasBit(), GRFConfig::next, and GRFConfig::version.
Referenced by GRFLoadConfig(), HandleIncomingNetworkGameInfoGRFConfig(), HasGRFConfig(), IsGoodGRFConfigList(), NetworkAfterNewGRFScan(), NewGRFWindow::OnInvalidateData(), PrintGrfInfo(), and ClientNetworkGameSocketHandler::Receive_SERVER_CHECK_NEWGRFS().
| GRFConfig* GetGRFConfig | ( | uint32 | grfid, |
| uint32 | mask | ||
| ) |
Retrieve a NewGRF from the current config by its grfid.
| grfid | grf to look for. |
| mask | GRFID mask to allow for partial matching. |
nullptr. Definition at line 762 of file newgrf_config.cpp.
References _grfconfig, GRFIdentifier::grfid, GRFConfig::ident, and GRFConfig::next.
Referenced by ErrorUnknownCallbackResult(), ShowNewGrfVehicleError(), TranslateGRFStrings(), and VehicleLengthChanged().
| size_t GRFGetSizeOfDataSection | ( | FILE * | f | ) |
Get the data section size of a GRF.
| f | GRF. |
Definition at line 299 of file newgrf_config.cpp.
References _grf_cont_v2_sig, Debug, and MemCmpT().
Referenced by CalcGRFMD5Sum(), and GraphicsSet::CheckMD5().
| GRFListCompatibility IsGoodGRFConfigList | ( | GRFConfig * | grfconfig | ) |
Check if all GRFs in the GRF config from a savegame can be loaded.
| grfconfig | GrfConfig to check |
Definition at line 513 of file newgrf_config.cpp.
References BSWAP32(), Debug, FGCM_COMPATIBLE, FGCM_EXACT, GRFConfig::filename, FindGRFConfig(), GRFConfig::flags, free(), GCF_COMPATIBLE, GCF_COPY, GCF_INVALID, GCS_NOT_FOUND, GLC_ALL_GOOD, GLC_COMPATIBLE, GLC_NOT_FOUND, GRFIdentifier::grfid, GRFConfig::has_param_defaults, HasBit(), GRFConfig::ident, lastof, GRFIdentifier::md5sum, md5sumToString(), GRFConfig::min_loadable_version, GRFConfig::name, GRFConfig::next, GRFConfig::num_valid_params, GRFConfig::param_info, SetBit(), stredup(), and GRFConfig::version.
| void ScanNewGRFFiles | ( | NewGRFScanCallback * | callback | ) |
Scan for all NewGRFs.
| callback | The callback to call after the scanning is complete. |
Definition at line 718 of file newgrf_config.cpp.
References DoScanNewGRFFiles(), MarkWholeScreenDirty(), and SetModalProgress().
| void ShowNewGRFSettings | ( | bool | editable, |
| bool | show_params, | ||
| bool | exec_changes, | ||
| GRFConfig ** | config | ||
| ) |
Setup the NewGRF gui.
| editable | allow the user to make changes to the grfconfig in the window |
| show_params | show information about what parameters are set for the grf files |
| exec_changes | if changes are made to the list (editable is true), apply these changes immediately or only update the list |
| config | pointer to a linked-list of grfconfig's that will be shown |
Definition at line 1995 of file newgrf_gui.cpp.
References CloseWindowByClass(), and WC_GAME_OPTIONS.
| void UpdateNewGRFConfigPalette | ( | int32 | new_value | ) |
Update the palettes of the graphics from the config file.
Called when changing the default palette in advanced settings.
| new_value | Unused. |
Definition at line 287 of file newgrf_config.cpp.
References _all_grfs, _grfconfig_newgame, _grfconfig_static, and GRFConfig::next.
Referenced by AfterNewGRFScan::OnNewGRFsScanned().
| void UpdateNewGRFScanStatus | ( | uint | num, |
| const char * | name | ||
| ) |
Update the NewGRF scan status.
| num | The number of NewGRFs scanned so far. |
| name | The name of the last scanned NewGRF. |
Definition at line 2269 of file newgrf_gui.cpp.
References FindWindowByClass(), ScanProgressWindow::UpdateNewGRFScanStatus(), and WC_MODAL_PROGRESS.