mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2025-09-03 22:59:30 +00:00
Compare commits
48 Commits
872fdcbbab
...
0.6.2
Author | SHA1 | Date | |
---|---|---|---|
|
4729a88e52 | ||
|
5f7f86e3be | ||
|
9878c58727 | ||
|
39f8e1085f | ||
|
467de8942b | ||
|
6054758c1d | ||
|
22cda2f1b8 | ||
|
a0f6275c3a | ||
|
c29c7f7932 | ||
|
6097389437 | ||
|
bafea078f2 | ||
|
5c97e3307c | ||
|
3cd7a5959f | ||
|
7da596b92d | ||
|
fbbd7bef6d | ||
|
b95eb99c55 | ||
|
a68eee5f31 | ||
|
4f76d929c6 | ||
|
94ae5be42a | ||
|
808f15e43f | ||
|
71144d1a98 | ||
|
44a476c946 | ||
|
76a2221dbb | ||
|
966c2fe4b9 | ||
|
f4d1d082ab | ||
|
391127bfaf | ||
|
ee7bad769f | ||
|
9e966f9cd0 | ||
|
942a752e2a | ||
|
9e03a7b23a | ||
|
e114133d18 | ||
|
9241c4649d | ||
|
f126c2e66f | ||
|
c973bd87ce | ||
|
4cb6a89e81 | ||
|
7bf1737a66 | ||
|
fb0afc9cca | ||
|
9f65c1b8f0 | ||
|
1a495b0b1c | ||
|
5294075ad4 | ||
|
ed4ae53e8a | ||
|
c53f9fc2a2 | ||
|
cbd426059e | ||
|
624549464f | ||
|
1f9dce4697 | ||
|
185c30b6bf | ||
|
8df7a53652 | ||
|
9d47454105 |
@@ -22,7 +22,6 @@ INSTALL_DIR = !!INSTALL_DIR!!
|
||||
INSTALL_BINARY_DIR = "$(INSTALL_DIR)/"!!BINARY_DIR!!
|
||||
INSTALL_ICON_DIR = "$(INSTALL_DIR)/"!!ICON_DIR!!
|
||||
INSTALL_DATA_DIR = "$(INSTALL_DIR)/"!!DATA_DIR!!
|
||||
INSTALL_PERSONAL_DIR = !!PERSONAL_DIR!!
|
||||
TTD = !!TTD!!
|
||||
TTDS = $(SRC_DIRS:%=%/$(TTD))
|
||||
OS = !!OS!!
|
||||
@@ -271,10 +270,5 @@ install: bundle
|
||||
$(Q)install -m 644 "$(BUNDLE_DIR)/data/"* "$(INSTALL_DATA_DIR)/data"
|
||||
$(Q)install -m 644 "$(BUNDLE_DIR)/docs/"* "$(INSTALL_DATA_DIR)/docs"
|
||||
$(Q)install -m 644 "$(BUNDLE_DIR)/media/"* "$(INSTALL_ICON_DIR)"
|
||||
ifdef INSTALL_PERSONAL_DIR
|
||||
$(Q)mkdir -p ~/"$(INSTALL_PERSONAL_DIR)"
|
||||
$(Q)cp -R "$(BUNDLE_DIR)/scenario" ~/"$(INSTALL_PERSONAL_DIR)"
|
||||
else
|
||||
$(Q)cp -R "$(BUNDLE_DIR)/scenario" "$(INSTALL_DATA_DIR)"
|
||||
endif # INSTALL_PERSONAL_DIR
|
||||
endif # OSXAPP
|
||||
|
179
changelog.txt
179
changelog.txt
@@ -1,3 +1,178 @@
|
||||
0.6.2 (2008-08-01)
|
||||
------------------------------------------------------------------------
|
||||
- Fix: Custom vehicle names from TTD(Patch) games were lost (r13884)
|
||||
- Fix: NewGRF Callback 10 (visual effect and powered wagons setting) and powered wagons operation were not performed for articulated wagons [FS#2167] (r13870)
|
||||
- Fix: In some cases the sprite cache could be filled with unremovable items [FS#2153] (r13869)
|
||||
- Fix: Return of wrong parent scope of (NewGRF) industry variables (r13868)
|
||||
- Fix: Loading of TTD(Patch) savegames from the command line did not work (r13859)
|
||||
- Fix: Buffer overflow for too long filename supplied as '-g' parameter (r13858)
|
||||
- Fix: Cargo type lookup was incorrect for NewGRF version 7 files without a translation table [FS#2157] (r13855)
|
||||
- Fix: GetTownByTile() is only valid for houses and roads (r13851)
|
||||
- Fix: Power, running cost and capacity of multiheaded engines were (too often) doubled in newspaper resp. offer window (r13844)
|
||||
- Fix: FreeType may return a bitmap glyph even if a grey-scale glyph was requested [FS#2152] (r13832)
|
||||
|
||||
|
||||
0.6.2-RC2 (2008-07-25)
|
||||
------------------------------------------------------------------------
|
||||
- Fix: Building through the wrong side of a drive through station was allowed [FS#2166] (r13822)
|
||||
- Fix: Check for vehicle length changes outside a depot (callback 0x11) and give a warning about that [FS#2150] (r13816)
|
||||
- Fix: Several minor memory leaks. They only happened once per game (r13809, 13810)
|
||||
- Fix: Checking for train waiting at other side of two-way signal was broken [FS#2162] (r13806)
|
||||
- Fix: Some revision checking code was unintentionally disabled (r13776)
|
||||
- Fix: Enforce the validity of a NetworkAction (chat packet) issued by a client (r13775)
|
||||
- Fix: Selecting non-full length vehicles in the depot gui would place the "mouse pointer" out of the center of the vehicle making it hard to "aim" [FS#2147] (r13759)
|
||||
- Fix: NewGRF rail continuation would always mark a tunnel on the same axis as connected, even when the tunnel faces the wrong direction (r13734)
|
||||
- Fix: Assumption that non-north tiles of a house do not have the 1x1 building bit set was flawed with some NewGRFs. This caused the amount of houses to differ, which causes the town radii to differ, which causes desyncs when towns are expanded (r13729)
|
||||
- Fix: Possible desync on the autorenew settings 20+ game years (i.e. 4.5+ hours) after a company was started (r13718)
|
||||
- Fix: Any player could construct new companies [FS#2144] (r13716)
|
||||
- Fix: Remove the unique_id from the message that a client has joined as it is only exposes the unique_id more than needed (r13714)
|
||||
- Fix: Possible crash on creating a network packet (r13713)
|
||||
- Fix: Enforce the length restrictions of company and president name in the commands too (r13712)
|
||||
|
||||
|
||||
0.6.2-RC1 (2008-07-16)
|
||||
------------------------------------------------------------------------
|
||||
- Fix: Possible buffer overflow in string truncation code (r13700)
|
||||
- Fix: Handle SETX(Y) properly when truncating a string instead of ignoring it and returning a too long string (r13699)
|
||||
- Fix: In some cases the (sound) mixer could overflow causing artefacts in the sound [FS#2120] (r13695)
|
||||
- Fix: Do not rely on .tar files always ending with a block of zeros (r13693)
|
||||
- Fix: Make sure a command is ran in the context of autoreplace or not (r13691)
|
||||
- Fix: In the case that elrails and 'realistic' acceleration are disabled all electrified engines would have no power on load, until the vehicle got turned around, loaded or got into a depot [FS#2102]- Fix: Saving TTD imported games in recession failed due to wrong (and unneeded) type conversions in the saveload code [FS#2131] (r13679)
|
||||
- Fix: Inactive companies from old (TTD) saves could be marked active in some cases, which then loads garbage in their statistics and such [FS#2126] (r13676)
|
||||
- Fix: Memory leak when NewGRFs got forcefully disabled and they defined GOTO labels (r13675)
|
||||
- Fix: Crash when drawing a non-real sprite caused by NewGRF interference [FS#2127] (r13674)
|
||||
- Fix: Desync when building electrified trains on a dedicated server that was started with electrification disabled [FS#2122] (r13673)
|
||||
- Fix: Bus/truck forgetting go-to-depot order when entering a non-drivethrough road stop [FS#2117] (r13664)
|
||||
- Fix: Server crashing when banning the rconning client (r13661)
|
||||
- Fix: Signals were not updated correctly when a player removed a non-existing track piece (r13626)
|
||||
- Fix: Crash when one tries to raise the nothern corner of MP_VOID tiles (i.e. the southern corner of the tiles on the southern map edge) in the scenario editor [FS#2106] (r13624)
|
||||
- Fix: Only the front of a RV would be considered when determining to what cargos a vehicle can be refitted instead of all cargos [FS#2109] (r13622)
|
||||
- Fix: If the first bridge can not be build for a given length, then none of the other bridges can. Effectively meaning that if someone replaces the first bridge with a bridge that can be only 3 tiles longs then only other bridges that can be 3 tiles long will be buildable, but only if they are 3 tiles long [FS#2100] (r13611)
|
||||
- Fix: Signal states could be propagated through waypoints built in orthogonal axis (r13589)
|
||||
- Fix: [OSX] 10.5 failed to switch to fullscreen (r13584)
|
||||
- Fix: RVs continueing onto next DT station when they are build adjacent to them [FS#2040] (r13581)
|
||||
- Fix: Disable static NewGRFs when non-static NewGRFs query them in the context of network games. This makes it impossible for static NewGRFs to disable non-static NewGRFs and 'bad' things happening because the non-static NewGRF doesn't know about the static NewGRF (r13576)
|
||||
- Fix: Properly count number of non-north housetiles [FS#2083] (r13518)
|
||||
- Fix: Incorrect usage of strtoul (r13508)
|
||||
- Fix: Clear the memory for the new AI during the loading of a savegame so it does not try to execute commands generated in a different savegame, which could be resulting in the AI trying to give orders to stations that do not exist (r13505)
|
||||
- Fix: Drawing of zoomed out partial sprites could cause deadlocks or crashes (r13502)
|
||||
- Fix: First determine where to *exactly* build a house before asking a NewGRF whether the location is good instead of possibly moving the house a tile after the NewGRF said the location is good (r13489)
|
||||
- Fix: Track was not removed on company bankrupcy when there was a ship on lower halftile (r13488)
|
||||
- Fix: Let ships also navigate on half-tile sloped watery rail tiles (r13485)
|
||||
- Fix: Division by zero when one would press 'd' (skip order) when there's no order (r13409)
|
||||
- Fix: Do not crash when resolving vehicle sprite groups with zero sprites (r13397)
|
||||
- Fix: In the purchase list, CB36 for capacity was not called for the first part of rail and road vehicles (r13385)
|
||||
- Fix: Loading of very old OpenTTD savegames was broken (r13373)
|
||||
|
||||
|
||||
0.6.1 (2008-06-01)
|
||||
------------------------------------------------------------------------
|
||||
- Fix: Industry tiles would sometimes tell they need a 'level' slope when they do not want the slope (r13348)
|
||||
- Fix: Attempts to make the old AI perform better (r13217, r13221, r13222)
|
||||
|
||||
|
||||
0.6.1-RC2 (2008-05-21)
|
||||
------------------------------------------------------------------------
|
||||
- Fix: Do not send rcon commands of the server to the first client but do directly execute those on the server (r13137)
|
||||
- Fix: For multiheaded engines, halve power and running cost when used instead of when loading, to allow callback values to work properly (r13074)
|
||||
- Fix: Loading of TTDP savegames with rivers in them [FS#2005] (r13066)
|
||||
- Fix: Update build industry window when raw_industry_construction setting is modified (r13060)
|
||||
- Fix: Revert changes to multihead engine weight -- the original values were correct (r13023)
|
||||
- Fix: Debugging was not possible with MSVC 2008 (r12996)
|
||||
- Fix: List used for sorting GRFs was not freed (r12993)
|
||||
- Fix: Default difficulty settings were different to TTD's original settings [FS#1977] (r12951)
|
||||
- Fix: All vehicles would be available when an original scenario would be played [FS#1982] (r12948)
|
||||
- Fix: Keep only first 15 bits for non failed callback results (r12947)
|
||||
- Fix: Reading/modifying invalid data under some circumstances (r12943)
|
||||
- Fix: Minor errors related to industries accepted/produced cargo (r12933)
|
||||
- Fix: Town rating was affected even after the test run (r12920)
|
||||
- Fix: Flood road tiles even when there are road works in progress [FS#1965] (r12919)
|
||||
- Fix: Do not initialize Station struct with tile=0, buoys will never change that value [FS#1960] (r12915)
|
||||
- Fix: Game crash when a spectator/server tried to show an engine with no owner when a NewGRF requested a specific variable (r12914)
|
||||
- Fix: Report reverse sprite status (FD/FE) to NewGRF for manually toggled vehicles (r12910)
|
||||
- Fix: Vehicles going twice to a depot when the automatic service interfered with the current order [FS#1985] (r12629)
|
||||
|
||||
|
||||
0.6.1-RC1 (2008-04-26)
|
||||
------------------------------------------------------------------------
|
||||
- Fix: Vehicle groups, engine replacement rules and player/company names were not properly reset/freed after bankrupt (r12906)
|
||||
- Fix: Remove trams from savegames saved in OTTD without tram support, it is better than to simply crash [FS#1953] (r12904)
|
||||
- Fix: GCC on FreeBSD does not support -dumpmachine causing configure to fail. Use g++ instead [FS#1928] (r12876)
|
||||
- Fix: Make the town rating tests use less memory and much quicker (r12859)
|
||||
- Fix: Usage of AutoPtr made (trying to) build stuff very (time) expensive (r12857, r12855)
|
||||
- Fix: Ensure that prop 25 is set for all vehicles in the consist before other properties as it could cause desyncs (r12856)
|
||||
- Fix: Too much catenary was drawn about tunnel entrances, middle bridge pieces and non-rail station tiles (r12853, r12852)
|
||||
- Fix: Use YAPF for fairly old savegames from before YAPF was introduced (r12845)
|
||||
- Fix: The industry tick trigger should only be triggered once every 256 ticks, not every tick... Also bail out of the triggers a little earlier if you know they are not going to happen anyway (r12844)
|
||||
- Fix: Inconsistent use of 8/15-bitness of NewGRF callback results with respect to TTDP's implementation of the specification (r12819, r12818, r12759)
|
||||
- Fix: Possible out of bounds array access (r12809)
|
||||
- Fix: Enforce autorenew values range in command (r12808)
|
||||
- Fix: Vehicles could break down during loading and keep loading. The intention of the break down code is not to break down when having zero speed, therefor break downs now do not happen when loading [FS#1938] (r12795)
|
||||
- Fix: [OSX] In some rare cases when using an uncalibrated monitor the system colour space could not be retrieved. Show an error when this happens instead of just trying an assertion (r12776)
|
||||
- Fix: Slope checking for NewGRFs failed (r12759)
|
||||
- Fix: Check the TILE_NOT_SLOPED flag of the _north_ tile of multi-tile houses to decide if autoslope is allowed (r12717)
|
||||
- Fix: Do not move windows below the toolbar on resizes unless they would go behind the toolbar [FS#1904] (r12714)
|
||||
- Fix: Increase default sound buffer size only for Vista [FS#1914] (r12708)
|
||||
- Fix: Do not crash very hard on unrecognised savegames, just go back to the intro menu instead (r12707)
|
||||
- Fix: In some cases a news messages would not be shown [FS#1906] (r12683)
|
||||
- Fix: Removing road pieces from a town gave you twice the intended penalty [FS#1920] (r12682)
|
||||
- Fix: When a road vehicle has a tram only stop multiple times in a row in it's orders, only the first one would be skipped [FS#1918] (r12678)
|
||||
- Fix: Colour remaps on station sprites only worked for company colours [FS#1902] (r12674)
|
||||
- Fix: Remove buggy buoys at tile 0 from old TTDP savegames (r12642)
|
||||
- Fix: Possible NULL pointer dereference when reading some NewGRF data [FS#1913] (r12637)
|
||||
- Fix: Infinite loop in case your compiler decides that enums are unsigned by default (r12622)
|
||||
- Fix: The convert signal button disallowed signal dragging when the signal GUI was closed (r12577)
|
||||
- Fix: Binding to a specific IP could cause OpenTTD to not register properly with the masterserver if one has multiple external interfaces (r12574)
|
||||
- Fix: min() has 32bit arguments, clamping of 64bit values did not work (r12572)
|
||||
- Fix: Towns could not terraform when inflation rised terraform prices enough (r12564)
|
||||
- Fix: Do not affect town rating change by the order in which we examine stations (r12561)
|
||||
- Fix: Redraw the signal GUI when the signal drag density changes in the patch settings and vice versa (r12553)
|
||||
- Fix: Do not install scenarios into the current user's homedir when running 'make install', that is silly. Simply always install scenarios system wide instead (r12542)
|
||||
|
||||
|
||||
0.6.0 (2008-04-01)
|
||||
------------------------------------------------------------------------
|
||||
- Fix: Final formatting of some string codes from NewGRFs was not done correctly [FS#1889] (r12488)
|
||||
- Fix: Timetable times for aircraft were always doubled [FS#1883] (r12477)
|
||||
- Fix: Remove broken endian-dependent code and unnecessary rgb to bgr swapping [FS#1880] (r12453)
|
||||
- Fix: Do not 'disable' the drawing of autorail overlays when the tile is 'error'-marked (red pulsating selection) [FS#1871] (r12439)
|
||||
- Fix: Plural rule for Icelandic was wrong (r12417)
|
||||
|
||||
|
||||
0.6.0-RC1 (2008-03-26)
|
||||
------------------------------------------------------------------------
|
||||
- Feature: Show whether a town is a "city" in the town description title bar (r12391)
|
||||
- Feature: Increase house animation frame number from 32 to 128 (r12347)
|
||||
- Fix: Loading of TTD savegames (r12399, r12401)
|
||||
- Fix: Vehicle lists related to stations not closed when the station is deleted [FS#1872] (r12393)
|
||||
- Fix: Trams failing to turn on bridge heads/tunnel entrances [FS#1851] (r123890)
|
||||
- Fix: Train could break apart when reversed while partially in a depot [FS#1841] (r12386, r12384)
|
||||
- Fix: Non-breaking spaces should not be broken (r12385)
|
||||
- Fix: Check return of AfterLoadGame for success or failure when loading TTD games [FS#1860] (r12383)
|
||||
- Fix: Use 'items' unit for batteries, fizzy drinks, toys and bubbles in total cargo tab [FS#1864] (r12382)
|
||||
- Fix: The number of houses wasn't computed right [FS#1835, FS#1535] (r12381)
|
||||
- Fix: Update train acceleration and max speed after setting cached value to ensure the correct max speed is used with disabled real acceleration (r12380)
|
||||
- Fix: Refresh vehicle details window when cached values are updated (r12378)
|
||||
- Fix: Set cached value for vehicle property 25 before other cached values [FS#1854] (r12377)
|
||||
- Fix: Don't close a dropmenu when clicking on a dropdown widget (r12374)
|
||||
- Fix: win32 music driver fails if path is too long or if containing non-latin chars [FS#1849] (r12373, r12372)
|
||||
- Fix: Do not let window hide behind the main toolbar after resizing the screen [FS#1823] (r12371)
|
||||
- Fix: Close language drop down when parent window is clicked/closed [FS#1853] (r12370)
|
||||
- Fix: Reset train speed limits when _patches.realistic_acceleration changes (r12369)
|
||||
- Fix: Commands were sent to clients waiting for map download causing 'executing command from the past' error [FS#1650] (r12367)
|
||||
- Fix: Do not allow building 'zero' road bits (r12363)
|
||||
- Fix: Randomize variable 8F only once per callback 28 (r12362)
|
||||
- Fix: openttdd.grf was using the wrong colours for glyphs due to a grfcodec bug (fixed in grfcodec 0.9.10 r1837) (r12360)
|
||||
- Fix: Some callback-results were treated as 8 bit, when they were 15 bit, and vice versa (r12352, r12358)
|
||||
- Fix: Do not try to flood water tile [FS#1836] (r12350)
|
||||
- Fix: NTP skipped junction just after bridge end (r12348)
|
||||
- Fix: Remove duplicated and inconsistent code wrt. autoreplace with rules in both vehicles' group and ALL_GROUP [FS#1748, FS#1825] (r12346)
|
||||
- Fix: Don't try to restore backupped timetable when timetabling is disabled [FS#1828] (r12345)
|
||||
- Fix: Slow helicopters never got the 'chance' to finish the landing routine (r12343)
|
||||
- Fix: GRM buffer for cargos was incorrect size [FS#1827] (r12341)
|
||||
- Fix: Recalculate cached train data after clearing reversing flag when entering depot (r12339)
|
||||
|
||||
|
||||
0.6.0-beta5 (2008-03-04)
|
||||
------------------------------------------------------------------------
|
||||
- Feature: Vehicle variable FE bit 5, 6 and 8 [FS#1812] (r12331, r12330)
|
||||
@@ -15,7 +190,7 @@
|
||||
- Fix: Include prop 25 data for all train parts, not just those that carry cargo (r12314)
|
||||
- Fix: YAPF and NTP did not apply penalty for uphill tracks on steep slopes (r12313)
|
||||
- Fix: Restore timetable from backupped orders and add group ID to the backup [FS#1549] (r12296)
|
||||
- Fix: Do not draw trees nor lamps between tram tracks (r12290) [FS#1807]
|
||||
- Fix: Do not draw trees nor lamps between tram tracks (r12290) [FS#1807]
|
||||
- Fix: [Win32] Do not create save dir on install (r12269)
|
||||
- Fix: Autoreplace did not update vehicle index for timetable window [FS#1805] (r12261)
|
||||
- Fix: GetProductionAroundTiles() may fail if only the second production slot exists (r12258)
|
||||
@@ -26,7 +201,7 @@
|
||||
- Fix: When loading a savegame fails, do not start creating a new game, just go straight back to the intro screen (r12202)
|
||||
- Fix: Force AI to build rail or road instead of bridges if possible, so it doesn't build bridges everywhere (r12200)
|
||||
- Fix: "Transparent buildings" now only toggles buildings, so show tick when buildings are transparent [FS#1789] (r12198)
|
||||
- Fix: Show correct last year profit when the train had negative income [FS#1788] (r12197)
|
||||
- Fix: Show correct last year profit when the train had negative income [FS#1788] (r12197)
|
||||
- Fix: There can be oil rigs at map borders, do not set water class for them [FS#1787] (r12195)
|
||||
- Fix: Do not start overtaking if the RV reaches wrong-way one-way-road in the next tiles (r12191)
|
||||
- Fix: Assert when trying to play tile sound at NW border of map (placing buyos, leveling land) [FS#1784] (r12186)
|
||||
|
72
config.lib
72
config.lib
@@ -5,7 +5,7 @@ log() {
|
||||
}
|
||||
|
||||
set_default() {
|
||||
released_version=""
|
||||
released_version="0.6.2"
|
||||
|
||||
ignore_extra_parameters="0"
|
||||
# We set all kinds of defaults for params. Later on the user can override
|
||||
@@ -40,7 +40,7 @@ set_default() {
|
||||
enable_static="1"
|
||||
enable_translator="0"
|
||||
enable_unicode="1"
|
||||
enable_assert="1"
|
||||
enable_assert="0"
|
||||
enable_strip="1"
|
||||
enable_universal="1"
|
||||
enable_osx_g5="0"
|
||||
@@ -419,11 +419,11 @@ check_params() {
|
||||
|
||||
detect_awk
|
||||
|
||||
detect_os
|
||||
|
||||
check_build
|
||||
check_host
|
||||
|
||||
detect_os
|
||||
|
||||
# We might enable universal builds always on OSX targets.. but currently we don't
|
||||
# if [ "$enable_universal" = "1" ] && [ "$os" != "OSX" ]; then
|
||||
if [ "$enable_universal" = "1" ]; then
|
||||
@@ -564,7 +564,6 @@ check_params() {
|
||||
detect_png
|
||||
detect_freetype
|
||||
detect_fontconfig
|
||||
detect_iconv
|
||||
detect_pspconfig
|
||||
detect_libtimidity
|
||||
|
||||
@@ -829,6 +828,10 @@ check_params() {
|
||||
fi
|
||||
fi
|
||||
|
||||
# "set_universal_binary_flags" needs to be before "detect_iconv"
|
||||
set_universal_binary_flags
|
||||
detect_iconv
|
||||
|
||||
if [ -n "$personal_dir" ]
|
||||
then
|
||||
log 1 "personal home directory... $personal_dir"
|
||||
@@ -1188,11 +1191,6 @@ make_cflags_and_ldflags() {
|
||||
CFLAGS="$CFLAGS -mtune=970 -mcpu=970 -mpowerpc-gpopt"
|
||||
fi
|
||||
|
||||
if [ "$with_osx_sysroot" != "0" ] && [ "$with_osx_sysroot" != "3" ]; then
|
||||
CFLAGS="$CFLAGS -isysroot /Developer/SDKs/MacOSX$with_osx_sysroot.sdk"
|
||||
LDFLAGS="$LDFLAGS -Wl,-syslibroot,/Developer/SDKs/MacOSX$with_osx_sysroot.sdk"
|
||||
fi
|
||||
|
||||
if [ -n "$personal_dir" ]; then
|
||||
CFLAGS="$CFLAGS -DWITH_PERSONAL_DIR -DPERSONAL_DIR=\\\\\"$personal_dir\\\\\""
|
||||
fi
|
||||
@@ -1347,13 +1345,26 @@ check_compiler() {
|
||||
}
|
||||
|
||||
check_build() {
|
||||
check_compiler "build system type" "cc_build" "$build" "$cc_build" "$CC" "gcc" "cc" "0" "-dumpmachine"
|
||||
if [ "$os" = "FREEBSD" ]; then
|
||||
# FreeBSD's C compiler does not support dump machine.
|
||||
# However, removing C support is not possible because PSP must be linked with the C compiler.
|
||||
check_compiler "build system type" "cc_build" "$build" "$cc_build" "$CXX" "g++" "c++" "0" "-dumpmachine"
|
||||
else
|
||||
check_compiler "build system type" "cc_build" "$build" "$cc_build" "$CC" "gcc" "cc" "0" "-dumpmachine"
|
||||
fi
|
||||
}
|
||||
|
||||
check_host() {
|
||||
# By default the host is the build
|
||||
if [ -z "$host" ]; then host="$build"; fi
|
||||
check_compiler "host system type" "cc_host" "$host" "$cc_host" "$CC" "gcc" "cc" "0" "-dumpmachine"
|
||||
|
||||
if [ "$os" = "FREEBSD" ]; then
|
||||
# FreeBSD's C compiler does not support dump machine.
|
||||
# However, removing C support is not possible because PSP must be linked with the C compiler.
|
||||
check_compiler "host system type" "cc_host" "$host" "$cc_host" "$CXX" "g++" "c++" "0" "-dumpmachine"
|
||||
else
|
||||
check_compiler "host system type" "cc_host" "$host" "$cc_host" "$CC" "gcc" "cc" "0" "-dumpmachine"
|
||||
fi
|
||||
}
|
||||
|
||||
check_cxx_build() {
|
||||
@@ -1396,6 +1407,26 @@ check_lipo() {
|
||||
fi
|
||||
}
|
||||
|
||||
set_universal_binary_flags() {
|
||||
if [ -z "$osx_target_version" ]; then
|
||||
# if we don't speficy a target version then we presume 10.4
|
||||
osx_target_version=10.4
|
||||
fi
|
||||
|
||||
if [ "$osx_target_version" = "10.4" ]; then
|
||||
# Apple added u to 10.4 to show that it's universal
|
||||
# There is a version without the u, but it's only in Xcode 2.0 and people should use the free update to 2.5
|
||||
osx_sysroot_version=10.4u
|
||||
else
|
||||
osx_sysroot_version="$osx_target_version"
|
||||
fi
|
||||
|
||||
if [ "$with_osx_sysroot" = "3" ]; then
|
||||
CFLAGS="$CFLAGS -isysroot /Developer/SDKs/MacOSX$osx_sysroot_version.sdk -mmacosx-version-min=$osx_target_version"
|
||||
LDFLAGS="$LDFLAGS -Wl,-syslibroot,/Developer/SDKs/MacOSX$osx_sysroot_version.sdk -mmacosx-version-min=$osx_target_version"
|
||||
fi
|
||||
}
|
||||
|
||||
check_direct_music() {
|
||||
echo "
|
||||
#include <windows.h>
|
||||
@@ -2116,6 +2147,9 @@ detect_cputype() {
|
||||
}
|
||||
|
||||
make_sed() {
|
||||
T_CFLAGS="$CFLAGS"
|
||||
T_LDFLAGS="$LDFLAGS"
|
||||
|
||||
# We check here if we are PPC, because then we need to enable FOUR_BYTE_BOOL
|
||||
# We do this here, and not sooner, so universal builds also have this
|
||||
# automatically correct
|
||||
@@ -2124,17 +2158,7 @@ make_sed() {
|
||||
# bytes too, but only for PPC.
|
||||
ppc=`$cc_host -dumpmachine | egrep "powerpc|ppc"`
|
||||
if [ -n "$ppc" ]; then
|
||||
T_CFLAGS="$CFLAGS -DFOUR_BYTE_BOOL"
|
||||
osx_sysroot_version=10.4u
|
||||
else
|
||||
T_CFLAGS="$CFLAGS"
|
||||
osx_sysroot_version=10.4u
|
||||
fi
|
||||
|
||||
T_LDFLAGS="$LDFLAGS"
|
||||
if [ "$with_osx_sysroot" = "3" ]; then
|
||||
T_CFLAGS="$T_CFLAGS -isysroot /Developer/SDKs/MacOSX$osx_sysroot_version.sdk"
|
||||
T_LDFLAGS="$T_LDFLAGS -Wl,-syslibroot,/Developer/SDKs/MacOSX$osx_sysroot_version.sdk"
|
||||
T_CFLAGS="$T_CFLAGS -DFOUR_BYTE_BOOL"
|
||||
fi
|
||||
|
||||
SRC_OBJS_DIR="$BASE_SRC_OBJS_DIR/$OBJS_SUBDIR"
|
||||
@@ -2335,7 +2359,7 @@ showhelp() {
|
||||
echo " version (Win32 ONLY)"
|
||||
echo " --disable-network disable network support"
|
||||
echo " --disable-assert disable asserts (continue on errors)"
|
||||
echo " --disable-strip disable any possible stripping"
|
||||
echo " --enable-strip enable any possible stripping"
|
||||
echo " --without-osx-sysroot disable the automatic adding of sysroot "
|
||||
echo " (OSX ONLY)"
|
||||
echo " --without-application-bundle disable generation of application bundle"
|
||||
|
@@ -1,28 +1,37 @@
|
||||
.\" Hey, EMACS: -*- nroff -*-
|
||||
.\" Please adjust this date whenever revising the manpage.
|
||||
.Dd Sep 15, 2007
|
||||
.Dd Jul 20, 2008
|
||||
.Dt OPENTTD 6
|
||||
.Sh NAME
|
||||
.Nm openttd
|
||||
.Nd An open source clone of the Microprose game "Transport Tycoon Deluxe"
|
||||
.Sh SYNOPSIS
|
||||
.Nm
|
||||
.Op Fl Defhi
|
||||
.Op Fl Defhix
|
||||
.Op Fl G Ar seed
|
||||
.Op Fl b Ar blitter
|
||||
.Op Fl d Ar [level | cat=lvl[, ...]]
|
||||
.Op Fl c Ar config_file
|
||||
.Op Fl g Ar [savegame]
|
||||
.Op Fl l Ar host[:port]
|
||||
.Op Fl n Ar host[:port][#player]
|
||||
.Op Fl r Ar widthxheight
|
||||
.Op Fl t Ar date
|
||||
.Op Fl m Ar driver
|
||||
.Op Fl s Ar driver
|
||||
.Op Fl v Ar driver
|
||||
.Op Fl b Ar blitter
|
||||
.Sh OPTIONS
|
||||
.Bl -tag -width ".Fl n Ar host[:port][#player]"
|
||||
.It Fl D
|
||||
.It Fl D Ar [host][:port]
|
||||
Start a dedicated server
|
||||
.It Fl G Ar seed
|
||||
Seed the pseudo random number generator
|
||||
.It Fl b Ar blitter
|
||||
Set the blitter, see
|
||||
.Fl h
|
||||
.It Fl c Ar config_file
|
||||
Use 'config_file' instead of 'openttd.cfg'
|
||||
.It Fl d Ar [level]
|
||||
Set debug verbosity for all categories to
|
||||
.Ar level
|
||||
@@ -42,6 +51,9 @@ at start or start a new game if omitted
|
||||
Display a summary of all options and available drivers
|
||||
.It Fl i
|
||||
Force to use the DOS palette (use this if you see a lot of magenta)
|
||||
.It Fl l Ar host[:port]
|
||||
Redirect DEBUG(), See
|
||||
.Fl D
|
||||
.It Fl m Ar driver
|
||||
Set the music driver, see
|
||||
.Fl h
|
||||
@@ -57,6 +69,8 @@ Set the starting date
|
||||
.It Fl v Ar driver
|
||||
Set the video driver, see
|
||||
.Fl h
|
||||
.It Fl x
|
||||
Do not automatically save to config file on exit
|
||||
.El
|
||||
.Sh SEE ALSO
|
||||
http://wiki.openttd.org/, http://www.openttd.org
|
||||
|
@@ -11,15 +11,23 @@ by the number below on http://bugs.openttd.org.
|
||||
If the bug report is closed, it has been fixed, which then can be verified
|
||||
in the latest SVN version of /trunk.
|
||||
|
||||
Bugs for 0.6.0-beta5
|
||||
Bugs for 0.6.2
|
||||
------------------------------------------------------------------------
|
||||
URL: http://bugs.openttd.org
|
||||
|
||||
- 2129 Strings from message boxes could sometimes change (e.g. the screenshot filename)
|
||||
- 2085 Vehicle list of shared vehicles without orders not possible
|
||||
- 1944 Road vehicles not picking empty drivethrough platform
|
||||
- 1923 Unique names not always enforced
|
||||
- 1890 Airplanes copy helipcopters goto heliport order
|
||||
- 1885 Almost all unserved industries die in big maps
|
||||
- 1858 Industry legend in small map overwrites buttons
|
||||
- 1852 Minor tram reversing glitches
|
||||
- 1802 Path with space in configure fails
|
||||
- 1793 Inconsistent travel time for fast trains
|
||||
- 1762 Strange Autoreplace behaviour
|
||||
- 1711 Gravel and Clay have no worth
|
||||
- 1752 User input is not checked
|
||||
- 1693 Removing road does not reset owner
|
||||
- 1495 Long vehicles block multistop station
|
||||
- 1487 Ending_year is never written to
|
||||
- 1473 Train not going to available platform
|
||||
- 1404 Spinner widget interprets one click as many
|
||||
- 1264 Autoreplace for multiple NewGRF DMU sets fails
|
||||
|
@@ -1,4 +1,52 @@
|
||||
openttd (0.6.0~beta5) unstable; urgency=low
|
||||
openttd (0.6.2-1) unstable; urgency=low
|
||||
|
||||
* New upstream release.
|
||||
|
||||
-- Matthijs Kooijman <m.kooijman@student.utwente.nl> Fri, 01 Aug 2008 21:25:00 +0200
|
||||
|
||||
openttd (0.6.2~RC2-1) unstable; urgency=low
|
||||
|
||||
* New upstream release.
|
||||
|
||||
-- Matthijs Kooijman <m.kooijman@student.utwente.nl> Fri, 25 Jul 2008 22:00:00 +0200
|
||||
|
||||
openttd (0.6.2~RC1-1) unstable; urgency=low
|
||||
|
||||
* New upstream release.
|
||||
|
||||
-- Matthijs Kooijman <m.kooijman@student.utwente.nl> Wed, 16 Jul 2008 19:45:00 +0200
|
||||
|
||||
openttd (0.6.1-1) unstable; urgency=low
|
||||
|
||||
* New upstream release.
|
||||
|
||||
-- Matthijs Kooijman <m.kooijman@student.utwente.nl> Sun, 01 Jun 2008 15:35:00 +0200
|
||||
|
||||
openttd (0.6.1~RC2-1) unstable; urgency=low
|
||||
|
||||
* New upstream release.
|
||||
|
||||
-- Matthijs Kooijman <m.kooijman@student.utwente.nl> Wed, 21 May 2008 00:05:00 +0200
|
||||
|
||||
openttd (0.6.1~RC1-1) unstable; urgency=low
|
||||
|
||||
* New upstream release.
|
||||
|
||||
-- Matthijs Kooijman <m.kooijman@student.utwente.nl> Sat, 26 Apr 2008 22:55:00 +0200
|
||||
|
||||
openttd (0.6.0-1) unstable; urgency=low
|
||||
|
||||
* New upstream release.
|
||||
|
||||
-- Matthijs Kooijman <m.kooijman@student.utwente.nl> Tue, 01 Apr 2008 13:33:37 +0100
|
||||
|
||||
openttd (0.6.0~RC1-1) unstable; urgency=low
|
||||
|
||||
* New upstream release.
|
||||
|
||||
-- Matthijs Kooijman <m.kooijman@student.utwente.nl> Wed, 26 Mar 2008 15:51:40 +0100
|
||||
|
||||
openttd (0.6.0~beta5-1) unstable; urgency=low
|
||||
|
||||
* New upstream release.
|
||||
|
||||
|
@@ -1,9 +0,0 @@
|
||||
You require the data files of the original Transport Tycoon Deluxe
|
||||
for Windows to play the game. You have to manually copy the following
|
||||
files to %{_gamesdatadir}/openttd/data/
|
||||
sample.cat
|
||||
trg1r.grf
|
||||
trgcr.grf
|
||||
trghr.grf
|
||||
trgir.grf
|
||||
trgtr.grf
|
@@ -1,146 +0,0 @@
|
||||
#------------------------------------------------------------------------------
|
||||
# openttd.spec
|
||||
# This SPEC file controls the building of custom OpenTTD RPM
|
||||
# packages.
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
%define name openttd
|
||||
%define version 0.5.0
|
||||
%define release 1mdk
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# Prologue information
|
||||
#------------------------------------------------------------------------------
|
||||
Name: %{name}
|
||||
Version: %{version}
|
||||
Release: %{release}
|
||||
Summary: An open source clone of the Microprose game "Transport Tycoon Deluxe"
|
||||
Group: Games/Strategy
|
||||
License: GPL
|
||||
|
||||
URL: http://www.openttd.org
|
||||
|
||||
Source: %{name}-%{version}.tar.gz
|
||||
Packager: Dominik Scherer <dominik@openttd.com>
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot
|
||||
BuildRequires: libSDL1.2-devel >= 1.2.7
|
||||
BuildRequires: libpng3-devel >= 1.2.5
|
||||
BuildRequires: zlib1-devel >= 1.2.1
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# Description
|
||||
#------------------------------------------------------------------------------
|
||||
%description
|
||||
An enhanced open source clone of the Microprose game "Transport Tycoon Deluxe".
|
||||
You require the data files of the original Transport Tycoon Deluxe
|
||||
for Windows to play the game. You have to MANUALLY copy them to the
|
||||
game data directory!
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# install scripts
|
||||
#------------------------------------------------------------------------------
|
||||
%prep
|
||||
rm -rf $RPM_BUILD_ROOT
|
||||
%setup
|
||||
|
||||
%build
|
||||
make BINARY_DIR=%{_gamesbindir} PREFIX=%{_gamesdatadir} DATA_DIR=openttd INSTALL_DIR=%{_gamesdatadir}/openttd/ USE_HOMEDIR=1 PERSONAL_DIR=.openttd INSTALL=1 RELEASE=%{version}
|
||||
|
||||
%install
|
||||
mkdir -p $RPM_BUILD_ROOT%{_gamesbindir}
|
||||
mkdir -p $RPM_BUILD_ROOT%{_gamesdatadir}/openttd/lang
|
||||
mkdir -p $RPM_BUILD_ROOT%{_gamesdatadir}/openttd/data
|
||||
mkdir -p $RPM_BUILD_ROOT%{_gamesdatadir}/openttd/scenario
|
||||
|
||||
cp ./openttd $RPM_BUILD_ROOT%{_gamesbindir}/
|
||||
cp -r ./lang/*.lng $RPM_BUILD_ROOT%{_gamesdatadir}/openttd/lang/
|
||||
cp -r ./data/*.grf $RPM_BUILD_ROOT%{_gamesdatadir}/openttd/data/
|
||||
cp -r ./scenario/*.scn $RPM_BUILD_ROOT%{_gamesdatadir}/openttd/scenario/
|
||||
cp -r ./data/opntitle.dat $RPM_BUILD_ROOT%{_gamesdatadir}/openttd/data/
|
||||
|
||||
# icon
|
||||
install -m644 media/openttd.32.png -D $RPM_BUILD_ROOT%{_miconsdir}/%{name}.png
|
||||
install -m644 media/openttd.64.png -D $RPM_BUILD_ROOT%{_iconsdir}/%{name}.png
|
||||
install -m644 media/openttd.128.png -D $RPM_BUILD_ROOT%{_liconsdir}/%{name}.png
|
||||
|
||||
# menu entry
|
||||
mkdir -p $RPM_BUILD_ROOT/%{_menudir}
|
||||
cat << EOF > $RPM_BUILD_ROOT/%{_menudir}/%{name}
|
||||
?package(%{name}):command="%{_gamesbindir}/openttd" icon="%{name}.png" \
|
||||
needs="X11" section="Amusement/Strategy" title="OpenTTD" \
|
||||
longtitle="%{Summary}"
|
||||
EOF
|
||||
|
||||
%clean
|
||||
rm -rf $RPM_BUILD_ROOT
|
||||
|
||||
%post
|
||||
%{update_menus}
|
||||
|
||||
%postun
|
||||
%{clean_menus}
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# Files listing.
|
||||
#------------------------------------------------------------------------------
|
||||
%files
|
||||
%defattr(-,root,root,0755)
|
||||
%{_gamesbindir}/openttd
|
||||
|
||||
%{_gamesdatadir}/openttd/lang/american.lng
|
||||
%{_gamesdatadir}/openttd/lang/catalan.lng
|
||||
%{_gamesdatadir}/openttd/lang/czech.lng
|
||||
%{_gamesdatadir}/openttd/lang/danish.lng
|
||||
%{_gamesdatadir}/openttd/lang/dutch.lng
|
||||
%{_gamesdatadir}/openttd/lang/english.lng
|
||||
%{_gamesdatadir}/openttd/lang/finnish.lng
|
||||
%{_gamesdatadir}/openttd/lang/french.lng
|
||||
%{_gamesdatadir}/openttd/lang/galician.lng
|
||||
%{_gamesdatadir}/openttd/lang/german.lng
|
||||
%{_gamesdatadir}/openttd/lang/hungarian.lng
|
||||
%{_gamesdatadir}/openttd/lang/icelandic.lng
|
||||
%{_gamesdatadir}/openttd/lang/italian.lng
|
||||
%{_gamesdatadir}/openttd/lang/norwegian.lng
|
||||
%{_gamesdatadir}/openttd/lang/origveh.lng
|
||||
%{_gamesdatadir}/openttd/lang/polish.lng
|
||||
%{_gamesdatadir}/openttd/lang/portuguese.lng
|
||||
%{_gamesdatadir}/openttd/lang/romanian.lng
|
||||
%{_gamesdatadir}/openttd/lang/slovak.lng
|
||||
%{_gamesdatadir}/openttd/lang/spanish.lng
|
||||
%{_gamesdatadir}/openttd/lang/swedish.lng
|
||||
|
||||
%{_gamesdatadir}/openttd/data/autorail.grf
|
||||
%{_gamesdatadir}/openttd/data/canalsw.grf
|
||||
%{_gamesdatadir}/openttd/data/openttd.grf
|
||||
%{_gamesdatadir}/openttd/data/opntitle.dat
|
||||
%{_gamesdatadir}/openttd/data/signalsw.grf
|
||||
%{_gamesdatadir}/openttd/data/trkfoundw.grf
|
||||
|
||||
"%{_gamesdatadir}/openttd/scenario/Linkgame Islands 2004.scn"
|
||||
"%{_gamesdatadir}/openttd/scenario/Mountain Pass.scn"
|
||||
"%{_gamesdatadir}/openttd/scenario/Volcano City.scn"
|
||||
|
||||
%{_menudir}/%{name}
|
||||
%{_iconsdir}/*.png
|
||||
%{_miconsdir}/*.png
|
||||
%{_liconsdir}/*.png
|
||||
|
||||
%doc changelog.txt readme.txt COPYING os/linux/README.urpmi
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# Change Log
|
||||
#------------------------------------------------------------------------------
|
||||
%changelog
|
||||
* Sun Jan 23 2005 Dominik Scherer <dominik@openttd.com> 0.3.6-1mdk
|
||||
- Upgraded to 0.3.6
|
||||
- Structured and commented the spec file a bit (inspired by ScummVM)
|
||||
|
||||
* Fri Dec 24 2004 Dominik Scherer <dominik@openttd.com> 0.3.5-1mdk
|
||||
- Upgraded to 0.3.5
|
||||
- Added a warning message about the additional required files (only displayed when installing via urpmi)
|
||||
|
||||
* Wed Sep 15 2004 Dominik Scherer <> 0.3.4-1mdk
|
||||
- Upgraded to 0.3.4
|
||||
|
||||
* Wed Jul 31 2004 Dominik Scherer <> 0.3.3-1mdk
|
||||
- Initial release
|
75
os/rpm/openttd.spec
Normal file
75
os/rpm/openttd.spec
Normal file
@@ -0,0 +1,75 @@
|
||||
#
|
||||
# spec file for package openttd (trunk)
|
||||
#
|
||||
# Copyright (c) 2007 The OpenTTD team.
|
||||
# This file and all modifications and additions to the pristine
|
||||
# package are under the same license as the package itself
|
||||
#
|
||||
Name: openttd
|
||||
Version: svn
|
||||
Release: head
|
||||
Group: Applications/Games
|
||||
Source: %{name}-%{version}-%{release}.tar.gz
|
||||
License: GPL
|
||||
URL: http://www.openttd.org
|
||||
Packager: Denis Burlaka <burlaka@yandex.ru>
|
||||
Summary: OpenTTD is an Open Source clone of Chris Sawyer's Transport Tycoon Deluxe
|
||||
Requires: SDL zlib libpng freetype2 fontconfig
|
||||
BuildRequires: gcc SDL-devel zlib-devel libpng-devel fontconfig-devel
|
||||
%if %{_vendor}=="suse"
|
||||
BuildRequires: freetype2-devel
|
||||
%endif
|
||||
%if %{_vendor}=="fedora"
|
||||
BuildRequires: freetype-devel
|
||||
%endif
|
||||
%if %{_vendor}=="mandriva"
|
||||
BuildRequires: libfreetype6-devel
|
||||
%endif
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot
|
||||
Prefix: /usr
|
||||
|
||||
%description
|
||||
OpenTTD is a clone of the Microprose game "Transport Tycoon Deluxe", a popular game originally written by Chris Sawyer. It attempts to mimic the original game as closely as possible while extending it with new features.
|
||||
|
||||
OpenTTD is licensed under the GNU General Public License version 2.0. For more information, see the file 'COPYING' included with every release and source download of the game.
|
||||
|
||||
%prep
|
||||
%setup
|
||||
|
||||
%build
|
||||
./configure --prefix-dir=%{prefix} --binary-dir=bin --install-dir="$RPM_BUILD_ROOT"
|
||||
make
|
||||
|
||||
%install
|
||||
make ROOT="$RPM_BUILD_ROOT" install
|
||||
|
||||
mkdir -p $RPM_BUILD_ROOT/%{_datadir}/applications
|
||||
cat << EOF > $RPM_BUILD_ROOT/%{_datadir}/applications/%{name}.desktop
|
||||
[Desktop Entry]
|
||||
Categories=Games;
|
||||
Encoding=UTF-8
|
||||
Exec=/usr/bin/openttd
|
||||
Name=OpenTTD
|
||||
Icon=openttd.32
|
||||
Terminal=false
|
||||
Type=Application
|
||||
EOF
|
||||
|
||||
%clean
|
||||
rm -Rf "$RPM_BUILD_ROOT"
|
||||
|
||||
%files
|
||||
%dir %{_datadir}/games/%{name}
|
||||
%dir %{_datadir}/games/%{name}/lang
|
||||
%dir %{_datadir}/games/%{name}/data
|
||||
%dir %{_datadir}/games/%{name}/gm
|
||||
%dir %{_datadir}/games/%{name}/docs
|
||||
%dir %{_datadir}/pixmaps
|
||||
%defattr(644, root, games, 755)
|
||||
%attr(755, root, games) %{_bindir}/%{name}
|
||||
%{_datadir}/games/%{name}/lang/*
|
||||
%{_datadir}/games/%{name}/data/*
|
||||
%{_datadir}/games/%{name}/docs/*
|
||||
%{_datadir}/pixmaps/*
|
||||
%{_datadir}/applications/%{name}.desktop
|
||||
|
Binary file not shown.
@@ -1,9 +1,9 @@
|
||||
!define APPNAME "OpenTTD" ; Define application name
|
||||
!define APPVERSION "0.6.0" ; Define application version
|
||||
!define INSTALLERVERSION 43 ; NEED TO UPDATE THIS FOR EVERY RELEASE!!!
|
||||
!define APPVERSION "0.6.2" ; Define application version
|
||||
!define INSTALLERVERSION 51 ; NEED TO UPDATE THIS FOR EVERY RELEASE!!!
|
||||
|
||||
!define APPURLLINK "http://www.openttd.org"
|
||||
!define APPNAMEANDVERSION "${APPNAME} ${APPVERSION}-beta5"
|
||||
!define APPNAMEANDVERSION "${APPNAME} ${APPVERSION}"
|
||||
!define APPVERSIONINTERNAL "${APPVERSION}.0" ; Needs to be of the format X.X.X.X
|
||||
|
||||
!define MUI_ICON "..\..\..\media\openttd.ico"
|
||||
|
@@ -239,7 +239,7 @@ Function IsCachedVersion(version)
|
||||
End Function
|
||||
|
||||
Dim version
|
||||
version = DetermineSVNVersion
|
||||
version = "0.6.2"
|
||||
If Not (IsCachedVersion(version) And FSO.FileExists("../src/rev.cpp") And FSO.FileExists("../src/ottdres.rc")) Then
|
||||
UpdateFiles version
|
||||
End If
|
||||
|
@@ -2075,14 +2075,6 @@
|
||||
RelativePath=".\..\src\misc\array.hpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\..\src\misc\autocopyptr.hpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\..\src\misc\autoptr.hpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\..\src\misc\binaryheap.hpp"
|
||||
>
|
||||
|
@@ -2072,14 +2072,6 @@
|
||||
RelativePath=".\..\src\misc\array.hpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\..\src\misc\autocopyptr.hpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\..\src\misc\autoptr.hpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\..\src\misc\binaryheap.hpp"
|
||||
>
|
||||
|
37
projects/openttd_vs90.vcproj.user
Normal file
37
projects/openttd_vs90.vcproj.user
Normal file
@@ -0,0 +1,37 @@
|
||||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioUserFile
|
||||
ProjectType="Visual C++"
|
||||
Version="9.00"
|
||||
ShowAllFiles="false"
|
||||
>
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
>
|
||||
<DebugSettings
|
||||
WorkingDirectory="..\bin"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Debug|Win32"
|
||||
>
|
||||
<DebugSettings
|
||||
WorkingDirectory="..\bin"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|x64"
|
||||
>
|
||||
<DebugSettings
|
||||
WorkingDirectory="..\bin"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Debug|x64"
|
||||
>
|
||||
<DebugSettings
|
||||
WorkingDirectory="..\bin"
|
||||
/>
|
||||
</Configuration>
|
||||
</Configurations>
|
||||
</VisualStudioUserFile>
|
@@ -1,6 +1,6 @@
|
||||
OpenTTD README
|
||||
Last updated: 2008-03-04
|
||||
Release version: 0.6.0-beta5
|
||||
Last updated: 2008-08-01
|
||||
Release version: 0.6.2
|
||||
------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
@@ -439,8 +439,6 @@ water_map.h
|
||||
|
||||
# Misc
|
||||
misc/array.hpp
|
||||
misc/autocopyptr.hpp
|
||||
misc/autoptr.hpp
|
||||
misc/binaryheap.hpp
|
||||
misc/blob.hpp
|
||||
misc/countedptr.hpp
|
||||
|
@@ -10,6 +10,7 @@
|
||||
#include "../player_base.h"
|
||||
#include "ai.h"
|
||||
#include "default/default.h"
|
||||
#include "trolly/trolly.h"
|
||||
#include "../signal_func.h"
|
||||
|
||||
AIStruct _ai;
|
||||
@@ -223,6 +224,13 @@ void AI_PlayerDied(PlayerID player)
|
||||
{
|
||||
/* Called if this AI died */
|
||||
_ai_player[player].active = false;
|
||||
|
||||
if (_players_ainew[player].pathfinder == NULL) return;
|
||||
|
||||
AyStarMain_Free(_players_ainew[player].pathfinder);
|
||||
delete _players_ainew[player].pathfinder;
|
||||
_players_ainew[player].pathfinder = NULL;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -244,9 +252,5 @@ void AI_Initialize()
|
||||
*/
|
||||
void AI_Uninitialize()
|
||||
{
|
||||
const Player* p;
|
||||
|
||||
FOR_ALL_PLAYERS(p) {
|
||||
if (p->is_active && p->is_ai) AI_PlayerDied(p->index);
|
||||
}
|
||||
for (PlayerID p = PLAYER_FIRST; p < MAX_PLAYERS; p++) AI_PlayerDied(p);
|
||||
}
|
||||
|
@@ -3377,7 +3377,8 @@ static void AiStateAirportStuff(Player *p)
|
||||
|
||||
AirportFTAClass::Flags flags = st->Airport()->flags;
|
||||
|
||||
if (!(flags & (_players_ai[p->index].build_kind == 1 && i == 0 ? AirportFTAClass::HELICOPTERS : AirportFTAClass::AIRPLANES))) {
|
||||
/* if airport doesn't accept our kind of plane, dismiss it */
|
||||
if (!(flags & (_players_ai[p->index].build_kind == 1 ? AirportFTAClass::HELICOPTERS : AirportFTAClass::AIRPLANES))) {
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -3463,12 +3464,29 @@ static bool AiCheckAirportResources(TileIndex tile, const AiDefaultBlockData *p,
|
||||
static int AiFindBestDefaultAirportBlock(TileIndex tile, byte cargo, byte heli, CommandCost *cost)
|
||||
{
|
||||
const AiDefaultBlockData *p;
|
||||
uint i;
|
||||
|
||||
for (i = 0; (p = _airport_default_block_data[i]) != NULL; i++) {
|
||||
// If we are doing a helicopter service, avoid building
|
||||
// airports where they can't land.
|
||||
if (heli && !(GetAirport(p->attr)->flags & AirportFTAClass::HELICOPTERS)) continue;
|
||||
bool no_small = false;
|
||||
|
||||
if (!heli) {
|
||||
/* do not build small airport if we have large available and we are not building heli route */
|
||||
uint valid = GetValidAirports();
|
||||
for (uint i = 0; (p = _airport_default_block_data[i]) != NULL; i++) {
|
||||
uint flags = GetAirport(p->attr)->flags;
|
||||
if (HasBit(valid, p->attr) && (flags & AirportFTAClass::AIRPLANES) && !(flags & AirportFTAClass::SHORT_STRIP)) {
|
||||
no_small = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for (uint i = 0; (p = _airport_default_block_data[i]) != NULL; i++) {
|
||||
uint flags = GetAirport(p->attr)->flags;
|
||||
/* If we are doing a helicopter service, avoid building airports where they can't land */
|
||||
if (heli && !(flags & AirportFTAClass::HELICOPTERS)) continue;
|
||||
/* Similiar with aircraft ... */
|
||||
if (!heli && !(flags & AirportFTAClass::AIRPLANES)) continue;
|
||||
/* Do not build small airport if we prefer large */
|
||||
if (no_small && (flags & AirportFTAClass::SHORT_STRIP)) continue;
|
||||
|
||||
*cost = AiDoBuildDefaultAirportBlock(tile, p, 0);
|
||||
if (CmdSucceeded(*cost) && AiCheckAirportResources(tile, p, cargo))
|
||||
|
@@ -190,15 +190,17 @@ void DrawAircraftEngine(int x, int y, EngineID engine, SpriteID pal)
|
||||
{
|
||||
const AircraftVehicleInfo* avi = AircraftVehInfo(engine);
|
||||
int spritenum = avi->image_index;
|
||||
SpriteID sprite = (6 + _aircraft_sprite[spritenum]);
|
||||
SpriteID sprite = 0;
|
||||
|
||||
if (is_custom_sprite(spritenum)) {
|
||||
sprite = GetCustomVehicleIcon(engine, DIR_W);
|
||||
if (sprite == 0) {
|
||||
spritenum = _orig_aircraft_vehicle_info[engine - AIRCRAFT_ENGINES_INDEX].image_index;
|
||||
sprite = (6 + _aircraft_sprite[spritenum]);
|
||||
}
|
||||
}
|
||||
if (sprite == 0) {
|
||||
sprite = 6 + _aircraft_sprite[spritenum];
|
||||
}
|
||||
|
||||
DrawSprite(sprite, pal, x, y);
|
||||
|
||||
@@ -269,7 +271,7 @@ uint16 AircraftDefaultCargoCapacity(CargoID cid, const AircraftVehicleInfo *avi)
|
||||
* @param tile tile of depot where aircraft is built
|
||||
* @param flags for command
|
||||
* @param p1 aircraft type being built (engine)
|
||||
* @param p2 bit 0 when set, the unitnumber will be 0, otherwise it will be a free number
|
||||
* @param p2 unused
|
||||
* return result of operation. Could be cost, error
|
||||
*/
|
||||
CommandCost CmdBuildAircraft(TileIndex tile, uint32 flags, uint32 p1, uint32 p2)
|
||||
@@ -294,7 +296,7 @@ CommandCost CmdBuildAircraft(TileIndex tile, uint32 flags, uint32 p1, uint32 p2)
|
||||
return_cmd_error(STR_00E1_TOO_MANY_VEHICLES_IN_GAME);
|
||||
}
|
||||
|
||||
UnitID unit_num = HasBit(p2, 0) ? 0 : GetFreeUnitNumber(VEH_AIRCRAFT);
|
||||
UnitID unit_num = (flags & DC_AUTOREPLACE) ? 0 : GetFreeUnitNumber(VEH_AIRCRAFT);
|
||||
if (unit_num > _patches.max_aircraft)
|
||||
return_cmd_error(STR_00E1_TOO_MANY_VEHICLES_IN_GAME);
|
||||
|
||||
@@ -527,7 +529,7 @@ CommandCost CmdStartStopAircraft(TileIndex tile, uint32 flags, uint32 p1, uint32
|
||||
/* Check if this aircraft can be started/stopped. The callback will fail or
|
||||
* return 0xFF if it can. */
|
||||
uint16 callback = GetVehicleCallback(CBID_VEHICLE_START_STOP_CHECK, 0, 0, v->engine_type, v);
|
||||
if (callback != CALLBACK_FAILED && callback != 0xFF) {
|
||||
if (callback != CALLBACK_FAILED && GB(callback, 0, 8) != 0xFF) {
|
||||
StringID error = GetGRFStringID(GetEngineGRFID(v->engine_type), 0xD000 + callback);
|
||||
return_cmd_error(error);
|
||||
}
|
||||
@@ -704,7 +706,7 @@ CommandCost CmdRefitAircraft(TileIndex tile, uint32 flags, uint32 p1, uint32 p2)
|
||||
|
||||
static void CheckIfAircraftNeedsService(Vehicle *v)
|
||||
{
|
||||
if (_patches.servint_aircraft == 0 || !VehicleNeedsService(v)) return;
|
||||
if (_patches.servint_aircraft == 0 || !v->NeedsAutomaticServicing()) return;
|
||||
if (v->IsInDepot()) {
|
||||
VehicleServiceInDepot(v);
|
||||
return;
|
||||
@@ -1368,7 +1370,7 @@ static void ProcessAircraftOrder(Vehicle *v)
|
||||
case OT_GOTO_DEPOT:
|
||||
if (!(v->current_order.flags & OFB_PART_OF_ORDERS)) return;
|
||||
if (v->current_order.flags & OFB_SERVICE_IF_NEEDED &&
|
||||
!VehicleNeedsService(v)) {
|
||||
!v->NeedsServicing()) {
|
||||
UpdateVehicleTimetable(v, true);
|
||||
v->cur_order_index++;
|
||||
}
|
||||
@@ -2135,7 +2137,6 @@ static bool AirportFindFreeHelipad(Vehicle *v, const AirportFTAClass *apc)
|
||||
static void AircraftEventHandler(Vehicle *v, int loop)
|
||||
{
|
||||
v->tick_counter++;
|
||||
v->current_order_time++;
|
||||
|
||||
if (v->vehstatus & VS_CRASHED) {
|
||||
HandleCrashedAircraft(v);
|
||||
@@ -2149,7 +2150,7 @@ static void AircraftEventHandler(Vehicle *v, int loop)
|
||||
if (v->breakdown_ctr <= 2) {
|
||||
HandleBrokenAircraft(v);
|
||||
} else {
|
||||
v->breakdown_ctr--;
|
||||
if (v->current_order.type != OT_LOADING) v->breakdown_ctr--;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2172,6 +2173,8 @@ void Aircraft::Tick()
|
||||
|
||||
AgeAircraftCargo(this);
|
||||
|
||||
this->current_order_time++;
|
||||
|
||||
for (uint i = 0; i != 2; i++) {
|
||||
AircraftEventHandler(this, i);
|
||||
if (this->type != VEH_AIRCRAFT) // In case it was deleted
|
||||
|
@@ -26,7 +26,7 @@ uint CountArticulatedParts(EngineID engine_type, bool purchase_window)
|
||||
uint i;
|
||||
for (i = 1; i < MAX_UVALUE(EngineID); i++) {
|
||||
uint16 callback = GetVehicleCallback(CBID_VEHICLE_ARTIC_ENGINE, i, 0, engine_type, v);
|
||||
if (callback == CALLBACK_FAILED || callback == 0xFF) break;
|
||||
if (callback == CALLBACK_FAILED || GB(callback, 0, 8) == 0xFF) break;
|
||||
}
|
||||
|
||||
delete v;
|
||||
@@ -42,18 +42,18 @@ uint16 *GetCapacityOfArticulatedParts(EngineID engine, VehicleType type)
|
||||
|
||||
if (type == VEH_TRAIN) {
|
||||
const RailVehicleInfo *rvi = RailVehInfo(engine);
|
||||
capacity[rvi->cargo_type] = rvi->capacity;
|
||||
capacity[rvi->cargo_type] = GetEngineProperty(engine, 0x14, rvi->capacity);
|
||||
if (rvi->railveh_type == RAILVEH_MULTIHEAD) capacity[rvi->cargo_type] += rvi->capacity;
|
||||
} else if (type == VEH_ROAD) {
|
||||
const RoadVehicleInfo *rvi = RoadVehInfo(engine);
|
||||
capacity[rvi->cargo_type] = rvi->capacity;
|
||||
capacity[rvi->cargo_type] = GetEngineProperty(engine, 0x0F, rvi->capacity);
|
||||
}
|
||||
|
||||
if (!HasBit(EngInfo(engine)->callbackmask, CBM_VEHICLE_ARTIC_ENGINE)) return capacity;
|
||||
|
||||
for (uint i = 1; i < MAX_UVALUE(EngineID); i++) {
|
||||
uint16 callback = GetVehicleCallback(CBID_VEHICLE_ARTIC_ENGINE, i, 0, engine, NULL);
|
||||
if (callback == CALLBACK_FAILED || callback == 0xFF) break;
|
||||
if (callback == CALLBACK_FAILED || GB(callback, 0, 8) == 0xFF) break;
|
||||
|
||||
EngineID artic_engine = GetFirstEngineOfType(type) + GB(callback, 0, 7);
|
||||
|
||||
@@ -79,7 +79,7 @@ void AddArticulatedParts(Vehicle **vl, VehicleType type)
|
||||
|
||||
for (uint i = 1; i < MAX_UVALUE(EngineID); i++) {
|
||||
uint16 callback = GetVehicleCallback(CBID_VEHICLE_ARTIC_ENGINE, i, 0, v->engine_type, v);
|
||||
if (callback == CALLBACK_FAILED || callback == 0xFF) return;
|
||||
if (callback == CALLBACK_FAILED || GB(callback, 0, 8) == 0xFF) return;
|
||||
|
||||
/* Attempt to use pre-allocated vehicles until they run out. This can happen
|
||||
* if the callback returns different values depending on the cargo type. */
|
||||
|
@@ -58,7 +58,7 @@ static void MoveVehicleCargo(Vehicle *dest, Vehicle *source)
|
||||
* the complete train, which is without the weight of cargo we just
|
||||
* moved back into some (of the) new wagon(s).
|
||||
*/
|
||||
if (dest->type == VEH_TRAIN) TrainConsistChanged(dest->First());
|
||||
if (dest->type == VEH_TRAIN) TrainConsistChanged(dest->First(), true);
|
||||
}
|
||||
|
||||
static bool VerifyAutoreplaceRefitForOrders(const Vehicle *v, const EngineID engine_type)
|
||||
@@ -127,7 +127,7 @@ static CargoID GetNewCargoTypeForReplace(Vehicle *v, EngineID engine_type)
|
||||
* @param flags is the flags to use when calling DoCommand(). Mainly DC_EXEC counts
|
||||
* @return value is cost of the replacement or CMD_ERROR
|
||||
*/
|
||||
static CommandCost ReplaceVehicle(Vehicle **w, byte flags, Money total_cost)
|
||||
static CommandCost ReplaceVehicle(Vehicle **w, uint32 flags, Money total_cost)
|
||||
{
|
||||
CommandCost cost;
|
||||
CommandCost sell_value;
|
||||
@@ -157,7 +157,7 @@ static CommandCost ReplaceVehicle(Vehicle **w, byte flags, Money total_cost)
|
||||
* We take it back if building fails or when we really sell the old engine */
|
||||
SubtractMoneyFromPlayer(sell_value);
|
||||
|
||||
cost = DoCommand(old_v->tile, new_engine_type, 3, flags, GetCmdBuildVeh(old_v));
|
||||
cost = DoCommand(old_v->tile, new_engine_type, 0, flags | DC_AUTOREPLACE, GetCmdBuildVeh(old_v));
|
||||
if (CmdFailed(cost)) {
|
||||
/* Take back the money we just gave the player */
|
||||
sell_value.MultiplyCost(-1);
|
||||
@@ -246,7 +246,7 @@ static CommandCost ReplaceVehicle(Vehicle **w, byte flags, Money total_cost)
|
||||
if (next_veh != NULL) {
|
||||
/* Verify that the wagons can be placed on the engine in question.
|
||||
* This is done by building an engine, test if the wagons can be added and then sell the test engine. */
|
||||
DoCommand(old_v->tile, new_engine_type, 3, DC_EXEC, GetCmdBuildVeh(old_v));
|
||||
DoCommand(old_v->tile, new_engine_type, 0, DC_EXEC | DC_AUTOREPLACE, GetCmdBuildVeh(old_v));
|
||||
Vehicle *temp = GetVehicle(_new_vehicle_id);
|
||||
tmp_move = DoCommand(0, (temp->index << 16) | next_veh->index, 1, 0, CMD_MOVE_RAIL_VEHICLE);
|
||||
DoCommand(0, temp->index, 0, DC_EXEC, GetCmdSellVeh(old_v));
|
||||
|
@@ -65,6 +65,13 @@ public:
|
||||
{
|
||||
const char *default_blitter = "8bpp-optimized";
|
||||
|
||||
#if defined(__APPLE__)
|
||||
/* MacOS X 10.5 removed 8bpp fullscreen support.
|
||||
* Because of this we will pick 32bpp by default */
|
||||
if (MacOSVersionIsAtLeast(10, 5, 0)) {
|
||||
default_blitter = "32bpp-anim";
|
||||
}
|
||||
#endif /* defined(__APPLE__) */
|
||||
if (GetBlitters().size() == 0) return NULL;
|
||||
const char *bname = (StrEmpty(name)) ? default_blitter : name;
|
||||
|
||||
|
@@ -44,7 +44,7 @@ static inline const BridgeSpec *GetBridgeSpec(BridgeType i)
|
||||
|
||||
void DrawBridgeMiddle(const TileInfo *ti);
|
||||
|
||||
bool CheckBridge_Stuff(BridgeType bridge_type, uint bridge_len);
|
||||
bool CheckBridge_Stuff(BridgeType bridge_type, uint bridge_len, uint32 flags = 0);
|
||||
int CalcBridgeLenCostFactor(int x);
|
||||
|
||||
void ResetBridges();
|
||||
|
@@ -218,8 +218,8 @@ static int CDECL TrainEnginePowerSorter(const void *a, const void *b)
|
||||
const RailVehicleInfo *rvi_a = RailVehInfo(*(const EngineID*)a);
|
||||
const RailVehicleInfo *rvi_b = RailVehInfo(*(const EngineID*)b);
|
||||
|
||||
int va = rvi_a->power << (rvi_a->railveh_type == RAILVEH_MULTIHEAD ? 1 : 0);
|
||||
int vb = rvi_b->power << (rvi_b->railveh_type == RAILVEH_MULTIHEAD ? 1 : 0);
|
||||
int va = rvi_a->power;
|
||||
int vb = rvi_b->power;
|
||||
int r = va - vb;
|
||||
|
||||
return _internal_sort_order ? -r : r;
|
||||
@@ -602,7 +602,7 @@ static int DrawRailEnginePurchaseInfo(int x, int y, EngineID engine_number, cons
|
||||
|
||||
/* Max speed - Engine power */
|
||||
SetDParam(0, GetEngineProperty(engine_number, 0x09, rvi->max_speed) * 10 / 16);
|
||||
SetDParam(1, GetEngineProperty(engine_number, 0x0B, rvi->power) << multihead);
|
||||
SetDParam(1, GetEngineProperty(engine_number, 0x0B, rvi->power));
|
||||
DrawString(x, y, STR_PURCHASE_INFO_SPEED_POWER, TC_FROMSTRING);
|
||||
y += 10;
|
||||
|
||||
@@ -615,7 +615,7 @@ static int DrawRailEnginePurchaseInfo(int x, int y, EngineID engine_number, cons
|
||||
|
||||
/* Running cost */
|
||||
if (rvi->running_cost_class != 0xFF) {
|
||||
SetDParam(0, (GetEngineProperty(engine_number, 0x0D, rvi->running_cost) * GetPriceByIndex(rvi->running_cost_class) >> 8) << multihead);
|
||||
SetDParam(0, GetEngineProperty(engine_number, 0x0D, rvi->running_cost) * GetPriceByIndex(rvi->running_cost_class) >> 8);
|
||||
DrawString(x, y, STR_PURCHASE_INFO_RUNNINGCOST, TC_FROMSTRING);
|
||||
y += 10;
|
||||
}
|
||||
|
@@ -264,14 +264,15 @@ enum {
|
||||
* This enums defines some flags which can be used for the commands.
|
||||
*/
|
||||
enum {
|
||||
DC_EXEC = 0x01, ///< execute the given command
|
||||
DC_AUTO = 0x02, ///< don't allow building on structures
|
||||
DC_QUERY_COST = 0x04, ///< query cost only, don't build.
|
||||
DC_NO_WATER = 0x08, ///< don't allow building on water
|
||||
DC_NO_RAIL_OVERLAP = 0x10, ///< don't allow overlap of rails (used in buildrail)
|
||||
DC_AI_BUILDING = 0x20, ///< special building rules for AI
|
||||
DC_NO_TOWN_RATING = 0x40, ///< town rating does not disallow you from building
|
||||
DC_BANKRUPT = 0x80, ///< company bankrupts, skip money check, skip vehicle on tile check in some cases
|
||||
DC_EXEC = 0x001, ///< execute the given command
|
||||
DC_AUTO = 0x002, ///< don't allow building on structures
|
||||
DC_QUERY_COST = 0x004, ///< query cost only, don't build.
|
||||
DC_NO_WATER = 0x008, ///< don't allow building on water
|
||||
DC_NO_RAIL_OVERLAP = 0x010, ///< don't allow overlap of rails (used in buildrail)
|
||||
DC_AI_BUILDING = 0x020, ///< special building rules for AI
|
||||
DC_NO_TOWN_RATING = 0x040, ///< town rating does not disallow you from building
|
||||
DC_BANKRUPT = 0x080, ///< company bankrupts, skip money check, skip vehicle on tile check in some cases
|
||||
DC_AUTOREPLACE = 0x100, ///< autoreplace/autorenew is in progress
|
||||
};
|
||||
|
||||
/**
|
||||
|
@@ -426,9 +426,9 @@ DEF_CONSOLE_CMD(ConBan)
|
||||
}
|
||||
|
||||
if (ci != NULL) {
|
||||
IConsolePrint(_icolour_def, "Client banned");
|
||||
banip = inet_ntoa(*(struct in_addr *)&ci->client_ip);
|
||||
SEND_COMMAND(PACKET_SERVER_ERROR)(NetworkFindClientStateFromIndex(index), NETWORK_ERROR_KICKED);
|
||||
IConsolePrint(_icolour_def, "Client banned");
|
||||
} else {
|
||||
IConsolePrint(_icolour_def, "Client not online, banned IP");
|
||||
}
|
||||
@@ -537,7 +537,11 @@ DEF_CONSOLE_CMD(ConRcon)
|
||||
|
||||
if (argc < 3) return false;
|
||||
|
||||
SEND_COMMAND(PACKET_CLIENT_RCON)(argv[1], argv[2]);
|
||||
if (_network_server) {
|
||||
IConsoleCmdExec(argv[2]);
|
||||
} else {
|
||||
SEND_COMMAND(PACKET_CLIENT_RCON)(argv[1], argv[2]);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@@ -177,7 +177,7 @@ static inline int32 ClampToI32(const int64 a)
|
||||
*/
|
||||
static inline uint16 ClampToU16(const uint64 a)
|
||||
{
|
||||
return min(a, 0xFFFF);
|
||||
return (uint16)(a <= 0xFFFFU ? a : 0xFFFFU);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@@ -440,6 +440,20 @@ static void DepotClick(Window *w, int x, int y)
|
||||
WP(w, depot_d).sel = v->index;
|
||||
SetWindowDirty(w);
|
||||
SetObjectToPlaceWnd(image, GetVehiclePalette(v), VHM_DRAG, w);
|
||||
|
||||
switch (v->type) {
|
||||
case VEH_TRAIN:
|
||||
_cursor.short_vehicle_offset = 16 - v->u.rail.cached_veh_length * 2;
|
||||
break;
|
||||
|
||||
case VEH_ROAD:
|
||||
_cursor.short_vehicle_offset = 16 - v->u.road.cached_veh_length * 2;
|
||||
break;
|
||||
|
||||
default:
|
||||
_cursor.short_vehicle_offset = 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
@@ -45,6 +45,7 @@
|
||||
#include "rail_map.h"
|
||||
#include "signal_func.h"
|
||||
#include "gfx_func.h"
|
||||
#include "autoreplace_func.h"
|
||||
|
||||
#include "table/strings.h"
|
||||
#include "table/sprites.h"
|
||||
@@ -455,6 +456,19 @@ void ChangeOwnershipOfPlayerItems(PlayerID old_player, PlayerID new_player)
|
||||
UpdateSignalsInBuffer();
|
||||
}
|
||||
|
||||
/* In all cases clear replace engine rules.
|
||||
* Even if it was copied, it could interfere with new owner's rules */
|
||||
RemoveAllEngineReplacementForPlayer(GetPlayer(old_player));
|
||||
|
||||
if (new_player == PLAYER_SPECTATOR) {
|
||||
RemoveAllGroupsForPlayer(old_player);
|
||||
} else {
|
||||
Group *g;
|
||||
FOR_ALL_GROUPS(g) {
|
||||
if (g->owner == old_player) g->owner = new_player;
|
||||
}
|
||||
}
|
||||
|
||||
/* Change color of existing windows */
|
||||
if (new_player != PLAYER_SPECTATOR) ChangeWindowOwner(old_player, new_player);
|
||||
|
||||
@@ -1597,7 +1611,7 @@ static void LoadUnloadVehicle(Vehicle *v, int *cargo_left)
|
||||
byte load_amount = EngInfo(v->engine_type)->load_amount;
|
||||
if (_patches.gradual_loading && HasBit(EngInfo(v->engine_type)->callbackmask, CBM_VEHICLE_LOAD_AMOUNT)) {
|
||||
uint16 cb_load_amount = GetVehicleCallback(CBID_VEHICLE_LOAD_AMOUNT, 0, 0, v->engine_type, v);
|
||||
if (cb_load_amount != CALLBACK_FAILED && cb_load_amount != 0) load_amount = cb_load_amount & 0xFF;
|
||||
if (cb_load_amount != CALLBACK_FAILED && GB(cb_load_amount, 0, 8) != 0) load_amount = GB(cb_load_amount, 0, 8);
|
||||
}
|
||||
|
||||
GoodsEntry *ge = &st->goods[v->cargo_type];
|
||||
@@ -1997,7 +2011,7 @@ static const SaveLoad _economy_desc[] = {
|
||||
SLE_CONDVAR(Economy, max_loan_unround, SLE_FILE_I32 | SLE_VAR_I64, 0, 64),
|
||||
SLE_CONDVAR(Economy, max_loan_unround, SLE_INT64, 65, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(Economy, max_loan_unround_fract, SLE_UINT16, 70, SL_MAX_VERSION),
|
||||
SLE_VAR(Economy, fluct, SLE_FILE_I16 | SLE_VAR_I32),
|
||||
SLE_VAR(Economy, fluct, SLE_INT16),
|
||||
SLE_VAR(Economy, interest_rate, SLE_UINT8),
|
||||
SLE_VAR(Economy, infl_amount, SLE_UINT8),
|
||||
SLE_VAR(Economy, infl_amount_pr, SLE_UINT8),
|
||||
|
@@ -15,7 +15,7 @@ struct Economy {
|
||||
Money max_loan; ///< Maximum possible loan
|
||||
Money max_loan_unround; ///< Economy fluctuation status
|
||||
uint16 max_loan_unround_fract; ///< Fraction of the unrounded max loan
|
||||
int fluct;
|
||||
int16 fluct;
|
||||
byte interest_rate; ///< Interest
|
||||
byte infl_amount; ///< inflation amount
|
||||
byte infl_amount_pr; ///< "floating" portion of inflation
|
||||
|
@@ -502,10 +502,13 @@ int32 SettingsDisableElrail(int32 p1)
|
||||
}
|
||||
}
|
||||
|
||||
/* setup total power for trains */
|
||||
/* Fix the total power and acceleration for trains */
|
||||
FOR_ALL_VEHICLES(v) {
|
||||
/* power is cached only for front engines */
|
||||
if (v->type == VEH_TRAIN && IsFrontEngine(v)) TrainPowerChanged(v);
|
||||
/* power and acceleration is cached only for front engines */
|
||||
if (v->type == VEH_TRAIN && IsFrontEngine(v)) {
|
||||
TrainPowerChanged(v);
|
||||
UpdateTrainAcceleration(v);
|
||||
}
|
||||
}
|
||||
|
||||
FOR_ALL_PLAYERS(p) p->avail_railtypes = GetPlayerRailtypes(p->index);
|
||||
|
@@ -16,7 +16,6 @@
|
||||
#include "aircraft.h"
|
||||
#include "newgrf_cargo.h"
|
||||
#include "group.h"
|
||||
#include "misc/autoptr.hpp"
|
||||
#include "strings_func.h"
|
||||
#include "gfx_func.h"
|
||||
#include "functions.h"
|
||||
@@ -516,19 +515,15 @@ CommandCost AddEngineReplacement(EngineRenewList *erl, EngineID old_engine, Engi
|
||||
return CommandCost();
|
||||
}
|
||||
|
||||
er = new EngineRenew(old_engine, new_engine);
|
||||
if (er == NULL) return CMD_ERROR;
|
||||
AutoPtrT<EngineRenew> er_auto_delete = er;
|
||||
|
||||
if (!EngineRenew::CanAllocateItem()) return CMD_ERROR;
|
||||
|
||||
if (flags & DC_EXEC) {
|
||||
er = new EngineRenew(old_engine, new_engine);
|
||||
er->group_id = group;
|
||||
|
||||
/* Insert before the first element */
|
||||
er->next = (EngineRenew *)(*erl);
|
||||
*erl = (EngineRenewList)er;
|
||||
|
||||
er_auto_delete.Detach();
|
||||
}
|
||||
|
||||
return CommandCost();
|
||||
|
@@ -14,6 +14,7 @@
|
||||
#include "variables.h"
|
||||
#include "newgrf_engine.h"
|
||||
#include "strings_func.h"
|
||||
#include "articulated_vehicles.h"
|
||||
|
||||
#include "table/strings.h"
|
||||
#include "table/sprites.h"
|
||||
@@ -116,21 +117,34 @@ void ShowEnginePreviewWindow(EngineID engine)
|
||||
AllocateWindowDescFront(&_engine_preview_desc, engine);
|
||||
}
|
||||
|
||||
static uint GetTotalCapacityOfArticulatedParts(EngineID engine, VehicleType type)
|
||||
{
|
||||
uint total = 0;
|
||||
|
||||
uint16 *cap = GetCapacityOfArticulatedParts(engine, type);
|
||||
for (uint c = 0; c < NUM_CARGO; c++) {
|
||||
total += cap[c];
|
||||
}
|
||||
|
||||
return total;
|
||||
}
|
||||
|
||||
static void DrawTrainEngineInfo(EngineID engine, int x, int y, int maxw)
|
||||
{
|
||||
const RailVehicleInfo *rvi = RailVehInfo(engine);
|
||||
int multihead = (rvi->railveh_type == RAILVEH_MULTIHEAD) ? 1 : 0;
|
||||
|
||||
SetDParam(0, (_price.build_railvehicle >> 3) * rvi->base_cost >> 5);
|
||||
SetDParam(2, rvi->max_speed * 10 / 16);
|
||||
SetDParam(3, rvi->power << multihead);
|
||||
SetDParam(1, rvi->weight << multihead);
|
||||
SetDParam(0, (_price.build_railvehicle >> 3) * GetEngineProperty(engine, 0x17, rvi->base_cost) >> 5);
|
||||
SetDParam(2, GetEngineProperty(engine, 0x09, rvi->max_speed) * 10 / 16);
|
||||
SetDParam(3, GetEngineProperty(engine, 0x0B, rvi->power));
|
||||
SetDParam(1, GetEngineProperty(engine, 0x16, rvi->weight) << multihead);
|
||||
|
||||
SetDParam(4, rvi->running_cost * GetPriceByIndex(rvi->running_cost_class) >> 8 << multihead);
|
||||
SetDParam(4, GetEngineProperty(engine, 0x0D, rvi->running_cost) * GetPriceByIndex(rvi->running_cost_class) >> 8);
|
||||
|
||||
if (rvi->capacity != 0) {
|
||||
uint capacity = GetTotalCapacityOfArticulatedParts(engine, VEH_TRAIN);
|
||||
if (capacity != 0) {
|
||||
SetDParam(5, rvi->cargo_type);
|
||||
SetDParam(6, rvi->capacity << multihead);
|
||||
SetDParam(6, capacity);
|
||||
} else {
|
||||
SetDParam(5, CT_INVALID);
|
||||
}
|
||||
@@ -140,11 +154,11 @@ static void DrawTrainEngineInfo(EngineID engine, int x, int y, int maxw)
|
||||
static void DrawAircraftEngineInfo(EngineID engine, int x, int y, int maxw)
|
||||
{
|
||||
const AircraftVehicleInfo *avi = AircraftVehInfo(engine);
|
||||
SetDParam(0, (_price.aircraft_base >> 3) * avi->base_cost >> 5);
|
||||
SetDParam(0, (_price.aircraft_base >> 3) * GetEngineProperty(engine, 0x0B, avi->base_cost) >> 5);
|
||||
SetDParam(1, avi->max_speed * 10 / 16);
|
||||
SetDParam(2, avi->passenger_capacity);
|
||||
SetDParam(3, avi->mail_capacity);
|
||||
SetDParam(4, avi->running_cost * _price.aircraft_running >> 8);
|
||||
SetDParam(4, GetEngineProperty(engine, 0x0E, avi->running_cost) * _price.aircraft_running >> 8);
|
||||
|
||||
DrawStringMultiCenter(x, y, STR_A02E_COST_MAX_SPEED_CAPACITY, maxw);
|
||||
}
|
||||
@@ -153,11 +167,11 @@ static void DrawRoadVehEngineInfo(EngineID engine, int x, int y, int maxw)
|
||||
{
|
||||
const RoadVehicleInfo *rvi = RoadVehInfo(engine);
|
||||
|
||||
SetDParam(0, (_price.roadveh_base >> 3) * rvi->base_cost >> 5);
|
||||
SetDParam(0, (_price.roadveh_base >> 3) * GetEngineProperty(engine, 0x11, rvi->base_cost) >> 5);
|
||||
SetDParam(1, rvi->max_speed * 10 / 32);
|
||||
SetDParam(2, rvi->running_cost * GetPriceByIndex(rvi->running_cost_class) >> 8);
|
||||
SetDParam(3, rvi->cargo_type);
|
||||
SetDParam(4, rvi->capacity);
|
||||
SetDParam(4, GetTotalCapacityOfArticulatedParts(engine, VEH_ROAD));
|
||||
|
||||
DrawStringMultiCenter(x, y, STR_902A_COST_SPEED_RUNNING_COST, maxw);
|
||||
}
|
||||
@@ -165,11 +179,11 @@ static void DrawRoadVehEngineInfo(EngineID engine, int x, int y, int maxw)
|
||||
static void DrawShipEngineInfo(EngineID engine, int x, int y, int maxw)
|
||||
{
|
||||
const ShipVehicleInfo *svi = ShipVehInfo(engine);
|
||||
SetDParam(0, svi->base_cost * (_price.ship_base >> 3) >> 5);
|
||||
SetDParam(1, svi->max_speed * 10 / 32);
|
||||
SetDParam(0, GetEngineProperty(engine, 0x0A, svi->base_cost) * (_price.ship_base >> 3) >> 5);
|
||||
SetDParam(1, GetEngineProperty(engine, 0x0B, svi->max_speed) * 10 / 32);
|
||||
SetDParam(2, svi->cargo_type);
|
||||
SetDParam(3, svi->capacity);
|
||||
SetDParam(4, svi->running_cost * _price.ship_running >> 8);
|
||||
SetDParam(3, GetEngineProperty(engine, 0x0D, svi->capacity));
|
||||
SetDParam(4, GetEngineProperty(engine, 0x0F, svi->running_cost) * _price.ship_running >> 8);
|
||||
DrawStringMultiCenter(x, y, STR_982E_COST_MAX_SPEED_CAPACITY, maxw);
|
||||
}
|
||||
|
||||
|
@@ -315,7 +315,7 @@ FILE *FioFOpenFileSp(const char *filename, const char *mode, Searchpath sp, Subd
|
||||
f = fopen(buf, mode);
|
||||
#if !defined(WIN32)
|
||||
if (f == NULL) {
|
||||
strtolower(buf + strlen(_searchpaths[sp]) - 1);
|
||||
strtolower(buf + ((subdir == NO_DIRECTORY) ? 0 : strlen(_searchpaths[sp]) - 1));
|
||||
f = fopen(buf, mode);
|
||||
}
|
||||
#endif
|
||||
@@ -330,7 +330,7 @@ FILE *FioFOpenFileSp(const char *filename, const char *mode, Searchpath sp, Subd
|
||||
|
||||
FILE *FioFOpenFileTar(TarFileListEntry *entry, size_t *filesize)
|
||||
{
|
||||
FILE *f = fopen(entry->tar->filename, "rb");
|
||||
FILE *f = fopen(entry->tar_filename, "rb");
|
||||
assert(f != NULL);
|
||||
|
||||
fseek(f, entry->position, SEEK_SET);
|
||||
@@ -470,9 +470,8 @@ static bool TarListAddFile(const char *filename)
|
||||
FILE *f = fopen(filename, "rb");
|
||||
assert(f != NULL);
|
||||
|
||||
TarListEntry *tar_entry = MallocT<TarListEntry>(1);
|
||||
tar_entry->filename = strdup(filename);
|
||||
_tar_list.insert(TarList::value_type(filename, tar_entry));
|
||||
const char *dupped_filename = strdup(filename);
|
||||
_tar_list[filename].filename = dupped_filename;
|
||||
|
||||
TarHeader th;
|
||||
char buf[sizeof(th.name) + 1], *end;
|
||||
@@ -483,9 +482,10 @@ static bool TarListAddFile(const char *filename)
|
||||
char empty[512];
|
||||
memset(&empty[0], 0, sizeof(empty));
|
||||
|
||||
while (!feof(f)) {
|
||||
fread(&th, 1, 512, f);
|
||||
pos += 512;
|
||||
for (;;) { // Note: feof() always returns 'false' after 'fseek()'. Cool, isn't it?
|
||||
size_t num_bytes_read = fread(&th, 1, 512, f);
|
||||
if (num_bytes_read != 512) break;
|
||||
pos += num_bytes_read;
|
||||
|
||||
/* Check if we have the new tar-format (ustar) or the old one (a lot of zeros after 'link' field) */
|
||||
if (strncmp(th.magic, "ustar", 5) != 0 && memcmp(&th.magic, &empty[0], 512 - offsetof(TarHeader, magic)) != 0) {
|
||||
@@ -522,9 +522,9 @@ static bool TarListAddFile(const char *filename)
|
||||
|
||||
/* Store this entry in the list */
|
||||
TarFileListEntry entry;
|
||||
entry.tar = tar_entry;
|
||||
entry.size = skip;
|
||||
entry.position = pos;
|
||||
entry.tar_filename = dupped_filename;
|
||||
entry.size = skip;
|
||||
entry.position = pos;
|
||||
/* Force lowercase */
|
||||
strtolower(name);
|
||||
|
||||
|
@@ -67,13 +67,15 @@ extern const char *_searchpaths[NUM_SEARCHPATHS];
|
||||
*/
|
||||
struct TarListEntry {
|
||||
const char *filename;
|
||||
TarListEntry() : filename(NULL) {}
|
||||
~TarListEntry() { free((void*)this->filename); }
|
||||
};
|
||||
struct TarFileListEntry {
|
||||
TarListEntry *tar;
|
||||
const char *tar_filename;
|
||||
int size;
|
||||
int position;
|
||||
};
|
||||
typedef std::map<std::string, TarListEntry *> TarList;
|
||||
typedef std::map<std::string, TarListEntry> TarList;
|
||||
typedef std::map<std::string, TarFileListEntry> TarFileList;
|
||||
extern TarList _tar_list;
|
||||
extern TarFileList _tar_filelist;
|
||||
|
@@ -308,12 +308,12 @@ static FiosItem *FiosGetFileList(int mode, fios_getlist_callback_proc *callback_
|
||||
* @param mode Save/load mode.
|
||||
* @param file Name of the file to check.
|
||||
* @param ext A pointer to the extension identifier inside file
|
||||
* @param title Buffer if a callback wants to lookup the title of the file
|
||||
* @param title Buffer if a callback wants to lookup the title of the file; NULL to skip the lookup
|
||||
* @return a FIOS_TYPE_* type of the found file, FIOS_TYPE_INVALID if not a savegame
|
||||
* @see FiosGetFileList
|
||||
* @see FiosGetSavegameList
|
||||
*/
|
||||
static byte FiosGetSavegameListCallback(int mode, const char *file, const char *ext, char *title)
|
||||
byte FiosGetSavegameListCallback(int mode, const char *file, const char *ext, char *title)
|
||||
{
|
||||
/* Show savegame files
|
||||
* .SAV OpenTTD saved game
|
||||
@@ -325,7 +325,7 @@ static byte FiosGetSavegameListCallback(int mode, const char *file, const char *
|
||||
if (mode == SLD_LOAD_GAME || mode == SLD_LOAD_SCENARIO) {
|
||||
if (strcasecmp(ext, ".ss1") == 0 || strcasecmp(ext, ".sv1") == 0 ||
|
||||
strcasecmp(ext, ".sv2") == 0) {
|
||||
GetOldSaveGameName(title, _fios_path, file);
|
||||
if (title != NULL) GetOldSaveGameName(title, _fios_path, file);
|
||||
return FIOS_TYPE_OLDFILE;
|
||||
}
|
||||
}
|
||||
|
@@ -42,7 +42,7 @@ enum FileType {
|
||||
FT_HEIGHTMAP, ///< heightmap file
|
||||
};
|
||||
|
||||
enum {
|
||||
enum FiosType {
|
||||
FIOS_TYPE_DRIVE = 0,
|
||||
FIOS_TYPE_PARENT = 1,
|
||||
FIOS_TYPE_DIR = 2,
|
||||
@@ -99,6 +99,8 @@ bool FiosDelete(const char *name);
|
||||
void FiosMakeSavegameName(char *buf, const char *name, size_t size);
|
||||
/* Allocate a new FiosItem */
|
||||
FiosItem *FiosAlloc();
|
||||
/* Determines type of savegame (or tells it is not a savegame) */
|
||||
byte FiosGetSavegameListCallback(int mode, const char *file, const char *ext, char *title);
|
||||
|
||||
int CDECL compare_FiosItems(const void *a, const void *b);
|
||||
|
||||
|
@@ -415,6 +415,9 @@ const Sprite *GetGlyph(FontSize size, WChar key)
|
||||
FT_Load_Char(face, key, FT_LOAD_DEFAULT);
|
||||
FT_Render_Glyph(face->glyph, aa ? FT_RENDER_MODE_NORMAL : FT_RENDER_MODE_MONO);
|
||||
|
||||
/* Despite requesting a normal glyph, FreeType may have returned a bitmap */
|
||||
aa = (slot->bitmap.palette_mode == FT_PIXEL_MODE_GRAY);
|
||||
|
||||
/* Add 1 pixel for the shadow on the medium font. Our sprite must be at least 1x1 pixel */
|
||||
width = max(1, slot->bitmap.width + (size == FS_NORMAL));
|
||||
height = max(1, slot->bitmap.rows + (size == FS_NORMAL));
|
||||
|
@@ -473,7 +473,7 @@ static void GenerateLandscapeWndProc(Window *w, WindowEvent *e)
|
||||
* (use random seed) it should not be possible to be
|
||||
* entered into the input field; the generate seed
|
||||
* button can be used instead. */
|
||||
_patches_newgame.generation_seed = minu(strtoul(_genseed_buffer, NULL, sizeof(_genseed_buffer) - 1), MAX_UVALUE(uint32) - 1);
|
||||
_patches_newgame.generation_seed = minu(strtoul(_genseed_buffer, NULL, 10), MAX_UVALUE(uint32) - 1);
|
||||
break;
|
||||
|
||||
case WE_DROPDOWN_SELECT:
|
||||
|
31
src/gfx.cpp
31
src/gfx.cpp
@@ -230,15 +230,20 @@ static int TruncateString(char *str, int maxw)
|
||||
w += GetCharacterWidth(size, c);
|
||||
|
||||
if (w >= maxw) {
|
||||
/* string got too big... insert dotdotdot */
|
||||
ddd_pos[0] = ddd_pos[1] = ddd_pos[2] = '.';
|
||||
ddd_pos[3] = '\0';
|
||||
/* string got too big... insert dotdotdot, but make sure we do not
|
||||
* print anything beyond the string termination character. */
|
||||
for (int i = 0; *ddd_pos != '\0' && i < 3; i++, ddd_pos++) *ddd_pos = '.';
|
||||
*ddd_pos = '\0';
|
||||
return ddd_w;
|
||||
}
|
||||
} else {
|
||||
if (c == SCC_SETX) str++;
|
||||
else if (c == SCC_SETXY) str += 2;
|
||||
else if (c == SCC_TINYFONT) {
|
||||
if (c == SCC_SETX) {
|
||||
w = *str;
|
||||
str++;
|
||||
} else if (c == SCC_SETXY) {
|
||||
w = *str;
|
||||
str += 2;
|
||||
} else if (c == SCC_TINYFONT) {
|
||||
size = FS_SMALL;
|
||||
ddd = GetCharacterWidth(size, '.') * 3;
|
||||
} else if (c == SCC_BIGFONT) {
|
||||
@@ -669,7 +674,7 @@ void DrawSprite(SpriteID img, SpriteID pal, int x, int y, const SubSprite *sub)
|
||||
}
|
||||
}
|
||||
|
||||
static inline void GfxMainBlitter(const Sprite *sprite, int x, int y, BlitterMode mode, const SubSprite *sub)
|
||||
static void GfxMainBlitter(const Sprite *sprite, int x, int y, BlitterMode mode, const SubSprite *sub)
|
||||
{
|
||||
const DrawPixelInfo *dpi = _cur_dpi;
|
||||
Blitter::BlitterParams bp;
|
||||
@@ -695,8 +700,8 @@ static inline void GfxMainBlitter(const Sprite *sprite, int x, int y, BlitterMod
|
||||
bp.height = UnScaleByZoom(sprite->height - clip_top - clip_bottom, dpi->zoom);
|
||||
bp.top = 0;
|
||||
bp.left = 0;
|
||||
bp.skip_left = UnScaleByZoom(clip_left, dpi->zoom);
|
||||
bp.skip_top = UnScaleByZoom(clip_top, dpi->zoom);
|
||||
bp.skip_left = UnScaleByZoomLower(clip_left, dpi->zoom);
|
||||
bp.skip_top = UnScaleByZoomLower(clip_top, dpi->zoom);
|
||||
|
||||
x += ScaleByZoom(bp.skip_left, dpi->zoom);
|
||||
y += ScaleByZoom(bp.skip_top, dpi->zoom);
|
||||
@@ -747,6 +752,9 @@ static inline void GfxMainBlitter(const Sprite *sprite, int x, int y, BlitterMod
|
||||
if (bp.width <= 0) return;
|
||||
}
|
||||
|
||||
assert(bp.skip_left + bp.width <= UnScaleByZoom(sprite->width, dpi->zoom));
|
||||
assert(bp.skip_top + bp.height <= UnScaleByZoom(sprite->height, dpi->zoom));
|
||||
|
||||
BlitterFactoryBase::GetCurrentBlitter()->Draw(&bp, mode, dpi->zoom);
|
||||
}
|
||||
|
||||
@@ -957,7 +965,7 @@ void DrawMouseCursor()
|
||||
}
|
||||
|
||||
w = _cursor.size.x;
|
||||
x = _cursor.pos.x + _cursor.offs.x;
|
||||
x = _cursor.pos.x + _cursor.offs.x + _cursor.short_vehicle_offset;
|
||||
if (x < 0) {
|
||||
w += x;
|
||||
x = 0;
|
||||
@@ -985,7 +993,7 @@ void DrawMouseCursor()
|
||||
|
||||
/* Draw cursor on screen */
|
||||
_cur_dpi = &_screen;
|
||||
DrawSprite(_cursor.sprite, _cursor.pal, _cursor.pos.x, _cursor.pos.y);
|
||||
DrawSprite(_cursor.sprite, _cursor.pal, _cursor.pos.x + _cursor.short_vehicle_offset, _cursor.pos.y);
|
||||
|
||||
_video_driver->MakeDirty(_cursor.draw_pos.x, _cursor.draw_pos.y, _cursor.draw_size.x, _cursor.draw_size.y);
|
||||
|
||||
@@ -1236,6 +1244,7 @@ static void SetCursorSprite(SpriteID cursor, SpriteID pal)
|
||||
cv->offs.y = p->y_offs;
|
||||
|
||||
cv->dirty = true;
|
||||
cv->short_vehicle_offset = 0;
|
||||
}
|
||||
|
||||
static void SwitchAnimatedCursor()
|
||||
|
@@ -112,6 +112,7 @@ struct AnimCursor {
|
||||
struct CursorVars {
|
||||
Point pos, size, offs, delta; ///< position, size, offset from top-left, and movement
|
||||
Point draw_pos, draw_size; ///< position and size bounding-box for drawing
|
||||
int short_vehicle_offset; ///< offset of the X for short vehicles
|
||||
SpriteID sprite; ///< current image of cursor
|
||||
SpriteID pal;
|
||||
|
||||
|
@@ -12,7 +12,6 @@
|
||||
#include "train.h"
|
||||
#include "aircraft.h"
|
||||
#include "vehicle_gui.h"
|
||||
#include "misc/autoptr.hpp"
|
||||
#include "strings_func.h"
|
||||
#include "functions.h"
|
||||
#include "window_func.h"
|
||||
@@ -92,20 +91,14 @@ CommandCost CmdCreateGroup(TileIndex tile, uint32 flags, uint32 p1, uint32 p2)
|
||||
VehicleType vt = (VehicleType)p1;
|
||||
if (!IsPlayerBuildableVehicleType(vt)) return CMD_ERROR;
|
||||
|
||||
AutoPtrT<Group> g_auto_delete;
|
||||
|
||||
Group *g = new Group(_current_player);
|
||||
if (g == NULL) return CMD_ERROR;
|
||||
|
||||
g_auto_delete = g;
|
||||
if (!Group::CanAllocateItem()) return CMD_ERROR;
|
||||
|
||||
if (flags & DC_EXEC) {
|
||||
Group *g = new Group(_current_player);
|
||||
g->replace_protection = false;
|
||||
g->vehicle_type = vt;
|
||||
|
||||
InvalidateWindowData(GetWCForVT(vt), (vt << 11) | VLW_GROUP_LIST | _current_player);
|
||||
|
||||
g_auto_delete.Detach();
|
||||
}
|
||||
|
||||
return CommandCost();
|
||||
|
@@ -25,7 +25,6 @@
|
||||
#include "newgrf_industries.h"
|
||||
#include "newgrf_industrytiles.h"
|
||||
#include "newgrf_callbacks.h"
|
||||
#include "misc/autoptr.hpp"
|
||||
#include "autoslope.h"
|
||||
#include "transparency.h"
|
||||
#include "water.h"
|
||||
@@ -331,6 +330,19 @@ static uint GetSlopeZ_Industry(TileIndex tile, uint x, uint y)
|
||||
|
||||
static Foundation GetFoundation_Industry(TileIndex tile, Slope tileh)
|
||||
{
|
||||
IndustryGfx gfx = GetIndustryGfx(tile);
|
||||
|
||||
/* For NewGRF industry tiles we might not be drawing a foundation. We need to
|
||||
* account for this, as other structures should
|
||||
* draw the wall of the foundation in this case.
|
||||
*/
|
||||
if (gfx >= NEW_INDUSTRYTILEOFFSET) {
|
||||
const IndustryTileSpec *indts = GetIndustryTileSpec(gfx);
|
||||
if (indts->grf_prop.spritegroup != NULL && HasBit(indts->callback_flags, CBM_INDT_DRAW_FOUNDATIONS)) {
|
||||
uint32 callback_res = GetIndustryTileCallback(CBID_INDUSTRY_DRAW_FOUNDATIONS, 0, 0, gfx, GetIndustryByTile(tile), tile);
|
||||
if (callback_res == 0) return FOUNDATION_NONE;
|
||||
}
|
||||
}
|
||||
return FlatteningFoundation(tileh);
|
||||
}
|
||||
|
||||
@@ -1025,6 +1037,9 @@ static void ProduceIndustryGoods(Industry *i)
|
||||
|
||||
if (cut) ChopLumberMillTrees(i);
|
||||
}
|
||||
|
||||
TriggerIndustry(i, INDUSTRY_TRIGGER_INDUSTRY_TICK);
|
||||
StartStopIndustryTileAnimation(i, IAT_INDUSTRY_TICK);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1046,8 +1061,6 @@ void OnTick_Industry()
|
||||
if (_game_mode == GM_EDITOR) return;
|
||||
|
||||
FOR_ALL_INDUSTRIES(i) {
|
||||
TriggerIndustry(i, INDUSTRY_TRIGGER_INDUSTRY_TICK);
|
||||
StartStopIndustryTileAnimation(i, IAT_INDUSTRY_TICK);
|
||||
ProduceIndustryGoods(i);
|
||||
}
|
||||
}
|
||||
@@ -1383,7 +1396,7 @@ static bool CheckIfFarEnoughFromIndustry(TileIndex tile, int type)
|
||||
const IndustrySpec *indspec = GetIndustrySpec(type);
|
||||
const Industry *i;
|
||||
|
||||
if (_patches.same_industry_close && indspec->accepts_cargo[0] == CT_INVALID)
|
||||
if (_patches.same_industry_close && indspec->IsRawIndustry())
|
||||
/* Allow primary industries to be placed close to any other industry */
|
||||
return true;
|
||||
|
||||
@@ -1393,7 +1406,7 @@ static bool CheckIfFarEnoughFromIndustry(TileIndex tile, int type)
|
||||
|
||||
/* check if an industry that accepts the same goods is nearby */
|
||||
if (in_low_distance &&
|
||||
indspec->accepts_cargo[0] != CT_INVALID && // not a primary industry?
|
||||
!indspec->IsRawIndustry() && // not a primary industry?
|
||||
indspec->accepts_cargo[0] == i->accepts_cargo[0] && (
|
||||
/* at least one of those options must be true */
|
||||
_game_mode != GM_EDITOR || // editor must not be stopped
|
||||
@@ -1583,17 +1596,19 @@ static Industry *CreateNewIndustryHelper(TileIndex tile, IndustryType type, uint
|
||||
if (!CheckIfIndustryIsAllowed(tile, type, t)) return NULL;
|
||||
if (!CheckSuitableIndustryPos(tile)) return NULL;
|
||||
|
||||
Industry *i = new Industry(tile);
|
||||
if (i == NULL) return NULL;
|
||||
AutoPtrT<Industry> i_auto_delete = i;
|
||||
if (!Industry::CanAllocateItem()) return NULL;
|
||||
|
||||
if (flags & DC_EXEC) {
|
||||
Industry *i = new Industry(tile);
|
||||
if (!custom_shape_check) CheckIfCanLevelIndustryPlatform(tile, DC_EXEC, it, type);
|
||||
DoCreateNewIndustry(i, tile, type, it, itspec_index, t, OWNER_NONE);
|
||||
i_auto_delete.Detach();
|
||||
|
||||
return i;
|
||||
}
|
||||
|
||||
return i;
|
||||
/* We need to return a non-NULL pointer to tell we have created an industry.
|
||||
* However, we haven't created a real one (no DC_EXEC), so return a fake one. */
|
||||
return GetIndustry(0);
|
||||
}
|
||||
|
||||
/** Build/Fund an industry
|
||||
@@ -1894,7 +1909,8 @@ static void CanCargoServiceIndustry(CargoID cargo, Industry *ind, bool *c_accept
|
||||
const IndustrySpec *indspec = GetIndustrySpec(ind->type);
|
||||
|
||||
/* Check for acceptance of cargo */
|
||||
for (uint j = 0; j < lengthof(ind->accepts_cargo) && ind->accepts_cargo[j] != CT_INVALID; j++) {
|
||||
for (byte j = 0; j < lengthof(ind->accepts_cargo); j++) {
|
||||
if (ind->accepts_cargo[j] == CT_INVALID) continue;
|
||||
if (cargo == ind->accepts_cargo[j]) {
|
||||
if (HasBit(indspec->callback_flags, CBM_IND_REFUSE_CARGO)) {
|
||||
uint16 res = GetIndustryCallback(CBID_INDUSTRY_REFUSE_CARGO,
|
||||
@@ -1908,7 +1924,8 @@ static void CanCargoServiceIndustry(CargoID cargo, Industry *ind, bool *c_accept
|
||||
}
|
||||
|
||||
/* Check for produced cargo */
|
||||
for (uint j = 0; j < lengthof(ind->produced_cargo) && ind->produced_cargo[j] != CT_INVALID; j++) {
|
||||
for (byte j = 0; j < lengthof(ind->produced_cargo); j++) {
|
||||
if (ind->produced_cargo[j] == CT_INVALID) continue;
|
||||
if (cargo == ind->produced_cargo[j]) {
|
||||
*c_produces = true;
|
||||
break;
|
||||
@@ -2070,7 +2087,8 @@ static void ChangeIndustryProduction(Industry *i, bool monthly)
|
||||
|
||||
if (smooth_economy) {
|
||||
closeit = true;
|
||||
for (byte j = 0; j < 2 && i->produced_cargo[j] != CT_INVALID; j++){
|
||||
for (byte j = 0; j < lengthof(i->produced_cargo); j++) {
|
||||
if (i->produced_cargo[j] == CT_INVALID) continue;
|
||||
uint32 r = Random();
|
||||
int old_prod, new_prod, percent;
|
||||
/* If over 60% is transported, mult is 1, else mult is -1. */
|
||||
|
@@ -60,13 +60,59 @@ static struct IndustryData {
|
||||
assert_compile(lengthof(_fund_gui.index) == lengthof(_fund_gui.text));
|
||||
assert_compile(lengthof(_fund_gui.index) == lengthof(_fund_gui.enabled));
|
||||
|
||||
static void SetupFundArrays(Window *w)
|
||||
{
|
||||
IndustryType ind;
|
||||
const IndustrySpec *indsp;
|
||||
|
||||
_fund_gui.count = 0;
|
||||
|
||||
for (uint i = 0; i < lengthof(_fund_gui.index); i++) {
|
||||
_fund_gui.index[i] = INVALID_INDUSTRYTYPE;
|
||||
_fund_gui.text[i] = STR_NULL;
|
||||
_fund_gui.enabled[i] = false;
|
||||
}
|
||||
|
||||
if (_game_mode == GM_EDITOR) { // give room for the Many Random "button"
|
||||
_fund_gui.index[_fund_gui.count] = INVALID_INDUSTRYTYPE;
|
||||
_fund_gui.count++;
|
||||
WP(w, fnd_d).timer_enabled = false;
|
||||
}
|
||||
/* Fill the arrays with industries.
|
||||
* The tests performed after the enabled allow to load the industries
|
||||
* In the same way they are inserted by grf (if any)
|
||||
*/
|
||||
for (ind = 0; ind < NUM_INDUSTRYTYPES; ind++) {
|
||||
indsp = GetIndustrySpec(ind);
|
||||
if (indsp->enabled){
|
||||
/* Rule is that editor mode loads all industries.
|
||||
* In game mode, all non raw industries are loaded too
|
||||
* and raw ones are loaded only when setting allows it */
|
||||
if (_game_mode != GM_EDITOR && indsp->IsRawIndustry() && _patches.raw_industry_construction == 0) {
|
||||
/* Unselect if the industry is no longer in the list */
|
||||
if (WP(w, fnd_d).select == ind) WP(w, fnd_d).index = -1;
|
||||
continue;
|
||||
}
|
||||
_fund_gui.index[_fund_gui.count] = ind;
|
||||
_fund_gui.enabled[_fund_gui.count] = (_game_mode == GM_EDITOR) || CheckIfCallBackAllowsAvailability(ind, IACT_USERCREATION);
|
||||
/* Keep the selection to the correct line */
|
||||
if (WP(w, fnd_d).select == ind) WP(w, fnd_d).index = _fund_gui.count;
|
||||
_fund_gui.count++;
|
||||
}
|
||||
}
|
||||
|
||||
/* first indutry type is selected if the current selection is invalid.
|
||||
* I'll be damned if there are none available ;) */
|
||||
if (WP(w, fnd_d).index == -1) {
|
||||
WP(w, fnd_d).index = 0;
|
||||
WP(w, fnd_d).select = _fund_gui.index[0];
|
||||
}
|
||||
}
|
||||
|
||||
static void BuildDynamicIndustryWndProc(Window *w, WindowEvent *e)
|
||||
{
|
||||
switch (e->event) {
|
||||
case WE_CREATE: {
|
||||
IndustryType ind;
|
||||
const IndustrySpec *indsp;
|
||||
|
||||
/* Shorten the window to the equivalant of the additionnal purchase
|
||||
* info coming from the callback. SO it will only be available to tis full
|
||||
* height when newindistries are loaded */
|
||||
@@ -81,45 +127,15 @@ static void BuildDynamicIndustryWndProc(Window *w, WindowEvent *e)
|
||||
|
||||
WP(w, fnd_d).timer_enabled = _loaded_newgrf_features.has_newindustries;
|
||||
|
||||
/* Initilialize structures */
|
||||
_fund_gui.count = 0;
|
||||
|
||||
for (uint i = 0; i < lengthof(_fund_gui.index); i++) {
|
||||
_fund_gui.index[i] = 0xFF;
|
||||
_fund_gui.text[i] = STR_NULL;
|
||||
_fund_gui.enabled[i] = false;
|
||||
}
|
||||
|
||||
w->vscroll.cap = 8; // rows in grid, same in scroller
|
||||
w->resize.step_height = 13;
|
||||
|
||||
if (_game_mode == GM_EDITOR) { // give room for the Many Random "button"
|
||||
_fund_gui.index[_fund_gui.count] = INVALID_INDUSTRYTYPE;
|
||||
_fund_gui.count++;
|
||||
WP(w, fnd_d).timer_enabled = false;
|
||||
}
|
||||
WP(w, fnd_d).index = -1;
|
||||
WP(w, fnd_d).select = INVALID_INDUSTRYTYPE;
|
||||
|
||||
/* Fill the _fund_gui structure with industries.
|
||||
* The tests performed after the enabled allow to load the industries
|
||||
* In the same way they are inserted by grf (if any)
|
||||
*/
|
||||
for (ind = 0; ind < NUM_INDUSTRYTYPES; ind++) {
|
||||
indsp = GetIndustrySpec(ind);
|
||||
if (indsp->enabled){
|
||||
/* Rule is that editor mode loads all industries.
|
||||
* In game mode, all non raw industries are loaded too
|
||||
* and raw ones are loaded only when setting allows it */
|
||||
if (_game_mode != GM_EDITOR && indsp->IsRawIndustry() && _patches.raw_industry_construction == 0) continue;
|
||||
_fund_gui.index[_fund_gui.count] = ind;
|
||||
_fund_gui.enabled[_fund_gui.count] = (_game_mode == GM_EDITOR) || CheckIfCallBackAllowsAvailability(ind, IACT_USERCREATION);
|
||||
_fund_gui.count++;
|
||||
}
|
||||
}
|
||||
/* Initialize arrays */
|
||||
SetupFundArrays(w);
|
||||
|
||||
/* first indutry type is selected.
|
||||
* I'll be damned if there are none available ;) */
|
||||
WP(w, fnd_d).index = 0;
|
||||
WP(w, fnd_d).select = _fund_gui.index[0];
|
||||
WP(w, fnd_d).callback_timer = DAY_TICKS;
|
||||
} break;
|
||||
|
||||
@@ -333,6 +349,10 @@ static void BuildDynamicIndustryWndProc(Window *w, WindowEvent *e)
|
||||
case WE_ABORT_PLACE_OBJ:
|
||||
w->RaiseButtons();
|
||||
break;
|
||||
|
||||
case WE_INVALIDATE_DATA:
|
||||
SetupFundArrays(w);
|
||||
SetWindowDirty(w);
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -76,8 +76,9 @@ uint ApplyFoundationToSlope(Foundation f, Slope *s)
|
||||
if (!IsFoundation(f)) return 0;
|
||||
|
||||
if (IsLeveledFoundation(f)) {
|
||||
uint dz = TILE_HEIGHT + (IsSteepSlope(*s) ? TILE_HEIGHT : 0);
|
||||
*s = SLOPE_FLAT;
|
||||
return TILE_HEIGHT;
|
||||
return dz;
|
||||
}
|
||||
|
||||
if (f != FOUNDATION_STEEP_BOTH && IsNonContinuousFoundation(f)) {
|
||||
@@ -384,6 +385,9 @@ void DrawFoundation(TileInfo *ti, Foundation f)
|
||||
|
||||
AddSortableSpriteToDraw(inclined_base + inclined, PAL_NONE, ti->x, ti->y, 16, 16, 1, ti->z);
|
||||
OffsetGroundSprite(31, 9);
|
||||
} else if (IsLeveledFoundation(f)) {
|
||||
AddSortableSpriteToDraw(leveled_base + SlopeWithOneCornerRaised(highest_corner), PAL_NONE, ti->x, ti->y, 16, 16, 7, ti->z - TILE_HEIGHT);
|
||||
OffsetGroundSprite(31, 1);
|
||||
} else if (f == FOUNDATION_STEEP_LOWER) {
|
||||
/* one corner raised */
|
||||
OffsetGroundSprite(31, 1);
|
||||
|
@@ -1165,7 +1165,7 @@ STR_CONFIG_PATCHES_ENDING_YEAR :{LTBLUE}Termina
|
||||
STR_CONFIG_PATCHES_SMOOTH_ECONOMY :{LTBLUE}Ativar economia regular (alterações menores)
|
||||
STR_CONFIG_PATCHES_ALLOW_SHARES :{LTBLUE}Permite comprar ações de outras empresas
|
||||
STR_CONFIG_PATCHES_DRAG_SIGNALS_DENSITY :{LTBLUE}Ao arrastar colocar sinais a cada: {ORANGE}{STRING} quadrado(s)
|
||||
STR_CONFIG_PATCHES_SEMAPHORE_BUILD_BEFORE_DATE :{LTBLUE}Automaticamente constroi semáforos anteriores: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_SEMAPHORE_BUILD_BEFORE_DATE :{LTBLUE}Construir sinaleiros até: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_ENABLE_SIGNAL_GUI :{LTBLUE}Ativar interface de sinais: {ORANGE}{STRING}
|
||||
|
||||
STR_CONFIG_PATCHES_TOWN_LAYOUT_INVALID :{WHITE}O layout de cidade "sem mais estradas" não é válido no editor
|
||||
@@ -1717,6 +1717,7 @@ STR_2002 :{TINYFONT}{BLAC
|
||||
STR_2002_WHITE :{TINYFONT}{WHITE}{SIGN}
|
||||
STR_2004_BUILDING_MUST_BE_DEMOLISHED :{WHITE}O edifício deve ser demolido primeiro
|
||||
STR_2005 :{WHITE}{TOWN}
|
||||
STR_CITY :{WHITE}{TOWN} (Cidade)
|
||||
STR_2006_POPULATION :{BLACK}População: {ORANGE}{COMMA}{BLACK} Casas: {ORANGE}{COMMA}
|
||||
STR_2007_RENAME_TOWN :Renomear Cidade
|
||||
STR_2008_CAN_T_RENAME_TOWN :{WHITE}Impossível renomear cidade...
|
||||
@@ -1808,8 +1809,6 @@ STR_205C_PIGGY_BANK :Mealheiro
|
||||
STR_INDUSTRY :{INDUSTRY}
|
||||
STR_TOWN :{TOWN}
|
||||
STR_INDUSTRY_FORMAT :{1:STRING} de {0:TOWN}
|
||||
STR_INDUSTRY_FORMAT.f :{G=f}{1:STRING} de {0:TOWN}
|
||||
STR_INDUSTRY_FORMAT.m :{G=m}{1:STRING} de {0:TOWN}
|
||||
STR_STATION :{STATION}
|
||||
|
||||
##id 0x2800
|
||||
@@ -3101,6 +3100,7 @@ STR_NEWGRF_ERROR_LOAD_AFTER :{STRING} deve s
|
||||
STR_NEWGRF_ERROR_OTTD_VERSION_NUMBER :{STRING} requer versão {STRING} ou maior do OpenTTD.
|
||||
STR_NEWGRF_ERROR_AFTER_TRANSLATED_FILE :o arquivo GRF foi designado para tradução
|
||||
STR_NEWGRF_ERROR_TOO_MANY_NEWGRFS_LOADED :Muitos NewGRFs foram carregados.
|
||||
STR_NEWGRF_ERROR_STATIC_GRF_CAUSES_DESYNC :Carregar {STRING} como um NewGRF estático em conjunto com {STRING} pode causar desincronias.
|
||||
|
||||
STR_NEWGRF_ADD :{BLACK}Adicionar
|
||||
STR_NEWGRF_ADD_TIP :{BLACK}Adiciona um NewGRF à lista
|
||||
@@ -3132,6 +3132,10 @@ STR_NEWGRF_NOT_FOUND_WARNING :{WHITE}Falta(m)
|
||||
STR_NEWGRF_UNPAUSE_WARNING_TITLE :{YELLOW}Arquivo(s) GRF faltantes
|
||||
STR_NEWGRF_UNPAUSE_WARNING :{WHITE}Despausar pode travar OpenTTD. Não envie relatórios de erros sobre travas subseqüentes.{}Você realmente quer despausar?
|
||||
|
||||
STR_NEWGRF_BROKEN :{WHITE} '{0:STRING}' tem altas chances de causar desincronias e/ou travamentos.
|
||||
STR_NEWGRF_BROKEN_VEHICLE_LENGTH :{WHITE}Muda o tamanho de um veículo para '{1:ENGINE}' apesar de não estar em um depósito.
|
||||
STR_BROKEN_VEHICLE_LENGTH :{WHITE}Trem '{VEHICLE}' de '{COMPANY}' tem um tamanho inválido. Provavelmente causado por um NewGRF. O jogo pode travar ou sair de sincronia.
|
||||
STR_LOADGAME_REMOVED_TRAMS :{WHITE}Jogo foi salvo numa versão sem suporte a bondes. Todos os bondes foram removidos.
|
||||
STR_CURRENCY_WINDOW :{WHITE}Moeda Modificada
|
||||
STR_CURRENCY_EXCHANGE_RATE :{LTBLUE}Taxa de câmbio: {ORANGE}{CURRENCY} = £ {COMMA}
|
||||
STR_CURRENCY_SEPARATOR :{LTBLUE}Separador:
|
||||
@@ -3475,7 +3479,7 @@ STR_FACE_TIE_EARRING_TIP :{BLACK}Alterar
|
||||
############ signal GUI
|
||||
STR_SIGNAL_SELECTION :{WHITE}Seleção de Sinais
|
||||
STR_SIGNAL_CAN_T_CONVERT_SIGNALS_HERE :{WHITE}Impossível converter sinais aqui...
|
||||
STR_BUILD_SIGNAL_SEMAPHORE_NORM_TIP :{BLACK}Sinais padrão (semáforos){}Sinais são necessários para manter trens de colidirem nas malhas ferroviárias com mais de um trem.
|
||||
STR_BUILD_SIGNAL_SEMAPHORE_NORM_TIP :{BLACK}Sinais padrão (semáforos){}Sinais são necessários para impedir trens de colidirem nas malhas ferroviárias com mais de um trem.
|
||||
STR_BUILD_SIGNAL_SEMAPHORE_ENTRY_TIP :{BLACK}Sinal de Entrada (semáforo){}Verde contanto que haja um ou mais sinais de saída verdes na atual seção dos trilhos. Do contrário, fica vermelho.
|
||||
STR_BUILD_SIGNAL_SEMAPHORE_EXIT_TIP :{BLACK}Sinal de saída (semáforo){}Funciona como um sinal normal, porém é necessário para o funcionamento correto do sistema de sinais combo ou de entrada.
|
||||
STR_BUILD_SIGNAL_SEMAPHORE_COMBO_TIP :{BLACK}Sinal combo (semáforo){}O sinal combo funciona tanto como um sinal de entrada quanto de saída. Permite construir várias ramificações.
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -389,7 +389,7 @@ STR_ENGINE_SORT_POWER_VS_RUNNING_COST :Potència/Cost
|
||||
STR_ENGINE_SORT_CARGO_CAPACITY :Capacitat de càrrega
|
||||
STR_NO_WAITING_CARGO :{BLACK}No hi ha càrrega d'aquest tipus esperant
|
||||
STR_SELECT_ALL_FACILITIES :{BLACK}Seleccionar totes les instal·lacions
|
||||
STR_SELECT_ALL_TYPES :{BLACK}Selecciona tots els tipus de càrrega (inloent carga sense espera)
|
||||
STR_SELECT_ALL_TYPES :{BLACK}Selecciona tots els tipus de càrrega (incloent carga sense espera)
|
||||
STR_AVAILABLE_TRAINS :{BLACK}Trens Disponibles
|
||||
STR_AVAILABLE_ROAD_VEHICLES :{BLACK}Vehicles Disponibles
|
||||
STR_AVAILABLE_SHIPS :{BLACK}Vaixells Disponibles
|
||||
@@ -1715,6 +1715,7 @@ STR_2002 :{TINYFONT}{BLAC
|
||||
STR_2002_WHITE :{TINYFONT}{WHITE}{SIGN}
|
||||
STR_2004_BUILDING_MUST_BE_DEMOLISHED :{WHITE}L'edifici s'ha d'enderrocar primer
|
||||
STR_2005 :{WHITE}{TOWN}
|
||||
STR_CITY :{WHITE}{TOWN} (Ciutat)
|
||||
STR_2006_POPULATION :{BLACK}Població: {ORANGE}{COMMA}{BLACK} Cases: {ORANGE}{COMMA}
|
||||
STR_2007_RENAME_TOWN :Reanomena Població
|
||||
STR_2008_CAN_T_RENAME_TOWN :{WHITE}No es pot reanomenar la població...
|
||||
@@ -2757,7 +2758,7 @@ STR_884E_DECREASE_SERVICING_INTERVAL :{BLACK}Disminue
|
||||
STR_884F_SHOW_DETAILS_OF_CARGO_CARRIED :{BLACK}Mostra els detalls de càrrega transportada
|
||||
STR_8850_SHOW_DETAILS_OF_TRAIN_VEHICLES :{BLACK}Mostra els detalls d'elements del tren
|
||||
STR_8851_SHOW_CAPACITIES_OF_EACH :{BLACK}Mostra les capacitats de cada element
|
||||
STR_SHOW_TOTAL_CARGO :{BLACK}Mostra la capacitat total del tren, separat per tipus de càrrega
|
||||
STR_SHOW_TOTAL_CARGO :{BLACK}Mostra la capacitat total del tren, separada per tipus de càrrega
|
||||
STR_8852_ORDERS_LIST_CLICK_ON_ORDER :{BLACK}Llista d'ordres - clica en una per seleccionar-la
|
||||
STR_8853_SKIP_THE_CURRENT_ORDER :{BLACK}Salta l'ordre actual, i comença la següent. CTRL + clic salta l'ordre seleccionada
|
||||
STR_8854_DELETE_THE_HIGHLIGHTED :{BLACK}Esborra l'ordre seleccionada
|
||||
@@ -3067,7 +3068,7 @@ STR_PERFORMANCE_DETAIL_STATIONS_TIP :{BLACK}Quantita
|
||||
STR_PERFORMANCE_DETAIL_MIN_PROFIT_TIP :{BLACK}El benefici del vehicle amb els menors ingressos (de tots els vehicles més antics de 2 anys)
|
||||
STR_PERFORMANCE_DETAIL_MIN_INCOME_TIP :{BLACK}Quantitat de diners fets durant el mes amb el mínim benefici dels darrers 12 trimestres
|
||||
STR_PERFORMANCE_DETAIL_MAX_INCOME_TIP :{BLACK}Quantitat de diners fets durant el mes amb el màxim benefici dels darrers 12 trimestres
|
||||
STR_PERFORMANCE_DETAIL_DELIVERED_TIP :{BLACK}Unitats de càrrega entregada en els darrers quatre trimestres.
|
||||
STR_PERFORMANCE_DETAIL_DELIVERED_TIP :{BLACK}Unitats de càrrega entregades en els darrers quatre trimestres.
|
||||
STR_PERFORMANCE_DETAIL_CARGO_TIP :{BLACK}Tipus de càrrega entregada durant el darrer trimestre.
|
||||
STR_PERFORMANCE_DETAIL_MONEY_TIP :{BLACK}Quantitats de diners en efectiu
|
||||
STR_PERFORMANCE_DETAIL_LOAN_TIP :{BLACK}Tens un prèstec elevat?
|
||||
@@ -3097,6 +3098,7 @@ STR_NEWGRF_ERROR_LOAD_AFTER :{STRING} ha de
|
||||
STR_NEWGRF_ERROR_OTTD_VERSION_NUMBER :{STRING} necessita OpenTTD versió {STRING} o més modern.
|
||||
STR_NEWGRF_ERROR_AFTER_TRANSLATED_FILE :l'arxiu GRF dissenyat està pendent de traduir
|
||||
STR_NEWGRF_ERROR_TOO_MANY_NEWGRFS_LOADED :Hi ha massa arxius NewGRF carregats.
|
||||
STR_NEWGRF_ERROR_STATIC_GRF_CAUSES_DESYNC :Carregant {STRING} com a NewGRF estàtic amb {STRING} podria causar desincronitzacions.
|
||||
|
||||
STR_NEWGRF_ADD :{BLACK}Afegeix
|
||||
STR_NEWGRF_ADD_TIP :{BLACK}Afegeix un arxiu NewGRF a la llista
|
||||
@@ -3128,6 +3130,7 @@ STR_NEWGRF_NOT_FOUND_WARNING :{WHITE}Arxius G
|
||||
STR_NEWGRF_UNPAUSE_WARNING_TITLE :{YELLOW}Falten arxiu(s) GRF
|
||||
STR_NEWGRF_UNPAUSE_WARNING :{WHITE}Treure la pausa pot provocar fallades d'OpenTTD. No informis d'errors a causa de fallades subseqüents.{}Estàs segur de voler treure la pausa?
|
||||
|
||||
STR_LOADGAME_REMOVED_TRAMS :{WHITE}El joc s'ha desat en una versió sense suport de tramvies. Tots els tramvies s'han eliminat.
|
||||
STR_CURRENCY_WINDOW :{WHITE}Moneda personalitzada
|
||||
STR_CURRENCY_EXCHANGE_RATE :{LTBLUE}Canvi de moneda: {ORANGE}{CURRENCY} = £ {COMMA}
|
||||
STR_CURRENCY_SEPARATOR :{LTBLUE}Separador:
|
||||
|
@@ -1204,6 +1204,15 @@ STR_CONFIG_PATCHES_CURRENCY :{CURRENCY}
|
||||
STR_CONFIG_PATCHES_QUERY_CAPT :{WHITE}Promijeni vrijednost postavke
|
||||
STR_CONFIG_PATCHES_SERVICE_INTERVAL_INCOMPATIBLE :{WHITE}Neki ili svi od zadanih servisnih intervala ispod nisu kompatibilni s odabranim postavkama! Valjane vrijednosti su 5-90% ili 30-800 dana.
|
||||
|
||||
STR_CONFIG_PATCHES_PATHFINDER_FOR_TRAINS_NTP :NTP {RED}(Nije preporučivo)
|
||||
STR_CONFIG_PATCHES_PATHFINDER_FOR_TRAINS_NPF :NPF
|
||||
STR_CONFIG_PATCHES_PATHFINDER_FOR_TRAINS_YAPF :YAPF {BLUE}(Preporučeno)
|
||||
STR_CONFIG_PATCHES_PATHFINDER_FOR_ROADVEH_OPF :Original {RED}(Nije preporučivo)
|
||||
STR_CONFIG_PATCHES_PATHFINDER_FOR_ROADVEH_NPF :NPF
|
||||
STR_CONFIG_PATCHES_PATHFINDER_FOR_ROADVEH_YAPF :YAPF {BLUE}(Preporučeno)
|
||||
STR_CONFIG_PATCHES_PATHFINDER_FOR_SHIPS_OPF :Original {BLUE}(Preporučeno)
|
||||
STR_CONFIG_PATCHES_PATHFINDER_FOR_SHIPS_NPF :NPF
|
||||
STR_CONFIG_PATCHES_PATHFINDER_FOR_SHIPS_YAPF :YAPF {RED}(Nije preporučivo)
|
||||
STR_TEMPERATE_LANDSCAPE :Blagi krajolik
|
||||
STR_SUB_ARCTIC_LANDSCAPE :Pod-arktički krajolik
|
||||
STR_SUB_TROPICAL_LANDSCAPE :Sub-tropski krajolik
|
||||
@@ -1700,6 +1709,7 @@ STR_2002 :{TINYFONT}{BLAC
|
||||
STR_2002_WHITE :{TINYFONT}{WHITE}{SIGN}
|
||||
STR_2004_BUILDING_MUST_BE_DEMOLISHED :{WHITE}Najprije moraš srušiti građevinu
|
||||
STR_2005 :{WHITE}{TOWN}
|
||||
STR_CITY :{WHITE}{TOWN} (Grad)
|
||||
STR_2006_POPULATION :{BLACK}Stanovništvo: {ORANGE}{COMMA}{BLACK} Kuće: {ORANGE}{COMMA}
|
||||
STR_2007_RENAME_TOWN :Preimenuj grad
|
||||
STR_2008_CAN_T_RENAME_TOWN :{WHITE}Nije moguće preimenovati grad...
|
||||
|
@@ -231,7 +231,7 @@ STR_00CC_2 :{BLACK}2
|
||||
STR_00CD_3 :{BLACK}3
|
||||
STR_00CE_4 :{BLACK}4
|
||||
STR_00CF_5 :{BLACK}5
|
||||
STR_00D0_NOTHING :Nic
|
||||
STR_00D0_NOTHING :nic
|
||||
STR_00D1_DARK_BLUE :Tmavomodrá
|
||||
STR_00D2_PALE_GREEN :Světlezelená
|
||||
STR_00D3_PINK :Růžová
|
||||
@@ -976,7 +976,7 @@ STR_CURR_ISK :Islandská koru
|
||||
STR_CURR_ITL :Italská lira (ITL)
|
||||
STR_CURR_NLG :Holandský gulden (NLG)
|
||||
STR_CURR_NOK :Norská koruna (NOK)
|
||||
STR_CURR_PLN :Polský złotý (PLN)
|
||||
STR_CURR_PLN :Polský zlotý (PLN)
|
||||
STR_CURR_ROL :Rumunský lei (ROL)
|
||||
STR_CURR_RUR :Ruský rubl (RUR)
|
||||
STR_CURR_SIT :Slovinský tolar (SIT)
|
||||
@@ -1019,8 +1019,8 @@ STR_MONTH_OCT :Říjen
|
||||
STR_MONTH_NOV :Listopad
|
||||
STR_MONTH_DEC :Prosinec
|
||||
|
||||
STR_HEADING_FOR_STATION :{LTBLUE}Mířím do {STATION}
|
||||
STR_HEADING_FOR_STATION_VEL :{LTBLUE}Mířím do {STATION}, {VELOCITY}
|
||||
STR_HEADING_FOR_STATION :{LTBLUE}Míří do {STATION}
|
||||
STR_HEADING_FOR_STATION_VEL :{LTBLUE}Míří do {STATION}, {VELOCITY}
|
||||
STR_NO_ORDERS :{LTBLUE}Bez příkazů
|
||||
STR_NO_ORDERS_VEL :{LTBLUE}Bez příkazů, {VELOCITY}
|
||||
|
||||
@@ -1077,7 +1077,7 @@ STR_CONFIG_PATCHES_OFF :vypnuto
|
||||
STR_CONFIG_PATCHES_ON :zapnuto
|
||||
STR_CONFIG_PATCHES_VEHICLESPEED :{LTBLUE}Ukazovat rychlost vozidla ve stavové liště: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_BUILDONSLOPES :{LTBLUE}Povolit výstavbu na svazích kopců a na pobřežích: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_AUTOSLOPE :{LTBLUE}Úpravy terénu pod budovami, kolejemi atd. (tzv. autoslope): {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_AUTOSLOPE :{LTBLUE}Srovnání terénu pod budovami, kolejemi atd. (autoslope): {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_CATCHMENT :{LTBLUE}Povolit u oblasti pokrytí realističtější velikost: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_EXTRADYNAMITE :{LTBLUE}Povolit bourání více městských silnic, mostů, tunelů, atp.: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_MAMMOTHTRAINS :{LTBLUE}Povolit stavbu dlouhých vlaků: {ORANGE}{STRING}
|
||||
@@ -1088,7 +1088,7 @@ STR_CONFIG_PATCHES_FULLLOADANY :{LTBLUE}Odjet,
|
||||
STR_CONFIG_PATCHES_IMPROVEDLOAD :{LTBLUE}Použij vylepšený algoritmus nakládání: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_GRADUAL_LOADING :{LTBLUE}Nakládat vozidla postupně: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_INFLATION :{LTBLUE}Inflace: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_SELECTGOODS :{LTBLUE}Vozit zboží do stanice jen když je poptávka: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_SELECTGOODS :{LTBLUE}Dodávat zboží do stanice jen když je poptávka: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_LONGBRIDGES :{LTBLUE}Povolit stavbu velmi dlouhých mostů: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_GOTODEPOT :{LTBLUE}Povolit příkaz 'jeď do depa': {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_RAW_INDUSTRY_CONSTRUCTION_METHOD :{LTBLUE}Způsob manuálního budování primárního průmyslu: {ORANGE}{STRING}
|
||||
@@ -1109,7 +1109,7 @@ STR_CONFIG_PATCHES_ALLOW_GIVE_MONEY :{LTBLUE}Umožni
|
||||
STR_CONFIG_PATCHES_NONUNIFORM_STATIONS :{LTBLUE}Nejednolité stanice: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_FREIGHT_TRAINS :{LTBLUE}Pro simulaci těžkých vlaků vynásobit hmotnost nákladu: {ORANGE}{STRING}x
|
||||
STR_CONFIG_PATCHES_PLANE_SPEED :{LTBLUE}Činitel rychlosti letadel: {ORANGE}1/{STRING}
|
||||
STR_CONFIG_PATCHES_STOP_ON_TOWN_ROAD :{LTBLUE}Povolit průjezdné zastávky na silnicích vlastněných obcemi: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_STOP_ON_TOWN_ROAD :{LTBLUE}Stavba průjezdných zastávek na obecních silnicích: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_ADJACENT_STATIONS :{LTBLUE}Povolit stavění přilehlých stanic: {ORANGE}{STRING}
|
||||
|
||||
STR_CONFIG_PATCHES_SMALL_AIRPORTS :{LTBLUE}Malá letiště se budou moci stále stavět: {ORANGE}{STRING}
|
||||
@@ -1121,7 +1121,7 @@ STR_CONFIG_PATCHES_ORDER_REVIEW_EXDEPOT :ano, kromě zas
|
||||
STR_CONFIG_PATCHES_ORDER_REVIEW_ON :ano, u všech vozidel
|
||||
STR_CONFIG_PATCHES_WARN_INCOME_LESS :{LTBLUE}Varovat, pokud vlak prodělává: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_NEVER_EXPIRE_VEHICLES :{LTBLUE}Vozidlům se nikdy nezastaví výroba ('nezastarají'): {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_AUTORENEW_VEHICLE :{LTBLUE}Automaticky obnovit dopravní prostředek, když je starý
|
||||
STR_CONFIG_PATCHES_AUTORENEW_VEHICLE :{LTBLUE}Automaticky nahradit dopravní prostředek, když zestárne
|
||||
STR_CONFIG_PATCHES_AUTORENEW_MONTHS :{LTBLUE}Obnovit vozidlo {ORANGE}{STRING}{LTBLUE} měsíců před / po dosažení maximálního stáří
|
||||
STR_CONFIG_PATCHES_AUTORENEW_MONEY :{LTBLUE}Minimální částka pro automatické obnovení: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_ERRMSG_DURATION :{LTBLUE}Doba zobrazení chybové zprávy: {ORANGE}{STRING}
|
||||
@@ -1215,7 +1215,7 @@ STR_CONFIG_PATCHES_NOSERVICE :{LTBLUE}Vypnout
|
||||
STR_CONFIG_PATCHES_WAGONSPEEDLIMITS :{LTBLUE}Zapnout omezení rychlosti vagonů: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_DISABLE_ELRAILS :{LTBLUE}Vypnout elektrickou železnici: {ORANGE}{STRING}
|
||||
|
||||
STR_CONFIG_PATCHES_COLORED_NEWS_YEAR :{LTBLUE}Barevné noviny se objeví: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_COLORED_NEWS_YEAR :{LTBLUE}Barevné noviny se objeví v roce: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_STARTING_YEAR :{LTBLUE}Počáteční datum: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_ENDING_YEAR :{LTBLUE}Ukončit hru v roce: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_SMOOTH_ECONOMY :{LTBLUE}Plynulé změny ekonomiky (více menších změn)
|
||||
@@ -1225,7 +1225,7 @@ STR_CONFIG_PATCHES_SEMAPHORE_BUILD_BEFORE_DATE :{LTBLUE}Semafor
|
||||
STR_CONFIG_PATCHES_ENABLE_SIGNAL_GUI :{LTBLUE}Okno pro stavbu signálů: {ORANGE}{STRING}
|
||||
|
||||
STR_CONFIG_PATCHES_TOWN_LAYOUT_INVALID :{WHITE}Vzor "žádné silnice" se neuplatňuje v editoru scénářů
|
||||
STR_CONFIG_PATCHES_TOWN_LAYOUT :{LTBLUE}Vyber vzor městských silnic: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_TOWN_LAYOUT :{LTBLUE}Vzor městských silnic: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_TOWN_LAYOUT_NO_ROADS :žádné silnice
|
||||
STR_CONFIG_PATCHES_TOWN_LAYOUT_DEFAULT :původní
|
||||
STR_CONFIG_PATCHES_TOWN_LAYOUT_BETTER_ROADS :lepší silnice
|
||||
@@ -1244,9 +1244,9 @@ STR_CONFIG_PATCHES_TOWN_GROWTH_SLOW :pomalá
|
||||
STR_CONFIG_PATCHES_TOWN_GROWTH_NORMAL :normální
|
||||
STR_CONFIG_PATCHES_TOWN_GROWTH_FAST :rychlá
|
||||
STR_CONFIG_PATCHES_TOWN_GROWTH_VERY_FAST :velmi rychlá
|
||||
STR_CONFIG_PATCHES_LARGER_TOWNS :{LTBLUE}Podíl měst, které budou růst dvakrát tak rychle: {ORANGE}1 z {STRING}
|
||||
STR_CONFIG_PATCHES_LARGER_TOWNS_DISABLED :{LTBLUE}Podíl měst, které budou růst dvakrát tak rychle: {ORANGE}žádné
|
||||
STR_CONFIG_PATCHES_CITY_SIZE_MULTIPLIER :{LTBLUE}Násobitel původní velikosti města: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_LARGER_TOWNS :{LTBLUE}Podíl měst, ze kterých se stanou velkoměsta: {ORANGE}1 z {STRING}
|
||||
STR_CONFIG_PATCHES_LARGER_TOWNS_DISABLED :{LTBLUE}Podíl měst, ze kterých se stanou velkoměsta: {ORANGE}žádné
|
||||
STR_CONFIG_PATCHES_CITY_SIZE_MULTIPLIER :{LTBLUE}Činitel základní velikosti města: {ORANGE}{STRING}
|
||||
STR_CONFIG_MODIFIED_ROAD_REBUILD :{LTBLUE}Odstraňovat nesmyslné prvky vozovky při výstavbě silnic
|
||||
|
||||
STR_CONFIG_PATCHES_GUI :{BLACK}Ovládaní
|
||||
@@ -1294,8 +1294,8 @@ STR_CHEAT_SWITCH_CLIMATE :{LTBLUE}Změnit
|
||||
STR_CHEAT_CHANGE_DATE :{LTBLUE}Změnit datum: {ORANGE}{DATE_SHORT}
|
||||
STR_CHEAT_SETUP_PROD :{LTBLUE}Povolit změnu produkce průmyslu: {ORANGE}{STRING}
|
||||
|
||||
STR_HEADING_FOR_WAYPOINT :{LTBLUE}Mířím do {WAYPOINT}
|
||||
STR_HEADING_FOR_WAYPOINT_VEL :{LTBLUE}Mířím do {WAYPOINT}, {VELOCITY}
|
||||
STR_HEADING_FOR_WAYPOINT :{LTBLUE}Míří do {WAYPOINT}
|
||||
STR_HEADING_FOR_WAYPOINT_VEL :{LTBLUE}Míří do {WAYPOINT}, {VELOCITY}
|
||||
|
||||
STR_GO_TO_WAYPOINT :Jet přes {WAYPOINT}
|
||||
STR_GO_NON_STOP_TO_WAYPOINT :Jet bez zastávky přes {WAYPOINT}
|
||||
@@ -1480,35 +1480,35 @@ STR_NETWORK_LOAD_GAME :{BLACK}Nahrát
|
||||
STR_NETWORK_LOAD_GAME_TIP :{BLACK}Pokračovat ve dříve uložené hře pro více hráčů (ujisti se, že se připojuješ na správného hráče)
|
||||
|
||||
############ Leave those lines in this order!!
|
||||
STR_NETWORK_LANG_ANY :Jakýkoli
|
||||
STR_NETWORK_LANG_ENGLISH :Angličtina
|
||||
STR_NETWORK_LANG_GERMAN :Němčina
|
||||
STR_NETWORK_LANG_FRENCH :Francouzština
|
||||
STR_NETWORK_LANG_BRAZILIAN :Brazilská portugalština
|
||||
STR_NETWORK_LANG_BULGARIAN :Bulharština
|
||||
STR_NETWORK_LANG_CHINESE :Čínština
|
||||
STR_NETWORK_LANG_CZECH :Čeština
|
||||
STR_NETWORK_LANG_DANISH :Dánština
|
||||
STR_NETWORK_LANG_DUTCH :Nizozemština
|
||||
STR_NETWORK_LANG_ESPERANTO :Esperanto
|
||||
STR_NETWORK_LANG_FINNISH :Finština
|
||||
STR_NETWORK_LANG_HUNGARIAN :Maďarština
|
||||
STR_NETWORK_LANG_ICELANDIC :Islandština
|
||||
STR_NETWORK_LANG_ITALIAN :Italština
|
||||
STR_NETWORK_LANG_JAPANESE :Japonština
|
||||
STR_NETWORK_LANG_KOREAN :Korejština
|
||||
STR_NETWORK_LANG_LITHUANIAN :Litevština
|
||||
STR_NETWORK_LANG_NORWEGIAN :Norština
|
||||
STR_NETWORK_LANG_POLISH :Polština
|
||||
STR_NETWORK_LANG_PORTUGUESE :Portugalština
|
||||
STR_NETWORK_LANG_ROMANIAN :Rumunština
|
||||
STR_NETWORK_LANG_RUSSIAN :Ruština
|
||||
STR_NETWORK_LANG_SLOVAK :Slovenština
|
||||
STR_NETWORK_LANG_SLOVENIAN :Slovinština
|
||||
STR_NETWORK_LANG_SPANISH :Španělština
|
||||
STR_NETWORK_LANG_SWEDISH :Švédština
|
||||
STR_NETWORK_LANG_TURKISH :Turečtina
|
||||
STR_NETWORK_LANG_UKRAINIAN :Ukrajinština
|
||||
STR_NETWORK_LANG_ANY :jakýkoli
|
||||
STR_NETWORK_LANG_ENGLISH :angličtina
|
||||
STR_NETWORK_LANG_GERMAN :němčina
|
||||
STR_NETWORK_LANG_FRENCH :francouzština
|
||||
STR_NETWORK_LANG_BRAZILIAN :brazilská portugalština
|
||||
STR_NETWORK_LANG_BULGARIAN :bulharština
|
||||
STR_NETWORK_LANG_CHINESE :čínština
|
||||
STR_NETWORK_LANG_CZECH :čeština
|
||||
STR_NETWORK_LANG_DANISH :dánština
|
||||
STR_NETWORK_LANG_DUTCH :nizozemština
|
||||
STR_NETWORK_LANG_ESPERANTO :esperanto
|
||||
STR_NETWORK_LANG_FINNISH :finština
|
||||
STR_NETWORK_LANG_HUNGARIAN :maďarština
|
||||
STR_NETWORK_LANG_ICELANDIC :islandština
|
||||
STR_NETWORK_LANG_ITALIAN :italština
|
||||
STR_NETWORK_LANG_JAPANESE :japonština
|
||||
STR_NETWORK_LANG_KOREAN :korejština
|
||||
STR_NETWORK_LANG_LITHUANIAN :litevština
|
||||
STR_NETWORK_LANG_NORWEGIAN :norština
|
||||
STR_NETWORK_LANG_POLISH :polština
|
||||
STR_NETWORK_LANG_PORTUGUESE :portugalština
|
||||
STR_NETWORK_LANG_ROMANIAN :rumunština
|
||||
STR_NETWORK_LANG_RUSSIAN :ruština
|
||||
STR_NETWORK_LANG_SLOVAK :slovenština
|
||||
STR_NETWORK_LANG_SLOVENIAN :slovinština
|
||||
STR_NETWORK_LANG_SPANISH :španělština
|
||||
STR_NETWORK_LANG_SWEDISH :švédština
|
||||
STR_NETWORK_LANG_TURKISH :turečtina
|
||||
STR_NETWORK_LANG_UKRAINIAN :ukrajinština
|
||||
############ End of leave-in-this-order
|
||||
|
||||
STR_NETWORK_GAME_LOBBY :{WHITE}Vstupní místnost do multiplayerové hry
|
||||
@@ -1748,7 +1748,7 @@ STR_180F_BUILD_ROAD_BRIDGE :{BLACK}Postavit
|
||||
STR_BUILD_TRAMWAY_BRIDGE :{BLACK}Postavit tramvajový most
|
||||
STR_1810_BUILD_ROAD_TUNNEL :{BLACK}Postavit silniční tunel
|
||||
STR_BUILD_TRAMWAY_TUNNEL :{BLACK}Postavit tramvajový tunel
|
||||
STR_TOGGLE_ONE_WAY_ROAD :{BLACK}Povolit / zakázat jednosměrné silnice
|
||||
STR_TOGGLE_ONE_WAY_ROAD :{BLACK}Stavět / nestavět jednosměrné silnice
|
||||
STR_1811_TOGGLE_BUILD_REMOVE_FOR :{BLACK}Přepnout stavba / odstranění silnice
|
||||
STR_TOGGLE_BUILD_REMOVE_FOR_TRAMWAYS :{BLACK}Přepínání mezi výstavbou a bouráním tramvajové tratě
|
||||
STR_1813_SELECT_ROAD_VEHICLE_DEPOT :{BLACK}Výběr orientace garáže
|
||||
@@ -1773,6 +1773,7 @@ STR_2002 :{TINYFONT}{BLAC
|
||||
STR_2002_WHITE :{TINYFONT}{WHITE}{SIGN}
|
||||
STR_2004_BUILDING_MUST_BE_DEMOLISHED :{WHITE}Budova musí být nejprve zničena
|
||||
STR_2005 :{WHITE}{TOWN}
|
||||
STR_CITY :{WHITE}{TOWN} (velkoměsto)
|
||||
STR_2006_POPULATION :{BLACK}Populace: {ORANGE}{COMMA}{BLACK} Domů: {ORANGE}{COMMA}
|
||||
STR_2007_RENAME_TOWN :Přejmenovat město
|
||||
STR_2008_CAN_T_RENAME_TOWN :{WHITE}Nemohu přejmenovat město:
|
||||
@@ -2323,8 +2324,8 @@ STR_AIRCRAFT :{WHITE}{COMMA}
|
||||
STR_SHIPS :{WHITE}{COMMA} lo{P ď dě dí}
|
||||
STR_7042_NONE :{WHITE}Nic
|
||||
STR_7043_FACE_SELECTION :{WHITE}Volba tváře
|
||||
STR_7044_MALE :{BLACK}Mužské
|
||||
STR_7045_FEMALE :{BLACK}Ženské
|
||||
STR_7044_MALE :{BLACK}Mužská
|
||||
STR_7045_FEMALE :{BLACK}Ženská
|
||||
STR_7046_NEW_FACE :{BLACK}Nový obličej
|
||||
STR_7047_CANCEL_NEW_FACE_SELECTION :{BLACK}Zrušit volbu nového obličeje
|
||||
STR_7048_ACCEPT_NEW_FACE_SELECTION :{BLACK}Potvrdit výběr obličeje
|
||||
@@ -2832,7 +2833,7 @@ STR_8858_MAKE_THE_HIGHLIGHTED_ORDER :{BLACK}Označen
|
||||
STR_TIMETABLE_TOOLTIP :{BLACK}Jízdní řád - příkaz vybereš kliknutím.
|
||||
STR_TIMETABLE_WAIT_TIME_TOOLTIP :{BLACK}Změnit čas pro splnění jízdního příkazu
|
||||
STR_TIMETABLE_CLEAR_TIME_TOOLTIP :{BLACK}Zrušit čas pro splnění jízdního příkazu
|
||||
STR_TIMETABLE_RESET_LATENESS_TOOLTIP :{BLACK}Smazat ukazatel zpoždění, takže vozidlo pojede na čas
|
||||
STR_TIMETABLE_RESET_LATENESS_TOOLTIP :{BLACK}Smazat zpoždění, takže vozidlo pojede na čas
|
||||
STR_SERVICE_HINT :{BLACK}Přeskoč tento cíl, pokud není potřeba pravidelná údržba
|
||||
STR_VEHICLE_INFO_COST_WEIGHT_SPEED_POWER :{BLACK}Cena: {CURRENCY} Hmotnost: {WEIGHT_S}{}Rychlost: {VELOCITY} Výkon: {POWER}{}Cena provozu: {CURRENCY} ročně{}Kapacita: {CARGO}
|
||||
STR_885C_BROKEN_DOWN :{RED}Porucha
|
||||
@@ -2855,7 +2856,7 @@ STR_886B_CAN_T_RENAME_TRAIN_VEHICLE :{WHITE}Nemohu p
|
||||
STR_MAKE_THE_HIGHLIGHTED_ORDER :{BLACK}U označeného příkazu vozidlo musí vyložit náklad
|
||||
STR_TRANSFER :{BLACK}Překládka
|
||||
STR_CLEAR_TIME :{BLACK}Smazat čas
|
||||
STR_RESET_LATENESS :{BLACK}Smazat ukazatel zpoždění
|
||||
STR_RESET_LATENESS :{BLACK}Zapomenout zpoždění
|
||||
|
||||
STR_TRAIN_STOPPING :{RED}Zastavuje
|
||||
STR_TRAIN_STOPPING_VEL :{RED}Zastavuje, {VELOCITY}
|
||||
@@ -2887,14 +2888,14 @@ STR_9000_ROAD_VEHICLE_IN_THE_WAY :{WHITE}Silničn
|
||||
STR_9001_ROAD_VEHICLES :{WHITE}{COMPANY} - {COMMA} silniční{P "" "" ch} vozid{P lo la el}
|
||||
STR_9002 :{WHITE}{VEHICLE}
|
||||
STR_9003_ROAD_VEHICLE_DEPOT :{WHITE}Garáže pro silniční vozidla {TOWN}
|
||||
STR_9004_NEW_VEHICLES :{BLACK}Nová silniční vozidla
|
||||
STR_9004_NEW_VEHICLES :{BLACK}Nová vozidla
|
||||
STR_9006_NEW_ROAD_VEHICLES :{WHITE}Nová silniční vozidla
|
||||
STR_9007_BUILD_VEHICLE :{BLACK}Koupit silniční vozidlo
|
||||
STR_9009_CAN_T_BUILD_ROAD_VEHICLE :{WHITE}Nemohu koupit nové silniční vozidlo...
|
||||
STR_900C_DETAILS :{WHITE}{VEHICLE} (Detaily)
|
||||
STR_900D_AGE_RUNNING_COST_YR :{BLACK}Stáří: {LTBLUE}{STRING}{BLACK} Cena provozu: {LTBLUE}{CURRENCY} ročně
|
||||
STR_900E_MAX_SPEED :{BLACK}Max. rychlost: {LTBLUE}{VELOCITY}
|
||||
STR_900F_PROFIT_THIS_YEAR_LAST_YEAR :{BLACK}Příjem tento rok: {LTBLUE}{CURRENCY} (minulý rok): {CURRENCY})
|
||||
STR_900F_PROFIT_THIS_YEAR_LAST_YEAR :{BLACK}Příjem tento rok: {LTBLUE}{CURRENCY} (minulý rok: {CURRENCY})
|
||||
STR_9010_RELIABILITY_BREAKDOWNS :{BLACK}Spolehlivost: {LTBLUE}{COMMA}% {BLACK}Poruch od posledního servisu: {LTBLUE}{COMMA}
|
||||
STR_9011_BUILT_VALUE :{LTBLUE}{ENGINE}{BLACK} Koupen: {LTBLUE}{NUM}{BLACK} Cena: {LTBLUE}{CURRENCY}
|
||||
STR_9012_CAPACITY :{BLACK}Kapacita: {LTBLUE}{CARGO}
|
||||
@@ -2902,8 +2903,8 @@ STR_9013_MUST_BE_STOPPED_INSIDE :{WHITE}... mus
|
||||
STR_9014_CAN_T_SELL_ROAD_VEHICLE :{WHITE}Nemohu prodat silniční vozidlo...
|
||||
STR_9015_CAN_T_STOP_START_ROAD_VEHICLE :{WHITE}Nemohu zastavit/rozjet silniční vozidlo...
|
||||
STR_9016_ROAD_VEHICLE_IS_WAITING :{WHITE}Silniční vozidlo {COMMA} čeká v garáži
|
||||
STR_HEADING_FOR_ROAD_DEPOT :{ORANGE}Mířím do garáže {TOWN}
|
||||
STR_HEADING_FOR_ROAD_DEPOT_VEL :{ORANGE}Mířím do garáže {TOWN}, {VELOCITY}
|
||||
STR_HEADING_FOR_ROAD_DEPOT :{ORANGE}Míří do garáže {TOWN}
|
||||
STR_HEADING_FOR_ROAD_DEPOT_VEL :{ORANGE}Míří do garáže {TOWN}, {VELOCITY}
|
||||
STR_HEADING_FOR_ROAD_DEPOT_SERVICE :{LTBLUE}Údržba v silničním depu {TOWN}
|
||||
STR_HEADING_FOR_ROAD_DEPOT_SERVICE_VEL :{LTBLUE}Údržba v silničním depu {TOWN}, {VELOCITY}
|
||||
STR_9018_CAN_T_SEND_VEHICLE_TO_DEPOT :{WHITE}Nemohu poslat silniční vozidlo do garáže...
|
||||
@@ -2978,7 +2979,7 @@ STR_9818_CAN_T_STOP_START_SHIP :{WHITE}Nelze ro
|
||||
STR_9819_CAN_T_SEND_SHIP_TO_DEPOT :{WHITE}Nelze poslat loď do depa...
|
||||
STR_981A_UNABLE_TO_FIND_LOCAL_DEPOT :{WHITE}Nemohu najít místní depo
|
||||
STR_HEADING_FOR_SHIP_DEPOT :{ORANGE}Jedu do depa {TOWN}
|
||||
STR_HEADING_FOR_SHIP_DEPOT_VEL :{ORANGE}Mířím do depa {TOWN}, {VELOCITY}
|
||||
STR_HEADING_FOR_SHIP_DEPOT_VEL :{ORANGE}Míří do depa {TOWN}, {VELOCITY}
|
||||
STR_HEADING_FOR_SHIP_DEPOT_SERVICE :{LTBLUE}Údržba v lodním depu {TOWN}
|
||||
STR_HEADING_FOR_SHIP_DEPOT_SERVICE_VEL :{LTBLUE}Údržba v lodním depu {TOWN}, {VELOCITY}
|
||||
STR_981C_SHIP_IS_WAITING_IN_DEPOT :{WHITE}Loď {COMMA} čeká v depu
|
||||
@@ -3192,6 +3193,7 @@ STR_NEWGRF_NOT_FOUND_WARNING :{WHITE}Pro nač
|
||||
STR_NEWGRF_UNPAUSE_WARNING_TITLE :{YELLOW}Chybějící grafické soubory
|
||||
STR_NEWGRF_UNPAUSE_WARNING :{WHITE}Spuštění hry může shodit OpenTTD. Nehlaš chybu kvůli pádům způsobeným touto akcí.{}Opravdu chceš rozjet hru?
|
||||
|
||||
STR_LOADGAME_REMOVED_TRAMS :{WHITE}Hra byla uložena ve verzi bez podpory tramvají. Všechny tramvaje se odstraní.
|
||||
STR_CURRENCY_WINDOW :{WHITE}Vlastní měna
|
||||
STR_CURRENCY_EXCHANGE_RATE :{LTBLUE}Kurz měny: {ORANGE}{CURRENCY} = £ {COMMA}
|
||||
STR_CURRENCY_SEPARATOR :{LTBLUE}Oddělovač:
|
||||
|
@@ -1715,6 +1715,7 @@ STR_2002 :{TINYFONT}{BLAC
|
||||
STR_2002_WHITE :{TINYFONT}{WHITE}{SIGN}
|
||||
STR_2004_BUILDING_MUST_BE_DEMOLISHED :{WHITE}Det er nødvendigt at nedrive bygningen først
|
||||
STR_2005 :{WHITE}{TOWN}
|
||||
STR_CITY :{WHITE}{TOWN} (by)
|
||||
STR_2006_POPULATION :{BLACK}Indbyggere: {ORANGE}{COMMA}{BLACK} Huse: {ORANGE}{COMMA}
|
||||
STR_2007_RENAME_TOWN :Omdøb byen
|
||||
STR_2008_CAN_T_RENAME_TOWN :{WHITE}Kan ikke omdøbe byen...
|
||||
@@ -3128,6 +3129,7 @@ STR_NEWGRF_NOT_FOUND_WARNING :{WHITE}Mangler
|
||||
STR_NEWGRF_UNPAUSE_WARNING_TITLE :{YELLOW}Manglende GRF-fil(er)
|
||||
STR_NEWGRF_UNPAUSE_WARNING :{WHITE}OpenTTD kan gå ned, når spillet sættes i gang igen. Undlad at indsende fejlrapporter for efterfølgende nedbrud.{}Vil du virkelig sætte spillet i gang igen?
|
||||
|
||||
STR_LOADGAME_REMOVED_TRAMS :{WHITE}Spillet er gemt i en version uden sporveje. Alle sporveje er blevet fjernet.
|
||||
STR_CURRENCY_WINDOW :{WHITE}Brugerdefineret møntfod
|
||||
STR_CURRENCY_EXCHANGE_RATE :{LTBLUE}Kurs: {ORANGE}{CURRENCY} = £ {COMMA}
|
||||
STR_CURRENCY_SEPARATOR :{LTBLUE}Tilskuer:
|
||||
|
@@ -1715,6 +1715,7 @@ STR_2002 :{TINYFONT}{BLAC
|
||||
STR_2002_WHITE :{TINYFONT}{WHITE}{SIGN}
|
||||
STR_2004_BUILDING_MUST_BE_DEMOLISHED :{WHITE}Gebouw moet eerst gesloopt worden
|
||||
STR_2005 :{WHITE}{TOWN}
|
||||
STR_CITY :{WHITE}{TOWN} (Stad)
|
||||
STR_2006_POPULATION :{BLACK}Bevolking: {ORANGE}{COMMA}{BLACK} Huizen: {ORANGE}{COMMA}
|
||||
STR_2007_RENAME_TOWN :Hernoem stad
|
||||
STR_2008_CAN_T_RENAME_TOWN :{WHITE}Kan stad niet hernoemen...
|
||||
@@ -3097,6 +3098,7 @@ STR_NEWGRF_ERROR_LOAD_AFTER :{STRING} moet g
|
||||
STR_NEWGRF_ERROR_OTTD_VERSION_NUMBER :{STRING} heeft OpenTTD versie {STRING} of beter nodig.
|
||||
STR_NEWGRF_ERROR_AFTER_TRANSLATED_FILE :het GRF bestand is bedoelt voor het vertalen van
|
||||
STR_NEWGRF_ERROR_TOO_MANY_NEWGRFS_LOADED :Er zijn teveel NewGRFs geladen.
|
||||
STR_NEWGRF_ERROR_STATIC_GRF_CAUSES_DESYNC :Laden {STRING} als statisch NewGRF met {STRING} kan desyncs veroorzaken.
|
||||
|
||||
STR_NEWGRF_ADD :{BLACK}Toevoegen
|
||||
STR_NEWGRF_ADD_TIP :{BLACK}Voeg een NewGRF bestand toe aan te lijst
|
||||
@@ -3128,6 +3130,10 @@ STR_NEWGRF_NOT_FOUND_WARNING :{WHITE}Er zijn
|
||||
STR_NEWGRF_UNPAUSE_WARNING_TITLE :{YELLOW}Ontbrekende GRF bestand(en)
|
||||
STR_NEWGRF_UNPAUSE_WARNING :{WHITE}Pauze uit zetten kan OpenTTD laten vastlopen. Geef geen fout rapporten bij herhaaldelijk vastlopen.{}Weet je zeker dat je pauze wilt uit zetten?
|
||||
|
||||
STR_NEWGRF_BROKEN :{WHITE}Gedrag van NewGRF '{0:STRING}' zal waarschijnlijk desyncs en/of crashes veroorzaken.
|
||||
STR_NEWGRF_BROKEN_VEHICLE_LENGTH :{WHITE}Het verandert de lengte van voertuig '{1:ENGINE}' wanneer niet in een depot.
|
||||
STR_BROKEN_VEHICLE_LENGTH :{WHITE}Trein '{VEHICLE}' behorend bij '{COMPANY}' heeft een ongeldige lengte. Het is waarschijnlijk veroorzaakt door problemen metNewGRFs. Het spel kan desync krijgen of crash.
|
||||
STR_LOADGAME_REMOVED_TRAMS :{WHITE}Spel was opgeslagen in een versie zonder tram ondersteuning. Alle trams zijn verwijderd.
|
||||
STR_CURRENCY_WINDOW :{WHITE}Aangepaste valuta
|
||||
STR_CURRENCY_EXCHANGE_RATE :{LTBLUE}Wisselkoers: {ORANGE}{CURRENCY} = £ {COMMA}
|
||||
STR_CURRENCY_SEPARATOR :{LTBLUE}Scheidingsteken:
|
||||
|
@@ -1064,7 +1064,7 @@ STR_CONFIG_PATCHES_ORDER_REVIEW_ON :of all vehicles
|
||||
STR_CONFIG_PATCHES_WARN_INCOME_LESS :{LTBLUE}Warn if a train's income is negative: {ORANGE}{STRING1}
|
||||
STR_CONFIG_PATCHES_NEVER_EXPIRE_VEHICLES :{LTBLUE}Vehicles never expire: {ORANGE}{STRING1}
|
||||
STR_CONFIG_PATCHES_AUTORENEW_VEHICLE :{LTBLUE}Autorenew vehicle when it gets old
|
||||
STR_CONFIG_PATCHES_AUTORENEW_MONTHS :{LTBLUE}Autorenew when vehice is {ORANGE}{STRING1}{LTBLUE} months before/after max age
|
||||
STR_CONFIG_PATCHES_AUTORENEW_MONTHS :{LTBLUE}Autorenew when vehicle is {ORANGE}{STRING1}{LTBLUE} months before/after max age
|
||||
STR_CONFIG_PATCHES_AUTORENEW_MONEY :{LTBLUE}Autorenew minimum needed money for renew: {ORANGE}{STRING1}
|
||||
STR_CONFIG_PATCHES_ERRMSG_DURATION :{LTBLUE}Duration of error message: {ORANGE}{STRING1}
|
||||
STR_CONFIG_PATCHES_POPULATION_IN_LABEL :{LTBLUE}Show town population in the town name label: {ORANGE}{STRING1}
|
||||
@@ -3098,6 +3098,7 @@ STR_NEWGRF_ERROR_LOAD_AFTER :{STRING} must b
|
||||
STR_NEWGRF_ERROR_OTTD_VERSION_NUMBER :{STRING} requires OpenTTD version {STRING} or better.
|
||||
STR_NEWGRF_ERROR_AFTER_TRANSLATED_FILE :the GRF file it was designed to translate
|
||||
STR_NEWGRF_ERROR_TOO_MANY_NEWGRFS_LOADED :Too many NewGRFs are loaded.
|
||||
STR_NEWGRF_ERROR_STATIC_GRF_CAUSES_DESYNC :Loading {STRING} as static NewGRF with {STRING} could cause desyncs.
|
||||
|
||||
STR_NEWGRF_ADD :{BLACK}Add
|
||||
STR_NEWGRF_ADD_TIP :{BLACK}Add a NewGRF file to the list
|
||||
@@ -3129,6 +3130,12 @@ STR_NEWGRF_NOT_FOUND_WARNING :{WHITE}Missing
|
||||
STR_NEWGRF_UNPAUSE_WARNING_TITLE :{YELLOW}Missing GRF file(s)
|
||||
STR_NEWGRF_UNPAUSE_WARNING :{WHITE}Unpausing can crash OpenTTD. Do not file bug reports for subsequent crashes.{}Do you really want to unpause?
|
||||
|
||||
STR_NEWGRF_BROKEN :{WHITE}Behaviour of NewGRF '{0:STRING}' is likely to cause desyncs and/or crashes.
|
||||
STR_NEWGRF_BROKEN_VEHICLE_LENGTH :{WHITE}It changes vehicle length for '{1:ENGINE}' when not inside a depot.
|
||||
STR_BROKEN_VEHICLE_LENGTH :{WHITE}Train '{VEHICLE}' belonging to '{COMPANY}' has invalid length. It is probably caused by problems with NewGRFs. Game may desync or crash.
|
||||
|
||||
STR_LOADGAME_REMOVED_TRAMS :{WHITE}Game was saved in version without tram support. All trams have been removed.
|
||||
|
||||
STR_CURRENCY_WINDOW :{WHITE}Custom currency
|
||||
STR_CURRENCY_EXCHANGE_RATE :{LTBLUE}Exchange rate: {ORANGE}{CURRENCY} = £ {COMMA}
|
||||
STR_CURRENCY_SEPARATOR :{LTBLUE}Separator:
|
||||
|
@@ -770,6 +770,7 @@ STR_02C4_GAME_OPTIONS :Ludaj opcioj
|
||||
STR_02C6_DIFFICULTY_SETTINGS :Malfacilec-agordoj
|
||||
STR_MENU_CONFIG_PATCHES :Agordu flikojn
|
||||
STR_NEWGRF_SETTINGS :Agordoj de NewGRF
|
||||
STR_TRANSPARENCY_OPTIONS :Ebloj por travidebleco
|
||||
STR_GAMEOPTMENU_0A :
|
||||
STR_02CA_TOWN_NAMES_DISPLAYED :{SETX 12}Urbonomoj montriĝas
|
||||
STR_02CC_STATION_NAMES_DISPLAYED :{SETX 12}Staciaj nomoj montriĝas
|
||||
@@ -797,7 +798,6 @@ STR_02DD_SUBSIDIES :Subvencioj
|
||||
STR_02DE_MAP_OF_WORLD :Mondomapo
|
||||
STR_EXTRA_VIEW_PORT :Plia videjo
|
||||
STR_SIGN_LIST :Afiŝa listo
|
||||
STR_TRANSPARENCY_OPTIONS :Ebloj por travidebleco
|
||||
STR_02DF_TOWN_DIRECTORY :Urbaro
|
||||
STR_TOWN_POPULATION :{BLACK}Monda enloĝantaro: {COMMA}
|
||||
STR_EXTRA_VIEW_PORT_TITLE :{WHITE}Videjo {COMMA}
|
||||
@@ -1343,12 +1343,12 @@ STR_NETWORK_SET_PASSWORD :{BLACK}Agordu p
|
||||
STR_NETWORK_PASSWORD_TIP :{BLACK}Protektu vian ludon per pasvorto por ne publike atingebligi ĝin
|
||||
STR_NETWORK_SELECT_MAP :{BLACK}Elektu mapon:
|
||||
STR_NETWORK_SELECT_MAP_TIP :{BLACK}Kiun mapon vi volas ludi?
|
||||
STR_NETWORK_NUMBER_OF_CLIENTS :{BLACK}Klienta maksimumo:
|
||||
STR_NETWORK_NUMBER_OF_CLIENTS_TIP :{BLACK}Elektu klientan maksimumon. Ne ĉiuj lokoj estas plenigendaj
|
||||
STR_NETWORK_LAN :Loka reto
|
||||
STR_NETWORK_INTERNET :Interreto
|
||||
STR_NETWORK_LAN_INTERNET :Loka reto / Interreto
|
||||
STR_NETWORK_INTERNET_ADVERTISE :Interreto (reklamu)
|
||||
STR_NETWORK_NUMBER_OF_CLIENTS :{BLACK}Klienta maksimumo:
|
||||
STR_NETWORK_NUMBER_OF_CLIENTS_TIP :{BLACK}Elektu klientan maksimumon. Ne ĉiuj lokoj estas plenigendaj
|
||||
STR_NETWORK_NUMBER_OF_COMPANIES :{BLACK}Kompania maksimumo:
|
||||
STR_NETWORK_NUMBER_OF_COMPANIES_TIP :{BLACK}Limu la servilon al certa kvanto da kompanioj
|
||||
STR_NETWORK_NUMBER_OF_SPECTATORS :{BLACK}Spektanta maksimumo:
|
||||
|
@@ -2,7 +2,7 @@
|
||||
##ownname Eesti keel
|
||||
##isocode et_ET
|
||||
##plural 0
|
||||
##case g genitiiv
|
||||
##case g in
|
||||
|
||||
#
|
||||
|
||||
@@ -50,138 +50,92 @@ STR_001C_FRUIT :Puuviljad
|
||||
STR_001C_FRUIT.g :Puuviljade
|
||||
STR_001D_DIAMONDS :Teemantid
|
||||
STR_001D_DIAMONDS.g :Teemantite
|
||||
STR_001D_DIAMONDS.genitiiv :Teemantite
|
||||
STR_001E_FOOD :Toit
|
||||
STR_001E_FOOD.g :Toidu
|
||||
STR_001E_FOOD.genitiiv :Toidu
|
||||
STR_001F_PAPER :Paber
|
||||
STR_001F_PAPER.g :Paberi
|
||||
STR_001F_PAPER.genitiiv :Paberi
|
||||
STR_0020_GOLD :Kuld
|
||||
STR_0020_GOLD.g :Kulla
|
||||
STR_0020_GOLD.genitiiv :Kulla
|
||||
STR_0021_WATER :Vesi
|
||||
STR_0021_WATER.g :Vee
|
||||
STR_0021_WATER.genitiiv :Vee
|
||||
STR_0022_WHEAT :Nisu
|
||||
STR_0022_WHEAT.g :Nisu
|
||||
STR_0022_WHEAT.genitiiv :Nisu
|
||||
STR_0023_RUBBER :Kumm
|
||||
STR_0023_RUBBER.g :Kummi
|
||||
STR_0023_RUBBER.genitiiv :Kummi
|
||||
STR_0024_SUGAR :Suhkur
|
||||
STR_0024_SUGAR.g :Suhkru
|
||||
STR_0024_SUGAR.genitiiv :Suhkru
|
||||
STR_0025_TOYS :Mänguasjad
|
||||
STR_0025_TOYS.g :Mänguasjade
|
||||
STR_0025_TOYS.genitiiv :Mänguasjade
|
||||
STR_0026_CANDY :Maiustused
|
||||
STR_0026_CANDY.g :Maiustuste
|
||||
STR_0026_CANDY.genitiiv :Maiustuste
|
||||
STR_0027_COLA :Koola
|
||||
STR_0027_COLA.g :Koola
|
||||
STR_0027_COLA.genitiiv :Koola
|
||||
STR_0028_COTTON_CANDY :Suhkruvatt
|
||||
STR_0028_COTTON_CANDY.g :Suhkruvati
|
||||
STR_0028_COTTON_CANDY.genitiiv :Suhkruvati
|
||||
STR_0029_BUBBLES :Mullid
|
||||
STR_0029_BUBBLES.g :Mullide
|
||||
STR_0029_BUBBLES.genitiiv :Mullide
|
||||
STR_002A_TOFFEE :Iiris
|
||||
STR_002A_TOFFEE.g :Iirise
|
||||
STR_002A_TOFFEE.genitiiv :Iirise
|
||||
STR_002B_BATTERIES :Patareid
|
||||
STR_002B_BATTERIES.g :Patareide
|
||||
STR_002B_BATTERIES.genitiiv :Patareide
|
||||
STR_002C_PLASTIC :Plastmass
|
||||
STR_002C_PLASTIC.g :Plastmassi
|
||||
STR_002C_PLASTIC.genitiiv :Plastmassi
|
||||
STR_002D_FIZZY_DRINKS :Kihisevad joogid
|
||||
STR_002D_FIZZY_DRINKS.g :Kihisevate jookide
|
||||
STR_002D_FIZZY_DRINKS.genitiiv :Kihisevate jookide
|
||||
STR_002E :
|
||||
STR_002F_PASSENGER :Reisija
|
||||
STR_002F_PASSENGER.g :Reisijate
|
||||
STR_002F_PASSENGER.genitiiv :Reisijate
|
||||
STR_0030_COAL :Kivisüsi
|
||||
STR_0030_COAL.g :Kivisöe
|
||||
STR_0030_COAL.genitiiv :Kivisöe
|
||||
STR_0031_MAIL :Post
|
||||
STR_0031_MAIL.g :Posti
|
||||
STR_0032_OIL :Nafta
|
||||
STR_0032_OIL.g :Nafta
|
||||
STR_0032_OIL.genitiiv :Nafta
|
||||
STR_0033_LIVESTOCK :Kariloom
|
||||
STR_0033_LIVESTOCK.g :Kariloomade
|
||||
STR_0033_LIVESTOCK.genitiiv :Kariloomade
|
||||
STR_0034_GOODS :Kaubad
|
||||
STR_0034_GOODS.g :Kaupade
|
||||
STR_0034_GOODS.genitiiv :Kaupade
|
||||
STR_0035_GRAIN :Teravili
|
||||
STR_0035_GRAIN.g :Teravilja
|
||||
STR_0035_GRAIN.genitiiv :Teravilja
|
||||
STR_0036_WOOD :Puit
|
||||
STR_0036_WOOD.g :Puidu
|
||||
STR_0036_WOOD.genitiiv :Puidu
|
||||
STR_0037_IRON_ORE :Rauamaak
|
||||
STR_0037_IRON_ORE.g :Rauamaagi
|
||||
STR_0037_IRON_ORE.genitiiv :Rauamaagi
|
||||
STR_0038_STEEL :Teras
|
||||
STR_0038_STEEL.g :Terase
|
||||
STR_0038_STEEL.genitiiv :Terase
|
||||
STR_0039_VALUABLES :Väärisesemed
|
||||
STR_0039_VALUABLES.g :Väärisesemete
|
||||
STR_0039_VALUABLES.genitiiv :Väärisesemete
|
||||
STR_003A_COPPER_ORE :Vasemaak
|
||||
STR_003A_COPPER_ORE.g :Vasemaagi
|
||||
STR_003A_COPPER_ORE.genitiiv :Vasemaagi
|
||||
STR_003B_MAIZE :Mais
|
||||
STR_003B_MAIZE.g :Maisi
|
||||
STR_003C_FRUIT :Puuviljad
|
||||
STR_003C_FRUIT.g :Puuviljade
|
||||
STR_003C_FRUIT.genitiiv :Puuviljade
|
||||
STR_003D_DIAMOND :Teemant
|
||||
STR_003D_DIAMOND.g :Teemantite
|
||||
STR_003D_DIAMOND.genitiiv :Teemantite
|
||||
STR_003E_FOOD :Toit
|
||||
STR_003E_FOOD.g :Toidu
|
||||
STR_003E_FOOD.genitiiv :Toidu
|
||||
STR_003F_PAPER :Paber
|
||||
STR_003F_PAPER.g :Paberi
|
||||
STR_003F_PAPER.genitiiv :Paberi
|
||||
STR_0040_GOLD :Kuld
|
||||
STR_0040_GOLD.g :Kulla
|
||||
STR_0040_GOLD.genitiiv :Kulla
|
||||
STR_0041_WATER :Vesi
|
||||
STR_0041_WATER.g :Vee
|
||||
STR_0041_WATER.genitiiv :Vee
|
||||
STR_0042_WHEAT :Nisu
|
||||
STR_0042_WHEAT.g :Nisu
|
||||
STR_0042_WHEAT.genitiiv :Nisu
|
||||
STR_0043_RUBBER :Kumm
|
||||
STR_0043_RUBBER.g :kummi
|
||||
STR_0043_RUBBER.genitiiv :Kummi
|
||||
STR_0044_SUGAR :Suhkur
|
||||
STR_0044_SUGAR.g :Suhkru
|
||||
STR_0044_SUGAR.genitiiv :Suhkru
|
||||
STR_0045_TOY :Mänguasjad
|
||||
STR_0045_TOY.genitiiv :Mänguasjade
|
||||
STR_0046_CANDY :Maiustus
|
||||
STR_0046_CANDY.genitiiv :Maiustuste
|
||||
STR_0047_COLA :Koola
|
||||
STR_0047_COLA.genitiiv :Koola
|
||||
STR_0048_COTTON_CANDY :Suhkruvatt
|
||||
STR_0048_COTTON_CANDY.genitiiv :Suhkruvati
|
||||
STR_0049_BUBBLE :Mullid
|
||||
STR_0049_BUBBLE.genitiiv :Mullide
|
||||
STR_004A_TOFFEE :Iiris
|
||||
STR_004A_TOFFEE.genitiiv :Iirise
|
||||
STR_004B_BATTERY :Patarei
|
||||
STR_004B_BATTERY.genitiiv :Patareide
|
||||
STR_004C_PLASTIC :Plastmass
|
||||
STR_004C_PLASTIC.genitiiv :Plastmassi
|
||||
STR_004D_FIZZY_DRINK :Kihisevad joogid
|
||||
STR_004D_FIZZY_DRINK.genitiiv :Kihisevate jookide
|
||||
STR_QUANTITY_NOTHING :
|
||||
STR_QUANTITY_PASSENGERS :{COMMA} reisija{P "" t}
|
||||
STR_QUANTITY_COAL :{WEIGHT} kivisütt
|
||||
@@ -369,7 +323,7 @@ STR_012C_MESSAGE :{WHITE}Teade
|
||||
STR_012D :{WHITE}{STRING}
|
||||
STR_012E_CANCEL :{BLACK}Loobu
|
||||
STR_012F_OK :{BLACK}OK
|
||||
STR_0130_RENAME :{BLACK}Nime muutmine
|
||||
STR_0130_RENAME :{BLACK}Nimevahetus
|
||||
STR_0131_TOO_MANY_NAMES_DEFINED :{WHITE}Liiga palju määratletud nimesid
|
||||
STR_0132_CHOSEN_NAME_IN_USE_ALREADY :{WHITE}Valitud nimi on juba kasutusel
|
||||
|
||||
@@ -442,7 +396,7 @@ STR_UNITS_FORCE_SI :{COMMA} kN
|
||||
############ range for menu starts
|
||||
STR_0154_OPERATING_PROFIT_GRAPH :Opereerimiskasumi graafik
|
||||
STR_0155_INCOME_GRAPH :Tulugraafik
|
||||
STR_0156_DELIVERED_CARGO_GRAPH :Kohaleviidud kauba graafik
|
||||
STR_0156_DELIVERED_CARGO_GRAPH :Kaubavoo graafik
|
||||
STR_0157_PERFORMANCE_HISTORY_GRAPH :Tegevustulemuste graafik
|
||||
STR_0158_COMPANY_VALUE_GRAPH :Firmaväärtuse graafik
|
||||
STR_0159_CARGO_PAYMENT_RATES :Veotasude määrad
|
||||
@@ -549,7 +503,7 @@ STR_0188 :{BLACK}{SMALLUP
|
||||
STR_0189 :{BLACK}{SMALLDOWNARROW}
|
||||
STR_018A_CAN_T_CHANGE_SERVICING :{WHITE}Hooldusperioodi ei saa muuta...
|
||||
STR_018B_CLOSE_WINDOW :{BLACK}Sulge aken
|
||||
STR_018C_WINDOW_TITLE_DRAG_THIS :{BLACK}Akna pealkiri - lohista akna liigutamiseks
|
||||
STR_018C_WINDOW_TITLE_DRAG_THIS :{BLACK}Akna pealkiri. Liigutamiseks lohista seda hiirega.
|
||||
STR_STICKY_BUTTON :{BLACK}Keela selle akna sulgemine 'Sulge kõik aknad' nupu klõpsamisel
|
||||
STR_RESIZE_BUTTON :{BLACK}Kliki ja venita, et akna suurust muuta
|
||||
STR_SAVELOAD_HOME_BUTTON :{BLACK}Vajuta siia, et minna praegusesse vaikimisi valitud salvestamise/laadimise kausta
|
||||
@@ -749,10 +703,10 @@ STR_0241_POWER_STATION :{BLACK}Elektrij
|
||||
STR_0242_SAWMILL :{BLACK}Saeveski
|
||||
STR_0243_FOREST :{BLACK}Mets
|
||||
STR_0244_OIL_REFINERY :{BLACK}Naftarafineerimistehas
|
||||
STR_0245_OIL_RIG :{BLACK}Naftaplatvorm
|
||||
STR_0246_FACTORY :{BLACK}Vabrik
|
||||
STR_0245_OIL_RIG :{BLACK}Naftapuurplatvorm
|
||||
STR_0246_FACTORY :{BLACK}Tehas
|
||||
STR_0247_STEEL_MILL :{BLACK}Terasetööstus
|
||||
STR_0248_FARM :{BLACK}Talu
|
||||
STR_0248_FARM :{BLACK}Põllumajandusettevõte
|
||||
STR_0249_IRON_ORE_MINE :{BLACK}Rauamaagikaevandus
|
||||
STR_024A_OIL_WELLS :{BLACK}Naftapuuraugud
|
||||
STR_024B_BANK :{BLACK}Pank
|
||||
@@ -817,7 +771,7 @@ STR_0285_CAN_T_BUILD_HERE :{WHITE}{STRING}
|
||||
STR_0286_MUST_BUILD_TOWN_FIRST :{WHITE}...enne pead linna ehitama
|
||||
STR_0287_ONLY_ONE_ALLOWED_PER_TOWN :{WHITE}...iga linna kohta lubatud ainult üks
|
||||
STR_0288_PLANT_TREES :{BLACK}Istuta puid
|
||||
STR_0289_PLACE_SIGN :{BLACK}Paigalda silt
|
||||
STR_0289_PLACE_SIGN :{BLACK}Sildi paigaldamine
|
||||
STR_028A_RANDOM_TREES :{BLACK}Suvalised puud
|
||||
STR_028B_PLANT_TREES_RANDOMLY_OVER :{BLACK}Istutab puid suvaliselt üle kogu maa
|
||||
STR_028C_PLACE_ROCKY_AREAS_ON_LANDSCAPE :{BLACK}Loo maastikule kivised alad
|
||||
@@ -951,11 +905,11 @@ STR_0311_SELECT_TOYLAND_LANDSCAPE :{BLACK}Vali 'm
|
||||
STR_0312_FUND_CONSTRUCTION_OF_NEW :{BLACK}Rahasta uute ehitiste konstrueerimist
|
||||
|
||||
############ range for menu starts
|
||||
STR_INDUSTRY_DIR :Tööstuste nimistu
|
||||
STR_0313_FUND_NEW_INDUSTRY :Rahasta uue tööstuse ehitamist
|
||||
STR_INDUSTRY_DIR :Tööstuste kataloog
|
||||
STR_0313_FUND_NEW_INDUSTRY :Uue tööstuse rahastamine
|
||||
############ range ends here
|
||||
|
||||
STR_0314_FUND_NEW_INDUSTRY :{WHITE}Rahasta uue tööstuse ehitamist
|
||||
STR_0314_FUND_NEW_INDUSTRY :{WHITE}Uue tööstuse rahastamine
|
||||
STR_JUST_STRING :{STRING}
|
||||
STR_JUST_INT :{NUM}
|
||||
STR_0316_CAN_ONLY_BE_BUILT_IN_TOWNS :{WHITE}...saab ehitada ainult linnadesse
|
||||
@@ -1401,7 +1355,7 @@ STR_STATION_DRAG_DROP :{BLACK}Ehita ja
|
||||
STR_SELECT_STATION_CLASS_TIP :{BLACK}Vali jaama klass mida tahad näidata
|
||||
STR_SELECT_STATION_TYPE_TIP :{BLACK}Vali ehitatava jaama tüüp
|
||||
|
||||
STR_FAST_FORWARD :{BLACK}Mängu aja kiiresti edasi kerimine
|
||||
STR_FAST_FORWARD :{BLACK}Mängu aja kiirendamine
|
||||
STR_MESSAGE_HISTORY :{WHITE}Sõnumite ajalugu
|
||||
STR_MESSAGE_HISTORY_TIP :{BLACK}Nimekiri hiljutistest uudistest
|
||||
STR_MESSAGES_DISABLE_ALL :{BLACK}Lülita kõik välja
|
||||
@@ -1815,9 +1769,10 @@ STR_2002 :{TINYFONT}{BLAC
|
||||
STR_2002_WHITE :{TINYFONT}{WHITE}{SIGN}
|
||||
STR_2004_BUILDING_MUST_BE_DEMOLISHED :{WHITE}Ehitis tuleb eelnevalt hävitada
|
||||
STR_2005 :{WHITE}{TOWN}
|
||||
STR_CITY :{WHITE}{TOWN} (Linn)
|
||||
STR_2006_POPULATION :{BLACK}Rahvaarv: {ORANGE}{COMMA}{BLACK} Ehitisi: {ORANGE}{COMMA}
|
||||
STR_2007_RENAME_TOWN :Linnanime muutmine
|
||||
STR_2008_CAN_T_RENAME_TOWN :{WHITE}Linnanime ei saa muuta...
|
||||
STR_2007_RENAME_TOWN :Linna nime vahetamine
|
||||
STR_2008_CAN_T_RENAME_TOWN :{WHITE}Linna nime ei saa vahetada...
|
||||
STR_2009_LOCAL_AUTHORITY_REFUSES :{WHITE}{TOWN} kohalik omavalitsus keeldub seda lubamast
|
||||
STR_200A_TOWN_NAMES_CLICK_ON_NAME :{BLACK}Linnanimed - vajuta linnanimele, et viia vaade linnale
|
||||
STR_200B_CENTER_THE_MAIN_VIEW_ON :{BLACK}Vaate viimine linnale
|
||||
@@ -1911,7 +1866,7 @@ STR_STATION :{STATION}
|
||||
##id 0x2800
|
||||
STR_LANDSCAPING :Maapinna kujundamine
|
||||
STR_2800_PLANT_TREES :Puude istutamine
|
||||
STR_2801_PLACE_SIGN :Paigalda silt
|
||||
STR_2801_PLACE_SIGN :Sildi paigaldamine
|
||||
STR_2802_TREES :{WHITE}Puud
|
||||
STR_2803_TREE_ALREADY_HERE :{WHITE}...siin on juba puu olemas
|
||||
STR_2804_SITE_UNSUITABLE :{WHITE}...ebasobiv koht
|
||||
@@ -1945,8 +1900,8 @@ STR_300B_MUST_DEMOLISH_RAILROAD :{WHITE}Raudteej
|
||||
STR_300D_TOO_CLOSE_TO_ANOTHER_AIRPORT :{WHITE}Liiga lähedal teisele lennuväljale
|
||||
STR_300E_MUST_DEMOLISH_AIRPORT_FIRST :{WHITE}Lennuväli tuleb eelnevalt lammutada
|
||||
|
||||
STR_3030_RENAME_STATION_LOADING :Jaama nime muutmine
|
||||
STR_3031_CAN_T_RENAME_STATION :{WHITE}Jaama nime ei saa muuta...
|
||||
STR_3030_RENAME_STATION_LOADING :Jaama nime vahetamine
|
||||
STR_3031_CAN_T_RENAME_STATION :{WHITE}Jaama nime ei saa vahetada...
|
||||
STR_3032_RATINGS :{BLACK}Hinnangud
|
||||
STR_3033_ACCEPTS :{BLACK}Võtab vastu
|
||||
STR_3034_LOCAL_RATING_OF_TRANSPORT :{BLACK}Kohaliku veoteenuse hinnang:
|
||||
@@ -2004,7 +1959,7 @@ STR_3062_BUS_STATION :Bussijaam
|
||||
STR_3063_SHIP_DOCK :Laevasadam
|
||||
STR_3064_HIGHLIGHT_COVERAGE_AREA :{BLACK}Lülita sisse jaama mõjupiirkonna näitamine
|
||||
STR_3065_DON_T_HIGHLIGHT_COVERAGE :{BLACK}Lülita välja jaama mõjupiirkonna näitamine
|
||||
STR_3066_COVERAGE_AREA_HIGHLIGHT :{BLACK}Näita mõjupiirkonda
|
||||
STR_3066_COVERAGE_AREA_HIGHLIGHT :{BLACK}Mõjupiirkonna näitamine
|
||||
STR_3068_DOCK :{WHITE}Sadam
|
||||
STR_3069_BUOY :Poi
|
||||
STR_306A_BUOY_IN_THE_WAY :{WHITE}...poi on ees
|
||||
@@ -2117,7 +2072,7 @@ STR_4831_FOREST_CAN_ONLY_BE_PLANTED :{WHITE}...metsa
|
||||
STR_4832_ANNOUNCES_IMMINENT_CLOSURE :{BLACK}{BIGFONT}{STRING} juhtkond teatab sulgemisest!
|
||||
STR_4833_SUPPLY_PROBLEMS_CAUSE_TO :{BLACK}{BIGFONT}{STRING} teatab sulgemisest varustusprobleemide tõttu!
|
||||
STR_4834_LACK_OF_NEARBY_TREES_CAUSES :{BLACK}{BIGFONT}Lähiümbruse puude puudumine põhjustab {STRING} sulgemise!
|
||||
STR_4835_INCREASES_PRODUCTION :{BLACK}{BIGFONT}{INDUSTRY} kasvab toodang!
|
||||
STR_4835_INCREASES_PRODUCTION :{BLACK}{BIGFONT}{INDUSTRY} toodang kasvas!
|
||||
STR_4836_NEW_COAL_SEAM_FOUND_AT :{BLACK}{BIGFONT}{INDUSTRY} lähedal avati uus kivisöe kiht!{}Toodang kahekordistub!
|
||||
STR_4837_NEW_OIL_RESERVES_FOUND :{BLACK}{BIGFONT}{INDUSTRY} lähedal avastati uusi naftareserve!{}Toodang kahekordistub!
|
||||
STR_4838_IMPROVED_FARMING_METHODS :{BLACK}{BIGFONT}{INDUSTRY} võttis kasutusele uued põllutöövahendid! Toodang kahekordistub!
|
||||
@@ -2797,7 +2752,7 @@ STR_CLONE_ROAD_VEHICLE_DEPOT_INFO :{BLACK}See palj
|
||||
STR_CLONE_TRAIN :{BLACK}Klooni rong
|
||||
STR_CLONE_TRAIN_INFO :{BLACK}See ehitab koopia rongist koos kõikide vagunitega. CTRL-klikk jagab sihtpunkte
|
||||
STR_CLONE_TRAIN_DEPOT_INFO :{BLACK}See ehitab koopia rongist koos kõikide vagunitega. Vajuta sellele nuppule, ning seejärel rongile depoo sees või väljas. CTRL-klikk jagab sihtpunkte
|
||||
STR_8820_RENAME :{BLACK}Nime muutmine
|
||||
STR_8820_RENAME :{BLACK}Nimevahetus
|
||||
STR_8823_SKIP :{BLACK}Jäta vahele
|
||||
STR_8824_DELETE :{BLACK}Kustuta
|
||||
STR_8825_NON_STOP :{BLACK}Peatusteta
|
||||
@@ -2844,7 +2799,7 @@ STR_8841_DRAG_TRAIN_VEHICLE_TO_HERE :{BLACK}Tiri ron
|
||||
STR_8842_CENTER_MAIN_VIEW_ON_TRAIN :{BLACK}Keskenda põhivaade rongidepoo kohale
|
||||
STR_8843_TRAIN_VEHICLE_SELECTION :{BLACK}Nimekiri raudteesõidukitest - andmete saamiseks klõpsa raudteesõidukile
|
||||
STR_8844_BUILD_THE_HIGHLIGHTED_TRAIN :{BLACK}Ehita valitud raudteesõiduk
|
||||
STR_8845_RENAME_TRAIN_VEHICLE_TYPE :{BLACK}Muuda raudteesõiduki tüübinime
|
||||
STR_8845_RENAME_TRAIN_VEHICLE_TYPE :{BLACK}Vaheta raudteesõiduki tüübinime
|
||||
STR_8846_CURRENT_TRAIN_ACTION_CLICK :{BLACK}Praegune rongi tegevus - vajuta siia et peatada/käivitada rong
|
||||
STR_8847_SHOW_TRAIN_S_ORDERS :{BLACK}Näita rongi sihtpunkte
|
||||
STR_8848_CENTER_MAIN_VIEW_ON_TRAIN :{BLACK}Vaate viimine rongi asukohale
|
||||
@@ -2858,7 +2813,7 @@ STR_884F_SHOW_DETAILS_OF_CARGO_CARRIED :{BLACK}Näita d
|
||||
STR_8850_SHOW_DETAILS_OF_TRAIN_VEHICLES :{BLACK}Näita täpsemat infot rongivagunite kohta
|
||||
STR_8851_SHOW_CAPACITIES_OF_EACH :{BLACK}Näita iga rongivaguni kandevõimet
|
||||
STR_SHOW_TOTAL_CARGO :{BLACK}Näita kogu rongi mahtu, jagatud kauba tüübi järgi
|
||||
STR_8852_ORDERS_LIST_CLICK_ON_ORDER :{BLACK}Sihtpunktide nimekiri - vajuta käsul et see valida. CTRL + klik kerib jaama juurde
|
||||
STR_8852_ORDERS_LIST_CLICK_ON_ORDER :{BLACK}Sihtpunktide nimekiri. Valimiseks klõpsa sihtpunktil. CTRL + klikk keskendab vaateakna jaama peale.
|
||||
STR_8853_SKIP_THE_CURRENT_ORDER :{BLACK}Jäta praegune järjestus vahele ja alusta järgmisega. CTRL + klõps jätab vahele kuni valitud järjestuseni
|
||||
STR_8854_DELETE_THE_HIGHLIGHTED :{BLACK}Kustuta valitud käsk
|
||||
STR_8855_MAKE_THE_HIGHLIGHTED_ORDER :{BLACK}Muuda valitud käsk peatuseta sihtpunktiks
|
||||
@@ -2886,8 +2841,8 @@ STR_8866_CAN_T_NAME_TRAIN :{WHITE}Ei saa n
|
||||
STR_8867_NAME_TRAIN :{BLACK}Rongi nimi
|
||||
STR_8868_TRAIN_CRASH_DIE_IN_FIREBALL :{BLACK}{BIGFONT}RONGIKOKKUPÕRGE!{}{COMMA} surid tules peale kokkusõitmist
|
||||
STR_8869_CAN_T_REVERSE_DIRECTION :{WHITE}Ei saa rongi ümber pöörata.
|
||||
STR_886A_RENAME_TRAIN_VEHICLE_TYPE :{WHITE}Muuda rongivaguni tüübinime
|
||||
STR_886B_CAN_T_RENAME_TRAIN_VEHICLE :{WHITE}Raudteesõiduki tüübinime ei saa muuta...
|
||||
STR_886A_RENAME_TRAIN_VEHICLE_TYPE :{WHITE}Vaheta rongivaguni tüübinime
|
||||
STR_886B_CAN_T_RENAME_TRAIN_VEHICLE :{WHITE}Raudteesõiduki tüübinime ei saa vahetada...
|
||||
STR_MAKE_THE_HIGHLIGHTED_ORDER :{BLACK}Käsi valitud sihtpunktis sõiduki laadung kõrvaldada
|
||||
STR_TRANSFER :{BLACK}Laadi ümber
|
||||
STR_CLEAR_TIME :{BLACK}Tühista aeg
|
||||
@@ -2973,10 +2928,10 @@ STR_9031_ROAD_VEHICLE_CRASH_DRIVER :{BLACK}{BIGFONT
|
||||
STR_9032_ROAD_VEHICLE_CRASH_DIE :{BLACK}{BIGFONT}Mootorsõiduki kokkupõrge rongiga!{}{COMMA} inimest suri õnnetuses
|
||||
STR_9033_CAN_T_MAKE_VEHICLE_TURN :{WHITE}Transpordivahendit ei saa ümber pöörata...
|
||||
STR_ONLY_TURN_SINGLE_UNIT :{WHITE}Mitmest osast koosnevaid veovahendeid ei saa ümber pöörata
|
||||
STR_9034_RENAME :{BLACK}Nime muutmine
|
||||
STR_9035_RENAME_ROAD_VEHICLE_TYPE :{BLACK}Muuda mootorsõiduki tüübinime
|
||||
STR_9036_RENAME_ROAD_VEHICLE_TYPE :{WHITE}Muuda mootorsõiduki tüübinime
|
||||
STR_9037_CAN_T_RENAME_ROAD_VEHICLE :{WHITE}Mootorsõiduki tüübinime ei saa muuta...
|
||||
STR_9034_RENAME :{BLACK}Nimevahetus
|
||||
STR_9035_RENAME_ROAD_VEHICLE_TYPE :{BLACK}Vaheta mootorsõiduki tüübinime
|
||||
STR_9036_RENAME_ROAD_VEHICLE_TYPE :{WHITE}Vaheta mootorsõiduki tüübinime
|
||||
STR_9037_CAN_T_RENAME_ROAD_VEHICLE :{WHITE}Mootorsõiduki tüübinime ei saa vahetada...
|
||||
STR_GO_TO_ROADVEH_DEPOT :Mine linna {TOWN} garaaži
|
||||
STR_SERVICE_AT_ROADVEH_DEPOT :Hoolda linna {TOWN} mootorsõidukidepoos
|
||||
|
||||
@@ -3041,10 +2996,10 @@ STR_9832_CAN_T_NAME_SHIP :{WHITE}Ei saa l
|
||||
STR_9833_CITIZENS_CELEBRATE_FIRST :{BLACK}{BIGFONT}Rahvas rõõmustab . . .{}{STATION} terminali saabus esimene laev!
|
||||
STR_9834_POSITION_BUOY_WHICH_CAN :{BLACK}Raja teemärgisena kasutatav poi
|
||||
STR_9835_CAN_T_POSITION_BUOY_HERE :{WHITE}Poid ei saa siia asetada...
|
||||
STR_9836_RENAME :{BLACK}Nime muutmine
|
||||
STR_9837_RENAME_SHIP_TYPE :{BLACK}Nimeta laeva tüüp ümber
|
||||
STR_9838_RENAME_SHIP_TYPE :{WHITE}Nimeta laeva tüüp ümber
|
||||
STR_9839_CAN_T_RENAME_SHIP_TYPE :{WHITE}Ei saa laeva tüüpi ümber nimetada...
|
||||
STR_9836_RENAME :{BLACK}Nimevahetus
|
||||
STR_9837_RENAME_SHIP_TYPE :{BLACK}Laeva tüübinime vahetamine
|
||||
STR_9838_RENAME_SHIP_TYPE :{WHITE}Laeva tüübinime vahetamine
|
||||
STR_9839_CAN_T_RENAME_SHIP_TYPE :{WHITE}Laeva tüübinime ei saa vahetada...
|
||||
STR_983A_REFIT_CARGO_SHIP_TO_CARRY :{BLACK}Seadista laev ümber teise kaubatüübi jaoks
|
||||
STR_983B_REFIT :{WHITE}{VEHICLE} (Seadista ümber)
|
||||
STR_983C_REFIT_SHIP :{BLACK}Seadista laev ümber
|
||||
@@ -3114,10 +3069,10 @@ STR_A033_CITIZENS_CELEBRATE_FIRST :{BLACK}{BIGFONT
|
||||
STR_A034_PLANE_CRASH_DIE_IN_FIREBALL :{BLACK}{BIGFONT}Lennuõnnetus!{}{COMMA} surid tules {STATION}s
|
||||
STR_PLANE_CRASH_OUT_OF_FUEL :{BLACK}{BIGFONT}Lennuõnnetus!{}Lennukil lõppes kütus, {COMMA} surid tules!
|
||||
STR_A036 :{TINYFONT}{BLACK}{STATION}
|
||||
STR_A037_RENAME :{BLACK}Nime muutmine
|
||||
STR_A038_RENAME_AIRCRAFT_TYPE :{BLACK}Nimeta lennuki tüüp ümber
|
||||
STR_A039_RENAME_AIRCRAFT_TYPE :{WHITE}Nimeta lennuki tüüp ümber
|
||||
STR_A03A_CAN_T_RENAME_AIRCRAFT_TYPE :{WHITE}Ei saa lennuki tüüpi ümber nimetada...
|
||||
STR_A037_RENAME :{BLACK}Nimevahetus
|
||||
STR_A038_RENAME_AIRCRAFT_TYPE :{BLACK}Lennuki tüübinime vahetamine
|
||||
STR_A039_RENAME_AIRCRAFT_TYPE :{WHITE}Lennuki tüübinime vahetamine
|
||||
STR_A03A_CAN_T_RENAME_AIRCRAFT_TYPE :{WHITE}Lennuki tüübinime ei saa vahetada...
|
||||
STR_A03B_REFIT_AIRCRAFT_TO_CARRY :{BLACK}Seadista lennuk teistsuguse kauba kandmiseks ümber
|
||||
STR_A03C_REFIT :{WHITE}{VEHICLE} (Seadista ümber)
|
||||
STR_A03D_REFIT_AIRCRAFT :{BLACK}Seadista lennuk ümber
|
||||
@@ -3228,6 +3183,10 @@ STR_NEWGRF_NOT_FOUND_WARNING :{WHITE}Mängu l
|
||||
STR_NEWGRF_UNPAUSE_WARNING_TITLE :{YELLOW}Puuduolevad GRF failid
|
||||
STR_NEWGRF_UNPAUSE_WARNING :{WHITE}Pausi lõpetamine võib põhjustada OpenTTD krahhi. Ära teavita järgnevatest krahhidest.{}Oled sa tõepoolest veendunud, et sa soovid pausi lõpetada?
|
||||
|
||||
STR_NEWGRF_BROKEN :{WHITE}NewGRF '{STRING}' käitumine põhjustab tõenäoliselt sünkrooni katkemisi ja/või mängu kokkujooksmiseid.
|
||||
STR_NEWGRF_BROKEN_VEHICLE_LENGTH :{WHITE}Depoost väljas asudes muudab sõiduki '{1:ENGINE}' pikkust.
|
||||
STR_BROKEN_VEHICLE_LENGTH :{WHITE}Ettevõtte '{1:COMPANY}' rongil '{0:VEHICLE}' on ebasobiv pikkus. See on tõenäoliselt põhjustatud problemaatilistest NewGRF-dest. Mäng võib kokku joosta või
|
||||
STR_LOADGAME_REMOVED_TRAMS :{WHITE}Mäng salvestati trammide toetuseta versioonis. Kõik trammid eemaldati.
|
||||
STR_CURRENCY_WINDOW :{WHITE}Isiklik valuuta
|
||||
STR_CURRENCY_EXCHANGE_RATE :{LTBLUE}Vahetuskurss: {ORANGE}{CURRENCY} = £ {COMMA}
|
||||
STR_CURRENCY_SEPARATOR :{LTBLUE}Vahemärk:
|
||||
@@ -3484,12 +3443,12 @@ STR_GROUP_TRAINS_CAPTION :{WHITE}{GROUP}
|
||||
STR_GROUP_ROADVEH_CAPTION :{WHITE}{GROUP} - {COMMA} Mootorsõiduk{P "" id}
|
||||
STR_GROUP_SHIPS_CAPTION :{WHITE}{GROUP} - {COMMA} Laev{P "" ad}
|
||||
STR_GROUP_AIRCRAFTS_CAPTION :{WHITE}{GROUP} - {COMMA} Lennuk{P "" id}
|
||||
STR_GROUP_RENAME_CAPTION :{BLACK}Muuda grupi nime
|
||||
STR_GROUP_RENAME_CAPTION :{BLACK}Grupi nime vahetamine
|
||||
STR_GROUP_REPLACE_CAPTION :{WHITE}Vaheta kõik grupi "{GROUP}" sõidukid
|
||||
|
||||
STR_GROUP_CAN_T_CREATE :{WHITE}Ei saa üksust luua...
|
||||
STR_GROUP_CAN_T_DELETE :{WHITE}Ei saa seda üksust eemaldada...
|
||||
STR_GROUP_CAN_T_RENAME :{WHITE}Ei saa seda üksust ümber nimetada...
|
||||
STR_GROUP_CAN_T_RENAME :{WHITE}Grupi nime ei saa vahetada...
|
||||
STR_GROUP_CAN_T_REMOVE_ALL_VEHICLES :{WHITE}Ei saa kõiki sõidukeid sellest grupist eemaldada...
|
||||
STR_GROUP_CAN_T_ADD_VEHICLE :{WHITE}Ei saa sõidukit siia üksusesse lisada...
|
||||
STR_GROUP_CAN_T_ADD_SHARED_VEHICLE :{WHITE}Ei saa jagatud sõidukeid siia üksusesse lisada...
|
||||
@@ -3497,7 +3456,7 @@ STR_GROUP_CAN_T_ADD_SHARED_VEHICLE :{WHITE}Ei saa j
|
||||
STR_GROUPS_CLICK_ON_GROUP_FOR_TIP :{BLACK}Grupid - Klõpsa grupil et kõiki seal olevaid sõidukeid järjestada
|
||||
STR_GROUP_CREATE_TIP :{BLACK}Klõpsa grupi loomiseks
|
||||
STR_GROUP_DELETE_TIP :{BLACK}Eemalda valitud üksus
|
||||
STR_GROUP_RENAME_TIP :{BLACK}Nimeta valitud üksus ümber
|
||||
STR_GROUP_RENAME_TIP :{BLACK}Valitud grupi nime vahetamine
|
||||
STR_GROUP_REPLACE_PROTECTION_TIP :{BLACK}Klõpsa, et seda üksust üldise iseväljavahetuse eest kaitsta
|
||||
|
||||
STR_COMPANY_NAME :{COMPANY}
|
||||
|
@@ -852,6 +852,7 @@ STR_0313_FUND_NEW_INDUSTRY :Rakenna uutta t
|
||||
|
||||
STR_0314_FUND_NEW_INDUSTRY :{WHITE}Rakenna uutta teollisuutta
|
||||
STR_JUST_STRING :{STRING}
|
||||
STR_JUST_INT :{NUM}
|
||||
STR_0316_CAN_ONLY_BE_BUILT_IN_TOWNS :{WHITE}...voidaan rakentaa vain kaupunkeihin.
|
||||
STR_0317_CAN_ONLY_BE_BUILT_IN_RAINFOREST :{WHITE}...voidaan rakentaa vain sademetsäalueisiin.
|
||||
STR_0318_CAN_ONLY_BE_BUILT_IN_DESERT :{WHITE}...voidaan rakentaa vain aavikkoalueisiin.
|
||||
@@ -1111,7 +1112,7 @@ STR_CONFIG_PATCHES_LOADING_INDICATORS_OWN :Oma yhtiö
|
||||
STR_CONFIG_PATCHES_LOADING_INDICATORS_ALL :Kaikki yhtiöt
|
||||
STR_CONFIG_PATCHES_TIMETABLE_ALLOW :{LTBLUE}Aikataulut ajoneuvoille: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_TIMETABLE_IN_TICKS :{LTBLUE}Näytä aikataulu tickseissä päivien sijaan: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_DEFAULT_RAIL_TYPE :{LTBLUE}Raidetyyppi oletuksena: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_DEFAULT_RAIL_TYPE :{LTBLUE}Oletusraidetyyppi: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_DEFAULT_RAIL_TYPE_RAIL :Tavallinen raide
|
||||
STR_CONFIG_PATCHES_DEFAULT_RAIL_TYPE_ELRAIL :Sähköraide
|
||||
STR_CONFIG_PATCHES_DEFAULT_RAIL_TYPE_MONORAIL :Yksiraiteinen
|
||||
@@ -1682,8 +1683,10 @@ STR_TOWN_LABEL :{WHITE}{TOWN}
|
||||
STR_TOWN_LABEL_TINY_BLACK :{TINYFONT}{BLACK}{TOWN}
|
||||
STR_TOWN_LABEL_TINY_WHITE :{TINYFONT}{WHITE}{TOWN}
|
||||
STR_2002 :{TINYFONT}{BLACK}{SIGN}
|
||||
STR_2002_WHITE :{TINYFONT}{WHITE}{SIGN}
|
||||
STR_2004_BUILDING_MUST_BE_DEMOLISHED :{WHITE}Rakennus täytyy purkaa ensin.
|
||||
STR_2005 :{WHITE}{TOWN}
|
||||
STR_CITY :{WHITE}{TOWN} (City)
|
||||
STR_2006_POPULATION :{BLACK}Asukasluku: {ORANGE}{COMMA}{BLACK} Taloja: {ORANGE}{COMMA}
|
||||
STR_2007_RENAME_TOWN :Nimeä kaupunki
|
||||
STR_2008_CAN_T_RENAME_TOWN :{WHITE}Kaupungin nimeä ei voi vaihtaa.
|
||||
|
@@ -1240,8 +1240,8 @@ STR_CHEAT_SETUP_PROD :{LTBLUE}Permett
|
||||
STR_HEADING_FOR_WAYPOINT :{LTBLUE}En route pour {WAYPOINT}
|
||||
STR_HEADING_FOR_WAYPOINT_VEL :{LTBLUE}En route pour {WAYPOINT}, {VELOCITY}
|
||||
|
||||
STR_GO_TO_WAYPOINT :Passant par {WAYPOINT}
|
||||
STR_GO_NON_STOP_TO_WAYPOINT :Aller sans-arrêt via {WAYPOINT}
|
||||
STR_GO_TO_WAYPOINT :Passer par {WAYPOINT}
|
||||
STR_GO_NON_STOP_TO_WAYPOINT :Passer sans arrêt par {WAYPOINT}
|
||||
|
||||
STR_WAYPOINTNAME_CITY :Point de contrôle {TOWN}
|
||||
STR_WAYPOINTNAME_CITY_SERIAL :Point de contrôle {TOWN} #{COMMA}
|
||||
@@ -1716,6 +1716,7 @@ STR_2002 :{TINYFONT}{BLAC
|
||||
STR_2002_WHITE :{TINYFONT}{WHITE}{SIGN}
|
||||
STR_2004_BUILDING_MUST_BE_DEMOLISHED :{WHITE}L'édifice doit d'abord être démolit
|
||||
STR_2005 :{WHITE}{TOWN}
|
||||
STR_CITY :{WHITE}{TOWN} (Métropole)
|
||||
STR_2006_POPULATION :{BLACK}Population: {ORANGE}{COMMA}{BLACK} Maisons: {ORANGE}{COMMA}
|
||||
STR_2007_RENAME_TOWN :Renommer Ville
|
||||
STR_2008_CAN_T_RENAME_TOWN :{WHITE}Impossible de renommer la ville...
|
||||
@@ -3098,6 +3099,7 @@ STR_NEWGRF_ERROR_LOAD_AFTER :{STRING} doit
|
||||
STR_NEWGRF_ERROR_OTTD_VERSION_NUMBER :{STRING} nécessite OpenTTD version {STRING} ou supérieur.
|
||||
STR_NEWGRF_ERROR_AFTER_TRANSLATED_FILE :le fichier GRF qu'il doit traduire
|
||||
STR_NEWGRF_ERROR_TOO_MANY_NEWGRFS_LOADED :Trop de NewGRFs sont chargés.
|
||||
STR_NEWGRF_ERROR_STATIC_GRF_CAUSES_DESYNC :Charger {STRING} comme NewGRF statique avec {STRING} peut provoquer des erreurs de synchronistation.
|
||||
|
||||
STR_NEWGRF_ADD :{BLACK}Ajouter
|
||||
STR_NEWGRF_ADD_TIP :{BLACK}Ajouter un fichier NewGRF à la liste
|
||||
@@ -3129,6 +3131,10 @@ STR_NEWGRF_NOT_FOUND_WARNING :{WHITE}Fichier(
|
||||
STR_NEWGRF_UNPAUSE_WARNING_TITLE :{YELLOW}Fichier(s) GRF manquant(s)
|
||||
STR_NEWGRF_UNPAUSE_WARNING :{WHITE}Retirer la pause peut faire planter OpenTTD. Ne créez pas de rapport de bug pour ceux-ci.{}Voulez-vous vraiment retirer la pause?
|
||||
|
||||
STR_NEWGRF_BROKEN :{WHITE}Le comportement du NewGRF '{0:STRING}' peut causer des erreurs de synchronisation et/ou des plantages.
|
||||
STR_NEWGRF_BROKEN_VEHICLE_LENGTH :{WHITE}Il modifie la longueur de vehicule pour '{1:ENGINE}' en dehors du dépot.
|
||||
STR_BROKEN_VEHICLE_LENGTH :{WHITE}Le train '{VEHICLE}' appartenant à '{COMPANY}' a une longueur invalide. Celà est probablement dû à des problèmes avec des NewGRFs. Le jeu peut avoir des erreurs de synchronisation ou planter.
|
||||
STR_LOADGAME_REMOVED_TRAMS :{WHITE}Partie sauvegardée avec une version sans support des tramways. Tous les tramways ont été supprimés.
|
||||
STR_CURRENCY_WINDOW :{WHITE}Devise personnalisée
|
||||
STR_CURRENCY_EXCHANGE_RATE :{LTBLUE}Taux de change : {ORANGE}{CURRENCY} = £ {COMMA}
|
||||
STR_CURRENCY_SEPARATOR :{LTBLUE}Séparateur :
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -1115,6 +1115,7 @@ STR_CONFIG_PATCHES_ALLOW_EXCLUSIVE :{LTBLUE}Lehesse
|
||||
STR_CONFIG_PATCHES_ALLOW_GIVE_MONEY :{LTBLUE}Lehessen más vállalatoknak pénzt küldeni: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_NONUNIFORM_STATIONS :{LTBLUE}Különböző vágánytípusok engedélyezése egy állomáson: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_FREIGHT_TRAINS :{LTBLUE}Tömegszorzó tehervonatoknak (szimulációs célból): {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_PLANE_SPEED :{LTBLUE}Repülőgép sebességszorzó: {ORANGE}1 / {STRING}
|
||||
STR_CONFIG_PATCHES_STOP_ON_TOWN_ROAD :{LTBLUE}Áthajtható állomások engedélyezése városi utakra: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_ADJACENT_STATIONS :{LTBLUE}Érintkező állomások építésének engedélyezése: {ORANGE}{STRING}
|
||||
|
||||
@@ -1676,6 +1677,7 @@ STR_1004_TOO_HIGH :{WHITE}Túl mag
|
||||
STR_1005_NO_SUITABLE_RAILROAD_TRACK :{WHITE}Nincs megfelelő sín
|
||||
STR_1007_ALREADY_BUILT :{WHITE}...már van itt
|
||||
STR_1008_MUST_REMOVE_RAILROAD_TRACK :{WHITE}Előbb le kell rombolnod a sínt
|
||||
STR_ERR_CROSSING_ON_ONEWAY_ROAD :{WHITE}Az út egy irányú vagy blokkolt
|
||||
STR_100A_RAILROAD_CONSTRUCTION :{WHITE}Vasútépítés
|
||||
STR_TITLE_ELRAIL_CONSTRUCTION :{WHITE}Elektromos-vasút építés
|
||||
STR_100B_MONORAIL_CONSTRUCTION :{WHITE}Egysínű vasút építése
|
||||
@@ -1778,6 +1780,7 @@ STR_2002 :{TINYFONT}{BLAC
|
||||
STR_2002_WHITE :{TINYFONT}{WHITE}{SIGN}
|
||||
STR_2004_BUILDING_MUST_BE_DEMOLISHED :{WHITE}Előbb le kell rombolnod az épületet
|
||||
STR_2005 :{WHITE}{TOWN}
|
||||
STR_CITY :{WHITE}{TOWN} (Város)
|
||||
STR_2006_POPULATION :{BLACK}Lakosság: {ORANGE}{COMMA}{BLACK} Házak: {ORANGE}{COMMA}
|
||||
STR_2007_RENAME_TOWN :Város átnevezése
|
||||
STR_2008_CAN_T_RENAME_TOWN :{WHITE}Nem nevezheted át a várost...
|
||||
|
@@ -1,7 +1,7 @@
|
||||
##name Icelandic
|
||||
##ownname Íslenska
|
||||
##isocode is_IS
|
||||
##plural 0
|
||||
##plural 9
|
||||
##gender karlkyn kvenkyn hvorugkyn
|
||||
|
||||
#
|
||||
@@ -16,6 +16,7 @@ STR_EMPTY :
|
||||
STR_0007_FLAT_LAND_REQUIRED :{WHITE}Sléttlendi nauðsynlegt
|
||||
STR_0008_WAITING :{BLACK}Bíður: {WHITE}{STRING}
|
||||
STR_0009 :{WHITE}{CARGO}
|
||||
STR_EN_ROUTE_FROM :{YELLOW}({SHORTCARGO} frá {STATION})
|
||||
STR_000C_ACCEPTS :{BLACK}Tekur við: {WHITE}
|
||||
STR_000D_ACCEPTS :{BLACK}Tekur við: {GOLD}
|
||||
STR_000E :
|
||||
@@ -585,7 +586,11 @@ STR_0206_ARRIVAL_OF_FIRST_VEHICLE :{YELLOW}Aðkoma
|
||||
STR_0207_ARRIVAL_OF_FIRST_VEHICLE :{YELLOW}Aðkoma fyrsta farartækis á stöð andstæðings
|
||||
STR_0208_ACCIDENTS_DISASTERS :{YELLOW}Slys / hamfarir
|
||||
STR_0209_COMPANY_INFORMATION :{YELLOW}Fyrirtækisupplýsingar
|
||||
STR_NEWS_OPEN_CLOSE :{YELLOW}Opnun / lokun iðnaða
|
||||
STR_020A_ECONOMY_CHANGES :{YELLOW}Efnahagsbreytingar
|
||||
STR_INDUSTRY_CHANGES_SERVED_BY_PLAYER :{YELLOW}Framleiðslubreytingar fyrirtækja þjónustuð af leikmanni
|
||||
STR_INDUSTRY_CHANGES_SERVED_BY_OTHER :{YELLOW}Framleiðslubreytingar fyrirtækja þjónustuð af mótherjum
|
||||
STR_OTHER_INDUSTRY_PRODUCTION_CHANGES :{YELLOW}Aðrar framleiðslubreytingar
|
||||
STR_020B_ADVICE_INFORMATION_ON_PLAYER :{YELLOW}Ráð / upplýsingar um farartæki leikmanns
|
||||
STR_020C_NEW_VEHICLES :{YELLOW}Ný farartæki
|
||||
STR_020D_CHANGES_OF_CARGO_ACCEPTANCE :{YELLOW}Breyting á viðtöku farms
|
||||
@@ -721,6 +726,7 @@ STR_028D_PLACE_LIGHTHOUSE :{BLACK}Setja vi
|
||||
STR_028E_PLACE_TRANSMITTER :{BLACK}Setja sendi
|
||||
STR_028F_DEFINE_DESERT_AREA :{BLACK}Afmarkaðu eyðimörk.{}Smelltu og haltu CTRL til að fjarlægja hana
|
||||
STR_CREATE_LAKE :{BLACK}Skilgreina vantssvæði.{}Grafa skipaskurð, nema CTRL sé haldið niðri við sjávarmál, þá flæðir það umhverfið í staðin.
|
||||
STR_CREATE_RIVER :{BLACK}Búa til fljót.
|
||||
STR_0290_DELETE :{BLACK}Eyða
|
||||
STR_0291_DELETE_THIS_TOWN_COMPLETELY :{BLACK}Eyða þessum bæ algjörlega
|
||||
STR_0292_SAVE_SCENARIO :Vista kort
|
||||
@@ -930,6 +936,7 @@ STR_OPTIONS_LANG_TIP :{BLACK}Tungumá
|
||||
|
||||
STR_OPTIONS_FULLSCREEN :{BLACK}Fylla út í skjá
|
||||
STR_OPTIONS_FULLSCREEN_TIP :{BLACK}Smelltu hér til að OpenTTD fylli út í skjáinn
|
||||
STR_FULLSCREEN_FAILED :{WHITE}Skjáfyllihamur brást
|
||||
|
||||
STR_OPTIONS_RES :{BLACK}Skjáupplausn
|
||||
STR_OPTIONS_RES_CBO :{BLACK}{SKIP}{SKIP}{SKIP}{SKIP}{SKIP}{SKIP}{SKIP}{STRING}
|
||||
@@ -1027,6 +1034,10 @@ STR_CONFIG_PATCHES_INFLATION :{LTBLUE}Verðb
|
||||
STR_CONFIG_PATCHES_SELECTGOODS :{LTBLUE}Aðeins afhlaða farmi á stöðvum þar sem er eftirspurn: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_LONGBRIDGES :{LTBLUE}Leyfa byggingu mjög langra brúa: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_GOTODEPOT :{LTBLUE}Skýli má vera á áætlun lesta: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_RAW_INDUSTRY_CONSTRUCTION_METHOD :{LTBLUE}Fjármögnun nýrra hráefnisiðnaða: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_RAW_INDUSTRY_CONSTRUCTION_METHOD_NONE :engin
|
||||
STR_CONFIG_PATCHES_RAW_INDUSTRY_CONSTRUCTION_METHOD_NORMAL :eins og annarra iðnaða
|
||||
STR_CONFIG_PATCHES_RAW_INDUSTRY_CONSTRUCTION_METHOD_PROSPECTING :með jarðefnisleit
|
||||
STR_CONFIG_PATCHES_MULTIPINDTOWN :{LTBLUE}Leyfa marga svipaða iðnaði í sama bæ: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_SAMEINDCLOSE :{LTBLUE}Má byggja iðnaði af sömu gerð nálægt hvor öðrum: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_LONGDATE :{LTBLUE}Sýna alltaf fulla dagsetningu á upplýsingaslá: {ORANGE}{STRING}
|
||||
@@ -1040,6 +1051,7 @@ STR_CONFIG_PATCHES_ALLOW_EXCLUSIVE :{LTBLUE}Heimila
|
||||
STR_CONFIG_PATCHES_ALLOW_GIVE_MONEY :{LTBLUE}Heimila peningagreiðslur til annarra fyrirtækja: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_NONUNIFORM_STATIONS :{LTBLUE}Órétthyrndar lestarstöðvar leyfðar: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_FREIGHT_TRAINS :{LTBLUE}Margfalda þyngd farms til að líkja eftir þyngri lestum: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_PLANE_SPEED :{LTBLUE}Hraðastuðull flugvéla: {ORANGE}1 / {STRING}
|
||||
STR_CONFIG_PATCHES_STOP_ON_TOWN_ROAD :{LTBLUE}Leyfa strætóstöðvar á gangstéttum bæja: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_ADJACENT_STATIONS :{LTBLUE}Heimila sambyggingu stöðva: {ORANGE}{STRING}
|
||||
|
||||
@@ -1095,6 +1107,9 @@ STR_CONFIG_PATCHES_SCROLLWHEEL_SCROLL :Skruna á korti
|
||||
STR_CONFIG_PATCHES_SCROLLWHEEL_OFF :Engin
|
||||
STR_CONFIG_PATCHES_SCROLLWHEEL_MULTIPLIER :{LTBLUE}Hraði skrunhjóls á korti: {ORANGE}{STRING}
|
||||
|
||||
STR_CONFIG_PATCHES_RIGHT_MOUSE_BTN_EMU :{LTBLUE}Hægrismellshermun: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_RIGHT_MOUSE_BTN_EMU_COMMAND :Command-smella
|
||||
STR_CONFIG_PATCHES_RIGHT_MOUSE_BTN_EMU_CONTROL :Control-smella
|
||||
STR_CONFIG_PATCHES_RIGHT_MOUSE_BTN_EMU_OFF :Af
|
||||
|
||||
STR_CONFIG_PATCHES_PAUSE_ON_NEW_GAME :{LTBLUE}Setja leik á bið þegar nýr leikur er hafinn: {ORANGE}{STRING}
|
||||
@@ -1117,6 +1132,7 @@ STR_CONFIG_PATCHES_DEFAULT_RAIL_TYPE_FIRST :Fyrsta möguleg
|
||||
STR_CONFIG_PATCHES_DEFAULT_RAIL_TYPE_LAST :Síðasta mögulega
|
||||
STR_CONFIG_PATCHES_DEFAULT_RAIL_TYPE_MOST_USED :Mest notuð
|
||||
|
||||
STR_CONFIG_PATCHES_ALWAYS_BUILD_INFRASTRUCTURE :{LTBLUE}Sýna byggingarvalmynd þegar engin viðeigandi farartæki eru fáanleg: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_MAX_TRAINS :{LTBLUE}Lestir á leikmann mest: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_MAX_ROADVEH :{LTBLUE}Bifreiðir á leikmann mest: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_MAX_AIRCRAFT :{LTBLUE}Flugvélar á leikmann mest: {ORANGE}{STRING}
|
||||
@@ -1289,8 +1305,8 @@ STR_SELECT_STATION_TYPE_TIP :{BLACK}Veldu te
|
||||
STR_FAST_FORWARD :{BLACK}Spóla leikinn áfram
|
||||
STR_MESSAGE_HISTORY :{WHITE}Saga skilaboða
|
||||
STR_MESSAGE_HISTORY_TIP :{BLACK}Listi yfir nýlegar fréttir
|
||||
STR_MESSAGES_DISABLE_ALL :{BLACK}Óvirkja allt
|
||||
STR_MESSAGES_ENABLE_ALL :{BLACK}Virkja allt
|
||||
STR_MESSAGES_DISABLE_ALL :{BLACK}Fela allt
|
||||
STR_MESSAGES_ENABLE_ALL :{BLACK}Sýna allt
|
||||
|
||||
STR_CONSTRUCT_COAL_MINE_TIP :{BLACK}Grafa Kolanámu
|
||||
STR_CONSTRUCT_FOREST_TIP :{BLACK}Gróðursetja Skóg
|
||||
@@ -1700,6 +1716,7 @@ STR_2002 :{TINYFONT}{BLAC
|
||||
STR_2002_WHITE :{TINYFONT}{WHITE}{SIGN}
|
||||
STR_2004_BUILDING_MUST_BE_DEMOLISHED :{WHITE}Verður að eyða byggingu fyrst
|
||||
STR_2005 :{WHITE}{TOWN}
|
||||
STR_CITY :{WHITE}{TOWN} (Borg)
|
||||
STR_2006_POPULATION :{BLACK}Íbúafjöldi: {ORANGE}{COMMA}{BLACK} Hús: {ORANGE}{COMMA}
|
||||
STR_2007_RENAME_TOWN :Endurskíra bæ
|
||||
STR_2008_CAN_T_RENAME_TOWN :{WHITE}Get ekki endurskírt bæ...
|
||||
@@ -2054,7 +2071,7 @@ STR_5028_TUBULAR_ROAD_BRIDGE :Rörabrú, vegu
|
||||
|
||||
##id 0x5800
|
||||
STR_5800_OBJECT_IN_THE_WAY :{WHITE}Hluturinn er fyrir
|
||||
STR_5801_TRANSMITTER :Sendir
|
||||
STR_5801_TRANSMITTER :Mastur
|
||||
STR_5802_LIGHTHOUSE :Viti
|
||||
STR_5803_COMPANY_HEADQUARTERS :Höfuðstöðvar fyritækis
|
||||
STR_5804_COMPANY_HEADQUARTERS_IN :{WHITE}...höfuðstöðvar fyrirtækis eru fyrir
|
||||
@@ -3113,6 +3130,7 @@ STR_NEWGRF_NOT_FOUND_WARNING :{WHITE}Vantar G
|
||||
STR_NEWGRF_UNPAUSE_WARNING_TITLE :{YELLOW}Vantar GRF skrá(r)
|
||||
STR_NEWGRF_UNPAUSE_WARNING :{WHITE}OpenTTD getur hrunið ef leikur er settur af stað. Ekki skrá villufærslur fyrir eftirfarandi hrun.{}Ertu viss um að þú viljir setja leikinn af stað?
|
||||
|
||||
STR_LOADGAME_REMOVED_TRAMS :{WHITE}Leikurinn var vistaður í útgáfu án sporvagna. Allir sporvagnar hafa verið fjarlægðir.
|
||||
STR_CURRENCY_WINDOW :{WHITE}Sérvalinn gjaldeyrir
|
||||
STR_CURRENCY_EXCHANGE_RATE :{LTBLUE}Gengi: {ORANGE}{CURRENCY} = £ {COMMA}
|
||||
STR_CURRENCY_SEPARATOR :{LTBLUE}Aðskilnaðarmerki:
|
||||
@@ -3328,6 +3346,7 @@ STR_DATE_LONG :{STRING} {STRIN
|
||||
|
||||
########
|
||||
|
||||
STR_FEEDER_CARGO_VALUE :{BLACK}Millifæra gjaldeyri: {LTBLUE}{CURRENCY}
|
||||
STR_DRIVE_THROUGH_ERROR_ON_TOWN_ROAD :{WHITE}...vegurinn er í eigu bæjar
|
||||
STR_DRIVE_THROUGH_ERROR_DIRECTION :{WHITE}...vegurinn snýr í ranga átt
|
||||
|
||||
|
@@ -442,7 +442,7 @@ STR_017F_ZOOM_THE_VIEW_IN :{BLACK}Zooma la
|
||||
STR_0180_ZOOM_THE_VIEW_OUT :{BLACK}Zooma la visuale indietro
|
||||
STR_0181_BUILD_RAILROAD_TRACK :{BLACK}Costruisci ferrovie
|
||||
STR_0182_BUILD_ROADS :{BLACK}Costruisci strade
|
||||
STR_0183_BUILD_SHIP_DOCKS :{BLACK}Costruisci moli
|
||||
STR_0183_BUILD_SHIP_DOCKS :{BLACK}Costruisci trasporti su acqua
|
||||
STR_0184_BUILD_AIRPORTS :{BLACK}Costruisci aeroporti
|
||||
STR_0185_PLANT_TREES_PLACE_SIGNS :{BLACK}Pianta alberi, posiziona cartelli etc.
|
||||
STR_0186_LAND_BLOCK_INFORMATION :{BLACK}Informazioni area terreno
|
||||
@@ -1044,7 +1044,7 @@ STR_CONFIG_PATCHES_SAMEINDCLOSE :{LTBLUE}Consent
|
||||
STR_CONFIG_PATCHES_LONGDATE :{LTBLUE}Mostra sempre la data lunga nella barra di stato: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_SIGNALSIDE :{LTBLUE}Mostra i segnali sul lato di guida: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_SHOWFINANCES :{LTBLUE}Mostra la finestra delle finanze alla fine dell'anno: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_NEW_NONSTOP :{LTBLUE}Gestisci la funzione 'non-stop' come in TTDPatch: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_NEW_NONSTOP :{LTBLUE}Gestisci la funzione 'no-stop' come in TTDPatch: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_ROADVEH_QUEUE :{LTBLUE}Accodamento automezzi fuori da una stazione occupata: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_AUTOSCROLL :{LTBLUE}Scorri la visuale quando il mouse è su un bordo: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_BRIBE :{LTBLUE}Consenti la corruzione dell'autorità locale: {ORANGE}{STRING}
|
||||
@@ -1241,8 +1241,8 @@ STR_CHEAT_SETUP_PROD :{LTBLUE}Permett
|
||||
STR_HEADING_FOR_WAYPOINT :{LTBLUE}Diretto a {WAYPOINT}
|
||||
STR_HEADING_FOR_WAYPOINT_VEL :{LTBLUE}Diretto a {WAYPOINT}, {VELOCITY}
|
||||
|
||||
STR_GO_TO_WAYPOINT :Procedi attraverso {WAYPOINT}
|
||||
STR_GO_NON_STOP_TO_WAYPOINT :Procedi non-stop attraverso {WAYPOINT}
|
||||
STR_GO_TO_WAYPOINT :Passa per {WAYPOINT}
|
||||
STR_GO_NON_STOP_TO_WAYPOINT :Passa no-stop per {WAYPOINT}
|
||||
|
||||
STR_WAYPOINTNAME_CITY :Waypoint di {TOWN}
|
||||
STR_WAYPOINTNAME_CITY_SERIAL :Waypoint di {TOWN} #{COMMA}
|
||||
@@ -1285,7 +1285,7 @@ STR_BUILD_CANALS_TIP :{BLACK}Costruis
|
||||
STR_LANDINFO_CANAL :Canale
|
||||
|
||||
STR_CANT_BUILD_LOCKS :{WHITE}Impossibile costruire qui le chiuse...
|
||||
STR_BUILD_LOCKS_TIP :{BLACK}Costruisci chiuse
|
||||
STR_BUILD_LOCKS_TIP :{BLACK}Costruisce chiuse per i canali
|
||||
STR_LANDINFO_LOCK :Chiuse
|
||||
|
||||
STR_BUOY_IS_IN_USE :{WHITE}...la boa è in uso!
|
||||
@@ -1717,6 +1717,7 @@ STR_2002 :{TINYFONT}{BLAC
|
||||
STR_2002_WHITE :{TINYFONT}{WHITE}{SIGN}
|
||||
STR_2004_BUILDING_MUST_BE_DEMOLISHED :{WHITE}L'edificio deve essere demolito prima
|
||||
STR_2005 :{WHITE}{TOWN}
|
||||
STR_CITY :{WHITE}{TOWN} (Metropoli)
|
||||
STR_2006_POPULATION :{BLACK}Popolazione: {ORANGE}{COMMA}{BLACK} Case: {ORANGE}{COMMA}
|
||||
STR_2007_RENAME_TOWN :Rinomina città
|
||||
STR_2008_CAN_T_RENAME_TOWN :{WHITE}Impossibile rinominare la città...
|
||||
@@ -3099,6 +3100,7 @@ STR_NEWGRF_ERROR_LOAD_AFTER :{STRING} deve e
|
||||
STR_NEWGRF_ERROR_OTTD_VERSION_NUMBER :{STRING} richiede OpenTTD versione {STRING} o superiore.
|
||||
STR_NEWGRF_ERROR_AFTER_TRANSLATED_FILE :il file GRF che era progettato per tradurre
|
||||
STR_NEWGRF_ERROR_TOO_MANY_NEWGRFS_LOADED :Troppi file NewGRF caricati.
|
||||
STR_NEWGRF_ERROR_STATIC_GRF_CAUSES_DESYNC :Caricare {STRING} come NewGRF statico insieme a {STRING} può causare errori di sincronizzazione
|
||||
|
||||
STR_NEWGRF_ADD :{BLACK}Aggiungi
|
||||
STR_NEWGRF_ADD_TIP :{BLACK}Aggiunge un file NewGRF all'elenco
|
||||
@@ -3130,6 +3132,10 @@ STR_NEWGRF_NOT_FOUND_WARNING :{WHITE}Mancano
|
||||
STR_NEWGRF_UNPAUSE_WARNING_TITLE :{YELLOW}File GRF mancanti
|
||||
STR_NEWGRF_UNPAUSE_WARNING :{WHITE}Uscire dalla pausa può causare un crash: nel caso, si prega di non inviare segnalazioni bug al riguardo.{}Uscire dalla pausa?
|
||||
|
||||
STR_NEWGRF_BROKEN :{WHITE}Le caratteristiche del NewGRF '{0:STRING}' possono causare errori di sincronizzazione e/o crash.
|
||||
STR_NEWGRF_BROKEN_VEHICLE_LENGTH :{WHITE}La lunghezza dei veicoli '{1:ENGINE}' può cambiare al di fuori dei depositi.
|
||||
STR_BROKEN_VEHICLE_LENGTH :{WHITE}Il treno '{VEHICLE}' della '{COMPANY}' ha una lunghezza non valida, probabilmente a causa di problemi con un NewGRF. È possibile che si verifichino errori di sincronizzazione o crash.
|
||||
STR_LOADGAME_REMOVED_TRAMS :{WHITE}La partita è stata salvata in una versione senza il supporto per i tram. Tutte le tranvie sono state rimosse.
|
||||
STR_CURRENCY_WINDOW :{WHITE}Valuta personalizzata
|
||||
STR_CURRENCY_EXCHANGE_RATE :{LTBLUE}Cambio: {ORANGE}{CURRENCY} = £ {COMMA}
|
||||
STR_CURRENCY_SEPARATOR :{LTBLUE}Separatore:
|
||||
|
@@ -200,7 +200,7 @@ STR_00E6_VEHICLES :차량
|
||||
STR_00E7_INDUSTRIES :산업시설
|
||||
STR_00E8_ROUTES :경로
|
||||
STR_00E9_VEGETATION :초목
|
||||
STR_00EA_OWNERS :소유자
|
||||
STR_00EA_OWNERS :소유주
|
||||
STR_00EB_ROADS :{BLACK}{TINYFONT}도로
|
||||
STR_00EC_RAILROADS :{BLACK}{TINYFONT}철도
|
||||
STR_00ED_STATIONS_AIRPORTS_DOCKS :{BLACK}{TINYFONT}역/공항/항구
|
||||
@@ -261,7 +261,7 @@ STR_0123_FIELDS :{BLACK}{TINYFON
|
||||
STR_0124_TREES :{BLACK}{TINYFONT}나무
|
||||
STR_0125_ROCKS :{BLACK}{TINYFONT}바위
|
||||
STR_0126_WATER :{BLACK}{TINYFONT}물
|
||||
STR_0127_NO_OWNER :{BLACK}{TINYFONT}소유자 없음
|
||||
STR_0127_NO_OWNER :{BLACK}{TINYFONT}소유주 없음
|
||||
STR_0128_TOWNS :{BLACK}{TINYFONT}마을
|
||||
STR_0129_INDUSTRIES :{BLACK}{TINYFONT}산업 시설
|
||||
STR_012A_DESERT :{BLACK}{TINYFONT}사막
|
||||
@@ -342,11 +342,11 @@ STR_UNITS_FORCE_SI :{COMMA} kN
|
||||
|
||||
############ range for menu starts
|
||||
STR_0154_OPERATING_PROFIT_GRAPH :경영 수익 그래프
|
||||
STR_0155_INCOME_GRAPH :수입 그래프
|
||||
STR_0155_INCOME_GRAPH :수익 그래프
|
||||
STR_0156_DELIVERED_CARGO_GRAPH :수송 화물량 그래프
|
||||
STR_0157_PERFORMANCE_HISTORY_GRAPH :성취도 그래프
|
||||
STR_0158_COMPANY_VALUE_GRAPH :회사가치 그래프
|
||||
STR_0159_CARGO_PAYMENT_RATES :화물 지불량 그래프
|
||||
STR_0159_CARGO_PAYMENT_RATES :화물 운송단가 그래프
|
||||
STR_015A_COMPANY_LEAGUE_TABLE :회사 성취도 순위
|
||||
STR_PERFORMANCE_DETAIL_MENU :상세 성취도
|
||||
############ range for menu ends
|
||||
@@ -443,7 +443,7 @@ STR_0181_BUILD_RAILROAD_TRACK :{BLACK}철도
|
||||
STR_0182_BUILD_ROADS :{BLACK}도로 건설
|
||||
STR_0183_BUILD_SHIP_DOCKS :{BLACK}항만 건설
|
||||
STR_0184_BUILD_AIRPORTS :{BLACK}공항 건설
|
||||
STR_0185_PLANT_TREES_PLACE_SIGNS :{BLACK}나무 심기, 팻말 달기 등
|
||||
STR_0185_PLANT_TREES_PLACE_SIGNS :{BLACK}나무 심기
|
||||
STR_0186_LAND_BLOCK_INFORMATION :{BLACK}지역 정보
|
||||
STR_0187_OPTIONS :{BLACK}옵션
|
||||
STR_0188 :{BLACK}{SMALLUPARROW}
|
||||
@@ -464,7 +464,7 @@ STR_0192_SHOW_VEHICLES_ON_MAP :{BLACK}맵에
|
||||
STR_0193_SHOW_INDUSTRIES_ON_MAP :{BLACK}맵에 산업시설 표시
|
||||
STR_0194_SHOW_TRANSPORT_ROUTES_ON :{BLACK}맵에 수송경로 표시
|
||||
STR_0195_SHOW_VEGETATION_ON_MAP :{BLACK}맵에 초목 표시
|
||||
STR_0196_SHOW_LAND_OWNERS_ON_MAP :{BLACK}맵에 부지 소유자 표시
|
||||
STR_0196_SHOW_LAND_OWNERS_ON_MAP :{BLACK}맵에 부지 소유주 표시
|
||||
STR_0197_TOGGLE_TOWN_NAMES_ON_OFF :{BLACK}마을 이름 표시/숨기기
|
||||
STR_0198_PROFIT_THIS_YEAR_LAST_YEAR :{TINYFONT}{BLACK}올해 수입: {CURRENCY} (작년: {CURRENCY})
|
||||
|
||||
@@ -484,7 +484,7 @@ STR_01A3_LAND_AREA_INFORMATION :{WHITE}이 지
|
||||
STR_01A4_COST_TO_CLEAR_N_A :{BLACK}초기화 가격: {LTBLUE}없음
|
||||
STR_01A5_COST_TO_CLEAR :{BLACK}초기화 가격: {LTBLUE}{CURRENCY}
|
||||
STR_01A6_N_A :없음
|
||||
STR_01A7_OWNER :{BLACK}소유자: {LTBLUE}{STRING}
|
||||
STR_01A7_OWNER :{BLACK}소유주: {LTBLUE}{STRING}
|
||||
STR_01A8_LOCAL_AUTHORITY :{BLACK}지역 당국: {LTBLUE}{STRING}
|
||||
STR_01A9_NONE :없음
|
||||
STR_01AA_NAME :{BLACK}이름
|
||||
@@ -608,7 +608,7 @@ STR_0215_INDUSTRIALIST :공업가
|
||||
STR_0216_CAPITALIST :자본가
|
||||
STR_0217_MAGNATE :권력자
|
||||
STR_0218_MOGUL :거물
|
||||
STR_0219_TYCOON_OF_THE_CENTURY :타이쿤!
|
||||
STR_0219_TYCOON_OF_THE_CENTURY :금세기의 타이쿤!
|
||||
STR_HIGHSCORE_NAME :{BIGFONT}{PLAYERNAME}, {COMPANY}
|
||||
STR_HIGHSCORE_STATS :{BIGFONT}'{STRING}' ({COMMA})
|
||||
STR_021B_ACHIEVES_STATUS :{BLACK}{BIGFONT}{COMPANY}가 '{STRING}'를(을) 달성했습니다!
|
||||
@@ -801,15 +801,15 @@ STR_02DA_ON :{BLACK}켜기
|
||||
STR_02DC_DISPLAY_SUBSIDIES :{BLACK}보조금 표시
|
||||
STR_02DD_SUBSIDIES :보조금
|
||||
STR_02DE_MAP_OF_WORLD :전체 지도 보기
|
||||
STR_EXTRA_VIEW_PORT :추가 보임창
|
||||
STR_EXTRA_VIEW_PORT :외부 화면
|
||||
STR_SIGN_LIST :팻말 목록
|
||||
STR_02DF_TOWN_DIRECTORY :도시 목록
|
||||
STR_TOWN_POPULATION :{BLACK}세계 인구: {COMMA}
|
||||
STR_EXTRA_VIEW_PORT_TITLE :{WHITE}보임창 {COMMA}
|
||||
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN :{BLACK}보임창으로 복사
|
||||
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN_TT :{BLACK}이 지역의 풍경을 이 보임창으로 복사합니다
|
||||
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}보임창에서 붙여넣기
|
||||
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW_TT :{BLACK}이 지역의 풍경을 이 보임창에 붙여넣습니다
|
||||
STR_EXTRA_VIEW_PORT_TITLE :{WHITE}외부 화면 {COMMA}
|
||||
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN :{BLACK}외부 화면에 저장
|
||||
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN_TT :{BLACK}현재 장소를 외부 화면에 저장합니다.
|
||||
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}이 장소로 이동
|
||||
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW_TT :{BLACK}외부 화면에 저장된 장소로 이동합니다.
|
||||
|
||||
STR_02E0_CURRENCY_UNITS :{BLACK}화폐 단위
|
||||
STR_02E1 :{BLACK}{SKIP}{STRING}
|
||||
@@ -1025,7 +1025,7 @@ STR_CONFIG_PATCHES_CATCHMENT :{LTBLUE}드래
|
||||
STR_CONFIG_PATCHES_EXTRADYNAMITE :{LTBLUE}도시 소유의 도로, 다리 등의 제거를 허용 : {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_MAMMOTHTRAINS :{LTBLUE}매우 긴 열차 허용 : {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_REALISTICACCEL :{LTBLUE}사실감있는 열차 가속 사용 : {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_FORBID_90_DEG :{LTBLUE}열차/선박의 90도 회전을 금지함: {ORANGE}{STRING} {LTBLUE} (requires NPF)
|
||||
STR_CONFIG_PATCHES_FORBID_90_DEG :{LTBLUE}열차/선박의 90도 회전을 금지함: {ORANGE}{STRING} {LTBLUE} (NPF 필요)
|
||||
STR_CONFIG_PATCHES_JOINSTATIONS :{LTBLUE}바로 옆에 역이 있으면 그 역의 이름으로 건설 (새로운 이름X) : {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_FULLLOADANY :{LTBLUE}'전체 싣기'인 경우, 단 하나의 화물이라도 차면 역을 떠남 : {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_IMPROVEDLOAD :{LTBLUE}향상된 수송 알고리즘 사용 : {ORANGE}{STRING}
|
||||
@@ -1043,7 +1043,7 @@ STR_CONFIG_PATCHES_SAMEINDCLOSE :{LTBLUE}같은
|
||||
STR_CONFIG_PATCHES_LONGDATE :{LTBLUE}날짜를 일(日)단위까지 상세하게 표시 : {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_SIGNALSIDE :{LTBLUE}신호등을 통행 방식에 따라 다른 위치에 설치 : {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_SHOWFINANCES :{LTBLUE}연말에 재정 창을 띄움 : {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_NEW_NONSTOP :{LTBLUE}TTD패치에 적합한 급행(논스톱) 처리 : {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_NEW_NONSTOP :{LTBLUE}TTD패치에 적합한 직통(논스톱) 처리 : {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_ROADVEH_QUEUE :{LTBLUE}(획기적 방법으로) 자동차를 대기하게 하기 : {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_AUTOSCROLL :{LTBLUE}가장자리에 마우스를 가져가면 화면을 움직이게 하기 : {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_BRIBE :{LTBLUE}지역 당국에 뇌물을 주는 행위 허용 : {ORANGE}{STRING}
|
||||
@@ -1094,7 +1094,7 @@ STR_CONFIG_PATCHES_STATION_SPREAD :{LTBLUE}역의
|
||||
STR_CONFIG_PATCHES_SERVICEATHELIPAD :{LTBLUE}헬리콥터를 발착장에서 자동으로 점검 : {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_LINK_TERRAFORM_TOOLBAR :{LTBLUE}철도/도로/항만/공항 툴바에 지형 정보 링크 : {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_REVERSE_SCROLLING :{LTBLUE}스크롤 방향 뒤집기 : {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_SMOOTH_SCROLLING :{LTBLUE}부드러운 보임창 스크롤: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_SMOOTH_SCROLLING :{LTBLUE}부드러운 화면 스크롤: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_MEASURE_TOOLTIP :{LTBLUE}건설도구 사용시 거리측정 툴팁 표시 : {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_LIVERIES :{LTBLUE}회사 조합원 표시 : {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_LIVERIES_NONE :없음
|
||||
@@ -1123,9 +1123,9 @@ STR_CONFIG_PATCHES_LOADING_INDICATORS_OWN :소유한 회
|
||||
STR_CONFIG_PATCHES_LOADING_INDICATORS_ALL :모든 회사
|
||||
STR_CONFIG_PATCHES_TIMETABLE_ALLOW :{LTBLUE}차량에 시간표 사용: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_TIMETABLE_IN_TICKS :{LTBLUE}시간표를 일(日)이 아닌 틱으로 표시: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_DEFAULT_RAIL_TYPE :{LTBLUE}기본값으로 사용할 철도의 종류 (새 게임/불러오기 후): {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_DEFAULT_RAIL_TYPE :{LTBLUE}자주 쓰는 철도 종류 설정: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_DEFAULT_RAIL_TYPE_RAIL :보통 철도
|
||||
STR_CONFIG_PATCHES_DEFAULT_RAIL_TYPE_ELRAIL :전개 철도
|
||||
STR_CONFIG_PATCHES_DEFAULT_RAIL_TYPE_ELRAIL :전기 철도
|
||||
STR_CONFIG_PATCHES_DEFAULT_RAIL_TYPE_MONORAIL :모노레일
|
||||
STR_CONFIG_PATCHES_DEFAULT_RAIL_TYPE_MAGLEV :자기부상
|
||||
STR_CONFIG_PATCHES_DEFAULT_RAIL_TYPE_FIRST :처음 사용 가능한 것
|
||||
@@ -1240,8 +1240,8 @@ STR_CHEAT_SETUP_PROD :{LTBLUE}산업
|
||||
STR_HEADING_FOR_WAYPOINT :{LTBLUE}{WAYPOINT}(으)로 향하는 중
|
||||
STR_HEADING_FOR_WAYPOINT_VEL :{LTBLUE}{WAYPOINT}, {VELOCITY}(으)로 향하는 중
|
||||
|
||||
STR_GO_TO_WAYPOINT :{WAYPOINT}을/를 경유
|
||||
STR_GO_NON_STOP_TO_WAYPOINT :{WAYPOINT}을/를 직통 경유
|
||||
STR_GO_TO_WAYPOINT :[경유] {WAYPOINT}
|
||||
STR_GO_NON_STOP_TO_WAYPOINT :[경유, 직통] {WAYPOINT}
|
||||
|
||||
STR_WAYPOINTNAME_CITY :웨이포인트 {TOWN}
|
||||
STR_WAYPOINTNAME_CITY_SERIAL :웨이포인트 {TOWN} #{COMMA}
|
||||
@@ -1273,7 +1273,7 @@ STR_CAN_T_GENERATE_INDUSTRIES :{WHITE}산업
|
||||
|
||||
STR_LANDSCAPING_TOOLBAR_TIP :{BLACK}땅을 올리거나 내리기, 나무 심기 등의 지형 툴바를 엽니다.
|
||||
STR_LANDSCAPING_TOOLBAR :{WHITE}지평편집
|
||||
STR_LEVEL_LAND_TOOLTIP :{BLACK}위치좌표값
|
||||
STR_LEVEL_LAND_TOOLTIP :{BLACK}땅을 평평하게 고릅니다.
|
||||
|
||||
|
||||
STR_TREES_RANDOM_TYPE :{BLACK}무작위 나무
|
||||
@@ -1302,7 +1302,7 @@ STR_STATION_DRAG_DROP :{BLACK}드래
|
||||
STR_SELECT_STATION_CLASS_TIP :{BLACK}표시할 역의 종류를 선택합니다
|
||||
STR_SELECT_STATION_TYPE_TIP :{BLACK}건설할 역의 종류를 선택합니다
|
||||
|
||||
STR_FAST_FORWARD :{BLACK}게임 빨리감기
|
||||
STR_FAST_FORWARD :{BLACK}게임 고속 진행
|
||||
STR_MESSAGE_HISTORY :{WHITE}메시지 기록
|
||||
STR_MESSAGE_HISTORY_TIP :{BLACK}최근 뉴스 메시지의 기록입니다
|
||||
STR_MESSAGES_DISABLE_ALL :{BLACK}모두 사용 안함
|
||||
@@ -1607,7 +1607,7 @@ STR_0810_DESERT :사막
|
||||
##id 0x1000
|
||||
STR_1000_LAND_SLOPED_IN_WRONG_DIRECTION :{WHITE}잘못된 방향으로 땅이 기울어졌습니다
|
||||
STR_1001_IMPOSSIBLE_TRACK_COMBINATION :{WHITE}불가능한 트랙 조합입니다
|
||||
STR_1002_EXCAVATION_WOULD_DAMAGE :{WHITE}터널에 영향을 주는 지형편집입니다
|
||||
STR_1002_EXCAVATION_WOULD_DAMAGE :{WHITE}터널 때문에 지형을 편집할 수 없습니다.
|
||||
STR_1003_ALREADY_AT_SEA_LEVEL :{WHITE}이미 해수면에 도달했습니다
|
||||
STR_1004_TOO_HIGH :{WHITE}너무 높습니다!
|
||||
STR_1005_NO_SUITABLE_RAILROAD_TRACK :{WHITE}알맞지 않은 철로입니다.
|
||||
@@ -1716,6 +1716,7 @@ STR_2002 :{TINYFONT}{BLAC
|
||||
STR_2002_WHITE :{TINYFONT}{WHITE}{SIGN}
|
||||
STR_2004_BUILDING_MUST_BE_DEMOLISHED :{WHITE}건물을 먼저 제거하십시오!
|
||||
STR_2005 :{WHITE}{TOWN}
|
||||
STR_CITY :{WHITE}{TOWN} (도시)
|
||||
STR_2006_POPULATION :{BLACK}인구: {ORANGE}{COMMA}{BLACK} 가구수: {ORANGE}{COMMA}
|
||||
STR_2007_RENAME_TOWN :도시 이름 변경
|
||||
STR_2008_CAN_T_RENAME_TOWN :{WHITE}도시 이름을 바꿀 수 없습니다...
|
||||
@@ -1783,7 +1784,7 @@ STR_2046_SMALL_ADVERTISING_CAMPAIGN :소규모 광
|
||||
STR_2047_MEDIUM_ADVERTISING_CAMPAIGN :중규모 광고 캠페인
|
||||
STR_2048_LARGE_ADVERTISING_CAMPAIGN :대규모 광고 캠페인
|
||||
STR_2049_FUND_LOCAL_ROAD_RECONSTRUCTION :지역 도로 재공사에 투자
|
||||
STR_204A_BUILD_STATUE_OF_COMPANY :회사 소유자의 동상 건설
|
||||
STR_204A_BUILD_STATUE_OF_COMPANY :회사 소유주의 동상 건설
|
||||
STR_204B_FUND_NEW_BUILDINGS :새로운 건물에 투자
|
||||
STR_204C_BUY_EXCLUSIVE_TRANSPORT :수송 권한 독점권 구입
|
||||
STR_TOWN_BRIBE_THE_LOCAL_AUTHORITY :지역 당국에 뇌물 먹이기
|
||||
@@ -1810,7 +1811,7 @@ STR_INDUSTRY_FORMAT :{TOWN} {STRING}
|
||||
STR_STATION :{STATION}
|
||||
|
||||
##id 0x2800
|
||||
STR_LANDSCAPING :지형편집
|
||||
STR_LANDSCAPING :지형 편집
|
||||
STR_2800_PLANT_TREES :나무 심기
|
||||
STR_2801_PLACE_SIGN :팻말 달기
|
||||
STR_2802_TREES :{WHITE}나무
|
||||
@@ -2175,7 +2176,7 @@ STR_6820_LOW :낮음
|
||||
STR_6821_MEDIUM :보통
|
||||
STR_6822_HIGH :높음
|
||||
STR_6823_NONE :고장 안남
|
||||
STR_6824_REDUCED :재생산
|
||||
STR_6824_REDUCED :적음
|
||||
STR_6825_NORMAL :일반
|
||||
STR_6826_X1_5 :1.5배 지급
|
||||
STR_6827_X2 :2배 지급
|
||||
@@ -2237,7 +2238,7 @@ STR_7021 :{COMPANY} {COMP
|
||||
STR_7022_INCOME_GRAPH :{WHITE}수익 그래프
|
||||
STR_CURRCOMPACT :{CURRCOMPACT}
|
||||
STR_7024 :{COMMA}
|
||||
STR_7025_OPERATING_PROFIT_GRAPH :{WHITE}수행 이익 그래프
|
||||
STR_7025_OPERATING_PROFIT_GRAPH :{WHITE}경영 수익 그래프
|
||||
STR_7026_BANK_BALANCE :{WHITE}소유금
|
||||
STR_7027_LOAN :{WHITE}대출
|
||||
STR_MAX_LOAN :{WHITE}최대 대출: {BLACK}{CURRENCY}
|
||||
@@ -2295,17 +2296,17 @@ STR_705D_HAS_BEEN_CLOSED_DOWN_BY :{BLACK}{BIGFONT
|
||||
STR_705E_NEW_TRANSPORT_COMPANY_LAUNCHED :{BLACK}{BIGFONT}새로운 운송회사 등장!
|
||||
STR_705F_STARTS_CONSTRUCTION_NEAR :{BLACK}{BIGFONT}{COMPANY}이/가 {TOWN}에서 공사를 시작했습니다!
|
||||
STR_7060_CAN_T_BUY_COMPANY :{WHITE}회사를 인수할 수 없습니다...
|
||||
STR_7061_CARGO_PAYMENT_RATES :{WHITE}화물 운송비 지급량
|
||||
STR_7061_CARGO_PAYMENT_RATES :{WHITE}화물 운송단가 비율
|
||||
STR_7062_DAYS_IN_TRANSIT :{BLACK}{TINYFONT}통과시간
|
||||
STR_7063_PAYMENT_FOR_DELIVERING :{BLACK}{TINYFONT}10단위(또는 1만리터)의 화물을 20칸의 거리로 운송할 때의 운송비 지급량입니다.
|
||||
STR_7063_PAYMENT_FOR_DELIVERING :{BLACK}{TINYFONT}10 단위(1만 리터)의 화물을 20칸 거리만큼 운송할 때의 운송비 지급량
|
||||
STR_7064_TOGGLE_GRAPH_FOR_CARGO :{BLACK}이 화물에 대한 그래프 켜기/끄기
|
||||
STR_7065 :{BLACK}{TINYFONT}{STRING}
|
||||
STR_7066_ENGINEER :엔지니어
|
||||
STR_7067_TRAFFIC_MANAGER :교통 경영인
|
||||
STR_7067_TRAFFIC_MANAGER :교통망 관리자
|
||||
STR_7068_TRANSPORT_COORDINATOR :수송 조정자
|
||||
STR_7069_ROUTE_SUPERVISOR :노선 관리자
|
||||
STR_706A_DIRECTOR :지도자
|
||||
STR_706B_CHIEF_EXECUTIVE :집행장
|
||||
STR_706A_DIRECTOR :이사
|
||||
STR_706B_CHIEF_EXECUTIVE :이사장
|
||||
STR_706C_CHAIRMAN :의장
|
||||
STR_706D_PRESIDENT :회장
|
||||
STR_706E_TYCOON :타이쿤!
|
||||
@@ -2940,7 +2941,7 @@ STR_982F_NAME_SHIP :{BLACK}선박
|
||||
STR_9831_NAME_SHIP :{WHITE}선박 이름 지정
|
||||
STR_9832_CAN_T_NAME_SHIP :{WHITE}선박의 이름을 바꿀 수 없습니다...
|
||||
STR_9833_CITIZENS_CELEBRATE_FIRST :{BLACK}{BIGFONT}첫 선박이 {STATION}에 도착했습니다!{}시민들이 환호하고 있습니다!
|
||||
STR_9834_POSITION_BUOY_WHICH_CAN :{BLACK}웨이포인트로 사용할 부이를 which can be used as a waypoint
|
||||
STR_9834_POSITION_BUOY_WHICH_CAN :{BLACK}웨이포인트로 사용할 부이를 설치합니다.
|
||||
STR_9835_CAN_T_POSITION_BUOY_HERE :{WHITE}여기에 부이를 설치할 수 없습니다...
|
||||
STR_9836_RENAME :{BLACK}이름 지정
|
||||
STR_9837_RENAME_SHIP_TYPE :{BLACK}선박 타입의 이름 지정
|
||||
@@ -3043,7 +3044,7 @@ STR_B006_FLOOD_VEHICLE_DESTROYED :{BLACK}{BIGFONT
|
||||
|
||||
STR_BRIBE_FAILED :{WHITE}당신의 뇌물 수수 행위가
|
||||
STR_BRIBE_FAILED_2 :{WHITE}지역 당국에 의해 발각되었습니다!
|
||||
STR_BUILD_DATE :{BLACK}생산: {LTBLUE}{DATE_LONG}
|
||||
STR_BUILD_DATE :{BLACK}건설날짜: {LTBLUE}{DATE_LONG}
|
||||
|
||||
STR_PERFORMANCE_DETAIL :{WHITE}상세 성취도
|
||||
STR_PERFORMANCE_DETAIL_KEY :{BLACK}자세히
|
||||
@@ -3098,6 +3099,7 @@ STR_NEWGRF_ERROR_LOAD_AFTER :{STRING}은/는
|
||||
STR_NEWGRF_ERROR_OTTD_VERSION_NUMBER :{STRING}는 OpenTTD {STRING} 버전이나 그 이상이 필요합니다.
|
||||
STR_NEWGRF_ERROR_AFTER_TRANSLATED_FILE :GRF 파일 자체는 번역용으로 디자인됨
|
||||
STR_NEWGRF_ERROR_TOO_MANY_NEWGRFS_LOADED :NewGRF이 너무 많습니다.
|
||||
STR_NEWGRF_ERROR_STATIC_GRF_CAUSES_DESYNC :{1:STRING}를 포함한 정적 NewGRF {0:STRING}(을)를 불러오는 것은 비동기화를 야기시킬 수 있습니다.
|
||||
|
||||
STR_NEWGRF_ADD :{BLACK}추가
|
||||
STR_NEWGRF_ADD_TIP :{BLACK}NewGRF 파일을 목록에 추가
|
||||
@@ -3127,8 +3129,12 @@ STR_NEWGRF_COMPATIBLE_LOAD_WARNING :{WHITE}사라
|
||||
STR_NEWGRF_DISABLED_WARNING :{WHITE}사라진 GRF 파일은 사용불가능합니다
|
||||
STR_NEWGRF_NOT_FOUND_WARNING :{WHITE}사라진 GRF 파일이 게임 로드에 사용될 수 있습니다
|
||||
STR_NEWGRF_UNPAUSE_WARNING_TITLE :{YELLOW}GRF 파일 손실
|
||||
STR_NEWGRF_UNPAUSE_WARNING :{WHITE}일시정지는 OpenTTD를 망가뜨릴 수 있습니다. 차후에 나오는 버그를 위해 버그 리포트를 파일로 만들지 마십시오.{}일시정지하시겠습니까?
|
||||
STR_NEWGRF_UNPAUSE_WARNING :{WHITE}일시정지를 해제하면 오류가 발생할 수도 있습니다. 차후에 나오는 오류를 위해 버그 리포트를 보관하지 마십시오.{}일시정지를 해제하시겠습니까?
|
||||
|
||||
STR_NEWGRF_BROKEN :{WHITE}NewGRF '{STRING}'는 비동기화 혹은 충돌을 일으킬 수 있습니다.
|
||||
STR_NEWGRF_BROKEN_VEHICLE_LENGTH :{WHITE}'{1:ENGINE}'이/가 차고 안에 있지 않으면 차량 길이가 바뀝니다.
|
||||
STR_BROKEN_VEHICLE_LENGTH :{WHITE}'{1:COMPANY}'의 열차 '{0:VEHICLE}'은/는 유효하지 않은 길이를 가지고 있습니다. NewGRF에 의한 문제일 수 있으며 비동기화/충돌을 일으킬 수 있습니다.
|
||||
STR_LOADGAME_REMOVED_TRAMS :{WHITE}전차를 지원하지 않는 버전으로 게임이 저장되었습니다. 모든 전차는 제거되었습니다.
|
||||
STR_CURRENCY_WINDOW :{WHITE}사용자 화폐 단위
|
||||
STR_CURRENCY_EXCHANGE_RATE :{LTBLUE}환율: {ORANGE}{CURRENCY} = {COMMA}파운드
|
||||
STR_CURRENCY_SEPARATOR :{LTBLUE}단위구분:
|
||||
@@ -3197,7 +3203,7 @@ STR_REPLACE_HELP :{BLACK}이 기
|
||||
STR_REPLACE_REMOVE_WAGON :{BLACK}화물차 제거: {ORANGE}{SKIP}{STRING}
|
||||
STR_REPLACE_REMOVE_WAGON_HELP :{BLACK}자동교체시에 열차가 기존보다 길어지면 화물차를 제거함으로써 교체시 달라지는 열차의 길이를 같게 조정합니다 (앞쪽부터 시작됨)
|
||||
STR_REPLACE_ENGINE_WAGON_SELECT :{BLACK}교체중: {ORANGE}{SKIP}{SKIP}{STRING}
|
||||
STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK} 실험적 기능! {}기관차/화물차 교체 창을 번갈아 띄웁니다.{}화물차 교체는 예전 화물차가 싣던 화물을 실을 수 있도록 개조할 수 있는 새로운 화물차에만 성공할 것입니다. 실제 교체가 이루어질 때 각 화물차에 체크되었습니다.
|
||||
STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK} 실험적 기능! {}기관차/화물차 교체 창을 번갈아 띄웁니다.{}화물차 교체는 예전 화물차가 싣던 화물을 실을 수 있도록 개조할 수 있는 새로운 화물차에만 성공할 것입니다. 이는 실제 교체가 이루어질 때 각 화물차에 체크되었습니다.
|
||||
STR_RAIL_VEHICLE_NOT_AVAILABLE :{WHITE}열차는 불가능합니다
|
||||
STR_ROAD_VEHICLE_NOT_AVAILABLE :{WHITE}차량은 불가능합니다
|
||||
STR_SHIP_NOT_AVAILABLE :{WHITE}선박은 불가능합니다
|
||||
@@ -3339,7 +3345,7 @@ STR_MEASURE_AREA_HEIGHTDIFF :{BLACK}넓이:
|
||||
|
||||
############ Date formatting
|
||||
STR_DATE_TINY :{2:NUM}.{1:STRING}.{0:STRING}
|
||||
STR_DATE_SHORT :{1:NUM}년 {0:STRING}월
|
||||
STR_DATE_SHORT :{1:NUM}년 {0:STRING}
|
||||
STR_DATE_LONG :{2:NUM}년 {1:STRING}월 {0:STRING}일
|
||||
|
||||
########
|
||||
@@ -3395,7 +3401,7 @@ STR_GROUP_CAN_T_REMOVE_ALL_VEHICLES :{WHITE}이 구
|
||||
STR_GROUP_CAN_T_ADD_VEHICLE :{WHITE}이 그룹에 차량을 추가할 수 없습니다.
|
||||
STR_GROUP_CAN_T_ADD_SHARED_VEHICLE :{WHITE}이 구릅에 공유된 차량을 추가할 수 없습니다.
|
||||
|
||||
STR_GROUPS_CLICK_ON_GROUP_FOR_TIP :{BLACK}그룹 - 땅을 클릭하면 이 그룹의 모든 차량을 나열
|
||||
STR_GROUPS_CLICK_ON_GROUP_FOR_TIP :{BLACK}그룹 - 클릭하신 그룹에 속한 차량을 모두 나열합니다
|
||||
STR_GROUP_CREATE_TIP :{BLACK}그룹 만들기
|
||||
STR_GROUP_DELETE_TIP :{BLACK}선택한 그룹 삭제
|
||||
STR_GROUP_RENAME_TIP :{BLACK}선택한 그룹 이름 바꾸기
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -1715,6 +1715,7 @@ STR_2002 :{TINYFONT}{BLAC
|
||||
STR_2002_WHITE :{TINYFONT}{WHITE}{SIGN}
|
||||
STR_2004_BUILDING_MUST_BE_DEMOLISHED :{WHITE}O edifício deve ser demolido primeiro
|
||||
STR_2005 :{WHITE}{TOWN}
|
||||
STR_CITY :{WHITE}{TOWN} (Cidade)
|
||||
STR_2006_POPULATION :{BLACK}População: {ORANGE}{COMMA}{BLACK} Casas: {ORANGE}{COMMA}
|
||||
STR_2007_RENAME_TOWN :Renomear Cidade
|
||||
STR_2008_CAN_T_RENAME_TOWN :{WHITE}Não é possível renomear cidade...
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -1717,6 +1717,7 @@ STR_2002 :{TINYFONT}{BLAC
|
||||
STR_2002_WHITE :{TINYFONT}{WHITE}{SIGN}
|
||||
STR_2004_BUILDING_MUST_BE_DEMOLISHED :{WHITE}Сначала надо уничтожить здания
|
||||
STR_2005 :{WHITE}{TOWN}
|
||||
STR_CITY :{WHITE}{TOWN} (Город)
|
||||
STR_2006_POPULATION :{BLACK}Население: {ORANGE}{COMMA}{BLACK} Зданий: {ORANGE}{COMMA}
|
||||
STR_2007_RENAME_TOWN :Переименовать город
|
||||
STR_2008_CAN_T_RENAME_TOWN :{WHITE}Не могу переименовать город...
|
||||
@@ -3110,6 +3111,7 @@ STR_NEWGRF_ERROR_LOAD_AFTER :{STRING} дол
|
||||
STR_NEWGRF_ERROR_OTTD_VERSION_NUMBER :{STRING} требует OpenTTD версии {STRING} или выше.
|
||||
STR_NEWGRF_ERROR_AFTER_TRANSLATED_FILE :файл GRF, который им переводится.
|
||||
STR_NEWGRF_ERROR_TOO_MANY_NEWGRFS_LOADED :Слишком много загружено новой графики
|
||||
STR_NEWGRF_ERROR_STATIC_GRF_CAUSES_DESYNC :Загрузка {STRING} в качестве статического NewGRF с {STRING} Может вызвать ошибку синхронизации.
|
||||
|
||||
STR_NEWGRF_ADD :{BLACK}Добавить
|
||||
STR_NEWGRF_ADD_TIP :{BLACK}Добавить файл NewGRF в список
|
||||
@@ -3141,6 +3143,7 @@ STR_NEWGRF_NOT_FOUND_WARNING :{WHITE}Не н
|
||||
STR_NEWGRF_UNPAUSE_WARNING_TITLE :{YELLOW}Пропущенные GRF файлы
|
||||
STR_NEWGRF_UNPAUSE_WARNING :{WHITE}Снятие с паузы может привести к ошибке OpenTTD.{}Вы хотите запустить игру?
|
||||
|
||||
STR_LOADGAME_REMOVED_TRAMS :{WHITE}Игра была сохранена в игре без поддержки трамваев. Все трамваи были отключены.
|
||||
STR_CURRENCY_WINDOW :{WHITE}Своя валюта
|
||||
STR_CURRENCY_EXCHANGE_RATE :{LTBLUE}Обменный курс: {ORANGE}{CURRENCY} = £{COMMA}
|
||||
STR_CURRENCY_SEPARATOR :{LTBLUE}Разделитель:
|
||||
|
@@ -9,7 +9,7 @@
|
||||
STR_NULL :
|
||||
STR_0001_OFF_EDGE_OF_MAP :{WHITE}超过地图边界
|
||||
STR_0002_TOO_CLOSE_TO_EDGE_OF_MAP :{WHITE}距离地图边界过近
|
||||
STR_0003_NOT_ENOUGH_CASH_REQUIRES :{WHITE}没有足够的现金 - 需要 {CURRENCY}
|
||||
STR_0003_NOT_ENOUGH_CASH_REQUIRES :{WHITE}没有足够的资金 - 需要 {CURRENCY}
|
||||
STR_0004 :{WHITE}{CURRENCY}
|
||||
STR_EMPTY :
|
||||
STR_0007_FLAT_LAND_REQUIRED :{WHITE}需要平坦的地面
|
||||
@@ -36,7 +36,7 @@ STR_001D_DIAMONDS :钻石
|
||||
STR_001E_FOOD :食品
|
||||
STR_001F_PAPER :纸张
|
||||
STR_0020_GOLD :金子
|
||||
STR_0021_WATER :水
|
||||
STR_0021_WATER :矿泉水
|
||||
STR_0022_WHEAT :小麦
|
||||
STR_0023_RUBBER :橡胶
|
||||
STR_0024_SUGAR :蔗糖
|
||||
@@ -47,7 +47,7 @@ STR_0028_COTTON_CANDY :棉花糖
|
||||
STR_0029_BUBBLES :泡泡
|
||||
STR_002A_TOFFEE :太妃糖
|
||||
STR_002B_BATTERIES :电池
|
||||
STR_002C_PLASTIC :塑料
|
||||
STR_002C_PLASTIC :塑料块
|
||||
STR_002D_FIZZY_DRINKS :跳跳水
|
||||
STR_002E :
|
||||
STR_002F_PASSENGER :旅客
|
||||
@@ -238,7 +238,7 @@ STR_010E_WATER_TOWER :{BLACK}{TINYFON
|
||||
STR_010F_LUMBER_MILL :{BLACK}{TINYFONT}木材厂
|
||||
STR_0110_COTTON_CANDY_FOREST :{BLACK}{TINYFONT}棉花糖森林
|
||||
STR_0111_CANDY_FACTORY :{BLACK}{TINYFONT}糖果厂
|
||||
STR_0112_BATTERY_FARM :{BLACK}{TINYFONT}滇池农场
|
||||
STR_0112_BATTERY_FARM :{BLACK}{TINYFONT}电池农场
|
||||
STR_0113_COLA_WELLS :{BLACK}{TINYFONT}可乐泉
|
||||
STR_0114_TOY_SHOP :{BLACK}{TINYFONT}玩具店
|
||||
STR_0115_TOY_FACTORY :{BLACK}{TINYFONT}玩具工厂
|
||||
@@ -310,13 +310,13 @@ STR_UNITS_IMPERIAL :英制
|
||||
STR_UNITS_METRIC :度量
|
||||
STR_UNITS_SI :国际单位制
|
||||
|
||||
STR_UNITS_VELOCITY_IMPERIAL :{COMMA} 英里/小时
|
||||
STR_UNITS_VELOCITY_IMPERIAL :{COMMA} 英里/时
|
||||
STR_UNITS_VELOCITY_METRIC :{COMMA} 千米/小时
|
||||
STR_UNITS_VELOCITY_SI :{COMMA} 米/秒
|
||||
|
||||
STR_UNITS_POWER_IMPERIAL :{COMMA}马力
|
||||
STR_UNITS_POWER_METRIC :{COMMA}马力
|
||||
STR_UNITS_POWER_SI :{COMMA}前往
|
||||
STR_UNITS_POWER_SI :{COMMA}千瓦
|
||||
|
||||
STR_UNITS_WEIGHT_SHORT_IMPERIAL :{COMMA}英吨
|
||||
STR_UNITS_WEIGHT_SHORT_METRIC :{COMMA}吨
|
||||
@@ -549,8 +549,8 @@ STR_01E4_0 :{DKGREEN}{TINYF
|
||||
STR_01E5 :{DKGREEN}{TINYFONT}{COMMA}
|
||||
STR_01E6 :{DKGREEN}{TINYFONT}------
|
||||
STR_01E7 :{DKGREEN}{TINYFONT}"{STRING}"
|
||||
STR_01E8_TRACK_XTITLE :{BLACK}{TINYFONT}轨道{SETX 88}题目
|
||||
STR_01E9_SHUFFLE :{TINYFONT}随即播放
|
||||
STR_01E8_TRACK_XTITLE :{BLACK}{TINYFONT}音轨{SETX 88}标题
|
||||
STR_01E9_SHUFFLE :{TINYFONT}随机播放
|
||||
STR_01EA_PROGRAM :{TINYFONT}{BLACK}列表播放
|
||||
STR_01EB_MUSIC_PROGRAM_SELECTION :{WHITE}音乐选单
|
||||
STR_01EC_0 :{TINYFONT}{LTBLUE}0{COMMA} "{STRING}"
|
||||
@@ -586,6 +586,9 @@ STR_0208_ACCIDENTS_DISASTERS :{YELLOW}事故/
|
||||
STR_0209_COMPANY_INFORMATION :{YELLOW}公司信息
|
||||
STR_NEWS_OPEN_CLOSE :{YELLOW}开启/关闭工业设施
|
||||
STR_020A_ECONOMY_CHANGES :{YELLOW}经济变化
|
||||
STR_INDUSTRY_CHANGES_SERVED_BY_PLAYER :{YELLOW}对玩家有利的工业产量变化
|
||||
STR_INDUSTRY_CHANGES_SERVED_BY_OTHER :{YELLOW}对对手有利的工业产量变化
|
||||
STR_OTHER_INDUSTRY_PRODUCTION_CHANGES :{YELLOW}其他工业产量变化
|
||||
STR_020B_ADVICE_INFORMATION_ON_PLAYER :{YELLOW}玩家车辆的状况报告
|
||||
STR_020C_NEW_VEHICLES :{YELLOW}新的车辆类型
|
||||
STR_020D_CHANGES_OF_CARGO_ACCEPTANCE :{YELLOW}货物接受情况变更
|
||||
@@ -721,6 +724,7 @@ STR_028D_PLACE_LIGHTHOUSE :{BLACK}放置
|
||||
STR_028E_PLACE_TRANSMITTER :{BLACK}放置转播塔
|
||||
STR_028F_DEFINE_DESERT_AREA :{BLACK}定义沙漠区域。{}摁住 CTRL 可以去掉沙漠区域。
|
||||
STR_CREATE_LAKE :{BLACK}定义水域。{}修建运河,仅在CTRL被按下的情况下不会在海平面淹没周围的区域。
|
||||
STR_CREATE_RIVER :{BLACK}放置河流
|
||||
STR_0290_DELETE :{BLACK}删除
|
||||
STR_0291_DELETE_THIS_TOWN_COMPLETELY :{BLACK}完全删除这座城镇
|
||||
STR_0292_SAVE_SCENARIO :保存场景
|
||||
@@ -736,7 +740,7 @@ STR_029A_PLAY_SCENARIO :{BLACK}以场
|
||||
STR_PLAY_HEIGHTMAP :{BLACK}以高度图开始游戏
|
||||
STR_PLAY_HEIGHTMAP_HINT :{BLACK}以高度图决定的地形开始一个新游戏。
|
||||
STR_QUIT_SCENARIO_QUERY :{YELLOW}你确定要退出当前场景吗?
|
||||
STR_029C_QUIT_EDITOR :{WHITE}推出编辑器
|
||||
STR_029C_QUIT_EDITOR :{WHITE}退出编辑器
|
||||
STR_029D_CAN_ONLY_BE_BUILT_IN_TOWNS :{WHITE}只能在人口超过 1200 的城镇建造……
|
||||
STR_029E_MOVE_THE_STARTING_DATE :{BLACK}将开始年份向前调整 1 年
|
||||
STR_029F_MOVE_THE_STARTING_DATE :{BLACK}将开始年份向后调整 1 年
|
||||
@@ -852,6 +856,7 @@ STR_0313_FUND_NEW_INDUSTRY :新的工业设
|
||||
|
||||
STR_0314_FUND_NEW_INDUSTRY :{WHITE}建设新的工业设施
|
||||
STR_JUST_STRING :{STRING}
|
||||
STR_JUST_INT :{NUM}
|
||||
STR_0316_CAN_ONLY_BE_BUILT_IN_TOWNS :{WHITE}只能在城镇中建设……
|
||||
STR_0317_CAN_ONLY_BE_BUILT_IN_RAINFOREST :{WHITE}只能在雨林中建设……
|
||||
STR_0318_CAN_ONLY_BE_BUILT_IN_DESERT :{WHITE}只能在沙漠中建设……
|
||||
@@ -875,14 +880,14 @@ STR_TOWNNAME_FRENCH :法国
|
||||
STR_TOWNNAME_GERMAN :德国
|
||||
STR_TOWNNAME_ADDITIONAL_ENGLISH :英国 (增强的)
|
||||
STR_TOWNNAME_LATIN_AMERICAN :美式拉丁
|
||||
STR_TOWNNAME_SILLY :愚蠢的
|
||||
STR_TOWNNAME_SILLY :搞笑地名
|
||||
STR_TOWNNAME_SWEDISH :瑞典
|
||||
STR_TOWNNAME_DUTCH :荷兰
|
||||
STR_TOWNNAME_FINNISH :芬兰
|
||||
STR_TOWNNAME_POLISH :波兰
|
||||
STR_TOWNNAME_SLOVAKISH :斯洛伐克
|
||||
STR_TOWNNAME_NORWEGIAN :挪威
|
||||
STR_TOWNNAME_HUNGARIAN :雄拉利
|
||||
STR_TOWNNAME_HUNGARIAN :匈牙利
|
||||
STR_TOWNNAME_AUSTRIAN :澳大利亚
|
||||
STR_TOWNNAME_ROMANIAN :罗马尼亚
|
||||
STR_TOWNNAME_CZECH :捷克
|
||||
@@ -929,6 +934,7 @@ STR_OPTIONS_LANG_TIP :{BLACK}选择
|
||||
|
||||
STR_OPTIONS_FULLSCREEN :{BLACK}全屏幕
|
||||
STR_OPTIONS_FULLSCREEN_TIP :{BLACK}选择此项可以在全屏幕模式下进行 OpenTTD 游戏
|
||||
STR_FULLSCREEN_FAILED :{WHITE}无法切换到全屏模式
|
||||
|
||||
STR_OPTIONS_RES :{BLACK}屏幕分辨率
|
||||
STR_OPTIONS_RES_CBO :{BLACK}{SKIP}{SKIP}{SKIP}{SKIP}{SKIP}{SKIP}{SKIP}{STRING}
|
||||
@@ -1025,6 +1031,10 @@ STR_CONFIG_PATCHES_INFLATION :{LTBLUE}通货
|
||||
STR_CONFIG_PATCHES_SELECTGOODS :{LTBLUE}仅在车站接受此货物时卸货:{ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_LONGBRIDGES :{LTBLUE}允许建造超长桥梁:{ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_GOTODEPOT :{LTBLUE}允许前往车库的计划任务:{ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_RAW_INDUSTRY_CONSTRUCTION_METHOD :{LTBLUE}原料工业建设方式: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_RAW_INDUSTRY_CONSTRUCTION_METHOD_NONE :无
|
||||
STR_CONFIG_PATCHES_RAW_INDUSTRY_CONSTRUCTION_METHOD_NORMAL :同其他工业
|
||||
STR_CONFIG_PATCHES_RAW_INDUSTRY_CONSTRUCTION_METHOD_PROSPECTING :探矿式
|
||||
STR_CONFIG_PATCHES_MULTIPINDTOWN :{LTBLUE}允许在一个城镇中建设多个同类工业设施:{ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_SAMEINDCLOSE :{LTBLUE}工业设施可以相邻:{ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_LONGDATE :{LTBLUE}永远在状态栏中显示长日期:{ORANGE}{STRING}
|
||||
@@ -1034,9 +1044,13 @@ STR_CONFIG_PATCHES_NEW_NONSTOP :{LTBLUE}TTDPatc
|
||||
STR_CONFIG_PATCHES_ROADVEH_QUEUE :{LTBLUE}汽车自动排队 (有量子效应): {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_AUTOSCROLL :{LTBLUE}当鼠标移动到屏幕边缘时移动屏幕:{ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_BRIBE :{LTBLUE}允许贿赂地方政府:{ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_ALLOW_EXCLUSIVE :{LTBLUE}允许买断经营权: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_ALLOW_GIVE_MONEY :{LTBLUE}允许向其他公司转移资金: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_NONUNIFORM_STATIONS :{LTBLUE}允许异形站台:{ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_FREIGHT_TRAINS :{LTBLUE}根据装载货物的数量模拟超重列车:{ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_PLANE_SPEED :{LTBLUE}飞机速度因数: {ORANGE}1 / {STRING}
|
||||
STR_CONFIG_PATCHES_STOP_ON_TOWN_ROAD :{LTBLUE}允许在城镇所有的道路上穿过禁行标志 {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_ADJACENT_STATIONS :{LTBLUE}允许建设临近站台: {ORANGE}{STRING}
|
||||
|
||||
STR_CONFIG_PATCHES_SMALL_AIRPORTS :{LTBLUE}总允许建设小型机场:{ORANGE}{STRING}
|
||||
|
||||
@@ -1077,6 +1091,7 @@ STR_CONFIG_PATCHES_STATION_SPREAD :{LTBLUE}站台
|
||||
STR_CONFIG_PATCHES_SERVICEATHELIPAD :{LTBLUE}直升机在降落平台自动保养:{ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_LINK_TERRAFORM_TOOLBAR :{LTBLUE}将景观美化工具栏与铁路/公路/船只/机场工具栏连接:{ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_REVERSE_SCROLLING :{LTBLUE}拖动方向与屏幕移动方向相反:{ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_SMOOTH_SCROLLING :{LTBLUE}平滑视角滚动: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_MEASURE_TOOLTIP :{LTBLUE}建设时显示测量数据:{ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_LIVERIES :{LTBLUE}显示公司特别外观:{ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_LIVERIES_NONE :不显示
|
||||
@@ -1089,6 +1104,27 @@ STR_CONFIG_PATCHES_SCROLLWHEEL_SCROLL :滚动地图
|
||||
STR_CONFIG_PATCHES_SCROLLWHEEL_OFF :关闭
|
||||
STR_CONFIG_PATCHES_SCROLLWHEEL_MULTIPLIER :{LTBLUE}地图滚动速度:{ORANGE}{STRING}
|
||||
|
||||
STR_CONFIG_PATCHES_RIGHT_MOUSE_BTN_EMU_OFF :关闭
|
||||
STR_CONFIG_PATCHES_PAUSE_ON_NEW_GAME :{LTBLUE}开始新游戏时自动暂停: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_ADVANCED_VEHICLE_LISTS :{LTBLUE}使用高级车辆列表: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_ADVANCED_VEHICLE_LISTS_OFF :关闭
|
||||
STR_CONFIG_PATCHES_ADVANCED_VEHICLE_LISTS_OWN :玩家公司
|
||||
STR_CONFIG_PATCHES_ADVANCED_VEHICLE_LISTS_ALL :全体公司
|
||||
STR_CONFIG_PATCHES_LOADING_INDICATORS :{LTBLUE}使用装货进度指示: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_LOADING_INDICATORS_OFF :关闭
|
||||
STR_CONFIG_PATCHES_LOADING_INDICATORS_OWN :玩家公司
|
||||
STR_CONFIG_PATCHES_LOADING_INDICATORS_ALL :全体公司
|
||||
STR_CONFIG_PATCHES_TIMETABLE_ALLOW :{LTBLUE}允许使用时间表: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_TIMETABLE_IN_TICKS :{LTBLUE}使用ticks而不是天为单位: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_DEFAULT_RAIL_TYPE :{LTBLUE}默认铁路类型 (新建/读取游戏后): {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_DEFAULT_RAIL_TYPE_RAIL :普通铁轨
|
||||
STR_CONFIG_PATCHES_DEFAULT_RAIL_TYPE_ELRAIL :电气化铁路
|
||||
STR_CONFIG_PATCHES_DEFAULT_RAIL_TYPE_MONORAIL :单轨铁路
|
||||
STR_CONFIG_PATCHES_DEFAULT_RAIL_TYPE_MAGLEV :磁悬浮
|
||||
STR_CONFIG_PATCHES_DEFAULT_RAIL_TYPE_FIRST :第一个可用的
|
||||
STR_CONFIG_PATCHES_DEFAULT_RAIL_TYPE_LAST :第后一个可用的
|
||||
STR_CONFIG_PATCHES_DEFAULT_RAIL_TYPE_MOST_USED :最常用的
|
||||
STR_CONFIG_PATCHES_ALWAYS_BUILD_INFRASTRUCTURE :{LTBLUE}当没有合适的运输工具时显示建设工具: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_MAX_TRAINS :{LTBLUE}每位玩家最大火车数量:{ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_MAX_ROADVEH :{LTBLUE}每位玩家最大汽车数量:{ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_MAX_AIRCRAFT :{LTBLUE}每位玩家最大飞机数量:{ORANGE}{STRING}
|
||||
@@ -1121,7 +1157,9 @@ STR_CONFIG_PATCHES_SMOOTH_ECONOMY :{LTBLUE}启用
|
||||
STR_CONFIG_PATCHES_ALLOW_SHARES :{LTBLUE}允许购买其他公司的股份
|
||||
STR_CONFIG_PATCHES_DRAG_SIGNALS_DENSITY :{LTBLUE}当拖动的时候每 {ORANGE}{STRING} 个地块放置一个信号灯
|
||||
STR_CONFIG_PATCHES_SEMAPHORE_BUILD_BEFORE_DATE :{LTBLUE}在 {ORANGE}{STRING} 前自动设置旗帜信号
|
||||
STR_CONFIG_PATCHES_ENABLE_SIGNAL_GUI :{LTBLUE}使用信号GUI: {ORANGE}{STRING}
|
||||
|
||||
STR_CONFIG_PATCHES_TOWN_LAYOUT_DEFAULT :默认
|
||||
|
||||
STR_CONFIG_PATCHES_TOOLBAR_POS :{LTBLUE}主工具栏位置:{ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_TOOLBAR_POS_LEFT :左侧
|
||||
@@ -1153,6 +1191,17 @@ STR_CONFIG_PATCHES_CURRENCY :{CURRENCY}
|
||||
STR_CONFIG_PATCHES_QUERY_CAPT :{WHITE}改变设置值
|
||||
STR_CONFIG_PATCHES_SERVICE_INTERVAL_INCOMPATIBLE :{WHITE}下面一个或多个保养周期的值设置不对,应当在 0%-90% 或 30-800 天之内。
|
||||
|
||||
STR_CONFIG_PATCHES_PATHFINDER_FOR_TRAINS_NTP :NTP {RED}(不推荐)
|
||||
STR_CONFIG_PATCHES_PATHFINDER_FOR_TRAINS_NPF :NPF
|
||||
STR_CONFIG_PATCHES_PATHFINDER_FOR_TRAINS_YAPF :YAPF {BLUE}(推荐)
|
||||
STR_CONFIG_PATCHES_PATHFINDER_FOR_ROADVEH :{LTBLUE}汽车寻路: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_PATHFINDER_FOR_ROADVEH_OPF :原始的 {RED}(不推荐)
|
||||
STR_CONFIG_PATCHES_PATHFINDER_FOR_ROADVEH_NPF :NPF
|
||||
STR_CONFIG_PATCHES_PATHFINDER_FOR_ROADVEH_YAPF :YAPF {BLUE}(推荐)
|
||||
STR_CONFIG_PATCHES_PATHFINDER_FOR_SHIPS :{LTBLUE}船只寻路: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_PATHFINDER_FOR_SHIPS_OPF :原始 {BLUE}(推荐)
|
||||
STR_CONFIG_PATCHES_PATHFINDER_FOR_SHIPS_NPF :NPF
|
||||
STR_CONFIG_PATCHES_PATHFINDER_FOR_SHIPS_YAPF :YAPF {RED}(不推荐)
|
||||
STR_TEMPERATE_LANDSCAPE :温带景观
|
||||
STR_SUB_ARCTIC_LANDSCAPE :寒带景观
|
||||
STR_SUB_TROPICAL_LANDSCAPE :沙漠景观
|
||||
@@ -1223,6 +1272,7 @@ STR_LANDINFO_LOCK :船闸
|
||||
|
||||
STR_BUOY_IS_IN_USE :{WHITE}浮标正在被使用……
|
||||
|
||||
STR_LANDINFO_COORDS :{BLACK}坐标: {LTBLUE}{NUM}x{NUM}x{NUM} ({STRING})
|
||||
|
||||
STR_CANT_REMOVE_PART_OF_STATION :{WHITE}不能拆除站台的一部分……
|
||||
STR_CANT_CONVERT_RAIL :{WHITE}不能转换铁路的类型……
|
||||
@@ -1333,18 +1383,20 @@ STR_NETWORK_SET_PASSWORD :{BLACK}设置
|
||||
STR_NETWORK_PASSWORD_TIP :{BLACK}如果不希望你的游戏被外人加入,请设置一个密码
|
||||
STR_NETWORK_SELECT_MAP :{BLACK}选择地图:
|
||||
STR_NETWORK_SELECT_MAP_TIP :{BLACK}选择你要玩的地图
|
||||
STR_NETWORK_NUMBER_OF_CLIENTS :{BLACK}玩家数目:
|
||||
STR_NETWORK_NUMBER_OF_CLIENTS_TIP :{BLACK}选择可以参加的玩家上限(达不到此数量仍然可以开始游戏)
|
||||
STR_NETWORK_LAN_INTERNET_COMBO :{BLACK}{SKIP}{STRING}
|
||||
STR_NETWORK_LAN :局域网
|
||||
STR_NETWORK_INTERNET :Internet
|
||||
STR_NETWORK_LAN_INTERNET :局域网 / Internet
|
||||
STR_NETWORK_INTERNET_ADVERTISE :Internet (advertise)
|
||||
STR_NETWORK_NUMBER_OF_CLIENTS :{BLACK}玩家数目:
|
||||
STR_NETWORK_NUMBER_OF_CLIENTS_TIP :{BLACK}选择可以参加的玩家上限(达不到此数量仍然可以开始游戏)
|
||||
STR_NETWORK_NUMBER_OF_COMPANIES :{BLACK}公司数量:
|
||||
STR_NETWORK_NUMBER_OF_COMPANIES_TIP :{BLACK}限制服务器上可以创建的公司数量
|
||||
STR_NETWORK_NUMBER_OF_SPECTATORS :{BLACK}旁观数量:
|
||||
STR_NETWORK_NUMBER_OF_SPECTATORS_TIP :{BLACK}限制服务器上旁观者的数量
|
||||
STR_NETWORK_LANGUAGE_SPOKEN :{BLACK}语言选项:
|
||||
STR_NETWORK_LANGUAGE_TIP :{BLACK}其他玩家可以知道服务器的官方语言
|
||||
STR_NETWORK_LANGUAGE_COMBO :{BLACK}{SKIP}{SKIP}{SKIP}{SKIP}{SKIP}{STRING}
|
||||
STR_NETWORK_START_GAME :{BLACK}开始游戏
|
||||
STR_NETWORK_START_GAME_TIP :{BLACK}以指定场景或随机地图开始游戏
|
||||
STR_NETWORK_LOAD_GAME :{BLACK}读取游戏
|
||||
@@ -1355,6 +1407,31 @@ STR_NETWORK_LANG_ANY :任意
|
||||
STR_NETWORK_LANG_ENGLISH :英语
|
||||
STR_NETWORK_LANG_GERMAN :德语
|
||||
STR_NETWORK_LANG_FRENCH :法语
|
||||
STR_NETWORK_LANG_BRAZILIAN :巴西语
|
||||
STR_NETWORK_LANG_BULGARIAN :保加利亚语
|
||||
STR_NETWORK_LANG_CHINESE :中文
|
||||
STR_NETWORK_LANG_CZECH :捷克语
|
||||
STR_NETWORK_LANG_DANISH :丹麦语
|
||||
STR_NETWORK_LANG_DUTCH :荷兰语
|
||||
STR_NETWORK_LANG_ESPERANTO :世界语
|
||||
STR_NETWORK_LANG_FINNISH :芬兰语
|
||||
STR_NETWORK_LANG_HUNGARIAN :匈牙利语
|
||||
STR_NETWORK_LANG_ICELANDIC :冰岛语
|
||||
STR_NETWORK_LANG_ITALIAN :意大利语
|
||||
STR_NETWORK_LANG_JAPANESE :日语
|
||||
STR_NETWORK_LANG_KOREAN :韩文
|
||||
STR_NETWORK_LANG_LITHUANIAN :立陶宛语
|
||||
STR_NETWORK_LANG_NORWEGIAN :挪威语
|
||||
STR_NETWORK_LANG_POLISH :波兰语
|
||||
STR_NETWORK_LANG_PORTUGUESE :葡萄牙语
|
||||
STR_NETWORK_LANG_ROMANIAN :罗马尼亚语
|
||||
STR_NETWORK_LANG_RUSSIAN :俄语
|
||||
STR_NETWORK_LANG_SLOVAK :斯洛伐克语
|
||||
STR_NETWORK_LANG_SLOVENIAN :斯洛文尼亚语
|
||||
STR_NETWORK_LANG_SPANISH :西班牙语
|
||||
STR_NETWORK_LANG_SWEDISH :瑞典语
|
||||
STR_NETWORK_LANG_TURKISH :土耳其语
|
||||
STR_NETWORK_LANG_UKRAINIAN :乌克兰语
|
||||
############ End of leave-in-this-order
|
||||
|
||||
STR_NETWORK_GAME_LOBBY :{WHITE}多用户通道
|
||||
@@ -1516,6 +1593,7 @@ STR_1004_TOO_HIGH :{WHITE}太高
|
||||
STR_1005_NO_SUITABLE_RAILROAD_TRACK :{WHITE}没有合适的铁轨
|
||||
STR_1007_ALREADY_BUILT :{WHITE}已经建好了……
|
||||
STR_1008_MUST_REMOVE_RAILROAD_TRACK :{WHITE}必须先拆除铁轨
|
||||
STR_ERR_CROSSING_ON_ONEWAY_ROAD :{WHITE}这是单行道或堵死了
|
||||
STR_100A_RAILROAD_CONSTRUCTION :{WHITE}铁路建设
|
||||
STR_TITLE_ELRAIL_CONSTRUCTION :{WHITE}电气化铁路建设
|
||||
STR_100B_MONORAIL_CONSTRUCTION :{WHITE}单轨铁路建设
|
||||
@@ -1546,7 +1624,9 @@ STR_1023_RAILROAD_TRAIN_DEPOT :列车车库
|
||||
STR_1024_AREA_IS_OWNED_BY_ANOTHER :{WHITE}此区域由另一公司所有……
|
||||
STR_RAILROAD_TRACK_WITH_NORMAL_SIGNALS :带有普通信号的铁路
|
||||
STR_RAILROAD_TRACK_WITH_PRESIGNALS :带有入口信号的铁路
|
||||
STR_RAILROAD_TRACK_WITH_EXITSIGNALS :带有出口新乡的铁路
|
||||
STR_RAILROAD_TRACK_WITH_EXITSIGNALS :带有出口信号的铁路
|
||||
STR_RAILROAD_TRACK_WITH_COMBOSIGNALS :双向信号灯的铁路
|
||||
STR_RAILROAD_TRACK_WITH_NORMAL_PRESIGNALS :单信号灯的铁路
|
||||
|
||||
|
||||
|
||||
@@ -1595,7 +1675,7 @@ STR_200A_TOWN_NAMES_CLICK_ON_NAME :{BLACK}城镇
|
||||
STR_200B_CENTER_THE_MAIN_VIEW_ON :{BLACK}将屏幕中心移动到城镇所在的位置
|
||||
STR_200C_CHANGE_TOWN_NAME :{BLACK}城镇改名
|
||||
STR_200D_PASSENGERS_LAST_MONTH_MAX :{BLACK}上月旅客数量:{ORANGE}{COMMA}{BLACK} 最大值:{ORANGE}{COMMA}
|
||||
STR_200E_MAIL_LAST_MONTH_MAX :{BLACK}上月有报数量:{ORANGE}{COMMA}{BLACK} 最大值:{ORANGE}{COMMA}
|
||||
STR_200E_MAIL_LAST_MONTH_MAX :{BLACK}上月邮包数量:{ORANGE}{COMMA}{BLACK} 最大值:{ORANGE}{COMMA}
|
||||
STR_200F_TALL_OFFICE_BLOCK :高层写字楼
|
||||
STR_2010_OFFICE_BLOCK :写字楼
|
||||
STR_2011_SMALL_BLOCK_OF_FLATS :底层住宅
|
||||
@@ -1715,7 +1795,7 @@ STR_3009_TOO_CLOSE_TO_ANOTHER_STATION :{WHITE}距离
|
||||
STR_300A_0 :{WHITE}{STATION} {STATIONFEATURES}
|
||||
STR_300B_MUST_DEMOLISH_RAILROAD :{WHITE}必须先拆除火车站
|
||||
STR_300D_TOO_CLOSE_TO_ANOTHER_AIRPORT :{WHITE}距离另一机场过近
|
||||
STR_300E_MUST_DEMOLISH_AIRPORT_FIRST :{WHITE}必须先拆出机场
|
||||
STR_300E_MUST_DEMOLISH_AIRPORT_FIRST :{WHITE}您必须先拆除机场
|
||||
|
||||
STR_3030_RENAME_STATION_LOADING :重命名车站
|
||||
STR_3031_CAN_T_RENAME_STATION :{WHITE}不能重命名车站
|
||||
@@ -2264,8 +2344,8 @@ STR_8032_TOY_VAN :玩具篷车
|
||||
STR_8033_BATTERY_TRUCK :电池挂车
|
||||
STR_8034_FIZZY_DRINK_TRUCK :跳跳汁挂车
|
||||
STR_8035_PLASTIC_TRUCK :塑料挂车
|
||||
STR_8036_X2001_ELECTRIC :'X2001' (Electric)
|
||||
STR_8037_MILLENNIUM_Z1_ELECTRIC :'Millennium Z1' (Electric)
|
||||
STR_8036_X2001_ELECTRIC :'X2001' (电力)
|
||||
STR_8037_MILLENNIUM_Z1_ELECTRIC :'Millennium Z1' (电力)
|
||||
STR_8038_WIZZOWOW_Z99 :Wizzowow Z99
|
||||
STR_8039_PASSENGER_CAR :旅客车厢
|
||||
STR_803A_MAIL_VAN :邮政车厢
|
||||
@@ -2336,7 +2416,7 @@ STR_807A_PLODDYPHUT_MKIII_BUS :Ploddyphut MkII
|
||||
STR_807B_BALOGH_COAL_TRUCK :Balogh 煤炭卡车
|
||||
STR_807C_UHL_COAL_TRUCK :Uhl 煤炭卡车
|
||||
STR_807D_DW_COAL_TRUCK :DW 煤炭卡车
|
||||
STR_807E_MPS_MAIL_TRUCK :MPS 煤炭卡车
|
||||
STR_807E_MPS_MAIL_TRUCK :MPS 邮政卡车
|
||||
STR_807F_REYNARD_MAIL_TRUCK :Reynard 邮政卡车
|
||||
STR_8080_PERRY_MAIL_TRUCK :Perry 邮政卡车
|
||||
STR_8081_MIGHTYMOVER_MAIL_TRUCK :MightyMover 邮政卡车
|
||||
|
@@ -1779,6 +1779,7 @@ STR_2002 :{TINYFONT}{BLAC
|
||||
STR_2002_WHITE :{TINYFONT}{WHITE}{SIGN}
|
||||
STR_2004_BUILDING_MUST_BE_DEMOLISHED :{WHITE}Budova sa musi zburat
|
||||
STR_2005 :{WHITE}{TOWN}
|
||||
STR_CITY :{WHITE}{TOWN} (Mesto)
|
||||
STR_2006_POPULATION :{BLACK}Obyvatelstvo: {ORANGE}{COMMA}{BLACK} Domov: {ORANGE}{COMMA}
|
||||
STR_2007_RENAME_TOWN :Premenovat mesto
|
||||
STR_2008_CAN_T_RENAME_TOWN :{WHITE}Mesto nemoze byt odstranene ...
|
||||
@@ -3192,6 +3193,10 @@ STR_NEWGRF_NOT_FOUND_WARNING :{WHITE}Cýbajú
|
||||
STR_NEWGRF_UNPAUSE_WARNING_TITLE :{YELLOW}Chýba(jú) GRF súbor(y)
|
||||
STR_NEWGRF_UNPAUSE_WARNING :{WHITE}Odpauzovanie môže spôsobit pád OpenTTD. Nezaznamenávajte nasledujúce chyby.{}Naozaj chcete odpauzovat?
|
||||
|
||||
STR_NEWGRF_BROKEN :{WHITE}Správanie NewGRF '{STRING}' asi sposobí desynchronizáciu a/alebo pád hry.
|
||||
STR_NEWGRF_BROKEN_VEHICLE_LENGTH :{WHITE}Zmenilo dlžku vozidla '{1:ENGINE}' mimo depa.
|
||||
STR_BROKEN_VEHICLE_LENGTH :{WHITE}Vlak '{VEHICLE}' patriaci '{COMPANY}' má neplatnu dlžku. Pravdeposobne to sposobil problém s NewGRF. Je možná desynchronizácia alebo pád hry.
|
||||
STR_LOADGAME_REMOVED_TRAMS :{WHITE}Hra bola uložená vo verzii bez elektriciek. Vsetky elektricky boli odstránené.
|
||||
STR_CURRENCY_WINDOW :{WHITE}Vlastná mena
|
||||
STR_CURRENCY_EXCHANGE_RATE :{LTBLUE}Kurz meny: {ORANGE}{CURRENCY} = £ {COMMA}
|
||||
STR_CURRENCY_SEPARATOR :{LTBLUE}Oddelovac:
|
||||
|
@@ -1757,6 +1757,7 @@ STR_2002 :{TINYFONT}{BLAC
|
||||
STR_2002_WHITE :{TINYFONT}{WHITE}{SIGN}
|
||||
STR_2004_BUILDING_MUST_BE_DEMOLISHED :{WHITE}Najprej mora biti stavba porušena
|
||||
STR_2005 :{WHITE}{TOWN}
|
||||
STR_CITY :{WHITE}{TOWN} (Mesto)
|
||||
STR_2006_POPULATION :{BLACK}Prebivalstvo: {ORANGE}{COMMA}{BLACK} Število stavb: {ORANGE}{COMMA}
|
||||
STR_2007_RENAME_TOWN :Preimenuj mesto
|
||||
STR_2008_CAN_T_RENAME_TOWN :{WHITE}Ne moreš preimenovati mesta ...
|
||||
@@ -3177,6 +3178,7 @@ STR_NEWGRF_ERROR_LOAD_AFTER :{STRING} je pot
|
||||
STR_NEWGRF_ERROR_OTTD_VERSION_NUMBER :{STRING} potrebuje OpenTTD različico {STRING} ali boljšo.
|
||||
STR_NEWGRF_ERROR_AFTER_TRANSLATED_FILE :GRF datoteka je bila narejena za prevod
|
||||
STR_NEWGRF_ERROR_TOO_MANY_NEWGRFS_LOADED :Preveč NewGrf-jev je naloženih.
|
||||
STR_NEWGRF_ERROR_STATIC_GRF_CAUSES_DESYNC :Nalaganje {STRING} kot statični NewGRF z/s {STRING} lahko povzroči desinhronizacijo.
|
||||
|
||||
STR_NEWGRF_ADD :{BLACK}Dodaj
|
||||
STR_NEWGRF_ADD_TIP :{BLACK}Dodaj NewGRF datoteko na seznam
|
||||
@@ -3208,6 +3210,7 @@ STR_NEWGRF_NOT_FOUND_WARNING :{WHITE}Manjkajo
|
||||
STR_NEWGRF_UNPAUSE_WARNING_TITLE :{YELLOW}Manjkajoče GRF datoteke
|
||||
STR_NEWGRF_UNPAUSE_WARNING :{WHITE}Izklop pavze lahko sesuje OpenTTD. Ne poročaj o napaki zaradi takih problemov.{}Zagotovo želiš izklopiti pavzo?
|
||||
|
||||
STR_LOADGAME_REMOVED_TRAMS :{WHITE}Igra je bila shranjena brez podpore za tramvaj. Vsi tramvaji so bili odstranjeni.
|
||||
STR_CURRENCY_WINDOW :{WHITE}Valuta po meri
|
||||
STR_CURRENCY_EXCHANGE_RATE :{LTBLUE}Menjalni tečaj: {ORANGE}{CURRENCY} = £ {COMMA}
|
||||
STR_CURRENCY_SEPARATOR :{LTBLUE}Ločitev:
|
||||
|
@@ -1020,7 +1020,7 @@ STR_CONFIG_PATCHES_OFF :No
|
||||
STR_CONFIG_PATCHES_ON :Sí
|
||||
STR_CONFIG_PATCHES_VEHICLESPEED :{LTBLUE}Mostrar velocidad del vehículo en la barra de estado: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_BUILDONSLOPES :{LTBLUE}Permitir la construcción en cuestas y orillas: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_AUTOSLOPE :{LTBLUE}Permitir pendientes bajo construcciones, carreteras, etc. (autopendiente): {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_AUTOSLOPE :{LTBLUE}Permitir pendientes bajo carreteras, etc. (autopendiente): {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_CATCHMENT :{LTBLUE}Permitir tamaño del área de captación más realista: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_EXTRADYNAMITE :{LTBLUE}Permitir demoler más propiedades de poblaciones: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_MAMMOTHTRAINS :{LTBLUE}Permitir la construcción de trenes muy largos: {ORANGE}{STRING}
|
||||
@@ -1190,7 +1190,7 @@ STR_CONFIG_PATCHES_TOWN_GROWTH_VERY_FAST :Muy rápida
|
||||
STR_CONFIG_PATCHES_LARGER_TOWNS :{LTBLUE}Proporción de ciudades que crecerán el doble de rápido: {ORANGE}1 de {STRING}
|
||||
STR_CONFIG_PATCHES_LARGER_TOWNS_DISABLED :{LTBLUE}Proporción de ciudades que crecerán el doble de rápido: {ORANGE}Ninguna
|
||||
STR_CONFIG_PATCHES_CITY_SIZE_MULTIPLIER :{LTBLUE}Multiplicador inicial tamaño de ciudad: {ORANGE}{STRING}
|
||||
STR_CONFIG_MODIFIED_ROAD_REBUILD :{LTBLUE}Quitar elementos absurdos de la carretera durante su construcción
|
||||
STR_CONFIG_MODIFIED_ROAD_REBUILD :{LTBLUE}Quitar absurdos de la carretera durante su construcción
|
||||
|
||||
STR_CONFIG_PATCHES_GUI :{BLACK}Interfaz
|
||||
STR_CONFIG_PATCHES_CONSTRUCTION :{BLACK}Construcción
|
||||
@@ -1716,6 +1716,7 @@ STR_2002 :{TINYFONT}{BLAC
|
||||
STR_2002_WHITE :{TINYFONT}{WHITE}{SIGN}
|
||||
STR_2004_BUILDING_MUST_BE_DEMOLISHED :{WHITE}El edificio debe demolerse primero
|
||||
STR_2005 :{WHITE}{TOWN}
|
||||
STR_CITY :{WHITE}{TOWN} (City)
|
||||
STR_2006_POPULATION :{BLACK}Habitantes: {ORANGE}{COMMA}{BLACK} Casas: {ORANGE}{COMMA}
|
||||
STR_2007_RENAME_TOWN :Renombrar población
|
||||
STR_2008_CAN_T_RENAME_TOWN :{WHITE}No se puede renombrar población...
|
||||
@@ -3098,6 +3099,7 @@ STR_NEWGRF_ERROR_LOAD_AFTER :{STRING} debe s
|
||||
STR_NEWGRF_ERROR_OTTD_VERSION_NUMBER :{STRING} requiere OpenTTD versión {STRING} o superior.
|
||||
STR_NEWGRF_ERROR_AFTER_TRANSLATED_FILE :el fichero GRF ha sido diseñado para ser traducido
|
||||
STR_NEWGRF_ERROR_TOO_MANY_NEWGRFS_LOADED :Demasiados NewGRFs han sido cargados.
|
||||
STR_NEWGRF_ERROR_STATIC_GRF_CAUSES_DESYNC :Cargar {STRING} como NewGRF estático con {STRING} puede causar desincronizaciones.
|
||||
|
||||
STR_NEWGRF_ADD :{BLACK}Añadir
|
||||
STR_NEWGRF_ADD_TIP :{BLACK}Añadir un NewGRF a la lista
|
||||
@@ -3129,6 +3131,9 @@ STR_NEWGRF_NOT_FOUND_WARNING :{WHITE}Fichero(
|
||||
STR_NEWGRF_UNPAUSE_WARNING_TITLE :{YELLOW}Fichero(s) GRF que faltan
|
||||
STR_NEWGRF_UNPAUSE_WARNING :{WHITE}Quitar la pausa puede hacer que se cierre OpenTTD. No notifique este error.{}¿Desea realmente quitar la pausa?
|
||||
|
||||
STR_NEWGRF_BROKEN_VEHICLE_LENGTH :{WHITE}Cambia la longitud del vehículo para '{1:ENGINE}' cuando no está dentro de un depósito
|
||||
STR_BROKEN_VEHICLE_LENGTH :{WHITE}Tren '{VEHICLE}' perteneciente a '{COMPANY}' tiene una longitud incorrecta. Puede ser debido a problemas con los NewGRF. El juego puede fallar.
|
||||
STR_LOADGAME_REMOVED_TRAMS :{WHITE}El juego ha sido grabado en una versión sin soporte de tranvía. Todos los tranvías serán eliminados.
|
||||
STR_CURRENCY_WINDOW :{WHITE}Moneda personalizada
|
||||
STR_CURRENCY_EXCHANGE_RATE :{LTBLUE}Tasa de cambio: {ORANGE}{CURRENCY} = £ {COMMA}
|
||||
STR_CURRENCY_SEPARATOR :{LTBLUE}Separador:
|
||||
|
@@ -1050,6 +1050,7 @@ STR_CONFIG_PATCHES_ALLOW_EXCLUSIVE :{LTBLUE}Tillåt
|
||||
STR_CONFIG_PATCHES_ALLOW_GIVE_MONEY :{LTBLUE}Tillåt skicka pengar till andra företag: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_NONUNIFORM_STATIONS :{LTBLUE}Icke-rektangulära stationer: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_FREIGHT_TRAINS :{LTBLUE}Godsfaktor för att simulera tunga tåg: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_PLANE_SPEED :{LTBLUE}Hastighetsfaktor för flygplan: {ORANGE}1 / {STRING}
|
||||
STR_CONFIG_PATCHES_STOP_ON_TOWN_ROAD :{LTBLUE}Tillåt genomfarts-stop på stadsägda vägar: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_ADJACENT_STATIONS :{LTBLUE}Tillåt byggande av närliggande stationer: {ORANGE}{STRING}
|
||||
|
||||
@@ -1204,6 +1205,18 @@ STR_CONFIG_PATCHES_CURRENCY :{CURRENCY}
|
||||
STR_CONFIG_PATCHES_QUERY_CAPT :{WHITE}Ändra inställningsvärde
|
||||
STR_CONFIG_PATCHES_SERVICE_INTERVAL_INCOMPATIBLE :{WHITE}Några eller alla av standard serviceintervalls-inställningarna är felaktiga! (5-90% och 30-800 dagar är giltiga inställningar)
|
||||
|
||||
STR_CONFIG_PATCHES_PATHFINDER_FOR_TRAINS :{LTBLUE}Vägfinnare för tåg: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_PATHFINDER_FOR_TRAINS_NTP :NTP {RED}(Ej rekommenderad)
|
||||
STR_CONFIG_PATCHES_PATHFINDER_FOR_TRAINS_NPF :NPF
|
||||
STR_CONFIG_PATCHES_PATHFINDER_FOR_TRAINS_YAPF :YAPF {BLUE}(Rekommenderad)
|
||||
STR_CONFIG_PATCHES_PATHFINDER_FOR_ROADVEH :{LTBLUE}Vägfinnare för vägfordon: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_PATHFINDER_FOR_ROADVEH_OPF :Original {RED}(Ej rekommenderad)
|
||||
STR_CONFIG_PATCHES_PATHFINDER_FOR_ROADVEH_NPF :NPF
|
||||
STR_CONFIG_PATCHES_PATHFINDER_FOR_ROADVEH_YAPF :YAPF {BLUE}(Rekommenderad)
|
||||
STR_CONFIG_PATCHES_PATHFINDER_FOR_SHIPS :{LTBLUE}Vägfinnare för skepp: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_PATHFINDER_FOR_SHIPS_OPF :Original {BLUE}(Rekommenderad)
|
||||
STR_CONFIG_PATCHES_PATHFINDER_FOR_SHIPS_NPF :NPF
|
||||
STR_CONFIG_PATCHES_PATHFINDER_FOR_SHIPS_YAPF :YAPF {RED}(Ej rekommenderad)
|
||||
|
||||
STR_TEMPERATE_LANDSCAPE :Tempererat landskap
|
||||
STR_SUB_ARCTIC_LANDSCAPE :Sub-arktiskt landskap
|
||||
@@ -1599,6 +1612,7 @@ STR_1004_TOO_HIGH :{WHITE}För hö
|
||||
STR_1005_NO_SUITABLE_RAILROAD_TRACK :{WHITE}Inget passande järnvägsspår
|
||||
STR_1007_ALREADY_BUILT :{WHITE}...redan byggd
|
||||
STR_1008_MUST_REMOVE_RAILROAD_TRACK :{WHITE}Måste ta bort järnväg först
|
||||
STR_ERR_CROSSING_ON_ONEWAY_ROAD :{WHITE}Vägen är enkelriktad eller blockerad
|
||||
STR_100A_RAILROAD_CONSTRUCTION :{WHITE}Bygg järnväg
|
||||
STR_TITLE_ELRAIL_CONSTRUCTION :{WHITE}Elektrifierad järnvägskonstruktion
|
||||
STR_100B_MONORAIL_CONSTRUCTION :{WHITE}Bygg monorail
|
||||
@@ -1701,6 +1715,7 @@ STR_2002 :{TINYFONT}{BLAC
|
||||
STR_2002_WHITE :{TINYFONT}{WHITE}{SIGN}
|
||||
STR_2004_BUILDING_MUST_BE_DEMOLISHED :{WHITE}Byggnad måste rivas först
|
||||
STR_2005 :{WHITE}{TOWN}
|
||||
STR_CITY :{WHITE}{TOWN} (Stad)
|
||||
STR_2006_POPULATION :{BLACK}Invånare: {ORANGE}{COMMA}{BLACK} Hus: {ORANGE}{COMMA}
|
||||
STR_2007_RENAME_TOWN :Byt namn på stad
|
||||
STR_2008_CAN_T_RENAME_TOWN :{WHITE}Kan inte byta namn på stad...
|
||||
@@ -3083,6 +3098,7 @@ STR_NEWGRF_ERROR_LOAD_AFTER :{STRING} måste
|
||||
STR_NEWGRF_ERROR_OTTD_VERSION_NUMBER :{STRING} kräver OpenTTD version {STRING} eller bättre.
|
||||
STR_NEWGRF_ERROR_AFTER_TRANSLATED_FILE :GRF-filen den var designad att översätta
|
||||
STR_NEWGRF_ERROR_TOO_MANY_NEWGRFS_LOADED :För många NewGRFer är laddade.
|
||||
STR_NEWGRF_ERROR_STATIC_GRF_CAUSES_DESYNC :Laddar {STRING} som statisk NewGRF med {STRING} kan orsaka osynk.
|
||||
|
||||
STR_NEWGRF_ADD :{BLACK}Lägg till
|
||||
STR_NEWGRF_ADD_TIP :{BLACK}Lägg till en ny NewGRF-fil till listan
|
||||
@@ -3114,6 +3130,7 @@ STR_NEWGRF_NOT_FOUND_WARNING :{WHITE}Saknas G
|
||||
STR_NEWGRF_UNPAUSE_WARNING_TITLE :{YELLOW}Saknad(e) GRF-fil(er)
|
||||
STR_NEWGRF_UNPAUSE_WARNING :{WHITE}Avpausning kan krascha OpenTTD. Skicka ej igen bugg-rapport för möjlig krasch.{}Är du säker att du vill avpausa?
|
||||
|
||||
STR_LOADGAME_REMOVED_TRAMS :{WHITE}Spelet sparades i en version som ej stöder spårvagn. Alla spårvagnar har tagits bort
|
||||
STR_CURRENCY_WINDOW :{WHITE}Egen valuta
|
||||
STR_CURRENCY_EXCHANGE_RATE :{LTBLUE}Växlingskurs: {ORANGE}{CURRENCY} = £ {COMMA}
|
||||
STR_CURRENCY_SEPARATOR :{LTBLUE}Avskiljare:
|
||||
@@ -3341,6 +3358,7 @@ STR_TRANSPARENT_INDUSTRIES_DESC :{BLACK}Växla g
|
||||
STR_TRANSPARENT_BUILDINGS_DESC :{BLACK}Växla genomskinlighet för byggnader såsom stationer, depåer, riktmärken eller kedjelinje
|
||||
STR_TRANSPARENT_BRIDGES_DESC :{BLACK}Växla genomskinlighet för industrier
|
||||
STR_TRANSPARENT_STRUCTURES_DESC :{BLACK}Växla genomskinlighet för byggnader såsom fyrar och antenner, kanske i framtiden även ögongodis
|
||||
STR_TRANSPARENT_CATENARY_DESC :{BLACK}Växla genomskinlighet för kedjebro. CTRL+klick för att låsa.
|
||||
STR_TRANSPARENT_LOADING_DESC :{BLACK}Växla genomskinlighet för lastningsindikatörer
|
||||
|
||||
STR_PERCENT_UP_SMALL :{TINYFONT}{WHITE}{NUM}%{UPARROW}
|
||||
|
@@ -15,6 +15,7 @@ STR_EMPTY :
|
||||
STR_0007_FLAT_LAND_REQUIRED :{WHITE}需要平地
|
||||
STR_0008_WAITING :{BLACK}等候:{WHITE}{STRING}
|
||||
STR_0009 :{WHITE}{CARGO}
|
||||
STR_EN_ROUTE_FROM :{YELLOW}({SHORTCARGO} 轉送自 {STATION})
|
||||
STR_000C_ACCEPTS :{BLACK}接受:{WHITE}
|
||||
STR_000D_ACCEPTS :{BLACK}接受:{GOLD}
|
||||
STR_000E :
|
||||
@@ -166,7 +167,7 @@ STR_00C6 :{SILVER}{CROSS}
|
||||
STR_00C7_QUIT :{WHITE}離開
|
||||
STR_00C8_YES :{BLACK}是
|
||||
STR_00C9_NO :{BLACK}否
|
||||
STR_00CA_ARE_YOU_SURE_YOU_WANT_TO :{YELLOW}你要放棄遊戲並回到 {STRING} 嗎?
|
||||
STR_00CA_ARE_YOU_SURE_YOU_WANT_TO :{YELLOW}您確定要放棄進行中的遊戲{}返回{STRING}?
|
||||
STR_00CB_1 :{BLACK}1
|
||||
STR_00CC_2 :{BLACK}2
|
||||
STR_00CD_3 :{BLACK}3
|
||||
@@ -281,12 +282,12 @@ STR_OSNAME_AMIGAOS :AmigaOS
|
||||
STR_OSNAME_OS2 :OS/2
|
||||
STR_OSNAME_SUNOS :SunOS
|
||||
|
||||
STR_013B_OWNED_BY :{WHITE}...{STRING} 所有
|
||||
STR_013B_OWNED_BY :{WHITE}... 擁有者是 {STRING}
|
||||
STR_013C_CARGO :{BLACK}貨物
|
||||
STR_013D_INFORMATION :{BLACK}資訊
|
||||
STR_013E_CAPACITIES :{BLACK}載量
|
||||
STR_013E_CAPACITIES :{BLACK}容量
|
||||
STR_TOTAL_CARGO :{BLACK}總貨物量
|
||||
STR_013F_CAPACITY :{BLACK}載量:{LTBLUE}{CARGO}
|
||||
STR_013F_CAPACITY :{BLACK}容量: {LTBLUE}{CARGO}
|
||||
STR_CAPACITY_MULT :{BLACK}載量:{LTBLUE}{CARGO} (x{NUM})
|
||||
STR_TOTAL_CAPACITY_TEXT :{BLACK}此列車的總載量:
|
||||
STR_TOTAL_CAPACITY :{LTBLUE}- {CARGO} ({SHORTCARGO})
|
||||
@@ -344,7 +345,7 @@ STR_0155_INCOME_GRAPH :收入圖表
|
||||
STR_0156_DELIVERED_CARGO_GRAPH :運載報表
|
||||
STR_0157_PERFORMANCE_HISTORY_GRAPH :業績歷史圖表
|
||||
STR_0158_COMPANY_VALUE_GRAPH :公司市值圖表
|
||||
STR_0159_CARGO_PAYMENT_RATES :貨物收費圖表
|
||||
STR_0159_CARGO_PAYMENT_RATES :公定運費報表
|
||||
STR_015A_COMPANY_LEAGUE_TABLE :公司排行榜
|
||||
STR_PERFORMANCE_DETAIL_MENU :詳細營運評比
|
||||
############ range for menu ends
|
||||
@@ -370,7 +371,7 @@ STR_SORT_BY_DATE :{BLACK}日期
|
||||
STR_SORT_BY_NUMBER :編號
|
||||
STR_SORT_BY_PROFIT_LAST_YEAR :上年盈利
|
||||
STR_SORT_BY_PROFIT_THIS_YEAR :本年盈利
|
||||
STR_SORT_BY_AGE :年齡
|
||||
STR_SORT_BY_AGE :使用年數
|
||||
STR_SORT_BY_RELIABILITY :可靠性
|
||||
STR_SORT_BY_TOTAL_CAPACITY_PER_CARGOTYPE :總容量,依貨物種類排序
|
||||
STR_SORT_BY_MAX_SPEED :最高速度
|
||||
@@ -381,9 +382,9 @@ STR_SORT_BY_WAITING :等候貨物總
|
||||
STR_SORT_BY_RATING_MAX :酬載評價
|
||||
STR_ENGINE_SORT_ENGINE_ID :引擎編號
|
||||
STR_ENGINE_SORT_COST :價值
|
||||
STR_ENGINE_SORT_POWER :輸出
|
||||
STR_ENGINE_SORT_POWER :功率
|
||||
STR_ENGINE_SORT_INTRO_DATE :登場日期
|
||||
STR_ENGINE_SORT_RUNNING_COST :運作費用
|
||||
STR_ENGINE_SORT_RUNNING_COST :營運費用
|
||||
STR_ENGINE_SORT_POWER_VS_RUNNING_COST :功率/營運費用
|
||||
STR_ENGINE_SORT_CARGO_CAPACITY :載貨量
|
||||
STR_NO_WAITING_CARGO :{BLACK}沒有任何酬載等候中
|
||||
@@ -435,8 +436,8 @@ STR_017B_DISPLAY_LIST_OF_COMPANY :{BLACK}顯示
|
||||
STR_017C_DISPLAY_LIST_OF_COMPANY :{BLACK}顯示公司擁有的公車/貨車
|
||||
STR_017D_DISPLAY_LIST_OF_COMPANY :{BLACK}顯示公司擁有的船隻
|
||||
STR_017E_DISPLAY_LIST_OF_COMPANY :{BLACK}顯示公司擁有的飛機
|
||||
STR_017F_ZOOM_THE_VIEW_IN :{BLACK}拉近視域
|
||||
STR_0180_ZOOM_THE_VIEW_OUT :{BLACK}拉遠視域
|
||||
STR_017F_ZOOM_THE_VIEW_IN :{BLACK}拉近場景
|
||||
STR_0180_ZOOM_THE_VIEW_OUT :{BLACK}拉遠場景
|
||||
STR_0181_BUILD_RAILROAD_TRACK :{BLACK}興建路軌設施
|
||||
STR_0182_BUILD_ROADS :{BLACK}興建道路設施
|
||||
STR_0183_BUILD_SHIP_DOCKS :{BLACK}興建碼頭設施
|
||||
@@ -471,7 +472,7 @@ STR_AGE :{COMMA} 年 ({C
|
||||
STR_AGE_RED :{RED}{COMMA} 年 ({COMMA})
|
||||
############ range for service numbers ends
|
||||
|
||||
STR_019C_ROAD_VEHICLE :車輛
|
||||
STR_019C_ROAD_VEHICLE :公車/貨車
|
||||
STR_019D_AIRCRAFT :飛機
|
||||
STR_019E_SHIP :船隻
|
||||
STR_019F_TRAIN :列車
|
||||
@@ -586,6 +587,9 @@ STR_0208_ACCIDENTS_DISASTERS :{YELLOW}意外
|
||||
STR_0209_COMPANY_INFORMATION :{YELLOW}公司資訊
|
||||
STR_NEWS_OPEN_CLOSE :{YELLOW}工業開張/倒閉消息
|
||||
STR_020A_ECONOMY_CHANGES :{YELLOW}經濟氣候變化
|
||||
STR_INDUSTRY_CHANGES_SERVED_BY_PLAYER :{YELLOW}工業提供給玩家的產量變更
|
||||
STR_INDUSTRY_CHANGES_SERVED_BY_OTHER :{YELLOW}工業提供給競爭者的產量變更
|
||||
STR_OTHER_INDUSTRY_PRODUCTION_CHANGES :{YELLOW}其他工業產量變更
|
||||
STR_020B_ADVICE_INFORMATION_ON_PLAYER :{YELLOW}給玩家的載具的建議或資訊
|
||||
STR_020C_NEW_VEHICLES :{YELLOW}新載具
|
||||
STR_020D_CHANGES_OF_CARGO_ACCEPTANCE :{YELLOW}接收貨物的改動
|
||||
@@ -674,53 +678,54 @@ STR_025E_FIZZY_DRINK_FACTORY :{BLACK}汽水
|
||||
STR_025F_BUBBLE_GENERATOR :{BLACK}泡泡工場
|
||||
STR_0260_TOFFEE_QUARRY :{BLACK}太妃糖礦場
|
||||
STR_0261_SUGAR_MINE :{BLACK}砂糖礦場
|
||||
STR_0262_CONSTRUCT_COAL_MINE :{BLACK}興建煤礦場
|
||||
STR_0262_CONSTRUCT_COAL_MINE :{BLACK}興建煤礦
|
||||
STR_0263_CONSTRUCT_POWER_STATION :{BLACK}興建發電廠
|
||||
STR_0264_CONSTRUCT_SAWMILL :{BLACK}興建鋸木廠
|
||||
STR_0265_PLANT_FOREST :{BLACK}植林
|
||||
STR_0265_PLANT_FOREST :{BLACK}種植森林
|
||||
STR_0266_CONSTRUCT_OIL_REFINERY :{BLACK}興建煉油廠
|
||||
STR_0267_CONSTRUCT_OIL_RIG_CAN_ONLY :{BLACK}興建油井 (只能在地圖邊緣興建)
|
||||
STR_0267_CONSTRUCT_OIL_RIG_CAN_ONLY :{BLACK}興建鑽油平台 (只能建在地圖邊緣)
|
||||
STR_0268_CONSTRUCT_FACTORY :{BLACK}興建工廠
|
||||
STR_0269_CONSTRUCT_STEEL_MILL :{BLACK}興建鋼廠
|
||||
STR_0269_CONSTRUCT_STEEL_MILL :{BLACK}興建煉鋼廠
|
||||
STR_026A_CONSTRUCT_FARM :{BLACK}興建農場
|
||||
STR_026B_CONSTRUCT_IRON_ORE_MINE :{BLACK}興建鐵礦場
|
||||
STR_026B_CONSTRUCT_IRON_ORE_MINE :{BLACK}興建鐵礦
|
||||
STR_026C_CONSTRUCT_OIL_WELLS :{BLACK}興建油井
|
||||
STR_026D_CONSTRUCT_BANK_CAN_ONLY :{BLACK}開設銀行 (只能在人口高於 1200 的市鎮內開設)
|
||||
STR_026D_CONSTRUCT_BANK_CAN_ONLY :{BLACK}興建銀行 (只能建在1200人以上的城鎮)
|
||||
STR_026E_CONSTRUCT_PAPER_MILL :{BLACK}興建造紙廠
|
||||
STR_026F_CONSTRUCT_FOOD_PROCESSING :{BLACK}興建食物加工廠
|
||||
STR_026F_CONSTRUCT_FOOD_PROCESSING :{BLACK}興建食物處理廠
|
||||
STR_0270_CONSTRUCT_PRINTING_WORKS :{BLACK}興建印刷廠
|
||||
STR_0271_CONSTRUCT_GOLD_MINE :{BLACK}興建金礦場
|
||||
STR_0272_CONSTRUCT_BANK_CAN_ONLY :{BLACK}開設銀行 (只能在市鎮內開設)
|
||||
STR_0273_CONSTRUCT_LUMBER_MILL_TO :{BLACK}興建鋸木廠 (砍伐雨林出產木材)
|
||||
STR_0271_CONSTRUCT_GOLD_MINE :{BLACK}興建金礦
|
||||
STR_0272_CONSTRUCT_BANK_CAN_ONLY :{BLACK}興建銀行 (只能建在城鎮裡)
|
||||
STR_0273_CONSTRUCT_LUMBER_MILL_TO :{BLACK}興建鋸木場 (清除雨林製造木材)
|
||||
STR_0274_PLANT_FRUIT_PLANTATION :{BLACK}種植蔬果園
|
||||
STR_0275_PLANT_RUBBER_PLANTATION :{BLACK}種植橡膠樹林
|
||||
STR_0276_CONSTRUCT_WATER_SUPPLY :{BLACK}興建供水站
|
||||
STR_0277_CONSTRUCT_WATER_TOWER_CAN :{BLACK}興建儲水塔 (只能在市鎮內興建)
|
||||
STR_0278_CONSTRUCT_DIAMOND_MINE :{BLACK}興建鑽石礦場
|
||||
STR_0279_CONSTRUCT_COPPER_ORE_MINE :{BLACK}興建銅礦場
|
||||
STR_0275_PLANT_RUBBER_PLANTATION :{BLACK}種植橡膠樹園
|
||||
STR_0276_CONSTRUCT_WATER_SUPPLY :{BLACK}興建供水場
|
||||
STR_0277_CONSTRUCT_WATER_TOWER_CAN :{BLACK}興建水塔 (只能建在城鎮裡)
|
||||
STR_0278_CONSTRUCT_DIAMOND_MINE :{BLACK}興建鑽石礦
|
||||
STR_0279_CONSTRUCT_COPPER_ORE_MINE :{BLACK}興建銅礦
|
||||
STR_027A_PLANT_COTTON_CANDY_FOREST :{BLACK}種植棉花糖森林
|
||||
STR_027B_CONSTRUCT_CANDY_FACTORY :{BLACK}興建糖果工廠
|
||||
STR_027C_CONSTRUCT_BATTERY_FARM :{BLACK}興建電池農場
|
||||
STR_027D_CONSTRUCT_COLA_WELLS :{BLACK}興建可樂井
|
||||
STR_027E_CONSTRUCT_TOY_SHOP :{BLACK}設立玩具店
|
||||
STR_027E_CONSTRUCT_TOY_SHOP :{BLACK}興建玩具店
|
||||
STR_027F_CONSTRUCT_TOY_FACTORY :{BLACK}興建玩具工廠
|
||||
STR_0280_CONSTRUCT_PLASTIC_FOUNTAINS :{BLACK}興建塑膠噴泉
|
||||
STR_0281_CONSTRUCT_FIZZY_DRINK_FACTORY :{BLACK}興建汽水工廠
|
||||
STR_0282_CONSTRUCT_BUBBLE_GENERATOR :{BLACK}興建泡泡產生器
|
||||
STR_0283_CONSTRUCT_TOFFEE_QUARRY :{BLACK}興建太妃糖礦場
|
||||
STR_0284_CONSTRUCT_SUGAR_MINE :{BLACK}興建砂糖礦場
|
||||
STR_0284_CONSTRUCT_SUGAR_MINE :{BLACK}興建糖礦
|
||||
STR_0285_CAN_T_BUILD_HERE :{WHITE}不能在這裡建造 {STRING} ...
|
||||
STR_0286_MUST_BUILD_TOWN_FIRST :{WHITE}...先要建造市鎮
|
||||
STR_0286_MUST_BUILD_TOWN_FIRST :{WHITE}...應先建造市鎮
|
||||
STR_0287_ONLY_ONE_ALLOWED_PER_TOWN :{WHITE}...每個市鎮僅允許一個
|
||||
STR_0288_PLANT_TREES :{BLACK}植樹
|
||||
STR_0289_PLACE_SIGN :{BLACK}設置標誌
|
||||
STR_028A_RANDOM_TREES :{BLACK}隨機樹種
|
||||
STR_028B_PLANT_TREES_RANDOMLY_OVER :{BLACK}在場景上隨機植樹
|
||||
STR_028C_PLACE_ROCKY_AREAS_ON_LANDSCAPE :{BLACK}在場景上產生岩石區
|
||||
STR_028D_PLACE_LIGHTHOUSE :{BLACK}建立燈塔
|
||||
STR_028E_PLACE_TRANSMITTER :{BLACK}建立發射站
|
||||
STR_028D_PLACE_LIGHTHOUSE :{BLACK}放置燈塔
|
||||
STR_028E_PLACE_TRANSMITTER :{BLACK}放置天線塔
|
||||
STR_028F_DEFINE_DESERT_AREA :{BLACK}定義沙漠區。{}請按住 CTRL 移除
|
||||
STR_CREATE_LAKE :{BLACK}劃出湖泊範圍。{}開鑿運河。在海平面上按 CTRL 鍵則會淹沒週遭土地
|
||||
STR_CREATE_RIVER :{BLACK}劃出河流範圍
|
||||
STR_0290_DELETE :{BLACK}刪除
|
||||
STR_0291_DELETE_THIS_TOWN_COMPLETELY :{BLACK}完全移除這個市鎮
|
||||
STR_0292_SAVE_SCENARIO :儲存場景
|
||||
@@ -738,7 +743,7 @@ STR_PLAY_HEIGHTMAP_HINT :{BLACK}以高
|
||||
STR_QUIT_SCENARIO_QUERY :{YELLOW}你要離開這個場景嗎?
|
||||
STR_029C_QUIT_EDITOR :{WHITE}離開編輯器
|
||||
STR_029D_CAN_ONLY_BE_BUILT_IN_TOWNS :{WHITE}...只能在市鎮人口超過 1200 人的地方建造
|
||||
STR_029E_MOVE_THE_STARTING_DATE :{BLACK}將開始時間提早一年
|
||||
STR_029E_MOVE_THE_STARTING_DATE :{BLACK}將開始時間往前 1 年
|
||||
STR_029F_MOVE_THE_STARTING_DATE :{BLACK}將開始時間往後一年
|
||||
STR_02A0_ENDS_OF_BRIDGE_MUST_BOTH :{WHITE}...橋樑的兩端應該在陸地上
|
||||
STR_02A1_SMALL :{BLACK}小型
|
||||
@@ -805,9 +810,9 @@ STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN_TT :{BLACK}將這
|
||||
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}將主視野移到視窗視野
|
||||
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW_TT :{BLACK}將主視野移到這個視窗的視野位置
|
||||
|
||||
STR_02E0_CURRENCY_UNITS :{BLACK}貨幣單位
|
||||
STR_02E0_CURRENCY_UNITS :{BLACK}幣值單位
|
||||
STR_02E1 :{BLACK}{SKIP}{STRING}
|
||||
STR_02E2_CURRENCY_UNITS_SELECTION :{BLACK}選擇貨幣單位
|
||||
STR_02E2_CURRENCY_UNITS_SELECTION :{BLACK}選擇幣值單位
|
||||
STR_MEASURING_UNITS :{BLACK}度量單位
|
||||
STR_02E4 :{BLACK}{SKIP}{SKIP}{STRING}
|
||||
STR_MEASURING_UNITS_SELECTION :{BLACK}度量單位
|
||||
@@ -829,7 +834,7 @@ STR_02F9_EVERY_6_MONTHS :每六個月
|
||||
STR_02FA_EVERY_12_MONTHS :每十二個月
|
||||
STR_02FB_START_A_NEW_GAME :{BLACK}開始新遊戲
|
||||
STR_02FC_LOAD_A_SAVED_GAME :{BLACK}載入舊遊戲
|
||||
STR_02FE_CREATE_A_CUSTOMIZED_GAME :{BLACK}建立自訂遊戲場景
|
||||
STR_02FE_CREATE_A_CUSTOMIZED_GAME :{BLACK}建立自訂遊戲世界/劇本
|
||||
STR_02FF_SELECT_SINGLE_PLAYER_GAME :{BLACK}選擇單人單機遊戲
|
||||
STR_0300_SELECT_MULTIPLAYER_GAME :{BLACK}選擇 2 ~ 8 人的連線遊戲
|
||||
STR_0301_DISPLAY_GAME_OPTIONS :{BLACK}顯示遊戲選項
|
||||
@@ -930,6 +935,7 @@ STR_OPTIONS_LANG_TIP :{BLACK}介面
|
||||
|
||||
STR_OPTIONS_FULLSCREEN :{BLACK}全螢幕
|
||||
STR_OPTIONS_FULLSCREEN_TIP :{BLACK}勾選即可以全螢幕玩 OpenTTD
|
||||
STR_FULLSCREEN_FAILED :{WHITE}無法切換全螢幕模式
|
||||
|
||||
STR_OPTIONS_RES :{BLACK}螢幕解析度
|
||||
STR_OPTIONS_RES_CBO :{BLACK}{SKIP}{SKIP}{SKIP}{SKIP}{SKIP}{SKIP}{SKIP}{STRING}
|
||||
@@ -955,8 +961,8 @@ STR_MONTH_OCT :十月
|
||||
STR_MONTH_NOV :十一月
|
||||
STR_MONTH_DEC :十二月
|
||||
|
||||
STR_HEADING_FOR_STATION :{LTBLUE}目的地:{STATION}
|
||||
STR_HEADING_FOR_STATION_VEL :{LTBLUE}目的地:{STATION},{VELOCITY}
|
||||
STR_HEADING_FOR_STATION :{LTBLUE}正前往: {STATION}
|
||||
STR_HEADING_FOR_STATION_VEL :{LTBLUE}正前往: {STATION}, {VELOCITY}
|
||||
STR_NO_ORDERS :{LTBLUE}沒有指令
|
||||
STR_NO_ORDERS_VEL :{LTBLUE}沒有指令, {VELOCITY}
|
||||
|
||||
@@ -1005,7 +1011,7 @@ STR_SHIP_AUTORENEW_FAILED :{WHITE}輪船 {
|
||||
STR_AIRCRAFT_AUTORENEW_FAILED :{WHITE}飛機 {COMMA}自動翻新失敗 (金錢限制)
|
||||
STR_TRAIN_TOO_LONG_AFTER_REPLACEMENT :{WHITE}置換後列車 {COMMA} 過長
|
||||
|
||||
STR_CONFIG_PATCHES :{BLACK}設置修正
|
||||
STR_CONFIG_PATCHES :{BLACK}設定補綴
|
||||
STR_CONFIG_PATCHES_TIP :{BLACK}設置修正選項
|
||||
STR_CONFIG_PATCHES_CAPTION :{WHITE}設置修正
|
||||
|
||||
@@ -1044,6 +1050,7 @@ STR_CONFIG_PATCHES_ALLOW_EXCLUSIVE :{LTBLUE}允許
|
||||
STR_CONFIG_PATCHES_ALLOW_GIVE_MONEY :{LTBLUE}允許資金流通給其他公司:{ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_NONUNIFORM_STATIONS :{LTBLUE}不規則形狀車站:{ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_FREIGHT_TRAINS :{LTBLUE}貨物重量系數,以模擬較重列車:{ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_PLANE_SPEED :{LTBLUE}飛機速度比例:{ORANGE}{STRING} 分之一
|
||||
STR_CONFIG_PATCHES_STOP_ON_TOWN_ROAD :{LTBLUE}可在鎮內興建路邊車站:{ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_ADJACENT_STATIONS :{LTBLUE}容許興建相鄰車站: {ORANGE}{STRING}
|
||||
|
||||
@@ -1058,7 +1065,7 @@ STR_CONFIG_PATCHES_WARN_INCOME_LESS :{LTBLUE}於列
|
||||
STR_CONFIG_PATCHES_NEVER_EXPIRE_VEHICLES :{LTBLUE}運輸工具永遠不會過期:{ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_AUTORENEW_VEHICLE :{LTBLUE}運輸工具自動翻新
|
||||
STR_CONFIG_PATCHES_AUTORENEW_MONTHS :{LTBLUE}當運具在使用年限 {ORANGE}{STRING}{LTBLUE} 個月前/後自動更新
|
||||
STR_CONFIG_PATCHES_AUTORENEW_MONEY :{LTBLUE}自動翻新最低費用:{ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_AUTORENEW_MONEY :{LTBLUE}自動翻新所需最低餘額: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_ERRMSG_DURATION :{LTBLUE}錯誤訊息顯示時間:{ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_POPULATION_IN_LABEL :{LTBLUE}於標籤顯示市鎮人口:{ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_INVISIBLE_TREES :{LTBLUE}選擇半透明建築物時將樹木隱藏:{ORANGE}{STRING}
|
||||
@@ -1128,35 +1135,35 @@ STR_CONFIG_PATCHES_ALWAYS_BUILD_INFRASTRUCTURE :{LTBLUE}即使
|
||||
STR_CONFIG_PATCHES_MAX_TRAINS :{LTBLUE}每位玩家可擁有列車數目:{ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_MAX_ROADVEH :{LTBLUE}每位玩家可擁有車輛數目:{ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_MAX_AIRCRAFT :{LTBLUE}每位玩家可擁有飛機數目:{ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_MAX_SHIPS :{LTBLUE}每位玩家可擁有船舶數目:{ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_MAX_SHIPS :{LTBLUE}每位玩家可擁有船舶數目: {ORANGE}{STRING}
|
||||
|
||||
STR_CONFIG_PATCHES_AI_BUILDS_TRAINS :{LTBLUE}電腦不可擁有列車:{ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_AI_BUILDS_ROADVEH :{LTBLUE}電腦不可擁有路面車輛:{ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_AI_BUILDS_AIRCRAFT :{LTBLUE}電腦不可擁有飛機:{ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_AI_BUILDS_SHIPS :{LTBLUE}電腦不可擁有飛機:{ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_AI_BUILDS_TRAINS :{LTBLUE}不允許電腦使用鐵道: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_AI_BUILDS_ROADVEH :{LTBLUE}不允許電腦使用汽車: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_AI_BUILDS_AIRCRAFT :{LTBLUE}不允許電腦使用飛機: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_AI_BUILDS_SHIPS :{LTBLUE}不允許電腦使用船舶: {ORANGE}{STRING}
|
||||
|
||||
STR_CONFIG_PATCHES_AINEW_ACTIVE :{LTBLUE}使用新人工智能 (開發階段):{ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_AI_IN_MULTIPLAYER :{LTBLUE}可於連線遊戲加入電腦對手 (測試階段):{ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_AINEW_ACTIVE :{LTBLUE}起動新 AI (早期測試中): {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_AI_IN_MULTIPLAYER :{LTBLUE}允許多人連線時使用 AI (實驗中): {ORANGE}{STRING}
|
||||
|
||||
STR_CONFIG_PATCHES_SERVINT_TRAINS :{LTBLUE}列車預設檢修頻率:{ORANGE}{STRING} 日/%
|
||||
STR_CONFIG_PATCHES_SERVINT_TRAINS_DISABLED :{LTBLUE}列車預設檢修頻率:{ORANGE}關閉
|
||||
STR_CONFIG_PATCHES_SERVINT_ROADVEH :{LTBLUE}路面車輛預設檢修頻率:{ORANGE}{STRING} 日/%
|
||||
STR_CONFIG_PATCHES_SERVINT_ROADVEH_DISABLED :{LTBLUE}路面車輛預設檢修頻率:{ORANGE}關閉
|
||||
STR_CONFIG_PATCHES_SERVINT_AIRCRAFT :{LTBLUE}飛機預設檢修頻率:{ORANGE}{STRING} 日/%
|
||||
STR_CONFIG_PATCHES_SERVINT_AIRCRAFT_DISABLED :{LTBLUE}飛機預設檢修頻率:{ORANGE}關閉
|
||||
STR_CONFIG_PATCHES_SERVINT_SHIPS :{LTBLUE}船隻預設檢修頻率:{ORANGE}{STRING} 日/%
|
||||
STR_CONFIG_PATCHES_SERVINT_SHIPS_DISABLED :{LTBLUE}船隻預設檢修頻率:{ORANGE}關閉
|
||||
STR_CONFIG_PATCHES_NOSERVICE :{LTBLUE}當故障關閉時不作定期檢查維修:{ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_WAGONSPEEDLIMITS :{LTBLUE}載具速度限制:{ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_DISABLE_ELRAILS :{LTBLUE}電氣化鐵路:{ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_SERVINT_TRAINS :{LTBLUE}列車預設維護間隔: {ORANGE}{STRING} 天/%
|
||||
STR_CONFIG_PATCHES_SERVINT_TRAINS_DISABLED :{LTBLUE}列車預設維護間隔: {ORANGE}關閉
|
||||
STR_CONFIG_PATCHES_SERVINT_ROADVEH :{LTBLUE}汽車預設維護間隔: {ORANGE}{STRING} 天/%
|
||||
STR_CONFIG_PATCHES_SERVINT_ROADVEH_DISABLED :{LTBLUE}汽車預設維護間隔: {ORANGE}關閉
|
||||
STR_CONFIG_PATCHES_SERVINT_AIRCRAFT :{LTBLUE}飛機預設維護間隔: {ORANGE}{STRING} 天/%
|
||||
STR_CONFIG_PATCHES_SERVINT_AIRCRAFT_DISABLED :{LTBLUE}飛機預設維護間隔: {ORANGE}關閉
|
||||
STR_CONFIG_PATCHES_SERVINT_SHIPS :{LTBLUE}船舶預設維護間隔: {ORANGE}{STRING} 天/%
|
||||
STR_CONFIG_PATCHES_SERVINT_SHIPS_DISABLED :{LTBLUE}船舶預設維護間隔: {ORANGE}關閉
|
||||
STR_CONFIG_PATCHES_NOSERVICE :{LTBLUE}關閉運具故障之後也不自動維護: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_WAGONSPEEDLIMITS :{LTBLUE}起動列車車廂速限: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_DISABLE_ELRAILS :{LTBLUE}關閉電氣化鐵道: {ORANGE}{STRING}
|
||||
|
||||
STR_CONFIG_PATCHES_COLORED_NEWS_YEAR :{LTBLUE}彩色報紙出現於:{ORANGE}{STRING} 年
|
||||
STR_CONFIG_PATCHES_STARTING_YEAR :{LTBLUE}開始時間:{ORANGE}{STRING} 年
|
||||
STR_CONFIG_PATCHES_ENDING_YEAR :{LTBLUE}終結遊戲年份:{ORANGE}{STRING} 年
|
||||
STR_CONFIG_PATCHES_SMOOTH_ECONOMY :{LTBLUE}平滑經濟模式 (更多而小的變化)
|
||||
STR_CONFIG_PATCHES_ALLOW_SHARES :{LTBLUE}可以從對手購入股份
|
||||
STR_CONFIG_PATCHES_DRAG_SIGNALS_DENSITY :{LTBLUE}拖放時訊號燈之間距離:{ORANGE}{STRING} 格
|
||||
STR_CONFIG_PATCHES_SEMAPHORE_BUILD_BEFORE_DATE :{LTBLUE}於日期前自動建立舊式號誌臂:{ORANGE}{STRING}年
|
||||
STR_CONFIG_PATCHES_COLORED_NEWS_YEAR :{LTBLUE}彩色報紙登場年份: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_STARTING_YEAR :{LTBLUE}開始年份: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_ENDING_YEAR :{LTBLUE}遊戲結束年份: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_SMOOTH_ECONOMY :{LTBLUE}起動平順經濟 (更多、更小變動)
|
||||
STR_CONFIG_PATCHES_ALLOW_SHARES :{LTBLUE}允許購買其它公司的股票
|
||||
STR_CONFIG_PATCHES_DRAG_SIGNALS_DENSITY :{LTBLUE}拖拉時每隔: {ORANGE}{STRING} 格自動建造號誌
|
||||
STR_CONFIG_PATCHES_SEMAPHORE_BUILD_BEFORE_DATE :{LTBLUE}自動在指定年份前建造臂木號誌: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_ENABLE_SIGNAL_GUI :{LTBLUE}啟用號誌介面:{ORANGE}{STRING}
|
||||
|
||||
STR_CONFIG_PATCHES_TOWN_LAYOUT_INVALID :{WHITE}在場景編輯器中,"市鎮道路不再規劃" 是不可行的
|
||||
@@ -1167,12 +1174,12 @@ STR_CONFIG_PATCHES_TOWN_LAYOUT_BETTER_ROADS :較好的規劃
|
||||
STR_CONFIG_PATCHES_TOWN_LAYOUT_2X2_GRID :2乘2網格
|
||||
STR_CONFIG_PATCHES_TOWN_LAYOUT_3X3_GRID :3乘3網格
|
||||
|
||||
STR_CONFIG_PATCHES_TOOLBAR_POS :{LTBLUE}主工具列位置:{ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_TOOLBAR_POS :{LTBLUE}主工具列位置: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_TOOLBAR_POS_LEFT :左
|
||||
STR_CONFIG_PATCHES_TOOLBAR_POS_CENTER :中
|
||||
STR_CONFIG_PATCHES_TOOLBAR_POS_CENTER :中央
|
||||
STR_CONFIG_PATCHES_TOOLBAR_POS_RIGHT :右
|
||||
STR_CONFIG_PATCHES_SNAP_RADIUS :{LTBLUE}視窗自動黏貼範圍:{ORANGE}{STRING} 像素
|
||||
STR_CONFIG_PATCHES_SNAP_RADIUS_DISABLED :{LTBLUE}視窗自動黏貼範圍:{ORANGE}關閉
|
||||
STR_CONFIG_PATCHES_SNAP_RADIUS :{LTBLUE}視窗黏接距離: {ORANGE}{STRING} px
|
||||
STR_CONFIG_PATCHES_SNAP_RADIUS_DISABLED :{LTBLUE}視窗黏接距離: {ORANGE}關閉
|
||||
STR_CONFIG_PATCHES_TOWN_GROWTH :{LTBLUE}城市增長速度: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_TOWN_GROWTH_NONE :不會增長
|
||||
STR_CONFIG_PATCHES_TOWN_GROWTH_SLOW :慢
|
||||
@@ -1185,92 +1192,104 @@ STR_CONFIG_PATCHES_CITY_SIZE_MULTIPLIER :{LTBLUE}市鎮
|
||||
STR_CONFIG_MODIFIED_ROAD_REBUILD :{LTBLUE}在鋪設道路時移除不合理的路面
|
||||
|
||||
STR_CONFIG_PATCHES_GUI :{BLACK}介面
|
||||
STR_CONFIG_PATCHES_CONSTRUCTION :{BLACK}建築
|
||||
STR_CONFIG_PATCHES_VEHICLES :{BLACK}運輸工具
|
||||
STR_CONFIG_PATCHES_CONSTRUCTION :{BLACK}建造
|
||||
STR_CONFIG_PATCHES_VEHICLES :{BLACK}運具
|
||||
STR_CONFIG_PATCHES_STATIONS :{BLACK}車站
|
||||
STR_CONFIG_PATCHES_ECONOMY :{BLACK}經濟
|
||||
STR_CONFIG_PATCHES_AI :{BLACK}對手
|
||||
STR_CONFIG_PATCHES_AI :{BLACK}競爭對手
|
||||
|
||||
STR_CONFIG_PATCHES_DISABLED :關
|
||||
STR_CONFIG_PATCHES_DISABLED :關閉
|
||||
STR_CONFIG_PATCHES_INT32 :{NUM}
|
||||
STR_CONFIG_PATCHES_CURRENCY :{CURRENCY}
|
||||
|
||||
STR_CONFIG_PATCHES_QUERY_CAPT :{WHITE}改變設定值
|
||||
STR_CONFIG_PATCHES_SERVICE_INTERVAL_INCOMPATIBLE :{WHITE}以下預設檢修期與揀選項目不相容! 合法設定為 5-90% 或 30-800 日
|
||||
STR_CONFIG_PATCHES_QUERY_CAPT :{WHITE}修改設定值
|
||||
STR_CONFIG_PATCHES_SERVICE_INTERVAL_INCOMPATIBLE :{WHITE}下面有些預設維護間隔與選定的設定不相容!5-90% 與 30-800 天是允許範圍
|
||||
|
||||
STR_CONFIG_PATCHES_PATHFINDER_FOR_TRAINS :{LTBLUE}列車的路徑搜尋方式:{ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_PATHFINDER_FOR_TRAINS_NTP :NTP {RED}(不建議)
|
||||
STR_CONFIG_PATCHES_PATHFINDER_FOR_TRAINS_NPF :NPF
|
||||
STR_CONFIG_PATCHES_PATHFINDER_FOR_TRAINS_YAPF :YAPF {BLUE}(建議)
|
||||
STR_CONFIG_PATCHES_PATHFINDER_FOR_ROADVEH :{LTBLUE}車輛的路徑搜尋方式:{ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_PATHFINDER_FOR_ROADVEH_OPF :預設 {RED}(不建議)
|
||||
STR_CONFIG_PATCHES_PATHFINDER_FOR_ROADVEH_NPF :NPF
|
||||
STR_CONFIG_PATCHES_PATHFINDER_FOR_ROADVEH_YAPF :YAPF {BLUE}(建議)
|
||||
STR_CONFIG_PATCHES_PATHFINDER_FOR_SHIPS :{LTBLUE}船隻的路徑搜尋方式:{ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_PATHFINDER_FOR_SHIPS_OPF :預設 {BLUE}(建議)
|
||||
STR_CONFIG_PATCHES_PATHFINDER_FOR_SHIPS_NPF :NPF
|
||||
STR_CONFIG_PATCHES_PATHFINDER_FOR_SHIPS_YAPF :YAPF {RED}(不建議)
|
||||
STR_TEMPERATE_LANDSCAPE :溫帶
|
||||
STR_SUB_ARCTIC_LANDSCAPE :亞北極帶
|
||||
STR_SUB_ARCTIC_LANDSCAPE :寒帶
|
||||
STR_SUB_TROPICAL_LANDSCAPE :亞熱帶
|
||||
STR_TOYLAND_LANDSCAPE :玩具世界
|
||||
|
||||
STR_CHEATS :{WHITE}作弊
|
||||
STR_CHEATS_TIP :{BLACK}被勾選的項目表示你之前用過這個作弊
|
||||
STR_CHEATS_WARNING :{BLACK}注意! 你要背叛你的對手喔! 你要記住這種行為會被一輩子記著的。
|
||||
STR_CHEATS_TIP :{BLACK}勾選代表您用過這個密技
|
||||
STR_CHEATS_WARNING :{BLACK}警告!您正準備背叛競爭對手。請記得這種恥辱將永傳不朽。
|
||||
STR_CHEAT_MONEY :{LTBLUE}增加金錢:{CURRENCY}
|
||||
STR_CHEAT_CHANGE_PLAYER :{LTBLUE}控制玩家:{ORANGE}{COMMA}
|
||||
STR_CHEAT_EXTRA_DYNAMITE :{LTBLUE}神奇剷泥車 (可以移除工業等平時拆不掉的東西):{ORANGE}{STRING}
|
||||
STR_CHEAT_CROSSINGTUNNELS :{LTBLUE}隧道可以互相穿過:{ORANGE}{STRING}
|
||||
STR_CHEAT_BUILD_IN_PAUSE :{LTBLUE}於暫停模式建設:{ORANGE}{STRING}
|
||||
STR_CHEAT_NO_JETCRASH :{LTBLUE}噴射客機不會經常於小型機場失事:{ORANGE} {STRING}
|
||||
STR_CHEAT_SWITCH_CLIMATE :{LTBLUE}改變氣候:{ORANGE} {STRING}
|
||||
STR_CHEAT_CHANGE_DATE :{LTBLUE}改變日期:{ORANGE} {DATE_SHORT}
|
||||
STR_CHEAT_SETUP_PROD :{LTBLUE}可改變產量:{ORANGE}{STRING}
|
||||
STR_CHEAT_CHANGE_PLAYER :{LTBLUE}切換玩家身分: {ORANGE}{COMMA}
|
||||
STR_CHEAT_EXTRA_DYNAMITE :{LTBLUE}無敵推土機 (可摧毀工業、所有東西): {ORANGE}{STRING}
|
||||
STR_CHEAT_CROSSINGTUNNELS :{LTBLUE}允許隧道交叉: {ORANGE}{STRING}
|
||||
STR_CHEAT_BUILD_IN_PAUSE :{LTBLUE}在暫停時建造: {ORANGE}{STRING}
|
||||
STR_CHEAT_NO_JETCRASH :{LTBLUE}噴射機不會 (經常) 墜毀在小機場: {ORANGE} {STRING}
|
||||
STR_CHEAT_SWITCH_CLIMATE :{LTBLUE}切換場景類型: {ORANGE} {STRING}
|
||||
STR_CHEAT_CHANGE_DATE :{LTBLUE}修改日期: {ORANGE} {DATE_SHORT}
|
||||
STR_CHEAT_SETUP_PROD :{LTBLUE}允許修改產量: {ORANGE}{STRING}
|
||||
|
||||
STR_HEADING_FOR_WAYPOINT :{LTBLUE}目的地:{WAYPOINT}
|
||||
STR_HEADING_FOR_WAYPOINT_VEL :{LTBLUE}目的地:{WAYPOINT},{VELOCITY}
|
||||
STR_HEADING_FOR_WAYPOINT :{LTBLUE}正前往 {WAYPOINT}
|
||||
STR_HEADING_FOR_WAYPOINT_VEL :{LTBLUE}正前往 {WAYPOINT}, {VELOCITY}
|
||||
|
||||
STR_GO_TO_WAYPOINT :經 {WAYPOINT}
|
||||
STR_GO_NON_STOP_TO_WAYPOINT :經 {WAYPOINT},中途不停
|
||||
STR_GO_TO_WAYPOINT :前往 {WAYPOINT}
|
||||
STR_GO_NON_STOP_TO_WAYPOINT :前往 {WAYPOINT} 不停靠
|
||||
|
||||
STR_WAYPOINTNAME_CITY :路標 {TOWN}
|
||||
STR_WAYPOINTNAME_CITY_SERIAL :路標 {TOWN} #{COMMA}
|
||||
STR_LANDINFO_WAYPOINT :路標
|
||||
STR_WAYPOINTNAME_CITY :{TOWN} 號誌站
|
||||
STR_WAYPOINTNAME_CITY_SERIAL :{TOWN} 第 {COMMA} 號誌站
|
||||
STR_LANDINFO_WAYPOINT :號誌站
|
||||
|
||||
STR_WAYPOINT :{WHITE}路標
|
||||
STR_WAYPOINT_GRAPHICS_TIP :{BLACK}選擇路標種類
|
||||
STR_WAYPOINT :{WHITE}號誌站
|
||||
STR_WAYPOINT_GRAPHICS_TIP :{BLACK}顯示號誌站種類
|
||||
|
||||
STR_WAYPOINT_VIEWPORT :{WHITE}{WAYPOINT}
|
||||
STR_WAYPOINT_VIEWPORT_TINY :{TINYFONT}{WHITE}{WAYPOINT}
|
||||
STR_WAYPOINT_RAW :{WAYPOINT}
|
||||
STR_EDIT_WAYPOINT_NAME :{WHITE}更改路標名稱
|
||||
STR_EDIT_WAYPOINT_NAME :{WHITE}編輯導航點名稱
|
||||
|
||||
STR_CANT_CHANGE_WAYPOINT_NAME :{WHITE}不能更改路標名稱
|
||||
STR_CONVERT_RAIL_TO_WAYPOINT_TIP :{BLACK}將路軌變為路標
|
||||
STR_CANT_BUILD_TRAIN_WAYPOINT :{WHITE}不能建立鐵路路標
|
||||
STR_CANT_REMOVE_TRAIN_WAYPOINT :{WHITE}不能移除鐵路路標
|
||||
STR_CANT_CHANGE_WAYPOINT_NAME :{WHITE}無法修改號誌站...
|
||||
STR_CONVERT_RAIL_TO_WAYPOINT_TIP :{BLACK}將軌道轉成號誌站
|
||||
STR_CANT_BUILD_TRAIN_WAYPOINT :{WHITE}無法在此建造列車號誌站...
|
||||
STR_CANT_REMOVE_TRAIN_WAYPOINT :{WHITE}無法移除號誌站...
|
||||
|
||||
STR_BUILD_AUTORAIL_TIP :{BLACK}以自動模式鋪設路軌
|
||||
STR_BUILD_AUTORAIL_TIP :{BLACK}以自動鋪軌模式建造鐵軌
|
||||
|
||||
STR_NO_TOWN_IN_SCENARIO :{WHITE}...這個場景沒有市鎮
|
||||
|
||||
STR_GENERATE_RANDOM_LANDSCAPE :{WHITE}你要建立一個隨機地形嗎?
|
||||
STR_MANY_RANDOM_TOWNS :{BLACK}隨機產生多個市鎮
|
||||
STR_GENERATE_RANDOM_LANDSCAPE :{WHITE}您確定要隨機建立地形嗎?
|
||||
STR_MANY_RANDOM_TOWNS :{BLACK}許多隨機城鎮
|
||||
STR_RANDOM_TOWNS_TIP :{BLACK}以隨機放置的市鎮佈滿版圖
|
||||
STR_MANY_RANDOM_INDUSTRIES :隨機產生多個工業
|
||||
STR_RANDOM_INDUSTRIES_TIP :{BLACK}以隨機放置的工業佈滿版圖
|
||||
STR_CAN_T_GENERATE_INDUSTRIES :{WHITE}隨機產生工業失敗...
|
||||
STR_CAN_T_GENERATE_INDUSTRIES :{WHITE}無法產生工業...
|
||||
|
||||
STR_LANDSCAPING_TOOLBAR_TIP :{BLACK}開啟地形工具列以修改地形,植樹等等
|
||||
STR_LANDSCAPING_TOOLBAR :{WHITE}地形改造
|
||||
STR_LEVEL_LAND_TOOLTIP :{BLACK}移平土地
|
||||
STR_LANDSCAPING_TOOLBAR_TIP :{BLACK}打開第型工具列,提升/降低地面,種樹等等。
|
||||
STR_LANDSCAPING_TOOLBAR :{WHITE}地形
|
||||
STR_LEVEL_LAND_TOOLTIP :{BLACK}整平地面
|
||||
|
||||
|
||||
STR_TREES_RANDOM_TYPE :{BLACK}隨機種類樹木
|
||||
STR_TREES_RANDOM_TYPE_TIP :{BLACK}種植隨機種類樹木
|
||||
|
||||
STR_CANT_BUILD_CANALS :{WHITE}不可以在這裏開鑿運河...
|
||||
STR_BUILD_CANALS_TIP :{BLACK}開鑿運河。
|
||||
STR_CANT_BUILD_CANALS :{WHITE}無法在此建造運河...
|
||||
STR_BUILD_CANALS_TIP :{BLACK}建造運河。按住 CTRL 可在海面上建造 (僅限海平面)
|
||||
STR_LANDINFO_CANAL :運河
|
||||
|
||||
STR_CANT_BUILD_LOCKS :{WHITE}不可以在這裏興建水閘...
|
||||
STR_BUILD_LOCKS_TIP :{BLACK}興建水閘
|
||||
STR_CANT_BUILD_LOCKS :{WHITE}無法在此建造水閘...
|
||||
STR_BUILD_LOCKS_TIP :{BLACK}建造水閘
|
||||
STR_LANDINFO_LOCK :水閘
|
||||
|
||||
STR_BUOY_IS_IN_USE :{WHITE}...浮標正被使用!
|
||||
STR_BUOY_IS_IN_USE :{WHITE}...浮標正在使用!
|
||||
|
||||
STR_LANDINFO_COORDS :{BLACK}座標:{LTBLUE}{NUM}x{NUM}x{NUM} ({STRING})
|
||||
|
||||
STR_CANT_REMOVE_PART_OF_STATION :{WHITE}不能移除車站部份...
|
||||
STR_CANT_REMOVE_PART_OF_STATION :{WHITE}無法移除局部車站...
|
||||
STR_CANT_CONVERT_RAIL :{WHITE}無法轉換軌道種類...
|
||||
STR_CONVERT_RAIL_TIP :{BLACK}轉換/升級軌道種類
|
||||
|
||||
@@ -1592,6 +1611,7 @@ STR_1004_TOO_HIGH :{WHITE}太高
|
||||
STR_1005_NO_SUITABLE_RAILROAD_TRACK :{WHITE}沒有適合的鐵路軌道
|
||||
STR_1007_ALREADY_BUILT :{WHITE}...已經建了
|
||||
STR_1008_MUST_REMOVE_RAILROAD_TRACK :{WHITE}必須先移除鐵道
|
||||
STR_ERR_CROSSING_ON_ONEWAY_ROAD :{WHITE}道路是單行道或被阻擋
|
||||
STR_100A_RAILROAD_CONSTRUCTION :{WHITE}鋪設鐵道
|
||||
STR_TITLE_ELRAIL_CONSTRUCTION :{WHITE}建造電氣化鐵道
|
||||
STR_100B_MONORAIL_CONSTRUCTION :{WHITE}鋪設單軌
|
||||
@@ -1694,6 +1714,7 @@ STR_2002 :{TINYFONT}{BLAC
|
||||
STR_2002_WHITE :{TINYFONT}{WHITE}{SIGN}
|
||||
STR_2004_BUILDING_MUST_BE_DEMOLISHED :{WHITE}必須先摧毀建物
|
||||
STR_2005 :{WHITE}{TOWN}
|
||||
STR_CITY :{WHITE}{TOWN} (城市)
|
||||
STR_2006_POPULATION :{BLACK}人口:{ORANGE}{COMMA}{BLACK} 房屋:{ORANGE}{COMMA}
|
||||
STR_2007_RENAME_TOWN :修改城鎮名稱
|
||||
STR_2008_CAN_T_RENAME_TOWN :{WHITE}無法修改城鎮名稱...
|
||||
@@ -2326,6 +2347,8 @@ STR_LIVERY_EMU :電聯車
|
||||
STR_LIVERY_PASSENGER_WAGON_STEAM :乘客車廂 (蒸氣)
|
||||
STR_LIVERY_PASSENGER_WAGON_DIESEL :乘客車廂 (柴油)
|
||||
STR_LIVERY_PASSENGER_WAGON_ELECTRIC :乘客車廂 (電力)
|
||||
STR_LIVERY_PASSENGER_WAGON_MONORAIL :客車廂 (單軌)
|
||||
STR_LIVERY_PASSENGER_WAGON_MAGLEV :客車廂 (磁浮)
|
||||
STR_LIVERY_FREIGHT_WAGON :貨車廂
|
||||
STR_LIVERY_BUS :公車
|
||||
STR_LIVERY_TRUCK :貨卡車
|
||||
@@ -2781,6 +2804,7 @@ STR_NEW_VEHICLE_TYPE :{BLACK}{BIGFONT
|
||||
STR_NEW_VEHICLE_NOW_AVAILABLE_WITH_TYPE :{BLACK}{STRING} 問世了! - {ENGINE}
|
||||
|
||||
STR_CAN_T_SELL_DESTROYED_VEHICLE :{WHITE}損毀的運具不能出售...
|
||||
STR_CAN_T_REFIT_DESTROYED_VEHICLE :{WHITE}不能改造已撞毀的載具
|
||||
|
||||
STR_CAN_T_TIMETABLE_VEHICLE :{WHITE}無法為運具加入時刻表...
|
||||
STR_TIMETABLE_ONLY_WAIT_AT_STATIONS :{WHITE}運具只能等待於站點。
|
||||
@@ -3102,7 +3126,9 @@ STR_NEWGRF_COMPATIBLE_LOAD_WARNING :{WHITE}已為
|
||||
STR_NEWGRF_DISABLED_WARNING :{WHITE}找不到的 GRF 檔已被關閉
|
||||
STR_NEWGRF_NOT_FOUND_WARNING :{WHITE}找不到載入遊戲所需的 GRF 檔案
|
||||
STR_NEWGRF_UNPAUSE_WARNING_TITLE :{YELLOW}一個或多個 GRF 檔案遺失
|
||||
STR_NEWGRF_UNPAUSE_WARNING :{WHITE}取消暫停可能會讓 OpenTTD 當掉。請不要回報之後的當機情形。{}您真的要取消暫停嗎?
|
||||
|
||||
STR_LOADGAME_REMOVED_TRAMS :{WHITE}存檔版本不支援路面電車,已移除所有路面電車。
|
||||
STR_CURRENCY_WINDOW :{WHITE}自訂幣值
|
||||
STR_CURRENCY_EXCHANGE_RATE :{LTBLUE}匯率:{ORANGE}{CURRENCY} = £ {COMMA}
|
||||
STR_CURRENCY_SEPARATOR :{LTBLUE}分隔符號:
|
||||
@@ -3226,6 +3252,9 @@ STR_PURCHASE_INFO_ALL_TYPES :所有酬載類
|
||||
STR_PURCHASE_INFO_ALL_BUT :{GOLD}除了
|
||||
STR_PURCHASE_INFO_MAX_TE :{BLACK}最大牽引力:{GOLD}{FORCE}
|
||||
|
||||
STR_NUM_1 :{BLACK}{SKIP}{NUM}
|
||||
STR_NUM_2 :{BLACK}{SKIP}{SKIP}{NUM}
|
||||
STR_NUM_3 :{BLACK}{SKIP}{SKIP}{SKIP}{NUM}
|
||||
########### String for New Landscape Generator
|
||||
|
||||
STR_GENERATE :{WHITE}產生
|
||||
@@ -3324,6 +3353,7 @@ STR_TRANSPARENT_INDUSTRIES_DESC :{BLACK}將透
|
||||
STR_TRANSPARENT_BUILDINGS_DESC :{BLACK}將透明度套用於建物,如車站、廠棚、路標及電線
|
||||
STR_TRANSPARENT_BRIDGES_DESC :{BLACK}將透明度套用於橋樑
|
||||
STR_TRANSPARENT_STRUCTURES_DESC :{BLACK}將透明度套用於設施,如燈塔、天線塔等
|
||||
STR_TRANSPARENT_CATENARY_DESC :{BLACK}切換供電線透明與否。CTRL+左鍵 可鎖定。
|
||||
STR_TRANSPARENT_LOADING_DESC :{BLACK}將透明度套用於運載顯示表
|
||||
|
||||
STR_PERCENT_UP_SMALL :{TINYFONT}{WHITE}{NUM}%{UPARROW}
|
||||
|
@@ -1035,6 +1035,7 @@ STR_CONFIG_PATCHES_GOTODEPOT :{LTBLUE}Garaja
|
||||
STR_CONFIG_PATCHES_RAW_INDUSTRY_CONSTRUCTION_METHOD :{LTBLUE}Üretim fabrikalarının yapım yöntemi: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_RAW_INDUSTRY_CONSTRUCTION_METHOD_NONE :hiçbiri
|
||||
STR_CONFIG_PATCHES_RAW_INDUSTRY_CONSTRUCTION_METHOD_NORMAL :diğer fabrikalar gibi
|
||||
STR_CONFIG_PATCHES_RAW_INDUSTRY_CONSTRUCTION_METHOD_PROSPECTING :tetkik aramayla
|
||||
STR_CONFIG_PATCHES_MULTIPINDTOWN :{LTBLUE}Bir şehirde birden fazla aynı fabrika olması izinli: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_SAMEINDCLOSE :{LTBLUE}Aynı tür fabrikalar yan yana yapılabilir: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_LONGDATE :{LTBLUE}Durum çubuğunda uzun tarih göster: {ORANGE}{STRING}
|
||||
@@ -1048,6 +1049,7 @@ STR_CONFIG_PATCHES_ALLOW_EXCLUSIVE :{LTBLUE}Şehrin
|
||||
STR_CONFIG_PATCHES_ALLOW_GIVE_MONEY :{LTBLUE}Diğer şirketlere para gönderme izinli: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_NONUNIFORM_STATIONS :{LTBLUE}Özel istasyonlar: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_FREIGHT_TRAINS :{LTBLUE}Ağır yük trenleri için ağırlık çarpanı: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_PLANE_SPEED :{LTBLUE}Uçak hızı çarpanı: {ORANGE}1 / {STRING}
|
||||
STR_CONFIG_PATCHES_STOP_ON_TOWN_ROAD :{LTBLUE}Şehiriçi yollara durak yapmak izinli: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_ADJACENT_STATIONS :{LTBLUE}Bitişik istasyonlar izinli: {ORANGE}{STRING}
|
||||
|
||||
@@ -1379,7 +1381,7 @@ STR_NETWORK_SERVER_VERSION :{SILVER}Sunucu
|
||||
STR_NETWORK_SERVER_ADDRESS :{SILVER}Sunucu adresi: {WHITE}{STRING} : {NUM}
|
||||
STR_NETWORK_START_DATE :{SILVER}Başlama tarihi: {WHITE}{DATE_SHORT}
|
||||
STR_NETWORK_CURRENT_DATE :{SILVER}Şimdiki tarih: {WHITE}{DATE_SHORT}
|
||||
STR_NETWORK_PASSWORD :{SILVER}Şifre korumalı!
|
||||
STR_NETWORK_PASSWORD :{SILVER}Parola korumalı!
|
||||
STR_NETWORK_SERVER_OFFLINE :{SILVER}SUNUCU KAPALI
|
||||
STR_NETWORK_SERVER_FULL :{SILVER}SUNUCU DOLU
|
||||
STR_NETWORK_VERSION_MISMATCH :{SILVER}SÜRÜM UYUŞMAZLIĞI
|
||||
@@ -1609,6 +1611,7 @@ STR_1004_TOO_HIGH :{WHITE}Çok yü
|
||||
STR_1005_NO_SUITABLE_RAILROAD_TRACK :{WHITE}Uygun ray yok
|
||||
STR_1007_ALREADY_BUILT :{WHITE}...zaten yapıldı
|
||||
STR_1008_MUST_REMOVE_RAILROAD_TRACK :{WHITE}Önce ray kaldırılmalı
|
||||
STR_ERR_CROSSING_ON_ONEWAY_ROAD :{WHITE}Yol tek yönlü veya kapalı
|
||||
STR_100A_RAILROAD_CONSTRUCTION :{WHITE}Demiryolu Yapımı
|
||||
STR_TITLE_ELRAIL_CONSTRUCTION :{WHITE}Elektrikli Ray Yapımı
|
||||
STR_100B_MONORAIL_CONSTRUCTION :{WHITE}Monoray Yapımı
|
||||
@@ -1711,6 +1714,7 @@ STR_2002 :{TINYFONT}{BLAC
|
||||
STR_2002_WHITE :{TINYFONT}{WHITE}{SIGN}
|
||||
STR_2004_BUILDING_MUST_BE_DEMOLISHED :{WHITE}Önce bina yıkılmalı
|
||||
STR_2005 :{WHITE}{TOWN}
|
||||
STR_CITY :{WHITE}{TOWN} (Şehir)
|
||||
STR_2006_POPULATION :{BLACK}Nüfus: {ORANGE}{COMMA}{BLACK} Ev: {ORANGE}{COMMA}
|
||||
STR_2007_RENAME_TOWN :İsim değiştir
|
||||
STR_2008_CAN_T_RENAME_TOWN :{WHITE}İsim değiştirilemiyor...
|
||||
@@ -3091,6 +3095,7 @@ STR_NEWGRF_ERROR_INVALID_PARAMETER :{STRING} için
|
||||
STR_NEWGRF_ERROR_LOAD_BEFORE :{STRING} önce, {STRING} ondan sonra yüklenmeli.
|
||||
STR_NEWGRF_ERROR_LOAD_AFTER :{STRING} sonra, {STRING} ondan önce yüklenmeli.
|
||||
STR_NEWGRF_ERROR_OTTD_VERSION_NUMBER :{STRING} OpenTTD {STRING} veya daha yüksek bir sürüm gerektirir.
|
||||
STR_NEWGRF_ERROR_AFTER_TRANSLATED_FILE :GRF dosyası çeviri için yapılmış
|
||||
STR_NEWGRF_ERROR_TOO_MANY_NEWGRFS_LOADED :Çok fazla NewGRF yüklendi.
|
||||
|
||||
STR_NEWGRF_ADD :{BLACK}Ekle
|
||||
@@ -3276,6 +3281,7 @@ STR_SNOW_LINE_QUERY_CAPT :{WHITE}Kar yük
|
||||
STR_START_DATE_QUERY_CAPT :{WHITE}Başlangıç yılını değiştir
|
||||
STR_HEIGHTMAP_SCALE_WARNING_CAPTION :{WHITE}Ölcek uyarısı
|
||||
STR_HEIGHTMAP_SCALE_WARNING_MESSAGE :{YELLOW}Kaynak haritanin boyutunu değiştirmek önerilmez. Harita oluşturmaya devam edilsin mi?
|
||||
STR_TOWN_LAYOUT_WARNING_CAPTION :{WHITE}Şehir planlama uyarısı
|
||||
STR_HEIGHTMAP_NAME :{BLACK}Yükseklik haritası adı:
|
||||
STR_HEIGHTMAP_SIZE :{BLACK}Boyut: {ORANGE}{NUM} x {NUM}
|
||||
STR_GENERATION_WORLD :{WHITE}Harita oluşturuluyor...
|
||||
@@ -3407,6 +3413,7 @@ STR_PREVIOUS_SIGN_TOOLTIP :{BLACK}Önceki
|
||||
########
|
||||
|
||||
STR_FUND_NEW_INDUSTRY :{BLACK}Parayla Yap
|
||||
STR_PROSPECT_NEW_INDUSTRY :{BLACK}Tetkik arama
|
||||
STR_BUILD_NEW_INDUSTRY :{BLACK}İnşa et
|
||||
STR_INDUSTRY_SELECTION_HINT :{BLACK}Bu listeden uygun fabrikayı seçin
|
||||
|
||||
|
@@ -33,9 +33,9 @@ STR_0011_MAIL.z :пошту
|
||||
STR_0012_OIL :нафта
|
||||
STR_0012_OIL.r :нафти
|
||||
STR_0012_OIL.z :нафту
|
||||
STR_0013_LIVESTOCK :тварини
|
||||
STR_0013_LIVESTOCK.r :тварин
|
||||
STR_0013_LIVESTOCK.z :тварин
|
||||
STR_0013_LIVESTOCK :худоба
|
||||
STR_0013_LIVESTOCK.r :худоби
|
||||
STR_0013_LIVESTOCK.z :худобу
|
||||
STR_0014_GOODS :товари
|
||||
STR_0014_GOODS.r :товарів
|
||||
STR_0014_GOODS.z :товари
|
||||
@@ -126,9 +126,9 @@ STR_0031_MAIL.z :пошту
|
||||
STR_0032_OIL :нафта
|
||||
STR_0032_OIL.r :нафти
|
||||
STR_0032_OIL.z :нафту
|
||||
STR_0033_LIVESTOCK :тварини
|
||||
STR_0033_LIVESTOCK.r :тварин
|
||||
STR_0033_LIVESTOCK.z :тварин
|
||||
STR_0033_LIVESTOCK :худоба
|
||||
STR_0033_LIVESTOCK.r :худоби
|
||||
STR_0033_LIVESTOCK.z :худобу
|
||||
STR_0034_GOODS :товари
|
||||
STR_0034_GOODS.r :товарів
|
||||
STR_0034_GOODS.z :товари
|
||||
@@ -212,7 +212,7 @@ STR_QUANTITY_PASSENGERS :{COMMA} пас
|
||||
STR_QUANTITY_COAL :{WEIGHT} вугілля
|
||||
STR_QUANTITY_MAIL :{COMMA} сум{P ка ки ок} пошти
|
||||
STR_QUANTITY_OIL :{VOLUME} нафти
|
||||
STR_QUANTITY_LIVESTOCK :{COMMA} гол{P ова ови ів} тварин{P и и ""}
|
||||
STR_QUANTITY_LIVESTOCK :{COMMA} кор{P ова ови ів}
|
||||
STR_QUANTITY_GOODS :{COMMA} ящи{P к ки ків} товарів
|
||||
STR_QUANTITY_GRAIN :{WEIGHT} зерна
|
||||
STR_QUANTITY_WOOD :{WEIGHT} деревини
|
||||
@@ -394,9 +394,9 @@ STR_012C_MESSAGE :{WHITE}Пові
|
||||
STR_012D :{WHITE}{STRING}
|
||||
STR_012E_CANCEL :{BLACK}Відміна
|
||||
STR_012F_OK :{BLACK}Так
|
||||
STR_0130_RENAME :{BLACK}Ім'я
|
||||
STR_0131_TOO_MANY_NAMES_DEFINED :{WHITE}Дуже багато імен
|
||||
STR_0132_CHOSEN_NAME_IN_USE_ALREADY :{WHITE}Таке ім'я вже є
|
||||
STR_0130_RENAME :{BLACK}Назва
|
||||
STR_0131_TOO_MANY_NAMES_DEFINED :{WHITE}Дуже багато назв
|
||||
STR_0132_CHOSEN_NAME_IN_USE_ALREADY :{WHITE}Така назва вже є
|
||||
|
||||
STR_OSNAME_WINDOWS :Windows
|
||||
STR_OSNAME_UNIX :Unix
|
||||
@@ -491,7 +491,7 @@ STR_SORT_BY_PRODUCTION :{BLACK}за п
|
||||
STR_SORT_BY_TYPE :{BLACK}за типом
|
||||
STR_SORT_BY_TRANSPORTED :{BLACK}за перевезенням
|
||||
STR_SORT_BY_NAME :{BLACK}за назвою
|
||||
STR_SORT_BY_DROPDOWN_NAME :Назва
|
||||
STR_SORT_BY_DROPDOWN_NAME :за назвою
|
||||
STR_SORT_BY_DATE :{BLACK}за датою
|
||||
STR_SORT_BY_NUMBER :за номером
|
||||
STR_SORT_BY_PROFIT_LAST_YEAR :за прибутком минулого року
|
||||
@@ -500,18 +500,18 @@ STR_SORT_BY_AGE :за віком
|
||||
STR_SORT_BY_RELIABILITY :за надійністю
|
||||
STR_SORT_BY_TOTAL_CAPACITY_PER_CARGOTYPE :за місткістю
|
||||
STR_SORT_BY_MAX_SPEED :за швидкістю
|
||||
STR_SORT_BY_MODEL :Модель
|
||||
STR_SORT_BY_MODEL :за моделлю
|
||||
STR_SORT_BY_VALUE :за ціною
|
||||
STR_SORT_BY_FACILITY :Вид станцій
|
||||
STR_SORT_BY_FACILITY :за типом станції
|
||||
STR_SORT_BY_WAITING :за ціною вантажу
|
||||
STR_SORT_BY_RATING_MAX :Рейтинг вантажів
|
||||
STR_ENGINE_SORT_ENGINE_ID :ID (класичне)
|
||||
STR_ENGINE_SORT_COST :Ціна
|
||||
STR_ENGINE_SORT_POWER :Потужність
|
||||
STR_ENGINE_SORT_INTRO_DATE :Дата випуску
|
||||
STR_ENGINE_SORT_RUNNING_COST :Вартість експлуатації
|
||||
STR_ENGINE_SORT_POWER_VS_RUNNING_COST :Потужність/Вартість експлуатації
|
||||
STR_ENGINE_SORT_CARGO_CAPACITY :Місткість
|
||||
STR_ENGINE_SORT_ENGINE_ID :за ID (класичне)
|
||||
STR_ENGINE_SORT_COST :за ціною
|
||||
STR_ENGINE_SORT_POWER :за потужністю
|
||||
STR_ENGINE_SORT_INTRO_DATE :за датою випуску
|
||||
STR_ENGINE_SORT_RUNNING_COST :за вартістю експлуатації
|
||||
STR_ENGINE_SORT_POWER_VS_RUNNING_COST :за потужністю/вартістю експлуатації
|
||||
STR_ENGINE_SORT_CARGO_CAPACITY :за місткістю
|
||||
STR_NO_WAITING_CARGO :{BLACK}Звідси поки що нічого перевозити
|
||||
STR_SELECT_ALL_FACILITIES :{BLACK}Вибрати весь транспорт
|
||||
STR_SELECT_ALL_TYPES :{BLACK}Вибрати всі типи вантажів
|
||||
@@ -723,7 +723,7 @@ STR_020F_GENERAL_INFORMATION :{YELLOW}Заг
|
||||
STR_MESSAGES_ALL :{YELLOW}Відображати повідомлення: відкл. / коротко / повно
|
||||
STR_MESSAGE_SOUND :{YELLOW}Звукове сповіщення для підсумкових новин
|
||||
STR_0210_TOO_FAR_FROM_PREVIOUS_DESTINATIO :{WHITE}...дуже далеко від попереднього пункту призначення
|
||||
STR_0211_TOP_COMPANIES_WHO_REACHED :{BIGFONT}{BLACK}Кращі компанії, що досягли {NUM}{}({STRING} рівень)
|
||||
STR_0211_TOP_COMPANIES_WHO_REACHED :{BIGFONT}{BLACK}Кращі компанії, які досягли {NUM}{}({STRING} рівень)
|
||||
STR_TOP_COMPANIES_NETWORK_GAME :{BIGFONT}{BLACK}Таблиця компаній з {NUM}
|
||||
STR_0212 :{BIGFONT}{COMMA}.
|
||||
STR_0213_BUSINESSMAN :Бізнесмен
|
||||
@@ -763,7 +763,7 @@ STR_0238_TOO_CLOSE_TO_ANOTHER_TOWN :{WHITE}...на
|
||||
STR_0239_SITE_UNSUITABLE :{WHITE}...невідповідне місце
|
||||
STR_023A_TOO_MANY_TOWNS :{WHITE}...забагато міст
|
||||
STR_CANNOT_GENERATE_TOWN :{WHITE}Не можна створити місто
|
||||
STR_NO_SPACE_FOR_TOWN :{WHITE}...На карті немає вільного місця
|
||||
STR_NO_SPACE_FOR_TOWN :{WHITE}...на карті немає вільного місця
|
||||
STR_023B_INCREASE_SIZE_OF_TOWN :{BLACK}Збільшити розмір міста
|
||||
STR_023C_EXPAND :{BLACK}Розширити
|
||||
STR_023D_RANDOM_TOWN :{BLACK}Випадкове місто
|
||||
@@ -914,7 +914,7 @@ STR_TRANSPARENT_SIGNS :{SETX 12}Про
|
||||
############ range for menu starts
|
||||
STR_02D5_LAND_BLOCK_INFO :Інформація про ділянку
|
||||
STR_02D6 :
|
||||
STR_CONSOLE_SETTING :Вкл/викл консоль
|
||||
STR_CONSOLE_SETTING :Вкл./відкл. консоль
|
||||
STR_02D7_SCREENSHOT_CTRL_S :Копія екрану (Ctrl-S)
|
||||
STR_02D8_GIANT_SCREENSHOT_CTRL_G :Копія всієї карти (Ctrl-G)
|
||||
STR_02D9_ABOUT_OPENTTD :Про гру 'OpenTTD'
|
||||
@@ -966,7 +966,7 @@ STR_0301_DISPLAY_GAME_OPTIONS :{BLACK}Пока
|
||||
STR_0302_DISPLAY_DIFFICULTY_OPTIONS :{BLACK}Показати налаштування складності
|
||||
STR_0303_START_A_NEW_GAME_USING :{BLACK}Почати нову гру, використовуючи сценарій
|
||||
STR_0304_QUIT :{BLACK}Вихід
|
||||
STR_0305_QUIT_OPENTTD :{BLACK}покинути 'OpenTTD'
|
||||
STR_0305_QUIT_OPENTTD :{BLACK}Вийти з OpenTTD
|
||||
STR_0307_OPENTTD :{WHITE}OpenTTD {REV}
|
||||
STR_030D_CAN_ONLY_BE_BUILT_IN_TOWNS :{WHITE}...можна будувати лише у містах
|
||||
STR_030E_SELECT_TEMPERATE_LANDSCAPE :{BLACK}Вибрати 'помірний' клімат
|
||||
@@ -1070,7 +1070,7 @@ STR_OPTIONS_SCREENSHOT_FORMAT :{BLACK}Форм
|
||||
STR_OPTIONS_SCREENSHOT_FORMAT_CBO :{BLACK}{SKIP}{SKIP}{SKIP}{SKIP}{SKIP}{SKIP}{SKIP}{SKIP}{STRING}
|
||||
STR_OPTIONS_SCREENSHOT_FORMAT_TIP :{BLACK}Виберіть формат для створення копій екрану
|
||||
|
||||
STR_AUTOSAVE_1_MONTH :Щомісяця
|
||||
STR_AUTOSAVE_1_MONTH :щомісяця
|
||||
STR_AUTOSAVE_FAILED :{WHITE}Помилка автозбереження
|
||||
|
||||
STR_MONTH_JAN :Січень
|
||||
@@ -1093,7 +1093,7 @@ STR_NO_ORDERS_VEL :{LTBLUE}Без
|
||||
|
||||
STR_PASSENGERS :пасАжир
|
||||
STR_BAGS :мішків
|
||||
STR_TONS :тонИ
|
||||
STR_TONS :тони
|
||||
STR_LITERS :літрів
|
||||
STR_ITEMS :штук
|
||||
STR_CRATES :ЯщикИ
|
||||
@@ -1127,7 +1127,7 @@ STR_SHIP_HAS_INVALID_ENTRY :{WHITE}Кора
|
||||
STR_AIRCRAFT_HAS_TOO_FEW_ORDERS :{WHITE}Літак {COMMA} не має завдань
|
||||
STR_AIRCRAFT_HAS_VOID_ORDER :{WHITE}Літак {COMMA} має пустий наказ
|
||||
STR_AIRCRAFT_HAS_DUPLICATE_ENTRY :{WHITE}Літак {COMMA} має подвійні накази
|
||||
STR_AIRCRAFT_HAS_INVALID_ENTRY :{WHITE}Літак {COMMA} має в наказі невірну станцію
|
||||
STR_AIRCRAFT_HAS_INVALID_ENTRY :{WHITE}Літак {COMMA} має в маршруті невірну станцію
|
||||
# end of order system
|
||||
|
||||
STR_TRAIN_AUTORENEW_FAILED :{WHITE}Помилка автооновлення поїзда {COMMA} (бракує коштів)
|
||||
@@ -1212,7 +1212,7 @@ STR_CONFIG_PATCHES_TREE_PLACER_IMPROVED :Покраще
|
||||
STR_CONFIG_PATCHES_HEIGHTMAP_ROTATION :{LTBLUE}Обертання карти висот: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :Проти годинникової
|
||||
STR_CONFIG_PATCHES_HEIGHTMAP_ROTATION_CLOCKWISE :За годинниковою
|
||||
STR_CONFIG_PATCHES_SE_FLAT_WORLD_HEIGHT :{LTBLUE}Рівень висоти для карт з плоским рельєфом: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_SE_FLAT_WORLD_HEIGHT :{LTBLUE}Рівень висоти для карт з пласким рельєфом: {ORANGE}{STRING}
|
||||
|
||||
STR_CONFIG_PATCHES_STATION_SPREAD :{LTBLUE}Макс. довжина станції: {ORANGE}{STRING} {RED}Велике значення гальмує гру
|
||||
STR_CONFIG_PATCHES_SERVICEATHELIPAD :{LTBLUE}Автоматичний техогляд гелікоптерів на площадках: {ORANGE}{STRING}
|
||||
@@ -1464,7 +1464,7 @@ STR_RAIL_REFIT_VEHICLE :{BLACK}Пере
|
||||
STR_RAIL_SELECT_TYPE_OF_CARGO_FOR :{BLACK}Виберіть вид вантажу для перевезення
|
||||
STR_RAIL_REFIT_TO_CARRY_HIGHLIGHTED :{BLACK}Переобладнати поїзд для перевезення вибраного виду вантажу
|
||||
STR_RAIL_CAN_T_REFIT_VEHICLE :{WHITE}Неможливо переобладнати поїзд...
|
||||
STR_CONFIG_PATCHES_SERVINT_ISPERCENT :{LTBLUE}Тривалість обслуговування у відсотках: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_SERVINT_ISPERCENT :{LTBLUE}Інтервал техогляду у відсотках: {ORANGE}{STRING}
|
||||
STR_CONFIG_GAME_PRODUCTION :{WHITE}Змінити виробництво
|
||||
|
||||
TEMP_AI_IN_PROGRESS :{WHITE}Ласкаво просимо до тестування нового інтелекту. Якщо Ви помітили недолік, надішліть копію екрану у форум.
|
||||
@@ -1703,8 +1703,8 @@ STR_CONFIG_PATCHES_MAP_Y :{LTBLUE}Y-ро
|
||||
|
||||
STR_PNGMAP_ERROR :{WHITE}Неможливо завантажити ландшафт з PNG...
|
||||
STR_PNGMAP_ERR_FILE_NOT_FOUND :{WHITE}...файл не знайдено
|
||||
STR_PNGMAP_ERR_IMAGE_TYPE :{WHITE}...неможливо конвертувати. треба 8 чи 24-bit PNG формат.
|
||||
STR_PNGMAP_ERR_MISC :{WHITE}...Помилка. (можливо зіпсований файл)
|
||||
STR_PNGMAP_ERR_IMAGE_TYPE :{WHITE}...неможливо конвертувати. Треба 8 чи 24-bit PNG формат.
|
||||
STR_PNGMAP_ERR_MISC :{WHITE}...помилка (можливо, зіпсований файл).
|
||||
|
||||
STR_BMPMAP_ERROR :{WHITE}Не можу завантажити ландшафт з BMP...
|
||||
STR_BMPMAP_ERR_IMAGE_TYPE :{WHITE}...неможливо перетворити тип зображення
|
||||
@@ -1786,7 +1786,7 @@ STR_ROAD_WORKS_IN_PROGRESS :{WHITE}Доро
|
||||
STR_1802_ROAD_CONSTRUCTION :{WHITE}Будівництво дороги
|
||||
STR_WHITE_TRAMWAY_CONSTRUCTION :{WHITE}Будівництво трамвайної колії
|
||||
STR_1803_SELECT_ROAD_BRIDGE :{WHITE}Виберіть дорожній міст
|
||||
STR_ERR_ONEWAY_ROADS_CAN_T_HAVE_JUNCTION :{WHITE}... односторонні дороги не можуть перетинатись
|
||||
STR_ERR_ONEWAY_ROADS_CAN_T_HAVE_JUNCTION :{WHITE}...односторонні дороги не можуть перетинатись
|
||||
STR_1804_CAN_T_BUILD_ROAD_HERE :{WHITE}Неможливо тут побудувати дорогу ...
|
||||
STR_CAN_T_BUILD_TRAMWAY_HERE :{WHITE}Тут не можна побудувати трамвайну колію...
|
||||
STR_1805_CAN_T_REMOVE_ROAD_FROM :{WHITE}Неможливо прибрати дорогу звідси...
|
||||
@@ -1840,6 +1840,7 @@ STR_2002 :{TINYFONT}{BLAC
|
||||
STR_2002_WHITE :{TINYFONT}{WHITE}{SIGN}
|
||||
STR_2004_BUILDING_MUST_BE_DEMOLISHED :{WHITE}Спочатку зруйнуйте споруду
|
||||
STR_2005 :{WHITE}{TOWN}
|
||||
STR_CITY :{WHITE}{TOWN} (місто)
|
||||
STR_2006_POPULATION :{BLACK}Населення: {ORANGE}{COMMA}{BLACK} Будинки: {ORANGE}{COMMA}
|
||||
STR_2007_RENAME_TOWN :Перейменувати
|
||||
STR_2008_CAN_T_RENAME_TOWN :{WHITE}Неможливо перейменувати...
|
||||
@@ -1847,8 +1848,8 @@ STR_2009_LOCAL_AUTHORITY_REFUSES :{WHITE}Влад
|
||||
STR_200A_TOWN_NAMES_CLICK_ON_NAME :{BLACK}Назви міст - вкажіть на місто і воно з'явиться в центрі екрану
|
||||
STR_200B_CENTER_THE_MAIN_VIEW_ON :{BLACK}Показати в центрі екрану
|
||||
STR_200C_CHANGE_TOWN_NAME :{BLACK}Змінити назву міста
|
||||
STR_200D_PASSENGERS_LAST_MONTH_MAX :{BLACK}Пасажирів за місяць: {ORANGE}{COMMA}{BLACK} Найбільше: {ORANGE}{COMMA}
|
||||
STR_200E_MAIL_LAST_MONTH_MAX :{BLACK}Пошти за місяць: {ORANGE}{COMMA}{BLACK} Найбільше: {ORANGE}{COMMA}
|
||||
STR_200D_PASSENGERS_LAST_MONTH_MAX :{BLACK}Пасажирів за місяць: {ORANGE}{COMMA}{BLACK} найбільше: {ORANGE}{COMMA}
|
||||
STR_200E_MAIL_LAST_MONTH_MAX :{BLACK}Пошти за місяць: {ORANGE}{COMMA}{BLACK} найбільше: {ORANGE}{COMMA}
|
||||
STR_200F_TALL_OFFICE_BLOCK :Великий офіс
|
||||
STR_2010_OFFICE_BLOCK :Офісний район
|
||||
STR_2011_SMALL_BLOCK_OF_FLATS :Будинки
|
||||
@@ -1868,15 +1869,15 @@ STR_201E_STADIUM :Стадіон
|
||||
STR_201F_OLD_HOUSES :Старі будинки
|
||||
STR_2020_LOCAL_AUTHORITY :{BLACK}Місцева влада
|
||||
STR_2021_SHOW_INFORMATION_ON_LOCAL :{BLACK}Інформація про місцеву владу
|
||||
STR_2022_LOCAL_AUTHORITY :{WHITE}{TOWN} місцева влада
|
||||
STR_2022_LOCAL_AUTHORITY :{WHITE}{TOWN} - місцева влада
|
||||
STR_2023_TRANSPORT_COMPANY_RATINGS :{BLACK}Рейтинги компаній:
|
||||
STR_2024 :{YELLOW}{COMPANY} {COMPANYNUM}: {ORANGE}{STRING}
|
||||
STR_2025_SUBSIDIES :{WHITE}Субсидії
|
||||
STR_2026_SUBSIDIES_ON_OFFER_FOR :{BLACK}Пропонуються субсидії:-
|
||||
STR_2026_SUBSIDIES_ON_OFFER_FOR :{BLACK}Пропонуються субсидії:
|
||||
STR_2027_FROM_TO :{ORANGE}Перевезення {STRING.r} з {STRING} до {STRING}
|
||||
STR_2028_BY :{YELLOW} ({DATE_SHORT})
|
||||
STR_202A_NONE :{ORANGE}немає
|
||||
STR_202B_SERVICES_ALREADY_SUBSIDISED :{BLACK}Призначені субсидії:-
|
||||
STR_202B_SERVICES_ALREADY_SUBSIDISED :{BLACK}Призначені субсидії:
|
||||
STR_202C_FROM_TO :{ORANGE}Перевезення {STRING.r} з {STATION} до {STATION}{YELLOW} ({COMPANY}
|
||||
STR_202D_UNTIL :{YELLOW}, по {DATE_SHORT})
|
||||
STR_202E_OFFER_OF_SUBSIDY_EXPIRED :{BLACK}{BIGFONT}Субсидію відмінено:{}{}Перевезення {STRING.r} з {STRING} до {STRING}.
|
||||
@@ -2303,8 +2304,8 @@ STR_6805_MAXIMUM_NO_COMPETITORS :{LTBLUE}Кіл
|
||||
STR_6806_COMPETITOR_START_TIME :{LTBLUE}Конкуренти починають через: {ORANGE}{STRING}
|
||||
STR_6807_NO_OF_TOWNS :{LTBLUE}Кількість міст: {ORANGE}{STRING}
|
||||
STR_6808_NO_OF_INDUSTRIES :{LTBLUE}Кількість підприємств: {ORANGE}{STRING}
|
||||
STR_6809_MAXIMUM_INITIAL_LOAN_000 :{LTBLUE}Початковий кредит: {ORANGE}{CURRENCY}
|
||||
STR_680A_INITIAL_INTEREST_RATE :{LTBLUE}Відсотки за кредит: {ORANGE}{COMMA}%
|
||||
STR_6809_MAXIMUM_INITIAL_LOAN_000 :{LTBLUE}Початкова позика: {ORANGE}{CURRENCY}
|
||||
STR_680A_INITIAL_INTEREST_RATE :{LTBLUE}Відсоткова ставка: {ORANGE}{COMMA}%
|
||||
STR_680B_VEHICLE_RUNNING_COSTS :{LTBLUE}Транспортні витрати: {ORANGE}{STRING}
|
||||
STR_680C_CONSTRUCTION_SPEED_OF_COMPETITOR :{LTBLUE}Швидкість будівництва конкурентів: {ORANGE}{STRING}
|
||||
STR_680D_INTELLIGENCE_OF_COMPETITORS :{LTBLUE}Досвідченість конкурентів: {ORANGE}{STRING}
|
||||
@@ -2319,35 +2320,35 @@ STR_6815_DISASTERS :{LTBLUE}Сти
|
||||
STR_CITY_APPROVAL :{LTBLUE}Відношення влади до перебудови території міста: {ORANGE}{STRING}
|
||||
############ range for difficulty settings ends
|
||||
|
||||
STR_NONE :Нема
|
||||
STR_NONE :нема
|
||||
STR_NUM_VERY_LOW :дуже мало
|
||||
STR_6816_LOW :МалО
|
||||
STR_6817_NORMAL :Нормально
|
||||
STR_6818_HIGH :Багато
|
||||
STR_6816_LOW :мало
|
||||
STR_6817_NORMAL :нормально
|
||||
STR_6818_HIGH :багато
|
||||
STR_6819 :{BLACK}{SMALLLEFTARROW}
|
||||
STR_681A :{BLACK}{SMALLRIGHTARROW}
|
||||
STR_681B_VERY_SLOW :Дуже повільно
|
||||
STR_681C_SLOW :Повільно
|
||||
STR_681D_MEDIUM :Середньо
|
||||
STR_681E_FAST :Швидко
|
||||
STR_681F_VERY_FAST :Дуже швидко
|
||||
STR_VERY_LOW :Дуже мало
|
||||
STR_6820_LOW :МаЛо
|
||||
STR_6821_MEDIUM :Середньо
|
||||
STR_6822_HIGH :Багато
|
||||
STR_6823_NONE :Відкл.
|
||||
STR_6824_REDUCED :Знижено
|
||||
STR_6825_NORMAL :Нормально
|
||||
STR_681D_MEDIUM :середньо
|
||||
STR_681E_FAST :швидко
|
||||
STR_681F_VERY_FAST :дуже швидко
|
||||
STR_VERY_LOW :дуже мало
|
||||
STR_6820_LOW :мало
|
||||
STR_6821_MEDIUM :середньо
|
||||
STR_6822_HIGH :багато
|
||||
STR_6823_NONE :відкл.
|
||||
STR_6824_REDUCED :знижено
|
||||
STR_6825_NORMAL :нормально
|
||||
STR_6826_X1_5 :x1.5
|
||||
STR_6827_X2 :x2
|
||||
STR_6828_X3 :x3
|
||||
STR_6829_X4 :x4
|
||||
STR_682A_VERY_FLAT :Дуже рівний
|
||||
STR_682B_FLAT :Рівнинний
|
||||
STR_682C_HILLY :Горбкуватий
|
||||
STR_682D_MOUNTAINOUS :Гористий
|
||||
STR_682E_STEADY :Стабільна
|
||||
STR_682F_FLUCTUATING :Нестійка
|
||||
STR_682A_VERY_FLAT :плаский
|
||||
STR_682B_FLAT :рівнинний
|
||||
STR_682C_HILLY :горбкуватий
|
||||
STR_682D_MOUNTAINOUS :гористий
|
||||
STR_682E_STEADY :стабільна
|
||||
STR_682F_FLUCTUATING :нестійка
|
||||
STR_6830_IMMEDIATE :відразу
|
||||
STR_6831_3_MONTHS_AFTER_PLAYER :3 місяці після гравця
|
||||
STR_6832_6_MONTHS_AFTER_PLAYER :6 місяців після гравця
|
||||
@@ -2357,15 +2358,15 @@ STR_6835_AT_END_OF_LINE_ONLY :лише в к
|
||||
STR_6836_OFF :відкл.
|
||||
STR_6837_ON :вкл.
|
||||
STR_6838_SHOW_HI_SCORE_CHART :{BLACK}Показати таблицю рекордів
|
||||
STR_PERMISSIVE :Допустиме
|
||||
STR_TOLERANT :Терпиме
|
||||
STR_HOSTILE :Вороже
|
||||
STR_PERMISSIVE :допустиме
|
||||
STR_TOLERANT :терпиме
|
||||
STR_HOSTILE :вороже
|
||||
|
||||
##id 0x7000
|
||||
STR_7000 :
|
||||
STR_7001 :{WHITE}{COMPANY} {BLACK}{COMPANYNUM}
|
||||
STR_7002_PLAYER :(Гравець {COMMA})
|
||||
STR_7004_NEW_FACE :{BLACK}Нове лице
|
||||
STR_7004_NEW_FACE :{BLACK}Нове обличчя
|
||||
STR_7005_COLOR_SCHEME :{BLACK}Колір
|
||||
STR_7006_COLOR_SCHEME :{GOLD}Колір:
|
||||
STR_7007_NEW_COLOR_SCHEME :{WHITE}Новий колір
|
||||
@@ -2389,35 +2390,35 @@ STR_7018_TRAIN_INCOME :{GOLD}Дохі
|
||||
STR_7019_ROAD_VEHICLES_INCOME :{GOLD}Дохід, автомобілі
|
||||
STR_701A_AIRCRAFT_INCOME :{GOLD}Дохід, літаки
|
||||
STR_701B_SHIP_INCOME :{GOLD}Дохід, кораблі
|
||||
STR_701C_LOAN_INTEREST :{GOLD}Відсотки за кредит
|
||||
STR_701C_LOAN_INTEREST :{GOLD}Відсотки за позикою
|
||||
STR_701D_OTHER :{GOLD}Інше
|
||||
STR_701E :{BLACK}-{CURRENCY}
|
||||
STR_701F :{BLACK}+{CURRENCY}
|
||||
STR_7020_TOTAL :{WHITE}Всього:
|
||||
STR_7020_TOTAL :{WHITE}Підсумок:
|
||||
STR_7021 :{COMPANY} {COMPANYNUM}
|
||||
STR_7022_INCOME_GRAPH :{WHITE}Графік доходів
|
||||
STR_CURRCOMPACT :{CURRCOMPACT}
|
||||
STR_7024 :{COMMA}
|
||||
STR_7025_OPERATING_PROFIT_GRAPH :{WHITE}Графік прибутку від виробництва
|
||||
STR_7025_OPERATING_PROFIT_GRAPH :{WHITE}Графік операційного прибутку
|
||||
STR_7026_BANK_BALANCE :{WHITE}Рахунок
|
||||
STR_7027_LOAN :{WHITE}Взято в кредит
|
||||
STR_MAX_LOAN :{WHITE}Макс. кредит: {BLACK}{CURRENCY}
|
||||
STR_7027_LOAN :{WHITE}Позика
|
||||
STR_MAX_LOAN :{WHITE}Макс. позика: {BLACK}{CURRENCY}
|
||||
STR_7028 :{BLACK}{CURRENCY}
|
||||
STR_7029_BORROW :{BLACK}Позичити {SKIP}{SKIP}{CURRENCY}
|
||||
STR_702A_REPAY :{BLACK}Повернути {SKIP}{SKIP}{CURRENCY}
|
||||
STR_702B_MAXIMUM_PERMITTED_LOAN :{WHITE}...найбільший дозволений розмір кредиту {CURRENCY}
|
||||
STR_702C_CAN_T_BORROW_ANY_MORE_MONEY :{WHITE}Неможливо взяти кредит...
|
||||
STR_702D_LOAN_ALREADY_REPAYED :{WHITE}...кредит вже оплачено
|
||||
STR_702B_MAXIMUM_PERMITTED_LOAN :{WHITE}...найбільший дозволений розмір позики {CURRENCY}
|
||||
STR_702C_CAN_T_BORROW_ANY_MORE_MONEY :{WHITE}Неможливо взяти ще позику...
|
||||
STR_702D_LOAN_ALREADY_REPAYED :{WHITE}...позика вже повернута
|
||||
STR_702E_REQUIRED :{WHITE}...потрібно {CURRENCY}
|
||||
STR_702F_CAN_T_REPAY_LOAN :{WHITE}Неможливо виплатити кредит...
|
||||
STR_INSUFFICIENT_FUNDS :{WHITE}Неможливо передати гроші, які взяли в кредит з банку...
|
||||
STR_7030_SELECT_NEW_FACE_FOR_PRESIDENT :{BLACK}Вибір нового лиця керівника
|
||||
STR_702F_CAN_T_REPAY_LOAN :{WHITE}Неможливо повернути позику...
|
||||
STR_INSUFFICIENT_FUNDS :{WHITE}Неможливо передати гроші, позичені у банку...
|
||||
STR_7030_SELECT_NEW_FACE_FOR_PRESIDENT :{BLACK}Вибрати нове обличчя керівника
|
||||
STR_7031_CHANGE_THE_COMPANY_VEHICLE :{BLACK}Зміна кольору транспорту компанії
|
||||
STR_7032_CHANGE_THE_PRESIDENT_S :{BLACK}Зміна імені керівника
|
||||
STR_7033_CHANGE_THE_COMPANY_NAME :{BLACK}Зміна назви компанії
|
||||
STR_7034_CLICK_ON_SELECTED_NEW_COLOR :{BLACK}Натисніть на колір, який вам до вподоби
|
||||
STR_7035_INCREASE_SIZE_OF_LOAN :{BLACK}Взяти кредит
|
||||
STR_7036_REPAY_PART_OF_LOAN :{BLACK}Виплатити частину кредиту
|
||||
STR_7035_INCREASE_SIZE_OF_LOAN :{BLACK}Збільшити розмір позики
|
||||
STR_7036_REPAY_PART_OF_LOAN :{BLACK}Повернути частину позики
|
||||
STR_7037_PRESIDENT :{WHITE}{PLAYERNAME}{}{GOLD}(Керівник)
|
||||
STR_7038_INAUGURATED :{GOLD}Засновано у: {WHITE}{NUM} році
|
||||
STR_7039_VEHICLES :{GOLD}Транспорт:
|
||||
@@ -2426,19 +2427,19 @@ STR_ROAD_VEHICLES :{WHITE}{COMMA}
|
||||
STR_AIRCRAFT :{WHITE}{COMMA} літак{P "" и ів}
|
||||
STR_SHIPS :{WHITE}{COMMA} кораб{P ель лі ів}
|
||||
STR_7042_NONE :{WHITE}Нема
|
||||
STR_7043_FACE_SELECTION :{WHITE}Вибір лиця
|
||||
STR_7043_FACE_SELECTION :{WHITE}Вибір обличчя
|
||||
STR_7044_MALE :{BLACK}Чоловік
|
||||
STR_7045_FEMALE :{BLACK}Жінка
|
||||
STR_7046_NEW_FACE :{BLACK}Нове лице
|
||||
STR_7047_CANCEL_NEW_FACE_SELECTION :{BLACK}Відмінити вибір нового лиця
|
||||
STR_7048_ACCEPT_NEW_FACE_SELECTION :{BLACK}Підтвердити вибір нового лиця
|
||||
STR_7049_SELECT_MALE_FACES :{BLACK}Вибір чоловічого лиця
|
||||
STR_704A_SELECT_FEMALE_FACES :{BLACK}Вибір жіночого лиця
|
||||
STR_704B_GENERATE_RANDOM_NEW_FACE :{BLACK}Генерувати випадкове нове лице
|
||||
STR_7046_NEW_FACE :{BLACK}Нове обличчя
|
||||
STR_7047_CANCEL_NEW_FACE_SELECTION :{BLACK}Відмінити вибір нового обличчя
|
||||
STR_7048_ACCEPT_NEW_FACE_SELECTION :{BLACK}Підтвердити вибір нового обличчя
|
||||
STR_7049_SELECT_MALE_FACES :{BLACK}Вибрати чоловіче обличчя
|
||||
STR_704A_SELECT_FEMALE_FACES :{BLACK}Вибрати жіноче обличчя
|
||||
STR_704B_GENERATE_RANDOM_NEW_FACE :{BLACK}Генерувати нове випадкове обличчя
|
||||
STR_704C_KEY :{BLACK}Ключ
|
||||
STR_704D_SHOW_KEY_TO_GRAPHS :{BLACK}Показ ключа до графіків
|
||||
STR_704E_KEY_TO_COMPANY_GRAPHS :{WHITE}Ключ до графіків компанії
|
||||
STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY :{BLACK}Натисніть для вкл/викл окремого графіку компанії
|
||||
STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY :{BLACK}Натисніть тут для вкл./відкл. графіку окремої компанії
|
||||
STR_7050_UNITS_OF_CARGO_DELIVERED :{WHITE}Доставка одиниці вантажу
|
||||
STR_7051_COMPANY_PERFORMANCE_RATINGS :{WHITE}Рейтинг продуктивності компанії (найбільший рейтинг=1000)
|
||||
STR_7052_COMPANY_VALUES :{WHITE}Вартість компанії
|
||||
@@ -2563,7 +2564,7 @@ STR_801B_PASSENGER_CAR :Пасажир
|
||||
STR_801C_MAIL_VAN :Поштовий
|
||||
STR_801D_COAL_CAR :Вугільний
|
||||
STR_801E_OIL_TANKER :Нафтовий
|
||||
STR_801F_LIVESTOCK_VAN :Вагон для тварин
|
||||
STR_801F_LIVESTOCK_VAN :Вагон для худоби
|
||||
STR_8020_GOODS_VAN :Товарний
|
||||
STR_8021_GRAIN_HOPPER :Вагон для зерна
|
||||
STR_8022_WOOD_TRUCK :Вагон для деревини
|
||||
@@ -2593,7 +2594,7 @@ STR_8039_PASSENGER_CAR :Пасажир
|
||||
STR_803A_MAIL_VAN :Вагон для пошти
|
||||
STR_803B_COAL_CAR :Вагон для вугілля
|
||||
STR_803C_OIL_TANKER :Цистерна для нафти
|
||||
STR_803D_LIVESTOCK_VAN :вантажівка для тварин
|
||||
STR_803D_LIVESTOCK_VAN :вантажівка для худоби
|
||||
STR_803E_GOODS_VAN :вантажівка для товарів
|
||||
STR_803F_GRAIN_HOPPER :вагон для зерна
|
||||
STR_8040_WOOD_TRUCK :лісовоз
|
||||
@@ -3222,7 +3223,7 @@ STR_PERFORMANCE_DETAIL_DELIVERED :{BLACK}Дост
|
||||
STR_PERFORMANCE_DETAIL_CARGO :{BLACK}Вантаж:
|
||||
STR_PERFORMANCE_DETAIL_MONEY :{BLACK}Кошти:
|
||||
STR_PERFORMANCE_DETAIL_LOAN :{BLACK}Кредит:
|
||||
STR_PERFORMANCE_DETAIL_TOTAL :{BLACK}Всього:
|
||||
STR_PERFORMANCE_DETAIL_TOTAL :{BLACK}Підсумок:
|
||||
############ End of order list
|
||||
STR_PERFORMANCE_DETAIL_VEHICLES_TIP :{BLACK}Загальна кількість транспорту
|
||||
STR_PERFORMANCE_DETAIL_STATIONS_TIP :{BLACK}Загальна кількість станцій.
|
||||
@@ -3232,7 +3233,7 @@ STR_PERFORMANCE_DETAIL_MAX_INCOME_TIP :{BLACK}Найб
|
||||
STR_PERFORMANCE_DETAIL_DELIVERED_TIP :{BLACK}Кількість одиниць вантажу, доставлених за останні 4 квартали
|
||||
STR_PERFORMANCE_DETAIL_CARGO_TIP :{BLACK}Кількість видів вантажу, доставлених за останній квартал
|
||||
STR_PERFORMANCE_DETAIL_MONEY_TIP :{BLACK}Сума коштів на рахунку компанії
|
||||
STR_PERFORMANCE_DETAIL_LOAN_TIP :{BLACK}Сума кредиту, що надано компанії
|
||||
STR_PERFORMANCE_DETAIL_LOAN_TIP :{BLACK}Сума позики, наданої компанії
|
||||
STR_PERFORMANCE_DETAIL_TOTAL_TIP :{BLACK}Загальна кількість балів
|
||||
|
||||
STR_NEWGRF_SETTINGS_BUTTON :{BLACK}Налаштування NewGRF
|
||||
@@ -3259,6 +3260,7 @@ STR_NEWGRF_ERROR_LOAD_AFTER :{STRING} має
|
||||
STR_NEWGRF_ERROR_OTTD_VERSION_NUMBER :{STRING} потребує версію OpenTTD не нижче {STRING}.
|
||||
STR_NEWGRF_ERROR_AFTER_TRANSLATED_FILE :GRF-файл, для якого це призначалось перекласти
|
||||
STR_NEWGRF_ERROR_TOO_MANY_NEWGRFS_LOADED :Завантажено забагато NewGRF-файлів.
|
||||
STR_NEWGRF_ERROR_STATIC_GRF_CAUSES_DESYNC :Завантаження {STRING} як статичного NewGRF з {STRING} може викликати десинхронізацію.
|
||||
|
||||
STR_NEWGRF_ADD :{BLACK}Додати
|
||||
STR_NEWGRF_ADD_TIP :{BLACK}Додати файли NewGRF до списку
|
||||
@@ -3290,6 +3292,10 @@ STR_NEWGRF_NOT_FOUND_WARNING :{WHITE}Відс
|
||||
STR_NEWGRF_UNPAUSE_WARNING_TITLE :{YELLOW}Відсутній GRF файл(и)
|
||||
STR_NEWGRF_UNPAUSE_WARNING :{WHITE}Зняття з паузи може привести до аварійної відмови OpenTTD. Не рапортуйте про наступні відмови.{}Ви дійсно хочете зняти з паузи?
|
||||
|
||||
STR_NEWGRF_BROKEN :{WHITE}Поведінка NewGRF '{0:STRING}' може спричинити розсинхронізацію та/або аварійне завершення.
|
||||
STR_NEWGRF_BROKEN_VEHICLE_LENGTH :{WHITE}Це змінить довжину транспорту для '{1:ENGINE}', якщо він не в депо.
|
||||
STR_BROKEN_VEHICLE_LENGTH :{WHITE}Потяг '{VEHICLE}', який належить '{COMPANY}', має неправильну довжину. Можливо, це спричинено проблемами з NewGRFs. Гра може розсинхронізуватись або аварійно завершитись.
|
||||
STR_LOADGAME_REMOVED_TRAMS :{WHITE}Гра була записана у версії без підтримки трамваїв. Усі трамваї були видалені.
|
||||
STR_CURRENCY_WINDOW :{WHITE}Вибір грошової одиниці
|
||||
STR_CURRENCY_EXCHANGE_RATE :{LTBLUE}Валютний курс: {ORANGE}{CURRENCY} = Ј {COMMA}
|
||||
STR_CURRENCY_SEPARATOR :{LTBLUE}Роздільник:
|
||||
@@ -3488,13 +3494,13 @@ STR_HELISTATION :{BLACK}Гелі
|
||||
|
||||
STR_SMALL_AIRPORTS :{BLACK}Малі аеропорти
|
||||
STR_LARGE_AIRPORTS :{BLACK}Великі аеропорти
|
||||
STR_HUB_AIRPORTS :{BLACK}Мега-аеропорти
|
||||
STR_HUB_AIRPORTS :{BLACK}Вузлові аеропорти
|
||||
STR_HELIPORTS :{BLACK}Геліко-аеропорт
|
||||
|
||||
############ Tooltip measurment
|
||||
|
||||
STR_MEASURE_LENGTH :{BLACK}Довжина: {NUM}
|
||||
STR_MEASURE_AREA :{BLACK}Область: {NUM} x {NUM}
|
||||
STR_MEASURE_AREA :{BLACK}Ділянка: {NUM} x {NUM}
|
||||
STR_MEASURE_LENGTH_HEIGHTDIFF :{BLACK}Довжина: {NUM}{}Різниця висот: {NUM} м
|
||||
STR_MEASURE_AREA_HEIGHTDIFF :{BLACK}Ділянка: {NUM} x {NUM}{}Різниця висот: {NUM} м
|
||||
|
||||
@@ -3621,8 +3627,8 @@ STR_FACE_MOUSTACHE :Вуса:
|
||||
STR_FACE_LIPS_MOUSTACHE_TIP :{BLACK}Змінити губи або вуса
|
||||
STR_FACE_CHIN :Підборіддя:
|
||||
STR_FACE_CHIN_TIP :{BLACK}Змінити підборіддя
|
||||
STR_FACE_JACKET :Жакет:
|
||||
STR_FACE_JACKET_TIP :{BLACK}Змінити жакет
|
||||
STR_FACE_JACKET :Піджак:
|
||||
STR_FACE_JACKET_TIP :{BLACK}Змінити піджак
|
||||
STR_FACE_COLLAR :Комір
|
||||
STR_FACE_COLLAR_TIP :{BLACK}Змінити комір
|
||||
STR_FACE_TIE :Краватка:
|
||||
|
@@ -1863,7 +1863,6 @@ STR_707A_SELL_25_SHARE_IN_THIS_COMPANY :{BLACK}Πώλη
|
||||
STR_707B_CAN_T_BUY_25_SHARE_IN_THIS :{WHITE}Αδύνατη η αγορά μεριδίου 25% της εταιρείας...
|
||||
STR_707C_CAN_T_SELL_25_SHARE_IN :{WHITE}Αδύνατη η πώληση μεριδίου 25% της εταιρείας...
|
||||
STR_707D_OWNED_BY :{WHITE}({COMMA}% είναι ιδιοκτησία της {COMPANY})
|
||||
STR_707E_OWNED_BY_OWNED_BY :{WHITE}({COMMA}% είναι ιδιοκτησία της εταιρείας {COMPANY}{} {COMMA}% ιδιοκτησία της {COMPANY})
|
||||
STR_707F_HAS_BEEN_TAKEN_OVER_BY :{BLACK}{BIGFONT}Η {COMPANY} εξαγοράστηκε από την {COMPANY}!
|
||||
STR_PROTECTED :{WHITE}Αυτή η εταιρεία δεν είναι αρκετά ώριμη για συναλλαγή μετοχών ακόμα...
|
||||
|
||||
|
@@ -11,11 +11,11 @@
|
||||
STR_NULL :
|
||||
STR_0001_OFF_EDGE_OF_MAP :{WHITE}Ārpus kartes robežām
|
||||
STR_0002_TOO_CLOSE_TO_EDGE_OF_MAP :{WHITE}Pārāk tuvu kartes malai
|
||||
STR_0003_NOT_ENOUGH_CASH_REQUIRES :{WHITE}Nepietiek naudas - nepieciešami {CURRENCY}
|
||||
STR_0003_NOT_ENOUGH_CASH_REQUIRES :{WHITE}Nepietiek naudas - nepieciešams {CURRENCY}
|
||||
STR_0004 :{WHITE}{CURRENCY}
|
||||
STR_EMPTY :
|
||||
STR_0007_FLAT_LAND_REQUIRED :{WHITE}Zemei jābūt plakanai
|
||||
STR_0008_WAITING :{BLACK}Gaidam: {WHITE}{STRING.a}
|
||||
STR_0008_WAITING :{BLACK}Gaida: {WHITE}{STRING.a}
|
||||
STR_0009 :{WHITE}{CARGO}
|
||||
STR_000C_ACCEPTS :{BLACK}Pieņem: {WHITE}
|
||||
STR_000D_ACCEPTS :{BLACK}Pieņem: {GOLD}
|
||||
@@ -24,58 +24,58 @@ STR_000F_PASSENGERS :Pasažieri
|
||||
STR_0010_COAL :Ogles
|
||||
STR_0011_MAIL :Pasts
|
||||
STR_0012_OIL :Nafta
|
||||
STR_0013_LIVESTOCK :Liellopus
|
||||
STR_0013_LIVESTOCK :Mājlopi
|
||||
STR_0014_GOODS :Preces
|
||||
STR_0015_GRAIN :Graudus
|
||||
STR_0016_WOOD :Kokmateria'lus
|
||||
STR_0017_IRON_ORE :Dzelzs ru'du
|
||||
STR_0018_STEEL :Te'raudu
|
||||
STR_0019_VALUABLES :Ve'rtspapi'ri
|
||||
STR_001A_COPPER_ORE :Vara ru'da
|
||||
STR_001B_MAIZE :Kukuru'za
|
||||
STR_001C_FRUIT :Augl'i
|
||||
STR_0015_GRAIN :Graudi
|
||||
STR_0016_WOOD :Koksne
|
||||
STR_0017_IRON_ORE :Dzelzsrūda
|
||||
STR_0018_STEEL :Tērauds
|
||||
STR_0019_VALUABLES :Vērtslietas
|
||||
STR_001A_COPPER_ORE :Vara rūda
|
||||
STR_001B_MAIZE :Kukurūza
|
||||
STR_001C_FRUIT :Augļi
|
||||
STR_001D_DIAMONDS :Dimanti
|
||||
STR_001E_FOOD :Pa'rtika
|
||||
STR_001F_PAPER :Papi'rs
|
||||
STR_001E_FOOD :Pārtika
|
||||
STR_001F_PAPER :Papīrs
|
||||
STR_0020_GOLD :Zelts
|
||||
STR_0021_WATER :U'dens
|
||||
STR_0022_WHEAT :Kvies'i
|
||||
STR_0023_RUBBER :Gumija
|
||||
STR_0021_WATER :Ūdens
|
||||
STR_0022_WHEAT :Kvieši
|
||||
STR_0023_RUBBER :Kaučuks
|
||||
STR_0024_SUGAR :Cukurs
|
||||
STR_0025_TOYS :Rotal'lietas
|
||||
STR_0025_TOYS :Rotaļlietas
|
||||
STR_0026_CANDY :Saldumi
|
||||
STR_0027_COLA :Kola
|
||||
STR_0028_COTTON_CANDY :Cukurvate
|
||||
STR_0029_BUBBLES :Burbul'i
|
||||
STR_002A_TOFFEE :Cukurpla'ksnes
|
||||
STR_0029_BUBBLES :Burbuļi
|
||||
STR_002A_TOFFEE :Īriss
|
||||
STR_002B_BATTERIES :Baterijas
|
||||
STR_002C_PLASTIC :Plastmasa
|
||||
STR_002D_FIZZY_DRINKS :Burbul'u'den'i
|
||||
STR_002D_FIZZY_DRINKS :Limonāde
|
||||
STR_002E :
|
||||
STR_002F_PASSENGER :Pasaz'ieris
|
||||
STR_0030_COAL :Ogle
|
||||
STR_002F_PASSENGER :Pasažieris
|
||||
STR_0030_COAL :Ogles
|
||||
STR_0031_MAIL :Pasts
|
||||
STR_0032_OIL :Nafta
|
||||
STR_0033_LIVESTOCK :Liellopi
|
||||
STR_0033_LIVESTOCK :Mājlopi
|
||||
STR_0034_GOODS :Preces
|
||||
STR_0035_GRAIN :Graudi
|
||||
STR_0036_WOOD :Kokmaterea'li
|
||||
STR_0037_IRON_ORE :Dzelzs ru'da
|
||||
STR_0038_STEEL :Te'rauds
|
||||
STR_0039_VALUABLES :Ve'rtspapi'ri
|
||||
STR_003A_COPPER_ORE :Vara ru'da
|
||||
STR_003B_MAIZE :Kukuru'za
|
||||
STR_003C_FRUIT :Augl'i
|
||||
STR_003D_DIAMOND :Dimanti
|
||||
STR_003E_FOOD :Pa'rtika
|
||||
STR_003F_PAPER :papi'rs
|
||||
STR_0036_WOOD :Koksne
|
||||
STR_0037_IRON_ORE :Dzelzsrūda
|
||||
STR_0038_STEEL :Tērauds
|
||||
STR_0039_VALUABLES :Vērtslietas
|
||||
STR_003A_COPPER_ORE :Vara rūda
|
||||
STR_003B_MAIZE :Kukurūza
|
||||
STR_003C_FRUIT :Augļi
|
||||
STR_003D_DIAMOND :Dimants
|
||||
STR_003E_FOOD :Pārtika
|
||||
STR_003F_PAPER :Papīrs
|
||||
STR_0040_GOLD :Zelts
|
||||
STR_0041_WATER :U'dens
|
||||
STR_0042_WHEAT :Kvies'i
|
||||
STR_0043_RUBBER :Gumija
|
||||
STR_0041_WATER :Ūdens
|
||||
STR_0042_WHEAT :Kvieši
|
||||
STR_0043_RUBBER :Kaučuks
|
||||
STR_0044_SUGAR :Cukurs
|
||||
STR_0045_TOY :Rotal'lieta
|
||||
STR_0046_CANDY :Saldumi
|
||||
STR_0045_TOY :Rotaļlieta
|
||||
STR_0046_CANDY :Saldums
|
||||
STR_0047_COLA :Kola
|
||||
STR_0048_COTTON_CANDY :Cukurvate
|
||||
STR_0049_BUBBLE :Burbulis
|
||||
@@ -1707,8 +1707,23 @@ STR_801A_ASIASTAR_ELECTRIC :'AsiaStar' (Ele
|
||||
STR_8036_X2001_ELECTRIC :'X2001' (Electric)
|
||||
STR_8037_MILLENNIUM_Z1_ELECTRIC :'Millennium Z1' (Electric)
|
||||
STR_8038_WIZZOWOW_Z99 :Wizzowow Z99
|
||||
STR_8039_PASSENGER_CAR :Pasažieru Vagons
|
||||
STR_803A_MAIL_VAN :Pasta Vagons
|
||||
STR_8048_FRUIT_TRUCK :Fruktu Vagons
|
||||
STR_803B_COAL_CAR :Ogļu Platforma
|
||||
STR_803C_OIL_TANKER :Naftas Cisterna
|
||||
STR_803D_LIVESTOCK_VAN :Mājlopu Vagons
|
||||
STR_803E_GOODS_VAN :Preču Vagons
|
||||
STR_803F_GRAIN_HOPPER :Graudu Vagons
|
||||
STR_8040_WOOD_TRUCK :Kokmateriālu Platforma
|
||||
STR_8041_IRON_ORE_HOPPER :Dzelzsrūdas Vagons
|
||||
STR_8042_STEEL_TRUCK :Tērauda Platforma
|
||||
STR_8043_ARMORED_VAN :Bruņots Vagons
|
||||
STR_8044_FOOD_VAN :Pārtikas Vagons
|
||||
STR_8045_PAPER_TRUCK :Papīra Platforma
|
||||
STR_8046_COPPER_ORE_HOPPER :Vara Rūdas Vagonete
|
||||
STR_8047_WATER_TANKER :Ūdens Cisterna
|
||||
STR_8048_FRUIT_TRUCK :Augļu Platforma
|
||||
STR_8049_RUBBER_TRUCK :Gumijas Platforma
|
||||
STR_8054_LEV1_LEVIATHAN_ELECTRIC :Lev1 'Leviathan' (Electric)
|
||||
STR_8055_LEV2_CYCLOPS_ELECTRIC :Lev2 'Cyclops' (Electric)
|
||||
STR_8056_LEV3_PEGASUS_ELECTRIC :Lev3 'Pegasus' (Electric)
|
||||
@@ -1794,8 +1809,17 @@ STR_GO_TO_TRAIN_DEPOT :Uz {TOWN} Vilci
|
||||
|
||||
STR_8812_EMPTY :{LTBLUE}Tukšs
|
||||
STR_8816 :{BLACK}-
|
||||
STR_8819_TRAIN_TOO_LONG :{WHITE}Vilciens ir pārāk garš
|
||||
STR_881A_TRAINS_CAN_ONLY_BE_ALTERED :{WHITE}Vilcienus ir iespējams pārveidot tikai tad, kad tie ir apstādināti depo
|
||||
|
||||
STR_881C_NEW_RAIL_VEHICLES :{WHITE}Jauni Dzelzceļa Satiksmes Līdzekļi
|
||||
STR_NEW_ELRAIL_VEHICLES :{WHITE}Jauni Elektriskā Dzelzceļa Satiksmes Līdzekļi
|
||||
STR_881D_NEW_MONORAIL_VEHICLES :{WHITE}Jauni Viensliežu Dzelzeļa Satiksmes Līdzekļi
|
||||
STR_881E_NEW_MAGLEV_VEHICLES :{WHITE}Jauni Magnētiskā Dzelzceļa Satiksmes Līdzekļi
|
||||
STR_ALL_AVAIL_RAIL_VEHICLES :{WHITE}Dzelzceļa Satiksmes Līdzekļi
|
||||
|
||||
STR_881F_BUILD_VEHICLE :{BLACK}Būvēt Satiksmes Līdzekli
|
||||
STR_CLONE_ROAD_VEHICLE :{BLACK}Klonēt Satiksmes Līdzekli
|
||||
STR_FULLLOAD_OR_SERVICE :{SKIP}{SKIP}{STRING}
|
||||
STR_SERVICE :{BLACK}Serviss
|
||||
STR_882E :{WHITE}{VEHICLE}
|
||||
|
@@ -1,85 +0,0 @@
|
||||
/* $Id$ */
|
||||
|
||||
/** @file autocopyptr.hpp */
|
||||
|
||||
#ifndef AUTOCOPYPTR_HPP
|
||||
#define AUTOCOPYPTR_HPP
|
||||
|
||||
#if 0 // reenable when needed
|
||||
/** CAutoCopyPtrT - kind of CoW (Copy on Write) pointer.
|
||||
* It is non-invasive smart pointer (reference counter is held outside
|
||||
* of Tdata).
|
||||
* When copied, its new copy shares the same underlaying structure Tdata.
|
||||
* When dereferenced, its behaviour depends on 2 factors:
|
||||
* - whether the data is shared (used by more than one pointer)
|
||||
* - type of access (read/write)
|
||||
* When shared pointer is dereferenced for write, new clone of Tdata
|
||||
* is made first.
|
||||
* Can't be used for polymorphic data types (interfaces).
|
||||
*/
|
||||
template <class Tdata_>
|
||||
class CAutoCopyPtrT {
|
||||
protected:
|
||||
typedef Tdata_ Tdata;
|
||||
|
||||
struct CItem {
|
||||
int m_ref_cnt; ///< reference counter
|
||||
Tdata m_data; ///< custom data itself
|
||||
|
||||
FORCEINLINE CItem() : m_ref_cnt(1) {};
|
||||
FORCEINLINE CItem(const Tdata& data) : m_ref_cnt(1), m_data(data) {};
|
||||
FORCEINLINE CItem(const CItem& src) : m_ref_cnt(1), m_data(src.m_data) {};
|
||||
};
|
||||
|
||||
mutable CItem* m_pI; ///< points to the ref-counted data
|
||||
|
||||
public:
|
||||
FORCEINLINE CAutoCopyPtrT() : m_pI(NULL) {};
|
||||
FORCEINLINE CAutoCopyPtrT(const Tdata& data) : m_pI(new CItem(data)) {};
|
||||
FORCEINLINE CAutoCopyPtrT(const CAutoCopyPtrT& src) : m_pI(src.m_pI) {if (m_pI != NULL) m_pI->m_ref_cnt++;}
|
||||
FORCEINLINE ~CAutoCopyPtrT() {if (m_pI == NULL || (--m_pI->m_ref_cnt) > 0) return; delete m_pI; m_pI = NULL;}
|
||||
|
||||
/** data accessor (read only) */
|
||||
FORCEINLINE const Tdata& GetDataRO() const {if (m_pI == NULL) m_pI = new CItem(); return m_pI->m_data;}
|
||||
/** data accessor (read / write) */
|
||||
FORCEINLINE Tdata& GetDataRW() {CloneIfShared(); if (m_pI == NULL) m_pI = new CItem(); return m_pI->m_data;}
|
||||
|
||||
/** clone data if it is shared */
|
||||
FORCEINLINE void CloneIfShared()
|
||||
{
|
||||
if (m_pI != NULL && m_pI->m_ref_cnt > 1) {
|
||||
// we share data item with somebody, clone it to become an exclusive owner
|
||||
CItem* pNewI = new CItem(*m_pI);
|
||||
m_pI->m_ref_cnt--;
|
||||
m_pI = pNewI;
|
||||
}
|
||||
}
|
||||
|
||||
/** assign pointer from the other one (maintaining ref counts) */
|
||||
FORCEINLINE void Assign(const CAutoCopyPtrT& src)
|
||||
{
|
||||
if (m_pI == src.m_pI) return;
|
||||
if (m_pI != NULL && (--m_pI->m_ref_cnt) <= 0) delete m_pI;
|
||||
m_pI = src.m_pI;
|
||||
if (m_pI != NULL) m_pI->m_ref_cnt++;
|
||||
}
|
||||
|
||||
/** dereference operator (read only) */
|
||||
FORCEINLINE const Tdata* operator -> () const {return &GetDataRO();}
|
||||
/** dereference operator (read / write) */
|
||||
FORCEINLINE Tdata* operator -> () {return &GetDataRW();}
|
||||
|
||||
/** assignment operator */
|
||||
FORCEINLINE CAutoCopyPtrT& operator = (const CAutoCopyPtrT& src) {Assign(src); return *this;}
|
||||
|
||||
/** forwarding 'lower then' operator to the underlaying items */
|
||||
FORCEINLINE bool operator < (const CAutoCopyPtrT& other) const
|
||||
{
|
||||
assert(m_pI != NULL);
|
||||
assert(other.m_pI != NULL);
|
||||
return (m_pI->m_data) < (other.m_pI->m_data);
|
||||
}
|
||||
};
|
||||
|
||||
#endif /* 0 */
|
||||
#endif /* AUTOCOPYPTR_HPP */
|
@@ -1,106 +0,0 @@
|
||||
/* $Id$ */
|
||||
|
||||
/** @file autoptr.hpp */
|
||||
|
||||
#ifndef AUTOPTR_HPP
|
||||
#define AUTOPTR_HPP
|
||||
|
||||
/** AutoPtrT - kind of smart pointer that ensures the owned object gets
|
||||
* deleted when its pointer goes out of scope.
|
||||
* It is non-invasive smart pointer (no reference counter).
|
||||
* When copied, the copy takes ownership of underlying object
|
||||
* and original becomes NULL!
|
||||
* Can be used also for polymorphic data types (interfaces).
|
||||
*/
|
||||
template <class T>
|
||||
class AutoPtrT {
|
||||
public:
|
||||
typedef T obj_t;
|
||||
|
||||
protected:
|
||||
mutable T* m_p; ///< points to the data
|
||||
|
||||
public:
|
||||
FORCEINLINE AutoPtrT()
|
||||
: m_p(NULL)
|
||||
{};
|
||||
|
||||
FORCEINLINE AutoPtrT(const AutoPtrT<T>& src)
|
||||
: m_p(src.m_p)
|
||||
{
|
||||
if (m_p != NULL) src.m_p = NULL;
|
||||
};
|
||||
|
||||
FORCEINLINE AutoPtrT(T *p)
|
||||
: m_p(p)
|
||||
{}
|
||||
|
||||
FORCEINLINE ~AutoPtrT()
|
||||
{
|
||||
if (m_p != NULL) {
|
||||
T *p = m_p;
|
||||
m_p = NULL;
|
||||
delete p;
|
||||
}
|
||||
}
|
||||
|
||||
/** give-up ownership and NULLify the raw pointer */
|
||||
FORCEINLINE T* Detach()
|
||||
{
|
||||
T* p = m_p;
|
||||
m_p = NULL;
|
||||
return p;
|
||||
}
|
||||
|
||||
/** raw-pointer cast operator (read only) */
|
||||
FORCEINLINE operator const T* () const
|
||||
{
|
||||
return m_p;
|
||||
}
|
||||
|
||||
/** raw-pointer cast operator */
|
||||
FORCEINLINE operator T* ()
|
||||
{
|
||||
return m_p;
|
||||
}
|
||||
|
||||
/** dereference operator (read only) */
|
||||
FORCEINLINE const T* operator -> () const
|
||||
{
|
||||
assert(m_p != NULL);
|
||||
return m_p;
|
||||
}
|
||||
|
||||
/** dereference operator (read / write) */
|
||||
FORCEINLINE T* operator -> ()
|
||||
{
|
||||
assert(m_p != NULL);
|
||||
return m_p;
|
||||
}
|
||||
|
||||
/** assignment operator */
|
||||
FORCEINLINE AutoPtrT& operator = (const AutoPtrT& src)
|
||||
{
|
||||
/* Save original pointer and replace it with the given one to avoid recursive calls. */
|
||||
T* p = m_p;
|
||||
m_p = src.m_p;
|
||||
|
||||
if (m_p != NULL) src.m_p = NULL;
|
||||
|
||||
if (p != NULL) {
|
||||
/* Now we can safely delete the old one. */
|
||||
delete p;
|
||||
}
|
||||
return *this;
|
||||
}
|
||||
|
||||
/** forwarding 'lower than' operator to the underlaying items */
|
||||
FORCEINLINE bool operator < (const AutoPtrT& other) const
|
||||
{
|
||||
assert(m_p != NULL);
|
||||
assert(other.m_p != NULL);
|
||||
return (*m_p) < (*other.m_p);
|
||||
}
|
||||
};
|
||||
|
||||
#endif /* AUTOPTR_HPP */
|
@@ -225,14 +225,12 @@ static bool IsUniqueCompanyName(const char *name)
|
||||
*/
|
||||
CommandCost CmdChangeCompanyName(TileIndex tile, uint32 flags, uint32 p1, uint32 p2)
|
||||
{
|
||||
Player *p;
|
||||
|
||||
if (StrEmpty(_cmd_text)) return CMD_ERROR;
|
||||
if (StrEmpty(_cmd_text) || strlen(_cmd_text) > MAX_LENGTH_COMPANY_NAME) return CMD_ERROR;
|
||||
|
||||
if (!IsUniqueCompanyName(_cmd_text)) return_cmd_error(STR_NAME_MUST_BE_UNIQUE);
|
||||
|
||||
if (flags & DC_EXEC) {
|
||||
p = GetPlayer(_current_player);
|
||||
Player *p = GetPlayer(_current_player);
|
||||
free(p->name);
|
||||
p->name = strdup(_cmd_text);
|
||||
MarkWholeScreenDirty();
|
||||
@@ -264,14 +262,12 @@ static bool IsUniquePresidentName(const char *name)
|
||||
*/
|
||||
CommandCost CmdChangePresidentName(TileIndex tile, uint32 flags, uint32 p1, uint32 p2)
|
||||
{
|
||||
Player *p;
|
||||
|
||||
if (StrEmpty(_cmd_text)) return CMD_ERROR;
|
||||
if (StrEmpty(_cmd_text) || strlen(_cmd_text) > MAX_LENGTH_PRESIDENT_NAME) return CMD_ERROR;
|
||||
|
||||
if (!IsUniquePresidentName(_cmd_text)) return_cmd_error(STR_NAME_MUST_BE_UNIQUE);
|
||||
|
||||
if (flags & DC_EXEC) {
|
||||
p = GetPlayer(_current_player);
|
||||
Player *p = GetPlayer(_current_player);
|
||||
free(p->president_name);
|
||||
p->president_name = strdup(_cmd_text);
|
||||
|
||||
|
@@ -5,6 +5,7 @@
|
||||
#include "stdafx.h"
|
||||
#include "openttd.h"
|
||||
#include "mixer.h"
|
||||
#include "core/math_func.hpp"
|
||||
|
||||
struct MixerChannel {
|
||||
bool active;
|
||||
@@ -19,8 +20,8 @@ struct MixerChannel {
|
||||
uint32 samples_left;
|
||||
|
||||
/* Mixing volume */
|
||||
uint volume_left;
|
||||
uint volume_right;
|
||||
int volume_left;
|
||||
int volume_right;
|
||||
|
||||
uint flags;
|
||||
};
|
||||
@@ -28,14 +29,22 @@ struct MixerChannel {
|
||||
static MixerChannel _channels[8];
|
||||
static uint32 _play_rate;
|
||||
|
||||
/**
|
||||
* The theoretical maximum volume for a single sound sample. Multiple sound
|
||||
* samples should not exceed this limit as it will sound too loud. It also
|
||||
* stops overflowing when too many sounds are played at the same time, which
|
||||
* causes an even worse sound quality.
|
||||
*/
|
||||
static const int MAX_VOLUME = 128 * 128;
|
||||
|
||||
|
||||
static void mix_int8_to_int16(MixerChannel *sc, int16 *buffer, uint samples)
|
||||
{
|
||||
int8 *b;
|
||||
uint32 frac_pos;
|
||||
uint32 frac_speed;
|
||||
uint volume_left;
|
||||
uint volume_right;
|
||||
int volume_left;
|
||||
int volume_right;
|
||||
|
||||
if (samples > sc->samples_left) samples = sc->samples_left;
|
||||
sc->samples_left -= samples;
|
||||
@@ -50,15 +59,15 @@ static void mix_int8_to_int16(MixerChannel *sc, int16 *buffer, uint samples)
|
||||
if (frac_speed == 0x10000) {
|
||||
/* Special case when frac_speed is 0x10000 */
|
||||
do {
|
||||
buffer[0] += *b * volume_left >> 8;
|
||||
buffer[1] += *b * volume_right >> 8;
|
||||
buffer[0] = Clamp(buffer[0] + (*b * volume_left >> 8), -MAX_VOLUME, MAX_VOLUME);
|
||||
buffer[1] = Clamp(buffer[1] + (*b * volume_right >> 8), -MAX_VOLUME, MAX_VOLUME);
|
||||
b++;
|
||||
buffer += 2;
|
||||
} while (--samples > 0);
|
||||
} else {
|
||||
do {
|
||||
buffer[0] += *b * volume_left >> 8;
|
||||
buffer[1] += *b * volume_right >> 8;
|
||||
buffer[0] = Clamp(buffer[0] + (*b * volume_left >> 8), -MAX_VOLUME, MAX_VOLUME);
|
||||
buffer[1] = Clamp(buffer[1] + (*b * volume_right >> 8), -MAX_VOLUME, MAX_VOLUME);
|
||||
buffer += 2;
|
||||
frac_pos += frac_speed;
|
||||
b += frac_pos >> 16;
|
||||
|
@@ -22,10 +22,11 @@ enum {
|
||||
SEND_MTU = 1460, ///< Number of bytes we can pack in a single packet
|
||||
|
||||
NETWORK_GAME_INFO_VERSION = 4, ///< What version of game-info do we use?
|
||||
NETWORK_COMPANY_INFO_VERSION = 4, ///< What version of company info is this?
|
||||
NETWORK_COMPANY_INFO_VERSION = 5, ///< What version of company info is this?
|
||||
NETWORK_MASTER_SERVER_VERSION = 1, ///< What version of master-server-protocol do we use?
|
||||
|
||||
NETWORK_NAME_LENGTH = 80, ///< The maximum length of the server name and map name, in bytes including '\0'
|
||||
NETWORK_COMPANY_NAME_LENGTH = 32, ///< The maximum length of the company name, in bytes including '\0'
|
||||
NETWORK_HOSTNAME_LENGTH = 80, ///< The maximum length of the host name, in bytes including '\0'
|
||||
NETWORK_UNIQUE_ID_LENGTH = 33, ///< The maximum length of the unique id of the clients, in bytes including '\0'
|
||||
NETWORK_REVISION_LENGTH = 15, ///< The maximum length of the revision, in bytes including '\0'
|
||||
@@ -38,14 +39,9 @@ enum {
|
||||
/**
|
||||
* Maximum number of GRFs that can be sent.
|
||||
* This value is related to number of handles (files) OpenTTD can open.
|
||||
* This is currently 64 and about 10 are currently used when OpenTTD loads
|
||||
* without any NewGRFs. Therefore one can only load about 55 NewGRFs, so
|
||||
* this is not a limit, but rather a way to easily check whether the limit
|
||||
* imposed by the handle count is reached. Secondly it isn't possible to
|
||||
* send much more GRF IDs + MD5sums in the PACKET_UDP_SERVER_RESPONSE, due
|
||||
* to the limited size of UDP packets.
|
||||
* This is currently 64. Two are used for configuration and sound.
|
||||
*/
|
||||
NETWORK_MAX_GRF_COUNT = 55,
|
||||
NETWORK_MAX_GRF_COUNT = 62,
|
||||
|
||||
NETWORK_NUM_LANGUAGES = 29, ///< Number of known languages (to the network protocol) + 1 for 'any'.
|
||||
/**
|
||||
|
@@ -221,6 +221,9 @@ void NetworkUDPSocketHandler::Recv_NetworkGameInfo(Packet *p, NetworkGameInfo *i
|
||||
uint i;
|
||||
uint num_grfs = p->Recv_uint8();
|
||||
|
||||
/* Broken/bad data. It cannot have that many NewGRFs. */
|
||||
if (num_grfs > NETWORK_MAX_GRF_COUNT) return;
|
||||
|
||||
for (i = 0; i < num_grfs; i++) {
|
||||
GRFConfig *c = CallocT<GRFConfig>(1);
|
||||
this->Recv_GRFIdentifier(p, c);
|
||||
|
@@ -45,6 +45,7 @@ bool _network_advertise; ///< is the server advertising to the master server?
|
||||
|
||||
/* Check whether NETWORK_NUM_LANDSCAPES is still in sync with NUM_LANDSCAPE */
|
||||
assert_compile((int)NETWORK_NUM_LANDSCAPES == (int)NUM_LANDSCAPE);
|
||||
assert_compile((int)NETWORK_COMPANY_NAME_LENGTH == MAX_LENGTH_COMPANY_NAME + 1);
|
||||
|
||||
// global variables (declared in network_data.h)
|
||||
CommandPacket *_local_command_queue;
|
||||
|
@@ -397,10 +397,8 @@ DEF_CLIENT_RECEIVE_COMMAND(PACKET_SERVER_CLIENT_INFO)
|
||||
uint16 index = p->Recv_uint16();
|
||||
PlayerID playas = (Owner)p->Recv_uint8();
|
||||
char name[NETWORK_NAME_LENGTH];
|
||||
char unique_id[NETWORK_UNIQUE_ID_LENGTH];
|
||||
|
||||
p->Recv_string(name, sizeof(name));
|
||||
p->Recv_string(unique_id, sizeof(unique_id));
|
||||
|
||||
if (MY_CLIENT->has_quit) return NETWORK_RECV_STATUS_CONN_LOST;
|
||||
|
||||
@@ -432,7 +430,6 @@ DEF_CLIENT_RECEIVE_COMMAND(PACKET_SERVER_CLIENT_INFO)
|
||||
ci->client_playas = playas;
|
||||
|
||||
ttd_strlcpy(ci->client_name, name, sizeof(ci->client_name));
|
||||
ttd_strlcpy(ci->unique_id, unique_id, sizeof(ci->unique_id));
|
||||
|
||||
InvalidateWindow(WC_CLIENT_LIST, 0);
|
||||
|
||||
|
@@ -47,7 +47,6 @@ DEF_SERVER_SEND_COMMAND_PARAM(PACKET_SERVER_CLIENT_INFO)(NetworkTCPSocketHandler
|
||||
// uint16: The index of the client (always unique on a server. 1 = server)
|
||||
// uint8: As which player the client is playing
|
||||
// String: The name of the client
|
||||
// String: The unique id of the client
|
||||
//
|
||||
|
||||
if (ci->client_index != NETWORK_EMPTY_INDEX) {
|
||||
@@ -55,7 +54,6 @@ DEF_SERVER_SEND_COMMAND_PARAM(PACKET_SERVER_CLIENT_INFO)(NetworkTCPSocketHandler
|
||||
p->Send_uint16(ci->client_index);
|
||||
p->Send_uint8 (ci->client_playas);
|
||||
p->Send_string(ci->client_name);
|
||||
p->Send_string(ci->unique_id);
|
||||
|
||||
cs->Send_Packet(p);
|
||||
}
|
||||
@@ -609,6 +607,12 @@ DEF_SERVER_RECEIVE_COMMAND(PACKET_CLIENT_COMPANY_INFO)
|
||||
|
||||
DEF_SERVER_RECEIVE_COMMAND(PACKET_CLIENT_NEWGRFS_CHECKED)
|
||||
{
|
||||
if (cs->status != STATUS_INACTIVE) {
|
||||
/* Illegal call, return error and ignore the packet */
|
||||
SEND_COMMAND(PACKET_SERVER_ERROR)(cs, NETWORK_ERROR_NOT_EXPECTED);
|
||||
return;
|
||||
}
|
||||
|
||||
NetworkClientInfo *ci = DEREF_CLIENT_INFO(cs);
|
||||
|
||||
/* We now want a password from the client else we do not allow him in! */
|
||||
@@ -625,6 +629,12 @@ DEF_SERVER_RECEIVE_COMMAND(PACKET_CLIENT_NEWGRFS_CHECKED)
|
||||
|
||||
DEF_SERVER_RECEIVE_COMMAND(PACKET_CLIENT_JOIN)
|
||||
{
|
||||
if (cs->status != STATUS_INACTIVE) {
|
||||
/* Illegal call, return error and ignore the packet */
|
||||
SEND_COMMAND(PACKET_SERVER_ERROR)(cs, NETWORK_ERROR_NOT_EXPECTED);
|
||||
return;
|
||||
}
|
||||
|
||||
char name[NETWORK_CLIENT_NAME_LENGTH];
|
||||
char unique_id[NETWORK_UNIQUE_ID_LENGTH];
|
||||
NetworkClientInfo *ci;
|
||||
@@ -634,14 +644,12 @@ DEF_SERVER_RECEIVE_COMMAND(PACKET_CLIENT_JOIN)
|
||||
|
||||
p->Recv_string(client_revision, sizeof(client_revision));
|
||||
|
||||
#if defined(WITH_REV) || defined(WITH_REV_HACK)
|
||||
// Check if the client has revision control enabled
|
||||
if (!IsNetworkCompatibleVersion(client_revision)) {
|
||||
// Different revisions!!
|
||||
SEND_COMMAND(PACKET_SERVER_ERROR)(cs, NETWORK_ERROR_WRONG_REVISION);
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
|
||||
p->Recv_string(name, sizeof(name));
|
||||
playas = (Owner)p->Recv_uint8();
|
||||
@@ -889,7 +897,7 @@ DEF_SERVER_RECEIVE_COMMAND(PACKET_CLIENT_COMMAND)
|
||||
* to match the player in the packet. If it doesn't, the client has done
|
||||
* something pretty naughty (or a bug), and will be kicked
|
||||
*/
|
||||
if (!(cp->cmd == CMD_PLAYER_CTRL && cp->p1 == 0) && ci->client_playas != cp->player) {
|
||||
if (!(cp->cmd == CMD_PLAYER_CTRL && cp->p1 == 0 && ci->client_playas == PLAYER_NEW_COMPANY) && ci->client_playas != cp->player) {
|
||||
IConsolePrintF(_icolour_err, "WARNING: player %d (IP: %s) tried to execute a command as player %d, kicking...",
|
||||
ci->client_playas + 1, GetPlayerIP(ci), cp->player + 1);
|
||||
SEND_COMMAND(PACKET_SERVER_ERROR)(cs, NETWORK_ERROR_PLAYER_MISMATCH);
|
||||
@@ -1009,6 +1017,12 @@ DEF_SERVER_RECEIVE_COMMAND(PACKET_CLIENT_QUIT)
|
||||
|
||||
DEF_SERVER_RECEIVE_COMMAND(PACKET_CLIENT_ACK)
|
||||
{
|
||||
if (cs->status < STATUS_AUTH) {
|
||||
/* Illegal call, return error and ignore the packet */
|
||||
SEND_COMMAND(PACKET_SERVER_ERROR)(cs, NETWORK_ERROR_NOT_AUTHORIZED);
|
||||
return;
|
||||
}
|
||||
|
||||
uint32 frame = p->Recv_uint32();
|
||||
|
||||
/* The client is trying to catch up with the server */
|
||||
@@ -1137,6 +1151,12 @@ void NetworkServer_HandleChat(NetworkAction action, DestType desttype, int dest,
|
||||
|
||||
DEF_SERVER_RECEIVE_COMMAND(PACKET_CLIENT_CHAT)
|
||||
{
|
||||
if (cs->status < STATUS_AUTH) {
|
||||
/* Illegal call, return error and ignore the packet */
|
||||
SEND_COMMAND(PACKET_SERVER_ERROR)(cs, NETWORK_ERROR_NOT_AUTHORIZED);
|
||||
return;
|
||||
}
|
||||
|
||||
NetworkAction action = (NetworkAction)p->Recv_uint8();
|
||||
DestType desttype = (DestType)p->Recv_uint8();
|
||||
int dest = p->Recv_uint16();
|
||||
@@ -1144,11 +1164,31 @@ DEF_SERVER_RECEIVE_COMMAND(PACKET_CLIENT_CHAT)
|
||||
|
||||
p->Recv_string(msg, MAX_TEXT_MSG_LEN);
|
||||
|
||||
NetworkServer_HandleChat(action, desttype, dest, msg, cs->index);
|
||||
const NetworkClientInfo *ci = DEREF_CLIENT_INFO(cs);
|
||||
switch (action) {
|
||||
case NETWORK_ACTION_GIVE_MONEY:
|
||||
if (!IsValidPlayer(ci->client_playas)) break;
|
||||
/* Fall-through */
|
||||
case NETWORK_ACTION_CHAT:
|
||||
case NETWORK_ACTION_CHAT_CLIENT:
|
||||
case NETWORK_ACTION_CHAT_COMPANY:
|
||||
NetworkServer_HandleChat(action, desttype, dest, msg, cs->index);
|
||||
break;
|
||||
default:
|
||||
IConsolePrintF(_icolour_err, "WARNING: invalid chat action from client %d (IP: %s).", ci->client_index, GetPlayerIP(ci));
|
||||
SEND_COMMAND(PACKET_SERVER_ERROR)(cs, NETWORK_ERROR_NOT_EXPECTED);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
DEF_SERVER_RECEIVE_COMMAND(PACKET_CLIENT_SET_PASSWORD)
|
||||
{
|
||||
if (cs->status != STATUS_ACTIVE) {
|
||||
/* Illegal call, return error and ignore the packet */
|
||||
SEND_COMMAND(PACKET_SERVER_ERROR)(cs, NETWORK_ERROR_NOT_EXPECTED);
|
||||
return;
|
||||
}
|
||||
|
||||
char password[NETWORK_PASSWORD_LENGTH];
|
||||
const NetworkClientInfo *ci;
|
||||
|
||||
@@ -1162,6 +1202,12 @@ DEF_SERVER_RECEIVE_COMMAND(PACKET_CLIENT_SET_PASSWORD)
|
||||
|
||||
DEF_SERVER_RECEIVE_COMMAND(PACKET_CLIENT_SET_NAME)
|
||||
{
|
||||
if (cs->status != STATUS_ACTIVE) {
|
||||
/* Illegal call, return error and ignore the packet */
|
||||
SEND_COMMAND(PACKET_SERVER_ERROR)(cs, NETWORK_ERROR_NOT_EXPECTED);
|
||||
return;
|
||||
}
|
||||
|
||||
char client_name[NETWORK_CLIENT_NAME_LENGTH];
|
||||
NetworkClientInfo *ci;
|
||||
|
||||
|
@@ -92,12 +92,6 @@ DEF_UDP_RECEIVE_COMMAND(Server, PACKET_UDP_CLIENT_FIND_SERVER)
|
||||
|
||||
DEF_UDP_RECEIVE_COMMAND(Server, PACKET_UDP_CLIENT_DETAIL_INFO)
|
||||
{
|
||||
NetworkTCPSocketHandler *cs;
|
||||
NetworkClientInfo *ci;
|
||||
Player *player;
|
||||
byte current = 0;
|
||||
int i;
|
||||
|
||||
// Just a fail-safe.. should never happen
|
||||
if (!_network_udp_server) return;
|
||||
|
||||
@@ -110,6 +104,8 @@ DEF_UDP_RECEIVE_COMMAND(Server, PACKET_UDP_CLIENT_DETAIL_INFO)
|
||||
/* Fetch the latest version of everything */
|
||||
NetworkPopulateCompanyInfo();
|
||||
|
||||
Player *player;
|
||||
byte current = 0;
|
||||
/* Go through all the players */
|
||||
FOR_ALL_PLAYERS(player) {
|
||||
/* Skip non-active players */
|
||||
@@ -130,58 +126,15 @@ DEF_UDP_RECEIVE_COMMAND(Server, PACKET_UDP_CLIENT_DETAIL_INFO)
|
||||
/* Send 1 if there is a passord for the company else send 0 */
|
||||
packet.Send_bool (!StrEmpty(_network_player_info[player->index].password));
|
||||
|
||||
for (i = 0; i < NETWORK_VEHICLE_TYPES; i++)
|
||||
for (int i = 0; i < NETWORK_VEHICLE_TYPES; i++) {
|
||||
packet.Send_uint16(_network_player_info[player->index].num_vehicle[i]);
|
||||
}
|
||||
|
||||
for (i = 0; i < NETWORK_STATION_TYPES; i++)
|
||||
for (int i = 0; i < NETWORK_STATION_TYPES; i++) {
|
||||
packet.Send_uint16(_network_player_info[player->index].num_station[i]);
|
||||
|
||||
/* Find the clients that are connected to this player */
|
||||
FOR_ALL_CLIENTS(cs) {
|
||||
ci = DEREF_CLIENT_INFO(cs);
|
||||
if (ci->client_playas == player->index) {
|
||||
packet.Send_bool (true);
|
||||
packet.Send_string(ci->client_name);
|
||||
packet.Send_string(ci->unique_id);
|
||||
packet.Send_uint32(ci->join_date);
|
||||
}
|
||||
}
|
||||
/* Also check for the server itself */
|
||||
ci = NetworkFindClientInfoFromIndex(NETWORK_SERVER_INDEX);
|
||||
if (ci->client_playas == player->index) {
|
||||
packet.Send_bool (true);
|
||||
packet.Send_string(ci->client_name);
|
||||
packet.Send_string(ci->unique_id);
|
||||
packet.Send_uint32(ci->join_date);
|
||||
}
|
||||
|
||||
/* Indicates end of client list */
|
||||
packet.Send_bool(false);
|
||||
}
|
||||
|
||||
/* And check if we have any spectators */
|
||||
FOR_ALL_CLIENTS(cs) {
|
||||
ci = DEREF_CLIENT_INFO(cs);
|
||||
if (!IsValidPlayer(ci->client_playas)) {
|
||||
packet.Send_bool (true);
|
||||
packet.Send_string(ci->client_name);
|
||||
packet.Send_string(ci->unique_id);
|
||||
packet.Send_uint32(ci->join_date);
|
||||
}
|
||||
}
|
||||
|
||||
/* Also check for the server itself */
|
||||
ci = NetworkFindClientInfoFromIndex(NETWORK_SERVER_INDEX);
|
||||
if (!IsValidPlayer(ci->client_playas)) {
|
||||
packet.Send_bool (true);
|
||||
packet.Send_string(ci->client_name);
|
||||
packet.Send_string(ci->unique_id);
|
||||
packet.Send_uint32(ci->join_date);
|
||||
}
|
||||
|
||||
/* Indicates end of client list */
|
||||
packet.Send_bool(false);
|
||||
|
||||
this->SendPacket(&packet, client_addr);
|
||||
}
|
||||
|
||||
@@ -519,7 +472,7 @@ void NetworkUDPRemoveAdvertise()
|
||||
|
||||
/* check for socket */
|
||||
if (!_udp_master_socket->IsConnected()) {
|
||||
if (!_udp_master_socket->Listen(0, 0, false)) return;
|
||||
if (!_udp_master_socket->Listen(_network_server_bind_ip, 0, false)) return;
|
||||
}
|
||||
|
||||
DEBUG(net, 1, "[udp] removing advertise from master server");
|
||||
@@ -549,7 +502,7 @@ void NetworkUDPAdvertise()
|
||||
|
||||
/* check for socket */
|
||||
if (!_udp_master_socket->IsConnected()) {
|
||||
if (!_udp_master_socket->Listen(0, 0, false)) return;
|
||||
if (!_udp_master_socket->Listen(_network_server_bind_ip, 0, false)) return;
|
||||
}
|
||||
|
||||
if (_network_need_advertise) {
|
||||
|
117
src/newgrf.cpp
117
src/newgrf.cpp
@@ -44,6 +44,7 @@
|
||||
#include "road_func.h"
|
||||
#include "player_base.h"
|
||||
#include "settings_type.h"
|
||||
#include "network/network.h"
|
||||
#include "map_func.h"
|
||||
|
||||
#include "table/strings.h"
|
||||
@@ -224,6 +225,23 @@ static GRFFile *GetFileByFilename(const char *filename)
|
||||
return file;
|
||||
}
|
||||
|
||||
/** Reset all NewGRFData that was used only while processing data */
|
||||
static void ClearTemporaryNewGRFData()
|
||||
{
|
||||
/* Clear the GOTO labels used for GRF processing */
|
||||
for (GRFLabel *l = _cur_grffile->label; l != NULL;) {
|
||||
GRFLabel *l2 = l->next;
|
||||
free(l);
|
||||
l = l2;
|
||||
}
|
||||
_cur_grffile->label = NULL;
|
||||
|
||||
/* Clear the list of spritegroups */
|
||||
free(_cur_grffile->spritegroups);
|
||||
_cur_grffile->spritegroups = NULL;
|
||||
_cur_grffile->spritegroups_count = 0;
|
||||
}
|
||||
|
||||
|
||||
/** Used when setting an object's property to map to the GRF's strings
|
||||
* while taking in consideration the "drift" between TTDPatch string system and OpenTTD's one
|
||||
@@ -374,22 +392,14 @@ static bool RailVehicleChangeInfo(uint engine, int numinfo, int prop, byte **buf
|
||||
rvi->max_speed = speed;
|
||||
} break;
|
||||
|
||||
case 0x0B: { // Power
|
||||
uint16 power = grf_load_word(&buf);
|
||||
case 0x0B: // Power
|
||||
rvi->power = grf_load_word(&buf);
|
||||
dewagonize(rvi->power, engine + i);
|
||||
break;
|
||||
|
||||
if (rvi->railveh_type == RAILVEH_MULTIHEAD) power /= 2;
|
||||
|
||||
rvi->power = power;
|
||||
dewagonize(power, engine + i);
|
||||
} break;
|
||||
|
||||
case 0x0D: { // Running cost factor
|
||||
uint8 runcostfact = grf_load_byte(&buf);
|
||||
|
||||
if (rvi->railveh_type == RAILVEH_MULTIHEAD) runcostfact /= 2;
|
||||
|
||||
rvi->running_cost = runcostfact;
|
||||
} break;
|
||||
case 0x0D: // Running cost factor
|
||||
rvi->running_cost = grf_load_byte(&buf);
|
||||
break;
|
||||
|
||||
case 0x0E: { // Running cost base
|
||||
uint32 base = grf_load_dword(&buf);
|
||||
@@ -421,18 +431,8 @@ static bool RailVehicleChangeInfo(uint engine, int numinfo, int prop, byte **buf
|
||||
uint8 dual = grf_load_byte(&buf);
|
||||
|
||||
if (dual != 0) {
|
||||
if (rvi->railveh_type != RAILVEH_MULTIHEAD) {
|
||||
// adjust power and running cost if needed
|
||||
rvi->power /= 2;
|
||||
rvi->running_cost /= 2;
|
||||
}
|
||||
rvi->railveh_type = RAILVEH_MULTIHEAD;
|
||||
} else {
|
||||
if (rvi->railveh_type == RAILVEH_MULTIHEAD) {
|
||||
// adjust power and running cost if needed
|
||||
rvi->power *= 2;
|
||||
rvi->running_cost *= 2;
|
||||
}
|
||||
rvi->railveh_type = rvi->power == 0 ?
|
||||
RAILVEH_WAGON : RAILVEH_SINGLEHEAD;
|
||||
}
|
||||
@@ -3688,6 +3688,32 @@ static void CfgApply(byte *buf, int len)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Disable a static NewGRF when it is influencing another (non-static)
|
||||
* NewGRF as this could cause desyncs.
|
||||
*
|
||||
* We could just tell the NewGRF querying that the file doesn't exist,
|
||||
* but that might give unwanted results. Disabling the NewGRF gives the
|
||||
* best result as no NewGRF author can complain about that.
|
||||
* @param c the NewGRF to disable.
|
||||
*/
|
||||
static void DisableStaticNewGRFInfluencingNonStaticNewGRFs(GRFConfig *c)
|
||||
{
|
||||
if (c->error != NULL) {
|
||||
free(c->error->custom_message);
|
||||
free(c->error->data);
|
||||
free(c->error);
|
||||
}
|
||||
c->status = GCS_DISABLED;
|
||||
c->error = CallocT<GRFError>(1);
|
||||
c->error->data = strdup(_cur_grfconfig->name);
|
||||
c->error->severity = STR_NEWGRF_ERROR_MSG_FATAL;
|
||||
c->error->message = STR_NEWGRF_ERROR_STATIC_GRF_CAUSES_DESYNC;
|
||||
|
||||
ClearTemporaryNewGRFData();
|
||||
_skip_sprites = -1;
|
||||
}
|
||||
|
||||
/* Action 0x07 */
|
||||
/* Action 0x09 */
|
||||
static void SkipIf(byte *buf, int len)
|
||||
@@ -3741,7 +3767,12 @@ static void SkipIf(byte *buf, int len)
|
||||
if (param == 0x88 && condtype != 0x0B && condtype != 0x0C) {
|
||||
/* GRF ID checks */
|
||||
|
||||
const GRFConfig *c = GetGRFConfig(cond_val);
|
||||
GRFConfig *c = GetGRFConfig(cond_val);
|
||||
|
||||
if (c != NULL && HasBit(c->flags, GCF_STATIC) && !HasBit(_cur_grfconfig->flags, GCF_STATIC) && c->status != GCS_DISABLED && _networking) {
|
||||
DisableStaticNewGRFInfluencingNonStaticNewGRFs(c);
|
||||
c = NULL;
|
||||
}
|
||||
|
||||
if (condtype != 10 && c == NULL) {
|
||||
grfmsg(7, "SkipIf: GRFID 0x%08X unknown, skipping test", BSWAP32(cond_val));
|
||||
@@ -3839,6 +3870,7 @@ static void SkipIf(byte *buf, int len)
|
||||
/* If an action 8 hasn't been encountered yet, disable the grf. */
|
||||
if (_cur_grfconfig->status != GCS_ACTIVATED) {
|
||||
_cur_grfconfig->status = GCS_DISABLED;
|
||||
ClearTemporaryNewGRFData();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -4011,7 +4043,7 @@ static void GRFLoadError(byte *buf, int len)
|
||||
/* This is a fatal error, so make sure the GRF is deactivated and no
|
||||
* more of it gets loaded. */
|
||||
_cur_grfconfig->status = GCS_DISABLED;
|
||||
|
||||
ClearTemporaryNewGRFData();
|
||||
_skip_sprites = -1;
|
||||
}
|
||||
|
||||
@@ -4194,6 +4226,7 @@ static uint32 PerformGRM(uint32 *grm, uint16 num_ids, uint16 count, uint8 op, ui
|
||||
/* Deactivate GRF */
|
||||
grfmsg(0, "ParamSet: GRM: Unable to allocate %d %s, deactivating", count, type);
|
||||
_cur_grfconfig->status = GCS_DISABLED;
|
||||
ClearTemporaryNewGRFData();
|
||||
_skip_sprites = -1;
|
||||
return UINT_MAX;
|
||||
}
|
||||
@@ -4284,8 +4317,8 @@ static void ParamSet(byte *buf, int len)
|
||||
if (_cur_spriteid + count >= 16384) {
|
||||
grfmsg(0, "ParamSet: GRM: Unable to allocate %d sprites; try changing NewGRF order", count);
|
||||
_cur_grfconfig->status = GCS_DISABLED;
|
||||
|
||||
_skip_sprites = -1;
|
||||
ClearTemporaryNewGRFData();
|
||||
_skip_sprites = -1;
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -4317,7 +4350,12 @@ static void ParamSet(byte *buf, int len)
|
||||
} else {
|
||||
/* Read another GRF File's parameter */
|
||||
const GRFFile *file = GetFileByGRFID(data);
|
||||
if (file == NULL || src1 >= file->param_end) {
|
||||
GRFConfig *c = GetGRFConfig(data);
|
||||
if (c != NULL && HasBit(c->status, GCF_STATIC) && !HasBit(_cur_grfconfig->status, GCF_STATIC) && _networking) {
|
||||
/* Disable the read GRF if it is a static NewGRF. */
|
||||
DisableStaticNewGRFInfluencingNonStaticNewGRFs(c);
|
||||
src1 = 0;
|
||||
} else if (file == NULL || src1 >= file->param_end || (c != NULL && c->status == GCS_DISABLED)) {
|
||||
src1 = 0;
|
||||
} else {
|
||||
src1 = file->param[src1];
|
||||
@@ -4602,6 +4640,7 @@ static void FeatureTownName(byte *buf, int len)
|
||||
grfmsg(0, "FeatureTownName: definition 0x%02X doesn't exist, deactivating", ref_id);
|
||||
DelGRFTownName(grfid);
|
||||
_cur_grfconfig->status = GCS_DISABLED;
|
||||
ClearTemporaryNewGRFData();
|
||||
_skip_sprites = -1;
|
||||
return;
|
||||
}
|
||||
@@ -4892,6 +4931,7 @@ static void TranslateGRFStrings(byte *buf, int len)
|
||||
_cur_grfconfig->error = error;
|
||||
|
||||
_cur_grfconfig->status = GCS_DISABLED;
|
||||
ClearTemporaryNewGRFData();
|
||||
_skip_sprites = -1;
|
||||
return;
|
||||
}
|
||||
@@ -5259,23 +5299,6 @@ static void ResetNewGRFData()
|
||||
InitializeSpriteGroupPool();
|
||||
}
|
||||
|
||||
/** Reset all NewGRFData that was used only while processing data */
|
||||
static void ClearTemporaryNewGRFData()
|
||||
{
|
||||
/* Clear the GOTO labels used for GRF processing */
|
||||
for (GRFLabel *l = _cur_grffile->label; l != NULL;) {
|
||||
GRFLabel *l2 = l->next;
|
||||
free(l);
|
||||
l = l2;
|
||||
}
|
||||
_cur_grffile->label = NULL;
|
||||
|
||||
/* Clear the list of spritegroups */
|
||||
free(_cur_grffile->spritegroups);
|
||||
_cur_grffile->spritegroups = NULL;
|
||||
_cur_grffile->spritegroups_count = 0;
|
||||
}
|
||||
|
||||
static void BuildCargoTranslationMap()
|
||||
{
|
||||
memset(_cur_grffile->cargo_map, 0xFF, sizeof(_cur_grffile->cargo_map));
|
||||
|
@@ -106,9 +106,15 @@ CargoID GetCargoTranslation(uint8 cargo, const GRFFile *grffile, bool usebit)
|
||||
/* Else the cargo value is a 'climate independent' 'bitnum' */
|
||||
if (HasBit(_cargo_mask, cargo)) return GetCargoIDByBitnum(cargo);
|
||||
} else {
|
||||
/* If the GRF contains a translation table (and the cargo is in bounds)
|
||||
* then get the cargo ID for the label */
|
||||
if (cargo < grffile->cargo_max) return GetCargoIDByLabel(grffile->cargo_list[cargo]);
|
||||
/* If the GRF contains a translation table... */
|
||||
if (grffile->cargo_max > 0) {
|
||||
/* ...and the cargo is in bounds, then get the cargo ID for
|
||||
* the label */
|
||||
if (cargo < grffile->cargo_max) return GetCargoIDByLabel(grffile->cargo_list[cargo]);
|
||||
} else {
|
||||
/* Else the cargo value is a 'climate independent' 'bitnum' */
|
||||
if (HasBit(_cargo_mask, cargo)) return GetCargoIDByBitnum(cargo);
|
||||
}
|
||||
}
|
||||
return CT_INVALID;
|
||||
}
|
||||
|
@@ -410,7 +410,6 @@ void ScanNewGRFFiles()
|
||||
* For that we first have to make an array, the qsort and
|
||||
* then remake the linked list. */
|
||||
GRFConfig **to_sort = MallocT<GRFConfig*>(num);
|
||||
if (to_sort == NULL) return; // No memory, then don't sort
|
||||
|
||||
uint i = 0;
|
||||
for (GRFConfig *p = _all_grfs; p != NULL; p = p->next, i++) {
|
||||
@@ -426,6 +425,8 @@ void ScanNewGRFFiles()
|
||||
}
|
||||
to_sort[num - 1]->next = NULL;
|
||||
_all_grfs = to_sort[0];
|
||||
|
||||
free(to_sort);
|
||||
}
|
||||
|
||||
|
||||
|
@@ -26,7 +26,13 @@ enum GRFStatus {
|
||||
GCS_ACTIVATED ///< GRF file has been activated
|
||||
};
|
||||
|
||||
enum GRFListCompatibility{
|
||||
/** Encountered GRF bugs */
|
||||
enum GRFBugs {
|
||||
GBUG_VEH_LENGTH, ///< Length of rail vehicle changes when not inside a depot
|
||||
};
|
||||
|
||||
/** Status of post-gameload GRF compatibility check */
|
||||
enum GRFListCompatibility {
|
||||
GLC_ALL_GOOD,
|
||||
GLC_COMPATIBLE,
|
||||
GLC_NOT_FOUND
|
||||
@@ -52,10 +58,11 @@ struct GRFConfig : public GRFIdentifier {
|
||||
char *info;
|
||||
GRFError *error;
|
||||
|
||||
uint8 flags;
|
||||
GRFStatus status;
|
||||
uint32 param[0x80];
|
||||
uint8 num_params;
|
||||
uint8 flags; ///< NOSAVE: GCF_Flags, bitset
|
||||
GRFStatus status; ///< NOSAVE: GRFStatus, enum
|
||||
uint32 grf_bugs; ///< NOSAVE: bugs in this GRF in this run, @see enum GRFBugs
|
||||
uint32 param[0x80]; ///< GRF parameters
|
||||
uint8 num_params; ///< Number of used parameters
|
||||
|
||||
struct GRFConfig *next;
|
||||
|
||||
|
@@ -107,7 +107,7 @@ void UnloadWagonOverrides()
|
||||
|
||||
/* Space for NUM_CARGO real cargos and 2 pseudo cargos, CT_DEFAULT and CT_PURCHASE */
|
||||
static const SpriteGroup *_engine_custom_sprites[TOTAL_NUM_ENGINES][NUM_CARGO + 2];
|
||||
static const GRFFile *_engine_grf[TOTAL_NUM_ENGINES];
|
||||
const GRFFile *_engine_grf[TOTAL_NUM_ENGINES];
|
||||
|
||||
void SetCustomEngineSprites(EngineID engine, byte cargo, const SpriteGroup *group)
|
||||
{
|
||||
@@ -446,6 +446,7 @@ static uint8 LiveryHelper(EngineID engine, const Vehicle *v)
|
||||
const Livery *l;
|
||||
|
||||
if (v == NULL) {
|
||||
if (!IsValidPlayer(_current_player)) return 0;
|
||||
l = GetEngineLivery(engine, _current_player, INVALID_ENGINE, NULL);
|
||||
} else if (v->type == VEH_TRAIN) {
|
||||
l = GetEngineLivery((v->u.rail.first_engine != INVALID_ENGINE && (IsArticulatedPart(v) || UsesWagonOverride(v))) ? v->u.rail.first_engine : v->engine_type, v->owner, v->u.rail.first_engine, v);
|
||||
@@ -692,7 +693,10 @@ static uint32 VehicleGetVariable(const ResolverObject *object, byte variable, by
|
||||
case 0x45: return v->unitnumber;
|
||||
case 0x46: return v->engine_type;
|
||||
case 0x47: return GB(v->engine_type, 8, 8);
|
||||
case 0x48: return v->spritenum;
|
||||
case 0x48:
|
||||
if (v->type != VEH_TRAIN || v->spritenum != 0xFD) return v->spritenum;
|
||||
return HasBit(v->u.rail.flags, VRF_REVERSE_DIRECTION) ? 0xFE : 0xFD;
|
||||
|
||||
case 0x49: return v->day_counter;
|
||||
case 0x4A: return v->breakdowns_since_last_service;
|
||||
case 0x4B: return v->breakdown_ctr;
|
||||
@@ -862,7 +866,7 @@ SpriteID GetCustomEngineSprite(EngineID engine, const Vehicle *v, Direction dire
|
||||
NewVehicleResolver(&object, engine, v);
|
||||
|
||||
group = Resolve(GetVehicleSpriteGroup(engine, v), &object);
|
||||
if (group == NULL || group->type != SGT_RESULT) return 0;
|
||||
if (group == NULL || group->type != SGT_RESULT || group->g.result.num_sprites == 0) return 0;
|
||||
|
||||
return group->g.result.sprite + (direction % group->g.result.num_sprites);
|
||||
}
|
||||
@@ -886,7 +890,7 @@ SpriteID GetRotorOverrideSprite(EngineID engine, const Vehicle *v, bool info_vie
|
||||
group = GetWagonOverrideSpriteSet(engine, CT_DEFAULT, engine);
|
||||
group = Resolve(group, &object);
|
||||
|
||||
if (group == NULL || group->type != SGT_RESULT) return 0;
|
||||
if (group == NULL || group->type != SGT_RESULT || group->g.result.num_sprites == 0) return 0;
|
||||
|
||||
if (v == NULL) return group->g.result.sprite;
|
||||
|
||||
|
@@ -175,5 +175,7 @@ uint16 GetAiPurchaseCallbackResult(uint8 feature, CargoID cargo_type, uint8 defa
|
||||
object.u.generic.count = count;
|
||||
object.u.generic.station_size = station_size;
|
||||
|
||||
return GetGenericCallbackResult(feature, &object, file);
|
||||
uint16 callback = GetGenericCallbackResult(feature, &object, file);
|
||||
if (callback != CALLBACK_FAILED) callback = GB(callback, 0, 8);
|
||||
return callback;
|
||||
}
|
||||
|
@@ -30,6 +30,7 @@ static BuildingCounts _building_counts;
|
||||
static HouseClassMapping _class_mapping[HOUSE_CLASS_MAX];
|
||||
|
||||
HouseOverrideManager _house_mngr(NEW_HOUSE_OFFSET, HOUSE_MAX, INVALID_HOUSE_ID);
|
||||
extern TileIndex GetHouseNorthPart(HouseID &house);
|
||||
|
||||
/**
|
||||
* Check and update town and house values.
|
||||
@@ -67,12 +68,8 @@ void UpdateHousesAndTowns()
|
||||
IncreaseBuildingCount(town, house_id);
|
||||
if (IsHouseCompleted(t)) town->population += GetHouseSpecs(house_id)->population;
|
||||
|
||||
/* Increase the number of houses for every house tile which
|
||||
* has a size bit set. Multi tile buildings have got only
|
||||
* one tile with such a bit set, so there is no problem. */
|
||||
if (GetHouseSpecs(GetHouseType(t))->building_flags & BUILDING_HAS_1_TILE) {
|
||||
town->num_houses++;
|
||||
}
|
||||
/* Increase the number of houses for every house, but only once. */
|
||||
if (GetHouseNorthPart(house_id) == 0) town->num_houses++;
|
||||
}
|
||||
|
||||
/* Update the population and num_house dependant values */
|
||||
@@ -521,7 +518,7 @@ bool NewHouseTileLoop(TileIndex tile)
|
||||
/* Check callback 21, which determines if a house should be destroyed. */
|
||||
if (HasBit(hs->callback_mask, CBM_HOUSE_DESTRUCTION)) {
|
||||
uint16 callback_res = GetHouseCallback(CBID_HOUSE_DESTRUCTION, 0, 0, GetHouseType(tile), GetTownByTile(tile), tile);
|
||||
if (callback_res != CALLBACK_FAILED && callback_res > 0) {
|
||||
if (callback_res != CALLBACK_FAILED && GB(callback_res, 0, 8) > 0) {
|
||||
ClearTownHouse(GetTownByTile(tile), tile);
|
||||
return false;
|
||||
}
|
||||
@@ -541,6 +538,8 @@ static void DoTriggerHouse(TileIndex tile, HouseTrigger trigger, byte base_rando
|
||||
HouseID hid = GetHouseType(tile);
|
||||
HouseSpec *hs = GetHouseSpecs(hid);
|
||||
|
||||
if (hs->spritegroup == NULL) return;
|
||||
|
||||
NewHouseResolver(&object, hid, tile, GetTownByTile(tile));
|
||||
|
||||
object.callback = CBID_RANDOM_TRIGGER;
|
||||
|
@@ -210,6 +210,23 @@ uint32 IndustryGetVariable(const ResolverObject *object, byte variable, byte par
|
||||
IndustryType type = object->u.industry.type;
|
||||
const IndustrySpec *indspec = GetIndustrySpec(type);
|
||||
|
||||
/* Shall the variable get resolved in parent scope and are we not yet in parent scope? */
|
||||
if (object->u.industry.gfx == INVALID_INDUSTRYTILE && object->scope == VSG_SCOPE_PARENT) {
|
||||
/* Pass the request on to the town of the industry */
|
||||
const Town *t;
|
||||
|
||||
if (industry != NULL) {
|
||||
t = industry->town;
|
||||
} else if (tile != INVALID_TILE) {
|
||||
t = ClosestTownFromTile(tile, UINT_MAX);
|
||||
} else {
|
||||
*available = false;
|
||||
return UINT_MAX;
|
||||
}
|
||||
|
||||
return TownGetVariable(variable, parameter, available, t);
|
||||
}
|
||||
|
||||
if (industry == NULL) {
|
||||
/* industry does not exist, only use those variables that are "safe" */
|
||||
switch (variable) {
|
||||
|
@@ -275,7 +275,7 @@ bool PerformIndustryTileSlopeCheck(TileIndex ind_base_tile, TileIndex ind_tile,
|
||||
return !IsSlopeRefused(GetTileSlope(ind_tile, NULL), its->slopes_refused);
|
||||
}
|
||||
if (its->grf_prop.grffile->grf_version < 7) {
|
||||
return (callback_res & 0xFF) != 0; // mask to 8 bit callback result
|
||||
return callback_res != 0;
|
||||
}
|
||||
|
||||
/* Copy some parameters from the registers to the error message text ref. stack */
|
||||
@@ -403,6 +403,8 @@ static void DoTriggerIndustryTile(TileIndex tile, IndustryTileTrigger trigger, I
|
||||
IndustryGfx gfx = GetIndustryGfx(tile);
|
||||
const IndustryTileSpec *itspec = GetIndustryTileSpec(gfx);
|
||||
|
||||
if (itspec->grf_prop.spritegroup == NULL) return;
|
||||
|
||||
NewIndustryTileResolver(&object, gfx, tile, ind);
|
||||
|
||||
object.callback = CBID_RANDOM_TRIGGER;
|
||||
|
@@ -80,37 +80,6 @@ void InitializeSpriteGroupPool()
|
||||
TemporaryStorageArray<uint32, 0x110> _temp_store;
|
||||
|
||||
|
||||
static inline bool Is8BitCallback(const ResolverObject *object)
|
||||
{
|
||||
/* Var 0x7E procedure results are always 15 bit */
|
||||
if (object == NULL || object->procedure_call) return false;
|
||||
|
||||
switch (object->callback) {
|
||||
/* All these functions are 15 bit callbacks */
|
||||
case CBID_STATION_SPRITE_LAYOUT:
|
||||
case CBID_VEHICLE_REFIT_CAPACITY:
|
||||
case CBID_HOUSE_COLOUR:
|
||||
case CBID_HOUSE_CARGO_ACCEPTANCE:
|
||||
case CBID_INDUSTRY_LOCATION:
|
||||
case CBID_HOUSE_ACCEPT_CARGO:
|
||||
case CBID_INDTILE_CARGO_ACCEPTANCE:
|
||||
case CBID_INDTILE_ACCEPT_CARGO:
|
||||
case CBID_VEHICLE_COLOUR_MAPPING:
|
||||
case CBID_HOUSE_PRODUCE_CARGO:
|
||||
case CBID_INDTILE_SHAPE_CHECK: // depends on grf version, masked to 8 bit in PerformIndustryTileSlopeCheck() if needed
|
||||
case CBID_VEHICLE_SOUND_EFFECT:
|
||||
case CBID_VEHICLE_MODIFY_PROPERTY: // depends on queried property
|
||||
case CBID_CARGO_PROFIT_CALC:
|
||||
case CBID_SOUNDS_AMBIENT_EFFECT:
|
||||
case CBID_CARGO_STATION_RATING_CALC:
|
||||
return false;
|
||||
|
||||
/* The rest is a 8 bit callback, which should be truncated properly */
|
||||
default:
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
static inline uint32 GetVariable(const ResolverObject *object, byte variable, byte parameter, bool *available)
|
||||
{
|
||||
/* First handle variables common with Action7/9/D */
|
||||
@@ -235,8 +204,9 @@ static inline const SpriteGroup *ResolveVariable(const SpriteGroup *group, Resol
|
||||
|
||||
if (group->g.determ.num_ranges == 0) {
|
||||
/* nvar == 0 is a special case -- we turn our value into a callback result */
|
||||
if (value != CALLBACK_FAILED) value = GB(value, 0, 15);
|
||||
nvarzero.type = SGT_CALLBACK;
|
||||
nvarzero.g.callback.result = GB(value, 0, Is8BitCallback(object) ? 8 : 15);
|
||||
nvarzero.g.callback.result = value;
|
||||
return &nvarzero;
|
||||
}
|
||||
|
||||
@@ -294,14 +264,6 @@ const SpriteGroup *Resolve(const SpriteGroup *group, ResolverObject *object)
|
||||
case SGT_REAL: return object->ResolveReal(object, group);
|
||||
case SGT_DETERMINISTIC: return ResolveVariable(group, object);
|
||||
case SGT_RANDOMIZED: return ResolveRandom(group, object);
|
||||
case SGT_CALLBACK: {
|
||||
if (!Is8BitCallback(object)) return group;
|
||||
|
||||
static SpriteGroup result8bit;
|
||||
result8bit.type = SGT_CALLBACK;
|
||||
result8bit.g.callback.result = GB(group->g.callback.result, 0, 8);
|
||||
return &result8bit;
|
||||
}
|
||||
default: return group;
|
||||
}
|
||||
}
|
||||
|
@@ -17,11 +17,12 @@
|
||||
#include "newgrf_station.h"
|
||||
#include "newgrf_spritegroup.h"
|
||||
#include "cargotype.h"
|
||||
#include "town_map.h"
|
||||
#include "town.h"
|
||||
#include "newgrf_town.h"
|
||||
#include "gfx_func.h"
|
||||
#include "date_func.h"
|
||||
#include "player_func.h"
|
||||
#include "tunnelbridge_map.h"
|
||||
|
||||
#include "table/sprites.h"
|
||||
#include "table/strings.h"
|
||||
@@ -291,11 +292,18 @@ static uint32 GetRailContinuationInfo(TileIndex tile)
|
||||
uint i;
|
||||
|
||||
for (i = 0; i < lengthof(x_dir); i++, dir++, diagdir++) {
|
||||
TrackBits trackbits = TrackStatusToTrackBits(GetTileTrackStatus(tile + TileOffsByDir(*dir), TRANSPORT_RAIL, 0));
|
||||
TileIndex neighbour_tile = tile + TileOffsByDir(*dir);
|
||||
TrackBits trackbits = TrackStatusToTrackBits(GetTileTrackStatus(neighbour_tile, TRANSPORT_RAIL, 0));
|
||||
if (trackbits != TRACK_BIT_NONE) {
|
||||
/* If there is any track on the tile, set the bit in the second byte */
|
||||
SetBit(res, i + 8);
|
||||
|
||||
/* With tunnels and bridges the tile has tracks, but they are not necessarily connected
|
||||
* with the next tile because the ramp is not going in the right direction. */
|
||||
if (IsTileType(neighbour_tile, MP_TUNNELBRIDGE) && GetTunnelBridgeDirection(neighbour_tile) != *diagdir) {
|
||||
continue;
|
||||
}
|
||||
|
||||
/* If any track reaches our exit direction, set the bit in the lower byte */
|
||||
if (trackbits & DiagdirReachesTracks(*diagdir)) SetBit(res, i);
|
||||
}
|
||||
@@ -350,12 +358,12 @@ static uint32 StationGetVariable(const ResolverObject *object, byte variable, by
|
||||
|
||||
if (object->scope == VSG_SCOPE_PARENT) {
|
||||
/* Pass the request on to the town of the station */
|
||||
Town *t;
|
||||
const Town *t;
|
||||
|
||||
if (st != NULL) {
|
||||
t = st->town;
|
||||
} else if (tile != INVALID_TILE) {
|
||||
t = GetTownByTile(tile);
|
||||
t = ClosestTownFromTile(tile, UINT_MAX);
|
||||
} else {
|
||||
*available = false;
|
||||
return UINT_MAX;
|
||||
@@ -665,7 +673,7 @@ int AllocateSpecToStation(const StationSpec *statspec, Station *st, bool exec)
|
||||
{
|
||||
uint i;
|
||||
|
||||
if (statspec == NULL) return 0;
|
||||
if (statspec == NULL || st == NULL) return 0;
|
||||
|
||||
/* Check if this spec has already been allocated */
|
||||
for (i = 1; i < st->num_specs && i < MAX_SPECLIST; i++) {
|
||||
@@ -753,7 +761,7 @@ bool DrawStationTile(int x, int y, RailType railtype, Axis axis, StationClassID
|
||||
const RailtypeInfo *rti = GetRailTypeInfo(railtype);
|
||||
SpriteID relocation;
|
||||
SpriteID image;
|
||||
SpriteID pal = PLAYER_SPRITE_COLOR(_local_player);
|
||||
SpriteID palette = PLAYER_SPRITE_COLOR(_local_player);
|
||||
uint tile = 2;
|
||||
|
||||
statspec = GetCustomStationSpec(sclass, station);
|
||||
@@ -791,6 +799,17 @@ bool DrawStationTile(int x, int y, RailType railtype, Axis axis, StationClassID
|
||||
image += relocation;
|
||||
}
|
||||
|
||||
SpriteID pal;
|
||||
if (HasBit(image, PALETTE_MODIFIER_TRANSPARENT) || HasBit(image, PALETTE_MODIFIER_COLOR)) {
|
||||
if (seq->image.pal > 0) {
|
||||
pal = seq->image.pal;
|
||||
} else {
|
||||
pal = palette;
|
||||
}
|
||||
} else {
|
||||
pal = PAL_NONE;
|
||||
}
|
||||
|
||||
if ((byte)seq->delta_z != 0x80) {
|
||||
pt = RemapCoords(seq->delta_x, seq->delta_y, seq->delta_z);
|
||||
DrawSprite(image, pal, x + pt.x, y + pt.y);
|
||||
|
@@ -642,7 +642,7 @@ uint RemapNewGRFStringControlCode(uint scc, char **buff, const char **str, int64
|
||||
case SCC_NEWGRF_PRINT_SIGNED_WORD:
|
||||
case SCC_NEWGRF_PRINT_SIGNED_BYTE:
|
||||
case SCC_NEWGRF_PRINT_UNSIGNED_WORD:
|
||||
return SCC_NUM;
|
||||
return SCC_COMMA;
|
||||
|
||||
case SCC_NEWGRF_PRINT_DWORD_CURRENCY:
|
||||
case SCC_NEWGRF_PRINT_QWORD_CURRENCY:
|
||||
|
@@ -1022,6 +1022,7 @@ void DeleteVehicleNews(VehicleID vid, StringID news)
|
||||
if (_total_news == 0) {
|
||||
assert(_latest_news == _oldest_news);
|
||||
_latest_news = INVALID_NEWS;
|
||||
_current_news = INVALID_NEWS;
|
||||
}
|
||||
|
||||
/* Since we only imitate a FIFO removing an arbitrary element does need
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user