Compare commits
105 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5cb0f843f1 | ||
|
|
a8a5328716 | ||
|
|
7317193d3d | ||
|
|
0bde1d1cbe | ||
|
|
170e4dbc48 | ||
|
|
00dea17ecf | ||
|
|
f6643952ce | ||
|
|
8808c6d033 | ||
|
|
c7ace459a7 | ||
|
|
acb63cb4d4 | ||
|
|
fb8f4119f3 | ||
|
|
7653def300 | ||
|
|
224bb105bc | ||
|
|
e5021a0587 | ||
|
|
fb51a18357 | ||
|
|
9f1d80e93b | ||
|
|
6369e0693d | ||
|
|
da086a3fde | ||
|
|
83f1839e71 | ||
|
|
8afc1a7253 | ||
|
|
c70d12ee38 | ||
|
|
ee7ca008c9 | ||
|
|
b18c2d140c | ||
|
|
a76e5e1970 | ||
|
|
59e4ccd7dc | ||
|
|
ffcda991e7 | ||
|
|
4eef03cee5 | ||
|
|
728ea1ee26 | ||
|
|
70e2af6815 | ||
|
|
1ec2b88fca | ||
|
|
980a5b503f | ||
|
|
dd2c249473 | ||
|
|
08f144fabe | ||
|
|
e48e4affba | ||
|
|
d10728e6e6 | ||
|
|
74a12d6f9b | ||
|
|
f3af815cc1 | ||
|
|
a6be307972 | ||
|
|
bd088d7906 | ||
|
|
8d77ef37a8 | ||
|
|
b5fcfde012 | ||
|
|
b1197073d2 | ||
|
|
3e66fd1b09 | ||
|
|
7c83466438 | ||
|
|
151394b8ff | ||
|
|
a82f21f24d | ||
|
|
46908fb63a | ||
|
|
8efa99f445 | ||
|
|
c6251426d9 | ||
|
|
9026736cc1 | ||
|
|
b7a2166962 | ||
|
|
8ea68421b1 | ||
|
|
afc5962881 | ||
|
|
9239381d56 | ||
|
|
9dded61af9 | ||
|
|
8fbc5c090b | ||
|
|
00bdd316d7 | ||
|
|
f34284f1a0 | ||
|
|
c77659c995 | ||
|
|
e6877d0823 | ||
|
|
beba12f9d6 | ||
|
|
95fd4ec649 | ||
|
|
0fa41c7493 | ||
|
|
60cbcf0742 | ||
|
|
e38a4e1e57 | ||
|
|
5965f184c2 | ||
|
|
db20c7f461 | ||
|
|
e2e8872e82 | ||
|
|
4750d2836c | ||
|
|
b1c31f9500 | ||
|
|
a6879e9180 | ||
|
|
5eb7d49024 | ||
|
|
69c0332813 | ||
|
|
b11942cf44 | ||
|
|
ef6995e8d4 | ||
|
|
c0fd2b969b | ||
|
|
683778fd7a | ||
|
|
63eeadef17 | ||
|
|
e526b2ccd3 | ||
|
|
0d5baeef63 | ||
|
|
ceed81200e | ||
|
|
d6c71b0f3b | ||
|
|
5c5eebcd5c | ||
|
|
bfab61057c | ||
|
|
c1febca55f | ||
|
|
9cec19dd4f | ||
|
|
a4d53d80e9 | ||
|
|
edc3abcd88 | ||
|
|
71fb27561b | ||
|
|
39d5c048e3 | ||
|
|
b067aee235 | ||
|
|
28cd775717 | ||
|
|
f8d4bfb1b7 | ||
|
|
29a28f5c9c | ||
|
|
6dc675ac3c | ||
|
|
b61ef7e0d2 | ||
|
|
120d76c5c1 | ||
|
|
316ecb07ee | ||
|
|
2c21f52e1d | ||
|
|
0a8e9e9757 | ||
|
|
6bfec89fcf | ||
|
|
1f39a31eb7 | ||
|
|
abc0325ef1 | ||
|
|
54451a18c6 | ||
|
|
d3e9e8c2ce |
2
.ottdrev
2
.ottdrev
@@ -1 +1 @@
|
|||||||
1.8.0 28002 0 1.8.0
|
1.9.3 20190916 0 f6643952ce53b1823c2273964466f785a907ec1a 1 1
|
||||||
|
|||||||
@@ -38,10 +38,14 @@ jobs:
|
|||||||
|
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
commit-checker: {}
|
commit-checker:
|
||||||
linux-amd64-clang-3.8: {}
|
Tag: 'commit-checker'
|
||||||
linux-amd64-gcc-6: {}
|
linux-amd64-clang-3.8:
|
||||||
linux-i386-gcc-6: {}
|
Tag: 'linux-amd64-clang-3.8'
|
||||||
|
linux-amd64-gcc-6:
|
||||||
|
Tag: 'linux-amd64-gcc-6'
|
||||||
|
linux-i386-gcc-6:
|
||||||
|
Tag: 'linux-i386-gcc-6'
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- template: azure-pipelines/templates/ci-git-rebase.yml
|
- template: azure-pipelines/templates/ci-git-rebase.yml
|
||||||
@@ -50,7 +54,7 @@ jobs:
|
|||||||
- template: azure-pipelines/templates/linux-build.yml
|
- template: azure-pipelines/templates/linux-build.yml
|
||||||
parameters:
|
parameters:
|
||||||
Image: compile-farm-ci
|
Image: compile-farm-ci
|
||||||
Tag: $(Agent.JobName)
|
Tag: $(Tag)
|
||||||
|
|
||||||
- job: macos
|
- job: macos
|
||||||
displayName: 'MacOS'
|
displayName: 'MacOS'
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ steps:
|
|||||||
${{ if eq(parameters.Image, 'compile-farm-ci') }}:
|
${{ if eq(parameters.Image, 'compile-farm-ci') }}:
|
||||||
displayName: 'Build and test'
|
displayName: 'Build and test'
|
||||||
# Run the commit-checker only if it is a Pull Request
|
# Run the commit-checker only if it is a Pull Request
|
||||||
condition: and(succeeded(), or(ne(variables['Agent.JobName'], 'commit-checker'), eq(variables['Build.Reason'], 'PullRequest')))
|
condition: and(succeeded(), or(not(contains(variables['Agent.JobName'], 'commit-checker')), eq(variables['Build.Reason'], 'PullRequest')))
|
||||||
inputs:
|
inputs:
|
||||||
command: 'Run an image'
|
command: 'Run an image'
|
||||||
imageName: openttd/${{ parameters.Image }}:${{ parameters.Tag }}
|
imageName: openttd/${{ parameters.Image }}:${{ parameters.Tag }}
|
||||||
|
|||||||
@@ -110,14 +110,22 @@ jobs:
|
|||||||
|
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
linux-ubuntu-xenial-i386-gcc: {}
|
linux-ubuntu-xenial-i386-gcc:
|
||||||
linux-ubuntu-xenial-amd64-gcc: {}
|
Tag: 'linux-ubuntu-xenial-i386-gcc'
|
||||||
linux-ubuntu-bionic-i386-gcc: {}
|
linux-ubuntu-xenial-amd64-gcc:
|
||||||
linux-ubuntu-bionic-amd64-gcc: {}
|
Tag: 'linux-ubuntu-xenial-amd64-gcc'
|
||||||
linux-debian-jessie-i386-gcc: {}
|
linux-ubuntu-bionic-i386-gcc:
|
||||||
linux-debian-jessie-amd64-gcc: {}
|
Tag: 'linux-ubuntu-bionic-i386-gcc'
|
||||||
linux-debian-stretch-i386-gcc: {}
|
linux-ubuntu-bionic-amd64-gcc:
|
||||||
linux-debian-stretch-amd64-gcc: {}
|
Tag: 'linux-ubuntu-bionic-amd64-gcc'
|
||||||
|
linux-debian-jessie-i386-gcc:
|
||||||
|
Tag: 'linux-debian-jessie-i386-gcc'
|
||||||
|
linux-debian-jessie-amd64-gcc:
|
||||||
|
Tag: 'linux-debian-jessie-amd64-gcc'
|
||||||
|
linux-debian-stretch-i386-gcc:
|
||||||
|
Tag: 'linux-debian-stretch-i386-gcc'
|
||||||
|
linux-debian-stretch-amd64-gcc:
|
||||||
|
Tag: 'linux-debian-stretch-amd64-gcc'
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- template: release-fetch-source.yml
|
- template: release-fetch-source.yml
|
||||||
@@ -125,7 +133,7 @@ jobs:
|
|||||||
parameters:
|
parameters:
|
||||||
Image: compile-farm
|
Image: compile-farm
|
||||||
ContainerCommand: '$(Build.BuildNumber)'
|
ContainerCommand: '$(Build.BuildNumber)'
|
||||||
Tag: $(Agent.JobName)
|
Tag: $(Tag)
|
||||||
- template: linux-claim-bundles.yml
|
- template: linux-claim-bundles.yml
|
||||||
- template: release-bundles.yml
|
- template: release-bundles.yml
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +1,62 @@
|
|||||||
|
1.9.3 (2019-09-16)
|
||||||
|
------------------------------------------------------------------------
|
||||||
|
- Change: Use natural sort when sorting the file list (#7727)
|
||||||
|
- Fix #7479: Don't close construction windows when changing client name (#7728)
|
||||||
|
- Fix #7731: Files sorting by modification time on Windows XP (#7731)
|
||||||
|
- Fix #7644: [OSX] Better solution for colourspace/performance issues (#7741)
|
||||||
|
|
||||||
|
|
||||||
|
1.9.3-RC1 (2019-09-07)
|
||||||
|
------------------------------------------------------------------------
|
||||||
|
- Add: Can now click industries to make orders to their neutral station (e.g. oil rig) (#7709)
|
||||||
|
- Fix #7644: [OSX] Poor framerate on certain systems (#7721)
|
||||||
|
- Fix #7702: Highscore screen UI scaling (#7714)
|
||||||
|
- Fix #7704: [OSX] Handle malformed UTF8 strings, leading to crashes in server browser (#7705)
|
||||||
|
- Fix #7188: [AI] Possible crash when reloading an AI in multiplayer games (#7701, #7725)
|
||||||
|
- Fix: RemoveAirport function now returns 'Aircraft in the way' error message when occupied (#7690)
|
||||||
|
- Fix: Spelling in running costs setting help text (#7686)
|
||||||
|
- Fix #7655: 'Decrease' buttons in cheat window not working properly with UI scaling (#7669)
|
||||||
|
- Fix: [GS] Could not create elements on Storybook pages with ID > 255 (#7657)
|
||||||
|
- Fix #7626: Allow building road stops over town-owned one-way roads, instead of crashing (#7627)
|
||||||
|
|
||||||
|
|
||||||
|
1.9.2 (2019-07-07)
|
||||||
|
------------------------------------------------------------------------
|
||||||
|
- Change: Set default setting in server browser of "Advertised" to "Yes" (#7568)
|
||||||
|
- Change: Allow building road stops over self-owned one-way/blocked road (#7547)
|
||||||
|
- Fix #7463: Promote scroll mode setting to basic category (#7586)
|
||||||
|
- Fix: Inconsistent GUI scaling (#7539)
|
||||||
|
- Fix #7491: Send company update admin message when bankruptcy counter changes (#7492)
|
||||||
|
- Fix #7553: Check bounds when loading strings (#7554)
|
||||||
|
- Fix: Really increase the maximum number of GameScript texts to 64k (#7555)
|
||||||
|
- Fix: Crash when attempting to load old save game with GRFs set (#7546)
|
||||||
|
- Fix #6507: Don't try to load invalid depots from older savegames (#7546)
|
||||||
|
- Fix: Railtype bits were moved too late, leading to rails under bridges losing their type (#7546)
|
||||||
|
- Fix: Bounds check access to railtype_map (#7529)
|
||||||
|
- Fix: Spurious errors when using more than 32 railtypes (#7533)
|
||||||
|
- Fix #7633: Allow zero-cost track conversion to succeed (#7634)
|
||||||
|
- Fix #7577: Check if linkgraph station index is valid before dereferencing (#7583)
|
||||||
|
- Fix #7224: Drag and drop vehicle group creation does not work correctly (#7581)
|
||||||
|
- Fix #7570: Show Github URL in the crashlog window (#7571)
|
||||||
|
- Fix: Clicking on scrollbar 'thumb' moved position up instantly (#7549)
|
||||||
|
- Fix #7255: Prevent crashlog corruption by only printing the 32 most recent news messages (#7542)
|
||||||
|
- Fix #5685: Check for free wagons in ScriptVehicleList (#7617)
|
||||||
|
- Fix: Make GSGoal.QuestionClient work correctly at least for clients with ID < 2**16 (#7560)
|
||||||
|
- Fix #6666: Mismatched parentheses in RTL languages (#7480)
|
||||||
|
- Fix: [Windows] Various reliability and correctness improvements to MIDI on Windows (#7620)
|
||||||
|
|
||||||
|
|
||||||
|
1.9.1 (2019-04-08)
|
||||||
|
------------------------------------------------------------------------
|
||||||
|
- Fix #6564: Enforce types of arguments for station name strings (#7419)
|
||||||
|
- Fix #7433: Don't use AirportSpec substitute if it's not enabled (#7435)
|
||||||
|
- Fix #7447, #7466, #7476: Missing NewGRF strings due to Action 4 feature check skipping pseudo-feature 48 (#7449)
|
||||||
|
- Fix #6222: Advanced sprite layout sometimes showed incorrect railtype ground tile. (#7460)
|
||||||
|
- Fix #7439: CompanyRemoveReason overwritten by ClientID (#7465)
|
||||||
|
- Fix: [Windows] Incorrect error handling could lead to cascading error windows (#7482)
|
||||||
|
- Fix #7478: Don't remove NewGRF objects on company take-over. (#7483)
|
||||||
|
|
||||||
|
|
||||||
1.9.0 (2019-04-01)
|
1.9.0 (2019-04-01)
|
||||||
------------------------------------------------------------------------
|
------------------------------------------------------------------------
|
||||||
- Fix #7411: Use industry production callback (if used) on initial industry cargo generation (#7412)
|
- Fix #7411: Use industry production callback (if used) on initial industry cargo generation (#7412)
|
||||||
|
|||||||
20
config.lib
20
config.lib
@@ -560,9 +560,9 @@ check_params() {
|
|||||||
# Check if all params have valid values
|
# Check if all params have valid values
|
||||||
|
|
||||||
# OS only allows DETECT, UNIX, OSX, FREEBSD, DRAGONFLY, OPENBSD, NETBSD, MORPHOS, BEOS, HAIKU, SUNOS, CYGWIN, MINGW, OS2, and DOS
|
# OS only allows DETECT, UNIX, OSX, FREEBSD, DRAGONFLY, OPENBSD, NETBSD, MORPHOS, BEOS, HAIKU, SUNOS, CYGWIN, MINGW, OS2, and DOS
|
||||||
if [ -z "`echo $os | egrep '^(DETECT|UNIX|OSX|FREEBSD|DRAGONFLY|OPENBSD|NETBSD|HPUX|MORPHOS|BEOS|HAIKU|SUNOS|CYGWIN|MINGW|OS2|DOS)$'`" ]; then
|
if [ -z "`echo $os | egrep '^(DETECT|UNIX|OSX|FREEBSD|DRAGONFLY|OPENBSD|NETBSD|HPUX|MORPHOS|BEOS|HAIKU|SUNOS|CYGWIN|MINGW|OS2|DOS|ANDROID)$'`" ]; then
|
||||||
log 1 "configure: error: invalid option --os=$os"
|
log 1 "configure: error: invalid option --os=$os"
|
||||||
log 1 " Available options are: --os=[DETECT|UNIX|OSX|FREEBSD|DRAGONFLY|OPENBSD|NETBSD|HPUX|MORPHOS|BEOS|HAIKU|SUNOS|CYGWIN|MINGW|OS2|DOS]"
|
log 1 " Available options are: --os=[DETECT|UNIX|OSX|FREEBSD|DRAGONFLY|OPENBSD|NETBSD|HPUX|MORPHOS|BEOS|HAIKU|SUNOS|CYGWIN|MINGW|OS2|DOS|ANDROID]"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
# cpu_type can be either 32 or 64
|
# cpu_type can be either 32 or 64
|
||||||
@@ -1616,7 +1616,7 @@ make_cflags_and_ldflags() {
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$os" != "CYGWIN" ] && [ "$os" != "HAIKU" ] && [ "$os" != "OPENBSD" ] && [ "$os" != "MINGW" ] && [ "$os" != "MORPHOS" ] && [ "$os" != "OSX" ] && [ "$os" != "DOS" ] && [ "$os" != "OS2" ]; then
|
if [ "$os" != "CYGWIN" ] && [ "$os" != "HAIKU" ] && [ "$os" != "OPENBSD" ] && [ "$os" != "MINGW" ] && [ "$os" != "MORPHOS" ] && [ "$os" != "OSX" ] && [ "$os" != "DOS" ] && [ "$os" != "OS2" ] && [ "$os" != "ANDROID" ]; then
|
||||||
LIBS="$LIBS -lpthread"
|
LIBS="$LIBS -lpthread"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -1657,7 +1657,7 @@ make_cflags_and_ldflags() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# Most targets act like UNIX, just with some additions
|
# Most targets act like UNIX, just with some additions
|
||||||
if [ "$os" = "BEOS" ] || [ "$os" = "HAIKU" ] || [ "$os" = "OSX" ] || [ "$os" = "MORPHOS" ] || [ "$os" = "FREEBSD" ] || [ "$os" = "DRAGONFLY" ] || [ "$os" = "OPENBSD" ] || [ "$os" = "NETBSD" ] || [ "$os" = "HPUX" ] || [ "$os" = "SUNOS" ] || [ "$os" = "OS2" ]; then
|
if [ "$os" = "BEOS" ] || [ "$os" = "HAIKU" ] || [ "$os" = "OSX" ] || [ "$os" = "MORPHOS" ] || [ "$os" = "FREEBSD" ] || [ "$os" = "DRAGONFLY" ] || [ "$os" = "OPENBSD" ] || [ "$os" = "NETBSD" ] || [ "$os" = "HPUX" ] || [ "$os" = "SUNOS" ] || [ "$os" = "OS2" ] || [ "$os" = "ANDROID" ]; then
|
||||||
CFLAGS="$CFLAGS -DUNIX"
|
CFLAGS="$CFLAGS -DUNIX"
|
||||||
fi
|
fi
|
||||||
# And others like Windows
|
# And others like Windows
|
||||||
@@ -1823,14 +1823,14 @@ make_cflags_and_ldflags() {
|
|||||||
CFLAGS="$CFLAGS -DWITH_XAUDIO2"
|
CFLAGS="$CFLAGS -DWITH_XAUDIO2"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -n "$libtimidity" ]; then
|
if [ -n "$libtimidity_config" ]; then
|
||||||
CFLAGS="$CFLAGS -DLIBTIMIDITY"
|
CFLAGS="$CFLAGS -DLIBTIMIDITY"
|
||||||
CFLAGS="$CFLAGS `$libtimidity --cflags | tr '\n\r' ' '`"
|
CFLAGS="$CFLAGS `$libtimidity_config --cflags | tr '\n\r' ' '`"
|
||||||
|
|
||||||
if [ "$enable_static" != "0" ]; then
|
if [ "$enable_static" != "0" ]; then
|
||||||
LIBS="$LIBS `$libtimidity --libs --static | tr '\n\r' ' '`"
|
LIBS="$LIBS `$libtimidity_config --libs --static | tr '\n\r' ' '`"
|
||||||
else
|
else
|
||||||
LIBS="$LIBS `$libtimidity --libs | tr '\n\r' ' '`"
|
LIBS="$LIBS `$libtimidity_config --libs | tr '\n\r' ' '`"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -2772,7 +2772,7 @@ detect_lzo2() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
detect_libtimidity() {
|
detect_libtimidity() {
|
||||||
detect_pkg_config "$with_libtimidity" "libtimidity" "libtimidity" "0.1" "1"
|
detect_pkg_config "$with_libtimidity" "libtimidity" "libtimidity_config" "0.1" "1"
|
||||||
}
|
}
|
||||||
|
|
||||||
detect_fluidsynth() {
|
detect_fluidsynth() {
|
||||||
@@ -3494,7 +3494,7 @@ showhelp() {
|
|||||||
echo " --os=OS the OS we are compiling for [DETECT]"
|
echo " --os=OS the OS we are compiling for [DETECT]"
|
||||||
echo " DETECT/UNIX/OSX/FREEBSD/DRAGONFLY/OPENBSD/"
|
echo " DETECT/UNIX/OSX/FREEBSD/DRAGONFLY/OPENBSD/"
|
||||||
echo " NETBSD/MORPHOS/HPUX/BEOS/SUNOS/CYGWIN/"
|
echo " NETBSD/MORPHOS/HPUX/BEOS/SUNOS/CYGWIN/"
|
||||||
echo " MINGW/OS2/DOS/HAIKU"
|
echo " MINGW/OS2/DOS/HAIKU/ANDROID"
|
||||||
echo ""
|
echo ""
|
||||||
echo "Paths:"
|
echo "Paths:"
|
||||||
echo " --prefix-dir=dir specifies the prefix for all installed"
|
echo " --prefix-dir=dir specifies the prefix for all installed"
|
||||||
|
|||||||
2
configure
vendored
2
configure
vendored
@@ -124,7 +124,7 @@ AWKCOMMAND='
|
|||||||
if ($0 == "MORPHOS" && "'$os'" != "MORPHOS") { next; }
|
if ($0 == "MORPHOS" && "'$os'" != "MORPHOS") { next; }
|
||||||
if ($0 == "MSVC" && "'$os'" != "MSVC") { next; }
|
if ($0 == "MSVC" && "'$os'" != "MSVC") { next; }
|
||||||
if ($0 == "DIRECTMUSIC" && "'$with_direct_music'" == "0") { next; }
|
if ($0 == "DIRECTMUSIC" && "'$with_direct_music'" == "0") { next; }
|
||||||
if ($0 == "LIBTIMIDITY" && "'$libtimidity'" == "" ) { next; }
|
if ($0 == "LIBTIMIDITY" && "'$libtimidity_config'" == "" ) { next; }
|
||||||
if ($0 == "FLUIDSYNTH" && "'$fluidsynth'" == "" ) { next; }
|
if ($0 == "FLUIDSYNTH" && "'$fluidsynth'" == "" ) { next; }
|
||||||
if ($0 == "HAVE_THREAD" && "'$with_threads'" == "0") { next; }
|
if ($0 == "HAVE_THREAD" && "'$with_threads'" == "0") { next; }
|
||||||
if ($0 == "SSE" && "'$with_sse'" != "1") { next; }
|
if ($0 == "SSE" && "'$with_sse'" != "1") { next; }
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
OpenTTD's known bugs
|
OpenTTD's known bugs
|
||||||
Last updated: 2019-04-01
|
Last updated: 2019-09-16
|
||||||
Release version: 1.9.0
|
Release version: 1.9.3
|
||||||
------------------------------------------------------------------------
|
------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +1,27 @@
|
|||||||
|
openttd (1.9.3-0) unstable; urgency=low
|
||||||
|
|
||||||
|
* New upstream release 1.9.3
|
||||||
|
|
||||||
|
-- OpenTTD <info@openttd.org> Mon, 16 Sep 2019 21:00:00 +0200
|
||||||
|
|
||||||
|
openttd (1.9.3~RC1-0) unstable; urgency=low
|
||||||
|
|
||||||
|
* New upstream release 1.9.3-RC1
|
||||||
|
|
||||||
|
-- OpenTTD <info@openttd.org> Sat, 07 Sep 2019 23:30:00 +0200
|
||||||
|
|
||||||
|
openttd (1.9.2-0) unstable; urgency=low
|
||||||
|
|
||||||
|
* New upstream release 1.9.2
|
||||||
|
|
||||||
|
-- OpenTTD <info@openttd.org> Sun, 07 Jul 2019 23:00:00 +0200
|
||||||
|
|
||||||
|
openttd (1.9.1-0) unstable; urgency=low
|
||||||
|
|
||||||
|
* New upstream release 1.9.1
|
||||||
|
|
||||||
|
-- OpenTTD <info@openttd.org> Mon, 08 Apr 2019 20:00:00 +0100
|
||||||
|
|
||||||
openttd (1.9.0-0) unstable; urgency=low
|
openttd (1.9.0-0) unstable; urgency=low
|
||||||
|
|
||||||
* New upstream release 1.9.0
|
* New upstream release 1.9.0
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
@echo off
|
@echo off
|
||||||
|
|
||||||
set OPENTTD_VERSION=1.9.0
|
set OPENTTD_VERSION=1.9.3
|
||||||
set OPENSFX_VERSION=0.8.0
|
set OPENSFX_VERSION=0.8.0
|
||||||
set NOSOUND_VERSION=0.8.0
|
set NOSOUND_VERSION=0.8.0
|
||||||
set OPENGFX_VERSION=1.2.0
|
set OPENGFX_VERSION=1.2.0
|
||||||
|
|||||||
@@ -17,9 +17,9 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
Name: openttd
|
Name: openttd
|
||||||
Version: 1.9
|
Version: 1.9.3
|
||||||
Release: 0
|
Release: 0
|
||||||
%define srcver 1.9.0
|
%define srcver 1.9.3
|
||||||
Summary: An open source reimplementation of Chris Sawyer's Transport Tycoon Deluxe
|
Summary: An open source reimplementation of Chris Sawyer's Transport Tycoon Deluxe
|
||||||
License: GPL-2.0
|
License: GPL-2.0
|
||||||
Group: Amusements/Games/Strategy/Other
|
Group: Amusements/Games/Strategy/Other
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
# Version numbers to update
|
# Version numbers to update
|
||||||
!define APPV_MAJOR 1
|
!define APPV_MAJOR 1
|
||||||
!define APPV_MINOR 9
|
!define APPV_MINOR 9
|
||||||
!define APPV_MAINT 0
|
!define APPV_MAINT 3
|
||||||
!define APPV_BUILD 5
|
!define APPV_BUILD 0
|
||||||
!define APPV_EXTRA ""
|
!define APPV_EXTRA ""
|
||||||
|
|
||||||
!define APPNAME "OpenTTD" ; Define application name
|
!define APPNAME "OpenTTD" ; Define application name
|
||||||
|
|||||||
@@ -1287,7 +1287,7 @@ struct AIDebugWindow : public Window {
|
|||||||
case WID_AID_RELOAD_TOGGLE:
|
case WID_AID_RELOAD_TOGGLE:
|
||||||
if (ai_debug_company == OWNER_DEITY) break;
|
if (ai_debug_company == OWNER_DEITY) break;
|
||||||
/* First kill the company of the AI, then start a new one. This should start the current AI again */
|
/* First kill the company of the AI, then start a new one. This should start the current AI again */
|
||||||
DoCommandP(0, CCA_DELETE | ai_debug_company << 16, CRR_MANUAL, CMD_COMPANY_CTRL);
|
DoCommandP(0, CCA_DELETE | ai_debug_company << 16 | CRR_MANUAL << 24, 0, CMD_COMPANY_CTRL);
|
||||||
DoCommandP(0, CCA_NEW_AI | ai_debug_company << 16, 0, CMD_COMPANY_CTRL);
|
DoCommandP(0, CCA_NEW_AI | ai_debug_company << 16, 0, CMD_COMPANY_CTRL);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|||||||
@@ -248,8 +248,9 @@ ScriptInfo *AIInstance::FindLibrary(const char *library, int version)
|
|||||||
* @param tile The tile on which the command was executed.
|
* @param tile The tile on which the command was executed.
|
||||||
* @param p1 p1 as given to DoCommandPInternal.
|
* @param p1 p1 as given to DoCommandPInternal.
|
||||||
* @param p2 p2 as given to DoCommandPInternal.
|
* @param p2 p2 as given to DoCommandPInternal.
|
||||||
|
* @param cmd cmd as given to DoCommandPInternal.
|
||||||
*/
|
*/
|
||||||
void CcAI(const CommandCost &result, TileIndex tile, uint32 p1, uint32 p2)
|
void CcAI(const CommandCost &result, TileIndex tile, uint32 p1, uint32 p2, uint32 cmd)
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
* The company might not exist anymore. Check for this.
|
* The company might not exist anymore. Check for this.
|
||||||
@@ -260,8 +261,9 @@ void CcAI(const CommandCost &result, TileIndex tile, uint32 p1, uint32 p2)
|
|||||||
const Company *c = Company::GetIfValid(_current_company);
|
const Company *c = Company::GetIfValid(_current_company);
|
||||||
if (c == NULL || c->ai_instance == NULL) return;
|
if (c == NULL || c->ai_instance == NULL) return;
|
||||||
|
|
||||||
c->ai_instance->DoCommandCallback(result, tile, p1, p2);
|
if (c->ai_instance->DoCommandCallback(result, tile, p1, p2, cmd)) {
|
||||||
c->ai_instance->Continue();
|
c->ai_instance->Continue();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
CommandCallback *AIInstance::GetDoCommandCallback()
|
CommandCallback *AIInstance::GetDoCommandCallback()
|
||||||
|
|||||||
@@ -44,7 +44,7 @@ static void ShowBuildAirportPicker(Window *parent);
|
|||||||
|
|
||||||
SpriteID GetCustomAirportSprite(const AirportSpec *as, byte layout);
|
SpriteID GetCustomAirportSprite(const AirportSpec *as, byte layout);
|
||||||
|
|
||||||
void CcBuildAirport(const CommandCost &result, TileIndex tile, uint32 p1, uint32 p2)
|
void CcBuildAirport(const CommandCost &result, TileIndex tile, uint32 p1, uint32 p2, uint32 cmd)
|
||||||
{
|
{
|
||||||
if (result.Failed()) return;
|
if (result.Failed()) return;
|
||||||
|
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
|
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/** @file 16bpp_anim.cpp Implementation of the optimized 32 bpp blitter with animation support. */
|
/** @file 16bpp_anim.cpp Implementation of the optimized 16 bpp blitter with animation support, currently broken. */
|
||||||
|
|
||||||
#include "../stdafx.h"
|
#include "../stdafx.h"
|
||||||
#include "../video/video_driver.hpp"
|
#include "../video/video_driver.hpp"
|
||||||
|
|||||||
@@ -7,10 +7,11 @@
|
|||||||
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
|
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/** @file 16bpp_base.cpp Implementation of base for 32 bpp blitters. */
|
/** @file 16bpp_base.cpp Implementation of base for 16 bpp blitters. */
|
||||||
|
|
||||||
#include "../stdafx.h"
|
#include "../stdafx.h"
|
||||||
#include "16bpp_base.hpp"
|
#include "16bpp_base.hpp"
|
||||||
|
#include "common.hpp"
|
||||||
|
|
||||||
void *Blitter_16bppBase::MoveTo(void *video, int x, int y)
|
void *Blitter_16bppBase::MoveTo(void *video, int x, int y)
|
||||||
{
|
{
|
||||||
@@ -22,6 +23,14 @@ void Blitter_16bppBase::SetPixel(void *video, int x, int y, uint8 colour)
|
|||||||
*((Colour16 *)video + x + y * _screen.pitch) = LookupColourInPalette(colour);
|
*((Colour16 *)video + x + y * _screen.pitch) = LookupColourInPalette(colour);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Blitter_16bppBase::DrawLine(void *video, int x, int y, int x2, int y2, int screen_width, int screen_height, uint8 colour, int width, int dash)
|
||||||
|
{
|
||||||
|
const Colour16 c = LookupColourInPalette(colour);
|
||||||
|
this->DrawLineGeneric(x, y, x2, y2, screen_width, screen_height, width, dash, [=](int x, int y) {
|
||||||
|
*((Colour16 *)video + x + y * _screen.pitch) = c;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
void Blitter_16bppBase::DrawRect(void *video, int width, int height, uint8 colour)
|
void Blitter_16bppBase::DrawRect(void *video, int width, int height, uint8 colour)
|
||||||
{
|
{
|
||||||
Colour16 target = LookupColourInPalette(colour);
|
Colour16 target = LookupColourInPalette(colour);
|
||||||
|
|||||||
@@ -42,6 +42,7 @@ public:
|
|||||||
/* virtual */ uint8 GetScreenDepth() { return 16; }
|
/* virtual */ uint8 GetScreenDepth() { return 16; }
|
||||||
/* virtual */ void *MoveTo(void *video, int x, int y);
|
/* virtual */ void *MoveTo(void *video, int x, int y);
|
||||||
/* virtual */ void SetPixel(void *video, int x, int y, uint8 colour);
|
/* virtual */ void SetPixel(void *video, int x, int y, uint8 colour);
|
||||||
|
/* virtual */ void DrawLine(void *video, int x, int y, int x2, int y2, int screen_width, int screen_height, uint8 colour, int width, int dash);
|
||||||
/* virtual */ void DrawRect(void *video, int width, int height, uint8 colour);
|
/* virtual */ void DrawRect(void *video, int width, int height, uint8 colour);
|
||||||
/* virtual */ void CopyFromBuffer(void *video, const void *src, int width, int height);
|
/* virtual */ void CopyFromBuffer(void *video, const void *src, int width, int height);
|
||||||
/* virtual */ void CopyToBuffer(const void *video, void *dst, int width, int height);
|
/* virtual */ void CopyToBuffer(const void *video, void *dst, int width, int height);
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
|
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/** @file 32bpp_simple.cpp Implementation of the simple 32 bpp blitter. */
|
/** @file 32bpp_simple.cpp Implementation of the simple 16 bpp blitter. */
|
||||||
|
|
||||||
#include "../stdafx.h"
|
#include "../stdafx.h"
|
||||||
#include "../zoom_func.h"
|
#include "../zoom_func.h"
|
||||||
|
|||||||
@@ -46,7 +46,7 @@ public:
|
|||||||
/** Factory for the SSE4 32 bpp blitter (with palette animation). */
|
/** Factory for the SSE4 32 bpp blitter (with palette animation). */
|
||||||
class FBlitter_32bppSSE4_Anim: public BlitterFactory {
|
class FBlitter_32bppSSE4_Anim: public BlitterFactory {
|
||||||
public:
|
public:
|
||||||
FBlitter_32bppSSE4_Anim() : BlitterFactory("32bpp-sse4-anim", "SSE4 Blitter (palette animation)", HasCPUIDFlag(1, 2, 19)) {}
|
FBlitter_32bppSSE4_Anim() : BlitterFactory("32bpp-sse4-anim", "32bpp SSE4 Blitter (palette animation)", HasCPUIDFlag(1, 2, 19)) {}
|
||||||
/* virtual */ Blitter *CreateInstance() { return new Blitter_32bppSSE4_Anim(); }
|
/* virtual */ Blitter *CreateInstance() { return new Blitter_32bppSSE4_Anim(); }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -58,8 +58,9 @@ typedef GUIList<BuildBridgeData> GUIBridgeList; ///< List of bridges, used in #B
|
|||||||
* - p2 = (bit 0- 7) - bridge type (hi bh)
|
* - p2 = (bit 0- 7) - bridge type (hi bh)
|
||||||
* - p2 = (bit 8-13) - rail type or road types.
|
* - p2 = (bit 8-13) - rail type or road types.
|
||||||
* - p2 = (bit 15-16) - transport type.
|
* - p2 = (bit 15-16) - transport type.
|
||||||
|
* @param cmd unused
|
||||||
*/
|
*/
|
||||||
void CcBuildBridge(const CommandCost &result, TileIndex end_tile, uint32 p1, uint32 p2)
|
void CcBuildBridge(const CommandCost &result, TileIndex end_tile, uint32 p1, uint32 p2, uint32 cmd)
|
||||||
{
|
{
|
||||||
if (result.Failed()) return;
|
if (result.Failed()) return;
|
||||||
if (_settings_client.sound.confirm) SndPlayTileFx(SND_27_BLACKSMITH_ANVIL, end_tile);
|
if (_settings_client.sound.confirm) SndPlayTileFx(SND_27_BLACKSMITH_ANVIL, end_tile);
|
||||||
|
|||||||
@@ -370,7 +370,7 @@ struct CheatWindow : Window {
|
|||||||
|
|
||||||
default:
|
default:
|
||||||
/* Take whatever the function returns */
|
/* Take whatever the function returns */
|
||||||
value = ce->proc(value + ((x >= 20 + SETTING_BUTTON_WIDTH / 2) ? 1 : -1), (x >= 10 + this->box_width + SETTING_BUTTON_WIDTH / 2) ? 1 : -1);
|
value = ce->proc(value + ((x >= 10 + this->box_width + SETTING_BUTTON_WIDTH / 2) ? 1 : -1), (x >= 10 + this->box_width + SETTING_BUTTON_WIDTH / 2) ? 1 : -1);
|
||||||
|
|
||||||
/* The first cheat (money), doesn't return a different value. */
|
/* The first cheat (money), doesn't return a different value. */
|
||||||
if (value != oldvalue || btn == CHT_MONEY) this->clicked = btn * 2 + 1 + ((x >= 10 + this->box_width + SETTING_BUTTON_WIDTH / 2) != rtl ? 1 : 0);
|
if (value != oldvalue || btn == CHT_MONEY) this->clicked = btn * 2 + 1 + ((x >= 10 + this->box_width + SETTING_BUTTON_WIDTH / 2) != rtl ? 1 : 0);
|
||||||
|
|||||||
@@ -607,7 +607,7 @@ bool DoCommandP(TileIndex tile, uint32 p1, uint32 p2, uint32 cmd, CommandCallbac
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!estimate_only && !only_sending && callback != NULL) {
|
if (!estimate_only && !only_sending && callback != NULL) {
|
||||||
callback(res, tile, p1, p2);
|
callback(res, tile, p1, p2, cmd);
|
||||||
}
|
}
|
||||||
|
|
||||||
return res.Succeeded();
|
return res.Succeeded();
|
||||||
|
|||||||
@@ -467,7 +467,7 @@ struct Command {
|
|||||||
* @param p1 Additional data of the command
|
* @param p1 Additional data of the command
|
||||||
* @see CommandProc
|
* @see CommandProc
|
||||||
*/
|
*/
|
||||||
typedef void CommandCallback(const CommandCost &result, TileIndex tile, uint32 p1, uint32 p2);
|
typedef void CommandCallback(const CommandCost &result, TileIndex tile, uint32 p1, uint32 p2, uint32 cmd);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Structure for buffering the build command when selecting a station to join.
|
* Structure for buffering the build command when selecting a station to join.
|
||||||
|
|||||||
@@ -104,9 +104,12 @@ void SetLocalCompany(CompanyID new_company)
|
|||||||
/* company could also be COMPANY_SPECTATOR or OWNER_NONE */
|
/* company could also be COMPANY_SPECTATOR or OWNER_NONE */
|
||||||
assert(Company::IsValidID(new_company) || new_company == COMPANY_SPECTATOR || new_company == OWNER_NONE);
|
assert(Company::IsValidID(new_company) || new_company == COMPANY_SPECTATOR || new_company == OWNER_NONE);
|
||||||
|
|
||||||
|
/* If actually changing to another company, several windows need closing */
|
||||||
|
bool switching_company = _local_company != new_company;
|
||||||
|
|
||||||
#ifdef ENABLE_NETWORK
|
#ifdef ENABLE_NETWORK
|
||||||
/* Delete the chat window, if you were team chatting. */
|
/* Delete the chat window, if you were team chatting. */
|
||||||
InvalidateWindowData(WC_SEND_NETWORK_MSG, DESTTYPE_TEAM, _local_company);
|
if (switching_company) InvalidateWindowData(WC_SEND_NETWORK_MSG, DESTTYPE_TEAM, _local_company);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
assert(IsLocalCompany());
|
assert(IsLocalCompany());
|
||||||
@@ -114,7 +117,7 @@ void SetLocalCompany(CompanyID new_company)
|
|||||||
_current_company = _local_company = new_company;
|
_current_company = _local_company = new_company;
|
||||||
|
|
||||||
/* Delete any construction windows... */
|
/* Delete any construction windows... */
|
||||||
DeleteConstructionWindows();
|
if (switching_company) DeleteConstructionWindows();
|
||||||
|
|
||||||
/* ... and redraw the whole screen. */
|
/* ... and redraw the whole screen. */
|
||||||
MarkWholeScreenDirty();
|
MarkWholeScreenDirty();
|
||||||
@@ -805,10 +808,9 @@ void CompanyAdminRemove(CompanyID company_id, CompanyRemoveReason reason)
|
|||||||
* @param flags operation to perform
|
* @param flags operation to perform
|
||||||
* @param p1 various functionality
|
* @param p1 various functionality
|
||||||
* - bits 0..15: CompanyCtrlAction
|
* - bits 0..15: CompanyCtrlAction
|
||||||
* - bits 16..24: CompanyID
|
* - bits 16..23: CompanyID
|
||||||
* @param p2 various depending on CompanyCtrlAction
|
* - bits 24..31: CompanyRemoveReason (with CCA_DELETE)
|
||||||
* - bits 0..31: ClientID (with CCA_NEW)
|
* @param p2 ClientID
|
||||||
* - bits 0..1: CompanyRemoveReason (with CCA_DELETE)
|
|
||||||
* @param text unused
|
* @param text unused
|
||||||
* @return the cost of this operation or an error
|
* @return the cost of this operation or an error
|
||||||
*/
|
*/
|
||||||
@@ -882,7 +884,7 @@ CommandCost CmdCompanyCtrl(TileIndex tile, DoCommandFlag flags, uint32 p1, uint3
|
|||||||
}
|
}
|
||||||
|
|
||||||
case CCA_DELETE: { // Delete a company
|
case CCA_DELETE: { // Delete a company
|
||||||
CompanyRemoveReason reason = (CompanyRemoveReason)GB(p2, 0, 2);
|
CompanyRemoveReason reason = (CompanyRemoveReason)GB(p1, 24, 8);
|
||||||
if (reason >= CRR_END) return CMD_ERROR;
|
if (reason >= CRR_END) return CMD_ERROR;
|
||||||
|
|
||||||
Company *c = Company::GetIfValid(company_id);
|
Company *c = Company::GetIfValid(company_id);
|
||||||
|
|||||||
@@ -850,7 +850,7 @@ DEF_CONSOLE_CMD(ConResetCompany)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* It is safe to remove this company */
|
/* It is safe to remove this company */
|
||||||
DoCommandP(0, CCA_DELETE | index << 16, CRR_MANUAL, CMD_COMPANY_CTRL);
|
DoCommandP(0, CCA_DELETE | index << 16 | CRR_MANUAL << 24, 0, CMD_COMPANY_CTRL);
|
||||||
IConsolePrint(CC_DEFAULT, "Company deleted.");
|
IConsolePrint(CC_DEFAULT, "Company deleted.");
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
@@ -1227,7 +1227,7 @@ DEF_CONSOLE_CMD(ConReloadAI)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* First kill the company of the AI, then start a new one. This should start the current AI again */
|
/* First kill the company of the AI, then start a new one. This should start the current AI again */
|
||||||
DoCommandP(0, CCA_DELETE | company_id << 16, CRR_MANUAL, CMD_COMPANY_CTRL);
|
DoCommandP(0, CCA_DELETE | company_id << 16 | CRR_MANUAL << 24, 0,CMD_COMPANY_CTRL);
|
||||||
DoCommandP(0, CCA_NEW_AI | company_id << 16, 0, CMD_COMPANY_CTRL);
|
DoCommandP(0, CCA_NEW_AI | company_id << 16, 0, CMD_COMPANY_CTRL);
|
||||||
IConsolePrint(CC_DEFAULT, "AI reloaded.");
|
IConsolePrint(CC_DEFAULT, "AI reloaded.");
|
||||||
|
|
||||||
@@ -1264,7 +1264,7 @@ DEF_CONSOLE_CMD(ConStopAI)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Now kill the company of the AI. */
|
/* Now kill the company of the AI. */
|
||||||
DoCommandP(0, CCA_DELETE | company_id << 16, CRR_MANUAL, CMD_COMPANY_CTRL);
|
DoCommandP(0, CCA_DELETE | company_id << 16 | CRR_MANUAL << 24, 0, CMD_COMPANY_CTRL);
|
||||||
IConsolePrint(CC_DEFAULT, "AI stopped, company deleted.");
|
IConsolePrint(CC_DEFAULT, "AI stopped, company deleted.");
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
@@ -12,18 +12,20 @@
|
|||||||
#ifndef ENUM_TYPE_HPP
|
#ifndef ENUM_TYPE_HPP
|
||||||
#define ENUM_TYPE_HPP
|
#define ENUM_TYPE_HPP
|
||||||
|
|
||||||
|
#include <type_traits>
|
||||||
|
|
||||||
/** Some enums need to have allowed incrementing (i.e. StationClassID) */
|
/** Some enums need to have allowed incrementing (i.e. StationClassID) */
|
||||||
#define DECLARE_POSTFIX_INCREMENT(type) \
|
#define DECLARE_POSTFIX_INCREMENT(enum_type) \
|
||||||
inline type operator ++(type& e, int) \
|
inline enum_type operator ++(enum_type& e, int) \
|
||||||
{ \
|
{ \
|
||||||
type e_org = e; \
|
enum_type e_org = e; \
|
||||||
e = (type)((int)e + 1); \
|
e = (enum_type)((std::underlying_type<enum_type>::type)e + 1); \
|
||||||
return e_org; \
|
return e_org; \
|
||||||
} \
|
} \
|
||||||
inline type operator --(type& e, int) \
|
inline enum_type operator --(enum_type& e, int) \
|
||||||
{ \
|
{ \
|
||||||
type e_org = e; \
|
enum_type e_org = e; \
|
||||||
e = (type)((int)e - 1); \
|
e = (enum_type)((std::underlying_type<enum_type>::type)e - 1); \
|
||||||
return e_org; \
|
return e_org; \
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -31,13 +33,13 @@
|
|||||||
|
|
||||||
/** Operators to allow to work with enum as with type safe bit set in C++ */
|
/** Operators to allow to work with enum as with type safe bit set in C++ */
|
||||||
# define DECLARE_ENUM_AS_BIT_SET(mask_t) \
|
# define DECLARE_ENUM_AS_BIT_SET(mask_t) \
|
||||||
inline mask_t operator | (mask_t m1, mask_t m2) {return (mask_t)((int)m1 | m2);} \
|
inline mask_t operator | (mask_t m1, mask_t m2) {return (mask_t)((std::underlying_type<mask_t>::type)m1 | m2);} \
|
||||||
inline mask_t operator & (mask_t m1, mask_t m2) {return (mask_t)((int)m1 & m2);} \
|
inline mask_t operator & (mask_t m1, mask_t m2) {return (mask_t)((std::underlying_type<mask_t>::type)m1 & m2);} \
|
||||||
inline mask_t operator ^ (mask_t m1, mask_t m2) {return (mask_t)((int)m1 ^ m2);} \
|
inline mask_t operator ^ (mask_t m1, mask_t m2) {return (mask_t)((std::underlying_type<mask_t>::type)m1 ^ m2);} \
|
||||||
inline mask_t& operator |= (mask_t& m1, mask_t m2) {m1 = m1 | m2; return m1;} \
|
inline mask_t& operator |= (mask_t& m1, mask_t m2) {m1 = m1 | m2; return m1;} \
|
||||||
inline mask_t& operator &= (mask_t& m1, mask_t m2) {m1 = m1 & m2; return m1;} \
|
inline mask_t& operator &= (mask_t& m1, mask_t m2) {m1 = m1 & m2; return m1;} \
|
||||||
inline mask_t& operator ^= (mask_t& m1, mask_t m2) {m1 = m1 ^ m2; return m1;} \
|
inline mask_t& operator ^= (mask_t& m1, mask_t m2) {m1 = m1 ^ m2; return m1;} \
|
||||||
inline mask_t operator ~(mask_t m) {return (mask_t)(~(int)m);}
|
inline mask_t operator ~(mask_t m) {return (mask_t)(~(std::underlying_type<mask_t>::type)m);}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -303,7 +303,7 @@ char *CrashLog::LogGamelog(char *buffer, const char *last) const
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Writes any recent news messages to the buffer.
|
* Writes up to 32 recent news messages to the buffer, with the most recent first.
|
||||||
* @param buffer The begin where to write at.
|
* @param buffer The begin where to write at.
|
||||||
* @param last The last position in the buffer to write to.
|
* @param last The last position in the buffer to write to.
|
||||||
* @return the position of the \c '\0' character after the buffer.
|
* @return the position of the \c '\0' character after the buffer.
|
||||||
@@ -312,7 +312,8 @@ char *CrashLog::LogRecentNews(char *buffer, const char *last) const
|
|||||||
{
|
{
|
||||||
buffer += seprintf(buffer, last, "Recent news messages:\n");
|
buffer += seprintf(buffer, last, "Recent news messages:\n");
|
||||||
|
|
||||||
for (NewsItem *news = _oldest_news; news != NULL; news = news->next) {
|
int i = 0;
|
||||||
|
for (NewsItem *news = _latest_news; i < 32 && news != NULL; news = news->prev, i++) {
|
||||||
YearMonthDay ymd;
|
YearMonthDay ymd;
|
||||||
ConvertDateToYMD(news->date, &ymd);
|
ConvertDateToYMD(news->date, &ymd);
|
||||||
buffer += seprintf(buffer, last, "(%i-%02i-%02i) StringID: %u, Type: %u, Ref1: %u, %u, Ref2: %u, %u\n",
|
buffer += seprintf(buffer, last, "(%i-%02i-%02i) StringID: %u, Type: %u, Ref1: %u, %u, Ref2: %u, %u\n",
|
||||||
|
|||||||
@@ -117,8 +117,9 @@ extern void DepotSortList(VehicleList *list);
|
|||||||
* @param tile unused
|
* @param tile unused
|
||||||
* @param p1 unused
|
* @param p1 unused
|
||||||
* @param p2 unused
|
* @param p2 unused
|
||||||
|
* @param cmd unused
|
||||||
*/
|
*/
|
||||||
void CcCloneVehicle(const CommandCost &result, TileIndex tile, uint32 p1, uint32 p2)
|
void CcCloneVehicle(const CommandCost &result, TileIndex tile, uint32 p1, uint32 p2, uint32 cmd)
|
||||||
{
|
{
|
||||||
if (result.Failed()) return;
|
if (result.Failed()) return;
|
||||||
|
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ static void ShowBuildDocksDepotPicker(Window *parent);
|
|||||||
|
|
||||||
static Axis _ship_depot_direction;
|
static Axis _ship_depot_direction;
|
||||||
|
|
||||||
void CcBuildDocks(const CommandCost &result, TileIndex tile, uint32 p1, uint32 p2)
|
void CcBuildDocks(const CommandCost &result, TileIndex tile, uint32 p1, uint32 p2, uint32 cmd)
|
||||||
{
|
{
|
||||||
if (result.Failed()) return;
|
if (result.Failed()) return;
|
||||||
|
|
||||||
@@ -49,7 +49,7 @@ void CcBuildDocks(const CommandCost &result, TileIndex tile, uint32 p1, uint32 p
|
|||||||
if (!_settings_client.gui.persistent_buildingtools) ResetObjectToPlace();
|
if (!_settings_client.gui.persistent_buildingtools) ResetObjectToPlace();
|
||||||
}
|
}
|
||||||
|
|
||||||
void CcPlaySound_SPLAT_WATER(const CommandCost &result, TileIndex tile, uint32 p1, uint32 p2)
|
void CcPlaySound_SPLAT_WATER(const CommandCost &result, TileIndex tile, uint32 p1, uint32 p2, uint32 cmd)
|
||||||
{
|
{
|
||||||
if (result.Succeeded() && _settings_client.sound.confirm) SndPlayTileFx(SND_02_SPLAT_WATER, tile);
|
if (result.Succeeded() && _settings_client.sound.confirm) SndPlayTileFx(SND_02_SPLAT_WATER, tile);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,7 +20,7 @@
|
|||||||
|
|
||||||
char *_ini_videodriver; ///< The video driver a stored in the configuration file.
|
char *_ini_videodriver; ///< The video driver a stored in the configuration file.
|
||||||
int _num_resolutions; ///< The number of resolutions.
|
int _num_resolutions; ///< The number of resolutions.
|
||||||
Dimension _resolutions[32]; ///< List of resolutions.
|
Dimension _resolutions[100]; ///< List of resolutions.
|
||||||
Dimension _cur_resolution; ///< The current resolution.
|
Dimension _cur_resolution; ///< The current resolution.
|
||||||
bool _rightclick_emulate; ///< Whether right clicking is emulated.
|
bool _rightclick_emulate; ///< Whether right clicking is emulated.
|
||||||
|
|
||||||
|
|||||||
@@ -572,8 +572,10 @@ static void CompanyCheckBankrupt(Company *c)
|
|||||||
{
|
{
|
||||||
/* If the company has money again, it does not go bankrupt */
|
/* If the company has money again, it does not go bankrupt */
|
||||||
if (c->money - c->current_loan >= -_economy.max_loan) {
|
if (c->money - c->current_loan >= -_economy.max_loan) {
|
||||||
|
int previous_months_of_bankruptcy = CeilDiv(c->months_of_bankruptcy, 3);
|
||||||
c->months_of_bankruptcy = 0;
|
c->months_of_bankruptcy = 0;
|
||||||
c->bankrupt_asked = 0;
|
c->bankrupt_asked = 0;
|
||||||
|
if (previous_months_of_bankruptcy != 0) CompanyAdminUpdate(c);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -642,10 +644,15 @@ static void CompanyCheckBankrupt(Company *c)
|
|||||||
* that changing the current company is okay. In case of single
|
* that changing the current company is okay. In case of single
|
||||||
* player we are sure (the above check) that we are not the local
|
* player we are sure (the above check) that we are not the local
|
||||||
* company and thus we won't be moved. */
|
* company and thus we won't be moved. */
|
||||||
if (!_networking || _network_server) DoCommandP(0, CCA_DELETE | (c->index << 16), CRR_BANKRUPT, CMD_COMPANY_CTRL);
|
if (!_networking || _network_server) {
|
||||||
|
DoCommandP(0, CCA_DELETE | (c->index << 16) | (CRR_BANKRUPT << 24), 0, CMD_COMPANY_CTRL);
|
||||||
|
return;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (CeilDiv(c->months_of_bankruptcy, 3) != CeilDiv(c->months_of_bankruptcy - 1, 3)) CompanyAdminUpdate(c);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -292,11 +292,7 @@ static const char * const _subdirs[] = {
|
|||||||
"ai" PATHSEP "library" PATHSEP,
|
"ai" PATHSEP "library" PATHSEP,
|
||||||
"game" PATHSEP,
|
"game" PATHSEP,
|
||||||
"game" PATHSEP "library" PATHSEP,
|
"game" PATHSEP "library" PATHSEP,
|
||||||
#ifdef __ANDROID__
|
|
||||||
"screenshot" PATHSEP,
|
"screenshot" PATHSEP,
|
||||||
#else
|
|
||||||
"screenshot" PATHSEP,
|
|
||||||
#endif
|
|
||||||
};
|
};
|
||||||
assert_compile(lengthof(_subdirs) == NUM_SUBDIRS);
|
assert_compile(lengthof(_subdirs) == NUM_SUBDIRS);
|
||||||
|
|
||||||
@@ -1283,21 +1279,6 @@ void DeterminePaths(const char *exe)
|
|||||||
_searchpaths[SP_AUTODOWNLOAD_DIR] = NULL;
|
_searchpaths[SP_AUTODOWNLOAD_DIR] = NULL;
|
||||||
}
|
}
|
||||||
#endif /* ENABLE_NETWORK */
|
#endif /* ENABLE_NETWORK */
|
||||||
|
|
||||||
#ifdef __ANDROID__
|
|
||||||
// Copy savegames from "full" OpenTTD to "lite" save directory
|
|
||||||
char curdir[PATH_MAX];
|
|
||||||
if (getcwd(curdir, sizeof(curdir)) && strstr(curdir, "org.openttd.sdl.lowmem")) {
|
|
||||||
// No, I won't implement file copying in C, shell script is just fine for this job
|
|
||||||
DEBUG(misc, 1, "Copying savegames from ../../org.openttd.sdl/files/.openttd/save to %s", curdir);
|
|
||||||
system("cd ../../org.openttd.sdl/files/.openttd/save && "
|
|
||||||
"for F in *.sav ; do "
|
|
||||||
"ls \"../../../../org.openttd.sdl.lowmem/files/.openttd/save/$F\" || "
|
|
||||||
"cat \"$F\" > \"../../../../org.openttd.sdl.lowmem/files/.openttd/save/$F\" ; "
|
|
||||||
"done");
|
|
||||||
chdir(curdir);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
24
src/fios.cpp
24
src/fios.cpp
@@ -56,7 +56,7 @@ int CDECL CompareFiosItems(const FiosItem *da, const FiosItem *db)
|
|||||||
if ((_savegame_sort_order & SORT_BY_NAME) == 0 && da->mtime != db->mtime) {
|
if ((_savegame_sort_order & SORT_BY_NAME) == 0 && da->mtime != db->mtime) {
|
||||||
r = da->mtime < db->mtime ? -1 : 1;
|
r = da->mtime < db->mtime ? -1 : 1;
|
||||||
} else {
|
} else {
|
||||||
r = strcasecmp(da->title, db->title);
|
r = strnatcmp(da->title, db->title);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_savegame_sort_order & SORT_DESCENDING) r = -r;
|
if (_savegame_sort_order & SORT_DESCENDING) r = -r;
|
||||||
@@ -319,13 +319,29 @@ bool FiosFileScanner::AddFile(const char *filename, size_t basepath_length, cons
|
|||||||
|
|
||||||
FiosItem *fios = file_list.Append();
|
FiosItem *fios = file_list.Append();
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
struct _stat sb;
|
// Retrieve the file modified date using GetFileTime rather than stat to work around an obscure MSVC bug that affects Windows XP
|
||||||
if (_tstat(OTTD2FS(filename), &sb) == 0) {
|
HANDLE fh = CreateFile(OTTD2FS(filename), GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE, nullptr, OPEN_EXISTING, 0, nullptr);
|
||||||
|
|
||||||
|
if (fh != INVALID_HANDLE_VALUE) {
|
||||||
|
FILETIME ft;
|
||||||
|
ULARGE_INTEGER ft_int64;
|
||||||
|
|
||||||
|
if (GetFileTime(fh, nullptr, nullptr, &ft) != 0) {
|
||||||
|
ft_int64.HighPart = ft.dwHighDateTime;
|
||||||
|
ft_int64.LowPart = ft.dwLowDateTime;
|
||||||
|
|
||||||
|
// Convert from hectonanoseconds since 01/01/1601 to seconds since 01/01/1970
|
||||||
|
fios->mtime = ft_int64.QuadPart / 10000000ULL - 11644473600ULL;
|
||||||
|
} else {
|
||||||
|
fios->mtime = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
CloseHandle(fh);
|
||||||
#else
|
#else
|
||||||
struct stat sb;
|
struct stat sb;
|
||||||
if (stat(filename, &sb) == 0) {
|
if (stat(filename, &sb) == 0) {
|
||||||
#endif
|
|
||||||
fios->mtime = sb.st_mtime;
|
fios->mtime = sb.st_mtime;
|
||||||
|
#endif
|
||||||
} else {
|
} else {
|
||||||
fios->mtime = 0;
|
fios->mtime = 0;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -705,7 +705,7 @@ bool SetFallbackFont(FreeTypeSettings *settings, const char *language_isocode, i
|
|||||||
|
|
||||||
callback->SetFontNames(settings, (const char*)file);
|
callback->SetFontNames(settings, (const char*)file);
|
||||||
|
|
||||||
missing = callback->FindMissingGlyphs(NULL);
|
missing += callback->FindMissingGlyphs(NULL);
|
||||||
DEBUG(freetype, 1, "Font \"%s\" misses %d glyphs for lang %s", file, missing, lang);
|
DEBUG(freetype, 1, "Font \"%s\" misses %d glyphs for lang %s", file, missing, lang);
|
||||||
|
|
||||||
if (missing < best_missing_glypths) {
|
if (missing < best_missing_glypths) {
|
||||||
|
|||||||
@@ -255,11 +255,13 @@ void GameInstance::Died()
|
|||||||
* @param tile The tile on which the command was executed.
|
* @param tile The tile on which the command was executed.
|
||||||
* @param p1 p1 as given to DoCommandPInternal.
|
* @param p1 p1 as given to DoCommandPInternal.
|
||||||
* @param p2 p2 as given to DoCommandPInternal.
|
* @param p2 p2 as given to DoCommandPInternal.
|
||||||
|
* @param cmd cmd as given to DoCommandPInternal.
|
||||||
*/
|
*/
|
||||||
void CcGame(const CommandCost &result, TileIndex tile, uint32 p1, uint32 p2)
|
void CcGame(const CommandCost &result, TileIndex tile, uint32 p1, uint32 p2, uint32 cmd)
|
||||||
{
|
{
|
||||||
Game::GetGameInstance()->DoCommandCallback(result, tile, p1, p2);
|
if (Game::GetGameInstance()->DoCommandCallback(result, tile, p1, p2, cmd)) {
|
||||||
Game::GetGameInstance()->Continue();
|
Game::GetGameInstance()->Continue();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
CommandCallback *GameInstance::GetDoCommandCallback()
|
CommandCallback *GameInstance::GetDoCommandCallback()
|
||||||
|
|||||||
@@ -308,7 +308,7 @@ GameStrings *LoadTranslations()
|
|||||||
/** Compile the language. */
|
/** Compile the language. */
|
||||||
void GameStrings::Compile()
|
void GameStrings::Compile()
|
||||||
{
|
{
|
||||||
StringData data(1);
|
StringData data(32);
|
||||||
StringListReader master_reader(data, this->raw_strings[0], true, false);
|
StringListReader master_reader(data, this->raw_strings[0], true, false);
|
||||||
master_reader.ParseFile();
|
master_reader.ParseFile();
|
||||||
if (_errors != 0) throw std::exception();
|
if (_errors != 0) throw std::exception();
|
||||||
|
|||||||
@@ -71,7 +71,7 @@ extern DrawPixelInfo _screen;
|
|||||||
extern bool _screen_disable_anim; ///< Disable palette animation (important for 32bpp-anim blitter during giant screenshot)
|
extern bool _screen_disable_anim; ///< Disable palette animation (important for 32bpp-anim blitter during giant screenshot)
|
||||||
|
|
||||||
extern int _num_resolutions;
|
extern int _num_resolutions;
|
||||||
extern Dimension _resolutions[32];
|
extern Dimension _resolutions[100];
|
||||||
extern Dimension _cur_resolution;
|
extern Dimension _cur_resolution;
|
||||||
extern Palette _cur_palette; ///< Current palette
|
extern Palette _cur_palette; ///< Current palette
|
||||||
|
|
||||||
|
|||||||
@@ -208,7 +208,7 @@ public:
|
|||||||
LEErrorCode status = LE_NO_ERROR;
|
LEErrorCode status = LE_NO_ERROR;
|
||||||
/* ParagraphLayout does not copy "buff", so it must stay valid.
|
/* ParagraphLayout does not copy "buff", so it must stay valid.
|
||||||
* "runs" is copied according to the ICU source, but the documentation does not specify anything, so this might break somewhen. */
|
* "runs" is copied according to the ICU source, but the documentation does not specify anything, so this might break somewhen. */
|
||||||
icu::ParagraphLayout *p = new icu::ParagraphLayout(buff, length, &runs, NULL, NULL, NULL, _current_text_dir == TD_RTL ? UBIDI_DEFAULT_RTL : UBIDI_DEFAULT_LTR, false, status);
|
icu::ParagraphLayout *p = new icu::ParagraphLayout(buff, length, &runs, NULL, NULL, NULL, _current_text_dir == TD_RTL ? 1 : 0, false, status);
|
||||||
if (status != LE_NO_ERROR) {
|
if (status != LE_NO_ERROR) {
|
||||||
delete p;
|
delete p;
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|||||||
27
src/goal.cpp
27
src/goal.cpp
@@ -236,10 +236,11 @@ CommandCost CmdSetGoalCompleted(TileIndex tile, DoCommandFlag flags, uint32 p1,
|
|||||||
* @param flags type of operation
|
* @param flags type of operation
|
||||||
* @param p1 various bitstuffed elements
|
* @param p1 various bitstuffed elements
|
||||||
* - p1 = (bit 0 - 15) - Unique ID to use for this question.
|
* - p1 = (bit 0 - 15) - Unique ID to use for this question.
|
||||||
* - p1 = (bit 16 - 23) - Company or client for which this question is.
|
* - p1 = (bit 16 - 31) - Company or client for which this question is.
|
||||||
* - p1 = (bit 24 - 25) - Question type.
|
* @param p2 various bitstuffed elements
|
||||||
* - p1 = (bit 31) - Question target: 0 - company, 1 - client.
|
* - p2 = (bit 0 - 17) - Buttons of the question.
|
||||||
* @param p2 Buttons of the question.
|
* - p2 = (bit 29 - 30) - Question type.
|
||||||
|
* - p2 = (bit 31) - Question target: 0 - company, 1 - client.
|
||||||
* @param text Text of the question.
|
* @param text Text of the question.
|
||||||
* @return the cost of this operation or an error
|
* @return the cost of this operation or an error
|
||||||
*/
|
*/
|
||||||
@@ -248,36 +249,38 @@ CommandCost CmdGoalQuestion(TileIndex tile, DoCommandFlag flags, uint32 p1, uint
|
|||||||
uint16 uniqueid = (GoalType)GB(p1, 0, 16);
|
uint16 uniqueid = (GoalType)GB(p1, 0, 16);
|
||||||
CompanyID company = (CompanyID)GB(p1, 16, 8);
|
CompanyID company = (CompanyID)GB(p1, 16, 8);
|
||||||
#ifdef ENABLE_NETWORK
|
#ifdef ENABLE_NETWORK
|
||||||
ClientIndex client = (ClientIndex)GB(p1, 16, 8);
|
ClientID client = (ClientID)GB(p1, 16, 16);
|
||||||
#endif
|
#endif
|
||||||
byte type = GB(p1, 24, 2);
|
|
||||||
bool is_client = HasBit(p1, 31);
|
assert_compile(GOAL_QUESTION_BUTTON_COUNT < 29);
|
||||||
|
uint32 button_mask = GB(p2, 0, GOAL_QUESTION_BUTTON_COUNT);
|
||||||
|
byte type = GB(p2, 29, 2);
|
||||||
|
bool is_client = HasBit(p2, 31);
|
||||||
|
|
||||||
if (_current_company != OWNER_DEITY) return CMD_ERROR;
|
if (_current_company != OWNER_DEITY) return CMD_ERROR;
|
||||||
if (StrEmpty(text)) return CMD_ERROR;
|
if (StrEmpty(text)) return CMD_ERROR;
|
||||||
if (is_client) {
|
if (is_client) {
|
||||||
#ifdef ENABLE_NETWORK
|
#ifdef ENABLE_NETWORK
|
||||||
if (!NetworkClientInfo::IsValidID(client)) return CMD_ERROR;
|
if (NetworkClientInfo::GetByClientID(client) == nullptr) return CMD_ERROR;
|
||||||
#else
|
#else
|
||||||
return CMD_ERROR;
|
return CMD_ERROR;
|
||||||
#endif
|
#endif
|
||||||
} else {
|
} else {
|
||||||
if (company != INVALID_COMPANY && !Company::IsValidID(company)) return CMD_ERROR;
|
if (company != INVALID_COMPANY && !Company::IsValidID(company)) return CMD_ERROR;
|
||||||
}
|
}
|
||||||
if (CountBits(p2) < 1 || CountBits(p2) > 3) return CMD_ERROR;
|
if (CountBits(button_mask) < 1 || CountBits(button_mask) > 3) return CMD_ERROR;
|
||||||
if (p2 >= (1 << GOAL_QUESTION_BUTTON_COUNT)) return CMD_ERROR;
|
|
||||||
if (type >= GOAL_QUESTION_TYPE_COUNT) return CMD_ERROR;
|
if (type >= GOAL_QUESTION_TYPE_COUNT) return CMD_ERROR;
|
||||||
|
|
||||||
if (flags & DC_EXEC) {
|
if (flags & DC_EXEC) {
|
||||||
if (is_client) {
|
if (is_client) {
|
||||||
#ifdef ENABLE_NETWORK
|
#ifdef ENABLE_NETWORK
|
||||||
if (NetworkClientInfo::Get(client)->client_id != _network_own_client_id) return CommandCost();
|
if (client != _network_own_client_id) return CommandCost();
|
||||||
#endif
|
#endif
|
||||||
} else {
|
} else {
|
||||||
if (company == INVALID_COMPANY && !Company::IsValidID(_local_company)) return CommandCost();
|
if (company == INVALID_COMPANY && !Company::IsValidID(_local_company)) return CommandCost();
|
||||||
if (company != INVALID_COMPANY && company != _local_company) return CommandCost();
|
if (company != INVALID_COMPANY && company != _local_company) return CommandCost();
|
||||||
}
|
}
|
||||||
ShowGoalQuestion(uniqueid, type, p2, text);
|
ShowGoalQuestion(uniqueid, type, button_mask, text);
|
||||||
}
|
}
|
||||||
|
|
||||||
return CommandCost();
|
return CommandCost();
|
||||||
|
|||||||
@@ -536,7 +536,7 @@ CommandCost CmdAddVehicleGroup(TileIndex tile, DoCommandFlag flags, uint32 p1, u
|
|||||||
|
|
||||||
if (new_g == NEW_GROUP) {
|
if (new_g == NEW_GROUP) {
|
||||||
/* Create new group. */
|
/* Create new group. */
|
||||||
CommandCost ret = CmdCreateGroup(0, flags, v->type, 0, NULL);
|
CommandCost ret = CmdCreateGroup(0, flags, v->type, INVALID_GROUP, NULL);
|
||||||
if (ret.Failed()) return ret;
|
if (ret.Failed()) return ret;
|
||||||
|
|
||||||
new_g = _new_group_id;
|
new_g = _new_group_id;
|
||||||
|
|||||||
@@ -990,9 +990,10 @@ static inline VehicleGroupWindow *FindVehicleGroupWindow(VehicleType vt, Owner o
|
|||||||
* @param tile Unused.
|
* @param tile Unused.
|
||||||
* @param p1 Vehicle type.
|
* @param p1 Vehicle type.
|
||||||
* @param p2 Unused.
|
* @param p2 Unused.
|
||||||
|
* @param cmd Unused.
|
||||||
* @see CmdCreateGroup
|
* @see CmdCreateGroup
|
||||||
*/
|
*/
|
||||||
void CcCreateGroup(const CommandCost &result, TileIndex tile, uint32 p1, uint32 p2)
|
void CcCreateGroup(const CommandCost &result, TileIndex tile, uint32 p1, uint32 p2, uint32 cmd)
|
||||||
{
|
{
|
||||||
if (result.Failed()) return;
|
if (result.Failed()) return;
|
||||||
assert(p1 <= VEH_AIRCRAFT);
|
assert(p1 <= VEH_AIRCRAFT);
|
||||||
@@ -1007,13 +1008,14 @@ void CcCreateGroup(const CommandCost &result, TileIndex tile, uint32 p1, uint32
|
|||||||
* @param tile Unused.
|
* @param tile Unused.
|
||||||
* @param p1 Unused.
|
* @param p1 Unused.
|
||||||
* @param p2 Bit 0-19: Vehicle ID.
|
* @param p2 Bit 0-19: Vehicle ID.
|
||||||
|
* @param cmd Unused.
|
||||||
*/
|
*/
|
||||||
void CcAddVehicleNewGroup(const CommandCost &result, TileIndex tile, uint32 p1, uint32 p2)
|
void CcAddVehicleNewGroup(const CommandCost &result, TileIndex tile, uint32 p1, uint32 p2, uint32 cmd)
|
||||||
{
|
{
|
||||||
if (result.Failed()) return;
|
if (result.Failed()) return;
|
||||||
assert(Vehicle::IsValidID(GB(p2, 0, 20)));
|
assert(Vehicle::IsValidID(GB(p2, 0, 20)));
|
||||||
|
|
||||||
CcCreateGroup(result, 0, Vehicle::Get(GB(p2, 0, 20))->type, 0);
|
CcCreateGroup(result, 0, Vehicle::Get(GB(p2, 0, 20))->type, 0, cmd);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -22,6 +22,7 @@
|
|||||||
#include "company_base.h"
|
#include "company_base.h"
|
||||||
#include "strings_func.h"
|
#include "strings_func.h"
|
||||||
#include "hotkeys.h"
|
#include "hotkeys.h"
|
||||||
|
#include "zoom_func.h"
|
||||||
|
|
||||||
#include "widgets/highscore_widget.h"
|
#include "widgets/highscore_widget.h"
|
||||||
|
|
||||||
@@ -132,7 +133,7 @@ struct EndGameWindow : EndGameHighScoreBaseWindow {
|
|||||||
virtual void OnPaint()
|
virtual void OnPaint()
|
||||||
{
|
{
|
||||||
this->SetupHighScoreEndWindow();
|
this->SetupHighScoreEndWindow();
|
||||||
Point pt = this->GetTopLeft(640, 480);
|
Point pt = this->GetTopLeft(ScaleGUITrad(640), ScaleGUITrad(480));
|
||||||
|
|
||||||
const Company *c = Company::GetIfValid(_local_company);
|
const Company *c = Company::GetIfValid(_local_company);
|
||||||
if (c == NULL) return;
|
if (c == NULL) return;
|
||||||
@@ -143,11 +144,11 @@ struct EndGameWindow : EndGameHighScoreBaseWindow {
|
|||||||
SetDParam(0, c->index);
|
SetDParam(0, c->index);
|
||||||
SetDParam(1, c->index);
|
SetDParam(1, c->index);
|
||||||
SetDParam(2, EndGameGetPerformanceTitleFromValue(c->old_economy[0].performance_history));
|
SetDParam(2, EndGameGetPerformanceTitleFromValue(c->old_economy[0].performance_history));
|
||||||
DrawStringMultiLine(pt.x + 15, pt.x + 640 - 25, pt.y + 90, pt.y + 160, STR_HIGHSCORE_PRESIDENT_OF_COMPANY_ACHIEVES_STATUS, TC_FROMSTRING, SA_CENTER);
|
DrawStringMultiLine(pt.x + ScaleGUITrad(15), pt.x + ScaleGUITrad(640) - ScaleGUITrad(25), pt.y + ScaleGUITrad(90), pt.y + ScaleGUITrad(160), STR_HIGHSCORE_PRESIDENT_OF_COMPANY_ACHIEVES_STATUS, TC_FROMSTRING, SA_CENTER);
|
||||||
} else {
|
} else {
|
||||||
SetDParam(0, c->index);
|
SetDParam(0, c->index);
|
||||||
SetDParam(1, EndGameGetPerformanceTitleFromValue(c->old_economy[0].performance_history));
|
SetDParam(1, EndGameGetPerformanceTitleFromValue(c->old_economy[0].performance_history));
|
||||||
DrawStringMultiLine(pt.x + 36, pt.x + 640, pt.y + 140, pt.y + 206, STR_HIGHSCORE_COMPANY_ACHIEVES_STATUS, TC_FROMSTRING, SA_CENTER);
|
DrawStringMultiLine(pt.x + ScaleGUITrad(36), pt.x + ScaleGUITrad(640), pt.y + ScaleGUITrad(140), pt.y + ScaleGUITrad(206), STR_HIGHSCORE_COMPANY_ACHIEVES_STATUS, TC_FROMSTRING, SA_CENTER);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@@ -182,24 +183,24 @@ struct HighScoreWindow : EndGameHighScoreBaseWindow {
|
|||||||
const HighScore *hs = _highscore_table[this->window_number];
|
const HighScore *hs = _highscore_table[this->window_number];
|
||||||
|
|
||||||
this->SetupHighScoreEndWindow();
|
this->SetupHighScoreEndWindow();
|
||||||
Point pt = this->GetTopLeft(640, 480);
|
Point pt = this->GetTopLeft(ScaleGUITrad(640), ScaleGUITrad(480));
|
||||||
|
|
||||||
SetDParam(0, ORIGINAL_END_YEAR);
|
SetDParam(0, ORIGINAL_END_YEAR);
|
||||||
DrawStringMultiLine(pt.x + 70, pt.x + 570, pt.y, pt.y + 140, !_networking ? STR_HIGHSCORE_TOP_COMPANIES_WHO_REACHED : STR_HIGHSCORE_TOP_COMPANIES_NETWORK_GAME, TC_FROMSTRING, SA_CENTER);
|
DrawStringMultiLine(pt.x + ScaleGUITrad(70), pt.x + ScaleGUITrad(570), pt.y, pt.y + ScaleGUITrad(140), !_networking ? STR_HIGHSCORE_TOP_COMPANIES_WHO_REACHED : STR_HIGHSCORE_TOP_COMPANIES_NETWORK_GAME, TC_FROMSTRING, SA_CENTER);
|
||||||
|
|
||||||
/* Draw Highscore peepz */
|
/* Draw Highscore peepz */
|
||||||
for (uint8 i = 0; i < lengthof(_highscore_table[0]); i++) {
|
for (uint8 i = 0; i < lengthof(_highscore_table[0]); i++) {
|
||||||
SetDParam(0, i + 1);
|
SetDParam(0, i + 1);
|
||||||
DrawString(pt.x + 40, pt.x + 600, pt.y + 140 + (i * 55), STR_HIGHSCORE_POSITION);
|
DrawString(pt.x + ScaleGUITrad(40), pt.x + ScaleGUITrad(600), pt.y + ScaleGUITrad(140 + i * 55), STR_HIGHSCORE_POSITION);
|
||||||
|
|
||||||
if (hs[i].company[0] != '\0') {
|
if (hs[i].company[0] != '\0') {
|
||||||
TextColour colour = (this->rank == i) ? TC_RED : TC_BLACK; // draw new highscore in red
|
TextColour colour = (this->rank == i) ? TC_RED : TC_BLACK; // draw new highscore in red
|
||||||
|
|
||||||
SetDParamStr(0, hs[i].company);
|
SetDParamStr(0, hs[i].company);
|
||||||
DrawString(pt.x + 71, pt.x + 569, pt.y + 140 + (i * 55), STR_JUST_BIG_RAW_STRING, colour);
|
DrawString(pt.x + ScaleGUITrad(71), pt.x + ScaleGUITrad(569), pt.y + ScaleGUITrad(140 + i * 55), STR_JUST_BIG_RAW_STRING, colour);
|
||||||
SetDParam(0, hs[i].title);
|
SetDParam(0, hs[i].title);
|
||||||
SetDParam(1, hs[i].score);
|
SetDParam(1, hs[i].score);
|
||||||
DrawString(pt.x + 71, pt.x + 569, pt.y + 140 + FONT_HEIGHT_LARGE + (i * 55), STR_HIGHSCORE_STATS, colour);
|
DrawString(pt.x + ScaleGUITrad(71), pt.x + ScaleGUITrad(569), pt.y + ScaleGUITrad(140) + FONT_HEIGHT_LARGE + ScaleGUITrad(i * 55), STR_HIGHSCORE_STATS, colour);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -222,8 +222,9 @@ void SortIndustryTypes()
|
|||||||
* @param tile Tile where the industry is placed.
|
* @param tile Tile where the industry is placed.
|
||||||
* @param p1 Additional data of the #CMD_BUILD_INDUSTRY command.
|
* @param p1 Additional data of the #CMD_BUILD_INDUSTRY command.
|
||||||
* @param p2 Additional data of the #CMD_BUILD_INDUSTRY command.
|
* @param p2 Additional data of the #CMD_BUILD_INDUSTRY command.
|
||||||
|
* @param cmd Unused.
|
||||||
*/
|
*/
|
||||||
void CcBuildIndustry(const CommandCost &result, TileIndex tile, uint32 p1, uint32 p2)
|
void CcBuildIndustry(const CommandCost &result, TileIndex tile, uint32 p1, uint32 p2, uint32 cmd)
|
||||||
{
|
{
|
||||||
if (result.Succeeded()) return;
|
if (result.Succeeded()) return;
|
||||||
|
|
||||||
|
|||||||
@@ -282,7 +282,7 @@ STR_SORT_BY_TIMETABLE_DELAY :تاخير جد
|
|||||||
STR_SORT_BY_FACILITY :نوع المحطة
|
STR_SORT_BY_FACILITY :نوع المحطة
|
||||||
STR_SORT_BY_RATING_MAX :اعلى نسبة شحن
|
STR_SORT_BY_RATING_MAX :اعلى نسبة شحن
|
||||||
STR_SORT_BY_RATING_MIN :اقل نسبة شحن
|
STR_SORT_BY_RATING_MIN :اقل نسبة شحن
|
||||||
STR_SORT_BY_ENGINE_ID :نوع المحرك (قياسي(
|
STR_SORT_BY_ENGINE_ID :نوع المحرك (قياسي)
|
||||||
STR_SORT_BY_COST :التكلفة
|
STR_SORT_BY_COST :التكلفة
|
||||||
STR_SORT_BY_POWER :الطاقة
|
STR_SORT_BY_POWER :الطاقة
|
||||||
STR_SORT_BY_TRACTIVE_EFFORT :قوة الجذب
|
STR_SORT_BY_TRACTIVE_EFFORT :قوة الجذب
|
||||||
@@ -1147,7 +1147,7 @@ STR_CONFIG_SETTING_INDUSTRY_DENSITY :الكثافة
|
|||||||
STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :إختر مقدار الصناعات التي يجب تكوينها وعلى اي مستوى يجب ان تكون خلال اللعبة
|
STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :إختر مقدار الصناعات التي يجب تكوينها وعلى اي مستوى يجب ان تكون خلال اللعبة
|
||||||
STR_CONFIG_SETTING_SNOWLINE_HEIGHT :ارتفاع خط الثلج: {STRING}
|
STR_CONFIG_SETTING_SNOWLINE_HEIGHT :ارتفاع خط الثلج: {STRING}
|
||||||
STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :تحكم على اي ارتفاع يبدأ نزول الثلج في المناطق القطبية,تؤثر الثلوج على مستوى تطور القطاع الصناعي ونمو المدن
|
STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :تحكم على اي ارتفاع يبدأ نزول الثلج في المناطق القطبية,تؤثر الثلوج على مستوى تطور القطاع الصناعي ونمو المدن
|
||||||
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :خشونة التضاريس (صفر التكوين فقط ) :({STRING}
|
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :خشونة التضاريس: {STRING}
|
||||||
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :(TerraGenesis only)إختر تكرار الهضبات: الاراض المستويه تحتوي على البضع منها,هضبات موزعه عرضيا اكثر,الاراض الوعرة تحتوي الكثير من الهضاب,التي من الممكن ان تكون متكررة
|
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :(TerraGenesis only)إختر تكرار الهضبات: الاراض المستويه تحتوي على البضع منها,هضبات موزعه عرضيا اكثر,الاراض الوعرة تحتوي الكثير من الهضاب,التي من الممكن ان تكون متكررة
|
||||||
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :ناعم جدا
|
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :ناعم جدا
|
||||||
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :ناعم
|
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :ناعم
|
||||||
@@ -1946,7 +1946,7 @@ STR_RAIL_TOOLBAR_MAGLEV_CONSTRUCTION_CAPTION :بناء الس
|
|||||||
|
|
||||||
STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}بناء سكة حديد
|
STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}بناء سكة حديد
|
||||||
STR_RAIL_TOOLBAR_TOOLTIP_BUILD_AUTORAIL :{BLACK}بناء سكة القطار باستخدام البناء التلقائي
|
STR_RAIL_TOOLBAR_TOOLTIP_BUILD_AUTORAIL :{BLACK}بناء سكة القطار باستخدام البناء التلقائي
|
||||||
STR_RAIL_TOOLBAR_TOOLTIP_BUILD_TRAIN_DEPOT_FOR_BUILDING :{BLACK}بناء ورشة قطارات (لصيانة و شراء القطارات).
|
STR_RAIL_TOOLBAR_TOOLTIP_BUILD_TRAIN_DEPOT_FOR_BUILDING :{BLACK}بناء ورشة قطارات (لصيانة و شراء القطارات)
|
||||||
STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL_TO_WAYPOINT :{BLACK}غير السكة الى نقطة عبور
|
STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL_TO_WAYPOINT :{BLACK}غير السكة الى نقطة عبور
|
||||||
STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_STATION :{BLACK}بناء محطة قطار. مفتاح كنترول يسمح بضم المحطات
|
STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_STATION :{BLACK}بناء محطة قطار. مفتاح كنترول يسمح بضم المحطات
|
||||||
STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}بناء إشارات السكك الحديدية.
|
STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}بناء إشارات السكك الحديدية.
|
||||||
@@ -2028,7 +2028,7 @@ STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_SECTION :{BLACK}بناء
|
|||||||
STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOROAD :{BLACK}بناء الطرق باستخدام النظام الآلي
|
STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOROAD :{BLACK}بناء الطرق باستخدام النظام الآلي
|
||||||
STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOTRAM :{BLACK}بناء سكة القطار باستخدام النظام الآلي
|
STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOTRAM :{BLACK}بناء سكة القطار باستخدام النظام الآلي
|
||||||
STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_VEHICLE_DEPOT :{BLACK}بناء ورشة صيانة لعربات الطرق (لشراء و صيانة العربات).
|
STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_VEHICLE_DEPOT :{BLACK}بناء ورشة صيانة لعربات الطرق (لشراء و صيانة العربات).
|
||||||
STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAM_VEHICLE_DEPOT :{BLACK}بناء ورشة لصيانة عربات الترام (لشراء و صيانة عربات الترام).
|
STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAM_VEHICLE_DEPOT :{BLACK}بناء ورشة لصيانة عربات الترام (لشراء و صيانة عربات الترام)
|
||||||
STR_ROAD_TOOLBAR_TOOLTIP_BUILD_BUS_STATION :{BLACK}بناء محطة باصات
|
STR_ROAD_TOOLBAR_TOOLTIP_BUILD_BUS_STATION :{BLACK}بناء محطة باصات
|
||||||
STR_ROAD_TOOLBAR_TOOLTIP_BUILD_PASSENGER_TRAM_STATION :{BLACK}بناء محطة ركاب ترام.
|
STR_ROAD_TOOLBAR_TOOLTIP_BUILD_PASSENGER_TRAM_STATION :{BLACK}بناء محطة ركاب ترام.
|
||||||
STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRUCK_LOADING_BAY :{BLACK}بناء محطة تحميل عربات. مفتاح كنترول يسمح بمجاورة المحطات.
|
STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRUCK_LOADING_BAY :{BLACK}بناء محطة تحميل عربات. مفتاح كنترول يسمح بمجاورة المحطات.
|
||||||
@@ -2590,7 +2590,8 @@ STR_EDIT_SIGN_SIGN_OSKTITLE :{BLACK}ادخل
|
|||||||
# Town directory window
|
# Town directory window
|
||||||
STR_TOWN_DIRECTORY_CAPTION :{WHITE}مدن/ بلدات
|
STR_TOWN_DIRECTORY_CAPTION :{WHITE}مدن/ بلدات
|
||||||
STR_TOWN_DIRECTORY_NONE :{ORANGE}-بدون-
|
STR_TOWN_DIRECTORY_NONE :{ORANGE}-بدون-
|
||||||
STR_TOWN_DIRECTORY_TOWN :{ORANGE}{TOWN}{BLACK} ) {COMMA})
|
STR_TOWN_DIRECTORY_TOWN :{ORANGE}{RLE}{TOWN}{BLACK} {RLM}({COMMA})
|
||||||
|
STR_TOWN_DIRECTORY_CITY :{ORANGE}{RLE}{TOWN}{YELLOW} (مدينة){BLACK} {RLM}({COMMA})
|
||||||
STR_TOWN_DIRECTORY_LIST_TOOLTIP :{BLACK}اسم المدينة - اضغط على الاسم لتوسيط الشاشة عليها. اضغط + كنترول لفتح شاشة عرض جديدة للضاحية.
|
STR_TOWN_DIRECTORY_LIST_TOOLTIP :{BLACK}اسم المدينة - اضغط على الاسم لتوسيط الشاشة عليها. اضغط + كنترول لفتح شاشة عرض جديدة للضاحية.
|
||||||
STR_TOWN_POPULATION :{BLACK}سكان العالم: {COMMA}
|
STR_TOWN_POPULATION :{BLACK}سكان العالم: {COMMA}
|
||||||
|
|
||||||
@@ -2678,7 +2679,7 @@ STR_STATION_LIST_STATION :{YELLOW}{STATIO
|
|||||||
STR_STATION_LIST_WAYPOINT :{YELLOW}{WAYPOINT}
|
STR_STATION_LIST_WAYPOINT :{YELLOW}{WAYPOINT}
|
||||||
STR_STATION_LIST_NONE :{YELLOW}- بدون -
|
STR_STATION_LIST_NONE :{YELLOW}- بدون -
|
||||||
STR_STATION_LIST_SELECT_ALL_FACILITIES :{BLACK}اختر جميع المرافق
|
STR_STATION_LIST_SELECT_ALL_FACILITIES :{BLACK}اختر جميع المرافق
|
||||||
STR_STATION_LIST_SELECT_ALL_TYPES :{BLACK}اختر كل انواع الشحن (حتى غير المنتظرة(
|
STR_STATION_LIST_SELECT_ALL_TYPES :{BLACK}اختر كل انواع الشحن (حتى غير المنتظرة)
|
||||||
STR_STATION_LIST_NO_WAITING_CARGO :{BLACK}لا يوجد اي شحنة منتظرة
|
STR_STATION_LIST_NO_WAITING_CARGO :{BLACK}لا يوجد اي شحنة منتظرة
|
||||||
|
|
||||||
# Station view window
|
# Station view window
|
||||||
@@ -2897,7 +2898,7 @@ STR_PURCHASE_INFO_SPEED_OCEAN :{BLACK}السر
|
|||||||
STR_PURCHASE_INFO_SPEED_CANAL :{BLACK}السرعة في القناة/النهر: {GOLD}{VELOCITY}
|
STR_PURCHASE_INFO_SPEED_CANAL :{BLACK}السرعة في القناة/النهر: {GOLD}{VELOCITY}
|
||||||
STR_PURCHASE_INFO_RUNNINGCOST :{BLACK}تكلفة التشغيل: {GOLD}{CURRENCY_LONG}/ سنة
|
STR_PURCHASE_INFO_RUNNINGCOST :{BLACK}تكلفة التشغيل: {GOLD}{CURRENCY_LONG}/ سنة
|
||||||
STR_PURCHASE_INFO_CAPACITY :{BLACK}السعة: {GOLD}{CARGO_LONG} {STRING}
|
STR_PURCHASE_INFO_CAPACITY :{BLACK}السعة: {GOLD}{CARGO_LONG} {STRING}
|
||||||
STR_PURCHASE_INFO_REFITTABLE :)قابل لتغيير(
|
STR_PURCHASE_INFO_REFITTABLE :(قابل لتغيي)
|
||||||
STR_PURCHASE_INFO_DESIGNED_LIFE :{BLACK}تصميم: {GOLD}{NUM}{BLACK} العمر الافتراضي: {GOLD}{COMMA} سنة
|
STR_PURCHASE_INFO_DESIGNED_LIFE :{BLACK}تصميم: {GOLD}{NUM}{BLACK} العمر الافتراضي: {GOLD}{COMMA} سنة
|
||||||
STR_PURCHASE_INFO_RELIABILITY :{BLACK}الاعتمادية القصوى: {GOLD}{COMMA}%
|
STR_PURCHASE_INFO_RELIABILITY :{BLACK}الاعتمادية القصوى: {GOLD}{COMMA}%
|
||||||
STR_PURCHASE_INFO_COST :{BLACK}التكلفة: {GOLD}{CURRENCY_LONG}
|
STR_PURCHASE_INFO_COST :{BLACK}التكلفة: {GOLD}{CURRENCY_LONG}
|
||||||
@@ -3193,7 +3194,7 @@ STR_VEHICLE_DETAILS_TRAIN_TOTAL_CARGO_TOOLTIP :{BLACK} عرض
|
|||||||
STR_VEHICLE_DETAILS_TRAIN_ARTICULATED_RV_CAPACITY :{BLACK}السعة: {LTBLUE}
|
STR_VEHICLE_DETAILS_TRAIN_ARTICULATED_RV_CAPACITY :{BLACK}السعة: {LTBLUE}
|
||||||
|
|
||||||
# Vehicle refit
|
# Vehicle refit
|
||||||
STR_REFIT_CAPTION :{WHITE}{VEHICLE} )تغيير(
|
STR_REFIT_CAPTION :{WHITE}{VEHICLE} (تغيير)
|
||||||
STR_REFIT_TITLE :{GOLD}اختر نوع الحمولة ...
|
STR_REFIT_TITLE :{GOLD}اختر نوع الحمولة ...
|
||||||
STR_REFIT_NEW_CAPACITY_COST_OF_REFIT :{BLACK}السعة الجديدة: {GOLD}{CARGO_LONG}{}{BLACK}تكلفة التغيير: {RED}{CURRENCY_LONG}
|
STR_REFIT_NEW_CAPACITY_COST_OF_REFIT :{BLACK}السعة الجديدة: {GOLD}{CARGO_LONG}{}{BLACK}تكلفة التغيير: {RED}{CURRENCY_LONG}
|
||||||
STR_REFIT_NEW_CAPACITY_COST_OF_AIRCRAFT_REFIT :{BLACK}السعة الجديدة: {GOLD}{CARGO_LONG}, {GOLD}{CARGO_LONG}{}{BLACK}تكلفة اعادة التهيئة: {RED}{CURRENCY_LONG}
|
STR_REFIT_NEW_CAPACITY_COST_OF_AIRCRAFT_REFIT :{BLACK}السعة الجديدة: {GOLD}{CARGO_LONG}, {GOLD}{CARGO_LONG}{}{BLACK}تكلفة اعادة التهيئة: {RED}{CURRENCY_LONG}
|
||||||
@@ -3415,7 +3416,7 @@ STR_TIMETABLE_RESET_LATENESS :{BLACK}اعد
|
|||||||
STR_TIMETABLE_RESET_LATENESS_TOOLTIP :{BLACK}عدل وقت التاخير للعداد حتى تصل المركبة في الوقت المحدد
|
STR_TIMETABLE_RESET_LATENESS_TOOLTIP :{BLACK}عدل وقت التاخير للعداد حتى تصل المركبة في الوقت المحدد
|
||||||
|
|
||||||
STR_TIMETABLE_AUTOFILL :{BLACK}تهيئة تلقائية
|
STR_TIMETABLE_AUTOFILL :{BLACK}تهيئة تلقائية
|
||||||
STR_TIMETABLE_AUTOFILL_TOOLTIP :{BLACK}املأ الجدولة تلقائيا بقيم الرحلة التالية (مفتاح كنترول لمحاولة ابقائ وقت الانتظار).
|
STR_TIMETABLE_AUTOFILL_TOOLTIP :{BLACK}مفتاح كنترول لمحاولة ابقائ وقت الانتظار (املأ الجدولة تلقائيا بقيم الرحلة التالية)
|
||||||
|
|
||||||
STR_TIMETABLE_EXPECTED :{BLACK}متوقع
|
STR_TIMETABLE_EXPECTED :{BLACK}متوقع
|
||||||
STR_TIMETABLE_SCHEDULED :{BLACK}مجدول
|
STR_TIMETABLE_SCHEDULED :{BLACK}مجدول
|
||||||
|
|||||||
@@ -4586,7 +4586,6 @@ STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD :{WHITE}... гэ
|
|||||||
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... няправільны кірунак дарогі
|
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... няправільны кірунак дарогі
|
||||||
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... на прахадных прыпынках нельга рабіць павароты
|
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... на прахадных прыпынках нельга рабіць павароты
|
||||||
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... на прахадных прыпынках нельга рабіць скрыжаваньнi
|
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... на прахадных прыпынках нельга рабіць скрыжаваньнi
|
||||||
STR_ERROR_DRIVE_THROUGH_ON_ONEWAY_ROAD :{WHITE}... дарога аднабаковая ці заблакавана
|
|
||||||
|
|
||||||
# Station destruction related errors
|
# Station destruction related errors
|
||||||
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Немагчыма выдаліць частку станцыi...
|
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Немагчыма выдаліць частку станцыi...
|
||||||
|
|||||||
@@ -4276,7 +4276,6 @@ STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD :{WHITE}... é u
|
|||||||
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... rua na direção errada
|
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... rua na direção errada
|
||||||
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... paradas "drive-thru" não podem ter esquinas
|
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... paradas "drive-thru" não podem ter esquinas
|
||||||
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... paradas "drive-thru" não podem ter junções
|
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... paradas "drive-thru" não podem ter junções
|
||||||
STR_ERROR_DRIVE_THROUGH_ON_ONEWAY_ROAD :{WHITE}... rua é mão única ou está bloqueada
|
|
||||||
|
|
||||||
# Station destruction related errors
|
# Station destruction related errors
|
||||||
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Impossível remover parte da estação...
|
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Impossível remover parte da estação...
|
||||||
|
|||||||
@@ -191,6 +191,7 @@ STR_COLOUR_ORANGE :Оранжев
|
|||||||
STR_COLOUR_BROWN :Кафяво
|
STR_COLOUR_BROWN :Кафяво
|
||||||
STR_COLOUR_GREY :Сиво
|
STR_COLOUR_GREY :Сиво
|
||||||
STR_COLOUR_WHITE :Бяло
|
STR_COLOUR_WHITE :Бяло
|
||||||
|
STR_COLOUR_DEFAULT :По подразбиране
|
||||||
|
|
||||||
# Units used in OpenTTD
|
# Units used in OpenTTD
|
||||||
STR_UNITS_VELOCITY_IMPERIAL :{COMMA} мил{P я и}/ч
|
STR_UNITS_VELOCITY_IMPERIAL :{COMMA} мил{P я и}/ч
|
||||||
@@ -462,6 +463,7 @@ STR_TOOLBAR_SOUND_MUSIC :Звук/муз
|
|||||||
############ range for message menu starts
|
############ range for message menu starts
|
||||||
STR_NEWS_MENU_LAST_MESSAGE_NEWS_REPORT :Последно съобщение/новини
|
STR_NEWS_MENU_LAST_MESSAGE_NEWS_REPORT :Последно съобщение/новини
|
||||||
STR_NEWS_MENU_MESSAGE_HISTORY_MENU :История на съобщенията
|
STR_NEWS_MENU_MESSAGE_HISTORY_MENU :История на съобщенията
|
||||||
|
STR_NEWS_MENU_DELETE_ALL_MESSAGES :Изтрий всички съобщения
|
||||||
############ range ends here
|
############ range ends here
|
||||||
|
|
||||||
############ range for about menu starts
|
############ range for about menu starts
|
||||||
@@ -473,6 +475,7 @@ STR_ABOUT_MENU_SCREENSHOT :Screenshot
|
|||||||
STR_ABOUT_MENU_ZOOMIN_SCREENSHOT :Напълно увеличен в кадъра.
|
STR_ABOUT_MENU_ZOOMIN_SCREENSHOT :Напълно увеличен в кадъра.
|
||||||
STR_ABOUT_MENU_DEFAULTZOOM_SCREENSHOT :Увеличение по подразбиране
|
STR_ABOUT_MENU_DEFAULTZOOM_SCREENSHOT :Увеличение по подразбиране
|
||||||
STR_ABOUT_MENU_GIANT_SCREENSHOT :Огромен Screenshot
|
STR_ABOUT_MENU_GIANT_SCREENSHOT :Огромен Screenshot
|
||||||
|
STR_ABOUT_MENU_SHOW_FRAMERATE :Показване на честотата на кадрите
|
||||||
STR_ABOUT_MENU_ABOUT_OPENTTD :Относно 'OpenTTD'
|
STR_ABOUT_MENU_ABOUT_OPENTTD :Относно 'OpenTTD'
|
||||||
STR_ABOUT_MENU_SPRITE_ALIGNER :Подравнител на спрайтове
|
STR_ABOUT_MENU_SPRITE_ALIGNER :Подравнител на спрайтове
|
||||||
STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Активиране слепване на прозорците
|
STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Активиране слепване на прозорците
|
||||||
@@ -704,11 +707,13 @@ STR_SMALLMAP_TYPE_OWNERS :Собстве
|
|||||||
STR_SMALLMAP_TOOLTIP_SHOW_LAND_CONTOURS_ON_MAP :{BLACK}Покажи земните контури на картата
|
STR_SMALLMAP_TOOLTIP_SHOW_LAND_CONTOURS_ON_MAP :{BLACK}Покажи земните контури на картата
|
||||||
STR_SMALLMAP_TOOLTIP_SHOW_VEHICLES_ON_MAP :{BLACK}Покажи превозните средства
|
STR_SMALLMAP_TOOLTIP_SHOW_VEHICLES_ON_MAP :{BLACK}Покажи превозните средства
|
||||||
STR_SMALLMAP_TOOLTIP_SHOW_INDUSTRIES_ON_MAP :{BLACK}Покажи индустриите на картата
|
STR_SMALLMAP_TOOLTIP_SHOW_INDUSTRIES_ON_MAP :{BLACK}Покажи индустриите на картата
|
||||||
|
STR_SMALLMAP_TOOLTIP_SHOW_LINK_STATS_ON_MAP :{BLACK}Покажи на картата потока на товарите
|
||||||
STR_SMALLMAP_TOOLTIP_SHOW_TRANSPORT_ROUTES_ON :{BLACK}Покажи транспортните маршрути на картата
|
STR_SMALLMAP_TOOLTIP_SHOW_TRANSPORT_ROUTES_ON :{BLACK}Покажи транспортните маршрути на картата
|
||||||
STR_SMALLMAP_TOOLTIP_SHOW_VEGETATION_ON_MAP :{BLACK}Покажи растителността на картата
|
STR_SMALLMAP_TOOLTIP_SHOW_VEGETATION_ON_MAP :{BLACK}Покажи растителността на картата
|
||||||
STR_SMALLMAP_TOOLTIP_SHOW_LAND_OWNERS_ON_MAP :{BLACK}Покажи собствениците на земя на картата
|
STR_SMALLMAP_TOOLTIP_SHOW_LAND_OWNERS_ON_MAP :{BLACK}Покажи собствениците на земя на картата
|
||||||
STR_SMALLMAP_TOOLTIP_INDUSTRY_SELECTION :{BLACK}Натисни върху вид индустрия за превключване на показването.Click on an industry type to toggle displaying it. Ctrl деактивира всички освен избраната. Ctrl отново за активиране на всички
|
STR_SMALLMAP_TOOLTIP_INDUSTRY_SELECTION :{BLACK}Натисни върху вид индустрия за превключване на показването.Click on an industry type to toggle displaying it. Ctrl деактивира всички освен избраната. Ctrl отново за активиране на всички
|
||||||
STR_SMALLMAP_TOOLTIP_COMPANY_SELECTION :{BLACK}Натисни върху компания за показване/скриване на нейната собственост. Ctrl деактивира всички компании освен избраната. Ctrl отново за активиране на всички компании
|
STR_SMALLMAP_TOOLTIP_COMPANY_SELECTION :{BLACK}Натисни върху компания за показване/скриване на нейната собственост. Ctrl деактивира всички компании освен избраната. Ctrl отново за активиране на всички компании
|
||||||
|
STR_SMALLMAP_TOOLTIP_CARGO_SELECTION :{BLACK}Кликнете върху товара, за да превключите показването на неговите данни. Ctrl+Click изключва всички товари без текущо избрания. Направете отново Ctrl+Click въху него, за да включите отново всички товари
|
||||||
|
|
||||||
STR_SMALLMAP_LEGENDA_ROADS :{TINY_FONT}{BLACK}Пътища
|
STR_SMALLMAP_LEGENDA_ROADS :{TINY_FONT}{BLACK}Пътища
|
||||||
STR_SMALLMAP_LEGENDA_RAILROADS :{TINY_FONT}{BLACK}ЖП
|
STR_SMALLMAP_LEGENDA_RAILROADS :{TINY_FONT}{BLACK}ЖП
|
||||||
@@ -1107,6 +1112,7 @@ STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_MENU :Игрови н
|
|||||||
STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_INGAME :Игрови настройки (съхраняват се в записаната игра; важат само за текущата игра)
|
STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_INGAME :Игрови настройки (съхраняват се в записаната игра; важат само за текущата игра)
|
||||||
STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_MENU :Настройки за компанията (съхраняват се в записаната игра; важат само за нови игри)
|
STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_MENU :Настройки за компанията (съхраняват се в записаната игра; важат само за нови игри)
|
||||||
STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_INGAME :Настройки за компанията (съхраняват се в записаната игра; важат само за текущата компания)
|
STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_INGAME :Настройки за компанията (съхраняват се в записаната игра; важат само за текущата компания)
|
||||||
|
STR_CONFIG_SETTING_CATEGORY_AND_TYPE_HIDES :{BLACK}Покажете всички резултати от търсенето като зададете{}{SILVER}Категория {BLACK}на {WHITE}{STRING} {BLACK}и {SILVER}Тип {BLACK}на {WHITE}Всички видове настройки
|
||||||
STR_CONFIG_SETTINGS_NONE :{WHITE}- Нищо -
|
STR_CONFIG_SETTINGS_NONE :{WHITE}- Нищо -
|
||||||
|
|
||||||
STR_CONFIG_SETTING_OFF :изключено
|
STR_CONFIG_SETTING_OFF :изключено
|
||||||
@@ -1283,10 +1289,12 @@ STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :Показва
|
|||||||
STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Дебелина на линиите в графиките: {STRING}
|
STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Дебелина на линиите в графиките: {STRING}
|
||||||
STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Дебелина на линиите в графиките. Тънките линии са по-лесни за разчитане, но по-дебелите се забелязват и разграничават по-лесно.
|
STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Дебелина на линиите в графиките. Тънките линии са по-лесни за разчитане, но по-дебелите се забелязват и разграничават по-лесно.
|
||||||
|
|
||||||
STR_CONFIG_SETTING_LANDSCAPE :Пейзаж: {STRING}
|
STR_CONFIG_SETTING_LANDSCAPE :Терен: {STRING}
|
||||||
STR_CONFIG_SETTING_LAND_GENERATOR :Генератор на земя: {STRING}
|
STR_CONFIG_SETTING_LAND_GENERATOR :Генератор на земя: {STRING}
|
||||||
STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL :оригинален
|
STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL :оригинален
|
||||||
STR_CONFIG_SETTING_LAND_GENERATOR_TERRA_GENESIS :тера-генезис
|
STR_CONFIG_SETTING_LAND_GENERATOR_TERRA_GENESIS :тера-генезис
|
||||||
|
STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :(само за TerraGenesis) Хълмистост на терена
|
||||||
|
STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :Задайте колко индустрии да се генерират и какво ниво да се поддържа по време на играта
|
||||||
STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Максимално разстояние от ръба за нефтените рафинерии: {STRING}
|
STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Максимално разстояние от ръба за нефтените рафинерии: {STRING}
|
||||||
STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Нефтените рафинерии се изграждат само близо до края на картата
|
STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Нефтените рафинерии се изграждат само близо до края на картата
|
||||||
STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Снежната ивица: {STRING}
|
STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Снежната ивица: {STRING}
|
||||||
@@ -1296,6 +1304,7 @@ STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :полегат
|
|||||||
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :стръмен
|
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :стръмен
|
||||||
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :много стръмен
|
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :много стръмен
|
||||||
STR_CONFIG_SETTING_RIVER_AMOUNT :Количество на реките: {STRING}
|
STR_CONFIG_SETTING_RIVER_AMOUNT :Количество на реките: {STRING}
|
||||||
|
STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT :Изберете колко реки да се генерират
|
||||||
STR_CONFIG_SETTING_TREE_PLACER :Алгоритъм за поставяне на дървета: {STRING}
|
STR_CONFIG_SETTING_TREE_PLACER :Алгоритъм за поставяне на дървета: {STRING}
|
||||||
STR_CONFIG_SETTING_TREE_PLACER_NONE :без дървета
|
STR_CONFIG_SETTING_TREE_PLACER_NONE :без дървета
|
||||||
STR_CONFIG_SETTING_TREE_PLACER_ORIGINAL :оригинален
|
STR_CONFIG_SETTING_TREE_PLACER_ORIGINAL :оригинален
|
||||||
@@ -1583,6 +1592,11 @@ STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :Без
|
|||||||
STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Множител за големината на града: {STRING}
|
STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Множител за големината на града: {STRING}
|
||||||
STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Относителен размер на мегаполисите в сравнение с градовете в началото на играта
|
STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Относителен размер на мегаполисите в сравнение с градовете в началото на играта
|
||||||
|
|
||||||
|
STR_CONFIG_SETTING_LINKGRAPH_TIME :Вземи {STRING}{NBSP}дни{P 0:2 "" s} за преизчисляване на графа за резпределение
|
||||||
|
STR_CONFIG_SETTING_DISTRIBUTION_MANUAL :ръчно
|
||||||
|
STR_CONFIG_SETTING_DISTRIBUTION_SYMMETRIC :симетричен
|
||||||
|
STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :"симетрично" означава, че приблизително един и същ брой пътници ще пътуват от спирка А до спирка Б и обратно. "асиметрично" означава, че произволен брой пътници могат да пътуват във всяка от посоките. "ръчно" означава, че няма да има автоматично разпределение за пътниците.
|
||||||
|
STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT :Режим на разпределение на други класове товари: {STRING}
|
||||||
STR_CONFIG_SETTING_DEMAND_SIZE :Количество на връщания товар при симетричнен режим: {STRING}
|
STR_CONFIG_SETTING_DEMAND_SIZE :Количество на връщания товар при симетричнен режим: {STRING}
|
||||||
|
|
||||||
STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY :Единици за скорост: {STRING}
|
STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY :Единици за скорост: {STRING}
|
||||||
@@ -1628,6 +1642,7 @@ STR_CONFIG_SETTING_INTERFACE_GENERAL :{ORANGE}Осн
|
|||||||
STR_CONFIG_SETTING_INTERFACE_CONSTRUCTION :{ORANGE}Строене
|
STR_CONFIG_SETTING_INTERFACE_CONSTRUCTION :{ORANGE}Строене
|
||||||
STR_CONFIG_SETTING_VEHICLES :{ORANGE}Автомобили
|
STR_CONFIG_SETTING_VEHICLES :{ORANGE}Автомобили
|
||||||
STR_CONFIG_SETTING_VEHICLES_ROUTING :{ORANGE}Маршрутизация
|
STR_CONFIG_SETTING_VEHICLES_ROUTING :{ORANGE}Маршрутизация
|
||||||
|
STR_CONFIG_SETTING_LIMITATIONS :{ORANGE}Ограничения
|
||||||
STR_CONFIG_SETTING_ENVIRONMENT_AUTHORITIES :{ORANGE}Права
|
STR_CONFIG_SETTING_ENVIRONMENT_AUTHORITIES :{ORANGE}Права
|
||||||
STR_CONFIG_SETTING_ENVIRONMENT_TOWNS :{ORANGE}Градове
|
STR_CONFIG_SETTING_ENVIRONMENT_TOWNS :{ORANGE}Градове
|
||||||
STR_CONFIG_SETTING_ENVIRONMENT_INDUSTRIES :{ORANGE}Индустрии
|
STR_CONFIG_SETTING_ENVIRONMENT_INDUSTRIES :{ORANGE}Индустрии
|
||||||
@@ -1908,6 +1923,7 @@ STR_NETWORK_START_SERVER_SET_PASSWORD :{BLACK}Пост
|
|||||||
STR_NETWORK_START_SERVER_PASSWORD_TOOLTIP :{BLACK}Защитаване на вашата игра с парола за да не е публично достъпна
|
STR_NETWORK_START_SERVER_PASSWORD_TOOLTIP :{BLACK}Защитаване на вашата игра с парола за да не е публично достъпна
|
||||||
|
|
||||||
STR_NETWORK_START_SERVER_UNADVERTISED :Не
|
STR_NETWORK_START_SERVER_UNADVERTISED :Не
|
||||||
|
STR_NETWORK_START_SERVER_ADVERTISED :Да
|
||||||
STR_NETWORK_START_SERVER_CLIENTS_SELECT :{BLACK}{NUM} клиент{P "" s}
|
STR_NETWORK_START_SERVER_CLIENTS_SELECT :{BLACK}{NUM} клиент{P "" s}
|
||||||
STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS :{BLACK}Макс. брой играчи:
|
STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS :{BLACK}Макс. брой играчи:
|
||||||
STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS_TOOLTIP :{BLACK}Избор на максималния брой клиенти. Не всички слотове трябва да се попълнят
|
STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS_TOOLTIP :{BLACK}Избор на максималния брой клиенти. Не всички слотове трябва да се попълнят
|
||||||
@@ -2630,9 +2646,21 @@ STR_ABOUT_VERSION :{BLACK}OpenTTD
|
|||||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2019 The OpenTTD team
|
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2019 The OpenTTD team
|
||||||
|
|
||||||
# Framerate display window
|
# Framerate display window
|
||||||
|
STR_FRAMERATE_CAPTION :{WHITE}Скорост на кадрите
|
||||||
|
STR_FRAMERATE_RATE_GAMELOOP :{BLACK}Скороср на симулация: {STRING}
|
||||||
|
STR_FRAMERATE_SPEED_FACTOR :{BLACK}Текущ коефициент за скорост на играта: {DECIMAL}x
|
||||||
|
STR_FRAMERATE_CURRENT :{WHITE}Текущ
|
||||||
|
STR_FRAMERATE_AVERAGE :{WHITE}Средно
|
||||||
|
STR_FRAMERATE_FPS_BAD :{RED}{DECIMAL} кадри/сек
|
||||||
############ Leave those lines in this order!!
|
############ Leave those lines in this order!!
|
||||||
|
STR_FRAMERATE_GL_ECONOMY :Обработка на товари:
|
||||||
|
STR_FRAMERATE_GL_LANDSCAPE :{BLACK} Тактове на света:
|
||||||
############ End of leave-in-this-order
|
############ End of leave-in-this-order
|
||||||
############ Leave those lines in this order!!
|
############ Leave those lines in this order!!
|
||||||
|
STR_FRAMETIME_CAPTION_GAMELOOP :Цикъл на играта
|
||||||
|
STR_FRAMETIME_CAPTION_DRAWING :Графична обработка
|
||||||
|
STR_FRAMETIME_CAPTION_VIDEO :Видео изход
|
||||||
|
STR_FRAMETIME_CAPTION_ALLSCRIPTS :Общо GS/AI скриптове
|
||||||
############ End of leave-in-this-order
|
############ End of leave-in-this-order
|
||||||
|
|
||||||
|
|
||||||
@@ -2782,6 +2810,7 @@ STR_NEWGRF_SETTINGS_DISABLED :{RED}Изклю
|
|||||||
STR_NEWGRF_SETTINGS_INCOMPATIBLE :{G=n}{RED}Несъвместимо с тази версия на OpenTTD
|
STR_NEWGRF_SETTINGS_INCOMPATIBLE :{G=n}{RED}Несъвместимо с тази версия на OpenTTD
|
||||||
|
|
||||||
# NewGRF save preset window
|
# NewGRF save preset window
|
||||||
|
STR_SAVE_PRESET_LIST_TOOLTIP :{BLACK}Списък на наличните предварително зададени настройки. Изберете една, за да я откопирате в името за запис по-долу
|
||||||
STR_SAVE_PRESET_TITLE :{BLACK}Въведи име за шаблона
|
STR_SAVE_PRESET_TITLE :{BLACK}Въведи име за шаблона
|
||||||
STR_SAVE_PRESET_EDITBOX_TOOLTIP :{BLACK}Текущо избраното име за именуване на шаблона
|
STR_SAVE_PRESET_EDITBOX_TOOLTIP :{BLACK}Текущо избраното име за именуване на шаблона
|
||||||
STR_SAVE_PRESET_CANCEL :{BLACK}Отказ
|
STR_SAVE_PRESET_CANCEL :{BLACK}Отказ
|
||||||
@@ -2879,6 +2908,7 @@ STR_NEWGRF_BUGGY :{WHITE}NewGRF '
|
|||||||
STR_NEWGRF_BUGGY_ARTICULATED_CARGO :{WHITE}Информация за товар/преобразувания на '{1:ENGINE}' се различава от листа с покупките. Това може да доведе до грешка при подновяване/преустройване
|
STR_NEWGRF_BUGGY_ARTICULATED_CARGO :{WHITE}Информация за товар/преобразувания на '{1:ENGINE}' се различава от листа с покупките. Това може да доведе до грешка при подновяване/преустройване
|
||||||
STR_NEWGRF_BUGGY_ENDLESS_PRODUCTION_CALLBACK :{WHITE}'{1:STRING}' предизвика вечен цикъл в callback на производството
|
STR_NEWGRF_BUGGY_ENDLESS_PRODUCTION_CALLBACK :{WHITE}'{1:STRING}' предизвика вечен цикъл в callback на производството
|
||||||
STR_NEWGRF_BUGGY_UNKNOWN_CALLBACK_RESULT :{WHITE}Подизпълнение {1:HEX} върна неизвестен/невалиден резултат {2:HEX}
|
STR_NEWGRF_BUGGY_UNKNOWN_CALLBACK_RESULT :{WHITE}Подизпълнение {1:HEX} върна неизвестен/невалиден резултат {2:HEX}
|
||||||
|
STR_NEWGRF_BUGGY_INVALID_CARGO_PRODUCTION_CALLBACK :{WHITE}'{1:STRING}' Върнат е невалиден тип товар в продуктивен callback на {2:HEX}
|
||||||
|
|
||||||
# 'User removed essential NewGRFs'-placeholders for stuff without specs
|
# 'User removed essential NewGRFs'-placeholders for stuff without specs
|
||||||
STR_NEWGRF_INVALID_CARGO :<невалиден товар>
|
STR_NEWGRF_INVALID_CARGO :<невалиден товар>
|
||||||
@@ -2912,6 +2942,7 @@ STR_EDIT_SIGN_SIGN_OSKTITLE :{BLACK}Въве
|
|||||||
STR_TOWN_DIRECTORY_CAPTION :{WHITE}Градове
|
STR_TOWN_DIRECTORY_CAPTION :{WHITE}Градове
|
||||||
STR_TOWN_DIRECTORY_NONE :{ORANGE}- Отсъства -
|
STR_TOWN_DIRECTORY_NONE :{ORANGE}- Отсъства -
|
||||||
STR_TOWN_DIRECTORY_TOWN :{ORANGE}{TOWN}{BLACK} ({COMMA})
|
STR_TOWN_DIRECTORY_TOWN :{ORANGE}{TOWN}{BLACK} ({COMMA})
|
||||||
|
STR_TOWN_DIRECTORY_CITY :{ORANGE}{TOWN}{YELLOW} (Град){BLACK} ({COMMA})
|
||||||
STR_TOWN_DIRECTORY_LIST_TOOLTIP :{BLACK}Имена на градовете - натисни на името за да фокусираш този град. Ctrl отваря нов изглед към града.
|
STR_TOWN_DIRECTORY_LIST_TOOLTIP :{BLACK}Имена на градовете - натисни на името за да фокусираш този град. Ctrl отваря нов изглед към града.
|
||||||
STR_TOWN_POPULATION :{BLACK}Обща популация на картата: {COMMA}
|
STR_TOWN_POPULATION :{BLACK}Обща популация на картата: {COMMA}
|
||||||
|
|
||||||
@@ -3311,6 +3342,7 @@ STR_PURCHASE_INFO_AIRCRAFT_CAPACITY :{BLACK}Капа
|
|||||||
STR_PURCHASE_INFO_PWAGPOWER_PWAGWEIGHT :{BLACK}Вагони с мощност: {GOLD}+{POWER}{BLACK} Тегло: {GOLD}+{WEIGHT_SHORT}
|
STR_PURCHASE_INFO_PWAGPOWER_PWAGWEIGHT :{BLACK}Вагони с мощност: {GOLD}+{POWER}{BLACK} Тегло: {GOLD}+{WEIGHT_SHORT}
|
||||||
STR_PURCHASE_INFO_REFITTABLE_TO :{BLACK}Преобразуваем на: {GOLD}{STRING}
|
STR_PURCHASE_INFO_REFITTABLE_TO :{BLACK}Преобразуваем на: {GOLD}{STRING}
|
||||||
STR_PURCHASE_INFO_ALL_TYPES :Всички видове товар
|
STR_PURCHASE_INFO_ALL_TYPES :Всички видове товар
|
||||||
|
STR_PURCHASE_INFO_NONE :Нищо
|
||||||
STR_PURCHASE_INFO_ALL_BUT :Всичко освен {CARGO_LIST}
|
STR_PURCHASE_INFO_ALL_BUT :Всичко освен {CARGO_LIST}
|
||||||
STR_PURCHASE_INFO_MAX_TE :{BLACK}Макс. теглеща сила: {GOLD}{FORCE}
|
STR_PURCHASE_INFO_MAX_TE :{BLACK}Макс. теглеща сила: {GOLD}{FORCE}
|
||||||
STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Обхват: {GOLD}{COMMA} полета
|
STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Обхват: {GOLD}{COMMA} полета
|
||||||
@@ -3626,7 +3658,7 @@ STR_VEHICLE_DETAILS_TRAIN_ARTICULATED_RV_CAPACITY :{BLACK}Капа
|
|||||||
# Vehicle refit
|
# Vehicle refit
|
||||||
STR_REFIT_CAPTION :{WHITE}{VEHICLE} (Преустройване)
|
STR_REFIT_CAPTION :{WHITE}{VEHICLE} (Преустройване)
|
||||||
STR_REFIT_TITLE :{GOLD}Изберете вид товар за превозване:
|
STR_REFIT_TITLE :{GOLD}Изберете вид товар за превозване:
|
||||||
STR_REFIT_NEW_CAPACITY_COST_OF_REFIT :{BLACK}Нов капацитет: {GOLD}{CARGO_LONG}{}{BLACK}Цена за преустройство: {RED}{CURRENCY_LONG}
|
STR_REFIT_NEW_CAPACITY_COST_OF_REFIT :{BLACK}Нов капацитет: {GOLD}{CARGO_LONG}{}{BLACK}Цена за преустройсване: {RED}{CURRENCY_LONG}
|
||||||
STR_REFIT_NEW_CAPACITY_INCOME_FROM_REFIT :{BLACK}Нов капцитет: {GOLD}{CARGO_LONG}{}{BLACK}Приход от преустройване: {GREEN}{CURRENCY_LONG}
|
STR_REFIT_NEW_CAPACITY_INCOME_FROM_REFIT :{BLACK}Нов капцитет: {GOLD}{CARGO_LONG}{}{BLACK}Приход от преустройване: {GREEN}{CURRENCY_LONG}
|
||||||
STR_REFIT_NEW_CAPACITY_COST_OF_AIRCRAFT_REFIT :{BLACK}Нова вместимост: {GOLD}{CARGO_LONG}, {GOLD}{CARGO_LONG}{}{BLACK}Цена за преоборудване: {RED}{CURRENCY_LONG}
|
STR_REFIT_NEW_CAPACITY_COST_OF_AIRCRAFT_REFIT :{BLACK}Нова вместимост: {GOLD}{CARGO_LONG}, {GOLD}{CARGO_LONG}{}{BLACK}Цена за преоборудване: {RED}{CURRENCY_LONG}
|
||||||
STR_REFIT_NEW_CAPACITY_INCOME_FROM_AIRCRAFT_REFIT :{BLACK}Нов капацитет: {GOLD}{CARGO_LONG}, {GOLD}{CARGO_LONG}{}{BLACK}Проход от преустройване: {GREEN}{CURRENCY_LONG}
|
STR_REFIT_NEW_CAPACITY_INCOME_FROM_AIRCRAFT_REFIT :{BLACK}Нов капацитет: {GOLD}{CARGO_LONG}, {GOLD}{CARGO_LONG}{}{BLACK}Проход от преустройване: {GREEN}{CURRENCY_LONG}
|
||||||
@@ -3812,9 +3844,12 @@ STR_TIMETABLE_TOOLTIP :{BLACK}Разп
|
|||||||
STR_TIMETABLE_NO_TRAVEL :Без преминаване
|
STR_TIMETABLE_NO_TRAVEL :Без преминаване
|
||||||
STR_TIMETABLE_NOT_TIMETABLEABLE :Пътувай (автоматично; включено в разписанието, чрез следващата ваша заповед)
|
STR_TIMETABLE_NOT_TIMETABLEABLE :Пътувай (автоматично; включено в разписанието, чрез следващата ваша заповед)
|
||||||
STR_TIMETABLE_TRAVEL_NOT_TIMETABLED :Пътувай (без разписание)
|
STR_TIMETABLE_TRAVEL_NOT_TIMETABLED :Пътувай (без разписание)
|
||||||
STR_TIMETABLE_TRAVEL_NOT_TIMETABLED_SPEED :Пътувай с не повече от {2:VELOCITY} (not timetabled)
|
STR_TIMETABLE_TRAVEL_NOT_TIMETABLED_SPEED :Пътувай (без разписание) с не повече от {2:VELOCITY}
|
||||||
STR_TIMETABLE_TRAVEL_FOR :Пътувай за {STRING}
|
STR_TIMETABLE_TRAVEL_FOR :Пътувай за {STRING}
|
||||||
STR_TIMETABLE_TRAVEL_FOR_SPEED :Пътувай за {STRING} с не повече от {VELOCITY}
|
STR_TIMETABLE_TRAVEL_FOR_SPEED :Пътувай за {STRING} с не повече от {VELOCITY}
|
||||||
|
STR_TIMETABLE_TRAVEL_FOR_ESTIMATED :Пътувай (за {STRING}, без разписание)
|
||||||
|
STR_TIMETABLE_STAY_FOR_ESTIMATED :(престой за {STRING}, без разписание)
|
||||||
|
STR_TIMETABLE_AND_TRAVEL_FOR_ESTIMATED :(Пътувай към {STRING}, без разписание)
|
||||||
STR_TIMETABLE_STAY_FOR :и остани за {STRING}
|
STR_TIMETABLE_STAY_FOR :и остани за {STRING}
|
||||||
STR_TIMETABLE_AND_TRAVEL_FOR :и отпътувай към {STRING}
|
STR_TIMETABLE_AND_TRAVEL_FOR :и отпътувай към {STRING}
|
||||||
STR_TIMETABLE_DAYS :{COMMA}{NBSP}ден{P "" а}
|
STR_TIMETABLE_DAYS :{COMMA}{NBSP}ден{P "" а}
|
||||||
@@ -3830,6 +3865,7 @@ STR_TIMETABLE_STATUS_NOT_STARTED :{BLACK}Това
|
|||||||
STR_TIMETABLE_STATUS_START_AT :{BLACK}Това разписание ще започне на {STRING}
|
STR_TIMETABLE_STATUS_START_AT :{BLACK}Това разписание ще започне на {STRING}
|
||||||
|
|
||||||
STR_TIMETABLE_STARTING_DATE :{BLACK}Дата на започване
|
STR_TIMETABLE_STARTING_DATE :{BLACK}Дата на започване
|
||||||
|
STR_TIMETABLE_STARTING_DATE_TOOLTIP :{BLACK} Изберете начална дата на това разписание. Ctrl + Click задава началната дата и равномерно разпределя всички превозни средства, които споделят тази поръчка, на базата на тяхната относителна поръчка, ако поръчката е изцяло по разписание
|
||||||
|
|
||||||
STR_TIMETABLE_CHANGE_TIME :{BLACK}Промени времето
|
STR_TIMETABLE_CHANGE_TIME :{BLACK}Промени времето
|
||||||
STR_TIMETABLE_WAIT_TIME_TOOLTIP :{BLACK}Промени времетраенето на маркираната заповед
|
STR_TIMETABLE_WAIT_TIME_TOOLTIP :{BLACK}Промени времетраенето на маркираната заповед
|
||||||
@@ -4382,6 +4418,7 @@ STR_BASESOUNDS_DOS_DESCRIPTION :Оригина
|
|||||||
STR_BASESOUNDS_WIN_DESCRIPTION :Оригинални звуци на Transport Tycoon Deluxe за Windows.
|
STR_BASESOUNDS_WIN_DESCRIPTION :Оригинални звуци на Transport Tycoon Deluxe за Windows.
|
||||||
STR_BASESOUNDS_NONE_DESCRIPTION :Празен звуков пакет.
|
STR_BASESOUNDS_NONE_DESCRIPTION :Празен звуков пакет.
|
||||||
STR_BASEMUSIC_WIN_DESCRIPTION :Оригинална музика на Transport Tycoon Deluxe за Windows.
|
STR_BASEMUSIC_WIN_DESCRIPTION :Оригинална музика на Transport Tycoon Deluxe за Windows.
|
||||||
|
STR_BASEMUSIC_TTO_DESCRIPTION :Оригинална Transport Tycoon (Original/World Editor) музика за DOS.
|
||||||
STR_BASEMUSIC_NONE_DESCRIPTION :Празен музикален пакет.
|
STR_BASEMUSIC_NONE_DESCRIPTION :Празен музикален пакет.
|
||||||
|
|
||||||
##id 0x2000
|
##id 0x2000
|
||||||
|
|||||||
@@ -4317,7 +4317,6 @@ STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD :{WHITE}... aque
|
|||||||
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... sentit de la carretera en la direcció incorrecta
|
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... sentit de la carretera en la direcció incorrecta
|
||||||
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... les estacions d'autobús de pas no poden tenir cantonades
|
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... les estacions d'autobús de pas no poden tenir cantonades
|
||||||
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... les estacions d'autobús de pas no poden tenir interseccions
|
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... les estacions d'autobús de pas no poden tenir interseccions
|
||||||
STR_ERROR_DRIVE_THROUGH_ON_ONEWAY_ROAD :{WHITE}... la carretera és d'un sol sentit o està blocada.
|
|
||||||
|
|
||||||
# Station destruction related errors
|
# Station destruction related errors
|
||||||
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}No es pot treure part de la estació...
|
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}No es pot treure part de la estació...
|
||||||
|
|||||||
@@ -3120,7 +3120,7 @@ STR_NEWGRF_LIST_MISSING :{RED}Nedostaju
|
|||||||
STR_NEWGRF_BROKEN :{WHITE}Ponašanje NewGRF '{0:STRING}' će vjerojatno uzrokovati deharmonizaciju i/ili rušenje igre
|
STR_NEWGRF_BROKEN :{WHITE}Ponašanje NewGRF '{0:STRING}' će vjerojatno uzrokovati deharmonizaciju i/ili rušenje igre
|
||||||
STR_NEWGRF_BROKEN_POWERED_WAGON :{WHITE}Promijenjen status motoriziranog vagona za '{1:ENGINE}' kad vozilo nije u spremištu.
|
STR_NEWGRF_BROKEN_POWERED_WAGON :{WHITE}Promijenjen status motoriziranog vagona za '{1:ENGINE}' kad vozilo nije u spremištu.
|
||||||
STR_NEWGRF_BROKEN_VEHICLE_LENGTH :{WHITE}Ovo mijenja dužinu vozila za '{1:ENGINE}' kada vozilo nije unutar spremišta
|
STR_NEWGRF_BROKEN_VEHICLE_LENGTH :{WHITE}Ovo mijenja dužinu vozila za '{1:ENGINE}' kada vozilo nije unutar spremišta
|
||||||
STR_NEWGRF_BROKEN_CAPACITY :{WHITE}Promijenilo je kapacitet vozila za '{1:ENGINE}' kada nije u spremšta ili se remontira
|
STR_NEWGRF_BROKEN_CAPACITY :{WHITE}Promijenilo je kapacitet vozila za '{1:ENGINE}' kada nije u spremištu ili se prenamjenjuje
|
||||||
STR_BROKEN_VEHICLE_LENGTH :{WHITE}Vlak'{VEHICLE}' koji pripada tvrtci '{COMPANY}' neispravne je dužine. Uzrok problema je vjerojatno u NewGRF datotekama. Igra će se možda deharmonizirati ili srušiti
|
STR_BROKEN_VEHICLE_LENGTH :{WHITE}Vlak'{VEHICLE}' koji pripada tvrtci '{COMPANY}' neispravne je dužine. Uzrok problema je vjerojatno u NewGRF datotekama. Igra će se možda deharmonizirati ili srušiti
|
||||||
|
|
||||||
STR_NEWGRF_BUGGY :{WHITE}NewGRF '{0:STRING}' daje netočne informacije
|
STR_NEWGRF_BUGGY :{WHITE}NewGRF '{0:STRING}' daje netočne informacije
|
||||||
@@ -3903,9 +3903,9 @@ STR_VEHICLE_DETAILS_TRAIN_ARTICULATED_RV_CAPACITY :{BLACK}Nosivost
|
|||||||
STR_REFIT_CAPTION :{WHITE}{VEHICLE} (Prenamijeni)
|
STR_REFIT_CAPTION :{WHITE}{VEHICLE} (Prenamijeni)
|
||||||
STR_REFIT_TITLE :{GOLD}Odaberi vrstu tereta za prijevoz:
|
STR_REFIT_TITLE :{GOLD}Odaberi vrstu tereta za prijevoz:
|
||||||
STR_REFIT_NEW_CAPACITY_COST_OF_REFIT :{BLACK}Nova nosivost: {GOLD}{CARGO_LONG}{}{BLACK}Cijena prenamjene: {RED}{CURRENCY_LONG}
|
STR_REFIT_NEW_CAPACITY_COST_OF_REFIT :{BLACK}Nova nosivost: {GOLD}{CARGO_LONG}{}{BLACK}Cijena prenamjene: {RED}{CURRENCY_LONG}
|
||||||
STR_REFIT_NEW_CAPACITY_INCOME_FROM_REFIT :{BLACK}Novi kapacitet: {GOLD}{CARGO_LONG}{}{BLACK}Prihod od remonta: {GREEN}{CURRENCY_LONG}
|
STR_REFIT_NEW_CAPACITY_INCOME_FROM_REFIT :{BLACK}Novi kapacitet: {GOLD}{CARGO_LONG}{}{BLACK}Prihod od prenamjene: {GREEN}{CURRENCY_LONG}
|
||||||
STR_REFIT_NEW_CAPACITY_COST_OF_AIRCRAFT_REFIT :{BLACK}Novi kapacitet: {GOLD}{CARGO_LONG}, {GOLD}{CARGO_LONG}{}{BLACK}Trošak remonta: {RED}{CURRENCY_LONG}
|
STR_REFIT_NEW_CAPACITY_COST_OF_AIRCRAFT_REFIT :{BLACK}Novi kapacitet: {GOLD}{CARGO_LONG}, {GOLD}{CARGO_LONG}{}{BLACK}Cijena prenamjene: {RED}{CURRENCY_LONG}
|
||||||
STR_REFIT_NEW_CAPACITY_INCOME_FROM_AIRCRAFT_REFIT :{BLACK}Novi kapacitet: {GOLD}{CARGO_LONG}, {GOLD}{CARGO_LONG}{}{BLACK}Prihod od remonta: {GREEN}{CURRENCY_LONG}
|
STR_REFIT_NEW_CAPACITY_INCOME_FROM_AIRCRAFT_REFIT :{BLACK}Novi kapacitet: {GOLD}{CARGO_LONG}, {GOLD}{CARGO_LONG}{}{BLACK}Prihod od prenamjene: {GREEN}{CURRENCY_LONG}
|
||||||
STR_REFIT_SELECT_VEHICLES_TOOLTIP :{BLACK}Odaberi vozila za remont. Povlačenje mišem dopušta odabir više vozila. Klik na prazninu će označiti cijelo vozilo. Ctrl+Klik će označiti vozilo i niz koji slijedi.
|
STR_REFIT_SELECT_VEHICLES_TOOLTIP :{BLACK}Odaberi vozila za remont. Povlačenje mišem dopušta odabir više vozila. Klik na prazninu će označiti cijelo vozilo. Ctrl+Klik će označiti vozilo i niz koji slijedi.
|
||||||
|
|
||||||
STR_REFIT_TRAIN_LIST_TOOLTIP :{BLACK}Odaberi vrstu tereta koju će vlak prevoziti
|
STR_REFIT_TRAIN_LIST_TOOLTIP :{BLACK}Odaberi vrstu tereta koju će vlak prevoziti
|
||||||
@@ -4413,7 +4413,6 @@ STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD :{WHITE}... ovo
|
|||||||
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... cesta je orijentirana u krivom smjeru
|
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... cesta je orijentirana u krivom smjeru
|
||||||
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... prolazne postaje ne mogu imati zavoje
|
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... prolazne postaje ne mogu imati zavoje
|
||||||
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... prolazne postaje ne mogu imati raskrižja
|
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... prolazne postaje ne mogu imati raskrižja
|
||||||
STR_ERROR_DRIVE_THROUGH_ON_ONEWAY_ROAD :{WHITE}... cesta je jednosmjerna ili je blokirana
|
|
||||||
|
|
||||||
# Station destruction related errors
|
# Station destruction related errors
|
||||||
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Nije moguće ukloniti dio postaje...
|
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Nije moguće ukloniti dio postaje...
|
||||||
|
|||||||
@@ -264,6 +264,7 @@ STR_COLOUR_ORANGE :Oranžová
|
|||||||
STR_COLOUR_BROWN :Hnědá
|
STR_COLOUR_BROWN :Hnědá
|
||||||
STR_COLOUR_GREY :Šedá
|
STR_COLOUR_GREY :Šedá
|
||||||
STR_COLOUR_WHITE :Bílá
|
STR_COLOUR_WHITE :Bílá
|
||||||
|
STR_COLOUR_RANDOM :Náhodná
|
||||||
|
|
||||||
# Units used in OpenTTD
|
# Units used in OpenTTD
|
||||||
STR_UNITS_VELOCITY_IMPERIAL :{COMMA}{NBSP}m{P íle íle il}/h
|
STR_UNITS_VELOCITY_IMPERIAL :{COMMA}{NBSP}m{P íle íle il}/h
|
||||||
@@ -539,6 +540,7 @@ STR_TOOLBAR_SOUND_MUSIC :Zvuk/Hudba
|
|||||||
############ range for message menu starts
|
############ range for message menu starts
|
||||||
STR_NEWS_MENU_LAST_MESSAGE_NEWS_REPORT :Poslední zpráva nebo článek
|
STR_NEWS_MENU_LAST_MESSAGE_NEWS_REPORT :Poslední zpráva nebo článek
|
||||||
STR_NEWS_MENU_MESSAGE_HISTORY_MENU :Historie zpráv
|
STR_NEWS_MENU_MESSAGE_HISTORY_MENU :Historie zpráv
|
||||||
|
STR_NEWS_MENU_DELETE_ALL_MESSAGES :Smazat všechny zprávy
|
||||||
############ range ends here
|
############ range ends here
|
||||||
|
|
||||||
############ range for about menu starts
|
############ range for about menu starts
|
||||||
@@ -1077,6 +1079,7 @@ STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Dvojnásobná v
|
|||||||
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Čtyřnásobná velikost
|
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Čtyřnásobná velikost
|
||||||
|
|
||||||
|
|
||||||
|
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Běžné
|
||||||
|
|
||||||
STR_GAME_OPTIONS_BASE_GRF :{BLACK}Základní sada grafiky
|
STR_GAME_OPTIONS_BASE_GRF :{BLACK}Základní sada grafiky
|
||||||
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Zvol základní sadu grafiky
|
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Zvol základní sadu grafiky
|
||||||
@@ -1429,6 +1432,7 @@ STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_HELPTEXT :Barva terénu n
|
|||||||
STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_GREEN :zelená
|
STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_GREEN :zelená
|
||||||
STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_DARK_GREEN :tmavě zelená
|
STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_DARK_GREEN :tmavě zelená
|
||||||
STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_VIOLET :fialová
|
STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_VIOLET :fialová
|
||||||
|
STR_CONFIG_SETTING_SCROLLMODE_RMB_LOCKED :Pohyb v mapě pomocí pravého tlačítka myši, poloha myši uzamčena
|
||||||
STR_CONFIG_SETTING_SMOOTH_SCROLLING :Plynulé posouvání po mapě: {STRING}
|
STR_CONFIG_SETTING_SMOOTH_SCROLLING :Plynulé posouvání po mapě: {STRING}
|
||||||
STR_CONFIG_SETTING_SMOOTH_SCROLLING_HELPTEXT :Ovládá jak se hlavní pohled posouvá na specifické místo na mapě, kliknutím na minimapu nebo spuštěním příkazu na posun na specifický objekt na mapě. Pokud zapnuto, pohled se posouvá plynule, pokud vypnuto, skáče pohled přímo na cílové místo
|
STR_CONFIG_SETTING_SMOOTH_SCROLLING_HELPTEXT :Ovládá jak se hlavní pohled posouvá na specifické místo na mapě, kliknutím na minimapu nebo spuštěním příkazu na posun na specifický objekt na mapě. Pokud zapnuto, pohled se posouvá plynule, pokud vypnuto, skáče pohled přímo na cílové místo
|
||||||
STR_CONFIG_SETTING_MEASURE_TOOLTIP :Ukázat rozměry při použití stavebních nástrojů: {STRING}
|
STR_CONFIG_SETTING_MEASURE_TOOLTIP :Ukázat rozměry při použití stavebních nástrojů: {STRING}
|
||||||
@@ -2791,7 +2795,10 @@ STR_FRAMERATE_CAPTION :{WHITE}Počet s
|
|||||||
STR_FRAMERATE_RATE_BLITTER_TOOLTIP :{BLACK}Počet snímků videa vykreslovaných za sekundu.
|
STR_FRAMERATE_RATE_BLITTER_TOOLTIP :{BLACK}Počet snímků videa vykreslovaných za sekundu.
|
||||||
STR_FRAMERATE_SPEED_FACTOR :{WHITE}Aktuální činitel rychlosti hry: {DECIMAL}x
|
STR_FRAMERATE_SPEED_FACTOR :{WHITE}Aktuální činitel rychlosti hry: {DECIMAL}x
|
||||||
STR_FRAMERATE_SPEED_FACTOR_TOOLTIP :{BLACK}Rychlost, kterou hra právě běží, v porovnání s očekávanou rychlostí při běžné rychlosti simulace.
|
STR_FRAMERATE_SPEED_FACTOR_TOOLTIP :{BLACK}Rychlost, kterou hra právě běží, v porovnání s očekávanou rychlostí při běžné rychlosti simulace.
|
||||||
|
STR_FRAMERATE_CURRENT :{WHITE}Aktuální
|
||||||
STR_FRAMERATE_AVERAGE :{WHITE}Průměr
|
STR_FRAMERATE_AVERAGE :{WHITE}Průměr
|
||||||
|
STR_FRAMERATE_DATA_POINTS :{BLACK}Podle {COMMA} měření
|
||||||
|
STR_FRAMERATE_MS_GOOD :{LTBLUE}{DECIMAL} ms
|
||||||
STR_FRAMERATE_MS_BAD :{RED}{DECIMAL}{WHITE} ms
|
STR_FRAMERATE_MS_BAD :{RED}{DECIMAL}{WHITE} ms
|
||||||
STR_FRAMERATE_FPS_WARN :{YELLOW}{DECIMAL}{WHITE} sním{P "ek" "ky" "ků"}/s
|
STR_FRAMERATE_FPS_WARN :{YELLOW}{DECIMAL}{WHITE} sním{P "ek" "ky" "ků"}/s
|
||||||
STR_FRAMERATE_FPS_BAD :{RED}{DECIMAL}{WHITE} sním{P "ek" "ky" "ků"}/s
|
STR_FRAMERATE_FPS_BAD :{RED}{DECIMAL}{WHITE} sním{P "ek" "ky" "ků"}/s
|
||||||
@@ -2799,12 +2806,20 @@ STR_FRAMERATE_GRAPH_MILLISECONDS :{TINY_FONT}{COM
|
|||||||
STR_FRAMERATE_GRAPH_SECONDS :{TINY_FONT}{COMMA} s
|
STR_FRAMERATE_GRAPH_SECONDS :{TINY_FONT}{COMMA} s
|
||||||
############ Leave those lines in this order!!
|
############ Leave those lines in this order!!
|
||||||
STR_FRAMERATE_GL_ECONOMY :{WHITE} Manipulace s nákladem:
|
STR_FRAMERATE_GL_ECONOMY :{WHITE} Manipulace s nákladem:
|
||||||
|
STR_FRAMERATE_GL_LINKGRAPH :{BLACK} Zpoždění grafu spojení:
|
||||||
STR_FRAMERATE_DRAWING :{WHITE}Vykreslování grafiky:
|
STR_FRAMERATE_DRAWING :{WHITE}Vykreslování grafiky:
|
||||||
|
STR_FRAMERATE_DRAWING_VIEWPORTS :{BLACK} Pohledy:
|
||||||
|
STR_FRAMERATE_VIDEO :{BLACK}Video:
|
||||||
|
STR_FRAMERATE_SOUND :{BLACK}Míchání zvuků:
|
||||||
|
STR_FRAMERATE_GAMESCRIPT :{BLACK} Herní skript:
|
||||||
############ End of leave-in-this-order
|
############ End of leave-in-this-order
|
||||||
############ Leave those lines in this order!!
|
############ Leave those lines in this order!!
|
||||||
|
STR_FRAMETIME_CAPTION_GAMELOOP :Herní smyčka
|
||||||
STR_FRAMETIME_CAPTION_GL_ECONOMY :Manipulace s nákladem
|
STR_FRAMETIME_CAPTION_GL_ECONOMY :Manipulace s nákladem
|
||||||
STR_FRAMETIME_CAPTION_DRAWING :Vykreslování grafiky
|
STR_FRAMETIME_CAPTION_DRAWING :Vykreslování grafiky
|
||||||
STR_FRAMETIME_CAPTION_SOUND :Míchání zvuků
|
STR_FRAMETIME_CAPTION_SOUND :Míchání zvuků
|
||||||
|
STR_FRAMETIME_CAPTION_GAMESCRIPT :Herní skript
|
||||||
|
STR_FRAMETIME_CAPTION_AI :AI {NUM} {STRING}
|
||||||
############ End of leave-in-this-order
|
############ End of leave-in-this-order
|
||||||
|
|
||||||
|
|
||||||
@@ -2830,6 +2845,8 @@ STR_SAVELOAD_DETAIL_CAPTION :{BLACK}Vlastnos
|
|||||||
STR_SAVELOAD_DETAIL_NOT_AVAILABLE :{BLACK}Není dostupná žádná informace
|
STR_SAVELOAD_DETAIL_NOT_AVAILABLE :{BLACK}Není dostupná žádná informace
|
||||||
STR_SAVELOAD_DETAIL_COMPANY_INDEX :{SILVER}{COMMA}: {WHITE}{STRING}
|
STR_SAVELOAD_DETAIL_COMPANY_INDEX :{SILVER}{COMMA}: {WHITE}{STRING}
|
||||||
STR_SAVELOAD_DETAIL_GRFSTATUS :{SILVER}Grafiky: {WHITE}{STRING}
|
STR_SAVELOAD_DETAIL_GRFSTATUS :{SILVER}Grafiky: {WHITE}{STRING}
|
||||||
|
STR_SAVELOAD_FILTER_TITLE :{BLACK}Filtr:
|
||||||
|
STR_SAVELOAD_OVERWRITE_TITLE :{WHITE}Přepsat soubor
|
||||||
|
|
||||||
STR_SAVELOAD_OSKTITLE :{BLACK}Zadej jméno pro uloženou hru
|
STR_SAVELOAD_OSKTITLE :{BLACK}Zadej jméno pro uloženou hru
|
||||||
|
|
||||||
@@ -2948,6 +2965,7 @@ STR_NEWGRF_SETTINGS_MIN_VERSION :{BLACK}Minimál
|
|||||||
STR_NEWGRF_SETTINGS_MD5SUM :{BLACK}MD5sum: {SILVER}{STRING}
|
STR_NEWGRF_SETTINGS_MD5SUM :{BLACK}MD5sum: {SILVER}{STRING}
|
||||||
STR_NEWGRF_SETTINGS_PALETTE :{BLACK}Paleta: {SILVER}{STRING}
|
STR_NEWGRF_SETTINGS_PALETTE :{BLACK}Paleta: {SILVER}{STRING}
|
||||||
STR_NEWGRF_SETTINGS_PARAMETER :{BLACK}Parametry: {SILVER}{STRING}
|
STR_NEWGRF_SETTINGS_PARAMETER :{BLACK}Parametry: {SILVER}{STRING}
|
||||||
|
STR_NEWGRF_SETTINGS_PARAMETER_NONE :Žádný
|
||||||
|
|
||||||
STR_NEWGRF_SETTINGS_NO_INFO :{BLACK}Informace nejsou k dispozici
|
STR_NEWGRF_SETTINGS_NO_INFO :{BLACK}Informace nejsou k dispozici
|
||||||
STR_NEWGRF_SETTINGS_NOT_FOUND :{RED}Nenalezen odpovídající soubor
|
STR_NEWGRF_SETTINGS_NOT_FOUND :{RED}Nenalezen odpovídající soubor
|
||||||
@@ -3201,6 +3219,7 @@ STR_SUBSIDIES_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Kliknut
|
|||||||
# Story book window
|
# Story book window
|
||||||
STR_STORY_BOOK_CAPTION :{WHITE}{COMPANY} Kniha příběhů
|
STR_STORY_BOOK_CAPTION :{WHITE}{COMPANY} Kniha příběhů
|
||||||
STR_STORY_BOOK_SPECTATOR_CAPTION :{WHITE}Globální kniha příběhů
|
STR_STORY_BOOK_SPECTATOR_CAPTION :{WHITE}Globální kniha příběhů
|
||||||
|
STR_STORY_BOOK_SPECTATOR :Globální kniha příběhů
|
||||||
STR_STORY_BOOK_TITLE :{YELLOW}{STRING}
|
STR_STORY_BOOK_TITLE :{YELLOW}{STRING}
|
||||||
STR_STORY_BOOK_GENERIC_PAGE_ITEM :Strana {NUM}
|
STR_STORY_BOOK_GENERIC_PAGE_ITEM :Strana {NUM}
|
||||||
STR_STORY_BOOK_SEL_PAGE_TOOLTIP :{BLACK}Skoč na určitou stranu vybranou v tomto seznamu
|
STR_STORY_BOOK_SEL_PAGE_TOOLTIP :{BLACK}Skoč na určitou stranu vybranou v tomto seznamu
|
||||||
@@ -3405,6 +3424,7 @@ STR_INDUSTRY_VIEW_LOCATION_TOOLTIP :{BLACK}Vystřed
|
|||||||
STR_INDUSTRY_VIEW_PRODUCTION_LEVEL :{BLACK}Produkce: {YELLOW}{COMMA}%
|
STR_INDUSTRY_VIEW_PRODUCTION_LEVEL :{BLACK}Produkce: {YELLOW}{COMMA}%
|
||||||
STR_INDUSTRY_VIEW_INDUSTRY_ANNOUNCED_CLOSURE :{YELLOW}Průmysl oznámila blížící se uzavření!
|
STR_INDUSTRY_VIEW_INDUSTRY_ANNOUNCED_CLOSURE :{YELLOW}Průmysl oznámila blížící se uzavření!
|
||||||
|
|
||||||
|
STR_INDUSTRY_VIEW_REQUIRES_N_CARGO :{BLACK}Vyžaduje: {YELLOW}{STRING}{STRING}
|
||||||
|
|
||||||
STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Vyžaduje:
|
STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Vyžaduje:
|
||||||
STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING}{BLACK}{3:STRING}
|
STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING}{BLACK}{3:STRING}
|
||||||
@@ -4339,7 +4359,6 @@ STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD :{WHITE}... tato
|
|||||||
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... silnice je otočena jiným směrem
|
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... silnice je otočena jiným směrem
|
||||||
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... průjezdné zastávky nemohou být v zatáčce
|
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... průjezdné zastávky nemohou být v zatáčce
|
||||||
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... průjezdné zastávky nemohou být na křižovatce
|
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... průjezdné zastávky nemohou být na křižovatce
|
||||||
STR_ERROR_DRIVE_THROUGH_ON_ONEWAY_ROAD :{WHITE}... silnice je jednosměrná nebo uzavřená.
|
|
||||||
|
|
||||||
# Station destruction related errors
|
# Station destruction related errors
|
||||||
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Nelze odstranit část stanice...
|
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Nelze odstranit část stanice...
|
||||||
|
|||||||
@@ -4317,7 +4317,6 @@ STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD :{WHITE}... denn
|
|||||||
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... vejen peger i den forkerte retning
|
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... vejen peger i den forkerte retning
|
||||||
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... drive-through stops kan ikke have hjørner
|
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... drive-through stops kan ikke have hjørner
|
||||||
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... drive-through stops kan ikke have kryds
|
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... drive-through stops kan ikke have kryds
|
||||||
STR_ERROR_DRIVE_THROUGH_ON_ONEWAY_ROAD :{WHITE}vejen er ensrettet eller blokeret
|
|
||||||
|
|
||||||
# Station destruction related errors
|
# Station destruction related errors
|
||||||
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Kan ikke fjerne en del af en station...
|
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Kan ikke fjerne en del af en station...
|
||||||
|
|||||||
@@ -98,7 +98,7 @@ STR_QUANTITY_NOTHING :
|
|||||||
STR_QUANTITY_PASSENGERS :{COMMA}{NBSP}passagier{P "" s}
|
STR_QUANTITY_PASSENGERS :{COMMA}{NBSP}passagier{P "" s}
|
||||||
STR_QUANTITY_COAL :{WEIGHT_LONG} kolen
|
STR_QUANTITY_COAL :{WEIGHT_LONG} kolen
|
||||||
STR_QUANTITY_MAIL :{COMMA}{NBSP}zak{P "" ken} post
|
STR_QUANTITY_MAIL :{COMMA}{NBSP}zak{P "" ken} post
|
||||||
STR_QUANTITY_OIL :{VOLUME_LONG} Vaten olie
|
STR_QUANTITY_OIL :{VOLUME_LONG} vaten olie
|
||||||
STR_QUANTITY_LIVESTOCK :{COMMA}{NBSP}stuk{P "" s} vee
|
STR_QUANTITY_LIVESTOCK :{COMMA}{NBSP}stuk{P "" s} vee
|
||||||
STR_QUANTITY_GOODS :{COMMA}{NBSP}krat{P "" ten} goederen
|
STR_QUANTITY_GOODS :{COMMA}{NBSP}krat{P "" ten} goederen
|
||||||
STR_QUANTITY_GRAIN :{WEIGHT_LONG} graan
|
STR_QUANTITY_GRAIN :{WEIGHT_LONG} graan
|
||||||
@@ -1860,7 +1860,7 @@ STR_LIVERY_PASSENGER_SHIP :Passagiersschip
|
|||||||
STR_LIVERY_FREIGHT_SHIP :Vrachtschip
|
STR_LIVERY_FREIGHT_SHIP :Vrachtschip
|
||||||
STR_LIVERY_HELICOPTER :Helikopter
|
STR_LIVERY_HELICOPTER :Helikopter
|
||||||
STR_LIVERY_SMALL_PLANE :Klein vliegtuig
|
STR_LIVERY_SMALL_PLANE :Klein vliegtuig
|
||||||
STR_LIVERY_LARGE_PLANE :Groot Vliegtuig
|
STR_LIVERY_LARGE_PLANE :Groot vliegtuig
|
||||||
STR_LIVERY_PASSENGER_TRAM :Passagierstram
|
STR_LIVERY_PASSENGER_TRAM :Passagierstram
|
||||||
STR_LIVERY_FREIGHT_TRAM :Vrachttram
|
STR_LIVERY_FREIGHT_TRAM :Vrachttram
|
||||||
|
|
||||||
@@ -2412,7 +2412,7 @@ STR_BRIDGE_TUBULAR_SILICON :Buis, silicium
|
|||||||
|
|
||||||
# Road construction toolbar
|
# Road construction toolbar
|
||||||
STR_ROAD_TOOLBAR_ROAD_CONSTRUCTION_CAPTION :{WHITE}Wegen bouwen
|
STR_ROAD_TOOLBAR_ROAD_CONSTRUCTION_CAPTION :{WHITE}Wegen bouwen
|
||||||
STR_ROAD_TOOLBAR_TRAM_CONSTRUCTION_CAPTION :{WHITE}Bouw tramsporen
|
STR_ROAD_TOOLBAR_TRAM_CONSTRUCTION_CAPTION :{WHITE}Tramsporen bouwen
|
||||||
STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_SECTION :{BLACK}Weg bouwen. Ctrl schakelt tussen bouwen/verwijderen van de weg. Shift schakelt tussen bouwen/inschatting van de kosten.
|
STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_SECTION :{BLACK}Weg bouwen. Ctrl schakelt tussen bouwen/verwijderen van de weg. Shift schakelt tussen bouwen/inschatting van de kosten.
|
||||||
STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_SECTION :{BLACK}Bouw tramsporen. Ctrl schakelt tussen bouwen/verwijderen van tramsporen. Shift schakelt tussen bouwen/inschatting van de kosten
|
STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_SECTION :{BLACK}Bouw tramsporen. Ctrl schakelt tussen bouwen/verwijderen van tramsporen. Shift schakelt tussen bouwen/inschatting van de kosten
|
||||||
STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOROAD :{BLACK}Wegen bouwen met de automatische methode. Ctrl schakelt tussen bouwen/verwijderen van de weg. Shift schakelt tussen bouwen/inschatting van de kosten.
|
STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOROAD :{BLACK}Wegen bouwen met de automatische methode. Ctrl schakelt tussen bouwen/verwijderen van de weg. Shift schakelt tussen bouwen/inschatting van de kosten.
|
||||||
@@ -2856,7 +2856,7 @@ STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_QUERY_CAPT :{WHITE}Verander
|
|||||||
# Map generation progress
|
# Map generation progress
|
||||||
STR_GENERATION_WORLD :{WHITE}Bezig met wereldontwikkeling...
|
STR_GENERATION_WORLD :{WHITE}Bezig met wereldontwikkeling...
|
||||||
STR_GENERATION_ABORT :{BLACK}Stop
|
STR_GENERATION_ABORT :{BLACK}Stop
|
||||||
STR_GENERATION_ABORT_CAPTION :{WHITE}Stop Wereldontwikkeling
|
STR_GENERATION_ABORT_CAPTION :{WHITE}Wereldontwikkeling stoppen
|
||||||
STR_GENERATION_ABORT_MESSAGE :{YELLOW}Weet je zeker dat je de actie wilt stoppen?
|
STR_GENERATION_ABORT_MESSAGE :{YELLOW}Weet je zeker dat je de actie wilt stoppen?
|
||||||
STR_GENERATION_PROGRESS :{WHITE}{NUM}% compleet
|
STR_GENERATION_PROGRESS :{WHITE}{NUM}% compleet
|
||||||
STR_GENERATION_PROGRESS_NUM :{BLACK}{NUM} / {NUM}
|
STR_GENERATION_PROGRESS_NUM :{BLACK}{NUM} / {NUM}
|
||||||
@@ -3117,7 +3117,7 @@ STR_LOCAL_AUTHORITY_ACTION_BRIBE :Gemeentebestuur
|
|||||||
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_SMALL_ADVERTISING :{YELLOW}Begin een kleine reclamecampagne om meer passagiers en vracht naar jouw transportdiensten te trekken.{}Kosten: {CURRENCY_LONG}
|
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_SMALL_ADVERTISING :{YELLOW}Begin een kleine reclamecampagne om meer passagiers en vracht naar jouw transportdiensten te trekken.{}Kosten: {CURRENCY_LONG}
|
||||||
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :{YELLOW}Begin een middelgrote reclamecampagne om meer passagiers en vracht naar jouw transportdiensten te trekken.{}Kosten: {CURRENCY_LONG}
|
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :{YELLOW}Begin een middelgrote reclamecampagne om meer passagiers en vracht naar jouw transportdiensten te trekken.{}Kosten: {CURRENCY_LONG}
|
||||||
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{YELLOW}Begin een grote reclamecampagne om meer passagiers en vracht naar jouw transportdiensten te trekken.{}Kosten: {CURRENCY_LONG}
|
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{YELLOW}Begin een grote reclamecampagne om meer passagiers en vracht naar jouw transportdiensten te trekken.{}Kosten: {CURRENCY_LONG}
|
||||||
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION :{YELLOW}Financier een herstelling van het wegennetwerk. Veroorzaakt tot 6 maanden lang een aanzienlijke verstoring van het wegverkeer.{}Kosten: {CURRENCY_LONG}
|
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION :{YELLOW}Financier een reconstructie van het wegennetwerk. Veroorzaakt tot 6 maanden lang een aanzienlijke verstoring van het wegverkeer.{}Kosten: {CURRENCY_LONG}
|
||||||
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{YELLOW}Een standbeeld bouwen ter ere van jouw bedrijf.{}Kosten: {CURRENCY_LONG}
|
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{YELLOW}Een standbeeld bouwen ter ere van jouw bedrijf.{}Kosten: {CURRENCY_LONG}
|
||||||
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{YELLOW}De bouw van nieuwe commerciële gebouwen in de stad financieren.{}Kosten: {CURRENCY_LONG}
|
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{YELLOW}De bouw van nieuwe commerciële gebouwen in de stad financieren.{}Kosten: {CURRENCY_LONG}
|
||||||
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT :{YELLOW}1 jaar exclusieve transportrechten kopen in deze plaats. Het gemeentebestuur staat alleen passagiers en vracht toe bij jouw stations.{}Kosten: {CURRENCY_LONG}
|
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT :{YELLOW}1 jaar exclusieve transportrechten kopen in deze plaats. Het gemeentebestuur staat alleen passagiers en vracht toe bij jouw stations.{}Kosten: {CURRENCY_LONG}
|
||||||
@@ -4023,7 +4023,7 @@ STR_TIMETABLE_WAIT_TIME_TOOLTIP :{BLACK}Verander
|
|||||||
STR_TIMETABLE_CLEAR_TIME :{BLACK}Tijd wissen
|
STR_TIMETABLE_CLEAR_TIME :{BLACK}Tijd wissen
|
||||||
STR_TIMETABLE_CLEAR_TIME_TOOLTIP :{BLACK}Verwijder de tijdsduur die de geselecteerde order mag duren
|
STR_TIMETABLE_CLEAR_TIME_TOOLTIP :{BLACK}Verwijder de tijdsduur die de geselecteerde order mag duren
|
||||||
|
|
||||||
STR_TIMETABLE_CHANGE_SPEED :{BLACK}Wijzig Maximumsnelheid
|
STR_TIMETABLE_CHANGE_SPEED :{BLACK}Maximumsnelheid wijzigen
|
||||||
STR_TIMETABLE_CHANGE_SPEED_TOOLTIP :{BLACK}Wijzig de maximumsnelheid voor de gekozen order
|
STR_TIMETABLE_CHANGE_SPEED_TOOLTIP :{BLACK}Wijzig de maximumsnelheid voor de gekozen order
|
||||||
|
|
||||||
STR_TIMETABLE_CLEAR_SPEED :{BLACK}Snelheidslimiet wissen
|
STR_TIMETABLE_CLEAR_SPEED :{BLACK}Snelheidslimiet wissen
|
||||||
@@ -4317,7 +4317,6 @@ STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD :{WHITE}... deze
|
|||||||
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... weg is in de verkeerde richting
|
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... weg is in de verkeerde richting
|
||||||
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... doorrij haltes kunnen geen bochten hebben
|
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... doorrij haltes kunnen geen bochten hebben
|
||||||
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... doorrij haltes kunnen geen kruisingen hebben
|
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... doorrij haltes kunnen geen kruisingen hebben
|
||||||
STR_ERROR_DRIVE_THROUGH_ON_ONEWAY_ROAD :{WHITE}... weg is eenrichtingsverkeer of geblokkeerd
|
|
||||||
|
|
||||||
# Station destruction related errors
|
# Station destruction related errors
|
||||||
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Kan deel van station niet verwijderen...
|
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Kan deel van station niet verwijderen...
|
||||||
@@ -5070,3 +5069,39 @@ STR_SHIP :{BLACK}{SHIP}
|
|||||||
STR_TOOLBAR_RAILTYPE_VELOCITY :{STRING} ({VELOCITY})
|
STR_TOOLBAR_RAILTYPE_VELOCITY :{STRING} ({VELOCITY})
|
||||||
|
|
||||||
# Android strings
|
# Android strings
|
||||||
|
STR_ABOUT_MENU_TUTORIAL :{BLACK}Studieles
|
||||||
|
STR_SMALLMAP_TOOLTIP_SHOW_LEGEND :{BLACK}Kaartlegenda weergeven / beschrijving van kaartpictogrammen
|
||||||
|
STR_CONFIG_SETTING_VERTICAL_TOOLBAR :Verticale werkbalk: {STRING}
|
||||||
|
STR_CONFIG_SETTING_VERTICAL_TOOLBAR_HELPTEXT :De hoofdwerkbalk is onderverdeeld in twee verticale werkbalken aan de zijkanten van het scherm
|
||||||
|
STR_CONFIG_SETTING_COMPACT_VERTICAL_TOOLBAR :Compacte verticale werkblak: {STRING}
|
||||||
|
STR_CONFIG_SETTING_COMPACT_VERTICAL_TOOLBAR_HELPTEXT :Geen knop 'Werkbalk wisselen' in de verticale werkbalk, maar meer submenu's
|
||||||
|
STR_CONFIG_SETTING_BUTTON_SIZE :{BLACK}Knopgrootte
|
||||||
|
STR_CONFIG_SETTING_BUTTON_SIZE_TOOLTIP :{BLACK}Grootte van alle bedieningselementen
|
||||||
|
STR_CONFIG_SETTING_FONT_SIZE :{BLACK}Lettertypegrootte
|
||||||
|
STR_CONFIG_SETTING_FONT_SIZE_TOOLTIP :{BLACK}Grootte van alle spellettertypen
|
||||||
|
STR_CONFIG_SETTING_BUILD_CONFIRMATION :Handelingen bevestigen: {STRING}
|
||||||
|
STR_CONFIG_SETTING_BUILD_CONFIRMATION_HELPTEXT :Bevestigingsdialoogvenster weergeven bij het bouwen van wegen en stations
|
||||||
|
STR_CONFIG_SETTING_WINDOWS_TITLEBARS :{BLACK}Titelbalken
|
||||||
|
STR_CONFIG_SETTING_WINDOWS_TITLEBARS_HELPTEXT :{BLACK}Titelbalken op alle vensters weergeven of verbergen om ruimte te besparen
|
||||||
|
STR_CONFIG_SETTING_WINDOWS_DECORATIONS :Vensterdecoraties: {STRING}
|
||||||
|
STR_CONFIG_SETTING_WINDOWS_DECORATIONS_HELPTEXT :Versieringen op de vensterranden
|
||||||
|
STR_CONFIG_SETTING_VIDEO_8BPP :{BLACK}8 bits
|
||||||
|
STR_CONFIG_SETTING_VIDEO_8BPP_HELPTEXT :{BLACK}Stel de video-kleurdiepte in op 8 bits per pixel, deze videomodus ondersteunt bewegend water
|
||||||
|
STR_CONFIG_SETTING_VIDEO_16BPP :{BLACK}16 bits
|
||||||
|
STR_CONFIG_SETTING_VIDEO_16BPP_HELPTEXT :{BLACK}Stel de video-kleurdiepte in op 16 bits per pixel, herstart noodzakelijk, deze videomodus ondersteunt geen bewegend water
|
||||||
|
STR_CONFIG_SETTING_VIDEO_24BPP :{BLACK}24 bits
|
||||||
|
STR_CONFIG_SETTING_VIDEO_24BPP_HELPTEXT :{BLACK}Stel de video-kleurdiepte in op 24 bits per pixel, deze videomodus ondersteunt bewegend water
|
||||||
|
STR_TABLET_CLOSE_TOOLTIP :{BLACK}Alle open vensters sluiten (behalve vastgezette)
|
||||||
|
STR_TABLET_SHIFT_TOOLTIP :{BLACK}Druk hierop voor een schatting van de kosten van een handeling
|
||||||
|
STR_TABLET_CTRL_TOOLTIP :{BLACK}Gebruik dit voor handelingen waarvoor de toets 'CTRL' wordt gebruikt
|
||||||
|
STR_TUTORIAL_WINDOW_TITLE :{BLACK}Studievideo's
|
||||||
|
STR_TUTORIAL_WINDOW_TOOLTIP :{BLACK}Een videospeler openen om studievideo's te bekijken
|
||||||
|
STR_TUTORIAL_ROADS_AND_STATIONS :{BLACK}Wegen en stations bouwen, voertuigen kopen
|
||||||
|
STR_TUTORIAL_RAILWAYS :{BLACK}Spoorwegen en treinen
|
||||||
|
STR_TUTORIAL_ROAD_VEHICLES :{BLACK}Wegvoertuigen
|
||||||
|
STR_TUTORIAL_SHIPS :{BLACK}Schepen en dokken
|
||||||
|
STR_TUTORIAL_CARGO :{BLACK}Typen vracht
|
||||||
|
STR_SAVELOAD_LOAD_NETWORK_BUTTON :{BLACK}Laden vanaf netwerk
|
||||||
|
STR_SAVELOAD_LOAD_NETWORK_TOOLTIP :{BLACK}Een spel laden uit de netwerkopslag
|
||||||
|
STR_SAVELOAD_SAVE_NETWORK_BUTTON :{BLACK}Opslaan naar netwerk
|
||||||
|
STR_SAVELOAD_SAVE_NETWORK_TOOLTIP :{BLACK}Reservekopie van het spel maken op de netwerkopslag
|
||||||
|
|||||||
@@ -1155,7 +1155,7 @@ STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Maximum amount
|
|||||||
STR_CONFIG_SETTING_INTEREST_RATE :Interest rate: {STRING2}
|
STR_CONFIG_SETTING_INTEREST_RATE :Interest rate: {STRING2}
|
||||||
STR_CONFIG_SETTING_INTEREST_RATE_HELPTEXT :Loan interest rate; also controls inflation, if enabled
|
STR_CONFIG_SETTING_INTEREST_RATE_HELPTEXT :Loan interest rate; also controls inflation, if enabled
|
||||||
STR_CONFIG_SETTING_RUNNING_COSTS :Running costs: {STRING2}
|
STR_CONFIG_SETTING_RUNNING_COSTS :Running costs: {STRING2}
|
||||||
STR_CONFIG_SETTING_RUNNING_COSTS_HELPTEXT :Set level of maintainance and running costs of vehicles and infrastructure
|
STR_CONFIG_SETTING_RUNNING_COSTS_HELPTEXT :Set level of maintenance and running costs of vehicles and infrastructure
|
||||||
STR_CONFIG_SETTING_CONSTRUCTION_SPEED :Construction speed: {STRING2}
|
STR_CONFIG_SETTING_CONSTRUCTION_SPEED :Construction speed: {STRING2}
|
||||||
STR_CONFIG_SETTING_CONSTRUCTION_SPEED_HELPTEXT :Limit the amount of construction actions for AIs
|
STR_CONFIG_SETTING_CONSTRUCTION_SPEED_HELPTEXT :Limit the amount of construction actions for AIs
|
||||||
STR_CONFIG_SETTING_VEHICLE_BREAKDOWNS :Vehicle breakdowns: {STRING2}
|
STR_CONFIG_SETTING_VEHICLE_BREAKDOWNS :Vehicle breakdowns: {STRING2}
|
||||||
@@ -4352,7 +4352,6 @@ STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD :{WHITE}... this
|
|||||||
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... road facing in the wrong direction
|
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... road facing in the wrong direction
|
||||||
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... drive through stops can't have corners
|
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... drive through stops can't have corners
|
||||||
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... drive through stops can't have junctions
|
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... drive through stops can't have junctions
|
||||||
STR_ERROR_DRIVE_THROUGH_ON_ONEWAY_ROAD :{WHITE}... road is one way or blocked
|
|
||||||
|
|
||||||
# Station destruction related errors
|
# Station destruction related errors
|
||||||
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Can't remove part of station...
|
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Can't remove part of station...
|
||||||
|
|||||||
@@ -1159,7 +1159,7 @@ STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Maximum amount
|
|||||||
STR_CONFIG_SETTING_INTEREST_RATE :Interest rate: {STRING}
|
STR_CONFIG_SETTING_INTEREST_RATE :Interest rate: {STRING}
|
||||||
STR_CONFIG_SETTING_INTEREST_RATE_HELPTEXT :Loan interest rate; also controls inflation, if enabled
|
STR_CONFIG_SETTING_INTEREST_RATE_HELPTEXT :Loan interest rate; also controls inflation, if enabled
|
||||||
STR_CONFIG_SETTING_RUNNING_COSTS :Running costs: {STRING}
|
STR_CONFIG_SETTING_RUNNING_COSTS :Running costs: {STRING}
|
||||||
STR_CONFIG_SETTING_RUNNING_COSTS_HELPTEXT :Set level of maintainance and running costs of vehicles and infrastructure
|
STR_CONFIG_SETTING_RUNNING_COSTS_HELPTEXT :Set level of maintenance and running costs of vehicles and infrastructure
|
||||||
STR_CONFIG_SETTING_CONSTRUCTION_SPEED :Construction speed: {STRING}
|
STR_CONFIG_SETTING_CONSTRUCTION_SPEED :Construction speed: {STRING}
|
||||||
STR_CONFIG_SETTING_CONSTRUCTION_SPEED_HELPTEXT :Limit the amount of construction actions for AIs
|
STR_CONFIG_SETTING_CONSTRUCTION_SPEED_HELPTEXT :Limit the amount of construction actions for AIs
|
||||||
STR_CONFIG_SETTING_VEHICLE_BREAKDOWNS :Vehicle breakdowns: {STRING}
|
STR_CONFIG_SETTING_VEHICLE_BREAKDOWNS :Vehicle breakdowns: {STRING}
|
||||||
@@ -1648,7 +1648,7 @@ STR_CONFIG_SETTING_DEMAND_DISTANCE_HELPTEXT :If you set this
|
|||||||
STR_CONFIG_SETTING_DEMAND_SIZE :Amount of returning cargo for symmetric mode: {STRING}
|
STR_CONFIG_SETTING_DEMAND_SIZE :Amount of returning cargo for symmetric mode: {STRING}
|
||||||
STR_CONFIG_SETTING_DEMAND_SIZE_HELPTEXT :Setting this to less than 100% makes the symmetric distribution behave more like the asymmetric one. Less cargo will be forcibly sent back if a certain amount is sent to a station. If you set it to 0% the symmetric distribution behaves just like the asymmetric one.
|
STR_CONFIG_SETTING_DEMAND_SIZE_HELPTEXT :Setting this to less than 100% makes the symmetric distribution behave more like the asymmetric one. Less cargo will be forcibly sent back if a certain amount is sent to a station. If you set it to 0% the symmetric distribution behaves just like the asymmetric one.
|
||||||
STR_CONFIG_SETTING_SHORT_PATH_SATURATION :Saturation of short paths before using high-capacity paths: {STRING}
|
STR_CONFIG_SETTING_SHORT_PATH_SATURATION :Saturation of short paths before using high-capacity paths: {STRING}
|
||||||
STR_CONFIG_SETTING_SHORT_PATH_SATURATION_HELPTEXT :Frequently there are multiple paths between two given stations. Cargodist will saturate the shortest path first, then use the second shortest path until that is saturated and so on. Saturation is determined by an estimation of capacity and planned usage. Once it has saturated all paths, if there is still demand left, it will overload all paths, prefering the ones with high capacity. Most of the time the algorithm will not estimate the capacity accurately, though. This setting allows you to specify up to which percentage a shorter path must be saturated in the first pass before choosing the next longer one. Set it to less than 100% to avoid overcrowded stations in case of overestimated capacity.
|
STR_CONFIG_SETTING_SHORT_PATH_SATURATION_HELPTEXT :Frequently there are multiple paths between two given stations. Cargodist will saturate the shortest path first, then use the second shortest path until that is saturated and so on. Saturation is determined by an estimation of capacity and planned usage. Once it has saturated all paths, if there is still demand left, it will overload all paths, preferring the ones with high capacity. Most of the time the algorithm will not estimate the capacity accurately, though. This setting allows you to specify up to which percentage a shorter path must be saturated in the first pass before choosing the next longer one. Set it to less than 100% to avoid overcrowded stations in case of overestimated capacity.
|
||||||
|
|
||||||
STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY :Speed units: {STRING}
|
STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY :Speed units: {STRING}
|
||||||
STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_HELPTEXT :Whenever a speed is shown in the user interface, show it in the selected units
|
STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_HELPTEXT :Whenever a speed is shown in the user interface, show it in the selected units
|
||||||
@@ -4317,7 +4317,6 @@ STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD :{WHITE}... this
|
|||||||
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... road facing in the wrong direction
|
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... road facing in the wrong direction
|
||||||
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... drive through stops can't have corners
|
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... drive through stops can't have corners
|
||||||
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... drive through stops can't have junctions
|
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... drive through stops can't have junctions
|
||||||
STR_ERROR_DRIVE_THROUGH_ON_ONEWAY_ROAD :{WHITE}... road is one way or blocked
|
|
||||||
|
|
||||||
# Station destruction related errors
|
# Station destruction related errors
|
||||||
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Can't remove part of station...
|
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Can't remove part of station...
|
||||||
|
|||||||
@@ -4284,7 +4284,6 @@ STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD :{WHITE}... see
|
|||||||
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... tee on vales suunas
|
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... tee on vales suunas
|
||||||
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... nurgad ei saa läbisõidupeatustes olla
|
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... nurgad ei saa läbisõidupeatustes olla
|
||||||
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... ristmikud ei saa olla läbisõidupeatustes
|
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... ristmikud ei saa olla läbisõidupeatustes
|
||||||
STR_ERROR_DRIVE_THROUGH_ON_ONEWAY_ROAD :{WHITE}... tee on ühesuunaline või blokeeritud
|
|
||||||
|
|
||||||
# Station destruction related errors
|
# Station destruction related errors
|
||||||
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Siinset jaamablokki ei saa lammutada...
|
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Siinset jaamablokki ei saa lammutada...
|
||||||
|
|||||||
@@ -4317,7 +4317,6 @@ STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD :{WHITE}... kunt
|
|||||||
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... tie on väärin päin
|
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... tie on väärin päin
|
||||||
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... läpiajettavissa pysäkeissä ei voi olla mutkia
|
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... läpiajettavissa pysäkeissä ei voi olla mutkia
|
||||||
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... läpiajettavissa pysäkeissä ei voi olla risteyksiä
|
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... läpiajettavissa pysäkeissä ei voi olla risteyksiä
|
||||||
STR_ERROR_DRIVE_THROUGH_ON_ONEWAY_ROAD :{WHITE}... tie on yksisuuntainen tai suljettu
|
|
||||||
|
|
||||||
# Station destruction related errors
|
# Station destruction related errors
|
||||||
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Aseman osaa ei voi poistaa...
|
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Aseman osaa ei voi poistaa...
|
||||||
|
|||||||
@@ -3025,13 +3025,14 @@ STR_NEWGRF_LIST_MISSING :{RED}Modules ma
|
|||||||
STR_NEWGRF_BROKEN :{WHITE}Le comportement du NewGRF "{0:STRING}" peut provoquer des erreurs de synchronisation et/ou des plantages
|
STR_NEWGRF_BROKEN :{WHITE}Le comportement du NewGRF "{0:STRING}" peut provoquer des erreurs de synchronisation et/ou des plantages
|
||||||
STR_NEWGRF_BROKEN_POWERED_WAGON :{WHITE}Il a modifié l'état de wagon motorisé pour "{1:ENGINE}" en dehors du dépôt
|
STR_NEWGRF_BROKEN_POWERED_WAGON :{WHITE}Il a modifié l'état de wagon motorisé pour "{1:ENGINE}" en dehors du dépôt
|
||||||
STR_NEWGRF_BROKEN_VEHICLE_LENGTH :{WHITE}Il a modifié la longueur de véhicule pour "{1:ENGINE}" en dehors du dépôt
|
STR_NEWGRF_BROKEN_VEHICLE_LENGTH :{WHITE}Il a modifié la longueur de véhicule pour "{1:ENGINE}" en dehors du dépôt
|
||||||
STR_NEWGRF_BROKEN_CAPACITY :{WHITE}Il a changé la capacité pour '{1:ENGINE}' hors d'un dépôt ou d'un réaménagement
|
STR_NEWGRF_BROKEN_CAPACITY :{WHITE}Il a changé la capacité pour "{1:ENGINE}" hors d'un dépôt ou d'un réaménagement
|
||||||
STR_BROKEN_VEHICLE_LENGTH :{WHITE}Le train "{VEHICLE}" appartenant à "{COMPANY}" a une longueur invalide. Cela est probablement dû à des problèmes avec des NewGRFs, et peut provoquer des erreurs de synchronisation ou planter le jeu.
|
STR_BROKEN_VEHICLE_LENGTH :{WHITE}Le train "{VEHICLE}" appartenant à "{COMPANY}" a une longueur invalide. Cela est probablement dû à des problèmes avec des NewGRFs, et peut provoquer des erreurs de synchronisation ou planter le jeu.
|
||||||
|
|
||||||
STR_NEWGRF_BUGGY :{WHITE}Le module NewGRF "{0:STRING}" fournit une information incorrecte
|
STR_NEWGRF_BUGGY :{WHITE}Le module NewGRF "{0:STRING}" fournit une information incorrecte
|
||||||
STR_NEWGRF_BUGGY_ARTICULATED_CARGO :{WHITE}Les informations de cargaison/réaménagement pour "{1:ENGINE}" après sa construction sont différentes de celles de la liste d'achat. Cela peut causer un échec de réaménagement lors de l'auto-renouvellement/remplacement.
|
STR_NEWGRF_BUGGY_ARTICULATED_CARGO :{WHITE}Les informations de cargaison/réaménagement pour "{1:ENGINE}" après sa construction sont différentes de celles de la liste d'achat. Cela peut causer un échec de réaménagement lors de l'auto-renouvellement/remplacement.
|
||||||
STR_NEWGRF_BUGGY_ENDLESS_PRODUCTION_CALLBACK :{WHITE}"{1:STRING}" a causé une boucle infinie dans la fonction de rappel de production
|
STR_NEWGRF_BUGGY_ENDLESS_PRODUCTION_CALLBACK :{WHITE}"{1:STRING}" a causé une boucle infinie dans la fonction de rappel de production
|
||||||
STR_NEWGRF_BUGGY_UNKNOWN_CALLBACK_RESULT :{WHITE}Callback {1:HEX} a retourné un résultat invalide {2:HEX}
|
STR_NEWGRF_BUGGY_UNKNOWN_CALLBACK_RESULT :{WHITE}La fonction de rappel {1:HEX} a retourné un résultat invalide {2:HEX}
|
||||||
|
STR_NEWGRF_BUGGY_INVALID_CARGO_PRODUCTION_CALLBACK :{WHITE}"{1:STRING}" a renvoyé un type de cargaison invalide dans la fonction de rappel de production à {2:HEX}
|
||||||
|
|
||||||
# 'User removed essential NewGRFs'-placeholders for stuff without specs
|
# 'User removed essential NewGRFs'-placeholders for stuff without specs
|
||||||
STR_NEWGRF_INVALID_CARGO :<marchandise invalide>
|
STR_NEWGRF_INVALID_CARGO :<marchandise invalide>
|
||||||
@@ -4317,7 +4318,6 @@ STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD :{WHITE}... cett
|
|||||||
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... mauvaise orientation de la route
|
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... mauvaise orientation de la route
|
||||||
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... les arrêts ne peuvent pas avoir de virages
|
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... les arrêts ne peuvent pas avoir de virages
|
||||||
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... les arrêts ne peuvent pas avoir de jonctions
|
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... les arrêts ne peuvent pas avoir de jonctions
|
||||||
STR_ERROR_DRIVE_THROUGH_ON_ONEWAY_ROAD :{WHITE}... la route est à sens unique ou bloquée
|
|
||||||
|
|
||||||
# Station destruction related errors
|
# Station destruction related errors
|
||||||
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Impossible de supprimer une partie de la gare...
|
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Impossible de supprimer une partie de la gare...
|
||||||
|
|||||||
@@ -4496,7 +4496,6 @@ STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD :{WHITE}... tha
|
|||||||
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... tha comhair an rathaid cearr
|
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... tha comhair an rathaid cearr
|
||||||
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... chan urrainn dha dh’oiseanan a bhith aig stèiseanan draibhidh troimhe
|
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... chan urrainn dha dh’oiseanan a bhith aig stèiseanan draibhidh troimhe
|
||||||
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... chan urrainn dha ghoibhlean a bhith aig stèiseanan draibhidh troimhe
|
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... chan urrainn dha ghoibhlean a bhith aig stèiseanan draibhidh troimhe
|
||||||
STR_ERROR_DRIVE_THROUGH_ON_ONEWAY_ROAD :{WHITE}... rathad aon-shligheach no bacte
|
|
||||||
|
|
||||||
# Station destruction related errors
|
# Station destruction related errors
|
||||||
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Cha ghabh pàirt dhen stèisean toirt air falbh...
|
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Cha ghabh pàirt dhen stèisean toirt air falbh...
|
||||||
|
|||||||
@@ -4302,7 +4302,6 @@ STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD :{WHITE}... dies
|
|||||||
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... Straße verläuft in die falsche Richtung
|
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... Straße verläuft in die falsche Richtung
|
||||||
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... Bus- und Lkw-Haltestellen können nicht um die Kurve gehen
|
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... Bus- und Lkw-Haltestellen können nicht um die Kurve gehen
|
||||||
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... Bus- und Lkw-Haltestellen können keine Abzweigung haben
|
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... Bus- und Lkw-Haltestellen können keine Abzweigung haben
|
||||||
STR_ERROR_DRIVE_THROUGH_ON_ONEWAY_ROAD :{WHITE}...Einbahnstraße oder blockierter Weg
|
|
||||||
|
|
||||||
# Station destruction related errors
|
# Station destruction related errors
|
||||||
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Dieser Teil der Station kann nicht entfernt werden...
|
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Dieser Teil der Station kann nicht entfernt werden...
|
||||||
|
|||||||
@@ -4430,7 +4430,6 @@ STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD :{WHITE}... αυ
|
|||||||
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... ο δρόμος βλέπει σε λάθος κατεύθυνση
|
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... ο δρόμος βλέπει σε λάθος κατεύθυνση
|
||||||
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... οι μη τερματικοί σταθμοί δε μπορούν να έχουν στροφές
|
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... οι μη τερματικοί σταθμοί δε μπορούν να έχουν στροφές
|
||||||
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... οι μη τερματικοί σταθμοί δε μπορούν να έχουν διασταυρώσεις
|
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... οι μη τερματικοί σταθμοί δε μπορούν να έχουν διασταυρώσεις
|
||||||
STR_ERROR_DRIVE_THROUGH_ON_ONEWAY_ROAD :{WHITE}... ο δρόμος είναι μονόδρομος η μπλοκαρισμένος
|
|
||||||
|
|
||||||
# Station destruction related errors
|
# Station destruction related errors
|
||||||
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Δεν μπορεί να αφαιρεθεί μέρος του σταθμού...
|
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Δεν μπορεί να αφαιρεθεί μέρος του σταθμού...
|
||||||
|
|||||||
@@ -4275,7 +4275,6 @@ STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD :{WHITE}... כב
|
|||||||
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}הכביש פונה לכיוון לא נכון...
|
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}הכביש פונה לכיוון לא נכון...
|
||||||
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... לתחנות "על הדרך" לא יכולות להיות פינות
|
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... לתחנות "על הדרך" לא יכולות להיות פינות
|
||||||
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... לתחנות "על הדרך" לא יכולות להיות צמתים
|
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... לתחנות "על הדרך" לא יכולות להיות צמתים
|
||||||
STR_ERROR_DRIVE_THROUGH_ON_ONEWAY_ROAD :{WHITE}... הדרך חד כיוונית או חסומה
|
|
||||||
|
|
||||||
# Station destruction related errors
|
# Station destruction related errors
|
||||||
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}... לא ניתן לבטל חלק מהתחנה
|
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}... לא ניתן לבטל חלק מהתחנה
|
||||||
|
|||||||
@@ -4381,7 +4381,6 @@ STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD :{WHITE}... ez e
|
|||||||
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... az út a másik irányba vezet
|
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... az út a másik irányba vezet
|
||||||
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... áthaladó megállóhelyeken nem lehet kanyar
|
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... áthaladó megállóhelyeken nem lehet kanyar
|
||||||
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... áthaladó megállóhelyeken nem lehet elágazás
|
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... áthaladó megállóhelyeken nem lehet elágazás
|
||||||
STR_ERROR_DRIVE_THROUGH_ON_ONEWAY_ROAD :{WHITE}... az út egyirányú vagy blokkolt
|
|
||||||
|
|
||||||
# Station destruction related errors
|
# Station destruction related errors
|
||||||
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Nem lehet eltávolítani az állomás részét...
|
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Nem lehet eltávolítani az állomás részét...
|
||||||
|
|||||||
@@ -464,6 +464,7 @@ STR_TOOLBAR_SOUND_MUSIC :Suara/musik
|
|||||||
############ range for message menu starts
|
############ range for message menu starts
|
||||||
STR_NEWS_MENU_LAST_MESSAGE_NEWS_REPORT :Pesan/Berita terakhir
|
STR_NEWS_MENU_LAST_MESSAGE_NEWS_REPORT :Pesan/Berita terakhir
|
||||||
STR_NEWS_MENU_MESSAGE_HISTORY_MENU :Berita Lampau
|
STR_NEWS_MENU_MESSAGE_HISTORY_MENU :Berita Lampau
|
||||||
|
STR_NEWS_MENU_DELETE_ALL_MESSAGES :Hapus semua pesan
|
||||||
############ range ends here
|
############ range ends here
|
||||||
|
|
||||||
############ range for about menu starts
|
############ range for about menu starts
|
||||||
@@ -475,6 +476,7 @@ STR_ABOUT_MENU_SCREENSHOT :Ambil gambar
|
|||||||
STR_ABOUT_MENU_ZOOMIN_SCREENSHOT :Ambil gambar dengan diperbesar
|
STR_ABOUT_MENU_ZOOMIN_SCREENSHOT :Ambil gambar dengan diperbesar
|
||||||
STR_ABOUT_MENU_DEFAULTZOOM_SCREENSHOT :Ambil gambar dengan perbesaran normal
|
STR_ABOUT_MENU_DEFAULTZOOM_SCREENSHOT :Ambil gambar dengan perbesaran normal
|
||||||
STR_ABOUT_MENU_GIANT_SCREENSHOT :Ambil gambar keseluruhan peta
|
STR_ABOUT_MENU_GIANT_SCREENSHOT :Ambil gambar keseluruhan peta
|
||||||
|
STR_ABOUT_MENU_SHOW_FRAMERATE :Tampilkan laju bingkai
|
||||||
STR_ABOUT_MENU_ABOUT_OPENTTD :Tentang 'OpenTTD'
|
STR_ABOUT_MENU_ABOUT_OPENTTD :Tentang 'OpenTTD'
|
||||||
STR_ABOUT_MENU_SPRITE_ALIGNER :Penjajar Sprite
|
STR_ABOUT_MENU_SPRITE_ALIGNER :Penjajar Sprite
|
||||||
STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Hidup/Matikan kotak batas
|
STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Hidup/Matikan kotak batas
|
||||||
@@ -989,7 +991,10 @@ STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Normal
|
|||||||
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Kali dua
|
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Kali dua
|
||||||
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Kali empat
|
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Kali empat
|
||||||
|
|
||||||
|
STR_GAME_OPTIONS_FONT_ZOOM :{BLACK}Ukuran font
|
||||||
|
|
||||||
|
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Normal
|
||||||
|
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :4 kali
|
||||||
|
|
||||||
STR_GAME_OPTIONS_BASE_GRF :{BLACK}Set Grafik Dasar
|
STR_GAME_OPTIONS_BASE_GRF :{BLACK}Set Grafik Dasar
|
||||||
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Pilih grafik dasar yang digunakan
|
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Pilih grafik dasar yang digunakan
|
||||||
@@ -1221,7 +1226,7 @@ STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT :Tujuan baru sta
|
|||||||
STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT_HELPTEXT :Biasanya, kendaraan akan berhenti di setiap stasiun yang di lewati. Dengan mengaktifkan pengaturan ini, maka kendaraan akan melewati semua stasiun dalam perjalanan ke tujuan akhir. Perhatikan, bahwa pengaturan ini hanya mendefinisikan nilai default. Perintah individu dapat diatur
|
STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT_HELPTEXT :Biasanya, kendaraan akan berhenti di setiap stasiun yang di lewati. Dengan mengaktifkan pengaturan ini, maka kendaraan akan melewati semua stasiun dalam perjalanan ke tujuan akhir. Perhatikan, bahwa pengaturan ini hanya mendefinisikan nilai default. Perintah individu dapat diatur
|
||||||
STR_CONFIG_SETTING_STOP_LOCATION :Order kereta yang baru aslinya berhenti {STRING} dari stasiun
|
STR_CONFIG_SETTING_STOP_LOCATION :Order kereta yang baru aslinya berhenti {STRING} dari stasiun
|
||||||
STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT :Tempat kereta akan berhenti di peron stasiun. 'Dekat akhir' berarti dekat dengan titik masuk, 'tengah' berarti di tengah-tengah peron, dan 'jauh dari akhir' berarti jauh dari titik masuk
|
STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT :Tempat kereta akan berhenti di peron stasiun. 'Dekat akhir' berarti dekat dengan titik masuk, 'tengah' berarti di tengah-tengah peron, dan 'jauh dari akhir' berarti jauh dari titik masuk
|
||||||
STR_CONFIG_SETTING_STOP_LOCATION_NEAR_END :hampir selesai
|
STR_CONFIG_SETTING_STOP_LOCATION_NEAR_END :tepi terdekat
|
||||||
STR_CONFIG_SETTING_STOP_LOCATION_MIDDLE :tengah
|
STR_CONFIG_SETTING_STOP_LOCATION_MIDDLE :tengah
|
||||||
STR_CONFIG_SETTING_STOP_LOCATION_FAR_END :jauh di belakang
|
STR_CONFIG_SETTING_STOP_LOCATION_FAR_END :jauh di belakang
|
||||||
STR_CONFIG_SETTING_AUTOSCROLL :Geser tampilan saat mouse ada di tepi: {STRING}
|
STR_CONFIG_SETTING_AUTOSCROLL :Geser tampilan saat mouse ada di tepi: {STRING}
|
||||||
@@ -1258,6 +1263,7 @@ STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}Tidak di
|
|||||||
STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :Pemeliharaan Infrastruktur: {STRING}
|
STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :Pemeliharaan Infrastruktur: {STRING}
|
||||||
STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :Jika dinyalakan, infrastruktur membutuhkan biaya pemeliharaan. Biaya berkembang secara proporsional sesuai dengan ukuran jaringan, lebih berdampak pada perusahaan besar dari pada perusahaan kecil
|
STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :Jika dinyalakan, infrastruktur membutuhkan biaya pemeliharaan. Biaya berkembang secara proporsional sesuai dengan ukuran jaringan, lebih berdampak pada perusahaan besar dari pada perusahaan kecil
|
||||||
|
|
||||||
|
STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_HELPTEXT :Pilih warna awal perusahaan
|
||||||
|
|
||||||
STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS :Bandara tidak kedaluarsa: {STRING}
|
STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS :Bandara tidak kedaluarsa: {STRING}
|
||||||
STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS_HELPTEXT :Menyalakan setelan ini membuat semua jenis bandara tetap ada selamanya sejak pendesainanya
|
STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS_HELPTEXT :Menyalakan setelan ini membuat semua jenis bandara tetap ada selamanya sejak pendesainanya
|
||||||
@@ -1812,6 +1818,7 @@ STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}Ubah tah
|
|||||||
STR_CHEAT_SETUP_PROD :{LTBLUE}Aktifkan modifikasi nilai produksi: {ORANGE}{STRING}
|
STR_CHEAT_SETUP_PROD :{LTBLUE}Aktifkan modifikasi nilai produksi: {ORANGE}{STRING}
|
||||||
|
|
||||||
# Livery window
|
# Livery window
|
||||||
|
STR_LIVERY_CAPTION :{WHITE}{COMPANY} - Skema Warna
|
||||||
|
|
||||||
STR_LIVERY_GENERAL_TOOLTIP :{BLACK}Tampilkan skema warna umum
|
STR_LIVERY_GENERAL_TOOLTIP :{BLACK}Tampilkan skema warna umum
|
||||||
STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Tampilkan skema warna kereta
|
STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Tampilkan skema warna kereta
|
||||||
@@ -2698,6 +2705,7 @@ STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD
|
|||||||
# Framerate display window
|
# Framerate display window
|
||||||
STR_FRAMERATE_CAPTION_SMALL :{STRING}{WHITE} ({DECIMAL}x)
|
STR_FRAMERATE_CAPTION_SMALL :{STRING}{WHITE} ({DECIMAL}x)
|
||||||
STR_FRAMERATE_RATE_GAMELOOP :{WHITE}Rata simulasi: {STRING}
|
STR_FRAMERATE_RATE_GAMELOOP :{WHITE}Rata simulasi: {STRING}
|
||||||
|
STR_FRAMERATE_RATE_GAMELOOP_TOOLTIP :{BLACK}Jumlah detak permainan tersimulasi per detik.
|
||||||
STR_FRAMERATE_SPEED_FACTOR_TOOLTIP :{BLACK}Beberapa cepat permainan lagi berjalan, dibanding dengan kecepatan diharapkan memakai rata simulasi biasa.
|
STR_FRAMERATE_SPEED_FACTOR_TOOLTIP :{BLACK}Beberapa cepat permainan lagi berjalan, dibanding dengan kecepatan diharapkan memakai rata simulasi biasa.
|
||||||
STR_FRAMERATE_CURRENT :{WHITE}Sekarang
|
STR_FRAMERATE_CURRENT :{WHITE}Sekarang
|
||||||
STR_FRAMERATE_DATA_POINTS :{WHITE}Data tergantung oleh ukuran {COMMA}
|
STR_FRAMERATE_DATA_POINTS :{WHITE}Data tergantung oleh ukuran {COMMA}
|
||||||
@@ -2714,6 +2722,7 @@ STR_FRAMERATE_GL_SHIPS :{WHITE} Titik k
|
|||||||
STR_FRAMERATE_GL_AIRCRAFT :{WHITE} Titik pesawat:
|
STR_FRAMERATE_GL_AIRCRAFT :{WHITE} Titik pesawat:
|
||||||
STR_FRAMERATE_GL_LANDSCAPE :{WHITE} Titik dunia:
|
STR_FRAMERATE_GL_LANDSCAPE :{WHITE} Titik dunia:
|
||||||
STR_FRAMERATE_DRAWING_VIEWPORTS :{WHITE} Viewport dunia:
|
STR_FRAMERATE_DRAWING_VIEWPORTS :{WHITE} Viewport dunia:
|
||||||
|
STR_FRAMERATE_VIDEO :{BLACK}Keluaran Video:
|
||||||
STR_FRAMERATE_SOUND :{WHITE}Mixing suara:
|
STR_FRAMERATE_SOUND :{WHITE}Mixing suara:
|
||||||
############ End of leave-in-this-order
|
############ End of leave-in-this-order
|
||||||
############ Leave those lines in this order!!
|
############ Leave those lines in this order!!
|
||||||
@@ -2724,6 +2733,7 @@ STR_FRAMETIME_CAPTION_GL_SHIPS :Titik kapal
|
|||||||
STR_FRAMETIME_CAPTION_GL_AIRCRAFT :Titik pesawat
|
STR_FRAMETIME_CAPTION_GL_AIRCRAFT :Titik pesawat
|
||||||
STR_FRAMETIME_CAPTION_GL_LANDSCAPE :Titik dunia
|
STR_FRAMETIME_CAPTION_GL_LANDSCAPE :Titik dunia
|
||||||
STR_FRAMETIME_CAPTION_SOUND :Mixing suara
|
STR_FRAMETIME_CAPTION_SOUND :Mixing suara
|
||||||
|
STR_FRAMETIME_CAPTION_AI :AI {NUM} {STRING}
|
||||||
############ End of leave-in-this-order
|
############ End of leave-in-this-order
|
||||||
|
|
||||||
|
|
||||||
@@ -2913,6 +2923,7 @@ STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Sprite s
|
|||||||
STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Lanjutkan ke sprite normal sebelumnya, lewati sembarang sprite bayangan/warna ulang/huruf dan pembungkus saat mulai
|
STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Lanjutkan ke sprite normal sebelumnya, lewati sembarang sprite bayangan/warna ulang/huruf dan pembungkus saat mulai
|
||||||
STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Mewakili sprite yang sedang dipilih. Penjajaran diabaikan ketika sprite ini digambar
|
STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Mewakili sprite yang sedang dipilih. Penjajaran diabaikan ketika sprite ini digambar
|
||||||
STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Pindahkan sprite, mengubah offset X dan Y
|
STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Pindahkan sprite, mengubah offset X dan Y
|
||||||
|
STR_SPRITE_ALIGNER_RESET_BUTTON :{BLACK}Reset relatif
|
||||||
STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Pilih sprite
|
STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Pilih sprite
|
||||||
STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Pilih sebuah sprite di manapun pada layar
|
STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Pilih sebuah sprite di manapun pada layar
|
||||||
|
|
||||||
@@ -3146,11 +3157,11 @@ STR_STATION_VIEW_ACCEPTS_TOOLTIP :{BLACK}Tampilka
|
|||||||
STR_STATION_VIEW_ACCEPTS_CARGO :{BLACK}Menerima: {WHITE}{CARGO_LIST}
|
STR_STATION_VIEW_ACCEPTS_CARGO :{BLACK}Menerima: {WHITE}{CARGO_LIST}
|
||||||
|
|
||||||
STR_STATION_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}Stasiun memiliki hak transportasi eksklusif di kota ini
|
STR_STATION_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}Stasiun memiliki hak transportasi eksklusif di kota ini
|
||||||
STR_STATION_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} beli hak transportasi eksklusif di kota ini
|
STR_STATION_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} memiliki hak transportasi eksklusif di kota ini
|
||||||
|
|
||||||
STR_STATION_VIEW_RATINGS_BUTTON :{BLACK}Peringkat
|
STR_STATION_VIEW_RATINGS_BUTTON :{BLACK}Peringkat
|
||||||
STR_STATION_VIEW_RATINGS_TOOLTIP :{BLACK}Tampilkna peringkat dari stasiun
|
STR_STATION_VIEW_RATINGS_TOOLTIP :{BLACK}Tampilkna peringkat dari stasiun
|
||||||
STR_STATION_VIEW_SUPPLY_RATINGS_TITLE :{BLACK}Asupan bulanan dan penilaian tempatan:
|
STR_STATION_VIEW_SUPPLY_RATINGS_TITLE :{BLACK}Asupan bulanan dan peringkat layanan:
|
||||||
STR_STATION_VIEW_CARGO_SUPPLY_RATING :{WHITE}{STRING}: {YELLOW}{COMMA} / {STRING} ({COMMA}%)
|
STR_STATION_VIEW_CARGO_SUPPLY_RATING :{WHITE}{STRING}: {YELLOW}{COMMA} / {STRING} ({COMMA}%)
|
||||||
|
|
||||||
STR_STATION_VIEW_GROUP :{BLACK}Pengelompokkan
|
STR_STATION_VIEW_GROUP :{BLACK}Pengelompokkan
|
||||||
@@ -4249,7 +4260,6 @@ STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD :{WHITE}... jala
|
|||||||
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... menghadap pada arah yang salah
|
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... menghadap pada arah yang salah
|
||||||
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... terminal lintas-lalu tak bisa memiliki sudut
|
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... terminal lintas-lalu tak bisa memiliki sudut
|
||||||
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... terminal lintas-lalu tak bisa memiliki simpangan
|
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... terminal lintas-lalu tak bisa memiliki simpangan
|
||||||
STR_ERROR_DRIVE_THROUGH_ON_ONEWAY_ROAD :{WHITE}... jalannya satu arah atau terhalang
|
|
||||||
|
|
||||||
# Station destruction related errors
|
# Station destruction related errors
|
||||||
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Tidak dapat menghapus bagian dari stasiun...
|
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Tidak dapat menghapus bagian dari stasiun...
|
||||||
|
|||||||
@@ -3492,8 +3492,8 @@ STR_BUY_VEHICLE_TRAIN_ELRAIL_CAPTION :Nuovi veicoli f
|
|||||||
STR_BUY_VEHICLE_TRAIN_MONORAIL_CAPTION :Nuovi veicoli monorotaia
|
STR_BUY_VEHICLE_TRAIN_MONORAIL_CAPTION :Nuovi veicoli monorotaia
|
||||||
STR_BUY_VEHICLE_TRAIN_MAGLEV_CAPTION :Nuovi veicoli maglev
|
STR_BUY_VEHICLE_TRAIN_MAGLEV_CAPTION :Nuovi veicoli maglev
|
||||||
|
|
||||||
STR_BUY_VEHICLE_TRAIN_ALL_CAPTION :Veicoli ferroviari
|
STR_BUY_VEHICLE_TRAIN_ALL_CAPTION :Nuovi veicoli ferroviari
|
||||||
STR_BUY_VEHICLE_ROAD_VEHICLE_CAPTION :Nuovi automezzi
|
STR_BUY_VEHICLE_ROAD_VEHICLE_CAPTION :Nuovi veicoli stradali
|
||||||
STR_BUY_VEHICLE_SHIP_CAPTION :Nuove navi
|
STR_BUY_VEHICLE_SHIP_CAPTION :Nuove navi
|
||||||
STR_BUY_VEHICLE_AIRCRAFT_CAPTION :Nuovo aeromobile
|
STR_BUY_VEHICLE_AIRCRAFT_CAPTION :Nuovo aeromobile
|
||||||
|
|
||||||
@@ -3644,7 +3644,7 @@ STR_DEPOT_SELL_CONFIRMATION_TEXT :{YELLOW}Stai pe
|
|||||||
STR_ENGINE_PREVIEW_CAPTION :{WHITE}Messaggio da un costruttore di veicoli
|
STR_ENGINE_PREVIEW_CAPTION :{WHITE}Messaggio da un costruttore di veicoli
|
||||||
STR_ENGINE_PREVIEW_MESSAGE :{GOLD}Abbiamo appena progettato un{G "" "" a} nuov{G o o a} {STRING} - È interessato ad un anno di uso esclusivo di questo veicolo, in modo da permetterci di valutarne le prestazioni prima di renderlo disponibile sul mercato?
|
STR_ENGINE_PREVIEW_MESSAGE :{GOLD}Abbiamo appena progettato un{G "" "" a} nuov{G o o a} {STRING} - È interessato ad un anno di uso esclusivo di questo veicolo, in modo da permetterci di valutarne le prestazioni prima di renderlo disponibile sul mercato?
|
||||||
STR_ENGINE_PREVIEW_RAILROAD_LOCOMOTIVE :{G=f}locomotiva
|
STR_ENGINE_PREVIEW_RAILROAD_LOCOMOTIVE :{G=f}locomotiva
|
||||||
STR_ENGINE_PREVIEW_ROAD_VEHICLE :{G=m}automezzo
|
STR_ENGINE_PREVIEW_ROAD_VEHICLE :{G=m}veicolo stradale
|
||||||
STR_ENGINE_PREVIEW_AIRCRAFT :{G=m}aeromobile
|
STR_ENGINE_PREVIEW_AIRCRAFT :{G=m}aeromobile
|
||||||
STR_ENGINE_PREVIEW_SHIP :{G=f}nave
|
STR_ENGINE_PREVIEW_SHIP :{G=f}nave
|
||||||
STR_ENGINE_PREVIEW_MONORAIL_LOCOMOTIVE :{G=f}motrice monorotaia
|
STR_ENGINE_PREVIEW_MONORAIL_LOCOMOTIVE :{G=f}motrice monorotaia
|
||||||
@@ -4347,7 +4347,6 @@ STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD :{WHITE}... ques
|
|||||||
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... strada rivolta nella direzione sbagliata
|
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... strada rivolta nella direzione sbagliata
|
||||||
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... le fermate passanti non possono trovarsi in curva
|
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... le fermate passanti non possono trovarsi in curva
|
||||||
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... le fermate passanti non possono avere raccordi
|
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... le fermate passanti non possono avere raccordi
|
||||||
STR_ERROR_DRIVE_THROUGH_ON_ONEWAY_ROAD :{WHITE}... la strada è bloccata o a senso unico
|
|
||||||
|
|
||||||
# Station destruction related errors
|
# Station destruction related errors
|
||||||
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Impossibile rimuovere parte della stazione...
|
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Impossibile rimuovere parte della stazione...
|
||||||
|
|||||||
1171
src/lang/korean.txt
1171
src/lang/korean.txt
File diff suppressed because it is too large
Load Diff
@@ -4479,7 +4479,6 @@ STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD :{WHITE}... via
|
|||||||
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... viae directio non convenit
|
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... viae directio non convenit
|
||||||
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... stationi perviae non licet esse curva
|
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... stationi perviae non licet esse curva
|
||||||
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... stationi perviae non licet compita habere
|
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... stationi perviae non licet compita habere
|
||||||
STR_ERROR_DRIVE_THROUGH_ON_ONEWAY_ROAD :{WHITE}... via est monodromus vel obstructa
|
|
||||||
|
|
||||||
# Station destruction related errors
|
# Station destruction related errors
|
||||||
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Non licet partem stationis removere...
|
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Non licet partem stationis removere...
|
||||||
|
|||||||
@@ -226,8 +226,8 @@ STR_UNITS_HEIGHT_METRIC :{COMMA}{NBSP}m
|
|||||||
STR_UNITS_HEIGHT_SI :{COMMA}{NBSP}m
|
STR_UNITS_HEIGHT_SI :{COMMA}{NBSP}m
|
||||||
|
|
||||||
# Common window strings
|
# Common window strings
|
||||||
STR_LIST_FILTER_TITLE :{BLACK}Filter String:
|
STR_LIST_FILTER_TITLE :{BLACK}Filter-String:
|
||||||
STR_LIST_FILTER_OSKTITLE :{BLACK}Filter String
|
STR_LIST_FILTER_OSKTITLE :{BLACK}Filter-String
|
||||||
STR_LIST_FILTER_TOOLTIP :{BLACK}Filter d'Lëscht op e Wuert
|
STR_LIST_FILTER_TOOLTIP :{BLACK}Filter d'Lëscht op e Wuert
|
||||||
|
|
||||||
STR_TOOLTIP_GROUP_ORDER :{BLACK}Wiel Gruppéierreihefollëg
|
STR_TOOLTIP_GROUP_ORDER :{BLACK}Wiel Gruppéierreihefollëg
|
||||||
@@ -675,6 +675,7 @@ STR_MUSIC_TOOLTIP_TOGGLE_PROGRAM_SHUFFLE :{BLACK}Schalt d
|
|||||||
STR_MUSIC_TOOLTIP_SHOW_MUSIC_TRACK_SELECTION :{BLACK}Weis d'Fënster fir Musik ze wielen
|
STR_MUSIC_TOOLTIP_SHOW_MUSIC_TRACK_SELECTION :{BLACK}Weis d'Fënster fir Musik ze wielen
|
||||||
|
|
||||||
# Playlist window
|
# Playlist window
|
||||||
|
STR_PLAYLIST_MUSIC_SELECTION_SETNAME :{WHITE}Musik-Programm - '{STRING}'
|
||||||
STR_PLAYLIST_TRACK_NAME :{TINY_FONT}{LTBLUE}{ZEROFILL_NUM} "{STRING}"
|
STR_PLAYLIST_TRACK_NAME :{TINY_FONT}{LTBLUE}{ZEROFILL_NUM} "{STRING}"
|
||||||
STR_PLAYLIST_TRACK_INDEX :{TINY_FONT}{BLACK}Lidder Index
|
STR_PLAYLIST_TRACK_INDEX :{TINY_FONT}{BLACK}Lidder Index
|
||||||
STR_PLAYLIST_PROGRAM :{TINY_FONT}{BLACK}Programm - '{STRING}'
|
STR_PLAYLIST_PROGRAM :{TINY_FONT}{BLACK}Programm - '{STRING}'
|
||||||
@@ -995,6 +996,7 @@ STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Duebel
|
|||||||
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Véierfach
|
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Véierfach
|
||||||
|
|
||||||
STR_GAME_OPTIONS_FONT_ZOOM :{BLACK}Schrëftgréisst
|
STR_GAME_OPTIONS_FONT_ZOOM :{BLACK}Schrëftgréisst
|
||||||
|
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Wiel d'Interface-Schrëftgréisst aus
|
||||||
|
|
||||||
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Normal
|
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Normal
|
||||||
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Duebel Gréisst
|
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Duebel Gréisst
|
||||||
@@ -1355,6 +1357,7 @@ STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_VIOLET :Mof
|
|||||||
STR_CONFIG_SETTING_SCROLLMODE :Usiicht-Scrollverhalen: {STRING}
|
STR_CONFIG_SETTING_SCROLLMODE :Usiicht-Scrollverhalen: {STRING}
|
||||||
STR_CONFIG_SETTING_SCROLLMODE_HELPTEXT :Verhalen beim Scrolle vun der Kaart
|
STR_CONFIG_SETTING_SCROLLMODE_HELPTEXT :Verhalen beim Scrolle vun der Kaart
|
||||||
STR_CONFIG_SETTING_SCROLLMODE_DEFAULT :D'Usiicht mat der rietser Maustast bewegen, Maus-Positioun gespaart
|
STR_CONFIG_SETTING_SCROLLMODE_DEFAULT :D'Usiicht mat der rietser Maustast bewegen, Maus-Positioun gespaart
|
||||||
|
STR_CONFIG_SETTING_SCROLLMODE_RMB :D'Kaart mat der rietser Maustast bewegen
|
||||||
STR_CONFIG_SETTING_SCROLLMODE_LMB :Kaart mat der lénker Maustast bewegen
|
STR_CONFIG_SETTING_SCROLLMODE_LMB :Kaart mat der lénker Maustast bewegen
|
||||||
STR_CONFIG_SETTING_SMOOTH_SCROLLING :Feine Scrolling: {STRING}
|
STR_CONFIG_SETTING_SMOOTH_SCROLLING :Feine Scrolling: {STRING}
|
||||||
STR_CONFIG_SETTING_SMOOTH_SCROLLING_HELPTEXT :Kontrolléiert wéi d'Haptusiicht op eng bestëmmten Positioun scrollt, wann een op déi kléng Kaart klickt oder en Befehl fir ob en spezifescht Objet ze scrollen gëtt. Wann ugeschalt, gëtt bis dohin gescrollt, wann ausgeschalt, spréngt d'Vue op den Zielobjet
|
STR_CONFIG_SETTING_SMOOTH_SCROLLING_HELPTEXT :Kontrolléiert wéi d'Haptusiicht op eng bestëmmten Positioun scrollt, wann een op déi kléng Kaart klickt oder en Befehl fir ob en spezifescht Objet ze scrollen gëtt. Wann ugeschalt, gëtt bis dohin gescrollt, wann ausgeschalt, spréngt d'Vue op den Zielobjet
|
||||||
@@ -2709,13 +2712,19 @@ STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD
|
|||||||
|
|
||||||
# Framerate display window
|
# Framerate display window
|
||||||
STR_FRAMERATE_CAPTION :{WHITE}Biller pro Sekonn
|
STR_FRAMERATE_CAPTION :{WHITE}Biller pro Sekonn
|
||||||
|
STR_FRAMERATE_CAPTION_SMALL :{STRING}{WHITE} ({DECIMAL}x)
|
||||||
STR_FRAMERATE_RATE_GAMELOOP_TOOLTIP :{BLACK}Unzuel Gameticks déi pro Sekonn simuléiert ginn.
|
STR_FRAMERATE_RATE_GAMELOOP_TOOLTIP :{BLACK}Unzuel Gameticks déi pro Sekonn simuléiert ginn.
|
||||||
|
STR_FRAMERATE_RATE_BLITTER :{BLACK}Grafikframerate: {STRING}
|
||||||
|
STR_FRAMERATE_RATE_BLITTER_TOOLTIP :{BLACK}Unzuel u Videobiller déi pro Sekonn gerendert ginn.
|
||||||
|
STR_FRAMERATE_SPEED_FACTOR :{BLACK}Aktuelle Spillgeschw.-Faktor: {DECIMAL}x
|
||||||
|
STR_FRAMERATE_SPEED_FACTOR_TOOLTIP :{BLACK}Wéi séier d'Spill aktuell leeft, am Verglach mat der Geschw. vun der normaler Simulatioun.
|
||||||
STR_FRAMERATE_CURRENT :{WHITE}Aktuell
|
STR_FRAMERATE_CURRENT :{WHITE}Aktuell
|
||||||
STR_FRAMERATE_AVERAGE :{WHITE}Mëttel
|
STR_FRAMERATE_AVERAGE :{WHITE}Mëttel
|
||||||
STR_FRAMERATE_MS_GOOD :{LTBLUE}{DECIMAL} ms
|
STR_FRAMERATE_MS_GOOD :{LTBLUE}{DECIMAL} ms
|
||||||
STR_FRAMERATE_MS_WARN :{YELLOW}{DECIMAL} ms
|
STR_FRAMERATE_MS_WARN :{YELLOW}{DECIMAL} ms
|
||||||
STR_FRAMERATE_MS_BAD :{RED}{DECIMAL} ms
|
STR_FRAMERATE_MS_BAD :{RED}{DECIMAL} ms
|
||||||
STR_FRAMERATE_FPS_GOOD :{LTBLUE}{DECIMAL} Biller/s
|
STR_FRAMERATE_FPS_GOOD :{LTBLUE}{DECIMAL} Biller/s
|
||||||
|
STR_FRAMERATE_FPS_WARN :{YELLOW}{DECIMAL} Biller/s
|
||||||
STR_FRAMERATE_FPS_BAD :{RED}{DECIMAL} Biller/s
|
STR_FRAMERATE_FPS_BAD :{RED}{DECIMAL} Biller/s
|
||||||
STR_FRAMERATE_GRAPH_SECONDS :{TINY_FONT}{COMMA} s
|
STR_FRAMERATE_GRAPH_SECONDS :{TINY_FONT}{COMMA} s
|
||||||
############ Leave those lines in this order!!
|
############ Leave those lines in this order!!
|
||||||
@@ -2723,10 +2732,12 @@ STR_FRAMERATE_GAMELOOP :{BLACK}Spill to
|
|||||||
STR_FRAMERATE_GL_TRAINS :{BLACK} Zuchticks:
|
STR_FRAMERATE_GL_TRAINS :{BLACK} Zuchticks:
|
||||||
STR_FRAMERATE_GL_ROADVEHS :{BLACK} Stroossegefierer Ticken:
|
STR_FRAMERATE_GL_ROADVEHS :{BLACK} Stroossegefierer Ticken:
|
||||||
STR_FRAMERATE_GL_LINKGRAPH :{BLACK} Linkgrafik-Verzögerung:
|
STR_FRAMERATE_GL_LINKGRAPH :{BLACK} Linkgrafik-Verzögerung:
|
||||||
STR_FRAMERATE_DRAWING :{BLACK}Graphikrendering:
|
STR_FRAMERATE_DRAWING :{BLACK}Grafikrendering:
|
||||||
STR_FRAMERATE_DRAWING_VIEWPORTS :{BLACK} Welt-Usiichten:
|
STR_FRAMERATE_DRAWING_VIEWPORTS :{BLACK} Welt-Usiichten:
|
||||||
STR_FRAMERATE_VIDEO :{BLACK}Video-output:
|
STR_FRAMERATE_VIDEO :{BLACK}Video-output:
|
||||||
|
STR_FRAMERATE_ALLSCRIPTS :{BLACK} GS/KI Total:
|
||||||
STR_FRAMERATE_GAMESCRIPT :{BLACK} Gamescript:
|
STR_FRAMERATE_GAMESCRIPT :{BLACK} Gamescript:
|
||||||
|
STR_FRAMERATE_AI :{BLACK} KI {NUM} {STRING}
|
||||||
############ End of leave-in-this-order
|
############ End of leave-in-this-order
|
||||||
############ Leave those lines in this order!!
|
############ Leave those lines in this order!!
|
||||||
STR_FRAMETIME_CAPTION_GAMELOOP :Spill-Loop
|
STR_FRAMETIME_CAPTION_GAMELOOP :Spill-Loop
|
||||||
@@ -2734,8 +2745,14 @@ STR_FRAMETIME_CAPTION_GL_ECONOMY :Wuerenhandling
|
|||||||
STR_FRAMETIME_CAPTION_GL_TRAINS :Zuchticks
|
STR_FRAMETIME_CAPTION_GL_TRAINS :Zuchticks
|
||||||
STR_FRAMETIME_CAPTION_GL_ROADVEHS :Stroossegefierer Ticken
|
STR_FRAMETIME_CAPTION_GL_ROADVEHS :Stroossegefierer Ticken
|
||||||
STR_FRAMETIME_CAPTION_GL_SHIPS :Schëffticker
|
STR_FRAMETIME_CAPTION_GL_SHIPS :Schëffticker
|
||||||
|
STR_FRAMETIME_CAPTION_GL_LANDSCAPE :Weltticks
|
||||||
|
STR_FRAMETIME_CAPTION_DRAWING :Grafikrendering
|
||||||
|
STR_FRAMETIME_CAPTION_DRAWING_VIEWPORTS :Weltusiicht-Rendering
|
||||||
|
STR_FRAMETIME_CAPTION_VIDEO :Video-output
|
||||||
STR_FRAMETIME_CAPTION_SOUND :Soundmixing
|
STR_FRAMETIME_CAPTION_SOUND :Soundmixing
|
||||||
|
STR_FRAMETIME_CAPTION_ALLSCRIPTS :GS/KI Scripttotaler
|
||||||
STR_FRAMETIME_CAPTION_GAMESCRIPT :Spill-Script
|
STR_FRAMETIME_CAPTION_GAMESCRIPT :Spill-Script
|
||||||
|
STR_FRAMETIME_CAPTION_AI :KI {NUM} {STRING}
|
||||||
############ End of leave-in-this-order
|
############ End of leave-in-this-order
|
||||||
|
|
||||||
|
|
||||||
@@ -2761,6 +2778,7 @@ STR_SAVELOAD_DETAIL_CAPTION :{BLACK}Detailer
|
|||||||
STR_SAVELOAD_DETAIL_NOT_AVAILABLE :{BLACK}Keng Informatioun do
|
STR_SAVELOAD_DETAIL_NOT_AVAILABLE :{BLACK}Keng Informatioun do
|
||||||
STR_SAVELOAD_DETAIL_COMPANY_INDEX :{SILVER}{COMMA}: {WHITE}{STRING}
|
STR_SAVELOAD_DETAIL_COMPANY_INDEX :{SILVER}{COMMA}: {WHITE}{STRING}
|
||||||
STR_SAVELOAD_DETAIL_GRFSTATUS :{SILVER}NewGRF: {WHITE}{STRING}
|
STR_SAVELOAD_DETAIL_GRFSTATUS :{SILVER}NewGRF: {WHITE}{STRING}
|
||||||
|
STR_SAVELOAD_FILTER_TITLE :{BLACK}Filter-String:
|
||||||
STR_SAVELOAD_OVERWRITE_TITLE :{WHITE}Datei iwwerschreiwen
|
STR_SAVELOAD_OVERWRITE_TITLE :{WHITE}Datei iwwerschreiwen
|
||||||
|
|
||||||
STR_SAVELOAD_OSKTITLE :{BLACK}Gëff dem Spillstand en Numm
|
STR_SAVELOAD_OSKTITLE :{BLACK}Gëff dem Spillstand en Numm
|
||||||
@@ -2879,6 +2897,7 @@ STR_NEWGRF_SETTINGS_VERSION :{BLACK}Versioun
|
|||||||
STR_NEWGRF_SETTINGS_MIN_VERSION :{BLACK}Min. kompatibel Versioun: {SILVER}{NUM}
|
STR_NEWGRF_SETTINGS_MIN_VERSION :{BLACK}Min. kompatibel Versioun: {SILVER}{NUM}
|
||||||
STR_NEWGRF_SETTINGS_MD5SUM :{BLACK}MD5sum: {SILVER}{STRING}
|
STR_NEWGRF_SETTINGS_MD5SUM :{BLACK}MD5sum: {SILVER}{STRING}
|
||||||
STR_NEWGRF_SETTINGS_PALETTE :{BLACK}Palette: {SILVER}{STRING}
|
STR_NEWGRF_SETTINGS_PALETTE :{BLACK}Palette: {SILVER}{STRING}
|
||||||
|
STR_NEWGRF_SETTINGS_PALETTE_DEFAULT :Standard (S)
|
||||||
STR_NEWGRF_SETTINGS_PALETTE_DEFAULT_32BPP :Standard (S) / 32 bpp
|
STR_NEWGRF_SETTINGS_PALETTE_DEFAULT_32BPP :Standard (S) / 32 bpp
|
||||||
STR_NEWGRF_SETTINGS_PALETTE_LEGACY :Legacy (W)
|
STR_NEWGRF_SETTINGS_PALETTE_LEGACY :Legacy (W)
|
||||||
STR_NEWGRF_SETTINGS_PARAMETER :{BLACK}Parameter: {SILVER}{STRING}
|
STR_NEWGRF_SETTINGS_PARAMETER :{BLACK}Parameter: {SILVER}{STRING}
|
||||||
@@ -3037,7 +3056,7 @@ STR_TOWN_VIEW_TOWN_CAPTION :{WHITE}{TOWN}
|
|||||||
STR_TOWN_VIEW_CITY_CAPTION :{WHITE}{TOWN} (Stad)
|
STR_TOWN_VIEW_CITY_CAPTION :{WHITE}{TOWN} (Stad)
|
||||||
STR_TOWN_VIEW_POPULATION_HOUSES :{BLACK}Awunner: {ORANGE}{COMMA}{BLACK} Haiser: {ORANGE}{COMMA}
|
STR_TOWN_VIEW_POPULATION_HOUSES :{BLACK}Awunner: {ORANGE}{COMMA}{BLACK} Haiser: {ORANGE}{COMMA}
|
||||||
STR_TOWN_VIEW_CARGO_LAST_MONTH_MAX :{BLACK}{CARGO_LIST} leschte Mount: {ORANGE}{COMMA}{BLACK} Max: {ORANGE}{COMMA}
|
STR_TOWN_VIEW_CARGO_LAST_MONTH_MAX :{BLACK}{CARGO_LIST} leschte Mount: {ORANGE}{COMMA}{BLACK} Max: {ORANGE}{COMMA}
|
||||||
STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH :{BLACK}Gidder gebraucht fir Stadwuesstem:
|
STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH :{BLACK}Gidder gebraucht fir Stadwuesstum:
|
||||||
STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_GENERAL :{ORANGE}{STRING}{RED} gebraucht
|
STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_GENERAL :{ORANGE}{STRING}{RED} gebraucht
|
||||||
STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_WINTER :{ORANGE}{STRING}{BLACK} gebraucht am Wanter
|
STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_WINTER :{ORANGE}{STRING}{BLACK} gebraucht am Wanter
|
||||||
STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED_GENERAL :{ORANGE}{STRING}{GREEN} geliwwert
|
STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED_GENERAL :{ORANGE}{STRING}{GREEN} geliwwert
|
||||||
@@ -3342,6 +3361,7 @@ STR_INDUSTRY_VIEW_LOCATION_TOOLTIP :{BLACK}Zentréi
|
|||||||
STR_INDUSTRY_VIEW_PRODUCTION_LEVEL :{BLACK}Produktiounslevel: {YELLOW}{COMMA}%
|
STR_INDUSTRY_VIEW_PRODUCTION_LEVEL :{BLACK}Produktiounslevel: {YELLOW}{COMMA}%
|
||||||
STR_INDUSTRY_VIEW_INDUSTRY_ANNOUNCED_CLOSURE :{YELLOW}D'Industrie annoncéiert dass se zougemaach gëtt
|
STR_INDUSTRY_VIEW_INDUSTRY_ANNOUNCED_CLOSURE :{YELLOW}D'Industrie annoncéiert dass se zougemaach gëtt
|
||||||
|
|
||||||
|
STR_INDUSTRY_VIEW_PRODUCES_N_CARGO :{BLACK}Produzéiert: {YELLOW}{STRING}{STRING}
|
||||||
STR_INDUSTRY_VIEW_CARGO_LIST_EXTENSION :, {STRING}{STRING}
|
STR_INDUSTRY_VIEW_CARGO_LIST_EXTENSION :, {STRING}{STRING}
|
||||||
|
|
||||||
STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Brauch:
|
STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Brauch:
|
||||||
@@ -3820,7 +3840,7 @@ STR_ORDER_DROP_TRANSFER :Transferéieren
|
|||||||
STR_ORDER_DROP_NO_UNLOADING :Net entlueden
|
STR_ORDER_DROP_NO_UNLOADING :Net entlueden
|
||||||
STR_ORDER_TOOLTIP_UNLOAD :{BLACK}Wiesselt d'Entluedverhale vun dem ungewielten Optrag
|
STR_ORDER_TOOLTIP_UNLOAD :{BLACK}Wiesselt d'Entluedverhale vun dem ungewielten Optrag
|
||||||
|
|
||||||
STR_ORDER_REFIT :{BLACK}Ëmbauen
|
STR_ORDER_REFIT :{BLACK}Embauen
|
||||||
STR_ORDER_REFIT_TOOLTIP :{BLACK}Wielt an wéi een Luedungstyp sollt emgebaut ginn. Ctrl+Klick fir den Ëmbau ze läschen
|
STR_ORDER_REFIT_TOOLTIP :{BLACK}Wielt an wéi een Luedungstyp sollt emgebaut ginn. Ctrl+Klick fir den Ëmbau ze läschen
|
||||||
STR_ORDER_REFIT_AUTO :{BLACK}Embauen an der Statioun
|
STR_ORDER_REFIT_AUTO :{BLACK}Embauen an der Statioun
|
||||||
STR_ORDER_REFIT_AUTO_TOOLTIP :{BLACK}Wiel wellëch Wuerentypen sollen auto-ersat ginn an dësem Optrag. Ctrl+Klick fir all Auto-Erneierungen wechzehuelen. Auto-Erneiern geht just wann d'Gefier ët erlaabt
|
STR_ORDER_REFIT_AUTO_TOOLTIP :{BLACK}Wiel wellëch Wuerentypen sollen auto-ersat ginn an dësem Optrag. Ctrl+Klick fir all Auto-Erneierungen wechzehuelen. Auto-Erneiern geht just wann d'Gefier ët erlaabt
|
||||||
@@ -3916,8 +3936,8 @@ STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY :(Net entlueden
|
|||||||
STR_ORDER_NO_UNLOAD_NO_LOAD :(Keen Ent- an Belueden)
|
STR_ORDER_NO_UNLOAD_NO_LOAD :(Keen Ent- an Belueden)
|
||||||
|
|
||||||
STR_ORDER_AUTO_REFIT :(Embauen op {STRING})
|
STR_ORDER_AUTO_REFIT :(Embauen op {STRING})
|
||||||
STR_ORDER_FULL_LOAD_REFIT :(Voll lueden mat Embauen op {STRING})
|
STR_ORDER_FULL_LOAD_REFIT :(Voll lueden mat ëmbauen op {STRING})
|
||||||
STR_ORDER_FULL_LOAD_ANY_REFIT :(Voll lueden mat all Wueren mat Embauen op {STRING})
|
STR_ORDER_FULL_LOAD_ANY_REFIT :(Voll lueden mat all Wueren mat ëmbauen op {STRING})
|
||||||
STR_ORDER_UNLOAD_REFIT :(Entlueden an Wueren lueden mat Embauen op {STRING})
|
STR_ORDER_UNLOAD_REFIT :(Entlueden an Wueren lueden mat Embauen op {STRING})
|
||||||
STR_ORDER_UNLOAD_FULL_LOAD_REFIT :(Entlueden an op voll Luedung waarden mat Embauen op {STRING})
|
STR_ORDER_UNLOAD_FULL_LOAD_REFIT :(Entlueden an op voll Luedung waarden mat Embauen op {STRING})
|
||||||
STR_ORDER_UNLOAD_FULL_LOAD_ANY_REFIT :(Entlueden an waard op iergendeng Volluedung mat Embauen op {STRING})
|
STR_ORDER_UNLOAD_FULL_LOAD_ANY_REFIT :(Entlueden an waard op iergendeng Volluedung mat Embauen op {STRING})
|
||||||
@@ -4276,7 +4296,6 @@ STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD :{WHITE}... d'St
|
|||||||
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... Strooss geet an dei falsch Richtung
|
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... Strooss geet an dei falsch Richtung
|
||||||
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... Duerchfahrtstops kënnen keng Kéiren hunn
|
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... Duerchfahrtstops kënnen keng Kéiren hunn
|
||||||
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... Duerchfahrtstops kënnen keng Kräizungen hunn
|
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... Duerchfahrtstops kënnen keng Kräizungen hunn
|
||||||
STR_ERROR_DRIVE_THROUGH_ON_ONEWAY_ROAD :{WHITE}... Einbahnstrooss oder blockéiert
|
|
||||||
|
|
||||||
# Station destruction related errors
|
# Station destruction related errors
|
||||||
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Kann den Deel vun der Gare net ofrappen...
|
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Kann den Deel vun der Gare net ofrappen...
|
||||||
|
|||||||
@@ -838,7 +838,7 @@ STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_COAL :{BIG_FONT}{BLAC
|
|||||||
STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_OIL :{BIG_FONT}{BLACK}Nye oljereserver funnet i {INDUSTRY}!{}En dobling i produksjonen ventes!
|
STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_OIL :{BIG_FONT}{BLACK}Nye oljereserver funnet i {INDUSTRY}!{}En dobling i produksjonen ventes!
|
||||||
STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_FARM :{BIG_FONT}{BLACK}Forbedring i gårdbruksmetoder på {INDUSTRY} forventes å doble produksjonen!
|
STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_FARM :{BIG_FONT}{BLACK}Forbedring i gårdbruksmetoder på {INDUSTRY} forventes å doble produksjonen!
|
||||||
STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_SMOOTH :{BIG_FONT}{BLACK}Produksjonen av {STRING} ved {INDUSTRY} øker med {COMMA}{NBSP}%!
|
STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_SMOOTH :{BIG_FONT}{BLACK}Produksjonen av {STRING} ved {INDUSTRY} øker med {COMMA}{NBSP}%!
|
||||||
STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL :{BIG_FONT}{BLACK}{INDUSTRY} sin produksjon har sunket med 50{NBSP}%
|
STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL :{BIG_FONT}{BLACK}Produksjonen ved {INDUSTRY} har sunket med 50{NBSP}%
|
||||||
STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_FARM :{BIG_FONT}{BLACK}Insektinvasjon gjør stor skade på {INDUSTRY}!{}Produksjonen synker med 50{NBSP}%
|
STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_FARM :{BIG_FONT}{BLACK}Insektinvasjon gjør stor skade på {INDUSTRY}!{}Produksjonen synker med 50{NBSP}%
|
||||||
STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_SMOOTH :{BIG_FONT}{BLACK}Produksjonen av {STRING} ved {INDUSTRY} synker med {COMMA}{NBSP}%!
|
STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_SMOOTH :{BIG_FONT}{BLACK}Produksjonen av {STRING} ved {INDUSTRY} synker med {COMMA}{NBSP}%!
|
||||||
|
|
||||||
@@ -1240,9 +1240,9 @@ STR_CONFIG_SETTING_STOP_LOCATION_FAR_END :bortenden
|
|||||||
STR_CONFIG_SETTING_AUTOSCROLL :Flytt på bildet hvis pilen er nær ytterkantene av skjermen: {STRING}
|
STR_CONFIG_SETTING_AUTOSCROLL :Flytt på bildet hvis pilen er nær ytterkantene av skjermen: {STRING}
|
||||||
STR_CONFIG_SETTING_AUTOSCROLL_HELPTEXT :Når aktivert, vil synsfeltet begynne å rulle når musen er nær kanten av vinduet
|
STR_CONFIG_SETTING_AUTOSCROLL_HELPTEXT :Når aktivert, vil synsfeltet begynne å rulle når musen er nær kanten av vinduet
|
||||||
STR_CONFIG_SETTING_AUTOSCROLL_DISABLED :Deaktivert
|
STR_CONFIG_SETTING_AUTOSCROLL_DISABLED :Deaktivert
|
||||||
STR_CONFIG_SETTING_AUTOSCROLL_MAIN_VIEWPORT_FULLSCREEN :Hoved tillegsvindu, bare fullskjerm
|
STR_CONFIG_SETTING_AUTOSCROLL_MAIN_VIEWPORT_FULLSCREEN :Hovedvindu, bare fullskjerm
|
||||||
STR_CONFIG_SETTING_AUTOSCROLL_MAIN_VIEWPORT :hoved tillegsvindu
|
STR_CONFIG_SETTING_AUTOSCROLL_MAIN_VIEWPORT :Hovedvindu
|
||||||
STR_CONFIG_SETTING_AUTOSCROLL_EVERY_VIEWPORT :alle tillegsvindu
|
STR_CONFIG_SETTING_AUTOSCROLL_EVERY_VIEWPORT :alle tilleggsvindu
|
||||||
STR_CONFIG_SETTING_BRIBE :Tillat bestikkelser av bystyret: {STRING}
|
STR_CONFIG_SETTING_BRIBE :Tillat bestikkelser av bystyret: {STRING}
|
||||||
STR_CONFIG_SETTING_BRIBE_HELPTEXT :Tillat firmaer å prøve å bestikke de lokale myndighetene i byen. Hvis bestikkelsen blir oppdaget av en inspektør, vil selskapet ikke være i stand til å gjøre forretninger i byen de neste seks månedene
|
STR_CONFIG_SETTING_BRIBE_HELPTEXT :Tillat firmaer å prøve å bestikke de lokale myndighetene i byen. Hvis bestikkelsen blir oppdaget av en inspektør, vil selskapet ikke være i stand til å gjøre forretninger i byen de neste seks månedene
|
||||||
STR_CONFIG_SETTING_BRIBE_HELPTEXT.small :firma
|
STR_CONFIG_SETTING_BRIBE_HELPTEXT.small :firma
|
||||||
@@ -1416,7 +1416,7 @@ STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_CONSTRUCTION :Alt utenom kons
|
|||||||
STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_LANDSCAPING :Alt utenom landskapsendringer
|
STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_LANDSCAPING :Alt utenom landskapsendringer
|
||||||
STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_ACTIONS :Alle handlinger
|
STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_ACTIONS :Alle handlinger
|
||||||
STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS :Bruk grupper i kjøretøyliste: {STRING}
|
STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS :Bruk grupper i kjøretøyliste: {STRING}
|
||||||
STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS_HELPTEXT :Aktiver bruk av de avanserte kjøretøyslistene for guppering av kjøretøy
|
STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS_HELPTEXT :Aktiver bruk av avanserte kjøretøylister for guppering av kjøretøy
|
||||||
STR_CONFIG_SETTING_LOADING_INDICATORS :Bruk lastingsindikatorer: {STRING}
|
STR_CONFIG_SETTING_LOADING_INDICATORS :Bruk lastingsindikatorer: {STRING}
|
||||||
STR_CONFIG_SETTING_LOADING_INDICATORS_HELPTEXT :Velg hvorvidt lasteindikatorer vises over kjøretøy som lastes eller losses
|
STR_CONFIG_SETTING_LOADING_INDICATORS_HELPTEXT :Velg hvorvidt lasteindikatorer vises over kjøretøy som lastes eller losses
|
||||||
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS :Vis rutetabell i antall tikk i stedet for antall dager: {STRING}
|
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS :Vis rutetabell i antall tikk i stedet for antall dager: {STRING}
|
||||||
@@ -1467,7 +1467,7 @@ STR_CONFIG_SETTING_MAX_SHIPS_HELPTEXT :Maksimalt antal
|
|||||||
|
|
||||||
STR_CONFIG_SETTING_AI_BUILDS_TRAINS :Hindre datamaskinen i å bygge tog: {STRING}
|
STR_CONFIG_SETTING_AI_BUILDS_TRAINS :Hindre datamaskinen i å bygge tog: {STRING}
|
||||||
STR_CONFIG_SETTING_AI_BUILDS_TRAINS_HELPTEXT :Aktivering av denne innstillingen gjør bygging av tog umulig for en datamaskin-spiller
|
STR_CONFIG_SETTING_AI_BUILDS_TRAINS_HELPTEXT :Aktivering av denne innstillingen gjør bygging av tog umulig for en datamaskin-spiller
|
||||||
STR_CONFIG_SETTING_AI_BUILDS_ROAD_VEHICLES :Hindre datamaskinen i å bygge kjøretøy: {STRING}
|
STR_CONFIG_SETTING_AI_BUILDS_ROAD_VEHICLES :Hindre datamaskinen i å bygge veikjøretøy: {STRING}
|
||||||
STR_CONFIG_SETTING_AI_BUILDS_ROAD_VEHICLES_HELPTEXT :Aktivering av denne innstillingen gjør bygging av veikjøretøy umulig for en datamaskin-spiller
|
STR_CONFIG_SETTING_AI_BUILDS_ROAD_VEHICLES_HELPTEXT :Aktivering av denne innstillingen gjør bygging av veikjøretøy umulig for en datamaskin-spiller
|
||||||
STR_CONFIG_SETTING_AI_BUILDS_AIRCRAFT :Hindre datamaskinen i å bygge luftfartøy: {STRING}
|
STR_CONFIG_SETTING_AI_BUILDS_AIRCRAFT :Hindre datamaskinen i å bygge luftfartøy: {STRING}
|
||||||
STR_CONFIG_SETTING_AI_BUILDS_AIRCRAFT_HELPTEXT :Aktivering av denne innstillingen gjør bygging av fly umulig for en datamaskin-spiller
|
STR_CONFIG_SETTING_AI_BUILDS_AIRCRAFT_HELPTEXT :Aktivering av denne innstillingen gjør bygging av fly umulig for en datamaskin-spiller
|
||||||
@@ -3616,7 +3616,7 @@ STR_DEPOT_SELL_CONFIRMATION_TEXT :{YELLOW}Du er n
|
|||||||
|
|
||||||
# Engine preview window
|
# Engine preview window
|
||||||
STR_ENGINE_PREVIEW_CAPTION :{WHITE}Melding fra kjøretøysprodusent
|
STR_ENGINE_PREVIEW_CAPTION :{WHITE}Melding fra kjøretøysprodusent
|
||||||
STR_ENGINE_PREVIEW_MESSAGE :{GOLD}Vi har nettopp designet e{G n i t} ny{G "" "" tt} {STRING} - er du interessert i et års ekslusivt bruk av dette, slik at vi kan se hvordan det virker før det blir allment tilgjengelig?
|
STR_ENGINE_PREVIEW_MESSAGE :{GOLD}Vi har nettopp designet e{G n i t} ny{G "" "" tt} {STRING} - er du interessert i ett års ekslusivt bruk av dette, slik at vi kan se hvordan det virker før det blir allment tilgjengelig?
|
||||||
STR_ENGINE_PREVIEW_RAILROAD_LOCOMOTIVE :{G=neuter}lokomotiv
|
STR_ENGINE_PREVIEW_RAILROAD_LOCOMOTIVE :{G=neuter}lokomotiv
|
||||||
STR_ENGINE_PREVIEW_ROAD_VEHICLE :{G=neuter}kjøretøy
|
STR_ENGINE_PREVIEW_ROAD_VEHICLE :{G=neuter}kjøretøy
|
||||||
STR_ENGINE_PREVIEW_AIRCRAFT :{G=neuter}luftfartøy
|
STR_ENGINE_PREVIEW_AIRCRAFT :{G=neuter}luftfartøy
|
||||||
@@ -3660,7 +3660,7 @@ STR_REPLACE_HELP_STOP_BUTTON :{BLACK}Klikk de
|
|||||||
STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK}Veksle mellom tog- og vognerstatningsvinduet
|
STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK}Veksle mellom tog- og vognerstatningsvinduet
|
||||||
STR_REPLACE_ENGINES :Lokomotiv
|
STR_REPLACE_ENGINES :Lokomotiv
|
||||||
STR_REPLACE_WAGONS :Vogner
|
STR_REPLACE_WAGONS :Vogner
|
||||||
STR_REPLACE_ALL_RAILTYPE :Status: Mangler
|
STR_REPLACE_ALL_RAILTYPE :Alle jernbanekjøretøy
|
||||||
|
|
||||||
STR_REPLACE_HELP_RAILTYPE :{BLACK}Velg jernbanetypen du vil bytte ut lokomotiv på
|
STR_REPLACE_HELP_RAILTYPE :{BLACK}Velg jernbanetypen du vil bytte ut lokomotiv på
|
||||||
STR_REPLACE_HELP_REPLACE_INFO_TAB :{BLACK}Viser hvilket lokomotiv som overtar for det valgte lokomotivet på venstresiden
|
STR_REPLACE_HELP_REPLACE_INFO_TAB :{BLACK}Viser hvilket lokomotiv som overtar for det valgte lokomotivet på venstresiden
|
||||||
@@ -3752,11 +3752,11 @@ STR_VEHICLE_INFO_AGE_RUNNING_COST_YR :{BLACK}Alder: {
|
|||||||
STR_VEHICLE_INFO_AGE :{COMMA} år ({COMMA})
|
STR_VEHICLE_INFO_AGE :{COMMA} år ({COMMA})
|
||||||
STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA} år ({COMMA})
|
STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA} år ({COMMA})
|
||||||
|
|
||||||
STR_VEHICLE_INFO_MAX_SPEED :{BLACK}Maks hastighet: {LTBLUE}{VELOCITY}
|
STR_VEHICLE_INFO_MAX_SPEED :{BLACK}Topphastighet: {LTBLUE}{VELOCITY}
|
||||||
STR_VEHICLE_INFO_MAX_SPEED_TYPE :{BLACK}Maks. hastighet: {LTBLUE}{VELOCITY} {BLACK}Flytype: {LTBLUE}{STRING}
|
STR_VEHICLE_INFO_MAX_SPEED_TYPE :{BLACK}Topphastighet: {LTBLUE}{VELOCITY} {BLACK}Flytype: {LTBLUE}{STRING}
|
||||||
STR_VEHICLE_INFO_MAX_SPEED_TYPE_RANGE :{BLACK}Maks. hastighet: {LTBLUE}{VELOCITY} {BLACK}Flytype: {LTBLUE}{STRING} {BLACK}Rekkevidde: {LTBLUE}{COMMA} ruter
|
STR_VEHICLE_INFO_MAX_SPEED_TYPE_RANGE :{BLACK}Topphastighet: {LTBLUE}{VELOCITY} {BLACK}Flytype: {LTBLUE}{STRING} {BLACK}Rekkevidde: {LTBLUE}{COMMA} ruter
|
||||||
STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Vekt: {LTBLUE}{WEIGHT_SHORT} {BLACK}Kraft: {LTBLUE}{POWER}{BLACK} Maks hastighet: {LTBLUE}{VELOCITY}
|
STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Vekt: {LTBLUE}{WEIGHT_SHORT} {BLACK}Kraft: {LTBLUE}{POWER}{BLACK} Topphastighet: {LTBLUE}{VELOCITY}
|
||||||
STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Vekt: {LTBLUE}{WEIGHT_SHORT} {BLACK}Kraft: {LTBLUE}{POWER}{BLACK} Maks hastighet: {LTBLUE}{VELOCITY} {BLACK}Maks trekkraft: {LTBLUE}{FORCE}
|
STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Vekt: {LTBLUE}{WEIGHT_SHORT} {BLACK}Kraft: {LTBLUE}{POWER}{BLACK} Topphastighet: {LTBLUE}{VELOCITY} {BLACK}Maks trekkraft: {LTBLUE}{FORCE}
|
||||||
|
|
||||||
STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR :{BLACK}Fortjeneste i år: {LTBLUE}{CURRENCY_LONG} (i fjor: {CURRENCY_LONG})
|
STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR :{BLACK}Fortjeneste i år: {LTBLUE}{CURRENCY_LONG} (i fjor: {CURRENCY_LONG})
|
||||||
STR_VEHICLE_INFO_RELIABILITY_BREAKDOWNS :{BLACK}Pålitelighet: {LTBLUE}{COMMA}{NBSP}% {BLACK}Havarier siden siste vedlikehold: {LTBLUE}{COMMA}
|
STR_VEHICLE_INFO_RELIABILITY_BREAKDOWNS :{BLACK}Pålitelighet: {LTBLUE}{COMMA}{NBSP}% {BLACK}Havarier siden siste vedlikehold: {LTBLUE}{COMMA}
|
||||||
@@ -3883,7 +3883,7 @@ STR_ORDER_CONDITIONAL_VARIABLE_TOOLTIP :{BLACK}Kjøret
|
|||||||
# Conditional order variables, must follow order of OrderConditionVariable enum
|
# Conditional order variables, must follow order of OrderConditionVariable enum
|
||||||
STR_ORDER_CONDITIONAL_LOAD_PERCENTAGE :Lastprosent
|
STR_ORDER_CONDITIONAL_LOAD_PERCENTAGE :Lastprosent
|
||||||
STR_ORDER_CONDITIONAL_RELIABILITY :Pålitelighet
|
STR_ORDER_CONDITIONAL_RELIABILITY :Pålitelighet
|
||||||
STR_ORDER_CONDITIONAL_MAX_SPEED :Maks hastighet
|
STR_ORDER_CONDITIONAL_MAX_SPEED :Topphastighet
|
||||||
STR_ORDER_CONDITIONAL_AGE :Alder (år)
|
STR_ORDER_CONDITIONAL_AGE :Alder (år)
|
||||||
STR_ORDER_CONDITIONAL_REQUIRES_SERVICE :Trenger vedlikehold
|
STR_ORDER_CONDITIONAL_REQUIRES_SERVICE :Trenger vedlikehold
|
||||||
STR_ORDER_CONDITIONAL_UNCONDITIONALLY :Alltid
|
STR_ORDER_CONDITIONAL_UNCONDITIONALLY :Alltid
|
||||||
@@ -4322,7 +4322,6 @@ STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD :{WHITE}... denn
|
|||||||
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... veien vender i feil retning
|
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... veien vender i feil retning
|
||||||
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... gjennomkjøringsstopper kan ikke ha hjørner
|
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... gjennomkjøringsstopper kan ikke ha hjørner
|
||||||
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... gjennomkjøringsstopper kan ikke ha kryss
|
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... gjennomkjøringsstopper kan ikke ha kryss
|
||||||
STR_ERROR_DRIVE_THROUGH_ON_ONEWAY_ROAD :{WHITE}... veien er enveiskjørt eller blokkert
|
|
||||||
|
|
||||||
# Station destruction related errors
|
# Station destruction related errors
|
||||||
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Kan ikke fjerne del av stasjonen...
|
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Kan ikke fjerne del av stasjonen...
|
||||||
|
|||||||
@@ -4666,7 +4666,6 @@ STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD :{WHITE}... ta d
|
|||||||
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... droga jest zorientowana w złym kierunku
|
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... droga jest zorientowana w złym kierunku
|
||||||
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... przystanki przelotowe nie mogą mieć zakrętów
|
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... przystanki przelotowe nie mogą mieć zakrętów
|
||||||
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... przystanki przelotowe nie mogą mieć skrzyżowań
|
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... przystanki przelotowe nie mogą mieć skrzyżowań
|
||||||
STR_ERROR_DRIVE_THROUGH_ON_ONEWAY_ROAD :{WHITE}... droga jest jednokierunkowa lub zablokowana
|
|
||||||
|
|
||||||
# Station destruction related errors
|
# Station destruction related errors
|
||||||
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Nie można usunąć części stacji...
|
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Nie można usunąć części stacji...
|
||||||
|
|||||||
@@ -2534,7 +2534,6 @@ STR_QUERY_RESET_LANDSCAPE_CAPTION :{WHITE}Repor Te
|
|||||||
STR_RESET_LANDSCAPE_CONFIRMATION_TEXT :{WHITE}Tem a certeza que quer apagar todas as propriedades das empresas?
|
STR_RESET_LANDSCAPE_CONFIRMATION_TEXT :{WHITE}Tem a certeza que quer apagar todas as propriedades das empresas?
|
||||||
|
|
||||||
# Town generation window (SE)
|
# Town generation window (SE)
|
||||||
|
|
||||||
STR_FOUND_TOWN_CAPTION :{WHITE}Gerar Localidades
|
STR_FOUND_TOWN_CAPTION :{WHITE}Gerar Localidades
|
||||||
STR_FOUND_TOWN_NEW_TOWN_BUTTON :{BLACK}Nova Localidade
|
STR_FOUND_TOWN_NEW_TOWN_BUTTON :{BLACK}Nova Localidade
|
||||||
STR_FOUND_TOWN_NEW_TOWN_TOOLTIP :{BLACK}Fundar nova localidade. Shift+Clique mostra apenas o custo estimado
|
STR_FOUND_TOWN_NEW_TOWN_TOOLTIP :{BLACK}Fundar nova localidade. Shift+Clique mostra apenas o custo estimado
|
||||||
@@ -2542,6 +2541,7 @@ STR_FOUND_TOWN_RANDOM_TOWN_BUTTON :{BLACK}Localida
|
|||||||
STR_FOUND_TOWN_RANDOM_TOWN_TOOLTIP :{BLACK}Fundar uma localidade num local aleatório
|
STR_FOUND_TOWN_RANDOM_TOWN_TOOLTIP :{BLACK}Fundar uma localidade num local aleatório
|
||||||
STR_FOUND_TOWN_MANY_RANDOM_TOWNS :{BLACK}Várias localidades aleatórias
|
STR_FOUND_TOWN_MANY_RANDOM_TOWNS :{BLACK}Várias localidades aleatórias
|
||||||
STR_FOUND_TOWN_RANDOM_TOWNS_TOOLTIP :{BLACK}Cobrir o mapa com localidades colocadas aleatoriamente
|
STR_FOUND_TOWN_RANDOM_TOWNS_TOOLTIP :{BLACK}Cobrir o mapa com localidades colocadas aleatoriamente
|
||||||
|
|
||||||
STR_FOUND_TOWN_NAME_TITLE :{YELLOW}Nome da localidade:
|
STR_FOUND_TOWN_NAME_TITLE :{YELLOW}Nome da localidade:
|
||||||
STR_FOUND_TOWN_NAME_EDITOR_TITLE :{BLACK}Introduza o nome da localidade
|
STR_FOUND_TOWN_NAME_EDITOR_TITLE :{BLACK}Introduza o nome da localidade
|
||||||
STR_FOUND_TOWN_NAME_EDITOR_HELP :{BLACK}Clique para introduzir o nome da localidade
|
STR_FOUND_TOWN_NAME_EDITOR_HELP :{BLACK}Clique para introduzir o nome da localidade
|
||||||
@@ -4318,7 +4318,6 @@ STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD :{WHITE}... esta
|
|||||||
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... estrada orientada na direcção incorrecta
|
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... estrada orientada na direcção incorrecta
|
||||||
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... estações de passagem não podem ter curvas
|
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... estações de passagem não podem ter curvas
|
||||||
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... estações de passagem não podem ter cruzamentos
|
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... estações de passagem não podem ter cruzamentos
|
||||||
STR_ERROR_DRIVE_THROUGH_ON_ONEWAY_ROAD :{WHITE}... estrada de sentido único ou bloqueada
|
|
||||||
|
|
||||||
# Station destruction related errors
|
# Station destruction related errors
|
||||||
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Não é possível remover parte da estação...
|
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Não é possível remover parte da estação...
|
||||||
|
|||||||
@@ -1574,8 +1574,8 @@ STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE :Показыв
|
|||||||
STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE_HELPTEXT :Показывать ожидаемое время прибытия и отправления в графиках движения
|
STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE_HELPTEXT :Показывать ожидаемое время прибытия и отправления в графиках движения
|
||||||
STR_CONFIG_SETTING_QUICKGOTO :Быстрое создание заданий транспорта: {STRING}
|
STR_CONFIG_SETTING_QUICKGOTO :Быстрое создание заданий транспорта: {STRING}
|
||||||
STR_CONFIG_SETTING_QUICKGOTO_HELPTEXT :Открывать окно маршрута с нажатой кнопкой «Следовать»
|
STR_CONFIG_SETTING_QUICKGOTO_HELPTEXT :Открывать окно маршрута с нажатой кнопкой «Следовать»
|
||||||
STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE :Тип рельсов по умолчанию (после старта/загрузки): {STRING}
|
STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE :Тип ж/д путей по умолчанию (после старта/загрузки): {STRING}
|
||||||
STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_HELPTEXT :Тип рельсов, выбираемый по умолчанию после старта или загрузки игры.{}«Первые доступные» - самый старый тип рельсов.{}«Последние доступные» - самый новый тип.{}«Наиболее используемые» - тип рельсов, наиболее широко используемых в игре.
|
STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_HELPTEXT :Тип железнодорожных путей, выбираемый по умолчанию после старта или загрузки игры.{}«Первые доступные» - самый старый тип рельсов.{}«Последние доступные» - самый новый тип.{}«Наиболее используемые» - тип рельсов, наиболее широко используемых в игре.
|
||||||
STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_FIRST :первые доступные
|
STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_FIRST :первые доступные
|
||||||
STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_LAST :последние доступные
|
STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_LAST :последние доступные
|
||||||
STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_MOST_USED :наиболее используемые
|
STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_MOST_USED :наиболее используемые
|
||||||
@@ -2830,9 +2830,9 @@ STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_NOENTRYSIGNALS :Ж/д путь
|
|||||||
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBS_NOENTRYSIGNALS :Ж/д путь с маршрутным и односторонним маршрутным сигналами
|
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBS_NOENTRYSIGNALS :Ж/д путь с маршрутным и односторонним маршрутным сигналами
|
||||||
STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT :Ж/д депо
|
STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT :Ж/д депо
|
||||||
|
|
||||||
STR_LAI_ROAD_DESCRIPTION_ROAD :Дорога
|
STR_LAI_ROAD_DESCRIPTION_ROAD :Автодорога
|
||||||
STR_LAI_ROAD_DESCRIPTION_ROAD_WITH_STREETLIGHTS :Дорога с уличным освещением
|
STR_LAI_ROAD_DESCRIPTION_ROAD_WITH_STREETLIGHTS :Освещённая автодорога
|
||||||
STR_LAI_ROAD_DESCRIPTION_TREE_LINED_ROAD :Дорога с озеленением
|
STR_LAI_ROAD_DESCRIPTION_TREE_LINED_ROAD :Автодорога с озеленением
|
||||||
STR_LAI_ROAD_DESCRIPTION_ROAD_VEHICLE_DEPOT :Гараж
|
STR_LAI_ROAD_DESCRIPTION_ROAD_VEHICLE_DEPOT :Гараж
|
||||||
STR_LAI_ROAD_DESCRIPTION_ROAD_RAIL_LEVEL_CROSSING :Железнодорожный переезд
|
STR_LAI_ROAD_DESCRIPTION_ROAD_RAIL_LEVEL_CROSSING :Железнодорожный переезд
|
||||||
STR_LAI_ROAD_DESCRIPTION_TRAMWAY :Трамвайные пути
|
STR_LAI_ROAD_DESCRIPTION_TRAMWAY :Трамвайные пути
|
||||||
@@ -3301,7 +3301,7 @@ STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION :{YELLOW}Про
|
|||||||
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{YELLOW}Установить статую в честь вашей компании.{}Цена: {CURRENCY_LONG}
|
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{YELLOW}Установить статую в честь вашей компании.{}Цена: {CURRENCY_LONG}
|
||||||
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{YELLOW}Профинансировать строительство новых коммерческих зданий в городе.{}Цена: {CURRENCY_LONG}
|
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{YELLOW}Профинансировать строительство новых коммерческих зданий в городе.{}Цена: {CURRENCY_LONG}
|
||||||
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT :{YELLOW}Купить годовые эксклюзивные права на транспортные перевозки в городе. Администрация разрешит пользоваться ТОЛЬКО вашими станциями.{}Цена: {CURRENCY_LONG}
|
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT :{YELLOW}Купить годовые эксклюзивные права на транспортные перевозки в городе. Администрация разрешит пользоваться ТОЛЬКО вашими станциями.{}Цена: {CURRENCY_LONG}
|
||||||
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW}Дать взятку городской администрации для повышения рейтинга. Существует риск санкций, если факт взятки раскроется.{}Цена: {CURRENCY_LONG}
|
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW}Дать взятку городской администрации для повышения рейтинга. Существует риск санкций, если факт подкупа раскроется.{}Цена: {CURRENCY_LONG}
|
||||||
|
|
||||||
# Goal window
|
# Goal window
|
||||||
STR_GOALS_CAPTION :{WHITE}Задачи компании «{COMPANY}»
|
STR_GOALS_CAPTION :{WHITE}Задачи компании «{COMPANY}»
|
||||||
@@ -3645,7 +3645,7 @@ STR_BUY_VEHICLE_TRAIN_MAGLEV_CAPTION :Новый ма
|
|||||||
STR_BUY_VEHICLE_TRAIN_ALL_CAPTION :Новый поезд
|
STR_BUY_VEHICLE_TRAIN_ALL_CAPTION :Новый поезд
|
||||||
STR_BUY_VEHICLE_ROAD_VEHICLE_CAPTION :Новый автомобиль
|
STR_BUY_VEHICLE_ROAD_VEHICLE_CAPTION :Новый автомобиль
|
||||||
STR_BUY_VEHICLE_SHIP_CAPTION :Новый корабль
|
STR_BUY_VEHICLE_SHIP_CAPTION :Новый корабль
|
||||||
STR_BUY_VEHICLE_AIRCRAFT_CAPTION :Новый авиатранспорт
|
STR_BUY_VEHICLE_AIRCRAFT_CAPTION :Новое воздушное судно
|
||||||
|
|
||||||
STR_PURCHASE_INFO_COST_WEIGHT :{BLACK}Цена: {GOLD}{CURRENCY_LONG}{BLACK} Вес: {GOLD}{WEIGHT_SHORT}
|
STR_PURCHASE_INFO_COST_WEIGHT :{BLACK}Цена: {GOLD}{CURRENCY_LONG}{BLACK} Вес: {GOLD}{WEIGHT_SHORT}
|
||||||
STR_PURCHASE_INFO_SPEED_POWER :{BLACK}Скорость: {GOLD}{VELOCITY}{BLACK} Мощность: {GOLD}{POWER}
|
STR_PURCHASE_INFO_SPEED_POWER :{BLACK}Скорость: {GOLD}{VELOCITY}{BLACK} Мощность: {GOLD}{POWER}
|
||||||
@@ -3830,8 +3830,8 @@ STR_REPLACE_VEHICLE_VEHICLES_IN_USE_TOOLTIP :{BLACK}Здес
|
|||||||
STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES :{YELLOW}Доступные ТС
|
STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES :{YELLOW}Доступные ТС
|
||||||
STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES_TOOLTIP :{BLACK}Здесь перечислены модели транспортных средств, доступные для замены
|
STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES_TOOLTIP :{BLACK}Здесь перечислены модели транспортных средств, доступные для замены
|
||||||
|
|
||||||
STR_REPLACE_HELP_LEFT_ARRAY :{BLACK}Выбор типа транспорта для замены
|
STR_REPLACE_HELP_LEFT_ARRAY :{BLACK}Выбор заменяемой модели транспортного средства
|
||||||
STR_REPLACE_HELP_RIGHT_ARRAY :{BLACK}Выбор типа транспорта, на который следует заменить
|
STR_REPLACE_HELP_RIGHT_ARRAY :{BLACK}Выбор заменяющей модели транспортного средства
|
||||||
|
|
||||||
STR_REPLACE_VEHICLES_START :{BLACK}Начать замену
|
STR_REPLACE_VEHICLES_START :{BLACK}Начать замену
|
||||||
STR_REPLACE_VEHICLES_NOW :Начать замену всех ТС
|
STR_REPLACE_VEHICLES_NOW :Начать замену всех ТС
|
||||||
@@ -4507,7 +4507,6 @@ STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD :{WHITE}... эт
|
|||||||
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... неверное направление дороги
|
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... неверное направление дороги
|
||||||
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... на проходных остановках нельзя делать повороты
|
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... на проходных остановках нельзя делать повороты
|
||||||
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... на проходных остановках нельзя делать перекрёстки
|
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... на проходных остановках нельзя делать перекрёстки
|
||||||
STR_ERROR_DRIVE_THROUGH_ON_ONEWAY_ROAD :{WHITE}... дорога односторонняя или заблокирована
|
|
||||||
|
|
||||||
# Station destruction related errors
|
# Station destruction related errors
|
||||||
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Невозможно удалить часть станции...
|
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Невозможно удалить часть станции...
|
||||||
|
|||||||
@@ -4443,7 +4443,6 @@ STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD :{WHITE}... ova
|
|||||||
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... ulica je okrenuta u drugom pravcu
|
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... ulica je okrenuta u drugom pravcu
|
||||||
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... stajalište ne može biti na krivini
|
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... stajalište ne može biti na krivini
|
||||||
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... stajalište ne može biti na raskrsnici
|
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... stajalište ne može biti na raskrsnici
|
||||||
STR_ERROR_DRIVE_THROUGH_ON_ONEWAY_ROAD :{WHITE}... put je jednosmeran ili blokiran.
|
|
||||||
|
|
||||||
# Station destruction related errors
|
# Station destruction related errors
|
||||||
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Deo stanice se ne može ukloniti...
|
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Deo stanice se ne može ukloniti...
|
||||||
|
|||||||
@@ -963,6 +963,7 @@ STR_NEWS_MERGER_TAKEOVER_TITLE :{BIG_FONT}{BLAC
|
|||||||
STR_PRESIDENT_NAME_MANAGER :{BLACK}{PRESIDENT_NAME}{}(Direktor)
|
STR_PRESIDENT_NAME_MANAGER :{BLACK}{PRESIDENT_NAME}{}(Direktor)
|
||||||
|
|
||||||
STR_NEWS_NEW_TOWN :{BLACK}{BIG_FONT}{STRING} sponzorirana gradnja novega mesta {TOWN}!
|
STR_NEWS_NEW_TOWN :{BLACK}{BIG_FONT}{STRING} sponzorirana gradnja novega mesta {TOWN}!
|
||||||
|
STR_NEWS_NEW_TOWN_UNSPONSORED :{BLACK}{BIG_FONT}Novo mesto z imenom {TOWN} je bilo zgrajeno!
|
||||||
|
|
||||||
STR_NEWS_INDUSTRY_CONSTRUCTION :{BIG_FONT}{BLACK}Na novo se gradi {STRING} blizu mesta {TOWN}!
|
STR_NEWS_INDUSTRY_CONSTRUCTION :{BIG_FONT}{BLACK}Na novo se gradi {STRING} blizu mesta {TOWN}!
|
||||||
STR_NEWS_INDUSTRY_PLANTED :{BIG_FONT}{BLACK}Postavlja se {STRING} blizu mesta {TOWN}!
|
STR_NEWS_INDUSTRY_PLANTED :{BIG_FONT}{BLACK}Postavlja se {STRING} blizu mesta {TOWN}!
|
||||||
@@ -1956,6 +1957,7 @@ STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}Spremeni
|
|||||||
STR_CHEAT_SETUP_PROD :{LTBLUE}Omogoči spreminjanje proizvodnih vrednosti: {ORANGE}{STRING}
|
STR_CHEAT_SETUP_PROD :{LTBLUE}Omogoči spreminjanje proizvodnih vrednosti: {ORANGE}{STRING}
|
||||||
|
|
||||||
# Livery window
|
# Livery window
|
||||||
|
STR_LIVERY_CAPTION :{WHITE}{COMPANY} - Barvna shema
|
||||||
|
|
||||||
STR_LIVERY_GENERAL_TOOLTIP :{BLACK}Prikaz glavnih barvnih shem
|
STR_LIVERY_GENERAL_TOOLTIP :{BLACK}Prikaz glavnih barvnih shem
|
||||||
STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Prikaz barvnih shem vlakov
|
STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Prikaz barvnih shem vlakov
|
||||||
@@ -3924,6 +3926,7 @@ STR_ORDER_CONDITIONAL_AGE :Starost (leta)
|
|||||||
STR_ORDER_CONDITIONAL_REQUIRES_SERVICE :Potrebuje servis
|
STR_ORDER_CONDITIONAL_REQUIRES_SERVICE :Potrebuje servis
|
||||||
STR_ORDER_CONDITIONAL_UNCONDITIONALLY :Vedno
|
STR_ORDER_CONDITIONAL_UNCONDITIONALLY :Vedno
|
||||||
STR_ORDER_CONDITIONAL_REMAINING_LIFETIME :Preostala življenjska doba (let)
|
STR_ORDER_CONDITIONAL_REMAINING_LIFETIME :Preostala življenjska doba (let)
|
||||||
|
STR_ORDER_CONDITIONAL_MAX_RELIABILITY :Največja zanesljivost
|
||||||
|
|
||||||
STR_ORDER_CONDITIONAL_COMPARATOR_TOOLTIP :{BLACK}Kako primerjati podatke vozila na podano vrednost
|
STR_ORDER_CONDITIONAL_COMPARATOR_TOOLTIP :{BLACK}Kako primerjati podatke vozila na podano vrednost
|
||||||
STR_ORDER_CONDITIONAL_COMPARATOR_EQUALS :je enaka
|
STR_ORDER_CONDITIONAL_COMPARATOR_EQUALS :je enaka
|
||||||
@@ -4607,6 +4610,7 @@ STR_BASESOUNDS_DOS_DESCRIPTION :Originalni zvok
|
|||||||
STR_BASESOUNDS_WIN_DESCRIPTION :Originalni zvoki Transport Tycoon Deluxe različice oken(windows).
|
STR_BASESOUNDS_WIN_DESCRIPTION :Originalni zvoki Transport Tycoon Deluxe različice oken(windows).
|
||||||
STR_BASESOUNDS_NONE_DESCRIPTION :Zvočni paket brez zvoka.
|
STR_BASESOUNDS_NONE_DESCRIPTION :Zvočni paket brez zvoka.
|
||||||
STR_BASEMUSIC_WIN_DESCRIPTION :Originalna glasba Transport Tycoon Deluxe različice oken(windows).
|
STR_BASEMUSIC_WIN_DESCRIPTION :Originalna glasba Transport Tycoon Deluxe različice oken(windows).
|
||||||
|
STR_BASEMUSIC_DOS_DESCRIPTION :Originalna glasba Transport Tycoon Deluxe DOS različice
|
||||||
STR_BASEMUSIC_NONE_DESCRIPTION :Glasbeni paket z vključeno glasbo.
|
STR_BASEMUSIC_NONE_DESCRIPTION :Glasbeni paket z vključeno glasbo.
|
||||||
|
|
||||||
##id 0x2000
|
##id 0x2000
|
||||||
|
|||||||
@@ -191,6 +191,7 @@ STR_COLOUR_BROWN :Marrón
|
|||||||
STR_COLOUR_GREY :Gris
|
STR_COLOUR_GREY :Gris
|
||||||
STR_COLOUR_WHITE :Blanco
|
STR_COLOUR_WHITE :Blanco
|
||||||
STR_COLOUR_RANDOM :Aleatorio
|
STR_COLOUR_RANDOM :Aleatorio
|
||||||
|
STR_COLOUR_DEFAULT :Por Defecto
|
||||||
|
|
||||||
# Units used in OpenTTD
|
# Units used in OpenTTD
|
||||||
STR_UNITS_VELOCITY_IMPERIAL :{COMMA}{NBSP}mph
|
STR_UNITS_VELOCITY_IMPERIAL :{COMMA}{NBSP}mph
|
||||||
@@ -466,6 +467,7 @@ STR_TOOLBAR_SOUND_MUSIC :Sonido/música
|
|||||||
############ range for message menu starts
|
############ range for message menu starts
|
||||||
STR_NEWS_MENU_LAST_MESSAGE_NEWS_REPORT :Último mensaje/noticia
|
STR_NEWS_MENU_LAST_MESSAGE_NEWS_REPORT :Último mensaje/noticia
|
||||||
STR_NEWS_MENU_MESSAGE_HISTORY_MENU :Historial de mensajes
|
STR_NEWS_MENU_MESSAGE_HISTORY_MENU :Historial de mensajes
|
||||||
|
STR_NEWS_MENU_DELETE_ALL_MESSAGES :Borrar todos los mensajes
|
||||||
############ range ends here
|
############ range ends here
|
||||||
|
|
||||||
############ range for about menu starts
|
############ range for about menu starts
|
||||||
@@ -994,7 +996,12 @@ STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Normal
|
|||||||
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Tamaño doble
|
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Tamaño doble
|
||||||
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Tamaño cuádruple
|
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Tamaño cuádruple
|
||||||
|
|
||||||
|
STR_GAME_OPTIONS_FONT_ZOOM :{BLACK}Tamaño de letra
|
||||||
|
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Selecciona el tamaño de letra a utilizar en la interfaz
|
||||||
|
|
||||||
|
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Normal
|
||||||
|
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Tamaño doble
|
||||||
|
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :Tamaño cuádruple
|
||||||
|
|
||||||
STR_GAME_OPTIONS_BASE_GRF :{BLACK}Conjunto de gráficos base
|
STR_GAME_OPTIONS_BASE_GRF :{BLACK}Conjunto de gráficos base
|
||||||
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Selecciona el conjunto de gráficos base a usar
|
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Selecciona el conjunto de gráficos base a usar
|
||||||
@@ -1263,6 +1270,8 @@ STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}Cambiar
|
|||||||
STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :Mantenimiento de infraestructuras: {STRING}
|
STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :Mantenimiento de infraestructuras: {STRING}
|
||||||
STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :Cuando se activa, las infraestructuras tienen costes de mantenimiento. Los costes de la infraestructura aumentan con el tamaño de la red, con lo cual afectan a compañías grandes en mayor grado que a las pequeñas
|
STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :Cuando se activa, las infraestructuras tienen costes de mantenimiento. Los costes de la infraestructura aumentan con el tamaño de la red, con lo cual afectan a compañías grandes en mayor grado que a las pequeñas
|
||||||
|
|
||||||
|
STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR :Color inicial de la empresa: {STRING}
|
||||||
|
STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_HELPTEXT :Selecciona el color inicial de la empresa
|
||||||
|
|
||||||
STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS :Aeropuertos nunca caducan: {STRING}
|
STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS :Aeropuertos nunca caducan: {STRING}
|
||||||
STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS_HELPTEXT :Permite a todos los aeropuertos estar disponibles permanentemente una vez han sido introducidos
|
STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS_HELPTEXT :Permite a todos los aeropuertos estar disponibles permanentemente una vez han sido introducidos
|
||||||
@@ -1347,6 +1356,12 @@ STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_HELPTEXT :Color a usar pa
|
|||||||
STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_GREEN :Verde
|
STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_GREEN :Verde
|
||||||
STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_DARK_GREEN :Verde oscuro
|
STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_DARK_GREEN :Verde oscuro
|
||||||
STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_VIOLET :Violeta
|
STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_VIOLET :Violeta
|
||||||
|
STR_CONFIG_SETTING_SCROLLMODE :Desplazamiento de vista: {STRING}
|
||||||
|
STR_CONFIG_SETTING_SCROLLMODE_HELPTEXT :Comportamiento al desplazar el mapa
|
||||||
|
STR_CONFIG_SETTING_SCROLLMODE_DEFAULT :Desplazar la vista con clic derecho, ratón en posición fija
|
||||||
|
STR_CONFIG_SETTING_SCROLLMODE_RMB_LOCKED :Recorrer mapa con clic derecho, ratón en posición fija
|
||||||
|
STR_CONFIG_SETTING_SCROLLMODE_RMB :Mueve el mapa con el botón derecho del ratón
|
||||||
|
STR_CONFIG_SETTING_SCROLLMODE_LMB :Mueve el mapa con el botón izquierdo del ratón
|
||||||
STR_CONFIG_SETTING_SMOOTH_SCROLLING :Desplazamiento de vista suavizado: {STRING}
|
STR_CONFIG_SETTING_SMOOTH_SCROLLING :Desplazamiento de vista suavizado: {STRING}
|
||||||
STR_CONFIG_SETTING_SMOOTH_SCROLLING_HELPTEXT :Controla la forma en la que la vista principal se mueve a una posición específica como resultado de hacer click en el mapa o al enviar la orden de moverse a un objeto determinado del mapa. Si se activa, la vista se mueve de forma suave. Si se desactiva, la vista se mueve directamente al destino
|
STR_CONFIG_SETTING_SMOOTH_SCROLLING_HELPTEXT :Controla la forma en la que la vista principal se mueve a una posición específica como resultado de hacer click en el mapa o al enviar la orden de moverse a un objeto determinado del mapa. Si se activa, la vista se mueve de forma suave. Si se desactiva, la vista se mueve directamente al destino
|
||||||
STR_CONFIG_SETTING_MEASURE_TOOLTIP :Mostrar medidas usando las herramientas de construcción: {STRING}
|
STR_CONFIG_SETTING_MEASURE_TOOLTIP :Mostrar medidas usando las herramientas de construcción: {STRING}
|
||||||
@@ -1560,7 +1575,7 @@ STR_CONFIG_SETTING_TOWN_LAYOUT_3X3_GRID :rejilla 3x3
|
|||||||
STR_CONFIG_SETTING_TOWN_LAYOUT_RANDOM :Aleatorio
|
STR_CONFIG_SETTING_TOWN_LAYOUT_RANDOM :Aleatorio
|
||||||
STR_CONFIG_SETTING_ALLOW_TOWN_ROADS :Permitir que los municipios construyan carreteras: {STRING}
|
STR_CONFIG_SETTING_ALLOW_TOWN_ROADS :Permitir que los municipios construyan carreteras: {STRING}
|
||||||
STR_CONFIG_SETTING_ALLOW_TOWN_ROADS_HELPTEXT :Permite a los municipios construir carreteras para crecer. Si se deshabilita, las autoridades municipales no podrán construir ninguna carretera
|
STR_CONFIG_SETTING_ALLOW_TOWN_ROADS_HELPTEXT :Permite a los municipios construir carreteras para crecer. Si se deshabilita, las autoridades municipales no podrán construir ninguna carretera
|
||||||
STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS :Permitir a las ciudades construir pasos a nivel: {STRING}
|
STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS :Permitir a los municipios construir pasos a nivel: {STRING}
|
||||||
STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS_HELPTEXT :Permite a los municipios construir pasos a nivel
|
STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS_HELPTEXT :Permite a los municipios construir pasos a nivel
|
||||||
STR_CONFIG_SETTING_NOISE_LEVEL :Permitir al municipio controlar el nivel de ruido de los aeropuertos: {STRING}
|
STR_CONFIG_SETTING_NOISE_LEVEL :Permitir al municipio controlar el nivel de ruido de los aeropuertos: {STRING}
|
||||||
STR_CONFIG_SETTING_NOISE_LEVEL_HELPTEXT :Con esta opción desactivada, solamente puede haber dos aeropuertos por municipio. Si se activa, el número de aeropuertos en el municipio depende del nivel de aceptación de ruido del mismo, el cual depende de la población, del tamaño de los aeropuertos y de la distancia a la que estén
|
STR_CONFIG_SETTING_NOISE_LEVEL_HELPTEXT :Con esta opción desactivada, solamente puede haber dos aeropuertos por municipio. Si se activa, el número de aeropuertos en el municipio depende del nivel de aceptación de ruido del mismo, el cual depende de la población, del tamaño de los aeropuertos y de la distancia a la que estén
|
||||||
@@ -1606,7 +1621,7 @@ STR_CONFIG_SETTING_TOWN_GROWTH_NORMAL :Normal
|
|||||||
STR_CONFIG_SETTING_TOWN_GROWTH_FAST :Rápida
|
STR_CONFIG_SETTING_TOWN_GROWTH_FAST :Rápida
|
||||||
STR_CONFIG_SETTING_TOWN_GROWTH_VERY_FAST :Muy rápida
|
STR_CONFIG_SETTING_TOWN_GROWTH_VERY_FAST :Muy rápida
|
||||||
STR_CONFIG_SETTING_LARGER_TOWNS :Proporción de municipios que se convertirán en ciudades: {STRING}
|
STR_CONFIG_SETTING_LARGER_TOWNS :Proporción de municipios que se convertirán en ciudades: {STRING}
|
||||||
STR_CONFIG_SETTING_LARGER_TOWNS_HELPTEXT :Número de pueblos que se convertirán en ciudades. Las ciudades comienzan siendo más grandes y crecen más rápido
|
STR_CONFIG_SETTING_LARGER_TOWNS_HELPTEXT :Número de municipios que se convertirán en ciudades. Las ciudades comienzan siendo más grandes y crecen más rápido
|
||||||
STR_CONFIG_SETTING_LARGER_TOWNS_VALUE :1 de cada {COMMA}
|
STR_CONFIG_SETTING_LARGER_TOWNS_VALUE :1 de cada {COMMA}
|
||||||
STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :Ninguna
|
STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :Ninguna
|
||||||
STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Multiplicador inicial del tamaño de ciudad: {STRING}
|
STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Multiplicador inicial del tamaño de ciudad: {STRING}
|
||||||
@@ -2075,6 +2090,7 @@ STR_NETWORK_CONNECTION_DISCONNECT :{BLACK}Desconec
|
|||||||
|
|
||||||
STR_NETWORK_NEED_GAME_PASSWORD_CAPTION :{WHITE}Servidor protegido. Introduzca la contraseña
|
STR_NETWORK_NEED_GAME_PASSWORD_CAPTION :{WHITE}Servidor protegido. Introduzca la contraseña
|
||||||
STR_NETWORK_NEED_COMPANY_PASSWORD_CAPTION :{WHITE}Empresa protegida. Introduzca la contraseña
|
STR_NETWORK_NEED_COMPANY_PASSWORD_CAPTION :{WHITE}Empresa protegida. Introduzca la contraseña
|
||||||
|
STR_NETWORK_COMPANY_LIST_CLIENT_LIST_CAPTION :{WHITE}Lista de Clientes
|
||||||
|
|
||||||
# Network company list added strings
|
# Network company list added strings
|
||||||
STR_NETWORK_COMPANY_LIST_CLIENT_LIST :Lista de clientes
|
STR_NETWORK_COMPANY_LIST_CLIENT_LIST :Lista de clientes
|
||||||
@@ -2539,7 +2555,7 @@ STR_FOUND_TOWN_INITIAL_SIZE_LARGE_BUTTON :{BLACK}Grande
|
|||||||
STR_FOUND_TOWN_SIZE_RANDOM :{BLACK}Aleatorio
|
STR_FOUND_TOWN_SIZE_RANDOM :{BLACK}Aleatorio
|
||||||
STR_FOUND_TOWN_INITIAL_SIZE_TOOLTIP :{BLACK}Seleccione el tamaño del municipio
|
STR_FOUND_TOWN_INITIAL_SIZE_TOOLTIP :{BLACK}Seleccione el tamaño del municipio
|
||||||
STR_FOUND_TOWN_CITY :{BLACK}Ciudad
|
STR_FOUND_TOWN_CITY :{BLACK}Ciudad
|
||||||
STR_FOUND_TOWN_CITY_TOOLTIP :{BLACK}Las ciudades crecen más rápido que los pueblos{}Dependiendo de los ajustes, son mayores al ser fundadas
|
STR_FOUND_TOWN_CITY_TOOLTIP :{BLACK}Las ciudades crecen más rápido que los municipios{}Dependiendo de los ajustes, son mayores al ser fundadas
|
||||||
|
|
||||||
STR_FOUND_TOWN_ROAD_LAYOUT :{YELLOW}Patrón de carretera:
|
STR_FOUND_TOWN_ROAD_LAYOUT :{YELLOW}Patrón de carretera:
|
||||||
STR_FOUND_TOWN_SELECT_TOWN_ROAD_LAYOUT :{BLACK}Seleccionar patrón de carreteras para este municipio
|
STR_FOUND_TOWN_SELECT_TOWN_ROAD_LAYOUT :{BLACK}Seleccionar patrón de carreteras para este municipio
|
||||||
@@ -2701,7 +2717,13 @@ STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD
|
|||||||
|
|
||||||
# Framerate display window
|
# Framerate display window
|
||||||
STR_FRAMERATE_CAPTION :{WHITE}Fotogramas por segundo - FPS
|
STR_FRAMERATE_CAPTION :{WHITE}Fotogramas por segundo - FPS
|
||||||
|
STR_FRAMERATE_CAPTION_SMALL :{STRING}{WHITE} ({DECIMAL}x)
|
||||||
|
STR_FRAMERATE_RATE_GAMELOOP :{BLACK}Tasa de Simulación: {STRING}
|
||||||
|
STR_FRAMERATE_RATE_GAMELOOP_TOOLTIP :{BLACK}Número de ticks de juego simulados por segundo.
|
||||||
|
STR_FRAMERATE_RATE_BLITTER :{BLACK}FPS de gráficos: {STRING}
|
||||||
STR_FRAMERATE_RATE_BLITTER_TOOLTIP :{BLACK}Número de fotogramas renderizados por segundo.
|
STR_FRAMERATE_RATE_BLITTER_TOOLTIP :{BLACK}Número de fotogramas renderizados por segundo.
|
||||||
|
STR_FRAMERATE_SPEED_FACTOR :{BLACK}Factor de velocidad de juego actual: {DECIMAL}x
|
||||||
|
STR_FRAMERATE_SPEED_FACTOR_TOOLTIP :{BLACK}Rapidez actual del juego comparada con la esperada durante una simulación normal.
|
||||||
STR_FRAMERATE_CURRENT :{WHITE}Actual
|
STR_FRAMERATE_CURRENT :{WHITE}Actual
|
||||||
STR_FRAMERATE_AVERAGE :{WHITE}Medio
|
STR_FRAMERATE_AVERAGE :{WHITE}Medio
|
||||||
STR_FRAMERATE_DATA_POINTS :{BLACK}Datos basados en {COMMA} medidas
|
STR_FRAMERATE_DATA_POINTS :{BLACK}Datos basados en {COMMA} medidas
|
||||||
@@ -2714,21 +2736,38 @@ STR_FRAMERATE_FPS_BAD :{RED}{DECIMAL}
|
|||||||
STR_FRAMERATE_GRAPH_MILLISECONDS :{TINY_FONT}{COMMA} ms
|
STR_FRAMERATE_GRAPH_MILLISECONDS :{TINY_FONT}{COMMA} ms
|
||||||
STR_FRAMERATE_GRAPH_SECONDS :{TINY_FONT}{COMMA} s
|
STR_FRAMERATE_GRAPH_SECONDS :{TINY_FONT}{COMMA} s
|
||||||
############ Leave those lines in this order!!
|
############ Leave those lines in this order!!
|
||||||
|
STR_FRAMERATE_GAMELOOP :{BLACK}Bucles de juego totales:
|
||||||
|
STR_FRAMERATE_GL_ECONOMY :{BLACK} Manejo de cargamento
|
||||||
STR_FRAMERATE_GL_TRAINS :{BLACK} Ticks de trenes:
|
STR_FRAMERATE_GL_TRAINS :{BLACK} Ticks de trenes:
|
||||||
STR_FRAMERATE_GL_ROADVEHS :{BLACK} Ticks de vehículos de carretera:
|
STR_FRAMERATE_GL_ROADVEHS :{BLACK} Ticks de vehículos de carretera:
|
||||||
STR_FRAMERATE_GL_SHIPS :{BLACK} Ticks de barcos:
|
STR_FRAMERATE_GL_SHIPS :{BLACK} Ticks de barcos:
|
||||||
STR_FRAMERATE_GL_AIRCRAFT :{BLACK} Ticks de aeronaves:
|
STR_FRAMERATE_GL_AIRCRAFT :{BLACK} Ticks de aeronaves:
|
||||||
|
STR_FRAMERATE_GL_LANDSCAPE :{BLACK} Ticks de mapa:
|
||||||
|
STR_FRAMERATE_GL_LINKGRAPH :{BLACK} Retraso del gráfico de distribución:
|
||||||
STR_FRAMERATE_DRAWING :{BLACK}Renderizado gráfico:
|
STR_FRAMERATE_DRAWING :{BLACK}Renderizado gráfico:
|
||||||
|
STR_FRAMERATE_DRAWING_VIEWPORTS :{BLACK} Ventanas de vista generales:
|
||||||
STR_FRAMERATE_VIDEO :{BLACK}Salida de vídeo:
|
STR_FRAMERATE_VIDEO :{BLACK}Salida de vídeo:
|
||||||
STR_FRAMERATE_SOUND :{BLACK}Mezcla de sonido:
|
STR_FRAMERATE_SOUND :{BLACK}Mezcla de sonido:
|
||||||
|
STR_FRAMERATE_ALLSCRIPTS :{BLACK} Total de scripts:
|
||||||
|
STR_FRAMERATE_GAMESCRIPT :{BLACK} Script de juego:
|
||||||
|
STR_FRAMERATE_AI :{BLACK} IA {NUM} {STRING}
|
||||||
############ End of leave-in-this-order
|
############ End of leave-in-this-order
|
||||||
############ Leave those lines in this order!!
|
############ Leave those lines in this order!!
|
||||||
|
STR_FRAMETIME_CAPTION_GAMELOOP :Bucle de juego
|
||||||
|
STR_FRAMETIME_CAPTION_GL_ECONOMY :Manejo de cargamento
|
||||||
STR_FRAMETIME_CAPTION_GL_TRAINS :Ticks de trenes
|
STR_FRAMETIME_CAPTION_GL_TRAINS :Ticks de trenes
|
||||||
|
STR_FRAMETIME_CAPTION_GL_ROADVEHS :Ticks de vehículo de carretera
|
||||||
STR_FRAMETIME_CAPTION_GL_SHIPS :Ticks de barcos
|
STR_FRAMETIME_CAPTION_GL_SHIPS :Ticks de barcos
|
||||||
STR_FRAMETIME_CAPTION_GL_AIRCRAFT :Ticks de aeronaves
|
STR_FRAMETIME_CAPTION_GL_AIRCRAFT :Ticks de aeronaves
|
||||||
|
STR_FRAMETIME_CAPTION_GL_LANDSCAPE :Ticks de mapa
|
||||||
|
STR_FRAMETIME_CAPTION_GL_LINKGRAPH :Retraso del gráfico de distribución
|
||||||
STR_FRAMETIME_CAPTION_DRAWING :Renderizado gráfico
|
STR_FRAMETIME_CAPTION_DRAWING :Renderizado gráfico
|
||||||
|
STR_FRAMETIME_CAPTION_DRAWING_VIEWPORTS :Representación de la vista del Mundo
|
||||||
STR_FRAMETIME_CAPTION_VIDEO :Salida de vídeo
|
STR_FRAMETIME_CAPTION_VIDEO :Salida de vídeo
|
||||||
STR_FRAMETIME_CAPTION_SOUND :Mezcla de sonido
|
STR_FRAMETIME_CAPTION_SOUND :Mezcla de sonido
|
||||||
|
STR_FRAMETIME_CAPTION_ALLSCRIPTS :Scripts de juego e IA en total
|
||||||
|
STR_FRAMETIME_CAPTION_GAMESCRIPT :Script de juego
|
||||||
|
STR_FRAMETIME_CAPTION_AI :IA {NUM} {STRING}
|
||||||
############ End of leave-in-this-order
|
############ End of leave-in-this-order
|
||||||
|
|
||||||
|
|
||||||
@@ -2755,6 +2794,8 @@ STR_SAVELOAD_DETAIL_NOT_AVAILABLE :{BLACK}No hay i
|
|||||||
STR_SAVELOAD_DETAIL_COMPANY_INDEX :{SILVER}{COMMA}: {WHITE}{STRING}
|
STR_SAVELOAD_DETAIL_COMPANY_INDEX :{SILVER}{COMMA}: {WHITE}{STRING}
|
||||||
STR_SAVELOAD_DETAIL_GRFSTATUS :{SILVER}NewGRF: {WHITE}{STRING}
|
STR_SAVELOAD_DETAIL_GRFSTATUS :{SILVER}NewGRF: {WHITE}{STRING}
|
||||||
STR_SAVELOAD_FILTER_TITLE :{BLACK}Patrón de filtrado:
|
STR_SAVELOAD_FILTER_TITLE :{BLACK}Patrón de filtrado:
|
||||||
|
STR_SAVELOAD_OVERWRITE_TITLE :{WHITE}Sobrescribir Archivo
|
||||||
|
STR_SAVELOAD_OVERWRITE_WARNING :{YELLOW}¿Está seguro de querer sobrescribir el archivo existente?
|
||||||
|
|
||||||
STR_SAVELOAD_OSKTITLE :{BLACK}Introduce un nombre para el juego guardado
|
STR_SAVELOAD_OSKTITLE :{BLACK}Introduce un nombre para el juego guardado
|
||||||
|
|
||||||
@@ -2874,6 +2915,8 @@ STR_NEWGRF_SETTINGS_MD5SUM :{BLACK}MD5sum:
|
|||||||
STR_NEWGRF_SETTINGS_PALETTE :{BLACK}Paleta: {SILVER}{STRING}
|
STR_NEWGRF_SETTINGS_PALETTE :{BLACK}Paleta: {SILVER}{STRING}
|
||||||
STR_NEWGRF_SETTINGS_PALETTE_DEFAULT :Por Defecto (D)
|
STR_NEWGRF_SETTINGS_PALETTE_DEFAULT :Por Defecto (D)
|
||||||
STR_NEWGRF_SETTINGS_PALETTE_DEFAULT_32BPP :Por Defecto (D) / 32 bpp
|
STR_NEWGRF_SETTINGS_PALETTE_DEFAULT_32BPP :Por Defecto (D) / 32 bpp
|
||||||
|
STR_NEWGRF_SETTINGS_PALETTE_LEGACY :Viejo (W)
|
||||||
|
STR_NEWGRF_SETTINGS_PALETTE_LEGACY_32BPP :Viejo (W) / 32 bpp
|
||||||
STR_NEWGRF_SETTINGS_PARAMETER :{BLACK}Parámetros: {SILVER}{STRING}
|
STR_NEWGRF_SETTINGS_PARAMETER :{BLACK}Parámetros: {SILVER}{STRING}
|
||||||
STR_NEWGRF_SETTINGS_PARAMETER_NONE :Ninguno
|
STR_NEWGRF_SETTINGS_PARAMETER_NONE :Ninguno
|
||||||
|
|
||||||
@@ -2957,6 +3000,7 @@ STR_NEWGRF_ERROR_GRM_FAILED :Recursos GRF so
|
|||||||
STR_NEWGRF_ERROR_FORCEFULLY_DISABLED :{1:STRING} fue desactivado por {STRING}
|
STR_NEWGRF_ERROR_FORCEFULLY_DISABLED :{1:STRING} fue desactivado por {STRING}
|
||||||
STR_NEWGRF_ERROR_INVALID_SPRITE_LAYOUT :Formato de colocación de sprites inválido o desconocido (sprite {3:NUM})
|
STR_NEWGRF_ERROR_INVALID_SPRITE_LAYOUT :Formato de colocación de sprites inválido o desconocido (sprite {3:NUM})
|
||||||
STR_NEWGRF_ERROR_LIST_PROPERTY_TOO_LONG :Demasiados elementos en la lista de valores de propiedad (sprite {3:NUM}, propiedad {4:HEX})
|
STR_NEWGRF_ERROR_LIST_PROPERTY_TOO_LONG :Demasiados elementos en la lista de valores de propiedad (sprite {3:NUM}, propiedad {4:HEX})
|
||||||
|
STR_NEWGRF_ERROR_INDPROD_CALLBACK :Llamada de producción de industria no válida (sprite {3:NUM}, "{2:STRING}")
|
||||||
|
|
||||||
# NewGRF related 'general' warnings
|
# NewGRF related 'general' warnings
|
||||||
STR_NEWGRF_POPUP_CAUTION_CAPTION :{WHITE}¡Precaución!
|
STR_NEWGRF_POPUP_CAUTION_CAPTION :{WHITE}¡Precaución!
|
||||||
@@ -2988,6 +3032,7 @@ STR_NEWGRF_BUGGY :{WHITE}El NewGR
|
|||||||
STR_NEWGRF_BUGGY_ARTICULATED_CARGO :{WHITE}La información de carga/reforma para '{1:ENGINE}' difiere de la de lista de compra después de la construcción. Esto puede causar que la renovación/reemplazo automático no haga la reforma correcta
|
STR_NEWGRF_BUGGY_ARTICULATED_CARGO :{WHITE}La información de carga/reforma para '{1:ENGINE}' difiere de la de lista de compra después de la construcción. Esto puede causar que la renovación/reemplazo automático no haga la reforma correcta
|
||||||
STR_NEWGRF_BUGGY_ENDLESS_PRODUCTION_CALLBACK :{WHITE}'{1:STRING}' ha causado un bucle sin fin en la 'callback' de producción
|
STR_NEWGRF_BUGGY_ENDLESS_PRODUCTION_CALLBACK :{WHITE}'{1:STRING}' ha causado un bucle sin fin en la 'callback' de producción
|
||||||
STR_NEWGRF_BUGGY_UNKNOWN_CALLBACK_RESULT :{WHITE}'Callback' {1:HEX} devolvió el resultado desconocido o inválido {2:HEX}
|
STR_NEWGRF_BUGGY_UNKNOWN_CALLBACK_RESULT :{WHITE}'Callback' {1:HEX} devolvió el resultado desconocido o inválido {2:HEX}
|
||||||
|
STR_NEWGRF_BUGGY_INVALID_CARGO_PRODUCTION_CALLBACK :{WHITE}'{1:STRING}' ha retornado tipo de carga inválida en el 'callback' de producción en {2:HEX}
|
||||||
|
|
||||||
# 'User removed essential NewGRFs'-placeholders for stuff without specs
|
# 'User removed essential NewGRFs'-placeholders for stuff without specs
|
||||||
STR_NEWGRF_INVALID_CARGO :<carga incorrecta>
|
STR_NEWGRF_INVALID_CARGO :<carga incorrecta>
|
||||||
@@ -3082,6 +3127,7 @@ STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW}Soborna
|
|||||||
# Goal window
|
# Goal window
|
||||||
STR_GOALS_CAPTION :{WHITE}Metas de {COMPANY}
|
STR_GOALS_CAPTION :{WHITE}Metas de {COMPANY}
|
||||||
STR_GOALS_SPECTATOR_CAPTION :{WHITE}Metas Globales
|
STR_GOALS_SPECTATOR_CAPTION :{WHITE}Metas Globales
|
||||||
|
STR_GOALS_SPECTATOR :Metas Globales
|
||||||
STR_GOALS_GLOBAL_TITLE :{BLACK}Metas globales:
|
STR_GOALS_GLOBAL_TITLE :{BLACK}Metas globales:
|
||||||
STR_GOALS_TEXT :{ORANGE}{STRING}
|
STR_GOALS_TEXT :{ORANGE}{STRING}
|
||||||
STR_GOALS_NONE :{ORANGE}- Ninguna -
|
STR_GOALS_NONE :{ORANGE}- Ninguna -
|
||||||
@@ -3130,6 +3176,7 @@ STR_SUBSIDIES_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Click so
|
|||||||
# Story book window
|
# Story book window
|
||||||
STR_STORY_BOOK_CAPTION :{WHITE}Historial de {COMPANY}
|
STR_STORY_BOOK_CAPTION :{WHITE}Historial de {COMPANY}
|
||||||
STR_STORY_BOOK_SPECTATOR_CAPTION :{WHITE}Historial Global
|
STR_STORY_BOOK_SPECTATOR_CAPTION :{WHITE}Historial Global
|
||||||
|
STR_STORY_BOOK_SPECTATOR :Historial Global
|
||||||
STR_STORY_BOOK_TITLE :{YELLOW}{STRING}
|
STR_STORY_BOOK_TITLE :{YELLOW}{STRING}
|
||||||
STR_STORY_BOOK_GENERIC_PAGE_ITEM :Página {NUM}
|
STR_STORY_BOOK_GENERIC_PAGE_ITEM :Página {NUM}
|
||||||
STR_STORY_BOOK_SEL_PAGE_TOOLTIP :{BLACK}Permite saltar a una página específica al seleccionarla en esta lista desplegable
|
STR_STORY_BOOK_SEL_PAGE_TOOLTIP :{BLACK}Permite saltar a una página específica al seleccionarla en esta lista desplegable
|
||||||
@@ -3336,6 +3383,7 @@ STR_INDUSTRY_VIEW_INDUSTRY_ANNOUNCED_CLOSURE :{YELLOW}La indu
|
|||||||
|
|
||||||
STR_INDUSTRY_VIEW_REQUIRES_N_CARGO :{BLACK}Requiere: {YELLOW}{STRING}{STRING}
|
STR_INDUSTRY_VIEW_REQUIRES_N_CARGO :{BLACK}Requiere: {YELLOW}{STRING}{STRING}
|
||||||
STR_INDUSTRY_VIEW_PRODUCES_N_CARGO :{BLACK}Produce: {YELLOW}{STRING}{STRING}
|
STR_INDUSTRY_VIEW_PRODUCES_N_CARGO :{BLACK}Produce: {YELLOW}{STRING}{STRING}
|
||||||
|
STR_INDUSTRY_VIEW_CARGO_LIST_EXTENSION :, {STRING}{STRING}
|
||||||
|
|
||||||
STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Necesita:
|
STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Necesita:
|
||||||
STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING}{BLACK}{3:STRING}
|
STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING}{BLACK}{3:STRING}
|
||||||
@@ -3393,6 +3441,7 @@ STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Grupos -
|
|||||||
STR_GROUP_CREATE_TOOLTIP :{BLACK}Click para crear un grupo
|
STR_GROUP_CREATE_TOOLTIP :{BLACK}Click para crear un grupo
|
||||||
STR_GROUP_DELETE_TOOLTIP :{BLACK}Borrar el grupo seleccionado
|
STR_GROUP_DELETE_TOOLTIP :{BLACK}Borrar el grupo seleccionado
|
||||||
STR_GROUP_RENAME_TOOLTIP :{BLACK}Renombrar el grupo seleccionado
|
STR_GROUP_RENAME_TOOLTIP :{BLACK}Renombrar el grupo seleccionado
|
||||||
|
STR_GROUP_LIVERY_TOOLTIP :{BLACK}Cambiar el color del grupo seleccionado
|
||||||
STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Click para proteger este grupo del auto reemplazado global
|
STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Click para proteger este grupo del auto reemplazado global
|
||||||
|
|
||||||
STR_QUERY_GROUP_DELETE_CAPTION :{WHITE}Borrar Grupo
|
STR_QUERY_GROUP_DELETE_CAPTION :{WHITE}Borrar Grupo
|
||||||
@@ -3436,6 +3485,7 @@ STR_PURCHASE_INFO_AIRCRAFT_CAPACITY :{BLACK}Capacida
|
|||||||
STR_PURCHASE_INFO_PWAGPOWER_PWAGWEIGHT :{BLACK}Vagones con motor: {GOLD}+{POWER}{BLACK} Peso: {GOLD}+{WEIGHT_SHORT}
|
STR_PURCHASE_INFO_PWAGPOWER_PWAGWEIGHT :{BLACK}Vagones con motor: {GOLD}+{POWER}{BLACK} Peso: {GOLD}+{WEIGHT_SHORT}
|
||||||
STR_PURCHASE_INFO_REFITTABLE_TO :{BLACK}Reformable a: {GOLD}{STRING}
|
STR_PURCHASE_INFO_REFITTABLE_TO :{BLACK}Reformable a: {GOLD}{STRING}
|
||||||
STR_PURCHASE_INFO_ALL_TYPES :Todos los tipos de carga
|
STR_PURCHASE_INFO_ALL_TYPES :Todos los tipos de carga
|
||||||
|
STR_PURCHASE_INFO_NONE :Sin carga
|
||||||
STR_PURCHASE_INFO_ALL_BUT :Todo excepto {CARGO_LIST}
|
STR_PURCHASE_INFO_ALL_BUT :Todo excepto {CARGO_LIST}
|
||||||
STR_PURCHASE_INFO_MAX_TE :{BLACK}F.T máxima: {GOLD}{FORCE}
|
STR_PURCHASE_INFO_MAX_TE :{BLACK}F.T máxima: {GOLD}{FORCE}
|
||||||
STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Alcance: {GOLD}{COMMA} casillas
|
STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Alcance: {GOLD}{COMMA} casillas
|
||||||
@@ -4268,7 +4318,6 @@ STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD :{WHITE}... esta
|
|||||||
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... carretera en la dirección incorrecta
|
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... carretera en la dirección incorrecta
|
||||||
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... las estaciones de autobús de paso no pueden tener esquinas
|
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... las estaciones de autobús de paso no pueden tener esquinas
|
||||||
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... las estaciones de autobús de paso no pueden tener intersecciones
|
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... las estaciones de autobús de paso no pueden tener intersecciones
|
||||||
STR_ERROR_DRIVE_THROUGH_ON_ONEWAY_ROAD :{WHITE}... carretera de un solo sentido o bloqueada
|
|
||||||
|
|
||||||
# Station destruction related errors
|
# Station destruction related errors
|
||||||
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}No se puede retirar parte de la estación...
|
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}No se puede retirar parte de la estación...
|
||||||
|
|||||||
@@ -4318,7 +4318,6 @@ STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD :{WHITE}... esta
|
|||||||
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... carretera en el sentido incorrecto
|
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... carretera en el sentido incorrecto
|
||||||
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... las estaciones y paradas intermedias no pueden ponerse sobre esquinas
|
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... las estaciones y paradas intermedias no pueden ponerse sobre esquinas
|
||||||
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... las estaciones y paradas intermedias no pueden ponerse sobre intersecciones
|
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... las estaciones y paradas intermedias no pueden ponerse sobre intersecciones
|
||||||
STR_ERROR_DRIVE_THROUGH_ON_ONEWAY_ROAD :{WHITE}... la carretera está bloqueada o es de un solo sentido
|
|
||||||
|
|
||||||
# Station destruction related errors
|
# Station destruction related errors
|
||||||
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}No se puede quitar parte de la estación...
|
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}No se puede quitar parte de la estación...
|
||||||
|
|||||||
@@ -466,6 +466,7 @@ STR_TOOLBAR_SOUND_MUSIC :Ljud/musik
|
|||||||
############ range for message menu starts
|
############ range for message menu starts
|
||||||
STR_NEWS_MENU_LAST_MESSAGE_NEWS_REPORT :Senaste meddelandet/nyheten
|
STR_NEWS_MENU_LAST_MESSAGE_NEWS_REPORT :Senaste meddelandet/nyheten
|
||||||
STR_NEWS_MENU_MESSAGE_HISTORY_MENU :Meddelandehistorik
|
STR_NEWS_MENU_MESSAGE_HISTORY_MENU :Meddelandehistorik
|
||||||
|
STR_NEWS_MENU_DELETE_ALL_MESSAGES :Ta bort alla meddelanden
|
||||||
############ range ends here
|
############ range ends here
|
||||||
|
|
||||||
############ range for about menu starts
|
############ range for about menu starts
|
||||||
@@ -988,13 +989,18 @@ STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}Välj vi
|
|||||||
STR_GAME_OPTIONS_RESOLUTION_OTHER :annan
|
STR_GAME_OPTIONS_RESOLUTION_OTHER :annan
|
||||||
|
|
||||||
STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Gränssnittstorlek
|
STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Gränssnittstorlek
|
||||||
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Välj vilken gränssnittsstorlek som används
|
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Välj vilken gränssnittsstorlek som ska användas
|
||||||
|
|
||||||
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Normal
|
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Normal
|
||||||
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Dubbel storlek
|
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Dubbel storlek
|
||||||
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Fyrdubbel storlek
|
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Fyrdubbel storlek
|
||||||
|
|
||||||
|
STR_GAME_OPTIONS_FONT_ZOOM :{BLACK}Storlek på typsnitt
|
||||||
|
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Välj vilken storlek som ska användas på gränssnittets typsnitt
|
||||||
|
|
||||||
|
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Normal
|
||||||
|
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Dubbel storlek
|
||||||
|
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :Kvadrupel storlek
|
||||||
|
|
||||||
STR_GAME_OPTIONS_BASE_GRF :{BLACK}Grafikpaket som standard
|
STR_GAME_OPTIONS_BASE_GRF :{BLACK}Grafikpaket som standard
|
||||||
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Välj vilket grafikpaket som ska användas som standard
|
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Välj vilket grafikpaket som ska användas som standard
|
||||||
@@ -2083,6 +2089,7 @@ STR_NETWORK_CONNECTION_DISCONNECT :{BLACK}Koppla i
|
|||||||
|
|
||||||
STR_NETWORK_NEED_GAME_PASSWORD_CAPTION :{WHITE}Servern är skyddad. Ange lösenord
|
STR_NETWORK_NEED_GAME_PASSWORD_CAPTION :{WHITE}Servern är skyddad. Ange lösenord
|
||||||
STR_NETWORK_NEED_COMPANY_PASSWORD_CAPTION :{WHITE}Företaget är skyddat. Ange lösenord
|
STR_NETWORK_NEED_COMPANY_PASSWORD_CAPTION :{WHITE}Företaget är skyddat. Ange lösenord
|
||||||
|
STR_NETWORK_COMPANY_LIST_CLIENT_LIST_CAPTION :{WHITE}Klientlista
|
||||||
|
|
||||||
# Network company list added strings
|
# Network company list added strings
|
||||||
STR_NETWORK_COMPANY_LIST_CLIENT_LIST :Klientlista
|
STR_NETWORK_COMPANY_LIST_CLIENT_LIST :Klientlista
|
||||||
@@ -2740,6 +2747,9 @@ STR_FRAMERATE_DRAWING :{BLACK}Grafikå
|
|||||||
STR_FRAMERATE_DRAWING_VIEWPORTS :{BLACK} Vyfönster:
|
STR_FRAMERATE_DRAWING_VIEWPORTS :{BLACK} Vyfönster:
|
||||||
STR_FRAMERATE_VIDEO :{BLACK}Videoutmatning:
|
STR_FRAMERATE_VIDEO :{BLACK}Videoutmatning:
|
||||||
STR_FRAMERATE_SOUND :{BLACK}Ljudmixning:
|
STR_FRAMERATE_SOUND :{BLACK}Ljudmixning:
|
||||||
|
STR_FRAMERATE_ALLSCRIPTS :{BLACK} GS/AI totalt:
|
||||||
|
STR_FRAMERATE_GAMESCRIPT :{BLACK} Spelskript:
|
||||||
|
STR_FRAMERATE_AI :{BLACK} AI {NUM} {STRING}
|
||||||
############ End of leave-in-this-order
|
############ End of leave-in-this-order
|
||||||
############ Leave those lines in this order!!
|
############ Leave those lines in this order!!
|
||||||
STR_FRAMETIME_CAPTION_GAMELOOP :Spel-loop
|
STR_FRAMETIME_CAPTION_GAMELOOP :Spel-loop
|
||||||
@@ -2754,6 +2764,9 @@ STR_FRAMETIME_CAPTION_DRAWING :Grafikåtergivn
|
|||||||
STR_FRAMETIME_CAPTION_DRAWING_VIEWPORTS :Återgivning av vyer
|
STR_FRAMETIME_CAPTION_DRAWING_VIEWPORTS :Återgivning av vyer
|
||||||
STR_FRAMETIME_CAPTION_VIDEO :Videoutmatning
|
STR_FRAMETIME_CAPTION_VIDEO :Videoutmatning
|
||||||
STR_FRAMETIME_CAPTION_SOUND :Ljudmixning
|
STR_FRAMETIME_CAPTION_SOUND :Ljudmixning
|
||||||
|
STR_FRAMETIME_CAPTION_ALLSCRIPTS :GS/AI skripts totalt
|
||||||
|
STR_FRAMETIME_CAPTION_GAMESCRIPT :Spelskript
|
||||||
|
STR_FRAMETIME_CAPTION_AI :AI {NUM} {STRING}
|
||||||
############ End of leave-in-this-order
|
############ End of leave-in-this-order
|
||||||
|
|
||||||
|
|
||||||
@@ -3018,6 +3031,7 @@ STR_NEWGRF_BUGGY :{WHITE}NewGRF '
|
|||||||
STR_NEWGRF_BUGGY_ARTICULATED_CARGO :{WHITE}Last/återställnings information för '{1:ENGINE}' är skilld ifrån köp lista efter konstruktion. Detta kan leda till att utomatisk förnyelse/uppgradering misslyckas med att anpassa fordonen/vagnarna korrekt
|
STR_NEWGRF_BUGGY_ARTICULATED_CARGO :{WHITE}Last/återställnings information för '{1:ENGINE}' är skilld ifrån köp lista efter konstruktion. Detta kan leda till att utomatisk förnyelse/uppgradering misslyckas med att anpassa fordonen/vagnarna korrekt
|
||||||
STR_NEWGRF_BUGGY_ENDLESS_PRODUCTION_CALLBACK :{WHITE}'{1:STRING}' skapade en oändlig loop i en produktions-callback-funktion
|
STR_NEWGRF_BUGGY_ENDLESS_PRODUCTION_CALLBACK :{WHITE}'{1:STRING}' skapade en oändlig loop i en produktions-callback-funktion
|
||||||
STR_NEWGRF_BUGGY_UNKNOWN_CALLBACK_RESULT :{WHITE}Callback-funktion {1:HEX} returnerade ett okänt/ogiltligt resultat {2:HEX}
|
STR_NEWGRF_BUGGY_UNKNOWN_CALLBACK_RESULT :{WHITE}Callback-funktion {1:HEX} returnerade ett okänt/ogiltligt resultat {2:HEX}
|
||||||
|
STR_NEWGRF_BUGGY_INVALID_CARGO_PRODUCTION_CALLBACK :{WHITE}'{1:STRING}' returnerade ogiltig lasttyp i produktions-callback vid {2:HEX}
|
||||||
|
|
||||||
# 'User removed essential NewGRFs'-placeholders for stuff without specs
|
# 'User removed essential NewGRFs'-placeholders for stuff without specs
|
||||||
STR_NEWGRF_INVALID_CARGO :<invalid cargo>
|
STR_NEWGRF_INVALID_CARGO :<invalid cargo>
|
||||||
@@ -3112,6 +3126,7 @@ STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW} Muta d
|
|||||||
# Goal window
|
# Goal window
|
||||||
STR_GOALS_CAPTION :{WHITE}{COMPANY} Mål
|
STR_GOALS_CAPTION :{WHITE}{COMPANY} Mål
|
||||||
STR_GOALS_SPECTATOR_CAPTION :{WHITE}Globala mål
|
STR_GOALS_SPECTATOR_CAPTION :{WHITE}Globala mål
|
||||||
|
STR_GOALS_SPECTATOR :Globala mål
|
||||||
STR_GOALS_GLOBAL_TITLE :{BLACK}Globala mål:
|
STR_GOALS_GLOBAL_TITLE :{BLACK}Globala mål:
|
||||||
STR_GOALS_TEXT :{ORANGE}{STRING}
|
STR_GOALS_TEXT :{ORANGE}{STRING}
|
||||||
STR_GOALS_NONE :{ORANGE}- Inga -
|
STR_GOALS_NONE :{ORANGE}- Inga -
|
||||||
@@ -3160,6 +3175,7 @@ STR_SUBSIDIES_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Klicka f
|
|||||||
# Story book window
|
# Story book window
|
||||||
STR_STORY_BOOK_CAPTION :{WHITE}{COMPANY} berättelsebok
|
STR_STORY_BOOK_CAPTION :{WHITE}{COMPANY} berättelsebok
|
||||||
STR_STORY_BOOK_SPECTATOR_CAPTION :{WHITE}Global berättelsebok
|
STR_STORY_BOOK_SPECTATOR_CAPTION :{WHITE}Global berättelsebok
|
||||||
|
STR_STORY_BOOK_SPECTATOR :Global berättelsebok
|
||||||
STR_STORY_BOOK_TITLE :{YELLOW}{STRING}
|
STR_STORY_BOOK_TITLE :{YELLOW}{STRING}
|
||||||
STR_STORY_BOOK_GENERIC_PAGE_ITEM :Sida {NUM}
|
STR_STORY_BOOK_GENERIC_PAGE_ITEM :Sida {NUM}
|
||||||
STR_STORY_BOOK_SEL_PAGE_TOOLTIP :{BLACK}Hoppa till valfri sida genom att välja sidan i denna lista
|
STR_STORY_BOOK_SEL_PAGE_TOOLTIP :{BLACK}Hoppa till valfri sida genom att välja sidan i denna lista
|
||||||
@@ -3790,7 +3806,7 @@ STR_VEHICLE_DETAILS_TRAIN_ARTICULATED_RV_CAPACITY :{BLACK}Kapacite
|
|||||||
# Vehicle refit
|
# Vehicle refit
|
||||||
STR_REFIT_CAPTION :{WHITE}{VEHICLE} (Anpassa)
|
STR_REFIT_CAPTION :{WHITE}{VEHICLE} (Anpassa)
|
||||||
STR_REFIT_TITLE :{GOLD}Välj godstyp att frakta:
|
STR_REFIT_TITLE :{GOLD}Välj godstyp att frakta:
|
||||||
STR_REFIT_NEW_CAPACITY_COST_OF_REFIT :{BLACK}Ny kapacitet: {GOLD}{CARGO_LONG}{}{BLACK}Anpassningens kostnad: {RED}{CURRENCY_LONG}
|
STR_REFIT_NEW_CAPACITY_COST_OF_REFIT :{BLACK}Ny kapacitet: {GOLD}{CARGO_LONG}{}{BLACK}Kostnad för anpassning: {RED}{CURRENCY_LONG}
|
||||||
STR_REFIT_NEW_CAPACITY_INCOME_FROM_REFIT :{BLACK}Ny kapacitet: {GOLD}{CARGO_LONG}{}{BLACK}Inkomstens vinst: {GREEN}{CURRENCY_LONG}
|
STR_REFIT_NEW_CAPACITY_INCOME_FROM_REFIT :{BLACK}Ny kapacitet: {GOLD}{CARGO_LONG}{}{BLACK}Inkomstens vinst: {GREEN}{CURRENCY_LONG}
|
||||||
STR_REFIT_NEW_CAPACITY_COST_OF_AIRCRAFT_REFIT :{BLACK}Ny kapacitet: {GOLD}{CARGO_LONG}, {GOLD}{CARGO_LONG}{}{BLACK}Kostnad för anpassning: {RED}{CURRENCY_LONG}
|
STR_REFIT_NEW_CAPACITY_COST_OF_AIRCRAFT_REFIT :{BLACK}Ny kapacitet: {GOLD}{CARGO_LONG}, {GOLD}{CARGO_LONG}{}{BLACK}Kostnad för anpassning: {RED}{CURRENCY_LONG}
|
||||||
STR_REFIT_NEW_CAPACITY_INCOME_FROM_AIRCRAFT_REFIT :{BLACK}Ny kapacitet: {GOLD}{CARGO_LONG}. {GOLD}{CARGO_LONG}{}{BLACK}Inkomstens vinst: {GREEN}{CURRENCY_LONG}
|
STR_REFIT_NEW_CAPACITY_INCOME_FROM_AIRCRAFT_REFIT :{BLACK}Ny kapacitet: {GOLD}{CARGO_LONG}. {GOLD}{CARGO_LONG}{}{BLACK}Inkomstens vinst: {GREEN}{CURRENCY_LONG}
|
||||||
@@ -4301,7 +4317,6 @@ STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD :{WHITE}... dett
|
|||||||
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... vägen pekar i fel riktning
|
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... vägen pekar i fel riktning
|
||||||
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... genomfartshållplatser kan inte ha gatuhörn
|
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... genomfartshållplatser kan inte ha gatuhörn
|
||||||
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... genomfartshållplatser kan inte ha korsningar
|
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... genomfartshållplatser kan inte ha korsningar
|
||||||
STR_ERROR_DRIVE_THROUGH_ON_ONEWAY_ROAD :{WHITE}... vägen är enkelriktad eller blockerad
|
|
||||||
|
|
||||||
# Station destruction related errors
|
# Station destruction related errors
|
||||||
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Kan ej ta bort del av station...
|
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Kan ej ta bort del av station...
|
||||||
|
|||||||
@@ -4310,7 +4310,6 @@ STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD :{WHITE}... bu y
|
|||||||
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... yol yanlış yönde
|
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... yol yanlış yönde
|
||||||
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... yol üstü duraklar köşe üzerine inşa edilemez
|
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... yol üstü duraklar köşe üzerine inşa edilemez
|
||||||
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... yol üstü duraklar kavşak üzerine inşa edilemez
|
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... yol üstü duraklar kavşak üzerine inşa edilemez
|
||||||
STR_ERROR_DRIVE_THROUGH_ON_ONEWAY_ROAD :{WHITE}... yol tek yön ya da engellenmiş
|
|
||||||
|
|
||||||
# Station destruction related errors
|
# Station destruction related errors
|
||||||
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}İstasyonun parçasi kaldırılamaz...
|
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}İstasyonun parçasi kaldırılamaz...
|
||||||
|
|||||||
@@ -567,7 +567,7 @@ STR_RAIL_MENU_MAGLEV_CONSTRUCTION :Будівни
|
|||||||
|
|
||||||
############ range for road construction menu starts
|
############ range for road construction menu starts
|
||||||
STR_ROAD_MENU_ROAD_CONSTRUCTION :Будівництво автомобільних доріг
|
STR_ROAD_MENU_ROAD_CONSTRUCTION :Будівництво автомобільних доріг
|
||||||
STR_ROAD_MENU_TRAM_CONSTRUCTION :Будівництво трамвайних доріг
|
STR_ROAD_MENU_TRAM_CONSTRUCTION :Будівництво трамвайних колій
|
||||||
############ range ends here
|
############ range ends here
|
||||||
|
|
||||||
############ range for waterways construction menu starts
|
############ range for waterways construction menu starts
|
||||||
@@ -2543,7 +2543,7 @@ STR_BRIDGE_TUBULAR_SILICON :Трубчас
|
|||||||
|
|
||||||
# Road construction toolbar
|
# Road construction toolbar
|
||||||
STR_ROAD_TOOLBAR_ROAD_CONSTRUCTION_CAPTION :{WHITE}Автомобільне будівництво
|
STR_ROAD_TOOLBAR_ROAD_CONSTRUCTION_CAPTION :{WHITE}Автомобільне будівництво
|
||||||
STR_ROAD_TOOLBAR_TRAM_CONSTRUCTION_CAPTION :{WHITE}Трамвайне будівництво
|
STR_ROAD_TOOLBAR_TRAM_CONSTRUCTION_CAPTION :{WHITE}Будівництво трамвайних колій
|
||||||
STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_SECTION :{BLACK}Будувати дорогу. Ctrl переключає побудову/знесення для будівництва доріг. Утримуйте Shift для показу витрат
|
STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_SECTION :{BLACK}Будувати дорогу. Ctrl переключає побудову/знесення для будівництва доріг. Утримуйте Shift для показу витрат
|
||||||
STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_SECTION :{BLACK}Будувати трамвайну колію. Ctrl переключає побудову/знесення для будівництва трамвайної колії. Утримуйте Shift для показу витрат на будівництво
|
STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_SECTION :{BLACK}Будувати трамвайну колію. Ctrl переключає побудову/знесення для будівництва трамвайної колії. Утримуйте Shift для показу витрат на будівництво
|
||||||
STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOROAD :{BLACK}Будувати дорогу в режимі Автобудування. Ctrl переключає побудову/знесення для будівництва доріг. Утримуйте Shift для показу витрат на будівництво
|
STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOROAD :{BLACK}Будувати дорогу в режимі Автобудування. Ctrl переключає побудову/знесення для будівництва доріг. Утримуйте Shift для показу витрат на будівництво
|
||||||
@@ -4446,7 +4446,6 @@ STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD :{WHITE}... ця
|
|||||||
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... дорога не в тому напрямку
|
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... дорога не в тому напрямку
|
||||||
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... проїзні зупинки не можуть мати поворотів
|
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... проїзні зупинки не можуть мати поворотів
|
||||||
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... проїзні зупинки не можуть мати перехресть
|
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... проїзні зупинки не можуть мати перехресть
|
||||||
STR_ERROR_DRIVE_THROUGH_ON_ONEWAY_ROAD :{WHITE}... дорога одностороння або заблокована
|
|
||||||
|
|
||||||
# Station destruction related errors
|
# Station destruction related errors
|
||||||
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Не можна зруйнувати частину станції...
|
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Не можна зруйнувати частину станції...
|
||||||
@@ -4462,7 +4461,7 @@ STR_ERROR_MUST_DEMOLISH_RAILROAD :{WHITE}Споч
|
|||||||
STR_ERROR_MUST_DEMOLISH_BUS_STATION_FIRST :{WHITE}Спочатку зруйнуйте зупинку
|
STR_ERROR_MUST_DEMOLISH_BUS_STATION_FIRST :{WHITE}Спочатку зруйнуйте зупинку
|
||||||
STR_ERROR_MUST_DEMOLISH_TRUCK_STATION_FIRST :{WHITE}Спочатку зруйнуйте вантажну станцію
|
STR_ERROR_MUST_DEMOLISH_TRUCK_STATION_FIRST :{WHITE}Спочатку зруйнуйте вантажну станцію
|
||||||
STR_ERROR_MUST_DEMOLISH_PASSENGER_TRAM_STATION_FIRST :{WHITE}Спочатку треба знести пасажирську трамвайну станцію
|
STR_ERROR_MUST_DEMOLISH_PASSENGER_TRAM_STATION_FIRST :{WHITE}Спочатку треба знести пасажирську трамвайну станцію
|
||||||
STR_ERROR_MUST_DEMOLISH_CARGO_TRAM_STATION_FIRST :{WHITE}Спочатку треба знести вантажну трамвайну станцію
|
STR_ERROR_MUST_DEMOLISH_CARGO_TRAM_STATION_FIRST :{WHITE}Спочатку зруйнуйте товарну трамвайну станцію
|
||||||
STR_ERROR_MUST_DEMOLISH_DOCK_FIRST :{WHITE}Спочатку зруйнуйте порт
|
STR_ERROR_MUST_DEMOLISH_DOCK_FIRST :{WHITE}Спочатку зруйнуйте порт
|
||||||
STR_ERROR_MUST_DEMOLISH_AIRPORT_FIRST :{WHITE}Спочатку зруйнуйте аеропорт
|
STR_ERROR_MUST_DEMOLISH_AIRPORT_FIRST :{WHITE}Спочатку зруйнуйте аеропорт
|
||||||
|
|
||||||
|
|||||||
@@ -4279,7 +4279,6 @@ STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD :{WHITE}... đâ
|
|||||||
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... đường quay mặt sai hướng
|
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... đường quay mặt sai hướng
|
||||||
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... đi qua điểm dừng không thể đi qua góc
|
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... đi qua điểm dừng không thể đi qua góc
|
||||||
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... đi qua điểm dừng không thể có ngã rẽ
|
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... đi qua điểm dừng không thể có ngã rẽ
|
||||||
STR_ERROR_DRIVE_THROUGH_ON_ONEWAY_ROAD :{WHITE}... đường 1 chiều hoặc bị chặn
|
|
||||||
|
|
||||||
# Station destruction related errors
|
# Station destruction related errors
|
||||||
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Không thể xoá bỏ một phần của ga...
|
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Không thể xoá bỏ một phần của ga...
|
||||||
|
|||||||
@@ -674,6 +674,7 @@ STR_PLAYLIST_TRACK_NAME :{TINY_FONT}{LTB
|
|||||||
STR_PLAYLIST_TRACK_INDEX :{TINY_FONT}{BLACK}Indecs Traciau
|
STR_PLAYLIST_TRACK_INDEX :{TINY_FONT}{BLACK}Indecs Traciau
|
||||||
STR_PLAYLIST_PROGRAM :{TINY_FONT}{BLACK}Rhaglen - '{STRING}'
|
STR_PLAYLIST_PROGRAM :{TINY_FONT}{BLACK}Rhaglen - '{STRING}'
|
||||||
STR_PLAYLIST_CLEAR :{TINY_FONT}{BLACK}Clirio
|
STR_PLAYLIST_CLEAR :{TINY_FONT}{BLACK}Clirio
|
||||||
|
STR_PLAYLIST_CHANGE_SET :{BLACK}Newid set
|
||||||
STR_PLAYLIST_TOOLTIP_CLEAR_CURRENT_PROGRAM_CUSTOM1 :{BLACK}Clirio'r rhaglen gyfredol (Cyfaddas 1 neu Cyfaddas 2)
|
STR_PLAYLIST_TOOLTIP_CLEAR_CURRENT_PROGRAM_CUSTOM1 :{BLACK}Clirio'r rhaglen gyfredol (Cyfaddas 1 neu Cyfaddas 2)
|
||||||
STR_PLAYLIST_TOOLTIP_CLICK_TO_ADD_TRACK :{BLACK}Cliciwch i ychwanegu trac cerddoriaeth i'r rhaglen gyfredol (Cyfaddas 1 Neu Cyfaddas 2 yn unig)
|
STR_PLAYLIST_TOOLTIP_CLICK_TO_ADD_TRACK :{BLACK}Cliciwch i ychwanegu trac cerddoriaeth i'r rhaglen gyfredol (Cyfaddas 1 Neu Cyfaddas 2 yn unig)
|
||||||
STR_PLAYLIST_TOOLTIP_CLICK_TO_REMOVE_TRACK :{BLACK}Cliciwch i dynnu trac cerddoriaeth o'r rhaglen gyfredol (Cyfaddas 1 Neu Cyfaddas 2 yn unig)
|
STR_PLAYLIST_TOOLTIP_CLICK_TO_REMOVE_TRACK :{BLACK}Cliciwch i dynnu trac cerddoriaeth o'r rhaglen gyfredol (Cyfaddas 1 Neu Cyfaddas 2 yn unig)
|
||||||
@@ -922,6 +923,7 @@ STR_GAME_OPTIONS_CURRENCY_ZAR :Rand De Affrica
|
|||||||
STR_GAME_OPTIONS_CURRENCY_CUSTOM :Addasedig...
|
STR_GAME_OPTIONS_CURRENCY_CUSTOM :Addasedig...
|
||||||
STR_GAME_OPTIONS_CURRENCY_GEL :Lari Georgia (GEL)
|
STR_GAME_OPTIONS_CURRENCY_GEL :Lari Georgia (GEL)
|
||||||
STR_GAME_OPTIONS_CURRENCY_IRR :Rial Iran (IRR)
|
STR_GAME_OPTIONS_CURRENCY_IRR :Rial Iran (IRR)
|
||||||
|
STR_GAME_OPTIONS_CURRENCY_RUB :Rwbl Rwsaidd Newydd (RUB)
|
||||||
############ end of currency region
|
############ end of currency region
|
||||||
|
|
||||||
STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}Cerbydau Ffordd
|
STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}Cerbydau Ffordd
|
||||||
@@ -1805,6 +1807,7 @@ STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}Newid y
|
|||||||
STR_CHEAT_SETUP_PROD :{LTBLUE}Galluogi newid graddfeydd cynhyrchu: {ORANGE}{STRING}
|
STR_CHEAT_SETUP_PROD :{LTBLUE}Galluogi newid graddfeydd cynhyrchu: {ORANGE}{STRING}
|
||||||
|
|
||||||
# Livery window
|
# Livery window
|
||||||
|
STR_LIVERY_CAPTION :{WHITE}{COMPANY} - Cynllun Lliw
|
||||||
|
|
||||||
STR_LIVERY_GENERAL_TOOLTIP :{BLACK}Dangos cynllun lliw cyffredinol
|
STR_LIVERY_GENERAL_TOOLTIP :{BLACK}Dangos cynllun lliw cyffredinol
|
||||||
STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Dangos cynllun lliw trenau
|
STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Dangos cynllun lliw trenau
|
||||||
@@ -2688,9 +2691,14 @@ STR_ABOUT_VERSION :{BLACK}fersiwn
|
|||||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2019 Y tîm OpenTTD
|
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2019 Y tîm OpenTTD
|
||||||
|
|
||||||
# Framerate display window
|
# Framerate display window
|
||||||
|
STR_FRAMERATE_RATE_BLITTER_TOOLTIP :{BLACK}Nifer o fframiau fideo a lunir bob eiliad.
|
||||||
|
STR_FRAMERATE_SPEED_FACTOR_TOOLTIP :{BLACK}Pa mor gyflym mae'r gêm yn rhedeg, o gymharu a'r cyflymder i'w ddisgwyl ar gyfradd efelychu arferol.
|
||||||
|
STR_FRAMERATE_FPS_GOOD :{LTBLUE}{DECIMAL} frâm yr eiliad
|
||||||
############ Leave those lines in this order!!
|
############ Leave those lines in this order!!
|
||||||
|
STR_FRAMERATE_GL_ECONOMY :{BLACK} Trin cargo:
|
||||||
############ End of leave-in-this-order
|
############ End of leave-in-this-order
|
||||||
############ Leave those lines in this order!!
|
############ Leave those lines in this order!!
|
||||||
|
STR_FRAMETIME_CAPTION_VIDEO :Allbwn fideo
|
||||||
############ End of leave-in-this-order
|
############ End of leave-in-this-order
|
||||||
|
|
||||||
|
|
||||||
@@ -2945,6 +2953,7 @@ STR_NEWGRF_BUGGY :{WHITE}Mae NewG
|
|||||||
STR_NEWGRF_BUGGY_ARTICULATED_CARGO :{WHITE}Mae'r wybodaeth llwyth/ailffitio ar gyfer '{1:ENGINE}' yn wahanol i'r rhestr brynu wedi'r adeiladu. Gall hyn beri i awtoadnewyddu/-ddisodli fethu ag ailfitio'n gywir
|
STR_NEWGRF_BUGGY_ARTICULATED_CARGO :{WHITE}Mae'r wybodaeth llwyth/ailffitio ar gyfer '{1:ENGINE}' yn wahanol i'r rhestr brynu wedi'r adeiladu. Gall hyn beri i awtoadnewyddu/-ddisodli fethu ag ailfitio'n gywir
|
||||||
STR_NEWGRF_BUGGY_ENDLESS_PRODUCTION_CALLBACK :{WHITE}'{1:STRING}' wedi creu lŵp diddiwedd yn y system adalw cynhyrchu
|
STR_NEWGRF_BUGGY_ENDLESS_PRODUCTION_CALLBACK :{WHITE}'{1:STRING}' wedi creu lŵp diddiwedd yn y system adalw cynhyrchu
|
||||||
STR_NEWGRF_BUGGY_UNKNOWN_CALLBACK_RESULT :{WHITE}Dychwelodd adalwad {1:HEX} ganlyniad anhysbys/annilys {2:HEX}
|
STR_NEWGRF_BUGGY_UNKNOWN_CALLBACK_RESULT :{WHITE}Dychwelodd adalwad {1:HEX} ganlyniad anhysbys/annilys {2:HEX}
|
||||||
|
STR_NEWGRF_BUGGY_INVALID_CARGO_PRODUCTION_CALLBACK :{WHITE}'{1:STRING}' wedi dychwelyd math cargo annilys yn yr adalwad cynhyrchu yn {2:HEX}
|
||||||
|
|
||||||
# 'User removed essential NewGRFs'-placeholders for stuff without specs
|
# 'User removed essential NewGRFs'-placeholders for stuff without specs
|
||||||
STR_NEWGRF_INVALID_CARGO :<llwyth annilys>
|
STR_NEWGRF_INVALID_CARGO :<llwyth annilys>
|
||||||
@@ -3788,6 +3797,7 @@ STR_ORDER_CONDITIONAL_AGE :Oed (blynyddoed
|
|||||||
STR_ORDER_CONDITIONAL_REQUIRES_SERVICE :Angen gwasanaeth
|
STR_ORDER_CONDITIONAL_REQUIRES_SERVICE :Angen gwasanaeth
|
||||||
STR_ORDER_CONDITIONAL_UNCONDITIONALLY :Bob tro
|
STR_ORDER_CONDITIONAL_UNCONDITIONALLY :Bob tro
|
||||||
STR_ORDER_CONDITIONAL_REMAINING_LIFETIME :Oes yn weddill (blynyddoedd)
|
STR_ORDER_CONDITIONAL_REMAINING_LIFETIME :Oes yn weddill (blynyddoedd)
|
||||||
|
STR_ORDER_CONDITIONAL_MAX_RELIABILITY :Dibynadwyedd uchafsymol
|
||||||
|
|
||||||
STR_ORDER_CONDITIONAL_COMPARATOR_TOOLTIP :{BLACK}Sut i gymharu'r data cerbyd i'r gwerth a roddwyd
|
STR_ORDER_CONDITIONAL_COMPARATOR_TOOLTIP :{BLACK}Sut i gymharu'r data cerbyd i'r gwerth a roddwyd
|
||||||
STR_ORDER_CONDITIONAL_COMPARATOR_EQUALS :yn hafal i
|
STR_ORDER_CONDITIONAL_COMPARATOR_EQUALS :yn hafal i
|
||||||
@@ -4471,6 +4481,8 @@ STR_BASESOUNDS_DOS_DESCRIPTION :Effeithiau sain
|
|||||||
STR_BASESOUNDS_WIN_DESCRIPTION :Effeithiau sain gwreiddiol fersiwn Windows o Transport Tycoon Deluxe.
|
STR_BASESOUNDS_WIN_DESCRIPTION :Effeithiau sain gwreiddiol fersiwn Windows o Transport Tycoon Deluxe.
|
||||||
STR_BASESOUNDS_NONE_DESCRIPTION :Pecyn sain heb unrhyw effeithiau sain ynddo.
|
STR_BASESOUNDS_NONE_DESCRIPTION :Pecyn sain heb unrhyw effeithiau sain ynddo.
|
||||||
STR_BASEMUSIC_WIN_DESCRIPTION :Cerddoriaeth gwreiddiol fersion Windows o Transport Tycoon Deluxe.
|
STR_BASEMUSIC_WIN_DESCRIPTION :Cerddoriaeth gwreiddiol fersion Windows o Transport Tycoon Deluxe.
|
||||||
|
STR_BASEMUSIC_DOS_DESCRIPTION :Cerddoriaeth gwreiddiol fersiwn DOS o Transport Tycoon Deluxe.
|
||||||
|
STR_BASEMUSIC_TTO_DESCRIPTION :Cerddoriaeth gwreiddiol fersion DOS o Transport Tycoon Deluxe (Gwreiddiol/Golygydd Byd).
|
||||||
STR_BASEMUSIC_NONE_DESCRIPTION :Pecyn cerddoriaeth heb unrhyw gerddoriaeth ynddo.
|
STR_BASEMUSIC_NONE_DESCRIPTION :Pecyn cerddoriaeth heb unrhyw gerddoriaeth ynddo.
|
||||||
|
|
||||||
##id 0x2000
|
##id 0x2000
|
||||||
|
|||||||
@@ -53,7 +53,7 @@
|
|||||||
static int _rename_id = 1;
|
static int _rename_id = 1;
|
||||||
static int _rename_what = -1;
|
static int _rename_what = -1;
|
||||||
|
|
||||||
void CcGiveMoney(const CommandCost &result, TileIndex tile, uint32 p1, uint32 p2)
|
void CcGiveMoney(const CommandCost &result, TileIndex tile, uint32 p1, uint32 p2, uint32 cmd)
|
||||||
{
|
{
|
||||||
#ifdef ENABLE_NETWORK
|
#ifdef ENABLE_NETWORK
|
||||||
if (result.Failed() || !_settings_game.economy.give_money) return;
|
if (result.Failed() || !_settings_game.economy.give_money) return;
|
||||||
@@ -121,7 +121,7 @@ bool HandlePlacePushButton(Window *w, int widget, CursorID cursor, HighLightStyl
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void CcPlaySound_EXPLOSION(const CommandCost &result, TileIndex tile, uint32 p1, uint32 p2)
|
void CcPlaySound_EXPLOSION(const CommandCost &result, TileIndex tile, uint32 p1, uint32 p2, uint32 cmd)
|
||||||
{
|
{
|
||||||
if (result.Succeeded() && _settings_client.sound.confirm) SndPlayTileFx(SND_12_EXPLOSION, tile);
|
if (result.Succeeded() && _settings_client.sound.confirm) SndPlayTileFx(SND_12_EXPLOSION, tile);
|
||||||
}
|
}
|
||||||
@@ -207,6 +207,16 @@ void ZoomInOrOutToCursorWindow(bool in, Window *w)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void FixTitleGameZoom()
|
||||||
|
{
|
||||||
|
if (_game_mode != GM_MENU) return;
|
||||||
|
|
||||||
|
ViewPort *vp = FindWindowByClass(WC_MAIN_WINDOW)->viewport;
|
||||||
|
vp->zoom = _gui_zoom;
|
||||||
|
vp->virtual_width = ScaleByZoom(vp->width, vp->zoom);
|
||||||
|
vp->virtual_height = ScaleByZoom(vp->height, vp->zoom);
|
||||||
|
}
|
||||||
|
|
||||||
static const struct NWidgetPart _nested_main_window_widgets[] = {
|
static const struct NWidgetPart _nested_main_window_widgets[] = {
|
||||||
NWidget(NWID_VIEWPORT, INVALID_COLOUR, WID_M_VIEWPORT), SetResize(1, 1),
|
NWidget(NWID_VIEWPORT, INVALID_COLOUR, WID_M_VIEWPORT), SetResize(1, 1),
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -698,7 +698,7 @@ struct TooltipsWindow : public Window
|
|||||||
if (_settings_client.gui.windows_titlebars) {
|
if (_settings_client.gui.windows_titlebars) {
|
||||||
// Move it to the top of the screen, away from mouse cursor, so it won't steal screen taps on Android
|
// Move it to the top of the screen, away from mouse cursor, so it won't steal screen taps on Android
|
||||||
pt.y = GetMainViewTop();
|
pt.y = GetMainViewTop();
|
||||||
if (_cursor.pos.y < pt.y + GetMinSizing(NWST_STEP)) {
|
if (_cursor.pos.y < pt.y + (int)GetMinSizing(NWST_STEP)) {
|
||||||
pt.x = _cursor.pos.x > _screen.width / 2 ? GetMinSizing(NWST_STEP) : _screen.width - sm_width - GetMinSizing(NWST_STEP);
|
pt.x = _cursor.pos.x > _screen.width / 2 ? GetMinSizing(NWST_STEP) : _screen.width - sm_width - GetMinSizing(NWST_STEP);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -538,19 +538,19 @@ static void TransmitChannelMsg(IDirectMusicBuffer *buffer, REFERENCE_TIME rt, by
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void TransmitSysex(IDirectMusicBuffer *buffer, REFERENCE_TIME rt, byte *&msg_start, size_t &remaining)
|
static void TransmitSysex(IDirectMusicBuffer *buffer, REFERENCE_TIME rt, const byte *&msg_start, size_t &remaining)
|
||||||
{
|
{
|
||||||
/* Find end of message. */
|
/* Find end of message. */
|
||||||
byte *msg_end = msg_start;
|
const byte *msg_end = msg_start;
|
||||||
while (*msg_end != MIDIST_ENDSYSEX) msg_end++;
|
while (*msg_end != MIDIST_ENDSYSEX) msg_end++;
|
||||||
msg_end++; // Also include SysEx end byte.
|
msg_end++; // Also include SysEx end byte.
|
||||||
|
|
||||||
if (buffer->PackUnstructured(rt, 0, msg_end - msg_start, msg_start) == E_OUTOFMEMORY) {
|
if (buffer->PackUnstructured(rt, 0, msg_end - msg_start, const_cast<LPBYTE>(msg_start)) == E_OUTOFMEMORY) {
|
||||||
/* Buffer is full, clear it and try again. */
|
/* Buffer is full, clear it and try again. */
|
||||||
_port->PlayBuffer(buffer);
|
_port->PlayBuffer(buffer);
|
||||||
buffer->Flush();
|
buffer->Flush();
|
||||||
|
|
||||||
buffer->PackUnstructured(rt, 0, msg_end - msg_start, msg_start);
|
buffer->PackUnstructured(rt, 0, msg_end - msg_start, const_cast<LPBYTE>(msg_start));
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Update position in buffer. */
|
/* Update position in buffer. */
|
||||||
@@ -558,9 +558,11 @@ static void TransmitSysex(IDirectMusicBuffer *buffer, REFERENCE_TIME rt, byte *&
|
|||||||
msg_start = msg_end;
|
msg_start = msg_end;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void TransmitSysexConst(IDirectMusicBuffer *buffer, REFERENCE_TIME rt, byte *msg_start, size_t length)
|
static void TransmitStandardSysex(IDirectMusicBuffer *buffer, REFERENCE_TIME rt, MidiSysexMessage msg)
|
||||||
{
|
{
|
||||||
TransmitSysex(buffer, rt, msg_start, length);
|
size_t length = 0;
|
||||||
|
const byte *data = MidiGetStandardSysexMessage(msg, length);
|
||||||
|
TransmitSysex(buffer, rt, data, length);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Transmit 'Note off' messages to all MIDI channels. */
|
/** Transmit 'Note off' messages to all MIDI channels. */
|
||||||
@@ -571,27 +573,16 @@ static void TransmitNotesOff(IDirectMusicBuffer *buffer, REFERENCE_TIME block_ti
|
|||||||
TransmitChannelMsg(_buffer, block_time + 10, MIDIST_CONTROLLER | ch, MIDICT_SUSTAINSW, 0);
|
TransmitChannelMsg(_buffer, block_time + 10, MIDIST_CONTROLLER | ch, MIDICT_SUSTAINSW, 0);
|
||||||
TransmitChannelMsg(_buffer, block_time + 10, MIDIST_CONTROLLER | ch, MIDICT_MODE_RESETALLCTRL, 0);
|
TransmitChannelMsg(_buffer, block_time + 10, MIDIST_CONTROLLER | ch, MIDICT_MODE_RESETALLCTRL, 0);
|
||||||
}
|
}
|
||||||
/* Explicitly flush buffer to make sure the note off messages are processed
|
|
||||||
* before we send any additional control messages. */
|
/* Performing a GM reset stops all sound and resets all parameters. */
|
||||||
|
TransmitStandardSysex(_buffer, block_time + 20, MidiSysexMessage::ResetGM);
|
||||||
|
TransmitStandardSysex(_buffer, block_time + 30, MidiSysexMessage::RolandSetReverb);
|
||||||
|
|
||||||
|
/* Explicitly flush buffer to make sure the messages are processed,
|
||||||
|
* as we want sound to stop immediately. */
|
||||||
_port->PlayBuffer(_buffer);
|
_port->PlayBuffer(_buffer);
|
||||||
_buffer->Flush();
|
_buffer->Flush();
|
||||||
|
|
||||||
/* Some songs change the "Pitch bend range" registered parameter. If
|
|
||||||
* this doesn't get reset, everything else will start sounding wrong. */
|
|
||||||
for (int ch = 0; ch < 16; ch++) {
|
|
||||||
/* Running status, only need status for first message
|
|
||||||
* Select RPN 00.00, set value to 02.00, and de-select again */
|
|
||||||
TransmitChannelMsg(_buffer, block_time + 10, MIDIST_CONTROLLER | ch, MIDICT_RPN_SELECT_LO, 0x00);
|
|
||||||
TransmitChannelMsg(_buffer, block_time + 10, MIDICT_RPN_SELECT_HI, 0x00);
|
|
||||||
TransmitChannelMsg(_buffer, block_time + 10, MIDICT_DATAENTRY, 0x02);
|
|
||||||
TransmitChannelMsg(_buffer, block_time + 10, MIDICT_DATAENTRY_LO, 0x00);
|
|
||||||
TransmitChannelMsg(_buffer, block_time + 10, MIDICT_RPN_SELECT_LO, 0x7F);
|
|
||||||
TransmitChannelMsg(_buffer, block_time + 10, MIDICT_RPN_SELECT_HI, 0x7F);
|
|
||||||
|
|
||||||
_port->PlayBuffer(_buffer);
|
|
||||||
_buffer->Flush();
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Wait until message time has passed. */
|
/* Wait until message time has passed. */
|
||||||
Sleep(Clamp((block_time - cur_time) / MS_TO_REFTIME, 5, 1000));
|
Sleep(Clamp((block_time - cur_time) / MS_TO_REFTIME, 5, 1000));
|
||||||
}
|
}
|
||||||
@@ -616,13 +607,6 @@ static void MidiThreadProc(void *)
|
|||||||
REFERENCE_TIME cur_time;
|
REFERENCE_TIME cur_time;
|
||||||
clock->GetTime(&cur_time);
|
clock->GetTime(&cur_time);
|
||||||
|
|
||||||
/* Standard "Enable General MIDI" message */
|
|
||||||
static byte gm_enable_sysex[] = { 0xF0, 0x7E, 0x00, 0x09, 0x01, 0xF7 };
|
|
||||||
TransmitSysexConst(_buffer, cur_time, &gm_enable_sysex[0], sizeof(gm_enable_sysex));
|
|
||||||
/* Roland-specific reverb room control, used by the original game */
|
|
||||||
static byte roland_reverb_sysex[] = { 0xF0, 0x41, 0x10, 0x42, 0x12, 0x40, 0x01, 0x30, 0x02, 0x04, 0x00, 0x40, 0x40, 0x00, 0x00, 0x09, 0xF7 };
|
|
||||||
TransmitSysexConst(_buffer, cur_time, &roland_reverb_sysex[0], sizeof(roland_reverb_sysex));
|
|
||||||
|
|
||||||
_port->PlayBuffer(_buffer);
|
_port->PlayBuffer(_buffer);
|
||||||
_buffer->Flush();
|
_buffer->Flush();
|
||||||
|
|
||||||
@@ -665,7 +649,7 @@ static void MidiThreadProc(void *)
|
|||||||
_playback.do_start = false;
|
_playback.do_start = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Turn all notes off in case we are seeking between music titles. */
|
/* Reset playback device between songs. */
|
||||||
clock->GetTime(&cur_time);
|
clock->GetTime(&cur_time);
|
||||||
TransmitNotesOff(_buffer, block_time, cur_time);
|
TransmitNotesOff(_buffer, block_time, cur_time);
|
||||||
|
|
||||||
@@ -751,7 +735,7 @@ static void MidiThreadProc(void *)
|
|||||||
block_time = playback_start_time + block.realtime * MIDITIME_TO_REFTIME;
|
block_time = playback_start_time + block.realtime * MIDITIME_TO_REFTIME;
|
||||||
DEBUG(driver, 9, "DMusic thread: Streaming block " PRINTF_SIZE " (cur=" OTTD_PRINTF64 ", block=" OTTD_PRINTF64 ")", current_block, (long long)(current_time / MS_TO_REFTIME), (long long)(block_time / MS_TO_REFTIME));
|
DEBUG(driver, 9, "DMusic thread: Streaming block " PRINTF_SIZE " (cur=" OTTD_PRINTF64 ", block=" OTTD_PRINTF64 ")", current_block, (long long)(current_time / MS_TO_REFTIME), (long long)(block_time / MS_TO_REFTIME));
|
||||||
|
|
||||||
byte *data = block.data.Begin();
|
const byte *data = block.data.Begin();
|
||||||
size_t remaining = block.data.Length();
|
size_t remaining = block.data.Length();
|
||||||
byte last_status = 0;
|
byte last_status = 0;
|
||||||
while (remaining > 0) {
|
while (remaining > 0) {
|
||||||
|
|||||||
@@ -141,4 +141,19 @@ enum MidiController {
|
|||||||
MIDICT_MODE_POLY = 127,
|
MIDICT_MODE_POLY = 127,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/** Well-known MIDI system exclusive message values for use with the MidiGetStandardSysexMessage function. */
|
||||||
|
enum class MidiSysexMessage {
|
||||||
|
/** Reset device to General MIDI defaults */
|
||||||
|
ResetGM,
|
||||||
|
/** Reset device to (Roland) General Standard defaults */
|
||||||
|
ResetGS,
|
||||||
|
/** Reset device to (Yamaha) XG defaults */
|
||||||
|
ResetXG,
|
||||||
|
/** Set up Roland SoundCanvas reverb room as TTD does */
|
||||||
|
RolandSetReverb,
|
||||||
|
};
|
||||||
|
|
||||||
|
const byte *MidiGetStandardSysexMessage(MidiSysexMessage msg, size_t &length);
|
||||||
|
|
||||||
#endif /* MUSIC_MIDI_H */
|
#endif /* MUSIC_MIDI_H */
|
||||||
|
|||||||
@@ -27,6 +27,37 @@
|
|||||||
|
|
||||||
static MidiFile *_midifile_instance = NULL;
|
static MidiFile *_midifile_instance = NULL;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retrieve a well-known MIDI system exclusive message.
|
||||||
|
* @param msg Which sysex message to retrieve
|
||||||
|
* @param[out] length Receives the length of the returned buffer
|
||||||
|
* @return Pointer to byte buffer with sysex message
|
||||||
|
*/
|
||||||
|
const byte *MidiGetStandardSysexMessage(MidiSysexMessage msg, size_t &length)
|
||||||
|
{
|
||||||
|
static byte reset_gm_sysex[] = { 0xF0, 0x7E, 0x7F, 0x09, 0x01, 0xF7 };
|
||||||
|
static byte reset_gs_sysex[] = { 0xF0, 0x41, 0x10, 0x42, 0x12, 0x40, 0x00, 0x7F, 0x00, 0x41, 0xF7 };
|
||||||
|
static byte reset_xg_sysex[] = { 0xF0, 0x43, 0x10, 0x4C, 0x00, 0x00, 0x7E, 0x00, 0xF7 };
|
||||||
|
static byte roland_reverb_sysex[] = { 0xF0, 0x41, 0x10, 0x42, 0x12, 0x40, 0x01, 0x30, 0x02, 0x04, 0x00, 0x40, 0x40, 0x00, 0x00, 0x09, 0xF7 };
|
||||||
|
|
||||||
|
switch (msg) {
|
||||||
|
case MidiSysexMessage::ResetGM:
|
||||||
|
length = lengthof(reset_gm_sysex);
|
||||||
|
return reset_gm_sysex;
|
||||||
|
case MidiSysexMessage::ResetGS:
|
||||||
|
length = lengthof(reset_gs_sysex);
|
||||||
|
return reset_gs_sysex;
|
||||||
|
case MidiSysexMessage::ResetXG:
|
||||||
|
length = lengthof(reset_xg_sysex);
|
||||||
|
return reset_xg_sysex;
|
||||||
|
case MidiSysexMessage::RolandSetReverb:
|
||||||
|
length = lengthof(roland_reverb_sysex);
|
||||||
|
return roland_reverb_sysex;
|
||||||
|
default:
|
||||||
|
NOT_REACHED();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Owning byte buffer readable as a stream.
|
* Owning byte buffer readable as a stream.
|
||||||
* RAII-compliant to make teardown in error situations easier.
|
* RAII-compliant to make teardown in error situations easier.
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ static struct {
|
|||||||
CRITICAL_SECTION lock; ///< synchronization for playback status fields
|
CRITICAL_SECTION lock; ///< synchronization for playback status fields
|
||||||
|
|
||||||
bool playing; ///< flag indicating that playback is active
|
bool playing; ///< flag indicating that playback is active
|
||||||
bool do_start; ///< flag for starting playback of next_file at next opportunity
|
int do_start; ///< flag for starting playback of next_file at next opportunity
|
||||||
bool do_stop; ///< flag for stopping playback at next opportunity
|
bool do_stop; ///< flag for stopping playback at next opportunity
|
||||||
byte current_volume; ///< current effective volume setting
|
byte current_volume; ///< current effective volume setting
|
||||||
byte new_volume; ///< volume setting to change to
|
byte new_volume; ///< volume setting to change to
|
||||||
@@ -73,10 +73,10 @@ static void TransmitChannelMsg(byte status, byte p1, byte p2 = 0)
|
|||||||
midiOutShortMsg(_midi.midi_out, status | (p1 << 8) | (p2 << 16));
|
midiOutShortMsg(_midi.midi_out, status | (p1 << 8) | (p2 << 16));
|
||||||
}
|
}
|
||||||
|
|
||||||
static void TransmitSysex(byte *&msg_start, size_t &remaining)
|
static void TransmitSysex(const byte *&msg_start, size_t &remaining)
|
||||||
{
|
{
|
||||||
/* find end of message */
|
/* find end of message */
|
||||||
byte *msg_end = msg_start;
|
const byte *msg_end = msg_start;
|
||||||
while (*msg_end != MIDIST_ENDSYSEX) msg_end++;
|
while (*msg_end != MIDIST_ENDSYSEX) msg_end++;
|
||||||
msg_end++; /* also include sysex end byte */
|
msg_end++; /* also include sysex end byte */
|
||||||
|
|
||||||
@@ -97,9 +97,11 @@ static void TransmitSysex(byte *&msg_start, size_t &remaining)
|
|||||||
msg_start = msg_end;
|
msg_start = msg_end;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void TransmitSysexConst(byte *msg_start, size_t length)
|
static void TransmitStandardSysex(MidiSysexMessage msg)
|
||||||
{
|
{
|
||||||
TransmitSysex(msg_start, length);
|
size_t length = 0;
|
||||||
|
const byte *data = MidiGetStandardSysexMessage(msg, length);
|
||||||
|
TransmitSysex(data, length);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -108,82 +110,94 @@ static void TransmitSysexConst(byte *msg_start, size_t length)
|
|||||||
*/
|
*/
|
||||||
void CALLBACK TimerCallback(UINT uTimerID, UINT, DWORD_PTR dwUser, DWORD_PTR, DWORD_PTR)
|
void CALLBACK TimerCallback(UINT uTimerID, UINT, DWORD_PTR dwUser, DWORD_PTR, DWORD_PTR)
|
||||||
{
|
{
|
||||||
/* Try to check playback status changes.
|
/* Ensure only one timer callback is running at once, and prevent races on status flags */
|
||||||
* If _midi is already locked, skip checking for this cycle and try again
|
if (!TryEnterCriticalSection(&_midi.lock)) return;
|
||||||
* next cycle, instead of waiting for locks in the realtime callback. */
|
|
||||||
if (TryEnterCriticalSection(&_midi.lock)) {
|
/* check for stop */
|
||||||
/* check for stop */
|
if (_midi.do_stop) {
|
||||||
if (_midi.do_stop) {
|
DEBUG(driver, 2, "Win32-MIDI: timer: do_stop is set");
|
||||||
DEBUG(driver, 2, "Win32-MIDI: timer: do_stop is set");
|
midiOutReset(_midi.midi_out);
|
||||||
midiOutReset(_midi.midi_out);
|
_midi.playing = false;
|
||||||
_midi.playing = false;
|
_midi.do_stop = false;
|
||||||
_midi.do_stop = false;
|
LeaveCriticalSection(&_midi.lock);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* check for start/restart/change song */
|
||||||
|
if (_midi.do_start != 0) {
|
||||||
|
/* Have a delay between playback start steps, prevents jumbled-together notes at the start of song */
|
||||||
|
if (timeGetTime() - _midi.playback_start_time < 50) {
|
||||||
LeaveCriticalSection(&_midi.lock);
|
LeaveCriticalSection(&_midi.lock);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
DEBUG(driver, 2, "Win32-MIDI: timer: do_start step %d", _midi.do_start);
|
||||||
|
|
||||||
/* check for start/restart/change song */
|
if (_midi.do_start == 1) {
|
||||||
if (_midi.do_start) {
|
/* Send "all notes off" */
|
||||||
DEBUG(driver, 2, "Win32-MIDI: timer: do_start is set");
|
midiOutReset(_midi.midi_out);
|
||||||
if (_midi.playing) {
|
_midi.playback_start_time = timeGetTime();
|
||||||
midiOutReset(_midi.midi_out);
|
_midi.do_start = 2;
|
||||||
/* Some songs change the "Pitch bend range" registered
|
|
||||||
* parameter. If this doesn't get reset, everything else
|
LeaveCriticalSection(&_midi.lock);
|
||||||
* will start sounding wrong. */
|
return;
|
||||||
for (int ch = 0; ch < 16; ch++) {
|
} else if (_midi.do_start == 2) {
|
||||||
/* Running status, only need status for first message */
|
/* Reset the device to General MIDI defaults */
|
||||||
/* Select RPN 00.00, set value to 02.00, and unselect again */
|
TransmitStandardSysex(MidiSysexMessage::ResetGM);
|
||||||
TransmitChannelMsg(MIDIST_CONTROLLER | ch, MIDICT_RPN_SELECT_LO, 0x00);
|
_midi.playback_start_time = timeGetTime();
|
||||||
TransmitChannelMsg(MIDICT_RPN_SELECT_HI, 0x00);
|
_midi.do_start = 3;
|
||||||
TransmitChannelMsg(MIDICT_DATAENTRY, 0x02);
|
|
||||||
TransmitChannelMsg(MIDICT_DATAENTRY_LO, 0x00);
|
LeaveCriticalSection(&_midi.lock);
|
||||||
TransmitChannelMsg(MIDICT_RPN_SELECT_LO, 0x7F);
|
return;
|
||||||
TransmitChannelMsg(MIDICT_RPN_SELECT_HI, 0x7F);
|
} else if (_midi.do_start == 3) {
|
||||||
}
|
/* Set up device-specific effects */
|
||||||
}
|
TransmitStandardSysex(MidiSysexMessage::RolandSetReverb);
|
||||||
|
_midi.playback_start_time = timeGetTime();
|
||||||
|
_midi.do_start = 4;
|
||||||
|
|
||||||
|
LeaveCriticalSection(&_midi.lock);
|
||||||
|
return;
|
||||||
|
} else if (_midi.do_start == 4) {
|
||||||
|
/* Load the new file */
|
||||||
_midi.current_file.MoveFrom(_midi.next_file);
|
_midi.current_file.MoveFrom(_midi.next_file);
|
||||||
std::swap(_midi.next_segment, _midi.current_segment);
|
std::swap(_midi.next_segment, _midi.current_segment);
|
||||||
_midi.current_segment.start_block = 0;
|
_midi.current_segment.start_block = 0;
|
||||||
_midi.playback_start_time = timeGetTime();
|
_midi.playback_start_time = timeGetTime();
|
||||||
_midi.playing = true;
|
_midi.playing = true;
|
||||||
_midi.do_start = false;
|
_midi.do_start = 0;
|
||||||
_midi.current_block = 0;
|
_midi.current_block = 0;
|
||||||
|
|
||||||
MemSetT<byte>(_midi.channel_volumes, 127, lengthof(_midi.channel_volumes));
|
MemSetT<byte>(_midi.channel_volumes, 127, lengthof(_midi.channel_volumes));
|
||||||
} else if (!_midi.playing) {
|
|
||||||
/* not playing, stop the timer */
|
|
||||||
DEBUG(driver, 2, "Win32-MIDI: timer: not playing, stopping timer");
|
|
||||||
timeKillEvent(uTimerID);
|
|
||||||
_midi.timer_id = 0;
|
|
||||||
LeaveCriticalSection(&_midi.lock);
|
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
} else if (!_midi.playing) {
|
||||||
/* check for volume change */
|
/* not playing, stop the timer */
|
||||||
static int volume_throttle = 0;
|
DEBUG(driver, 2, "Win32-MIDI: timer: not playing, stopping timer");
|
||||||
if (_midi.current_volume != _midi.new_volume) {
|
timeKillEvent(uTimerID);
|
||||||
if (volume_throttle == 0) {
|
_midi.timer_id = 0;
|
||||||
DEBUG(driver, 2, "Win32-MIDI: timer: volume change");
|
|
||||||
_midi.current_volume = _midi.new_volume;
|
|
||||||
volume_throttle = 20 / _midi.time_period;
|
|
||||||
for (int ch = 0; ch < 16; ch++) {
|
|
||||||
int vol = ScaleVolume(_midi.channel_volumes[ch], _midi.current_volume);
|
|
||||||
TransmitChannelMsg(MIDIST_CONTROLLER | ch, MIDICT_CHANVOLUME, vol);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
volume_throttle--;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
LeaveCriticalSection(&_midi.lock);
|
LeaveCriticalSection(&_midi.lock);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* check for volume change */
|
||||||
|
static int volume_throttle = 0;
|
||||||
|
if (_midi.current_volume != _midi.new_volume) {
|
||||||
|
if (volume_throttle == 0) {
|
||||||
|
DEBUG(driver, 2, "Win32-MIDI: timer: volume change");
|
||||||
|
_midi.current_volume = _midi.new_volume;
|
||||||
|
volume_throttle = 20 / _midi.time_period;
|
||||||
|
for (int ch = 0; ch < 16; ch++) {
|
||||||
|
byte vol = ScaleVolume(_midi.channel_volumes[ch], _midi.current_volume);
|
||||||
|
TransmitChannelMsg(MIDIST_CONTROLLER | ch, MIDICT_CHANVOLUME, vol);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
volume_throttle--;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* skip beginning of file? */
|
/* skip beginning of file? */
|
||||||
if (_midi.current_segment.start > 0 && _midi.current_block == 0 && _midi.current_segment.start_block == 0) {
|
if (_midi.current_segment.start > 0 && _midi.current_block == 0 && _midi.current_segment.start_block == 0) {
|
||||||
/* find first block after start time and pretend playback started earlier
|
/* find first block after start time and pretend playback started earlier
|
||||||
* this is to allow all blocks prior to the actual start to still affect playback,
|
* this is to allow all blocks prior to the actual start to still affect playback,
|
||||||
* as they may contain important controller and program changes */
|
* as they may contain important controller and program changes */
|
||||||
uint preload_bytes = 0;
|
uint preload_bytes = 0;
|
||||||
for (size_t bl = 0; bl < _midi.current_file.blocks.size(); bl++) {
|
for (size_t bl = 0; bl < _midi.current_file.blocks.size(); bl++) {
|
||||||
MidiFile::DataBlock &block = _midi.current_file.blocks[bl];
|
MidiFile::DataBlock &block = _midi.current_file.blocks[bl];
|
||||||
@@ -200,7 +214,7 @@ void CALLBACK TimerCallback(UINT uTimerID, UINT, DWORD_PTR dwUser, DWORD_PTR, DW
|
|||||||
* The delay compensation is needed to avoid time-compression of following messages.
|
* The delay compensation is needed to avoid time-compression of following messages.
|
||||||
*/
|
*/
|
||||||
DEBUG(driver, 2, "Win32-MIDI: timer: start from block %d (ticktime %d, realtime %.3f, bytes %d)", (int)bl, (int)block.ticktime, ((int)block.realtime) / 1000.0, (int)preload_bytes);
|
DEBUG(driver, 2, "Win32-MIDI: timer: start from block %d (ticktime %d, realtime %.3f, bytes %d)", (int)bl, (int)block.ticktime, ((int)block.realtime) / 1000.0, (int)preload_bytes);
|
||||||
_midi.playback_start_time -= block.realtime / 1000 - preload_bytes * 1000 / 3125;
|
_midi.playback_start_time -= block.realtime / 1000 - (DWORD)(preload_bytes * 1000 / 3125);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -229,7 +243,7 @@ void CALLBACK TimerCallback(UINT uTimerID, UINT, DWORD_PTR dwUser, DWORD_PTR, DW
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
byte *data = block.data.Begin();
|
const byte *data = block.data.Begin();
|
||||||
size_t remaining = block.data.Length();
|
size_t remaining = block.data.Length();
|
||||||
byte last_status = 0;
|
byte last_status = 0;
|
||||||
while (remaining > 0) {
|
while (remaining > 0) {
|
||||||
@@ -308,25 +322,28 @@ void CALLBACK TimerCallback(UINT uTimerID, UINT, DWORD_PTR dwUser, DWORD_PTR, DW
|
|||||||
_midi.do_stop = true;
|
_midi.do_stop = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
LeaveCriticalSection(&_midi.lock);
|
||||||
}
|
}
|
||||||
|
|
||||||
void MusicDriver_Win32::PlaySong(const MusicSongInfo &song)
|
void MusicDriver_Win32::PlaySong(const MusicSongInfo &song)
|
||||||
{
|
{
|
||||||
DEBUG(driver, 2, "Win32-MIDI: PlaySong: entry");
|
DEBUG(driver, 2, "Win32-MIDI: PlaySong: entry");
|
||||||
|
|
||||||
|
MidiFile new_song;
|
||||||
|
if (!new_song.LoadSong(song)) return;
|
||||||
|
DEBUG(driver, 2, "Win32-MIDI: PlaySong: Loaded song");
|
||||||
|
|
||||||
EnterCriticalSection(&_midi.lock);
|
EnterCriticalSection(&_midi.lock);
|
||||||
|
|
||||||
if (!_midi.next_file.LoadSong(song)) {
|
_midi.next_file.MoveFrom(new_song);
|
||||||
LeaveCriticalSection(&_midi.lock);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
_midi.next_segment.start = song.override_start;
|
_midi.next_segment.start = song.override_start;
|
||||||
_midi.next_segment.end = song.override_end;
|
_midi.next_segment.end = song.override_end;
|
||||||
_midi.next_segment.loop = song.loop;
|
_midi.next_segment.loop = song.loop;
|
||||||
|
|
||||||
DEBUG(driver, 2, "Win32-MIDI: PlaySong: setting flag");
|
DEBUG(driver, 2, "Win32-MIDI: PlaySong: setting flag");
|
||||||
_midi.do_stop = _midi.playing;
|
_midi.do_stop = _midi.playing;
|
||||||
_midi.do_start = true;
|
_midi.do_start = 1;
|
||||||
|
|
||||||
if (_midi.timer_id == 0) {
|
if (_midi.timer_id == 0) {
|
||||||
DEBUG(driver, 2, "Win32-MIDI: PlaySong: starting timer");
|
DEBUG(driver, 2, "Win32-MIDI: PlaySong: starting timer");
|
||||||
@@ -347,7 +364,7 @@ void MusicDriver_Win32::StopSong()
|
|||||||
|
|
||||||
bool MusicDriver_Win32::IsSongPlaying()
|
bool MusicDriver_Win32::IsSongPlaying()
|
||||||
{
|
{
|
||||||
return _midi.playing || _midi.do_start;
|
return _midi.playing || (_midi.do_start != 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
void MusicDriver_Win32::SetVolume(byte vol)
|
void MusicDriver_Win32::SetVolume(byte vol)
|
||||||
@@ -381,14 +398,6 @@ const char *MusicDriver_Win32::Start(const char * const *parm)
|
|||||||
|
|
||||||
midiOutReset(_midi.midi_out);
|
midiOutReset(_midi.midi_out);
|
||||||
|
|
||||||
/* Standard "Enable General MIDI" message */
|
|
||||||
static byte gm_enable_sysex[] = { 0xF0, 0x7E, 0x00, 0x09, 0x01, 0xF7 };
|
|
||||||
TransmitSysexConst(&gm_enable_sysex[0], sizeof(gm_enable_sysex));
|
|
||||||
|
|
||||||
/* Roland-specific reverb room control, used by the original game */
|
|
||||||
static byte roland_reverb_sysex[] = { 0xF0, 0x41, 0x10, 0x42, 0x12, 0x40, 0x01, 0x30, 0x02, 0x04, 0x00, 0x40, 0x40, 0x00, 0x00, 0x09, 0xF7 };
|
|
||||||
TransmitSysexConst(&roland_reverb_sysex[0], sizeof(roland_reverb_sysex));
|
|
||||||
|
|
||||||
/* prepare multimedia timer */
|
/* prepare multimedia timer */
|
||||||
TIMECAPS timecaps;
|
TIMECAPS timecaps;
|
||||||
if (timeGetDevCaps(&timecaps, sizeof(timecaps)) == MMSYSERR_NOERROR) {
|
if (timeGetDevCaps(&timecaps, sizeof(timecaps)) == MMSYSERR_NOERROR) {
|
||||||
|
|||||||
@@ -457,7 +457,7 @@ struct MusicTrackSelectionWindow : public Window {
|
|||||||
uint GetNumberOfTracksOfTracklist() const
|
uint GetNumberOfTracksOfTracklist() const
|
||||||
{
|
{
|
||||||
uint i = 0;
|
uint i = 0;
|
||||||
for (; _playlists[_settings_client.music.playlist][i] > 0; i++) {}
|
for (MusicSystem::Playlist::const_iterator song = _music.music_set.begin(); song != _music.music_set.end(); ++song, ++i) {}
|
||||||
return i;
|
return i;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -549,8 +549,10 @@ struct MusicTrackSelectionWindow : public Window {
|
|||||||
|
|
||||||
int y = r.top + WD_FRAMERECT_TOP;
|
int y = r.top + WD_FRAMERECT_TOP;
|
||||||
uint vscroll_max = min(this->left_sb->GetPosition() + this->left_sb->GetCapacity(), NUM_SONGS_AVAILABLE);
|
uint vscroll_max = min(this->left_sb->GetPosition() + this->left_sb->GetCapacity(), NUM_SONGS_AVAILABLE);
|
||||||
|
uint i = 0;
|
||||||
for (uint i = this->left_sb->GetPosition(); i < vscroll_max; i++) {
|
for (MusicSystem::Playlist::const_iterator song = _music.music_set.begin(); song != _music.music_set.end(); ++song, i++) {
|
||||||
|
if (i < this->left_sb->GetPosition()) continue;
|
||||||
|
if (i >= vscroll_max) break;
|
||||||
SetDParam(0, song->tracknr);
|
SetDParam(0, song->tracknr);
|
||||||
SetDParam(1, 2);
|
SetDParam(1, 2);
|
||||||
SetDParamStr(2, song->songname);
|
SetDParamStr(2, song->songname);
|
||||||
@@ -565,9 +567,10 @@ struct MusicTrackSelectionWindow : public Window {
|
|||||||
|
|
||||||
int y = r.top + WD_FRAMERECT_TOP;
|
int y = r.top + WD_FRAMERECT_TOP;
|
||||||
uint vscroll_max = min(this->right_sb->GetPosition() + this->right_sb->GetCapacity(), this->GetNumberOfTracksOfTracklist());
|
uint vscroll_max = min(this->right_sb->GetPosition() + this->right_sb->GetCapacity(), this->GetNumberOfTracksOfTracklist());
|
||||||
|
uint i = 0;
|
||||||
for (uint i = this->right_sb->GetPosition(); i < vscroll_max; i++) {
|
for (MusicSystem::Playlist::const_iterator song = _music.music_set.begin(); song != _music.music_set.end(); ++song, i++) {
|
||||||
uint j = _playlists[_settings_client.music.playlist][i] - 1;
|
if (i < this->right_sb->GetPosition()) continue;
|
||||||
|
if (i >= vscroll_max) break;
|
||||||
SetDParam(0, song->tracknr);
|
SetDParam(0, song->tracknr);
|
||||||
SetDParam(1, 2);
|
SetDParam(1, 2);
|
||||||
SetDParamStr(2, song->songname);
|
SetDParamStr(2, song->songname);
|
||||||
@@ -843,11 +846,7 @@ struct MusicWindow : public Window {
|
|||||||
if (new_vol < 3) new_vol = 0;
|
if (new_vol < 3) new_vol = 0;
|
||||||
if (new_vol != *vol) {
|
if (new_vol != *vol) {
|
||||||
*vol = new_vol;
|
*vol = new_vol;
|
||||||
<<<<<<< HEAD
|
|
||||||
if (widget == WID_M_MUSIC_VOL) MusicDriver::GetInstance()->SetVolume(new_vol);
|
if (widget == WID_M_MUSIC_VOL) MusicDriver::GetInstance()->SetVolume(new_vol);
|
||||||
=======
|
|
||||||
if (widget == WID_M_MUSIC_VOL) MusicVolumeChanged((new_vol * new_vol) / 127); // Kinda logarithmic scale
|
|
||||||
>>>>>>> origin/master
|
|
||||||
this->SetDirty();
|
this->SetDirty();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1675,7 +1675,7 @@ static void NetworkAutoCleanCompanies()
|
|||||||
/* Is the company empty for autoclean_unprotected-months, and is there no protection? */
|
/* Is the company empty for autoclean_unprotected-months, and is there no protection? */
|
||||||
if (_settings_client.network.autoclean_unprotected != 0 && _network_company_states[c->index].months_empty > _settings_client.network.autoclean_unprotected && StrEmpty(_network_company_states[c->index].password)) {
|
if (_settings_client.network.autoclean_unprotected != 0 && _network_company_states[c->index].months_empty > _settings_client.network.autoclean_unprotected && StrEmpty(_network_company_states[c->index].password)) {
|
||||||
/* Shut the company down */
|
/* Shut the company down */
|
||||||
DoCommandP(0, CCA_DELETE | c->index << 16, CRR_AUTOCLEAN, CMD_COMPANY_CTRL);
|
DoCommandP(0, CCA_DELETE | c->index << 16 | CRR_AUTOCLEAN << 24, 0, CMD_COMPANY_CTRL);
|
||||||
IConsolePrintF(CC_DEFAULT, "Auto-cleaned company #%d with no password", c->index + 1);
|
IConsolePrintF(CC_DEFAULT, "Auto-cleaned company #%d with no password", c->index + 1);
|
||||||
}
|
}
|
||||||
/* Is the company empty for autoclean_protected-months, and there is a protection? */
|
/* Is the company empty for autoclean_protected-months, and there is a protection? */
|
||||||
@@ -1689,7 +1689,7 @@ static void NetworkAutoCleanCompanies()
|
|||||||
/* Is the company empty for autoclean_novehicles-months, and has no vehicles? */
|
/* Is the company empty for autoclean_novehicles-months, and has no vehicles? */
|
||||||
if (_settings_client.network.autoclean_novehicles != 0 && _network_company_states[c->index].months_empty > _settings_client.network.autoclean_novehicles && vehicles_in_company[c->index] == 0) {
|
if (_settings_client.network.autoclean_novehicles != 0 && _network_company_states[c->index].months_empty > _settings_client.network.autoclean_novehicles && vehicles_in_company[c->index] == 0) {
|
||||||
/* Shut the company down */
|
/* Shut the company down */
|
||||||
DoCommandP(0, CCA_DELETE | c->index << 16, CRR_AUTOCLEAN, CMD_COMPANY_CTRL);
|
DoCommandP(0, CCA_DELETE | c->index << 16 | CRR_AUTOCLEAN << 24, 0, CMD_COMPANY_CTRL);
|
||||||
IConsolePrintF(CC_DEFAULT, "Auto-cleaned company #%d with no vehicles", c->index + 1);
|
IConsolePrintF(CC_DEFAULT, "Auto-cleaned company #%d with no vehicles", c->index + 1);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -5480,7 +5480,8 @@ static void RailTypeMapSpriteGroup(ByteReader *buf, uint8 idcount)
|
|||||||
{
|
{
|
||||||
uint8 *railtypes = AllocaM(uint8, idcount);
|
uint8 *railtypes = AllocaM(uint8, idcount);
|
||||||
for (uint i = 0; i < idcount; i++) {
|
for (uint i = 0; i < idcount; i++) {
|
||||||
railtypes[i] = _cur.grffile->railtype_map[buf->ReadByte()];
|
uint8 id = buf->ReadByte();
|
||||||
|
railtypes[i] = id < RAILTYPE_END ? _cur.grffile->railtype_map[id] : INVALID_RAILTYPE;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint8 cidcount = buf->ReadByte();
|
uint8 cidcount = buf->ReadByte();
|
||||||
@@ -5688,7 +5689,7 @@ static void FeatureNewName(ByteReader *buf)
|
|||||||
bool new_scheme = _cur.grffile->grf_version >= 7;
|
bool new_scheme = _cur.grffile->grf_version >= 7;
|
||||||
|
|
||||||
uint8 feature = buf->ReadByte();
|
uint8 feature = buf->ReadByte();
|
||||||
if (feature >= GSF_END) {
|
if (feature >= GSF_END && feature != 0x48) {
|
||||||
grfmsg(1, "FeatureNewName: Unsupported feature 0x%02X, skipping", feature);
|
grfmsg(1, "FeatureNewName: Unsupported feature 0x%02X, skipping", feature);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -163,7 +163,7 @@ struct GRFLoadedFeatures {
|
|||||||
uint64 used_liveries; ///< Bitmask of #LiveryScheme used by the defined engines.
|
uint64 used_liveries; ///< Bitmask of #LiveryScheme used by the defined engines.
|
||||||
bool has_newhouses; ///< Set if there are any newhouses loaded.
|
bool has_newhouses; ///< Set if there are any newhouses loaded.
|
||||||
bool has_newindustries; ///< Set if there are any newindustries loaded.
|
bool has_newindustries; ///< Set if there are any newindustries loaded.
|
||||||
ShoreReplacement shore; ///< It which way shore sprites were replaced.
|
ShoreReplacement shore; ///< In which way shore sprites were replaced.
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -100,6 +100,7 @@ AirportSpec AirportSpec::specs[NUM_AIRPORTS]; ///< Airport specifications.
|
|||||||
assert(type < lengthof(AirportSpec::specs));
|
assert(type < lengthof(AirportSpec::specs));
|
||||||
const AirportSpec *as = &AirportSpec::specs[type];
|
const AirportSpec *as = &AirportSpec::specs[type];
|
||||||
if (type >= NEW_AIRPORT_OFFSET && !as->enabled) {
|
if (type >= NEW_AIRPORT_OFFSET && !as->enabled) {
|
||||||
|
if (_airport_mngr.GetGRFID(type) == 0) return as;
|
||||||
byte subst_id = _airport_mngr.GetSubstituteID(type);
|
byte subst_id = _airport_mngr.GetSubstituteID(type);
|
||||||
if (subst_id == AT_INVALID) return as;
|
if (subst_id == AT_INVALID) return as;
|
||||||
as = &AirportSpec::specs[subst_id];
|
as = &AirportSpec::specs[subst_id];
|
||||||
|
|||||||
@@ -45,8 +45,8 @@ const NewsItem *_statusbar_news_item = NULL;
|
|||||||
|
|
||||||
static uint MIN_NEWS_AMOUNT = 30; ///< preferred minimum amount of news messages
|
static uint MIN_NEWS_AMOUNT = 30; ///< preferred minimum amount of news messages
|
||||||
static uint _total_news = 0; ///< current number of news items
|
static uint _total_news = 0; ///< current number of news items
|
||||||
NewsItem *_oldest_news = NULL; ///< head of news items queue
|
static NewsItem *_oldest_news = NULL; ///< head of news items queue
|
||||||
static NewsItem *_latest_news = NULL; ///< tail of news items queue
|
NewsItem *_latest_news = NULL; ///< tail of news items queue
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Forced news item.
|
* Forced news item.
|
||||||
@@ -54,7 +54,7 @@ static NewsItem *_latest_news = NULL; ///< tail of news items queue
|
|||||||
* If the message being shown was forced by the user, a pointer is stored
|
* If the message being shown was forced by the user, a pointer is stored
|
||||||
* in _forced_news. Otherwise, \a _forced_news variable is NULL.
|
* in _forced_news. Otherwise, \a _forced_news variable is NULL.
|
||||||
*/
|
*/
|
||||||
static const NewsItem *_forced_news = NULL; ///< item the user has asked for
|
static const NewsItem *_forced_news = NULL;
|
||||||
|
|
||||||
/** Current news item (last item shown regularly). */
|
/** Current news item (last item shown regularly). */
|
||||||
static const NewsItem *_current_news = NULL;
|
static const NewsItem *_current_news = NULL;
|
||||||
@@ -190,7 +190,7 @@ static const NWidgetPart _nested_small_news_widgets[] = {
|
|||||||
NWidget(WWT_INSET, COLOUR_LIGHT_BLUE, WID_N_INSET), SetPadding(2, 2, 2, 2),
|
NWidget(WWT_INSET, COLOUR_LIGHT_BLUE, WID_N_INSET), SetPadding(2, 2, 2, 2),
|
||||||
NWidget(NWID_VIEWPORT, INVALID_COLOUR, WID_N_VIEWPORT), SetSizingType(NWST_VIEWPORT), SetPadding(1, 1, 1, 1), SetMinimalSize(274, 47), SetFill(1, 0),
|
NWidget(NWID_VIEWPORT, INVALID_COLOUR, WID_N_VIEWPORT), SetSizingType(NWST_VIEWPORT), SetPadding(1, 1, 1, 1), SetMinimalSize(274, 47), SetFill(1, 0),
|
||||||
EndContainer(),
|
EndContainer(),
|
||||||
NWidget(WWT_EMPTY, COLOUR_WHITE, WID_N_MESSAGE), SetMinimalSize(275, 20), SetFill(1, 0), SetPadding(0, 5, 0, 5),
|
NWidget(WWT_EMPTY, COLOUR_WHITE, WID_N_MESSAGE), SetMinimalSize(275, 20), SetFill(1, 0), SetPadding(0, 5, 0, 5), SetSizingType(NWST_STEP),
|
||||||
EndContainer(),
|
EndContainer(),
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -331,6 +331,11 @@ struct NewsWindow : Window {
|
|||||||
*size = maxdim(*size, GetSpriteSize(SPR_GRADIENT));
|
*size = maxdim(*size, GetSpriteSize(SPR_GRADIENT));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case WID_N_MGR_NAME:
|
||||||
|
SetDParamStr(0, static_cast<const CompanyNewsInformation *>(this->ni->free_data)->president_name);
|
||||||
|
str = STR_JUST_RAW_STRING;
|
||||||
|
break;
|
||||||
|
|
||||||
case WID_N_MESSAGE:
|
case WID_N_MESSAGE:
|
||||||
size->width = GetMinSizing(NWST_WINDOW_LENGTH, size->width);
|
size->width = GetMinSizing(NWST_WINDOW_LENGTH, size->width);
|
||||||
CopyInDParam(0, this->ni->params, lengthof(this->ni->params));
|
CopyInDParam(0, this->ni->params, lengthof(this->ni->params));
|
||||||
|
|||||||
@@ -17,6 +17,6 @@
|
|||||||
void ShowLastNewsMessage();
|
void ShowLastNewsMessage();
|
||||||
void ShowMessageHistory();
|
void ShowMessageHistory();
|
||||||
|
|
||||||
extern NewsItem *_oldest_news;
|
extern NewsItem *_latest_news;
|
||||||
|
|
||||||
#endif /* NEWS_GUI_H */
|
#endif /* NEWS_GUI_H */
|
||||||
|
|||||||
@@ -772,9 +772,10 @@ static void ChangeTileOwner_Object(TileIndex tile, Owner old_owner, Owner new_ow
|
|||||||
|
|
||||||
bool do_clear = false;
|
bool do_clear = false;
|
||||||
|
|
||||||
if (IsObjectType(tile, OBJECT_OWNED_LAND) && new_owner != INVALID_OWNER) {
|
ObjectType type = GetObjectType(tile);
|
||||||
|
if ((type == OBJECT_OWNED_LAND || type >= NEW_OBJECT_OFFSET) && new_owner != INVALID_OWNER) {
|
||||||
SetTileOwner(tile, new_owner);
|
SetTileOwner(tile, new_owner);
|
||||||
} else if (IsObjectType(tile, OBJECT_STATUE)) {
|
} else if (type == OBJECT_STATUE) {
|
||||||
Town *t = Object::GetByTile(tile)->town;
|
Town *t = Object::GetByTile(tile)->town;
|
||||||
ClrBit(t->statues, old_owner);
|
ClrBit(t->statues, old_owner);
|
||||||
if (new_owner != INVALID_OWNER && !HasBit(t->statues, new_owner)) {
|
if (new_owner != INVALID_OWNER && !HasBit(t->statues, new_owner)) {
|
||||||
|
|||||||
@@ -86,7 +86,7 @@ public:
|
|||||||
this->vscroll->SetCount(ObjectClass::GetUIClassCount());
|
this->vscroll->SetCount(ObjectClass::GetUIClassCount());
|
||||||
|
|
||||||
NWidgetMatrix *matrix = this->GetWidget<NWidgetMatrix>(WID_BO_SELECT_MATRIX);
|
NWidgetMatrix *matrix = this->GetWidget<NWidgetMatrix>(WID_BO_SELECT_MATRIX);
|
||||||
matrix->SetScrollbar(this->GetScrollbar(WID_BO_SELECT_SCROLL));
|
matrix->SetScrollbar(this->GetScrollbar(WID_BO_SELECT_SCROLL), WID_BO_SELECT_SCROLL);
|
||||||
|
|
||||||
this->SelectOtherClass(_selected_object_class);
|
this->SelectOtherClass(_selected_object_class);
|
||||||
if (this->CanRestoreSelectedObject()) {
|
if (this->CanRestoreSelectedObject()) {
|
||||||
|
|||||||
@@ -62,6 +62,7 @@
|
|||||||
#include "town.h"
|
#include "town.h"
|
||||||
#include "subsidy_func.h"
|
#include "subsidy_func.h"
|
||||||
#include "gfx_layout.h"
|
#include "gfx_layout.h"
|
||||||
|
#include "viewport_func.h"
|
||||||
#include "viewport_sprite_sorter.h"
|
#include "viewport_sprite_sorter.h"
|
||||||
#include "framerate_type.h"
|
#include "framerate_type.h"
|
||||||
|
|
||||||
@@ -347,6 +348,7 @@ static void LoadIntroGame(bool load_newgrfs = true)
|
|||||||
SetLocalCompany(COMPANY_FIRST);
|
SetLocalCompany(COMPANY_FIRST);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
FixTitleGameZoom();
|
||||||
_pause_mode = PM_UNPAUSED;
|
_pause_mode = PM_UNPAUSED;
|
||||||
_cursor.fix_at = false;
|
_cursor.fix_at = false;
|
||||||
|
|
||||||
@@ -500,24 +502,6 @@ struct AfterNewGRFScan : NewGRFScanCallback {
|
|||||||
}
|
}
|
||||||
#endif /* ENABLE_NETWORK */
|
#endif /* ENABLE_NETWORK */
|
||||||
|
|
||||||
// TODO: remove this hack in one year
|
|
||||||
// Check if OpenTTD config is broken by blitter changing code
|
|
||||||
static bool checked = false;
|
|
||||||
DEBUG(misc, 0, "========= Limits for vehicles: %d %d %d %d", _settings_newgame.vehicle.max_trains, _settings_newgame.vehicle.max_roadveh, _settings_newgame.vehicle.max_aircraft, _settings_newgame.vehicle.max_ships);
|
|
||||||
if (!checked &&
|
|
||||||
_settings_newgame.vehicle.max_trains == 0 && _settings_newgame.vehicle.max_roadveh == 0 &&
|
|
||||||
_settings_newgame.vehicle.max_aircraft == 0 && _settings_newgame.vehicle.max_ships == 0) {
|
|
||||||
if (access(".openttd/openttd-backup.cfg", F_OK) == 0) {
|
|
||||||
system("mv -f .openttd/openttd-backup.cfg .openttd/openttd.cfg");
|
|
||||||
} else {
|
|
||||||
unlink("libsdl-DownloadFinished-1.flag");
|
|
||||||
}
|
|
||||||
//_exit_game = true;
|
|
||||||
//_restart_game = true;
|
|
||||||
_exit(0); // kill(getpid(), SIG_KILL); //abort(); // Kill myself with contempt, user will restart the app, because otherwise we enter infinite restart loop
|
|
||||||
}
|
|
||||||
checked = true;
|
|
||||||
|
|
||||||
/* After the scan we're not used anymore. */
|
/* After the scan we're not used anymore. */
|
||||||
delete this;
|
delete this;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,6 +24,7 @@
|
|||||||
#include "tilehighlight_func.h"
|
#include "tilehighlight_func.h"
|
||||||
#include "network/network.h"
|
#include "network/network.h"
|
||||||
#include "station_base.h"
|
#include "station_base.h"
|
||||||
|
#include "industry.h"
|
||||||
#include "waypoint_base.h"
|
#include "waypoint_base.h"
|
||||||
#include "core/geometry_func.hpp"
|
#include "core/geometry_func.hpp"
|
||||||
#include "hotkeys.h"
|
#include "hotkeys.h"
|
||||||
@@ -389,11 +390,18 @@ static Order GetOrderCmdFromTile(const Vehicle *v, TileIndex tile)
|
|||||||
return order;
|
return order;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (IsTileType(tile, MP_STATION)) {
|
/* check for station or industry with neutral station */
|
||||||
StationID st_index = GetStationIndex(tile);
|
if (IsTileType(tile, MP_STATION) || IsTileType(tile, MP_INDUSTRY)) {
|
||||||
const Station *st = Station::Get(st_index);
|
const Station *st = nullptr;
|
||||||
|
|
||||||
if (st->owner == _local_company || st->owner == OWNER_NONE) {
|
if (IsTileType(tile, MP_INDUSTRY)) {
|
||||||
|
const Industry *in = Industry::GetByTile(tile);
|
||||||
|
tile = in->location.tile;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (IsTileType(tile, MP_STATION)) st = Station::GetByTile(tile);
|
||||||
|
|
||||||
|
if (st != nullptr && (st->owner == _local_company || st->owner == OWNER_NONE)) {
|
||||||
byte facil;
|
byte facil;
|
||||||
(facil = FACIL_DOCK, v->type == VEH_SHIP) ||
|
(facil = FACIL_DOCK, v->type == VEH_SHIP) ||
|
||||||
(facil = FACIL_TRAIN, v->type == VEH_TRAIN) ||
|
(facil = FACIL_TRAIN, v->type == VEH_TRAIN) ||
|
||||||
@@ -401,6 +409,7 @@ static Order GetOrderCmdFromTile(const Vehicle *v, TileIndex tile)
|
|||||||
(facil = FACIL_BUS_STOP, v->type == VEH_ROAD && RoadVehicle::From(v)->IsBus()) ||
|
(facil = FACIL_BUS_STOP, v->type == VEH_ROAD && RoadVehicle::From(v)->IsBus()) ||
|
||||||
(facil = FACIL_TRUCK_STOP, 1);
|
(facil = FACIL_TRUCK_STOP, 1);
|
||||||
if (st->facilities & facil) {
|
if (st->facilities & facil) {
|
||||||
|
StationID st_index = GetStationIndex(st->xy);
|
||||||
order.MakeGoToStation(st_index);
|
order.MakeGoToStation(st_index);
|
||||||
if (_ctrl_pressed) order.SetLoadType(OLF_FULL_LOAD_ANY);
|
if (_ctrl_pressed) order.SetLoadType(OLF_FULL_LOAD_ANY);
|
||||||
if (_settings_client.gui.new_nonstop && v->IsGroundVehicle()) order.SetNonStopType(ONSF_NO_STOP_AT_INTERMEDIATE_STATIONS);
|
if (_settings_client.gui.new_nonstop && v->IsGroundVehicle()) order.SetNonStopType(ONSF_NO_STOP_AT_INTERMEDIATE_STATIONS);
|
||||||
|
|||||||
@@ -203,7 +203,7 @@ public:
|
|||||||
char message[1024];
|
char message[1024];
|
||||||
seprintf(message, lastof(message),
|
seprintf(message, lastof(message),
|
||||||
"Please send the generated crash information and the last (auto)save to the developers. "
|
"Please send the generated crash information and the last (auto)save to the developers. "
|
||||||
"This will greatly help debugging. The correct place to do this is http://bugs.openttd.org.\n\n"
|
"This will greatly help debugging. The correct place to do this is https://github.com/OpenTTD/OpenTTD/issues.\n\n"
|
||||||
"Generated file(s):\n%s\n%s\n%s",
|
"Generated file(s):\n%s\n%s\n%s",
|
||||||
this->filename_log, this->filename_save, this->filename_screenshot);
|
this->filename_log, this->filename_save, this->filename_screenshot);
|
||||||
|
|
||||||
|
|||||||
@@ -305,6 +305,13 @@ int MacOSStringCompare(const char *s1, const char *s2)
|
|||||||
CFStringRef cf1 = CFStringCreateWithCString(kCFAllocatorDefault, s1, kCFStringEncodingUTF8);
|
CFStringRef cf1 = CFStringCreateWithCString(kCFAllocatorDefault, s1, kCFStringEncodingUTF8);
|
||||||
CFStringRef cf2 = CFStringCreateWithCString(kCFAllocatorDefault, s2, kCFStringEncodingUTF8);
|
CFStringRef cf2 = CFStringCreateWithCString(kCFAllocatorDefault, s2, kCFStringEncodingUTF8);
|
||||||
|
|
||||||
|
/* If any CFString could not be created (e.g., due to UTF8 invalid chars), return OS unsupported functionality */
|
||||||
|
if (cf1 == nullptr || cf2 == nullptr) {
|
||||||
|
if (cf1 != nullptr) CFRelease(cf1);
|
||||||
|
if (cf2 != nullptr) CFRelease(cf2);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
CFComparisonResult res = CFStringCompareWithOptionsAndLocale(cf1, cf2, CFRangeMake(0, CFStringGetLength(cf1)), flags, _osx_locale);
|
CFComparisonResult res = CFStringCompareWithOptionsAndLocale(cf1, cf2, CFRangeMake(0, CFStringGetLength(cf1)), flags, _osx_locale);
|
||||||
|
|
||||||
CFRelease(cf1);
|
CFRelease(cf1);
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user