Compare commits
204 Commits
1.10.0-bet
...
1.10.3
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
baf5bf29fa | ||
|
|
2a083e6c0d | ||
|
|
d9702c9d20 | ||
|
|
f8bbd8dea0 | ||
|
|
77bee1b941 | ||
|
|
4d7d0f0015 | ||
|
|
f712c235e9 | ||
|
|
dbb58fa5de | ||
|
|
7b05f8e741 | ||
|
|
e3ee7913d4 | ||
|
|
d8c4a58448 | ||
|
|
cf943d3a74 | ||
|
|
096cbf2dbb | ||
|
|
3cfb8524f0 | ||
|
|
a9aa636b40 | ||
|
|
cb5a1300ac | ||
|
|
536184e21f | ||
|
|
97504e7c29 | ||
|
|
24960b4641 | ||
|
|
482974b9fe | ||
|
|
4b1070cf75 | ||
|
|
b827e2415b | ||
|
|
c10571d7ce | ||
|
|
d662e8ca96 | ||
| 762f5d258a | |||
|
|
b7fa118069 | ||
|
|
211735de3a | ||
|
|
430ce20f8d | ||
|
|
20007fd1f4 | ||
|
|
02980119e4 | ||
|
|
dd4aae830d | ||
|
|
f4ed770cff | ||
|
|
89c8215b79 | ||
|
|
911f9165cf | ||
|
|
2748a90bc9 | ||
|
|
583a2221ca | ||
|
|
86113008ab | ||
|
|
31a9f549fb | ||
|
|
8203adecb5 | ||
|
|
3d8e68f966 | ||
|
|
aca5d97a68 | ||
|
|
fd8ca95947 | ||
|
|
9617fa727d | ||
|
|
74b591c2e9 | ||
|
|
78e558717c | ||
|
|
cb9c4bf4a0 | ||
|
|
e39c5829a2 | ||
|
|
a089c876ab | ||
|
|
1072c74bc4 | ||
|
|
bb251f45fc | ||
|
|
21aa339901 | ||
|
|
3132d29805 | ||
|
|
94581d352a | ||
|
|
cf27deb675 | ||
|
|
40d68273aa | ||
|
|
2cc244bde0 | ||
|
|
7872b1e0b5 | ||
|
|
22519b3b0d | ||
|
|
5b2447e10c | ||
|
|
e0680c9ede | ||
|
|
ea895f05eb | ||
|
|
37187df7ef | ||
|
|
2faa89a98e | ||
|
|
4297cc5f21 | ||
|
|
591ca82845 | ||
|
|
e90322f6e9 | ||
|
|
978cc774ec | ||
|
|
7f77b8c1e2 | ||
|
|
2bf936bbbc | ||
|
|
eb8d79f41f | ||
|
|
0737458ec4 | ||
|
|
7e659bc3da | ||
|
|
612c912144 | ||
|
|
c8cd5f7f3a | ||
|
|
0c87ae1875 | ||
|
|
cc458c9559 | ||
|
|
9f0371117b | ||
|
|
b6d409f8a7 | ||
|
|
d0613bad11 | ||
|
|
27cbee76b4 | ||
|
|
7e3eabdaae | ||
|
|
a4d73d74a2 | ||
|
|
d4bd17d443 | ||
|
|
a82dca883f | ||
|
|
18ad0fa983 | ||
|
|
fd64c62bcd | ||
|
|
b542ebfb52 | ||
|
|
318b51c58a | ||
|
|
df7f642a02 | ||
|
|
a0dc9ef847 | ||
|
|
8b4501604c | ||
|
|
4082121511 | ||
|
|
40b3bc6f1a | ||
|
|
b5a8510b9b | ||
|
|
aa7dbdc42e | ||
|
|
2f57d65575 | ||
|
|
ceae49a1d8 | ||
|
|
dc2f10bf11 | ||
|
|
0643a3627f | ||
|
|
fd106cf67b | ||
|
|
3d5b729290 | ||
|
|
81ed69d8d4 | ||
|
|
bd3ba91181 | ||
|
|
49d2a07f66 | ||
|
|
887dce4655 | ||
|
|
a499e9acdd | ||
|
|
2b1a7ceb4e | ||
|
|
1a88fb5c91 | ||
|
|
9e632355f1 | ||
|
|
04ce1f0713 | ||
|
|
107283748a | ||
|
|
f389d66e36 | ||
|
|
76eab18f02 | ||
|
|
3089c625e4 | ||
|
|
492d2704f1 | ||
|
|
805ecd32be | ||
|
|
3fcb240f8e | ||
|
|
58c8ff456e | ||
|
|
5880f1479f | ||
|
|
b5d56559d2 | ||
|
|
ac7cc18ab9 | ||
|
|
14af8701df | ||
|
|
196157b29e | ||
|
|
be9ca4689e | ||
|
|
5df01bf95e | ||
|
|
2fee030a26 | ||
|
|
a38122e6f2 | ||
|
|
791eaedb64 | ||
|
|
fff05cf117 | ||
|
|
2158e26b9e | ||
|
|
bf4672864d | ||
|
|
c8779fb311 | ||
|
|
f88ac83408 | ||
|
|
341941af85 | ||
|
|
9d5dd893cd | ||
|
|
fb3de33a38 | ||
|
|
6dfe5c852e | ||
|
|
3b177af826 | ||
|
|
8fe38afd2b | ||
|
|
d7a928a08b | ||
|
|
4366f8e46a | ||
|
|
5a4b27d73a | ||
|
|
2fc2058b3b | ||
|
|
dbbd0f5ddc | ||
|
|
87700bfe0e | ||
|
|
d35f35a968 | ||
|
|
c3223903ed | ||
|
|
f1734e7815 | ||
|
|
22ba048c89 | ||
|
|
f2d230d91c | ||
|
|
a4be4514c9 | ||
|
|
41163331aa | ||
|
|
1ab3fe6b85 | ||
|
|
823333c4b0 | ||
|
|
a411ce18c9 | ||
|
|
1225693b9c | ||
|
|
b144258bf0 | ||
|
|
34b7cb6c03 | ||
|
|
8b0e4bb101 | ||
|
|
6e7117e04c | ||
|
|
190e074287 | ||
|
|
5a31efd98d | ||
|
|
7413d65c2a | ||
|
|
f02b643a44 | ||
|
|
35c55dfe70 | ||
|
|
fa71375ec2 | ||
|
|
5c10c426fe | ||
|
|
150dfba95b | ||
|
|
4cc1420beb | ||
|
|
a0066ebca1 | ||
|
|
eb07e174f1 | ||
|
|
1812b0cf49 | ||
|
|
5b52f25902 | ||
|
|
39e6247bec | ||
|
|
ac3bc30a30 | ||
|
|
838117b05e | ||
|
|
596fb5d54a | ||
|
|
808253c29c | ||
|
|
70f9c3c655 | ||
|
|
ab9042145e | ||
|
|
d1cead7f25 | ||
|
|
cddb8a4605 | ||
|
|
12380fc1bb | ||
|
|
12f4602f57 | ||
|
|
7be9c28037 | ||
|
|
f401622149 | ||
|
|
b524f1ae21 | ||
|
|
e04ca904a9 | ||
|
|
e7922cd078 | ||
|
|
9e7c5235e8 | ||
|
|
9e4533dc8f | ||
|
|
3a557b0336 | ||
|
|
e558aa8ff4 | ||
|
|
90f4abe03f | ||
|
|
24bace32ba | ||
|
|
f6ce5c4563 | ||
|
|
86107028a4 | ||
|
|
e18f1703d2 | ||
|
|
2fd871e2af | ||
|
|
69f9529ba3 | ||
|
|
0e78393774 | ||
|
|
7f25032766 | ||
|
|
a6901f8ae8 | ||
|
|
16537b472c |
@@ -12,3 +12,4 @@ notifications:
|
||||
commit-comment:
|
||||
pull-request:
|
||||
issue:
|
||||
tag-created:
|
||||
|
||||
45
.github/workflows/commit-checker.yml
vendored
Normal file
45
.github/workflows/commit-checker.yml
vendored
Normal file
@@ -0,0 +1,45 @@
|
||||
name: Commit checker
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
|
||||
jobs:
|
||||
commit-checker:
|
||||
name: Commit checker
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
fetch-depth: 4
|
||||
|
||||
- name: Get pull-request commits
|
||||
run: |
|
||||
set -x
|
||||
# actions/checkout did a merge checkout of the pull-request. As such, the first
|
||||
# commit is the merge commit. This means that on HEAD^ is the base branch, and
|
||||
# on HEAD^2 are the commits from the pull-request. We now check if those trees
|
||||
# have a common parent. If not, we fetch a few more commits till we do. In result,
|
||||
# the log between HEAD^ and HEAD^2 will be the commits in the pull-request.
|
||||
DEPTH=4
|
||||
while [ -z "$(git merge-base HEAD^ HEAD^2)" ]; do
|
||||
git -c protocol.version=2 fetch --no-tags --prune --progress --no-recurse-submodules --deepen=${DEPTH} origin HEAD
|
||||
DEPTH=$(( ${DEPTH} * 4 ))
|
||||
done
|
||||
|
||||
# Just to show which commits we are going to evaluate.
|
||||
git log --oneline HEAD^..HEAD^2
|
||||
|
||||
- name: Checkout commit-checker
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
repository: OpenTTD/OpenTTD-git-hooks
|
||||
path: git-hooks
|
||||
ref: master
|
||||
|
||||
- name: Check commits
|
||||
run: |
|
||||
set -x
|
||||
HOOKS_DIR=./git-hooks/hooks GIT_DIR=.git ./git-hooks/hooks/check-commits.sh HEAD^..HEAD^2
|
||||
echo "Commit checks passed"
|
||||
4
Doxyfile
4
Doxyfile
@@ -7,8 +7,8 @@
|
||||
# Project related configuration options
|
||||
#---------------------------------------------------------------------------
|
||||
DOXYFILE_ENCODING = UTF-8
|
||||
PROJECT_NAME = OpenTTD
|
||||
PROJECT_NUMBER =
|
||||
PROJECT_NAME = "OpenTTD Source"
|
||||
PROJECT_NUMBER = $(VERSION)
|
||||
PROJECT_BRIEF =
|
||||
PROJECT_LOGO =
|
||||
OUTPUT_DIRECTORY = docs/source/
|
||||
|
||||
@@ -91,6 +91,7 @@ ISODATE := $(shell echo "$(VERSIONS)" | cut -f 2 -d' ')
|
||||
GITHASH := $(shell echo "$(VERSIONS)" | cut -f 4 -d' ')
|
||||
ISTAG := $(shell echo "$(VERSIONS)" | cut -f 5 -d' ')
|
||||
ISSTABLETAG := $(shell echo "$(VERSIONS)" | cut -f 6 -d' ')
|
||||
YEAR := $(shell echo "$(VERSIONS)" | cut -f 7 -d' ')
|
||||
|
||||
# Make sure we have something in VERSION and ISODATE
|
||||
ifeq ($(VERSION),)
|
||||
@@ -272,10 +273,10 @@ endif
|
||||
# Revision files
|
||||
|
||||
$(SRC_DIR)/rev.cpp: $(CONFIG_CACHE_VERSION) $(SRC_DIR)/rev.cpp.in
|
||||
$(Q)cat $(SRC_DIR)/rev.cpp.in | sed "s@\!\!ISODATE\!\!@$(ISODATE)@g;s@!!VERSION!!@$(VERSION)@g;s@!!MODIFIED!!@$(MODIFIED)@g;s@!!DATE!!@`date +%d.%m.%y`@g;s@!!GITHASH!!@$(GITHASH)@g;s@!!ISTAG!!@$(ISTAG)@g;s@!!ISSTABLETAG!!@$(ISSTABLETAG)@g" > $(SRC_DIR)/rev.cpp
|
||||
$(Q)cat $(SRC_DIR)/rev.cpp.in | sed "s@\!\!ISODATE\!\!@$(ISODATE)@g;s@!!VERSION!!@$(VERSION)@g;s@!!MODIFIED!!@$(MODIFIED)@g;s@!!DATE!!@`date +%d.%m.%y`@g;s@!!GITHASH!!@$(GITHASH)@g;s@!!ISTAG!!@$(ISTAG)@g;s@!!ISSTABLETAG!!@$(ISSTABLETAG)@g;s@!!YEAR!!@$(YEAR)@g" > $(SRC_DIR)/rev.cpp
|
||||
|
||||
$(SRC_DIR)/os/windows/ottdres.rc: $(CONFIG_CACHE_VERSION) $(SRC_DIR)/os/windows/ottdres.rc.in
|
||||
$(Q)cat $(SRC_DIR)/os/windows/ottdres.rc.in | sed "s@\!\!ISODATE\!\!@$(ISODATE)@g;s@!!VERSION!!@$(VERSION)@g;s@!!DATE!!@`date +%d.%m.%y`@g;s@!!GITHASH!!@$(GITHASH)@g;s@!!ISTAG!!@$(ISTAG)@g;s@!!ISSTABLETAG!!@$(ISSTABLETAG)@g" > $(SRC_DIR)/os/windows/ottdres.rc
|
||||
$(Q)cat $(SRC_DIR)/os/windows/ottdres.rc.in | sed "s@\!\!ISODATE\!\!@$(ISODATE)@g;s@!!VERSION!!@$(VERSION)@g;s@!!DATE!!@`date +%d.%m.%y`@g;s@!!GITHASH!!@$(GITHASH)@g;s@!!ISTAG!!@$(ISTAG)@g;s@!!ISSTABLETAG!!@$(ISSTABLETAG)@g;s@!!YEAR!!@$(YEAR)@g" > $(SRC_DIR)/os/windows/ottdres.rc
|
||||
|
||||
FORCE:
|
||||
|
||||
|
||||
@@ -39,8 +39,6 @@ jobs:
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
commit-checker:
|
||||
Tag: 'commit-checker'
|
||||
linux-amd64-clang-3.9:
|
||||
Tag: 'linux-amd64-clang-3.9'
|
||||
linux-amd64-gcc-6:
|
||||
@@ -60,7 +58,7 @@ jobs:
|
||||
- job: macos
|
||||
displayName: 'MacOS'
|
||||
pool:
|
||||
vmImage: 'macOS-10.13'
|
||||
vmImage: 'macOS-10.14'
|
||||
|
||||
variables:
|
||||
MACOSX_DEPLOYMENT_TARGET: 10.9
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/sh
|
||||
|
||||
tag=$(git describe --tags 2>/dev/null)
|
||||
tag=$(git name-rev --name-only --tags --no-undefined HEAD 2>/dev/null | sed 's@\^0$@@')
|
||||
|
||||
# If we are a tag, show the part of the changelog till (but excluding) the last stable
|
||||
if [ -n "$tag" ]; then
|
||||
@@ -12,5 +12,5 @@ fi
|
||||
|
||||
# In all other cases, show the git log of the last 7 days
|
||||
revdate=$(git log -1 --pretty=format:"%ci")
|
||||
last_week=$(date -u -d "$revdate -7days" +"%Y-%m-%d %H:%M")
|
||||
last_week=$(date -d "$revdate -7days" +"%Y-%m-%d %H:%M")
|
||||
git log --after="${last_week}" --pretty=fuller
|
||||
|
||||
@@ -65,6 +65,7 @@ output_files() {
|
||||
if [ ! -e ${FOLDER}/${filename}.md5sum ] || [ ! -e ${FOLDER}/${filename}.sha1sum ] || [ ! -e ${FOLDER}/${filename}.sha256sum ]; then
|
||||
echo "ERROR: missing checksum file for ${filename}" 1>&2
|
||||
error="y"
|
||||
shift
|
||||
continue
|
||||
fi
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@ steps:
|
||||
- bash: |
|
||||
set -ex
|
||||
cd bin/baseset
|
||||
curl -L https://binaries.openttd.org/extra/opengfx/0.5.2/opengfx-0.5.2-all.zip > opengfx-0.5.2-all.zip
|
||||
unzip opengfx-0.5.2-all.zip
|
||||
rm -f opengfx-0.5.2-all.zip
|
||||
curl -L https://cdn.openttd.org/opengfx-releases/0.6.0/opengfx-0.6.0-all.zip > opengfx-all.zip
|
||||
unzip opengfx-all.zip
|
||||
rm -f opengfx-all.zip
|
||||
displayName: 'Install OpenGFX'
|
||||
|
||||
@@ -119,6 +119,8 @@ jobs:
|
||||
Tag: 'linux-ubuntu-bionic-i386-gcc'
|
||||
linux-ubuntu-bionic-amd64-gcc:
|
||||
Tag: 'linux-ubuntu-bionic-amd64-gcc'
|
||||
linux-ubuntu-focal-amd64-gcc:
|
||||
Tag: 'linux-ubuntu-focal-amd64-gcc'
|
||||
linux-debian-stretch-i386-gcc:
|
||||
Tag: 'linux-debian-stretch-i386-gcc'
|
||||
linux-debian-stretch-amd64-gcc:
|
||||
@@ -141,7 +143,7 @@ jobs:
|
||||
- job: macos
|
||||
displayName: 'MacOS'
|
||||
pool:
|
||||
vmImage: 'macOS-10.13'
|
||||
vmImage: 'macOS-10.14'
|
||||
dependsOn: source
|
||||
|
||||
variables:
|
||||
|
||||
@@ -1690,6 +1690,9 @@ function Regression::Vehicle()
|
||||
print(" BuildVehicle(): " + AIVehicle.BuildVehicle(10008, 9));
|
||||
print(" BuildVehicle(): " + AIVehicle.BuildVehicle(10008, 27));
|
||||
print(" BuildVehicle(): " + AIVehicle.BuildVehicle(10008, 27));
|
||||
print(" IsValidVehicle(17): " + AIVehicle.IsValidVehicle(17));
|
||||
print(" IsValidVehicle(18): " + AIVehicle.IsValidVehicle(18));
|
||||
print(" IsValidVehicle(19): " + AIVehicle.IsValidVehicle(19)); // 19 is immediately joined to 18
|
||||
print(" MoveWagonChain(): " + AIVehicle.MoveWagonChain(18, 0, 17, 0));
|
||||
print(" GetNumWagons(): " + AIVehicle.GetNumWagons(17));
|
||||
print(" GetLength(): " + AIVehicle.GetLength(17));
|
||||
|
||||
@@ -9115,6 +9115,9 @@ ERROR: IsEnd() is invalid as Begin() is never called
|
||||
BuildVehicle(): 17
|
||||
BuildVehicle(): 18
|
||||
BuildVehicle(): 19
|
||||
IsValidVehicle(17): true
|
||||
IsValidVehicle(18): true
|
||||
IsValidVehicle(19): false
|
||||
MoveWagonChain(): true
|
||||
GetNumWagons(): 3
|
||||
GetLength(): 24
|
||||
|
||||
Binary file not shown.
Binary file not shown.
119
changelog.txt
119
changelog.txt
@@ -1,3 +1,122 @@
|
||||
1.10.3 (2020-08-09)
|
||||
------------------------------------------------------------------------
|
||||
Change: Also make roadside trees match the tree transparency option (#8245)
|
||||
Fix: Center text and icons in the status bar vertically (#8273)
|
||||
Fix: [NRT] Set invalid road and tram types for rail tunnel ends (#8269)
|
||||
Fix #7980: Properly invalidate mouse-over station coverage highlight (#8263)
|
||||
Fix #8250: [NRT] Company infrastructure window always omits last road/tramtype (#8251)
|
||||
Fix #8162: [NRT] Improve error message when converting town owned road (#8247)
|
||||
Fix #8216: Don't show floating text on autoreplace if cost is 0 (#8244)
|
||||
Fix #8129: Crash if a news message expires while viewing the endgame screen (#8243)
|
||||
Fix #8221: Use more specific error message when a bridge is too long (#8240)
|
||||
Fix #8230: Resolve ".." when opening files in .tar (#8231)
|
||||
Fix: A few race conditions in netcode (#8227, #8228, #8229)
|
||||
Fix #7838: Crash relating to group creation and renaming (#8223)
|
||||
Fix #8104: [SDL2] Fix window resizability when going from fullscreen to windowed mode (#8211)
|
||||
Fix: Display banlist's indexes correctly (#8209)
|
||||
Fix: Possible desync with subsidy creation (#8159)
|
||||
Fix #8131: Draw small bridges pillars in more places (#8149)
|
||||
|
||||
|
||||
1.10.2 (2020-06-01)
|
||||
------------------------------------------------------------------------
|
||||
Add: Ubuntu 20.04 packages (#8127)
|
||||
Fix: [OSX] Possible crash on failure to set colourspace (#8181)
|
||||
Fix #8166: Prevent crash from a NewGRF with an invalid RoadType (#8180)
|
||||
Fix #8024: Make Online Content GUI more responsive while loading (#8179)
|
||||
Fix #7970: Disable event loop when generating crash dump (#8176)
|
||||
Fix: [Build] Compatibility with modern Visual Studio (#8170)
|
||||
Fix: Trees would disappear completely after a few years if tree spread was disabled (#8160)
|
||||
Fix #8155: Roadtype speed limit in scenario editor toolbar dropdown was doubled (#8156)
|
||||
Fix: Desync after house replacement (#8151)
|
||||
Fix #8137: New clients can't join (desync) after funding an industry (#8140)
|
||||
Fix #8132: Corrupted savegame with station with multiple owners caused a crash (#8134, #8142)
|
||||
Fix: Stop gamelog when recovering from a savegame load error (#8133)
|
||||
Fix: Exceptionally unlikely issue when reading MIDI files (#8125)
|
||||
Fix #8119: Docking areas were not properly updated when clearing, causing desyncs (#8124, #8130)
|
||||
Fix #8117: Memory leak for incoming admin port packets (#8122)
|
||||
Fix: Non-roadbridges potentially had roadtype information set (#8111)
|
||||
Fix #8108: Possible crash on loading TTD savegames with phantom oil rigs (#8109, #8110)
|
||||
Fix #8093: Build & refit test run changed game state and could cause desyncs (#8103)
|
||||
Fix: [Script] AreWaterTilesConnected did not handle aqueducts properly (#8074)
|
||||
|
||||
|
||||
1.10.1 (2020-04-13)
|
||||
------------------------------------------------------------------------
|
||||
Fix #8081: Crash when placing a ship depot next to a dock (#8082)
|
||||
Fix: [GS] A Goal's QuestionID was getting truncated (#8072)
|
||||
Fix #8064: Refit capacity could be displayed incorrectly in extreme edgecases (#8065)
|
||||
Fix #8060: Restore admin network API compatibility (#8061)
|
||||
Fix #8055: Crash when roadtype availability changes with the road construction toolbar open (#8058)
|
||||
|
||||
|
||||
1.10.0 (2020-04-01)
|
||||
------------------------------------------------------------------------
|
||||
Change: Open company window when clicking on a company goal (#8033)
|
||||
Change: [SDL2] Support pasting from clipboard on Linux (#8004)
|
||||
Fix: [Script] Random deviation upper bound range should be inclusive (#8052)
|
||||
Fix #8043: Incorrect handling of global road/tram hotkeys caused a crash (#8044)
|
||||
Fix #8039: [Script] SetOrderFlags and GetOrderDestination didn't work for oil rigs (#8040)
|
||||
Fix: [Script] CanBuildConnectedRoadPartsHere neighbours tiles were incorrect if you started a new game with a different world size (#8036)
|
||||
Fix: Ignore clicks on non-applicable global goals (#8035)
|
||||
Fix #7613: Limit News Window to 1024 messages to keep it usable and avoid overflowing scrollbars (#8026)
|
||||
Fix #7644: [OSX] Hopefully improve performance by manually set colorspace to sRGB (#8023)
|
||||
Fix #8020: Add missing docking tiles around industry neutral stations (#8021)
|
||||
Fix: GUI tramway icon only contained a single set of tram tracks (#8015)
|
||||
Fix: Station with multiple docks had the wrong tile area (#8014)
|
||||
Fix #8011: Crash when loading TTD scenario containing a dock (#8012)
|
||||
Fix #7998: Crash when scripts tried to access companies with invalid IDs (#8010)
|
||||
Fix: Crash when attempting to draw a string containing nonprintable characters (#8005)
|
||||
Fix #6399: Directory ~/.local/share not created if it didn't already exist (#8003)
|
||||
Fix #7958: Custom catenary missing on road bridges (#7991)
|
||||
Fix #7944: Demolishing locks built on rivers didn't always restore the river (#7946)
|
||||
|
||||
|
||||
1.10.0-RC1 (2020-02-09)
|
||||
------------------------------------------------------------------------
|
||||
Feature: Allow server to supply a reason to kicked/banned clients (#7859)
|
||||
Feature: [NewGRF] Station variable 6A, querying GRFID of nearby station tiles (#7956)
|
||||
Feature: Improved logic of sharing industry production between 3 or more stations (#7922)
|
||||
Feature: Highlight the item under mouse cursor in file browser (#7900)
|
||||
Feature: [GS] Methods to change town rating of companies (#7898)
|
||||
Feature: [NewGRF] Callback profiling command (#7868)
|
||||
Feature: Add a setting to show the name of the NewGRF of a vehicle in the build window (#7852)
|
||||
Feature: Ability to filter industry directory window by cargo (#7843)
|
||||
Feature: Minimap screenshot type (#7817)
|
||||
Feature: [GS] Methods to control engine availability of a specific company (#7791)
|
||||
Feature: Configurable game ending year (#7747)
|
||||
Feature: Separate window for taking screenshots (#7550)
|
||||
Change: Move autorenew setting to basic category (#7984)
|
||||
Change: Improved algorithm for transfer feeder payments (#7935)
|
||||
Change: Show volume sliders with wedges instead of boxy slider (#7902)
|
||||
Change: Auto-restart loads the original resources (e.g. save or scenario) again (#7688)
|
||||
Change: Improve readability of integer lists saved to config files (#7396)
|
||||
Fix #7976: Crash when attempting to kick the host via rcon (#7985)
|
||||
Fix #7592: Road vehicles no longer balanced between multiple road stop stations (#7979)
|
||||
Fix: Station rating effects affecting too large area (#7977)
|
||||
Fix #7974: Crash when Ctrl+click to show a collapsed vehicle group (#7975)
|
||||
Fix #7969: Crash when executing a recursive console alias (#7973)
|
||||
Fix #6566: Very long loading of the maximum "zoom out" level at high resolutions (#7968)
|
||||
Fix #7952: Crash when switching input languages (#7953)
|
||||
Fix: [OSX] Don't show a crash/assertion message box for a GUI-less video driver (#7934)
|
||||
Fix #7925: Corrupt savegames could lead to corruption of the titlegame (#7932)
|
||||
Fix: [Fluidsynth] Music notes from previous song were not properly reset (#7930)
|
||||
Fix: Invalid string usage within music window (#7928)
|
||||
Fix: Non-deterministic name sorting in industry directory window (#7915)
|
||||
Fix #7899: Various issues with town list window sorting (#7906, #7916)
|
||||
Fix #7587: Fix possible crashes when loading old save games with invalid waypoint positions (#7894)
|
||||
Fix: Avoid a crash by properly resetting timetable duration when loading old savegames (#7894)
|
||||
Fix: Possible crash when post road-works cleanup removes all road pieces (#7903)
|
||||
Fix #7891: Fix crash when loading save from 1.7.2 (#7892)
|
||||
Fix #7887: Missing sound effects for some main toolbar buttons (#7888)
|
||||
Fix #6667: Avoid confusion by also recalculating bridge costs for 'spectated' AI companies (#7884)
|
||||
Fix: Allow old NewGRF industries to hide in/out cargo slots (#7882)
|
||||
Fix: [Windows] Fix bootstrap GUI with Uniscribe but no Freetype (#7878)
|
||||
Fix: Missing keycodes for hotkeys.cfg (#7850)
|
||||
Fix #7625: Ensure road infrastructure cost is correctly updated when upgrading your own roads (#7628)
|
||||
Fix #7088: Avoid crash by closing AI/GS textfile windows when changing their in-game slot (#7094)
|
||||
|
||||
|
||||
1.10.0-beta2 (2019-12-25)
|
||||
------------------------------------------------------------------------
|
||||
- Feature: [Script] More error mappings (#7857)
|
||||
|
||||
20
config.lib
20
config.lib
@@ -54,8 +54,8 @@ set_default() {
|
||||
enable_translator="0"
|
||||
enable_unicode="1"
|
||||
enable_console="1";
|
||||
enable_assert="1"
|
||||
enable_strip="0"
|
||||
enable_assert="0"
|
||||
enable_strip="1"
|
||||
enable_universal="0"
|
||||
enable_osx_g5="0"
|
||||
enable_cocoa_quartz="1"
|
||||
@@ -2405,16 +2405,17 @@ detect_sdl() {
|
||||
log 1 "checking SDL... disabled"
|
||||
|
||||
sdl_config=""
|
||||
sdl2_config=""
|
||||
return 0
|
||||
fi
|
||||
|
||||
if [ "$with_sdl" = "2" ] && [ "$with_cocoa" = "2" ]; then
|
||||
if [ "$with_sdl" != "1" ] && [ "$with_cocoa" = "2" ]; then
|
||||
log 1 "configure: error: it is impossible to compile both SDL and COCOA"
|
||||
log 1 "configure: error: please deselect one of them and try again"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ "$with_sdl" = "2" ] && [ "$enable_dedicated" != "0" ]; then
|
||||
if [ "$with_sdl" != "1" ] && [ "$enable_dedicated" != "0" ]; then
|
||||
log 1 "configure: error: it is impossible to compile a dedicated with SDL"
|
||||
log 1 "configure: error: please deselect one of them and try again"
|
||||
exit 1
|
||||
@@ -2424,6 +2425,7 @@ detect_sdl() {
|
||||
log 1 "checking SDL... dedicated server, skipping"
|
||||
|
||||
sdl_config=""
|
||||
sdl2_config=""
|
||||
return 0
|
||||
fi
|
||||
|
||||
@@ -2443,10 +2445,16 @@ detect_sdl() {
|
||||
|
||||
if [ $with_sdl = "sdl1" ]; then
|
||||
detect_pkg_config "2" "sdl" "sdl_config" "1.2"
|
||||
elif [ $with_sdl = "sdl2" ] || [ -x `which sdl2-config` ]; then
|
||||
elif [ $with_sdl = "sdl2" ]; then
|
||||
detect_pkg_config "2" "sdl2" "sdl2_config" "2.0"
|
||||
else
|
||||
detect_pkg_config "$with_sdl" "sdl" "sdl_config" "1.2"
|
||||
sdl2_config=""
|
||||
if [ -x "`which sdl2-config`" ]; then
|
||||
detect_pkg_config "$with_sdl" "sdl2" "sdl2_config" "2.0"
|
||||
fi
|
||||
if [ -z "$sdl2_config" ]; then
|
||||
detect_pkg_config "$with_sdl" "sdl" "sdl_config" "1.2"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
@@ -99,3 +99,43 @@ The following is an explanation of the different statistics:
|
||||
If the frame rate window is shaded, the title bar will instead show just the
|
||||
current simulation rate and the game speed factor.
|
||||
|
||||
## 3.0) NewGRF callback profiling
|
||||
|
||||
NewGRF developers can profile callback chains via the `newgrf_profile`
|
||||
console command. The command controls a profiling mode where every sprite
|
||||
request is measured and logged, and written to a CSV file in the end.
|
||||
|
||||
The NewGRF developer tools need to be enabled for the command to function.
|
||||
|
||||
View the syntax for the command in-game with the console command
|
||||
`help newgrf_profile`.
|
||||
|
||||
Profiling only works during game or in the editor, it's not possible to
|
||||
profile across the main menu, world generation, or loading savegames.
|
||||
|
||||
The CSV files contain one line per sprite request during the profiling.
|
||||
They can get very large, especially on large games with many objects from
|
||||
the GRF. Start profiling short periods such as 3 or 7 days, and watch the
|
||||
file sizes.
|
||||
|
||||
The produced CSV file contains the following fields:
|
||||
|
||||
- *Tick* - Game tick counter, this may wrap to zero during recording.
|
||||
Mainly useful to distinguish events from separate ticks.
|
||||
- *Sprite* - Index of the root Action 2 sprite in the GRF file. This is
|
||||
the sprite group being resolved.
|
||||
- *Feature* - NewGRF feature number the sprite group is being resolved for.
|
||||
This will be 0xFF for AI purchase selection and ambient sound callbacks.
|
||||
- *Item* - The id of the item within the GRF. For cargotypes, railtypes,
|
||||
roadtypes, and tramtypes, this is the integer representation of the label.
|
||||
- *CallbackID* - The type of callback being resolved. ID 0 is regular graphics
|
||||
lookup. See the `newgrf_callbacks.h` file in the OpenTTD source code for the
|
||||
full list of callback IDs.
|
||||
- *Microseconds* - Total time spent to resolve the Action 2, in microseconds.
|
||||
- *Depth* - Number of recursive Action 2 lookups were made during resolution.
|
||||
Value zero means the sprite group resolved directly.
|
||||
- *Result* - Result of the callback resolution. For lookups that result in
|
||||
a sprite, this is the index of the base action 2 in the GRF file. For
|
||||
callbacks that give a numeric result, this is the callback result value.
|
||||
For lookups that result in an industry production or tilelayout, this
|
||||
is the sprite index of the action 2 defining the production/tilelayout.
|
||||
|
||||
@@ -67,6 +67,7 @@ if [ -d "$ROOT_DIR/.git" ] || [ -f "$ROOT_DIR/.git" ]; then
|
||||
HASH=`LC_ALL=C git rev-parse --verify HEAD 2>/dev/null`
|
||||
SHORTHASH=`echo ${HASH} | cut -c1-10`
|
||||
ISODATE=`LC_ALL=C git show -s --pretty='format:%ci' HEAD | "$AWK" '{ gsub("-", "", $1); print $1 }'`
|
||||
YEAR=`echo ${ISODATE} | cut -c1-4`
|
||||
BRANCH="`git symbolic-ref -q HEAD 2>/dev/null | sed 's@.*/@@'`"
|
||||
TAG="`git name-rev --name-only --tags --no-undefined HEAD 2>/dev/null | sed 's@\^0$@@'`"
|
||||
|
||||
@@ -103,10 +104,11 @@ else
|
||||
SHORTHASH=""
|
||||
BRANCH=""
|
||||
ISODATE=""
|
||||
YEAR=""
|
||||
TAG=""
|
||||
VERSION=""
|
||||
ISTAG="0"
|
||||
ISSTABLETAG="0"
|
||||
fi
|
||||
|
||||
echo "$VERSION $ISODATE $MODIFIED $HASH $ISTAG $ISSTABLETAG"
|
||||
echo "$VERSION $ISODATE $MODIFIED $HASH $ISTAG $ISSTABLETAG $YEAR"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
OpenTTD's known bugs
|
||||
Last updated: 2019-12-25
|
||||
Release version: 1.10.0-beta2
|
||||
Last updated: 2020-08-09
|
||||
Release version: 1.10.3
|
||||
------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
@@ -63,10 +63,14 @@ Sub Lookup(ini_key, str_id, outfile)
|
||||
For Each file In folder.Files
|
||||
If UCase(FSO.GetExtensionName(file.Name)) = "TXT" Then
|
||||
Dim f
|
||||
Set f = FSO.OpenTextFile(file.Path)
|
||||
Set f = CreateObject("ADODB.Stream")
|
||||
f.Charset = "utf-8"
|
||||
f.LineSeparator = 10 ' Assume lines end with \n even for \r\n files
|
||||
f.Open
|
||||
f.LoadFromFile(file.Path)
|
||||
|
||||
Do Until f.atEndOfStream
|
||||
line = f.ReadLine()
|
||||
Do Until f.EOS
|
||||
line = Replace(f.ReadText(-2), Chr(13), "") ' Read a line and remove any \r
|
||||
|
||||
If InStr(1, line, "##isocode ") = 1 Then
|
||||
p = Split(line)
|
||||
@@ -80,8 +84,9 @@ Sub Lookup(ini_key, str_id, outfile)
|
||||
End If
|
||||
i = i + 1
|
||||
End If
|
||||
|
||||
Loop
|
||||
|
||||
f.Close
|
||||
End If
|
||||
Next
|
||||
|
||||
@@ -89,7 +94,7 @@ Sub Lookup(ini_key, str_id, outfile)
|
||||
ISort output
|
||||
|
||||
For Each line In output
|
||||
outfile.Write line & vbCrLf
|
||||
outfile.WriteText line, 1
|
||||
Next
|
||||
|
||||
End Sub
|
||||
@@ -100,7 +105,9 @@ Dim infile
|
||||
Set infile = FSO.OpenTextFile(inputfile)
|
||||
|
||||
Dim outfile
|
||||
Set outfile = FSO.CreateTextFile(outputfile, True)
|
||||
Set outfile = CreateObject("ADODB.Stream")
|
||||
outfile.Charset = "utf-8"
|
||||
outfile.Open
|
||||
|
||||
Do Until infile.atEndOfStream
|
||||
|
||||
@@ -109,15 +116,30 @@ Do Until infile.atEndOfStream
|
||||
If InStr(1, line, "ORIG_EXTRA.GRF ") = 1 Then
|
||||
p = Split(line, "=")
|
||||
If Trim(p(1)) = "" Then
|
||||
outfile.Write("ORIG_EXTRA.GRF = " & GetExtraGrfHash() & vbCrLf)
|
||||
outfile.WriteText "ORIG_EXTRA.GRF = " & GetExtraGrfHash(), 1
|
||||
Else
|
||||
outfile.Write(line & vbCrLf)
|
||||
outfile.WriteText line, 1
|
||||
End If
|
||||
ElseIf InStr(1, line, "!! ") = 1 Then
|
||||
p = Split(line)
|
||||
Lookup p(1), p(2), outfile
|
||||
Else
|
||||
outfile.Write(line & vbCrLf)
|
||||
outfile.WriteText line, 1
|
||||
End If
|
||||
|
||||
Loop
|
||||
|
||||
' UTF-8 Text ADO Stream includes BOM, so we need to remove it
|
||||
Dim outfile_noBOM
|
||||
Set outfile_noBOM = CreateObject("ADODB.Stream")
|
||||
outfile_noBOM.Type = 1
|
||||
outfile_noBOM.Open
|
||||
|
||||
' Copy Text stream to Binary stream, skiping the BOM
|
||||
outfile.Position = 3
|
||||
outfile.CopyTo outfile_noBOM
|
||||
outfile.Close
|
||||
|
||||
' Write the Binary stream
|
||||
outfile_noBOM.SaveToFile outputfile, 2
|
||||
outfile_noBOM.Close
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 1017 B After Width: | Height: | Size: 2.2 KiB |
@@ -1,3 +1,33 @@
|
||||
openttd (1.10.3-0) unstable; urgency=low
|
||||
|
||||
* New upstream release 1.10.3
|
||||
|
||||
-- OpenTTD <info@openttd.org> Sun, 09 Aug 2020 22:00:00 +0100
|
||||
|
||||
openttd (1.10.2-0) unstable; urgency=low
|
||||
|
||||
* New upstream release 1.10.2
|
||||
|
||||
-- OpenTTD <info@openttd.org> Mon, 01 Jun 2020 22:00:00 +0100
|
||||
|
||||
openttd (1.10.1-0) unstable; urgency=low
|
||||
|
||||
* New upstream release 1.10.1
|
||||
|
||||
-- OpenTTD <info@openttd.org> Mon, 13 Apr 2020 21:00:00 +0100
|
||||
|
||||
openttd (1.10.0-0) unstable; urgency=low
|
||||
|
||||
* New upstream release 1.10.0
|
||||
|
||||
-- OpenTTD <info@openttd.org> Wed, 01 Apr 2020 12:00:00 +0000
|
||||
|
||||
openttd (1.10.0~RC1-0) unstable; urgency=low
|
||||
|
||||
* New upstream release 1.10.0-RC1
|
||||
|
||||
-- OpenTTD <info@openttd.org> Sun, 09 Feb 2020 12:00:00 +0000
|
||||
|
||||
openttd (1.10.0~beta2-0) unstable; urgency=low
|
||||
|
||||
* New upstream release 1.10.0-beta2
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
@echo off
|
||||
|
||||
set OPENTTD_VERSION=1.10.0
|
||||
set OPENTTD_VERSION=1.10.3
|
||||
set OPENSFX_VERSION=0.8.0
|
||||
set NOSOUND_VERSION=0.8.0
|
||||
set OPENGFX_VERSION=1.2.0
|
||||
|
||||
@@ -17,9 +17,9 @@
|
||||
#
|
||||
|
||||
Name: openttd
|
||||
Version: 1.10.beta2
|
||||
Version: 1.10.3
|
||||
Release: 0
|
||||
%define srcver 1.10.0-beta2
|
||||
%define srcver 1.10.3
|
||||
Summary: An open source reimplementation of Chris Sawyer's Transport Tycoon Deluxe
|
||||
License: GPL-2.0
|
||||
Group: Amusements/Games/Strategy/Other
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
# Version numbers to update
|
||||
!define APPV_MAJOR 1
|
||||
!define APPV_MINOR 10
|
||||
!define APPV_MAINT 0
|
||||
!define APPV_BUILD 1
|
||||
!define APPV_EXTRA "-beta2"
|
||||
!define APPV_MAINT 3
|
||||
!define APPV_BUILD 0
|
||||
!define APPV_EXTRA ""
|
||||
|
||||
!define APPNAME "OpenTTD" ; Define application name
|
||||
!define APPVERSION "${APPV_MAJOR}.${APPV_MINOR}.${APPV_MAINT}${APPV_EXTRA}" ; Define application version
|
||||
@@ -599,12 +599,12 @@ Function CheckWindowsVersion
|
||||
StrCmp $R0 "win9x" 0 WinNT
|
||||
ClearErrors
|
||||
StrCmp ${APPARCH} "win9x" Done 0
|
||||
MessageBox MB_YESNO|MB_ICONSTOP "You are trying to install the Windows XP SP3, Vista and 7 version on Windows 95, 98, ME, 2000 and XP without SP3. This is will not work. Please download the correct version. Do you really want to continue?" IDYES Done IDNO Abort
|
||||
MessageBox MB_YESNO|MB_ICONSTOP "You are trying to install the Windows XP SP3 and newer version on Windows 95, 98, ME, 2000, or XP without SP3. This will not work - please download the correct version. Do you really want to continue?" IDYES Done IDNO Abort
|
||||
GoTo Done
|
||||
WinNT:
|
||||
ClearErrors
|
||||
StrCmp ${APPARCH} "win9x" 0 Done
|
||||
MessageBox MB_YESNO|MB_ICONEXCLAMATION "You are trying to install the Windows 95, 98, 2000 and XP without SP3 version on Windows XP SP3, Vista or 7. This is not advised, but will work with reduced capabilities. We suggest that you download the correct version. Do you really want to continue?" IDYES Done IDNO Abort
|
||||
MessageBox MB_YESNO|MB_ICONEXCLAMATION "You are trying to install the Windows 95, 98, 2000 and XP without SP3 version on Windows XP SP3 or newer. This is not advised, but will work with reduced capabilities. We suggest that you download the correct version. Do you really want to continue?" IDYES Done IDNO Abort
|
||||
Abort:
|
||||
Quit
|
||||
Done:
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
!define APPBITS 32 ; Define number of bits for the architecture
|
||||
!define EXTRA_VERSION "XP SP3, Vista and 7"
|
||||
!define EXTRA_VERSION "XP SP3 and newer"
|
||||
!define APPARCH "win32" ; Define the application architecture
|
||||
!define BINARY_DIR "${PATH_ROOT}objs\win32\Release"
|
||||
InstallDir "$PROGRAMFILES32\OpenTTD\"
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
!define APPBITS 64 ; Define number of bits for the architecture
|
||||
!define EXTRA_VERSION "XP, Vista and 7"
|
||||
!define EXTRA_VERSION "XP and newer"
|
||||
!define APPARCH "win64" ; Define the application architecture
|
||||
!define BINARY_DIR "${PATH_ROOT}objs\x64\Release"
|
||||
InstallDir "$PROGRAMFILES64\OpenTTD\"
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
!define APPBITS 32 ; Define number of bits for the architecture
|
||||
!define EXTRA_VERSION "95, 98, ME, 2000 and XP without SP3"
|
||||
!define EXTRA_VERSION "95, 98, ME, 2000 and XP SP2 or older"
|
||||
!define APPARCH "win9x" ; Define the application architecture
|
||||
!define BINARY_DIR "${PATH_ROOT}objs\release"
|
||||
InstallDir "$PROGRAMFILES32\OpenTTD\"
|
||||
|
||||
@@ -19,7 +19,7 @@ Sub FindReplaceInFile(filename, to_find, replacement)
|
||||
file.Close
|
||||
End Sub
|
||||
|
||||
Sub UpdateFile(modified, isodate, version, cur_date, githash, istag, isstabletag, filename)
|
||||
Sub UpdateFile(modified, isodate, version, cur_date, githash, istag, isstabletag, year, filename)
|
||||
FSO.CopyFile filename & ".in", filename
|
||||
FindReplaceInFile filename, "!!MODIFIED!!", modified
|
||||
FindReplaceInFile filename, "!!ISODATE!!", isodate
|
||||
@@ -28,10 +28,11 @@ Sub UpdateFile(modified, isodate, version, cur_date, githash, istag, isstabletag
|
||||
FindReplaceInFile filename, "!!GITHASH!!", githash
|
||||
FindReplaceInFile filename, "!!ISTAG!!", istag
|
||||
FindReplaceInFile filename, "!!ISSTABLETAG!!", isstabletag
|
||||
FindReplaceInFile filename, "!!YEAR!!", year
|
||||
End Sub
|
||||
|
||||
Sub UpdateFiles(version)
|
||||
Dim modified, isodate, cur_date, githash, istag, isstabletag
|
||||
Dim modified, isodate, cur_date, githash, istag, isstabletag, year
|
||||
cur_date = DatePart("D", Date) & "." & DatePart("M", Date) & "." & DatePart("YYYY", Date)
|
||||
|
||||
If InStr(version, Chr(9)) Then
|
||||
@@ -41,26 +42,29 @@ Sub UpdateFiles(version)
|
||||
githash = Mid(modified, InStr(modified, Chr(9)) + 1)
|
||||
istag = Mid(githash, InStr(githash, Chr(9)) + 1)
|
||||
isstabletag = Mid(istag, InStr(istag, Chr(9)) + 1)
|
||||
year = Mid(isstabletag, InStr(isstabletag, Chr(9)) + 1)
|
||||
' Remove tails from fields
|
||||
version = Mid(version, 1, InStr(version, Chr(9)) - 1)
|
||||
isodate = Mid(isodate, 1, InStr(isodate, Chr(9)) - 1)
|
||||
modified = Mid(modified, 1, InStr(modified, Chr(9)) - 1)
|
||||
githash = Mid(githash, 1, InStr(githash, Chr(9)) - 1)
|
||||
istag = Mid(istag, 1, InStr(istag, Chr(9)) - 1)
|
||||
isstabletag = Mid(isstabletag, 1, InStr(isstabletag, Chr(9)) - 1)
|
||||
Else
|
||||
isodate = 0
|
||||
modified = 1
|
||||
githash = ""
|
||||
istag = 0
|
||||
isstabletag = 0
|
||||
year = ""
|
||||
End If
|
||||
|
||||
UpdateFile modified, isodate, version, cur_date, githash, istag, isstabletag, "../src/rev.cpp"
|
||||
UpdateFile modified, isodate, version, cur_date, githash, istag, isstabletag, "../src/os/windows/ottdres.rc"
|
||||
UpdateFile modified, isodate, version, cur_date, githash, istag, isstabletag, year, "../src/rev.cpp"
|
||||
UpdateFile modified, isodate, version, cur_date, githash, istag, isstabletag, year, "../src/os/windows/ottdres.rc"
|
||||
End Sub
|
||||
|
||||
Function DetermineVersion()
|
||||
Dim WshShell, branch, tag, modified, isodate, oExec, line, hash, shorthash
|
||||
Dim WshShell, branch, tag, modified, isodate, oExec, line, hash, shorthash, year
|
||||
Set WshShell = CreateObject("WScript.Shell")
|
||||
On Error Resume Next
|
||||
|
||||
@@ -70,6 +74,7 @@ Function DetermineVersion()
|
||||
branch = ""
|
||||
isodate = ""
|
||||
tag = ""
|
||||
year = ""
|
||||
|
||||
' Set the environment to english
|
||||
WshShell.Environment("PROCESS")("LANG") = "en"
|
||||
@@ -108,6 +113,7 @@ Function DetermineVersion()
|
||||
if Err.Number = 0 Then
|
||||
isodate = Mid(oExec.StdOut.ReadLine(), 1, 10)
|
||||
isodate = Replace(isodate, "-", "")
|
||||
year = Mid(isodate, 1, 4)
|
||||
End If ' Err.Number = 0
|
||||
|
||||
' Check branch
|
||||
@@ -171,7 +177,7 @@ Function DetermineVersion()
|
||||
isstabletag = 0
|
||||
End If
|
||||
|
||||
DetermineVersion = version & Chr(9) & isodate & Chr(9) & modified & Chr(9) & hash & Chr(9) & istag & Chr(9) & isstabletag
|
||||
DetermineVersion = version & Chr(9) & isodate & Chr(9) & modified & Chr(9) & hash & Chr(9) & istag & Chr(9) & isstabletag & Chr(9) & year
|
||||
End If
|
||||
End Function
|
||||
|
||||
|
||||
@@ -69,6 +69,7 @@ fi
|
||||
# First, collect the list of Windows files
|
||||
allegro_config=""
|
||||
sdl_config="1"
|
||||
sdl2_config="1"
|
||||
png_config="1"
|
||||
os="MSVC"
|
||||
enable_dedicated="0"
|
||||
@@ -123,6 +124,7 @@ load_main_data() {
|
||||
|
||||
if ($0 == "ALLEGRO" && "'$allegro_config'" == "") { next; }
|
||||
if ($0 == "SDL" && "'$sdl_config'" == "") { next; }
|
||||
if ($0 == "SDL2" && "'$sdl2_config'" == "") { next; }
|
||||
if ($0 == "PNG" && "'$png_config'" == "") { next; }
|
||||
if ($0 == "OSX" && "'$os'" != "OSX") { next; }
|
||||
if ($0 == "OS2" && "'$os'" != "OS2") { next; }
|
||||
@@ -263,19 +265,22 @@ generate() {
|
||||
echo "Generating $2..."
|
||||
# Everything above the !!FILTERS!! marker
|
||||
cat "$ROOT_DIR/projects/$2".in | ${AWK} -v BINMODE=1 -v FILTERS="$3" -v FILES="$1" '
|
||||
{ CR = (match($0, "\\r$") > 0 ? "\r" : "") }
|
||||
/^$/ { next }
|
||||
/!!FILTERS!!/ {
|
||||
split(FILTERS, filters, "\n");
|
||||
for (i = 1; filters[i] != ""; i++) {
|
||||
print filters[i] CR;
|
||||
line = $0
|
||||
gsub(/!!FILTERS!!/, filters[i], line);
|
||||
print line;
|
||||
}
|
||||
next;
|
||||
}
|
||||
/!!FILES!!/ {
|
||||
split(FILES, files, "\n");
|
||||
for (i = 1; files[i] != ""; i++) {
|
||||
print files[i] CR;
|
||||
line = $0
|
||||
gsub(/!!FILES!!/, files[i], line);
|
||||
print line;
|
||||
}
|
||||
next;
|
||||
}
|
||||
|
||||
@@ -172,6 +172,7 @@ Sub load_main_data(filename, ByRef vcxproj, ByRef filters, ByRef files)
|
||||
line = Replace(line, "#if ", "")
|
||||
If deep = skip And ( _
|
||||
line = "SDL" Or _
|
||||
line = "SDL2" Or _
|
||||
line = "PNG" Or _
|
||||
line = "WIN32" Or _
|
||||
line = "MSVC" Or _
|
||||
@@ -321,21 +322,26 @@ Sub load_baseset_data(dir, langdir, ByRef vcxproj, ByRef files, ByRef langs)
|
||||
End Sub
|
||||
|
||||
Sub generate(data, dest, data2)
|
||||
Dim srcfile, destfile, line
|
||||
Dim srcfile, destfile, line, regexp
|
||||
WScript.Echo "Generating " & FSO.GetFileName(dest) & "..."
|
||||
Set srcfile = FSO.OpenTextFile(dest & ".in", 1, 0, 0)
|
||||
Set destfile = FSO.CreateTextFile(dest, -1, 0)
|
||||
|
||||
If Not IsNull(data2) Then
|
||||
' Everything above the !!FILTERS!! marker
|
||||
Set regexp = New RegExp
|
||||
regexp.Pattern = "!!FILTERS!!"
|
||||
regexp.Global = True
|
||||
|
||||
line = srcfile.ReadLine()
|
||||
While line <> "!!FILTERS!!"
|
||||
While Not regexp.Test(line)
|
||||
If len(line) > 0 Then destfile.WriteLine(line)
|
||||
line = srcfile.ReadLine()
|
||||
Wend
|
||||
|
||||
' Our generated content
|
||||
destfile.WriteLine(data2)
|
||||
line = regexp.Replace(line, data2)
|
||||
destfile.WriteLine(line)
|
||||
End If
|
||||
|
||||
' Everything above the !!FILES!! marker
|
||||
|
||||
@@ -107,7 +107,7 @@
|
||||
<FavorSizeOrSpeed>Size</FavorSizeOrSpeed>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<AdditionalIncludeDirectories>..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_XAUDIO2;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LIBLZMA;WITH_PNG;WITH_UNISCRIBE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";WITH_ASSERT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_XAUDIO2;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LIBLZMA;WITH_PNG;WITH_UNISCRIBE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<ExceptionHandling>Sync</ExceptionHandling>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
@@ -230,7 +230,7 @@
|
||||
<FavorSizeOrSpeed>Size</FavorSizeOrSpeed>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<AdditionalIncludeDirectories>..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_XAUDIO2;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LIBLZMA;WITH_PNG;WITH_UNISCRIBE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";_SQ64;WITH_ASSERT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_XAUDIO2;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LIBLZMA;WITH_PNG;WITH_UNISCRIBE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";_SQ64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<ExceptionHandling>Sync</ExceptionHandling>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
@@ -409,6 +409,7 @@
|
||||
<ClCompile Include="..\src\rev.cpp" />
|
||||
<ClCompile Include="..\src\road.cpp" />
|
||||
<ClCompile Include="..\src\roadstop.cpp" />
|
||||
<ClCompile Include="..\src\screenshot_gui.cpp" />
|
||||
<ClCompile Include="..\src\screenshot.cpp" />
|
||||
<ClCompile Include="..\src\settings.cpp" />
|
||||
<ClCompile Include="..\src\signal.cpp" />
|
||||
@@ -582,6 +583,7 @@
|
||||
<ClInclude Include="..\src\newgrf_industries.h" />
|
||||
<ClInclude Include="..\src\newgrf_industrytiles.h" />
|
||||
<ClInclude Include="..\src\newgrf_object.h" />
|
||||
<ClInclude Include="..\src\newgrf_profiling.h" />
|
||||
<ClInclude Include="..\src\newgrf_properties.h" />
|
||||
<ClInclude Include="..\src\newgrf_railtype.h" />
|
||||
<ClInclude Include="..\src\newgrf_roadtype.h" />
|
||||
@@ -625,8 +627,10 @@
|
||||
<ClInclude Include="..\src\roadveh.h" />
|
||||
<ClInclude Include="..\src\safeguards.h" />
|
||||
<ClInclude Include="..\src\screenshot.h" />
|
||||
<ClInclude Include="..\src\screenshot_gui.h" />
|
||||
<ClInclude Include="..\src\sound\sdl_s.h" />
|
||||
<ClInclude Include="..\src\video\sdl_v.h" />
|
||||
<ClInclude Include="..\src\video\sdl2_v.h" />
|
||||
<ClInclude Include="..\src\settings_func.h" />
|
||||
<ClInclude Include="..\src\settings_gui.h" />
|
||||
<ClInclude Include="..\src\settings_internal.h" />
|
||||
@@ -845,6 +849,7 @@
|
||||
<ClInclude Include="..\src\widgets\osk_widget.h" />
|
||||
<ClInclude Include="..\src\widgets\rail_widget.h" />
|
||||
<ClInclude Include="..\src\widgets\road_widget.h" />
|
||||
<ClInclude Include="..\src\widgets\screenshot_widget.h" />
|
||||
<ClInclude Include="..\src\widgets\settings_widget.h" />
|
||||
<ClInclude Include="..\src\widgets\sign_widget.h" />
|
||||
<ClInclude Include="..\src\widgets\smallmap_widget.h" />
|
||||
@@ -1232,6 +1237,7 @@
|
||||
<ClCompile Include="..\src\newgrf_industries.cpp" />
|
||||
<ClCompile Include="..\src\newgrf_industrytiles.cpp" />
|
||||
<ClCompile Include="..\src\newgrf_object.cpp" />
|
||||
<ClCompile Include="..\src\newgrf_profiling.cpp" />
|
||||
<ClCompile Include="..\src\newgrf_railtype.cpp" />
|
||||
<ClCompile Include="..\src\newgrf_roadtype.cpp" />
|
||||
<ClCompile Include="..\src\newgrf_sound.cpp" />
|
||||
@@ -1326,6 +1332,7 @@
|
||||
<ClCompile Include="..\src\video\dedicated_v.cpp" />
|
||||
<ClCompile Include="..\src\video\null_v.cpp" />
|
||||
<ClCompile Include="..\src\video\sdl_v.cpp" />
|
||||
<ClCompile Include="..\src\video\sdl2_v.cpp" />
|
||||
<ClCompile Include="..\src\video\win32_v.cpp" />
|
||||
<ClCompile Include="..\src\music\dmusic.cpp" />
|
||||
<ClCompile Include="..\src\music\null_m.cpp" />
|
||||
@@ -1333,6 +1340,7 @@
|
||||
<ClCompile Include="..\src\music\win32_m.cpp" />
|
||||
<ClCompile Include="..\src\sound\null_s.cpp" />
|
||||
<ClCompile Include="..\src\sound\sdl_s.cpp" />
|
||||
<ClCompile Include="..\src\sound\sdl2_s.cpp" />
|
||||
<ClCompile Include="..\src\sound\win32_s.cpp" />
|
||||
<ClCompile Include="..\src\sound\xaudio2_s.cpp" />
|
||||
<ClCompile Include="..\src\os\windows\crashlog_win.cpp" />
|
||||
|
||||
@@ -315,6 +315,9 @@
|
||||
<ClCompile Include="..\src\roadstop.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\screenshot_gui.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\screenshot.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
@@ -834,6 +837,9 @@
|
||||
<ClInclude Include="..\src\newgrf_object.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\src\newgrf_profiling.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\src\newgrf_properties.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
@@ -963,12 +969,18 @@
|
||||
<ClInclude Include="..\src\screenshot.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\src\screenshot_gui.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\src\sound\sdl_s.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\src\video\sdl_v.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\src\video\sdl2_v.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\src\settings_func.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
@@ -1623,6 +1635,9 @@
|
||||
<ClInclude Include="..\src\widgets\road_widget.h">
|
||||
<Filter>Widgets</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\src\widgets\screenshot_widget.h">
|
||||
<Filter>Widgets</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\src\widgets\settings_widget.h">
|
||||
<Filter>Widgets</Filter>
|
||||
</ClInclude>
|
||||
@@ -2784,6 +2799,9 @@
|
||||
<ClCompile Include="..\src\newgrf_object.cpp">
|
||||
<Filter>NewGRF</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\newgrf_profiling.cpp">
|
||||
<Filter>NewGRF</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\newgrf_railtype.cpp">
|
||||
<Filter>NewGRF</Filter>
|
||||
</ClCompile>
|
||||
@@ -3066,6 +3084,9 @@
|
||||
<ClCompile Include="..\src\video\sdl_v.cpp">
|
||||
<Filter>Video</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\video\sdl2_v.cpp">
|
||||
<Filter>Video</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\video\win32_v.cpp">
|
||||
<Filter>Video</Filter>
|
||||
</ClCompile>
|
||||
@@ -3087,6 +3108,9 @@
|
||||
<ClCompile Include="..\src\sound\sdl_s.cpp">
|
||||
<Filter>Sound</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\sound\sdl2_s.cpp">
|
||||
<Filter>Sound</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\sound\win32_s.cpp">
|
||||
<Filter>Sound</Filter>
|
||||
</ClCompile>
|
||||
|
||||
@@ -107,7 +107,7 @@
|
||||
<FavorSizeOrSpeed>Size</FavorSizeOrSpeed>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<AdditionalIncludeDirectories>..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_XAUDIO2;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LIBLZMA;WITH_PNG;WITH_UNISCRIBE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";WITH_ASSERT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_XAUDIO2;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LIBLZMA;WITH_PNG;WITH_UNISCRIBE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<ExceptionHandling>Sync</ExceptionHandling>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
@@ -230,7 +230,7 @@
|
||||
<FavorSizeOrSpeed>Size</FavorSizeOrSpeed>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<AdditionalIncludeDirectories>..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_XAUDIO2;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LIBLZMA;WITH_PNG;WITH_UNISCRIBE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";_SQ64;WITH_ASSERT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_XAUDIO2;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LIBLZMA;WITH_PNG;WITH_UNISCRIBE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";_SQ64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<ExceptionHandling>Sync</ExceptionHandling>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
|
||||
@@ -107,7 +107,7 @@
|
||||
<FavorSizeOrSpeed>Size</FavorSizeOrSpeed>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<AdditionalIncludeDirectories>..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_XAUDIO2;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LIBLZMA;WITH_PNG;WITH_UNISCRIBE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";WITH_ASSERT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_XAUDIO2;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LIBLZMA;WITH_PNG;WITH_UNISCRIBE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<ExceptionHandling>Sync</ExceptionHandling>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
@@ -230,7 +230,7 @@
|
||||
<FavorSizeOrSpeed>Size</FavorSizeOrSpeed>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<AdditionalIncludeDirectories>..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_XAUDIO2;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LIBLZMA;WITH_PNG;WITH_UNISCRIBE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";_SQ64;WITH_ASSERT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_XAUDIO2;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LIBLZMA;WITH_PNG;WITH_UNISCRIBE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";_SQ64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<ExceptionHandling>Sync</ExceptionHandling>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
@@ -409,6 +409,7 @@
|
||||
<ClCompile Include="..\src\rev.cpp" />
|
||||
<ClCompile Include="..\src\road.cpp" />
|
||||
<ClCompile Include="..\src\roadstop.cpp" />
|
||||
<ClCompile Include="..\src\screenshot_gui.cpp" />
|
||||
<ClCompile Include="..\src\screenshot.cpp" />
|
||||
<ClCompile Include="..\src\settings.cpp" />
|
||||
<ClCompile Include="..\src\signal.cpp" />
|
||||
@@ -582,6 +583,7 @@
|
||||
<ClInclude Include="..\src\newgrf_industries.h" />
|
||||
<ClInclude Include="..\src\newgrf_industrytiles.h" />
|
||||
<ClInclude Include="..\src\newgrf_object.h" />
|
||||
<ClInclude Include="..\src\newgrf_profiling.h" />
|
||||
<ClInclude Include="..\src\newgrf_properties.h" />
|
||||
<ClInclude Include="..\src\newgrf_railtype.h" />
|
||||
<ClInclude Include="..\src\newgrf_roadtype.h" />
|
||||
@@ -625,8 +627,10 @@
|
||||
<ClInclude Include="..\src\roadveh.h" />
|
||||
<ClInclude Include="..\src\safeguards.h" />
|
||||
<ClInclude Include="..\src\screenshot.h" />
|
||||
<ClInclude Include="..\src\screenshot_gui.h" />
|
||||
<ClInclude Include="..\src\sound\sdl_s.h" />
|
||||
<ClInclude Include="..\src\video\sdl_v.h" />
|
||||
<ClInclude Include="..\src\video\sdl2_v.h" />
|
||||
<ClInclude Include="..\src\settings_func.h" />
|
||||
<ClInclude Include="..\src\settings_gui.h" />
|
||||
<ClInclude Include="..\src\settings_internal.h" />
|
||||
@@ -845,6 +849,7 @@
|
||||
<ClInclude Include="..\src\widgets\osk_widget.h" />
|
||||
<ClInclude Include="..\src\widgets\rail_widget.h" />
|
||||
<ClInclude Include="..\src\widgets\road_widget.h" />
|
||||
<ClInclude Include="..\src\widgets\screenshot_widget.h" />
|
||||
<ClInclude Include="..\src\widgets\settings_widget.h" />
|
||||
<ClInclude Include="..\src\widgets\sign_widget.h" />
|
||||
<ClInclude Include="..\src\widgets\smallmap_widget.h" />
|
||||
@@ -1232,6 +1237,7 @@
|
||||
<ClCompile Include="..\src\newgrf_industries.cpp" />
|
||||
<ClCompile Include="..\src\newgrf_industrytiles.cpp" />
|
||||
<ClCompile Include="..\src\newgrf_object.cpp" />
|
||||
<ClCompile Include="..\src\newgrf_profiling.cpp" />
|
||||
<ClCompile Include="..\src\newgrf_railtype.cpp" />
|
||||
<ClCompile Include="..\src\newgrf_roadtype.cpp" />
|
||||
<ClCompile Include="..\src\newgrf_sound.cpp" />
|
||||
@@ -1326,6 +1332,7 @@
|
||||
<ClCompile Include="..\src\video\dedicated_v.cpp" />
|
||||
<ClCompile Include="..\src\video\null_v.cpp" />
|
||||
<ClCompile Include="..\src\video\sdl_v.cpp" />
|
||||
<ClCompile Include="..\src\video\sdl2_v.cpp" />
|
||||
<ClCompile Include="..\src\video\win32_v.cpp" />
|
||||
<ClCompile Include="..\src\music\dmusic.cpp" />
|
||||
<ClCompile Include="..\src\music\null_m.cpp" />
|
||||
@@ -1333,6 +1340,7 @@
|
||||
<ClCompile Include="..\src\music\win32_m.cpp" />
|
||||
<ClCompile Include="..\src\sound\null_s.cpp" />
|
||||
<ClCompile Include="..\src\sound\sdl_s.cpp" />
|
||||
<ClCompile Include="..\src\sound\sdl2_s.cpp" />
|
||||
<ClCompile Include="..\src\sound\win32_s.cpp" />
|
||||
<ClCompile Include="..\src\sound\xaudio2_s.cpp" />
|
||||
<ClCompile Include="..\src\os\windows\crashlog_win.cpp" />
|
||||
|
||||
@@ -315,6 +315,9 @@
|
||||
<ClCompile Include="..\src\roadstop.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\screenshot_gui.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\screenshot.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
@@ -834,6 +837,9 @@
|
||||
<ClInclude Include="..\src\newgrf_object.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\src\newgrf_profiling.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\src\newgrf_properties.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
@@ -963,12 +969,18 @@
|
||||
<ClInclude Include="..\src\screenshot.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\src\screenshot_gui.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\src\sound\sdl_s.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\src\video\sdl_v.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\src\video\sdl2_v.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\src\settings_func.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
@@ -1623,6 +1635,9 @@
|
||||
<ClInclude Include="..\src\widgets\road_widget.h">
|
||||
<Filter>Widgets</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\src\widgets\screenshot_widget.h">
|
||||
<Filter>Widgets</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\src\widgets\settings_widget.h">
|
||||
<Filter>Widgets</Filter>
|
||||
</ClInclude>
|
||||
@@ -2784,6 +2799,9 @@
|
||||
<ClCompile Include="..\src\newgrf_object.cpp">
|
||||
<Filter>NewGRF</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\newgrf_profiling.cpp">
|
||||
<Filter>NewGRF</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\newgrf_railtype.cpp">
|
||||
<Filter>NewGRF</Filter>
|
||||
</ClCompile>
|
||||
@@ -3066,6 +3084,9 @@
|
||||
<ClCompile Include="..\src\video\sdl_v.cpp">
|
||||
<Filter>Video</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\video\sdl2_v.cpp">
|
||||
<Filter>Video</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\video\win32_v.cpp">
|
||||
<Filter>Video</Filter>
|
||||
</ClCompile>
|
||||
@@ -3087,6 +3108,9 @@
|
||||
<ClCompile Include="..\src\sound\sdl_s.cpp">
|
||||
<Filter>Sound</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\sound\sdl2_s.cpp">
|
||||
<Filter>Sound</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\sound\win32_s.cpp">
|
||||
<Filter>Sound</Filter>
|
||||
</ClCompile>
|
||||
|
||||
@@ -107,7 +107,7 @@
|
||||
<FavorSizeOrSpeed>Size</FavorSizeOrSpeed>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<AdditionalIncludeDirectories>..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_XAUDIO2;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LIBLZMA;WITH_PNG;WITH_UNISCRIBE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";WITH_ASSERT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_XAUDIO2;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LIBLZMA;WITH_PNG;WITH_UNISCRIBE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<ExceptionHandling>Sync</ExceptionHandling>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
@@ -230,7 +230,7 @@
|
||||
<FavorSizeOrSpeed>Size</FavorSizeOrSpeed>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<AdditionalIncludeDirectories>..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_XAUDIO2;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LIBLZMA;WITH_PNG;WITH_UNISCRIBE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";_SQ64;WITH_ASSERT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_XAUDIO2;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LIBLZMA;WITH_PNG;WITH_UNISCRIBE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";_SQ64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<ExceptionHandling>Sync</ExceptionHandling>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
|
||||
@@ -107,7 +107,7 @@
|
||||
<FavorSizeOrSpeed>Size</FavorSizeOrSpeed>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<AdditionalIncludeDirectories>..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_XAUDIO2;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LIBLZMA;WITH_PNG;WITH_UNISCRIBE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";WITH_ASSERT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_XAUDIO2;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LIBLZMA;WITH_PNG;WITH_UNISCRIBE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<ExceptionHandling>Sync</ExceptionHandling>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
@@ -230,7 +230,7 @@
|
||||
<FavorSizeOrSpeed>Size</FavorSizeOrSpeed>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<AdditionalIncludeDirectories>..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_XAUDIO2;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LIBLZMA;WITH_PNG;WITH_UNISCRIBE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";_SQ64;WITH_ASSERT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_XAUDIO2;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LIBLZMA;WITH_PNG;WITH_UNISCRIBE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";_SQ64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<ExceptionHandling>Sync</ExceptionHandling>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
@@ -409,6 +409,7 @@
|
||||
<ClCompile Include="..\src\rev.cpp" />
|
||||
<ClCompile Include="..\src\road.cpp" />
|
||||
<ClCompile Include="..\src\roadstop.cpp" />
|
||||
<ClCompile Include="..\src\screenshot_gui.cpp" />
|
||||
<ClCompile Include="..\src\screenshot.cpp" />
|
||||
<ClCompile Include="..\src\settings.cpp" />
|
||||
<ClCompile Include="..\src\signal.cpp" />
|
||||
@@ -582,6 +583,7 @@
|
||||
<ClInclude Include="..\src\newgrf_industries.h" />
|
||||
<ClInclude Include="..\src\newgrf_industrytiles.h" />
|
||||
<ClInclude Include="..\src\newgrf_object.h" />
|
||||
<ClInclude Include="..\src\newgrf_profiling.h" />
|
||||
<ClInclude Include="..\src\newgrf_properties.h" />
|
||||
<ClInclude Include="..\src\newgrf_railtype.h" />
|
||||
<ClInclude Include="..\src\newgrf_roadtype.h" />
|
||||
@@ -625,8 +627,10 @@
|
||||
<ClInclude Include="..\src\roadveh.h" />
|
||||
<ClInclude Include="..\src\safeguards.h" />
|
||||
<ClInclude Include="..\src\screenshot.h" />
|
||||
<ClInclude Include="..\src\screenshot_gui.h" />
|
||||
<ClInclude Include="..\src\sound\sdl_s.h" />
|
||||
<ClInclude Include="..\src\video\sdl_v.h" />
|
||||
<ClInclude Include="..\src\video\sdl2_v.h" />
|
||||
<ClInclude Include="..\src\settings_func.h" />
|
||||
<ClInclude Include="..\src\settings_gui.h" />
|
||||
<ClInclude Include="..\src\settings_internal.h" />
|
||||
@@ -845,6 +849,7 @@
|
||||
<ClInclude Include="..\src\widgets\osk_widget.h" />
|
||||
<ClInclude Include="..\src\widgets\rail_widget.h" />
|
||||
<ClInclude Include="..\src\widgets\road_widget.h" />
|
||||
<ClInclude Include="..\src\widgets\screenshot_widget.h" />
|
||||
<ClInclude Include="..\src\widgets\settings_widget.h" />
|
||||
<ClInclude Include="..\src\widgets\sign_widget.h" />
|
||||
<ClInclude Include="..\src\widgets\smallmap_widget.h" />
|
||||
@@ -1232,6 +1237,7 @@
|
||||
<ClCompile Include="..\src\newgrf_industries.cpp" />
|
||||
<ClCompile Include="..\src\newgrf_industrytiles.cpp" />
|
||||
<ClCompile Include="..\src\newgrf_object.cpp" />
|
||||
<ClCompile Include="..\src\newgrf_profiling.cpp" />
|
||||
<ClCompile Include="..\src\newgrf_railtype.cpp" />
|
||||
<ClCompile Include="..\src\newgrf_roadtype.cpp" />
|
||||
<ClCompile Include="..\src\newgrf_sound.cpp" />
|
||||
@@ -1326,6 +1332,7 @@
|
||||
<ClCompile Include="..\src\video\dedicated_v.cpp" />
|
||||
<ClCompile Include="..\src\video\null_v.cpp" />
|
||||
<ClCompile Include="..\src\video\sdl_v.cpp" />
|
||||
<ClCompile Include="..\src\video\sdl2_v.cpp" />
|
||||
<ClCompile Include="..\src\video\win32_v.cpp" />
|
||||
<ClCompile Include="..\src\music\dmusic.cpp" />
|
||||
<ClCompile Include="..\src\music\null_m.cpp" />
|
||||
@@ -1333,6 +1340,7 @@
|
||||
<ClCompile Include="..\src\music\win32_m.cpp" />
|
||||
<ClCompile Include="..\src\sound\null_s.cpp" />
|
||||
<ClCompile Include="..\src\sound\sdl_s.cpp" />
|
||||
<ClCompile Include="..\src\sound\sdl2_s.cpp" />
|
||||
<ClCompile Include="..\src\sound\win32_s.cpp" />
|
||||
<ClCompile Include="..\src\sound\xaudio2_s.cpp" />
|
||||
<ClCompile Include="..\src\os\windows\crashlog_win.cpp" />
|
||||
|
||||
@@ -315,6 +315,9 @@
|
||||
<ClCompile Include="..\src\roadstop.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\screenshot_gui.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\screenshot.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
@@ -834,6 +837,9 @@
|
||||
<ClInclude Include="..\src\newgrf_object.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\src\newgrf_profiling.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\src\newgrf_properties.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
@@ -963,12 +969,18 @@
|
||||
<ClInclude Include="..\src\screenshot.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\src\screenshot_gui.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\src\sound\sdl_s.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\src\video\sdl_v.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\src\video\sdl2_v.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\src\settings_func.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
@@ -1623,6 +1635,9 @@
|
||||
<ClInclude Include="..\src\widgets\road_widget.h">
|
||||
<Filter>Widgets</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\src\widgets\screenshot_widget.h">
|
||||
<Filter>Widgets</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\src\widgets\settings_widget.h">
|
||||
<Filter>Widgets</Filter>
|
||||
</ClInclude>
|
||||
@@ -2784,6 +2799,9 @@
|
||||
<ClCompile Include="..\src\newgrf_object.cpp">
|
||||
<Filter>NewGRF</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\newgrf_profiling.cpp">
|
||||
<Filter>NewGRF</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\newgrf_railtype.cpp">
|
||||
<Filter>NewGRF</Filter>
|
||||
</ClCompile>
|
||||
@@ -3066,6 +3084,9 @@
|
||||
<ClCompile Include="..\src\video\sdl_v.cpp">
|
||||
<Filter>Video</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\video\sdl2_v.cpp">
|
||||
<Filter>Video</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\video\win32_v.cpp">
|
||||
<Filter>Video</Filter>
|
||||
</ClCompile>
|
||||
@@ -3087,6 +3108,9 @@
|
||||
<ClCompile Include="..\src\sound\sdl_s.cpp">
|
||||
<Filter>Sound</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\sound\sdl2_s.cpp">
|
||||
<Filter>Sound</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\sound\win32_s.cpp">
|
||||
<Filter>Sound</Filter>
|
||||
</ClCompile>
|
||||
|
||||
@@ -107,7 +107,7 @@
|
||||
<FavorSizeOrSpeed>Size</FavorSizeOrSpeed>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<AdditionalIncludeDirectories>..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_XAUDIO2;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LIBLZMA;WITH_PNG;WITH_UNISCRIBE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";WITH_ASSERT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_XAUDIO2;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LIBLZMA;WITH_PNG;WITH_UNISCRIBE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<ExceptionHandling>Sync</ExceptionHandling>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
@@ -230,7 +230,7 @@
|
||||
<FavorSizeOrSpeed>Size</FavorSizeOrSpeed>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<AdditionalIncludeDirectories>..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_XAUDIO2;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LIBLZMA;WITH_PNG;WITH_UNISCRIBE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";_SQ64;WITH_ASSERT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_XAUDIO2;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LIBLZMA;WITH_PNG;WITH_UNISCRIBE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";_SQ64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<ExceptionHandling>Sync</ExceptionHandling>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
|
||||
@@ -23,9 +23,7 @@
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros">
|
||||
<SettingsCommandLine>
|
||||
..\objs\settings\settings_gen.exe -o ..\objs\settings\table\settings.h -b ..\src\table\settings.h.preamble -a ..\src\table\settings.h.postamble ..\src\table\company_settings.ini ..\src\table\currency_settings.ini ..\src\table\gameopt_settings.ini ..\src\table\misc_settings.ini ..\src\table\settings.ini ..\src\table\win32_settings.ini ..\src\table\window_settings.ini
|
||||
</SettingsCommandLine>
|
||||
<SettingsCommandLine>..\objs\settings\settings_gen.exe -o ..\objs\settings\table\settings.h -b ..\src\table\settings.h.preamble -a ..\src\table\settings.h.postamble ..\src\table\company_settings.ini ..\src\table\currency_settings.ini ..\src\table\gameopt_settings.ini ..\src\table\misc_settings.ini ..\src\table\settings.ini ..\src\table\win32_settings.ini ..\src\table\window_settings.ini</SettingsCommandLine>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\objs\settings\table\</OutDir>
|
||||
|
||||
@@ -23,9 +23,7 @@
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros">
|
||||
<SettingsCommandLine>
|
||||
!!FILTERS!!
|
||||
</SettingsCommandLine>
|
||||
<SettingsCommandLine>!!FILTERS!!</SettingsCommandLine>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\objs\settings\table\</OutDir>
|
||||
|
||||
@@ -23,9 +23,7 @@
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros">
|
||||
<SettingsCommandLine>
|
||||
..\objs\settings\settings_gen.exe -o ..\objs\settings\table\settings.h -b ..\src\table\settings.h.preamble -a ..\src\table\settings.h.postamble ..\src\table\company_settings.ini ..\src\table\currency_settings.ini ..\src\table\gameopt_settings.ini ..\src\table\misc_settings.ini ..\src\table\settings.ini ..\src\table\win32_settings.ini ..\src\table\window_settings.ini
|
||||
</SettingsCommandLine>
|
||||
<SettingsCommandLine>..\objs\settings\settings_gen.exe -o ..\objs\settings\table\settings.h -b ..\src\table\settings.h.preamble -a ..\src\table\settings.h.postamble ..\src\table\company_settings.ini ..\src\table\currency_settings.ini ..\src\table\gameopt_settings.ini ..\src\table\misc_settings.ini ..\src\table\settings.ini ..\src\table\win32_settings.ini ..\src\table\window_settings.ini</SettingsCommandLine>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\objs\settings\table\</OutDir>
|
||||
|
||||
@@ -23,9 +23,7 @@
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros">
|
||||
<SettingsCommandLine>
|
||||
!!FILTERS!!
|
||||
</SettingsCommandLine>
|
||||
<SettingsCommandLine>!!FILTERS!!</SettingsCommandLine>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\objs\settings\table\</OutDir>
|
||||
|
||||
@@ -23,9 +23,7 @@
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros">
|
||||
<SettingsCommandLine>
|
||||
..\objs\settings\settings_gen.exe -o ..\objs\settings\table\settings.h -b ..\src\table\settings.h.preamble -a ..\src\table\settings.h.postamble ..\src\table\company_settings.ini ..\src\table\currency_settings.ini ..\src\table\gameopt_settings.ini ..\src\table\misc_settings.ini ..\src\table\settings.ini ..\src\table\win32_settings.ini ..\src\table\window_settings.ini
|
||||
</SettingsCommandLine>
|
||||
<SettingsCommandLine>..\objs\settings\settings_gen.exe -o ..\objs\settings\table\settings.h -b ..\src\table\settings.h.preamble -a ..\src\table\settings.h.postamble ..\src\table\company_settings.ini ..\src\table\currency_settings.ini ..\src\table\gameopt_settings.ini ..\src\table\misc_settings.ini ..\src\table\settings.ini ..\src\table\win32_settings.ini ..\src\table\window_settings.ini</SettingsCommandLine>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\objs\settings\table\</OutDir>
|
||||
|
||||
@@ -23,9 +23,7 @@
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros">
|
||||
<SettingsCommandLine>
|
||||
!!FILTERS!!
|
||||
</SettingsCommandLine>
|
||||
<SettingsCommandLine>!!FILTERS!!</SettingsCommandLine>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\objs\settings\table\</OutDir>
|
||||
|
||||
@@ -70,6 +70,7 @@ rail.cpp
|
||||
rev.cpp
|
||||
road.cpp
|
||||
roadstop.cpp
|
||||
screenshot_gui.cpp
|
||||
screenshot.cpp
|
||||
settings.cpp
|
||||
signal.cpp
|
||||
@@ -269,6 +270,7 @@ newgrf_house.h
|
||||
newgrf_industries.h
|
||||
newgrf_industrytiles.h
|
||||
newgrf_object.h
|
||||
newgrf_profiling.h
|
||||
newgrf_properties.h
|
||||
newgrf_railtype.h
|
||||
newgrf_roadtype.h
|
||||
@@ -312,6 +314,7 @@ roadstop_base.h
|
||||
roadveh.h
|
||||
safeguards.h
|
||||
screenshot.h
|
||||
screenshot_gui.h
|
||||
sound/sdl_s.h
|
||||
video/sdl_v.h
|
||||
video/sdl2_v.h
|
||||
@@ -555,6 +558,7 @@ widgets/order_widget.h
|
||||
widgets/osk_widget.h
|
||||
widgets/rail_widget.h
|
||||
widgets/road_widget.h
|
||||
widgets/screenshot_widget.h
|
||||
widgets/settings_widget.h
|
||||
widgets/sign_widget.h
|
||||
widgets/smallmap_widget.h
|
||||
@@ -983,6 +987,7 @@ newgrf_house.cpp
|
||||
newgrf_industries.cpp
|
||||
newgrf_industrytiles.cpp
|
||||
newgrf_object.cpp
|
||||
newgrf_profiling.cpp
|
||||
newgrf_railtype.cpp
|
||||
newgrf_roadtype.cpp
|
||||
newgrf_sound.cpp
|
||||
|
||||
6
src/3rdparty/squirrel/sqstdlib/sqstdaux.cpp
vendored
6
src/3rdparty/squirrel/sqstdlib/sqstdaux.cpp
vendored
@@ -38,7 +38,7 @@ void sqstd_printcallstack(HSQUIRRELVM v)
|
||||
src = si.source;
|
||||
}
|
||||
}
|
||||
pf(v,"*FUNCTION [%s()] %s line [%d]\n",fn,src,si.line);
|
||||
pf(v,"*FUNCTION [%s()] %s line [" OTTD_PRINTF64 "]\n",fn,src,si.line);
|
||||
level++;
|
||||
}
|
||||
level=0;
|
||||
@@ -56,7 +56,7 @@ void sqstd_printcallstack(HSQUIRRELVM v)
|
||||
break;
|
||||
case OT_INTEGER:
|
||||
sq_getinteger(v,-1,&i);
|
||||
pf(v,"[%s] %d\n",name,i);
|
||||
pf(v,"[%s] " OTTD_PRINTF64 "\n",name,i);
|
||||
break;
|
||||
case OT_FLOAT:
|
||||
sq_getfloat(v,-1,&f);
|
||||
@@ -134,7 +134,7 @@ void _sqstd_compiler_error(HSQUIRRELVM v,const SQChar *sErr,const SQChar *sSourc
|
||||
{
|
||||
SQPRINTFUNCTION pf = sq_getprintfunc(v);
|
||||
if(pf) {
|
||||
pf(v,"%s line = (%d) column = (%d) : error %s\n",sSource,line,column,sErr);
|
||||
pf(v,"%s line = (" OTTD_PRINTF64 ") column = (" OTTD_PRINTF64 ") : error %s\n",sSource,line,column,sErr);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
2
src/3rdparty/squirrel/squirrel/sqbaselib.cpp
vendored
2
src/3rdparty/squirrel/squirrel/sqbaselib.cpp
vendored
@@ -219,7 +219,7 @@ static SQInteger base_array(HSQUIRRELVM v)
|
||||
SQInteger nInitialSize = tointeger(stack_get(v,2));
|
||||
SQInteger ret = 1;
|
||||
if (nInitialSize < 0) {
|
||||
v->Raise_Error("can't create/resize array with/to size %d", nInitialSize);
|
||||
v->Raise_Error("can't create/resize array with/to size " OTTD_PRINTF64, nInitialSize);
|
||||
nInitialSize = 0;
|
||||
ret = -1;
|
||||
}
|
||||
|
||||
2
src/3rdparty/squirrel/squirrel/sqdebug.cpp
vendored
2
src/3rdparty/squirrel/squirrel/sqdebug.cpp
vendored
@@ -122,5 +122,5 @@ void SQVM::Raise_ParamTypeError(SQInteger nparam,SQInteger typemask,SQInteger ty
|
||||
StringCat(exptypes,SQString::Create(_ss(this), IdType2Name((SQObjectType)mask), -1), exptypes);
|
||||
}
|
||||
}
|
||||
Raise_Error("parameter %d has an invalid type '%s' ; expected: '%s'", nparam, IdType2Name((SQObjectType)type), _stringval(exptypes));
|
||||
Raise_Error("parameter " OTTD_PRINTF64 " has an invalid type '%s' ; expected: '%s'", nparam, IdType2Name((SQObjectType)type), _stringval(exptypes));
|
||||
}
|
||||
|
||||
@@ -179,6 +179,7 @@ struct AIListWindow : public Window {
|
||||
InvalidateWindowData(WC_GAME_OPTIONS, WN_GAME_OPTIONS_AI);
|
||||
InvalidateWindowClassesData(WC_AI_SETTINGS);
|
||||
DeleteWindowByClass(WC_QUERY_STRING);
|
||||
InvalidateWindowClassesData(WC_TEXTFILE);
|
||||
}
|
||||
|
||||
void OnClick(Point pt, int widget, int click_count) override
|
||||
@@ -640,15 +641,24 @@ struct ScriptTextfileWindow : public TextfileWindow {
|
||||
|
||||
ScriptTextfileWindow(TextfileType file_type, CompanyID slot) : TextfileWindow(file_type), slot(slot)
|
||||
{
|
||||
const char *textfile = GetConfig(slot)->GetTextfile(file_type, slot);
|
||||
this->LoadTextfile(textfile, (slot == OWNER_DEITY) ? GAME_DIR : AI_DIR);
|
||||
this->OnInvalidateData();
|
||||
}
|
||||
|
||||
void SetStringParameters(int widget) const override
|
||||
{
|
||||
if (widget == WID_TF_CAPTION) {
|
||||
SetDParam(0, (slot == OWNER_DEITY) ? STR_CONTENT_TYPE_GAME_SCRIPT : STR_CONTENT_TYPE_AI);
|
||||
SetDParamStr(1, GetConfig(slot)->GetName());
|
||||
SetDParamStr(1, GetConfig(slot)->GetInfo()->GetName());
|
||||
}
|
||||
}
|
||||
|
||||
void OnInvalidateData(int data = 0, bool gui_scope = true) override
|
||||
{
|
||||
const char *textfile = GetConfig(slot)->GetTextfile(file_type, slot);
|
||||
if (textfile == nullptr) {
|
||||
delete this;
|
||||
} else {
|
||||
this->LoadTextfile(textfile, (slot == OWNER_DEITY) ? GAME_DIR : AI_DIR);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
@@ -485,6 +485,7 @@ public:
|
||||
this->SetDirty();
|
||||
if (_settings_client.sound.click_beep) SndPlayFx(SND_15_BEEP);
|
||||
this->UpdateSelectSize();
|
||||
SetViewportCatchmentStation(nullptr, true);
|
||||
break;
|
||||
|
||||
case WID_AP_LAYOUT_DECREASE:
|
||||
|
||||
@@ -169,7 +169,7 @@ CargoArray GetCapacityOfArticulatedParts(EngineID engine)
|
||||
* @param cargo_type Selected refitted cargo type
|
||||
* @param cargo_capacity Capacity of selected refitted cargo type
|
||||
*/
|
||||
void GetArticulatedVehicleCargoesAndRefits(EngineID engine, CargoArray *cargoes, CargoTypes *refits, CargoID cargo_type, uint16 cargo_capacity)
|
||||
void GetArticulatedVehicleCargoesAndRefits(EngineID engine, CargoArray *cargoes, CargoTypes *refits, CargoID cargo_type, uint cargo_capacity)
|
||||
{
|
||||
cargoes->Clear();
|
||||
*refits = 0;
|
||||
|
||||
@@ -56,6 +56,7 @@ struct BaseStation : StationPool::PoolItem<&_station_pool> {
|
||||
|
||||
char *name; ///< Custom name
|
||||
StringID string_id; ///< Default name (town area) of station
|
||||
mutable std::string cached_name; ///< NOSAVE: Cache of the resolved name of the station, if not using a custom name
|
||||
|
||||
Town *town; ///< The town this station is associated with
|
||||
Owner owner; ///< The owner of this station
|
||||
@@ -108,6 +109,13 @@ struct BaseStation : StationPool::PoolItem<&_station_pool> {
|
||||
*/
|
||||
virtual void UpdateVirtCoord() = 0;
|
||||
|
||||
inline const char *GetCachedName() const
|
||||
{
|
||||
if (this->name != nullptr) return this->name;
|
||||
if (this->cached_name.empty()) this->FillCachedName();
|
||||
return this->cached_name.c_str();
|
||||
}
|
||||
|
||||
virtual void MoveSign(TileIndex new_xy)
|
||||
{
|
||||
this->xy = new_xy;
|
||||
@@ -161,6 +169,9 @@ struct BaseStation : StationPool::PoolItem<&_station_pool> {
|
||||
}
|
||||
|
||||
static void PostDestructor(size_t index);
|
||||
|
||||
private:
|
||||
void FillCachedName() const;
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
#include "base_media_base.h"
|
||||
#include "blitter/factory.hpp"
|
||||
|
||||
#if defined(WITH_FREETYPE)
|
||||
#if defined(WITH_FREETYPE) || defined(WITH_UNISCRIBE)
|
||||
|
||||
#include "core/geometry_func.hpp"
|
||||
#include "fontcache.h"
|
||||
@@ -218,7 +218,7 @@ bool HandleBootstrap()
|
||||
if (BlitterFactory::GetCurrentBlitter()->GetScreenDepth() == 0) goto failure;
|
||||
|
||||
/* If there is no network or no freetype, then there is nothing we can do. Go straight to failure. */
|
||||
#if defined(WITH_FREETYPE) && (defined(WITH_FONTCONFIG) || defined(_WIN32) || defined(__APPLE__))
|
||||
#if (defined(_WIN32) && defined(WITH_UNISCRIBE)) || (defined(WITH_FREETYPE) && (defined(WITH_FONTCONFIG) || defined(__APPLE__)))
|
||||
if (!_network_available) goto failure;
|
||||
|
||||
/* First tell the game we're bootstrapping. */
|
||||
@@ -262,6 +262,6 @@ bool HandleBootstrap()
|
||||
|
||||
/* Failure to get enough working to get a graphics set. */
|
||||
failure:
|
||||
usererror("Failed to find a graphics set. Please acquire a graphics set for OpenTTD. See section 4.1 of README.md.");
|
||||
usererror("Failed to find a graphics set. Please acquire a graphics set for OpenTTD. See section 1.4 of README.md.");
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -426,9 +426,12 @@ void ShowBuildBridgeWindow(TileIndex start, TileIndex end, TransportType transpo
|
||||
default: break;
|
||||
}
|
||||
|
||||
bool any_available = false;
|
||||
CommandCost type_check;
|
||||
/* loop for all bridgetypes */
|
||||
for (BridgeType brd_type = 0; brd_type != MAX_BRIDGES; brd_type++) {
|
||||
if (CheckBridgeAvailability(brd_type, bridge_len).Succeeded()) {
|
||||
type_check = CheckBridgeAvailability(brd_type, bridge_len);
|
||||
if (type_check.Succeeded()) {
|
||||
/* bridge is accepted, add to list */
|
||||
/*C++17: BuildBridgeData &item = */ bl->emplace_back();
|
||||
BuildBridgeData &item = bl->back();
|
||||
@@ -437,8 +440,14 @@ void ShowBuildBridgeWindow(TileIndex start, TileIndex end, TransportType transpo
|
||||
/* Add to terraforming & bulldozing costs the cost of the
|
||||
* bridge itself (not computed with DC_QUERY_COST) */
|
||||
item.cost = ret.GetCost() + (((int64)tot_bridgedata_len * _price[PR_BUILD_BRIDGE] * item.spec->price) >> 8) + infra_cost;
|
||||
any_available = true;
|
||||
}
|
||||
}
|
||||
/* give error cause if no bridges available here*/
|
||||
if (!any_available)
|
||||
{
|
||||
errmsg = type_check.GetErrorMessage();
|
||||
}
|
||||
}
|
||||
|
||||
if (bl != nullptr && bl->size() != 0) {
|
||||
|
||||
@@ -125,6 +125,9 @@ static bool EngineIntroDateSorter(const EngineID &a, const EngineID &b)
|
||||
return _engine_sort_direction ? r > 0 : r < 0;
|
||||
}
|
||||
|
||||
/* cached values for EngineNameSorter to spare many GetString() calls */
|
||||
static EngineID _last_engine[2] = { INVALID_ENGINE, INVALID_ENGINE };
|
||||
|
||||
/**
|
||||
* Determines order of engines by name
|
||||
* @param a first engine to compare
|
||||
@@ -133,17 +136,16 @@ static bool EngineIntroDateSorter(const EngineID &a, const EngineID &b)
|
||||
*/
|
||||
static bool EngineNameSorter(const EngineID &a, const EngineID &b)
|
||||
{
|
||||
static EngineID last_engine[2] = { INVALID_ENGINE, INVALID_ENGINE };
|
||||
static char last_name[2][64] = { "\0", "\0" };
|
||||
static char last_name[2][64] = { "", "" };
|
||||
|
||||
if (a != last_engine[0]) {
|
||||
last_engine[0] = a;
|
||||
if (a != _last_engine[0]) {
|
||||
_last_engine[0] = a;
|
||||
SetDParam(0, a);
|
||||
GetString(last_name[0], STR_ENGINE_NAME, lastof(last_name[0]));
|
||||
}
|
||||
|
||||
if (b != last_engine[1]) {
|
||||
last_engine[1] = b;
|
||||
if (b != _last_engine[1]) {
|
||||
_last_engine[1] = b;
|
||||
SetDParam(0, b);
|
||||
GetString(last_name[1], STR_ENGINE_NAME, lastof(last_name[1]));
|
||||
}
|
||||
@@ -928,6 +930,14 @@ int DrawVehiclePurchaseInfo(int left, int right, int y, EngineID engine_number,
|
||||
/* Additional text from NewGRF */
|
||||
y = ShowAdditionalText(left, right, y, engine_number);
|
||||
|
||||
/* The NewGRF's name which the vehicle comes from */
|
||||
const GRFConfig *config = GetGRFConfig(e->GetGRFID());
|
||||
if (_settings_client.gui.show_newgrf_name && config != nullptr)
|
||||
{
|
||||
DrawString(left, right, y, config->GetName(), TC_BLACK);
|
||||
y += FONT_HEIGHT_NORMAL;
|
||||
}
|
||||
|
||||
return y;
|
||||
}
|
||||
|
||||
@@ -1284,6 +1294,9 @@ struct BuildVehicleWindow : Window {
|
||||
|
||||
this->SelectEngine(sel_id);
|
||||
|
||||
/* invalidate cached values for name sorter - engine names could change */
|
||||
_last_engine[0] = _last_engine[1] = INVALID_ENGINE;
|
||||
|
||||
/* make engines first, and then wagons, sorted by selected sort_criteria */
|
||||
_engine_sort_direction = false;
|
||||
EngList_Sort(&this->eng_list, TrainEnginesThenWagonsSorter);
|
||||
|
||||
@@ -42,8 +42,8 @@ void SetupCargoForClimate(LandscapeID l)
|
||||
assert(l < lengthof(_default_climate_cargo));
|
||||
|
||||
/* Reset and disable all cargo types */
|
||||
memset(CargoSpec::array, 0, sizeof(CargoSpec::array));
|
||||
for (CargoID i = 0; i < lengthof(CargoSpec::array); i++) {
|
||||
*CargoSpec::Get(i) = {};
|
||||
CargoSpec::Get(i)->bitnum = INVALID_CARGO;
|
||||
|
||||
/* Set defaults for newer properties, which old GRFs do not know */
|
||||
|
||||
@@ -105,6 +105,7 @@ CommandProc CmdIncreaseLoan;
|
||||
CommandProc CmdDecreaseLoan;
|
||||
|
||||
CommandProc CmdWantEnginePreview;
|
||||
CommandProc CmdEngineCtrl;
|
||||
|
||||
CommandProc CmdRenameVehicle;
|
||||
CommandProc CmdRenameEngine;
|
||||
@@ -130,6 +131,7 @@ CommandProc CmdFoundTown;
|
||||
CommandProc CmdRenameTown;
|
||||
CommandProc CmdDoTownAction;
|
||||
CommandProc CmdTownGrowthRate;
|
||||
CommandProc CmdTownRating;
|
||||
CommandProc CmdTownCargoGoal;
|
||||
CommandProc CmdTownSetText;
|
||||
CommandProc CmdExpandTown;
|
||||
@@ -269,6 +271,7 @@ static const Command _command_proc_table[] = {
|
||||
DEF_CMD(CmdDecreaseLoan, 0, CMDT_MONEY_MANAGEMENT ), // CMD_DECREASE_LOAN
|
||||
|
||||
DEF_CMD(CmdWantEnginePreview, 0, CMDT_VEHICLE_MANAGEMENT ), // CMD_WANT_ENGINE_PREVIEW
|
||||
DEF_CMD(CmdEngineCtrl, CMD_DEITY, CMDT_VEHICLE_MANAGEMENT ), // CMD_ENGINE_CTRL
|
||||
|
||||
DEF_CMD(CmdRenameVehicle, 0, CMDT_OTHER_MANAGEMENT ), // CMD_RENAME_VEHICLE
|
||||
DEF_CMD(CmdRenameEngine, CMD_SERVER, CMDT_OTHER_MANAGEMENT ), // CMD_RENAME_ENGINE
|
||||
@@ -295,6 +298,7 @@ static const Command _command_proc_table[] = {
|
||||
DEF_CMD(CmdDoTownAction, 0, CMDT_LANDSCAPE_CONSTRUCTION), // CMD_DO_TOWN_ACTION
|
||||
DEF_CMD(CmdTownCargoGoal, CMD_DEITY, CMDT_OTHER_MANAGEMENT ), // CMD_TOWN_CARGO_GOAL
|
||||
DEF_CMD(CmdTownGrowthRate, CMD_DEITY, CMDT_OTHER_MANAGEMENT ), // CMD_TOWN_GROWTH_RATE
|
||||
DEF_CMD(CmdTownRating, CMD_DEITY, CMDT_OTHER_MANAGEMENT ), // CMD_TOWN_RATING
|
||||
DEF_CMD(CmdTownSetText, CMD_STR_CTRL | CMD_DEITY, CMDT_OTHER_MANAGEMENT ), // CMD_TOWN_SET_TEXT
|
||||
DEF_CMD(CmdExpandTown, CMD_DEITY, CMDT_LANDSCAPE_CONSTRUCTION), // CMD_EXPAND_TOWN
|
||||
DEF_CMD(CmdDeleteTown, CMD_OFFLINE, CMDT_LANDSCAPE_CONSTRUCTION), // CMD_DELETE_TOWN
|
||||
|
||||
@@ -238,6 +238,7 @@ enum Commands {
|
||||
CMD_DECREASE_LOAN, ///< decrease the loan from the bank
|
||||
|
||||
CMD_WANT_ENGINE_PREVIEW, ///< confirm the preview of an engine
|
||||
CMD_ENGINE_CTRL, ///< control availability of the engine for companies
|
||||
|
||||
CMD_RENAME_VEHICLE, ///< rename a whole vehicle
|
||||
CMD_RENAME_ENGINE, ///< rename a engine (in the engine list)
|
||||
@@ -262,6 +263,7 @@ enum Commands {
|
||||
CMD_DO_TOWN_ACTION, ///< do a action from the town detail window (like advertises or bribe)
|
||||
CMD_TOWN_CARGO_GOAL, ///< set the goal of a cargo for a town
|
||||
CMD_TOWN_GROWTH_RATE, ///< set the town growth rate
|
||||
CMD_TOWN_RATING, ///< set rating of a company in a town
|
||||
CMD_TOWN_SET_TEXT, ///< set the custom text of a town
|
||||
CMD_EXPAND_TOWN, ///< expand a town
|
||||
CMD_DELETE_TOWN, ///< delete a town
|
||||
|
||||
@@ -615,28 +615,6 @@ private:
|
||||
ShowDropDownList(this, std::move(list), sel, widget);
|
||||
}
|
||||
|
||||
static bool GroupNameSorter(const Group * const &a, const Group * const &b)
|
||||
{
|
||||
static const Group *last_group[2] = { nullptr, nullptr };
|
||||
static char last_name[2][64] = { "", "" };
|
||||
|
||||
if (a != last_group[0]) {
|
||||
last_group[0] = a;
|
||||
SetDParam(0, a->index);
|
||||
GetString(last_name[0], STR_GROUP_NAME, lastof(last_name[0]));
|
||||
}
|
||||
|
||||
if (b != last_group[1]) {
|
||||
last_group[1] = b;
|
||||
SetDParam(0, b->index);
|
||||
GetString(last_name[1], STR_GROUP_NAME, lastof(last_name[1]));
|
||||
}
|
||||
|
||||
int r = strnatcmp(last_name[0], last_name[1]); // Sort by name (natural sorting).
|
||||
if (r == 0) return a->index < b->index;
|
||||
return r < 0;
|
||||
}
|
||||
|
||||
void AddChildren(GUIGroupList *source, GroupID parent, int indent)
|
||||
{
|
||||
for (const Group *g : *source) {
|
||||
@@ -665,7 +643,27 @@ private:
|
||||
}
|
||||
|
||||
list.ForceResort();
|
||||
list.Sort(&GroupNameSorter);
|
||||
|
||||
/* Sort the groups by their name */
|
||||
const Group *last_group[2] = { nullptr, nullptr };
|
||||
char last_name[2][64] = { "", "" };
|
||||
list.Sort([&](const Group * const &a, const Group * const &b) -> bool {
|
||||
if (a != last_group[0]) {
|
||||
last_group[0] = a;
|
||||
SetDParam(0, a->index);
|
||||
GetString(last_name[0], STR_GROUP_NAME, lastof(last_name[0]));
|
||||
}
|
||||
|
||||
if (b != last_group[1]) {
|
||||
last_group[1] = b;
|
||||
SetDParam(0, b->index);
|
||||
GetString(last_name[1], STR_GROUP_NAME, lastof(last_name[1]));
|
||||
}
|
||||
|
||||
int r = strnatcmp(last_name[0], last_name[1]); // Sort by name (natural sorting).
|
||||
if (r == 0) return a->index < b->index;
|
||||
return r < 0;
|
||||
});
|
||||
|
||||
AddChildren(&list, INVALID_GROUP, 0);
|
||||
}
|
||||
@@ -1884,7 +1882,7 @@ struct CompanyInfrastructureWindow : Window
|
||||
|
||||
switch (widget) {
|
||||
case WID_CI_RAIL_DESC: {
|
||||
uint lines = 1;
|
||||
uint lines = 1; // Starts at 1 because a line is also required for the section title
|
||||
|
||||
size->width = max(size->width, GetStringBoundingBox(STR_COMPANY_INFRASTRUCTURE_VIEW_RAIL_SECT).width);
|
||||
|
||||
@@ -1907,7 +1905,7 @@ struct CompanyInfrastructureWindow : Window
|
||||
|
||||
case WID_CI_ROAD_DESC:
|
||||
case WID_CI_TRAM_DESC: {
|
||||
uint lines = 0;
|
||||
uint lines = 1; // Starts at 1 because a line is also required for the section title
|
||||
|
||||
size->width = max(size->width, GetStringBoundingBox(widget == WID_CI_ROAD_DESC ? STR_COMPANY_INFRASTRUCTURE_VIEW_ROAD_SECT : STR_COMPANY_INFRASTRUCTURE_VIEW_TRAM_SECT).width);
|
||||
|
||||
|
||||
@@ -21,6 +21,7 @@
|
||||
#include "safeguards.h"
|
||||
|
||||
static const uint ICON_TOKEN_COUNT = 20; ///< Maximum number of tokens in one command
|
||||
static const uint ICON_MAX_RECURSE = 10; ///< Maximum number of recursion
|
||||
|
||||
/* console parser */
|
||||
IConsoleCmd *_iconsole_cmds; ///< list of registered commands
|
||||
@@ -316,13 +317,18 @@ IConsoleAlias *IConsoleAliasGet(const char *name)
|
||||
* @param tokencount the number of parameters passed
|
||||
* @param *tokens are the parameters given to the original command (0 is the first param)
|
||||
*/
|
||||
static void IConsoleAliasExec(const IConsoleAlias *alias, byte tokencount, char *tokens[ICON_TOKEN_COUNT])
|
||||
static void IConsoleAliasExec(const IConsoleAlias *alias, byte tokencount, char *tokens[ICON_TOKEN_COUNT], const uint recurse_count)
|
||||
{
|
||||
char alias_buffer[ICON_MAX_STREAMSIZE] = { '\0' };
|
||||
char *alias_stream = alias_buffer;
|
||||
|
||||
DEBUG(console, 6, "Requested command is an alias; parsing...");
|
||||
|
||||
if (recurse_count > ICON_MAX_RECURSE) {
|
||||
IConsoleError("Too many alias expansions, recursion limit reached. Aborting");
|
||||
return;
|
||||
}
|
||||
|
||||
for (const char *cmdptr = alias->cmdline; *cmdptr != '\0'; cmdptr++) {
|
||||
switch (*cmdptr) {
|
||||
case '\'': // ' will double for ""
|
||||
@@ -330,7 +336,7 @@ static void IConsoleAliasExec(const IConsoleAlias *alias, byte tokencount, char
|
||||
break;
|
||||
|
||||
case ';': // Cmd separator; execute previous and start new command
|
||||
IConsoleCmdExec(alias_buffer);
|
||||
IConsoleCmdExec(alias_buffer, recurse_count);
|
||||
|
||||
alias_stream = alias_buffer;
|
||||
*alias_stream = '\0'; // Make sure the new command is terminated.
|
||||
@@ -390,7 +396,7 @@ static void IConsoleAliasExec(const IConsoleAlias *alias, byte tokencount, char
|
||||
}
|
||||
}
|
||||
|
||||
IConsoleCmdExec(alias_buffer);
|
||||
IConsoleCmdExec(alias_buffer, recurse_count);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -398,7 +404,7 @@ static void IConsoleAliasExec(const IConsoleAlias *alias, byte tokencount, char
|
||||
* individual tokens (separated by spaces), then execute it if possible
|
||||
* @param cmdstr string to be parsed and executed
|
||||
*/
|
||||
void IConsoleCmdExec(const char *cmdstr)
|
||||
void IConsoleCmdExec(const char *cmdstr, const uint recurse_count)
|
||||
{
|
||||
const char *cmdptr;
|
||||
char *tokens[ICON_TOKEN_COUNT], tokenstream[ICON_MAX_STREAMSIZE];
|
||||
@@ -504,7 +510,7 @@ void IConsoleCmdExec(const char *cmdstr)
|
||||
t_index--;
|
||||
IConsoleAlias *alias = IConsoleAliasGet(tokens[0]);
|
||||
if (alias != nullptr) {
|
||||
IConsoleAliasExec(alias, t_index, &tokens[1]);
|
||||
IConsoleAliasExec(alias, t_index, &tokens[1], recurse_count + 1);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -33,6 +33,7 @@
|
||||
#include "ai/ai.hpp"
|
||||
#include "ai/ai_config.hpp"
|
||||
#include "newgrf.h"
|
||||
#include "newgrf_profiling.h"
|
||||
#include "console_func.h"
|
||||
#include "engine_base.h"
|
||||
#include "game/game.hpp"
|
||||
@@ -469,7 +470,7 @@ DEF_CONSOLE_CMD(ConClearBuffer)
|
||||
* Network Core Console Commands
|
||||
**********************************/
|
||||
|
||||
static bool ConKickOrBan(const char *argv, bool ban)
|
||||
static bool ConKickOrBan(const char *argv, bool ban, const char *reason)
|
||||
{
|
||||
uint n;
|
||||
|
||||
@@ -493,14 +494,14 @@ static bool ConKickOrBan(const char *argv, bool ban)
|
||||
|
||||
if (!ban) {
|
||||
/* Kick only this client, not all clients with that IP */
|
||||
NetworkServerKickClient(client_id);
|
||||
NetworkServerKickClient(client_id, reason);
|
||||
return true;
|
||||
}
|
||||
|
||||
/* When banning, kick+ban all clients with that IP */
|
||||
n = NetworkServerKickOrBanIP(client_id, ban);
|
||||
n = NetworkServerKickOrBanIP(client_id, ban, reason);
|
||||
} else {
|
||||
n = NetworkServerKickOrBanIP(argv, ban);
|
||||
n = NetworkServerKickOrBanIP(argv, ban, reason);
|
||||
}
|
||||
|
||||
if (n == 0) {
|
||||
@@ -515,28 +516,48 @@ static bool ConKickOrBan(const char *argv, bool ban)
|
||||
DEF_CONSOLE_CMD(ConKick)
|
||||
{
|
||||
if (argc == 0) {
|
||||
IConsoleHelp("Kick a client from a network game. Usage: 'kick <ip | client-id>'");
|
||||
IConsoleHelp("Kick a client from a network game. Usage: 'kick <ip | client-id> [<kick-reason>]'");
|
||||
IConsoleHelp("For client-id's, see the command 'clients'");
|
||||
return true;
|
||||
}
|
||||
|
||||
if (argc != 2) return false;
|
||||
if (argc != 2 && argc != 3) return false;
|
||||
|
||||
return ConKickOrBan(argv[1], false);
|
||||
/* No reason supplied for kicking */
|
||||
if (argc == 2) return ConKickOrBan(argv[1], false, nullptr);
|
||||
|
||||
/* Reason for kicking supplied */
|
||||
size_t kick_message_length = strlen(argv[2]);
|
||||
if (kick_message_length >= 255) {
|
||||
IConsolePrintF(CC_ERROR, "ERROR: Maximum kick message length is 254 characters. You entered " PRINTF_SIZE " characters.", kick_message_length);
|
||||
return false;
|
||||
} else {
|
||||
return ConKickOrBan(argv[1], false, argv[2]);
|
||||
}
|
||||
}
|
||||
|
||||
DEF_CONSOLE_CMD(ConBan)
|
||||
{
|
||||
if (argc == 0) {
|
||||
IConsoleHelp("Ban a client from a network game. Usage: 'ban <ip | client-id>'");
|
||||
IConsoleHelp("Ban a client from a network game. Usage: 'ban <ip | client-id> [<ban-reason>]'");
|
||||
IConsoleHelp("For client-id's, see the command 'clients'");
|
||||
IConsoleHelp("If the client is no longer online, you can still ban his/her IP");
|
||||
return true;
|
||||
}
|
||||
|
||||
if (argc != 2) return false;
|
||||
if (argc != 2 && argc != 3) return false;
|
||||
|
||||
return ConKickOrBan(argv[1], true);
|
||||
/* No reason supplied for kicking */
|
||||
if (argc == 2) return ConKickOrBan(argv[1], true, nullptr);
|
||||
|
||||
/* Reason for kicking supplied */
|
||||
size_t kick_message_length = strlen(argv[2]);
|
||||
if (kick_message_length >= 255) {
|
||||
IConsolePrintF(CC_ERROR, "ERROR: Maximum kick message length is 254 characters. You entered " PRINTF_SIZE " characters.", kick_message_length);
|
||||
return false;
|
||||
} else {
|
||||
return ConKickOrBan(argv[1], true, argv[2]);
|
||||
}
|
||||
}
|
||||
|
||||
DEF_CONSOLE_CMD(ConUnBan)
|
||||
@@ -585,6 +606,7 @@ DEF_CONSOLE_CMD(ConBanList)
|
||||
uint i = 1;
|
||||
for (const auto &entry : _network_ban_list) {
|
||||
IConsolePrintF(CC_DEFAULT, " %d) %s", i, entry.c_str());
|
||||
i++;
|
||||
}
|
||||
|
||||
return true;
|
||||
@@ -1349,10 +1371,11 @@ DEF_CONSOLE_CMD(ConAlias)
|
||||
DEF_CONSOLE_CMD(ConScreenShot)
|
||||
{
|
||||
if (argc == 0) {
|
||||
IConsoleHelp("Create a screenshot of the game. Usage: 'screenshot [big | giant | no_con] [file name]'");
|
||||
IConsoleHelp("Create a screenshot of the game. Usage: 'screenshot [big | giant | no_con | minimap] [file name]'");
|
||||
IConsoleHelp("'big' makes a zoomed-in screenshot of the visible area, 'giant' makes a screenshot of the "
|
||||
"whole map, 'no_con' hides the console to create the screenshot. 'big' or 'giant' "
|
||||
"screenshots are always drawn without console");
|
||||
"screenshots are always drawn without console. "
|
||||
"'minimap' makes a top-viewed minimap screenshot of whole world which represents one tile by one pixel.");
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -1370,6 +1393,10 @@ DEF_CONSOLE_CMD(ConScreenShot)
|
||||
/* screenshot giant [filename] */
|
||||
type = SC_WORLD;
|
||||
if (argc > 2) name = argv[2];
|
||||
} else if (strcmp(argv[1], "minimap") == 0) {
|
||||
/* screenshot minimap [filename] */
|
||||
type = SC_MINIMAP;
|
||||
if (argc > 2) name = argv[2];
|
||||
} else if (strcmp(argv[1], "no_con") == 0) {
|
||||
/* screenshot no_con [filename] */
|
||||
IConsoleClose();
|
||||
@@ -1872,6 +1899,135 @@ DEF_CONSOLE_CMD(ConNewGRFReload)
|
||||
return true;
|
||||
}
|
||||
|
||||
DEF_CONSOLE_CMD(ConNewGRFProfile)
|
||||
{
|
||||
if (argc == 0) {
|
||||
IConsoleHelp("Collect performance data about NewGRF sprite requests and callbacks. Sub-commands can be abbreviated.");
|
||||
IConsoleHelp("Usage: newgrf_profile [list]");
|
||||
IConsoleHelp(" List all NewGRFs that can be profiled, and their status.");
|
||||
IConsoleHelp("Usage: newgrf_profile select <grf-num>...");
|
||||
IConsoleHelp(" Select one or more GRFs for profiling.");
|
||||
IConsoleHelp("Usage: newgrf_profile unselect <grf-num>...");
|
||||
IConsoleHelp(" Unselect one or more GRFs from profiling. Use the keyword \"all\" instead of a GRF number to unselect all. Removing an active profiler aborts data collection.");
|
||||
IConsoleHelp("Usage: newgrf_profile start [<num-days>]");
|
||||
IConsoleHelp(" Begin profiling all selected GRFs. If a number of days is provided, profiling stops after that many in-game days.");
|
||||
IConsoleHelp("Usage: newgrf_profile stop");
|
||||
IConsoleHelp(" End profiling and write the collected data to CSV files.");
|
||||
IConsoleHelp("Usage: newgrf_profile abort");
|
||||
IConsoleHelp(" End profiling and discard all collected data.");
|
||||
return true;
|
||||
}
|
||||
|
||||
extern const std::vector<GRFFile *> &GetAllGRFFiles();
|
||||
const std::vector<GRFFile *> &files = GetAllGRFFiles();
|
||||
|
||||
/* "list" sub-command */
|
||||
if (argc == 1 || strncasecmp(argv[1], "lis", 3) == 0) {
|
||||
IConsolePrint(CC_INFO, "Loaded GRF files:");
|
||||
int i = 1;
|
||||
for (GRFFile *grf : files) {
|
||||
auto profiler = std::find_if(_newgrf_profilers.begin(), _newgrf_profilers.end(), [&](NewGRFProfiler &pr) { return pr.grffile == grf; });
|
||||
bool selected = profiler != _newgrf_profilers.end();
|
||||
bool active = selected && profiler->active;
|
||||
TextColour tc = active ? TC_LIGHT_BLUE : selected ? TC_GREEN : CC_INFO;
|
||||
const char *statustext = active ? " (active)" : selected ? " (selected)" : "";
|
||||
IConsolePrintF(tc, "%d: [%08X] %s%s", i, BSWAP32(grf->grfid), grf->filename, statustext);
|
||||
i++;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/* "select" sub-command */
|
||||
if (strncasecmp(argv[1], "sel", 3) == 0 && argc >= 3) {
|
||||
for (size_t argnum = 2; argnum < argc; ++argnum) {
|
||||
int grfnum = atoi(argv[argnum]);
|
||||
if (grfnum < 1 || grfnum > (int)files.size()) { // safe cast, files.size() should not be larger than a few hundred in the most extreme cases
|
||||
IConsolePrintF(CC_WARNING, "GRF number %d out of range, not added.", grfnum);
|
||||
continue;
|
||||
}
|
||||
GRFFile *grf = files[grfnum - 1];
|
||||
if (std::any_of(_newgrf_profilers.begin(), _newgrf_profilers.end(), [&](NewGRFProfiler &pr) { return pr.grffile == grf; })) {
|
||||
IConsolePrintF(CC_WARNING, "GRF number %d [%08X] is already selected for profiling.", grfnum, BSWAP32(grf->grfid));
|
||||
continue;
|
||||
}
|
||||
_newgrf_profilers.emplace_back(grf);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/* "unselect" sub-command */
|
||||
if (strncasecmp(argv[1], "uns", 3) == 0 && argc >= 3) {
|
||||
for (size_t argnum = 2; argnum < argc; ++argnum) {
|
||||
if (strcasecmp(argv[argnum], "all") == 0) {
|
||||
_newgrf_profilers.clear();
|
||||
break;
|
||||
}
|
||||
int grfnum = atoi(argv[argnum]);
|
||||
if (grfnum < 1 || grfnum > (int)files.size()) {
|
||||
IConsolePrintF(CC_WARNING, "GRF number %d out of range, not removing.", grfnum);
|
||||
continue;
|
||||
}
|
||||
GRFFile *grf = files[grfnum - 1];
|
||||
auto pos = std::find_if(_newgrf_profilers.begin(), _newgrf_profilers.end(), [&](NewGRFProfiler &pr) { return pr.grffile == grf; });
|
||||
if (pos != _newgrf_profilers.end()) _newgrf_profilers.erase(pos);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/* "start" sub-command */
|
||||
if (strncasecmp(argv[1], "sta", 3) == 0) {
|
||||
std::string grfids;
|
||||
size_t started = 0;
|
||||
for (NewGRFProfiler &pr : _newgrf_profilers) {
|
||||
if (!pr.active) {
|
||||
pr.Start();
|
||||
started++;
|
||||
|
||||
if (!grfids.empty()) grfids += ", ";
|
||||
char grfidstr[12]{ 0 };
|
||||
seprintf(grfidstr, lastof(grfidstr), "[%08X]", BSWAP32(pr.grffile->grfid));
|
||||
grfids += grfidstr;
|
||||
}
|
||||
}
|
||||
if (started > 0) {
|
||||
IConsolePrintF(CC_DEBUG, "Started profiling for GRFID%s %s", (started > 1) ? "s" : "", grfids.c_str());
|
||||
if (argc >= 3) {
|
||||
int days = max(atoi(argv[2]), 1);
|
||||
_newgrf_profile_end_date = _date + days;
|
||||
|
||||
char datestrbuf[32]{ 0 };
|
||||
SetDParam(0, _newgrf_profile_end_date);
|
||||
GetString(datestrbuf, STR_JUST_DATE_ISO, lastof(datestrbuf));
|
||||
IConsolePrintF(CC_DEBUG, "Profiling will automatically stop on game date %s", datestrbuf);
|
||||
} else {
|
||||
_newgrf_profile_end_date = MAX_DAY;
|
||||
}
|
||||
} else if (_newgrf_profilers.empty()) {
|
||||
IConsolePrintF(CC_WARNING, "No GRFs selected for profiling, did not start.");
|
||||
} else {
|
||||
IConsolePrintF(CC_WARNING, "Did not start profiling for any GRFs, all selected GRFs are already profiling.");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/* "stop" sub-command */
|
||||
if (strncasecmp(argv[1], "sto", 3) == 0) {
|
||||
NewGRFProfiler::FinishAll();
|
||||
return true;
|
||||
}
|
||||
|
||||
/* "abort" sub-command */
|
||||
if (strncasecmp(argv[1], "abo", 3) == 0) {
|
||||
for (NewGRFProfiler &pr : _newgrf_profilers) {
|
||||
pr.Abort();
|
||||
}
|
||||
_newgrf_profile_end_date = MAX_DAY;
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
#ifdef _DEBUG
|
||||
/******************
|
||||
* debug commands
|
||||
@@ -2051,4 +2207,5 @@ void IConsoleStdLibRegister()
|
||||
|
||||
/* NewGRF development stuff */
|
||||
IConsoleCmdRegister("reload_newgrfs", ConNewGRFReload, ConHookNewGRFDeveloperTool);
|
||||
IConsoleCmdRegister("newgrf_profile", ConNewGRFProfile, ConHookNewGRFDeveloperTool);
|
||||
}
|
||||
|
||||
@@ -28,7 +28,7 @@ void IConsoleWarning(const char *string);
|
||||
void IConsoleError(const char *string);
|
||||
|
||||
/* Parser */
|
||||
void IConsoleCmdExec(const char *cmdstr);
|
||||
void IConsoleCmdExec(const char *cmdstr, const uint recurse_count = 0);
|
||||
|
||||
bool IsValidConsoleColour(TextColour c);
|
||||
|
||||
|
||||
@@ -33,6 +33,13 @@
|
||||
# else
|
||||
# define TTD_ENDIAN TTD_BIG_ENDIAN
|
||||
# endif
|
||||
#elif defined(__OpenBSD__)
|
||||
# include <endian.h>
|
||||
# if BYTE_ORDER == LITTLE_ENDIAN
|
||||
# define TTD_ENDIAN TTD_LITTLE_ENDIAN
|
||||
# else
|
||||
# define TTD_ENDIAN TTD_BIG_ENDIAN
|
||||
# endif
|
||||
#elif !defined(TESTING)
|
||||
# include <sys/param.h>
|
||||
# if __BYTE_ORDER == __LITTLE_ENDIAN
|
||||
|
||||
@@ -12,7 +12,6 @@
|
||||
|
||||
#include "smallvec_type.hpp"
|
||||
#include "enum_type.hpp"
|
||||
#include <functional>
|
||||
|
||||
/** Various types of a pool. */
|
||||
enum PoolType {
|
||||
@@ -149,9 +148,8 @@ struct Pool : PoolBase {
|
||||
typedef size_t difference_type;
|
||||
typedef std::forward_iterator_tag iterator_category;
|
||||
|
||||
explicit PoolIterator(size_t index, std::function<bool(size_t)> filter = nullptr) : index(index), filter(filter)
|
||||
explicit PoolIterator(size_t index) : index(index)
|
||||
{
|
||||
if (this->filter == nullptr) this->filter = [](size_t) { return true; };
|
||||
this->ValidateIndex();
|
||||
};
|
||||
|
||||
@@ -162,8 +160,7 @@ struct Pool : PoolBase {
|
||||
|
||||
private:
|
||||
size_t index;
|
||||
std::function<bool(size_t)> filter;
|
||||
void ValidateIndex() { while (this->index < T::GetPoolSize() && !(T::IsValidID(this->index) && this->filter(this->index))) this->index++; }
|
||||
void ValidateIndex() { while (this->index < T::GetPoolSize() && !(T::IsValidID(this->index))) this->index++; }
|
||||
};
|
||||
|
||||
/*
|
||||
@@ -173,13 +170,54 @@ struct Pool : PoolBase {
|
||||
template <class T>
|
||||
struct IterateWrapper {
|
||||
size_t from;
|
||||
std::function<bool(size_t)> filter;
|
||||
IterateWrapper(size_t from = 0, std::function<bool(size_t)> filter = nullptr) : from(from), filter(filter) {}
|
||||
PoolIterator<T> begin() { return PoolIterator<T>(this->from, this->filter); }
|
||||
IterateWrapper(size_t from = 0) : from(from) {}
|
||||
PoolIterator<T> begin() { return PoolIterator<T>(this->from); }
|
||||
PoolIterator<T> end() { return PoolIterator<T>(T::GetPoolSize()); }
|
||||
bool empty() { return this->begin() == this->end(); }
|
||||
};
|
||||
|
||||
/**
|
||||
* Iterator to iterate all valid T of a pool
|
||||
* @tparam T Type of the class/struct that is going to be iterated
|
||||
*/
|
||||
template <class T, class F>
|
||||
struct PoolIteratorFiltered {
|
||||
typedef T value_type;
|
||||
typedef T* pointer;
|
||||
typedef T& reference;
|
||||
typedef size_t difference_type;
|
||||
typedef std::forward_iterator_tag iterator_category;
|
||||
|
||||
explicit PoolIteratorFiltered(size_t index, F filter) : index(index), filter(filter)
|
||||
{
|
||||
this->ValidateIndex();
|
||||
};
|
||||
|
||||
bool operator==(const PoolIteratorFiltered &other) const { return this->index == other.index; }
|
||||
bool operator!=(const PoolIteratorFiltered &other) const { return !(*this == other); }
|
||||
T * operator*() const { return T::Get(this->index); }
|
||||
PoolIteratorFiltered & operator++() { this->index++; this->ValidateIndex(); return *this; }
|
||||
|
||||
private:
|
||||
size_t index;
|
||||
F filter;
|
||||
void ValidateIndex() { while (this->index < T::GetPoolSize() && !(T::IsValidID(this->index) && this->filter(this->index))) this->index++; }
|
||||
};
|
||||
|
||||
/*
|
||||
* Iterable ensemble of all valid T
|
||||
* @tparam T Type of the class/struct that is going to be iterated
|
||||
*/
|
||||
template <class T, class F>
|
||||
struct IterateWrapperFiltered {
|
||||
size_t from;
|
||||
F filter;
|
||||
IterateWrapperFiltered(size_t from, F filter) : from(from), filter(filter) {}
|
||||
PoolIteratorFiltered<T, F> begin() { return PoolIteratorFiltered<T, F>(this->from, this->filter); }
|
||||
PoolIteratorFiltered<T, F> end() { return PoolIteratorFiltered<T, F>(T::GetPoolSize(), this->filter); }
|
||||
bool empty() { return this->begin() == this->end(); }
|
||||
};
|
||||
|
||||
/**
|
||||
* Base class for all PoolItems
|
||||
* @tparam Tpool The pool this item is going to be part of
|
||||
|
||||
11
src/date.cpp
11
src/date.cpp
@@ -18,6 +18,7 @@
|
||||
#include "rail_gui.h"
|
||||
#include "linkgraph/linkgraph.h"
|
||||
#include "saveload/saveload.h"
|
||||
#include "newgrf_profiling.h"
|
||||
|
||||
#include "safeguards.h"
|
||||
|
||||
@@ -27,6 +28,8 @@ Date _date; ///< Current date in days (day counter)
|
||||
DateFract _date_fract; ///< Fractional part of the day.
|
||||
uint16 _tick_counter; ///< Ever incrementing (and sometimes wrapping) tick counter for setting off various events
|
||||
|
||||
int32 _old_ending_year_slv_105; ///< Old ending year for savegames before SLV_105
|
||||
|
||||
/**
|
||||
* Set the date.
|
||||
* @param date New date
|
||||
@@ -197,8 +200,8 @@ static void OnNewYear()
|
||||
|
||||
if (_cur_year == _settings_client.gui.semaphore_build_before) ResetSignalVariant();
|
||||
|
||||
/* check if we reached end of the game */
|
||||
if (_cur_year == ORIGINAL_END_YEAR) {
|
||||
/* check if we reached end of the game (end of ending year) */
|
||||
if (_cur_year == _settings_game.game_creation.ending_year + 1) {
|
||||
ShowEndGameChart();
|
||||
/* check if we reached the maximum year, decrement dates by a year */
|
||||
} else if (_cur_year == MAX_YEAR + 1) {
|
||||
@@ -243,6 +246,10 @@ static void OnNewMonth()
|
||||
*/
|
||||
static void OnNewDay()
|
||||
{
|
||||
if (!_newgrf_profilers.empty() && _newgrf_profile_end_date <= _date) {
|
||||
NewGRFProfiler::FinishAll();
|
||||
}
|
||||
|
||||
if (_network_server) NetworkServerDailyLoop();
|
||||
|
||||
DisasterDailyLoop();
|
||||
|
||||
@@ -84,6 +84,8 @@ static const Year MIN_YEAR = 0;
|
||||
|
||||
/** The default starting year */
|
||||
static const Year DEF_START_YEAR = 1950;
|
||||
/** The default scoring end year */
|
||||
static const Year DEF_END_YEAR = ORIGINAL_END_YEAR - 1;
|
||||
|
||||
/**
|
||||
* MAX_YEAR, nicely rounded value of the number of years that can
|
||||
|
||||
@@ -27,6 +27,8 @@ INSTANTIATE_POOL_METHODS(Depot)
|
||||
*/
|
||||
Depot::~Depot()
|
||||
{
|
||||
free(this->name);
|
||||
|
||||
if (CleaningPool()) return;
|
||||
|
||||
if (!IsDepotTile(this->xy) || GetDepotIndex(this->xy) != this->index) {
|
||||
|
||||
@@ -448,6 +448,7 @@ public:
|
||||
this->LowerWidget(_settings_client.gui.station_show_coverage + BDSW_LT_OFF);
|
||||
if (_settings_client.sound.click_beep) SndPlayFx(SND_15_BEEP);
|
||||
this->SetDirty();
|
||||
SetViewportCatchmentStation(nullptr, true);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1216,10 +1216,11 @@ void CargoPayment::PayFinalDelivery(const CargoPacket *cp, uint count)
|
||||
*/
|
||||
Money CargoPayment::PayTransfer(const CargoPacket *cp, uint count)
|
||||
{
|
||||
Money profit = GetTransportedGoodsIncome(
|
||||
Money profit = -cp->FeederShare(count) + GetTransportedGoodsIncome(
|
||||
count,
|
||||
/* pay transfer vehicle for only the part of transfer it has done: ie. cargo_loaded_at_xy to here */
|
||||
DistanceManhattan(cp->LoadedAtXY(), Station::Get(this->current_station)->xy),
|
||||
/* pay transfer vehicle the difference between the payment for the journey from
|
||||
* the source to the current point, and the sum of the previous transfer payments */
|
||||
DistanceManhattan(cp->SourceStationXY(), Station::Get(this->current_station)->xy),
|
||||
cp->DaysInTransit(),
|
||||
this->ct);
|
||||
|
||||
|
||||
@@ -710,11 +710,11 @@ void StartupEngines()
|
||||
}
|
||||
|
||||
/**
|
||||
* Company \a company accepts engine \a eid for preview.
|
||||
* @param eid Engine being accepted (is under preview).
|
||||
* @param company Current company previewing the engine.
|
||||
* Allows engine \a eid to be used by a company \a company.
|
||||
* @param eid The engine to enable.
|
||||
* @param company The company to allow using the engine.
|
||||
*/
|
||||
static void AcceptEnginePreview(EngineID eid, CompanyID company)
|
||||
static void EnableEngineForCompany(EngineID eid, CompanyID company)
|
||||
{
|
||||
Engine *e = Engine::Get(eid);
|
||||
Company *c = Company::Get(company);
|
||||
@@ -728,15 +728,45 @@ static void AcceptEnginePreview(EngineID eid, CompanyID company)
|
||||
c->avail_roadtypes = AddDateIntroducedRoadTypes(c->avail_roadtypes | GetRoadTypeInfo(e->u.road.roadtype)->introduces_roadtypes, _date);
|
||||
}
|
||||
|
||||
e->preview_company = INVALID_COMPANY;
|
||||
e->preview_asked = (CompanyMask)-1;
|
||||
if (company == _local_company) {
|
||||
AddRemoveEngineFromAutoreplaceAndBuildWindows(e->type);
|
||||
|
||||
/* Update the toolbar. */
|
||||
InvalidateWindowData(WC_MAIN_TOOLBAR, 0);
|
||||
if (e->type == VEH_ROAD) InvalidateWindowData(WC_BUILD_TOOLBAR, TRANSPORT_ROAD);
|
||||
if (e->type == VEH_SHIP) InvalidateWindowData(WC_BUILD_TOOLBAR, TRANSPORT_WATER);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Forbids engine \a eid to be used by a company \a company.
|
||||
* @param eid The engine to disable.
|
||||
* @param company The company to forbid using the engine.
|
||||
*/
|
||||
static void DisableEngineForCompany(EngineID eid, CompanyID company)
|
||||
{
|
||||
Engine *e = Engine::Get(eid);
|
||||
|
||||
ClrBit(e->company_avail, company);
|
||||
|
||||
if (company == _local_company) {
|
||||
AddRemoveEngineFromAutoreplaceAndBuildWindows(e->type);
|
||||
}
|
||||
}
|
||||
|
||||
/* Update the toolbar. */
|
||||
if (e->type == VEH_ROAD) InvalidateWindowData(WC_BUILD_TOOLBAR, TRANSPORT_ROAD);
|
||||
if (e->type == VEH_SHIP) InvalidateWindowData(WC_BUILD_TOOLBAR, TRANSPORT_WATER);
|
||||
/**
|
||||
* Company \a company accepts engine \a eid for preview.
|
||||
* @param eid Engine being accepted (is under preview).
|
||||
* @param company Current company previewing the engine.
|
||||
*/
|
||||
static void AcceptEnginePreview(EngineID eid, CompanyID company)
|
||||
{
|
||||
Engine *e = Engine::Get(eid);
|
||||
|
||||
e->preview_company = INVALID_COMPANY;
|
||||
e->preview_asked = (CompanyMask)-1;
|
||||
|
||||
EnableEngineForCompany(eid, company);
|
||||
|
||||
/* Notify preview window, that it might want to close.
|
||||
* Note: We cannot directly close the window.
|
||||
@@ -891,6 +921,37 @@ CommandCost CmdWantEnginePreview(TileIndex tile, DoCommandFlag flags, uint32 p1,
|
||||
return CommandCost();
|
||||
}
|
||||
|
||||
/**
|
||||
* Allow or forbid a specific company to use an engine
|
||||
* @param tile unused
|
||||
* @param flags operation to perform
|
||||
* @param p1 engine id
|
||||
* @param p2 various bitstuffed elements
|
||||
* - p2 = (bit 0 - 7) - Company to allow/forbid the use of an engine.
|
||||
* - p2 = (bit 31) - 0 to forbid, 1 to allow.
|
||||
* @param text unused
|
||||
* @return the cost of this operation or an error
|
||||
*/
|
||||
CommandCost CmdEngineCtrl(TileIndex tile, DoCommandFlag flags, uint32 p1, uint32 p2, const char *text)
|
||||
{
|
||||
if (_current_company != OWNER_DEITY) return CMD_ERROR;
|
||||
EngineID engine_id = (EngineID)p1;
|
||||
CompanyID company_id = (CompanyID)GB(p2, 0, 8);
|
||||
bool allow = HasBit(p2, 31);
|
||||
|
||||
if (!Engine::IsValidID(engine_id) || !Company::IsValidID(company_id)) return CMD_ERROR;
|
||||
|
||||
if (flags & DC_EXEC) {
|
||||
if (allow) {
|
||||
EnableEngineForCompany(engine_id, company_id);
|
||||
} else {
|
||||
DisableEngineForCompany(engine_id, company_id);
|
||||
}
|
||||
}
|
||||
|
||||
return CommandCost();
|
||||
}
|
||||
|
||||
/**
|
||||
* An engine has become available for general use.
|
||||
* Also handle the exclusive engine preview contract.
|
||||
|
||||
@@ -142,15 +142,21 @@ struct Engine : EnginePool::PoolItem<&_engine_pool> {
|
||||
|
||||
uint32 GetGRFID() const;
|
||||
|
||||
struct EngineTypeFilter {
|
||||
VehicleType vt;
|
||||
|
||||
bool operator() (size_t index) { return Engine::Get(index)->type == this->vt; }
|
||||
};
|
||||
|
||||
/**
|
||||
* Returns an iterable ensemble of all valid engines of the given type
|
||||
* @param vt the VehicleType for engines to be valid
|
||||
* @param from index of the first engine to consider
|
||||
* @return an iterable ensemble of all valid engines of the given type
|
||||
*/
|
||||
static Pool::IterateWrapper<Engine> IterateType(VehicleType vt, size_t from = 0)
|
||||
static Pool::IterateWrapperFiltered<Engine, EngineTypeFilter> IterateType(VehicleType vt, size_t from = 0)
|
||||
{
|
||||
return Pool::IterateWrapper<Engine>(from, [vt](size_t index) { return Engine::Get(index)->type == vt; });
|
||||
return Pool::IterateWrapperFiltered<Engine, EngineTypeFilter>(from, EngineTypeFilter{ vt });
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@ extern const uint8 _engine_offsets[4];
|
||||
|
||||
bool IsEngineBuildable(EngineID engine, VehicleType type, CompanyID company);
|
||||
bool IsEngineRefittable(EngineID engine);
|
||||
void GetArticulatedVehicleCargoesAndRefits(EngineID engine, CargoArray *cargoes, CargoTypes *refits, CargoID cargo_type, uint16 cargo_capacity);
|
||||
void GetArticulatedVehicleCargoesAndRefits(EngineID engine, CargoArray *cargoes, CargoTypes *refits, CargoID cargo_type, uint cargo_capacity);
|
||||
void SetYearEngineAgingStops();
|
||||
void StartupOneEngine(Engine *e, Date aging_date);
|
||||
|
||||
|
||||
@@ -25,6 +25,7 @@
|
||||
#endif
|
||||
#include <sys/stat.h>
|
||||
#include <algorithm>
|
||||
#include <sstream>
|
||||
|
||||
#ifdef WITH_XDG_BASEDIR
|
||||
#include <basedir.h>
|
||||
@@ -481,6 +482,28 @@ FILE *FioFOpenFile(const char *filename, const char *mode, Subdirectory subdir,
|
||||
strecpy(resolved_name, filename, lastof(resolved_name));
|
||||
strtolower(resolved_name);
|
||||
|
||||
/* Resolve ".." */
|
||||
std::istringstream ss(resolved_name);
|
||||
std::vector<std::string> tokens;
|
||||
std::string token;
|
||||
while (std::getline(ss, token, PATHSEPCHAR)) {
|
||||
if (token == "..") {
|
||||
if (tokens.size() < 2) return nullptr;
|
||||
tokens.pop_back();
|
||||
} else {
|
||||
tokens.push_back(token);
|
||||
}
|
||||
}
|
||||
resolved_name[0] = '\0';
|
||||
bool first = true;
|
||||
for (const std::string &token : tokens) {
|
||||
if (!first) {
|
||||
strecat(resolved_name, PATHSEP, lastof(resolved_name));
|
||||
}
|
||||
strecat(resolved_name, token.c_str(), lastof(resolved_name));
|
||||
first = false;
|
||||
}
|
||||
|
||||
size_t resolved_len = strlen(resolved_name);
|
||||
|
||||
/* Resolve ONE directory link */
|
||||
@@ -527,10 +550,24 @@ FILE *FioFOpenFile(const char *filename, const char *mode, Subdirectory subdir,
|
||||
|
||||
/**
|
||||
* Create a directory with the given name
|
||||
* If the parent directory does not exist, it will try to create that as well.
|
||||
* @param name the new name of the directory
|
||||
*/
|
||||
void FioCreateDirectory(const char *name)
|
||||
{
|
||||
char dirname[MAX_PATH];
|
||||
strecpy(dirname, name, lastof(dirname));
|
||||
char *p = strrchr(dirname, PATHSEPCHAR);
|
||||
if (p != nullptr) {
|
||||
*p = '\0';
|
||||
DIR *dir = ttd_opendir(dirname);
|
||||
if (dir == nullptr) {
|
||||
FioCreateDirectory(dirname); // Try creating the parent directory, if we couldn't open it
|
||||
} else {
|
||||
closedir(dir);
|
||||
}
|
||||
}
|
||||
|
||||
/* Ignore directory creation errors; they'll surface later on, and most
|
||||
* of the time they are 'directory already exists' errors anyhow. */
|
||||
#if defined(_WIN32)
|
||||
@@ -892,7 +929,10 @@ bool ExtractTar(const char *tar_filename, Subdirectory subdir)
|
||||
const char *dirname = (*it).second.dirname;
|
||||
|
||||
/* The file doesn't have a sub directory! */
|
||||
if (dirname == nullptr) return false;
|
||||
if (dirname == nullptr) {
|
||||
DEBUG(misc, 1, "Extracting %s failed; archive rejected, the contents must be in a sub directory", tar_filename);
|
||||
return false;
|
||||
}
|
||||
|
||||
char filename[MAX_PATH];
|
||||
strecpy(filename, tar_filename, lastof(filename));
|
||||
|
||||
@@ -269,8 +269,9 @@ private:
|
||||
AbstractFileType abstract_filetype; /// Type of file to select.
|
||||
SaveLoadOperation fop; ///< File operation to perform.
|
||||
FileList fios_items; ///< Save game list.
|
||||
FiosItem o_dir;
|
||||
FiosItem o_dir; ///< Original dir (home dir for this browser)
|
||||
const FiosItem *selected; ///< Selected game in #fios_items, or \c nullptr.
|
||||
const FiosItem *highlighted; ///< Item in fios_items highlighted by mouse pointer, or \c nullptr.
|
||||
Scrollbar *vscroll;
|
||||
|
||||
StringFilter string_filter; ///< Filter for available games.
|
||||
@@ -445,6 +446,8 @@ public:
|
||||
|
||||
if (item == this->selected) {
|
||||
GfxFillRect(r.left + 1, y, r.right, y + this->resize.step_height, PC_DARK_BLUE);
|
||||
} else if (item == this->highlighted) {
|
||||
GfxFillRect(r.left + 1, y, r.right, y + this->resize.step_height, PC_VERY_DARK_BLUE);
|
||||
}
|
||||
DrawString(r.left + WD_FRAMERECT_LEFT, r.right - WD_FRAMERECT_RIGHT, y, item->title, _fios_colours[GetDetailedFileType(item->type)]);
|
||||
y += this->resize.step_height;
|
||||
@@ -714,6 +717,33 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
void OnMouseLoop() override
|
||||
{
|
||||
const Point pt{ _cursor.pos.x - this->left, _cursor.pos.y - this->top };
|
||||
const int widget = GetWidgetFromPos(this, pt.x, pt.y);
|
||||
|
||||
if (widget == WID_SL_DRIVES_DIRECTORIES_LIST) {
|
||||
int y = this->vscroll->GetScrolledRowFromWidget(pt.y, this, WID_SL_DRIVES_DIRECTORIES_LIST, WD_FRAMERECT_TOP);
|
||||
if (y == INT_MAX) return;
|
||||
|
||||
/* Get the corresponding non-filtered out item from the list */
|
||||
int i = 0;
|
||||
while (i <= y) {
|
||||
if (!this->fios_items_shown[i]) y++;
|
||||
i++;
|
||||
}
|
||||
const FiosItem *file = this->fios_items.Get(y);
|
||||
|
||||
if (file != this->highlighted) {
|
||||
this->highlighted = file;
|
||||
this->SetWidgetDirty(WID_SL_DRIVES_DIRECTORIES_LIST);
|
||||
}
|
||||
} else if (this->highlighted != nullptr) {
|
||||
this->highlighted = nullptr;
|
||||
this->SetWidgetDirty(WID_SL_DRIVES_DIRECTORIES_LIST);
|
||||
}
|
||||
}
|
||||
|
||||
EventState OnKeyPress(WChar key, uint16 keycode) override
|
||||
{
|
||||
if (keycode == WKC_ESC) {
|
||||
|
||||
@@ -87,6 +87,11 @@ void GamelogStopAction()
|
||||
if (print) GamelogPrintDebug(5);
|
||||
}
|
||||
|
||||
void GamelogStopAnyAction()
|
||||
{
|
||||
if (_gamelog_action_type != GLAT_NONE) GamelogStopAction();
|
||||
}
|
||||
|
||||
/**
|
||||
* Frees the memory allocated by a gamelog
|
||||
*/
|
||||
|
||||
@@ -27,6 +27,7 @@ enum GamelogActionType {
|
||||
|
||||
void GamelogStartAction(GamelogActionType at);
|
||||
void GamelogStopAction();
|
||||
void GamelogStopAnyAction();
|
||||
|
||||
void GamelogFree(struct LoggedAction *gamelog_action, uint gamelog_actions);
|
||||
void GamelogReset();
|
||||
|
||||
138
src/gfx.cpp
138
src/gfx.cpp
@@ -154,6 +154,144 @@ void GfxFillRect(int left, int top, int right, int bottom, int colour, FillRectM
|
||||
}
|
||||
}
|
||||
|
||||
typedef std::pair<Point, Point> LineSegment;
|
||||
|
||||
/**
|
||||
* Make line segments from a polygon defined by points, translated by an offset.
|
||||
* Entirely horizontal lines (start and end at same Y coordinate) are skipped, as they are irrelevant to scanline conversion algorithms.
|
||||
* Generated line segments always have the lowest Y coordinate point first, i.e. original direction is lost.
|
||||
* @param shape The polygon to convert.
|
||||
* @param offset Offset vector subtracted from all coordinates in the shape.
|
||||
* @return Vector of undirected line segments.
|
||||
*/
|
||||
static std::vector<LineSegment> MakePolygonSegments(const std::vector<Point> &shape, Point offset)
|
||||
{
|
||||
std::vector<LineSegment> segments;
|
||||
if (shape.size() < 3) return segments; // fewer than 3 will always result in an empty polygon
|
||||
segments.reserve(shape.size());
|
||||
|
||||
/* Connect first and last point by having initial previous point be the last */
|
||||
Point prev = shape.back();
|
||||
prev.x -= offset.x;
|
||||
prev.y -= offset.y;
|
||||
for (Point pt : shape) {
|
||||
pt.x -= offset.x;
|
||||
pt.y -= offset.y;
|
||||
/* Create segments for all non-horizontal lines in the polygon.
|
||||
* The segments always have lowest Y coordinate first. */
|
||||
if (prev.y > pt.y) {
|
||||
segments.emplace_back(pt, prev);
|
||||
} else if (prev.y < pt.y) {
|
||||
segments.emplace_back(prev, pt);
|
||||
}
|
||||
prev = pt;
|
||||
}
|
||||
|
||||
return segments;
|
||||
}
|
||||
|
||||
/**
|
||||
* Fill a polygon with colour.
|
||||
* The odd-even winding rule is used, i.e. self-intersecting polygons will have holes in them.
|
||||
* Left and top edges are inclusive, right and bottom edges are exclusive.
|
||||
* @note For rectangles the GfxFillRect function will be faster.
|
||||
* @pre dpi->zoom == ZOOM_LVL_NORMAL
|
||||
* @param shape List of points on the polygon.
|
||||
* @param colour An 8 bit palette index (FILLRECT_OPAQUE and FILLRECT_CHECKER) or a recolour spritenumber (FILLRECT_RECOLOUR).
|
||||
* @param mode
|
||||
* FILLRECT_OPAQUE: Fill the polygon with the specified colour.
|
||||
* FILLRECT_CHECKER: Fill every other pixel with the specified colour, in a checkerboard pattern.
|
||||
* FILLRECT_RECOLOUR: Apply a recolour sprite to every pixel in the polygon.
|
||||
*/
|
||||
void GfxFillPolygon(const std::vector<Point> &shape, int colour, FillRectMode mode)
|
||||
{
|
||||
Blitter *blitter = BlitterFactory::GetCurrentBlitter();
|
||||
const DrawPixelInfo *dpi = _cur_dpi;
|
||||
if (dpi->zoom != ZOOM_LVL_NORMAL) return;
|
||||
|
||||
std::vector<LineSegment> segments = MakePolygonSegments(shape, Point{ dpi->left, dpi->top });
|
||||
|
||||
/* Remove segments appearing entirely above or below the clipping area. */
|
||||
segments.erase(std::remove_if(segments.begin(), segments.end(), [dpi](const LineSegment &s) { return s.second.y <= 0 || s.first.y >= dpi->height; }), segments.end());
|
||||
|
||||
/* Check that this wasn't an empty shape (all points on a horizontal line or outside clipping.) */
|
||||
if (segments.empty()) return;
|
||||
|
||||
/* Sort the segments by first point Y coordinate. */
|
||||
std::sort(segments.begin(), segments.end(), [](const LineSegment &a, const LineSegment &b) { return a.first.y < b.first.y; });
|
||||
|
||||
/* Segments intersecting current scanline. */
|
||||
std::vector<LineSegment> active;
|
||||
/* Intersection points with a scanline.
|
||||
* Kept outside loop to avoid repeated re-allocations. */
|
||||
std::vector<int> intersections;
|
||||
/* Normal, reasonable polygons don't have many intersections per scanline. */
|
||||
active.reserve(4);
|
||||
intersections.reserve(4);
|
||||
|
||||
/* Scan through the segments and paint each scanline. */
|
||||
int y = segments.front().first.y;
|
||||
std::vector<LineSegment>::iterator nextseg = segments.begin();
|
||||
while (!active.empty() || nextseg != segments.end()) {
|
||||
/* Clean up segments that have ended. */
|
||||
active.erase(std::remove_if(active.begin(), active.end(), [y](const LineSegment &s) { return s.second.y == y; }), active.end());
|
||||
|
||||
/* Activate all segments starting on this scanline. */
|
||||
while (nextseg != segments.end() && nextseg->first.y == y) {
|
||||
active.push_back(*nextseg);
|
||||
++nextseg;
|
||||
}
|
||||
|
||||
/* Check clipping. */
|
||||
if (y < 0) {
|
||||
++y;
|
||||
continue;
|
||||
}
|
||||
if (y >= dpi->height) return;
|
||||
|
||||
/* Intersect scanline with all active segments. */
|
||||
intersections.clear();
|
||||
for (const LineSegment &s : active) {
|
||||
const int sdx = s.second.x - s.first.x;
|
||||
const int sdy = s.second.y - s.first.y;
|
||||
const int ldy = y - s.first.y;
|
||||
const int x = s.first.x + sdx * ldy / sdy;
|
||||
intersections.push_back(x);
|
||||
}
|
||||
|
||||
/* Fill between pairs of intersections. */
|
||||
std::sort(intersections.begin(), intersections.end());
|
||||
for (size_t i = 1; i < intersections.size(); i += 2) {
|
||||
/* Check clipping. */
|
||||
const int x1 = max(0, intersections[i - 1]);
|
||||
const int x2 = min(intersections[i], dpi->width);
|
||||
if (x2 < 0) continue;
|
||||
if (x1 >= dpi->width) continue;
|
||||
|
||||
/* Fill line y from x1 to x2. */
|
||||
void *dst = blitter->MoveTo(dpi->dst_ptr, x1, y);
|
||||
switch (mode) {
|
||||
default: // FILLRECT_OPAQUE
|
||||
blitter->DrawRect(dst, x2 - x1, 1, (uint8)colour);
|
||||
break;
|
||||
case FILLRECT_RECOLOUR:
|
||||
blitter->DrawColourMappingRect(dst, x2 - x1, 1, GB(colour, 0, PALETTE_WIDTH));
|
||||
break;
|
||||
case FILLRECT_CHECKER:
|
||||
/* Fill every other pixel, offset such that the sum of filled pixels' X and Y coordinates is odd.
|
||||
* This creates a checkerboard effect. */
|
||||
for (int x = (x1 + y) & 1; x < x2 - x1; x += 2) {
|
||||
blitter->SetPixel(dst, x, 0, (uint8)colour);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/* Next line */
|
||||
++y;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Check line clipping by using a linear equation and draw the visible part of
|
||||
* the line given by x/y and x2/y2.
|
||||
|
||||
@@ -115,6 +115,7 @@ int DrawStringMultiLine(int left, int right, int top, int bottom, StringID str,
|
||||
void DrawCharCentered(uint32 c, int x, int y, TextColour colour);
|
||||
|
||||
void GfxFillRect(int left, int top, int right, int bottom, int colour, FillRectMode mode = FILLRECT_OPAQUE);
|
||||
void GfxFillPolygon(const std::vector<Point> &shape, int colour, FillRectMode mode = FILLRECT_OPAQUE);
|
||||
void GfxDrawLine(int left, int top, int right, int bottom, int colour, int width = 1, int dash = 0);
|
||||
void DrawBox(int x, int y, int dx1, int dy1, int dx2, int dy2, int dx3, int dy3);
|
||||
|
||||
@@ -219,7 +220,14 @@ static const uint8 PC_VERY_LIGHT_YELLOW = 0x45; ///< Almost-white yel
|
||||
|
||||
static const uint8 PC_GREEN = 0xD0; ///< Green palette colour.
|
||||
|
||||
static const uint8 PC_VERY_DARK_BLUE = 0x9A; ///< Almost-black blue palette colour.
|
||||
static const uint8 PC_DARK_BLUE = 0x9D; ///< Dark blue palette colour.
|
||||
static const uint8 PC_LIGHT_BLUE = 0x98; ///< Light blue palette colour.
|
||||
|
||||
static const uint8 PC_ROUGH_LAND = 0x52; ///< Dark green palette colour for rough land.
|
||||
static const uint8 PC_GRASS_LAND = 0x54; ///< Dark green palette colour for grass land.
|
||||
static const uint8 PC_BARE_LAND = 0x37; ///< Brown palette colour for bare land.
|
||||
static const uint8 PC_FIELDS = 0x25; ///< Light brown palette colour for fields.
|
||||
static const uint8 PC_TREES = 0x57; ///< Green palette colour for trees.
|
||||
static const uint8 PC_WATER = 0xC9; ///< Dark blue palette colour for water.
|
||||
#endif /* GFX_FUNC_H */
|
||||
|
||||
@@ -631,6 +631,8 @@ static inline void GetLayouter(Layouter::LineCacheItem &line, const char *&str,
|
||||
} else if (c >= SCC_FIRST_FONT && c <= SCC_LAST_FONT) {
|
||||
state.SetFontSize((FontSize)(c - SCC_FIRST_FONT));
|
||||
} else {
|
||||
/* Filter out non printable characters */
|
||||
if (!IsPrintable(c)) continue;
|
||||
/* Filter out text direction characters that shouldn't be drawn, and
|
||||
* will not be handled in the fallback non ICU case because they are
|
||||
* mostly needed for RTL languages which need more ICU support. */
|
||||
|
||||
@@ -244,7 +244,7 @@ CommandCost CmdSetGoalCompleted(TileIndex tile, DoCommandFlag flags, uint32 p1,
|
||||
*/
|
||||
CommandCost CmdGoalQuestion(TileIndex tile, DoCommandFlag flags, uint32 p1, uint32 p2, const char *text)
|
||||
{
|
||||
uint16 uniqueid = (GoalType)GB(p1, 0, 16);
|
||||
uint16 uniqueid = (uint16)GB(p1, 0, 16);
|
||||
CompanyID company = (CompanyID)GB(p1, 16, 8);
|
||||
ClientID client = (ClientID)GB(p1, 16, 16);
|
||||
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
#include "core/geometry_func.hpp"
|
||||
#include "company_func.h"
|
||||
#include "company_base.h"
|
||||
#include "company_gui.h"
|
||||
#include "story_base.h"
|
||||
#include "command_func.h"
|
||||
#include "string_func.h"
|
||||
@@ -86,7 +87,7 @@ struct GoalListWindow : public Window {
|
||||
if (y < 0) return;
|
||||
|
||||
for (const Goal *s : Goal::Iterate()) {
|
||||
if (s->company == this->window_number) {
|
||||
if (s->company == this->window_number && s->company != INVALID_COMPANY) {
|
||||
y--;
|
||||
if (y == 0) {
|
||||
this->HandleClick(s);
|
||||
@@ -106,7 +107,12 @@ struct GoalListWindow : public Window {
|
||||
TileIndex xy;
|
||||
switch (s->type) {
|
||||
case GT_NONE: return;
|
||||
case GT_COMPANY: return;
|
||||
|
||||
case GT_COMPANY:
|
||||
/* s->dst here is not a tile, but a CompanyID.
|
||||
* Show the window with the overview of the company instead. */
|
||||
ShowCompany((CompanyID)s->dst);
|
||||
return;
|
||||
|
||||
case GT_TILE:
|
||||
if (!IsValidTile(s->dst)) return;
|
||||
|
||||
@@ -141,29 +141,6 @@ private:
|
||||
}
|
||||
}
|
||||
|
||||
/** Sort the groups by their name */
|
||||
static bool GroupNameSorter(const Group * const &a, const Group * const &b)
|
||||
{
|
||||
static const Group *last_group[2] = { nullptr, nullptr };
|
||||
static char last_name[2][64] = { "", "" };
|
||||
|
||||
if (a != last_group[0]) {
|
||||
last_group[0] = a;
|
||||
SetDParam(0, a->index);
|
||||
GetString(last_name[0], STR_GROUP_NAME, lastof(last_name[0]));
|
||||
}
|
||||
|
||||
if (b != last_group[1]) {
|
||||
last_group[1] = b;
|
||||
SetDParam(0, b->index);
|
||||
GetString(last_name[1], STR_GROUP_NAME, lastof(last_name[1]));
|
||||
}
|
||||
|
||||
int r = strnatcmp(last_name[0], last_name[1]); // Sort by name (natural sorting).
|
||||
if (r == 0) return a->index < b->index;
|
||||
return r < 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* (Re)Build the group list.
|
||||
*
|
||||
@@ -185,7 +162,27 @@ private:
|
||||
}
|
||||
|
||||
list.ForceResort();
|
||||
list.Sort(&GroupNameSorter);
|
||||
|
||||
/* Sort the groups by their name */
|
||||
const Group *last_group[2] = { nullptr, nullptr };
|
||||
char last_name[2][64] = { "", "" };
|
||||
list.Sort([&](const Group * const &a, const Group * const &b) {
|
||||
if (a != last_group[0]) {
|
||||
last_group[0] = a;
|
||||
SetDParam(0, a->index);
|
||||
GetString(last_name[0], STR_GROUP_NAME, lastof(last_name[0]));
|
||||
}
|
||||
|
||||
if (b != last_group[1]) {
|
||||
last_group[1] = b;
|
||||
SetDParam(0, b->index);
|
||||
GetString(last_name[1], STR_GROUP_NAME, lastof(last_name[1]));
|
||||
}
|
||||
|
||||
int r = strnatcmp(last_name[0], last_name[1]); // Sort by name (natural sorting).
|
||||
if (r == 0) return a->index < b->index;
|
||||
return r < 0;
|
||||
});
|
||||
|
||||
AddChildren(&list, INVALID_GROUP, 0);
|
||||
|
||||
@@ -299,7 +296,7 @@ private:
|
||||
spr = SPR_PROFIT_NA;
|
||||
} else if (profit_last_year < 0) {
|
||||
spr = SPR_PROFIT_NEGATIVE;
|
||||
} else if (profit_last_year < (Money)10000 * num_profit_vehicle) { // TODO magic number
|
||||
} else if (profit_last_year < VEHICLE_PROFIT_THRESHOLD * num_profit_vehicle) {
|
||||
spr = SPR_PROFIT_SOME;
|
||||
} else {
|
||||
spr = SPR_PROFIT_LOT;
|
||||
@@ -1017,6 +1014,7 @@ public:
|
||||
}
|
||||
this->groups.ForceRebuild();
|
||||
this->BuildGroupList(this->owner);
|
||||
this->group_sb->SetCount((uint)this->groups.size());
|
||||
id_g = find_index(this->groups, g);
|
||||
}
|
||||
this->group_sb->ScrollTowards(id_g);
|
||||
|
||||
@@ -38,10 +38,15 @@ static const KeycodeNames _keycode_to_name[] = {
|
||||
{"META", WKC_META},
|
||||
{"GLOBAL", WKC_GLOBAL_HOTKEY},
|
||||
{"ESC", WKC_ESC},
|
||||
{"DEL", WKC_DELETE},
|
||||
{"BACKSPACE", WKC_BACKSPACE},
|
||||
{"INS", WKC_INSERT},
|
||||
{"DEL", WKC_DELETE},
|
||||
{"PAGEUP", WKC_PAGEUP},
|
||||
{"PAGEDOWN", WKC_PAGEDOWN},
|
||||
{"END", WKC_END},
|
||||
{"HOME", WKC_HOME},
|
||||
{"RETURN", WKC_RETURN},
|
||||
{"BACKQUOTE", WKC_BACKQUOTE},
|
||||
{"SPACE", WKC_SPACE},
|
||||
{"F1", WKC_F1},
|
||||
{"F2", WKC_F2},
|
||||
{"F3", WKC_F3},
|
||||
@@ -54,11 +59,24 @@ static const KeycodeNames _keycode_to_name[] = {
|
||||
{"F10", WKC_F10},
|
||||
{"F11", WKC_F11},
|
||||
{"F12", WKC_F12},
|
||||
{"BACKQUOTE", WKC_BACKQUOTE},
|
||||
{"PAUSE", WKC_PAUSE},
|
||||
{"COMMA", WKC_COMMA},
|
||||
{"NUM_PLUS", WKC_NUM_PLUS},
|
||||
{"NUM_DIV", WKC_NUM_DIV},
|
||||
{"NUM_MUL", WKC_NUM_MUL},
|
||||
{"NUM_MINUS", WKC_NUM_MINUS},
|
||||
{"NUM_PLUS", WKC_NUM_PLUS},
|
||||
{"NUM_ENTER", WKC_NUM_ENTER},
|
||||
{"NUM_DOT", WKC_NUM_DECIMAL},
|
||||
{"/", WKC_SLASH},
|
||||
{";", WKC_SEMICOLON},
|
||||
{"=", WKC_EQUALS},
|
||||
{"[", WKC_L_BRACKET},
|
||||
{"\\", WKC_BACKSLASH},
|
||||
{"]", WKC_R_BRACKET},
|
||||
{"'", WKC_SINGLEQUOTE},
|
||||
{",", WKC_COMMA},
|
||||
{"COMMA", WKC_COMMA}, // legacy variant, should be below ","
|
||||
{".", WKC_PERIOD},
|
||||
{"-", WKC_MINUS},
|
||||
};
|
||||
|
||||
|
||||
@@ -62,6 +62,7 @@ struct Industry : IndustryPool::PoolItem<&_industry_pool> {
|
||||
|
||||
PartOfSubsidy part_of_subsidy; ///< NOSAVE: is this industry a source/destination of a subsidy?
|
||||
StationList stations_near; ///< NOSAVE: List of nearby stations.
|
||||
mutable std::string cached_name; ///< NOSAVE: Cache of the resolved name of the industry
|
||||
|
||||
Owner founder; ///< Founder of the industry
|
||||
Date construction_date; ///< Date of the construction of the industry
|
||||
@@ -157,10 +158,21 @@ struct Industry : IndustryPool::PoolItem<&_industry_pool> {
|
||||
memset(&counts, 0, sizeof(counts));
|
||||
}
|
||||
|
||||
inline const char *GetCachedName() const
|
||||
{
|
||||
if (this->cached_name.empty()) this->FillCachedName();
|
||||
return this->cached_name.c_str();
|
||||
}
|
||||
|
||||
private:
|
||||
void FillCachedName() const;
|
||||
|
||||
protected:
|
||||
static uint16 counts[NUM_INDUSTRYTYPES]; ///< Number of industries per type ingame
|
||||
};
|
||||
|
||||
void ClearAllIndustryCachedNames();
|
||||
|
||||
void PlantRandomFarmField(const Industry *i);
|
||||
|
||||
void ReleaseDisastersTargetingIndustry(IndustryID);
|
||||
@@ -197,4 +209,12 @@ struct IndustryBuildData {
|
||||
|
||||
extern IndustryBuildData _industry_builder;
|
||||
|
||||
|
||||
/** Special values for the industry list window for the data parameter of #InvalidateWindowData. */
|
||||
enum IndustryDirectoryInvalidateWindowData {
|
||||
IDIWD_FORCE_REBUILD,
|
||||
IDIWD_PRODUCTION_CHANGE,
|
||||
IDIWD_FORCE_RESORT,
|
||||
};
|
||||
|
||||
#endif /* INDUSTRY_H */
|
||||
|
||||
@@ -204,7 +204,7 @@ Industry::~Industry()
|
||||
*/
|
||||
void Industry::PostDestructor(size_t index)
|
||||
{
|
||||
InvalidateWindowData(WC_INDUSTRY_DIRECTORY, 0, 0);
|
||||
InvalidateWindowData(WC_INDUSTRY_DIRECTORY, 0, IDIWD_FORCE_REBUILD);
|
||||
}
|
||||
|
||||
|
||||
@@ -1697,20 +1697,12 @@ static void PopulateStationsNearby(Industry *ind)
|
||||
return;
|
||||
}
|
||||
|
||||
/* Get our list of nearby stations. */
|
||||
FindStationsAroundTiles(ind->location, &ind->stations_near, false);
|
||||
|
||||
/* Test if industry can accept cargo */
|
||||
uint cargo_index;
|
||||
for (cargo_index = 0; cargo_index < lengthof(ind->accepts_cargo); cargo_index++) {
|
||||
if (ind->accepts_cargo[cargo_index] != CT_INVALID) break;
|
||||
}
|
||||
if (cargo_index >= lengthof(ind->accepts_cargo)) return;
|
||||
|
||||
/* Cargo is accepted, add industry to nearby stations nearby industry list. */
|
||||
for (Station *st : ind->stations_near) {
|
||||
st->industries_near.insert(ind);
|
||||
}
|
||||
ForAllStationsAroundTiles(ind->location, [ind](Station *st, TileIndex tile) {
|
||||
if (!IsTileType(tile, MP_INDUSTRY) || GetIndustryIndex(tile) != ind->index) return false;
|
||||
ind->stations_near.insert(st);
|
||||
st->AddIndustryToDeliver(ind);
|
||||
return true;
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1822,6 +1814,11 @@ static void DoCreateNewIndustry(Industry *i, TileIndex tile, IndustryType type,
|
||||
break;
|
||||
}
|
||||
CargoID cargo = GetCargoTranslation(GB(res, 0, 8), indspec->grf_prop.grffile);
|
||||
/* Industries without "unlimited" cargo types support depend on the specific order/slots of cargo types.
|
||||
* They need to be able to blank out specific slots without aborting the callback sequence,
|
||||
* and solve this by returning undefined cargo indexes. Skip these. */
|
||||
if (cargo == CT_INVALID && !(indspec->behaviour & INDUSTRYBEH_CARGOTYPES_UNLIMITED)) continue;
|
||||
/* Verify valid cargo */
|
||||
if (std::find(indspec->accepts_cargo, endof(indspec->accepts_cargo), cargo) == endof(indspec->accepts_cargo)) {
|
||||
/* Cargo not in spec, error in NewGRF */
|
||||
ErrorUnknownCallbackResult(indspec->grf_prop.grffile->grfid, CBID_INDUSTRY_INPUT_CARGO_TYPES, res);
|
||||
@@ -1849,6 +1846,9 @@ static void DoCreateNewIndustry(Industry *i, TileIndex tile, IndustryType type,
|
||||
break;
|
||||
}
|
||||
CargoID cargo = GetCargoTranslation(GB(res, 0, 8), indspec->grf_prop.grffile);
|
||||
/* Allow older GRFs to skip slots. */
|
||||
if (cargo == CT_INVALID && !(indspec->behaviour & INDUSTRYBEH_CARGOTYPES_UNLIMITED)) continue;
|
||||
/* Verify valid cargo */
|
||||
if (std::find(indspec->produced_cargo, endof(indspec->produced_cargo), cargo) == endof(indspec->produced_cargo)) {
|
||||
/* Cargo not in spec, error in NewGRF */
|
||||
ErrorUnknownCallbackResult(indspec->grf_prop.grffile->grfid, CBID_INDUSTRY_OUTPUT_CARGO_TYPES, res);
|
||||
@@ -1892,7 +1892,7 @@ static void DoCreateNewIndustry(Industry *i, TileIndex tile, IndustryType type,
|
||||
if (GetIndustrySpec(i->type)->behaviour & INDUSTRYBEH_PLANT_ON_BUILT) {
|
||||
for (uint j = 0; j != 50; j++) PlantRandomFarmField(i);
|
||||
}
|
||||
InvalidateWindowData(WC_INDUSTRY_DIRECTORY, 0, 0);
|
||||
InvalidateWindowData(WC_INDUSTRY_DIRECTORY, 0, IDIWD_FORCE_REBUILD);
|
||||
|
||||
if (!_generating_world) PopulateStationsNearby(i);
|
||||
}
|
||||
@@ -2311,6 +2311,21 @@ void Industry::RecomputeProductionMultipliers()
|
||||
}
|
||||
}
|
||||
|
||||
void Industry::FillCachedName() const
|
||||
{
|
||||
char buf[256];
|
||||
int64 args_array[] = { this->index };
|
||||
StringParameters tmp_params(args_array);
|
||||
char *end = GetStringWithArgs(buf, STR_INDUSTRY_NAME, &tmp_params, lastof(buf));
|
||||
this->cached_name.assign(buf, end);
|
||||
}
|
||||
|
||||
void ClearAllIndustryCachedNames()
|
||||
{
|
||||
for (Industry *ind : Industry::Iterate()) {
|
||||
ind->cached_name.clear();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the #probability and #min_number fields for the industry type \a it for a running game.
|
||||
@@ -2821,7 +2836,7 @@ void IndustryDailyLoop()
|
||||
cur_company.Restore();
|
||||
|
||||
/* production-change */
|
||||
InvalidateWindowData(WC_INDUSTRY_DIRECTORY, 0, 1);
|
||||
InvalidateWindowData(WC_INDUSTRY_DIRECTORY, 0, IDIWD_PRODUCTION_CHANGE);
|
||||
}
|
||||
|
||||
void IndustryMonthlyLoop()
|
||||
@@ -2843,7 +2858,7 @@ void IndustryMonthlyLoop()
|
||||
cur_company.Restore();
|
||||
|
||||
/* production-change */
|
||||
InvalidateWindowData(WC_INDUSTRY_DIRECTORY, 0, 1);
|
||||
InvalidateWindowData(WC_INDUSTRY_DIRECTORY, 0, IDIWD_PRODUCTION_CHANGE);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -1167,6 +1167,8 @@ static const NWidgetPart _nested_industry_directory_widgets[] = {
|
||||
NWidget(NWID_HORIZONTAL),
|
||||
NWidget(WWT_TEXTBTN, COLOUR_BROWN, WID_ID_DROPDOWN_ORDER), SetDataTip(STR_BUTTON_SORT_BY, STR_TOOLTIP_SORT_ORDER),
|
||||
NWidget(WWT_DROPDOWN, COLOUR_BROWN, WID_ID_DROPDOWN_CRITERIA), SetDataTip(STR_JUST_STRING, STR_TOOLTIP_SORT_CRITERIA),
|
||||
NWidget(WWT_DROPDOWN, COLOUR_BROWN, WID_ID_FILTER_BY_ACC_CARGO), SetMinimalSize(225, 12), SetFill(0, 1), SetDataTip(STR_INDUSTRY_DIRECTORY_ACCEPTED_CARGO_FILTER, STR_TOOLTIP_FILTER_CRITERIA),
|
||||
NWidget(WWT_DROPDOWN, COLOUR_BROWN, WID_ID_FILTER_BY_PROD_CARGO), SetMinimalSize(225, 12), SetFill(0, 1), SetDataTip(STR_INDUSTRY_DIRECTORY_PRODUCED_CARGO_FILTER, STR_TOOLTIP_FILTER_CRITERIA),
|
||||
NWidget(WWT_PANEL, COLOUR_BROWN), SetResize(1, 0), EndContainer(),
|
||||
EndContainer(),
|
||||
NWidget(WWT_PANEL, COLOUR_BROWN, WID_ID_INDUSTRY_LIST), SetDataTip(0x0, STR_INDUSTRY_DIRECTORY_LIST_CAPTION), SetResize(1, 1), SetScrollbar(WID_ID_SCROLLBAR), EndContainer(),
|
||||
@@ -1178,7 +1180,68 @@ static const NWidgetPart _nested_industry_directory_widgets[] = {
|
||||
EndContainer(),
|
||||
};
|
||||
|
||||
typedef GUIList<const Industry*> GUIIndustryList;
|
||||
typedef GUIList<const Industry *, const std::pair<CargoID, CargoID> &> GUIIndustryList;
|
||||
|
||||
/** Special cargo filter criteria */
|
||||
enum CargoFilterSpecialType {
|
||||
CF_ANY = CT_NO_REFIT, ///< Show all industries (i.e. no filtering)
|
||||
CF_NONE = CT_INVALID, ///< Show only industries which do not produce/accept cargo
|
||||
};
|
||||
|
||||
/** Cargo filter functions */
|
||||
/**
|
||||
* Check whether an industry accepts and produces a certain cargo pair.
|
||||
* @param industry The industry whose cargoes will being checked.
|
||||
* @param cargoes The accepted and produced cargo pair to look for.
|
||||
* @return bool Whether the given cargoes accepted and produced by the industry.
|
||||
*/
|
||||
static bool CDECL CargoFilter(const Industry * const *industry, const std::pair<CargoID, CargoID> &cargoes)
|
||||
{
|
||||
auto accepted_cargo = cargoes.first;
|
||||
auto produced_cargo = cargoes.second;
|
||||
|
||||
bool accepted_cargo_matches;
|
||||
|
||||
switch (accepted_cargo) {
|
||||
case CF_ANY:
|
||||
accepted_cargo_matches = true;
|
||||
break;
|
||||
|
||||
case CF_NONE:
|
||||
accepted_cargo_matches = std::all_of(std::begin((*industry)->accepts_cargo), std::end((*industry)->accepts_cargo), [](CargoID cargo) {
|
||||
return cargo == CT_INVALID;
|
||||
});
|
||||
break;
|
||||
|
||||
default:
|
||||
const auto &ac = (*industry)->accepts_cargo;
|
||||
accepted_cargo_matches = std::find(std::begin(ac), std::end(ac), accepted_cargo) != std::end(ac);
|
||||
break;
|
||||
}
|
||||
|
||||
bool produced_cargo_matches;
|
||||
|
||||
switch (produced_cargo) {
|
||||
case CF_ANY:
|
||||
produced_cargo_matches = true;
|
||||
break;
|
||||
|
||||
case CF_NONE:
|
||||
produced_cargo_matches = std::all_of(std::begin((*industry)->produced_cargo), std::end((*industry)->produced_cargo), [](CargoID cargo) {
|
||||
return cargo == CT_INVALID;
|
||||
});
|
||||
break;
|
||||
|
||||
default:
|
||||
const auto &pc = (*industry)->produced_cargo;
|
||||
produced_cargo_matches = std::find(std::begin(pc), std::end(pc), produced_cargo) != std::end(pc);
|
||||
break;
|
||||
}
|
||||
|
||||
return accepted_cargo_matches && produced_cargo_matches;
|
||||
}
|
||||
|
||||
static GUIIndustryList::FilterFunction * const _filter_funcs[] = { &CargoFilter };
|
||||
|
||||
|
||||
/**
|
||||
@@ -1188,7 +1251,6 @@ class IndustryDirectoryWindow : public Window {
|
||||
protected:
|
||||
/* Runtime saved values */
|
||||
static Listing last_sorting;
|
||||
static const Industry *last_industry;
|
||||
|
||||
/* Constants for sorting stations */
|
||||
static const StringID sorter_names[];
|
||||
@@ -1197,6 +1259,82 @@ protected:
|
||||
GUIIndustryList industries;
|
||||
Scrollbar *vscroll;
|
||||
|
||||
CargoID cargo_filter[NUM_CARGO + 2]; ///< Available cargo filters; CargoID or CF_ANY or CF_NONE
|
||||
StringID cargo_filter_texts[NUM_CARGO + 3]; ///< Texts for filter_cargo, terminated by INVALID_STRING_ID
|
||||
CargoID produced_cargo_filter_criteria; ///< Selected produced cargo filter
|
||||
CargoID accepted_cargo_filter_criteria; ///< Selected accepted cargo filter
|
||||
|
||||
/**
|
||||
* Set cargo filter list item index.
|
||||
* @param index The index of the cargo to be set
|
||||
*/
|
||||
void SetProducedCargoFilterIndex(int index)
|
||||
{
|
||||
if (this->produced_cargo_filter_criteria != index) {
|
||||
this->produced_cargo_filter_criteria = index;
|
||||
/* deactivate filter if criteria is 'Show All', activate it otherwise */
|
||||
bool is_filtering_necessary = this->cargo_filter[this->produced_cargo_filter_criteria] != CF_ANY || this->cargo_filter[this->accepted_cargo_filter_criteria] != CF_ANY;
|
||||
|
||||
this->industries.SetFilterState(is_filtering_necessary);
|
||||
this->industries.SetFilterType(0);
|
||||
this->industries.ForceRebuild();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Set cargo filter list item index.
|
||||
* @param index The index of the cargo to be set
|
||||
*/
|
||||
void SetAcceptedCargoFilterIndex(int index)
|
||||
{
|
||||
if (this->accepted_cargo_filter_criteria != index) {
|
||||
this->accepted_cargo_filter_criteria = index;
|
||||
/* deactivate filter if criteria is 'Show All', activate it otherwise */
|
||||
bool is_filtering_necessary = this->cargo_filter[this->produced_cargo_filter_criteria] != CF_ANY || this->cargo_filter[this->accepted_cargo_filter_criteria] != CF_ANY;
|
||||
|
||||
this->industries.SetFilterState(is_filtering_necessary);
|
||||
this->industries.SetFilterType(0);
|
||||
this->industries.ForceRebuild();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Populate the filter list and set the cargo filter criteria.
|
||||
*/
|
||||
void SetCargoFilterArray()
|
||||
{
|
||||
uint filter_items = 0;
|
||||
|
||||
/* Add item for disabling filtering. */
|
||||
this->cargo_filter[filter_items] = CF_ANY;
|
||||
this->cargo_filter_texts[filter_items] = STR_INDUSTRY_DIRECTORY_FILTER_ALL_TYPES;
|
||||
this->produced_cargo_filter_criteria = filter_items;
|
||||
this->accepted_cargo_filter_criteria = filter_items;
|
||||
filter_items++;
|
||||
|
||||
/* Add item for industries not producing anything, e.g. power plants */
|
||||
this->cargo_filter[filter_items] = CF_NONE;
|
||||
this->cargo_filter_texts[filter_items] = STR_INDUSTRY_DIRECTORY_FILTER_NONE;
|
||||
filter_items++;
|
||||
|
||||
/* Collect available cargo types for filtering. */
|
||||
const CargoSpec *cs;
|
||||
FOR_ALL_SORTED_STANDARD_CARGOSPECS(cs) {
|
||||
this->cargo_filter[filter_items] = cs->Index();
|
||||
this->cargo_filter_texts[filter_items] = cs->name;
|
||||
filter_items++;
|
||||
}
|
||||
|
||||
/* Terminate the filter list. */
|
||||
this->cargo_filter_texts[filter_items] = INVALID_STRING_ID;
|
||||
|
||||
this->industries.SetFilterFuncs(_filter_funcs);
|
||||
|
||||
bool is_filtering_necessary = this->cargo_filter[this->produced_cargo_filter_criteria] != CF_ANY || this->cargo_filter[this->accepted_cargo_filter_criteria] != CF_ANY;
|
||||
|
||||
this->industries.SetFilterState(is_filtering_necessary);
|
||||
}
|
||||
|
||||
/** (Re)Build industries list */
|
||||
void BuildSortIndustriesList()
|
||||
{
|
||||
@@ -1209,12 +1347,17 @@ protected:
|
||||
|
||||
this->industries.shrink_to_fit();
|
||||
this->industries.RebuildDone();
|
||||
this->vscroll->SetCount((uint)this->industries.size()); // Update scrollbar as well.
|
||||
}
|
||||
|
||||
if (!this->industries.Sort()) return;
|
||||
IndustryDirectoryWindow::last_industry = nullptr; // Reset name sorter sort cache
|
||||
this->SetWidgetDirty(WID_ID_INDUSTRY_LIST); // Set the modified widget dirty
|
||||
auto filter = std::make_pair(this->cargo_filter[this->accepted_cargo_filter_criteria],
|
||||
this->cargo_filter[this->produced_cargo_filter_criteria]);
|
||||
|
||||
this->industries.Filter(filter);
|
||||
this->industries.Sort();
|
||||
|
||||
this->vscroll->SetCount((uint)this->industries.size()); // Update scrollbar as well.
|
||||
|
||||
this->SetDirty();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1252,19 +1395,9 @@ protected:
|
||||
/** Sort industries by name */
|
||||
static bool IndustryNameSorter(const Industry * const &a, const Industry * const &b)
|
||||
{
|
||||
static char buf_cache[96];
|
||||
static char buf[96];
|
||||
|
||||
SetDParam(0, a->index);
|
||||
GetString(buf, STR_INDUSTRY_NAME, lastof(buf));
|
||||
|
||||
if (b != last_industry) {
|
||||
last_industry = b;
|
||||
SetDParam(0, b->index);
|
||||
GetString(buf_cache, STR_INDUSTRY_NAME, lastof(buf_cache));
|
||||
}
|
||||
|
||||
return strnatcmp(buf, buf_cache) < 0; // Sort by name (natural sorting).
|
||||
int r = strnatcmp(a->GetCachedName(), b->GetCachedName()); // Sort by name (natural sorting).
|
||||
if (r == 0) return a->index < b->index;
|
||||
return r < 0;
|
||||
}
|
||||
|
||||
/** Sort industries by type and name */
|
||||
@@ -1329,6 +1462,18 @@ protected:
|
||||
return std::get<3>(a) > std::get<3>(b);
|
||||
});
|
||||
|
||||
/* If the produced cargo filter is active then move the filtered cargo to the beginning of the list,
|
||||
* because this is the one the player interested in, and that way it is not hidden in the 'n' more cargos */
|
||||
const CargoID cid = this->cargo_filter[this->produced_cargo_filter_criteria];
|
||||
if (cid != CF_ANY && cid != CF_NONE) {
|
||||
auto filtered_ci = std::find_if(cargos.begin(), cargos.end(), [cid](const CargoInfo& ci) -> bool {
|
||||
return std::get<0>(ci) == cid;
|
||||
});
|
||||
if (filtered_ci != cargos.end()) {
|
||||
std::rotate(cargos.begin(), filtered_ci, filtered_ci + 1);
|
||||
}
|
||||
}
|
||||
|
||||
/* Display first 3 cargos */
|
||||
for (size_t j = 0; j < min<size_t>(3, cargos.size()); j++) {
|
||||
CargoInfo ci = cargos[j];
|
||||
@@ -1371,9 +1516,26 @@ public:
|
||||
this->last_sorting = this->industries.GetListing();
|
||||
}
|
||||
|
||||
void OnInit() override
|
||||
{
|
||||
this->SetCargoFilterArray();
|
||||
}
|
||||
|
||||
void SetStringParameters(int widget) const override
|
||||
{
|
||||
if (widget == WID_ID_DROPDOWN_CRITERIA) SetDParam(0, IndustryDirectoryWindow::sorter_names[this->industries.SortType()]);
|
||||
switch (widget) {
|
||||
case WID_ID_DROPDOWN_CRITERIA:
|
||||
SetDParam(0, IndustryDirectoryWindow::sorter_names[this->industries.SortType()]);
|
||||
break;
|
||||
|
||||
case WID_ID_FILTER_BY_ACC_CARGO:
|
||||
SetDParam(0, this->cargo_filter_texts[this->accepted_cargo_filter_criteria]);
|
||||
break;
|
||||
|
||||
case WID_ID_FILTER_BY_PROD_CARGO:
|
||||
SetDParam(0, this->cargo_filter_texts[this->produced_cargo_filter_criteria]);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void DrawWidget(const Rect &r, int widget) const override
|
||||
@@ -1390,8 +1552,17 @@ public:
|
||||
DrawString(r.left + WD_FRAMERECT_LEFT, r.right - WD_FRAMERECT_RIGHT, y, STR_INDUSTRY_DIRECTORY_NONE);
|
||||
break;
|
||||
}
|
||||
TextColour tc;
|
||||
const CargoID acf_cid = this->cargo_filter[this->accepted_cargo_filter_criteria];
|
||||
for (uint i = this->vscroll->GetPosition(); i < this->industries.size(); i++) {
|
||||
DrawString(r.left + WD_FRAMERECT_LEFT, r.right - WD_FRAMERECT_RIGHT, y, this->GetIndustryString(this->industries[i]));
|
||||
tc = TC_FROMSTRING;
|
||||
if (acf_cid != CF_ANY && acf_cid != CF_NONE) {
|
||||
Industry *ind = const_cast<Industry *>(this->industries[i]);
|
||||
if (IndustryTemporarilyRefusesCargo(ind, acf_cid)) {
|
||||
tc = TC_GREY | TC_FORCED;
|
||||
}
|
||||
}
|
||||
DrawString(r.left + WD_FRAMERECT_LEFT, r.right - WD_FRAMERECT_RIGHT, y, this->GetIndustryString(this->industries[i]), tc);
|
||||
|
||||
y += this->resize.step_height;
|
||||
if (++n == this->vscroll->GetCapacity()) break; // max number of industries in 1 window
|
||||
@@ -1451,6 +1622,14 @@ public:
|
||||
ShowDropDownMenu(this, IndustryDirectoryWindow::sorter_names, this->industries.SortType(), WID_ID_DROPDOWN_CRITERIA, 0, 0);
|
||||
break;
|
||||
|
||||
case WID_ID_FILTER_BY_ACC_CARGO: // Cargo filter dropdown
|
||||
ShowDropDownMenu(this, this->cargo_filter_texts, this->accepted_cargo_filter_criteria, WID_ID_FILTER_BY_ACC_CARGO, 0, 0);
|
||||
break;
|
||||
|
||||
case WID_ID_FILTER_BY_PROD_CARGO: // Cargo filter dropdown
|
||||
ShowDropDownMenu(this, this->cargo_filter_texts, this->produced_cargo_filter_criteria, WID_ID_FILTER_BY_PROD_CARGO, 0, 0);
|
||||
break;
|
||||
|
||||
case WID_ID_INDUSTRY_LIST: {
|
||||
uint p = this->vscroll->GetScrolledRowFromWidget(pt.y, this, WID_ID_INDUSTRY_LIST, WD_FRAMERECT_TOP);
|
||||
if (p < this->industries.size()) {
|
||||
@@ -1467,9 +1646,26 @@ public:
|
||||
|
||||
void OnDropdownSelect(int widget, int index) override
|
||||
{
|
||||
if (this->industries.SortType() != index) {
|
||||
this->industries.SetSortType(index);
|
||||
this->BuildSortIndustriesList();
|
||||
switch (widget) {
|
||||
case WID_ID_DROPDOWN_CRITERIA: {
|
||||
if (this->industries.SortType() != index) {
|
||||
this->industries.SetSortType(index);
|
||||
this->BuildSortIndustriesList();
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
case WID_ID_FILTER_BY_ACC_CARGO: {
|
||||
this->SetAcceptedCargoFilterIndex(index);
|
||||
this->BuildSortIndustriesList();
|
||||
break;
|
||||
}
|
||||
|
||||
case WID_ID_FILTER_BY_PROD_CARGO: {
|
||||
this->SetProducedCargoFilterIndex(index);
|
||||
this->BuildSortIndustriesList();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1497,17 +1693,24 @@ public:
|
||||
*/
|
||||
void OnInvalidateData(int data = 0, bool gui_scope = true) override
|
||||
{
|
||||
if (data == 0) {
|
||||
/* This needs to be done in command-scope to enforce rebuilding before resorting invalid data */
|
||||
this->industries.ForceRebuild();
|
||||
} else {
|
||||
this->industries.ForceResort();
|
||||
switch (data) {
|
||||
case IDIWD_FORCE_REBUILD:
|
||||
/* This needs to be done in command-scope to enforce rebuilding before resorting invalid data */
|
||||
this->industries.ForceRebuild();
|
||||
break;
|
||||
|
||||
case IDIWD_PRODUCTION_CHANGE:
|
||||
if (this->industries.SortType() == 2) this->industries.ForceResort();
|
||||
break;
|
||||
|
||||
default:
|
||||
this->industries.ForceResort();
|
||||
break;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
Listing IndustryDirectoryWindow::last_sorting = {false, 0};
|
||||
const Industry *IndustryDirectoryWindow::last_industry = nullptr;
|
||||
|
||||
/* Available station sorting functions. */
|
||||
GUIIndustryList::SortFunction * const IndustryDirectoryWindow::sorter_funcs[] = {
|
||||
|
||||
@@ -188,6 +188,8 @@ STR_COLOUR_ORANGE :Oranje
|
||||
STR_COLOUR_BROWN :Bruin
|
||||
STR_COLOUR_GREY :Grys
|
||||
STR_COLOUR_WHITE :Wit
|
||||
STR_COLOUR_RANDOM :Lukraak
|
||||
STR_COLOUR_DEFAULT :Default
|
||||
|
||||
# Units used in OpenTTD
|
||||
STR_UNITS_VELOCITY_IMPERIAL :{COMMA}{NBSP}mpu
|
||||
@@ -234,6 +236,8 @@ STR_TOOLTIP_FILTER_CRITERIA :{BLACK}Kies kri
|
||||
STR_BUTTON_SORT_BY :{BLACK}Sorteer volgens
|
||||
STR_BUTTON_LOCATION :{BLACK}Ligging
|
||||
STR_BUTTON_RENAME :{BLACK}Hernoem
|
||||
STR_BUTTON_CATCHMENT :{BLACK}Dekking
|
||||
STR_TOOLTIP_CATCHMENT :{BLACK}Wissel dekking van die vertoonarea
|
||||
|
||||
STR_TOOLTIP_CLOSE_WINDOW :{BLACK}Maak venster toe
|
||||
STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS :{BLACK}Venster titel - sleep om venster te beweeg
|
||||
@@ -262,6 +266,7 @@ STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT_TOOLTIP :{BLACK}Deur hie
|
||||
STR_BUTTON_DEFAULT :{BLACK}Gewone
|
||||
STR_BUTTON_CANCEL :{BLACK}Kanselleer
|
||||
STR_BUTTON_OK :{BLACK}OK
|
||||
STR_WARNING_PASSWORD_SECURITY :{YELLOW}Waarskuwing: bedieneradministrateurs kan moontlik die teks wat hier ingevoer is, lees.
|
||||
|
||||
# On screen keyboard window
|
||||
STR_OSK_KEYBOARD_LAYOUT :`1234567890-=\qwertyuiop[]asdfghjkl;' zxcvbnm,./ .
|
||||
@@ -335,6 +340,7 @@ STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_IN :{BLACK}Vergroot
|
||||
STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_OUT :{BLACK}Verklein die skerm
|
||||
STR_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}Bou spoorweg spoor
|
||||
STR_TOOLBAR_TOOLTIP_BUILD_ROADS :{BLACK}Bou paaie
|
||||
STR_TOOLBAR_TOOLTIP_BUILD_TRAMWAYS :{BLACK}Bou trempaaie
|
||||
STR_TOOLBAR_TOOLTIP_BUILD_SHIP_DOCKS :{BLACK}Bou skip hawe
|
||||
STR_TOOLBAR_TOOLTIP_BUILD_AIRPORTS :{BLACK}Bou lughawens
|
||||
STR_TOOLBAR_TOOLTIP_LANDSCAPING :{BLACK}Maak die landargitektuur nutsbalk oop om, land te verhoog/verlaag, boome beplant, ens.
|
||||
@@ -355,6 +361,7 @@ STR_SCENEDIT_TOOLBAR_LANDSCAPE_GENERATION :{BLACK}Landskap
|
||||
STR_SCENEDIT_TOOLBAR_TOWN_GENERATION :{BLACK}Dorp generasie
|
||||
STR_SCENEDIT_TOOLBAR_INDUSTRY_GENERATION :{BLACK}Nywerheid generasie
|
||||
STR_SCENEDIT_TOOLBAR_ROAD_CONSTRUCTION :{BLACK}Pad konstruksie
|
||||
STR_SCENEDIT_TOOLBAR_TRAM_CONSTRUCTION :{BLACK}Tremweg konstruksie
|
||||
STR_SCENEDIT_TOOLBAR_PLANT_TREES :{BLACK}Plant bome. Shift skakel gebou/wys koste beraaming
|
||||
STR_SCENEDIT_TOOLBAR_PLACE_SIGN :{BLACK}Plaas teken
|
||||
STR_SCENEDIT_TOOLBAR_PLACE_OBJECT :{BLACK}Plaas voorwerp. Shift skakel tussen bou/aanduiding koste beraming
|
||||
@@ -463,6 +470,7 @@ STR_TOOLBAR_SOUND_MUSIC :Klank/musiek
|
||||
############ range for message menu starts
|
||||
STR_NEWS_MENU_LAST_MESSAGE_NEWS_REPORT :Laaste boodskap/nuus verslag
|
||||
STR_NEWS_MENU_MESSAGE_HISTORY_MENU :Boodskapgeskiedenis
|
||||
STR_NEWS_MENU_DELETE_ALL_MESSAGES :Vee alle boodskappe uit
|
||||
############ range ends here
|
||||
|
||||
############ range for about menu starts
|
||||
@@ -471,9 +479,7 @@ STR_ABOUT_MENU_SEPARATOR :
|
||||
STR_ABOUT_MENU_TOGGLE_CONSOLE :Skakel terminaal
|
||||
STR_ABOUT_MENU_AI_DEBUG :AI/Spel skript ontfout
|
||||
STR_ABOUT_MENU_SCREENSHOT :Skermskoot
|
||||
STR_ABOUT_MENU_ZOOMIN_SCREENSHOT :Ten volle vergrote skermskoot
|
||||
STR_ABOUT_MENU_DEFAULTZOOM_SCREENSHOT :Basiese groote skermskoot
|
||||
STR_ABOUT_MENU_GIANT_SCREENSHOT :Hele kaart Skermkiekie (Ctrl+G)
|
||||
STR_ABOUT_MENU_SHOW_FRAMERATE :Wys raamkoers
|
||||
STR_ABOUT_MENU_ABOUT_OPENTTD :Oor 'OpenTTD'
|
||||
STR_ABOUT_MENU_SPRITE_ALIGNER :"Sprite" rigter
|
||||
STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :skakel beperkte bokse
|
||||
@@ -643,12 +649,10 @@ STR_MUSIC_PLAYLIST_CUSTOM_1 :{TINY_FONT}{BLA
|
||||
STR_MUSIC_PLAYLIST_CUSTOM_2 :{TINY_FONT}{BLACK}Op Bestelling 2
|
||||
STR_MUSIC_MUSIC_VOLUME :{TINY_FONT}{BLACK}Musiek Volume
|
||||
STR_MUSIC_EFFECTS_VOLUME :{TINY_FONT}{BLACK}Effek Volume
|
||||
STR_MUSIC_RULER_MIN :{TINY_FONT}{BLACK}MIN
|
||||
STR_MUSIC_RULER_MAX :{TINY_FONT}{BLACK}MAKS
|
||||
STR_MUSIC_RULER_MARKER :{TINY_FONT}{BLACK}'
|
||||
STR_MUSIC_TRACK_NONE :{TINY_FONT}{DKGREEN}--
|
||||
STR_MUSIC_TRACK_DIGIT :{TINY_FONT}{DKGREEN}{ZEROFILL_NUM}
|
||||
STR_MUSIC_TITLE_NONE :{TINY_FONT}{DKGREEN}------
|
||||
STR_MUSIC_TITLE_NOMUSIC :{TINY_FONT}{DKGREEN}Geen musiek beskikbaar
|
||||
STR_MUSIC_TITLE_NAME :{TINY_FONT}{DKGREEN}"{STRING}"
|
||||
STR_MUSIC_TRACK :{TINY_FONT}{BLACK}Liedjie
|
||||
STR_MUSIC_XTITLE :{TINY_FONT}{BLACK}Titel
|
||||
@@ -669,11 +673,14 @@ STR_MUSIC_TOOLTIP_TOGGLE_PROGRAM_SHUFFLE :{BLACK}Skakel m
|
||||
STR_MUSIC_TOOLTIP_SHOW_MUSIC_TRACK_SELECTION :{BLACK}Vertoon musiek snit keuse venster
|
||||
|
||||
# Playlist window
|
||||
STR_PLAYLIST_MUSIC_SELECTION_SETNAME :{WHITE}Musiek Program - '{STRING}'
|
||||
STR_PLAYLIST_TRACK_NAME :{TINY_FONT}{LTBLUE}{ZEROFILL_NUM} "{STRING}"
|
||||
STR_PLAYLIST_TRACK_INDEX :{TINY_FONT}{BLACK}Liedjie Indeks
|
||||
STR_PLAYLIST_PROGRAM :{TINY_FONT}{BLACK}Program - '{STRING}'
|
||||
STR_PLAYLIST_CLEAR :{TINY_FONT}{BLACK}Maak skoon
|
||||
STR_PLAYLIST_CHANGE_SET :{BLACK}Verander stel
|
||||
STR_PLAYLIST_TOOLTIP_CLEAR_CURRENT_PROGRAM_CUSTOM1 :{BLACK}Maak huidige musiek keuse skoon (slegs Bestelling1 of Bestelling2)
|
||||
STR_PLAYLIST_TOOLTIP_CHANGE_SET :{BLACK}Verander musiekkeuse na 'n ander geïnstalleerde stel
|
||||
STR_PLAYLIST_TOOLTIP_CLICK_TO_ADD_TRACK :{BLACK}Klik op 'n liedjie om by huidige musieklys by te sit (slegs Bestelling1 of Bestelling2)
|
||||
STR_PLAYLIST_TOOLTIP_CLICK_TO_REMOVE_TRACK :{BLACK}Klik op musiek lied om te verwyder van huidige program (Slegs Gewoonte1 of Gewoonte2)
|
||||
|
||||
@@ -809,6 +816,7 @@ STR_NEWS_MERGER_TAKEOVER_TITLE :{BIG_FONT}{BLAC
|
||||
STR_PRESIDENT_NAME_MANAGER :{BLACK}{PRESIDENT_NAME}{}(Bestuurder)
|
||||
|
||||
STR_NEWS_NEW_TOWN :{BLACK}{BIG_FONT}{STRING} borg konstruksie van nuwe dorp {TOWN}!
|
||||
STR_NEWS_NEW_TOWN_UNSPONSORED :{BLACK}{BIG_FONT}'n Nuwe dorp genaamd {TOWN} is gebou!
|
||||
|
||||
STR_NEWS_INDUSTRY_CONSTRUCTION :{BIG_FONT}{BLACK}'n Nuwe {STRING} word naby {TOWN} gebou!
|
||||
STR_NEWS_INDUSTRY_PLANTED :{BIG_FONT}{BLACK}Nuwe {STRING} word naby {TOWN} beplant!
|
||||
@@ -857,6 +865,7 @@ STR_NEWS_NEW_VEHICLE_NOW_AVAILABLE :{BIG_FONT}{BLAC
|
||||
STR_NEWS_NEW_VEHICLE_TYPE :{BIG_FONT}{BLACK}{ENGINE}
|
||||
STR_NEWS_NEW_VEHICLE_NOW_AVAILABLE_WITH_TYPE :{BLACK}Nuwe {STRING} nou beskikbaar! - {ENGINE}
|
||||
|
||||
STR_NEWS_SHOW_VEHICLE_GROUP_TOOLTIP :{BLACK}Maak die groepvenster oop en fokus op die voertuiggroep
|
||||
|
||||
STR_NEWS_STATION_NO_LONGER_ACCEPTS_CARGO :{WHITE}{STATION} aanvaar nie meer {STRING} nie
|
||||
STR_NEWS_STATION_NO_LONGER_ACCEPTS_CARGO_OR_CARGO :{WHITE}{STATION} aanvaar nie meer {STRING} of {STRING} nie
|
||||
@@ -877,9 +886,9 @@ STR_NEWS_EXCLUSIVE_RIGHTS_DESCRIPTION :{BIG_FONT}{BLAC
|
||||
|
||||
# Extra view window
|
||||
STR_EXTRA_VIEW_PORT_TITLE :{WHITE}Toonvenster {COMMA}
|
||||
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN :{BLACK}Kopie na toonvenster
|
||||
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN :{BLACK}Verander toonvenster
|
||||
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN_TT :{BLACK}Dupliseer die ligging van die hooftoonvenster na die toonvenster
|
||||
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}Plak vanaf toonvenster
|
||||
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}Verander hoofaansig
|
||||
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW_TT :{BLACK}Plak die lokasie van die gesigspunt na die hoofskerm
|
||||
|
||||
# Game options window
|
||||
@@ -922,6 +931,11 @@ STR_GAME_OPTIONS_CURRENCY_ZAR :Suid Afrikaanse
|
||||
STR_GAME_OPTIONS_CURRENCY_CUSTOM :Pasmaak...
|
||||
STR_GAME_OPTIONS_CURRENCY_GEL :Georgiaanse Lari (GEL)
|
||||
STR_GAME_OPTIONS_CURRENCY_IRR :Iraanse Rial (IRR)
|
||||
STR_GAME_OPTIONS_CURRENCY_RUB :Nuwe Russiese Ruble (RUB)
|
||||
STR_GAME_OPTIONS_CURRENCY_MXN :Mexikaanse peso (MXN)
|
||||
STR_GAME_OPTIONS_CURRENCY_NTD :Nuwe Taiwan dollar (NTD)
|
||||
STR_GAME_OPTIONS_CURRENCY_CNY :Chinese Renminbi (CNY)
|
||||
STR_GAME_OPTIONS_CURRENCY_HKD :Hong Kong Dollar (HKD)
|
||||
############ end of currency region
|
||||
|
||||
STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}Pad voertuie
|
||||
@@ -984,7 +998,11 @@ STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Normaal
|
||||
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Dubbel groote
|
||||
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Quad grootte
|
||||
|
||||
STR_GAME_OPTIONS_FONT_ZOOM :{BLACK}Skrifgrootte
|
||||
|
||||
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Normaal
|
||||
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Dubbele grootte
|
||||
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :Quad grootte
|
||||
|
||||
STR_GAME_OPTIONS_BASE_GRF :{BLACK}Basis-grafikastel
|
||||
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Kies die basis-grafikastel stel om te gebruik
|
||||
@@ -1168,6 +1186,8 @@ STR_CONFIG_SETTING_AUTOSLOPE :Laat landargite
|
||||
STR_CONFIG_SETTING_AUTOSLOPE_HELPTEXT :Laat Landargitektuur onder geboue en spore sonder om dit te verwyder
|
||||
STR_CONFIG_SETTING_CATCHMENT :Laat meer realisties groote opvangsgebied toe: {STRING}
|
||||
STR_CONFIG_SETTING_CATCHMENT_HELPTEXT :Laat verskillende groote opvang gebiede toe vir verskillende tipes stasies en lughawens
|
||||
STR_CONFIG_SETTING_SERVE_NEUTRAL_INDUSTRIES :Maatskappy stasies kan industriëe bedien met aangehegte neutrale stasies: {STRING}
|
||||
STR_CONFIG_SETTING_SERVE_NEUTRAL_INDUSTRIES_HELPTEXT :Indien gekies, kan industrieë met aangeslote stasies (soos Olie Rigs) ook bedien word deur maatskappybesitte stasies wat in die omgewing gebou word. As dit af is, mag hierdie industrieë slegs deur hul aangeslote stasies bedien word. Enige nabygeleë maatskappystasies sal dit nie kan bedien nie, en die aangehegte stasie sal ook niks anders as die industrie bedien nie
|
||||
STR_CONFIG_SETTING_EXTRADYNAMITE :Laat verwydering van meer stad-besite paaie, bruge, ens toe: {STRING}
|
||||
STR_CONFIG_SETTING_EXTRADYNAMITE_HELPTEXT :Maak dit makliker om dorps eiendom en infrastruktuur te verwyder
|
||||
STR_CONFIG_SETTING_TRAIN_LENGTH :Maximum lengte van treine: {STRING}
|
||||
@@ -1184,8 +1204,8 @@ STR_CONFIG_SETTING_TRAIN_SLOPE_STEEPNESS_HELPTEXT :Die steilte van
|
||||
STR_CONFIG_SETTING_PERCENTAGE :{COMMA}%
|
||||
STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS :Krans helling vir pad vervoer: {STRING}
|
||||
STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS_HELPTEXT :Die steilte van die helling vir 'n pad voertuig. Hoër waardes maak dit moeliker om teen die helling uit te klim
|
||||
STR_CONFIG_SETTING_FORBID_90_DEG :Verbied triene en skepe om 90 graad draaie te maak: {STRING}
|
||||
STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :90 grade draaie kom voor wanneer 'n horisontale spoor direk gevolg deur 'n vertikale spoor op die aangrensende teël, dus waardeur die trein 'n 90 grade draai maak deur die teël rand in plaas van die gewone 45 grade vir 'n ander spoor kombinasies. Dit geld ook vir die draai radius van skepe
|
||||
STR_CONFIG_SETTING_FORBID_90_DEG :Verbied treine om 90° draaie te maak: {STRING}
|
||||
STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :90 grade draaie kom voor wanneer 'n horisontale spoor direk gevolg deur 'n vertikale spoor op die aangrensende teël, dus waardeur die trein 'n 90 grade draai maak deur die teël rand in plaas van die gewone 45 grade vir 'n ander spoor kombinasies.
|
||||
STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Laat toe dat stasies lanks mekaar gebind kan word: {STRING}
|
||||
STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Laat die toevoeging van dele van 'n stasie sonder om direk aan die bestaande dele te raak toe. Ctrl+klik om die nuwe dele te plaas
|
||||
STR_CONFIG_SETTING_INFLATION :Inflasie: {STRING}
|
||||
@@ -1241,7 +1261,7 @@ STR_CONFIG_SETTING_PLANE_SPEED :Vlegtuig spoed
|
||||
STR_CONFIG_SETTING_PLANE_SPEED_HELPTEXT :Stel die relatiewe spoed van vliegtuie, met vergelyking van ander voertuig tipes, om so die bedrag van die inkomste van vliegtuie te verminder.
|
||||
STR_CONFIG_SETTING_PLANE_SPEED_VALUE :1 / {COMMA}
|
||||
STR_CONFIG_SETTING_PLANE_CRASHES :Aantal vliegtuig botsings: {STRING}
|
||||
STR_CONFIG_SETTING_PLANE_CRASHES_HELPTEXT :Stel die kans van 'n vliegtuig ongeluk om te gebeur
|
||||
STR_CONFIG_SETTING_PLANE_CRASHES_HELPTEXT :Stel die kans van 'n vliegtuig ongeluk om te gebeur.{}* Groot vliegtuie het altyd risiko om neer te stort wanneer hulle op klein lughawens beland
|
||||
STR_CONFIG_SETTING_PLANE_CRASHES_NONE :Geen
|
||||
STR_CONFIG_SETTING_PLANE_CRASHES_REDUCED :Verminderd
|
||||
STR_CONFIG_SETTING_PLANE_CRASHES_NORMAL :Normaal
|
||||
@@ -1253,6 +1273,8 @@ STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}Verander
|
||||
STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :Infrastruktuur onderhoud: {STRING}
|
||||
STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :As dit geaktiveer is sal dit veroorsaak dat infrastruktuur onderhoudskoste verhoog. Die koste groei oor-proporsioneel met die netwerk grootte, wat groter maatskappye meer as kleiner maatskappye benadeel
|
||||
|
||||
STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR :Maatskappy beginkleur: {STRING}
|
||||
STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_HELPTEXT :Kies beginkleur vir die maatskappy
|
||||
|
||||
STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS :Lughawes verval nooit nie: {STRING}
|
||||
STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS_HELPTEXT :Wanner hierdie stelling geaktiveer is, maak dit dat alle lughawens ewig beskikbaar bly, na hul bekendstelling datum
|
||||
@@ -1287,6 +1309,8 @@ STR_CONFIG_SETTING_POPULATION_IN_LABEL :Toon stadsbevol
|
||||
STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :Vertoon die bevolking van 'n stad in die naametiket op die kaart
|
||||
STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Dikte van lyn in grafieke: {STRING}
|
||||
STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Wydte van kaartlyne. A dun lyn is meer akkuraat om te lees, maar 'n dikker lyn is makliker om te sien en te onderskei van ander lyne.
|
||||
STR_CONFIG_SETTING_SHOW_NEWGRF_NAME :Toon die NewGRF se naam in die bou van voertuie skerm: {STRING}
|
||||
STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :Voeg 'n lyn by die venster vir die bou van voertuie wat wys uit watter NewGRF die geselekteerde voertuig kom.
|
||||
|
||||
STR_CONFIG_SETTING_LANDSCAPE :Landskap: {STRING}
|
||||
STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :Die landskap beheer die basies spelopsies vir verskillende vrag en hoe dorpe groei. NewGRF en spelskrips gee meer opsies.
|
||||
@@ -1298,7 +1322,7 @@ STR_CONFIG_SETTING_TERRAIN_TYPE :Tipe terrein: {
|
||||
STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :(Slegs TerraGenesis) Bergagtigheid van die land
|
||||
STR_CONFIG_SETTING_INDUSTRY_DENSITY :Nywerheidsdigtheid: {STRING}
|
||||
STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :Kies hoeveel nywerhede geskep gaan word en hoeveel gedurende die spel te handhaaf
|
||||
STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Maksimum afstand vanaf rand vir olieraffinaderye: {STRING}
|
||||
STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Maksimum afstand vanaf rand vir olie industrieë: {STRING}
|
||||
STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Olieraffinaderye word net naby die kaart kant gebou, dit is, teen die kus vir eiland kaarte
|
||||
STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Sneeu lyn hoogte: {STRING}
|
||||
STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Beheer die hoogte van die sneeuvlak. Die sneeuvlak bepaal ook hoeveel nywerhede geskep word en hoe vinnig dorpe groei.
|
||||
@@ -1337,6 +1361,7 @@ STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_HELPTEXT :Kleur van die t
|
||||
STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_GREEN :Groen
|
||||
STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_DARK_GREEN :Donkergroen
|
||||
STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_VIOLET :Violet
|
||||
STR_CONFIG_SETTING_SCROLLMODE_RMB :Skuif kaart met RMB
|
||||
STR_CONFIG_SETTING_SMOOTH_SCROLLING :Maak kykpoort beweegings glad: {STRING}
|
||||
STR_CONFIG_SETTING_SMOOTH_SCROLLING_HELPTEXT :Beheer hoe die hoofvertoonvenster skuif na 'n spesifieke posisie - as dit geaktiveer is, dan skuif die venster glad na die posisie toe, andersins skuif die venster direk na die posisie toe.
|
||||
STR_CONFIG_SETTING_MEASURE_TOOLTIP :Toon 'n meting wanneer jy verskeie bou-gereedskap gebruik: {STRING}
|
||||
@@ -1368,6 +1393,7 @@ STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_COMMAND :Command-klik
|
||||
STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_CONTROL :Ctrl-klik
|
||||
STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_OFF :Af
|
||||
|
||||
STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE :Maak venster toe met regter-klik: {STRING}
|
||||
|
||||
STR_CONFIG_SETTING_AUTOSAVE :Outostoor: {STRING}
|
||||
STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Tyd tussen outomatiese spelstore
|
||||
@@ -1455,6 +1481,8 @@ STR_CONFIG_SETTING_AI_IN_MULTIPLAYER :Laat AI in mult
|
||||
STR_CONFIG_SETTING_AI_IN_MULTIPLAYER_HELPTEXT :Laat AI Rekenaaar spelers by 'n multi-speler spel toe
|
||||
STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES :#opcodes voor die skripte gestaak word: {STRING}
|
||||
STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES_HELPTEXT :Die maksimum hoeveelheid berekeningstappe wat 'n skrip kan vat in een beurt
|
||||
STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY :Maksimum geheueverbruik per skript: {STRING}
|
||||
STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_HELPTEXT :Hoeveel geheue 'n enkele skrif kan verbruik voordat dit met geweld beëindig word. Dit kan moontlik vergroot word vir groot kaarte.
|
||||
|
||||
STR_CONFIG_SETTING_SERVINT_ISPERCENT :Diens pouse is in persente: {STRING}
|
||||
STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Kies of voertuie gediens word gebasseer op tydsduur vanaf vorige diens of as die voertuig se betroubaarheid met 'n sekere persentasie geval het van die maksimum
|
||||
@@ -1513,10 +1541,16 @@ STR_CONFIG_SETTING_NEWS_MESSAGES_FULL :Vol
|
||||
STR_CONFIG_SETTING_COLOURED_NEWS_YEAR :Gekleurde nuus verskyn in: {STRING}
|
||||
STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT :In watter jaar begin koerante in kleur vertoon. Voor dit is hulle swart en wit.
|
||||
STR_CONFIG_SETTING_STARTING_YEAR :Jaar om te begin: {STRING}
|
||||
STR_CONFIG_SETTING_ENDING_YEAR :Telling jaareinde: {STRING}
|
||||
STR_CONFIG_SETTING_ENDING_YEAR_HELPTEXT :Die jaar wat die speletjie eindig vir telling doeleindes. Aan die einde van hierdie jaar word die maatskappy se telling aangeteken en die skerm met 'n hoogste telling word vertoon, maar die spelers kan daarna speel.{} As dit voor die beginjaar is, word die skerm met 'n hoogste telling nooit vertoon nie.
|
||||
STR_CONFIG_SETTING_ENDING_YEAR_VALUE :{NUM}
|
||||
STR_CONFIG_SETTING_ENDING_YEAR_ZERO :Nooit
|
||||
STR_CONFIG_SETTING_SMOOTH_ECONOMY :Aktiveer geleike ekonomie (meer, kleiner veranderings): {STRING}
|
||||
STR_CONFIG_SETTING_SMOOTH_ECONOMY_HELPTEXT :As dit geaktiveer is sal nywerheidsvervaarding meer gereeld verander met kleiner veranderinge elke keer. Hierdie stelling het gewoonlik geen effek met nywerhede van NewGRFs nie.
|
||||
STR_CONFIG_SETTING_ALLOW_SHARES :Laat die koop van aandeele van ander maatskappye toe: {STRING}
|
||||
STR_CONFIG_SETTING_ALLOW_SHARES_HELPTEXT :As dit geaktiveer is, kan aandele in maatskappye gekoop en verkoop word. Aandele is net in maatskappye beskikbaar na 'n sekere aantal jaar.
|
||||
STR_CONFIG_SETTING_MIN_YEARS_FOR_SHARES :Minimum maatskappyouderdom om aandele te verhandel: {STRING}
|
||||
STR_CONFIG_SETTING_MIN_YEARS_FOR_SHARES_HELPTEXT :Stel die minimum ouderdom van 'n maatskappy in vir ander om aandele by hulle te kan koop en verkoop.
|
||||
STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE :Persentasie van wins om te betaal in voerder systeem: {STRING}
|
||||
STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE_HELPTEXT :Persentasie wins wat gedeel word met die tussengangerstasies in oordragstelsels vir beter beheer oor die wins
|
||||
STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY :Wanneer die muis gesleep word, plaas 'n sein elke: {STRING}
|
||||
@@ -1557,6 +1591,10 @@ STR_CONFIG_SETTING_TOWN_FOUNDING_HELPTEXT :Aktiveering van
|
||||
STR_CONFIG_SETTING_TOWN_FOUNDING_FORBIDDEN :Verbode
|
||||
STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED :Toegelaat
|
||||
STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED_CUSTOM_LAYOUT :Toegelaat, eie dorp uitleg
|
||||
STR_CONFIG_SETTING_TOWN_CARGOGENMODE :Stad-vragproduksie: {STRING}
|
||||
STR_CONFIG_SETTING_TOWN_CARGOGENMODE_HELPTEXT :Hoeveel vrag word deur huise in dorpe geproduseer, relatief tot die algemene bevolking van die stad.{} Kwadratiese groei: 'n Dorp wat twee keer so groot is, genereer vier keer soveel passasiers.{} Lineêre groei: 'n Stad twee keer so groot, genereer twee keer soveel passasiers.
|
||||
STR_CONFIG_SETTING_TOWN_CARGOGENMODE_ORIGINAL :Kwadraties (oorspronklik)
|
||||
STR_CONFIG_SETTING_TOWN_CARGOGENMODE_BITCOUNT :Lineêre
|
||||
|
||||
STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT :Binne speletjie plasing van bome: {STRING}
|
||||
STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_HELPTEXT :Beheer die ewekansige voorkoms van bome tydens die spel. Dit kan 'n invloed op nywerhede hê wat staatmaak op die groei van bome, byvoorbeeld hout meulens
|
||||
@@ -1797,6 +1835,7 @@ STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}Verander
|
||||
STR_CHEAT_SETUP_PROD :{LTBLUE}Aktiveer modifisering van produksie waardes: {ORANGE}{STRING}
|
||||
|
||||
# Livery window
|
||||
STR_LIVERY_CAPTION :{WHITE}{COMPANY} - Kleur Skema
|
||||
|
||||
STR_LIVERY_GENERAL_TOOLTIP :{BLACK}Toon algemene kleurskemas
|
||||
STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Wys trein kleur skemas
|
||||
@@ -2056,6 +2095,7 @@ STR_NETWORK_CONNECTION_DISCONNECT :{BLACK}Loskoppe
|
||||
|
||||
STR_NETWORK_NEED_GAME_PASSWORD_CAPTION :{WHITE}Verskaffer is beskerm. Voer wagwoord in
|
||||
STR_NETWORK_NEED_COMPANY_PASSWORD_CAPTION :{WHITE}Maatskappy is beskerm. Voer wagwoord in
|
||||
STR_NETWORK_COMPANY_LIST_CLIENT_LIST_CAPTION :{WHITE}Kliëntelys
|
||||
|
||||
# Network company list added strings
|
||||
STR_NETWORK_COMPANY_LIST_CLIENT_LIST :Klient Lys
|
||||
@@ -2104,7 +2144,7 @@ STR_NETWORK_CHAT_ALL :[Almal] {STRING
|
||||
STR_NETWORK_CHAT_OSKTITLE :{BLACK}Tik boodskap vir klets
|
||||
|
||||
# Network messages
|
||||
STR_NETWORK_ERROR_NOTAVAILABLE :{WHITE}Geen netwerk ontwerp gevind of voldoen sonder ENABLE_NETWORK
|
||||
STR_NETWORK_ERROR_NOTAVAILABLE :{WHITE}Geen netwerk toestelle gevind
|
||||
STR_NETWORK_ERROR_NOSERVER :{WHITE}Kan nie enige netwerk speletjies vind nie
|
||||
STR_NETWORK_ERROR_NOCONNECTION :{WHITE}Die verskaffer het nie die versoek geantwoord nie
|
||||
STR_NETWORK_ERROR_NEWGRF_MISMATCH :{WHITE}Kan nie konnekteer te danke aan newgrf mispas nie
|
||||
@@ -2120,6 +2160,7 @@ STR_NETWORK_ERROR_WRONG_PASSWORD :{WHITE}Verkeerd
|
||||
STR_NETWORK_ERROR_SERVER_FULL :{WHITE}Die verskaffer is vol
|
||||
STR_NETWORK_ERROR_SERVER_BANNED :{WHITE}Jy is verban op hierdie server
|
||||
STR_NETWORK_ERROR_KICKED :{WHITE}Jy is van die spel geskop
|
||||
STR_NETWORK_ERROR_KICK_MESSAGE :{WHITE}Rede: {STRING}
|
||||
STR_NETWORK_ERROR_CHEATER :{WHITE}Kullery word nie toegelaat op hierdie bediener
|
||||
STR_NETWORK_ERROR_TOO_MANY_COMMANDS :{WHITE}Jy het te veel opdragte na die bediener gestuur
|
||||
STR_NETWORK_ERROR_TIMEOUT_PASSWORD :{WHITE} Jy het te lank gevat om die wagwoord in te sleutel
|
||||
@@ -2179,6 +2220,7 @@ STR_NETWORK_MESSAGE_GIVE_MONEY :*** {STRING} he
|
||||
STR_NETWORK_MESSAGE_GAVE_MONEY_AWAY :*** Jy het {1:STRING} {2:CURRENCY_LONG} gegee
|
||||
STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}Die verskaffer het die sessie toegemaak
|
||||
STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}Die verskaffer is besig om te weerbegin...{}Wag asb...
|
||||
STR_NETWORK_MESSAGE_KICKED :*** {STRING} is geskop. Rede: ({STRING})
|
||||
|
||||
# Content downloading window
|
||||
STR_CONTENT_TITLE :{WHITE}Laai Inhoud af
|
||||
@@ -2271,6 +2313,7 @@ STR_LINKGRAPH_LEGEND_CAPTION :{BLACK}Vragvers
|
||||
STR_LINKGRAPH_LEGEND_ALL :{BLACK}Almal
|
||||
STR_LINKGRAPH_LEGEND_NONE :{BLACK}Geen
|
||||
STR_LINKGRAPH_LEGEND_SELECT_COMPANIES :{BLACK}Kies maatskappye om te ws
|
||||
STR_LINKGRAPH_LEGEND_COMPANY_TOOLTIP :{BLACK}{STRING}{}{COMPANY}
|
||||
|
||||
# Linkgraph legend window and linkgraph legend in smallmap
|
||||
STR_LINKGRAPH_LEGEND_UNUSED :{TINY_FONT}{BLACK}ongebruik
|
||||
@@ -2355,9 +2398,9 @@ STR_BUILD_SIGNAL_ELECTRIC_COMBO_TOOLTIP :{BLACK}Kombinas
|
||||
STR_BUILD_SIGNAL_ELECTRIC_PBS_TOOLTIP :{BLACK}Pad aanwyser (robot){}Laat meer as een trein per blok toe solank die trein 'n bestemming veilig kan bereik. Gewone pad aanwysers word geïgnoreer as 'n trein in die teenoorgestelde rigting ry
|
||||
STR_BUILD_SIGNAL_ELECTRIC_PBS_OWAY_TOOLTIP :{BLACK}Een-rigting pad aanwyser (robot){}Laat meer as een trein per blok toe solank die trein 'n bestemming veilig kan bereik. 'n Een-rigting pad aanwysers laat verkeer slegs in een rigting toe
|
||||
STR_BUILD_SIGNAL_CONVERT_TOOLTIP :{BLACK}Verander Sinjaal{}Klik op 'n bestaande sinjaal om dit na die verkose tipe te verander, Ctrl+klik om na die bestaande tipe te verander. Shift+klik vir kwotasie
|
||||
STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_TOOLTIP :{BLACK}Sein sleep digtheid
|
||||
STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_DECREASE_TOOLTIP :{BLACK}Verminder sein sleep digtheid
|
||||
STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_INCREASE_TOOLTIP :{BLACK}Verhoog sein sleep digtheid
|
||||
STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_TOOLTIP :{BLACK}Sein sleep afstand
|
||||
STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_DECREASE_TOOLTIP :{BLACK}Verminder sein sleep afstand
|
||||
STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_INCREASE_TOOLTIP :{BLACK}Verhoog sein sleep afstand
|
||||
|
||||
# Bridge selection window
|
||||
STR_SELECT_RAIL_BRIDGE_CAPTION :{WHITE}Kies Spoor Brug
|
||||
@@ -2395,7 +2438,11 @@ STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_TUNNEL :{BLACK}Bou pad
|
||||
STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_TUNNEL :{BLACK}Bou tonnel. Shift kies tussen bou/kwotasie
|
||||
STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_ROAD :{BLACK}Skakel bou/verwydering van pad konstruksie
|
||||
STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_TRAMWAYS :{BLACK}Skakel bou/verwyder vir tremweg konstruksie
|
||||
STR_ROAD_TOOLBAR_TOOLTIP_CONVERT_ROAD :{BLACK}Skakel om / opgradeer die tipe pad. Shift wissel tussen gebou / toon kosteberaming
|
||||
STR_ROAD_TOOLBAR_TOOLTIP_CONVERT_TRAM :{BLACK}Die tipe tram omskakel / opgradeer. Shift wissel tussen gebou/toon kosteberaming
|
||||
|
||||
STR_ROAD_NAME_ROAD :Pad
|
||||
STR_ROAD_NAME_TRAM :Tremweg
|
||||
|
||||
# Road depot construction window
|
||||
STR_BUILD_DEPOT_ROAD_ORIENTATION_CAPTION :{WHITE}Pad Depot Oriëntering
|
||||
@@ -2579,8 +2626,12 @@ STR_LAND_AREA_INFORMATION_AIRPORTTILE_NAME :{BLACK}Lughawe
|
||||
STR_LAND_AREA_INFORMATION_NEWGRF_NAME :{BLACK}NuweGRF: {LTBLUE}{STRING}
|
||||
STR_LAND_AREA_INFORMATION_CARGO_ACCEPTED :{BLACK}Vrag aangeneem: {LTBLUE}
|
||||
STR_LAND_AREA_INFORMATION_CARGO_EIGHTS :({COMMA}/8 {STRING})
|
||||
STR_LANG_AREA_INFORMATION_RAIL_TYPE :{BLACK}Spoor tipe: {LTBLUE}{STRING}
|
||||
STR_LANG_AREA_INFORMATION_ROAD_TYPE :{BLACK}Padtipe: {LTBLUE}{STRING}
|
||||
STR_LANG_AREA_INFORMATION_TRAM_TYPE :{BLACK}Tremtipe: {LTBLUE}{STRING}
|
||||
STR_LANG_AREA_INFORMATION_RAIL_SPEED_LIMIT :{BLACK}Spoorlyn spoed limiet: {LTBLUE}{VELOCITY}
|
||||
STR_LANG_AREA_INFORMATION_ROAD_SPEED_LIMIT :{BLACK}Pad spoedgrens: {LTBLUE}{VELOCITY}
|
||||
STR_LANG_AREA_INFORMATION_TRAM_SPEED_LIMIT :{BLACK}Trem spoedgrens: {LTBLUE}{VELOCITY}
|
||||
|
||||
# Description of land area of different tiles
|
||||
STR_LAI_CLEAR_DESCRIPTION_ROCKS :Rotse
|
||||
@@ -2677,12 +2728,47 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Maatskappy-besi
|
||||
STR_ABOUT_OPENTTD :{WHITE}Oor OpenTTD
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Oorspronklike kopiereg {COPYRIGHT} 1995 Chris Sawyer, Alle regte voorbehou
|
||||
STR_ABOUT_VERSION :{BLACK}OpenTTD uitgawe {REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2019 Die OpenTTD span
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-{STRING} Die OpenTTD span
|
||||
|
||||
# Framerate display window
|
||||
STR_FRAMERATE_CAPTION :{WHITE}Raamkoers
|
||||
STR_FRAMERATE_CAPTION_SMALL :{STRING}{WHITE} ({DECIMAL}x)
|
||||
STR_FRAMERATE_RATE_GAMELOOP :{BLACK}Simulasietempo: {STRING}
|
||||
STR_FRAMERATE_RATE_BLITTER :{BLACK}Grafiekraamkoers: {STRING}
|
||||
STR_FRAMERATE_RATE_BLITTER_TOOLTIP :{BLACK}Aantal videorame per sekonde gelewer.
|
||||
STR_FRAMERATE_SPEED_FACTOR :{BLACK}Huidige spel spoed faktor: {DECIMAL}x
|
||||
STR_FRAMERATE_SPEED_FACTOR_TOOLTIP :{BLACK}Hoe vinnig die spel tans werk, in vergelyking met die verwagte snelheid teen normale simulasietempo.
|
||||
STR_FRAMERATE_CURRENT :{WHITE}Huidig
|
||||
STR_FRAMERATE_AVERAGE :{WHITE}Gemiddeld
|
||||
STR_FRAMERATE_MEMORYUSE :{WHITE}Geheue
|
||||
STR_FRAMERATE_DATA_POINTS :{BLACK}Data gebaseer op metings van {COMMA}
|
||||
STR_FRAMERATE_MS_BAD :{RED}{DECIMAL} ms
|
||||
STR_FRAMERATE_FPS_GOOD :{LTBLUE}{DECIMAL} rame
|
||||
STR_FRAMERATE_FPS_WARN :{YELLOW}{DECIMAL} rame
|
||||
STR_FRAMERATE_FPS_BAD :{RED}{DECIMAL} rame
|
||||
STR_FRAMERATE_BYTES_GOOD :{LTBLUE}{BYTES}
|
||||
STR_FRAMERATE_BYTES_BAD :{RED}{BYTES}
|
||||
STR_FRAMERATE_GRAPH_MILLISECONDS :{TINY_FONT}{COMMA} ms
|
||||
STR_FRAMERATE_GRAPH_SECONDS :{TINY_FONT}{COMMA} s
|
||||
############ Leave those lines in this order!!
|
||||
STR_FRAMERATE_GAMELOOP :{BLACK}Speletjie lus totaal:
|
||||
STR_FRAMERATE_GL_ECONOMY :{BLACK} Vraghantering
|
||||
STR_FRAMERATE_GL_LINKGRAPH :{BLACK} Skakel grafiekvertraging
|
||||
STR_FRAMERATE_DRAWING_VIEWPORTS :{BLACK} Wêreld toonvensters:
|
||||
STR_FRAMERATE_VIDEO :{BLACK}Video-afvoer:
|
||||
STR_FRAMERATE_SOUND :{BLACK}Klankvermenging:
|
||||
STR_FRAMERATE_ALLSCRIPTS :{BLACK} GS/AI totaal:
|
||||
STR_FRAMERATE_GAMESCRIPT :{BLACK} Speletjieskrif
|
||||
STR_FRAMERATE_AI :{BLACK} AI {NUM} {STRING}
|
||||
############ End of leave-in-this-order
|
||||
############ Leave those lines in this order!!
|
||||
STR_FRAMETIME_CAPTION_GAMELOOP :Speletjie lus
|
||||
STR_FRAMETIME_CAPTION_GL_ECONOMY :Vraghantering
|
||||
STR_FRAMETIME_CAPTION_VIDEO :Video-uitset
|
||||
STR_FRAMETIME_CAPTION_SOUND :Klankvermenging
|
||||
STR_FRAMETIME_CAPTION_ALLSCRIPTS :GS/AI skrip totaal
|
||||
STR_FRAMETIME_CAPTION_GAMESCRIPT :Speletjie skrip
|
||||
STR_FRAMETIME_CAPTION_AI :AI {NUM} {STRING}
|
||||
############ End of leave-in-this-order
|
||||
|
||||
|
||||
@@ -2708,6 +2794,9 @@ STR_SAVELOAD_DETAIL_CAPTION :{BLACK}Spel Bes
|
||||
STR_SAVELOAD_DETAIL_NOT_AVAILABLE :{BLACK}Geen inligting beskikbaar
|
||||
STR_SAVELOAD_DETAIL_COMPANY_INDEX :{SILVER}{COMMA}: {WHITE}{STRING}
|
||||
STR_SAVELOAD_DETAIL_GRFSTATUS :{SILVER}NewGRF: {WHITE}{STRING}
|
||||
STR_SAVELOAD_FILTER_TITLE :{BLACK}Filter string:
|
||||
STR_SAVELOAD_OVERWRITE_TITLE :{WHITE}Oorskryf lêer
|
||||
STR_SAVELOAD_OVERWRITE_WARNING :{YELLOW}Is u seker dat u die bestaande lêer wil oorskryf?
|
||||
|
||||
STR_SAVELOAD_OSKTITLE :{BLACK}Tik 'n naam in vir die stoor-speeletjie
|
||||
|
||||
@@ -2825,7 +2914,10 @@ STR_NEWGRF_SETTINGS_VERSION :{BLACK}Weergawe
|
||||
STR_NEWGRF_SETTINGS_MIN_VERSION :{BLACK}Min. versoenbare weergawe: {SILVER}{NUM}
|
||||
STR_NEWGRF_SETTINGS_MD5SUM :{BLACK}MD5sum: {SILVER}{STRING}
|
||||
STR_NEWGRF_SETTINGS_PALETTE :{BLACK}Palet: {SILVER}{STRING}
|
||||
STR_NEWGRF_SETTINGS_PALETTE_DEFAULT :Default (D)
|
||||
STR_NEWGRF_SETTINGS_PALETTE_DEFAULT_32BPP :Default (D) / 32 bpp
|
||||
STR_NEWGRF_SETTINGS_PARAMETER :{BLACK}Parameters: {SILVER}{STRING}
|
||||
STR_NEWGRF_SETTINGS_PARAMETER_NONE :Geen
|
||||
|
||||
STR_NEWGRF_SETTINGS_NO_INFO :{BLACK}Geen informasie beskikbaar
|
||||
STR_NEWGRF_SETTINGS_NOT_FOUND :{RED}Gelyke lêer nie gevind nie
|
||||
@@ -2970,6 +3062,7 @@ STR_EDIT_SIGN_SIGN_OSKTITLE :{BLACK}Tik 'n n
|
||||
STR_TOWN_DIRECTORY_CAPTION :{WHITE}Dorpe
|
||||
STR_TOWN_DIRECTORY_NONE :{ORANGE}- Geen -
|
||||
STR_TOWN_DIRECTORY_TOWN :{ORANGE}{TOWN}{BLACK} ({COMMA})
|
||||
STR_TOWN_DIRECTORY_CITY :{ORANGE}{TOWN}{YELLOW} (Stad){BLACK} ({COMMA})
|
||||
STR_TOWN_DIRECTORY_LIST_TOOLTIP :{BLACK}Dorpname - klik op 'n naam om skerm daarna te skuif. Ctrl+klik om 'n nuwe venster vir die dorp oop te maak
|
||||
STR_TOWN_POPULATION :{BLACK}Wêreldbevolking: {COMMA}
|
||||
|
||||
@@ -2977,6 +3070,7 @@ STR_TOWN_POPULATION :{BLACK}Wêreldb
|
||||
STR_TOWN_VIEW_TOWN_CAPTION :{WHITE}{TOWN}
|
||||
STR_TOWN_VIEW_CITY_CAPTION :{WHITE}{TOWN} (City)
|
||||
STR_TOWN_VIEW_POPULATION_HOUSES :{BLACK}Bevolking: {ORANGE}{COMMA}{BLACK} Huise: {ORANGE}{COMMA}
|
||||
STR_TOWN_VIEW_CARGO_LAST_MONTH_MAX :{BLACK}{CARGO_LIST} laas maand: {ORANGE}{COMMA}{BLACK} maks: {ORANGE}{COMMA}
|
||||
STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH :{BLACK}Vrag nodig om dorp te laat groei:
|
||||
STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_GENERAL :{ORANGE}{STRING}{RED} vereis
|
||||
STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_WINTER :{ORANGE}{STRING}{BLACK} vereis in winter
|
||||
@@ -3001,6 +3095,8 @@ STR_TOWN_VIEW_RENAME_TOWN_BUTTON :Hernoem Dorp
|
||||
|
||||
# Town local authority window
|
||||
STR_LOCAL_AUTHORITY_CAPTION :{WHITE}{TOWN} plaaslike raad
|
||||
STR_LOCAL_AUTHORITY_ZONE :{BLACK}Zone
|
||||
STR_LOCAL_AUTHORITY_ZONE_TOOLTIP :{BLACK}Toon sone binne die plaaslike owerheidsgrense
|
||||
STR_LOCAL_AUTHORITY_COMPANY_RATINGS :{BLACK}Vervoer maatskappy graderings:
|
||||
STR_LOCAL_AUTHORITY_COMPANY_RATING :{YELLOW}{COMPANY} {COMPANY_NUM}: {ORANGE}{STRING}
|
||||
STR_LOCAL_AUTHORITY_ACTIONS_TITLE :{BLACK}Aksies beskikbaar:
|
||||
@@ -3029,6 +3125,7 @@ STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW}Koop di
|
||||
# Goal window
|
||||
STR_GOALS_CAPTION :{WHITE}{COMPANY} Doelwitte
|
||||
STR_GOALS_SPECTATOR_CAPTION :{WHITE}Globale Doelwitte
|
||||
STR_GOALS_SPECTATOR :Globale doelwitte
|
||||
STR_GOALS_GLOBAL_TITLE :{BLACK}Globale doelwitte:
|
||||
STR_GOALS_TEXT :{ORANGE}{STRING}
|
||||
STR_GOALS_NONE :{ORANGE}- Geen -
|
||||
@@ -3077,6 +3174,7 @@ STR_SUBSIDIES_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Klik op
|
||||
# Story book window
|
||||
STR_STORY_BOOK_CAPTION :{WHITE}{COMPANY} Storieboek
|
||||
STR_STORY_BOOK_SPECTATOR_CAPTION :{WHITE}Globale Storieboek
|
||||
STR_STORY_BOOK_SPECTATOR :Globale Storieboek
|
||||
STR_STORY_BOOK_TITLE :{YELLOW}{STRING}
|
||||
STR_STORY_BOOK_GENERIC_PAGE_ITEM :Bladsy {NUM}
|
||||
STR_STORY_BOOK_SEL_PAGE_TOOLTIP :{BLACK}Kies 'n bladsy om na toe te gaan in hierdie lys
|
||||
@@ -3256,6 +3354,7 @@ STR_COMPANY_INFRASTRUCTURE_VIEW_CAPTION :{WHITE}{COMPANY
|
||||
STR_COMPANY_INFRASTRUCTURE_VIEW_RAIL_SECT :{GOLD}Spoorstukke:
|
||||
STR_COMPANY_INFRASTRUCTURE_VIEW_SIGNALS :{WHITE}Seine
|
||||
STR_COMPANY_INFRASTRUCTURE_VIEW_ROAD_SECT :{GOLD}Padstukke:
|
||||
STR_COMPANY_INFRASTRUCTURE_VIEW_TRAM_SECT :{GOLD}Trem stukke:
|
||||
STR_COMPANY_INFRASTRUCTURE_VIEW_WATER_SECT :{GOLD}Waterteëls:
|
||||
STR_COMPANY_INFRASTRUCTURE_VIEW_CANALS :{WHITE}Kanale
|
||||
STR_COMPANY_INFRASTRUCTURE_VIEW_STATION_SECT :{GOLD}Stasies:
|
||||
@@ -3266,8 +3365,17 @@ STR_COMPANY_INFRASTRUCTURE_VIEW_TOTAL :{WHITE}{CURRENC
|
||||
# Industry directory
|
||||
STR_INDUSTRY_DIRECTORY_CAPTION :{WHITE}Nywerhede
|
||||
STR_INDUSTRY_DIRECTORY_NONE :{ORANGE}- Geen -
|
||||
STR_INDUSTRY_DIRECTORY_ITEM_INFO :{BLACK}{CARGO_LONG}{STRING}{YELLOW} ({COMMA}% vervoer){BLACK}
|
||||
STR_INDUSTRY_DIRECTORY_ITEM_NOPROD :{ORANGE}{INDUSTRY}
|
||||
STR_INDUSTRY_DIRECTORY_ITEM_PROD1 :{ORANGE}{INDUSTRY} {STRING}
|
||||
STR_INDUSTRY_DIRECTORY_ITEM_PROD2 :{ORANGE}{INDUSTRY} {STRING}, {STRING}
|
||||
STR_INDUSTRY_DIRECTORY_ITEM_PROD3 :{ORANGE}{INDUSTRY} {STRING}, {STRING}, {STRING}
|
||||
STR_INDUSTRY_DIRECTORY_ITEM_PRODMORE :{ORANGE}{INDUSTRY} {STRING}, {STRING}, {STRING} en {NUM} meer...
|
||||
STR_INDUSTRY_DIRECTORY_LIST_CAPTION :{BLACK}Nywerheidsname - klik op 'n naam om skerm na nywerheid te skuif. Ctrl+klik maak 'n nuwe venster vir die nywerheid oop
|
||||
STR_INDUSTRY_DIRECTORY_ACCEPTED_CARGO_FILTER :{BLACK}Aanvaarde vrag: {SILVER}{STRING}
|
||||
STR_INDUSTRY_DIRECTORY_PRODUCED_CARGO_FILTER :{BLACK}Vervaardigde vrag: {SILVER}{STRING}
|
||||
STR_INDUSTRY_DIRECTORY_FILTER_ALL_TYPES :Alle vragtipes
|
||||
STR_INDUSTRY_DIRECTORY_FILTER_NONE :Geen
|
||||
|
||||
# Industry view
|
||||
STR_INDUSTRY_VIEW_CAPTION :{WHITE}{INDUSTRY}
|
||||
@@ -3277,7 +3385,13 @@ STR_INDUSTRY_VIEW_LOCATION_TOOLTIP :{BLACK}Skuif sk
|
||||
STR_INDUSTRY_VIEW_PRODUCTION_LEVEL :{BLACK}Produksie vlak: {YELLOW}{COMMA}%
|
||||
STR_INDUSTRY_VIEW_INDUSTRY_ANNOUNCED_CLOSURE :{YELLOW}Die nywerheid het aangekondig dat dit binnekort gaan sluit!
|
||||
|
||||
STR_INDUSTRY_VIEW_REQUIRES_N_CARGO :{BLACK}Benodig: {YELLOW}{STRING}{STRING}
|
||||
STR_INDUSTRY_VIEW_PRODUCES_N_CARGO :{BLACK}Produseer: {YELLOW}{STRING}{STRING}
|
||||
STR_INDUSTRY_VIEW_CARGO_LIST_EXTENSION :, {STRING}{STRING}
|
||||
|
||||
STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Benodig:
|
||||
STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING}{BLACK}{3:STRING}
|
||||
STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{STRING}{BLACK}: {CARGO_SHORT} wagtend{STRING}
|
||||
|
||||
STR_CONFIG_GAME_PRODUCTION :{WHITE}Verander produksie (veelvoude van 8, tot en met 2040)
|
||||
STR_CONFIG_GAME_PRODUCTION_LEVEL :{WHITE}Verander produksie vlakke (persentasie, tot 800%)
|
||||
@@ -3327,6 +3441,7 @@ STR_GROUP_DEFAULT_ROAD_VEHICLES :Ongegroepeerde
|
||||
STR_GROUP_DEFAULT_SHIPS :Ongegroepeerde skepe
|
||||
STR_GROUP_DEFAULT_AIRCRAFTS :Ongegroepeerde vliegtuig
|
||||
|
||||
STR_GROUP_COUNT_WITH_SUBGROUP :{TINY_FONT}{COMMA} (+{COMMA})
|
||||
|
||||
STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Groepe - klik op 'n groep om alle voertuie in hierdie groep te lys. Sleep en los om te rangskik volgens hiërargie.
|
||||
STR_GROUP_CREATE_TOOLTIP :{BLACK}Klik om groep te skep
|
||||
@@ -3342,6 +3457,10 @@ STR_GROUP_REMOVE_ALL_VEHICLES :Verwyder alle v
|
||||
|
||||
STR_GROUP_RENAME_CAPTION :{BLACK}Hernoem 'n groep
|
||||
|
||||
STR_GROUP_PROFIT_THIS_YEAR :Wins hierdie jaar:
|
||||
STR_GROUP_PROFIT_LAST_YEAR :Wins verlede jaar:
|
||||
STR_GROUP_OCCUPANCY :Huidige verbruik:
|
||||
STR_GROUP_OCCUPANCY_VALUE :{NUM}%
|
||||
|
||||
# Build vehicle window
|
||||
STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION :Nuwe treine
|
||||
@@ -3350,9 +3469,11 @@ STR_BUY_VEHICLE_TRAIN_MONORAIL_CAPTION :Nuwe monospoor
|
||||
STR_BUY_VEHICLE_TRAIN_MAGLEV_CAPTION :Nuwe Maglev Voertuie
|
||||
|
||||
STR_BUY_VEHICLE_ROAD_VEHICLE_CAPTION :Nuwe Pad Voertuie
|
||||
STR_BUY_VEHICLE_TRAM_VEHICLE_CAPTION :Nuwe Trem Voertuie
|
||||
|
||||
############ range for vehicle availability starts
|
||||
STR_BUY_VEHICLE_TRAIN_ALL_CAPTION :Spoorweg Voertuie
|
||||
STR_BUY_VEHICLE_ROAD_VEHICLE_ALL_CAPTION :Nuwe Padvoertuie
|
||||
STR_BUY_VEHICLE_SHIP_CAPTION :Nuwe Skepe
|
||||
STR_BUY_VEHICLE_AIRCRAFT_CAPTION :Nuwe Vliegtuig
|
||||
############ range for vehicle availability ends
|
||||
@@ -3368,15 +3489,19 @@ STR_PURCHASE_INFO_REFITTABLE :(herboubaar)
|
||||
STR_PURCHASE_INFO_DESIGNED_LIFE :{BLACK}Ontwerp: {GOLD}{NUM}{BLACK} Leeftyd: {GOLD}{COMMA} jaar
|
||||
STR_PURCHASE_INFO_RELIABILITY :{BLACK}Maks. betroubaarheid: {GOLD}{COMMA}%
|
||||
STR_PURCHASE_INFO_COST :{BLACK}Kos: {GOLD}{CURRENCY_LONG}
|
||||
STR_PURCHASE_INFO_COST_REFIT :{BLACK}Koste: {GOLD}{CURRENCY_LONG}{BLACK} (Herbou Koste: {GOLD}{CURRENCY_LONG}{BLACK})
|
||||
STR_PURCHASE_INFO_WEIGHT_CWEIGHT :{BLACK}Massa: {GOLD}{WEIGHT_SHORT} ({WEIGHT_SHORT})
|
||||
STR_PURCHASE_INFO_COST_SPEED :{BLACK}Kos: {GOLD}{CURRENCY_LONG}{BLACK} Spoed: {GOLD}{VELOCITY}
|
||||
STR_PURCHASE_INFO_COST_REFIT_SPEED :{BLACK}Koste: {GOLD}{CURRENCY_LONG}{BLACK} (Herbou Koste: {GOLD}{CURRENCY_LONG}{BLACK}) Spoed: {GOLD}{VELOCITY}
|
||||
STR_PURCHASE_INFO_AIRCRAFT_CAPACITY :{BLACK}Kapasiteit: {GOLD}{CARGO_LONG}, {CARGO_LONG}
|
||||
STR_PURCHASE_INFO_PWAGPOWER_PWAGWEIGHT :{BLACK}Self Krag Waens: {GOLD}+{POWER}{BLACK} Gewig: {GOLD}+{WEIGHT_SHORT}
|
||||
STR_PURCHASE_INFO_REFITTABLE_TO :{BLACK}Herboubaar na: {GOLD}{STRING}
|
||||
STR_PURCHASE_INFO_ALL_TYPES :Alle vrag tipes
|
||||
STR_PURCHASE_INFO_NONE :Geen
|
||||
STR_PURCHASE_INFO_ALL_BUT :Alles behalwe {CARGO_LIST}
|
||||
STR_PURCHASE_INFO_MAX_TE :{BLACK}Maks. Traktiewe Poging: {GOLD}{FORCE}
|
||||
STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Afstand: {GOLD}{COMMA} teëls
|
||||
STR_PURCHASE_INFO_AIRCRAFT_TYPE :{BLACK}Vliegtuig tipe: {GOLD}{STRING}
|
||||
|
||||
STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Trein kieslys - klik op voertuig vir inligting. CTRL+kliek vir wegsteek van die voertuig tipe
|
||||
STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Pad voertuig kieslys - klik op voertuig vir inligting. CTRL+kliek vir wegsteek van die voertuig tipe
|
||||
@@ -3388,12 +3513,19 @@ STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_BUTTON :{BLACK}Koop Voe
|
||||
STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_BUTTON :{BLACK}Bou skip
|
||||
STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_BUTTON :{BLACK}Koop vliegtuig
|
||||
|
||||
STR_BUY_VEHICLE_TRAIN_BUY_REFIT_VEHICLE_BUTTON :{BLACK}Koop en Herbou Voertuig
|
||||
STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_REFIT_VEHICLE_BUTTON :{BLACK}Koop en herbou voertuig
|
||||
STR_BUY_VEHICLE_SHIP_BUY_REFIT_VEHICLE_BUTTON :{BLACK}Koop en herbou skip
|
||||
STR_BUY_VEHICLE_AIRCRAFT_BUY_REFIT_VEHICLE_BUTTON :{BLACK}Koop en Herbou Vliegtuig
|
||||
|
||||
STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_TOOLTIP :{BLACK}Koop die gekose lokomotief/wa. Shift+klik vir kwotasie
|
||||
STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_TOOLTIP :{BLACK}Koop die gekose voertuig. Shift+klik vir kwotasie
|
||||
STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_TOOLTIP :{BLACK}Koop die gekose skip. Shift+klik vir kwotasie
|
||||
STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_TOOLTIP :{BLACK}Koop die gekose vliegtuig. Shift+klik vir kwotasie
|
||||
|
||||
STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Koop en monteer die gemerkte voertuig. Shift+Click toon geskatte koste sonder aankoopkoste
|
||||
STR_BUY_VEHICLE_SHIP_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK} Koop en herbou die gemerkte skip. Shift+Click toon geskatte koste sonder aankoopkoste
|
||||
STR_BUY_VEHICLE_AIRCRAFT_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Koop en monteer die gemerkte vliegtuig. Shift+Click toon geskatte koste sonder aankoopkoste
|
||||
|
||||
STR_BUY_VEHICLE_TRAIN_RENAME_BUTTON :{BLACK}Hernoem
|
||||
STR_BUY_VEHICLE_ROAD_VEHICLE_RENAME_BUTTON :{BLACK}Hernoem
|
||||
@@ -3505,10 +3637,12 @@ STR_ENGINE_PREVIEW_CAPTION :{WHITE}Boodskap
|
||||
STR_ENGINE_PREVIEW_MESSAGE :{GOLD}Ons het sopas 'n nuwe {STRING} ontwerp, sal jy belangstel om hierdie voertuig eksklusief vir 'n jaar te gebruik. Hierdie word gedoen om te kyk hoe die voertuig doen voordat hy wereld wyd in produksie gesit word?
|
||||
|
||||
STR_ENGINE_PREVIEW_RAILROAD_LOCOMOTIVE :spoorweg lokomotief
|
||||
STR_ENGINE_PREVIEW_ELRAIL_LOCOMOTIVE :geëlektrifiseerde spoorweglokomotief
|
||||
STR_ENGINE_PREVIEW_MONORAIL_LOCOMOTIVE :monospoor lokomotief
|
||||
STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE :maglev lokomotief
|
||||
|
||||
STR_ENGINE_PREVIEW_ROAD_VEHICLE :padvoertuig
|
||||
STR_ENGINE_PREVIEW_TRAM_VEHICLE :tremweg voertuie
|
||||
|
||||
STR_ENGINE_PREVIEW_AIRCRAFT :vliegtuig
|
||||
STR_ENGINE_PREVIEW_SHIP :skip
|
||||
@@ -3516,6 +3650,10 @@ STR_ENGINE_PREVIEW_SHIP :skip
|
||||
STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER :{BLACK}Koste: {CURRENCY_LONG} Massa: {WEIGHT_SHORT}{}Spoed: {VELOCITY} Krag: {POWER}{}Loopkoste: {CURRENCY_LONG}/jr{}Kapasitiet: {CARGO_LONG}
|
||||
STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER_MAX_TE :{BLACK}Koste: {CURRENCY_LONG} Gewig: {WEIGHT_SHORT}{}Spoed: {VELOCITY} Krag: {POWER} Maks. Treg Krag: {6:FORCE}{}Lopende Koste: {4:CURRENCY_LONG}/jaar{}Kapasitiet: {5:CARGO_LONG}
|
||||
STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAP_RUNCOST :{BLACK}Koste: {CURRENCY_LONG} Maks. Spoed: {VELOCITY}{}Kapasiteit: {CARGO_LONG}{}Lopende Koste: {CURRENCY_LONG}/jaar
|
||||
STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_CAP_CAP_RUNCOST :{BLACK}Koste: {CURRENCY_LONG} Maks. Spoed: {VELOCITY}{}Vliegtuig Tipe: {STRING}{}Kapasiteit: {CARGO_LONG}, {CARGO_LONG}{}Lopende Koste: {CURRENCY_LONG}/jr
|
||||
STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_CAP_RUNCOST :{BLACK}Koste: {CURRENCY_LONG} Maks. Spoed: {VELOCITY}{}Vliegtuig tipe: {STRING}{}Kapasiteit: {CARGO_LONG}{}Lopende koste: {CURRENCY_LONG}/jr
|
||||
STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_RANGE_CAP_CAP_RUNCOST :{BLACK}Koste: {CURRENCY_LONG} Maks. Spoed: {VELOCITY}{}Vliegtuig tipe: {STRING} Afstand: {COMMA} tiles{}Kapasiteit: {CARGO_LONG}, {CARGO_LONG}{}Lopende Koste: {CURRENCY_LONG}/jr
|
||||
STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_RANGE_CAP_RUNCOST :{BLACK}Koste: {CURRENCY_LONG} Maks. Spoed: {VELOCITY}{}Vliegtuig tipe: {STRING} Afstand: {COMMA} teëls{}Kapasiteit: {CARGO_LONG}{}Lopende Koste: {CURRENCY_LONG}/jr
|
||||
|
||||
# Autoreplace window
|
||||
STR_REPLACE_VEHICLES_WHITE :{WHITE}Vervang {STRING} - {STRING}
|
||||
@@ -3545,14 +3683,19 @@ STR_REPLACE_HELP_STOP_BUTTON :{BLACK}Druk om
|
||||
STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK}Skakel tussen enjin en wa vervang vensters
|
||||
STR_REPLACE_ENGINES :Enjin
|
||||
STR_REPLACE_WAGONS :Waens
|
||||
STR_REPLACE_ALL_RAILTYPE :Alle spoorvoertuie
|
||||
STR_REPLACE_ALL_ROADTYPE :Alle padvoertuie
|
||||
|
||||
STR_REPLACE_HELP_RAILTYPE :{BLACK}Kies die soort spoor waarvoor lokomotiewe vervang moet word
|
||||
STR_REPLACE_HELP_ROADTYPE :{BLACK}Kies die padtipe waarvoor u enjins wil vervang
|
||||
STR_REPLACE_HELP_REPLACE_INFO_TAB :{BLACK}Toon aan watter enjin die linker gekose enjin mee vervang moet word , indien enige
|
||||
STR_REPLACE_RAIL_VEHICLES :Treine
|
||||
STR_REPLACE_ELRAIL_VEHICLES :Elektriese treine
|
||||
STR_REPLACE_MONORAIL_VEHICLES :Monospoor voertuie
|
||||
STR_REPLACE_MAGLEV_VEHICLES :Maglev Voertuie
|
||||
|
||||
STR_REPLACE_ROAD_VEHICLES :Padvoertuie
|
||||
STR_REPLACE_TRAM_VEHICLES :Tremweg voertuie
|
||||
|
||||
STR_REPLACE_REMOVE_WAGON :{BLACK}Wa verwydering: {ORANGE}{STRING}
|
||||
STR_REPLACE_REMOVE_WAGON_HELP :{BLACK}Maak autovervanging die lengte van 'n trein dieselfde hou deur verwydering waens (deur voor te begin), indien die enjin vervanging die trein langer sal maak
|
||||
@@ -3638,6 +3781,8 @@ STR_VEHICLE_INFO_AGE :{COMMA} ja{P ar
|
||||
STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA} ja{P ar re} ({COMMA})
|
||||
|
||||
STR_VEHICLE_INFO_MAX_SPEED :{BLACK}Maks. spoed: {LTBLUE}{VELOCITY}
|
||||
STR_VEHICLE_INFO_MAX_SPEED_TYPE :{BLACK}Maks. spoed: {LTBLUE}{VELOCITY} {BLACK}Vliegtuig tipe: {LTBLUE}{STRING}
|
||||
STR_VEHICLE_INFO_MAX_SPEED_TYPE_RANGE :{BLACK}Maks. spoed: {LTBLUE}{VELOCITY} {BLACK}Vliegtuig tipe: {LTBLUE}{STRING} {BLACK}Afstand: {LTBLUE}{COMMA}teëls
|
||||
STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Gewig: {LTBLUE}{WEIGHT_SHORT} {BLACK}Krag: {LTBLUE}{POWER}{BLACK} Maks. spoed: {LTBLUE}{VELOCITY}
|
||||
STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Massa: {LTBLUE}{WEIGHT_SHORT} {BLACK}Krag: {LTBLUE}{POWER}{BLACK} Maks. spoed: {LTBLUE}{VELOCITY} {BLACK}Maks. T.E.: {LTBLUE}{FORCE}
|
||||
|
||||
@@ -3771,6 +3916,7 @@ STR_ORDER_CONDITIONAL_AGE :Ouderdom (jare)
|
||||
STR_ORDER_CONDITIONAL_REQUIRES_SERVICE :Benodig diens
|
||||
STR_ORDER_CONDITIONAL_UNCONDITIONALLY :Altyd
|
||||
STR_ORDER_CONDITIONAL_REMAINING_LIFETIME :Oorblywende leeftyd (jare)
|
||||
STR_ORDER_CONDITIONAL_MAX_RELIABILITY :Maksimum betroubaarheid
|
||||
|
||||
STR_ORDER_CONDITIONAL_COMPARATOR_TOOLTIP :{BLACK}Hoe om die voertuig data te vergelyk met die gegeewe waarde
|
||||
STR_ORDER_CONDITIONAL_COMPARATOR_EQUALS :is gelyk aan
|
||||
@@ -4001,6 +4147,14 @@ STR_AI_LIST_ACCEPT_TOOLTIP :{BLACK}Kies bel
|
||||
STR_AI_LIST_CANCEL :{BLACK}Kanseleer
|
||||
STR_AI_LIST_CANCEL_TOOLTIP :{BLACK}Moenie skrif verander nie
|
||||
|
||||
STR_SCREENSHOT_CAPTION :{WHITE}Neem 'n skermkiekie
|
||||
STR_SCREENSHOT_SCREENSHOT :{BLACK}Normale skermkiekie
|
||||
STR_SCREENSHOT_ZOOMIN_SCREENSHOT :{BLACK}Skermkiekie volledig ingezoom
|
||||
STR_SCREENSHOT_DEFAULTZOOM_SCREENSHOT :{BLACK}Verstek zoomkiekie
|
||||
STR_SCREENSHOT_WORLD_SCREENSHOT :{BLACK}Volledige kiekie van die kaart
|
||||
STR_SCREENSHOT_HEIGHTMAP_SCREENSHOT :{BLACK}Hoogtekaart-skermkiekie
|
||||
STR_SCREENSHOT_MINIMAP_SCREENSHOT :{BLACK}Minimap-skermkiekie
|
||||
|
||||
# AI Parameters
|
||||
STR_AI_SETTINGS_CAPTION :{WHITE}{STRING} Parameters
|
||||
STR_AI_SETTINGS_CAPTION_AI :AI
|
||||
@@ -4273,6 +4427,7 @@ STR_ERROR_NO_SUITABLE_RAILROAD_TRACK :{WHITE}Geen ges
|
||||
STR_ERROR_MUST_REMOVE_RAILROAD_TRACK :{WHITE}Moet eers spoor verwyder
|
||||
STR_ERROR_CROSSING_ON_ONEWAY_ROAD :{WHITE}Pad is een rigting of geblok
|
||||
STR_ERROR_CROSSING_DISALLOWED_RAIL :{WHITE}Vlak kruisings word nie toegelaat vir die spoor tipe nie
|
||||
STR_ERROR_CROSSING_DISALLOWED_ROAD :{WHITE}Vlakoorgange nie toegelaat vir hierdie padtipe nie
|
||||
STR_ERROR_CAN_T_BUILD_SIGNALS_HERE :{WHITE}Kan nie seinligte hier bou nie...
|
||||
STR_ERROR_CAN_T_BUILD_RAILROAD_TRACK :{WHITE}Kan nie spore hier bou nie...
|
||||
STR_ERROR_CAN_T_REMOVE_RAILROAD_TRACK :{WHITE}Kan nie spore hier verwyder nie...
|
||||
@@ -4292,6 +4447,11 @@ STR_ERROR_CAN_T_REMOVE_ROAD_FROM :{WHITE}Kan nie
|
||||
STR_ERROR_CAN_T_REMOVE_TRAMWAY_FROM :{WHITE}Kan nie tremweg van hier af verwyder nie...
|
||||
STR_ERROR_THERE_IS_NO_ROAD :{WHITE}... daar is geen pad nie
|
||||
STR_ERROR_THERE_IS_NO_TRAMWAY :{WHITE}... daar is geen tremweg nie
|
||||
STR_ERROR_CAN_T_CONVERT_ROAD :{WHITE}kan nie padtipe hier verander nie...
|
||||
STR_ERROR_CAN_T_CONVERT_TRAMWAY :{WHITE}Kan nie tremtipe hier omskakel nie ...
|
||||
STR_ERROR_NO_SUITABLE_ROAD :{WHITE}Geen geskikte pad
|
||||
STR_ERROR_NO_SUITABLE_TRAMWAY :{WHITE}Geen geskikte tremweg nie
|
||||
STR_ERROR_INCOMPATIBLE_TRAMWAY :{WHITE}... onversoenbare tremweg
|
||||
|
||||
# Waterway construction errors
|
||||
STR_ERROR_CAN_T_BUILD_CANALS :{WHITE}Kan nie kanaale hier bou nie...
|
||||
@@ -4344,6 +4504,7 @@ STR_ERROR_GROUP_CAN_T_CREATE :{WHITE}Kan nie
|
||||
STR_ERROR_GROUP_CAN_T_DELETE :{WHITE}Kan nie groep uitvee nie...
|
||||
STR_ERROR_GROUP_CAN_T_RENAME :{WHITE}Kan nie groep hernoem nie...
|
||||
STR_ERROR_GROUP_CAN_T_SET_PARENT :{WHITE}Kan nie die huidige groep instel nie
|
||||
STR_ERROR_GROUP_CAN_T_SET_PARENT_RECURSION :{WHITE}... lusse in die groephiërargie word nie toegelaat nie
|
||||
STR_ERROR_GROUP_CAN_T_REMOVE_ALL_VEHICLES :{WHITE}Kan nie alle voertuie van groep verwyder nie...
|
||||
STR_ERROR_GROUP_CAN_T_ADD_VEHICLE :{WHITE}Kan nie die voertuig tot hierdie groep voeg nie...
|
||||
STR_ERROR_GROUP_CAN_T_ADD_SHARED_VEHICLE :{WHITE}Kan nie gedeelde voertuie by groep voeg nie...
|
||||
@@ -4454,6 +4615,8 @@ STR_BASESOUNDS_DOS_DESCRIPTION :Oorspronklike T
|
||||
STR_BASESOUNDS_WIN_DESCRIPTION :Oorspronklike Transport Tycoon Deluxe Windows uitgawe klanke.
|
||||
STR_BASESOUNDS_NONE_DESCRIPTION :'n Klank stel sonder enige klanke.
|
||||
STR_BASEMUSIC_WIN_DESCRIPTION :Oorspronklike Transport Tycoon Deluxe Windows uitgawe musiek.
|
||||
STR_BASEMUSIC_DOS_DESCRIPTION :Oorspronklike Transport Tycoon Deluxe DOS-uitgawe musiek.
|
||||
STR_BASEMUSIC_TTO_DESCRIPTION :Oorspronklike Transport Tycoon (Original/World Editor) musiek van die DOS-uitgawe.
|
||||
STR_BASEMUSIC_NONE_DESCRIPTION :'n Musiek stel sonder enige musiek.
|
||||
|
||||
##id 0x2000
|
||||
|
||||
@@ -446,9 +446,6 @@ STR_ABOUT_MENU_SEPARATOR :
|
||||
STR_ABOUT_MENU_TOGGLE_CONSOLE :توقل كونسول
|
||||
STR_ABOUT_MENU_AI_DEBUG :مكتشف اخطاء الذكاء الصناعي
|
||||
STR_ABOUT_MENU_SCREENSHOT :صورة من الشاشة - Ctrl-S -
|
||||
STR_ABOUT_MENU_ZOOMIN_SCREENSHOT :صورة للشاشة مصغرة
|
||||
STR_ABOUT_MENU_DEFAULTZOOM_SCREENSHOT :تقريب الشاشة القياسي
|
||||
STR_ABOUT_MENU_GIANT_SCREENSHOT :صورة كبيرة لكامل الخريطة -Ctrl-G -
|
||||
STR_ABOUT_MENU_ABOUT_OPENTTD :حول 'OpenTTD'
|
||||
STR_ABOUT_MENU_SPRITE_ALIGNER :موائم العفريتات
|
||||
STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :اضهار /اخفاء مربح الحوارات/الخيارات
|
||||
@@ -617,9 +614,6 @@ STR_MUSIC_PLAYLIST_CUSTOM_1 :{TINY_FONT}{BLA
|
||||
STR_MUSIC_PLAYLIST_CUSTOM_2 :{TINY_FONT}{BLACK}معدل2
|
||||
STR_MUSIC_MUSIC_VOLUME :{TINY_FONT}{BLACK}مستوى الصوت
|
||||
STR_MUSIC_EFFECTS_VOLUME :{TINY_FONT}{BLACK}مؤثرات الصوت
|
||||
STR_MUSIC_RULER_MIN :{TINY_FONT}{BLACK}منخفض
|
||||
STR_MUSIC_RULER_MAX :{TINY_FONT}{BLACK}مرتفع
|
||||
STR_MUSIC_RULER_MARKER :{TINY_FONT}{BLACK}'
|
||||
STR_MUSIC_TRACK_NONE :{TINY_FONT}{DKGREEN}--
|
||||
STR_MUSIC_TRACK_DIGIT :{TINY_FONT}{DKGREEN}{ZEROFILL_NUM}
|
||||
STR_MUSIC_TITLE_NONE :{TINY_FONT}{DKGREEN}-----
|
||||
@@ -2312,7 +2306,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :ارض مملو
|
||||
STR_ABOUT_OPENTTD :{WHITE}حول النسخة المفتوحة
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}الحقوق الاصلية {COPYRIGHT} كريس سوير 1995 , جميع الحقوق محفوظة
|
||||
STR_ABOUT_VERSION :{BLACK}النسخة المفتوحة رقم {REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}النسخة المفتوحة {COPYRIGHT}2002-2019 فريق النسخة المفتوحة
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}النسخة المفتوحة {COPYRIGHT}2002-{STRING} فريق النسخة المفتوحة
|
||||
|
||||
# Framerate display window
|
||||
############ Leave those lines in this order!!
|
||||
@@ -3487,6 +3481,7 @@ STR_AI_LIST_ACCEPT_TOOLTIP :{BLACK} اخت
|
||||
STR_AI_LIST_CANCEL :{BLACK} الغاء
|
||||
STR_AI_LIST_CANCEL_TOOLTIP :{BLACK} لا تغير الذكاء الصناعي
|
||||
|
||||
|
||||
# AI Parameters
|
||||
STR_AI_SETTINGS_CLOSE :{BLACK} اغلاق
|
||||
STR_AI_SETTINGS_RESET :{BLACK} اعادة ضبط
|
||||
|
||||
@@ -187,6 +187,7 @@ STR_COLOUR_ORANGE :Laranja
|
||||
STR_COLOUR_BROWN :Marroia
|
||||
STR_COLOUR_GREY :Grisa
|
||||
STR_COLOUR_WHITE :Zuria
|
||||
STR_COLOUR_DEFAULT :Lehenetsia
|
||||
|
||||
# Units used in OpenTTD
|
||||
STR_UNITS_VELOCITY_IMPERIAL :{COMMA}{NBSP}mph
|
||||
@@ -252,6 +253,7 @@ STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP :{BLACK}Ezkutuak
|
||||
STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT :{BLACK}Ezkutuak erakutsi
|
||||
|
||||
STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN_TOOLTIP :{BLACK}Botoi hau gaituz, ezkutuak dauden trenak erakusten dira
|
||||
STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP_TOOLTIP :{BLACK}Botoi hau gaituz, ezkutuko itsasontziak ere erakusten dira
|
||||
|
||||
# Query window
|
||||
STR_BUTTON_DEFAULT :{BLACK}Lehenetsia
|
||||
@@ -464,9 +466,6 @@ STR_ABOUT_MENU_SEPARATOR :
|
||||
STR_ABOUT_MENU_TOGGLE_CONSOLE :Konsola aktibatu
|
||||
STR_ABOUT_MENU_AI_DEBUG :IA/Joko script-aren garbitzailea
|
||||
STR_ABOUT_MENU_SCREENSHOT :Pantailan dagoenaren argazkia hartu (Ctrl+S)
|
||||
STR_ABOUT_MENU_ZOOMIN_SCREENSHOT :Pantailan dagoenaren argazkia hartu zoom-a guztiz erabiliz
|
||||
STR_ABOUT_MENU_DEFAULTZOOM_SCREENSHOT :zoom lehenetsikoarekin pantaila-argazkia
|
||||
STR_ABOUT_MENU_GIANT_SCREENSHOT :Mapa osoaren argazkia hartu (Ctrl+G)
|
||||
STR_ABOUT_MENU_ABOUT_OPENTTD :'OpenTTD'-ri buruz
|
||||
STR_ABOUT_MENU_SPRITE_ALIGNER :"Sprit" lerrokatzailea
|
||||
STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Kaxen neurriak aldatu
|
||||
@@ -636,9 +635,6 @@ STR_MUSIC_PLAYLIST_CUSTOM_1 :{TINY_FONT}{BLA
|
||||
STR_MUSIC_PLAYLIST_CUSTOM_2 :{TINY_FONT}{BLACK}Pertsonalizatua 2
|
||||
STR_MUSIC_MUSIC_VOLUME :{TINY_FONT}{BLACK}Musikaren Bolumena
|
||||
STR_MUSIC_EFFECTS_VOLUME :{TINY_FONT}{BLACK}Efektuen Bolumena
|
||||
STR_MUSIC_RULER_MIN :{TINY_FONT}{BLACK}MIN
|
||||
STR_MUSIC_RULER_MAX :{TINY_FONT}{BLACK}MAX
|
||||
STR_MUSIC_RULER_MARKER :{TINY_FONT}{BLACK}'
|
||||
STR_MUSIC_TRACK_NONE :{TINY_FONT}{DKGREEN}--
|
||||
STR_MUSIC_TRACK_DIGIT :{TINY_FONT}{DKGREEN}{ZEROFILL_NUM}
|
||||
STR_MUSIC_TITLE_NONE :{TINY_FONT}{DKGREEN}------
|
||||
@@ -966,6 +962,7 @@ STR_GAME_OPTIONS_RESOLUTION :{BLACK}Pantaila
|
||||
STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}Pantailaren resulozioa aukeratu
|
||||
STR_GAME_OPTIONS_RESOLUTION_OTHER :besteak
|
||||
|
||||
STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Interfaze tamaina
|
||||
|
||||
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Normala
|
||||
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Tamaina doblea
|
||||
@@ -1097,6 +1094,7 @@ STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_DEFAULT :Ezarpenak lehen
|
||||
STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_NEW :Balio ezberdinak dituzten ezarpenak zure joko berriaren ezarpenekin alderatuta
|
||||
|
||||
STR_CONFIG_SETTING_TYPE_DROPDOWN_CLIENT :Bezero ezarpenak (ez dira partidatan gordetzen; joko guztiei eragiten die)
|
||||
STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_MENU :Jokoaren ezarpenak (gordetako partidetan bilduta; bakarrik partida berriei eragiten die)
|
||||
STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_INGAME :Enpresa ezarpenak (partidan gordeta; bakarrik uneko enpresari eragiten dio)
|
||||
STR_CONFIG_SETTINGS_NONE :{WHITE}- Ezer ez -
|
||||
|
||||
@@ -1276,6 +1274,7 @@ STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :Zakarra
|
||||
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :Oso Zakarra
|
||||
STR_CONFIG_SETTING_VARIETY :Barietateen distribuzioa: {STRING}
|
||||
STR_CONFIG_SETTING_RIVER_AMOUNT :Ibai kantitatea: {STRING}
|
||||
STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT :Aukeratu zenbat ibai sortuko diren
|
||||
STR_CONFIG_SETTING_TREE_PLACER :Zuhaitz kokatzeko algoritmoa: {STRING}
|
||||
STR_CONFIG_SETTING_TREE_PLACER_NONE :Ezer ez
|
||||
STR_CONFIG_SETTING_TREE_PLACER_ORIGINAL :Jatorrizkoa
|
||||
@@ -1452,6 +1451,7 @@ STR_CONFIG_SETTING_NEWS_MESSAGES_FULL :Betea
|
||||
STR_CONFIG_SETTING_COLOURED_NEWS_YEAR :Kolorezko albisteak {STRING}. urtean agertzen dira
|
||||
STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT :Egunkarien mezuak kolorean imprimatuko diren urtea. Urte hau baino lehenago txuri/beltz monokromoa erabiliko da
|
||||
STR_CONFIG_SETTING_STARTING_YEAR :Hasierako urtea: {STRING}
|
||||
STR_CONFIG_SETTING_ENDING_YEAR_VALUE :{NUM}
|
||||
STR_CONFIG_SETTING_SMOOTH_ECONOMY :Gaitu ekonomia leuna (aldaketa gehiago baina txikiagoak): {STRING}
|
||||
STR_CONFIG_SETTING_SMOOTH_ECONOMY_HELPTEXT :Gaitua dagoenean, industrien ekoizpena gehiagotan aldatuko da baina urrats txikiagotan. Aukera honek gehienetan ez du eraginik izango industriak NewGRF batek ezartzen baditu
|
||||
STR_CONFIG_SETTING_ALLOW_SHARES :Beste konpainien akzioak erostea baimendu: {STRING}
|
||||
@@ -1557,6 +1557,7 @@ STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_METRIC :Metrikoa (zp)
|
||||
STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_SI :SI (kW)
|
||||
|
||||
STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT :Pisu unitateak: {STRING}
|
||||
STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_HELPTEXT :Pisu bat erabiltzaile interfazean erakusten denean, aukeratutako unitateetan erakutsi
|
||||
STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_IMPERIAL :Imperial (ton/tona)
|
||||
STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_METRIC :Metrikoa (t/tona)
|
||||
STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_SI :SI (kg)
|
||||
@@ -1582,6 +1583,7 @@ STR_CONFIG_SETTING_INTERFACE :{ORANGE}Interfa
|
||||
STR_CONFIG_SETTING_INTERFACE_GENERAL :{ORANGE}Orokorra
|
||||
STR_CONFIG_SETTING_INTERFACE_VIEWPORTS :{ORANGE}Leihoak
|
||||
STR_CONFIG_SETTING_INTERFACE_CONSTRUCTION :{ORANGE}Eraikuntza
|
||||
STR_CONFIG_SETTING_ADVISORS :{ORANGE}Albisteak / Aholkulariak
|
||||
STR_CONFIG_SETTING_COMPANY :{ORANGE}Konpainia
|
||||
STR_CONFIG_SETTING_VEHICLES :{ORANGE}Ibilgailuak
|
||||
STR_CONFIG_SETTING_VEHICLES_PHYSICS :{ORANGE}Fisika
|
||||
@@ -2259,7 +2261,7 @@ STR_BUILD_SIGNAL_ELECTRIC_PBS_TOOLTIP :{BLACK}Bide sei
|
||||
STR_BUILD_SIGNAL_ELECTRIC_PBS_OWAY_TOOLTIP :{BLACK}Norabide bakarreko bide seinalea (elektrikoa){}Norabide bakarreko bide seinalea bloke berdinean tren bat baino gehiago egotea ahalbidetzen du, trenak gelditzeko tokia aurkitu badezake. Ezin dira atzekaldetik pasa
|
||||
STR_BUILD_SIGNAL_CONVERT_TOOLTIP :{BLACK}Seinaleak aldatu{}Aukeratua dagoenean, aukeratutako seinalea aldatuko da hautatutako seinale motagatik. Krtl+Klik mota aldatuko du, Shift+Klik gutxi gora beherako kostea erakutsiko du
|
||||
STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_TOOLTIP :{BLACK}Arrastratzerakoan seinale dentsitatea
|
||||
STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_DECREASE_TOOLTIP :{BLACK}Seinale dentsitatea jeitsi
|
||||
STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_DECREASE_TOOLTIP :{BLACK}Seinale distantzia jaitsi
|
||||
STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_INCREASE_TOOLTIP :{BLACK}Seinale dentsitatea igo
|
||||
|
||||
# Bridge selection window
|
||||
@@ -2581,14 +2583,18 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Konpainia jabe
|
||||
STR_ABOUT_OPENTTD :{WHITE}OpenTTD-ri buruz
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Original copyright {COPYRIGHT} 1995 Chris Sawyer, All rights reserved
|
||||
STR_ABOUT_VERSION :{BLACK}OpenTTD bertsioa {REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2019 The OpenTTD team
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-{STRING} The OpenTTD team
|
||||
|
||||
# Framerate display window
|
||||
STR_FRAMERATE_FPS_BAD :{RED}{DECIMAL} koadroak/s
|
||||
STR_FRAMERATE_GRAPH_MILLISECONDS :{TINY_FONT}{COMMA} ms
|
||||
############ Leave those lines in this order!!
|
||||
STR_FRAMERATE_GL_ECONOMY :{BLACK} Zama kudeaketa:
|
||||
STR_FRAMERATE_GL_TRAINS :{WHITE} Trenen tick-ak:
|
||||
STR_FRAMERATE_GL_SHIPS :{WHITE} Itsasontzien tick-ak:
|
||||
############ End of leave-in-this-order
|
||||
############ Leave those lines in this order!!
|
||||
STR_FRAMETIME_CAPTION_GAMESCRIPT :Jokoaren scripta
|
||||
############ End of leave-in-this-order
|
||||
|
||||
|
||||
@@ -2653,6 +2659,7 @@ STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}Garaiera
|
||||
STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}Tamaina:
|
||||
STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} x {NUM}
|
||||
|
||||
STR_MAPGEN_MAX_HEIGHTLEVEL_QUERY_CAPT :{WHITE}Aldatu maparen garaiera maximoa
|
||||
STR_MAPGEN_SNOW_LINE_QUERY_CAPT :{WHITE}Elur garaiera aldatu
|
||||
STR_MAPGEN_START_DATE_QUERY_CAPT :{WHITE}Hasierako urtea aldatu
|
||||
|
||||
@@ -2724,6 +2731,7 @@ STR_NEWGRF_SETTINGS_VERSION :{BLACK}Bertsioa
|
||||
STR_NEWGRF_SETTINGS_MIN_VERSION :{BLACK}Gutxienezko bertsio bateragarria: {SILVER}{NUM}
|
||||
STR_NEWGRF_SETTINGS_MD5SUM :{BLACK}MD5sum: {SILVER}{STRING}
|
||||
STR_NEWGRF_SETTINGS_PALETTE :{BLACK}Paleta: {SILVER}{STRING}
|
||||
STR_NEWGRF_SETTINGS_PALETTE_DEFAULT_32BPP :Aurrezarria (D) / 32 bpp
|
||||
STR_NEWGRF_SETTINGS_PARAMETER :{BLACK}Parametroak: {SILVER}{STRING}
|
||||
|
||||
STR_NEWGRF_SETTINGS_NO_INFO :{BLACK}Ez dago informaziorik
|
||||
@@ -3434,6 +3442,7 @@ STR_REPLACE_ELRAIL_VEHICLES :Tren ibilgailu
|
||||
STR_REPLACE_MONORAIL_VEHICLES :Monorail trenak
|
||||
STR_REPLACE_MAGLEV_VEHICLES :Tren magnetikoak
|
||||
|
||||
STR_REPLACE_TRAM_VEHICLES :Tranbia ibilgailuak
|
||||
|
||||
STR_REPLACE_REMOVE_WAGON :{BLACK}Bagoiak ezabatu: {ORANGE}{STRING}
|
||||
STR_REPLACE_REMOVE_WAGON_HELP :{BLACK}Ordezkatze automatikoari agindu trenaren luzera errespetatzea, bagoiak ezabatuz luzera handitzen badute (trenaren hasierako bagoietik hasita)
|
||||
@@ -3876,6 +3885,7 @@ STR_AI_LIST_ACCEPT_TOOLTIP :{BLACK}Piztutak
|
||||
STR_AI_LIST_CANCEL :{BLACK}Ezeztatu
|
||||
STR_AI_LIST_CANCEL_TOOLTIP :{BLACK}Ez aldatu script-a
|
||||
|
||||
|
||||
# AI Parameters
|
||||
STR_AI_SETTINGS_CAPTION :{WHITE}{STRING} Parametroak
|
||||
STR_AI_SETTINGS_CAPTION_AI :IA
|
||||
|
||||
@@ -500,6 +500,7 @@ STR_COLOUR_ORANGE :Памаран
|
||||
STR_COLOUR_BROWN :Карычневы
|
||||
STR_COLOUR_GREY :Шэры
|
||||
STR_COLOUR_WHITE :Белы
|
||||
STR_COLOUR_RANDOM :Выпадковы
|
||||
|
||||
# Units used in OpenTTD
|
||||
STR_UNITS_VELOCITY_IMPERIAL :{COMMA}{NBSP}мiл{P я i яў}/г
|
||||
@@ -546,6 +547,7 @@ STR_TOOLTIP_FILTER_CRITERIA :{BLACK}Выбе
|
||||
STR_BUTTON_SORT_BY :{BLACK}Сартаваньне
|
||||
STR_BUTTON_LOCATION :{BLACK}Агляд
|
||||
STR_BUTTON_RENAME :{BLACK}Перайменаваць
|
||||
STR_BUTTON_CATCHMENT :{BLACK}Ахоп
|
||||
|
||||
STR_TOOLTIP_CLOSE_WINDOW :{BLACK}Закрыць вакно
|
||||
STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS :{BLACK}Загаловак вакна — цягніце яго для перамяшчэньня вакна
|
||||
@@ -574,6 +576,7 @@ STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT_TOOLTIP :{BLACK}Калі
|
||||
STR_BUTTON_DEFAULT :{BLACK}Па змоўчаньнi
|
||||
STR_BUTTON_CANCEL :{BLACK}Скасаваць
|
||||
STR_BUTTON_OK :{BLACK}OK
|
||||
STR_WARNING_PASSWORD_SECURITY :{YELLOW}Увага: адміністратары сервера могуць убачыць ваш пароль.
|
||||
|
||||
# On screen keyboard window
|
||||
STR_OSK_KEYBOARD_LAYOUT :`1234567890-=\qwertyuiop[]asdfghjkl;' zxcvbnm,./ .
|
||||
@@ -667,6 +670,7 @@ STR_SCENEDIT_TOOLBAR_LANDSCAPE_GENERATION :{BLACK}Ґенэ
|
||||
STR_SCENEDIT_TOOLBAR_TOWN_GENERATION :{BLACK}Ґенэрацыя гарадоў
|
||||
STR_SCENEDIT_TOOLBAR_INDUSTRY_GENERATION :{BLACK}Ґенэрацыя прамысловасьці
|
||||
STR_SCENEDIT_TOOLBAR_ROAD_CONSTRUCTION :{BLACK}Будаўніцтва аўтамабільных дарог
|
||||
STR_SCENEDIT_TOOLBAR_TRAM_CONSTRUCTION :{BLACK}Будаўніцтва трамвайных шляхоў
|
||||
STR_SCENEDIT_TOOLBAR_PLANT_TREES :{BLACK}Пасадзіць дрэвы. Пры націснутым Shift — ацэнка кошту высадкі.
|
||||
STR_SCENEDIT_TOOLBAR_PLACE_SIGN :{BLACK}Паставіць метку
|
||||
STR_SCENEDIT_TOOLBAR_PLACE_OBJECT :{BLACK}Разьмясьціць аб'ект. Пры націснутым Shift — ацэнка кошту будаўніцтва.
|
||||
@@ -775,6 +779,7 @@ STR_TOOLBAR_SOUND_MUSIC :Гукі/муз
|
||||
############ range for message menu starts
|
||||
STR_NEWS_MENU_LAST_MESSAGE_NEWS_REPORT :Апошняе паведамленьне
|
||||
STR_NEWS_MENU_MESSAGE_HISTORY_MENU :Гісторыя паведамленьняў
|
||||
STR_NEWS_MENU_DELETE_ALL_MESSAGES :Выдаліць усе паведамленьні
|
||||
############ range ends here
|
||||
|
||||
############ range for about menu starts
|
||||
@@ -783,9 +788,7 @@ STR_ABOUT_MENU_SEPARATOR :
|
||||
STR_ABOUT_MENU_TOGGLE_CONSOLE :Кансоль
|
||||
STR_ABOUT_MENU_AI_DEBUG :Наладка штучнага інтэлекту (ШІ/AI) / скрыптоў
|
||||
STR_ABOUT_MENU_SCREENSHOT :Здымак экрана (Ctrl+S)
|
||||
STR_ABOUT_MENU_ZOOMIN_SCREENSHOT :Здымак экрана ў макс. набліжэньні
|
||||
STR_ABOUT_MENU_DEFAULTZOOM_SCREENSHOT :Павялiчаны здымак экрана па змоўчаньнi
|
||||
STR_ABOUT_MENU_GIANT_SCREENSHOT :Здымак усёй мапы (Ctrl+G)
|
||||
STR_ABOUT_MENU_SHOW_FRAMERATE :Паказаць чашчыню кадраў
|
||||
STR_ABOUT_MENU_ABOUT_OPENTTD :Аб гульні OpenTTD
|
||||
STR_ABOUT_MENU_SPRITE_ALIGNER :Выраўноўваньне спрайтаў
|
||||
STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Пераключыць абмежавальныя рамкі
|
||||
@@ -955,9 +958,6 @@ STR_MUSIC_PLAYLIST_CUSTOM_1 :{TINY_FONT}{BLA
|
||||
STR_MUSIC_PLAYLIST_CUSTOM_2 :{TINY_FONT}{BLACK}Уласны 2
|
||||
STR_MUSIC_MUSIC_VOLUME :{TINY_FONT}{BLACK}Гучнасьць музыкі
|
||||
STR_MUSIC_EFFECTS_VOLUME :{TINY_FONT}{BLACK}Гучнасьць эфэктаў
|
||||
STR_MUSIC_RULER_MIN :{TINY_FONT}{BLACK}МІН
|
||||
STR_MUSIC_RULER_MAX :{TINY_FONT}{BLACK}МАКС
|
||||
STR_MUSIC_RULER_MARKER :{TINY_FONT}{BLACK}'
|
||||
STR_MUSIC_TRACK_NONE :{TINY_FONT}{DKGREEN}--
|
||||
STR_MUSIC_TRACK_DIGIT :{TINY_FONT}{DKGREEN}{ZEROFILL_NUM}
|
||||
STR_MUSIC_TITLE_NONE :{TINY_FONT}{DKGREEN}------
|
||||
@@ -1125,6 +1125,7 @@ STR_NEWS_MERGER_TAKEOVER_TITLE :{BIG_FONT}{BLAC
|
||||
STR_PRESIDENT_NAME_MANAGER :{BLACK}{PRESIDENT_NAME}{}(Дырэктар)
|
||||
|
||||
STR_NEWS_NEW_TOWN :{BLACK}{BIG_FONT}Кампанія «{STRING}» сталася фундатарам новага горада {TOWN}!
|
||||
STR_NEWS_NEW_TOWN_UNSPONSORED :{BLACK}{BIG_FONT}Заснаваны новы горад - {TOWN}!
|
||||
|
||||
STR_NEWS_INDUSTRY_CONSTRUCTION :{BIG_FONT}{BLACK}Новае прадпрыемства! {STRING} буду{G 0 е е е ю}цца каля г. {NBSP}{TOWN}!
|
||||
STR_NEWS_INDUSTRY_PLANTED :{BIG_FONT}{BLACK}Новае прадпрыемства! {STRING} закладзен{G 0 ы а а ыя} каля г. {NBSP}{TOWN}!
|
||||
@@ -1173,6 +1174,7 @@ STR_NEWS_NEW_VEHICLE_NOW_AVAILABLE :{BIG_FONT}{BLAC
|
||||
STR_NEWS_NEW_VEHICLE_TYPE :{BIG_FONT}{BLACK}{ENGINE}
|
||||
STR_NEWS_NEW_VEHICLE_NOW_AVAILABLE_WITH_TYPE :{BLACK}З'явіўся новы {STRING}! — {ENGINE}
|
||||
|
||||
STR_NEWS_SHOW_VEHICLE_GROUP_TOOLTIP :{BLACK}Адчыніць акно групаў транспарта і абраць групу, да якой прыналежыць гэты транспартны сродак
|
||||
|
||||
STR_NEWS_STATION_NO_LONGER_ACCEPTS_CARGO :{WHITE}{STATION} больш не прымае {STRING.acc}
|
||||
STR_NEWS_STATION_NO_LONGER_ACCEPTS_CARGO_OR_CARGO :{WHITE}{STATION} больш не прымае {STRING.acc} ды {STRING.acc}
|
||||
@@ -1238,6 +1240,10 @@ STR_GAME_OPTIONS_CURRENCY_ZAR :Паўднёв
|
||||
STR_GAME_OPTIONS_CURRENCY_CUSTOM :Уласная...
|
||||
STR_GAME_OPTIONS_CURRENCY_GEL :Грузінскі лары (GEL)
|
||||
STR_GAME_OPTIONS_CURRENCY_IRR :Іранскі рыал (IRR)
|
||||
STR_GAME_OPTIONS_CURRENCY_MXN :Мексіканскі песа (MXN)
|
||||
STR_GAME_OPTIONS_CURRENCY_NTD :Новы тайваньскі даляр (NTD)
|
||||
STR_GAME_OPTIONS_CURRENCY_CNY :Кітайскі юань (CNY)
|
||||
STR_GAME_OPTIONS_CURRENCY_HKD :Ганконскі даляр (HKD)
|
||||
############ end of currency region
|
||||
|
||||
STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}Дарожны рух
|
||||
@@ -1300,7 +1306,10 @@ STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Звычайн
|
||||
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Падвоены
|
||||
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Пачацвяроны
|
||||
|
||||
STR_GAME_OPTIONS_FONT_ZOOM :{BLACK}Памер шрыфта
|
||||
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Абярыце памер шрыфта, выкарыстоўванага ў гульні
|
||||
|
||||
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Звычайны
|
||||
|
||||
STR_GAME_OPTIONS_BASE_GRF :{BLACK}Набор базавай ґрафікі
|
||||
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Выбар базавага набору ґрафічных аб'ектаў
|
||||
@@ -1484,6 +1493,7 @@ STR_CONFIG_SETTING_AUTOSLOPE :Дазволі
|
||||
STR_CONFIG_SETTING_AUTOSLOPE_HELPTEXT :Дазволіць зьмену ляндшафту пад будынкамі й рэйкамi, не выдаляючы іx
|
||||
STR_CONFIG_SETTING_CATCHMENT :Зона пакрыцьця залежыць ад тыпу станцыі: {STRING}
|
||||
STR_CONFIG_SETTING_CATCHMENT_HELPTEXT :Мець розныя памеры тэрыторыі, на якіх розныя тыпы станцыяў ды аэрапортаў зьбіраюць пасажыраў і грузы.
|
||||
STR_CONFIG_SETTING_SERVE_NEUTRAL_INDUSTRIES_HELPTEXT :Пры ўключэнні - прадпрыемствы, якія маюць уласныя станцыі пагрузкі (напрыклад, нафтавыя платформы), змогуць абслугоўвацца таксама і станцыямі гульцоў, пабудаванымі паблізу.{}Пры адключэнні - прадпрыемствы будуць рабіць пагрузку толькі праз свае ўнутраныя станцыі, і гэтыя станцыі будуць абслугоўваць толькі сваё прадпрыемства.
|
||||
STR_CONFIG_SETTING_EXTRADYNAMITE :Дазволіць знос амаль усіх гарадзкіх аб'ектаў: {STRING}
|
||||
STR_CONFIG_SETTING_EXTRADYNAMITE_HELPTEXT :Спрасьціць знос гарадзкіх будынкаў ды інфраструктуры
|
||||
STR_CONFIG_SETTING_TRAIN_LENGTH :Максымальная даўжыня цягнiкоў: {STRING}
|
||||
@@ -1500,8 +1510,8 @@ STR_CONFIG_SETTING_TRAIN_SLOPE_STEEPNESS_HELPTEXT :Крутась
|
||||
STR_CONFIG_SETTING_PERCENTAGE :{COMMA}%
|
||||
STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS :Крутасьць сьхiлаў для аўтатранспарту: {STRING}
|
||||
STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS_HELPTEXT :Крутасьць ухілаў для аўтатранспарту. Вышэйшыя значэньні ўскладняюць пад'ём на узгорак
|
||||
STR_CONFIG_SETTING_FORBID_90_DEG :Забараніць цягнікам і караблям 90-ґрадусныя павароты: {STRING}
|
||||
STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :90-ґрадусныя павароты здараюцца, калі за гарызантальнымі рэйкамі адразу вынікаюць вэртыкальныя на суседняй клетцы. Цягнік вымушаны паварочваць на 90 ґрадусаў пры перасячэньні клетак замест звычайных 45 ґрадусаў пры іншай камбінацыі каляінаў. Гэта таксама датычыць радыюса паваротаў для караблёў.
|
||||
STR_CONFIG_SETTING_FORBID_90_DEG :Забараніць цягнікам 90-ґрадусныя павароты: {STRING}
|
||||
STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT :90-ґрадусныя павароты здараюцца, калі за гарызантальнымі рэйкамі адразу вынікаюць вэртыкальныя на суседняй клетцы. Цягнік вымушаны паварочваць на 90 ґрадусаў пры перасячэньні клетак замест звычайных 45 ґрадусаў пры іншай камбінацыі каляінаў.
|
||||
STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :Дазволіць аб'яднаньне станцыяў, не прымыкаючых адна да адной: {STRING}
|
||||
STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT :Дазволіць дадаць частку станцыі, якая непасрэдна не прылягае да існуючых частак. Патрабуе Ctrl+пстрычку пры разьмяшчэньні новых частак.
|
||||
STR_CONFIG_SETTING_INFLATION :Уключыць інфляцыю: {STRING}
|
||||
@@ -1557,8 +1567,8 @@ STR_CONFIG_SETTING_PLANE_SPEED :Множнiк
|
||||
STR_CONFIG_SETTING_PLANE_SPEED_HELPTEXT :Усталяваць адносную хуткасьць самалётаў у параўнаньні зь іншымі транспартнымі сродкамі, каб зьменшыць даходы ад авіяперавозак.
|
||||
STR_CONFIG_SETTING_PLANE_SPEED_VALUE :1 / {COMMA}
|
||||
STR_CONFIG_SETTING_PLANE_CRASHES :Верагоднасьць авіякатастрофаў: {STRING}
|
||||
STR_CONFIG_SETTING_PLANE_CRASHES_HELPTEXT :Усталяваць, зь якой верагоднасьцю можа здарыцца крушэньне паветранага судна.
|
||||
STR_CONFIG_SETTING_PLANE_CRASHES_NONE :адсутнічае
|
||||
STR_CONFIG_SETTING_PLANE_CRASHES_HELPTEXT :Наладка верагоднасьці падзеньня самалёта.{}* У буйных самалётаў заўсёды ёсць рызыка крушэньня пры пасадцы ў маленькіх аэрапортах.
|
||||
STR_CONFIG_SETTING_PLANE_CRASHES_NONE :адсутнічае*
|
||||
STR_CONFIG_SETTING_PLANE_CRASHES_REDUCED :зьніжаная
|
||||
STR_CONFIG_SETTING_PLANE_CRASHES_NORMAL :звычайная
|
||||
STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :Дазволіць будаўніцтва прыпынкаў Ro-Ro на дарогах гарадзкой уласнасьці: {STRING}
|
||||
@@ -1569,6 +1579,7 @@ STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}Зьме
|
||||
STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :Утрыманьне iнфраструктуры: {STRING}
|
||||
STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :Калі ўключана, інфраструктура патрабуе выдаткаў на ўтрыманьне. Кошт расьце прапарцыянальна памерам сеткі, таму гэта больш датычыць вялікіх кампаніяў, ніж малых.
|
||||
|
||||
STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR :Фірмовы колер кампаніі: {STRING}
|
||||
|
||||
STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS :Малыя аэрапорты ніколі не састарэюць: {STRING}
|
||||
STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS_HELPTEXT :Уключэньне гэтай наладкі робіць усе віды аэрапортаў даступнымі назаўжды.
|
||||
@@ -1603,6 +1614,7 @@ STR_CONFIG_SETTING_POPULATION_IN_LABEL :Паказва
|
||||
STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :Паказваць у надпісах на мапе колькасьць жыхароў населеных пунктаў адразу пасьля іх назвы.
|
||||
STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Таўшчыня лiнiяў у ґрафiках: {STRING}
|
||||
STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Таўшчыня лініяў ґрафікаў. Тонкая лінія дакладней, тоўстую лягчэй убачыць і адрозьніць колер.
|
||||
STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :Паказваць назву модуля NewGRF, што змяшчае абраную мадэль транспартнага сродку, у акне куплі транспарта.
|
||||
|
||||
STR_CONFIG_SETTING_LANDSCAPE :Тып карты: {STRING}
|
||||
STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :Выбар тыпу мапы вызначае аснову гульнёвага працэсу, напрыклад, даступныя тыпы транспарта і грузаў, розныя ўмовы росту гарадоў. Усё гэта таксама можа быць зменена з дапамогай модуляў NewGRF і гульнёвых скрыптоў.
|
||||
@@ -1614,8 +1626,8 @@ STR_CONFIG_SETTING_TERRAIN_TYPE :Тып ланд
|
||||
STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :(Толькі для TerraGenesis){}Узгоркаватасць ландшафту
|
||||
STR_CONFIG_SETTING_INDUSTRY_DENSITY :Колькасць прадпрыемстваў: {STRING}
|
||||
STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :Выберыце, колькі прадпрыемстваў ствараць напачатку і на якім узроўні падтрымліваць іх колькасць падчас гульні.
|
||||
STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Макс. адлегласьць ад краю мапы да нафтаперапрацоўчых заводаў: {STRING}
|
||||
STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Нафтаперапрацоўчыя заводы будуюцца толькі каля краю мапы, у тым ліку на востраве.
|
||||
STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Макс. адлегласьць ад краю мапы да прадпрыемстваў нафтавае індустрыі: {STRING}
|
||||
STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Гэта наладка абмяжоўвае адлегласьць ад краю мапы да нафтавых платформаў і нафтаперапрацоўчых заводаў. Такім чынам, на краях мапы, якія сканчаюцца вадою, яны будуць будавацца ля берага. На мапах памерам больш 256 гэта значэньне будзе адпаведна павялічана.
|
||||
STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Вышыня сьнегавой лініі: {STRING}
|
||||
STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Азначце, на якой вышыні ў субарктычным клімаце ўсталёўваецца снегавы полаг. Наяўнасьць снега ўплывае на расстаноўку прадпрыемстваў і на ўмовы росту гарадоў.
|
||||
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Нароўнасьць ляндшафту: {STRING}
|
||||
@@ -1779,6 +1791,8 @@ STR_CONFIG_SETTING_AI_IN_MULTIPLAYER :Дазволі
|
||||
STR_CONFIG_SETTING_AI_IN_MULTIPLAYER_HELPTEXT :Дазволіць кампутарным гульцам (штучнаму інтэлекту) браць удзел у сеткавых гульнях.
|
||||
STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES :Колькасьць апэрацыяў перад спыненьнем скрыптоў: {STRING}
|
||||
STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES_HELPTEXT :Максымальная колькасьць вылічэньняў, якія скрыпт можа выканаць за раз.
|
||||
STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY :Макс. аб'ём памяці для скрыпту: {STRING}
|
||||
STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_VALUE :{COMMA} МіБ
|
||||
|
||||
STR_CONFIG_SETTING_SERVINT_ISPERCENT :Інтэрвал абслугоўваньня ў адсотках (%): {STRING}
|
||||
STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Выбраць, ці залежыць абслугоўваньне транспарту ад даты апошняга абслугоўваньня або ад падзеньня надзейнасьці на пэўны адсотак ад максымальнай.
|
||||
@@ -1837,10 +1851,14 @@ STR_CONFIG_SETTING_NEWS_MESSAGES_FULL :Цалкам
|
||||
STR_CONFIG_SETTING_COLOURED_NEWS_YEAR :Каляровыя ґазэты з'яўляюцца ў {STRING} годзе
|
||||
STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT :Год, у якім ґазэты пачынаюць друкавацца каляровымі. Да гэтага году — выходзяць чорна-белымі.
|
||||
STR_CONFIG_SETTING_STARTING_YEAR :Год пачатку гульні: {STRING}
|
||||
STR_CONFIG_SETTING_ENDING_YEAR_VALUE :{NUM}
|
||||
STR_CONFIG_SETTING_ENDING_YEAR_ZERO :Ніколі
|
||||
STR_CONFIG_SETTING_SMOOTH_ECONOMY :Уключыць лагодную эканоміку (больш дробных зьменаў): {STRING}
|
||||
STR_CONFIG_SETTING_SMOOTH_ECONOMY_HELPTEXT :Калі ўключана, вытворчасьць прадпрыемстваў зьмяняецца часьцей ды малымі крокамі. Гэтая наладка звычайна не дае эфэкту, калі тыпы прадпрыемстваў вызначае набор новай ґрафікі (NewGRF).
|
||||
STR_CONFIG_SETTING_ALLOW_SHARES :Дазволіць купляць акцыі іншых кампаніяў: {STRING}
|
||||
STR_CONFIG_SETTING_ALLOW_SHARES_HELPTEXT :Калі ўключана, дазваляецца купляць і прадаваць долі ў кампаніях. Акцыі даступны для кампаніяў, якія дасягнулі пэўнага ўзросту.
|
||||
STR_CONFIG_SETTING_MIN_YEARS_FOR_SHARES :Мін. узрост кампаніі для выпуску акцыяў: {STRING}
|
||||
STR_CONFIG_SETTING_MIN_YEARS_FOR_SHARES_HELPTEXT :Мінімальны ўзрост, якога павінна дасягнуць кампанія для пачатку выпуску акцыяў, якімі змогуць гандляваць іншыя гульцы.
|
||||
STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE :Адсотак даходу, якi налiчваецца пры частковай перавозцы: {STRING}
|
||||
STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE_HELPTEXT :Адсотак даходу, які налічваецца на прамежкавых адцінках у вялікіх сетках, даючы большы кантроль над даходамі.
|
||||
STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY :Пры цягненьнi з Ctrl расстаўляць сыґналы кожныя: {STRING}
|
||||
@@ -1881,6 +1899,10 @@ STR_CONFIG_SETTING_TOWN_FOUNDING_HELPTEXT :Уключэн
|
||||
STR_CONFIG_SETTING_TOWN_FOUNDING_FORBIDDEN :забаронена
|
||||
STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED :дазволена
|
||||
STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED_CUSTOM_LAYOUT :дазволена з выбарам дарожнай сеткі
|
||||
STR_CONFIG_SETTING_TOWN_CARGOGENMODE :Колькасць грузаў і пасажыраў у гарадах: {STRING}
|
||||
STR_CONFIG_SETTING_TOWN_CARGOGENMODE_HELPTEXT :Залежнасць колькасці грузаў і пасажыраў ад памеру горада.{}Лінейная: у горадзе двухразовага памеру з'яўляецца ў 2 разу больш пасажыраў.{}Квадратычная: у горадзе двухразовага памеру з'яўляецца ў 4 разу больш пасажыраў.
|
||||
STR_CONFIG_SETTING_TOWN_CARGOGENMODE_ORIGINAL :квадратычная залежнасьць (арыґінальная)
|
||||
STR_CONFIG_SETTING_TOWN_CARGOGENMODE_BITCOUNT :лінейная залежнасць
|
||||
|
||||
STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT :Расстаноўка дрэваў у гульні: {STRING}
|
||||
STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_HELPTEXT :Кантроль адвольнага з'яўленьня дрэваў падчас гульні. Гэта можа закрануць прадпрыемствы, якія залежаць ад росту дрэваў, напрыклад, пільні.
|
||||
@@ -2122,6 +2144,7 @@ STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}Зьмя
|
||||
STR_CHEAT_SETUP_PROD :{LTBLUE}Дазволіць зьмяненьне прадукцыйнасьці: {ORANGE}{STRING}
|
||||
|
||||
# Livery window
|
||||
STR_LIVERY_CAPTION :{WHITE}Колеры кампаніі «{COMPANY}»
|
||||
|
||||
STR_LIVERY_GENERAL_TOOLTIP :{BLACK}Паказаць асноўныя каляровыя схэмы
|
||||
STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Паказаць каляровыя схэмы цягнікоў
|
||||
@@ -2381,6 +2404,7 @@ STR_NETWORK_CONNECTION_DISCONNECT :{BLACK}Адлу
|
||||
|
||||
STR_NETWORK_NEED_GAME_PASSWORD_CAPTION :{WHITE}Сэрвэр абаронены. Увядзіце пароль
|
||||
STR_NETWORK_NEED_COMPANY_PASSWORD_CAPTION :{WHITE}Кампанія абароненая. Увядзіце пароль
|
||||
STR_NETWORK_COMPANY_LIST_CLIENT_LIST_CAPTION :{WHITE}Сьпіс кліентаў
|
||||
|
||||
# Network company list added strings
|
||||
STR_NETWORK_COMPANY_LIST_CLIENT_LIST :Сьпіс кліентаў
|
||||
@@ -2429,7 +2453,7 @@ STR_NETWORK_CHAT_ALL :[Усім] {STR
|
||||
STR_NETWORK_CHAT_OSKTITLE :{BLACK}Увядзіце тэкст для каманднага чату
|
||||
|
||||
# Network messages
|
||||
STR_NETWORK_ERROR_NOTAVAILABLE :{WHITE}Ня знойдзена сеткавых прыстасаваньняў, ці гульня скампіляваная без падтрымкі сеткі
|
||||
STR_NETWORK_ERROR_NOTAVAILABLE :{WHITE}Ня знойдзена сеткавых прыстасаваньняў
|
||||
STR_NETWORK_ERROR_NOSERVER :{WHITE}Сеткавыя гульні ня знойдзеныя
|
||||
STR_NETWORK_ERROR_NOCONNECTION :{WHITE}Сэрвэр не адказвае на запыт
|
||||
STR_NETWORK_ERROR_NEWGRF_MISMATCH :{WHITE}Немагчыма далучыцца з-за неадпаведнасьці NewGRF
|
||||
@@ -2445,6 +2469,7 @@ STR_NETWORK_ERROR_WRONG_PASSWORD :{WHITE}Няпр
|
||||
STR_NETWORK_ERROR_SERVER_FULL :{WHITE}Сэрвэр перапоўнены
|
||||
STR_NETWORK_ERROR_SERVER_BANNED :{WHITE}Доступ на гэты сэрвэр вам забаронены
|
||||
STR_NETWORK_ERROR_KICKED :{WHITE}Вас выкінулі з гульні
|
||||
STR_NETWORK_ERROR_KICK_MESSAGE :{WHITE}Прычына: {STRING}
|
||||
STR_NETWORK_ERROR_CHEATER :{WHITE}Махлярства не дазволена на гэтым сэрвэры
|
||||
STR_NETWORK_ERROR_TOO_MANY_COMMANDS :{WHITE}Вы дасылалi да сэрвэра занадта шмат камандаў
|
||||
STR_NETWORK_ERROR_TIMEOUT_PASSWORD :{WHITE}Вы задоўга ня можаце ўвесьцi пароль
|
||||
@@ -2697,9 +2722,9 @@ STR_BUILD_SIGNAL_ELECTRIC_COMBO_TOOLTIP :{BLACK}Камб
|
||||
STR_BUILD_SIGNAL_ELECTRIC_PBS_TOOLTIP :{BLACK}Маршрутны сьветлафор (PMS).{}Дазваляе некалькім цягнікам знаходзіцца ў адным сыґнальным блёку, калі кожны зь іх можа зарэзэрваваць сабе бясьпечны шлях. Дазваляе праходжаньне цягнікоў у абодва бакі.
|
||||
STR_BUILD_SIGNAL_ELECTRIC_PBS_OWAY_TOOLTIP :{BLACK}Аднабаковы маршрутны сьветлафор (PMS).{}Дазваляе некалькім цягнікам знаходзіцца ў адным сыґнальным блёку, калі кожны зь іх можа зарэзэрваваць сабе бясьпечны шлях. Не дазваляе цягнікам праходзіць з адваротнага боку.
|
||||
STR_BUILD_SIGNAL_CONVERT_TOOLTIP :{BLACK}Зьмяненьне тыпаў сыґналаў.{}Калі кнопка націснута, пстрыкніце для пераўтварэньня існуючага сыґнала ў сыґнал выбранага тыпу й віду, або пстрыкніце з націснутым Ctrl для перабіраньня існуючых варыянтаў. Shift+пстрычка — ацэнка кошту пераўтварэньня.
|
||||
STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_TOOLTIP :{BLACK}Шчыльнасьць аўтаматычнай расстаноўкі сыґналаў пры цягненьні
|
||||
STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_DECREASE_TOOLTIP :{BLACK}Паменшыць шчыльнасьць расстаноўкі сыґналаў
|
||||
STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_INCREASE_TOOLTIP :{BLACK}Павялічыць шчыльнасьць расстаноўкі сыґналаў
|
||||
STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_TOOLTIP :{BLACK}Адлегласьць паміж сыґналамі пры працягваньні.
|
||||
STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_DECREASE_TOOLTIP :{BLACK}Паменшыць адлегласць паміж сыґналамі пры працягваньні
|
||||
STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_INCREASE_TOOLTIP :{BLACK}Павялічыць адлегласць паміж сыґналамі пры працягваньні
|
||||
|
||||
# Bridge selection window
|
||||
STR_SELECT_RAIL_BRIDGE_CAPTION :{WHITE}Выберыце чыгуначны мост
|
||||
@@ -2738,6 +2763,7 @@ STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_TUNNEL :{BLACK}Буда
|
||||
STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_ROAD :{BLACK}Будаўніцтва/выдаленьне аўтамабільных дарогаў
|
||||
STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_TRAMWAYS :{BLACK}Будаўніцтва/выдаленьне трамвайных каляінаў
|
||||
|
||||
STR_ROAD_NAME_ROAD :Аўтамабільная дарога
|
||||
|
||||
# Road depot construction window
|
||||
STR_BUILD_DEPOT_ROAD_ORIENTATION_CAPTION :{WHITE}Кірунак гаража
|
||||
@@ -2926,6 +2952,7 @@ STR_LAND_AREA_INFORMATION_NEWGRF_NAME :{BLACK}NewGRF:
|
||||
STR_LAND_AREA_INFORMATION_CARGO_ACCEPTED :{BLACK}Прымае: {LTBLUE}
|
||||
STR_LAND_AREA_INFORMATION_CARGO_EIGHTS :({COMMA}/8 {STRING})
|
||||
STR_LANG_AREA_INFORMATION_RAIL_TYPE :{BLACK}Тып чыгуначнага палатна: {LTBLUE}{STRING}
|
||||
STR_LANG_AREA_INFORMATION_ROAD_TYPE :{BLACK}Тып дарожнага палатна: {LTBLUE}{STRING}
|
||||
STR_LANG_AREA_INFORMATION_RAIL_SPEED_LIMIT :{BLACK}Макс. хуткасьць чыгункi: {LTBLUE}{VELOCITY}
|
||||
STR_LANG_AREA_INFORMATION_ROAD_SPEED_LIMIT :{BLACK}Макс. хуткасьць аўтамабіляў: {LTBLUE}{VELOCITY}
|
||||
|
||||
@@ -3024,12 +3051,45 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Зямля на
|
||||
STR_ABOUT_OPENTTD :{WHITE}Аб OpenTTD
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Арыґінальныя аўтарскія правы {COPYRIGHT} 1995 Chris Sawyer. Усе правы абароненыя.
|
||||
STR_ABOUT_VERSION :{BLACK}OpenTTD вэрсія {REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002–2019 Каманда распрацоўнікаў OpenTTD
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002–{STRING} Каманда распрацоўнікаў OpenTTD
|
||||
|
||||
# Framerate display window
|
||||
STR_FRAMERATE_CAPTION :{WHITE}Хуткасць гульні
|
||||
STR_FRAMERATE_CAPTION_SMALL :{STRING}{WHITE} ({DECIMAL}x)
|
||||
STR_FRAMERATE_RATE_GAMELOOP :{BLACK}Хуткасць разліку гульні: {STRING}
|
||||
STR_FRAMERATE_RATE_BLITTER_TOOLTIP :{BLACK}Колькасць адлюстроўваных кадраў у секунду.
|
||||
STR_FRAMERATE_SPEED_FACTOR :{BLACK}Бягучая хуткасьць гульні: {DECIMAL}x
|
||||
STR_FRAMERATE_SPEED_FACTOR_TOOLTIP :{BLACK}Фактычная хуткасьць гульні (у параўнаньні з чаканаю хуткасьцю пры звычайнай хуткасьці сімуляцыі).
|
||||
STR_FRAMERATE_DATA_POINTS :{BLACK}Дадзеныя па {COMMA} вымярэнь{P ню ям ям}
|
||||
STR_FRAMERATE_MS_GOOD :{LTBLUE}{DECIMAL} мс
|
||||
STR_FRAMERATE_MS_WARN :{YELLOW}{DECIMAL} мс
|
||||
STR_FRAMERATE_FPS_WARN :{YELLOW}{DECIMAL} кадр{P "" а аў}/с
|
||||
STR_FRAMERATE_FPS_BAD :{RED}{DECIMAL} кадр{P "" а аў}/с
|
||||
STR_FRAMERATE_BYTES_GOOD :{LTBLUE}{BYTES}
|
||||
STR_FRAMERATE_BYTES_BAD :{RED}{BYTES}
|
||||
STR_FRAMERATE_GRAPH_MILLISECONDS :{TINY_FONT}{COMMA} мс
|
||||
STR_FRAMERATE_GRAPH_SECONDS :{TINY_FONT}{COMMA} с
|
||||
############ Leave those lines in this order!!
|
||||
STR_FRAMERATE_GAMELOOP :{BLACK}Разлік гульнявога цыклу:
|
||||
STR_FRAMERATE_GL_AIRCRAFT :{BLACK} Рух паветраных судоў:
|
||||
STR_FRAMERATE_GL_LINKGRAPH :{BLACK} Затрымка ґрафа размеркаваньня:
|
||||
STR_FRAMERATE_ALLSCRIPTS :{BLACK}Усяго скрыптоў/ШІ:
|
||||
STR_FRAMERATE_GAMESCRIPT :{BLACK} Гульнявы скрыпт:
|
||||
STR_FRAMERATE_AI :{BLACK} ШІ {NUM} {STRING}
|
||||
############ End of leave-in-this-order
|
||||
############ Leave those lines in this order!!
|
||||
STR_FRAMETIME_CAPTION_GAMELOOP :Разлік гульнявога цыклу
|
||||
STR_FRAMETIME_CAPTION_GL_ROADVEHS :Рух аўтамабіляў
|
||||
STR_FRAMETIME_CAPTION_GL_SHIPS :Рух караблёў
|
||||
STR_FRAMETIME_CAPTION_GL_AIRCRAFT :Рух паветраных судоў
|
||||
STR_FRAMETIME_CAPTION_GL_LANDSCAPE :Разлік зменаў на мапе
|
||||
STR_FRAMETIME_CAPTION_GL_LINKGRAPH :Затрымка ґрафа размеркаваньня
|
||||
STR_FRAMETIME_CAPTION_DRAWING :Адмалёўка адлюстравання
|
||||
STR_FRAMETIME_CAPTION_VIDEO :Вывад на экран
|
||||
STR_FRAMETIME_CAPTION_SOUND :Апрацоўка гуку
|
||||
STR_FRAMETIME_CAPTION_ALLSCRIPTS :Агульны час выканання скрыптоў
|
||||
STR_FRAMETIME_CAPTION_GAMESCRIPT :Час выканання гульнявога скрыпту
|
||||
STR_FRAMETIME_CAPTION_AI :ШІ {NUM} {STRING}
|
||||
############ End of leave-in-this-order
|
||||
|
||||
|
||||
@@ -3055,6 +3115,8 @@ STR_SAVELOAD_DETAIL_CAPTION :{BLACK}Зьве
|
||||
STR_SAVELOAD_DETAIL_NOT_AVAILABLE :{BLACK}Няма зьвесткаў.
|
||||
STR_SAVELOAD_DETAIL_COMPANY_INDEX :{SILVER}{COMMA}: {WHITE}{STRING}
|
||||
STR_SAVELOAD_DETAIL_GRFSTATUS :{SILVER}NewGRF: {WHITE}{STRING}
|
||||
STR_SAVELOAD_OVERWRITE_TITLE :{WHITE}Перазапіс файла
|
||||
STR_SAVELOAD_OVERWRITE_WARNING :{YELLOW}Перазапісаць файл?
|
||||
|
||||
STR_SAVELOAD_OSKTITLE :{BLACK}Увядзіце назву для захаваньня гульні
|
||||
|
||||
@@ -3172,7 +3234,10 @@ STR_NEWGRF_SETTINGS_VERSION :{BLACK}Вэрс
|
||||
STR_NEWGRF_SETTINGS_MIN_VERSION :{BLACK}Патрэбна вэрсiя гульнi не ніжэй за {SILVER}{NUM}
|
||||
STR_NEWGRF_SETTINGS_MD5SUM :{BLACK}Сума MD5: {SILVER}{STRING}
|
||||
STR_NEWGRF_SETTINGS_PALETTE :{BLACK}Палітра: {SILVER}{STRING}
|
||||
STR_NEWGRF_SETTINGS_PALETTE_LEGACY :Састарэлая (W)
|
||||
STR_NEWGRF_SETTINGS_PALETTE_LEGACY_32BPP :Састарэлая (W) / 32 bpp
|
||||
STR_NEWGRF_SETTINGS_PARAMETER :{BLACK}Парамэтры: {SILVER}{STRING}
|
||||
STR_NEWGRF_SETTINGS_PARAMETER_NONE :Няма
|
||||
|
||||
STR_NEWGRF_SETTINGS_NO_INFO :{BLACK}Няма даступнай інфармацыі
|
||||
STR_NEWGRF_SETTINGS_NOT_FOUND :{RED}Файл ня знойдзены
|
||||
@@ -3253,6 +3318,8 @@ STR_NEWGRF_ERROR_READ_BOUNDS :Чытаньн
|
||||
STR_NEWGRF_ERROR_GRM_FAILED :Запытаныя рэсурсы GRF недаступныя (спрайт {3:NUM})
|
||||
STR_NEWGRF_ERROR_FORCEFULLY_DISABLED :{1:STRING} быў адключаны з-за {2:STRING}
|
||||
STR_NEWGRF_ERROR_INVALID_SPRITE_LAYOUT :Недапушчальны/невядомы фармат размяшчэньня спрайтаў (спрайт {3:NUM})
|
||||
STR_NEWGRF_ERROR_LIST_PROPERTY_TOO_LONG :Занадта шмат элементаў у спісе значэнняў (спрайт {3:NUM}, уласцівасць {4:HEX})
|
||||
STR_NEWGRF_ERROR_INDPROD_CALLBACK :Няверная апрацоўка прадукцыі прадпрыемства (спрайт {3:NUM}, "{2:STRING}")
|
||||
|
||||
# NewGRF related 'general' warnings
|
||||
STR_NEWGRF_POPUP_CAUTION_CAPTION :{WHITE}Асьцярожна!
|
||||
@@ -3350,6 +3417,7 @@ STR_TOWN_VIEW_RENAME_TOWN_BUTTON :Перайме
|
||||
|
||||
# Town local authority window
|
||||
STR_LOCAL_AUTHORITY_CAPTION :{WHITE}Адміністрацыя г. {NBSP}{TOWN}
|
||||
STR_LOCAL_AUTHORITY_ZONE :{BLACK}Мяжа
|
||||
STR_LOCAL_AUTHORITY_COMPANY_RATINGS :{BLACK}Рэйтынґ транспартных кампаніяў
|
||||
STR_LOCAL_AUTHORITY_COMPANY_RATING :{YELLOW}{COMPANY} {COMPANY_NUM}: {ORANGE}{STRING}
|
||||
STR_LOCAL_AUTHORITY_ACTIONS_TITLE :{BLACK}Даступныя дзеяньні:
|
||||
@@ -3378,6 +3446,7 @@ STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW}Дац
|
||||
# Goal window
|
||||
STR_GOALS_CAPTION :{WHITE}Задачы кампаніі «{COMPANY}»
|
||||
STR_GOALS_SPECTATOR_CAPTION :{WHITE}Глабальныя задачы
|
||||
STR_GOALS_SPECTATOR :Агульныя задачы
|
||||
STR_GOALS_GLOBAL_TITLE :{BLACK}Агульныя задачы:
|
||||
STR_GOALS_TEXT :{ORANGE}{STRING}
|
||||
STR_GOALS_NONE :{ORANGE}- Няма -
|
||||
@@ -3616,7 +3685,12 @@ STR_COMPANY_INFRASTRUCTURE_VIEW_TOTAL :{WHITE}{CURRENC
|
||||
STR_INDUSTRY_DIRECTORY_CAPTION :{WHITE}Прамысловасьць
|
||||
STR_INDUSTRY_DIRECTORY_NONE :{ORANGE}- Няма -
|
||||
STR_INDUSTRY_DIRECTORY_ITEM_NOPROD :{ORANGE}{INDUSTRY}
|
||||
STR_INDUSTRY_DIRECTORY_ITEM_PROD1 :{ORANGE}{INDUSTRY} {STRING}
|
||||
STR_INDUSTRY_DIRECTORY_ITEM_PROD2 :{ORANGE}{INDUSTRY} {STRING}, {STRING}
|
||||
STR_INDUSTRY_DIRECTORY_ITEM_PRODMORE :{ORANGE}{INDUSTRY} {STRING}, {STRING}, {STRING} і яшчэ {NUM}...
|
||||
STR_INDUSTRY_DIRECTORY_LIST_CAPTION :{BLACK}Сьпіс прадпрыемстваў: пстрычка па назьве паказвае прадпрыемства ў асноўным вакне. Ctrl+клік - у дадатковым вакне.
|
||||
STR_INDUSTRY_DIRECTORY_FILTER_ALL_TYPES :Любы
|
||||
STR_INDUSTRY_DIRECTORY_FILTER_NONE :Адсутнічае
|
||||
|
||||
# Industry view
|
||||
STR_INDUSTRY_VIEW_CAPTION :{WHITE}{INDUSTRY}
|
||||
@@ -3626,6 +3700,8 @@ STR_INDUSTRY_VIEW_LOCATION_TOOLTIP :{BLACK}Пака
|
||||
STR_INDUSTRY_VIEW_PRODUCTION_LEVEL :{BLACK}Прадукцыйнасьць: {YELLOW}{COMMA}%
|
||||
STR_INDUSTRY_VIEW_INDUSTRY_ANNOUNCED_CLOSURE :{YELLOW}Прадпрыемства хутка закрываецца!
|
||||
|
||||
STR_INDUSTRY_VIEW_REQUIRES_N_CARGO :{BLACK}Патрабуе: {YELLOW}{STRING}{STRING}
|
||||
STR_INDUSTRY_VIEW_CARGO_LIST_EXTENSION :, {STRING}{STRING}
|
||||
|
||||
STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Патрабуецца:
|
||||
STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING}{BLACK}{3:STRING}
|
||||
@@ -3684,6 +3760,7 @@ STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Ґруп
|
||||
STR_GROUP_CREATE_TOOLTIP :{BLACK}Стварыць групу
|
||||
STR_GROUP_DELETE_TOOLTIP :{BLACK}Выдаліць выбраную групу
|
||||
STR_GROUP_RENAME_TOOLTIP :{BLACK}Перайменаваць выбраную групу
|
||||
STR_GROUP_LIVERY_TOOLTIP :{BLACK}Змяніць колер абранае групы
|
||||
STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Абарона транспарту ў групе ад глабальнай аўтазамены
|
||||
|
||||
STR_QUERY_GROUP_DELETE_CAPTION :{WHITE}Выдаліць ґрупу
|
||||
@@ -3706,9 +3783,11 @@ STR_BUY_VEHICLE_TRAIN_MONORAIL_CAPTION :Новы мон
|
||||
STR_BUY_VEHICLE_TRAIN_MAGLEV_CAPTION :Новы маґнітарэйкавы цягнік
|
||||
|
||||
STR_BUY_VEHICLE_ROAD_VEHICLE_CAPTION :Новы аўтамабiль
|
||||
STR_BUY_VEHICLE_TRAM_VEHICLE_CAPTION :Новыя трамваі
|
||||
|
||||
############ range for vehicle availability starts
|
||||
STR_BUY_VEHICLE_TRAIN_ALL_CAPTION :Новы цягнiк
|
||||
STR_BUY_VEHICLE_ROAD_VEHICLE_ALL_CAPTION :Новы дарожны транспарт
|
||||
STR_BUY_VEHICLE_SHIP_CAPTION :Новы карабель
|
||||
STR_BUY_VEHICLE_AIRCRAFT_CAPTION :Новы авiятранспарт
|
||||
############ range for vehicle availability ends
|
||||
@@ -3724,8 +3803,10 @@ STR_PURCHASE_INFO_REFITTABLE :(пераабс
|
||||
STR_PURCHASE_INFO_DESIGNED_LIFE :{BLACK}Распрацаваны ў {GOLD}{NUM} г.{BLACK} Тэрмін службы: {GOLD}{COMMA} г{P од ады адоў}
|
||||
STR_PURCHASE_INFO_RELIABILITY :{BLACK}Макс. надзейнасьць: {GOLD}{COMMA}%
|
||||
STR_PURCHASE_INFO_COST :{BLACK}Кошт: {GOLD}{CURRENCY_LONG}
|
||||
STR_PURCHASE_INFO_COST_REFIT :{BLACK}Кошт: {GOLD}{CURRENCY_LONG}{BLACK} (Кошт пераабсталявання: {GOLD}{CURRENCY_LONG}{BLACK})
|
||||
STR_PURCHASE_INFO_WEIGHT_CWEIGHT :{BLACK}Вага: {GOLD}{WEIGHT_SHORT} ({WEIGHT_SHORT})
|
||||
STR_PURCHASE_INFO_COST_SPEED :{BLACK}Кошт: {GOLD}{CURRENCY_LONG}{BLACK} Хуткасьць: {GOLD}{VELOCITY}
|
||||
STR_PURCHASE_INFO_COST_REFIT_SPEED :{BLACK}Кошт: {GOLD}{CURRENCY_LONG}{BLACK} (Вартасць пераабсталявання: {GOLD}{CURRENCY_LONG}{BLACK}) Хуткасць: {GOLD}{VELOCITY}
|
||||
STR_PURCHASE_INFO_AIRCRAFT_CAPACITY :{BLACK}Ёмістасьць: {GOLD}{CARGO_LONG}, {CARGO_LONG}
|
||||
STR_PURCHASE_INFO_PWAGPOWER_PWAGWEIGHT :{BLACK}Маторныя ваґоны: {GOLD}+{POWER}{BLACK} Вага: {GOLD}+{WEIGHT_SHORT}
|
||||
STR_PURCHASE_INFO_REFITTABLE_TO :{BLACK}Пераабст. для: {GOLD}{STRING}
|
||||
@@ -3745,12 +3826,17 @@ STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_BUTTON :{BLACK}Купі
|
||||
STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_BUTTON :{BLACK}Купіць
|
||||
STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_BUTTON :{BLACK}Купіць
|
||||
|
||||
STR_BUY_VEHICLE_AIRCRAFT_BUY_REFIT_VEHICLE_BUTTON :{BLACK}Купіць і пераабсталяваць
|
||||
|
||||
STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_TOOLTIP :{BLACK}Набыць абраны лякаматыў/ваґон. Shift+пстрычка — ацэнка кошту набыцьця.
|
||||
STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_TOOLTIP :{BLACK}Набыць абраны аўтамабіль. Shift+пстрычка — ацэнка кошту набыцьця.
|
||||
STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_TOOLTIP :{BLACK}Набыць абраны карабель. Shift+пстрычка — ацэнка кошту набыцьця.
|
||||
STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_TOOLTIP :{BLACK}Набыць абраны авіятранспарт. Shift+пстрычка — ацэнка кошту набыцьця.
|
||||
|
||||
STR_BUY_VEHICLE_TRAIN_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Набыць і пераабсталяваць абраны лякаматыў/ваґон. Shift+пстрычка пакажа арыентыровачны кошт куплі.
|
||||
STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Набыць і пераабсталяваць абраны аўтамабіль. Shift+пстрычка пакажа арыентыровачны кошт куплі.
|
||||
STR_BUY_VEHICLE_SHIP_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Набыць і пераабсталяваць вылучанае судна. Shift+пстрычка пакажа арыентыровачны кошт куплі.
|
||||
STR_BUY_VEHICLE_AIRCRAFT_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Набыць і пераабсталяваць абранае паветранае судна. Shift+пстрычка пакажа арыентыровачны кошт куплі.
|
||||
|
||||
STR_BUY_VEHICLE_TRAIN_RENAME_BUTTON :{BLACK}Перайменаваць
|
||||
STR_BUY_VEHICLE_ROAD_VEHICLE_RENAME_BUTTON :{BLACK}Перайменаваць
|
||||
@@ -3935,6 +4021,8 @@ STR_REPLACE_ELRAIL_VEHICLES :Чыгунач
|
||||
STR_REPLACE_MONORAIL_VEHICLES :Монарэйкавыя ТС
|
||||
STR_REPLACE_MAGLEV_VEHICLES :Маґнітныя ТС
|
||||
|
||||
STR_REPLACE_ROAD_VEHICLES :Аўтатранспарт
|
||||
STR_REPLACE_TRAM_VEHICLES :Трамваі
|
||||
|
||||
STR_REPLACE_REMOVE_WAGON :{BLACK}Выдаленьне ваґонаў: {ORANGE}{STRING}
|
||||
STR_REPLACE_REMOVE_WAGON_HELP :{BLACK}Дазволіць пры аўтазамене захоўваць даўжыню цягнікоў шляхам выдаленьня ваґонаў (пачынаючы з галавы цягніка), калі пры аўтазамене лякаматыва павялічыцца даўжыня цягніка.
|
||||
@@ -4155,6 +4243,7 @@ STR_ORDER_CONDITIONAL_AGE :Узрост (
|
||||
STR_ORDER_CONDITIONAL_REQUIRES_SERVICE :Патрабуецца абслугоўваньне
|
||||
STR_ORDER_CONDITIONAL_UNCONDITIONALLY :Заўсёды
|
||||
STR_ORDER_CONDITIONAL_REMAINING_LIFETIME :Рэшткавы тэрмiн службы (гадоў)
|
||||
STR_ORDER_CONDITIONAL_MAX_RELIABILITY :Максімальная надзейнасць
|
||||
|
||||
STR_ORDER_CONDITIONAL_COMPARATOR_TOOLTIP :{BLACK}Умова пераходу
|
||||
STR_ORDER_CONDITIONAL_COMPARATOR_EQUALS :роўна
|
||||
@@ -4385,6 +4474,8 @@ STR_AI_LIST_ACCEPT_TOOLTIP :{BLACK}Выбр
|
||||
STR_AI_LIST_CANCEL :{BLACK}Скасаваць
|
||||
STR_AI_LIST_CANCEL_TOOLTIP :{BLACK}Не змяняць скрыпт
|
||||
|
||||
STR_SCREENSHOT_ZOOMIN_SCREENSHOT :{BLACK}Бачная вобласць у максімальным набліжэнні
|
||||
|
||||
# AI Parameters
|
||||
STR_AI_SETTINGS_CAPTION :{WHITE}Параметры {STRING}
|
||||
STR_AI_SETTINGS_CAPTION_AI :ШI
|
||||
@@ -4676,6 +4767,9 @@ STR_ERROR_CAN_T_REMOVE_ROAD_FROM :{WHITE}Не а
|
||||
STR_ERROR_CAN_T_REMOVE_TRAMWAY_FROM :{WHITE}Не атрымалася выдаліць трамвайныя каляiны...
|
||||
STR_ERROR_THERE_IS_NO_ROAD :{WHITE}...тут няма дарогi
|
||||
STR_ERROR_THERE_IS_NO_TRAMWAY :{WHITE}...тут няма трамвайных каляiнаў
|
||||
STR_ERROR_CAN_T_CONVERT_ROAD :{WHITE}Тут немагчыма змяніць тып дарожнага палатна...
|
||||
STR_ERROR_NO_SUITABLE_ROAD :{WHITE}Няма прыдатнага дарожнага палатна
|
||||
STR_ERROR_INCOMPATIBLE_TRAMWAY :{WHITE}... несумяшчальны тып трамвайных каляінаў
|
||||
|
||||
# Waterway construction errors
|
||||
STR_ERROR_CAN_T_BUILD_CANALS :{WHITE}Тут немагчыма пабудаваць канал...
|
||||
|
||||
@@ -471,9 +471,6 @@ STR_ABOUT_MENU_SEPARATOR :
|
||||
STR_ABOUT_MENU_TOGGLE_CONSOLE :Alternar console
|
||||
STR_ABOUT_MENU_AI_DEBUG :Depurar IA/Script do jogo
|
||||
STR_ABOUT_MENU_SCREENSHOT :Captura de tela
|
||||
STR_ABOUT_MENU_ZOOMIN_SCREENSHOT :Ampliado em captura de tela
|
||||
STR_ABOUT_MENU_DEFAULTZOOM_SCREENSHOT :Captura de tela em ampliação padrão
|
||||
STR_ABOUT_MENU_GIANT_SCREENSHOT :Captura de tela do mapa inteiro
|
||||
STR_ABOUT_MENU_SHOW_FRAMERATE :Exibir taxa de quadros
|
||||
STR_ABOUT_MENU_ABOUT_OPENTTD :Sobre 'OpenTTD'
|
||||
STR_ABOUT_MENU_SPRITE_ALIGNER :Alinhador de "sprites"
|
||||
@@ -644,9 +641,6 @@ STR_MUSIC_PLAYLIST_CUSTOM_1 :{TINY_FONT}{BLA
|
||||
STR_MUSIC_PLAYLIST_CUSTOM_2 :{TINY_FONT}{BLACK}Personalizado 2
|
||||
STR_MUSIC_MUSIC_VOLUME :{TINY_FONT}{BLACK}Volume da Música
|
||||
STR_MUSIC_EFFECTS_VOLUME :{TINY_FONT}{BLACK}Volume dos Efeitos
|
||||
STR_MUSIC_RULER_MIN :{TINY_FONT}{BLACK}MIN
|
||||
STR_MUSIC_RULER_MAX :{TINY_FONT}{BLACK}MAX
|
||||
STR_MUSIC_RULER_MARKER :{TINY_FONT}{BLACK}'
|
||||
STR_MUSIC_TRACK_NONE :{TINY_FONT}{DKGREEN}--
|
||||
STR_MUSIC_TRACK_DIGIT :{TINY_FONT}{DKGREEN}{ZEROFILL_NUM}
|
||||
STR_MUSIC_TITLE_NONE :{TINY_FONT}{DKGREEN}------
|
||||
@@ -2695,7 +2689,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :O terreno é pr
|
||||
STR_ABOUT_OPENTTD :{WHITE}Sobre o OpenTTD...
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Copyright original {COPYRIGHT} 1995 Chris Sawyer, Todos os direitos reservados
|
||||
STR_ABOUT_VERSION :{BLACK}OpenTTD versão {REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2019 A equipe do OpenTTD
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-{STRING} A equipe do OpenTTD
|
||||
|
||||
# Framerate display window
|
||||
STR_FRAMERATE_CAPTION :{WHITE}Taxa de quadros
|
||||
@@ -4075,6 +4069,7 @@ STR_AI_LIST_ACCEPT_TOOLTIP :{BLACK}Selecion
|
||||
STR_AI_LIST_CANCEL :{BLACK}Cancelar
|
||||
STR_AI_LIST_CANCEL_TOOLTIP :{BLACK}Não mudar o script
|
||||
|
||||
|
||||
# AI Parameters
|
||||
STR_AI_SETTINGS_CAPTION :{WHITE}{STRING} Parâmetros
|
||||
STR_AI_SETTINGS_CAPTION_AI :{G=f}IA
|
||||
|
||||
@@ -471,9 +471,6 @@ STR_ABOUT_MENU_SEPARATOR :
|
||||
STR_ABOUT_MENU_TOGGLE_CONSOLE :Показване/скриване на конзола
|
||||
STR_ABOUT_MENU_AI_DEBUG :ИИ дебъг
|
||||
STR_ABOUT_MENU_SCREENSHOT :Screenshot
|
||||
STR_ABOUT_MENU_ZOOMIN_SCREENSHOT :Напълно увеличен в кадъра.
|
||||
STR_ABOUT_MENU_DEFAULTZOOM_SCREENSHOT :Увеличение по подразбиране
|
||||
STR_ABOUT_MENU_GIANT_SCREENSHOT :Огромен Screenshot
|
||||
STR_ABOUT_MENU_SHOW_FRAMERATE :Показване на честотата на кадрите
|
||||
STR_ABOUT_MENU_ABOUT_OPENTTD :Относно 'OpenTTD'
|
||||
STR_ABOUT_MENU_SPRITE_ALIGNER :Подравнител на спрайтове
|
||||
@@ -644,9 +641,6 @@ STR_MUSIC_PLAYLIST_CUSTOM_1 :{TINY_FONT}{BLA
|
||||
STR_MUSIC_PLAYLIST_CUSTOM_2 :{TINY_FONT}{BLACK}Персонален 2
|
||||
STR_MUSIC_MUSIC_VOLUME :{TINY_FONT}{BLACK}Сила на музиката
|
||||
STR_MUSIC_EFFECTS_VOLUME :{TINY_FONT}{BLACK}Сила на ефектите
|
||||
STR_MUSIC_RULER_MIN :{TINY_FONT}{BLACK}MIN
|
||||
STR_MUSIC_RULER_MAX :{TINY_FONT}{BLACK}MAX
|
||||
STR_MUSIC_RULER_MARKER :{TINY_FONT}{BLACK}'
|
||||
STR_MUSIC_TRACK_NONE :{TINY_FONT}{DKGREEN}--
|
||||
STR_MUSIC_TRACK_DIGIT :{TINY_FONT}{DKGREEN}{ZEROFILL_NUM}
|
||||
STR_MUSIC_TITLE_NONE :{TINY_FONT}{DKGREEN}------
|
||||
@@ -2642,7 +2636,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Земя, пр
|
||||
STR_ABOUT_OPENTTD :{WHITE}Относно OpenTTD
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Авторски права {COPYRIGHT} 1995 Крис Сойер (Chris Sawyer), Всички права са запазени
|
||||
STR_ABOUT_VERSION :{BLACK}OpenTTD версия {REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2019 The OpenTTD team
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-{STRING} The OpenTTD team
|
||||
|
||||
# Framerate display window
|
||||
STR_FRAMERATE_CAPTION :{WHITE}Скорост на кадрите
|
||||
@@ -3978,6 +3972,7 @@ STR_AI_LIST_ACCEPT_TOOLTIP :{BLACK}Избе
|
||||
STR_AI_LIST_CANCEL :{BLACK}Отмени
|
||||
STR_AI_LIST_CANCEL_TOOLTIP :{BLACK}Не променяй AI
|
||||
|
||||
|
||||
# AI Parameters
|
||||
STR_AI_SETTINGS_CAPTION :{WHITE}{STRING} Параметри
|
||||
STR_AI_SETTINGS_CAPTION_AI :AI
|
||||
|
||||
@@ -236,6 +236,7 @@ STR_TOOLTIP_FILTER_CRITERIA :{BLACK}Filtra p
|
||||
STR_BUTTON_SORT_BY :{BLACK}Ordena per:
|
||||
STR_BUTTON_LOCATION :{G=Masculin}{BLACK}Lloc
|
||||
STR_BUTTON_RENAME :{BLACK}Canvia el nom
|
||||
STR_TOOLTIP_CATCHMENT :{BLACK}Mostra/Amaga l'àrea de cobertura
|
||||
|
||||
STR_TOOLTIP_CLOSE_WINDOW :{BLACK}Tanca la finestra
|
||||
STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS :{BLACK}Títol de la finestra: arrossegueu el títol per desplaçar la finestra.
|
||||
@@ -264,6 +265,7 @@ STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT_TOOLTIP :{BLACK}Activant
|
||||
STR_BUTTON_DEFAULT :{BLACK}Predeterminat
|
||||
STR_BUTTON_CANCEL :{BLACK}Cancel·la
|
||||
STR_BUTTON_OK :{BLACK}D'acord
|
||||
STR_WARNING_PASSWORD_SECURITY :{YELLOW}Avís: Els administradors del servidor potser poden llegir el que escriviu aquí.
|
||||
|
||||
# On screen keyboard window
|
||||
STR_OSK_KEYBOARD_LAYOUT :`1234567890-=\qwertyuiop[]asdfghjkl;' zxcvbnm,./ .
|
||||
@@ -474,9 +476,6 @@ STR_ABOUT_MENU_SEPARATOR :
|
||||
STR_ABOUT_MENU_TOGGLE_CONSOLE :Commuta la consola
|
||||
STR_ABOUT_MENU_AI_DEBUG :Depuració de les IA i l'script de partida
|
||||
STR_ABOUT_MENU_SCREENSHOT :Captura de pantalla
|
||||
STR_ABOUT_MENU_ZOOMIN_SCREENSHOT :Captura de pantalla amb el zoom màxim
|
||||
STR_ABOUT_MENU_DEFAULTZOOM_SCREENSHOT :Captura de pantalla amb el zoom predeterminat
|
||||
STR_ABOUT_MENU_GIANT_SCREENSHOT :Captura de pantalla de tot el mapa
|
||||
STR_ABOUT_MENU_SHOW_FRAMERATE :Mostra els fotogrames per segon
|
||||
STR_ABOUT_MENU_ABOUT_OPENTTD :Quant a l'OpenTTD
|
||||
STR_ABOUT_MENU_SPRITE_ALIGNER :Alineador de sprites
|
||||
@@ -647,9 +646,6 @@ STR_MUSIC_PLAYLIST_CUSTOM_1 :{TINY_FONT}{BLA
|
||||
STR_MUSIC_PLAYLIST_CUSTOM_2 :{TINY_FONT}{BLACK}Personalitzat 2
|
||||
STR_MUSIC_MUSIC_VOLUME :{TINY_FONT}{BLACK}Volum de la música
|
||||
STR_MUSIC_EFFECTS_VOLUME :{TINY_FONT}{BLACK}Volum dels efectes
|
||||
STR_MUSIC_RULER_MIN :{TINY_FONT}{BLACK}MÍN
|
||||
STR_MUSIC_RULER_MAX :{TINY_FONT}{BLACK}MÀX
|
||||
STR_MUSIC_RULER_MARKER :{TINY_FONT}{BLACK}'
|
||||
STR_MUSIC_TRACK_NONE :{TINY_FONT}{DKGREEN}--
|
||||
STR_MUSIC_TRACK_DIGIT :{TINY_FONT}{DKGREEN}{ZEROFILL_NUM}
|
||||
STR_MUSIC_TITLE_NONE :{TINY_FONT}{DKGREEN}------
|
||||
@@ -933,6 +929,7 @@ STR_GAME_OPTIONS_CURRENCY_GEL :Lari georgià (
|
||||
STR_GAME_OPTIONS_CURRENCY_IRR :Rial iranià (IRR)
|
||||
STR_GAME_OPTIONS_CURRENCY_RUB :Ruble rus modern (RUB)
|
||||
STR_GAME_OPTIONS_CURRENCY_MXN :Peso mexicà (MXN)
|
||||
STR_GAME_OPTIONS_CURRENCY_CNY :Renminbi xinès (CNY)
|
||||
############ end of currency region
|
||||
|
||||
STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}Vehicles de carretera
|
||||
@@ -1184,6 +1181,7 @@ STR_CONFIG_SETTING_AUTOSLOPE :Permet la modif
|
||||
STR_CONFIG_SETTING_AUTOSLOPE_HELPTEXT :Permet modelar el terreny sota les vies, els edificis i altres elements sense eliminar-los.
|
||||
STR_CONFIG_SETTING_CATCHMENT :Estableix una mida més real de l'àrea d'influència: {STRING}
|
||||
STR_CONFIG_SETTING_CATCHMENT_HELPTEXT :Permet tenir diferents mides de zones de captació de càrrega per diferents tipus d'estacions (aeroports, estacions de tren, etc.).
|
||||
STR_CONFIG_SETTING_SERVE_NEUTRAL_INDUSTRIES :Les estacions de la companyia poden donar servei a industries amb estacions neutrals: {STRING}
|
||||
STR_CONFIG_SETTING_EXTRADYNAMITE :Permet l'esborrat de carreteres, ponts i túnels propietat de les poblacions: {STRING}
|
||||
STR_CONFIG_SETTING_EXTRADYNAMITE_HELPTEXT :Aquesta opció permet fer més fàcil l'esborrat d'infraestructures i construccions propietat de la població
|
||||
STR_CONFIG_SETTING_TRAIN_LENGTH :Longitud màxima dels trens: {STRING}
|
||||
@@ -1305,6 +1303,8 @@ STR_CONFIG_SETTING_POPULATION_IN_LABEL :Mostra els habi
|
||||
STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :Mostra els habitants a les etiquetes dels noms de les poblacions al mapa
|
||||
STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Gruix de les línies dels gràfics: {STRING}
|
||||
STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Gruix de la línia als gràfics. Una línia més fina és més llegible, una línia més gruixuda és més fàcil de veure i els colors són més fàcils de distingir
|
||||
STR_CONFIG_SETTING_SHOW_NEWGRF_NAME :Mostra el nom del NewGRF a la finestra de construcció de vehicles: {STRING}
|
||||
STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :Afegeix una línia a la finestra de construcció de vehicles que mostri de quin NewGRF és el vehicle seleccionat.
|
||||
|
||||
STR_CONFIG_SETTING_LANDSCAPE :Paisatge: {STRING}
|
||||
STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :El tipus de paisatge defineix escenaris amb diferents tipus de càrrega i requisits per al creixement de les poblacions. Els NewGRF i l'script de la partida poden modificar-ne l'aparença i el comportament
|
||||
@@ -1481,6 +1481,7 @@ STR_CONFIG_SETTING_AI_IN_MULTIPLAYER :Permet IA en mu
|
||||
STR_CONFIG_SETTING_AI_IN_MULTIPLAYER_HELPTEXT :Permet a les IA participar en partides multijugador.
|
||||
STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES :#opcodes abans de suspendre els scripts: {STRING}
|
||||
STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES_HELPTEXT :Màxim nombre de passos de càlcul que un script pot fer en un torn
|
||||
STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY :Ús de memòria màxim per script: {STRING}
|
||||
|
||||
STR_CONFIG_SETTING_SERVINT_ISPERCENT :Els intervals de revisions es mostren en percentatges: {STRING}
|
||||
STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Escull si les revisions dels vehicles depenen del temps passat des de la darrera revisió o de la caiguda d'un cert percentatge de la fiabilitat màxima
|
||||
@@ -1539,10 +1540,12 @@ STR_CONFIG_SETTING_NEWS_MESSAGES_FULL :Complet
|
||||
STR_CONFIG_SETTING_COLOURED_NEWS_YEAR :Les notícies en color apareixen el: {STRING}
|
||||
STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT :Any en què els diaris comencen a fer anuncis en color. Abans d'aquest any, imprimiran en blanc i negre.
|
||||
STR_CONFIG_SETTING_STARTING_YEAR :Any d'inici: {STRING}
|
||||
STR_CONFIG_SETTING_ENDING_YEAR_ZERO :Mai
|
||||
STR_CONFIG_SETTING_SMOOTH_ECONOMY :Activa economia suau (més canvis però més petits): {STRING}
|
||||
STR_CONFIG_SETTING_SMOOTH_ECONOMY_HELPTEXT :Quan està activat, els canvis de producció de la indústria són més habituals, i en passos més petits. Aquest paràmetre usualment no té efecte, si el tipus d'indústria estan proveïts per un NewGRF
|
||||
STR_CONFIG_SETTING_ALLOW_SHARES :Permet comprar participacions d'altres companyies: {STRING}
|
||||
STR_CONFIG_SETTING_ALLOW_SHARES_HELPTEXT :Permet comprar i vendre accions de les companyies. Les accions només estan disponibles per companyies d'una certa edat.
|
||||
STR_CONFIG_SETTING_MIN_YEARS_FOR_SHARES :Edat mínima de la companyia per negociar participacions: {STRING}
|
||||
STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE :Percentatge del benefici total a pagar en transferències: {STRING}
|
||||
STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE_HELPTEXT :Percentatge del benefici donat a branques intermediàries dins els sistemes, donant més control sobre els beneficis
|
||||
STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY :En arrossegar, col·locar senyals cada: {STRING}
|
||||
@@ -2429,7 +2432,10 @@ STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_TUNNEL :{BLACK}Construe
|
||||
STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_TUNNEL :{BLACK}Construeix un túnel per a tramvies. Shift commuta construeix/mostra el cost estimat
|
||||
STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_ROAD :{BLACK}Intercanvia funció construeix/treu per la construcció de carreteres
|
||||
STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_TRAMWAYS :{BLACK}Canvia construeix/treu de la construcció de vies de tramvia
|
||||
STR_ROAD_TOOLBAR_TOOLTIP_CONVERT_ROAD :{BLACK}Converteix/Millora el tipus de carretera. Shift commuta entre construir o mostrar-ne el cost estimat.
|
||||
STR_ROAD_TOOLBAR_TOOLTIP_CONVERT_TRAM :{BLACK}Converteix/Millora el tipus de tramvia. Shift commuta construeix/mostra el cost estimat.
|
||||
|
||||
STR_ROAD_NAME_ROAD :Carretera
|
||||
|
||||
# Road depot construction window
|
||||
STR_BUILD_DEPOT_ROAD_ORIENTATION_CAPTION :{WHITE}Orientació de la cotxera
|
||||
@@ -2712,7 +2718,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :terreny propiet
|
||||
STR_ABOUT_OPENTTD :{WHITE}Quant a l'OpenTTD
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Copyright original {COPYRIGHT} 1995 Chris Sawyer. Tots els drets reservats.
|
||||
STR_ABOUT_VERSION :{BLACK}Versió {REV} de l'OpenTTD
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2019 L'equip de l'OpenTTD
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-{STRING} L'equip de l'OpenTTD
|
||||
|
||||
# Framerate display window
|
||||
STR_FRAMERATE_CAPTION :{WHITE}Fotogrames per segon
|
||||
@@ -2732,6 +2738,7 @@ STR_FRAMERATE_MS_BAD :{RED}{DECIMAL}{
|
||||
STR_FRAMERATE_FPS_GOOD :{LTBLUE}{DECIMAL}{NBSP}fps
|
||||
STR_FRAMERATE_FPS_WARN :{YELLOW}{DECIMAL}{NBSP}fps
|
||||
STR_FRAMERATE_FPS_BAD :{RED}{DECIMAL}{NBSP}fps
|
||||
STR_FRAMERATE_BYTES_WARN :{YELLOW}{BYTES}
|
||||
STR_FRAMERATE_GRAPH_MILLISECONDS :{TINY_FONT}{COMMA}{NBSP}ms
|
||||
STR_FRAMERATE_GRAPH_SECONDS :{TINY_FONT}{COMMA}{NBSP}s
|
||||
############ Leave those lines in this order!!
|
||||
@@ -3097,6 +3104,7 @@ STR_TOWN_VIEW_RENAME_TOWN_BUTTON :Canvia el nom d
|
||||
|
||||
# Town local authority window
|
||||
STR_LOCAL_AUTHORITY_CAPTION :{WHITE}{TOWN} autoritat local
|
||||
STR_LOCAL_AUTHORITY_ZONE :{BLACK}Zona
|
||||
STR_LOCAL_AUTHORITY_COMPANY_RATINGS :{BLACK}Ratis de la companyia de transports:
|
||||
STR_LOCAL_AUTHORITY_COMPANY_RATING :{YELLOW}{COMPANY} {COMPANY_NUM}: {ORANGE}{STRING}
|
||||
STR_LOCAL_AUTHORITY_ACTIONS_TITLE :{BLACK}Accions disponibles:
|
||||
@@ -3354,6 +3362,7 @@ STR_COMPANY_INFRASTRUCTURE_VIEW_CAPTION :{WHITE}Infraest
|
||||
STR_COMPANY_INFRASTRUCTURE_VIEW_RAIL_SECT :{GOLD}Trossos de vies:
|
||||
STR_COMPANY_INFRASTRUCTURE_VIEW_SIGNALS :{WHITE}Senyals
|
||||
STR_COMPANY_INFRASTRUCTURE_VIEW_ROAD_SECT :{GOLD}Trossos de carretera:
|
||||
STR_COMPANY_INFRASTRUCTURE_VIEW_TRAM_SECT :{GOLD}Trossos de tramvia:
|
||||
STR_COMPANY_INFRASTRUCTURE_VIEW_WATER_SECT :{GOLD}Cel·les d'aigua:
|
||||
STR_COMPANY_INFRASTRUCTURE_VIEW_CANALS :{WHITE}Canals
|
||||
STR_COMPANY_INFRASTRUCTURE_VIEW_STATION_SECT :{GOLD}Estacions:
|
||||
@@ -3364,8 +3373,10 @@ STR_COMPANY_INFRASTRUCTURE_VIEW_TOTAL :{WHITE}{CURRENC
|
||||
# Industry directory
|
||||
STR_INDUSTRY_DIRECTORY_CAPTION :{WHITE}Indústries
|
||||
STR_INDUSTRY_DIRECTORY_NONE :{ORANGE}- Cap -
|
||||
STR_INDUSTRY_DIRECTORY_ITEM_INFO :{BLACK}{CARGO_LONG}{STRING}{YELLOW} (transportat: {COMMA}{NBSP}%){BLACK}
|
||||
STR_INDUSTRY_DIRECTORY_ITEM_NOPROD :{ORANGE}{INDUSTRY}
|
||||
STR_INDUSTRY_DIRECTORY_LIST_CAPTION :{BLACK}Nom de les indústries - clica al nom per centrar la vista en la indústria. Ctrl+Clic obre una nova vista al lloc de la indústria
|
||||
STR_INDUSTRY_DIRECTORY_FILTER_ALL_TYPES :Tots els tipus de càrrega
|
||||
|
||||
# Industry view
|
||||
STR_INDUSTRY_VIEW_CAPTION :{WHITE}{INDUSTRY}
|
||||
@@ -3462,6 +3473,7 @@ STR_BUY_VEHICLE_ROAD_VEHICLE_CAPTION :Compra de nous
|
||||
|
||||
############ range for vehicle availability starts
|
||||
STR_BUY_VEHICLE_TRAIN_ALL_CAPTION :Compra de nous vehicles sobre vies
|
||||
STR_BUY_VEHICLE_ROAD_VEHICLE_ALL_CAPTION :Automòbils nous
|
||||
STR_BUY_VEHICLE_SHIP_CAPTION :Compra de nous vaixells
|
||||
STR_BUY_VEHICLE_AIRCRAFT_CAPTION :Compra de noves aeronaus
|
||||
############ range for vehicle availability ends
|
||||
@@ -3477,6 +3489,7 @@ STR_PURCHASE_INFO_REFITTABLE :(remodelable)
|
||||
STR_PURCHASE_INFO_DESIGNED_LIFE :{BLACK}Dissenyat: {GOLD}{NUM}{BLACK} Vida: {GOLD}{COMMA} any{P "" s}
|
||||
STR_PURCHASE_INFO_RELIABILITY :{BLACK}Fiabilitat màxima: {GOLD}{COMMA}%
|
||||
STR_PURCHASE_INFO_COST :{BLACK}Cost: {GOLD}{CURRENCY_LONG}
|
||||
STR_PURCHASE_INFO_COST_REFIT :{BLACK}Cost: {GOLD}{CURRENCY_LONG}{BLACK} (Cost del remodelat: {GOLD}{CURRENCY_LONG}{BLACK})
|
||||
STR_PURCHASE_INFO_WEIGHT_CWEIGHT :{BLACK}Pes: {GOLD}{WEIGHT_SHORT} ({WEIGHT_SHORT})
|
||||
STR_PURCHASE_INFO_COST_SPEED :{BLACK}Cost: {GOLD}{CURRENCY_LONG}{BLACK} Velocitat: {GOLD}{VELOCITY}
|
||||
STR_PURCHASE_INFO_AIRCRAFT_CAPACITY :{BLACK}Capacitat: {GOLD}{CARGO_LONG}, {CARGO_LONG}
|
||||
@@ -3499,6 +3512,7 @@ STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_BUTTON :{BLACK}Compra e
|
||||
STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_BUTTON :{BLACK}Compra el vaixell
|
||||
STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_BUTTON :{BLACK}Compra l'aeronau
|
||||
|
||||
STR_BUY_VEHICLE_TRAIN_BUY_REFIT_VEHICLE_BUTTON :{BLACK}Compra i remodela vehicles
|
||||
|
||||
STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_TOOLTIP :{BLACK}Compra el tren/vagó seleccionat. Amb Maj+Clic, mostra el cost estimat sense comprar-lo.
|
||||
STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_TOOLTIP :{BLACK}Compra el vehicle marcat. Amb Maj+Clic, mostra el cost estimat sense comprar-lo.
|
||||
@@ -3620,6 +3634,7 @@ STR_ENGINE_PREVIEW_MONORAIL_LOCOMOTIVE :{G=Femenin}loco
|
||||
STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE :{G=Femenin}locomotora de maglev
|
||||
|
||||
STR_ENGINE_PREVIEW_ROAD_VEHICLE :{G=Masculin}automòbil
|
||||
STR_ENGINE_PREVIEW_TRAM_VEHICLE :tramvia
|
||||
|
||||
STR_ENGINE_PREVIEW_AIRCRAFT :{G=Masculin}avió
|
||||
STR_ENGINE_PREVIEW_SHIP :{G=Masculin}vaixell
|
||||
@@ -3669,6 +3684,8 @@ STR_REPLACE_ELRAIL_VEHICLES :Trens Elèctric
|
||||
STR_REPLACE_MONORAIL_VEHICLES :Trens monorail
|
||||
STR_REPLACE_MAGLEV_VEHICLES :Trens maglev
|
||||
|
||||
STR_REPLACE_ROAD_VEHICLES :Automòbils
|
||||
STR_REPLACE_TRAM_VEHICLES :Tramvies
|
||||
|
||||
STR_REPLACE_REMOVE_WAGON :{BLACK}Treure vagons: {ORANGE}{STRING}
|
||||
STR_REPLACE_REMOVE_WAGON_HELP :{BLACK}Fer que la substitució automàtica mantingui la llargada del tren eliminant vagons (començant pel front), si substituint la màquina el tren es fa més llarg
|
||||
@@ -4120,6 +4137,11 @@ STR_AI_LIST_ACCEPT_TOOLTIP :{BLACK}Seleccio
|
||||
STR_AI_LIST_CANCEL :{BLACK}Cancel·la
|
||||
STR_AI_LIST_CANCEL_TOOLTIP :{BLACK}No canviïs l'script.
|
||||
|
||||
STR_SCREENSHOT_SCREENSHOT :{BLACK}Captura de pantalla normal
|
||||
STR_SCREENSHOT_DEFAULTZOOM_SCREENSHOT :{BLACK}Zoom de la captura de pantalla per defecte
|
||||
STR_SCREENSHOT_HEIGHTMAP_SCREENSHOT :{BLACK}Captura de pantalla del mapa d'alçades
|
||||
STR_SCREENSHOT_MINIMAP_SCREENSHOT :{BLACK}Captura de pantalla del minimapa
|
||||
|
||||
# AI Parameters
|
||||
STR_AI_SETTINGS_CAPTION :{WHITE}Paràmetres {STRING}
|
||||
STR_AI_SETTINGS_CAPTION_AI :de la IA
|
||||
@@ -4392,6 +4414,7 @@ STR_ERROR_NO_SUITABLE_RAILROAD_TRACK :{WHITE}Via de t
|
||||
STR_ERROR_MUST_REMOVE_RAILROAD_TRACK :{WHITE}...abans s'ha de treure la via.
|
||||
STR_ERROR_CROSSING_ON_ONEWAY_ROAD :{WHITE}La carretera és un d'un sol sentit o està bloquejada
|
||||
STR_ERROR_CROSSING_DISALLOWED_RAIL :{WHITE}Els passos a nivell no estan permesos en aquest tipus de via
|
||||
STR_ERROR_CROSSING_DISALLOWED_ROAD :{WHITE}No s'admeten passos a nivell en aquest tipus de carretera.
|
||||
STR_ERROR_CAN_T_BUILD_SIGNALS_HERE :{WHITE}Aquí no es poden construir senyals...
|
||||
STR_ERROR_CAN_T_BUILD_RAILROAD_TRACK :{WHITE}Aquí no es pot construir la via de tren...
|
||||
STR_ERROR_CAN_T_REMOVE_RAILROAD_TRACK :{WHITE}Aquí no es pot treure la via de tren...
|
||||
@@ -4411,6 +4434,7 @@ STR_ERROR_CAN_T_REMOVE_ROAD_FROM :{WHITE}Aquí no
|
||||
STR_ERROR_CAN_T_REMOVE_TRAMWAY_FROM :{WHITE}No puc treure la via de tramvia d'aquí...
|
||||
STR_ERROR_THERE_IS_NO_ROAD :{WHITE}... no hi ha carretera
|
||||
STR_ERROR_THERE_IS_NO_TRAMWAY :{WHITE}... no hi ha via de tramvia
|
||||
STR_ERROR_INCOMPATIBLE_TRAMWAY :{WHITE}... El tipus de tramvia és incompatible.
|
||||
|
||||
# Waterway construction errors
|
||||
STR_ERROR_CAN_T_BUILD_CANALS :{WHITE}Aquí no es poden construir canals...
|
||||
|
||||
@@ -574,9 +574,6 @@ STR_ABOUT_MENU_SEPARATOR :
|
||||
STR_ABOUT_MENU_TOGGLE_CONSOLE :Otvori konzolu
|
||||
STR_ABOUT_MENU_AI_DEBUG :Debugiranje UI-ja/Skripte igre
|
||||
STR_ABOUT_MENU_SCREENSHOT :Slika zaslona
|
||||
STR_ABOUT_MENU_ZOOMIN_SCREENSHOT :Zumirano do kraja na slici zaslona
|
||||
STR_ABOUT_MENU_DEFAULTZOOM_SCREENSHOT :Standardno zumiranje slike zaslona
|
||||
STR_ABOUT_MENU_GIANT_SCREENSHOT :Slika zaslona cijele karte
|
||||
STR_ABOUT_MENU_SHOW_FRAMERATE :Prikaži broj sličica u sekundi
|
||||
STR_ABOUT_MENU_ABOUT_OPENTTD :O 'OpenTTD'
|
||||
STR_ABOUT_MENU_SPRITE_ALIGNER :Poravnanje spritea
|
||||
@@ -747,9 +744,6 @@ STR_MUSIC_PLAYLIST_CUSTOM_1 :{TINY_FONT}{BLA
|
||||
STR_MUSIC_PLAYLIST_CUSTOM_2 :{TINY_FONT}{BLACK}Proizvoljno 2
|
||||
STR_MUSIC_MUSIC_VOLUME :{TINY_FONT}{BLACK}Glasnoća glazbe
|
||||
STR_MUSIC_EFFECTS_VOLUME :{TINY_FONT}{BLACK}Glasnoća zvukova
|
||||
STR_MUSIC_RULER_MIN :{TINY_FONT}{BLACK}MIN
|
||||
STR_MUSIC_RULER_MAX :{TINY_FONT}{BLACK}MAX
|
||||
STR_MUSIC_RULER_MARKER :{TINY_FONT}{BLACK}'
|
||||
STR_MUSIC_TRACK_NONE :{TINY_FONT}{DKGREEN}--
|
||||
STR_MUSIC_TRACK_DIGIT :{TINY_FONT}{DKGREEN}{ZEROFILL_NUM}
|
||||
STR_MUSIC_TITLE_NONE :{TINY_FONT}{DKGREEN}------
|
||||
@@ -966,6 +960,7 @@ STR_NEWS_NEW_VEHICLE_NOW_AVAILABLE :{BIG_FONT}{BLAC
|
||||
STR_NEWS_NEW_VEHICLE_TYPE :{BIG_FONT}{BLACK}{ENGINE}
|
||||
STR_NEWS_NEW_VEHICLE_NOW_AVAILABLE_WITH_TYPE :{BLACK}Novi {STRING} je sada dostupan! - {ENGINE}
|
||||
|
||||
STR_NEWS_SHOW_VEHICLE_GROUP_TOOLTIP :{BLACK}Otvori prozor grupe fokusiran na grupu odabranog vozila
|
||||
|
||||
STR_NEWS_STATION_NO_LONGER_ACCEPTS_CARGO :{WHITE}{STATION} više ne prihvaća {STRING.aku}
|
||||
STR_NEWS_STATION_NO_LONGER_ACCEPTS_CARGO_OR_CARGO :{WHITE}{STATION} više ne prihvaća {STRING.aku} ili {STRING.aku}
|
||||
@@ -1410,6 +1405,8 @@ STR_CONFIG_SETTING_POPULATION_IN_LABEL :Prikaži broj s
|
||||
STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :Prikaži broj stanovnika uz nazive gradova na karti
|
||||
STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Debljina linija u grafikonima: {STRING}
|
||||
STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Debljina linije u grafikonima. Tanja linija je preciznija za čitanje, deblja linija je lakša za vidjeti i boje su lakše za razabrati
|
||||
STR_CONFIG_SETTING_SHOW_NEWGRF_NAME :Prikaži ime NewGRF-a u prozoru za izgradnju vozila: {STRING}
|
||||
STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :Dodaj redak u prozor izgradnje vozila koji će pokazati iz kojeg NewGRF-a dolazi odabrano vozilo.
|
||||
|
||||
STR_CONFIG_SETTING_LANDSCAPE :Krajolik: {STRING}
|
||||
STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :Tereni određuju osnovne scenarije za igru s različitim teretima i preduvjetima za rast gradova. NewGRF-ovi i Skripte Igre omogućavaju detaljnije kontrole i postavke.
|
||||
@@ -1647,6 +1644,10 @@ STR_CONFIG_SETTING_NEWS_MESSAGES_FULL :Sve
|
||||
STR_CONFIG_SETTING_COLOURED_NEWS_YEAR :Vijesti u boji pojavljuju se: {STRING}
|
||||
STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT :Godina u kojoj će se novine početi izdavati u boji. Prije ove godine, koriste se crno/bijele novine
|
||||
STR_CONFIG_SETTING_STARTING_YEAR :Početna godina: {STRING}
|
||||
STR_CONFIG_SETTING_ENDING_YEAR :Godina kraja bodovanja: {STRING}
|
||||
STR_CONFIG_SETTING_ENDING_YEAR_HELPTEXT :Godina koje igra završava u smislu bodovanja. Na kraju ove godine, bilježe se bodovi kompanije i prikazuje se tablica najviših bodova ali igrači mogu nastaviti igru.{}Ako je ovo prije početne godine, tablica najviših bodova se nikada neće prikazati.
|
||||
STR_CONFIG_SETTING_ENDING_YEAR_VALUE :{NUM}
|
||||
STR_CONFIG_SETTING_ENDING_YEAR_ZERO :Nikada
|
||||
STR_CONFIG_SETTING_SMOOTH_ECONOMY :Uključi stabilno gospodarstvo (više manjih izazova): {STRING}
|
||||
STR_CONFIG_SETTING_SMOOTH_ECONOMY_HELPTEXT :Kada je uključeno, promjene u industrijskoj proizvodnji su češće ali u manjim rasponima. Ova postavka obično nema efekta ukoliko su industrije postavljene iz nekog NewGRF-a
|
||||
STR_CONFIG_SETTING_ALLOW_SHARES :Dopusti kupovanje udjela u drugim tvrtkama: {STRING}
|
||||
@@ -2263,6 +2264,7 @@ STR_NETWORK_ERROR_WRONG_PASSWORD :{WHITE}Pogrešn
|
||||
STR_NETWORK_ERROR_SERVER_FULL :{WHITE}Poslužitelj je pun
|
||||
STR_NETWORK_ERROR_SERVER_BANNED :{WHITE}Zabranjen ti je pristup ovom poslužitelju
|
||||
STR_NETWORK_ERROR_KICKED :{WHITE}Izbačen si iz igre
|
||||
STR_NETWORK_ERROR_KICK_MESSAGE :{WHITE}Razlog: {STRING}
|
||||
STR_NETWORK_ERROR_CHEATER :{WHITE}Na ovome poslužitelju varanje nije dopušteno
|
||||
STR_NETWORK_ERROR_TOO_MANY_COMMANDS :{WHITE}Slali ste previše naredbi na server
|
||||
STR_NETWORK_ERROR_TIMEOUT_PASSWORD :{WHITE}Trebalo vam je previše vremena za unošenje lozinke
|
||||
@@ -2322,6 +2324,7 @@ STR_NETWORK_MESSAGE_GIVE_MONEY :*** {STRING} je
|
||||
STR_NETWORK_MESSAGE_GAVE_MONEY_AWAY :*** Dao si {1:STRING} {2:CURRENCY_LONG}
|
||||
STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}Poslužitelj je zatvorio sesiju
|
||||
STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}Poslužitelj se ponovno pokreće...{}Molimo pričekajte...
|
||||
STR_NETWORK_MESSAGE_KICKED :*** {STRING} je izbačen. Razlog: ({STRING})
|
||||
|
||||
# Content downloading window
|
||||
STR_CONTENT_TITLE :{WHITE}Preuzimanje sadržaja
|
||||
@@ -2829,7 +2832,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Zemlja u posjed
|
||||
STR_ABOUT_OPENTTD :{WHITE}O OpenTTD-u
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Izvorno autorsko pravo {COPYRIGHT} 1995 Chris Sawyer, sva prava pridržana
|
||||
STR_ABOUT_VERSION :{BLACK}OpenTTD verzija {REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2019 OpenTTD tim
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-{STRING} OpenTTD tim
|
||||
|
||||
# Framerate display window
|
||||
STR_FRAMERATE_CAPTION :{WHITE}Broj sličica
|
||||
@@ -3496,6 +3499,10 @@ STR_INDUSTRY_DIRECTORY_ITEM_PROD2 :{ORANGE}{INDUST
|
||||
STR_INDUSTRY_DIRECTORY_ITEM_PROD3 :{ORANGE}{INDUSTRY} {STRING}, {STRING}, {STRING}
|
||||
STR_INDUSTRY_DIRECTORY_ITEM_PRODMORE :{ORANGE}{INDUSTRY} {STRING}, {STRING}, {STRING} i {NUM} više...
|
||||
STR_INDUSTRY_DIRECTORY_LIST_CAPTION :{BLACK}Imena industrija - za centriranje pogleda klikni na ime. Ctrl+klik otvara novi prozor sa lokacijom industrije
|
||||
STR_INDUSTRY_DIRECTORY_ACCEPTED_CARGO_FILTER :{BLACK}Prihvaćeni teret: {SILVER}{STRING}
|
||||
STR_INDUSTRY_DIRECTORY_PRODUCED_CARGO_FILTER :{BLACK}Proizvedeni teret: {SILVER}{STRING}
|
||||
STR_INDUSTRY_DIRECTORY_FILTER_ALL_TYPES :Sve vrste tereta
|
||||
STR_INDUSTRY_DIRECTORY_FILTER_NONE :Ništa
|
||||
|
||||
# Industry view
|
||||
STR_INDUSTRY_VIEW_CAPTION :{WHITE}{INDUSTRY}
|
||||
@@ -4270,6 +4277,14 @@ STR_AI_LIST_ACCEPT_TOOLTIP :{BLACK}Odaberi
|
||||
STR_AI_LIST_CANCEL :{BLACK}Odustani
|
||||
STR_AI_LIST_CANCEL_TOOLTIP :{BLACK}Nemoj mijenjati skriptu
|
||||
|
||||
STR_SCREENSHOT_CAPTION :{WHITE}Napravi sliku zaslova
|
||||
STR_SCREENSHOT_SCREENSHOT :{BLACK}Normalna snimka zaslona
|
||||
STR_SCREENSHOT_ZOOMIN_SCREENSHOT :{BLACK}Maksimalno zumirana slika zaslona
|
||||
STR_SCREENSHOT_DEFAULTZOOM_SCREENSHOT :{BLACK}Snimka ekrana sa zumom osnovne postavke
|
||||
STR_SCREENSHOT_WORLD_SCREENSHOT :{BLACK}Slika cijele mape
|
||||
STR_SCREENSHOT_HEIGHTMAP_SCREENSHOT :{BLACK}Slika visinske mape
|
||||
STR_SCREENSHOT_MINIMAP_SCREENSHOT :{BLACK}Slika mini-mape
|
||||
|
||||
# AI Parameters
|
||||
STR_AI_SETTINGS_CAPTION :{WHITE}{STRING} Parametri
|
||||
STR_AI_SETTINGS_CAPTION_AI :UI
|
||||
@@ -4566,7 +4581,6 @@ STR_ERROR_CAN_T_CONVERT_ROAD :{WHITE}Ovdje ni
|
||||
STR_ERROR_CAN_T_CONVERT_TRAMWAY :{WHITE}Ovdje nije moguće pretvoriti tramvajsku prugu...
|
||||
STR_ERROR_NO_SUITABLE_ROAD :{WHITE}Nema prikladne ceste
|
||||
STR_ERROR_NO_SUITABLE_TRAMWAY :{WHITE}Nema prikladne tramvajske pruge
|
||||
STR_ERROR_INCOMPATIBLE_ROAD :{WHITE}... nekompatibilna cesta
|
||||
STR_ERROR_INCOMPATIBLE_TRAMWAY :{WHITE}... nekompatibilna tramvajska pruga
|
||||
|
||||
# Waterway construction errors
|
||||
|
||||
@@ -553,9 +553,6 @@ STR_ABOUT_MENU_SEPARATOR :
|
||||
STR_ABOUT_MENU_TOGGLE_CONSOLE :Zobrazit nebo skrýt konzoli
|
||||
STR_ABOUT_MENU_AI_DEBUG :Ladění AI / herních skriptů
|
||||
STR_ABOUT_MENU_SCREENSHOT :Screenshot
|
||||
STR_ABOUT_MENU_ZOOMIN_SCREENSHOT :Screenshot v plném přiblížení
|
||||
STR_ABOUT_MENU_DEFAULTZOOM_SCREENSHOT :Screenshot ve výchozím přiblížení
|
||||
STR_ABOUT_MENU_GIANT_SCREENSHOT :Screenshot celé mapy
|
||||
STR_ABOUT_MENU_SHOW_FRAMERATE :Zobrazit počet snímků za sekundu
|
||||
STR_ABOUT_MENU_ABOUT_OPENTTD :O 'OpenTTD'
|
||||
STR_ABOUT_MENU_SPRITE_ALIGNER :Zarovnávání spritů
|
||||
@@ -738,9 +735,6 @@ STR_MUSIC_PLAYLIST_CUSTOM_1 :{TINY_FONT}{BLA
|
||||
STR_MUSIC_PLAYLIST_CUSTOM_2 :{TINY_FONT}{BLACK}Volba 2
|
||||
STR_MUSIC_MUSIC_VOLUME :{TINY_FONT}{BLACK}Hlasitost hudby
|
||||
STR_MUSIC_EFFECTS_VOLUME :{TINY_FONT}{BLACK}Hlasitost efektů
|
||||
STR_MUSIC_RULER_MIN :{TINY_FONT}{BLACK}MIN
|
||||
STR_MUSIC_RULER_MAX :{TINY_FONT}{BLACK}MAX
|
||||
STR_MUSIC_RULER_MARKER :{TINY_FONT}{BLACK}'
|
||||
STR_MUSIC_TRACK_NONE :{TINY_FONT}{DKGREEN}--
|
||||
STR_MUSIC_TRACK_DIGIT :{TINY_FONT}{DKGREEN}{ZEROFILL_NUM}
|
||||
STR_MUSIC_TITLE_NONE :{TINY_FONT}{DKGREEN}------
|
||||
@@ -1401,6 +1395,8 @@ STR_CONFIG_SETTING_POPULATION_IN_LABEL :Zobrazovat popu
|
||||
STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :Zobrazovat městskou populaci u názvu města na mapě
|
||||
STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Tloušťky čar v grafech: {STRING}
|
||||
STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Tloušťka čáry v grafech. Tenká čára se čte přesněji, silnější je lépe viditelná a barva je snadněji rozpoznatelná.
|
||||
STR_CONFIG_SETTING_SHOW_NEWGRF_NAME :Zobrazovat název NewGRF v okně nákupu vozidel: {STRING}
|
||||
STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :Přidá řádek do okna nákupu vozidel informující, ze které NewGRF vybrané vozidlo pochází.
|
||||
|
||||
STR_CONFIG_SETTING_LANDSCAPE :Klima: {STRING}
|
||||
STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :Klima určuje základy herního scénáře s rozdílnými druhy nákladu a požadavky na růst měst. Nové GRaFiky a Herní Skripty umožní ještě jemnější kontrolu
|
||||
@@ -1638,6 +1634,10 @@ STR_CONFIG_SETTING_NEWS_MESSAGES_FULL :Plná
|
||||
STR_CONFIG_SETTING_COLOURED_NEWS_YEAR :Barevné noviny se objeví v roce: {STRING}
|
||||
STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT :Rok od kterého budou novinová oznámeni zobrazena v barvách. Před tímto rokem jsou černobílá.
|
||||
STR_CONFIG_SETTING_STARTING_YEAR :Počáteční datum: {STRING}
|
||||
STR_CONFIG_SETTING_ENDING_YEAR :Rok vyhodnocení: {STRING}
|
||||
STR_CONFIG_SETTING_ENDING_YEAR_HELPTEXT :Rok, kdy je ve hře uzavřeno hodnocení společností. Na konci tohoto roku je zaznamenáno skóre společností a je zobrazena tabulka nejlepších společností, ale ve hře je možné pokračovat i dál.{}Pokud je nastaven rok před rokem počátku hry, tabulka s hodnocením nebude zobrazena nikdy.
|
||||
STR_CONFIG_SETTING_ENDING_YEAR_VALUE :{NUM}
|
||||
STR_CONFIG_SETTING_ENDING_YEAR_ZERO :Nikdy
|
||||
STR_CONFIG_SETTING_SMOOTH_ECONOMY :Plynulé změny ekonomiky (více menších změn): {STRING}
|
||||
STR_CONFIG_SETTING_SMOOTH_ECONOMY_HELPTEXT :Pokud je zapnuto, produkce průmyslu se mění častěji ale změny jsou menší. Toto nastavení většinou nemá vliv na průmysl, který je přidaný novou grafikou
|
||||
STR_CONFIG_SETTING_ALLOW_SHARES :Povolit kupování podílu z ostatních společností: {STRING}
|
||||
@@ -2254,6 +2254,7 @@ STR_NETWORK_ERROR_WRONG_PASSWORD :{WHITE}Špatné
|
||||
STR_NETWORK_ERROR_SERVER_FULL :{WHITE}Server je plný
|
||||
STR_NETWORK_ERROR_SERVER_BANNED :{WHITE}Jsi blokován serverem
|
||||
STR_NETWORK_ERROR_KICKED :{WHITE}Byl jsi vyhozen ze hry
|
||||
STR_NETWORK_ERROR_KICK_MESSAGE :{WHITE}Důvod: {STRING}
|
||||
STR_NETWORK_ERROR_CHEATER :{WHITE}Používání cheatů není na tomto serveru povoleno
|
||||
STR_NETWORK_ERROR_TOO_MANY_COMMANDS :{WHITE}Posíláte serveru příliš mnoho příkazů
|
||||
STR_NETWORK_ERROR_TIMEOUT_PASSWORD :{WHITE}Vložení hesla ti trvalo příliš dlouho
|
||||
@@ -2313,6 +2314,7 @@ STR_NETWORK_MESSAGE_GIVE_MONEY :*** {STRING} po
|
||||
STR_NETWORK_MESSAGE_GAVE_MONEY_AWAY :*** Dal(a) jsi {1:STRING} {2:CURRENCY_LONG}
|
||||
STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}Server ukončil relaci
|
||||
STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}Server se restartuje...{}Počkejte prosím...
|
||||
STR_NETWORK_MESSAGE_KICKED :*** {STRING} byl vyhozen. Důvod: ({STRING})
|
||||
|
||||
# Content downloading window
|
||||
STR_CONTENT_TITLE :{WHITE}Součásti ke stažení
|
||||
@@ -2826,7 +2828,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Půda vlastněn
|
||||
STR_ABOUT_OPENTTD :{WHITE}O OpenTTD
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Původní copyright: {COPYRIGHT} 1995 Chris Sawyer, všechna práva vyhrazena
|
||||
STR_ABOUT_VERSION :{BLACK}OpenTTD verze {REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2019 Tým OpenTTD
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-{STRING} Tým OpenTTD
|
||||
|
||||
# Framerate display window
|
||||
STR_FRAMERATE_CAPTION :{WHITE}Počet snímků za sekundu
|
||||
@@ -3484,8 +3486,17 @@ STR_COMPANY_INFRASTRUCTURE_VIEW_TOTAL :{WHITE}{CURRENC
|
||||
# Industry directory
|
||||
STR_INDUSTRY_DIRECTORY_CAPTION :{WHITE}Průmysl
|
||||
STR_INDUSTRY_DIRECTORY_NONE :{ORANGE}- Nic -
|
||||
STR_INDUSTRY_DIRECTORY_ITEM_INFO :{BLACK}{CARGO_LONG}{STRING}{YELLOW} ({COMMA}% přepraveno){BLACK}
|
||||
STR_INDUSTRY_DIRECTORY_ITEM_NOPROD :{ORANGE}{INDUSTRY}
|
||||
STR_INDUSTRY_DIRECTORY_ITEM_PROD1 :{ORANGE}{INDUSTRY} {STRING}
|
||||
STR_INDUSTRY_DIRECTORY_ITEM_PROD2 :{ORANGE}{INDUSTRY} {STRING}, {STRING}
|
||||
STR_INDUSTRY_DIRECTORY_ITEM_PROD3 :{ORANGE}{INDUSTRY} {STRING}, {STRING}, {STRING}
|
||||
STR_INDUSTRY_DIRECTORY_ITEM_PRODMORE :{ORANGE}{INDUSTRY} {STRING}, {STRING}, {STRING} a {NUM} další...
|
||||
STR_INDUSTRY_DIRECTORY_LIST_CAPTION :{BLACK}Název průmyslu - pohled na něj zaměříš kliknutím na jeho jméno. Při stisknutém Ctrl otevřeš nový pohled
|
||||
STR_INDUSTRY_DIRECTORY_ACCEPTED_CARGO_FILTER :{BLACK}Přijímá náklad: {SILVER}{STRING}
|
||||
STR_INDUSTRY_DIRECTORY_PRODUCED_CARGO_FILTER :{BLACK}Produkuje náklad: {SILVER}{STRING}
|
||||
STR_INDUSTRY_DIRECTORY_FILTER_ALL_TYPES :Všechny druhy nákladu
|
||||
STR_INDUSTRY_DIRECTORY_FILTER_NONE :Žádný
|
||||
|
||||
# Industry view
|
||||
STR_INDUSTRY_VIEW_CAPTION :{WHITE}{INDUSTRY}
|
||||
@@ -4263,6 +4274,14 @@ STR_AI_LIST_ACCEPT_TOOLTIP :{BLACK}Vybrat o
|
||||
STR_AI_LIST_CANCEL :{BLACK}Zrušit
|
||||
STR_AI_LIST_CANCEL_TOOLTIP :{BLACK}Neměňte skript
|
||||
|
||||
STR_SCREENSHOT_CAPTION :{WHITE}Pořídit snímek obrazovky
|
||||
STR_SCREENSHOT_SCREENSHOT :{BLACK}Běžný snímek obrazovky
|
||||
STR_SCREENSHOT_ZOOMIN_SCREENSHOT :{BLACK}Snímek obrazovky v úplném přiblížení
|
||||
STR_SCREENSHOT_DEFAULTZOOM_SCREENSHOT :{BLACK}Snímek obrazovky ve výchozím přiblížení
|
||||
STR_SCREENSHOT_WORLD_SCREENSHOT :{BLACK}Snímek celé mapy
|
||||
STR_SCREENSHOT_HEIGHTMAP_SCREENSHOT :{BLACK}Snímek výškové mapy
|
||||
STR_SCREENSHOT_MINIMAP_SCREENSHOT :{BLACK}Snímek (náhledové) mapy světa
|
||||
|
||||
# AI Parameters
|
||||
STR_AI_SETTINGS_CAPTION :{WHITE}{STRING} Parametry
|
||||
STR_AI_SETTINGS_CAPTION_AI :AI
|
||||
@@ -4559,7 +4578,6 @@ STR_ERROR_CAN_T_CONVERT_ROAD :{WHITE}Zde nelz
|
||||
STR_ERROR_CAN_T_CONVERT_TRAMWAY :{WHITE}Zde nelze změnit druh tramvajové tratě...
|
||||
STR_ERROR_NO_SUITABLE_ROAD :{WHITE}Neexistuje vhodná silnice
|
||||
STR_ERROR_NO_SUITABLE_TRAMWAY :{WHITE}Neexistuje vhodná tramvajová trať
|
||||
STR_ERROR_INCOMPATIBLE_ROAD :{WHITE}... nevhodný druh silnice
|
||||
STR_ERROR_INCOMPATIBLE_TRAMWAY :{WHITE}... nevhodný typ tramvajové tratě
|
||||
|
||||
# Waterway construction errors
|
||||
|
||||
@@ -235,6 +235,8 @@ STR_TOOLTIP_FILTER_CRITERIA :{BLACK}Vælg fi
|
||||
STR_BUTTON_SORT_BY :{BLACK}Sortér på
|
||||
STR_BUTTON_LOCATION :{BLACK}Lokalitet
|
||||
STR_BUTTON_RENAME :{BLACK}Omdøb
|
||||
STR_BUTTON_CATCHMENT :{BLACK}Dækning
|
||||
STR_TOOLTIP_CATCHMENT :{BLACK}Aktiver visning af dækningsområde
|
||||
|
||||
STR_TOOLTIP_CLOSE_WINDOW :{BLACK}Luk vindue
|
||||
STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS :{BLACK}Vinduestitel - træk her for at flytte vinduet
|
||||
@@ -263,6 +265,7 @@ STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT_TOOLTIP :{BLACK}Ved at a
|
||||
STR_BUTTON_DEFAULT :{BLACK}Standard
|
||||
STR_BUTTON_CANCEL :{BLACK}Annuller
|
||||
STR_BUTTON_OK :{BLACK}OK
|
||||
STR_WARNING_PASSWORD_SECURITY :{YELLOW}Advarsel: Server administratoren kan være i stand til at læse al tekst skrevet her.
|
||||
|
||||
# On screen keyboard window
|
||||
STR_OSK_KEYBOARD_LAYOUT :`1234567890-=\qwertyuiop[]asdfghjkl;' zxcvbnm,./ .
|
||||
@@ -336,6 +339,7 @@ STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_IN :{BLACK}Zoom ind
|
||||
STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_OUT :{BLACK}Zoom ud
|
||||
STR_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}Byg jernbanespor
|
||||
STR_TOOLBAR_TOOLTIP_BUILD_ROADS :{BLACK}Byg veje
|
||||
STR_TOOLBAR_TOOLTIP_BUILD_TRAMWAYS :{BLACK}Byg sporveje
|
||||
STR_TOOLBAR_TOOLTIP_BUILD_SHIP_DOCKS :{BLACK}Byg havne
|
||||
STR_TOOLBAR_TOOLTIP_BUILD_AIRPORTS :{BLACK}Byg lufthavne
|
||||
STR_TOOLBAR_TOOLTIP_LANDSCAPING :{BLACK}Åbn landskabsværktøjslinjen for at hæve/sænke terræn, plante træer, osv.
|
||||
@@ -474,9 +478,6 @@ STR_ABOUT_MENU_SEPARATOR :
|
||||
STR_ABOUT_MENU_TOGGLE_CONSOLE :Tænd/Sluk konsol
|
||||
STR_ABOUT_MENU_AI_DEBUG :Computerspiller/spilscript debug
|
||||
STR_ABOUT_MENU_SCREENSHOT :Skærmbillede (Ctrl-S)
|
||||
STR_ABOUT_MENU_ZOOMIN_SCREENSHOT :Fuldt zoomet skærmbillede
|
||||
STR_ABOUT_MENU_DEFAULTZOOM_SCREENSHOT :Standard zoom skærmbillede
|
||||
STR_ABOUT_MENU_GIANT_SCREENSHOT :Kæmpe skærmbillede (Ctrl-G)
|
||||
STR_ABOUT_MENU_SHOW_FRAMERATE :Vis spilhastighed
|
||||
STR_ABOUT_MENU_ABOUT_OPENTTD :Om 'OpenTTD'
|
||||
STR_ABOUT_MENU_SPRITE_ALIGNER :Spritejustering
|
||||
@@ -647,9 +648,6 @@ STR_MUSIC_PLAYLIST_CUSTOM_1 :{TINY_FONT}{BLA
|
||||
STR_MUSIC_PLAYLIST_CUSTOM_2 :{TINY_FONT}{BLACK}Custom 2
|
||||
STR_MUSIC_MUSIC_VOLUME :{TINY_FONT}{BLACK}Musik lydstyrke
|
||||
STR_MUSIC_EFFECTS_VOLUME :{TINY_FONT}{BLACK}Effekt lydstyrke
|
||||
STR_MUSIC_RULER_MIN :{TINY_FONT}{BLACK}MIN
|
||||
STR_MUSIC_RULER_MAX :{TINY_FONT}{BLACK}MAKS
|
||||
STR_MUSIC_RULER_MARKER :{TINY_FONT}{BLACK}'
|
||||
STR_MUSIC_TRACK_NONE :{TINY_FONT}{DKGREEN}--
|
||||
STR_MUSIC_TRACK_DIGIT :{TINY_FONT}{DKGREEN}{ZEROFILL_NUM}
|
||||
STR_MUSIC_TITLE_NONE :{TINY_FONT}{DKGREEN}------
|
||||
@@ -859,13 +857,14 @@ STR_NEWS_VEHICLE_IS_LOST :{WHITE}{VEHICLE
|
||||
STR_NEWS_VEHICLE_IS_UNPROFITABLE :{WHITE}{VEHICLE}s indtjening sidste år var {CURRENCY_LONG}
|
||||
STR_NEWS_AIRCRAFT_DEST_TOO_FAR :{WHITE}{VEHICLE} kan ikke nå til næste destination, da den er uden for rækkevidde
|
||||
|
||||
STR_NEWS_ORDER_REFIT_FAILED :{WHITE}{VEHICLE} stoppet fordi en ombygnings ordre fejlede
|
||||
STR_NEWS_ORDER_REFIT_FAILED :{WHITE}{VEHICLE} stoppet fordi en tilpasningsordre fejlede
|
||||
STR_NEWS_VEHICLE_AUTORENEW_FAILED :{WHITE}Automatisk fornyelse mislykkedes for {VEHICLE}{}{STRING}
|
||||
|
||||
STR_NEWS_NEW_VEHICLE_NOW_AVAILABLE :{BIG_FONT}{BLACK}Ny {STRING} er nu tilgængelig!
|
||||
STR_NEWS_NEW_VEHICLE_TYPE :{BIG_FONT}{BLACK}{ENGINE}
|
||||
STR_NEWS_NEW_VEHICLE_NOW_AVAILABLE_WITH_TYPE :{BLACK}Ny {STRING} er nu tilgængelig! - {ENGINE}
|
||||
|
||||
STR_NEWS_SHOW_VEHICLE_GROUP_TOOLTIP :{BLACK}Åbn gruppevinduet med fokus på dette fartøjs gruppe
|
||||
|
||||
STR_NEWS_STATION_NO_LONGER_ACCEPTS_CARGO :{WHITE}{STATION} accepterer ikke længere {STRING}
|
||||
STR_NEWS_STATION_NO_LONGER_ACCEPTS_CARGO_OR_CARGO :{WHITE}{STATION} accepterer ikke længere {STRING} eller {STRING}
|
||||
@@ -933,6 +932,9 @@ STR_GAME_OPTIONS_CURRENCY_GEL :Georgiske Lari
|
||||
STR_GAME_OPTIONS_CURRENCY_IRR :Iranske Rialer (IRR)
|
||||
STR_GAME_OPTIONS_CURRENCY_RUB :Ny Russisk Rubel (RUB)
|
||||
STR_GAME_OPTIONS_CURRENCY_MXN :Meksikansk Peso (MXN)
|
||||
STR_GAME_OPTIONS_CURRENCY_NTD :Ny Taiwan dollar (NTD)
|
||||
STR_GAME_OPTIONS_CURRENCY_CNY :Kinesisk Renminbi (CNY)
|
||||
STR_GAME_OPTIONS_CURRENCY_HKD :Hong Kong Dollar (HKD)
|
||||
############ end of currency region
|
||||
|
||||
STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}Vejkøretøjer
|
||||
@@ -1307,6 +1309,8 @@ STR_CONFIG_SETTING_POPULATION_IN_LABEL :Vis byens indby
|
||||
STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :Vis befolkningen i byerne i deres etiket på kortet
|
||||
STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Linjetykkelse i grafer: {STRING}
|
||||
STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Bredde af linjerne i graferne. En tynd linie er mere læsbar, en tykkere linje er nemmere at se og det er lettere at skelne mellem farverne
|
||||
STR_CONFIG_SETTING_SHOW_NEWGRF_NAME :Vis navn på NewGRF i byg fartøj vinduet: {STRING}
|
||||
STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :Tilføjer en linje til byg fartøj vinduet som viser, hvilken NewGRF det valgte fartøj stammer fra.
|
||||
|
||||
STR_CONFIG_SETTING_LANDSCAPE :Landskab: {STRING}
|
||||
STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :Landskaber definerer grundlæggende gameplay-scenarier med forskellige laster og krav by vækst. NewGRF og spil Scripts tillader finere kontrol selv
|
||||
@@ -1318,8 +1322,8 @@ STR_CONFIG_SETTING_TERRAIN_TYPE :Terræn type: {
|
||||
STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :(TerraGenesis only) Hilliness af landskabet
|
||||
STR_CONFIG_SETTING_INDUSTRY_DENSITY :Industri tæthed: {STRING}
|
||||
STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :Angiv hvor mange industrier skal genereres og hvilket niveau der bevares i løbet af spillet
|
||||
STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Max afstand fra kant til olieraffinaderier: {STRING}
|
||||
STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Olieraffinaderier er kun opføres nær kortets grænse, det er ved kysten for kort med øer
|
||||
STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Maksimal afstand fra kant til olieindustrier: {STRING}
|
||||
STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Grænse for hvor langt fra kortets kant olieraffinaderier kan blive bygget. På ø-kort sikrer dette at de er nær kysten. På kort større end 256 felter bliver denne værdi automatisk skaleret op.
|
||||
STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Snelinjehøjden: {STRING}
|
||||
STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :Kontrol med på hvilket højde sneen begynder i sub-arktiske landskab. Sne påvirker også industrien generation og betingelser by vækst
|
||||
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Tærrenets hårdhed (kun TerraGenesis) : {STRING}
|
||||
@@ -1483,6 +1487,9 @@ STR_CONFIG_SETTING_AI_IN_MULTIPLAYER :Tillad computer
|
||||
STR_CONFIG_SETTING_AI_IN_MULTIPLAYER_HELPTEXT :Tillad computerstyrede spillere at deltage i multiplayer spil
|
||||
STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES :#opcodes før scriptet bliver stoppet: {STRING}
|
||||
STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES_HELPTEXT :Maximale nummer af udregninger et script kan eksekvere i en tur
|
||||
STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY :Maks hukommelsesforbrug per script: {STRING}
|
||||
STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_HELPTEXT :Hvor meget hukommelse et enkelt script må anvende før det bliver tvungent afbrudt. Det kan være nødvendigt at forøge dette for spil på store kort.
|
||||
STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_VALUE :{COMMA} MiB
|
||||
|
||||
STR_CONFIG_SETTING_SERVINT_ISPERCENT :Service intervaller er i procent: {STRING}
|
||||
STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT :Vælg om vedligeholdelse bliver udløst af forløbet tid, eller pålideligheden som falder en givet procenttal i forhold til maximum pålideligheden
|
||||
@@ -1541,10 +1548,16 @@ STR_CONFIG_SETTING_NEWS_MESSAGES_FULL :Fuld
|
||||
STR_CONFIG_SETTING_COLOURED_NEWS_YEAR :Farvede nyheder dukker op i: {STRING}
|
||||
STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT :Året hvor nyheds-annonceringer bliver udskrevet i farver. Før dette år, bruger det sort / hvid
|
||||
STR_CONFIG_SETTING_STARTING_YEAR :Start dato: {STRING}
|
||||
STR_CONFIG_SETTING_ENDING_YEAR :Slutår for pointoptælling: {STRING}
|
||||
STR_CONFIG_SETTING_ENDING_YEAR_HELPTEXT :Årstal hvor spillet slutter pointoptælling. Ved slutningen af dette år bliver selskabets point optaget, og topresultater-skærmen bliver vist. Spillerne kan fortsætte med at spille efter dette.{}Hvis dette er før spillets start år, bliver topresultater-skærmen aldrig vist.
|
||||
STR_CONFIG_SETTING_ENDING_YEAR_VALUE :{NUM}
|
||||
STR_CONFIG_SETTING_ENDING_YEAR_ZERO :Aldrig
|
||||
STR_CONFIG_SETTING_SMOOTH_ECONOMY :Aktiver rolig økonomi (flere små ændringer): {STRING}
|
||||
STR_CONFIG_SETTING_SMOOTH_ECONOMY_HELPTEXT :Når slået til, ændre industriproduktion oftere, og i små trin. Denne indstilling har normalt ingen effekt, hvis industrityper er fastsat af NewGRF
|
||||
STR_CONFIG_SETTING_ALLOW_SHARES :Tillad at købe aktier i andre selskaber: {STRING}
|
||||
STR_CONFIG_SETTING_ALLOW_SHARES_HELPTEXT :Hvis aktiveret, tillades køb og salg af selskabsaktier. Aktier vil kun være tilgængelige for selskaber der er nået en hvis alder
|
||||
STR_CONFIG_SETTING_MIN_YEARS_FOR_SHARES :Mindste selskabsalder for aktiehandel: {STRING}
|
||||
STR_CONFIG_SETTING_MIN_YEARS_FOR_SHARES_HELPTEXT :Indstil mindste alder på selskaber, før andre kan købe og sælge aktier i dem.
|
||||
STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE :Procentdel af deloverskud som skal betales i hovedsystemer: {STRING}
|
||||
STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE_HELPTEXT :Procentdel af indkomst givet til de mellemliggende dele i hovedsystemer, giver mere kontrol over indkomst
|
||||
STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY :Når der trækkes, placer signaler hvert: {STRING}
|
||||
@@ -2155,6 +2168,7 @@ STR_NETWORK_ERROR_WRONG_PASSWORD :{WHITE}Forkert
|
||||
STR_NETWORK_ERROR_SERVER_FULL :{WHITE}Serveren er fuld
|
||||
STR_NETWORK_ERROR_SERVER_BANNED :{WHITE}Du er bandlyst fra denne server
|
||||
STR_NETWORK_ERROR_KICKED :{WHITE}Du blev smidt ud af spillet
|
||||
STR_NETWORK_ERROR_KICK_MESSAGE :{WHITE}Grund: {STRING}
|
||||
STR_NETWORK_ERROR_CHEATER :{WHITE}Snyderi er ikke tilladt på denne server
|
||||
STR_NETWORK_ERROR_TOO_MANY_COMMANDS :{WHITE}Du sendte for mange kommandoer til serveren
|
||||
STR_NETWORK_ERROR_TIMEOUT_PASSWORD :{WHITE}Du tog for lang tid om at indtaste adgangskoden
|
||||
@@ -2214,6 +2228,7 @@ STR_NETWORK_MESSAGE_GIVE_MONEY :*** {STRING} ga
|
||||
STR_NETWORK_MESSAGE_GAVE_MONEY_AWAY :*** Du gav {1:STRING} {2:CURRENCY_LONG}
|
||||
STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}Serveren har lukket ned for dette spil
|
||||
STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}Serveren genstarter...{}Vent venligst...
|
||||
STR_NETWORK_MESSAGE_KICKED :*** {STRING} blev sparket ud. Grund: ({STRING})
|
||||
|
||||
# Content downloading window
|
||||
STR_CONTENT_TITLE :{WHITE}Download af indhold
|
||||
@@ -2431,7 +2446,10 @@ STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_TUNNEL :{BLACK}Byg en t
|
||||
STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_TUNNEL :{BLACK}Byg en sporvejstunnel. Shift skifter mellem at bygge og vise prisoverslag.
|
||||
STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_ROAD :{BLACK}Skift mellem bygning/fjernelse af veje
|
||||
STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_TRAMWAYS :{BLACK}Skift mellem bygning/fjernelse af sporveje
|
||||
STR_ROAD_TOOLBAR_TOOLTIP_CONVERT_ROAD :{BLACK}Konverter/opgrader typen af vej. Shift skifter mellem at bygge og vise prisoverslag
|
||||
STR_ROAD_TOOLBAR_TOOLTIP_CONVERT_TRAM :{BLACK}Konverter/opgrader typen af sporvej. Shift skifter mellem at bygge og vise prisoverslag
|
||||
|
||||
STR_ROAD_NAME_ROAD :Vej
|
||||
STR_ROAD_NAME_TRAM :Sporvej
|
||||
|
||||
# Road depot construction window
|
||||
@@ -2617,8 +2635,11 @@ STR_LAND_AREA_INFORMATION_NEWGRF_NAME :{BLACK}NewGRF:
|
||||
STR_LAND_AREA_INFORMATION_CARGO_ACCEPTED :{BLACK}Accepteret last: {LTBLUE}
|
||||
STR_LAND_AREA_INFORMATION_CARGO_EIGHTS :({COMMA}/8 {STRING})
|
||||
STR_LANG_AREA_INFORMATION_RAIL_TYPE :{BLACK}Tog type: {LTBLUE}{STRING}
|
||||
STR_LANG_AREA_INFORMATION_ROAD_TYPE :{BLACK}Vejtype: {LTBLUE}{STRING}
|
||||
STR_LANG_AREA_INFORMATION_TRAM_TYPE :{BLACK}Sporvejstype: {LTBLUE}{STRING}
|
||||
STR_LANG_AREA_INFORMATION_RAIL_SPEED_LIMIT :{BLACK}Togspors hastighedsgrænse: {LTBLUE}{VELOCITY}
|
||||
STR_LANG_AREA_INFORMATION_ROAD_SPEED_LIMIT :{BLACK}Vej hastighedsbegrænsning: {LTBLUE}{VELOCITY}
|
||||
STR_LANG_AREA_INFORMATION_TRAM_SPEED_LIMIT :{BLACK}Sporvogn hastighedsgrænse: {LTBLUE}{VELOCITY}
|
||||
|
||||
# Description of land area of different tiles
|
||||
STR_LAI_CLEAR_DESCRIPTION_ROCKS :Klipper
|
||||
@@ -2715,7 +2736,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Land ejet af se
|
||||
STR_ABOUT_OPENTTD :{WHITE}Om OpenTTD
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Original copyright {COPYRIGHT} 1995 Chris Sawyer, Alle rettigheder reserveret
|
||||
STR_ABOUT_VERSION :{BLACK}OpenTTD version {REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2019 OpenTTD teamet
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-{STRING} OpenTTD teamet
|
||||
|
||||
# Framerate display window
|
||||
STR_FRAMERATE_CAPTION :{WHITE}Spilhastighed
|
||||
@@ -2728,6 +2749,7 @@ STR_FRAMERATE_SPEED_FACTOR :{BLACK}Aktuel s
|
||||
STR_FRAMERATE_SPEED_FACTOR_TOOLTIP :{BLACK}Hvor hurtigt spillet aktuelt kører, i forhold til det forventede ved normal simulationshastighed.
|
||||
STR_FRAMERATE_CURRENT :{WHITE}Aktuel
|
||||
STR_FRAMERATE_AVERAGE :{WHITE}Gennemsnit
|
||||
STR_FRAMERATE_MEMORYUSE :{WHITE}Hukommelse
|
||||
STR_FRAMERATE_DATA_POINTS :{BLACK}Data baseret på {COMMA} målinger
|
||||
STR_FRAMERATE_MS_GOOD :{LTBLUE}{DECIMAL} ms
|
||||
STR_FRAMERATE_MS_WARN :{YELLOW}{DECIMAL} ms
|
||||
@@ -2735,6 +2757,9 @@ STR_FRAMERATE_MS_BAD :{RED}{DECIMAL}
|
||||
STR_FRAMERATE_FPS_GOOD :{LTBLUE}{DECIMAL} billeder/s
|
||||
STR_FRAMERATE_FPS_WARN :{YELLOW}{DECIMAL} billeder/s
|
||||
STR_FRAMERATE_FPS_BAD :{RED}{DECIMAL} billeder/s
|
||||
STR_FRAMERATE_BYTES_GOOD :{LTBLUE}{BYTES}
|
||||
STR_FRAMERATE_BYTES_WARN :{YELLOW}{BYTES}
|
||||
STR_FRAMERATE_BYTES_BAD :{RED}{BYTES}
|
||||
STR_FRAMERATE_GRAPH_MILLISECONDS :{TINY_FONT}{COMMA} ms
|
||||
STR_FRAMERATE_GRAPH_SECONDS :{TINY_FONT}{COMMA} s
|
||||
############ Leave those lines in this order!!
|
||||
@@ -3031,7 +3056,7 @@ STR_NEWGRF_BROKEN_CAPACITY :{WHITE}Det ænd
|
||||
STR_BROKEN_VEHICLE_LENGTH :{WHITE}Toget '{VEHICLE}' fra selskabet '{COMPANY}' har ugyldig længde. Det skyldes sandsynligvis at problem med en NewGRF. Risiko for at spillet mister synkronisering eller går ned.
|
||||
|
||||
STR_NEWGRF_BUGGY :{WHITE}NewGRF '{0:STRING}' indeholder forkert information
|
||||
STR_NEWGRF_BUGGY_ARTICULATED_CARGO :{WHITE}Fragt-/ombygningsinformation for '{1:ENGINE}' afviger fra indkøbslisten efter konstruktion. Dette kan medføre, at autofornyelse ikke fungerer korrekt.
|
||||
STR_NEWGRF_BUGGY_ARTICULATED_CARGO :{WHITE}Fragt-/tilpasningsinformation for '{1:ENGINE}' afviger fra indkøbslisten efter konstruktion. Dette kan medføre, at autofornyelse ikke fungerer korrekt.
|
||||
STR_NEWGRF_BUGGY_ENDLESS_PRODUCTION_CALLBACK :{WHITE}'{1:STRING}' forårsagede en uendelig løkke i produktions-callback'en.
|
||||
STR_NEWGRF_BUGGY_UNKNOWN_CALLBACK_RESULT :{WHITE}Callback {1:HEX} returnerede ukendt/ugyldigt resultat {2:HEX}
|
||||
STR_NEWGRF_BUGGY_INVALID_CARGO_PRODUCTION_CALLBACK :{WHITE}'{1:STRING}' returnerede ugyldig godstype i produktion-callback ved {2:HEX}
|
||||
@@ -3101,6 +3126,8 @@ STR_TOWN_VIEW_RENAME_TOWN_BUTTON :Omdøb byen
|
||||
|
||||
# Town local authority window
|
||||
STR_LOCAL_AUTHORITY_CAPTION :{WHITE}{TOWN} lokal myndighed
|
||||
STR_LOCAL_AUTHORITY_ZONE :{BLACK}Zone
|
||||
STR_LOCAL_AUTHORITY_ZONE_TOOLTIP :{BLACK}Vis zone og grænse for den lokale myndighed
|
||||
STR_LOCAL_AUTHORITY_COMPANY_RATINGS :{BLACK}Transportselskabsbedømmelse:
|
||||
STR_LOCAL_AUTHORITY_COMPANY_RATING :{YELLOW}{COMPANY} {COMPANY_NUM}: {ORANGE}{STRING}
|
||||
STR_LOCAL_AUTHORITY_ACTIONS_TITLE :{BLACK}Handlinger til rådighed:
|
||||
@@ -3358,6 +3385,7 @@ STR_COMPANY_INFRASTRUCTURE_VIEW_CAPTION :{WHITE}Infrastr
|
||||
STR_COMPANY_INFRASTRUCTURE_VIEW_RAIL_SECT :{GOLD}Spor-stykker:
|
||||
STR_COMPANY_INFRASTRUCTURE_VIEW_SIGNALS :{WHITE}Signaler
|
||||
STR_COMPANY_INFRASTRUCTURE_VIEW_ROAD_SECT :{GOLD}Vej-stykker:
|
||||
STR_COMPANY_INFRASTRUCTURE_VIEW_TRAM_SECT :{GOLD}Sporvejsdele:
|
||||
STR_COMPANY_INFRASTRUCTURE_VIEW_WATER_SECT :{GOLD}Vand-felter:
|
||||
STR_COMPANY_INFRASTRUCTURE_VIEW_CANALS :{WHITE}Kanaler
|
||||
STR_COMPANY_INFRASTRUCTURE_VIEW_STATION_SECT :{GOLD}Stationer:
|
||||
@@ -3368,8 +3396,17 @@ STR_COMPANY_INFRASTRUCTURE_VIEW_TOTAL :{WHITE}{CURRENC
|
||||
# Industry directory
|
||||
STR_INDUSTRY_DIRECTORY_CAPTION :{WHITE}Industrier
|
||||
STR_INDUSTRY_DIRECTORY_NONE :{ORANGE}- Ingen -
|
||||
STR_INDUSTRY_DIRECTORY_ITEM_INFO :{BLACK}{CARGO_LONG}{STRING}{YELLOW} ({COMMA}% transporteret){BLACK}
|
||||
STR_INDUSTRY_DIRECTORY_ITEM_NOPROD :{ORANGE}{INDUSTRY}
|
||||
STR_INDUSTRY_DIRECTORY_ITEM_PROD1 :{ORANGE}{INDUSTRY} {STRING}
|
||||
STR_INDUSTRY_DIRECTORY_ITEM_PROD2 :{ORANGE}{INDUSTRY} {STRING}, {STRING}
|
||||
STR_INDUSTRY_DIRECTORY_ITEM_PROD3 :{ORANGE}{INDUSTRY} {STRING}, {STRING}, {STRING}
|
||||
STR_INDUSTRY_DIRECTORY_ITEM_PRODMORE :{ORANGE}{INDUSTRY} {STRING}, {STRING}, {STRING} og {NUM} flere...
|
||||
STR_INDUSTRY_DIRECTORY_LIST_CAPTION :{BLACK}Industrinavne - klik på navn for at centrere visningen over en industri. Ctrl+Klik åbner et nyt vindue ved industriens lokalitet.
|
||||
STR_INDUSTRY_DIRECTORY_ACCEPTED_CARGO_FILTER :{BLACK}Accepteret last: {SILVER}{STRING}
|
||||
STR_INDUSTRY_DIRECTORY_PRODUCED_CARGO_FILTER :{BLACK}Produceret last: {SILVER}{STRING}
|
||||
STR_INDUSTRY_DIRECTORY_FILTER_ALL_TYPES :Alle lasttyper
|
||||
STR_INDUSTRY_DIRECTORY_FILTER_NONE :Ingen
|
||||
|
||||
# Industry view
|
||||
STR_INDUSTRY_VIEW_CAPTION :{WHITE}{INDUSTRY}
|
||||
@@ -3435,6 +3472,7 @@ STR_GROUP_DEFAULT_ROAD_VEHICLES :Ikke-grupperede
|
||||
STR_GROUP_DEFAULT_SHIPS :Ikke-grupperede skibe
|
||||
STR_GROUP_DEFAULT_AIRCRAFTS :Ikke-grupperede fly
|
||||
|
||||
STR_GROUP_COUNT_WITH_SUBGROUP :{TINY_FONT}{COMMA} (+{COMMA})
|
||||
|
||||
STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Grupper - klik på en gruppe for at vise alle køretøjer i gruppen
|
||||
STR_GROUP_CREATE_TOOLTIP :{BLACK}Klik for at oprette en gruppe
|
||||
@@ -3463,29 +3501,34 @@ STR_BUY_VEHICLE_TRAIN_MONORAIL_CAPTION :Nye monorailkø
|
||||
STR_BUY_VEHICLE_TRAIN_MAGLEV_CAPTION :Nye magnetskinnekøretøjer
|
||||
|
||||
STR_BUY_VEHICLE_ROAD_VEHICLE_CAPTION :Nye køretøjer
|
||||
STR_BUY_VEHICLE_TRAM_VEHICLE_CAPTION :Nye sporvogne
|
||||
|
||||
############ range for vehicle availability starts
|
||||
STR_BUY_VEHICLE_TRAIN_ALL_CAPTION :Jernbanekøretøjer
|
||||
STR_BUY_VEHICLE_ROAD_VEHICLE_ALL_CAPTION :Nye vejkøretøjer
|
||||
STR_BUY_VEHICLE_SHIP_CAPTION :Nye skibe
|
||||
STR_BUY_VEHICLE_AIRCRAFT_CAPTION :Nyt fly
|
||||
############ range for vehicle availability ends
|
||||
|
||||
STR_PURCHASE_INFO_COST_WEIGHT :{BLACK}Pris: {GOLD}{CURRENCY_LONG}{BLACK} Vægt: {GOLD}{WEIGHT_SHORT}
|
||||
STR_PURCHASE_INFO_COST_REFIT_WEIGHT :{BLACK}Pris: {GOLD}{CURRENCY_LONG}{BLACK} (Pris for tilpasning: {GOLD}{CURRENCY_LONG}{BLACK}) Vægt: {GOLD}{WEIGHT_SHORT}
|
||||
STR_PURCHASE_INFO_SPEED_POWER :{BLACK}Hastighed: {GOLD}{VELOCITY}{BLACK} Styrke: {GOLD}{POWER}
|
||||
STR_PURCHASE_INFO_SPEED :{BLACK}Hastighed: {GOLD}{VELOCITY}
|
||||
STR_PURCHASE_INFO_SPEED_OCEAN :{BLACK}Hastighed på havet: {GOLD}{VELOCITY}
|
||||
STR_PURCHASE_INFO_SPEED_CANAL :{BLACK}Hastighed på kanal/flod: {GOLD}{VELOCITY}
|
||||
STR_PURCHASE_INFO_RUNNINGCOST :{BLACK}Driftsomkostninger: {GOLD}{CURRENCY_LONG}/år
|
||||
STR_PURCHASE_INFO_CAPACITY :{BLACK}Lasteevne: {GOLD}{CARGO_LONG} {STRING}
|
||||
STR_PURCHASE_INFO_REFITTABLE :(kan ombygges)
|
||||
STR_PURCHASE_INFO_REFITTABLE :(kan tilpasses)
|
||||
STR_PURCHASE_INFO_DESIGNED_LIFE :{BLACK}Designet: {GOLD}{NUM}{BLACK} Levetid: {GOLD}{COMMA} år
|
||||
STR_PURCHASE_INFO_RELIABILITY :{BLACK}Maks. pålidelighed: {GOLD}{COMMA}%
|
||||
STR_PURCHASE_INFO_COST :{BLACK}Pris: {GOLD}{CURRENCY_LONG}
|
||||
STR_PURCHASE_INFO_COST_REFIT :{BLACK}Pris: {GOLD}{CURRENCY_LONG}{BLACK} (Pris for tilpasning: {GOLD}{CURRENCY_LONG}{BLACK})
|
||||
STR_PURCHASE_INFO_WEIGHT_CWEIGHT :{BLACK}Vægt: {GOLD}{WEIGHT_SHORT} ({WEIGHT_SHORT})
|
||||
STR_PURCHASE_INFO_COST_SPEED :{BLACK}Pris: {GOLD}{CURRENCY_LONG}{BLACK} Hastighed: {GOLD}{VELOCITY}
|
||||
STR_PURCHASE_INFO_COST_REFIT_SPEED :{BLACK}Pris: {GOLD}{CURRENCY_LONG}{BLACK} (Pris for tilpasning: {GOLD}{CURRENCY_LONG}{BLACK}) Hastighed: {GOLD}{VELOCITY}
|
||||
STR_PURCHASE_INFO_AIRCRAFT_CAPACITY :{BLACK}Kapacitet: {GOLD}{CARGO_LONG}, {CARGO_LONG}
|
||||
STR_PURCHASE_INFO_PWAGPOWER_PWAGWEIGHT :{BLACK}Motoriserede Vogne: {GOLD}+{POWER}{BLACK} Vægt: {GOLD}+{WEIGHT_SHORT}
|
||||
STR_PURCHASE_INFO_REFITTABLE_TO :{BLACK}Kan ombygges til: {GOLD}{STRING}
|
||||
STR_PURCHASE_INFO_REFITTABLE_TO :{BLACK}Kan tilpasses til: {GOLD}{STRING}
|
||||
STR_PURCHASE_INFO_ALL_TYPES :Alle lasttyper
|
||||
STR_PURCHASE_INFO_NONE :Ingen
|
||||
STR_PURCHASE_INFO_ALL_BUT :Alle undtagen {CARGO_LIST}
|
||||
@@ -3503,12 +3546,20 @@ STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_BUTTON :{BLACK}Køb kø
|
||||
STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_BUTTON :{BLACK}Køb skib
|
||||
STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_BUTTON :{BLACK}Køb et fly
|
||||
|
||||
STR_BUY_VEHICLE_TRAIN_BUY_REFIT_VEHICLE_BUTTON :{BLACK}Køb og tilpas køretøj
|
||||
STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_REFIT_VEHICLE_BUTTON :{BLACK}Køb og tilpas køretøj
|
||||
STR_BUY_VEHICLE_SHIP_BUY_REFIT_VEHICLE_BUTTON :{BLACK}Køb og tilpas skib
|
||||
STR_BUY_VEHICLE_AIRCRAFT_BUY_REFIT_VEHICLE_BUTTON :{BLACK}Køb og tilpas fly
|
||||
|
||||
STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_TOOLTIP :{BLACK}Køb det markerede lokomotiv/togvogn. Shift skifter mellem at købe og vise prisoverslag.
|
||||
STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_TOOLTIP :{BLACK}Køb det markerede køretøj. Shift skifter mellem at købe og vise prisoverslag.
|
||||
STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_TOOLTIP :{BLACK}Køb det markerede skib. Shift skifter mellem at købe og vise prisoverslag.
|
||||
STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_TOOLTIP :{BLACK}Køb det markerede fly. Shift skifter mellem at købe og vise prisoverslag.
|
||||
|
||||
STR_BUY_VEHICLE_TRAIN_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Køb og tilpas det markerede lokomotiv/togvogn. Shift+klik viser prisoverslag uden at købe
|
||||
STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Køb og tilpas det markerede vejkøretøj. Shift+klik viser prisoverslag uden at købe
|
||||
STR_BUY_VEHICLE_SHIP_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Køb og tilpas det markerede skib. Shift+klik viser prisoverslag uden at købe.
|
||||
STR_BUY_VEHICLE_AIRCRAFT_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Køb og tilpas det markerede fly. Shift+klik viser prisoverslag uden at købe.
|
||||
|
||||
STR_BUY_VEHICLE_TRAIN_RENAME_BUTTON :{BLACK}Omdøb
|
||||
STR_BUY_VEHICLE_ROAD_VEHICLE_RENAME_BUTTON :{BLACK}Omdøb
|
||||
@@ -3620,10 +3671,12 @@ STR_ENGINE_PREVIEW_CAPTION :{WHITE}Besked f
|
||||
STR_ENGINE_PREVIEW_MESSAGE :{GOLD}Vi har lige designet et nyt {STRING} - er du interesseret i et års ekslusiv testkørsel, så vi kan se hvordan det klarer sig inden vi gør det frit tilgængeligt?
|
||||
|
||||
STR_ENGINE_PREVIEW_RAILROAD_LOCOMOTIVE :jernbanelokomotiv
|
||||
STR_ENGINE_PREVIEW_ELRAIL_LOCOMOTIVE :elektrisk jernbanelokomotiv
|
||||
STR_ENGINE_PREVIEW_MONORAIL_LOCOMOTIVE :monoraillokomotiv
|
||||
STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE :magnettog
|
||||
|
||||
STR_ENGINE_PREVIEW_ROAD_VEHICLE :vejkøretøj
|
||||
STR_ENGINE_PREVIEW_TRAM_VEHICLE :sporvogn
|
||||
|
||||
STR_ENGINE_PREVIEW_AIRCRAFT :fly
|
||||
STR_ENGINE_PREVIEW_SHIP :skib
|
||||
@@ -3665,14 +3718,18 @@ STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK}Skift im
|
||||
STR_REPLACE_ENGINES :Lokomotiver
|
||||
STR_REPLACE_WAGONS :Vogne
|
||||
STR_REPLACE_ALL_RAILTYPE :Alle jernbanevogne
|
||||
STR_REPLACE_ALL_ROADTYPE :Alle vejkøretøjer
|
||||
|
||||
STR_REPLACE_HELP_RAILTYPE :{BLACK}Vælg den skinne type, du ønsker at udskifte lokomotiver til
|
||||
STR_REPLACE_HELP_ROADTYPE :{BLACK}Vælg vejtypen du ønsker at udskifte køretøjer for
|
||||
STR_REPLACE_HELP_REPLACE_INFO_TAB :{BLACK}Viser hvilket køretøj det valgte køretøj til venstre bliver udskiftet med, hvis det udskiftes
|
||||
STR_REPLACE_RAIL_VEHICLES :Jernbane
|
||||
STR_REPLACE_ELRAIL_VEHICLES :Eltog
|
||||
STR_REPLACE_MONORAIL_VEHICLES :Monorail
|
||||
STR_REPLACE_MAGLEV_VEHICLES :Magnetskinnetog
|
||||
|
||||
STR_REPLACE_ROAD_VEHICLES :Vejkøretøjer
|
||||
STR_REPLACE_TRAM_VEHICLES :Sporvogne
|
||||
|
||||
STR_REPLACE_REMOVE_WAGON :{BLACK}Fjern vogn: {ORANGE}{STRING}
|
||||
STR_REPLACE_REMOVE_WAGON_HELP :{BLACK}Få autoudskift til at bevare længden af tog ved at fjerne vogne (startende fra fronten), hvis autoudskiftningen gør toget længere.
|
||||
@@ -3697,10 +3754,10 @@ STR_VEHICLE_VIEW_CLONE_AIRCRAFT_INFO :{BLACK}Dette vi
|
||||
|
||||
STR_VEHICLE_VIEW_TRAIN_IGNORE_SIGNAL_TOOLTIP :{BLACK}Tving toget til at fortsætte uden at vente på at signalet skifter til grønt
|
||||
|
||||
STR_VEHICLE_VIEW_TRAIN_REFIT_TOOLTIP :{BLACK}Ombyg toget til at køre med en anden lasttype
|
||||
STR_VEHICLE_VIEW_ROAD_VEHICLE_REFIT_TOOLTIP :{BLACK}Ombyg vejkøretøj til at laste en anden type last
|
||||
STR_VEHICLE_VIEW_SHIP_REFIT_TOOLTIP :{BLACK}Ombyg skibet til at sejle med en anden slags last
|
||||
STR_VEHICLE_VIEW_AIRCRAFT_REFIT_TOOLTIP :{BLACK}Ombyg flyet til at flyve med en anden slags last
|
||||
STR_VEHICLE_VIEW_TRAIN_REFIT_TOOLTIP :{BLACK}Tilpas toget til at køre med en anden lasttype
|
||||
STR_VEHICLE_VIEW_ROAD_VEHICLE_REFIT_TOOLTIP :{BLACK}Tilpas vejkøretøj til at køre med en anden lasttype
|
||||
STR_VEHICLE_VIEW_SHIP_REFIT_TOOLTIP :{BLACK}Tilpas skibet til at sejle med en anden lasttype
|
||||
STR_VEHICLE_VIEW_AIRCRAFT_REFIT_TOOLTIP :{BLACK}Tilpas flyet til at flyve med en anden lasttype
|
||||
|
||||
STR_VEHICLE_VIEW_TRAIN_REVERSE_TOOLTIP :{BLACK}Vend retningen af toget
|
||||
STR_VEHICLE_VIEW_ROAD_VEHICLE_REVERSE_TOOLTIP :{BLACK}Tving køretøjet til at vende
|
||||
@@ -3813,28 +3870,28 @@ STR_VEHICLE_DETAILS_TRAIN_TOTAL_CARGO_TOOLTIP :{BLACK}Vis tota
|
||||
STR_VEHICLE_DETAILS_TRAIN_ARTICULATED_RV_CAPACITY :{BLACK}Kapacitet: {LTBLUE}
|
||||
|
||||
# Vehicle refit
|
||||
STR_REFIT_CAPTION :{WHITE}{VEHICLE} (Ombyg)
|
||||
STR_REFIT_CAPTION :{WHITE}{VEHICLE} (tilpas)
|
||||
STR_REFIT_TITLE :{GOLD}Vælg den lasttype der skal transporteres:
|
||||
STR_REFIT_NEW_CAPACITY_COST_OF_REFIT :{BLACK}Ny kapacitet: {GOLD}{CARGO_LONG}{}{BLACK}Pris for ombyggelse: {RED}{CURRENCY_LONG}
|
||||
STR_REFIT_NEW_CAPACITY_INCOME_FROM_REFIT :{BLACK}Ny kapacitet: {GOLD}{CARGO_LONG}{}{BLACK}Indtægt fra ombygning: {GREEN}{CURRENCY_LONG}
|
||||
STR_REFIT_NEW_CAPACITY_COST_OF_AIRCRAFT_REFIT :{BLACK}Nye kapacitet: {GOLD}{CARGO_LONG},{GOLD}{CARGO_LONG}{}{BLACK}Pris for at ombygge: {RED}{CURRENCY_LONG}
|
||||
STR_REFIT_NEW_CAPACITY_INCOME_FROM_AIRCRAFT_REFIT :{BLACK}Ny kapacitet: {GOLD}{CARGO_LONG}, {GOLD}{CARGO_LONG}{}{BLACK}Indtægt fra ombygning: {GREEN}{CURRENCY_LONG}
|
||||
STR_REFIT_SELECT_VEHICLES_TOOLTIP :{BLACK}Vælg køretøjer der skal ombygges. klik og træk med musen for at vælge flere køretøjer. Klik på et tomt felt for at vælge hele køretøjet. Ctrl + klik vælger et køretøj og den efterfølgende kæde
|
||||
STR_REFIT_NEW_CAPACITY_COST_OF_REFIT :{BLACK}Ny kapacitet: {GOLD}{CARGO_LONG}{}{BLACK}Pris for tilpasning: {RED}{CURRENCY_LONG}
|
||||
STR_REFIT_NEW_CAPACITY_INCOME_FROM_REFIT :{BLACK}Ny kapacitet: {GOLD}{CARGO_LONG}{}{BLACK}Indtægt fra tilpasning: {GREEN}{CURRENCY_LONG}
|
||||
STR_REFIT_NEW_CAPACITY_COST_OF_AIRCRAFT_REFIT :{BLACK}Ny kapacitet: {GOLD}{CARGO_LONG},{GOLD}{CARGO_LONG}{}{BLACK}Pris for tilpasning: {RED}{CURRENCY_LONG}
|
||||
STR_REFIT_NEW_CAPACITY_INCOME_FROM_AIRCRAFT_REFIT :{BLACK}Ny kapacitet: {GOLD}{CARGO_LONG}, {GOLD}{CARGO_LONG}{}{BLACK}Indtægt fra tilpasning: {GREEN}{CURRENCY_LONG}
|
||||
STR_REFIT_SELECT_VEHICLES_TOOLTIP :{BLACK}Vælg køretøjer der skal tilpasses. Klik og træk med musen for at vælge flere køretøjer. Klik på et tomt felt for at vælge hele køretøjet. Ctrl+klik vælger et køretøj og den efterfølgende kæde
|
||||
|
||||
STR_REFIT_TRAIN_LIST_TOOLTIP :{BLACK}Vælg den lasttype toget skal kører med
|
||||
STR_REFIT_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Vælg lasttype som lastbilen skal transportere
|
||||
STR_REFIT_SHIP_LIST_TOOLTIP :{BLACK}Vælg den slags last skibet skal sejle med
|
||||
STR_REFIT_AIRCRAFT_LIST_TOOLTIP :{BLACK}Vælg den type last flyet skal flyve med
|
||||
|
||||
STR_REFIT_TRAIN_REFIT_BUTTON :{BLACK}Ombyg toget
|
||||
STR_REFIT_ROAD_VEHICLE_REFIT_BUTTON :{BLACK}Ombyg lastbil
|
||||
STR_REFIT_SHIP_REFIT_BUTTON :{BLACK}Ombyg skibet
|
||||
STR_REFIT_AIRCRAFT_REFIT_BUTTON :{BLACK}Ombyg fly
|
||||
STR_REFIT_TRAIN_REFIT_BUTTON :{BLACK}Tilpas tog
|
||||
STR_REFIT_ROAD_VEHICLE_REFIT_BUTTON :{BLACK}Tilpas vejkøretøj
|
||||
STR_REFIT_SHIP_REFIT_BUTTON :{BLACK}Tilpas skibet
|
||||
STR_REFIT_AIRCRAFT_REFIT_BUTTON :{BLACK}Tilpas fly
|
||||
|
||||
STR_REFIT_TRAIN_REFIT_TOOLTIP :{BLACK}Ombyg toget til at køre med den markerede lasttype
|
||||
STR_REFIT_ROAD_VEHICLE_REFIT_TOOLTIP :{BLACK}Ombyg vejkøretøjet til at laste den markerede type last
|
||||
STR_REFIT_SHIP_REFIT_TOOLTIP :{BLACK}Ombyg skibet til den markerede slags last
|
||||
STR_REFIT_AIRCRAFT_REFIT_TOOLTIP :{BLACK}Ombyg flyet til at flyve med den markerede slags last
|
||||
STR_REFIT_TRAIN_REFIT_TOOLTIP :{BLACK}Tilpas tog til at køre med den markerede lasttype
|
||||
STR_REFIT_ROAD_VEHICLE_REFIT_TOOLTIP :{BLACK}Tilpas vejkøretøjet til at køre med den markerede lasttype
|
||||
STR_REFIT_SHIP_REFIT_TOOLTIP :{BLACK}Tilpas skibet til den markerede lasttype
|
||||
STR_REFIT_AIRCRAFT_REFIT_TOOLTIP :{BLACK}Tilpas flyet til at flyve med den markerede lasttype
|
||||
|
||||
# Order view
|
||||
STR_ORDERS_CAPTION :{WHITE}{VEHICLE} (Ordrer)
|
||||
@@ -3870,8 +3927,8 @@ STR_ORDER_DROP_TRANSFER :Overfør
|
||||
STR_ORDER_DROP_NO_UNLOADING :Ingen losning
|
||||
STR_ORDER_TOOLTIP_UNLOAD :{BLACK}Ændr losseregel for den valgte ordre
|
||||
|
||||
STR_ORDER_REFIT :{BLACK}Ombyg
|
||||
STR_ORDER_REFIT_TOOLTIP :{BLACK}Vælg hvilken lasttype, der skal ombygges til i denne ordre. CTRL-klik for at fjerne ombygningsinstruktion
|
||||
STR_ORDER_REFIT :{BLACK}Tilpas
|
||||
STR_ORDER_REFIT_TOOLTIP :{BLACK}Vælg hvilken lasttype, der skal tilpasses til i denne ordre. Ctrl+klik for at fjerne tilpasningsinstruktion
|
||||
STR_ORDER_REFIT_AUTO :{BLACK}Auto-tilpas
|
||||
STR_ORDER_REFIT_AUTO_TOOLTIP :{BLACK}Vælg typen af last der skal auto-tilpasses denne ordre. Ctrl+Click for at fjerne auto-tilpas-funktionen. Auto-tilpasning vil kun kunne gøres, hvis køretøjet tillader det
|
||||
STR_ORDER_DROP_REFIT_AUTO :Bestemt last
|
||||
@@ -3941,8 +3998,8 @@ STR_ORDER_SHIP_DEPOT :Skibsdok
|
||||
STR_ORDER_GO_TO_NEAREST_DEPOT_FORMAT :{STRING} {STRING} {STRING}
|
||||
STR_ORDER_GO_TO_DEPOT_FORMAT :{STRING} {DEPOT}
|
||||
|
||||
STR_ORDER_REFIT_ORDER :(Ombyg til {STRING})
|
||||
STR_ORDER_REFIT_STOP_ORDER :(Ombyg til {STRING} og stop)
|
||||
STR_ORDER_REFIT_ORDER :(Tilpas til {STRING})
|
||||
STR_ORDER_REFIT_STOP_ORDER :(Tilpas til {STRING} og stop)
|
||||
STR_ORDER_STOP_ORDER :(Stop)
|
||||
|
||||
STR_ORDER_GO_TO_STATION :{STRING} {STATION} {STRING}
|
||||
@@ -4124,6 +4181,14 @@ STR_AI_LIST_ACCEPT_TOOLTIP :{BLACK}Vælg ma
|
||||
STR_AI_LIST_CANCEL :{BLACK}Afbryd
|
||||
STR_AI_LIST_CANCEL_TOOLTIP :{BLACK}Skift ikke script'et
|
||||
|
||||
STR_SCREENSHOT_CAPTION :{WHITE}Tag skærmbillede
|
||||
STR_SCREENSHOT_SCREENSHOT :{BLACK}Normalt skærmbillede
|
||||
STR_SCREENSHOT_ZOOMIN_SCREENSHOT :{BLACK}Fuldt zoomet-ind skærmbillede
|
||||
STR_SCREENSHOT_DEFAULTZOOM_SCREENSHOT :{BLACK}Standard zoom skærmbillede
|
||||
STR_SCREENSHOT_WORLD_SCREENSHOT :{BLACK}Fuldt kort skærmbillede
|
||||
STR_SCREENSHOT_HEIGHTMAP_SCREENSHOT :{BLACK}Højdekort skærmbillede
|
||||
STR_SCREENSHOT_MINIMAP_SCREENSHOT :{BLACK}Minikort skærmbillede
|
||||
|
||||
# AI Parameters
|
||||
STR_AI_SETTINGS_CAPTION :{WHITE}{STRING} Parametre
|
||||
STR_AI_SETTINGS_CAPTION_AI :AI
|
||||
@@ -4392,10 +4457,11 @@ STR_ERROR_AUTOREPLACE_MONEY_LIMIT :(ikke penge nok
|
||||
# Rail construction errors
|
||||
STR_ERROR_IMPOSSIBLE_TRACK_COMBINATION :{WHITE}Umulig sporkombination
|
||||
STR_ERROR_MUST_REMOVE_SIGNALS_FIRST :{WHITE}Det er nødvendigt at fjerne signalet først
|
||||
STR_ERROR_NO_SUITABLE_RAILROAD_TRACK :{WHITE}Ingen brugbar jernbane
|
||||
STR_ERROR_NO_SUITABLE_RAILROAD_TRACK :{WHITE}Ingen egnet jernbane
|
||||
STR_ERROR_MUST_REMOVE_RAILROAD_TRACK :{WHITE}Det er nødvendigt at fjerne jernbaneskinnerne først
|
||||
STR_ERROR_CROSSING_ON_ONEWAY_ROAD :{WHITE}Vejen er ensrettet eller blokeret
|
||||
STR_ERROR_CROSSING_DISALLOWED_RAIL :{WHITE}Niveaukrydsning ikke tilladt for denne type skinner
|
||||
STR_ERROR_CROSSING_DISALLOWED_ROAD :{WHITE}Niveaukrydsning ikke tilladt for denne type vej
|
||||
STR_ERROR_CAN_T_BUILD_SIGNALS_HERE :{WHITE}Kan ikke bygge signaler her...
|
||||
STR_ERROR_CAN_T_BUILD_RAILROAD_TRACK :{WHITE}Kan ikke bygge jernbane her...
|
||||
STR_ERROR_CAN_T_REMOVE_RAILROAD_TRACK :{WHITE}Kan ikke fjerne jernbane herfra...
|
||||
@@ -4415,6 +4481,11 @@ STR_ERROR_CAN_T_REMOVE_ROAD_FROM :{WHITE}Kan ikke
|
||||
STR_ERROR_CAN_T_REMOVE_TRAMWAY_FROM :{WHITE}Kan ikke fjerne sporvej her...
|
||||
STR_ERROR_THERE_IS_NO_ROAD :{WHITE}... der er ingen vej
|
||||
STR_ERROR_THERE_IS_NO_TRAMWAY :{WHITE}... der er ikke noget spor
|
||||
STR_ERROR_CAN_T_CONVERT_ROAD :{WHITE}Kan ikke konvertere vejtype her...
|
||||
STR_ERROR_CAN_T_CONVERT_TRAMWAY :{WHITE}Kan ikke konvertere sporvejstype her...
|
||||
STR_ERROR_NO_SUITABLE_ROAD :{WHITE}Ingen passende vej
|
||||
STR_ERROR_NO_SUITABLE_TRAMWAY :{WHITE}Ingen egnet sporvej
|
||||
STR_ERROR_INCOMPATIBLE_TRAMWAY :{WHITE}... inkompatibel sporvej
|
||||
|
||||
# Waterway construction errors
|
||||
STR_ERROR_CAN_T_BUILD_CANALS :{WHITE}Kan ikke bygge en kanal her...
|
||||
@@ -4467,6 +4538,7 @@ STR_ERROR_GROUP_CAN_T_CREATE :{WHITE}Kan ikke
|
||||
STR_ERROR_GROUP_CAN_T_DELETE :{WHITE}Kan ikke slette denne gruppe...
|
||||
STR_ERROR_GROUP_CAN_T_RENAME :{WHITE}Kan ikke omdøbe gruppe...
|
||||
STR_ERROR_GROUP_CAN_T_SET_PARENT :{WHITE}Kan ikke sætte overordnede gruppe ...
|
||||
STR_ERROR_GROUP_CAN_T_SET_PARENT_RECURSION :{WHITE}... løkker i gruppe-hierarkiet er ikke tilladt
|
||||
STR_ERROR_GROUP_CAN_T_REMOVE_ALL_VEHICLES :{WHITE}Kan ikke fjerne alle køretøjer fra denne gruppe...
|
||||
STR_ERROR_GROUP_CAN_T_ADD_VEHICLE :{WHITE}Kan ikke tilføje køretøjet til denne gruppe...
|
||||
STR_ERROR_GROUP_CAN_T_ADD_SHARED_VEHICLE :{WHITE}Kan ikke tilføje delte køretøjer til gruppe...
|
||||
@@ -4477,10 +4549,10 @@ STR_ERROR_ROAD_VEHICLE_IN_THE_WAY :{WHITE}Køretø
|
||||
STR_ERROR_SHIP_IN_THE_WAY :{WHITE}Der er et skib i vejen
|
||||
STR_ERROR_AIRCRAFT_IN_THE_WAY :{WHITE}Fly i vejen
|
||||
|
||||
STR_ERROR_CAN_T_REFIT_TRAIN :{WHITE}Kan ikke ombygge toget...
|
||||
STR_ERROR_CAN_T_REFIT_ROAD_VEHICLE :{WHITE}Kan ikke ombygge vejkøretøj
|
||||
STR_ERROR_CAN_T_REFIT_SHIP :{WHITE}Kan ikke ombygge skib...
|
||||
STR_ERROR_CAN_T_REFIT_AIRCRAFT :{WHITE}Kan ikke ombygge fly...
|
||||
STR_ERROR_CAN_T_REFIT_TRAIN :{WHITE}Kan ikke tilpasse tog...
|
||||
STR_ERROR_CAN_T_REFIT_ROAD_VEHICLE :{WHITE}Kan ikke tilpasse vejkøretøj
|
||||
STR_ERROR_CAN_T_REFIT_SHIP :{WHITE}Kan ikke tilpasse skib...
|
||||
STR_ERROR_CAN_T_REFIT_AIRCRAFT :{WHITE}Kan ikke tilpasse fly...
|
||||
|
||||
STR_ERROR_CAN_T_RENAME_TRAIN :{WHITE}Kan ikke give toget navn...
|
||||
STR_ERROR_CAN_T_RENAME_ROAD_VEHICLE :{WHITE}Kan ikke give køretøjet et navn...
|
||||
|
||||
@@ -478,9 +478,6 @@ STR_ABOUT_MENU_SEPARATOR :
|
||||
STR_ABOUT_MENU_TOGGLE_CONSOLE :Console in-uitschakelen
|
||||
STR_ABOUT_MENU_AI_DEBUG :Probleemoplossing AI/spelscript
|
||||
STR_ABOUT_MENU_SCREENSHOT :Schermfoto
|
||||
STR_ABOUT_MENU_ZOOMIN_SCREENSHOT :Ingezoomde schermfoto
|
||||
STR_ABOUT_MENU_DEFAULTZOOM_SCREENSHOT :Schermfoto met standaardzoom
|
||||
STR_ABOUT_MENU_GIANT_SCREENSHOT :Schermfoto van de hele kaart
|
||||
STR_ABOUT_MENU_SHOW_FRAMERATE :Framesnelheid weergeven
|
||||
STR_ABOUT_MENU_ABOUT_OPENTTD :Over 'OpenTTD'
|
||||
STR_ABOUT_MENU_SPRITE_ALIGNER :Sprite-uitlijner
|
||||
@@ -651,9 +648,6 @@ STR_MUSIC_PLAYLIST_CUSTOM_1 :{TINY_FONT}{BLA
|
||||
STR_MUSIC_PLAYLIST_CUSTOM_2 :{TINY_FONT}{BLACK}Aangepast 2
|
||||
STR_MUSIC_MUSIC_VOLUME :{TINY_FONT}{BLACK}Muziekvolume
|
||||
STR_MUSIC_EFFECTS_VOLUME :{TINY_FONT}{BLACK}Effectenvolume
|
||||
STR_MUSIC_RULER_MIN :{TINY_FONT}{BLACK}MIN
|
||||
STR_MUSIC_RULER_MAX :{TINY_FONT}{BLACK}MAX
|
||||
STR_MUSIC_RULER_MARKER :{TINY_FONT}{BLACK}'
|
||||
STR_MUSIC_TRACK_NONE :{TINY_FONT}{DKGREEN}--
|
||||
STR_MUSIC_TRACK_DIGIT :{TINY_FONT}{DKGREEN}{ZEROFILL_NUM}
|
||||
STR_MUSIC_TITLE_NONE :{TINY_FONT}{DKGREEN}------
|
||||
@@ -870,6 +864,7 @@ STR_NEWS_NEW_VEHICLE_NOW_AVAILABLE :{BIG_FONT}{BLAC
|
||||
STR_NEWS_NEW_VEHICLE_TYPE :{BIG_FONT}{BLACK}{ENGINE}
|
||||
STR_NEWS_NEW_VEHICLE_NOW_AVAILABLE_WITH_TYPE :{BLACK}Nieuw {STRING} nu beschikbaar! - {ENGINE}
|
||||
|
||||
STR_NEWS_SHOW_VEHICLE_GROUP_TOOLTIP :{BLACK}Groepsvenster openen met focus op groep van voertuig
|
||||
|
||||
STR_NEWS_STATION_NO_LONGER_ACCEPTS_CARGO :{WHITE}{STATION} accepteert geen {STRING} meer
|
||||
STR_NEWS_STATION_NO_LONGER_ACCEPTS_CARGO_OR_CARGO :{WHITE}{STATION} accepteert geen {STRING} of {STRING} meer
|
||||
@@ -1314,6 +1309,8 @@ STR_CONFIG_SETTING_POPULATION_IN_LABEL :Inwoneraantal b
|
||||
STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :Aantal inwoners van een stad weergeven bij naam op de kaart
|
||||
STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Dikte van de lijnen in grafieken: {STRING}
|
||||
STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Breedte van de lijnen in de grafiek. Een dunne lijn is preciezer leesbaar, een dikke lijn is makkelijker te zien en kleuren zijn makkelijker om te onderscheiden
|
||||
STR_CONFIG_SETTING_SHOW_NEWGRF_NAME :Naam van NewGRF weergeven in venster voor voertuigen bouwen: {STRING}
|
||||
STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :Voeg een regel toe aan het venster voor voertuigen bouwen die aangeeft uit welke NewGRF het geselecteerde voertuig komt.
|
||||
|
||||
STR_CONFIG_SETTING_LANDSCAPE :Landschap: {STRING}
|
||||
STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :Landschappen definiëren standaard spelscenario's met verschillende vracht- en stadsgroei-eisen. NewGRF en spelscripts kunnen daarentegen fijnere controle bieden.
|
||||
@@ -1551,6 +1548,10 @@ STR_CONFIG_SETTING_NEWS_MESSAGES_FULL :Volledig
|
||||
STR_CONFIG_SETTING_COLOURED_NEWS_YEAR :Kleurenfoto's verschijnen in: {STRING}
|
||||
STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT :Jaar dat de krant aankondigt in kleur te gaan afdrukken. Voor dit jaar wordt zwart-wit gebruikt
|
||||
STR_CONFIG_SETTING_STARTING_YEAR :Startjaar: {STRING}
|
||||
STR_CONFIG_SETTING_ENDING_YEAR :Eindjaar voor score: {STRING}
|
||||
STR_CONFIG_SETTING_ENDING_YEAR_HELPTEXT :Jaar dat het spel eindigt ten behoeve van de score. Aan het einde van dit jaar wordt de score van het bedrijf vastgelegd en verschijnt het venster met topscores. De spelers kunnen echter doorgaan met spelen.{}Als dit voor het startjaar ligt, verschijnt het venster met topscores niet.
|
||||
STR_CONFIG_SETTING_ENDING_YEAR_VALUE :{NUM}
|
||||
STR_CONFIG_SETTING_ENDING_YEAR_ZERO :Nooit
|
||||
STR_CONFIG_SETTING_SMOOTH_ECONOMY :Vloeiende economie inschakelen (meer, kleinere veranderingen): {STRING}
|
||||
STR_CONFIG_SETTING_SMOOTH_ECONOMY_HELPTEXT :Wanneer dit is ingeschakeld, verandert de productie van industrieën vaker en in kleinere stappen. Deze instelling heeft meestal geen effect als de industriesoorten worden geleverd door een NewGRF.
|
||||
STR_CONFIG_SETTING_ALLOW_SHARES :Kopen van aandelen in andere bedrijven toestaan: {STRING}
|
||||
@@ -2167,6 +2168,7 @@ STR_NETWORK_ERROR_WRONG_PASSWORD :{WHITE}Ongeldig
|
||||
STR_NETWORK_ERROR_SERVER_FULL :{WHITE}De server is vol
|
||||
STR_NETWORK_ERROR_SERVER_BANNED :{WHITE}Je bent verbannen van deze server
|
||||
STR_NETWORK_ERROR_KICKED :{WHITE}Je bent van de server geschopt
|
||||
STR_NETWORK_ERROR_KICK_MESSAGE :{WHITE}Reden: {STRING}
|
||||
STR_NETWORK_ERROR_CHEATER :{WHITE}Valsspelen is niet toegestaan op deze server
|
||||
STR_NETWORK_ERROR_TOO_MANY_COMMANDS :{WHITE}Je stuurde te veel commando's naar de server
|
||||
STR_NETWORK_ERROR_TIMEOUT_PASSWORD :{WHITE}Het invoeren van het wachtwoord duurde te lang
|
||||
@@ -2226,6 +2228,7 @@ STR_NETWORK_MESSAGE_GIVE_MONEY :*** {STRING} ga
|
||||
STR_NETWORK_MESSAGE_GAVE_MONEY_AWAY :*** Je gaf {2:CURRENCY_LONG} aan {1:STRING}
|
||||
STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}De server heeft de sessie gesloten
|
||||
STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}De server wordt opnieuw gestart...{}Wacht alstublieft...
|
||||
STR_NETWORK_MESSAGE_KICKED :*** {STRING} is eruit geschopt. Reden: ({STRING})
|
||||
|
||||
# Content downloading window
|
||||
STR_CONTENT_TITLE :{WHITE}Download extra inhoud
|
||||
@@ -2733,7 +2736,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Terrein in bedr
|
||||
STR_ABOUT_OPENTTD :{WHITE}Over OpenTTD
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Originele auteursrecht {COPYRIGHT} 1995 Chris Sawyer, alle rechten voorbehouden
|
||||
STR_ABOUT_VERSION :{BLACK}OpenTTD-versie {REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2019 Het OpenTTD-team
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-{STRING} Het OpenTTD-team
|
||||
|
||||
# Framerate display window
|
||||
STR_FRAMERATE_CAPTION :{WHITE}Framesnelheid
|
||||
@@ -3400,6 +3403,10 @@ STR_INDUSTRY_DIRECTORY_ITEM_PROD2 :{ORANGE}{INDUST
|
||||
STR_INDUSTRY_DIRECTORY_ITEM_PROD3 :{ORANGE}{INDUSTRY} {STRING}, {STRING}, {STRING}
|
||||
STR_INDUSTRY_DIRECTORY_ITEM_PRODMORE :{ORANGE}{INDUSTRY} {STRING}, {STRING}, {STRING} en {NUM} meer...
|
||||
STR_INDUSTRY_DIRECTORY_LIST_CAPTION :{BLACK}Industrienamen - klik op een naam om het scherm te centreren op de industrie. Ctrl+klik opent een nieuw venster op de locatie van de industrie.
|
||||
STR_INDUSTRY_DIRECTORY_ACCEPTED_CARGO_FILTER :{BLACK}Geaccepteerde vracht: {SILVER}{STRING}
|
||||
STR_INDUSTRY_DIRECTORY_PRODUCED_CARGO_FILTER :{BLACK}Geproduceerde vracht: {SILVER}{STRING}
|
||||
STR_INDUSTRY_DIRECTORY_FILTER_ALL_TYPES :Alle soorten vracht
|
||||
STR_INDUSTRY_DIRECTORY_FILTER_NONE :Geen
|
||||
|
||||
# Industry view
|
||||
STR_INDUSTRY_VIEW_CAPTION :{WHITE}{INDUSTRY}
|
||||
@@ -4174,6 +4181,14 @@ STR_AI_LIST_ACCEPT_TOOLTIP :{BLACK}Gemarkee
|
||||
STR_AI_LIST_CANCEL :{BLACK}Annuleren
|
||||
STR_AI_LIST_CANCEL_TOOLTIP :{BLACK}Script niet wijzigen
|
||||
|
||||
STR_SCREENSHOT_CAPTION :{WHITE}Een schermafbeelding maken
|
||||
STR_SCREENSHOT_SCREENSHOT :{BLACK}Normale schermafbeelding
|
||||
STR_SCREENSHOT_ZOOMIN_SCREENSHOT :{BLACK}Volledig ingezoomde schermafbeelding
|
||||
STR_SCREENSHOT_DEFAULTZOOM_SCREENSHOT :{BLACK}Standaard gezoomde schermafbeelding
|
||||
STR_SCREENSHOT_WORLD_SCREENSHOT :{BLACK}Schermafbeelding van de hele kaart
|
||||
STR_SCREENSHOT_HEIGHTMAP_SCREENSHOT :{BLACK}Schermafbeelding van de hoogtekaart
|
||||
STR_SCREENSHOT_MINIMAP_SCREENSHOT :{BLACK}Schermafbeelding van de minikaart
|
||||
|
||||
# AI Parameters
|
||||
STR_AI_SETTINGS_CAPTION :{WHITE}{STRING} Parameters
|
||||
STR_AI_SETTINGS_CAPTION_AI :AI
|
||||
@@ -4470,7 +4485,6 @@ STR_ERROR_CAN_T_CONVERT_ROAD :{WHITE}Kan wegt
|
||||
STR_ERROR_CAN_T_CONVERT_TRAMWAY :{WHITE}Kan tramtype hier niet converteren...
|
||||
STR_ERROR_NO_SUITABLE_ROAD :{WHITE}Geen geschikte weg
|
||||
STR_ERROR_NO_SUITABLE_TRAMWAY :{WHITE}Geen geschikt tramspoor
|
||||
STR_ERROR_INCOMPATIBLE_ROAD :{WHITE}... weg niet geschikt
|
||||
STR_ERROR_INCOMPATIBLE_TRAMWAY :{WHITE}... treinspoor niet geschikt
|
||||
|
||||
# Waterway construction errors
|
||||
|
||||
@@ -478,9 +478,6 @@ STR_ABOUT_MENU_SEPARATOR :
|
||||
STR_ABOUT_MENU_TOGGLE_CONSOLE :Toggle console
|
||||
STR_ABOUT_MENU_AI_DEBUG :AI/Game script debug
|
||||
STR_ABOUT_MENU_SCREENSHOT :Screenshot
|
||||
STR_ABOUT_MENU_ZOOMIN_SCREENSHOT :Fully zoomed in screenshot
|
||||
STR_ABOUT_MENU_DEFAULTZOOM_SCREENSHOT :Default zoom screenshot
|
||||
STR_ABOUT_MENU_GIANT_SCREENSHOT :Whole map screenshot
|
||||
STR_ABOUT_MENU_SHOW_FRAMERATE :Show frame rate
|
||||
STR_ABOUT_MENU_ABOUT_OPENTTD :About 'OpenTTD'
|
||||
STR_ABOUT_MENU_SPRITE_ALIGNER :Sprite aligner
|
||||
@@ -651,9 +648,6 @@ STR_MUSIC_PLAYLIST_CUSTOM_1 :{TINY_FONT}{BLA
|
||||
STR_MUSIC_PLAYLIST_CUSTOM_2 :{TINY_FONT}{BLACK}Custom 2
|
||||
STR_MUSIC_MUSIC_VOLUME :{TINY_FONT}{BLACK}Music Volume
|
||||
STR_MUSIC_EFFECTS_VOLUME :{TINY_FONT}{BLACK}Effects Volume
|
||||
STR_MUSIC_RULER_MIN :{TINY_FONT}{BLACK}MIN
|
||||
STR_MUSIC_RULER_MAX :{TINY_FONT}{BLACK}MAX
|
||||
STR_MUSIC_RULER_MARKER :{TINY_FONT}{BLACK}'
|
||||
STR_MUSIC_TRACK_NONE :{TINY_FONT}{DKGREEN}--
|
||||
STR_MUSIC_TRACK_DIGIT :{TINY_FONT}{DKGREEN}{ZEROFILL_NUM}
|
||||
STR_MUSIC_TITLE_NONE :{TINY_FONT}{DKGREEN}------
|
||||
@@ -1315,6 +1309,8 @@ STR_CONFIG_SETTING_POPULATION_IN_LABEL :Show town popul
|
||||
STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :Display the population of towns in their label on the map
|
||||
STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Thickness of lines in graphs: {STRING2}
|
||||
STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Width of the line in the graphs. A thin line is more precisely readable, a thicker line is easier to see and colours are easier to distinguish
|
||||
STR_CONFIG_SETTING_SHOW_NEWGRF_NAME :Show the NewGRF's name in the build vehicle window: {STRING2}
|
||||
STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT :Add a line to the build vehicle window, showing which NewGRF the selected vehicle comes from.
|
||||
|
||||
STR_CONFIG_SETTING_LANDSCAPE :Landscape: {STRING2}
|
||||
STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :Landscapes define basic gameplay scenarios with different cargos and town growth requirements. NewGRF and Game Scripts allow finer control though
|
||||
@@ -1552,6 +1548,10 @@ STR_CONFIG_SETTING_NEWS_MESSAGES_FULL :Full
|
||||
STR_CONFIG_SETTING_COLOURED_NEWS_YEAR :Coloured news appears in: {STRING2}
|
||||
STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT :Year that the newspaper announcements get printed in colour. Before this year, it uses monochrome black/white
|
||||
STR_CONFIG_SETTING_STARTING_YEAR :Starting year: {STRING2}
|
||||
STR_CONFIG_SETTING_ENDING_YEAR :Scoring end year: {STRING2}
|
||||
STR_CONFIG_SETTING_ENDING_YEAR_HELPTEXT :Year the game ends for scoring purposes. At the end of this year, the company's score is recorded and the high-score screen is displayed, but the players can continue playing after that.{}If this is before the starting year, the high-score screen is never displayed.
|
||||
STR_CONFIG_SETTING_ENDING_YEAR_VALUE :{NUM}
|
||||
STR_CONFIG_SETTING_ENDING_YEAR_ZERO :Never
|
||||
STR_CONFIG_SETTING_SMOOTH_ECONOMY :Enable smooth economy (more, smaller changes): {STRING2}
|
||||
STR_CONFIG_SETTING_SMOOTH_ECONOMY_HELPTEXT :When enabled, industry production changes more often, and in smaller steps. This setting has usually no effect, if industry types are provided by a NewGRF
|
||||
STR_CONFIG_SETTING_ALLOW_SHARES :Allow buying shares from other companies: {STRING2}
|
||||
@@ -2168,6 +2168,7 @@ STR_NETWORK_ERROR_WRONG_PASSWORD :{WHITE}Wrong pa
|
||||
STR_NETWORK_ERROR_SERVER_FULL :{WHITE}The server is full
|
||||
STR_NETWORK_ERROR_SERVER_BANNED :{WHITE}You are banned from this server
|
||||
STR_NETWORK_ERROR_KICKED :{WHITE}You were kicked out of the game
|
||||
STR_NETWORK_ERROR_KICK_MESSAGE :{WHITE}Reason: {RAW_STRING}
|
||||
STR_NETWORK_ERROR_CHEATER :{WHITE}Cheating is not allowed on this server
|
||||
STR_NETWORK_ERROR_TOO_MANY_COMMANDS :{WHITE}You were sending too many commands to the server
|
||||
STR_NETWORK_ERROR_TIMEOUT_PASSWORD :{WHITE}You took too long to enter the password
|
||||
@@ -2227,6 +2228,7 @@ STR_NETWORK_MESSAGE_GIVE_MONEY :*** {RAW_STRING
|
||||
STR_NETWORK_MESSAGE_GAVE_MONEY_AWAY :*** You gave {1:RAW_STRING} {2:CURRENCY_LONG}
|
||||
STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}The server closed the session
|
||||
STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}The server is restarting...{}Please wait...
|
||||
STR_NETWORK_MESSAGE_KICKED :*** {RAW_STRING} was kicked. Reason: ({RAW_STRING})
|
||||
|
||||
# Content downloading window
|
||||
STR_CONTENT_TITLE :{WHITE}Content downloading
|
||||
@@ -2734,7 +2736,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Company-owned l
|
||||
STR_ABOUT_OPENTTD :{WHITE}About OpenTTD
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Original copyright {COPYRIGHT} 1995 Chris Sawyer, All rights reserved
|
||||
STR_ABOUT_VERSION :{BLACK}OpenTTD version {REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2019 The OpenTTD team
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-{RAW_STRING} The OpenTTD team
|
||||
|
||||
# Framerate display window
|
||||
STR_FRAMERATE_CAPTION :{WHITE}Frame rate
|
||||
@@ -3401,6 +3403,10 @@ STR_INDUSTRY_DIRECTORY_ITEM_PROD2 :{ORANGE}{INDUST
|
||||
STR_INDUSTRY_DIRECTORY_ITEM_PROD3 :{ORANGE}{INDUSTRY} {STRING4}, {STRING4}, {STRING4}
|
||||
STR_INDUSTRY_DIRECTORY_ITEM_PRODMORE :{ORANGE}{INDUSTRY} {STRING4}, {STRING4}, {STRING4} and {NUM} more...
|
||||
STR_INDUSTRY_DIRECTORY_LIST_CAPTION :{BLACK}Industry names - click on name to centre main view on industry. Ctrl+Click opens a new viewport on industry location
|
||||
STR_INDUSTRY_DIRECTORY_ACCEPTED_CARGO_FILTER :{BLACK}Accepted cargo: {SILVER}{STRING}
|
||||
STR_INDUSTRY_DIRECTORY_PRODUCED_CARGO_FILTER :{BLACK}Produced cargo: {SILVER}{STRING}
|
||||
STR_INDUSTRY_DIRECTORY_FILTER_ALL_TYPES :All cargo types
|
||||
STR_INDUSTRY_DIRECTORY_FILTER_NONE :None
|
||||
|
||||
# Industry view
|
||||
STR_INDUSTRY_VIEW_CAPTION :{WHITE}{INDUSTRY}
|
||||
@@ -4175,6 +4181,14 @@ STR_AI_LIST_ACCEPT_TOOLTIP :{BLACK}Select h
|
||||
STR_AI_LIST_CANCEL :{BLACK}Cancel
|
||||
STR_AI_LIST_CANCEL_TOOLTIP :{BLACK}Don't change the script
|
||||
|
||||
STR_SCREENSHOT_CAPTION :{WHITE}Take a screenshot
|
||||
STR_SCREENSHOT_SCREENSHOT :{BLACK}Normal screenshot
|
||||
STR_SCREENSHOT_ZOOMIN_SCREENSHOT :{BLACK}Fully zoomed in screenshot
|
||||
STR_SCREENSHOT_DEFAULTZOOM_SCREENSHOT :{BLACK}Default zoom screenshot
|
||||
STR_SCREENSHOT_WORLD_SCREENSHOT :{BLACK}Whole map screenshot
|
||||
STR_SCREENSHOT_HEIGHTMAP_SCREENSHOT :{BLACK}Heightmap screenshot
|
||||
STR_SCREENSHOT_MINIMAP_SCREENSHOT :{BLACK}Minimap screenshot
|
||||
|
||||
# AI Parameters
|
||||
STR_AI_SETTINGS_CAPTION :{WHITE}{STRING} Parameters
|
||||
STR_AI_SETTINGS_CAPTION_AI :AI
|
||||
@@ -4471,7 +4485,6 @@ STR_ERROR_CAN_T_CONVERT_ROAD :{WHITE}Can't co
|
||||
STR_ERROR_CAN_T_CONVERT_TRAMWAY :{WHITE}Can't convert tram type here...
|
||||
STR_ERROR_NO_SUITABLE_ROAD :{WHITE}No suitable road
|
||||
STR_ERROR_NO_SUITABLE_TRAMWAY :{WHITE}No suitable tramway
|
||||
STR_ERROR_INCOMPATIBLE_ROAD :{WHITE}... incompatible road
|
||||
STR_ERROR_INCOMPATIBLE_TRAMWAY :{WHITE}... incompatible tramway
|
||||
|
||||
# Waterway construction errors
|
||||
|
||||
@@ -461,9 +461,6 @@ STR_ABOUT_MENU_SEPARATOR :
|
||||
STR_ABOUT_MENU_TOGGLE_CONSOLE :Toggle console
|
||||
STR_ABOUT_MENU_AI_DEBUG :AI/Game script debug
|
||||
STR_ABOUT_MENU_SCREENSHOT :Screenshot
|
||||
STR_ABOUT_MENU_ZOOMIN_SCREENSHOT :Zoomed in screenshot
|
||||
STR_ABOUT_MENU_DEFAULTZOOM_SCREENSHOT :Default zoom screenshot
|
||||
STR_ABOUT_MENU_GIANT_SCREENSHOT :Whole map screenshot
|
||||
STR_ABOUT_MENU_ABOUT_OPENTTD :About 'OpenTTD'
|
||||
STR_ABOUT_MENU_SPRITE_ALIGNER :Sprite aligner
|
||||
STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Toggle bounding boxes
|
||||
@@ -633,9 +630,6 @@ STR_MUSIC_PLAYLIST_CUSTOM_1 :{TINY_FONT}{BLA
|
||||
STR_MUSIC_PLAYLIST_CUSTOM_2 :{TINY_FONT}{BLACK}Custom 2
|
||||
STR_MUSIC_MUSIC_VOLUME :{TINY_FONT}{BLACK}Music Volume
|
||||
STR_MUSIC_EFFECTS_VOLUME :{TINY_FONT}{BLACK}Effects Volume
|
||||
STR_MUSIC_RULER_MIN :{TINY_FONT}{BLACK}MIN
|
||||
STR_MUSIC_RULER_MAX :{TINY_FONT}{BLACK}MAX
|
||||
STR_MUSIC_RULER_MARKER :{TINY_FONT}{BLACK}'
|
||||
STR_MUSIC_TRACK_NONE :{TINY_FONT}{DKGREEN}--
|
||||
STR_MUSIC_TRACK_DIGIT :{TINY_FONT}{DKGREEN}{ZEROFILL_NUM}
|
||||
STR_MUSIC_TITLE_NONE :{TINY_FONT}{DKGREEN}------
|
||||
@@ -2651,7 +2645,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Company-owned l
|
||||
STR_ABOUT_OPENTTD :{WHITE}About OpenTTD
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Original copyright {COPYRIGHT} 1995 Chris Sawyer, All rights reserved
|
||||
STR_ABOUT_VERSION :{BLACK}OpenTTD version {REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2019 The OpenTTD team
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-{STRING} The OpenTTD team
|
||||
|
||||
# Framerate display window
|
||||
############ Leave those lines in this order!!
|
||||
@@ -3951,6 +3945,7 @@ STR_AI_LIST_ACCEPT_TOOLTIP :{BLACK}Select h
|
||||
STR_AI_LIST_CANCEL :{BLACK}Cancel
|
||||
STR_AI_LIST_CANCEL_TOOLTIP :{BLACK}Don't change the script
|
||||
|
||||
|
||||
# AI Parameters
|
||||
STR_AI_SETTINGS_CAPTION :{WHITE}{STRING} Parameters
|
||||
STR_AI_SETTINGS_CAPTION_AI :AI
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user