Merge branch 'master' into jgrpp

# Conflicts:
#	src/newgrf_config.cpp
pull/221/head
Jonathan G Rennison 3 years ago
commit 68a0a4d1b9

@ -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) {

Loading…
Cancel
Save