OpenTTD

- Main Page
- Related Pages
- Modules
- Namespaces
- Data Structures
- Files

- File List
- Globals

Data Structures | Functions | Variables
strings.cpp File Reference

Handling of translated strings. More...

`#include "stdafx.h"`
`#include "currency.h"`
`#include "station_base.h"`
`#include "town.h"`
`#include "waypoint_base.h"`
`#include "depot_base.h"`
`#include "industry.h"`
`#include "newgrf_text.h"`
`#include "fileio_func.h"`
`#include "signs_base.h"`
`#include "fontdetection.h"`
`#include "error.h"`
`#include "strings_func.h"`
`#include "rev.h"`
`#include "core/endian_func.hpp"`
`#include "date_func.h"`
`#include "vehicle_base.h"`
`#include "engine_base.h"`
`#include "language.h"`
`#include "townname_func.h"`
`#include "string_func.h"`
`#include "company_base.h"`
`#include "smallmap_gui.h"`
`#include "window_func.h"`
`#include "debug.h"`
`#include "game/game_text.hpp"`
`#include "network/network_content_gui.h"`
`#include <stack>`
`#include "table/strings.h"`
`#include "table/control_codes.h"`
`#include "safeguards.h"`

Go to the source code of this file.

## Data Structures
struct | LanguagePack
struct | UnitConversion
| Helper for unit conversion. More...
struct | Units
| Information about a specific unit system. More...
struct | UnitsLong
| Information about a specific unit system with a long variant. More...
class | LanguagePackGlyphSearcher
| Helper for searching through the language pack. More...

## Functions
void | SetDParamMaxValue (uint n, uint64 max_value, uint min_count, FontSize size)
| Set DParam n to some number that is suitable for string size computations.
void | SetDParamMaxDigits (uint n, uint count, FontSize size)
| Set DParam n to some number that is suitable for string size computations.
void | CopyInDParam (int offs, const uint64 *src, int num)
| Copy num string parameters from array src into the global string parameter array.
void | CopyOutDParam (uint64 *dst, int offs, int num)
| Copy num string parameters from the global string parameter array to the dst array.
void | CopyOutDParam (uint64 *dst, const char **strings, StringID string, int num)
| Copy num string parameters from the global string parameter array to the dst array.
static char * | StationGetSpecialString (char *buff, int x, const char *last)
static char * | GetSpecialTownNameString (char *buff, int ind, uint32 seed, const char *last)
static char * | GetSpecialNameString (char *buff, int ind, StringParameters *args, const char *last)
static char * | FormatString (char *buff, const char *str_arg, StringParameters *args, const char *last, uint case_index, bool game_script, bool dry_run)
| Parse most format codes within a string and write the result to a buffer.
const char * | GetStringPtr (StringID string)
char * | GetStringWithArgs (char *buffr, StringID string, StringParameters *args, const char *last, uint case_index, bool game_script)
| Get a parsed string with most special stringcodes replaced by the string parameters.
char * | GetString (char *buffr, StringID string, const char *last)
void | SetDParamStr (uint n, const char *str)
| This function is used to "bind" a C string to a OpenTTD dparam slot.
void | InjectDParam (uint amount)
| Shift the string parameters in the global string parameter array by amount positions, making room at the beginning.
static char * | FormatNumber (char *buff, int64 number, const char *last, const char *separator, int zerofill=1, int fractional_digits=0)
| Format a number into a string.
static char * | FormatCommaNumber (char *buff, int64 number, const char *last, int fractional_digits=0)
static char * | FormatNoCommaNumber (char *buff, int64 number, const char *last)
static char * | FormatZerofillNumber (char *buff, int64 number, int64 count, const char *last)
static char * | FormatHexNumber (char *buff, uint64 number, const char *last)
static char * | FormatBytes (char *buff, int64 number, const char *last)
| Format a given number as a number of bytes with the SI prefix.
static char * | FormatYmdString (char *buff, Date date, const char *last, uint case_index)
static char * | FormatMonthAndYear (char *buff, Date date, const char *last, uint case_index)
static char * | FormatTinyOrISODate (char *buff, Date date, StringID str, const char *last)
static char * | FormatGenericCurrency (char *buff, const CurrencySpec *spec, Money number, bool compact, const char *last)
static int | DeterminePluralForm (int64 count, int plural_form)
| Determine the "plural" index given a plural form and a number.
static const char * | ParseStringChoice (const char *b, uint form, char **dst, const char *last)
uint | ConvertSpeedToDisplaySpeed (uint speed)
| Convert the given (internal) speed to the display speed.
uint | ConvertDisplaySpeedToSpeed (uint speed)
| Convert the given display speed to the (internal) speed.
uint | ConvertKmhishSpeedToDisplaySpeed (uint speed)
| Convert the given km/h-ish speed to the display speed.
uint | ConvertDisplaySpeedToKmhishSpeed (uint speed)
| Convert the given display speed to the km/h-ish speed.
static char * | GenAndCoName (char *buff, uint32 arg, const char *last)
static char * | GenPresidentName (char *buff, uint32 x, const char *last)
void | SortNetworkLanguages ()
bool | ReadLanguagePack (const LanguageMetadata *lang)
| Read a particular language.
const char * | GetCurrentLocale (const char *param)
| Determine the current charset based on the environment First check some default values, after this one we passed ourselves and if none exist return the value for $LANG.
int CDECL | StringIDSorter (const StringID *a, const StringID *b)
const LanguageMetadata * | GetLanguage (byte newgrflangid)
| Get the language with the given NewGRF language ID.
static bool | GetLanguageFileHeader (const char *file, LanguagePackHeader *hdr)
| Reads the language file header and checks compatibility.
static void | GetLanguageList (const char *path)
| Gets a list of languages from the given directory.
void | InitializeLanguagePacks ()
| Make a list of the available language packs.
const char * | GetCurrentLanguageIsoCode ()
| Get the ISO language code of the currently loaded language.
void | CheckForMissingGlyphs (bool base_font, MissingGlyphSearcher *searcher)
| Check whether the currently loaded language pack uses characters that the currently loaded font does not support.

