Compare commits

...

105 Commits
dev/14 ... 1.9

Author SHA1 Message Date
pelya
5cb0f843f1 Updated todo 2020-03-19 20:59:06 +02:00
Sergii Pylypenko
a8a5328716 Updated todo 2020-02-10 23:31:24 +02:00
Sergii Pylypenko
7317193d3d Small fix to fontdetection 2019-10-17 21:18:54 +03:00
Sergii Pylypenko
0bde1d1cbe Fixed tutorial 2019-10-17 21:18:29 +03:00
Sergii Pylypenko
170e4dbc48 Bump version 2019-09-23 19:46:06 +03:00
Sergii Pylypenko
00dea17ecf Merge remote-tracking branch 'up/release/1.9' into 1.9 2019-09-23 19:43:16 +03:00
Niels Martin Hansen
f6643952ce Update: Changelog for 1.9.3 and prepare for release 2019-09-16 21:09:23 +02:00
Owen Rudge
8808c6d033 Fix: Avoid using stat to retrieve file modification times on Windows (#7731) 2019-09-16 21:09:23 +02:00
glx22
c7ace459a7 Fix: inconsistent description for 32bpp-sse4-anim blitter (#7740) 2019-09-16 21:09:23 +02:00
Juriy Petrochenkov
acb63cb4d4 Fix: Use natural sort when sorting the file list. 2019-09-16 21:09:23 +02:00
Michael Lutz
fb8f4119f3 Change: [OSX] Recreate backing store if the colour profile of the screen (or the screen) the game window is one changes.
This will result in changing colours if moving OpenTTD from one screen to another, but should avoid performance problems if the window is moved.
2019-09-16 21:09:23 +02:00
Michael Lutz
7653def300 Fix #7644: [OSX] Try to use system colour space to avoid video output performance degradation. 2019-09-16 21:09:23 +02:00
Niels Martin Hansen
224bb105bc Fix #7479: Don't close construction windows when changing client name 2019-09-16 21:09:23 +02:00
Charles Pigott
e5021a0587 Update: Translations 2019-09-07 23:22:58 +01:00
Niels Martin Hansen
fb51a18357 Update: Changelog for 1.9.3-RC1 and prepare for release 2019-09-07 23:22:58 +01:00
Andy
9f1d80e93b Fix: change Quartz driver colorSpace handling to address certain macOS performance issues (#7644) 2019-09-07 23:22:58 +01:00
glx22
6369e0693d Fix #7188: check the validity of command callback for scripts (#7701) 2019-09-07 23:22:58 +01:00
Daniel Lee
da086a3fde Fix #7626: Allow building drive-through stops over one-way/blocked roads owned by towns (instead of crashing). 2019-09-07 23:22:58 +01:00
Niels Martin Hansen
83f1839e71 Fix #7702: Scaling for highscore screen 2019-09-07 23:22:58 +01:00
JMcKiern
8afc1a7253 Fix #7692: Added industry tile to GetOrderCmdFromTile() (#7709)
Sending order command to an industry tile now checks if a neutral_station is available and sends the order to that station
2019-09-07 23:22:58 +01:00
uvealonso
c70d12ee38 Fix #7704: [OSX] Handle malformed UTF8 strings 2019-09-07 23:22:58 +01:00
TTrebron
ee7ca008c9 Fix #7655: Decrease buttons in cheat window do not work properly 2019-09-07 23:22:58 +01:00
Juriy Petrochenkov
b18c2d140c Fix: RemoveAirport function now returns with 'Aircraft in the way' error message as it should be. 2019-09-07 23:22:58 +01:00
nikolas
a76e5e1970 Fix: Typo in running costs help text 2019-09-07 23:22:58 +01:00
Niels Martin Hansen
59e4ccd7dc Fix: Narrowing cast in one storybook command
CompanyID is 8 bit wide, so this incorrect cast would make it impossible to create story page elements for pages past 255.
2019-09-07 23:22:58 +01:00
Sergii Pylypenko
ffcda991e7 Reverted deprecated Android changes 2019-09-04 15:23:05 +03:00
Sergii Pylypenko
4eef03cee5 Fixed Refit window not fitting the screen height 2019-09-04 15:15:24 +03:00
Sergii Pylypenko
728ea1ee26 Fixed dropdown list missing items 2019-09-02 22:50:26 +03:00
Sergii Pylypenko
70e2af6815 Scroll most lists by finger dragging list contents 2019-08-31 23:34:02 +03:00
Sergii Pylypenko
1ec2b88fca Select video mode with square pixel size 2019-08-31 20:57:12 +03:00
Sergii Pylypenko
980a5b503f Fixed two-finger scrolling 2019-08-31 19:55:02 +03:00
Sergii Pylypenko
dd2c249473 Cleaned up ugly Android-specifc hack 2019-08-31 19:31:38 +03:00
Sergii Pylypenko
08f144fabe Code cleanup 2019-08-31 18:47:14 +03:00
Sergii Pylypenko
e48e4affba Drag-scrolling for long dropdown menus 2019-07-19 23:45:54 +03:00
Sergii Pylypenko
d10728e6e6 Fixed combobox dropdown lists 2019-07-18 21:03:42 +03:00
Sergii Pylypenko
74a12d6f9b Do not open dropdown menu scrolled to the bottom 2019-07-17 23:35:26 +03:00
Sergii Pylypenko
f3af815cc1 Fixed minimap scrolling 2019-07-12 23:47:45 +03:00
Sergii Pylypenko
a6be307972 Removed debug 2019-07-11 23:11:12 +03:00
Sergii Pylypenko
bd088d7906 Fixed crash in minimap code 2019-07-11 23:04:45 +03:00
Sergii Pylypenko
8d77ef37a8 Resizeable smallmap GUI, that will fit all FIRS industries 2019-07-11 22:57:59 +03:00
Sergii Pylypenko
b5fcfde012 Updated todo 2019-07-09 22:03:29 +03:00
Sergii Pylypenko
b1197073d2 Updated translations 2019-07-09 18:10:28 +03:00
Sergii Pylypenko
3e66fd1b09 Updated version file 2019-07-09 18:08:46 +03:00
Sergii Pylypenko
7c83466438 Fixed compiler warning 2019-07-09 18:07:46 +03:00
Sergii Pylypenko
151394b8ff Merge remote-tracking branch 'release/1.9' into 1.9 2019-07-09 17:53:04 +03:00
Michael Lutz
a82f21f24d Update: Changelog for 1.9.2 and prepare for release 2019-07-07 22:54:44 +02:00
Niels Martin Hansen
46908fb63a Fix: Various reliability and correctness improvements to MIDI on Windows. (#7620) 2019-07-07 22:54:44 +02:00
pnda
8efa99f445 Fix #6666: Mismatched parentheses in RTL languages. (#7480) 2019-07-07 22:54:44 +02:00
dP
c6251426d9 Fix: Make GSGoal.QuestionClient work correctly at least for clients with ID < 2**16 (#7560) 2019-07-07 22:54:44 +02:00
unknown
9026736cc1 Fix #5685: Check for free wagons in ScriptVehicleList (#7617) 2019-07-07 22:54:44 +02:00
Niels Martin Hansen
b7a2166962 Fix #7633: Allow zero-cost track conversion to succeed. (#7634) 2019-07-07 22:54:44 +02:00
Michael Lutz
8ea68421b1 Fix #7463: Promote scroll mode setting to basic category. 2019-07-07 22:54:44 +02:00
PeterN
afc5962881 Fix #7577: Check if linkgraph station index is valid before dereferencing. (#7583) 2019-07-07 22:54:44 +02:00
stormcone
9239381d56 Fix #7224: Drag and drop vehicle group creation does not work correctly.
When drag and drop a vehicle into an empty slot in the vehicle group window it tries to create the new group as the subgroup of the first group (GroupID = 0). This is failing if the dragged vehicle's type is different than the first group's vehicle type.
2019-07-07 22:54:44 +02:00
peter1138
9dded61af9 Cleanup: Remove unused string. 2019-07-07 22:54:44 +02:00
peter1138
8fbc5c090b Change: Allow building road stops over self-owned one-way/blocked road. (#7547) 2019-07-07 22:54:44 +02:00
Transportman
00bdd316d7 Fix #7570: Show Github URL in the crashlog window 2019-07-07 22:54:44 +02:00
Corns McGowan
f34284f1a0 Change: Set default setting in server browser of "Advertised" to "Yes". (#7568) 2019-07-07 22:54:44 +02:00
peter1138
c77659c995 Fix: Clicking on scrollbar 'thumb' moved position up instantly. (#7549) 2019-07-07 22:54:44 +02:00
Charles Pigott
e6877d0823 Fix #7255: Prevent crashlog corruption by only printing the 32 most recent news messages. (#7542) 2019-07-07 22:54:44 +02:00
glx22
beba12f9d6 Fix: vcpkg used to patch lzma.h to define LZMA_API_STATIC for static builds (#7614) 2019-07-07 22:54:44 +02:00
glx22
95fd4ec649 Fix 8fc2b48db: [AzurePipeline] copy/paste error (#7557) 2019-05-28 10:20:32 +01:00
peter1138
0fa41c7493 Fix #7491: Send company update admin message when bankruptcy counter changes. 2019-05-28 10:20:32 +01:00
PeterN
60cbcf0742 Fix: Bounds check access to railtype_map. (#7529) 2019-05-28 10:20:32 +01:00
Niels Martin Hansen
e38a4e1e57 Change: Zoom title game by UI zoom level 2019-05-28 10:20:32 +01:00
Niels Martin Hansen
5965f184c2 Fix: Manager name in company news was being clipped 2019-05-28 10:20:32 +01:00
Niels Martin Hansen
db20c7f461 Fix: Scale news ticker scroll speed by UI scale 2019-05-28 10:20:32 +01:00
Niels Martin Hansen
e2e8872e82 Fix: Scale all min size and padding by UI scale 2019-05-28 10:20:32 +01:00
SamuXarick
4750d2836c Fix 50e08f333a: Creating a cargo subsidy with town as source did not consider min population. (#7493) 2019-05-28 10:20:32 +01:00
stormcone
b1c31f9500 Fix: Typos. (#7517) 2019-05-28 10:20:32 +01:00
Charles Pigott
a6879e9180 Fix 5db883f: Railtype bits were moved too late, leading to rails under bridges losing their type 2019-05-28 10:20:32 +01:00
Charles Pigott
5eb7d49024 Fix #6507: Don't try to load invalid depots from older savegames 2019-05-28 10:20:32 +01:00
Charles Pigott
69c0332813 Cleanup: Delete GetSavegameType function since it's been commented out since 2005 2019-05-28 10:20:32 +01:00
Charles Pigott
b11942cf44 Fix: Crash when attempting to load old save game with GRFs set
GroupStatistics pool was not initialised before trying to delete vehicles (specifically, trams with no tram track)
2019-05-28 10:20:32 +01:00
glx22
ef6995e8d4 Fix 2bb80d2: really increase the maximum number of GameScript texts to 64k (#7555) 2019-05-28 10:20:32 +01:00
glx22
c0fd2b969b Fix #7553: check bounds when loading strings (#7554) 2019-05-28 10:20:32 +01:00
peter1138
683778fd7a Codechange: Use std::underlying_type for DECLARE_POSTFIX_INCREMENT. 2019-05-28 10:20:32 +01:00
peter1138
63eeadef17 Fix: Replace int with std::underlying_type in DECLARE_ENUM_AS_BIT_SET.
This fixes 64 bit uses of this macro.
2019-05-28 10:20:32 +01:00
glx22
e526b2ccd3 Fix: [AzurePipeline] ${Agent.JobName} content changed (#7556)
* Fix: [AzurePipeline] ${Agent.JobName} content changed

* Fix: [AzurePipeline] also update commit-checker condition
2019-05-28 10:20:32 +01:00
Sergii Pylypenko
0d5baeef63 Updated todo 2019-05-22 23:49:07 +03:00
Sergii Pylypenko
ceed81200e Updated todo 2019-05-15 23:17:12 +03:00
Sergii Pylypenko
d6c71b0f3b Updated todo 2019-04-26 23:05:39 +03:00
Sergii Pylypenko
5c5eebcd5c Increased video resolutions list size to 100 2019-04-26 22:40:24 +03:00
Sergii Pylypenko
bfab61057c Increased video resolutions list size to 100 2019-04-25 23:44:20 +03:00
Sergii Pylypenko
c1febca55f Increased video resolutions list size to 100 2019-04-25 19:08:16 +03:00
Sergii Pylypenko
9cec19dd4f Added Android OS type to configure script, to remove -lpthread from LDFLAGS 2019-04-24 23:42:14 +03:00
Sergii Pylypenko
a4d53d80e9 Close news window more easily 2019-04-24 20:38:22 +03:00
Sergii Pylypenko
edc3abcd88 Fixed compilaiton in window and widget code 2019-04-24 20:13:08 +03:00
Sergii Pylypenko
71fb27561b Renamed WID_TN_AIRCRAFTS to WID_TN_AIRCRAFT 2019-04-24 20:02:12 +03:00
Sergii Pylypenko
39d5c048e3 Updated revision number in .ottrev 2019-04-24 20:01:45 +03:00
Sergii Pylypenko
b067aee235 Fixed music GUI compilation 2019-04-24 20:01:32 +03:00
Sergii Pylypenko
28cd775717 Fixed 16bpp blitter 2019-04-24 18:21:22 +03:00
Sergii Pylypenko
f8d4bfb1b7 Fixed missing enum in music widget 2019-04-24 18:03:01 +03:00
Sergii Pylypenko
29a28f5c9c Updated Android translations 2019-04-23 18:26:31 +03:00
Sergii Pylypenko
6dc675ac3c Merge remote-tracking branch 'release/1.9' into 1.9 2019-04-23 18:25:14 +03:00
peter1138
b61ef7e0d2 Update: Changelog for 1.9.1 and prepare for release 2019-04-08 20:37:59 +01:00
PeterN
120d76c5c1 Fix #7478: Don't remove NewGRF objects on company take-over. (#7483) 2019-04-08 20:06:02 +01:00
Patric Stout
316ecb07ee Fix: update AI/Game changelog to indicate 1.9.0 is released 2019-04-08 20:06:02 +01:00
Patric Stout
2c21f52e1d Update: translations backported from master 2019-04-08 20:06:02 +01:00
kiwitreekor
0a8e9e9757 Fix #6222: Advanced sprite layout sometimes showed incorrect railtype ground tile 2019-04-08 20:06:02 +01:00
glx22
6bfec89fcf Fix #6564: enforce types of arguments for station name strings (#7419) 2019-04-08 20:06:02 +01:00
glx22
1f39a31eb7 Fix: [Windows] OpenTTD window may be inactive when an error happens (#7482) 2019-04-08 20:06:02 +01:00
glx22
abc0325ef1 Fix #7439: don't overwrite CompanyRemoveReason with ClientID (#7465) 2019-04-08 20:06:02 +01:00
frosch
54451a18c6 Fix #7447, 3357cac847: Action 4 has feature 48 'original strings'. (#7449) 2019-04-08 20:06:02 +01:00
glx22
d3e9e8c2ce Fix #7433: don't use AirportSpec substitute if it's not set (#7435) 2019-04-08 20:06:02 +01:00
157 changed files with 1788 additions and 1274 deletions

View File

@@ -1 +1 @@
1.8.0 28002 0 1.8.0 1.9.3 20190916 0 f6643952ce53b1823c2273964466f785a907ec1a 1 1

View File

@@ -38,10 +38,14 @@ jobs:
strategy: strategy:
matrix: matrix:
commit-checker: {} commit-checker:
linux-amd64-clang-3.8: {} Tag: 'commit-checker'
linux-amd64-gcc-6: {} linux-amd64-clang-3.8:
linux-i386-gcc-6: {} Tag: 'linux-amd64-clang-3.8'
linux-amd64-gcc-6:
Tag: 'linux-amd64-gcc-6'
linux-i386-gcc-6:
Tag: 'linux-i386-gcc-6'
steps: steps:
- template: azure-pipelines/templates/ci-git-rebase.yml - template: azure-pipelines/templates/ci-git-rebase.yml
@@ -50,7 +54,7 @@ jobs:
- template: azure-pipelines/templates/linux-build.yml - template: azure-pipelines/templates/linux-build.yml
parameters: parameters:
Image: compile-farm-ci Image: compile-farm-ci
Tag: $(Agent.JobName) Tag: $(Tag)
- job: macos - job: macos
displayName: 'MacOS' displayName: 'MacOS'

View File

@@ -24,7 +24,7 @@ steps:
${{ if eq(parameters.Image, 'compile-farm-ci') }}: ${{ if eq(parameters.Image, 'compile-farm-ci') }}:
displayName: 'Build and test' displayName: 'Build and test'
# Run the commit-checker only if it is a Pull Request # Run the commit-checker only if it is a Pull Request
condition: and(succeeded(), or(ne(variables['Agent.JobName'], 'commit-checker'), eq(variables['Build.Reason'], 'PullRequest'))) condition: and(succeeded(), or(not(contains(variables['Agent.JobName'], 'commit-checker')), eq(variables['Build.Reason'], 'PullRequest')))
inputs: inputs:
command: 'Run an image' command: 'Run an image'
imageName: openttd/${{ parameters.Image }}:${{ parameters.Tag }} imageName: openttd/${{ parameters.Image }}:${{ parameters.Tag }}

View File

@@ -110,14 +110,22 @@ jobs:
strategy: strategy:
matrix: matrix:
linux-ubuntu-xenial-i386-gcc: {} linux-ubuntu-xenial-i386-gcc:
linux-ubuntu-xenial-amd64-gcc: {} Tag: 'linux-ubuntu-xenial-i386-gcc'
linux-ubuntu-bionic-i386-gcc: {} linux-ubuntu-xenial-amd64-gcc:
linux-ubuntu-bionic-amd64-gcc: {} Tag: 'linux-ubuntu-xenial-amd64-gcc'
linux-debian-jessie-i386-gcc: {} linux-ubuntu-bionic-i386-gcc:
linux-debian-jessie-amd64-gcc: {} Tag: 'linux-ubuntu-bionic-i386-gcc'
linux-debian-stretch-i386-gcc: {} linux-ubuntu-bionic-amd64-gcc:
linux-debian-stretch-amd64-gcc: {} Tag: 'linux-ubuntu-bionic-amd64-gcc'
linux-debian-jessie-i386-gcc:
Tag: 'linux-debian-jessie-i386-gcc'
linux-debian-jessie-amd64-gcc:
Tag: 'linux-debian-jessie-amd64-gcc'
linux-debian-stretch-i386-gcc:
Tag: 'linux-debian-stretch-i386-gcc'
linux-debian-stretch-amd64-gcc:
Tag: 'linux-debian-stretch-amd64-gcc'
steps: steps:
- template: release-fetch-source.yml - template: release-fetch-source.yml
@@ -125,7 +133,7 @@ jobs:
parameters: parameters:
Image: compile-farm Image: compile-farm
ContainerCommand: '$(Build.BuildNumber)' ContainerCommand: '$(Build.BuildNumber)'
Tag: $(Agent.JobName) Tag: $(Tag)
- template: linux-claim-bundles.yml - template: linux-claim-bundles.yml
- template: release-bundles.yml - template: release-bundles.yml

View File

@@ -1,3 +1,62 @@
1.9.3 (2019-09-16)
------------------------------------------------------------------------
- Change: Use natural sort when sorting the file list (#7727)
- Fix #7479: Don't close construction windows when changing client name (#7728)
- Fix #7731: Files sorting by modification time on Windows XP (#7731)
- Fix #7644: [OSX] Better solution for colourspace/performance issues (#7741)
1.9.3-RC1 (2019-09-07)
------------------------------------------------------------------------
- Add: Can now click industries to make orders to their neutral station (e.g. oil rig) (#7709)
- Fix #7644: [OSX] Poor framerate on certain systems (#7721)
- Fix #7702: Highscore screen UI scaling (#7714)
- Fix #7704: [OSX] Handle malformed UTF8 strings, leading to crashes in server browser (#7705)
- Fix #7188: [AI] Possible crash when reloading an AI in multiplayer games (#7701, #7725)
- Fix: RemoveAirport function now returns 'Aircraft in the way' error message when occupied (#7690)
- Fix: Spelling in running costs setting help text (#7686)
- Fix #7655: 'Decrease' buttons in cheat window not working properly with UI scaling (#7669)
- Fix: [GS] Could not create elements on Storybook pages with ID > 255 (#7657)
- Fix #7626: Allow building road stops over town-owned one-way roads, instead of crashing (#7627)
1.9.2 (2019-07-07)
------------------------------------------------------------------------
- Change: Set default setting in server browser of "Advertised" to "Yes" (#7568)
- Change: Allow building road stops over self-owned one-way/blocked road (#7547)
- Fix #7463: Promote scroll mode setting to basic category (#7586)
- Fix: Inconsistent GUI scaling (#7539)
- Fix #7491: Send company update admin message when bankruptcy counter changes (#7492)
- Fix #7553: Check bounds when loading strings (#7554)
- Fix: Really increase the maximum number of GameScript texts to 64k (#7555)
- Fix: Crash when attempting to load old save game with GRFs set (#7546)
- Fix #6507: Don't try to load invalid depots from older savegames (#7546)
- Fix: Railtype bits were moved too late, leading to rails under bridges losing their type (#7546)
- Fix: Bounds check access to railtype_map (#7529)
- Fix: Spurious errors when using more than 32 railtypes (#7533)
- Fix #7633: Allow zero-cost track conversion to succeed (#7634)
- Fix #7577: Check if linkgraph station index is valid before dereferencing (#7583)
- Fix #7224: Drag and drop vehicle group creation does not work correctly (#7581)
- Fix #7570: Show Github URL in the crashlog window (#7571)
- Fix: Clicking on scrollbar 'thumb' moved position up instantly (#7549)
- Fix #7255: Prevent crashlog corruption by only printing the 32 most recent news messages (#7542)
- Fix #5685: Check for free wagons in ScriptVehicleList (#7617)
- Fix: Make GSGoal.QuestionClient work correctly at least for clients with ID < 2**16 (#7560)
- Fix #6666: Mismatched parentheses in RTL languages (#7480)
- Fix: [Windows] Various reliability and correctness improvements to MIDI on Windows (#7620)
1.9.1 (2019-04-08)
------------------------------------------------------------------------
- Fix #6564: Enforce types of arguments for station name strings (#7419)
- Fix #7433: Don't use AirportSpec substitute if it's not enabled (#7435)
- Fix #7447, #7466, #7476: Missing NewGRF strings due to Action 4 feature check skipping pseudo-feature 48 (#7449)
- Fix #6222: Advanced sprite layout sometimes showed incorrect railtype ground tile. (#7460)
- Fix #7439: CompanyRemoveReason overwritten by ClientID (#7465)
- Fix: [Windows] Incorrect error handling could lead to cascading error windows (#7482)
- Fix #7478: Don't remove NewGRF objects on company take-over. (#7483)
1.9.0 (2019-04-01) 1.9.0 (2019-04-01)
------------------------------------------------------------------------ ------------------------------------------------------------------------
- Fix #7411: Use industry production callback (if used) on initial industry cargo generation (#7412) - Fix #7411: Use industry production callback (if used) on initial industry cargo generation (#7412)

View File

@@ -560,9 +560,9 @@ check_params() {
# Check if all params have valid values # Check if all params have valid values
# OS only allows DETECT, UNIX, OSX, FREEBSD, DRAGONFLY, OPENBSD, NETBSD, MORPHOS, BEOS, HAIKU, SUNOS, CYGWIN, MINGW, OS2, and DOS # OS only allows DETECT, UNIX, OSX, FREEBSD, DRAGONFLY, OPENBSD, NETBSD, MORPHOS, BEOS, HAIKU, SUNOS, CYGWIN, MINGW, OS2, and DOS
if [ -z "`echo $os | egrep '^(DETECT|UNIX|OSX|FREEBSD|DRAGONFLY|OPENBSD|NETBSD|HPUX|MORPHOS|BEOS|HAIKU|SUNOS|CYGWIN|MINGW|OS2|DOS)$'`" ]; then if [ -z "`echo $os | egrep '^(DETECT|UNIX|OSX|FREEBSD|DRAGONFLY|OPENBSD|NETBSD|HPUX|MORPHOS|BEOS|HAIKU|SUNOS|CYGWIN|MINGW|OS2|DOS|ANDROID)$'`" ]; then
log 1 "configure: error: invalid option --os=$os" log 1 "configure: error: invalid option --os=$os"
log 1 " Available options are: --os=[DETECT|UNIX|OSX|FREEBSD|DRAGONFLY|OPENBSD|NETBSD|HPUX|MORPHOS|BEOS|HAIKU|SUNOS|CYGWIN|MINGW|OS2|DOS]" log 1 " Available options are: --os=[DETECT|UNIX|OSX|FREEBSD|DRAGONFLY|OPENBSD|NETBSD|HPUX|MORPHOS|BEOS|HAIKU|SUNOS|CYGWIN|MINGW|OS2|DOS|ANDROID]"
exit 1 exit 1
fi fi
# cpu_type can be either 32 or 64 # cpu_type can be either 32 or 64
@@ -1616,7 +1616,7 @@ make_cflags_and_ldflags() {
fi fi
fi fi
if [ "$os" != "CYGWIN" ] && [ "$os" != "HAIKU" ] && [ "$os" != "OPENBSD" ] && [ "$os" != "MINGW" ] && [ "$os" != "MORPHOS" ] && [ "$os" != "OSX" ] && [ "$os" != "DOS" ] && [ "$os" != "OS2" ]; then if [ "$os" != "CYGWIN" ] && [ "$os" != "HAIKU" ] && [ "$os" != "OPENBSD" ] && [ "$os" != "MINGW" ] && [ "$os" != "MORPHOS" ] && [ "$os" != "OSX" ] && [ "$os" != "DOS" ] && [ "$os" != "OS2" ] && [ "$os" != "ANDROID" ]; then
LIBS="$LIBS -lpthread" LIBS="$LIBS -lpthread"
fi fi
@@ -1657,7 +1657,7 @@ make_cflags_and_ldflags() {
fi fi
# Most targets act like UNIX, just with some additions # Most targets act like UNIX, just with some additions
if [ "$os" = "BEOS" ] || [ "$os" = "HAIKU" ] || [ "$os" = "OSX" ] || [ "$os" = "MORPHOS" ] || [ "$os" = "FREEBSD" ] || [ "$os" = "DRAGONFLY" ] || [ "$os" = "OPENBSD" ] || [ "$os" = "NETBSD" ] || [ "$os" = "HPUX" ] || [ "$os" = "SUNOS" ] || [ "$os" = "OS2" ]; then if [ "$os" = "BEOS" ] || [ "$os" = "HAIKU" ] || [ "$os" = "OSX" ] || [ "$os" = "MORPHOS" ] || [ "$os" = "FREEBSD" ] || [ "$os" = "DRAGONFLY" ] || [ "$os" = "OPENBSD" ] || [ "$os" = "NETBSD" ] || [ "$os" = "HPUX" ] || [ "$os" = "SUNOS" ] || [ "$os" = "OS2" ] || [ "$os" = "ANDROID" ]; then
CFLAGS="$CFLAGS -DUNIX" CFLAGS="$CFLAGS -DUNIX"
fi fi
# And others like Windows # And others like Windows
@@ -1823,14 +1823,14 @@ make_cflags_and_ldflags() {
CFLAGS="$CFLAGS -DWITH_XAUDIO2" CFLAGS="$CFLAGS -DWITH_XAUDIO2"
fi fi
if [ -n "$libtimidity" ]; then if [ -n "$libtimidity_config" ]; then
CFLAGS="$CFLAGS -DLIBTIMIDITY" CFLAGS="$CFLAGS -DLIBTIMIDITY"
CFLAGS="$CFLAGS `$libtimidity --cflags | tr '\n\r' ' '`" CFLAGS="$CFLAGS `$libtimidity_config --cflags | tr '\n\r' ' '`"
if [ "$enable_static" != "0" ]; then if [ "$enable_static" != "0" ]; then
LIBS="$LIBS `$libtimidity --libs --static | tr '\n\r' ' '`" LIBS="$LIBS `$libtimidity_config --libs --static | tr '\n\r' ' '`"
else else
LIBS="$LIBS `$libtimidity --libs | tr '\n\r' ' '`" LIBS="$LIBS `$libtimidity_config --libs | tr '\n\r' ' '`"
fi fi
fi fi
@@ -2772,7 +2772,7 @@ detect_lzo2() {
} }
detect_libtimidity() { detect_libtimidity() {
detect_pkg_config "$with_libtimidity" "libtimidity" "libtimidity" "0.1" "1" detect_pkg_config "$with_libtimidity" "libtimidity" "libtimidity_config" "0.1" "1"
} }
detect_fluidsynth() { detect_fluidsynth() {
@@ -3494,7 +3494,7 @@ showhelp() {
echo " --os=OS the OS we are compiling for [DETECT]" echo " --os=OS the OS we are compiling for [DETECT]"
echo " DETECT/UNIX/OSX/FREEBSD/DRAGONFLY/OPENBSD/" echo " DETECT/UNIX/OSX/FREEBSD/DRAGONFLY/OPENBSD/"
echo " NETBSD/MORPHOS/HPUX/BEOS/SUNOS/CYGWIN/" echo " NETBSD/MORPHOS/HPUX/BEOS/SUNOS/CYGWIN/"
echo " MINGW/OS2/DOS/HAIKU" echo " MINGW/OS2/DOS/HAIKU/ANDROID"
echo "" echo ""
echo "Paths:" echo "Paths:"
echo " --prefix-dir=dir specifies the prefix for all installed" echo " --prefix-dir=dir specifies the prefix for all installed"

2
configure vendored
View File

@@ -124,7 +124,7 @@ AWKCOMMAND='
if ($0 == "MORPHOS" && "'$os'" != "MORPHOS") { next; } if ($0 == "MORPHOS" && "'$os'" != "MORPHOS") { next; }
if ($0 == "MSVC" && "'$os'" != "MSVC") { next; } if ($0 == "MSVC" && "'$os'" != "MSVC") { next; }
if ($0 == "DIRECTMUSIC" && "'$with_direct_music'" == "0") { next; } if ($0 == "DIRECTMUSIC" && "'$with_direct_music'" == "0") { next; }
if ($0 == "LIBTIMIDITY" && "'$libtimidity'" == "" ) { next; } if ($0 == "LIBTIMIDITY" && "'$libtimidity_config'" == "" ) { next; }
if ($0 == "FLUIDSYNTH" && "'$fluidsynth'" == "" ) { next; } if ($0 == "FLUIDSYNTH" && "'$fluidsynth'" == "" ) { next; }
if ($0 == "HAVE_THREAD" && "'$with_threads'" == "0") { next; } if ($0 == "HAVE_THREAD" && "'$with_threads'" == "0") { next; }
if ($0 == "SSE" && "'$with_sse'" != "1") { next; } if ($0 == "SSE" && "'$with_sse'" != "1") { next; }

View File

@@ -1,6 +1,6 @@
OpenTTD's known bugs OpenTTD's known bugs
Last updated: 2019-04-01 Last updated: 2019-09-16
Release version: 1.9.0 Release version: 1.9.3
------------------------------------------------------------------------ ------------------------------------------------------------------------

View File

@@ -1,3 +1,27 @@
openttd (1.9.3-0) unstable; urgency=low
* New upstream release 1.9.3
-- OpenTTD <info@openttd.org> Mon, 16 Sep 2019 21:00:00 +0200
openttd (1.9.3~RC1-0) unstable; urgency=low
* New upstream release 1.9.3-RC1
-- OpenTTD <info@openttd.org> Sat, 07 Sep 2019 23:30:00 +0200
openttd (1.9.2-0) unstable; urgency=low
* New upstream release 1.9.2
-- OpenTTD <info@openttd.org> Sun, 07 Jul 2019 23:00:00 +0200
openttd (1.9.1-0) unstable; urgency=low
* New upstream release 1.9.1
-- OpenTTD <info@openttd.org> Mon, 08 Apr 2019 20:00:00 +0100
openttd (1.9.0-0) unstable; urgency=low openttd (1.9.0-0) unstable; urgency=low
* New upstream release 1.9.0 * New upstream release 1.9.0

View File

@@ -1,6 +1,6 @@
@echo off @echo off
set OPENTTD_VERSION=1.9.0 set OPENTTD_VERSION=1.9.3
set OPENSFX_VERSION=0.8.0 set OPENSFX_VERSION=0.8.0
set NOSOUND_VERSION=0.8.0 set NOSOUND_VERSION=0.8.0
set OPENGFX_VERSION=1.2.0 set OPENGFX_VERSION=1.2.0

View File

@@ -17,9 +17,9 @@
# #
Name: openttd Name: openttd
Version: 1.9 Version: 1.9.3
Release: 0 Release: 0
%define srcver 1.9.0 %define srcver 1.9.3
Summary: An open source reimplementation of Chris Sawyer's Transport Tycoon Deluxe Summary: An open source reimplementation of Chris Sawyer's Transport Tycoon Deluxe
License: GPL-2.0 License: GPL-2.0
Group: Amusements/Games/Strategy/Other Group: Amusements/Games/Strategy/Other

View File

@@ -1,8 +1,8 @@
# Version numbers to update # Version numbers to update
!define APPV_MAJOR 1 !define APPV_MAJOR 1
!define APPV_MINOR 9 !define APPV_MINOR 9
!define APPV_MAINT 0 !define APPV_MAINT 3
!define APPV_BUILD 5 !define APPV_BUILD 0
!define APPV_EXTRA "" !define APPV_EXTRA ""
!define APPNAME "OpenTTD" ; Define application name !define APPNAME "OpenTTD" ; Define application name

View File

@@ -1287,7 +1287,7 @@ struct AIDebugWindow : public Window {
case WID_AID_RELOAD_TOGGLE: case WID_AID_RELOAD_TOGGLE:
if (ai_debug_company == OWNER_DEITY) break; if (ai_debug_company == OWNER_DEITY) break;
/* First kill the company of the AI, then start a new one. This should start the current AI again */ /* First kill the company of the AI, then start a new one. This should start the current AI again */
DoCommandP(0, CCA_DELETE | ai_debug_company << 16, CRR_MANUAL, CMD_COMPANY_CTRL); DoCommandP(0, CCA_DELETE | ai_debug_company << 16 | CRR_MANUAL << 24, 0, CMD_COMPANY_CTRL);
DoCommandP(0, CCA_NEW_AI | ai_debug_company << 16, 0, CMD_COMPANY_CTRL); DoCommandP(0, CCA_NEW_AI | ai_debug_company << 16, 0, CMD_COMPANY_CTRL);
break; break;

View File

@@ -248,8 +248,9 @@ ScriptInfo *AIInstance::FindLibrary(const char *library, int version)
* @param tile The tile on which the command was executed. * @param tile The tile on which the command was executed.
* @param p1 p1 as given to DoCommandPInternal. * @param p1 p1 as given to DoCommandPInternal.
* @param p2 p2 as given to DoCommandPInternal. * @param p2 p2 as given to DoCommandPInternal.
* @param cmd cmd as given to DoCommandPInternal.
*/ */
void CcAI(const CommandCost &result, TileIndex tile, uint32 p1, uint32 p2) void CcAI(const CommandCost &result, TileIndex tile, uint32 p1, uint32 p2, uint32 cmd)
{ {
/* /*
* The company might not exist anymore. Check for this. * The company might not exist anymore. Check for this.
@@ -260,8 +261,9 @@ void CcAI(const CommandCost &result, TileIndex tile, uint32 p1, uint32 p2)
const Company *c = Company::GetIfValid(_current_company); const Company *c = Company::GetIfValid(_current_company);
if (c == NULL || c->ai_instance == NULL) return; if (c == NULL || c->ai_instance == NULL) return;
c->ai_instance->DoCommandCallback(result, tile, p1, p2); if (c->ai_instance->DoCommandCallback(result, tile, p1, p2, cmd)) {
c->ai_instance->Continue(); c->ai_instance->Continue();
}
} }
CommandCallback *AIInstance::GetDoCommandCallback() CommandCallback *AIInstance::GetDoCommandCallback()

View File

@@ -44,7 +44,7 @@ static void ShowBuildAirportPicker(Window *parent);
SpriteID GetCustomAirportSprite(const AirportSpec *as, byte layout); SpriteID GetCustomAirportSprite(const AirportSpec *as, byte layout);
void CcBuildAirport(const CommandCost &result, TileIndex tile, uint32 p1, uint32 p2) void CcBuildAirport(const CommandCost &result, TileIndex tile, uint32 p1, uint32 p2, uint32 cmd)
{ {
if (result.Failed()) return; if (result.Failed()) return;

View File

@@ -7,7 +7,7 @@
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>. * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
*/ */
/** @file 16bpp_anim.cpp Implementation of the optimized 32 bpp blitter with animation support. */ /** @file 16bpp_anim.cpp Implementation of the optimized 16 bpp blitter with animation support, currently broken. */
#include "../stdafx.h" #include "../stdafx.h"
#include "../video/video_driver.hpp" #include "../video/video_driver.hpp"

View File

@@ -7,10 +7,11 @@
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>. * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
*/ */
/** @file 16bpp_base.cpp Implementation of base for 32 bpp blitters. */ /** @file 16bpp_base.cpp Implementation of base for 16 bpp blitters. */
#include "../stdafx.h" #include "../stdafx.h"
#include "16bpp_base.hpp" #include "16bpp_base.hpp"
#include "common.hpp"
void *Blitter_16bppBase::MoveTo(void *video, int x, int y) void *Blitter_16bppBase::MoveTo(void *video, int x, int y)
{ {
@@ -22,6 +23,14 @@ void Blitter_16bppBase::SetPixel(void *video, int x, int y, uint8 colour)
*((Colour16 *)video + x + y * _screen.pitch) = LookupColourInPalette(colour); *((Colour16 *)video + x + y * _screen.pitch) = LookupColourInPalette(colour);
} }
void Blitter_16bppBase::DrawLine(void *video, int x, int y, int x2, int y2, int screen_width, int screen_height, uint8 colour, int width, int dash)
{
const Colour16 c = LookupColourInPalette(colour);
this->DrawLineGeneric(x, y, x2, y2, screen_width, screen_height, width, dash, [=](int x, int y) {
*((Colour16 *)video + x + y * _screen.pitch) = c;
});
}
void Blitter_16bppBase::DrawRect(void *video, int width, int height, uint8 colour) void Blitter_16bppBase::DrawRect(void *video, int width, int height, uint8 colour)
{ {
Colour16 target = LookupColourInPalette(colour); Colour16 target = LookupColourInPalette(colour);

View File

@@ -42,6 +42,7 @@ public:
/* virtual */ uint8 GetScreenDepth() { return 16; } /* virtual */ uint8 GetScreenDepth() { return 16; }
/* virtual */ void *MoveTo(void *video, int x, int y); /* virtual */ void *MoveTo(void *video, int x, int y);
/* virtual */ void SetPixel(void *video, int x, int y, uint8 colour); /* virtual */ void SetPixel(void *video, int x, int y, uint8 colour);
/* virtual */ void DrawLine(void *video, int x, int y, int x2, int y2, int screen_width, int screen_height, uint8 colour, int width, int dash);
/* virtual */ void DrawRect(void *video, int width, int height, uint8 colour); /* virtual */ void DrawRect(void *video, int width, int height, uint8 colour);
/* virtual */ void CopyFromBuffer(void *video, const void *src, int width, int height); /* virtual */ void CopyFromBuffer(void *video, const void *src, int width, int height);
/* virtual */ void CopyToBuffer(const void *video, void *dst, int width, int height); /* virtual */ void CopyToBuffer(const void *video, void *dst, int width, int height);

View File

@@ -7,7 +7,7 @@
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>. * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
*/ */
/** @file 32bpp_simple.cpp Implementation of the simple 32 bpp blitter. */ /** @file 32bpp_simple.cpp Implementation of the simple 16 bpp blitter. */
#include "../stdafx.h" #include "../stdafx.h"
#include "../zoom_func.h" #include "../zoom_func.h"

View File

@@ -46,7 +46,7 @@ public:
/** Factory for the SSE4 32 bpp blitter (with palette animation). */ /** Factory for the SSE4 32 bpp blitter (with palette animation). */
class FBlitter_32bppSSE4_Anim: public BlitterFactory { class FBlitter_32bppSSE4_Anim: public BlitterFactory {
public: public:
FBlitter_32bppSSE4_Anim() : BlitterFactory("32bpp-sse4-anim", "SSE4 Blitter (palette animation)", HasCPUIDFlag(1, 2, 19)) {} FBlitter_32bppSSE4_Anim() : BlitterFactory("32bpp-sse4-anim", "32bpp SSE4 Blitter (palette animation)", HasCPUIDFlag(1, 2, 19)) {}
/* virtual */ Blitter *CreateInstance() { return new Blitter_32bppSSE4_Anim(); } /* virtual */ Blitter *CreateInstance() { return new Blitter_32bppSSE4_Anim(); }
}; };

View File

@@ -58,8 +58,9 @@ typedef GUIList<BuildBridgeData> GUIBridgeList; ///< List of bridges, used in #B
* - p2 = (bit 0- 7) - bridge type (hi bh) * - p2 = (bit 0- 7) - bridge type (hi bh)
* - p2 = (bit 8-13) - rail type or road types. * - p2 = (bit 8-13) - rail type or road types.
* - p2 = (bit 15-16) - transport type. * - p2 = (bit 15-16) - transport type.
* @param cmd unused
*/ */
void CcBuildBridge(const CommandCost &result, TileIndex end_tile, uint32 p1, uint32 p2) void CcBuildBridge(const CommandCost &result, TileIndex end_tile, uint32 p1, uint32 p2, uint32 cmd)
{ {
if (result.Failed()) return; if (result.Failed()) return;
if (_settings_client.sound.confirm) SndPlayTileFx(SND_27_BLACKSMITH_ANVIL, end_tile); if (_settings_client.sound.confirm) SndPlayTileFx(SND_27_BLACKSMITH_ANVIL, end_tile);

View File

@@ -370,7 +370,7 @@ struct CheatWindow : Window {
default: default:
/* Take whatever the function returns */ /* Take whatever the function returns */
value = ce->proc(value + ((x >= 20 + SETTING_BUTTON_WIDTH / 2) ? 1 : -1), (x >= 10 + this->box_width + SETTING_BUTTON_WIDTH / 2) ? 1 : -1); value = ce->proc(value + ((x >= 10 + this->box_width + SETTING_BUTTON_WIDTH / 2) ? 1 : -1), (x >= 10 + this->box_width + SETTING_BUTTON_WIDTH / 2) ? 1 : -1);
/* The first cheat (money), doesn't return a different value. */ /* The first cheat (money), doesn't return a different value. */
if (value != oldvalue || btn == CHT_MONEY) this->clicked = btn * 2 + 1 + ((x >= 10 + this->box_width + SETTING_BUTTON_WIDTH / 2) != rtl ? 1 : 0); if (value != oldvalue || btn == CHT_MONEY) this->clicked = btn * 2 + 1 + ((x >= 10 + this->box_width + SETTING_BUTTON_WIDTH / 2) != rtl ? 1 : 0);

View File

@@ -607,7 +607,7 @@ bool DoCommandP(TileIndex tile, uint32 p1, uint32 p2, uint32 cmd, CommandCallbac
} }
if (!estimate_only && !only_sending && callback != NULL) { if (!estimate_only && !only_sending && callback != NULL) {
callback(res, tile, p1, p2); callback(res, tile, p1, p2, cmd);
} }
return res.Succeeded(); return res.Succeeded();

View File

@@ -467,7 +467,7 @@ struct Command {
* @param p1 Additional data of the command * @param p1 Additional data of the command
* @see CommandProc * @see CommandProc
*/ */
typedef void CommandCallback(const CommandCost &result, TileIndex tile, uint32 p1, uint32 p2); typedef void CommandCallback(const CommandCost &result, TileIndex tile, uint32 p1, uint32 p2, uint32 cmd);
/** /**
* Structure for buffering the build command when selecting a station to join. * Structure for buffering the build command when selecting a station to join.

View File

@@ -104,9 +104,12 @@ void SetLocalCompany(CompanyID new_company)
/* company could also be COMPANY_SPECTATOR or OWNER_NONE */ /* company could also be COMPANY_SPECTATOR or OWNER_NONE */
assert(Company::IsValidID(new_company) || new_company == COMPANY_SPECTATOR || new_company == OWNER_NONE); assert(Company::IsValidID(new_company) || new_company == COMPANY_SPECTATOR || new_company == OWNER_NONE);
/* If actually changing to another company, several windows need closing */
bool switching_company = _local_company != new_company;
#ifdef ENABLE_NETWORK #ifdef ENABLE_NETWORK
/* Delete the chat window, if you were team chatting. */ /* Delete the chat window, if you were team chatting. */
InvalidateWindowData(WC_SEND_NETWORK_MSG, DESTTYPE_TEAM, _local_company); if (switching_company) InvalidateWindowData(WC_SEND_NETWORK_MSG, DESTTYPE_TEAM, _local_company);
#endif #endif
assert(IsLocalCompany()); assert(IsLocalCompany());
@@ -114,7 +117,7 @@ void SetLocalCompany(CompanyID new_company)
_current_company = _local_company = new_company; _current_company = _local_company = new_company;
/* Delete any construction windows... */ /* Delete any construction windows... */
DeleteConstructionWindows(); if (switching_company) DeleteConstructionWindows();
/* ... and redraw the whole screen. */ /* ... and redraw the whole screen. */
MarkWholeScreenDirty(); MarkWholeScreenDirty();
@@ -805,10 +808,9 @@ void CompanyAdminRemove(CompanyID company_id, CompanyRemoveReason reason)
* @param flags operation to perform * @param flags operation to perform
* @param p1 various functionality * @param p1 various functionality
* - bits 0..15: CompanyCtrlAction * - bits 0..15: CompanyCtrlAction
* - bits 16..24: CompanyID * - bits 16..23: CompanyID
* @param p2 various depending on CompanyCtrlAction * - bits 24..31: CompanyRemoveReason (with CCA_DELETE)
* - bits 0..31: ClientID (with CCA_NEW) * @param p2 ClientID
* - bits 0..1: CompanyRemoveReason (with CCA_DELETE)
* @param text unused * @param text unused
* @return the cost of this operation or an error * @return the cost of this operation or an error
*/ */
@@ -882,7 +884,7 @@ CommandCost CmdCompanyCtrl(TileIndex tile, DoCommandFlag flags, uint32 p1, uint3
} }
case CCA_DELETE: { // Delete a company case CCA_DELETE: { // Delete a company
CompanyRemoveReason reason = (CompanyRemoveReason)GB(p2, 0, 2); CompanyRemoveReason reason = (CompanyRemoveReason)GB(p1, 24, 8);
if (reason >= CRR_END) return CMD_ERROR; if (reason >= CRR_END) return CMD_ERROR;
Company *c = Company::GetIfValid(company_id); Company *c = Company::GetIfValid(company_id);

View File

@@ -850,7 +850,7 @@ DEF_CONSOLE_CMD(ConResetCompany)
} }
/* It is safe to remove this company */ /* It is safe to remove this company */
DoCommandP(0, CCA_DELETE | index << 16, CRR_MANUAL, CMD_COMPANY_CTRL); DoCommandP(0, CCA_DELETE | index << 16 | CRR_MANUAL << 24, 0, CMD_COMPANY_CTRL);
IConsolePrint(CC_DEFAULT, "Company deleted."); IConsolePrint(CC_DEFAULT, "Company deleted.");
return true; return true;
@@ -1227,7 +1227,7 @@ DEF_CONSOLE_CMD(ConReloadAI)
} }
/* First kill the company of the AI, then start a new one. This should start the current AI again */ /* First kill the company of the AI, then start a new one. This should start the current AI again */
DoCommandP(0, CCA_DELETE | company_id << 16, CRR_MANUAL, CMD_COMPANY_CTRL); DoCommandP(0, CCA_DELETE | company_id << 16 | CRR_MANUAL << 24, 0,CMD_COMPANY_CTRL);
DoCommandP(0, CCA_NEW_AI | company_id << 16, 0, CMD_COMPANY_CTRL); DoCommandP(0, CCA_NEW_AI | company_id << 16, 0, CMD_COMPANY_CTRL);
IConsolePrint(CC_DEFAULT, "AI reloaded."); IConsolePrint(CC_DEFAULT, "AI reloaded.");
@@ -1264,7 +1264,7 @@ DEF_CONSOLE_CMD(ConStopAI)
} }
/* Now kill the company of the AI. */ /* Now kill the company of the AI. */
DoCommandP(0, CCA_DELETE | company_id << 16, CRR_MANUAL, CMD_COMPANY_CTRL); DoCommandP(0, CCA_DELETE | company_id << 16 | CRR_MANUAL << 24, 0, CMD_COMPANY_CTRL);
IConsolePrint(CC_DEFAULT, "AI stopped, company deleted."); IConsolePrint(CC_DEFAULT, "AI stopped, company deleted.");
return true; return true;

View File

@@ -12,18 +12,20 @@
#ifndef ENUM_TYPE_HPP #ifndef ENUM_TYPE_HPP
#define ENUM_TYPE_HPP #define ENUM_TYPE_HPP
#include <type_traits>
/** Some enums need to have allowed incrementing (i.e. StationClassID) */ /** Some enums need to have allowed incrementing (i.e. StationClassID) */
#define DECLARE_POSTFIX_INCREMENT(type) \ #define DECLARE_POSTFIX_INCREMENT(enum_type) \
inline type operator ++(type& e, int) \ inline enum_type operator ++(enum_type& e, int) \
{ \ { \
type e_org = e; \ enum_type e_org = e; \
e = (type)((int)e + 1); \ e = (enum_type)((std::underlying_type<enum_type>::type)e + 1); \
return e_org; \ return e_org; \
} \ } \
inline type operator --(type& e, int) \ inline enum_type operator --(enum_type& e, int) \
{ \ { \
type e_org = e; \ enum_type e_org = e; \
e = (type)((int)e - 1); \ e = (enum_type)((std::underlying_type<enum_type>::type)e - 1); \
return e_org; \ return e_org; \
} }
@@ -31,13 +33,13 @@
/** Operators to allow to work with enum as with type safe bit set in C++ */ /** Operators to allow to work with enum as with type safe bit set in C++ */
# define DECLARE_ENUM_AS_BIT_SET(mask_t) \ # define DECLARE_ENUM_AS_BIT_SET(mask_t) \
inline mask_t operator | (mask_t m1, mask_t m2) {return (mask_t)((int)m1 | m2);} \ inline mask_t operator | (mask_t m1, mask_t m2) {return (mask_t)((std::underlying_type<mask_t>::type)m1 | m2);} \
inline mask_t operator & (mask_t m1, mask_t m2) {return (mask_t)((int)m1 & m2);} \ inline mask_t operator & (mask_t m1, mask_t m2) {return (mask_t)((std::underlying_type<mask_t>::type)m1 & m2);} \
inline mask_t operator ^ (mask_t m1, mask_t m2) {return (mask_t)((int)m1 ^ m2);} \ inline mask_t operator ^ (mask_t m1, mask_t m2) {return (mask_t)((std::underlying_type<mask_t>::type)m1 ^ m2);} \
inline mask_t& operator |= (mask_t& m1, mask_t m2) {m1 = m1 | m2; return m1;} \ inline mask_t& operator |= (mask_t& m1, mask_t m2) {m1 = m1 | m2; return m1;} \
inline mask_t& operator &= (mask_t& m1, mask_t m2) {m1 = m1 & m2; return m1;} \ inline mask_t& operator &= (mask_t& m1, mask_t m2) {m1 = m1 & m2; return m1;} \
inline mask_t& operator ^= (mask_t& m1, mask_t m2) {m1 = m1 ^ m2; return m1;} \ inline mask_t& operator ^= (mask_t& m1, mask_t m2) {m1 = m1 ^ m2; return m1;} \
inline mask_t operator ~(mask_t m) {return (mask_t)(~(int)m);} inline mask_t operator ~(mask_t m) {return (mask_t)(~(std::underlying_type<mask_t>::type)m);}
/** /**

View File

@@ -303,7 +303,7 @@ char *CrashLog::LogGamelog(char *buffer, const char *last) const
} }
/** /**
* Writes any recent news messages to the buffer. * Writes up to 32 recent news messages to the buffer, with the most recent first.
* @param buffer The begin where to write at. * @param buffer The begin where to write at.
* @param last The last position in the buffer to write to. * @param last The last position in the buffer to write to.
* @return the position of the \c '\0' character after the buffer. * @return the position of the \c '\0' character after the buffer.
@@ -312,7 +312,8 @@ char *CrashLog::LogRecentNews(char *buffer, const char *last) const
{ {
buffer += seprintf(buffer, last, "Recent news messages:\n"); buffer += seprintf(buffer, last, "Recent news messages:\n");
for (NewsItem *news = _oldest_news; news != NULL; news = news->next) { int i = 0;
for (NewsItem *news = _latest_news; i < 32 && news != NULL; news = news->prev, i++) {
YearMonthDay ymd; YearMonthDay ymd;
ConvertDateToYMD(news->date, &ymd); ConvertDateToYMD(news->date, &ymd);
buffer += seprintf(buffer, last, "(%i-%02i-%02i) StringID: %u, Type: %u, Ref1: %u, %u, Ref2: %u, %u\n", buffer += seprintf(buffer, last, "(%i-%02i-%02i) StringID: %u, Type: %u, Ref1: %u, %u, Ref2: %u, %u\n",

View File

@@ -117,8 +117,9 @@ extern void DepotSortList(VehicleList *list);
* @param tile unused * @param tile unused
* @param p1 unused * @param p1 unused
* @param p2 unused * @param p2 unused
* @param cmd unused
*/ */
void CcCloneVehicle(const CommandCost &result, TileIndex tile, uint32 p1, uint32 p2) void CcCloneVehicle(const CommandCost &result, TileIndex tile, uint32 p1, uint32 p2, uint32 cmd)
{ {
if (result.Failed()) return; if (result.Failed()) return;

View File

@@ -41,7 +41,7 @@ static void ShowBuildDocksDepotPicker(Window *parent);
static Axis _ship_depot_direction; static Axis _ship_depot_direction;
void CcBuildDocks(const CommandCost &result, TileIndex tile, uint32 p1, uint32 p2) void CcBuildDocks(const CommandCost &result, TileIndex tile, uint32 p1, uint32 p2, uint32 cmd)
{ {
if (result.Failed()) return; if (result.Failed()) return;
@@ -49,7 +49,7 @@ void CcBuildDocks(const CommandCost &result, TileIndex tile, uint32 p1, uint32 p
if (!_settings_client.gui.persistent_buildingtools) ResetObjectToPlace(); if (!_settings_client.gui.persistent_buildingtools) ResetObjectToPlace();
} }
void CcPlaySound_SPLAT_WATER(const CommandCost &result, TileIndex tile, uint32 p1, uint32 p2) void CcPlaySound_SPLAT_WATER(const CommandCost &result, TileIndex tile, uint32 p1, uint32 p2, uint32 cmd)
{ {
if (result.Succeeded() && _settings_client.sound.confirm) SndPlayTileFx(SND_02_SPLAT_WATER, tile); if (result.Succeeded() && _settings_client.sound.confirm) SndPlayTileFx(SND_02_SPLAT_WATER, tile);
} }

View File

@@ -20,7 +20,7 @@
char *_ini_videodriver; ///< The video driver a stored in the configuration file. char *_ini_videodriver; ///< The video driver a stored in the configuration file.
int _num_resolutions; ///< The number of resolutions. int _num_resolutions; ///< The number of resolutions.
Dimension _resolutions[32]; ///< List of resolutions. Dimension _resolutions[100]; ///< List of resolutions.
Dimension _cur_resolution; ///< The current resolution. Dimension _cur_resolution; ///< The current resolution.
bool _rightclick_emulate; ///< Whether right clicking is emulated. bool _rightclick_emulate; ///< Whether right clicking is emulated.

View File

@@ -572,8 +572,10 @@ static void CompanyCheckBankrupt(Company *c)
{ {
/* If the company has money again, it does not go bankrupt */ /* If the company has money again, it does not go bankrupt */
if (c->money - c->current_loan >= -_economy.max_loan) { if (c->money - c->current_loan >= -_economy.max_loan) {
int previous_months_of_bankruptcy = CeilDiv(c->months_of_bankruptcy, 3);
c->months_of_bankruptcy = 0; c->months_of_bankruptcy = 0;
c->bankrupt_asked = 0; c->bankrupt_asked = 0;
if (previous_months_of_bankruptcy != 0) CompanyAdminUpdate(c);
return; return;
} }
@@ -642,10 +644,15 @@ static void CompanyCheckBankrupt(Company *c)
* that changing the current company is okay. In case of single * that changing the current company is okay. In case of single
* player we are sure (the above check) that we are not the local * player we are sure (the above check) that we are not the local
* company and thus we won't be moved. */ * company and thus we won't be moved. */
if (!_networking || _network_server) DoCommandP(0, CCA_DELETE | (c->index << 16), CRR_BANKRUPT, CMD_COMPANY_CTRL); if (!_networking || _network_server) {
DoCommandP(0, CCA_DELETE | (c->index << 16) | (CRR_BANKRUPT << 24), 0, CMD_COMPANY_CTRL);
return;
}
break; break;
} }
} }
if (CeilDiv(c->months_of_bankruptcy, 3) != CeilDiv(c->months_of_bankruptcy - 1, 3)) CompanyAdminUpdate(c);
} }
/** /**

View File

@@ -292,11 +292,7 @@ static const char * const _subdirs[] = {
"ai" PATHSEP "library" PATHSEP, "ai" PATHSEP "library" PATHSEP,
"game" PATHSEP, "game" PATHSEP,
"game" PATHSEP "library" PATHSEP, "game" PATHSEP "library" PATHSEP,
#ifdef __ANDROID__
"screenshot" PATHSEP, "screenshot" PATHSEP,
#else
"screenshot" PATHSEP,
#endif
}; };
assert_compile(lengthof(_subdirs) == NUM_SUBDIRS); assert_compile(lengthof(_subdirs) == NUM_SUBDIRS);
@@ -1283,21 +1279,6 @@ void DeterminePaths(const char *exe)
_searchpaths[SP_AUTODOWNLOAD_DIR] = NULL; _searchpaths[SP_AUTODOWNLOAD_DIR] = NULL;
} }
#endif /* ENABLE_NETWORK */ #endif /* ENABLE_NETWORK */
#ifdef __ANDROID__
// Copy savegames from "full" OpenTTD to "lite" save directory
char curdir[PATH_MAX];
if (getcwd(curdir, sizeof(curdir)) && strstr(curdir, "org.openttd.sdl.lowmem")) {
// No, I won't implement file copying in C, shell script is just fine for this job
DEBUG(misc, 1, "Copying savegames from ../../org.openttd.sdl/files/.openttd/save to %s", curdir);
system("cd ../../org.openttd.sdl/files/.openttd/save && "
"for F in *.sav ; do "
"ls \"../../../../org.openttd.sdl.lowmem/files/.openttd/save/$F\" || "
"cat \"$F\" > \"../../../../org.openttd.sdl.lowmem/files/.openttd/save/$F\" ; "
"done");
chdir(curdir);
}
#endif
} }
/** /**

View File

@@ -56,7 +56,7 @@ int CDECL CompareFiosItems(const FiosItem *da, const FiosItem *db)
if ((_savegame_sort_order & SORT_BY_NAME) == 0 && da->mtime != db->mtime) { if ((_savegame_sort_order & SORT_BY_NAME) == 0 && da->mtime != db->mtime) {
r = da->mtime < db->mtime ? -1 : 1; r = da->mtime < db->mtime ? -1 : 1;
} else { } else {
r = strcasecmp(da->title, db->title); r = strnatcmp(da->title, db->title);
} }
if (_savegame_sort_order & SORT_DESCENDING) r = -r; if (_savegame_sort_order & SORT_DESCENDING) r = -r;
@@ -319,13 +319,29 @@ bool FiosFileScanner::AddFile(const char *filename, size_t basepath_length, cons
FiosItem *fios = file_list.Append(); FiosItem *fios = file_list.Append();
#ifdef _WIN32 #ifdef _WIN32
struct _stat sb; // Retrieve the file modified date using GetFileTime rather than stat to work around an obscure MSVC bug that affects Windows XP
if (_tstat(OTTD2FS(filename), &sb) == 0) { HANDLE fh = CreateFile(OTTD2FS(filename), GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE, nullptr, OPEN_EXISTING, 0, nullptr);
if (fh != INVALID_HANDLE_VALUE) {
FILETIME ft;
ULARGE_INTEGER ft_int64;
if (GetFileTime(fh, nullptr, nullptr, &ft) != 0) {
ft_int64.HighPart = ft.dwHighDateTime;
ft_int64.LowPart = ft.dwLowDateTime;
// Convert from hectonanoseconds since 01/01/1601 to seconds since 01/01/1970
fios->mtime = ft_int64.QuadPart / 10000000ULL - 11644473600ULL;
} else {
fios->mtime = 0;
}
CloseHandle(fh);
#else #else
struct stat sb; struct stat sb;
if (stat(filename, &sb) == 0) { if (stat(filename, &sb) == 0) {
#endif
fios->mtime = sb.st_mtime; fios->mtime = sb.st_mtime;
#endif
} else { } else {
fios->mtime = 0; fios->mtime = 0;
} }

View File

@@ -705,7 +705,7 @@ bool SetFallbackFont(FreeTypeSettings *settings, const char *language_isocode, i
callback->SetFontNames(settings, (const char*)file); callback->SetFontNames(settings, (const char*)file);
missing = callback->FindMissingGlyphs(NULL); missing += callback->FindMissingGlyphs(NULL);
DEBUG(freetype, 1, "Font \"%s\" misses %d glyphs for lang %s", file, missing, lang); DEBUG(freetype, 1, "Font \"%s\" misses %d glyphs for lang %s", file, missing, lang);
if (missing < best_missing_glypths) { if (missing < best_missing_glypths) {

View File

@@ -255,11 +255,13 @@ void GameInstance::Died()
* @param tile The tile on which the command was executed. * @param tile The tile on which the command was executed.
* @param p1 p1 as given to DoCommandPInternal. * @param p1 p1 as given to DoCommandPInternal.
* @param p2 p2 as given to DoCommandPInternal. * @param p2 p2 as given to DoCommandPInternal.
* @param cmd cmd as given to DoCommandPInternal.
*/ */
void CcGame(const CommandCost &result, TileIndex tile, uint32 p1, uint32 p2) void CcGame(const CommandCost &result, TileIndex tile, uint32 p1, uint32 p2, uint32 cmd)
{ {
Game::GetGameInstance()->DoCommandCallback(result, tile, p1, p2); if (Game::GetGameInstance()->DoCommandCallback(result, tile, p1, p2, cmd)) {
Game::GetGameInstance()->Continue(); Game::GetGameInstance()->Continue();
}
} }
CommandCallback *GameInstance::GetDoCommandCallback() CommandCallback *GameInstance::GetDoCommandCallback()

View File

@@ -308,7 +308,7 @@ GameStrings *LoadTranslations()
/** Compile the language. */ /** Compile the language. */
void GameStrings::Compile() void GameStrings::Compile()
{ {
StringData data(1); StringData data(32);
StringListReader master_reader(data, this->raw_strings[0], true, false); StringListReader master_reader(data, this->raw_strings[0], true, false);
master_reader.ParseFile(); master_reader.ParseFile();
if (_errors != 0) throw std::exception(); if (_errors != 0) throw std::exception();

View File

@@ -71,7 +71,7 @@ extern DrawPixelInfo _screen;
extern bool _screen_disable_anim; ///< Disable palette animation (important for 32bpp-anim blitter during giant screenshot) extern bool _screen_disable_anim; ///< Disable palette animation (important for 32bpp-anim blitter during giant screenshot)
extern int _num_resolutions; extern int _num_resolutions;
extern Dimension _resolutions[32]; extern Dimension _resolutions[100];
extern Dimension _cur_resolution; extern Dimension _cur_resolution;
extern Palette _cur_palette; ///< Current palette extern Palette _cur_palette; ///< Current palette

View File

@@ -208,7 +208,7 @@ public:
LEErrorCode status = LE_NO_ERROR; LEErrorCode status = LE_NO_ERROR;
/* ParagraphLayout does not copy "buff", so it must stay valid. /* ParagraphLayout does not copy "buff", so it must stay valid.
* "runs" is copied according to the ICU source, but the documentation does not specify anything, so this might break somewhen. */ * "runs" is copied according to the ICU source, but the documentation does not specify anything, so this might break somewhen. */
icu::ParagraphLayout *p = new icu::ParagraphLayout(buff, length, &runs, NULL, NULL, NULL, _current_text_dir == TD_RTL ? UBIDI_DEFAULT_RTL : UBIDI_DEFAULT_LTR, false, status); icu::ParagraphLayout *p = new icu::ParagraphLayout(buff, length, &runs, NULL, NULL, NULL, _current_text_dir == TD_RTL ? 1 : 0, false, status);
if (status != LE_NO_ERROR) { if (status != LE_NO_ERROR) {
delete p; delete p;
return NULL; return NULL;

View File

@@ -236,10 +236,11 @@ CommandCost CmdSetGoalCompleted(TileIndex tile, DoCommandFlag flags, uint32 p1,
* @param flags type of operation * @param flags type of operation
* @param p1 various bitstuffed elements * @param p1 various bitstuffed elements
* - p1 = (bit 0 - 15) - Unique ID to use for this question. * - p1 = (bit 0 - 15) - Unique ID to use for this question.
* - p1 = (bit 16 - 23) - Company or client for which this question is. * - p1 = (bit 16 - 31) - Company or client for which this question is.
* - p1 = (bit 24 - 25) - Question type. * @param p2 various bitstuffed elements
* - p1 = (bit 31) - Question target: 0 - company, 1 - client. * - p2 = (bit 0 - 17) - Buttons of the question.
* @param p2 Buttons of the question. * - p2 = (bit 29 - 30) - Question type.
* - p2 = (bit 31) - Question target: 0 - company, 1 - client.
* @param text Text of the question. * @param text Text of the question.
* @return the cost of this operation or an error * @return the cost of this operation or an error
*/ */
@@ -248,36 +249,38 @@ CommandCost CmdGoalQuestion(TileIndex tile, DoCommandFlag flags, uint32 p1, uint
uint16 uniqueid = (GoalType)GB(p1, 0, 16); uint16 uniqueid = (GoalType)GB(p1, 0, 16);
CompanyID company = (CompanyID)GB(p1, 16, 8); CompanyID company = (CompanyID)GB(p1, 16, 8);
#ifdef ENABLE_NETWORK #ifdef ENABLE_NETWORK
ClientIndex client = (ClientIndex)GB(p1, 16, 8); ClientID client = (ClientID)GB(p1, 16, 16);
#endif #endif
byte type = GB(p1, 24, 2);
bool is_client = HasBit(p1, 31); assert_compile(GOAL_QUESTION_BUTTON_COUNT < 29);
uint32 button_mask = GB(p2, 0, GOAL_QUESTION_BUTTON_COUNT);
byte type = GB(p2, 29, 2);
bool is_client = HasBit(p2, 31);
if (_current_company != OWNER_DEITY) return CMD_ERROR; if (_current_company != OWNER_DEITY) return CMD_ERROR;
if (StrEmpty(text)) return CMD_ERROR; if (StrEmpty(text)) return CMD_ERROR;
if (is_client) { if (is_client) {
#ifdef ENABLE_NETWORK #ifdef ENABLE_NETWORK
if (!NetworkClientInfo::IsValidID(client)) return CMD_ERROR; if (NetworkClientInfo::GetByClientID(client) == nullptr) return CMD_ERROR;
#else #else
return CMD_ERROR; return CMD_ERROR;
#endif #endif
} else { } else {
if (company != INVALID_COMPANY && !Company::IsValidID(company)) return CMD_ERROR; if (company != INVALID_COMPANY && !Company::IsValidID(company)) return CMD_ERROR;
} }
if (CountBits(p2) < 1 || CountBits(p2) > 3) return CMD_ERROR; if (CountBits(button_mask) < 1 || CountBits(button_mask) > 3) return CMD_ERROR;
if (p2 >= (1 << GOAL_QUESTION_BUTTON_COUNT)) return CMD_ERROR;
if (type >= GOAL_QUESTION_TYPE_COUNT) return CMD_ERROR; if (type >= GOAL_QUESTION_TYPE_COUNT) return CMD_ERROR;
if (flags & DC_EXEC) { if (flags & DC_EXEC) {
if (is_client) { if (is_client) {
#ifdef ENABLE_NETWORK #ifdef ENABLE_NETWORK
if (NetworkClientInfo::Get(client)->client_id != _network_own_client_id) return CommandCost(); if (client != _network_own_client_id) return CommandCost();
#endif #endif
} else { } else {
if (company == INVALID_COMPANY && !Company::IsValidID(_local_company)) return CommandCost(); if (company == INVALID_COMPANY && !Company::IsValidID(_local_company)) return CommandCost();
if (company != INVALID_COMPANY && company != _local_company) return CommandCost(); if (company != INVALID_COMPANY && company != _local_company) return CommandCost();
} }
ShowGoalQuestion(uniqueid, type, p2, text); ShowGoalQuestion(uniqueid, type, button_mask, text);
} }
return CommandCost(); return CommandCost();

View File

@@ -536,7 +536,7 @@ CommandCost CmdAddVehicleGroup(TileIndex tile, DoCommandFlag flags, uint32 p1, u
if (new_g == NEW_GROUP) { if (new_g == NEW_GROUP) {
/* Create new group. */ /* Create new group. */
CommandCost ret = CmdCreateGroup(0, flags, v->type, 0, NULL); CommandCost ret = CmdCreateGroup(0, flags, v->type, INVALID_GROUP, NULL);
if (ret.Failed()) return ret; if (ret.Failed()) return ret;
new_g = _new_group_id; new_g = _new_group_id;

View File

@@ -990,9 +990,10 @@ static inline VehicleGroupWindow *FindVehicleGroupWindow(VehicleType vt, Owner o
* @param tile Unused. * @param tile Unused.
* @param p1 Vehicle type. * @param p1 Vehicle type.
* @param p2 Unused. * @param p2 Unused.
* @param cmd Unused.
* @see CmdCreateGroup * @see CmdCreateGroup
*/ */
void CcCreateGroup(const CommandCost &result, TileIndex tile, uint32 p1, uint32 p2) void CcCreateGroup(const CommandCost &result, TileIndex tile, uint32 p1, uint32 p2, uint32 cmd)
{ {
if (result.Failed()) return; if (result.Failed()) return;
assert(p1 <= VEH_AIRCRAFT); assert(p1 <= VEH_AIRCRAFT);
@@ -1007,13 +1008,14 @@ void CcCreateGroup(const CommandCost &result, TileIndex tile, uint32 p1, uint32
* @param tile Unused. * @param tile Unused.
* @param p1 Unused. * @param p1 Unused.
* @param p2 Bit 0-19: Vehicle ID. * @param p2 Bit 0-19: Vehicle ID.
* @param cmd Unused.
*/ */
void CcAddVehicleNewGroup(const CommandCost &result, TileIndex tile, uint32 p1, uint32 p2) void CcAddVehicleNewGroup(const CommandCost &result, TileIndex tile, uint32 p1, uint32 p2, uint32 cmd)
{ {
if (result.Failed()) return; if (result.Failed()) return;
assert(Vehicle::IsValidID(GB(p2, 0, 20))); assert(Vehicle::IsValidID(GB(p2, 0, 20)));
CcCreateGroup(result, 0, Vehicle::Get(GB(p2, 0, 20))->type, 0); CcCreateGroup(result, 0, Vehicle::Get(GB(p2, 0, 20))->type, 0, cmd);
} }
/** /**

View File

@@ -22,6 +22,7 @@
#include "company_base.h" #include "company_base.h"
#include "strings_func.h" #include "strings_func.h"
#include "hotkeys.h" #include "hotkeys.h"
#include "zoom_func.h"
#include "widgets/highscore_widget.h" #include "widgets/highscore_widget.h"
@@ -132,7 +133,7 @@ struct EndGameWindow : EndGameHighScoreBaseWindow {
virtual void OnPaint() virtual void OnPaint()
{ {
this->SetupHighScoreEndWindow(); this->SetupHighScoreEndWindow();
Point pt = this->GetTopLeft(640, 480); Point pt = this->GetTopLeft(ScaleGUITrad(640), ScaleGUITrad(480));
const Company *c = Company::GetIfValid(_local_company); const Company *c = Company::GetIfValid(_local_company);
if (c == NULL) return; if (c == NULL) return;
@@ -143,11 +144,11 @@ struct EndGameWindow : EndGameHighScoreBaseWindow {
SetDParam(0, c->index); SetDParam(0, c->index);
SetDParam(1, c->index); SetDParam(1, c->index);
SetDParam(2, EndGameGetPerformanceTitleFromValue(c->old_economy[0].performance_history)); SetDParam(2, EndGameGetPerformanceTitleFromValue(c->old_economy[0].performance_history));
DrawStringMultiLine(pt.x + 15, pt.x + 640 - 25, pt.y + 90, pt.y + 160, STR_HIGHSCORE_PRESIDENT_OF_COMPANY_ACHIEVES_STATUS, TC_FROMSTRING, SA_CENTER); DrawStringMultiLine(pt.x + ScaleGUITrad(15), pt.x + ScaleGUITrad(640) - ScaleGUITrad(25), pt.y + ScaleGUITrad(90), pt.y + ScaleGUITrad(160), STR_HIGHSCORE_PRESIDENT_OF_COMPANY_ACHIEVES_STATUS, TC_FROMSTRING, SA_CENTER);
} else { } else {
SetDParam(0, c->index); SetDParam(0, c->index);
SetDParam(1, EndGameGetPerformanceTitleFromValue(c->old_economy[0].performance_history)); SetDParam(1, EndGameGetPerformanceTitleFromValue(c->old_economy[0].performance_history));
DrawStringMultiLine(pt.x + 36, pt.x + 640, pt.y + 140, pt.y + 206, STR_HIGHSCORE_COMPANY_ACHIEVES_STATUS, TC_FROMSTRING, SA_CENTER); DrawStringMultiLine(pt.x + ScaleGUITrad(36), pt.x + ScaleGUITrad(640), pt.y + ScaleGUITrad(140), pt.y + ScaleGUITrad(206), STR_HIGHSCORE_COMPANY_ACHIEVES_STATUS, TC_FROMSTRING, SA_CENTER);
} }
} }
}; };
@@ -182,24 +183,24 @@ struct HighScoreWindow : EndGameHighScoreBaseWindow {
const HighScore *hs = _highscore_table[this->window_number]; const HighScore *hs = _highscore_table[this->window_number];
this->SetupHighScoreEndWindow(); this->SetupHighScoreEndWindow();
Point pt = this->GetTopLeft(640, 480); Point pt = this->GetTopLeft(ScaleGUITrad(640), ScaleGUITrad(480));
SetDParam(0, ORIGINAL_END_YEAR); SetDParam(0, ORIGINAL_END_YEAR);
DrawStringMultiLine(pt.x + 70, pt.x + 570, pt.y, pt.y + 140, !_networking ? STR_HIGHSCORE_TOP_COMPANIES_WHO_REACHED : STR_HIGHSCORE_TOP_COMPANIES_NETWORK_GAME, TC_FROMSTRING, SA_CENTER); DrawStringMultiLine(pt.x + ScaleGUITrad(70), pt.x + ScaleGUITrad(570), pt.y, pt.y + ScaleGUITrad(140), !_networking ? STR_HIGHSCORE_TOP_COMPANIES_WHO_REACHED : STR_HIGHSCORE_TOP_COMPANIES_NETWORK_GAME, TC_FROMSTRING, SA_CENTER);
/* Draw Highscore peepz */ /* Draw Highscore peepz */
for (uint8 i = 0; i < lengthof(_highscore_table[0]); i++) { for (uint8 i = 0; i < lengthof(_highscore_table[0]); i++) {
SetDParam(0, i + 1); SetDParam(0, i + 1);
DrawString(pt.x + 40, pt.x + 600, pt.y + 140 + (i * 55), STR_HIGHSCORE_POSITION); DrawString(pt.x + ScaleGUITrad(40), pt.x + ScaleGUITrad(600), pt.y + ScaleGUITrad(140 + i * 55), STR_HIGHSCORE_POSITION);
if (hs[i].company[0] != '\0') { if (hs[i].company[0] != '\0') {
TextColour colour = (this->rank == i) ? TC_RED : TC_BLACK; // draw new highscore in red TextColour colour = (this->rank == i) ? TC_RED : TC_BLACK; // draw new highscore in red
SetDParamStr(0, hs[i].company); SetDParamStr(0, hs[i].company);
DrawString(pt.x + 71, pt.x + 569, pt.y + 140 + (i * 55), STR_JUST_BIG_RAW_STRING, colour); DrawString(pt.x + ScaleGUITrad(71), pt.x + ScaleGUITrad(569), pt.y + ScaleGUITrad(140 + i * 55), STR_JUST_BIG_RAW_STRING, colour);
SetDParam(0, hs[i].title); SetDParam(0, hs[i].title);
SetDParam(1, hs[i].score); SetDParam(1, hs[i].score);
DrawString(pt.x + 71, pt.x + 569, pt.y + 140 + FONT_HEIGHT_LARGE + (i * 55), STR_HIGHSCORE_STATS, colour); DrawString(pt.x + ScaleGUITrad(71), pt.x + ScaleGUITrad(569), pt.y + ScaleGUITrad(140) + FONT_HEIGHT_LARGE + ScaleGUITrad(i * 55), STR_HIGHSCORE_STATS, colour);
} }
} }
} }

View File

@@ -222,8 +222,9 @@ void SortIndustryTypes()
* @param tile Tile where the industry is placed. * @param tile Tile where the industry is placed.
* @param p1 Additional data of the #CMD_BUILD_INDUSTRY command. * @param p1 Additional data of the #CMD_BUILD_INDUSTRY command.
* @param p2 Additional data of the #CMD_BUILD_INDUSTRY command. * @param p2 Additional data of the #CMD_BUILD_INDUSTRY command.
* @param cmd Unused.
*/ */
void CcBuildIndustry(const CommandCost &result, TileIndex tile, uint32 p1, uint32 p2) void CcBuildIndustry(const CommandCost &result, TileIndex tile, uint32 p1, uint32 p2, uint32 cmd)
{ {
if (result.Succeeded()) return; if (result.Succeeded()) return;

View File

@@ -282,7 +282,7 @@ STR_SORT_BY_TIMETABLE_DELAY :تاخير جد
STR_SORT_BY_FACILITY :نوع المحطة STR_SORT_BY_FACILITY :نوع المحطة
STR_SORT_BY_RATING_MAX :اعلى نسبة شحن STR_SORT_BY_RATING_MAX :اعلى نسبة شحن
STR_SORT_BY_RATING_MIN :اقل نسبة شحن STR_SORT_BY_RATING_MIN :اقل نسبة شحن
STR_SORT_BY_ENGINE_ID :نوع المحرك (قياسي( STR_SORT_BY_ENGINE_ID :نوع المحرك (قياسي)
STR_SORT_BY_COST :التكلفة STR_SORT_BY_COST :التكلفة
STR_SORT_BY_POWER :الطاقة STR_SORT_BY_POWER :الطاقة
STR_SORT_BY_TRACTIVE_EFFORT :قوة الجذب STR_SORT_BY_TRACTIVE_EFFORT :قوة الجذب
@@ -1147,7 +1147,7 @@ STR_CONFIG_SETTING_INDUSTRY_DENSITY :الكثافة
STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :إختر مقدار الصناعات التي يجب تكوينها وعلى اي مستوى يجب ان تكون خلال اللعبة STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :إختر مقدار الصناعات التي يجب تكوينها وعلى اي مستوى يجب ان تكون خلال اللعبة
STR_CONFIG_SETTING_SNOWLINE_HEIGHT :ارتفاع خط الثلج: {STRING} STR_CONFIG_SETTING_SNOWLINE_HEIGHT :ارتفاع خط الثلج: {STRING}
STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :تحكم على اي ارتفاع يبدأ نزول الثلج في المناطق القطبية,تؤثر الثلوج على مستوى تطور القطاع الصناعي ونمو المدن STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT :تحكم على اي ارتفاع يبدأ نزول الثلج في المناطق القطبية,تؤثر الثلوج على مستوى تطور القطاع الصناعي ونمو المدن
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :خشونة التضاريس (صفر التكوين فقط ) :({STRING} STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :خشونة التضاريس: {STRING}
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :(TerraGenesis only)إختر تكرار الهضبات: الاراض المستويه تحتوي على البضع منها,هضبات موزعه عرضيا اكثر,الاراض الوعرة تحتوي الكثير من الهضاب,التي من الممكن ان تكون متكررة STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :(TerraGenesis only)إختر تكرار الهضبات: الاراض المستويه تحتوي على البضع منها,هضبات موزعه عرضيا اكثر,الاراض الوعرة تحتوي الكثير من الهضاب,التي من الممكن ان تكون متكررة
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :ناعم جدا STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :ناعم جدا
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :ناعم STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :ناعم
@@ -1946,7 +1946,7 @@ STR_RAIL_TOOLBAR_MAGLEV_CONSTRUCTION_CAPTION :بناء الس
STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}بناء سكة حديد STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}بناء سكة حديد
STR_RAIL_TOOLBAR_TOOLTIP_BUILD_AUTORAIL :{BLACK}بناء سكة القطار باستخدام البناء التلقائي STR_RAIL_TOOLBAR_TOOLTIP_BUILD_AUTORAIL :{BLACK}بناء سكة القطار باستخدام البناء التلقائي
STR_RAIL_TOOLBAR_TOOLTIP_BUILD_TRAIN_DEPOT_FOR_BUILDING :{BLACK}بناء ورشة قطارات (لصيانة و شراء القطارات). STR_RAIL_TOOLBAR_TOOLTIP_BUILD_TRAIN_DEPOT_FOR_BUILDING :{BLACK}بناء ورشة قطارات (لصيانة و شراء القطارات)
STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL_TO_WAYPOINT :{BLACK}غير السكة الى نقطة عبور STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL_TO_WAYPOINT :{BLACK}غير السكة الى نقطة عبور
STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_STATION :{BLACK}بناء محطة قطار. مفتاح كنترول يسمح بضم المحطات STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_STATION :{BLACK}بناء محطة قطار. مفتاح كنترول يسمح بضم المحطات
STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}بناء إشارات السكك الحديدية. STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}بناء إشارات السكك الحديدية.
@@ -2028,7 +2028,7 @@ STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_SECTION :{BLACK}بناء
STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOROAD :{BLACK}بناء الطرق باستخدام النظام الآلي STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOROAD :{BLACK}بناء الطرق باستخدام النظام الآلي
STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOTRAM :{BLACK}بناء سكة القطار باستخدام النظام الآلي STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOTRAM :{BLACK}بناء سكة القطار باستخدام النظام الآلي
STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_VEHICLE_DEPOT :{BLACK}بناء ورشة صيانة لعربات الطرق (لشراء و صيانة العربات). STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_VEHICLE_DEPOT :{BLACK}بناء ورشة صيانة لعربات الطرق (لشراء و صيانة العربات).
STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAM_VEHICLE_DEPOT :{BLACK}بناء ورشة لصيانة عربات الترام (لشراء و صيانة عربات الترام). STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAM_VEHICLE_DEPOT :{BLACK}بناء ورشة لصيانة عربات الترام (لشراء و صيانة عربات الترام)
STR_ROAD_TOOLBAR_TOOLTIP_BUILD_BUS_STATION :{BLACK}بناء محطة باصات STR_ROAD_TOOLBAR_TOOLTIP_BUILD_BUS_STATION :{BLACK}بناء محطة باصات
STR_ROAD_TOOLBAR_TOOLTIP_BUILD_PASSENGER_TRAM_STATION :{BLACK}بناء محطة ركاب ترام. STR_ROAD_TOOLBAR_TOOLTIP_BUILD_PASSENGER_TRAM_STATION :{BLACK}بناء محطة ركاب ترام.
STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRUCK_LOADING_BAY :{BLACK}بناء محطة تحميل عربات. مفتاح كنترول يسمح بمجاورة المحطات. STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRUCK_LOADING_BAY :{BLACK}بناء محطة تحميل عربات. مفتاح كنترول يسمح بمجاورة المحطات.
@@ -2590,7 +2590,8 @@ STR_EDIT_SIGN_SIGN_OSKTITLE :{BLACK}ادخل
# Town directory window # Town directory window
STR_TOWN_DIRECTORY_CAPTION :{WHITE}مدن/ بلدات STR_TOWN_DIRECTORY_CAPTION :{WHITE}مدن/ بلدات
STR_TOWN_DIRECTORY_NONE :{ORANGE}-بدون- STR_TOWN_DIRECTORY_NONE :{ORANGE}-بدون-
STR_TOWN_DIRECTORY_TOWN :{ORANGE}{TOWN}{BLACK} ) {COMMA}) STR_TOWN_DIRECTORY_TOWN :{ORANGE}{RLE}{TOWN}{BLACK} {RLM}({COMMA})
STR_TOWN_DIRECTORY_CITY :{ORANGE}{RLE}{TOWN}{YELLOW} (مدينة){BLACK} {RLM}({COMMA})
STR_TOWN_DIRECTORY_LIST_TOOLTIP :{BLACK}اسم المدينة - اضغط على الاسم لتوسيط الشاشة عليها. اضغط + كنترول لفتح شاشة عرض جديدة للضاحية. STR_TOWN_DIRECTORY_LIST_TOOLTIP :{BLACK}اسم المدينة - اضغط على الاسم لتوسيط الشاشة عليها. اضغط + كنترول لفتح شاشة عرض جديدة للضاحية.
STR_TOWN_POPULATION :{BLACK}سكان العالم: {COMMA} STR_TOWN_POPULATION :{BLACK}سكان العالم: {COMMA}
@@ -2678,7 +2679,7 @@ STR_STATION_LIST_STATION :{YELLOW}{STATIO
STR_STATION_LIST_WAYPOINT :{YELLOW}{WAYPOINT} STR_STATION_LIST_WAYPOINT :{YELLOW}{WAYPOINT}
STR_STATION_LIST_NONE :{YELLOW}- بدون - STR_STATION_LIST_NONE :{YELLOW}- بدون -
STR_STATION_LIST_SELECT_ALL_FACILITIES :{BLACK}اختر جميع المرافق STR_STATION_LIST_SELECT_ALL_FACILITIES :{BLACK}اختر جميع المرافق
STR_STATION_LIST_SELECT_ALL_TYPES :{BLACK}اختر كل انواع الشحن (حتى غير المنتظرة( STR_STATION_LIST_SELECT_ALL_TYPES :{BLACK}اختر كل انواع الشحن (حتى غير المنتظرة)
STR_STATION_LIST_NO_WAITING_CARGO :{BLACK}لا يوجد اي شحنة منتظرة STR_STATION_LIST_NO_WAITING_CARGO :{BLACK}لا يوجد اي شحنة منتظرة
# Station view window # Station view window
@@ -2897,7 +2898,7 @@ STR_PURCHASE_INFO_SPEED_OCEAN :{BLACK}السر
STR_PURCHASE_INFO_SPEED_CANAL :{BLACK}السرعة في القناة/النهر: {GOLD}{VELOCITY} STR_PURCHASE_INFO_SPEED_CANAL :{BLACK}السرعة في القناة/النهر: {GOLD}{VELOCITY}
STR_PURCHASE_INFO_RUNNINGCOST :{BLACK}تكلفة التشغيل: {GOLD}{CURRENCY_LONG}/ سنة STR_PURCHASE_INFO_RUNNINGCOST :{BLACK}تكلفة التشغيل: {GOLD}{CURRENCY_LONG}/ سنة
STR_PURCHASE_INFO_CAPACITY :{BLACK}السعة: {GOLD}{CARGO_LONG} {STRING} STR_PURCHASE_INFO_CAPACITY :{BLACK}السعة: {GOLD}{CARGO_LONG} {STRING}
STR_PURCHASE_INFO_REFITTABLE :)قابل لتغيير( STR_PURCHASE_INFO_REFITTABLE :(قابل لتغيي)
STR_PURCHASE_INFO_DESIGNED_LIFE :{BLACK}تصميم: {GOLD}{NUM}{BLACK} العمر الافتراضي: {GOLD}{COMMA} سنة STR_PURCHASE_INFO_DESIGNED_LIFE :{BLACK}تصميم: {GOLD}{NUM}{BLACK} العمر الافتراضي: {GOLD}{COMMA} سنة
STR_PURCHASE_INFO_RELIABILITY :{BLACK}الاعتمادية القصوى: {GOLD}{COMMA}% STR_PURCHASE_INFO_RELIABILITY :{BLACK}الاعتمادية القصوى: {GOLD}{COMMA}%
STR_PURCHASE_INFO_COST :{BLACK}التكلفة: {GOLD}{CURRENCY_LONG} STR_PURCHASE_INFO_COST :{BLACK}التكلفة: {GOLD}{CURRENCY_LONG}
@@ -3193,7 +3194,7 @@ STR_VEHICLE_DETAILS_TRAIN_TOTAL_CARGO_TOOLTIP :{BLACK} عرض
STR_VEHICLE_DETAILS_TRAIN_ARTICULATED_RV_CAPACITY :{BLACK}السعة: {LTBLUE} STR_VEHICLE_DETAILS_TRAIN_ARTICULATED_RV_CAPACITY :{BLACK}السعة: {LTBLUE}
# Vehicle refit # Vehicle refit
STR_REFIT_CAPTION :{WHITE}{VEHICLE} )تغيير( STR_REFIT_CAPTION :{WHITE}{VEHICLE} (تغيير)
STR_REFIT_TITLE :{GOLD}اختر نوع الحمولة ... STR_REFIT_TITLE :{GOLD}اختر نوع الحمولة ...
STR_REFIT_NEW_CAPACITY_COST_OF_REFIT :{BLACK}السعة الجديدة: {GOLD}{CARGO_LONG}{}{BLACK}تكلفة التغيير: {RED}{CURRENCY_LONG} STR_REFIT_NEW_CAPACITY_COST_OF_REFIT :{BLACK}السعة الجديدة: {GOLD}{CARGO_LONG}{}{BLACK}تكلفة التغيير: {RED}{CURRENCY_LONG}
STR_REFIT_NEW_CAPACITY_COST_OF_AIRCRAFT_REFIT :{BLACK}السعة الجديدة: {GOLD}{CARGO_LONG}, {GOLD}{CARGO_LONG}{}{BLACK}تكلفة اعادة التهيئة: {RED}{CURRENCY_LONG} STR_REFIT_NEW_CAPACITY_COST_OF_AIRCRAFT_REFIT :{BLACK}السعة الجديدة: {GOLD}{CARGO_LONG}, {GOLD}{CARGO_LONG}{}{BLACK}تكلفة اعادة التهيئة: {RED}{CURRENCY_LONG}
@@ -3415,7 +3416,7 @@ STR_TIMETABLE_RESET_LATENESS :{BLACK}اعد
STR_TIMETABLE_RESET_LATENESS_TOOLTIP :{BLACK}عدل وقت التاخير للعداد حتى تصل المركبة في الوقت المحدد STR_TIMETABLE_RESET_LATENESS_TOOLTIP :{BLACK}عدل وقت التاخير للعداد حتى تصل المركبة في الوقت المحدد
STR_TIMETABLE_AUTOFILL :{BLACK}تهيئة تلقائية STR_TIMETABLE_AUTOFILL :{BLACK}تهيئة تلقائية
STR_TIMETABLE_AUTOFILL_TOOLTIP :{BLACK}املأ الجدولة تلقائيا بقيم الرحلة التالية (مفتاح كنترول لمحاولة ابقائ وقت الانتظار). STR_TIMETABLE_AUTOFILL_TOOLTIP :{BLACK}مفتاح كنترول لمحاولة ابقائ وقت الانتظار (املأ الجدولة تلقائيا بقيم الرحلة التالية)
STR_TIMETABLE_EXPECTED :{BLACK}متوقع STR_TIMETABLE_EXPECTED :{BLACK}متوقع
STR_TIMETABLE_SCHEDULED :{BLACK}مجدول STR_TIMETABLE_SCHEDULED :{BLACK}مجدول

View File

@@ -4586,7 +4586,6 @@ STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD :{WHITE}... гэ
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... няправільны кірунак дарогі STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... няправільны кірунак дарогі
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... на прахадных прыпынках нельга рабіць павароты STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... на прахадных прыпынках нельга рабіць павароты
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... на прахадных прыпынках нельга рабіць скрыжаваньнi STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... на прахадных прыпынках нельга рабіць скрыжаваньнi
STR_ERROR_DRIVE_THROUGH_ON_ONEWAY_ROAD :{WHITE}... дарога аднабаковая ці заблакавана
# Station destruction related errors # Station destruction related errors
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Немагчыма выдаліць частку станцыi... STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Немагчыма выдаліць частку станцыi...

View File

@@ -4276,7 +4276,6 @@ STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD :{WHITE}... é u
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... rua na direção errada STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... rua na direção errada
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... paradas "drive-thru" não podem ter esquinas STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... paradas "drive-thru" não podem ter esquinas
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... paradas "drive-thru" não podem ter junções STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... paradas "drive-thru" não podem ter junções
STR_ERROR_DRIVE_THROUGH_ON_ONEWAY_ROAD :{WHITE}... rua é mão única ou está bloqueada
# Station destruction related errors # Station destruction related errors
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Impossível remover parte da estação... STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Impossível remover parte da estação...

View File

@@ -191,6 +191,7 @@ STR_COLOUR_ORANGE :Оранжев
STR_COLOUR_BROWN :Кафяво STR_COLOUR_BROWN :Кафяво
STR_COLOUR_GREY :Сиво STR_COLOUR_GREY :Сиво
STR_COLOUR_WHITE :Бяло STR_COLOUR_WHITE :Бяло
STR_COLOUR_DEFAULT :По подразбиране
# Units used in OpenTTD # Units used in OpenTTD
STR_UNITS_VELOCITY_IMPERIAL :{COMMA} мил{P я и}/ч STR_UNITS_VELOCITY_IMPERIAL :{COMMA} мил{P я и}/ч
@@ -462,6 +463,7 @@ STR_TOOLBAR_SOUND_MUSIC :Звук/муз
############ range for message menu starts ############ range for message menu starts
STR_NEWS_MENU_LAST_MESSAGE_NEWS_REPORT :Последно съобщение/новини STR_NEWS_MENU_LAST_MESSAGE_NEWS_REPORT :Последно съобщение/новини
STR_NEWS_MENU_MESSAGE_HISTORY_MENU :История на съобщенията STR_NEWS_MENU_MESSAGE_HISTORY_MENU :История на съобщенията
STR_NEWS_MENU_DELETE_ALL_MESSAGES :Изтрий всички съобщения
############ range ends here ############ range ends here
############ range for about menu starts ############ range for about menu starts
@@ -473,6 +475,7 @@ STR_ABOUT_MENU_SCREENSHOT :Screenshot
STR_ABOUT_MENU_ZOOMIN_SCREENSHOT :Напълно увеличен в кадъра. STR_ABOUT_MENU_ZOOMIN_SCREENSHOT :Напълно увеличен в кадъра.
STR_ABOUT_MENU_DEFAULTZOOM_SCREENSHOT :Увеличение по подразбиране STR_ABOUT_MENU_DEFAULTZOOM_SCREENSHOT :Увеличение по подразбиране
STR_ABOUT_MENU_GIANT_SCREENSHOT :Огромен Screenshot STR_ABOUT_MENU_GIANT_SCREENSHOT :Огромен Screenshot
STR_ABOUT_MENU_SHOW_FRAMERATE :Показване на честотата на кадрите
STR_ABOUT_MENU_ABOUT_OPENTTD :Относно 'OpenTTD' STR_ABOUT_MENU_ABOUT_OPENTTD :Относно 'OpenTTD'
STR_ABOUT_MENU_SPRITE_ALIGNER :Подравнител на спрайтове STR_ABOUT_MENU_SPRITE_ALIGNER :Подравнител на спрайтове
STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Активиране слепване на прозорците STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Активиране слепване на прозорците
@@ -704,11 +707,13 @@ STR_SMALLMAP_TYPE_OWNERS :Собстве
STR_SMALLMAP_TOOLTIP_SHOW_LAND_CONTOURS_ON_MAP :{BLACK}Покажи земните контури на картата STR_SMALLMAP_TOOLTIP_SHOW_LAND_CONTOURS_ON_MAP :{BLACK}Покажи земните контури на картата
STR_SMALLMAP_TOOLTIP_SHOW_VEHICLES_ON_MAP :{BLACK}Покажи превозните средства STR_SMALLMAP_TOOLTIP_SHOW_VEHICLES_ON_MAP :{BLACK}Покажи превозните средства
STR_SMALLMAP_TOOLTIP_SHOW_INDUSTRIES_ON_MAP :{BLACK}Покажи индустриите на картата STR_SMALLMAP_TOOLTIP_SHOW_INDUSTRIES_ON_MAP :{BLACK}Покажи индустриите на картата
STR_SMALLMAP_TOOLTIP_SHOW_LINK_STATS_ON_MAP :{BLACK}Покажи на картата потока на товарите
STR_SMALLMAP_TOOLTIP_SHOW_TRANSPORT_ROUTES_ON :{BLACK}Покажи транспортните маршрути на картата STR_SMALLMAP_TOOLTIP_SHOW_TRANSPORT_ROUTES_ON :{BLACK}Покажи транспортните маршрути на картата
STR_SMALLMAP_TOOLTIP_SHOW_VEGETATION_ON_MAP :{BLACK}Покажи растителността на картата STR_SMALLMAP_TOOLTIP_SHOW_VEGETATION_ON_MAP :{BLACK}Покажи растителността на картата
STR_SMALLMAP_TOOLTIP_SHOW_LAND_OWNERS_ON_MAP :{BLACK}Покажи собствениците на земя на картата STR_SMALLMAP_TOOLTIP_SHOW_LAND_OWNERS_ON_MAP :{BLACK}Покажи собствениците на земя на картата
STR_SMALLMAP_TOOLTIP_INDUSTRY_SELECTION :{BLACK}Натисни върху вид индустрия за превключване на показването.Click on an industry type to toggle displaying it. Ctrl деактивира всички освен избраната. Ctrl отново за активиране на всички STR_SMALLMAP_TOOLTIP_INDUSTRY_SELECTION :{BLACK}Натисни върху вид индустрия за превключване на показването.Click on an industry type to toggle displaying it. Ctrl деактивира всички освен избраната. Ctrl отново за активиране на всички
STR_SMALLMAP_TOOLTIP_COMPANY_SELECTION :{BLACK}Натисни върху компания за показване/скриване на нейната собственост. Ctrl деактивира всички компании освен избраната. Ctrl отново за активиране на всички компании STR_SMALLMAP_TOOLTIP_COMPANY_SELECTION :{BLACK}Натисни върху компания за показване/скриване на нейната собственост. Ctrl деактивира всички компании освен избраната. Ctrl отново за активиране на всички компании
STR_SMALLMAP_TOOLTIP_CARGO_SELECTION :{BLACK}Кликнете върху товара, за да превключите показването на неговите данни. Ctrl+Click изключва всички товари без текущо избрания. Направете отново Ctrl+Click въху него, за да включите отново всички товари
STR_SMALLMAP_LEGENDA_ROADS :{TINY_FONT}{BLACK}Пътища STR_SMALLMAP_LEGENDA_ROADS :{TINY_FONT}{BLACK}Пътища
STR_SMALLMAP_LEGENDA_RAILROADS :{TINY_FONT}{BLACK}ЖП STR_SMALLMAP_LEGENDA_RAILROADS :{TINY_FONT}{BLACK}ЖП
@@ -1107,6 +1112,7 @@ STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_MENU :Игрови н
STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_INGAME :Игрови настройки (съхраняват се в записаната игра; важат само за текущата игра) STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_INGAME :Игрови настройки (съхраняват се в записаната игра; важат само за текущата игра)
STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_MENU :Настройки за компанията (съхраняват се в записаната игра; важат само за нови игри) STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_MENU :Настройки за компанията (съхраняват се в записаната игра; важат само за нови игри)
STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_INGAME :Настройки за компанията (съхраняват се в записаната игра; важат само за текущата компания) STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_INGAME :Настройки за компанията (съхраняват се в записаната игра; важат само за текущата компания)
STR_CONFIG_SETTING_CATEGORY_AND_TYPE_HIDES :{BLACK}Покажете всички резултати от търсенето като зададете{}{SILVER}Категория {BLACK}на {WHITE}{STRING} {BLACK}и {SILVER}Тип {BLACK}на {WHITE}Всички видове настройки
STR_CONFIG_SETTINGS_NONE :{WHITE}- Нищо - STR_CONFIG_SETTINGS_NONE :{WHITE}- Нищо -
STR_CONFIG_SETTING_OFF :изключено STR_CONFIG_SETTING_OFF :изключено
@@ -1283,10 +1289,12 @@ STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT :Показва
STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Дебелина на линиите в графиките: {STRING} STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS :Дебелина на линиите в графиките: {STRING}
STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Дебелина на линиите в графиките. Тънките линии са по-лесни за разчитане, но по-дебелите се забелязват и разграничават по-лесно. STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT :Дебелина на линиите в графиките. Тънките линии са по-лесни за разчитане, но по-дебелите се забелязват и разграничават по-лесно.
STR_CONFIG_SETTING_LANDSCAPE :Пейзаж: {STRING} STR_CONFIG_SETTING_LANDSCAPE :Терен: {STRING}
STR_CONFIG_SETTING_LAND_GENERATOR :Генератор на земя: {STRING} STR_CONFIG_SETTING_LAND_GENERATOR :Генератор на земя: {STRING}
STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL :оригинален STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL :оригинален
STR_CONFIG_SETTING_LAND_GENERATOR_TERRA_GENESIS :тера-генезис STR_CONFIG_SETTING_LAND_GENERATOR_TERRA_GENESIS :тера-генезис
STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT :(само за TerraGenesis) Хълмистост на терена
STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT :Задайте колко индустрии да се генерират и какво ниво да се поддържа по време на играта
STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Максимално разстояние от ръба за нефтените рафинерии: {STRING} STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :Максимално разстояние от ръба за нефтените рафинерии: {STRING}
STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Нефтените рафинерии се изграждат само близо до края на картата STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT :Нефтените рафинерии се изграждат само близо до края на картата
STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Снежната ивица: {STRING} STR_CONFIG_SETTING_SNOWLINE_HEIGHT :Снежната ивица: {STRING}
@@ -1296,6 +1304,7 @@ STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :полегат
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :стръмен STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :стръмен
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :много стръмен STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :много стръмен
STR_CONFIG_SETTING_RIVER_AMOUNT :Количество на реките: {STRING} STR_CONFIG_SETTING_RIVER_AMOUNT :Количество на реките: {STRING}
STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT :Изберете колко реки да се генерират
STR_CONFIG_SETTING_TREE_PLACER :Алгоритъм за поставяне на дървета: {STRING} STR_CONFIG_SETTING_TREE_PLACER :Алгоритъм за поставяне на дървета: {STRING}
STR_CONFIG_SETTING_TREE_PLACER_NONE :без дървета STR_CONFIG_SETTING_TREE_PLACER_NONE :без дървета
STR_CONFIG_SETTING_TREE_PLACER_ORIGINAL :оригинален STR_CONFIG_SETTING_TREE_PLACER_ORIGINAL :оригинален
@@ -1583,6 +1592,11 @@ STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :Без
STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Множител за големината на града: {STRING} STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Множител за големината на града: {STRING}
STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Относителен размер на мегаполисите в сравнение с градовете в началото на играта STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT :Относителен размер на мегаполисите в сравнение с градовете в началото на играта
STR_CONFIG_SETTING_LINKGRAPH_TIME :Вземи {STRING}{NBSP}дни{P 0:2 "" s} за преизчисляване на графа за резпределение
STR_CONFIG_SETTING_DISTRIBUTION_MANUAL :ръчно
STR_CONFIG_SETTING_DISTRIBUTION_SYMMETRIC :симетричен
STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :"симетрично" означава, че приблизително един и същ брой пътници ще пътуват от спирка А до спирка Б и обратно. "асиметрично" означава, че произволен брой пътници могат да пътуват във всяка от посоките. "ръчно" означава, че няма да има автоматично разпределение за пътниците.
STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT :Режим на разпределение на други класове товари: {STRING}
STR_CONFIG_SETTING_DEMAND_SIZE :Количество на връщания товар при симетричнен режим: {STRING} STR_CONFIG_SETTING_DEMAND_SIZE :Количество на връщания товар при симетричнен режим: {STRING}
STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY :Единици за скорост: {STRING} STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY :Единици за скорост: {STRING}
@@ -1628,6 +1642,7 @@ STR_CONFIG_SETTING_INTERFACE_GENERAL :{ORANGE}Осн
STR_CONFIG_SETTING_INTERFACE_CONSTRUCTION :{ORANGE}Строене STR_CONFIG_SETTING_INTERFACE_CONSTRUCTION :{ORANGE}Строене
STR_CONFIG_SETTING_VEHICLES :{ORANGE}Автомобили STR_CONFIG_SETTING_VEHICLES :{ORANGE}Автомобили
STR_CONFIG_SETTING_VEHICLES_ROUTING :{ORANGE}Маршрутизация STR_CONFIG_SETTING_VEHICLES_ROUTING :{ORANGE}Маршрутизация
STR_CONFIG_SETTING_LIMITATIONS :{ORANGE}Ограничения
STR_CONFIG_SETTING_ENVIRONMENT_AUTHORITIES :{ORANGE}Права STR_CONFIG_SETTING_ENVIRONMENT_AUTHORITIES :{ORANGE}Права
STR_CONFIG_SETTING_ENVIRONMENT_TOWNS :{ORANGE}Градове STR_CONFIG_SETTING_ENVIRONMENT_TOWNS :{ORANGE}Градове
STR_CONFIG_SETTING_ENVIRONMENT_INDUSTRIES :{ORANGE}Индустрии STR_CONFIG_SETTING_ENVIRONMENT_INDUSTRIES :{ORANGE}Индустрии
@@ -1908,6 +1923,7 @@ STR_NETWORK_START_SERVER_SET_PASSWORD :{BLACK}Пост
STR_NETWORK_START_SERVER_PASSWORD_TOOLTIP :{BLACK}Защитаване на вашата игра с парола за да не е публично достъпна STR_NETWORK_START_SERVER_PASSWORD_TOOLTIP :{BLACK}Защитаване на вашата игра с парола за да не е публично достъпна
STR_NETWORK_START_SERVER_UNADVERTISED :Не STR_NETWORK_START_SERVER_UNADVERTISED :Не
STR_NETWORK_START_SERVER_ADVERTISED :Да
STR_NETWORK_START_SERVER_CLIENTS_SELECT :{BLACK}{NUM} клиент{P "" s} STR_NETWORK_START_SERVER_CLIENTS_SELECT :{BLACK}{NUM} клиент{P "" s}
STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS :{BLACK}Макс. брой играчи: STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS :{BLACK}Макс. брой играчи:
STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS_TOOLTIP :{BLACK}Избор на максималния брой клиенти. Не всички слотове трябва да се попълнят STR_NETWORK_START_SERVER_NUMBER_OF_CLIENTS_TOOLTIP :{BLACK}Избор на максималния брой клиенти. Не всички слотове трябва да се попълнят
@@ -2630,9 +2646,21 @@ STR_ABOUT_VERSION :{BLACK}OpenTTD
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2019 The OpenTTD team STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2019 The OpenTTD team
# Framerate display window # Framerate display window
STR_FRAMERATE_CAPTION :{WHITE}Скорост на кадрите
STR_FRAMERATE_RATE_GAMELOOP :{BLACK}Скороср на симулация: {STRING}
STR_FRAMERATE_SPEED_FACTOR :{BLACK}Текущ коефициент за скорост на играта: {DECIMAL}x
STR_FRAMERATE_CURRENT :{WHITE}Текущ
STR_FRAMERATE_AVERAGE :{WHITE}Средно
STR_FRAMERATE_FPS_BAD :{RED}{DECIMAL} кадри/сек
############ Leave those lines in this order!! ############ Leave those lines in this order!!
STR_FRAMERATE_GL_ECONOMY :Обработка на товари:
STR_FRAMERATE_GL_LANDSCAPE :{BLACK} Тактове на света:
############ End of leave-in-this-order ############ End of leave-in-this-order
############ Leave those lines in this order!! ############ Leave those lines in this order!!
STR_FRAMETIME_CAPTION_GAMELOOP :Цикъл на играта
STR_FRAMETIME_CAPTION_DRAWING :Графична обработка
STR_FRAMETIME_CAPTION_VIDEO :Видео изход
STR_FRAMETIME_CAPTION_ALLSCRIPTS :Общо GS/AI скриптове
############ End of leave-in-this-order ############ End of leave-in-this-order
@@ -2782,6 +2810,7 @@ STR_NEWGRF_SETTINGS_DISABLED :{RED}Изклю
STR_NEWGRF_SETTINGS_INCOMPATIBLE :{G=n}{RED}Несъвместимо с тази версия на OpenTTD STR_NEWGRF_SETTINGS_INCOMPATIBLE :{G=n}{RED}Несъвместимо с тази версия на OpenTTD
# NewGRF save preset window # NewGRF save preset window
STR_SAVE_PRESET_LIST_TOOLTIP :{BLACK}Списък на наличните предварително зададени настройки. Изберете една, за да я откопирате в името за запис по-долу
STR_SAVE_PRESET_TITLE :{BLACK}Въведи име за шаблона STR_SAVE_PRESET_TITLE :{BLACK}Въведи име за шаблона
STR_SAVE_PRESET_EDITBOX_TOOLTIP :{BLACK}Текущо избраното име за именуване на шаблона STR_SAVE_PRESET_EDITBOX_TOOLTIP :{BLACK}Текущо избраното име за именуване на шаблона
STR_SAVE_PRESET_CANCEL :{BLACK}Отказ STR_SAVE_PRESET_CANCEL :{BLACK}Отказ
@@ -2879,6 +2908,7 @@ STR_NEWGRF_BUGGY :{WHITE}NewGRF '
STR_NEWGRF_BUGGY_ARTICULATED_CARGO :{WHITE}Информация за товар/преобразувания на '{1:ENGINE}' се различава от листа с покупките. Това може да доведе до грешка при подновяване/преустройване STR_NEWGRF_BUGGY_ARTICULATED_CARGO :{WHITE}Информация за товар/преобразувания на '{1:ENGINE}' се различава от листа с покупките. Това може да доведе до грешка при подновяване/преустройване
STR_NEWGRF_BUGGY_ENDLESS_PRODUCTION_CALLBACK :{WHITE}'{1:STRING}' предизвика вечен цикъл в callback на производството STR_NEWGRF_BUGGY_ENDLESS_PRODUCTION_CALLBACK :{WHITE}'{1:STRING}' предизвика вечен цикъл в callback на производството
STR_NEWGRF_BUGGY_UNKNOWN_CALLBACK_RESULT :{WHITE}Подизпълнение {1:HEX} върна неизвестен/невалиден резултат {2:HEX} STR_NEWGRF_BUGGY_UNKNOWN_CALLBACK_RESULT :{WHITE}Подизпълнение {1:HEX} върна неизвестен/невалиден резултат {2:HEX}
STR_NEWGRF_BUGGY_INVALID_CARGO_PRODUCTION_CALLBACK :{WHITE}'{1:STRING}' Върнат е невалиден тип товар в продуктивен callback на {2:HEX}
# 'User removed essential NewGRFs'-placeholders for stuff without specs # 'User removed essential NewGRFs'-placeholders for stuff without specs
STR_NEWGRF_INVALID_CARGO :<невалиден товар> STR_NEWGRF_INVALID_CARGO :<невалиден товар>
@@ -2912,6 +2942,7 @@ STR_EDIT_SIGN_SIGN_OSKTITLE :{BLACK}Въве
STR_TOWN_DIRECTORY_CAPTION :{WHITE}Градове STR_TOWN_DIRECTORY_CAPTION :{WHITE}Градове
STR_TOWN_DIRECTORY_NONE :{ORANGE}- Отсъства - STR_TOWN_DIRECTORY_NONE :{ORANGE}- Отсъства -
STR_TOWN_DIRECTORY_TOWN :{ORANGE}{TOWN}{BLACK} ({COMMA}) STR_TOWN_DIRECTORY_TOWN :{ORANGE}{TOWN}{BLACK} ({COMMA})
STR_TOWN_DIRECTORY_CITY :{ORANGE}{TOWN}{YELLOW} (Град){BLACK} ({COMMA})
STR_TOWN_DIRECTORY_LIST_TOOLTIP :{BLACK}Имена на градовете - натисни на името за да фокусираш този град. Ctrl отваря нов изглед към града. STR_TOWN_DIRECTORY_LIST_TOOLTIP :{BLACK}Имена на градовете - натисни на името за да фокусираш този град. Ctrl отваря нов изглед към града.
STR_TOWN_POPULATION :{BLACK}Обща популация на картата: {COMMA} STR_TOWN_POPULATION :{BLACK}Обща популация на картата: {COMMA}
@@ -3311,6 +3342,7 @@ STR_PURCHASE_INFO_AIRCRAFT_CAPACITY :{BLACK}Капа
STR_PURCHASE_INFO_PWAGPOWER_PWAGWEIGHT :{BLACK}Вагони с мощност: {GOLD}+{POWER}{BLACK} Тегло: {GOLD}+{WEIGHT_SHORT} STR_PURCHASE_INFO_PWAGPOWER_PWAGWEIGHT :{BLACK}Вагони с мощност: {GOLD}+{POWER}{BLACK} Тегло: {GOLD}+{WEIGHT_SHORT}
STR_PURCHASE_INFO_REFITTABLE_TO :{BLACK}Преобразуваем на: {GOLD}{STRING} STR_PURCHASE_INFO_REFITTABLE_TO :{BLACK}Преобразуваем на: {GOLD}{STRING}
STR_PURCHASE_INFO_ALL_TYPES :Всички видове товар STR_PURCHASE_INFO_ALL_TYPES :Всички видове товар
STR_PURCHASE_INFO_NONE :Нищо
STR_PURCHASE_INFO_ALL_BUT :Всичко освен {CARGO_LIST} STR_PURCHASE_INFO_ALL_BUT :Всичко освен {CARGO_LIST}
STR_PURCHASE_INFO_MAX_TE :{BLACK}Макс. теглеща сила: {GOLD}{FORCE} STR_PURCHASE_INFO_MAX_TE :{BLACK}Макс. теглеща сила: {GOLD}{FORCE}
STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Обхват: {GOLD}{COMMA} полета STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Обхват: {GOLD}{COMMA} полета
@@ -3626,7 +3658,7 @@ STR_VEHICLE_DETAILS_TRAIN_ARTICULATED_RV_CAPACITY :{BLACK}Капа
# Vehicle refit # Vehicle refit
STR_REFIT_CAPTION :{WHITE}{VEHICLE} (Преустройване) STR_REFIT_CAPTION :{WHITE}{VEHICLE} (Преустройване)
STR_REFIT_TITLE :{GOLD}Изберете вид товар за превозване: STR_REFIT_TITLE :{GOLD}Изберете вид товар за превозване:
STR_REFIT_NEW_CAPACITY_COST_OF_REFIT :{BLACK}Нов капацитет: {GOLD}{CARGO_LONG}{}{BLACK}Цена за преустройство: {RED}{CURRENCY_LONG} STR_REFIT_NEW_CAPACITY_COST_OF_REFIT :{BLACK}Нов капацитет: {GOLD}{CARGO_LONG}{}{BLACK}Цена за преустройсване: {RED}{CURRENCY_LONG}
STR_REFIT_NEW_CAPACITY_INCOME_FROM_REFIT :{BLACK}Нов капцитет: {GOLD}{CARGO_LONG}{}{BLACK}Приход от преустройване: {GREEN}{CURRENCY_LONG} STR_REFIT_NEW_CAPACITY_INCOME_FROM_REFIT :{BLACK}Нов капцитет: {GOLD}{CARGO_LONG}{}{BLACK}Приход от преустройване: {GREEN}{CURRENCY_LONG}
STR_REFIT_NEW_CAPACITY_COST_OF_AIRCRAFT_REFIT :{BLACK}Нова вместимост: {GOLD}{CARGO_LONG}, {GOLD}{CARGO_LONG}{}{BLACK}Цена за преоборудване: {RED}{CURRENCY_LONG} STR_REFIT_NEW_CAPACITY_COST_OF_AIRCRAFT_REFIT :{BLACK}Нова вместимост: {GOLD}{CARGO_LONG}, {GOLD}{CARGO_LONG}{}{BLACK}Цена за преоборудване: {RED}{CURRENCY_LONG}
STR_REFIT_NEW_CAPACITY_INCOME_FROM_AIRCRAFT_REFIT :{BLACK}Нов капацитет: {GOLD}{CARGO_LONG}, {GOLD}{CARGO_LONG}{}{BLACK}Проход от преустройване: {GREEN}{CURRENCY_LONG} STR_REFIT_NEW_CAPACITY_INCOME_FROM_AIRCRAFT_REFIT :{BLACK}Нов капацитет: {GOLD}{CARGO_LONG}, {GOLD}{CARGO_LONG}{}{BLACK}Проход от преустройване: {GREEN}{CURRENCY_LONG}
@@ -3812,9 +3844,12 @@ STR_TIMETABLE_TOOLTIP :{BLACK}Разп
STR_TIMETABLE_NO_TRAVEL :Без преминаване STR_TIMETABLE_NO_TRAVEL :Без преминаване
STR_TIMETABLE_NOT_TIMETABLEABLE :Пътувай (автоматично; включено в разписанието, чрез следващата ваша заповед) STR_TIMETABLE_NOT_TIMETABLEABLE :Пътувай (автоматично; включено в разписанието, чрез следващата ваша заповед)
STR_TIMETABLE_TRAVEL_NOT_TIMETABLED :Пътувай (без разписание) STR_TIMETABLE_TRAVEL_NOT_TIMETABLED :Пътувай (без разписание)
STR_TIMETABLE_TRAVEL_NOT_TIMETABLED_SPEED :Пътувай с не повече от {2:VELOCITY} (not timetabled) STR_TIMETABLE_TRAVEL_NOT_TIMETABLED_SPEED :Пътувай (без разписание) с не повече от {2:VELOCITY}
STR_TIMETABLE_TRAVEL_FOR :Пътувай за {STRING} STR_TIMETABLE_TRAVEL_FOR :Пътувай за {STRING}
STR_TIMETABLE_TRAVEL_FOR_SPEED :Пътувай за {STRING} с не повече от {VELOCITY} STR_TIMETABLE_TRAVEL_FOR_SPEED :Пътувай за {STRING} с не повече от {VELOCITY}
STR_TIMETABLE_TRAVEL_FOR_ESTIMATED :Пътувай (за {STRING}, без разписание)
STR_TIMETABLE_STAY_FOR_ESTIMATED :(престой за {STRING}, без разписание)
STR_TIMETABLE_AND_TRAVEL_FOR_ESTIMATED :(Пътувай към {STRING}, без разписание)
STR_TIMETABLE_STAY_FOR :и остани за {STRING} STR_TIMETABLE_STAY_FOR :и остани за {STRING}
STR_TIMETABLE_AND_TRAVEL_FOR :и отпътувай към {STRING} STR_TIMETABLE_AND_TRAVEL_FOR :и отпътувай към {STRING}
STR_TIMETABLE_DAYS :{COMMA}{NBSP}ден{P "" а} STR_TIMETABLE_DAYS :{COMMA}{NBSP}ден{P "" а}
@@ -3830,6 +3865,7 @@ STR_TIMETABLE_STATUS_NOT_STARTED :{BLACK}Това
STR_TIMETABLE_STATUS_START_AT :{BLACK}Това разписание ще започне на {STRING} STR_TIMETABLE_STATUS_START_AT :{BLACK}Това разписание ще започне на {STRING}
STR_TIMETABLE_STARTING_DATE :{BLACK}Дата на започване STR_TIMETABLE_STARTING_DATE :{BLACK}Дата на започване
STR_TIMETABLE_STARTING_DATE_TOOLTIP :{BLACK} Изберете начална дата на това разписание. Ctrl + Click задава началната дата и равномерно разпределя всички превозни средства, които споделят тази поръчка, на базата на тяхната относителна поръчка, ако поръчката е изцяло по разписание
STR_TIMETABLE_CHANGE_TIME :{BLACK}Промени времето STR_TIMETABLE_CHANGE_TIME :{BLACK}Промени времето
STR_TIMETABLE_WAIT_TIME_TOOLTIP :{BLACK}Промени времетраенето на маркираната заповед STR_TIMETABLE_WAIT_TIME_TOOLTIP :{BLACK}Промени времетраенето на маркираната заповед
@@ -4382,6 +4418,7 @@ STR_BASESOUNDS_DOS_DESCRIPTION :Оригина
STR_BASESOUNDS_WIN_DESCRIPTION :Оригинални звуци на Transport Tycoon Deluxe за Windows. STR_BASESOUNDS_WIN_DESCRIPTION :Оригинални звуци на Transport Tycoon Deluxe за Windows.
STR_BASESOUNDS_NONE_DESCRIPTION :Празен звуков пакет. STR_BASESOUNDS_NONE_DESCRIPTION :Празен звуков пакет.
STR_BASEMUSIC_WIN_DESCRIPTION :Оригинална музика на Transport Tycoon Deluxe за Windows. STR_BASEMUSIC_WIN_DESCRIPTION :Оригинална музика на Transport Tycoon Deluxe за Windows.
STR_BASEMUSIC_TTO_DESCRIPTION :Оригинална Transport Tycoon (Original/World Editor) музика за DOS.
STR_BASEMUSIC_NONE_DESCRIPTION :Празен музикален пакет. STR_BASEMUSIC_NONE_DESCRIPTION :Празен музикален пакет.
##id 0x2000 ##id 0x2000

View File

@@ -4317,7 +4317,6 @@ STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD :{WHITE}... aque
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... sentit de la carretera en la direcció incorrecta STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... sentit de la carretera en la direcció incorrecta
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... les estacions d'autobús de pas no poden tenir cantonades STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... les estacions d'autobús de pas no poden tenir cantonades
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... les estacions d'autobús de pas no poden tenir interseccions STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... les estacions d'autobús de pas no poden tenir interseccions
STR_ERROR_DRIVE_THROUGH_ON_ONEWAY_ROAD :{WHITE}... la carretera és d'un sol sentit o està blocada.
# Station destruction related errors # Station destruction related errors
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}No es pot treure part de la estació... STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}No es pot treure part de la estació...

View File

@@ -3120,7 +3120,7 @@ STR_NEWGRF_LIST_MISSING :{RED}Nedostaju
STR_NEWGRF_BROKEN :{WHITE}Ponašanje NewGRF '{0:STRING}' će vjerojatno uzrokovati deharmonizaciju i/ili rušenje igre STR_NEWGRF_BROKEN :{WHITE}Ponašanje NewGRF '{0:STRING}' će vjerojatno uzrokovati deharmonizaciju i/ili rušenje igre
STR_NEWGRF_BROKEN_POWERED_WAGON :{WHITE}Promijenjen status motoriziranog vagona za '{1:ENGINE}' kad vozilo nije u spremištu. STR_NEWGRF_BROKEN_POWERED_WAGON :{WHITE}Promijenjen status motoriziranog vagona za '{1:ENGINE}' kad vozilo nije u spremištu.
STR_NEWGRF_BROKEN_VEHICLE_LENGTH :{WHITE}Ovo mijenja dužinu vozila za '{1:ENGINE}' kada vozilo nije unutar spremišta STR_NEWGRF_BROKEN_VEHICLE_LENGTH :{WHITE}Ovo mijenja dužinu vozila za '{1:ENGINE}' kada vozilo nije unutar spremišta
STR_NEWGRF_BROKEN_CAPACITY :{WHITE}Promijenilo je kapacitet vozila za '{1:ENGINE}' kada nije u spremšta ili se remontira STR_NEWGRF_BROKEN_CAPACITY :{WHITE}Promijenilo je kapacitet vozila za '{1:ENGINE}' kada nije u spremištu ili se prenamjenjuje
STR_BROKEN_VEHICLE_LENGTH :{WHITE}Vlak'{VEHICLE}' koji pripada tvrtci '{COMPANY}' neispravne je dužine. Uzrok problema je vjerojatno u NewGRF datotekama. Igra će se možda deharmonizirati ili srušiti STR_BROKEN_VEHICLE_LENGTH :{WHITE}Vlak'{VEHICLE}' koji pripada tvrtci '{COMPANY}' neispravne je dužine. Uzrok problema je vjerojatno u NewGRF datotekama. Igra će se možda deharmonizirati ili srušiti
STR_NEWGRF_BUGGY :{WHITE}NewGRF '{0:STRING}' daje netočne informacije STR_NEWGRF_BUGGY :{WHITE}NewGRF '{0:STRING}' daje netočne informacije
@@ -3903,9 +3903,9 @@ STR_VEHICLE_DETAILS_TRAIN_ARTICULATED_RV_CAPACITY :{BLACK}Nosivost
STR_REFIT_CAPTION :{WHITE}{VEHICLE} (Prenamijeni) STR_REFIT_CAPTION :{WHITE}{VEHICLE} (Prenamijeni)
STR_REFIT_TITLE :{GOLD}Odaberi vrstu tereta za prijevoz: STR_REFIT_TITLE :{GOLD}Odaberi vrstu tereta za prijevoz:
STR_REFIT_NEW_CAPACITY_COST_OF_REFIT :{BLACK}Nova nosivost: {GOLD}{CARGO_LONG}{}{BLACK}Cijena prenamjene: {RED}{CURRENCY_LONG} STR_REFIT_NEW_CAPACITY_COST_OF_REFIT :{BLACK}Nova nosivost: {GOLD}{CARGO_LONG}{}{BLACK}Cijena prenamjene: {RED}{CURRENCY_LONG}
STR_REFIT_NEW_CAPACITY_INCOME_FROM_REFIT :{BLACK}Novi kapacitet: {GOLD}{CARGO_LONG}{}{BLACK}Prihod od remonta: {GREEN}{CURRENCY_LONG} STR_REFIT_NEW_CAPACITY_INCOME_FROM_REFIT :{BLACK}Novi kapacitet: {GOLD}{CARGO_LONG}{}{BLACK}Prihod od prenamjene: {GREEN}{CURRENCY_LONG}
STR_REFIT_NEW_CAPACITY_COST_OF_AIRCRAFT_REFIT :{BLACK}Novi kapacitet: {GOLD}{CARGO_LONG}, {GOLD}{CARGO_LONG}{}{BLACK}Trošak remonta: {RED}{CURRENCY_LONG} STR_REFIT_NEW_CAPACITY_COST_OF_AIRCRAFT_REFIT :{BLACK}Novi kapacitet: {GOLD}{CARGO_LONG}, {GOLD}{CARGO_LONG}{}{BLACK}Cijena prenamjene: {RED}{CURRENCY_LONG}
STR_REFIT_NEW_CAPACITY_INCOME_FROM_AIRCRAFT_REFIT :{BLACK}Novi kapacitet: {GOLD}{CARGO_LONG}, {GOLD}{CARGO_LONG}{}{BLACK}Prihod od remonta: {GREEN}{CURRENCY_LONG} STR_REFIT_NEW_CAPACITY_INCOME_FROM_AIRCRAFT_REFIT :{BLACK}Novi kapacitet: {GOLD}{CARGO_LONG}, {GOLD}{CARGO_LONG}{}{BLACK}Prihod od prenamjene: {GREEN}{CURRENCY_LONG}
STR_REFIT_SELECT_VEHICLES_TOOLTIP :{BLACK}Odaberi vozila za remont. Povlačenje mišem dopušta odabir više vozila. Klik na prazninu će označiti cijelo vozilo. Ctrl+Klik će označiti vozilo i niz koji slijedi. STR_REFIT_SELECT_VEHICLES_TOOLTIP :{BLACK}Odaberi vozila za remont. Povlačenje mišem dopušta odabir više vozila. Klik na prazninu će označiti cijelo vozilo. Ctrl+Klik će označiti vozilo i niz koji slijedi.
STR_REFIT_TRAIN_LIST_TOOLTIP :{BLACK}Odaberi vrstu tereta koju će vlak prevoziti STR_REFIT_TRAIN_LIST_TOOLTIP :{BLACK}Odaberi vrstu tereta koju će vlak prevoziti
@@ -4413,7 +4413,6 @@ STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD :{WHITE}... ovo
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... cesta je orijentirana u krivom smjeru STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... cesta je orijentirana u krivom smjeru
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... prolazne postaje ne mogu imati zavoje STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... prolazne postaje ne mogu imati zavoje
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... prolazne postaje ne mogu imati raskrižja STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... prolazne postaje ne mogu imati raskrižja
STR_ERROR_DRIVE_THROUGH_ON_ONEWAY_ROAD :{WHITE}... cesta je jednosmjerna ili je blokirana
# Station destruction related errors # Station destruction related errors
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Nije moguće ukloniti dio postaje... STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Nije moguće ukloniti dio postaje...

View File

@@ -264,6 +264,7 @@ STR_COLOUR_ORANGE :Oranžová
STR_COLOUR_BROWN :Hnědá STR_COLOUR_BROWN :Hnědá
STR_COLOUR_GREY :Šedá STR_COLOUR_GREY :Šedá
STR_COLOUR_WHITE :Bílá STR_COLOUR_WHITE :Bílá
STR_COLOUR_RANDOM :Náhodná
# Units used in OpenTTD # Units used in OpenTTD
STR_UNITS_VELOCITY_IMPERIAL :{COMMA}{NBSP}m{P íle íle il}/h STR_UNITS_VELOCITY_IMPERIAL :{COMMA}{NBSP}m{P íle íle il}/h
@@ -539,6 +540,7 @@ STR_TOOLBAR_SOUND_MUSIC :Zvuk/Hudba
############ range for message menu starts ############ range for message menu starts
STR_NEWS_MENU_LAST_MESSAGE_NEWS_REPORT :Poslední zpráva nebo článek STR_NEWS_MENU_LAST_MESSAGE_NEWS_REPORT :Poslední zpráva nebo článek
STR_NEWS_MENU_MESSAGE_HISTORY_MENU :Historie zpráv STR_NEWS_MENU_MESSAGE_HISTORY_MENU :Historie zpráv
STR_NEWS_MENU_DELETE_ALL_MESSAGES :Smazat všechny zprávy
############ range ends here ############ range ends here
############ range for about menu starts ############ range for about menu starts
@@ -1077,6 +1079,7 @@ STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Dvojnásobná v
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Čtyřnásobná velikost STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Čtyřnásobná velikost
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Běžné
STR_GAME_OPTIONS_BASE_GRF :{BLACK}Základní sada grafiky STR_GAME_OPTIONS_BASE_GRF :{BLACK}Základní sada grafiky
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Zvol základní sadu grafiky STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Zvol základní sadu grafiky
@@ -1429,6 +1432,7 @@ STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_HELPTEXT :Barva terénu n
STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_GREEN :zelená STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_GREEN :zelená
STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_DARK_GREEN :tmavě zelená STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_DARK_GREEN :tmavě zelená
STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_VIOLET :fialová STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_VIOLET :fialová
STR_CONFIG_SETTING_SCROLLMODE_RMB_LOCKED :Pohyb v mapě pomocí pravého tlačítka myši, poloha myši uzamčena
STR_CONFIG_SETTING_SMOOTH_SCROLLING :Plynulé posouvání po mapě: {STRING} STR_CONFIG_SETTING_SMOOTH_SCROLLING :Plynulé posouvání po mapě: {STRING}
STR_CONFIG_SETTING_SMOOTH_SCROLLING_HELPTEXT :Ovládá jak se hlavní pohled posouvá na specifické místo na mapě, kliknutím na minimapu nebo spuštěním příkazu na posun na specifický objekt na mapě. Pokud zapnuto, pohled se posouvá plynule, pokud vypnuto, skáče pohled přímo na cílové místo STR_CONFIG_SETTING_SMOOTH_SCROLLING_HELPTEXT :Ovládá jak se hlavní pohled posouvá na specifické místo na mapě, kliknutím na minimapu nebo spuštěním příkazu na posun na specifický objekt na mapě. Pokud zapnuto, pohled se posouvá plynule, pokud vypnuto, skáče pohled přímo na cílové místo
STR_CONFIG_SETTING_MEASURE_TOOLTIP :Ukázat rozměry při použití stavebních nástrojů: {STRING} STR_CONFIG_SETTING_MEASURE_TOOLTIP :Ukázat rozměry při použití stavebních nástrojů: {STRING}
@@ -2791,7 +2795,10 @@ STR_FRAMERATE_CAPTION :{WHITE}Počet s
STR_FRAMERATE_RATE_BLITTER_TOOLTIP :{BLACK}Počet snímků videa vykreslovaných za sekundu. STR_FRAMERATE_RATE_BLITTER_TOOLTIP :{BLACK}Počet snímků videa vykreslovaných za sekundu.
STR_FRAMERATE_SPEED_FACTOR :{WHITE}Aktuální činitel rychlosti hry: {DECIMAL}x STR_FRAMERATE_SPEED_FACTOR :{WHITE}Aktuální činitel rychlosti hry: {DECIMAL}x
STR_FRAMERATE_SPEED_FACTOR_TOOLTIP :{BLACK}Rychlost, kterou hra právě běží, v porovnání s očekávanou rychlostí při běžné rychlosti simulace. STR_FRAMERATE_SPEED_FACTOR_TOOLTIP :{BLACK}Rychlost, kterou hra právě běží, v porovnání s očekávanou rychlostí při běžné rychlosti simulace.
STR_FRAMERATE_CURRENT :{WHITE}Aktuální
STR_FRAMERATE_AVERAGE :{WHITE}Průměr STR_FRAMERATE_AVERAGE :{WHITE}Průměr
STR_FRAMERATE_DATA_POINTS :{BLACK}Podle {COMMA} měření
STR_FRAMERATE_MS_GOOD :{LTBLUE}{DECIMAL} ms
STR_FRAMERATE_MS_BAD :{RED}{DECIMAL}{WHITE} ms STR_FRAMERATE_MS_BAD :{RED}{DECIMAL}{WHITE} ms
STR_FRAMERATE_FPS_WARN :{YELLOW}{DECIMAL}{WHITE} sním{P "ek" "ky" "ků"}/s STR_FRAMERATE_FPS_WARN :{YELLOW}{DECIMAL}{WHITE} sním{P "ek" "ky" "ků"}/s
STR_FRAMERATE_FPS_BAD :{RED}{DECIMAL}{WHITE} sním{P "ek" "ky" "ků"}/s STR_FRAMERATE_FPS_BAD :{RED}{DECIMAL}{WHITE} sním{P "ek" "ky" "ků"}/s
@@ -2799,12 +2806,20 @@ STR_FRAMERATE_GRAPH_MILLISECONDS :{TINY_FONT}{COM
STR_FRAMERATE_GRAPH_SECONDS :{TINY_FONT}{COMMA} s STR_FRAMERATE_GRAPH_SECONDS :{TINY_FONT}{COMMA} s
############ Leave those lines in this order!! ############ Leave those lines in this order!!
STR_FRAMERATE_GL_ECONOMY :{WHITE} Manipulace s nákladem: STR_FRAMERATE_GL_ECONOMY :{WHITE} Manipulace s nákladem:
STR_FRAMERATE_GL_LINKGRAPH :{BLACK} Zpoždění grafu spojení:
STR_FRAMERATE_DRAWING :{WHITE}Vykreslování grafiky: STR_FRAMERATE_DRAWING :{WHITE}Vykreslování grafiky:
STR_FRAMERATE_DRAWING_VIEWPORTS :{BLACK} Pohledy:
STR_FRAMERATE_VIDEO :{BLACK}Video:
STR_FRAMERATE_SOUND :{BLACK}Míchání zvuků:
STR_FRAMERATE_GAMESCRIPT :{BLACK} Herní skript:
############ End of leave-in-this-order ############ End of leave-in-this-order
############ Leave those lines in this order!! ############ Leave those lines in this order!!
STR_FRAMETIME_CAPTION_GAMELOOP :Herní smyčka
STR_FRAMETIME_CAPTION_GL_ECONOMY :Manipulace s nákladem STR_FRAMETIME_CAPTION_GL_ECONOMY :Manipulace s nákladem
STR_FRAMETIME_CAPTION_DRAWING :Vykreslování grafiky STR_FRAMETIME_CAPTION_DRAWING :Vykreslování grafiky
STR_FRAMETIME_CAPTION_SOUND :Míchání zvuků STR_FRAMETIME_CAPTION_SOUND :Míchání zvuků
STR_FRAMETIME_CAPTION_GAMESCRIPT :Herní skript
STR_FRAMETIME_CAPTION_AI :AI {NUM} {STRING}
############ End of leave-in-this-order ############ End of leave-in-this-order
@@ -2830,6 +2845,8 @@ STR_SAVELOAD_DETAIL_CAPTION :{BLACK}Vlastnos
STR_SAVELOAD_DETAIL_NOT_AVAILABLE :{BLACK}Není dostupná žádná informace STR_SAVELOAD_DETAIL_NOT_AVAILABLE :{BLACK}Není dostupná žádná informace
STR_SAVELOAD_DETAIL_COMPANY_INDEX :{SILVER}{COMMA}: {WHITE}{STRING} STR_SAVELOAD_DETAIL_COMPANY_INDEX :{SILVER}{COMMA}: {WHITE}{STRING}
STR_SAVELOAD_DETAIL_GRFSTATUS :{SILVER}Grafiky: {WHITE}{STRING} STR_SAVELOAD_DETAIL_GRFSTATUS :{SILVER}Grafiky: {WHITE}{STRING}
STR_SAVELOAD_FILTER_TITLE :{BLACK}Filtr:
STR_SAVELOAD_OVERWRITE_TITLE :{WHITE}Přepsat soubor
STR_SAVELOAD_OSKTITLE :{BLACK}Zadej jméno pro uloženou hru STR_SAVELOAD_OSKTITLE :{BLACK}Zadej jméno pro uloženou hru
@@ -2948,6 +2965,7 @@ STR_NEWGRF_SETTINGS_MIN_VERSION :{BLACK}Minimál
STR_NEWGRF_SETTINGS_MD5SUM :{BLACK}MD5sum: {SILVER}{STRING} STR_NEWGRF_SETTINGS_MD5SUM :{BLACK}MD5sum: {SILVER}{STRING}
STR_NEWGRF_SETTINGS_PALETTE :{BLACK}Paleta: {SILVER}{STRING} STR_NEWGRF_SETTINGS_PALETTE :{BLACK}Paleta: {SILVER}{STRING}
STR_NEWGRF_SETTINGS_PARAMETER :{BLACK}Parametry: {SILVER}{STRING} STR_NEWGRF_SETTINGS_PARAMETER :{BLACK}Parametry: {SILVER}{STRING}
STR_NEWGRF_SETTINGS_PARAMETER_NONE :Žádný
STR_NEWGRF_SETTINGS_NO_INFO :{BLACK}Informace nejsou k dispozici STR_NEWGRF_SETTINGS_NO_INFO :{BLACK}Informace nejsou k dispozici
STR_NEWGRF_SETTINGS_NOT_FOUND :{RED}Nenalezen odpovídající soubor STR_NEWGRF_SETTINGS_NOT_FOUND :{RED}Nenalezen odpovídající soubor
@@ -3201,6 +3219,7 @@ STR_SUBSIDIES_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Kliknut
# Story book window # Story book window
STR_STORY_BOOK_CAPTION :{WHITE}{COMPANY} Kniha příběhů STR_STORY_BOOK_CAPTION :{WHITE}{COMPANY} Kniha příběhů
STR_STORY_BOOK_SPECTATOR_CAPTION :{WHITE}Globální kniha příběhů STR_STORY_BOOK_SPECTATOR_CAPTION :{WHITE}Globální kniha příběhů
STR_STORY_BOOK_SPECTATOR :Globální kniha příběhů
STR_STORY_BOOK_TITLE :{YELLOW}{STRING} STR_STORY_BOOK_TITLE :{YELLOW}{STRING}
STR_STORY_BOOK_GENERIC_PAGE_ITEM :Strana {NUM} STR_STORY_BOOK_GENERIC_PAGE_ITEM :Strana {NUM}
STR_STORY_BOOK_SEL_PAGE_TOOLTIP :{BLACK}Skoč na určitou stranu vybranou v tomto seznamu STR_STORY_BOOK_SEL_PAGE_TOOLTIP :{BLACK}Skoč na určitou stranu vybranou v tomto seznamu
@@ -3405,6 +3424,7 @@ STR_INDUSTRY_VIEW_LOCATION_TOOLTIP :{BLACK}Vystřed
STR_INDUSTRY_VIEW_PRODUCTION_LEVEL :{BLACK}Produkce: {YELLOW}{COMMA}% STR_INDUSTRY_VIEW_PRODUCTION_LEVEL :{BLACK}Produkce: {YELLOW}{COMMA}%
STR_INDUSTRY_VIEW_INDUSTRY_ANNOUNCED_CLOSURE :{YELLOW}Průmysl oznámila blížící se uzavření! STR_INDUSTRY_VIEW_INDUSTRY_ANNOUNCED_CLOSURE :{YELLOW}Průmysl oznámila blížící se uzavření!
STR_INDUSTRY_VIEW_REQUIRES_N_CARGO :{BLACK}Vyžaduje: {YELLOW}{STRING}{STRING}
STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Vyžaduje: STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Vyžaduje:
STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING}{BLACK}{3:STRING} STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING}{BLACK}{3:STRING}
@@ -4339,7 +4359,6 @@ STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD :{WHITE}... tato
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... silnice je otočena jiným směrem STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... silnice je otočena jiným směrem
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... průjezdné zastávky nemohou být v zatáčce STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... průjezdné zastávky nemohou být v zatáčce
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... průjezdné zastávky nemohou být na křižovatce STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... průjezdné zastávky nemohou být na křižovatce
STR_ERROR_DRIVE_THROUGH_ON_ONEWAY_ROAD :{WHITE}... silnice je jednosměrná nebo uzavřená.
# Station destruction related errors # Station destruction related errors
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Nelze odstranit část stanice... STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Nelze odstranit část stanice...

View File

@@ -4317,7 +4317,6 @@ STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD :{WHITE}... denn
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... vejen peger i den forkerte retning STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... vejen peger i den forkerte retning
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... drive-through stops kan ikke have hjørner STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... drive-through stops kan ikke have hjørner
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... drive-through stops kan ikke have kryds STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... drive-through stops kan ikke have kryds
STR_ERROR_DRIVE_THROUGH_ON_ONEWAY_ROAD :{WHITE}vejen er ensrettet eller blokeret
# Station destruction related errors # Station destruction related errors
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Kan ikke fjerne en del af en station... STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Kan ikke fjerne en del af en station...

View File

@@ -98,7 +98,7 @@ STR_QUANTITY_NOTHING :
STR_QUANTITY_PASSENGERS :{COMMA}{NBSP}passagier{P "" s} STR_QUANTITY_PASSENGERS :{COMMA}{NBSP}passagier{P "" s}
STR_QUANTITY_COAL :{WEIGHT_LONG} kolen STR_QUANTITY_COAL :{WEIGHT_LONG} kolen
STR_QUANTITY_MAIL :{COMMA}{NBSP}zak{P "" ken} post STR_QUANTITY_MAIL :{COMMA}{NBSP}zak{P "" ken} post
STR_QUANTITY_OIL :{VOLUME_LONG} Vaten olie STR_QUANTITY_OIL :{VOLUME_LONG} vaten olie
STR_QUANTITY_LIVESTOCK :{COMMA}{NBSP}stuk{P "" s} vee STR_QUANTITY_LIVESTOCK :{COMMA}{NBSP}stuk{P "" s} vee
STR_QUANTITY_GOODS :{COMMA}{NBSP}krat{P "" ten} goederen STR_QUANTITY_GOODS :{COMMA}{NBSP}krat{P "" ten} goederen
STR_QUANTITY_GRAIN :{WEIGHT_LONG} graan STR_QUANTITY_GRAIN :{WEIGHT_LONG} graan
@@ -1860,7 +1860,7 @@ STR_LIVERY_PASSENGER_SHIP :Passagiersschip
STR_LIVERY_FREIGHT_SHIP :Vrachtschip STR_LIVERY_FREIGHT_SHIP :Vrachtschip
STR_LIVERY_HELICOPTER :Helikopter STR_LIVERY_HELICOPTER :Helikopter
STR_LIVERY_SMALL_PLANE :Klein vliegtuig STR_LIVERY_SMALL_PLANE :Klein vliegtuig
STR_LIVERY_LARGE_PLANE :Groot Vliegtuig STR_LIVERY_LARGE_PLANE :Groot vliegtuig
STR_LIVERY_PASSENGER_TRAM :Passagierstram STR_LIVERY_PASSENGER_TRAM :Passagierstram
STR_LIVERY_FREIGHT_TRAM :Vrachttram STR_LIVERY_FREIGHT_TRAM :Vrachttram
@@ -2412,7 +2412,7 @@ STR_BRIDGE_TUBULAR_SILICON :Buis, silicium
# Road construction toolbar # Road construction toolbar
STR_ROAD_TOOLBAR_ROAD_CONSTRUCTION_CAPTION :{WHITE}Wegen bouwen STR_ROAD_TOOLBAR_ROAD_CONSTRUCTION_CAPTION :{WHITE}Wegen bouwen
STR_ROAD_TOOLBAR_TRAM_CONSTRUCTION_CAPTION :{WHITE}Bouw tramsporen STR_ROAD_TOOLBAR_TRAM_CONSTRUCTION_CAPTION :{WHITE}Tramsporen bouwen
STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_SECTION :{BLACK}Weg bouwen. Ctrl schakelt tussen bouwen/verwijderen van de weg. Shift schakelt tussen bouwen/inschatting van de kosten. STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_SECTION :{BLACK}Weg bouwen. Ctrl schakelt tussen bouwen/verwijderen van de weg. Shift schakelt tussen bouwen/inschatting van de kosten.
STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_SECTION :{BLACK}Bouw tramsporen. Ctrl schakelt tussen bouwen/verwijderen van tramsporen. Shift schakelt tussen bouwen/inschatting van de kosten STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_SECTION :{BLACK}Bouw tramsporen. Ctrl schakelt tussen bouwen/verwijderen van tramsporen. Shift schakelt tussen bouwen/inschatting van de kosten
STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOROAD :{BLACK}Wegen bouwen met de automatische methode. Ctrl schakelt tussen bouwen/verwijderen van de weg. Shift schakelt tussen bouwen/inschatting van de kosten. STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOROAD :{BLACK}Wegen bouwen met de automatische methode. Ctrl schakelt tussen bouwen/verwijderen van de weg. Shift schakelt tussen bouwen/inschatting van de kosten.
@@ -2856,7 +2856,7 @@ STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_QUERY_CAPT :{WHITE}Verander
# Map generation progress # Map generation progress
STR_GENERATION_WORLD :{WHITE}Bezig met wereldontwikkeling... STR_GENERATION_WORLD :{WHITE}Bezig met wereldontwikkeling...
STR_GENERATION_ABORT :{BLACK}Stop STR_GENERATION_ABORT :{BLACK}Stop
STR_GENERATION_ABORT_CAPTION :{WHITE}Stop Wereldontwikkeling STR_GENERATION_ABORT_CAPTION :{WHITE}Wereldontwikkeling stoppen
STR_GENERATION_ABORT_MESSAGE :{YELLOW}Weet je zeker dat je de actie wilt stoppen? STR_GENERATION_ABORT_MESSAGE :{YELLOW}Weet je zeker dat je de actie wilt stoppen?
STR_GENERATION_PROGRESS :{WHITE}{NUM}% compleet STR_GENERATION_PROGRESS :{WHITE}{NUM}% compleet
STR_GENERATION_PROGRESS_NUM :{BLACK}{NUM} / {NUM} STR_GENERATION_PROGRESS_NUM :{BLACK}{NUM} / {NUM}
@@ -3117,7 +3117,7 @@ STR_LOCAL_AUTHORITY_ACTION_BRIBE :Gemeentebestuur
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_SMALL_ADVERTISING :{YELLOW}Begin een kleine reclamecampagne om meer passagiers en vracht naar jouw transportdiensten te trekken.{}Kosten: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_SMALL_ADVERTISING :{YELLOW}Begin een kleine reclamecampagne om meer passagiers en vracht naar jouw transportdiensten te trekken.{}Kosten: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :{YELLOW}Begin een middelgrote reclamecampagne om meer passagiers en vracht naar jouw transportdiensten te trekken.{}Kosten: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :{YELLOW}Begin een middelgrote reclamecampagne om meer passagiers en vracht naar jouw transportdiensten te trekken.{}Kosten: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{YELLOW}Begin een grote reclamecampagne om meer passagiers en vracht naar jouw transportdiensten te trekken.{}Kosten: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{YELLOW}Begin een grote reclamecampagne om meer passagiers en vracht naar jouw transportdiensten te trekken.{}Kosten: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION :{YELLOW}Financier een herstelling van het wegennetwerk. Veroorzaakt tot 6 maanden lang een aanzienlijke verstoring van het wegverkeer.{}Kosten: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION :{YELLOW}Financier een reconstructie van het wegennetwerk. Veroorzaakt tot 6 maanden lang een aanzienlijke verstoring van het wegverkeer.{}Kosten: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{YELLOW}Een standbeeld bouwen ter ere van jouw bedrijf.{}Kosten: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{YELLOW}Een standbeeld bouwen ter ere van jouw bedrijf.{}Kosten: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{YELLOW}De bouw van nieuwe commerciële gebouwen in de stad financieren.{}Kosten: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{YELLOW}De bouw van nieuwe commerciële gebouwen in de stad financieren.{}Kosten: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT :{YELLOW}1 jaar exclusieve transportrechten kopen in deze plaats. Het gemeentebestuur staat alleen passagiers en vracht toe bij jouw stations.{}Kosten: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT :{YELLOW}1 jaar exclusieve transportrechten kopen in deze plaats. Het gemeentebestuur staat alleen passagiers en vracht toe bij jouw stations.{}Kosten: {CURRENCY_LONG}
@@ -4023,7 +4023,7 @@ STR_TIMETABLE_WAIT_TIME_TOOLTIP :{BLACK}Verander
STR_TIMETABLE_CLEAR_TIME :{BLACK}Tijd wissen STR_TIMETABLE_CLEAR_TIME :{BLACK}Tijd wissen
STR_TIMETABLE_CLEAR_TIME_TOOLTIP :{BLACK}Verwijder de tijdsduur die de geselecteerde order mag duren STR_TIMETABLE_CLEAR_TIME_TOOLTIP :{BLACK}Verwijder de tijdsduur die de geselecteerde order mag duren
STR_TIMETABLE_CHANGE_SPEED :{BLACK}Wijzig Maximumsnelheid STR_TIMETABLE_CHANGE_SPEED :{BLACK}Maximumsnelheid wijzigen
STR_TIMETABLE_CHANGE_SPEED_TOOLTIP :{BLACK}Wijzig de maximumsnelheid voor de gekozen order STR_TIMETABLE_CHANGE_SPEED_TOOLTIP :{BLACK}Wijzig de maximumsnelheid voor de gekozen order
STR_TIMETABLE_CLEAR_SPEED :{BLACK}Snelheidslimiet wissen STR_TIMETABLE_CLEAR_SPEED :{BLACK}Snelheidslimiet wissen
@@ -4317,7 +4317,6 @@ STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD :{WHITE}... deze
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... weg is in de verkeerde richting STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... weg is in de verkeerde richting
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... doorrij haltes kunnen geen bochten hebben STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... doorrij haltes kunnen geen bochten hebben
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... doorrij haltes kunnen geen kruisingen hebben STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... doorrij haltes kunnen geen kruisingen hebben
STR_ERROR_DRIVE_THROUGH_ON_ONEWAY_ROAD :{WHITE}... weg is eenrichtingsverkeer of geblokkeerd
# Station destruction related errors # Station destruction related errors
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Kan deel van station niet verwijderen... STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Kan deel van station niet verwijderen...
@@ -5070,3 +5069,39 @@ STR_SHIP :{BLACK}{SHIP}
STR_TOOLBAR_RAILTYPE_VELOCITY :{STRING} ({VELOCITY}) STR_TOOLBAR_RAILTYPE_VELOCITY :{STRING} ({VELOCITY})
# Android strings # Android strings
STR_ABOUT_MENU_TUTORIAL :{BLACK}Studieles
STR_SMALLMAP_TOOLTIP_SHOW_LEGEND :{BLACK}Kaartlegenda weergeven / beschrijving van kaartpictogrammen
STR_CONFIG_SETTING_VERTICAL_TOOLBAR :Verticale werkbalk: {STRING}
STR_CONFIG_SETTING_VERTICAL_TOOLBAR_HELPTEXT :De hoofdwerkbalk is onderverdeeld in twee verticale werkbalken aan de zijkanten van het scherm
STR_CONFIG_SETTING_COMPACT_VERTICAL_TOOLBAR :Compacte verticale werkblak: {STRING}
STR_CONFIG_SETTING_COMPACT_VERTICAL_TOOLBAR_HELPTEXT :Geen knop 'Werkbalk wisselen' in de verticale werkbalk, maar meer submenu's
STR_CONFIG_SETTING_BUTTON_SIZE :{BLACK}Knopgrootte
STR_CONFIG_SETTING_BUTTON_SIZE_TOOLTIP :{BLACK}Grootte van alle bedieningselementen
STR_CONFIG_SETTING_FONT_SIZE :{BLACK}Lettertypegrootte
STR_CONFIG_SETTING_FONT_SIZE_TOOLTIP :{BLACK}Grootte van alle spellettertypen
STR_CONFIG_SETTING_BUILD_CONFIRMATION :Handelingen bevestigen: {STRING}
STR_CONFIG_SETTING_BUILD_CONFIRMATION_HELPTEXT :Bevestigingsdialoogvenster weergeven bij het bouwen van wegen en stations
STR_CONFIG_SETTING_WINDOWS_TITLEBARS :{BLACK}Titelbalken
STR_CONFIG_SETTING_WINDOWS_TITLEBARS_HELPTEXT :{BLACK}Titelbalken op alle vensters weergeven of verbergen om ruimte te besparen
STR_CONFIG_SETTING_WINDOWS_DECORATIONS :Vensterdecoraties: {STRING}
STR_CONFIG_SETTING_WINDOWS_DECORATIONS_HELPTEXT :Versieringen op de vensterranden
STR_CONFIG_SETTING_VIDEO_8BPP :{BLACK}8 bits
STR_CONFIG_SETTING_VIDEO_8BPP_HELPTEXT :{BLACK}Stel de video-kleurdiepte in op 8 bits per pixel, deze videomodus ondersteunt bewegend water
STR_CONFIG_SETTING_VIDEO_16BPP :{BLACK}16 bits
STR_CONFIG_SETTING_VIDEO_16BPP_HELPTEXT :{BLACK}Stel de video-kleurdiepte in op 16 bits per pixel, herstart noodzakelijk, deze videomodus ondersteunt geen bewegend water
STR_CONFIG_SETTING_VIDEO_24BPP :{BLACK}24 bits
STR_CONFIG_SETTING_VIDEO_24BPP_HELPTEXT :{BLACK}Stel de video-kleurdiepte in op 24 bits per pixel, deze videomodus ondersteunt bewegend water
STR_TABLET_CLOSE_TOOLTIP :{BLACK}Alle open vensters sluiten (behalve vastgezette)
STR_TABLET_SHIFT_TOOLTIP :{BLACK}Druk hierop voor een schatting van de kosten van een handeling
STR_TABLET_CTRL_TOOLTIP :{BLACK}Gebruik dit voor handelingen waarvoor de toets 'CTRL' wordt gebruikt
STR_TUTORIAL_WINDOW_TITLE :{BLACK}Studievideo's
STR_TUTORIAL_WINDOW_TOOLTIP :{BLACK}Een videospeler openen om studievideo's te bekijken
STR_TUTORIAL_ROADS_AND_STATIONS :{BLACK}Wegen en stations bouwen, voertuigen kopen
STR_TUTORIAL_RAILWAYS :{BLACK}Spoorwegen en treinen
STR_TUTORIAL_ROAD_VEHICLES :{BLACK}Wegvoertuigen
STR_TUTORIAL_SHIPS :{BLACK}Schepen en dokken
STR_TUTORIAL_CARGO :{BLACK}Typen vracht
STR_SAVELOAD_LOAD_NETWORK_BUTTON :{BLACK}Laden vanaf netwerk
STR_SAVELOAD_LOAD_NETWORK_TOOLTIP :{BLACK}Een spel laden uit de netwerkopslag
STR_SAVELOAD_SAVE_NETWORK_BUTTON :{BLACK}Opslaan naar netwerk
STR_SAVELOAD_SAVE_NETWORK_TOOLTIP :{BLACK}Reservekopie van het spel maken op de netwerkopslag

View File

@@ -1155,7 +1155,7 @@ STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Maximum amount
STR_CONFIG_SETTING_INTEREST_RATE :Interest rate: {STRING2} STR_CONFIG_SETTING_INTEREST_RATE :Interest rate: {STRING2}
STR_CONFIG_SETTING_INTEREST_RATE_HELPTEXT :Loan interest rate; also controls inflation, if enabled STR_CONFIG_SETTING_INTEREST_RATE_HELPTEXT :Loan interest rate; also controls inflation, if enabled
STR_CONFIG_SETTING_RUNNING_COSTS :Running costs: {STRING2} STR_CONFIG_SETTING_RUNNING_COSTS :Running costs: {STRING2}
STR_CONFIG_SETTING_RUNNING_COSTS_HELPTEXT :Set level of maintainance and running costs of vehicles and infrastructure STR_CONFIG_SETTING_RUNNING_COSTS_HELPTEXT :Set level of maintenance and running costs of vehicles and infrastructure
STR_CONFIG_SETTING_CONSTRUCTION_SPEED :Construction speed: {STRING2} STR_CONFIG_SETTING_CONSTRUCTION_SPEED :Construction speed: {STRING2}
STR_CONFIG_SETTING_CONSTRUCTION_SPEED_HELPTEXT :Limit the amount of construction actions for AIs STR_CONFIG_SETTING_CONSTRUCTION_SPEED_HELPTEXT :Limit the amount of construction actions for AIs
STR_CONFIG_SETTING_VEHICLE_BREAKDOWNS :Vehicle breakdowns: {STRING2} STR_CONFIG_SETTING_VEHICLE_BREAKDOWNS :Vehicle breakdowns: {STRING2}
@@ -4352,7 +4352,6 @@ STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD :{WHITE}... this
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... road facing in the wrong direction STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... road facing in the wrong direction
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... drive through stops can't have corners STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... drive through stops can't have corners
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... drive through stops can't have junctions STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... drive through stops can't have junctions
STR_ERROR_DRIVE_THROUGH_ON_ONEWAY_ROAD :{WHITE}... road is one way or blocked
# Station destruction related errors # Station destruction related errors
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Can't remove part of station... STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Can't remove part of station...

View File

@@ -1159,7 +1159,7 @@ STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT :Maximum amount
STR_CONFIG_SETTING_INTEREST_RATE :Interest rate: {STRING} STR_CONFIG_SETTING_INTEREST_RATE :Interest rate: {STRING}
STR_CONFIG_SETTING_INTEREST_RATE_HELPTEXT :Loan interest rate; also controls inflation, if enabled STR_CONFIG_SETTING_INTEREST_RATE_HELPTEXT :Loan interest rate; also controls inflation, if enabled
STR_CONFIG_SETTING_RUNNING_COSTS :Running costs: {STRING} STR_CONFIG_SETTING_RUNNING_COSTS :Running costs: {STRING}
STR_CONFIG_SETTING_RUNNING_COSTS_HELPTEXT :Set level of maintainance and running costs of vehicles and infrastructure STR_CONFIG_SETTING_RUNNING_COSTS_HELPTEXT :Set level of maintenance and running costs of vehicles and infrastructure
STR_CONFIG_SETTING_CONSTRUCTION_SPEED :Construction speed: {STRING} STR_CONFIG_SETTING_CONSTRUCTION_SPEED :Construction speed: {STRING}
STR_CONFIG_SETTING_CONSTRUCTION_SPEED_HELPTEXT :Limit the amount of construction actions for AIs STR_CONFIG_SETTING_CONSTRUCTION_SPEED_HELPTEXT :Limit the amount of construction actions for AIs
STR_CONFIG_SETTING_VEHICLE_BREAKDOWNS :Vehicle breakdowns: {STRING} STR_CONFIG_SETTING_VEHICLE_BREAKDOWNS :Vehicle breakdowns: {STRING}
@@ -1648,7 +1648,7 @@ STR_CONFIG_SETTING_DEMAND_DISTANCE_HELPTEXT :If you set this
STR_CONFIG_SETTING_DEMAND_SIZE :Amount of returning cargo for symmetric mode: {STRING} STR_CONFIG_SETTING_DEMAND_SIZE :Amount of returning cargo for symmetric mode: {STRING}
STR_CONFIG_SETTING_DEMAND_SIZE_HELPTEXT :Setting this to less than 100% makes the symmetric distribution behave more like the asymmetric one. Less cargo will be forcibly sent back if a certain amount is sent to a station. If you set it to 0% the symmetric distribution behaves just like the asymmetric one. STR_CONFIG_SETTING_DEMAND_SIZE_HELPTEXT :Setting this to less than 100% makes the symmetric distribution behave more like the asymmetric one. Less cargo will be forcibly sent back if a certain amount is sent to a station. If you set it to 0% the symmetric distribution behaves just like the asymmetric one.
STR_CONFIG_SETTING_SHORT_PATH_SATURATION :Saturation of short paths before using high-capacity paths: {STRING} STR_CONFIG_SETTING_SHORT_PATH_SATURATION :Saturation of short paths before using high-capacity paths: {STRING}
STR_CONFIG_SETTING_SHORT_PATH_SATURATION_HELPTEXT :Frequently there are multiple paths between two given stations. Cargodist will saturate the shortest path first, then use the second shortest path until that is saturated and so on. Saturation is determined by an estimation of capacity and planned usage. Once it has saturated all paths, if there is still demand left, it will overload all paths, prefering the ones with high capacity. Most of the time the algorithm will not estimate the capacity accurately, though. This setting allows you to specify up to which percentage a shorter path must be saturated in the first pass before choosing the next longer one. Set it to less than 100% to avoid overcrowded stations in case of overestimated capacity. STR_CONFIG_SETTING_SHORT_PATH_SATURATION_HELPTEXT :Frequently there are multiple paths between two given stations. Cargodist will saturate the shortest path first, then use the second shortest path until that is saturated and so on. Saturation is determined by an estimation of capacity and planned usage. Once it has saturated all paths, if there is still demand left, it will overload all paths, preferring the ones with high capacity. Most of the time the algorithm will not estimate the capacity accurately, though. This setting allows you to specify up to which percentage a shorter path must be saturated in the first pass before choosing the next longer one. Set it to less than 100% to avoid overcrowded stations in case of overestimated capacity.
STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY :Speed units: {STRING} STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY :Speed units: {STRING}
STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_HELPTEXT :Whenever a speed is shown in the user interface, show it in the selected units STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_HELPTEXT :Whenever a speed is shown in the user interface, show it in the selected units
@@ -4317,7 +4317,6 @@ STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD :{WHITE}... this
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... road facing in the wrong direction STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... road facing in the wrong direction
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... drive through stops can't have corners STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... drive through stops can't have corners
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... drive through stops can't have junctions STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... drive through stops can't have junctions
STR_ERROR_DRIVE_THROUGH_ON_ONEWAY_ROAD :{WHITE}... road is one way or blocked
# Station destruction related errors # Station destruction related errors
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Can't remove part of station... STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Can't remove part of station...

View File

@@ -4284,7 +4284,6 @@ STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD :{WHITE}... see
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... tee on vales suunas STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... tee on vales suunas
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... nurgad ei saa läbisõidupeatustes olla STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... nurgad ei saa läbisõidupeatustes olla
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... ristmikud ei saa olla läbisõidupeatustes STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... ristmikud ei saa olla läbisõidupeatustes
STR_ERROR_DRIVE_THROUGH_ON_ONEWAY_ROAD :{WHITE}... tee on ühesuunaline või blokeeritud
# Station destruction related errors # Station destruction related errors
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Siinset jaamablokki ei saa lammutada... STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Siinset jaamablokki ei saa lammutada...

View File

@@ -4317,7 +4317,6 @@ STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD :{WHITE}... kunt
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... tie on väärin päin STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... tie on väärin päin
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... läpiajettavissa pysäkeissä ei voi olla mutkia STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... läpiajettavissa pysäkeissä ei voi olla mutkia
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... läpiajettavissa pysäkeissä ei voi olla risteyksiä STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... läpiajettavissa pysäkeissä ei voi olla risteyksiä
STR_ERROR_DRIVE_THROUGH_ON_ONEWAY_ROAD :{WHITE}... tie on yksisuuntainen tai suljettu
# Station destruction related errors # Station destruction related errors
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Aseman osaa ei voi poistaa... STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Aseman osaa ei voi poistaa...

View File

@@ -3025,13 +3025,14 @@ STR_NEWGRF_LIST_MISSING :{RED}Modules ma
STR_NEWGRF_BROKEN :{WHITE}Le comportement du NewGRF "{0:STRING}" peut provoquer des erreurs de synchronisation et/ou des plantages STR_NEWGRF_BROKEN :{WHITE}Le comportement du NewGRF "{0:STRING}" peut provoquer des erreurs de synchronisation et/ou des plantages
STR_NEWGRF_BROKEN_POWERED_WAGON :{WHITE}Il a modifié l'état de wagon motorisé pour "{1:ENGINE}" en dehors du dépôt STR_NEWGRF_BROKEN_POWERED_WAGON :{WHITE}Il a modifié l'état de wagon motorisé pour "{1:ENGINE}" en dehors du dépôt
STR_NEWGRF_BROKEN_VEHICLE_LENGTH :{WHITE}Il a modifié la longueur de véhicule pour "{1:ENGINE}" en dehors du dépôt STR_NEWGRF_BROKEN_VEHICLE_LENGTH :{WHITE}Il a modifié la longueur de véhicule pour "{1:ENGINE}" en dehors du dépôt
STR_NEWGRF_BROKEN_CAPACITY :{WHITE}Il a changé la capacité pour '{1:ENGINE}' hors d'un dépôt ou d'un réaménagement STR_NEWGRF_BROKEN_CAPACITY :{WHITE}Il a changé la capacité pour "{1:ENGINE}" hors d'un dépôt ou d'un réaménagement
STR_BROKEN_VEHICLE_LENGTH :{WHITE}Le train "{VEHICLE}" appartenant à "{COMPANY}" a une longueur invalide. Cela est probablement dû à des problèmes avec des NewGRFs, et peut provoquer des erreurs de synchronisation ou planter le jeu. STR_BROKEN_VEHICLE_LENGTH :{WHITE}Le train "{VEHICLE}" appartenant à "{COMPANY}" a une longueur invalide. Cela est probablement dû à des problèmes avec des NewGRFs, et peut provoquer des erreurs de synchronisation ou planter le jeu.
STR_NEWGRF_BUGGY :{WHITE}Le module NewGRF "{0:STRING}" fournit une information incorrecte STR_NEWGRF_BUGGY :{WHITE}Le module NewGRF "{0:STRING}" fournit une information incorrecte
STR_NEWGRF_BUGGY_ARTICULATED_CARGO :{WHITE}Les informations de cargaison/réaménagement pour "{1:ENGINE}" après sa construction sont différentes de celles de la liste d'achat. Cela peut causer un échec de réaménagement lors de l'auto-renouvellement/remplacement. STR_NEWGRF_BUGGY_ARTICULATED_CARGO :{WHITE}Les informations de cargaison/réaménagement pour "{1:ENGINE}" après sa construction sont différentes de celles de la liste d'achat. Cela peut causer un échec de réaménagement lors de l'auto-renouvellement/remplacement.
STR_NEWGRF_BUGGY_ENDLESS_PRODUCTION_CALLBACK :{WHITE}"{1:STRING}" a causé une boucle infinie dans la fonction de rappel de production STR_NEWGRF_BUGGY_ENDLESS_PRODUCTION_CALLBACK :{WHITE}"{1:STRING}" a causé une boucle infinie dans la fonction de rappel de production
STR_NEWGRF_BUGGY_UNKNOWN_CALLBACK_RESULT :{WHITE}Callback {1:HEX} a retourné un résultat invalide {2:HEX} STR_NEWGRF_BUGGY_UNKNOWN_CALLBACK_RESULT :{WHITE}La fonction de rappel {1:HEX} a retourné un résultat invalide {2:HEX}
STR_NEWGRF_BUGGY_INVALID_CARGO_PRODUCTION_CALLBACK :{WHITE}"{1:STRING}" a renvoyé un type de cargaison invalide dans la fonction de rappel de production à {2:HEX}
# 'User removed essential NewGRFs'-placeholders for stuff without specs # 'User removed essential NewGRFs'-placeholders for stuff without specs
STR_NEWGRF_INVALID_CARGO :<marchandise invalide> STR_NEWGRF_INVALID_CARGO :<marchandise invalide>
@@ -4317,7 +4318,6 @@ STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD :{WHITE}... cett
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... mauvaise orientation de la route STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... mauvaise orientation de la route
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... les arrêts ne peuvent pas avoir de virages STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... les arrêts ne peuvent pas avoir de virages
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... les arrêts ne peuvent pas avoir de jonctions STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... les arrêts ne peuvent pas avoir de jonctions
STR_ERROR_DRIVE_THROUGH_ON_ONEWAY_ROAD :{WHITE}... la route est à sens unique ou bloquée
# Station destruction related errors # Station destruction related errors
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Impossible de supprimer une partie de la gare... STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Impossible de supprimer une partie de la gare...

View File

@@ -4496,7 +4496,6 @@ STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD :{WHITE}... tha
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... tha comhair an rathaid cearr STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... tha comhair an rathaid cearr
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... chan urrainn dha dhoiseanan a bhith aig stèiseanan draibhidh troimhe STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... chan urrainn dha dhoiseanan a bhith aig stèiseanan draibhidh troimhe
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... chan urrainn dha ghoibhlean a bhith aig stèiseanan draibhidh troimhe STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... chan urrainn dha ghoibhlean a bhith aig stèiseanan draibhidh troimhe
STR_ERROR_DRIVE_THROUGH_ON_ONEWAY_ROAD :{WHITE}... rathad aon-shligheach no bacte
# Station destruction related errors # Station destruction related errors
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Cha ghabh pàirt dhen stèisean toirt air falbh... STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Cha ghabh pàirt dhen stèisean toirt air falbh...

View File

@@ -4302,7 +4302,6 @@ STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD :{WHITE}... dies
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... Straße verläuft in die falsche Richtung STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... Straße verläuft in die falsche Richtung
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... Bus- und Lkw-Haltestellen können nicht um die Kurve gehen STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... Bus- und Lkw-Haltestellen können nicht um die Kurve gehen
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... Bus- und Lkw-Haltestellen können keine Abzweigung haben STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... Bus- und Lkw-Haltestellen können keine Abzweigung haben
STR_ERROR_DRIVE_THROUGH_ON_ONEWAY_ROAD :{WHITE}...Einbahnstraße oder blockierter Weg
# Station destruction related errors # Station destruction related errors
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Dieser Teil der Station kann nicht entfernt werden... STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Dieser Teil der Station kann nicht entfernt werden...

View File

@@ -4430,7 +4430,6 @@ STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD :{WHITE}... αυ
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... ο δρόμος βλέπει σε λάθος κατεύθυνση STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... ο δρόμος βλέπει σε λάθος κατεύθυνση
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... οι μη τερματικοί σταθμοί δε μπορούν να έχουν στροφές STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... οι μη τερματικοί σταθμοί δε μπορούν να έχουν στροφές
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... οι μη τερματικοί σταθμοί δε μπορούν να έχουν διασταυρώσεις STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... οι μη τερματικοί σταθμοί δε μπορούν να έχουν διασταυρώσεις
STR_ERROR_DRIVE_THROUGH_ON_ONEWAY_ROAD :{WHITE}... ο δρόμος είναι μονόδρομος η μπλοκαρισμένος
# Station destruction related errors # Station destruction related errors
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Δεν μπορεί να αφαιρεθεί μέρος του σταθμού... STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Δεν μπορεί να αφαιρεθεί μέρος του σταθμού...

View File

@@ -4275,7 +4275,6 @@ STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD :{WHITE}... כב
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}הכביש פונה לכיוון לא נכון... STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}הכביש פונה לכיוון לא נכון...
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... לתחנות "על הדרך" לא יכולות להיות פינות STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... לתחנות "על הדרך" לא יכולות להיות פינות
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... לתחנות "על הדרך" לא יכולות להיות צמתים STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... לתחנות "על הדרך" לא יכולות להיות צמתים
STR_ERROR_DRIVE_THROUGH_ON_ONEWAY_ROAD :{WHITE}... הדרך חד כיוונית או חסומה
# Station destruction related errors # Station destruction related errors
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}... לא ניתן לבטל חלק מהתחנה STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}... לא ניתן לבטל חלק מהתחנה

View File

@@ -4381,7 +4381,6 @@ STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD :{WHITE}... ez e
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... az út a másik irányba vezet STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... az út a másik irányba vezet
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... áthaladó megállóhelyeken nem lehet kanyar STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... áthaladó megállóhelyeken nem lehet kanyar
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... áthaladó megállóhelyeken nem lehet elágazás STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... áthaladó megállóhelyeken nem lehet elágazás
STR_ERROR_DRIVE_THROUGH_ON_ONEWAY_ROAD :{WHITE}... az út egyirányú vagy blokkolt
# Station destruction related errors # Station destruction related errors
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Nem lehet eltávolítani az állomás részét... STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Nem lehet eltávolítani az állomás részét...

View File

@@ -464,6 +464,7 @@ STR_TOOLBAR_SOUND_MUSIC :Suara/musik
############ range for message menu starts ############ range for message menu starts
STR_NEWS_MENU_LAST_MESSAGE_NEWS_REPORT :Pesan/Berita terakhir STR_NEWS_MENU_LAST_MESSAGE_NEWS_REPORT :Pesan/Berita terakhir
STR_NEWS_MENU_MESSAGE_HISTORY_MENU :Berita Lampau STR_NEWS_MENU_MESSAGE_HISTORY_MENU :Berita Lampau
STR_NEWS_MENU_DELETE_ALL_MESSAGES :Hapus semua pesan
############ range ends here ############ range ends here
############ range for about menu starts ############ range for about menu starts
@@ -475,6 +476,7 @@ STR_ABOUT_MENU_SCREENSHOT :Ambil gambar
STR_ABOUT_MENU_ZOOMIN_SCREENSHOT :Ambil gambar dengan diperbesar STR_ABOUT_MENU_ZOOMIN_SCREENSHOT :Ambil gambar dengan diperbesar
STR_ABOUT_MENU_DEFAULTZOOM_SCREENSHOT :Ambil gambar dengan perbesaran normal STR_ABOUT_MENU_DEFAULTZOOM_SCREENSHOT :Ambil gambar dengan perbesaran normal
STR_ABOUT_MENU_GIANT_SCREENSHOT :Ambil gambar keseluruhan peta STR_ABOUT_MENU_GIANT_SCREENSHOT :Ambil gambar keseluruhan peta
STR_ABOUT_MENU_SHOW_FRAMERATE :Tampilkan laju bingkai
STR_ABOUT_MENU_ABOUT_OPENTTD :Tentang 'OpenTTD' STR_ABOUT_MENU_ABOUT_OPENTTD :Tentang 'OpenTTD'
STR_ABOUT_MENU_SPRITE_ALIGNER :Penjajar Sprite STR_ABOUT_MENU_SPRITE_ALIGNER :Penjajar Sprite
STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Hidup/Matikan kotak batas STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Hidup/Matikan kotak batas
@@ -989,7 +991,10 @@ STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Normal
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Kali dua STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Kali dua
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Kali empat STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Kali empat
STR_GAME_OPTIONS_FONT_ZOOM :{BLACK}Ukuran font
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Normal
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :4 kali
STR_GAME_OPTIONS_BASE_GRF :{BLACK}Set Grafik Dasar STR_GAME_OPTIONS_BASE_GRF :{BLACK}Set Grafik Dasar
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Pilih grafik dasar yang digunakan STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Pilih grafik dasar yang digunakan
@@ -1221,7 +1226,7 @@ STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT :Tujuan baru sta
STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT_HELPTEXT :Biasanya, kendaraan akan berhenti di setiap stasiun yang di lewati. Dengan mengaktifkan pengaturan ini, maka kendaraan akan melewati semua stasiun dalam perjalanan ke tujuan akhir. Perhatikan, bahwa pengaturan ini hanya mendefinisikan nilai default. Perintah individu dapat diatur STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT_HELPTEXT :Biasanya, kendaraan akan berhenti di setiap stasiun yang di lewati. Dengan mengaktifkan pengaturan ini, maka kendaraan akan melewati semua stasiun dalam perjalanan ke tujuan akhir. Perhatikan, bahwa pengaturan ini hanya mendefinisikan nilai default. Perintah individu dapat diatur
STR_CONFIG_SETTING_STOP_LOCATION :Order kereta yang baru aslinya berhenti {STRING} dari stasiun STR_CONFIG_SETTING_STOP_LOCATION :Order kereta yang baru aslinya berhenti {STRING} dari stasiun
STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT :Tempat kereta akan berhenti di peron stasiun. 'Dekat akhir' berarti dekat dengan titik masuk, 'tengah' berarti di tengah-tengah peron, dan 'jauh dari akhir' berarti jauh dari titik masuk STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT :Tempat kereta akan berhenti di peron stasiun. 'Dekat akhir' berarti dekat dengan titik masuk, 'tengah' berarti di tengah-tengah peron, dan 'jauh dari akhir' berarti jauh dari titik masuk
STR_CONFIG_SETTING_STOP_LOCATION_NEAR_END :hampir selesai STR_CONFIG_SETTING_STOP_LOCATION_NEAR_END :tepi terdekat
STR_CONFIG_SETTING_STOP_LOCATION_MIDDLE :tengah STR_CONFIG_SETTING_STOP_LOCATION_MIDDLE :tengah
STR_CONFIG_SETTING_STOP_LOCATION_FAR_END :jauh di belakang STR_CONFIG_SETTING_STOP_LOCATION_FAR_END :jauh di belakang
STR_CONFIG_SETTING_AUTOSCROLL :Geser tampilan saat mouse ada di tepi: {STRING} STR_CONFIG_SETTING_AUTOSCROLL :Geser tampilan saat mouse ada di tepi: {STRING}
@@ -1258,6 +1263,7 @@ STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}Tidak di
STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :Pemeliharaan Infrastruktur: {STRING} STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :Pemeliharaan Infrastruktur: {STRING}
STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :Jika dinyalakan, infrastruktur membutuhkan biaya pemeliharaan. Biaya berkembang secara proporsional sesuai dengan ukuran jaringan, lebih berdampak pada perusahaan besar dari pada perusahaan kecil STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :Jika dinyalakan, infrastruktur membutuhkan biaya pemeliharaan. Biaya berkembang secara proporsional sesuai dengan ukuran jaringan, lebih berdampak pada perusahaan besar dari pada perusahaan kecil
STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_HELPTEXT :Pilih warna awal perusahaan
STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS :Bandara tidak kedaluarsa: {STRING} STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS :Bandara tidak kedaluarsa: {STRING}
STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS_HELPTEXT :Menyalakan setelan ini membuat semua jenis bandara tetap ada selamanya sejak pendesainanya STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS_HELPTEXT :Menyalakan setelan ini membuat semua jenis bandara tetap ada selamanya sejak pendesainanya
@@ -1812,6 +1818,7 @@ STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}Ubah tah
STR_CHEAT_SETUP_PROD :{LTBLUE}Aktifkan modifikasi nilai produksi: {ORANGE}{STRING} STR_CHEAT_SETUP_PROD :{LTBLUE}Aktifkan modifikasi nilai produksi: {ORANGE}{STRING}
# Livery window # Livery window
STR_LIVERY_CAPTION :{WHITE}{COMPANY} - Skema Warna
STR_LIVERY_GENERAL_TOOLTIP :{BLACK}Tampilkan skema warna umum STR_LIVERY_GENERAL_TOOLTIP :{BLACK}Tampilkan skema warna umum
STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Tampilkan skema warna kereta STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Tampilkan skema warna kereta
@@ -2698,6 +2705,7 @@ STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD
# Framerate display window # Framerate display window
STR_FRAMERATE_CAPTION_SMALL :{STRING}{WHITE} ({DECIMAL}x) STR_FRAMERATE_CAPTION_SMALL :{STRING}{WHITE} ({DECIMAL}x)
STR_FRAMERATE_RATE_GAMELOOP :{WHITE}Rata simulasi: {STRING} STR_FRAMERATE_RATE_GAMELOOP :{WHITE}Rata simulasi: {STRING}
STR_FRAMERATE_RATE_GAMELOOP_TOOLTIP :{BLACK}Jumlah detak permainan tersimulasi per detik.
STR_FRAMERATE_SPEED_FACTOR_TOOLTIP :{BLACK}Beberapa cepat permainan lagi berjalan, dibanding dengan kecepatan diharapkan memakai rata simulasi biasa. STR_FRAMERATE_SPEED_FACTOR_TOOLTIP :{BLACK}Beberapa cepat permainan lagi berjalan, dibanding dengan kecepatan diharapkan memakai rata simulasi biasa.
STR_FRAMERATE_CURRENT :{WHITE}Sekarang STR_FRAMERATE_CURRENT :{WHITE}Sekarang
STR_FRAMERATE_DATA_POINTS :{WHITE}Data tergantung oleh ukuran {COMMA} STR_FRAMERATE_DATA_POINTS :{WHITE}Data tergantung oleh ukuran {COMMA}
@@ -2714,6 +2722,7 @@ STR_FRAMERATE_GL_SHIPS :{WHITE} Titik k
STR_FRAMERATE_GL_AIRCRAFT :{WHITE} Titik pesawat: STR_FRAMERATE_GL_AIRCRAFT :{WHITE} Titik pesawat:
STR_FRAMERATE_GL_LANDSCAPE :{WHITE} Titik dunia: STR_FRAMERATE_GL_LANDSCAPE :{WHITE} Titik dunia:
STR_FRAMERATE_DRAWING_VIEWPORTS :{WHITE} Viewport dunia: STR_FRAMERATE_DRAWING_VIEWPORTS :{WHITE} Viewport dunia:
STR_FRAMERATE_VIDEO :{BLACK}Keluaran Video:
STR_FRAMERATE_SOUND :{WHITE}Mixing suara: STR_FRAMERATE_SOUND :{WHITE}Mixing suara:
############ End of leave-in-this-order ############ End of leave-in-this-order
############ Leave those lines in this order!! ############ Leave those lines in this order!!
@@ -2724,6 +2733,7 @@ STR_FRAMETIME_CAPTION_GL_SHIPS :Titik kapal
STR_FRAMETIME_CAPTION_GL_AIRCRAFT :Titik pesawat STR_FRAMETIME_CAPTION_GL_AIRCRAFT :Titik pesawat
STR_FRAMETIME_CAPTION_GL_LANDSCAPE :Titik dunia STR_FRAMETIME_CAPTION_GL_LANDSCAPE :Titik dunia
STR_FRAMETIME_CAPTION_SOUND :Mixing suara STR_FRAMETIME_CAPTION_SOUND :Mixing suara
STR_FRAMETIME_CAPTION_AI :AI {NUM} {STRING}
############ End of leave-in-this-order ############ End of leave-in-this-order
@@ -2913,6 +2923,7 @@ STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Sprite s
STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Lanjutkan ke sprite normal sebelumnya, lewati sembarang sprite bayangan/warna ulang/huruf dan pembungkus saat mulai STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Lanjutkan ke sprite normal sebelumnya, lewati sembarang sprite bayangan/warna ulang/huruf dan pembungkus saat mulai
STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Mewakili sprite yang sedang dipilih. Penjajaran diabaikan ketika sprite ini digambar STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Mewakili sprite yang sedang dipilih. Penjajaran diabaikan ketika sprite ini digambar
STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Pindahkan sprite, mengubah offset X dan Y STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Pindahkan sprite, mengubah offset X dan Y
STR_SPRITE_ALIGNER_RESET_BUTTON :{BLACK}Reset relatif
STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Pilih sprite STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Pilih sprite
STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Pilih sebuah sprite di manapun pada layar STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Pilih sebuah sprite di manapun pada layar
@@ -3146,11 +3157,11 @@ STR_STATION_VIEW_ACCEPTS_TOOLTIP :{BLACK}Tampilka
STR_STATION_VIEW_ACCEPTS_CARGO :{BLACK}Menerima: {WHITE}{CARGO_LIST} STR_STATION_VIEW_ACCEPTS_CARGO :{BLACK}Menerima: {WHITE}{CARGO_LIST}
STR_STATION_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}Stasiun memiliki hak transportasi eksklusif di kota ini STR_STATION_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}Stasiun memiliki hak transportasi eksklusif di kota ini
STR_STATION_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} beli hak transportasi eksklusif di kota ini STR_STATION_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} memiliki hak transportasi eksklusif di kota ini
STR_STATION_VIEW_RATINGS_BUTTON :{BLACK}Peringkat STR_STATION_VIEW_RATINGS_BUTTON :{BLACK}Peringkat
STR_STATION_VIEW_RATINGS_TOOLTIP :{BLACK}Tampilkna peringkat dari stasiun STR_STATION_VIEW_RATINGS_TOOLTIP :{BLACK}Tampilkna peringkat dari stasiun
STR_STATION_VIEW_SUPPLY_RATINGS_TITLE :{BLACK}Asupan bulanan dan penilaian tempatan: STR_STATION_VIEW_SUPPLY_RATINGS_TITLE :{BLACK}Asupan bulanan dan peringkat layanan:
STR_STATION_VIEW_CARGO_SUPPLY_RATING :{WHITE}{STRING}: {YELLOW}{COMMA} / {STRING} ({COMMA}%) STR_STATION_VIEW_CARGO_SUPPLY_RATING :{WHITE}{STRING}: {YELLOW}{COMMA} / {STRING} ({COMMA}%)
STR_STATION_VIEW_GROUP :{BLACK}Pengelompokkan STR_STATION_VIEW_GROUP :{BLACK}Pengelompokkan
@@ -4249,7 +4260,6 @@ STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD :{WHITE}... jala
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... menghadap pada arah yang salah STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... menghadap pada arah yang salah
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... terminal lintas-lalu tak bisa memiliki sudut STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... terminal lintas-lalu tak bisa memiliki sudut
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... terminal lintas-lalu tak bisa memiliki simpangan STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... terminal lintas-lalu tak bisa memiliki simpangan
STR_ERROR_DRIVE_THROUGH_ON_ONEWAY_ROAD :{WHITE}... jalannya satu arah atau terhalang
# Station destruction related errors # Station destruction related errors
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Tidak dapat menghapus bagian dari stasiun... STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Tidak dapat menghapus bagian dari stasiun...

View File

@@ -3492,8 +3492,8 @@ STR_BUY_VEHICLE_TRAIN_ELRAIL_CAPTION :Nuovi veicoli f
STR_BUY_VEHICLE_TRAIN_MONORAIL_CAPTION :Nuovi veicoli monorotaia STR_BUY_VEHICLE_TRAIN_MONORAIL_CAPTION :Nuovi veicoli monorotaia
STR_BUY_VEHICLE_TRAIN_MAGLEV_CAPTION :Nuovi veicoli maglev STR_BUY_VEHICLE_TRAIN_MAGLEV_CAPTION :Nuovi veicoli maglev
STR_BUY_VEHICLE_TRAIN_ALL_CAPTION :Veicoli ferroviari STR_BUY_VEHICLE_TRAIN_ALL_CAPTION :Nuovi veicoli ferroviari
STR_BUY_VEHICLE_ROAD_VEHICLE_CAPTION :Nuovi automezzi STR_BUY_VEHICLE_ROAD_VEHICLE_CAPTION :Nuovi veicoli stradali
STR_BUY_VEHICLE_SHIP_CAPTION :Nuove navi STR_BUY_VEHICLE_SHIP_CAPTION :Nuove navi
STR_BUY_VEHICLE_AIRCRAFT_CAPTION :Nuovo aeromobile STR_BUY_VEHICLE_AIRCRAFT_CAPTION :Nuovo aeromobile
@@ -3644,7 +3644,7 @@ STR_DEPOT_SELL_CONFIRMATION_TEXT :{YELLOW}Stai pe
STR_ENGINE_PREVIEW_CAPTION :{WHITE}Messaggio da un costruttore di veicoli STR_ENGINE_PREVIEW_CAPTION :{WHITE}Messaggio da un costruttore di veicoli
STR_ENGINE_PREVIEW_MESSAGE :{GOLD}Abbiamo appena progettato un{G "" "" a} nuov{G o o a} {STRING} - È interessato ad un anno di uso esclusivo di questo veicolo, in modo da permetterci di valutarne le prestazioni prima di renderlo disponibile sul mercato? STR_ENGINE_PREVIEW_MESSAGE :{GOLD}Abbiamo appena progettato un{G "" "" a} nuov{G o o a} {STRING} - È interessato ad un anno di uso esclusivo di questo veicolo, in modo da permetterci di valutarne le prestazioni prima di renderlo disponibile sul mercato?
STR_ENGINE_PREVIEW_RAILROAD_LOCOMOTIVE :{G=f}locomotiva STR_ENGINE_PREVIEW_RAILROAD_LOCOMOTIVE :{G=f}locomotiva
STR_ENGINE_PREVIEW_ROAD_VEHICLE :{G=m}automezzo STR_ENGINE_PREVIEW_ROAD_VEHICLE :{G=m}veicolo stradale
STR_ENGINE_PREVIEW_AIRCRAFT :{G=m}aeromobile STR_ENGINE_PREVIEW_AIRCRAFT :{G=m}aeromobile
STR_ENGINE_PREVIEW_SHIP :{G=f}nave STR_ENGINE_PREVIEW_SHIP :{G=f}nave
STR_ENGINE_PREVIEW_MONORAIL_LOCOMOTIVE :{G=f}motrice monorotaia STR_ENGINE_PREVIEW_MONORAIL_LOCOMOTIVE :{G=f}motrice monorotaia
@@ -4347,7 +4347,6 @@ STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD :{WHITE}... ques
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... strada rivolta nella direzione sbagliata STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... strada rivolta nella direzione sbagliata
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... le fermate passanti non possono trovarsi in curva STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... le fermate passanti non possono trovarsi in curva
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... le fermate passanti non possono avere raccordi STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... le fermate passanti non possono avere raccordi
STR_ERROR_DRIVE_THROUGH_ON_ONEWAY_ROAD :{WHITE}... la strada è bloccata o a senso unico
# Station destruction related errors # Station destruction related errors
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Impossibile rimuovere parte della stazione... STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Impossibile rimuovere parte della stazione...

File diff suppressed because it is too large Load Diff

View File

@@ -4479,7 +4479,6 @@ STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD :{WHITE}... via
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... viae directio non convenit STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... viae directio non convenit
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... stationi perviae non licet esse curva STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... stationi perviae non licet esse curva
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... stationi perviae non licet compita habere STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... stationi perviae non licet compita habere
STR_ERROR_DRIVE_THROUGH_ON_ONEWAY_ROAD :{WHITE}... via est monodromus vel obstructa
# Station destruction related errors # Station destruction related errors
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Non licet partem stationis removere... STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Non licet partem stationis removere...

View File

@@ -226,8 +226,8 @@ STR_UNITS_HEIGHT_METRIC :{COMMA}{NBSP}m
STR_UNITS_HEIGHT_SI :{COMMA}{NBSP}m STR_UNITS_HEIGHT_SI :{COMMA}{NBSP}m
# Common window strings # Common window strings
STR_LIST_FILTER_TITLE :{BLACK}Filter String: STR_LIST_FILTER_TITLE :{BLACK}Filter-String:
STR_LIST_FILTER_OSKTITLE :{BLACK}Filter String STR_LIST_FILTER_OSKTITLE :{BLACK}Filter-String
STR_LIST_FILTER_TOOLTIP :{BLACK}Filter d'Lëscht op e Wuert STR_LIST_FILTER_TOOLTIP :{BLACK}Filter d'Lëscht op e Wuert
STR_TOOLTIP_GROUP_ORDER :{BLACK}Wiel Gruppéierreihefollëg STR_TOOLTIP_GROUP_ORDER :{BLACK}Wiel Gruppéierreihefollëg
@@ -675,6 +675,7 @@ STR_MUSIC_TOOLTIP_TOGGLE_PROGRAM_SHUFFLE :{BLACK}Schalt d
STR_MUSIC_TOOLTIP_SHOW_MUSIC_TRACK_SELECTION :{BLACK}Weis d'Fënster fir Musik ze wielen STR_MUSIC_TOOLTIP_SHOW_MUSIC_TRACK_SELECTION :{BLACK}Weis d'Fënster fir Musik ze wielen
# Playlist window # Playlist window
STR_PLAYLIST_MUSIC_SELECTION_SETNAME :{WHITE}Musik-Programm - '{STRING}'
STR_PLAYLIST_TRACK_NAME :{TINY_FONT}{LTBLUE}{ZEROFILL_NUM} "{STRING}" STR_PLAYLIST_TRACK_NAME :{TINY_FONT}{LTBLUE}{ZEROFILL_NUM} "{STRING}"
STR_PLAYLIST_TRACK_INDEX :{TINY_FONT}{BLACK}Lidder Index STR_PLAYLIST_TRACK_INDEX :{TINY_FONT}{BLACK}Lidder Index
STR_PLAYLIST_PROGRAM :{TINY_FONT}{BLACK}Programm - '{STRING}' STR_PLAYLIST_PROGRAM :{TINY_FONT}{BLACK}Programm - '{STRING}'
@@ -995,6 +996,7 @@ STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Duebel
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Véierfach STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Véierfach
STR_GAME_OPTIONS_FONT_ZOOM :{BLACK}Schrëftgréisst STR_GAME_OPTIONS_FONT_ZOOM :{BLACK}Schrëftgréisst
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Wiel d'Interface-Schrëftgréisst aus
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Normal STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Normal
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Duebel Gréisst STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Duebel Gréisst
@@ -1355,6 +1357,7 @@ STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_VIOLET :Mof
STR_CONFIG_SETTING_SCROLLMODE :Usiicht-Scrollverhalen: {STRING} STR_CONFIG_SETTING_SCROLLMODE :Usiicht-Scrollverhalen: {STRING}
STR_CONFIG_SETTING_SCROLLMODE_HELPTEXT :Verhalen beim Scrolle vun der Kaart STR_CONFIG_SETTING_SCROLLMODE_HELPTEXT :Verhalen beim Scrolle vun der Kaart
STR_CONFIG_SETTING_SCROLLMODE_DEFAULT :D'Usiicht mat der rietser Maustast bewegen, Maus-Positioun gespaart STR_CONFIG_SETTING_SCROLLMODE_DEFAULT :D'Usiicht mat der rietser Maustast bewegen, Maus-Positioun gespaart
STR_CONFIG_SETTING_SCROLLMODE_RMB :D'Kaart mat der rietser Maustast bewegen
STR_CONFIG_SETTING_SCROLLMODE_LMB :Kaart mat der lénker Maustast bewegen STR_CONFIG_SETTING_SCROLLMODE_LMB :Kaart mat der lénker Maustast bewegen
STR_CONFIG_SETTING_SMOOTH_SCROLLING :Feine Scrolling: {STRING} STR_CONFIG_SETTING_SMOOTH_SCROLLING :Feine Scrolling: {STRING}
STR_CONFIG_SETTING_SMOOTH_SCROLLING_HELPTEXT :Kontrolléiert wéi d'Haptusiicht op eng bestëmmten Positioun scrollt, wann een op déi kléng Kaart klickt oder en Befehl fir ob en spezifescht Objet ze scrollen gëtt. Wann ugeschalt, gëtt bis dohin gescrollt, wann ausgeschalt, spréngt d'Vue op den Zielobjet STR_CONFIG_SETTING_SMOOTH_SCROLLING_HELPTEXT :Kontrolléiert wéi d'Haptusiicht op eng bestëmmten Positioun scrollt, wann een op déi kléng Kaart klickt oder en Befehl fir ob en spezifescht Objet ze scrollen gëtt. Wann ugeschalt, gëtt bis dohin gescrollt, wann ausgeschalt, spréngt d'Vue op den Zielobjet
@@ -2709,13 +2712,19 @@ STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD
# Framerate display window # Framerate display window
STR_FRAMERATE_CAPTION :{WHITE}Biller pro Sekonn STR_FRAMERATE_CAPTION :{WHITE}Biller pro Sekonn
STR_FRAMERATE_CAPTION_SMALL :{STRING}{WHITE} ({DECIMAL}x)
STR_FRAMERATE_RATE_GAMELOOP_TOOLTIP :{BLACK}Unzuel Gameticks déi pro Sekonn simuléiert ginn. STR_FRAMERATE_RATE_GAMELOOP_TOOLTIP :{BLACK}Unzuel Gameticks déi pro Sekonn simuléiert ginn.
STR_FRAMERATE_RATE_BLITTER :{BLACK}Grafikframerate: {STRING}
STR_FRAMERATE_RATE_BLITTER_TOOLTIP :{BLACK}Unzuel u Videobiller déi pro Sekonn gerendert ginn.
STR_FRAMERATE_SPEED_FACTOR :{BLACK}Aktuelle Spillgeschw.-Faktor: {DECIMAL}x
STR_FRAMERATE_SPEED_FACTOR_TOOLTIP :{BLACK}Wéi séier d'Spill aktuell leeft, am Verglach mat der Geschw. vun der normaler Simulatioun.
STR_FRAMERATE_CURRENT :{WHITE}Aktuell STR_FRAMERATE_CURRENT :{WHITE}Aktuell
STR_FRAMERATE_AVERAGE :{WHITE}Mëttel STR_FRAMERATE_AVERAGE :{WHITE}Mëttel
STR_FRAMERATE_MS_GOOD :{LTBLUE}{DECIMAL} ms STR_FRAMERATE_MS_GOOD :{LTBLUE}{DECIMAL} ms
STR_FRAMERATE_MS_WARN :{YELLOW}{DECIMAL} ms STR_FRAMERATE_MS_WARN :{YELLOW}{DECIMAL} ms
STR_FRAMERATE_MS_BAD :{RED}{DECIMAL} ms STR_FRAMERATE_MS_BAD :{RED}{DECIMAL} ms
STR_FRAMERATE_FPS_GOOD :{LTBLUE}{DECIMAL} Biller/s STR_FRAMERATE_FPS_GOOD :{LTBLUE}{DECIMAL} Biller/s
STR_FRAMERATE_FPS_WARN :{YELLOW}{DECIMAL} Biller/s
STR_FRAMERATE_FPS_BAD :{RED}{DECIMAL} Biller/s STR_FRAMERATE_FPS_BAD :{RED}{DECIMAL} Biller/s
STR_FRAMERATE_GRAPH_SECONDS :{TINY_FONT}{COMMA} s STR_FRAMERATE_GRAPH_SECONDS :{TINY_FONT}{COMMA} s
############ Leave those lines in this order!! ############ Leave those lines in this order!!
@@ -2723,10 +2732,12 @@ STR_FRAMERATE_GAMELOOP :{BLACK}Spill to
STR_FRAMERATE_GL_TRAINS :{BLACK} Zuchticks: STR_FRAMERATE_GL_TRAINS :{BLACK} Zuchticks:
STR_FRAMERATE_GL_ROADVEHS :{BLACK} Stroossegefierer Ticken: STR_FRAMERATE_GL_ROADVEHS :{BLACK} Stroossegefierer Ticken:
STR_FRAMERATE_GL_LINKGRAPH :{BLACK} Linkgrafik-Verzögerung: STR_FRAMERATE_GL_LINKGRAPH :{BLACK} Linkgrafik-Verzögerung:
STR_FRAMERATE_DRAWING :{BLACK}Graphikrendering: STR_FRAMERATE_DRAWING :{BLACK}Grafikrendering:
STR_FRAMERATE_DRAWING_VIEWPORTS :{BLACK} Welt-Usiichten: STR_FRAMERATE_DRAWING_VIEWPORTS :{BLACK} Welt-Usiichten:
STR_FRAMERATE_VIDEO :{BLACK}Video-output: STR_FRAMERATE_VIDEO :{BLACK}Video-output:
STR_FRAMERATE_ALLSCRIPTS :{BLACK} GS/KI Total:
STR_FRAMERATE_GAMESCRIPT :{BLACK} Gamescript: STR_FRAMERATE_GAMESCRIPT :{BLACK} Gamescript:
STR_FRAMERATE_AI :{BLACK} KI {NUM} {STRING}
############ End of leave-in-this-order ############ End of leave-in-this-order
############ Leave those lines in this order!! ############ Leave those lines in this order!!
STR_FRAMETIME_CAPTION_GAMELOOP :Spill-Loop STR_FRAMETIME_CAPTION_GAMELOOP :Spill-Loop
@@ -2734,8 +2745,14 @@ STR_FRAMETIME_CAPTION_GL_ECONOMY :Wuerenhandling
STR_FRAMETIME_CAPTION_GL_TRAINS :Zuchticks STR_FRAMETIME_CAPTION_GL_TRAINS :Zuchticks
STR_FRAMETIME_CAPTION_GL_ROADVEHS :Stroossegefierer Ticken STR_FRAMETIME_CAPTION_GL_ROADVEHS :Stroossegefierer Ticken
STR_FRAMETIME_CAPTION_GL_SHIPS :Schëffticker STR_FRAMETIME_CAPTION_GL_SHIPS :Schëffticker
STR_FRAMETIME_CAPTION_GL_LANDSCAPE :Weltticks
STR_FRAMETIME_CAPTION_DRAWING :Grafikrendering
STR_FRAMETIME_CAPTION_DRAWING_VIEWPORTS :Weltusiicht-Rendering
STR_FRAMETIME_CAPTION_VIDEO :Video-output
STR_FRAMETIME_CAPTION_SOUND :Soundmixing STR_FRAMETIME_CAPTION_SOUND :Soundmixing
STR_FRAMETIME_CAPTION_ALLSCRIPTS :GS/KI Scripttotaler
STR_FRAMETIME_CAPTION_GAMESCRIPT :Spill-Script STR_FRAMETIME_CAPTION_GAMESCRIPT :Spill-Script
STR_FRAMETIME_CAPTION_AI :KI {NUM} {STRING}
############ End of leave-in-this-order ############ End of leave-in-this-order
@@ -2761,6 +2778,7 @@ STR_SAVELOAD_DETAIL_CAPTION :{BLACK}Detailer
STR_SAVELOAD_DETAIL_NOT_AVAILABLE :{BLACK}Keng Informatioun do STR_SAVELOAD_DETAIL_NOT_AVAILABLE :{BLACK}Keng Informatioun do
STR_SAVELOAD_DETAIL_COMPANY_INDEX :{SILVER}{COMMA}: {WHITE}{STRING} STR_SAVELOAD_DETAIL_COMPANY_INDEX :{SILVER}{COMMA}: {WHITE}{STRING}
STR_SAVELOAD_DETAIL_GRFSTATUS :{SILVER}NewGRF: {WHITE}{STRING} STR_SAVELOAD_DETAIL_GRFSTATUS :{SILVER}NewGRF: {WHITE}{STRING}
STR_SAVELOAD_FILTER_TITLE :{BLACK}Filter-String:
STR_SAVELOAD_OVERWRITE_TITLE :{WHITE}Datei iwwerschreiwen STR_SAVELOAD_OVERWRITE_TITLE :{WHITE}Datei iwwerschreiwen
STR_SAVELOAD_OSKTITLE :{BLACK}Gëff dem Spillstand en Numm STR_SAVELOAD_OSKTITLE :{BLACK}Gëff dem Spillstand en Numm
@@ -2879,6 +2897,7 @@ STR_NEWGRF_SETTINGS_VERSION :{BLACK}Versioun
STR_NEWGRF_SETTINGS_MIN_VERSION :{BLACK}Min. kompatibel Versioun: {SILVER}{NUM} STR_NEWGRF_SETTINGS_MIN_VERSION :{BLACK}Min. kompatibel Versioun: {SILVER}{NUM}
STR_NEWGRF_SETTINGS_MD5SUM :{BLACK}MD5sum: {SILVER}{STRING} STR_NEWGRF_SETTINGS_MD5SUM :{BLACK}MD5sum: {SILVER}{STRING}
STR_NEWGRF_SETTINGS_PALETTE :{BLACK}Palette: {SILVER}{STRING} STR_NEWGRF_SETTINGS_PALETTE :{BLACK}Palette: {SILVER}{STRING}
STR_NEWGRF_SETTINGS_PALETTE_DEFAULT :Standard (S)
STR_NEWGRF_SETTINGS_PALETTE_DEFAULT_32BPP :Standard (S) / 32 bpp STR_NEWGRF_SETTINGS_PALETTE_DEFAULT_32BPP :Standard (S) / 32 bpp
STR_NEWGRF_SETTINGS_PALETTE_LEGACY :Legacy (W) STR_NEWGRF_SETTINGS_PALETTE_LEGACY :Legacy (W)
STR_NEWGRF_SETTINGS_PARAMETER :{BLACK}Parameter: {SILVER}{STRING} STR_NEWGRF_SETTINGS_PARAMETER :{BLACK}Parameter: {SILVER}{STRING}
@@ -3037,7 +3056,7 @@ STR_TOWN_VIEW_TOWN_CAPTION :{WHITE}{TOWN}
STR_TOWN_VIEW_CITY_CAPTION :{WHITE}{TOWN} (Stad) STR_TOWN_VIEW_CITY_CAPTION :{WHITE}{TOWN} (Stad)
STR_TOWN_VIEW_POPULATION_HOUSES :{BLACK}Awunner: {ORANGE}{COMMA}{BLACK} Haiser: {ORANGE}{COMMA} STR_TOWN_VIEW_POPULATION_HOUSES :{BLACK}Awunner: {ORANGE}{COMMA}{BLACK} Haiser: {ORANGE}{COMMA}
STR_TOWN_VIEW_CARGO_LAST_MONTH_MAX :{BLACK}{CARGO_LIST} leschte Mount: {ORANGE}{COMMA}{BLACK} Max: {ORANGE}{COMMA} STR_TOWN_VIEW_CARGO_LAST_MONTH_MAX :{BLACK}{CARGO_LIST} leschte Mount: {ORANGE}{COMMA}{BLACK} Max: {ORANGE}{COMMA}
STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH :{BLACK}Gidder gebraucht fir Stadwuesstem: STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH :{BLACK}Gidder gebraucht fir Stadwuesstum:
STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_GENERAL :{ORANGE}{STRING}{RED} gebraucht STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_GENERAL :{ORANGE}{STRING}{RED} gebraucht
STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_WINTER :{ORANGE}{STRING}{BLACK} gebraucht am Wanter STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_WINTER :{ORANGE}{STRING}{BLACK} gebraucht am Wanter
STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED_GENERAL :{ORANGE}{STRING}{GREEN} geliwwert STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED_GENERAL :{ORANGE}{STRING}{GREEN} geliwwert
@@ -3342,6 +3361,7 @@ STR_INDUSTRY_VIEW_LOCATION_TOOLTIP :{BLACK}Zentréi
STR_INDUSTRY_VIEW_PRODUCTION_LEVEL :{BLACK}Produktiounslevel: {YELLOW}{COMMA}% STR_INDUSTRY_VIEW_PRODUCTION_LEVEL :{BLACK}Produktiounslevel: {YELLOW}{COMMA}%
STR_INDUSTRY_VIEW_INDUSTRY_ANNOUNCED_CLOSURE :{YELLOW}D'Industrie annoncéiert dass se zougemaach gëtt STR_INDUSTRY_VIEW_INDUSTRY_ANNOUNCED_CLOSURE :{YELLOW}D'Industrie annoncéiert dass se zougemaach gëtt
STR_INDUSTRY_VIEW_PRODUCES_N_CARGO :{BLACK}Produzéiert: {YELLOW}{STRING}{STRING}
STR_INDUSTRY_VIEW_CARGO_LIST_EXTENSION :, {STRING}{STRING} STR_INDUSTRY_VIEW_CARGO_LIST_EXTENSION :, {STRING}{STRING}
STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Brauch: STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Brauch:
@@ -3820,7 +3840,7 @@ STR_ORDER_DROP_TRANSFER :Transferéieren
STR_ORDER_DROP_NO_UNLOADING :Net entlueden STR_ORDER_DROP_NO_UNLOADING :Net entlueden
STR_ORDER_TOOLTIP_UNLOAD :{BLACK}Wiesselt d'Entluedverhale vun dem ungewielten Optrag STR_ORDER_TOOLTIP_UNLOAD :{BLACK}Wiesselt d'Entluedverhale vun dem ungewielten Optrag
STR_ORDER_REFIT :{BLACK}Ëmbauen STR_ORDER_REFIT :{BLACK}Embauen
STR_ORDER_REFIT_TOOLTIP :{BLACK}Wielt an wéi een Luedungstyp sollt emgebaut ginn. Ctrl+Klick fir den Ëmbau ze läschen STR_ORDER_REFIT_TOOLTIP :{BLACK}Wielt an wéi een Luedungstyp sollt emgebaut ginn. Ctrl+Klick fir den Ëmbau ze läschen
STR_ORDER_REFIT_AUTO :{BLACK}Embauen an der Statioun STR_ORDER_REFIT_AUTO :{BLACK}Embauen an der Statioun
STR_ORDER_REFIT_AUTO_TOOLTIP :{BLACK}Wiel wellëch Wuerentypen sollen auto-ersat ginn an dësem Optrag. Ctrl+Klick fir all Auto-Erneierungen wechzehuelen. Auto-Erneiern geht just wann d'Gefier ët erlaabt STR_ORDER_REFIT_AUTO_TOOLTIP :{BLACK}Wiel wellëch Wuerentypen sollen auto-ersat ginn an dësem Optrag. Ctrl+Klick fir all Auto-Erneierungen wechzehuelen. Auto-Erneiern geht just wann d'Gefier ët erlaabt
@@ -3916,8 +3936,8 @@ STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY :(Net entlueden
STR_ORDER_NO_UNLOAD_NO_LOAD :(Keen Ent- an Belueden) STR_ORDER_NO_UNLOAD_NO_LOAD :(Keen Ent- an Belueden)
STR_ORDER_AUTO_REFIT :(Embauen op {STRING}) STR_ORDER_AUTO_REFIT :(Embauen op {STRING})
STR_ORDER_FULL_LOAD_REFIT :(Voll lueden mat Embauen op {STRING}) STR_ORDER_FULL_LOAD_REFIT :(Voll lueden mat ëmbauen op {STRING})
STR_ORDER_FULL_LOAD_ANY_REFIT :(Voll lueden mat all Wueren mat Embauen op {STRING}) STR_ORDER_FULL_LOAD_ANY_REFIT :(Voll lueden mat all Wueren mat ëmbauen op {STRING})
STR_ORDER_UNLOAD_REFIT :(Entlueden an Wueren lueden mat Embauen op {STRING}) STR_ORDER_UNLOAD_REFIT :(Entlueden an Wueren lueden mat Embauen op {STRING})
STR_ORDER_UNLOAD_FULL_LOAD_REFIT :(Entlueden an op voll Luedung waarden mat Embauen op {STRING}) STR_ORDER_UNLOAD_FULL_LOAD_REFIT :(Entlueden an op voll Luedung waarden mat Embauen op {STRING})
STR_ORDER_UNLOAD_FULL_LOAD_ANY_REFIT :(Entlueden an waard op iergendeng Volluedung mat Embauen op {STRING}) STR_ORDER_UNLOAD_FULL_LOAD_ANY_REFIT :(Entlueden an waard op iergendeng Volluedung mat Embauen op {STRING})
@@ -4276,7 +4296,6 @@ STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD :{WHITE}... d'St
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... Strooss geet an dei falsch Richtung STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... Strooss geet an dei falsch Richtung
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... Duerchfahrtstops kënnen keng Kéiren hunn STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... Duerchfahrtstops kënnen keng Kéiren hunn
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... Duerchfahrtstops kënnen keng Kräizungen hunn STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... Duerchfahrtstops kënnen keng Kräizungen hunn
STR_ERROR_DRIVE_THROUGH_ON_ONEWAY_ROAD :{WHITE}... Einbahnstrooss oder blockéiert
# Station destruction related errors # Station destruction related errors
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Kann den Deel vun der Gare net ofrappen... STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Kann den Deel vun der Gare net ofrappen...

View File

@@ -838,7 +838,7 @@ STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_COAL :{BIG_FONT}{BLAC
STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_OIL :{BIG_FONT}{BLACK}Nye oljereserver funnet i {INDUSTRY}!{}En dobling i produksjonen ventes! STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_OIL :{BIG_FONT}{BLACK}Nye oljereserver funnet i {INDUSTRY}!{}En dobling i produksjonen ventes!
STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_FARM :{BIG_FONT}{BLACK}Forbedring i gårdbruksmetoder på {INDUSTRY} forventes å doble produksjonen! STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_FARM :{BIG_FONT}{BLACK}Forbedring i gårdbruksmetoder på {INDUSTRY} forventes å doble produksjonen!
STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_SMOOTH :{BIG_FONT}{BLACK}Produksjonen av {STRING} ved {INDUSTRY} øker med {COMMA}{NBSP}%! STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_SMOOTH :{BIG_FONT}{BLACK}Produksjonen av {STRING} ved {INDUSTRY} øker med {COMMA}{NBSP}%!
STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL :{BIG_FONT}{BLACK}{INDUSTRY} sin produksjon har sunket med 50{NBSP}% STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL :{BIG_FONT}{BLACK}Produksjonen ved {INDUSTRY} har sunket med 50{NBSP}%
STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_FARM :{BIG_FONT}{BLACK}Insektinvasjon gjør stor skade på {INDUSTRY}!{}Produksjonen synker med 50{NBSP}% STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_FARM :{BIG_FONT}{BLACK}Insektinvasjon gjør stor skade på {INDUSTRY}!{}Produksjonen synker med 50{NBSP}%
STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_SMOOTH :{BIG_FONT}{BLACK}Produksjonen av {STRING} ved {INDUSTRY} synker med {COMMA}{NBSP}%! STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_SMOOTH :{BIG_FONT}{BLACK}Produksjonen av {STRING} ved {INDUSTRY} synker med {COMMA}{NBSP}%!
@@ -1240,9 +1240,9 @@ STR_CONFIG_SETTING_STOP_LOCATION_FAR_END :bortenden
STR_CONFIG_SETTING_AUTOSCROLL :Flytt på bildet hvis pilen er nær ytterkantene av skjermen: {STRING} STR_CONFIG_SETTING_AUTOSCROLL :Flytt på bildet hvis pilen er nær ytterkantene av skjermen: {STRING}
STR_CONFIG_SETTING_AUTOSCROLL_HELPTEXT :Når aktivert, vil synsfeltet begynne å rulle når musen er nær kanten av vinduet STR_CONFIG_SETTING_AUTOSCROLL_HELPTEXT :Når aktivert, vil synsfeltet begynne å rulle når musen er nær kanten av vinduet
STR_CONFIG_SETTING_AUTOSCROLL_DISABLED :Deaktivert STR_CONFIG_SETTING_AUTOSCROLL_DISABLED :Deaktivert
STR_CONFIG_SETTING_AUTOSCROLL_MAIN_VIEWPORT_FULLSCREEN :Hoved tillegsvindu, bare fullskjerm STR_CONFIG_SETTING_AUTOSCROLL_MAIN_VIEWPORT_FULLSCREEN :Hovedvindu, bare fullskjerm
STR_CONFIG_SETTING_AUTOSCROLL_MAIN_VIEWPORT :hoved tillegsvindu STR_CONFIG_SETTING_AUTOSCROLL_MAIN_VIEWPORT :Hovedvindu
STR_CONFIG_SETTING_AUTOSCROLL_EVERY_VIEWPORT :alle tillegsvindu STR_CONFIG_SETTING_AUTOSCROLL_EVERY_VIEWPORT :alle tilleggsvindu
STR_CONFIG_SETTING_BRIBE :Tillat bestikkelser av bystyret: {STRING} STR_CONFIG_SETTING_BRIBE :Tillat bestikkelser av bystyret: {STRING}
STR_CONFIG_SETTING_BRIBE_HELPTEXT :Tillat firmaer å prøve å bestikke de lokale myndighetene i byen. Hvis bestikkelsen blir oppdaget av en inspektør, vil selskapet ikke være i stand til å gjøre forretninger i byen de neste seks månedene STR_CONFIG_SETTING_BRIBE_HELPTEXT :Tillat firmaer å prøve å bestikke de lokale myndighetene i byen. Hvis bestikkelsen blir oppdaget av en inspektør, vil selskapet ikke være i stand til å gjøre forretninger i byen de neste seks månedene
STR_CONFIG_SETTING_BRIBE_HELPTEXT.small :firma STR_CONFIG_SETTING_BRIBE_HELPTEXT.small :firma
@@ -1416,7 +1416,7 @@ STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_CONSTRUCTION :Alt utenom kons
STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_LANDSCAPING :Alt utenom landskapsendringer STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_LANDSCAPING :Alt utenom landskapsendringer
STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_ACTIONS :Alle handlinger STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_ACTIONS :Alle handlinger
STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS :Bruk grupper i kjøretøyliste: {STRING} STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS :Bruk grupper i kjøretøyliste: {STRING}
STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS_HELPTEXT :Aktiver bruk av de avanserte kjøretøyslistene for guppering av kjøretøy STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS_HELPTEXT :Aktiver bruk av avanserte kjøretøylister for guppering av kjøretøy
STR_CONFIG_SETTING_LOADING_INDICATORS :Bruk lastingsindikatorer: {STRING} STR_CONFIG_SETTING_LOADING_INDICATORS :Bruk lastingsindikatorer: {STRING}
STR_CONFIG_SETTING_LOADING_INDICATORS_HELPTEXT :Velg hvorvidt lasteindikatorer vises over kjøretøy som lastes eller losses STR_CONFIG_SETTING_LOADING_INDICATORS_HELPTEXT :Velg hvorvidt lasteindikatorer vises over kjøretøy som lastes eller losses
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS :Vis rutetabell i antall tikk i stedet for antall dager: {STRING} STR_CONFIG_SETTING_TIMETABLE_IN_TICKS :Vis rutetabell i antall tikk i stedet for antall dager: {STRING}
@@ -1467,7 +1467,7 @@ STR_CONFIG_SETTING_MAX_SHIPS_HELPTEXT :Maksimalt antal
STR_CONFIG_SETTING_AI_BUILDS_TRAINS :Hindre datamaskinen i å bygge tog: {STRING} STR_CONFIG_SETTING_AI_BUILDS_TRAINS :Hindre datamaskinen i å bygge tog: {STRING}
STR_CONFIG_SETTING_AI_BUILDS_TRAINS_HELPTEXT :Aktivering av denne innstillingen gjør bygging av tog umulig for en datamaskin-spiller STR_CONFIG_SETTING_AI_BUILDS_TRAINS_HELPTEXT :Aktivering av denne innstillingen gjør bygging av tog umulig for en datamaskin-spiller
STR_CONFIG_SETTING_AI_BUILDS_ROAD_VEHICLES :Hindre datamaskinen i å bygge kjøretøy: {STRING} STR_CONFIG_SETTING_AI_BUILDS_ROAD_VEHICLES :Hindre datamaskinen i å bygge veikjøretøy: {STRING}
STR_CONFIG_SETTING_AI_BUILDS_ROAD_VEHICLES_HELPTEXT :Aktivering av denne innstillingen gjør bygging av veikjøretøy umulig for en datamaskin-spiller STR_CONFIG_SETTING_AI_BUILDS_ROAD_VEHICLES_HELPTEXT :Aktivering av denne innstillingen gjør bygging av veikjøretøy umulig for en datamaskin-spiller
STR_CONFIG_SETTING_AI_BUILDS_AIRCRAFT :Hindre datamaskinen i å bygge luftfartøy: {STRING} STR_CONFIG_SETTING_AI_BUILDS_AIRCRAFT :Hindre datamaskinen i å bygge luftfartøy: {STRING}
STR_CONFIG_SETTING_AI_BUILDS_AIRCRAFT_HELPTEXT :Aktivering av denne innstillingen gjør bygging av fly umulig for en datamaskin-spiller STR_CONFIG_SETTING_AI_BUILDS_AIRCRAFT_HELPTEXT :Aktivering av denne innstillingen gjør bygging av fly umulig for en datamaskin-spiller
@@ -3616,7 +3616,7 @@ STR_DEPOT_SELL_CONFIRMATION_TEXT :{YELLOW}Du er n
# Engine preview window # Engine preview window
STR_ENGINE_PREVIEW_CAPTION :{WHITE}Melding fra kjøretøysprodusent STR_ENGINE_PREVIEW_CAPTION :{WHITE}Melding fra kjøretøysprodusent
STR_ENGINE_PREVIEW_MESSAGE :{GOLD}Vi har nettopp designet e{G n i t} ny{G "" "" tt} {STRING} - er du interessert i et års ekslusivt bruk av dette, slik at vi kan se hvordan det virker før det blir allment tilgjengelig? STR_ENGINE_PREVIEW_MESSAGE :{GOLD}Vi har nettopp designet e{G n i t} ny{G "" "" tt} {STRING} - er du interessert i ett års ekslusivt bruk av dette, slik at vi kan se hvordan det virker før det blir allment tilgjengelig?
STR_ENGINE_PREVIEW_RAILROAD_LOCOMOTIVE :{G=neuter}lokomotiv STR_ENGINE_PREVIEW_RAILROAD_LOCOMOTIVE :{G=neuter}lokomotiv
STR_ENGINE_PREVIEW_ROAD_VEHICLE :{G=neuter}kjøretøy STR_ENGINE_PREVIEW_ROAD_VEHICLE :{G=neuter}kjøretøy
STR_ENGINE_PREVIEW_AIRCRAFT :{G=neuter}luftfartøy STR_ENGINE_PREVIEW_AIRCRAFT :{G=neuter}luftfartøy
@@ -3660,7 +3660,7 @@ STR_REPLACE_HELP_STOP_BUTTON :{BLACK}Klikk de
STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK}Veksle mellom tog- og vognerstatningsvinduet STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK}Veksle mellom tog- og vognerstatningsvinduet
STR_REPLACE_ENGINES :Lokomotiv STR_REPLACE_ENGINES :Lokomotiv
STR_REPLACE_WAGONS :Vogner STR_REPLACE_WAGONS :Vogner
STR_REPLACE_ALL_RAILTYPE :Status: Mangler STR_REPLACE_ALL_RAILTYPE :Alle jernbanekjøretøy
STR_REPLACE_HELP_RAILTYPE :{BLACK}Velg jernbanetypen du vil bytte ut lokomotiv på STR_REPLACE_HELP_RAILTYPE :{BLACK}Velg jernbanetypen du vil bytte ut lokomotiv på
STR_REPLACE_HELP_REPLACE_INFO_TAB :{BLACK}Viser hvilket lokomotiv som overtar for det valgte lokomotivet på venstresiden STR_REPLACE_HELP_REPLACE_INFO_TAB :{BLACK}Viser hvilket lokomotiv som overtar for det valgte lokomotivet på venstresiden
@@ -3752,11 +3752,11 @@ STR_VEHICLE_INFO_AGE_RUNNING_COST_YR :{BLACK}Alder: {
STR_VEHICLE_INFO_AGE :{COMMA} år ({COMMA}) STR_VEHICLE_INFO_AGE :{COMMA} år ({COMMA})
STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA} år ({COMMA}) STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA} år ({COMMA})
STR_VEHICLE_INFO_MAX_SPEED :{BLACK}Maks hastighet: {LTBLUE}{VELOCITY} STR_VEHICLE_INFO_MAX_SPEED :{BLACK}Topphastighet: {LTBLUE}{VELOCITY}
STR_VEHICLE_INFO_MAX_SPEED_TYPE :{BLACK}Maks. hastighet: {LTBLUE}{VELOCITY} {BLACK}Flytype: {LTBLUE}{STRING} STR_VEHICLE_INFO_MAX_SPEED_TYPE :{BLACK}Topphastighet: {LTBLUE}{VELOCITY} {BLACK}Flytype: {LTBLUE}{STRING}
STR_VEHICLE_INFO_MAX_SPEED_TYPE_RANGE :{BLACK}Maks. hastighet: {LTBLUE}{VELOCITY} {BLACK}Flytype: {LTBLUE}{STRING} {BLACK}Rekkevidde: {LTBLUE}{COMMA} ruter STR_VEHICLE_INFO_MAX_SPEED_TYPE_RANGE :{BLACK}Topphastighet: {LTBLUE}{VELOCITY} {BLACK}Flytype: {LTBLUE}{STRING} {BLACK}Rekkevidde: {LTBLUE}{COMMA} ruter
STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Vekt: {LTBLUE}{WEIGHT_SHORT} {BLACK}Kraft: {LTBLUE}{POWER}{BLACK} Maks hastighet: {LTBLUE}{VELOCITY} STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Vekt: {LTBLUE}{WEIGHT_SHORT} {BLACK}Kraft: {LTBLUE}{POWER}{BLACK} Topphastighet: {LTBLUE}{VELOCITY}
STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Vekt: {LTBLUE}{WEIGHT_SHORT} {BLACK}Kraft: {LTBLUE}{POWER}{BLACK} Maks hastighet: {LTBLUE}{VELOCITY} {BLACK}Maks trekkraft: {LTBLUE}{FORCE} STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Vekt: {LTBLUE}{WEIGHT_SHORT} {BLACK}Kraft: {LTBLUE}{POWER}{BLACK} Topphastighet: {LTBLUE}{VELOCITY} {BLACK}Maks trekkraft: {LTBLUE}{FORCE}
STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR :{BLACK}Fortjeneste i år: {LTBLUE}{CURRENCY_LONG} (i fjor: {CURRENCY_LONG}) STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR :{BLACK}Fortjeneste i år: {LTBLUE}{CURRENCY_LONG} (i fjor: {CURRENCY_LONG})
STR_VEHICLE_INFO_RELIABILITY_BREAKDOWNS :{BLACK}Pålitelighet: {LTBLUE}{COMMA}{NBSP}% {BLACK}Havarier siden siste vedlikehold: {LTBLUE}{COMMA} STR_VEHICLE_INFO_RELIABILITY_BREAKDOWNS :{BLACK}Pålitelighet: {LTBLUE}{COMMA}{NBSP}% {BLACK}Havarier siden siste vedlikehold: {LTBLUE}{COMMA}
@@ -3883,7 +3883,7 @@ STR_ORDER_CONDITIONAL_VARIABLE_TOOLTIP :{BLACK}Kjøret
# Conditional order variables, must follow order of OrderConditionVariable enum # Conditional order variables, must follow order of OrderConditionVariable enum
STR_ORDER_CONDITIONAL_LOAD_PERCENTAGE :Lastprosent STR_ORDER_CONDITIONAL_LOAD_PERCENTAGE :Lastprosent
STR_ORDER_CONDITIONAL_RELIABILITY :Pålitelighet STR_ORDER_CONDITIONAL_RELIABILITY :Pålitelighet
STR_ORDER_CONDITIONAL_MAX_SPEED :Maks hastighet STR_ORDER_CONDITIONAL_MAX_SPEED :Topphastighet
STR_ORDER_CONDITIONAL_AGE :Alder (år) STR_ORDER_CONDITIONAL_AGE :Alder (år)
STR_ORDER_CONDITIONAL_REQUIRES_SERVICE :Trenger vedlikehold STR_ORDER_CONDITIONAL_REQUIRES_SERVICE :Trenger vedlikehold
STR_ORDER_CONDITIONAL_UNCONDITIONALLY :Alltid STR_ORDER_CONDITIONAL_UNCONDITIONALLY :Alltid
@@ -4322,7 +4322,6 @@ STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD :{WHITE}... denn
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... veien vender i feil retning STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... veien vender i feil retning
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... gjennomkjøringsstopper kan ikke ha hjørner STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... gjennomkjøringsstopper kan ikke ha hjørner
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... gjennomkjøringsstopper kan ikke ha kryss STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... gjennomkjøringsstopper kan ikke ha kryss
STR_ERROR_DRIVE_THROUGH_ON_ONEWAY_ROAD :{WHITE}... veien er enveiskjørt eller blokkert
# Station destruction related errors # Station destruction related errors
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Kan ikke fjerne del av stasjonen... STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Kan ikke fjerne del av stasjonen...

View File

@@ -4666,7 +4666,6 @@ STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD :{WHITE}... ta d
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... droga jest zorientowana w złym kierunku STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... droga jest zorientowana w złym kierunku
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... przystanki przelotowe nie mogą mieć zakrętów STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... przystanki przelotowe nie mogą mieć zakrętów
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... przystanki przelotowe nie mogą mieć skrzyżowań STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... przystanki przelotowe nie mogą mieć skrzyżowań
STR_ERROR_DRIVE_THROUGH_ON_ONEWAY_ROAD :{WHITE}... droga jest jednokierunkowa lub zablokowana
# Station destruction related errors # Station destruction related errors
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Nie można usunąć części stacji... STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Nie można usunąć części stacji...

View File

@@ -2534,7 +2534,6 @@ STR_QUERY_RESET_LANDSCAPE_CAPTION :{WHITE}Repor Te
STR_RESET_LANDSCAPE_CONFIRMATION_TEXT :{WHITE}Tem a certeza que quer apagar todas as propriedades das empresas? STR_RESET_LANDSCAPE_CONFIRMATION_TEXT :{WHITE}Tem a certeza que quer apagar todas as propriedades das empresas?
# Town generation window (SE) # Town generation window (SE)
STR_FOUND_TOWN_CAPTION :{WHITE}Gerar Localidades STR_FOUND_TOWN_CAPTION :{WHITE}Gerar Localidades
STR_FOUND_TOWN_NEW_TOWN_BUTTON :{BLACK}Nova Localidade STR_FOUND_TOWN_NEW_TOWN_BUTTON :{BLACK}Nova Localidade
STR_FOUND_TOWN_NEW_TOWN_TOOLTIP :{BLACK}Fundar nova localidade. Shift+Clique mostra apenas o custo estimado STR_FOUND_TOWN_NEW_TOWN_TOOLTIP :{BLACK}Fundar nova localidade. Shift+Clique mostra apenas o custo estimado
@@ -2542,6 +2541,7 @@ STR_FOUND_TOWN_RANDOM_TOWN_BUTTON :{BLACK}Localida
STR_FOUND_TOWN_RANDOM_TOWN_TOOLTIP :{BLACK}Fundar uma localidade num local aleatório STR_FOUND_TOWN_RANDOM_TOWN_TOOLTIP :{BLACK}Fundar uma localidade num local aleatório
STR_FOUND_TOWN_MANY_RANDOM_TOWNS :{BLACK}Várias localidades aleatórias STR_FOUND_TOWN_MANY_RANDOM_TOWNS :{BLACK}Várias localidades aleatórias
STR_FOUND_TOWN_RANDOM_TOWNS_TOOLTIP :{BLACK}Cobrir o mapa com localidades colocadas aleatoriamente STR_FOUND_TOWN_RANDOM_TOWNS_TOOLTIP :{BLACK}Cobrir o mapa com localidades colocadas aleatoriamente
STR_FOUND_TOWN_NAME_TITLE :{YELLOW}Nome da localidade: STR_FOUND_TOWN_NAME_TITLE :{YELLOW}Nome da localidade:
STR_FOUND_TOWN_NAME_EDITOR_TITLE :{BLACK}Introduza o nome da localidade STR_FOUND_TOWN_NAME_EDITOR_TITLE :{BLACK}Introduza o nome da localidade
STR_FOUND_TOWN_NAME_EDITOR_HELP :{BLACK}Clique para introduzir o nome da localidade STR_FOUND_TOWN_NAME_EDITOR_HELP :{BLACK}Clique para introduzir o nome da localidade
@@ -4318,7 +4318,6 @@ STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD :{WHITE}... esta
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... estrada orientada na direcção incorrecta STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... estrada orientada na direcção incorrecta
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... estações de passagem não podem ter curvas STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... estações de passagem não podem ter curvas
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... estações de passagem não podem ter cruzamentos STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... estações de passagem não podem ter cruzamentos
STR_ERROR_DRIVE_THROUGH_ON_ONEWAY_ROAD :{WHITE}... estrada de sentido único ou bloqueada
# Station destruction related errors # Station destruction related errors
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Não é possível remover parte da estação... STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Não é possível remover parte da estação...

View File

@@ -1574,8 +1574,8 @@ STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE :Показыв
STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE_HELPTEXT :Показывать ожидаемое время прибытия и отправления в графиках движения STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE_HELPTEXT :Показывать ожидаемое время прибытия и отправления в графиках движения
STR_CONFIG_SETTING_QUICKGOTO :Быстрое создание заданий транспорта: {STRING} STR_CONFIG_SETTING_QUICKGOTO :Быстрое создание заданий транспорта: {STRING}
STR_CONFIG_SETTING_QUICKGOTO_HELPTEXT :Открывать окно маршрута с нажатой кнопкой «Следовать» STR_CONFIG_SETTING_QUICKGOTO_HELPTEXT :Открывать окно маршрута с нажатой кнопкой «Следовать»
STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE :Тип рельсов по умолчанию (после старта/загрузки): {STRING} STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE :Тип ж/д путей по умолчанию (после старта/загрузки): {STRING}
STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_HELPTEXT :Тип рельсов, выбираемый по умолчанию после старта или загрузки игры.{}«Первые доступные» - самый старый тип рельсов.{}«Последние доступные» - самый новый тип.{}«Наиболее используемые» - тип рельсов, наиболее широко используемых в игре. STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_HELPTEXT :Тип железнодорожных путей, выбираемый по умолчанию после старта или загрузки игры.{}«Первые доступные» - самый старый тип рельсов.{}«Последние доступные» - самый новый тип.{}«Наиболее используемые» - тип рельсов, наиболее широко используемых в игре.
STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_FIRST :первые доступные STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_FIRST :первые доступные
STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_LAST :последние доступные STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_LAST :последние доступные
STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_MOST_USED :наиболее используемые STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_MOST_USED :наиболее используемые
@@ -2830,9 +2830,9 @@ STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_NOENTRYSIGNALS :Ж/д путь
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBS_NOENTRYSIGNALS :Ж/д путь с маршрутным и односторонним маршрутным сигналами STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBS_NOENTRYSIGNALS :Ж/д путь с маршрутным и односторонним маршрутным сигналами
STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT :Ж/д депо STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT :Ж/д депо
STR_LAI_ROAD_DESCRIPTION_ROAD :Дорога STR_LAI_ROAD_DESCRIPTION_ROAD :Автодорога
STR_LAI_ROAD_DESCRIPTION_ROAD_WITH_STREETLIGHTS :Дорога с уличным освещением STR_LAI_ROAD_DESCRIPTION_ROAD_WITH_STREETLIGHTS :Освещённая автодорога
STR_LAI_ROAD_DESCRIPTION_TREE_LINED_ROAD :Дорога с озеленением STR_LAI_ROAD_DESCRIPTION_TREE_LINED_ROAD :Автодорога с озеленением
STR_LAI_ROAD_DESCRIPTION_ROAD_VEHICLE_DEPOT :Гараж STR_LAI_ROAD_DESCRIPTION_ROAD_VEHICLE_DEPOT :Гараж
STR_LAI_ROAD_DESCRIPTION_ROAD_RAIL_LEVEL_CROSSING :Железнодорожный переезд STR_LAI_ROAD_DESCRIPTION_ROAD_RAIL_LEVEL_CROSSING :Железнодорожный переезд
STR_LAI_ROAD_DESCRIPTION_TRAMWAY :Трамвайные пути STR_LAI_ROAD_DESCRIPTION_TRAMWAY :Трамвайные пути
@@ -3301,7 +3301,7 @@ STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION :{YELLOW}Про
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{YELLOW}Установить статую в честь вашей компании.{}Цена: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{YELLOW}Установить статую в честь вашей компании.{}Цена: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{YELLOW}Профинансировать строительство новых коммерческих зданий в городе.{}Цена: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{YELLOW}Профинансировать строительство новых коммерческих зданий в городе.{}Цена: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT :{YELLOW}Купить годовые эксклюзивные права на транспортные перевозки в городе. Администрация разрешит пользоваться ТОЛЬКО вашими станциями.{}Цена: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT :{YELLOW}Купить годовые эксклюзивные права на транспортные перевозки в городе. Администрация разрешит пользоваться ТОЛЬКО вашими станциями.{}Цена: {CURRENCY_LONG}
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW}Дать взятку городской администрации для повышения рейтинга. Существует риск санкций, если факт взятки раскроется.{}Цена: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW}Дать взятку городской администрации для повышения рейтинга. Существует риск санкций, если факт подкупа раскроется.{}Цена: {CURRENCY_LONG}
# Goal window # Goal window
STR_GOALS_CAPTION :{WHITE}Задачи компании «{COMPANY}» STR_GOALS_CAPTION :{WHITE}Задачи компании «{COMPANY}»
@@ -3645,7 +3645,7 @@ STR_BUY_VEHICLE_TRAIN_MAGLEV_CAPTION :Новый ма
STR_BUY_VEHICLE_TRAIN_ALL_CAPTION :Новый поезд STR_BUY_VEHICLE_TRAIN_ALL_CAPTION :Новый поезд
STR_BUY_VEHICLE_ROAD_VEHICLE_CAPTION :Новый автомобиль STR_BUY_VEHICLE_ROAD_VEHICLE_CAPTION :Новый автомобиль
STR_BUY_VEHICLE_SHIP_CAPTION :Новый корабль STR_BUY_VEHICLE_SHIP_CAPTION :Новый корабль
STR_BUY_VEHICLE_AIRCRAFT_CAPTION :Новый авиатранспорт STR_BUY_VEHICLE_AIRCRAFT_CAPTION :Новое воздушное судно
STR_PURCHASE_INFO_COST_WEIGHT :{BLACK}Цена: {GOLD}{CURRENCY_LONG}{BLACK} Вес: {GOLD}{WEIGHT_SHORT} STR_PURCHASE_INFO_COST_WEIGHT :{BLACK}Цена: {GOLD}{CURRENCY_LONG}{BLACK} Вес: {GOLD}{WEIGHT_SHORT}
STR_PURCHASE_INFO_SPEED_POWER :{BLACK}Скорость: {GOLD}{VELOCITY}{BLACK} Мощность: {GOLD}{POWER} STR_PURCHASE_INFO_SPEED_POWER :{BLACK}Скорость: {GOLD}{VELOCITY}{BLACK} Мощность: {GOLD}{POWER}
@@ -3830,8 +3830,8 @@ STR_REPLACE_VEHICLE_VEHICLES_IN_USE_TOOLTIP :{BLACK}Здес
STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES :{YELLOW}Доступные ТС STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES :{YELLOW}Доступные ТС
STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES_TOOLTIP :{BLACK}Здесь перечислены модели транспортных средств, доступные для замены STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES_TOOLTIP :{BLACK}Здесь перечислены модели транспортных средств, доступные для замены
STR_REPLACE_HELP_LEFT_ARRAY :{BLACK}Выбор типа транспорта для замены STR_REPLACE_HELP_LEFT_ARRAY :{BLACK}Выбор заменяемой модели транспортного средства
STR_REPLACE_HELP_RIGHT_ARRAY :{BLACK}Выбор типа транспорта, на который следует заменить STR_REPLACE_HELP_RIGHT_ARRAY :{BLACK}Выбор заменяющей модели транспортного средства
STR_REPLACE_VEHICLES_START :{BLACK}Начать замену STR_REPLACE_VEHICLES_START :{BLACK}Начать замену
STR_REPLACE_VEHICLES_NOW :Начать замену всех ТС STR_REPLACE_VEHICLES_NOW :Начать замену всех ТС
@@ -4507,7 +4507,6 @@ STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD :{WHITE}... эт
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... неверное направление дороги STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... неверное направление дороги
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... на проходных остановках нельзя делать повороты STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... на проходных остановках нельзя делать повороты
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... на проходных остановках нельзя делать перекрёстки STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... на проходных остановках нельзя делать перекрёстки
STR_ERROR_DRIVE_THROUGH_ON_ONEWAY_ROAD :{WHITE}... дорога односторонняя или заблокирована
# Station destruction related errors # Station destruction related errors
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Невозможно удалить часть станции... STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Невозможно удалить часть станции...

View File

@@ -4443,7 +4443,6 @@ STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD :{WHITE}... ova
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... ulica je okrenuta u drugom pravcu STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... ulica je okrenuta u drugom pravcu
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... stajalište ne može biti na krivini STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... stajalište ne može biti na krivini
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... stajalište ne može biti na raskrsnici STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... stajalište ne može biti na raskrsnici
STR_ERROR_DRIVE_THROUGH_ON_ONEWAY_ROAD :{WHITE}... put je jednosmeran ili blokiran.
# Station destruction related errors # Station destruction related errors
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Deo stanice se ne može ukloniti... STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Deo stanice se ne može ukloniti...

View File

@@ -963,6 +963,7 @@ STR_NEWS_MERGER_TAKEOVER_TITLE :{BIG_FONT}{BLAC
STR_PRESIDENT_NAME_MANAGER :{BLACK}{PRESIDENT_NAME}{}(Direktor) STR_PRESIDENT_NAME_MANAGER :{BLACK}{PRESIDENT_NAME}{}(Direktor)
STR_NEWS_NEW_TOWN :{BLACK}{BIG_FONT}{STRING} sponzorirana gradnja novega mesta {TOWN}! STR_NEWS_NEW_TOWN :{BLACK}{BIG_FONT}{STRING} sponzorirana gradnja novega mesta {TOWN}!
STR_NEWS_NEW_TOWN_UNSPONSORED :{BLACK}{BIG_FONT}Novo mesto z imenom {TOWN} je bilo zgrajeno!
STR_NEWS_INDUSTRY_CONSTRUCTION :{BIG_FONT}{BLACK}Na novo se gradi {STRING} blizu mesta {TOWN}! STR_NEWS_INDUSTRY_CONSTRUCTION :{BIG_FONT}{BLACK}Na novo se gradi {STRING} blizu mesta {TOWN}!
STR_NEWS_INDUSTRY_PLANTED :{BIG_FONT}{BLACK}Postavlja se {STRING} blizu mesta {TOWN}! STR_NEWS_INDUSTRY_PLANTED :{BIG_FONT}{BLACK}Postavlja se {STRING} blizu mesta {TOWN}!
@@ -1956,6 +1957,7 @@ STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}Spremeni
STR_CHEAT_SETUP_PROD :{LTBLUE}Omogoči spreminjanje proizvodnih vrednosti: {ORANGE}{STRING} STR_CHEAT_SETUP_PROD :{LTBLUE}Omogoči spreminjanje proizvodnih vrednosti: {ORANGE}{STRING}
# Livery window # Livery window
STR_LIVERY_CAPTION :{WHITE}{COMPANY} - Barvna shema
STR_LIVERY_GENERAL_TOOLTIP :{BLACK}Prikaz glavnih barvnih shem STR_LIVERY_GENERAL_TOOLTIP :{BLACK}Prikaz glavnih barvnih shem
STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Prikaz barvnih shem vlakov STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Prikaz barvnih shem vlakov
@@ -3924,6 +3926,7 @@ STR_ORDER_CONDITIONAL_AGE :Starost (leta)
STR_ORDER_CONDITIONAL_REQUIRES_SERVICE :Potrebuje servis STR_ORDER_CONDITIONAL_REQUIRES_SERVICE :Potrebuje servis
STR_ORDER_CONDITIONAL_UNCONDITIONALLY :Vedno STR_ORDER_CONDITIONAL_UNCONDITIONALLY :Vedno
STR_ORDER_CONDITIONAL_REMAINING_LIFETIME :Preostala življenjska doba (let) STR_ORDER_CONDITIONAL_REMAINING_LIFETIME :Preostala življenjska doba (let)
STR_ORDER_CONDITIONAL_MAX_RELIABILITY :Največja zanesljivost
STR_ORDER_CONDITIONAL_COMPARATOR_TOOLTIP :{BLACK}Kako primerjati podatke vozila na podano vrednost STR_ORDER_CONDITIONAL_COMPARATOR_TOOLTIP :{BLACK}Kako primerjati podatke vozila na podano vrednost
STR_ORDER_CONDITIONAL_COMPARATOR_EQUALS :je enaka STR_ORDER_CONDITIONAL_COMPARATOR_EQUALS :je enaka
@@ -4607,6 +4610,7 @@ STR_BASESOUNDS_DOS_DESCRIPTION :Originalni zvok
STR_BASESOUNDS_WIN_DESCRIPTION :Originalni zvoki Transport Tycoon Deluxe različice oken(windows). STR_BASESOUNDS_WIN_DESCRIPTION :Originalni zvoki Transport Tycoon Deluxe različice oken(windows).
STR_BASESOUNDS_NONE_DESCRIPTION :Zvočni paket brez zvoka. STR_BASESOUNDS_NONE_DESCRIPTION :Zvočni paket brez zvoka.
STR_BASEMUSIC_WIN_DESCRIPTION :Originalna glasba Transport Tycoon Deluxe različice oken(windows). STR_BASEMUSIC_WIN_DESCRIPTION :Originalna glasba Transport Tycoon Deluxe različice oken(windows).
STR_BASEMUSIC_DOS_DESCRIPTION :Originalna glasba Transport Tycoon Deluxe DOS različice
STR_BASEMUSIC_NONE_DESCRIPTION :Glasbeni paket z vključeno glasbo. STR_BASEMUSIC_NONE_DESCRIPTION :Glasbeni paket z vključeno glasbo.
##id 0x2000 ##id 0x2000

View File

@@ -191,6 +191,7 @@ STR_COLOUR_BROWN :Marrón
STR_COLOUR_GREY :Gris STR_COLOUR_GREY :Gris
STR_COLOUR_WHITE :Blanco STR_COLOUR_WHITE :Blanco
STR_COLOUR_RANDOM :Aleatorio STR_COLOUR_RANDOM :Aleatorio
STR_COLOUR_DEFAULT :Por Defecto
# Units used in OpenTTD # Units used in OpenTTD
STR_UNITS_VELOCITY_IMPERIAL :{COMMA}{NBSP}mph STR_UNITS_VELOCITY_IMPERIAL :{COMMA}{NBSP}mph
@@ -466,6 +467,7 @@ STR_TOOLBAR_SOUND_MUSIC :Sonido/música
############ range for message menu starts ############ range for message menu starts
STR_NEWS_MENU_LAST_MESSAGE_NEWS_REPORT :Último mensaje/noticia STR_NEWS_MENU_LAST_MESSAGE_NEWS_REPORT :Último mensaje/noticia
STR_NEWS_MENU_MESSAGE_HISTORY_MENU :Historial de mensajes STR_NEWS_MENU_MESSAGE_HISTORY_MENU :Historial de mensajes
STR_NEWS_MENU_DELETE_ALL_MESSAGES :Borrar todos los mensajes
############ range ends here ############ range ends here
############ range for about menu starts ############ range for about menu starts
@@ -994,7 +996,12 @@ STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Normal
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Tamaño doble STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Tamaño doble
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Tamaño cuádruple STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Tamaño cuádruple
STR_GAME_OPTIONS_FONT_ZOOM :{BLACK}Tamaño de letra
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Selecciona el tamaño de letra a utilizar en la interfaz
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Normal
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Tamaño doble
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :Tamaño cuádruple
STR_GAME_OPTIONS_BASE_GRF :{BLACK}Conjunto de gráficos base STR_GAME_OPTIONS_BASE_GRF :{BLACK}Conjunto de gráficos base
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Selecciona el conjunto de gráficos base a usar STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Selecciona el conjunto de gráficos base a usar
@@ -1263,6 +1270,8 @@ STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}Cambiar
STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :Mantenimiento de infraestructuras: {STRING} STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :Mantenimiento de infraestructuras: {STRING}
STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :Cuando se activa, las infraestructuras tienen costes de mantenimiento. Los costes de la infraestructura aumentan con el tamaño de la red, con lo cual afectan a compañías grandes en mayor grado que a las pequeñas STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :Cuando se activa, las infraestructuras tienen costes de mantenimiento. Los costes de la infraestructura aumentan con el tamaño de la red, con lo cual afectan a compañías grandes en mayor grado que a las pequeñas
STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR :Color inicial de la empresa: {STRING}
STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_HELPTEXT :Selecciona el color inicial de la empresa
STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS :Aeropuertos nunca caducan: {STRING} STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS :Aeropuertos nunca caducan: {STRING}
STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS_HELPTEXT :Permite a todos los aeropuertos estar disponibles permanentemente una vez han sido introducidos STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS_HELPTEXT :Permite a todos los aeropuertos estar disponibles permanentemente una vez han sido introducidos
@@ -1347,6 +1356,12 @@ STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_HELPTEXT :Color a usar pa
STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_GREEN :Verde STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_GREEN :Verde
STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_DARK_GREEN :Verde oscuro STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_DARK_GREEN :Verde oscuro
STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_VIOLET :Violeta STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_VIOLET :Violeta
STR_CONFIG_SETTING_SCROLLMODE :Desplazamiento de vista: {STRING}
STR_CONFIG_SETTING_SCROLLMODE_HELPTEXT :Comportamiento al desplazar el mapa
STR_CONFIG_SETTING_SCROLLMODE_DEFAULT :Desplazar la vista con clic derecho, ratón en posición fija
STR_CONFIG_SETTING_SCROLLMODE_RMB_LOCKED :Recorrer mapa con clic derecho, ratón en posición fija
STR_CONFIG_SETTING_SCROLLMODE_RMB :Mueve el mapa con el botón derecho del ratón
STR_CONFIG_SETTING_SCROLLMODE_LMB :Mueve el mapa con el botón izquierdo del ratón
STR_CONFIG_SETTING_SMOOTH_SCROLLING :Desplazamiento de vista suavizado: {STRING} STR_CONFIG_SETTING_SMOOTH_SCROLLING :Desplazamiento de vista suavizado: {STRING}
STR_CONFIG_SETTING_SMOOTH_SCROLLING_HELPTEXT :Controla la forma en la que la vista principal se mueve a una posición específica como resultado de hacer click en el mapa o al enviar la orden de moverse a un objeto determinado del mapa. Si se activa, la vista se mueve de forma suave. Si se desactiva, la vista se mueve directamente al destino STR_CONFIG_SETTING_SMOOTH_SCROLLING_HELPTEXT :Controla la forma en la que la vista principal se mueve a una posición específica como resultado de hacer click en el mapa o al enviar la orden de moverse a un objeto determinado del mapa. Si se activa, la vista se mueve de forma suave. Si se desactiva, la vista se mueve directamente al destino
STR_CONFIG_SETTING_MEASURE_TOOLTIP :Mostrar medidas usando las herramientas de construcción: {STRING} STR_CONFIG_SETTING_MEASURE_TOOLTIP :Mostrar medidas usando las herramientas de construcción: {STRING}
@@ -1560,7 +1575,7 @@ STR_CONFIG_SETTING_TOWN_LAYOUT_3X3_GRID :rejilla 3x3
STR_CONFIG_SETTING_TOWN_LAYOUT_RANDOM :Aleatorio STR_CONFIG_SETTING_TOWN_LAYOUT_RANDOM :Aleatorio
STR_CONFIG_SETTING_ALLOW_TOWN_ROADS :Permitir que los municipios construyan carreteras: {STRING} STR_CONFIG_SETTING_ALLOW_TOWN_ROADS :Permitir que los municipios construyan carreteras: {STRING}
STR_CONFIG_SETTING_ALLOW_TOWN_ROADS_HELPTEXT :Permite a los municipios construir carreteras para crecer. Si se deshabilita, las autoridades municipales no podrán construir ninguna carretera STR_CONFIG_SETTING_ALLOW_TOWN_ROADS_HELPTEXT :Permite a los municipios construir carreteras para crecer. Si se deshabilita, las autoridades municipales no podrán construir ninguna carretera
STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS :Permitir a las ciudades construir pasos a nivel: {STRING} STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS :Permitir a los municipios construir pasos a nivel: {STRING}
STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS_HELPTEXT :Permite a los municipios construir pasos a nivel STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS_HELPTEXT :Permite a los municipios construir pasos a nivel
STR_CONFIG_SETTING_NOISE_LEVEL :Permitir al municipio controlar el nivel de ruido de los aeropuertos: {STRING} STR_CONFIG_SETTING_NOISE_LEVEL :Permitir al municipio controlar el nivel de ruido de los aeropuertos: {STRING}
STR_CONFIG_SETTING_NOISE_LEVEL_HELPTEXT :Con esta opción desactivada, solamente puede haber dos aeropuertos por municipio. Si se activa, el número de aeropuertos en el municipio depende del nivel de aceptación de ruido del mismo, el cual depende de la población, del tamaño de los aeropuertos y de la distancia a la que estén STR_CONFIG_SETTING_NOISE_LEVEL_HELPTEXT :Con esta opción desactivada, solamente puede haber dos aeropuertos por municipio. Si se activa, el número de aeropuertos en el municipio depende del nivel de aceptación de ruido del mismo, el cual depende de la población, del tamaño de los aeropuertos y de la distancia a la que estén
@@ -1606,7 +1621,7 @@ STR_CONFIG_SETTING_TOWN_GROWTH_NORMAL :Normal
STR_CONFIG_SETTING_TOWN_GROWTH_FAST :Rápida STR_CONFIG_SETTING_TOWN_GROWTH_FAST :Rápida
STR_CONFIG_SETTING_TOWN_GROWTH_VERY_FAST :Muy rápida STR_CONFIG_SETTING_TOWN_GROWTH_VERY_FAST :Muy rápida
STR_CONFIG_SETTING_LARGER_TOWNS :Proporción de municipios que se convertirán en ciudades: {STRING} STR_CONFIG_SETTING_LARGER_TOWNS :Proporción de municipios que se convertirán en ciudades: {STRING}
STR_CONFIG_SETTING_LARGER_TOWNS_HELPTEXT :Número de pueblos que se convertirán en ciudades. Las ciudades comienzan siendo más grandes y crecen más rápido STR_CONFIG_SETTING_LARGER_TOWNS_HELPTEXT :Número de municipios que se convertirán en ciudades. Las ciudades comienzan siendo más grandes y crecen más rápido
STR_CONFIG_SETTING_LARGER_TOWNS_VALUE :1 de cada {COMMA} STR_CONFIG_SETTING_LARGER_TOWNS_VALUE :1 de cada {COMMA}
STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :Ninguna STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :Ninguna
STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Multiplicador inicial del tamaño de ciudad: {STRING} STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Multiplicador inicial del tamaño de ciudad: {STRING}
@@ -2075,6 +2090,7 @@ STR_NETWORK_CONNECTION_DISCONNECT :{BLACK}Desconec
STR_NETWORK_NEED_GAME_PASSWORD_CAPTION :{WHITE}Servidor protegido. Introduzca la contraseña STR_NETWORK_NEED_GAME_PASSWORD_CAPTION :{WHITE}Servidor protegido. Introduzca la contraseña
STR_NETWORK_NEED_COMPANY_PASSWORD_CAPTION :{WHITE}Empresa protegida. Introduzca la contraseña STR_NETWORK_NEED_COMPANY_PASSWORD_CAPTION :{WHITE}Empresa protegida. Introduzca la contraseña
STR_NETWORK_COMPANY_LIST_CLIENT_LIST_CAPTION :{WHITE}Lista de Clientes
# Network company list added strings # Network company list added strings
STR_NETWORK_COMPANY_LIST_CLIENT_LIST :Lista de clientes STR_NETWORK_COMPANY_LIST_CLIENT_LIST :Lista de clientes
@@ -2539,7 +2555,7 @@ STR_FOUND_TOWN_INITIAL_SIZE_LARGE_BUTTON :{BLACK}Grande
STR_FOUND_TOWN_SIZE_RANDOM :{BLACK}Aleatorio STR_FOUND_TOWN_SIZE_RANDOM :{BLACK}Aleatorio
STR_FOUND_TOWN_INITIAL_SIZE_TOOLTIP :{BLACK}Seleccione el tamaño del municipio STR_FOUND_TOWN_INITIAL_SIZE_TOOLTIP :{BLACK}Seleccione el tamaño del municipio
STR_FOUND_TOWN_CITY :{BLACK}Ciudad STR_FOUND_TOWN_CITY :{BLACK}Ciudad
STR_FOUND_TOWN_CITY_TOOLTIP :{BLACK}Las ciudades crecen más rápido que los pueblos{}Dependiendo de los ajustes, son mayores al ser fundadas STR_FOUND_TOWN_CITY_TOOLTIP :{BLACK}Las ciudades crecen más rápido que los municipios{}Dependiendo de los ajustes, son mayores al ser fundadas
STR_FOUND_TOWN_ROAD_LAYOUT :{YELLOW}Patrón de carretera: STR_FOUND_TOWN_ROAD_LAYOUT :{YELLOW}Patrón de carretera:
STR_FOUND_TOWN_SELECT_TOWN_ROAD_LAYOUT :{BLACK}Seleccionar patrón de carreteras para este municipio STR_FOUND_TOWN_SELECT_TOWN_ROAD_LAYOUT :{BLACK}Seleccionar patrón de carreteras para este municipio
@@ -2701,7 +2717,13 @@ STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD
# Framerate display window # Framerate display window
STR_FRAMERATE_CAPTION :{WHITE}Fotogramas por segundo - FPS STR_FRAMERATE_CAPTION :{WHITE}Fotogramas por segundo - FPS
STR_FRAMERATE_CAPTION_SMALL :{STRING}{WHITE} ({DECIMAL}x)
STR_FRAMERATE_RATE_GAMELOOP :{BLACK}Tasa de Simulación: {STRING}
STR_FRAMERATE_RATE_GAMELOOP_TOOLTIP :{BLACK}Número de ticks de juego simulados por segundo.
STR_FRAMERATE_RATE_BLITTER :{BLACK}FPS de gráficos: {STRING}
STR_FRAMERATE_RATE_BLITTER_TOOLTIP :{BLACK}Número de fotogramas renderizados por segundo. STR_FRAMERATE_RATE_BLITTER_TOOLTIP :{BLACK}Número de fotogramas renderizados por segundo.
STR_FRAMERATE_SPEED_FACTOR :{BLACK}Factor de velocidad de juego actual: {DECIMAL}x
STR_FRAMERATE_SPEED_FACTOR_TOOLTIP :{BLACK}Rapidez actual del juego comparada con la esperada durante una simulación normal.
STR_FRAMERATE_CURRENT :{WHITE}Actual STR_FRAMERATE_CURRENT :{WHITE}Actual
STR_FRAMERATE_AVERAGE :{WHITE}Medio STR_FRAMERATE_AVERAGE :{WHITE}Medio
STR_FRAMERATE_DATA_POINTS :{BLACK}Datos basados en {COMMA} medidas STR_FRAMERATE_DATA_POINTS :{BLACK}Datos basados en {COMMA} medidas
@@ -2714,21 +2736,38 @@ STR_FRAMERATE_FPS_BAD :{RED}{DECIMAL}
STR_FRAMERATE_GRAPH_MILLISECONDS :{TINY_FONT}{COMMA} ms STR_FRAMERATE_GRAPH_MILLISECONDS :{TINY_FONT}{COMMA} ms
STR_FRAMERATE_GRAPH_SECONDS :{TINY_FONT}{COMMA} s STR_FRAMERATE_GRAPH_SECONDS :{TINY_FONT}{COMMA} s
############ Leave those lines in this order!! ############ Leave those lines in this order!!
STR_FRAMERATE_GAMELOOP :{BLACK}Bucles de juego totales:
STR_FRAMERATE_GL_ECONOMY :{BLACK} Manejo de cargamento
STR_FRAMERATE_GL_TRAINS :{BLACK} Ticks de trenes: STR_FRAMERATE_GL_TRAINS :{BLACK} Ticks de trenes:
STR_FRAMERATE_GL_ROADVEHS :{BLACK} Ticks de vehículos de carretera: STR_FRAMERATE_GL_ROADVEHS :{BLACK} Ticks de vehículos de carretera:
STR_FRAMERATE_GL_SHIPS :{BLACK} Ticks de barcos: STR_FRAMERATE_GL_SHIPS :{BLACK} Ticks de barcos:
STR_FRAMERATE_GL_AIRCRAFT :{BLACK} Ticks de aeronaves: STR_FRAMERATE_GL_AIRCRAFT :{BLACK} Ticks de aeronaves:
STR_FRAMERATE_GL_LANDSCAPE :{BLACK} Ticks de mapa:
STR_FRAMERATE_GL_LINKGRAPH :{BLACK} Retraso del gráfico de distribución:
STR_FRAMERATE_DRAWING :{BLACK}Renderizado gráfico: STR_FRAMERATE_DRAWING :{BLACK}Renderizado gráfico:
STR_FRAMERATE_DRAWING_VIEWPORTS :{BLACK} Ventanas de vista generales:
STR_FRAMERATE_VIDEO :{BLACK}Salida de vídeo: STR_FRAMERATE_VIDEO :{BLACK}Salida de vídeo:
STR_FRAMERATE_SOUND :{BLACK}Mezcla de sonido: STR_FRAMERATE_SOUND :{BLACK}Mezcla de sonido:
STR_FRAMERATE_ALLSCRIPTS :{BLACK} Total de scripts:
STR_FRAMERATE_GAMESCRIPT :{BLACK} Script de juego:
STR_FRAMERATE_AI :{BLACK} IA {NUM} {STRING}
############ End of leave-in-this-order ############ End of leave-in-this-order
############ Leave those lines in this order!! ############ Leave those lines in this order!!
STR_FRAMETIME_CAPTION_GAMELOOP :Bucle de juego
STR_FRAMETIME_CAPTION_GL_ECONOMY :Manejo de cargamento
STR_FRAMETIME_CAPTION_GL_TRAINS :Ticks de trenes STR_FRAMETIME_CAPTION_GL_TRAINS :Ticks de trenes
STR_FRAMETIME_CAPTION_GL_ROADVEHS :Ticks de vehículo de carretera
STR_FRAMETIME_CAPTION_GL_SHIPS :Ticks de barcos STR_FRAMETIME_CAPTION_GL_SHIPS :Ticks de barcos
STR_FRAMETIME_CAPTION_GL_AIRCRAFT :Ticks de aeronaves STR_FRAMETIME_CAPTION_GL_AIRCRAFT :Ticks de aeronaves
STR_FRAMETIME_CAPTION_GL_LANDSCAPE :Ticks de mapa
STR_FRAMETIME_CAPTION_GL_LINKGRAPH :Retraso del gráfico de distribución
STR_FRAMETIME_CAPTION_DRAWING :Renderizado gráfico STR_FRAMETIME_CAPTION_DRAWING :Renderizado gráfico
STR_FRAMETIME_CAPTION_DRAWING_VIEWPORTS :Representación de la vista del Mundo
STR_FRAMETIME_CAPTION_VIDEO :Salida de vídeo STR_FRAMETIME_CAPTION_VIDEO :Salida de vídeo
STR_FRAMETIME_CAPTION_SOUND :Mezcla de sonido STR_FRAMETIME_CAPTION_SOUND :Mezcla de sonido
STR_FRAMETIME_CAPTION_ALLSCRIPTS :Scripts de juego e IA en total
STR_FRAMETIME_CAPTION_GAMESCRIPT :Script de juego
STR_FRAMETIME_CAPTION_AI :IA {NUM} {STRING}
############ End of leave-in-this-order ############ End of leave-in-this-order
@@ -2755,6 +2794,8 @@ STR_SAVELOAD_DETAIL_NOT_AVAILABLE :{BLACK}No hay i
STR_SAVELOAD_DETAIL_COMPANY_INDEX :{SILVER}{COMMA}: {WHITE}{STRING} STR_SAVELOAD_DETAIL_COMPANY_INDEX :{SILVER}{COMMA}: {WHITE}{STRING}
STR_SAVELOAD_DETAIL_GRFSTATUS :{SILVER}NewGRF: {WHITE}{STRING} STR_SAVELOAD_DETAIL_GRFSTATUS :{SILVER}NewGRF: {WHITE}{STRING}
STR_SAVELOAD_FILTER_TITLE :{BLACK}Patrón de filtrado: STR_SAVELOAD_FILTER_TITLE :{BLACK}Patrón de filtrado:
STR_SAVELOAD_OVERWRITE_TITLE :{WHITE}Sobrescribir Archivo
STR_SAVELOAD_OVERWRITE_WARNING :{YELLOW}¿Está seguro de querer sobrescribir el archivo existente?
STR_SAVELOAD_OSKTITLE :{BLACK}Introduce un nombre para el juego guardado STR_SAVELOAD_OSKTITLE :{BLACK}Introduce un nombre para el juego guardado
@@ -2874,6 +2915,8 @@ STR_NEWGRF_SETTINGS_MD5SUM :{BLACK}MD5sum:
STR_NEWGRF_SETTINGS_PALETTE :{BLACK}Paleta: {SILVER}{STRING} STR_NEWGRF_SETTINGS_PALETTE :{BLACK}Paleta: {SILVER}{STRING}
STR_NEWGRF_SETTINGS_PALETTE_DEFAULT :Por Defecto (D) STR_NEWGRF_SETTINGS_PALETTE_DEFAULT :Por Defecto (D)
STR_NEWGRF_SETTINGS_PALETTE_DEFAULT_32BPP :Por Defecto (D) / 32 bpp STR_NEWGRF_SETTINGS_PALETTE_DEFAULT_32BPP :Por Defecto (D) / 32 bpp
STR_NEWGRF_SETTINGS_PALETTE_LEGACY :Viejo (W)
STR_NEWGRF_SETTINGS_PALETTE_LEGACY_32BPP :Viejo (W) / 32 bpp
STR_NEWGRF_SETTINGS_PARAMETER :{BLACK}Parámetros: {SILVER}{STRING} STR_NEWGRF_SETTINGS_PARAMETER :{BLACK}Parámetros: {SILVER}{STRING}
STR_NEWGRF_SETTINGS_PARAMETER_NONE :Ninguno STR_NEWGRF_SETTINGS_PARAMETER_NONE :Ninguno
@@ -2957,6 +3000,7 @@ STR_NEWGRF_ERROR_GRM_FAILED :Recursos GRF so
STR_NEWGRF_ERROR_FORCEFULLY_DISABLED :{1:STRING} fue desactivado por {STRING} STR_NEWGRF_ERROR_FORCEFULLY_DISABLED :{1:STRING} fue desactivado por {STRING}
STR_NEWGRF_ERROR_INVALID_SPRITE_LAYOUT :Formato de colocación de sprites inválido o desconocido (sprite {3:NUM}) STR_NEWGRF_ERROR_INVALID_SPRITE_LAYOUT :Formato de colocación de sprites inválido o desconocido (sprite {3:NUM})
STR_NEWGRF_ERROR_LIST_PROPERTY_TOO_LONG :Demasiados elementos en la lista de valores de propiedad (sprite {3:NUM}, propiedad {4:HEX}) STR_NEWGRF_ERROR_LIST_PROPERTY_TOO_LONG :Demasiados elementos en la lista de valores de propiedad (sprite {3:NUM}, propiedad {4:HEX})
STR_NEWGRF_ERROR_INDPROD_CALLBACK :Llamada de producción de industria no válida (sprite {3:NUM}, "{2:STRING}")
# NewGRF related 'general' warnings # NewGRF related 'general' warnings
STR_NEWGRF_POPUP_CAUTION_CAPTION :{WHITE}¡Precaución! STR_NEWGRF_POPUP_CAUTION_CAPTION :{WHITE}¡Precaución!
@@ -2988,6 +3032,7 @@ STR_NEWGRF_BUGGY :{WHITE}El NewGR
STR_NEWGRF_BUGGY_ARTICULATED_CARGO :{WHITE}La información de carga/reforma para '{1:ENGINE}' difiere de la de lista de compra después de la construcción. Esto puede causar que la renovación/reemplazo automático no haga la reforma correcta STR_NEWGRF_BUGGY_ARTICULATED_CARGO :{WHITE}La información de carga/reforma para '{1:ENGINE}' difiere de la de lista de compra después de la construcción. Esto puede causar que la renovación/reemplazo automático no haga la reforma correcta
STR_NEWGRF_BUGGY_ENDLESS_PRODUCTION_CALLBACK :{WHITE}'{1:STRING}' ha causado un bucle sin fin en la 'callback' de producción STR_NEWGRF_BUGGY_ENDLESS_PRODUCTION_CALLBACK :{WHITE}'{1:STRING}' ha causado un bucle sin fin en la 'callback' de producción
STR_NEWGRF_BUGGY_UNKNOWN_CALLBACK_RESULT :{WHITE}'Callback' {1:HEX} devolvió el resultado desconocido o inválido {2:HEX} STR_NEWGRF_BUGGY_UNKNOWN_CALLBACK_RESULT :{WHITE}'Callback' {1:HEX} devolvió el resultado desconocido o inválido {2:HEX}
STR_NEWGRF_BUGGY_INVALID_CARGO_PRODUCTION_CALLBACK :{WHITE}'{1:STRING}' ha retornado tipo de carga inválida en el 'callback' de producción en {2:HEX}
# 'User removed essential NewGRFs'-placeholders for stuff without specs # 'User removed essential NewGRFs'-placeholders for stuff without specs
STR_NEWGRF_INVALID_CARGO :<carga incorrecta> STR_NEWGRF_INVALID_CARGO :<carga incorrecta>
@@ -3082,6 +3127,7 @@ STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW}Soborna
# Goal window # Goal window
STR_GOALS_CAPTION :{WHITE}Metas de {COMPANY} STR_GOALS_CAPTION :{WHITE}Metas de {COMPANY}
STR_GOALS_SPECTATOR_CAPTION :{WHITE}Metas Globales STR_GOALS_SPECTATOR_CAPTION :{WHITE}Metas Globales
STR_GOALS_SPECTATOR :Metas Globales
STR_GOALS_GLOBAL_TITLE :{BLACK}Metas globales: STR_GOALS_GLOBAL_TITLE :{BLACK}Metas globales:
STR_GOALS_TEXT :{ORANGE}{STRING} STR_GOALS_TEXT :{ORANGE}{STRING}
STR_GOALS_NONE :{ORANGE}- Ninguna - STR_GOALS_NONE :{ORANGE}- Ninguna -
@@ -3130,6 +3176,7 @@ STR_SUBSIDIES_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Click so
# Story book window # Story book window
STR_STORY_BOOK_CAPTION :{WHITE}Historial de {COMPANY} STR_STORY_BOOK_CAPTION :{WHITE}Historial de {COMPANY}
STR_STORY_BOOK_SPECTATOR_CAPTION :{WHITE}Historial Global STR_STORY_BOOK_SPECTATOR_CAPTION :{WHITE}Historial Global
STR_STORY_BOOK_SPECTATOR :Historial Global
STR_STORY_BOOK_TITLE :{YELLOW}{STRING} STR_STORY_BOOK_TITLE :{YELLOW}{STRING}
STR_STORY_BOOK_GENERIC_PAGE_ITEM :Página {NUM} STR_STORY_BOOK_GENERIC_PAGE_ITEM :Página {NUM}
STR_STORY_BOOK_SEL_PAGE_TOOLTIP :{BLACK}Permite saltar a una página específica al seleccionarla en esta lista desplegable STR_STORY_BOOK_SEL_PAGE_TOOLTIP :{BLACK}Permite saltar a una página específica al seleccionarla en esta lista desplegable
@@ -3336,6 +3383,7 @@ STR_INDUSTRY_VIEW_INDUSTRY_ANNOUNCED_CLOSURE :{YELLOW}La indu
STR_INDUSTRY_VIEW_REQUIRES_N_CARGO :{BLACK}Requiere: {YELLOW}{STRING}{STRING} STR_INDUSTRY_VIEW_REQUIRES_N_CARGO :{BLACK}Requiere: {YELLOW}{STRING}{STRING}
STR_INDUSTRY_VIEW_PRODUCES_N_CARGO :{BLACK}Produce: {YELLOW}{STRING}{STRING} STR_INDUSTRY_VIEW_PRODUCES_N_CARGO :{BLACK}Produce: {YELLOW}{STRING}{STRING}
STR_INDUSTRY_VIEW_CARGO_LIST_EXTENSION :, {STRING}{STRING}
STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Necesita: STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Necesita:
STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING}{BLACK}{3:STRING} STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING}{BLACK}{3:STRING}
@@ -3393,6 +3441,7 @@ STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Grupos -
STR_GROUP_CREATE_TOOLTIP :{BLACK}Click para crear un grupo STR_GROUP_CREATE_TOOLTIP :{BLACK}Click para crear un grupo
STR_GROUP_DELETE_TOOLTIP :{BLACK}Borrar el grupo seleccionado STR_GROUP_DELETE_TOOLTIP :{BLACK}Borrar el grupo seleccionado
STR_GROUP_RENAME_TOOLTIP :{BLACK}Renombrar el grupo seleccionado STR_GROUP_RENAME_TOOLTIP :{BLACK}Renombrar el grupo seleccionado
STR_GROUP_LIVERY_TOOLTIP :{BLACK}Cambiar el color del grupo seleccionado
STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Click para proteger este grupo del auto reemplazado global STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Click para proteger este grupo del auto reemplazado global
STR_QUERY_GROUP_DELETE_CAPTION :{WHITE}Borrar Grupo STR_QUERY_GROUP_DELETE_CAPTION :{WHITE}Borrar Grupo
@@ -3436,6 +3485,7 @@ STR_PURCHASE_INFO_AIRCRAFT_CAPACITY :{BLACK}Capacida
STR_PURCHASE_INFO_PWAGPOWER_PWAGWEIGHT :{BLACK}Vagones con motor: {GOLD}+{POWER}{BLACK} Peso: {GOLD}+{WEIGHT_SHORT} STR_PURCHASE_INFO_PWAGPOWER_PWAGWEIGHT :{BLACK}Vagones con motor: {GOLD}+{POWER}{BLACK} Peso: {GOLD}+{WEIGHT_SHORT}
STR_PURCHASE_INFO_REFITTABLE_TO :{BLACK}Reformable a: {GOLD}{STRING} STR_PURCHASE_INFO_REFITTABLE_TO :{BLACK}Reformable a: {GOLD}{STRING}
STR_PURCHASE_INFO_ALL_TYPES :Todos los tipos de carga STR_PURCHASE_INFO_ALL_TYPES :Todos los tipos de carga
STR_PURCHASE_INFO_NONE :Sin carga
STR_PURCHASE_INFO_ALL_BUT :Todo excepto {CARGO_LIST} STR_PURCHASE_INFO_ALL_BUT :Todo excepto {CARGO_LIST}
STR_PURCHASE_INFO_MAX_TE :{BLACK}F.T máxima: {GOLD}{FORCE} STR_PURCHASE_INFO_MAX_TE :{BLACK}F.T máxima: {GOLD}{FORCE}
STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Alcance: {GOLD}{COMMA} casillas STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Alcance: {GOLD}{COMMA} casillas
@@ -4268,7 +4318,6 @@ STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD :{WHITE}... esta
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... carretera en la dirección incorrecta STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... carretera en la dirección incorrecta
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... las estaciones de autobús de paso no pueden tener esquinas STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... las estaciones de autobús de paso no pueden tener esquinas
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... las estaciones de autobús de paso no pueden tener intersecciones STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... las estaciones de autobús de paso no pueden tener intersecciones
STR_ERROR_DRIVE_THROUGH_ON_ONEWAY_ROAD :{WHITE}... carretera de un solo sentido o bloqueada
# Station destruction related errors # Station destruction related errors
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}No se puede retirar parte de la estación... STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}No se puede retirar parte de la estación...

View File

@@ -4318,7 +4318,6 @@ STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD :{WHITE}... esta
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... carretera en el sentido incorrecto STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... carretera en el sentido incorrecto
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... las estaciones y paradas intermedias no pueden ponerse sobre esquinas STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... las estaciones y paradas intermedias no pueden ponerse sobre esquinas
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... las estaciones y paradas intermedias no pueden ponerse sobre intersecciones STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... las estaciones y paradas intermedias no pueden ponerse sobre intersecciones
STR_ERROR_DRIVE_THROUGH_ON_ONEWAY_ROAD :{WHITE}... la carretera está bloqueada o es de un solo sentido
# Station destruction related errors # Station destruction related errors
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}No se puede quitar parte de la estación... STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}No se puede quitar parte de la estación...

View File

@@ -466,6 +466,7 @@ STR_TOOLBAR_SOUND_MUSIC :Ljud/musik
############ range for message menu starts ############ range for message menu starts
STR_NEWS_MENU_LAST_MESSAGE_NEWS_REPORT :Senaste meddelandet/nyheten STR_NEWS_MENU_LAST_MESSAGE_NEWS_REPORT :Senaste meddelandet/nyheten
STR_NEWS_MENU_MESSAGE_HISTORY_MENU :Meddelandehistorik STR_NEWS_MENU_MESSAGE_HISTORY_MENU :Meddelandehistorik
STR_NEWS_MENU_DELETE_ALL_MESSAGES :Ta bort alla meddelanden
############ range ends here ############ range ends here
############ range for about menu starts ############ range for about menu starts
@@ -988,13 +989,18 @@ STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}Välj vi
STR_GAME_OPTIONS_RESOLUTION_OTHER :annan STR_GAME_OPTIONS_RESOLUTION_OTHER :annan
STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Gränssnittstorlek STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Gränssnittstorlek
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Välj vilken gränssnittsstorlek som används STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Välj vilken gränssnittsstorlek som ska användas
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Normal STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Normal
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Dubbel storlek STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Dubbel storlek
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Fyrdubbel storlek STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Fyrdubbel storlek
STR_GAME_OPTIONS_FONT_ZOOM :{BLACK}Storlek på typsnitt
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Välj vilken storlek som ska användas på gränssnittets typsnitt
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Normal
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Dubbel storlek
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :Kvadrupel storlek
STR_GAME_OPTIONS_BASE_GRF :{BLACK}Grafikpaket som standard STR_GAME_OPTIONS_BASE_GRF :{BLACK}Grafikpaket som standard
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Välj vilket grafikpaket som ska användas som standard STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Välj vilket grafikpaket som ska användas som standard
@@ -2083,6 +2089,7 @@ STR_NETWORK_CONNECTION_DISCONNECT :{BLACK}Koppla i
STR_NETWORK_NEED_GAME_PASSWORD_CAPTION :{WHITE}Servern är skyddad. Ange lösenord STR_NETWORK_NEED_GAME_PASSWORD_CAPTION :{WHITE}Servern är skyddad. Ange lösenord
STR_NETWORK_NEED_COMPANY_PASSWORD_CAPTION :{WHITE}Företaget är skyddat. Ange lösenord STR_NETWORK_NEED_COMPANY_PASSWORD_CAPTION :{WHITE}Företaget är skyddat. Ange lösenord
STR_NETWORK_COMPANY_LIST_CLIENT_LIST_CAPTION :{WHITE}Klientlista
# Network company list added strings # Network company list added strings
STR_NETWORK_COMPANY_LIST_CLIENT_LIST :Klientlista STR_NETWORK_COMPANY_LIST_CLIENT_LIST :Klientlista
@@ -2740,6 +2747,9 @@ STR_FRAMERATE_DRAWING :{BLACK}Grafikå
STR_FRAMERATE_DRAWING_VIEWPORTS :{BLACK} Vyfönster: STR_FRAMERATE_DRAWING_VIEWPORTS :{BLACK} Vyfönster:
STR_FRAMERATE_VIDEO :{BLACK}Videoutmatning: STR_FRAMERATE_VIDEO :{BLACK}Videoutmatning:
STR_FRAMERATE_SOUND :{BLACK}Ljudmixning: STR_FRAMERATE_SOUND :{BLACK}Ljudmixning:
STR_FRAMERATE_ALLSCRIPTS :{BLACK} GS/AI totalt:
STR_FRAMERATE_GAMESCRIPT :{BLACK} Spelskript:
STR_FRAMERATE_AI :{BLACK} AI {NUM} {STRING}
############ End of leave-in-this-order ############ End of leave-in-this-order
############ Leave those lines in this order!! ############ Leave those lines in this order!!
STR_FRAMETIME_CAPTION_GAMELOOP :Spel-loop STR_FRAMETIME_CAPTION_GAMELOOP :Spel-loop
@@ -2754,6 +2764,9 @@ STR_FRAMETIME_CAPTION_DRAWING :Grafikåtergivn
STR_FRAMETIME_CAPTION_DRAWING_VIEWPORTS :Återgivning av vyer STR_FRAMETIME_CAPTION_DRAWING_VIEWPORTS :Återgivning av vyer
STR_FRAMETIME_CAPTION_VIDEO :Videoutmatning STR_FRAMETIME_CAPTION_VIDEO :Videoutmatning
STR_FRAMETIME_CAPTION_SOUND :Ljudmixning STR_FRAMETIME_CAPTION_SOUND :Ljudmixning
STR_FRAMETIME_CAPTION_ALLSCRIPTS :GS/AI skripts totalt
STR_FRAMETIME_CAPTION_GAMESCRIPT :Spelskript
STR_FRAMETIME_CAPTION_AI :AI {NUM} {STRING}
############ End of leave-in-this-order ############ End of leave-in-this-order
@@ -3018,6 +3031,7 @@ STR_NEWGRF_BUGGY :{WHITE}NewGRF '
STR_NEWGRF_BUGGY_ARTICULATED_CARGO :{WHITE}Last/återställnings information för '{1:ENGINE}' är skilld ifrån köp lista efter konstruktion. Detta kan leda till att utomatisk förnyelse/uppgradering misslyckas med att anpassa fordonen/vagnarna korrekt STR_NEWGRF_BUGGY_ARTICULATED_CARGO :{WHITE}Last/återställnings information för '{1:ENGINE}' är skilld ifrån köp lista efter konstruktion. Detta kan leda till att utomatisk förnyelse/uppgradering misslyckas med att anpassa fordonen/vagnarna korrekt
STR_NEWGRF_BUGGY_ENDLESS_PRODUCTION_CALLBACK :{WHITE}'{1:STRING}' skapade en oändlig loop i en produktions-callback-funktion STR_NEWGRF_BUGGY_ENDLESS_PRODUCTION_CALLBACK :{WHITE}'{1:STRING}' skapade en oändlig loop i en produktions-callback-funktion
STR_NEWGRF_BUGGY_UNKNOWN_CALLBACK_RESULT :{WHITE}Callback-funktion {1:HEX} returnerade ett okänt/ogiltligt resultat {2:HEX} STR_NEWGRF_BUGGY_UNKNOWN_CALLBACK_RESULT :{WHITE}Callback-funktion {1:HEX} returnerade ett okänt/ogiltligt resultat {2:HEX}
STR_NEWGRF_BUGGY_INVALID_CARGO_PRODUCTION_CALLBACK :{WHITE}'{1:STRING}' returnerade ogiltig lasttyp i produktions-callback vid {2:HEX}
# 'User removed essential NewGRFs'-placeholders for stuff without specs # 'User removed essential NewGRFs'-placeholders for stuff without specs
STR_NEWGRF_INVALID_CARGO :<invalid cargo> STR_NEWGRF_INVALID_CARGO :<invalid cargo>
@@ -3112,6 +3126,7 @@ STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW} Muta d
# Goal window # Goal window
STR_GOALS_CAPTION :{WHITE}{COMPANY} Mål STR_GOALS_CAPTION :{WHITE}{COMPANY} Mål
STR_GOALS_SPECTATOR_CAPTION :{WHITE}Globala mål STR_GOALS_SPECTATOR_CAPTION :{WHITE}Globala mål
STR_GOALS_SPECTATOR :Globala mål
STR_GOALS_GLOBAL_TITLE :{BLACK}Globala mål: STR_GOALS_GLOBAL_TITLE :{BLACK}Globala mål:
STR_GOALS_TEXT :{ORANGE}{STRING} STR_GOALS_TEXT :{ORANGE}{STRING}
STR_GOALS_NONE :{ORANGE}- Inga - STR_GOALS_NONE :{ORANGE}- Inga -
@@ -3160,6 +3175,7 @@ STR_SUBSIDIES_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Klicka f
# Story book window # Story book window
STR_STORY_BOOK_CAPTION :{WHITE}{COMPANY} berättelsebok STR_STORY_BOOK_CAPTION :{WHITE}{COMPANY} berättelsebok
STR_STORY_BOOK_SPECTATOR_CAPTION :{WHITE}Global berättelsebok STR_STORY_BOOK_SPECTATOR_CAPTION :{WHITE}Global berättelsebok
STR_STORY_BOOK_SPECTATOR :Global berättelsebok
STR_STORY_BOOK_TITLE :{YELLOW}{STRING} STR_STORY_BOOK_TITLE :{YELLOW}{STRING}
STR_STORY_BOOK_GENERIC_PAGE_ITEM :Sida {NUM} STR_STORY_BOOK_GENERIC_PAGE_ITEM :Sida {NUM}
STR_STORY_BOOK_SEL_PAGE_TOOLTIP :{BLACK}Hoppa till valfri sida genom att välja sidan i denna lista STR_STORY_BOOK_SEL_PAGE_TOOLTIP :{BLACK}Hoppa till valfri sida genom att välja sidan i denna lista
@@ -3790,7 +3806,7 @@ STR_VEHICLE_DETAILS_TRAIN_ARTICULATED_RV_CAPACITY :{BLACK}Kapacite
# Vehicle refit # Vehicle refit
STR_REFIT_CAPTION :{WHITE}{VEHICLE} (Anpassa) STR_REFIT_CAPTION :{WHITE}{VEHICLE} (Anpassa)
STR_REFIT_TITLE :{GOLD}Välj godstyp att frakta: STR_REFIT_TITLE :{GOLD}Välj godstyp att frakta:
STR_REFIT_NEW_CAPACITY_COST_OF_REFIT :{BLACK}Ny kapacitet: {GOLD}{CARGO_LONG}{}{BLACK}Anpassningens kostnad: {RED}{CURRENCY_LONG} STR_REFIT_NEW_CAPACITY_COST_OF_REFIT :{BLACK}Ny kapacitet: {GOLD}{CARGO_LONG}{}{BLACK}Kostnad för anpassning: {RED}{CURRENCY_LONG}
STR_REFIT_NEW_CAPACITY_INCOME_FROM_REFIT :{BLACK}Ny kapacitet: {GOLD}{CARGO_LONG}{}{BLACK}Inkomstens vinst: {GREEN}{CURRENCY_LONG} STR_REFIT_NEW_CAPACITY_INCOME_FROM_REFIT :{BLACK}Ny kapacitet: {GOLD}{CARGO_LONG}{}{BLACK}Inkomstens vinst: {GREEN}{CURRENCY_LONG}
STR_REFIT_NEW_CAPACITY_COST_OF_AIRCRAFT_REFIT :{BLACK}Ny kapacitet: {GOLD}{CARGO_LONG}, {GOLD}{CARGO_LONG}{}{BLACK}Kostnad för anpassning: {RED}{CURRENCY_LONG} STR_REFIT_NEW_CAPACITY_COST_OF_AIRCRAFT_REFIT :{BLACK}Ny kapacitet: {GOLD}{CARGO_LONG}, {GOLD}{CARGO_LONG}{}{BLACK}Kostnad för anpassning: {RED}{CURRENCY_LONG}
STR_REFIT_NEW_CAPACITY_INCOME_FROM_AIRCRAFT_REFIT :{BLACK}Ny kapacitet: {GOLD}{CARGO_LONG}. {GOLD}{CARGO_LONG}{}{BLACK}Inkomstens vinst: {GREEN}{CURRENCY_LONG} STR_REFIT_NEW_CAPACITY_INCOME_FROM_AIRCRAFT_REFIT :{BLACK}Ny kapacitet: {GOLD}{CARGO_LONG}. {GOLD}{CARGO_LONG}{}{BLACK}Inkomstens vinst: {GREEN}{CURRENCY_LONG}
@@ -4301,7 +4317,6 @@ STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD :{WHITE}... dett
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... vägen pekar i fel riktning STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... vägen pekar i fel riktning
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... genomfartshållplatser kan inte ha gatuhörn STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... genomfartshållplatser kan inte ha gatuhörn
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... genomfartshållplatser kan inte ha korsningar STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... genomfartshållplatser kan inte ha korsningar
STR_ERROR_DRIVE_THROUGH_ON_ONEWAY_ROAD :{WHITE}... vägen är enkelriktad eller blockerad
# Station destruction related errors # Station destruction related errors
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Kan ej ta bort del av station... STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Kan ej ta bort del av station...

View File

@@ -4310,7 +4310,6 @@ STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD :{WHITE}... bu y
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... yol yanlış yönde STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... yol yanlış yönde
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... yol üstü duraklar köşe üzerine inşa edilemez STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... yol üstü duraklar köşe üzerine inşa edilemez
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... yol üstü duraklar kavşak üzerine inşa edilemez STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... yol üstü duraklar kavşak üzerine inşa edilemez
STR_ERROR_DRIVE_THROUGH_ON_ONEWAY_ROAD :{WHITE}... yol tek yön ya da engellenmiş
# Station destruction related errors # Station destruction related errors
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}İstasyonun parçasi kaldırılamaz... STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}İstasyonun parçasi kaldırılamaz...

View File

@@ -567,7 +567,7 @@ STR_RAIL_MENU_MAGLEV_CONSTRUCTION :Будівни
############ range for road construction menu starts ############ range for road construction menu starts
STR_ROAD_MENU_ROAD_CONSTRUCTION :Будівництво автомобільних доріг STR_ROAD_MENU_ROAD_CONSTRUCTION :Будівництво автомобільних доріг
STR_ROAD_MENU_TRAM_CONSTRUCTION :Будівництво трамвайних доріг STR_ROAD_MENU_TRAM_CONSTRUCTION :Будівництво трамвайних колій
############ range ends here ############ range ends here
############ range for waterways construction menu starts ############ range for waterways construction menu starts
@@ -2543,7 +2543,7 @@ STR_BRIDGE_TUBULAR_SILICON :Трубчас
# Road construction toolbar # Road construction toolbar
STR_ROAD_TOOLBAR_ROAD_CONSTRUCTION_CAPTION :{WHITE}Автомобільне будівництво STR_ROAD_TOOLBAR_ROAD_CONSTRUCTION_CAPTION :{WHITE}Автомобільне будівництво
STR_ROAD_TOOLBAR_TRAM_CONSTRUCTION_CAPTION :{WHITE}Трамвайне будівництво STR_ROAD_TOOLBAR_TRAM_CONSTRUCTION_CAPTION :{WHITE}Будівництво трамвайних колій
STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_SECTION :{BLACK}Будувати дорогу. Ctrl переключає побудову/знесення для будівництва доріг. Утримуйте Shift для показу витрат STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_SECTION :{BLACK}Будувати дорогу. Ctrl переключає побудову/знесення для будівництва доріг. Утримуйте Shift для показу витрат
STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_SECTION :{BLACK}Будувати трамвайну колію. Ctrl переключає побудову/знесення для будівництва трамвайної колії. Утримуйте Shift для показу витрат на будівництво STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_SECTION :{BLACK}Будувати трамвайну колію. Ctrl переключає побудову/знесення для будівництва трамвайної колії. Утримуйте Shift для показу витрат на будівництво
STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOROAD :{BLACK}Будувати дорогу в режимі Автобудування. Ctrl переключає побудову/знесення для будівництва доріг. Утримуйте Shift для показу витрат на будівництво STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOROAD :{BLACK}Будувати дорогу в режимі Автобудування. Ctrl переключає побудову/знесення для будівництва доріг. Утримуйте Shift для показу витрат на будівництво
@@ -4446,7 +4446,6 @@ STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD :{WHITE}... ця
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... дорога не в тому напрямку STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... дорога не в тому напрямку
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... проїзні зупинки не можуть мати поворотів STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... проїзні зупинки не можуть мати поворотів
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... проїзні зупинки не можуть мати перехресть STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... проїзні зупинки не можуть мати перехресть
STR_ERROR_DRIVE_THROUGH_ON_ONEWAY_ROAD :{WHITE}... дорога одностороння або заблокована
# Station destruction related errors # Station destruction related errors
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Не можна зруйнувати частину станції... STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Не можна зруйнувати частину станції...
@@ -4462,7 +4461,7 @@ STR_ERROR_MUST_DEMOLISH_RAILROAD :{WHITE}Споч
STR_ERROR_MUST_DEMOLISH_BUS_STATION_FIRST :{WHITE}Спочатку зруйнуйте зупинку STR_ERROR_MUST_DEMOLISH_BUS_STATION_FIRST :{WHITE}Спочатку зруйнуйте зупинку
STR_ERROR_MUST_DEMOLISH_TRUCK_STATION_FIRST :{WHITE}Спочатку зруйнуйте вантажну станцію STR_ERROR_MUST_DEMOLISH_TRUCK_STATION_FIRST :{WHITE}Спочатку зруйнуйте вантажну станцію
STR_ERROR_MUST_DEMOLISH_PASSENGER_TRAM_STATION_FIRST :{WHITE}Спочатку треба знести пасажирську трамвайну станцію STR_ERROR_MUST_DEMOLISH_PASSENGER_TRAM_STATION_FIRST :{WHITE}Спочатку треба знести пасажирську трамвайну станцію
STR_ERROR_MUST_DEMOLISH_CARGO_TRAM_STATION_FIRST :{WHITE}Спочатку треба знести вантажну трамвайну станцію STR_ERROR_MUST_DEMOLISH_CARGO_TRAM_STATION_FIRST :{WHITE}Спочатку зруйнуйте товарну трамвайну станцію
STR_ERROR_MUST_DEMOLISH_DOCK_FIRST :{WHITE}Спочатку зруйнуйте порт STR_ERROR_MUST_DEMOLISH_DOCK_FIRST :{WHITE}Спочатку зруйнуйте порт
STR_ERROR_MUST_DEMOLISH_AIRPORT_FIRST :{WHITE}Спочатку зруйнуйте аеропорт STR_ERROR_MUST_DEMOLISH_AIRPORT_FIRST :{WHITE}Спочатку зруйнуйте аеропорт

View File

@@ -4279,7 +4279,6 @@ STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD :{WHITE}... đâ
STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... đường quay mặt sai hướng STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... đường quay mặt sai hướng
STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... đi qua điểm dừng không thể đi qua góc STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... đi qua điểm dừng không thể đi qua góc
STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... đi qua điểm dừng không thể có ngã rẽ STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... đi qua điểm dừng không thể có ngã rẽ
STR_ERROR_DRIVE_THROUGH_ON_ONEWAY_ROAD :{WHITE}... đường 1 chiều hoặc bị chặn
# Station destruction related errors # Station destruction related errors
STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Không thể xoá bỏ một phần của ga... STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Không thể xoá bỏ một phần của ga...

View File

@@ -674,6 +674,7 @@ STR_PLAYLIST_TRACK_NAME :{TINY_FONT}{LTB
STR_PLAYLIST_TRACK_INDEX :{TINY_FONT}{BLACK}Indecs Traciau STR_PLAYLIST_TRACK_INDEX :{TINY_FONT}{BLACK}Indecs Traciau
STR_PLAYLIST_PROGRAM :{TINY_FONT}{BLACK}Rhaglen - '{STRING}' STR_PLAYLIST_PROGRAM :{TINY_FONT}{BLACK}Rhaglen - '{STRING}'
STR_PLAYLIST_CLEAR :{TINY_FONT}{BLACK}Clirio STR_PLAYLIST_CLEAR :{TINY_FONT}{BLACK}Clirio
STR_PLAYLIST_CHANGE_SET :{BLACK}Newid set
STR_PLAYLIST_TOOLTIP_CLEAR_CURRENT_PROGRAM_CUSTOM1 :{BLACK}Clirio'r rhaglen gyfredol (Cyfaddas 1 neu Cyfaddas 2) STR_PLAYLIST_TOOLTIP_CLEAR_CURRENT_PROGRAM_CUSTOM1 :{BLACK}Clirio'r rhaglen gyfredol (Cyfaddas 1 neu Cyfaddas 2)
STR_PLAYLIST_TOOLTIP_CLICK_TO_ADD_TRACK :{BLACK}Cliciwch i ychwanegu trac cerddoriaeth i'r rhaglen gyfredol (Cyfaddas 1 Neu Cyfaddas 2 yn unig) STR_PLAYLIST_TOOLTIP_CLICK_TO_ADD_TRACK :{BLACK}Cliciwch i ychwanegu trac cerddoriaeth i'r rhaglen gyfredol (Cyfaddas 1 Neu Cyfaddas 2 yn unig)
STR_PLAYLIST_TOOLTIP_CLICK_TO_REMOVE_TRACK :{BLACK}Cliciwch i dynnu trac cerddoriaeth o'r rhaglen gyfredol (Cyfaddas 1 Neu Cyfaddas 2 yn unig) STR_PLAYLIST_TOOLTIP_CLICK_TO_REMOVE_TRACK :{BLACK}Cliciwch i dynnu trac cerddoriaeth o'r rhaglen gyfredol (Cyfaddas 1 Neu Cyfaddas 2 yn unig)
@@ -922,6 +923,7 @@ STR_GAME_OPTIONS_CURRENCY_ZAR :Rand De Affrica
STR_GAME_OPTIONS_CURRENCY_CUSTOM :Addasedig... STR_GAME_OPTIONS_CURRENCY_CUSTOM :Addasedig...
STR_GAME_OPTIONS_CURRENCY_GEL :Lari Georgia (GEL) STR_GAME_OPTIONS_CURRENCY_GEL :Lari Georgia (GEL)
STR_GAME_OPTIONS_CURRENCY_IRR :Rial Iran (IRR) STR_GAME_OPTIONS_CURRENCY_IRR :Rial Iran (IRR)
STR_GAME_OPTIONS_CURRENCY_RUB :Rwbl Rwsaidd Newydd (RUB)
############ end of currency region ############ end of currency region
STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}Cerbydau Ffordd STR_GAME_OPTIONS_ROAD_VEHICLES_FRAME :{BLACK}Cerbydau Ffordd
@@ -1805,6 +1807,7 @@ STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}Newid y
STR_CHEAT_SETUP_PROD :{LTBLUE}Galluogi newid graddfeydd cynhyrchu: {ORANGE}{STRING} STR_CHEAT_SETUP_PROD :{LTBLUE}Galluogi newid graddfeydd cynhyrchu: {ORANGE}{STRING}
# Livery window # Livery window
STR_LIVERY_CAPTION :{WHITE}{COMPANY} - Cynllun Lliw
STR_LIVERY_GENERAL_TOOLTIP :{BLACK}Dangos cynllun lliw cyffredinol STR_LIVERY_GENERAL_TOOLTIP :{BLACK}Dangos cynllun lliw cyffredinol
STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Dangos cynllun lliw trenau STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Dangos cynllun lliw trenau
@@ -2688,9 +2691,14 @@ STR_ABOUT_VERSION :{BLACK}fersiwn
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2019 Y tîm OpenTTD STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2019 Y tîm OpenTTD
# Framerate display window # Framerate display window
STR_FRAMERATE_RATE_BLITTER_TOOLTIP :{BLACK}Nifer o fframiau fideo a lunir bob eiliad.
STR_FRAMERATE_SPEED_FACTOR_TOOLTIP :{BLACK}Pa mor gyflym mae'r gêm yn rhedeg, o gymharu a'r cyflymder i'w ddisgwyl ar gyfradd efelychu arferol.
STR_FRAMERATE_FPS_GOOD :{LTBLUE}{DECIMAL} frâm yr eiliad
############ Leave those lines in this order!! ############ Leave those lines in this order!!
STR_FRAMERATE_GL_ECONOMY :{BLACK} Trin cargo:
############ End of leave-in-this-order ############ End of leave-in-this-order
############ Leave those lines in this order!! ############ Leave those lines in this order!!
STR_FRAMETIME_CAPTION_VIDEO :Allbwn fideo
############ End of leave-in-this-order ############ End of leave-in-this-order
@@ -2945,6 +2953,7 @@ STR_NEWGRF_BUGGY :{WHITE}Mae NewG
STR_NEWGRF_BUGGY_ARTICULATED_CARGO :{WHITE}Mae'r wybodaeth llwyth/ailffitio ar gyfer '{1:ENGINE}' yn wahanol i'r rhestr brynu wedi'r adeiladu. Gall hyn beri i awtoadnewyddu/-ddisodli fethu ag ailfitio'n gywir STR_NEWGRF_BUGGY_ARTICULATED_CARGO :{WHITE}Mae'r wybodaeth llwyth/ailffitio ar gyfer '{1:ENGINE}' yn wahanol i'r rhestr brynu wedi'r adeiladu. Gall hyn beri i awtoadnewyddu/-ddisodli fethu ag ailfitio'n gywir
STR_NEWGRF_BUGGY_ENDLESS_PRODUCTION_CALLBACK :{WHITE}'{1:STRING}' wedi creu lŵp diddiwedd yn y system adalw cynhyrchu STR_NEWGRF_BUGGY_ENDLESS_PRODUCTION_CALLBACK :{WHITE}'{1:STRING}' wedi creu lŵp diddiwedd yn y system adalw cynhyrchu
STR_NEWGRF_BUGGY_UNKNOWN_CALLBACK_RESULT :{WHITE}Dychwelodd adalwad {1:HEX} ganlyniad anhysbys/annilys {2:HEX} STR_NEWGRF_BUGGY_UNKNOWN_CALLBACK_RESULT :{WHITE}Dychwelodd adalwad {1:HEX} ganlyniad anhysbys/annilys {2:HEX}
STR_NEWGRF_BUGGY_INVALID_CARGO_PRODUCTION_CALLBACK :{WHITE}'{1:STRING}' wedi dychwelyd math cargo annilys yn yr adalwad cynhyrchu yn {2:HEX}
# 'User removed essential NewGRFs'-placeholders for stuff without specs # 'User removed essential NewGRFs'-placeholders for stuff without specs
STR_NEWGRF_INVALID_CARGO :<llwyth annilys> STR_NEWGRF_INVALID_CARGO :<llwyth annilys>
@@ -3788,6 +3797,7 @@ STR_ORDER_CONDITIONAL_AGE :Oed (blynyddoed
STR_ORDER_CONDITIONAL_REQUIRES_SERVICE :Angen gwasanaeth STR_ORDER_CONDITIONAL_REQUIRES_SERVICE :Angen gwasanaeth
STR_ORDER_CONDITIONAL_UNCONDITIONALLY :Bob tro STR_ORDER_CONDITIONAL_UNCONDITIONALLY :Bob tro
STR_ORDER_CONDITIONAL_REMAINING_LIFETIME :Oes yn weddill (blynyddoedd) STR_ORDER_CONDITIONAL_REMAINING_LIFETIME :Oes yn weddill (blynyddoedd)
STR_ORDER_CONDITIONAL_MAX_RELIABILITY :Dibynadwyedd uchafsymol
STR_ORDER_CONDITIONAL_COMPARATOR_TOOLTIP :{BLACK}Sut i gymharu'r data cerbyd i'r gwerth a roddwyd STR_ORDER_CONDITIONAL_COMPARATOR_TOOLTIP :{BLACK}Sut i gymharu'r data cerbyd i'r gwerth a roddwyd
STR_ORDER_CONDITIONAL_COMPARATOR_EQUALS :yn hafal i STR_ORDER_CONDITIONAL_COMPARATOR_EQUALS :yn hafal i
@@ -4471,6 +4481,8 @@ STR_BASESOUNDS_DOS_DESCRIPTION :Effeithiau sain
STR_BASESOUNDS_WIN_DESCRIPTION :Effeithiau sain gwreiddiol fersiwn Windows o Transport Tycoon Deluxe. STR_BASESOUNDS_WIN_DESCRIPTION :Effeithiau sain gwreiddiol fersiwn Windows o Transport Tycoon Deluxe.
STR_BASESOUNDS_NONE_DESCRIPTION :Pecyn sain heb unrhyw effeithiau sain ynddo. STR_BASESOUNDS_NONE_DESCRIPTION :Pecyn sain heb unrhyw effeithiau sain ynddo.
STR_BASEMUSIC_WIN_DESCRIPTION :Cerddoriaeth gwreiddiol fersion Windows o Transport Tycoon Deluxe. STR_BASEMUSIC_WIN_DESCRIPTION :Cerddoriaeth gwreiddiol fersion Windows o Transport Tycoon Deluxe.
STR_BASEMUSIC_DOS_DESCRIPTION :Cerddoriaeth gwreiddiol fersiwn DOS o Transport Tycoon Deluxe.
STR_BASEMUSIC_TTO_DESCRIPTION :Cerddoriaeth gwreiddiol fersion DOS o Transport Tycoon Deluxe (Gwreiddiol/Golygydd Byd).
STR_BASEMUSIC_NONE_DESCRIPTION :Pecyn cerddoriaeth heb unrhyw gerddoriaeth ynddo. STR_BASEMUSIC_NONE_DESCRIPTION :Pecyn cerddoriaeth heb unrhyw gerddoriaeth ynddo.
##id 0x2000 ##id 0x2000

View File

@@ -53,7 +53,7 @@
static int _rename_id = 1; static int _rename_id = 1;
static int _rename_what = -1; static int _rename_what = -1;
void CcGiveMoney(const CommandCost &result, TileIndex tile, uint32 p1, uint32 p2) void CcGiveMoney(const CommandCost &result, TileIndex tile, uint32 p1, uint32 p2, uint32 cmd)
{ {
#ifdef ENABLE_NETWORK #ifdef ENABLE_NETWORK
if (result.Failed() || !_settings_game.economy.give_money) return; if (result.Failed() || !_settings_game.economy.give_money) return;
@@ -121,7 +121,7 @@ bool HandlePlacePushButton(Window *w, int widget, CursorID cursor, HighLightStyl
} }
void CcPlaySound_EXPLOSION(const CommandCost &result, TileIndex tile, uint32 p1, uint32 p2) void CcPlaySound_EXPLOSION(const CommandCost &result, TileIndex tile, uint32 p1, uint32 p2, uint32 cmd)
{ {
if (result.Succeeded() && _settings_client.sound.confirm) SndPlayTileFx(SND_12_EXPLOSION, tile); if (result.Succeeded() && _settings_client.sound.confirm) SndPlayTileFx(SND_12_EXPLOSION, tile);
} }
@@ -207,6 +207,16 @@ void ZoomInOrOutToCursorWindow(bool in, Window *w)
} }
} }
void FixTitleGameZoom()
{
if (_game_mode != GM_MENU) return;
ViewPort *vp = FindWindowByClass(WC_MAIN_WINDOW)->viewport;
vp->zoom = _gui_zoom;
vp->virtual_width = ScaleByZoom(vp->width, vp->zoom);
vp->virtual_height = ScaleByZoom(vp->height, vp->zoom);
}
static const struct NWidgetPart _nested_main_window_widgets[] = { static const struct NWidgetPart _nested_main_window_widgets[] = {
NWidget(NWID_VIEWPORT, INVALID_COLOUR, WID_M_VIEWPORT), SetResize(1, 1), NWidget(NWID_VIEWPORT, INVALID_COLOUR, WID_M_VIEWPORT), SetResize(1, 1),
}; };

View File

@@ -698,7 +698,7 @@ struct TooltipsWindow : public Window
if (_settings_client.gui.windows_titlebars) { if (_settings_client.gui.windows_titlebars) {
// Move it to the top of the screen, away from mouse cursor, so it won't steal screen taps on Android // Move it to the top of the screen, away from mouse cursor, so it won't steal screen taps on Android
pt.y = GetMainViewTop(); pt.y = GetMainViewTop();
if (_cursor.pos.y < pt.y + GetMinSizing(NWST_STEP)) { if (_cursor.pos.y < pt.y + (int)GetMinSizing(NWST_STEP)) {
pt.x = _cursor.pos.x > _screen.width / 2 ? GetMinSizing(NWST_STEP) : _screen.width - sm_width - GetMinSizing(NWST_STEP); pt.x = _cursor.pos.x > _screen.width / 2 ? GetMinSizing(NWST_STEP) : _screen.width - sm_width - GetMinSizing(NWST_STEP);
} }
} }

View File

@@ -538,19 +538,19 @@ static void TransmitChannelMsg(IDirectMusicBuffer *buffer, REFERENCE_TIME rt, by
} }
} }
static void TransmitSysex(IDirectMusicBuffer *buffer, REFERENCE_TIME rt, byte *&msg_start, size_t &remaining) static void TransmitSysex(IDirectMusicBuffer *buffer, REFERENCE_TIME rt, const byte *&msg_start, size_t &remaining)
{ {
/* Find end of message. */ /* Find end of message. */
byte *msg_end = msg_start; const byte *msg_end = msg_start;
while (*msg_end != MIDIST_ENDSYSEX) msg_end++; while (*msg_end != MIDIST_ENDSYSEX) msg_end++;
msg_end++; // Also include SysEx end byte. msg_end++; // Also include SysEx end byte.
if (buffer->PackUnstructured(rt, 0, msg_end - msg_start, msg_start) == E_OUTOFMEMORY) { if (buffer->PackUnstructured(rt, 0, msg_end - msg_start, const_cast<LPBYTE>(msg_start)) == E_OUTOFMEMORY) {
/* Buffer is full, clear it and try again. */ /* Buffer is full, clear it and try again. */
_port->PlayBuffer(buffer); _port->PlayBuffer(buffer);
buffer->Flush(); buffer->Flush();
buffer->PackUnstructured(rt, 0, msg_end - msg_start, msg_start); buffer->PackUnstructured(rt, 0, msg_end - msg_start, const_cast<LPBYTE>(msg_start));
} }
/* Update position in buffer. */ /* Update position in buffer. */
@@ -558,9 +558,11 @@ static void TransmitSysex(IDirectMusicBuffer *buffer, REFERENCE_TIME rt, byte *&
msg_start = msg_end; msg_start = msg_end;
} }
static void TransmitSysexConst(IDirectMusicBuffer *buffer, REFERENCE_TIME rt, byte *msg_start, size_t length) static void TransmitStandardSysex(IDirectMusicBuffer *buffer, REFERENCE_TIME rt, MidiSysexMessage msg)
{ {
TransmitSysex(buffer, rt, msg_start, length); size_t length = 0;
const byte *data = MidiGetStandardSysexMessage(msg, length);
TransmitSysex(buffer, rt, data, length);
} }
/** Transmit 'Note off' messages to all MIDI channels. */ /** Transmit 'Note off' messages to all MIDI channels. */
@@ -571,27 +573,16 @@ static void TransmitNotesOff(IDirectMusicBuffer *buffer, REFERENCE_TIME block_ti
TransmitChannelMsg(_buffer, block_time + 10, MIDIST_CONTROLLER | ch, MIDICT_SUSTAINSW, 0); TransmitChannelMsg(_buffer, block_time + 10, MIDIST_CONTROLLER | ch, MIDICT_SUSTAINSW, 0);
TransmitChannelMsg(_buffer, block_time + 10, MIDIST_CONTROLLER | ch, MIDICT_MODE_RESETALLCTRL, 0); TransmitChannelMsg(_buffer, block_time + 10, MIDIST_CONTROLLER | ch, MIDICT_MODE_RESETALLCTRL, 0);
} }
/* Explicitly flush buffer to make sure the note off messages are processed
* before we send any additional control messages. */ /* Performing a GM reset stops all sound and resets all parameters. */
TransmitStandardSysex(_buffer, block_time + 20, MidiSysexMessage::ResetGM);
TransmitStandardSysex(_buffer, block_time + 30, MidiSysexMessage::RolandSetReverb);
/* Explicitly flush buffer to make sure the messages are processed,
* as we want sound to stop immediately. */
_port->PlayBuffer(_buffer); _port->PlayBuffer(_buffer);
_buffer->Flush(); _buffer->Flush();
/* Some songs change the "Pitch bend range" registered parameter. If
* this doesn't get reset, everything else will start sounding wrong. */
for (int ch = 0; ch < 16; ch++) {
/* Running status, only need status for first message
* Select RPN 00.00, set value to 02.00, and de-select again */
TransmitChannelMsg(_buffer, block_time + 10, MIDIST_CONTROLLER | ch, MIDICT_RPN_SELECT_LO, 0x00);
TransmitChannelMsg(_buffer, block_time + 10, MIDICT_RPN_SELECT_HI, 0x00);
TransmitChannelMsg(_buffer, block_time + 10, MIDICT_DATAENTRY, 0x02);
TransmitChannelMsg(_buffer, block_time + 10, MIDICT_DATAENTRY_LO, 0x00);
TransmitChannelMsg(_buffer, block_time + 10, MIDICT_RPN_SELECT_LO, 0x7F);
TransmitChannelMsg(_buffer, block_time + 10, MIDICT_RPN_SELECT_HI, 0x7F);
_port->PlayBuffer(_buffer);
_buffer->Flush();
}
/* Wait until message time has passed. */ /* Wait until message time has passed. */
Sleep(Clamp((block_time - cur_time) / MS_TO_REFTIME, 5, 1000)); Sleep(Clamp((block_time - cur_time) / MS_TO_REFTIME, 5, 1000));
} }
@@ -616,13 +607,6 @@ static void MidiThreadProc(void *)
REFERENCE_TIME cur_time; REFERENCE_TIME cur_time;
clock->GetTime(&cur_time); clock->GetTime(&cur_time);
/* Standard "Enable General MIDI" message */
static byte gm_enable_sysex[] = { 0xF0, 0x7E, 0x00, 0x09, 0x01, 0xF7 };
TransmitSysexConst(_buffer, cur_time, &gm_enable_sysex[0], sizeof(gm_enable_sysex));
/* Roland-specific reverb room control, used by the original game */
static byte roland_reverb_sysex[] = { 0xF0, 0x41, 0x10, 0x42, 0x12, 0x40, 0x01, 0x30, 0x02, 0x04, 0x00, 0x40, 0x40, 0x00, 0x00, 0x09, 0xF7 };
TransmitSysexConst(_buffer, cur_time, &roland_reverb_sysex[0], sizeof(roland_reverb_sysex));
_port->PlayBuffer(_buffer); _port->PlayBuffer(_buffer);
_buffer->Flush(); _buffer->Flush();
@@ -665,7 +649,7 @@ static void MidiThreadProc(void *)
_playback.do_start = false; _playback.do_start = false;
} }
/* Turn all notes off in case we are seeking between music titles. */ /* Reset playback device between songs. */
clock->GetTime(&cur_time); clock->GetTime(&cur_time);
TransmitNotesOff(_buffer, block_time, cur_time); TransmitNotesOff(_buffer, block_time, cur_time);
@@ -751,7 +735,7 @@ static void MidiThreadProc(void *)
block_time = playback_start_time + block.realtime * MIDITIME_TO_REFTIME; block_time = playback_start_time + block.realtime * MIDITIME_TO_REFTIME;
DEBUG(driver, 9, "DMusic thread: Streaming block " PRINTF_SIZE " (cur=" OTTD_PRINTF64 ", block=" OTTD_PRINTF64 ")", current_block, (long long)(current_time / MS_TO_REFTIME), (long long)(block_time / MS_TO_REFTIME)); DEBUG(driver, 9, "DMusic thread: Streaming block " PRINTF_SIZE " (cur=" OTTD_PRINTF64 ", block=" OTTD_PRINTF64 ")", current_block, (long long)(current_time / MS_TO_REFTIME), (long long)(block_time / MS_TO_REFTIME));
byte *data = block.data.Begin(); const byte *data = block.data.Begin();
size_t remaining = block.data.Length(); size_t remaining = block.data.Length();
byte last_status = 0; byte last_status = 0;
while (remaining > 0) { while (remaining > 0) {

View File

@@ -141,4 +141,19 @@ enum MidiController {
MIDICT_MODE_POLY = 127, MIDICT_MODE_POLY = 127,
}; };
/** Well-known MIDI system exclusive message values for use with the MidiGetStandardSysexMessage function. */
enum class MidiSysexMessage {
/** Reset device to General MIDI defaults */
ResetGM,
/** Reset device to (Roland) General Standard defaults */
ResetGS,
/** Reset device to (Yamaha) XG defaults */
ResetXG,
/** Set up Roland SoundCanvas reverb room as TTD does */
RolandSetReverb,
};
const byte *MidiGetStandardSysexMessage(MidiSysexMessage msg, size_t &length);
#endif /* MUSIC_MIDI_H */ #endif /* MUSIC_MIDI_H */

View File

@@ -27,6 +27,37 @@
static MidiFile *_midifile_instance = NULL; static MidiFile *_midifile_instance = NULL;
/**
* Retrieve a well-known MIDI system exclusive message.
* @param msg Which sysex message to retrieve
* @param[out] length Receives the length of the returned buffer
* @return Pointer to byte buffer with sysex message
*/
const byte *MidiGetStandardSysexMessage(MidiSysexMessage msg, size_t &length)
{
static byte reset_gm_sysex[] = { 0xF0, 0x7E, 0x7F, 0x09, 0x01, 0xF7 };
static byte reset_gs_sysex[] = { 0xF0, 0x41, 0x10, 0x42, 0x12, 0x40, 0x00, 0x7F, 0x00, 0x41, 0xF7 };
static byte reset_xg_sysex[] = { 0xF0, 0x43, 0x10, 0x4C, 0x00, 0x00, 0x7E, 0x00, 0xF7 };
static byte roland_reverb_sysex[] = { 0xF0, 0x41, 0x10, 0x42, 0x12, 0x40, 0x01, 0x30, 0x02, 0x04, 0x00, 0x40, 0x40, 0x00, 0x00, 0x09, 0xF7 };
switch (msg) {
case MidiSysexMessage::ResetGM:
length = lengthof(reset_gm_sysex);
return reset_gm_sysex;
case MidiSysexMessage::ResetGS:
length = lengthof(reset_gs_sysex);
return reset_gs_sysex;
case MidiSysexMessage::ResetXG:
length = lengthof(reset_xg_sysex);
return reset_xg_sysex;
case MidiSysexMessage::RolandSetReverb:
length = lengthof(roland_reverb_sysex);
return roland_reverb_sysex;
default:
NOT_REACHED();
}
}
/** /**
* Owning byte buffer readable as a stream. * Owning byte buffer readable as a stream.
* RAII-compliant to make teardown in error situations easier. * RAII-compliant to make teardown in error situations easier.

View File

@@ -35,7 +35,7 @@ static struct {
CRITICAL_SECTION lock; ///< synchronization for playback status fields CRITICAL_SECTION lock; ///< synchronization for playback status fields
bool playing; ///< flag indicating that playback is active bool playing; ///< flag indicating that playback is active
bool do_start; ///< flag for starting playback of next_file at next opportunity int do_start; ///< flag for starting playback of next_file at next opportunity
bool do_stop; ///< flag for stopping playback at next opportunity bool do_stop; ///< flag for stopping playback at next opportunity
byte current_volume; ///< current effective volume setting byte current_volume; ///< current effective volume setting
byte new_volume; ///< volume setting to change to byte new_volume; ///< volume setting to change to
@@ -73,10 +73,10 @@ static void TransmitChannelMsg(byte status, byte p1, byte p2 = 0)
midiOutShortMsg(_midi.midi_out, status | (p1 << 8) | (p2 << 16)); midiOutShortMsg(_midi.midi_out, status | (p1 << 8) | (p2 << 16));
} }
static void TransmitSysex(byte *&msg_start, size_t &remaining) static void TransmitSysex(const byte *&msg_start, size_t &remaining)
{ {
/* find end of message */ /* find end of message */
byte *msg_end = msg_start; const byte *msg_end = msg_start;
while (*msg_end != MIDIST_ENDSYSEX) msg_end++; while (*msg_end != MIDIST_ENDSYSEX) msg_end++;
msg_end++; /* also include sysex end byte */ msg_end++; /* also include sysex end byte */
@@ -97,9 +97,11 @@ static void TransmitSysex(byte *&msg_start, size_t &remaining)
msg_start = msg_end; msg_start = msg_end;
} }
static void TransmitSysexConst(byte *msg_start, size_t length) static void TransmitStandardSysex(MidiSysexMessage msg)
{ {
TransmitSysex(msg_start, length); size_t length = 0;
const byte *data = MidiGetStandardSysexMessage(msg, length);
TransmitSysex(data, length);
} }
/** /**
@@ -108,82 +110,94 @@ static void TransmitSysexConst(byte *msg_start, size_t length)
*/ */
void CALLBACK TimerCallback(UINT uTimerID, UINT, DWORD_PTR dwUser, DWORD_PTR, DWORD_PTR) void CALLBACK TimerCallback(UINT uTimerID, UINT, DWORD_PTR dwUser, DWORD_PTR, DWORD_PTR)
{ {
/* Try to check playback status changes. /* Ensure only one timer callback is running at once, and prevent races on status flags */
* If _midi is already locked, skip checking for this cycle and try again if (!TryEnterCriticalSection(&_midi.lock)) return;
* next cycle, instead of waiting for locks in the realtime callback. */
if (TryEnterCriticalSection(&_midi.lock)) { /* check for stop */
/* check for stop */ if (_midi.do_stop) {
if (_midi.do_stop) { DEBUG(driver, 2, "Win32-MIDI: timer: do_stop is set");
DEBUG(driver, 2, "Win32-MIDI: timer: do_stop is set"); midiOutReset(_midi.midi_out);
midiOutReset(_midi.midi_out); _midi.playing = false;
_midi.playing = false; _midi.do_stop = false;
_midi.do_stop = false; LeaveCriticalSection(&_midi.lock);
return;
}
/* check for start/restart/change song */
if (_midi.do_start != 0) {
/* Have a delay between playback start steps, prevents jumbled-together notes at the start of song */
if (timeGetTime() - _midi.playback_start_time < 50) {
LeaveCriticalSection(&_midi.lock); LeaveCriticalSection(&_midi.lock);
return; return;
} }
DEBUG(driver, 2, "Win32-MIDI: timer: do_start step %d", _midi.do_start);
/* check for start/restart/change song */ if (_midi.do_start == 1) {
if (_midi.do_start) { /* Send "all notes off" */
DEBUG(driver, 2, "Win32-MIDI: timer: do_start is set"); midiOutReset(_midi.midi_out);
if (_midi.playing) { _midi.playback_start_time = timeGetTime();
midiOutReset(_midi.midi_out); _midi.do_start = 2;
/* Some songs change the "Pitch bend range" registered
* parameter. If this doesn't get reset, everything else LeaveCriticalSection(&_midi.lock);
* will start sounding wrong. */ return;
for (int ch = 0; ch < 16; ch++) { } else if (_midi.do_start == 2) {
/* Running status, only need status for first message */ /* Reset the device to General MIDI defaults */
/* Select RPN 00.00, set value to 02.00, and unselect again */ TransmitStandardSysex(MidiSysexMessage::ResetGM);
TransmitChannelMsg(MIDIST_CONTROLLER | ch, MIDICT_RPN_SELECT_LO, 0x00); _midi.playback_start_time = timeGetTime();
TransmitChannelMsg(MIDICT_RPN_SELECT_HI, 0x00); _midi.do_start = 3;
TransmitChannelMsg(MIDICT_DATAENTRY, 0x02);
TransmitChannelMsg(MIDICT_DATAENTRY_LO, 0x00); LeaveCriticalSection(&_midi.lock);
TransmitChannelMsg(MIDICT_RPN_SELECT_LO, 0x7F); return;
TransmitChannelMsg(MIDICT_RPN_SELECT_HI, 0x7F); } else if (_midi.do_start == 3) {
} /* Set up device-specific effects */
} TransmitStandardSysex(MidiSysexMessage::RolandSetReverb);
_midi.playback_start_time = timeGetTime();
_midi.do_start = 4;
LeaveCriticalSection(&_midi.lock);
return;
} else if (_midi.do_start == 4) {
/* Load the new file */
_midi.current_file.MoveFrom(_midi.next_file); _midi.current_file.MoveFrom(_midi.next_file);
std::swap(_midi.next_segment, _midi.current_segment); std::swap(_midi.next_segment, _midi.current_segment);
_midi.current_segment.start_block = 0; _midi.current_segment.start_block = 0;
_midi.playback_start_time = timeGetTime(); _midi.playback_start_time = timeGetTime();
_midi.playing = true; _midi.playing = true;
_midi.do_start = false; _midi.do_start = 0;
_midi.current_block = 0; _midi.current_block = 0;
MemSetT<byte>(_midi.channel_volumes, 127, lengthof(_midi.channel_volumes)); MemSetT<byte>(_midi.channel_volumes, 127, lengthof(_midi.channel_volumes));
} else if (!_midi.playing) {
/* not playing, stop the timer */
DEBUG(driver, 2, "Win32-MIDI: timer: not playing, stopping timer");
timeKillEvent(uTimerID);
_midi.timer_id = 0;
LeaveCriticalSection(&_midi.lock);
return;
} }
} else if (!_midi.playing) {
/* check for volume change */ /* not playing, stop the timer */
static int volume_throttle = 0; DEBUG(driver, 2, "Win32-MIDI: timer: not playing, stopping timer");
if (_midi.current_volume != _midi.new_volume) { timeKillEvent(uTimerID);
if (volume_throttle == 0) { _midi.timer_id = 0;
DEBUG(driver, 2, "Win32-MIDI: timer: volume change");
_midi.current_volume = _midi.new_volume;
volume_throttle = 20 / _midi.time_period;
for (int ch = 0; ch < 16; ch++) {
int vol = ScaleVolume(_midi.channel_volumes[ch], _midi.current_volume);
TransmitChannelMsg(MIDIST_CONTROLLER | ch, MIDICT_CHANVOLUME, vol);
}
}
else {
volume_throttle--;
}
}
LeaveCriticalSection(&_midi.lock); LeaveCriticalSection(&_midi.lock);
return;
}
/* check for volume change */
static int volume_throttle = 0;
if (_midi.current_volume != _midi.new_volume) {
if (volume_throttle == 0) {
DEBUG(driver, 2, "Win32-MIDI: timer: volume change");
_midi.current_volume = _midi.new_volume;
volume_throttle = 20 / _midi.time_period;
for (int ch = 0; ch < 16; ch++) {
byte vol = ScaleVolume(_midi.channel_volumes[ch], _midi.current_volume);
TransmitChannelMsg(MIDIST_CONTROLLER | ch, MIDICT_CHANVOLUME, vol);
}
} else {
volume_throttle--;
}
} }
/* skip beginning of file? */ /* skip beginning of file? */
if (_midi.current_segment.start > 0 && _midi.current_block == 0 && _midi.current_segment.start_block == 0) { if (_midi.current_segment.start > 0 && _midi.current_block == 0 && _midi.current_segment.start_block == 0) {
/* find first block after start time and pretend playback started earlier /* find first block after start time and pretend playback started earlier
* this is to allow all blocks prior to the actual start to still affect playback, * this is to allow all blocks prior to the actual start to still affect playback,
* as they may contain important controller and program changes */ * as they may contain important controller and program changes */
uint preload_bytes = 0; uint preload_bytes = 0;
for (size_t bl = 0; bl < _midi.current_file.blocks.size(); bl++) { for (size_t bl = 0; bl < _midi.current_file.blocks.size(); bl++) {
MidiFile::DataBlock &block = _midi.current_file.blocks[bl]; MidiFile::DataBlock &block = _midi.current_file.blocks[bl];
@@ -200,7 +214,7 @@ void CALLBACK TimerCallback(UINT uTimerID, UINT, DWORD_PTR dwUser, DWORD_PTR, DW
* The delay compensation is needed to avoid time-compression of following messages. * The delay compensation is needed to avoid time-compression of following messages.
*/ */
DEBUG(driver, 2, "Win32-MIDI: timer: start from block %d (ticktime %d, realtime %.3f, bytes %d)", (int)bl, (int)block.ticktime, ((int)block.realtime) / 1000.0, (int)preload_bytes); DEBUG(driver, 2, "Win32-MIDI: timer: start from block %d (ticktime %d, realtime %.3f, bytes %d)", (int)bl, (int)block.ticktime, ((int)block.realtime) / 1000.0, (int)preload_bytes);
_midi.playback_start_time -= block.realtime / 1000 - preload_bytes * 1000 / 3125; _midi.playback_start_time -= block.realtime / 1000 - (DWORD)(preload_bytes * 1000 / 3125);
break; break;
} }
} }
@@ -229,7 +243,7 @@ void CALLBACK TimerCallback(UINT uTimerID, UINT, DWORD_PTR dwUser, DWORD_PTR, DW
break; break;
} }
byte *data = block.data.Begin(); const byte *data = block.data.Begin();
size_t remaining = block.data.Length(); size_t remaining = block.data.Length();
byte last_status = 0; byte last_status = 0;
while (remaining > 0) { while (remaining > 0) {
@@ -308,25 +322,28 @@ void CALLBACK TimerCallback(UINT uTimerID, UINT, DWORD_PTR dwUser, DWORD_PTR, DW
_midi.do_stop = true; _midi.do_stop = true;
} }
} }
LeaveCriticalSection(&_midi.lock);
} }
void MusicDriver_Win32::PlaySong(const MusicSongInfo &song) void MusicDriver_Win32::PlaySong(const MusicSongInfo &song)
{ {
DEBUG(driver, 2, "Win32-MIDI: PlaySong: entry"); DEBUG(driver, 2, "Win32-MIDI: PlaySong: entry");
MidiFile new_song;
if (!new_song.LoadSong(song)) return;
DEBUG(driver, 2, "Win32-MIDI: PlaySong: Loaded song");
EnterCriticalSection(&_midi.lock); EnterCriticalSection(&_midi.lock);
if (!_midi.next_file.LoadSong(song)) { _midi.next_file.MoveFrom(new_song);
LeaveCriticalSection(&_midi.lock);
return;
}
_midi.next_segment.start = song.override_start; _midi.next_segment.start = song.override_start;
_midi.next_segment.end = song.override_end; _midi.next_segment.end = song.override_end;
_midi.next_segment.loop = song.loop; _midi.next_segment.loop = song.loop;
DEBUG(driver, 2, "Win32-MIDI: PlaySong: setting flag"); DEBUG(driver, 2, "Win32-MIDI: PlaySong: setting flag");
_midi.do_stop = _midi.playing; _midi.do_stop = _midi.playing;
_midi.do_start = true; _midi.do_start = 1;
if (_midi.timer_id == 0) { if (_midi.timer_id == 0) {
DEBUG(driver, 2, "Win32-MIDI: PlaySong: starting timer"); DEBUG(driver, 2, "Win32-MIDI: PlaySong: starting timer");
@@ -347,7 +364,7 @@ void MusicDriver_Win32::StopSong()
bool MusicDriver_Win32::IsSongPlaying() bool MusicDriver_Win32::IsSongPlaying()
{ {
return _midi.playing || _midi.do_start; return _midi.playing || (_midi.do_start != 0);
} }
void MusicDriver_Win32::SetVolume(byte vol) void MusicDriver_Win32::SetVolume(byte vol)
@@ -381,14 +398,6 @@ const char *MusicDriver_Win32::Start(const char * const *parm)
midiOutReset(_midi.midi_out); midiOutReset(_midi.midi_out);
/* Standard "Enable General MIDI" message */
static byte gm_enable_sysex[] = { 0xF0, 0x7E, 0x00, 0x09, 0x01, 0xF7 };
TransmitSysexConst(&gm_enable_sysex[0], sizeof(gm_enable_sysex));
/* Roland-specific reverb room control, used by the original game */
static byte roland_reverb_sysex[] = { 0xF0, 0x41, 0x10, 0x42, 0x12, 0x40, 0x01, 0x30, 0x02, 0x04, 0x00, 0x40, 0x40, 0x00, 0x00, 0x09, 0xF7 };
TransmitSysexConst(&roland_reverb_sysex[0], sizeof(roland_reverb_sysex));
/* prepare multimedia timer */ /* prepare multimedia timer */
TIMECAPS timecaps; TIMECAPS timecaps;
if (timeGetDevCaps(&timecaps, sizeof(timecaps)) == MMSYSERR_NOERROR) { if (timeGetDevCaps(&timecaps, sizeof(timecaps)) == MMSYSERR_NOERROR) {

View File

@@ -457,7 +457,7 @@ struct MusicTrackSelectionWindow : public Window {
uint GetNumberOfTracksOfTracklist() const uint GetNumberOfTracksOfTracklist() const
{ {
uint i = 0; uint i = 0;
for (; _playlists[_settings_client.music.playlist][i] > 0; i++) {} for (MusicSystem::Playlist::const_iterator song = _music.music_set.begin(); song != _music.music_set.end(); ++song, ++i) {}
return i; return i;
} }
@@ -549,8 +549,10 @@ struct MusicTrackSelectionWindow : public Window {
int y = r.top + WD_FRAMERECT_TOP; int y = r.top + WD_FRAMERECT_TOP;
uint vscroll_max = min(this->left_sb->GetPosition() + this->left_sb->GetCapacity(), NUM_SONGS_AVAILABLE); uint vscroll_max = min(this->left_sb->GetPosition() + this->left_sb->GetCapacity(), NUM_SONGS_AVAILABLE);
uint i = 0;
for (uint i = this->left_sb->GetPosition(); i < vscroll_max; i++) { for (MusicSystem::Playlist::const_iterator song = _music.music_set.begin(); song != _music.music_set.end(); ++song, i++) {
if (i < this->left_sb->GetPosition()) continue;
if (i >= vscroll_max) break;
SetDParam(0, song->tracknr); SetDParam(0, song->tracknr);
SetDParam(1, 2); SetDParam(1, 2);
SetDParamStr(2, song->songname); SetDParamStr(2, song->songname);
@@ -565,9 +567,10 @@ struct MusicTrackSelectionWindow : public Window {
int y = r.top + WD_FRAMERECT_TOP; int y = r.top + WD_FRAMERECT_TOP;
uint vscroll_max = min(this->right_sb->GetPosition() + this->right_sb->GetCapacity(), this->GetNumberOfTracksOfTracklist()); uint vscroll_max = min(this->right_sb->GetPosition() + this->right_sb->GetCapacity(), this->GetNumberOfTracksOfTracklist());
uint i = 0;
for (uint i = this->right_sb->GetPosition(); i < vscroll_max; i++) { for (MusicSystem::Playlist::const_iterator song = _music.music_set.begin(); song != _music.music_set.end(); ++song, i++) {
uint j = _playlists[_settings_client.music.playlist][i] - 1; if (i < this->right_sb->GetPosition()) continue;
if (i >= vscroll_max) break;
SetDParam(0, song->tracknr); SetDParam(0, song->tracknr);
SetDParam(1, 2); SetDParam(1, 2);
SetDParamStr(2, song->songname); SetDParamStr(2, song->songname);
@@ -843,11 +846,7 @@ struct MusicWindow : public Window {
if (new_vol < 3) new_vol = 0; if (new_vol < 3) new_vol = 0;
if (new_vol != *vol) { if (new_vol != *vol) {
*vol = new_vol; *vol = new_vol;
<<<<<<< HEAD
if (widget == WID_M_MUSIC_VOL) MusicDriver::GetInstance()->SetVolume(new_vol); if (widget == WID_M_MUSIC_VOL) MusicDriver::GetInstance()->SetVolume(new_vol);
=======
if (widget == WID_M_MUSIC_VOL) MusicVolumeChanged((new_vol * new_vol) / 127); // Kinda logarithmic scale
>>>>>>> origin/master
this->SetDirty(); this->SetDirty();
} }

View File

@@ -1675,7 +1675,7 @@ static void NetworkAutoCleanCompanies()
/* Is the company empty for autoclean_unprotected-months, and is there no protection? */ /* Is the company empty for autoclean_unprotected-months, and is there no protection? */
if (_settings_client.network.autoclean_unprotected != 0 && _network_company_states[c->index].months_empty > _settings_client.network.autoclean_unprotected && StrEmpty(_network_company_states[c->index].password)) { if (_settings_client.network.autoclean_unprotected != 0 && _network_company_states[c->index].months_empty > _settings_client.network.autoclean_unprotected && StrEmpty(_network_company_states[c->index].password)) {
/* Shut the company down */ /* Shut the company down */
DoCommandP(0, CCA_DELETE | c->index << 16, CRR_AUTOCLEAN, CMD_COMPANY_CTRL); DoCommandP(0, CCA_DELETE | c->index << 16 | CRR_AUTOCLEAN << 24, 0, CMD_COMPANY_CTRL);
IConsolePrintF(CC_DEFAULT, "Auto-cleaned company #%d with no password", c->index + 1); IConsolePrintF(CC_DEFAULT, "Auto-cleaned company #%d with no password", c->index + 1);
} }
/* Is the company empty for autoclean_protected-months, and there is a protection? */ /* Is the company empty for autoclean_protected-months, and there is a protection? */
@@ -1689,7 +1689,7 @@ static void NetworkAutoCleanCompanies()
/* Is the company empty for autoclean_novehicles-months, and has no vehicles? */ /* Is the company empty for autoclean_novehicles-months, and has no vehicles? */
if (_settings_client.network.autoclean_novehicles != 0 && _network_company_states[c->index].months_empty > _settings_client.network.autoclean_novehicles && vehicles_in_company[c->index] == 0) { if (_settings_client.network.autoclean_novehicles != 0 && _network_company_states[c->index].months_empty > _settings_client.network.autoclean_novehicles && vehicles_in_company[c->index] == 0) {
/* Shut the company down */ /* Shut the company down */
DoCommandP(0, CCA_DELETE | c->index << 16, CRR_AUTOCLEAN, CMD_COMPANY_CTRL); DoCommandP(0, CCA_DELETE | c->index << 16 | CRR_AUTOCLEAN << 24, 0, CMD_COMPANY_CTRL);
IConsolePrintF(CC_DEFAULT, "Auto-cleaned company #%d with no vehicles", c->index + 1); IConsolePrintF(CC_DEFAULT, "Auto-cleaned company #%d with no vehicles", c->index + 1);
} }
} else { } else {

View File

@@ -5480,7 +5480,8 @@ static void RailTypeMapSpriteGroup(ByteReader *buf, uint8 idcount)
{ {
uint8 *railtypes = AllocaM(uint8, idcount); uint8 *railtypes = AllocaM(uint8, idcount);
for (uint i = 0; i < idcount; i++) { for (uint i = 0; i < idcount; i++) {
railtypes[i] = _cur.grffile->railtype_map[buf->ReadByte()]; uint8 id = buf->ReadByte();
railtypes[i] = id < RAILTYPE_END ? _cur.grffile->railtype_map[id] : INVALID_RAILTYPE;
} }
uint8 cidcount = buf->ReadByte(); uint8 cidcount = buf->ReadByte();
@@ -5688,7 +5689,7 @@ static void FeatureNewName(ByteReader *buf)
bool new_scheme = _cur.grffile->grf_version >= 7; bool new_scheme = _cur.grffile->grf_version >= 7;
uint8 feature = buf->ReadByte(); uint8 feature = buf->ReadByte();
if (feature >= GSF_END) { if (feature >= GSF_END && feature != 0x48) {
grfmsg(1, "FeatureNewName: Unsupported feature 0x%02X, skipping", feature); grfmsg(1, "FeatureNewName: Unsupported feature 0x%02X, skipping", feature);
return; return;
} }

View File

@@ -163,7 +163,7 @@ struct GRFLoadedFeatures {
uint64 used_liveries; ///< Bitmask of #LiveryScheme used by the defined engines. uint64 used_liveries; ///< Bitmask of #LiveryScheme used by the defined engines.
bool has_newhouses; ///< Set if there are any newhouses loaded. bool has_newhouses; ///< Set if there are any newhouses loaded.
bool has_newindustries; ///< Set if there are any newindustries loaded. bool has_newindustries; ///< Set if there are any newindustries loaded.
ShoreReplacement shore; ///< It which way shore sprites were replaced. ShoreReplacement shore; ///< In which way shore sprites were replaced.
}; };
/** /**

View File

@@ -100,6 +100,7 @@ AirportSpec AirportSpec::specs[NUM_AIRPORTS]; ///< Airport specifications.
assert(type < lengthof(AirportSpec::specs)); assert(type < lengthof(AirportSpec::specs));
const AirportSpec *as = &AirportSpec::specs[type]; const AirportSpec *as = &AirportSpec::specs[type];
if (type >= NEW_AIRPORT_OFFSET && !as->enabled) { if (type >= NEW_AIRPORT_OFFSET && !as->enabled) {
if (_airport_mngr.GetGRFID(type) == 0) return as;
byte subst_id = _airport_mngr.GetSubstituteID(type); byte subst_id = _airport_mngr.GetSubstituteID(type);
if (subst_id == AT_INVALID) return as; if (subst_id == AT_INVALID) return as;
as = &AirportSpec::specs[subst_id]; as = &AirportSpec::specs[subst_id];

View File

@@ -45,8 +45,8 @@ const NewsItem *_statusbar_news_item = NULL;
static uint MIN_NEWS_AMOUNT = 30; ///< preferred minimum amount of news messages static uint MIN_NEWS_AMOUNT = 30; ///< preferred minimum amount of news messages
static uint _total_news = 0; ///< current number of news items static uint _total_news = 0; ///< current number of news items
NewsItem *_oldest_news = NULL; ///< head of news items queue static NewsItem *_oldest_news = NULL; ///< head of news items queue
static NewsItem *_latest_news = NULL; ///< tail of news items queue NewsItem *_latest_news = NULL; ///< tail of news items queue
/** /**
* Forced news item. * Forced news item.
@@ -54,7 +54,7 @@ static NewsItem *_latest_news = NULL; ///< tail of news items queue
* If the message being shown was forced by the user, a pointer is stored * If the message being shown was forced by the user, a pointer is stored
* in _forced_news. Otherwise, \a _forced_news variable is NULL. * in _forced_news. Otherwise, \a _forced_news variable is NULL.
*/ */
static const NewsItem *_forced_news = NULL; ///< item the user has asked for static const NewsItem *_forced_news = NULL;
/** Current news item (last item shown regularly). */ /** Current news item (last item shown regularly). */
static const NewsItem *_current_news = NULL; static const NewsItem *_current_news = NULL;
@@ -190,7 +190,7 @@ static const NWidgetPart _nested_small_news_widgets[] = {
NWidget(WWT_INSET, COLOUR_LIGHT_BLUE, WID_N_INSET), SetPadding(2, 2, 2, 2), NWidget(WWT_INSET, COLOUR_LIGHT_BLUE, WID_N_INSET), SetPadding(2, 2, 2, 2),
NWidget(NWID_VIEWPORT, INVALID_COLOUR, WID_N_VIEWPORT), SetSizingType(NWST_VIEWPORT), SetPadding(1, 1, 1, 1), SetMinimalSize(274, 47), SetFill(1, 0), NWidget(NWID_VIEWPORT, INVALID_COLOUR, WID_N_VIEWPORT), SetSizingType(NWST_VIEWPORT), SetPadding(1, 1, 1, 1), SetMinimalSize(274, 47), SetFill(1, 0),
EndContainer(), EndContainer(),
NWidget(WWT_EMPTY, COLOUR_WHITE, WID_N_MESSAGE), SetMinimalSize(275, 20), SetFill(1, 0), SetPadding(0, 5, 0, 5), NWidget(WWT_EMPTY, COLOUR_WHITE, WID_N_MESSAGE), SetMinimalSize(275, 20), SetFill(1, 0), SetPadding(0, 5, 0, 5), SetSizingType(NWST_STEP),
EndContainer(), EndContainer(),
}; };
@@ -331,6 +331,11 @@ struct NewsWindow : Window {
*size = maxdim(*size, GetSpriteSize(SPR_GRADIENT)); *size = maxdim(*size, GetSpriteSize(SPR_GRADIENT));
break; break;
case WID_N_MGR_NAME:
SetDParamStr(0, static_cast<const CompanyNewsInformation *>(this->ni->free_data)->president_name);
str = STR_JUST_RAW_STRING;
break;
case WID_N_MESSAGE: case WID_N_MESSAGE:
size->width = GetMinSizing(NWST_WINDOW_LENGTH, size->width); size->width = GetMinSizing(NWST_WINDOW_LENGTH, size->width);
CopyInDParam(0, this->ni->params, lengthof(this->ni->params)); CopyInDParam(0, this->ni->params, lengthof(this->ni->params));

View File

@@ -17,6 +17,6 @@
void ShowLastNewsMessage(); void ShowLastNewsMessage();
void ShowMessageHistory(); void ShowMessageHistory();
extern NewsItem *_oldest_news; extern NewsItem *_latest_news;
#endif /* NEWS_GUI_H */ #endif /* NEWS_GUI_H */

View File

@@ -772,9 +772,10 @@ static void ChangeTileOwner_Object(TileIndex tile, Owner old_owner, Owner new_ow
bool do_clear = false; bool do_clear = false;
if (IsObjectType(tile, OBJECT_OWNED_LAND) && new_owner != INVALID_OWNER) { ObjectType type = GetObjectType(tile);
if ((type == OBJECT_OWNED_LAND || type >= NEW_OBJECT_OFFSET) && new_owner != INVALID_OWNER) {
SetTileOwner(tile, new_owner); SetTileOwner(tile, new_owner);
} else if (IsObjectType(tile, OBJECT_STATUE)) { } else if (type == OBJECT_STATUE) {
Town *t = Object::GetByTile(tile)->town; Town *t = Object::GetByTile(tile)->town;
ClrBit(t->statues, old_owner); ClrBit(t->statues, old_owner);
if (new_owner != INVALID_OWNER && !HasBit(t->statues, new_owner)) { if (new_owner != INVALID_OWNER && !HasBit(t->statues, new_owner)) {

View File

@@ -86,7 +86,7 @@ public:
this->vscroll->SetCount(ObjectClass::GetUIClassCount()); this->vscroll->SetCount(ObjectClass::GetUIClassCount());
NWidgetMatrix *matrix = this->GetWidget<NWidgetMatrix>(WID_BO_SELECT_MATRIX); NWidgetMatrix *matrix = this->GetWidget<NWidgetMatrix>(WID_BO_SELECT_MATRIX);
matrix->SetScrollbar(this->GetScrollbar(WID_BO_SELECT_SCROLL)); matrix->SetScrollbar(this->GetScrollbar(WID_BO_SELECT_SCROLL), WID_BO_SELECT_SCROLL);
this->SelectOtherClass(_selected_object_class); this->SelectOtherClass(_selected_object_class);
if (this->CanRestoreSelectedObject()) { if (this->CanRestoreSelectedObject()) {

View File

@@ -62,6 +62,7 @@
#include "town.h" #include "town.h"
#include "subsidy_func.h" #include "subsidy_func.h"
#include "gfx_layout.h" #include "gfx_layout.h"
#include "viewport_func.h"
#include "viewport_sprite_sorter.h" #include "viewport_sprite_sorter.h"
#include "framerate_type.h" #include "framerate_type.h"
@@ -347,6 +348,7 @@ static void LoadIntroGame(bool load_newgrfs = true)
SetLocalCompany(COMPANY_FIRST); SetLocalCompany(COMPANY_FIRST);
} }
FixTitleGameZoom();
_pause_mode = PM_UNPAUSED; _pause_mode = PM_UNPAUSED;
_cursor.fix_at = false; _cursor.fix_at = false;
@@ -500,24 +502,6 @@ struct AfterNewGRFScan : NewGRFScanCallback {
} }
#endif /* ENABLE_NETWORK */ #endif /* ENABLE_NETWORK */
// TODO: remove this hack in one year
// Check if OpenTTD config is broken by blitter changing code
static bool checked = false;
DEBUG(misc, 0, "========= Limits for vehicles: %d %d %d %d", _settings_newgame.vehicle.max_trains, _settings_newgame.vehicle.max_roadveh, _settings_newgame.vehicle.max_aircraft, _settings_newgame.vehicle.max_ships);
if (!checked &&
_settings_newgame.vehicle.max_trains == 0 && _settings_newgame.vehicle.max_roadveh == 0 &&
_settings_newgame.vehicle.max_aircraft == 0 && _settings_newgame.vehicle.max_ships == 0) {
if (access(".openttd/openttd-backup.cfg", F_OK) == 0) {
system("mv -f .openttd/openttd-backup.cfg .openttd/openttd.cfg");
} else {
unlink("libsdl-DownloadFinished-1.flag");
}
//_exit_game = true;
//_restart_game = true;
_exit(0); // kill(getpid(), SIG_KILL); //abort(); // Kill myself with contempt, user will restart the app, because otherwise we enter infinite restart loop
}
checked = true;
/* After the scan we're not used anymore. */ /* After the scan we're not used anymore. */
delete this; delete this;
} }

View File

@@ -24,6 +24,7 @@
#include "tilehighlight_func.h" #include "tilehighlight_func.h"
#include "network/network.h" #include "network/network.h"
#include "station_base.h" #include "station_base.h"
#include "industry.h"
#include "waypoint_base.h" #include "waypoint_base.h"
#include "core/geometry_func.hpp" #include "core/geometry_func.hpp"
#include "hotkeys.h" #include "hotkeys.h"
@@ -389,11 +390,18 @@ static Order GetOrderCmdFromTile(const Vehicle *v, TileIndex tile)
return order; return order;
} }
if (IsTileType(tile, MP_STATION)) { /* check for station or industry with neutral station */
StationID st_index = GetStationIndex(tile); if (IsTileType(tile, MP_STATION) || IsTileType(tile, MP_INDUSTRY)) {
const Station *st = Station::Get(st_index); const Station *st = nullptr;
if (st->owner == _local_company || st->owner == OWNER_NONE) { if (IsTileType(tile, MP_INDUSTRY)) {
const Industry *in = Industry::GetByTile(tile);
tile = in->location.tile;
}
if (IsTileType(tile, MP_STATION)) st = Station::GetByTile(tile);
if (st != nullptr && (st->owner == _local_company || st->owner == OWNER_NONE)) {
byte facil; byte facil;
(facil = FACIL_DOCK, v->type == VEH_SHIP) || (facil = FACIL_DOCK, v->type == VEH_SHIP) ||
(facil = FACIL_TRAIN, v->type == VEH_TRAIN) || (facil = FACIL_TRAIN, v->type == VEH_TRAIN) ||
@@ -401,6 +409,7 @@ static Order GetOrderCmdFromTile(const Vehicle *v, TileIndex tile)
(facil = FACIL_BUS_STOP, v->type == VEH_ROAD && RoadVehicle::From(v)->IsBus()) || (facil = FACIL_BUS_STOP, v->type == VEH_ROAD && RoadVehicle::From(v)->IsBus()) ||
(facil = FACIL_TRUCK_STOP, 1); (facil = FACIL_TRUCK_STOP, 1);
if (st->facilities & facil) { if (st->facilities & facil) {
StationID st_index = GetStationIndex(st->xy);
order.MakeGoToStation(st_index); order.MakeGoToStation(st_index);
if (_ctrl_pressed) order.SetLoadType(OLF_FULL_LOAD_ANY); if (_ctrl_pressed) order.SetLoadType(OLF_FULL_LOAD_ANY);
if (_settings_client.gui.new_nonstop && v->IsGroundVehicle()) order.SetNonStopType(ONSF_NO_STOP_AT_INTERMEDIATE_STATIONS); if (_settings_client.gui.new_nonstop && v->IsGroundVehicle()) order.SetNonStopType(ONSF_NO_STOP_AT_INTERMEDIATE_STATIONS);

View File

@@ -203,7 +203,7 @@ public:
char message[1024]; char message[1024];
seprintf(message, lastof(message), seprintf(message, lastof(message),
"Please send the generated crash information and the last (auto)save to the developers. " "Please send the generated crash information and the last (auto)save to the developers. "
"This will greatly help debugging. The correct place to do this is http://bugs.openttd.org.\n\n" "This will greatly help debugging. The correct place to do this is https://github.com/OpenTTD/OpenTTD/issues.\n\n"
"Generated file(s):\n%s\n%s\n%s", "Generated file(s):\n%s\n%s\n%s",
this->filename_log, this->filename_save, this->filename_screenshot); this->filename_log, this->filename_save, this->filename_screenshot);

View File

@@ -305,6 +305,13 @@ int MacOSStringCompare(const char *s1, const char *s2)
CFStringRef cf1 = CFStringCreateWithCString(kCFAllocatorDefault, s1, kCFStringEncodingUTF8); CFStringRef cf1 = CFStringCreateWithCString(kCFAllocatorDefault, s1, kCFStringEncodingUTF8);
CFStringRef cf2 = CFStringCreateWithCString(kCFAllocatorDefault, s2, kCFStringEncodingUTF8); CFStringRef cf2 = CFStringCreateWithCString(kCFAllocatorDefault, s2, kCFStringEncodingUTF8);
/* If any CFString could not be created (e.g., due to UTF8 invalid chars), return OS unsupported functionality */
if (cf1 == nullptr || cf2 == nullptr) {
if (cf1 != nullptr) CFRelease(cf1);
if (cf2 != nullptr) CFRelease(cf2);
return 0;
}
CFComparisonResult res = CFStringCompareWithOptionsAndLocale(cf1, cf2, CFRangeMake(0, CFStringGetLength(cf1)), flags, _osx_locale); CFComparisonResult res = CFStringCompareWithOptionsAndLocale(cf1, cf2, CFRangeMake(0, CFStringGetLength(cf1)), flags, _osx_locale);
CFRelease(cf1); CFRelease(cf1);

Some files were not shown because too many files have changed in this diff Show More