68 for (
auto ¶m : args) param.type = 0;
73const char *GetStringPtr(
StringID string);
75void AppendStringWithArgsInPlace(std::string &result,
StringID string, std::span<StringParameter> params);
90 return speed | (
static_cast<uint64_t
>(type) << 56);
108template <
typename... Args>
111 return std::array<
StringParameter,
sizeof...(args)>({std::forward<StringParameter>(args)...});
120template <
typename... Args>
148template <
typename... Args>
Functions related to bit mathematics.
Container for an encoded string, created by GetEncodedString.
A searcher for missing glyphs.
virtual void Reset()=0
Reset the search, i.e.
virtual void SetFontNames(struct FontCacheSettings *settings, const char *font_name, const void *os_data=nullptr)=0
Set the right font names.
virtual FontSize DefaultSize()=0
Get the default (font) size of the string.
bool FindMissingGlyphs()
Check whether there are glyphs missing in the current language.
virtual bool Monospace()=0
Whether to search for a monospace font or not.
virtual std::optional< std::string_view > NextString()=0
Get the next string to search through.
virtual ~MissingGlyphSearcher()=default
Make sure everything gets destructed right.
Concept for unifying the convert through 'base()' behaviour of several 'strong' types.
fluid_settings_t * settings
FluidSynth settings handle.
Types related to the graphics and/or input devices.
FontSize
Available font sizes.
@ FS_NORMAL
Index of the normal font in the font tables.
void GetStringWithArgs(StringBuilder &builder, StringID string, StringParameters &args, uint case_index, bool game_script)
Get a parsed string with most special stringcodes replaced by the string parameters.
EncodedString GetEncodedStringWithArgs(StringID str, std::span< const StringParameter > params)
Encode a string with its parameters into an encoded string.
std::string_view GetListSeparator()
Get the list separator string for the current language.
static EncodedString GetEncodedStringIfValid(StringID str)
Encode a string with no parameters into an encoded string, if the string id is valid.
static void PrepareArgsForNextRun(std::span< StringParameter > args)
Prepare the string parameters for the next formatting run, resetting the type information.
const char * GetCurrentLanguageIsoCode()
Get the ISO language code of the currently loaded language.
void AppendStringInPlace(std::string &result, StringID string)
Resolve the given StringID and append in place into an existing std::string with formatting but no pa...
StringTab GetStringTab(StringID str)
Extract the StringTab from a StringID.
EncodedString GetEncodedString(StringID str)
Encode a string with no parameters into an encoded string.
uint ConvertDisplaySpeedToKmhishSpeed(uint speed, VehicleType type)
Convert the given display speed to the km/h-ish speed.
uint64_t GetParamMaxValue(uint64_t max_value, uint min_count=0, FontSize size=FS_NORMAL)
Get some number that is suitable for string size computations.
std::string GetString(StringID string)
Resolve the given StringID into a std::string with formatting but no parameters.
void CheckForMissingGlyphs(bool base_font=true, MissingGlyphSearcher *search=nullptr)
Check whether the currently loaded language pack uses characters that the currently loaded font does ...
uint ConvertKmhishSpeedToDisplaySpeed(uint speed, VehicleType type)
Convert the given km/h-ish speed to the display speed.
void InitializeLanguagePacks()
Make a list of the available language packs.
auto MakeParameters(Args &&... args)
Helper to create the StringParameters with its own buffer with the given parameter values.
TextDirection _current_text_dir
Text direction of the currently selected language.
StringID MakeStringID(StringTab tab, StringIndexInTab index)
Create a StringID.
int64_t PackVelocity(uint speed, VehicleType type)
Pack velocity and vehicle type for use with SCC_VELOCITY string parameter.
StringIndexInTab GetStringIndex(StringID str)
Extract the StringIndex from a StringID.
uint64_t GetParamMaxDigits(uint count, FontSize size=FS_NORMAL)
Get some number that is suitable for string size computations.
Types related to strings.
uint32_t StringID
Numeric value that represents a string, independent of the selected language.
static const StringID INVALID_STRING_ID
Constant representing an invalid string (16bit in case it is used in savegames)
static const uint TAB_SIZE_NEWGRF
Number of strings for NewGRFs.
static const uint TAB_SIZE_GAMESCRIPT
Number of strings for GameScripts.
static const uint TAB_SIZE_BITS
Number of bits for the StringIndex within a StringTab.
static const uint TAB_SIZE
Number of strings per StringTab.
StringTab
StringTabs to group StringIDs.
@ TEXT_TAB_NEWGRF_START
Start of NewGRF supplied strings.
@ TEXT_TAB_GAMESCRIPT_START
Start of GameScript supplied strings.
@ TEXT_TAB_END
End of language files.
TextDirection
Directions a text can go to.
Settings for the four different fonts.
The data required to format and validate a single parameter of a string.
Templated helper to make a type-safe 'typedef' representing a single POD value.
Types related to vehicles.
VehicleType
Available vehicle types.