From 8bf8c0f25188ecd17165dbb49739e7d193396790 Mon Sep 17 00:00:00 2001 From: Patric Stout Date: Fri, 19 Feb 2021 19:31:45 +0100 Subject: [PATCH 1/3] Fix d437445c: also use std::chrono for the GRFFileScanner modal window For some reason I only converted one of the two modal windows we have, and completely forgot the other. While at it, synchronize the way those two modal windows work in terms of "next_update". --- src/genworld_gui.cpp | 13 ++++++------- src/newgrf_config.cpp | 11 ++++++----- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/genworld_gui.cpp b/src/genworld_gui.cpp index 7ef9937330..bf4d327a7e 100644 --- a/src/genworld_gui.cpp +++ b/src/genworld_gui.cpp @@ -1188,7 +1188,7 @@ struct GenWorldStatus { StringID cls; uint current; uint total; - std::chrono::steady_clock::time_point timer; + std::chrono::steady_clock::time_point next_update; }; static GenWorldStatus _gws; @@ -1290,11 +1290,11 @@ struct GenerateProgressWindow : public Window { */ void PrepareGenerateWorldProgress() { - _gws.cls = STR_GENERATION_WORLD_GENERATION; + _gws.cls = STR_GENERATION_WORLD_GENERATION; _gws.current = 0; - _gws.total = 0; + _gws.total = 0; _gws.percent = 0; - _gws.timer = std::chrono::steady_clock::now() - std::chrono::milliseconds(MODAL_PROGRESS_REDRAW_TIMEOUT * 2); // Ensure we draw on first update + _gws.next_update = std::chrono::steady_clock::now(); } /** @@ -1329,7 +1329,8 @@ static void _SetGeneratingWorldProgress(GenWorldProgress cls, uint progress, uin } /* Don't update the screen too often. So update it once in every once in a while... */ - if (!_network_dedicated && std::chrono::steady_clock::now() - _gws.timer < std::chrono::milliseconds(MODAL_PROGRESS_REDRAW_TIMEOUT)) return; + if (!_network_dedicated && std::chrono::steady_clock::now() < _gws.next_update) return; + _gws.next_update = std::chrono::steady_clock::now() + std::chrono::milliseconds(MODAL_PROGRESS_REDRAW_TIMEOUT); /* Percentage is about the number of completed tasks, so 'current - 1' */ _gws.percent = percent_table[cls] + (percent_table[cls + 1] - percent_table[cls]) * (_gws.current == 0 ? 0 : _gws.current - 1) / _gws.total; @@ -1364,8 +1365,6 @@ static void _SetGeneratingWorldProgress(GenWorldProgress cls, uint progress, uin _modal_progress_paint_mutex.lock(); _modal_progress_work_mutex.lock(); _modal_progress_paint_mutex.unlock(); - - _gws.timer = std::chrono::steady_clock::now(); } /** diff --git a/src/newgrf_config.cpp b/src/newgrf_config.cpp index cd95a4b8a8..e56f878bdb 100644 --- a/src/newgrf_config.cpp +++ b/src/newgrf_config.cpp @@ -578,12 +578,13 @@ compatible_grf: /** Helper for scanning for files with GRF as extension */ class GRFFileScanner : FileScanner { - uint next_update; ///< The next (realtime tick) we do update the screen. + std::chrono::steady_clock::time_point next_update; ///< The next moment we do update the screen. uint num_scanned; ///< The number of GRFs we have scanned. public: - GRFFileScanner() : next_update(_realtime_tick), num_scanned(0) + GRFFileScanner() : num_scanned(0) { + this->next_update = std::chrono::steady_clock::now(); } bool AddFile(const std::string &filename, size_t basepath_length, const std::string &tar_filename) override; @@ -634,7 +635,9 @@ bool GRFFileScanner::AddFile(const std::string &filename, size_t basepath_length } this->num_scanned++; - if (this->next_update <= _realtime_tick) { + if (std::chrono::steady_clock::now() >= this->next_update) { + this->next_update = std::chrono::steady_clock::now() + std::chrono::milliseconds(MODAL_PROGRESS_REDRAW_TIMEOUT); + _modal_progress_work_mutex.unlock(); _modal_progress_paint_mutex.lock(); @@ -645,8 +648,6 @@ bool GRFFileScanner::AddFile(const std::string &filename, size_t basepath_length _modal_progress_work_mutex.lock(); _modal_progress_paint_mutex.unlock(); - - this->next_update = _realtime_tick + MODAL_PROGRESS_REDRAW_TIMEOUT; } if (!added) { From b124c49ea4823975c35216c14dbfb93ada34fcd3 Mon Sep 17 00:00:00 2001 From: Patric Stout Date: Fri, 19 Feb 2021 19:34:40 +0100 Subject: [PATCH 2/3] Fix: [Actions] Also run CI against libsdl1.2 for every pull request --- .github/workflows/ci-build.yml | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci-build.yml b/.github/workflows/ci-build.yml index 4fbb04dbd3..7996fd9be5 100644 --- a/.github/workflows/ci-build.yml +++ b/.github/workflows/ci-build.yml @@ -66,10 +66,15 @@ jobs: fail-fast: false matrix: include: - - compiler: clang - cxxcompiler: clang++ - - compiler: gcc - cxxcompiler: g++ + - compiler: clang + cxxcompiler: clang++ + libsdl: libsdl2-dev + - compiler: gcc + cxxcompiler: g++ + libsdl: libsdl2-dev + - compiler: gcc + cxxcompiler: g++ + libsdl: libsdl1.2-dev runs-on: ubuntu-20.04 env: @@ -93,7 +98,7 @@ jobs: libicu-dev \ liblzma-dev \ liblzo2-dev \ - libsdl2-dev \ + ${{ matrix.libsdl }} \ zlib1g-dev \ # EOF echo "::endgroup::" From 5fc983a1bbf0f0f118cfd9b7084bca0686f5de7e Mon Sep 17 00:00:00 2001 From: translators Date: Fri, 19 Feb 2021 19:01:10 +0000 Subject: [PATCH 3/3] Update: Translations from eints german: 1 change by Wuzzy2 russian: 11 changes by Ln-Wolf catalan: 2 changes by J0anJosep spanish: 14 changes by perezdidac --- src/lang/catalan.txt | 2 ++ src/lang/german.txt | 2 +- src/lang/russian.txt | 20 +++++++++++--------- src/lang/spanish.txt | 17 ++++++++++++++--- 4 files changed, 28 insertions(+), 13 deletions(-) diff --git a/src/lang/catalan.txt b/src/lang/catalan.txt index 711f9df0c4..cf041cd8f8 100644 --- a/src/lang/catalan.txt +++ b/src/lang/catalan.txt @@ -2848,6 +2848,8 @@ STR_SAVELOAD_DETAIL_GRFSTATUS :{SILVER}NewGRF: STR_SAVELOAD_FILTER_TITLE :{BLACK}Cadena de filtre: STR_SAVELOAD_OVERWRITE_TITLE :{WHITE}Sobreescriu fitxer STR_SAVELOAD_OVERWRITE_WARNING :{YELLOW}Esteu segur que voleu sobreescriure el fitxer? +STR_SAVELOAD_DIRECTORY :{STRING} (carpeta) +STR_SAVELOAD_PARENT_DIRECTORY :{STRING} (carpeta superior) STR_SAVELOAD_OSKTITLE :{BLACK}Posa el nom amb què desar la partida actual diff --git a/src/lang/german.txt b/src/lang/german.txt index aac6f21b47..e8c2d07187 100644 --- a/src/lang/german.txt +++ b/src/lang/german.txt @@ -696,7 +696,7 @@ STR_PLAYLIST_TOOLTIP_CLICK_TO_REMOVE_TRACK :{BLACK}Klicken STR_HIGHSCORE_TOP_COMPANIES_WHO_REACHED :{BIG_FONT}{BLACK}Beste Firmen, die {NUM} erreichten STR_HIGHSCORE_TOP_COMPANIES_NETWORK_GAME :{BIG_FONT}{BLACK}Firmentabelle in {NUM} STR_HIGHSCORE_POSITION :{BIG_FONT}{BLACK}{COMMA}. -STR_HIGHSCORE_PERFORMANCE_TITLE_BUSINESSMAN :Geschäftsmann +STR_HIGHSCORE_PERFORMANCE_TITLE_BUSINESSMAN :Geschäftsperson STR_HIGHSCORE_PERFORMANCE_TITLE_ENTREPRENEUR :Unternehmer STR_HIGHSCORE_PERFORMANCE_TITLE_INDUSTRIALIST :Industrieller STR_HIGHSCORE_PERFORMANCE_TITLE_CAPITALIST :Kapitalist diff --git a/src/lang/russian.txt b/src/lang/russian.txt index 07e9c61b8d..94a04af922 100644 --- a/src/lang/russian.txt +++ b/src/lang/russian.txt @@ -1127,11 +1127,11 @@ STR_GAME_OPTIONS_AUTOSAVE_FRAME :{BLACK}Авто STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}Интервал автосохранения игры ############ start of autosave dropdown -STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_OFF :Отключено -STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_1_MONTH :Каждый месяц -STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_3_MONTHS :Каждые 3 месяца -STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_6_MONTHS :Каждые 6 месяцев -STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_12_MONTHS :Каждый год +STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_OFF :отключено +STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_1_MONTH :каждый месяц +STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_3_MONTHS :каждые 3 месяца +STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_6_MONTHS :каждые 6 месяцев +STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_12_MONTHS :каждый год ############ end of autosave dropdown STR_GAME_OPTIONS_LANGUAGE :{BLACK}Язык @@ -1147,6 +1147,7 @@ STR_GAME_OPTIONS_RESOLUTION_OTHER :Другое STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Размер элементов интерфейса STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Выберите размер элементов интерфейса +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_AUTO :(Автовыбор) STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Обычный STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Удвоенный STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Учетверённый @@ -1154,6 +1155,7 @@ STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Учетвер STR_GAME_OPTIONS_FONT_ZOOM :{BLACK}Размер шрифта STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Выберите размер шрифта, используемого в игре +STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_AUTO :(Автовыбор) STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Нормальный STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Двукратный STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :Четырёхкратный @@ -1524,10 +1526,10 @@ STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_DARK_GREEN :тёмно-зе STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_VIOLET :фиолетовый STR_CONFIG_SETTING_SCROLLMODE :Перемещение обзора: {STRING} STR_CONFIG_SETTING_SCROLLMODE_HELPTEXT :Способ перемещения по игровому полю -STR_CONFIG_SETTING_SCROLLMODE_DEFAULT :Перемещать с помощью ПКМ, зафиксировав курсор -STR_CONFIG_SETTING_SCROLLMODE_RMB_LOCKED :Перемещать с помощью ПКМ, зафиксировав курсор -STR_CONFIG_SETTING_SCROLLMODE_RMB :Перемещать с помощью ПКМ -STR_CONFIG_SETTING_SCROLLMODE_LMB :Перемещать с помощью ЛКМ +STR_CONFIG_SETTING_SCROLLMODE_DEFAULT :перемещать обзор с помощью ПКМ, зафиксировав курсор +STR_CONFIG_SETTING_SCROLLMODE_RMB_LOCKED :перемещать карту с помощью ПКМ, зафиксировав курсор +STR_CONFIG_SETTING_SCROLLMODE_RMB :перемещать с помощью ПКМ +STR_CONFIG_SETTING_SCROLLMODE_LMB :перемещать с помощью ЛКМ STR_CONFIG_SETTING_SMOOTH_SCROLLING :Плавное перемещение: {STRING} STR_CONFIG_SETTING_SMOOTH_SCROLLING_HELPTEXT :Настройка перемещения обзора в основном окне при щелчке по миникарте или по команде обзора какого-нибудь объекта. Если включено, то обзор смещается плавно; если отключено - то мгновенно. STR_CONFIG_SETTING_MEASURE_TOOLTIP :Показывать замеры при строительстве: {STRING} diff --git a/src/lang/spanish.txt b/src/lang/spanish.txt index 0e5e61f075..adc38eebba 100644 --- a/src/lang/spanish.txt +++ b/src/lang/spanish.txt @@ -613,7 +613,7 @@ STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_TRANSPORT_COORDINATOR :Coordinador de STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_ROUTE_SUPERVISOR :Supervisor de ruta STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_DIRECTOR :Directivo STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_CHIEF_EXECUTIVE :Subdirector -STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_CHAIRMAN :Director +STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_CHAIRMAN :Consejero delegado STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_PRESIDENT :Presidente STR_COMPANY_LEAGUE_PERFORMANCE_TITLE_TYCOON :Magnate @@ -696,7 +696,7 @@ STR_PLAYLIST_TOOLTIP_CLICK_TO_REMOVE_TRACK :{BLACK}Pulsa so STR_HIGHSCORE_TOP_COMPANIES_WHO_REACHED :{BIG_FONT}{BLACK}Top de empresas que han alcanzado {NUM} STR_HIGHSCORE_TOP_COMPANIES_NETWORK_GAME :{BIG_FONT}{BLACK}Tabla clasificatoria de empresas en {NUM} STR_HIGHSCORE_POSITION :{BIG_FONT}{BLACK}{COMMA}. -STR_HIGHSCORE_PERFORMANCE_TITLE_BUSINESSMAN :Hombre de negocios +STR_HIGHSCORE_PERFORMANCE_TITLE_BUSINESSMAN :Persona de negocios STR_HIGHSCORE_PERFORMANCE_TITLE_ENTREPRENEUR :Empresario STR_HIGHSCORE_PERFORMANCE_TITLE_INDUSTRIALIST :Industrial STR_HIGHSCORE_PERFORMANCE_TITLE_CAPITALIST :Capitalista @@ -748,6 +748,7 @@ STR_SMALLMAP_LEGENDA_DOCK :{TINY_FONT}{BLA STR_SMALLMAP_LEGENDA_ROUGH_LAND :{TINY_FONT}{BLACK}Terreno agreste STR_SMALLMAP_LEGENDA_GRASS_LAND :{TINY_FONT}{BLACK}Terreno de prados STR_SMALLMAP_LEGENDA_BARE_LAND :{TINY_FONT}{BLACK}Terreno árido +STR_SMALLMAP_LEGENDA_RAINFOREST :{TINY_FONT}{BLACK}Selva tropical STR_SMALLMAP_LEGENDA_FIELDS :{TINY_FONT}{BLACK}Campos STR_SMALLMAP_LEGENDA_TREES :{TINY_FONT}{BLACK}Árboles STR_SMALLMAP_LEGENDA_ROCKS :{TINY_FONT}{BLACK}Rocas @@ -1002,6 +1003,7 @@ STR_GAME_OPTIONS_RESOLUTION_OTHER :Otras STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Tamaño de la interfaz STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Elige el tamaño de los elementos de la interfaz a usar +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_AUTO :(detecta automáticamente) STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Normal STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Tamaño doble STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Tamaño cuádruple @@ -1009,6 +1011,7 @@ STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Tamaño cuádru STR_GAME_OPTIONS_FONT_ZOOM :{BLACK}Tamaño de letra STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Selecciona el tamaño de letra a utilizar en la interfaz +STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_AUTO :(detecta automáticamente) STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Normal STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Tamaño doble STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :Tamaño cuádruple @@ -2603,12 +2606,18 @@ STR_FOUND_TOWN_SELECT_LAYOUT_RANDOM :{BLACK}Aleatori # Fund new industry window STR_FUND_INDUSTRY_CAPTION :{WHITE}Fundar nueva industria STR_FUND_INDUSTRY_SELECTION_TOOLTIP :{BLACK}Seleccione la industria apropiada de la lista -STR_FUND_INDUSTRY_MANY_RANDOM_INDUSTRIES :Varias industrias al azar +STR_FUND_INDUSTRY_MANY_RANDOM_INDUSTRIES :{BLACK}Crear industrias al azar STR_FUND_INDUSTRY_MANY_RANDOM_INDUSTRIES_TOOLTIP :{BLACK}Cubre el mapa con industrias colocadas al azar +STR_FUND_INDUSTRY_MANY_RANDOM_INDUSTRIES_CAPTION :{WHITE}Crear industrias al azar +STR_FUND_INDUSTRY_MANY_RANDOM_INDUSTRIES_QUERY :{YELLOW}¿Seguro que desea crear industrias al azar? STR_FUND_INDUSTRY_INDUSTRY_BUILD_COST :{BLACK}Coste: {YELLOW}{CURRENCY_LONG} STR_FUND_INDUSTRY_PROSPECT_NEW_INDUSTRY :{BLACK}Prospección STR_FUND_INDUSTRY_BUILD_NEW_INDUSTRY :{BLACK}Construir STR_FUND_INDUSTRY_FUND_NEW_INDUSTRY :{BLACK}Fundar +STR_FUND_INDUSTRY_REMOVE_ALL_INDUSTRIES :{BLACK}Eliminar todas las industrias +STR_FUND_INDUSTRY_REMOVE_ALL_INDUSTRIES_TOOLTIP :{BLACK}Eliminar todas las industrias que haya en el mapa +STR_FUND_INDUSTRY_REMOVE_ALL_INDUSTRIES_CAPTION :{WHITE}Eliminar todas las industrias +STR_FUND_INDUSTRY_REMOVE_ALL_INDUSTRIES_QUERY :{YELLOW}¿Seguro que desea eliminar todas las industrias? # Industry cargoes window STR_INDUSTRY_CARGOES_INDUSTRY_CAPTION :{WHITE}Cadena de industrias para la industria {STRING} @@ -2839,6 +2848,8 @@ STR_SAVELOAD_DETAIL_GRFSTATUS :{SILVER}NewGRF: STR_SAVELOAD_FILTER_TITLE :{BLACK}Patrón de filtrado: STR_SAVELOAD_OVERWRITE_TITLE :{WHITE}Sobrescribir Archivo STR_SAVELOAD_OVERWRITE_WARNING :{YELLOW}¿Está seguro de querer sobrescribir el archivo existente? +STR_SAVELOAD_DIRECTORY :{STRING} (Directorio) +STR_SAVELOAD_PARENT_DIRECTORY :{STRING} (Directorio superior) STR_SAVELOAD_OSKTITLE :{BLACK}Introduce un nombre para el juego guardado