## Variables
char | _config_language_file [MAX_PATH]
| The file (name) stored in the configuration.
LanguageList | _languages
| The actual list of language meta data.
const LanguageMetadata * | _current_language = NULL
| The currently loaded language.
TextDirection | _current_text_dir
| Text direction of the currently selected language.
Collator * | _current_collator = NULL
| Collator for the language currently in use.
static uint64 | _global_string_params_data [20]
| Global array of string parameters. To access, use SetDParam.
static WChar | _global_string_params_type [20]
| Type of parameters stored in #_decode_parameters.
StringParameters | _global_string_params (_global_string_params_data, 20, _global_string_params_type)
static char ** | _langpack_offs
static LanguagePack * | _langpack
static uint | _langtab_num [TAB_COUNT]
| Offset into langpack offs.
static uint | _langtab_start [TAB_COUNT]
| Offset into langpack offs.
static bool | _scan_for_gender_data = false
| Are we scanning for the gender of the current string? (instead of formatting it)
static const Units | _units_velocity []
| Unit conversions for velocity.
static const Units | _units_power []
| Unit conversions for velocity.
static const UnitsLong | _units_weight []
| Unit conversions for weight.
static const UnitsLong | _units_volume []
| Unit conversions for volume.
static const Units | _units_force []
| Unit conversions for force.
static const Units | _units_height []
| Unit conversions for height.
static const char *const | _silly_company_names []
static const char *const | _surname_list []
static const char *const | _silly_surname_list []
static const char | _initial_name_letters []

## Detailed Description

Handling of translated strings.

Definition in file strings.cpp.

## Function Documentation

void CheckForMissingGlyphs | ( | bool | base_font,
|  | MissingGlyphSearcher * | searcher
| ) |  |

Check whether the currently loaded language pack uses characters that the currently loaded font does not support.

If this is the case an error message will be shown in English. The error message will not be localized because that would mean it might use characters that are not in the font, which is the whole reason this check has been added.

Parameters

  base_font | Whether to look at the base font as well.
  searcher | The methods to use to search for strings to check. If NULL the loaded language pack searcher is used.

Definition at line 2091 of file strings.cpp.

References _current_text_dir, MissingGlyphSearcher::FindMissingGlyphs(), InitFreeType(), INVALID_STRING_ID, LanguagePackHeader::isocode, LoadStringWidthTable(), MissingGlyphSearcher::Monospace(), SetDParamStr(), SetFallbackFont(), ShowErrorMessage(), stredup(), TD_LTR, Utf8Encode(), LanguagePackHeader::winlangid, WL_ERROR, and WL_WARNING.

