|
@@ -6717,17 +6717,17 @@ static void ScanInfo(ByteReader *buf)
|
|
|
DEBUG(grf, 0, "%s: NewGRF \"%s\" (GRFID %08X) uses GRF version %d, which is incompatible with this version of OpenTTD.", _cur.grfconfig->filename, name, BSWAP32(grfid), grf_version);
|
|
|
}
|
|
|
|
|
|
/* GRF IDs starting with 0xFF are reserved for internal TTDPatch use */
|
|
|
if (GB(grfid, 0, 8) == 0xFF) SetBit(_cur.grfconfig->flags, GCF_SYSTEM);
|
|
|
|
|
|
AddGRFTextToList(&_cur.grfconfig->name->text, 0x7F, grfid, false, name);
|
|
|
AddGRFTextToList(_cur.grfconfig->name, 0x7F, grfid, false, name);
|
|
|
|
|
|
if (buf->HasData()) {
|
|
|
const char *info = buf->ReadString();
|
|
|
AddGRFTextToList(&_cur.grfconfig->info->text, 0x7F, grfid, true, info);
|
|
|
AddGRFTextToList(_cur.grfconfig->info, 0x7F, grfid, true, info);
|
|
|
}
|
|
|
|
|
|
/* GLS_INFOSCAN only looks for the action 8, so we can skip the rest of the file */
|
|
|
_cur.skip_sprites = -1;
|
|
|
}
|
|
|
|
|
@@ -7803,27 +7803,27 @@ static void TranslateGRFStrings(ByteRead
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/** Callback function for 'INFO'->'NAME' to add a translation to the newgrf name. */
|
|
|
static bool ChangeGRFName(byte langid, const char *str)
|
|
|
{
|
|
|
AddGRFTextToList(&_cur.grfconfig->name->text, langid, _cur.grfconfig->ident.grfid, false, str);
|
|
|
AddGRFTextToList(_cur.grfconfig->name, langid, _cur.grfconfig->ident.grfid, false, str);
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
/** Callback function for 'INFO'->'DESC' to add a translation to the newgrf description. */
|
|
|
static bool ChangeGRFDescription(byte langid, const char *str)
|
|
|
{
|
|
|
AddGRFTextToList(&_cur.grfconfig->info->text, langid, _cur.grfconfig->ident.grfid, true, str);
|
|
|
AddGRFTextToList(_cur.grfconfig->info, langid, _cur.grfconfig->ident.grfid, true, str);
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
/** Callback function for 'INFO'->'URL_' to set the newgrf url. */
|
|
|
static bool ChangeGRFURL(byte langid, const char *str)
|
|
|
{
|
|
|
AddGRFTextToList(&_cur.grfconfig->url->text, langid, _cur.grfconfig->ident.grfid, false, str);
|
|
|
AddGRFTextToList(_cur.grfconfig->url, langid, _cur.grfconfig->ident.grfid, false, str);
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
/** Callback function for 'INFO'->'NPAR' to set the number of valid parameters. */
|
|
|
static bool ChangeGRFNumUsedParams(size_t len, ByteReader *buf)
|
|
|
{
|
|
@@ -7919,20 +7919,20 @@ static bool ChangeGRFMinVersion(size_t l
|
|
|
|
|
|
static GRFParameterInfo *_cur_parameter; ///< The parameter which info is currently changed by the newgrf.
|
|
|
|
|
|
/** Callback function for 'INFO'->'PARAM'->param_num->'NAME' to set the name of a parameter. */
|
|
|
static bool ChangeGRFParamName(byte langid, const char *str)
|
|
|
{
|
|
|
AddGRFTextToList(&_cur_parameter->name, langid, _cur.grfconfig->ident.grfid, false, str);
|
|
|
AddGRFTextToList(_cur_parameter->name, langid, _cur.grfconfig->ident.grfid, false, str);
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
/** Callback function for 'INFO'->'PARAM'->param_num->'DESC' to set the description of a parameter. */
|
|
|
static bool ChangeGRFParamDescription(byte langid, const char *str)
|
|
|
{
|
|
|
AddGRFTextToList(&_cur_parameter->desc, langid, _cur.grfconfig->ident.grfid, true, str);
|
|
|
AddGRFTextToList(_cur_parameter->desc, langid, _cur.grfconfig->ident.grfid, true, str);
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
/** Callback function for 'INFO'->'PARAM'->param_num->'TYPE' to set the typeof a parameter. */
|
|
|
static bool ChangeGRFParamType(size_t len, ByteReader *buf)
|
|
|
{
|
|
@@ -8110,18 +8110,18 @@ static bool ChangeGRFParamValueNames(Byt
|
|
|
continue;
|
|
|
}
|
|
|
|
|
|
byte langid = buf->ReadByte();
|
|
|
const char *name_string = buf->ReadString();
|
|
|
|
|
|
std::pair<uint32, GRFText *> *val_name = _cur_parameter->value_names.Find(id);
|
|
|
std::pair<uint32, GRFTextList> *val_name = _cur_parameter->value_names.Find(id);
|
|
|
if (val_name != _cur_parameter->value_names.End()) {
|
|
|
AddGRFTextToList(&val_name->second, langid, _cur.grfconfig->ident.grfid, false, name_string);
|
|
|
} else {
|
|
|
GRFText *list = nullptr;
|
|
|
AddGRFTextToList(&list, langid, _cur.grfconfig->ident.grfid, false, name_string);
|
|
|
AddGRFTextToList(val_name->second, langid, _cur.grfconfig->ident.grfid, false, name_string);
|
|
|
} else {
|
|
|
GRFTextList list;
|
|
|
AddGRFTextToList(list, langid, _cur.grfconfig->ident.grfid, false, name_string);
|
|
|
_cur_parameter->value_names.Insert(id, list);
|
|
|
}
|
|
|
|
|
|
type = buf->ReadByte();
|
|
|
}
|
|
|
return true;
|