From 978cc774ecf8b69e0e6529629ecc8e298aa5ff4b Mon Sep 17 00:00:00 2001 From: SamuXarick <43006711+SamuXarick@users.noreply.github.com> Date: Thu, 16 Apr 2020 19:32:20 +0100 Subject: [PATCH 01/40] Fix: [Script] ScriptMarine::AreWaterTilesConnected failed for aqueducts (#8074) --- src/script/api/script_marine.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/script/api/script_marine.cpp b/src/script/api/script_marine.cpp index c175adf066..c63add8faa 100644 --- a/src/script/api/script_marine.cpp +++ b/src/script/api/script_marine.cpp @@ -62,11 +62,11 @@ DiagDirection to_other_tile = ::DiagdirBetweenTiles(t2, t1); /* Determine the reachable tracks from the shared edge */ - TrackBits gtts1 = ::TrackStatusToTrackBits(::GetTileTrackStatus(t1, TRANSPORT_WATER, 0, to_other_tile)) & ::DiagdirReachesTracks(to_other_tile); + TrackBits gtts1 = ::TrackStatusToTrackBits(::GetTileTrackStatus(t1, TRANSPORT_WATER, 0, ReverseDiagDir(to_other_tile))) & ::DiagdirReachesTracks(to_other_tile); if (gtts1 == TRACK_BIT_NONE) return false; to_other_tile = ReverseDiagDir(to_other_tile); - TrackBits gtts2 = ::TrackStatusToTrackBits(::GetTileTrackStatus(t2, TRANSPORT_WATER, 0, to_other_tile)) & ::DiagdirReachesTracks(to_other_tile); + TrackBits gtts2 = ::TrackStatusToTrackBits(::GetTileTrackStatus(t2, TRANSPORT_WATER, 0, ReverseDiagDir(to_other_tile))) & ::DiagdirReachesTracks(to_other_tile); return gtts2 != TRACK_BIT_NONE; } From e90322f6e94fa3fe9191ff892c2721e982c6da44 Mon Sep 17 00:00:00 2001 From: frosch Date: Sun, 3 May 2020 22:04:16 +0200 Subject: [PATCH 02/40] Codechange: Unify the tests whether build+refit is in simulation-test or real-run. --- src/vehicle_cmd.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/vehicle_cmd.cpp b/src/vehicle_cmd.cpp index 5ba31945fc..a5eb2087b3 100644 --- a/src/vehicle_cmd.cpp +++ b/src/vehicle_cmd.cpp @@ -145,7 +145,7 @@ CommandCost CmdBuildVehicle(TileIndex tile, DoCommandFlag flags, uint32 p1, uint } if (value.Succeeded()) { - if (refitting || (flags & DC_EXEC)) { + if (subflags & DC_EXEC) { v->unitnumber = unit_num; v->value = value.GetCost(); } @@ -166,7 +166,7 @@ CommandCost CmdBuildVehicle(TileIndex tile, DoCommandFlag flags, uint32 p1, uint } } - if (refitting || (flags & DC_EXEC)) { + if (subflags & DC_EXEC) { GroupStatistics::CountEngine(v, 1); GroupStatistics::UpdateAutoreplace(_current_company); @@ -178,7 +178,7 @@ CommandCost CmdBuildVehicle(TileIndex tile, DoCommandFlag flags, uint32 p1, uint /* If we are not in DC_EXEC undo everything */ - if (refitting && (flags & DC_EXEC) == 0) { + if (flags != subflags) { DoCommand(0, v->index, 0, DC_EXEC, GetCmdSellVeh(v)); } } From 591ca82845e7dbba9e16e02f504ff64ba678d950 Mon Sep 17 00:00:00 2001 From: frosch Date: Sun, 3 May 2020 22:05:13 +0200 Subject: [PATCH 03/40] Fix: When build+refit an engine, do not refit any free wagons that may get attached. --- src/vehicle_cmd.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/vehicle_cmd.cpp b/src/vehicle_cmd.cpp index a5eb2087b3..7383e1d4a8 100644 --- a/src/vehicle_cmd.cpp +++ b/src/vehicle_cmd.cpp @@ -151,7 +151,8 @@ CommandCost CmdBuildVehicle(TileIndex tile, DoCommandFlag flags, uint32 p1, uint } if (refitting) { - value.AddCost(CmdRefitVehicle(tile, flags, v->index, cargo, nullptr)); + /* Refit only one vehicle. If we purchased an engine, it may have gained free wagons. */ + value.AddCost(CmdRefitVehicle(tile, flags, v->index, cargo | (1 << 16), nullptr)); } else { /* Fill in non-refitted capacities */ _returned_refit_capacity = e->GetDisplayDefaultCapacity(&_returned_mail_refit_capacity); From 4297cc5f21b3c267a53d8b85ac910a4051b2bd15 Mon Sep 17 00:00:00 2001 From: frosch Date: Sun, 3 May 2020 22:06:56 +0200 Subject: [PATCH 04/40] Fix #8093: Build+Refit changed game-state in command test run, and thus caused desyncs. Use DC_AUTOREPLACE for actions that shall be reversibe, in this case: - Do not rearrange free wagons in test-run. - Do not discard OrderBackups. The latter was not triggered by actual auto-replace, since it does not set a 'user'. --- src/vehicle_cmd.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/vehicle_cmd.cpp b/src/vehicle_cmd.cpp index 7383e1d4a8..2f0a49ca27 100644 --- a/src/vehicle_cmd.cpp +++ b/src/vehicle_cmd.cpp @@ -128,7 +128,7 @@ CommandCost CmdBuildVehicle(TileIndex tile, DoCommandFlag flags, uint32 p1, uint /* If we are refitting we need to temporarily purchase the vehicle to be able to * test it. */ DoCommandFlag subflags = flags; - if (refitting) subflags |= DC_EXEC; + if (refitting && !(flags & DC_EXEC)) subflags |= DC_EXEC | DC_AUTOREPLACE; /* Vehicle construction needs random bits, so we have to save the random * seeds to prevent desyncs. */ @@ -173,7 +173,7 @@ CommandCost CmdBuildVehicle(TileIndex tile, DoCommandFlag flags, uint32 p1, uint if (v->IsPrimaryVehicle()) { GroupStatistics::CountVehicle(v, 1); - OrderBackup::Restore(v, p2); + if (!(subflags & DC_AUTOREPLACE)) OrderBackup::Restore(v, p2); } } From 2faa89a98e23bcbff2142f466eba70ab3d1dbe86 Mon Sep 17 00:00:00 2001 From: frosch Date: Sun, 3 May 2020 18:45:58 +0200 Subject: [PATCH 05/40] Fix: OpenGFX download link did no longer work. (#8105) --- azure-pipelines/templates/ci-opengfx.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/azure-pipelines/templates/ci-opengfx.yml b/azure-pipelines/templates/ci-opengfx.yml index 098f0d2a69..cdee9feca8 100644 --- a/azure-pipelines/templates/ci-opengfx.yml +++ b/azure-pipelines/templates/ci-opengfx.yml @@ -2,7 +2,7 @@ steps: - bash: | set -ex cd bin/baseset - curl -L https://binaries.openttd.org/extra/opengfx/0.5.2/opengfx-0.5.2-all.zip > opengfx-0.5.2-all.zip - unzip opengfx-0.5.2-all.zip - rm -f opengfx-0.5.2-all.zip + curl -L https://cdn.openttd.org/opengfx-releases/0.6.0/opengfx-0.6.0-all.zip > opengfx-all.zip + unzip opengfx-all.zip + rm -f opengfx-all.zip displayName: 'Install OpenGFX' From 37187df7ef238e0d2b650bced1cb18ad4072b691 Mon Sep 17 00:00:00 2001 From: SamuXarick <43006711+SamuXarick@users.noreply.github.com> Date: Mon, 4 May 2020 20:12:38 +0100 Subject: [PATCH 06/40] Fix c01a2e2: crash on loading old savegames with invalid animated tile information --- src/saveload/afterload.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/saveload/afterload.cpp b/src/saveload/afterload.cpp index 63e4b37e64..5ba3680769 100644 --- a/src/saveload/afterload.cpp +++ b/src/saveload/afterload.cpp @@ -2203,7 +2203,7 @@ bool AfterLoadGame() } if (remove) { - DeleteAnimatedTile(*tile); + tile = _animated_tiles.erase(tile); } else { tile++; } From ea895f05ebbd9c732b45b28d2ee619bafc109364 Mon Sep 17 00:00:00 2001 From: Yexo Date: Mon, 4 May 2020 22:54:36 +0200 Subject: [PATCH 07/40] Fix #8108: always update tile_hash after updating v->tile --- src/saveload/afterload.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/saveload/afterload.cpp b/src/saveload/afterload.cpp index 5ba3680769..5ee33654df 100644 --- a/src/saveload/afterload.cpp +++ b/src/saveload/afterload.cpp @@ -1253,6 +1253,7 @@ bool AfterLoadGame() } } else if (v->z_pos > GetSlopePixelZ(v->x_pos, v->y_pos)) { v->tile = GetNorthernBridgeEnd(v->tile); + v->UpdatePosition(); } else { continue; } From e0680c9ede5da042afed8f023b5ff1dd97403067 Mon Sep 17 00:00:00 2001 From: Yexo Date: Mon, 4 May 2020 23:58:56 +0200 Subject: [PATCH 08/40] Fix: reset roadtype/streetcartype info for non-road bridges --- src/saveload/afterload.cpp | 8 ++++++++ src/saveload/saveload.h | 13 +++++++++++++ 2 files changed, 21 insertions(+) diff --git a/src/saveload/afterload.cpp b/src/saveload/afterload.cpp index 5ee33654df..764b41f2b7 100644 --- a/src/saveload/afterload.cpp +++ b/src/saveload/afterload.cpp @@ -3119,6 +3119,14 @@ bool AfterLoadGame() } } + if (IsSavegameVersionUntil(SLV_ENDING_YEAR)) { + for (TileIndex t = 0; t < map_size; t++) { + if (IsTileType(t, MP_TUNNELBRIDGE) && GetTunnelBridgeTransportType(t) != TRANSPORT_ROAD) { + SetRoadTypes(t, INVALID_ROADTYPE, INVALID_ROADTYPE); + } + } + } + /* Update station docking tiles. */ AfterLoadScanDockingTiles(); diff --git a/src/saveload/saveload.h b/src/saveload/saveload.h index 14c8c32315..9ae0956549 100644 --- a/src/saveload/saveload.h +++ b/src/saveload/saveload.h @@ -769,6 +769,19 @@ static inline bool IsSavegameVersionBefore(SaveLoadVersion major, byte minor = 0 return _sl_version < major || (minor > 0 && _sl_version == major && _sl_minor_version < minor); } +/** + * Checks whether the savegame is below or at \a major. This should be used to repair data from existing + * savegames which is no longer corrupted in new savegames, but for which otherwise no savegame + * bump is required. + * @param major Major number of the version to check against. + * @return Savegame version is at most the specified version. + */ +static inline bool IsSavegameVersionUntil(SaveLoadVersion major) +{ + extern SaveLoadVersion _sl_version; + return _sl_version <= major; +} + /** * Checks if some version from/to combination falls within the range of the * active savegame version. From 5b2447e10cb8487c0378ad931bc92722fcd4596e Mon Sep 17 00:00:00 2001 From: glx Date: Tue, 5 May 2020 18:36:27 +0200 Subject: [PATCH 09/40] Codechange: Use a dynamic copyright year --- Makefile.src.in | 5 +++-- findversion.sh | 4 +++- projects/determineversion.vbs | 18 ++++++++++++------ src/lang/english.txt | 2 +- src/misc_gui.cpp | 4 +++- src/os/windows/ottdres.rc.in | 2 +- src/rev.cpp.in | 5 +++++ src/rev.h | 1 + src/script/api/game/game_window.hpp.sq | 1 + src/script/api/script_window.hpp | 1 + src/widgets/misc_widget.h | 1 + 11 files changed, 32 insertions(+), 12 deletions(-) diff --git a/Makefile.src.in b/Makefile.src.in index ef2d2bb503..6b0fb94020 100644 --- a/Makefile.src.in +++ b/Makefile.src.in @@ -91,6 +91,7 @@ ISODATE := $(shell echo "$(VERSIONS)" | cut -f 2 -d' ') GITHASH := $(shell echo "$(VERSIONS)" | cut -f 4 -d' ') ISTAG := $(shell echo "$(VERSIONS)" | cut -f 5 -d' ') ISSTABLETAG := $(shell echo "$(VERSIONS)" | cut -f 6 -d' ') +YEAR := $(shell echo "$(VERSIONS)" | cut -f 7 -d' ') # Make sure we have something in VERSION and ISODATE ifeq ($(VERSION),) @@ -272,10 +273,10 @@ endif # Revision files $(SRC_DIR)/rev.cpp: $(CONFIG_CACHE_VERSION) $(SRC_DIR)/rev.cpp.in - $(Q)cat $(SRC_DIR)/rev.cpp.in | sed "s@\!\!ISODATE\!\!@$(ISODATE)@g;s@!!VERSION!!@$(VERSION)@g;s@!!MODIFIED!!@$(MODIFIED)@g;s@!!DATE!!@`date +%d.%m.%y`@g;s@!!GITHASH!!@$(GITHASH)@g;s@!!ISTAG!!@$(ISTAG)@g;s@!!ISSTABLETAG!!@$(ISSTABLETAG)@g" > $(SRC_DIR)/rev.cpp + $(Q)cat $(SRC_DIR)/rev.cpp.in | sed "s@\!\!ISODATE\!\!@$(ISODATE)@g;s@!!VERSION!!@$(VERSION)@g;s@!!MODIFIED!!@$(MODIFIED)@g;s@!!DATE!!@`date +%d.%m.%y`@g;s@!!GITHASH!!@$(GITHASH)@g;s@!!ISTAG!!@$(ISTAG)@g;s@!!ISSTABLETAG!!@$(ISSTABLETAG)@g;s@!!YEAR!!@$(YEAR)@g" > $(SRC_DIR)/rev.cpp $(SRC_DIR)/os/windows/ottdres.rc: $(CONFIG_CACHE_VERSION) $(SRC_DIR)/os/windows/ottdres.rc.in - $(Q)cat $(SRC_DIR)/os/windows/ottdres.rc.in | sed "s@\!\!ISODATE\!\!@$(ISODATE)@g;s@!!VERSION!!@$(VERSION)@g;s@!!DATE!!@`date +%d.%m.%y`@g;s@!!GITHASH!!@$(GITHASH)@g;s@!!ISTAG!!@$(ISTAG)@g;s@!!ISSTABLETAG!!@$(ISSTABLETAG)@g" > $(SRC_DIR)/os/windows/ottdres.rc + $(Q)cat $(SRC_DIR)/os/windows/ottdres.rc.in | sed "s@\!\!ISODATE\!\!@$(ISODATE)@g;s@!!VERSION!!@$(VERSION)@g;s@!!DATE!!@`date +%d.%m.%y`@g;s@!!GITHASH!!@$(GITHASH)@g;s@!!ISTAG!!@$(ISTAG)@g;s@!!ISSTABLETAG!!@$(ISSTABLETAG)@g;s@!!YEAR!!@$(YEAR)@g" > $(SRC_DIR)/os/windows/ottdres.rc FORCE: diff --git a/findversion.sh b/findversion.sh index ce1390ab53..28fcc121f7 100755 --- a/findversion.sh +++ b/findversion.sh @@ -67,6 +67,7 @@ if [ -d "$ROOT_DIR/.git" ] || [ -f "$ROOT_DIR/.git" ]; then HASH=`LC_ALL=C git rev-parse --verify HEAD 2>/dev/null` SHORTHASH=`echo ${HASH} | cut -c1-10` ISODATE=`LC_ALL=C git show -s --pretty='format:%ci' HEAD | "$AWK" '{ gsub("-", "", $1); print $1 }'` + YEAR=`echo ${ISODATE} | cut -c1-4` BRANCH="`git symbolic-ref -q HEAD 2>/dev/null | sed 's@.*/@@'`" TAG="`git name-rev --name-only --tags --no-undefined HEAD 2>/dev/null | sed 's@\^0$@@'`" @@ -103,10 +104,11 @@ else SHORTHASH="" BRANCH="" ISODATE="" + YEAR="" TAG="" VERSION="" ISTAG="0" ISSTABLETAG="0" fi -echo "$VERSION $ISODATE $MODIFIED $HASH $ISTAG $ISSTABLETAG" +echo "$VERSION $ISODATE $MODIFIED $HASH $ISTAG $ISSTABLETAG $YEAR" diff --git a/projects/determineversion.vbs b/projects/determineversion.vbs index a85a085f29..b70bcdf67c 100755 --- a/projects/determineversion.vbs +++ b/projects/determineversion.vbs @@ -19,7 +19,7 @@ Sub FindReplaceInFile(filename, to_find, replacement) file.Close End Sub -Sub UpdateFile(modified, isodate, version, cur_date, githash, istag, isstabletag, filename) +Sub UpdateFile(modified, isodate, version, cur_date, githash, istag, isstabletag, year, filename) FSO.CopyFile filename & ".in", filename FindReplaceInFile filename, "!!MODIFIED!!", modified FindReplaceInFile filename, "!!ISODATE!!", isodate @@ -28,10 +28,11 @@ Sub UpdateFile(modified, isodate, version, cur_date, githash, istag, isstabletag FindReplaceInFile filename, "!!GITHASH!!", githash FindReplaceInFile filename, "!!ISTAG!!", istag FindReplaceInFile filename, "!!ISSTABLETAG!!", isstabletag + FindReplaceInFile filename, "!!YEAR!!", year End Sub Sub UpdateFiles(version) - Dim modified, isodate, cur_date, githash, istag, isstabletag + Dim modified, isodate, cur_date, githash, istag, isstabletag, year cur_date = DatePart("D", Date) & "." & DatePart("M", Date) & "." & DatePart("YYYY", Date) If InStr(version, Chr(9)) Then @@ -41,26 +42,29 @@ Sub UpdateFiles(version) githash = Mid(modified, InStr(modified, Chr(9)) + 1) istag = Mid(githash, InStr(githash, Chr(9)) + 1) isstabletag = Mid(istag, InStr(istag, Chr(9)) + 1) + year = Mid(isstabletag, InStr(isstabletag, Chr(9)) + 1) ' Remove tails from fields version = Mid(version, 1, InStr(version, Chr(9)) - 1) isodate = Mid(isodate, 1, InStr(isodate, Chr(9)) - 1) modified = Mid(modified, 1, InStr(modified, Chr(9)) - 1) githash = Mid(githash, 1, InStr(githash, Chr(9)) - 1) istag = Mid(istag, 1, InStr(istag, Chr(9)) - 1) + isstabletag = Mid(isstabletag, 1, InStr(isstabletag, Chr(9)) - 1) Else isodate = 0 modified = 1 githash = "" istag = 0 isstabletag = 0 + year = "" End If - UpdateFile modified, isodate, version, cur_date, githash, istag, isstabletag, "../src/rev.cpp" - UpdateFile modified, isodate, version, cur_date, githash, istag, isstabletag, "../src/os/windows/ottdres.rc" + UpdateFile modified, isodate, version, cur_date, githash, istag, isstabletag, year, "../src/rev.cpp" + UpdateFile modified, isodate, version, cur_date, githash, istag, isstabletag, year, "../src/os/windows/ottdres.rc" End Sub Function DetermineVersion() - Dim WshShell, branch, tag, modified, isodate, oExec, line, hash, shorthash + Dim WshShell, branch, tag, modified, isodate, oExec, line, hash, shorthash, year Set WshShell = CreateObject("WScript.Shell") On Error Resume Next @@ -70,6 +74,7 @@ Function DetermineVersion() branch = "" isodate = "" tag = "" + year = "" ' Set the environment to english WshShell.Environment("PROCESS")("LANG") = "en" @@ -108,6 +113,7 @@ Function DetermineVersion() if Err.Number = 0 Then isodate = Mid(oExec.StdOut.ReadLine(), 1, 10) isodate = Replace(isodate, "-", "") + year = Mid(isodate, 1, 4) End If ' Err.Number = 0 ' Check branch @@ -171,7 +177,7 @@ Function DetermineVersion() isstabletag = 0 End If - DetermineVersion = version & Chr(9) & isodate & Chr(9) & modified & Chr(9) & hash & Chr(9) & istag & Chr(9) & isstabletag + DetermineVersion = version & Chr(9) & isodate & Chr(9) & modified & Chr(9) & hash & Chr(9) & istag & Chr(9) & isstabletag & Chr(9) & year End If End Function diff --git a/src/lang/english.txt b/src/lang/english.txt index 2a4ab1c280..93eaef5901 100644 --- a/src/lang/english.txt +++ b/src/lang/english.txt @@ -2736,7 +2736,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Company-owned l STR_ABOUT_OPENTTD :{WHITE}About OpenTTD STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Original copyright {COPYRIGHT} 1995 Chris Sawyer, All rights reserved STR_ABOUT_VERSION :{BLACK}OpenTTD version {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2019 The OpenTTD team +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-{RAW_STRING} The OpenTTD team # Framerate display window STR_FRAMERATE_CAPTION :{WHITE}Frame rate diff --git a/src/misc_gui.cpp b/src/misc_gui.cpp index 950e402309..ff2fc3a23c 100644 --- a/src/misc_gui.cpp +++ b/src/misc_gui.cpp @@ -25,6 +25,7 @@ #include "newgrf_debug.h" #include "zoom_func.h" #include "guitimer_func.h" +#include "rev.h" #include "widgets/misc_widget.h" @@ -399,7 +400,7 @@ static const NWidgetPart _nested_about_widgets[] = { NWidget(WWT_EMPTY, INVALID_COLOUR, WID_A_SCROLLING_TEXT), EndContainer(), NWidget(WWT_LABEL, COLOUR_GREY, WID_A_WEBSITE), SetDataTip(STR_BLACK_RAW_STRING, STR_NULL), - NWidget(WWT_LABEL, COLOUR_GREY), SetDataTip(STR_ABOUT_COPYRIGHT_OPENTTD, STR_NULL), + NWidget(WWT_LABEL, COLOUR_GREY, WID_A_COPYRIGHT), SetDataTip(STR_ABOUT_COPYRIGHT_OPENTTD, STR_NULL), EndContainer(), }; @@ -495,6 +496,7 @@ struct AboutWindow : public Window { void SetStringParameters(int widget) const override { if (widget == WID_A_WEBSITE) SetDParamStr(0, "Website: http://www.openttd.org"); + if (widget == WID_A_COPYRIGHT) SetDParamStr(0, _openttd_revision_year); } void UpdateWidgetSize(int widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize) override diff --git a/src/os/windows/ottdres.rc.in b/src/os/windows/ottdres.rc.in index 5b375790a3..82c49463a9 100644 --- a/src/os/windows/ottdres.rc.in +++ b/src/os/windows/ottdres.rc.in @@ -98,7 +98,7 @@ BEGIN VALUE "FileDescription", "OpenTTD\0" VALUE "FileVersion", "!!VERSION!!\0" VALUE "InternalName", "openttd\0" - VALUE "LegalCopyright", "Copyright \xA9 OpenTTD Developers 2002-2019. All Rights Reserved.\0" + VALUE "LegalCopyright", "Copyright \xA9 OpenTTD Developers 2002-!!YEAR!!. All Rights Reserved.\0" VALUE "LegalTrademarks", "\0" VALUE "OriginalFilename", "openttd.exe\0" VALUE "PrivateBuild", "\0" diff --git a/src/rev.cpp.in b/src/rev.cpp.in index 003fb5556e..824f2e9de9 100644 --- a/src/rev.cpp.in +++ b/src/rev.cpp.in @@ -50,6 +50,11 @@ const char _openttd_build_date[] = __DATE__ " " __TIME__; */ const char _openttd_revision_hash[] = "!!GITHASH!!"; +/** + * The year of this version. + */ +const char _openttd_revision_year[] = "!!YEAR!!"; + /** * Let us know if current build was modified. This detection * works even in the case when revision string is overridden by diff --git a/src/rev.h b/src/rev.h index f1e669aa56..7689383710 100644 --- a/src/rev.h +++ b/src/rev.h @@ -13,6 +13,7 @@ extern const char _openttd_revision[]; extern const char _openttd_build_date[]; extern const char _openttd_revision_hash[]; +extern const char _openttd_revision_year[]; extern const byte _openttd_revision_modified; extern const byte _openttd_revision_tagged; extern const uint32 _openttd_newgrf_version; diff --git a/src/script/api/game/game_window.hpp.sq b/src/script/api/game/game_window.hpp.sq index 609030676a..0d5ab2bc0c 100644 --- a/src/script/api/game/game_window.hpp.sq +++ b/src/script/api/game/game_window.hpp.sq @@ -639,6 +639,7 @@ void SQGSWindow_Register(Squirrel *engine) SQGSWindow.DefSQConst(engine, ScriptWindow::WID_TT_BACKGROUND, "WID_TT_BACKGROUND"); SQGSWindow.DefSQConst(engine, ScriptWindow::WID_A_SCROLLING_TEXT, "WID_A_SCROLLING_TEXT"); SQGSWindow.DefSQConst(engine, ScriptWindow::WID_A_WEBSITE, "WID_A_WEBSITE"); + SQGSWindow.DefSQConst(engine, ScriptWindow::WID_A_COPYRIGHT, "WID_A_COPYRIGHT"); SQGSWindow.DefSQConst(engine, ScriptWindow::WID_QS_CAPTION, "WID_QS_CAPTION"); SQGSWindow.DefSQConst(engine, ScriptWindow::WID_QS_TEXT, "WID_QS_TEXT"); SQGSWindow.DefSQConst(engine, ScriptWindow::WID_QS_WARNING, "WID_QS_WARNING"); diff --git a/src/script/api/script_window.hpp b/src/script/api/script_window.hpp index 69d6b81f9b..39a64034b9 100644 --- a/src/script/api/script_window.hpp +++ b/src/script/api/script_window.hpp @@ -1605,6 +1605,7 @@ public: enum AboutWidgets { WID_A_SCROLLING_TEXT = ::WID_A_SCROLLING_TEXT, ///< The actually scrolling text. WID_A_WEBSITE = ::WID_A_WEBSITE, ///< URL of OpenTTD website. + WID_A_COPYRIGHT = ::WID_A_COPYRIGHT, ///< Copyright string }; /** Widgets of the #QueryStringWindow class. */ diff --git a/src/widgets/misc_widget.h b/src/widgets/misc_widget.h index bc0c07030b..0fdfc8c605 100644 --- a/src/widgets/misc_widget.h +++ b/src/widgets/misc_widget.h @@ -24,6 +24,7 @@ enum ToolTipsWidgets { enum AboutWidgets { WID_A_SCROLLING_TEXT, ///< The actually scrolling text. WID_A_WEBSITE, ///< URL of OpenTTD website. + WID_A_COPYRIGHT, ///< Copyright string }; /** Widgets of the #QueryStringWindow class. */ From 22519b3b0dba3417a3243fe21b324f6b4c840e8c Mon Sep 17 00:00:00 2001 From: glx Date: Tue, 5 May 2020 18:50:43 +0200 Subject: [PATCH 10/40] Update: Lang files --- src/lang/afrikaans.txt | 2 +- src/lang/arabic_egypt.txt | 2 +- src/lang/basque.txt | 2 +- src/lang/belarusian.txt | 2 +- src/lang/brazilian_portuguese.txt | 2 +- src/lang/bulgarian.txt | 2 +- src/lang/catalan.txt | 2 +- src/lang/croatian.txt | 2 +- src/lang/czech.txt | 2 +- src/lang/danish.txt | 2 +- src/lang/dutch.txt | 2 +- src/lang/english_AU.txt | 2 +- src/lang/english_US.txt | 2 +- src/lang/esperanto.txt | 2 +- src/lang/estonian.txt | 2 +- src/lang/faroese.txt | 2 +- src/lang/finnish.txt | 2 +- src/lang/french.txt | 2 +- src/lang/gaelic.txt | 2 +- src/lang/galician.txt | 2 +- src/lang/german.txt | 2 +- src/lang/greek.txt | 2 +- src/lang/hebrew.txt | 2 +- src/lang/hungarian.txt | 2 +- src/lang/icelandic.txt | 2 +- src/lang/indonesian.txt | 2 +- src/lang/irish.txt | 2 +- src/lang/italian.txt | 2 +- src/lang/japanese.txt | 2 +- src/lang/korean.txt | 2 +- src/lang/latin.txt | 1 - src/lang/latvian.txt | 2 +- src/lang/lithuanian.txt | 2 +- src/lang/luxembourgish.txt | 2 +- src/lang/malay.txt | 2 +- src/lang/norwegian_bokmal.txt | 2 +- src/lang/norwegian_nynorsk.txt | 2 +- src/lang/polish.txt | 2 +- src/lang/portuguese.txt | 2 +- src/lang/romanian.txt | 2 +- src/lang/russian.txt | 2 +- src/lang/serbian.txt | 2 +- src/lang/simplified_chinese.txt | 2 +- src/lang/slovak.txt | 2 +- src/lang/slovenian.txt | 2 +- src/lang/spanish.txt | 2 +- src/lang/spanish_MX.txt | 2 +- src/lang/swedish.txt | 2 +- src/lang/tamil.txt | 2 +- src/lang/thai.txt | 2 +- src/lang/traditional_chinese.txt | 2 +- src/lang/turkish.txt | 2 +- src/lang/ukrainian.txt | 2 +- src/lang/unfinished/frisian.txt | 2 +- src/lang/unfinished/ido.txt | 2 +- src/lang/unfinished/macedonian.txt | 2 +- src/lang/unfinished/persian.txt | 2 +- src/lang/vietnamese.txt | 2 +- src/lang/welsh.txt | 2 +- 59 files changed, 58 insertions(+), 59 deletions(-) diff --git a/src/lang/afrikaans.txt b/src/lang/afrikaans.txt index bcf3e0efe6..4fbca76b54 100644 --- a/src/lang/afrikaans.txt +++ b/src/lang/afrikaans.txt @@ -2728,7 +2728,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Maatskappy-besi STR_ABOUT_OPENTTD :{WHITE}Oor OpenTTD STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Oorspronklike kopiereg {COPYRIGHT} 1995 Chris Sawyer, Alle regte voorbehou STR_ABOUT_VERSION :{BLACK}OpenTTD uitgawe {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2019 Die OpenTTD span +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-{STRING} Die OpenTTD span # Framerate display window STR_FRAMERATE_CAPTION :{WHITE}Raamkoers diff --git a/src/lang/arabic_egypt.txt b/src/lang/arabic_egypt.txt index 6fa5fcbd16..819b3488ac 100644 --- a/src/lang/arabic_egypt.txt +++ b/src/lang/arabic_egypt.txt @@ -2306,7 +2306,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :ارض مملو STR_ABOUT_OPENTTD :{WHITE}حول النسخة المفتوحة STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}الحقوق الاصلية {COPYRIGHT} كريس سوير 1995 , جميع الحقوق محفوظة STR_ABOUT_VERSION :{BLACK}النسخة المفتوحة رقم {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}النسخة المفتوحة {COPYRIGHT}2002-2019 فريق النسخة المفتوحة +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}النسخة المفتوحة {COPYRIGHT}2002-{STRING} فريق النسخة المفتوحة # Framerate display window ############ Leave those lines in this order!! diff --git a/src/lang/basque.txt b/src/lang/basque.txt index 351a252638..f1d50f7839 100644 --- a/src/lang/basque.txt +++ b/src/lang/basque.txt @@ -2583,7 +2583,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Konpainia jabe STR_ABOUT_OPENTTD :{WHITE}OpenTTD-ri buruz STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Original copyright {COPYRIGHT} 1995 Chris Sawyer, All rights reserved STR_ABOUT_VERSION :{BLACK}OpenTTD bertsioa {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2019 The OpenTTD team +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-{STRING} The OpenTTD team # Framerate display window STR_FRAMERATE_FPS_BAD :{RED}{DECIMAL} koadroak/s diff --git a/src/lang/belarusian.txt b/src/lang/belarusian.txt index 3fc0d42ab6..cd5379e630 100644 --- a/src/lang/belarusian.txt +++ b/src/lang/belarusian.txt @@ -3018,7 +3018,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Зямля на STR_ABOUT_OPENTTD :{WHITE}Аб OpenTTD STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Арыґінальныя аўтарскія правы {COPYRIGHT} 1995 Chris Sawyer. Усе правы абароненыя. STR_ABOUT_VERSION :{BLACK}OpenTTD вэрсія {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002–2019 Каманда распрацоўнікаў OpenTTD +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002–{STRING} Каманда распрацоўнікаў OpenTTD # Framerate display window ############ Leave those lines in this order!! diff --git a/src/lang/brazilian_portuguese.txt b/src/lang/brazilian_portuguese.txt index bdd3e7b75e..adbf2a4cdf 100644 --- a/src/lang/brazilian_portuguese.txt +++ b/src/lang/brazilian_portuguese.txt @@ -2689,7 +2689,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :O terreno é pr STR_ABOUT_OPENTTD :{WHITE}Sobre o OpenTTD... STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Copyright original {COPYRIGHT} 1995 Chris Sawyer, Todos os direitos reservados STR_ABOUT_VERSION :{BLACK}OpenTTD versão {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2019 A equipe do OpenTTD +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-{STRING} A equipe do OpenTTD # Framerate display window STR_FRAMERATE_CAPTION :{WHITE}Taxa de quadros diff --git a/src/lang/bulgarian.txt b/src/lang/bulgarian.txt index 32c8b13402..8c8c24f9c0 100644 --- a/src/lang/bulgarian.txt +++ b/src/lang/bulgarian.txt @@ -2636,7 +2636,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Земя, пр STR_ABOUT_OPENTTD :{WHITE}Относно OpenTTD STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Авторски права {COPYRIGHT} 1995 Крис Сойер (Chris Sawyer), Всички права са запазени STR_ABOUT_VERSION :{BLACK}OpenTTD версия {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2019 The OpenTTD team +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-{STRING} The OpenTTD team # Framerate display window STR_FRAMERATE_CAPTION :{WHITE}Скорост на кадрите diff --git a/src/lang/catalan.txt b/src/lang/catalan.txt index dac7abf0f0..84597e3c9a 100644 --- a/src/lang/catalan.txt +++ b/src/lang/catalan.txt @@ -2706,7 +2706,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :terreny propiet STR_ABOUT_OPENTTD :{WHITE}Quant a l'OpenTTD STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Copyright original {COPYRIGHT} 1995 Chris Sawyer. Tots els drets reservats. STR_ABOUT_VERSION :{BLACK}Versió {REV} de l'OpenTTD -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2019 L'equip de l'OpenTTD +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-{STRING} L'equip de l'OpenTTD # Framerate display window STR_FRAMERATE_CAPTION :{WHITE}Fotogrames per segon diff --git a/src/lang/croatian.txt b/src/lang/croatian.txt index 32acb9f92c..7f20426f48 100644 --- a/src/lang/croatian.txt +++ b/src/lang/croatian.txt @@ -2832,7 +2832,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Zemlja u posjed STR_ABOUT_OPENTTD :{WHITE}O OpenTTD-u STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Izvorno autorsko pravo {COPYRIGHT} 1995 Chris Sawyer, sva prava pridržana STR_ABOUT_VERSION :{BLACK}OpenTTD verzija {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2019 OpenTTD tim +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-{STRING} OpenTTD tim # Framerate display window STR_FRAMERATE_CAPTION :{WHITE}Broj sličica diff --git a/src/lang/czech.txt b/src/lang/czech.txt index 4386ae1016..fd7bb561e1 100644 --- a/src/lang/czech.txt +++ b/src/lang/czech.txt @@ -2826,7 +2826,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Půda vlastněn STR_ABOUT_OPENTTD :{WHITE}O OpenTTD STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Původní copyright: {COPYRIGHT} 1995 Chris Sawyer, všechna práva vyhrazena STR_ABOUT_VERSION :{BLACK}OpenTTD verze {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2019 Tým OpenTTD +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-{STRING} Tým OpenTTD # Framerate display window STR_FRAMERATE_CAPTION :{WHITE}Počet snímků za sekundu diff --git a/src/lang/danish.txt b/src/lang/danish.txt index 748a90defd..f501b89c45 100644 --- a/src/lang/danish.txt +++ b/src/lang/danish.txt @@ -2736,7 +2736,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Land ejet af se STR_ABOUT_OPENTTD :{WHITE}Om OpenTTD STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Original copyright {COPYRIGHT} 1995 Chris Sawyer, Alle rettigheder reserveret STR_ABOUT_VERSION :{BLACK}OpenTTD version {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2019 OpenTTD teamet +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-{STRING} OpenTTD teamet # Framerate display window STR_FRAMERATE_CAPTION :{WHITE}Spilhastighed diff --git a/src/lang/dutch.txt b/src/lang/dutch.txt index b993a76a6c..4dfbb65476 100644 --- a/src/lang/dutch.txt +++ b/src/lang/dutch.txt @@ -2736,7 +2736,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Terrein in bedr STR_ABOUT_OPENTTD :{WHITE}Over OpenTTD STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Originele auteursrecht {COPYRIGHT} 1995 Chris Sawyer, alle rechten voorbehouden STR_ABOUT_VERSION :{BLACK}OpenTTD-versie {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2019 Het OpenTTD-team +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-{STRING} Het OpenTTD-team # Framerate display window STR_FRAMERATE_CAPTION :{WHITE}Framesnelheid diff --git a/src/lang/english_AU.txt b/src/lang/english_AU.txt index 55f2259289..ac8b4605a5 100644 --- a/src/lang/english_AU.txt +++ b/src/lang/english_AU.txt @@ -2645,7 +2645,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Company-owned l STR_ABOUT_OPENTTD :{WHITE}About OpenTTD STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Original copyright {COPYRIGHT} 1995 Chris Sawyer, All rights reserved STR_ABOUT_VERSION :{BLACK}OpenTTD version {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2019 The OpenTTD team +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-{STRING} The OpenTTD team # Framerate display window ############ Leave those lines in this order!! diff --git a/src/lang/english_US.txt b/src/lang/english_US.txt index f61b66b11c..d35b02b246 100644 --- a/src/lang/english_US.txt +++ b/src/lang/english_US.txt @@ -2733,7 +2733,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Company-owned l STR_ABOUT_OPENTTD :{WHITE}About OpenTTD STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Original copyright {COPYRIGHT} 1995 Chris Sawyer, All rights reserved STR_ABOUT_VERSION :{BLACK}OpenTTD version {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2019 The OpenTTD team +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-{STRING} The OpenTTD team # Framerate display window STR_FRAMERATE_CAPTION :{WHITE}Frame rate diff --git a/src/lang/esperanto.txt b/src/lang/esperanto.txt index 323af7f6cb..ba7a07f802 100644 --- a/src/lang/esperanto.txt +++ b/src/lang/esperanto.txt @@ -2251,7 +2251,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Kompanie poseda STR_ABOUT_OPENTTD :{WHITE}Pri OpenTTD STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Origina kopirajto {COPYRIGHT} 1995 Chris Sawyer, Ĉiuj rajtoj rezervitaj STR_ABOUT_VERSION :{BLACK}OpenTTD-versio {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2019 La teamo de OpenTTD +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-{STRING} La teamo de OpenTTD # Framerate display window ############ Leave those lines in this order!! diff --git a/src/lang/estonian.txt b/src/lang/estonian.txt index ef21a51e46..fc5be7b8a8 100644 --- a/src/lang/estonian.txt +++ b/src/lang/estonian.txt @@ -2738,7 +2738,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Ettevõtte maa STR_ABOUT_OPENTTD :{WHITE}OpenTTD lisainfo STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Algne autorikaitse {COPYRIGHT} 1995 Chris Sawyer, kõik õigused kaitstud STR_ABOUT_VERSION :{BLACK}OpenTTD osa {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2019 OpenTTD meeskond +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-{STRING} OpenTTD meeskond # Framerate display window STR_FRAMERATE_CAPTION :{WHITE}Kaadrisagedus diff --git a/src/lang/faroese.txt b/src/lang/faroese.txt index 1eead24e4f..b6bf7ab2d5 100644 --- a/src/lang/faroese.txt +++ b/src/lang/faroese.txt @@ -2412,7 +2412,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Ogn hjá fyrit STR_ABOUT_OPENTTD :{WHITE}Um OpenTTD STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Upprunalig upphavsrættindi {COPYRIGHT} 1995 Chris Sawyer, Øll rættindi umbiðin STR_ABOUT_VERSION :{BLACK}OpenTTD útgáva {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2019 OpenTTD toymi +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-{STRING} OpenTTD toymi # Framerate display window ############ Leave those lines in this order!! diff --git a/src/lang/finnish.txt b/src/lang/finnish.txt index f4ae3ba4a9..52cabab66a 100644 --- a/src/lang/finnish.txt +++ b/src/lang/finnish.txt @@ -2734,7 +2734,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Yhtiön omistam STR_ABOUT_OPENTTD :{WHITE}Tietoja OpenTTD:stä STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Alkuperäiset oikeudet {COPYRIGHT} 1995 Chris Sawyer, kaikki oikeudet pidätetään STR_ABOUT_VERSION :{BLACK}OpenTTD-versio {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2019 The OpenTTD team +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-{STRING} The OpenTTD team # Framerate display window STR_FRAMERATE_CAPTION :{WHITE}Kuvataajuus diff --git a/src/lang/french.txt b/src/lang/french.txt index 8ac3641948..811fdeac8c 100644 --- a/src/lang/french.txt +++ b/src/lang/french.txt @@ -2737,7 +2737,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Terrain apparte STR_ABOUT_OPENTTD :{WHITE}À propos de OpenTTD STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Copyright original {COPYRIGHT} 1995 Chris Sawyer, Tous droits réservés STR_ABOUT_VERSION :{BLACK}OpenTTD version {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2019 L'équipe OpenTTD +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-{STRING} L'équipe OpenTTD # Framerate display window STR_FRAMERATE_CAPTION :{WHITE}Fréquence d'images diff --git a/src/lang/gaelic.txt b/src/lang/gaelic.txt index c5b84d9a7e..8e9b6be1e6 100644 --- a/src/lang/gaelic.txt +++ b/src/lang/gaelic.txt @@ -2922,7 +2922,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Tìr a' chompan STR_ABOUT_OPENTTD :{WHITE}Mu dheidhinn OpenTTD STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Còir-lethbhreac tùsail {COPYRIGHT} 1995 Chris Sawyer, a h-uile còir glèidhte STR_ABOUT_VERSION :{BLACK}OpenTTD tionndadh {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2019 An sgioba OpenTTD +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-{STRING} An sgioba OpenTTD # Framerate display window STR_FRAMERATE_CAPTION :{WHITE}Reat fhrèamaichean diff --git a/src/lang/galician.txt b/src/lang/galician.txt index 17939c8513..9f1b0cf3d4 100644 --- a/src/lang/galician.txt +++ b/src/lang/galician.txt @@ -2728,7 +2728,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Terreo propieda STR_ABOUT_OPENTTD :{WHITE}Acerca de OpenTTD STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Copyright orixinal {COPYRIGHT} 1995 Chris Sawyer, Tódolos dereitos reservados STR_ABOUT_VERSION :{BLACK}OpenTTD versión {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2019 O equipo de OpenTTD +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-{STRING} O equipo de OpenTTD # Framerate display window STR_FRAMERATE_CAPTION :{WHITE}Frame rate diff --git a/src/lang/german.txt b/src/lang/german.txt index 0b1f8a2897..6e8debe354 100644 --- a/src/lang/german.txt +++ b/src/lang/german.txt @@ -2705,7 +2705,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Firmeneigenes G STR_ABOUT_OPENTTD :{WHITE}OpenTTD STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Transport Tycoon-Urheberrecht {COPYRIGHT} 1995 Chris Sawyer, alle Rechte vorbehalten STR_ABOUT_VERSION :{BLACK}OpenTTD-Version {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2019 OpenTTD-Team +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-{STRING} OpenTTD-Team # Framerate display window STR_FRAMERATE_CAPTION :{WHITE}Bildwiederholrate diff --git a/src/lang/greek.txt b/src/lang/greek.txt index a32ee99001..a2971e0f8f 100644 --- a/src/lang/greek.txt +++ b/src/lang/greek.txt @@ -2814,7 +2814,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Ιδιοκτη STR_ABOUT_OPENTTD :{WHITE}Σχετικά με το OpenTTD STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Αρχικά Πνευματικά Δικαιώματα {COPYRIGHT} 1995 Chris Sawyer, Όλα τα δικαιώματα διατηρούνται STR_ABOUT_VERSION :{BLACK}OpenTTD έκδοση {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2019 Η ομάδα του OpenTTD +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-{STRING} Η ομάδα του OpenTTD # Framerate display window STR_FRAMERATE_CAPTION :{WHITE}Ρυθμός καρέ γραφικών diff --git a/src/lang/hebrew.txt b/src/lang/hebrew.txt index 2092f91bef..a944e7d5e6 100644 --- a/src/lang/hebrew.txt +++ b/src/lang/hebrew.txt @@ -2697,7 +2697,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :שטח בבעל STR_ABOUT_OPENTTD :{WHITE}OpenTTD אודות STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}כל הזכויות שמורות , {COPYRIGHT}1995 כריס סויר - זכויות יוצרים מקוריות STR_ABOUT_VERSION :{BLACK}{REV} גירסה , OpenTTD -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2019 The OpenTTD team +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-{STRING} The OpenTTD team # Framerate display window STR_FRAMERATE_CAPTION :{WHITE}קצב ריענון diff --git a/src/lang/hungarian.txt b/src/lang/hungarian.txt index 124deed6e9..89f79ff21a 100644 --- a/src/lang/hungarian.txt +++ b/src/lang/hungarian.txt @@ -2800,7 +2800,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Vállalat álta STR_ABOUT_OPENTTD :{WHITE}Az OpenTTD-ről STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Eredeti copyright {COPYRIGHT} 1995 Chris Sawyer, Minden jog fenntartva STR_ABOUT_VERSION :{BLACK}OpenTTD {REV} verzió -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2019 Az OpenTTD csapat +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-{STRING} Az OpenTTD csapat # Framerate display window STR_FRAMERATE_CAPTION :{WHITE}FPS ablak diff --git a/src/lang/icelandic.txt b/src/lang/icelandic.txt index e3683ac89e..7415e01f1e 100644 --- a/src/lang/icelandic.txt +++ b/src/lang/icelandic.txt @@ -2519,7 +2519,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Land í eigu fy STR_ABOUT_OPENTTD :{WHITE}Um OpenTTD STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Upphaflegur höfundarréttur {COPYRIGHT} 1995 Chris Sawyer, Öll réttindi áskilin STR_ABOUT_VERSION :{BLACK}OpenTTD útgáfa {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2019 OpenTTD hópurinn +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-{STRING} OpenTTD hópurinn # Framerate display window ############ Leave those lines in this order!! diff --git a/src/lang/indonesian.txt b/src/lang/indonesian.txt index 45d98ef355..b189ce98f4 100644 --- a/src/lang/indonesian.txt +++ b/src/lang/indonesian.txt @@ -2692,7 +2692,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Tanah milik Per STR_ABOUT_OPENTTD :{WHITE}Tentang OpenTTD STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Hak Cipta asli {COPYRIGHT} 1995 Chris Sawyer, Hak Cipta dilindungi STR_ABOUT_VERSION :{BLACK}OpenTTD versi {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2019 Tim OpenTTD +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-{STRING} Tim OpenTTD # Framerate display window STR_FRAMERATE_CAPTION_SMALL :{STRING}{WHITE} ({DECIMAL}x) diff --git a/src/lang/irish.txt b/src/lang/irish.txt index b1a58ed5b4..d5371f8b83 100644 --- a/src/lang/irish.txt +++ b/src/lang/irish.txt @@ -2670,7 +2670,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Talamh faoi úi STR_ABOUT_OPENTTD :{WHITE}Maidir le OpenTTD STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Cóipcheart bunaidh {COPYRIGHT} 1995 Chris Sawyer, Gach ceart ar cosaint STR_ABOUT_VERSION :{BLACK}OpenTTD leagan {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2019 An fhoireann OpenTTD +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-{STRING} An fhoireann OpenTTD # Framerate display window ############ Leave those lines in this order!! diff --git a/src/lang/italian.txt b/src/lang/italian.txt index 84b6646f6c..2556c68304 100644 --- a/src/lang/italian.txt +++ b/src/lang/italian.txt @@ -2766,7 +2766,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Terreno possedu STR_ABOUT_OPENTTD :{WHITE}Informazioni su OpenTTD STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Copyright originale {COPYRIGHT} 1995 Chris Sawyer, Tutti i diritti riservati STR_ABOUT_VERSION :{BLACK}OpenTTD versione {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2019 Il team OpenTTD +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-{STRING} Il team OpenTTD # Framerate display window STR_FRAMERATE_CAPTION :{WHITE}Frame rate diff --git a/src/lang/japanese.txt b/src/lang/japanese.txt index 9f9fb99ff7..c27cf4cf02 100644 --- a/src/lang/japanese.txt +++ b/src/lang/japanese.txt @@ -2671,7 +2671,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :社有地 STR_ABOUT_OPENTTD :{WHITE}OpenTTDについて STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}オリジナル版権{COPYRIGHT} 1995 Chris Sawyer All rights reserved STR_ABOUT_VERSION :{BLACK}OpenTTD バージョン {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2019 The OpenTTD team +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-{STRING} The OpenTTD team # Framerate display window ############ Leave those lines in this order!! diff --git a/src/lang/korean.txt b/src/lang/korean.txt index c298cbfc2b..e8ade5e9ff 100644 --- a/src/lang/korean.txt +++ b/src/lang/korean.txt @@ -2737,7 +2737,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :회사 소유 STR_ABOUT_OPENTTD :{WHITE}OpenTTD에 대해서 STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Original copyright {COPYRIGHT} 1995 Chris Sawyer, All rights reserved STR_ABOUT_VERSION :{BLACK}OpenTTD 버전 {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2019 OpenTTD 개발팀 +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-{STRING} OpenTTD 개발팀 # Framerate display window STR_FRAMERATE_CAPTION :{WHITE}프레임레이트 diff --git a/src/lang/latin.txt b/src/lang/latin.txt index 687cf345ae..629e3d90df 100644 --- a/src/lang/latin.txt +++ b/src/lang/latin.txt @@ -2906,7 +2906,6 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Terra societati STR_ABOUT_OPENTTD :{WHITE}De OpenTTD STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Privilegium impressorium originale {COPYRIGHT} MCMXCV Chris Sawyer, Omnia proprietatis iura reservantur STR_ABOUT_VERSION :{BLACK}OpenTTD editio {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} MMII-MMXIX Manus OpenTTD # Framerate display window STR_FRAMERATE_CAPTION_SMALL :{STRING}{WHITE} ({DECIMAL}x) diff --git a/src/lang/latvian.txt b/src/lang/latvian.txt index 4750b893dc..d09161db85 100644 --- a/src/lang/latvian.txt +++ b/src/lang/latvian.txt @@ -2616,7 +2616,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Uzņēmumam pie STR_ABOUT_OPENTTD :{WHITE}Par OpenTTD STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Oriģināla autortiesības {COPYRIGHT} 1995 Kriss Sojers. Visas tiesības paturētas STR_ABOUT_VERSION :{BLACK}OpenTTD versija {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2019 OpenTTD darba grupa +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-{STRING} OpenTTD darba grupa # Framerate display window STR_FRAMERATE_SPEED_FACTOR :{WHITE}pašreizējās spēles ātruma pakāpe: {DECIMAL}x diff --git a/src/lang/lithuanian.txt b/src/lang/lithuanian.txt index 6c8ebaa3fd..2d2f9f148d 100644 --- a/src/lang/lithuanian.txt +++ b/src/lang/lithuanian.txt @@ -2889,7 +2889,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Kompanijos žem STR_ABOUT_OPENTTD :{WHITE}Apie OpenTTD STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Pradinės versijos teisės priklauso {COPYRIGHT} 1995 Chris Sawyer, Visos teisės saugomos STR_ABOUT_VERSION :{BLACK}OpenTTD versija {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2019 OpenTTD komanda +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-{STRING} OpenTTD komanda # Framerate display window ############ Leave those lines in this order!! diff --git a/src/lang/luxembourgish.txt b/src/lang/luxembourgish.txt index af1f380672..daf35493ac 100644 --- a/src/lang/luxembourgish.txt +++ b/src/lang/luxembourgish.txt @@ -2732,7 +2732,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Land am Firmenb STR_ABOUT_OPENTTD :{WHITE}Iwwert OpenTTD STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Original Copyright {COPYRIGHT} 1995 Chris Sawyer, All Rechter virbehalen STR_ABOUT_VERSION :{BLACK}OpenTTD Versioun {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2019 D'OpenTTD team +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-{STRING} D'OpenTTD team # Framerate display window STR_FRAMERATE_CAPTION :{WHITE}Biller pro Sekonn diff --git a/src/lang/malay.txt b/src/lang/malay.txt index efb02ab21c..d6707443f0 100644 --- a/src/lang/malay.txt +++ b/src/lang/malay.txt @@ -2417,7 +2417,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Tanah dimiliki STR_ABOUT_OPENTTD :{WHITE}Tentang OpenTTD STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Hakcipta Asal {COPYRIGHT} 1995 Chris Sawyer, Hakcipta terpelihara STR_ABOUT_VERSION :{BLACK}OpenTTD versi {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2019 The OpenTTD team +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-{STRING} The OpenTTD team # Framerate display window ############ Leave those lines in this order!! diff --git a/src/lang/norwegian_bokmal.txt b/src/lang/norwegian_bokmal.txt index 8ac253e114..27f6bb6264 100644 --- a/src/lang/norwegian_bokmal.txt +++ b/src/lang/norwegian_bokmal.txt @@ -2729,7 +2729,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Firma-eid lando STR_ABOUT_OPENTTD :{WHITE}Om OpenTTD STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Opprinnelig opphavsbeskyttet {COPYRIGHT} 1995 Chris Sawyer, Alle rettigheter reservert STR_ABOUT_VERSION :{BLACK}OpenTTD versjon {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2019 OpenTTD-teamet +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-{STRING} OpenTTD-teamet # Framerate display window STR_FRAMERATE_CAPTION :{WHITE}Bildehastighet diff --git a/src/lang/norwegian_nynorsk.txt b/src/lang/norwegian_nynorsk.txt index 6eba894d4e..59e6381676 100644 --- a/src/lang/norwegian_nynorsk.txt +++ b/src/lang/norwegian_nynorsk.txt @@ -2593,7 +2593,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Feltet eigast a STR_ABOUT_OPENTTD :{WHITE}Om OpenTTD STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Opphaveleg opphavsbeskytta av {COPYRIGHT} 1995 Chris Sawyer, Alle rettigheiter reservert STR_ABOUT_VERSION :{BLACK}OpenTTD versjon {REV}. Oversett til nynorsk av Thor Morten Skogrand med fleire. -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2019 OpenTTD-teamet +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-{STRING} OpenTTD-teamet # Framerate display window ############ Leave those lines in this order!! diff --git a/src/lang/polish.txt b/src/lang/polish.txt index 48e9dd73b9..463f21b0d0 100644 --- a/src/lang/polish.txt +++ b/src/lang/polish.txt @@ -3116,7 +3116,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Teren w posiada STR_ABOUT_OPENTTD :{WHITE}OpenTTD STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Prawa Autorskie {COPYRIGHT} 1995 Chris Sawyer, Wszelkie prawa zastrzeżone STR_ABOUT_VERSION :{BLACK}OpenTTD wersja {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2019 Zespół OpenTTD +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-{STRING} Zespół OpenTTD # Framerate display window STR_FRAMERATE_CAPTION :{WHITE}Ilość klatek na sekundę diff --git a/src/lang/portuguese.txt b/src/lang/portuguese.txt index ef6912f21a..d6666eaca2 100644 --- a/src/lang/portuguese.txt +++ b/src/lang/portuguese.txt @@ -2723,7 +2723,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Terreno proprie STR_ABOUT_OPENTTD :{WHITE}Sobre o OpenTTD STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Direitos de autor originais {COPYRIGHT} 1995 Chris Sawyer, Todos os direitos reservados STR_ABOUT_VERSION :{BLACK}OpenTTD versão {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2019 A equipa do OpenTTD +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-{STRING} A equipa do OpenTTD # Framerate display window STR_FRAMERATE_CAPTION :{WHITE}Taxa de fotograma diff --git a/src/lang/romanian.txt b/src/lang/romanian.txt index ba2372b032..b3c04eaaf0 100644 --- a/src/lang/romanian.txt +++ b/src/lang/romanian.txt @@ -2652,7 +2652,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Teren în propr STR_ABOUT_OPENTTD :{WHITE}Despre OpenTTD STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Copyright original {COPYRIGHT} 1995 Chris Sawyer, Toate drepturile rezervate STR_ABOUT_VERSION :{BLACK}OpenTTD versiunea {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2019 Echipa OpenTTD +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-{STRING} Echipa OpenTTD # Framerate display window STR_FRAMERATE_RATE_GAMELOOP_TOOLTIP :{BLACK}Număr de evenimente de joc simulate per secundă. diff --git a/src/lang/russian.txt b/src/lang/russian.txt index e0815a435f..4f98e7adee 100644 --- a/src/lang/russian.txt +++ b/src/lang/russian.txt @@ -2916,7 +2916,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Земля в STR_ABOUT_OPENTTD :{WHITE}Об OpenTTD STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Оригинальные авторские права {COPYRIGHT} 1995 Chris Sawyer. Все права защищены. STR_ABOUT_VERSION :{BLACK}OpenTTD версия {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2019 Команда разработчиков OpenTTD +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-{STRING} Команда разработчиков OpenTTD # Framerate display window STR_FRAMERATE_CAPTION :{WHITE}Скорость игры diff --git a/src/lang/serbian.txt b/src/lang/serbian.txt index ef96f78dd2..7567da7370 100644 --- a/src/lang/serbian.txt +++ b/src/lang/serbian.txt @@ -2879,7 +2879,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Zemljište u po STR_ABOUT_OPENTTD :{WHITE}O OpenTTD-u STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Originalni kopirajt {COPYRIGHT} 1995 Chris Sawyer, Sva prava zadržana STR_ABOUT_VERSION :{BLACK}OpenTTD verzija {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2019 OpenTTD tim +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-{STRING} OpenTTD tim # Framerate display window ############ Leave those lines in this order!! diff --git a/src/lang/simplified_chinese.txt b/src/lang/simplified_chinese.txt index 2fece1d86e..ac0764838e 100644 --- a/src/lang/simplified_chinese.txt +++ b/src/lang/simplified_chinese.txt @@ -2736,7 +2736,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :公司属地 STR_ABOUT_OPENTTD :{WHITE}关于 OpenTTD STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}原始版权由 {COPYRIGHT} 1995 Chris Sawyer 所有,保留一切权力。 STR_ABOUT_VERSION :{BLACK}OpenTTD 版本 {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2019 OpenTTD 团队 +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-{STRING} OpenTTD 团队 # Framerate display window STR_FRAMERATE_CAPTION :{WHITE}帧率 diff --git a/src/lang/slovak.txt b/src/lang/slovak.txt index af28e0b597..519849a808 100644 --- a/src/lang/slovak.txt +++ b/src/lang/slovak.txt @@ -2738,7 +2738,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Spoločnosťou STR_ABOUT_OPENTTD :{WHITE}OpenTTD STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Pôvodný copyright: {COPYRIGHT} 1995 Chris Sawyer, všetky práva vyhradené STR_ABOUT_VERSION :{BLACK}OpenTTD verzia {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2019 team OpenTTD +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-{STRING} team OpenTTD # Framerate display window ############ Leave those lines in this order!! diff --git a/src/lang/slovenian.txt b/src/lang/slovenian.txt index adf01885c7..508455dd8d 100644 --- a/src/lang/slovenian.txt +++ b/src/lang/slovenian.txt @@ -2826,7 +2826,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Ozemlje v lasti STR_ABOUT_OPENTTD :{WHITE}O OpenTTD STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Prvotne avtorske pravice {COPYRIGHT} 1995 Chris Sawyer, vse pravice pridržane STR_ABOUT_VERSION :{BLACK}OpenTTD različica {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2019 ekipa OpenTTD +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-{STRING} ekipa OpenTTD # Framerate display window ############ Leave those lines in this order!! diff --git a/src/lang/spanish.txt b/src/lang/spanish.txt index fb931e04fa..0a2a34b880 100644 --- a/src/lang/spanish.txt +++ b/src/lang/spanish.txt @@ -2726,7 +2726,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Terreno propied STR_ABOUT_OPENTTD :{WHITE}Acerca de OpenTTD STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Copyright Original {COPYRIGHT} 1995 Chris Sawyer, Todos los derechos reservados STR_ABOUT_VERSION :{BLACK}OpenTTD versión {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2019 El equipo OpenTTD +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-{STRING} El equipo OpenTTD # Framerate display window STR_FRAMERATE_CAPTION :{WHITE}Fotogramas por segundo - FPS diff --git a/src/lang/spanish_MX.txt b/src/lang/spanish_MX.txt index 11f97a3dfc..db8e547514 100644 --- a/src/lang/spanish_MX.txt +++ b/src/lang/spanish_MX.txt @@ -2737,7 +2737,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Terreno propied STR_ABOUT_OPENTTD :{WHITE}Acerca de OpenTTD STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Copyright original {COPYRIGHT} 1995 Chris Sawyer, Todos los derechos reservados STR_ABOUT_VERSION :{BLACK}OpenTTD versión {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2019, el equipo de OpenTTD +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-{STRING}, el equipo de OpenTTD # Framerate display window STR_FRAMERATE_CAPTION :{WHITE}FPS diff --git a/src/lang/swedish.txt b/src/lang/swedish.txt index e06709f1bf..64bd3679a4 100644 --- a/src/lang/swedish.txt +++ b/src/lang/swedish.txt @@ -2725,7 +2725,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Mark som ägs a STR_ABOUT_OPENTTD :{WHITE}Om OpenTTD STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Ursprunglig upphovsrätt {COPYRIGHT} 1995 Chris Sawyer, Alla rättigheter hävdas STR_ABOUT_VERSION :{BLACK}OpenTTD-version {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2019 OpenTTD-teamet +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-{STRING} OpenTTD-teamet # Framerate display window STR_FRAMERATE_CAPTION :{WHITE}Bildfrekvens diff --git a/src/lang/tamil.txt b/src/lang/tamil.txt index bbc5ebeb14..c338e584f9 100644 --- a/src/lang/tamil.txt +++ b/src/lang/tamil.txt @@ -2403,7 +2403,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :நிறுவ STR_ABOUT_OPENTTD :{WHITE}OpenTTD-ஐ பற்றி STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}அசல் உரிமைகள் {COPYRIGHT} 1995 கிறிஸ் சாயர், எல்லா உரிமைகளும் பதிவுசெய்யப்பட்டது STR_ABOUT_VERSION :{BLACK}OpenTTD பதிப்பு {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2019 OpenTTD குழுமம் +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-{STRING} OpenTTD குழுமம் # Framerate display window STR_FRAMERATE_CAPTION :{WHITE}பிரேம் வீதம் diff --git a/src/lang/thai.txt b/src/lang/thai.txt index f4889f0779..46ecfa5675 100644 --- a/src/lang/thai.txt +++ b/src/lang/thai.txt @@ -2618,7 +2618,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :บริษั STR_ABOUT_OPENTTD :{WHITE}เกี่ยวกับ OpenTTD STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}ลิขสิทธิ์เดิม {COPYRIGHT} ค.ศ.1995 ของ Chris Sawyer, สงวนลิขสิทธิ์ STR_ABOUT_VERSION :{BLACK}OpenTTD รุ่นที่ {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}ลิขสิทธิ์ OpenTTD {COPYRIGHT}2002-2019 ของ The OpenTTD team +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}ลิขสิทธิ์ OpenTTD {COPYRIGHT}2002-{STRING} ของ The OpenTTD team # Framerate display window ############ Leave those lines in this order!! diff --git a/src/lang/traditional_chinese.txt b/src/lang/traditional_chinese.txt index 38dc262c7b..3aa84cc35a 100644 --- a/src/lang/traditional_chinese.txt +++ b/src/lang/traditional_chinese.txt @@ -2671,7 +2671,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :公司所有土 STR_ABOUT_OPENTTD :{WHITE}關於 OpenTTD STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}原著作權為 {COPYRIGHT} 1995 Chris Sawyer,保留所有權利 STR_ABOUT_VERSION :{BLACK}OpenTTD 版本 {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2019 OpenTTD 開發小組 +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-{STRING} OpenTTD 開發小組 # Framerate display window STR_FRAMERATE_DATA_POINTS :{BLACK}數據基於 {COMMA} 個採樣 diff --git a/src/lang/turkish.txt b/src/lang/turkish.txt index 17ccff6c32..8b9d0da971 100644 --- a/src/lang/turkish.txt +++ b/src/lang/turkish.txt @@ -2700,7 +2700,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Satın alınmı STR_ABOUT_OPENTTD :{WHITE}OpenTTD Hakkında STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Telif hakkı {COPYRIGHT} 1995 Chris Sawyer, Her hakkı saklıdır STR_ABOUT_VERSION :{BLACK}OpenTTD sürüm {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2019 OpenTTD ekibi +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-{STRING} OpenTTD ekibi # Framerate display window STR_FRAMERATE_CAPTION :{WHITE}Kare oranı diff --git a/src/lang/ukrainian.txt b/src/lang/ukrainian.txt index 6ef8e7f71f..855995759d 100644 --- a/src/lang/ukrainian.txt +++ b/src/lang/ukrainian.txt @@ -2858,7 +2858,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Ця ділян STR_ABOUT_OPENTTD :{WHITE}Про OpenTTD STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Авторське право {COPYRIGHT} 1995 Кріс Сойєр, Всі права захищені STR_ABOUT_VERSION :{BLACK}OpenTTD версія {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2019 команда OpenTTD +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-{STRING} команда OpenTTD # Framerate display window STR_FRAMERATE_CAPTION :{WHITE}Швидкість гри diff --git a/src/lang/unfinished/frisian.txt b/src/lang/unfinished/frisian.txt index 3af7f6a751..c0f836cd6e 100644 --- a/src/lang/unfinished/frisian.txt +++ b/src/lang/unfinished/frisian.txt @@ -2458,7 +2458,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Lân fan bedriu STR_ABOUT_OPENTTD :{WHITE}Oer OpenTTD STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Orizjineel copyright {COPYRIGHT} 1995 Chris Sawyer, All rights reserved STR_ABOUT_VERSION :{BLACK}OpenTTD-ferzje {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2019 It OpenTTD team +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-{STRING} It OpenTTD team # Framerate display window ############ Leave those lines in this order!! diff --git a/src/lang/unfinished/ido.txt b/src/lang/unfinished/ido.txt index e709ba47c9..b48ddf424b 100644 --- a/src/lang/unfinished/ido.txt +++ b/src/lang/unfinished/ido.txt @@ -777,7 +777,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_HEADQUARTERS :Stabeyo di komp # About OpenTTD window STR_ABOUT_VERSION :{BLACK}OpenTTD versiono {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2019 La kruo OpenTTD +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-{STRING} La kruo OpenTTD # Framerate display window ############ Leave those lines in this order!! diff --git a/src/lang/unfinished/macedonian.txt b/src/lang/unfinished/macedonian.txt index 4a623223f4..50decfc5dc 100644 --- a/src/lang/unfinished/macedonian.txt +++ b/src/lang/unfinished/macedonian.txt @@ -1194,7 +1194,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Компани STR_ABOUT_OPENTTD :{WHITE}За OpenTTD STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Оригинален copyright {COPYRIGHT} 1995 Chris Sawyer, Сите права се задржани STR_ABOUT_VERSION :{BLACK}OpenTTD верзија {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2019 OpenTTD тимот +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-{STRING} OpenTTD тимот # Framerate display window ############ Leave those lines in this order!! diff --git a/src/lang/unfinished/persian.txt b/src/lang/unfinished/persian.txt index 907bd0935c..b27230b3b2 100644 --- a/src/lang/unfinished/persian.txt +++ b/src/lang/unfinished/persian.txt @@ -2374,7 +2374,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :زمین خری STR_ABOUT_OPENTTD :{WHITE}OpenTTD در باره ی STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Original copyright {COPYRIGHT} 1995 Chris Sawyer, All rights reserved STR_ABOUT_VERSION :{BLACK}OpenTTD ویرایش {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2019 The OpenTTD team +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-{STRING} The OpenTTD team # Framerate display window ############ Leave those lines in this order!! diff --git a/src/lang/vietnamese.txt b/src/lang/vietnamese.txt index 7d036eaeb8..33d14a64d5 100644 --- a/src/lang/vietnamese.txt +++ b/src/lang/vietnamese.txt @@ -2727,7 +2727,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Đất công ty STR_ABOUT_OPENTTD :{WHITE}Về OpenTTD STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Nguyên tác bản quyền {COPYRIGHT} 1995 Chris Sawyer, All rights reserved STR_ABOUT_VERSION :{BLACK}OpenTTD phiên bản {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2019 Nhóm OpenTTD +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-{STRING} Nhóm OpenTTD # Framerate display window STR_FRAMERATE_CAPTION :{WHITE}Tốc độ khung hình diff --git a/src/lang/welsh.txt b/src/lang/welsh.txt index 84a203f842..4a5cbdc0ca 100644 --- a/src/lang/welsh.txt +++ b/src/lang/welsh.txt @@ -2678,7 +2678,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Tir cwmni STR_ABOUT_OPENTTD :{WHITE}Gwybodaeth am OpenTTD STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Hawlfraint Wreiddiol {COPYRIGHT} 1995 Chris Sawyer, Holl cedwir pob hawl STR_ABOUT_VERSION :{BLACK}fersiwn OpenTTD {REV} -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2019 Y tîm OpenTTD +STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-{STRING} Y tîm OpenTTD # Framerate display window STR_FRAMERATE_RATE_BLITTER_TOOLTIP :{BLACK}Nifer o fframiau fideo a lunir bob eiliad. From 7872b1e0b5e186e6e7b3ccfd509412dab8871439 Mon Sep 17 00:00:00 2001 From: duck Date: Tue, 5 May 2020 20:05:40 +0000 Subject: [PATCH 11/40] Fix #8102: Update Windows installer strings to reference newer Windows version (#8114) * Fix #8102: Update Windows installer strings to reference versions newer than 7 * Fix 2c53390: Version strings incorrectly capitalised --- os/windows/installer/install.nsi | 4 ++-- os/windows/installer/version_win32.txt | 2 +- os/windows/installer/version_win64.txt | 2 +- os/windows/installer/version_win9x.txt | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/os/windows/installer/install.nsi b/os/windows/installer/install.nsi index 97a9558244..0db8245cc1 100644 --- a/os/windows/installer/install.nsi +++ b/os/windows/installer/install.nsi @@ -599,12 +599,12 @@ Function CheckWindowsVersion StrCmp $R0 "win9x" 0 WinNT ClearErrors StrCmp ${APPARCH} "win9x" Done 0 - MessageBox MB_YESNO|MB_ICONSTOP "You are trying to install the Windows XP SP3, Vista and 7 version on Windows 95, 98, ME, 2000 and XP without SP3. This is will not work. Please download the correct version. Do you really want to continue?" IDYES Done IDNO Abort + MessageBox MB_YESNO|MB_ICONSTOP "You are trying to install the Windows XP SP3 and newer version on Windows 95, 98, ME, 2000, or XP without SP3. This will not work - please download the correct version. Do you really want to continue?" IDYES Done IDNO Abort GoTo Done WinNT: ClearErrors StrCmp ${APPARCH} "win9x" 0 Done - MessageBox MB_YESNO|MB_ICONEXCLAMATION "You are trying to install the Windows 95, 98, 2000 and XP without SP3 version on Windows XP SP3, Vista or 7. This is not advised, but will work with reduced capabilities. We suggest that you download the correct version. Do you really want to continue?" IDYES Done IDNO Abort + MessageBox MB_YESNO|MB_ICONEXCLAMATION "You are trying to install the Windows 95, 98, 2000 and XP without SP3 version on Windows XP SP3 or newer. This is not advised, but will work with reduced capabilities. We suggest that you download the correct version. Do you really want to continue?" IDYES Done IDNO Abort Abort: Quit Done: diff --git a/os/windows/installer/version_win32.txt b/os/windows/installer/version_win32.txt index a0aeef5ee4..0ac06d0d19 100644 --- a/os/windows/installer/version_win32.txt +++ b/os/windows/installer/version_win32.txt @@ -1,5 +1,5 @@ !define APPBITS 32 ; Define number of bits for the architecture -!define EXTRA_VERSION "XP SP3, Vista and 7" +!define EXTRA_VERSION "XP SP3 and newer" !define APPARCH "win32" ; Define the application architecture !define BINARY_DIR "${PATH_ROOT}objs\win32\Release" InstallDir "$PROGRAMFILES32\OpenTTD\" diff --git a/os/windows/installer/version_win64.txt b/os/windows/installer/version_win64.txt index 492a75894f..15ef51096b 100644 --- a/os/windows/installer/version_win64.txt +++ b/os/windows/installer/version_win64.txt @@ -1,5 +1,5 @@ !define APPBITS 64 ; Define number of bits for the architecture -!define EXTRA_VERSION "XP, Vista and 7" +!define EXTRA_VERSION "XP and newer" !define APPARCH "win64" ; Define the application architecture !define BINARY_DIR "${PATH_ROOT}objs\x64\Release" InstallDir "$PROGRAMFILES64\OpenTTD\" diff --git a/os/windows/installer/version_win9x.txt b/os/windows/installer/version_win9x.txt index 21dbf6200a..603778d73c 100644 --- a/os/windows/installer/version_win9x.txt +++ b/os/windows/installer/version_win9x.txt @@ -1,5 +1,5 @@ !define APPBITS 32 ; Define number of bits for the architecture -!define EXTRA_VERSION "95, 98, ME, 2000 and XP without SP3" +!define EXTRA_VERSION "95, 98, ME, 2000 and XP SP2 or older" !define APPARCH "win9x" ; Define the application architecture !define BINARY_DIR "${PATH_ROOT}objs\release" InstallDir "$PROGRAMFILES32\OpenTTD\" From 2cc244bde07e00018fc2ef1b616aa28ed0116248 Mon Sep 17 00:00:00 2001 From: glx Date: Wed, 6 May 2020 22:44:47 +0200 Subject: [PATCH 12/40] Fix #8021: limit savegame range for docking tiles fixing --- src/saveload/afterload.cpp | 11 ++++++++--- src/saveload/saveload_internal.h | 1 - src/saveload/station_sl.cpp | 11 ----------- 3 files changed, 8 insertions(+), 15 deletions(-) diff --git a/src/saveload/afterload.cpp b/src/saveload/afterload.cpp index 764b41f2b7..9d3e0e16d9 100644 --- a/src/saveload/afterload.cpp +++ b/src/saveload/afterload.cpp @@ -3120,6 +3120,14 @@ bool AfterLoadGame() } if (IsSavegameVersionUntil(SLV_ENDING_YEAR)) { + /* Update station docking tiles. Was only needed for pre-SLV_MULTITLE_DOCKS + * savegames, but a bug in docking tiles touched all savegames between + * SLV_MULTITILE_DOCKS and SLV_ENDING_YEAR. */ + for (Station *st : Station::Iterate()) { + if (st->ship_station.tile != INVALID_TILE) UpdateStationDockingTiles(st); + } + + /* Reset roadtype/streetcartype info for non-road bridges. */ for (TileIndex t = 0; t < map_size; t++) { if (IsTileType(t, MP_TUNNELBRIDGE) && GetTunnelBridgeTransportType(t) != TRANSPORT_ROAD) { SetRoadTypes(t, INVALID_ROADTYPE, INVALID_ROADTYPE); @@ -3127,9 +3135,6 @@ bool AfterLoadGame() } } - /* Update station docking tiles. */ - AfterLoadScanDockingTiles(); - /* Compute station catchment areas. This is needed here in case UpdateStationAcceptance is called below. */ Station::RecomputeCatchmentForAll(); diff --git a/src/saveload/saveload_internal.h b/src/saveload/saveload_internal.h index 69dfb5dbf9..8a3f433c22 100644 --- a/src/saveload/saveload_internal.h +++ b/src/saveload/saveload_internal.h @@ -29,7 +29,6 @@ void AfterLoadVehicles(bool part_of_load); void FixupTrainLengths(); void AfterLoadStations(); void AfterLoadRoadStops(); -void AfterLoadScanDockingTiles(); void ResetLabelMaps(); void AfterLoadLabelMaps(); void AfterLoadStoryBook(); diff --git a/src/saveload/station_sl.cpp b/src/saveload/station_sl.cpp index b0e91b4e75..1d3612ae31 100644 --- a/src/saveload/station_sl.cpp +++ b/src/saveload/station_sl.cpp @@ -141,17 +141,6 @@ void AfterLoadRoadStops() } } -/** - * (Re)scan for station docking tiles after loading a savegame. - */ -void AfterLoadScanDockingTiles() -{ - /* Scan for docking tiles */ - for (Station *st : Station::Iterate()) { - if (st->ship_station.tile != INVALID_TILE) UpdateStationDockingTiles(st); - } -} - static const SaveLoad _roadstop_desc[] = { SLE_VAR(RoadStop, xy, SLE_UINT32), SLE_CONDNULL(1, SL_MIN_VERSION, SLV_45), From 40d68273aabdd56d3ed841812551453adc36f96f Mon Sep 17 00:00:00 2001 From: glx22 Date: Thu, 7 May 2020 01:14:22 +0200 Subject: [PATCH 13/40] Add: docking tiles cache check (#8120) --- src/openttd.cpp | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/openttd.cpp b/src/openttd.cpp index ffd30cf7b8..9bd3bf7d07 100644 --- a/src/openttd.cpp +++ b/src/openttd.cpp @@ -1317,6 +1317,23 @@ static void CheckCaches() st->goods[c].cargo.InvalidateCache(); assert(memcmp(&st->goods[c].cargo, buff, sizeof(StationCargoList)) == 0); } + + /* Check docking tiles */ + TileArea ta; + std::map docking_tiles; + TILE_AREA_LOOP(tile, st->docking_station) { + ta.Add(tile); + docking_tiles[tile] = IsDockingTile(tile); + } + UpdateStationDockingTiles(st); + if (ta.tile != st->docking_station.tile || ta.w != st->docking_station.w || ta.h != st->docking_station.h) { + DEBUG(desync, 2, "station docking mismatch: station %i, company %i", st->index, (int)st->owner); + } + TILE_AREA_LOOP(tile, ta) { + if (docking_tiles[tile] != IsDockingTile(tile)) { + DEBUG(desync, 2, "docking tile mismatch: tile %i", (int)tile); + } + } } } From cf27deb675d891eda1ff54a8c8bf78fee4c264c4 Mon Sep 17 00:00:00 2001 From: glx22 Date: Thu, 7 May 2020 02:00:53 +0200 Subject: [PATCH 14/40] Fix #8117: Memory leak in admin port (#8122) --- src/network/core/tcp_admin.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/network/core/tcp_admin.cpp b/src/network/core/tcp_admin.cpp index fdeb3d829b..98227e0199 100644 --- a/src/network/core/tcp_admin.cpp +++ b/src/network/core/tcp_admin.cpp @@ -115,6 +115,7 @@ NetworkRecvStatus NetworkAdminSocketHandler::ReceivePackets() Packet *p; while ((p = this->ReceivePacket()) != nullptr) { NetworkRecvStatus res = this->HandlePacket(p); + delete p; if (res != NETWORK_RECV_STATUS_OKAY) return res; } From 94581d352ad8dd373c9475692b7ab46fe8dce2dc Mon Sep 17 00:00:00 2001 From: SamuXarick <43006711+SamuXarick@users.noreply.github.com> Date: Sat, 9 May 2020 21:27:06 +0100 Subject: [PATCH 15/40] Fix #8119, f538179: Update docking tile area when placing a diagonal rail next to a dock end (#8124) --- src/rail_cmd.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/rail_cmd.cpp b/src/rail_cmd.cpp index 7de00327eb..527e02cb8c 100644 --- a/src/rail_cmd.cpp +++ b/src/rail_cmd.cpp @@ -568,7 +568,6 @@ CommandCost CmdBuildSingleRail(TileIndex tile, DoCommandFlag flags, uint32 p1, u default: { /* Will there be flat water on the lower halftile? */ bool water_ground = IsTileType(tile, MP_WATER) && IsSlopeWithOneCornerRaised(tileh); - bool docking = IsPossibleDockingTile(tile) && IsDockingTile(tile); CommandCost ret = CheckRailSlope(tileh, trackbit, TRACK_BIT_NONE, tile); if (ret.Failed()) return ret; @@ -587,7 +586,7 @@ CommandCost CmdBuildSingleRail(TileIndex tile, DoCommandFlag flags, uint32 p1, u MakeRailNormal(tile, _current_company, trackbit, railtype); if (water_ground) { SetRailGroundType(tile, RAIL_GROUND_WATER); - SetDockingTile(tile, docking); + if (IsPossibleDockingTile(tile)) CheckForDockingTile(tile); } Company::Get(_current_company)->infrastructure.rail[railtype]++; DirtyCompanyInfrastructureWindows(_current_company); From 3132d298052da1592d8e0a41e25490fb0da0559c Mon Sep 17 00:00:00 2001 From: Niels Martin Hansen Date: Fri, 8 May 2020 21:35:52 +0200 Subject: [PATCH 16/40] Fix: Two issues in MIDI file writer Variable-length values would write threshold values with a byte too many. System Exclusive messages would cause write to fail since the end byte was treated as part of next message. --- src/music/midifile.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/music/midifile.cpp b/src/music/midifile.cpp index 197be14a14..67cc7b192c 100644 --- a/src/music/midifile.cpp +++ b/src/music/midifile.cpp @@ -886,21 +886,21 @@ void MidiFile::MoveFrom(MidiFile &other) static void WriteVariableLen(FILE *f, uint32 value) { - if (value < 0x7F) { + if (value <= 0x7F) { byte tb = value; fwrite(&tb, 1, 1, f); - } else if (value < 0x3FFF) { + } else if (value <= 0x3FFF) { byte tb[2]; tb[1] = value & 0x7F; value >>= 7; tb[0] = (value & 0x7F) | 0x80; value >>= 7; fwrite(tb, 1, sizeof(tb), f); - } else if (value < 0x1FFFFF) { + } else if (value <= 0x1FFFFF) { byte tb[3]; tb[2] = value & 0x7F; value >>= 7; tb[1] = (value & 0x7F) | 0x80; value >>= 7; tb[0] = (value & 0x7F) | 0x80; value >>= 7; fwrite(tb, 1, sizeof(tb), f); - } else if (value < 0x0FFFFFFF) { + } else if (value <= 0x0FFFFFFF) { byte tb[4]; tb[3] = value & 0x7F; value >>= 7; tb[2] = (value & 0x7F) | 0x80; value >>= 7; @@ -1013,7 +1013,7 @@ bool MidiFile::WriteSMF(const char *filename) ptrdiff_t sysexlen = sysexend - dp; WriteVariableLen(f, sysexlen); fwrite(dp, 1, sysexend - dp, f); - dp = sysexend; + dp = sysexend + 1; continue; } From 21aa339901143c25dae6075bbc27b1925c372922 Mon Sep 17 00:00:00 2001 From: Charles Pigott Date: Sat, 9 May 2020 13:11:38 +0100 Subject: [PATCH 17/40] Add: [AzurePipelines] Ubuntu Focal (20.04) 64bit build for releases --- azure-pipelines/templates/release.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/azure-pipelines/templates/release.yml b/azure-pipelines/templates/release.yml index b0852c1c20..b9a5597269 100644 --- a/azure-pipelines/templates/release.yml +++ b/azure-pipelines/templates/release.yml @@ -119,6 +119,8 @@ jobs: Tag: 'linux-ubuntu-bionic-i386-gcc' linux-ubuntu-bionic-amd64-gcc: Tag: 'linux-ubuntu-bionic-amd64-gcc' + linux-ubuntu-focal-amd64-gcc: + Tag: 'linux-ubuntu-focal-amd64-gcc' linux-debian-stretch-i386-gcc: Tag: 'linux-debian-stretch-i386-gcc' linux-debian-stretch-amd64-gcc: From bb251f45fc29160b30083b2bcd3ce91f38b3d644 Mon Sep 17 00:00:00 2001 From: glx Date: Sat, 9 May 2020 23:41:01 +0200 Subject: [PATCH 18/40] Fix #8119: Update docking area when clearing a shore rail tile --- src/rail_cmd.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/rail_cmd.cpp b/src/rail_cmd.cpp index 527e02cb8c..162fe97799 100644 --- a/src/rail_cmd.cpp +++ b/src/rail_cmd.cpp @@ -1850,7 +1850,11 @@ static CommandCost ClearTile_Track(TileIndex tile, DoCommandFlag flags) if (ret.Failed()) return ret; /* The track was removed, and left a coast tile. Now also clear the water. */ - if (flags & DC_EXEC) DoClearSquare(tile); + if (flags & DC_EXEC) { + bool remove = IsDockingTile(tile); + DoClearSquare(tile); + if (remove) RemoveDockingTile(tile); + } cost.AddCost(_price[PR_CLEAR_WATER]); } From 1072c74bc482a2504ed3cc309d5adfd1fff756c7 Mon Sep 17 00:00:00 2001 From: glx Date: Sun, 10 May 2020 16:04:04 +0200 Subject: [PATCH 19/40] Fix: Stop any gamelog action when recovering from SlError() --- src/gamelog.cpp | 5 +++++ src/gamelog.h | 1 + src/saveload/saveload.cpp | 4 ++++ 3 files changed, 10 insertions(+) diff --git a/src/gamelog.cpp b/src/gamelog.cpp index b325dc7fd3..156dfe6287 100644 --- a/src/gamelog.cpp +++ b/src/gamelog.cpp @@ -87,6 +87,11 @@ void GamelogStopAction() if (print) GamelogPrintDebug(5); } +void GamelogStopAnyAction() +{ + if (_gamelog_action_type != GLAT_NONE) GamelogStopAction(); +} + /** * Frees the memory allocated by a gamelog */ diff --git a/src/gamelog.h b/src/gamelog.h index 0f21fe0f1b..e7951c50c7 100644 --- a/src/gamelog.h +++ b/src/gamelog.h @@ -27,6 +27,7 @@ enum GamelogActionType { void GamelogStartAction(GamelogActionType at); void GamelogStopAction(); +void GamelogStopAnyAction(); void GamelogFree(struct LoggedAction *gamelog_action, uint gamelog_actions); void GamelogReset(); diff --git a/src/saveload/saveload.cpp b/src/saveload/saveload.cpp index aeaa7a5edd..f9eebed46a 100644 --- a/src/saveload/saveload.cpp +++ b/src/saveload/saveload.cpp @@ -341,6 +341,10 @@ void NORETURN SlError(StringID string, const char *extra_msg) * when we access them during cleaning the pool dereferences of * those indices will be made with segmentation faults as result. */ if (_sl.action == SLA_LOAD || _sl.action == SLA_PTRS) SlNullPointers(); + + /* Logging could be active. */ + GamelogStopAnyAction(); + throw std::exception(); } From a089c876abefc63a4fa16b8851358363b5f51acc Mon Sep 17 00:00:00 2001 From: glx Date: Sun, 10 May 2020 19:40:51 +0200 Subject: [PATCH 20/40] Fix #8132: Corrupted savegame crashing OpenTTD on load --- src/saveload/afterload.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/saveload/afterload.cpp b/src/saveload/afterload.cpp index 9d3e0e16d9..8b9d56358d 100644 --- a/src/saveload/afterload.cpp +++ b/src/saveload/afterload.cpp @@ -898,6 +898,9 @@ bool AfterLoadGame() case MP_STATION: { BaseStation *bst = BaseStation::GetByTile(t); + /* Sanity check */ + if (bst->owner != GetTileOwner(t)) SlErrorCorrupt("Wrong owner for station tile"); + /* Set up station spread */ bst->rect.BeforeAddTile(t, StationRect::ADD_FORCE); From e39c5829a256339ae5868c872bcd55b38cb541b6 Mon Sep 17 00:00:00 2001 From: glx22 Date: Tue, 12 May 2020 01:19:52 +0200 Subject: [PATCH 21/40] Add: stations_near and industries_near cache check (#8139) --- src/openttd.cpp | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/src/openttd.cpp b/src/openttd.cpp index 9bd3bf7d07..7d9bd09a61 100644 --- a/src/openttd.cpp +++ b/src/openttd.cpp @@ -64,6 +64,7 @@ #include "viewport_func.h" #include "viewport_sprite_sorter.h" #include "framerate_type.h" +#include "industry.h" #include "linkgraph/linkgraphschedule.h" @@ -1310,6 +1311,13 @@ static void CheckCaches() assert(memcmp(&v->cargo, buff, sizeof(VehicleCargoList)) == 0); } + /* Backup stations_near */ + std::vector old_town_stations_near; + for (Town *t : Town::Iterate()) old_town_stations_near.push_back(t->stations_near); + + std::vector old_industry_stations_near; + for (Industry *ind : Industry::Iterate()) old_industry_stations_near.push_back(ind->stations_near); + for (Station *st : Station::Iterate()) { for (CargoID c = 0; c < NUM_CARGO; c++) { byte buff[sizeof(StationCargoList)]; @@ -1334,6 +1342,29 @@ static void CheckCaches() DEBUG(desync, 2, "docking tile mismatch: tile %i", (int)tile); } } + + /* Check industries_near */ + IndustryList industries_near = st->industries_near; + st->RecomputeCatchment(); + if (st->industries_near != industries_near) { + DEBUG(desync, 2, "station industries near mismatch: station %i", st->index); + } + } + + /* Check stations_near */ + i = 0; + for (Town *t : Town::Iterate()) { + if (t->stations_near != old_town_stations_near[i]) { + DEBUG(desync, 2, "town stations near mismatch: town %i", t->index); + } + i++; + } + i = 0; + for (Industry *ind : Industry::Iterate()) { + if (ind->stations_near != old_industry_stations_near[i]) { + DEBUG(desync, 2, "industry stations near mismatch: industry %i", ind->index); + } + i++; } } From cb9c4bf4a073c2db7e9812ce302b24eecf2e184a Mon Sep 17 00:00:00 2001 From: dP Date: Tue, 12 May 2020 01:36:28 +0300 Subject: [PATCH 22/40] Codechange: Refactor FindStationsAroundTiles to avoid code duplication --- src/industry_cmd.cpp | 18 +++---------- src/station.cpp | 9 +++---- src/station_base.h | 36 +++++++++++++++++++++++++ src/station_cmd.cpp | 63 ++++++++------------------------------------ src/station_func.h | 2 -- src/station_gui.cpp | 2 +- src/town_cmd.cpp | 6 ++++- 7 files changed, 61 insertions(+), 75 deletions(-) diff --git a/src/industry_cmd.cpp b/src/industry_cmd.cpp index dfc43500f9..39fc0d6f18 100644 --- a/src/industry_cmd.cpp +++ b/src/industry_cmd.cpp @@ -1697,20 +1697,10 @@ static void PopulateStationsNearby(Industry *ind) return; } - /* Get our list of nearby stations. */ - FindStationsAroundTiles(ind->location, &ind->stations_near, false); - - /* Test if industry can accept cargo */ - uint cargo_index; - for (cargo_index = 0; cargo_index < lengthof(ind->accepts_cargo); cargo_index++) { - if (ind->accepts_cargo[cargo_index] != CT_INVALID) break; - } - if (cargo_index >= lengthof(ind->accepts_cargo)) return; - - /* Cargo is accepted, add industry to nearby stations nearby industry list. */ - for (Station *st : ind->stations_near) { - st->industries_near.insert(ind); - } + ForAllStationsAroundTiles(ind->location, [ind](Station *st) { + ind->stations_near.insert(st); + st->AddIndustryToDeliver(ind); + }); } /** diff --git a/src/station.cpp b/src/station.cpp index 61c53bc562..ec332e0bb2 100644 --- a/src/station.cpp +++ b/src/station.cpp @@ -359,12 +359,11 @@ Rect Station::GetCatchmentRect() const /** * Add nearby industry to station's industries_near list if it accepts cargo. * @param ind Industry - * @param st Station */ -static void AddIndustryToDeliver(Industry *ind, Station *st) +void Station::AddIndustryToDeliver(Industry *ind) { /* Don't check further if this industry is already in the list */ - if (st->industries_near.find(ind) != st->industries_near.end()) return; + if (this->industries_near.find(ind) != this->industries_near.end()) return; /* Include only industries that can accept cargo */ uint cargo_index; @@ -373,7 +372,7 @@ static void AddIndustryToDeliver(Industry *ind, Station *st) } if (cargo_index >= lengthof(ind->accepts_cargo)) return; - st->industries_near.insert(ind); + this->industries_near.insert(ind); } /** @@ -464,7 +463,7 @@ void Station::RecomputeCatchment() i->stations_near.insert(this); /* Add if we can deliver to this industry as well */ - AddIndustryToDeliver(i, this); + this->AddIndustryToDeliver(i); } } } diff --git a/src/station_base.h b/src/station_base.h index 0c33a58edb..3be7d4437d 100644 --- a/src/station_base.h +++ b/src/station_base.h @@ -503,6 +503,7 @@ public: uint GetCatchmentRadius() const; Rect GetCatchmentRect() const; bool CatchmentCoversTown(TownID t) const; + void AddIndustryToDeliver(Industry *ind); void RemoveFromAllNearbyLists(); inline bool TileIsInCatchment(TileIndex tile) const @@ -557,4 +558,39 @@ public: void RebuildStationKdtree(); +/** + * Call a function on all stations that have any part of the requested area within their catchment. + * @param area The tile area to check + */ +template +void ForAllStationsAroundTiles(const TileArea &ta, Func func) +{ + /* Not using, or don't have a nearby stations list, so we need to scan. */ + std::set seen_stations; + + /* Scan an area around the building covering the maximum possible station + * to find the possible nearby stations. */ + uint max_c = _settings_game.station.modified_catchment ? MAX_CATCHMENT : CA_UNMODIFIED; + TileArea ta_ext = TileArea(ta).Expand(max_c); + TILE_AREA_LOOP(tile, ta_ext) { + if (IsTileType(tile, MP_STATION)) seen_stations.insert(GetStationIndex(tile)); + } + + for (StationID stationid : seen_stations) { + Station *st = Station::GetIfValid(stationid); + if (st == nullptr) continue; /* Waypoint */ + + /* Check if station is attached to an industry */ + if (!_settings_game.station.serve_neutral_industries && st->industry != nullptr) continue; + + /* Test if the tile is within the station's catchment */ + TILE_AREA_LOOP(tile, ta) { + if (st->TileIsInCatchment(tile)) { + func(st); + break; + } + } + } +} + #endif /* STATION_BASE_H */ diff --git a/src/station_cmd.cpp b/src/station_cmd.cpp index b883838841..7bf2c43dfa 100644 --- a/src/station_cmd.cpp +++ b/src/station_cmd.cpp @@ -36,6 +36,7 @@ #include "animated_tile_func.h" #include "elrail_func.h" #include "station_base.h" +#include "station_func.h" #include "station_kdtree.h" #include "roadstop_base.h" #include "newgrf_railtype.h" @@ -3965,57 +3966,6 @@ static void AddNearbyStationsByCatchment(TileIndex tile, StationList *stations, } } -/** - * Find all stations around a rectangular producer (industry, house, headquarter, ...) - * - * @param location The location/area of the producer - * @param[out] stations The list to store the stations in - * @param use_nearby Use nearby station list of industry/town associated with location.tile - */ -void FindStationsAroundTiles(const TileArea &location, StationList * const stations, bool use_nearby) -{ - if (use_nearby) { - /* Industries and towns maintain a list of nearby stations */ - if (IsTileType(location.tile, MP_INDUSTRY)) { - /* Industry nearby stations are already filtered by catchment. */ - *stations = Industry::GetByTile(location.tile)->stations_near; - return; - } else if (IsTileType(location.tile, MP_HOUSE)) { - /* Town nearby stations need to be filtered per tile. */ - assert(location.w == 1 && location.h == 1); - AddNearbyStationsByCatchment(location.tile, stations, Town::GetByTile(location.tile)->stations_near); - return; - } - } - - /* Not using, or don't have a nearby stations list, so we need to scan. */ - std::set seen_stations; - - /* Scan an area around the building covering the maximum possible station - * to find the possible nearby stations. */ - uint max_c = _settings_game.station.modified_catchment ? MAX_CATCHMENT : CA_UNMODIFIED; - TileArea ta = TileArea(location).Expand(max_c); - TILE_AREA_LOOP(tile, ta) { - if (IsTileType(tile, MP_STATION)) seen_stations.insert(GetStationIndex(tile)); - } - - for (StationID stationid : seen_stations) { - Station *st = Station::GetIfValid(stationid); - if (st == nullptr) continue; /* Waypoint */ - - /* Check if station is attached to an industry */ - if (!_settings_game.station.serve_neutral_industries && st->industry != nullptr) continue; - - /* Test if the tile is within the station's catchment */ - TILE_AREA_LOOP(tile, location) { - if (st->TileIsInCatchment(tile)) { - stations->insert(st); - break; - } - } - } -} - /** * Run a tile loop to find stations around a tile, on demand. Cache the result for further requests * @return pointer to a StationList containing all stations found @@ -4023,12 +3973,21 @@ void FindStationsAroundTiles(const TileArea &location, StationList * const stati const StationList *StationFinder::GetStations() { if (this->tile != INVALID_TILE) { - FindStationsAroundTiles(*this, &this->stations); + if (IsTileType(this->tile, MP_HOUSE)) { + /* Town nearby stations need to be filtered per tile. */ + assert(this->w == 1 && this->h == 1); + AddNearbyStationsByCatchment(this->tile, &this->stations, Town::GetByTile(this->tile)->stations_near); + } else { + ForAllStationsAroundTiles(*this, [this](Station *st) { + this->stations.insert(st); + }); + } this->tile = INVALID_TILE; } return &this->stations; } + static bool CanMoveGoodsToStation(const Station *st, CargoID type) { /* Is the station reserved exclusively for somebody else? */ diff --git a/src/station_func.h b/src/station_func.h index f9959089ee..dc89428410 100644 --- a/src/station_func.h +++ b/src/station_func.h @@ -22,8 +22,6 @@ void ModifyStationRatingAround(TileIndex tile, Owner owner, int amount, uint radius); -void FindStationsAroundTiles(const TileArea &location, StationList *stations, bool use_nearby = true); - void ShowStationViewWindow(StationID station); void UpdateAllStationVirtCoords(); void ClearAllStationCachedNames(); diff --git a/src/station_gui.cpp b/src/station_gui.cpp index 764d34748c..ef2873f228 100644 --- a/src/station_gui.cpp +++ b/src/station_gui.cpp @@ -102,7 +102,7 @@ static void FindStationsAroundSelection() Station *adjacent = nullptr; - /* Direct loop instead of FindStationsAroundTiles as we are not interested in catchment area */ + /* Direct loop instead of ForAllStationsAroundTiles as we are not interested in catchment area */ TILE_AREA_LOOP(tile, ta) { if (IsTileType(tile, MP_STATION) && GetTileOwner(tile) == _local_company) { Station *st = Station::GetByTile(tile); diff --git a/src/town_cmd.cpp b/src/town_cmd.cpp index 0a582eee7f..44c396cbaf 100644 --- a/src/town_cmd.cpp +++ b/src/town_cmd.cpp @@ -2249,7 +2249,11 @@ static void MakeTownHouse(TileIndex t, Town *town, byte counter, byte stage, Hou if (size & BUILDING_2_TILES_X) ClearMakeHouseTile(t + TileDiffXY(1, 0), town, counter, stage, ++type, random_bits); if (size & BUILDING_HAS_4_TILES) ClearMakeHouseTile(t + TileDiffXY(1, 1), town, counter, stage, ++type, random_bits); - if (!_generating_world) FindStationsAroundTiles(TileArea(t, (size & BUILDING_2_TILES_X) ? 2 : 1, (size & BUILDING_2_TILES_Y) ? 2 : 1), &town->stations_near, false); + if (!_generating_world) { + ForAllStationsAroundTiles(TileArea(t, (size & BUILDING_2_TILES_X) ? 2 : 1, (size & BUILDING_2_TILES_Y) ? 2 : 1), [town](Station *st) { + town->stations_near.insert(st); + }); + } } From 78e558717cea72000ae16102167d746e5f145ce5 Mon Sep 17 00:00:00 2001 From: dP Date: Tue, 12 May 2020 02:21:14 +0300 Subject: [PATCH 23/40] Fix #8137: New clients can't join (desync) after funding an industry --- src/industry_cmd.cpp | 4 +++- src/station_base.h | 8 +++++--- src/station_cmd.cpp | 3 ++- src/town_cmd.cpp | 3 ++- 4 files changed, 12 insertions(+), 6 deletions(-) diff --git a/src/industry_cmd.cpp b/src/industry_cmd.cpp index 39fc0d6f18..35def46098 100644 --- a/src/industry_cmd.cpp +++ b/src/industry_cmd.cpp @@ -1697,9 +1697,11 @@ static void PopulateStationsNearby(Industry *ind) return; } - ForAllStationsAroundTiles(ind->location, [ind](Station *st) { + ForAllStationsAroundTiles(ind->location, [ind](Station *st, TileIndex tile) { + if (!IsTileType(tile, MP_INDUSTRY) || GetIndustryIndex(tile) != ind->index) return false; ind->stations_near.insert(st); st->AddIndustryToDeliver(ind); + return true; }); } diff --git a/src/station_base.h b/src/station_base.h index 3be7d4437d..75b1c1112f 100644 --- a/src/station_base.h +++ b/src/station_base.h @@ -560,7 +560,10 @@ void RebuildStationKdtree(); /** * Call a function on all stations that have any part of the requested area within their catchment. - * @param area The tile area to check + * @tparam Func The type of funcion to call + * @param area The TileArea to check + * @param func The function to call, must take two parameters: Station* and TileIndex and return true + * if coverage of that tile is acceptable for a given station or false if search should continue */ template void ForAllStationsAroundTiles(const TileArea &ta, Func func) @@ -586,8 +589,7 @@ void ForAllStationsAroundTiles(const TileArea &ta, Func func) /* Test if the tile is within the station's catchment */ TILE_AREA_LOOP(tile, ta) { if (st->TileIsInCatchment(tile)) { - func(st); - break; + if (func(st, tile)) break; } } } diff --git a/src/station_cmd.cpp b/src/station_cmd.cpp index 7bf2c43dfa..6cfd94bb2f 100644 --- a/src/station_cmd.cpp +++ b/src/station_cmd.cpp @@ -3978,8 +3978,9 @@ const StationList *StationFinder::GetStations() assert(this->w == 1 && this->h == 1); AddNearbyStationsByCatchment(this->tile, &this->stations, Town::GetByTile(this->tile)->stations_near); } else { - ForAllStationsAroundTiles(*this, [this](Station *st) { + ForAllStationsAroundTiles(*this, [this](Station *st, TileIndex tile) { this->stations.insert(st); + return true; }); } this->tile = INVALID_TILE; diff --git a/src/town_cmd.cpp b/src/town_cmd.cpp index 44c396cbaf..507cccd565 100644 --- a/src/town_cmd.cpp +++ b/src/town_cmd.cpp @@ -2250,8 +2250,9 @@ static void MakeTownHouse(TileIndex t, Town *town, byte counter, byte stage, Hou if (size & BUILDING_HAS_4_TILES) ClearMakeHouseTile(t + TileDiffXY(1, 1), town, counter, stage, ++type, random_bits); if (!_generating_world) { - ForAllStationsAroundTiles(TileArea(t, (size & BUILDING_2_TILES_X) ? 2 : 1, (size & BUILDING_2_TILES_Y) ? 2 : 1), [town](Station *st) { + ForAllStationsAroundTiles(TileArea(t, (size & BUILDING_2_TILES_X) ? 2 : 1, (size & BUILDING_2_TILES_Y) ? 2 : 1), [town](Station *st, TileIndex tile) { town->stations_near.insert(st); + return true; }); } } From 74b591c2e9765b604a88924a53e6a88c6e06b1c3 Mon Sep 17 00:00:00 2001 From: glx22 Date: Tue, 12 May 2020 15:22:58 +0200 Subject: [PATCH 24/40] Fix #8142, 5aa6351: Buoy owner and tile owner can be different (#8143) --- src/saveload/afterload.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/saveload/afterload.cpp b/src/saveload/afterload.cpp index 8b9d56358d..8919499756 100644 --- a/src/saveload/afterload.cpp +++ b/src/saveload/afterload.cpp @@ -899,7 +899,7 @@ bool AfterLoadGame() BaseStation *bst = BaseStation::GetByTile(t); /* Sanity check */ - if (bst->owner != GetTileOwner(t)) SlErrorCorrupt("Wrong owner for station tile"); + if (!IsBuoy(t) && bst->owner != GetTileOwner(t)) SlErrorCorrupt("Wrong owner for station tile"); /* Set up station spread */ bst->rect.BeforeAddTile(t, StationRect::ADD_FORCE); From 9617fa727ddfe03f10937b5f25f2369048382cca Mon Sep 17 00:00:00 2001 From: Matthijs Kooijman Date: Tue, 12 May 2020 17:34:16 +0200 Subject: [PATCH 25/40] Fix: sdl2-config would always be detected as present The presence of sdl2-config is used go determine whether to look for sdl2 first, or just sdl1. However, when sdl2-config is *not* present, `which` returns an empty string. Due to lack of quoting, this produces `[ -x ]`, rather than `[ -x "" ]` and it turns out the former actually has a succesful exit status for some reason. This was not a problem when just running configure, because it would then just fail to detect sdl2 and fall back to sdl1. However, when passing `--with-sdl` (without specifying a version), this would only attempt to detect sdl2, even when sdl2-config was not present, but sdl1 is. Adding quotes makes the check work as intended. --- config.lib | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config.lib b/config.lib index 33e1b09583..94b240d3c9 100644 --- a/config.lib +++ b/config.lib @@ -2449,7 +2449,7 @@ detect_sdl() { detect_pkg_config "2" "sdl2" "sdl2_config" "2.0" else sdl2_config="" - if [ -x `which sdl2-config` ]; then + if [ -x "`which sdl2-config`" ]; then detect_pkg_config "$with_sdl" "sdl2" "sdl2_config" "2.0" fi if [ -z "$sdl2_config" ]; then From fd8ca95947e4b3806711ed7db4afa55ec67b7d34 Mon Sep 17 00:00:00 2001 From: dP Date: Fri, 15 May 2020 23:18:03 +0300 Subject: [PATCH 26/40] Fix: Desync after house replacement --- src/town_cmd.cpp | 29 +++++++++++++++++------------ 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/src/town_cmd.cpp b/src/town_cmd.cpp index 507cccd565..1d550fb028 100644 --- a/src/town_cmd.cpp +++ b/src/town_cmd.cpp @@ -454,13 +454,22 @@ uint32 GetWorldPopulation() /** * Remove stations from nearby station list if a town is no longer in the catchment area of each. + * To improve performance only checks stations that cover the provided house area (doesn't need to contain an actual house). * @param t Town to work on + * @param tile Location of house area (north part) + * @param flags BuildingFlags containing the size of house area */ -static void RemoveNearbyStations(Town *t) +static void RemoveNearbyStations(Town *t, TileIndex tile, BuildingFlags flags) { for (StationList::iterator it = t->stations_near.begin(); it != t->stations_near.end(); /* incremented inside loop */) { const Station *st = *it; - if (!st->CatchmentCoversTown(t->index)) { + + bool covers_area = st->TileIsInCatchment(tile); + if (flags & BUILDING_2_TILES_Y) covers_area |= st->TileIsInCatchment(tile + TileDiffXY(0, 1)); + if (flags & BUILDING_2_TILES_X) covers_area |= st->TileIsInCatchment(tile + TileDiffXY(1, 0)); + if (flags & BUILDING_HAS_4_TILES) covers_area |= st->TileIsInCatchment(tile + TileDiffXY(1, 1)); + + if (covers_area && !st->CatchmentCoversTown(t->index)) { it = t->stations_near.erase(it); } else { ++it; @@ -621,11 +630,7 @@ static void TileLoop_Town(TileIndex tile) ClearTownHouse(t, tile); /* Rebuild with another house? */ - if (GB(r, 24, 8) < 12 || !BuildTownHouse(t, tile)) - { - /* House wasn't replaced, so remove it */ - if (!_generating_world) RemoveNearbyStations(t); - } + if (GB(r, 24, 8) >= 12) BuildTownHouse(t, tile); } cur_company.Restore(); @@ -654,7 +659,6 @@ static CommandCost ClearTile_Town(TileIndex tile, DoCommandFlag flags) ChangeTownRating(t, -rating, RATING_HOUSE_MINIMUM, flags); if (flags & DC_EXEC) { ClearTownHouse(t, tile); - RemoveNearbyStations(t); } return cost; @@ -2666,11 +2670,12 @@ void ClearTownHouse(Town *t, TileIndex tile) } /* Do the actual clearing of tiles */ - uint eflags = hs->building_flags; DoClearTownHouseHelper(tile, t, house); - if (eflags & BUILDING_2_TILES_Y) DoClearTownHouseHelper(tile + TileDiffXY(0, 1), t, ++house); - if (eflags & BUILDING_2_TILES_X) DoClearTownHouseHelper(tile + TileDiffXY(1, 0), t, ++house); - if (eflags & BUILDING_HAS_4_TILES) DoClearTownHouseHelper(tile + TileDiffXY(1, 1), t, ++house); + if (hs->building_flags & BUILDING_2_TILES_Y) DoClearTownHouseHelper(tile + TileDiffXY(0, 1), t, ++house); + if (hs->building_flags & BUILDING_2_TILES_X) DoClearTownHouseHelper(tile + TileDiffXY(1, 0), t, ++house); + if (hs->building_flags & BUILDING_HAS_4_TILES) DoClearTownHouseHelper(tile + TileDiffXY(1, 1), t, ++house); + + RemoveNearbyStations(t, tile, hs->building_flags); UpdateTownRadius(t); From aca5d97a68cbb46a37e56bca5d8f910261c04fa7 Mon Sep 17 00:00:00 2001 From: glx22 Date: Sun, 17 May 2020 19:11:53 +0200 Subject: [PATCH 27/40] Fix: properly support utf-8 in baseset translation vbscript (#8154) --- media/baseset/translations.vbs | 39 ++++++++++++++++++++++++++-------- 1 file changed, 30 insertions(+), 9 deletions(-) diff --git a/media/baseset/translations.vbs b/media/baseset/translations.vbs index fffb577482..8632ef0697 100644 --- a/media/baseset/translations.vbs +++ b/media/baseset/translations.vbs @@ -63,10 +63,13 @@ Sub Lookup(ini_key, str_id, outfile) For Each file In folder.Files If UCase(FSO.GetExtensionName(file.Name)) = "TXT" Then Dim f - Set f = FSO.OpenTextFile(file.Path) + Set f = CreateObject("ADODB.Stream") + f.Charset = "utf-8" + f.Open + f.LoadFromFile(file.Path) - Do Until f.atEndOfStream - line = f.ReadLine() + Do Until f.EOS + line = f.ReadText(-2) If InStr(1, line, "##isocode ") = 1 Then p = Split(line) @@ -80,8 +83,9 @@ Sub Lookup(ini_key, str_id, outfile) End If i = i + 1 End If - Loop + + f.Close End If Next @@ -89,7 +93,7 @@ Sub Lookup(ini_key, str_id, outfile) ISort output For Each line In output - outfile.Write line & vbCrLf + outfile.WriteText line, 1 Next End Sub @@ -100,7 +104,9 @@ Dim infile Set infile = FSO.OpenTextFile(inputfile) Dim outfile -Set outfile = FSO.CreateTextFile(outputfile, True) +Set outfile = CreateObject("ADODB.Stream") +outfile.Charset = "utf-8" +outfile.Open Do Until infile.atEndOfStream @@ -109,15 +115,30 @@ Do Until infile.atEndOfStream If InStr(1, line, "ORIG_EXTRA.GRF ") = 1 Then p = Split(line, "=") If Trim(p(1)) = "" Then - outfile.Write("ORIG_EXTRA.GRF = " & GetExtraGrfHash() & vbCrLf) + outfile.WriteText "ORIG_EXTRA.GRF = " & GetExtraGrfHash(), 1 Else - outfile.Write(line & vbCrLf) + outfile.WriteText line, 1 End If ElseIf InStr(1, line, "!! ") = 1 Then p = Split(line) Lookup p(1), p(2), outfile Else - outfile.Write(line & vbCrLf) + outfile.WriteText line, 1 End If Loop + +' UTF-8 Text ADO Stream includes BOM, so we need to remove it +Dim outfile_noBOM +Set outfile_noBOM = CreateObject("ADODB.Stream") +outfile_noBOM.Type = 1 +outfile_noBOM.Open + +' Copy Text stream to Binary stream, skiping the BOM +outfile.Position = 3 +outfile.CopyTo outfile_noBOM +outfile.Close + +' Write the Binary stream +outfile_noBOM.SaveToFile outputfile, 2 +outfile_noBOM.Close From 3d8e68f9665d55cedc39a51943ecb9f436fb11a9 Mon Sep 17 00:00:00 2001 From: Yexo Date: Tue, 19 May 2020 20:01:09 +0200 Subject: [PATCH 28/40] Fix #8155: Roadtype speed limit in toolbar dropdown in scenario editor was doubled --- src/road_gui.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/road_gui.cpp b/src/road_gui.cpp index 45ab0f6f8b..4c6e9df869 100644 --- a/src/road_gui.cpp +++ b/src/road_gui.cpp @@ -1359,7 +1359,7 @@ DropDownList GetScenRoadTypeDropDownList(RoadTramTypes rtts) DropDownListIconItem *item = new DropDownListIconItem(rti->gui_sprites.build_x_road, PAL_NONE, str, rt, !HasBit(avail_roadtypes, rt)); item->SetDimension(d); item->SetParam(0, rti->strings.menu_text); - item->SetParam(1, rti->max_speed); + item->SetParam(1, rti->max_speed / 2); list.emplace_back(item); } From 8203adecb521e0f44406bac0d0571e9d62c1c3ef Mon Sep 17 00:00:00 2001 From: glx22 Date: Tue, 19 May 2020 17:42:29 +0200 Subject: [PATCH 29/40] Fix #8161, e31def197: Lang files may have LF EOL (#8163) --- media/baseset/translations.vbs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/media/baseset/translations.vbs b/media/baseset/translations.vbs index 8632ef0697..c167886930 100644 --- a/media/baseset/translations.vbs +++ b/media/baseset/translations.vbs @@ -65,11 +65,12 @@ Sub Lookup(ini_key, str_id, outfile) Dim f Set f = CreateObject("ADODB.Stream") f.Charset = "utf-8" + f.LineSeparator = 10 ' Assume lines end with \n even for \r\n files f.Open f.LoadFromFile(file.Path) Do Until f.EOS - line = f.ReadText(-2) + line = Replace(f.ReadText(-2), Chr(13), "") ' Read a line and remove any \r If InStr(1, line, "##isocode ") = 1 Then p = Split(line) From 31a9f549fb07afbbe5bb20a390ab0b26b552176a Mon Sep 17 00:00:00 2001 From: dP Date: Mon, 18 May 2020 18:50:12 +0300 Subject: [PATCH 30/40] Fix: Trees disappear completely after a few years when they're not allowed to spread --- src/tree_cmd.cpp | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/src/tree_cmd.cpp b/src/tree_cmd.cpp index 012904fdce..cdc9869207 100644 --- a/src/tree_cmd.cpp +++ b/src/tree_cmd.cpp @@ -632,6 +632,13 @@ static void TileLoopTreesAlps(TileIndex tile) MarkTileDirtyByTile(tile); } +static bool CanPlantExtraTrees(TileIndex tile) +{ + return ((_settings_game.game_creation.landscape == LT_TROPIC && GetTropicZone(tile) == TROPICZONE_RAINFOREST) ? + _settings_game.construction.extra_tree_placement != ETP_NONE : + _settings_game.construction.extra_tree_placement == ETP_ALL); +} + static void TileLoop_Trees(TileIndex tile) { if (GetTreeGround(tile) == TREE_GROUND_SHORE) { @@ -682,12 +689,7 @@ static void TileLoop_Trees(TileIndex tile) FALLTHROUGH; case 2: { // add a neighbouring tree - /* Don't plant extra trees if that's not allowed. */ - if ((_settings_game.game_creation.landscape == LT_TROPIC && GetTropicZone(tile) == TROPICZONE_RAINFOREST) ? - _settings_game.construction.extra_tree_placement == ETP_NONE : - _settings_game.construction.extra_tree_placement != ETP_ALL) { - break; - } + if (!CanPlantExtraTrees(tile)) break; TreeType treetype = GetTreeType(tile); @@ -715,6 +717,9 @@ static void TileLoop_Trees(TileIndex tile) /* more than one tree, delete it */ AddTreeCount(tile, -1); SetTreeGrowth(tile, 3); + } else if (!CanPlantExtraTrees(tile)) { + /* if trees can't spread just plant a new one to prevent deforestation */ + SetTreeGrowth(tile, 0); } else { /* just one tree, change type into MP_CLEAR */ switch (GetTreeGround(tile)) { From 86113008abee74167f06325ba50e796390286b70 Mon Sep 17 00:00:00 2001 From: glx22 Date: Tue, 19 May 2020 22:21:11 +0200 Subject: [PATCH 31/40] Fix e3511ec: [AzurePipeline] Don't loop infinitely on errors (#8165) --- azure-pipelines/manifest.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/azure-pipelines/manifest.sh b/azure-pipelines/manifest.sh index 730a09283f..2703b37e56 100755 --- a/azure-pipelines/manifest.sh +++ b/azure-pipelines/manifest.sh @@ -65,6 +65,7 @@ output_files() { if [ ! -e ${FOLDER}/${filename}.md5sum ] || [ ! -e ${FOLDER}/${filename}.sha1sum ] || [ ! -e ${FOLDER}/${filename}.sha256sum ]; then echo "ERROR: missing checksum file for ${filename}" 1>&2 error="y" + shift continue fi From 583a2221ca21759e48c82b9cb3b278d5deecb55e Mon Sep 17 00:00:00 2001 From: glx Date: Tue, 26 May 2020 21:38:07 +0200 Subject: [PATCH 32/40] Fix: VS 2019 16.6 doesn't like newlines in --- projects/generate | 9 ++++++--- projects/generate.vbs | 11 ++++++++--- projects/settings_vs140.vcxproj | 4 +--- projects/settings_vs140.vcxproj.in | 4 +--- projects/settings_vs141.vcxproj | 4 +--- projects/settings_vs141.vcxproj.in | 4 +--- projects/settings_vs142.vcxproj | 4 +--- projects/settings_vs142.vcxproj.in | 4 +--- 8 files changed, 20 insertions(+), 24 deletions(-) diff --git a/projects/generate b/projects/generate index 2078809c88..d1316a2327 100755 --- a/projects/generate +++ b/projects/generate @@ -263,19 +263,22 @@ generate() { echo "Generating $2..." # Everything above the !!FILTERS!! marker cat "$ROOT_DIR/projects/$2".in | ${AWK} -v BINMODE=1 -v FILTERS="$3" -v FILES="$1" ' - { CR = (match($0, "\\r$") > 0 ? "\r" : "") } /^$/ { next } /!!FILTERS!!/ { split(FILTERS, filters, "\n"); for (i = 1; filters[i] != ""; i++) { - print filters[i] CR; + line = $0 + gsub(/!!FILTERS!!/, filters[i], line); + print line; } next; } /!!FILES!!/ { split(FILES, files, "\n"); for (i = 1; files[i] != ""; i++) { - print files[i] CR; + line = $0 + gsub(/!!FILES!!/, files[i], line); + print line; } next; } diff --git a/projects/generate.vbs b/projects/generate.vbs index 169f8b6890..daeb32b03e 100644 --- a/projects/generate.vbs +++ b/projects/generate.vbs @@ -321,21 +321,26 @@ Sub load_baseset_data(dir, langdir, ByRef vcxproj, ByRef files, ByRef langs) End Sub Sub generate(data, dest, data2) - Dim srcfile, destfile, line + Dim srcfile, destfile, line, regexp WScript.Echo "Generating " & FSO.GetFileName(dest) & "..." Set srcfile = FSO.OpenTextFile(dest & ".in", 1, 0, 0) Set destfile = FSO.CreateTextFile(dest, -1, 0) If Not IsNull(data2) Then ' Everything above the !!FILTERS!! marker + Set regexp = New RegExp + regexp.Pattern = "!!FILTERS!!" + regexp.Global = True + line = srcfile.ReadLine() - While line <> "!!FILTERS!!" + While Not regexp.Test(line) If len(line) > 0 Then destfile.WriteLine(line) line = srcfile.ReadLine() Wend ' Our generated content - destfile.WriteLine(data2) + line = regexp.Replace(line, data2) + destfile.WriteLine(line) End If ' Everything above the !!FILES!! marker diff --git a/projects/settings_vs140.vcxproj b/projects/settings_vs140.vcxproj index 9952df47bb..b5f5151821 100644 --- a/projects/settings_vs140.vcxproj +++ b/projects/settings_vs140.vcxproj @@ -23,9 +23,7 @@ - -..\objs\settings\settings_gen.exe -o ..\objs\settings\table\settings.h -b ..\src\table\settings.h.preamble -a ..\src\table\settings.h.postamble ..\src\table\company_settings.ini ..\src\table\currency_settings.ini ..\src\table\gameopt_settings.ini ..\src\table\misc_settings.ini ..\src\table\settings.ini ..\src\table\win32_settings.ini ..\src\table\window_settings.ini - + ..\objs\settings\settings_gen.exe -o ..\objs\settings\table\settings.h -b ..\src\table\settings.h.preamble -a ..\src\table\settings.h.postamble ..\src\table\company_settings.ini ..\src\table\currency_settings.ini ..\src\table\gameopt_settings.ini ..\src\table\misc_settings.ini ..\src\table\settings.ini ..\src\table\win32_settings.ini ..\src\table\window_settings.ini ..\objs\settings\table\ diff --git a/projects/settings_vs140.vcxproj.in b/projects/settings_vs140.vcxproj.in index 9bb0cc7f0b..dcbbfbd352 100644 --- a/projects/settings_vs140.vcxproj.in +++ b/projects/settings_vs140.vcxproj.in @@ -23,9 +23,7 @@ - -!!FILTERS!! - + !!FILTERS!! ..\objs\settings\table\ diff --git a/projects/settings_vs141.vcxproj b/projects/settings_vs141.vcxproj index 9c20f1407e..b3f6871945 100644 --- a/projects/settings_vs141.vcxproj +++ b/projects/settings_vs141.vcxproj @@ -23,9 +23,7 @@ - -..\objs\settings\settings_gen.exe -o ..\objs\settings\table\settings.h -b ..\src\table\settings.h.preamble -a ..\src\table\settings.h.postamble ..\src\table\company_settings.ini ..\src\table\currency_settings.ini ..\src\table\gameopt_settings.ini ..\src\table\misc_settings.ini ..\src\table\settings.ini ..\src\table\win32_settings.ini ..\src\table\window_settings.ini - + ..\objs\settings\settings_gen.exe -o ..\objs\settings\table\settings.h -b ..\src\table\settings.h.preamble -a ..\src\table\settings.h.postamble ..\src\table\company_settings.ini ..\src\table\currency_settings.ini ..\src\table\gameopt_settings.ini ..\src\table\misc_settings.ini ..\src\table\settings.ini ..\src\table\win32_settings.ini ..\src\table\window_settings.ini ..\objs\settings\table\ diff --git a/projects/settings_vs141.vcxproj.in b/projects/settings_vs141.vcxproj.in index 23e044cc17..1701c99f5f 100644 --- a/projects/settings_vs141.vcxproj.in +++ b/projects/settings_vs141.vcxproj.in @@ -23,9 +23,7 @@ - -!!FILTERS!! - + !!FILTERS!! ..\objs\settings\table\ diff --git a/projects/settings_vs142.vcxproj b/projects/settings_vs142.vcxproj index a2dda134b5..e0ed933091 100644 --- a/projects/settings_vs142.vcxproj +++ b/projects/settings_vs142.vcxproj @@ -23,9 +23,7 @@ - -..\objs\settings\settings_gen.exe -o ..\objs\settings\table\settings.h -b ..\src\table\settings.h.preamble -a ..\src\table\settings.h.postamble ..\src\table\company_settings.ini ..\src\table\currency_settings.ini ..\src\table\gameopt_settings.ini ..\src\table\misc_settings.ini ..\src\table\settings.ini ..\src\table\win32_settings.ini ..\src\table\window_settings.ini - + ..\objs\settings\settings_gen.exe -o ..\objs\settings\table\settings.h -b ..\src\table\settings.h.preamble -a ..\src\table\settings.h.postamble ..\src\table\company_settings.ini ..\src\table\currency_settings.ini ..\src\table\gameopt_settings.ini ..\src\table\misc_settings.ini ..\src\table\settings.ini ..\src\table\win32_settings.ini ..\src\table\window_settings.ini ..\objs\settings\table\ diff --git a/projects/settings_vs142.vcxproj.in b/projects/settings_vs142.vcxproj.in index 3e49b7ca02..4463c573d7 100644 --- a/projects/settings_vs142.vcxproj.in +++ b/projects/settings_vs142.vcxproj.in @@ -23,9 +23,7 @@ - -!!FILTERS!! - + !!FILTERS!! ..\objs\settings\table\ From 2748a90bc96b537b2a6cc0e168a423504bd1270c Mon Sep 17 00:00:00 2001 From: glx Date: Tue, 26 May 2020 21:38:07 +0200 Subject: [PATCH 33/40] Fix: Inconsistency in handling of SDL2 in source.list --- projects/generate | 2 ++ projects/generate.vbs | 1 + 2 files changed, 3 insertions(+) diff --git a/projects/generate b/projects/generate index d1316a2327..7d3c599654 100755 --- a/projects/generate +++ b/projects/generate @@ -69,6 +69,7 @@ fi # First, collect the list of Windows files allegro_config="" sdl_config="1" +sdl2_config="1" png_config="1" os="MSVC" enable_dedicated="0" @@ -123,6 +124,7 @@ load_main_data() { if ($0 == "ALLEGRO" && "'$allegro_config'" == "") { next; } if ($0 == "SDL" && "'$sdl_config'" == "") { next; } + if ($0 == "SDL2" && "'$sdl2_config'" == "") { next; } if ($0 == "PNG" && "'$png_config'" == "") { next; } if ($0 == "OSX" && "'$os'" != "OSX") { next; } if ($0 == "OS2" && "'$os'" != "OS2") { next; } diff --git a/projects/generate.vbs b/projects/generate.vbs index daeb32b03e..577dce9558 100644 --- a/projects/generate.vbs +++ b/projects/generate.vbs @@ -172,6 +172,7 @@ Sub load_main_data(filename, ByRef vcxproj, ByRef filters, ByRef files) line = Replace(line, "#if ", "") If deep = skip And ( _ line = "SDL" Or _ + line = "SDL2" Or _ line = "PNG" Or _ line = "WIN32" Or _ line = "MSVC" Or _ From 911f9165cfe5f06dcd8caee9a5996c16686954b7 Mon Sep 17 00:00:00 2001 From: glx Date: Fri, 29 May 2020 16:14:53 +0200 Subject: [PATCH 34/40] Fix #7970: [Win32] Disable event loop on crash to prevent recursive faults --- src/os/windows/crashlog_win.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/os/windows/crashlog_win.cpp b/src/os/windows/crashlog_win.cpp index 9585bdf20f..7a1a524aa5 100644 --- a/src/os/windows/crashlog_win.cpp +++ b/src/os/windows/crashlog_win.cpp @@ -540,6 +540,9 @@ void *_safe_esp = nullptr; static LONG WINAPI ExceptionHandler(EXCEPTION_POINTERS *ep) { + /* Disable our event loop. */ + SetWindowLongPtr(GetActiveWindow(), GWLP_WNDPROC, (LONG_PTR)&DefWindowProc); + if (CrashLogWindows::current != nullptr) { CrashLog::AfterCrashLogCleanup(); ExitProcess(2); From 89c8215b79b474970b1010781ef5a373036ab6b5 Mon Sep 17 00:00:00 2001 From: glx Date: Fri, 29 May 2020 19:22:22 +0200 Subject: [PATCH 35/40] Fix: [Win32] Crash message not fitting in crash dialog --- src/os/windows/ottdres.rc.in | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/os/windows/ottdres.rc.in b/src/os/windows/ottdres.rc.in index 82c49463a9..721f791443 100644 --- a/src/os/windows/ottdres.rc.in +++ b/src/os/windows/ottdres.rc.in @@ -44,17 +44,17 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_DEFAULT // Dialog // -100 DIALOG DISCARDABLE 0, 0, 305, 99 +100 DIALOG DISCARDABLE 0, 0, 305, 101 STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "Fatal Application Failure" FONT 8, "MS Sans Serif" BEGIN - PUSHBUTTON "&Close",12,7,80,50,14 - PUSHBUTTON "&Emergency save",13,155,80,68,14 - PUSHBUTTON "",15,243,80,55,14 - EDITTEXT 11,7,101,291,118,ES_MULTILINE | ES_READONLY | WS_VSCROLL | + PUSHBUTTON "&Close",12,7,82,60,14 + PUSHBUTTON "&Emergency save",13,158,82,60,14 + PUSHBUTTON "",15,238,82,60,14 + EDITTEXT 11,7,103,291,118,ES_MULTILINE | ES_READONLY | WS_VSCROLL | WS_HSCROLL | NOT WS_TABSTOP - LTEXT "",10,36,7,262,65 + LTEXT "",10,36,5,262,72 ICON 100,IDC_STATIC,9,9,20,20 END From f4ed770cff56bf78e6211f59f6d51640ae5c7a76 Mon Sep 17 00:00:00 2001 From: Yexo Date: Mon, 1 Jun 2020 10:19:47 +0200 Subject: [PATCH 36/40] Fix #8024: make online content gui more responsive while loading Previously the internal content list was invalidated and sorted for every new item added. Now the sorting is delayed until the GUI is drawn, which means we only sort once per GUI tick. Since the amount of incoming items per GUI tick is not controlled by the GUI but rather by network speed, we were previously doing a lot of duplicate work per tick, causing the mouse cursor to lag while the list was initialized. --- src/network/network_content_gui.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/network/network_content_gui.cpp b/src/network/network_content_gui.cpp index 6083396eeb..dd87a4948b 100644 --- a/src/network/network_content_gui.cpp +++ b/src/network/network_content_gui.cpp @@ -951,7 +951,7 @@ public: { if (this->auto_select && !rci->IsSelected()) _network_content_client.ToggleSelectedState(rci); this->content.ForceRebuild(); - this->InvalidateData(); + this->InvalidateData(0, false); } void OnDownloadComplete(ContentID cid) override From dd4aae830dff1cd52b62277d911bffe1ac8e60a3 Mon Sep 17 00:00:00 2001 From: Yexo Date: Mon, 1 Jun 2020 11:25:58 +0200 Subject: [PATCH 37/40] Fix #8166: don't crash on loading an invalid roadtype newgrf Initialization code for GRFFile::roadtype_map was copied from railtype_map. But while RailType is a byte-sized enum and could thus be initialized via memset, RoadType doesn't have a defined size. --- src/newgrf.cpp | 6 +++--- src/newgrf.h | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/newgrf.cpp b/src/newgrf.cpp index c422fe99c0..19b5ce4cca 100644 --- a/src/newgrf.cpp +++ b/src/newgrf.cpp @@ -8719,18 +8719,18 @@ GRFFile::GRFFile(const GRFConfig *config) } /* Initialise rail type map with default rail types */ - memset(this->railtype_map, INVALID_RAILTYPE, sizeof(this->railtype_map)); + std::fill(std::begin(this->railtype_map), std::end(this->railtype_map), INVALID_RAILTYPE); this->railtype_map[0] = RAILTYPE_RAIL; this->railtype_map[1] = RAILTYPE_ELECTRIC; this->railtype_map[2] = RAILTYPE_MONO; this->railtype_map[3] = RAILTYPE_MAGLEV; /* Initialise road type map with default road types */ - memset(this->roadtype_map, INVALID_ROADTYPE, sizeof(this->roadtype_map)); + std::fill(std::begin(this->roadtype_map), std::end(this->roadtype_map), INVALID_ROADTYPE); this->roadtype_map[0] = ROADTYPE_ROAD; /* Initialise tram type map with default tram types */ - memset(this->tramtype_map, INVALID_ROADTYPE, sizeof(this->tramtype_map)); + std::fill(std::begin(this->tramtype_map), std::end(this->tramtype_map), INVALID_ROADTYPE); this->tramtype_map[0] = ROADTYPE_TRAM; /* Copy the initial parameter list diff --git a/src/newgrf.h b/src/newgrf.h index 00394c681c..65df3698e4 100644 --- a/src/newgrf.h +++ b/src/newgrf.h @@ -132,7 +132,7 @@ struct GRFFile : ZeroedMemoryAllocator { std::vector roadtype_list; ///< Roadtype translation table (road) RoadType roadtype_map[ROADTYPE_END]; - std::vector tramtype_list; ///, Roadtype translation table (tram) + std::vector tramtype_list; ///< Roadtype translation table (tram) RoadType tramtype_map[ROADTYPE_END]; CanalProperties canal_local_properties[CF_END]; ///< Canal properties as set by this NewGRF From 02980119e4fb935432635d7c72e317b49acc2f64 Mon Sep 17 00:00:00 2001 From: Niels Martin Hansen Date: Mon, 1 Jun 2020 19:26:23 +0200 Subject: [PATCH 38/40] Fix #8066: Try another fallback colourspace if first one fails --- src/video/cocoa/wnd_quartz.mm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/video/cocoa/wnd_quartz.mm b/src/video/cocoa/wnd_quartz.mm index c73dd32e7d..3bcbea126d 100644 --- a/src/video/cocoa/wnd_quartz.mm +++ b/src/video/cocoa/wnd_quartz.mm @@ -348,6 +348,8 @@ bool WindowQuartzSubdriver::SetVideoMode(int width, int height, int bpp) [this->window setColorSpace:[NSColorSpace sRGBColorSpace]]; this->color_space = CGColorSpaceCreateWithName(kCGColorSpaceSRGB); + if (this->color_space == nullptr) this->color_space = CGColorSpaceCreateDeviceRGB(); + if (this->color_space == nullptr) error("Could not get a valid colour space for drawing."); bool ret = WindowResized(); this->UpdatePalette(0, 256); From 20007fd1f48ab0df21432cf45673f95e04526b15 Mon Sep 17 00:00:00 2001 From: Charles Pigott Date: Mon, 1 Jun 2020 17:55:43 +0100 Subject: [PATCH 39/40] Update: Backport languages --- src/lang/catalan.txt | 30 ++++++++++++++++++++++ src/lang/estonian.txt | 44 ++++++++++++++++++++++++--------- src/lang/korean.txt | 2 +- src/lang/latvian.txt | 48 ++++++++++++++++++++++++++++++++++-- src/lang/luxembourgish.txt | 9 +++++++ src/lang/spanish_MX.txt | 2 +- src/lang/tamil.txt | 16 ++++++++++++ src/lang/unfinished/urdu.txt | 1 - src/lang/welsh.txt | 4 +++ 9 files changed, 139 insertions(+), 17 deletions(-) diff --git a/src/lang/catalan.txt b/src/lang/catalan.txt index 84597e3c9a..0f30221559 100644 --- a/src/lang/catalan.txt +++ b/src/lang/catalan.txt @@ -236,6 +236,7 @@ STR_TOOLTIP_FILTER_CRITERIA :{BLACK}Filtra p STR_BUTTON_SORT_BY :{BLACK}Ordena per: STR_BUTTON_LOCATION :{G=Masculin}{BLACK}Lloc STR_BUTTON_RENAME :{BLACK}Canvia el nom +STR_TOOLTIP_CATCHMENT :{BLACK}Mostra/Amaga l'àrea de cobertura STR_TOOLTIP_CLOSE_WINDOW :{BLACK}Tanca la finestra STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS :{BLACK}Títol de la finestra: arrossegueu el títol per desplaçar la finestra. @@ -264,6 +265,7 @@ STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT_TOOLTIP :{BLACK}Activant STR_BUTTON_DEFAULT :{BLACK}Predeterminat STR_BUTTON_CANCEL :{BLACK}Cancel·la STR_BUTTON_OK :{BLACK}D'acord +STR_WARNING_PASSWORD_SECURITY :{YELLOW}Avís: Els administradors del servidor potser poden llegir el que escriviu aquí. # On screen keyboard window STR_OSK_KEYBOARD_LAYOUT :`1234567890-=\qwertyuiop[]asdfghjkl;' zxcvbnm,./ . @@ -927,6 +929,7 @@ STR_GAME_OPTIONS_CURRENCY_GEL :Lari georgià ( STR_GAME_OPTIONS_CURRENCY_IRR :Rial iranià (IRR) STR_GAME_OPTIONS_CURRENCY_RUB :Ruble rus modern (RUB) STR_GAME_OPTIONS_CURRENCY_MXN :Peso mexicà (MXN) +STR_GAME_OPTIONS_CURRENCY_CNY :Renminbi xinès (CNY) ############ end of currency region STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}Vehicles de carretera @@ -1178,6 +1181,7 @@ STR_CONFIG_SETTING_AUTOSLOPE :Permet la modif STR_CONFIG_SETTING_AUTOSLOPE_HELPTEXT :Permet modelar el terreny sota les vies, els edificis i altres elements sense eliminar-los. STR_CONFIG_SETTING_CATCHMENT :Estableix una mida més real de l'àrea d'influència: {STRING} STR_CONFIG_SETTING_CATCHMENT_HELPTEXT :Permet tenir diferents mides de zones de captació de càrrega per diferents tipus d'estacions (aeroports, estacions de tren, etc.). +STR_CONFIG_SETTING_SERVE_NEUTRAL_INDUSTRIES :Les estacions de la companyia poden donar servei a industries amb estacions neutrals: {STRING} STR_CONFIG_SETTING_EXTRADYNAMITE :Permet l'esborrat de carreteres, ponts i túnels propietat de les poblacions: {STRING} STR_CONFIG_SETTING_EXTRADYNAMITE_HELPTEXT :Aquesta opció permet fer més fàcil l'esborrat d'infraestructures i construccions propietat de la població STR_CONFIG_SETTING_TRAIN_LENGTH :Longitud màxima dels trens: {STRING} @@ -1299,6 +1303,8 @@ STR_CONFIG_SETTING_POPULATION_IN_LABEL :Mostra els habi STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :Mostra els habitants a les etiquetes dels noms de les poblacions al mapa STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Gruix de les línies dels gràfics: {STRING} STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Gruix de la línia als gràfics. Una línia més fina és més llegible, una línia més gruixuda és més fàcil de veure i els colors són més fàcils de distingir +STR_CONFIG_SETTING_SHOW_NEWGRF_NAME :Mostra el nom del NewGRF a la finestra de construcció de vehicles: {STRING} +STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :Afegeix una línia a la finestra de construcció de vehicles que mostri de quin NewGRF és el vehicle seleccionat. STR_CONFIG_SETTING_LANDSCAPE :Paisatge: {STRING} STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :El tipus de paisatge defineix escenaris amb diferents tipus de càrrega i requisits per al creixement de les poblacions. Els NewGRF i l'script de la partida poden modificar-ne l'aparença i el comportament @@ -1475,6 +1481,7 @@ STR_CONFIG_SETTING_AI_IN_MULTIPLAYER :Permet IA en mu STR_CONFIG_SETTING_AI_IN_MULTIPLAYER_HELPTEXT :Permet a les IA participar en partides multijugador. STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES :#opcodes abans de suspendre els scripts: {STRING} STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES_HELPTEXT :Màxim nombre de passos de càlcul que un script pot fer en un torn +STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY :Ús de memòria màxim per script: {STRING} STR_CONFIG_SETTING_SERVINT_ISPERCENT :Els intervals de revisions es mostren en percentatges: {STRING} STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Escull si les revisions dels vehicles depenen del temps passat des de la darrera revisió o de la caiguda d'un cert percentatge de la fiabilitat màxima @@ -1533,10 +1540,12 @@ STR_CONFIG_SETTING_NEWS_MESSAGES_FULL :Complet STR_CONFIG_SETTING_COLOURED_NEWS_YEAR :Les notícies en color apareixen el: {STRING} STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT :Any en què els diaris comencen a fer anuncis en color. Abans d'aquest any, imprimiran en blanc i negre. STR_CONFIG_SETTING_STARTING_YEAR :Any d'inici: {STRING} +STR_CONFIG_SETTING_ENDING_YEAR_ZERO :Mai STR_CONFIG_SETTING_SMOOTH_ECONOMY :Activa economia suau (més canvis però més petits): {STRING} STR_CONFIG_SETTING_SMOOTH_ECONOMY_HELPTEXT :Quan està activat, els canvis de producció de la indústria són més habituals, i en passos més petits. Aquest paràmetre usualment no té efecte, si el tipus d'indústria estan proveïts per un NewGRF STR_CONFIG_SETTING_ALLOW_SHARES :Permet comprar participacions d'altres companyies: {STRING} STR_CONFIG_SETTING_ALLOW_SHARES_HELPTEXT :Permet comprar i vendre accions de les companyies. Les accions només estan disponibles per companyies d'una certa edat. +STR_CONFIG_SETTING_MIN_YEARS_FOR_SHARES :Edat mínima de la companyia per negociar participacions: {STRING} STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE :Percentatge del benefici total a pagar en transferències: {STRING} STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE_HELPTEXT :Percentatge del benefici donat a branques intermediàries dins els sistemes, donant més control sobre els beneficis STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY :En arrossegar, col·locar senyals cada: {STRING} @@ -2423,7 +2432,10 @@ STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_TUNNEL :{BLACK}Construe STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_TUNNEL :{BLACK}Construeix un túnel per a tramvies. Shift commuta construeix/mostra el cost estimat STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_ROAD :{BLACK}Intercanvia funció construeix/treu per la construcció de carreteres STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_TRAMWAYS :{BLACK}Canvia construeix/treu de la construcció de vies de tramvia +STR_ROAD_TOOLBAR_TOOLTIP_CONVERT_ROAD :{BLACK}Converteix/Millora el tipus de carretera. Shift commuta entre construir o mostrar-ne el cost estimat. +STR_ROAD_TOOLBAR_TOOLTIP_CONVERT_TRAM :{BLACK}Converteix/Millora el tipus de tramvia. Shift commuta construeix/mostra el cost estimat. +STR_ROAD_NAME_ROAD :Carretera # Road depot construction window STR_BUILD_DEPOT_ROAD_ORIENTATION_CAPTION :{WHITE}Orientació de la cotxera @@ -2726,6 +2738,7 @@ STR_FRAMERATE_MS_BAD :{RED}{DECIMAL}{ STR_FRAMERATE_FPS_GOOD :{LTBLUE}{DECIMAL}{NBSP}fps STR_FRAMERATE_FPS_WARN :{YELLOW}{DECIMAL}{NBSP}fps STR_FRAMERATE_FPS_BAD :{RED}{DECIMAL}{NBSP}fps +STR_FRAMERATE_BYTES_WARN :{YELLOW}{BYTES} STR_FRAMERATE_GRAPH_MILLISECONDS :{TINY_FONT}{COMMA}{NBSP}ms STR_FRAMERATE_GRAPH_SECONDS :{TINY_FONT}{COMMA}{NBSP}s ############ Leave those lines in this order!! @@ -3091,6 +3104,7 @@ STR_TOWN_VIEW_RENAME_TOWN_BUTTON :Canvia el nom d # Town local authority window STR_LOCAL_AUTHORITY_CAPTION :{WHITE}{TOWN} autoritat local +STR_LOCAL_AUTHORITY_ZONE :{BLACK}Zona STR_LOCAL_AUTHORITY_COMPANY_RATINGS :{BLACK}Ratis de la companyia de transports: STR_LOCAL_AUTHORITY_COMPANY_RATING :{YELLOW}{COMPANY} {COMPANY_NUM}: {ORANGE}{STRING} STR_LOCAL_AUTHORITY_ACTIONS_TITLE :{BLACK}Accions disponibles: @@ -3348,6 +3362,7 @@ STR_COMPANY_INFRASTRUCTURE_VIEW_CAPTION :{WHITE}Infraest STR_COMPANY_INFRASTRUCTURE_VIEW_RAIL_SECT :{GOLD}Trossos de vies: STR_COMPANY_INFRASTRUCTURE_VIEW_SIGNALS :{WHITE}Senyals STR_COMPANY_INFRASTRUCTURE_VIEW_ROAD_SECT :{GOLD}Trossos de carretera: +STR_COMPANY_INFRASTRUCTURE_VIEW_TRAM_SECT :{GOLD}Trossos de tramvia: STR_COMPANY_INFRASTRUCTURE_VIEW_WATER_SECT :{GOLD}Cel·les d'aigua: STR_COMPANY_INFRASTRUCTURE_VIEW_CANALS :{WHITE}Canals STR_COMPANY_INFRASTRUCTURE_VIEW_STATION_SECT :{GOLD}Estacions: @@ -3358,8 +3373,10 @@ STR_COMPANY_INFRASTRUCTURE_VIEW_TOTAL :{WHITE}{CURRENC # Industry directory STR_INDUSTRY_DIRECTORY_CAPTION :{WHITE}Indústries STR_INDUSTRY_DIRECTORY_NONE :{ORANGE}- Cap - +STR_INDUSTRY_DIRECTORY_ITEM_INFO :{BLACK}{CARGO_LONG}{STRING}{YELLOW} (transportat: {COMMA}{NBSP}%){BLACK} STR_INDUSTRY_DIRECTORY_ITEM_NOPROD :{ORANGE}{INDUSTRY} STR_INDUSTRY_DIRECTORY_LIST_CAPTION :{BLACK}Nom de les indústries - clica al nom per centrar la vista en la indústria. Ctrl+Clic obre una nova vista al lloc de la indústria +STR_INDUSTRY_DIRECTORY_FILTER_ALL_TYPES :Tots els tipus de càrrega # Industry view STR_INDUSTRY_VIEW_CAPTION :{WHITE}{INDUSTRY} @@ -3456,6 +3473,7 @@ STR_BUY_VEHICLE_ROAD_VEHICLE_CAPTION :Compra de nous ############ range for vehicle availability starts STR_BUY_VEHICLE_TRAIN_ALL_CAPTION :Compra de nous vehicles sobre vies +STR_BUY_VEHICLE_ROAD_VEHICLE_ALL_CAPTION :Automòbils nous STR_BUY_VEHICLE_SHIP_CAPTION :Compra de nous vaixells STR_BUY_VEHICLE_AIRCRAFT_CAPTION :Compra de noves aeronaus ############ range for vehicle availability ends @@ -3471,6 +3489,7 @@ STR_PURCHASE_INFO_REFITTABLE :(remodelable) STR_PURCHASE_INFO_DESIGNED_LIFE :{BLACK}Dissenyat: {GOLD}{NUM}{BLACK} Vida: {GOLD}{COMMA} any{P "" s} STR_PURCHASE_INFO_RELIABILITY :{BLACK}Fiabilitat màxima: {GOLD}{COMMA}% STR_PURCHASE_INFO_COST :{BLACK}Cost: {GOLD}{CURRENCY_LONG} +STR_PURCHASE_INFO_COST_REFIT :{BLACK}Cost: {GOLD}{CURRENCY_LONG}{BLACK} (Cost del remodelat: {GOLD}{CURRENCY_LONG}{BLACK}) STR_PURCHASE_INFO_WEIGHT_CWEIGHT :{BLACK}Pes: {GOLD}{WEIGHT_SHORT} ({WEIGHT_SHORT}) STR_PURCHASE_INFO_COST_SPEED :{BLACK}Cost: {GOLD}{CURRENCY_LONG}{BLACK} Velocitat: {GOLD}{VELOCITY} STR_PURCHASE_INFO_AIRCRAFT_CAPACITY :{BLACK}Capacitat: {GOLD}{CARGO_LONG}, {CARGO_LONG} @@ -3493,6 +3512,7 @@ STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_BUTTON :{BLACK}Compra e STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_BUTTON :{BLACK}Compra el vaixell STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_BUTTON :{BLACK}Compra l'aeronau +STR_BUY_VEHICLE_TRAIN_BUY_REFIT_VEHICLE_BUTTON :{BLACK}Compra i remodela vehicles STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_TOOLTIP :{BLACK}Compra el tren/vagó seleccionat. Amb Maj+Clic, mostra el cost estimat sense comprar-lo. STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_TOOLTIP :{BLACK}Compra el vehicle marcat. Amb Maj+Clic, mostra el cost estimat sense comprar-lo. @@ -3614,6 +3634,7 @@ STR_ENGINE_PREVIEW_MONORAIL_LOCOMOTIVE :{G=Femenin}loco STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE :{G=Femenin}locomotora de maglev STR_ENGINE_PREVIEW_ROAD_VEHICLE :{G=Masculin}automòbil +STR_ENGINE_PREVIEW_TRAM_VEHICLE :tramvia STR_ENGINE_PREVIEW_AIRCRAFT :{G=Masculin}avió STR_ENGINE_PREVIEW_SHIP :{G=Masculin}vaixell @@ -3663,6 +3684,8 @@ STR_REPLACE_ELRAIL_VEHICLES :Trens Elèctric STR_REPLACE_MONORAIL_VEHICLES :Trens monorail STR_REPLACE_MAGLEV_VEHICLES :Trens maglev +STR_REPLACE_ROAD_VEHICLES :Automòbils +STR_REPLACE_TRAM_VEHICLES :Tramvies STR_REPLACE_REMOVE_WAGON :{BLACK}Treure vagons: {ORANGE}{STRING} STR_REPLACE_REMOVE_WAGON_HELP :{BLACK}Fer que la substitució automàtica mantingui la llargada del tren eliminant vagons (començant pel front), si substituint la màquina el tren es fa més llarg @@ -4114,6 +4137,10 @@ STR_AI_LIST_ACCEPT_TOOLTIP :{BLACK}Seleccio STR_AI_LIST_CANCEL :{BLACK}Cancel·la STR_AI_LIST_CANCEL_TOOLTIP :{BLACK}No canviïs l'script. +STR_SCREENSHOT_SCREENSHOT :{BLACK}Captura de pantalla normal +STR_SCREENSHOT_DEFAULTZOOM_SCREENSHOT :{BLACK}Zoom de la captura de pantalla per defecte +STR_SCREENSHOT_HEIGHTMAP_SCREENSHOT :{BLACK}Captura de pantalla del mapa d'alçades +STR_SCREENSHOT_MINIMAP_SCREENSHOT :{BLACK}Captura de pantalla del minimapa # AI Parameters STR_AI_SETTINGS_CAPTION :{WHITE}Paràmetres {STRING} @@ -4387,6 +4414,7 @@ STR_ERROR_NO_SUITABLE_RAILROAD_TRACK :{WHITE}Via de t STR_ERROR_MUST_REMOVE_RAILROAD_TRACK :{WHITE}...abans s'ha de treure la via. STR_ERROR_CROSSING_ON_ONEWAY_ROAD :{WHITE}La carretera és un d'un sol sentit o està bloquejada STR_ERROR_CROSSING_DISALLOWED_RAIL :{WHITE}Els passos a nivell no estan permesos en aquest tipus de via +STR_ERROR_CROSSING_DISALLOWED_ROAD :{WHITE}No s'admeten passos a nivell en aquest tipus de carretera. STR_ERROR_CAN_T_BUILD_SIGNALS_HERE :{WHITE}Aquí no es poden construir senyals... STR_ERROR_CAN_T_BUILD_RAILROAD_TRACK :{WHITE}Aquí no es pot construir la via de tren... STR_ERROR_CAN_T_REMOVE_RAILROAD_TRACK :{WHITE}Aquí no es pot treure la via de tren... @@ -4406,6 +4434,8 @@ STR_ERROR_CAN_T_REMOVE_ROAD_FROM :{WHITE}Aquí no STR_ERROR_CAN_T_REMOVE_TRAMWAY_FROM :{WHITE}No puc treure la via de tramvia d'aquí... STR_ERROR_THERE_IS_NO_ROAD :{WHITE}... no hi ha carretera STR_ERROR_THERE_IS_NO_TRAMWAY :{WHITE}... no hi ha via de tramvia +STR_ERROR_INCOMPATIBLE_ROAD :{WHITE}... la carretera és incompatible. +STR_ERROR_INCOMPATIBLE_TRAMWAY :{WHITE}... El tipus de tramvia és incompatible. # Waterway construction errors STR_ERROR_CAN_T_BUILD_CANALS :{WHITE}Aquí no es poden construir canals... diff --git a/src/lang/estonian.txt b/src/lang/estonian.txt index fc5be7b8a8..d96fd0fc0c 100644 --- a/src/lang/estonian.txt +++ b/src/lang/estonian.txt @@ -318,6 +318,7 @@ STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT_TOOLTIP :{BLACK}Selle nu STR_BUTTON_DEFAULT :{BLACK}Esialgne STR_BUTTON_CANCEL :{BLACK}Tühista STR_BUTTON_OK :{BLACK}OK +STR_WARNING_PASSWORD_SECURITY :{YELLOW}Hoiatus: Serveriadministraatorid võivad olla võimelised lugema siinset teksti. # On screen keyboard window STR_OSK_KEYBOARD_LAYOUT :`1234567890-=\qwertyuiop[]asdfghjkl;' zxcvbnm,./ . @@ -411,6 +412,7 @@ STR_SCENEDIT_TOOLBAR_LANDSCAPE_GENERATION :{BLACK}Maastiku STR_SCENEDIT_TOOLBAR_TOWN_GENERATION :{BLACK}Linnade tekitamine STR_SCENEDIT_TOOLBAR_INDUSTRY_GENERATION :{BLACK}Tööstuste tekitamine STR_SCENEDIT_TOOLBAR_ROAD_CONSTRUCTION :{BLACK}Maanteede ehitamine +STR_SCENEDIT_TOOLBAR_TRAM_CONSTRUCTION :{BLACK}Trammiteede ehitamine STR_SCENEDIT_TOOLBAR_PLANT_TREES :{BLACK}Istuta puid. Shift valib ehitamise/hinna kuvamise režiimi STR_SCENEDIT_TOOLBAR_PLACE_SIGN :{BLACK}Paigalda silt STR_SCENEDIT_TOOLBAR_PLACE_OBJECT :{BLACK}Paigalda objekt. Shift valib ehitamise/hinna kuvamise režiimi @@ -526,7 +528,7 @@ STR_ABOUT_MENU_LAND_BLOCK_INFO :Maa-ala andmed STR_ABOUT_MENU_SEPARATOR : STR_ABOUT_MENU_TOGGLE_CONSOLE :Lülita konsool sisse/välja STR_ABOUT_MENU_AI_DEBUG :Arvutivea otsing -STR_ABOUT_MENU_SCREENSHOT :Ekraanitõmmis +STR_ABOUT_MENU_SCREENSHOT :Kuvapaugutus STR_ABOUT_MENU_SHOW_FRAMERATE :Näita kaadrisagedust STR_ABOUT_MENU_ABOUT_OPENTTD :'OpenTTD' kohta STR_ABOUT_MENU_SPRITE_ALIGNER :Sprite aligner @@ -930,7 +932,7 @@ STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION :{BIG_FONT}{BLAC STR_EXTRA_VIEW_PORT_TITLE :{WHITE}Vaateaken {COMMA} STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN :{BLACK}Kopeeri vaateaknasse STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN_TT :{BLACK}Kopeeri praegune vaade vaateaknasse -STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}Kleebi vaateaknast +STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}Muuda peamist vaadet STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW_TT :{BLACK}Vaateala koha võtmine peamiseks vaateks # Game options window @@ -1513,6 +1515,7 @@ STR_CONFIG_SETTING_AI_IN_MULTIPLAYER :Tehismõistus m STR_CONFIG_SETTING_AI_IN_MULTIPLAYER_HELPTEXT :Võimaldab arvutil osaleda mitmikmängudes STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES :#opcode-d ennem skripte on peatatud: {STRING} STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES_HELPTEXT :Maksimaalne arv arvutamise käike mida skript võib teha ühel sammul +STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_VALUE :{COMMA} MiB STR_CONFIG_SETTING_SERVINT_ISPERCENT :Hooldusvälp protsentides: {STRING} STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Vali kas sõiduki hooldus käivitub vastavalt ajale mis on möödunud viimasest hooldusest või kui sõiduki usaldusväärsus langeb allapoole lubatud piiri sõiduki maksimaalsest usaldusväärsuse protsendist @@ -2116,6 +2119,7 @@ STR_NETWORK_CONNECTION_DISCONNECT :{BLACK}Katkesta STR_NETWORK_NEED_GAME_PASSWORD_CAPTION :{WHITE}Server on kaitstud. Sisesta salasõna STR_NETWORK_NEED_COMPANY_PASSWORD_CAPTION :{WHITE}Ettevõte on kaitstud. Sisesta salasõna +STR_NETWORK_COMPANY_LIST_CLIENT_LIST_CAPTION :{WHITE}Klientide nimekiri # Network company list added strings STR_NETWORK_COMPANY_LIST_CLIENT_LIST :Klientide nimekiri @@ -2180,6 +2184,7 @@ STR_NETWORK_ERROR_WRONG_PASSWORD :{WHITE}Vale sal STR_NETWORK_ERROR_SERVER_FULL :{WHITE}Server on täis STR_NETWORK_ERROR_SERVER_BANNED :{WHITE}Sinu sisenemine siia serverisse on keelatud STR_NETWORK_ERROR_KICKED :{WHITE}Sind visati mängust välja +STR_NETWORK_ERROR_KICK_MESSAGE :{WHITE}Põhjus: {STRING} STR_NETWORK_ERROR_CHEATER :{WHITE}Selles serveris on petmine keelatud STR_NETWORK_ERROR_TOO_MANY_COMMANDS :{WHITE}Sa saatsid serverile liiga palju käsklusi korraga STR_NETWORK_ERROR_TIMEOUT_PASSWORD :{WHITE}Sisestasid salasõna liiga kaua @@ -2415,7 +2420,7 @@ STR_BUILD_SIGNAL_ELECTRIC_COMBO_TOOLTIP :{BLACK}Kombinee STR_BUILD_SIGNAL_ELECTRIC_PBS_TOOLTIP :{BLACK}Täiustatud signaal (elektriline){}Kui rongide tee kahe signaali vahel kordagi ei ristu, siis täiustatud signaalidega saab signaalivahedesse siseneda korraga mitu rongi. Täiustatud signaalidest saab tagant mööduda STR_BUILD_SIGNAL_ELECTRIC_PBS_OWAY_TOOLTIP :{BLACK}Ühesuunaline täiustatud signaal (elektriline){}Kui rongide tee kahe signaali vahel kordagi ei ristu, siis täiustatud signaalidega saab signaalivahedesse siseneda korraga mitu rongi. Ühesuunalistest täiustatud signaalidest ei saa tagant mööduda STR_BUILD_SIGNAL_CONVERT_TOOLTIP :{BLACK}Signaalide teisendamine{}Kui see on valitud, siis olemasoleval signaalil klõpsates teisendatakse see määratud signaalitüübiks ja -variandiks. Samal ajal Ctrl klahvi all hoides lülitutakse olemasoleva variandi vahel. Shift+klõps näitab teisendamise eeldatavat maksumust -STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_TOOLTIP :{BLACK}Signaalide paigaldustihedus +STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_TOOLTIP :{BLACK}Signaalide paigalduskaugus STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_DECREASE_TOOLTIP :{BLACK}Kahanda signaalide paigaldustihedust STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_INCREASE_TOOLTIP :{BLACK}Suurenda signaalide paigaldustihedust @@ -2456,6 +2461,7 @@ STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_TUNNEL :{BLACK}Ehita tr STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_ROAD :{BLACK}Lülitu maanteede ehitamise ja lammutamise vahel STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_TRAMWAYS :{BLACK}Lülitu trammitee ehitamise ja lammutamise vahel +STR_ROAD_NAME_ROAD :Sõidutee # Road depot construction window STR_BUILD_DEPOT_ROAD_ORIENTATION_CAPTION :{WHITE}Depoo suund @@ -2652,7 +2658,7 @@ STR_LAI_CLEAR_DESCRIPTION_FIELDS :Põllud STR_LAI_CLEAR_DESCRIPTION_SNOW_COVERED_LAND :Lumine maa STR_LAI_CLEAR_DESCRIPTION_DESERT :Kõrb -STR_LAI_RAIL_DESCRIPTION_TRACK :Raudtee rööbas +STR_LAI_RAIL_DESCRIPTION_TRACK :Raudteerööbas STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_SIGNALS :Raudtee rööpad koos blokksignaalidega STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRESIGNALS :Raudtee rööpad koos eelsignaalidega STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXITSIGNALS :Raudtee rööpad väljasõidusignaalidega @@ -2674,7 +2680,7 @@ STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_NOENTRYSIGNALS :Raudtee rööpa STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_PBSSIGNALS :Raudtee rööpad koos komineeriutd ja täiustatud signaalidega STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_NOENTRYSIGNALS :Raudtee rööpad koos komineeritud ja ühesuunaliste täiustatud signaalidega STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBS_NOENTRYSIGNALS :Raudtee rööpad koos täisutatud ja ühesuunaliste täiustatud signaalidega -STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT :Raudtee Rongidepoo +STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT :Raudteedepoo STR_LAI_ROAD_DESCRIPTION_ROAD :Sõidutee STR_LAI_ROAD_DESCRIPTION_ROAD_WITH_STREETLIGHTS :Valgustatud sõidutee @@ -2756,9 +2762,11 @@ STR_FRAMERATE_GAMELOOP :{BLACK}Mänguts STR_FRAMERATE_GL_AIRCRAFT :{BLACK} Õhusõiduki sammud: STR_FRAMERATE_GL_LINKGRAPH :{BLACK} Ahelgraafiku viide: STR_FRAMERATE_DRAWING :{BLACK}Graafika renderdamine: +STR_FRAMERATE_VIDEO :{BLACK}Videoväljund: ############ End of leave-in-this-order ############ Leave those lines in this order!! STR_FRAMETIME_CAPTION_GL_AIRCRAFT :Õhusõiduki sammud +STR_FRAMETIME_CAPTION_DRAWING :Graafika renderdamine ############ End of leave-in-this-order @@ -2901,6 +2909,7 @@ STR_NEWGRF_SETTINGS_VERSION :{BLACK}Versioon STR_NEWGRF_SETTINGS_MIN_VERSION :{BLACK}Min. ühilduv versioon: {SILVER}{NUM} STR_NEWGRF_SETTINGS_MD5SUM :{BLACK}MD5sum: {SILVER}{STRING} STR_NEWGRF_SETTINGS_PALETTE :{BLACK}Palett: {SILVER}{STRING} +STR_NEWGRF_SETTINGS_PALETTE_DEFAULT :Vaikimisi (D) STR_NEWGRF_SETTINGS_PARAMETER :{BLACK}Parameetrid: {SILVER}{STRING} STR_NEWGRF_SETTINGS_NO_INFO :{BLACK}Andmed puuduvad @@ -2947,7 +2956,7 @@ STR_SPRITE_ALIGNER_GOTO_TOOLTIP :{BLACK}Mine ett STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Eelmine spait STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Proceed to the previous normal sprite, skipping any pseudo/recolour/font sprites and wrapping around at the begin STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Representation of the currently selected sprite. The alignment is ignored when drawing this sprite -STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Liiguta spraiti , muutes X ja Y tasakaalu +STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Liiguta spraiti, muutes X ja Y tasakaalu. Ctrl+klõps, et liigutada kaheksa ühiku võrra korraga STR_SPRITE_ALIGNER_RESET_BUTTON :{BLACK}Lähtesta suhteline STR_SPRITE_ALIGNER_RESET_TOOLTIP :{BLACK}Lähtesta praegused suhtelised kõrvalekalded STR_SPRITE_ALIGNER_OFFSETS_ABS :{BLACK}X kõrvalekalle: {NUM}, Y kõrvalekalle: {NUM} (Absoluutne) @@ -3079,6 +3088,7 @@ STR_TOWN_VIEW_RENAME_TOWN_BUTTON :Linna nime vahe # Town local authority window STR_LOCAL_AUTHORITY_CAPTION :{WHITE}{TOWN} kohalik omavalitsus +STR_LOCAL_AUTHORITY_ZONE_TOOLTIP :{BLACK}Näita kohaliku omavalitsuse haldusala STR_LOCAL_AUTHORITY_COMPANY_RATINGS :{BLACK}Ettevõtete hinnangud: STR_LOCAL_AUTHORITY_COMPANY_RATING :{YELLOW}{COMPANY} {COMPANY_NUM}: {ORANGE}{STRING} STR_LOCAL_AUTHORITY_ACTIONS_TITLE :{BLACK}Pakutavad toimingud: @@ -3355,6 +3365,8 @@ STR_INDUSTRY_VIEW_LOCATION_TOOLTIP :{BLACK}Vaate ke STR_INDUSTRY_VIEW_PRODUCTION_LEVEL :{BLACK}Tootlikkuse tase: {YELLOW}{COMMA}% STR_INDUSTRY_VIEW_INDUSTRY_ANNOUNCED_CLOSURE :{YELLOW}Tööstus teatab kohesest sulgemisest! +STR_INDUSTRY_VIEW_REQUIRES_N_CARGO :{BLACK}Vajab: {YELLOW}{STRING}{STRING} +STR_INDUSTRY_VIEW_CARGO_LIST_EXTENSION :, {STRING}{STRING} STR_CONFIG_GAME_PRODUCTION :{WHITE}Tootlikuse muutmine (kaheksaga jaguv, kuni 2040) @@ -3469,6 +3481,7 @@ STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_BUTTON :{BLACK}Ehita ve STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_BUTTON :{BLACK}Ehita laev STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_BUTTON :{BLACK}Ehita lennuk +STR_BUY_VEHICLE_AIRCRAFT_BUY_REFIT_VEHICLE_BUTTON :{BLACK}Osta ja seadista lennuk ümber STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_TOOLTIP :{BLACK}Osta valitud raudteesõiduk. Shift+klõpsuga kuvatakse eeldatav ostuhind STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_TOOLTIP :{BLACK}Osta valitud mootorsõiduk. Shift+klõpsuga kuvatakse eeldatav ostuhind @@ -4045,7 +4058,7 @@ STR_AI_GAME_SCRIPT :{BLACK}Mängu S STR_AI_GAME_SCRIPT_TOOLTIP :{BLACK}Vaata Mängu Skripti logi STR_ERROR_AI_NO_AI_FOUND :Laadimiseks sobivat tehismõistust ei leitud.{}See on asendustehismõistus, ning ei tee midagi.{}Tehismõistuseid saab laadida kasutades 'Internetisisu' süsteemi. -STR_ERROR_AI_PLEASE_REPORT_CRASH :{WHITE}Tõrge ühe töötava tehismõistusega. Palun teavitage sellest tehismõistuse autorit koos ekraanitõmmisega tehismõistuse tõrkeotsingu aknast. +STR_ERROR_AI_PLEASE_REPORT_CRASH :{WHITE}Tõrge ühe töötava tehismõistusega. Palun teavitage sellest tehismõistuse autorit koos kuvapaugutusega tehismõistuse tõrkeotsingu aknast. STR_ERROR_AI_DEBUG_SERVER_ONLY :{YELLOW}Tehismõistuse / GameScript-i silumise akent saab vaadata ainult server # AI configuration window @@ -4087,6 +4100,13 @@ STR_AI_LIST_ACCEPT_TOOLTIP :{BLACK}Vali esi STR_AI_LIST_CANCEL :{BLACK}Loobu STR_AI_LIST_CANCEL_TOOLTIP :{BLACK}Ära skripti muuda +STR_SCREENSHOT_CAPTION :{WHITE}Tee kuvapaugutus +STR_SCREENSHOT_SCREENSHOT :{BLACK}Tavaline kuvapaugutus +STR_SCREENSHOT_ZOOMIN_SCREENSHOT :{BLACK}Täiesti sisse suumitud kuvapaugutus +STR_SCREENSHOT_DEFAULTZOOM_SCREENSHOT :{BLACK}Vaikimisi kuvapaugutuse suum +STR_SCREENSHOT_WORLD_SCREENSHOT :{BLACK}Terve kaardi kuvapaugutus +STR_SCREENSHOT_HEIGHTMAP_SCREENSHOT :{BLACK}Kõrguskaardi kuvapaugutus +STR_SCREENSHOT_MINIMAP_SCREENSHOT :{BLACK}Väikese kaardi kuvapaugutus # AI Parameters STR_AI_SETTINGS_CAPTION :{WHITE}{STRING} Parameetrid @@ -4135,7 +4155,7 @@ STR_MESSAGE_ESTIMATED_INCOME :{WHITE}Eeldatav # Saveload messages STR_ERROR_SAVE_STILL_IN_PROGRESS :{WHITE}Ikka salvestamisel,{}palun oota salvestuse lõpuni! -STR_ERROR_AUTOSAVE_FAILED :{WHITE}Isesalvestamine ebaõnnestus +STR_ERROR_AUTOSAVE_FAILED :{WHITE}Automaatsalvestus ebaõnnestus STR_ERROR_UNABLE_TO_READ_DRIVE :{BLACK}Ei suuda kettalt lugeda STR_ERROR_GAME_SAVE_FAILED :{WHITE}Mängu salvestamine nurjus{}{STRING} STR_ERROR_UNABLE_TO_DELETE_FILE :{WHITE}Faili ei saa kustutada @@ -4170,11 +4190,11 @@ STR_WARNING_HEIGHTMAP_SCALE_MESSAGE :{YELLOW}Kaardi STR_WARNING_FALLBACK_SOUNDSET :{WHITE}Mäng ei leidnud helisid. Helid saad paigaldada Internetisisu laadimise aknast # Screenshot related messages -STR_WARNING_SCREENSHOT_SIZE_CAPTION :{WHITE}Hiiglaslik pilt -STR_WARNING_SCREENSHOT_SIZE_MESSAGE :{YELLOW}Ekraanitõmmise mõõtmed saavad olema {COMMA} x {COMMA} pikslit. Ekraanitõmmise tegemine võib võtta mõne aja. Kas sa oled kindel, et sa soovid jätkata +STR_WARNING_SCREENSHOT_SIZE_CAPTION :{WHITE}Hiiglaslik kuvapaugutus +STR_WARNING_SCREENSHOT_SIZE_MESSAGE :{YELLOW}Kuvapaugutuse mõõtmed saavad olema {COMMA} x {COMMA} pikslit. Kuvapaugutuse tegemine võib võtta tükk aega. Kas sa oled kindel, et sa soovid jätkata? -STR_MESSAGE_SCREENSHOT_SUCCESSFULLY :{WHITE}Ekraanitõmmis edukalt salvestatud nimega '{STRING}' -STR_ERROR_SCREENSHOT_FAILED :{WHITE}Ekraanitõmmise võtmine nurjus! +STR_MESSAGE_SCREENSHOT_SUCCESSFULLY :{WHITE}Kuvapaugutus on edukalt salvestatud nimega '{STRING}' +STR_ERROR_SCREENSHOT_FAILED :{WHITE}Kuvapaugutuse tegemine nurjus! # Error message titles STR_ERROR_MESSAGE_CAPTION :{YELLOW}Sõnum diff --git a/src/lang/korean.txt b/src/lang/korean.txt index e8ade5e9ff..8bbf5bae48 100644 --- a/src/lang/korean.txt +++ b/src/lang/korean.txt @@ -1412,7 +1412,7 @@ STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_SHORT :짧은 (2012.01 STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_ISO :국제표준규격 (2012-01-01) STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME :게임 시작 시 자동으로 일시 정지: {STRING} -STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME_HELPTEXT :이 설정을 켜면, 새로운 게임을 시작할 때 지도를 더욱 자세히 살펴볼 수 있도록 게임을 자동으로 일시정지합니다. +STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME_HELPTEXT :이 설정을 켜면, 새로운 게임을 시작할 때 지도를 더욱 자세히 살펴볼 수 있도록 게임을 자동으로 일시 정지합니다. STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL :일시 정지 상태에서 가능한 행동: {STRING} STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_HELPTEXT :게임이 일시 정지된 동안에 할 수 있는 행동을 선택합니다. STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_NO_ACTIONS :아무 것도 못 함 diff --git a/src/lang/latvian.txt b/src/lang/latvian.txt index d09161db85..592f98759c 100644 --- a/src/lang/latvian.txt +++ b/src/lang/latvian.txt @@ -189,6 +189,8 @@ STR_COLOUR_ORANGE :Oranža STR_COLOUR_BROWN :Brūna STR_COLOUR_GREY :Pelēka STR_COLOUR_WHITE :Balta +STR_COLOUR_RANDOM :Nejaušs +STR_COLOUR_DEFAULT :Noklusējuma # Units used in OpenTTD STR_UNITS_VELOCITY_IMPERIAL :{COMMA}{NBSP}jūdzes stundā @@ -335,6 +337,7 @@ STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_IN :{BLACK}Pietuvin STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_OUT :{BLACK}Attālināt skatu STR_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}Būvēt sliežu ceļu STR_TOOLBAR_TOOLTIP_BUILD_ROADS :{BLACK}Būvēt ceļus +STR_TOOLBAR_TOOLTIP_BUILD_TRAMWAYS :{BLACK}Būvēt tramvajus STR_TOOLBAR_TOOLTIP_BUILD_SHIP_DOCKS :{BLACK}Būvēt kuģu piestātnes STR_TOOLBAR_TOOLTIP_BUILD_AIRPORTS :{BLACK}Būvēt lidostas STR_TOOLBAR_TOOLTIP_LANDSCAPING :{BLACK}Atvērt ainavas rīkjoslu, lai paceltu/nolaistu zemes līmeni, stādītu kokus utt. @@ -397,6 +400,7 @@ STR_FILE_MENU_EXIT :Iziet # map menu STR_MAP_MENU_MAP_OF_WORLD :Pasaules karte STR_MAP_MENU_EXTRA_VIEW_PORT :Papildu skatvieta +STR_MAP_MENU_LINGRAPH_LEGEND :Kravu plūsmas apzīmējumi STR_MAP_MENU_SIGN_LIST :Zīmju saraksts ############ range for town menu starts @@ -914,6 +918,7 @@ STR_GAME_OPTIONS_CURRENCY_ZAR :Dienvidāfrikas STR_GAME_OPTIONS_CURRENCY_CUSTOM :Cita... STR_GAME_OPTIONS_CURRENCY_GEL :Gruzijas lari (GEL) STR_GAME_OPTIONS_CURRENCY_IRR :Irānas riāli (IRR) +STR_GAME_OPTIONS_CURRENCY_MXN :Meksikas peso (MXN) ############ end of currency region STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}Autotransporta līdzekļi @@ -977,6 +982,8 @@ STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Divkāršs STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Četrkāršs +STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Normāls +STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Divkāršs izmērs STR_GAME_OPTIONS_BASE_GRF :{BLACK}Pamata grafikas kopa STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Atlasīt lietošanai pamata grafikas kopu @@ -1108,6 +1115,7 @@ STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_MENU :Spēles iestat STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_INGAME :Spēles iestatījumi (tiek iekļauti saglabājumā, ietekmē tikai pašreizējo spēli) STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_MENU :Uzņēmuma iestatījumi (tiek iekļauti saglabājumos, ietekmē tikai jaunās spēles) STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_INGAME :Uzņēmuma iestatījumi (tiek iekļauti saglabājumā, ietekmē tikai pašreizējo uzņēmumu) +STR_CONFIG_SETTING_CATEGORY_AND_TYPE_HIDES :{BLACK}Rādīt visus meklēšanas rezultātus, iestatot{}{SILVER}Kategorija {BLACK}uz {WHITE}{STRING} {BLACK}un {SILVER}Tips {BLACK}uz {WHITE}Visi iestatījumu veidi STR_CONFIG_SETTINGS_NONE :{WHITE}-Nav- STR_CONFIG_SETTING_OFF :izslēgts @@ -1137,6 +1145,7 @@ STR_CONFIG_SETTING_CONSTRUCTION_COSTS :Būvēšanas iz STR_CONFIG_SETTING_CONSTRUCTION_COSTS_HELPTEXT :Iestatīt būvēšanas un pirkumu izmaksas STR_CONFIG_SETTING_RECESSIONS :Lejupslīde: {STRING} STR_CONFIG_SETTING_TRAIN_REVERSING :Neatļaut vilcienu apgriešanos stacijās: {STRING} +STR_CONFIG_SETTING_TRAIN_REVERSING_HELPTEXT :Ja ieslēgts, stacijās vilcieni negriezīsies pretējā virzienā, pat ja braucot tādā veidā tie atrastu īsāku ceļu un nākamo pieturu; izņēmums ir gala stacijas STR_CONFIG_SETTING_DISASTERS :Katastrofas: {STRING} STR_CONFIG_SETTING_CITY_APPROVAL :Pilsētu domju attieksme pret platības pārstrukturēšanu: {STRING} @@ -1274,6 +1283,7 @@ STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :(Tikai TerraGen STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Maksimālais attālums no kartes malas naftas pārstrādes rūpnīcām: {STRING} STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Naftas pārstrādes rūpnīcas ir būvējamas tikai kartes malu tuvumā, salu kartēm tas ir pie krasta STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Sniega līnijas augstums: {STRING} +STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Noteikt, kādā augstumā sākas subarktiskā ainava. Sniegs arī ietekmē industriju rašanos un apdzīvoto vietu pieaugšanas prasības STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Apvidus nelīdzenums: {STRING} STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :Ļoti gluda STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :Gluda @@ -1302,6 +1312,8 @@ STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_HELPTEXT :Apvidus krāsa STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_GREEN :zaļa STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_DARK_GREEN :{G=f}tumši zaļa STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_VIOLET :{G=f}violeta +STR_CONFIG_SETTING_SCROLLMODE :Skatvietas ritināšanas uzvedība: {STRING} +STR_CONFIG_SETTING_SCROLLMODE_LMB :Pārvietot karti ar kreiso peles pogu STR_CONFIG_SETTING_SMOOTH_SCROLLING :Plūdena skatvietas ritināšana: {STRING} STR_CONFIG_SETTING_MEASURE_TOOLTIP :Rādīt mērījumu rīkjoslu, izmantojot dažādus būvniecības rīkus: {STRING} STR_CONFIG_SETTING_MEASURE_TOOLTIP_HELPTEXT :Rāda lauciņu attālumus un augstuma starpības, ar vilkšanu veicot būvniecības darbības @@ -1320,6 +1332,7 @@ STR_CONFIG_SETTING_SCROLLWHEEL_OFF :izslēgts STR_CONFIG_SETTING_SCROLLWHEEL_MULTIPLIER :Peles ritenīša ātrums: {STRING} STR_CONFIG_SETTING_SCROLLWHEEL_MULTIPLIER_HELPTEXT :Vadīt peles ritenīša ritināšanas jutīgumu STR_CONFIG_SETTING_OSK_ACTIVATION :Ekrāntastatūra: {STRING} +STR_CONFIG_SETTING_OSK_ACTIVATION_HELPTEXT :Izvēlieties metodi, kas atvērs ekrnāna tastatūru, lai teksta lauciņos varētu ievadīt tekstu, izmantojot rādītājierīces. Tas ir domāts ierīcēm, kurām nav tastatūras. STR_CONFIG_SETTING_OSK_ACTIVATION_DISABLED :atspējota STR_CONFIG_SETTING_OSK_ACTIVATION_DOUBLE_CLICK :dubultklikšķis STR_CONFIG_SETTING_OSK_ACTIVATION_SINGLE_CLICK_FOCUS :viens klikšķis (kad fokusēta) @@ -1408,6 +1421,7 @@ STR_CONFIG_SETTING_AI_BUILDS_SHIPS :Atspējot dator STR_CONFIG_SETTING_AI_BUILDS_SHIPS_HELPTEXT :Šā iestatījuma ieslēgšana padara neiespējamu kuģu būvēšanu datoram STR_CONFIG_SETTING_AI_PROFILE :Noklusējuma iestatījumu profils: {STRING} +STR_CONFIG_SETTING_AI_PROFILE_HELPTEXT :Izvēlieties, kuru iestatījumu profilu izmantot nejaušam MI, vai sākotnējās vērtības, kad pievieno jaunu MI vai spēles skriptu STR_CONFIG_SETTING_AI_PROFILE_EASY :viegls STR_CONFIG_SETTING_AI_PROFILE_MEDIUM :vidējs STR_CONFIG_SETTING_AI_PROFILE_HARD :smags @@ -1472,6 +1486,7 @@ STR_CONFIG_SETTING_NEWS_MESSAGES_FULL :pilns STR_CONFIG_SETTING_COLOURED_NEWS_YEAR :Krāsaini avīžu raksti parādās: {STRING} gadā STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT :Gads kad sāk drukāt krāsainas avīzes. Pirms šā gada tās ir melnbaltas STR_CONFIG_SETTING_STARTING_YEAR :Sākuma gads: {STRING} +STR_CONFIG_SETTING_ENDING_YEAR_ZERO :Nekad STR_CONFIG_SETTING_SMOOTH_ECONOMY :Atļaut vienmērīgas izmaiņas ekonomikā: {STRING} STR_CONFIG_SETTING_SMOOTH_ECONOMY_HELPTEXT :Ja ieslēgts, ražošanas izmaiņas notiek biežāk un ar mazākiem soļiem. Šim iestatījumam parasti nav ietekmes, ja ražotņu veidi ir ieviesti ar NewGRF STR_CONFIG_SETTING_ALLOW_SHARES :Atļaut akciju pirkšanu no citiem uzņēmumiem: {STRING} @@ -1556,11 +1571,14 @@ STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :neviena STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Lielpilsētu sākuma lieluma reizinātājs: {STRING} STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Lielpilsētu vidējais lielums attiecībā pret parastām pilsētām spēles sākumā +STR_CONFIG_SETTING_LINKGRAPH_INTERVAL :Atjaunināt sadales grafu ik pa {STRING}{NBSP}dien{P 0:2 ai ām ām} STR_CONFIG_SETTING_DISTRIBUTION_MANUAL :manuāli STR_CONFIG_SETTING_DISTRIBUTION_ASYMMETRIC :asimetriska STR_CONFIG_SETTING_DISTRIBUTION_SYMMETRIC :simetriska +STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT :Izplatīšanas modelis citām kravu klasēm: {STRING} STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT :"nesimetriski" nozīmē, ka patvaļīgu kravas daudzumu var nosūtīt abos virzienos."manuāli" nozīmē, ka šīm kravām netiks veikta automātiska izplatīšana. STR_CONFIG_SETTING_LINKGRAPH_ACCURACY :Sadales precizitāte: {STRING} +STR_CONFIG_SETTING_DEMAND_DISTANCE :Attāluma ietekme uz pieprasījumu: {STRING} STR_CONFIG_SETTING_DEMAND_SIZE_HELPTEXT :Uzstādod šo mazāk par 100% liks simetriskajai sadalei izturēties vairāk kā asimetriskajai. Mazāk kravas ar varu tiks sūtīts atpakaļ ja noteikts daudzums tiks sūtīts uz piestātni. Ja jūs uzstādīsiet to uz 0% simetriskā sadale izturēsies tā pat kā asimetriskā. STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY :Ātruma mērvienības: {STRING} @@ -1737,6 +1755,7 @@ STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}Mainīt STR_CHEAT_SETUP_PROD :{LTBLUE}Ieslēgt ražojumu vērtības maiņu: {ORANGE}{STRING} # Livery window +STR_LIVERY_CAPTION :{WHITE}{COMPANY} - krāsu shēma STR_LIVERY_GENERAL_TOOLTIP :{BLACK}Rādīt vispārējo identitates krāsu shēmas STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Rādīt vilcienu identitātes krāsu shēmas @@ -2294,7 +2313,7 @@ STR_BUILD_SIGNAL_ELECTRIC_PBS_TOOLTIP :{BLACK}Ceļa si STR_BUILD_SIGNAL_ELECTRIC_PBS_OWAY_TOOLTIP :{BLACK}Vienvirziena ceļa signālierīce (elektriska){}Ceļa signāls ļauj iebraukt signāla blokā vairāk kā vienam vilcienam vienlaicīgi, ja vien vilciens var rezervēt drošu apstāšanās punktu. Vienvirziena ceļa signālierīcēm nevar pabraukt garām no aizmugures STR_BUILD_SIGNAL_CONVERT_TOOLTIP :{BLACK}Signālierīču pārveidotājs{}Kad ieslēgts, klikšķis uz jau esošas signālierīces pārveidos to uz norādīto signāla tipu un variantu. Ctrl+klikšķis pārslēgs pašreizējo variantu. Shift+klikšķis rāda pārveidošanas tāmes vērtību STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_TOOLTIP :{BLACK}Vilkt signālu biežumu -STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_DECREASE_TOOLTIP :{BLACK}Samazināt signālierīču biežumu +STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_DECREASE_TOOLTIP :{BLACK}Samazināt signālierīču attālumu STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_INCREASE_TOOLTIP :{BLACK}Palielināt signālierīču biežumu # Bridge selection window @@ -2619,11 +2638,19 @@ STR_ABOUT_VERSION :{BLACK}OpenTTD STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-{STRING} OpenTTD darba grupa # Framerate display window +STR_FRAMERATE_CAPTION :{WHITE}Kadru biežums +STR_FRAMERATE_RATE_GAMELOOP_TOOLTIP :{BLACK}Spēles tikšķu skaits, ko simulēt vienā sekundē. STR_FRAMERATE_SPEED_FACTOR :{WHITE}pašreizējās spēles ātruma pakāpe: {DECIMAL}x STR_FRAMERATE_SPEED_FACTOR_TOOLTIP :{BLACK}Cik ātri spēle šobrīd iet salīdzinot ar standarta ātrumu. +STR_FRAMERATE_FPS_GOOD :{LTBLUE}{DECIMAL} kadrs/i +STR_FRAMERATE_FPS_WARN :{YELLOW}{DECIMAL} kadri/s ############ Leave those lines in this order!! +STR_FRAMERATE_GAMESCRIPT :{BLACK} Spēles skripts: ############ End of leave-in-this-order ############ Leave those lines in this order!! +STR_FRAMETIME_CAPTION_GL_LANDSCAPE :Pasaules tikšķi +STR_FRAMETIME_CAPTION_DRAWING :Grafiku attēlošana +STR_FRAMETIME_CAPTION_DRAWING_VIEWPORTS :Pasaules skatvietas attēlošanu STR_FRAMETIME_CAPTION_VIDEO :{WHITE}video izeja ############ End of leave-in-this-order @@ -2656,6 +2683,7 @@ STR_SAVELOAD_OSKTITLE :{BLACK}Ievadīt # World generation STR_MAPGEN_WORLD_GENERATION_CAPTION :{WHITE}Pasaules radīšana STR_MAPGEN_MAPSIZE :{BLACK}Kartes izmēri: +STR_MAPGEN_MAPSIZE_TOOLTIP :{BLACK}Izvēlieties kartes izmēru, izteikts lauciņos. Pieejamo lauciņu skaits var būt nedaudz mazāks STR_MAPGEN_BY :{BLACK}* STR_MAPGEN_NUMBER_OF_TOWNS :{BLACK}Pilsētu daudzums: STR_MAPGEN_DATE :{BLACK}Datums: @@ -2849,6 +2877,7 @@ STR_NEWGRF_CONFIRMATION_TEXT :{YELLOW}Jūs gr STR_NEWGRF_DUPLICATE_GRFID :{WHITE}Nevar pievienot failu: vienādi GRF ID STR_NEWGRF_COMPATIBLE_LOADED :{ORANGE}Atbilstošs fails nav atrasts (ielādēts saderīgs GRF) +STR_NEWGRF_TOO_MANY_NEWGRFS :{WHITE}Nevar pievienot datni: sasniegts NewGRF datņu limits STR_NEWGRF_COMPATIBLE_LOAD_WARNING :{WHITE}Saderīgs GRF(s) ielādēts pazudušajiem failiem STR_NEWGRF_DISABLED_WARNING :{WHITE}Trūkstošie GRF faili tikuši atspējoti @@ -2865,6 +2894,7 @@ STR_NEWGRF_LIST_MISSING :{RED}Trūkst fa STR_NEWGRF_BROKEN :{WHITE}NewGRF uzvedība '{0:STRING}' visticamāk izraisīs desinhronizācijas vai avārijas STR_NEWGRF_BROKEN_POWERED_WAGON :{WHITE}Tas mainīja '{1:ENGINE}' vilcējvagona stāvokli ārpus depo STR_NEWGRF_BROKEN_VEHICLE_LENGTH :{WHITE}Tas mainīja transportlīdzekļa '{1:ENGINE}' garumu, kad tas neatradās depo +STR_NEWGRF_BROKEN_CAPACITY :{WHITE}Tas mainīja transportlīdzekļa ietilpību '{1:ENGINE}', kad neatrodas depo vai netiek pielāgots STR_BROKEN_VEHICLE_LENGTH :{WHITE}Vilciens '{VEHICLE}', kas pieder '{COMPANY}' ir ar nepareizu garumu. Iespējams, vainīga problēma ar NewGRF. Spēle var desinhronizēties vai avarēt STR_NEWGRF_BUGGY :{WHITE}NewGRF '{0:STRING}' sniedz nepareizu informāciju @@ -3038,6 +3068,7 @@ STR_STATION_LIST_NO_WAITING_CARGO :{BLACK}Neviena STR_STATION_VIEW_CAPTION :{WHITE}{STATION} {STATION_FEATURES} STR_STATION_VIEW_WAITING_CARGO :{WHITE}{CARGO_LONG} STR_STATION_VIEW_EN_ROUTE_FROM :{YELLOW}({CARGO_SHORT} no {STATION}) +STR_STATION_VIEW_RESERVED :{YELLOW}({CARGO_SHORT} rezervēts iekraušanai) STR_STATION_VIEW_ACCEPTS_BUTTON :{BLACK}Pieņem STR_STATION_VIEW_ACCEPTS_TOOLTIP :{BLACK}Rādīt pieņemamo kravu sarakstu @@ -3214,7 +3245,10 @@ STR_INDUSTRY_VIEW_LOCATION_TOOLTIP :{BLACK}Centrēt STR_INDUSTRY_VIEW_PRODUCTION_LEVEL :{BLACK}Ražošanas līmenis: {YELLOW}{COMMA}% STR_INDUSTRY_VIEW_INDUSTRY_ANNOUNCED_CLOSURE :{YELLOW}Nozare ir paziņojusi par nenovēršamu slēgšanu! +STR_INDUSTRY_VIEW_REQUIRES_N_CARGO :{BLACK}Pieprasa: {YELLOW}{STRING}{STRING} +STR_INDUSTRY_VIEW_PRODUCES_N_CARGO :{BLACK}Ražo: {YELLOW}{STRING}{STRING} +STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{STRING}{BLACK}: {CARGO_SHORT} gaida{STRING} STR_CONFIG_GAME_PRODUCTION :{WHITE}Mainīt ražošanu (dalāmais ar 8, līdz pat 2040) STR_CONFIG_GAME_PRODUCTION_LEVEL :{WHITE}Mainīt ražošanas līmeni (procentos, līdz 800%) @@ -3238,7 +3272,7 @@ STR_VEHICLE_LIST_AVAILABLE_SHIPS :Pieejamie kuģi STR_VEHICLE_LIST_AVAILABLE_AIRCRAFT :Pieejamie lidaparāti STR_VEHICLE_LIST_AVAILABLE_ENGINES_TOOLTIP :{BLACK}Apskatīties visus dzinējus projektējumus, kas pieejami šim transportlīdzekļu veidam. -STR_VEHICLE_LIST_MANAGE_LIST :{BLACK}Labot sarakstu +STR_VEHICLE_LIST_MANAGE_LIST :{BLACK}Pārvaldīt sarakstu STR_VEHICLE_LIST_MANAGE_LIST_TOOLTIP :{BLACK}Sūtīt norādījumus visiem transportlīdzekļiem, kas ir šajā sarakstā STR_VEHICLE_LIST_REPLACE_VEHICLES :Nomainīt transportlīdzekļus STR_VEHICLE_LIST_SEND_FOR_SERVICING :Sūtīt uz apkopi @@ -3272,6 +3306,7 @@ STR_GROUP_RENAME_TOOLTIP :{BLACK}Pārdēv STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Klikšķināt, lai pasargātu šo grupu no vispārējās automātiskās aizstāšanas STR_QUERY_GROUP_DELETE_CAPTION :{WHITE}Grupas dzēšana +STR_GROUP_DELETE_QUERY_TEXT :{WHITE}Vai tiešām vēlaties dzēst šo grupu un tās atvases (ja ir)? STR_GROUP_ADD_SHARED_VEHICLE :Pievienot kopīgos transportlīdzekļus STR_GROUP_REMOVE_ALL_VEHICLES :Novākt visus transportlīdzekļus @@ -3279,6 +3314,7 @@ STR_GROUP_REMOVE_ALL_VEHICLES :Novākt visus t STR_GROUP_RENAME_CAPTION :{BLACK}Pārdēvēt grupu STR_GROUP_PROFIT_THIS_YEAR :Ienākumi šajā gadā: +STR_GROUP_PROFIT_LAST_YEAR :Peļņa pērn: # Build vehicle window STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION :Jauni dzelzceļa transportlīdzekļi @@ -3311,6 +3347,7 @@ STR_PURCHASE_INFO_AIRCRAFT_CAPACITY :{BLACK}Ietilpī STR_PURCHASE_INFO_PWAGPOWER_PWAGWEIGHT :{BLACK}Motorvagoni: {GOLD}+{POWER}zs{BLACK} Svars: {GOLD}+{WEIGHT_SHORT} STR_PURCHASE_INFO_REFITTABLE_TO :{BLACK}Pielāgojams uz: {GOLD}{STRING} STR_PURCHASE_INFO_ALL_TYPES :Visi kravu veidi +STR_PURCHASE_INFO_NONE :Nav STR_PURCHASE_INFO_ALL_BUT :visu, izņemot {CARGO_LIST} STR_PURCHASE_INFO_MAX_TE :{BLACK}Maksimālais vilces spēks: {GOLD}{FORCE} STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Apgabas: {GOLD}{COMMA} lauciņi @@ -3325,6 +3362,7 @@ STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_BUTTON :{BLACK}Pirkt au STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_BUTTON :{BLACK}Pirkt kuģi STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_BUTTON :{BLACK}Pirkt lidaparātu +STR_BUY_VEHICLE_TRAIN_BUY_REFIT_VEHICLE_BUTTON :{BLACK} Pirkt un pielāgot transporta līdzekli STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_TOOLTIP :{BLACK}Pirkt atzīmēto vilciena vagonu. Shift+klikšķis rāda izmaksu novērtējumu, neveicot pirkumu STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_TOOLTIP :{BLACK}Pirkt atzīmēto transportlīdzekli. Shift+klikšķis rāda izmaksu novērtējumu, neveicot pirkumu @@ -3442,6 +3480,7 @@ STR_ENGINE_PREVIEW_CAPTION :{WHITE}Ziņojum STR_ENGINE_PREVIEW_MESSAGE :{GOLD}Mēs tikko esam izstrādājuši jaunu transportlīdzekli - {STRING}. Vai esat ieinteresēts iegūt izņēmuma tiesības izmantot šo transportlīdzekli uz vienu gadu, lai mēs redzētu tā iespējas pirms padaram pieejamu visiem? STR_ENGINE_PREVIEW_RAILROAD_LOCOMOTIVE :dzelzceļa lokomotīve +STR_ENGINE_PREVIEW_ELRAIL_LOCOMOTIVE :elektrificēta dzelzceļa lokomotīve STR_ENGINE_PREVIEW_MONORAIL_LOCOMOTIVE :viensliedes lokomotīve STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE :magleva lokomotīve @@ -3488,6 +3527,7 @@ STR_REPLACE_ELRAIL_VEHICLES :Elektrificētā STR_REPLACE_MONORAIL_VEHICLES :Viensliedes transportlīdzekļi STR_REPLACE_MAGLEV_VEHICLES :Magleva transportlīdzekļi +STR_REPLACE_ROAD_VEHICLES :Autotransporta līdzekļi STR_REPLACE_REMOVE_WAGON :{BLACK}Vagona noņemšana: {ORANGE}{STRING} STR_REPLACE_REMOVE_WAGON_HELP :{BLACK}Automātiskā aizvietošana saglabās esošo vilciena garumu noņemot vagonus (sākot no priekšgala), ja mainot lokomotīvi tas kļūtu garāks @@ -3817,6 +3857,7 @@ STR_TIMETABLE_TRAVEL_NOT_TIMETABLED :Braukšana (nav STR_TIMETABLE_TRAVEL_NOT_TIMETABLED_SPEED :Braukt ar ne vairāk kā {2:VELOCITY} (nav sarakstā) STR_TIMETABLE_TRAVEL_FOR :Braukt līdz {STRING} STR_TIMETABLE_TRAVEL_FOR_SPEED :Braukt uz {STRING} ar ne vairāk kā {VELOCITY} +STR_TIMETABLE_STAY_FOR_ESTIMATED :(stāvēt {STRING}, nav sarakstā) STR_TIMETABLE_STAY_FOR :un palikt līdz {STRING} STR_TIMETABLE_AND_TRAVEL_FOR :un braukt līdz {STRING} STR_TIMETABLE_DAYS :{COMMA}{NBSP}dien{P a as u} @@ -3931,6 +3972,8 @@ STR_AI_LIST_ACCEPT_TOOLTIP :{BLACK}Izvēlē STR_AI_LIST_CANCEL :{BLACK}Atcelt STR_AI_LIST_CANCEL_TOOLTIP :{BLACK}Nemainīt skriptu +STR_SCREENSHOT_ZOOMIN_SCREENSHOT :{BLACK}Pilnībā pietuvināts ekrānuzņēmums +STR_SCREENSHOT_WORLD_SCREENSHOT :{BLACK}Visas kartes ekrānuzņēmums # AI Parameters STR_AI_SETTINGS_CAPTION :{WHITE}{STRING} parametri @@ -4105,6 +4148,7 @@ STR_ERROR_FOREST_CAN_ONLY_BE_PLANTED :{WHITE}... mež STR_ERROR_CAN_ONLY_BE_BUILT_ABOVE_SNOW_LINE :{WHITE}... var būvēt tikai sniegotajos apgabalos STR_ERROR_CAN_ONLY_BE_BUILT_BELOW_SNOW_LINE :{WHITE}... var būvēt tikai bezsniega apgabalos +STR_ERROR_NO_SUITABLE_PLACES_FOR_INDUSTRIES_EXPLANATION :{WHITE}Mainīt kartes ģenerēšanas parametrus, lai iegūtu labāku karti # Station construction related errors STR_ERROR_CAN_T_BUILD_RAILROAD_STATION :{WHITE}Šeit nevar būvēt dzelzceļa staciju... diff --git a/src/lang/luxembourgish.txt b/src/lang/luxembourgish.txt index daf35493ac..0d23f442eb 100644 --- a/src/lang/luxembourgish.txt +++ b/src/lang/luxembourgish.txt @@ -1309,6 +1309,8 @@ STR_CONFIG_SETTING_POPULATION_IN_LABEL :Weis d'Awunnerz STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :Weis d'Awunnerzuel vu Stied an deenen hirem Label un op der Kaart STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Déckt vun de Linnen vun de Grafiken: {STRING} STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Breed vun de Linnen an de Grafiken. Eng dënn Linn kann méi präzis gelies ginn, eng méi déck kann besser gesinn ginn an d'Faarwen sinn besser ze ënnerscheeden +STR_CONFIG_SETTING_SHOW_NEWGRF_NAME :Den NewGRF Numm an der Gefier-kafen Fënster uweisen: {STRING} +STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :Weist eng Zeil an der Fënster un wou Gefier kaf ginn, aus wéi engem NewGRF dat Gefier geluede gouf. STR_CONFIG_SETTING_LANDSCAPE :Landschaft: {STRING} STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :Landschaften definéiren basis Spillszenarien mat verschiddenen Wueren an Stiedwuesstumviraussetzungen. NewGRF an Gamescripter erlaben méi fein Astellungen. @@ -2166,6 +2168,7 @@ STR_NETWORK_ERROR_WRONG_PASSWORD :{WHITE}Falscht STR_NETWORK_ERROR_SERVER_FULL :{WHITE}De Server ass voll STR_NETWORK_ERROR_SERVER_BANNED :{WHITE}Du bass vun dësem Server gebannt STR_NETWORK_ERROR_KICKED :{WHITE}Du goufs aus dem Spill geheit +STR_NETWORK_ERROR_KICK_MESSAGE :{WHITE}Grond: {STRING} STR_NETWORK_ERROR_CHEATER :{WHITE}Cheaten ass op dësem Server net erlaabt STR_NETWORK_ERROR_TOO_MANY_COMMANDS :{WHITE}Du hues zevill Befehler un de Server geschéckt STR_NETWORK_ERROR_TIMEOUT_PASSWORD :{WHITE}Du hues ze laang gebraucht fir e Passwuert anzeginn @@ -2225,6 +2228,7 @@ STR_NETWORK_MESSAGE_GIVE_MONEY :*** {STRING} hu STR_NETWORK_MESSAGE_GAVE_MONEY_AWAY :*** Du hues dem {1:STRING} {2:CURRENCY_LONG} ginn STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}De Server huet d'Sessioun zougemaach STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}De Server gëtt nei gestart...{}W.e.g. waarden... +STR_NETWORK_MESSAGE_KICKED :*** {STRING} gouf gekickt. Grond: ({STRING}) # Content downloading window STR_CONTENT_TITLE :{WHITE}Lueden Inhalt erof @@ -3399,6 +3403,10 @@ STR_INDUSTRY_DIRECTORY_ITEM_PROD2 :{ORANGE}{INDUST STR_INDUSTRY_DIRECTORY_ITEM_PROD3 :{ORANGE}{INDUSTRY} {STRING}, {STRING}, {STRING} STR_INDUSTRY_DIRECTORY_ITEM_PRODMORE :{ORANGE}{INDUSTRY} {STRING}, {STRING}, {STRING} an nach {NUM} méi... STR_INDUSTRY_DIRECTORY_LIST_CAPTION :{BLACK}Industrienimm - klick op en Numm fir d'Usiicht do drop ze zentréieren. Ctrl+Klick erstellt eng nei Usiicht op d'Industrie +STR_INDUSTRY_DIRECTORY_ACCEPTED_CARGO_FILTER :{BLACK}Akzeptéiert Wuer: {SILVER}{STRING} +STR_INDUSTRY_DIRECTORY_PRODUCED_CARGO_FILTER :{BLACK}Produzéiert Wuer: {SILVER}{STRING} +STR_INDUSTRY_DIRECTORY_FILTER_ALL_TYPES :All Wuerentypen +STR_INDUSTRY_DIRECTORY_FILTER_NONE :Keng # Industry view STR_INDUSTRY_VIEW_CAPTION :{WHITE}{INDUSTRY} @@ -4179,6 +4187,7 @@ STR_SCREENSHOT_ZOOMIN_SCREENSHOT :{BLACK}Voll gez STR_SCREENSHOT_DEFAULTZOOM_SCREENSHOT :{BLACK}Standard Zoom-Screenshot STR_SCREENSHOT_WORLD_SCREENSHOT :{BLACK}Screenshot vun der ganzer Kaart STR_SCREENSHOT_HEIGHTMAP_SCREENSHOT :{BLACK}Héichtekaartscreenshot +STR_SCREENSHOT_MINIMAP_SCREENSHOT :{BLACK}Minimap-Screenshot # AI Parameters STR_AI_SETTINGS_CAPTION :{WHITE}{STRING} Parameter diff --git a/src/lang/spanish_MX.txt b/src/lang/spanish_MX.txt index db8e547514..5b9fd602ee 100644 --- a/src/lang/spanish_MX.txt +++ b/src/lang/spanish_MX.txt @@ -3980,7 +3980,7 @@ STR_ORDER_GO_TO_NEAREST_DEPOT :Ir al depósito STR_ORDER_GO_TO_NEAREST_HANGAR :Ir al hangar más cercano STR_ORDER_CONDITIONAL :Salto de orden condicional STR_ORDER_SHARE :Compartir órdenes -STR_ORDERS_GO_TO_TOOLTIP :{BLACK}Añadir nueva orden antes de la orden marcada o añadirla al final de la lista. Ctrl+Clic sobre una estación para establecer la orden a 'Cargar máx. cualquier carga', sobre un punto guía para 'Sin paradas' y sobre un depósito para 'Mantenimiento' (esta última desactivará el mantenimiento automático). Ctrl+Clic sobre otro vehículo para hacer que ambos compartan siempre las mismas órdenes. Clic sobre un vehículo para copiar sus órdenes (sin compartirlas). +STR_ORDERS_GO_TO_TOOLTIP :{BLACK}Añadir nueva orden antes de la orden marcada o añadirla al final de la lista. Ctrl+Clic en una estación para establecer la orden a 'Cargar máx. cualquier carga', en un punto de ruta para 'Sin paradas' y en un depósito para 'Mantenimiento' (desactiva el mantenimiento automático). Ctrl+Clic en otro vehículo para que ambos compartan las mismas órdenes. Clic en un vehículo para copiar sus órdenes (sin compartirlas). STR_ORDERS_VEH_WITH_SHARED_ORDERS_LIST_TOOLTIP :{BLACK}Ver todos los vehículos que comparten el mismo itinerario diff --git a/src/lang/tamil.txt b/src/lang/tamil.txt index c338e584f9..9b27d0cfd1 100644 --- a/src/lang/tamil.txt +++ b/src/lang/tamil.txt @@ -235,6 +235,7 @@ STR_TOOLTIP_FILTER_CRITERIA :{BLACK}Select f STR_BUTTON_SORT_BY :{BLACK}Sort by STR_BUTTON_LOCATION :{BLACK}Location STR_BUTTON_RENAME :{BLACK}Rename +STR_TOOLTIP_CATCHMENT :{BLACK}தழுவு பகுதி காட்சியை நிலைமாற்று STR_TOOLTIP_CLOSE_WINDOW :{BLACK}சாளரத்தை மூடு STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS :{BLACK}சாளர தலைப்பு - சாளரத்தை நகர்த்த இழுக்கவும் @@ -817,6 +818,7 @@ STR_NEWS_VEHICLE_HAS_TOO_FEW_ORDERS :{WHITE}{VEHICLE STR_NEWS_VEHICLE_HAS_VOID_ORDER :{WHITE}{VEHICLE} பிழையான கட்டளையைக் கொண்டுள்ளது STR_NEWS_VEHICLE_HAS_DUPLICATE_ENTRY :{WHITE}{VEHICLE} இரட்டடிப்பு கட்டளைகளைக் கொண்டுள்ளது STR_NEWS_VEHICLE_HAS_INVALID_ENTRY :{WHITE}{VEHICLE} பிழையான நிலையத்தினை கட்டளைகளில் கொண்டுள்ளது +STR_NEWS_PLANE_USES_TOO_SHORT_RUNWAY :{WHITE}{VEHICLE} அதன் ஆர்டர்களில் ஓடுபாதை மிகக் குறுகியதாக இருக்கும் விமான நிலையத்தைக் கொண்டுள்ளது STR_NEWS_VEHICLE_IS_GETTING_OLD :{WHITE}{VEHICLE} பழையதாகிறது STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD :{WHITE}{VEHICLE} பழையதாகிறது @@ -1359,6 +1361,7 @@ STR_CONFIG_SETTING_NEWS_CHANGES_ACCEPTANCE :சரக்க STR_CONFIG_SETTING_NEWS_SUBSIDIES :மானியங்கள்: {STRING} STR_CONFIG_SETTING_NEWS_SUBSIDIES_HELPTEXT :மானியம் தொடர்பான நிகழ்வுகள் பற்றி செய்தித்தாளினைக் காட்டவும் STR_CONFIG_SETTING_NEWS_GENERAL_INFORMATION :பொதுவான விவரம்: {STRING} +STR_CONFIG_SETTING_NEWS_GENERAL_INFORMATION_HELPTEXT :பிரத்தியேக உரிமைகள் வாங்குதல் அல்லது சாலை புனரமைப்புக்கு நிதியளித்தல் போன்ற பொதுவான நிகழ்வுகளைப் பற்றி செய்தித்தாளைக் காண்பி STR_CONFIG_SETTING_NEWS_MESSAGES_OFF :நிறுத்து STR_CONFIG_SETTING_NEWS_MESSAGES_SUMMARY :தொகுப்பு @@ -1394,6 +1397,7 @@ STR_CONFIG_SETTING_ALLOW_TOWN_ROADS :நகரங் STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS :நகரங்கள் சாலைச் சந்திப்புகளை கட்ட அனுமதி: {STRING} STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS_HELPTEXT :இந்த அமைப்பு நகராட்சிகள் இருப்புப்பாதை சந்திக் கடவுகளைக் கட்ட அனுமதிக்கும் STR_CONFIG_SETTING_NOISE_LEVEL :விமான நிலையங்களுக்கு நகராட்சியால் நிர்ணயிக்கப்பட்ட இரைச்சல் அளவினை அனுமதிக்கவும்: {STRING} +STR_CONFIG_SETTING_NOISE_LEVEL_HELPTEXT :இந்த அமைப்பு முடக்கப்பட்டுள்ளதால், ஒவ்வொரு ஊரிலும் இரண்டு விமான நிலையங்கள் இருக்கலாம். இந்த அமைப்பு இயக்கப்பட்டவுடன், ஒரு நகரத்தின் விமான நிலையங்களின் எண்ணிக்கை நகரத்தின் சத்தத்தை ஏற்றுக்கொள்வதன் மூலம் வரையறுக்கப்படுகிறது, இது மக்கள் தொகை மற்றும் விமான நிலைய அளவு மற்றும் தூரத்தைப் பொறுத்தது STR_CONFIG_SETTING_TOWN_FOUNDING :ஆட்டத்தில் நகரங்களை நிறுவ அனுமதி: {STRING} STR_CONFIG_SETTING_TOWN_FOUNDING_HELPTEXT :இந்த அமைப்பு விளியாடுபவர்கள் ஆட்டத்தில் புதிய நகரங்களை நிறுவ அனுமதிக்கும் STR_CONFIG_SETTING_TOWN_FOUNDING_FORBIDDEN :இயலாது @@ -1541,6 +1545,7 @@ STR_INTRO_TOOLTIP_LOAD_GAME :{BLACK}பத STR_INTRO_TOOLTIP_PLAY_HEIGHTMAP :{BLACK}புதிய ஆட்டத்தினைத் தொடங்கு, உயர்படத்தினை நிலப்பரப்பிற்கு பயன்படுத்தி STR_INTRO_TOOLTIP_MULTIPLAYER :{BLACK}புதிய பல்வீரர் ஆட்டத்தினைத் தொடங்கவும் +STR_INTRO_TOOLTIP_TEMPERATE :{BLACK}'வெப்பமண்டல' நிலப்பரப்புப் பாணியைத் தேர்ந்தெடுக்கவும் STR_INTRO_TOOLTIP_SUB_ARCTIC_LANDSCAPE :{BLACK}'உபதுருவ' நிலப்பரப்புப் பாணியைத் தேர்ந்தெடுக்கவும் STR_INTRO_TOOLTIP_SUB_TROPICAL_LANDSCAPE :{BLACK}'மிதவெப்பமண்டல' நிலப்பரப்புப் பாணியைத் தேர்ந்தெடுக்கவும் STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}'பொம்மைநில' நிலப்பரப்புப் பாணியைத் தேர்ந்தெடுக்கவும் @@ -2019,11 +2024,13 @@ STR_CONTENT_ERROR_COULD_NOT_DOWNLOAD_FILE_NOT_WRITABLE :{WHITE}... க STR_CONTENT_ERROR_COULD_NOT_EXTRACT :{WHITE}பதிவிறக்கம் செய்யப்பட்ட கோப்பினை விரிவாக்க முடியவில்லை STR_MISSING_GRAPHICS_SET_CAPTION :{WHITE}அசைவூட்டங்கள் இல்லை +STR_MISSING_GRAPHICS_SET_MESSAGE :{BLACK}OpenTTD க்கு கிராபிக்ஸ் செயல்பட வேண்டும், ஆனால் எதுவும் கண்டுபிடிக்கப்படவில்லை. இந்த கிராபிக்ஸ் பதிவிறக்கம் செய்து நிறுவ OpenTTD ஐ அனுமதிக்கிறீர்களா? STR_MISSING_GRAPHICS_YES_DOWNLOAD :{BLACK}ஆம், அசையூட்டங்களை பதிவிறக்கம் செய் STR_MISSING_GRAPHICS_NO_QUIT :{BLACK}இல்லை, OpenTTD-ஐ விட்டு வெளியேறு # Transparency settings window STR_TRANSPARENCY_CAPTION :{WHITE}ஒளி அமைப்புகள் +STR_TRANSPARENT_HOUSES_TOOLTIP :{BLACK}வீடுகளுக்கான வெளிப்படைத்தன்மையை நிலைமாற்று. Ctrl + கிளிக் பூட்ட செய்க # Linkgraph legend window STR_LINKGRAPH_LEGEND_ALL :{BLACK}அனைத்தும் @@ -2132,6 +2139,7 @@ STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_TUNNEL :{BLACK}ட் STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_ROAD :{BLACK}சாலை கட்டுமானம் செய்யவும்/நீக்கவும் STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_TRAMWAYS :{BLACK}ட்ராம்வே கட்டுமானம் செய்யவும்/நீக்கவும் +STR_ROAD_NAME_ROAD :சாலை # Road depot construction window STR_BUILD_DEPOT_ROAD_ORIENTATION_CAPTION :{WHITE}சாலை வாகன பணிமனை திசையமைப்பு @@ -2619,6 +2627,7 @@ STR_NEWGRF_ERROR_OTTD_VERSION_NUMBER :{1:STRING} இ STR_NEWGRF_ERROR_AFTER_TRANSLATED_FILE :GRF கோப்பு மொழிபெயர்க்க வடிமைக்கப்பட்டது STR_NEWGRF_ERROR_TOO_MANY_NEWGRFS_LOADED :அளவிற்கு அதிகமான NewGRF கள் ஏற்றப்பட்டுள்ளன STR_NEWGRF_ERROR_UNEXPECTED_SPRITE :எதிர்பார்க்கப்படாத ஸ்பிரைட்டு(ஸ்பிரைட்டு {3:NUM}) +STR_NEWGRF_ERROR_MULTIPLE_ACTION_8 :பல அதிரடி 8 உள்ளீடுகளைக் கொண்டுள்ளது (ஸ்பிரிட் {3:NUM}) STR_NEWGRF_ERROR_GRM_FAILED :கேட்கப்பட்ட GRF கள் கிடைக்கவில்லை (ஸ்பிரைட்டு {3:NUM}) STR_NEWGRF_ERROR_FORCEFULLY_DISABLED :{1:STRING}, {STRING}ஆல் செயலிழக்க செய்யப்பட்டது @@ -2830,6 +2839,8 @@ STR_STATION_VIEW_TO_HERE :{GREEN}{CARGO_S STR_STATION_VIEW_NONSTOP :{YELLOW}{CARGO_SHORT} எங்கும் நிற்காமல் STR_STATION_VIEW_GROUP_S_V_D :மூலம்-வழியாக-சேருமிடம் +STR_STATION_VIEW_GROUP_S_D_V :மூல-சேருமிடம்-வழியாக +STR_STATION_VIEW_GROUP_D_V_S :மூல-வழியாக-இலக்கு ############ range for rating starts STR_CARGO_RATING_APPALLING :மட்டம் @@ -2842,6 +2853,7 @@ STR_CARGO_RATING_EXCELLENT :சிறப் STR_CARGO_RATING_OUTSTANDING :மிகச்சிறப்பு ############ range for rating ends +STR_STATION_VIEW_CENTER_TOOLTIP :{BLACK}நிலைய இருப்பிடத்தின் மையக் காட்சி. Ctrl + Click நிலைய இருப்பிடத்தில் புதிய காட்சிப்பலகையைத் திறக்கிறது STR_STATION_VIEW_RENAME_TOOLTIP :{BLACK}நிலையத்தின் பெயரை மாற்று STR_STATION_VIEW_SCHEDULED_TRAINS_TOOLTIP :{BLACK}இந்த நிலையத்தினை அட்டவணையில் வைத்துள்ள அனைத்து இரயில்களையும் காட்டு @@ -3093,6 +3105,7 @@ STR_BUY_VEHICLE_AIRCRAFT_RENAME_TOOLTIP :{BLACK}வி STR_BUY_VEHICLE_AIRCRAFT_HIDE_TOGGLE_BUTTON :{BLACK}மறை STR_BUY_VEHICLE_ROAD_VEHICLE_SHOW_TOGGLE_BUTTON :{BLACK}காட்சி +STR_BUY_VEHICLE_SHIP_SHOW_TOGGLE_BUTTON :{BLACK}காட்சி STR_BUY_VEHICLE_SHIP_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}கப்பல் வகையினை காட்டு/மறை @@ -3208,6 +3221,7 @@ STR_REPLACE_VEHICLES_STOP :{BLACK}வா STR_REPLACE_ENGINES :பொறிகள் STR_REPLACE_WAGONS :வாகனங்கள் +STR_REPLACE_HELP_REPLACE_INFO_TAB :{BLACK}இடது தேர்ந்தெடுக்கப்பட்ட இயந்திரம் ஏதேனும் இருந்தால் மாற்றப்படும் எந்த இயந்திரத்தைக் காட்டுகிறது STR_REPLACE_RAIL_VEHICLES :இரயில் வாகனங்கள் STR_REPLACE_ELRAIL_VEHICLES :மின்சார இரயில் வாகனங்கள் STR_REPLACE_MONORAIL_VEHICLES :மோனோ இரயில் வாகனங்கள் @@ -3587,6 +3601,7 @@ STR_AI_DEBUG_SETTINGS :{BLACK}அம STR_AI_DEBUG_SETTINGS_TOOLTIP :{BLACK}வரிவடிவத்தின் அமைப்புகளை மாற்று STR_AI_DEBUG_RELOAD :{BLACK}AI-ஐ மறுபடியும் ஏற்று STR_AI_DEBUG_RELOAD_TOOLTIP :{BLACK}AI இனை நிறுத்தவும், வரிவடிவத்தினை திருப்பி ஏற்றவும், மேலும் AI இனை மீண்டும் தொடங்கவும் +STR_AI_DEBUG_BREAK_STR_ON_OFF_TOOLTIP :{BLACK}AI பதிவு செய்தி இடைவெளி சரத்துடன் பொருந்தும்போது உடைப்பதை இயக்கவும் / முடக்கவும் STR_AI_DEBUG_BREAK_ON_LABEL :{BLACK}உடைத்து ஆம்: STR_AI_DEBUG_BREAK_STR_OSKTITLE :{BLACK}உடைத்து ஆம் STR_AI_DEBUG_MATCH_CASE :{BLACK}case இனை சரிபடுத்தவும் @@ -3637,6 +3652,7 @@ STR_AI_LIST_ACCEPT_TOOLTIP :{BLACK}கு STR_AI_LIST_CANCEL :{BLACK}இரத்து செய் STR_AI_LIST_CANCEL_TOOLTIP :{BLACK}வரிவடிவத்தினை மாற்றாதே +STR_SCREENSHOT_SCREENSHOT :{BLACK}சாதாரண திரைப்பிடிப்பு # AI Parameters STR_AI_SETTINGS_CAPTION :{WHITE}{STRING} குணாதிசயங்கள் diff --git a/src/lang/unfinished/urdu.txt b/src/lang/unfinished/urdu.txt index 30d80d58a1..618b643ebf 100644 --- a/src/lang/unfinished/urdu.txt +++ b/src/lang/unfinished/urdu.txt @@ -2115,7 +2115,6 @@ STR_FOUND_TOWN_SELECT_LAYOUT_RANDOM :{G=f}{BLACK}ک # About OpenTTD window STR_ABOUT_OPENTTD :{WHITE}اوپن ٹی ٹی ڈی کے متعلق -STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} ٢٠٠٢ - ٢٠١٦ OpenTTD ٹیم # Framerate display window ############ Leave those lines in this order!! diff --git a/src/lang/welsh.txt b/src/lang/welsh.txt index 4a5cbdc0ca..fcf9dbac47 100644 --- a/src/lang/welsh.txt +++ b/src/lang/welsh.txt @@ -1333,6 +1333,7 @@ STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_HELPTEXT :Lliw y tirwedd STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_GREEN :Gwyrdd STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_DARK_GREEN :Gwyrdd tywyll STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_VIOLET :Fioled +STR_CONFIG_SETTING_SCROLLMODE_HELPTEXT :Ymddygiad tra'n sgrolio'r map STR_CONFIG_SETTING_SMOOTH_SCROLLING :Sgrolio prif ffenestr llyfn: {STRING} STR_CONFIG_SETTING_SMOOTH_SCROLLING_HELPTEXT :Rheoli syt y mae'r prif olygfa'n sgrolio at leoliad penodol pan yn clicio ar y map bychan neu yn rhoi gorchymyn i sgrolio at wrthrych penodol STR_CONFIG_SETTING_MEASURE_TOOLTIP :Dangos cymorth mesur wrth ddefnyddio'r offer adeiladu amrywiol: {STRING} @@ -2681,14 +2682,17 @@ STR_ABOUT_VERSION :{BLACK}fersiwn STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-{STRING} Y tîm OpenTTD # Framerate display window +STR_FRAMERATE_RATE_GAMELOOP_TOOLTIP :{BLACK}Nifer y ticiau gêm a efelychir bob eiliad. STR_FRAMERATE_RATE_BLITTER_TOOLTIP :{BLACK}Nifer o fframiau fideo a lunir bob eiliad. STR_FRAMERATE_SPEED_FACTOR_TOOLTIP :{BLACK}Pa mor gyflym mae'r gêm yn rhedeg, o gymharu a'r cyflymder i'w ddisgwyl ar gyfradd efelychu arferol. +STR_FRAMERATE_AVERAGE :{WHITE}Cymedr STR_FRAMERATE_FPS_GOOD :{LTBLUE}{DECIMAL} frâm yr eiliad ############ Leave those lines in this order!! STR_FRAMERATE_GL_ECONOMY :{BLACK} Trin cargo: ############ End of leave-in-this-order ############ Leave those lines in this order!! STR_FRAMETIME_CAPTION_VIDEO :Allbwn fideo +STR_FRAMETIME_CAPTION_SOUND :Cymysgu sain ############ End of leave-in-this-order From 430ce20f8db711cff7dafcd6cadbce2ff6514e1f Mon Sep 17 00:00:00 2001 From: Charles Pigott Date: Sun, 10 May 2020 21:06:40 +0100 Subject: [PATCH 40/40] Doc: 1.10.2 release --- changelog.txt | 23 +++++++++++++++++++++++ known-bugs.txt | 4 ++-- os/debian/changelog | 6 ++++++ os/os2/installer/make_installer.cmd | 2 +- os/rpm/openttd.spec | 4 ++-- os/windows/installer/install.nsi | 4 ++-- 6 files changed, 36 insertions(+), 7 deletions(-) diff --git a/changelog.txt b/changelog.txt index 0e31ee3fe5..5f60c06174 100644 --- a/changelog.txt +++ b/changelog.txt @@ -1,3 +1,26 @@ +1.10.2 (2020-06-01) +------------------------------------------------------------------------ +Add: Ubuntu 20.04 packages (#8127) +Fix: [OSX] Possible crash on failure to set colourspace (#8181) +Fix #8166: Prevent crash from a NewGRF with an invalid RoadType (#8180) +Fix #8024: Make Online Content GUI more responsive while loading (#8179) +Fix #7970: Disable event loop when generating crash dump (#8176) +Fix: [Build] Compatibility with modern Visual Studio (#8170) +Fix: Trees would disappear completely after a few years if tree spread was disabled (#8160) +Fix #8155: Roadtype speed limit in scenario editor toolbar dropdown was doubled (#8156) +Fix: Desync after house replacement (#8151) +Fix #8137: New clients can't join (desync) after funding an industry (#8140) +Fix #8132: Corrupted savegame with station with multiple owners caused a crash (#8134, #8142) +Fix: Stop gamelog when recovering from a savegame load error (#8133) +Fix: Exceptionally unlikely issue when reading MIDI files (#8125) +Fix #8119: Docking areas were not properly updated when clearing, causing desyncs (#8124, #8130) +Fix #8117: Memory leak for incoming admin port packets (#8122) +Fix: Non-roadbridges potentially had roadtype information set (#8111) +Fix #8108: Possible crash on loading TTD savegames with phantom oil rigs (#8109, #8110) +Fix #8093: Build & refit test run changed game state and could cause desyncs (#8103) +Fix: [Script] AreWaterTilesConnected did not handle aqueducts properly (#8074) + + 1.10.1 (2020-04-13) ------------------------------------------------------------------------ Fix #8081: Crash when placing a ship depot next to a dock (#8082) diff --git a/known-bugs.txt b/known-bugs.txt index 7b0277aa07..a27411e6b1 100644 --- a/known-bugs.txt +++ b/known-bugs.txt @@ -1,6 +1,6 @@ OpenTTD's known bugs -Last updated: 2020-04-13 -Release version: 1.10.1 +Last updated: 2020-06-01 +Release version: 1.10.2 ------------------------------------------------------------------------ diff --git a/os/debian/changelog b/os/debian/changelog index c9efabe8c4..6a7c6197ba 100644 --- a/os/debian/changelog +++ b/os/debian/changelog @@ -1,3 +1,9 @@ +openttd (1.10.2-0) unstable; urgency=low + + * New upstream release 1.10.2 + + -- OpenTTD Mon, 01 Jun 2020 22:00:00 +0100 + openttd (1.10.1-0) unstable; urgency=low * New upstream release 1.10.1 diff --git a/os/os2/installer/make_installer.cmd b/os/os2/installer/make_installer.cmd index 3addeca1ae..97357c69b6 100644 --- a/os/os2/installer/make_installer.cmd +++ b/os/os2/installer/make_installer.cmd @@ -1,6 +1,6 @@ @echo off -set OPENTTD_VERSION=1.10.0 +set OPENTTD_VERSION=1.10.2 set OPENSFX_VERSION=0.8.0 set NOSOUND_VERSION=0.8.0 set OPENGFX_VERSION=1.2.0 diff --git a/os/rpm/openttd.spec b/os/rpm/openttd.spec index ad2e19ab59..1cb1b16f68 100644 --- a/os/rpm/openttd.spec +++ b/os/rpm/openttd.spec @@ -17,9 +17,9 @@ # Name: openttd -Version: 1.10.1 +Version: 1.10.2 Release: 0 -%define srcver 1.10.1 +%define srcver 1.10.2 Summary: An open source reimplementation of Chris Sawyer's Transport Tycoon Deluxe License: GPL-2.0 Group: Amusements/Games/Strategy/Other diff --git a/os/windows/installer/install.nsi b/os/windows/installer/install.nsi index 0db8245cc1..5846ee046e 100644 --- a/os/windows/installer/install.nsi +++ b/os/windows/installer/install.nsi @@ -1,8 +1,8 @@ # Version numbers to update !define APPV_MAJOR 1 !define APPV_MINOR 10 -!define APPV_MAINT 1 -!define APPV_BUILD 4 +!define APPV_MAINT 2 +!define APPV_BUILD 0 !define APPV_EXTRA "" !define APPNAME "OpenTTD" ; Define application name