From d19f7b94fbb544b88b4ad3b36f06152b75b09398 Mon Sep 17 00:00:00 2001 From: translators Date: Sat, 28 Nov 2020 17:51:55 +0000 Subject: [PATCH 01/12] Update: Translations from eints norwegian (bokmal): 8 changes by buzzCraft lithuanian: 5 changes by devastatorius --- src/lang/lithuanian.txt | 5 +++++ src/lang/norwegian_bokmal.txt | 8 ++++++++ 2 files changed, 13 insertions(+) diff --git a/src/lang/lithuanian.txt b/src/lang/lithuanian.txt index 9300880716..4fb65486fd 100644 --- a/src/lang/lithuanian.txt +++ b/src/lang/lithuanian.txt @@ -837,6 +837,7 @@ STR_MUSIC_EFFECTS_VOLUME :{TINY_FONT}{BLA STR_MUSIC_TRACK_NONE :{TINY_FONT}{DKGREEN}-- STR_MUSIC_TRACK_DIGIT :{TINY_FONT}{DKGREEN}{ZEROFILL_NUM} STR_MUSIC_TITLE_NONE :{TINY_FONT}{DKGREEN}------ +STR_MUSIC_TITLE_NOMUSIC :{TINY_FONT}{DKGREEN}Nėra muzikos STR_MUSIC_TITLE_NAME :{TINY_FONT}{DKGREEN}„{STRING}“ STR_MUSIC_TRACK :{TINY_FONT}{BLACK}Takelis STR_MUSIC_XTITLE :{TINY_FONT}{BLACK}Pavadinimas @@ -2793,6 +2794,7 @@ STR_LAND_AREA_INFORMATION_CARGO_ACCEPTED :{BLACK}Krovinys STR_LAND_AREA_INFORMATION_CARGO_EIGHTS :({COMMA}/8 {STRING}) STR_LANG_AREA_INFORMATION_RAIL_SPEED_LIMIT :{BLACK}Geležinkelių greičio limitas: {LTBLUE}{VELOCITY} STR_LANG_AREA_INFORMATION_ROAD_SPEED_LIMIT :{BLACK}Kelio greičio limitas: {LTBLUE}{VELOCITY} +STR_LANG_AREA_INFORMATION_TRAM_SPEED_LIMIT :{BLACK}Tramvajaus greičio limitas: {LTBLUE}{VELOCITY} # Description of land area of different tiles STR_LAI_CLEAR_DESCRIPTION_ROCKS :Akmenys @@ -2920,6 +2922,7 @@ STR_SAVELOAD_DETAIL_CAPTION :{BLACK}Žaidimo STR_SAVELOAD_DETAIL_NOT_AVAILABLE :{BLACK}Nėra informacijos STR_SAVELOAD_DETAIL_COMPANY_INDEX :{SILVER}{COMMA}: {WHITE}{STRING} STR_SAVELOAD_DETAIL_GRFSTATUS :{SILVER}Plėtiniai: {WHITE}{STRING} +STR_SAVELOAD_OVERWRITE_TITLE :{WHITE}Perrašyti bylą STR_SAVELOAD_OSKTITLE :{BLACK}Įveskite išsaugomo žaidimo vardą @@ -3241,6 +3244,7 @@ STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW}Paperka # Goal window STR_GOALS_CAPTION :{WHITE}{COMPANY} Tikslai STR_GOALS_SPECTATOR_CAPTION :{WHITE}Globalūs tikslai +STR_GOALS_SPECTATOR :Visuotiniai tikslai STR_GOALS_GLOBAL_TITLE :{BLACK}Visuotiniai tikslai: STR_GOALS_TEXT :{ORANGE}{STRING} STR_GOALS_NONE :{ORANGE}- Nieko - @@ -3554,6 +3558,7 @@ STR_GROUP_REMOVE_ALL_VEHICLES :Iškelti visas STR_GROUP_RENAME_CAPTION :{BLACK}Pervadinti grupę +STR_GROUP_PROFIT_THIS_YEAR :Šio mėnesio pelnas: # Build vehicle window STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION :Nauji lokomotyvai diff --git a/src/lang/norwegian_bokmal.txt b/src/lang/norwegian_bokmal.txt index ed3192deef..ea51d4ccd9 100644 --- a/src/lang/norwegian_bokmal.txt +++ b/src/lang/norwegian_bokmal.txt @@ -1553,11 +1553,13 @@ STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT :Året der avisa STR_CONFIG_SETTING_STARTING_YEAR :Start spillet i år: {STRING} STR_CONFIG_SETTING_ENDING_YEAR :Poengsum ved slutten av året: {STRING} STR_CONFIG_SETTING_ENDING_YEAR_HELPTEXT :Året spillet slutter med tanke på poeng. På slutten av dette året, vil firmaets poengsum bli lagret og tavlen med høyeste poengsummer vil vises. Spilleren kan fortsette å spille etter dette.{}Hvis dette er før start året, vil tavlen med høyeste poengsummer aldri vises. +STR_CONFIG_SETTING_ENDING_YEAR_VALUE :{NUM} STR_CONFIG_SETTING_ENDING_YEAR_ZERO :Aldri STR_CONFIG_SETTING_SMOOTH_ECONOMY :Jevn økonomi (flere, mindre endringer): {STRING} STR_CONFIG_SETTING_SMOOTH_ECONOMY_HELPTEXT :Når denne er aktivert, endrer industriproduksjonen seg oftere, og i mindre trinn. Denne innstillingen har vanligvis ingen effekt hvis industriene er fra en NewGRF STR_CONFIG_SETTING_ALLOW_SHARES :Tillat aksjekjøp i andre firmaer: {STRING} STR_CONFIG_SETTING_ALLOW_SHARES_HELPTEXT :Når aktivert, tillates kjøp og salg av selskapers aksjer. Aksjer vil kun være tilgjengelig selskaper som når en viss alder +STR_CONFIG_SETTING_MIN_YEARS_FOR_SHARES_HELPTEXT :Sett minimum levetid for et selskap, før andre kan kjøpe og selge aksjer fra dem. STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE :Prosentandel av etappe-overskudd som skal betales i innmatingssystem: {STRING} STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE_HELPTEXT :Andel av inntekten gitt til de mellomliggende etapper i et overføringssystem, noe som gir mer kontroll over inntektene STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY :Når du drar en linje, plasser signaler hver: {STRING} @@ -2169,6 +2171,7 @@ STR_NETWORK_ERROR_WRONG_PASSWORD :{WHITE}Feil pas STR_NETWORK_ERROR_SERVER_FULL :{WHITE}Tjeneren er full STR_NETWORK_ERROR_SERVER_BANNED :{WHITE}Du er bannlyst fra denne tjeneren STR_NETWORK_ERROR_KICKED :{WHITE}Du ble kastet ut av spillet +STR_NETWORK_ERROR_KICK_MESSAGE :{WHITE}Grunn: {STRING} STR_NETWORK_ERROR_CHEATER :{WHITE}Juksing er ikke tillatt på denne tjeneren STR_NETWORK_ERROR_TOO_MANY_COMMANDS :{WHITE}Du sendte for mange kommandoer til serveren STR_NETWORK_ERROR_TIMEOUT_PASSWORD :{WHITE}Du brukte for lang tid på å skrive inn passordet @@ -3126,6 +3129,7 @@ STR_TOWN_VIEW_RENAME_TOWN_BUTTON :Endre bynavnet # Town local authority window STR_LOCAL_AUTHORITY_CAPTION :{WHITE}{TOWN}s bystyre STR_LOCAL_AUTHORITY_ZONE :{BLACK}Område +STR_LOCAL_AUTHORITY_ZONE_TOOLTIP :{BLACK}Vis zonene innenfor de lokale myndigheters grenser STR_LOCAL_AUTHORITY_COMPANY_RATINGS :{BLACK}Vurdering av transportfirma: STR_LOCAL_AUTHORITY_COMPANY_RATING :{YELLOW}{COMPANY} {COMPANY_NUM}: {ORANGE}{STRING} STR_LOCAL_AUTHORITY_ACTIONS_TITLE :{BLACK}Handlinger tilgjengelig: @@ -3396,6 +3400,8 @@ STR_INDUSTRY_DIRECTORY_CAPTION :{WHITE}Industri STR_INDUSTRY_DIRECTORY_NONE :{ORANGE}- Ingen - STR_INDUSTRY_DIRECTORY_ITEM_INFO :{BLACK}{CARGO_LONG}{STRING}{YELLOW} ({COMMA}% transportert){BLACK} STR_INDUSTRY_DIRECTORY_ITEM_NOPROD :{ORANGE}{INDUSTRY} +STR_INDUSTRY_DIRECTORY_ITEM_PROD1 :{ORANGE}{INDUSTRY} {STRING} +STR_INDUSTRY_DIRECTORY_ITEM_PROD2 :{ORANGE}{INDUSTRY} {STRING}, {STRING} STR_INDUSTRY_DIRECTORY_ITEM_PROD3 :{ORANGE}{INDUSTRY} {STRING}, {STRING}, {STRING} STR_INDUSTRY_DIRECTORY_ITEM_PRODMORE :{ORANGE}{INDUSTRY} {STRING}, {STRING}, {STRING} og {NUM} flere... STR_INDUSTRY_DIRECTORY_LIST_CAPTION :{BLACK}Industrinavn - klikk på navn for å gå til industri. Ctrl+klikk åpner et nytt tilleggsvindu over industrien @@ -4181,8 +4187,10 @@ STR_AI_LIST_CANCEL_TOOLTIP :{BLACK}Ikke end STR_SCREENSHOT_CAPTION :WHITE}Ta skjermbilde STR_SCREENSHOT_SCREENSHOT :{BLACK}Normalt skjermbilde STR_SCREENSHOT_ZOOMIN_SCREENSHOT :{BLACK}Skjermbilde med maksimal zoom +STR_SCREENSHOT_DEFAULTZOOM_SCREENSHOT :{BLACK}Standard zoomet skjermbilde STR_SCREENSHOT_WORLD_SCREENSHOT :{BLACK}Skjermbilde av hele kartat STR_SCREENSHOT_HEIGHTMAP_SCREENSHOT :{BLACK}Høydekart skjermbilde +STR_SCREENSHOT_MINIMAP_SCREENSHOT :{BLACK}Oversiktskart skjermbilde # AI Parameters STR_AI_SETTINGS_CAPTION :{WHITE}{STRING} Parametre From 06adb9ace308eebed3aaddd4c91cbcfac90de5b1 Mon Sep 17 00:00:00 2001 From: Tocho Tochev Date: Tue, 24 Nov 2020 14:33:31 +0200 Subject: [PATCH 02/12] Fix: Spelling --- docs/landscape.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/landscape.html b/docs/landscape.html index 4eac0926e7..ab4ad989e3 100644 --- a/docs/landscape.html +++ b/docs/landscape.html @@ -802,7 +802,7 @@ 4  - on snow with rough land underneed + on snow with rough land underneath From 0b2dd2c5cd39833945fcea3a39811898bf40c6b5 Mon Sep 17 00:00:00 2001 From: Rasmus Jonsson Date: Sun, 18 Oct 2020 10:46:24 +0200 Subject: [PATCH 03/12] Fix: [NoAI] don't notify caught exceptions --- src/script/squirrel.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/script/squirrel.cpp b/src/script/squirrel.cpp index 2bd2c9c744..f97896eb93 100644 --- a/src/script/squirrel.cpp +++ b/src/script/squirrel.cpp @@ -478,7 +478,7 @@ void Squirrel::Initialize() /* Handle compile-errors ourself, so we can display it nicely */ sq_setcompilererrorhandler(this->vm, &Squirrel::CompileError); - sq_notifyallexceptions(this->vm, SQTrue); + sq_notifyallexceptions(this->vm, _debug_script_level > 5); /* Set a good print-function */ sq_setprintfunc(this->vm, &Squirrel::PrintFunc); /* Handle runtime-errors ourself, so we can display it nicely */ From a06fe8e8a7d749f1fbd08102a9516acd51171b24 Mon Sep 17 00:00:00 2001 From: glx22 Date: Wed, 1 Jul 2020 02:52:32 +0200 Subject: [PATCH 04/12] Fix: [CMake] cross-compiling requires native tools --- CMakeLists.txt | 3 +++ cmake/Options.cmake | 2 ++ src/lang/CMakeLists.txt | 4 ++++ src/settingsgen/CMakeLists.txt | 25 +++++++++++++++---------- src/strgen/CMakeLists.txt | 30 +++++++++++++++++------------- src/table/CMakeLists.txt | 4 ++++ 6 files changed, 45 insertions(+), 23 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 2c7131df08..5194e2be4c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -127,6 +127,9 @@ add_custom_target(find_version BYPRODUCTS ${GENERATED_SOURCE_FILES} ) +# An empty target for the tools +add_custom_target(tools) + include(SourceList) include(Endian) add_endian_definition() diff --git a/cmake/Options.cmake b/cmake/Options.cmake index 0167ad0a6c..005bb19cae 100644 --- a/cmake/Options.cmake +++ b/cmake/Options.cmake @@ -35,6 +35,8 @@ function(set_directory_options) set(GLOBAL_DIR "${DEFAULT_GLOBAL_DIR}" CACHE STRING "Global directory") message(STATUS "Detecting Global Data directory - ${GLOBAL_DIR}") endif() + + set(HOST_BINARY_DIR "" CACHE PATH "Full path to native cmake build directory") endfunction() # Set some generic options that influence what is being build. diff --git a/src/lang/CMakeLists.txt b/src/lang/CMakeLists.txt index d9243b5311..75d06f530a 100644 --- a/src/lang/CMakeLists.txt +++ b/src/lang/CMakeLists.txt @@ -59,6 +59,10 @@ set(LANG_SOURCE_FILES set(LANG_BINARY_DIR ${CMAKE_BINARY_DIR}/lang) +if (HOST_BINARY_DIR) + include(${HOST_BINARY_DIR}/strgen.cmake) +endif() + # Walk over all the (finished) language files, and generate a command to compile them foreach(LANG_SOURCE_FILE IN LISTS LANG_SOURCE_FILES) get_filename_component(LANG_SOURCE_FILE_NAME_WE ${LANG_SOURCE_FILE} NAME_WE) diff --git a/src/settingsgen/CMakeLists.txt b/src/settingsgen/CMakeLists.txt index e17b8ad6bf..69b2092017 100644 --- a/src/settingsgen/CMakeLists.txt +++ b/src/settingsgen/CMakeLists.txt @@ -1,13 +1,18 @@ cmake_minimum_required(VERSION 3.5) -project(settingsgen) +if (NOT HOST_BINARY_DIR) + project(settingsgen) -set(sourcefiles - settingsgen.cpp - ../core/alloc_func.cpp - ../misc/getoptdata.cpp - ../ini_load.cpp - ../string.cpp -) -add_definitions(-DSETTINGSGEN) -add_executable(settingsgen ${sourcefiles}) + set(sourcefiles + settingsgen.cpp + ../core/alloc_func.cpp + ../misc/getoptdata.cpp + ../ini_load.cpp + ../string.cpp + ) + add_definitions(-DSETTINGSGEN) + add_executable(settingsgen ${sourcefiles}) + + export(TARGETS settingsgen FILE ${CMAKE_BINARY_DIR}/settingsgen.cmake) + add_dependencies(tools settingsgen) +endif() diff --git a/src/strgen/CMakeLists.txt b/src/strgen/CMakeLists.txt index b8f61cde3b..c638b5c6e7 100644 --- a/src/strgen/CMakeLists.txt +++ b/src/strgen/CMakeLists.txt @@ -1,22 +1,26 @@ cmake_minimum_required(VERSION 3.5) -project(strgen) +if (NOT HOST_BINARY_DIR) + project(strgen) -set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/../../cmake") + set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/../../cmake") -set(sourcefiles - strgen.cpp - strgen_base.cpp - ../core/alloc_func.cpp - ../misc/getoptdata.cpp - ../string.cpp -) -add_definitions(-DSTRGEN) -add_executable(strgen ${sourcefiles}) + set(sourcefiles + strgen.cpp + strgen_base.cpp + ../core/alloc_func.cpp + ../misc/getoptdata.cpp + ../string.cpp + ) + add_definitions(-DSTRGEN) + add_executable(strgen ${sourcefiles}) -include(Endian) -add_endian_definition() + include(Endian) + add_endian_definition() + export(TARGETS strgen FILE ${CMAKE_BINARY_DIR}/strgen.cmake) + add_dependencies(tools strgen) +endif() # Source Files add_files(strgen_base.cpp) diff --git a/src/table/CMakeLists.txt b/src/table/CMakeLists.txt index 23b4724e33..e63337b8ab 100644 --- a/src/table/CMakeLists.txt +++ b/src/table/CMakeLists.txt @@ -11,6 +11,10 @@ set(TABLE_INI_SOURCE_FILES ${CMAKE_CURRENT_SOURCE_DIR}/window_settings.ini ) +if (HOST_BINARY_DIR) + include(${HOST_BINARY_DIR}/settingsgen.cmake) +endif() + # Generate a command and target to create the settings table add_custom_command_timestamp(OUTPUT ${TABLE_BINARY_DIR}/settings.h COMMAND ${CMAKE_COMMAND} -E make_directory ${TABLE_BINARY_DIR} From 6ad3cca4caff8f1a45f96c69e1193a97dc072cc3 Mon Sep 17 00:00:00 2001 From: Patric Stout Date: Sat, 5 Dec 2020 15:03:16 +0100 Subject: [PATCH 05/12] Fix a49fdb7ebb: bootstrap crash when trying to load new baseset (#8353) Using nullptr as "name" crashes on "name.empty()". Use an empty string instead. --- src/bootstrap_gui.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bootstrap_gui.cpp b/src/bootstrap_gui.cpp index d2445c23a4..a0f040d1aa 100644 --- a/src/bootstrap_gui.cpp +++ b/src/bootstrap_gui.cpp @@ -253,7 +253,7 @@ bool HandleBootstrap() if (_exit_game) return false; /* Try to probe the graphics. Should work this time. */ - if (!BaseGraphics::SetSet(nullptr)) goto failure; + if (!BaseGraphics::SetSet({})) goto failure; /* Finally we can continue heading for the menu. */ _game_mode = GM_MENU; From c558936ec3223f95677e182da1325717f8163ef6 Mon Sep 17 00:00:00 2001 From: Michael Lutz Date: Sun, 6 Dec 2020 00:29:27 +0100 Subject: [PATCH 06/12] Fix 63ccb36ef3: Crash trying to load TTO/TTD savegames. (#8356) --- src/saveload/oldloader_sl.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/saveload/oldloader_sl.cpp b/src/saveload/oldloader_sl.cpp index 402c1c5cc4..fa76857311 100644 --- a/src/saveload/oldloader_sl.cpp +++ b/src/saveload/oldloader_sl.cpp @@ -445,7 +445,7 @@ static bool FixTTOEngines() e->preview_company = INVALID_COMPANY; e->preview_asked = (CompanyMask)-1; e->preview_wait = 0; - e->name = nullptr; + e->name = std::string{}; } return true; From c98717cb4518d80ccccb2ae1677d0a394542f129 Mon Sep 17 00:00:00 2001 From: Patric Stout Date: Fri, 4 Dec 2020 22:12:39 +0100 Subject: [PATCH 07/12] Fix: do not add an offset to a nullptr This is, by specs, undefined behaviour. See https://reviews.llvm.org/D67122 In cases where this is done, optimizations done by LLVM can generate code that causes crashes. GetVariableAddress() had two (legit) ways this could happen: - For SaveLoad set to global - For SaveLoad set to SLE_VAR_NULL, where sld->address is always a nullptr, and object could or could not be a nullptr. --- src/saveload/saveload.h | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/saveload/saveload.h b/src/saveload/saveload.h index abd58ea04e..3581a55947 100644 --- a/src/saveload/saveload.h +++ b/src/saveload/saveload.h @@ -873,7 +873,18 @@ static inline bool IsNumericType(VarType conv) */ static inline void *GetVariableAddress(const void *object, const SaveLoad *sld) { - return const_cast((const byte*)(sld->global ? nullptr : object) + (ptrdiff_t)sld->address); + /* Entry is a global address. */ + if (sld->global) return sld->address; + + /* Entry is a null-variable, mostly used to read old savegames etc. */ + if (GetVarMemType(sld->conv) == SLE_VAR_NULL) { + assert(sld->address == nullptr); + return nullptr; + } + + /* Everything else should be a non-null pointer. */ + assert(object != nullptr); + return const_cast((const byte *)object + (ptrdiff_t)sld->address); } int64 ReadValue(const void *ptr, VarType conv); From 731af1f1f3246720cc262e3f84fdef83114337bc Mon Sep 17 00:00:00 2001 From: Patric Stout Date: Sat, 5 Dec 2020 11:33:42 +0100 Subject: [PATCH 08/12] Codechange: don't do work GetVariableAddress() is already doing --- src/saveload/saveload.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/saveload/saveload.cpp b/src/saveload/saveload.cpp index 8cf6a39238..999a381d71 100644 --- a/src/saveload/saveload.cpp +++ b/src/saveload/saveload.cpp @@ -1619,7 +1619,7 @@ void SlObject(void *object, const SaveLoad *sld) } for (; sld->cmd != SL_END; sld++) { - void *ptr = sld->global ? sld->address : GetVariableAddress(object, sld); + void *ptr = GetVariableAddress(object, sld); SlObjectMember(ptr, sld); } } From ad47ebc1a8cb2a7d678b80a388890f5b61eb0302 Mon Sep 17 00:00:00 2001 From: Patric Stout Date: Sun, 6 Dec 2020 20:13:00 +0100 Subject: [PATCH 09/12] Change: don't encourage the use of LZO LZO was used before the first version we track in our version control system, which dates back to Aug 2004. Somewhere before that time a few savegames / scenarios exist which use LZO. No other savegame / scenario does since then. Let's not encourage people to install something that ancient. There are no scenarios on BaNaNaS that require LZO. --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 5194e2be4c..2cee0a4fb2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -179,7 +179,7 @@ include(LinkPackage) link_package(PNG TARGET PNG::PNG ENCOURAGED) link_package(ZLIB TARGET ZLIB::ZLIB ENCOURAGED) link_package(LIBLZMA TARGET LibLZMA::LibLZMA ENCOURAGED) -link_package(LZO ENCOURAGED) +link_package(LZO) link_package(XDG_basedir) if(NOT OPTION_DEDICATED) From cfa1b1e006b45780355a67d228124b8542c6335d Mon Sep 17 00:00:00 2001 From: Charles Pigott Date: Fri, 25 Sep 2020 12:22:48 +0100 Subject: [PATCH 10/12] Fix: Compile warnings when asserts are disabled --- src/gfxinit.cpp | 1 + src/settings.cpp | 2 ++ src/window.cpp | 1 + 3 files changed, 4 insertions(+) diff --git a/src/gfxinit.cpp b/src/gfxinit.cpp index ba80690254..d1d05f4bd0 100644 --- a/src/gfxinit.cpp +++ b/src/gfxinit.cpp @@ -105,6 +105,7 @@ static void LoadGrfFileIndexed(const char *filename, const SpriteID *index_tbl, do { bool b = LoadNextSprite(start, file_index, sprite_id, container_ver); + (void)b; // Unused without asserts assert(b); sprite_id++; } while (++start <= end); diff --git a/src/settings.cpp b/src/settings.cpp index 505638e94e..2966a3e22f 100644 --- a/src/settings.cpp +++ b/src/settings.cpp @@ -2053,6 +2053,7 @@ uint GetCompanySettingIndex(const char *name) { uint i; const SettingDesc *sd = GetSettingFromName(name, &i); + (void)sd; // Unused without asserts assert(sd != nullptr && (sd->desc.flags & SGF_PER_COMPANY) != 0); return i; } @@ -2159,6 +2160,7 @@ void IConsoleSetSetting(const char *name, int value) { uint index; const SettingDesc *sd = GetSettingFromName(name, &index); + (void)sd; // Unused without asserts assert(sd != nullptr); SetSettingValue(index, value); } diff --git a/src/window.cpp b/src/window.cpp index 3281e9f56e..6fd4d0d0b6 100644 --- a/src/window.cpp +++ b/src/window.cpp @@ -1386,6 +1386,7 @@ static void AddWindowToZOrdering(Window *w) /* Search down the z-ordering for its location. */ Window *v = _z_front_window; uint last_z_priority = UINT_MAX; + (void)last_z_priority; // Unused without asserts while (v != nullptr && (v->window_class == WC_INVALID || GetWindowZPriority(v->window_class) > GetWindowZPriority(w->window_class))) { if (v->window_class != WC_INVALID) { /* Sanity check z-ordering, while we're at it. */ From 6198a4776b520cb433709aaa3a37cdeccbedbec0 Mon Sep 17 00:00:00 2001 From: frosch Date: Sun, 29 Nov 2020 20:38:13 +0100 Subject: [PATCH 11/12] Change: [NewGRF] Use aircraft property 12 also for helicopters. Due to keeping compatibility we can only do this for NewGRF-defined sound effects. --- src/aircraft_cmd.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/aircraft_cmd.cpp b/src/aircraft_cmd.cpp index eec375d756..447615e3b2 100644 --- a/src/aircraft_cmd.cpp +++ b/src/aircraft_cmd.cpp @@ -908,7 +908,11 @@ static bool AircraftController(Aircraft *v) v->cur_speed = 0; if (--u->cur_speed == 32) { if (!PlayVehicleSound(v, VSE_START)) { - SndPlayVehicleFx(SND_18_HELICOPTER, v); + SoundID sfx = AircraftVehInfo(v->engine_type)->sfx; + /* For compatibility with old NewGRF we ignore the sfx property, unless a NewGRF-defined sound is used. + * The baseset has only one helicopter sound, so this only limits using plane or cow sounds. */ + if (sfx < ORIGINAL_SAMPLE_COUNT) sfx = SND_18_HELICOPTER; + SndPlayVehicleFx(sfx, v); } } } else { From dddf885fb400d3ae0a24429d5cdd88f5dd921693 Mon Sep 17 00:00:00 2001 From: Patric Stout Date: Mon, 7 Dec 2020 14:48:13 +0100 Subject: [PATCH 12/12] Remove: console command "content select all" (#8363) The intention of this function was that you could download everything after a filter was applied; but this never really took off. Instead, a select few people used this functionality to download every available package on BaNaNaS. This is not in the spirit of this service. Additionally, these few people were good for 70% of the consumed bandwidth of BaNaNaS. --- src/console_cmds.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/console_cmds.cpp b/src/console_cmds.cpp index 857dc61ad9..2f678b2fc7 100644 --- a/src/console_cmds.cpp +++ b/src/console_cmds.cpp @@ -1761,10 +1761,10 @@ DEF_CONSOLE_CMD(ConContent) } if (argc <= 1) { - IConsoleHelp("Query, select and download content. Usage: 'content update|upgrade|select [all|id]|unselect [all|id]|state [filter]|download'"); + IConsoleHelp("Query, select and download content. Usage: 'content update|upgrade|select [id]|unselect [all|id]|state [filter]|download'"); IConsoleHelp(" update: get a new list of downloadable content; must be run first"); IConsoleHelp(" upgrade: select all items that are upgrades"); - IConsoleHelp(" select: select a specific item given by its id or 'all' to select all. If no parameter is given, all selected content will be listed"); + IConsoleHelp(" select: select a specific item given by its id. If no parameter is given, all selected content will be listed"); IConsoleHelp(" unselect: unselect a specific item given by its id or 'all' to unselect all"); IConsoleHelp(" state: show the download/select state of all downloadable content. Optionally give a filter string"); IConsoleHelp(" download: download all content you've selected"); @@ -1790,7 +1790,13 @@ DEF_CONSOLE_CMD(ConContent) OutputContentState(*iter); } } else if (strcasecmp(argv[2], "all") == 0) { - _network_content_client.SelectAll(); + /* The intention of this function was that you could download + * everything after a filter was applied; but this never really + * took off. Instead, a select few people used this functionality + * to download every available package on BaNaNaS. This is not in + * the spirit of this service. Additionally, these few people were + * good for 70% of the consumed bandwidth of BaNaNaS. */ + IConsolePrintF(CC_ERROR, "'select all' is no longer supported since 1.11"); } else { _network_content_client.Select((ContentID)atoi(argv[2])); }