Referenced by HandleBootstrap(), LoadIntroGame(), TextfileWindow::LoadTextfile(), GameOptionsWindow::OnDropdownSelect(), and openttd_main().

uint ConvertDisplaySpeedToKmhishSpeed | ( | uint | speed | ) |

Convert the given display speed to the km/h-ish speed.

Parameters

  speed | the speed to convert

Returns
  the converted speed.

Definition at line 758 of file strings.cpp.

References _settings_game, Units::c, UnitConversion::FromDisplay(), GameSettings::locale, and LocaleSettings::units_velocity.

Referenced by TimetableWindow::OnQueryTextFinished().

uint ConvertDisplaySpeedToSpeed | ( | uint | speed | ) |

Convert the given display speed to the (internal) speed.

Parameters

  speed | the speed to convert

Returns
  the converted speed.

Definition at line 738 of file strings.cpp.

References _settings_game, Units::c, UnitConversion::FromDisplay(), GameSettings::locale, and LocaleSettings::units_velocity.

Referenced by OrdersWindow::OnQueryTextFinished().

uint ConvertKmhishSpeedToDisplaySpeed | ( | uint | speed | ) |

Convert the given km/h-ish speed to the display speed.

Parameters

  speed | the speed to convert

Returns
  the converted speed.

Definition at line 748 of file strings.cpp.

References _settings_game, Units::c, GameSettings::locale, UnitConversion::ToDisplay(), and LocaleSettings::units_velocity.

Referenced by FormatString(), and TimetableWindow::OnClick().

uint ConvertSpeedToDisplaySpeed | ( | uint | speed | ) |

Convert the given (internal) speed to the display speed.

Parameters

  speed | the speed to convert

Returns
  the converted speed.

Definition at line 725 of file strings.cpp.

References _settings_game, Units::c, GameSettings::locale, UnitConversion::ToDisplay(), and LocaleSettings::units_velocity.

Referenced by DrawOrderString(), OrdersWindow::OnClick(), and OrdersWindow::SetStringParameters().

void CopyInDParam | ( | int | offs,
|  | const uint64 * | src,
|  | int | num
| ) |  |

Copy num string parameters from array src into the global string parameter array.

Parameters

  offs | Index in the global array to copy the first string parameter to.
  src | Source array of string parameters.
  num | Number of string parameters to copy.

Definition at line 136 of file strings.cpp.

References StringParameters::GetPointerToOffset(), and MemCpyT().

Referenced by DrawNewsString(), ErrmsgWindow::DrawWidget(), NewsWindow::DrawWidget(), ErrmsgWindow::SetStringParameters(), QueryWindow::SetStringParameters(), ErrmsgWindow::UpdateWidgetSize(), and NewsWindow::UpdateWidgetSize().

void CopyOutDParam | ( | uint64 * | dst,
|  | int | offs,
|  | int | num
| ) |  |

Copy num string parameters from the global string parameter array to the dst array.

Parameters

  dst | Destination array of string parameters.
  offs | Index in the global array to copy the first string parameter from.
  num | Number of string parameters to copy.

Definition at line 147 of file strings.cpp.

References StringParameters::GetPointerToOffset(), and MemCpyT().

Referenced by AddNewsItem(), and ErrorMessageData::CopyOutDParams().

void CopyOutDParam | ( | uint64 * | dst,
|  | const char ** | strings,
|  | StringID | string,
|  | int | num
| ) |  |

Copy num string parameters from the global string parameter array to the dst array.

Furthermore clone raw string parameters into strings and amend the data in dst.

Parameters

  dst | Destination array of string parameters.
  strings | Destination array for clone of the raw strings. Must be of same length as dst. Deallocation left to the caller.
  string | The string used to determine where raw strings are and where there are no raw strings.
  num | Number of string parameters to copy.

Definition at line 160 of file strings.cpp.

References DRAW_STRING_BUFFER, StringParameters::GetPointerToOffset(), StringParameters::GetTypeAtOffset(), StringParameters::HasTypeInformation(), lastof, MemCpyT(), and stredup().

