Merge branch 'master' into jgrpp
# Conflicts: # src/newgrf_config.cpp
This commit is contained in:
15
.github/workflows/ci-build.yml
vendored
15
.github/workflows/ci-build.yml
vendored
@@ -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::"
|
||||
|
@@ -1244,7 +1244,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;
|
||||
@@ -1346,11 +1346,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();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1385,7 +1385,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;
|
||||
@@ -1420,8 +1421,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();
|
||||
}
|
||||
|
||||
/**
|
||||
|
@@ -2849,6 +2849,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
|
||||
|
||||
|
@@ -706,7 +706,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
|
||||
|
@@ -1129,11 +1129,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}Язык
|
||||
@@ -1149,6 +1149,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 :Учетверённый
|
||||
@@ -1156,6 +1157,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 :Четырёхкратный
|
||||
@@ -1526,10 +1528,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}
|
||||
|
@@ -614,7 +614,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
|
||||
|
||||
@@ -697,7 +697,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
|
||||
@@ -749,6 +749,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
|
||||
@@ -1003,6 +1004,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
|
||||
@@ -1010,6 +1012,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
|
||||
@@ -2604,12 +2607,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}
|
||||
@@ -2840,6 +2849,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
|
||||
|
||||
|
@@ -668,18 +668,14 @@ 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.
|
||||
std::vector<GRFConfig *> grfs;
|
||||
|
||||
public:
|
||||
GRFFileScanner() : num_scanned(0)
|
||||
{
|
||||
#if defined(__GNUC__) || defined(__clang__)
|
||||
this->next_update = __atomic_load_n(&_realtime_tick, __ATOMIC_RELAXED);
|
||||
#else
|
||||
this->next_update = _realtime_tick;
|
||||
#endif
|
||||
this->next_update = std::chrono::steady_clock::now();
|
||||
}
|
||||
|
||||
bool AddFile(const std::string &filename, size_t basepath_length, const std::string &tar_filename) override;
|
||||
@@ -740,12 +736,10 @@ bool GRFFileScanner::AddFile(const std::string &filename, size_t basepath_length
|
||||
}
|
||||
|
||||
this->num_scanned++;
|
||||
#if defined(__GNUC__) || defined(__clang__)
|
||||
const uint32 now = __atomic_load_n(&_realtime_tick, __ATOMIC_RELAXED);
|
||||
#else
|
||||
const uint32 now = _realtime_tick;
|
||||
#endif
|
||||
if (this->next_update <= now) {
|
||||
const auto now = std::chrono::steady_clock::now();
|
||||
if (now >= this->next_update) {
|
||||
this->next_update = now + std::chrono::milliseconds(MODAL_PROGRESS_REDRAW_TIMEOUT);
|
||||
|
||||
_modal_progress_work_mutex.unlock();
|
||||
_modal_progress_paint_mutex.lock();
|
||||
|
||||
@@ -756,8 +750,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 = now + MODAL_PROGRESS_REDRAW_TIMEOUT;
|
||||
}
|
||||
|
||||
if (!added) {
|
||||
|
Reference in New Issue
Block a user