diff --git a/Makefile.src.in b/Makefile.src.in index f2d18cccfe..78413af7c5 100644 --- a/Makefile.src.in +++ b/Makefile.src.in @@ -92,7 +92,8 @@ MODIFIED := $(shell echo "$(VERSIONS)" | cut -f 3 -d' ') # Use autodetected revisions VERSION := $(shell echo "$(VERSIONS)" | cut -f 1 -d' ') ISODATE := $(shell echo "$(VERSIONS)" | cut -f 2 -d' ') -GITHASH := $(shell echo "$(VERSIONS)" | cut -f 3 -d' ') +GITHASH := $(shell echo "$(VERSIONS)" | cut -f 4 -d' ') +ISTAG := $(shell echo "$(VERSIONS)" | cut -f 5 -d' ') # Make sure we have something in VERSION and ISODATE ifeq ($(VERSION),) @@ -280,10 +281,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@\!\!CONFIGURE_INVOCATION\!\!@$(CONFIGURE_INVOCATION)@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@\!\!CONFIGURE_INVOCATION\!\!@$(CONFIGURE_INVOCATION)@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" > $(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" > $(SRC_DIR)/os/windows/ottdres.rc FORCE: diff --git a/azure-pipelines-release-stable.yml b/azure-pipelines-release-stable.yml index 3c42c6bee5..ee756ca9ee 100644 --- a/azure-pipelines-release-stable.yml +++ b/azure-pipelines-release-stable.yml @@ -1,4 +1,7 @@ -trigger: none +trigger: + branches: + include: + - refs/tags/* pr: none jobs: diff --git a/azure-pipelines/changelog.sh b/azure-pipelines/changelog.sh index 71bc56fac7..33eb8a78d4 100755 --- a/azure-pipelines/changelog.sh +++ b/azure-pipelines/changelog.sh @@ -2,13 +2,9 @@ tag=$(git describe --tags 2>/dev/null) -# If we are a tag, show the part of the changelog that matches the tag. -# In case of a stable, also show all betas and RCs. +# If we are a tag, show the part of the changelog till (but excluding) the last stable if [ -n "$tag" ]; then - grep="." - if [ "$(echo $tag | grep '-')" = "" ]; then - grep='^[0-9]\.[0-9]\.[0-9][^-]' - fi + grep='^[0-9]\.[0-9]\.[0-9][^-]' next=$(cat changelog.txt | grep '^[0-9]' | awk 'BEGIN { show="false" } // { if (show=="true") print $0; if ($1=="'$tag'") show="true"} ' | grep "$grep" | head -n1 | sed 's/ .*//') cat changelog.txt | awk 'BEGIN { show="false" } /^[0-9].[0-9].[0-9]/ { if ($1=="'$next'") show="false"; if ($1=="'$tag'") show="true";} // { if (show=="true") print $0 }' exit 0 diff --git a/azure-pipelines/manifest.sh b/azure-pipelines/manifest.sh index 4d11972777..d8f4f9aac9 100755 --- a/azure-pipelines/manifest.sh +++ b/azure-pipelines/manifest.sh @@ -15,7 +15,7 @@ if [ ! -e .version ] || [ ! -e .release_date ]; then fi # Find the name based on the version -if [ "${ISSTABLERELEASE}" = "true" ]; then +if [ -e .is_stable ]; then isTesting=$(cat .version | grep "RC\|beta" || true) if [ -z "${isTesting}" ]; then NAME="stable" diff --git a/azure-pipelines/templates/release-manifest.yml b/azure-pipelines/templates/release-manifest.yml index 5c076b30e9..9e8b486d5c 100644 --- a/azure-pipelines/templates/release-manifest.yml +++ b/azure-pipelines/templates/release-manifest.yml @@ -1,3 +1,6 @@ +parameters: + IsStableRelease: false + steps: - task: DownloadBuildArtifacts@0 displayName: 'Download all bundles' @@ -5,6 +8,10 @@ steps: downloadType: specific itemPattern: 'bundles/*' downloadPath: '$(Build.ArtifactStagingDirectory)' +- ${{ if eq(parameters.IsStableRelease, true) }}: + - script: | + touch .is_stable + displayName: 'Mark as stable release' - script: | set -ex ./azure-pipelines/manifest.sh ../a/bundles/ diff --git a/azure-pipelines/templates/release-prepare-source.yml b/azure-pipelines/templates/release-prepare-source.yml index 22ec126b1f..b20bf0b350 100644 --- a/azure-pipelines/templates/release-prepare-source.yml +++ b/azure-pipelines/templates/release-prepare-source.yml @@ -5,7 +5,18 @@ steps: - script: | set -ex - git checkout -B ${BUILD_SOURCEBRANCHNAME} + + if [ -n "${SYSTEM_PULLREQUEST_PULLREQUESTNUMBER}" ]; then + # We are triggered from a GitHub Pull Request + git checkout -B pr${SYSTEM_PULLREQUEST_PULLREQUESTNUMBER} + elif [ "${BUILD_SOURCEBRANCHNAME}" = "merge" ] || [ "${BUILD_SOURCEBRANCHNAME}" = "head" ]; then + # We are manually triggered based on a GitHub Pull Request + PULLREQUESTNUMBER=$(echo ${BUILD_SOURCEBRANCH} | cut -d/ -f3) + git checkout -B pr${PULLREQUESTNUMBER} + else + git checkout -B ${BUILD_SOURCEBRANCHNAME} + fi + ./findversion.sh > .ottdrev ./azure-pipelines/changelog.sh > .changelog TZ='UTC' date +"%Y-%m-%d %H:%M UTC" > .release_date diff --git a/azure-pipelines/templates/release.yml b/azure-pipelines/templates/release.yml index 4daf66dedb..86f2be40ed 100644 --- a/azure-pipelines/templates/release.yml +++ b/azure-pipelines/templates/release.yml @@ -164,6 +164,9 @@ jobs: steps: - template: release-fetch-source.yml - template: release-manifest.yml + ${{ if eq(parameters.IsStableRelease, true) }}: + parameters: + IsStableRelease: true - template: release-bundles.yml parameters: CalculateChecksums: false diff --git a/azure-pipelines/templates/windows-dependency-nsis.yml b/azure-pipelines/templates/windows-dependency-nsis.yml index a1ee8f81e5..9b54a3ac5f 100644 --- a/azure-pipelines/templates/windows-dependency-nsis.yml +++ b/azure-pipelines/templates/windows-dependency-nsis.yml @@ -4,8 +4,6 @@ parameters: steps: - bash: | set -ex - # NSIS will be part of the Hosted image in the next update. Till then, we install it ourself - choco install nsis -y mkdir nsis-plugin; cd nsis-plugin curl -L https://devs.openttd.org/~truebrain/nsis-plugins/Nsis7z.zip > Nsis7z.zip diff --git a/changelog.txt b/changelog.txt index 5e1540a1e0..32eb4ca6d5 100644 --- a/changelog.txt +++ b/changelog.txt @@ -1,3 +1,80 @@ +1.9.0-beta2 (2018-02-09) +------------------------------------------------------------------------ +- Fix: Non-Windows builds did not get correct git hash + +1.9.0-beta1 (2018-02-09) +------------------------------------------------------------------------ +Note: OpenTTD was migrated to GitHub for 1.9, so SVN revision and FlySpray numbers have been replaced with Pull Requests and Issue numbers +- Feature: Group liveries, and livery window usability enhancements (#7108) +- Feature: Overhaul of music system, support MPSMIDI music files (TTD DOS/TTO) (#6839) +- Feature: [Win32] Rewritten DMusic and WinMM music drivers +- Feature: [Win32] New XAudio2 sound driver +- Feature: [Linux] New Fluidsynth music driver +- Feature: Framerate display window (#6822) +- Feature: [NewGRF] Ability for industries & houses to produce and/or accept up to 16 different cargoes +- Feature #6610: Allow towns to build houses on road turns (#6758) +- Feature: Replace independent map scrolling GUI settings with single option, and add choice to not lock cursor position when scrolling (#6756) +- Feature #6459: API for querying network clients from GS (#6736) +- Feature: New Russian Ruble & Mexican Peso as currencies (#6678, #7035) +- Feature #4186: Append '(City)' after city names in the town directory +- Feature #986: Automatic save when losing connection to a network game +- Add: [NewGRF] Flag to hide rail types from construction (#7118) +- Add: [NewGRF] Airport animation trigger for plane landing (#6334) +- Add #4115: Default starting company colour setting (#6998) +- Add: Mixer feature for streaming sampled music +- Add #6460: [AI] start_date parameter for Random AIs on new game +- Add: BACKSPACE can be mapped as a hotkey +- Add: 32bpp SSE2 blitter palette animator (#6795) +- Change: Make ships turn slowly when changing direction and stop when going up or down a lock (#7065, #7150) +- Change: Improve ship pathfinder performance +- Change: Decouple GUI timing from game ticks (#6780) +- Change: Desert tiles are now half-desert if a neighboured tile is non-desert or sea/coast (#4754) +- Change: Gradually slow down aircraft speed on breakdown (#6932) +- Change: [NewGRF] Increase rail type & cargo type limits to 64 +- Change: [NewGRF] Increase size of persistent storage to 256 +- Change: [NewGRF] Use last OpenTTD SVN revision in NewGRF version number (#6843) +- Change: Clone tool in depot window now behaves like clone button in vehicle window (#6754) +- Change #6397: Keep town growth rate in sync with house count +- Change: Scale default FreeType font size selection by UI zoom level +- Change: [OSX] Reversed pinch to zoom behaviour +- Change: Switch town growth rate and counter to actual game ticks (#6763) +- Change: Non-tag revisions are now named '--g' +- Change: Rewrite several bits of documentation in markdown +- Fix: Reinitialise graph GUI on game restart (#7191) +- Fix: Potential crash during shutdown after unpacking downloaded content (#7185) +- Fix #6584: Text layout in engine preview dialogue +- Fix #6636: Airplanes could be sent to helicopter station depots +- Fix: Deadlock when launched with -n switch (#7103) +- Fix: Various corrections to town names in non-English languages (#7038, 7141) +- Fix: Only consider airport tiles when placing (for non-rectangular airports) (#6613) +- Fix: Spelling fixes on some Latin American town names +- Fix #7001: Pathfinders should see standard road stations as tiles where to reverse +- Fix #6676: Prevent helicopters from stopping in midair during some kinds of landing +- Fix: Remove need to use Ctrl+Click when building stations next to competitors (#6906) +- Fix: [NewGRF] Make VA2 operator 11 (ror) behave well-defined when rotating by 0 bits +- Fix #4109: Add more water checks to the Oil Rig layout +- Fix #6938: Incorrect value for "Cost to Clear" was displayed for Company Headquarters in tile inspector (#6939) +- Fix #6920: Make 9.8m/s^2 a common constant for TE-calculation +- Fix #6892: [Script] CONFIG_RANDOM did not use the full parameter range (#6902) +- Fix #6622: News message when GS constructs a town had empty company name +- Fix: [NewGRF] Action7 variable 0x85 had no bounds checks +- Fix #6875: Depot building cost did not include foundation build cost (#6883) +- Fix: Some pixels in ship autoreplace icon (sprite 106) were transparent +- Fix: Poor contrast in cargo dest flow legend window cargo labels +- Fix #6553: Make viewport button text unambiguous +- Fix: [OSX] Setting mouse-wheel to scroll the map does not disable pinch to zoom +- Fix #6969: Account for BOM when reading script files +- Fix #6898: Ability to use seeds above INT_MAX (#6936) +- Fix #6659: Bus stations could be demolished when not in demolish mode (#6815) +- Fix: One-way roads could be over-built by road stops regardless of road owner +- Fix: Use name of cargo instead of Passengers/Mail in town statistics (#6801) +- Fix: Prevent ships moving into docks after finishing (un)loading (#6791) +- Fix: Tractive effort was slightly too high as per NewGRF spec (#6785) +- Fix #6465: Add {NORMAL_FONT} and {MONO_FONT} control codes to GS strings (#6726) +- Fix: Four group action icons were misplaced and cropped +- Remove: PSP, WinCE support + + 1.8.0 (2018-04-01) ------------------------------------------------------------------------ (None) diff --git a/findversion.sh b/findversion.sh index 2e063cc566..df481f9bd7 100755 --- a/findversion.sh +++ b/findversion.sh @@ -82,8 +82,10 @@ if [ -d "$ROOT_DIR/.git" ]; then if [ -n "$TAG" ]; then VERSION="${TAG}" + ISTAG="1" else VERSION="${ISODATE}-${BRANCH}${hashprefix}${SHORTHASH}" + ISTAG="0" fi elif [ -f "$ROOT_DIR/.ottdrev-vc" ]; then VERSION_DATA="`cat "$ROOT_DIR/.ottdrev-vc" | sed -n -e '1 p;'`" @@ -92,6 +94,7 @@ elif [ -f "$ROOT_DIR/.ottdrev-vc" ]; then ISODATE="`echo "$VERSION_DATA" | cut -f 2 -d' '`" MODIFIED="`echo "$VERSION_DATA" | cut -f 3 -d' '`" HASH="`echo "$VERSION_DATA" | cut -f 4 -d' '`" + ISTAG="`echo "$VERSION_DATA" | cut -f 5 -d' '`" if [ "$MODIFIED" = "2" ]; then VERSION="`echo "$VERSION" | sed -e 's/M$//'`" fi @@ -117,10 +120,11 @@ else ISODATE="" TAG="" VERSION="" + ISTAG="0" fi if [ "$MODIFIED" -eq "2" ]; then VERSION="${VERSION}M" fi -echo "$VERSION $ISODATE $MODIFIED $HASH" +echo "$VERSION $ISODATE $MODIFIED $HASH $ISTAG" diff --git a/known-bugs.txt b/known-bugs.txt index 8d4fd2204b..bcb9c354a9 100644 --- a/known-bugs.txt +++ b/known-bugs.txt @@ -1,6 +1,6 @@ OpenTTD's known bugs -Last updated: 2018-11-05 -Release version: 1.9.0 +Last updated: 2019-02-09 +Release version: 1.9.0-beta2 ------------------------------------------------------------------------ diff --git a/os/debian/changelog b/os/debian/changelog index bb57ca39e8..e429487ec0 100644 --- a/os/debian/changelog +++ b/os/debian/changelog @@ -1,3 +1,15 @@ +openttd (1.9.0~beta2-0) unstable; urgency=low + + * New upstream release 1.9.0-beta2 + + -- OpenTTD Sat, 09 Feb 2019 23:00:00 +0000 + +openttd (1.9.0~beta1-0) unstable; urgency=low + + * New upstream release 1.9.0-beta1 + + -- OpenTTD Sat, 09 Feb 2019 16:00:00 +0000 + openttd (1.8.0-0) unstable; urgency=low * New upstream release 1.8.0 diff --git a/os/rpm/openttd.spec b/os/rpm/openttd.spec index 28f3666186..d16230f312 100644 --- a/os/rpm/openttd.spec +++ b/os/rpm/openttd.spec @@ -17,9 +17,9 @@ # Name: openttd -Version: 1.9.beta1 +Version: 1.9.beta2 Release: 0 -%define srcver 1.9.0-beta1 +%define srcver 1.9.0-beta2 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 2c4c6f94b2..d0c933ca21 100644 --- a/os/windows/installer/install.nsi +++ b/os/windows/installer/install.nsi @@ -2,8 +2,8 @@ !define APPV_MAJOR 1 !define APPV_MINOR 9 !define APPV_MAINT 0 -!define APPV_BUILD 0 -!define APPV_EXTRA "-beta1" +!define APPV_BUILD 1 +!define APPV_EXTRA "-beta2" !define APPNAME "OpenTTD" ; Define application name !define APPVERSION "${APPV_MAJOR}.${APPV_MINOR}.${APPV_MAINT}${APPV_EXTRA}" ; Define application version diff --git a/projects/determineversion.vbs b/projects/determineversion.vbs index e5417bb60b..e1589dcbf0 100755 --- a/projects/determineversion.vbs +++ b/projects/determineversion.vbs @@ -21,35 +21,41 @@ Sub FindReplaceInFile(filename, to_find, replacement) file.Close End Sub -Sub UpdateFile(modified, isodate, version, cur_date, githash, filename) +Sub UpdateFile(modified, isodate, version, cur_date, githash, istag, filename) FSO.CopyFile filename & ".in", filename FindReplaceInFile filename, "!!MODIFIED!!", modified FindReplaceInFile filename, "!!ISODATE!!", isodate FindReplaceInFile filename, "!!VERSION!!", version FindReplaceInFile filename, "!!DATE!!", cur_date FindReplaceInFile filename, "!!GITHASH!!", githash + FindReplaceInFile filename, "!!ISTAG!!", istag FindReplaceInFile filename, "!!CONFIGURE_INVOCATION!!", "" End Sub Sub UpdateFiles(version) - Dim modified, isodate, cur_date, githash + Dim modified, isodate, cur_date, githash, istag cur_date = DatePart("D", Date) & "." & DatePart("M", Date) & "." & DatePart("YYYY", Date) If InStr(version, Chr(9)) Then + ' Split string into field with tails isodate = Mid(version, InStr(version, Chr(9)) + 1) modified = Mid(isodate, InStr(isodate, Chr(9)) + 1) githash = Mid(modified, InStr(modified, Chr(9)) + 1) + istag = Mid(githash, InStr(githash, 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) - version = Mid(version, 1, InStr(version, Chr(9)) - 1) + githash = Mid(githash, 1, InStr(githash, Chr(9)) - 1) Else isodate = 0 modified = 1 githash = "" + istag = 0 End If - UpdateFile modified, isodate, version, cur_date, githash, "../src/rev.cpp" - UpdateFile modified, isodate, version, cur_date, githash, "../src/os/windows/ottdres.rc" + UpdateFile modified, isodate, version, cur_date, githash, istag, "../src/rev.cpp" + UpdateFile modified, isodate, version, cur_date, githash, istag, "../src/os/windows/ottdres.rc" End Sub Function DetermineVersion() @@ -138,7 +144,7 @@ Function DetermineVersion() DetermineVersion = "norev000" modified = 1 Else - Dim version, hashprefix + Dim version, hashprefix, istag If modified = 0 Then hashprefix = "-g" ElseIf modified = 2 Then @@ -149,11 +155,13 @@ Function DetermineVersion() If tag <> "" Then version = tag + istag = 1 Else version = isodate & "-" & branch & hashprefix & shorthash + istag = 0 End If - DetermineVersion = version & Chr(9) & isodate & Chr(9) & modified & Chr(9) & hash + DetermineVersion = version & Chr(9) & isodate & Chr(9) & modified & Chr(9) & hash & Chr(9) & istag End If End Function diff --git a/projects/generate b/projects/generate index 595fa3acc6..cfedc8b32d 100755 --- a/projects/generate +++ b/projects/generate @@ -10,6 +10,19 @@ # This file generates all project files based on sources.list, so everyone who # can start a bash process, can update the project files. +# Set neutral locale so sort behaves the same everywhere +LC_ALL=C +export LC_ALL + +# We really need gawk for this! +AWK=gawk + +${AWK} --version > /dev/null 2> /dev/null +if [ "$?" != "0" ]; then + echo "This script needs gawk to run properly" + exit 1 +fi + ROOT_DIR="`pwd`/.." if ! [ -e "$ROOT_DIR/source.list" ] then @@ -66,7 +79,7 @@ with_cocoa="0" enable_directmusic="1" enable_fluidsynth="0" with_threads="1" -file_prefix="..\\\\src\\\\" +file_prefix="..\\\\\\\\src\\\\\\\\" safety_check() { li="" @@ -97,7 +110,8 @@ rm tmp.headers.* load_main_data() { # Read the source.list and process it - RES="`cat $1 | tr '\r' '\n' | awk ' + RES="`cat $1 | ${AWK} -v BINMODE=1 ' + { gsub("\\r", "", $0); } /^( *)#end/ { if (deep == skip) { skip -= 1; } deep -= 1; next; } /^( *)#else/ { if (deep == skip) { skip -= 1; } else if (deep - 1 == skip) { skip += 1; } next; } /^( *)#if/ { @@ -149,7 +163,7 @@ load_main_data() { { if (deep == skip) { gsub(" ", "", $0); - gsub("/", "\\\\", $0); + gsub("/", "\\\\\\\\", $0); split($0, file, "."); cltype = "ClInclude" if (file[2] == "cpp") cltype = "ClCompile"; @@ -177,13 +191,13 @@ load_lang_data() { continue fi RES="$RES -#2 +#2 #2 Generating "$i" language file -#2 ..\\objs\\strgen\\strgen.exe -s ..\\src\\lang -d ..\\bin\\lang \"%(FullPath)\" -#2 ..\\src\\lang\\english.txt;..\\objs\\strgen\\strgen.exe;%(AdditionalInputs) -#2 ..\\bin\\lang\\"$i".lng;%(Outputs) +#2 ..\\\\objs\\\\strgen\\\\strgen.exe -s ..\\\\src\\\\lang -d ..\\\\bin\\\\lang \"%(FullPath)\" +#2 ..\\\\src\\\\lang\\\\english.txt;..\\\\objs\\\\strgen\\\\strgen.exe;%(AdditionalInputs) +#2 ..\\\\bin\\\\lang\\\\"$i".lng;%(Outputs) #2 -#3 +#3 #3 Translations #3 " done @@ -194,16 +208,16 @@ load_lang_data() { load_settings_data() { RES="" RES2=" -#3..\\objs\\settings\\settings_gen.exe -o ..\\objs\\settings\\table\\settings.h -b ..\\src\\table\\settings.h.preamble -a ..\\src\\table\\settings.h.postamble" +#3..\\\\objs\\\\settings\\\\settings_gen.exe -o ..\\\\objs\\\\settings\\\\table\\\\settings.h -b ..\\\\src\\\\table\\\\settings.h.preamble -a ..\\\\src\\\\table\\\\settings.h.postamble" for i in `ls $1` do i=`basename $i` RES="$RES -#2 -#4 +#2 +#4 #4 INI #4 " - RES2="$RES2 ..\\src\\table\\"$i + RES2="$RES2 ..\\\\src\\\\table\\\\"$i done eval "$2=\"\$RES\$RES2\"" @@ -224,7 +238,7 @@ load_baseset_data() { FIRST=1 fi i=`basename $i` - RES2="$RES2..\\src\\lang\\$i.txt" + RES2="$RES2..\\\\src\\\\lang\\\\$i.txt" done RES2="$RES2" # Windows Folder sort and Linux Folder sort are slightly different. @@ -233,13 +247,13 @@ load_baseset_data() { do i=`basename $i` RES="$RES -#2 +#2 #2 Generating "$i" baseset metadata file -#2 cscript //nologo ..\\media\\baseset\\translations.vbs \"%(FullPath)\" \"\$(OutputPath)$i\" ..\\src\\lang ..\\bin\\baseset\\orig_extra.grf -#2 \$(Langs);..\\bin\\baseset\\orig_extra.grf;%(AdditionalInputs) -#2 ..\\bin\\baseset\\"$i";%(Outputs) +#2 cscript //nologo ..\\\\media\\\\baseset\\\\translations.vbs \"%(FullPath)\" \"\$(OutputPath)$i\" ..\\\\src\\\\lang ..\\\\bin\\\\baseset\\\\orig_extra.grf +#2 \$(Langs);..\\\\bin\\\\baseset\\\\orig_extra.grf;%(AdditionalInputs) +#2 ..\\\\bin\\\\baseset\\\\"$i";%(Outputs) #2 -#3 +#3 #3 Baseset Metadata #3 " done @@ -249,52 +263,28 @@ load_baseset_data() { generate() { echo "Generating $2..." - if [ $# -eq 3 ]; then - # Everything above the !!FILTERS!! marker - cat "$ROOT_DIR/projects/$2".in | tr '\r' '\n' | awk ' - /^$/ { next } - /!!FILTERS!!/ { stop = 1; } - { - if (stop == 0) { print $0 } - } - ' > "$ROOT_DIR/projects/$2" - - echo "$3" >> "$ROOT_DIR/projects/$2" - - # Everything below the !!FILTERS!! marker and above the !!FILES!! marker - cat "$ROOT_DIR/projects/$2".in | tr '\r' '\n' | awk ' - BEGIN { stop = 1; } - /^$/ { next } - /!!FILTERS!!/ { stop = 2; } - /!!FILES!!/ { stop = 1; } - { - if (stop == 0) { print $0 } - if (stop == 2) { stop = 0 } - } - ' >> "$ROOT_DIR/projects/$2" - else - # Everything above the !!FILES!! marker - cat "$ROOT_DIR/projects/$2".in | tr '\r' '\n' | awk ' - /^$/ { next } - /!!FILES!!/ { stop = 1; } - { - if (stop == 0) { print $0 } - } - ' > "$ROOT_DIR/projects/$2" - fi - - echo "$1" >> "$ROOT_DIR/projects/$2" - - # Everything below the !!FILES!! marker - cat "$ROOT_DIR/projects/$2".in | tr '\r' '\n' | awk ' - BEGIN { stop = 1; } + # 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 } - /!!FILES!!/ { stop = 2; } - { - if (stop == 0) { print $0 } - if (stop == 2) { stop = 0 } + /!!FILTERS!!/ { + split(FILTERS, filters, "\n"); + for (i = 1; filters[i] != ""; i++) { + print filters[i] CR; + } + next; } - ' >> "$ROOT_DIR/projects/$2" + /!!FILES!!/ { + split(FILES, files, "\n"); + for (i = 1; files[i] != ""; i++) { + print files[i] CR; + } + next; + } + { + print $0; + } + ' > "$ROOT_DIR/projects/$2" } safety_check "$ROOT_DIR/source.list" diff --git a/projects/generate.vbs b/projects/generate.vbs index e8cf13d03d..aa91bd3164 100644 --- a/projects/generate.vbs +++ b/projects/generate.vbs @@ -405,5 +405,5 @@ generate basesetvcxproj, ROOT_DIR & "/projects/basesets_vs140.vcxproj", basesetl generate basesetfiles, ROOT_DIR & "/projects/basesets_vs140.vcxproj.filters", Null generate basesetvcxproj, ROOT_DIR & "/projects/basesets_vs141.vcxproj", basesetlangs generate basesetfiles, ROOT_DIR & "/projects/basesets_vs141.vcxproj.filters", Null -generate settingsvcxproj, ROOT_DIR & "/projects/basesets_vs142.vcxproj", settingscommand -generate settingsfiles, ROOT_DIR & "/projects/basesets_vs142.vcxproj.filters", Null +generate basesetvcxproj, ROOT_DIR & "/projects/basesets_vs142.vcxproj", basesetlangs +generate basesetfiles, ROOT_DIR & "/projects/basesets_vs142.vcxproj.filters", Null diff --git a/src/ai/ai_config.cpp b/src/ai/ai_config.cpp index 20e913c2e9..a782814786 100644 --- a/src/ai/ai_config.cpp +++ b/src/ai/ai_config.cpp @@ -35,6 +35,15 @@ ScriptConfigItem _start_date_config = { false }; +AIConfig::AIConfig(const AIConfig *config) : ScriptConfig(config) +{ + /* Override start_date as per AIConfig::AddRandomDeviation(). + * This is necessary because the ScriptConfig constructor will instead call + * ScriptConfig::AddRandomDeviation(). */ + int start_date = config->GetSetting("start_date"); + this->SetSetting("start_date", start_date != 0 ? max(1, this->GetSetting("start_date")) : 0); +} + /* static */ AIConfig *AIConfig::GetConfig(CompanyID company, ScriptSettingSource source) { AIConfig **config; diff --git a/src/ai/ai_config.hpp b/src/ai/ai_config.hpp index 600ae1af93..30c6f84bbd 100644 --- a/src/ai/ai_config.hpp +++ b/src/ai/ai_config.hpp @@ -26,9 +26,7 @@ public: ScriptConfig() {} - AIConfig(const AIConfig *config) : - ScriptConfig(config) - {} + AIConfig(const AIConfig *config); class AIInfo *GetInfo() const; diff --git a/src/ai/ai_gui.cpp b/src/ai/ai_gui.cpp index 69476856ce..dbdd772452 100644 --- a/src/ai/ai_gui.cpp +++ b/src/ai/ai_gui.cpp @@ -1282,8 +1282,8 @@ struct AIDebugWindow : public Window { case WID_AID_RELOAD_TOGGLE: if (ai_debug_company == OWNER_DEITY) break; /* First kill the company of the AI, then start a new one. This should start the current AI again */ - DoCommandP(0, 2 | ai_debug_company << 16, CRR_MANUAL, CMD_COMPANY_CTRL); - DoCommandP(0, 1 | ai_debug_company << 16, 0, CMD_COMPANY_CTRL); + DoCommandP(0, CCA_DELETE | ai_debug_company << 16, CRR_MANUAL, CMD_COMPANY_CTRL); + DoCommandP(0, CCA_NEW_AI | ai_debug_company << 16, 0, CMD_COMPANY_CTRL); break; case WID_AID_SETTINGS: diff --git a/src/cargomonitor.h b/src/cargomonitor.h index cab26785fd..aa7cfb3b5f 100644 --- a/src/cargomonitor.h +++ b/src/cargomonitor.h @@ -44,11 +44,14 @@ enum CargoCompanyBits { CCB_IS_INDUSTRY_BIT = 16, ///< Bit indicating the town/industry number is an industry. CCB_IS_INDUSTRY_BIT_VALUE = 1ul << CCB_IS_INDUSTRY_BIT, ///< Value of the #CCB_IS_INDUSTRY_BIT bit. CCB_CARGO_TYPE_START = 19, ///< Start bit of the cargo type field. - CCB_CARGO_TYPE_LENGTH = 5, ///< Number of bits of the cargo type field. - CCB_COMPANY_START = 24, ///< Start bit of the company field. - CCB_COMPANY_LENGTH = 8, ///< Number of bits of the company field. + CCB_CARGO_TYPE_LENGTH = 6, ///< Number of bits of the cargo type field. + CCB_COMPANY_START = 25, ///< Start bit of the company field. + CCB_COMPANY_LENGTH = 4, ///< Number of bits of the company field. }; +assert_compile(NUM_CARGO <= (1 << CCB_CARGO_TYPE_LENGTH)); +assert_compile(MAX_COMPANIES <= (1 << CCB_COMPANY_LENGTH)); + /** * Encode a cargo monitor for pickup or delivery at an industry. @@ -60,6 +63,7 @@ enum CargoCompanyBits { static inline CargoMonitorID EncodeCargoIndustryMonitor(CompanyID company, CargoID ctype, IndustryID ind) { assert(ctype < (1 << CCB_CARGO_TYPE_LENGTH)); + assert(company < (1 << CCB_COMPANY_LENGTH)); uint32 ret = 0; SB(ret, CCB_TOWN_IND_NUMBER_START, CCB_TOWN_IND_NUMBER_LENGTH, ind); @@ -79,6 +83,7 @@ static inline CargoMonitorID EncodeCargoIndustryMonitor(CompanyID company, Cargo static inline CargoMonitorID EncodeCargoTownMonitor(CompanyID company, CargoID ctype, TownID town) { assert(ctype < (1 << CCB_CARGO_TYPE_LENGTH)); + assert(company < (1 << CCB_COMPANY_LENGTH)); uint32 ret = 0; SB(ret, CCB_TOWN_IND_NUMBER_START, CCB_TOWN_IND_NUMBER_LENGTH, town); diff --git a/src/command.cpp b/src/command.cpp index 35bf27920b..de45540922 100644 --- a/src/command.cpp +++ b/src/command.cpp @@ -349,7 +349,7 @@ static const Command _command_proc_table[] = { DEF_CMD(CmdTurnRoadVeh, 0, CMDT_VEHICLE_MANAGEMENT ), // CMD_TURN_ROADVEH - DEF_CMD(CmdPause, CMD_SERVER, CMDT_SERVER_SETTING ), // CMD_PAUSE + DEF_CMD(CmdPause, CMD_SERVER | CMD_NO_EST, CMDT_SERVER_SETTING ), // CMD_PAUSE DEF_CMD(CmdBuyShareInCompany, 0, CMDT_MONEY_MANAGEMENT ), // CMD_BUY_SHARE_IN_COMPANY DEF_CMD(CmdSellShareInCompany, 0, CMDT_MONEY_MANAGEMENT ), // CMD_SELL_SHARE_IN_COMPANY @@ -373,7 +373,7 @@ static const Command _command_proc_table[] = { DEF_CMD(CmdChangeBankBalance, CMD_DEITY, CMDT_MONEY_MANAGEMENT ), // CMD_CHANGE_BANK_BALANCE DEF_CMD(CmdBuildCanal, CMD_AUTO, CMDT_LANDSCAPE_CONSTRUCTION), // CMD_BUILD_CANAL DEF_CMD(CmdCreateSubsidy, CMD_DEITY, CMDT_OTHER_MANAGEMENT ), // CMD_CREATE_SUBSIDY - DEF_CMD(CmdCompanyCtrl, CMD_SPECTATOR | CMD_CLIENT_ID, CMDT_SERVER_SETTING ), // CMD_COMPANY_CTRL + DEF_CMD(CmdCompanyCtrl, CMD_SPECTATOR | CMD_CLIENT_ID | CMD_NO_EST, CMDT_SERVER_SETTING ), // CMD_COMPANY_CTRL DEF_CMD(CmdCustomNewsItem, CMD_STR_CTRL | CMD_DEITY, CMDT_OTHER_MANAGEMENT ), // CMD_CUSTOM_NEWS_ITEM DEF_CMD(CmdCreateGoal, CMD_STR_CTRL | CMD_DEITY, CMDT_OTHER_MANAGEMENT ), // CMD_CREATE_GOAL DEF_CMD(CmdRemoveGoal, CMD_DEITY, CMDT_OTHER_MANAGEMENT ), // CMD_REMOVE_GOAL @@ -764,7 +764,7 @@ bool DoCommandP(TileIndex tile, uint32 p1, uint32 p2, uint32 cmd, CommandCallbac bool estimate_only = _shift_pressed && IsLocalCompany() && !_generating_world && !(cmd & CMD_NETWORK_COMMAND) && - (cmd & CMD_ID_MASK) != CMD_PAUSE; + !(GetCommandFlags(cmd) & CMD_NO_EST); /* We're only sending the command, so don't do * fancy things for 'success'. */ diff --git a/src/command_type.h b/src/command_type.h index 0264ca8868..73bcc6d558 100644 --- a/src/command_type.h +++ b/src/command_type.h @@ -491,6 +491,7 @@ enum CommandFlags { CMD_CLIENT_ID = 0x080, ///< set p2 with the ClientID of the sending client. CMD_DEITY = 0x100, ///< the command may be executed by COMPANY_DEITY CMD_STR_CTRL = 0x200, ///< the command's string may contain control strings + CMD_NO_EST = 0x400, ///< the command is never estimated. }; DECLARE_ENUM_AS_BIT_SET(CommandFlags) diff --git a/src/company_cmd.cpp b/src/company_cmd.cpp index 986ad7d5fe..04652ba545 100644 --- a/src/company_cmd.cpp +++ b/src/company_cmd.cpp @@ -620,7 +620,7 @@ static bool MaybeStartNewCompany() if (n < (uint)_settings_game.difficulty.max_no_competitors) { /* Send a command to all clients to start up a new AI. * Works fine for Multiplayer and Singleplayer */ - return DoCommandP(0, 1 | INVALID_COMPANY << 16, 0, CMD_COMPANY_CTRL); + return DoCommandP(0, CCA_NEW_AI | INVALID_COMPANY << 16, 0, CMD_COMPANY_CTRL); } return false; @@ -732,6 +732,10 @@ void OnTick_Companies() /* Allow multiple AIs to possibly start in the same tick. */ do { if (!MaybeStartNewCompany()) break; + + /* In networking mode, we can only send a command to start but it + * didn't execute yet, so we cannot loop. */ + if (_networking) break; } while (AI::GetStartNextTime() == 0); } @@ -818,12 +822,11 @@ void CompanyAdminRemove(CompanyID company_id, CompanyRemoveReason reason) * @param tile unused * @param flags operation to perform * @param p1 various functionality - * - bits 0..15: - * = 0 - create a new company - * = 1 - create a new AI company - * = 2 - delete a company + * - bits 0..15: CompanyCtrlAction * - bits 16..24: CompanyID - * @param p2 ClientID + * @param p2 various depending on CompanyCtrlAction + * - bits 0..31: ClientID (with CCA_NEW) + * - bits 0..1: CompanyRemoveReason (with CCA_DELETE) * @param text unused * @return the cost of this operation or an error */ @@ -831,18 +834,17 @@ CommandCost CmdCompanyCtrl(TileIndex tile, DoCommandFlag flags, uint32 p1, uint3 { InvalidateWindowData(WC_COMPANY_LEAGUE, 0, 0); CompanyID company_id = (CompanyID)GB(p1, 16, 8); -#ifdef ENABLE_NETWORK - ClientID client_id = (ClientID)p2; -#endif /* ENABLE_NETWORK */ - switch (GB(p1, 0, 16)) { - case 0: { // Create a new company + switch ((CompanyCtrlAction)GB(p1, 0, 16)) { + case CCA_NEW: { // Create a new company /* This command is only executed in a multiplayer game */ if (!_networking) return CMD_ERROR; #ifdef ENABLE_NETWORK /* Has the network client a correct ClientIndex? */ if (!(flags & DC_EXEC)) return CommandCost(); + + ClientID client_id = (ClientID)p2; NetworkClientInfo *ci = NetworkClientInfo::GetByClientID(client_id); #ifndef DEBUG_DUMP_COMMANDS /* When replaying the client ID is not a valid client; there @@ -886,7 +888,7 @@ CommandCost CmdCompanyCtrl(TileIndex tile, DoCommandFlag flags, uint32 p1, uint3 break; } - case 1: { // Make a new AI company + case CCA_NEW_AI: { // Make a new AI company if (!(flags & DC_EXEC)) return CommandCost(); if (company_id != INVALID_COMPANY && (company_id >= MAX_COMPANIES || Company::IsValidID(company_id))) return CMD_ERROR; @@ -897,7 +899,7 @@ CommandCost CmdCompanyCtrl(TileIndex tile, DoCommandFlag flags, uint32 p1, uint3 break; } - case 2: { // Delete a company + case CCA_DELETE: { // Delete a company CompanyRemoveReason reason = (CompanyRemoveReason)GB(p2, 0, 2); if (reason >= CRR_END) return CMD_ERROR; diff --git a/src/company_type.h b/src/company_type.h index 44a074e104..771e6d8b93 100644 --- a/src/company_type.h +++ b/src/company_type.h @@ -64,4 +64,13 @@ enum CompanyRemoveReason { CRR_END, ///< Sentinel for end. }; +/** The action to do with CMD_COMPANY_CTRL. */ +enum CompanyCtrlAction { + CCA_NEW, ///< Create a new company. + CCA_NEW_AI, ///< Create a new AI company. + CCA_DELETE, ///< Delete a company. + + CCA_END, ///< Sentinel for end. +}; + #endif /* COMPANY_TYPE_H */ diff --git a/src/console_cmds.cpp b/src/console_cmds.cpp index dd76247cd4..76566e0ebe 100644 --- a/src/console_cmds.cpp +++ b/src/console_cmds.cpp @@ -839,7 +839,7 @@ DEF_CONSOLE_CMD(ConResetCompany) } /* It is safe to remove this company */ - DoCommandP(0, 2 | index << 16, CRR_MANUAL, CMD_COMPANY_CTRL); + DoCommandP(0, CCA_DELETE | index << 16, CRR_MANUAL, CMD_COMPANY_CTRL); IConsolePrint(CC_DEFAULT, "Company deleted."); return true; @@ -1181,7 +1181,7 @@ DEF_CONSOLE_CMD(ConStartAI) } /* Start a new AI company */ - DoCommandP(0, 1 | INVALID_COMPANY << 16, 0, CMD_COMPANY_CTRL); + DoCommandP(0, CCA_NEW_AI | INVALID_COMPANY << 16, 0, CMD_COMPANY_CTRL); return true; } @@ -1216,8 +1216,8 @@ DEF_CONSOLE_CMD(ConReloadAI) } /* First kill the company of the AI, then start a new one. This should start the current AI again */ - DoCommandP(0, 2 | company_id << 16, CRR_MANUAL, CMD_COMPANY_CTRL); - DoCommandP(0, 1 | company_id << 16, 0, CMD_COMPANY_CTRL); + DoCommandP(0, CCA_DELETE | company_id << 16, CRR_MANUAL, CMD_COMPANY_CTRL); + DoCommandP(0, CCA_NEW_AI | company_id << 16, 0, CMD_COMPANY_CTRL); IConsolePrint(CC_DEFAULT, "AI reloaded."); return true; @@ -1253,7 +1253,7 @@ DEF_CONSOLE_CMD(ConStopAI) } /* Now kill the company of the AI. */ - DoCommandP(0, 2 | company_id << 16, CRR_MANUAL, CMD_COMPANY_CTRL); + DoCommandP(0, CCA_DELETE | company_id << 16, CRR_MANUAL, CMD_COMPANY_CTRL); IConsolePrint(CC_DEFAULT, "AI stopped, company deleted."); return true; diff --git a/src/core/pool_func.hpp b/src/core/pool_func.hpp index a5375e13fc..985fc75c65 100644 --- a/src/core/pool_func.hpp +++ b/src/core/pool_func.hpp @@ -152,18 +152,20 @@ DEFINE_POOL_METHOD(void *)::GetNew(size_t size) * @param size size of item * @param index index of item * @return pointer to allocated item - * @note usererror() on failure! (index out of range or already used) + * @note SlErrorCorruptFmt() on failure! (index out of range or already used) */ DEFINE_POOL_METHOD(void *)::GetNew(size_t size, size_t index) { + extern void NORETURN SlErrorCorruptFmt(const char *format, ...); + if (index >= Tmax_size) { - usererror("failed loading savegame: %s index " PRINTF_SIZE " out of range (" PRINTF_SIZE ")", this->name, index, Tmax_size); + SlErrorCorruptFmt("%s index " PRINTF_SIZE " out of range (" PRINTF_SIZE ")", this->name, index, Tmax_size); } if (index >= this->size) this->ResizeFor(index); if (this->data[index] != NULL) { - usererror("failed loading savegame: %s index " PRINTF_SIZE " already in use", this->name, index); + SlErrorCorruptFmt("%s index " PRINTF_SIZE " already in use", this->name, index); } return this->AllocateItem(size, index); diff --git a/src/economy.cpp b/src/economy.cpp index 1b1e06cf67..b486b2157b 100644 --- a/src/economy.cpp +++ b/src/economy.cpp @@ -674,7 +674,7 @@ static void CompanyCheckBankrupt(Company *c) * that changing the current company is okay. In case of single * player we are sure (the above check) that we are not the local * company and thus we won't be moved. */ - if (!_networking || _network_server) DoCommandP(0, 2 | (c->index << 16), CRR_BANKRUPT, CMD_COMPANY_CTRL); + if (!_networking || _network_server) DoCommandP(0, CCA_DELETE | (c->index << 16), CRR_BANKRUPT, CMD_COMPANY_CTRL); break; } } diff --git a/src/genworld.cpp b/src/genworld.cpp index 89f13622c2..ed56a7034e 100644 --- a/src/genworld.cpp +++ b/src/genworld.cpp @@ -125,8 +125,8 @@ static void _GenerateWorld(void *) /* Make sure the tiles at the north border are void tiles if needed. */ if (_settings_game.construction.freeform_edges) { - for (uint row = 0; row < MapSizeY(); row++) MakeVoid(TileXY(0, row)); - for (uint col = 0; col < MapSizeX(); col++) MakeVoid(TileXY(col, 0)); + for (uint x = 0; x < MapSizeX(); x++) MakeVoid(TileXY(x, 0)); + for (uint y = 0; y < MapSizeY(); y++) MakeVoid(TileXY(0, y)); } /* Make the map the height of the setting */ diff --git a/src/graph_gui.cpp b/src/graph_gui.cpp index bbf1c22d62..08b99598fa 100644 --- a/src/graph_gui.cpp +++ b/src/graph_gui.cpp @@ -1580,3 +1580,9 @@ void ShowPerformanceRatingDetail() { AllocateWindowDescFront(&_performance_rating_detail_desc, 0); } + +void InitializeGraphGui() +{ + _legend_excluded_companies = 0; + _legend_excluded_cargo = 0; +} diff --git a/src/landscape.cpp b/src/landscape.cpp index fe59e798db..4ad3df5532 100644 --- a/src/landscape.cpp +++ b/src/landscape.cpp @@ -852,22 +852,17 @@ void RunTileLoop() void InitializeLandscape() { - uint maxx = MapMaxX(); - uint maxy = MapMaxY(); - uint sizex = MapSizeX(); - - uint y; - for (y = _settings_game.construction.freeform_edges ? 1 : 0; y < maxy; y++) { - uint x; - for (x = _settings_game.construction.freeform_edges ? 1 : 0; x < maxx; x++) { - MakeClear(sizex * y + x, CLEAR_GRASS, 3); - SetTileHeight(sizex * y + x, 0); - SetTropicZone(sizex * y + x, TROPICZONE_NORMAL); - ClearBridgeMiddle(sizex * y + x); + for (uint y = _settings_game.construction.freeform_edges ? 1 : 0; y < MapMaxY(); y++) { + for (uint x = _settings_game.construction.freeform_edges ? 1 : 0; x < MapMaxX(); x++) { + MakeClear(TileXY(x, y), CLEAR_GRASS, 3); + SetTileHeight(TileXY(x, y), 0); + SetTropicZone(TileXY(x, y), TROPICZONE_NORMAL); + ClearBridgeMiddle(TileXY(x, y)); } - MakeVoid(sizex * y + x); } - for (uint x = 0; x < sizex; x++) MakeVoid(sizex * y + x); + + for (uint x = 0; x < MapSizeX(); x++) MakeVoid(TileXY(x, MapMaxY())); + for (uint y = 0; y < MapSizeY(); y++) MakeVoid(TileXY(MapMaxX(), y)); } static const byte _genterrain_tbl_1[5] = { 10, 22, 33, 37, 4 }; diff --git a/src/lang/afrikaans.txt b/src/lang/afrikaans.txt index bdd1d19ec0..2756b89ba7 100644 --- a/src/lang/afrikaans.txt +++ b/src/lang/afrikaans.txt @@ -1801,7 +1801,6 @@ STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}Verander STR_CHEAT_SETUP_PROD :{LTBLUE}Aktiveer modifisering van produksie waardes: {ORANGE}{STRING} # Livery window -STR_LIVERY_CAPTION :{WHITE}Nuwe Kleur Skema STR_LIVERY_GENERAL_TOOLTIP :{BLACK}Toon algemene kleurskemas STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Wys trein kleur skemas diff --git a/src/lang/arabic_egypt.txt b/src/lang/arabic_egypt.txt index 4de0b55352..cae83fb15e 100644 --- a/src/lang/arabic_egypt.txt +++ b/src/lang/arabic_egypt.txt @@ -1471,7 +1471,6 @@ STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}غير STR_CHEAT_SETUP_PROD :{LTBLUE}تفعيل تغيير قيمة الانتاج: {ORANGE}{STRING} # Livery window -STR_LIVERY_CAPTION :{WHITE}الوان جديدة STR_LIVERY_GENERAL_TOOLTIP :{BLACK}اظهر اللون العام STR_LIVERY_TRAIN_TOOLTIP :{BLACK}اظهر لون القطائرات diff --git a/src/lang/basque.txt b/src/lang/basque.txt index 5abb4a6c6f..60722bede5 100644 --- a/src/lang/basque.txt +++ b/src/lang/basque.txt @@ -1711,7 +1711,6 @@ STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}Aurtengo STR_CHEAT_SETUP_PROD :{LTBLUE}Ekoizpen balioak aldatzea baimendu: {ORANGE}{STRING} # Livery window -STR_LIVERY_CAPTION :{WHITE}Kolore eskema berria STR_LIVERY_GENERAL_TOOLTIP :{BLACK}Erakutsi kolore eskema orokorrak STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Erakutsi trenen kolore eskemak diff --git a/src/lang/belarusian.txt b/src/lang/belarusian.txt index 564fb5418a..2a605da82d 100644 --- a/src/lang/belarusian.txt +++ b/src/lang/belarusian.txt @@ -2126,7 +2126,6 @@ STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}Зьмя STR_CHEAT_SETUP_PROD :{LTBLUE}Дазволіць зьмяненьне прадукцыйнасьці: {ORANGE}{STRING} # Livery window -STR_LIVERY_CAPTION :{WHITE}Новая каляровая схэма STR_LIVERY_GENERAL_TOOLTIP :{BLACK}Паказаць асноўныя каляровыя схэмы STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Паказаць каляровыя схэмы цягнікоў diff --git a/src/lang/brazilian_portuguese.txt b/src/lang/brazilian_portuguese.txt index ab7bca2b05..b455ff45d0 100644 --- a/src/lang/brazilian_portuguese.txt +++ b/src/lang/brazilian_portuguese.txt @@ -1817,7 +1817,6 @@ STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}Mudar an STR_CHEAT_SETUP_PROD :{LTBLUE}Ativar modificação de valores de produção: {ORANGE}{STRING} # Livery window -STR_LIVERY_CAPTION :{WHITE}Novo Esquema de Cores STR_LIVERY_GENERAL_TOOLTIP :{BLACK}Exibir esquemas de cor gerais STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Exibe esquemas de cor de trens diff --git a/src/lang/bulgarian.txt b/src/lang/bulgarian.txt index 8c81ab6497..10ab2ac742 100644 --- a/src/lang/bulgarian.txt +++ b/src/lang/bulgarian.txt @@ -1749,7 +1749,6 @@ STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}Пром STR_CHEAT_SETUP_PROD :{LTBLUE}Промяна на производствените стойности: {ORANGE}{STRING} # Livery window -STR_LIVERY_CAPTION :{WHITE}Нова цветове STR_LIVERY_GENERAL_TOOLTIP :{BLACK}Показване на общи цветови схеми STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Показване цветовите схеми на влаковете diff --git a/src/lang/catalan.txt b/src/lang/catalan.txt index 60d8504296..02c72750c7 100644 --- a/src/lang/catalan.txt +++ b/src/lang/catalan.txt @@ -1815,7 +1815,6 @@ STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}Canvia l STR_CHEAT_SETUP_PROD :{LTBLUE}Activa la modificació dels valors de producció: {ORANGE}{STRING} # Livery window -STR_LIVERY_CAPTION :{WHITE}Nou esquema de colors STR_LIVERY_GENERAL_TOOLTIP :{BLACK}Mostra esquemes de colors generals STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Mostra els esquemes de colors dels trens diff --git a/src/lang/czech.txt b/src/lang/czech.txt index 6e775d49a5..c11496ece1 100644 --- a/src/lang/czech.txt +++ b/src/lang/czech.txt @@ -1895,7 +1895,6 @@ STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}Změnit STR_CHEAT_SETUP_PROD :{LTBLUE}Povolit změnu produkce průmyslu: {ORANGE}{STRING} # Livery window -STR_LIVERY_CAPTION :{WHITE}Nové barevné schéma STR_LIVERY_GENERAL_TOOLTIP :{BLACK}Zobrazit všeobecná barevná schémata STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Zobrazit barevná schémata pro vlaky diff --git a/src/lang/danish.txt b/src/lang/danish.txt index 3be78078cd..b250c49675 100644 --- a/src/lang/danish.txt +++ b/src/lang/danish.txt @@ -2778,6 +2778,7 @@ STR_SAVELOAD_DETAIL_NOT_AVAILABLE :{BLACK}Ingen in STR_SAVELOAD_DETAIL_COMPANY_INDEX :{SILVER}{COMMA}: {WHITE}{STRING} STR_SAVELOAD_DETAIL_GRFSTATUS :{SILVER}NewGRF: {WHITE}{STRING} STR_SAVELOAD_FILTER_TITLE :{BLACK}Filter-udtryk: +STR_SAVELOAD_OVERWRITE_TITLE :{WHITE}Overskriv fil STR_SAVELOAD_OSKTITLE :{BLACK}Skriv et navn til det gemte spil diff --git a/src/lang/dutch.txt b/src/lang/dutch.txt index 597e0c0702..207d652a5f 100644 --- a/src/lang/dutch.txt +++ b/src/lang/dutch.txt @@ -1101,7 +1101,7 @@ STR_CONFIG_SETTING_FILTER_TITLE :{BLACK}Filterte STR_CONFIG_SETTING_EXPAND_ALL :{BLACK}Alles uitvouwen STR_CONFIG_SETTING_COLLAPSE_ALL :{BLACK}Alles inklappen STR_CONFIG_SETTING_NO_EXPLANATION_AVAILABLE_HELPTEXT :(geen uitleg beschikbaar) -STR_CONFIG_SETTING_DEFAULT_VALUE :{LTBLUE}Standaard waarde: {ORANGE}{STRING} +STR_CONFIG_SETTING_DEFAULT_VALUE :{LTBLUE}Standaardwaarde: {ORANGE}{STRING} STR_CONFIG_SETTING_TYPE :{LTBLUE}Instellingstype: {ORANGE}{STRING} STR_CONFIG_SETTING_TYPE_CLIENT :Gebruiker instellingen (niet opgeslagen in bestand; heeft invloed op alle spellen) STR_CONFIG_SETTING_TYPE_GAME_MENU :Spelinstellingen (opgeslagen in bestand; hebben alleen invloed op nieuw spel) @@ -1159,7 +1159,7 @@ STR_CONFIG_SETTING_VEHICLE_BREAKDOWNS_HELPTEXT :Controle hoe va STR_CONFIG_SETTING_SUBSIDY_MULTIPLIER :Subsidie indicator: {STRING} STR_CONFIG_SETTING_SUBSIDY_MULTIPLIER_HELPTEXT :Instellen hoeveel wordt betaald voor gesubsidieerde verbindingen STR_CONFIG_SETTING_CONSTRUCTION_COSTS :Bouwkosten: {STRING} -STR_CONFIG_SETTING_CONSTRUCTION_COSTS_HELPTEXT :Het niveau van bouw- en aankoopkosten +STR_CONFIG_SETTING_CONSTRUCTION_COSTS_HELPTEXT :Het niveau van bouw- en aankoopkosten instellen STR_CONFIG_SETTING_RECESSIONS :Recessies: {STRING} STR_CONFIG_SETTING_RECESSIONS_HELPTEXT :Wanneer ingeschakeld kunnen recessies om de paar jaar optreden. Tijdens een recessie is alle productie aanzienlijk lager (deze keert terug naar het vorige niveau als de recessie voorbij is) STR_CONFIG_SETTING_TRAIN_REVERSING :Niet toestaan dat treinen keren in stations: {STRING} @@ -1167,16 +1167,16 @@ STR_CONFIG_SETTING_TRAIN_REVERSING_HELPTEXT :Indien ingescha STR_CONFIG_SETTING_DISASTERS :Rampen: {STRING} STR_CONFIG_SETTING_DISASTERS_HELPTEXT :Schakel rampen die af en toe voertuigen of infrastructuur kunnen blokkeren of vernietigen in/uit STR_CONFIG_SETTING_CITY_APPROVAL :Houding van gemeentebestuur ten opzichte van herstructurering omgeving: {STRING} -STR_CONFIG_SETTING_CITY_APPROVAL_HELPTEXT :Kies hoeveel lawaai en schade aan het milieu door bedrijven de stadswaardering en hun acties beïnvloeden in hun bouwgebied +STR_CONFIG_SETTING_CITY_APPROVAL_HELPTEXT :Bepaalt in hoeverre lawaai en schade aan het milieu door bedrijven de stadswaardering en verdere bouwacties beïnvloeden in hun omgeving STR_CONFIG_SETTING_MAX_HEIGHTLEVEL :Maximale kaarthoogte: {STRING} STR_CONFIG_SETTING_MAX_HEIGHTLEVEL_HELPTEXT :Stel de maximum toegestane hoogte voor bergen op de kaart in STR_CONFIG_SETTING_TOO_HIGH_MOUNTAIN :{WHITE}Je kunt de maximale kaarthoogte niet in deze waarde wijzigen. Minstens één berg op de kaart is hoger. STR_CONFIG_SETTING_AUTOSLOPE :Omgeving aanpassen onder gebouwen, spoorwegen, enz. toestaan: {STRING} STR_CONFIG_SETTING_AUTOSLOPE_HELPTEXT :Staat het aanpassen van funderingen onder gebouwen en sporen toe zonder deze te verwijderen -STR_CONFIG_SETTING_CATCHMENT :Gebruik meer realistische handelsgebieden: {STRING} -STR_CONFIG_SETTING_CATCHMENT_HELPTEXT :Heb verschillende grootte verzorgingsgebied voor verschillende typen stations en luchthavens -STR_CONFIG_SETTING_EXTRADYNAMITE :Sta verwijderen van meer stedelijke wegen, bruggen en tunnels toe: {STRING} +STR_CONFIG_SETTING_CATCHMENT :Meer realistische verzorgingsgebieden toestaan: {STRING} +STR_CONFIG_SETTING_CATCHMENT_HELPTEXT :Verzorgingsgebieden met verschillende groottes voor verschillende typen stations en luchthavens +STR_CONFIG_SETTING_EXTRADYNAMITE :Verwijderen van meer stedelijke wegen, bruggen en tunnels toestaan: {STRING} STR_CONFIG_SETTING_EXTRADYNAMITE_HELPTEXT :Maakt het gemakkelijker om door de stad beheerde infrastructuur en gebouwen te verwijderen. STR_CONFIG_SETTING_TRAIN_LENGTH :Maximale lengte van treinen: {STRING} STR_CONFIG_SETTING_TRAIN_LENGTH_HELPTEXT :Stel de maximale lengte van treinen in @@ -1209,7 +1209,7 @@ STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_HELPTEXT :Wijze van finan STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_NONE :Geen STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_NORMAL :Zoals andere industrieën STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_PROSPECTING :Proberen -STR_CONFIG_SETTING_INDUSTRY_PLATFORM :Plat gebied rond industrieën: {STRING} +STR_CONFIG_SETTING_INDUSTRY_PLATFORM :Vlak gebied rond industrieën: {STRING} STR_CONFIG_SETTING_INDUSTRY_PLATFORM_HELPTEXT :Hoeveelheid ruimte rond een industrie. Dit zorgt ervoor dat lege ruimte rond een industrie beschikbaar blijft voor sporen, stations, wegen enz. STR_CONFIG_SETTING_MULTIPINDTOWN :Meerdere vergelijkbare industrieën per stad toestaan: {STRING} STR_CONFIG_SETTING_MULTIPINDTOWN_HELPTEXT :Normaal zal een stad niet meer dan één industrie van ieder type toestaan. Door deze optie in te schakelen zullen steden meerdere industrieën van één soort accepteren. @@ -1227,8 +1227,8 @@ STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT :Plaats waar een STR_CONFIG_SETTING_STOP_LOCATION_NEAR_END :aan het begin STR_CONFIG_SETTING_STOP_LOCATION_MIDDLE :in het midden STR_CONFIG_SETTING_STOP_LOCATION_FAR_END :aan het einde -STR_CONFIG_SETTING_AUTOSCROLL :Verschuif scherm als muis aan de rand is: {STRING} -STR_CONFIG_SETTING_AUTOSCROLL_HELPTEXT :Wanneer aan, start een subvenster met scrollen wanneer de muis vlak bij de rand van het venster komt +STR_CONFIG_SETTING_AUTOSCROLL :Scherm verplaatsen als muis de rand raakt: {STRING} +STR_CONFIG_SETTING_AUTOSCROLL_HELPTEXT :Als dit is ingeschakeld, wordt een subvenster verplaatst wanneer de muis vlak bij de rand van het venster komt STR_CONFIG_SETTING_AUTOSCROLL_DISABLED :Uitgeschakeld STR_CONFIG_SETTING_AUTOSCROLL_MAIN_VIEWPORT_FULLSCREEN :Hoofdkijkvenster, alleen volledig scherm STR_CONFIG_SETTING_AUTOSCROLL_MAIN_VIEWPORT :Hoofdkijkvenster @@ -1238,13 +1238,13 @@ STR_CONFIG_SETTING_BRIBE_HELPTEXT :Toestaan dat be STR_CONFIG_SETTING_ALLOW_EXCLUSIVE :Kopen van exclusieve transportrechten toestaan: {STRING} STR_CONFIG_SETTING_ALLOW_EXCLUSIVE_HELPTEXT :Wanneer een bedrijf de exclusieve transportrechten van een stad koopt, ontvangen de stations (zowel passagiers als vracht) van de tegenstanders geen vracht voor één heel jaar. STR_CONFIG_SETTING_ALLOW_FUND_BUILDINGS :Financiering van gebouwen toestaan: {STRING} -STR_CONFIG_SETTING_ALLOW_FUND_BUILDINGS_HELPTEXT :Deze optie staat bedrijven toe meer geld te geven aan steden voor de financiering van nieuwe huizen. +STR_CONFIG_SETTING_ALLOW_FUND_BUILDINGS_HELPTEXT :Staat bedrijven toe geld te geven aan steden voor de financiering van nieuwe huizen. STR_CONFIG_SETTING_ALLOW_FUND_ROAD :Financieren van lokale wegreconstructie toestaan: {STRING} -STR_CONFIG_SETTING_ALLOW_FUND_ROAD_HELPTEXT :Deze optie staat bedrijven toe geld te geven aan steden voor het herbouwen van wegen, zodat op wegbedrijven gesaboteerd worden. +STR_CONFIG_SETTING_ALLOW_FUND_ROAD_HELPTEXT :Staat bedrijven toe geld te geven aan steden voor wegreconstructies zodat wegbedrijven gesaboteerd worden. STR_CONFIG_SETTING_ALLOW_GIVE_MONEY :Geld geven aan andere bedrijven toestaan: {STRING} STR_CONFIG_SETTING_ALLOW_GIVE_MONEY_HELPTEXT :Sta toe dat bedrijven geld naar elkaar overmaken in een multiplayerspel. STR_CONFIG_SETTING_FREIGHT_TRAINS :Gewichtsfactor voor vracht om zware treinen te simuleren: {STRING} -STR_CONFIG_SETTING_FREIGHT_TRAINS_HELPTEXT :Stel de impact van het vervoer van vracht bij treinen. Een hogere waarde maakt het vervoer van vracht veeleisender voor treinen, met name in heuvels +STR_CONFIG_SETTING_FREIGHT_TRAINS_HELPTEXT :Stelt in hoe vracht treinen beïnvloedt. Een hogere waarde maakt het vervoer van vracht veeleisender voor treinen, met name in heuvels. STR_CONFIG_SETTING_PLANE_SPEED :Vliegtuig snelheidsfactor: {STRING} STR_CONFIG_SETTING_PLANE_SPEED_HELPTEXT :Stel de relatieve snelheid van de vliegtuigen in vergelijking met andere typen voertuigen, om de hoogte van het inkomen van het vervoer door vliegtuigen te verminderen STR_CONFIG_SETTING_PLANE_SPEED_VALUE :1 / {COMMA} @@ -1278,20 +1278,20 @@ STR_CONFIG_SETTING_WARN_INCOME_LESS :Waarschuw als i STR_CONFIG_SETTING_WARN_INCOME_LESS_HELPTEXT :Wanneer ingeschakeld, wordt een nieuws-bericht verstuurd wanneer een voertuig geen winst heeft gemaakt in een kalenderjaar STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :Voertuigen verlopen nooit: {STRING} STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT :Wanneer ingeschakeld, alle voertuig modellen blijven voor altijd beschikbaar na hun introductie -STR_CONFIG_SETTING_AUTORENEW_VEHICLE :Vernieuw voertuig automatisch wanneer deze oud wordt: {STRING} -STR_CONFIG_SETTING_AUTORENEW_VEHICLE_HELPTEXT :Wanneer ingeschakeld, wordt een voertuig die het einde van zijn levensduur nadert automatisch vervangen als aan de vernieuw voorwaarden worden voldaan +STR_CONFIG_SETTING_AUTORENEW_VEHICLE :Voertuig automatisch vernieuwen wanneer dit oud wordt: {STRING} +STR_CONFIG_SETTING_AUTORENEW_VEHICLE_HELPTEXT :Wanneer ingeschakeld, wordt een voertuig dat het einde van zijn levensduur nadert automatisch vervangen als aan de voorwaarden voor vernieuwing wordt voldaan STR_CONFIG_SETTING_AUTORENEW_MONTHS :Vernieuw voertuigen automatisch na {STRING} maximumleeftijd -STR_CONFIG_SETTING_AUTORENEW_MONTHS_HELPTEXT :Relatieve leeftijd van een voertuig wanneer deze in aanmerking komt voor automatisch vervangen +STR_CONFIG_SETTING_AUTORENEW_MONTHS_HELPTEXT :Relatieve leeftijd van een voertuig wanneer dit in aanmerking komt voor automatisch vervangen STR_CONFIG_SETTING_AUTORENEW_MONTHS_VALUE_BEFORE :{COMMA} maand{P 0 "" en} voor STR_CONFIG_SETTING_AUTORENEW_MONTHS_VALUE_AFTER :{COMMA} maand{P 0 "" en} na -STR_CONFIG_SETTING_AUTORENEW_MONEY :Minimum benodigd geld voor automatisch vernieuwen: {STRING} -STR_CONFIG_SETTING_AUTORENEW_MONEY_HELPTEXT :Minimale hoeveelheid geld die op de bank moet blijven alvorens automatisch vernieuwen voertuigen te starten +STR_CONFIG_SETTING_AUTORENEW_MONEY :Minimumbedrag dat nodig is voor automatisch vernieuwen: {STRING} +STR_CONFIG_SETTING_AUTORENEW_MONEY_HELPTEXT :Minimumbedrag dat de bank moet blijven voordat automatisch vernieuwen van voertuigen mogelijk is STR_CONFIG_SETTING_ERRMSG_DURATION :Duur van foutbericht: {STRING} STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :Duur voor het weergeven van foutberichten in een rood venster. Merk op dat sommige (kritische) foutmeldingen niet automatisch worden gesloten na deze tijd, deze moeten handmatig worden gesloten STR_CONFIG_SETTING_ERRMSG_DURATION_VALUE :{COMMA} seconde{P 0 "" n} STR_CONFIG_SETTING_HOVER_DELAY :Knopinfo weergeven: {STRING} STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Vertraging voordat tooltips worden weergegeven wanneer de muis over een interface-element. Als alternatief kunnen tooltips worden gebonden aan de rechtermuisknop wanneer de waarde 0 is. -STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Wijs aan voor {COMMA} seconde{P 0 "" n} +STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Muis stilhouden gedurende {COMMA} seconde{P 0 "" n} STR_CONFIG_SETTING_HOVER_DELAY_DISABLED :Rechtsklik STR_CONFIG_SETTING_POPULATION_IN_LABEL :Geef het inwoneraantal bij een stad weer: {STRING} STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :Aantal inwoners van een stad weergeven bij naam op de kaart @@ -1307,7 +1307,7 @@ STR_CONFIG_SETTING_LAND_GENERATOR_TERRA_GENESIS :TerraGenesis STR_CONFIG_SETTING_TERRAIN_TYPE :Terrein type: {STRING} STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :(Alleen TerraGenesis) Heuvelachtigheid van het landschap STR_CONFIG_SETTING_INDUSTRY_DENSITY :Industriedichtheid: {STRING} -STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :Stel in hoeveel industrieën moeten worden gegenereerd en welk niveau tijdens het spel moet worden gehandhaafd +STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :Stelt in hoeveel industrieën worden gegenereerd en welk niveau tijdens het spel moet worden gehandhaafd STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Maximumafstand van de rand voor Olierafinaderijen: {STRING} STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Olieraffinaderijen worden alleen gebouwd nabij de kaart grens, dat is aan de kust van eiland kaarten STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Sneeuwhoogte: {STRING} @@ -1347,13 +1347,13 @@ STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_HELPTEXT :Kleur van het t STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_GREEN :Groen STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_DARK_GREEN :Donker groen STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_VIOLET :Violet -STR_CONFIG_SETTING_SCROLLMODE :Bekijk scrollgedrag: {STRING} -STR_CONFIG_SETTING_SCROLLMODE_HELPTEXT :Gedrag tijdens het scrollen van de kaart +STR_CONFIG_SETTING_SCROLLMODE :Verplaatsingsgedrag voor kijkvensters: {STRING} +STR_CONFIG_SETTING_SCROLLMODE_HELPTEXT :Gedrag tijdens het verplaatsen van de kaart STR_CONFIG_SETTING_SCROLLMODE_DEFAULT :Verplaats kijkvenster met RMB, muispositie staat vast STR_CONFIG_SETTING_SCROLLMODE_RMB_LOCKED :Verplaats kaart met RMB, muispositie staat vast STR_CONFIG_SETTING_SCROLLMODE_RMB :Verplaats kaart met RMB STR_CONFIG_SETTING_SCROLLMODE_LMB :Verplaats kaart met LMB -STR_CONFIG_SETTING_SMOOTH_SCROLLING :Vloeiend scrollen kijkvenster: {STRING} +STR_CONFIG_SETTING_SMOOTH_SCROLLING :Kijkvenster vloeiend verplaatsen: {STRING} STR_CONFIG_SETTING_SMOOTH_SCROLLING_HELPTEXT :Bepalen hoe de hoofdweergave naar een specifieke positie schuift bij het klikken op de minikaart of bij het uitvoeren van een commando om naar een specifiek object op de kaart te scrollen. Indien ingeschakeld, dan scrollt het kijkvenster soepel, als deze uitgeschakeld gaat u rechtstreeks naar de beoogde plek STR_CONFIG_SETTING_MEASURE_TOOLTIP :Maten weergeven bij het gebruik van diverse bouwgereedschappen: {STRING} STR_CONFIG_SETTING_MEASURE_TOOLTIP_HELPTEXT :Geef tegelafstanden en hoogteverschillen weer bij het slepen tijdens het bouwen @@ -1365,12 +1365,12 @@ STR_CONFIG_SETTING_LIVERIES_ALL :Alle bedrijven STR_CONFIG_SETTING_PREFER_TEAMCHAT :Voorkeur voor team chat met : {STRING} STR_CONFIG_SETTING_PREFER_TEAMCHAT_HELPTEXT :Schakel de binding van bedrijfs-interne en publieke chat om resp. STR_CONFIG_SETTING_SCROLLWHEEL_SCROLLING :Functie van muiswiel: {STRING} -STR_CONFIG_SETTING_SCROLLWHEEL_SCROLLING_HELPTEXT :Scrollen inschakelen met twee-dimensioneel muis-wielen +STR_CONFIG_SETTING_SCROLLWHEEL_SCROLLING_HELPTEXT :Verplaatsen inschakelen met tweedimensionale muiswieltjes STR_CONFIG_SETTING_SCROLLWHEEL_ZOOM :Zoom kaart -STR_CONFIG_SETTING_SCROLLWHEEL_SCROLL :Scroll kaart +STR_CONFIG_SETTING_SCROLLWHEEL_SCROLL :Kaart verplaatsen STR_CONFIG_SETTING_SCROLLWHEEL_OFF :Uit STR_CONFIG_SETTING_SCROLLWHEEL_MULTIPLIER :Muiswielsnelheid: {STRING} -STR_CONFIG_SETTING_SCROLLWHEEL_MULTIPLIER_HELPTEXT :Regel de gevoeligheid van het muis-wiel scrollen +STR_CONFIG_SETTING_SCROLLWHEEL_MULTIPLIER_HELPTEXT :Gevoeligheid van verplaatsen met de instellen STR_CONFIG_SETTING_OSK_ACTIVATION :Toetsenbord op scherm: {STRING} STR_CONFIG_SETTING_OSK_ACTIVATION_HELPTEXT :Selecteer de methode om het toetsenbord op het scherm te openen voor tekst invoeren in editboxes alleen met behulp van het aanwijsapparaat. Dit is bedoeld voor kleine apparaten zonder toetsenbord STR_CONFIG_SETTING_OSK_ACTIVATION_DISABLED :Uitgeschakeld @@ -1390,9 +1390,9 @@ STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_HELPTEXT :Sluit een venst STR_CONFIG_SETTING_AUTOSAVE :Automatisch opslaan: {STRING} STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Kies tijdsduur voor automatische spelopslag -STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES :Gebruik {STRING} datumformaat voor naamgeving van opgeslagen spellen +STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES :Datumindeling {STRING} gebruiken voor naamgeving van opgeslagen spellen STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_HELPTEXT :Formaat van de datum in savegamebestandsnamen -STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_LONG :lang (31e dec 2008) +STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_LONG :lang (31 dec 2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_SHORT :kort (31-12-2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_ISO :ISO (2008-12-31) @@ -1404,8 +1404,8 @@ STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_NO_ACTIONS :Geen mogelijkhe STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_CONSTRUCTION :Alle niet-constructiemogelijkheden STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_LANDSCAPING :Alles behalve landschapsaanpassingen STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_ACTIONS :Alle mogelijkheden -STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS :Gebruik groepen voor voertuigenlijst: {STRING} -STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS_HELPTEXT :Schakel het gebruik van de geavanceerde voertuigenlijsten in voor het groeperen van voertuigen +STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS :Groepen gebruiken in voertuigenlijst: {STRING} +STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS_HELPTEXT :Schakelt het gebruik van de geavanceerde voertuigenlijsten in voor het groeperen van voertuigen STR_CONFIG_SETTING_LOADING_INDICATORS :Laadpercentages gebruiken: {STRING} STR_CONFIG_SETTING_LOADING_INDICATORS_HELPTEXT :Geef aan of laadindicatoren worden weergegeven boven ladende of lossende voertuigen STR_CONFIG_SETTING_TIMETABLE_IN_TICKS :Dienstregeling in tikken weergeven i.p.v. in dagen: {STRING} @@ -1423,7 +1423,7 @@ STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION :Gereserveerd sp STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION_HELPTEXT :Geef gereserveerde tracks een andere kleur om te helpen met de problemen met treinen te weigeren een route op basis van blokken in te gaan STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS :Hou bouwgereedschappen actief na gebruik: {STRING} STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS_HELPTEXT :Houd de bouwhulpmiddelen voor bruggen, tunnels, enz. open na gebruik -STR_CONFIG_SETTING_EXPENSES_LAYOUT :Groepeer uitgaven in bedrijfsfinanciënscherm: {STRING} +STR_CONFIG_SETTING_EXPENSES_LAYOUT :Uitgaven in bedrijfsfinanciënvenster groeperen: {STRING} STR_CONFIG_SETTING_EXPENSES_LAYOUT_HELPTEXT :Definieer de lay-out voor het bedrijfsuitgavenvenster STR_CONFIG_SETTING_SOUND_TICKER :Nieuwsticker: {STRING} @@ -1469,7 +1469,7 @@ STR_CONFIG_SETTING_AI_PROFILE_EASY :Makkelijk STR_CONFIG_SETTING_AI_PROFILE_MEDIUM :Gemiddeld STR_CONFIG_SETTING_AI_PROFILE_HARD :Moeilijk -STR_CONFIG_SETTING_AI_IN_MULTIPLAYER :Laat computerspelers toe in netwerkspel: {STRING} +STR_CONFIG_SETTING_AI_IN_MULTIPLAYER :Computerspelers toestaan in netwerkspelen: {STRING} STR_CONFIG_SETTING_AI_IN_MULTIPLAYER_HELPTEXT :Sta door computer gegenereerde speler toe deel te nemen in multiplayerspellen STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES :#opcodes voordat scripts worden gestopt: {STRING} STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES_HELPTEXT :Maximumaantal berekeningsstappen die een script kan maken in een beurt @@ -1490,8 +1490,8 @@ STR_CONFIG_SETTING_NOSERVICE :Onderhoud uitsc STR_CONFIG_SETTING_NOSERVICE_HELPTEXT :Als deze optie is ingeschakeld worden voertuigen niet onderhouden als ze niet kapot kunnen gaan. STR_CONFIG_SETTING_WAGONSPEEDLIMITS :Schakel snelheidslimieten voor wagons aan: {STRING} STR_CONFIG_SETTING_WAGONSPEEDLIMITS_HELPTEXT :Wanneer ingeschakeld, ook gebruik maken van snelheidsbeperkingen van wagons voor het bepalen van de maximale snelheid van een trein -STR_CONFIG_SETTING_DISABLE_ELRAILS :Schakel elektrische sporen uit: {STRING} -STR_CONFIG_SETTING_DISABLE_ELRAILS_HELPTEXT :Het inschakelen van deze instelling schakelt de verplichting voor spoorelektrificatie voor elektrische treinen uit +STR_CONFIG_SETTING_DISABLE_ELRAILS :Elektrische sporen uitschakelen: {STRING} +STR_CONFIG_SETTING_DISABLE_ELRAILS_HELPTEXT :Wanneer dit is ingeschakeld, hoeven sporen niet te zijn geëlektrificeerd voor elektrische treinen STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OWN :Eerste voertuig bij eigen station: {STRING} STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OWN_HELPTEXT :Nieuwsbericht weergeven als het eerste voertuig arriveert op een station van de speler @@ -1533,14 +1533,14 @@ STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT :Jaar dat de kra STR_CONFIG_SETTING_STARTING_YEAR :Startjaar: {STRING} STR_CONFIG_SETTING_SMOOTH_ECONOMY :Vloeiende economie inschakelen (meer, kleinere veranderingen): {STRING} STR_CONFIG_SETTING_SMOOTH_ECONOMY_HELPTEXT :Wanneer ingeschakeld, industrie produktie verandert vaker en in kleinere stappen. Deze instelling heeft meestal geen effect, als de industrie soorten worden geleverd door een NewGRF -STR_CONFIG_SETTING_ALLOW_SHARES :Sta het kopen van aandelen van andere bedrijven toe: {STRING} +STR_CONFIG_SETTING_ALLOW_SHARES :Kopen van aandelen in andere bedrijven toestaan: {STRING} STR_CONFIG_SETTING_ALLOW_SHARES_HELPTEXT :Wanneer ingeschakeld is het toegestaan om bedrijfsaandelen te kopen en te verkopen. Aandelen zullen alleen beschikbaar zijn voor bedrijven die een bepaalde leeftijd hebben bereikt STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE :Percentage van routeopbrengst in overdrachtssysteem: {STRING} STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE_HELPTEXT :Percentage van het inkomen besteed aan de intermediaire delen in feedersystemen waardoor er meer controle over de inkomsten is -STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY :Bij slepen, plaats seinen elke: {STRING} +STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY :Bij slepen, seinen plaatsen om de: {STRING} STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY_HELPTEXT :Stel de afstand waarop signalen worden gebouwd op een spoor in totaan de volgende hindernis (signaal, kruising) als signalen worden gesleept STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY_VALUE :{COMMA} tegel{P 0 "" s} -STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE :Bij slepen, hou vaste afstand tussen seinen: {STRING} +STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE :Bij slepen vaste afstand tussen seinen aanhouden: {STRING} STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE_HELPTEXT :Selecteer het gedrag van seinplaatsing wanneer je met Ctrl+slepen seinen plaatst. Indien dit uitgeschakeld is, dan worden seinen rondom tunnels of bruggen geplaatst om lange stukken te vermijden zonder seinen. Indien dit ingeschakeld is, dan worden seinen om de N tegels geplaatst, waardoor de uitlijning van de seinen op parallelle sporen makkelijker is STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE :Plaats automatisch armseinen voor: {STRING} STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE_HELPTEXT :Stel het jaar waarin elektrische seinen zal worden gebruikt voor sporen. Voor dit jaar zal niet-elektrische seinen worden gebruikt (die exact dezelfde functie hebben, maar verschillend uiterlijk) @@ -1577,8 +1577,8 @@ STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED :Toestaan STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED_CUSTOM_LAYOUT :Toestaan, eigen wegpatroon STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT :Plaatsing van bomen in het spel: {STRING} -STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_HELPTEXT :Beheer willekeurig verschijnen van bomen tijdens het spel. Dit kan gevolgen hebben voor industrietakken die afhankelijk zijn van groei van bomen, bijvoorbeeld houtzagerijen -STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_NONE :Geen {RED}(houtzagerij werkt niet) +STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_HELPTEXT :Beheert het willekeurig verschijnen van bomen tijdens het spel. Dit kan gevolgen hebben voor industrietakken die afhankelijk zijn van groei van bomen, bijvoorbeeld houtzagerijen. +STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_NONE :Geen {RED}(houtzagerijen werken niet) STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_RAINFOREST :Alleen in regenwouden STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_ALL :Overal @@ -1626,7 +1626,7 @@ STR_CONFIG_SETTING_DISTRIBUTION_MANUAL :handmatig STR_CONFIG_SETTING_DISTRIBUTION_ASYMMETRIC :asymmetrisch STR_CONFIG_SETTING_DISTRIBUTION_SYMMETRIC :symmetrisch STR_CONFIG_SETTING_DISTRIBUTION_PAX :Distributiemodus voor passagiers: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :"symmetrisch" betekent dat ongeveer hetzelfde aantal passagiers gaan van een station A naar station B als een van B naar A. "asymmetrische" betekent dat willekeurig aantal passagiers kunnen gaan in beide richtingen. "handmatig" betekent dat er geen automatische distributie zal plaatsvinden voor passagiers. +STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :'Symmetrisch' betekent dat ongeveer hetzelfde aantal passagiers van station A naar station B gaat als van B naar A. 'Asymmetrisch' betekent dat willekeurige aantallen passagiers reizen in beide richtingen. 'Handmatig' betekent dat er geen automatische distributie plaatsvindt voor passagiers. STR_CONFIG_SETTING_DISTRIBUTION_MAIL :Distributiemodus voor post: {STRING} STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT :"symmetrisch" betekent dat ongeveer dezelfde hoeveelheid post zal worden verzonden van een station A naar een station B als B naar A. "asymmetrisch" betekent dat willekeurige hoeveelheden post in beide richtingen worden verzonden. "handmatig" betekent dat er geen automatische distributie zal plaatsvinden voor post. STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED :Distributiemodus voor de GEPANTSERDE ladingsklasse: {STRING} @@ -1637,7 +1637,7 @@ STR_CONFIG_SETTING_LINKGRAPH_ACCURACY :Verdeelnauwkeur STR_CONFIG_SETTING_LINKGRAPH_ACCURACY_HELPTEXT :Hoe hoger de instelling, des te meer CPU-tijd de berekening van de linkgrafiek zal gebruiken. Als het te lang duurt, kan dan dat lag opleveren. Als je dit echter op een lage waarde instelt, zal de verdeling onnauwkeurig zijn, en kan het zijn dat vracht niet wordt gestuurd naar de plekken waar het naartoe moet gaan. STR_CONFIG_SETTING_DEMAND_DISTANCE :Effect van afstand op de vraag: {STRING} STR_CONFIG_SETTING_DEMAND_DISTANCE_HELPTEXT :Als je dit op een waarde hoger dan 0 zet, dan zal de afstand tussen het station van herkomst A met enige vracht en een mogelijke bestemming B effect hebben op de hoeveelheid lading verzonden van A naar B. Hoe verder weg B is van A, des te minder lading wordt verzonden. Hoe hoger je deze instelt, hoe minder lading wordt verzonden naar verder geleden stations en meer lading zal worden verzonden naar dichtbij gelegen stations. -STR_CONFIG_SETTING_DEMAND_SIZE :Hoeveelheid van de kerende vracht voor symmetrische modus: {STRING} +STR_CONFIG_SETTING_DEMAND_SIZE :Hoeveelheid terugkerende vracht voor symmetrische modus: {STRING} STR_CONFIG_SETTING_DEMAND_SIZE_HELPTEXT :Door dit op minder dan 100% te zetten lijkt de symmetrische verdeling meer op de asymmetrische verdeling. Minder vracht zal geforceerd worden om zich terug te sturen als er een bepaalde hoeveelheid wordt verzonden naar een station. Op 0% van de symmetrische verdeling gedraagt deze zicht als de asymmetrische verdeling. STR_CONFIG_SETTING_SHORT_PATH_SATURATION :Verzadiging van korte routes voor het gebruik van ruime routes: {STRING} STR_CONFIG_SETTING_SHORT_PATH_SATURATION_HELPTEXT :Vaak zijn er meerdere routes mogelijk tussen twee stations. Cargodist zal de kortste route eerst verzadigen, gebruik dan de tweede kortste route tot die verzadigd is en ga zo maar door. Verzadiging wordt bepaald door een schatting van de capaciteit en het geplande gebruik. Zodra alle routes verzadigd zijn, maar er is meer vraag, zal alle wegen overbelast worden, die met hoge capaciteit eerst. In veel gevallen zat het algoritme niet nauwkeurig de capaciteit inschatten, helaas. Met deze instelling kunt u aangeven tot welk percentage een korter pad moet worden verzadigd eer de eerst volgende langere route wordt gekozen. Zet deze op minder dan 100% om overvolle stations in geval van overschat capaciteit te voorkomen. @@ -1679,20 +1679,20 @@ STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_METRIC :Metrisch (m) STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_SI :SI (m) STR_CONFIG_SETTING_LOCALISATION :{ORANGE}Lokalisatie -STR_CONFIG_SETTING_GRAPHICS :{ORANGE}Graphics +STR_CONFIG_SETTING_GRAPHICS :{ORANGE}Grafische elementen STR_CONFIG_SETTING_SOUND :{ORANGE}Geluid -STR_CONFIG_SETTING_INTERFACE :{ORANGE}Interface +STR_CONFIG_SETTING_INTERFACE :{ORANGE}Gebruikersscherm STR_CONFIG_SETTING_INTERFACE_GENERAL :{ORANGE}Algemeen STR_CONFIG_SETTING_INTERFACE_VIEWPORTS :{ORANGE}Kijkvensters STR_CONFIG_SETTING_INTERFACE_CONSTRUCTION :{ORANGE}Constructie -STR_CONFIG_SETTING_ADVISORS :{ORANGE}Nieuws / Adviseurs +STR_CONFIG_SETTING_ADVISORS :{ORANGE}Nieuws/adviseurs STR_CONFIG_SETTING_COMPANY :{ORANGE}Bedrijf STR_CONFIG_SETTING_ACCOUNTING :{ORANGE}Boekhouding STR_CONFIG_SETTING_VEHICLES :{ORANGE}Voertuigen STR_CONFIG_SETTING_VEHICLES_PHYSICS :{ORANGE}Physics STR_CONFIG_SETTING_VEHICLES_ROUTING :{ORANGE}Routebepaling STR_CONFIG_SETTING_LIMITATIONS :{ORANGE}Beperkingen -STR_CONFIG_SETTING_ACCIDENTS :{ORANGE}Rampen / Ongelukken +STR_CONFIG_SETTING_ACCIDENTS :{ORANGE}Rampen/ongelukken STR_CONFIG_SETTING_GENWORLD :{ORANGE}Wereldgeneratie STR_CONFIG_SETTING_ENVIRONMENT :{ORANGE}Omgeving STR_CONFIG_SETTING_ENVIRONMENT_AUTHORITIES :{ORANGE}Autoriteiten @@ -1721,12 +1721,12 @@ STR_CONFIG_SETTING_QUERY_CAPTION :{WHITE}Verander STR_CONFIG_ERROR :{WHITE}Fout in het configuratiebestand... STR_CONFIG_ERROR_ARRAY :{WHITE}... fout in array '{STRING}' STR_CONFIG_ERROR_INVALID_VALUE :{WHITE}... ongeldige waarde '{STRING}' voor '{STRING}' -STR_CONFIG_ERROR_TRAILING_CHARACTERS :{WHITE}... karakters gevonden aan het einde van instellingen '{STRING}' -STR_CONFIG_ERROR_DUPLICATE_GRFID :{WHITE}... negeer NewGRF '{STRING}': dubbel GRF ID met '{STRING}' +STR_CONFIG_ERROR_TRAILING_CHARACTERS :{WHITE}... tekens gevonden aan het einde van instellingen '{STRING}' +STR_CONFIG_ERROR_DUPLICATE_GRFID :{WHITE}... NewGRF '{STRING}' wordt genegeerd: dubbele GRF-id met '{STRING}' STR_CONFIG_ERROR_INVALID_GRF :{WHITE}... negeer ongeldige NewGRF '{STRING}': {STRING} STR_CONFIG_ERROR_INVALID_GRF_NOT_FOUND :niet gevonden STR_CONFIG_ERROR_INVALID_GRF_UNSAFE :onveilig voor statisch gebruik -STR_CONFIG_ERROR_INVALID_GRF_SYSTEM :systeem NewGRF +STR_CONFIG_ERROR_INVALID_GRF_SYSTEM :systeem-NewGRF STR_CONFIG_ERROR_INVALID_GRF_INCOMPATIBLE :niet compatibel met deze versie van OpenTTD STR_CONFIG_ERROR_INVALID_GRF_UNKNOWN :onbekend STR_CONFIG_ERROR_INVALID_SAVEGAME_COMPRESSION_LEVEL :{WHITE}... compressieniveau '{STRING}' is niet geldig @@ -1735,7 +1735,7 @@ STR_CONFIG_ERROR_INVALID_BASE_GRAPHICS_NOT_FOUND :{WHITE}... nege STR_CONFIG_ERROR_INVALID_BASE_SOUNDS_NOT_FOUND :{WHITE}... negeert standaard geluidsset '{STRING}': niet gevonden STR_CONFIG_ERROR_INVALID_BASE_MUSIC_NOT_FOUND :{WHITE}... negeert standaard muziekset '{STRING}': niet gevonden STR_CONFIG_ERROR_OUT_OF_MEMORY :{WHITE}Geen geheugen meer -STR_CONFIG_ERROR_SPRITECACHE_TOO_BIG :{WHITE}Toewijzen van {BYTES} van spritecache mislukt. De spritecache werd teruggebracht tot {BYTES}. Dit zal de prestaties van OpenTTD verlagen. Om het geheugen te verminderen kunt u proberen om 32bpp graphics en / of zoom-in levels uit te schakelen +STR_CONFIG_ERROR_SPRITECACHE_TOO_BIG :{WHITE}Toewijzen van {BYTES} van spritecache mislukt. De spritecache werd teruggebracht tot {BYTES}. Dit verlaagt de prestaties van OpenTTD. Om het benodigde geheugen te verminderen, kunt u proberen om 32bpp-beeldelementen en/of inzoomniveaus uit te schakelen # Intro window STR_INTRO_CAPTION :{WHITE}OpenTTD {REV} @@ -1802,10 +1802,10 @@ STR_ABANDON_GAME_QUERY :{YELLOW}Weet je STR_ABANDON_SCENARIO_QUERY :{YELLOW}Weet je zeker dat je dit scenario wilt sluiten? # Cheat window -STR_CHEATS :{WHITE}Cheats -STR_CHEATS_TOOLTIP :{BLACK}Keuzevakjes geven aan of je deze cheat eerder hebt gebruikt +STR_CHEATS :{WHITE}Valsspelen +STR_CHEATS_TOOLTIP :{BLACK}Keuzevakjes geven aan of je deze manier van valsspelen eerder hebt gebruikt STR_CHEATS_WARNING :{BLACK}Waarschuwing! Je staat op het punt je medespelers te verraden. Onthoud dat zo'n schande eeuwig wordt onthouden -STR_CHEAT_MONEY :{LTBLUE}Verhoog geld met {CURRENCY_LONG} +STR_CHEAT_MONEY :{LTBLUE}Kapitaal vergroten met {CURRENCY_LONG} STR_CHEAT_CHANGE_COMPANY :{LTBLUE}Spelen als bedrijf: {ORANGE}{COMMA} STR_CHEAT_EXTRA_DYNAMITE :{LTBLUE}Magische bulldozer (industrieën en andere onverplaatsbare objecten verwijderen): {ORANGE}{STRING} STR_CHEAT_CROSSINGTUNNELS :{LTBLUE}Tunnels mogen elkaar kruisen: {ORANGE}{STRING} @@ -1816,9 +1816,9 @@ STR_CHEAT_SWITCH_CLIMATE_TEMPERATE_LANDSCAPE :Gematigd landsc STR_CHEAT_SWITCH_CLIMATE_SUB_ARCTIC_LANDSCAPE :Subarctisch landschap STR_CHEAT_SWITCH_CLIMATE_SUB_TROPICAL_LANDSCAPE :Subtropisch landschap STR_CHEAT_SWITCH_CLIMATE_TOYLAND_LANDSCAPE :Speelgoedlandschap -STR_CHEAT_CHANGE_DATE :{LTBLUE}Verander datum: {ORANGE}{DATE_SHORT} -STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}Wijzig huidig jaar -STR_CHEAT_SETUP_PROD :{LTBLUE}Sta aanpassen productiewaarden toe: {ORANGE}{STRING} +STR_CHEAT_CHANGE_DATE :{LTBLUE}Datum wijzigen: {ORANGE}{DATE_SHORT} +STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}Huidig jaar wijzigen +STR_CHEAT_SETUP_PROD :{LTBLUE}Productiewaarden aanpassen toestaan: {ORANGE}{STRING} # Livery window STR_LIVERY_CAPTION :{WHITE}{COMPANY} - kleurenschema @@ -2101,18 +2101,18 @@ STR_NETWORK_SPECTATORS :Toeschouwers STR_NETWORK_TOOLBAR_LIST_SPECTATOR :{BLACK}Toeschouwer # Network set password -STR_COMPANY_PASSWORD_CANCEL :{BLACK}Sla het ingegeven wachtwoord niet op -STR_COMPANY_PASSWORD_OK :{BLACK}Geef het bedrijf het nieuwe wachtwoord +STR_COMPANY_PASSWORD_CANCEL :{BLACK}Ingevoerd wachtwoord niet opslaan +STR_COMPANY_PASSWORD_OK :{BLACK}Bedrijf het nieuwe wachtwoord geven STR_COMPANY_PASSWORD_CAPTION :{WHITE}Bedrijfswachtwoord STR_COMPANY_PASSWORD_MAKE_DEFAULT :{BLACK}Standaard bedrijfswachtwoord -STR_COMPANY_PASSWORD_MAKE_DEFAULT_TOOLTIP :{BLACK}Gebruik dit bedrijfswachtwoord als standaard voor nieuwe bedrijven +STR_COMPANY_PASSWORD_MAKE_DEFAULT_TOOLTIP :{BLACK}Dit bedrijfswachtwoord gebruiken als standaard voor nieuwe bedrijven # Network company info join/password -STR_COMPANY_VIEW_JOIN :{BLACK}Doe mee +STR_COMPANY_VIEW_JOIN :{BLACK}Meedoen STR_COMPANY_VIEW_JOIN_TOOLTIP :{BLACK}Doe mee en speel als dit bedrijf STR_COMPANY_VIEW_PASSWORD :{BLACK}Wachtwoord STR_COMPANY_VIEW_PASSWORD_TOOLTIP :{BLACK}Bescherm het bedrijf met een wachtwoord zodat niet-geautoriseerde personen niet mee kunnen doen -STR_COMPANY_VIEW_SET_PASSWORD :{BLACK}Geef bedrijfswachtwoord op +STR_COMPANY_VIEW_SET_PASSWORD :{BLACK}Bedrijfswachtwoord instellen # Network chat STR_NETWORK_CHAT_SEND :{BLACK}Verstuur @@ -3009,7 +3009,7 @@ STR_NEWGRF_BROKEN :{WHITE}Gedrag v STR_NEWGRF_BROKEN_POWERED_WAGON :{WHITE}Wagon '{1:ENGINE}' gewijzigde status van aandrijfeenheid wanneer niet in een depot STR_NEWGRF_BROKEN_VEHICLE_LENGTH :{WHITE}Het veranderde de lengte van voertuig '{1:ENGINE}' wanneer het niet in een depot is STR_NEWGRF_BROKEN_CAPACITY :{WHITE}Het wijzigde voertuigcapaciteit voor '{1:ENGINE}' wanneer niet in een depot of ombouwen -STR_BROKEN_VEHICLE_LENGTH :{WHITE}Trein '{VEHICLE}' behorend bij '{COMPANY}' heeft een ongeldige lengte. Het is waarschijnlijk veroorzaakt door problemen met NewGRF's. Het spel kan desynchroniseren of vastlopen +STR_BROKEN_VEHICLE_LENGTH :{WHITE}Trein '{VEHICLE}' behorend bij '{COMPANY}' heeft een ongeldige lengte. Dit wordt waarschijnlijk veroorzaakt door problemen met NewGRF's. Het spel kan desynchroniseren of vastlopen STR_NEWGRF_BUGGY :{WHITE}NewGRF '{0:STRING}' geeft onjuiste informatie STR_NEWGRF_BUGGY_ARTICULATED_CARGO :{WHITE}Vracht- of ombouwinformatie voor '{1:ENGINE}' wijkt af van aanschaflijst na het bouwen. Dit kan resulteren in problemen bij ombouwen door automatisch vernieuwen/vervangen @@ -3310,15 +3310,15 @@ STR_COMPANY_VIEW_VIEW_HQ_TOOLTIP :{BLACK}Hoofdkan STR_COMPANY_VIEW_RELOCATE_HQ :{BLACK}Hoofdkantoor verplaatsen STR_COMPANY_VIEW_RELOCATE_COMPANY_HEADQUARTERS :{BLACK}Hoofdkantoor verplaatsen voor 1% van de bedrijfswaarde. Shift+klik geeft de verwachte kosten zonder hoofdkantoor te verplaatsen. STR_COMPANY_VIEW_INFRASTRUCTURE_BUTTON :{BLACK}Details -STR_COMPANY_VIEW_INFRASTRUCTURE_TOOLTIP :{BLACK}Bekijken gedetailleerde aantallen infrastructuur +STR_COMPANY_VIEW_INFRASTRUCTURE_TOOLTIP :{BLACK}Gedetailleerde aantallen infrastructuur bekijken STR_COMPANY_VIEW_GIVE_MONEY_BUTTON :{BLACK}Geef geld STR_COMPANY_VIEW_NEW_FACE_BUTTON :{BLACK}Nieuw gezicht STR_COMPANY_VIEW_NEW_FACE_TOOLTIP :{BLACK}Kies nieuw gezicht voor directeur STR_COMPANY_VIEW_COLOUR_SCHEME_BUTTON :{BLACK}Kleurenschema -STR_COMPANY_VIEW_COLOUR_SCHEME_TOOLTIP :{BLACK}Verander het uiterlijk van de bedrijfsvoertuigen +STR_COMPANY_VIEW_COLOUR_SCHEME_TOOLTIP :{BLACK}Verandert het uiterlijk van de bedrijfsvoertuigen STR_COMPANY_VIEW_COMPANY_NAME_BUTTON :{BLACK}Bedrijfsnaam -STR_COMPANY_VIEW_COMPANY_NAME_TOOLTIP :{BLACK}Verander de bedrijfsnaam +STR_COMPANY_VIEW_COMPANY_NAME_TOOLTIP :{BLACK}Bedrijfsnaam wijzigen STR_COMPANY_VIEW_PRESIDENT_NAME_BUTTON :{BLACK}Naam directeur STR_COMPANY_VIEW_PRESIDENT_NAME_TOOLTIP :{BLACK}Verander de naam van de directeur @@ -3371,8 +3371,8 @@ STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Vereist: STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING}{BLACK}{3:STRING} STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{STRING}{BLACK}: {CARGO_SHORT} wachtend{STRING} -STR_CONFIG_GAME_PRODUCTION :{WHITE}Verander productie (veelvoud van 8, maximaal 2040) -STR_CONFIG_GAME_PRODUCTION_LEVEL :{WHITE}Verander productieniveau (percentage, maximaal 800%) +STR_CONFIG_GAME_PRODUCTION :{WHITE}Productie wijzigen (veelvoud van 8, maximaal 2040) +STR_CONFIG_GAME_PRODUCTION_LEVEL :{WHITE}Productieniveau wijzigen (percentage, maximaal 800%) # Vehicle lists STR_VEHICLE_LIST_TRAIN_CAPTION :{WHITE}{STRING} - {COMMA} Trein{P "" en} @@ -3689,10 +3689,10 @@ STR_VEHICLE_VIEW_ROAD_VEHICLE_SHOW_DETAILS_TOOLTIP :{BLACK}Details STR_VEHICLE_VIEW_SHIP_SHOW_DETAILS_TOOLTIP :{BLACK}Details van schip weergeven STR_VEHICLE_VIEW_AIRCRAFT_SHOW_DETAILS_TOOLTIP :{BLACK}Details van vliegtuig weergeven -STR_VEHICLE_VIEW_TRAIN_STATE_START_STOP_TOOLTIP :{BLACK}Huidige actie van trein - klik hier om de trein te starten/stoppen. Ctrl+klik om naar bestemming te scrollen -STR_VEHICLE_VIEW_ROAD_VEHICLE_STATE_START_STOP_TOOLTIP :{BLACK}Huidige actie van wegvoertuig - klik hier om voertuig te starten/stoppen. Ctrl+klik om naar bestemming te scrollen -STR_VEHICLE_VIEW_SHIP_STATE_START_STOP_TOOLTIP :{BLACK}Huidige actie van schip - klik hier om het te starten/stoppen. Ctrl+klik om naar bestemming te scrollen -STR_VEHICLE_VIEW_AIRCRAFT_STATE_START_STOP_TOOLTIP :{BLACK}Huidige actie van vliegtuig - klik hier om het vliegtuig te stoppen/starten. Ctrl+klik om naar bestemming te scrollen +STR_VEHICLE_VIEW_TRAIN_STATE_START_STOP_TOOLTIP :{BLACK}Huidige actie van trein - klik hier om de trein te starten-stoppen. Ctrl+klik om naar bestemming te verplaatsen. +STR_VEHICLE_VIEW_ROAD_VEHICLE_STATE_START_STOP_TOOLTIP :{BLACK}Huidige actie van wegvoertuig - klik hier om voertuig te starten-stoppen. Ctrl+klik om naar bestemming te verplaatsen. +STR_VEHICLE_VIEW_SHIP_STATE_START_STOP_TOOLTIP :{BLACK}Huidige actie van schip - klik hier om te starten-stoppen. Ctrl+klik om naar bestemming te verplaatsen. +STR_VEHICLE_VIEW_AIRCRAFT_STATE_START_STOP_TOOLTIP :{BLACK}Huidige actie van vliegtuig - klik hier om het vliegtuig te stoppen-starten. Ctrl+klik om naar bestemming te verplaatsen. # Messages in the start stop button in the vehicle view STR_VEHICLE_STATUS_LOADING_UNLOADING :{LTBLUE}In- en uitladen @@ -4060,7 +4060,7 @@ STR_ERROR_AI_PLEASE_REPORT_CRASH :{WHITE}Eén van STR_ERROR_AI_DEBUG_SERVER_ONLY :{YELLOW}AI-/spelscript-probleemvenster is alleen beschikbaar voor de server # AI configuration window -STR_AI_CONFIG_CAPTION :{WHITE}AI/Spelscriptconfiguratie +STR_AI_CONFIG_CAPTION :{WHITE}AI-/spelscriptconfiguratie STR_AI_CONFIG_GAMELIST_TOOLTIP :{BLACK}Het spelscript dat in het volgende spel geladen wordt STR_AI_CONFIG_AILIST_TOOLTIP :{BLACK}De AI's die in het volgende spel geladen worden STR_AI_CONFIG_HUMAN_PLAYER :Menselijke speler @@ -4113,7 +4113,7 @@ STR_TEXTFILE_README_CAPTION :{WHITE}{STRING} STR_TEXTFILE_CHANGELOG_CAPTION :{WHITE}{STRING} wijzigingen van {STRING} STR_TEXTFILE_LICENCE_CAPTION :{WHITE}{STRING} licentie van {STRING} STR_TEXTFILE_WRAP_TEXT :{WHITE}Tekst afbreken -STR_TEXTFILE_WRAP_TEXT_TOOLTIP :{BLACK}Maak de tekst passen in het scherm zonder te hoeven scrollen +STR_TEXTFILE_WRAP_TEXT_TOOLTIP :{BLACK}Tekst aanpassen aan venster zodat je niet hoeft te bladeren STR_TEXTFILE_VIEW_README :{BLACK}Bekijk leesme STR_TEXTFILE_VIEW_CHANGELOG :{BLACK}Wijzigingen STR_TEXTFILE_VIEW_LICENCE :{BLACK}Licentie @@ -4151,7 +4151,7 @@ STR_ERROR_GAME_SAVE_FAILED :{WHITE}Opslaan STR_ERROR_UNABLE_TO_DELETE_FILE :{WHITE}Kan bestand niet verwijderen STR_ERROR_GAME_LOAD_FAILED :{WHITE}Laden spel mislukt{}{STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR :Interne fout: {STRING} -STR_GAME_SAVELOAD_ERROR_BROKEN_SAVEGAME :Kapotte savegame - {STRING} +STR_GAME_SAVELOAD_ERROR_BROKEN_SAVEGAME :Opgeslagen spel beschadigd - {STRING} STR_GAME_SAVELOAD_ERROR_TOO_NEW_SAVEGAME :Opgeslagen spel hoort bij een nieuwere versie STR_GAME_SAVELOAD_ERROR_FILE_NOT_READABLE :Bestand is niet leesbaar STR_GAME_SAVELOAD_ERROR_FILE_NOT_WRITEABLE :Bestand is niet schrijfbaar @@ -4503,7 +4503,7 @@ STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}Nog geen STR_ERROR_NO_VEHICLES_AVAILABLE_YET_EXPLANATION :{WHITE} Start een nieuw spel na {DATE_SHORT} of gebruik een NewGRF dat in vroege voertuigen voorziet # Specific vehicle errors -STR_ERROR_CAN_T_MAKE_TRAIN_PASS_SIGNAL :{WHITE}Kan trein niet het signaal laten passeren bij gevaar... +STR_ERROR_CAN_T_MAKE_TRAIN_PASS_SIGNAL :{WHITE}Kan trein niet het sein laten passeren bij gevaar... STR_ERROR_CAN_T_REVERSE_DIRECTION_TRAIN :{WHITE}Kan de richting van de trein niet omdraaien... STR_ERROR_TRAIN_START_NO_POWER :Trein heeft geen vermogen diff --git a/src/lang/english_AU.txt b/src/lang/english_AU.txt index a11983b2cd..9d481c2b22 100644 --- a/src/lang/english_AU.txt +++ b/src/lang/english_AU.txt @@ -1775,7 +1775,6 @@ STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}Change c STR_CHEAT_SETUP_PROD :{LTBLUE}Enable modifying production values: {ORANGE}{STRING} # Livery window -STR_LIVERY_CAPTION :{WHITE}New Colour Scheme STR_LIVERY_GENERAL_TOOLTIP :{BLACK}Show general colour schemes STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Show train colour schemes diff --git a/src/lang/english_US.txt b/src/lang/english_US.txt index ef5a57aa70..6afdd307a9 100644 --- a/src/lang/english_US.txt +++ b/src/lang/english_US.txt @@ -189,6 +189,8 @@ STR_COLOUR_ORANGE :Orange STR_COLOUR_BROWN :Brown STR_COLOUR_GREY :Gray STR_COLOUR_WHITE :White +STR_COLOUR_RANDOM :Random +STR_COLOUR_DEFAULT :Default # Units used in OpenTTD STR_UNITS_VELOCITY_IMPERIAL :{COMMA}{NBSP}mph @@ -475,6 +477,7 @@ STR_ABOUT_MENU_SCREENSHOT :Screenshot STR_ABOUT_MENU_ZOOMIN_SCREENSHOT :Fully zoomed in screenshot STR_ABOUT_MENU_DEFAULTZOOM_SCREENSHOT :Default zoom screenshot STR_ABOUT_MENU_GIANT_SCREENSHOT :Whole map screenshot +STR_ABOUT_MENU_SHOW_FRAMERATE :Show frame rate STR_ABOUT_MENU_ABOUT_OPENTTD :About 'OpenTTD' STR_ABOUT_MENU_SPRITE_ALIGNER :Sprite aligner STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Toggle bounding boxes @@ -814,6 +817,7 @@ STR_NEWS_MERGER_TAKEOVER_TITLE :{BIG_FONT}{BLAC STR_PRESIDENT_NAME_MANAGER :{BLACK}{PRESIDENT_NAME}{}(President) STR_NEWS_NEW_TOWN :{BLACK}{BIG_FONT}{STRING} sponsored construction of new town {TOWN}! +STR_NEWS_NEW_TOWN_UNSPONSORED :{BLACK}{BIG_FONT}A new town called {TOWN} has been constructed! STR_NEWS_INDUSTRY_CONSTRUCTION :{BIG_FONT}{BLACK}New {STRING} under construction near {TOWN}! STR_NEWS_INDUSTRY_PLANTED :{BIG_FONT}{BLACK}New {STRING} being planted near {TOWN}! @@ -926,6 +930,8 @@ STR_GAME_OPTIONS_CURRENCY_ZAR :South African R STR_GAME_OPTIONS_CURRENCY_CUSTOM :Custom... STR_GAME_OPTIONS_CURRENCY_GEL :Georgian Lari (GEL) STR_GAME_OPTIONS_CURRENCY_IRR :Iranian Rial (IRR) +STR_GAME_OPTIONS_CURRENCY_RUB :New Russian Ruble (RUB) +STR_GAME_OPTIONS_CURRENCY_MXN :Mexican Peso (MXN) ############ end of currency region STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}Road vehicles @@ -1255,6 +1261,8 @@ STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}Changing STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :Infrastructure maintenance: {STRING} STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :When enabled, infrastructure causes maintenance costs. The cost grows over-proportional with the network size, thus affecting bigger companies more than smaller ones +STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR :Starting company color: {STRING} +STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_HELPTEXT :Choose starting color for the company STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS :Airports never expire: {STRING} STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS_HELPTEXT :Enabling this setting makes each airport type stay available forever after its introduction @@ -1813,7 +1821,7 @@ STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}Change c STR_CHEAT_SETUP_PROD :{LTBLUE}Enable modifying production values: {ORANGE}{STRING} # Livery window -STR_LIVERY_CAPTION :{WHITE}New Color Scheme +STR_LIVERY_CAPTION :{WHITE}{COMPANY} - Color Scheme STR_LIVERY_GENERAL_TOOLTIP :{BLACK}Show general color schemes STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Show train color schemes @@ -2373,7 +2381,7 @@ STR_BUILD_SIGNAL_ELECTRIC_PBS_TOOLTIP :{BLACK}Path Sig STR_BUILD_SIGNAL_ELECTRIC_PBS_OWAY_TOOLTIP :{BLACK}One-way Path Signal (electric){}A path signal allows more than one train to enter a signal block at the same time, if the train can reserve a path to a safe stopping point. One-way path signals can't be passed from the back side STR_BUILD_SIGNAL_CONVERT_TOOLTIP :{BLACK}Signal Convert{}When selected, clicking an existing signal will convert it to the selected signal type and variant. Ctrl+Click will toggle the existing variant. Shift+Click shows estimated conversion cost STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_TOOLTIP :{BLACK}Dragging signal density -STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_DECREASE_TOOLTIP :{BLACK}Decrease dragging signal density +STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_DECREASE_TOOLTIP :{BLACK}Decrease dragging signal distance STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_INCREASE_TOOLTIP :{BLACK}Increase dragging signal density # Bridge selection window @@ -2697,9 +2705,51 @@ STR_ABOUT_VERSION :{BLACK}OpenTTD STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2019 The OpenTTD team # Framerate display window +STR_FRAMERATE_CAPTION :{WHITE}Frame rate +STR_FRAMERATE_CAPTION_SMALL :{STRING}{WHITE} ({DECIMAL}x) +STR_FRAMERATE_RATE_GAMELOOP :{BLACK}Simulation rate: {STRING} +STR_FRAMERATE_RATE_GAMELOOP_TOOLTIP :{BLACK}Number of game ticks simulated per second. +STR_FRAMERATE_RATE_BLITTER :{BLACK}Graphics frame rate: {STRING} +STR_FRAMERATE_RATE_BLITTER_TOOLTIP :{BLACK}Number of video frames rendered per second. +STR_FRAMERATE_SPEED_FACTOR :{BLACK}Current game speed factor: {DECIMAL}x +STR_FRAMERATE_SPEED_FACTOR_TOOLTIP :{BLACK}How fast the game is currently running, compared to the expected speed at normal simulation rate. +STR_FRAMERATE_CURRENT :{WHITE}Current +STR_FRAMERATE_AVERAGE :{WHITE}Average +STR_FRAMERATE_DATA_POINTS :{BLACK}Data based on {COMMA} measurements +STR_FRAMERATE_MS_GOOD :{LTBLUE}{DECIMAL} ms +STR_FRAMERATE_MS_WARN :{YELLOW}{DECIMAL} ms +STR_FRAMERATE_MS_BAD :{RED}{DECIMAL} ms +STR_FRAMERATE_FPS_GOOD :{LTBLUE}{DECIMAL} frames/s +STR_FRAMERATE_FPS_WARN :{YELLOW}{DECIMAL} frames/s +STR_FRAMERATE_FPS_BAD :{RED}{DECIMAL} frames/s +STR_FRAMERATE_GRAPH_MILLISECONDS :{TINY_FONT}{COMMA} ms ############ Leave those lines in this order!! +STR_FRAMERATE_GAMELOOP :{BLACK}Game loop total: +STR_FRAMERATE_GL_ECONOMY :{BLACK} Cargo handling: +STR_FRAMERATE_GL_TRAINS :{BLACK} Train ticks: +STR_FRAMERATE_GL_ROADVEHS :{BLACK} Road vehicle ticks: +STR_FRAMERATE_GL_SHIPS :{BLACK} Ship ticks: +STR_FRAMERATE_GL_AIRCRAFT :{BLACK} Aircraft ticks: +STR_FRAMERATE_GL_LANDSCAPE :{BLACK} World ticks: +STR_FRAMERATE_GL_LINKGRAPH :{BLACK} Link graph delay: +STR_FRAMERATE_DRAWING :{BLACK}Graphics rendering: +STR_FRAMERATE_DRAWING_VIEWPORTS :{BLACK} World viewports: +STR_FRAMERATE_VIDEO :{BLACK}Video output: +STR_FRAMERATE_SOUND :{BLACK}Sound mixing: ############ End of leave-in-this-order ############ Leave those lines in this order!! +STR_FRAMETIME_CAPTION_GAMELOOP :Game loop +STR_FRAMETIME_CAPTION_GL_ECONOMY :Cargo handling +STR_FRAMETIME_CAPTION_GL_TRAINS :Train ticks +STR_FRAMETIME_CAPTION_GL_ROADVEHS :Road vehicle ticks +STR_FRAMETIME_CAPTION_GL_SHIPS :Ship ticks +STR_FRAMETIME_CAPTION_GL_AIRCRAFT :Aircraft ticks +STR_FRAMETIME_CAPTION_GL_LANDSCAPE :World ticks +STR_FRAMETIME_CAPTION_GL_LINKGRAPH :Link graph delay +STR_FRAMETIME_CAPTION_DRAWING :Graphics rendering +STR_FRAMETIME_CAPTION_DRAWING_VIEWPORTS :World viewport rendering +STR_FRAMETIME_CAPTION_VIDEO :Video output +STR_FRAMETIME_CAPTION_SOUND :Sound mixing ############ End of leave-in-this-order @@ -2725,6 +2775,9 @@ STR_SAVELOAD_DETAIL_CAPTION :{BLACK}Game Det STR_SAVELOAD_DETAIL_NOT_AVAILABLE :{BLACK}No information available STR_SAVELOAD_DETAIL_COMPANY_INDEX :{SILVER}{COMMA}: {WHITE}{STRING} STR_SAVELOAD_DETAIL_GRFSTATUS :{SILVER}NewGRF: {WHITE}{STRING} +STR_SAVELOAD_FILTER_TITLE :{BLACK}Filter string: +STR_SAVELOAD_OVERWRITE_TITLE :{WHITE}Overwrite File +STR_SAVELOAD_OVERWRITE_WARNING :{YELLOW}Are you sure you want to overwrite the existing file? STR_SAVELOAD_OSKTITLE :{BLACK}Enter a name for the savegame @@ -2842,7 +2895,12 @@ STR_NEWGRF_SETTINGS_VERSION :{BLACK}Version: STR_NEWGRF_SETTINGS_MIN_VERSION :{BLACK}Min. compatible version: {SILVER}{NUM} STR_NEWGRF_SETTINGS_MD5SUM :{BLACK}MD5sum: {SILVER}{STRING} STR_NEWGRF_SETTINGS_PALETTE :{BLACK}Palette: {SILVER}{STRING} +STR_NEWGRF_SETTINGS_PALETTE_DEFAULT :Default (D) +STR_NEWGRF_SETTINGS_PALETTE_DEFAULT_32BPP :Default (D) / 32 bpp +STR_NEWGRF_SETTINGS_PALETTE_LEGACY :Legacy (W) +STR_NEWGRF_SETTINGS_PALETTE_LEGACY_32BPP :Legacy (W) / 32 bpp STR_NEWGRF_SETTINGS_PARAMETER :{BLACK}Parameters: {SILVER}{STRING} +STR_NEWGRF_SETTINGS_PARAMETER_NONE :None STR_NEWGRF_SETTINGS_NO_INFO :{BLACK}No information available STR_NEWGRF_SETTINGS_NOT_FOUND :{RED}Matching file not found @@ -2923,6 +2981,7 @@ STR_NEWGRF_ERROR_READ_BOUNDS :Read past end o STR_NEWGRF_ERROR_GRM_FAILED :Requested GRF resources not available (sprite {3:NUM}) STR_NEWGRF_ERROR_FORCEFULLY_DISABLED :{1:STRING} was disabled by {2:STRING} STR_NEWGRF_ERROR_INVALID_SPRITE_LAYOUT :Invalid/unknown sprite layout format (sprite {3:NUM}) +STR_NEWGRF_ERROR_LIST_PROPERTY_TOO_LONG :Too many elements in property value list (sprite {3:NUM}, property {4:HEX}) # NewGRF related 'general' warnings STR_NEWGRF_POPUP_CAUTION_CAPTION :{WHITE}Caution! @@ -3359,6 +3418,7 @@ STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Groups - STR_GROUP_CREATE_TOOLTIP :{BLACK}Click to create a group STR_GROUP_DELETE_TOOLTIP :{BLACK}Delete the selected group STR_GROUP_RENAME_TOOLTIP :{BLACK}Rename the selected group +STR_GROUP_LIVERY_TOOLTIP :{BLACK}Change livery of the selected group STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Click to protect this group from global autoreplace STR_QUERY_GROUP_DELETE_CAPTION :{WHITE}Delete Group @@ -3402,6 +3462,7 @@ STR_PURCHASE_INFO_AIRCRAFT_CAPACITY :{BLACK}Capacity STR_PURCHASE_INFO_PWAGPOWER_PWAGWEIGHT :{BLACK}Powered Wagons: {GOLD}+{POWER}{BLACK} Weight: {GOLD}+{WEIGHT_SHORT} STR_PURCHASE_INFO_REFITTABLE_TO :{BLACK}Refittable to: {GOLD}{STRING} STR_PURCHASE_INFO_ALL_TYPES :All cargo types +STR_PURCHASE_INFO_NONE :None STR_PURCHASE_INFO_ALL_BUT :All but {CARGO_LIST} STR_PURCHASE_INFO_MAX_TE :{BLACK}Max. Tractive Effort: {GOLD}{FORCE} STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Range: {GOLD}{COMMA} tiles @@ -3801,6 +3862,7 @@ STR_ORDER_CONDITIONAL_AGE :Age (years) STR_ORDER_CONDITIONAL_REQUIRES_SERVICE :Requires maintenance STR_ORDER_CONDITIONAL_UNCONDITIONALLY :Always STR_ORDER_CONDITIONAL_REMAINING_LIFETIME :Remaining lifetime (years) +STR_ORDER_CONDITIONAL_MAX_RELIABILITY :Maximum reliability STR_ORDER_CONDITIONAL_COMPARATOR_TOOLTIP :{BLACK}How to compare the vehicle data to the given value STR_ORDER_CONDITIONAL_COMPARATOR_EQUALS :is equal to diff --git a/src/lang/esperanto.txt b/src/lang/esperanto.txt index 770e7f0e7c..c6ee2a288a 100644 --- a/src/lang/esperanto.txt +++ b/src/lang/esperanto.txt @@ -1458,7 +1458,6 @@ STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}Ŝanĝu STR_CHEAT_SETUP_PROD :{LTBLUE}Ebligu ŝanĝi produktvalorojn: {ORANGE}{STRING} # Livery window -STR_LIVERY_CAPTION :{WHITE}Nova Kolorskemo STR_LIVERY_GENERAL_TOOLTIP :{BLACK}Montru ĝeneralajn kolorskemojn STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Montru trajnajn kolorskemojn diff --git a/src/lang/faroese.txt b/src/lang/faroese.txt index a2967e78d6..9297324b59 100644 --- a/src/lang/faroese.txt +++ b/src/lang/faroese.txt @@ -453,6 +453,7 @@ STR_ABOUT_MENU_SCREENSHOT :Skermmynd STR_ABOUT_MENU_ZOOMIN_SCREENSHOT :Suma in skermmynd STR_ABOUT_MENU_DEFAULTZOOM_SCREENSHOT :Vanliga suma skermmynd STR_ABOUT_MENU_GIANT_SCREENSHOT :Skermmynd av øllum kortinum +STR_ABOUT_MENU_SHOW_FRAMERATE :Vís mynda títtleika STR_ABOUT_MENU_ABOUT_OPENTTD :Um 'OpenTTD' STR_ABOUT_MENU_SPRITE_ALIGNER :Sprite aligner STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Skift millum bindingar kassar @@ -1621,7 +1622,6 @@ STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}Broyt n STR_CHEAT_SETUP_PROD :{LTBLUE}Gilda broytingar av framleiðslu virðum: {ORANGE}{STRING} # Livery window -STR_LIVERY_CAPTION :{WHITE}Nýggja lit samanseting STR_LIVERY_GENERAL_TOOLTIP :{BLACK}Vís vanligu lit samansetingarnar STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Vís tok lit samansetingarnar diff --git a/src/lang/french.txt b/src/lang/french.txt index fb1562ae41..f145941769 100644 --- a/src/lang/french.txt +++ b/src/lang/french.txt @@ -2778,6 +2778,8 @@ STR_SAVELOAD_DETAIL_NOT_AVAILABLE :{BLACK}Pas d'in STR_SAVELOAD_DETAIL_COMPANY_INDEX :{SILVER}{COMMA}{NBSP}: {WHITE}{STRING} STR_SAVELOAD_DETAIL_GRFSTATUS :{SILVER}NewGRF{NBSP}: {WHITE}{STRING} STR_SAVELOAD_FILTER_TITLE :{BLACK}Filtre{NBSP}: +STR_SAVELOAD_OVERWRITE_TITLE :{WHITE}Écraser le fichier +STR_SAVELOAD_OVERWRITE_WARNING :{YELLOW}Êtes-vous sûr de vouloir écraser le fichier existant{NBSP}? STR_SAVELOAD_OSKTITLE :{BLACK}Entrer un nom pour la sauvegarde diff --git a/src/lang/gaelic.txt b/src/lang/gaelic.txt index 10045d0ff2..421cde9958 100644 --- a/src/lang/gaelic.txt +++ b/src/lang/gaelic.txt @@ -2005,7 +2005,6 @@ STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}Atharrai STR_CHEAT_SETUP_PROD :{LTBLUE}Cuir an comas atharrachadh air luachan saothrachaidh: {ORANGE}{STRING} # Livery window -STR_LIVERY_CAPTION :{WHITE}Sgeama nan dath ùr STR_LIVERY_GENERAL_TOOLTIP :{BLACK}Seall sgeamannan nan dath coitcheann STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Seall sgeamannan nan dath airson trèanaichean diff --git a/src/lang/galician.txt b/src/lang/galician.txt index 5681c6db30..395c1f329a 100644 --- a/src/lang/galician.txt +++ b/src/lang/galician.txt @@ -1804,7 +1804,6 @@ STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}Cambiar STR_CHEAT_SETUP_PROD :{LTBLUE}Permitir a modificación dos valores de producción: {ORANGE}{STRING} # Livery window -STR_LIVERY_CAPTION :{WHITE}Novo esquema de cor STR_LIVERY_GENERAL_TOOLTIP :{BLACK}Mostra-los esquemas de cor xerais STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Mostra-los esquemas de cor dos trens diff --git a/src/lang/german.txt b/src/lang/german.txt index d4de28ba08..eb2b8f042e 100644 --- a/src/lang/german.txt +++ b/src/lang/german.txt @@ -1940,7 +1940,7 @@ STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Prüfe, STR_INTRO_TOOLTIP_SCRIPT_SETTINGS :{BLACK}Zeige KI- und Skripteinstellungen STR_INTRO_TOOLTIP_QUIT :{BLACK}OpenTTD beenden -STR_INTRO_BASESET :{BLACK}Dem momentan ausgewählten Basisgrafiken fehl{P 0 "t" "en"} {NUM} Sprite{P 0 "" s}. Bitte überprüfe, ob es Updates für die Basisgrafiken gibt. +STR_INTRO_BASESET :{BLACK}Den momentan ausgewählten Basisgrafiken fehl{P 0 "t" "en"} {NUM} Sprite{P 0 "" "s"}. Bitte überprüfe, ob es Updates für die Basisgrafiken gibt. STR_INTRO_TRANSLATION :{BLACK}Dieser Übersetzung fehl{P 0 t en} {NUM} String{P "" s}. Bitte hilf, OpenTTD zu verbessern und melde Dich als Übersetzer an. Siehe readme.txt für weitere Details. # Quit window @@ -4520,7 +4520,7 @@ STR_ORDERS_DELETE_BUTTON :{BLACK}Löschen STR_ORDERS_DELETE_TOOLTIP :{BLACK}Lösche den markierten Auftrag STR_ORDERS_DELETE_ALL_TOOLTIP :{BLACK}Lösche alle Aufträge STR_ORDERS_STOP_SHARING_BUTTON :{BLACK}Gemeinsame Aufträge aufheben -STR_ORDERS_STOP_SHARING_TOOLTIP :{BLACK}Gemeinsame Auftragliste aufheben. Ctrl+Klick löscht zusätzlich die Auftragliste für dieses Fahrzeug +STR_ORDERS_STOP_SHARING_TOOLTIP :{BLACK}Gemeinsame Auftragliste aufheben. Strg+Klick löscht zusätzlich die Auftragliste für dieses Fahrzeug STR_ORDERS_GO_TO_BUTTON :{BLACK}Fahre zu STR_ORDER_GO_TO_NEAREST_DEPOT :Nächstes Depot diff --git a/src/lang/greek.txt b/src/lang/greek.txt index fb14acfd7a..8dee8e7ea9 100644 --- a/src/lang/greek.txt +++ b/src/lang/greek.txt @@ -250,6 +250,8 @@ STR_COLOUR_ORANGE :Πορτοκα STR_COLOUR_BROWN :Καφέ STR_COLOUR_GREY :Γκρι STR_COLOUR_WHITE :Λευκό +STR_COLOUR_RANDOM :Τυχαία +STR_COLOUR_DEFAULT :Προεπιλογή # Units used in OpenTTD STR_UNITS_VELOCITY_IMPERIAL :{COMMA}{NBSP}μίλια/ώρα @@ -1033,6 +1035,8 @@ STR_GAME_OPTIONS_CURRENCY_ZAR :Νοτιοαφ STR_GAME_OPTIONS_CURRENCY_CUSTOM :Άλλο... STR_GAME_OPTIONS_CURRENCY_GEL :Γεοργιανό Λάρι (GEL) STR_GAME_OPTIONS_CURRENCY_IRR :Ιρανικό Ριάλ (IRR) +STR_GAME_OPTIONS_CURRENCY_RUB :Νεο Ρώσικο Ρούβλι (RUB) +STR_GAME_OPTIONS_CURRENCY_MXN :Πεσος Μεξικου (MXN) ############ end of currency region STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}Οχήματα δρόμου @@ -1920,7 +1924,7 @@ STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}Αλλα STR_CHEAT_SETUP_PROD :{LTBLUE}Ενεργοποίηση δυνατότητας αλλαγής τιμών παραγωγής: {ORANGE}{STRING} # Livery window -STR_LIVERY_CAPTION :{WHITE}Νέος Χρωματισμός +STR_LIVERY_CAPTION :{WHITE}{COMPANY} - Νέος Χρωματισμός STR_LIVERY_GENERAL_TOOLTIP :{BLACK}Εμφάνιση γενικών χρωματικών μοτίβων STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Εμφάνιση χρωματικών μοτίβων τρένων @@ -2804,13 +2808,18 @@ STR_ABOUT_VERSION :{BLACK}Έκδο STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2019 Η ομάδα του OpenTTD # Framerate display window +STR_FRAMERATE_CAPTION_SMALL :{STRING}{WHITE} ({DECIMAL}x) STR_FRAMERATE_RATE_GAMELOOP_TOOLTIP :{BLACK}Αριθμός στιγμών παιχνιδιού που προσομοιώνεται ανά δευτερόλεπτο. +STR_FRAMERATE_RATE_BLITTER_TOOLTIP :{BLACK}Αριθμος των παραγμενων video frames ανα δευτερολεπτο STR_FRAMERATE_SPEED_FACTOR :{WHITE}Παράγοντας ταχύτητας τρέχοντος παιχνιδιού: {DECIMAL}x STR_FRAMERATE_SPEED_FACTOR_TOOLTIP :{BLACK}Πόσο γρήγορα εκτελείται το παιχνίδι αυτήν τη στιγμή, σε σύγκριση με την αναμενόμενη ταχύτητα στον κανονικό ρυθμό εξομοίωσης. STR_FRAMERATE_CURRENT :{WHITE}Τρέχον STR_FRAMERATE_AVERAGE :{WHITE}Μέσο STR_FRAMERATE_DATA_POINTS :{WHITE}Τα δεδομένα βασίζονται σε μετρήσεις {COMMA} STR_FRAMERATE_MS_GOOD :{LTBLUE}{DECIMAL}{WHITE} ms +STR_FRAMERATE_MS_BAD :{RED}{DECIMAL} ms +STR_FRAMERATE_FPS_GOOD :{LTBLUE}{DECIMAL} frames/δευτ. +STR_FRAMERATE_FPS_BAD :{RED}{DECIMAL} frames/δευτ. ############ Leave those lines in this order!! STR_FRAMERATE_GL_ECONOMY :{WHITE} Διαχείριση φορτίου: STR_FRAMERATE_GL_TRAINS :Στιγμές τρένων: @@ -2856,6 +2865,8 @@ STR_SAVELOAD_DETAIL_CAPTION :{BLACK}Λεπτ STR_SAVELOAD_DETAIL_NOT_AVAILABLE :{BLACK}Δεν υπάρχουν πληροφορίες. STR_SAVELOAD_DETAIL_COMPANY_INDEX :{SILVER}{COMMA}: {WHITE}{STRING} STR_SAVELOAD_DETAIL_GRFSTATUS :{SILVER}NewGRF: {WHITE}{STRING} +STR_SAVELOAD_OVERWRITE_TITLE :{WHITE}Αντικατάσταση Αρχείου +STR_SAVELOAD_OVERWRITE_WARNING :{YELLOW}Είστε σίγουροι οτι θέλετε να αντικαταστήσετε το υπάρχων αρχείο; STR_SAVELOAD_OSKTITLE :{BLACK}Δώστε το όνομα του παιχνιδιού προς αποθήκευση @@ -2973,7 +2984,9 @@ STR_NEWGRF_SETTINGS_VERSION :{BLACK}Έκδο STR_NEWGRF_SETTINGS_MIN_VERSION :{BLACK}Ελάχ. συμβατή έκδοση: {SILVER}{NUM} STR_NEWGRF_SETTINGS_MD5SUM :{BLACK}MD5sum: {SILVER}{STRING} STR_NEWGRF_SETTINGS_PALETTE :{BLACK}Παλέτα: {SILVER}{STRING} +STR_NEWGRF_SETTINGS_PALETTE_DEFAULT :Προεπιλογή (D) STR_NEWGRF_SETTINGS_PARAMETER :{BLACK}Παράμετροι: {SILVER}{STRING} +STR_NEWGRF_SETTINGS_PARAMETER_NONE :Κανένα STR_NEWGRF_SETTINGS_NO_INFO :{BLACK}Δεν υπάρχουν διαθέσιμες πληροφορίες STR_NEWGRF_SETTINGS_NOT_FOUND :{RED}Δεν βρέθηκε το ταυτοποιημένο αρχείο @@ -3433,6 +3446,7 @@ STR_INDUSTRY_VIEW_LOCATION_TOOLTIP :{BLACK}Κεντ STR_INDUSTRY_VIEW_PRODUCTION_LEVEL :{BLACK}Επίπεδο παραγωγής: {YELLOW}{COMMA}% STR_INDUSTRY_VIEW_INDUSTRY_ANNOUNCED_CLOSURE :{YELLOW}Η βιομηχανία έχει ανακοινώσει άμεσο κλείσιμο! +STR_INDUSTRY_VIEW_CARGO_LIST_EXTENSION :, {STRING}{STRING} STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Απαιτεί: STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING}{BLACK}{3:STRING} diff --git a/src/lang/hebrew.txt b/src/lang/hebrew.txt index 6f560a1f4c..8d9e467544 100644 --- a/src/lang/hebrew.txt +++ b/src/lang/hebrew.txt @@ -1826,7 +1826,6 @@ STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}שנה STR_CHEAT_SETUP_PROD :{LTBLUE}אפשר שינוי ערכי התפוקה: {ORANGE}{STRING} # Livery window -STR_LIVERY_CAPTION :{WHITE}הגדרות צבע חדשות STR_LIVERY_GENERAL_TOOLTIP :{BLACK}הצג הגדרות צבע כלליות STR_LIVERY_TRAIN_TOOLTIP :{BLACK}הצג הגדרות צבע לרכבות diff --git a/src/lang/hungarian.txt b/src/lang/hungarian.txt index 39a28ca8d9..8d1f5429ab 100644 --- a/src/lang/hungarian.txt +++ b/src/lang/hungarian.txt @@ -1867,7 +1867,6 @@ STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}Aktuáli STR_CHEAT_SETUP_PROD :{LTBLUE}A nyersanyagüzemek termelése változtatható: {ORANGE}{STRING} # Livery window -STR_LIVERY_CAPTION :{WHITE}Új színséma STR_LIVERY_GENERAL_TOOLTIP :{BLACK}Általános színsémák mutatása STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Vonat színsémák mutatása diff --git a/src/lang/icelandic.txt b/src/lang/icelandic.txt index 8e81346f5f..b2b55d3fc5 100644 --- a/src/lang/icelandic.txt +++ b/src/lang/icelandic.txt @@ -1663,7 +1663,6 @@ STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}Breyta u STR_CHEAT_SETUP_PROD :{LTBLUE}Leyfa breytingar á verðmæti framleiðslu: {ORANGE}{STRING} # Livery window -STR_LIVERY_CAPTION :{WHITE}Nýtt Litaskema STR_LIVERY_GENERAL_TOOLTIP :{BLACK}Grunnlitur fyrirtækis STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Litaskema lesta diff --git a/src/lang/indonesian.txt b/src/lang/indonesian.txt index 9f912e61b7..30c0252755 100644 --- a/src/lang/indonesian.txt +++ b/src/lang/indonesian.txt @@ -1810,7 +1810,6 @@ STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}Ubah tah STR_CHEAT_SETUP_PROD :{LTBLUE}Aktifkan modifikasi nilai produksi: {ORANGE}{STRING} # Livery window -STR_LIVERY_CAPTION :{WHITE}Warna tema baru STR_LIVERY_GENERAL_TOOLTIP :{BLACK}Tampilkan skema warna umum STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Tampilkan skema warna kereta diff --git a/src/lang/irish.txt b/src/lang/irish.txt index 8ce15586e7..754bbcbfc9 100644 --- a/src/lang/irish.txt +++ b/src/lang/irish.txt @@ -1800,7 +1800,6 @@ STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}Athraigh STR_CHEAT_SETUP_PROD :{LTBLUE}Cumasaigh luachanna táirgeachta a athrú: {ORANGE}{STRING} # Livery window -STR_LIVERY_CAPTION :{WHITE}Scéim Dathanna Nua STR_LIVERY_GENERAL_TOOLTIP :{BLACK}Taispeáin scéimeanna dathanna ginearálta STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Taispeáin scéimeanna dathanna na dtraenacha diff --git a/src/lang/italian.txt b/src/lang/italian.txt index dab61131d5..0a72f36e86 100644 --- a/src/lang/italian.txt +++ b/src/lang/italian.txt @@ -1844,7 +1844,6 @@ STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}Cambia l STR_CHEAT_SETUP_PROD :{LTBLUE}Permetti la modifica dei valori di produzione: {ORANGE}{STRING} # Livery window -STR_LIVERY_CAPTION :{WHITE}Nuovo schema colori STR_LIVERY_GENERAL_TOOLTIP :{BLACK}Mostra gli schemi di colorazione generali STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Mostra gli schemi di colorazione dei treni diff --git a/src/lang/japanese.txt b/src/lang/japanese.txt index 93d7ad4c83..9e266a3d91 100644 --- a/src/lang/japanese.txt +++ b/src/lang/japanese.txt @@ -1800,7 +1800,6 @@ STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}現在 STR_CHEAT_SETUP_PROD :{LTBLUE}生産量変更: {ORANGE}{STRING} # Livery window -STR_LIVERY_CAPTION :{WHITE}コーポレートカラー STR_LIVERY_GENERAL_TOOLTIP :{BLACK}通常のコーポレートカラー(車両塗装色)を表示します STR_LIVERY_TRAIN_TOOLTIP :{BLACK}列車の塗装色を表示します diff --git a/src/lang/korean.txt b/src/lang/korean.txt index 4bca49d9d9..331d931c29 100644 --- a/src/lang/korean.txt +++ b/src/lang/korean.txt @@ -1175,7 +1175,7 @@ STR_CONFIG_SETTING_TRAIN_REVERSING_HELPTEXT :이 설정을 STR_CONFIG_SETTING_DISASTERS :재앙: {STRING} STR_CONFIG_SETTING_DISASTERS_HELPTEXT :일정 구역이나 차량, 기반시설을 간혹 파괴할 수도 있는 재앙을 켜거나 끕니다. STR_CONFIG_SETTING_CITY_APPROVAL :지역 개발에 대한 도시의 태도: {STRING} -STR_CONFIG_SETTING_CITY_APPROVAL_HELPTEXT :회사가 유발하는 소음과 환경 파괴가 회사에 대한 도시의 평가치와 향후 해당 지역에서의 건설 행동에 얼마나 영향을 미칠지 선택하십시오. +STR_CONFIG_SETTING_CITY_APPROVAL_HELPTEXT :회사가 유발하는 소음과 환경 파괴가 회사에 대한 도시의 평가치와 향후 해당 지역에서 건설하는 행동에 얼마나 영향을 미칠지 선택하십시오. STR_CONFIG_SETTING_MAX_HEIGHTLEVEL :최대 지형 높이: {STRING} STR_CONFIG_SETTING_MAX_HEIGHTLEVEL_HELPTEXT :지도에 생성되는 산이 가질 수 있는 최대 높이를 설정합니다. @@ -4126,8 +4126,8 @@ STR_BUY_VEHICLE_AIRCRAFT_CAPTION :새 항공기 STR_PURCHASE_INFO_COST_WEIGHT :{BLACK}가격: {GOLD}{CURRENCY_LONG}{BLACK} 무게: {GOLD}{WEIGHT_SHORT} STR_PURCHASE_INFO_SPEED_POWER :{BLACK}속력: {GOLD}{VELOCITY}{BLACK} 힘: {GOLD}{POWER} STR_PURCHASE_INFO_SPEED :{BLACK}속력: {GOLD}{VELOCITY} -STR_PURCHASE_INFO_SPEED_OCEAN :{BLACK}바다에서의 속력: {GOLD}{VELOCITY} -STR_PURCHASE_INFO_SPEED_CANAL :{BLACK}운하/강에서의 속력: {GOLD}{VELOCITY} +STR_PURCHASE_INFO_SPEED_OCEAN :{BLACK}바다에서 속력: {GOLD}{VELOCITY} +STR_PURCHASE_INFO_SPEED_CANAL :{BLACK}운하/강에서 속력: {GOLD}{VELOCITY} STR_PURCHASE_INFO_RUNNINGCOST :{BLACK}유지비: {GOLD}{CURRENCY_LONG}/년 STR_PURCHASE_INFO_CAPACITY :{BLACK}수송량: {GOLD}{CARGO_LONG} {STRING} STR_PURCHASE_INFO_REFITTABLE :(개조 가능) @@ -4541,7 +4541,7 @@ STR_ORDER_GO_TO :완행 STR_ORDER_GO_NON_STOP_TO :직행 STR_ORDER_GO_VIA :완행 경유 STR_ORDER_GO_NON_STOP_VIA :직행 경유 -STR_ORDER_TOOLTIP_NON_STOP :{BLACK}선택한 목적지에서의 정차 방식을 변경합니다 +STR_ORDER_TOOLTIP_NON_STOP :{BLACK}선택한 목적지에서 화물을 정차할 방식을 변경합니다 STR_ORDER_TOGGLE_FULL_LOAD :{BLACK}아무 화물이나 가득 싣기 STR_ORDER_DROP_LOAD_IF_POSSIBLE :가능한 것만 적재 @@ -4549,7 +4549,7 @@ STR_ORDER_DROP_FULL_LOAD_ALL :모든 화물 STR_ORDER_DROP_FULL_LOAD_ANY :아무 화물이나 가득 싣기 STR_ORDER_DROP_NO_LOADING :싣지 않기 STR_ORDER_DROP_CARGO_TYPE_LOAD :화물 종류에 따라 싣기 -STR_ORDER_TOOLTIP_FULL_LOAD :{BLACK}선택한 목적지에서의 화물 적재 방식을 변경합니다 +STR_ORDER_TOOLTIP_FULL_LOAD :{BLACK}선택한 목적지에서 화물을 적재할 방식을 변경합니다 STR_ORDER_TOGGLE_UNLOAD :{BLACK}모든 화물 하차 STR_ORDER_DROP_UNLOAD_IF_ACCEPTED :화물을 받는경우 하차 @@ -4557,7 +4557,7 @@ STR_ORDER_DROP_UNLOAD :모든 화물 STR_ORDER_DROP_TRANSFER :환승 STR_ORDER_DROP_NO_UNLOADING :화물을 하차시키지 않음 STR_ORDER_DROP_CARGO_TYPE_UNLOAD :화물 종류에 따라 하차 -STR_ORDER_TOOLTIP_UNLOAD :{BLACK}선택한 목적지에서의 화물 하차 방식을 변경합니다 +STR_ORDER_TOOLTIP_UNLOAD :{BLACK}선택한 목적지에서 화물을 하차할 방식을 변경합니다 STR_ORDER_REFIT :{BLACK}개조 STR_ORDER_REFIT_TOOLTIP :{BLACK}이 경로에서 열차를 어떤 화물을 받을 수 있게 개조할 것인지 선택하십시오. CTRL+클릭하면 개조 설정을 해제합니다. diff --git a/src/lang/latin.txt b/src/lang/latin.txt index 5deb6b7411..5f70f586e7 100644 --- a/src/lang/latin.txt +++ b/src/lang/latin.txt @@ -2001,7 +2001,6 @@ STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}Mutare a STR_CHEAT_SETUP_PROD :{LTBLUE}Sinere mutare productiones industriarum: {ORANGE}{STRING} # Livery window -STR_LIVERY_CAPTION :{WHITE}Schema Coloris Novum STR_LIVERY_GENERAL_TOOLTIP :{BLACK}Monstrare schemata coloris generalia STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Monstrare schemata coloris traminum diff --git a/src/lang/latvian.txt b/src/lang/latvian.txt index d4bb213632..aa0f26c99c 100644 --- a/src/lang/latvian.txt +++ b/src/lang/latvian.txt @@ -1747,7 +1747,6 @@ 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}Jauna identitātes 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 diff --git a/src/lang/lithuanian.txt b/src/lang/lithuanian.txt index 890289e7d9..9a5952a980 100644 --- a/src/lang/lithuanian.txt +++ b/src/lang/lithuanian.txt @@ -2019,7 +2019,6 @@ STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}Pakeisti STR_CHEAT_SETUP_PROD :{LTBLUE}Leisti keisti produkcijos vertes: {ORANGE}{STRING} # Livery window -STR_LIVERY_CAPTION :{WHITE}Naujos spalvos STR_LIVERY_GENERAL_TOOLTIP :{BLACK}Rodyti pagrinidines spalvų parinktis STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Rodyti traukiniš spalvas diff --git a/src/lang/luxembourgish.txt b/src/lang/luxembourgish.txt index 7367b91ac5..eb521935a7 100644 --- a/src/lang/luxembourgish.txt +++ b/src/lang/luxembourgish.txt @@ -1803,7 +1803,6 @@ STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}Wiessel STR_CHEAT_SETUP_PROD :{LTBLUE}Erlaabt d'ännere vun de Produktiounswäerter: {ORANGE}{STRING} # Livery window -STR_LIVERY_CAPTION :{WHITE}Neie Faarfschema STR_LIVERY_GENERAL_TOOLTIP :{BLACK}Weis generell Faarfschemen STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Weis Zuch Faarfschemen diff --git a/src/lang/malay.txt b/src/lang/malay.txt index 93816f19cd..06c7f0f929 100644 --- a/src/lang/malay.txt +++ b/src/lang/malay.txt @@ -1561,7 +1561,6 @@ STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}Tukar ta STR_CHEAT_SETUP_PROD :{LTBLUE}Bolehkan pengubahsuaian nilai-nilai pengeluaran: {ORANGE}{STRING} # Livery window -STR_LIVERY_CAPTION :{WHITE}Skim Warna Baru STR_LIVERY_GENERAL_TOOLTIP :{BLACK}Tunjukkan skim warna am STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Tunjukkan skim warna keretapi diff --git a/src/lang/norwegian_bokmal.txt b/src/lang/norwegian_bokmal.txt index 5651ae346c..820dbe888f 100644 --- a/src/lang/norwegian_bokmal.txt +++ b/src/lang/norwegian_bokmal.txt @@ -191,6 +191,8 @@ STR_COLOUR_ORANGE :Oransje STR_COLOUR_BROWN :Brun STR_COLOUR_GREY :Grå STR_COLOUR_WHITE :Hvit +STR_COLOUR_RANDOM :Tilfeldig +STR_COLOUR_DEFAULT :Standard # Units used in OpenTTD STR_UNITS_VELOCITY_IMPERIAL :{COMMA}{NBSP}mi/t @@ -477,6 +479,7 @@ STR_ABOUT_MENU_SCREENSHOT :Skjermbilde STR_ABOUT_MENU_ZOOMIN_SCREENSHOT :Fullt forstørret skjermbilde STR_ABOUT_MENU_DEFAULTZOOM_SCREENSHOT :Normalt forstørret skjermbilde STR_ABOUT_MENU_GIANT_SCREENSHOT :Skjermbilde av hele kartet +STR_ABOUT_MENU_SHOW_FRAMERATE :Vis bildehastighet STR_ABOUT_MENU_ABOUT_OPENTTD :Om 'OpenTTD' STR_ABOUT_MENU_SPRITE_ALIGNER :Spriteforskyver STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Vis/skjul markeringsramme @@ -652,6 +655,7 @@ STR_MUSIC_RULER_MARKER :{TINY_FONT}{BLA STR_MUSIC_TRACK_NONE :{TINY_FONT}{DKGREEN}-- STR_MUSIC_TRACK_DIGIT :{TINY_FONT}{DKGREEN}{ZEROFILL_NUM} STR_MUSIC_TITLE_NONE :{TINY_FONT}{DKGREEN}------ +STR_MUSIC_TITLE_NOMUSIC :{TINY_FONT}{DKGREEN}Ingen musikk tilgjengelig STR_MUSIC_TITLE_NAME :{TINY_FONT}{DKGREEN}«{STRING}» STR_MUSIC_TRACK :{TINY_FONT}{BLACK}Spor STR_MUSIC_XTITLE :{TINY_FONT}{BLACK}Tittel @@ -672,11 +676,14 @@ STR_MUSIC_TOOLTIP_TOGGLE_PROGRAM_SHUFFLE :{BLACK}Skru av/ STR_MUSIC_TOOLTIP_SHOW_MUSIC_TRACK_SELECTION :{BLACK}Vis musikkspormeny # Playlist window +STR_PLAYLIST_MUSIC_SELECTION_SETNAME :{WHITE}Musikkprogram - '{STRING}' STR_PLAYLIST_TRACK_NAME :{TINY_FONT}{LTBLUE}{ZEROFILL_NUM} "{STRING}" STR_PLAYLIST_TRACK_INDEX :{TINY_FONT}{BLACK}Sporliste STR_PLAYLIST_PROGRAM :{TINY_FONT}{BLACK}Program - '{STRING}' STR_PLAYLIST_CLEAR :{TINY_FONT}{BLACK}Tøm +STR_PLAYLIST_CHANGE_SET :{BLACK}Endre sett STR_PLAYLIST_TOOLTIP_CLEAR_CURRENT_PROGRAM_CUSTOM1 :{BLACK}Slett gjeldende program (gjelder bare Egendefinert 1 og 2) +STR_PLAYLIST_TOOLTIP_CHANGE_SET :{BLACK} Bytt musikk til et annet installert sett STR_PLAYLIST_TOOLTIP_CLICK_TO_ADD_TRACK :{BLACK}Klikk på et musikkspor for å legge til gjeldende program (Gjelder bare egendefinert 1 og 2) STR_PLAYLIST_TOOLTIP_CLICK_TO_REMOVE_TRACK :{BLACK}Klikk på et musikkspor for å fjerne det fra nåværende program (Gjelder bare egendefinert 1 og 2) @@ -812,6 +819,7 @@ STR_NEWS_MERGER_TAKEOVER_TITLE :{BIG_FONT}{BLAC STR_PRESIDENT_NAME_MANAGER :{BLACK}{PRESIDENT_NAME}{}(Sjef) STR_NEWS_NEW_TOWN :{BLACK}{BIG_FONT}{STRING} sponset grunnleggelsen av den nye byen {TOWN}! +STR_NEWS_NEW_TOWN_UNSPONSORED :{BLACK}{BIG_FONT}En ny by kalt {TOWN} har blitt reist! STR_NEWS_INDUSTRY_CONSTRUCTION :{BIG_FONT}{BLACK}Ny{G "" "" tt} {STRING} blir anlagt i nærheten av {TOWN}! STR_NEWS_INDUSTRY_PLANTED :{BIG_FONT}{BLACK}Ny{G "" "" tt} {STRING} plantes i nærheten av {TOWN}! @@ -881,8 +889,8 @@ STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION :{BIG_FONT}{BLAC STR_EXTRA_VIEW_PORT_TITLE :{WHITE}Tilleggsvindu {COMMA} STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN :{BLACK}Kopier til tilleggsvindu STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN_TT :{BLACK}Kopier hovedvisningen til dette tilleggsvinduet -STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}Lim inn fra tilleggsvindu -STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW_TT :{BLACK}Kopier plasseringen av dette tilleggsvinduet til hovedvisningen +STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}Endre hovedsynsfelt +STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW_TT :{BLACK}flytt plasseringen i dette tilleggsvinduet til hovedvisningen # Game options window STR_GAME_OPTIONS_CAPTION :{WHITE}Spillinnstillinger @@ -918,12 +926,14 @@ STR_GAME_OPTIONS_CURRENCY_TRY :Tyrkisk lire (T STR_GAME_OPTIONS_CURRENCY_SKK :Slovakisk koruna (SKK) STR_GAME_OPTIONS_CURRENCY_BRL :Brasiliansk real (BRL) STR_GAME_OPTIONS_CURRENCY_EEK :Estlandsk krone (EEK) -STR_GAME_OPTIONS_CURRENCY_LTL :Litauiske litas (LTL) -STR_GAME_OPTIONS_CURRENCY_KRW :Sørkoreanske won (KRW) +STR_GAME_OPTIONS_CURRENCY_LTL :Litauisk litas (LTL) +STR_GAME_OPTIONS_CURRENCY_KRW :Sørkoreansk won (KRW) STR_GAME_OPTIONS_CURRENCY_ZAR :Sørafrikanske rand (ZAR) STR_GAME_OPTIONS_CURRENCY_CUSTOM :Egendefinert... -STR_GAME_OPTIONS_CURRENCY_GEL :Georgianske Lari (GEL) -STR_GAME_OPTIONS_CURRENCY_IRR :Iranske Rial (IRR) +STR_GAME_OPTIONS_CURRENCY_GEL :Georgisk lari (GEL) +STR_GAME_OPTIONS_CURRENCY_IRR :Iransk rial (IRR) +STR_GAME_OPTIONS_CURRENCY_RUB :Ny russisk rubel (RUB) +STR_GAME_OPTIONS_CURRENCY_MXN :Meksikansk peso (MXN) ############ end of currency region STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}Kjøretøy @@ -1254,6 +1264,8 @@ STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}Det er i STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :Vedlikehold av infrastruktur: {STRING} STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :Når aktivert, medfører infrastruktur vedlikeholdskostnader. Kostnadene vokser over-proporsjonalt med nettverkets størrelse, og påvirker dermed større selskaper mer enn de små +STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR :Startifarge for firmaet: {STRING} +STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_HELPTEXT :Velg startfarge for firmaet STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS :Flyplasser utgår aldri: {STRING} STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS_HELPTEXT :Aktivering av denne innstillingen gjør at hver type flyplass forblir tilgjengelig for alltid etter at sin introduksjon @@ -1277,9 +1289,9 @@ STR_CONFIG_SETTING_AUTORENEW_MONTHS_VALUE_BEFORE :{COMMA} måned{ STR_CONFIG_SETTING_AUTORENEW_MONTHS_VALUE_AFTER :{COMMA} måned{P 0 "" er} etter STR_CONFIG_SETTING_AUTORENEW_MONEY :Minimum formue for autofornyelse av kjøretøy: {STRING} STR_CONFIG_SETTING_AUTORENEW_MONEY_HELPTEXT :Minste pengemengde som må være igjen i banken for å vurdere automatisk fornying av kjøretøy -STR_CONFIG_SETTING_ERRMSG_DURATION :Varighet av error-melding: {STRING} +STR_CONFIG_SETTING_ERRMSG_DURATION :Varighet av feilmelding: {STRING} STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :Varighet for visning av feilmeldinger i et rødt vindu. Vær oppmerksom på at noen (kritiske) feilmeldinger ikke lukkes automatisk etter dette tidspunktet, men må lukkes manuelt -STR_CONFIG_SETTING_ERRMSG_DURATION_VALUE :{COMMA} andre{P 0 "" s} +STR_CONFIG_SETTING_ERRMSG_DURATION_VALUE :{COMMA} sekund{P 0 "" er} STR_CONFIG_SETTING_HOVER_DELAY :Vis verktøytips: {STRING} STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Forsinkelse før verktøytips vises når musen svever over elementer i grensesnittet. Alternativt kan verktøytips bindes til den høyre museknappen STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Hovre i {COMMA} millisekunder{P 0 "" s} @@ -1338,6 +1350,12 @@ STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_HELPTEXT :Farge på terre STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_GREEN :Grønn STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_DARK_GREEN :Mørkegrønn STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_VIOLET :Fiolett +STR_CONFIG_SETTING_SCROLLMODE :Rulleoppførsel for vindu: {STRING} +STR_CONFIG_SETTING_SCROLLMODE_HELPTEXT :Oppførsel ved rulling av kart +STR_CONFIG_SETTING_SCROLLMODE_DEFAULT :Flytt synsfelt med høyre museknapp, museposisjon låst +STR_CONFIG_SETTING_SCROLLMODE_RMB_LOCKED :Rull kartet med høyre museknapp, museposisjon låst +STR_CONFIG_SETTING_SCROLLMODE_RMB :Rull kartet med høyre museknapp +STR_CONFIG_SETTING_SCROLLMODE_LMB :Rull kartet med venstre museknapp STR_CONFIG_SETTING_SMOOTH_SCROLLING :Myk rulling: {STRING} STR_CONFIG_SETTING_SMOOTH_SCROLLING_HELPTEXT :Velge hvordan synsfeltet ruller til en bestemt posisjon når du klikker på det lille kartet, eller ved utstedelse av en kommando for å gå til et bestemt objekt på kartet. Hvis aktivert, ruller synsfeltet jevnt, og hvis deaktivert hopper det direkte til det valgte punktet STR_CONFIG_SETTING_MEASURE_TOOLTIP :Vis målingsverktøy ved bruk av byggingsverktøy: {STRING} @@ -1806,7 +1824,7 @@ STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}Endre n STR_CHEAT_SETUP_PROD :{LTBLUE}Tillat endring av produksjonsmengder: {ORANGE}{STRING} # Livery window -STR_LIVERY_CAPTION :{WHITE}Ny firmafarge +STR_LIVERY_CAPTION :{WHITE}{COMPANY} - Firmafarge STR_LIVERY_GENERAL_TOOLTIP :{BLACK}Vis generelle fargetemaer STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Vis togfargetemaer @@ -2281,6 +2299,7 @@ STR_LINKGRAPH_LEGEND_CAPTION :{BLACK}Symbolfo STR_LINKGRAPH_LEGEND_ALL :{BLACK}Alle STR_LINKGRAPH_LEGEND_NONE :{BLACK}Ingen STR_LINKGRAPH_LEGEND_SELECT_COMPANIES :{BLACK}Velg selskaper som skal vises +STR_LINKGRAPH_LEGEND_COMPANY_TOOLTIP :{BLACK}{STRING}{}{COMPANY} # Linkgraph legend window and linkgraph legend in smallmap STR_LINKGRAPH_LEGEND_UNUSED :{TINY_FONT}{BLACK}ubrukt @@ -2366,8 +2385,8 @@ STR_BUILD_SIGNAL_ELECTRIC_PBS_TOOLTIP :{BLACK}Avansert STR_BUILD_SIGNAL_ELECTRIC_PBS_OWAY_TOOLTIP :{BLACK}Enveis avansert signal (lyssignal){}Et avansert signal tillater flere tog å kjøre samtidig på samme signalblokk, dersom togene kan reservere en rute til et trygt stoppested . Enveis avanserte signaler kan ikke passeres bakfra. STR_BUILD_SIGNAL_CONVERT_TOOLTIP :{BLACK}Konverter signal{}Konverterer signaler til den valgte signaltypen. Ctrl+klikk vil endre eksisterende variant. Shift+klikk viser kostnadsestimat STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_TOOLTIP :{BLACK}Signaltetthet ved dra-og-slipp -STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_DECREASE_TOOLTIP :{BLACK}Senk signaltetthet ved dra-og-slipp -STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_INCREASE_TOOLTIP :{BLACK}Øk signaltetthet ved dra-og-slipp +STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_DECREASE_TOOLTIP :{BLACK}Senk signalavstand ved dra-og-slipp +STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_INCREASE_TOOLTIP :{BLACK}Øk signalavstand ved dra-og-slipp # Bridge selection window STR_SELECT_RAIL_BRIDGE_CAPTION :{WHITE}Velg jernbanebrotype @@ -2690,9 +2709,52 @@ STR_ABOUT_VERSION :{BLACK}OpenTTD STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2019 OpenTTD-teamet # Framerate display window +STR_FRAMERATE_CAPTION :{WHITE}Bildehastighet +STR_FRAMERATE_CAPTION_SMALL :{STRING}{WHITE} ({DECIMAL}x) +STR_FRAMERATE_RATE_GAMELOOP :{BLACK}Simuleringshastighet: {STRING} +STR_FRAMERATE_RATE_GAMELOOP_TOOLTIP :{BLACK}Antall spill-tikk per sekund. +STR_FRAMERATE_RATE_BLITTER :{BLACK}Bildehastighet: {STRING} +STR_FRAMERATE_RATE_BLITTER_TOOLTIP :{BLACK}Antall bilder tegnet per sekund. +STR_FRAMERATE_SPEED_FACTOR :{BLACK}Gjeldende spillhastighetsfaktor: {DECIMAL}x +STR_FRAMERATE_SPEED_FACTOR_TOOLTIP :{BLACK}Hvor raskt spillet kjører i forhold til forventet hastighet ved normal simulering. +STR_FRAMERATE_CURRENT :{WHITE}Gjeldende +STR_FRAMERATE_AVERAGE :{WHITE}Middels +STR_FRAMERATE_DATA_POINTS :{BLACK}Data basert på {COMMA} målinger +STR_FRAMERATE_MS_GOOD :{LTBLUE}{DECIMAL} ms +STR_FRAMERATE_MS_WARN :{YELLOW}{DECIMAL} ms +STR_FRAMERATE_MS_BAD :{RED}{DECIMAL} ms +STR_FRAMERATE_FPS_GOOD :{LTBLUE}{DECIMAL} bilder/s +STR_FRAMERATE_FPS_WARN :{YELLOW}{DECIMAL} Bilder/s +STR_FRAMERATE_FPS_BAD :{RED}{DECIMAL} frames/s +STR_FRAMERATE_GRAPH_MILLISECONDS :{TINY_FONT}{COMMA} ms +STR_FRAMERATE_GRAPH_SECONDS :{TINY_FONT}{COMMA} s ############ Leave those lines in this order!! +STR_FRAMERATE_GAMELOOP :{BLACK}Spill-løkke totalt: +STR_FRAMERATE_GL_ECONOMY :{BLACK} Godshåndtering: +STR_FRAMERATE_GL_TRAINS :{BLACK} Tog-tikk: +STR_FRAMERATE_GL_ROADVEHS :{BLACK} Veikjøretøy-tikk: +STR_FRAMERATE_GL_SHIPS :{BLACK} Skips-tikk: +STR_FRAMERATE_GL_AIRCRAFT :{BLACK} Fly-tikk: +STR_FRAMERATE_GL_LANDSCAPE :{BLACK} Spillverden-tikk: +STR_FRAMERATE_GL_LINKGRAPH :{BLACK} Koblingsgraf-etterslep: +STR_FRAMERATE_DRAWING :{BLACK}Grafikktegning: +STR_FRAMERATE_DRAWING_VIEWPORTS :{BLACK} Synsfelt for spillverden: +STR_FRAMERATE_VIDEO :{BLACK}Video output: +STR_FRAMERATE_SOUND :{BLACK}Lydmiksing: ############ End of leave-in-this-order ############ Leave those lines in this order!! +STR_FRAMETIME_CAPTION_GAMELOOP :Spill-løkke +STR_FRAMETIME_CAPTION_GL_ECONOMY :Godshåndtering +STR_FRAMETIME_CAPTION_GL_TRAINS :Tog-tikk +STR_FRAMETIME_CAPTION_GL_ROADVEHS :Veikjøretøy-tikk +STR_FRAMETIME_CAPTION_GL_SHIPS :Skips-tikk +STR_FRAMETIME_CAPTION_GL_AIRCRAFT :Fly-tikk +STR_FRAMETIME_CAPTION_GL_LANDSCAPE :Verdens-tikk +STR_FRAMETIME_CAPTION_GL_LINKGRAPH :Koblingsgrad-etterslep +STR_FRAMETIME_CAPTION_DRAWING :Grafikktegning +STR_FRAMETIME_CAPTION_DRAWING_VIEWPORTS :Tegning av synsfelt for spillverden +STR_FRAMETIME_CAPTION_VIDEO :Video output +STR_FRAMETIME_CAPTION_SOUND :Lydmiksing ############ End of leave-in-this-order @@ -2718,6 +2780,9 @@ STR_SAVELOAD_DETAIL_CAPTION :{BLACK}Spilldet STR_SAVELOAD_DETAIL_NOT_AVAILABLE :{BLACK}Ingen informasjon tilgjengelig. STR_SAVELOAD_DETAIL_COMPANY_INDEX :{SILVER}{COMMA}: {WHITE}{STRING} STR_SAVELOAD_DETAIL_GRFSTATUS :{SILVER}NewGRF: {WHITE}{STRING} +STR_SAVELOAD_FILTER_TITLE :{BLACK}Filtrer streng: +STR_SAVELOAD_OVERWRITE_TITLE :{WHITE}Overskriv fil +STR_SAVELOAD_OVERWRITE_WARNING :{YELLOW}Er du sikker på at du vil overskrive eksisterende fil? STR_SAVELOAD_OSKTITLE :{BLACK}Skriv inn et navn på spillet som skal lagres @@ -2835,7 +2900,12 @@ STR_NEWGRF_SETTINGS_VERSION :{BLACK}Versjon: STR_NEWGRF_SETTINGS_MIN_VERSION :{BLACK}Min. kompatibel versjon: {SILVER}{NUM} STR_NEWGRF_SETTINGS_MD5SUM :{BLACK}MD5sum: {SILVER}{STRING} STR_NEWGRF_SETTINGS_PALETTE :{BLACK}Palett: {SILVER}{STRING} +STR_NEWGRF_SETTINGS_PALETTE_DEFAULT :Default (D) +STR_NEWGRF_SETTINGS_PALETTE_DEFAULT_32BPP :Default (D) / 32 bpp +STR_NEWGRF_SETTINGS_PALETTE_LEGACY :Legacy (W) +STR_NEWGRF_SETTINGS_PALETTE_LEGACY_32BPP :Legacy (W) / 32 bpp STR_NEWGRF_SETTINGS_PARAMETER :{BLACK}Parametre: {SILVER}{STRING} +STR_NEWGRF_SETTINGS_PARAMETER_NONE :Ingen STR_NEWGRF_SETTINGS_NO_INFO :{BLACK}Ingen informasjon tilgjengelig STR_NEWGRF_SETTINGS_NOT_FOUND :{RED}Matchende fil ble ikke funnet @@ -2853,7 +2923,7 @@ STR_SAVE_PRESET_SAVE :{BLACK}Lagre STR_SAVE_PRESET_SAVE_TOOLTIP :{BLACK}Lagre forhåndsinnstillingen med det valgte navnet # NewGRF parameters window -STR_NEWGRF_PARAMETERS_CAPTION :{WHITE}Forandre NewGRF-parametre +STR_NEWGRF_PARAMETERS_CAPTION :{WHITE}Endre NewGRF-parametre STR_NEWGRF_PARAMETERS_CLOSE :{BLACK}Lukk STR_NEWGRF_PARAMETERS_RESET :{BLACK}Tilbakestill STR_NEWGRF_PARAMETERS_RESET_TOOLTIP :{BLACK}Sett alle parametere til standardverdi @@ -2916,6 +2986,8 @@ STR_NEWGRF_ERROR_READ_BOUNDS :Leste forbi slu STR_NEWGRF_ERROR_GRM_FAILED :Etterspurte GRF-ressurser ikke tilgjengelig (figur {3:NUM}) STR_NEWGRF_ERROR_FORCEFULLY_DISABLED :{1:STRING} ble deaktivert av {STRING} STR_NEWGRF_ERROR_INVALID_SPRITE_LAYOUT :Ugyldig/ukjent sprite layout-format (figur {3:NUM}) +STR_NEWGRF_ERROR_LIST_PROPERTY_TOO_LONG :For mange elementer i fortegnelse over eiendomsverdier (sprite {3:NUM}, property {4:HEX}) +STR_NEWGRF_ERROR_INDPROD_CALLBACK :Ugyldig industriprodukjson callback (sprite {3:NUM}, "{1:STRING}") # NewGRF related 'general' warnings STR_NEWGRF_POPUP_CAUTION_CAPTION :{WHITE}Advarsel! @@ -2980,13 +3052,15 @@ STR_EDIT_SIGN_SIGN_OSKTITLE :{BLACK}Skriv in STR_TOWN_DIRECTORY_CAPTION :{WHITE}Byer STR_TOWN_DIRECTORY_NONE :{ORANGE}- Ingen - STR_TOWN_DIRECTORY_TOWN :{ORANGE}{TOWN}{BLACK} ({COMMA}) +STR_TOWN_DIRECTORY_CITY :{ORANGE}{TOWN}{YELLOW} (By){BLACK} ({COMMA}) STR_TOWN_DIRECTORY_LIST_TOOLTIP :{BLACK}Bynavn - klikk på navnet for å gå til byen. Ctrl+klikk åpner et nytt tilleggsvindu over byen STR_TOWN_POPULATION :{BLACK}Verdensbefolkning: {COMMA} # Town view window STR_TOWN_VIEW_TOWN_CAPTION :{WHITE}{TOWN} -STR_TOWN_VIEW_CITY_CAPTION :{WHITE}{TOWN} (By) +STR_TOWN_VIEW_CITY_CAPTION :{WHITE}{TOWN} (Storby) STR_TOWN_VIEW_POPULATION_HOUSES :{BLACK}Innbyggertall: {ORANGE}{COMMA}{BLACK} Antall hus: {ORANGE}{COMMA} +STR_TOWN_VIEW_CARGO_LAST_MONTH_MAX :{BLACK}{CARGO_LIST} siste måned: {ORANGE}{COMMA}{BLACK} max: {ORANGE}{COMMA} STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH :{BLACK}Varebehov for byvekst: STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_GENERAL :{ORANGE}{STRING}{RED} påkrevd STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_WINTER :{ORANGE}{STRING}{BLACK} nødvendig om vinteren @@ -3293,6 +3367,9 @@ STR_INDUSTRY_VIEW_LOCATION_TOOLTIP :{BLACK}Gå til STR_INDUSTRY_VIEW_PRODUCTION_LEVEL :{BLACK}Produksjonsnivå: {YELLOW}{COMMA}% STR_INDUSTRY_VIEW_INDUSTRY_ANNOUNCED_CLOSURE :{YELLOW}Næringen har annonsert snarlig nedleggelse! +STR_INDUSTRY_VIEW_REQUIRES_N_CARGO :{BLACK}Trenger: {YELLOW}{STRING}{STRING} +STR_INDUSTRY_VIEW_PRODUCES_N_CARGO :{BLACK}Produserer: {YELLOW}{STRING}{STRING} +STR_INDUSTRY_VIEW_CARGO_LIST_EXTENSION :, {STRING}{STRING} STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Krever: STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING}{BLACK}{3:STRING} @@ -3350,6 +3427,7 @@ STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Grupper STR_GROUP_CREATE_TOOLTIP :{BLACK}Klikk for å opprette en gruppe STR_GROUP_DELETE_TOOLTIP :{BLACK}Fjern den valgte gruppen STR_GROUP_RENAME_TOOLTIP :{BLACK}Gi nytt navn på den valgte gruppen +STR_GROUP_LIVERY_TOOLTIP :{BLACK}Endre firmafarger for valgt gruppe STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Klikk for å beskytte denne gruppen fra global autoerstatning STR_QUERY_GROUP_DELETE_CAPTION :{WHITE}Slette gruppe @@ -3393,6 +3471,7 @@ STR_PURCHASE_INFO_AIRCRAFT_CAPACITY :{BLACK}Kapasite STR_PURCHASE_INFO_PWAGPOWER_PWAGWEIGHT :{BLACK}Lokomotivvogner: {GOLD}+{POWER}{BLACK} Vekt: {GOLD}+{WEIGHT_SHORT} STR_PURCHASE_INFO_REFITTABLE_TO :{BLACK}Kan bygges om til: {GOLD}{STRING} STR_PURCHASE_INFO_ALL_TYPES :Alle varetyper +STR_PURCHASE_INFO_NONE :Ingen STR_PURCHASE_INFO_ALL_BUT :Alt utenom {CARGO_LIST} STR_PURCHASE_INFO_MAX_TE :{BLACK}Maks trekkraft: {GOLD}{FORCE} STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Rekkevidde: {GOLD}{COMMA} ruter @@ -3792,6 +3871,7 @@ STR_ORDER_CONDITIONAL_AGE :Alder (år) STR_ORDER_CONDITIONAL_REQUIRES_SERVICE :Trenger vedlikehold STR_ORDER_CONDITIONAL_UNCONDITIONALLY :Alltid STR_ORDER_CONDITIONAL_REMAINING_LIFETIME :Gjenstående levetid (år) +STR_ORDER_CONDITIONAL_MAX_RELIABILITY :Maksimal pålitelighet STR_ORDER_CONDITIONAL_COMPARATOR_TOOLTIP :{BLACK}Hvordan sammenligne kjøretøyets data til den gitte verdi STR_ORDER_CONDITIONAL_COMPARATOR_EQUALS :er lik @@ -4225,6 +4305,7 @@ STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD :{WHITE}... denn STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... veien vender i feil retning STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... gjennomkjøringsstopper kan ikke ha hjørner STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... gjennomkjøringsstopper kan ikke ha kryss +STR_ERROR_DRIVE_THROUGH_ON_ONEWAY_ROAD :{WHITE}... veien er enveiskjørt eller blokkert # Station destruction related errors STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Kan ikke fjerne del av stasjonen... @@ -4476,6 +4557,8 @@ STR_BASESOUNDS_DOS_DESCRIPTION :Originale lyder STR_BASESOUNDS_WIN_DESCRIPTION :Originale lyder fra Transport Tycoon Deluxe for Windows. STR_BASESOUNDS_NONE_DESCRIPTION :En lydpakke uten noen lyder. STR_BASEMUSIC_WIN_DESCRIPTION :Original musikk fra Transport Tycoon Deluxe for Windows. +STR_BASEMUSIC_DOS_DESCRIPTION :Original Transport Tycoon Deluxe DOS edition music. +STR_BASEMUSIC_TTO_DESCRIPTION :Original Transport Tycoon (Original/World Editor) DOS edition music. STR_BASEMUSIC_NONE_DESCRIPTION :En musikkpakke uten noe musikk. ##id 0x2000 diff --git a/src/lang/norwegian_nynorsk.txt b/src/lang/norwegian_nynorsk.txt index 958682acc7..6d47733b56 100644 --- a/src/lang/norwegian_nynorsk.txt +++ b/src/lang/norwegian_nynorsk.txt @@ -1723,7 +1723,6 @@ STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}Byt nove STR_CHEAT_SETUP_PROD :{LTBLUE}Tillet endring av produksjonsmengder: {ORANGE}{STRING} # Livery window -STR_LIVERY_CAPTION :{WHITE}Ny firmafarge STR_LIVERY_GENERAL_TOOLTIP :{BLACK}Syne generelle fargetema STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Syne togfargetema diff --git a/src/lang/polish.txt b/src/lang/polish.txt index fadb32f4f9..ac00a31f11 100644 --- a/src/lang/polish.txt +++ b/src/lang/polish.txt @@ -569,6 +569,7 @@ STR_COLOUR_BROWN :Brązowy STR_COLOUR_GREY :Szary STR_COLOUR_WHITE :Biały STR_COLOUR_RANDOM :Losowy +STR_COLOUR_DEFAULT :Domyślny # Units used in OpenTTD STR_UNITS_VELOCITY_IMPERIAL :{COMMA}{NBSP}mph @@ -1639,6 +1640,7 @@ STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}Zmiana t STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :Utrzymywanie infrastruktury: {STRING} STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :Kiedy włączone, utrzymanie infrastruktury jest naliczane w kosztach. Koszty wzrastają nadproporcjonalnie do rozmiarów sieci połączeń, a więc dotykają bardziej duże niż małe firmy +STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR :Początkowy kolor firmy: {STRING} STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_HELPTEXT :Wybierz początkowy kolor dla firmy STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS :Pozwól budować stare lotniska: {STRING} @@ -1725,6 +1727,8 @@ STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_GREEN :zielony STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_DARK_GREEN :ciemnozielony STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_VIOLET :fioletowy STR_CONFIG_SETTING_SCROLLMODE_HELPTEXT :Zachowanie podczas przeciągania mapy +STR_CONFIG_SETTING_SCROLLMODE_DEFAULT :Przeciągnij okno podglądu prawym przyciskiem myszy, pozycja myszy zablokowana +STR_CONFIG_SETTING_SCROLLMODE_RMB_LOCKED :Przeciągnij mapę prawym przyciskiem myszy, pozycja myszy zablokowana STR_CONFIG_SETTING_SCROLLMODE_RMB :Przeciągnij mapę prawym przyciskiem myszy STR_CONFIG_SETTING_SCROLLMODE_LMB :Przeciągnij mapę lewym przyciskiem myszy STR_CONFIG_SETTING_SMOOTH_SCROLLING :Wygładź przesuwanie widoku: {STRING} @@ -2195,7 +2199,7 @@ STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}Zmiana o STR_CHEAT_SETUP_PROD :{LTBLUE}Pozwól modyfikować wielkość produkcji przedsiębiorstw: {ORANGE}{STRING} # Livery window -STR_LIVERY_CAPTION :{WHITE}Nowy schemat kolorów +STR_LIVERY_CAPTION :{WHITE}{COMPANY} - Schemat kolorów STR_LIVERY_GENERAL_TOOLTIP :{BLACK}Pokaż ogólne schematy koloru STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Pokaż schematy koloru pociągów @@ -2754,7 +2758,7 @@ STR_BUILD_SIGNAL_ELECTRIC_PBS_TOOLTIP :{BLACK}Sygnaliz STR_BUILD_SIGNAL_ELECTRIC_PBS_OWAY_TOOLTIP :{BLACK}Jednokierunkowy sygnalizator trasy (elektryczny){}Sygnalizator trasy umożliwiający wejście więcej niż jednemu pociagowi do bloku sygnalizatorów, o ile pociąg może zarezerwować trasę do bezpiecznego punktu zatrzymania. Sygnalizatory jednokierunkowe nie mogą być mijane w przeciwnym kierunku STR_BUILD_SIGNAL_CONVERT_TOOLTIP :{BLACK}Zamiana sygnałów{}Jeżeli włączone, kliknięcie na istniejący sygnał spowoduje zamianę go na wybrany typ i wariant. CTRL+klik przełącza istniejący wariant. Shift+klik pokazuje szacowany koszt zamiany STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_TOOLTIP :{BLACK}Gęstość sygnałów przy przeciąganiu -STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_DECREASE_TOOLTIP :{BLACK}Zmniejsz gęstość sygnałów przy przeciąganiu +STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_DECREASE_TOOLTIP :{BLACK}Zmniejsz odległość między sygnałami przy przeciąganiu STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_INCREASE_TOOLTIP :{BLACK}Zwiększ gęstość sygnałów przy przeciąganiu # Bridge selection window @@ -3084,6 +3088,7 @@ STR_FRAMERATE_RATE_BLITTER_TOOLTIP :{BLACK}Liczba r STR_FRAMERATE_SPEED_FACTOR_TOOLTIP :{BLACK}Jak szybko gra obecnie działa, w porównaniu do oczekiwanej prędkości przy normalnym tempie symulacji. STR_FRAMERATE_CURRENT :{WHITE}Obecny STR_FRAMERATE_AVERAGE :{WHITE}Średnia +STR_FRAMERATE_DATA_POINTS :{BLACK}Dane oparte na {COMMA} pomiarach STR_FRAMERATE_MS_GOOD :{LTBLUE}{DECIMAL} ms STR_FRAMERATE_MS_WARN :{YELLOW}{DECIMAL} ms STR_FRAMERATE_MS_BAD :{RED}{DECIMAL} ms @@ -3093,13 +3098,18 @@ STR_FRAMERATE_FPS_BAD :{RED}{DECIMAL} STR_FRAMERATE_GRAPH_MILLISECONDS :{TINY_FONT}{COMMA} ms STR_FRAMERATE_GRAPH_SECONDS :{TINY_FONT}{COMMA} sek. ############ Leave those lines in this order!! +STR_FRAMERATE_GL_ECONOMY :{BLACK} Obsługa ładunku: STR_FRAMERATE_GL_LINKGRAPH :{WHITE} Opóźnienie wykresu połączeń: STR_FRAMERATE_DRAWING :{BLACK}Renderowanie grafiki: +STR_FRAMERATE_DRAWING_VIEWPORTS :{BLACK} Okna podgląu świata: STR_FRAMERATE_VIDEO :{WHITE}Wyjście video: STR_FRAMERATE_SOUND :{WHITE}Miksowanie dźwięku: ############ End of leave-in-this-order ############ Leave those lines in this order!! +STR_FRAMETIME_CAPTION_GAMELOOP :Pętla gry +STR_FRAMETIME_CAPTION_GL_LINKGRAPH :Opóźnienie wykresu połączeń STR_FRAMETIME_CAPTION_DRAWING :Renderowanie grafiki +STR_FRAMETIME_CAPTION_DRAWING_VIEWPORTS :Renderowanie okna podgląu świata STR_FRAMETIME_CAPTION_VIDEO :Wyjście wideo STR_FRAMETIME_CAPTION_SOUND :Miksowanie dźwięku ############ End of leave-in-this-order @@ -3127,6 +3137,9 @@ STR_SAVELOAD_DETAIL_CAPTION :{BLACK}Szczegó STR_SAVELOAD_DETAIL_NOT_AVAILABLE :{BLACK}Brak dostępnych informacji STR_SAVELOAD_DETAIL_COMPANY_INDEX :{SILVER}{COMMA}: {WHITE}{STRING} STR_SAVELOAD_DETAIL_GRFSTATUS :{SILVER}NewGRF: {WHITE}{STRING} +STR_SAVELOAD_FILTER_TITLE :{BLACK}Fraza filtru: +STR_SAVELOAD_OVERWRITE_TITLE :{WHITE}Zastąp plik +STR_SAVELOAD_OVERWRITE_WARNING :{YELLOW}Czy na pewno chcesz zastąpić istniejący stan gry? STR_SAVELOAD_OSKTITLE :{BLACK}Wprowadź nazwę pod jaką zapisać grę @@ -3244,7 +3257,10 @@ STR_NEWGRF_SETTINGS_VERSION :{BLACK}Wersja: STR_NEWGRF_SETTINGS_MIN_VERSION :{BLACK}Kompatybilność z wersją min.: {SILVER}{NUM} STR_NEWGRF_SETTINGS_MD5SUM :{BLACK}Suma MD5: {SILVER}{STRING} STR_NEWGRF_SETTINGS_PALETTE :{BLACK}Paleta: {SILVER}{STRING} +STR_NEWGRF_SETTINGS_PALETTE_DEFAULT :Domyslny (D) +STR_NEWGRF_SETTINGS_PALETTE_DEFAULT_32BPP :Domyślny (D) / 32 bpp STR_NEWGRF_SETTINGS_PARAMETER :{BLACK}Parametry: {SILVER}{STRING} +STR_NEWGRF_SETTINGS_PARAMETER_NONE :Żadne STR_NEWGRF_SETTINGS_NO_INFO :{BLACK}Brak dostępnych informacji STR_NEWGRF_SETTINGS_NOT_FOUND :{RED}Nie znaleziono pasującego pliku @@ -3761,6 +3777,7 @@ STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Grupy - STR_GROUP_CREATE_TOOLTIP :{BLACK}Kliknij aby stworzyć grupę STR_GROUP_DELETE_TOOLTIP :{BLACK}Usuń zaznaczoną grupę STR_GROUP_RENAME_TOOLTIP :{BLACK}Zmień nazwę zaznaczonej grupy +STR_GROUP_LIVERY_TOOLTIP :{BLACK}Zmień kolor zaznaczonej grupy STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Kliknij, aby ochronić tę grupę przed globalną zamianą pojazdów STR_QUERY_GROUP_DELETE_CAPTION :{WHITE}Skasuj Grupę @@ -3804,6 +3821,7 @@ STR_PURCHASE_INFO_AIRCRAFT_CAPACITY :{BLACK}Ładowno STR_PURCHASE_INFO_PWAGPOWER_PWAGWEIGHT :{BLACK}Moc: {GOLD}+{POWER}{BLACK} Masa: {GOLD}+{WEIGHT_SHORT} STR_PURCHASE_INFO_REFITTABLE_TO :{BLACK}Można przystosować do: {GOLD}{STRING} STR_PURCHASE_INFO_ALL_TYPES :wszystkie typy ładunków +STR_PURCHASE_INFO_NONE :Żadne STR_PURCHASE_INFO_ALL_BUT :wszystko oprócz {CARGO_LIST} STR_PURCHASE_INFO_MAX_TE :{BLACK}Maks. siła pociągowa: {GOLD}{FORCE} STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Zasięg: {GOLD}{COMMA} pól diff --git a/src/lang/russian.txt b/src/lang/russian.txt index 38edb4a384..4e8601fb54 100644 --- a/src/lang/russian.txt +++ b/src/lang/russian.txt @@ -1540,7 +1540,7 @@ STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_OFF :Выкл. STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE :Закрывать окна щелчком ПКМ: {STRING} STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_HELPTEXT :Закрывать окно щелчком правой кнопкой мыши в его пределах. При этом отключается появление подсказок по правой кнопке. -STR_CONFIG_SETTING_AUTOSAVE :Автосохранения: {STRING} +STR_CONFIG_SETTING_AUTOSAVE :Автосохранение: {STRING} STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Укажите интервал между автоматическими сохранениями STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES :Использовать {STRING} формат даты для имён сохранений @@ -1652,7 +1652,7 @@ STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OTHER :Первое т STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OTHER_HELPTEXT :Показывать новости о первом транспортном средстве, прибывающем на станцию конкурента STR_CONFIG_SETTING_NEWS_ACCIDENTS_DISASTERS :Аварии и катастрофы: {STRING} STR_CONFIG_SETTING_NEWS_ACCIDENTS_DISASTERS_HELPTEXT :Показывать новости об авариях и катастрофах -STR_CONFIG_SETTING_NEWS_COMPANY_INFORMATION :Информация о Компании: {STRING} +STR_CONFIG_SETTING_NEWS_COMPANY_INFORMATION :Информация о компании: {STRING} STR_CONFIG_SETTING_NEWS_COMPANY_INFORMATION_HELPTEXT :Показывать новости об основании и риске банкротства транспортных компаний STR_CONFIG_SETTING_NEWS_INDUSTRY_OPEN :Открытие предприятий: {STRING} STR_CONFIG_SETTING_NEWS_INDUSTRY_OPEN_HELPTEXT :Показывать новости об открывающихся предприятиях @@ -2368,7 +2368,7 @@ STR_CONTENT_NAME_CAPTION_TOOLTIP :{BLACK}Наим STR_CONTENT_MATRIX_TOOLTIP :{BLACK}Нажмите на строке для просмотра подробностей{}Отметьте чекбокс для загрузки STR_CONTENT_SELECT_ALL_CAPTION :{BLACK}Выбрать всё STR_CONTENT_SELECT_ALL_CAPTION_TOOLTIP :{BLACK}Пометить весь контент для загрузки -STR_CONTENT_SELECT_UPDATES_CAPTION :{BLACK}Выбрать обновл. +STR_CONTENT_SELECT_UPDATES_CAPTION :{BLACK}Выбрать обновления STR_CONTENT_SELECT_UPDATES_CAPTION_TOOLTIP :{BLACK}Отметить для загрузки обновления для имеющегося контента STR_CONTENT_UNSELECT_ALL_CAPTION :{BLACK}Снять выделение STR_CONTENT_UNSELECT_ALL_CAPTION_TOOLTIP :{BLACK}Ничего не загружать diff --git a/src/lang/serbian.txt b/src/lang/serbian.txt index 7d948b24bd..32febe3228 100644 --- a/src/lang/serbian.txt +++ b/src/lang/serbian.txt @@ -2007,7 +2007,6 @@ STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}Promena STR_CHEAT_SETUP_PROD :{LTBLUE}Dozvoliti promenu količine proizvodnje: {ORANGE}{STRING} # Livery window -STR_LIVERY_CAPTION :{WHITE}Nova šema boja STR_LIVERY_GENERAL_TOOLTIP :{BLACK}Prikaži generalnu mustru boja STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Prikaži mustre boja vozova diff --git a/src/lang/simplified_chinese.txt b/src/lang/simplified_chinese.txt index 4d3f39e9f6..56713f06d8 100644 --- a/src/lang/simplified_chinese.txt +++ b/src/lang/simplified_chinese.txt @@ -1810,7 +1810,6 @@ STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}改变 STR_CHEAT_SETUP_PROD :{LTBLUE}开启可调整产量模式:{ORANGE}{STRING} # Livery window -STR_LIVERY_CAPTION :{WHITE}新色彩方案 STR_LIVERY_GENERAL_TOOLTIP :{BLACK}显示总体配色方案 STR_LIVERY_TRAIN_TOOLTIP :{BLACK}显示列车配色方案 diff --git a/src/lang/slovak.txt b/src/lang/slovak.txt index 4ed3db11b4..589c953b51 100644 --- a/src/lang/slovak.txt +++ b/src/lang/slovak.txt @@ -1868,7 +1868,6 @@ STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}Zmeniť STR_CHEAT_SETUP_PROD :{LTBLUE}Povoliť zmenu objemu výroby: {ORANGE}{STRING} # Livery window -STR_LIVERY_CAPTION :{WHITE}Nová farebná schéma STR_LIVERY_GENERAL_TOOLTIP :{BLACK}Zobraziť všeobecné farebné schémy STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Zobraziť farebné schémy pre vlaky diff --git a/src/lang/slovenian.txt b/src/lang/slovenian.txt index 3f0689e585..bd3635ea48 100644 --- a/src/lang/slovenian.txt +++ b/src/lang/slovenian.txt @@ -1954,7 +1954,6 @@ STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}Spremeni STR_CHEAT_SETUP_PROD :{LTBLUE}Omogoči spreminjanje proizvodnih vrednosti: {ORANGE}{STRING} # Livery window -STR_LIVERY_CAPTION :{WHITE}Nova barvna shema STR_LIVERY_GENERAL_TOOLTIP :{BLACK}Prikaz glavnih barvnih shem STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Prikaz barvnih shem vlakov diff --git a/src/lang/swedish.txt b/src/lang/swedish.txt index 99f247e351..dbc2866aed 100644 --- a/src/lang/swedish.txt +++ b/src/lang/swedish.txt @@ -190,6 +190,7 @@ STR_COLOUR_BROWN :Brun STR_COLOUR_GREY :Grå STR_COLOUR_WHITE :Vit STR_COLOUR_RANDOM :Slumpmässig +STR_COLOUR_DEFAULT :Standard # Units used in OpenTTD STR_UNITS_VELOCITY_IMPERIAL :{COMMA}{NBSP}mph @@ -1779,7 +1780,7 @@ STR_INTRO_TRANSLATION :{BLACK}Den här # Quit window STR_QUIT_CAPTION :{WHITE}Avsluta -STR_QUIT_ARE_YOU_SURE_YOU_WANT_TO_EXIT_OPENTTD :{YELLOW}Vill du verkligen avsluta OpenTTD och återvända till {STRING}? +STR_QUIT_ARE_YOU_SURE_YOU_WANT_TO_EXIT_OPENTTD :{YELLOW}Är du säker på att du vill avsluta OpenTTD och återvända till {STRING}? STR_QUIT_YES :{BLACK}Ja STR_QUIT_NO :{BLACK}Nej @@ -1797,8 +1798,8 @@ STR_OSNAME_SUNOS :SunOS # Abandon game STR_ABANDON_GAME_CAPTION :{WHITE}Avsluta spelet -STR_ABANDON_GAME_QUERY :{YELLOW}Vill du verkligen avsluta spelet? -STR_ABANDON_SCENARIO_QUERY :{YELLOW}Vill du verkligen avsluta detta scenario? +STR_ABANDON_GAME_QUERY :{YELLOW}Är du säker på att du vill avsluta spelet? +STR_ABANDON_SCENARIO_QUERY :{YELLOW}Är du säker på att du vill avsluta detta scenario? # Cheat window STR_CHEATS :{WHITE}Fusk @@ -1985,9 +1986,9 @@ STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS_TOOLTIP :{BLACK}Välj ma STR_NETWORK_START_SERVER_COMPANIES_SELECT :{BLACK}{NUM} företag{P y ies} STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES :{BLACK}Max antal företag: STR_NETWORK_START_SERVER_NUMBER_OF_COMPANIES_TOOLTIP :{BLACK}Begränsa antalet företag på servern -STR_NETWORK_START_SERVER_SPECTATORS_SELECT :{BLACK}{NUM} åskådare{P "" s} +STR_NETWORK_START_SERVER_SPECTATORS_SELECT :{BLACK}{NUM} åskådare STR_NETWORK_START_SERVER_NUMBER_OF_SPECTATORS :{BLACK}Max antal åskådare: -STR_NETWORK_START_SERVER_NUMBER_OF_SPECTATORS_TOOLTIP :{BLACK}Begränsa antalet observatörer på servern +STR_NETWORK_START_SERVER_NUMBER_OF_SPECTATORS_TOOLTIP :{BLACK}Begränsa antalet åskådare på servern STR_NETWORK_START_SERVER_LANGUAGE_SPOKEN :{BLACK}Språk som talas: STR_NETWORK_START_SERVER_LANGUAGE_TOOLTIP :{BLACK}Andra spelare kommer vara medvetna vilket språk som talas på servern. @@ -2467,7 +2468,7 @@ STR_STATION_BUILD_AIRPORT_LAYOUT_NAME :{BLACK}Layout { STR_AIRPORT_SMALL :Liten flygplats STR_AIRPORT_CITY :Stad -STR_AIRPORT_METRO :Storstads-flygplats +STR_AIRPORT_METRO :Storstadsflygplats STR_AIRPORT_INTERNATIONAL :Internationell flygplats STR_AIRPORT_COMMUTER :Pendlare STR_AIRPORT_INTERCONTINENTAL :Interkontinental flygplats @@ -2776,6 +2777,8 @@ STR_SAVELOAD_DETAIL_NOT_AVAILABLE :{BLACK}Ingen in STR_SAVELOAD_DETAIL_COMPANY_INDEX :{SILVER}{COMMA}: {WHITE}{STRING} STR_SAVELOAD_DETAIL_GRFSTATUS :{SILVER}NewGRF: {WHITE}{STRING} STR_SAVELOAD_FILTER_TITLE :{BLACK}Sökfilter: +STR_SAVELOAD_OVERWRITE_TITLE :{WHITE}Skriv över fil +STR_SAVELOAD_OVERWRITE_WARNING :{YELLOW}Är du säker på att du vill skriva över den existerande filen? STR_SAVELOAD_OSKTITLE :{BLACK}Mata in ett namn för detta sparade spel @@ -2952,7 +2955,7 @@ STR_SPRITE_ALIGNER_OFFSETS_REL :{BLACK}X offset STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Välj objekt STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Välj ett objekt på bildskärmen -STR_SPRITE_ALIGNER_GOTO_CAPTION :{WHITE}Gå till objekt +STR_SPRITE_ALIGNER_GOTO_CAPTION :{WHITE}Gå till spriteobjekt # NewGRF (self) generated warnings/errors STR_NEWGRF_ERROR_MSG_INFO :{SILVER}{STRING} @@ -2973,7 +2976,7 @@ STR_NEWGRF_ERROR_STATIC_GRF_CAUSES_DESYNC :Att ladda {1:ST STR_NEWGRF_ERROR_UNEXPECTED_SPRITE :Oväntat spriteobjekt (spriteobjekt {3:NUM}) STR_NEWGRF_ERROR_UNKNOWN_PROPERTY :Okänd Action 0-egenskap {4:HEX} (spriteobjekt {3:NUM}) STR_NEWGRF_ERROR_INVALID_ID :Försök att använda ett ogiltligt ID (spriteobjekt {3:NUM}) -STR_NEWGRF_ERROR_CORRUPT_SPRITE :{YELLOW}{STRING} innehåller en skadad bild. Alla korrupta bilder kommer att visas som ett rött frågetecken (?) +STR_NEWGRF_ERROR_CORRUPT_SPRITE :{YELLOW}{STRING} innehåller ett skadat spriteobjekt. Alla korrupta spriteobjekt kommer att visas som röda frågetecken (?) STR_NEWGRF_ERROR_MULTIPLE_ACTION_8 :Innehåller flera Action 8 (spriteobjekt {3:NUM}) STR_NEWGRF_ERROR_READ_BOUNDS :Läste förbi slutet av pseudo-spriteobjekt (spriteobjekt {3:NUM}) STR_NEWGRF_ERROR_GRM_FAILED :Efterfrågade GRF-resurser är inte tillgängliga (spriteobjekt {3:NUM}) @@ -2984,7 +2987,7 @@ STR_NEWGRF_ERROR_INDPROD_CALLBACK :Ogiltig industr # NewGRF related 'general' warnings STR_NEWGRF_POPUP_CAUTION_CAPTION :{WHITE}Varning! -STR_NEWGRF_CONFIRMATION_TEXT :{YELLOW}Du håller på att göra ändringar i ett pågående spel; detta kan krascha OpenTTD eller orsaka andra fel i spelet.{}Skicka inte bugrapporter om sådana fel.{}Är du helt säker på detta? +STR_NEWGRF_CONFIRMATION_TEXT :{YELLOW}Du håller på att göra ändringar i ett pågående spel; detta kan krascha OpenTTD eller orsaka andra fel i spelet. Skicka inte buggrapporter om sådana fel.{}Är du helt säker på detta? STR_NEWGRF_DUPLICATE_GRFID :{WHITE}Kan inte lägga till filen: redan existerande GRF ID STR_NEWGRF_COMPATIBLE_LOADED :{ORANGE}Matchande fil saknas (kompatibel GRF laddad) @@ -3313,7 +3316,7 @@ STR_COMPANY_VIEW_GIVE_MONEY_BUTTON :{BLACK}Ge penga STR_COMPANY_VIEW_NEW_FACE_BUTTON :{BLACK}Nytt ansikte STR_COMPANY_VIEW_NEW_FACE_TOOLTIP :{BLACK}Välj nytt ansikte på VD:n STR_COMPANY_VIEW_COLOUR_SCHEME_BUTTON :{BLACK}Färgschema -STR_COMPANY_VIEW_COLOUR_SCHEME_TOOLTIP :{BLACK}Byt färg på företaget +STR_COMPANY_VIEW_COLOUR_SCHEME_TOOLTIP :{BLACK}Byt företagets färgschema STR_COMPANY_VIEW_COMPANY_NAME_BUTTON :{BLACK}Företagsnamn STR_COMPANY_VIEW_COMPANY_NAME_TOOLTIP :{BLACK}Byt företagets namn STR_COMPANY_VIEW_PRESIDENT_NAME_BUTTON :{BLACK}Namn på VD @@ -3390,7 +3393,7 @@ STR_VEHICLE_LIST_AVAILABLE_SHIPS :Tillgängliga s STR_VEHICLE_LIST_AVAILABLE_AIRCRAFT :Tillgängliga flyplan STR_VEHICLE_LIST_AVAILABLE_ENGINES_TOOLTIP :{BLACK}Se lista med tillgängliga motordesigner för denna fordonstyp -STR_VEHICLE_LIST_MANAGE_LIST :{BLACK}Behandlingslista +STR_VEHICLE_LIST_MANAGE_LIST :{BLACK}Hantera lista STR_VEHICLE_LIST_MANAGE_LIST_TOOLTIP :{BLACK}Skicka instruktioner till alla fordon på denna lista STR_VEHICLE_LIST_REPLACE_VEHICLES :Byt ut fordon STR_VEHICLE_LIST_SEND_FOR_SERVICING :Skicka på service @@ -3420,6 +3423,7 @@ STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Grupper STR_GROUP_CREATE_TOOLTIP :{BLACK}Klicka för att skapa en grupp STR_GROUP_DELETE_TOOLTIP :{BLACK}Ta bort vald grupp STR_GROUP_RENAME_TOOLTIP :{BLACK}Byt namn på vald grupp +STR_GROUP_LIVERY_TOOLTIP :{BLACK}Byt färgschema på vald grupp STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Klicka för att skydda denna grupp mot allmän autoreplace STR_QUERY_GROUP_DELETE_CAPTION :{WHITE}Ta bort grupp @@ -3441,7 +3445,7 @@ STR_BUY_VEHICLE_TRAIN_ELRAIL_CAPTION :Nya elektriska STR_BUY_VEHICLE_TRAIN_MONORAIL_CAPTION :Nytt monorailfordon STR_BUY_VEHICLE_TRAIN_MAGLEV_CAPTION :Nytt maglevfordon -STR_BUY_VEHICLE_TRAIN_ALL_CAPTION :Nya Rälsfordon +STR_BUY_VEHICLE_TRAIN_ALL_CAPTION :Nya rälsfordon STR_BUY_VEHICLE_ROAD_VEHICLE_CAPTION :Nytt Vägfordon STR_BUY_VEHICLE_SHIP_CAPTION :Nytt skepp STR_BUY_VEHICLE_AIRCRAFT_CAPTION :Nytt flygplan @@ -3572,10 +3576,10 @@ STR_DEPOT_ROAD_VEHICLE_LOCATION_TOOLTIP :{BLACK}Centrera STR_DEPOT_SHIP_LOCATION_TOOLTIP :{BLACK}Centrera huvudvyn ovanför skeppdepån. Ctrl+klick öppnar en ny vy över skeppdepåns läge STR_DEPOT_AIRCRAFT_LOCATION_TOOLTIP :{BLACK}Centrera huvudvyn ovanför hangaren. Ctrl+klick öppnar en ny vy över hangarens läge -STR_DEPOT_VEHICLE_ORDER_LIST_TRAIN_TOOLTIP :{BLACK}Ge en lista av alla tåg som har denna depå i dess körschema -STR_DEPOT_VEHICLE_ORDER_LIST_ROAD_VEHICLE_TOOLTIP :{BLACK}Ge en lista av alla fordon som har denna depå i dess körschema -STR_DEPOT_VEHICLE_ORDER_LIST_SHIP_TOOLTIP :{BLACK}Ge en lista av alla fartyg som har denna depå i dess körschema -STR_DEPOT_VEHICLE_ORDER_LIST_AIRCRAFT_TOOLTIP :{BLACK}Ge en lista av alla flygplan som har denna flygplats-hangar i dess körschema +STR_DEPOT_VEHICLE_ORDER_LIST_TRAIN_TOOLTIP :{BLACK}Visa en lista med alla tåg som har denna depå i sitt körschema +STR_DEPOT_VEHICLE_ORDER_LIST_ROAD_VEHICLE_TOOLTIP :{BLACK}Visa en lista med alla vägfordon som har denna depå i sitt körschema +STR_DEPOT_VEHICLE_ORDER_LIST_SHIP_TOOLTIP :{BLACK}Visa en lista med alla fartyg som har denna depå i sitt körschema +STR_DEPOT_VEHICLE_ORDER_LIST_AIRCRAFT_TOOLTIP :{BLACK}Visa en lista med alla flygplan som har en hangar på denna flygplats i sitt körschema STR_DEPOT_MASS_STOP_DEPOT_TRAIN_TOOLTIP :{BLACK}Klicka för att stanna alla tåg i depån STR_DEPOT_MASS_STOP_DEPOT_ROAD_VEHICLE_TOOLTIP :{BLACK}Klicka för att stanna alla fordon i depån @@ -3736,7 +3740,7 @@ STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Vikt: {L STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR :{BLACK}Vinst detta år: {LTBLUE}{CURRENCY_LONG} (förra året: {CURRENCY_LONG}) STR_VEHICLE_INFO_RELIABILITY_BREAKDOWNS :{BLACK}Tillförlitlighet: {LTBLUE}{COMMA}% {BLACK}Motorstopp sedan senaste servicen: {LTBLUE}{COMMA} -STR_VEHICLE_INFO_BUILT_VALUE :{LTBLUE}{ENGINE} {BLACK}Bygt: {LTBLUE}{NUM}{BLACK} Värde: {LTBLUE}{CURRENCY_LONG} +STR_VEHICLE_INFO_BUILT_VALUE :{LTBLUE}{ENGINE} {BLACK}Byggt: {LTBLUE}{NUM}{BLACK} Värde: {LTBLUE}{CURRENCY_LONG} STR_VEHICLE_INFO_NO_CAPACITY :{BLACK}Kapacitet: {LTBLUE}Ingen{STRING} STR_VEHICLE_INFO_CAPACITY :{BLACK}Kapacitet: {LTBLUE}{CARGO_LONG}{3:STRING} STR_VEHICLE_INFO_CAPACITY_MULT :{BLACK}Kapacitet: {LTBLUE}{CARGO_LONG}{3:STRING} (x{4:NUM}) diff --git a/src/lang/tamil.txt b/src/lang/tamil.txt index de5fd54a24..a241d7ce60 100644 --- a/src/lang/tamil.txt +++ b/src/lang/tamil.txt @@ -1568,7 +1568,6 @@ STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}நட STR_CHEAT_SETUP_PROD :{LTBLUE}தயாரிப்பு மதிப்புகளை மாற்ற முடியும்: {ORANGE}{STRING} # Livery window -STR_LIVERY_CAPTION :{WHITE}புதிய நிற கோட்பாடு STR_LIVERY_GENERAL_TOOLTIP :{BLACK}பொதுவான நிற கோட்பாடுகளைக் காட்டவும் STR_LIVERY_TRAIN_TOOLTIP :{BLACK}இரயில் நிற கோட்பாடுகளைக் காட்டவும் diff --git a/src/lang/thai.txt b/src/lang/thai.txt index 963f022208..7664700963 100644 --- a/src/lang/thai.txt +++ b/src/lang/thai.txt @@ -1749,7 +1749,6 @@ STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}เป STR_CHEAT_SETUP_PROD :{LTBLUE}เปิดใช้งานการแก้ไขปริมาณผลผลิต: {ORANGE}{STRING} # Livery window -STR_LIVERY_CAPTION :{WHITE}สร้างแบบสีใหม่ STR_LIVERY_GENERAL_TOOLTIP :{BLACK}แสดงแบบสีทั่วไป STR_LIVERY_TRAIN_TOOLTIP :{BLACK}แสดงแบบสีรถไฟ diff --git a/src/lang/traditional_chinese.txt b/src/lang/traditional_chinese.txt index 500bddd594..bc4ef218c1 100644 --- a/src/lang/traditional_chinese.txt +++ b/src/lang/traditional_chinese.txt @@ -1800,7 +1800,6 @@ STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}變更 STR_CHEAT_SETUP_PROD :{LTBLUE}允許修改產量:{ORANGE}{STRING} # Livery window -STR_LIVERY_CAPTION :{WHITE}新配色 STR_LIVERY_GENERAL_TOOLTIP :{BLACK}顯示通用配色 STR_LIVERY_TRAIN_TOOLTIP :{BLACK}顯示列車配色 diff --git a/src/lang/turkish.txt b/src/lang/turkish.txt index b1e1fd93c8..9ed9cc55a7 100644 --- a/src/lang/turkish.txt +++ b/src/lang/turkish.txt @@ -1804,7 +1804,6 @@ STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}Yılı d STR_CHEAT_SETUP_PROD :{LTBLUE}Üretim değerlerini değiştir: {ORANGE}{STRING} # Livery window -STR_LIVERY_CAPTION :{WHITE}Yeni Renk STR_LIVERY_GENERAL_TOOLTIP :{BLACK}Genel renk şemalarını göster STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Tren renk düzenlerini göster diff --git a/src/lang/ukrainian.txt b/src/lang/ukrainian.txt index a0989e0875..739029981a 100644 --- a/src/lang/ukrainian.txt +++ b/src/lang/ukrainian.txt @@ -1928,7 +1928,6 @@ STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}Змін STR_CHEAT_SETUP_PROD :{LTBLUE}Дозволити зміну рівня виробництва: {ORANGE}{STRING} # Livery window -STR_LIVERY_CAPTION :{WHITE}Нова кольорова схема STR_LIVERY_GENERAL_TOOLTIP :{BLACK}Показати загальне фарбування STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Показати фарбування поїздів diff --git a/src/lang/unfinished/frisian.txt b/src/lang/unfinished/frisian.txt index 5649ca310f..aea0f9a5c7 100644 --- a/src/lang/unfinished/frisian.txt +++ b/src/lang/unfinished/frisian.txt @@ -1732,7 +1732,6 @@ STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}Wizigje STR_CHEAT_SETUP_PROD :{LTBLUE}Stea oanpassen fan produksje ta: {ORANGE}{STRING} # Livery window -STR_LIVERY_CAPTION :{WHITE}Nei Kleurenskema STR_LIVERY_GENERAL_TOOLTIP :{BLACK}Lit gewoane kleurskemas sjen STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Lit kleurskema sjen fan treinen diff --git a/src/lang/unfinished/persian.txt b/src/lang/unfinished/persian.txt index 6f4fe77fc9..3d937cbab9 100644 --- a/src/lang/unfinished/persian.txt +++ b/src/lang/unfinished/persian.txt @@ -1515,7 +1515,6 @@ STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}تغیی STR_CHEAT_SETUP_PROD :{LTBLUE}قابلیت تغییر سطح تولید صنایع: {ORANGE}{STRING} # Livery window -STR_LIVERY_CAPTION :{WHITE}طرح رنگ جدید STR_LIVERY_GENERAL_TOOLTIP :{BLACK}نمایش طرح رنگهای اصلی STR_LIVERY_TRAIN_TOOLTIP :{BLACK}نمایش طرح رنگهای قطار diff --git a/src/lang/unfinished/urdu.txt b/src/lang/unfinished/urdu.txt index 70c2311a24..8f8941f4f4 100644 --- a/src/lang/unfinished/urdu.txt +++ b/src/lang/unfinished/urdu.txt @@ -1412,7 +1412,6 @@ STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}موجو STR_CHEAT_SETUP_PROD :{LTBLUE}پیداوار میں تبدیلی کو فعال کریں: {ORANGE}{STRING} # Livery window -STR_LIVERY_CAPTION :{WHITE}نئے رنگوں کا انتخاب STR_LIVERY_GENERAL_TOOLTIP :{BLACK}رنگوں کا عام انتخاب دکھائیں STR_LIVERY_TRAIN_TOOLTIP :{BLACK}ریل گاڑیوں کے رنگوں کا انتخاب دکھائیں @@ -2290,9 +2289,6 @@ STR_FINANCES_POSITIVE_INCOME :{BLACK}+{CURREN # Company view -STR_COMPANY_VIEW_INFRASTRUCTURE_RAIL :{WHITE}{COMMA}پٹڑی { "کا" "کے" P} { "ٹکڑا" "ٹکڑے" P} -STR_COMPANY_VIEW_INFRASTRUCTURE_ROAD :{WHITE}{COMMA} سڑک { "کا" "کے" P} { "ٹکڑا" "ٹکڑے" P} -STR_COMPANY_VIEW_INFRASTRUCTURE_WATER :{WHITE}{COMMA} پانی { "کا" "کے" P} { "ٹکڑا" "ٹکڑے" P} STR_COMPANY_VIEW_INFRASTRUCTURE_STATION :{WHITE}{COMMA} اسٹیشن کی ٹائلیں STR_COMPANY_VIEW_INFRASTRUCTURE_AIRPORT :{COMMA}{WHITE} ہوائی اڈے STR_COMPANY_VIEW_INFRASTRUCTURE_NONE :{WHITE}کوئی نہیں diff --git a/src/lang/vietnamese.txt b/src/lang/vietnamese.txt index 47a14c10a7..fea8ab51d2 100644 --- a/src/lang/vietnamese.txt +++ b/src/lang/vietnamese.txt @@ -1816,7 +1816,6 @@ STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}Thay đ STR_CHEAT_SETUP_PROD :{LTBLUE}Cho phép khả năng sửa giá trị sản xuất: {ORANGE}{STRING} # Livery window -STR_LIVERY_CAPTION :{WHITE}Cách Phối Màu Mới STR_LIVERY_GENERAL_TOOLTIP :{BLACK}Hiển thị phối màu chung STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Hiển thị phối màu tàu hỏa diff --git a/src/lang/welsh.txt b/src/lang/welsh.txt index af52929c37..50c6e1ab2b 100644 --- a/src/lang/welsh.txt +++ b/src/lang/welsh.txt @@ -1803,7 +1803,6 @@ STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}Newid y STR_CHEAT_SETUP_PROD :{LTBLUE}Galluogi newid graddfeydd cynhyrchu: {ORANGE}{STRING} # Livery window -STR_LIVERY_CAPTION :{WHITE}Cynllun Lliw Newydd STR_LIVERY_GENERAL_TOOLTIP :{BLACK}Dangos cynllun lliw cyffredinol STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Dangos cynllun lliw trenau diff --git a/src/misc.cpp b/src/misc.cpp index 4cb5fdd0d7..41f96de41c 100644 --- a/src/misc.cpp +++ b/src/misc.cpp @@ -49,6 +49,7 @@ void InitializeRailGui(); void InitializeRoadGui(); void InitializeAirportGui(); void InitializeDockGui(); +void InitializeGraphGui(); void InitializeObjectGui(); void InitializeIndustries(); void InitializeObjects(); @@ -109,6 +110,7 @@ void InitializeGame(uint size_x, uint size_y, bool reset_date, bool reset_settin InitializeRoadGui(); InitializeAirportGui(); InitializeDockGui(); + InitializeGraphGui(); InitializeObjectGui(); InitializeAIGui(); InitializeTrees(); diff --git a/src/network/core/tcp_admin.h b/src/network/core/tcp_admin.h index 72c2e1160e..e141a191a8 100644 --- a/src/network/core/tcp_admin.h +++ b/src/network/core/tcp_admin.h @@ -363,7 +363,7 @@ protected: * uint8 ID of the company. * uint64 Money. * uint64 Loan. - * uint64 Income. + * int64 Income. * uint16 Delivered cargo (this quarter). * uint64 Company value (last quarter). * uint16 Performance (last quarter). diff --git a/src/network/network_client.cpp b/src/network/network_client.cpp index 1ea259809a..75af11d89b 100644 --- a/src/network/network_client.cpp +++ b/src/network/network_client.cpp @@ -885,7 +885,7 @@ NetworkRecvStatus ClientNetworkGameSocketHandler::Receive_SERVER_MAP_DONE(Packet * the server will give us a client-id and let us in */ _network_join_status = NETWORK_JOIN_STATUS_REGISTERING; ShowJoinStatusWindow(); - NetworkSendCommand(0, 0, 0, CMD_COMPANY_CTRL, NULL, NULL, _local_company, 0); + NetworkSendCommand(0, CCA_NEW, 0, CMD_COMPANY_CTRL, NULL, NULL, _local_company, 0); } } else { /* take control over an existing company */ diff --git a/src/network/network_content.cpp b/src/network/network_content.cpp index 4c7704aea8..b2aed203c6 100644 --- a/src/network/network_content.cpp +++ b/src/network/network_content.cpp @@ -410,10 +410,14 @@ static bool GunzipFile(const ContentInfo *ci) { #if defined(WITH_ZLIB) bool ret = true; + + /* Need to open the file with fopen() to support non-ASCII on Windows. */ FILE *ftmp = fopen(GetFullFilename(ci, true), "rb"); if (ftmp == NULL) return false; + /* Duplicate the handle, and close the FILE*, to avoid double-closing the handle later. */ + gzFile fin = gzdopen(dup(fileno(ftmp)), "rb"); + fclose(ftmp); - gzFile fin = gzdopen(fileno(ftmp), "rb"); FILE *fout = fopen(GetFullFilename(ci, false), "wb"); if (fin == NULL || fout == NULL) { @@ -450,14 +454,7 @@ static bool GunzipFile(const ContentInfo *ci) } } - if (fin != NULL) { - /* Closes ftmp too! */ - gzclose(fin); - } else if (ftmp != NULL) { - /* In case the gz stream was opened correctly this will - * be closed by gzclose. */ - fclose(ftmp); - } + if (fin != NULL) gzclose(fin); if (fout != NULL) fclose(fout); return ret; diff --git a/src/network/network_server.cpp b/src/network/network_server.cpp index 07a96d60ef..734b379e16 100644 --- a/src/network/network_server.cpp +++ b/src/network/network_server.cpp @@ -1683,7 +1683,7 @@ static void NetworkAutoCleanCompanies() /* Is the company empty for autoclean_unprotected-months, and is there no protection? */ if (_settings_client.network.autoclean_unprotected != 0 && _network_company_states[c->index].months_empty > _settings_client.network.autoclean_unprotected && StrEmpty(_network_company_states[c->index].password)) { /* Shut the company down */ - DoCommandP(0, 2 | c->index << 16, CRR_AUTOCLEAN, CMD_COMPANY_CTRL); + DoCommandP(0, CCA_DELETE | c->index << 16, CRR_AUTOCLEAN, CMD_COMPANY_CTRL); IConsolePrintF(CC_DEFAULT, "Auto-cleaned company #%d with no password", c->index + 1); } /* Is the company empty for autoclean_protected-months, and there is a protection? */ @@ -1697,7 +1697,7 @@ static void NetworkAutoCleanCompanies() /* Is the company empty for autoclean_novehicles-months, and has no vehicles? */ if (_settings_client.network.autoclean_novehicles != 0 && _network_company_states[c->index].months_empty > _settings_client.network.autoclean_novehicles && vehicles_in_company[c->index] == 0) { /* Shut the company down */ - DoCommandP(0, 2 | c->index << 16, CRR_AUTOCLEAN, CMD_COMPANY_CTRL); + DoCommandP(0, CCA_DELETE | c->index << 16, CRR_AUTOCLEAN, CMD_COMPANY_CTRL); IConsolePrintF(CC_DEFAULT, "Auto-cleaned company #%d with no vehicles", c->index + 1); } } else { diff --git a/src/newgrf_animation_type.h b/src/newgrf_animation_type.h index 8eec6ada9c..d014bf3cde 100644 --- a/src/newgrf_animation_type.h +++ b/src/newgrf_animation_type.h @@ -51,7 +51,7 @@ enum AirpAnimationTrigger { AAT_STATION_NEW_CARGO, ///< Triggered when new cargo arrives at the station (for all tiles at the same time). AAT_STATION_CARGO_TAKEN, ///< Triggered when a cargo type is completely removed from the station (for all tiles at the same time). AAT_STATION_250_TICKS, ///< Triggered every 250 ticks (for all tiles at the same time). - AAT_STATION_AIRPLANE_LAND, ///< Triggered when an airplane (not a helicopter) touches down at the airport (for all tiles at the same time). + AAT_STATION_AIRPLANE_LAND, ///< Triggered when an airplane (not a helicopter) touches down at the airport (for single tile). }; /** Animation triggers for objects. */ diff --git a/src/rail.cpp b/src/rail.cpp index 5395633edc..95f5c4eaf7 100644 --- a/src/rail.cpp +++ b/src/rail.cpp @@ -276,14 +276,24 @@ RailType GetTileSecondaryRailTypeIfValid(TileIndex t) } /** - * Finds out if a company has a certain railtype available + * Finds out if a company has a certain buildable railtype available. * @param company the company in question * @param railtype requested RailType * @return true if company has requested RailType available */ bool HasRailtypeAvail(const CompanyID company, const RailType railtype) { - return HasBit(Company::Get(company)->avail_railtypes, railtype); + return !HasBit(_railtypes_hidden_mask, railtype) && HasBit(Company::Get(company)->avail_railtypes, railtype); +} + +/** + * Test if any buildable railtype is available for a company. + * @param company the company in question + * @return true if company has any RailTypes available + */ +bool HasAnyRailtypesAvail(const CompanyID company) +{ + return (Company::Get(company)->avail_railtypes & ~_railtypes_hidden_mask) != 0; } /** diff --git a/src/rail.h b/src/rail.h index ed86447cd2..b9f44c411b 100644 --- a/src/rail.h +++ b/src/rail.h @@ -26,10 +26,12 @@ enum RailTypeFlags { RTF_CATENARY = 0, ///< Bit number for drawing a catenary. RTF_NO_LEVEL_CROSSING = 1, ///< Bit number for disallowing level crossings. + RTF_HIDDEN = 2, ///< Bit number for hiding from selection. RTFB_NONE = 0, ///< All flags cleared. RTFB_CATENARY = 1 << RTF_CATENARY, ///< Value for drawing a catenary. RTFB_NO_LEVEL_CROSSING = 1 << RTF_NO_LEVEL_CROSSING, ///< Value for disallowing level crossings. + RTFB_HIDDEN = 1 << RTF_HIDDEN, ///< Value for hiding from selection. }; DECLARE_ENUM_AS_BIT_SET(RailTypeFlags) @@ -419,6 +421,7 @@ Foundation GetRailFoundation(Slope tileh, TrackBits bits); bool HasRailtypeAvail(const CompanyID company, const RailType railtype); +bool HasAnyRailtypesAvail(const CompanyID company); bool ValParamRailtype(const RailType rail); RailTypes AddDateIntroducedRailTypes(RailTypes current, Date date); @@ -434,6 +437,7 @@ RailType AllocateRailType(RailTypeLabel label); extern RailType _sorted_railtypes[RAILTYPE_END]; extern uint8 _sorted_railtypes_size; +extern RailTypes _railtypes_hidden_mask; /** * Loop header for iterating over railtypes, sorted by sortorder. diff --git a/src/rail_cmd.cpp b/src/rail_cmd.cpp index 2ec1d4c04a..1621786f9b 100644 --- a/src/rail_cmd.cpp +++ b/src/rail_cmd.cpp @@ -55,6 +55,7 @@ RailtypeInfo _railtypes[RAILTYPE_END]; RailType _sorted_railtypes[RAILTYPE_END]; uint8 _sorted_railtypes_size; TileIndex _rail_track_endtile; ///< The end of a rail track; as hidden return from the rail build/remove command for GUI purposes. +RailTypes _railtypes_hidden_mask; /** * Reset all rail type information to its default values. @@ -75,6 +76,8 @@ void ResetRailTypes() RailTypeLabelList(), 0, 0, RAILTYPES_NONE, RAILTYPES_NONE, 0, {}, {} }; for (; i < lengthof(_railtypes); i++) _railtypes[i] = empty_railtype; + + _railtypes_hidden_mask = RAILTYPES_NONE; } void ResolveRailTypeGUISprites(RailtypeInfo *rti) @@ -139,11 +142,12 @@ void InitRailTypes() for (RailType rt = RAILTYPE_BEGIN; rt != RAILTYPE_END; rt++) { RailtypeInfo *rti = &_railtypes[rt]; ResolveRailTypeGUISprites(rti); + if (HasBit(rti->flags, RTF_HIDDEN)) SetBit(_railtypes_hidden_mask, rt); } _sorted_railtypes_size = 0; for (RailType rt = RAILTYPE_BEGIN; rt != RAILTYPE_END; rt++) { - if (_railtypes[rt].label != 0) { + if (_railtypes[rt].label != 0 && !HasBit(_railtypes_hidden_mask, rt)) { _sorted_railtypes[_sorted_railtypes_size++] = rt; } } diff --git a/src/rev.cpp.in b/src/rev.cpp.in index b9267c7905..a3972cee75 100644 --- a/src/rev.cpp.in +++ b/src/rev.cpp.in @@ -68,6 +68,13 @@ const char _openttd_revision_hash[] = "!!GITHASH!!"; */ const byte _openttd_revision_modified = !!MODIFIED!!; +/** + * Indicate whether this is a tagged version. + * If this is non-0, then _openttd_revision is the name of the tag, + * and the version is likely a beta, release candidate, or real release. + */ +const byte _openttd_revision_tagged = !!ISTAG!!; + /** * The NewGRF revision of OTTD: * bits meaning. diff --git a/src/rev.h b/src/rev.h index e523f9a642..a1a99c51c7 100644 --- a/src/rev.h +++ b/src/rev.h @@ -17,6 +17,7 @@ extern const char _openttd_build_date[]; extern const char _openttd_revision_hash[]; extern const char _openttd_build_configure[]; extern const byte _openttd_revision_modified; +extern const byte _openttd_revision_tagged; extern const uint32 _openttd_newgrf_version; bool IsReleasedVersion(); diff --git a/src/saveload/afterload.cpp b/src/saveload/afterload.cpp index f563be3845..a4cef2926a 100644 --- a/src/saveload/afterload.cpp +++ b/src/saveload/afterload.cpp @@ -58,6 +58,7 @@ #include "../order_backup.h" #include "../error.h" #include "../disaster_vehicle.h" +#include "../ship.h" #include "../tracerestrict.h" #include "../tunnel_map.h" #include "../bridge_signal_map.h" @@ -210,10 +211,8 @@ static void UpdateCurrencies() */ static void UpdateVoidTiles() { - uint i; - - for (i = 0; i < MapMaxY(); ++i) MakeVoid(i * MapSizeX() + MapMaxX()); - for (i = 0; i < MapSizeX(); ++i) MakeVoid(MapSizeX() * MapMaxY() + i); + for (uint x = 0; x < MapSizeX(); x++) MakeVoid(TileXY(x, MapMaxY())); + for (uint y = 0; y < MapSizeY(); y++) MakeVoid(TileXY(MapMaxX(), y)); } static inline RailType UpdateRailType(RailType rt, RailType min) @@ -3494,6 +3493,42 @@ bool AfterLoadGame() } } + if (IsSavegameVersionBefore(SLV_SHIPS_STOP_IN_LOCKS)) { + /* Move ships from lock slope to upper or lower position. */ + Ship *s; + FOR_ALL_SHIPS(s) { + /* Suitable tile? */ + if (!IsTileType(s->tile, MP_WATER) || !IsLock(s->tile) || GetLockPart(s->tile) != LOCK_PART_MIDDLE) continue; + + /* We don't need to adjust position when at the tile centre */ + int x = s->x_pos & 0xF; + int y = s->y_pos & 0xF; + if (x == 8 && y == 8) continue; + + /* Test if ship is on the second half of the tile */ + bool second_half; + DiagDirection shipdiagdir = DirToDiagDir(s->direction); + switch (shipdiagdir) { + default: NOT_REACHED(); + case DIAGDIR_NE: second_half = x < 8; break; + case DIAGDIR_NW: second_half = y < 8; break; + case DIAGDIR_SW: second_half = x > 8; break; + case DIAGDIR_SE: second_half = y > 8; break; + } + + DiagDirection slopediagdir = GetInclinedSlopeDirection(GetTileSlope(s->tile)); + + /* Heading up slope == passed half way */ + if ((shipdiagdir == slopediagdir) == second_half) { + /* On top half of lock */ + s->z_pos = GetTileMaxZ(s->tile) * (int)TILE_HEIGHT; + } else { + /* On lower half of lock */ + s->z_pos = GetTileZ(s->tile) * (int)TILE_HEIGHT; + } + } + } + /* Station acceptance is some kind of cache */ if (IsSavegameVersionBefore(SLV_127)) { Station *st; diff --git a/src/saveload/cargomonitor_sl.cpp b/src/saveload/cargomonitor_sl.cpp index 98ad95f090..9a313970ff 100644 --- a/src/saveload/cargomonitor_sl.cpp +++ b/src/saveload/cargomonitor_sl.cpp @@ -29,6 +29,21 @@ static const SaveLoad _cargomonitor_pair_desc[] = { SLE_END() }; +static CargoMonitorID FixupCargoMonitor(CargoMonitorID number) +{ + /* Between SLV_EXTEND_CARGOTYPES and SLV_FIX_CARGO_MONITOR, the + * CargoMonitorID structure had insufficient packing for more + * than 32 cargo types. Here we have to shuffle bits to account + * for the change. + * Company moved from bits 24-31 to 25-28. + * Cargo type increased from bits 19-23 to 19-24. + */ + SB(number, 25, 4, GB(number, 24, 4)); + SB(number, 29, 3, 0); + ClrBit(number, 24); + return number; +} + /** Save the #_cargo_deliveries monitoring map. */ static void SaveDelivery() { @@ -52,12 +67,15 @@ static void SaveDelivery() static void LoadDelivery() { TempStorage storage; + bool fix = IsSavegameVersionBefore(SLV_FIX_CARGO_MONITOR); ClearCargoDeliveryMonitoring(); for (;;) { if (SlIterateArray() < 0) break; SlObject(&storage, _cargomonitor_pair_desc); + if (fix) storage.number = FixupCargoMonitor(storage.number); + std::pair p(storage.number, storage.amount); _cargo_deliveries.insert(p); } @@ -87,12 +105,15 @@ static void SavePickup() static void LoadPickup() { TempStorage storage; + bool fix = IsSavegameVersionBefore(SLV_FIX_CARGO_MONITOR); ClearCargoPickupMonitoring(); for (;;) { if (SlIterateArray() < 0) break; SlObject(&storage, _cargomonitor_pair_desc); + if (fix) storage.number = FixupCargoMonitor(storage.number); + std::pair p(storage.number, storage.amount); _cargo_pickups.insert(p); } diff --git a/src/saveload/saveload.cpp b/src/saveload/saveload.cpp index 251d354d4e..76765a06d7 100644 --- a/src/saveload/saveload.cpp +++ b/src/saveload/saveload.cpp @@ -412,18 +412,21 @@ void NORETURN SlErrorCorrupt(const char *msg, bool already_malloced) } /** - * As SlErrorCorruptFmt, except that it takes a format string and additional parameters + * Issue an SlErrorCorrupt with a format string. + * @param format format string + * @param ... arguments to format string + * @note This function does never return as it throws an exception to + * break out of all the saveload code. */ -void NORETURN CDECL SlErrorCorruptFmt(const char *msg, ...) +void NORETURN CDECL SlErrorCorruptFmt(const char *format, ...) { va_list va; - va_start(va, msg); - char *str = str_vfmt(msg, va); + va_start(va, format); + char *str = str_vfmt(format, va); va_end(va); SlError(STR_GAME_SAVELOAD_ERROR_BROKEN_SAVEGAME, str, true); } - typedef void (*AsyncSaveFinishProc)(); ///< Callback for when the savegame loading is finished. static AsyncSaveFinishProc _async_save_finish = NULL; ///< Callback to call when the savegame loading is finished. static ThreadObject *_save_thread; ///< The thread we're using to compress and write a savegame diff --git a/src/saveload/saveload.h b/src/saveload/saveload.h index efc4acb59a..d4cd4059e6 100644 --- a/src/saveload/saveload.h +++ b/src/saveload/saveload.h @@ -292,6 +292,8 @@ enum SaveLoadVersion : uint16 { SLV_SHIP_ROTATION, ///< 204 PR#7065 Add extra rotation stages for ships. SLV_GROUP_LIVERIES, ///< 205 PR#7108 Livery storage change and group liveries. + SLV_SHIPS_STOP_IN_LOCKS, ///< 206 PR#7150 Ship/lock movement changes. + SLV_FIX_CARGO_MONITOR, ///< 207 PR#7175 Cargo monitor data packing fix to support 64 cargotypes. SL_MAX_VERSION, ///< Highest possible saveload version }; @@ -1003,7 +1005,7 @@ bool SlObjectMember(void *object, const SaveLoad *sld); void NORETURN SlError(StringID string, const char *extra_msg = NULL, bool already_malloced = false); void NORETURN SlErrorCorrupt(const char *msg, bool already_malloced = false); void NORETURN CDECL SlErrorFmt(StringID string, const char *msg, ...) WARN_FORMAT(2, 3); -void NORETURN CDECL SlErrorCorruptFmt(const char *msg, ...) WARN_FORMAT(1, 2); +void NORETURN CDECL SlErrorCorruptFmt(const char *format, ...) WARN_FORMAT(1, 2); bool SaveloadCrashWithMissingNewGRFs(); diff --git a/src/script/api/game/game_window.hpp.sq b/src/script/api/game/game_window.hpp.sq index 16491e2cb8..1ce30e80f5 100644 --- a/src/script/api/game/game_window.hpp.sq +++ b/src/script/api/game/game_window.hpp.sq @@ -309,10 +309,15 @@ void SQGSWindow_Register(Squirrel *engine) SQGSWindow.DefSQConst(engine, ScriptWindow::WID_SCL_CLASS_ROAD, "WID_SCL_CLASS_ROAD"); SQGSWindow.DefSQConst(engine, ScriptWindow::WID_SCL_CLASS_SHIP, "WID_SCL_CLASS_SHIP"); SQGSWindow.DefSQConst(engine, ScriptWindow::WID_SCL_CLASS_AIRCRAFT, "WID_SCL_CLASS_AIRCRAFT"); + SQGSWindow.DefSQConst(engine, ScriptWindow::WID_SCL_GROUPS_RAIL, "WID_SCL_GROUPS_RAIL"); + SQGSWindow.DefSQConst(engine, ScriptWindow::WID_SCL_GROUPS_ROAD, "WID_SCL_GROUPS_ROAD"); + SQGSWindow.DefSQConst(engine, ScriptWindow::WID_SCL_GROUPS_SHIP, "WID_SCL_GROUPS_SHIP"); + SQGSWindow.DefSQConst(engine, ScriptWindow::WID_SCL_GROUPS_AIRCRAFT, "WID_SCL_GROUPS_AIRCRAFT"); SQGSWindow.DefSQConst(engine, ScriptWindow::WID_SCL_SPACER_DROPDOWN, "WID_SCL_SPACER_DROPDOWN"); SQGSWindow.DefSQConst(engine, ScriptWindow::WID_SCL_PRI_COL_DROPDOWN, "WID_SCL_PRI_COL_DROPDOWN"); SQGSWindow.DefSQConst(engine, ScriptWindow::WID_SCL_SEC_COL_DROPDOWN, "WID_SCL_SEC_COL_DROPDOWN"); SQGSWindow.DefSQConst(engine, ScriptWindow::WID_SCL_MATRIX, "WID_SCL_MATRIX"); + SQGSWindow.DefSQConst(engine, ScriptWindow::WID_SCL_MATRIX_SCROLLBAR, "WID_SCL_MATRIX_SCROLLBAR"); SQGSWindow.DefSQConst(engine, ScriptWindow::WID_SCMF_CAPTION, "WID_SCMF_CAPTION"); SQGSWindow.DefSQConst(engine, ScriptWindow::WID_SCMF_TOGGLE_LARGE_SMALL, "WID_SCMF_TOGGLE_LARGE_SMALL"); SQGSWindow.DefSQConst(engine, ScriptWindow::WID_SCMF_SELECT_FACE, "WID_SCMF_SELECT_FACE"); @@ -565,6 +570,7 @@ void SQGSWindow_Register(Squirrel *engine) SQGSWindow.DefSQConst(engine, ScriptWindow::WID_GL_CREATE_GROUP, "WID_GL_CREATE_GROUP"); SQGSWindow.DefSQConst(engine, ScriptWindow::WID_GL_DELETE_GROUP, "WID_GL_DELETE_GROUP"); SQGSWindow.DefSQConst(engine, ScriptWindow::WID_GL_RENAME_GROUP, "WID_GL_RENAME_GROUP"); + SQGSWindow.DefSQConst(engine, ScriptWindow::WID_GL_LIVERY_GROUP, "WID_GL_LIVERY_GROUP"); SQGSWindow.DefSQConst(engine, ScriptWindow::WID_GL_REPLACE_PROTECTION, "WID_GL_REPLACE_PROTECTION"); SQGSWindow.DefSQConst(engine, ScriptWindow::WID_GL_INFO, "WID_GL_INFO"); SQGSWindow.DefSQConst(engine, ScriptWindow::WID_H_BACKGROUND, "WID_H_BACKGROUND"); diff --git a/src/script/api/generate_widget.sh b/src/script/api/generate_widget.sh index 4bdbc31c70..96ef5dfb3a 100755 --- a/src/script/api/generate_widget.sh +++ b/src/script/api/generate_widget.sh @@ -20,5 +20,5 @@ if [ "$?" != "0" ]; then exit 1 fi -${AWK} -f generate_widget.awk script_window.hpp > script_window.tmp +${AWK} -v BINMODE=1 -f generate_widget.awk script_window.hpp > script_window.tmp mv script_window.tmp script_window.hpp diff --git a/src/script/api/squirrel_export.sh b/src/script/api/squirrel_export.sh index e1f5e8613c..14ff4e1477 100755 --- a/src/script/api/squirrel_export.sh +++ b/src/script/api/squirrel_export.sh @@ -49,7 +49,7 @@ for f in `ls ../*.hpp`; do # ScriptController has custom code, and should not be generated if [ "`basename ${f}`" = "script_controller.hpp" ]; then continue; fi - ${AWK} -v api=${apiuc} -f ${scriptdir}/squirrel_export.awk ${f} > ${bf}.tmp + ${AWK} -v BINMODE=1 -v api=${apiuc} -f ${scriptdir}/squirrel_export.awk ${f} > ${bf}.tmp if [ "`wc -l ${bf}.tmp | cut -d\ -f1`" = "0" ]; then if [ -f "${bf}.sq" ]; then @@ -90,7 +90,7 @@ echo " /Note: this line is a marker in squirrel_export.sh. Do not change!/ { print \$0 gsub(\"^.*/\", \"\") - split(\"`grep '^void SQ'${apiuc}'.*_Register(Squirrel \*engine)$' *.hpp.sq | sed 's/:.*$//' | sort | uniq | tr -d '\r' | tr '\n' ' '`\", files, \" \") + split(\"`grep '^void SQ'${apiuc}'.*_Register(Squirrel \*engine).\?$' *.hpp.sq | sed 's/:.*$//' | sort | uniq | tr -d '\r' | tr '\n' ' '`\", files, \" \") for (i = 1; files[i] != \"\"; i++) { print \"#include \\\"../script/api/${apilc}/\" files[i] \"\\\"\" \$0 @@ -104,7 +104,7 @@ echo " gsub(\"^.*/\", \"\") # List needs to be registered with squirrel before all List subclasses. print \" SQ${apiuc}List_Register(this->engine);\" \$0 - split(\"`grep '^void SQ'${apiuc}'.*_Register(Squirrel \*engine)$' *.hpp.sq | grep -v 'SQ'${apiuc}'List_Register' | sed 's/^.*void //;s/Squirrel \*/this->/;s/$/;/;s/_Register/0000Register/g;' | sort | sed 's/0000Register/_Register/g' | tr -d '\r' | tr '\n' ' '`\", regs, \" \") + split(\"`grep '^void SQ'${apiuc}'.*_Register(Squirrel \*engine).\?$' *.hpp.sq | grep -v 'SQ'${apiuc}'List_Register' | sed 's/^.*void //;s/Squirrel \*/this->/;s/$/;/;s/_Register/0000Register/g;' | sort | sed 's/0000Register/_Register/g' | tr -d '\r' | tr '\n' ' '`\", regs, \" \") for (i = 1; regs[i] != \"\"; i++) { if (regs[i] == \"SQ${apiuc}Controller_Register(this->engine);\") continue @@ -117,7 +117,7 @@ echo " { print \$0; } " > ${f}.awk -${AWK} -f ${f}.awk ${f} > ${f}.tmp +${AWK} -v BINMODE=1 -f ${f}.awk ${f} > ${f}.tmp if ! [ -f "${f}" ] || [ -n "`diff -I '$Id' ${f} ${f}.tmp 2> /dev/null || echo boo`" ]; then mv ${f}.tmp ${f} diff --git a/src/settings.cpp b/src/settings.cpp index 8e4ebb0462..69930b49b0 100644 --- a/src/settings.cpp +++ b/src/settings.cpp @@ -1276,8 +1276,8 @@ static bool CheckFreeformEdges(int32 p1) return false; } } - for (uint i = 0; i < MapSizeX(); i++) MakeVoid(TileXY(i, 0)); - for (uint i = 0; i < MapSizeY(); i++) MakeVoid(TileXY(0, i)); + for (uint x = 0; x < MapSizeX(); x++) MakeVoid(TileXY(x, 0)); + for (uint y = 0; y < MapSizeY(); y++) MakeVoid(TileXY(0, y)); } else { for (uint i = 0; i < MapMaxX(); i++) { if (TileHeight(TileXY(i, 1)) != 0) { diff --git a/src/ship_cmd.cpp b/src/ship_cmd.cpp index 34da7d4a20..17d3bf46cc 100644 --- a/src/ship_cmd.cpp +++ b/src/ship_cmd.cpp @@ -701,6 +701,56 @@ static void CheckDistanceBetweenShips(TileIndex tile, Ship *v, TrackBits tracks, } } +/** + * Test if a ship is in the centre of a lock and should move up or down. + * @param v Ship being tested. + * @return 0 if ship is not moving in lock, or -1 to move down, 1 to move up. + */ +static int ShipTestUpDownOnLock(const Ship *v) +{ + /* Suitable tile? */ + if (!IsTileType(v->tile, MP_WATER) || !IsLock(v->tile) || GetLockPart(v->tile) != LOCK_PART_MIDDLE) return 0; + + /* Must be at the centre of the lock */ + if ((v->x_pos & 0xF) != 8 || (v->y_pos & 0xF) != 8) return 0; + + DiagDirection diagdir = GetInclinedSlopeDirection(GetTileSlope(v->tile)); + assert(IsValidDiagDirection(diagdir)); + + if (DirToDiagDir(v->direction) == diagdir) { + /* Move up */ + return (v->z_pos < GetTileMaxZ(v->tile) * (int)TILE_HEIGHT) ? 1 : 0; + } else { + /* Move down */ + return (v->z_pos > GetTileZ(v->tile) * (int)TILE_HEIGHT) ? -1 : 0; + } +} + +/** + * Test and move a ship up or down in a lock. + * @param v Ship to move. + * @return true iff ship is moving up or down in a lock. + */ +static bool ShipMoveUpDownOnLock(Ship *v) +{ + /* Moving up/down through lock */ + int dz = ShipTestUpDownOnLock(v); + if (dz == 0) return false; + + if (v->cur_speed != 0) { + v->cur_speed = 0; + SetWindowWidgetDirty(WC_VEHICLE_VIEW, v->index, WID_VV_START_STOP); + } + + if ((v->tick_counter & 7) == 0) { + v->z_pos += dz; + v->UpdatePosition(); + v->UpdateViewport(true, true); + } + + return true; +} + static void ShipController(Ship *v) { uint32 r; @@ -734,6 +784,8 @@ static void ShipController(Ship *v) return; } + if (ShipMoveUpDownOnLock(v)) return; + if (!ShipAccelerate(v)) return; GetNewVehiclePosResult gp = GetNewVehiclePos(v); @@ -861,7 +913,6 @@ static void ShipController(Ship *v) /* update image of ship, as well as delta XY */ v->x_pos = gp.x; v->y_pos = gp.y; - v->z_pos = GetSlopePixelZ(gp.x, gp.y); getout: v->UpdatePosition(); diff --git a/src/tgp.cpp b/src/tgp.cpp index c1f88bf2a7..d8d476a4de 100644 --- a/src/tgp.cpp +++ b/src/tgp.cpp @@ -996,8 +996,8 @@ void GenerateTerrainPerlin() /* First make sure the tiles at the north border are void tiles if needed. */ if (_settings_game.construction.freeform_edges) { - for (int y = 0; y < _height_map.size_y - 1; y++) MakeVoid(_height_map.size_x * y); - for (int x = 0; x < _height_map.size_x; x++) MakeVoid(x); + for (uint x = 0; x < MapSizeX(); x++) MakeVoid(TileXY(x, 0)); + for (uint y = 0; y < MapSizeY(); y++) MakeVoid(TileXY(0, y)); } int max_height = H2I(TGPGetMaxHeight()); diff --git a/src/toolbar_gui.cpp b/src/toolbar_gui.cpp index cdc0833f26..29762ffa82 100644 --- a/src/toolbar_gui.cpp +++ b/src/toolbar_gui.cpp @@ -631,9 +631,9 @@ static CallBackFunction MenuClickCompany(int index) case CTMN_NEW_COMPANY: if (_network_server) { - DoCommandP(0, 0, _network_own_client_id, CMD_COMPANY_CTRL); + DoCommandP(0, CCA_NEW, _network_own_client_id, CMD_COMPANY_CTRL); } else { - NetworkSendCommand(0, 0, 0, CMD_COMPANY_CTRL, NULL, NULL, _local_company, 0); + NetworkSendCommand(0, CCA_NEW, 0, CMD_COMPANY_CTRL, NULL, NULL, _local_company, 0); } return CBF_NONE; diff --git a/src/vehicle.cpp b/src/vehicle.cpp index ce9c313adc..20a609419d 100644 --- a/src/vehicle.cpp +++ b/src/vehicle.cpp @@ -1741,8 +1741,11 @@ void CheckVehicleBreakdown(Vehicle *v) int rel, rel_old; /* decrease reliability */ - v->reliability = rel = max((rel_old = v->reliability) - v->reliability_spd_dec, 0); - if ((rel_old >> 8) != (rel >> 8)) SetWindowDirty(WC_VEHICLE_DETAILS, v->First()->index); + if (!_settings_game.order.no_servicing_if_no_breakdowns || + _settings_game.difficulty.vehicle_breakdowns != 0) { + v->reliability = rel = max((rel_old = v->reliability) - v->reliability_spd_dec, 0); + if ((rel_old >> 8) != (rel >> 8)) SetWindowDirty(WC_VEHICLE_DETAILS, v->First()->index); + } if (v->breakdown_ctr != 0 || (v->First()->vehstatus & VS_STOPPED) || _settings_game.difficulty.vehicle_breakdowns < 1 || @@ -2117,6 +2120,8 @@ void VehicleEnterDepot(Vehicle *v) TriggerVehicle(v, VEHICLE_TRIGGER_DEPOT); v->MarkDirty(); + InvalidateWindowData(WC_VEHICLE_VIEW, v->index); + if (v->current_order.IsType(OT_GOTO_DEPOT)) { SetWindowDirty(WC_VEHICLE_VIEW, v->index); @@ -2400,7 +2405,10 @@ bool CanBuildVehicleInfrastructure(VehicleType type) UnitID max; switch (type) { - case VEH_TRAIN: max = _settings_game.vehicle.max_trains; break; + case VEH_TRAIN: + if (!HasAnyRailtypesAvail(_local_company)) return false; + max = _settings_game.vehicle.max_trains; + break; case VEH_ROAD: max = _settings_game.vehicle.max_roadveh; break; case VEH_SHIP: max = _settings_game.vehicle.max_ships; break; case VEH_AIRCRAFT: max = _settings_game.vehicle.max_aircraft; break; @@ -3209,8 +3217,10 @@ CommandCost Vehicle::SendToDepot(DoCommandFlag flags, DepotCommand command, Tile } SetWindowWidgetDirty(WC_VEHICLE_VIEW, this->index, WID_VV_START_STOP); - /* If there is no depot in front, reverse automatically (trains only) */ - if (this->type == VEH_TRAIN && reverse) DoCommand(this->tile, this->index, 0, DC_EXEC, CMD_REVERSE_TRAIN_DIRECTION); + /* If there is no depot in front and the train is not already reversing, reverse automatically (trains only) */ + if (this->type == VEH_TRAIN && (reverse ^ HasBit(Train::From(this)->flags, VRF_REVERSING))) { + DoCommand(this->tile, this->index, 0, DC_EXEC, CMD_REVERSE_TRAIN_DIRECTION); + } if (this->type == VEH_AIRCRAFT) { Aircraft *a = Aircraft::From(this); diff --git a/src/vehicle_cmd.cpp b/src/vehicle_cmd.cpp index 3bf55869d9..100b06ddba 100644 --- a/src/vehicle_cmd.cpp +++ b/src/vehicle_cmd.cpp @@ -653,6 +653,7 @@ CommandCost CmdStartStopVehicle(TileIndex tile, DoCommandFlag flags, uint32 p1, SetWindowWidgetDirty(WC_VEHICLE_VIEW, v->index, WID_VV_START_STOP); SetWindowDirty(WC_VEHICLE_DEPOT, v->tile); SetWindowClassesDirty(GetWindowClassForVehicleType(v->type)); + InvalidateWindowData(WC_VEHICLE_VIEW, v->index); } return CommandCost(); } diff --git a/src/vehicle_gui.cpp b/src/vehicle_gui.cpp index 199c4e4ecf..3f5691aa3f 100644 --- a/src/vehicle_gui.cpp +++ b/src/vehicle_gui.cpp @@ -3159,6 +3159,8 @@ public: this->GetWidget(WID_VV_SHOW_ORDERS)->tool_tip = STR_VEHICLE_VIEW_TRAIN_ORDERS_TOOLTIP + v->type; this->GetWidget(WID_VV_SHOW_DETAILS)->tool_tip = STR_VEHICLE_VIEW_TRAIN_SHOW_DETAILS_TOOLTIP + v->type; this->GetWidget(WID_VV_CLONE)->tool_tip = STR_VEHICLE_VIEW_CLONE_TRAIN_INFO + v->type; + + this->UpdateButtonStatus(); } ~VehicleViewWindow() @@ -3554,7 +3556,7 @@ public: } } - virtual void OnGameTick() + void UpdateButtonStatus() { const Vehicle *v = Vehicle::Get(this->window_number); bool veh_stopped = v->IsStoppedInDepot(); @@ -3596,6 +3598,8 @@ public: * Nothing to do for this window. */ return; } + + this->UpdateButtonStatus(); } virtual bool IsNewGRFInspectable() const