File diff r27420:b37b70eb3169 → r27421:e8c2cdc1e8e6
src/strings.cpp
Show inline comments
 
@@ -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);
 
				}