1
0
mirror of https://github.com/OpenTTD/OpenTTD.git synced 2025-08-15 02:29:10 +00:00

Compare commits

...

51 Commits
1.1.0 ... 1.1.3

Author SHA1 Message Date
rubidium
31bc0e08f1 (svn r22938) -Release: 1.1.3 2011-09-15 19:12:16 +00:00
rubidium
526e7294a3 (svn r22937) [1.1] -Prepare 1.1.3 2011-09-15 19:03:33 +00:00
rubidium
9338e1a38f (svn r22936) [1.1] -Backport from trunk: language updates 2011-09-15 18:59:23 +00:00
rubidium
c42d060a44 (svn r22935) [1.1] -Backport from trunk:
- 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)
2011-09-15 18:56:43 +00:00
frosch
c33d1fc60b (svn r22890) [1.1] -Prepare: 1.1.3-RC1 2011-09-04 15:03:59 +00:00
frosch
41f777b0ec (svn r22887) [1.1] -Backport from trunk:
- Fix: [NewGRF] DCxx text references via the textstack are not allowed, but caused crash [FS#4758] (r22882)
- Fix: Miscalculation of train curve speed limits (r22879)
- Fix: Report an error in the news if autoreplace/renew fails due to the engine type being no longer available [FS#4712] (r22876)
2011-09-03 18:59:26 +00:00
frosch
daa89c982e (svn r22886) [1.1] -Backport from trunk:
- Fix: Harden memory allocation (r22881, r22880, r22875)
- Fix: Validate image dimensions before loading [FS#4747] (r22878, r22877, r22874, r22873)
- Fix: Perform stricter checks on RLE compressed BMP images [FS#4746] (r22872, r22871)
2011-09-03 18:56:34 +00:00
frosch
0ca913841d (svn r22885) [1.1] -Backport from trunk:
- 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)
2011-09-03 18:51:59 +00:00
frosch
7d984241f3 (svn r22884) [1.1] -Backport from trunk:
- Fix: Perform stricter checks on some commands [FS#4745] (r22845)
- Fix: Harden savegame load against too many AI config settings [FS#4748] (r22843)
2011-09-03 18:50:20 +00:00
rubidium
a95c366f58 (svn r22842) [1.1] -Backport from trunk:
- Add: River graphics for the original base set (r22766)
2011-08-25 13:46:19 +00:00
rubidium
d233a561a1 (svn r22841) [1.1] -Backport from trunk:
- Fix: Compilation with GCC 4.7 (r22832, r22728, r22719)
- Update: Translations
2011-08-25 13:41:06 +00:00
rubidium
0ded8c0cb8 (svn r22840) [1.1] -Backport from trunk:
- 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)
2011-08-25 13:30:26 +00:00
rubidium
15d5df9496 (svn r22839) [1.1] -Backport from trunk:
- 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)
2011-08-25 13:27:56 +00:00
rubidium
85ee1737e4 (svn r22838) [1.1] -Backport from trunk:
- 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)
2011-08-25 13:24:32 +00:00
rubidium
c5387508eb (svn r22837) [1.1] -Backport from trunk:
- 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)
2011-08-25 13:21:25 +00:00
rubidium
a8c7707fe0 (svn r22752) [1.1] -Update: forgotten documentation changes from trunk 2011-08-14 18:56:33 +00:00
rubidium
eb7bceb240 (svn r22748) [1.1] -Prepare: 1.1.2 2011-08-14 15:23:27 +00:00
rubidium
6f8248c36d (svn r22747) [1.1] -Backport from trunk:
- Fix: Some corrupted savegames could crash OpenTTD instead of showing the 'savegame corrupted' message [FS#4717] (r22737, r22736)
- Fix: Triggering NOT_REACHED when playing with a NewGRF that supplies genders/cases for a language that was not installed [FS#4718] (r22735)
2011-08-14 15:23:10 +00:00
rubidium
41db186ea7 (svn r22704) [1.1] -Backport from trunk: language updates 2011-07-30 17:55:23 +00:00
rubidium
310d9e4ee3 (svn r22703) [1.1] -Prepare for 1.1.2-RC2 2011-07-30 17:53:09 +00:00
rubidium
be65972895 (svn r22702) [1.1] -Backport from trunk:
- 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)
2011-07-30 17:48:23 +00:00
rubidium
a51531e410 (svn r22701) [1.1] -Backport from trunk:
- 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)
2011-07-30 17:45:37 +00:00
rubidium
4b800313f4 (svn r22685) [1.1] -Prepare: 1.1.2-RC1 2011-07-24 14:43:42 +00:00
rubidium
e1841b5d68 (svn r22684) [1.1] -Backport from trunk:
- 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)
- Update: languages
2011-07-24 14:34:38 +00:00
rubidium
4f8053e559 (svn r22654) [1.1] -Backport from trunk:
- 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)
2011-07-10 20:35:31 +00:00
rubidium
3a39cea23b (svn r22653) [1.1] -Backport from trunk:
- 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)
2011-07-10 20:29:19 +00:00
rubidium
a873aa3337 (svn r22652) [1.1] -Backport from trunk:
- 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)
2011-07-10 20:25:59 +00:00
rubidium
a1826a043e (svn r22651) [1.1] -Backport from trunk:
- 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)
2011-07-10 20:23:04 +00:00
rubidium
a6750a145e (svn r22650) [1.1] -Backport from trunk:
- 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: No client error packet was sent to the admin bots [FS#4585] (r22384)
2011-07-10 20:17:56 +00:00
rubidium
b5bad6aa19 (svn r22602) [1.1] -Fix: MSVC compile warning 2011-06-19 12:12:10 +00:00
rubidium
725d00630f (svn r22601) [1.1] -Backport from trunk:
- Add: Makefile support for bundling pdb and running regressions with the MSVC makefile (r22581, r22580, r22576)
- 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)
2011-06-18 19:43:51 +00:00
rubidium
0b02b285a8 (svn r22600) [1.1] -Backport from trunk:
- 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've been invalidated (r22582)
- Fix: Do not lower the arrow buttons in the NewGRF/AI parameter windows if they are clicked when disabled (r22553, r22499)
2011-06-18 19:40:56 +00:00
rubidium
5cb560d4bd (svn r22599) [1.1] -Backport from trunk:
- 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)
2011-06-18 19:20:01 +00:00
rubidium
4ba397c285 (svn r22598) [1.1] -Backport from trunk:
- 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)
2011-06-18 18:37:10 +00:00
rubidium
863d0e08e3 (svn r22597) [1.1] -Backport from trunk:
- 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)
2011-06-18 18:33:20 +00:00
frosch
041714e538 (svn r22527) [1.1] -Prepare for 1.1.1 2011-05-31 19:25:02 +00:00
rubidium
7bbfbcddb7 (svn r22524) [1.1] -Backport from trunk:
- Language updates
- Documentation updates
2011-05-29 20:08:21 +00:00
rubidium
c224791f7f (svn r22520) [1.1] -Backport from trunk:
- Fix: Only try to insert implicit orders for ground vehicles. Aircraft may reach unscheduled terminals when skipping orders etc [FS#4624] (r22492)
- Change: Automatic orders are better called implicit orders as no real order influencing path finding is added (r22474, r22473)
2011-05-29 17:55:15 +00:00
rubidium
7fcdcbc8dd (svn r22468) [1.1] -Prepare for 1.1.1-RC1 2011-05-15 18:33:51 +00:00
rubidium
a7487b5ede (svn r22467) [1.1] -Backport from trunk:
- 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)
2011-05-15 18:06:13 +00:00
rubidium
2b709f2d38 (svn r22462) [1.1] -Backport language changes from trunk 2011-05-15 09:44:40 +00:00
rubidium
59a11e6626 (svn r22461) [1.1] -Backport from trunk:
- 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: Keep better accounting of the order in which clients joined; client can't 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: Delete the client list popup when the client got removed (instead of previously selecting some other client) (r22360, r22359, r22358)
2011-05-15 09:38:54 +00:00
rubidium
829a2c201d (svn r22449) [1.1] -Backport from trunk:
- 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)
2011-05-13 18:04:10 +00:00
rubidium
704a361ada (svn r22448) [1.1] -Backport from trunk:
- 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)
2011-05-13 17:57:07 +00:00
rubidium
bde2fec339 (svn r22447) [1.1] -Backport from trunk:
- 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)
2011-05-13 17:52:35 +00:00
rubidium
eb4c66a4fb (svn r22395) [1.1] -Backport: loads of string changes 2011-04-30 21:03:14 +00:00
rubidium
2b2cabfce1 (svn r22394) [1.1] -Backport from trunk:
- Change: Show one digit of the fractional train length in the depot (r22336, r22305, r22304, r22303)
- 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)
2011-04-30 20:58:04 +00:00
rubidium
e43d961737 (svn r22393) [1.1] -Backport from trunk:
- 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'm leaving" packet from the client. So let the client wait a tiny bit after sending the "I'm 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: No client error packet was sent to the admin bots [FS#4585] (r22384)
- Fix: Recolouring of silicon bridge was done incorrectly (r22380, r22379, r22378)
2011-04-30 20:50:41 +00:00
rubidium
30df6de7bd (svn r22392) [1.1] -Backport from trunk:
- Fix: Crash when clicking a removed company in the vehicle list dropdowns [FS#4592] (r22373)
- 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: 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)
2011-04-30 20:46:58 +00:00
rubidium
3330813d95 (svn r22391) [1.1] -Backport from trunk:
- 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)
2011-04-30 20:42:50 +00:00
rubidium
41fe2dea36 (svn r22390) [1.1] -Backport from trunk:
- 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)
- Fix: [NewGRF] the c and p parts of station vars 40, 41 and 49 were incorrect for large stations (r22286)
2011-04-30 20:41:17 +00:00
262 changed files with 5668 additions and 2545 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -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

