1
0
mirror of https://github.com/OpenTTD/OpenTTD synced 2026-01-26 21:54:22 +01:00

Codechange: Use sorted vector for NewGRF parameter value names. (#13326)

This replaces use of a std::map per GRF-parameter.
This commit is contained in:
Peter Nelson
2025-01-17 19:33:11 +00:00
committed by GitHub
parent 610026ef17
commit 2f0b52d5b3
4 changed files with 17 additions and 19 deletions

View File

@@ -8470,14 +8470,11 @@ static bool ChangeGRFParamValueNames(ByteReader &buf)
uint8_t langid = buf.ReadByte();
std::string_view name_string = buf.ReadString();
auto 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 {
GRFTextList list;
AddGRFTextToList(list, langid, _cur.grfconfig->ident.grfid, false, name_string);
_cur_parameter->value_names[id] = list;
auto it = std::ranges::lower_bound(_cur_parameter->value_names, id, std::less{}, &GRFParameterInfo::ValueName::first);
if (it == std::end(_cur_parameter->value_names) || it->first != id) {
it = _cur_parameter->value_names.emplace(it, id, GRFTextList{});
}
AddGRFTextToList(it->second, langid, _cur.grfconfig->ident.grfid, false, name_string);
type = buf.ReadByte();
}