diff --git a/Jenkinsfile b/Jenkinsfile
deleted file mode 100644
index af7968e71e..0000000000
--- a/Jenkinsfile
+++ /dev/null
@@ -1,75 +0,0 @@
-#!/usr/bin/env groovy
-
-// The stages we run one by one
-// Please don't add more than 2 items in a single stage; this hurts performance
-def ci_stages = [
- "Checkers": [
- "commit-checker": "openttd/compile-farm-ci:commit-checker",
- ],
- "Compilers": [
- "linux-amd64-gcc-6": "openttd/compile-farm-ci:linux-amd64-gcc-6",
- "linux-amd64-clang-3.8": "openttd/compile-farm-ci:linux-amd64-clang-3.8",
- ],
- "Archs": [
- "linux-i386-gcc-6": "openttd/compile-farm-ci:linux-i386-gcc-6",
- ],
- "OS": [
- "osx-10.9": "openttd/compile-farm-ci:osx-10.9",
- ],
-]
-
-def generateStage(targets) {
- return targets.collectEntries{ key, target ->
- ["${key}": generateCI(key, target)]
- }
-}
-
-def generateCI(display_name, image_name) {
- return {
- githubNotify context: 'openttd/' + display_name, description: 'This commit is being built', status: 'PENDING'
-
- try {
- dir("${display_name}") {
- unstash "source"
-
- docker.image("${image_name}").pull()
- docker.image("${image_name}").withRun("--volumes-from ${hostname} --workdir " + pwd()) { c ->
- sh "docker logs --follow ${c.id}; exit `docker wait ${c.id}`"
- }
- }
-
- githubNotify context: 'openttd/' + display_name, description: 'The commit looks good', status: 'SUCCESS'
- }
- catch (error) {
- githubNotify context: 'openttd/' + display_name, description: 'The commit cannot be built', status: 'FAILURE'
- throw error
- }
- }
-}
-
-node {
- ansiColor('xterm') {
- stage("Checkout") {
- checkout scm
-
- // Ensure user.email and user.name is set, otherwise rebase cannot work
- sh "git config user.email 'info@openttd.org'"
- sh "git config user.name 'OpenTTD CI'"
-
- // Ensure we also have origin/master available
- sh "git fetch --no-tags origin master:refs/remotes/origin/master"
-
- // Try to rebase to origin/master; if this fails, fail the CI
- sh "git rebase origin/master"
-
- stash name: "source", useDefaultExcludes: false
- }
-
- ci_stages.each { ci_stage ->
- stage(ci_stage.key) {
- parallel generateStage(ci_stage.value)
- }
- }
- }
-}
-
diff --git a/README.md b/README.md
index 1e287e247e..8299ccb675 100644
--- a/README.md
+++ b/README.md
@@ -790,16 +790,15 @@ create one after closing.
### Windows:
-You need Microsoft Visual Studio .NET. Open the project file
+You need Microsoft Visual Studio 2015 Update 3 or more recent. Open the project file
and it should build automatically. In case you want to build with SDL support
you need to add WITH_SDL to the project settings.
-PNG (WITH_PNG) and ZLIB (WITH_ZLIB) support is enabled by default. For these
-to work you need their development files. For best results, download the
-openttd-useful.zip file from https://www.openttd.org/download-openttd-useful.
-Put the header files into your compiler's include/ directory and the
-library (.lib) files into the lib/ directory.
-For more help with VS see docs/Readme_Windows_MSVC.txt.
+PNG (WITH_PNG), ZLIB (WITH_ZLIB), LZO (WITH_LZO), Freetype (WITH_FREETYPE) and
+LZMA (WITH_LZMA) support is enabled by default. For these to work you need their
+development files. To get them just use vcpkg from https://github.com/Microsoft/vcpkg
+using x86-windows-static and x64-windows-static triplets.
+For more help with VS see docs/Readme_Windows_MSVC.md.
You can also build it using the Makefile with MSYS/MinGW or Cygwin/MinGW.
Please read the Makefile for more information.
diff --git a/azure-pipelines-ci.yml b/azure-pipelines-ci.yml
new file mode 100644
index 0000000000..ea7f355141
--- /dev/null
+++ b/azure-pipelines-ci.yml
@@ -0,0 +1,105 @@
+trigger:
+- master
+pr:
+- master
+
+jobs:
+- job: windows
+ displayName: 'Windows'
+ pool:
+ vmImage: 'VS2017-Win2016'
+
+ strategy:
+ matrix:
+ Win32:
+ BuildPlatform: 'Win32'
+ Win64:
+ BuildPlatform: 'x64'
+
+ steps:
+ # Rebase to origin/master for every PR. This means users don't have to
+ # rebase every time master changes. As long as the PR applies cleanly, we
+ # will validate it.
+ - script: |
+ git config user.email 'info@openttd.org'
+ git config user.name 'OpenTTD CI'
+ git rebase origin/master
+ displayName: 'Rebase to master'
+ - bash: |
+ set -ex
+ curl -L https://github.com/OpenTTD/OpenTTD-CF/releases/download/latest/windows-dependencies.zip > windows-dependencies.zip
+ unzip windows-dependencies.zip
+ rm -f windows-dependencies.zip
+ displayName: 'Download dependencies'
+ workingDirectory: $(Build.ArtifactStagingDirectory)
+ - script: $(Build.ArtifactStagingDirectory)\windows-dependencies\vcpkg.exe integrate install
+ displayName: 'Install dependencies'
+ - task: VSBuild@1
+ displayName: 'Build'
+ inputs:
+ solution: 'projects/openttd_vs141.sln'
+ platform: $(BuildPlatform)
+ configuration: Release
+ maximumCpuCount: true
+ # Running the regression is currently not possibe via MSVC (console is not redirected)
+
+- job: linux
+ displayName: 'Linux'
+ pool:
+ vmImage: 'ubuntu-16.04'
+
+ strategy:
+ matrix:
+ commit-checker: {}
+ linux-amd64-clang-3.8: {}
+ linux-amd64-gcc-6: {}
+ linux-i386-gcc-6: {}
+
+ steps:
+ # Rebase to origin/master for every PR. This means users don't have to
+ # rebase every time master changes. As long as the PR applies cleanly, we
+ # will validate it.
+ - script: |
+ git config user.email 'info@openttd.org'
+ git config user.name 'OpenTTD CI'
+ git rebase origin/master
+ displayName: 'Rebase to master'
+ - task: Docker@1
+ displayName: 'Build and test'
+ inputs:
+ command: 'Run an image'
+ imageName: openttd/compile-farm-ci:$(Agent.JobName)
+ volumes: '$(Build.SourcesDirectory):$(Build.SourcesDirectory)'
+ workingDirectory: '$(Build.SourcesDirectory)'
+ runInBackground: false
+
+- job: macos
+ displayName: 'MacOS'
+ pool:
+ vmImage: 'macOS-10.13'
+
+ steps:
+ # Rebase to origin/master for every PR. This means users don't have to
+ # rebase every time master changes. As long as the PR applies cleanly, we
+ # will validate it.
+ - script: |
+ git config user.email 'info@openttd.org'
+ git config user.name 'OpenTTD CI'
+ git rebase origin/master
+ displayName: 'Rebase to master'
+ - script: HOMEBREW_NO_AUTO_UPDATE=1 brew install pkg-config lzo xz libpng
+ displayName: 'Install dependencies'
+ - bash: |
+ set -ex
+ mkdir -p ~/Documents/OpenTTD/baseset
+ cd ~/Documents/OpenTTD/baseset
+ wget https://binaries.openttd.org/extra/opengfx/0.5.2/opengfx-0.5.2-all.zip
+ unzip opengfx-0.5.2-all.zip
+ rm -f opengfx-0.5.2-all.zip
+ displayName: 'Install OpenGFX'
+ - script: './configure PKG_CONFIG_PATH=/usr/local/lib/pkgconfig --enable-static'
+ displayName: 'Configure'
+ - script: 'make -j2'
+ displayName: 'Build'
+ - script: 'make regression'
+ displayName: 'Test'
diff --git a/docs/Readme_Windows_MSVC.md b/docs/Readme_Windows_MSVC.md
new file mode 100644
index 0000000000..c60904c72a
--- /dev/null
+++ b/docs/Readme_Windows_MSVC.md
@@ -0,0 +1,70 @@
+# Compiling OpenTTD using Microsoft Visual C++
+
+Last updated: 2018-12-27
+
+## Supported MSVC compilers
+
+OpenTTD includes projects for Visual Studio 2015 Update 3 or more recent.
+You can download the free Visual Studio Community Edition from Microsoft at
+https://visualstudio.microsoft.com/vs/community/.
+
+## Required files
+
+### Microsoft platform files
+
+OpenTTD needs the Platform SDK, if it isn't installed already. This can be
+done during installing Visual Studio, by selecting
+`Visual C++ MFC for x86 and x64` (and possibly
+`Visual C++ ATL for x86 and x64` depending on your version). If not, you
+can get it at this location:
+
+- [MS Windows Platform SDK](http://www.microsoft.com/downloads/details.aspx?FamilyId=A55B6B43-E24F-4EA3-A93E-40C0EC4F68E5&displaylang=en)
+
+Install the SDK by following the instructions as given.
+
+### OpenTTD dependencies
+
+Dependencies for OpenTTD on Windows are handled via
+[vcpkg](https://github.com/Microsoft/vcpkg/). First you need to install vcpkg
+by following the `Quick Start` intructions of their
+[README](https://github.com/Microsoft/vcpkg/blob/master/README.md).
+
+After this, you can install the dependencies OpenTTD needs. We advise to use
+the `static` versions, and OpenTTD currently needs the following dependencies:
+
+- freetype
+- liblzma
+- libpng
+- lzo
+- zlib
+
+To install both the x64 (64bit) and x86 (32bit) variants, you can use:
+
+```ps
+.\vcpkg install freetype:x64-windows-static liblzma:x64-windows-static libpng:x64-windows-static lzo:x64-windows-static zlib:x64-windows-static
+.\vcpkg install freetype:x86-windows-static liblzma:x86-windows-static libpng:x86-windows-static lzo:x86-windows-static zlib:x86-windows-static
+```
+
+## TTD Graphics files
+
+See section 4.1 of README.md for the required 3rdparty files and how to install them.
+
+## Compiling
+
+Open the appropriate `sln` (Solution) file for your version of Visual Studio:
+
+- VS 2015: projects/openttd_vs140.sln
+- VS 2017: projects/openttd_vs141.sln
+
+Set the build mode to `Release` in
+`Build > Configuration manager > Active solution configuration`.
+You can now compile.
+
+If everything works well the binary should be in `objs\Win[32|64]\Release\openttd.exe`
+and in `bin\openttd.exe`
+
+## Problems
+
+If compilation fails, double-check that you are using the latest github
+source. If it still doesn't work, check in on IRC (irc://irc.oftc.net/openttd),
+to ask for help.
diff --git a/docs/Readme_Windows_MSVC.txt b/docs/Readme_Windows_MSVC.txt
deleted file mode 100644
index 00896f00b9..0000000000
--- a/docs/Readme_Windows_MSVC.txt
+++ /dev/null
@@ -1,109 +0,0 @@
-Compiling OpenTTD using Microsoft Visual C++
-Last updated: 2018-03-21
---------------------------------------------
-PLEASE READ THE ENTIRE DOCUMENT BEFORE DOING ANY ACTUAL CHANGES!!
-
-
-SUPPORTED MSVC COMPILERS
-------------------------
-OpenTTD includes projects for Microsoft Visual Studio 2005 and later.
-This is the earliest compiler supported, Visual C++ 2003, Visual C++ 6.0,
-or earlier, will not compile OpenTTD.
-You can download the free Visual Studio Community Edition from Microsoft.
-
-
-1) REQUIRED FILES
------------------
-You might already have some of the files already installed, so check before
-downloading; mostly because the Platform SDK is about 500MB.
-Download the following files:
-
- * openttd-useful.zip (http://binaries.openttd.org/extra/openttd-useful/)
- * MS Windows Platform SDK (http://www.microsoft.com/downloads/details.aspx?FamilyId=A55B6B43-E24F-4EA3-A93E-40C0EC4F68E5&displaylang=en)
- * afxres.h (http://www-d0.fnal.gov/d0dist/dist/packages/d0ve/devel/windows/AFXRES.H)
-
-...and of course the newest source from svn://svn.openttd.org/trunk
-
-You need an SVN-client to download the source from subversion:
-
- * CLI Subversion (http://subversion.tigris.org/)
- * GUI TortoiseSVN (http://tortoisesvn.tigris.org/)
-
-
-2) INCLUDES AND LIBRARIES
--------------------------
-Put the newly downloaded files in the VC lib\ and include\ directories; where
-"C:\Program Files\Microsoft Visual Studio 9.0\VC" is your location of Visual C.
-If you are compiling for an x64 system, use the include\ and lib\ directories
-from the win64/ folder.
-
- * openttd-useful.zip\include\*
- * afxresh.h
- to > C:\Program Files\Microsoft Visual Studio 9.0\VC\Include
-
- * openttd-useful.zip\lib\*
- to > C:\Program Files\Microsoft Visual Studio 9.0\VC\Lib
-
-Custom directories might be recommended, check 2.2)
-
-
-2.1) INCLUDES AND LIBRARIES - DIRECTX/PLATFORM SDK
---------------------------------------------------
-Basically the same procedure as with the useful zip file, providing
-you are not using the Microsoft installer. Put the include files in the
-include\ directory and the library files to the Lib\ directory.
-
-It is recommended to use custom directories so you don't overwrite any
-default header or library files.
-
-
-2.2) CUSTOM DIRECTORIES
------------------------
-If you have put the above include and/or library files into custom folders,
-MSVC will not find them by default. You need to add these paths to VC through:
-
-Tools > Options > Projects and Solutions > VC++ Directories > show directories for
-
- * Include files: Add the DirectX/Platform SDK include dir you've created
- * Library files: Add the path to the SDK custom lib dir
-
-NOTE: make sure that the directory for the DirectX SDK is the first one in the
-list, above all others, otherwise compilation will most likely fail!!
-
-
-3) TTD GRAPHICS FILES
----------------------
-See section 4.1 of README.md for the required 3rdparty files and how to install them.
-
-
-4) COMPILING
-------------
-Open the appropriate "sln" (Solution) file for your version of Visual Studio:
- - VS 2005: projects/openttd_vs80.sln
- - VS 2008: projects/openttd_vs90.sln
- - VS 2010: projects/openttd_vs100.sln
- - VS 2015: projects/openttd_vs140.sln
-Set the build mode to 'Release' in
-Build > Configuration manager > Active solution configuration > select "Release"
-Compile...
-
-If everything works well the binary should be in objs/Win[32|64]/Release/openttd.exe
-
-
-5) EDITING, CHANGING SOURCE CODE
---------------------------------
-Set the build mode (back to) 'Debug'
-Change the startup project to openttd by right-clicking the 'openttd' project
-in the Solution Explorer and selecting 'Set as Startup Project'. The 'openttd'
-project should now show up bold instead of 'strgen'.
-
-
-6) PROBLEMS?
-------------
-If compilation fails, double-check that you are using the latest SVN (!)
-source. If it still doesn't work, check in on IRC (irc://irc.oftc.net/openttd),
-to ask about reasons; or just wait. The problem will most likely solve itself
-within a few days as the problem is noticed and fixed.
-
-An up-to-date version of this README can be found on the wiki:
-http://wiki.openttd.org/Microsoft_Visual_C%2B%2B_2008_Express_Editions
diff --git a/projects/openttd_vs140.vcxproj b/projects/openttd_vs140.vcxproj
index 45d66e9fde..6433164933 100644
--- a/projects/openttd_vs140.vcxproj
+++ b/projects/openttd_vs140.vcxproj
@@ -22,6 +22,8 @@
openttd{668328A0-B40E-4CDB-BD72-D0064424414A}openttd
+ x86-windows-static
+ x64-windows-static
@@ -105,7 +107,7 @@
Sizetrue..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)
- WIN32;NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_XAUDIO2;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_UNISCRIBE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";WITH_ASSERT;%(PreprocessorDefinitions)
+ NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_XAUDIO2;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;WITH_PNG;WITH_FREETYPE;WITH_UNISCRIBE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";WITH_ASSERT;%(PreprocessorDefinitions)trueSyncMultiThreaded
@@ -136,7 +138,7 @@
0x0809
- winmm.lib;ws2_32.lib;imm32.lib;libpng.lib;zlibstat.lib;lzo2.lib;liblzma.lib;libfreetype2.lib;%(AdditionalDependencies)
+ winmm.lib;ws2_32.lib;imm32.lib;%(AdditionalDependencies)true%(IgnoreSpecificDefaultLibraries)true
@@ -170,7 +172,7 @@
Disabledtrue..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)
- WIN32;_DEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_XAUDIO2;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_UNISCRIBE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";%(PreprocessorDefinitions)
+ _DEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_XAUDIO2;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;WITH_PNG;WITH_FREETYPE;WITH_UNISCRIBE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";%(PreprocessorDefinitions)EnableFastChecksMultiThreadedDebug
@@ -192,7 +194,7 @@
0x0809
- winmm.lib;ws2_32.lib;imm32.lib;libpng.lib;zlibstat.lib;lzo2.lib;liblzma.lib;libfreetype2.lib;%(AdditionalDependencies)
+ winmm.lib;ws2_32.lib;imm32.lib;%(AdditionalDependencies)trueLIBCMT.lib;%(IgnoreSpecificDefaultLibraries)true
@@ -228,7 +230,7 @@
Sizetrue..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)
- WIN32;NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_XAUDIO2;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_UNISCRIBE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";_SQ64;WITH_ASSERT;%(PreprocessorDefinitions)
+ NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_XAUDIO2;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;WITH_PNG;WITH_FREETYPE;WITH_UNISCRIBE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";_SQ64;WITH_ASSERT;%(PreprocessorDefinitions)trueSyncMultiThreaded
@@ -259,7 +261,7 @@
0x0809
- winmm.lib;ws2_32.lib;imm32.lib;libpng.lib;zlibstat.lib;lzo2.lib;liblzma.lib;libfreetype2.lib;%(AdditionalDependencies)
+ winmm.lib;ws2_32.lib;imm32.lib;%(AdditionalDependencies)true%(IgnoreSpecificDefaultLibraries)true
@@ -291,7 +293,7 @@
Disabledtrue..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)
- WIN32;_DEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_XAUDIO2;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_UNISCRIBE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";_SQ64;%(PreprocessorDefinitions)
+ _DEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_XAUDIO2;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;WITH_PNG;WITH_FREETYPE;WITH_UNISCRIBE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";_SQ64;%(PreprocessorDefinitions)EnableFastChecksMultiThreadedDebug
@@ -317,7 +319,7 @@
0x0809
- winmm.lib;ws2_32.lib;imm32.lib;libpng.lib;zlibstat.lib;lzo2.lib;liblzma.lib;libfreetype2.lib;%(AdditionalDependencies)
+ winmm.lib;ws2_32.lib;imm32.lib;%(AdditionalDependencies)trueLIBCMT.lib;%(IgnoreSpecificDefaultLibraries)true
diff --git a/projects/openttd_vs140.vcxproj.in b/projects/openttd_vs140.vcxproj.in
index d6ba126b5f..75aac94bab 100644
--- a/projects/openttd_vs140.vcxproj.in
+++ b/projects/openttd_vs140.vcxproj.in
@@ -22,6 +22,8 @@
openttd{668328A0-B40E-4CDB-BD72-D0064424414A}openttd
+ x86-windows-static
+ x64-windows-static
@@ -105,7 +107,7 @@
Sizetrue..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)
- WIN32;NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_XAUDIO2;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_UNISCRIBE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";WITH_ASSERT;%(PreprocessorDefinitions)
+ NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_XAUDIO2;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;WITH_PNG;WITH_FREETYPE;WITH_UNISCRIBE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";WITH_ASSERT;%(PreprocessorDefinitions)trueSyncMultiThreaded
@@ -136,7 +138,7 @@
0x0809
- winmm.lib;ws2_32.lib;imm32.lib;libpng.lib;zlibstat.lib;lzo2.lib;liblzma.lib;libfreetype2.lib;%(AdditionalDependencies)
+ winmm.lib;ws2_32.lib;imm32.lib;%(AdditionalDependencies)true%(IgnoreSpecificDefaultLibraries)true
@@ -170,7 +172,7 @@
Disabledtrue..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)
- WIN32;_DEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_XAUDIO2;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_UNISCRIBE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";%(PreprocessorDefinitions)
+ _DEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_XAUDIO2;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;WITH_PNG;WITH_FREETYPE;WITH_UNISCRIBE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";%(PreprocessorDefinitions)EnableFastChecksMultiThreadedDebug
@@ -192,7 +194,7 @@
0x0809
- winmm.lib;ws2_32.lib;imm32.lib;libpng.lib;zlibstat.lib;lzo2.lib;liblzma.lib;libfreetype2.lib;%(AdditionalDependencies)
+ winmm.lib;ws2_32.lib;imm32.lib;%(AdditionalDependencies)trueLIBCMT.lib;%(IgnoreSpecificDefaultLibraries)true
@@ -228,7 +230,7 @@
Sizetrue..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)
- WIN32;NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_XAUDIO2;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_UNISCRIBE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";_SQ64;WITH_ASSERT;%(PreprocessorDefinitions)
+ NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_XAUDIO2;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;WITH_PNG;WITH_FREETYPE;WITH_UNISCRIBE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";_SQ64;WITH_ASSERT;%(PreprocessorDefinitions)trueSyncMultiThreaded
@@ -259,7 +261,7 @@
0x0809
- winmm.lib;ws2_32.lib;imm32.lib;libpng.lib;zlibstat.lib;lzo2.lib;liblzma.lib;libfreetype2.lib;%(AdditionalDependencies)
+ winmm.lib;ws2_32.lib;imm32.lib;%(AdditionalDependencies)true%(IgnoreSpecificDefaultLibraries)true
@@ -291,7 +293,7 @@
Disabledtrue..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)
- WIN32;_DEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_XAUDIO2;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_UNISCRIBE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";_SQ64;%(PreprocessorDefinitions)
+ _DEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_XAUDIO2;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;WITH_PNG;WITH_FREETYPE;WITH_UNISCRIBE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";_SQ64;%(PreprocessorDefinitions)EnableFastChecksMultiThreadedDebug
@@ -317,7 +319,7 @@
0x0809
- winmm.lib;ws2_32.lib;imm32.lib;libpng.lib;zlibstat.lib;lzo2.lib;liblzma.lib;libfreetype2.lib;%(AdditionalDependencies)
+ winmm.lib;ws2_32.lib;imm32.lib;%(AdditionalDependencies)trueLIBCMT.lib;%(IgnoreSpecificDefaultLibraries)true
diff --git a/projects/openttd_vs141.vcxproj b/projects/openttd_vs141.vcxproj
index 018b626b4e..9fea006f4f 100644
--- a/projects/openttd_vs141.vcxproj
+++ b/projects/openttd_vs141.vcxproj
@@ -22,6 +22,8 @@
openttd{668328A0-B40E-4CDB-BD72-D0064424414A}openttd
+ x86-windows-static
+ x64-windows-static
@@ -105,7 +107,7 @@
Sizetrue..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)
- WIN32;NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_XAUDIO2;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_UNISCRIBE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";WITH_ASSERT;%(PreprocessorDefinitions)
+ NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_XAUDIO2;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;WITH_PNG;WITH_FREETYPE;WITH_UNISCRIBE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";WITH_ASSERT;%(PreprocessorDefinitions)trueSyncMultiThreaded
@@ -136,7 +138,7 @@
0x0809
- winmm.lib;ws2_32.lib;imm32.lib;libpng.lib;zlibstat.lib;lzo2.lib;liblzma.lib;libfreetype2.lib;%(AdditionalDependencies)
+ winmm.lib;ws2_32.lib;imm32.lib;%(AdditionalDependencies)true%(IgnoreSpecificDefaultLibraries)true
@@ -170,7 +172,7 @@
Disabledtrue..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)
- WIN32;_DEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_XAUDIO2;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_UNISCRIBE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";%(PreprocessorDefinitions)
+ _DEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_XAUDIO2;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;WITH_PNG;WITH_FREETYPE;WITH_UNISCRIBE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";%(PreprocessorDefinitions)EnableFastChecksMultiThreadedDebug
@@ -192,7 +194,7 @@
0x0809
- winmm.lib;ws2_32.lib;imm32.lib;libpng.lib;zlibstat.lib;lzo2.lib;liblzma.lib;libfreetype2.lib;%(AdditionalDependencies)
+ winmm.lib;ws2_32.lib;imm32.lib;%(AdditionalDependencies)trueLIBCMT.lib;%(IgnoreSpecificDefaultLibraries)true
@@ -228,7 +230,7 @@
Sizetrue..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)
- WIN32;NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_XAUDIO2;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_UNISCRIBE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";_SQ64;WITH_ASSERT;%(PreprocessorDefinitions)
+ NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_XAUDIO2;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;WITH_PNG;WITH_FREETYPE;WITH_UNISCRIBE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";_SQ64;WITH_ASSERT;%(PreprocessorDefinitions)trueSyncMultiThreaded
@@ -259,7 +261,7 @@
0x0809
- winmm.lib;ws2_32.lib;imm32.lib;libpng.lib;zlibstat.lib;lzo2.lib;liblzma.lib;libfreetype2.lib;%(AdditionalDependencies)
+ winmm.lib;ws2_32.lib;imm32.lib;%(AdditionalDependencies)true%(IgnoreSpecificDefaultLibraries)true
@@ -291,7 +293,7 @@
Disabledtrue..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)
- WIN32;_DEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_XAUDIO2;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_UNISCRIBE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";_SQ64;%(PreprocessorDefinitions)
+ _DEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_XAUDIO2;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;WITH_PNG;WITH_FREETYPE;WITH_UNISCRIBE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";_SQ64;%(PreprocessorDefinitions)EnableFastChecksMultiThreadedDebug
@@ -317,7 +319,7 @@
0x0809
- winmm.lib;ws2_32.lib;imm32.lib;libpng.lib;zlibstat.lib;lzo2.lib;liblzma.lib;libfreetype2.lib;%(AdditionalDependencies)
+ winmm.lib;ws2_32.lib;imm32.lib;%(AdditionalDependencies)trueLIBCMT.lib;%(IgnoreSpecificDefaultLibraries)true
diff --git a/projects/openttd_vs141.vcxproj.in b/projects/openttd_vs141.vcxproj.in
index f231c6264d..a054c2580e 100644
--- a/projects/openttd_vs141.vcxproj.in
+++ b/projects/openttd_vs141.vcxproj.in
@@ -22,6 +22,8 @@
openttd{668328A0-B40E-4CDB-BD72-D0064424414A}openttd
+ x86-windows-static
+ x64-windows-static
@@ -105,7 +107,7 @@
Sizetrue..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)
- WIN32;NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_XAUDIO2;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_UNISCRIBE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";WITH_ASSERT;%(PreprocessorDefinitions)
+ NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_XAUDIO2;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;WITH_PNG;WITH_FREETYPE;WITH_UNISCRIBE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";WITH_ASSERT;%(PreprocessorDefinitions)trueSyncMultiThreaded
@@ -136,7 +138,7 @@
0x0809
- winmm.lib;ws2_32.lib;imm32.lib;libpng.lib;zlibstat.lib;lzo2.lib;liblzma.lib;libfreetype2.lib;%(AdditionalDependencies)
+ winmm.lib;ws2_32.lib;imm32.lib;%(AdditionalDependencies)true%(IgnoreSpecificDefaultLibraries)true
@@ -170,7 +172,7 @@
Disabledtrue..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)
- WIN32;_DEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_XAUDIO2;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_UNISCRIBE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";%(PreprocessorDefinitions)
+ _DEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_XAUDIO2;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;WITH_PNG;WITH_FREETYPE;WITH_UNISCRIBE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";%(PreprocessorDefinitions)EnableFastChecksMultiThreadedDebug
@@ -192,7 +194,7 @@
0x0809
- winmm.lib;ws2_32.lib;imm32.lib;libpng.lib;zlibstat.lib;lzo2.lib;liblzma.lib;libfreetype2.lib;%(AdditionalDependencies)
+ winmm.lib;ws2_32.lib;imm32.lib;%(AdditionalDependencies)trueLIBCMT.lib;%(IgnoreSpecificDefaultLibraries)true
@@ -228,7 +230,7 @@
Sizetrue..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)
- WIN32;NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_XAUDIO2;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_UNISCRIBE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";_SQ64;WITH_ASSERT;%(PreprocessorDefinitions)
+ NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_XAUDIO2;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;WITH_PNG;WITH_FREETYPE;WITH_UNISCRIBE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";_SQ64;WITH_ASSERT;%(PreprocessorDefinitions)trueSyncMultiThreaded
@@ -259,7 +261,7 @@
0x0809
- winmm.lib;ws2_32.lib;imm32.lib;libpng.lib;zlibstat.lib;lzo2.lib;liblzma.lib;libfreetype2.lib;%(AdditionalDependencies)
+ winmm.lib;ws2_32.lib;imm32.lib;%(AdditionalDependencies)true%(IgnoreSpecificDefaultLibraries)true
@@ -291,7 +293,7 @@
Disabledtrue..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)
- WIN32;_DEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_XAUDIO2;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_UNISCRIBE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";_SQ64;%(PreprocessorDefinitions)
+ _DEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_XAUDIO2;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;WITH_PNG;WITH_FREETYPE;WITH_UNISCRIBE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";_SQ64;%(PreprocessorDefinitions)EnableFastChecksMultiThreadedDebug
@@ -317,7 +319,7 @@
0x0809
- winmm.lib;ws2_32.lib;imm32.lib;libpng.lib;zlibstat.lib;lzo2.lib;liblzma.lib;libfreetype2.lib;%(AdditionalDependencies)
+ winmm.lib;ws2_32.lib;imm32.lib;%(AdditionalDependencies)trueLIBCMT.lib;%(IgnoreSpecificDefaultLibraries)true
diff --git a/src/ai/ai_info.cpp b/src/ai/ai_info.cpp
index 9c27006c47..43a4345460 100644
--- a/src/ai/ai_info.cpp
+++ b/src/ai/ai_info.cpp
@@ -32,9 +32,9 @@ static bool CheckAPIVersion(const char *api_version)
strcmp(api_version, "1.8") == 0 || strcmp(api_version, "1.9") == 0;
}
-#if defined(WIN32)
+#if defined(_WIN32)
#undef GetClassName
-#endif /* WIN32 */
+#endif /* _WIN32 */
template <> const char *GetClassName() { return "AIInfo"; }
/* static */ void AIInfo::RegisterAPI(Squirrel *engine)
diff --git a/src/bootstrap_gui.cpp b/src/bootstrap_gui.cpp
index 62f5450c5b..3fb52a1f9e 100644
--- a/src/bootstrap_gui.cpp
+++ b/src/bootstrap_gui.cpp
@@ -220,7 +220,7 @@ bool HandleBootstrap()
if (BlitterFactory::GetCurrentBlitter()->GetScreenDepth() == 0) goto failure;
/* If there is no network or no freetype, then there is nothing we can do. Go straight to failure. */
-#if defined(ENABLE_NETWORK) && defined(WITH_FREETYPE) && (defined(WITH_FONTCONFIG) || defined(WIN32) || defined(__APPLE__))
+#if defined(ENABLE_NETWORK) && defined(WITH_FREETYPE) && (defined(WITH_FONTCONFIG) || defined(_WIN32) || defined(__APPLE__))
if (!_network_available) goto failure;
/* First tell the game we're bootstrapping. */
diff --git a/src/core/endian_type.hpp b/src/core/endian_type.hpp
index 453bf5402c..4058c5c19a 100644
--- a/src/core/endian_type.hpp
+++ b/src/core/endian_type.hpp
@@ -26,7 +26,7 @@
#define TTD_BIG_ENDIAN 1
/* Windows has always LITTLE_ENDIAN */
-#if defined(WIN32) || defined(__OS2__) || defined(WIN64)
+#if defined(_WIN32) || defined(__OS2__)
# define TTD_ENDIAN TTD_LITTLE_ENDIAN
#elif defined(OSX)
# include
@@ -42,6 +42,6 @@
# else
# define TTD_ENDIAN TTD_BIG_ENDIAN
# endif
-#endif /* WIN32 || __OS2__ || WIN64 */
+#endif /* _WIN32 || __OS2__ */
#endif /* ENDIAN_TYPE_HPP */
diff --git a/src/debug.cpp b/src/debug.cpp
index 58ca99cf69..64d0bab41a 100644
--- a/src/debug.cpp
+++ b/src/debug.cpp
@@ -17,7 +17,7 @@
#include "fileio_func.h"
#include "settings_type.h"
-#if defined(WIN32) || defined(WIN64)
+#if defined(_WIN32)
#include "os/windows/win32.h"
#endif
@@ -179,7 +179,7 @@ static void debug_print(const char *dbg, const char *buf)
/* do not write desync messages to the console on Windows platforms, as they do
* not seem able to handle text direction change characters in a console without
* crashing, and NetworkTextMessage includes these */
-#if defined(WIN32) || defined(WIN64)
+#if defined(_WIN32)
if (strcmp(dbg, "desync") != 0) {
TCHAR system_buf[512];
convert_to_fs(buffer, system_buf, lengthof(system_buf), true);
diff --git a/src/fileio.cpp b/src/fileio.cpp
index 31f84e9d14..bedd2d2a97 100644
--- a/src/fileio.cpp
+++ b/src/fileio.cpp
@@ -15,7 +15,7 @@
#include "fios.h"
#include "string_func.h"
#include "tar_type.h"
-#ifdef WIN32
+#ifdef _WIN32
#include
# define access _taccess
#elif defined(__HAIKU__)
@@ -361,7 +361,7 @@ char *FioFindFullPath(char *buf, const char *last, Subdirectory subdir, const ch
FOR_ALL_SEARCHPATHS(sp) {
FioGetFullPath(buf, last, sp, subdir, filename);
if (FileExists(buf)) return buf;
-#if !defined(WIN32)
+#if !defined(_WIN32)
/* Be, as opening files, aware that sometimes the filename
* might be in uppercase when it is in lowercase on the
* disk. Of course Windows doesn't care about casing. */
@@ -399,7 +399,7 @@ char *FioGetDirectory(char *buf, const char *last, Subdirectory subdir)
static FILE *FioFOpenFileSp(const char *filename, const char *mode, Searchpath sp, Subdirectory subdir, size_t *filesize)
{
-#if defined(WIN32) && defined(UNICODE)
+#if defined(_WIN32) && defined(UNICODE)
/* fopen is implemented as a define with ellipses for
* Unicode support (prepend an L). As we are not sending
* a string, but a variable, it 'renames' the variable,
@@ -416,12 +416,12 @@ static FILE *FioFOpenFileSp(const char *filename, const char *mode, Searchpath s
seprintf(buf, lastof(buf), "%s%s%s", _searchpaths[sp], _subdirs[subdir], filename);
}
-#if defined(WIN32)
+#if defined(_WIN32)
if (mode[0] == 'r' && GetFileAttributes(OTTD2FS(buf)) == INVALID_FILE_ATTRIBUTES) return NULL;
#endif
f = fopen(buf, mode);
-#if !defined(WIN32)
+#if !defined(_WIN32)
if (f == NULL && strtolower(buf + ((subdir == NO_DIRECTORY) ? 0 : strlen(_searchpaths[sp]) - 1))) {
f = fopen(buf, mode);
}
@@ -535,7 +535,7 @@ void FioCreateDirectory(const char *name)
{
/* Ignore directory creation errors; they'll surface later on, and most
* of the time they are 'directory already exists' errors anyhow. */
-#if defined(WIN32)
+#if defined(_WIN32)
CreateDirectory(OTTD2FS(name), NULL);
#elif defined(OS2) && !defined(__INNOTEK_LIBC__)
mkdir(OTTD2FS(name));
@@ -979,14 +979,14 @@ bool ExtractTar(const char *tar_filename, Subdirectory subdir)
return true;
}
-#if defined(WIN32)
+#if defined(_WIN32)
/**
* Determine the base (personal dir and game data dir) paths
* @param exe the path from the current path to the executable
* @note defined in the OS related files (os2.cpp, win32.cpp, unix.cpp etc)
*/
extern void DetermineBasePaths(const char *exe);
-#else /* defined(WIN32) */
+#else /* defined(_WIN32) */
/**
* Changes the working directory to the path of the give executable.
@@ -1149,7 +1149,7 @@ extern void cocoaSetApplicationBundleDir();
_searchpaths[SP_APPLICATION_BUNDLE_DIR] = NULL;
#endif
}
-#endif /* defined(WIN32) */
+#endif /* defined(_WIN32) */
const char *_personal_dir;
diff --git a/src/fileio_func.h b/src/fileio_func.h
index 1a09bd8e90..af6c9c1137 100644
--- a/src/fileio_func.h
+++ b/src/fileio_func.h
@@ -118,7 +118,7 @@ public:
DECLARE_ENUM_AS_BIT_SET(TarScanner::Mode)
/* Implementation of opendir/readdir/closedir for Windows */
-#if defined(WIN32)
+#if defined(_WIN32)
struct DIR;
struct dirent { // XXX - only d_name implemented
@@ -136,7 +136,7 @@ int closedir(DIR *d);
/* Use system-supplied opendir/readdir/closedir functions */
# include
# include
-#endif /* defined(WIN32) */
+#endif /* defined(_WIN32) */
/**
* A wrapper around opendir() which will convert the string from
diff --git a/src/fios.cpp b/src/fios.cpp
index f4a25e1ed2..73365ddc29 100644
--- a/src/fios.cpp
+++ b/src/fios.cpp
@@ -20,9 +20,9 @@
#include "string_func.h"
#include
-#ifndef WIN32
+#ifndef _WIN32
# include
-#endif /* WIN32 */
+#endif /* _WIN32 */
#include "table/strings.h"
@@ -153,7 +153,7 @@ const char *FiosBrowseTo(const FiosItem *item)
{
switch (item->type) {
case FIOS_TYPE_DRIVE:
-#if defined(WIN32) || defined(__OS2__)
+#if defined(_WIN32) || defined(__OS2__)
seprintf(_fios_path, _fios_path_last, "%c:" PATHSEP, item->title[0]);
#endif
break;
@@ -318,7 +318,7 @@ bool FiosFileScanner::AddFile(const char *filename, size_t basepath_length, cons
}
FiosItem *fios = file_list.Append();
-#ifdef WIN32
+#ifdef _WIN32
struct _stat sb;
if (_tstat(OTTD2FS(filename), &sb) == 0) {
#else
diff --git a/src/fontdetection.cpp b/src/fontdetection.cpp
index 14eef9f640..4279d60f3b 100644
--- a/src/fontdetection.cpp
+++ b/src/fontdetection.cpp
@@ -28,7 +28,7 @@ extern FT_Library _library;
* Windows support
* ======================================================================================== */
-#ifdef WIN32
+#ifdef _WIN32
#include "core/alloc_func.hpp"
#include "core/math_func.hpp"
#include
diff --git a/src/game/game_info.cpp b/src/game/game_info.cpp
index 9761532965..f8c04608b7 100644
--- a/src/game/game_info.cpp
+++ b/src/game/game_info.cpp
@@ -29,9 +29,9 @@ static bool CheckAPIVersion(const char *api_version)
strcmp(api_version, "1.8") == 0 || strcmp(api_version, "1.9") == 0;
}
-#if defined(WIN32)
+#if defined(_WIN32)
#undef GetClassName
-#endif /* WIN32 */
+#endif /* _WIN32 */
template <> const char *GetClassName() { return "GSInfo"; }
/* static */ void GameInfo::RegisterAPI(Squirrel *engine)
diff --git a/src/ini.cpp b/src/ini.cpp
index 905ebfacf8..6767d8525d 100644
--- a/src/ini.cpp
+++ b/src/ini.cpp
@@ -19,7 +19,7 @@
# include
#endif
-#ifdef WIN32
+#ifdef _WIN32
# include
# include
# include "core/mem_func.hpp"
@@ -87,7 +87,7 @@ bool IniFile::SaveToDisk(const char *filename)
fclose(f);
#endif
-#if defined(WIN32) || defined(WIN64)
+#if defined(_WIN32)
/* _tcsncpy = strcpy is TCHAR is char, but isn't when TCHAR is wchar. */
#undef strncpy
/* Allocate space for one more \0 character. */
diff --git a/src/lang/finnish.txt b/src/lang/finnish.txt
index 246f83e482..4e62196cb5 100644
--- a/src/lang/finnish.txt
+++ b/src/lang/finnish.txt
@@ -246,7 +246,7 @@ STR_TOOLTIP_RESIZE :{BLACK}Napsauta
STR_TOOLTIP_TOGGLE_LARGE_SMALL_WINDOW :{BLACK}Suurenna/pienennä ikkuna
STR_TOOLTIP_VSCROLL_BAR_SCROLLS_LIST :{BLACK}Vierityspalkki - luettelon vieritys ylös/alas
STR_TOOLTIP_HSCROLL_BAR_SCROLLS_LIST :{BLACK}Vierityspalkki - luettelon vieritys vasemmalle/oikealle.
-STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}Tuhoa rakennuksia jne. ruudulta. Ctrl valitsee alueen vinottain. Shift vaihtaa tuhoamistilan ja kustannearvion välillä
+STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}Tuhoa rakennuksia jne. ruudulta. Ctrl valitsee alueen vinottain. Shift vaihtaa tuhoamistilan ja kustannusarvion välillä
# Show engines button
STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN :{BLACK}Näytä piilotetut
@@ -350,15 +350,15 @@ STR_SCENEDIT_TOOLBAR_OPENTTD :{YELLOW}OpenTTD
STR_SCENEDIT_TOOLBAR_SCENARIO_EDITOR :{YELLOW}Skenaariomuokkain
STR_SCENEDIT_TOOLBAR_TOOLTIP_MOVE_THE_STARTING_DATE_BACKWARD :{BLACK}Siirrä aloituspäivää vuodella taaksepäin
STR_SCENEDIT_TOOLBAR_TOOLTIP_MOVE_THE_STARTING_DATE_FORWARD :{BLACK}Siirrä aloituspäivää vuodella eteenpäin
-STR_SCENEDIT_TOOLBAR_TOOLTIP_SET_DATE :{BLACK}Klikkaa asettaaksesi aloitusvuoden
+STR_SCENEDIT_TOOLBAR_TOOLTIP_SET_DATE :{BLACK}Aseta aloitusvuosi napsauttamalla
STR_SCENEDIT_TOOLBAR_TOOLTIP_DISPLAY_MAP_TOWN_DIRECTORY :{BLACK}Näytä kartta, kaupunkihakemisto
STR_SCENEDIT_TOOLBAR_LANDSCAPE_GENERATION :{BLACK}Maaston luonti
STR_SCENEDIT_TOOLBAR_TOWN_GENERATION :{BLACK}Kaupunkien luonti
STR_SCENEDIT_TOOLBAR_INDUSTRY_GENERATION :{BLACK}Teollisuuden luonti
STR_SCENEDIT_TOOLBAR_ROAD_CONSTRUCTION :{BLACK}Tienrakennus
-STR_SCENEDIT_TOOLBAR_PLANT_TREES :{BLACK}Istuta puita. Shift vaihtaa istutustilan ja kustannearvion välillä
+STR_SCENEDIT_TOOLBAR_PLANT_TREES :{BLACK}Istuta puita. Shift vaihtaa istutustilan ja kustannusarvion välillä
STR_SCENEDIT_TOOLBAR_PLACE_SIGN :{BLACK}Sijoita kyltti
-STR_SCENEDIT_TOOLBAR_PLACE_OBJECT :{BLACK}Sijoita objekti. Shift vaihtaa rakennustilan ja kustannearvion välillä
+STR_SCENEDIT_TOOLBAR_PLACE_OBJECT :{BLACK}Sijoita objekti. Shift vaihtaa rakennustilan ja kustannusarvion välillä
############ range for SE file menu starts
STR_SCENEDIT_FILE_MENU_SAVE_SCENARIO :Tallenna skenaario
@@ -535,15 +535,15 @@ STR_DAY_NUMBER_31ST :31.
############ range for days ends
############ range for months starts
-STR_MONTH_ABBREV_JAN :01.
-STR_MONTH_ABBREV_FEB :02.
-STR_MONTH_ABBREV_MAR :03.
-STR_MONTH_ABBREV_APR :04.
-STR_MONTH_ABBREV_MAY :05.
-STR_MONTH_ABBREV_JUN :06.
-STR_MONTH_ABBREV_JUL :07.
-STR_MONTH_ABBREV_AUG :08.
-STR_MONTH_ABBREV_SEP :09.
+STR_MONTH_ABBREV_JAN :{NBSP}1.
+STR_MONTH_ABBREV_FEB :{NBSP}2.
+STR_MONTH_ABBREV_MAR :{NBSP}3.
+STR_MONTH_ABBREV_APR :{NBSP}4.
+STR_MONTH_ABBREV_MAY :{NBSP}5.
+STR_MONTH_ABBREV_JUN :{NBSP}6.
+STR_MONTH_ABBREV_JUL :{NBSP}7.
+STR_MONTH_ABBREV_AUG :{NBSP}8.
+STR_MONTH_ABBREV_SEP :{NBSP}9.
STR_MONTH_ABBREV_OCT :10.
STR_MONTH_ABBREV_NOV :11.
STR_MONTH_ABBREV_DEC :12.
@@ -672,13 +672,14 @@ STR_MUSIC_TOOLTIP_TOGGLE_PROGRAM_SHUFFLE :{BLACK}Sekoitta
STR_MUSIC_TOOLTIP_SHOW_MUSIC_TRACK_SELECTION :{BLACK}Näytä musiikkiraitojen valintaikkuna
# Playlist window
+STR_PLAYLIST_MUSIC_SELECTION_SETNAME :{WHITE}Soittolista - '{STRING}'
STR_PLAYLIST_TRACK_NAME :{TINY_FONT}{LTBLUE}{ZEROFILL_NUM} "{STRING}"
STR_PLAYLIST_TRACK_INDEX :{TINY_FONT}{BLACK}Raita
STR_PLAYLIST_PROGRAM :{TINY_FONT}{BLACK}Soittolista - '{STRING}'
STR_PLAYLIST_CLEAR :{TINY_FONT}{BLACK}Tyhjennä
STR_PLAYLIST_TOOLTIP_CLEAR_CURRENT_PROGRAM_CUSTOM1 :{BLACK}Tyhjennä nykyinen soittolista (vain Oma1 tai Oma2)
STR_PLAYLIST_TOOLTIP_CLICK_TO_ADD_TRACK :{BLACK}Valitse musiikkiraita lisätäksesi sen nykyiseen soittolistaan (vain Oma1 tai Oma2).
-STR_PLAYLIST_TOOLTIP_CLICK_TO_REMOVE_TRACK :{BLACK}Klikkaa raitaa poistaaksesi se nykyisestä ohjelmasta (ainoastaan Custom1 tai Custom2)
+STR_PLAYLIST_TOOLTIP_CLICK_TO_REMOVE_TRACK :{BLACK}Poista musiikkiraita nykyseiltä soittolistalta napsauttamalla (ainoastaan Custom1 tai Custom2)
# Highscore window
STR_HIGHSCORE_TOP_COMPANIES_WHO_REACHED :{BIG_FONT}{BLACK}Parhaat yhtiöt, jotka saavuttivat vuoden {NUM}
@@ -713,9 +714,9 @@ STR_SMALLMAP_TOOLTIP_SHOW_LINK_STATS_ON_MAP :{BLACK}Näytä
STR_SMALLMAP_TOOLTIP_SHOW_TRANSPORT_ROUTES_ON :{BLACK}Näytä kuljetusreitit kartalla.
STR_SMALLMAP_TOOLTIP_SHOW_VEGETATION_ON_MAP :{BLACK}Näytä kasvillisuus kartalla.
STR_SMALLMAP_TOOLTIP_SHOW_LAND_OWNERS_ON_MAP :{BLACK}Näytä maanomistajat kartalla.
-STR_SMALLMAP_TOOLTIP_INDUSTRY_SELECTION :{BLACK}Klikkaa teollisuustyyppiä näyttääksesi sen. Ctrl+Klik näyttää valitun tyypin. Ctrl+Klik uudestaan näyttää kaikki teollisuustyypit
-STR_SMALLMAP_TOOLTIP_COMPANY_SELECTION :{BLACK}Klikkaa yhtiötä näyttääksesi sen omaisuuden. Ctrl+Klik näyttää ainoastaan valitun yhtiön. Ctrl+Klik uudestaan näyttää kaikki yhtiöt
-STR_SMALLMAP_TOOLTIP_CARGO_SELECTION :{BLACK}Klikkaa rahtia näyttääksesi tai piilottaaksesi sen. Ctrl+Klik piilottaa kaikki paitsi valitun rahdin. Ctrl+Klik uudelleen palauttaa kaikki rahdit näkyviin
+STR_SMALLMAP_TOOLTIP_INDUSTRY_SELECTION :{BLACK}Napsauta teollisuustyyppiä näyttääksesi sen. Ctrl+Klik näyttää valitun tyypin. Ctrl+Klik uudestaan näyttää kaikki teollisuustyypit
+STR_SMALLMAP_TOOLTIP_COMPANY_SELECTION :{BLACK}Napsauta yhtiötä näyttääksesi sen omaisuuden. Ctrl+Klik näyttää ainoastaan valitun yhtiön. Ctrl+Klik uudestaan näyttää kaikki yhtiöt
+STR_SMALLMAP_TOOLTIP_CARGO_SELECTION :{BLACK}Napsauta rahtia näyttääksesi tai piilottaaksesi sen. Ctrl+Klik piilottaa kaikki paitsi valitun rahdin. Ctrl+Klik uudelleen palauttaa kaikki rahdit näkyviin
STR_SMALLMAP_LEGENDA_ROADS :{TINY_FONT}{BLACK}Tiet
STR_SMALLMAP_LEGENDA_RAILROADS :{TINY_FONT}{BLACK}Rautatiet
@@ -808,7 +809,7 @@ STR_NEWS_COMPANY_BANKRUPT_TITLE :{BIG_FONT}{BLAC
STR_NEWS_COMPANY_BANKRUPT_DESCRIPTION :{BIG_FONT}{BLACK}{STRING} on suljettu velkojien toimesta ja kaikki omaisuus on myyty pois!
STR_NEWS_COMPANY_LAUNCH_TITLE :{BIG_FONT}{BLACK}Uusi kuljetusyhtiö perustettu!
STR_NEWS_COMPANY_LAUNCH_DESCRIPTION :{BIG_FONT}{BLACK}{STRING} aloittaa rakentamisen kaupungin {TOWN} lähistölle!
-STR_NEWS_MERGER_TAKEOVER_TITLE :{BIG_FONT}{BLACK}Yhtiön {STRING} on ottanut haltuun {STRING}!
+STR_NEWS_MERGER_TAKEOVER_TITLE :{BIG_FONT}{BLACK}{1:STRING} on ottanut haltuunsa yhtiön {0:STRING}!
STR_PRESIDENT_NAME_MANAGER :{BLACK}{PRESIDENT_NAME}{}(pääjohtaja)
STR_NEWS_NEW_TOWN :{BLACK}{BIG_FONT}{STRING} rahoitti uuden kaupungin, {TOWN}, rakentamista!
@@ -834,9 +835,9 @@ STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL :{BIG_FONT}{BLAC
STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_FARM :{BIG_FONT}{BLACK}{INDUSTRY}: hyönteisparvet aiheuttavat tuhoa!{}Tuotanto vähenee 50{NBSP}%:lla.
STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_SMOOTH :{BIG_FONT}{BLACK}{1:INDUSTRY} tuottaa {0:STRING} {2:COMMA}{NBSP}% entistä vähemmän!
-STR_NEWS_TRAIN_IS_WAITING :{WHITE}{VEHICLE} odottaa varikolla
+STR_NEWS_TRAIN_IS_WAITING :{WHITE}{VEHICLE} odottaa veturitallilla
STR_NEWS_ROAD_VEHICLE_IS_WAITING :{WHITE}{VEHICLE} odottaa varikolla
-STR_NEWS_SHIP_IS_WAITING :{WHITE}{VEHICLE} odottaa varikolla
+STR_NEWS_SHIP_IS_WAITING :{WHITE}{VEHICLE} odottaa telakalla
STR_NEWS_AIRCRAFT_IS_WAITING :{WHITE}{VEHICLE} odottaa lentokonehallissa
# Order review system / warnings
@@ -868,7 +869,7 @@ STR_NEWS_STATION_NOW_ACCEPTS_CARGO_AND_CARGO :{WHITE}{STATION
STR_NEWS_OFFER_OF_SUBSIDY_EXPIRED :{BIG_FONT}{BLACK}Tuki päättynyt:{}{}{STRING} väli {STRING} - {STRING} ei ole enää tuettu
STR_NEWS_SUBSIDY_WITHDRAWN_SERVICE :{BIG_FONT}{BLACK}Tuki vedetty pois:{}{}{STRING} kuljetuspalvelu välille {STRING}-{STRING} ei ole enää tuettu
-STR_NEWS_SERVICE_SUBSIDY_OFFERED :{BIG_FONT}{BLACK}Tuki tarjottu:{}{}Ensimmäinen {STRING}kuljetus välillä {STRING} - {STRING} saa vuoden mittaisen tuen paikallisviranomaisilta!
+STR_NEWS_SERVICE_SUBSIDY_OFFERED :{BIG_FONT}{BLACK}Tuki tarjottu:{}{}Ensimmäinen {STRING}kuljetus välillä {STRING} – {STRING} saa vuoden mittaisen tuen paikallisviranomaisilta!
STR_NEWS_SERVICE_SUBSIDY_AWARDED_HALF :{BIG_FONT}{BLACK}Tuki myönnetty yhtiölle {STRING}!{}{}{STRING}kuljetus välillä {STRING}-{STRING} tuottaa 50{NBSP}% enemmän seuraavan vuoden ajan!
STR_NEWS_SERVICE_SUBSIDY_AWARDED_DOUBLE :{BIG_FONT}{BLACK}Tuki myönnetty yhtiölle {STRING}!{}{}{STRING}kuljetus välillä {STRING}-{STRING} tuottaa tuplaten seuraavan vuoden ajan!
STR_NEWS_SERVICE_SUBSIDY_AWARDED_TRIPLE :{BIG_FONT}{BLACK}Tuki myönnetty yhtiölle {STRING}!{}{}{STRING}kuljetus välillä {STRING}-{STRING} tuottaa kolminkertaisesti seuraavan vuoden ajan!
@@ -876,7 +877,7 @@ STR_NEWS_SERVICE_SUBSIDY_AWARDED_QUADRUPLE :{BIG_FONT}{BLAC
STR_NEWS_ROAD_REBUILDING :{BIG_FONT}{BLACK}{TOWN}: liikennekaaos!{}{}{STRING} rahoittaa katujen kunnostuksen; autoilijoille odotettavissa kuusi kuukautta kurjuutta!
STR_NEWS_EXCLUSIVE_RIGHTS_TITLE :{BIG_FONT}{BLACK}Kuljetusmonopoli!
-STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION :{BIG_FONT}{BLACK}Kaupungin {TOWN} paikallisviranomaiset allekirjoittavat sopimuksen yhtiön {STRING} kanssa vuoden pituisesta kuljetusyksinoikeudesta!
+STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION :{BIG_FONT}{BLACK}{TOWN} ja {STRING} allekirjoittavat sopimuksen vuoden pituisesta kuljetusyksinoikeudesta!
# Extra view window
STR_EXTRA_VIEW_PORT_TITLE :{WHITE}Näkymä {COMMA}
@@ -895,10 +896,10 @@ STR_GAME_OPTIONS_CURRENCY_GBP :Englannin punta
STR_GAME_OPTIONS_CURRENCY_USD :Yhdysvaltain dollari (USD)
STR_GAME_OPTIONS_CURRENCY_EUR :Euro (EUR)
STR_GAME_OPTIONS_CURRENCY_JPY :Japanin jeni (JPY)
-STR_GAME_OPTIONS_CURRENCY_ATS :Itävallan shillinki (ATS)
+STR_GAME_OPTIONS_CURRENCY_ATS :Itävallan šillinki (ATS)
STR_GAME_OPTIONS_CURRENCY_BEF :Belgian frangi (BEF)
STR_GAME_OPTIONS_CURRENCY_CHF :Sveitsin frangi (CHF)
-STR_GAME_OPTIONS_CURRENCY_CZK :Tsekin koruna (CZK)
+STR_GAME_OPTIONS_CURRENCY_CZK :Tšekin koruna (CZK)
STR_GAME_OPTIONS_CURRENCY_DEM :Saksan markka (DEM)
STR_GAME_OPTIONS_CURRENCY_DKK :Tanskan kruunu (DKK)
STR_GAME_OPTIONS_CURRENCY_ESP :Espanjan peseta (ESP)
@@ -912,7 +913,7 @@ STR_GAME_OPTIONS_CURRENCY_NLG :Hollannin gulde
STR_GAME_OPTIONS_CURRENCY_NOK :Norjan kruunu (NOK)
STR_GAME_OPTIONS_CURRENCY_PLN :Puolan złoty (PLN)
STR_GAME_OPTIONS_CURRENCY_RON :Romanian leu (RON)
-STR_GAME_OPTIONS_CURRENCY_RUR :Venjän rupla (RUR)
+STR_GAME_OPTIONS_CURRENCY_RUR :Venäjän rupla (RUR)
STR_GAME_OPTIONS_CURRENCY_SIT :Slovenian tolari (SIT)
STR_GAME_OPTIONS_CURRENCY_SEK :Ruotsin kruunu (SEK)
STR_GAME_OPTIONS_CURRENCY_TRY :Turkin liira (TRY)
@@ -925,6 +926,7 @@ STR_GAME_OPTIONS_CURRENCY_ZAR :Etelä-Afrikan
STR_GAME_OPTIONS_CURRENCY_CUSTOM :Oma...
STR_GAME_OPTIONS_CURRENCY_GEL :Georgian lari (GEL)
STR_GAME_OPTIONS_CURRENCY_IRR :Iranin rial (IRR)
+STR_GAME_OPTIONS_CURRENCY_RUB :Uusi Venäjän rupla (RUB)
############ end of currency region
STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}Kulkuneuvot
@@ -951,7 +953,7 @@ STR_GAME_OPTIONS_TOWN_NAME_NORWEGIAN :Norjalainen
STR_GAME_OPTIONS_TOWN_NAME_HUNGARIAN :Unkarilainen
STR_GAME_OPTIONS_TOWN_NAME_AUSTRIAN :Itävaltalainen
STR_GAME_OPTIONS_TOWN_NAME_ROMANIAN :Romanialainen
-STR_GAME_OPTIONS_TOWN_NAME_CZECH :Tsekkiläinen
+STR_GAME_OPTIONS_TOWN_NAME_CZECH :Tšekkiläinen
STR_GAME_OPTIONS_TOWN_NAME_SWISS :Sveitsiläinen
STR_GAME_OPTIONS_TOWN_NAME_DANISH :Tanskalainen
STR_GAME_OPTIONS_TOWN_NAME_TURKISH :Turkkilainen
@@ -1280,9 +1282,9 @@ STR_CONFIG_SETTING_ERRMSG_DURATION :Virheilmoituste
STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT :Aika virheilmoitusten näyttämiseen punaisessa ikkunassa. Huomaa, että jotkut (kriittiset) virheilmoitukset eivät sulkeudu automaattisesti tämän ajan jälkeen, vaan ne on suljettava käsin
STR_CONFIG_SETTING_ERRMSG_DURATION_VALUE :{COMMA} sekunti{P 0 "" a}
STR_CONFIG_SETTING_HOVER_DELAY :Näytä työkaluvihjeet: {STRING}
-STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Viive ennen työkaluvihjeen näyttämistä, kun hiiren kursoria pidetään käyttöliittymäelementin päällä. Vaihtoehtoisesti työkaluvihjeen saa myös näkymiin painamalla hiiren oikeaa näppäintä jos arvoksi on määritetty 0.
+STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT :Viive ennen työkaluvihjeen näyttämistä, kun hiiren kursoria pidetään käyttöliittymäelementin päällä. Vaihtoehtoisesti työkaluvihjeen saa myös näkymiin painamalla hiiren oikeata painiketta, kun arvoksi on määritetty 0.
STR_CONFIG_SETTING_HOVER_DELAY_VALUE :Pidä hiirtä päällä {COMMA} millisekunti{P 0 "" a}
-STR_CONFIG_SETTING_HOVER_DELAY_DISABLED :Hiiren oikea näppäin
+STR_CONFIG_SETTING_HOVER_DELAY_DISABLED :Hiiren oikea painike
STR_CONFIG_SETTING_POPULATION_IN_LABEL :Näytä kaupungin asukasluku kaupungin nimessä: {STRING}
STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :Näytä kaupunkien asukasluku kartalla
STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Viivojen paksuus kuvaajissa: {STRING}
@@ -1337,7 +1339,9 @@ STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_HELPTEXT :Maaston väri k
STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_GREEN :Vihreä
STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_DARK_GREEN :Tummanvihreä
STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_VIOLET :Violetti
+STR_CONFIG_SETTING_SCROLLMODE :Näkymän vieritystapa: {STRING}
STR_CONFIG_SETTING_SCROLLMODE_HELPTEXT :Toiminta karttaa vieritettäessä
+STR_CONFIG_SETTING_SCROLLMODE_DEFAULT :Siirrä näkymää hiiren oikealla painikkeella, hiiren sijainti lukiten
STR_CONFIG_SETTING_SCROLLMODE_RMB_LOCKED :Siirrä karttaa hiiren oikealla painikkeella, hiiren sijainti lukiten
STR_CONFIG_SETTING_SCROLLMODE_RMB :Siirrä karttaa hiiren oikealla painikkeella
STR_CONFIG_SETTING_SCROLLMODE_LMB :Siirrä karttaa hiiren vasemmalla painikkeella
@@ -1362,12 +1366,12 @@ STR_CONFIG_SETTING_SCROLLWHEEL_MULTIPLIER_HELPTEXT :Määritä hiir
STR_CONFIG_SETTING_OSK_ACTIVATION :Virtuaalinäppäimistö: {STRING}
STR_CONFIG_SETTING_OSK_ACTIVATION_HELPTEXT :Valitse tapa, jolla virtuaalinäppäimistö avataan syötettäessä tekstiä kun käytössä on ainoastaan osoitinlaite. Tämä on tarkoitettu pienille laitteille, joissa ei ole fyysistä näppäimistöä
STR_CONFIG_SETTING_OSK_ACTIVATION_DISABLED :Pois käytöstä
-STR_CONFIG_SETTING_OSK_ACTIVATION_DOUBLE_CLICK :Tuplaklikkaus
-STR_CONFIG_SETTING_OSK_ACTIVATION_SINGLE_CLICK_FOCUS :Yksi klikkaus (kun kohdistettuna)
-STR_CONFIG_SETTING_OSK_ACTIVATION_SINGLE_CLICK :Yksi klikkaus (välittömästi)
+STR_CONFIG_SETTING_OSK_ACTIVATION_DOUBLE_CLICK :Kaksoisnapsautus
+STR_CONFIG_SETTING_OSK_ACTIVATION_SINGLE_CLICK_FOCUS :Yksi napsautus (kun kohdistettuna)
+STR_CONFIG_SETTING_OSK_ACTIVATION_SINGLE_CLICK :Yksi napsautus (välitön)
STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU :Oikean painikkeen emulointi: {STRING}
-STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_HELPTEXT :Määritä kuinka hiiren oikean näppäimen painalluksia emuloidaan
+STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_HELPTEXT :Valitse, miten hiiren oikean painikkeen painalluksia emuloidaan
STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_COMMAND :Command
STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_CONTROL :Ctrl+Klik
STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_OFF :Pois
@@ -1386,9 +1390,9 @@ STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_ISO :ISO (2008-12-31
STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME :Uusi peli alkaa pysäytettynä: {STRING}
STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME_HELPTEXT :Mikäli käytössä, peli pysäytetään automaattisesti uuden pelin alussa, mahdollistaen esimerkiksi kartan tarkemman tutkimisen
-STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL :Pelin ollessa pysäytetty, salli: {STRING}
+STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL :Salli pelin ollessa pysäytettynä: {STRING}
STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_HELPTEXT :Valitse käytössä olevat toiminnot pelin ollessa pysäytettynä
-STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_NO_ACTIONS :Ei mitkään toiminnot
+STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_NO_ACTIONS :Ei mitään toimintoja
STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_CONSTRUCTION :Kaikki ei-rakennustoiminnot
STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_LANDSCAPING :Kaikki paitsi maastonmuokkaustoiminnot
STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_ACTIONS :Kaikki toiminnot
@@ -1396,8 +1400,8 @@ STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS :Käytä ryhmiä
STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS_HELPTEXT :Salli kehittyneiden kulkuneuvolistojen käyttö kulkuneuvojen ryhmittelyssä
STR_CONFIG_SETTING_LOADING_INDICATORS :Lastausilmaisimet: {STRING}
STR_CONFIG_SETTING_LOADING_INDICATORS_HELPTEXT :Määritä näytetäänkö lastausilmaisimet kulkuneuvojen yläpuolella lastatessa ja purettaessa rahtia
-STR_CONFIG_SETTING_TIMETABLE_IN_TICKS :Näytä aikataulu tickseissä päivien sijaan: {STRING}
-STR_CONFIG_SETTING_TIMETABLE_IN_TICKS_HELPTEXT :Näytä aikataulun ajat päivien sijasta tickeinä
+STR_CONFIG_SETTING_TIMETABLE_IN_TICKS :Näytä aikataulu askelina päivien sijaan: {STRING}
+STR_CONFIG_SETTING_TIMETABLE_IN_TICKS_HELPTEXT :Näytä aikataulun ajat päivien sijasta askelina
STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE :Näytä saapuminen ja lähtö aikatauluissa: {STRING}
STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE_HELPTEXT :Näytä odotetut saapumis- ja lähtemisajat aikatauluissa
STR_CONFIG_SETTING_QUICKGOTO :Nopea kulkuneuvon käskyjen luominen: {STRING}
@@ -1422,8 +1426,8 @@ STR_CONFIG_SETTING_SOUND_NEW_YEAR :Vuoden loppu: {
STR_CONFIG_SETTING_SOUND_NEW_YEAR_HELPTEXT :Toista ääni vuoden lopussa verrattaessa yhtiön tulosta edelliseen vuoteen
STR_CONFIG_SETTING_SOUND_CONFIRM :Rakentaminen: {STRING}
STR_CONFIG_SETTING_SOUND_CONFIRM_HELPTEXT :Toista ääni onnistuneen rakennus- tai muun toiminnon jälkeen
-STR_CONFIG_SETTING_SOUND_CLICK :Painikkeiden klikkaus: {STRING}
-STR_CONFIG_SETTING_SOUND_CLICK_HELPTEXT :Piippaa klikattaessa painikkeita
+STR_CONFIG_SETTING_SOUND_CLICK :Painikkeiden napsautus: {STRING}
+STR_CONFIG_SETTING_SOUND_CLICK_HELPTEXT :Piippaa painikkeita napsauttaessa
STR_CONFIG_SETTING_SOUND_DISASTER :Vahingot/onnettomuudet: {STRING}
STR_CONFIG_SETTING_SOUND_DISASTER_HELPTEXT :Toista vahinkojen ja onnettomuuksien äänet
STR_CONFIG_SETTING_SOUND_VEHICLE :Ajoneuvot: {STRING}
@@ -1549,8 +1553,8 @@ STR_CONFIG_SETTING_TOWN_LAYOUT :Uusissa kaupung
STR_CONFIG_SETTING_TOWN_LAYOUT_HELPTEXT :Kaupunkien käyttämä tieverkon kaava
STR_CONFIG_SETTING_TOWN_LAYOUT_DEFAULT :Alkuperäinen
STR_CONFIG_SETTING_TOWN_LAYOUT_BETTER_ROADS :Parempia teitä
-STR_CONFIG_SETTING_TOWN_LAYOUT_2X2_GRID :2x2-ruudukko
-STR_CONFIG_SETTING_TOWN_LAYOUT_3X3_GRID :3x3-ruudukko
+STR_CONFIG_SETTING_TOWN_LAYOUT_2X2_GRID :2×2-ruudukko
+STR_CONFIG_SETTING_TOWN_LAYOUT_3X3_GRID :3×3-ruudukko
STR_CONFIG_SETTING_TOWN_LAYOUT_RANDOM :Satunnainen
STR_CONFIG_SETTING_ALLOW_TOWN_ROADS :Kaupungit saavat rakentaa teitä: {STRING}
STR_CONFIG_SETTING_ALLOW_TOWN_ROADS_HELPTEXT :Salli kaupunkien rakentaa teitä kasvaessaan. Mikäli pois käytöstä, kaupungit eivät voi rakentaa teitä itse
@@ -1571,9 +1575,9 @@ STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_RAINFOREST :Vain sademetsii
STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_ALL :Kaikkialle
STR_CONFIG_SETTING_TOOLBAR_POS :Päätyökalupalkin sijainti: {STRING}
-STR_CONFIG_SETTING_TOOLBAR_POS_HELPTEXT :Ruudun yläreunassa olevan työkalupalkin sijainti leveyssuunnassa
+STR_CONFIG_SETTING_TOOLBAR_POS_HELPTEXT :Ruudun yläreunassa olevan työkalupalkin sijainti vaakasuunnassa
STR_CONFIG_SETTING_STATUSBAR_POS :Tilarivin sijainti: {STRING}
-STR_CONFIG_SETTING_STATUSBAR_POS_HELPTEXT :Ruudun alareunassa olevan tilapalkin sijanti leveyssuunnassa
+STR_CONFIG_SETTING_STATUSBAR_POS_HELPTEXT :Ruudun alareunassa olevan tilapalkin sijanti vaakasuunnassa
STR_CONFIG_SETTING_SNAP_RADIUS :Ikkunoiden kiinnittymisetäisyys: {STRING}
STR_CONFIG_SETTING_SNAP_RADIUS_HELPTEXT :Ikkunoiden välinen etäisyys ennen niiden kohdistamista toistensa kanssa
STR_CONFIG_SETTING_SNAP_RADIUS_VALUE :{COMMA} pikseli{P 0 "" ä}
@@ -1785,7 +1789,7 @@ STR_OSNAME_OS2 :OS/2
STR_OSNAME_SUNOS :SunOS
# Abandon game
-STR_ABANDON_GAME_CAPTION :{WHITE}Lopeta peli
+STR_ABANDON_GAME_CAPTION :{WHITE}Pelin lopetus
STR_ABANDON_GAME_QUERY :{YELLOW}Lopetetaanko peli?
STR_ABANDON_SCENARIO_QUERY :{YELLOW}Lopetetaanko skenaario?
@@ -1988,7 +1992,7 @@ STR_NETWORK_LANG_ANY :mikä tahansa
STR_NETWORK_LANG_ENGLISH :englanti
STR_NETWORK_LANG_GERMAN :saksa
STR_NETWORK_LANG_FRENCH :ranska
-STR_NETWORK_LANG_BRAZILIAN :brasilia
+STR_NETWORK_LANG_BRAZILIAN :brasilianportugali
STR_NETWORK_LANG_BULGARIAN :bulgaria
STR_NETWORK_LANG_CHINESE :kiina
STR_NETWORK_LANG_CZECH :tšekki
@@ -2015,7 +2019,7 @@ STR_NETWORK_LANG_TURKISH :turkki
STR_NETWORK_LANG_UKRAINIAN :ukraina
STR_NETWORK_LANG_AFRIKAANS :afrikaans
STR_NETWORK_LANG_CROATIAN :kroatia
-STR_NETWORK_LANG_CATALAN :katalan
+STR_NETWORK_LANG_CATALAN :katalaani
STR_NETWORK_LANG_ESTONIAN :viro
STR_NETWORK_LANG_GALICIAN :galego
STR_NETWORK_LANG_GREEK :kreikka
@@ -2188,7 +2192,7 @@ STR_NETWORK_MESSAGE_CLIENT_COMPANY_NEW :*** {STRING} on
STR_NETWORK_MESSAGE_CLIENT_LEFT :*** {STRING} on poistunut pelistä ({2:STRING})
STR_NETWORK_MESSAGE_NAME_CHANGE :*** {STRING} on muuttanut nimekseen {STRING}
STR_NETWORK_MESSAGE_GIVE_MONEY :*** {STRING} antoi yhtiöllesi {2:CURRENCY_LONG}
-STR_NETWORK_MESSAGE_GAVE_MONEY_AWAY :*** Annoit henkilölle {1:STRING} {2:CURRENCY_LONG}
+STR_NETWORK_MESSAGE_GAVE_MONEY_AWAY :*** Annoit yhtiölle {1:STRING} {2:CURRENCY_LONG}
STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}Palvelin sulki istunnon
STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}Palvelin käynnistyy uudelleen...{}Odota, ole hyvä...
@@ -2198,7 +2202,7 @@ STR_CONTENT_TYPE_CAPTION :{BLACK}Tyyppi
STR_CONTENT_TYPE_CAPTION_TOOLTIP :{BLACK}Sisällön tyyppi
STR_CONTENT_NAME_CAPTION :{BLACK}Nimi
STR_CONTENT_NAME_CAPTION_TOOLTIP :{BLACK}Sisällön nimi
-STR_CONTENT_MATRIX_TOOLTIP :{BLACK}Klikkaa kohtaa nähdäkesi lisätiedot{}Klikkaa valintaruutua valitaksesi sen ladattavaksi
+STR_CONTENT_MATRIX_TOOLTIP :{BLACK}Katso lisätiedot napsauttamalla riviä{}Valitse ladattavaksi valintaruutua napsauttamalla
STR_CONTENT_SELECT_ALL_CAPTION :{BLACK}Valitse kaikki
STR_CONTENT_SELECT_ALL_CAPTION_TOOLTIP :{BLACK}Merkitse kaikki sisältö ladattavaksi
STR_CONTENT_SELECT_UPDATES_CAPTION :{BLACK}Valitse päivitykset
@@ -2312,16 +2316,16 @@ STR_RAIL_TOOLBAR_ELRAIL_CONSTRUCTION_CAPTION :Sähköradan ra
STR_RAIL_TOOLBAR_MONORAIL_CONSTRUCTION_CAPTION :Yksiraiteisen rakentaminen
STR_RAIL_TOOLBAR_MAGLEV_CONSTRUCTION_CAPTION :Maglevin rakentaminen
-STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}Rakenna rautateitä. Ctrl vaihtaa rakennus/poistotilan välillä. Shift vaihtaa rakennustilan ja kustannearvion välillä
-STR_RAIL_TOOLBAR_TOOLTIP_BUILD_AUTORAIL :{BLACK}Rakenna rautatiet käyttäen Autorail-tilaa. Ctrl vaihtaa rakennus/poistotilan välillä. Shift vaihtaa rakennustilan ja kustannearvion välillä
-STR_RAIL_TOOLBAR_TOOLTIP_BUILD_TRAIN_DEPOT_FOR_BUILDING :{BLACK}Rakenna veturitalli (junien ostamista ja huoltoa varten). Shift vaihtaa rakennustilan ja kustannearvion välillä
-STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL_TO_WAYPOINT :{BLACK}Muunna raide reittipisteeksi. Ctrl liittää reittipisteet. Shift vaihtaa muuntotilan ja kustannearvion välillä
-STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_STATION :{BLACK}Rakenna rautatieasema. Ctrl liittää asemat. Shift vaihtaa rakennustilan ja kustannearvion välillä
-STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}Rakenna opastimia. Ctrl vaihtaa joko siipiopastimet tai valo-opastimet{}Vetäminen rakentaa opastimia suoralle rautatielle. Ctrl rakentaa opastimia seuraavaan risteykseen saakka{}Ctrl+Click avaa opastimenvalintaikkunan. Shift vaihtaa rakennustilan ja kustannearvion välillä
-STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_BRIDGE :{BLACK}Rakenna rautatiesilta. Shift vaihtaa rakennustilan ja kustannearvion välillä
-STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TUNNEL :{BLACK}Rakenna rautatietunneli. Shift vaihtaa rakennustilan ja kustannearvion välillä
+STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}Rakenna rautateitä. Ctrl vaihtaa rakennus-/poistotilan välillä. Shift vaihtaa rakennustilan ja kustannusarvion välillä
+STR_RAIL_TOOLBAR_TOOLTIP_BUILD_AUTORAIL :{BLACK}Rakenna rautatietä automaattisesti valittuun suuntaan. Ctrl vaihtaa rakennus-/poistotilan välillä. Shift vaihtaa rakennustilan ja kustannusarvion välillä
+STR_RAIL_TOOLBAR_TOOLTIP_BUILD_TRAIN_DEPOT_FOR_BUILDING :{BLACK}Rakenna veturitalli (junien ostamista ja huoltoa varten). Shift vaihtaa rakennustilan ja kustannusarvion välillä
+STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL_TO_WAYPOINT :{BLACK}Muunna raide reittipisteeksi. Ctrl liittää reittipisteet. Shift vaihtaa muuntotilan ja kustannusarvion välillä
+STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_STATION :{BLACK}Rakenna rautatieasema. Ctrl liittää asemat. Shift vaihtaa rakennustilan ja kustannusarvion välillä
+STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}Rakenna opastimia. Ctrl vaihtaa joko siipiopastimet tai valo-opastimet{}Vetäminen rakentaa opastimia suoralle rautatielle. Ctrl rakentaa opastimia seuraavaan risteykseen saakka{}Ctrl+Click avaa opastimenvalintaikkunan. Shift vaihtaa rakennustilan ja kustannusarvion välillä
+STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_BRIDGE :{BLACK}Rakenna rautatiesilta. Shift vaihtaa rakennustilan ja kustannusarvion välillä
+STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TUNNEL :{BLACK}Rakenna rautatietunneli. Shift vaihtaa rakennustilan ja kustannusarvion välillä
STR_RAIL_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR :{BLACK}Rautatien, opastimien, reittipisteiden ja asemien rakentaminen/poisto päälle/pois. Pidä pohjassa Ctrl-näppäintä poistaaksesi myös aseman tai reittipisteen alla olevat raiteet.
-STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL :{BLACK}Muunna/päivitä raidetyyppi. Shift vaihtaa muuntotilan ja kustannearvion välillä
+STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL :{BLACK}Muunna/päivitä raidetyyppi. Shift vaihtaa muuntotilan ja kustannusarvion välillä
STR_RAIL_NAME_RAILROAD :Rautatie
STR_RAIL_NAME_ELRAIL :Sähköistetty rautatie
@@ -2367,7 +2371,7 @@ STR_BUILD_SIGNAL_ELECTRIC_EXIT_TOOLTIP :{BLACK}Poistumi
STR_BUILD_SIGNAL_ELECTRIC_COMBO_TOOLTIP :{BLACK}Yhdistelmäopastin (valo-opastin){}Yhdistelmäopastin toimii yhtä aikaa tulo- ja poistumisopastimena. Tämän avulla on mahdollista luoda suuria "opastinpuita"
STR_BUILD_SIGNAL_ELECTRIC_PBS_TOOLTIP :{BLACK}Reittiopastin (valo-opastin){}Reittiopastin varmistaa junille turvallisen reitin ja siten mahdollistaa useampien junien yhtäaikaisen liikenteen moniraiteisissa risteyksissä. Tavalliset reittiopastimet voi ohittaa takakautta
STR_BUILD_SIGNAL_ELECTRIC_PBS_OWAY_TOOLTIP :{BLACK}Yksisuuntainen reittiopastin (valo-opastin){}Reittiopastin varmistaa junille turvallisen reitin ja siten mahdollistaa useampien junien yhtäaikaisen liikenteen moniraiteisissa risteyksissä. Yksisuuntaisia opastimia ei voi ohittaa takakautta
-STR_BUILD_SIGNAL_CONVERT_TOOLTIP :{BLACK}Opastinten muuntaminen{}Kun tämä on valittu, olemassaolevan opastimen klikkaaminen muuntaa siitä valituntyyppisen ja -muotoisen. Ctrl+Klik vaihtaa nykyistä opastimen muotoa. Shift+Klik näyttää muuntamisen kustannearvion
+STR_BUILD_SIGNAL_CONVERT_TOOLTIP :{BLACK}Opastinten muuntaminen{}Kun tämä on valittu, olemassaolevan opastimen napsauttaminen muuntaa siitä valituntyyppisen ja -muotoisen. Ctrl+Klik vaihtaa nykyistä opastimen muotoa. Shift+Klik näyttää muuntamisen kustannusarvion
STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_TOOLTIP :{BLACK}Opastimien väli vetämällä lisättäessä
STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_DECREASE_TOOLTIP :{BLACK}Pienennä opastimien väliä vetämällä lisättäessä
STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_INCREASE_TOOLTIP :{BLACK}Suurenna opastimien väliä vetämällä lisättäessä
@@ -2391,29 +2395,29 @@ STR_BRIDGE_TUBULAR_SILICON :Putkirakenne, p
# Road construction toolbar
STR_ROAD_TOOLBAR_ROAD_CONSTRUCTION_CAPTION :{WHITE}Tien rakentaminen
STR_ROAD_TOOLBAR_TRAM_CONSTRUCTION_CAPTION :{WHITE}Raitiotien rakentaminen
-STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_SECTION :{BLACK}Rakenna tieosuus. Ctrl vaihtaa rakennus/poistotilan välillä. Shift vaihtaa rakennustilan ja kustannearvion välillä
-STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_SECTION :{BLACK}Rakenna raitiotietä. Ctrl vaihtaa rakennus/poistotilan välillä. Shift vaihtaa rakennustilan ja kustannearvion välillä
-STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOROAD :{BLACK}Rakenna tieosuus käyttäen Autoroad-tilaa. Ctrl vaihtaa rakennus/poistotilan välillä. Shift vaihtaa rakennustilan ja kustannearvion välillä
-STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOTRAM :{BLACK}Rakenna raitiotieosuus käyttäen Autotram-tilaa. Ctrl vaihtaa rakennus/poistotilan välillä. Shift vaihtaa rakennustilan ja kustannearvion välillä
-STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_VEHICLE_DEPOT :{BLACK}Rakenna autovarikko (ajoneuvojen ostamista ja huoltoa varten). Shift vaihtaa rakennustilan ja kustannearvion välillä
-STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAM_VEHICLE_DEPOT :{BLACK}Rakenna raitiotievarikko (vaunujen ostamiseen ja korjaamiseen). Shift vaihtaa rakennustilan ja kustannearvion välillä
-STR_ROAD_TOOLBAR_TOOLTIP_BUILD_BUS_STATION :{BLACK}Rakenna linja-autoasema. Ctrl liittää asemat. Shift vaihtaa rakennustilan ja kustannearvion välillä
-STR_ROAD_TOOLBAR_TOOLTIP_BUILD_PASSENGER_TRAM_STATION :{BLACK}Rakenna matkustaja-asema. Ctrl liittää asemat. Shift vaihtaa rakennustilan ja kustannearvion välillä
-STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRUCK_LOADING_BAY :{BLACK}Rakenna lastauslaituri. Ctrl liittää asemat. Shift vaihtaa rakennustilan ja kustannearvion välillä
-STR_ROAD_TOOLBAR_TOOLTIP_BUILD_CARGO_TRAM_STATION :{BLACK}Rakenna rahtiasema. Ctrl liittää asemat. Shift vaihtaa rakennustilan ja kustannearvion välillä
+STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_SECTION :{BLACK}Rakenna tieosuus. Ctrl vaihtaa rakennus-/poistotilan välillä. Shift vaihtaa rakennustilan ja kustannusarvion välillä
+STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_SECTION :{BLACK}Rakenna raitiotietä. Ctrl vaihtaa rakennus-/poistotilan välillä. Shift vaihtaa rakennustilan ja kustannusarvion välillä
+STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOROAD :{BLACK}Rakenna tieosuus automaattisesti valittuun suuntaan. Ctrl vaihtaa rakennus-/poistotilan välillä. Shift vaihtaa rakennustilan ja kustannusarvion välillä
+STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOTRAM :{BLACK}Rakenna raitiotieosuus automaattisesti valittuun suuntaan. Ctrl vaihtaa rakennus-/poistotilan välillä. Shift vaihtaa rakennustilan ja kustannusarvion välillä
+STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_VEHICLE_DEPOT :{BLACK}Rakenna autovarikko (ajoneuvojen ostamista ja huoltoa varten). Shift vaihtaa rakennustilan ja kustannusarvion välillä
+STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAM_VEHICLE_DEPOT :{BLACK}Rakenna raitiotievarikko (vaunujen ostamiseen ja korjaamiseen). Shift vaihtaa rakennustilan ja kustannusarvion välillä
+STR_ROAD_TOOLBAR_TOOLTIP_BUILD_BUS_STATION :{BLACK}Rakenna linja-autoasema. Ctrl liittää asemat. Shift vaihtaa rakennustilan ja kustannusarvion välillä
+STR_ROAD_TOOLBAR_TOOLTIP_BUILD_PASSENGER_TRAM_STATION :{BLACK}Rakenna raitiotien matkustaja-asema. Ctrl liittää asemat. Shift vaihtaa rakennustilan ja kustannusarvion välillä
+STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRUCK_LOADING_BAY :{BLACK}Rakenna lastauslaituri. Ctrl liittää asemat. Shift vaihtaa rakennustilan ja kustannusarvion välillä
+STR_ROAD_TOOLBAR_TOOLTIP_BUILD_CARGO_TRAM_STATION :{BLACK}Rakenna raitiotien rahtiasema. Ctrl liittää asemat. Shift vaihtaa rakennustilan ja kustannusarvion välillä
STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_ONE_WAY_ROAD :{BLACK}Ota yksisuuntaiset tiet käyttöön/pois käytöstä
-STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_BRIDGE :{BLACK}Rakenna maantiesilta. Shift vaihtaa rakennustilan ja kustannearvion välillä
-STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_BRIDGE :{BLACK}Rakenna raitiotiesilta. Shift vaihtaa rakennustilan ja kustannearvion välillä
-STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_TUNNEL :{BLACK}Rakenna maantietunneli. Shift vaihtaa rakennustilan ja kustannearvion välillä
-STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_TUNNEL :{BLACK}Rakenna raitiotietunneli. Shift vaihtaa rakennustilan ja kustannearvion välillä
+STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_BRIDGE :{BLACK}Rakenna maantiesilta. Shift vaihtaa rakennustilan ja kustannusarvion välillä
+STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_BRIDGE :{BLACK}Rakenna raitiotiesilta. Shift vaihtaa rakennustilan ja kustannusarvion välillä
+STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_TUNNEL :{BLACK}Rakenna maantietunneli. Shift vaihtaa rakennustilan ja kustannusarvion välillä
+STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_TUNNEL :{BLACK}Rakenna raitiotietunneli. Shift vaihtaa rakennustilan ja kustannusarvion välillä
STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_ROAD :{BLACK}Tien rakentaminen/siirtäminen päälle/pois
STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_TRAMWAYS :{BLACK}Vaihda raitiotien rakentamisen ja purkamisen välillä
# Road depot construction window
STR_BUILD_DEPOT_ROAD_ORIENTATION_CAPTION :{WHITE}Autovarikon suunta
STR_BUILD_DEPOT_ROAD_ORIENTATION_SELECT_TOOLTIP :{BLACK}Valitse autovarikon suunta.
-STR_BUILD_DEPOT_TRAM_ORIENTATION_CAPTION :{WHITE}Varikon suunta
-STR_BUILD_DEPOT_TRAM_ORIENTATION_SELECT_TOOLTIP :{BLACK}Valitse varikon suunta
+STR_BUILD_DEPOT_TRAM_ORIENTATION_CAPTION :{WHITE}Raitiotievarikon suunta
+STR_BUILD_DEPOT_TRAM_ORIENTATION_SELECT_TOOLTIP :{BLACK}Valitse raitiotievarikon suunta
# Road vehicle station construction window
STR_STATION_BUILD_BUS_ORIENTATION :{WHITE}Linja-autoaseman suunta
@@ -2428,12 +2432,12 @@ STR_STATION_BUILD_CARGO_TRAM_ORIENTATION_TOOLTIP :{BLACK}Valitse
# Waterways toolbar (last two for SE only)
STR_WATERWAYS_TOOLBAR_CAPTION :{WHITE}Vesireittien rakentaminen
STR_WATERWAYS_TOOLBAR_CAPTION_SE :{WHITE}Vesireitit
-STR_WATERWAYS_TOOLBAR_BUILD_CANALS_TOOLTIP :{BLACK}Rakenna kanavia. Shift vaihtaa rakennustilan ja kustannearvion välillä
-STR_WATERWAYS_TOOLBAR_BUILD_LOCKS_TOOLTIP :{BLACK}Rakenna sulku. Shift vaihtaa rakennustilan ja kustannearvion välillä
-STR_WATERWAYS_TOOLBAR_BUILD_DEPOT_TOOLTIP :{BLACK}Rakenna telakka (laivojen ostamista ja huoltamista varten). Shift vaihtaa rakennustilan ja kustannearvion välillä
-STR_WATERWAYS_TOOLBAR_BUILD_DOCK_TOOLTIP :{BLACK}Rakenna satama. Ctrl liittää asemat. Shift vaihtaa rakennustilan ja kustannearvion välillä
-STR_WATERWAYS_TOOLBAR_BUOY_TOOLTIP :{BLACK}Sijoita poiju: voidaan käyttää reittipisteenä. Shift vaihtaa rakennustilan ja kustannearvion välillä
-STR_WATERWAYS_TOOLBAR_BUILD_AQUEDUCT_TOOLTIP :{BLACK}Rakenna akvedukti. Shift vaihtaa rakennustilan ja kustannearvion välillä
+STR_WATERWAYS_TOOLBAR_BUILD_CANALS_TOOLTIP :{BLACK}Rakenna kanavia. Shift vaihtaa rakennustilan ja kustannusarvion välillä
+STR_WATERWAYS_TOOLBAR_BUILD_LOCKS_TOOLTIP :{BLACK}Rakenna sulku. Shift vaihtaa rakennustilan ja kustannusarvion välillä
+STR_WATERWAYS_TOOLBAR_BUILD_DEPOT_TOOLTIP :{BLACK}Rakenna telakka (laivojen ostamista ja huoltamista varten). Shift vaihtaa rakennustilan ja kustannusarvion välillä
+STR_WATERWAYS_TOOLBAR_BUILD_DOCK_TOOLTIP :{BLACK}Rakenna satama. Ctrl liittää asemat. Shift vaihtaa rakennustilan ja kustannusarvion välillä
+STR_WATERWAYS_TOOLBAR_BUOY_TOOLTIP :{BLACK}Sijoita poiju, jota voi käyttää reittipisteenä. Shift vaihtaa rakennustilan ja kustannusarvion välillä
+STR_WATERWAYS_TOOLBAR_BUILD_AQUEDUCT_TOOLTIP :{BLACK}Rakenna akvedukti. Shift vaihtaa rakennustilan ja kustannusarvion välillä
STR_WATERWAYS_TOOLBAR_CREATE_LAKE_TOOLTIP :{BLACK}Määrittele vesialue.{}Tee kanava, paitsi jos Ctrl on painettuna merenpinnalla. Tällöin meri laajenee ympäristöön.
STR_WATERWAYS_TOOLBAR_CREATE_RIVER_TOOLTIP :{BLACK}Sijoita jokia
@@ -2446,7 +2450,7 @@ STR_STATION_BUILD_DOCK_CAPTION :{WHITE}Satama
# Airport toolbar
STR_TOOLBAR_AIRCRAFT_CAPTION :{WHITE}Lentokentät
-STR_TOOLBAR_AIRCRAFT_BUILD_AIRPORT_TOOLTIP :{BLACK}Rakenna lentokenttä. Ctrl liittää asemat. Shift vaihtaa rakennustilan ja kustannearvion välillä
+STR_TOOLBAR_AIRCRAFT_BUILD_AIRPORT_TOOLTIP :{BLACK}Rakenna lentokenttä. Ctrl liittää asemat. Shift vaihtaa rakennustilan ja kustannusarvion välillä
# Airport construction window
STR_STATION_BUILD_AIRPORT_CAPTION :{WHITE}Lentokentän valinta
@@ -2473,17 +2477,17 @@ STR_STATION_BUILD_NOISE :{BLACK}Aiheutet
# Landscaping toolbar
STR_LANDSCAPING_TOOLBAR :{WHITE}Maastonmuokkaus
-STR_LANDSCAPING_TOOLTIP_LOWER_A_CORNER_OF_LAND :{BLACK}Laske ruudun kulmaa. Vetäminen laskee ensimmäistä valittua kulmaa ja tasoittaa valitun alueen kulman korkeudelle. Ctrl valitsee alueen vinottain. Shift vaihtaa muokkaustilan ja kustannearvion välillä
-STR_LANDSCAPING_TOOLTIP_RAISE_A_CORNER_OF_LAND :{BLACK}Nosta ruudun kulmaa. Vetäminen nostaa ensimmäistä valittua kulmaa ja tasoittaa valitun alueen kulman korkeudelle. Ctrl valitsee alueen vinottain. Shift vaihtaa muokkaustilan ja kustannearvion välillä
-STR_LANDSCAPING_LEVEL_LAND_TOOLTIP :{BLACK}Tasoita maata ensimmäisen valitun kulman korkeudelle. Ctrl valitsee alueen vinottain. Shift vaihtaa muokkaustilan ja kustannearvion välillä
-STR_LANDSCAPING_TOOLTIP_PURCHASE_LAND :{BLACK}Osta maata tulevaa käyttöä varten. Shift vaihtaa ostotilan ja kustannearvion välillä
+STR_LANDSCAPING_TOOLTIP_LOWER_A_CORNER_OF_LAND :{BLACK}Laske ruudun kulmaa. Vetäminen laskee ensimmäistä valittua kulmaa ja tasoittaa valitun alueen kulman korkeudelle. Ctrl valitsee alueen vinottain. Shift vaihtaa muokkaustilan ja kustannusarvion välillä
+STR_LANDSCAPING_TOOLTIP_RAISE_A_CORNER_OF_LAND :{BLACK}Nosta ruudun kulmaa. Vetäminen nostaa ensimmäistä valittua kulmaa ja tasoittaa valitun alueen kulman korkeudelle. Ctrl valitsee alueen vinottain. Shift vaihtaa muokkaustilan ja kustannusarvion välillä
+STR_LANDSCAPING_LEVEL_LAND_TOOLTIP :{BLACK}Tasoita maata ensimmäisen valitun kulman korkeudelle. Ctrl valitsee alueen vinottain. Shift vaihtaa muokkaustilan ja kustannusarvion välillä
+STR_LANDSCAPING_TOOLTIP_PURCHASE_LAND :{BLACK}Osta maata tulevaa käyttöä varten. Shift vaihtaa ostotilan ja kustannusarvion välillä
# Object construction window
STR_OBJECT_BUILD_CAPTION :{WHITE}Objektin valinta
-STR_OBJECT_BUILD_TOOLTIP :{BLACK}Valitse rakennettava objekti. Shift vaihtaa rakennustilan ja kustannearvion välillä
+STR_OBJECT_BUILD_TOOLTIP :{BLACK}Valitse rakennettava objekti. Shift vaihtaa rakennustilan ja kustannusarvion välillä
STR_OBJECT_BUILD_CLASS_TOOLTIP :{BLACK}Valitse rakennettavan objektin luokka
STR_OBJECT_BUILD_PREVIEW_TOOLTIP :{BLACK}Objektin esikatselu
-STR_OBJECT_BUILD_SIZE :{BLACK}Koko: {GOLD}{NUM} x {NUM} ruutua
+STR_OBJECT_BUILD_SIZE :{BLACK}Koko: {GOLD}{NUM} × {NUM} ruutua
STR_OBJECT_CLASS_LTHS :Majakat
STR_OBJECT_CLASS_TRNS :Lähettimet
@@ -2492,7 +2496,7 @@ STR_OBJECT_CLASS_TRNS :Lähettimet
STR_PLANT_TREE_CAPTION :{WHITE}Puita
STR_PLANT_TREE_TOOLTIP :{BLACK}Valitse istutettava puutyyppi. Jos ruudussa on jo puu, tämä lisää uusia puita riippumatta valitun puun tyypistä
STR_TREES_RANDOM_TYPE :{BLACK}Sattumanvaraisia puita
-STR_TREES_RANDOM_TYPE_TOOLTIP :{BLACK}Aseta sattumanvaraisia puita. Shift vaihtaa istutustilan ja kustannearvion välillä
+STR_TREES_RANDOM_TYPE_TOOLTIP :{BLACK}Aseta sattumanvaraisia puita. Shift vaihtaa istutustilan ja kustannusarvion välillä
STR_TREES_RANDOM_TREES_BUTTON :{BLACK}Satunnaisia puita.
STR_TREES_RANDOM_TREES_TOOLTIP :{BLACK}Istuta puita satunnaisesti maastoon
@@ -2513,7 +2517,7 @@ STR_RESET_LANDSCAPE_CONFIRMATION_TEXT :{WHITE}Haluatko
# Town generation window (SE)
STR_FOUND_TOWN_CAPTION :{WHITE}Luo kaupunkeja
STR_FOUND_TOWN_NEW_TOWN_BUTTON :{BLACK}Uusi kaupunki
-STR_FOUND_TOWN_NEW_TOWN_TOOLTIP :{BLACK}Perusta uusi kaupunki. Shift+Klik näyttää vain kustannearvion
+STR_FOUND_TOWN_NEW_TOWN_TOOLTIP :{BLACK}Perusta uusi kaupunki. Shift+Klik näyttää vain kustannusarvion
STR_FOUND_TOWN_RANDOM_TOWN_BUTTON :{BLACK}Satunnainen kaupunki
STR_FOUND_TOWN_RANDOM_TOWN_TOOLTIP :{BLACK}Perusta kaupunki satunnaiseen paikkaan
STR_FOUND_TOWN_MANY_RANDOM_TOWNS :{BLACK}Monta satunnaista kaupunkia
@@ -2521,7 +2525,7 @@ STR_FOUND_TOWN_RANDOM_TOWNS_TOOLTIP :{BLACK}Peitä k
STR_FOUND_TOWN_NAME_TITLE :{YELLOW}Kaupungin nimi:
STR_FOUND_TOWN_NAME_EDITOR_TITLE :{BLACK}Syötä kaupungin nimi
-STR_FOUND_TOWN_NAME_EDITOR_HELP :{BLACK}Klikkaa syöttääksesi kaupungin nimen
+STR_FOUND_TOWN_NAME_EDITOR_HELP :{BLACK}Syötä kaupungin nimi napsauttamalla
STR_FOUND_TOWN_NAME_RANDOM_BUTTON :{BLACK}Satunnainen nimi
STR_FOUND_TOWN_NAME_RANDOM_TOOLTIP :{BLACK}Arvo uusi satunnainen nimi
@@ -2538,8 +2542,8 @@ STR_FOUND_TOWN_ROAD_LAYOUT :{YELLOW}Kaupung
STR_FOUND_TOWN_SELECT_TOWN_ROAD_LAYOUT :{BLACK}Valitse tiekaava tälle kaupungille
STR_FOUND_TOWN_SELECT_LAYOUT_ORIGINAL :{BLACK}Alkuperäinen
STR_FOUND_TOWN_SELECT_LAYOUT_BETTER_ROADS :{BLACK}Parempia teitä
-STR_FOUND_TOWN_SELECT_LAYOUT_2X2_GRID :{BLACK}2x2-ruudukko
-STR_FOUND_TOWN_SELECT_LAYOUT_3X3_GRID :{BLACK}3x3-ruudukko
+STR_FOUND_TOWN_SELECT_LAYOUT_2X2_GRID :{BLACK}2×2-ruudukko
+STR_FOUND_TOWN_SELECT_LAYOUT_3X3_GRID :{BLACK}3×3-ruudukko
STR_FOUND_TOWN_SELECT_LAYOUT_RANDOM :{BLACK}Sattumanvarainen
# Fund new industry window
@@ -2558,8 +2562,8 @@ STR_INDUSTRY_CARGOES_CARGO_CAPTION :{WHITE}Teollisu
STR_INDUSTRY_CARGOES_PRODUCERS :{WHITE}Tuottavia teollisuuksia
STR_INDUSTRY_CARGOES_CUSTOMERS :{WHITE}Hyväksyviä teollisuuksia
STR_INDUSTRY_CARGOES_HOUSES :{WHITE}Taloja
-STR_INDUSTRY_CARGOES_INDUSTRY_TOOLTIP :{BLACK}Klikkaa teollisuutta nähdäksesi sen tuottajat ja kuluttajat
-STR_INDUSTRY_CARGOES_CARGO_TOOLTIP :{BLACK}{STRING}{}Klikkaa rahtia nähdäksesi sen tuottajat ja kuluttajat
+STR_INDUSTRY_CARGOES_INDUSTRY_TOOLTIP :{BLACK}Napsauta teollisuutta nähdäksesi sen tuottajat ja kuluttajat
+STR_INDUSTRY_CARGOES_CARGO_TOOLTIP :{BLACK}{STRING}{}Napsauta rahtia nähdäksesi sen tuottajat ja kuluttajat
STR_INDUSTRY_DISPLAY_CHAIN :{BLACK}Näytä ketju
STR_INDUSTRY_DISPLAY_CHAIN_TOOLTIP :{BLACK}Näytä rahdin tuottajat ja hyväksyvät teollisuudet
STR_INDUSTRY_CARGOES_NOTIFY_SMALLMAP :{BLACK}Yhdistä karttaan
@@ -2694,9 +2698,12 @@ STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD
# Framerate display window
STR_FRAMERATE_CAPTION :{WHITE}Kuvataajuus
+STR_FRAMERATE_CAPTION_SMALL :{STRING}{WHITE} ({DECIMAL}×)
STR_FRAMERATE_RATE_GAMELOOP :{WHITE}Simulaationopeus: {STRING}
STR_FRAMERATE_RATE_BLITTER :{WHITE}Grafiikan kuvataajuus: {STRING}
STR_FRAMERATE_SPEED_FACTOR :{WHITE}Pelin nykyinen nopeuskerroin: {DECIMAL}×
+STR_FRAMERATE_CURRENT :{WHITE}Nykyinen
+STR_FRAMERATE_DATA_POINTS :{BLACK}Data perustuu {COMMA} mittaukseen
STR_FRAMERATE_MS_GOOD :{LTBLUE}{DECIMAL}{WHITE} ms
STR_FRAMERATE_MS_WARN :{YELLOW}{DECIMAL}{WHITE} ms
STR_FRAMERATE_MS_BAD :{RED}{DECIMAL}{WHITE} ms
@@ -2706,9 +2713,15 @@ STR_FRAMERATE_FPS_BAD :{RED}{DECIMAL}{
STR_FRAMERATE_GRAPH_MILLISECONDS :{TINY_FONT}{COMMA} ms
STR_FRAMERATE_GRAPH_SECONDS :{TINY_FONT}{COMMA} s
############ Leave those lines in this order!!
+STR_FRAMERATE_GL_ROADVEHS :{BLACK} Ajoneuvoaskeleet:
+STR_FRAMERATE_GL_SHIPS :{BLACK} Laiva-askeleet:
+STR_FRAMERATE_GL_LANDSCAPE :{BLACK} Maailma-askeleet:
+STR_FRAMERATE_DRAWING_VIEWPORTS :{BLACK} Maailmanäkymät:
STR_FRAMERATE_VIDEO :{WHITE}Videolähtö:
############ End of leave-in-this-order
############ Leave those lines in this order!!
+STR_FRAMETIME_CAPTION_GL_SHIPS :Laiva-askeleet
+STR_FRAMETIME_CAPTION_GL_AIRCRAFT :Ilma-alusaskeleet
STR_FRAMETIME_CAPTION_VIDEO :Videolähtö
############ End of leave-in-this-order
@@ -2735,6 +2748,7 @@ STR_SAVELOAD_DETAIL_CAPTION :{BLACK}Tietoja
STR_SAVELOAD_DETAIL_NOT_AVAILABLE :{BLACK}Tietoja ei ole saatavilla
STR_SAVELOAD_DETAIL_COMPANY_INDEX :{SILVER}{COMMA}: {WHITE}{STRING}
STR_SAVELOAD_DETAIL_GRFSTATUS :{SILVER}NewGRF: {WHITE}{STRING}
+STR_SAVELOAD_FILTER_TITLE :{BLACK}Suodatinteksti:
STR_SAVELOAD_OSKTITLE :{BLACK}Syötä nimi tallennustiedostolle
@@ -2998,7 +3012,7 @@ STR_TOWN_DIRECTORY_CAPTION :{WHITE}Kaupungi
STR_TOWN_DIRECTORY_NONE :{ORANGE}- Ei mitään -
STR_TOWN_DIRECTORY_TOWN :{ORANGE}{TOWN}{BLACK} ({COMMA})
STR_TOWN_DIRECTORY_CITY :{ORANGE}{TOWN}{YELLOW} (suurkaup.){BLACK} ({COMMA})
-STR_TOWN_DIRECTORY_LIST_TOOLTIP :{BLACK}Kaupunkien nimet - nimen klikkaaminen keskittää päänäkymän kaupunkiin. Ctrl+Klik avaa uuden näkymäikkunan kaupungin sijaintiin
+STR_TOWN_DIRECTORY_LIST_TOOLTIP :{BLACK}Kaupunkien nimet - keskitä päänäkymä kaupunkiin napsauttamalla nimeä. Ctrl+Klik avaa uuden näkymäikkunan kaupungin sijaintiin
STR_TOWN_POPULATION :{BLACK}Maailman asukasluku: {COMMA}
# Town view window
@@ -3064,7 +3078,7 @@ STR_GOALS_SPECTATOR_NONE :{ORANGE}- Ei sa
STR_GOALS_PROGRESS :{ORANGE}{STRING}
STR_GOALS_PROGRESS_COMPLETE :{GREEN}{STRING}
STR_GOALS_COMPANY_TITLE :{BLACK}Yhtiön tavoitteet:
-STR_GOALS_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Klikkaa tavoitetta keskittääksesi päänäkymän teollisuuteen/kaupunkiin/ruutuun. Ctrl+Klik avaa uuden näkymän teollisuuden/kaupungin/ruudun sijaintiin
+STR_GOALS_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Keskitä päänäkymä teollisuuteen/kaupunkiin/ruutuun napsauttamalla tavoitetta. Ctrl+Klik avaa uuden näkymän teollisuuden/kaupungin/ruudun sijaintiin
# Goal question window
STR_GOAL_QUESTION_CAPTION_QUESTION :Kysymys
@@ -3103,7 +3117,7 @@ STR_SUBSIDIES_SUBSIDISED_FROM_TO :{ORANGE}{STRING
STR_SUBSIDIES_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Napsauta palvelua keskittääksesi päänäkymän teollisuuteen/kaupunkiin. Ctrl+Klik avaa uuden näkymäikkunan teollisuuden/kaupungin sijaintiin
# Story book window
-STR_STORY_BOOK_CAPTION :{WHITE}Yhtiön {COMPANY} historia
+STR_STORY_BOOK_CAPTION :{WHITE}{COMPANY}: historia
STR_STORY_BOOK_SPECTATOR_CAPTION :{WHITE}Yleinen yhtiöhistoria
STR_STORY_BOOK_TITLE :{YELLOW}{STRING}
STR_STORY_BOOK_GENERIC_PAGE_ITEM :Sivu {NUM}
@@ -3181,7 +3195,7 @@ STR_STATION_VIEW_CENTER_TOOLTIP :{BLACK}Keskitä
STR_STATION_VIEW_RENAME_TOOLTIP :{BLACK}Muuta aseman nimi.
STR_STATION_VIEW_SCHEDULED_TRAINS_TOOLTIP :{BLACK}Näytä kaikki junat, joilla on tämä asema käskyissään.
-STR_STATION_VIEW_SCHEDULED_ROAD_VEHICLES_TOOLTIP :{BLACK}Näytä kaikki autot, joilla on tämä asema käskyissään.
+STR_STATION_VIEW_SCHEDULED_ROAD_VEHICLES_TOOLTIP :{BLACK}Näytä kaikki ajoneuvot, joilla on tämä asema käskyissään.
STR_STATION_VIEW_SCHEDULED_AIRCRAFT_TOOLTIP :{BLACK}Näytä kaikki lentokoneet, joilla on tämä asema käskyissään.
STR_STATION_VIEW_SCHEDULED_SHIPS_TOOLTIP :{BLACK}Näytä kaikki laivat, joilla on tämä asema käskyissään.
@@ -3221,7 +3235,7 @@ STR_FINANCES_POSITIVE_INCOME :{BLACK}+{CURREN
STR_FINANCES_TOTAL_CAPTION :{WHITE}Yhteensä:
STR_FINANCES_BANK_BALANCE_TITLE :{WHITE}Tilin saldo
STR_FINANCES_LOAN_TITLE :{WHITE}Laina
-STR_FINANCES_MAX_LOAN :{WHITE}Laina enimmillään: {BLACK}{CURRENCY_LONG}
+STR_FINANCES_MAX_LOAN :{WHITE}Laina enintään: {BLACK}{CURRENCY_LONG}
STR_FINANCES_TOTAL_CURRENCY :{BLACK}{CURRENCY_LONG}
STR_FINANCES_BORROW_BUTTON :{BLACK}Nosta lainaa {CURRENCY_LONG}
STR_FINANCES_BORROW_TOOLTIP :{BLACK}Ota lisää lainaa. Ctrl+Klik nostaa lainaa niin paljon kuin mahdollista
@@ -3256,7 +3270,7 @@ STR_COMPANY_VIEW_BUILD_HQ_TOOLTIP :{BLACK}Rakenna
STR_COMPANY_VIEW_VIEW_HQ_BUTTON :{BLACK}Näytä päämaja
STR_COMPANY_VIEW_VIEW_HQ_TOOLTIP :{BLACK}Näytä yhtiön päämaja
STR_COMPANY_VIEW_RELOCATE_HQ :{BLACK}Siirrä päämaja
-STR_COMPANY_VIEW_RELOCATE_COMPANY_HEADQUARTERS :{BLACK}Rakenna yhtiön päärakennus muualle, kustannus 1{NBSP}% yhtiön arvosta. Shift+Klik näyttää kustannearvion sijoittamatta päärakennusta uudelleen
+STR_COMPANY_VIEW_RELOCATE_COMPANY_HEADQUARTERS :{BLACK}Rakenna yhtiön päärakennus muualle, kustannus 1{NBSP}% yhtiön arvosta. Shift+Klik näyttää kustannusarvion sijoittamatta päärakennusta uudelleen
STR_COMPANY_VIEW_INFRASTRUCTURE_BUTTON :{BLACK}Yksityiskohdat
STR_COMPANY_VIEW_INFRASTRUCTURE_TOOLTIP :{BLACK}Näytä tarkka infrastruktuurin määrä
STR_COMPANY_VIEW_GIVE_MONEY_BUTTON :{BLACK}Anna rahaa
@@ -3272,7 +3286,7 @@ STR_COMPANY_VIEW_PRESIDENT_NAME_TOOLTIP :{BLACK}Muuta p
STR_COMPANY_VIEW_BUY_SHARE_BUTTON :{BLACK}Osta 25{NBSP}%:n osuus yhtiöstä
STR_COMPANY_VIEW_SELL_SHARE_BUTTON :{BLACK}Myy 25{NBSP}%:n osuus yhtiöstä
-STR_COMPANY_VIEW_BUY_SHARE_TOOLTIP :{BLACK}Osta 25{NBSP}%:n osuus tästä yhtiöstä. Shift+Klik näyttää kustannearvion ostamatta osuuksia
+STR_COMPANY_VIEW_BUY_SHARE_TOOLTIP :{BLACK}Osta 25{NBSP}%:n osuus tästä yhtiöstä. Shift+Klik näyttää kustannusarvion ostamatta osuuksia
STR_COMPANY_VIEW_SELL_SHARE_TOOLTIP :{BLACK}Myy 25{NBSP}%:n osuus tästä yhtiöstä. Shift+Klik näyttää tuottoarvion myymättä osuuksia
STR_COMPANY_VIEW_COMPANY_NAME_QUERY_CAPTION :Yhtiön nimi
@@ -3301,7 +3315,7 @@ STR_INDUSTRY_DIRECTORY_NONE :{ORANGE}- Ei mi
STR_INDUSTRY_DIRECTORY_ITEM :{ORANGE}{INDUSTRY}{BLACK} ({CARGO_LONG}{STRING}){YELLOW} ({COMMA}% kuljetettu)
STR_INDUSTRY_DIRECTORY_ITEM_TWO :{ORANGE}{INDUSTRY}{BLACK} ({CARGO_LONG}{STRING}/{CARGO_LONG}{STRING}){YELLOW} ({COMMA}%/{COMMA}% kuljetettu)
STR_INDUSTRY_DIRECTORY_ITEM_NOPROD :{ORANGE}{INDUSTRY}
-STR_INDUSTRY_DIRECTORY_LIST_CAPTION :{BLACK}Teollisuusmuotojen nimet - klikkaa nimeä kohdistaaksesi päänäkymän teollisuuslaitokseen. Ctrl+Klik avaa uuden näkymäikkunan teollisuuslaitoksen sijaintiin
+STR_INDUSTRY_DIRECTORY_LIST_CAPTION :{BLACK}Teollisuusmuotojen nimet - kohdista päänäkymä teollisuuslaitokseen napsauttamalla nimeä. Ctrl+Klik avaa uuden näkymäikkunan teollisuuslaitoksen sijaintiin
# Industry view
STR_INDUSTRY_VIEW_CAPTION :{WHITE}{INDUSTRY}
@@ -3327,13 +3341,13 @@ STR_INDUSTRY_VIEW_PRODUCES_CARGO_CARGO :{BLACK}Tuottaa:
############ range for produces ends
STR_CONFIG_GAME_PRODUCTION :{WHITE}Muokkaa tuotantoa (8:n kerroin, 2040 asti)
-STR_CONFIG_GAME_PRODUCTION_LEVEL :{WHITE}Muuta tuotantotasoa (prosentteina, 800% asti)
+STR_CONFIG_GAME_PRODUCTION_LEVEL :{WHITE}Muuta tuotantotasoa (prosentteina, 800{NBSP}% asti)
# Vehicle lists
-STR_VEHICLE_LIST_TRAIN_CAPTION :{WHITE}{STRING} - {COMMA} junaa
-STR_VEHICLE_LIST_ROAD_VEHICLE_CAPTION :{WHITE}{STRING} - {COMMA} ajoneuvoa
-STR_VEHICLE_LIST_SHIP_CAPTION :{WHITE}{STRING} - {COMMA} laivaa
-STR_VEHICLE_LIST_AIRCRAFT_CAPTION :{WHITE}{STRING} - {COMMA} lentokonetta
+STR_VEHICLE_LIST_TRAIN_CAPTION :{WHITE}{STRING} - {COMMA} juna{P "" a}
+STR_VEHICLE_LIST_ROAD_VEHICLE_CAPTION :{WHITE}{STRING} - {COMMA} ajoneuvo{P "" a}
+STR_VEHICLE_LIST_SHIP_CAPTION :{WHITE}{STRING} - {COMMA} laiva{P "" a}
+STR_VEHICLE_LIST_AIRCRAFT_CAPTION :{WHITE}{STRING} - {COMMA} lentokone{P "" tta}
STR_VEHICLE_LIST_TRAIN_LIST_TOOLTIP :{BLACK}Junat - napsauta junaa saadaksesi tietoja.
STR_VEHICLE_LIST_ROAD_VEHICLE_TOOLTIP :{BLACK}Ajoneuvot - napsauta ajoneuvoa saadaksesi tietoja.
@@ -3358,23 +3372,23 @@ STR_VEHICLE_LIST_SEND_ROAD_VEHICLE_TO_DEPOT :Lähetä variko
STR_VEHICLE_LIST_SEND_SHIP_TO_DEPOT :Lähetä telakalle
STR_VEHICLE_LIST_SEND_AIRCRAFT_TO_HANGAR :Lähetä varikolle
-STR_VEHICLE_LIST_MASS_STOP_LIST_TOOLTIP :{BLACK}Pysäytä kaikki listalla olevat kulkuneuvot klikkaamalla
-STR_VEHICLE_LIST_MASS_START_LIST_TOOLTIP :{BLACK}Käynnistä kaikki listalla olevat ajoneuvot klikkaamalla
+STR_VEHICLE_LIST_MASS_STOP_LIST_TOOLTIP :{BLACK}Pysäytä kaikki listalla olevat kulkuneuvot napsauttamalla
+STR_VEHICLE_LIST_MASS_START_LIST_TOOLTIP :{BLACK}Käynnistä kaikki listalla olevat ajoneuvot napsauttamalla
STR_VEHICLE_LIST_SHARED_ORDERS_LIST_CAPTION :{WHITE}{COMMA} ajoneuvon jaetut käskyt
# Group window
STR_GROUP_ALL_TRAINS :Kaikki junat
-STR_GROUP_ALL_ROAD_VEHICLES :Kaikki autot
+STR_GROUP_ALL_ROAD_VEHICLES :Kaikki ajoneuvot
STR_GROUP_ALL_SHIPS :Kaikki laivat
STR_GROUP_ALL_AIRCRAFTS :Kaikki lentoalukset
STR_GROUP_DEFAULT_TRAINS :Muut junat
-STR_GROUP_DEFAULT_ROAD_VEHICLES :Muut autot
+STR_GROUP_DEFAULT_ROAD_VEHICLES :Muut ajoneuvot
STR_GROUP_DEFAULT_SHIPS :Muut laivat
STR_GROUP_DEFAULT_AIRCRAFTS :Muut lentokoneet
-STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Ryhmät - klikkaa ryhmää nähdäksesi kaikki kulkuneuvot tässä ryhmässä. Järjestä ryhmiä vetämällä ja pudottamalla.
+STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Ryhmät - napsauta ryhmää nähdäksesi kaikki kulkuneuvot tässä ryhmässä. Järjestä ryhmiä vetämällä ja pudottamalla.
STR_GROUP_CREATE_TOOLTIP :{BLACK}Luo ryhmä
STR_GROUP_DELETE_TOOLTIP :{BLACK}Poista valittu ryhmä
STR_GROUP_RENAME_TOOLTIP :{BLACK}Nimeä valittu ryhmä
@@ -3390,6 +3404,7 @@ STR_GROUP_RENAME_CAPTION :{BLACK}Nimeä r
STR_GROUP_PROFIT_THIS_YEAR :Tuotto tänä vuonna:
STR_GROUP_PROFIT_LAST_YEAR :Tuotto viime vuonna:
+STR_GROUP_OCCUPANCY :Nykyinen käyttö:
STR_GROUP_OCCUPANCY_VALUE :{NUM} %
# Build vehicle window
@@ -3435,10 +3450,10 @@ STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_BUTTON :{BLACK}Osta ajo
STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_BUTTON :{BLACK}Osta laiva
STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_BUTTON :{BLACK}Osta lentokone
-STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_TOOLTIP :{BLACK}Osta valittu yksikkö. Shift+Klik näyttää kustannearvion ostamatta kopiota
-STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_TOOLTIP :{BLACK}Osta valittu ajoneuvo.. Shift+Klik näyttää kustannearvion ostamatta kopiota
-STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_TOOLTIP :{BLACK}Osta valittu laiva. Shift+Klik näyttää kustannearvion ostamatta kopiota
-STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_TOOLTIP :{BLACK}Osta korostettu lentokone. Shift+Klik näyttää kustannearvion ostamatta kopiota
+STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_TOOLTIP :{BLACK}Osta valittu yksikkö. Shift+Klik näyttää kustannusarvion ostamatta
+STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_TOOLTIP :{BLACK}Osta valittu ajoneuvo. Shift+Klik näyttää kustannusarvion ostamatta
+STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_TOOLTIP :{BLACK}Osta valittu laiva. Shift+Klik näyttää kustannusarvion ostamatta
+STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_TOOLTIP :{BLACK}Osta korostettu lentokone. Shift+Klik näyttää kustannusarvion ostamatta
STR_BUY_VEHICLE_TRAIN_RENAME_BUTTON :{BLACK}Nimeä
STR_BUY_VEHICLE_ROAD_VEHICLE_RENAME_BUTTON :{BLACK}Nimeä
@@ -3481,10 +3496,10 @@ STR_DEPOT_VEHICLE_TOOLTIP :{BLACK}{ENGINE}
STR_DEPOT_VEHICLE_TOOLTIP_CHAIN :{BLACK}{NUM} kulkuneuvo{P "" a}{STRING}
STR_DEPOT_VEHICLE_TOOLTIP_CARGO :{}{CARGO_LONG} ({CARGO_SHORT})
-STR_DEPOT_TRAIN_LIST_TOOLTIP :{BLACK}Junat - vedä kulkuneuvoa vasemmalla hiiren painikkella lisätäksesi/poistaaksesi junasta, oikealla näppäimellä lisätietoja, Pidä pohjassa Ctrl-näppäintä toteuttaaksesi molemmat toiminnot seuraavaan ketjuun
-STR_DEPOT_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Ajoneuvot - napsauta ajoneuvoa oikealla hiiren näppäimellä saadaksesi tietoja.
-STR_DEPOT_SHIP_LIST_TOOLTIP :{BLACK}Laivat - napsauta laivaa oikealla hiiren näppäimellä saadaksesi tietoja.
-STR_DEPOT_AIRCRAFT_LIST_TOOLTIP :{BLACK}Lentokoneet - napsauta lentokonetta oikealla hiiren näppäimellä saadaksesi tietoja.
+STR_DEPOT_TRAIN_LIST_TOOLTIP :{BLACK}Junat - vedä kulkuneuvoa vasemmalla hiiren painikkella lisätäksesi/poistaaksesi junasta, oikealla painikkeella lisätietoja. Pidä pohjassa Ctrl-näppäintä toteuttaaksesi molemmat toiminnot seuraavaan ketjuun
+STR_DEPOT_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Ajoneuvot - napsauta ajoneuvoa oikealla hiiren painikkeella saadaksesi tietoja.
+STR_DEPOT_SHIP_LIST_TOOLTIP :{BLACK}Laivat - napsauta laivaa oikealla hiiren painikkeella saadaksesi tietoja.
+STR_DEPOT_AIRCRAFT_LIST_TOOLTIP :{BLACK}Lentokoneet - napsauta lentokonetta oikealla hiiren painikkeella saadaksesi tietoja.
STR_DEPOT_TRAIN_SELL_TOOLTIP :{BLACK}Vedä yksikkö tähän myydäksesi sen.
STR_DEPOT_ROAD_VEHICLE_SELL_TOOLTIP :{BLACK}Vedä ajoneuvo tähän myydäksesi sen.
@@ -3493,12 +3508,12 @@ STR_DEPOT_AIRCRAFT_SELL_TOOLTIP :{BLACK}Vedä le
STR_DEPOT_DRAG_WHOLE_TRAIN_TO_SELL_TOOLTIP :{BLACK}Vedä junan veturi tähän myydäksesi koko junan.
-STR_DEPOT_SELL_ALL_BUTTON_TRAIN_TOOLTIP :{BLACK}Myy kaikki varikolla olevat junat
+STR_DEPOT_SELL_ALL_BUTTON_TRAIN_TOOLTIP :{BLACK}Myy kaikki veturitallilla olevat junat
STR_DEPOT_SELL_ALL_BUTTON_ROAD_VEHICLE_TOOLTIP :{BLACK}Myy kaikki varikolla olevat ajoneuvot
STR_DEPOT_SELL_ALL_BUTTON_SHIP_TOOLTIP :{BLACK}Myy kaikki telakalla olevat laivat
STR_DEPOT_SELL_ALL_BUTTON_AIRCRAFT_TOOLTIP :{BLACK}Myy kaikki hallissa olevat ilma-alukset
-STR_DEPOT_AUTOREPLACE_TRAIN_TOOLTIP :{BLACK}Korvaa kaikki varikolla olevat junat automaattisesti
+STR_DEPOT_AUTOREPLACE_TRAIN_TOOLTIP :{BLACK}Korvaa kaikki veturitallilla olevat junat automaattisesti
STR_DEPOT_AUTOREPLACE_ROAD_VEHICLE_TOOLTIP :{BLACK}Korvaa kaikki varikolla olevat ajoneuvot automaattisesti
STR_DEPOT_AUTOREPLACE_SHIP_TOOLTIP :{BLACK}Korvaa kaikki telakalla olevat laivat automaattisesti
STR_DEPOT_AUTOREPLACE_AIRCRAFT_TOOLTIP :{BLACK}Korvaa kaikki hallissa olevat lento-alukset automaattisesti
@@ -3518,10 +3533,10 @@ STR_DEPOT_CLONE_ROAD_VEHICLE :{BLACK}Kloonaa
STR_DEPOT_CLONE_SHIP :{BLACK}Kloonaa laiva
STR_DEPOT_CLONE_AIRCRAFT :{BLACK}Kloonaa lentokone
-STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}Tämä ostaa kopion junasta ja kaikista sen vaunuista. Paina tätä nappia ja sen jälkeen junaa varikon sisä- tai ulkopuolella. Ctrl+Klik jakaa komennot. Shift+Klik näyttää kustannearvion ostamatta kopiota
-STR_DEPOT_CLONE_ROAD_VEHICLE_DEPOT_INFO :{BLACK}Tämä ostaa kopion ajoneuvosta. Paina tätä nappia ja sen jälkeen ajoneuvoa varikon sisä- tai ulkopuolella. Ctrl+Klik jakaa komennot. Shift+Klik näyttää kustannearvion ostamatta kopiota
-STR_DEPOT_CLONE_SHIP_DEPOT_INFO :{BLACK}Tämä ostaa kopion laivasta. Paina tätä nappia ja sen jälkeen laivaa telakan sisä- tai ulkopuolella. Ctrl+Klik jakaa komennot. Shift+Klik näyttää kustannearvion ostamatta kopiota
-STR_DEPOT_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW :{BLACK}Tämä ostaa kopion lentokoneesta. Paina tätä nappia ja sen jälkeen lentokonetta lentokonehallin sisä- tai ulkopuolella. Ctrl+Klik jakaa komennot. Shift+Klik näyttää kustannearvion ostamatta kopiota
+STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}Tämä ostaa kopion junasta ja kaikista sen vaunuista. Napsauta tätä painiketta ja sen jälkeen junaa varikon sisä- tai ulkopuolella. Ctrl+Klik jakaa komennot. Shift+Klik näyttää kustannusarvion ostamatta kopiota
+STR_DEPOT_CLONE_ROAD_VEHICLE_DEPOT_INFO :{BLACK}Tämä ostaa kopion ajoneuvosta. Napsauta tätä painiketta ja sen jälkeen ajoneuvoa varikon sisä- tai ulkopuolella. Ctrl+Klik jakaa komennot. Shift+Klik näyttää kustannusarvion ostamatta kopiota
+STR_DEPOT_CLONE_SHIP_DEPOT_INFO :{BLACK}Tämä ostaa kopion laivasta. Napsauta tätä painiketta ja sen jälkeen laivaa telakan sisä- tai ulkopuolella. Ctrl+Klik jakaa komennot. Shift+Klik näyttää kustannusarvion ostamatta kopiota
+STR_DEPOT_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW :{BLACK}Tämä ostaa kopion lentokoneesta. Napsauta tätä painiketta ja sen jälkeen lentokonetta lentokonehallin sisä- tai ulkopuolella. Ctrl+Klik jakaa komennot. Shift+Klik näyttää kustannusarvion ostamatta kopiota
STR_DEPOT_TRAIN_LOCATION_TOOLTIP :{BLACK}Keskitä näkymä veturitallin sijaintiin. Ctrl+Klik avaa uuden näkymäikkunan veturitallin sijaintiin
STR_DEPOT_ROAD_VEHICLE_LOCATION_TOOLTIP :{BLACK}Keskitä päänäkymä varikon sijaintiin. Ctrl+Klik avaa uuden näkymäikkunan varikon sijaintiin
@@ -3533,15 +3548,15 @@ STR_DEPOT_VEHICLE_ORDER_LIST_ROAD_VEHICLE_TOOLTIP :{BLACK}Näytä
STR_DEPOT_VEHICLE_ORDER_LIST_SHIP_TOOLTIP :{BLACK}Näytä tässä terminaalissa olevien laivojen käskyt
STR_DEPOT_VEHICLE_ORDER_LIST_AIRCRAFT_TOOLTIP :{BLACK}Näytä tämän lentokentän ilma-alusten käskyistä hallista riippumatta
-STR_DEPOT_MASS_STOP_DEPOT_TRAIN_TOOLTIP :{BLACK}Pysäytä kaikki varikolla olevat junat klikkaamalla
-STR_DEPOT_MASS_STOP_DEPOT_ROAD_VEHICLE_TOOLTIP :{BLACK}Pysäytä kaikki varikolla olevat ajoneuvot klikkaamalla
-STR_DEPOT_MASS_STOP_DEPOT_SHIP_TOOLTIP :{BLACK}Pysäytä kaikki telakalla olevat laivat klikkaamalla
-STR_DEPOT_MASS_STOP_HANGAR_TOOLTIP :{BLACK}Pysäytä kaikki hallissa olevat ilma-alukset klikkaamalla
+STR_DEPOT_MASS_STOP_DEPOT_TRAIN_TOOLTIP :{BLACK}Pysäytä kaikki veturitallilla olevat junat napsauttamalla
+STR_DEPOT_MASS_STOP_DEPOT_ROAD_VEHICLE_TOOLTIP :{BLACK}Pysäytä kaikki varikolla olevat ajoneuvot napsauttamalla
+STR_DEPOT_MASS_STOP_DEPOT_SHIP_TOOLTIP :{BLACK}Pysäytä kaikki telakalla olevat laivat napsauttamalla
+STR_DEPOT_MASS_STOP_HANGAR_TOOLTIP :{BLACK}Pysäytä kaikki hallissa olevat ilma-alukset napsauttamalla
-STR_DEPOT_MASS_START_DEPOT_TRAIN_TOOLTIP :{BLACK}Käynnistä kaikki varikolla olevat junat klikkaamalla
-STR_DEPOT_MASS_START_DEPOT_ROAD_VEHICLE_TOOLTIP :{BLACK}Käynnistä kaikki varikolla olevat ajoneuvot klikkaamalla
-STR_DEPOT_MASS_START_DEPOT_SHIP_TOOLTIP :{BLACK}Käynnistä kaikki telakalla olevat laivat klikkaamalla
-STR_DEPOT_MASS_START_HANGAR_TOOLTIP :{BLACK}Käynnistä kaikki hallissa olevat ilma-alukset klikkaamalla
+STR_DEPOT_MASS_START_DEPOT_TRAIN_TOOLTIP :{BLACK}Käynnistä kaikki veturitallilla olevat junat napsauttamalla
+STR_DEPOT_MASS_START_DEPOT_ROAD_VEHICLE_TOOLTIP :{BLACK}Käynnistä kaikki varikolla olevat ajoneuvot napsauttamalla
+STR_DEPOT_MASS_START_DEPOT_SHIP_TOOLTIP :{BLACK}Käynnistä kaikki telakalla olevat laivat napsauttamalla
+STR_DEPOT_MASS_START_HANGAR_TOOLTIP :{BLACK}Käynnistä kaikki hallissa olevat ilma-alukset napsauttamalla
STR_DEPOT_SELL_CONFIRMATION_TEXT :{YELLOW}Olet myymässä kaikki varikon ajoneuvot. Oletko varma?
@@ -3616,10 +3631,10 @@ STR_VEHICLE_VIEW_ROAD_VEHICLE_SEND_TO_DEPOT_TOOLTIP :{BLACK}Lähetä
STR_VEHICLE_VIEW_SHIP_SEND_TO_DEPOT_TOOLTIP :{BLACK}Lähetä laiva telakalle. Ctrl+Klik suorittaa vain huollon
STR_VEHICLE_VIEW_AIRCRAFT_SEND_TO_DEPOT_TOOLTIP :{BLACK}Lähetä lentokone lentokonehalliin. Ctrl+Klik suorittaa vain huollon
-STR_VEHICLE_VIEW_CLONE_TRAIN_INFO :{BLACK}Tämä ostaa kopion junasta ja kaikista sen vaunuista. Ctrl+Klik jakaa komennot. Shift+Klik näyttää kustannearvion ostamatta kopiota
-STR_VEHICLE_VIEW_CLONE_ROAD_VEHICLE_INFO :{BLACK}Tämä ostaa kopion ajoneuvosta. Ctrl+Klik jakaa komennot. Shift+Klik näyttää kustannearvion ostamatta kopiota
-STR_VEHICLE_VIEW_CLONE_SHIP_INFO :{BLACK}Tämä ostaa kopion laivasta. Ctrl+Klik jakaa komennot. Shift+Klik näyttää kustannearvion ostamatta kopiota
-STR_VEHICLE_VIEW_CLONE_AIRCRAFT_INFO :{BLACK}Tämä ostaa kopion lentokoneesta. Ctrl+Klik jakaa komennot. Shift+Klik näyttää kustannearvion ostamatta kopiota
+STR_VEHICLE_VIEW_CLONE_TRAIN_INFO :{BLACK}Tämä ostaa kopion junasta vaunuineen. Ctrl+Klik jakaa komennot. Shift+Klik näyttää kustannusarvion ostamatta kopiota
+STR_VEHICLE_VIEW_CLONE_ROAD_VEHICLE_INFO :{BLACK}Tämä ostaa kopion ajoneuvosta. Ctrl+Klik jakaa komennot. Shift+Klik näyttää kustannusarvion ostamatta kopiota
+STR_VEHICLE_VIEW_CLONE_SHIP_INFO :{BLACK}Tämä ostaa kopion laivasta. Ctrl+Klik jakaa komennot. Shift+Klik näyttää kustannusarvion ostamatta kopiota
+STR_VEHICLE_VIEW_CLONE_AIRCRAFT_INFO :{BLACK}Tämä ostaa kopion lentokoneesta. Ctrl+Klik jakaa komennot. Shift+Klik näyttää kustannusarvion ostamatta kopiota
STR_VEHICLE_VIEW_TRAIN_IGNORE_SIGNAL_TOOLTIP :{BLACK}Anna junalle lupa ohittaa punainen opastin.
@@ -3745,7 +3760,7 @@ STR_REFIT_NEW_CAPACITY_COST_OF_REFIT :{BLACK}Uusi kap
STR_REFIT_NEW_CAPACITY_INCOME_FROM_REFIT :{BLACK}Uusi kapasiteetti: {GOLD}{CARGO_LONG}{}{BLACK}Tulot sovittamisesta: {GREEN}{CURRENCY_LONG}
STR_REFIT_NEW_CAPACITY_COST_OF_AIRCRAFT_REFIT :{BLACK}Uusi kapasiteetti: {GOLD}{CARGO_LONG}, {GOLD}{CARGO_LONG}{}{BLACK}Sovituksen kustannus: {RED}{CURRENCY_LONG}
STR_REFIT_NEW_CAPACITY_INCOME_FROM_AIRCRAFT_REFIT :{BLACK}Uusi kapasiteetti: {GOLD}{CARGO_LONG}, {GOLD}{CARGO_LONG}{}{BLACK}Tulot sovittamisesta: {GREEN}{CURRENCY_LONG}
-STR_REFIT_SELECT_VEHICLES_TOOLTIP :{BLACK}Valitse sovitettavat kulkuneuvot. Hiirellä vetäminen sallii useamman kulkuneuvon valinnan. Tyhjän alueen klikkaus valitsee koko kulkuneuvon. Ctrl+Klik valitsee kulkuneuvon ja sitä seuraavan ketjun
+STR_REFIT_SELECT_VEHICLES_TOOLTIP :{BLACK}Valitse sovitettavat kulkuneuvot. Hiirellä vetäminen sallii useamman kulkuneuvon valinnan. Tyhjän alueen napsautus valitsee koko kulkuneuvon. Ctrl+Klik valitsee kulkuneuvon ja sitä seuraavan ketjun
STR_REFIT_TRAIN_LIST_TOOLTIP :{BLACK}Valitse junan rahtityyppi
STR_REFIT_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Valitse ajoneuvolla ajettava rahti
@@ -3775,7 +3790,7 @@ STR_ORDERS_END_OF_ORDERS :- - Käskyjen l
STR_ORDERS_END_OF_SHARED_ORDERS :- - Jaettujen käskyjen loppu - -
# Order bottom buttons
-STR_ORDER_NON_STOP :{BLACK}Nonstop
+STR_ORDER_NON_STOP :{BLACK}Välipysähdyksetön
STR_ORDER_GO_TO :Mene
STR_ORDER_GO_NON_STOP_TO :Mene pysähtymättä
STR_ORDER_GO_VIA :Mene kautta
@@ -3847,7 +3862,7 @@ STR_ORDER_GO_TO_NEAREST_DEPOT :Mene lähimmäl
STR_ORDER_GO_TO_NEAREST_HANGAR :Mene lähimmälle varikolle
STR_ORDER_CONDITIONAL :Ehdollinen hyppykäsky
STR_ORDER_SHARE :Jaa käskyt
-STR_ORDERS_GO_TO_TOOLTIP :{BLACK}Lisää uusi käsky ennen valittua, tai lisää listan viimeiseksi. Ctrl tekee asemakäskyistä 'lastaa täyteen kaikki rahti', reittipistekäskyistä 'non-stop' ja veturitallikäskyistä 'huolto'. 'Jaa käskyt' jakaa käskyt valitun kulkuneuvon kanssa. Kulkuneuvon klikkaaminen kopioi käskyt siitä kulkuneuvosta. Varikkokäsky poistaa käytöstä automaattisen huollon
+STR_ORDERS_GO_TO_TOOLTIP :{BLACK}Lisää uusi käsky ennen valittua, tai lisää listan viimeiseksi. Ctrl tekee asemakäskyistä 'lastaa täyteen kaikki rahti', reittipistekäskyistä 'non-stop' ja veturitallikäskyistä 'huolto'. 'Jaa käskyt' jakaa käskyt valitun kulkuneuvon kanssa. Kulkuneuvon napsauttaminen kopioi käskyt kyseisestä kulkuneuvosta. Varikkokäsky poistaa käytöstä automaattisen huollon
STR_ORDERS_VEH_WITH_SHARED_ORDERS_LIST_TOOLTIP :{BLACK}Näytä kaikki ajoneuvot, jotka jakavat nämä käskyt
@@ -3856,11 +3871,11 @@ STR_ORDER_GO_TO_WAYPOINT :Kierrä reittip
STR_ORDER_GO_NON_STOP_TO_WAYPOINT :Mene pysäht. pisteen {WAYPOINT} kautta
STR_ORDER_SERVICE_AT :Huolto
-STR_ORDER_SERVICE_NON_STOP_AT :Nonstop-huolto
+STR_ORDER_SERVICE_NON_STOP_AT :Huolto pysäytyksettä
STR_ORDER_NEAREST_DEPOT :lähin
STR_ORDER_NEAREST_HANGAR :lähin varikko
-STR_ORDER_TRAIN_DEPOT :Junavarikko
+STR_ORDER_TRAIN_DEPOT :Veturitalli
STR_ORDER_ROAD_VEHICLE_DEPOT :Varikko
STR_ORDER_SHIP_DEPOT :Telakka
STR_ORDER_GO_TO_NEAREST_DEPOT_FORMAT :{STRING} {STRING} {STRING}
@@ -3922,7 +3937,7 @@ STR_TIMETABLE_TITLE :{WHITE}{VEHICLE
STR_TIMETABLE_ORDER_VIEW :{BLACK}Käskyt
STR_TIMETABLE_ORDER_VIEW_TOOLTIP :{BLACK}Vaihda käskynäkymään
-STR_TIMETABLE_TOOLTIP :{BLACK}Aikataulu - klikkaa käskyä valitaksesi sen
+STR_TIMETABLE_TOOLTIP :{BLACK}Aikataulu - valitse käsky sitä napsauttamalla
STR_TIMETABLE_NO_TRAVEL :Ei kulkua
STR_TIMETABLE_NOT_TIMETABLEABLE :Kulje (automaattinen; aikataulu seuraavan manuaalisen käskyn mukaisesti)
@@ -3937,7 +3952,7 @@ STR_TIMETABLE_AND_TRAVEL_FOR_ESTIMATED :(matkusta {STRI
STR_TIMETABLE_STAY_FOR :ja odota {STRING}
STR_TIMETABLE_AND_TRAVEL_FOR :ja kulje {STRING}
STR_TIMETABLE_DAYS :{COMMA}{NBSP}päivä{P "" ä}
-STR_TIMETABLE_TICKS :{COMMA}{NBSP}tick{P "" iä}
+STR_TIMETABLE_TICKS :{COMMA}{NBSP}askel{P "" ta}
STR_TIMETABLE_TOTAL_TIME :{BLACK}Aikataulun kesto on {STRING}
STR_TIMETABLE_TOTAL_TIME_INCOMPLETE :{BLACK}Aikataulun kesto on vähintään {STRING}
@@ -4293,7 +4308,7 @@ STR_ERROR_CAN_T_BUILD_SHIP_DEPOT :{WHITE}Telakkaa
STR_ERROR_CAN_T_RENAME_DEPOT :{WHITE}Varikon nimeä ei voi vaihtaa...
STR_ERROR_TRAIN_MUST_BE_STOPPED_INSIDE_DEPOT :{WHITE}... täytyy olla pysähdyksissä veturitallin sisällä
-STR_ERROR_ROAD_VEHICLE_MUST_BE_STOPPED_INSIDE_DEPOT :{WHITE}... täytyy olla pysähtyneenä varikolla
+STR_ERROR_ROAD_VEHICLE_MUST_BE_STOPPED_INSIDE_DEPOT :{WHITE}... täytyy olla pysäytettynä varikolla
STR_ERROR_SHIP_MUST_BE_STOPPED_INSIDE_DEPOT :{WHITE}... täytyy olla pysähdyksissä telakalla
STR_ERROR_AIRCRAFT_MUST_BE_STOPPED_INSIDE_HANGAR :{WHITE}... täytyy olla pysähdyksissä lentokonehallissa
diff --git a/src/lang/russian.txt b/src/lang/russian.txt
index ef53bca8fb..0c08745d1f 100644
--- a/src/lang/russian.txt
+++ b/src/lang/russian.txt
@@ -2888,17 +2888,17 @@ STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD
STR_FRAMERATE_CAPTION_SMALL :{STRING}{WHITE} ({DECIMAL}x)
STR_FRAMERATE_RATE_GAMELOOP_TOOLTIP :{BLACK}Кол-во игровых циклов, рассчитываемых в секунду.
STR_FRAMERATE_RATE_BLITTER_TOOLTIP :{BLACK}Кол-во отображаемых кадров в секунду.
-STR_FRAMERATE_DATA_POINTS :{WHITE}Данные по {COMMA} измерени{P ю ям ям}
-STR_FRAMERATE_MS_GOOD :{LTBLUE}{DECIMAL}{WHITE} мс
-STR_FRAMERATE_MS_WARN :{YELLOW}{DECIMAL}{WHITE} мс
-STR_FRAMERATE_MS_BAD :{RED}{DECIMAL}{WHITE} мс
-STR_FRAMERATE_FPS_GOOD :{LTBLUE}{DECIMAL}{WHITE} кадр{P "" а ов}/с
-STR_FRAMERATE_FPS_WARN :{YELLOW}{DECIMAL}{WHITE} кадр{P "" а ов}/с
-STR_FRAMERATE_FPS_BAD :{RED}{DECIMAL}{WHITE} кадр{P "" а ов}/с
+STR_FRAMERATE_DATA_POINTS :{BLACK}Данные по {COMMA} измерени{P ю ям ям}
+STR_FRAMERATE_MS_GOOD :{LTBLUE}{DECIMAL} мс
+STR_FRAMERATE_MS_WARN :{YELLOW}{DECIMAL} мс
+STR_FRAMERATE_MS_BAD :{RED}{DECIMAL} мс
+STR_FRAMERATE_FPS_GOOD :{LTBLUE}{DECIMAL} кадр{P "" а ов}/с
+STR_FRAMERATE_FPS_WARN :{YELLOW}{DECIMAL} кадр{P "" а ов}/с
+STR_FRAMERATE_FPS_BAD :{RED}{DECIMAL} кадр{P "" а ов}/с
STR_FRAMERATE_GRAPH_MILLISECONDS :{TINY_FONT}{COMMA} мс
STR_FRAMERATE_GRAPH_SECONDS :{TINY_FONT}{COMMA} с
############ Leave those lines in this order!!
-STR_FRAMERATE_GL_LINKGRAPH :{WHITE} Задержка графа распределения:
+STR_FRAMERATE_GL_LINKGRAPH :{BLACK} Задержка графа распределения:
############ End of leave-in-this-order
############ Leave those lines in this order!!
STR_FRAMETIME_CAPTION_GL_LINKGRAPH :Задержка графа распределения
diff --git a/src/lang/spanish_MX.txt b/src/lang/spanish_MX.txt
index 859fa94681..cd13c2dffc 100644
--- a/src/lang/spanish_MX.txt
+++ b/src/lang/spanish_MX.txt
@@ -283,7 +283,7 @@ STR_SORT_BY_CAPTION_DATE :{BLACK}Fecha
STR_SORT_BY_NAME :Nombre
STR_SORT_BY_PRODUCTION :Producción
STR_SORT_BY_TYPE :Tipo
-STR_SORT_BY_TRANSPORTED :Entregado
+STR_SORT_BY_TRANSPORTED :Transportado
STR_SORT_BY_NUMBER :Número
STR_SORT_BY_PROFIT_LAST_YEAR :Utilidad año pasado
STR_SORT_BY_PROFIT_THIS_YEAR :Utilidad este año
@@ -317,7 +317,7 @@ STR_SORT_BY_RATING :Evaluación
STR_TOOLBAR_TOOLTIP_PAUSE_GAME :{BLACK}Poner en pausa
STR_TOOLBAR_TOOLTIP_FORWARD :{BLACK}Avance rápido
STR_TOOLBAR_TOOLTIP_OPTIONS :{BLACK}Opciones
-STR_TOOLBAR_TOOLTIP_SAVE_GAME_ABANDON_GAME :{BLACK}Guardar partida, retirarse, salir
+STR_TOOLBAR_TOOLTIP_SAVE_GAME_ABANDON_GAME :{BLACK}Guardar partida, salir
STR_TOOLBAR_TOOLTIP_DISPLAY_MAP :{BLACK}Mostrar mapa, ventana de vista adicional o lista de carteles
STR_TOOLBAR_TOOLTIP_DISPLAY_TOWN_DIRECTORY :{BLACK}Mostrar guía de pueblos
STR_TOOLBAR_TOOLTIP_DISPLAY_SUBSIDIES :{BLACK}Mostrar subsidios
@@ -391,7 +391,7 @@ STR_SETTINGS_MENU_TRANSPARENT_SIGNS :Carteles transp
############ range for file menu starts
STR_FILE_MENU_SAVE_GAME :Guardar partida
STR_FILE_MENU_LOAD_GAME :Cargar partida
-STR_FILE_MENU_QUIT_GAME :Retirarse de la partida
+STR_FILE_MENU_QUIT_GAME :Salir de la partida
STR_FILE_MENU_SEPARATOR :
STR_FILE_MENU_EXIT :Salir
############ range ends here
@@ -1792,8 +1792,8 @@ STR_OSNAME_OS2 :OS/2
STR_OSNAME_SUNOS :SunOS
# Abandon game
-STR_ABANDON_GAME_CAPTION :{WHITE}Retirarse de la partida
-STR_ABANDON_GAME_QUERY :{YELLOW}¿Estás seguro de que deseas retirarte de esta partida?
+STR_ABANDON_GAME_CAPTION :{WHITE}Salir de la partida
+STR_ABANDON_GAME_QUERY :{YELLOW}¿Estás seguro de que deseas salir de esta partida?
STR_ABANDON_SCENARIO_QUERY :{YELLOW}¿Estás seguro de que deseas salir de este mapa?
# Cheat window
@@ -2568,7 +2568,7 @@ STR_INDUSTRY_CARGOES_HOUSES :{WHITE}Casas
STR_INDUSTRY_CARGOES_INDUSTRY_TOOLTIP :{BLACK}Clic en la industria para ver sus industrias proveedoras y receptoras
STR_INDUSTRY_CARGOES_CARGO_TOOLTIP :{BLACK}{STRING}{}Clic en el cargamento para ver sus industrias proveedoras y receptoras
STR_INDUSTRY_DISPLAY_CHAIN :{BLACK}Mostrar cadena
-STR_INDUSTRY_DISPLAY_CHAIN_TOOLTIP :{BLACK}Mostrar las industrias que proveen y reciben el cargamento
+STR_INDUSTRY_DISPLAY_CHAIN_TOOLTIP :{BLACK}Mostrar las industrias que proveen y aceptan el cargamento
STR_INDUSTRY_CARGOES_NOTIFY_SMALLMAP :{BLACK}Ver en minimapa
STR_INDUSTRY_CARGOES_NOTIFY_SMALLMAP_TOOLTIP :{BLACK}Elegir y ver en el minimapa las industrias mostradas en el mapa principal
STR_INDUSTRY_CARGOES_SELECT_CARGO :{BLACK}Elegir cargamento
@@ -2596,7 +2596,7 @@ STR_LAND_AREA_INFORMATION_AIRPORT_CLASS :{BLACK}Tipo de
STR_LAND_AREA_INFORMATION_AIRPORT_NAME :{BLACK}Nombre del aeropuerto: {LTBLUE}{STRING}
STR_LAND_AREA_INFORMATION_AIRPORTTILE_NAME :{BLACK}Nombre de casilla del aeropuerto: {LTBLUE}{STRING}
STR_LAND_AREA_INFORMATION_NEWGRF_NAME :{BLACK}NewGRF: {LTBLUE}{STRING}
-STR_LAND_AREA_INFORMATION_CARGO_ACCEPTED :{BLACK}Cargamento recibido: {LTBLUE}
+STR_LAND_AREA_INFORMATION_CARGO_ACCEPTED :{BLACK}Cargamento aceptado: {LTBLUE}
STR_LAND_AREA_INFORMATION_CARGO_EIGHTS :({COMMA}/8 {STRING})
STR_LANG_AREA_INFORMATION_RAIL_TYPE :{BLACK}Tipo de vía: {LTBLUE}{STRING}
STR_LANG_AREA_INFORMATION_RAIL_SPEED_LIMIT :{BLACK}Límite de velocidad de ferrocarril: {LTBLUE}{VELOCITY}
@@ -3338,15 +3338,15 @@ STR_COMPANY_INFRASTRUCTURE_VIEW_TOTAL :{WHITE}{CURRENC
# Industry directory
STR_INDUSTRY_DIRECTORY_CAPTION :{WHITE}Industrias
STR_INDUSTRY_DIRECTORY_NONE :{ORANGE}- Ninguna -
-STR_INDUSTRY_DIRECTORY_ITEM :{ORANGE}{INDUSTRY}{BLACK} ({CARGO_LONG}{STRING}){YELLOW} ({COMMA}% entregado)
-STR_INDUSTRY_DIRECTORY_ITEM_TWO :{ORANGE}{INDUSTRY}{BLACK} ({CARGO_LONG}{STRING}, {CARGO_LONG}{STRING}){YELLOW} ({COMMA}%, {COMMA}% entregado)
+STR_INDUSTRY_DIRECTORY_ITEM :{ORANGE}{INDUSTRY}{BLACK} ({CARGO_LONG}{STRING}){YELLOW} ({COMMA}% transportado)
+STR_INDUSTRY_DIRECTORY_ITEM_TWO :{ORANGE}{INDUSTRY}{BLACK} ({CARGO_LONG}{STRING}, {CARGO_LONG}{STRING}){YELLOW} ({COMMA}%, {COMMA}% transportado)
STR_INDUSTRY_DIRECTORY_ITEM_NOPROD :{ORANGE}{INDUSTRY}
STR_INDUSTRY_DIRECTORY_LIST_CAPTION :{BLACK}Nombre de industria: Clic en un nombre para centrar la vista principal en la industria. Ctrl+Clic abre una ventana de vista en dicha ubicación
# Industry view
STR_INDUSTRY_VIEW_CAPTION :{WHITE}{INDUSTRY}
STR_INDUSTRY_VIEW_PRODUCTION_LAST_MONTH_TITLE :{BLACK}Producción mes pasado:
-STR_INDUSTRY_VIEW_TRANSPORTED :{YELLOW}{CARGO_LONG}{STRING}{BLACK} ({COMMA}% entregado)
+STR_INDUSTRY_VIEW_TRANSPORTED :{YELLOW}{CARGO_LONG}{STRING}{BLACK} ({COMMA}% transportado)
STR_INDUSTRY_VIEW_LOCATION_TOOLTIP :{BLACK}Centrar la vista sobre la industria. Ctrl+Clic abre una ventana de vista en dicha ubicación
STR_INDUSTRY_VIEW_PRODUCTION_LEVEL :{BLACK}Nivel de producción: {YELLOW}{COMMA}%
STR_INDUSTRY_VIEW_INDUSTRY_ANNOUNCED_CLOSURE :{YELLOW}¡La industria ha anunciado su cierre inminente!
diff --git a/src/network/core/core.cpp b/src/network/core/core.cpp
index 7a2ad92a29..c8db860dd5 100644
--- a/src/network/core/core.cpp
+++ b/src/network/core/core.cpp
@@ -64,7 +64,7 @@ bool NetworkCoreInitialize()
#endif /* __MORPHOS__ / __AMIGA__ */
/* Let's load the network in windows */
-#ifdef WIN32
+#ifdef _WIN32
{
WSADATA wsa;
DEBUG(net, 3, "[core] loading windows socket library");
@@ -73,7 +73,7 @@ bool NetworkCoreInitialize()
return false;
}
}
-#endif /* WIN32 */
+#endif /* _WIN32 */
return true;
}
@@ -94,7 +94,7 @@ void NetworkCoreShutdown()
if (SocketBase != NULL) CloseLibrary(SocketBase);
#endif
-#if defined(WIN32)
+#if defined(_WIN32)
WSACleanup();
#endif
}
diff --git a/src/network/core/host.cpp b/src/network/core/host.cpp
index e431dde9fc..216839032b 100644
--- a/src/network/core/host.cpp
+++ b/src/network/core/host.cpp
@@ -107,7 +107,7 @@ static void NetworkFindBroadcastIPsInternal(NetworkAddressList *broadcast) // GE
freeifaddrs(ifap);
}
-#elif defined(WIN32)
+#elif defined(_WIN32)
static void NetworkFindBroadcastIPsInternal(NetworkAddressList *broadcast) // Win32 implementation
{
SOCKET sock = socket(AF_INET, SOCK_DGRAM, 0);
diff --git a/src/network/core/os_abstraction.h b/src/network/core/os_abstraction.h
index c24cc9f8fe..c320cd9102 100644
--- a/src/network/core/os_abstraction.h
+++ b/src/network/core/os_abstraction.h
@@ -21,7 +21,7 @@
#ifdef ENABLE_NETWORK
/* Windows stuff */
-#if defined(WIN32) || defined(WIN64)
+#if defined(_WIN32)
#include
#include
#include
@@ -125,7 +125,7 @@ static inline void OTTDfreeaddrinfo(struct addrinfo *ai)
}
#define freeaddrinfo OTTDfreeaddrinfo
#endif /* __MINGW32__ && __CYGWIN__ */
-#endif /* WIN32 */
+#endif /* _WIN32 */
/* UNIX stuff */
#if defined(UNIX) && !defined(__OS2__)
@@ -290,7 +290,7 @@ typedef unsigned long in_addr_t;
*/
static inline bool SetNonBlocking(SOCKET d)
{
-#ifdef WIN32
+#ifdef _WIN32
u_long nonblocking = 1;
#else
int nonblocking = 1;
diff --git a/src/openttd.cpp b/src/openttd.cpp
index 82af3f57dd..afc842b5e5 100644
--- a/src/openttd.cpp
+++ b/src/openttd.cpp
@@ -206,7 +206,7 @@ static void ShowHelp()
" -P password = Password to join company\n"
" -D [ip][:port] = Start dedicated server\n"
" -l ip[:port] = Redirect DEBUG()\n"
-#if !defined(__MORPHOS__) && !defined(__AMIGA__) && !defined(WIN32)
+#if !defined(__MORPHOS__) && !defined(__AMIGA__) && !defined(_WIN32)
" -f = Fork into the background (dedicated only)\n"
#endif
#endif /* ENABLE_NETWORK */
@@ -250,7 +250,7 @@ static void ShowHelp()
/* ShowInfo put output to stderr, but version information should go
* to stdout; this is the only exception */
-#if !defined(WIN32) && !defined(WIN64)
+#if !defined(_WIN32)
printf("%s\n", buf);
#else
ShowInfo(buf);
@@ -301,7 +301,7 @@ static void WriteSavegameInfo(const char *name)
/* ShowInfo put output to stderr, but version information should go
* to stdout; this is the only exception */
-#if !defined(WIN32) && !defined(WIN64)
+#if !defined(_WIN32)
printf("%s\n", buf);
#else
ShowInfo(buf);
@@ -576,7 +576,7 @@ static const OptionData _options[] = {
GETOPT_SHORT_VALUE('l'),
GETOPT_SHORT_VALUE('p'),
GETOPT_SHORT_VALUE('P'),
-#if !defined(__MORPHOS__) && !defined(__AMIGA__) && !defined(WIN32)
+#if !defined(__MORPHOS__) && !defined(__AMIGA__) && !defined(_WIN32)
GETOPT_SHORT_NOVAL('f'),
#endif
#endif /* ENABLE_NETWORK */
@@ -678,7 +678,7 @@ int openttd_main(int argc, char *argv[])
case 'r': ParseResolution(&resolution, mgo.opt); break;
case 't': scanner->startyear = atoi(mgo.opt); break;
case 'd': {
-#if defined(WIN32)
+#if defined(_WIN32)
CreateConsole();
#endif
if (mgo.opt != NULL) SetDebugString(mgo.opt);
diff --git a/src/script/api/game/game_window.hpp.sq b/src/script/api/game/game_window.hpp.sq
index c0a0389a4f..16491e2cb8 100644
--- a/src/script/api/game/game_window.hpp.sq
+++ b/src/script/api/game/game_window.hpp.sq
@@ -440,6 +440,7 @@ void SQGSWindow_Register(Squirrel *engine)
SQGSWindow.DefSQConst(engine, ScriptWindow::WID_SL_CAPTION, "WID_SL_CAPTION");
SQGSWindow.DefSQConst(engine, ScriptWindow::WID_SL_SORT_BYNAME, "WID_SL_SORT_BYNAME");
SQGSWindow.DefSQConst(engine, ScriptWindow::WID_SL_SORT_BYDATE, "WID_SL_SORT_BYDATE");
+ SQGSWindow.DefSQConst(engine, ScriptWindow::WID_SL_FILTER, "WID_SL_FILTER");
SQGSWindow.DefSQConst(engine, ScriptWindow::WID_SL_BACKGROUND, "WID_SL_BACKGROUND");
SQGSWindow.DefSQConst(engine, ScriptWindow::WID_SL_FILE_BACKGROUND, "WID_SL_FILE_BACKGROUND");
SQGSWindow.DefSQConst(engine, ScriptWindow::WID_SL_HOME_BUTTON, "WID_SL_HOME_BUTTON");
diff --git a/src/script/api/script_companymode.cpp b/src/script/api/script_companymode.cpp
index 1931a5db78..a5d3963a2d 100644
--- a/src/script/api/script_companymode.cpp
+++ b/src/script/api/script_companymode.cpp
@@ -10,6 +10,7 @@
/** @file script_companymode.cpp Implementation of ScriptCompanyMode. */
#include "../../stdafx.h"
+#include "../../company_base.h"
#include "script_companymode.hpp"
#include "../../safeguards.h"
@@ -17,6 +18,7 @@
ScriptCompanyMode::ScriptCompanyMode(int company)
{
if (company < OWNER_BEGIN || company >= MAX_COMPANIES) company = INVALID_COMPANY;
+ if (!::Company::IsValidID(company)) company = INVALID_COMPANY;
this->last_company = ScriptObject::GetCompany();
ScriptObject::SetCompany((CompanyID)company);
diff --git a/src/script/api/script_window.hpp b/src/script/api/script_window.hpp
index 0b64da9d1c..0ba4a338f3 100644
--- a/src/script/api/script_window.hpp
+++ b/src/script/api/script_window.hpp
@@ -1025,7 +1025,7 @@ public:
};
/* automatically generated from ../../widgets/cheat_widget.h */
- /** Widgets of the #CheatWindow class.. */
+ /** Widgets of the #CheatWindow class. */
enum CheatWidgets {
WID_C_PANEL = ::WID_C_PANEL, ///< Panel where all cheats are shown in.
};
@@ -1296,6 +1296,7 @@ public:
WID_SL_CAPTION = ::WID_SL_CAPTION, ///< Caption of the window.
WID_SL_SORT_BYNAME = ::WID_SL_SORT_BYNAME, ///< Sort by name button.
WID_SL_SORT_BYDATE = ::WID_SL_SORT_BYDATE, ///< Sort by date button.
+ WID_SL_FILTER = ::WID_SL_FILTER, ///< Filter list of files
WID_SL_BACKGROUND = ::WID_SL_BACKGROUND, ///< Background of window.
WID_SL_FILE_BACKGROUND = ::WID_SL_FILE_BACKGROUND, ///< Background of file selection.
WID_SL_HOME_BUTTON = ::WID_SL_HOME_BUTTON, ///< Home button.
diff --git a/src/script/script_scanner.cpp b/src/script/script_scanner.cpp
index 57265669f9..fe6d41cf92 100644
--- a/src/script/script_scanner.cpp
+++ b/src/script/script_scanner.cpp
@@ -134,7 +134,7 @@ void ScriptScanner::RegisterScript(ScriptInfo *info)
if (this->info_list.find(script_name) != this->info_list.end()) {
/* This script was already registered */
-#ifdef WIN32
+#ifdef _WIN32
/* Windows doesn't care about the case */
if (strcasecmp(this->info_list[script_name]->GetMainScript(), info->GetMainScript()) == 0) {
#else
diff --git a/src/sdl.h b/src/sdl.h
index ff1092358f..9033899a59 100644
--- a/src/sdl.h
+++ b/src/sdl.h
@@ -15,7 +15,7 @@
const char *SdlOpen(uint32 x);
void SdlClose(uint32 x);
-#ifdef WIN32
+#ifdef _WIN32
#define DYNAMICALLY_LOADED_SDL
#endif
diff --git a/src/settings.cpp b/src/settings.cpp
index c8b9fcb7d4..cfef5c699a 100644
--- a/src/settings.cpp
+++ b/src/settings.cpp
@@ -1795,9 +1795,9 @@ static void HandleSettingDescs(IniFile *ini, SettingDescProc *proc, SettingDescP
{
if (basic_settings) {
proc(ini, (const SettingDesc*)_misc_settings, "misc", NULL);
-#if defined(WIN32) && !defined(DEDICATED)
+#if defined(_WIN32) && !defined(DEDICATED)
proc(ini, (const SettingDesc*)_win32_settings, "win32", NULL);
-#endif /* WIN32 */
+#endif /* _WIN32 */
}
if (other_settings) {
diff --git a/src/settingsgen/settingsgen.cpp b/src/settingsgen/settingsgen.cpp
index ac6db6581c..298539417e 100644
--- a/src/settingsgen/settingsgen.cpp
+++ b/src/settingsgen/settingsgen.cpp
@@ -18,7 +18,7 @@
#include
-#if (!defined(WIN32) && !defined(WIN64)) || defined(__CYGWIN__)
+#if !defined(_WIN32) || defined(__CYGWIN__)
#include
#include
#endif
@@ -512,7 +512,7 @@ int CDECL main(int argc, char *argv[])
unlink(tmp_output);
} else {
/* Rename tmp2.xxx to output file. */
-#if defined(WIN32) || defined(WIN64)
+#if defined(_WIN32)
unlink(output_file);
#endif
if (rename(tmp_output, output_file) == -1) error("rename() failed");
diff --git a/src/stdafx.h b/src/stdafx.h
index 1e6e849c28..ae49310c12 100644
--- a/src/stdafx.h
+++ b/src/stdafx.h
@@ -163,7 +163,7 @@
#include // alloca()
#endif
-#if defined(WIN32)
+#if defined(_WIN32)
#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers
#endif
@@ -228,25 +228,32 @@
#define FALLTHROUGH
#endif
- #if defined(WIN32) && !defined(_WIN64) && !defined(WIN64)
+# if defined(_WIN32) && !defined(_WIN64)
#if !defined(_W64)
#define _W64
#endif
typedef _W64 int INT_PTR, *PINT_PTR;
typedef _W64 unsigned int UINT_PTR, *PUINT_PTR;
- #endif /* WIN32 && !_WIN64 && !WIN64 */
+# endif /* _WIN32 && !_WIN64 */
- #if defined(_WIN64) || defined(WIN64)
+# if defined(_WIN64)
#define fseek _fseeki64
- #endif /* _WIN64 || WIN64 */
+# endif /* _WIN64 */
- /* This is needed to zlib uses the stdcall calling convention on visual studio */
- #if defined(WITH_ZLIB) || defined(WITH_PNG)
- #if !defined(ZLIB_WINAPI)
- #define ZLIB_WINAPI
- #endif
- #endif
+ /* zlib from vcpkg use cdecl calling convention without enforcing it in the headers */
+# if defined(WITH_ZLIB)
+# if !defined(ZEXPORT)
+# define ZEXPORT CDECL
+# endif
+# endif
+
+ /* freetype from vcpkg use cdecl calling convention without enforcing it in the headers */
+# if defined(WITH_FREETYPE)
+# if !defined(FT_EXPORT)
+# define FT_EXPORT( x ) extern "C" x CDECL
+# endif
+# endif
#define strcasecmp stricmp
#define strncasecmp strnicmp
@@ -270,7 +277,7 @@
/* NOTE: the string returned by these functions is only valid until the next
* call to the same function and is not thread- or reentrancy-safe */
#if !defined(STRGEN) && !defined(SETTINGSGEN)
- #if defined(WIN32) || defined(WIN64)
+# if defined(_WIN32)
char *getcwd(char *buf, size_t size);
#include
#include
@@ -281,14 +288,14 @@
const char *FS2OTTD(const TCHAR *name);
const TCHAR *OTTD2FS(const char *name, bool console_cp = false);
- #else
+# else
#define fopen(file, mode) fopen(OTTD2FS(file), mode)
const char *FS2OTTD(const char *name);
const char *OTTD2FS(const char *name);
- #endif /* WIN32 */
+# endif /* _WIN32 */
#endif /* STRGEN || SETTINGSGEN */
-#if defined(WIN32) || defined(WIN64) || defined(__OS2__) && !defined(__INNOTEK_LIBC__)
+#if defined(_WIN32) || defined(__OS2__) && !defined(__INNOTEK_LIBC__)
#define PATHSEP "\\"
#define PATHSEPCHAR '\\'
#else
diff --git a/src/strgen/strgen.cpp b/src/strgen/strgen.cpp
index c231717dac..44cbd127a1 100644
--- a/src/strgen/strgen.cpp
+++ b/src/strgen/strgen.cpp
@@ -21,14 +21,14 @@
#include
#include
-#if (!defined(WIN32) && !defined(WIN64)) || defined(__CYGWIN__)
+#if !defined(_WIN32) || defined(__CYGWIN__)
#include
#include
#endif
-#if defined WIN32 || defined __WATCOMC__
+#if defined(_WIN32) || defined(__WATCOMC__)
#include
-#endif /* WIN32 || __WATCOMC__ */
+#endif /* _WIN32 || __WATCOMC__ */
#ifdef __MORPHOS__
#ifdef stderr
@@ -333,9 +333,9 @@ struct HeaderFileWriter : HeaderWriter, FileWriter {
unlink(this->filename);
} else {
/* else rename tmp.xxx into filename */
- #if defined(WIN32) || defined(WIN64)
+# if defined(_WIN32)
unlink(this->real_filename);
- #endif
+# endif
if (rename(this->filename, this->real_filename) == -1) error("rename() failed");
}
}
@@ -377,7 +377,7 @@ static inline void ottd_mkdir(const char *directory)
{
/* Ignore directory creation errors; they'll surface later on, and most
* of the time they are 'directory already exists' errors anyhow. */
-#if defined(WIN32) || defined(__WATCOMC__)
+#if defined(_WIN32) || defined(__WATCOMC__)
mkdir(directory);
#else
mkdir(directory, 0755);
diff --git a/src/string.cpp b/src/string.cpp
index 64b3b553c6..c750473853 100644
--- a/src/string.cpp
+++ b/src/string.cpp
@@ -25,7 +25,7 @@
#include // required by vsnprintf implementation for MSVC
#endif
-#ifdef WIN32
+#ifdef _WIN32
#include "os/windows/win32.h"
#endif
@@ -414,7 +414,7 @@ bool IsValidChar(WChar key, CharSetFilter afilter)
}
}
-#ifdef WIN32
+#ifdef _WIN32
#if defined(_MSC_VER) && _MSC_VER < 1900
/**
* Almost POSIX compliant implementation of \c vsnprintf for VC compiler.
@@ -450,7 +450,7 @@ int CDECL vsnprintf(char *str, size_t size, const char *format, va_list ap)
}
#endif /* _MSC_VER */
-#endif /* WIN32 */
+#endif /* _WIN32 */
/**
* Safer implementation of snprintf; same as snprintf except:
@@ -678,7 +678,7 @@ int strnatcmp(const char *s1, const char *s2, bool ignore_garbage_at_front)
}
#endif /* WITH_ICU_SORT */
-#if defined(WIN32) && !defined(STRGEN) && !defined(SETTINGSGEN)
+#if defined(_WIN32) && !defined(STRGEN) && !defined(SETTINGSGEN)
int res = OTTDStringCompare(s1, s2);
if (res != 0) return res - 2; // Convert to normal C return values.
#endif
diff --git a/src/strings.cpp b/src/strings.cpp
index 1f72c14b38..4c2086c127 100644
--- a/src/strings.cpp
+++ b/src/strings.cpp
@@ -2046,7 +2046,7 @@ bool ReadLanguagePack(const LanguageMetadata *lang)
strecpy(_config_language_file, c_file, lastof(_config_language_file));
SetCurrentGrfLangID(_current_language->newgrflangid);
-#ifdef WIN32
+#ifdef _WIN32
extern void Win32SetCurrentLocaleName(const char *iso_code);
Win32SetCurrentLocaleName(_current_language->isocode);
#endif
@@ -2098,7 +2098,7 @@ bool ReadLanguagePack(const LanguageMetadata *lang)
/* Win32 implementation in win32.cpp.
* OS X implementation in os/macosx/macos.mm. */
-#if !(defined(WIN32) || defined(__APPLE__))
+#if !(defined(_WIN32) || defined(__APPLE__))
/**
* Determine the current charset based on the environment
* First check some default values, after this one we passed ourselves
@@ -2126,7 +2126,7 @@ const char *GetCurrentLocale(const char *param)
}
#else
const char *GetCurrentLocale(const char *param);
-#endif /* !(defined(WIN32) || defined(__APPLE__)) */
+#endif /* !(defined(_WIN32) || defined(__APPLE__)) */
int CDECL StringIDSorter(const StringID *a, const StringID *b)
{
diff --git a/src/table/win32_settings.ini b/src/table/win32_settings.ini
index e85ad9034b..a0710cc333 100644
--- a/src/table/win32_settings.ini
+++ b/src/table/win32_settings.ini
@@ -8,14 +8,14 @@
[pre-amble]
/* win32_v.cpp only settings */
-#if defined(WIN32) && !defined(DEDICATED)
+#if defined(_WIN32) && !defined(DEDICATED)
extern bool _force_full_redraw, _window_maximize;
extern uint _display_hz;
static const SettingDescGlobVarList _win32_settings[] = {
[post-amble]
};
-#endif /* WIN32 */
+#endif /* _WIN32 */
[templates]
SDTG_BOOL = SDTG_BOOL($name, $flags, $guiflags, $var, $def, $str, $strhelp, $strval, $proc, $from, $to, $cat, $extver, NULL),
SDTG_VAR = SDTG_VAR($name, $type, $flags, $guiflags, $var, $def, $min, $max, $interval, $str, $strhelp, $strval, $proc, $from, $to, $cat, $extver, NULL, $orderproc),
diff --git a/src/video/dedicated_v.cpp b/src/video/dedicated_v.cpp
index aaadd94614..47fa64231a 100644
--- a/src/video/dedicated_v.cpp
+++ b/src/video/dedicated_v.cpp
@@ -73,7 +73,7 @@ static void DedicatedSignalHandler(int sig)
}
#endif
-#if defined(WIN32)
+#if defined(_WIN32)
# include /* GetTickCount */
# include
# include
@@ -150,7 +150,7 @@ const char *VideoDriver_Dedicated::Start(const char * const *parm)
ScreenSizeChanged();
BlitterFactory::GetCurrentBlitter()->PostResize();
-#if defined(WIN32)
+#if defined(_WIN32)
/* For win32 we need to allocate a console (debug mode does the same) */
CreateConsole();
CreateWindowsConsoleThread();
@@ -173,7 +173,7 @@ const char *VideoDriver_Dedicated::Start(const char * const *parm)
void VideoDriver_Dedicated::Stop()
{
-#ifdef WIN32
+#ifdef _WIN32
CloseWindowsConsoleThread();
#endif
free(_dedicated_video_mem);
diff --git a/src/video/sdl_v.cpp b/src/video/sdl_v.cpp
index f40c4b6461..e96decb451 100644
--- a/src/video/sdl_v.cpp
+++ b/src/video/sdl_v.cpp
@@ -264,7 +264,7 @@ static void GetAvailableVideoMode(uint *w, uint *h)
*h = _resolutions[best].height;
}
-#ifdef WIN32
+#ifdef _WIN32
/* Let's redefine the LoadBMP macro with because we are dynamically
* loading SDL and need to 'SDL_CALL' all functions */
#undef SDL_LoadBMP
@@ -500,7 +500,7 @@ static uint ConvertSdlKeyIntoMy(SDL_keysym *sym, WChar *character)
}
/* check scancode for BACKQUOTE key, because we want the key left of "1", not anything else (on non-US keyboards) */
-#if defined(WIN32) || defined(__OS2__)
+#if defined(_WIN32) || defined(__OS2__)
if (sym->scancode == 41) key = WKC_BACKQUOTE;
#elif defined(__APPLE__)
if (sym->scancode == 10) key = WKC_BACKQUOTE;