mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2025-03-12 02:19:41 +00:00
Add: show completion progress of languages in the language dropdown for non-release builds.
This commit is contained in:
parent
d1dd997f07
commit
a9740cef82
@ -993,6 +993,7 @@ STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_12_MONTHS :Every 12 months
|
|||||||
|
|
||||||
STR_GAME_OPTIONS_LANGUAGE :{BLACK}Language
|
STR_GAME_OPTIONS_LANGUAGE :{BLACK}Language
|
||||||
STR_GAME_OPTIONS_LANGUAGE_TOOLTIP :{BLACK}Select the interface language to use
|
STR_GAME_OPTIONS_LANGUAGE_TOOLTIP :{BLACK}Select the interface language to use
|
||||||
|
STR_GAME_OPTIONS_LANGUAGE_PERCENTAGE :{RAW_STRING} ({NUM}% completed)
|
||||||
|
|
||||||
STR_GAME_OPTIONS_FULLSCREEN :{BLACK}Fullscreen
|
STR_GAME_OPTIONS_FULLSCREEN :{BLACK}Fullscreen
|
||||||
STR_GAME_OPTIONS_FULLSCREEN_TOOLTIP :{BLACK}Check this box to play OpenTTD fullscreen mode
|
STR_GAME_OPTIONS_FULLSCREEN_TOOLTIP :{BLACK}Check this box to play OpenTTD fullscreen mode
|
||||||
|
@ -36,6 +36,7 @@
|
|||||||
#include "querystring_gui.h"
|
#include "querystring_gui.h"
|
||||||
#include "fontcache.h"
|
#include "fontcache.h"
|
||||||
#include "zoom_func.h"
|
#include "zoom_func.h"
|
||||||
|
#include "rev.h"
|
||||||
#include "video/video_driver.hpp"
|
#include "video/video_driver.hpp"
|
||||||
#include "music/music_driver.hpp"
|
#include "music/music_driver.hpp"
|
||||||
|
|
||||||
@ -217,7 +218,8 @@ struct GameOptionsWindow : Window {
|
|||||||
|
|
||||||
case WID_GO_LANG_DROPDOWN: { // Setup interface language dropdown
|
case WID_GO_LANG_DROPDOWN: { // Setup interface language dropdown
|
||||||
for (uint i = 0; i < _languages.size(); i++) {
|
for (uint i = 0; i < _languages.size(); i++) {
|
||||||
auto item = new DropDownListParamStringItem(STR_JUST_RAW_STRING, i, false);
|
bool hide_percentage = IsReleasedVersion() || _languages[i].missing < _settings_client.gui.missing_strings_threshold;
|
||||||
|
auto item = new DropDownListParamStringItem(hide_percentage ? STR_JUST_RAW_STRING : STR_GAME_OPTIONS_LANGUAGE_PERCENTAGE, i, false);
|
||||||
if (&_languages[i] == _current_language) {
|
if (&_languages[i] == _current_language) {
|
||||||
*selected_index = i;
|
*selected_index = i;
|
||||||
item->SetParamStr(0, _languages[i].own_name);
|
item->SetParamStr(0, _languages[i].own_name);
|
||||||
@ -229,6 +231,7 @@ struct GameOptionsWindow : Window {
|
|||||||
* entries in the dropdown list. */
|
* entries in the dropdown list. */
|
||||||
item->SetParamStr(0, _languages[i].name);
|
item->SetParamStr(0, _languages[i].name);
|
||||||
}
|
}
|
||||||
|
item->SetParam(1, (LANGUAGE_TOTAL_STRINGS - _languages[i].missing) * 100 / LANGUAGE_TOTAL_STRINGS);
|
||||||
list.emplace_back(item);
|
list.emplace_back(item);
|
||||||
}
|
}
|
||||||
std::sort(list.begin(), list.end(), DropDownListStringItem::NatSortFunc);
|
std::sort(list.begin(), list.end(), DropDownListStringItem::NatSortFunc);
|
||||||
|
@ -273,13 +273,14 @@ struct HeaderFileWriter : HeaderWriter, FileWriter {
|
|||||||
const char *real_filename;
|
const char *real_filename;
|
||||||
/** The previous string ID that was printed. */
|
/** The previous string ID that was printed. */
|
||||||
int prev;
|
int prev;
|
||||||
|
uint total_strings;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Open a file to write to.
|
* Open a file to write to.
|
||||||
* @param filename The file to open.
|
* @param filename The file to open.
|
||||||
*/
|
*/
|
||||||
HeaderFileWriter(const char *filename) : FileWriter("tmp.xxx"),
|
HeaderFileWriter(const char *filename) : FileWriter("tmp.xxx"),
|
||||||
real_filename(stredup(filename)), prev(0)
|
real_filename(stredup(filename)), prev(0), total_strings(0)
|
||||||
{
|
{
|
||||||
fprintf(this->fh, "/* This file is automatically generated. Do not modify */\n\n");
|
fprintf(this->fh, "/* This file is automatically generated. Do not modify */\n\n");
|
||||||
fprintf(this->fh, "#ifndef TABLE_STRINGS_H\n");
|
fprintf(this->fh, "#ifndef TABLE_STRINGS_H\n");
|
||||||
@ -297,6 +298,7 @@ struct HeaderFileWriter : HeaderWriter, FileWriter {
|
|||||||
if (prev + 1 != stringid) fprintf(this->fh, "\n");
|
if (prev + 1 != stringid) fprintf(this->fh, "\n");
|
||||||
fprintf(this->fh, "static const StringID %s = 0x%X;\n", name, stringid);
|
fprintf(this->fh, "static const StringID %s = 0x%X;\n", name, stringid);
|
||||||
prev = stringid;
|
prev = stringid;
|
||||||
|
total_strings++;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Finalise(const StringData &data)
|
void Finalise(const StringData &data)
|
||||||
@ -311,8 +313,10 @@ struct HeaderFileWriter : HeaderWriter, FileWriter {
|
|||||||
"\n"
|
"\n"
|
||||||
"static const uint LANGUAGE_PACK_VERSION = 0x%X;\n"
|
"static const uint LANGUAGE_PACK_VERSION = 0x%X;\n"
|
||||||
"static const uint LANGUAGE_MAX_PLURAL = %u;\n"
|
"static const uint LANGUAGE_MAX_PLURAL = %u;\n"
|
||||||
"static const uint LANGUAGE_MAX_PLURAL_FORMS = %d;\n\n",
|
"static const uint LANGUAGE_MAX_PLURAL_FORMS = %d;\n"
|
||||||
(uint)data.Version(), (uint)lengthof(_plural_forms), max_plural_forms
|
"static const uint LANGUAGE_TOTAL_STRINGS = %u;\n"
|
||||||
|
"\n",
|
||||||
|
(uint)data.Version(), (uint)lengthof(_plural_forms), max_plural_forms, total_strings
|
||||||
);
|
);
|
||||||
|
|
||||||
fprintf(this->fh, "#endif /* TABLE_STRINGS_H */\n");
|
fprintf(this->fh, "#endif /* TABLE_STRINGS_H */\n");
|
||||||
|
Loading…
Reference in New Issue
Block a user