static int DeterminePluralForm | ( | int64 | count,
|  | int | plural_form
| ) |  |
| static

Determine the "plural" index given a plural form and a number.

Parameters

  count | The number to get the plural index of.
  plural_form | The plural form we want an index for.

Returns
  The plural index for the given form.

Definition at line 505 of file strings.cpp.

References abs().

Referenced by FormatString().

static char* FormatBytes | ( | char * | buff,
|  | int64 | number,
|  | const char * | last
| ) |  |
| static

Format a given number as a number of bytes with the SI prefix.

Parameters

  buff | the buffer to write to
  number | the number of bytes to write down
  last | the last element in the buffer

Returns
  till where we wrote

Definition at line 375 of file strings.cpp.

References _settings_game, LanguagePackHeader::digit_decimal_separator, LocaleSettings::digit_decimal_separator, lengthof, GameSettings::locale, NBSP, and seprintf().

Referenced by FormatString().

static char* FormatNumber | ( | char * | buff,
|  | int64 | number,
|  | const char * | last,
|  | const char * | separator,
|  | int | zerofill = `1`,
|  | int | fractional_digits = `0`
| ) |  |
| static

Format a number into a string.

Parameters

  buff | the buffer to write to
  number | the number to write down
  last | the last element in the buffer
  separator | the thousands-separator to use
  zerofill | minimum number of digits to print for the integer part. The number will be filled with zeros at the front if necessary.
  fractional_digits | number of fractional digits to display after a decimal separator. The decimal separator is inserted in front of the fractional_digits last digit of number.

Returns
  till where we wrote

Definition at line 307 of file strings.cpp.

References _settings_game, LanguagePackHeader::digit_decimal_separator, LocaleSettings::digit_decimal_separator, GameSettings::locale, seprintf(), and strecpy().

static char * FormatString | ( | char * | buff,
|  | const char * | str_arg,
|  | StringParameters * | args,
|  | const char * | last,
|  | uint | case_index,
|  | bool | game_script,
|  | bool | dry_run
| ) |  |
| static

Parse most format codes within a string and write the result to a buffer.

Parameters

  buff | The buffer to write the final string to.
  str | The original string with format codes.
  args | Pointer to extra arguments used by various string codes.
  case_index |
  last | Pointer to just past the end of the buff array.
  dry_run | True when the argt array is not yet initialized.

Definition at line 771 of file strings.cpp.