Binary file not shown.

View File

@@ -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.

View File

@@ -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.

View File

@@ -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.

View File

@@ -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)

View File

@@ -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'`

View File

@@ -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"

View File

@@ -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.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

After

Width:  |  Height:  |  Size: 29 KiB

View File

@@ -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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 29 KiB

View File

@@ -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"

View 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

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

View 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

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

View 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

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

View 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

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

View 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

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

View File

@@ -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

View File

@@ -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

View File

@@ -2,7 +2,7 @@
%define binname openttd
%define srcver 1.1.0
%define srcver 1.1.3
%if %{dedicated}
Name: %{binname}-dedicated

View File

@@ -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:

View File

@@ -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\"

View File

@@ -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\"

View File

@@ -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

View File

@@ -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" />

View File

@@ -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>

View File

@@ -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>

View File

@@ -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=\&quot;OpenTTD\&quot;;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=\&quot;OpenTTD\&quot;"
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=\&quot;OpenTTD\&quot;;_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=\&quot;OpenTTD\&quot;;_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"
>

View File

@@ -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=\&quot;OpenTTD\&quot;;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=\&quot;OpenTTD\&quot;"
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=\&quot;OpenTTD\&quot;;_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=\&quot;OpenTTD\&quot;;_SQ64"
StringPooling="true"
ExceptionHandling="1"
RuntimeLibrary="0"

