OpenTTD
|
Information about GRF, used in the game and (part of it) in savegames. More...
#include <newgrf_config.h>
Public Member Functions | |
GRFConfig (const char *filename=NULL) | |
Create a new GRFConfig. | |
GRFConfig (const GRFConfig &config) | |
Create a new GRFConfig that is a deep copy of an existing config. | |
~GRFConfig () | |
Cleanup a GRFConfig object. | |
void | CopyParams (const GRFConfig &src) |
Copy the parameter information from the src config. | |
bool | IsOpenTTDBaseGRF () const |
Checks whether this GRF is a OpenTTD base graphic GRF. | |
const char * | GetTextfile (TextfileType type) const |
Search a textfile file next to this NewGRF. | |
const char * | GetName () const |
Get the name of this grf. | |
const char * | GetDescription () const |
Get the grf info. | |
const char * | GetURL () const |
Get the grf url. | |
void | SetParameterDefaults () |
Set the default value for all parameters as specified by action14. | |
void | SetSuitablePalette () |
Set the palette of this GRFConfig to something suitable. | |
void | FinalizeParameterInfo () |
Finalize Action 14 info after file scan is finished. | |
![]() | |
void * | operator new (size_t size) |
Memory allocator for a single class instance. | |
void * | operator new[] (size_t size) |
Memory allocator for an array of class instances. | |
void | operator delete (void *ptr) |
Memory release for a single class instance. | |
void | operator delete[] (void *ptr) |
Memory release for an array of class instances. |
Data Fields | |
GRFIdentifier | ident |
grfid and md5sum to uniquely identify newgrfs | |
uint8 | original_md5sum [16] |
MD5 checksum of original file if only a 'compatible' file was loaded. | |
char * | filename |
Filename - either with or without full path. | |
GRFTextWrapper * | name |
NOSAVE: GRF name (Action 0x08) | |
GRFTextWrapper * | info |
NOSAVE: GRF info (author, copyright, ...) (Action 0x08) | |
GRFTextWrapper * | url |
NOSAVE: URL belonging to this GRF. | |
GRFError * | error |
NOSAVE: Error/Warning during GRF loading (Action 0x0B) | |
uint32 | version |
NOSAVE: Version a NewGRF can set so only the newest NewGRF is shown. | |
uint32 | min_loadable_version |
NOSAVE: Minimum compatible version a NewGRF can define. | |
uint8 | flags |
NOSAVE: GCF_Flags, bitset. | |
GRFStatus | status |
NOSAVE: GRFStatus, enum. | |
uint32 | grf_bugs |
NOSAVE: bugs in this GRF in this run,. | |
uint32 | param [0x80] |
GRF parameters. | |
uint8 | num_params |
Number of used parameters. | |
uint8 | num_valid_params |
NOSAVE: Number of valid parameters (action 0x14) | |
uint8 | palette |
GRFPalette, bitset. | |
SmallVector< GRFParameterInfo *, 4 > | param_info |
NOSAVE: extra information about the parameters. | |
bool | has_param_defaults |
NOSAVE: did this newgrf specify any defaults for it's parameters. | |
struct GRFConfig * | next |
NOSAVE: Next item in the linked list. |
Information about GRF, used in the game and (part of it) in savegames.
Definition at line 153 of file newgrf_config.h.
GRFConfig::GRFConfig | ( | const char * | filename = NULL | ) |
GRFConfig::GRFConfig | ( | const GRFConfig & | config | ) |
Create a new GRFConfig that is a deep copy of an existing config.
config | The GRFConfig object to make a copy of. |
Definition at line 63 of file newgrf_config.cpp.
References SmallVector< T, S >::Append(), error, filename, info, SmallVector< T, S >::Length(), lengthof, name, original_md5sum, param, param_info, stredup(), and url.
GRFConfig::~GRFConfig | ( | ) |
Cleanup a GRFConfig object.
Definition at line 96 of file newgrf_config.cpp.
References error, filename, flags, free(), GCF_COPY, HasBit(), info, SmallVector< T, S >::Length(), name, param_info, and url.
void GRFConfig::CopyParams | ( | const GRFConfig & | src | ) |
Copy the parameter information from the src config.
src | Source config. |
Definition at line 114 of file newgrf_config.cpp.
References lengthof, num_params, num_valid_params, and param.
Referenced by NewGRFWindow::UpgradeCurrent().
const char * GRFConfig::GetDescription | ( | ) | const |
Get the grf info.
Definition at line 136 of file newgrf_config.cpp.
References GetGRFStringFromGRFText(), info, and GRFTextWrapper::text.
const char * GRFConfig::GetName | ( | ) | const |
Get the name of this grf.
In case the name isn't known the filename is returned.
Definition at line 126 of file newgrf_config.cpp.
References filename, GetGRFStringFromGRFText(), name, and StrEmpty().
Referenced by DisableStaticNewGRFInfluencingNonStaticNewGRFs(), NewGRFWindow::DrawWidget(), ErrorUnknownCallbackResult(), GRFSorter(), ServerNetworkUDPSocketHandler::Receive_CLIENT_GET_NEWGRFS(), ClientNetworkUDPSocketHandler::Receive_SERVER_RESPONSE(), NewGRFTextfileWindow::SetStringParameters(), ShowMissingContentWindow(), and ShowNewGrfVehicleError().
const char * GRFConfig::GetTextfile | ( | TextfileType | type | ) | const |
Search a textfile file next to this NewGRF.
type | The type of the textfile to search for. |
NULL
otherwise. Definition at line 932 of file newgrf_config.cpp.
References NEWGRF_DIR.
Referenced by NewGRFWindow::OnInvalidateData().
const char * GRFConfig::GetURL | ( | ) | const |
Get the grf url.
Definition at line 145 of file newgrf_config.cpp.
References GetGRFStringFromGRFText(), GRFTextWrapper::text, and url.
Referenced by NewGRFWindow::OnClick(), and NewGRFWindow::OnInvalidateData().
bool GRFConfig::IsOpenTTDBaseGRF | ( | ) | const |
Checks whether this GRF is a OpenTTD base graphic GRF.
Definition at line 922 of file newgrf_config.cpp.
References GRFIdentifier::grfid, ident, and OPENTTD_GRAPHICS_BASE_GRF_ID.
Referenced by FillGRFDetails(), and LoadNewGRFFile().
void GRFConfig::SetParameterDefaults | ( | ) |
Set the default value for all parameters as specified by action14.
Definition at line 151 of file newgrf_config.cpp.
References has_param_defaults, SmallVector< T, S >::Length(), lengthof, num_params, param, and param_info.
Referenced by NewGRFWindow::AddGRFToActive(), and NewGRFParametersWindow::OnClick().
void GRFConfig::SetSuitablePalette | ( | ) |
Set the palette of this GRFConfig to something suitable.
That is either the setting coming from the NewGRF or the globally used palette.
Definition at line 169 of file newgrf_config.cpp.
References _settings_client, GRFP_GRF_DOS, GRFP_GRF_MASK, GRFP_GRF_WINDOWS, GRFP_USE_BIT, GRFP_USE_DOS, GRFP_USE_WINDOWS, ClientSettings::gui, GUISettings::newgrf_default_palette, PAL_DOS, PAL_WINDOWS, palette, and SB().
Referenced by FillGRFDetails().
uint32 GRFConfig::grf_bugs |
NOSAVE: bugs in this GRF in this run,.
Definition at line 170 of file newgrf_config.h.
Referenced by ErrorUnknownCallbackResult(), ShowNewGrfVehicleError(), and VehicleLengthChanged().