|
@@ -1182,51 +1182,51 @@ static char *FormatString(char *buff, co
|
|
|
buff = FormatString(buff, GetStringPtr(_units_weight[_settings_game.locale.units_weight].l), &tmp_params, last);
|
|
|
break;
|
|
|
}
|
|
|
|
|
|
case STR_LITERS: {
|
|
|
assert(_settings_game.locale.units_volume < lengthof(_units_volume));
|
|
|
int64 args_array[] = {_units_volume[_settings_game.locale.units_volume].c.ToDisplay(args->GetInt64())};
|
|
|
StringParameters tmp_params(args_array);
|
|
|
buff = FormatString(buff, GetStringPtr(_units_volume[_settings_game.locale.units_volume].l), &tmp_params, last);
|
|
|
break;
|
|
|
}
|
|
|
|
|
|
default: {
|
|
|
StringParameters tmp_params(*args, 1);
|
|
|
buff = GetStringWithArgs(buff, cargo_str, &tmp_params, last);
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
break;
|
|
|
}
|
|
|
|
|
|
case SCC_CARGO_LONG: { // {CARGO_LONG}
|
|
|
/* First parameter is cargo type, second parameter is cargo count */
|
|
|
CargoID cargo = args->GetInt32(SCC_CARGO_LONG);
|
|
|
if (cargo != CT_INVALID && cargo >= CargoSpec::GetArraySize()) break;
|
|
|
if (IsValidCargoID(cargo) && cargo >= CargoSpec::GetArraySize()) break;
|
|
|
|
|
|
StringID cargo_str = (cargo == CT_INVALID) ? STR_QUANTITY_N_A : CargoSpec::Get(cargo)->quantifier;
|
|
|
StringID cargo_str = !IsValidCargoID(cargo) ? STR_QUANTITY_N_A : CargoSpec::Get(cargo)->quantifier;
|
|
|
StringParameters tmp_args(*args, 1);
|
|
|
buff = GetStringWithArgs(buff, cargo_str, &tmp_args, last);
|
|
|
break;
|
|
|
}
|
|
|
|
|
|
case SCC_CARGO_LIST: { // {CARGO_LIST}
|
|
|
CargoTypes cmask = args->GetInt64(SCC_CARGO_LIST);
|
|
|
bool first = true;
|
|
|
|
|
|
for (const auto &cs : _sorted_cargo_specs) {
|
|
|
if (!HasBit(cmask, cs->Index())) continue;
|
|
|
|
|
|
if (buff >= last - 2) break; // ',' and ' '
|
|
|
|
|
|
if (first) {
|
|
|
first = false;
|
|
|
} else {
|
|
|
/* Add a comma if this is not the first item */
|
|
|
*buff++ = ',';
|
|
|
*buff++ = ' ';
|
|
|
}
|
|
|
|
|
|
buff = GetStringWithArgs(buff, cs->name, args, last, next_substr_case_index, game_script);
|
|
|
}
|