References _resolutions, _scan_for_gender_data, _settings_game, Units::c, UnitsLong::c, StringParameters::ClearTypeInformation(), ConvertKmhishSpeedToDisplaySpeed(), CreateTextRefStackBackup(), CT_INVALID, DeterminePluralForm(), FACIL_AIRPORT, FACIL_BUS_STOP, FACIL_DOCK, FACIL_TRAIN, FACIL_TRUCK_STOP, FOR_ALL_SORTED_CARGOSPECS, FormatBytes(), free(), GameSettings::game_creation, GAME_TEXT_TAB, GB(), GenerateTownNameString(), CargoSpec::Get(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_depot_pool >::Get(), CargoSpec::GetArraySize(), StringParameters::GetDataLeft(), StringParameters::GetDataPointer(), SpecializedStation< Station, false >::GetIfValid(), SpecializedStation< Waypoint, true >::GetIfValid(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_engine_pool >::GetIfValid(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_group_pool >::GetIfValid(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_industry_pool >::GetIfValid(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_town_pool >::GetIfValid(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_vehicle_pool >::GetIfValid(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_sign_pool >::GetIfValid(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_company_pool >::GetIfValid(), GetIndustrySpec(), StringParameters::GetInt32(), StringParameters::GetInt64(), StringParameters::GetPointerToOffset(), GetStringWithArgs(), GetTownName(), StringParameters::GetTypeAtOffset(), HasBit(), StringParameters::HasTypeInformation(), CargoSpec::Index(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem< Tpool >::index, Station::indtype, Engine::IsEnabled(), IsInsideMM(), Company::IsValidHumanID(), UnitsLong::l, GameCreationSettings::landscape, lastof, lengthof, GameSettings::locale, min(), BaseConsist::name, Engine::name, CompanyProperties::name, BaseStation::name, Town::name, Group::name, CargoSpec::name, IndustrySpec::name, CompanyProperties::name_1, CompanyProperties::name_2, StringParameters::num_param, StringParameters::offset, LanguagePackHeader::own_name, CompanyProperties::president_name, CompanyProperties::president_name_1, CompanyProperties::president_name_2, CargoSpec::quantifier, RemapNewGRFStringControlCode(), RestoreTextRefStackBackup(), Units::s, UnitsLong::s, SCC_NEWGRF_FIRST, SCC_NEWGRF_PRINT_WORD_STRING_ID, SCC_NEWGRF_STRINL, seprintf(), IndustrySpec::station_name, strecat(), strecpy(), stredup(), BaseStation::string_id, EngineInfo::string_id, TAB_COUNT_BITS, TAB_COUNT_OFFSET, TAB_SIZE, UnitConversion::ToDisplay(), Industry::town, BaseStation::town, Waypoint::town_cn, Depot::town_cn, BaseVehicle::type, Industry::type, Vehicle::unitnumber, LocaleSettings::units_force, LocaleSettings::units_height, LocaleSettings::units_power, LocaleSettings::units_velocity, CargoSpec::units_volume, LocaleSettings::units_volume, LocaleSettings::units_weight, UsingNewGRFTextStack(), Utf8CharLen(), Utf8Decode(), Utf8Encode(), VEH_AIRCRAFT, VEH_ROAD, VEH_SHIP, and VEH_TRAIN.

Referenced by GetStringWithArgs().

const char* GetCurrentLanguageIsoCode | ( |  | ) |

Get the ISO language code of the currently loaded language.

Returns
  the ISO code.

Definition at line 1994 of file strings.cpp.

References LanguagePackHeader::isocode.

Referenced by GameOptionsWindow::DrawWidget(), GetTextfile(), and GameOptionsWindow::UpdateWidgetSize().

const char* GetCurrentLocale | ( | const char * | param | ) |

Determine the current charset based on the environment First check some default values, after this one we passed ourselves and if none exist return the value for $LANG.

Parameters

  param | environment variable to check conditionally if default ones are not set. Pass NULL if you don't want additional checks.

Returns
  return string containing current charset, or NULL if not-determinable

Definition at line 1841 of file strings.cpp.

const LanguageMetadata* GetLanguage | ( | byte | newgrflangid | ) |

Get the language with the given NewGRF language ID.

Parameters

  newgrflangid | NewGRF languages ID to check.

Returns
  The language's metadata, or NULL if it is not known.

Definition at line 1877 of file strings.cpp.

References SmallVector< T, S >::Begin(), and SmallVector< T, S >::End().

Referenced by GetLanguageList(), and GlobalVarChangeInfo().

static bool GetLanguageFileHeader | ( | const char * | file,
|  | LanguagePackHeader * | hdr
| ) |  |
| static

Reads the language file header and checks compatibility.

Parameters

  file | the file to read
  hdr | the place to write the header information to

Returns
  true if and only if the language file is of a compatible version

Definition at line 1892 of file strings.cpp.

References LanguagePackHeader::IsValid(), LanguagePackHeader::missing, and LanguagePackHeader::winlangid.

Referenced by GetLanguageList().

static void GetLanguageList | ( | const char * | path | ) |
| static

Gets a list of languages from the given directory.

Parameters

  path | the base directory to search in

Definition at line 1914 of file strings.cpp.

References SmallVector< T, S >::Append(), DEBUG, LanguageMetadata::file, FS2OTTD(), GetLanguage(), GetLanguageFileHeader(), lastof, LanguagePackHeader::newgrflangid, seprintf(), and ttd_opendir().

Referenced by InitializeLanguagePacks().

char* GetStringWithArgs | ( | char * | buffr,
|  | StringID | string,
|  | StringParameters * | args,
|  | const char * | last,
|  | uint | case_index,
|  | bool | game_script
| ) |  |

Get a parsed string with most special stringcodes replaced by the string parameters.

Parameters

  buffr | Pointer to a string buffer where the formatted string should be written to.
  string |
  args | Arguments for the string.
  last | Pointer just past the end of buffr.
  case_index | The "case index". This will only be set when FormatString wants to print the string in a different case.
  game_script | The string is coming directly from a game script.

Returns
  Pointer to the final zero byte of the formatted string.

Definition at line 216 of file strings.cpp.

References _langtab_num, error(), FormatString(), GAME_TEXT_TAB, GB(), GetGameStringPtr(), GetGRFStringPtr(), StringParameters::GetInt32(), GetStringWithArgs(), TAB_COUNT_BITS, TAB_COUNT_OFFSET, TAB_SIZE_BITS, and TAB_SIZE_OFFSET.

Referenced by FormatString(), GetStringWithArgs(), and GetTownName().

void InitializeLanguagePacks | ( |  | ) |

Make a list of the available language packs.

Put the data in _languages list.

< Matching the language in the configuration file or the current locale

< Using pt_PT for pt_BR locale when pt_BR is not available

< Fallback when no locale-matching language has been found

Definition at line 1946 of file strings.cpp.

References _config_language_file, SmallVector< T, S >::Begin(), SmallVector< T, S >::End(), LanguageMetadata::file, FOR_ALL_SEARCHPATHS, GetCurrentLocale(), GetLanguageList(), LANG_DIR, lastof, SmallVector< T, S >::Length(), ReadLanguagePack(), and usererror().

Referenced by openttd_main().

void InjectDParam | ( | uint | amount | ) |

Shift the string parameters in the global string parameter array by amount positions, making room at the beginning.

Parameters

  amount | Number of positions to shift.

Definition at line 291 of file strings.cpp.

References StringParameters::ShiftParameters().

Referenced by Subsidy::AwardTo().

bool ReadLanguagePack | ( | const LanguageMetadata * | lang | ) |

Read a particular language.

Parameters

  lang | The metadata about the language.

Returns
  Whether the loading went okay or not.

Definition at line 1720 of file strings.cpp.

References _config_language_file, _current_collator, _current_text_dir, _langtab_num, _langtab_start, BuildContentTypeStringList(), BuildIndustriesLegend(), LanguageMetadata::file, free(), InitializeSortedCargoSpecs(), InvalidateWindowClassesData(), LanguagePackHeader::isocode, LanguagePackHeader::IsValid(), lastof, LanguagePackHeader::newgrflangid, LanguagePackHeader::offsets, ReadFileToMem(), ReconsiderGameScriptLanguage(), SetCurrentGrfLangID(), SortIndustryTypes(), strecpy(), TAB_COUNT, TAB_SIZE, LanguagePackHeader::text_dir, WC_AIRCRAFT_LIST, WC_BUILD_VEHICLE, WC_INDUSTRY_DIRECTORY, WC_ROADVEH_LIST, WC_SHIPS_LIST, WC_STATION_LIST, and WC_TRAINS_LIST.

Referenced by InitializeLanguagePacks(), and GameOptionsWindow::OnDropdownSelect().

void SetDParamMaxDigits | ( | uint | n,
|  | uint | count,
|  | FontSize | size
| ) |  |

Set DParam n to some number that is suitable for string size computations.

Parameters

  n | Index of the string parameter.
  count | Number of digits which shall be displayable.
  size | Font of the number

Definition at line 119 of file strings.cpp.

References GetBroadestDigit(), and SetDParam().

Referenced by DrawEngineList(), SetDParamMaxValue(), DepotWindow::UpdateWidgetSize(), TownDirectoryWindow::UpdateWidgetSize(), NetworkJoinStatusWindow::UpdateWidgetSize(), and ScanProgressWindow::UpdateWidgetSize().

void SetDParamMaxValue | ( | uint | n,
|  | uint64 | max_value,
|  | uint | min_count,
|  | FontSize | size
| ) |  |

Set DParam n to some number that is suitable for string size computations.

Parameters

  n | Index of the string parameter.
  max_value | The biggest value which shall be displayed. For the result only the number of digits of max_value matter.
  min_count | Minimum number of digits independent of max.
  size | Font of the number

Definition at line 103 of file strings.cpp.

References max(), and SetDParamMaxDigits().

Referenced by VehicleGroupWindow::ComputeGroupInfoSize(), TimetableWindow::DrawWidget(), OrdersWindow::DrawWidget(), SetDateWindow::UpdateWidgetSize(), StatusBarWindow::UpdateWidgetSize(), TimetableWindow::UpdateWidgetSize(), NewGRFParametersWindow::UpdateWidgetSize(), SignListWindow::UpdateWidgetSize(), CheatWindow::UpdateWidgetSize(), CompanyFinancesWindow::UpdateWidgetSize(), GenerateLandscapeWindow::UpdateWidgetSize(), BaseGraphWindow::UpdateWidgetSize(), NetworkGameWindow::UpdateWidgetSize(), DepotWindow::UpdateWidgetSize(), CreateScenarioWindow::UpdateWidgetSize(), GenerateProgressWindow::UpdateWidgetSize(), PerformanceRatingDetailWindow::UpdateWidgetSize(), CompanyInfrastructureWindow::UpdateWidgetSize(), VehicleDetailsWindow::UpdateWidgetSize(), NetworkJoinStatusWindow::UpdateWidgetSize(), CompanyWindow::UpdateWidgetSize(), and ScanProgressWindow::UpdateWidgetSize().

void SetDParamStr | ( | uint | n,
|  | const char * | str
| ) |  |

This function is used to "bind" a C string to a OpenTTD dparam slot.

Parameters

  n | slot of the string
  str | string to bind

Definition at line 282 of file strings.cpp.

References SetDParam().

Referenced by Subsidy::AwardTo(), CheckForMissingGlyphs(), CmdCompanyCtrl(), CmdCustomNewsItem(), CmdFoundTown(), CompanyCheckBankrupt(), NetworkContentListWindow::DrawDetails(), IndustryViewWindow::DrawInfo(), GoalListWindow::DrawPartialGoalList(), LandInfoWindow::DrawWidget(), AIListWindow::DrawWidget(), NewGRFParametersWindow::DrawWidget(), TownViewWindow::DrawWidget(), SaveLoadWindow::DrawWidget(), GameOptionsWindow::DrawWidget(), AISettingsWindow::DrawWidget(), NewsWindow::DrawWidget(), MusicTrackSelectionWindow::DrawWidget(), BuildIndustryWindow::DrawWidget(), GoalQuestionWindow::DrawWidget(), NetworkChatWindow::DrawWidget(), StoryBookWindow::DrawWidget(), MusicWindow::DrawWidget(), AIConfigWindow::DrawWidget(), ErrorUnknownCallbackResult(), GenerateCompanyName(), TownViewWindow::GetDesiredInfoHeight(), StoryBookWindow::GetHeadHeight(), IndustryDirectoryWindow::GetIndustryString(), StoryBookWindow::GetPageElementHeight(), GetSavegameFormat(), GetSaveLoadErrorString(), GRFLoadConfig(), IndustryProductionCallback(), MakeScreenshot(), NetworkDrawChatMessage(), NetworkGameWindow::OnClick(), NetworkStartServerWindow::OnClick(), CustomCurrencyWindow::OnClick(), LandInfoWindow::OnInit(), HighScoreWindow::OnPaint(), IConsoleWindow::OnPaint(), GoalListWindow::OnPaint(), openttd_main(), SaveFileError(), ContentTextfileWindow::SetStringParameters(), BaseSetTextfileWindow< TBaseSet >::SetStringParameters(), GameOptionsWindow::SetStringParameters(), AboutWindow::SetStringParameters(), StoryBookWindow::SetStringParameters(), NewGRFTextfileWindow::SetStringParameters(), ScriptTextfileWindow::SetStringParameters(), NewGRFWindow::SetStringParameters(), SpriteAlignerWindow::SetStringParameters(), AIDebugWindow::SetStringParameters(), NetworkLobbyWindow::SetStringParameters(), CustomCurrencyWindow::SetStringParameters(), ShowNewGRFError(), ShowNewGrfVehicleError(), LandInfoWindow::UpdateWidgetSize(), BuildIndustryWindow::UpdateWidgetSize(), MusicTrackSelectionWindow::UpdateWidgetSize(), GameOptionsWindow::UpdateWidgetSize(), GoalQuestionWindow::UpdateWidgetSize(), NetworkChatWindow::UpdateWidgetSize(), MusicWindow::UpdateWidgetSize(), StoryBookWindow::UpdateWidgetSize(), NewGRFWindow::UpdateWidgetSize(), and WarnCorruptSprite().

## Variable Documentation

const LanguageMetadata* _current_language = NULL

The currently loaded language.

Definition at line 48 of file strings.cpp.

Referenced by GameOptionsWindow::BuildDropDownList(), SelectGameWindow::DrawWidget(), UnmappedChoiceList::Flush(), CrashLog::LogConfiguration(), SelectGameWindow::OnInit(), ReconsiderGameScriptLanguage(), GameOptionsWindow::SetStringParameters(), and SelectGameWindow::UpdateWidgetSize().

const char _initial_name_letters[]
| static

Initial value:
{
'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J',
'K', 'L', 'M', 'N', 'P', 'R', 'S', 'T', 'W',
}

Definition at line 1597 of file strings.cpp.

LanguageList _languages

The actual list of language meta data.

Definition at line 47 of file strings.cpp.

Referenced by GameOptionsWindow::BuildDropDownList(), and GameOptionsWindow::OnDropdownSelect().

const char* const _silly_company_names[]
| static

Initial value:
{
"Bloggs Brothers",
"Tiny Transport Ltd.",
"Express Travel",
"Comfy-Coach & Co.",
"Crush & Bump Ltd.",
"Broken & Late Ltd.",
"Sam Speedy & Son",
"Supersonic Travel",
"Mike's Motors",
"Lightning International",
"Pannik & Loozit Ltd.",
"Inter-City Transport",
"Getout & Pushit Ltd."
}

Definition at line 1534 of file strings.cpp.

const char* const _silly_surname_list[]
| static

Initial value:
{
"Grumpy",
"Dozy",
"Speedy",
"Nosey",
"Dribble",
"Mushroom",
"Cabbage",
"Sniffle",
"Fishy",
"Swindle",
"Sneaky",
"Nutkins"
}

Definition at line 1582 of file strings.cpp.

const Units _units_force[]
| static

Initial value:
{
{ {3597, 4}, STR_UNITS_FORCE_IMPERIAL },
{ {3263, 5}, STR_UNITS_FORCE_METRIC },
{ { 1, 0}, STR_UNITS_FORCE_SI },
}

Unit conversions for force.

Definition at line 707 of file strings.cpp.

const Units _units_height[]
| static

Initial value:
{
{ { 3, 0}, STR_UNITS_HEIGHT_IMPERIAL },
{ { 1, 0}, STR_UNITS_HEIGHT_METRIC },
{ { 1, 0}, STR_UNITS_HEIGHT_SI },
}

Unit conversions for height.

Definition at line 714 of file strings.cpp.

const Units _units_power[]
| static

Initial value:
{
{ { 1, 0}, STR_UNITS_POWER_IMPERIAL },
{ {4153, 12}, STR_UNITS_POWER_METRIC },
{ {6109, 13}, STR_UNITS_POWER_SI },
}

Unit conversions for velocity.

Definition at line 686 of file strings.cpp.

const Units _units_velocity[]
| static

Initial value:
{
{ { 1, 0}, STR_UNITS_VELOCITY_IMPERIAL },
{ { 103, 6}, STR_UNITS_VELOCITY_METRIC },
{ {1831, 12}, STR_UNITS_VELOCITY_SI },
}

Unit conversions for velocity.

Definition at line 679 of file strings.cpp.

const UnitsLong _units_volume[]
| static

Initial value:
{
{ {4227, 4}, STR_UNITS_VOLUME_SHORT_IMPERIAL, STR_UNITS_VOLUME_LONG_IMPERIAL },
{ {1000, 0}, STR_UNITS_VOLUME_SHORT_METRIC, STR_UNITS_VOLUME_LONG_METRIC },
{ { 1, 0}, STR_UNITS_VOLUME_SHORT_SI, STR_UNITS_VOLUME_LONG_SI },
}

Unit conversions for volume.

Definition at line 700 of file strings.cpp.

const UnitsLong _units_weight[]
| static

Initial value:
{
{ {4515, 12}, STR_UNITS_WEIGHT_SHORT_IMPERIAL, STR_UNITS_WEIGHT_LONG_IMPERIAL },
{ { 1, 0}, STR_UNITS_WEIGHT_SHORT_METRIC, STR_UNITS_WEIGHT_LONG_METRIC },
{ {1000, 0}, STR_UNITS_WEIGHT_SHORT_SI, STR_UNITS_WEIGHT_LONG_SI },
}

Unit conversions for weight.

Definition at line 693 of file strings.cpp.