Compare commits
51 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
31bc0e08f1 | ||
|
526e7294a3 | ||
|
9338e1a38f | ||
|
c42d060a44 | ||
|
c33d1fc60b | ||
|
41f777b0ec | ||
|
daa89c982e | ||
|
0ca913841d | ||
|
7d984241f3 | ||
|
a95c366f58 | ||
|
d233a561a1 | ||
|
0ded8c0cb8 | ||
|
15d5df9496 | ||
|
85ee1737e4 | ||
|
c5387508eb | ||
|
a8c7707fe0 | ||
|
eb7bceb240 | ||
|
6f8248c36d | ||
|
41db186ea7 | ||
|
310d9e4ee3 | ||
|
be65972895 | ||
|
a51531e410 | ||
|
4b800313f4 | ||
|
e1841b5d68 | ||
|
4f8053e559 | ||
|
3a39cea23b | ||
|
a873aa3337 | ||
|
a1826a043e | ||
|
a6750a145e | ||
|
b5bad6aa19 | ||
|
725d00630f | ||
|
0b02b285a8 | ||
|
5cb560d4bd | ||
|
4ba397c285 | ||
|
863d0e08e3 | ||
|
041714e538 | ||
|
7bbfbcddb7 | ||
|
c224791f7f | ||
|
7fcdcbc8dd | ||
|
a7487b5ede | ||
|
2b709f2d38 | ||
|
59a11e6626 | ||
|
829a2c201d | ||
|
704a361ada | ||
|
bde2fec339 | ||
|
eb4c66a4fb | ||
|
2b2cabfce1 | ||
|
e43d961737 | ||
|
30df6de7bd | ||
|
3330813d95 | ||
|
41fe2dea36 |
@@ -42,8 +42,8 @@ NFORENUM := $(shell [ `nforenum -s -v 2>/dev/null | wc -l ` -eq 1 ] && echo "nfo
|
||||
MD5SUM := $(shell [ "$(OS)" = "OSX" ] && echo "md5 -r" || echo "md5sum")
|
||||
|
||||
# Some "should not be changed" settings.
|
||||
NFO_FILES := $(GRF_DIR)/*.nfo
|
||||
PNG_FILES := $(GRF_DIR)/*.png
|
||||
NFO_FILES := $(GRF_DIR)/*.nfo $(GRF_DIR)/rivers/*.nfo
|
||||
PNG_FILES := $(GRF_DIR)/*.png $(GRF_DIR)/rivers/*.png
|
||||
|
||||
# Build the GRF.
|
||||
all: $(BIN_DIR)/openttd.grf
|
||||
|
@@ -27,9 +27,21 @@ SRC_DIR = "$(ROOT_DIR)/src"
|
||||
BUNDLE_DIR = "$(ROOT_DIR)/bundle"
|
||||
BUNDLES_DIR = "$(ROOT_DIR)/bundles"
|
||||
TTD = openttd.exe
|
||||
PDB = openttd.pdb
|
||||
MODE = Release
|
||||
TARGET := $(shell echo $(PLATFORM) | sed "s@win64@x64@;s@win32@Win32@")
|
||||
|
||||
all:
|
||||
$(Q)cp objs/$(TARGET)/Release/$(TTD) $(BIN_DIR)/$(TTD)
|
||||
$(Q)cp objs/$(TARGET)/$(MODE)/$(TTD) $(BIN_DIR)/$(TTD)
|
||||
|
||||
include Makefile.bundle.in
|
||||
|
||||
bundle_pdb:
|
||||
@echo '[BUNDLE] Creating $(BUNDLE_NAME).pdb.xz'
|
||||
$(Q)mkdir -p "$(BUNDLES_DIR)"
|
||||
$(Q)cp objs/$(TARGET)/Release/$(PDB) $(BUNDLES_DIR)/$(BUNDLE_NAME).pdb
|
||||
$(Q)xz -9 $(BUNDLES_DIR)/$(BUNDLE_NAME).pdb
|
||||
|
||||
regression: all
|
||||
$(Q)cp bin/$(TTD) bin/openttd
|
||||
$(Q)cd bin && sh ai/regression/run.sh
|
||||
|
@@ -28,6 +28,7 @@ else
|
||||
./openttd -x -c ai/regression/regression.cfg $params -g ai/regression/regression.sav -d ai=2 2>&1 | awk '{ gsub("0x(\\(nil\\)|0+)(x0)?", "0x00000000", $0); gsub("^dbg: \\[ai\\]", "", $0); gsub("^ ", "ERROR: ", $0); gsub("ERROR: \\[1\\] ", "", $0); gsub("\\[P\\] ", "", $0); print $0; }' > tmp.regression
|
||||
fi
|
||||
|
||||
ret=0
|
||||
if [ -z "$gdb" ]; then
|
||||
res="`diff -ub ai/regression/regression.txt tmp.regression`"
|
||||
if [ -z "$res" ]; then
|
||||
@@ -35,6 +36,7 @@ if [ -z "$gdb" ]; then
|
||||
else
|
||||
echo "Regression test failed! Difference:"
|
||||
echo "$res"
|
||||
ret=1
|
||||
fi
|
||||
echo ""
|
||||
echo "Regression test done"
|
||||
@@ -49,3 +51,5 @@ fi
|
||||
if [ "$1" != "-k" ]; then
|
||||
rm -f tmp.regression
|
||||
fi
|
||||
|
||||
exit $ret
|
||||
|
@@ -55,7 +55,7 @@ TRGI.GRF = da6a6c9dcc451eec88d79211437b76a8
|
||||
TRGC.GRF = ed446637e034104c5559b32c18afe78d
|
||||
TRGH.GRF = ee6616fb0e6ef6b24892c58c93d86fc9
|
||||
TRGT.GRF = e30e8a398ae86c03dc534a8ac7dfb3b6
|
||||
OPENTTD.GRF = e67a3aaf13b81bab5d72d7440244e20c
|
||||
OPENTTD.GRF = f99b8f65d32a8883a2b0979eb2f6729f
|
||||
|
||||
[origin]
|
||||
default = You can find it on your Transport Tycoon Deluxe CD-ROM.
|
||||
|
@@ -55,7 +55,7 @@ TRGI.GRF = da6a6c9dcc451eec88d79211437b76a8
|
||||
TRGC.GRF = ed446637e034104c5559b32c18afe78d
|
||||
TRGH.GRF = ee6616fb0e6ef6b24892c58c93d86fc9
|
||||
TRGT.GRF = fcde1d7e8a74197d72a62695884b909e
|
||||
OPENTTD.GRF = e67a3aaf13b81bab5d72d7440244e20c
|
||||
OPENTTD.GRF = f99b8f65d32a8883a2b0979eb2f6729f
|
||||
|
||||
[origin]
|
||||
default = You can find it on your Transport Tycoon Deluxe CD-ROM.
|
||||
|
@@ -55,7 +55,7 @@ TRGIR.GRF = 0c2484ff6be49fc63a83be6ab5c38f32
|
||||
TRGCR.GRF = 3668f410c761a050b5e7095a2b14879b
|
||||
TRGHR.GRF = 06bf2b7a31766f048baac2ebe43457b1
|
||||
TRGTR.GRF = de53650517fe661ceaa3138c6edb0eb8
|
||||
OPENTTD.GRF = e67a3aaf13b81bab5d72d7440244e20c
|
||||
OPENTTD.GRF = f99b8f65d32a8883a2b0979eb2f6729f
|
||||
|
||||
[origin]
|
||||
default = You can find it on your Transport Tycoon Deluxe CD-ROM.
|
||||
|
146
changelog.txt
@@ -1,3 +1,149 @@
|
||||
1.1.3 (2011-09-15)
|
||||
------------------------------------------------------------------------
|
||||
- Fix: Prevent authentication bypass for the admin port when a new game is started [FS#4771] (r22934)
|
||||
- Fix: TTO savegames with any aircraft not in an hangar caused crashes during load (r22915)
|
||||
- Fix: Windows 2000 and XP without service pack 3 must use the win9x binary/installer; the newer MSVC compiler of the compile farm does not support those versions of Windows anymore [FS#4749] (r22909)
|
||||
|
||||
|
||||
1.1.3-RC1 (2011-09-04)
|
||||
------------------------------------------------------------------------
|
||||
- Add: River graphics for the original base set (r22766)
|
||||
- Fix: [NewGRF] DCxx text references via the textstack are not allowed, but caused crash [FS#4758] (r22882)
|
||||
- Fix: Harden memory allocation (r22881, r22880, r22875)
|
||||
- Fix: Miscalculation of train curve speed limits (r22879)
|
||||
- Fix: Validate image dimensions before loading [CVE-2011-3343] [FS#4747] (r22878, r22877, r22874, r22873)
|
||||
- Fix: Report an error in the news if autoreplace/renew fails due to the engine type being no longer available [FS#4712] (r22876)
|
||||
- Fix: Perform stricter checks on RLE compressed BMP images [CVE-2011-3343] [FS#4746] (r22872, r22871)
|
||||
- Fix: [NewGRF] Variables 40 and 81 of callback 18 are not the same as 80 (r22867)
|
||||
- Fix: [NewGRF] Generic callbacks shall chain to the next GRF when the callback fails (r22866, r22865)
|
||||
- Fix: Perform stricter checks on some commands [CVE-2011-3341] [FS#4745] (r22845)
|
||||
- Fix: Harden savegame load against too many AI config settings [CVE-2011-3342] [FS#4748] (r22843)
|
||||
- Fix: Compilation with GCC 4.7 (r22832, r22728, r22719)
|
||||
- Fix: Allow to demolish aqueducts built in the scenario editor [FS#4741] (r22821)
|
||||
- Fix: Towns expanding from the "wrong" side of a tunnel or bridge [FS#4731] (r22810, r22809)
|
||||
- Fix: [NewGRF] String codes for dates should use unsigned words, like old OpenTTD did before it learned dates before 1920 (r22774)
|
||||
- Fix: [NoAI] Clarify the meaning of AIStation::IsWithinTownInfluence(), AITile::IsWithinTownInfluence() and AITown::IsWithinTownInfluence() [FS#4702] (r22763)
|
||||
- Fix: [NewGRF] Also free allocated depot tables of NewGRF airports (r22760)
|
||||
- Fix: [NewGRF] Invalid memory access when querying the grfID of the default objects [FS#4730] (r22757)
|
||||
- Fix: When marking tile selections dirty, use the height information of the corners instead of the surface slope. This is more accurate when the foundation is kind of undefined [FS#4727] (r22755)
|
||||
- Fix: Make aircraft point to the exit when leaving the hangar [FS#4696] (r22743, r22742, r22741)
|
||||
- Fix: Display the size of the leveled platform in the measurement tooltip of terraforming operations [FS#4708] (r22740, r22739)
|
||||
- Fix: Setting company passwords via the GUI on servers (including starting a company with the default password) failed, so no client could join that company [FS#4722] (r22738)
|
||||
- Fix: [NewGRF] The construction stage sprites were incorrectly selected in cases other than 1 or 4 sprites per set (r22731)
|
||||
- Fix: [NoAI] AITile::GetCargoAcceptance, AITile::GetCargoProduction and AIRail::BuildNewGRFRailStation did not check the cargo argument for validity (r22726)
|
||||
- Fix: [NewGRF] Always draw NewGRF supplied texts with a default colour (r22725)
|
||||
- Fix: [NewGRF] Do not restrict AdvVarAct2 to 255 operations (r22723)
|
||||
- Fix: If there is no point in opening the rail/air toolbar, do not open it for people who use hotkeys either rather than only for those using GUI elements (r22716, r22715, r22714)
|
||||
- Fix: [NoAI] Allow AIAirport::GetNoiseLevelIncrease() also for expired airports [FS#4704] (r22710)
|
||||
|
||||
|
||||
1.1.2 (2011-08-14)
|
||||
------------------------------------------------------------------------
|
||||
- Fix: Some corrupted savegames could crash OpenTTD instead of showing the 'savegame corrupted' message [CVE-2011-3342] [FS#4717] (r22737, r22736)
|
||||
- Fix: [NewGRF] Triggering NOT_REACHED when playing with a NewGRF that supplies genders/cases for a language that was not installed [FS#4718] (r22735)
|
||||
|
||||
|
||||
1.1.2-RC2 (2011-07-30)
|
||||
------------------------------------------------------------------------
|
||||
- Fix: Cost of adding an extra road type to a bridge or tunnel was undercalculated [FS#4680, FS#4681] (r22700, r22699)
|
||||
- Fix: Only insert cleared object tiles into _cleared_object_areas if clearing actually succeeds, else subsequential tests of the same tile will be skipped and considered successful [FS#4694] (r22698)
|
||||
- Fix: When building a house it could be built at the wrong place if multitile houses failed some tests (r22697)
|
||||
- Fix: [Network] Failed network address resolving could trigger temporary freezes [FS#4697] (r22696, r22695)
|
||||
- Fix: [NewGRF] The override managers were not reset in some cases like creating a new scenario [FS#4691] (r22693)
|
||||
- Fix: [NewGRF] Aircrafts defined with IDs above the default aircrafts always defaulted to passenger cargo (r22690)
|
||||
|
||||
|
||||
1.1.2-RC1 (2011-07-24)
|
||||
------------------------------------------------------------------------
|
||||
- Change: [NewGRF] Only allow access (via hotkey and menu) to the bounding box visualisation when NewGRF developer tools are enabled (r22675)
|
||||
- Fix: [NewGRF] Disallow accessing variable 1B in network games due to desync reasons (r22682)
|
||||
- Fix: Switching from a red to a white highlight (by switching to another tool) without switching the highlight mode (HT_RECT etc.) did not mark the selection dirty [FS#4670] (r22649)
|
||||
- Fix: [NewGRF] Parameters from NewGRFs were not properly parsed in all cases [FS#4599] (r22648, r22630, r22629, r22628, r22627)
|
||||
- Fix: GetSection() does not return a LockPart [FS#4678] (r22645)
|
||||
- Fix: [NewGRF] Disallow building NewObjects on water tiles owned by another company (r22643)
|
||||
- Fix: [NewGRF] Disable the 'set parameters' button in the NewGRF GUI, if the GRF specifies to have no parameters and one would not be able to set any parameters anyway (r22642)
|
||||
- Fix: Keep the previous owner of the upper and lower lock parts if they are built on existing water (r22638)
|
||||
- Fix: [NewGRF] Airports should not expose the tile specific random bits of the north tile. Only airport tiles should access those (r22636)
|
||||
- Fix: [NewGRF] Correctly reseed random bits of industries and industry tiles (r22635, r22634)
|
||||
- Fix: [NewGRF] Implement variables 25 and 7F for railtypes (r22633)
|
||||
- Fix: [NewGRF] Additional text in fund industry window is NewGRF supplied and thus should have a default colour (r22631)
|
||||
- Fix: Also initialise _old_vds with newgame settings; TTD savegames do not contain these settings [FS#4622] (r22626)
|
||||
- Fix: Do not zero the orders of disaster vehicles when converting savegames [FS#4642] (r22625)
|
||||
- Fix: When closing an AI company the local player cheated to, we need to cheat him to another company [FS#4654] (r22624, r22623)
|
||||
- Fix: When closing down companies their shares in other companies must be sold even if share trading is disabled at that point of time (r22622)
|
||||
- Fix: When asking the user to confirm an unsafe unpausing, there is no need to execute a command if 'no' is choosed. This also prevents crashing when clicking unpause while the confirm window is shown (r22621)
|
||||
- Fix: Enforce refit orders to be 'always go to depot' orders; service-only and stop-in-depot orders make no sense with refitting [FS#4651] (r22620)
|
||||
- Fix: Consider the size of the vehicle sprite for the lineheight in the company GUI. This also makes the widget containing the sprite not skip drawing it, if the bounds of the widget are outside of the drawing area though the sprite actually needs drawing [FS#4662] (r22619)
|
||||
- Fix: When changing difficulty settings over the network, do not just reopen the difficulty window if any game options window is opened; instead invalidate them properly [FS#4653] (r22618, r22617)
|
||||
- Fix: [NewGRF] If callback 33 returns a value out of range, no sound effect shall be played [FS#4656] (r22614)
|
||||
- Fix: Use rotated heightmap sizes for reporting scaling problems [FS#4663] (r22608)
|
||||
- Fix: Do not show cargo accepted/produced in the new station window when no tiles are selected (mouse hovering a window or toolbar) [FS#4647] (r22595, r22593)
|
||||
- Fix: Add active NewGRFs to the list of available ones when selecting the empty preset [FS#4644] (r22594)
|
||||
- Fix: Reading of heightmaps with uncommon BMP formats failed due to uninitialised variables [FS#4645] (r22592)
|
||||
- Fix: PBS order forecasting modified the current order index in case of a goto-nearest-depot order and no depot could be found [FS#4641] (r22589)
|
||||
- Fix: Remove BaseStorageArrays from _changed_storage_arrays on destruction (r22583, r22551)
|
||||
- Fix: Do not increment STL iterators after they have been invalidated (r22582)
|
||||
- Fix: Do not lower the arrow buttons in the NewGRF/AI parameter windows if they are clicked when disabled (r22553, r22499)
|
||||
- Fix: Clear airport persistent storage on construction/removal of airports (r22552)
|
||||
- Fix: Possible crash when opening the airport build window for the first time [FS#4619] (r22538)
|
||||
- Fix: Replace the half small airport structure on the intercontinental airport with some grass [FS#3494] (r22537)
|
||||
- Fix: Documentation omission regarding admin protocol [FS#4632] (r22536)
|
||||
- Fix: [NoAI] Doing rescan_ai in a game with running AIs caused a crash [FS#4631] (r22534)
|
||||
- Fix: Do not create an implicit order if the current order is the first order in the order list and we visit the station of the last entry of the order list (r22532)
|
||||
- Fix: MinGW 64 related compilation issues [FS#4623] (r22522, r22491, r22490, r22489)
|
||||
- Fix: The layout selectors of the airport build GUI did not latch properly (r22497, r22495)
|
||||
- Fix: Callback result for airport layout name was incorrectly used (r22496)
|
||||
- Fix: Airport preview sprite can depend on the layout, so update the cached SpriteID when the layout changes (r22494)
|
||||
- Fix: Engine IDs for coal and mail wagons were swapped in the TTO savegame conversion [FS#4622] (r22487)
|
||||
- Fix: The caption of centered windows could be moved out of the main window and thus become inaccessible when resizing the main window (r22485, r22484)
|
||||
- Fix: No client error packet was sent to the admin bots [FS#4585] (r22384)
|
||||
|
||||
|
||||
1.1.1 (2011-06-01)
|
||||
------------------------------------------------------------------------
|
||||
- Change: Automatic orders are better called implicit orders as no real order influencing path finding is added (r22474, r22473)
|
||||
- Fix: Only try to insert implicit orders for ground vehicles. Aircraft may reach unscheduled terminals when skipping orders [FS#4624] (r22492)
|
||||
|
||||
|
||||
1.1.1-RC1 (2011-05-15)
|
||||
------------------------------------------------------------------------
|
||||
- Feature: [NewGRF] Allow to filter by town of the current industry when using industry variable 0x68 [FS#4591] (r22434)
|
||||
- Change: Improve the speed of YAPF by tweaking hash tables size (r22351, r22350, r22348)
|
||||
- Change: Show one digit of the fractional train length in the depot (r22336, r22305, r22304, r22303)
|
||||
- Fix: When determining the executable path failed, the working directory was used instead, circumventing the not-home-directory check [FS#4613] (r22465)
|
||||
- Fix: [Windows] Prevent a crash when launching OpenTTD with -d from a MSYS console [FS#4587] (r22464)
|
||||
- Fix: Update the saveload window immediatelly after scanning a new directory, so queued events reach the window when already updated [FS#4615] (r22463)
|
||||
- Fix: [NewGRF] The c and p parts of station vars 40, 41 and 49 were incorrect for large stations (r22455, r22286)
|
||||
- Fix: [NewGRF] Zero register 0x100 as specified before resolving custom station foundations (r22452)
|
||||
- Fix: Do not 'log' the NewGRFs in the screenshot when in the menu [FS#4610] (r22450)
|
||||
- Fix: [NewGRF] When GRFs are disabled via Action E or due to GRM failure, also display an error in the GUI (r22444, r22443)
|
||||
- Fix: [NewGRF] Do not popup fatal NewGRF error messages in the intro screen. The GRFs are not going to be activated there anyway and the GRF settings GUI will not display the errors either (r22442)
|
||||
- Fix: Catenary was drawn incorrectly next to level crossings with foundations (r22437)
|
||||
- Fix: [NewGRF] Apply railtype property 12 (station graphics) also to station groundsprites from action 1 (r22436)
|
||||
- Fix: Git revision detection would return too much when tags are involved (r22435)
|
||||
- Fix: [NewGRF] When action14 specified different values for the palette, the values were OR-ed. Use the last set value instead (r22416)
|
||||
- Fix: [Network] Kicking yourself via remote console crashes the server [FS#4606] (r22414)
|
||||
- Fix: [NewGRF] Make sure the action2 ID of a generic feature callback is valid (r22409)
|
||||
- Fix: Check the availability year of all houses, not just the NewGRF houses, when making sure that at least one is available onwards from year 0 [FS#4581] (r22389, r22300, r22299)
|
||||
- Fix: When a game uses a lot of NewGRFs the buffer for storing that information in the PNG is too small (r22388)
|
||||
- Fix: Windows' recv seems to return 'graceful closed' before having passed the remaining buffer which causes OpenTTD to think all connections are 'incorrectly' terminated, i.e. without the 'I am leaving' packet from the client. So let the client wait a tiny bit after sending the 'I am leaving' packet and before gracefully closing the connection [FS#4601] (r22387)
|
||||
- Fix: When the last AI company gets removed, the 'dead' state was not reset in the AI debug window [FS#4602] (r22386)
|
||||
- Fix: Recolouring of silicon bridge was done incorrectly (r22380, r22379, r22378)
|
||||
- Fix: Crash when clicking a removed company in the vehicle list dropdowns [FS#4592] (r22373)
|
||||
- Fix: Keep better accounting of the order in which clients joined; client cannot be starved from joining and they get shown the amount of clients waiting in front of them (r22372, r22370, r22369, r22368, r22367, r22366, r22365, r22364, r22363, r22362, r22361)
|
||||
- Fix: Make sure saving has completely and utterly finished before starting a new one. Otherwise you could start a save, which would be marked as done by the previous save stopping and then yet another save could be started... and that could create a deadlock [FS#4596] (r22371)
|
||||
- Fix: Delete the client list popup when the client got removed (instead of previously selecting some other client) (r22360, r22359, r22358)
|
||||
- Fix: When inserting automatic orders, do not create consecutive duplicate orders (r22333, r22332, r22331, r22330, r22329, r22328, r22327)
|
||||
- Fix: Destinations of conditional orders were update incorrectly when deleting orders in front of the conditional orders, if the target order was the order just before of the conditional order (r22326)
|
||||
- Fix: Vehicles skipped orders when inserting automatic orders failed (r22324)
|
||||
- Fix: [NewGRF] When determining refittability use the cargo translation table of the GRF setting the refitmask instead of the GRF defining the action 3 (r22316)
|
||||
- Fix: Make road vehicles, ships and aircraft skip orders if they are leaving a depot and heading to the same one again; just like trains (r22309)
|
||||
- Fix: Waiting on a server could kick the client, or rather the client would kick itself due to an unexpected packet [FS#4574] (r22308)
|
||||
- Fix: When drawing the town authority window, check whether the availability of the actions changed, and force a complete redraw in that case (r22307)
|
||||
- Fix: The 'freeform edges' setting could be enabled when there were buoys on the northern border [FS#4580] (r22297)
|
||||
- Fix: Reset Window::scrolling_scrollbar when raising scrollbar buttons [FS#4571] (r22294)
|
||||
|
||||
|
||||
1.1.0 (2011-04-01)
|
||||
------------------------------------------------------------------------
|
||||
- Fix: In the scenario editor you could build a ship depot using the appropriate hotkey. Removing that depot causes an assertion to trigger [FS#4558] (r22266)
|
||||
|
13
config.lib
@@ -59,8 +59,8 @@ set_default() {
|
||||
enable_translator="0"
|
||||
enable_unicode="1"
|
||||
enable_console="1";
|
||||
enable_assert="1"
|
||||
enable_strip="0"
|
||||
enable_assert="0"
|
||||
enable_strip="1"
|
||||
enable_universal="0"
|
||||
enable_osx_g5="0"
|
||||
enable_cocoa_quartz="1"
|
||||
@@ -1296,6 +1296,15 @@ make_compiler_cflags() {
|
||||
cxxflags="$cxxflags -std=gnu++0x"
|
||||
fi
|
||||
|
||||
if [ $cc_version -ge 47 ]; then
|
||||
# Disable -Wnarrowing which gives many warnings, such as:
|
||||
# warning: narrowing conversion of '...' from 'unsigned int' to 'int' inside { } [-Wnarrowing]
|
||||
# They are valid according to the C++ standard, but useless.
|
||||
cxxflags="$cxxflags -Wno-narrowing"
|
||||
# Disable bogus 'attempt to free a non-heap object' warning
|
||||
flags="$flags -Wno-free-nonheap-object"
|
||||
fi
|
||||
|
||||
if [ "$enable_lto" != "0" ]; then
|
||||
# GCC 4.5 outputs '%{flto}', GCC 4.6 outputs '%{flto*}'
|
||||
has_lto=`$1 -dumpspecs | grep '\%{flto'`
|
||||
|
@@ -99,7 +99,7 @@ elif [ -d "$ROOT_DIR/.git" ]; then
|
||||
# No rev? Maybe it is a custom git-svn clone
|
||||
REV_NR=`LC_ALL=C git log --pretty=format:%b --grep="git-svn-id:.*@[0-9]*" -1 | sed "s@.*\@\([0-9]*\).*@\1@"`
|
||||
fi
|
||||
TAG="`git name-rev --name-only --tags --no-undefined HEAD 2>/dev/null`"
|
||||
TAG="`git name-rev --name-only --tags --no-undefined HEAD 2>/dev/null | sed 's@\^0$@@'`"
|
||||
if [ -n "$TAG" ]; then
|
||||
BRANCH=""
|
||||
REV="$TAG"
|
||||
|
@@ -1,6 +1,6 @@
|
||||
OpenTTD's known bugs
|
||||
Last updated: 2011-04-01
|
||||
Release version: 1.1.0
|
||||
Last updated: 2011-09-15
|
||||
Release version: 1.1.3
|
||||
------------------------------------------------------------------------
|
||||
|
||||
|
||||
@@ -39,8 +39,12 @@ officially supporting Mac OS X again. For now it remains unsupported and
|
||||
we only apply bug fixes provided by the community but we are unable to fix
|
||||
these bugs ourselves.
|
||||
|
||||
- 4420 [OSX] OS' mouse pointer still shows
|
||||
- 2484 [OSX] Cannot enter CJK characters
|
||||
- 4744 [OSX] Crash when switching to full screen with OS X Lion
|
||||
- 4689 [OSX] Crash when hiding window after coming from full screen
|
||||
- 4594 [Windows] Minimizing the windows when a modal error message is
|
||||
shown makes it difficult to exit the game
|
||||
- 4420 [OSX] OS' mouse pointer still shows
|
||||
- 2484 [OSX] Cannot enter CJK characters
|
||||
|
||||
2.1) Known bugs that will not be solved
|
||||
---- ----------------------------------
|
||||
@@ -263,7 +267,7 @@ OpenTTD hangs when started on 32 bits Windows [FS#4083]
|
||||
default we are not able to detect this failure, except when Windows'
|
||||
music initialisation function returns after several hours and then
|
||||
there is no point in switching the music driver anymore.
|
||||
The reason we do not use the "win32" music driver as default are
|
||||
The reason we still use the "win32" music driver as default are
|
||||
described in the "Long delay between switching music/song" section
|
||||
of this document.
|
||||
|
||||
@@ -293,3 +297,44 @@ Can't change volume inside OpenTTD [FS#4416]
|
||||
in OpenTTD. As a result you can't change the volume inside OpenTTD
|
||||
for backends such as SDL; just use the volume control provided by
|
||||
your operating system.
|
||||
|
||||
Can't run OpenTTD with the -d option from a MSYS console [FS#4587]
|
||||
The MSYS console does not allow OpenTTD to open an extra console for
|
||||
debugging output. Compiling OpenTTD with the --enable-console
|
||||
configure option prevents this issue and allows the -d option to use
|
||||
the MSYS console for its output.
|
||||
|
||||
Unreadable characters for non-latin locales [FS#4607]
|
||||
OpenTTD does not ship a non-latin font in its graphics files. As a
|
||||
result OpenTTD needs to acquire the font from somewhere else. What
|
||||
OpenTTD does is ask the operating system, or a system library, for
|
||||
the best font for a given language if the currently loaded font
|
||||
does not provide all characters of the chosen translation. This
|
||||
means that OpenTTD has no influence over the quality of the chosen
|
||||
font; it just does the best it can do.
|
||||
|
||||
If the text is unreadable there are several steps that you can take
|
||||
to improve this. The first step is finding a good font and configure
|
||||
this in the configuration file. See section 9.0 of readme.txt for
|
||||
more information. You can also increase the font size to make the
|
||||
characters bigger and possible better readable.
|
||||
|
||||
If the problem is with the clarity of the font you might want to
|
||||
enable anti-aliasing by setting the small_aa/medium_aa/large_aa
|
||||
settings to "true". However, anti-aliasing only works when a 32 bits
|
||||
blitter has been selected, e.g. blitter = "32bpp-anim", as with the
|
||||
8 bits blitter there are not enough colours to properly perform the
|
||||
anti-aliasing.
|
||||
|
||||
Train does not crash with itself [FS#4635]:
|
||||
When a train drives in a circle the front engine passes through
|
||||
wagons of the same train without crashing. This is intentional.
|
||||
Signals are only aware of tracks, they do not consider the train
|
||||
length and whether there would be enough room for a train in some
|
||||
circle it might drive on. Also the path a train might take is not
|
||||
necessarily known when passing a signal.
|
||||
Checking all circumstances would take a lot of additional computational
|
||||
power for signals, which is not considered worth the effort, as
|
||||
it does not add anything to gameplay.
|
||||
Nevertheless trains shall not crash in normal operation, so making
|
||||
a train not crash with itself is the best solution for everyone.
|
||||
|
Before Width: | Height: | Size: 29 KiB After Width: | Height: | Size: 29 KiB |
@@ -8,13 +8,13 @@
|
||||
//
|
||||
-1 * 0 0C "Fixing (alignment) bugs in the orignal graphics. By Addi."
|
||||
-1 * 6 07 83 01 \7= 03 69
|
||||
// Different grahpics for same wood truck
|
||||
// Different graphics for same wood truck
|
||||
-1 * 14 0A 04 01 87 0C 01 89 0C 01 07 0E 01 09 0E
|
||||
-1 sprites/fix_graphics.png 82 8 09 16 22 -6 -7
|
||||
-1 sprites/fix_graphics.png 114 8 09 16 22 -14 -7
|
||||
-1 sprites/fix_graphics.png 146 8 09 16 22 -6 -7
|
||||
-1 sprites/fix_graphics.png 178 8 09 16 22 -14 -7
|
||||
// Different grahpics for lots of trucks
|
||||
// Different graphics for lots of trucks
|
||||
-1 * 5 0A 01 28 C4 0D
|
||||
-1 sprites/fix_graphics.png 226 8 01 18 8 -3 -10
|
||||
-1 sprites/fix_graphics.png 242 8 09 16 20 -14 -7
|
||||
@@ -56,19 +56,19 @@
|
||||
-1 sprites/fix_graphics.png 610 40 09 16 20 -14 -7
|
||||
-1 sprites/fix_graphics.png 642 40 01 12 28 -14 -6
|
||||
-1 sprites/fix_graphics.png 690 40 09 16 20 -6 -7
|
||||
// Different grahpics for same truck
|
||||
// Different graphics for same truck
|
||||
-1 * 14 0A 04 01 9D 0C 01 9F 0C 01 A1 0C 01 A3 0C
|
||||
-1 sprites/fix_graphics.png 738 40 09 16 22 -14 -7
|
||||
-1 sprites/fix_graphics.png 770 40 09 16 22 -6 -7
|
||||
-1 sprites/fix_graphics.png 2 72 09 16 22 -14 -7
|
||||
-1 sprites/fix_graphics.png 34 72 09 16 22 -6 -7
|
||||
// Different grahpics for same paper truck
|
||||
// Different graphics for same paper truck
|
||||
-1 * 14 0A 04 01 5D 0D 01 5F 0D 01 61 0D 01 63 0D
|
||||
-1 sprites/fix_graphics.png 82 72 09 16 22 -14 -7
|
||||
-1 sprites/fix_graphics.png 114 72 09 17 22 -5 -7
|
||||
-1 sprites/fix_graphics.png 146 72 09 17 22 -14 -8
|
||||
-1 sprites/fix_graphics.png 178 72 09 16 22 -6 -7
|
||||
// Different grahpics for same paper truck (truck #2)
|
||||
// Different graphics for same paper truck (truck #2)
|
||||
-1 * 14 0A 04 01 1D 0E 01 1F 0E 01 21 0E 01 23 0E
|
||||
-1 sprites/fix_graphics.png 226 72 09 16 22 -14 -7
|
||||
-1 sprites/fix_graphics.png 258 72 09 16 22 -6 -7
|
||||
@@ -135,13 +135,13 @@
|
||||
|
||||
// Non-toyland specific
|
||||
-1 * 6 07 83 01 \7= 03 0A
|
||||
// Grahpics for the tubular bridge pillars had incorrect offsets
|
||||
// graphics for the tubular bridge pillars had incorrect offsets
|
||||
-1 * 5 0A 01 04 05 0A
|
||||
-1 sprites/fix_graphics.png 98 296 09 9 4 2 -1
|
||||
-1 sprites/fix_graphics.png 114 296 09 9 4 2 -1
|
||||
-1 sprites/fix_graphics.png 130 296 09 9 4 -4 0
|
||||
-1 sprites/fix_graphics.png 146 296 09 9 4 -4 0
|
||||
// Grahpics for the cantilever bridge pillars had incorrect offsets
|
||||
// graphics for the cantilever bridge pillars had incorrect offsets
|
||||
-1 * 5 0A 01 04 DD 09
|
||||
-1 sprites/fix_graphics.png 178 296 09 11 10 2 -3
|
||||
-1 sprites/fix_graphics.png 194 296 09 12 10 2 -2
|
||||
@@ -150,15 +150,51 @@
|
||||
|
||||
// Toyland specific
|
||||
-1 * 6 07 83 01 \7! 03 0A
|
||||
// Grahpics for the toyland tubular bridge pillars had incorrect offsets
|
||||
// Graphics for the toyland tubular bridge pillars had incorrect offsets
|
||||
-1 * 5 0A 01 04 05 0A
|
||||
-1 sprites/fix_graphics.png 248 296 09 9 4 2 -1
|
||||
-1 sprites/fix_graphics.png 264 296 09 9 4 2 -1
|
||||
-1 sprites/fix_graphics.png 280 296 09 9 4 -4 0
|
||||
-1 sprites/fix_graphics.png 296 296 09 9 4 -4 0
|
||||
// Grahpics for the toyland cantilever bridge pillars had incorrect offsets
|
||||
// Graphics for the toyland cantilever bridge pillars had incorrect offsets
|
||||
-1 * 5 0A 01 04 DD 09
|
||||
-1 sprites/fix_graphics.png 328 296 09 11 10 2 -3
|
||||
-1 sprites/fix_graphics.png 344 296 09 12 10 2 -2
|
||||
-1 sprites/fix_graphics.png 360 296 09 11 10 -10 -1
|
||||
-1 sprites/fix_graphics.png 376 296 09 11 10 -10 -1
|
||||
|
||||
// Wrong, non-translated colours in tubular bridge in 'normal' climates
|
||||
// Toyland has separate sprites which are not colour translated, thus
|
||||
// this does not apply there;
|
||||
// Pillars are changed for all climates further up
|
||||
-1 * 6 07 83 01 \7= 03 \b22
|
||||
|
||||
// Main tubular bridge sprites
|
||||
-1 * 5 0A 01 \b6 \w2559
|
||||
-1 sprites/fix_graphics.png 2 330 09 40 32 -30 -26
|
||||
-1 sprites/fix_graphics.png 52 330 09 50 44 -42 -26
|
||||
-1 sprites/fix_graphics.png 116 330 09 45 46 -42 -21
|
||||
-1 sprites/fix_graphics.png 180 330 09 45 46 -2 -20
|
||||
-1 sprites/fix_graphics.png 244 330 09 50 44 0 -25
|
||||
-1 sprites/fix_graphics.png 308 330 09 41 32 0 -25
|
||||
// start rail bridge
|
||||
-1 * 5 0A 01 01 \w2569
|
||||
-1 sprites/fix_graphics.png 350 330 09 29 52 -25 -4
|
||||
// start rail + road bridge
|
||||
-1 * 5 0A 01 02 \w2574
|
||||
-1 sprites/fix_graphics.png 420 330 09 29 50 -25 -4
|
||||
-1 sprites/fix_graphics.png 489 330 09 29 52 -25 -4
|
||||
// start road + monorail bridge
|
||||
-1 * 5 0A 01 02 \w2580
|
||||
-1 sprites/fix_graphics.png 559 330 09 29 50 -25 -4
|
||||
-1 sprites/fix_graphics.png 629 330 09 29 52 -25 -4
|
||||
// start monrail + maglev bridge
|
||||
-1 * 5 0A 01 02 \w2586
|
||||
-1 sprites/fix_graphics.png 699 330 09 29 50 -25 -4
|
||||
-1 sprites/fix_graphics.png 489 283 09 29 52 -25 -4
|
||||
// start maglev bridge
|
||||
-1 * 5 0A 01 01 \w2592
|
||||
-1 sprites/fix_graphics.png 559 283 09 29 50 -25 -4
|
||||
// GUI sprite
|
||||
-1 * 5 0A 01 01 \w2600
|
||||
-1 sprites/fix_graphics.png 433 298 09 15 40 0 5
|
||||
|
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 29 KiB |
@@ -80,6 +80,7 @@
|
||||
"David Dallaston: tram tracks" 0D
|
||||
"Jonathan G. Rennison: aqueducts" 0D
|
||||
"Bilbo, Jasper Vries: font" 0D
|
||||
"Andrew Parkhouse: rivers" 0D
|
||||
"OpenTTD developers: other graphics" 00
|
||||
|
||||
//
|
||||
@@ -104,3 +105,8 @@
|
||||
#include "chars.nfo"
|
||||
#include "overrides.nfo"
|
||||
#include "fix_graphics.nfo"
|
||||
#include "rivers/rapids.nfo"
|
||||
#include "rivers/temperate.nfo"
|
||||
#include "rivers/arctic.nfo"
|
||||
#include "rivers/tropic.nfo"
|
||||
#include "rivers/toyland.nfo"
|
||||
|
282
media/extra_grf/rivers/arctic.nfo
Normal file
@@ -0,0 +1,282 @@
|
||||
//
|
||||
// $Id$
|
||||
//
|
||||
// This file is part of OpenTTD.
|
||||
// OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||
// OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
// See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
|
||||
//
|
||||
-1 * 0 0C "Arctic river graphics by andythenorth (Andrew Parkhouse)"
|
||||
-1 * 4 01 05 01 3C
|
||||
-1 sprites/arctic_snowy.png 10 10 09 19 38 -5 0
|
||||
-1 sprites/arctic_snowy.png 58 10 09 18 38 -5 13
|
||||
-1 sprites/arctic_snowy.png 106 10 09 18 38 -31 13
|
||||
-1 sprites/arctic_snowy.png 154 10 09 19 38 -31 0
|
||||
-1 sprites/arctic_snowy.png 202 10 09 9 19 14 11
|
||||
-1 sprites/arctic_snowy.png 234 10 09 9 16 -7 22
|
||||
-1 sprites/arctic_snowy.png 266 10 09 9 19 -31 11
|
||||
-1 sprites/arctic_snowy.png 298 10 09 9 16 -7 0
|
||||
-1 sprites/arctic_snowy.png 330 10 09 6 8 25 13
|
||||
-1 sprites/arctic_snowy.png 346 10 09 4 12 -5 27
|
||||
-1 sprites/arctic_snowy.png 364 10 09 6 8 -31 13
|
||||
-1 sprites/arctic_snowy.png 380 10 09 5 12 -5 0
|
||||
|
||||
-1 sprites/arctic_snowy.png 10 40 09 11 40 -7 0
|
||||
-1 sprites/arctic_snowy.png 58 40 09 18 39 -6 5
|
||||
-1 sprites/arctic_snowy.png 106 40 09 11 38 -31 12
|
||||
-1 sprites/arctic_snowy.png 154 40 09 18 39 -31 0
|
||||
-1 sprites/arctic_snowy.png 202 40 09 6 20 13 5
|
||||
-1 sprites/arctic_snowy.png 234 40 09 7 13 -6 16
|
||||
-1 sprites/arctic_snowy.png 266 40 09 6 20 -31 12
|
||||
-1 sprites/arctic_snowy.png 298 40 09 7 13 -5 0
|
||||
-1 sprites/arctic_snowy.png 330 40 09 5 8 25 6
|
||||
-1 sprites/arctic_snowy.png 346 40 09 3 12 -5 20
|
||||
-1 sprites/arctic_snowy.png 364 40 09 4 8 -31 13
|
||||
-1 sprites/arctic_snowy.png 380 40 09 4 15 -7 0
|
||||
|
||||
-1 sprites/arctic_snowy.png 10 70 09 20 38 -5 -8
|
||||
-1 sprites/arctic_snowy.png 58 70 09 26 38 -5 5
|
||||
-1 sprites/arctic_snowy.png 106 70 09 20 37 -31 11
|
||||
-1 sprites/arctic_snowy.png 154 70 09 27 38 -31 -8
|
||||
-1 sprites/arctic_snowy.png 202 70 09 9 16 17 3
|
||||
-1 sprites/arctic_snowy.png 234 70 09 9 15 -7 22
|
||||
-1 sprites/arctic_snowy.png 266 70 09 9 16 -31 11
|
||||
-1 sprites/arctic_snowy.png 298 70 09 9 15 -6 -8
|
||||
-1 sprites/arctic_snowy.png 330 70 09 7 8 25 5
|
||||
-1 sprites/arctic_snowy.png 346 70 09 5 10 -4 27
|
||||
-1 sprites/arctic_snowy.png 364 70 09 7 8 -31 11
|
||||
-1 sprites/arctic_snowy.png 380 70 09 6 12 -5 -8
|
||||
|
||||
-1 sprites/arctic_snowy.png 10 100 09 18 39 -6 0
|
||||
-1 sprites/arctic_snowy.png 58 100 09 11 38 -5 12
|
||||
-1 sprites/arctic_snowy.png 106 100 09 18 39 -31 5
|
||||
-1 sprites/arctic_snowy.png 154 100 09 11 40 -32 0
|
||||
-1 sprites/arctic_snowy.png 202 100 09 6 20 13 12
|
||||
-1 sprites/arctic_snowy.png 234 100 09 7 13 -5 16
|
||||
-1 sprites/arctic_snowy.png 266 100 09 6 20 -31 5
|
||||
-1 sprites/arctic_snowy.png 298 100 09 7 13 -6 0
|
||||
-1 sprites/arctic_snowy.png 330 100 09 4 8 26 13
|
||||
-1 sprites/arctic_snowy.png 346 100 09 3 12 -5 20
|
||||
-1 sprites/arctic_snowy.png 364 100 09 5 8 -31 6
|
||||
-1 sprites/arctic_snowy.png 380 100 09 4 15 -6 0
|
||||
|
||||
-1 sprites/arctic_snowy.png 10 130 09 27 38 -5 -8
|
||||
-1 sprites/arctic_snowy.png 58 130 09 20 37 -4 11
|
||||
-1 sprites/arctic_snowy.png 106 130 09 26 37 -31 5
|
||||
-1 sprites/arctic_snowy.png 154 130 09 20 38 -31 -8
|
||||
-1 sprites/arctic_snowy.png 202 130 09 9 16 17 11
|
||||
-1 sprites/arctic_snowy.png 234 130 09 9 15 -6 22
|
||||
-1 sprites/arctic_snowy.png 266 130 09 9 16 -31 3
|
||||
-1 sprites/arctic_snowy.png 298 130 09 9 15 -7 -8
|
||||
-1 sprites/arctic_snowy.png 330 130 09 7 8 25 11
|
||||
-1 sprites/arctic_snowy.png 346 130 09 5 10 -4 26
|
||||
-1 sprites/arctic_snowy.png 364 130 09 7 8 -31 5
|
||||
-1 sprites/arctic_snowy.png 380 130 09 6 12 -5 -8
|
||||
-1 * 7 02 05 30 01 00 00 00
|
||||
|
||||
-1 * 4 01 05 01 3C
|
||||
-1 sprites/arctic_brown.png 10 10 09 19 38 -5 0
|
||||
-1 sprites/arctic_brown.png 58 10 09 18 38 -5 13
|
||||
-1 sprites/arctic_brown.png 106 10 09 18 38 -31 13
|
||||
-1 sprites/arctic_brown.png 154 10 09 19 38 -31 0
|
||||
-1 sprites/arctic_brown.png 202 10 09 9 19 14 11
|
||||
-1 sprites/arctic_brown.png 234 10 09 9 16 -7 22
|
||||
-1 sprites/arctic_brown.png 266 10 09 9 19 -31 11
|
||||
-1 sprites/arctic_brown.png 298 10 09 9 16 -7 0
|
||||
-1 sprites/arctic_brown.png 330 10 09 6 8 25 13
|
||||
-1 sprites/arctic_brown.png 346 10 09 4 12 -5 27
|
||||
-1 sprites/arctic_brown.png 364 10 09 6 8 -31 13
|
||||
-1 sprites/arctic_brown.png 380 10 09 5 12 -5 0
|
||||
|
||||
-1 sprites/arctic_brown.png 10 40 09 11 40 -7 0
|
||||
-1 sprites/arctic_brown.png 58 40 09 18 39 -6 5
|
||||
-1 sprites/arctic_brown.png 106 40 09 11 38 -31 12
|
||||
-1 sprites/arctic_brown.png 154 40 09 18 39 -31 0
|
||||
-1 sprites/arctic_brown.png 202 40 09 6 20 13 5
|
||||
-1 sprites/arctic_brown.png 234 40 09 7 13 -6 16
|
||||
-1 sprites/arctic_brown.png 266 40 09 6 20 -31 12
|
||||
-1 sprites/arctic_brown.png 298 40 09 7 13 -5 0
|
||||
-1 sprites/arctic_brown.png 330 40 09 5 8 25 6
|
||||
-1 sprites/arctic_brown.png 346 40 09 3 12 -5 20
|
||||
-1 sprites/arctic_brown.png 364 40 09 4 8 -31 13
|
||||
-1 sprites/arctic_brown.png 380 40 09 4 15 -7 0
|
||||
|
||||
-1 sprites/arctic_brown.png 10 70 09 20 38 -5 -8
|
||||
-1 sprites/arctic_brown.png 58 70 09 26 38 -5 5
|
||||
-1 sprites/arctic_brown.png 106 70 09 20 37 -31 11
|
||||
-1 sprites/arctic_brown.png 154 70 09 27 38 -31 -8
|
||||
-1 sprites/arctic_brown.png 202 70 09 9 16 17 3
|
||||
-1 sprites/arctic_brown.png 234 70 09 9 15 -7 22
|
||||
-1 sprites/arctic_brown.png 266 70 09 9 16 -31 11
|
||||
-1 sprites/arctic_brown.png 298 70 09 9 15 -6 -8
|
||||
-1 sprites/arctic_brown.png 330 70 09 7 8 25 5
|
||||
-1 sprites/arctic_brown.png 346 70 09 5 10 -4 27
|
||||
-1 sprites/arctic_brown.png 364 70 09 7 8 -31 11
|
||||
-1 sprites/arctic_brown.png 380 70 09 6 12 -5 -8
|
||||
|
||||
-1 sprites/arctic_brown.png 10 100 09 18 39 -6 0
|
||||
-1 sprites/arctic_brown.png 58 100 09 11 38 -5 12
|
||||
-1 sprites/arctic_brown.png 106 100 09 18 39 -31 5
|
||||
-1 sprites/arctic_brown.png 154 100 09 11 40 -32 0
|
||||
-1 sprites/arctic_brown.png 202 100 09 6 20 13 12
|
||||
-1 sprites/arctic_brown.png 234 100 09 7 13 -5 16
|
||||
-1 sprites/arctic_brown.png 266 100 09 6 20 -31 5
|
||||
-1 sprites/arctic_brown.png 298 100 09 7 13 -6 0
|
||||
-1 sprites/arctic_brown.png 330 100 09 4 8 26 13
|
||||
-1 sprites/arctic_brown.png 346 100 09 3 12 -5 20
|
||||
-1 sprites/arctic_brown.png 364 100 09 5 8 -31 6
|
||||
-1 sprites/arctic_brown.png 380 100 09 4 15 -6 0
|
||||
|
||||
-1 sprites/arctic_brown.png 10 130 09 27 38 -5 -8
|
||||
-1 sprites/arctic_brown.png 58 130 09 20 37 -4 11
|
||||
-1 sprites/arctic_brown.png 106 130 09 26 37 -31 5
|
||||
-1 sprites/arctic_brown.png 154 130 09 20 38 -31 -8
|
||||
-1 sprites/arctic_brown.png 202 130 09 9 16 17 11
|
||||
-1 sprites/arctic_brown.png 234 130 09 9 15 -6 22
|
||||
-1 sprites/arctic_brown.png 266 130 09 9 16 -31 3
|
||||
-1 sprites/arctic_brown.png 298 130 09 9 15 -7 -8
|
||||
-1 sprites/arctic_brown.png 330 130 09 7 8 25 11
|
||||
-1 sprites/arctic_brown.png 346 130 09 5 10 -4 26
|
||||
-1 sprites/arctic_brown.png 364 130 09 7 8 -31 5
|
||||
-1 sprites/arctic_brown.png 380 130 09 6 12 -5 -8
|
||||
-1 * 7 02 05 31 01 00 00 00
|
||||
|
||||
-1 * 4 01 05 01 3C
|
||||
-1 sprites/arctic_snowy.png 10 210 09 19 38 -5 0
|
||||
-1 sprites/arctic_snowy.png 58 210 09 18 38 -5 13
|
||||
-1 sprites/arctic_snowy.png 106 210 09 18 38 -31 13
|
||||
-1 sprites/arctic_snowy.png 154 210 09 19 38 -31 0
|
||||
-1 sprites/arctic_snowy.png 202 210 09 9 19 14 11
|
||||
-1 sprites/arctic_snowy.png 234 210 09 9 16 -7 22
|
||||
-1 sprites/arctic_snowy.png 266 210 09 9 19 -31 11
|
||||
-1 sprites/arctic_snowy.png 298 210 09 9 16 -7 0
|
||||
-1 sprites/arctic_snowy.png 330 210 09 6 8 25 13
|
||||
-1 sprites/arctic_snowy.png 346 210 09 4 12 -5 27
|
||||
-1 sprites/arctic_snowy.png 364 210 09 6 8 -31 13
|
||||
-1 sprites/arctic_snowy.png 380 210 09 5 12 -5 0
|
||||
|
||||
-1 sprites/arctic_snowy.png 10 240 09 11 40 -7 0
|
||||
-1 sprites/arctic_snowy.png 58 240 09 18 39 -6 5
|
||||
-1 sprites/arctic_snowy.png 106 240 09 11 38 -31 12
|
||||
-1 sprites/arctic_snowy.png 154 240 09 18 39 -31 0
|
||||
-1 sprites/arctic_snowy.png 202 240 09 6 20 13 5
|
||||
-1 sprites/arctic_snowy.png 234 240 09 7 13 -6 16
|
||||
-1 sprites/arctic_snowy.png 266 240 09 6 20 -31 12
|
||||
-1 sprites/arctic_snowy.png 298 240 09 7 13 -5 0
|
||||
-1 sprites/arctic_snowy.png 330 240 09 5 8 25 6
|
||||
-1 sprites/arctic_snowy.png 346 240 09 3 12 -5 20
|
||||
-1 sprites/arctic_snowy.png 364 240 09 4 8 -31 13
|
||||
-1 sprites/arctic_snowy.png 380 240 09 4 15 -7 0
|
||||
|
||||
-1 sprites/arctic_snowy.png 10 270 09 20 38 -5 -8
|
||||
-1 sprites/arctic_snowy.png 58 270 09 26 38 -5 5
|
||||
-1 sprites/arctic_snowy.png 106 270 09 20 37 -31 11
|
||||
-1 sprites/arctic_snowy.png 154 270 09 27 38 -31 -8
|
||||
-1 sprites/arctic_snowy.png 202 270 09 9 16 17 3
|
||||
-1 sprites/arctic_snowy.png 234 270 09 9 15 -7 22
|
||||
-1 sprites/arctic_snowy.png 266 270 09 9 16 -31 11
|
||||
-1 sprites/arctic_snowy.png 298 270 09 9 15 -6 -8
|
||||
-1 sprites/arctic_snowy.png 330 270 09 7 8 25 5
|
||||
-1 sprites/arctic_snowy.png 346 270 09 5 10 -4 27
|
||||
-1 sprites/arctic_snowy.png 364 270 09 7 8 -31 11
|
||||
-1 sprites/arctic_snowy.png 380 270 09 6 12 -5 -8
|
||||
|
||||
-1 sprites/arctic_snowy.png 10 300 09 18 39 -6 0
|
||||
-1 sprites/arctic_snowy.png 58 300 09 11 38 -5 12
|
||||
-1 sprites/arctic_snowy.png 106 300 09 18 39 -31 5
|
||||
-1 sprites/arctic_snowy.png 154 300 09 11 40 -32 0
|
||||
-1 sprites/arctic_snowy.png 202 300 09 6 20 13 12
|
||||
-1 sprites/arctic_snowy.png 234 300 09 7 13 -5 16
|
||||
-1 sprites/arctic_snowy.png 266 300 09 6 20 -31 5
|
||||
-1 sprites/arctic_snowy.png 298 300 09 7 13 -6 0
|
||||
-1 sprites/arctic_snowy.png 330 300 09 4 8 26 13
|
||||
-1 sprites/arctic_snowy.png 346 300 09 3 12 -5 20
|
||||
-1 sprites/arctic_snowy.png 364 300 09 5 8 -31 6
|
||||
-1 sprites/arctic_snowy.png 380 300 09 4 15 -6 0
|
||||
|
||||
-1 sprites/arctic_snowy.png 10 330 09 27 38 -5 -8
|
||||
-1 sprites/arctic_snowy.png 58 330 09 20 37 -4 11
|
||||
-1 sprites/arctic_snowy.png 106 330 09 26 37 -31 5
|
||||
-1 sprites/arctic_snowy.png 154 330 09 20 38 -31 -8
|
||||
-1 sprites/arctic_snowy.png 202 330 09 9 16 17 11
|
||||
-1 sprites/arctic_snowy.png 234 330 09 9 15 -6 22
|
||||
-1 sprites/arctic_snowy.png 266 330 09 9 16 -31 3
|
||||
-1 sprites/arctic_snowy.png 298 330 09 9 15 -7 -8
|
||||
-1 sprites/arctic_snowy.png 330 330 09 7 8 25 11
|
||||
-1 sprites/arctic_snowy.png 346 330 09 5 10 -4 26
|
||||
-1 sprites/arctic_snowy.png 364 330 09 7 8 -31 5
|
||||
-1 sprites/arctic_snowy.png 380 330 09 6 12 -5 -8
|
||||
-1 * 7 02 05 32 01 00 00 00
|
||||
|
||||
-1 * 4 01 05 01 3C
|
||||
-1 sprites/arctic_brown.png 10 210 09 19 38 -5 0
|
||||
-1 sprites/arctic_brown.png 58 210 09 18 38 -5 13
|
||||
-1 sprites/arctic_brown.png 106 210 09 18 38 -31 13
|
||||
-1 sprites/arctic_brown.png 154 210 09 19 38 -31 0
|
||||
-1 sprites/arctic_brown.png 202 210 09 9 19 14 11
|
||||
-1 sprites/arctic_brown.png 234 210 09 9 16 -7 22
|
||||
-1 sprites/arctic_brown.png 266 210 09 9 19 -31 11
|
||||
-1 sprites/arctic_brown.png 298 210 09 9 16 -7 0
|
||||
-1 sprites/arctic_brown.png 330 210 09 6 8 25 13
|
||||
-1 sprites/arctic_brown.png 346 210 09 4 12 -5 27
|
||||
-1 sprites/arctic_brown.png 364 210 09 6 8 -31 13
|
||||
-1 sprites/arctic_brown.png 380 210 09 5 12 -5 0
|
||||
|
||||
-1 sprites/arctic_brown.png 10 240 09 11 40 -7 0
|
||||
-1 sprites/arctic_brown.png 58 240 09 18 39 -6 5
|
||||
-1 sprites/arctic_brown.png 106 240 09 11 38 -31 12
|
||||
-1 sprites/arctic_brown.png 154 240 09 18 39 -31 0
|
||||
-1 sprites/arctic_brown.png 202 240 09 6 20 13 5
|
||||
-1 sprites/arctic_brown.png 234 240 09 7 13 -6 16
|
||||
-1 sprites/arctic_brown.png 266 240 09 6 20 -31 12
|
||||
-1 sprites/arctic_brown.png 298 240 09 7 13 -5 0
|
||||
-1 sprites/arctic_brown.png 330 240 09 5 8 25 6
|
||||
-1 sprites/arctic_brown.png 346 240 09 3 12 -5 20
|
||||
-1 sprites/arctic_brown.png 364 240 09 4 8 -31 13
|
||||
-1 sprites/arctic_brown.png 380 240 09 4 15 -7 0
|
||||
|
||||
-1 sprites/arctic_brown.png 10 270 09 20 38 -5 -8
|
||||
-1 sprites/arctic_brown.png 58 270 09 26 38 -5 5
|
||||
-1 sprites/arctic_brown.png 106 270 09 20 37 -31 11
|
||||
-1 sprites/arctic_brown.png 154 270 09 27 38 -31 -8
|
||||
-1 sprites/arctic_brown.png 202 270 09 9 16 17 3
|
||||
-1 sprites/arctic_brown.png 234 270 09 9 15 -7 22
|
||||
-1 sprites/arctic_brown.png 266 270 09 9 16 -31 11
|
||||
-1 sprites/arctic_brown.png 298 270 09 9 15 -6 -8
|
||||
-1 sprites/arctic_brown.png 330 270 09 7 8 25 5
|
||||
-1 sprites/arctic_brown.png 346 270 09 5 10 -4 27
|
||||
-1 sprites/arctic_brown.png 364 270 09 7 8 -31 11
|
||||
-1 sprites/arctic_brown.png 380 270 09 6 12 -5 -8
|
||||
|
||||
-1 sprites/arctic_brown.png 10 300 09 18 39 -6 0
|
||||
-1 sprites/arctic_brown.png 58 300 09 11 38 -5 12
|
||||
-1 sprites/arctic_brown.png 106 300 09 18 39 -31 5
|
||||
-1 sprites/arctic_brown.png 154 300 09 11 40 -32 0
|
||||
-1 sprites/arctic_brown.png 202 300 09 6 20 13 12
|
||||
-1 sprites/arctic_brown.png 234 300 09 7 13 -5 16
|
||||
-1 sprites/arctic_brown.png 266 300 09 6 20 -31 5
|
||||
-1 sprites/arctic_brown.png 298 300 09 7 13 -6 0
|
||||
-1 sprites/arctic_brown.png 330 300 09 4 8 26 13
|
||||
-1 sprites/arctic_brown.png 346 300 09 3 12 -5 20
|
||||
-1 sprites/arctic_brown.png 364 300 09 5 8 -31 6
|
||||
-1 sprites/arctic_brown.png 380 300 09 4 15 -6 0
|
||||
|
||||
-1 sprites/arctic_brown.png 10 330 09 27 38 -5 -8
|
||||
-1 sprites/arctic_brown.png 58 330 09 20 37 -4 11
|
||||
-1 sprites/arctic_brown.png 106 330 09 26 37 -31 5
|
||||
-1 sprites/arctic_brown.png 154 330 09 20 38 -31 -8
|
||||
-1 sprites/arctic_brown.png 202 330 09 9 16 17 11
|
||||
-1 sprites/arctic_brown.png 234 330 09 9 15 -6 22
|
||||
-1 sprites/arctic_brown.png 266 330 09 9 16 -31 3
|
||||
-1 sprites/arctic_brown.png 298 330 09 9 15 -7 -8
|
||||
-1 sprites/arctic_brown.png 330 330 09 7 8 25 11
|
||||
-1 sprites/arctic_brown.png 346 330 09 5 10 -4 26
|
||||
-1 sprites/arctic_brown.png 364 330 09 7 8 -31 5
|
||||
-1 sprites/arctic_brown.png 380 330 09 6 12 -5 -8
|
||||
-1 * 7 02 05 33 01 00 00 00
|
||||
|
||||
-1 * 14 02 05 34 81 81 00 FF 01 30 00 04 04 31 00
|
||||
-1 * 14 02 05 35 81 81 00 FF 01 32 00 04 04 33 00
|
||||
-1 * 14 02 05 36 81 80 00 FF 01 34 00 00 00 35 00
|
||||
-1 * 6 07 83 01 \7! 01 01
|
||||
-1 * 7 03 05 01 06 00 36 00
|
BIN
media/extra_grf/rivers/arctic_brown.png
Normal file
After Width: | Height: | Size: 15 KiB |
BIN
media/extra_grf/rivers/arctic_snowy.png
Normal file
After Width: | Height: | Size: 14 KiB |
139
media/extra_grf/rivers/rapids.nfo
Normal file
@@ -0,0 +1,139 @@
|
||||
//
|
||||
// $Id$
|
||||
//
|
||||
// This file is part of OpenTTD.
|
||||
// OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||
// OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
// See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
|
||||
//
|
||||
-1 * 0 0C "Rapid graphics"
|
||||
-1 * 4 01 05 01 04
|
||||
-1 sprites/rapids.png 10 10 09 23 64 -31 0
|
||||
-1 sprites/rapids.png 90 10 09 39 64 -31 -8
|
||||
-1 sprites/rapids.png 170 10 09 23 64 -31 0
|
||||
-1 sprites/rapids.png 250 10 09 39 64 -31 -8
|
||||
-1 * 7 02 05 00 01 00 00 00
|
||||
|
||||
-1 * 4 01 05 01 04
|
||||
-1 sprites/rapids.png 10 60 09 23 64 -31 0
|
||||
-1 sprites/rapids.png 90 60 09 39 64 -31 -8
|
||||
-1 sprites/rapids.png 170 60 09 23 64 -31 0
|
||||
-1 sprites/rapids.png 250 60 09 39 64 -31 -8
|
||||
-1 * 7 02 05 01 01 00 00 00
|
||||
|
||||
-1 * 4 01 05 01 04
|
||||
-1 sprites/rapids.png 10 110 09 23 64 -31 0
|
||||
-1 sprites/rapids.png 90 110 09 39 64 -31 -8
|
||||
-1 sprites/rapids.png 170 110 09 23 64 -31 0
|
||||
-1 sprites/rapids.png 250 110 09 39 64 -31 -8
|
||||
-1 * 7 02 05 02 01 00 00 00
|
||||
|
||||
-1 * 4 01 05 01 04
|
||||
-1 sprites/rapids.png 10 160 09 23 64 -31 0
|
||||
-1 sprites/rapids.png 90 160 09 39 64 -31 -8
|
||||
-1 sprites/rapids.png 170 160 09 23 64 -31 0
|
||||
-1 sprites/rapids.png 250 160 09 39 64 -31 -8
|
||||
-1 * 7 02 05 03 01 00 00 00
|
||||
|
||||
-1 * 4 01 05 01 04
|
||||
-1 sprites/rapids.png 10 210 09 23 64 -31 0
|
||||
-1 sprites/rapids.png 90 210 09 39 64 -31 -8
|
||||
-1 sprites/rapids.png 170 210 09 23 64 -31 0
|
||||
-1 sprites/rapids.png 250 210 09 39 64 -31 -8
|
||||
-1 * 7 02 05 04 01 00 00 00
|
||||
|
||||
-1 * 4 01 05 01 04
|
||||
-1 sprites/rapids.png 10 260 09 23 64 -31 0
|
||||
-1 sprites/rapids.png 90 260 09 39 64 -31 -8
|
||||
-1 sprites/rapids.png 170 260 09 23 64 -31 0
|
||||
-1 sprites/rapids.png 250 260 09 39 64 -31 -8
|
||||
-1 * 7 02 05 05 01 00 00 00
|
||||
|
||||
-1 * 4 01 05 01 04
|
||||
-1 sprites/rapids.png 10 310 09 23 64 -31 0
|
||||
-1 sprites/rapids.png 90 310 09 39 64 -31 -8
|
||||
-1 sprites/rapids.png 170 310 09 23 64 -31 0
|
||||
-1 sprites/rapids.png 250 310 09 39 64 -31 -8
|
||||
-1 * 7 02 05 06 01 00 00 00
|
||||
|
||||
-1 * 4 01 05 01 04
|
||||
-1 sprites/rapids.png 10 360 09 23 64 -31 0
|
||||
-1 sprites/rapids.png 90 360 09 39 64 -31 -8
|
||||
-1 sprites/rapids.png 170 360 09 23 64 -31 0
|
||||
-1 sprites/rapids.png 250 360 09 39 64 -31 -8
|
||||
-1 * 7 02 05 07 01 00 00 00
|
||||
|
||||
-1 * 4 01 05 01 04
|
||||
-1 sprites/rapids.png 10 410 09 23 64 -31 0
|
||||
-1 sprites/rapids.png 90 410 09 39 64 -31 -8
|
||||
-1 sprites/rapids.png 170 410 09 23 64 -31 0
|
||||
-1 sprites/rapids.png 250 410 09 39 64 -31 -8
|
||||
-1 * 7 02 05 08 01 00 00 00
|
||||
|
||||
-1 * 4 01 05 01 04
|
||||
-1 sprites/rapids.png 10 460 09 23 64 -31 0
|
||||
-1 sprites/rapids.png 90 460 09 39 64 -31 -8
|
||||
-1 sprites/rapids.png 170 460 09 23 64 -31 0
|
||||
-1 sprites/rapids.png 250 460 09 39 64 -31 -8
|
||||
-1 * 7 02 05 09 01 00 00 00
|
||||
|
||||
-1 * 4 01 05 01 04
|
||||
-1 sprites/rapids.png 10 510 09 23 64 -31 0
|
||||
-1 sprites/rapids.png 90 510 09 39 64 -31 -8
|
||||
-1 sprites/rapids.png 170 510 09 23 64 -31 0
|
||||
-1 sprites/rapids.png 250 510 09 39 64 -31 -8
|
||||
-1 * 7 02 05 0A 01 00 00 00
|
||||
|
||||
-1 * 4 01 05 01 04
|
||||
-1 sprites/rapids.png 10 560 09 23 64 -31 0
|
||||
-1 sprites/rapids.png 90 560 09 39 64 -31 -8
|
||||
-1 sprites/rapids.png 170 560 09 23 64 -31 0
|
||||
-1 sprites/rapids.png 250 560 09 39 64 -31 -8
|
||||
-1 * 7 02 05 0B 01 00 00 00
|
||||
|
||||
-1 * 4 01 05 01 04
|
||||
-1 sprites/rapids.png 10 610 09 23 64 -31 0
|
||||
-1 sprites/rapids.png 90 610 09 39 64 -31 -8
|
||||
-1 sprites/rapids.png 170 610 09 23 64 -31 0
|
||||
-1 sprites/rapids.png 250 610 09 39 64 -31 -8
|
||||
-1 * 7 02 05 0C 01 00 00 00
|
||||
|
||||
-1 * 4 01 05 01 04
|
||||
-1 sprites/rapids.png 10 660 09 23 64 -31 0
|
||||
-1 sprites/rapids.png 90 660 09 39 64 -31 -8
|
||||
-1 sprites/rapids.png 170 660 09 23 64 -31 0
|
||||
-1 sprites/rapids.png 250 660 09 39 64 -31 -8
|
||||
-1 * 7 02 05 0D 01 00 00 00
|
||||
|
||||
-1 * 4 01 05 01 04
|
||||
-1 sprites/rapids.png 10 710 09 23 64 -31 0
|
||||
-1 sprites/rapids.png 90 710 09 39 64 -31 -8
|
||||
-1 sprites/rapids.png 170 710 09 23 64 -31 0
|
||||
-1 sprites/rapids.png 250 710 09 39 64 -31 -8
|
||||
-1 * 7 02 05 0E 01 00 00 00
|
||||
|
||||
-1 * 4 01 05 01 04
|
||||
-1 sprites/rapids.png 10 760 09 23 64 -31 0
|
||||
-1 sprites/rapids.png 90 760 09 39 64 -31 -8
|
||||
-1 sprites/rapids.png 170 760 09 23 64 -31 0
|
||||
-1 sprites/rapids.png 250 760 09 39 64 -31 -8
|
||||
-1 * 7 02 05 0F 01 00 00 00
|
||||
|
||||
-1 * 39 02 05 10 80 00 01 10
|
||||
00 00
|
||||
01 00
|
||||
02 00
|
||||
03 00
|
||||
04 00
|
||||
05 00
|
||||
06 00
|
||||
07 00
|
||||
08 00
|
||||
09 00
|
||||
0A 00
|
||||
0B 00
|
||||
0C 00
|
||||
0D 00
|
||||
0E 00
|
||||
0F 00
|
||||
-1 * 7 03 05 01 05 00 10 00
|
BIN
media/extra_grf/rivers/rapids.png
Normal file
After Width: | Height: | Size: 17 KiB |
146
media/extra_grf/rivers/temperate.nfo
Normal file
@@ -0,0 +1,146 @@
|
||||
//
|
||||
// $Id$
|
||||
//
|
||||
// This file is part of OpenTTD.
|
||||
// OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||
// OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
// See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
|
||||
//
|
||||
-1 * 0 0C "Temperate river graphics by andythenorth (Andrew Parkhouse)"
|
||||
-1 * 4 01 05 01 3C
|
||||
-1 sprites/temperate.png 10 10 09 19 38 -5 0
|
||||
-1 sprites/temperate.png 58 10 09 18 38 -5 13
|
||||
-1 sprites/temperate.png 106 10 09 18 38 -31 13
|
||||
-1 sprites/temperate.png 154 10 09 19 38 -31 0
|
||||
-1 sprites/temperate.png 202 10 09 9 19 14 11
|
||||
-1 sprites/temperate.png 234 10 09 9 16 -7 22
|
||||
-1 sprites/temperate.png 266 10 09 9 19 -31 11
|
||||
-1 sprites/temperate.png 298 10 09 9 16 -7 0
|
||||
-1 sprites/temperate.png 330 10 09 6 8 25 13
|
||||
-1 sprites/temperate.png 346 10 09 4 12 -5 27
|
||||
-1 sprites/temperate.png 364 10 09 6 8 -31 13
|
||||
-1 sprites/temperate.png 380 10 09 5 12 -5 0
|
||||
|
||||
-1 sprites/temperate.png 10 40 09 11 40 -7 0
|
||||
-1 sprites/temperate.png 58 40 09 18 39 -6 5
|
||||
-1 sprites/temperate.png 106 40 09 11 38 -31 12
|
||||
-1 sprites/temperate.png 154 40 09 18 39 -31 0
|
||||
-1 sprites/temperate.png 202 40 09 6 20 13 5
|
||||
-1 sprites/temperate.png 234 40 09 7 13 -6 16
|
||||
-1 sprites/temperate.png 266 40 09 6 20 -31 12
|
||||
-1 sprites/temperate.png 298 40 09 7 13 -5 0
|
||||
-1 sprites/temperate.png 330 40 09 5 8 25 6
|
||||
-1 sprites/temperate.png 346 40 09 3 12 -5 20
|
||||
-1 sprites/temperate.png 364 40 09 4 8 -31 13
|
||||
-1 sprites/temperate.png 380 40 09 4 15 -7 0
|
||||
|
||||
-1 sprites/temperate.png 10 70 09 20 38 -5 -8
|
||||
-1 sprites/temperate.png 58 70 09 26 38 -5 5
|
||||
-1 sprites/temperate.png 106 70 09 20 37 -31 11
|
||||
-1 sprites/temperate.png 154 70 09 27 38 -31 -8
|
||||
-1 sprites/temperate.png 202 70 09 9 16 17 3
|
||||
-1 sprites/temperate.png 234 70 09 9 15 -7 22
|
||||
-1 sprites/temperate.png 266 70 09 9 16 -31 11
|
||||
-1 sprites/temperate.png 298 70 09 9 15 -6 -8
|
||||
-1 sprites/temperate.png 330 70 09 7 8 25 5
|
||||
-1 sprites/temperate.png 346 70 09 5 10 -4 27
|
||||
-1 sprites/temperate.png 364 70 09 7 8 -31 11
|
||||
-1 sprites/temperate.png 380 70 09 6 12 -5 -8
|
||||
|
||||
-1 sprites/temperate.png 10 100 09 18 39 -6 0
|
||||
-1 sprites/temperate.png 58 100 09 11 38 -5 12
|
||||
-1 sprites/temperate.png 106 100 09 18 39 -31 5
|
||||
-1 sprites/temperate.png 154 100 09 11 40 -32 0
|
||||
-1 sprites/temperate.png 202 100 09 6 20 13 12
|
||||
-1 sprites/temperate.png 234 100 09 7 13 -5 16
|
||||
-1 sprites/temperate.png 266 100 09 6 20 -31 5
|
||||
-1 sprites/temperate.png 298 100 09 7 13 -6 0
|
||||
-1 sprites/temperate.png 330 100 09 4 8 26 13
|
||||
-1 sprites/temperate.png 346 100 09 3 12 -5 20
|
||||
-1 sprites/temperate.png 364 100 09 5 8 -31 6
|
||||
-1 sprites/temperate.png 380 100 09 4 15 -6 0
|
||||
|
||||
-1 sprites/temperate.png 10 130 09 27 38 -5 -8
|
||||
-1 sprites/temperate.png 58 130 09 20 37 -4 11
|
||||
-1 sprites/temperate.png 106 130 09 26 37 -31 5
|
||||
-1 sprites/temperate.png 154 130 09 20 38 -31 -8
|
||||
-1 sprites/temperate.png 202 130 09 9 16 17 11
|
||||
-1 sprites/temperate.png 234 130 09 9 15 -6 22
|
||||
-1 sprites/temperate.png 266 130 09 9 16 -31 3
|
||||
-1 sprites/temperate.png 298 130 09 9 15 -7 -8
|
||||
-1 sprites/temperate.png 330 130 09 7 8 25 11
|
||||
-1 sprites/temperate.png 346 130 09 5 10 -4 26
|
||||
-1 sprites/temperate.png 364 130 09 7 8 -31 5
|
||||
-1 sprites/temperate.png 380 130 09 6 12 -5 -8
|
||||
-1 * 7 02 05 20 01 00 00 00
|
||||
|
||||
-1 * 4 01 05 01 3C
|
||||
-1 sprites/temperate.png 10 210 09 19 38 -5 0
|
||||
-1 sprites/temperate.png 58 210 09 18 38 -5 13
|
||||
-1 sprites/temperate.png 106 210 09 18 38 -31 13
|
||||
-1 sprites/temperate.png 154 210 09 19 38 -31 0
|
||||
-1 sprites/temperate.png 202 210 09 9 19 14 11
|
||||
-1 sprites/temperate.png 234 210 09 9 16 -7 22
|
||||
-1 sprites/temperate.png 266 210 09 9 19 -31 11
|
||||
-1 sprites/temperate.png 298 210 09 9 16 -7 0
|
||||
-1 sprites/temperate.png 330 210 09 6 8 25 13
|
||||
-1 sprites/temperate.png 346 210 09 4 12 -5 27
|
||||
-1 sprites/temperate.png 364 210 09 6 8 -31 13
|
||||
-1 sprites/temperate.png 380 210 09 5 12 -5 0
|
||||
|
||||
-1 sprites/temperate.png 10 240 09 11 40 -7 0
|
||||
-1 sprites/temperate.png 58 240 09 18 39 -6 5
|
||||
-1 sprites/temperate.png 106 240 09 11 38 -31 12
|
||||
-1 sprites/temperate.png 154 240 09 18 39 -31 0
|
||||
-1 sprites/temperate.png 202 240 09 6 20 13 5
|
||||
-1 sprites/temperate.png 234 240 09 7 13 -6 16
|
||||
-1 sprites/temperate.png 266 240 09 6 20 -31 12
|
||||
-1 sprites/temperate.png 298 240 09 7 13 -5 0
|
||||
-1 sprites/temperate.png 330 240 09 5 8 25 6
|
||||
-1 sprites/temperate.png 346 240 09 3 12 -5 20
|
||||
-1 sprites/temperate.png 364 240 09 4 8 -31 13
|
||||
-1 sprites/temperate.png 380 240 09 4 15 -7 0
|
||||
|
||||
-1 sprites/temperate.png 10 270 09 20 38 -5 -8
|
||||
-1 sprites/temperate.png 58 270 09 26 38 -5 5
|
||||
-1 sprites/temperate.png 106 270 09 20 37 -31 11
|
||||
-1 sprites/temperate.png 154 270 09 27 38 -31 -8
|
||||
-1 sprites/temperate.png 202 270 09 9 16 17 3
|
||||
-1 sprites/temperate.png 234 270 09 9 15 -7 22
|
||||
-1 sprites/temperate.png 266 270 09 9 16 -31 11
|
||||
-1 sprites/temperate.png 298 270 09 9 15 -6 -8
|
||||
-1 sprites/temperate.png 330 270 09 7 8 25 5
|
||||
-1 sprites/temperate.png 346 270 09 5 10 -4 27
|
||||
-1 sprites/temperate.png 364 270 09 7 8 -31 11
|
||||
-1 sprites/temperate.png 380 270 09 6 12 -5 -8
|
||||
|
||||
-1 sprites/temperate.png 10 300 09 18 39 -6 0
|
||||
-1 sprites/temperate.png 58 300 09 11 38 -5 12
|
||||
-1 sprites/temperate.png 106 300 09 18 39 -31 5
|
||||
-1 sprites/temperate.png 154 300 09 11 40 -32 0
|
||||
-1 sprites/temperate.png 202 300 09 6 20 13 12
|
||||
-1 sprites/temperate.png 234 300 09 7 13 -5 16
|
||||
-1 sprites/temperate.png 266 300 09 6 20 -31 5
|
||||
-1 sprites/temperate.png 298 300 09 7 13 -6 0
|
||||
-1 sprites/temperate.png 330 300 09 4 8 26 13
|
||||
-1 sprites/temperate.png 346 300 09 3 12 -5 20
|
||||
-1 sprites/temperate.png 364 300 09 5 8 -31 6
|
||||
-1 sprites/temperate.png 380 300 09 4 15 -6 0
|
||||
|
||||
-1 sprites/temperate.png 10 330 09 27 38 -5 -8
|
||||
-1 sprites/temperate.png 58 330 09 20 37 -4 11
|
||||
-1 sprites/temperate.png 106 330 09 26 37 -31 5
|
||||
-1 sprites/temperate.png 154 330 09 20 38 -31 -8
|
||||
-1 sprites/temperate.png 202 330 09 9 16 17 11
|
||||
-1 sprites/temperate.png 234 330 09 9 15 -6 22
|
||||
-1 sprites/temperate.png 266 330 09 9 16 -31 3
|
||||
-1 sprites/temperate.png 298 330 09 9 15 -7 -8
|
||||
-1 sprites/temperate.png 330 330 09 7 8 25 11
|
||||
-1 sprites/temperate.png 346 330 09 5 10 -4 26
|
||||
-1 sprites/temperate.png 364 330 09 7 8 -31 5
|
||||
-1 sprites/temperate.png 380 330 09 6 12 -5 -8
|
||||
-1 * 7 02 05 21 01 00 00 00
|
||||
|
||||
-1 * 14 02 05 22 81 80 00 FF 01 20 00 00 00 21 00
|
||||
-1 * 6 07 83 01 \7! 00 01
|
||||
-1 * 7 03 05 01 06 00 22 00
|
BIN
media/extra_grf/rivers/temperate.png
Normal file
After Width: | Height: | Size: 16 KiB |
146
media/extra_grf/rivers/toyland.nfo
Normal file
@@ -0,0 +1,146 @@
|
||||
//
|
||||
// $Id$
|
||||
//
|
||||
// This file is part of OpenTTD.
|
||||
// OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||
// OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
// See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
|
||||
//
|
||||
-1 * 0 0C "Toyland river graphics by andythenorth (Andrew Parkhouse)"
|
||||
-1 * 4 01 05 01 3C
|
||||
-1 sprites/toyland.png 10 10 09 19 38 -5 0
|
||||
-1 sprites/toyland.png 58 10 09 18 38 -5 13
|
||||
-1 sprites/toyland.png 106 10 09 18 38 -31 13
|
||||
-1 sprites/toyland.png 154 10 09 19 38 -31 0
|
||||
-1 sprites/toyland.png 202 10 09 9 19 14 11
|
||||
-1 sprites/toyland.png 234 10 09 9 16 -7 22
|
||||
-1 sprites/toyland.png 266 10 09 9 19 -31 11
|
||||
-1 sprites/toyland.png 298 10 09 9 16 -7 0
|
||||
-1 sprites/toyland.png 330 10 09 6 8 25 13
|
||||
-1 sprites/toyland.png 346 10 09 4 12 -5 27
|
||||
-1 sprites/toyland.png 364 10 09 6 8 -31 13
|
||||
-1 sprites/toyland.png 380 10 09 5 12 -5 0
|
||||
|
||||
-1 sprites/toyland.png 10 40 09 11 40 -7 0
|
||||
-1 sprites/toyland.png 58 40 09 18 39 -6 5
|
||||
-1 sprites/toyland.png 106 40 09 11 38 -31 12
|
||||
-1 sprites/toyland.png 154 40 09 18 39 -31 0
|
||||
-1 sprites/toyland.png 202 40 09 6 20 13 5
|
||||
-1 sprites/toyland.png 234 40 09 7 13 -6 16
|
||||
-1 sprites/toyland.png 266 40 09 6 20 -31 12
|
||||
-1 sprites/toyland.png 298 40 09 7 13 -5 0
|
||||
-1 sprites/toyland.png 330 40 09 5 8 25 6
|
||||
-1 sprites/toyland.png 346 40 09 3 12 -5 20
|
||||
-1 sprites/toyland.png 364 40 09 4 8 -31 13
|
||||
-1 sprites/toyland.png 380 40 09 4 15 -7 0
|
||||
|
||||
-1 sprites/toyland.png 10 70 09 20 38 -5 -8
|
||||
-1 sprites/toyland.png 58 70 09 26 38 -5 5
|
||||
-1 sprites/toyland.png 106 70 09 20 37 -31 11
|
||||
-1 sprites/toyland.png 154 70 09 27 38 -31 -8
|
||||
-1 sprites/toyland.png 202 70 09 9 16 17 3
|
||||
-1 sprites/toyland.png 234 70 09 9 15 -7 22
|
||||
-1 sprites/toyland.png 266 70 09 9 16 -31 11
|
||||
-1 sprites/toyland.png 298 70 09 9 15 -6 -8
|
||||
-1 sprites/toyland.png 330 70 09 7 8 25 5
|
||||
-1 sprites/toyland.png 346 70 09 5 10 -4 27
|
||||
-1 sprites/toyland.png 364 70 09 7 8 -31 11
|
||||
-1 sprites/toyland.png 380 70 09 6 12 -5 -8
|
||||
|
||||
-1 sprites/toyland.png 10 100 09 18 39 -6 0
|
||||
-1 sprites/toyland.png 58 100 09 11 38 -5 12
|
||||
-1 sprites/toyland.png 106 100 09 18 39 -31 5
|
||||
-1 sprites/toyland.png 154 100 09 11 40 -32 0
|
||||
-1 sprites/toyland.png 202 100 09 6 20 13 12
|
||||
-1 sprites/toyland.png 234 100 09 7 13 -5 16
|
||||
-1 sprites/toyland.png 266 100 09 6 20 -31 5
|
||||
-1 sprites/toyland.png 298 100 09 7 13 -6 0
|
||||
-1 sprites/toyland.png 330 100 09 4 8 26 13
|
||||
-1 sprites/toyland.png 346 100 09 3 12 -5 20
|
||||
-1 sprites/toyland.png 364 100 09 5 8 -31 6
|
||||
-1 sprites/toyland.png 380 100 09 4 15 -6 0
|
||||
|
||||
-1 sprites/toyland.png 10 130 09 27 38 -5 -8
|
||||
-1 sprites/toyland.png 58 130 09 20 37 -4 11
|
||||
-1 sprites/toyland.png 106 130 09 26 37 -31 5
|
||||
-1 sprites/toyland.png 154 130 09 20 38 -31 -8
|
||||
-1 sprites/toyland.png 202 130 09 9 16 17 11
|
||||
-1 sprites/toyland.png 234 130 09 9 15 -6 22
|
||||
-1 sprites/toyland.png 266 130 09 9 16 -31 3
|
||||
-1 sprites/toyland.png 298 130 09 9 15 -7 -8
|
||||
-1 sprites/toyland.png 330 130 09 7 8 25 11
|
||||
-1 sprites/toyland.png 346 130 09 5 10 -4 26
|
||||
-1 sprites/toyland.png 364 130 09 7 8 -31 5
|
||||
-1 sprites/toyland.png 380 130 09 6 12 -5 -8
|
||||
-1 * 7 02 05 50 01 00 00 00
|
||||
|
||||
-1 * 4 01 05 01 3C
|
||||
-1 sprites/toyland.png 10 210 09 19 38 -5 0
|
||||
-1 sprites/toyland.png 58 210 09 18 38 -5 13
|
||||
-1 sprites/toyland.png 106 210 09 18 38 -31 13
|
||||
-1 sprites/toyland.png 154 210 09 19 38 -31 0
|
||||
-1 sprites/toyland.png 202 210 09 9 19 14 11
|
||||
-1 sprites/toyland.png 234 210 09 9 16 -7 22
|
||||
-1 sprites/toyland.png 266 210 09 9 19 -31 11
|
||||
-1 sprites/toyland.png 298 210 09 9 16 -7 0
|
||||
-1 sprites/toyland.png 330 210 09 6 8 25 13
|
||||
-1 sprites/toyland.png 346 210 09 4 12 -5 27
|
||||
-1 sprites/toyland.png 364 210 09 6 8 -31 13
|
||||
-1 sprites/toyland.png 380 210 09 5 12 -5 0
|
||||
|
||||
-1 sprites/toyland.png 10 240 09 11 40 -7 0
|
||||
-1 sprites/toyland.png 58 240 09 18 39 -6 5
|
||||
-1 sprites/toyland.png 106 240 09 11 38 -31 12
|
||||
-1 sprites/toyland.png 154 240 09 18 39 -31 0
|
||||
-1 sprites/toyland.png 202 240 09 6 20 13 5
|
||||
-1 sprites/toyland.png 234 240 09 7 13 -6 16
|
||||
-1 sprites/toyland.png 266 240 09 6 20 -31 12
|
||||
-1 sprites/toyland.png 298 240 09 7 13 -5 0
|
||||
-1 sprites/toyland.png 330 240 09 5 8 25 6
|
||||
-1 sprites/toyland.png 346 240 09 3 12 -5 20
|
||||
-1 sprites/toyland.png 364 240 09 4 8 -31 13
|
||||
-1 sprites/toyland.png 380 240 09 4 15 -7 0
|
||||
|
||||
-1 sprites/toyland.png 10 270 09 20 38 -5 -8
|
||||
-1 sprites/toyland.png 58 270 09 26 38 -5 5
|
||||
-1 sprites/toyland.png 106 270 09 20 37 -31 11
|
||||
-1 sprites/toyland.png 154 270 09 27 38 -31 -8
|
||||
-1 sprites/toyland.png 202 270 09 9 16 17 3
|
||||
-1 sprites/toyland.png 234 270 09 9 15 -7 22
|
||||
-1 sprites/toyland.png 266 270 09 9 16 -31 11
|
||||
-1 sprites/toyland.png 298 270 09 9 15 -6 -8
|
||||
-1 sprites/toyland.png 330 270 09 7 8 25 5
|
||||
-1 sprites/toyland.png 346 270 09 5 10 -4 27
|
||||
-1 sprites/toyland.png 364 270 09 7 8 -31 11
|
||||
-1 sprites/toyland.png 380 270 09 6 12 -5 -8
|
||||
|
||||
-1 sprites/toyland.png 10 300 09 18 39 -6 0
|
||||
-1 sprites/toyland.png 58 300 09 11 38 -5 12
|
||||
-1 sprites/toyland.png 106 300 09 18 39 -31 5
|
||||
-1 sprites/toyland.png 154 300 09 11 40 -32 0
|
||||
-1 sprites/toyland.png 202 300 09 6 20 13 12
|
||||
-1 sprites/toyland.png 234 300 09 7 13 -5 16
|
||||
-1 sprites/toyland.png 266 300 09 6 20 -31 5
|
||||
-1 sprites/toyland.png 298 300 09 7 13 -6 0
|
||||
-1 sprites/toyland.png 330 300 09 4 8 26 13
|
||||
-1 sprites/toyland.png 346 300 09 3 12 -5 20
|
||||
-1 sprites/toyland.png 364 300 09 5 8 -31 6
|
||||
-1 sprites/toyland.png 380 300 09 4 15 -6 0
|
||||
|
||||
-1 sprites/toyland.png 10 330 09 27 38 -5 -8
|
||||
-1 sprites/toyland.png 58 330 09 20 37 -4 11
|
||||
-1 sprites/toyland.png 106 330 09 26 37 -31 5
|
||||
-1 sprites/toyland.png 154 330 09 20 38 -31 -8
|
||||
-1 sprites/toyland.png 202 330 09 9 16 17 11
|
||||
-1 sprites/toyland.png 234 330 09 9 15 -6 22
|
||||
-1 sprites/toyland.png 266 330 09 9 16 -31 3
|
||||
-1 sprites/toyland.png 298 330 09 9 15 -7 -8
|
||||
-1 sprites/toyland.png 330 330 09 7 8 25 11
|
||||
-1 sprites/toyland.png 346 330 09 5 10 -4 26
|
||||
-1 sprites/toyland.png 364 330 09 7 8 -31 5
|
||||
-1 sprites/toyland.png 380 330 09 6 12 -5 -8
|
||||
-1 * 7 02 05 51 01 00 00 00
|
||||
|
||||
-1 * 14 02 05 52 81 80 00 FF 01 50 00 00 00 51 00
|
||||
-1 * 6 07 83 01 \7! 03 01
|
||||
-1 * 7 03 05 01 06 00 52 00
|
BIN
media/extra_grf/rivers/toyland.png
Normal file
After Width: | Height: | Size: 16 KiB |
282
media/extra_grf/rivers/tropic.nfo
Normal file
@@ -0,0 +1,282 @@
|
||||
//
|
||||
// $Id$
|
||||
//
|
||||
// This file is part of OpenTTD.
|
||||
// OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||
// OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
// See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
|
||||
//
|
||||
-1 * 0 0C "Tropic river graphics by andythenorth (Andrew Parkhouse)"
|
||||
-1 * 4 01 05 01 3C
|
||||
-1 sprites/tropic_desert.png 10 10 09 19 38 -5 0
|
||||
-1 sprites/tropic_desert.png 58 10 09 18 38 -5 13
|
||||
-1 sprites/tropic_desert.png 106 10 09 18 38 -31 13
|
||||
-1 sprites/tropic_desert.png 154 10 09 19 38 -31 0
|
||||
-1 sprites/tropic_desert.png 202 10 09 9 19 14 11
|
||||
-1 sprites/tropic_desert.png 234 10 09 9 16 -7 22
|
||||
-1 sprites/tropic_desert.png 266 10 09 9 19 -31 11
|
||||
-1 sprites/tropic_desert.png 298 10 09 9 16 -7 0
|
||||
-1 sprites/tropic_desert.png 330 10 09 6 8 25 13
|
||||
-1 sprites/tropic_desert.png 346 10 09 4 12 -5 27
|
||||
-1 sprites/tropic_desert.png 364 10 09 6 8 -31 13
|
||||
-1 sprites/tropic_desert.png 380 10 09 5 12 -5 0
|
||||
|
||||
-1 sprites/tropic_desert.png 10 40 09 11 40 -7 0
|
||||
-1 sprites/tropic_desert.png 58 40 09 18 39 -6 5
|
||||
-1 sprites/tropic_desert.png 106 40 09 11 38 -31 12
|
||||
-1 sprites/tropic_desert.png 154 40 09 18 39 -31 0
|
||||
-1 sprites/tropic_desert.png 202 40 09 6 20 13 5
|
||||
-1 sprites/tropic_desert.png 234 40 09 7 13 -6 16
|
||||
-1 sprites/tropic_desert.png 266 40 09 6 20 -31 12
|
||||
-1 sprites/tropic_desert.png 298 40 09 7 13 -5 0
|
||||
-1 sprites/tropic_desert.png 330 40 09 5 8 25 6
|
||||
-1 sprites/tropic_desert.png 346 40 09 3 12 -5 20
|
||||
-1 sprites/tropic_desert.png 364 40 09 4 8 -31 13
|
||||
-1 sprites/tropic_desert.png 380 40 09 4 15 -7 0
|
||||
|
||||
-1 sprites/tropic_desert.png 10 70 09 20 38 -5 -8
|
||||
-1 sprites/tropic_desert.png 58 70 09 26 38 -5 5
|
||||
-1 sprites/tropic_desert.png 106 70 09 20 37 -31 11
|
||||
-1 sprites/tropic_desert.png 154 70 09 27 38 -31 -8
|
||||
-1 sprites/tropic_desert.png 202 70 09 9 16 17 3
|
||||
-1 sprites/tropic_desert.png 234 70 09 9 15 -7 22
|
||||
-1 sprites/tropic_desert.png 266 70 09 9 16 -31 11
|
||||
-1 sprites/tropic_desert.png 298 70 09 9 15 -6 -8
|
||||
-1 sprites/tropic_desert.png 330 70 09 7 8 25 5
|
||||
-1 sprites/tropic_desert.png 346 70 09 5 10 -4 27
|
||||
-1 sprites/tropic_desert.png 364 70 09 7 8 -31 11
|
||||
-1 sprites/tropic_desert.png 380 70 09 6 12 -5 -8
|
||||
|
||||
-1 sprites/tropic_desert.png 10 100 09 18 39 -6 0
|
||||
-1 sprites/tropic_desert.png 58 100 09 11 38 -5 12
|
||||
-1 sprites/tropic_desert.png 106 100 09 18 39 -31 5
|
||||
-1 sprites/tropic_desert.png 154 100 09 11 40 -32 0
|
||||
-1 sprites/tropic_desert.png 202 100 09 6 20 13 12
|
||||
-1 sprites/tropic_desert.png 234 100 09 7 13 -5 16
|
||||
-1 sprites/tropic_desert.png 266 100 09 6 20 -31 5
|
||||
-1 sprites/tropic_desert.png 298 100 09 7 13 -6 0
|
||||
-1 sprites/tropic_desert.png 330 100 09 4 8 26 13
|
||||
-1 sprites/tropic_desert.png 346 100 09 3 12 -5 20
|
||||
-1 sprites/tropic_desert.png 364 100 09 5 8 -31 6
|
||||
-1 sprites/tropic_desert.png 380 100 09 4 15 -6 0
|
||||
|
||||
-1 sprites/tropic_desert.png 10 130 09 27 38 -5 -8
|
||||
-1 sprites/tropic_desert.png 58 130 09 20 37 -4 11
|
||||
-1 sprites/tropic_desert.png 106 130 09 26 37 -31 5
|
||||
-1 sprites/tropic_desert.png 154 130 09 20 38 -31 -8
|
||||
-1 sprites/tropic_desert.png 202 130 09 9 16 17 11
|
||||
-1 sprites/tropic_desert.png 234 130 09 9 15 -6 22
|
||||
-1 sprites/tropic_desert.png 266 130 09 9 16 -31 3
|
||||
-1 sprites/tropic_desert.png 298 130 09 9 15 -7 -8
|
||||
-1 sprites/tropic_desert.png 330 130 09 7 8 25 11
|
||||
-1 sprites/tropic_desert.png 346 130 09 5 10 -4 26
|
||||
-1 sprites/tropic_desert.png 364 130 09 7 8 -31 5
|
||||
-1 sprites/tropic_desert.png 380 130 09 6 12 -5 -8
|
||||
-1 * 7 02 05 40 01 00 00 00
|
||||
|
||||
-1 * 4 01 05 01 3C
|
||||
-1 sprites/tropic_forest.png 10 10 09 19 38 -5 0
|
||||
-1 sprites/tropic_forest.png 58 10 09 18 38 -5 13
|
||||
-1 sprites/tropic_forest.png 106 10 09 18 38 -31 13
|
||||
-1 sprites/tropic_forest.png 154 10 09 19 38 -31 0
|
||||
-1 sprites/tropic_forest.png 202 10 09 9 19 14 11
|
||||
-1 sprites/tropic_forest.png 234 10 09 9 16 -7 22
|
||||
-1 sprites/tropic_forest.png 266 10 09 9 19 -31 11
|
||||
-1 sprites/tropic_forest.png 298 10 09 9 16 -7 0
|
||||
-1 sprites/tropic_forest.png 330 10 09 6 8 25 13
|
||||
-1 sprites/tropic_forest.png 346 10 09 4 12 -5 27
|
||||
-1 sprites/tropic_forest.png 364 10 09 6 8 -31 13
|
||||
-1 sprites/tropic_forest.png 380 10 09 5 12 -5 0
|
||||
|
||||
-1 sprites/tropic_forest.png 10 40 09 11 40 -7 0
|
||||
-1 sprites/tropic_forest.png 58 40 09 18 39 -6 5
|
||||
-1 sprites/tropic_forest.png 106 40 09 11 38 -31 12
|
||||
-1 sprites/tropic_forest.png 154 40 09 18 39 -31 0
|
||||
-1 sprites/tropic_forest.png 202 40 09 6 20 13 5
|
||||
-1 sprites/tropic_forest.png 234 40 09 7 13 -6 16
|
||||
-1 sprites/tropic_forest.png 266 40 09 6 20 -31 12
|
||||
-1 sprites/tropic_forest.png 298 40 09 7 13 -5 0
|
||||
-1 sprites/tropic_forest.png 330 40 09 5 8 25 6
|
||||
-1 sprites/tropic_forest.png 346 40 09 3 12 -5 20
|
||||
-1 sprites/tropic_forest.png 364 40 09 4 8 -31 13
|
||||
-1 sprites/tropic_forest.png 380 40 09 4 15 -7 0
|
||||
|
||||
-1 sprites/tropic_forest.png 10 70 09 20 38 -5 -8
|
||||
-1 sprites/tropic_forest.png 58 70 09 26 38 -5 5
|
||||
-1 sprites/tropic_forest.png 106 70 09 20 37 -31 11
|
||||
-1 sprites/tropic_forest.png 154 70 09 27 38 -31 -8
|
||||
-1 sprites/tropic_forest.png 202 70 09 9 16 17 3
|
||||
-1 sprites/tropic_forest.png 234 70 09 9 15 -7 22
|
||||
-1 sprites/tropic_forest.png 266 70 09 9 16 -31 11
|
||||
-1 sprites/tropic_forest.png 298 70 09 9 15 -6 -8
|
||||
-1 sprites/tropic_forest.png 330 70 09 7 8 25 5
|
||||
-1 sprites/tropic_forest.png 346 70 09 5 10 -4 27
|
||||
-1 sprites/tropic_forest.png 364 70 09 7 8 -31 11
|
||||
-1 sprites/tropic_forest.png 380 70 09 6 12 -5 -8
|
||||
|
||||
-1 sprites/tropic_forest.png 10 100 09 18 39 -6 0
|
||||
-1 sprites/tropic_forest.png 58 100 09 11 38 -5 12
|
||||
-1 sprites/tropic_forest.png 106 100 09 18 39 -31 5
|
||||
-1 sprites/tropic_forest.png 154 100 09 11 40 -32 0
|
||||
-1 sprites/tropic_forest.png 202 100 09 6 20 13 12
|
||||
-1 sprites/tropic_forest.png 234 100 09 7 13 -5 16
|
||||
-1 sprites/tropic_forest.png 266 100 09 6 20 -31 5
|
||||
-1 sprites/tropic_forest.png 298 100 09 7 13 -6 0
|
||||
-1 sprites/tropic_forest.png 330 100 09 4 8 26 13
|
||||
-1 sprites/tropic_forest.png 346 100 09 3 12 -5 20
|
||||
-1 sprites/tropic_forest.png 364 100 09 5 8 -31 6
|
||||
-1 sprites/tropic_forest.png 380 100 09 4 15 -6 0
|
||||
|
||||
-1 sprites/tropic_forest.png 10 130 09 27 38 -5 -8
|
||||
-1 sprites/tropic_forest.png 58 130 09 20 37 -4 11
|
||||
-1 sprites/tropic_forest.png 106 130 09 26 37 -31 5
|
||||
-1 sprites/tropic_forest.png 154 130 09 20 38 -31 -8
|
||||
-1 sprites/tropic_forest.png 202 130 09 9 16 17 11
|
||||
-1 sprites/tropic_forest.png 234 130 09 9 15 -6 22
|
||||
-1 sprites/tropic_forest.png 266 130 09 9 16 -31 3
|
||||
-1 sprites/tropic_forest.png 298 130 09 9 15 -7 -8
|
||||
-1 sprites/tropic_forest.png 330 130 09 7 8 25 11
|
||||
-1 sprites/tropic_forest.png 346 130 09 5 10 -4 26
|
||||
-1 sprites/tropic_forest.png 364 130 09 7 8 -31 5
|
||||
-1 sprites/tropic_forest.png 380 130 09 6 12 -5 -8
|
||||
-1 * 7 02 05 41 01 00 00 00
|
||||
|
||||
-1 * 4 01 05 01 3C
|
||||
-1 sprites/tropic_desert.png 10 210 09 19 38 -5 0
|
||||
-1 sprites/tropic_desert.png 58 210 09 18 38 -5 13
|
||||
-1 sprites/tropic_desert.png 106 210 09 18 38 -31 13
|
||||
-1 sprites/tropic_desert.png 154 210 09 19 38 -31 0
|
||||
-1 sprites/tropic_desert.png 202 210 09 9 19 14 11
|
||||
-1 sprites/tropic_desert.png 234 210 09 9 16 -7 22
|
||||
-1 sprites/tropic_desert.png 266 210 09 9 19 -31 11
|
||||
-1 sprites/tropic_desert.png 298 210 09 9 16 -7 0
|
||||
-1 sprites/tropic_desert.png 330 210 09 6 8 25 13
|
||||
-1 sprites/tropic_desert.png 346 210 09 4 12 -5 27
|
||||
-1 sprites/tropic_desert.png 364 210 09 6 8 -31 13
|
||||
-1 sprites/tropic_desert.png 380 210 09 5 12 -5 0
|
||||
|
||||
-1 sprites/tropic_desert.png 10 240 09 11 40 -7 0
|
||||
-1 sprites/tropic_desert.png 58 240 09 18 39 -6 5
|
||||
-1 sprites/tropic_desert.png 106 240 09 11 38 -31 12
|
||||
-1 sprites/tropic_desert.png 154 240 09 18 39 -31 0
|
||||
-1 sprites/tropic_desert.png 202 240 09 6 20 13 5
|
||||
-1 sprites/tropic_desert.png 234 240 09 7 13 -6 16
|
||||
-1 sprites/tropic_desert.png 266 240 09 6 20 -31 12
|
||||
-1 sprites/tropic_desert.png 298 240 09 7 13 -5 0
|
||||
-1 sprites/tropic_desert.png 330 240 09 5 8 25 6
|
||||
-1 sprites/tropic_desert.png 346 240 09 3 12 -5 20
|
||||
-1 sprites/tropic_desert.png 364 240 09 4 8 -31 13
|
||||
-1 sprites/tropic_desert.png 380 240 09 4 15 -7 0
|
||||
|
||||
-1 sprites/tropic_desert.png 10 270 09 20 38 -5 -8
|
||||
-1 sprites/tropic_desert.png 58 270 09 26 38 -5 5
|
||||
-1 sprites/tropic_desert.png 106 270 09 20 37 -31 11
|
||||
-1 sprites/tropic_desert.png 154 270 09 27 38 -31 -8
|
||||
-1 sprites/tropic_desert.png 202 270 09 9 16 17 3
|
||||
-1 sprites/tropic_desert.png 234 270 09 9 15 -7 22
|
||||
-1 sprites/tropic_desert.png 266 270 09 9 16 -31 11
|
||||
-1 sprites/tropic_desert.png 298 270 09 9 15 -6 -8
|
||||
-1 sprites/tropic_desert.png 330 270 09 7 8 25 5
|
||||
-1 sprites/tropic_desert.png 346 270 09 5 10 -4 27
|
||||
-1 sprites/tropic_desert.png 364 270 09 7 8 -31 11
|
||||
-1 sprites/tropic_desert.png 380 270 09 6 12 -5 -8
|
||||
|
||||
-1 sprites/tropic_desert.png 10 300 09 18 39 -6 0
|
||||
-1 sprites/tropic_desert.png 58 300 09 11 38 -5 12
|
||||
-1 sprites/tropic_desert.png 106 300 09 18 39 -31 5
|
||||
-1 sprites/tropic_desert.png 154 300 09 11 40 -32 0
|
||||
-1 sprites/tropic_desert.png 202 300 09 6 20 13 12
|
||||
-1 sprites/tropic_desert.png 234 300 09 7 13 -5 16
|
||||
-1 sprites/tropic_desert.png 266 300 09 6 20 -31 5
|
||||
-1 sprites/tropic_desert.png 298 300 09 7 13 -6 0
|
||||
-1 sprites/tropic_desert.png 330 300 09 4 8 26 13
|
||||
-1 sprites/tropic_desert.png 346 300 09 3 12 -5 20
|
||||
-1 sprites/tropic_desert.png 364 300 09 5 8 -31 6
|
||||
-1 sprites/tropic_desert.png 380 300 09 4 15 -6 0
|
||||
|
||||
-1 sprites/tropic_desert.png 10 330 09 27 38 -5 -8
|
||||
-1 sprites/tropic_desert.png 58 330 09 20 37 -4 11
|
||||
-1 sprites/tropic_desert.png 106 330 09 26 37 -31 5
|
||||
-1 sprites/tropic_desert.png 154 330 09 20 38 -31 -8
|
||||
-1 sprites/tropic_desert.png 202 330 09 9 16 17 11
|
||||
-1 sprites/tropic_desert.png 234 330 09 9 15 -6 22
|
||||
-1 sprites/tropic_desert.png 266 330 09 9 16 -31 3
|
||||
-1 sprites/tropic_desert.png 298 330 09 9 15 -7 -8
|
||||
-1 sprites/tropic_desert.png 330 330 09 7 8 25 11
|
||||
-1 sprites/tropic_desert.png 346 330 09 5 10 -4 26
|
||||
-1 sprites/tropic_desert.png 364 330 09 7 8 -31 5
|
||||
-1 sprites/tropic_desert.png 380 330 09 6 12 -5 -8
|
||||
-1 * 7 02 05 42 01 00 00 00
|
||||
|
||||
-1 * 4 01 05 01 3C
|
||||
-1 sprites/tropic_forest.png 10 210 09 19 38 -5 0
|
||||
-1 sprites/tropic_forest.png 58 210 09 18 38 -5 13
|
||||
-1 sprites/tropic_forest.png 106 210 09 18 38 -31 13
|
||||
-1 sprites/tropic_forest.png 154 210 09 19 38 -31 0
|
||||
-1 sprites/tropic_forest.png 202 210 09 9 19 14 11
|
||||
-1 sprites/tropic_forest.png 234 210 09 9 16 -7 22
|
||||
-1 sprites/tropic_forest.png 266 210 09 9 19 -31 11
|
||||
-1 sprites/tropic_forest.png 298 210 09 9 16 -7 0
|
||||
-1 sprites/tropic_forest.png 330 210 09 6 8 25 13
|
||||
-1 sprites/tropic_forest.png 346 210 09 4 12 -5 27
|
||||
-1 sprites/tropic_forest.png 364 210 09 6 8 -31 13
|
||||
-1 sprites/tropic_forest.png 380 210 09 5 12 -5 0
|
||||
|
||||
-1 sprites/tropic_forest.png 10 240 09 11 40 -7 0
|
||||
-1 sprites/tropic_forest.png 58 240 09 18 39 -6 5
|
||||
-1 sprites/tropic_forest.png 106 240 09 11 38 -31 12
|
||||
-1 sprites/tropic_forest.png 154 240 09 18 39 -31 0
|
||||
-1 sprites/tropic_forest.png 202 240 09 6 20 13 5
|
||||
-1 sprites/tropic_forest.png 234 240 09 7 13 -6 16
|
||||
-1 sprites/tropic_forest.png 266 240 09 6 20 -31 12
|
||||
-1 sprites/tropic_forest.png 298 240 09 7 13 -5 0
|
||||
-1 sprites/tropic_forest.png 330 240 09 5 8 25 6
|
||||
-1 sprites/tropic_forest.png 346 240 09 3 12 -5 20
|
||||
-1 sprites/tropic_forest.png 364 240 09 4 8 -31 13
|
||||
-1 sprites/tropic_forest.png 380 240 09 4 15 -7 0
|
||||
|
||||
-1 sprites/tropic_forest.png 10 270 09 20 38 -5 -8
|
||||
-1 sprites/tropic_forest.png 58 270 09 26 38 -5 5
|
||||
-1 sprites/tropic_forest.png 106 270 09 20 37 -31 11
|
||||
-1 sprites/tropic_forest.png 154 270 09 27 38 -31 -8
|
||||
-1 sprites/tropic_forest.png 202 270 09 9 16 17 3
|
||||
-1 sprites/tropic_forest.png 234 270 09 9 15 -7 22
|
||||
-1 sprites/tropic_forest.png 266 270 09 9 16 -31 11
|
||||
-1 sprites/tropic_forest.png 298 270 09 9 15 -6 -8
|
||||
-1 sprites/tropic_forest.png 330 270 09 7 8 25 5
|
||||
-1 sprites/tropic_forest.png 346 270 09 5 10 -4 27
|
||||
-1 sprites/tropic_forest.png 364 270 09 7 8 -31 11
|
||||
-1 sprites/tropic_forest.png 380 270 09 6 12 -5 -8
|
||||
|
||||
-1 sprites/tropic_forest.png 10 300 09 18 39 -6 0
|
||||
-1 sprites/tropic_forest.png 58 300 09 11 38 -5 12
|
||||
-1 sprites/tropic_forest.png 106 300 09 18 39 -31 5
|
||||
-1 sprites/tropic_forest.png 154 300 09 11 40 -32 0
|
||||
-1 sprites/tropic_forest.png 202 300 09 6 20 13 12
|
||||
-1 sprites/tropic_forest.png 234 300 09 7 13 -5 16
|
||||
-1 sprites/tropic_forest.png 266 300 09 6 20 -31 5
|
||||
-1 sprites/tropic_forest.png 298 300 09 7 13 -6 0
|
||||
-1 sprites/tropic_forest.png 330 300 09 4 8 26 13
|
||||
-1 sprites/tropic_forest.png 346 300 09 3 12 -5 20
|
||||
-1 sprites/tropic_forest.png 364 300 09 5 8 -31 6
|
||||
-1 sprites/tropic_forest.png 380 300 09 4 15 -6 0
|
||||
|
||||
-1 sprites/tropic_forest.png 10 330 09 27 38 -5 -8
|
||||
-1 sprites/tropic_forest.png 58 330 09 20 37 -4 11
|
||||
-1 sprites/tropic_forest.png 106 330 09 26 37 -31 5
|
||||
-1 sprites/tropic_forest.png 154 330 09 20 38 -31 -8
|
||||
-1 sprites/tropic_forest.png 202 330 09 9 16 17 11
|
||||
-1 sprites/tropic_forest.png 234 330 09 9 15 -6 22
|
||||
-1 sprites/tropic_forest.png 266 330 09 9 16 -31 3
|
||||
-1 sprites/tropic_forest.png 298 330 09 9 15 -7 -8
|
||||
-1 sprites/tropic_forest.png 330 330 09 7 8 25 11
|
||||
-1 sprites/tropic_forest.png 346 330 09 5 10 -4 26
|
||||
-1 sprites/tropic_forest.png 364 330 09 7 8 -31 5
|
||||
-1 sprites/tropic_forest.png 380 330 09 6 12 -5 -8
|
||||
-1 * 7 02 05 43 01 00 00 00
|
||||
|
||||
-1 * 14 02 05 44 81 81 00 FF 01 40 00 01 01 41 00
|
||||
-1 * 14 02 05 45 81 81 00 FF 01 42 00 01 01 43 00
|
||||
-1 * 14 02 05 46 81 80 00 FF 01 44 00 00 00 45 00
|
||||
-1 * 6 07 83 01 \7! 02 01
|
||||
-1 * 7 03 05 01 06 00 46 00
|
BIN
media/extra_grf/rivers/tropic_desert.png
Normal file
After Width: | Height: | Size: 15 KiB |
BIN
media/extra_grf/rivers/tropic_forest.png
Normal file
After Width: | Height: | Size: 15 KiB |
@@ -1,3 +1,45 @@
|
||||
openttd (1.1.3) unstable; urgency=low
|
||||
|
||||
* New upstream release 1.1.3
|
||||
|
||||
-- Matthijs Kooijman <matthijs@stdin.nl> Thu, 15 Sep 2011 21:00:00 +0200
|
||||
|
||||
openttd (1.1.3-RC1) unstable; urgency=low
|
||||
|
||||
* New upstream release 1.1.3-RC1
|
||||
|
||||
-- Matthijs Kooijman <matthijs@stdin.nl> Sun, 04 Sep 2011 17:00:00 +0200
|
||||
|
||||
openttd (1.1.2) unstable; urgency=low
|
||||
|
||||
* New upstream release 1.1.2
|
||||
|
||||
-- Matthijs Kooijman <matthijs@stdin.nl> Sun, 14 Aug 2011 17:00:00 +0200
|
||||
|
||||
openttd (1.1.2~RC2) unstable; urgency=low
|
||||
|
||||
* New upstream release 1.1.2-RC2
|
||||
|
||||
-- Matthijs Kooijman <matthijs@stdin.nl> Sat, 30 Jul 2011 21:00:00 +0200
|
||||
|
||||
openttd (1.1.2~RC1) unstable; urgency=low
|
||||
|
||||
* New upstream release 1.1.2-RC1
|
||||
|
||||
-- Matthijs Kooijman <matthijs@stdin.nl> Sun, 24 Jul 2011 21:00:00 +0200
|
||||
|
||||
openttd (1.1.1) unstable; urgency=low
|
||||
|
||||
* New upstream release 1.1.1
|
||||
|
||||
-- Matthijs Kooijman <matthijs@stdin.nl> Wed, 01 Jun 2011 00:00:00 +0200
|
||||
|
||||
openttd (1.1.1~RC1) unstable; urgency=low
|
||||
|
||||
* New upstream release 1.1.1-RC1
|
||||
|
||||
-- Matthijs Kooijman <matthijs@stdin.nl> Sun, 15 May 2011 21:00:00 +0200
|
||||
|
||||
openttd (1.1.0) unstable; urgency=low
|
||||
|
||||
* New upstream release 1.1.0
|
||||
|
@@ -1,6 +1,6 @@
|
||||
@echo off
|
||||
|
||||
set OPENTTD_VERSION=1.1.0
|
||||
set OPENTTD_VERSION=1.1.3
|
||||
set OPENSFX_VERSION=0.8.0
|
||||
set NOSOUND_VERSION=0.8.0
|
||||
set OPENGFX_VERSION=0.7.0
|
||||
|
@@ -2,7 +2,7 @@
|
||||
|
||||
%define binname openttd
|
||||
|
||||
%define srcver 1.1.0
|
||||
%define srcver 1.1.3
|
||||
|
||||
%if %{dedicated}
|
||||
Name: %{binname}-dedicated
|
||||
|
@@ -1,8 +1,8 @@
|
||||
# Version numbers to update
|
||||
!define APPV_MAJOR 1
|
||||
!define APPV_MINOR 1
|
||||
!define APPV_MAINT 0
|
||||
!define APPV_BUILD 8
|
||||
!define APPV_MAINT 3
|
||||
!define APPV_BUILD 1
|
||||
!define APPV_EXTRA ""
|
||||
|
||||
!define APPNAME "OpenTTD" ; Define application name
|
||||
@@ -57,6 +57,7 @@ Var CDDRIVE
|
||||
; Modern interface settings
|
||||
!include "MUI2.nsh"
|
||||
!include "InstallOptions.nsh"
|
||||
!include "WinVer.nsh"
|
||||
|
||||
!define MUI_ABORTWARNING
|
||||
!define MUI_WELCOMEPAGE_TITLE_3LINES
|
||||
@@ -518,17 +519,17 @@ hasCD:
|
||||
FunctionEnd
|
||||
|
||||
;-------------------------------------------------------------------------------
|
||||
; Determine windows version, returns "win9x" if Win9x/Me or "winnt" on the stack
|
||||
; Determine windows version, returns "win9x" if Win9x/Me/2000/XP SP2- or "winnt" for the rest on the stack
|
||||
Function GetWindowsVersion
|
||||
ClearErrors
|
||||
StrCpy $R0 "winnt"
|
||||
|
||||
GetVersion::WindowsPlatformId
|
||||
Pop $R0
|
||||
IntCmp $R0 2 WinNT 0
|
||||
StrCpy $R0 "win9x"
|
||||
WinNT:
|
||||
ClearErrors
|
||||
${If} ${IsNT}
|
||||
${If} ${IsWinXP}
|
||||
${AndIf} ${AtLeastServicePack} 3
|
||||
${OrIf} ${AtLeastWin2003}
|
||||
StrCpy $R0 "winnt"
|
||||
${EndIf}
|
||||
${EndIf}
|
||||
Push $R0
|
||||
FunctionEnd
|
||||
|
||||
@@ -540,12 +541,12 @@ Function CheckProcessorArchitecture
|
||||
IntCmp $R0 64 Win64 0
|
||||
ClearErrors
|
||||
IntCmp ${APPBITS} 64 0 Done
|
||||
MessageBox MB_OKCANCEL|MB_ICONSTOP "You are trying to install the 64-bit OpenTTD on a 32-bit operating system. This is not going to work. Please download the correct version. Do you really want to continue?" IDOK Done IDCANCEL Abort
|
||||
MessageBox MB_YESNO|MB_ICONSTOP "You are trying to install the 64-bit OpenTTD on a 32-bit operating system. This is not going to work. Please download the correct version. Do you really want to continue?" IDYES Done IDNO Abort
|
||||
GoTo Done
|
||||
Win64:
|
||||
ClearErrors
|
||||
IntCmp ${APPBITS} 64 Done 0
|
||||
MessageBox MB_OKCANCEL|MB_ICONINFORMATION "You are trying to install the 32-bit OpenTTD on a 64-bit operating system. This is not advised, but will work with reduced capabilities. We suggest that you download the correct version. Do you really want to continue?" IDOK Done IDCANCEL Abort
|
||||
MessageBox MB_YESNO|MB_ICONINFORMATION "You are trying to install the 32-bit OpenTTD on a 64-bit operating system. This is not advised, but will work with reduced capabilities. We suggest that you download the correct version. Do you really want to continue?" IDYES Done IDNO Abort
|
||||
GoTo Done
|
||||
Abort:
|
||||
Quit
|
||||
@@ -560,12 +561,12 @@ Function CheckWindowsVersion
|
||||
StrCmp $R0 "win9x" 0 WinNT
|
||||
ClearErrors
|
||||
StrCmp ${APPARCH} "win9x" Done 0
|
||||
MessageBox MB_OKCANCEL|MB_ICONSTOP "You are trying to install the Windows 2000, XP and Vista version on Windows 95, 98 or ME. This is will not work. Please download the correct version. Do you really want to continue?" IDOK Done IDCANCEL Abort
|
||||
MessageBox MB_YESNO|MB_ICONSTOP "You are trying to install the Windows XP SP3, Vista and 7 version on Windows 95, 98, ME, 2000 and XP without SP3. This is will not work. Please download the correct version. Do you really want to continue?" IDYES Done IDNO Abort
|
||||
GoTo Done
|
||||
WinNT:
|
||||
ClearErrors
|
||||
StrCmp ${APPARCH} "win9x" 0 Done
|
||||
MessageBox MB_OKCANCEL|MB_ICONEXCLAMATION "You are trying to install the Windows 95, 98 and ME version on Windows 2000, XP or Vista. This is not advised, but will work with reduced capabilities. We suggest that you download the correct version. Do you really want to continue?" IDOK Done IDCANCEL Abort
|
||||
MessageBox MB_YESNO|MB_ICONEXCLAMATION "You are trying to install the Windows 95, 98, 2000 and XP without SP3 version on Windows XP SP3, Vista or 7. This is not advised, but will work with reduced capabilities. We suggest that you download the correct version. Do you really want to continue?" IDYES Done IDNO Abort
|
||||
Abort:
|
||||
Quit
|
||||
Done:
|
||||
@@ -674,8 +675,7 @@ WelcomeToSetup:
|
||||
ReadRegStr $OLDVERSION HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenTTD" "DisplayVersion"
|
||||
; Gets the older version then displays it in a message box
|
||||
MessageBox MB_OK|MB_ICONINFORMATION \
|
||||
"Welcome to ${APPNAMEANDVERSION} Setup.$\n \
|
||||
This will allow you to upgrade from version $OLDVERSION."
|
||||
"Welcome to ${APPNAMEANDVERSION} Setup.$\nThis will allow you to upgrade from version $OLDVERSION."
|
||||
SectionSetFlags ${Section2} 0x80 ; set bit 7
|
||||
SectionSetFlags ${Section3} 0x80 ; set bit 7
|
||||
SectionSetFlags ${Section4} 0x80 ; set bit 7
|
||||
@@ -686,8 +686,7 @@ VersionsAreEqual:
|
||||
ReadRegStr $UninstallString HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenTTD" "UninstallString"
|
||||
IfFileExists "$UninstallString" "" FinishCallback
|
||||
MessageBox MB_YESNO|MB_ICONQUESTION \
|
||||
"Setup detected ${APPNAMEANDVERSION} on your system. This is the same version that this program will install.$\n \
|
||||
Are you trying to uninstall it?" \
|
||||
"Setup detected ${APPNAMEANDVERSION} on your system. This is the same version that this program will install.$\nAre you trying to uninstall it?" \
|
||||
IDYES DoUninstall IDNO FinishCallback
|
||||
DoUninstall: ; You have the same version as this installer. This allows you to uninstall.
|
||||
Exec "$UninstallString"
|
||||
@@ -695,8 +694,7 @@ DoUninstall: ; You have the same version as this installer. This allows you to
|
||||
|
||||
InstallerIsOlder:
|
||||
MessageBox MB_OK|MB_ICONSTOP \
|
||||
"You have a newer version of ${APPNAME}.$\n \
|
||||
Setup will now exit."
|
||||
"You have a newer version of ${APPNAME}.$\nSetup will now exit."
|
||||
Quit
|
||||
|
||||
FinishCallback:
|
||||
|
@@ -1,5 +1,5 @@
|
||||
!define APPBITS 32 ; Define number of bits for the architecture
|
||||
!define EXTRA_VERSION "2000, XP, Vista and 7"
|
||||
!define EXTRA_VERSION "XP SP3, Vista and 7"
|
||||
!define APPARCH "win32" ; Define the application architecture
|
||||
!define BINARY_DIR "${PATH_ROOT}objs\win32\Release"
|
||||
InstallDir "$PROGRAMFILES32\OpenTTD\"
|
||||
|
@@ -1,5 +1,5 @@
|
||||
!define APPBITS 32 ; Define number of bits for the architecture
|
||||
!define EXTRA_VERSION "95, 98 and ME"
|
||||
!define EXTRA_VERSION "95, 98, ME, 2000 and XP without SP3"
|
||||
!define APPARCH "win9x" ; Define the application architecture
|
||||
!define BINARY_DIR "${PATH_ROOT}bin"
|
||||
InstallDir "$PROGRAMFILES32\OpenTTD\"
|
||||
|
@@ -227,6 +227,9 @@ Function DetermineSVNVersion()
|
||||
Loop
|
||||
If oExec.ExitCode = 0 Then
|
||||
version = oExec.StdOut.ReadLine()
|
||||
If Right(version, 2) = "^0" Then
|
||||
version = Left(version, Len(version) - 2)
|
||||
End If
|
||||
branch = ""
|
||||
End If ' oExec.ExitCode = 0
|
||||
End If ' Err.Number = 0
|
||||
|
@@ -102,7 +102,7 @@
|
||||
<FavorSizeOrSpeed>Size</FavorSizeOrSpeed>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<AdditionalIncludeDirectories>..\objs\langs;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;ENABLE_AI;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";WITH_ASSERT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;ENABLE_AI;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<ExceptionHandling>Sync</ExceptionHandling>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
@@ -204,7 +204,7 @@
|
||||
<FavorSizeOrSpeed>Size</FavorSizeOrSpeed>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<AdditionalIncludeDirectories>..\objs\langs;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;ENABLE_AI;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";_SQ64;WITH_ASSERT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;ENABLE_AI;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";_SQ64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<ExceptionHandling>Sync</ExceptionHandling>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
@@ -1074,6 +1074,7 @@
|
||||
<ClInclude Include="..\src\pathfinder\yapf\yapf_node.hpp" />
|
||||
<ClInclude Include="..\src\pathfinder\yapf\yapf_node_rail.hpp" />
|
||||
<ClInclude Include="..\src\pathfinder\yapf\yapf_node_road.hpp" />
|
||||
<ClInclude Include="..\src\pathfinder\yapf\yapf_node_ship.hpp" />
|
||||
<ClCompile Include="..\src\pathfinder\yapf\yapf_rail.cpp" />
|
||||
<ClCompile Include="..\src\pathfinder\yapf\yapf_road.cpp" />
|
||||
<ClCompile Include="..\src\pathfinder\yapf\yapf_ship.cpp" />
|
||||
|
@@ -2442,6 +2442,9 @@
|
||||
<ClInclude Include="..\src\pathfinder\yapf\yapf_node_road.hpp">
|
||||
<Filter>YAPF</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\src\pathfinder\yapf\yapf_node_ship.hpp">
|
||||
<Filter>YAPF</Filter>
|
||||
</ClInclude>
|
||||
<ClCompile Include="..\src\pathfinder\yapf\yapf_rail.cpp">
|
||||
<Filter>YAPF</Filter>
|
||||
</ClCompile>
|
||||
|
@@ -102,7 +102,7 @@
|
||||
<FavorSizeOrSpeed>Size</FavorSizeOrSpeed>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<AdditionalIncludeDirectories>..\objs\langs;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;ENABLE_AI;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";WITH_ASSERT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;ENABLE_AI;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<ExceptionHandling>Sync</ExceptionHandling>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
@@ -204,7 +204,7 @@
|
||||
<FavorSizeOrSpeed>Size</FavorSizeOrSpeed>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<AdditionalIncludeDirectories>..\objs\langs;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;ENABLE_AI;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";_SQ64;WITH_ASSERT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;ENABLE_AI;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";_SQ64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<ExceptionHandling>Sync</ExceptionHandling>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
|
@@ -52,7 +52,7 @@
|
||||
FavorSizeOrSpeed="2"
|
||||
OmitFramePointers="true"
|
||||
AdditionalIncludeDirectories="..\objs\langs;..\src\3rdparty\squirrel\include"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;ENABLE_AI;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\";WITH_ASSERT"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;ENABLE_AI;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\""
|
||||
StringPooling="true"
|
||||
ExceptionHandling="1"
|
||||
RuntimeLibrary="0"
|
||||
@@ -257,7 +257,7 @@
|
||||
FavorSizeOrSpeed="2"
|
||||
OmitFramePointers="true"
|
||||
AdditionalIncludeDirectories="..\objs\langs;..\src\3rdparty\squirrel\include"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;ENABLE_AI;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\";_SQ64;WITH_ASSERT"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;ENABLE_AI;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\";_SQ64"
|
||||
StringPooling="true"
|
||||
ExceptionHandling="1"
|
||||
RuntimeLibrary="0"
|
||||
@@ -3662,6 +3662,10 @@
|
||||
RelativePath=".\..\src\pathfinder\yapf\yapf_node_road.hpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\..\src\pathfinder\yapf\yapf_node_ship.hpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\..\src\pathfinder\yapf\yapf_rail.cpp"
|
||||
>
|
||||
|
@@ -52,7 +52,7 @@
|
||||
FavorSizeOrSpeed="2"
|
||||
OmitFramePointers="true"
|
||||
AdditionalIncludeDirectories="..\objs\langs;..\src\3rdparty\squirrel\include"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;ENABLE_AI;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\";WITH_ASSERT"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;ENABLE_AI;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\""
|
||||
StringPooling="true"
|
||||
ExceptionHandling="1"
|
||||
RuntimeLibrary="0"
|
||||
@@ -257,7 +257,7 @@
|
||||
FavorSizeOrSpeed="2"
|
||||
OmitFramePointers="true"
|
||||
AdditionalIncludeDirectories="..\objs\langs;..\src\3rdparty\squirrel\include"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;ENABLE_AI;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\";_SQ64;WITH_ASSERT"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;ENABLE_AI;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\";_SQ64"
|
||||
StringPooling="true"
|
||||
ExceptionHandling="1"
|
||||
RuntimeLibrary="0"
|
||||
|
@@ -53,7 +53,7 @@
|
||||
FavorSizeOrSpeed="2"
|
||||
OmitFramePointers="true"
|
||||
AdditionalIncludeDirectories="..\objs\langs;..\src\3rdparty\squirrel\include"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;ENABLE_AI;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\";WITH_ASSERT"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;ENABLE_AI;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\""
|
||||
StringPooling="true"
|
||||
ExceptionHandling="1"
|
||||
RuntimeLibrary="0"
|
||||
@@ -255,7 +255,7 @@
|
||||
FavorSizeOrSpeed="2"
|
||||
OmitFramePointers="true"
|
||||
AdditionalIncludeDirectories="..\objs\langs;..\src\3rdparty\squirrel\include"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;ENABLE_AI;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\";_SQ64;WITH_ASSERT"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;ENABLE_AI;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\";_SQ64"
|
||||
StringPooling="true"
|
||||
ExceptionHandling="1"
|
||||
RuntimeLibrary="0"
|
||||
@@ -3659,6 +3659,10 @@
|
||||
RelativePath=".\..\src\pathfinder\yapf\yapf_node_road.hpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\..\src\pathfinder\yapf\yapf_node_ship.hpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\..\src\pathfinder\yapf\yapf_rail.cpp"
|
||||
>
|
||||
|
@@ -53,7 +53,7 @@
|
||||
FavorSizeOrSpeed="2"
|
||||
OmitFramePointers="true"
|
||||
AdditionalIncludeDirectories="..\objs\langs;..\src\3rdparty\squirrel\include"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;ENABLE_AI;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\";WITH_ASSERT"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;ENABLE_AI;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\""
|
||||
StringPooling="true"
|
||||
ExceptionHandling="1"
|
||||
RuntimeLibrary="0"
|
||||
@@ -255,7 +255,7 @@
|
||||
FavorSizeOrSpeed="2"
|
||||
OmitFramePointers="true"
|
||||
AdditionalIncludeDirectories="..\objs\langs;..\src\3rdparty\squirrel\include"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;ENABLE_AI;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\";_SQ64;WITH_ASSERT"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;ENABLE_AI;WITH_PERSONAL_DIR;PERSONAL_DIR=\"OpenTTD\";_SQ64"
|
||||
StringPooling="true"
|
||||
ExceptionHandling="1"
|
||||
RuntimeLibrary="0"
|
||||
|
153
readme.txt
@@ -1,6 +1,6 @@
|
||||
OpenTTD readme
|
||||
Last updated: 2011-04-01
|
||||
Release version: 1.1.0
|
||||
Last updated: 2011-09-15
|
||||
Release version: 1.1.3
|
||||
------------------------------------------------------------------------
|
||||
|
||||
|
||||
@@ -249,9 +249,12 @@ wait for an error message to pop up. The error message will tell you
|
||||
|
||||
4.2) OpenTTD directories
|
||||
---- -------------------
|
||||
The required 3rd party files listed in the section 4.1 "(Required) 3rd party files"
|
||||
as well as other non-compulsory extensions (NewGRFs, AI, heightmaps, scenarios) can be
|
||||
placed in a few different locations:
|
||||
OpenTTD uses its own directory to store its required 3rd party base set files (see section
|
||||
4.1 "Required 3rd party files") and non-compulsory extension and configuration files. See
|
||||
below for their proper place within this OpenTTD main data directory.
|
||||
|
||||
The main OpenTTD directories can be found in various locations, depending on your operating
|
||||
system:
|
||||
1. The current working directory (from where you started OpenTTD)
|
||||
For non-Windows operating systems OpenTTD will not scan for files in this
|
||||
directory if it is your personal directory, i.e. "~/", or when it is the
|
||||
@@ -273,7 +276,26 @@ placed in a few different locations:
|
||||
5. The installation directory (Linux only)
|
||||
Linux: /usr/share/games/openttd
|
||||
6. The application bundle (Mac OSX only)
|
||||
It includes the OpenTTD files (grf+lng) and it will work as long as they aren't touched
|
||||
It includes the OpenTTD files (grf+lng) and it will work as long as they aren't
|
||||
touched
|
||||
|
||||
Different types of data or extensions go into different subdirectories of the chosen main
|
||||
OpenTTD directory:
|
||||
Config File: (no subdirectory)
|
||||
Screenshots: (no subdirectory)
|
||||
Base Graphics: data (or a subdirectory thereof)
|
||||
Sound Sets: data (or a subdirectory thereof)
|
||||
NewGRFs: data (or a subdirectory thereof)
|
||||
32bpp Sets: data (or a subdirectory thereof)
|
||||
Music Sets: gm (or a subdirectory thereof)
|
||||
AIs: ai (or a subdirectory thereof)
|
||||
AI Libraries: ai/libraries (or a subdirectory thereof)
|
||||
Savegames: save
|
||||
Automatic Savegames: save/autosave
|
||||
Scenarios: scenario
|
||||
|
||||
The (automatically created) directory content_download is for OpenTTD's internal use and
|
||||
no files should be added to it or its subdirectories manually.
|
||||
|
||||
Notes:
|
||||
- Linux in the previous list means .deb, but most paths should be similar for others.
|
||||
@@ -357,7 +379,7 @@ OpenTTD in debug mode.
|
||||
The configuration file for OpenTTD (openttd.cfg) is in a simple Windows-like
|
||||
.INI format. It's mostly undocumented. Almost all settings can be changed
|
||||
ingame by using the 'Advanced Settings' window.
|
||||
When you can not find openttd.cfg you should look in the directories as
|
||||
When you cannot find openttd.cfg you should look in the directories as
|
||||
described in section 4.2. If you do not have an openttd.cfg OpenTTD will
|
||||
create one after closing.
|
||||
|
||||
@@ -419,7 +441,8 @@ DOS:
|
||||
---- ---------------------------
|
||||
The following libraries are used by OpenTTD for:
|
||||
- libSDL/liballegro: hardware access (video, sound, mouse)
|
||||
- zlib: (de)compressing of old (0.3.0-1.0.5) savegames, content downloads, heightmaps
|
||||
- zlib: (de)compressing of old (0.3.0-1.0.5) savegames, content downloads,
|
||||
heightmaps
|
||||
- liblzo2: (de)compressing of old (pre 0.3.0) savegames
|
||||
- liblzma: (de)compressing of savegames (1.1.0 and later)
|
||||
- libpng: making screenshots and loading heightmaps
|
||||
@@ -447,7 +470,8 @@ The following compilers are known to compile OpenTTD:
|
||||
Version 2005 gives bogus warnings about scoping issues.
|
||||
- GNU Compiler Collection (GCC) 3.3 - 4.7.
|
||||
Versions 4.1 and earlier give bogus warnings about uninitialised variables.
|
||||
Versions 4.4 and later give bogus warnings about freeing non-heap objects.
|
||||
Versions 4.4 - 4.6 give bogus warnings about freeing non-heap objects.
|
||||
Versions 4.5 and later give invalid warnings when lto is enabled.
|
||||
- Intel C++ Compiler (ICC) 12.0.
|
||||
|
||||
The following compilers are known not to compile OpenTTD:
|
||||
@@ -455,7 +479,8 @@ The following compilers are known not to compile OpenTTD:
|
||||
- GNU Compiler Collection (GCC) 3.2 and earlier.
|
||||
These old versions fail due to OpenTTD's template usage.
|
||||
- Intel C++ Compiler (ICC) 11.1 and earlier.
|
||||
Version 10.0 and earlier fail a configure check and fail with recent system headers.
|
||||
Version 10.0 and earlier fail a configure check and fail with recent system
|
||||
headers.
|
||||
Version 10.1 fails to compile station_gui.cpp.
|
||||
Version 11.1 fails with internal error when compiling network.cpp.
|
||||
- Clang/LLVM 2.8 and earlier.
|
||||
@@ -542,66 +567,76 @@ Under Windows 98 and lower it is impossible to use a dedicated server; it will
|
||||
fail to start. Perhaps this is for the better because those OSes are not known
|
||||
for their stability.
|
||||
|
||||
With the added support for font-based text selecting a non-latin language will
|
||||
result in garbage (lots of '?') shown on screen. Please open your configuration
|
||||
file and add a desired font for small/medium/-and large_font. This can be a font
|
||||
name like "Tahoma" or a path to a font.
|
||||
With the added support for font-based text selecting a non-latin language can
|
||||
result in lots of question marks ('?') being shown on screen. Please open your
|
||||
configuration file (openttd.cfg - see Section 4.2 for where to find it)
|
||||
and add a suitable font for the small, medium and / or large font, e.g.:
|
||||
small_font = "Tahoma"
|
||||
medium_font = "Tahoma"
|
||||
large_font = "Tahoma"
|
||||
You should use a font name like "Tahoma" or a path to the desired font.
|
||||
|
||||
Any NewGRF file used in a game is stored inside the savegame and will refuse
|
||||
to load if you don't have that NewGRF file available. A list of missing files
|
||||
will be output to the console at the moment, so use the '-d' flag (on windows)
|
||||
to see this list. You just have to find the files (http://grfcrawler.tt-forums.net/)
|
||||
put them in the data/ folder and you're set to go.
|
||||
can be viewed in the NewGRF window accessible from the file load dialogue window.
|
||||
|
||||
You can try to obtain the missing files from that NewGRF dialogue or - if they
|
||||
are not available online - you can search manually through our forum's graphics
|
||||
development section (http://www.tt-forums.net/viewforum.php?f=66) or GrfCrawler
|
||||
(http://grfcrawler.tt-forums.net/). Put the NewGRF files in OpenTTD's data folder
|
||||
(see section 4.2 "OpenTTD directories") and rescan the list of available NewGRFs.
|
||||
Once you have all missing files, you are set to go.
|
||||
|
||||
|
||||
X.X) Credits
|
||||
---- -------
|
||||
The OpenTTD team (in alphabetical order):
|
||||
Albert Hofkamp (Alberth) - GUI expert
|
||||
Jean-François Claeys (Belugas) - GUI, newindustries and more
|
||||
Matthijs Kooijman (blathijs) - Pathfinder-guru, pool rework
|
||||
Christoph Elsenhans (frosch) - General coding
|
||||
Loïc Guilloux (glx) - Windows Expert
|
||||
Michael Lutz (michi_cc) - Path based signals
|
||||
Owen Rudge (orudge) - Forum host, OS/2 port
|
||||
Peter Nelson (peter1138) - Spiritual descendant from newGRF gods
|
||||
Ingo von Borstel (planetmaker) - Support
|
||||
Remko Bijker (Rubidium) - Lead coder and way more
|
||||
Zdeněk Sojka (SmatZ) - Bug finder and fixer
|
||||
José Soler (Terkhen) - General coding
|
||||
Thijs Marinussen (Yexo) - AI Framework
|
||||
Albert Hofkamp (Alberth) - GUI expert
|
||||
Jean-François Claeys (Belugas) - GUI, newindustries and more
|
||||
Matthijs Kooijman (blathijs) - Pathfinder-guru, pool rework
|
||||
Christoph Elsenhans (frosch) - General coding
|
||||
Loïc Guilloux (glx) - Windows Expert
|
||||
Michael Lutz (michi_cc) - Path based signals
|
||||
Owen Rudge (orudge) - Forum host, OS/2 port
|
||||
Peter Nelson (peter1138) - Spiritual descendant from newGRF gods
|
||||
Ingo von Borstel (planetmaker) - Support
|
||||
Remko Bijker (Rubidium) - Lead coder and way more
|
||||
Zdeněk Sojka (SmatZ) - Bug finder and fixer
|
||||
José Soler (Terkhen) - General coding
|
||||
Thijs Marinussen (Yexo) - AI Framework
|
||||
|
||||
Inactive Developers:
|
||||
Bjarni Corfitzen (Bjarni) - MacOSX port, coder and vehicles
|
||||
Victor Fischer (Celestar) - Programming everywhere you need him to
|
||||
Tamás Faragó (Darkvater) - Ex-Lead coder
|
||||
Jaroslav Mazanec (KUDr) - YAPG (Yet Another Pathfinder God) ;)
|
||||
Jonathan Coome (Maedhros) - High priest of the NewGRF Temple
|
||||
Attila Bán (MiHaMiX) - WebTranslator 1 and 2
|
||||
Christoph Mallon (Tron) - Programmer, code correctness police
|
||||
Bjarni Corfitzen (Bjarni) - MacOSX port, coder and vehicles
|
||||
Victor Fischer (Celestar) - Programming everywhere you need him to
|
||||
Tamás Faragó (Darkvater) - Ex-Lead coder
|
||||
Jaroslav Mazanec (KUDr) - YAPG (Yet Another Pathfinder God) ;)
|
||||
Jonathan Coome (Maedhros) - High priest of the NewGRF Temple
|
||||
Attila Bán (MiHaMiX) - WebTranslator 1 and 2
|
||||
Christoph Mallon (Tron) - Programmer, code correctness police
|
||||
|
||||
Retired Developers:
|
||||
Ludvig Strigeus (ludde) - OpenTTD author, main coder (0.1 - 0.3.3)
|
||||
Serge Paquet (vurlix) - Assistant project manager, coder (0.1 - 0.3.3)
|
||||
Dominik Scherer (dominik81) - Lead programmer, GUI expert (0.3.0 - 0.3.6)
|
||||
Benedikt Brüggemeier (skidd13) - Bug fixer and code reworker
|
||||
Patric Stout (TrueLight) - Programmer (0.3 - pre0.7), sys op (active)
|
||||
Ludvig Strigeus (ludde) - OpenTTD author, main coder (0.1 - 0.3.3)
|
||||
Serge Paquet (vurlix) - Assistant project manager, coder (0.1 - 0.3.3)
|
||||
Dominik Scherer (dominik81) - Lead programmer, GUI expert (0.3.0 - 0.3.6)
|
||||
Benedikt Brüggemeier (skidd13) - Bug fixer and code reworker
|
||||
Patric Stout (TrueLight) - Programmer (0.3 - pre0.7), sys op (active)
|
||||
|
||||
Thanks to:
|
||||
Josef Drexler - For his great work on TTDPatch.
|
||||
Marcin Grzegorczyk - For his TTDPatch work and documentation of Transport Tycoon Deluxe internals and graphics (signals and track foundations)
|
||||
Petr Baudiš (pasky) - Many patches, newgrf support, etc.
|
||||
Simon Sasburg (HackyKid) - For the many bugfixes he has blessed us with
|
||||
Stefan Meißner (sign_de) - For his work on the console
|
||||
Mike Ragsdale - OpenTTD installer
|
||||
Cian Duffy (MYOB) - BeOS port / manual writing
|
||||
Christian Rosentreter (tokai) - MorphOS / AmigaOS port
|
||||
Richard Kempton (RichK67) - Additional airports, initial TGP implementation
|
||||
Alberto Demichelis - Squirrel scripting language
|
||||
L. Peter Deutsch - MD5 implementation
|
||||
Michael Blunck - For revolutionizing TTD with awesome graphics
|
||||
George - Canal graphics
|
||||
David Dallaston (Pikka) - Tram tracks
|
||||
All Translators - For their support to make OpenTTD a truly international game
|
||||
Bug Reporters - Thanks for all bug reports
|
||||
Chris Sawyer - For an amazing game!
|
||||
Josef Drexler - For his great work on TTDPatch.
|
||||
Marcin Grzegorczyk - For his TTDPatch work and documentation of Transport Tycoon Deluxe internals and graphics (signals and track foundations)
|
||||
Petr Baudiš (pasky) - Many patches, newgrf support, etc.
|
||||
Simon Sasburg (HackyKid) - For the many bugfixes he has blessed us with
|
||||
Stefan Meißner (sign_de) - For his work on the console
|
||||
Mike Ragsdale - OpenTTD installer
|
||||
Cian Duffy (MYOB) - BeOS port / manual writing
|
||||
Christian Rosentreter (tokai) - MorphOS / AmigaOS port
|
||||
Richard Kempton (RichK67) - Additional airports, initial TGP implementation
|
||||
Alberto Demichelis - Squirrel scripting language
|
||||
L. Peter Deutsch - MD5 implementation
|
||||
Michael Blunck - For revolutionizing TTD with awesome graphics
|
||||
George - Canal graphics
|
||||
Andrew Parkhouse (andythenorth) - River graphics
|
||||
David Dallaston (Pikka) - Tram tracks
|
||||
All Translators - For their support to make OpenTTD a truly international game
|
||||
Bug Reporters - Thanks for all bug reports
|
||||
Chris Sawyer - For an amazing game!
|
||||
|
@@ -875,6 +875,7 @@ pathfinder/yapf/yapf_destrail.hpp
|
||||
pathfinder/yapf/yapf_node.hpp
|
||||
pathfinder/yapf/yapf_node_rail.hpp
|
||||
pathfinder/yapf/yapf_node_road.hpp
|
||||
pathfinder/yapf/yapf_node_ship.hpp
|
||||
pathfinder/yapf/yapf_rail.cpp
|
||||
pathfinder/yapf/yapf_road.cpp
|
||||
pathfinder/yapf/yapf_ship.cpp
|
||||
|
6
src/3rdparty/squirrel/include/squirrel.h
vendored
@@ -54,6 +54,10 @@ extern "C" {
|
||||
typedef __int64 SQInteger;
|
||||
typedef unsigned __int64 SQUnsignedInteger;
|
||||
typedef unsigned __int64 SQHash; /*should be the same size of a pointer*/
|
||||
#elif defined(_WIN32)
|
||||
typedef long long SQInteger;
|
||||
typedef unsigned long long SQUnsignedInteger;
|
||||
typedef unsigned long long SQHash; /*should be the same size of a pointer*/
|
||||
#else
|
||||
typedef long SQInteger;
|
||||
typedef unsigned long SQUnsignedInteger;
|
||||
@@ -77,6 +81,8 @@ typedef float SQFloat;
|
||||
#if defined(SQUSEDOUBLE) && !defined(_SQ64)
|
||||
#ifdef _MSC_VER
|
||||
typedef __int64 SQRawObjectVal; //must be 64bits
|
||||
#elif defined(_WIN32)
|
||||
typedef long long SQRawObjectVal; //must be 64bits
|
||||
#else
|
||||
typedef long SQRawObjectVal; //must be 64bits
|
||||
#endif
|
||||
|
@@ -75,9 +75,9 @@ AIInfo *AIConfig::GetInfo() const
|
||||
return this->info;
|
||||
}
|
||||
|
||||
bool AIConfig::ResetInfo()
|
||||
bool AIConfig::ResetInfo(bool force_exact_match)
|
||||
{
|
||||
this->info = AI::FindInfo(this->name, -1, false);
|
||||
this->info = AI::FindInfo(this->name, force_exact_match ? this->version : -1, force_exact_match);
|
||||
return this->info != NULL;
|
||||
}
|
||||
|
||||
|
@@ -57,10 +57,12 @@ public:
|
||||
/**
|
||||
* When ever the AI Scanner is reloaded, all infos become invalid. This
|
||||
* function tells AIConfig about this.
|
||||
* @param force_exact_match If true try to find the exact same version
|
||||
* as specified. If false any version is ok.
|
||||
* @return \c true if the reset was successful, \c false if the AI was no longer
|
||||
* found.
|
||||
*/
|
||||
bool ResetInfo();
|
||||
bool ResetInfo(bool force_exact_match);
|
||||
|
||||
/**
|
||||
* Get the AIInfo linked to this AIConfig.
|
||||
|
@@ -170,13 +170,24 @@
|
||||
* a random new AI on reload). */
|
||||
for (CompanyID c = COMPANY_FIRST; c < MAX_COMPANIES; c++) {
|
||||
if (_settings_game.ai_config[c] != NULL && _settings_game.ai_config[c]->HasAI()) {
|
||||
if (!_settings_game.ai_config[c]->ResetInfo()) {
|
||||
if (!_settings_game.ai_config[c]->ResetInfo(true)) {
|
||||
DEBUG(ai, 0, "After a reload, the AI by the name '%s' was no longer found, and removed from the list.", _settings_game.ai_config[c]->GetName());
|
||||
_settings_game.ai_config[c]->ChangeAI(NULL);
|
||||
if (Company::IsValidAiID(c)) {
|
||||
/* The code belonging to an already running AI was deleted. We can only do
|
||||
* one thing here to keep everything sane and that is kill the AI. After
|
||||
* killing the offending AI we start a random other one in it's place, just
|
||||
* like what would happen if the AI was missing during loading. */
|
||||
AI::Stop(c);
|
||||
AI::StartNew(c, false);
|
||||
}
|
||||
} else if (Company::IsValidAiID(c)) {
|
||||
/* Update the reference in the Company struct. */
|
||||
Company::Get(c)->ai_info = _settings_game.ai_config[c]->GetInfo();
|
||||
}
|
||||
}
|
||||
if (_settings_newgame.ai_config[c] != NULL && _settings_newgame.ai_config[c]->HasAI()) {
|
||||
if (!_settings_newgame.ai_config[c]->ResetInfo()) {
|
||||
if (!_settings_newgame.ai_config[c]->ResetInfo(false)) {
|
||||
DEBUG(ai, 0, "After a reload, the AI by the name '%s' was no longer found, and removed from the list.", _settings_newgame.ai_config[c]->GetName());
|
||||
_settings_newgame.ai_config[c]->ChangeAI(NULL);
|
||||
}
|
||||
|
@@ -374,6 +374,7 @@ struct AISettingsWindow : public Window {
|
||||
/* One of the arrows is clicked (or green/red rect in case of bool value) */
|
||||
if (IsInsideMM(x, 0, 21)) {
|
||||
int new_val = this->ai_config->GetSetting(config_item.name);
|
||||
int old_val = new_val;
|
||||
if (bool_item) {
|
||||
new_val = !new_val;
|
||||
} else if (x >= 10) {
|
||||
@@ -388,18 +389,19 @@ struct AISettingsWindow : public Window {
|
||||
this->clicked_increase = false;
|
||||
}
|
||||
|
||||
this->ai_config->SetSetting(config_item.name, new_val);
|
||||
this->clicked_button = num;
|
||||
this->timeout = 5;
|
||||
if (new_val != old_val) {
|
||||
this->ai_config->SetSetting(config_item.name, new_val);
|
||||
this->clicked_button = num;
|
||||
this->timeout = 5;
|
||||
|
||||
this->CheckDifficultyLevel();
|
||||
this->CheckDifficultyLevel();
|
||||
}
|
||||
} else if (!bool_item) {
|
||||
/* Display a query box so users can enter a custom value. */
|
||||
this->clicked_row = num;
|
||||
SetDParam(0, this->ai_config->GetSetting(config_item.name));
|
||||
ShowQueryString(STR_JUST_INT, STR_CONFIG_SETTING_QUERY_CAPTION, 10, 100, this, CS_NUMERAL, QSF_NONE);
|
||||
}
|
||||
|
||||
this->SetDirty();
|
||||
break;
|
||||
}
|
||||
@@ -816,9 +818,8 @@ struct AIDebugWindow : public QueryStringBaseWindow {
|
||||
/* Check if the currently selected company is still active. */
|
||||
if (ai_debug_company == INVALID_COMPANY || !Company::IsValidAiID(ai_debug_company)) {
|
||||
if (ai_debug_company != INVALID_COMPANY) {
|
||||
/* Raise and disable the widget for the previous selection. */
|
||||
/* Raise the widget for the previous selection. */
|
||||
this->RaiseWidget(ai_debug_company + AID_WIDGET_COMPANY_BUTTON_START);
|
||||
this->DisableWidget(ai_debug_company + AID_WIDGET_COMPANY_BUTTON_START);
|
||||
|
||||
ai_debug_company = INVALID_COMPANY;
|
||||
}
|
||||
@@ -848,9 +849,6 @@ struct AIDebugWindow : public QueryStringBaseWindow {
|
||||
|
||||
if (this->show_break_box) this->DrawEditBox(AID_WIDGET_BREAK_STR_EDIT_BOX);
|
||||
|
||||
/* If there are no active companies, don't display anything else. */
|
||||
if (ai_debug_company == INVALID_COMPANY) return;
|
||||
|
||||
/* Paint the company icons */
|
||||
for (CompanyID i = COMPANY_FIRST; i < MAX_COMPANIES; i++) {
|
||||
NWidgetCore *button = this->GetWidget<NWidgetCore>(i + AID_WIDGET_COMPANY_BUTTON_START);
|
||||
@@ -881,6 +879,9 @@ struct AIDebugWindow : public QueryStringBaseWindow {
|
||||
DrawCompanyIcon(i, button->pos_x + button->current_x / 2 - 7 + offset, this->GetWidget<NWidgetBase>(AID_WIDGET_COMPANY_BUTTON_START + i)->pos_y + 2 + offset);
|
||||
}
|
||||
|
||||
/* If there are no active companies, don't display anything else. */
|
||||
if (ai_debug_company == INVALID_COMPANY) return;
|
||||
|
||||
Backup<CompanyByte> cur_company(_current_company, ai_debug_company, FILE_LINE);
|
||||
AILog::LogData *log = (AILog::LogData *)AIObject::GetLogPointer();
|
||||
cur_company.Restore();
|
||||
|
@@ -131,7 +131,7 @@
|
||||
extern uint8 GetAirportNoiseLevelForTown(const AirportSpec *as, TileIndex town_tile, TileIndex tile);
|
||||
|
||||
if (!::IsValidTile(tile)) return -1;
|
||||
if (!IsValidAirportType(type)) return -1;
|
||||
if (!IsAirportInformationAvailable(type)) return -1;
|
||||
|
||||
if (_settings_game.economy.station_noise_level) {
|
||||
const AirportSpec *as = ::AirportSpec::Get(type);
|
||||
|
@@ -180,6 +180,7 @@ public:
|
||||
* built at this tile.
|
||||
* @param tile The tile to check.
|
||||
* @param type The AirportType to check.
|
||||
* @pre IsAirportInformationAvailable(type).
|
||||
* @return The amount of noise added to the nearest town.
|
||||
* @note The noise will be added to the town with TownID GetNearestTown(tile, type).
|
||||
*/
|
||||
|
@@ -15,6 +15,18 @@
|
||||
* functions may still be available if you return an older API version
|
||||
* in GetAPIVersion() in info.nut.
|
||||
*
|
||||
* \b 1.1.3
|
||||
*
|
||||
* No changes
|
||||
*
|
||||
* \b 1.1.2
|
||||
*
|
||||
* No changes
|
||||
*
|
||||
* \b 1.1.1
|
||||
*
|
||||
* No changes
|
||||
*
|
||||
* \b 1.1.0
|
||||
*
|
||||
* API additions:
|
||||
|
@@ -66,11 +66,11 @@ static const Order *ResolveOrder(VehicleID vehicle_id, AIOrder::OrderPosition or
|
||||
if (order_position == AIOrder::ORDER_INVALID) return NULL;
|
||||
}
|
||||
const Order *order = v->orders.list->GetFirstOrder();
|
||||
while (order->GetType() == OT_AUTOMATIC) order = order->next;
|
||||
while (order->GetType() == OT_IMPLICIT) order = order->next;
|
||||
while (order_position > 0) {
|
||||
order_position = (AIOrder::OrderPosition)(order_position - 1);
|
||||
order = order->next;
|
||||
while (order->GetType() == OT_AUTOMATIC) order = order->next;
|
||||
while (order->GetType() == OT_IMPLICIT) order = order->next;
|
||||
}
|
||||
return order;
|
||||
}
|
||||
@@ -135,12 +135,12 @@ static const Order *ResolveOrder(VehicleID vehicle_id, AIOrder::OrderPosition or
|
||||
int cur_order_pos = ::Vehicle::Get(vehicle_id)->cur_real_order_index;
|
||||
const Order *order = ::Vehicle::Get(vehicle_id)->GetOrder(0);
|
||||
if (order == NULL) return ORDER_INVALID;
|
||||
int num_automatic_orders = 0;
|
||||
int num_implicit_orders = 0;
|
||||
for (int i = 0; i < cur_order_pos; i++) {
|
||||
if (order->GetType() == OT_AUTOMATIC) num_automatic_orders++;
|
||||
if (order->GetType() == OT_IMPLICIT) num_implicit_orders++;
|
||||
order = order->next;
|
||||
}
|
||||
return (AIOrder::OrderPosition)(cur_order_pos - num_automatic_orders);
|
||||
return (AIOrder::OrderPosition)(cur_order_pos - num_implicit_orders);
|
||||
}
|
||||
return (order_position >= 0 && order_position < ::Vehicle::Get(vehicle_id)->GetNumManualOrders()) ? order_position : ORDER_INVALID;
|
||||
}
|
||||
|
@@ -14,6 +14,7 @@
|
||||
#include "ai_map.hpp"
|
||||
#include "ai_station.hpp"
|
||||
#include "ai_industrytype.hpp"
|
||||
#include "ai_cargo.hpp"
|
||||
#include "../../debug.h"
|
||||
#include "../../station_base.h"
|
||||
#include "../../company_func.h"
|
||||
@@ -170,6 +171,7 @@
|
||||
EnforcePrecondition(false, platform_length > 0 && platform_length <= 0xFF);
|
||||
EnforcePrecondition(false, IsRailTypeAvailable(GetCurrentRailType()));
|
||||
EnforcePrecondition(false, station_id == AIStation::STATION_NEW || station_id == AIStation::STATION_JOIN_ADJACENT || AIStation::IsValidStation(station_id));
|
||||
EnforcePrecondition(false, AICargo::IsValidCargo(cargo_id));
|
||||
EnforcePrecondition(false, source_industry == AIIndustryType::INDUSTRYTYPE_UNKNOWN || source_industry == AIIndustryType::INDUSTRYTYPE_TOWN || AIIndustryType::IsValidIndustryType(source_industry));
|
||||
EnforcePrecondition(false, goal_industry == AIIndustryType::INDUSTRYTYPE_UNKNOWN || goal_industry == AIIndustryType::INDUSTRYTYPE_TOWN || AIIndustryType::IsValidIndustryType(goal_industry));
|
||||
|
||||
|
@@ -279,6 +279,7 @@ public:
|
||||
* @pre num_platforms > 0 && num_platforms <= 255.
|
||||
* @pre platform_length > 0 && platform_length <= 255.
|
||||
* @pre station_id == AIStation::STATION_NEW || station_id == AIStation::STATION_JOIN_ADJACENT || AIStation::IsValidStation(station_id).
|
||||
* @pre AICargo::IsValidCargo(cargo_type)
|
||||
* @pre source_industry == AIIndustryType::INDUSTRYTYPE_UNKNOWN || source_industry == AIIndustryType::INDUSTRYTYPE_TOWN || AIIndustryType::IsValidIndustryType(source_industry).
|
||||
* @pre goal_industry == AIIndustryType::INDUSTRYTYPE_UNKNOWN || goal_industry == AIIndustryType::INDUSTRYTYPE_TOWN || AIIndustryType::IsValidIndustryType(goal_industry).
|
||||
* @exception AIError::ERR_OWNED_BY_ANOTHER_COMPANY
|
||||
|
@@ -117,7 +117,8 @@ public:
|
||||
|
||||
/**
|
||||
* Find out if this station is within the rating influence of a town.
|
||||
* Stations within the radius influence the rating of the town.
|
||||
* The service quality of stations with signs within this radius
|
||||
* influences the rating of the town.
|
||||
* @param station_id The station to check.
|
||||
* @param town_id The town to check.
|
||||
* @return True if the tile is within the rating influence of the town.
|
||||
|
@@ -13,6 +13,7 @@
|
||||
#include "ai_tile.hpp"
|
||||
#include "ai_map.hpp"
|
||||
#include "ai_town.hpp"
|
||||
#include "ai_cargo.hpp"
|
||||
#include "../../station_func.h"
|
||||
#include "../../company_func.h"
|
||||
#include "../../water_map.h"
|
||||
@@ -192,7 +193,7 @@
|
||||
|
||||
/* static */ int32 AITile::GetCargoAcceptance(TileIndex tile, CargoID cargo_type, int width, int height, int radius)
|
||||
{
|
||||
if (!::IsValidTile(tile) || width <= 0 || height <= 0 || radius < 0) return -1;
|
||||
if (!::IsValidTile(tile) || width <= 0 || height <= 0 || radius < 0 || !AICargo::IsValidCargo(cargo_type)) return -1;
|
||||
|
||||
CargoArray acceptance = ::GetAcceptanceAroundTiles(tile, width, height, _settings_game.station.modified_catchment ? radius : (int)CA_UNMODIFIED);
|
||||
return acceptance[cargo_type];
|
||||
@@ -200,7 +201,7 @@
|
||||
|
||||
/* static */ int32 AITile::GetCargoProduction(TileIndex tile, CargoID cargo_type, int width, int height, int radius)
|
||||
{
|
||||
if (!::IsValidTile(tile) || width <= 0 || height <= 0 || radius < 0) return -1;
|
||||
if (!::IsValidTile(tile) || width <= 0 || height <= 0 || radius < 0 || !AICargo::IsValidCargo(cargo_type)) return -1;
|
||||
|
||||
CargoArray produced = ::GetProductionAroundTiles(tile, width, height, _settings_game.station.modified_catchment ? radius : (int)CA_UNMODIFIED);
|
||||
return produced[cargo_type];
|
||||
|
@@ -319,6 +319,7 @@ public:
|
||||
* @param height The height of the station.
|
||||
* @param radius The radius of the station.
|
||||
* @pre AIMap::IsValidTile(tile).
|
||||
* @pre AICargo::IsValidCargo(cargo_type)
|
||||
* @pre width > 0.
|
||||
* @pre height > 0.
|
||||
* @pre radius >= 0.
|
||||
@@ -335,6 +336,7 @@ public:
|
||||
* @param height The height of the station.
|
||||
* @param radius The radius of the station.
|
||||
* @pre AIMap::IsValidTile(tile).
|
||||
* @pre AICargo::IsValidCargo(cargo_type)
|
||||
* @pre width > 0.
|
||||
* @pre height > 0.
|
||||
* @pre radius >= 0.
|
||||
@@ -439,7 +441,8 @@ public:
|
||||
|
||||
/**
|
||||
* Find out if this tile is within the rating influence of a town.
|
||||
* Stations on this tile influence the rating of the town.
|
||||
* If a station sign would be on this tile, the servicing quality of the station would
|
||||
* influence the rating of the town.
|
||||
* @param tile The tile to check.
|
||||
* @param town_id The town to check.
|
||||
* @return True if the tile is within the rating influence of the town.
|
||||
|
@@ -209,7 +209,8 @@ public:
|
||||
|
||||
/**
|
||||
* Find out if this tile is within the rating influence of a town.
|
||||
* Stations on this tile influence the rating of the town.
|
||||
* If a station sign would be on this tile, the servicing quality of the station would
|
||||
* influence the rating of the town.
|
||||
* @param town_id The town to check.
|
||||
* @param tile The tile to check.
|
||||
* @pre IsValidTown(town_id).
|
||||
|
@@ -31,7 +31,7 @@ void GetAircraftSpriteSize(EngineID engine, uint &width, uint &height);
|
||||
void UpdateAirplanesOnNewStation(const Station *st);
|
||||
void UpdateAircraftCache(Aircraft *v);
|
||||
|
||||
void AircraftLeaveHangar(Aircraft *v);
|
||||
void AircraftLeaveHangar(Aircraft *v, Direction exit_dir);
|
||||
void AircraftNextAirportPos_and_Order(Aircraft *v);
|
||||
void SetAircraftPosition(Aircraft *v, int x, int y, int z);
|
||||
byte GetAircraftFlyingAltitude(const Aircraft *v);
|
||||
|
@@ -1243,12 +1243,20 @@ void AircraftNextAirportPos_and_Order(Aircraft *v)
|
||||
v->pos = v->previous_pos = AircraftGetEntryPoint(v, apc, rotation);
|
||||
}
|
||||
|
||||
void AircraftLeaveHangar(Aircraft *v)
|
||||
/**
|
||||
* Aircraft is about to leave the hangar.
|
||||
* @param v Aircraft leaving.
|
||||
* @param exit_dir The direction the vehicle leaves the hangar.
|
||||
* @note This function is called in AfterLoadGame for old savegames, so don't rely
|
||||
* on any data to be valid, especially don't rely on the fact that the vehicle
|
||||
* is actually on the ground inside a depot.
|
||||
*/
|
||||
void AircraftLeaveHangar(Aircraft *v, Direction exit_dir)
|
||||
{
|
||||
v->cur_speed = 0;
|
||||
v->subspeed = 0;
|
||||
v->progress = 0;
|
||||
v->direction = DIR_SE;
|
||||
v->direction = exit_dir;
|
||||
v->vehstatus &= ~VS_HIDDEN;
|
||||
{
|
||||
Vehicle *u = v->Next();
|
||||
@@ -1311,6 +1319,12 @@ static void AircraftEventHandler_InHangar(Aircraft *v, const AirportFTAClass *ap
|
||||
!v->current_order.IsType(OT_GOTO_DEPOT))
|
||||
return;
|
||||
|
||||
/* We are leaving a hangar, but have to go to the exact same one; re-enter */
|
||||
if (v->current_order.IsType(OT_GOTO_DEPOT) && v->current_order.GetDestination() == v->targetairport) {
|
||||
VehicleEnterDepot(v);
|
||||
return;
|
||||
}
|
||||
|
||||
/* if the block of the next position is busy, stay put */
|
||||
if (AirportHasBlock(v, &apc->layout[v->pos], apc)) return;
|
||||
|
||||
@@ -1327,7 +1341,8 @@ static void AircraftEventHandler_InHangar(Aircraft *v, const AirportFTAClass *ap
|
||||
/* airplane goto state takeoff, helicopter to helitakeoff */
|
||||
v->state = (v->subtype == AIR_HELICOPTER) ? HELITAKEOFF : TAKEOFF;
|
||||
}
|
||||
AircraftLeaveHangar(v);
|
||||
const Station *st = Station::GetByTile(v->tile);
|
||||
AircraftLeaveHangar(v, st->airport.GetHangarExitDirection(v->tile));
|
||||
AirportMove(v, apc);
|
||||
}
|
||||
|
||||
|
@@ -26,6 +26,7 @@
|
||||
#include "widgets/dropdown_type.h"
|
||||
#include "core/geometry_func.hpp"
|
||||
#include "hotkeys.h"
|
||||
#include "vehicle_func.h"
|
||||
#include "sprite.h"
|
||||
|
||||
#include "table/strings.h"
|
||||
@@ -195,6 +196,7 @@ Window *ShowBuildAirToolbar()
|
||||
|
||||
EventState AirportToolbarGlobalHotkeys(uint16 key, uint16 keycode)
|
||||
{
|
||||
if (!CanBuildVehicleInfrastructure(VEH_AIRCRAFT)) return ES_NOT_HANDLED;
|
||||
int num = CheckHotkeyMatch<BuildAirToolbarWindow>(_airtoolbar_hotkeys, keycode, NULL, true);
|
||||
if (num == -1) return ES_NOT_HANDLED;
|
||||
Window *w = ShowBuildAirToolbar();
|
||||
@@ -422,11 +424,6 @@ public:
|
||||
_selected_airport_index = airport_index;
|
||||
_selected_airport_layout = 0;
|
||||
|
||||
if (_selected_airport_index != -1) {
|
||||
const AirportSpec *as = AirportClass::Get(_selected_airport_class, _selected_airport_index);
|
||||
this->preview_sprite = GetCustomAirportSprite(as, _selected_airport_layout);
|
||||
}
|
||||
|
||||
this->UpdateSelectSize();
|
||||
this->SetDirty();
|
||||
}
|
||||
@@ -445,6 +442,8 @@ public:
|
||||
if (rotation == DIR_E || rotation == DIR_W) Swap(w, h);
|
||||
SetTileSelectSize(w, h);
|
||||
|
||||
this->preview_sprite = GetCustomAirportSprite(as, _selected_airport_layout);
|
||||
|
||||
this->SetWidgetDisabledState(BAIRW_LAYOUT_DECREASE, _selected_airport_layout == 0);
|
||||
this->SetWidgetDisabledState(BAIRW_LAYOUT_INCREASE, _selected_airport_layout + 1 >= as->num_table);
|
||||
|
||||
@@ -578,7 +577,7 @@ static const NWidgetPart _nested_build_airport_widgets[] = {
|
||||
static const WindowDesc _build_airport_desc(
|
||||
WDP_AUTO, 0, 0,
|
||||
WC_BUILD_STATION, WC_BUILD_TOOLBAR,
|
||||
WDF_CONSTRUCTION,
|
||||
WDF_CONSTRUCTION | WDF_UNCLICK_BUTTONS,
|
||||
_nested_build_airport_widgets, lengthof(_nested_build_airport_widgets)
|
||||
);
|
||||
|
||||
@@ -590,4 +589,5 @@ static void ShowBuildAirportPicker(Window *parent)
|
||||
void InitializeAirportGui()
|
||||
{
|
||||
_selected_airport_class = APC_BEGIN;
|
||||
_selected_airport_index = -1;
|
||||
}
|
||||
|
@@ -213,29 +213,35 @@ static CargoID GetNewCargoTypeForReplace(Vehicle *v, EngineID engine_type, bool
|
||||
* Get the EngineID of the replacement for a vehicle
|
||||
* @param v The vehicle to find a replacement for
|
||||
* @param c The vehicle's owner (it's faster to forward the pointer than refinding it)
|
||||
* @return the EngineID of the replacement. INVALID_ENGINE if no buildable replacement is found
|
||||
* @param [out] e the EngineID of the replacement. INVALID_ENGINE if no replacement is found
|
||||
* @return Error if the engine to build is not available
|
||||
*/
|
||||
static EngineID GetNewEngineType(const Vehicle *v, const Company *c)
|
||||
static CommandCost GetNewEngineType(const Vehicle *v, const Company *c, EngineID &e)
|
||||
{
|
||||
assert(v->type != VEH_TRAIN || !v->IsArticulatedPart());
|
||||
|
||||
e = INVALID_ENGINE;
|
||||
|
||||
if (v->type == VEH_TRAIN && Train::From(v)->IsRearDualheaded()) {
|
||||
/* we build the rear ends of multiheaded trains with the front ones */
|
||||
return INVALID_ENGINE;
|
||||
return CommandCost();
|
||||
}
|
||||
|
||||
EngineID e = EngineReplacementForCompany(c, v->engine_type, v->group_id);
|
||||
e = EngineReplacementForCompany(c, v->engine_type, v->group_id);
|
||||
|
||||
/* Autoreplace, if engine is available */
|
||||
if (e != INVALID_ENGINE && IsEngineBuildable(e, v->type, _current_company)) {
|
||||
return e;
|
||||
return CommandCost();
|
||||
}
|
||||
|
||||
if (v->NeedsAutorenewing(c) && // replace if engine is too old
|
||||
IsEngineBuildable(v->engine_type, v->type, _current_company)) { // engine can still be build
|
||||
return v->engine_type;
|
||||
}
|
||||
/* Autorenew if needed */
|
||||
if (v->NeedsAutorenewing(c)) e = v->engine_type;
|
||||
|
||||
return INVALID_ENGINE;
|
||||
/* Nothing to do or all is fine? */
|
||||
if (e == INVALID_ENGINE || IsEngineBuildable(e, v->type, _current_company)) return CommandCost();
|
||||
|
||||
/* The engine we need is not available. Report error to user */
|
||||
return CommandCost(STR_ERROR_RAIL_VEHICLE_NOT_AVAILABLE + v->type);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -252,7 +258,9 @@ static CommandCost BuildReplacementVehicle(Vehicle *old_veh, Vehicle **new_vehic
|
||||
|
||||
/* Shall the vehicle be replaced? */
|
||||
const Company *c = Company::Get(_current_company);
|
||||
EngineID e = GetNewEngineType(old_veh, c);
|
||||
EngineID e;
|
||||
CommandCost cost = GetNewEngineType(old_veh, c, e);
|
||||
if (cost.Failed()) return cost;
|
||||
if (e == INVALID_ENGINE) return CommandCost(); // neither autoreplace is set, nor autorenew is triggered
|
||||
|
||||
/* Does it need to be refitted */
|
||||
@@ -260,7 +268,7 @@ static CommandCost BuildReplacementVehicle(Vehicle *old_veh, Vehicle **new_vehic
|
||||
if (refit_cargo == CT_INVALID) return CommandCost(); // incompatible cargos
|
||||
|
||||
/* Build the new vehicle */
|
||||
CommandCost cost = DoCommand(old_veh->tile, e, 0, DC_EXEC | DC_AUTOREPLACE, GetCmdBuildVeh(old_veh));
|
||||
cost = DoCommand(old_veh->tile, e, 0, DC_EXEC | DC_AUTOREPLACE, GetCmdBuildVeh(old_veh));
|
||||
if (cost.Failed()) return cost;
|
||||
|
||||
Vehicle *new_veh = Vehicle::Get(_new_vehicle_id);
|
||||
@@ -662,8 +670,11 @@ CommandCost CmdAutoreplaceVehicle(TileIndex tile, DoCommandFlag flags, uint32 p1
|
||||
/* Test whether any replacement is set, before issuing a whole lot of commands that would end in nothing changed */
|
||||
Vehicle *w = v;
|
||||
bool any_replacements = false;
|
||||
while (w != NULL && !any_replacements) {
|
||||
any_replacements = (GetNewEngineType(w, c) != INVALID_ENGINE);
|
||||
while (w != NULL) {
|
||||
EngineID e;
|
||||
CommandCost cost = GetNewEngineType(w, c, e);
|
||||
if (cost.Failed()) return cost;
|
||||
any_replacements |= (e != INVALID_ENGINE);
|
||||
w = (!free_wagon && w->type == VEH_TRAIN ? Train::From(w)->GetNextUnit() : NULL);
|
||||
}
|
||||
|
||||
@@ -731,7 +742,7 @@ CommandCost CmdSetAutoReplace(TileIndex tile, DoCommandFlag flags, uint32 p1, ui
|
||||
GroupID id_g = GB(p1, 16, 16);
|
||||
CommandCost cost;
|
||||
|
||||
if (!Group::IsValidID(id_g) && !IsAllGroupID(id_g) && !IsDefaultGroupID(id_g)) return CMD_ERROR;
|
||||
if (Group::IsValidID(id_g) ? Group::Get(id_g)->owner != _current_company : !IsAllGroupID(id_g) && !IsDefaultGroupID(id_g)) return CMD_ERROR;
|
||||
if (!Engine::IsValidID(old_engine_type)) return CMD_ERROR;
|
||||
|
||||
if (new_engine_type != INVALID_ENGINE) {
|
||||
|
154
src/bmp.cpp
@@ -13,6 +13,7 @@
|
||||
#include "bmp.h"
|
||||
#include "core/bitmath_func.hpp"
|
||||
#include "core/alloc_func.hpp"
|
||||
#include "core/mem_func.hpp"
|
||||
|
||||
void BmpInitializeBuffer(BmpBuffer *buffer, FILE *file)
|
||||
{
|
||||
@@ -129,53 +130,63 @@ static inline bool BmpRead4(BmpBuffer *buffer, BmpInfo *info, BmpData *data)
|
||||
*/
|
||||
static inline bool BmpRead4Rle(BmpBuffer *buffer, BmpInfo *info, BmpData *data)
|
||||
{
|
||||
uint i;
|
||||
uint x = 0;
|
||||
uint y = info->height - 1;
|
||||
byte n, c, b;
|
||||
byte *pixel = &data->bitmap[y * info->width];
|
||||
while (y != 0 || x < info->width) {
|
||||
if (EndOfBuffer(buffer)) return false; // the file is shorter than expected
|
||||
n = ReadByte(buffer);
|
||||
c = ReadByte(buffer);
|
||||
|
||||
byte n = ReadByte(buffer);
|
||||
byte c = ReadByte(buffer);
|
||||
if (n == 0) {
|
||||
switch (c) {
|
||||
case 0: // end of line
|
||||
x = 0;
|
||||
pixel = &data->bitmap[--y * info->width];
|
||||
break;
|
||||
case 1: // end of bitmap
|
||||
x = info->width;
|
||||
y = 0;
|
||||
pixel = NULL;
|
||||
break;
|
||||
case 2: // delta
|
||||
x += ReadByte(buffer);
|
||||
i = ReadByte(buffer);
|
||||
if (x >= info->width || (y == 0 && i > 0)) return false;
|
||||
y -= i;
|
||||
pixel = &data->bitmap[y * info->width + x];
|
||||
break;
|
||||
default: // uncompressed
|
||||
i = 0;
|
||||
while (i++ < c) {
|
||||
if (EndOfBuffer(buffer) || x >= info->width) return false;
|
||||
b = ReadByte(buffer);
|
||||
*pixel++ = GB(b, 4, 4);
|
||||
x++;
|
||||
if (x < info->width && i++ < c) {
|
||||
*pixel++ = GB(b, 0, 4);
|
||||
x++;
|
||||
}
|
||||
case 0: // end of line
|
||||
x = 0;
|
||||
if (y == 0) return false;
|
||||
pixel = &data->bitmap[--y * info->width];
|
||||
break;
|
||||
|
||||
case 1: // end of bitmap
|
||||
return true;
|
||||
|
||||
case 2: { // delta
|
||||
if (EndOfBuffer(buffer)) return false;
|
||||
byte dx = ReadByte(buffer);
|
||||
byte dy = ReadByte(buffer);
|
||||
|
||||
/* Check for over- and underflow. */
|
||||
if (x + dx >= info->width || x + dx < x || dy > y) return false;
|
||||
|
||||
x += dx;
|
||||
y -= dy;
|
||||
pixel = &data->bitmap[y * info->width + x];
|
||||
break;
|
||||
}
|
||||
|
||||
default: { // uncompressed
|
||||
uint i = 0;
|
||||
while (i++ < c) {
|
||||
if (EndOfBuffer(buffer) || x >= info->width) return false;
|
||||
byte b = ReadByte(buffer);
|
||||
*pixel++ = GB(b, 4, 4);
|
||||
x++;
|
||||
if (i++ < c) {
|
||||
if (x >= info->width) return false;
|
||||
*pixel++ = GB(b, 0, 4);
|
||||
x++;
|
||||
}
|
||||
}
|
||||
/* Padding for 16 bit align */
|
||||
SkipBytes(buffer, ((c + 1) / 2) % 2);
|
||||
break;
|
||||
}
|
||||
/* Padding for 16 bit align */
|
||||
SkipBytes(buffer, ((c + 1) / 2) % 2);
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
i = 0;
|
||||
while (i++ < n) {
|
||||
if (EndOfBuffer(buffer) || x >= info->width) return false;
|
||||
/* Apparently it is common to encounter BMPs where the count of
|
||||
* pixels to be written is higher than the remaining line width.
|
||||
* Ignore the superfluous pixels instead of reporting an error. */
|
||||
uint i = 0;
|
||||
while (x < info->width && i++ < n) {
|
||||
*pixel++ = GB(c, 4, 4);
|
||||
x++;
|
||||
if (x < info->width && i++ < n) {
|
||||
@@ -212,43 +223,55 @@ static inline bool BmpRead8(BmpBuffer *buffer, BmpInfo *info, BmpData *data)
|
||||
*/
|
||||
static inline bool BmpRead8Rle(BmpBuffer *buffer, BmpInfo *info, BmpData *data)
|
||||
{
|
||||
uint i;
|
||||
uint x = 0;
|
||||
uint y = info->height - 1;
|
||||
byte n, c;
|
||||
byte *pixel = &data->bitmap[y * info->width];
|
||||
while (y != 0 || x < info->width) {
|
||||
if (EndOfBuffer(buffer)) return false; // the file is shorter than expected
|
||||
n = ReadByte(buffer);
|
||||
c = ReadByte(buffer);
|
||||
|
||||
byte n = ReadByte(buffer);
|
||||
byte c = ReadByte(buffer);
|
||||
if (n == 0) {
|
||||
switch (c) {
|
||||
case 0: // end of line
|
||||
x = 0;
|
||||
pixel = &data->bitmap[--y * info->width];
|
||||
break;
|
||||
case 1: // end of bitmap
|
||||
x = info->width;
|
||||
y = 0;
|
||||
pixel = NULL;
|
||||
break;
|
||||
case 2: // delta
|
||||
x += ReadByte(buffer);
|
||||
i = ReadByte(buffer);
|
||||
if (x >= info->width || (y == 0 && i > 0)) return false;
|
||||
y -= i;
|
||||
pixel = &data->bitmap[y * info->width + x];
|
||||
break;
|
||||
default: // uncompressed
|
||||
if ((x += c) > info->width) return false;
|
||||
for (i = 0; i < c; i++) *pixel++ = ReadByte(buffer);
|
||||
/* Padding for 16 bit align */
|
||||
SkipBytes(buffer, c % 2);
|
||||
break;
|
||||
case 0: // end of line
|
||||
x = 0;
|
||||
if (y == 0) return false;
|
||||
pixel = &data->bitmap[--y * info->width];
|
||||
break;
|
||||
|
||||
case 1: // end of bitmap
|
||||
return true;
|
||||
|
||||
case 2: { // delta
|
||||
if (EndOfBuffer(buffer)) return false;
|
||||
byte dx = ReadByte(buffer);
|
||||
byte dy = ReadByte(buffer);
|
||||
|
||||
/* Check for over- and underflow. */
|
||||
if (x + dx >= info->width || x + dx < x || dy > y) return false;
|
||||
|
||||
x += dx;
|
||||
y -= dy;
|
||||
pixel = &data->bitmap[y * info->width + x];
|
||||
break;
|
||||
}
|
||||
|
||||
default: { // uncompressed
|
||||
for (uint i = 0; i < c; i++) {
|
||||
if (EndOfBuffer(buffer) || x >= info->width) return false;
|
||||
*pixel++ = ReadByte(buffer);
|
||||
x++;
|
||||
}
|
||||
/* Padding for 16 bit align */
|
||||
SkipBytes(buffer, c % 2);
|
||||
break;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
for (i = 0; i < n; i++) {
|
||||
if (x >= info->width) return false;
|
||||
/* Apparently it is common to encounter BMPs where the count of
|
||||
* pixels to be written is higher than the remaining line width.
|
||||
* Ignore the superfluous pixels instead of reporting an error. */
|
||||
for (uint i = 0; x < info->width && i < n; i++) {
|
||||
*pixel++ = c;
|
||||
x++;
|
||||
}
|
||||
@@ -287,6 +310,7 @@ bool BmpReadHeader(BmpBuffer *buffer, BmpInfo *info, BmpData *data)
|
||||
{
|
||||
uint32 header_size;
|
||||
assert(info != NULL);
|
||||
MemSetT(info, 0);
|
||||
|
||||
/* Reading BMP header */
|
||||
if (ReadWord(buffer) != 0x4D42) return false; // signature should be 'BM'
|
||||
|
@@ -420,7 +420,11 @@ void ShowBuildBridgeWindow(TileIndex start, TileIndex end, TransportType transpo
|
||||
|
||||
Money infra_cost = 0;
|
||||
switch (transport_type) {
|
||||
case TRANSPORT_ROAD: infra_cost = (bridge_len + 2) * _price[PR_BUILD_ROAD] * 2; break;
|
||||
case TRANSPORT_ROAD:
|
||||
infra_cost = (bridge_len + 2) * _price[PR_BUILD_ROAD] * 2;
|
||||
/* In case we add a new road type as well, we must be aware of those costs. */
|
||||
if (IsBridgeTile(start)) infra_cost *= CountBits(GetRoadTypes(start) | (RoadTypes)road_rail_type);
|
||||
break;
|
||||
case TRANSPORT_RAIL: infra_cost = (bridge_len + 2) * RailBuildCost((RailType)road_rail_type); break;
|
||||
default: break;
|
||||
}
|
||||
|
@@ -21,6 +21,7 @@
|
||||
#include "newgrf_engine.h"
|
||||
#include "newgrf_text.h"
|
||||
#include "group.h"
|
||||
#include "string_func.h"
|
||||
#include "strings_func.h"
|
||||
#include "window_func.h"
|
||||
#include "date_func.h"
|
||||
@@ -739,7 +740,7 @@ static uint ShowAdditionalText(int left, int right, int y, EngineID engine)
|
||||
|
||||
/* STR_BLACK_STRING is used to start the string with {BLACK} */
|
||||
SetDParam(0, GetGRFStringID(GetEngineGRFID(engine), 0xD000 + callback));
|
||||
PrepareTextRefStackUsage(0);
|
||||
StartTextRefStackUsage(0);
|
||||
uint result = DrawStringMultiLine(left, right, y, INT32_MAX, STR_BLACK_STRING);
|
||||
StopTextRefStackUsage();
|
||||
return result;
|
||||
|
@@ -216,7 +216,7 @@ void CargoList<Tinst>::Truncate(uint max_remaining)
|
||||
CargoPacket *cp = *it;
|
||||
if (max_remaining == 0) {
|
||||
/* Nothing should remain, just remove the packets. */
|
||||
this->packets.erase(it++);
|
||||
it = this->packets.erase(it);
|
||||
static_cast<Tinst *>(this)->RemoveFromCache(cp);
|
||||
delete cp;
|
||||
continue;
|
||||
@@ -276,7 +276,7 @@ bool CargoList<Tinst>::MoveTo(Tother_inst *dest, uint max_move, MoveToAction mta
|
||||
if (cp->count <= max_move) {
|
||||
/* Can move the complete packet */
|
||||
max_move -= cp->count;
|
||||
this->packets.erase(it++);
|
||||
it = this->packets.erase(it);
|
||||
static_cast<Tinst *>(this)->RemoveFromCache(cp);
|
||||
switch (mta) {
|
||||
case MTA_FINAL_DELIVERY:
|
||||
|
@@ -13,6 +13,7 @@
|
||||
#include "cargotype.h"
|
||||
#include "core/bitmath_func.hpp"
|
||||
#include "newgrf_cargo.h"
|
||||
#include "string_func.h"
|
||||
#include "strings_func.h"
|
||||
#include "core/sort_func.hpp"
|
||||
|
||||
|
@@ -530,7 +530,7 @@ bool DoCommandP(TileIndex tile, uint32 p1, uint32 p2, uint32 cmd, CommandCallbac
|
||||
/* Only show the error when it's for us. */
|
||||
StringID error_part1 = GB(cmd, 16, 16);
|
||||
if (estimate_only || (IsLocalCompany() && error_part1 != 0 && my_cmd)) {
|
||||
ShowErrorMessage(error_part1, res.GetErrorMessage(), WL_INFO, x, y);
|
||||
ShowErrorMessage(error_part1, res.GetErrorMessage(), WL_INFO, x, y, res.GetTextRefStackSize(), res.GetTextRefStack());
|
||||
}
|
||||
} else if (estimate_only) {
|
||||
ShowEstimatedCostOrIncome(res.GetCost(), x, y);
|
||||
@@ -735,3 +735,25 @@ void CommandCost::AddCost(const CommandCost &ret)
|
||||
this->success = false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Values to put on the #TextRefStack for the error message.
|
||||
* There is only one static instance of the array, just like there is only one
|
||||
* instance of normal DParams.
|
||||
*/
|
||||
uint32 CommandCost::textref_stack[16];
|
||||
|
||||
/**
|
||||
* Activate usage of the NewGRF #TextRefStack for the error message.
|
||||
* @param number of entries to copy from the temporary NewGRF registers
|
||||
*/
|
||||
void CommandCost::UseTextRefStack(uint num_registers)
|
||||
{
|
||||
extern TemporaryStorageArray<int32, 0x110> _temp_store;
|
||||
|
||||
assert(num_registers < lengthof(textref_stack));
|
||||
this->textref_stack_size = num_registers;
|
||||
for (uint i = 0; i < num_registers; i++) {
|
||||
textref_stack[i] = _temp_store.Get(0x100 + i);
|
||||
}
|
||||
}
|
||||
|
@@ -25,30 +25,33 @@ class CommandCost {
|
||||
Money cost; ///< The cost of this action
|
||||
StringID message; ///< Warning message for when success is unset
|
||||
bool success; ///< Whether the comment went fine up to this moment
|
||||
uint textref_stack_size; ///< Number of uint32 values to put on the #TextRefStack for the error message.
|
||||
|
||||
static uint32 textref_stack[16];
|
||||
|
||||
public:
|
||||
/**
|
||||
* Creates a command cost return with no cost and no error
|
||||
*/
|
||||
CommandCost() : expense_type(INVALID_EXPENSES), cost(0), message(INVALID_STRING_ID), success(true) {}
|
||||
CommandCost() : expense_type(INVALID_EXPENSES), cost(0), message(INVALID_STRING_ID), success(true), textref_stack_size(0) {}
|
||||
|
||||
/**
|
||||
* Creates a command return value the is failed with the given message
|
||||
*/
|
||||
explicit CommandCost(StringID msg) : expense_type(INVALID_EXPENSES), cost(0), message(msg), success(false) {}
|
||||
explicit CommandCost(StringID msg) : expense_type(INVALID_EXPENSES), cost(0), message(msg), success(false), textref_stack_size(0) {}
|
||||
|
||||
/**
|
||||
* Creates a command cost with given expense type and start cost of 0
|
||||
* @param ex_t the expense type
|
||||
*/
|
||||
explicit CommandCost(ExpensesType ex_t) : expense_type(ex_t), cost(0), message(INVALID_STRING_ID), success(true) {}
|
||||
explicit CommandCost(ExpensesType ex_t) : expense_type(ex_t), cost(0), message(INVALID_STRING_ID), success(true), textref_stack_size(0) {}
|
||||
|
||||
/**
|
||||
* Creates a command return value with the given start cost and expense type
|
||||
* @param ex_t the expense type
|
||||
* @param cst the initial cost of this command
|
||||
*/
|
||||
CommandCost(ExpensesType ex_t, const Money &cst) : expense_type(ex_t), cost(cst), message(INVALID_STRING_ID), success(true) {}
|
||||
CommandCost(ExpensesType ex_t, const Money &cst) : expense_type(ex_t), cost(cst), message(INVALID_STRING_ID), success(true), textref_stack_size(0) {}
|
||||
|
||||
|
||||
/**
|
||||
@@ -100,6 +103,26 @@ public:
|
||||
this->message = message;
|
||||
}
|
||||
|
||||
void UseTextRefStack(uint num_registers);
|
||||
|
||||
/**
|
||||
* Returns the number of uint32 values for the #TextRefStack of the error message.
|
||||
* @return number of uint32 values.
|
||||
*/
|
||||
uint GetTextRefStackSize() const
|
||||
{
|
||||
return this->textref_stack_size;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a pointer to the values for the #TextRefStack of the error message.
|
||||
* @return uint32 values for the #TextRefStack
|
||||
*/
|
||||
const uint32 *GetTextRefStack() const
|
||||
{
|
||||
return textref_stack;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the error message of a command
|
||||
* @return the error message, if succeeded #INVALID_STRING_ID
|
||||
|
@@ -556,7 +556,7 @@ Company *DoStartupNewCompany(bool is_ai, CompanyID company = INVALID_COMPANY)
|
||||
GeneratePresidentName(c);
|
||||
|
||||
SetWindowDirty(WC_GRAPH_LEGEND, 0);
|
||||
SetWindowDirty(WC_TOOLBAR_MENU, 0);
|
||||
SetWindowClassesDirty(WC_CLIENT_LIST_POPUP);
|
||||
SetWindowDirty(WC_CLIENT_LIST, 0);
|
||||
BuildOwnerLegend();
|
||||
InvalidateWindowData(WC_SMALLMAP, 0, 1);
|
||||
@@ -813,7 +813,7 @@ CommandCost CmdCompanyCtrl(TileIndex tile, DoCommandFlag flags, uint32 p1, uint3
|
||||
#ifdef ENABLE_NETWORK
|
||||
/* Has the network client a correct ClientIndex? */
|
||||
if (!(flags & DC_EXEC)) return CommandCost();
|
||||
NetworkClientInfo *ci = NetworkFindClientInfoFromClientID(client_id);
|
||||
NetworkClientInfo *ci = NetworkClientInfo::GetByClientID(client_id);
|
||||
if (ci == NULL) return CommandCost();
|
||||
|
||||
/* Delete multiplayer progress bar */
|
||||
|
@@ -1824,6 +1824,15 @@ struct CompanyWindow : Window
|
||||
virtual void UpdateWidgetSize(int widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize)
|
||||
{
|
||||
switch (widget) {
|
||||
case CW_WIDGET_DESC_COLOUR_SCHEME_EXAMPLE: {
|
||||
Point offset;
|
||||
Dimension d = GetSpriteSize(SPR_VEH_BUS_SW_VIEW, &offset);
|
||||
d.width -= offset.x;
|
||||
d.height -= offset.y;
|
||||
*size = maxdim(*size, d);
|
||||
break;
|
||||
}
|
||||
|
||||
case CW_WIDGET_DESC_COMPANY_VALUE:
|
||||
SetDParam(0, INT64_MAX); // Arguably the maximum company value
|
||||
size->width = GetStringBoundingBox(STR_COMPANY_VIEW_COMPANY_VALUE).width;
|
||||
@@ -1869,9 +1878,13 @@ struct CompanyWindow : Window
|
||||
DrawStringMultiLine(r.left, r.right, r.top, r.bottom, STR_COMPANY_VIEW_PRESIDENT_MANAGER_TITLE, TC_FROMSTRING, SA_CENTER);
|
||||
break;
|
||||
|
||||
case CW_WIDGET_DESC_COLOUR_SCHEME_EXAMPLE:
|
||||
DrawSprite(SPR_VEH_BUS_SW_VIEW, COMPANY_SPRITE_COLOUR(c->index), (r.left + r.right) / 2, r.top + FONT_HEIGHT_NORMAL / 10);
|
||||
case CW_WIDGET_DESC_COLOUR_SCHEME_EXAMPLE: {
|
||||
Point offset;
|
||||
Dimension d = GetSpriteSize(SPR_VEH_BUS_SW_VIEW, &offset);
|
||||
d.height -= offset.y;
|
||||
DrawSprite(SPR_VEH_BUS_SW_VIEW, COMPANY_SPRITE_COLOUR(c->index), r.left - offset.x, (r.top + r.bottom - d.height) / 2 - offset.y);
|
||||
break;
|
||||
}
|
||||
|
||||
case CW_WIDGET_DESC_VEHICLE_COUNTS: {
|
||||
uint amounts[4];
|
||||
|
@@ -490,17 +490,21 @@ DEF_CONSOLE_CMD(ConClearBuffer)
|
||||
|
||||
static bool ConKickOrBan(const char *argv, bool ban)
|
||||
{
|
||||
const char *ip = argv;
|
||||
uint n;
|
||||
|
||||
if (strchr(argv, '.') == NULL && strchr(argv, ':') == NULL) { // banning with ID
|
||||
ClientID client_id = (ClientID)atoi(argv);
|
||||
|
||||
if (client_id == CLIENT_ID_SERVER) {
|
||||
/* Don't kill the server, or the client doing the rcon. The latter can't be kicked because
|
||||
* kicking frees closes and subsequently free the connection related instances, which we
|
||||
* would be reading from and writing to after returning. So we would read or write data
|
||||
* from freed memory up till the segfault triggers. */
|
||||
if (client_id == CLIENT_ID_SERVER || client_id == _redirect_console_to_client) {
|
||||
IConsolePrintF(CC_ERROR, "ERROR: Silly boy, you can not %s yourself!", ban ? "ban" : "kick");
|
||||
return true;
|
||||
}
|
||||
|
||||
NetworkClientInfo *ci = NetworkFindClientInfoFromClientID(client_id);
|
||||
NetworkClientInfo *ci = NetworkClientInfo::GetByClientID(client_id);
|
||||
if (ci == NULL) {
|
||||
IConsoleError("Invalid client");
|
||||
return true;
|
||||
@@ -513,10 +517,11 @@ static bool ConKickOrBan(const char *argv, bool ban)
|
||||
}
|
||||
|
||||
/* When banning, kick+ban all clients with that IP */
|
||||
ip = GetClientIP(ci);
|
||||
n = NetworkServerKickOrBanIP(client_id, ban);
|
||||
} else {
|
||||
n = NetworkServerKickOrBanIP(argv, ban);
|
||||
}
|
||||
|
||||
uint n = NetworkServerKickOrBanIP(ip, ban);
|
||||
if (n == 0) {
|
||||
IConsolePrint(CC_DEFAULT, ban ? "Client not online, address added to banlist" : "Client not found");
|
||||
} else {
|
||||
@@ -695,7 +700,7 @@ DEF_CONSOLE_CMD(ConClientNickChange)
|
||||
return true;
|
||||
}
|
||||
|
||||
if (NetworkFindClientInfoFromClientID(client_id) == NULL) {
|
||||
if (NetworkClientInfo::GetByClientID(client_id) == NULL) {
|
||||
IConsoleError("Invalid client");
|
||||
return true;
|
||||
}
|
||||
@@ -723,7 +728,7 @@ DEF_CONSOLE_CMD(ConJoinCompany)
|
||||
return true;
|
||||
}
|
||||
|
||||
if (NetworkFindClientInfoFromClientID(_network_own_client_id)->client_playas == company_id) {
|
||||
if (NetworkClientInfo::GetByClientID(_network_own_client_id)->client_playas == company_id) {
|
||||
IConsoleError("You are already there!");
|
||||
return true;
|
||||
}
|
||||
@@ -762,7 +767,7 @@ DEF_CONSOLE_CMD(ConMoveClient)
|
||||
return true;
|
||||
}
|
||||
|
||||
const NetworkClientInfo *ci = NetworkFindClientInfoFromClientID((ClientID)atoi(argv[1]));
|
||||
const NetworkClientInfo *ci = NetworkClientInfo::GetByClientID((ClientID)atoi(argv[1]));
|
||||
CompanyID company_id = (CompanyID)(atoi(argv[2]) <= MAX_COMPANIES ? atoi(argv[2]) - 1 : atoi(argv[2]));
|
||||
|
||||
/* check the client exists */
|
||||
@@ -824,7 +829,7 @@ DEF_CONSOLE_CMD(ConResetCompany)
|
||||
IConsoleError("Cannot remove company: a client is connected to that company.");
|
||||
return false;
|
||||
}
|
||||
const NetworkClientInfo *ci = NetworkFindClientInfoFromClientID(CLIENT_ID_SERVER);
|
||||
const NetworkClientInfo *ci = NetworkClientInfo::GetByClientID(CLIENT_ID_SERVER);
|
||||
if (ci->client_playas == index) {
|
||||
IConsoleError("Cannot remove company: the server is connected to that company.");
|
||||
return true;
|
||||
@@ -1264,7 +1269,7 @@ DEF_CONSOLE_CMD(ConRescanNewGRF)
|
||||
|
||||
TarScanner::DoScan();
|
||||
ScanNewGRFFiles();
|
||||
InvalidateWindowData(WC_GAME_OPTIONS, 0, 1);
|
||||
InvalidateWindowData(WC_GAME_OPTIONS, 0, GOID_NEWGRF_RESCANNED);
|
||||
|
||||
return true;
|
||||
}
|
||||
@@ -1635,7 +1640,7 @@ DEF_CONSOLE_CMD(ConCompanyPassword)
|
||||
return false;
|
||||
}
|
||||
|
||||
password = NetworkChangeCompanyPassword(company_id, password, false);
|
||||
password = NetworkChangeCompanyPassword(company_id, password);
|
||||
|
||||
if (StrEmpty(password)) {
|
||||
IConsolePrintF(CC_WARNING, "Company password cleared");
|
||||
|
@@ -22,6 +22,29 @@
|
||||
void NORETURN MallocError(size_t size);
|
||||
void NORETURN ReallocError(size_t size);
|
||||
|
||||
/**
|
||||
* Checks whether allocating memory would overflow size_t.
|
||||
*
|
||||
* @param element_size Size of the structure to allocate.
|
||||
* @param num_elements Number of elements to allocate.
|
||||
*/
|
||||
static inline void CheckAllocationConstraints(size_t element_size, size_t num_elements)
|
||||
{
|
||||
if (num_elements > SIZE_MAX / element_size) MallocError(SIZE_MAX);
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks whether allocating memory would overflow size_t.
|
||||
*
|
||||
* @tparam T Structure to allocate.
|
||||
* @param num_elements Number of elements to allocate.
|
||||
*/
|
||||
template <typename T>
|
||||
static inline void CheckAllocationConstraints(size_t num_elements)
|
||||
{
|
||||
CheckAllocationConstraints(sizeof(T), num_elements);
|
||||
}
|
||||
|
||||
/**
|
||||
* Simplified allocation function that allocates the specified number of
|
||||
* elements of the given type. It also explicitly casts it to the requested
|
||||
@@ -42,6 +65,9 @@ static FORCEINLINE T *MallocT(size_t num_elements)
|
||||
*/
|
||||
if (num_elements == 0) return NULL;
|
||||
|
||||
/* Ensure the size does not overflow. */
|
||||
CheckAllocationConstraints<T>(num_elements);
|
||||
|
||||
T *t_ptr = (T*)malloc(num_elements * sizeof(T));
|
||||
if (t_ptr == NULL) MallocError(num_elements * sizeof(T));
|
||||
return t_ptr;
|
||||
@@ -96,12 +122,17 @@ static FORCEINLINE T *ReallocT(T *t_ptr, size_t num_elements)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* Ensure the size does not overflow. */
|
||||
CheckAllocationConstraints<T>(num_elements);
|
||||
|
||||
t_ptr = (T*)realloc(t_ptr, num_elements * sizeof(T));
|
||||
if (t_ptr == NULL) ReallocError(num_elements * sizeof(T));
|
||||
return t_ptr;
|
||||
}
|
||||
|
||||
/** alloca() has to be called in the parent function, so define AllocaM() as a macro */
|
||||
#define AllocaM(T, num_elements) ((T*)alloca((num_elements) * sizeof(T)))
|
||||
#define AllocaM(T, num_elements) \
|
||||
(CheckAllocationConstraints<T>(num_elements), \
|
||||
(T*)alloca((num_elements) * sizeof(T)))
|
||||
|
||||
#endif /* ALLOC_FUNC_HPP */
|
||||
|
@@ -285,9 +285,10 @@ struct DepotWindow : Window {
|
||||
DrawTrainImage(u, image_left + (rtl ? 0 : x_space), image_right - (rtl ? x_space : 0), sprite_y - 1,
|
||||
this->sel, free_wagon ? 0 : this->hscroll->GetPosition(), this->vehicle_over);
|
||||
|
||||
/* Length of consist in tiles (rounded up) */
|
||||
SetDParam(0, CeilDiv(u->gcache.cached_total_length, TILE_SIZE));
|
||||
DrawString(rtl ? left + WD_FRAMERECT_LEFT : right - this->count_width, rtl ? left + this->count_width : right - WD_FRAMERECT_RIGHT, y + (this->resize.step_height - FONT_HEIGHT_SMALL) / 2, STR_TINY_BLACK_COMA, TC_FROMSTRING, SA_RIGHT); // Draw the counter
|
||||
/* Length of consist in tiles with 1 fractional digit (rounded up) */
|
||||
SetDParam(0, CeilDiv(u->gcache.cached_total_length * 10, TILE_SIZE));
|
||||
SetDParam(1, 1);
|
||||
DrawString(rtl ? left + WD_FRAMERECT_LEFT : right - this->count_width, rtl ? left + this->count_width : right - WD_FRAMERECT_RIGHT, y + (this->resize.step_height - FONT_HEIGHT_SMALL) / 2, STR_TINY_BLACK_DECIMAL, TC_FROMSTRING, SA_RIGHT); // Draw the counter
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -598,8 +599,9 @@ struct DepotWindow : Window {
|
||||
uint min_height = 0;
|
||||
|
||||
if (this->type == VEH_TRAIN) {
|
||||
SetDParam(0, 100);
|
||||
this->count_width = GetStringBoundingBox(STR_TINY_BLACK_COMA).width + WD_FRAMERECT_LEFT + WD_FRAMERECT_RIGHT;
|
||||
SetDParam(0, 1000);
|
||||
SetDParam(1, 1);
|
||||
this->count_width = GetStringBoundingBox(STR_TINY_BLACK_DECIMAL).width + WD_FRAMERECT_LEFT + WD_FRAMERECT_RIGHT;
|
||||
} else {
|
||||
this->count_width = 0;
|
||||
}
|
||||
|
@@ -292,6 +292,21 @@ void ChangeOwnershipOfCompanyItems(Owner old_owner, Owner new_owner)
|
||||
/* In all cases, make spectators of clients connected to that company */
|
||||
if (_networking) NetworkClientsToSpectators(old_owner);
|
||||
#endif /* ENABLE_NETWORK */
|
||||
if (old_owner == _local_company) {
|
||||
/* Single player cheated to AI company.
|
||||
* There are no specatators in single player, so we must pick some other company. */
|
||||
assert(!_networking);
|
||||
Backup<CompanyByte> cur_company(_current_company, FILE_LINE);
|
||||
Company *c;
|
||||
FOR_ALL_COMPANIES(c) {
|
||||
if (c->index != old_owner) {
|
||||
SetLocalCompany(c->index);
|
||||
break;
|
||||
}
|
||||
}
|
||||
cur_company.Restore();
|
||||
assert(old_owner != _local_company);
|
||||
}
|
||||
|
||||
Town *t;
|
||||
|
||||
@@ -306,7 +321,7 @@ void ChangeOwnershipOfCompanyItems(Owner old_owner, Owner new_owner)
|
||||
for (i = 0; i < 4; i++) {
|
||||
if (c->share_owners[i] == old_owner) {
|
||||
/* Sell his shares */
|
||||
CommandCost res = DoCommand(0, c->index, 0, DC_EXEC, CMD_SELL_SHARE_IN_COMPANY);
|
||||
CommandCost res = DoCommand(0, c->index, 0, DC_EXEC | DC_BANKRUPT, CMD_SELL_SHARE_IN_COMPANY);
|
||||
/* Because we are in a DoCommand, we can't just execute another one and
|
||||
* expect the money to be removed. We need to do it ourself! */
|
||||
SubtractMoneyFromCompany(res);
|
||||
@@ -321,7 +336,7 @@ void ChangeOwnershipOfCompanyItems(Owner old_owner, Owner new_owner)
|
||||
cur_company2.Change(c->share_owners[i]);
|
||||
if (_current_company != INVALID_OWNER) {
|
||||
/* Sell the shares */
|
||||
CommandCost res = DoCommand(0, old_owner, 0, DC_EXEC, CMD_SELL_SHARE_IN_COMPANY);
|
||||
CommandCost res = DoCommand(0, old_owner, 0, DC_EXEC | DC_BANKRUPT, CMD_SELL_SHARE_IN_COMPANY);
|
||||
/* Because we are in a DoCommand, we can't just execute another one and
|
||||
* expect the money to be removed. We need to do it ourself! */
|
||||
SubtractMoneyFromCompany(res);
|
||||
@@ -1500,16 +1515,6 @@ static void DoAcquireCompany(Company *c)
|
||||
owner->current_loan += c->current_loan;
|
||||
}
|
||||
|
||||
Money value = CalculateCompanyValue(c) >> 2;
|
||||
Backup<CompanyByte> cur_company(_current_company, FILE_LINE);
|
||||
for (int i = 0; i != 4; i++) {
|
||||
if (c->share_owners[i] != COMPANY_SPECTATOR) {
|
||||
cur_company.Change(c->share_owners[i]);
|
||||
SubtractMoneyFromCompany(CommandCost(EXPENSES_OTHER, -value));
|
||||
}
|
||||
}
|
||||
cur_company.Restore();
|
||||
|
||||
if (c->is_ai) AI::Stop(c->index);
|
||||
|
||||
DeleteCompanyWindows(ci);
|
||||
@@ -1589,9 +1594,12 @@ CommandCost CmdSellShareInCompany(TileIndex tile, DoCommandFlag flags, uint32 p1
|
||||
CompanyID target_company = (CompanyID)p1;
|
||||
Company *c = Company::GetIfValid(target_company);
|
||||
|
||||
/* Check if selling shares is allowed (protection against modified clients)
|
||||
* Cannot sell own shares */
|
||||
if (c == NULL || !_settings_game.economy.allow_shares || _current_company == target_company) return CMD_ERROR;
|
||||
/* Cannot sell own shares */
|
||||
if (c == NULL || _current_company == target_company) return CMD_ERROR;
|
||||
|
||||
/* Check if selling shares is allowed (protection against modified clients).
|
||||
* However, we must sell shares of companies being closed down. */
|
||||
if (!_settings_game.economy.allow_shares && !(flags & DC_BANKRUPT)) return CMD_ERROR;
|
||||
|
||||
/* Those lines are here for network-protection (clients can be slow) */
|
||||
if (GetAmountOwnedBy(c, _current_company) == 0) return CommandCost();
|
||||
|
@@ -310,7 +310,6 @@ static void DrawCatenaryRailway(const TileInfo *ti)
|
||||
};
|
||||
SpriteID pylon_base = (halftile_corner != CORNER_INVALID && HasBit(edge_corners[i], halftile_corner)) ? pylon_halftile : pylon_normal;
|
||||
TileIndex neighbour = ti->tile + TileOffsByDiagDir(i);
|
||||
Foundation foundation = FOUNDATION_NONE;
|
||||
byte elevation = GetPCPElevation(ti->tile, i);
|
||||
|
||||
/* Here's one of the main headaches. GetTileSlope does not correct for possibly
|
||||
@@ -361,8 +360,10 @@ static void DrawCatenaryRailway(const TileInfo *ti)
|
||||
PPPallowed[i] = 0;
|
||||
}
|
||||
|
||||
/* A station is always "flat", so adjust the tileh accordingly */
|
||||
if (IsTileType(neighbour, MP_STATION)) tileh[TS_NEIGHBOUR] = SLOPE_FLAT;
|
||||
Foundation foundation = FOUNDATION_NONE;
|
||||
|
||||
/* Station and road crossings are always "flat", so adjust the tileh accordingly */
|
||||
if (IsTileType(neighbour, MP_STATION) || IsTileType(neighbour, MP_ROAD)) tileh[TS_NEIGHBOUR] = SLOPE_FLAT;
|
||||
|
||||
/* Read the foundataions if they are present, and adjust the tileh */
|
||||
if (trackconfig[TS_NEIGHBOUR] != TRACK_BIT_NONE && IsTileType(neighbour, MP_RAILWAY) && HasCatenary(GetRailType(neighbour))) foundation = GetRailFoundation(tileh[TS_NEIGHBOUR], trackconfig[TS_NEIGHBOUR]);
|
||||
|
@@ -91,6 +91,8 @@ Engine::Engine(VehicleType type, EngineID base)
|
||||
this->info.base_life = 0xFF;
|
||||
/* Set road vehicle tractive effort to the default value */
|
||||
if (type == VEH_ROAD) this->u.road.tractive_effort = 0x4C;
|
||||
/* Aircraft must have CT_INVALID as default, as there is no property */
|
||||
if (type == VEH_AIRCRAFT) this->info.cargo_type = CT_INVALID;
|
||||
/* Set visual effect to the default value */
|
||||
switch (type) {
|
||||
case VEH_TRAIN: this->u.rail.visual_effect = VE_DEFAULT; break;
|
||||
|
@@ -21,9 +21,7 @@
|
||||
#include <Path.h>
|
||||
#include <storage/FindDirectory.h>
|
||||
#else
|
||||
#if defined(OPENBSD) || defined(DOS)
|
||||
#include <unistd.h>
|
||||
#endif
|
||||
#include <pwd.h>
|
||||
#endif
|
||||
#include <sys/stat.h>
|
||||
@@ -860,8 +858,9 @@ extern void DetermineBasePaths(const char *exe);
|
||||
* in the same way we remove the name from the executable name.
|
||||
* @param exe the path to the executable
|
||||
*/
|
||||
void ChangeWorkingDirectory(const char *exe)
|
||||
static bool ChangeWorkingDirectoryToExecutable(const char *exe)
|
||||
{
|
||||
bool success = false;
|
||||
#ifdef WITH_COCOA
|
||||
char *app_bundle = strchr(exe, '.');
|
||||
while (app_bundle != NULL && strncasecmp(app_bundle, ".app", 4) != 0) app_bundle = strchr(&app_bundle[1], '.');
|
||||
@@ -875,12 +874,17 @@ void ChangeWorkingDirectory(const char *exe)
|
||||
/* If we want to go to the root, we can't use cd C:, but we must use '/' */
|
||||
if (s[-1] == ':') chdir("/");
|
||||
#endif
|
||||
if (chdir(exe) != 0) DEBUG(misc, 0, "Directory with the binary does not exist?");
|
||||
if (chdir(exe) != 0) {
|
||||
DEBUG(misc, 0, "Directory with the binary does not exist?");
|
||||
} else {
|
||||
success = true;
|
||||
}
|
||||
*s = PATHSEPCHAR;
|
||||
}
|
||||
#ifdef WITH_COCOA
|
||||
if (app_bundle != NULL) app_bundle[0] = '.';
|
||||
#endif /* WITH_COCOA */
|
||||
return success;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -958,14 +962,19 @@ void DetermineBasePaths(const char *exe)
|
||||
_do_scan_working_directory = DoScanWorkingDirectory();
|
||||
|
||||
/* Change the working directory to that one of the executable */
|
||||
ChangeWorkingDirectory(exe);
|
||||
if (getcwd(tmp, MAX_PATH) == NULL) *tmp = '\0';
|
||||
AppendPathSeparator(tmp, MAX_PATH);
|
||||
_searchpaths[SP_BINARY_DIR] = strdup(tmp);
|
||||
if (ChangeWorkingDirectoryToExecutable(exe)) {
|
||||
if (getcwd(tmp, MAX_PATH) == NULL) *tmp = '\0';
|
||||
AppendPathSeparator(tmp, MAX_PATH);
|
||||
_searchpaths[SP_BINARY_DIR] = strdup(tmp);
|
||||
} else {
|
||||
_searchpaths[SP_BINARY_DIR] = NULL;
|
||||
}
|
||||
|
||||
if (_searchpaths[SP_WORKING_DIR] != NULL) {
|
||||
/* Go back to the current working directory. */
|
||||
ChangeWorkingDirectory(_searchpaths[SP_WORKING_DIR]);
|
||||
if (chdir(_searchpaths[SP_WORKING_DIR]) != 0) {
|
||||
DEBUG(misc, 0, "Failed to return to working directory!");
|
||||
}
|
||||
}
|
||||
|
||||
#if defined(__MORPHOS__) || defined(__AMIGA__) || defined(DOS) || defined(OS2)
|
||||
|
@@ -211,6 +211,9 @@ void BuildFileList()
|
||||
|
||||
default: FiosGetSavegameList(_saveload_mode); break;
|
||||
}
|
||||
|
||||
/* Invalidate saveload window */
|
||||
InvalidateWindowData(WC_SAVELOAD, 0, 2, true);
|
||||
}
|
||||
|
||||
static void MakeSortedSaveGameList()
|
||||
@@ -684,6 +687,12 @@ public:
|
||||
!_load_check_data.HasNewGrfs());
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
/* _fios_items changed */
|
||||
this->vscroll->SetCount(_fios_items.Length());
|
||||
this->selected = NULL;
|
||||
_load_check_data.Clear();
|
||||
break;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
@@ -1034,6 +1034,9 @@ const Sprite *GetGlyph(FontSize size, WChar key)
|
||||
width = max(1, slot->bitmap.width + (size == FS_NORMAL));
|
||||
height = max(1, slot->bitmap.rows + (size == FS_NORMAL));
|
||||
|
||||
/* Limit glyph size to prevent overflows later on. */
|
||||
if (width > 256 || height > 256) usererror("Font glyph is too large");
|
||||
|
||||
/* FreeType has rendered the glyph, now we allocate a sprite and copy the image into it */
|
||||
sprite.AllocateData(width * height);
|
||||
sprite.width = width;
|
||||
|
@@ -602,12 +602,22 @@ struct GenerateLandscapeWindow : public QueryStringBaseWindow {
|
||||
this->SetDirty();
|
||||
break;
|
||||
|
||||
case GLAND_GENERATE_BUTTON: // Generate
|
||||
case GLAND_GENERATE_BUTTON: { // Generate
|
||||
/* Get rotated map size. */
|
||||
uint map_x;
|
||||
uint map_y;
|
||||
if (_settings_newgame.game_creation.heightmap_rotation == HM_CLOCKWISE) {
|
||||
map_x = this->y;
|
||||
map_y = this->x;
|
||||
} else {
|
||||
map_x = this->x;
|
||||
map_y = this->y;
|
||||
}
|
||||
if (mode == GLWM_HEIGHTMAP &&
|
||||
(this->x * 2 < (1U << _settings_newgame.game_creation.map_x) ||
|
||||
this->x / 2 > (1U << _settings_newgame.game_creation.map_x) ||
|
||||
this->y * 2 < (1U << _settings_newgame.game_creation.map_y) ||
|
||||
this->y / 2 > (1U << _settings_newgame.game_creation.map_y))) {
|
||||
(map_x * 2 < (1U << _settings_newgame.game_creation.map_x) ||
|
||||
map_x / 2 > (1U << _settings_newgame.game_creation.map_x) ||
|
||||
map_y * 2 < (1U << _settings_newgame.game_creation.map_y) ||
|
||||
map_y / 2 > (1U << _settings_newgame.game_creation.map_y))) {
|
||||
ShowQuery(
|
||||
STR_WARNING_HEIGHTMAP_SCALE_CAPTION,
|
||||
STR_WARNING_HEIGHTMAP_SCALE_MESSAGE,
|
||||
@@ -617,6 +627,7 @@ struct GenerateLandscapeWindow : public QueryStringBaseWindow {
|
||||
StartGeneratingLandscape(mode);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
case GLAND_START_DATE_DOWN:
|
||||
case GLAND_START_DATE_UP: // Year buttons
|
||||
|
@@ -1114,13 +1114,19 @@ skip_cont:;
|
||||
/**
|
||||
* Get the size of a sprite.
|
||||
* @param sprid Sprite to examine.
|
||||
* @param [out] offset Optionally returns the sprite position offset.
|
||||
* @return Sprite size in pixels.
|
||||
* @note The size assumes (0, 0) as top-left coordinate and ignores any part of the sprite drawn at the left or above that position.
|
||||
*/
|
||||
Dimension GetSpriteSize(SpriteID sprid)
|
||||
Dimension GetSpriteSize(SpriteID sprid, Point *offset)
|
||||
{
|
||||
const Sprite *sprite = GetSprite(sprid, ST_NORMAL);
|
||||
|
||||
if (offset != NULL) {
|
||||
offset->x = sprite->x_offs;
|
||||
offset->y = sprite->y_offs;
|
||||
}
|
||||
|
||||
Dimension d;
|
||||
d.width = max<int>(0, sprite->x_offs + sprite->width);
|
||||
d.height = max<int>(0, sprite->y_offs + sprite->height);
|
||||
|
@@ -88,7 +88,7 @@ static const int DRAW_STRING_BUFFER = 2048;
|
||||
void RedrawScreenRect(int left, int top, int right, int bottom);
|
||||
void GfxScroll(int left, int top, int width, int height, int xo, int yo);
|
||||
|
||||
Dimension GetSpriteSize(SpriteID sprid);
|
||||
Dimension GetSpriteSize(SpriteID sprid, Point *offset = NULL);
|
||||
void DrawSprite(SpriteID img, PaletteID pal, int x, int y, const SubSprite *sub = NULL);
|
||||
|
||||
/** How to align the to-be drawn text. */
|
||||
|
@@ -50,8 +50,9 @@ struct GroundVehicleCache {
|
||||
|
||||
/** Ground vehicle flags. */
|
||||
enum GroundVehicleFlags {
|
||||
GVF_GOINGUP_BIT = 0,
|
||||
GVF_GOINGDOWN_BIT = 1,
|
||||
GVF_GOINGUP_BIT = 0, ///< Vehicle is currently going uphill. (Cached track information for acceleration)
|
||||
GVF_GOINGDOWN_BIT = 1, ///< Vehicle is currently going downhill. (Cached track information for acceleration)
|
||||
GVF_SUPPRESS_IMPLICIT_ORDERS = 2, ///< Disable insertion and removal of automatic orders until the vehicle completes the real order.
|
||||
};
|
||||
|
||||
/**
|
||||
|
@@ -15,6 +15,7 @@
|
||||
#include "vehicle_gui.h"
|
||||
#include "vehicle_base.h"
|
||||
#include "group.h"
|
||||
#include "string_func.h"
|
||||
#include "strings_func.h"
|
||||
#include "window_func.h"
|
||||
#include "vehicle_func.h"
|
||||
|
@@ -63,7 +63,7 @@ enum WarningLevel {
|
||||
WL_CRITICAL, ///< Critical errors, the MessageBox is shown in all cases
|
||||
};
|
||||
|
||||
void ShowErrorMessage(StringID summary_msg, StringID detailed_msg, WarningLevel wl, int x = 0, int y = 0);
|
||||
void ShowErrorMessage(StringID summary_msg, StringID detailed_msg, WarningLevel wl, int x = 0, int y = 0, uint textref_stack_size = 0, const uint32 *textref_stack = NULL);
|
||||
|
||||
void ShowExtraViewPortWindow(TileIndex tile = INVALID_TILE);
|
||||
void ShowExtraViewPortWindowForTileUnderCursor();
|
||||
|
@@ -142,13 +142,24 @@ static bool ReadHeightmapPNG(char *filename, uint *x, uint *y, byte **map)
|
||||
return false;
|
||||
}
|
||||
|
||||
uint width = png_get_image_width(png_ptr, info_ptr);
|
||||
uint height = png_get_image_height(png_ptr, info_ptr);
|
||||
|
||||
/* Check if image dimensions don't overflow a size_t to avoid memory corruption. */
|
||||
if ((uint64)width * height >= (size_t)-1) {
|
||||
ShowErrorMessage(STR_ERROR_PNGMAP, STR_ERROR_HEIGHTMAP_TOO_LARGE, WL_ERROR);
|
||||
fclose(fp);
|
||||
png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
|
||||
return false;
|
||||
}
|
||||
|
||||
if (map != NULL) {
|
||||
*map = MallocT<byte>(png_get_image_width(png_ptr, info_ptr) * png_get_image_height(png_ptr, info_ptr));
|
||||
*map = MallocT<byte>(width * height);
|
||||
ReadHeightmapPNGImageData(*map, png_ptr, info_ptr);
|
||||
}
|
||||
|
||||
*x = png_get_image_width(png_ptr, info_ptr);
|
||||
*y = png_get_image_height(png_ptr, info_ptr);
|
||||
*x = width;
|
||||
*y = height;
|
||||
|
||||
fclose(fp);
|
||||
png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
|
||||
@@ -243,6 +254,14 @@ static bool ReadHeightmapBMP(char *filename, uint *x, uint *y, byte **map)
|
||||
return false;
|
||||
}
|
||||
|
||||
/* Check if image dimensions don't overflow a size_t to avoid memory corruption. */
|
||||
if ((uint64)info.width * info.height >= (size_t)-1 / (info.bpp == 24 ? 3 : 1)) {
|
||||
ShowErrorMessage(STR_ERROR_BMPMAP, STR_ERROR_HEIGHTMAP_TOO_LARGE, WL_ERROR);
|
||||
fclose(f);
|
||||
BmpDestroyData(&data);
|
||||
return false;
|
||||
}
|
||||
|
||||
if (map != NULL) {
|
||||
if (!BmpReadBitmap(&buffer, &info, &data)) {
|
||||
ShowErrorMessage(STR_ERROR_BMPMAP, STR_ERROR_BMPMAP_IMAGE_TYPE, WL_ERROR);
|
||||
|
@@ -74,7 +74,7 @@ static void GetCargoSuffix(uint cargo, CargoSuffixType cst, const Industry *ind,
|
||||
if (HasBit(indspec->callback_mask, CBM_IND_CARGO_SUFFIX)) {
|
||||
uint16 callback = GetIndustryCallback(CBID_INDUSTRY_CARGO_SUFFIX, 0, (cst << 8) | cargo, const_cast<Industry *>(ind), ind_type, (cst != CST_FUND) ? ind->location.tile : INVALID_TILE);
|
||||
if (GB(callback, 0, 8) != 0xFF) {
|
||||
PrepareTextRefStackUsage(6);
|
||||
StartTextRefStackUsage(6);
|
||||
GetString(suffix, GetGRFStringID(indspec->grf_prop.grffile->grfid, 0xD000 + callback), suffix_last);
|
||||
StopTextRefStackUsage();
|
||||
}
|
||||
@@ -458,8 +458,8 @@ public:
|
||||
if (callback_res != CALLBACK_FAILED) { // Did it fail?
|
||||
str = GetGRFStringID(indsp->grf_prop.grffile->grfid, 0xD000 + callback_res); // No. here's the new string
|
||||
if (str != STR_UNDEFINED) {
|
||||
PrepareTextRefStackUsage(6);
|
||||
DrawStringMultiLine(left, right, y, bottom, str);
|
||||
StartTextRefStackUsage(6);
|
||||
DrawStringMultiLine(left, right, y, bottom, str, TC_YELLOW);
|
||||
StopTextRefStackUsage();
|
||||
}
|
||||
}
|
||||
@@ -788,11 +788,11 @@ public:
|
||||
if (message != STR_NULL && message != STR_UNDEFINED) {
|
||||
y += WD_PAR_VSEP_WIDE;
|
||||
|
||||
PrepareTextRefStackUsage(6);
|
||||
StartTextRefStackUsage(6);
|
||||
/* Use all the available space left from where we stand up to the
|
||||
* end of the window. We ALSO enlarge the window if needed, so we
|
||||
* can 'go' wild with the bottom of the window. */
|
||||
y = DrawStringMultiLine(left + WD_FRAMERECT_LEFT, right - WD_FRAMERECT_RIGHT, y, UINT16_MAX, message);
|
||||
y = DrawStringMultiLine(left + WD_FRAMERECT_LEFT, right - WD_FRAMERECT_RIGHT, y, UINT16_MAX, message, TC_BLACK);
|
||||
StopTextRefStackUsage();
|
||||
}
|
||||
}
|
||||
|
@@ -231,6 +231,7 @@ STR_BUTTON_RENAME :{BLACK}Hernoem
|
||||
STR_TOOLTIP_CLOSE_WINDOW :{BLACK}Maak venster toe
|
||||
STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS :{BLACK}Venster titel - sleep om venster te beweeg
|
||||
STR_TOOLTIP_SHADE :{BLACK}Skerm venster - Slegs die titelstaaf sal vertoon word
|
||||
STR_TOOLTIP_DEBUG :{BLACK}Toon NewGRF debug informasie
|
||||
STR_TOOLTIP_STICKY :{BLACK}Merk die venster as ontoemaakbaar met die"Sluit Alle Vensters" sleutel
|
||||
STR_TOOLTIP_RESIZE :{BLACK}Kliek en sleep om venster te vergroot
|
||||
STR_TOOLTIP_TOGGLE_LARGE_SMALL_WINDOW :{BLACK}Tokkel groot/klein venster groote
|
||||
@@ -283,6 +284,7 @@ STR_SORT_BY_RATING_MIN :Laagte vrag gra
|
||||
STR_SORT_BY_ENGINE_ID :EngineID (klassieke sorteer)
|
||||
STR_SORT_BY_COST :Koste
|
||||
STR_SORT_BY_POWER :Krag
|
||||
STR_SORT_BY_TRACTIVE_EFFORT :Trekker inspanning
|
||||
STR_SORT_BY_INTRO_DATE :Inleiding Datum
|
||||
STR_SORT_BY_RUNNING_COST :Loopkoste
|
||||
STR_SORT_BY_POWER_VS_RUNNING_COST :Krag/Loopkoste
|
||||
@@ -332,6 +334,7 @@ STR_SCENEDIT_TOOLBAR_INDUSTRY_GENERATION :{BLACK}Nywerhei
|
||||
STR_SCENEDIT_TOOLBAR_ROAD_CONSTRUCTION :{BLACK}Pad konstruksie
|
||||
STR_SCENEDIT_TOOLBAR_PLANT_TREES :{BLACK}Plant bome
|
||||
STR_SCENEDIT_TOOLBAR_PLACE_SIGN :{BLACK}Plaas teken
|
||||
STR_SCENEDIT_TOOLBAR_PLACE_OBJECT :{BLACK}Plaas voorwerp. Shift skakel tussen bou/aanduiding koste beraming
|
||||
|
||||
############ range for SE file menu starts
|
||||
STR_SCENEDIT_FILE_MENU_SAVE_SCENARIO :Stoor draaiboek
|
||||
@@ -441,8 +444,10 @@ STR_ABOUT_MENU_SEPARATOR :
|
||||
STR_ABOUT_MENU_TOGGLE_CONSOLE :Tokkel terminaal
|
||||
STR_ABOUT_MENU_AI_DEBUG :AI ontfout
|
||||
STR_ABOUT_MENU_SCREENSHOT :Skermskoot (Ctrl-S)
|
||||
STR_ABOUT_MENU_ZOOMIN_SCREENSHOT :Vergrote skermskoot
|
||||
STR_ABOUT_MENU_GIANT_SCREENSHOT :Groot Skermskoot (Ctrl+G)
|
||||
STR_ABOUT_MENU_ABOUT_OPENTTD :Oor 'OpenTTD'
|
||||
STR_ABOUT_MENU_SPRITE_ALIGNER :"Sprite" rigter
|
||||
############ range ends here
|
||||
|
||||
############ range for days starts (also used for the place in the highscore window)
|
||||
@@ -524,6 +529,9 @@ STR_GRAPH_COMPANY_VALUES_CAPTION :{WHITE}Maatskap
|
||||
STR_GRAPH_CARGO_PAYMENT_RATES_CAPTION :{WHITE}Vrag Betaalings Grade
|
||||
STR_GRAPH_CARGO_PAYMENT_RATES_X_LABEL :{TINYFONT}{BLACK}Dae in deurtog
|
||||
STR_GRAPH_CARGO_PAYMENT_RATES_TITLE :{TINYFONT}{BLACK}Betaaling vir aflewering van 10 eenhuide (of 10,000 liters) van vrag 'n afstand van 20 blokkies
|
||||
STR_GRAPH_CARGO_ENABLE_ALL :{TINYFONT}{BLACK}Skakel alles aan
|
||||
STR_GRAPH_CARGO_DISABLE_ALL :{TINYFONT}{BLACK}Skakel alles af
|
||||
STR_GRAPH_CARGO_TOOLTIP_ENABLE_ALL :{BLACK}Toon alle vragte op die vrag betalingskostes grafiek
|
||||
STR_GRAPH_CARGO_PAYMENT_TOGGLE_CARGO :{BLACK}Skakel grafiek vir vrag tipe aan/af
|
||||
STR_GRAPH_CARGO_PAYMENT_CARGO :{TINYFONT}{BLACK}{STRING}
|
||||
|
||||
|
@@ -99,7 +99,7 @@ STR_QUANTITY_PASSENGERS :{COMMA}راكب
|
||||
STR_QUANTITY_COAL :{WEIGHT} من الفحم
|
||||
STR_QUANTITY_MAIL :{COMMA} صندوق من البريد
|
||||
STR_QUANTITY_OIL :{VOLUME} من النفط
|
||||
STR_QUANTITY_LIVESTOCK :{COMMA}رأس من الماشية
|
||||
STR_QUANTITY_LIVESTOCK :{COMMA}راس من الماشية
|
||||
STR_QUANTITY_GOODS :{COMMA} قفص من البضائع
|
||||
STR_QUANTITY_GRAIN :{WEIGHT} من الحبوب
|
||||
STR_QUANTITY_WOOD :{WEIGHT} من الخشب
|
||||
@@ -117,7 +117,7 @@ STR_QUANTITY_WATER :{VOLUME} من
|
||||
STR_QUANTITY_WHEAT :{WEIGHT} من القمح
|
||||
STR_QUANTITY_RUBBER :{VOLUME} من المطاط
|
||||
STR_QUANTITY_SUGAR :{WEIGHT} من السكر
|
||||
STR_QUANTITY_TOYS :{COMMA}الألعاب
|
||||
STR_QUANTITY_TOYS :{COMMA}الالعاب
|
||||
STR_QUANTITY_SWEETS :{COMMA} كيس من الحلويات
|
||||
STR_QUANTITY_COLA :{VOLUME} من الكولا
|
||||
STR_QUANTITY_CANDYFLOSS :{WEIGHT} من الحلاوة القطنية
|
||||
@@ -447,6 +447,7 @@ STR_ABOUT_MENU_ZOOMIN_SCREENSHOT :صورة للش
|
||||
STR_ABOUT_MENU_GIANT_SCREENSHOT :صورة كبيرة لكامل الخريطة -Ctrl-G -
|
||||
STR_ABOUT_MENU_ABOUT_OPENTTD :حول 'OpenTTD'
|
||||
STR_ABOUT_MENU_SPRITE_ALIGNER :موائم العفريتات
|
||||
STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :اضهار /اخفاء مربح الحوارات/الخيارات
|
||||
############ range ends here
|
||||
|
||||
############ range for days starts (also used for the place in the highscore window)
|
||||
@@ -1056,6 +1057,7 @@ STR_SEA_LEVEL_HIGH :عالي
|
||||
STR_SEA_LEVEL_CUSTOM :مخصص
|
||||
STR_SEA_LEVEL_CUSTOM_PERCENTAGE :مخصص ({NUM}%)
|
||||
|
||||
|
||||
STR_DISASTER_NONE :بدون
|
||||
STR_DISASTER_REDUCED :قليل
|
||||
STR_DISASTER_NORMAL :طبيعي
|
||||
@@ -1223,6 +1225,7 @@ STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_LONG :طويل - 31
|
||||
STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_SHORT :قصير - 31 - 12 - 2008
|
||||
STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_ISO :ايزو 31-12-2008
|
||||
|
||||
|
||||
STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME :{LTBLUE}إيقاف اللعبة تلقائيا عند بدأ لعبة جديدة: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL :{LTBLUE}عندمل توقف أسمح: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_NO_ACTIONS :لا تصرف
|
||||
@@ -1405,6 +1408,7 @@ STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK} ابح
|
||||
STR_INTRO_TOOLTIP_AI_SETTINGS :{BLACK} عرض اعدادات الذكاء الصناعي
|
||||
STR_INTRO_TOOLTIP_QUIT :{BLACK}اغلاق'OpenTTD'
|
||||
|
||||
|
||||
# Quit window
|
||||
STR_QUIT_CAPTION :{WHITE}انهاء
|
||||
STR_QUIT_ARE_YOU_SURE_YOU_WANT_TO_EXIT_OPENTTD :{YELLOW}هل تود اغلاق النسخة المفتوحة و العودة لـ {STRING}?
|
||||
@@ -1416,11 +1420,11 @@ STR_OSNAME_WINDOWS :ويندوز
|
||||
STR_OSNAME_DOS :دوس
|
||||
STR_OSNAME_UNIX :يونكس
|
||||
STR_OSNAME_OSX :OS{NBSP}X
|
||||
STR_OSNAME_BEOS :بي أو أس
|
||||
STR_OSNAME_BEOS :بي او اس
|
||||
STR_OSNAME_HAIKU :هايكو
|
||||
STR_OSNAME_MORPHOS :مورف أو أس
|
||||
STR_OSNAME_AMIGAOS :أميقا
|
||||
STR_OSNAME_OS2 :أو أس/2
|
||||
STR_OSNAME_MORPHOS :مورف او اس
|
||||
STR_OSNAME_AMIGAOS :اميقا
|
||||
STR_OSNAME_OS2 :او اس/2
|
||||
STR_OSNAME_SUNOS :صن
|
||||
|
||||
# Abandon game
|
||||
@@ -2280,7 +2284,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :ارض مملو
|
||||
|
||||
# About OpenTTD window
|
||||
STR_ABOUT_OPENTTD :{WHITE}حول النسخة المفتوحة
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}الحقوق الأصلية {COPYRIGHT} كريس سوير 1995 , جميع الحقوق محفوظة
|
||||
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}الحقوق الاصلية {COPYRIGHT} كريس سوير 1995 , جميع الحقوق محفوظة
|
||||
STR_ABOUT_VERSION :{BLACK}النسخة المفتوحة رقم {REV}
|
||||
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}النسخة المفتوحة {COPYRIGHT}2002-2011 فريق النسخة المفتوحة
|
||||
|
||||
@@ -2483,6 +2487,8 @@ STR_NEWGRF_ERROR_CORRUPT_SPRITE :{YELLOW}{STRING
|
||||
STR_NEWGRF_ERROR_MULTIPLE_ACTION_8 :يحتوي على اوامر متعددة - 8 مدخلات
|
||||
STR_NEWGRF_ERROR_READ_BOUNDS :خطأ في قرائة البرمجة
|
||||
STR_NEWGRF_ERROR_MISSING_SPRITES :{WHITE}ملف الرسوم المستخدم حاليا يفتقد لبعض الرسوم الاساسية.{}الرجاء حدث ملف الرسوم.
|
||||
STR_NEWGRF_ERROR_GRM_FAILED :معلومات الاضافة غير متاحة
|
||||
STR_NEWGRF_ERROR_FORCEFULLY_DISABLED :{2:STRING}تم تعطيلة بواسطة{4:STRING}
|
||||
|
||||
# NewGRF related 'general' warnings
|
||||
STR_NEWGRF_POPUP_CAUTION_CAPTION :{WHITE}تحذير!
|
||||
@@ -2519,6 +2525,8 @@ STR_NEWGRF_INVALID_CARGO_QUANTITY :{COMMA} لـ<ح
|
||||
STR_NEWGRF_INVALID_ENGINE :<موديل العربة غير صالح>
|
||||
STR_NEWGRF_INVALID_INDUSTRYTYPE :<المصنع غير صالح>
|
||||
|
||||
# NewGRF scanning window
|
||||
|
||||
# Sign list window
|
||||
STR_SIGN_LIST_CAPTION :{WHITE}قائمة العلامات - {COMMA} علامة
|
||||
STR_SIGN_LIST_MATCH_CASE :{BLACK}طابق الحالة
|
||||
@@ -3127,7 +3135,7 @@ STR_REFIT_NEW_CAPACITY_COST_OF_REFIT :{BLACK}السع
|
||||
STR_REFIT_NEW_CAPACITY_COST_OF_AIRCRAFT_REFIT :{BLACK}السعة الجديدة: {GOLD}{CARGO}, {GOLD}{CARGO}{}{BLACK}تكلفة اعادة التهيئة: {GOLD}{CURRENCY}
|
||||
STR_REFIT_SELECT_VEHICLES_TOOLTIP :{BLACK}اختر العربة لاعادة تهيئتها. اسحب بالفارة لاختيار عدة عربات. اضغط على مساحة خالية لاختيار كل العربات. اضغط + كنترول لاختيار العربة الحالية وما بعدها.
|
||||
|
||||
STR_REFIT_TRAIN_LIST_TOOLTIP :{BLACK}أختر نوع البضاعة لينقلها القطار
|
||||
STR_REFIT_TRAIN_LIST_TOOLTIP :{BLACK}اختر نوع البضاعة لينقلها القطار
|
||||
STR_REFIT_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK} اختر نوع حمولة العربة
|
||||
STR_REFIT_SHIP_LIST_TOOLTIP :{BLACK}اختر نوع الحمولة للسفينة
|
||||
STR_REFIT_AIRCRAFT_LIST_TOOLTIP :{BLACK}اختر نوع الحمولة للطائرة
|
||||
@@ -3186,6 +3194,8 @@ STR_ORDER_DROP_HALT_DEPOT :توقف
|
||||
STR_ORDER_SERVICE_TOOLTIP :{BLACK}تجاوز هذا الامر الا اذا لم تكن الصيانة مطلوبة
|
||||
|
||||
STR_ORDER_CONDITIONAL_VARIABLE_TOOLTIP :{BLACK}بيانات العربة لتعريف التجاوز الى
|
||||
|
||||
# Conditional order variables, must follow order of OrderConditionVariable enum
|
||||
STR_ORDER_CONDITIONAL_LOAD_PERCENTAGE :نسبة التحميل
|
||||
STR_ORDER_CONDITIONAL_RELIABILITY :الصلاحية
|
||||
STR_ORDER_CONDITIONAL_MAX_SPEED :السرعة القصوى
|
||||
@@ -3246,7 +3256,7 @@ STR_ORDER_STOP_ORDER :توقف
|
||||
|
||||
STR_ORDER_GO_TO_STATION :{STRING} {STATION} {STRING}
|
||||
|
||||
STR_ORDER_AUTOMATIC :(تلقائى)
|
||||
STR_ORDER_IMPLICIT :(تلقائى)
|
||||
|
||||
STR_ORDER_FULL_LOAD :-تحميل بالكامل-
|
||||
STR_ORDER_FULL_LOAD_ANY :-حمل اي بضاعة بالكامل-
|
||||
@@ -3437,6 +3447,8 @@ STR_ERROR_PNGMAP_MISC :{WHITE}حدث
|
||||
STR_ERROR_BMPMAP :{WHITE}لا يمكن تحميل الخريطة من BMP ...
|
||||
STR_ERROR_BMPMAP_IMAGE_TYPE :{WHITE}لايمكن تحويل نوع الصورة...
|
||||
|
||||
STR_ERROR_HEIGHTMAP_TOO_LARGE :{WHITE}الصورة ضخمة جدا ...
|
||||
|
||||
STR_WARNING_HEIGHTMAP_SCALE_CAPTION :{WHITE}تحذير
|
||||
STR_WARNING_HEIGHTMAP_SCALE_MESSAGE :{YELLOW}اعادة تحجيم الخريطة المصدر كثيرا غير مستحسن. هل تريد اكمال توليد الخريطة؟
|
||||
|
||||
@@ -4242,6 +4254,7 @@ STR_TINY_BLACK_COMA :{TINYFONT}{BLAC
|
||||
STR_TINY_COMMA :{TINYFONT}{COMMA}
|
||||
STR_BLUE_COMMA :{BLUE}{COMMA}
|
||||
STR_RED_COMMA :{RED}{COMMA}
|
||||
STR_TINY_BLACK_DECIMAL :{TINYFONT}{BLACK}{DECIMAL}
|
||||
STR_COMPANY_MONEY :{WHITE}{CURRENCY}
|
||||
STR_BLACK_DATE_LONG :{BLACK}{DATE_LONG}
|
||||
STR_BLACK_CROSS :{BLACK}{CROSS}
|
||||
|
@@ -587,7 +587,7 @@ STR_SORT_BY_MAX_SPEED :Максыма
|
||||
STR_SORT_BY_MODEL :Мадэль
|
||||
STR_SORT_BY_VALUE :Кошт
|
||||
STR_SORT_BY_LENGTH :Даўжыня
|
||||
STR_SORT_BY_LIFE_TIME :Астатні тэрмін службы
|
||||
STR_SORT_BY_LIFE_TIME :Рэшткавы тэрмін службы
|
||||
STR_SORT_BY_TIMETABLE_DELAY :Адставаньне ад графіку
|
||||
STR_SORT_BY_FACILITY :Тып станцыі
|
||||
STR_SORT_BY_WAITING :Коль-ць грузу на станцыі
|
||||
@@ -760,6 +760,7 @@ STR_ABOUT_MENU_ZOOMIN_SCREENSHOT :Здымак э
|
||||
STR_ABOUT_MENU_GIANT_SCREENSHOT :Здымак усёй мапы (Ctrl+G)
|
||||
STR_ABOUT_MENU_ABOUT_OPENTTD :Аб гульні OpenTTD
|
||||
STR_ABOUT_MENU_SPRITE_ALIGNER :Выраўноўваньне спрайтаў
|
||||
STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Пераключыць абмяжоўвальныя рамкі
|
||||
############ range ends here
|
||||
|
||||
############ range for days starts (also used for the place in the highscore window)
|
||||
@@ -1183,7 +1184,7 @@ STR_GAME_OPTIONS_CURRENCY_DEM :Нямецка
|
||||
STR_GAME_OPTIONS_CURRENCY_DKK :Дацкая крона (DKK)
|
||||
STR_GAME_OPTIONS_CURRENCY_ESP :Гішпанская пэсэта (ESP)
|
||||
STR_GAME_OPTIONS_CURRENCY_FIM :Фінская марка (FIM)
|
||||
STR_GAME_OPTIONS_CURRENCY_FRF :Францускі франк (FRF)
|
||||
STR_GAME_OPTIONS_CURRENCY_FRF :Французскі франк (FRF)
|
||||
STR_GAME_OPTIONS_CURRENCY_GRD :Грэцкая драхма (GRD)
|
||||
STR_GAME_OPTIONS_CURRENCY_HUF :Вугорскі форынт (HUF)
|
||||
STR_GAME_OPTIONS_CURRENCY_ISK :Ісьляндзкая крона (ISK)
|
||||
@@ -1373,6 +1374,7 @@ STR_SEA_LEVEL_HIGH :Вялiкая
|
||||
STR_SEA_LEVEL_CUSTOM :Зададзены
|
||||
STR_SEA_LEVEL_CUSTOM_PERCENTAGE :Зададзены ({NUM}%)
|
||||
|
||||
|
||||
STR_DISASTER_NONE :Выключаны
|
||||
STR_DISASTER_REDUCED :Зьніжаныя
|
||||
STR_DISASTER_NORMAL :Звычайныя
|
||||
@@ -1540,6 +1542,7 @@ STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_LONG :доўгі (31-
|
||||
STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_SHORT :кароткі (31-01-2008)
|
||||
STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_ISO :ISO (2008-01-31)
|
||||
|
||||
|
||||
STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME :{LTBLUE}Аўтаматычнае ўключэньне паўзы напачатку гульні: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL :{LTBLUE}Падчас паўзы дазволiць: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_NO_ACTIONS :нiчога
|
||||
@@ -1722,6 +1725,7 @@ STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Прав
|
||||
STR_INTRO_TOOLTIP_AI_SETTINGS :{BLACK}Паказаць наладкi ШI/АІ
|
||||
STR_INTRO_TOOLTIP_QUIT :{BLACK}Выйсьці з OpenTTD
|
||||
|
||||
|
||||
# Quit window
|
||||
STR_QUIT_CAPTION :{WHITE}Выхад
|
||||
STR_QUIT_ARE_YOU_SURE_YOU_WANT_TO_EXIT_OPENTTD :{YELLOW}Вы ўпэўнены, што жадаеце перапыніць гульню й вярнуцца ў {STRING}?
|
||||
@@ -2820,6 +2824,8 @@ STR_NEWGRF_ERROR_CORRUPT_SPRITE :{YELLOW}{STRING
|
||||
STR_NEWGRF_ERROR_MULTIPLE_ACTION_8 :Змяшчае некалькі Action 8 дзеяньняў.
|
||||
STR_NEWGRF_ERROR_READ_BOUNDS :Дадзеныя раптоўна скончыліся.
|
||||
STR_NEWGRF_ERROR_MISSING_SPRITES :{WHITE}У бягучым наборы базавай графікі адсутнічаюць выявы некаторых аб'ектаў.{}Калі ласка, абнавіце модуль базавай графікі.
|
||||
STR_NEWGRF_ERROR_GRM_FAILED :Запрошаныя рэсурсы GRF недаступныя
|
||||
STR_NEWGRF_ERROR_FORCEFULLY_DISABLED :{2:STRING} быў адключаны з-за {4:STRING}
|
||||
|
||||
# NewGRF related 'general' warnings
|
||||
STR_NEWGRF_POPUP_CAUTION_CAPTION :{WHITE}Асцярожна!
|
||||
@@ -2856,6 +2862,8 @@ STR_NEWGRF_INVALID_CARGO_QUANTITY :{COMMA} <нев
|
||||
STR_NEWGRF_INVALID_ENGINE :<няправільная мадэль>
|
||||
STR_NEWGRF_INVALID_INDUSTRYTYPE :<невядомае прадпрыемства>
|
||||
|
||||
# NewGRF scanning window
|
||||
|
||||
# Sign list window
|
||||
STR_SIGN_LIST_CAPTION :{WHITE}Сьпіс таблічак - {COMMA} табліч{P ка кi ак}
|
||||
STR_SIGN_LIST_MATCH_CASE :{BLACK}Рэгiстр
|
||||
@@ -3543,6 +3551,8 @@ STR_ORDER_DROP_HALT_DEPOT :Стоп
|
||||
STR_ORDER_SERVICE_TOOLTIP :{BLACK}Прапусціць гэтае заданьне, калі абслугоўваньне не патрабуецца
|
||||
|
||||
STR_ORDER_CONDITIONAL_VARIABLE_TOOLTIP :{BLACK}Парамэтр транспарту для параўнаньня
|
||||
|
||||
# Conditional order variables, must follow order of OrderConditionVariable enum
|
||||
STR_ORDER_CONDITIONAL_LOAD_PERCENTAGE :Працэнт пагрузкі
|
||||
STR_ORDER_CONDITIONAL_RELIABILITY :Надзейнасьць
|
||||
STR_ORDER_CONDITIONAL_MAX_SPEED :Макс. хуткасьць
|
||||
@@ -3603,7 +3613,7 @@ STR_ORDER_STOP_ORDER :(Стоп)
|
||||
|
||||
STR_ORDER_GO_TO_STATION :{STRING} {STATION} {STRING}
|
||||
|
||||
STR_ORDER_AUTOMATIC :(Аўтаматычна)
|
||||
STR_ORDER_IMPLICIT :(Аўтаматычна)
|
||||
|
||||
STR_ORDER_FULL_LOAD :(Поўная загрузка)
|
||||
STR_ORDER_FULL_LOAD_ANY :(Поўная загрузка любым грузам)
|
||||
@@ -3794,6 +3804,8 @@ STR_ERROR_PNGMAP_MISC :{WHITE}... не
|
||||
STR_ERROR_BMPMAP :{WHITE}Не атрымалася загрузіць ляндшафт з BMP...
|
||||
STR_ERROR_BMPMAP_IMAGE_TYPE :{WHITE}... немагчыма пераўтварыць тып вiдарысу.
|
||||
|
||||
STR_ERROR_HEIGHTMAP_TOO_LARGE :{WHITE}... выява занадта вялiкая
|
||||
|
||||
STR_WARNING_HEIGHTMAP_SCALE_CAPTION :{WHITE}Выхад за межы даступных значэньняў
|
||||
STR_WARNING_HEIGHTMAP_SCALE_MESSAGE :{YELLOW}Змяненьне памераў зыходнай карты да такіх значэньняў не рэкамендуецца. Працягваць?
|
||||
|
||||
@@ -3887,7 +3899,7 @@ STR_ERROR_CAN_ONLY_BE_BUILT_IN_DESERT :{WHITE}... мо
|
||||
STR_ERROR_CAN_ONLY_BE_BUILT_IN_TOWNS :{WHITE}... можна будаваць толькі ў гарадах
|
||||
STR_ERROR_CAN_ONLY_BE_BUILT_IN_LOW_AREAS :{WHITE}... можна будаваць толькі ў нізінах
|
||||
STR_ERROR_CAN_ONLY_BE_POSITIONED :{WHITE}... можа знаходзіцца толькі ля краю мапы
|
||||
STR_ERROR_FOREST_CAN_ONLY_BE_PLANTED :{WHITE}... лес можна саджаць толькі вышэй за лінію сьнегу
|
||||
STR_ERROR_FOREST_CAN_ONLY_BE_PLANTED :{WHITE}... лес можна саджаць толькі вышэй за сьнегавую лiнiю
|
||||
|
||||
# Station construction related errors
|
||||
STR_ERROR_CAN_T_BUILD_RAILROAD_STATION :{WHITE}Тут немагчыма пабудаваць чыгуначную станцыю...
|
||||
@@ -4719,6 +4731,7 @@ STR_TINY_BLACK_COMA :{TINYFONT}{BLAC
|
||||
STR_TINY_COMMA :{TINYFONT}{COMMA}
|
||||
STR_BLUE_COMMA :{BLUE}{COMMA}
|
||||
STR_RED_COMMA :{RED}{COMMA}
|
||||
STR_TINY_BLACK_DECIMAL :{TINYFONT}{BLACK}{DECIMAL}
|
||||
STR_COMPANY_MONEY :{WHITE}{CURRENCY}
|
||||
STR_BLACK_DATE_LONG :{BLACK}{DATE_LONG}
|
||||
STR_BLACK_CROSS :{BLACK}{CROSS}
|
||||
|
@@ -38,12 +38,12 @@ STR_CARGO_PLURAL_GRAIN :{G=m}Cereais
|
||||
STR_CARGO_PLURAL_WOOD :{G=f}Madeira
|
||||
STR_CARGO_PLURAL_IRON_ORE :{G=m}Minério de Ferro
|
||||
STR_CARGO_PLURAL_STEEL :{G=m}Aço
|
||||
STR_CARGO_PLURAL_VALUABLES :{G=f}Objetos de Valor
|
||||
STR_CARGO_PLURAL_VALUABLES :{G=f}Preciosidades
|
||||
STR_CARGO_PLURAL_COPPER_ORE :{G=m}Minério de Cobre
|
||||
STR_CARGO_PLURAL_MAIZE :{G=m}Milho
|
||||
STR_CARGO_PLURAL_FRUIT :{G=f}Fruta
|
||||
STR_CARGO_PLURAL_DIAMONDS :{G=m}Diamantes
|
||||
STR_CARGO_PLURAL_FOOD :{G=m}Alimentos
|
||||
STR_CARGO_PLURAL_FOOD :{G=m}Alimento
|
||||
STR_CARGO_PLURAL_PAPER :{G=m}Papel
|
||||
STR_CARGO_PLURAL_GOLD :{G=m}Ouro
|
||||
STR_CARGO_PLURAL_WATER :{G=f}Água
|
||||
@@ -448,6 +448,7 @@ STR_ABOUT_MENU_ZOOMIN_SCREENSHOT :Ampliado em cap
|
||||
STR_ABOUT_MENU_GIANT_SCREENSHOT :Captura de tela do mapa inteiro
|
||||
STR_ABOUT_MENU_ABOUT_OPENTTD :Sobre 'OpenTTD'
|
||||
STR_ABOUT_MENU_SPRITE_ALIGNER :Alinhador de "sprites"
|
||||
STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Alternar caixas limítrofes
|
||||
############ range ends here
|
||||
|
||||
############ range for days starts (also used for the place in the highscore window)
|
||||
@@ -540,7 +541,7 @@ STR_GRAPH_PERFORMANCE_DETAIL_TOOLTIP :{BLACK}Exibir a
|
||||
|
||||
# Graph key window
|
||||
STR_GRAPH_KEY_CAPTION :{WHITE}Chave para gráficos da empresa
|
||||
STR_GRAPH_KEY_COMPANY_SELECTION_TOOLTIP :{BLACK}Clique aqui para alternar a entrada da empresa no gráfico em ligado/desligado
|
||||
STR_GRAPH_KEY_COMPANY_SELECTION_TOOLTIP :{BLACK}Clique aqui para alternar a entrada da empresa no gráfico
|
||||
|
||||
# Company league window
|
||||
STR_COMPANY_LEAGUE_TABLE_CAPTION :{WHITE}Tabela da Liga das Empresas
|
||||
@@ -707,7 +708,7 @@ STR_SMALLMAP_ENABLE_ALL :{BLACK}Habilita
|
||||
STR_SMALLMAP_SHOW_HEIGHT :{BLACK}Mostrar altitude
|
||||
STR_SMALLMAP_TOOLTIP_DISABLE_ALL_INDUSTRIES :{BLACK}Não exibir indústrias no mapa
|
||||
STR_SMALLMAP_TOOLTIP_ENABLE_ALL_INDUSTRIES :{BLACK}Exibir todas as indústrias no mapa
|
||||
STR_SMALLMAP_TOOLTIP_SHOW_HEIGHT :{BLACK}Alternar a exibição de mapa de elevação
|
||||
STR_SMALLMAP_TOOLTIP_SHOW_HEIGHT :{BLACK}Alternar a exibição de mapa topográfico
|
||||
STR_SMALLMAP_TOOLTIP_DISABLE_ALL_COMPANIES :{BLACK}Não exibir propriedade da empresa no mapa
|
||||
STR_SMALLMAP_TOOLTIP_ENABLE_ALL_COMPANIES :{BLACK}Exibir todas as propriedades da empresa no mapa
|
||||
|
||||
@@ -1057,6 +1058,7 @@ STR_SEA_LEVEL_HIGH :Alto
|
||||
STR_SEA_LEVEL_CUSTOM :Personalizado
|
||||
STR_SEA_LEVEL_CUSTOM_PERCENTAGE :Personalizado ({NUM}%)
|
||||
|
||||
|
||||
STR_DISASTER_NONE :Nenhum
|
||||
STR_DISASTER_REDUCED :Reduzido
|
||||
STR_DISASTER_NORMAL :Normal
|
||||
@@ -1183,7 +1185,7 @@ STR_CONFIG_SETTING_TREE_PLACER :{LTBLUE}Algorí
|
||||
STR_CONFIG_SETTING_TREE_PLACER_NONE :Nenhum
|
||||
STR_CONFIG_SETTING_TREE_PLACER_ORIGINAL :Original
|
||||
STR_CONFIG_SETTING_TREE_PLACER_IMPROVED :Melhorado
|
||||
STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :{LTBLUE}Rotação do mapa em relevo: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :{LTBLUE}Rotação do mapa topográfico: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :Sentido Anti-Horário
|
||||
STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :Sentido Horário
|
||||
STR_CONFIG_SETTING_SE_FLAT_WORLD_HEIGHT :{LTBLUE}A altitude de um mapa regular é de: {ORANGE}{STRING}
|
||||
@@ -1224,6 +1226,7 @@ STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_LONG :comprido (31 De
|
||||
STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_SHORT :curto (31-12-2008)
|
||||
STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_ISO :ISO (2008-12-31)
|
||||
|
||||
|
||||
STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME :{LTBLUE}Pausar automaticamente ao inicar um novo jogo: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL :{LTBLUE}Permite enquanto pausado: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_NO_ACTIONS :nenhuma ação
|
||||
@@ -1374,7 +1377,7 @@ STR_INTRO_CAPTION :{WHITE}OpenTTD
|
||||
STR_INTRO_NEW_GAME :{BLACK}Novo Jogo
|
||||
STR_INTRO_LOAD_GAME :{BLACK}Abrir Jogo
|
||||
STR_INTRO_PLAY_SCENARIO :{BLACK}Jogar Cenário
|
||||
STR_INTRO_PLAY_HEIGHTMAP :{BLACK}Jogar num mapa de relevo
|
||||
STR_INTRO_PLAY_HEIGHTMAP :{BLACK}Jogar num mapa topográfico
|
||||
STR_INTRO_SCENARIO_EDITOR :{BLACK}Editor de Cenário
|
||||
STR_INTRO_MULTIPLAYER :{BLACK}Multi-jogador
|
||||
|
||||
@@ -1388,7 +1391,7 @@ STR_INTRO_QUIT :{BLACK}Sair
|
||||
|
||||
STR_INTRO_TOOLTIP_NEW_GAME :{BLACK}Iniciar um novo jogo. Ctrl+Clique para pular a configuração do mapa
|
||||
STR_INTRO_TOOLTIP_LOAD_GAME :{BLACK}Carregar um jogo salvado
|
||||
STR_INTRO_TOOLTIP_PLAY_HEIGHTMAP :{BLACK}Inica um novo jogo, a partir de um mapa de relevo
|
||||
STR_INTRO_TOOLTIP_PLAY_HEIGHTMAP :{BLACK}Inica um novo jogo, a partir de um mapa topográfico
|
||||
STR_INTRO_TOOLTIP_PLAY_SCENARIO :{BLACK}Iniciar um novo jogo, usando um cenário personalizado
|
||||
STR_INTRO_TOOLTIP_SCENARIO_EDITOR :{BLACK}Criar um cenário de jogo personalizado
|
||||
STR_INTRO_TOOLTIP_MULTIPLAYER :{BLACK}Iniciar um jogo de vários jogadores
|
||||
@@ -1406,6 +1409,7 @@ STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Checar p
|
||||
STR_INTRO_TOOLTIP_AI_SETTINGS :{BLACK}Exibir configs. da IA
|
||||
STR_INTRO_TOOLTIP_QUIT :{BLACK}Sair de 'OpenTTD'
|
||||
|
||||
|
||||
# Quit window
|
||||
STR_QUIT_CAPTION :{WHITE}Sair
|
||||
STR_QUIT_ARE_YOU_SURE_YOU_WANT_TO_EXIT_OPENTTD :{YELLOW}Tem a certeza que deseja abandonar este jogo e voltar ao {STRING}?
|
||||
@@ -1863,7 +1867,7 @@ STR_CONTENT_TYPE_NEWGRF :NewGRF
|
||||
STR_CONTENT_TYPE_AI :IA
|
||||
STR_CONTENT_TYPE_AI_LIBRARY :IA's disponíveis
|
||||
STR_CONTENT_TYPE_SCENARIO :Cenário
|
||||
STR_CONTENT_TYPE_HEIGHTMAP :Mapa de altitudes
|
||||
STR_CONTENT_TYPE_HEIGHTMAP :Mapa topográfico
|
||||
STR_CONTENT_TYPE_BASE_SOUNDS :Sons padrão
|
||||
STR_CONTENT_TYPE_BASE_MUSIC :Músicsas padrão
|
||||
|
||||
@@ -1921,7 +1925,7 @@ STR_RAIL_TOOLBAR_TOOLTIP_BUILD_AUTORAIL :{BLACK}Construi
|
||||
STR_RAIL_TOOLBAR_TOOLTIP_BUILD_TRAIN_DEPOT_FOR_BUILDING :{BLACK}Construir depósito (para compra e manutenção de trens). Shift altera construção/estimação de custo
|
||||
STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL_TO_WAYPOINT :{BLACK}Converter linha em ponto de controle. Ctrl permite a união de pontos de controle. Shift altera construção/estimação de custo
|
||||
STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_STATION :{BLACK}Construir estação ferroviária. Ctrl permite a união de estações. Shift altera construção/estimação de custo
|
||||
STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}Construir sinais ferroviários. Ctrl liga/desliga a constução de semáforos/sinais{}Clicar e arrastar constroi sinais até a próxima junção{}Ctrl+Clique liga/desliga a janela de seleção de sinais. Shift altera construção/estimação de custo
|
||||
STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}Construir sinais ferroviários. Ctrl alterna a construção de semáforos/sinais{}Clicar e arrastar constroi sinais até a próxima junção{}Ctrl+Clique alterna a janela de seleção de sinais. Shift altera construção/estimação de custo
|
||||
STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_BRIDGE :{BLACK}Construir ponte ferroviária. Shift altera construção/estimação de custo
|
||||
STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TUNNEL :{BLACK}Construir túnel ferroviário. Shift altera construção/estimação de custo
|
||||
STR_RAIL_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR :{BLACK}Alternar construir/remover ferrovias, sinais, pontos de controle e estações. Segure ctrl para remover os trilhos de estações e pontos de controle.
|
||||
@@ -2257,7 +2261,7 @@ STR_LAI_TUNNEL_DESCRIPTION_RAILROAD :Túnel ferrovi
|
||||
STR_LAI_TUNNEL_DESCRIPTION_ROAD :Túnel rodoviário
|
||||
|
||||
STR_LAI_BRIDGE_DESCRIPTION_RAIL_SUSPENSION_STEEL :Ponte ferroviária suspensa em aço
|
||||
STR_LAI_BRIDGE_DESCRIPTION_RAIL_GIRDER_STEELE :Ponte ferroviária com vigas em aço
|
||||
STR_LAI_BRIDGE_DESCRIPTION_RAIL_GIRDER_STEELE :Ponte ferroviária com vigas de aço
|
||||
STR_LAI_BRIDGE_DESCRIPTION_RAIL_CANTILEVER_STEEL :Ponte ferroviária cantilever em aço
|
||||
STR_LAI_BRIDGE_DESCRIPTION_RAIL_SUSPENSION_CONCRETE :Ponte ferroviária suspensa de concreto reforçado
|
||||
STR_LAI_BRIDGE_DESCRIPTION_RAIL_WOODEN :Ponte ferroviária de madeira
|
||||
@@ -2290,7 +2294,7 @@ STR_SAVELOAD_SAVE_CAPTION :{WHITE}Salvar J
|
||||
STR_SAVELOAD_LOAD_CAPTION :{WHITE}Abrir Jogo
|
||||
STR_SAVELOAD_SAVE_SCENARIO :{WHITE}Salvar Cenário
|
||||
STR_SAVELOAD_LOAD_SCENARIO :{WHITE}Abrir Cenário
|
||||
STR_SAVELOAD_LOAD_HEIGHTMAP :{WHITE}Carregar Relevo
|
||||
STR_SAVELOAD_LOAD_HEIGHTMAP :{WHITE}Carregar mapa topográfico
|
||||
STR_SAVELOAD_HOME_BUTTON :{BLACK}Clique aqui para selecionar o diretório padrão de jogos salvos
|
||||
STR_SAVELOAD_BYTES_FREE :{BLACK}{BYTES} livres
|
||||
STR_SAVELOAD_LIST_TOOLTIP :{BLACK}Lista de unidades, diretórios e arquivos de jogos gravados
|
||||
@@ -2342,8 +2346,8 @@ STR_MAPGEN_BORDER_RANDOM :{BLACK}Randômi
|
||||
STR_MAPGEN_BORDER_RANDOMIZE :{BLACK}Randômico
|
||||
STR_MAPGEN_BORDER_MANUAL :{BLACK}Manual
|
||||
|
||||
STR_MAPGEN_HEIGHTMAP_ROTATION :{BLACK}Rotação do mapa em relevo:
|
||||
STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}Nome do mapa em relevo:
|
||||
STR_MAPGEN_HEIGHTMAP_ROTATION :{BLACK}Rotação do mapa topográfico:
|
||||
STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}Nome do mapa topográfico:
|
||||
STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}Tamanho:
|
||||
STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} x {NUM}
|
||||
|
||||
@@ -2403,8 +2407,8 @@ STR_NEWGRF_SETTINGS_MOVEDOWN_TOOLTIP :{BLACK}Move o N
|
||||
STR_NEWGRF_SETTINGS_FILE_TOOLTIP :{BLACK}Lista dos NewGRF instalados. Clique em um deles para mudar seus parâmetros
|
||||
|
||||
STR_NEWGRF_SETTINGS_SET_PARAMETERS :{BLACK}Definir parâmetros
|
||||
STR_NEWGRF_SETTINGS_TOGGLE_PALETTE :{BLACK}Liga/Desliga paleta
|
||||
STR_NEWGRF_SETTINGS_TOGGLE_PALETTE_TOOLTIP :{BLACK}Liga/desliga a paleta do NewGRF selecionado.{}Faça isso quando os gráficos deste ficarem rosa durante o jogo
|
||||
STR_NEWGRF_SETTINGS_TOGGLE_PALETTE :{BLACK}Alterna paleta
|
||||
STR_NEWGRF_SETTINGS_TOGGLE_PALETTE_TOOLTIP :{BLACK}Alterna a paleta do NewGRF selecionado.{}Faça isso quando os gráficos deste ficarem rosa durante o jogo
|
||||
STR_NEWGRF_SETTINGS_APPLY_CHANGES :{BLACK}Aplicar alterações
|
||||
|
||||
STR_NEWGRF_SETTINGS_FIND_MISSING_CONTENT_BUTTON :{BLACK}Procurar o conteúdo on-line
|
||||
@@ -2484,6 +2488,8 @@ STR_NEWGRF_ERROR_CORRUPT_SPRITE :{YELLOW}{STRING
|
||||
STR_NEWGRF_ERROR_MULTIPLE_ACTION_8 :Contém entradas múltiplas de Ação 8
|
||||
STR_NEWGRF_ERROR_READ_BOUNDS :Continuar lendo após o fim do pseudo-sprite
|
||||
STR_NEWGRF_ERROR_MISSING_SPRITES :{WHITE}Estão faltando alguns sprites na base de gráficos em uso.{}Por favor atualize a base de gráficos
|
||||
STR_NEWGRF_ERROR_GRM_FAILED :Recursos GRF requisitados não estão dispon.
|
||||
STR_NEWGRF_ERROR_FORCEFULLY_DISABLED :{2:STRING} foi desativado por {4:STRING}
|
||||
|
||||
# NewGRF related 'general' warnings
|
||||
STR_NEWGRF_POPUP_CAUTION_CAPTION :{WHITE}Cuidado!
|
||||
@@ -2520,6 +2526,8 @@ STR_NEWGRF_INVALID_CARGO_QUANTITY :{COMMA} de <car
|
||||
STR_NEWGRF_INVALID_ENGINE :<modelo de veíc. inválido>
|
||||
STR_NEWGRF_INVALID_INDUSTRYTYPE :<indústria inválida>
|
||||
|
||||
# NewGRF scanning window
|
||||
|
||||
# Sign list window
|
||||
STR_SIGN_LIST_CAPTION :{WHITE}Lista de Placas - {COMMA} Placa{P "" s}
|
||||
STR_SIGN_LIST_MATCH_CASE :{BLACK}Diferenciar caixa alta
|
||||
@@ -3187,6 +3195,8 @@ STR_ORDER_DROP_HALT_DEPOT :Parar
|
||||
STR_ORDER_SERVICE_TOOLTIP :{BLACK}Pular esta ordem a menos que necessite de manutenção
|
||||
|
||||
STR_ORDER_CONDITIONAL_VARIABLE_TOOLTIP :{BLACK}Dados do veículo no qual se basear para pular ordem
|
||||
|
||||
# Conditional order variables, must follow order of OrderConditionVariable enum
|
||||
STR_ORDER_CONDITIONAL_LOAD_PERCENTAGE :Percentual carregado
|
||||
STR_ORDER_CONDITIONAL_RELIABILITY :Confiabilidade
|
||||
STR_ORDER_CONDITIONAL_MAX_SPEED :Velocidade máxima
|
||||
@@ -3247,7 +3257,7 @@ STR_ORDER_STOP_ORDER :(Parar)
|
||||
|
||||
STR_ORDER_GO_TO_STATION :{STRING} {STATION} {STRING}
|
||||
|
||||
STR_ORDER_AUTOMATIC :(Automatico)
|
||||
STR_ORDER_IMPLICIT :(Implícito)
|
||||
|
||||
STR_ORDER_FULL_LOAD :(Carregar completamente)
|
||||
STR_ORDER_FULL_LOAD_ANY :(Carregar completamente qualquer carga)
|
||||
@@ -3403,8 +3413,8 @@ STR_PERCENT_UP_DOWN :{WHITE}{NUM}%{U
|
||||
# Income 'floats'
|
||||
STR_INCOME_FLOAT_COST_SMALL :{TINYFONT}{RED}Custo: {CURRENCY}
|
||||
STR_INCOME_FLOAT_COST :{RED}Custo: {CURRENCY}
|
||||
STR_INCOME_FLOAT_INCOME_SMALL :{TINYFONT}{GREEN}Renda: {CURRENCY}
|
||||
STR_INCOME_FLOAT_INCOME :{GREEN}Renda: {CURRENCY}
|
||||
STR_INCOME_FLOAT_INCOME_SMALL :{TINYFONT}{GREEN}Lucro: {CURRENCY}
|
||||
STR_INCOME_FLOAT_INCOME :{GREEN}Lucro: {CURRENCY}
|
||||
STR_FEEDER_TINY :{TINYFONT}{YELLOW}Transferir: {CURRENCY}
|
||||
STR_FEEDER :{YELLOW}Transferir: {CURRENCY}
|
||||
STR_MESSAGE_ESTIMATED_COST :{WHITE}Custo Estimado: {CURRENCY}
|
||||
@@ -3819,7 +3829,7 @@ STR_TOWN_BUILDING_NAME_STADIUM_2 :Estádio
|
||||
STR_TOWN_BUILDING_NAME_OFFICES_1 :Escritórios
|
||||
STR_TOWN_BUILDING_NAME_HOUSES_2 :Casas
|
||||
STR_TOWN_BUILDING_NAME_CINEMA_1 :Cinema
|
||||
STR_TOWN_BUILDING_NAME_SHOPPING_MALL_1 :Centro Comercial
|
||||
STR_TOWN_BUILDING_NAME_SHOPPING_MALL_1 :Shopping center
|
||||
STR_TOWN_BUILDING_NAME_IGLOO_1 :Iglú
|
||||
STR_TOWN_BUILDING_NAME_TEPEES_1 :Ocas
|
||||
STR_TOWN_BUILDING_NAME_TEAPOT_HOUSE_1 :Casa-bule
|
||||
@@ -4243,6 +4253,7 @@ STR_TINY_BLACK_COMA :{TINYFONT}{BLAC
|
||||
STR_TINY_COMMA :{TINYFONT}{COMMA}
|
||||
STR_BLUE_COMMA :{BLUE}{COMMA}
|
||||
STR_RED_COMMA :{RED}{COMMA}
|
||||
STR_TINY_BLACK_DECIMAL :{TINYFONT}{BLACK}{DECIMAL}
|
||||
STR_COMPANY_MONEY :{WHITE}{CURRENCY}
|
||||
STR_BLACK_DATE_LONG :{BLACK}{DATE_LONG}
|
||||
STR_BLACK_CROSS :{BLACK}{CROSS}
|
||||
|
@@ -3239,7 +3239,7 @@ STR_ORDER_STOP_ORDER :(Спри)
|
||||
|
||||
STR_ORDER_GO_TO_STATION :{STRING} {STATION} {STRING}
|
||||
|
||||
STR_ORDER_AUTOMATIC :{G=n}(Автоматично)
|
||||
STR_ORDER_IMPLICIT :{G=n}(Автоматично)
|
||||
|
||||
STR_ORDER_FULL_LOAD :(Напълно натовари)
|
||||
STR_ORDER_FULL_LOAD_ANY :(Напълно натовари какъвто и да е товар)
|
||||
|
@@ -448,6 +448,7 @@ STR_ABOUT_MENU_ZOOMIN_SCREENSHOT :Ampliació en l
|
||||
STR_ABOUT_MENU_GIANT_SCREENSHOT :Captura de pantalla de tot el mapa
|
||||
STR_ABOUT_MENU_ABOUT_OPENTTD :Quant a 'OpenTTD'
|
||||
STR_ABOUT_MENU_SPRITE_ALIGNER :Alineador d'sprite
|
||||
STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Commuta les caixes delimitadores
|
||||
############ range ends here
|
||||
|
||||
############ range for days starts (also used for the place in the highscore window)
|
||||
@@ -859,19 +860,19 @@ STR_GAME_OPTIONS_CURRENCY_UNITS_FRAME :{BLACK}Unitats
|
||||
STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP :{BLACK}Selecció d'unitats de moneda
|
||||
|
||||
############ start of currency region
|
||||
STR_GAME_OPTIONS_CURRENCY_GBP :Lliures (£)
|
||||
STR_GAME_OPTIONS_CURRENCY_USD :Dòlars ($)
|
||||
STR_GAME_OPTIONS_CURRENCY_EUR :Euro (€)
|
||||
STR_GAME_OPTIONS_CURRENCY_YEN :Iens (¥)
|
||||
STR_GAME_OPTIONS_CURRENCY_GBP :Lliura Esterlina (GBP)
|
||||
STR_GAME_OPTIONS_CURRENCY_USD :Dòlar Americà (USD)
|
||||
STR_GAME_OPTIONS_CURRENCY_EUR :Euro (EUR)
|
||||
STR_GAME_OPTIONS_CURRENCY_YEN :Ien Japonès (JPY)
|
||||
STR_GAME_OPTIONS_CURRENCY_ATS :Shillings Austríacs (ATS)
|
||||
STR_GAME_OPTIONS_CURRENCY_BEF :Francs Belgues (BEF)
|
||||
STR_GAME_OPTIONS_CURRENCY_CHF :Francs Suïssos (CHF)
|
||||
STR_GAME_OPTIONS_CURRENCY_CZK :Corones Txeques (CZK)
|
||||
STR_GAME_OPTIONS_CURRENCY_DEM :Marcs Alemanys (DEM)
|
||||
STR_GAME_OPTIONS_CURRENCY_DKK :Corones Daneses (DKK)
|
||||
STR_GAME_OPTIONS_CURRENCY_ESP :Pesseta (ESP)
|
||||
STR_GAME_OPTIONS_CURRENCY_ESP :Pesseta Espanyola (ESP)
|
||||
STR_GAME_OPTIONS_CURRENCY_FIM :Marcs Finesos (FIM)
|
||||
STR_GAME_OPTIONS_CURRENCY_FRF :Franc (FRF)
|
||||
STR_GAME_OPTIONS_CURRENCY_FRF :Franc Francès (FRF)
|
||||
STR_GAME_OPTIONS_CURRENCY_GRD :Dracmes Gregues (GRD)
|
||||
STR_GAME_OPTIONS_CURRENCY_HUF :Florí Hongarès (HUF)
|
||||
STR_GAME_OPTIONS_CURRENCY_ISK :Corones Islandeses (ISK)
|
||||
@@ -1057,6 +1058,7 @@ STR_SEA_LEVEL_HIGH :Alt
|
||||
STR_SEA_LEVEL_CUSTOM :Personalitzat
|
||||
STR_SEA_LEVEL_CUSTOM_PERCENTAGE :Personalitzat ({NUM}%)
|
||||
|
||||
|
||||
STR_DISASTER_NONE :Cap
|
||||
STR_DISASTER_REDUCED :Reduït
|
||||
STR_DISASTER_NORMAL :Normal
|
||||
@@ -1111,8 +1113,8 @@ STR_CONFIG_SETTING_TRAIN_ACCELERATION_MODEL_REALISTIC :Realístic
|
||||
STR_CONFIG_SETTING_ROAD_VEHICLE_ACCELERATION_MODEL :{LTBLUE}Model d'acceleració per als vehicles: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_ROAD_VEHICLE_ACCELERATION_MODEL_ORIGINAL :Original
|
||||
STR_CONFIG_SETTING_ROAD_VEHICLE_ACCELERATION_MODEL_REALISTIC :Realístic
|
||||
STR_CONFIG_SETTING_TRAIN_SLOPE_STEEPNESS :{LTBLUE}Inclinació de les pujades per als trens {ORANGE}{STRING}%
|
||||
STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS :{LTBLUE}Inclinació de les pujades per als vehicles {ORANGE}{STRING}%
|
||||
STR_CONFIG_SETTING_TRAIN_SLOPE_STEEPNESS :{LTBLUE}Inclinació de les pujades per als trens: {ORANGE}{STRING}%
|
||||
STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS :{LTBLUE}Inclinació de les pujades per als vehicles: {ORANGE}{STRING}%
|
||||
STR_CONFIG_SETTING_FORBID_90_DEG :{LTBLUE}Prohibeix fer girs de 90 graus als trens i vaixells: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :{LTBLUE}Permet ajuntar estacions no annexes: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_IMPROVEDLOAD :{LTBLUE}Utilitza algorisme millorat de càrrega: {ORANGE}{STRING}
|
||||
@@ -1224,6 +1226,7 @@ STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_LONG :llarga (31st De
|
||||
STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_SHORT :curta (31-12-2008)
|
||||
STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_ISO :ISO (2008-12-31)
|
||||
|
||||
|
||||
STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME :{LTBLUE}Posa en pausa automàticament en començar un nou joc: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL :{LTBLUE}Quan s'estigui en pausa permet: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_NO_ACTIONS :sense accions
|
||||
@@ -1406,6 +1409,7 @@ STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Comprova
|
||||
STR_INTRO_TOOLTIP_AI_SETTINGS :{BLACK}Mostra els paràmetres IA
|
||||
STR_INTRO_TOOLTIP_QUIT :{BLACK}Surt d'OpenTTD
|
||||
|
||||
|
||||
# Quit window
|
||||
STR_QUIT_CAPTION :{WHITE}Surt
|
||||
STR_QUIT_ARE_YOU_SURE_YOU_WANT_TO_EXIT_OPENTTD :{YELLOW}Estàs segur que vols abandonar aquest joc i tornar a {STRING}?
|
||||
@@ -2484,6 +2488,8 @@ STR_NEWGRF_ERROR_CORRUPT_SPRITE :{YELLOW}{STRING
|
||||
STR_NEWGRF_ERROR_MULTIPLE_ACTION_8 :Conté múltiples Accions 8 entrades
|
||||
STR_NEWGRF_ERROR_READ_BOUNDS :Lectura després de la fi d'un pseudo-sprite
|
||||
STR_NEWGRF_ERROR_MISSING_SPRITES :{WHITE}Al joc de gràfics base establert actualment li falten un nombre d'sprites.{}Si us plau actualitza el joc de gràfics base
|
||||
STR_NEWGRF_ERROR_GRM_FAILED :Els recursos GRF demanats no estan disponibles
|
||||
STR_NEWGRF_ERROR_FORCEFULLY_DISABLED :{2:STRING} ha estat desactivat per {4:STRING}
|
||||
|
||||
# NewGRF related 'general' warnings
|
||||
STR_NEWGRF_POPUP_CAUTION_CAPTION :{WHITE}Alerta!
|
||||
@@ -2520,6 +2526,8 @@ STR_NEWGRF_INVALID_CARGO_QUANTITY :{COMMA} de <cà
|
||||
STR_NEWGRF_INVALID_ENGINE :<model de vehicle invàlid>
|
||||
STR_NEWGRF_INVALID_INDUSTRYTYPE :<indústria invàlida>
|
||||
|
||||
# NewGRF scanning window
|
||||
|
||||
# Sign list window
|
||||
STR_SIGN_LIST_CAPTION :{WHITE}Llista de senyals - {COMMA} Senyal{P "" s}
|
||||
STR_SIGN_LIST_MATCH_CASE :{BLACK}Coincideix Majúscules/Minúscules
|
||||
@@ -3187,10 +3195,12 @@ STR_ORDER_DROP_HALT_DEPOT :Para
|
||||
STR_ORDER_SERVICE_TOOLTIP :{BLACK}Salta aquesta ordre si no és que es necessita una revisió
|
||||
|
||||
STR_ORDER_CONDITIONAL_VARIABLE_TOOLTIP :{BLACK}Dades del vehicle on basar el salt a
|
||||
|
||||
# Conditional order variables, must follow order of OrderConditionVariable enum
|
||||
STR_ORDER_CONDITIONAL_LOAD_PERCENTAGE :Percentatge de càrrega
|
||||
STR_ORDER_CONDITIONAL_RELIABILITY :Fiabilitat
|
||||
STR_ORDER_CONDITIONAL_MAX_SPEED :Velocitat màxima
|
||||
STR_ORDER_CONDITIONAL_AGE :Antiguitat del vehicle (anys)
|
||||
STR_ORDER_CONDITIONAL_AGE :Antiguitat (anys)
|
||||
STR_ORDER_CONDITIONAL_REQUIRES_SERVICE :Necessita revisió
|
||||
STR_ORDER_CONDITIONAL_UNCONDITIONALLY :Sempre
|
||||
|
||||
@@ -3247,7 +3257,7 @@ STR_ORDER_STOP_ORDER :(Para)
|
||||
|
||||
STR_ORDER_GO_TO_STATION :{STRING} {STATION} {STRING}
|
||||
|
||||
STR_ORDER_AUTOMATIC :(Automàtic)
|
||||
STR_ORDER_IMPLICIT :(Implícit)
|
||||
|
||||
STR_ORDER_FULL_LOAD :(Carrega del tot)
|
||||
STR_ORDER_FULL_LOAD_ANY :(Carrega del tot qualsevol càrrega)
|
||||
@@ -3261,7 +3271,7 @@ STR_ORDER_TRANSFER_FULL_LOAD :(Transfereix i
|
||||
STR_ORDER_TRANSFER_FULL_LOAD_ANY :(Transfereix i espera qualsevol càrrega completa)
|
||||
STR_ORDER_TRANSFER_NO_LOAD :(Transfereix i deixa buit)
|
||||
STR_ORDER_NO_UNLOAD :(No descarreguis i agafa càrrega)
|
||||
STR_ORDER_NO_UNLOAD_FULL_LOAD :(No descarreguis i espera carregar del tot)
|
||||
STR_ORDER_NO_UNLOAD_FULL_LOAD :(No descarreguis i espera a carregar del tot)
|
||||
STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY :(No descarreguis i espera carregar del tot qualsevol càrrega)
|
||||
STR_ORDER_NO_UNLOAD_NO_LOAD :(No descarreguis i no carreguis)
|
||||
|
||||
@@ -3438,6 +3448,8 @@ STR_ERROR_PNGMAP_MISC :{WHITE}... algu
|
||||
STR_ERROR_BMPMAP :{WHITE}Impossible carregar el terreny des del BMP...
|
||||
STR_ERROR_BMPMAP_IMAGE_TYPE :{WHITE}... no s'ha pogut convertir el tipus d'imatge
|
||||
|
||||
STR_ERROR_HEIGHTMAP_TOO_LARGE :{WHITE}... l'imatge és massa gran
|
||||
|
||||
STR_WARNING_HEIGHTMAP_SCALE_CAPTION :{WHITE}Alerta d'escala
|
||||
STR_WARNING_HEIGHTMAP_SCALE_MESSAGE :{YELLOW}No es recomana redimensionar massa el mapa d'origen. Vols continuar amb la generació?
|
||||
|
||||
@@ -4243,6 +4255,7 @@ STR_TINY_BLACK_COMA :{TINYFONT}{BLAC
|
||||
STR_TINY_COMMA :{TINYFONT}{COMMA}
|
||||
STR_BLUE_COMMA :{BLUE}{COMMA}
|
||||
STR_RED_COMMA :{RED}{COMMA}
|
||||
STR_TINY_BLACK_DECIMAL :{TINYFONT}{BLACK}{DECIMAL}
|
||||
STR_COMPANY_MONEY :{WHITE}{CURRENCY}
|
||||
STR_BLACK_DATE_LONG :{BLACK}{DATE_LONG}
|
||||
STR_BLACK_CROSS :{BLACK}{CROSS}
|
||||
|
@@ -543,6 +543,7 @@ STR_ABOUT_MENU_ZOOMIN_SCREENSHOT :Zumirano u slic
|
||||
STR_ABOUT_MENU_GIANT_SCREENSHOT :Slika zaslona cijele mape
|
||||
STR_ABOUT_MENU_ABOUT_OPENTTD :O 'OpenTTD'
|
||||
STR_ABOUT_MENU_SPRITE_ALIGNER :Poravnjanje sprite-a
|
||||
STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Odaberi granične okvire
|
||||
############ range ends here
|
||||
|
||||
############ range for days starts (also used for the place in the highscore window)
|
||||
@@ -955,25 +956,25 @@ STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP :{BLACK}Izbor no
|
||||
|
||||
############ start of currency region
|
||||
STR_GAME_OPTIONS_CURRENCY_GBP :Funte (£)
|
||||
STR_GAME_OPTIONS_CURRENCY_USD :Dolari ($)
|
||||
STR_GAME_OPTIONS_CURRENCY_EUR :Euri (€)
|
||||
STR_GAME_OPTIONS_CURRENCY_YEN :Jeni (¥)
|
||||
STR_GAME_OPTIONS_CURRENCY_USD :Američki Dolar (USD)
|
||||
STR_GAME_OPTIONS_CURRENCY_EUR :Euro (EUR)
|
||||
STR_GAME_OPTIONS_CURRENCY_YEN :Japanski Jen (JPY)
|
||||
STR_GAME_OPTIONS_CURRENCY_ATS :Austrijski šiling (ATS)
|
||||
STR_GAME_OPTIONS_CURRENCY_BEF :Belgijski franak (BEF)
|
||||
STR_GAME_OPTIONS_CURRENCY_CHF :Švicarski franak (CHF)
|
||||
STR_GAME_OPTIONS_CURRENCY_CZK :Češka kruna (CZK)
|
||||
STR_GAME_OPTIONS_CURRENCY_DEM :Njemačka marka (DEM)
|
||||
STR_GAME_OPTIONS_CURRENCY_DKK :Danska kruna (DKK)
|
||||
STR_GAME_OPTIONS_CURRENCY_ESP :Pezeta (ESP)
|
||||
STR_GAME_OPTIONS_CURRENCY_ESP :Španjolska Pezeta (ESP)
|
||||
STR_GAME_OPTIONS_CURRENCY_FIM :Finska marka (FIM)
|
||||
STR_GAME_OPTIONS_CURRENCY_FRF :Franak (FRF)
|
||||
STR_GAME_OPTIONS_CURRENCY_FRF :Francuski Franak (FRF)
|
||||
STR_GAME_OPTIONS_CURRENCY_GRD :Grčka drahma (GRD)
|
||||
STR_GAME_OPTIONS_CURRENCY_HUF :Mađarski forint (HUF)
|
||||
STR_GAME_OPTIONS_CURRENCY_ISK :Islandska kruna (ISK)
|
||||
STR_GAME_OPTIONS_CURRENCY_ITL :Talijanska lira (ITL)
|
||||
STR_GAME_OPTIONS_CURRENCY_NLG :Nizozemski gulden (NLG)
|
||||
STR_GAME_OPTIONS_CURRENCY_NOK :Norveška kruna (NOK)
|
||||
STR_GAME_OPTIONS_CURRENCY_PLN :Poljski zloti (PLN)
|
||||
STR_GAME_OPTIONS_CURRENCY_PLN :Poljski Zloti (PLN)
|
||||
STR_GAME_OPTIONS_CURRENCY_RON :Rumunjski lev (RON)
|
||||
STR_GAME_OPTIONS_CURRENCY_RUR :Ruske rublje (RUR)
|
||||
STR_GAME_OPTIONS_CURRENCY_SIT :Slovenski tolar (SIT)
|
||||
@@ -1152,6 +1153,7 @@ STR_SEA_LEVEL_HIGH :Visoko
|
||||
STR_SEA_LEVEL_CUSTOM :Proizvoljno
|
||||
STR_SEA_LEVEL_CUSTOM_PERCENTAGE :Proizvoljno ({NUM}%)
|
||||
|
||||
|
||||
STR_DISASTER_NONE :Ništa
|
||||
STR_DISASTER_REDUCED :Smanjeno
|
||||
STR_DISASTER_NORMAL :Normalno
|
||||
@@ -1206,7 +1208,7 @@ STR_CONFIG_SETTING_TRAIN_ACCELERATION_MODEL_REALISTIC :Realistični
|
||||
STR_CONFIG_SETTING_ROAD_VEHICLE_ACCELERATION_MODEL :{LTBLUE}Model ubrzavanja za cestovna vozila: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_ROAD_VEHICLE_ACCELERATION_MODEL_ORIGINAL :{G=middle}Originalno
|
||||
STR_CONFIG_SETTING_ROAD_VEHICLE_ACCELERATION_MODEL_REALISTIC :{G=middle}Stvarno
|
||||
STR_CONFIG_SETTING_TRAIN_SLOPE_STEEPNESS :{LTBLUE}Strmost kosina za vlakove {ORANGE}{STRING}%
|
||||
STR_CONFIG_SETTING_TRAIN_SLOPE_STEEPNESS :{LTBLUE}Nagib padine za vlakove: {ORANGE}{STRING}%
|
||||
STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS :{LTBLUE}Nagib padine za cestovna vozila {ORANGE}{STRING}%
|
||||
STR_CONFIG_SETTING_FORBID_90_DEG :{LTBLUE}Zabrani vlakovima i brodovima skretanja pod 90 stupnjeva: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :{LTBLUE}Dopusti spajanje postaja koje nisu izravno jedna do druge {ORANGE}{STRING}
|
||||
@@ -1319,6 +1321,7 @@ STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_LONG :dugo (31st Dec
|
||||
STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_SHORT :kratko (31-12-2008)
|
||||
STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_ISO :ISO (2008-12-31)
|
||||
|
||||
|
||||
STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME :{LTBLUE}Automatski pauziraj prilikom pokretanja nove igre: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL :{LTBLUE}Kod pauze dozvoli: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_NO_ACTIONS :nijedna akcija
|
||||
@@ -1501,6 +1504,7 @@ STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Provjeri
|
||||
STR_INTRO_TOOLTIP_AI_SETTINGS :{BLACK}Prikaži postavke umjetne inteligencije
|
||||
STR_INTRO_TOOLTIP_QUIT :{BLACK}Završi 'OpenTTD'
|
||||
|
||||
|
||||
# Quit window
|
||||
STR_QUIT_CAPTION :{WHITE}Prekid
|
||||
STR_QUIT_ARE_YOU_SURE_YOU_WANT_TO_EXIT_OPENTTD :{YELLOW}Jesi li siguran da želiš napustiti OpenTTD i vratiti se u {STRING}e?
|
||||
@@ -2579,6 +2583,8 @@ STR_NEWGRF_ERROR_CORRUPT_SPRITE :{YELLOW}{STRING
|
||||
STR_NEWGRF_ERROR_MULTIPLE_ACTION_8 :Sadrži višestruke Action 8 unose
|
||||
STR_NEWGRF_ERROR_READ_BOUNDS :Učitavanje izvan kraja pseudo-spritea.
|
||||
STR_NEWGRF_ERROR_MISSING_SPRITES :{WHITE}Baznom grafičkom setu u uporabi nedostaju neki spriteovi.{}Ažurirajte bazni grafički set
|
||||
STR_NEWGRF_ERROR_GRM_FAILED :Zatraženi GRF resursi nisu raspoloživi
|
||||
STR_NEWGRF_ERROR_FORCEFULLY_DISABLED :{2:STRING} je isključen od strane {4:STRING}
|
||||
|
||||
# NewGRF related 'general' warnings
|
||||
STR_NEWGRF_POPUP_CAUTION_CAPTION :{WHITE}Oprez!
|
||||
@@ -2615,6 +2621,8 @@ STR_NEWGRF_INVALID_CARGO_QUANTITY :{COMMA} od <pog
|
||||
STR_NEWGRF_INVALID_ENGINE :<pogrešan model vozila>
|
||||
STR_NEWGRF_INVALID_INDUSTRYTYPE :<pogrešna industrija>
|
||||
|
||||
# NewGRF scanning window
|
||||
|
||||
# Sign list window
|
||||
STR_SIGN_LIST_CAPTION :{WHITE}Popis znakova - {COMMA} znak{P "" a ova}
|
||||
STR_SIGN_LIST_MATCH_CASE :{BLACK}Velika i mala slova
|
||||
@@ -3282,6 +3290,8 @@ STR_ORDER_DROP_HALT_DEPOT :Stani
|
||||
STR_ORDER_SERVICE_TOOLTIP :{BLACK}Preskoči ovu narudžbu osim ako servis nije potreban
|
||||
|
||||
STR_ORDER_CONDITIONAL_VARIABLE_TOOLTIP :{BLACK}Podaci vozila prema kojima se zasniva skok
|
||||
|
||||
# Conditional order variables, must follow order of OrderConditionVariable enum
|
||||
STR_ORDER_CONDITIONAL_LOAD_PERCENTAGE :Postotak ukrcaja
|
||||
STR_ORDER_CONDITIONAL_RELIABILITY :Pouzdanost
|
||||
STR_ORDER_CONDITIONAL_MAX_SPEED :Maksimalna brzina
|
||||
@@ -3342,7 +3352,7 @@ STR_ORDER_STOP_ORDER :(Stani)
|
||||
|
||||
STR_ORDER_GO_TO_STATION :{STRING} {STATION} {STRING}
|
||||
|
||||
STR_ORDER_AUTOMATIC :(Automatsko)
|
||||
STR_ORDER_IMPLICIT :(Implicitno)
|
||||
|
||||
STR_ORDER_FULL_LOAD :(Puni ukrcaj)
|
||||
STR_ORDER_FULL_LOAD_ANY :(Puni ukrcaj bilo kojeg tereta)
|
||||
@@ -3533,6 +3543,8 @@ STR_ERROR_PNGMAP_MISC :{WHITE}... neš
|
||||
STR_ERROR_BMPMAP :{WHITE}Nije moguće učitati krajolik iz BMP-a...
|
||||
STR_ERROR_BMPMAP_IMAGE_TYPE :{WHITE}... ne mogu pretvoriti vrstu slike.
|
||||
|
||||
STR_ERROR_HEIGHTMAP_TOO_LARGE :{WHITE}... slika je prevelika
|
||||
|
||||
STR_WARNING_HEIGHTMAP_SCALE_CAPTION :{WHITE}Upozorenje o veličini
|
||||
STR_WARNING_HEIGHTMAP_SCALE_MESSAGE :{YELLOW}Prekomjerna promjena veličine karte nije preporučena. Nastaviti sa kreiranjem?
|
||||
|
||||
@@ -4375,6 +4387,7 @@ STR_TINY_BLACK_COMA :{TINYFONT}{BLAC
|
||||
STR_TINY_COMMA :{TINYFONT}{COMMA}
|
||||
STR_BLUE_COMMA :{BLUE}{COMMA}
|
||||
STR_RED_COMMA :{RED}{COMMA}
|
||||
STR_TINY_BLACK_DECIMAL :{TINYFONT}{BLACK}{DECIMAL}
|
||||
STR_COMPANY_MONEY :{WHITE}{CURRENCY}
|
||||
STR_BLACK_DATE_LONG :{BLACK}{DATE_LONG}
|
||||
STR_BLACK_CROSS :{BLACK}{CROSS}
|
||||
|
@@ -335,16 +335,16 @@ STR_SORT_BY_PRODUCTION :produkce
|
||||
STR_SORT_BY_TYPE :typu
|
||||
STR_SORT_BY_TRANSPORTED :přepravy
|
||||
STR_SORT_BY_NUMBER :čísla
|
||||
STR_SORT_BY_PROFIT_LAST_YEAR :hrubého zisku vloni
|
||||
STR_SORT_BY_PROFIT_THIS_YEAR :hrubého zisku letos
|
||||
STR_SORT_BY_PROFIT_LAST_YEAR :hrubého zisku minulý rok
|
||||
STR_SORT_BY_PROFIT_THIS_YEAR :hrubého zisku za tento rok
|
||||
STR_SORT_BY_AGE :stáří
|
||||
STR_SORT_BY_RELIABILITY :spolehlivosti
|
||||
STR_SORT_BY_TOTAL_CAPACITY_PER_CARGOTYPE :celkové kapacity podle druhu nákladu
|
||||
STR_SORT_BY_TOTAL_CAPACITY_PER_CARGOTYPE :celkové kapacity dle druhu nákladu
|
||||
STR_SORT_BY_MAX_SPEED :max. rychlosti
|
||||
STR_SORT_BY_MODEL :modelu
|
||||
STR_SORT_BY_VALUE :hodnoty
|
||||
STR_SORT_BY_LENGTH :délky
|
||||
STR_SORT_BY_LIFE_TIME :zbývající životnosti
|
||||
STR_SORT_BY_LIFE_TIME :Zbývající životnost
|
||||
STR_SORT_BY_TIMETABLE_DELAY :zpoždění
|
||||
STR_SORT_BY_FACILITY :druhu stanice
|
||||
STR_SORT_BY_WAITING :množství čekajícího nákladu
|
||||
@@ -517,6 +517,7 @@ STR_ABOUT_MENU_ZOOMIN_SCREENSHOT :Přiblíženo n
|
||||
STR_ABOUT_MENU_GIANT_SCREENSHOT :Screenshot celé mapy
|
||||
STR_ABOUT_MENU_ABOUT_OPENTTD :O 'OpenTTD'
|
||||
STR_ABOUT_MENU_SPRITE_ALIGNER :Zarovnávání spritů
|
||||
STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Přepnout ohraničení
|
||||
############ range ends here
|
||||
|
||||
############ range for days starts (also used for the place in the highscore window)
|
||||
@@ -940,10 +941,10 @@ STR_GAME_OPTIONS_CURRENCY_UNITS_FRAME :{BLACK}Měna
|
||||
STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP :{BLACK}Výběr jednotek měny
|
||||
|
||||
############ start of currency region
|
||||
STR_GAME_OPTIONS_CURRENCY_GBP :Libra (£)
|
||||
STR_GAME_OPTIONS_CURRENCY_USD :Dolar ($)
|
||||
STR_GAME_OPTIONS_CURRENCY_EUR :Euro (€)
|
||||
STR_GAME_OPTIONS_CURRENCY_YEN :Japonský jen (¥)
|
||||
STR_GAME_OPTIONS_CURRENCY_GBP :Libra (GBP)
|
||||
STR_GAME_OPTIONS_CURRENCY_USD :Dolar (USD)
|
||||
STR_GAME_OPTIONS_CURRENCY_EUR :Euro (EUR)
|
||||
STR_GAME_OPTIONS_CURRENCY_YEN :Japonský jen (JPY)
|
||||
STR_GAME_OPTIONS_CURRENCY_ATS :Rakouský šilink (ATS)
|
||||
STR_GAME_OPTIONS_CURRENCY_BEF :Belgický frank (BEF)
|
||||
STR_GAME_OPTIONS_CURRENCY_CHF :Švýcarský frank (CHF)
|
||||
@@ -1138,6 +1139,7 @@ STR_SEA_LEVEL_HIGH :vysoká
|
||||
STR_SEA_LEVEL_CUSTOM :Uživatelský
|
||||
STR_SEA_LEVEL_CUSTOM_PERCENTAGE :Uživatelský ({NUM}%)
|
||||
|
||||
|
||||
STR_DISASTER_NONE :žádné
|
||||
STR_DISASTER_REDUCED :snížené
|
||||
STR_DISASTER_NORMAL :běžné
|
||||
@@ -1305,6 +1307,7 @@ STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_LONG :dlouhý (31. pr
|
||||
STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_SHORT :krátký (31-12-2008)
|
||||
STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_ISO :ISO (2008-12-31)
|
||||
|
||||
|
||||
STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME :{LTBLUE}Zastavit automaticky hru při začínání nové hry: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL :{LTBLUE}V pozastavené hře povolit: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_NO_ACTIONS :žádné akce
|
||||
@@ -1487,6 +1490,7 @@ STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Ukázat,
|
||||
STR_INTRO_TOOLTIP_AI_SETTINGS :{BLACK}Ukázat nastavení AI
|
||||
STR_INTRO_TOOLTIP_QUIT :{BLACK}Ukončit 'OpenTTD'
|
||||
|
||||
|
||||
# Quit window
|
||||
STR_QUIT_CAPTION :{WHITE}Konec
|
||||
STR_QUIT_ARE_YOU_SURE_YOU_WANT_TO_EXIT_OPENTTD :{YELLOW}Opravdu chceš opustit tuto hru a odejít do {STRING}?
|
||||
@@ -1780,7 +1784,7 @@ STR_NETWORK_CONNECTING_6 :{BLACK}(6/6) Re
|
||||
STR_NETWORK_CONNECTING_SPECIAL_1 :{BLACK}Přijímání informací o hře...
|
||||
STR_NETWORK_CONNECTING_SPECIAL_2 :{BLACK}Přijímání informací o společnosti...
|
||||
############ End of leave-in-this-order
|
||||
STR_NETWORK_CONNECTING_WAITING :{BLACK}{NUM} klient{P "" i ů} před námi
|
||||
STR_NETWORK_CONNECTING_WAITING :{BLACK}{NUM} klient{P "" i ů} před vámi
|
||||
STR_NETWORK_CONNECTING_DOWNLOADING_1 :{BLACK}{BYTES} staženo
|
||||
STR_NETWORK_CONNECTING_DOWNLOADING_2 :{BLACK}{BYTES} / {BYTES} staženo
|
||||
|
||||
@@ -2571,6 +2575,8 @@ STR_NEWGRF_ERROR_CORRUPT_SPRITE :{YELLOW}{STRING
|
||||
STR_NEWGRF_ERROR_MULTIPLE_ACTION_8 :Obsahuje víc GRF akcí 8
|
||||
STR_NEWGRF_ERROR_READ_BOUNDS :Čtení za koncem pseudo-spritu
|
||||
STR_NEWGRF_ERROR_MISSING_SPRITES :{WHITE}Právě používanému základnímu grafickému setu chybí obrázky.{}Prosím, updatujte ho
|
||||
STR_NEWGRF_ERROR_GRM_FAILED :Požadované zdroje grafiky nejsou k dispozici
|
||||
STR_NEWGRF_ERROR_FORCEFULLY_DISABLED :{2:STRING} byla vypnuta {4:STRING}
|
||||
|
||||
# NewGRF related 'general' warnings
|
||||
STR_NEWGRF_POPUP_CAUTION_CAPTION :{WHITE}Varování!
|
||||
@@ -2607,6 +2613,8 @@ STR_NEWGRF_INVALID_CARGO_QUANTITY :{COMMA} jednot{
|
||||
STR_NEWGRF_INVALID_ENGINE :<neplatný druh vozidla>
|
||||
STR_NEWGRF_INVALID_INDUSTRYTYPE :<neplatný průmysl>
|
||||
|
||||
# NewGRF scanning window
|
||||
|
||||
# Sign list window
|
||||
STR_SIGN_LIST_CAPTION :{WHITE}Seznam popisků - {COMMA} popis{P ek ky ků}
|
||||
STR_SIGN_LIST_MATCH_CASE :{BLACK}Shoda
|
||||
@@ -3280,6 +3288,8 @@ STR_ORDER_DROP_HALT_DEPOT :Zastavit
|
||||
STR_ORDER_SERVICE_TOOLTIP :{BLACK}Přeskoč tento cíl, pokud není potřeba pravidelná údržba
|
||||
|
||||
STR_ORDER_CONDITIONAL_VARIABLE_TOOLTIP :{BLACK}Vlastnost vozidla, podle které přeskakovat
|
||||
|
||||
# Conditional order variables, must follow order of OrderConditionVariable enum
|
||||
STR_ORDER_CONDITIONAL_LOAD_PERCENTAGE :Procento naložení
|
||||
STR_ORDER_CONDITIONAL_RELIABILITY :Spolehlivost
|
||||
STR_ORDER_CONDITIONAL_MAX_SPEED :Maximální rychlost
|
||||
@@ -3340,7 +3350,7 @@ STR_ORDER_STOP_ORDER :(Zastavit)
|
||||
|
||||
STR_ORDER_GO_TO_STATION :{STRING} {STATION} {STRING}
|
||||
|
||||
STR_ORDER_AUTOMATIC :(automatický)
|
||||
STR_ORDER_IMPLICIT :(Automaticky)
|
||||
|
||||
STR_ORDER_FULL_LOAD :(plně naložit)
|
||||
STR_ORDER_FULL_LOAD_ANY :(plně naložit cokoli)
|
||||
@@ -3531,6 +3541,8 @@ STR_ERROR_PNGMAP_MISC :{WHITE}... něc
|
||||
STR_ERROR_BMPMAP :{WHITE}Nebylo možné nahrát krajinu z BMP...
|
||||
STR_ERROR_BMPMAP_IMAGE_TYPE :{WHITE}... nelze převést formát obrázku
|
||||
|
||||
STR_ERROR_HEIGHTMAP_TOO_LARGE :{WHITE}... obrázek je příliš velký
|
||||
|
||||
STR_WARNING_HEIGHTMAP_SCALE_CAPTION :{WHITE}Varování kvůli velikosti
|
||||
STR_WARNING_HEIGHTMAP_SCALE_MESSAGE :{YELLOW}Tak velká zmena velikosti zdrojové mapy není doporučena. Pokračovat s generováním?
|
||||
|
||||
@@ -3624,7 +3636,7 @@ STR_ERROR_CAN_ONLY_BE_BUILT_IN_DESERT :{WHITE}... mů
|
||||
STR_ERROR_CAN_ONLY_BE_BUILT_IN_TOWNS :{WHITE}... může se postavit jedině ve městě
|
||||
STR_ERROR_CAN_ONLY_BE_BUILT_IN_LOW_AREAS :{WHITE}... může se postavit jen v nížinách
|
||||
STR_ERROR_CAN_ONLY_BE_POSITIONED :{WHITE}... může být umístěno pouze poblíž okrajů mapy
|
||||
STR_ERROR_FOREST_CAN_ONLY_BE_PLANTED :{WHITE}... lesy lze vysadit jen nad sněhovou čáru
|
||||
STR_ERROR_FOREST_CAN_ONLY_BE_PLANTED :{WHITE}... les lze vysadit pouze nad sněžnou čárou
|
||||
|
||||
# Station construction related errors
|
||||
STR_ERROR_CAN_T_BUILD_RAILROAD_STATION :{WHITE}Zde nelze postavit nádraží...
|
||||
@@ -3904,7 +3916,7 @@ STR_TOWN_BUILDING_NAME_PARK_1 :Park
|
||||
STR_TOWN_BUILDING_NAME_OFFICE_BLOCK_2 :Kancelářský blok
|
||||
STR_TOWN_BUILDING_NAME_SHOPS_AND_OFFICES_1 :Obchody a kanceláře
|
||||
STR_TOWN_BUILDING_NAME_MODERN_OFFICE_BUILDING_1 :Moderní kancelářský blok
|
||||
STR_TOWN_BUILDING_NAME_WAREHOUSE_1 :Výrobní hala
|
||||
STR_TOWN_BUILDING_NAME_WAREHOUSE_1 :Skladiště
|
||||
STR_TOWN_BUILDING_NAME_OFFICE_BLOCK_3 :Kancelářský blok
|
||||
STR_TOWN_BUILDING_NAME_STADIUM_1 :Stadion
|
||||
STR_TOWN_BUILDING_NAME_OLD_HOUSES_1 :Staré domy
|
||||
@@ -4460,6 +4472,7 @@ STR_TINY_BLACK_COMA :{TINYFONT}{BLAC
|
||||
STR_TINY_COMMA :{TINYFONT}{COMMA}
|
||||
STR_BLUE_COMMA :{BLUE}{COMMA}
|
||||
STR_RED_COMMA :{RED}{COMMA}
|
||||
STR_TINY_BLACK_DECIMAL :{TINYFONT}{BLACK}{DECIMAL}
|
||||
STR_COMPANY_MONEY :{WHITE}{CURRENCY}
|
||||
STR_BLACK_DATE_LONG :{BLACK}{DATE_LONG}
|
||||
STR_BLACK_CROSS :{BLACK}{CROSS}
|
||||
|
@@ -447,6 +447,7 @@ STR_ABOUT_MENU_ZOOMIN_SCREENSHOT :Zoomet skærmbi
|
||||
STR_ABOUT_MENU_GIANT_SCREENSHOT :Kæmpe skærmbillede (Ctrl-G)
|
||||
STR_ABOUT_MENU_ABOUT_OPENTTD :Om 'OpenTTD'
|
||||
STR_ABOUT_MENU_SPRITE_ALIGNER :Tilpas grafikelement
|
||||
STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Slå afgrænsningsrammerne til/fra
|
||||
############ range ends here
|
||||
|
||||
############ range for days starts (also used for the place in the highscore window)
|
||||
@@ -1223,6 +1224,7 @@ STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_LONG :langt (31. Dec
|
||||
STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_SHORT :kort (31-12-2008)
|
||||
STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_ISO :ISO (2008-12-31)
|
||||
|
||||
|
||||
STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME :{LTBLUE}Sæt automatisk på pause når nyt spil startes: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL :{LTBLUE}Når pauset tillad: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_NO_ACTIONS :ingen handlinger
|
||||
@@ -2483,6 +2485,8 @@ STR_NEWGRF_ERROR_CORRUPT_SPRITE :{YELLOW}{STRING
|
||||
STR_NEWGRF_ERROR_MULTIPLE_ACTION_8 :Indeholder flere "Action 8" poster.
|
||||
STR_NEWGRF_ERROR_READ_BOUNDS :Læs forbi enden af pseudo-sprite
|
||||
STR_NEWGRF_ERROR_MISSING_SPRITES :{WHITE}Det brugte basis graftik sæt mangler en række elementer.{}Updater venligst grafik sættet
|
||||
STR_NEWGRF_ERROR_GRM_FAILED :De valgte GRF ressourcer er ikke tilgængelige
|
||||
STR_NEWGRF_ERROR_FORCEFULLY_DISABLED :{2:STRING} blev deaktiveret af {4:STRING}
|
||||
|
||||
# NewGRF related 'general' warnings
|
||||
STR_NEWGRF_POPUP_CAUTION_CAPTION :{WHITE}Advarsel!
|
||||
@@ -3246,7 +3250,7 @@ STR_ORDER_STOP_ORDER :(Stop)
|
||||
|
||||
STR_ORDER_GO_TO_STATION :{STRING} {STATION} {STRING}
|
||||
|
||||
STR_ORDER_AUTOMATIC :(Automatisk)
|
||||
STR_ORDER_IMPLICIT :(Automatisk)
|
||||
|
||||
STR_ORDER_FULL_LOAD :(Fuld last)
|
||||
STR_ORDER_FULL_LOAD_ANY :(Fuld last vilkårlig type fragt)
|
||||
@@ -4242,6 +4246,7 @@ STR_TINY_BLACK_COMA :{TINYFONT}{BLAC
|
||||
STR_TINY_COMMA :{TINYFONT}{COMMA}
|
||||
STR_BLUE_COMMA :{BLUE}{COMMA}
|
||||
STR_RED_COMMA :{RED}{COMMA}
|
||||
STR_TINY_BLACK_DECIMAL :{TINYFONT}{BLACK}{DECIMAL}
|
||||
STR_COMPANY_MONEY :{WHITE}{CURRENCY}
|
||||
STR_BLACK_DATE_LONG :{BLACK}{DATE_LONG}
|
||||
STR_BLACK_CROSS :{BLACK}{CROSS}
|
||||
|
@@ -447,6 +447,7 @@ STR_ABOUT_MENU_ZOOMIN_SCREENSHOT :Ingezoomd scree
|
||||
STR_ABOUT_MENU_GIANT_SCREENSHOT :Screenshot van hele kaart
|
||||
STR_ABOUT_MENU_ABOUT_OPENTTD :Over 'OpenTTD'
|
||||
STR_ABOUT_MENU_SPRITE_ALIGNER :Sprite uitlijner
|
||||
STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Schakel selectiekaders
|
||||
############ range ends here
|
||||
|
||||
############ range for days starts (also used for the place in the highscore window)
|
||||
@@ -619,7 +620,7 @@ STR_MUSIC_TOOLTIP_SELECT_CUSTOM_2_USER_DEFINED :{BLACK}Selectee
|
||||
STR_MUSIC_TOOLTIP_TOGGLE_PROGRAM_SHUFFLE :{BLACK}Programmashuffle aan/uit
|
||||
STR_MUSIC_TOOLTIP_SHOW_MUSIC_TRACK_SELECTION :{BLACK}Toon nummerkeuzescherm
|
||||
|
||||
STR_ERROR_NO_SONGS :{WHITE}Een muziek set zonder leidjes is gekozen. Er zal geen muziek worden gespeeld
|
||||
STR_ERROR_NO_SONGS :{WHITE}Er is een muziek set zonder liedjes gekozen. Er zal geen muziek worden gespeeld
|
||||
|
||||
# Playlist window
|
||||
STR_PLAYLIST_MUSIC_PROGRAM_SELECTION :{WHITE}Muziekprogrammakeuze
|
||||
@@ -858,10 +859,10 @@ STR_GAME_OPTIONS_CURRENCY_UNITS_FRAME :{BLACK}Valuta
|
||||
STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP :{BLACK}Kies valuta
|
||||
|
||||
############ start of currency region
|
||||
STR_GAME_OPTIONS_CURRENCY_GBP :Pond (£)
|
||||
STR_GAME_OPTIONS_CURRENCY_USD :Dollar ($)
|
||||
STR_GAME_OPTIONS_CURRENCY_EUR :Euro (€)
|
||||
STR_GAME_OPTIONS_CURRENCY_YEN :Yen (¥)
|
||||
STR_GAME_OPTIONS_CURRENCY_GBP :Britse Pond (GBP)
|
||||
STR_GAME_OPTIONS_CURRENCY_USD :Dollar (USD)
|
||||
STR_GAME_OPTIONS_CURRENCY_EUR :Euro (EUR)
|
||||
STR_GAME_OPTIONS_CURRENCY_YEN :Japanse Yen (JPY)
|
||||
STR_GAME_OPTIONS_CURRENCY_ATS :Oostenrijkse Shilling (ATS)
|
||||
STR_GAME_OPTIONS_CURRENCY_BEF :Belgische Frank (BEF)
|
||||
STR_GAME_OPTIONS_CURRENCY_CHF :Zwitserse Frank (CHF)
|
||||
@@ -947,7 +948,7 @@ STR_GAME_OPTIONS_FULLSCREEN_TOOLTIP :{BLACK}Vink dit
|
||||
|
||||
STR_GAME_OPTIONS_RESOLUTION :{BLACK}Schermresolutie
|
||||
STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}Selecteer de schermresolutie
|
||||
STR_GAME_OPTIONS_RESOLUTION_OTHER :anders
|
||||
STR_GAME_OPTIONS_RESOLUTION_OTHER :Anders
|
||||
|
||||
STR_GAME_OPTIONS_SCREENSHOT_FORMAT :{BLACK}Screenshotformaat
|
||||
STR_GAME_OPTIONS_SCREENSHOT_FORMAT_TOOLTIP :{BLACK}Selecteer het bestandsformaat van screenshots
|
||||
@@ -1056,6 +1057,7 @@ STR_SEA_LEVEL_HIGH :Hoog
|
||||
STR_SEA_LEVEL_CUSTOM :Aangepast
|
||||
STR_SEA_LEVEL_CUSTOM_PERCENTAGE :Aangepast ({NUM}%)
|
||||
|
||||
|
||||
STR_DISASTER_NONE :Geen
|
||||
STR_DISASTER_REDUCED :Verminderd
|
||||
STR_DISASTER_NORMAL :Normaal
|
||||
@@ -1223,10 +1225,11 @@ STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_LONG :lang (31e dec 2
|
||||
STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_SHORT :kort (31-12-2008)
|
||||
STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_ISO :ISO (2008-12-31)
|
||||
|
||||
|
||||
STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME :{LTBLUE}Automatisch pauzeren als je een nieuw spel start: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL :{LTBLUE}Toestaan wanneer gepauzeerd: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_NO_ACTIONS :geen mogelijkheden
|
||||
STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_CONSTRUCTION :allle niet-constructie mogelijkheden
|
||||
STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_CONSTRUCTION :alle niet-constructie mogelijkheden
|
||||
STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_LANDSCAPING :alles behalve landschapsaanpassingen
|
||||
STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_ACTIONS :alle mogelijkheden
|
||||
STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS :{LTBLUE}Gebruik de geavanceerde voertuigenlijst: {ORANGE}{STRING}
|
||||
@@ -1248,7 +1251,7 @@ STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION :{LTBLUE}Toon ge
|
||||
STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS :{LTBLUE}Hou bouwgereedschappen actief na gebruik: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_EXPENSES_LAYOUT :{LTBLUE}Groepeer uitgaven in bedrijfsfinanciënscherm: {ORANGE}{STRING}
|
||||
|
||||
STR_CONFIG_SETTING_DISABLE_UNSUITABLE_BUILDING :{LTBLUE}Bouwen van infrstructuur uitschakelen wanneer geen geschikt voertuig beschikbaar is: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_DISABLE_UNSUITABLE_BUILDING :{LTBLUE}Bouwen van infrastructuur uitschakelen wanneer geen geschikt voertuig beschikbaar is: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_MAX_TRAINS :{LTBLUE}Maximaal aantal treinen per bedrijf: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_MAX_ROAD_VEHICLES :{LTBLUE}Maximaal aantal wegvoertuigen per bedrijf: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_MAX_AIRCRAFT :{LTBLUE}Maximaal aantal vliegtuigen per bedrijf: {ORANGE}{STRING}
|
||||
@@ -1405,6 +1408,7 @@ STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Zoeken n
|
||||
STR_INTRO_TOOLTIP_AI_SETTINGS :{BLACK}Toon AI-instellingen
|
||||
STR_INTRO_TOOLTIP_QUIT :{BLACK}Verlaat 'OpenTTD'
|
||||
|
||||
|
||||
# Quit window
|
||||
STR_QUIT_CAPTION :{WHITE}Afsluiten
|
||||
STR_QUIT_ARE_YOU_SURE_YOU_WANT_TO_EXIT_OPENTTD :{YELLOW}Weet je zeker dat je OpenTTD wilt verlaten en terug wilt keren naar {STRING}?
|
||||
@@ -1771,7 +1775,7 @@ STR_NETWORK_ERROR_SERVER_FULL :{WHITE}De serve
|
||||
STR_NETWORK_ERROR_SERVER_BANNED :{WHITE}Je bent verbannen van deze server
|
||||
STR_NETWORK_ERROR_KICKED :{WHITE}Je bent van de server geschopt
|
||||
STR_NETWORK_ERROR_CHEATER :{WHITE}Valsspelen is niet toegestaan op deze server
|
||||
STR_NETWORK_ERROR_TOO_MANY_COMMANDS :{WHITE}Je stuurde teveel commando's naar de server
|
||||
STR_NETWORK_ERROR_TOO_MANY_COMMANDS :{WHITE}Je stuurde te veel commando's naar de server
|
||||
|
||||
############ Leave those lines in this order!!
|
||||
STR_NETWORK_ERROR_CLIENT_GENERAL :algemene fout
|
||||
@@ -1953,18 +1957,18 @@ STR_STATION_CLASS_WAYP :Controleposten
|
||||
|
||||
# Signal window
|
||||
STR_BUILD_SIGNAL_CAPTION :{WHITE}Seinkeuze
|
||||
STR_BUILD_SIGNAL_SEMAPHORE_NORM_TOOLTIP :{BLACK}Bloksein (armsein){}Dit is het simpelste soort sein, dat slechts een trein tegelijk in hetzelfde blok toelaat
|
||||
STR_BUILD_SIGNAL_SEMAPHORE_ENTRY_TOOLTIP :{BLACK}Ingangssein (semafoor){}Groen zolang als er een of meer groene uitgangsseinen zijn volgend na dit sein. Anders is deze rood
|
||||
STR_BUILD_SIGNAL_SEMAPHORE_NORM_TOOLTIP :{BLACK}Bloksein (armsein){}Dit is het simpelste soort sein, dat slechts één trein tegelijk in hetzelfde blok toelaat
|
||||
STR_BUILD_SIGNAL_SEMAPHORE_ENTRY_TOOLTIP :{BLACK}Ingangssein (semafoor){}Groen zolang als er één of meer groene uitgangsseinen zijn volgend na dit sein. Anders is deze rood
|
||||
STR_BUILD_SIGNAL_SEMAPHORE_EXIT_TOOLTIP :{BLACK}Uitgangssein (armsein){}Gedraagt zich hetzelfde als een gewoon bloksein, maar is nodig om ingangs- en combinatieseinen te sturen
|
||||
STR_BUILD_SIGNAL_SEMAPHORE_COMBO_TOOLTIP :{BLACK}Combinatiesein (armsein){}Het combinatiesein gedraagt zicht als zowel ingangs- als uitgangssein. Zo kun je grote netwerken van beginseinen maken
|
||||
STR_BUILD_SIGNAL_SEMAPHORE_COMBO_TOOLTIP :{BLACK}Combinatiesein (armsein){}Het combinatiesein gedraagt zich als zowel ingangs- als uitgangssein. Zo kun je grote netwerken van beginseinen maken
|
||||
STR_BUILD_SIGNAL_SEMAPHORE_PBS_TOOLTIP :{BLACK}Routesein (armsein){}Een routesein laat meer dan één trein tegelijk in een seinblok toe, als de trein een route kan reserveren naar een veilige stopplaats. Routeseinen kunnen van achteren worden gepasseerd
|
||||
STR_BUILD_SIGNAL_SEMAPHORE_PBS_OWAY_TOOLTIP :{BLACK}Eenrichtingsrouteseinen (armsein){}Een routesein laat meer dan één trein tegelijk in een seinblok toe, als de trein een route kan reserveren naar een veilige stopplaats. Eenrichtingsrouteseinen kunnen niet van achteren worden gepasseerd
|
||||
STR_BUILD_SIGNAL_ELECTRIC_NORM_TOOLTIP :{BLACK}Standaard sein (elektrisch){}Seinen zijn nodig om te voorkomen dat treinen botsen bij netwerken met meer dan een trein
|
||||
STR_BUILD_SIGNAL_ELECTRIC_NORM_TOOLTIP :{BLACK}Standaard sein (elektrisch){}Seinen zijn nodig om te voorkomen dat treinen botsen bij netwerken met meer dan één trein
|
||||
STR_BUILD_SIGNAL_ELECTRIC_ENTRY_TOOLTIP :{BLACK}Ingangssein (electrisch){}Groen als er meer dan één groen uitgangssein is in het volgende traject. Anders is deze rood
|
||||
STR_BUILD_SIGNAL_ELECTRIC_EXIT_TOOLTIP :{BLACK}Uitgangssein (elektrisch){}Gedraagt zich hetzelfde als een standaard sein, maar is nodig om ingangs- & combinatie-seinen aan te sturen
|
||||
STR_BUILD_SIGNAL_ELECTRIC_COMBO_TOOLTIP :{BLACK}Combinatiesein (electric){}Het combinatiesein gedraagt zicht als zowel ingangs- als uitgangs-sein. Zo kun je grote netwerken van beginseinen maken
|
||||
STR_BUILD_SIGNAL_ELECTRIC_PBS_TOOLTIP :{BLACK}Routeseinen (elektrisch){}en routesein laat meer dan één trein tegelijk op een seinblok toe, als de trein een route kan reserveren naar een veilige stopplaats. Routeseinen kunnen van achteren worden gepasseerd
|
||||
STR_BUILD_SIGNAL_ELECTRIC_PBS_OWAY_TOOLTIP :{BLACK}Eenrichtingsrouteseinen (elektrisch){}en routesein laat meer dan één trein tegelijk op een seinblok toe, als de trein een route kan reserveren naar een veilige stopplaats. Eenrichtingsrouteseinen kunnen niet van achteren worden gepasseerd
|
||||
STR_BUILD_SIGNAL_ELECTRIC_PBS_TOOLTIP :{BLACK}Routeseinen (elektrisch){}Een routesein laat meer dan één trein tegelijk op een seinblok toe, als de trein een route kan reserveren naar een veilige stopplaats. Routeseinen kunnen van achteren worden gepasseerd
|
||||
STR_BUILD_SIGNAL_ELECTRIC_PBS_OWAY_TOOLTIP :{BLACK}Eenrichtingsrouteseinen (elektrisch){}Een routesein laat meer dan één trein tegelijk op een seinblok toe, als de trein een route kan reserveren naar een veilige stopplaats. Eenrichtingsrouteseinen kunnen niet van achteren worden gepasseerd
|
||||
STR_BUILD_SIGNAL_CONVERT_TOOLTIP :{BLACK}Sein ombouwen{}Indien geselecteerd, zal door te klikken op een bestaand sein deze worden omgebouwd naar het geselecteerde seintype en variant, Ctrl+klik verandert de bestaande variant (armsein/elektrisch). Shift+klik toont de geschatte ombouwkosten
|
||||
STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_TOOLTIP :{BLACK}Dichtheid van seinen bij het slepen
|
||||
STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_DECREASE_TOOLTIP :{BLACK}Verklein dichtheid van seinen bij het slepen
|
||||
@@ -2029,7 +2033,7 @@ STR_WATERWAYS_TOOLBAR_CAPTION_SE :{WHITE}Waterweg
|
||||
STR_WATERWAYS_TOOLBAR_BUILD_CANALS_TOOLTIP :{BLACK}Bouw kanalen. Shift schakelt tussen bouwen/inschatting van de kosten
|
||||
STR_WATERWAYS_TOOLBAR_BUILD_LOCKS_TOOLTIP :{BLACK}Bouw sluis. Shift schakelt tussen bouwen/inschatting van de kosten
|
||||
STR_WATERWAYS_TOOLBAR_BUILD_DEPOT_TOOLTIP :{BLACK}Bouw dok (voor het kopen en onderhoud van schepen). Shift schakelt tussen bouwen/inschatting van de kosten
|
||||
STR_WATERWAYS_TOOLBAR_BUILD_DOCK_TOOLTIP :{BLACK}Bouw haven. Houd Ctrl ingedrukt om samen te voegen met ander station.Shift schakelt tussen bouwen/inschatting van de kosten
|
||||
STR_WATERWAYS_TOOLBAR_BUILD_DOCK_TOOLTIP :{BLACK}Bouw haven. Houd Ctrl ingedrukt om samen te voegen met ander station. Shift schakelt tussen bouwen/inschatting van de kosten
|
||||
STR_WATERWAYS_TOOLBAR_BUOY_TOOLTIP :{BLACK}Plaats boei, deze kan gebruikt worden voor extra tussenstops. Shift schakelt tussen bouwen/inschatting van de kosten
|
||||
STR_WATERWAYS_TOOLBAR_BUILD_AQUEDUCT_TOOLTIP :{BLACK}Bouw aquaduct. Shift schakelt tussen bouwen/inschatting van de kosten
|
||||
STR_WATERWAYS_TOOLBAR_CREATE_LAKE_TOOLTIP :{BLACK}Definieer watergebied.{}Maak een kanaal, tenzij Ctrl wordt vastgehouden op zeeniveau, dan zal de omgeving overstromen
|
||||
@@ -2073,11 +2077,11 @@ STR_STATION_BUILD_NOISE :{BLACK}Geluidso
|
||||
STR_LANDSCAPING_TOOLBAR :{WHITE}Terreinvorming
|
||||
STR_LANDSCAPING_TOOLTIP_LOWER_A_CORNER_OF_LAND :{BLACK}Verlaag een hoek van het land. Slepen verlaagt de eerste geselecteerde hoek en brengt het geselecteerde gebied naar de hoogte van die hoek. Ctrl selecteert het gebied diagonaal. Shift maakt een inschatting van de kosten
|
||||
STR_LANDSCAPING_TOOLTIP_RAISE_A_CORNER_OF_LAND :{BLACK}Verhoog een hoek van het land. Slepen verhoogt de eerste geselecteerde hoek en brengt het geselecteerde gebied naar de hoogte van die hoek. Ctrl selecteert het gebied diagonaal. Shift maakt een inschatting van de kosten
|
||||
STR_LANDSCAPING_LEVEL_LAND_TOOLTIP :{BLACK}Egaliseer land naar de hoogte van de eerst geselecteerde hoek. Ctrl selecteerd een diagonaal gebied. Shift+Klik wisselt tussen bouwen/tonen verwachte kosten
|
||||
STR_LANDSCAPING_TOOLTIP_PURCHASE_LAND :{BLACK}Koop land voor toekomstig gebruik. Shift+Klik wisselt tussen bouwen/tonen verwachte kosten
|
||||
STR_LANDSCAPING_LEVEL_LAND_TOOLTIP :{BLACK}Egaliseer land naar de hoogte van de eerst geselecteerde hoek. Ctrl selecteert een diagonaal gebied. Shift+klik wisselt tussen bouwen/tonen verwachte kosten
|
||||
STR_LANDSCAPING_TOOLTIP_PURCHASE_LAND :{BLACK}Koop land voor toekomstig gebruik. Shift+klik wisselt tussen bouwen/tonen verwachte kosten
|
||||
|
||||
# Object construction window
|
||||
STR_OBJECT_BUILD_CAPTION :{WHITE}Keuze van Object
|
||||
STR_OBJECT_BUILD_CAPTION :{WHITE}Keuze van object
|
||||
STR_OBJECT_BUILD_TOOLTIP :{BLACK}Kies het te bouwen object. Shift+Klik wisselt tussen bouwen/tonen verwachte kosten
|
||||
STR_OBJECT_BUILD_CLASS_TOOLTIP :{BLACK}Kies klasse van het te bouwen object
|
||||
STR_OBJECT_BUILD_PREVIEW_TOOLTIP :{BLACK}Bekijk het object
|
||||
@@ -2090,7 +2094,7 @@ STR_OBJECT_CLASS_TRNS :Zender
|
||||
STR_PLANT_TREE_CAPTION :{WHITE}Bomen
|
||||
STR_PLANT_TREE_TOOLTIP :{BLACK}Kies een soort boom om te planten
|
||||
STR_TREES_RANDOM_TYPE :{BLACK}Willekeurige soorten bomen
|
||||
STR_TREES_RANDOM_TYPE_TOOLTIP :{BLACK}Plant bomen van willekeurige soort. Shift+Klik wisselt tussen bouwen/toont verwachte kosten
|
||||
STR_TREES_RANDOM_TYPE_TOOLTIP :{BLACK}Plant bomen van willekeurige soort. Shift+klik wisselt tussen bouwen/toont verwachte kosten
|
||||
STR_TREES_RANDOM_TREES_BUTTON :{BLACK}Willekeurige bomen
|
||||
STR_TREES_RANDOM_TREES_TOOLTIP :{BLACK}Verspreid bomen willekeurig over de kaart
|
||||
|
||||
@@ -2111,7 +2115,7 @@ STR_RESET_LANDSCAPE_CONFIRMATION_TEXT :{WHITE}Weet je
|
||||
# Town generation window (SE)
|
||||
STR_FOUND_TOWN_CAPTION :{WHITE}Stadsontwikkeling
|
||||
STR_FOUND_TOWN_NEW_TOWN_BUTTON :{BLACK}Nieuwe stad
|
||||
STR_FOUND_TOWN_NEW_TOWN_TOOLTIP :{BLACK}Sticht nieuwe stad. Shift+Klik toont aleen de verwachte kosten
|
||||
STR_FOUND_TOWN_NEW_TOWN_TOOLTIP :{BLACK}Sticht nieuwe stad. Shift+klik toont alleen de verwachte kosten
|
||||
STR_FOUND_TOWN_RANDOM_TOWN_BUTTON :{BLACK}Willekeurige stad
|
||||
STR_FOUND_TOWN_RANDOM_TOWN_TOOLTIP :{BLACK}Sticht stad op willekeurige locatie
|
||||
STR_FOUND_TOWN_MANY_RANDOM_TOWNS :{BLACK}Veel willekeurige steden
|
||||
@@ -2292,7 +2296,7 @@ STR_SAVELOAD_LOAD_SCENARIO :{WHITE}Scenario
|
||||
STR_SAVELOAD_LOAD_HEIGHTMAP :{WHITE}Laad Hoogtekaart
|
||||
STR_SAVELOAD_HOME_BUTTON :{BLACK}Klik hier om naar de standaard bewaar-/laadmap te gaan
|
||||
STR_SAVELOAD_BYTES_FREE :{BLACK}{BYTES} vrij
|
||||
STR_SAVELOAD_LIST_TOOLTIP :{BLACK}Lijst van schijven, mappen, en opgeslagen spellen
|
||||
STR_SAVELOAD_LIST_TOOLTIP :{BLACK}Lijst van schijven, mappen en opgeslagen spellen
|
||||
STR_SAVELOAD_EDITBOX_TOOLTIP :{BLACK}Huidige gekozen naam voor opgeslagen spel
|
||||
STR_SAVELOAD_DELETE_BUTTON :{BLACK}Verwijderen
|
||||
STR_SAVELOAD_DELETE_TOOLTIP :{BLACK}Verwijder het momenteel geselecteerde opgeslagen spel
|
||||
@@ -2383,7 +2387,7 @@ STR_NEWGRF_SETTINGS_ACTIVE_LIST :{WHITE}Actieve
|
||||
STR_NEWGRF_SETTINGS_INACTIVE_LIST :{WHITE}Inactieve NewGRF bestanden
|
||||
STR_NEWGRF_SETTINGS_SELECT_PRESET :{ORANGE}Kies voorkeur:
|
||||
STR_NEWGRF_FILTER_TITLE :{ORANGE}Filter tekst:
|
||||
STR_NEWGRF_SETTINGS_PRESET_LIST_TOOLTIP :{BLACK}Laad de geselecteerd voorkeursinstelling
|
||||
STR_NEWGRF_SETTINGS_PRESET_LIST_TOOLTIP :{BLACK}Laad de geselecteerde voorkeursinstelling
|
||||
STR_NEWGRF_SETTINGS_PRESET_SAVE :{BLACK}Bewaar voorkeursinstelling
|
||||
STR_NEWGRF_SETTINGS_PRESET_SAVE_TOOLTIP :{BLACK}Bewaar de huidige lijst als voorkeursinstelling
|
||||
STR_NEWGRF_SETTINGS_PRESET_SAVE_QUERY :{BLACK}Kies een naam voor deze voorkeursinstelling
|
||||
@@ -2395,9 +2399,9 @@ STR_NEWGRF_SETTINGS_RESCAN_FILES :{BLACK}Bestande
|
||||
STR_NEWGRF_SETTINGS_RESCAN_FILES_TOOLTIP :{BLACK}Werk de lijst van beschikbare NewGRF-bestanden bij
|
||||
STR_NEWGRF_SETTINGS_REMOVE :{BLACK}Verwijderen
|
||||
STR_NEWGRF_SETTINGS_REMOVE_TOOLTIP :{BLACK}Verwijder het geselecteerde NewGRF-bestand van de lijst
|
||||
STR_NEWGRF_SETTINGS_MOVEUP :{BLACK}Naar Boven
|
||||
STR_NEWGRF_SETTINGS_MOVEUP :{BLACK}Naar boven
|
||||
STR_NEWGRF_SETTINGS_MOVEUP_TOOLTIP :{BLACK}Verplaats het geselecteerde NewGRF-bestand naar boven in de lijst
|
||||
STR_NEWGRF_SETTINGS_MOVEDOWN :{BLACK}Naar Beneden
|
||||
STR_NEWGRF_SETTINGS_MOVEDOWN :{BLACK}Naar beneden
|
||||
STR_NEWGRF_SETTINGS_MOVEDOWN_TOOLTIP :{BLACK}Verplaats het geselecteerde NewGRF-bestand naar beneden in de lijst
|
||||
STR_NEWGRF_SETTINGS_FILE_TOOLTIP :{BLACK}Een lijst van de NewGRF-bestanden die zijn geïnstalleerd. Klik op een bestand om de parameters te wijzigen
|
||||
|
||||
@@ -2420,7 +2424,7 @@ STR_NEWGRF_SETTINGS_PARAMETER :{BLACK}Paramete
|
||||
STR_NEWGRF_SETTINGS_NO_INFO :{BLACK}Geen informatie beschikbaar
|
||||
STR_NEWGRF_SETTINGS_NOT_FOUND :{RED}Bestand niet gevonden
|
||||
STR_NEWGRF_SETTINGS_DISABLED :{RED}Uitgeschakeld
|
||||
STR_NEWGRF_SETTINGS_INCOMPATIBLE :{RED}Niet compatible met deze versie van OpenTTD
|
||||
STR_NEWGRF_SETTINGS_INCOMPATIBLE :{RED}Niet compatibel met deze versie van OpenTTD
|
||||
|
||||
STR_NEWGRF_SETTINGS_PARAMETER_QUERY :{BLACK}NewGRF-parameters ingeven
|
||||
|
||||
@@ -2449,7 +2453,7 @@ STR_SPRITE_ALIGNER_CAPTION :{WHITE}Afbeeldi
|
||||
STR_SPRITE_ALIGNER_NEXT_BUTTON :{BLACK}Volgende afbeelding
|
||||
STR_SPRITE_ALIGNER_NEXT_TOOLTIP :{BLACK}Ga verder maar volgende normale afbeelding, sla alle pseudo/herkleur/lettertype afbeeldingen over en ga naar het begin bij het einde
|
||||
STR_SPRITE_ALIGNER_GOTO_BUTTON :{BLACK}Ga naar afbeelding
|
||||
STR_SPRITE_ALIGNER_GOTO_TOOLTIP :{BLACK}Ga naar de opgegeven afbeelding. Wanneer dit niet een normale afbeelding is, ga verder naar de volgende normale afbeelding
|
||||
STR_SPRITE_ALIGNER_GOTO_TOOLTIP :{BLACK}Ga naar de opgegeven afbeelding. Wanneer dit geen normale afbeelding is, ga verder naar de volgende normale afbeelding
|
||||
STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Vorige afbeelding
|
||||
STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Ga naar vorige normale afbeelding, sla alle pseudo/herkleur/lettertype afbeeldingen over en ga naar het einde bij het begin
|
||||
STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Voorbeeld van de huidige afbeelding. De uitlijning wordt genegeerd bij het weergeven van de afbeelding
|
||||
@@ -2483,6 +2487,8 @@ STR_NEWGRF_ERROR_CORRUPT_SPRITE :{YELLOW}{STRING
|
||||
STR_NEWGRF_ERROR_MULTIPLE_ACTION_8 :Bevat meerdere 'Action 8'-elementen
|
||||
STR_NEWGRF_ERROR_READ_BOUNDS :Lees voorbij einde van pseudo-sprite
|
||||
STR_NEWGRF_ERROR_MISSING_SPRITES :{WHITE}De huidige basis graphics-set mist een aantal sprites..{}Werk de graphics-set bij aub
|
||||
STR_NEWGRF_ERROR_GRM_FAILED :Gevraagde GRF middelen niet beschikbaar
|
||||
STR_NEWGRF_ERROR_FORCEFULLY_DISABLED :{2:STRING} is uitgeschakeld door {4:STRING}
|
||||
|
||||
# NewGRF related 'general' warnings
|
||||
STR_NEWGRF_POPUP_CAUTION_CAPTION :{WHITE}Waarschuwing!
|
||||
@@ -2499,7 +2505,7 @@ STR_NEWGRF_UNPAUSE_WARNING :{WHITE}Het spel
|
||||
# NewGRF status
|
||||
STR_NEWGRF_LIST_NONE :Geen
|
||||
STR_NEWGRF_LIST_ALL_FOUND :Alle bestanden aanwezig
|
||||
STR_NEWGRF_LIST_COMPATIBLE :{YELLOW}Compatibel bestanden gevonden
|
||||
STR_NEWGRF_LIST_COMPATIBLE :{YELLOW}Compatibele bestanden gevonden
|
||||
STR_NEWGRF_LIST_MISSING :{RED}Ontbrekende bestanden
|
||||
|
||||
# NewGRF 'it's broken' warnings
|
||||
@@ -2510,21 +2516,23 @@ STR_BROKEN_VEHICLE_LENGTH :{WHITE}Trein '{
|
||||
|
||||
STR_NEWGRF_BUGGY :{WHITE}NewGRF '{0:STRING}' geeft onjuiste informatie
|
||||
STR_NEWGRF_BUGGY_ARTICULATED_CARGO :{WHITE}Vracht-/ombouwinformatie voor '{1:ENGINE}' wijkt af van aanschaflijst na het bouwen. Dit kan resulteren in problemen bij ombouwen door automatisch vernieuwen/vervangen
|
||||
STR_NEWGRF_BUGGY_ENDLESS_PRODUCTION_CALLBACK :{WHITE}'{1:STRING}' Een eindeloze loop gevonden in de productie-callback
|
||||
STR_NEWGRF_BUGGY_ENDLESS_PRODUCTION_CALLBACK :{WHITE}'{1:STRING}' heeft een eindeloze loop veroorzaakt in de productie-callback
|
||||
|
||||
# 'User removed essential NewGRFs'-placeholders for stuff without specs
|
||||
STR_NEWGRF_INVALID_CARGO :<ongeldige vracht>
|
||||
STR_NEWGRF_INVALID_CARGO_ABBREV :??
|
||||
STR_NEWGRF_INVALID_CARGO_QUANTITY :{COMMA} van <ongeldige vracht>
|
||||
STR_NEWGRF_INVALID_ENGINE :<ongeldige treinmodel>
|
||||
STR_NEWGRF_INVALID_INDUSTRYTYPE :<ongeldig bedrijf>
|
||||
STR_NEWGRF_INVALID_ENGINE :<ongeldig treinmodel>
|
||||
STR_NEWGRF_INVALID_INDUSTRYTYPE :<ongeldige industrie>
|
||||
|
||||
# NewGRF scanning window
|
||||
|
||||
# Sign list window
|
||||
STR_SIGN_LIST_CAPTION :{WHITE}Bordenlijst - {COMMA} bord{P "" en}
|
||||
STR_SIGN_LIST_MATCH_CASE :{BLACK}Hoofdletter gevoelig
|
||||
STR_SIGN_LIST_CLEAR :{BLACK}Verwijder filter
|
||||
STR_SIGN_LIST_MATCH_CASE_TOOLTIP :{BLACK}Verwissel hoofdlettergevoeligheid bij het vergelijken van bordnamen met het filter
|
||||
STR_SIGN_LIST_CLEAR_TOOLTIP :{BLACK}Verwijderd het filter
|
||||
STR_SIGN_LIST_CLEAR_TOOLTIP :{BLACK}Verwijder het filter
|
||||
|
||||
# Sign window
|
||||
STR_EDIT_SIGN_CAPTION :{WHITE}Wijzig tekst van bord
|
||||
@@ -2568,7 +2576,7 @@ STR_LOCAL_AUTHORITY_CAPTION :{WHITE}{TOWN}'s
|
||||
STR_LOCAL_AUTHORITY_COMPANY_RATINGS :{BLACK}Reputatie van transportbedrijven:
|
||||
STR_LOCAL_AUTHORITY_COMPANY_RATING :{YELLOW}{COMPANY} {COMPANYNUM}: {ORANGE}{STRING}
|
||||
STR_LOCAL_AUTHORITY_ACTIONS_TITLE :{BLACK}Mogelijkheden:
|
||||
STR_LOCAL_AUTHORITY_ACTIONS_TOOLTIP :{BLACK}Lijst met dingen die mogelijk zijn in dit dorp - klik op een item voor meer details
|
||||
STR_LOCAL_AUTHORITY_ACTIONS_TOOLTIP :{BLACK}Lijst met dingen die mogelijk zijn in deze gemeente - klik op een item voor meer details
|
||||
STR_LOCAL_AUTHORITY_DO_IT_BUTTON :{BLACK}Doe het
|
||||
STR_LOCAL_AUTHORITY_DO_IT_TOOLTIP :{BLACK}Voer de actie uit die in de bovenstaande lijst is geselecteerd
|
||||
|
||||
@@ -2587,8 +2595,8 @@ STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{YELLOW}Begin e
|
||||
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION :{YELLOW}Betaal een vernieuwing van het wegennetwerk. Veroorzaakt tot 6 maanden lang een aanzienlijke verstoring van het wegverkeer.{}Kosten: {CURRENCY}
|
||||
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{YELLOW}Bouw een standbeeld ter ere van jouw bedrijf.{}Kosten: {CURRENCY}
|
||||
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{YELLOW}Betaal de bouw van nieuwe commerciële gebouwen in de stad.{}Kosten: {CURRENCY}
|
||||
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT :{YELLOW}Koop 1 jaar exclusieve transportrechten in deze plaats. De gemeenteraad staat passagiers en vracht aleeen toe om jouw stations te gebruiken.{}Kosten: {CURRENCY}
|
||||
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW}Koop het plaatselijk gezag om om je reputatie te verhogen, met het gevaar van een strenge sanctie, wanneer je gepakt wordt.{}Kosten: {CURRENCY}
|
||||
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT :{YELLOW}Koop 1 jaar exclusieve transportrechten in deze plaats. De gemeenteraad staat passagiers en vracht alleen toe om jouw stations te gebruiken.{}Kosten: {CURRENCY}
|
||||
STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW}Koop het plaatselijk gezag om om je reputatie te verhogen, met het gevaar van een strenge sanctie wanneer je gepakt wordt.{}Kosten: {CURRENCY}
|
||||
|
||||
# Subsidies window
|
||||
STR_SUBSIDIES_CAPTION :{WHITE}Subsidies
|
||||
@@ -2602,7 +2610,7 @@ STR_SUBSIDIES_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Klik op
|
||||
# Station list window
|
||||
STR_STATION_LIST_TOOLTIP :{BLACK}Stationsnamen - klik op naam om het scherm te centreren op het station. Ctrl+klik opent een nieuw venster op de locatie van het station
|
||||
STR_STATION_LIST_USE_CTRL_TO_SELECT_MORE :{BLACK}Houd Ctrl ingedrukt om meer items te kiezen
|
||||
STR_STATION_LIST_CAPTION :{WHITE}{COMPANY} - {COMMA} Stations
|
||||
STR_STATION_LIST_CAPTION :{WHITE}{COMPANY} - {COMMA} Station{P "" s}
|
||||
STR_STATION_LIST_STATION :{YELLOW}{STATION} {STATIONFEATURES}
|
||||
STR_STATION_LIST_WAYPOINT :{YELLOW}{WAYPOINT}
|
||||
STR_STATION_LIST_NONE :{YELLOW}- Geen -
|
||||
@@ -2677,7 +2685,7 @@ STR_FINANCES_POSITIVE_INCOME :{BLACK}+{CURREN
|
||||
STR_FINANCES_TOTAL_CAPTION :{WHITE}Totaal:
|
||||
STR_FINANCES_BANK_BALANCE_TITLE :{WHITE}Banksaldo
|
||||
STR_FINANCES_LOAN_TITLE :{WHITE}Lening
|
||||
STR_FINANCES_MAX_LOAN :{WHITE}Max lening: {BLACK}{CURRENCY}
|
||||
STR_FINANCES_MAX_LOAN :{WHITE}Max. lening: {BLACK}{CURRENCY}
|
||||
STR_FINANCES_TOTAL_CURRENCY :{BLACK}{CURRENCY}
|
||||
STR_FINANCES_BORROW_BUTTON :{BLACK}Leen {CURRENCY}
|
||||
STR_FINANCES_BORROW_TOOLTIP :{BLACK}Vergroot lening. Ctrl+klik om zoveel als mogelijk te lenen
|
||||
@@ -2704,7 +2712,7 @@ STR_COMPANY_VIEW_BUILD_HQ_TOOLTIP :{BLACK}Bouw bed
|
||||
STR_COMPANY_VIEW_VIEW_HQ_BUTTON :{BLACK}Bekijk bedrijfshoofdkwartier
|
||||
STR_COMPANY_VIEW_VIEW_HQ_TOOLTIP :{BLACK}Toon bedrijfshoofdkwartier
|
||||
STR_COMPANY_VIEW_RELOCATE_HQ :{BLACK}Verplaats bedrijfshoofdkwartier
|
||||
STR_COMPANY_VIEW_RELOCATE_COMPANY_HEADQUARTERS :{BLACK}Herbouw bedrijfshoofdkwartier ergens anders voor 1% van de bedrijfswaarde. Shift+Klik toont verwachte kosten zonder HQ te verplaatsen
|
||||
STR_COMPANY_VIEW_RELOCATE_COMPANY_HEADQUARTERS :{BLACK}Herbouw bedrijfshoofdkwartier ergens anders voor 1% van de bedrijfswaarde. Shift+klik toont verwachte kosten zonder HQ te verplaatsen
|
||||
|
||||
STR_COMPANY_VIEW_NEW_FACE_BUTTON :{BLACK}Nieuw gezicht
|
||||
STR_COMPANY_VIEW_NEW_FACE_TOOLTIP :{BLACK}Kies nieuw gezicht voor directeur
|
||||
@@ -2717,13 +2725,13 @@ STR_COMPANY_VIEW_PRESIDENT_NAME_TOOLTIP :{BLACK}Verander
|
||||
|
||||
STR_COMPANY_VIEW_BUY_SHARE_BUTTON :{BLACK}Koop 25% aandeel in bedrijf
|
||||
STR_COMPANY_VIEW_SELL_SHARE_BUTTON :{BLACK}Verkoop 25% aandeel in bedrijf
|
||||
STR_COMPANY_VIEW_BUY_SHARE_TOOLTIP :{BLACK}Koop een aandeel van 25% in dit bedrijf. Shift+Klik toont verwachte kosten zonder te kopen
|
||||
STR_COMPANY_VIEW_SELL_SHARE_TOOLTIP :{BLACK}Verkoop een aandeel van 25% in dit bedrijf. Shift+Klik toont verwachte kosten zonder te kopen
|
||||
STR_COMPANY_VIEW_BUY_SHARE_TOOLTIP :{BLACK}Koop een aandeel van 25% in dit bedrijf. Shift+klik toont verwachte kosten zonder te kopen
|
||||
STR_COMPANY_VIEW_SELL_SHARE_TOOLTIP :{BLACK}Verkoop een aandeel van 25% in dit bedrijf. Shift+klik toont verwachte kosten zonder te kopen
|
||||
|
||||
STR_COMPANY_VIEW_COMPANY_NAME_QUERY_CAPTION :Bedrijfsnaam
|
||||
STR_COMPANY_VIEW_PRESIDENT_S_NAME_QUERY_CAPTION :Naam van directeur
|
||||
|
||||
STR_BUY_COMPANY_MESSAGE :{WHITE}We zoeken voor een transportbedrijf dat ons bedrijf over kan nemen.{}{}Wil je {COMPANY} kopen voor {CURRENCY}?
|
||||
STR_BUY_COMPANY_MESSAGE :{WHITE}We zoeken een transportbedrijf dat ons bedrijf over kan nemen.{}{}Wil je {COMPANY} kopen voor {CURRENCY}?
|
||||
|
||||
# Industry directory
|
||||
STR_INDUSTRY_DIRECTORY_CAPTION :{WHITE}Industrielijst
|
||||
@@ -2830,7 +2838,7 @@ STR_PURCHASE_INFO_RUNNINGCOST :{BLACK}Onderhou
|
||||
STR_PURCHASE_INFO_CAPACITY :{BLACK}Capaciteit: {GOLD}{CARGO} {STRING}
|
||||
STR_PURCHASE_INFO_REFITTABLE :(ombouwbaar)
|
||||
STR_PURCHASE_INFO_DESIGNED_LIFE :{BLACK}Ontworpen: {GOLD}{NUM}{BLACK} Levensduur: {GOLD}{COMMA} jaar
|
||||
STR_PURCHASE_INFO_RELIABILITY :{BLACK}Max. Betrouwbaarheid: {GOLD}{COMMA}%
|
||||
STR_PURCHASE_INFO_RELIABILITY :{BLACK}Max. betrouwbaarheid: {GOLD}{COMMA}%
|
||||
STR_PURCHASE_INFO_COST :{BLACK}Kosten: {GOLD}{CURRENCY}
|
||||
STR_PURCHASE_INFO_WEIGHT_CWEIGHT :{BLACK}Gewicht: {GOLD}{WEIGHT_S} ({WEIGHT_S})
|
||||
STR_PURCHASE_INFO_COST_SPEED :{BLACK}Kosten: {GOLD}{CURRENCY}{BLACK} Snelheid: {GOLD}{VELOCITY}
|
||||
@@ -2839,7 +2847,7 @@ STR_PURCHASE_INFO_PWAGPOWER_PWAGWEIGHT :{BLACK}Aangedre
|
||||
STR_PURCHASE_INFO_REFITTABLE_TO :{BLACK}Om te bouwen voor: {GOLD}
|
||||
STR_PURCHASE_INFO_ALL_TYPES :Alle vrachttypen
|
||||
STR_PURCHASE_INFO_ALL_BUT :Alles behalve {GOLD}
|
||||
STR_PURCHASE_INFO_MAX_TE :{BLACK}Max. Trekkracht: {GOLD}{FORCE}
|
||||
STR_PURCHASE_INFO_MAX_TE :{BLACK}Max. trekkracht: {GOLD}{FORCE}
|
||||
|
||||
STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Railvoertuigkeuzelijst - klik op een railvoertuig voor informatie
|
||||
STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Wegvoertuigkeuzelijst - klik op een wegvoertuig voor informatie
|
||||
@@ -2851,10 +2859,10 @@ STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_BUTTON :{BLACK}Koop weg
|
||||
STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_BUTTON :{BLACK}Koop schip
|
||||
STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_BUTTON :{BLACK}Koop vliegtuig
|
||||
|
||||
STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_TOOLTIP :{BLACK}Koop het geselecteerde railvoertuig. Shift+Klik toont verwachte kosten zonder te kopen
|
||||
STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_TOOLTIP :{BLACK}Koop het geselecteerde wegvoertuig
|
||||
STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_TOOLTIP :{BLACK}Koop het geselecteerde schip. Shift+Klik toont verwachte kosten zonder te kopen
|
||||
STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_TOOLTIP :{BLACK}Koop het geselecteerde vliegtuig. Shift+Klik toont verwachte kosten zonder te kopen
|
||||
STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_TOOLTIP :{BLACK}Koop het geselecteerde railvoertuig. Shift+klik toont verwachte kosten zonder te kopen
|
||||
STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_TOOLTIP :{BLACK}Koop het geselecteerde wegvoertuig. Shift+klik toont verwachte kosten zonder te kopen
|
||||
STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_TOOLTIP :{BLACK}Koop het geselecteerde schip. Shift+klik toont verwachte kosten zonder te kopen
|
||||
STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_TOOLTIP :{BLACK}Koop het geselecteerde vliegtuig. Shift+klik toont verwachte kosten zonder te kopen
|
||||
|
||||
STR_BUY_VEHICLE_TRAIN_RENAME_BUTTON :{BLACK}Hernoem
|
||||
STR_BUY_VEHICLE_ROAD_VEHICLE_RENAME_BUTTON :{BLACK}Hernoem
|
||||
@@ -2882,7 +2890,7 @@ STR_DEPOT_VEHICLE_TOOLTIP :{BLACK}{ENGINE}
|
||||
STR_DEPOT_VEHICLE_TOOLTIP_CHAIN :{BLACK}{NUM} voertuig{P "" en}{STRING}
|
||||
STR_DEPOT_VEHICLE_TOOLTIP_CARGO :{}{CARGO} ({SHORTCARGO})
|
||||
|
||||
STR_DEPOT_TRAIN_LIST_TOOLTIP :{BLACK}Treinen - klik op trein voor informatie, sleep voertuig voor toevoegen/verwijderen van trein, klik rechts voor trein informatie, CTRL+klik voor samengestelde informatie
|
||||
STR_DEPOT_TRAIN_LIST_TOOLTIP :{BLACK}Treinen - klik op trein voor informatie, sleep voertuig voor toevoegen/verwijderen van trein, klik rechts voor trein informatie, Ctrl+klik voor samengestelde informatie
|
||||
STR_DEPOT_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Wegvoertuigen - rechts-klik op wegvoertuig voor informatie
|
||||
STR_DEPOT_SHIP_LIST_TOOLTIP :{BLACK}Schepen - rechts-klik op schip voor informatie
|
||||
STR_DEPOT_AIRCRAFT_LIST_TOOLTIP :{BLACK}Vliegtuig - rechts-klik op vliegtuig voor informatie
|
||||
@@ -2919,10 +2927,10 @@ STR_DEPOT_CLONE_ROAD_VEHICLE :{BLACK}Kloon we
|
||||
STR_DEPOT_CLONE_SHIP :{BLACK}Kloon schip
|
||||
STR_DEPOT_CLONE_AIRCRAFT :{BLACK}Kloon vliegtuig
|
||||
|
||||
STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}Hierdoor wordt een kopie gekocht van een trein inclusief wagons. Klik op deze knop en dan op een trein binnen of buiten het depot. Ctrl+klik deelt de orders. Shift+Klik toont verwachte kosten zonder te kopen
|
||||
STR_DEPOT_CLONE_ROAD_VEHICLE_DEPOT_INFO :{BLACK}Hierdoor wordt een kopie gekocht van een wegvoertuig. Klik op deze knop en dan op een wegvoertuig binnen of buiten de garage. Ctrl+klik deelt de orders. Shift+Klik toont verwachte kosten zonder te kopen
|
||||
STR_DEPOT_CLONE_SHIP_DEPOT_INFO :{BLACK}Hierdoor wordt een kopie gekocht van een schip. Klik op deze knop en dan op een schip binnen of buiten het dok. Ctrl+klik deelt de orders. Shift+Klik toont verwachte kosten zonder te kopen
|
||||
STR_DEPOT_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW :{BLACK}Hierdoor wordt een kopie gekocht van een vliegtuig. Klik op deze knop en dan op een vliegtuig binnen of buiten de hangar. Ctrl+klik deelt de orders. Shift+Klik toont verwachte kosten zonder te kopen
|
||||
STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}Hierdoor wordt een kopie gekocht van een trein inclusief wagons. Klik op deze knop en dan op een trein binnen of buiten het depot. Ctrl+klik deelt de orders. Shift+klik toont verwachte kosten zonder te kopen
|
||||
STR_DEPOT_CLONE_ROAD_VEHICLE_DEPOT_INFO :{BLACK}Hierdoor wordt een kopie gekocht van een wegvoertuig. Klik op deze knop en dan op een wegvoertuig binnen of buiten de garage. Ctrl+klik deelt de orders. Shift+klik toont verwachte kosten zonder te kopen
|
||||
STR_DEPOT_CLONE_SHIP_DEPOT_INFO :{BLACK}Hierdoor wordt een kopie gekocht van een schip. Klik op deze knop en dan op een schip binnen of buiten het dok. Ctrl+klik deelt de orders. Shift+klik toont verwachte kosten zonder te kopen
|
||||
STR_DEPOT_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW :{BLACK}Hierdoor wordt een kopie gekocht van een vliegtuig. Klik op deze knop en dan op een vliegtuig binnen of buiten de hangar. Ctrl+klik deelt de orders. Shift+klik toont verwachte kosten zonder te kopen
|
||||
|
||||
STR_DEPOT_TRAIN_LOCATION_TOOLTIP :{BLACK}Centreer het scherm op de locatie van het treindepot. Ctrl+klik opent een nieuw scherm op de locatie van het treindepot
|
||||
STR_DEPOT_ROAD_VEHICLE_LOCATION_TOOLTIP :{BLACK}Centreer het scherm op de locatie van de garage. Ctrl+klik opent een nieuw scherm op de locatie van de garage
|
||||
@@ -2959,7 +2967,7 @@ STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE :zweeflocomotief
|
||||
STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER :{BLACK}Prijs: {CURRENCY} Gewicht: {WEIGHT_S}{}Snelheid: {VELOCITY} Kracht: {POWER}{}Brandstofprijs: {CURRENCY}/jr{}Capaciteit: {CARGO}
|
||||
STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER_MAX_TE :{BLACK}Prijs: {CURRENCY} Gewicht: {WEIGHT_S}{}Snelheid: {VELOCITY} Kracht: {POWER} Max. T.E.: {6:FORCE}{}Bedrijfskosten: {4:CURRENCY}/yr{}Capaciteit: {5:CARGO}
|
||||
STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_CAPACITY_RUNCOST :{BLACK}Kosten: {CURRENCY} Max. Snelheid: {VELOCITY}{}Capaciteit: {CARGO}, {CARGO}{}Gebruikskosten: {CURRENCY}/yr
|
||||
STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_RUNCOST :{BLACK}Kosten: {CURRENCY} Max. Snelheid: {VELOCITY}{}Capaciteit: {CARGO}{}Gebruikeskosten: {CURRENCY}/yr
|
||||
STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_RUNCOST :{BLACK}Kosten: {CURRENCY} Max. Snelheid: {VELOCITY}{}Capaciteit: {CARGO}{}Gebruikskosten: {CURRENCY}/jaar
|
||||
|
||||
# Autoreplace window
|
||||
STR_REPLACE_VEHICLES_WHITE :{WHITE}Vervang {STRING}
|
||||
@@ -2969,14 +2977,14 @@ STR_REPLACE_VEHICLE_SHIP :Schip
|
||||
STR_REPLACE_VEHICLE_AIRCRAFT :Vliegtuig
|
||||
|
||||
STR_REPLACE_HELP_LEFT_ARRAY :{BLACK}Kies het type locomotief om te vervangen
|
||||
STR_REPLACE_HELP_RIGHT_ARRAY :{BLACK}Kies een nieuw type locomotief die je wil gebruiken om de links geselecteerde type locomotief te vervangen
|
||||
STR_REPLACE_HELP_RIGHT_ARRAY :{BLACK}Kies een nieuw type locomotief die je wilt gebruiken om de links geselecteerde type locomotief te vervangen
|
||||
|
||||
STR_REPLACE_VEHICLES_START :{BLACK}Start het vervangen
|
||||
STR_REPLACE_HELP_START_BUTTON :{BLACK}Klik op deze knop als je de aan de linkerkant geselecteerde locomotief wil vervangen met die aan de rechterkant
|
||||
STR_REPLACE_HELP_START_BUTTON :{BLACK}Klik op deze knop als je de aan de linkerkant geselecteerde locomotief wilt vervangen met die aan de rechterkant
|
||||
STR_REPLACE_NOT_REPLACING :{BLACK}Niet aan het vervangen
|
||||
STR_REPLACE_NOT_REPLACING_VEHICLE_SELECTED :{BLACK}Geen voertuig geselecteerd
|
||||
STR_REPLACE_VEHICLES_STOP :{BLACK}Stop het vervangen
|
||||
STR_REPLACE_HELP_STOP_BUTTON :{BLACK}Klik op deze knop als je de aan de linkerkant geselecteerde locomotief niet wil vervangen
|
||||
STR_REPLACE_HELP_STOP_BUTTON :{BLACK}Klik op deze knop als je de aan de linkerkant geselecteerde locomotief niet wilt vervangen
|
||||
|
||||
STR_REPLACE_ENGINE_WAGON_SELECT :{BLACK}Aan het vervangen: {ORANGE}{STRING}
|
||||
STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK}Wissel tussen locomotief- en wagonvervangvensters
|
||||
@@ -2984,7 +2992,7 @@ STR_REPLACE_ENGINES :Motoren
|
||||
STR_REPLACE_WAGONS :Wagons
|
||||
|
||||
STR_REPLACE_HELP_RAILTYPE :{BLACK}Selecteer een spoortype waar je locomotieven voor wilt selecteren
|
||||
STR_REPLACE_HELP_REPLACE_INFO_TAB :{BLACK}Dit geeft weer waarmee de aan de linkerkant geselecteerde locomotief mee vervangen wordt
|
||||
STR_REPLACE_HELP_REPLACE_INFO_TAB :{BLACK}Dit geeft weer waarmee de aan de linkerkant geselecteerde locomotief vervangen wordt
|
||||
STR_REPLACE_RAIL_VEHICLES :Railvoertuigen
|
||||
STR_REPLACE_ELRAIL_VEHICLES :Elektrische railvoertuigen
|
||||
STR_REPLACE_MONORAIL_VEHICLES :Monorailvoertuigen
|
||||
@@ -2999,19 +3007,19 @@ STR_VEHICLE_VIEW_CAPTION :{WHITE}{VEHICLE
|
||||
STR_VEHICLE_VIEW_TRAIN_LOCATION_TOOLTIP :{BLACK}Centreer het scherm op de locatie van de trein. Ctrl+klik volgt de trein in het hoofdscherm
|
||||
STR_VEHICLE_VIEW_ROAD_VEHICLE_LOCATION_TOOLTIP :{BLACK}Centreer het scherm op de locatie van het wegvoertuig. Ctrl+klik volgt het voertuig in het hoofdscherm
|
||||
STR_VEHICLE_VIEW_SHIP_LOCATION_TOOLTIP :{BLACK}Centreer het scherm op de locatie van het schip. Ctrl+klik volgt het schip op het hoofdscherm
|
||||
STR_VEHICLE_VIEW_AIRCRAFT_LOCATION_TOOLTIP :{BLACK}Centreer het scherm op de locatie van het vliegtuig. Ctrl+klik volgt het vliegtuid op het hoofdscherm
|
||||
STR_VEHICLE_VIEW_AIRCRAFT_LOCATION_TOOLTIP :{BLACK}Centreer het scherm op de locatie van het vliegtuig. Ctrl+klik volgt het vliegtuig op het hoofdscherm
|
||||
|
||||
STR_VEHICLE_VIEW_TRAIN_SEND_TO_DEPOT_TOOLTIP :{BLACK}Stuur trein naar depot. Ctrl+klik voor alleen onderhoud
|
||||
STR_VEHICLE_VIEW_ROAD_VEHICLE_SEND_TO_DEPOT_TOOLTIP :{BLACK}Stuur wegvoertuig naar garage. Ctrl+klik voor alleen onderhoud
|
||||
STR_VEHICLE_VIEW_SHIP_SEND_TO_DEPOT_TOOLTIP :{BLACK}Stuur schip naar dok. Ctrl+klik voor alleen onderhoud
|
||||
STR_VEHICLE_VIEW_AIRCRAFT_SEND_TO_DEPOT_TOOLTIP :{BLACK}Stuur vliegtuig naar hangar. Ctrl+klik voor alleen onderhoud
|
||||
|
||||
STR_VEHICLE_VIEW_CLONE_TRAIN_INFO :{BLACK}Hierdoor wordt een kopie gekocht van deze trein inclusief wagons. Ctrl+klik deelt de orders. Shift+Klik toont verwachte kosten zonder te kopen
|
||||
STR_VEHICLE_VIEW_CLONE_ROAD_VEHICLE_INFO :{BLACK}Hierdoor wordt een kopie gekocht van dit wegvoertuig. Ctrl+klik deelt de orders. Shift+Klik toont verwachte kosten zonder te kopen
|
||||
STR_VEHICLE_VIEW_CLONE_SHIP_INFO :{BLACK}Hierdoor wordt een kopie gekocht van dit schip. Ctrl+klik deelt de orders. Shift+Klik toont verwachte kosten zonder te kopen
|
||||
STR_VEHICLE_VIEW_CLONE_AIRCRAFT_INFO :{BLACK}Hierdoor wordt een kopie gekocht van dit vliegtuig. Ctrl+klik deelt de orders. Shift+Klik toont verwachte kosten zonder te kopen
|
||||
STR_VEHICLE_VIEW_CLONE_TRAIN_INFO :{BLACK}Hierdoor wordt een kopie gekocht van deze trein inclusief wagons. Ctrl+klik deelt de orders. Shift+klik toont verwachte kosten zonder te kopen
|
||||
STR_VEHICLE_VIEW_CLONE_ROAD_VEHICLE_INFO :{BLACK}Hierdoor wordt een kopie gekocht van dit wegvoertuig. Ctrl+klik deelt de orders. Shift+klik toont verwachte kosten zonder te kopen
|
||||
STR_VEHICLE_VIEW_CLONE_SHIP_INFO :{BLACK}Hierdoor wordt een kopie gekocht van dit schip. Ctrl+klik deelt de orders. Shift+klik toont verwachte kosten zonder te kopen
|
||||
STR_VEHICLE_VIEW_CLONE_AIRCRAFT_INFO :{BLACK}Hierdoor wordt een kopie gekocht van dit vliegtuig. Ctrl+klik deelt de orders. Shift+klik toont verwachte kosten zonder te kopen
|
||||
|
||||
STR_VEHICLE_VIEW_TRAIN_IGNORE_SIGNAL_TOOLTIP :{BLACK}Forceer trein verder te rijden zonder te wachten op een groen signaal
|
||||
STR_VEHICLE_VIEW_TRAIN_IGNORE_SIGNAL_TOOLTIP :{BLACK}Forceer trein verder te rijden zonder te wachten op een groen sein
|
||||
|
||||
STR_VEHICLE_VIEW_TRAIN_REFIT_TOOLTIP :{BLACK}Bouw trein om voor een ander goederentype
|
||||
STR_VEHICLE_VIEW_ROAD_VEHICLE_REFIT_TOOLTIP :{BLACK}Bouw wegvoertuig om voor een ander goederentype
|
||||
@@ -3022,7 +3030,7 @@ STR_VEHICLE_VIEW_TRAIN_REVERSE_TOOLTIP :{BLACK}Keer tre
|
||||
STR_VEHICLE_VIEW_ROAD_VEHICLE_REVERSE_TOOLTIP :{BLACK}Dwing het wegvoertuig om om te draaien
|
||||
|
||||
STR_VEHICLE_VIEW_TRAIN_ORDERS_TOOLTIP :{BLACK}Toon orders van trein. Ctrl+klik toont het tijdschema van de trein
|
||||
STR_VEHICLE_VIEW_ROAD_VEHICLE_ORDERS_TOOLTIP :{BLACK}Toon orders van wegvoertuig. Ctrl+klik toont tijdschma van het voertuig
|
||||
STR_VEHICLE_VIEW_ROAD_VEHICLE_ORDERS_TOOLTIP :{BLACK}Toon orders van wegvoertuig. Ctrl+klik toont tijdschema van het voertuig
|
||||
STR_VEHICLE_VIEW_SHIP_ORDERS_TOOLTIP :{BLACK}Toon orders van schip. Ctrl+klik toont tijdschema van het schip
|
||||
STR_VEHICLE_VIEW_AIRCRAFT_ORDERS_TOOLTIP :{BLACK}Toon orders van vliegtuig. Ctrl+klik toont het tijdschema van het vliegtuig
|
||||
|
||||
@@ -3077,7 +3085,7 @@ STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Gewicht:
|
||||
STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Gewicht: {LTBLUE}{WEIGHT_S} {BLACK}Kracht: {LTBLUE}{POWER}{BLACK} Max. snelheid: {LTBLUE}{VELOCITY} {BLACK}Max. T.K.: {LTBLUE}{FORCE}
|
||||
|
||||
STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR :{BLACK}Winst dit jaar: {LTBLUE}{CURRENCY} (vorig jaar: {CURRENCY})
|
||||
STR_VEHICLE_INFO_RELIABILITY_BREAKDOWNS :{BLACK}Betrouwbaarheid: {LTBLUE}{COMMA}% {BLACK}Aantal keren motorpech sinds vorig jaar: {LTBLUE}{COMMA}
|
||||
STR_VEHICLE_INFO_RELIABILITY_BREAKDOWNS :{BLACK}Betrouwbaarheid: {LTBLUE}{COMMA}% {BLACK}Aantal keren motorpech sinds laatste onderhoud: {LTBLUE}{COMMA}
|
||||
|
||||
STR_VEHICLE_INFO_BUILT_VALUE :{LTBLUE}{ENGINE} {BLACK}Gebouwd: {LTBLUE}{NUM}{BLACK} Waarde: {LTBLUE}{CURRENCY}
|
||||
STR_VEHICLE_INFO_NO_CAPACITY :{BLACK}Capaciteit: {LTBLUE}Geen
|
||||
@@ -3087,10 +3095,10 @@ STR_VEHICLE_INFO_CAPACITY_CAPACITY :{BLACK}Capacite
|
||||
|
||||
STR_VEHICLE_INFO_FEEDER_CARGO_VALUE :{BLACK}Geldoverdracht: {LTBLUE}{CURRENCY}
|
||||
|
||||
STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Interval tussen onderhoud: {LTBLUE}{COMMA}dagen{BLACK} Laatste onderhoud: {LTBLUE}{DATE_LONG}
|
||||
STR_VEHICLE_DETAILS_SERVICING_INTERVAL_PERCENT :{BLACK}Service interval: {LTBLUE}{COMMA}%{BLACK} Laatste service: {LTBLUE}{DATE_LONG}
|
||||
STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP :{BLACK}Vergroot interval tussen onderhoud met 10. Ctrl+klik verhoogd de interval met 5
|
||||
STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP :{BLACK}Verklein interval tussen onderhoud met 10. Ctrl+klik verlaagt de interval met 5
|
||||
STR_VEHICLE_DETAILS_SERVICING_INTERVAL_DAYS :{BLACK}Onderhoudsinterval: {LTBLUE}{COMMA}dagen{BLACK} Laatste onderhoud: {LTBLUE}{DATE_LONG}
|
||||
STR_VEHICLE_DETAILS_SERVICING_INTERVAL_PERCENT :{BLACK}Onderhoudsinterval: {LTBLUE}{COMMA}%{BLACK} Laatste onderhoud: {LTBLUE}{DATE_LONG}
|
||||
STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP :{BLACK}Vergroot onderhoudsinterval met 10. Ctrl+klik verhoogt interval met 5
|
||||
STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP :{BLACK}Verklein onderhoudsinterval met 10. Ctrl+klik verlaagt interval met 5
|
||||
|
||||
STR_QUERY_RENAME_TRAIN_CAPTION :{WHITE}Hernoem trein
|
||||
STR_QUERY_RENAME_ROAD_VEHICLE_CAPTION :{WHITE}Hernoem wegvoertuig
|
||||
@@ -3124,8 +3132,8 @@ STR_VEHICLE_DETAILS_TRAIN_ARTICULATED_RV_CAPACITY :{BLACK}Capacite
|
||||
STR_REFIT_CAPTION :{WHITE}{VEHICLE} (Ombouwen)
|
||||
STR_REFIT_TITLE :{GOLD}Selecteer goederentype om te vervoeren:
|
||||
STR_REFIT_NEW_CAPACITY_COST_OF_REFIT :{BLACK}Nieuwe capaciteit: {GOLD}{CARGO}{}{BLACK}Ombouwkosten: {GOLD}{CURRENCY}
|
||||
STR_REFIT_NEW_CAPACITY_COST_OF_AIRCRAFT_REFIT :{BLACK}Nieuwe capaciteit: {GOLD}{CARGO}, {GOLD}{CARGO}{}{BLACK}Kosten van ombouwen: {GOLD}{CURRENCY}
|
||||
STR_REFIT_SELECT_VEHICLES_TOOLTIP :{BLACK}Kies het voertuig om om te bouwen. Slepen met de muis geeft de mogelijkheid om meerdere voertuigen te selecteren. Klikken op een lege ruimte selecteerd het hele voertuig. Ctrl+klik selecteerd a voertuig en de volgende keten
|
||||
STR_REFIT_NEW_CAPACITY_COST_OF_AIRCRAFT_REFIT :{BLACK}Nieuwe capaciteit: {GOLD}{CARGO}, {GOLD}{CARGO}{}{BLACK}Ombouwkosten: {GOLD}{CURRENCY}
|
||||
STR_REFIT_SELECT_VEHICLES_TOOLTIP :{BLACK}Kies het voertuig om om te bouwen. Slepen met de muis geeft de mogelijkheid om meerdere voertuigen te selecteren. Klikken op een lege ruimte selecteert het hele voertuig. Ctrl+klik selecteert een voertuig en de volgende keten
|
||||
|
||||
STR_REFIT_TRAIN_LIST_TOOLTIP :{BLACK}Kies goederentype dat deze trein moet vervoeren
|
||||
STR_REFIT_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Selecteer goederentype dat dit wegvoertuig moet vervoeren
|
||||
@@ -3160,19 +3168,19 @@ STR_ORDER_GO_TO :Ga naar
|
||||
STR_ORDER_GO_NON_STOP_TO :Ga non-stop naar
|
||||
STR_ORDER_GO_VIA :Ga via
|
||||
STR_ORDER_GO_NON_STOP_VIA :Ga non-stop via
|
||||
STR_ORDER_TOOLTIP_NON_STOP :{BLACK}Verander het stop-gedrag van de geselecteerde order
|
||||
STR_ORDER_TOOLTIP_NON_STOP :{BLACK}Verander het stopgedrag van de geselecteerde order
|
||||
|
||||
STR_ORDER_TOGGLE_FULL_LOAD :{BLACK}Alle vracht volladen
|
||||
STR_ORDER_DROP_LOAD_IF_POSSIBLE :Laden indien beschikbaar
|
||||
STR_ORDER_DROP_FULL_LOAD_ALL :Volledig laden
|
||||
STR_ORDER_DROP_FULL_LOAD_ANY :Eén soort vracht volledig laden
|
||||
STR_ORDER_DROP_NO_LOADING :Niet laden
|
||||
STR_ORDER_TOOLTIP_FULL_LOAD :{BLACK}Verander het laad-gedrag van de geselecteerde order
|
||||
STR_ORDER_TOOLTIP_FULL_LOAD :{BLACK}Verander het laadgedrag van de geselecteerde order
|
||||
|
||||
STR_ORDER_TOGGLE_UNLOAD :{BLACK}Alles lossen
|
||||
STR_ORDER_DROP_UNLOAD_IF_ACCEPTED :Lossen indien geaccepteerd
|
||||
STR_ORDER_DROP_UNLOAD :Alles lossen
|
||||
STR_ORDER_DROP_TRANSFER :Transfer
|
||||
STR_ORDER_DROP_TRANSFER :Overladen
|
||||
STR_ORDER_DROP_NO_UNLOADING :Niet lossen
|
||||
STR_ORDER_TOOLTIP_UNLOAD :{BLACK}Verander het losgedrag van de geselecteerde order
|
||||
|
||||
@@ -3186,10 +3194,12 @@ STR_ORDER_DROP_HALT_DEPOT :Stop
|
||||
STR_ORDER_SERVICE_TOOLTIP :{BLACK}Sla deze order over tenzij onderhoud nodig is
|
||||
|
||||
STR_ORDER_CONDITIONAL_VARIABLE_TOOLTIP :{BLACK}Voertuig info voor basisspringen wanneer
|
||||
|
||||
# Conditional order variables, must follow order of OrderConditionVariable enum
|
||||
STR_ORDER_CONDITIONAL_LOAD_PERCENTAGE :Laad percentage
|
||||
STR_ORDER_CONDITIONAL_RELIABILITY :Betrouwbaarheid
|
||||
STR_ORDER_CONDITIONAL_MAX_SPEED :Maximum snelheid
|
||||
STR_ORDER_CONDITIONAL_AGE :Voertuigleeftijd (jaren)
|
||||
STR_ORDER_CONDITIONAL_AGE :Leeftijd (jaren)
|
||||
STR_ORDER_CONDITIONAL_REQUIRES_SERVICE :Heeft onderhoud nodig
|
||||
STR_ORDER_CONDITIONAL_UNCONDITIONALLY :Altijd
|
||||
|
||||
@@ -3213,7 +3223,7 @@ STR_ORDERS_DELETE_BUTTON :{BLACK}Verwijde
|
||||
STR_ORDERS_DELETE_TOOLTIP :{BLACK}Verwijder de geselecteerde order
|
||||
STR_ORDERS_DELETE_ALL_TOOLTIP :{BLACK}Verwijder alle orders
|
||||
STR_ORDERS_STOP_SHARING_BUTTON :{BLACK}Stop met delen
|
||||
STR_ORDERS_STOP_SHARING_TOOLTIP :{BLACK}Stop met delen van de order lijst. Ctrl+klik verwijderd verder ook alle order van dit voertuig
|
||||
STR_ORDERS_STOP_SHARING_TOOLTIP :{BLACK}Stop met delen van de order lijst. Ctrl+klik verwijdert verder ook alle orders van dit voertuig
|
||||
|
||||
STR_ORDERS_GO_TO_BUTTON :{BLACK}Ga naar
|
||||
STR_ORDER_GO_TO_NEAREST_DEPOT :Ga naar dichtstbijzijnde depot
|
||||
@@ -3246,7 +3256,7 @@ STR_ORDER_STOP_ORDER :(Stop)
|
||||
|
||||
STR_ORDER_GO_TO_STATION :{STRING} {STATION} {STRING}
|
||||
|
||||
STR_ORDER_AUTOMATIC :(Automatisch)
|
||||
STR_ORDER_IMPLICIT :(Impliciet)
|
||||
|
||||
STR_ORDER_FULL_LOAD :(Volledig laden)
|
||||
STR_ORDER_FULL_LOAD_ANY :(Één soort vracht volledig laden)
|
||||
@@ -3264,7 +3274,7 @@ STR_ORDER_NO_UNLOAD_FULL_LOAD :(Niet lossen en
|
||||
STR_ORDER_NO_UNLOAD_FULL_LOAD_ANY :(Niet lossen en één soort vracht volledig laden)
|
||||
STR_ORDER_NO_UNLOAD_NO_LOAD :(Niet lossen en niet laden)
|
||||
|
||||
STR_ORDER_STOP_LOCATION_NEAR_END :[vlak bij einde]
|
||||
STR_ORDER_STOP_LOCATION_NEAR_END :[begin]
|
||||
STR_ORDER_STOP_LOCATION_MIDDLE :[midden]
|
||||
STR_ORDER_STOP_LOCATION_FAR_END :[einde]
|
||||
|
||||
@@ -3342,7 +3352,7 @@ STR_AI_DEBUG_RELOAD_TOOLTIP :{BLACK}Verwijde
|
||||
STR_AI_DEBUG_BREAK_STR_ON_OFF_TOOLTIP :{BLACK}Afbreken als een AI logbericht overeenstemt met de afbreektekst aan/uitschakelen
|
||||
STR_AI_DEBUG_BREAK_ON_LABEL :{BLACK}Afbreken op:
|
||||
STR_AI_DEBUG_BREAK_STR_OSKTITLE :{BLACK}Afbreken aan
|
||||
STR_AI_DEBUG_BREAK_STR_TOOLTIP :{BLACK}Als een AI logbericht overeenstemt met deze string wordt het spel gepauseerd
|
||||
STR_AI_DEBUG_BREAK_STR_TOOLTIP :{BLACK}Als een AI logbericht overeenstemt met deze string wordt het spel gepauzeerd
|
||||
STR_AI_DEBUG_MATCH_CASE :{BLACK}Hoofdlettergevoelig
|
||||
STR_AI_DEBUG_MATCH_CASE_TOOLTIP :{BLACK}Hoofdlettergevoeligheid bij vergelijken van AI logberichten t.o.v. de afbreekstring aan/uitzetten
|
||||
STR_AI_DEBUG_CONTINUE :{BLACK}Doorgaan
|
||||
@@ -3353,7 +3363,7 @@ STR_ERROR_NO_AI :{WHITE}OpenTTD
|
||||
STR_ERROR_NO_AI_SUB :{WHITE}... geen AI's beschikbaar!
|
||||
|
||||
STR_ERROR_AI_NO_AI_FOUND :Geen geschikte AI gevonden. {} Deze AI is een 'dummy' en voert niets uit.{}Verschillende AI's kunnen worden gedownload via het 'Online Content' systeem
|
||||
STR_ERROR_AI_PLEASE_REPORT_CRASH :{WHITE}Een van de actieve AI's is vastgelopen. Meld dit a.u.b. bij de auteur van deze AI met een schermprint van het AI Debugscherm
|
||||
STR_ERROR_AI_PLEASE_REPORT_CRASH :{WHITE}Eén van de actieve AI's is vastgelopen. Meld dit a.u.b. bij de auteur van deze AI met een schermprint van het AI Debugscherm
|
||||
STR_ERROR_AI_DEBUG_SERVER_ONLY :{YELLOW}Computerspeler Debugvenster is alleen beschikbaar voor de server
|
||||
|
||||
# AI configuration window
|
||||
@@ -3437,6 +3447,8 @@ STR_ERROR_PNGMAP_MISC :{WHITE}... er g
|
||||
STR_ERROR_BMPMAP :{WHITE}Kan het landschap uit BMP niet laden...
|
||||
STR_ERROR_BMPMAP_IMAGE_TYPE :{WHITE}... kan dit type afbeelding niet omzetten
|
||||
|
||||
STR_ERROR_HEIGHTMAP_TOO_LARGE :{WHITE}... afbeelding is te groot
|
||||
|
||||
STR_WARNING_HEIGHTMAP_SCALE_CAPTION :{WHITE}Schaalwaarschuwing
|
||||
STR_WARNING_HEIGHTMAP_SCALE_MESSAGE :{YELLOW}Het aanpassen van de grootte van een bronkaart is niet aan te bevelen. Toch doorgaan?
|
||||
|
||||
@@ -3460,7 +3472,7 @@ STR_ERROR_LAND_SLOPED_IN_WRONG_DIRECTION :{WHITE}Landhell
|
||||
STR_ERROR_CAN_T_DO_THIS :{WHITE}Kan dit niet uitvoeren...
|
||||
STR_ERROR_BUILDING_MUST_BE_DEMOLISHED :{WHITE}Gebouw moet eerst gesloopt worden
|
||||
STR_ERROR_CAN_T_CLEAR_THIS_AREA :{WHITE}Kan dit gebied niet ontruimen...
|
||||
STR_ERROR_SITE_UNSUITABLE :{WHITE}... lokatie ongeschikt
|
||||
STR_ERROR_SITE_UNSUITABLE :{WHITE}... locatie ongeschikt
|
||||
STR_ERROR_ALREADY_BUILT :{WHITE}... reeds gebouwd
|
||||
STR_ERROR_OWNED_BY :{WHITE}... is eigendom van {STRING}
|
||||
STR_ERROR_AREA_IS_OWNED_BY_ANOTHER :{WHITE}... gebied is van ander bedrijf
|
||||
@@ -3474,7 +3486,7 @@ STR_ERROR_NOT_ALLOWED_WHILE_PAUSED :{WHITE}Niet toe
|
||||
STR_ERROR_LOCAL_AUTHORITY_REFUSES_TO_ALLOW_THIS :{WHITE}De gemeenteraad van {TOWN} staat dit niet toe
|
||||
STR_ERROR_LOCAL_AUTHORITY_REFUSES_AIRPORT :{WHITE}De gemeenteraad van {TOWN} staat bouwen van nog een vliegveld niet toe
|
||||
STR_ERROR_LOCAL_AUTHORITY_REFUSES_NOISE :{WHITE}{TOWN} lokale autoriteiten weigeren toestemming te geven voor vliegveld wegens zorgen om geluidsoverlast
|
||||
STR_ERROR_BRIBE_FAILED :{WHITE}Kan land hier niet ontgraven...
|
||||
STR_ERROR_BRIBE_FAILED :{WHITE}Je poging tot omkopen is
|
||||
STR_ERROR_BRIBE_FAILED_2 :{WHITE}ontdekt door een regionale onderzoeker
|
||||
|
||||
# Levelling errors
|
||||
@@ -3494,7 +3506,7 @@ STR_ERROR_MAXIMUM_PERMITTED_LOAN :{WHITE}... maxi
|
||||
STR_ERROR_CAN_T_BORROW_ANY_MORE_MONEY :{WHITE}Kan geen geld meer lenen...
|
||||
STR_ERROR_LOAN_ALREADY_REPAYED :{WHITE}... geen lening om af te betalen
|
||||
STR_ERROR_CURRENCY_REQUIRED :{WHITE}... {CURRENCY} benodigd
|
||||
STR_ERROR_CAN_T_REPAY_LOAN :{WHITE}Kan geen lening afbetalen
|
||||
STR_ERROR_CAN_T_REPAY_LOAN :{WHITE}Kan geen lening afbetalen...
|
||||
STR_ERROR_INSUFFICIENT_FUNDS :{WHITE}Kan geen geld weggeven dat van de bank geleend is...
|
||||
STR_ERROR_CAN_T_BUY_COMPANY :{WHITE}Kan bedrijf niet kopen...
|
||||
STR_ERROR_CAN_T_BUILD_COMPANY_HEADQUARTERS :{WHITE}Kan bedrijfshoofdkantoor niet bouwen...
|
||||
@@ -3517,7 +3529,7 @@ STR_ERROR_TOWN_CAN_T_DELETE :{WHITE}Kan deze
|
||||
STR_ERROR_STATUE_NO_SUITABLE_PLACE :{WHITE}... er is geen geschikte plaats voor een standbeeld in het centrum van dit dorp
|
||||
|
||||
# Industry related errors
|
||||
STR_ERROR_TOO_MANY_INDUSTRIES :{WHITE}... teveel industrieën
|
||||
STR_ERROR_TOO_MANY_INDUSTRIES :{WHITE}... te veel industrieën
|
||||
STR_ERROR_CAN_T_GENERATE_INDUSTRIES :{WHITE}Kan geen industrieën genereren...
|
||||
STR_ERROR_CAN_T_BUILD_HERE :{WHITE}Kan {STRING} hier niet bouwen...
|
||||
STR_ERROR_CAN_T_CONSTRUCT_THIS_INDUSTRY :{WHITE}Kan dit type industrie hier niet bouwen...
|
||||
@@ -3543,8 +3555,8 @@ STR_ERROR_CAN_T_BUILD_AIRPORT_HERE :{WHITE}Kan hier
|
||||
|
||||
STR_ERROR_ADJOINS_MORE_THAN_ONE_EXISTING :{WHITE}Voegt meer dan één bestaand (laad)station samen
|
||||
STR_ERROR_STATION_TOO_SPREAD_OUT :{WHITE}... station te omvangrijk
|
||||
STR_ERROR_TOO_MANY_STATIONS_LOADING :{WHITE}Teveel (laad)stations
|
||||
STR_ERROR_TOO_MANY_STATION_SPECS :{WHITE}Teveel treinstationsdelen
|
||||
STR_ERROR_TOO_MANY_STATIONS_LOADING :{WHITE}Te veel (laad)stations
|
||||
STR_ERROR_TOO_MANY_STATION_SPECS :{WHITE}Te veel treinstationsdelen
|
||||
STR_ERROR_TOO_MANY_BUS_STOPS :{WHITE}Te veel bushaltes
|
||||
STR_ERROR_TOO_MANY_TRUCK_STOPS :{WHITE}Te veel vrachtwagenlaadstations
|
||||
STR_ERROR_TOO_CLOSE_TO_ANOTHER_RAILROAD :{WHITE}Te dicht bij een ander station
|
||||
@@ -3570,7 +3582,7 @@ STR_ERROR_THERE_IS_NO_STATION :{WHITE}...er is
|
||||
STR_ERROR_MUST_DEMOLISH_RAILROAD :{WHITE}Verwijder eerst treinstation
|
||||
STR_ERROR_MUST_DEMOLISH_BUS_STATION_FIRST :{WHITE}Verwijder eerst bushalte
|
||||
STR_ERROR_MUST_DEMOLISH_TRUCK_STATION_FIRST :{WHITE}Verwijder eerst vrachtwagenlaadhal
|
||||
STR_ERROR_MUST_DEMOLISH_PASSENGER_TRAM_STATION_FIRST :{WHITE}Verwijder eerst passagiers tram station
|
||||
STR_ERROR_MUST_DEMOLISH_PASSENGER_TRAM_STATION_FIRST :{WHITE}Verwijder eerst passagierstramstation
|
||||
STR_ERROR_MUST_DEMOLISH_CARGO_TRAM_STATION_FIRST :{WHITE}Verwijder eerst vrachttramhalte
|
||||
STR_ERROR_MUST_DEMOLISH_DOCK_FIRST :{WHITE}Verwijder eerst haven
|
||||
STR_ERROR_MUST_DEMOLISH_AIRPORT_FIRST :{WHITE}Verwijder eerst vliegveld
|
||||
@@ -3703,7 +3715,7 @@ STR_ERROR_SHIP_IN_THE_WAY :{WHITE}Schip in
|
||||
STR_ERROR_AIRCRAFT_IN_THE_WAY :{WHITE}Vliegtuig in de weg
|
||||
|
||||
STR_ERROR_CAN_T_REFIT_TRAIN :{WHITE}Kan trein niet ombouwen...
|
||||
STR_ERROR_CAN_T_REFIT_ROAD_VEHICLE :{WHITE}Kan wegvoertuig niet ombouwen
|
||||
STR_ERROR_CAN_T_REFIT_ROAD_VEHICLE :{WHITE}Kan wegvoertuig niet ombouwen...
|
||||
STR_ERROR_CAN_T_REFIT_SHIP :{WHITE}Kan schip niet ombouwen...
|
||||
STR_ERROR_CAN_T_REFIT_AIRCRAFT :{WHITE}Kan vliegtuig niet ombouwen...
|
||||
|
||||
@@ -3732,7 +3744,7 @@ STR_ERROR_CAN_T_RENAME_ROAD_VEHICLE_TYPE :{WHITE}Kan type
|
||||
STR_ERROR_CAN_T_RENAME_SHIP_TYPE :{WHITE}Kan type van schip niet hernoemen...
|
||||
STR_ERROR_CAN_T_RENAME_AIRCRAFT_TYPE :{WHITE}Kan type van vliegtuig niet hernoemen...
|
||||
|
||||
STR_ERROR_CAN_T_SELL_TRAIN :{WHITE}Kan railvoertuig niet verkopen
|
||||
STR_ERROR_CAN_T_SELL_TRAIN :{WHITE}Kan railvoertuig niet verkopen...
|
||||
STR_ERROR_CAN_T_SELL_ROAD_VEHICLE :{WHITE}Kan wegvoertuig niet verkopen...
|
||||
STR_ERROR_CAN_T_SELL_SHIP :{WHITE}Kan schip niet verkopen...
|
||||
STR_ERROR_CAN_T_SELL_AIRCRAFT :{WHITE}Kan vliegtuig niet verkopen...
|
||||
@@ -4183,7 +4195,7 @@ STR_FORMAT_DEPOT_NAME_TRAIN_SERIAL :{TOWN} Treindep
|
||||
STR_FORMAT_DEPOT_NAME_ROAD_VEHICLE :{TOWN} Garage
|
||||
STR_FORMAT_DEPOT_NAME_ROAD_VEHICLE_SERIAL :{TOWN} Garage #{COMMA}
|
||||
STR_FORMAT_DEPOT_NAME_SHIP :{TOWN} Dok
|
||||
STR_FORMAT_DEPOT_NAME_SHIP_SERIAL :{TOWN} Dok#{COMMA}
|
||||
STR_FORMAT_DEPOT_NAME_SHIP_SERIAL :{TOWN} Dok #{COMMA}
|
||||
STR_FORMAT_DEPOT_NAME_AIRCRAFT :{STATION} Hangar
|
||||
|
||||
STR_UNKNOWN_STATION :onbekend station
|
||||
@@ -4242,6 +4254,7 @@ STR_TINY_BLACK_COMA :{TINYFONT}{BLAC
|
||||
STR_TINY_COMMA :{TINYFONT}{COMMA}
|
||||
STR_BLUE_COMMA :{BLUE}{COMMA}
|
||||
STR_RED_COMMA :{RED}{COMMA}
|
||||
STR_TINY_BLACK_DECIMAL :{TINYFONT}{BLACK}{DECIMAL}
|
||||
STR_COMPANY_MONEY :{WHITE}{CURRENCY}
|
||||
STR_BLACK_DATE_LONG :{BLACK}{DATE_LONG}
|
||||
STR_BLACK_CROSS :{BLACK}{CROSS}
|
||||
|
@@ -274,7 +274,7 @@ STR_SORT_BY_MAX_SPEED :Maximum speed
|
||||
STR_SORT_BY_MODEL :Model
|
||||
STR_SORT_BY_VALUE :Value
|
||||
STR_SORT_BY_LENGTH :Length
|
||||
STR_SORT_BY_LIFE_TIME :Remaining life time
|
||||
STR_SORT_BY_LIFE_TIME :Remaining lifetime
|
||||
STR_SORT_BY_TIMETABLE_DELAY :Timetable delay
|
||||
STR_SORT_BY_FACILITY :Station type
|
||||
STR_SORT_BY_WAITING :Waiting cargo value
|
||||
@@ -447,6 +447,7 @@ STR_ABOUT_MENU_ZOOMIN_SCREENSHOT :Zoomed in scree
|
||||
STR_ABOUT_MENU_GIANT_SCREENSHOT :Whole map screenshot
|
||||
STR_ABOUT_MENU_ABOUT_OPENTTD :About 'OpenTTD'
|
||||
STR_ABOUT_MENU_SPRITE_ALIGNER :Sprite aligner
|
||||
STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Toggle bounding boxes
|
||||
############ range ends here
|
||||
|
||||
############ range for days starts (also used for the place in the highscore window)
|
||||
@@ -858,26 +859,26 @@ STR_GAME_OPTIONS_CURRENCY_UNITS_FRAME :{BLACK}Currency
|
||||
STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP :{BLACK}Currency units selection
|
||||
|
||||
############ start of currency region
|
||||
STR_GAME_OPTIONS_CURRENCY_GBP :Pounds (£)
|
||||
STR_GAME_OPTIONS_CURRENCY_USD :Dollars ($)
|
||||
STR_GAME_OPTIONS_CURRENCY_EUR :Euro (€)
|
||||
STR_GAME_OPTIONS_CURRENCY_YEN :Yen (¥)
|
||||
STR_GAME_OPTIONS_CURRENCY_GBP :British Pound (GBP)
|
||||
STR_GAME_OPTIONS_CURRENCY_USD :American Dollar (USD)
|
||||
STR_GAME_OPTIONS_CURRENCY_EUR :Euro (EUR)
|
||||
STR_GAME_OPTIONS_CURRENCY_YEN :Japanese Yen (JPY)
|
||||
STR_GAME_OPTIONS_CURRENCY_ATS :Austrian Shilling (ATS)
|
||||
STR_GAME_OPTIONS_CURRENCY_BEF :Belgian Franc (BEF)
|
||||
STR_GAME_OPTIONS_CURRENCY_CHF :Swiss Franc (CHF)
|
||||
STR_GAME_OPTIONS_CURRENCY_CZK :Czech Koruna (CZK)
|
||||
STR_GAME_OPTIONS_CURRENCY_DEM :Deutschmark (DEM)
|
||||
STR_GAME_OPTIONS_CURRENCY_DKK :Danish Krone (DKK)
|
||||
STR_GAME_OPTIONS_CURRENCY_ESP :Peseta (ESP)
|
||||
STR_GAME_OPTIONS_CURRENCY_ESP :Spanish Peseta (ESP)
|
||||
STR_GAME_OPTIONS_CURRENCY_FIM :Finnish Markka (FIM)
|
||||
STR_GAME_OPTIONS_CURRENCY_FRF :Franc (FRF)
|
||||
STR_GAME_OPTIONS_CURRENCY_FRF :French Franc (FRF)
|
||||
STR_GAME_OPTIONS_CURRENCY_GRD :Greek Drachma (GRD)
|
||||
STR_GAME_OPTIONS_CURRENCY_HUF :Hungarian Forint (HUF)
|
||||
STR_GAME_OPTIONS_CURRENCY_ISK :Icelandic Krona (ISK)
|
||||
STR_GAME_OPTIONS_CURRENCY_ITL :Italian Lira (ITL)
|
||||
STR_GAME_OPTIONS_CURRENCY_NLG :Dutch Guilder (NLG)
|
||||
STR_GAME_OPTIONS_CURRENCY_NOK :Norwegian Krone (NOK)
|
||||
STR_GAME_OPTIONS_CURRENCY_PLN :Polish Zloty (PLN)
|
||||
STR_GAME_OPTIONS_CURRENCY_PLN :Polish Złoty (PLN)
|
||||
STR_GAME_OPTIONS_CURRENCY_RON :Romanian Leu (RON)
|
||||
STR_GAME_OPTIONS_CURRENCY_RUR :Russian Rubles (RUR)
|
||||
STR_GAME_OPTIONS_CURRENCY_SIT :Slovenian Tolar (SIT)
|
||||
@@ -1056,6 +1057,7 @@ STR_SEA_LEVEL_HIGH :High
|
||||
STR_SEA_LEVEL_CUSTOM :Custom
|
||||
STR_SEA_LEVEL_CUSTOM_PERCENTAGE :Custom ({NUM}%)
|
||||
|
||||
|
||||
STR_DISASTER_NONE :None
|
||||
STR_DISASTER_REDUCED :Reduced
|
||||
STR_DISASTER_NORMAL :Normal
|
||||
@@ -1110,8 +1112,8 @@ STR_CONFIG_SETTING_TRAIN_ACCELERATION_MODEL_REALISTIC :Realistic
|
||||
STR_CONFIG_SETTING_ROAD_VEHICLE_ACCELERATION_MODEL :{LTBLUE}Road vehicle acceleration model: {ORANGE}{STRING1}
|
||||
STR_CONFIG_SETTING_ROAD_VEHICLE_ACCELERATION_MODEL_ORIGINAL :Original
|
||||
STR_CONFIG_SETTING_ROAD_VEHICLE_ACCELERATION_MODEL_REALISTIC :Realistic
|
||||
STR_CONFIG_SETTING_TRAIN_SLOPE_STEEPNESS :{LTBLUE}Slope steepness for trains {ORANGE}{STRING1}%
|
||||
STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS :{LTBLUE}Slope steepness for road vehicles {ORANGE}{STRING1}%
|
||||
STR_CONFIG_SETTING_TRAIN_SLOPE_STEEPNESS :{LTBLUE}Slope steepness for trains: {ORANGE}{STRING1}%
|
||||
STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS :{LTBLUE}Slope steepness for road vehicles: {ORANGE}{STRING1}%
|
||||
STR_CONFIG_SETTING_FORBID_90_DEG :{LTBLUE}Forbid trains and ships from making 90° turns: {ORANGE}{STRING1}
|
||||
STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :{LTBLUE}Allow to join stations not directly adjacent: {ORANGE}{STRING1}
|
||||
STR_CONFIG_SETTING_IMPROVEDLOAD :{LTBLUE}Use improved loading algorithm: {ORANGE}{STRING1}
|
||||
@@ -1223,6 +1225,7 @@ STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_LONG :long (31st Dec
|
||||
STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_SHORT :short (31-12-2008)
|
||||
STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_ISO :ISO (2008-12-31)
|
||||
|
||||
|
||||
STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME :{LTBLUE}Automatically pause when starting a new game: {ORANGE}{STRING1}
|
||||
STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL :{LTBLUE}When paused allow: {ORANGE}{STRING1}
|
||||
STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_NO_ACTIONS :no actions
|
||||
@@ -1405,6 +1408,7 @@ STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Check fo
|
||||
STR_INTRO_TOOLTIP_AI_SETTINGS :{BLACK}Display AI settings
|
||||
STR_INTRO_TOOLTIP_QUIT :{BLACK}Quit 'OpenTTD'
|
||||
|
||||
|
||||
# Quit window
|
||||
STR_QUIT_CAPTION :{WHITE}Quit
|
||||
STR_QUIT_ARE_YOU_SURE_YOU_WANT_TO_EXIT_OPENTTD :{YELLOW}Are you sure you want to exit OpenTTD and return to {STRING}?
|
||||
@@ -2483,6 +2487,8 @@ STR_NEWGRF_ERROR_CORRUPT_SPRITE :{YELLOW}{RAW_ST
|
||||
STR_NEWGRF_ERROR_MULTIPLE_ACTION_8 :Contains multiple Action 8 entries
|
||||
STR_NEWGRF_ERROR_READ_BOUNDS :Read past end of pseudo-sprite
|
||||
STR_NEWGRF_ERROR_MISSING_SPRITES :{WHITE}The currently used base graphics set is missing a number of sprites.{}Please update the base graphics set
|
||||
STR_NEWGRF_ERROR_GRM_FAILED :Requested GRF resources not available
|
||||
STR_NEWGRF_ERROR_FORCEFULLY_DISABLED :{2:RAW_STRING} was disabled by {4:RAW_STRING}
|
||||
|
||||
# NewGRF related 'general' warnings
|
||||
STR_NEWGRF_POPUP_CAUTION_CAPTION :{WHITE}Caution!
|
||||
@@ -2519,6 +2525,8 @@ STR_NEWGRF_INVALID_CARGO_QUANTITY :{COMMA} of <inv
|
||||
STR_NEWGRF_INVALID_ENGINE :<invalid vehicle model>
|
||||
STR_NEWGRF_INVALID_INDUSTRYTYPE :<invalid industry>
|
||||
|
||||
# NewGRF scanning window
|
||||
|
||||
# Sign list window
|
||||
STR_SIGN_LIST_CAPTION :{WHITE}Sign List - {COMMA} Sign{P "" s}
|
||||
STR_SIGN_LIST_MATCH_CASE :{BLACK}Match case
|
||||
@@ -3186,10 +3194,12 @@ STR_ORDER_DROP_HALT_DEPOT :Stop
|
||||
STR_ORDER_SERVICE_TOOLTIP :{BLACK}Skip this order unless a service is needed
|
||||
|
||||
STR_ORDER_CONDITIONAL_VARIABLE_TOOLTIP :{BLACK}Vehicle data to base jumping on
|
||||
|
||||
# Conditional order variables, must follow order of OrderConditionVariable enum
|
||||
STR_ORDER_CONDITIONAL_LOAD_PERCENTAGE :Load percentage
|
||||
STR_ORDER_CONDITIONAL_RELIABILITY :Reliability
|
||||
STR_ORDER_CONDITIONAL_MAX_SPEED :Maximum speed
|
||||
STR_ORDER_CONDITIONAL_AGE :Vehicle age (years)
|
||||
STR_ORDER_CONDITIONAL_AGE :Age (years)
|
||||
STR_ORDER_CONDITIONAL_REQUIRES_SERVICE :Requires service
|
||||
STR_ORDER_CONDITIONAL_UNCONDITIONALLY :Always
|
||||
|
||||
@@ -3246,7 +3256,7 @@ STR_ORDER_STOP_ORDER :(Stop)
|
||||
|
||||
STR_ORDER_GO_TO_STATION :{STRING} {STATION} {STRING}
|
||||
|
||||
STR_ORDER_AUTOMATIC :(Automatic)
|
||||
STR_ORDER_IMPLICIT :(Implicit)
|
||||
|
||||
STR_ORDER_FULL_LOAD :(Full load)
|
||||
STR_ORDER_FULL_LOAD_ANY :(Full load any cargo)
|
||||
@@ -3437,6 +3447,8 @@ STR_ERROR_PNGMAP_MISC :{WHITE}... some
|
||||
STR_ERROR_BMPMAP :{WHITE}Can't load landscape from BMP...
|
||||
STR_ERROR_BMPMAP_IMAGE_TYPE :{WHITE}... could not convert image type
|
||||
|
||||
STR_ERROR_HEIGHTMAP_TOO_LARGE :{WHITE}... image is too large
|
||||
|
||||
STR_WARNING_HEIGHTMAP_SCALE_CAPTION :{WHITE}Scale warning
|
||||
STR_WARNING_HEIGHTMAP_SCALE_MESSAGE :{YELLOW}Resizing source map too much is not recommended. Continue with the generation?
|
||||
|
||||
@@ -3818,7 +3830,7 @@ STR_TOWN_BUILDING_NAME_STADIUM_2 :Stadium
|
||||
STR_TOWN_BUILDING_NAME_OFFICES_1 :Offices
|
||||
STR_TOWN_BUILDING_NAME_HOUSES_2 :Houses
|
||||
STR_TOWN_BUILDING_NAME_CINEMA_1 :Cinema
|
||||
STR_TOWN_BUILDING_NAME_SHOPPING_MALL_1 :Shopping mall
|
||||
STR_TOWN_BUILDING_NAME_SHOPPING_MALL_1 :Shopping centre
|
||||
STR_TOWN_BUILDING_NAME_IGLOO_1 :Igloo
|
||||
STR_TOWN_BUILDING_NAME_TEPEES_1 :Tepees
|
||||
STR_TOWN_BUILDING_NAME_TEAPOT_HOUSE_1 :Teapot-House
|
||||
@@ -4242,6 +4254,7 @@ STR_TINY_BLACK_COMA :{TINYFONT}{BLAC
|
||||
STR_TINY_COMMA :{TINYFONT}{COMMA}
|
||||
STR_BLUE_COMMA :{BLUE}{COMMA}
|
||||
STR_RED_COMMA :{RED}{COMMA}
|
||||
STR_TINY_BLACK_DECIMAL :{TINYFONT}{BLACK}{DECIMAL}
|
||||
STR_COMPANY_MONEY :{WHITE}{CURRENCY}
|
||||
STR_BLACK_DATE_LONG :{BLACK}{DATE_LONG}
|
||||
STR_BLACK_CROSS :{BLACK}{CROSS}
|
||||
|
@@ -274,7 +274,7 @@ STR_SORT_BY_MAX_SPEED :Maximum speed
|
||||
STR_SORT_BY_MODEL :Model
|
||||
STR_SORT_BY_VALUE :Value
|
||||
STR_SORT_BY_LENGTH :Length
|
||||
STR_SORT_BY_LIFE_TIME :Remaining life time
|
||||
STR_SORT_BY_LIFE_TIME :Remaining lifetime
|
||||
STR_SORT_BY_TIMETABLE_DELAY :Timetable delay
|
||||
STR_SORT_BY_FACILITY :Station type
|
||||
STR_SORT_BY_WAITING :Waiting cargo value
|
||||
@@ -447,6 +447,7 @@ STR_ABOUT_MENU_ZOOMIN_SCREENSHOT :Zoomed in scree
|
||||
STR_ABOUT_MENU_GIANT_SCREENSHOT :Whole map screenshot
|
||||
STR_ABOUT_MENU_ABOUT_OPENTTD :About 'OpenTTD'
|
||||
STR_ABOUT_MENU_SPRITE_ALIGNER :Sprite aligner
|
||||
STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Toggle bounding boxes
|
||||
############ range ends here
|
||||
|
||||
############ range for days starts (also used for the place in the highscore window)
|
||||
@@ -858,26 +859,26 @@ STR_GAME_OPTIONS_CURRENCY_UNITS_FRAME :{BLACK}Currency
|
||||
STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP :{BLACK}Currency units selection
|
||||
|
||||
############ start of currency region
|
||||
STR_GAME_OPTIONS_CURRENCY_GBP :Pounds (£)
|
||||
STR_GAME_OPTIONS_CURRENCY_USD :Dollars ($)
|
||||
STR_GAME_OPTIONS_CURRENCY_EUR :Euro (€)
|
||||
STR_GAME_OPTIONS_CURRENCY_YEN :Yen (¥)
|
||||
STR_GAME_OPTIONS_CURRENCY_GBP :British Pound (GBP)
|
||||
STR_GAME_OPTIONS_CURRENCY_USD :American Dollar (USD)
|
||||
STR_GAME_OPTIONS_CURRENCY_EUR :Euro (EUR)
|
||||
STR_GAME_OPTIONS_CURRENCY_YEN :Japanese Yen (JPY)
|
||||
STR_GAME_OPTIONS_CURRENCY_ATS :Austrian Shilling (ATS)
|
||||
STR_GAME_OPTIONS_CURRENCY_BEF :Belgian Franc (BEF)
|
||||
STR_GAME_OPTIONS_CURRENCY_CHF :Swiss Franc (CHF)
|
||||
STR_GAME_OPTIONS_CURRENCY_CZK :Czech Koruna (CZK)
|
||||
STR_GAME_OPTIONS_CURRENCY_DEM :Deutschmark (DEM)
|
||||
STR_GAME_OPTIONS_CURRENCY_DKK :Danish Krone (DKK)
|
||||
STR_GAME_OPTIONS_CURRENCY_ESP :Peseta (ESP)
|
||||
STR_GAME_OPTIONS_CURRENCY_ESP :Spanish Peseta (ESP)
|
||||
STR_GAME_OPTIONS_CURRENCY_FIM :Finnish Markka (FIM)
|
||||
STR_GAME_OPTIONS_CURRENCY_FRF :Franc (FRF)
|
||||
STR_GAME_OPTIONS_CURRENCY_FRF :French Franc (FRF)
|
||||
STR_GAME_OPTIONS_CURRENCY_GRD :Greek Drachma (GRD)
|
||||
STR_GAME_OPTIONS_CURRENCY_HUF :Hungarian Forint (HUF)
|
||||
STR_GAME_OPTIONS_CURRENCY_ISK :Icelandic Krona (ISK)
|
||||
STR_GAME_OPTIONS_CURRENCY_ITL :Italian Lira (ITL)
|
||||
STR_GAME_OPTIONS_CURRENCY_NLG :Dutch Guilder (NLG)
|
||||
STR_GAME_OPTIONS_CURRENCY_NOK :Norwegian Krone (NOK)
|
||||
STR_GAME_OPTIONS_CURRENCY_PLN :Polish Zloty (PLN)
|
||||
STR_GAME_OPTIONS_CURRENCY_PLN :Polish Złoty (PLN)
|
||||
STR_GAME_OPTIONS_CURRENCY_RON :Romanian Leu (RON)
|
||||
STR_GAME_OPTIONS_CURRENCY_RUR :Russian Rubel (RUR)
|
||||
STR_GAME_OPTIONS_CURRENCY_SIT :Slovenian Tolar (SIT)
|
||||
@@ -1056,6 +1057,7 @@ STR_SEA_LEVEL_HIGH :High
|
||||
STR_SEA_LEVEL_CUSTOM :Custom
|
||||
STR_SEA_LEVEL_CUSTOM_PERCENTAGE :Custom ({NUM}%)
|
||||
|
||||
|
||||
STR_DISASTER_NONE :None
|
||||
STR_DISASTER_REDUCED :Reduced
|
||||
STR_DISASTER_NORMAL :Normal
|
||||
@@ -1110,8 +1112,8 @@ STR_CONFIG_SETTING_TRAIN_ACCELERATION_MODEL_REALISTIC :Realistic
|
||||
STR_CONFIG_SETTING_ROAD_VEHICLE_ACCELERATION_MODEL :{LTBLUE}Road vehicle acceleration model: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_ROAD_VEHICLE_ACCELERATION_MODEL_ORIGINAL :Original
|
||||
STR_CONFIG_SETTING_ROAD_VEHICLE_ACCELERATION_MODEL_REALISTIC :Realistic
|
||||
STR_CONFIG_SETTING_TRAIN_SLOPE_STEEPNESS :{LTBLUE}Slope steepness for trains {ORANGE}{STRING}%
|
||||
STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS :{LTBLUE}Slope steepness for road vehicles {ORANGE}{STRING}%
|
||||
STR_CONFIG_SETTING_TRAIN_SLOPE_STEEPNESS :{LTBLUE}Slope steepness for trains: {ORANGE}{STRING}%
|
||||
STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS :{LTBLUE}Slope steepness for road vehicles: {ORANGE}{STRING}%
|
||||
STR_CONFIG_SETTING_FORBID_90_DEG :{LTBLUE}Forbid trains and ships to make 90 deg turns: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :{LTBLUE}Allow joining stations not directly adjacent: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_IMPROVEDLOAD :{LTBLUE}Use improved loading algorithm: {ORANGE}{STRING}
|
||||
@@ -1223,6 +1225,7 @@ STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_LONG :long (31st Dec
|
||||
STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_SHORT :short (31-12-2008)
|
||||
STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_ISO :ISO (2008-12-31)
|
||||
|
||||
|
||||
STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME :{LTBLUE}Automatically pause when starting a new game: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL :{LTBLUE}When paused allow: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_NO_ACTIONS :no actions
|
||||
@@ -1405,6 +1408,7 @@ STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Check fo
|
||||
STR_INTRO_TOOLTIP_AI_SETTINGS :{BLACK}Display AI settings
|
||||
STR_INTRO_TOOLTIP_QUIT :{BLACK}Quit 'OpenTTD'
|
||||
|
||||
|
||||
# Quit window
|
||||
STR_QUIT_CAPTION :{WHITE}Quit
|
||||
STR_QUIT_ARE_YOU_SURE_YOU_WANT_TO_EXIT_OPENTTD :{YELLOW}Are you sure you want to quit OpenTTD and return to {STRING}?
|
||||
@@ -2483,6 +2487,8 @@ STR_NEWGRF_ERROR_CORRUPT_SPRITE :{YELLOW}{STRING
|
||||
STR_NEWGRF_ERROR_MULTIPLE_ACTION_8 :Contains multiple Action 8 entries
|
||||
STR_NEWGRF_ERROR_READ_BOUNDS :Read past end of pseudo-sprite
|
||||
STR_NEWGRF_ERROR_MISSING_SPRITES :{WHITE}The currently used base graphics set is missing a number of sprites.{}Please update the base graphics set
|
||||
STR_NEWGRF_ERROR_GRM_FAILED :Requested GRF resources not available
|
||||
STR_NEWGRF_ERROR_FORCEFULLY_DISABLED :{2:STRING} was disabled by {4:STRING}
|
||||
|
||||
# NewGRF related 'general' warnings
|
||||
STR_NEWGRF_POPUP_CAUTION_CAPTION :{WHITE}Caution!
|
||||
@@ -2519,6 +2525,8 @@ STR_NEWGRF_INVALID_CARGO_QUANTITY :{COMMA} of <inv
|
||||
STR_NEWGRF_INVALID_ENGINE :<invalid vehicle model>
|
||||
STR_NEWGRF_INVALID_INDUSTRYTYPE :<invalid industry>
|
||||
|
||||
# NewGRF scanning window
|
||||
|
||||
# Sign list window
|
||||
STR_SIGN_LIST_CAPTION :{WHITE}Sign List - {COMMA} Sign{P "" s}
|
||||
STR_SIGN_LIST_MATCH_CASE :{BLACK}Match case
|
||||
@@ -3186,10 +3194,12 @@ STR_ORDER_DROP_HALT_DEPOT :Stop
|
||||
STR_ORDER_SERVICE_TOOLTIP :{BLACK}Skip this order unless maintenance is needed
|
||||
|
||||
STR_ORDER_CONDITIONAL_VARIABLE_TOOLTIP :{BLACK}Vehicle data to base jumping on
|
||||
|
||||
# Conditional order variables, must follow order of OrderConditionVariable enum
|
||||
STR_ORDER_CONDITIONAL_LOAD_PERCENTAGE :Load percentage
|
||||
STR_ORDER_CONDITIONAL_RELIABILITY :Reliability
|
||||
STR_ORDER_CONDITIONAL_MAX_SPEED :Maximum speed
|
||||
STR_ORDER_CONDITIONAL_AGE :Vehicle age (years)
|
||||
STR_ORDER_CONDITIONAL_AGE :Age (years)
|
||||
STR_ORDER_CONDITIONAL_REQUIRES_SERVICE :Requires maintenance
|
||||
STR_ORDER_CONDITIONAL_UNCONDITIONALLY :Always
|
||||
|
||||
@@ -3246,7 +3256,7 @@ STR_ORDER_STOP_ORDER :(Stop)
|
||||
|
||||
STR_ORDER_GO_TO_STATION :{STRING} {STATION} {STRING}
|
||||
|
||||
STR_ORDER_AUTOMATIC :(Automatic)
|
||||
STR_ORDER_IMPLICIT :(Implicit)
|
||||
|
||||
STR_ORDER_FULL_LOAD :(Full load)
|
||||
STR_ORDER_FULL_LOAD_ANY :(Full load any cargo)
|
||||
@@ -3437,6 +3447,8 @@ STR_ERROR_PNGMAP_MISC :{WHITE}... some
|
||||
STR_ERROR_BMPMAP :{WHITE}Can't load landscape from BMP...
|
||||
STR_ERROR_BMPMAP_IMAGE_TYPE :{WHITE}... could not convert image type
|
||||
|
||||
STR_ERROR_HEIGHTMAP_TOO_LARGE :{WHITE}... image is too large
|
||||
|
||||
STR_WARNING_HEIGHTMAP_SCALE_CAPTION :{WHITE}Scale warning
|
||||
STR_WARNING_HEIGHTMAP_SCALE_MESSAGE :{YELLOW}Resizing source map too much is not recommended. Continue with the generation?
|
||||
|
||||
@@ -4242,6 +4254,7 @@ STR_TINY_BLACK_COMA :{TINYFONT}{BLAC
|
||||
STR_TINY_COMMA :{TINYFONT}{COMMA}
|
||||
STR_BLUE_COMMA :{BLUE}{COMMA}
|
||||
STR_RED_COMMA :{RED}{COMMA}
|
||||
STR_TINY_BLACK_DECIMAL :{TINYFONT}{BLACK}{DECIMAL}
|
||||
STR_COMPANY_MONEY :{WHITE}{CURRENCY}
|
||||
STR_BLACK_DATE_LONG :{BLACK}{DATE_LONG}
|
||||
STR_BLACK_CROSS :{BLACK}{CROSS}
|
||||
|