View File

@@ -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=\&quot;OpenTTD\&quot;;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=\&quot;OpenTTD\&quot;"
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=\&quot;OpenTTD\&quot;;_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=\&quot;OpenTTD\&quot;;_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"
>

View File

@@ -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=\&quot;OpenTTD\&quot;;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=\&quot;OpenTTD\&quot;"
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=\&quot;OpenTTD\&quot;;_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=\&quot;OpenTTD\&quot;;_SQ64"
StringPooling="true"
ExceptionHandling="1"
RuntimeLibrary="0"

View File

@@ -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!

View File

@@ -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

View File

@@ -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

View File

@@ -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;
}

View File

@@ -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.

View File

@@ -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);
}

View File

@@ -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();

View File

@@ -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);

View File

@@ -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).
*/

View File

@@ -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:

View File

@@ -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;
}

View File

@@ -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));

View File

@@ -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

View File

@@ -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.

View File

@@ -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];

View File

@@ -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.

View File

@@ -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).

View File

@@ -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);

View File

@@ -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);
}

View File

@@ -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;
}

View File

@@ -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) {

View File

@@ -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'

View File

@@ -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;
}

View File

@@ -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;

View File

@@ -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:

View File

@@ -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"

View File

@@ -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);
}
}

View File

@@ -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

View File

@@ -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 */

View File

@@ -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];

View File

@@ -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");

View File

@@ -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 */

View File

@@ -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;
}

View File

@@ -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();

View File

@@ -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]);

View File

@@ -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;

View File

@@ -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)

View File

@@ -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;
}
}
};

View File

@@ -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;

View File

@@ -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

View File

@@ -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);

View File

@@ -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. */

View File

@@ -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.
};
/**

View File

@@ -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"

View File

@@ -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();

View File

@@ -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);

View File

@@ -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();
}
}

View File

@@ -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}

View File

@@ -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}

View File

@@ -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}

View File

@@ -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}

View File

@@ -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 :(Напълно натовари какъвто и да е товар)

View File

@@ -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}

View File

@@ -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}

View File

@@ -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}

View File

@@ -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}

View File

@@ -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}

View File

@@ -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}

View File

@@ -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}

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