Compare commits

...
297 Commits
Author SHA1 Message Date
glx 8db90283f0 (svn r12182) -Release 0.6.0-beta4 2008-02-18 21:49:21 +00:00
belugas 0cdf2b525f (svn r12181) -Change: update some documentation. 2008-02-18 20:59:04 +00:00
peter1138 a4c14fb442 (svn r12180) -Fix: Test purchase list loading/loaded sprites instead of unconditionally returning a possibly non-existant sprite. 2008-02-18 19:20:37 +00:00
smatz 509b3a3247 (svn r12179) -Codechange: use GetCrossingRailTrack() and GetCrossingRailAxis() to improve code readability 2008-02-18 18:35:36 +00:00
smatz c7a8080c3a (svn r12178) -Codechange: use the 'side' parameter in TrainController and TrainCheckIfLineEnds to simplify the code 2008-02-18 16:35:38 +00:00
smatz 29125c0e68 (svn r12177) -Codechange: use 'side' parameter in GetTileTrackStatus so there can be less checks in pathfinders for depots/stations/tunnels/bridges 2008-02-18 16:11:31 +00:00
smatz a0a225ab02 (svn r12176) -Codechange: one division less when playing sounds (patch by Dominik) 2008-02-18 14:59:30 +00:00
peter1138 a0fda5b969 (svn r12175) -Fix (r12174): Ensure the patches window is centred properly. 2008-02-18 13:19:57 +00:00
peter1138 b3f304cde3 (svn r12174) -Codechange: Make the patches window dynamically resize to the largest patch tab, so adding patch options is simply a case of adding to the lists. 2008-02-18 12:36:10 +00:00
peter1138 06de1215c1 (svn r12173) -Cleanup: Minor codestyle fixes. 2008-02-18 11:47:53 +00:00
peter1138 db0eb9570c (svn r12172) -Codechange: Allow buttons to resize in NewGRF settings window 2008-02-18 09:16:02 +00:00
smatz 38969fe46d (svn r12171) -Fix [FS#609]: return correct bridge price for AI when DC_QUERY_COST is set (patch by Raimar Falke)
It never happens in current code, but it is better to be ready for it
2008-02-18 01:42:21 +00:00
smatz d75cccf5d5 (svn r12170) -Fix: do not draw trees along road and street lights under low bridges (spotted by _minime_) 2008-02-17 21:27:44 +00:00
smatz 6bf44158c5 (svn r12169) -Change [FS#1696]: play sounds when there is only small part of tile/vehicle visible too (original idea by Dominik)
It improves the game appearance when playing with very small screen resolution
2008-02-17 20:15:20 +00:00
smatz 505951e9fa (svn r12168) -Fix: behave a bit better when 'R' is pressed during rail station dragging 2008-02-17 18:19:33 +00:00
smatz 8b56e7544e (svn r12167) -Feature(tte): change colour of autorail and autoroad selection when Ctrl is pressed 2008-02-17 17:00:43 +00:00
smatz 291931bf50 (svn r12166) -Fix [FS#337]: when drag&drop mode was cancelled by keyboard input, depot/group window wasn't updated (original patch by GrimRC) 2008-02-17 12:21:05 +00:00
glx 16e23a75fe (svn r12165) -Fix [FS#1652, FS#1773]: buffer overflow when drawing scrolling news 2008-02-17 00:47:39 +00:00
peter1138 7394b9d030 (svn r12164) -Fix (r12137, FS#1775]: Variable scope bug crept in 2008-02-16 23:09:33 +00:00
smatz 13781ec11b (svn r12163) -Fix [FS#1705]: if a train is 'stopping' when entering a depot, do not let it leave again 2008-02-16 22:29:30 +00:00
smatz ebe03109ad (svn r12162) -Fix [FS#1757]: towns shouldn't build over houses owned by another town 2008-02-16 17:54:29 +00:00
smatz 4b7a812e55 (svn r12161) -Fix: towns will no longer build houses > 1x1 there where should be road (with 2x2, 3x3 grid town layouts) 2008-02-16 17:10:14 +00:00
smatz 058f39fe18 (svn r12160) -Fix [FS#1744]: remove the arbitrary limit of 64 waypoints per town, so weird things won't happen anymore 2008-02-16 16:40:47 +00:00
belugas e7173d3ba4 (svn r12159) -Codechange: Enumify some widget magical numbers
-Cleanup: apply a bit of code style.  Mostly re-indenting switch cases
2008-02-16 03:12:57 +00:00
belugas 245fccf22d (svn r12158) -Codechange: merge all the sprite recolouring mapping under a single function
-Fix: Handle the bridge recolouring mapping as the other features.  Although not specified by the specs, it seems to be implicit.
2008-02-16 03:01:05 +00:00
belugas b8f8d0ca51 (svn r12157) -Codechange: Remove a structure definition and replace it with another one closely matching
-Codechange: Replace two magic numbers with according sprite names
2008-02-16 02:37:31 +00:00
smatz b4f58ebae4 (svn r12156) -Fix (r11454): Chance16I was now biased towards zero - round to nearest now 2008-02-16 00:46:38 +00:00
glx 044ca2bbf6 (svn r12155) -Fix (r12154): some warnings (always compile before commit) 2008-02-16 00:10:03 +00:00
glx 3e70ee6ed7 (svn r12154) -Codechange: removed a magic number 2008-02-15 23:57:03 +00:00
smatz a5f99154b7 (svn r12150) -Fix (r12143): compiler warnings - possible use of uninitialised variable 2008-02-15 21:05:46 +00:00
frosch a40d761d7f (svn r12149) -Codechange: Merge 'ground_sprite' and 'ground_pal' of DrawTileSprites into one PalSpriteID 2008-02-15 18:40:42 +00:00
frosch fd0f57a794 (svn r12148) -Codechange: Merge 'image' and 'pal' of DrawTileSeqStruct into one PalSpriteID 2008-02-15 18:34:26 +00:00
frosch cedca22c60 (svn r12147) -Codechange: Use macros to build DrawTileSprites-tables in station_land and unmovable_land. 2008-02-15 18:21:04 +00:00
frosch ef354e074f (svn r12146) -Codechange: Use macros to build DrawTileSeqStruct-tables in station_land and unmovable_land. 2008-02-15 18:00:30 +00:00
belugas 65a13a3022 (svn r12145) -Codechange: includes should be at the top of the source file
-Codechange: undefine a defined macro once work is finished, just in case
2008-02-15 17:38:18 +00:00
peter1138 ac5433a924 (svn r12144) -Codechange: Adjust aircraft slowing algorithm so that very fast
aircraft slow down more rapidly than slower aircraft. This prevents them 
from reaching the end of the runway at high speed, and also stops slow 
aircraft from slowing down too much at the start of the runway.
2008-02-15 13:28:13 +00:00
peter1138 d1c741db4c (svn r12143) -Fix (r8038): Engine::preview_player does not contain a Player ID. Rename this to preview_player_rank and change back to a uint8 to avoid confusion. 2008-02-15 11:02:50 +00:00
frosch 4164d2488f (svn r12142) -Fix [FS#1766]: Callback 0x3D always gets a cargobit in var 0x18, independent of grf version. 2008-02-15 10:52:10 +00:00
frosch 43c0f7ea8e (svn r12141) -Codechange: Introduce IsNormalRoad[Tile](), IsRoadDepot[Tile]() and HasTileRoadType(); and use them. 2008-02-14 15:59:16 +00:00
belugas 739b118c6b (svn r12140) -Codechange: A bit of code style fixes(Geektoo). 2008-02-14 15:13:36 +00:00
peter1138 859d768bb7 (svn r12139) -Fix (r12124): The global variable value should be returned, not the variable. 2008-02-14 11:58:36 +00:00
smatz bb81de3c4c (svn r12138) -Fix: do not allow adding tram to rail-road crossing when there is a vehicle on it 2008-02-14 10:19:16 +00:00
peter1138 3371d02449 (svn r12137) -Fix [FS#1769]: Show cargo capacity for articulated vehicles correctly in the purchase list. Multiple cargo types can also now been shown. 2008-02-14 07:25:24 +00:00
belugas 539c635efd (svn r12136) -Fix(r12135): Code style compliance and... code style as such 2008-02-14 03:10:22 +00:00
belugas 81b3652f37 (svn r12135) -Codechange: Road and rail bridge selection windows were identical apart the caption. So remove one window definition and set manually the caption accordingly.
-Codechange: prepare the "type" of bridge parameter only once, at the beginning of the selection process.  Makes less magic around.
2008-02-14 02:57:38 +00:00
smatz a0ddc43e92 (svn r12134) -Change: count the number of ticks a vehicle was running this day to calculate running cost
-Fix [FS#1739]: vehicle profit is now counted with 8bit fract, so it is now shown properly in the vehicle details window
2008-02-13 19:24:40 +00:00
peter1138 b7cd791988 (svn r12133) -Fix: Vehicle sorting by max speed did not work properly for trains. Instead of trying to work it out again, just use the cached values... 2008-02-13 18:11:19 +00:00
smatz fd51465c8b (svn r12132) -Cleanup: convert pathfinder selection from if/else to switch/case at many places 2008-02-13 17:54:11 +00:00
smatz 480036254b (svn r12131) -Fix (r3374): with mammoth trains disabled, maximum train length was limited to 9 2008-02-13 16:49:25 +00:00
smatz 0d1e4237cf (svn r12130) -Cleanup (r12129): remove now unused strings from all language files 2008-02-13 14:31:13 +00:00
smatz 507728f46b (svn r12129) -Change [FS#1759]: simplified patch settings for pathfinders (Yorick) 2008-02-13 14:21:36 +00:00
peter1138 df7327b453 (svn r12128) -Codechange: Replace last use of TrainPlayLeaveStationSound(v) with v->PlayLeaveStationSound(), and remove wrapper function. 2008-02-13 09:34:56 +00:00
belugas 6bb9c474dd (svn r12127) -Codechange: Use a variable instead of calling the same function a few times. Again. Just a different value. 2008-02-13 03:21:19 +00:00
belugas c95ff294fb (svn r12126) -Codechange: Use a variable instead of calling the same function a few times 2008-02-13 03:02:02 +00:00
peter1138 63e306006b (svn r12125) -Codechange: Remove redundant signal lookup table, and document why normal electric signals are handled specially. 2008-02-12 20:14:14 +00:00
frosch c2bad6d22c (svn r12124) -Codechange: Move newgrf-variables that are common to VarAction2 and Action7/9/D to their own function.
-Fix: Add some variables that were missing in one or both cases.
2008-02-12 15:43:10 +00:00
glx 23bae896c9 (svn r12123) -Add: generate.vbs script to allow project files generation for users unable to run generate bash script 2008-02-12 14:20:55 +00:00
peter1138 4d0c443953 (svn r12122) -Codechange: Add framework for generic feature callbacks, along with some parts for AI use. 2008-02-12 13:23:57 +00:00
peter1138 9f6fd72c09 (svn r12121) -Fix [FS#1764]: Drop down item indexes are now an int instead of a byte (Yexo) 2008-02-12 12:54:51 +00:00
peter1138 592e22cc3a (svn r12120) -Cleanup: const-ify parameters when checking for same cargopacket source. 2008-02-12 11:46:29 +00:00
peter1138 e76f7c9359 (svn r12119) -Codechange: Rename grfspec_feature to match code style, and expose in header for use elsewhere. 2008-02-12 11:08:47 +00:00
belugas f4334301e8 (svn r12118) -Codechange: Put the two descriptions of bridges in an array instead of two single variables, following the transport type it represents 2008-02-12 03:05:27 +00:00
glx b0b929ce42 (svn r12117) -Fix (r12115): strgen compilation was broken 2008-02-12 02:39:22 +00:00
glx 42b305661b (svn r12116) -Fix (r12083): little typos in source.list 2008-02-11 21:01:43 +00:00
smatz f19eca0905 (svn r12115) -Codechange: move malloc/realloc error messages to separate file to spare 4-8kB of binary size 2008-02-11 20:23:38 +00:00
peter1138 f175e46208 (svn r12114) -Fix (r12111): missed one Bridge -> BridgeSpec 2008-02-11 19:10:33 +00:00
belugas cc2b8b574a (svn r12111) -Codechange: Rename Bridge to BridgeSpec, out of consistensy with other Specs in used. 2008-02-11 17:35:15 +00:00
smatz 1011ac353b (svn r12109) -Fix [FS#1745](r8973): use tile index 0 for planes in the air, so it cannot have an invalid tile index 2008-02-11 12:42:49 +00:00
peter1138 fb6accfcb7 (svn r12108) -Fix [FS#1753]: X/Y axis swap for station tiles in GetNearbyTile() was wrong way around. 2008-02-11 11:21:29 +00:00
belugas 4f0e6ab0ea (svn r12107) -Codechange: Add and use the typedef BridgeType 2008-02-11 04:12:30 +00:00
belugas d8b3526840 (svn r12106) -Fix(r12105): Kill warnings and raise an error when the transport type is not supported 2008-02-11 03:22:44 +00:00
belugas 9a50fcd281 (svn r12105) -Codechange: Use TransportType instead of guessing what kind of bridge we are preparing to build 2008-02-11 01:06:44 +00:00
smatz 9e0a93d286 (svn r12104) -Fix (r12103): remember loading indicators transparency settings and make in switchable by Ctrl+9 2008-02-10 18:31:33 +00:00
smatz 8a768652c8 (svn r12103) -Feature(tte): separate catenary transparency settings from building transparency settings 2008-02-10 15:53:26 +00:00
maedhros 4e839aacf6 (svn r12102) -Feature: Allow locking individual transparency settings so they will not be changed by pressing 'x'. (Roujin) 2008-02-10 14:49:44 +00:00
smatz e075cf5500 (svn r12101) -Fix (r12100): there are void tiles at MapMaxX,Y - have to substract one to be on water border tiles 2008-02-10 14:16:25 +00:00
smatz ad933e1ddb (svn r12100) -Fix (r12042): check for water class of surrounding tiles fails for buoys at map borders 2008-02-10 14:00:52 +00:00
smatz a86921da41 (svn r12099) -Documentation: add new RailGroundType to landscape.html 2008-02-10 12:01:14 +00:00
smatz 9deab65bae (svn r12098) -Fix: make snow appear on rail tiles dependant on track height, not on height of the lowest part of the tile 2008-02-10 11:35:05 +00:00
glx efe831934a (svn r12097) -Fix (r654, r1525): loading old, pre savegame version 2, savegames. 2008-02-10 05:21:08 +00:00
smatz d9af979d6a (svn r12096) -Fix: remove leftover property when loading older savegames 2008-02-09 17:36:21 +00:00
smatz e3301db213 (svn r12095) -Fix [FS#1703]: when a company bankrupts, remove drive-through road stops, ship depots and buoys too. Update owners of water and road. 2008-02-09 17:30:13 +00:00
smatz 802c949755 (svn r12094) -Codechange: use DC_BANKRUPT command flag when removing player property to allow further fixes 2008-02-09 15:07:31 +00:00
smatz 221494bd3f (svn r12093) -Fix: do not set station owner for buoys when merging company 2008-02-09 12:20:50 +00:00
belugas cebb86777a (svn r12092) -Fix(r11532)[FS#1755]: Make sure the production level will not get out of delimited boundaries, while using var result 0D/0E and than multiplying/dividing it.
And use multiply/divide operations instead of shifting.  It does the same, just adds a bit more readability
2008-02-09 03:12:05 +00:00
belugas a782ab3903 (svn r12091) -Codechange : remove all production level magic numbers and replace them by enums 2008-02-09 03:03:09 +00:00
belugas cf9447c15b (svn r12090) -Codechange : removed a magic number and code style application on enum ExpensesType 2008-02-09 02:49:33 +00:00
belugas 9343ad44fd (svn r12089) -Cleanup: re-order, yet another time, the files in msvc projects 2008-02-09 02:46:49 +00:00
smatz 8195e57fd4 (svn r12088) -Fix: assert when loading savegame with wrong tiletype at south map borders 2008-02-08 19:57:56 +00:00
glx e2de86f951 (svn r12087) -Fix: MSVC warnings 2008-02-08 17:53:01 +00:00
glx 731137678c (svn r12086) -Fix [FS#1747] (r11425): check overrides only for industries when mapping newgrf entities to 'real' entities 2008-02-08 16:56:52 +00:00
frosch 7b9efcea21 (svn r12085) -Fix(r12058): Road vehicles could get stuck, when NPF told them to reverse on junction tiles. (spotted by SmatZ) 2008-02-08 16:25:55 +00:00
frosch 2173b03144 (svn r12084) -Fix: 'Early retirement'-properties are signed. 2008-02-08 15:34:54 +00:00
belugas bf15bc9c57 (svn r12083) -Cleanup: Adding some more files in MSVC projects 2008-02-07 18:02:22 +00:00
belugas 30a8c150d0 (svn r12082) -Cleanup: MSVC projects do not care about the directory of the file while sorting. Only the "Absolute" name matters 2008-02-07 17:24:38 +00:00
belugas 034150c199 (svn r12081) -Codechange: Rename table/roadveh.h to table/roadveh_movment.h
It is more descriptive name and it will not upset the generate script anymore
2008-02-07 17:01:06 +00:00
glx b68f398cac (svn r12080) -Fix: update waypoint signs when changing language 2008-02-07 16:17:00 +00:00
peter1138 1bcc1927b1 (svn r12079) -Fix: Use search paths when opening console scripts. 2008-02-07 10:01:18 +00:00
belugas 431c3ce3c1 (svn r12078) -Cleanup: Add missing headers on project files 2008-02-07 04:47:38 +00:00
belugas 8a3f6830a3 (svn r12077) -Cleanup: Remove files not used anymore from project files 2008-02-07 03:45:02 +00:00
glx eb0d50aaff (svn r12076) -Fix: when reusing a renamed deleted waypoint, keep the new name 2008-02-07 01:56:39 +00:00
peter1138 a187d92d87 (svn r12075) -Codechange: Remove explicit numbering on command enum, and remove blanks from command list where old commands have been removed. 2008-02-06 23:08:49 +00:00
smatz 8606e70819 (svn r12074) -Cleanup: use C++ variable scope and declaration in DrawTile_Trees() 2008-02-06 23:08:04 +00:00
smatz c0c9b80db3 (svn r12073) -Codechange: stop drawing trees a bit earlier when they are invisible 2008-02-06 22:59:31 +00:00
frosch 918591c05b (svn r12072) -Fix: Make docks at sea flood neighboured tiles. 2008-02-06 16:19:28 +00:00
frosch 7860d8d18a (svn r12071) -Feature(ette): Draw river- and canal-edges under docks and shipdepots. 2008-02-06 16:12:23 +00:00
frosch e95e887772 (svn r12070) -Cleanup(r12042): Water-owner of shipdepots is no longer needed. Removed. 2008-02-06 15:32:06 +00:00
belugas 94f4217984 (svn r12069) -Feature[newGRF]: Specify the purchase, rail and road description of a bridge. 2008-02-06 03:01:29 +00:00
belugas 5049ff8e8e (svn r12068) -Fix(r12067): forgot a return 2008-02-06 02:43:42 +00:00
peter1138 f29c748d4c (svn r12067) -Cleanup: Codestyle on loading object references 2008-02-05 23:22:34 +00:00
belugas 62b3520e51 (svn r12066) -Codechange: Rename GetBridge for the more common GetBridgeSpec
-Codechange: Remove direct access to the _bridge table in favor of the above mentioned GetBridgeSpec
-Codechange: Rationalize the use of Bridge type pointer
2008-02-05 05:21:02 +00:00
belugas 80daad8d4d (svn r12065) -Codechange : removed a now useless declaration ( orig_bridge ) 2008-02-05 05:03:50 +00:00
belugas 3003986e67 (svn r12064) -Codechange : Give grf bridges their own ResetBridges function, and put bridge spec in table/bridge_land.h, where it should be. 2008-02-05 04:48:56 +00:00
smatz c261218cf5 (svn r12063) -Cleanup: use C++ indenting and variable scope/declaration in BuildTownHouse() 2008-02-05 00:30:58 +00:00
smatz 146779b158 (svn r12062) -Fix: possible deadlock when there are no houses available to build at given tile
-Fix: houses with zero probability could be built
2008-02-04 23:24:22 +00:00
smatz 23c669fe50 (svn r12061) -Cleanup: since r12060, DC_FORCETEST is not used anymore 2008-02-04 22:44:05 +00:00
smatz dbfdc5df94 (svn r12060) -Fix: do not clear tiles when the town won't be able to build any buildings anyway
-Fix: allow building 2x2 building on slopes if not explicitly forbidden
-Fix: it was possible to build 2x1 and 1x2 buildings on slopes even if it was not allowed
2008-02-04 22:15:48 +00:00
glx b35611dae3 (svn r12059) -Fix (r12041): industries prop 24 is a word 2008-02-04 16:48:00 +00:00
frosch 5e7c8012ec (svn r12058) -Fix: Teach NPF where road vehicles and trams can reverse.
-Fix: Ships can drive through opponents' ship depots. (Thanks SmatZ)
-Codechange: Split NPFFollowTrack() in smaller parts.
2008-02-04 16:24:25 +00:00
smatz 04ef38ec60 (svn r12057) -Fix: slowdown train when approaching 90deg turn when 90deg turns are forbidden 2008-02-04 15:56:39 +00:00
frosch 2a2aa1d22a (svn r12056) -Fix [FS#1704]: Enable YAPF to start searching inside a wormhole. 2008-02-04 15:26:35 +00:00
smatz b206e50f80 (svn r12055) -Fix: another way to fix AI trying to build road through depots 2008-02-04 14:08:02 +00:00
peter1138 a528dc89c7 (svn r12054) -Cleanup: Use VehicleType instead of byte for vehicle types... 2008-02-04 11:28:12 +00:00
maedhros 2588879c6d (svn r12052) -Fix [FS#1737] (r11494): The cargo translation table was loaded at the right time, but all the other global variables were now loaded too early. ;) 2008-02-03 20:23:59 +00:00
rubidium 20e9abed47 (svn r12050) -Fix: random_func broke for desync debug. 2008-02-03 16:21:19 +00:00
smatz 0ca3977af8 (svn r12049) -Fix (r10496)(r10619): memset on multibyte array with wrong byte count 2008-02-03 12:41:06 +00:00
belugas 1e51090e74 (svn r12048) -Cleanup: Move some strings in the original bridge array, adjust documentation a bit. 2008-02-03 03:37:33 +00:00
belugas 90973cdcef (svn r12045) -Feature-ette(newGRF): Add support for var 12, Variational Action 2 2008-02-03 00:24:53 +00:00
rubidium 612ba5c787 (svn r12044) -Fix [FS#1741]: crash when centering on a vehicle (aircraft) that is outside of the map. 2008-02-02 21:09:05 +00:00
smatz f3663fd25c (svn r12043) -Fix [FS#1736]: allow building transmitters and lighthouses on tree tiles 2008-02-02 20:15:20 +00:00
peter1138 1d891a8b15 (svn r12042) -Fix [FS#1676]: Reimplement how rivers and canals are stored in the map, allowing the sea/river/canal status to also be
stored for buoys, docks, locks and depots. All these are now allowed on rivers and removal of them will revert to the 
original water type.
2008-02-02 09:28:43 +00:00
belugas 7cf2c83462 (svn r12041) -Codechange: Add the loader and the property for action 00 industries, prop 24, nearby station name.
No assignation yet, no real work either.
2008-02-02 03:23:26 +00:00
belugas fc4f6dcfb1 (svn r12040) -Codechange: Change IsOrderListShared from a simple function to a class member(MagicBuzz). 2008-02-02 02:45:09 +00:00
peter1138 7a78a1b51a (svn r12038) -Fix: Change ownership of or remove statues when merging/bankrupting companies. 2008-02-01 22:13:59 +00:00
glx 525409b0fc (svn r12037) -Codechange: replace OnNewDay_(Aircraft|RoadVeh|Ship|Train) with an OnNewDay method in the Vehicle class 2008-02-01 22:02:14 +00:00
peter1138 67782add11 (svn r12036) -Fix: For station tiles, only get road types for road stops. 2008-02-01 20:10:57 +00:00
frosch 45b79bc9f1 (svn r12035) -Fix [FS#1702]: Teach YAPF where trams can reverse, and where not. 2008-02-01 17:27:45 +00:00
belugas 803a1e2353 (svn r12034) -Codechange: A bit of code style cleaning, regarding comments.
Thanks to MagicBuzz who spotted yet another non-converted file
2008-02-01 17:22:24 +00:00
smatz 6537d13c8a (svn r12033) -Fix: do not show train speed as zero after loading paused game 2008-02-01 15:09:55 +00:00
peter1138 e0849acc5a (svn r12032) -Fix: When removing a statue, remove town statue flag for the statue owner, not current player. 2008-01-31 23:04:45 +00:00
peter1138 be548ee224 (svn r12031) -Fix [FS#1689,FS#1719]: Prevent towns from removing or claiming ownership of player owned tiles when growing. 2008-01-31 21:16:40 +00:00
miham f3ecaf796e (svn r12030) -Update: WebTranslator2 update to 2008-01-31 19:43:58
brazilian_portuguese - 1 changed by tucalipe (1)
italian    - 2 changed by lorenzodv (2)
japanese   - 7 fixed by ickoonite (7)
2008-01-31 18:44:28 +00:00
frosch a1c543e064 (svn r12029) -Feature: Allow trees on shore. 2008-01-31 17:54:13 +00:00
frosch fe9891c8ec (svn r12028) -Codechange: Split common part of station var 0x67, house var 0x62, indtile var 0x60 and industry var 0x62 to 'newgrf_commons.cpp'. 2008-01-31 17:46:08 +00:00
frosch ef35cefddc (svn r12027) -Documentation: Update 'landscape.html' and 'landscape_grid.html' to reflect reality and add some details. 2008-01-31 15:18:07 +00:00
orudge 2ef11e0b8b (svn r12026) -Update: 'exit' is consistent with UK English in OpenTTD, 'quit' with US English 2008-01-30 19:07:41 +00:00
miham bc1542d483 (svn r12025) -Update: WebTranslator2 update to 2008-01-30 19:43:26
czech      - 1 fixed by Hadez (1)
estonian   - 11 changed by kristjans (11)
french     - 2 changed by belugas (2)
korean     - 1 changed by darkttd (1)
spanish    - 5 fixed by eusebio (5)
2008-01-30 18:43:59 +00:00
frosch 1608d67030 (svn r12024) -Codechange: Reduce code duplication inside tree_cmd.
-CodeChange: When rocks get removed while planting trees, barren the ground.
-Fix: In one case trees could spread under bridges.
2008-01-30 18:40:42 +00:00
frosch a2b35067dd (svn r12023) -Fix [FS#1690]: Put a better suited text in the quit-dialog. 2008-01-30 17:56:19 +00:00
belugas caf7e8655c (svn r12022) -Revert(r12018): Invisible trees are now separate from the building concept.
So when you want invisible trees, just select the option of the same name in the Patch Options and toggle transparency of trees.
More to come on the saga of Invisibility. So stay tuned.
2008-01-30 17:36:28 +00:00
skidd13 953c3cb6df (svn r12021) -Cleanup: Make some parts of the town growth a bit more descriptive
-Codechange: Remove some needless checks
2008-01-30 17:31:39 +00:00
frosch 46589fa827 (svn r12020) -Documentation: Correct description of TropicZone. 2008-01-30 17:22:06 +00:00
peter1138 1cdee354b4 (svn r12019) -Codechange: Add support for passenger engine designation for AI-use, NewGRF property 0x08 for trains. 2008-01-30 10:27:45 +00:00
belugas 94aa04948c (svn r12018) -Fix(FS#1721,r9563): Restore initial intent on the invisible tree while transparent building patch setting 2008-01-30 03:34:24 +00:00
rubidium 44f4ebffed (svn r12017) -Fix: when you have more than 9 network interfaces you'll enter the wonderfull world of overflows. 2008-01-29 21:43:22 +00:00
egladil be6737a2db (svn r12016) -Fix (r12003): os x compilation was broken again ;) 2008-01-29 19:23:31 +00:00
peter1138 fb8973c64a (svn r12015) -Fix [FS#1716] (Revert r11422): Patch in FS#1430 avoided instead of fixed the problem. GetStringWithArgs() discards information that SCC_GENDER_LIST needs to work. Now use pointers to retrieve GRF strings, so that GetStringPtr() will work correctly. This is advantageous as now no buffer copy is made when using all GRF strings. 2008-01-29 17:09:00 +00:00
rubidium a736e8500a (svn r12014) -Fix: lighthouses and transmitters were never supposed to be build on a slope. 2008-01-29 14:19:07 +00:00
frosch 9c4cb84c03 (svn r12013) -Fix: When modifying watered tiles, mark neighboured canals and rivers dirty in more cases. 2008-01-29 14:17:13 +00:00
frosch 7cf4f09c26 (svn r12012) -Fix (r11795): Enable TownRatingTestMode during cost estimation with 'shift'-key. 2008-01-29 14:02:18 +00:00
frosch cda0e9f91c (svn r12011) -Fix [FS#1701]: Do not consider one-corner-raised-shores to be watered tiles from all sides. 2008-01-29 13:54:52 +00:00
smatz 379f89fc7e (svn r12010) -Fix (r11994): build tramway window should use STR_WHITE_TRAMWAY_CONSTRUCTION 2008-01-29 13:52:55 +00:00
peter1138 b20d220333 (svn r12009) -Fix [FS#1707]: Avoid loading sample.cat if it 'looks' incorrect, and avoid later null pointer dereferences by moving volume lookup deeper. 2008-01-29 13:27:31 +00:00
miham 02f774793b (svn r12008) -Update: WebTranslator2 update to 2008-01-29 14:07:31
brazilian_portuguese - 5 fixed, 5 changed by fukumori (4), tucalipe (6)
bulgarian  - 7 fixed by thetitan (7)
catalan    - 1 fixed by arnaullv (1)
danish     - 9 fixed by ThomasA (9)
dutch      - 5 fixed by habell (5)
estonian   - 7 fixed, 12 changed by kristjans (19)
french     - 1 fixed by glx (1)
german     - 6 fixed by moewe2 (6)
italian    - 1 fixed by lorenzodv (1)
korean     - 6 fixed, 11 changed by leejaeuk5 (17)
russian    - 9 fixed by Smoky555 (9)
slovak     - 7 fixed by lengyel (7)
slovenian  - 7 fixed by Necrolyte (7)
swedish    - 6 fixed by ChrillDeVille (6)
ukrainian  - 7 fixed by mad (7)
2008-01-29 13:13:19 +00:00
glx fdd71514b2 (svn r12007) -Fix (r12003): win32 compilation was broken again ;) 2008-01-29 00:45:24 +00:00
rubidium 1629699094 (svn r12006) -Fix: implement FS#1697 without the nasty side effects as specified in FS#1712. 2008-01-29 00:36:55 +00:00
rubidium c9a9103566 (svn r12005) -Fix [FS#1717]: possible reading from an invalid pointer. Patch by PhilSophus. 2008-01-29 00:29:28 +00:00
rubidium 3b2145aafe (svn r12004) -Codechange: refactor the random functions to reduce code duplication. 2008-01-29 00:27:25 +00:00
rubidium fde33b5547 (svn r12003) -Codechange: don't declare InteractiveRandom[Range] in multiple places. 2008-01-29 00:26:31 +00:00
peter1138 1a9b741e43 (svn r12002) -Cleanup (r11981): Remove obsolete code to skip sprites from indexed GRFs. 2008-01-28 17:51:45 +00:00
frosch d3c7a35d22 (svn r12001) -Fix: When skipping Action 11 or 12, also skip belonging sprites. 2008-01-28 15:55:59 +00:00
frosch abc6e70447 (svn r12000) -Fix (r11926): If no river NewGRF is loaded, use sloped water from locks. 2008-01-28 15:19:35 +00:00
frosch a1b98cda59 (svn r11999) -Fix: Do entrance-slope-check for every tile of railstations. 2008-01-28 14:36:54 +00:00
smatz a9031cc5f5 (svn r11998) -Fix [FS#1692](r10053): possible remote assert by setting bit 6 of p1 for CMD_REMOVE_ROAD 2008-01-28 12:40:31 +00:00
belugas 0253b1d02a (svn r11997) -Fix(FS#1712, r11985): Remove the code temporary, until a better scheme is implemented. 2008-01-28 03:33:41 +00:00
smatz c8ba8d930b (svn r11996) -Fix [FS#1706]: update train statusbar when stopping from zero speed 2008-01-27 20:20:53 +00:00
maedhros c5b81c9382 (svn r11995) -Cleanup (r11994): Change the string names in all the other languages. 2008-01-27 17:34:08 +00:00
maedhros 21eef65e77 (svn r11994) -Codechange: Remove numbers from string names where the strings aren't present in TTD, since they don't correspond to either TTD's TextIDs or OpenTTD's StringIDs. 2008-01-27 17:32:12 +00:00
peter1138 0847def759 (svn r11993) -Fix: Resize station/roadstop/dock/airport construction windows if cargo acceptance list is too long. 2008-01-27 11:01:10 +00:00
bjarni 7b29dcde3c (svn r11992) -Fix (r9905): When building two rail stations close to each other (with control) so they looked like one long track trains would see them as one (spotted and fixed by eddi) 2008-01-27 02:09:46 +00:00
peter1138 97a1cbdfa1 (svn r11991) -Cleanup: Remove strings removed in r11990 2008-01-26 22:41:24 +00:00
peter1138 c6656d6b2f (svn r11990) -Codechange: Show all cargo sources (en-route from) in the station view
cargo waiting list instead of just one. The station view window is now 
resizable to cope with the extra information.
2008-01-26 22:15:39 +00:00
peter1138 2fc2188127 (svn r11989) -Fix: Resize autoreplace window to fit purchase information text if it is too large. 2008-01-26 21:02:35 +00:00
peter1138 c99eb9e456 (svn r11988) -Codechange: Add a generic way of changing a widget's size and adjust the widgets around it to suit. 2008-01-26 20:55:04 +00:00
belugas d3990083d3 (svn r11987) -Feature[newGRF]: Allow the industry view window to be resized only when callback 3A (Show additional text in industry window) is available for the current industry.
This now allows grf authors to specify longer than 3 lines of text.
2008-01-26 03:11:27 +00:00
peter1138 18431dd9f8 (svn r11986) -Fix: build system ignored changes to table/control_codes.h which require strgen to be rebuilt 2008-01-25 21:09:12 +00:00
belugas e214e03c28 (svn r11985) -Feature[FS#1697, newGRF]: Implement var 8F(random bits) during callback 28 (Industry location permissibility) 2008-01-25 18:13:04 +00:00
frosch b329781ab2 (svn r11984) -Fix: Also draw corner shores under rail tracks. 2008-01-25 16:51:35 +00:00
frosch 6f6708e844 (svn r11983) -Codechange: Add some helper functions for slopes and use them. 2008-01-25 15:47:58 +00:00
frosch d11aeb118c (svn r11982) -Revert (r8738): Now we have shores in corners. No need to remove them from TTDP games. 2008-01-25 13:54:27 +00:00
peter1138 eeeeeb9336 (svn r11981) -Fix [FS#1698]: Use unicode glyph mapping to fix up missing/shuffled sprites in original data files instead of shuffling or skipping
sprites directly. Some required glyphs were not loaded.
-Fix: Large capital U with grave (Ù) along with some other glyphs are broken in the original data files, so do no display them.
2008-01-25 13:48:39 +00:00
smatz e99c34bef4 (svn r11980) -Fix: newer versions of cut do not accept field index 0 2008-01-24 23:56:43 +00:00
rubidium bbdc5a9314 (svn r11979) -Codechange: drop MSVC 2003 support because MSVC 2003 is broken in such a manner that it triggers an internal compiler error without any clue what of the code is wrong. Even trying to bisect the problem does not give a single line of code that causes the trouble. 2008-01-24 18:47:05 +00:00
skidd13 4991dcecc7 (svn r11978) -Codechange: Replace some global variables with window owned ones 2008-01-24 18:35:35 +00:00
belugas 44d085af6c (svn r11977) -Fix(r11976): not a typo, not a bug. Just a removal that should have been done.
Would help to compile first...
2008-01-24 18:28:52 +00:00
belugas 1fc0c0d2dc (svn r11976) -Fix: It seems that industries using results 0D/0E on callback cb29/35 were a bit too eager to close down. 2008-01-24 18:16:04 +00:00
frosch bd0c853e27 (svn r11975) -Documentation: Distinguish between station types in 'landscape_grid.html'. 2008-01-24 17:32:03 +00:00
frosch da754951f1 (svn r11974) -Fix [FS#1684]: Shore and sea tiles under bridges were converted to canals in old savegames. 2008-01-24 14:57:43 +00:00
frosch 79aa7247c0 (svn r11973) -Fix (r11726, r11947)[FS#1683]: Use grass tiles for corner shores, if shores got replaced by ActionA. 2008-01-24 14:49:40 +00:00
smatz 5f9a877376 (svn r11972) -Fix: old AI shouldn't build fast planes with a small airport in orders 2008-01-24 14:22:10 +00:00
peter1138 697b07c99c (svn r11971) -Codechange: use of FOR_ALL_ENGINES/ENGINEIDS_OF_TYPE instead of for-loops 2008-01-24 10:47:44 +00:00
peter1138 9c65bcea7d (svn r11970) -Cleanup: Remove old comment 2008-01-24 10:41:12 +00:00
smatz 541247c830 (svn r11969) -Codechange: documentation update, there are no 'track bits under bridge' anymore 2008-01-23 23:22:47 +00:00
smatz 5a7c903770 (svn r11968) -Codechange: remove redundant FindLengthOfTunnel(), use GetTunnelBridgeLength() and/or GetOtherTunnelEnd() instead 2008-01-23 22:34:04 +00:00
smatz b5641ae0f2 (svn r11967) -Fix (r1400): MP_ROAD can have railbits too - OPF searching over rail of diffent owner behind crossing 2008-01-23 20:02:30 +00:00
smatz e40944f8e0 (svn r11966) -Fix: OPF was searching through depots and normal road stops
In effect, it also fixes old AI bugs like FS#1403 and FS#1506
2008-01-23 19:31:11 +00:00
smatz 4cb91fa591 (svn r11965) -Codechange: simplified tunnel/bridge code in TPFMode1 2008-01-23 18:24:04 +00:00
peter1138 b718cae67d (svn r11964) -Fix [FS#1685]: Tropic zone data was returned incorrectly. 2008-01-23 17:45:48 +00:00
belugas 9c16461c29 (svn r11963) -Fix(r11961): Forgot to specify the meaning of the magical 6 substraction 2008-01-23 17:40:37 +00:00
smatz d6eaf1a11a (svn r11962) -Cleanup: OPF is no longer used to update signals 2008-01-23 17:30:28 +00:00
belugas 4a3e135086 (svn r11961) -Feature[newGRF]: Add support for Action 0D, var 13: informations about current map size. 2008-01-23 17:08:35 +00:00
smatz 0b888ccc00 (svn r11960) -Cleanup: simplify some IsTunnel(Tile) / IsBridge(Tile) conditions 2008-01-23 14:51:36 +00:00
peter1138 9515328962 (svn r11959) -Codechange: Use macro to loop for specific engine types instead of using specific indexes each time.
-Codechange: Minor scope changes in said loops.
2008-01-23 13:20:51 +00:00
smatz a31ebdb2be (svn r11958) -Fix (r11204): NewAI couldn't build any road vehicles when there were any tram grfs loaded 2008-01-23 13:06:00 +00:00
peter1138 e35cf20a23 (svn r11957) -Codechange [FS#1678]: Minor simplification and optimisation when checking for available road/rail types (bilbo) 2008-01-23 09:43:53 +00:00
peter1138 0f966a316a (svn r11956) -Fix [FS#1675]: Disallow building locks and docks on rapids. 2008-01-23 08:47:49 +00:00
peter1138 ff0891426f (svn r11955) -Fix (r11926): Prevent bridge and tunnel ends being placed on rivers. 2008-01-23 08:28:19 +00:00
smatz 983fdb8a4f (svn r11953) -Fix (r11172): do not allow modifying roadbits when other roadtypes would need different foundation 2008-01-23 00:36:48 +00:00
peter1138 da53070a38 (svn r11952) -Fix (r11926): Prevent industries from being built on rivers, unless they require water. 2008-01-22 22:17:28 +00:00
smatz 3a423a8747 (svn r11951) -Fix (r11279): loading of very old savegames was broken 2008-01-22 21:01:35 +00:00
peter1138 39f6173401 (svn r11949) -Codechange: add river icon and cursor, drawn by skidd13. 2008-01-22 20:04:30 +00:00
frosch 49d2087d7f (svn r11947) -Feature: Make use of new sprites added by Action5 type 0D.
Tiles which only consist of shore do not flood anymore, instead they get removed if they are no longer connected to flooding water.
2008-01-22 17:48:08 +00:00
frosch b99c83246b (svn r11946) -Fix: slope detection of bridge ramps.
YAPF failed for steep slopes.
  Trolly failed for a lot.
2008-01-22 16:08:17 +00:00
glx 7d1e3086b8 (svn r11945) -Fix: FileExists() failed for non latin paths (win32) 2008-01-22 15:47:40 +00:00
smatz 96a18d859f (svn r11944) -Fix: allow building drive-through road/tram stops at road/tram track that has no owner 2008-01-22 15:40:29 +00:00
rubidium 59ec5e62ce (svn r11943) -Codechange: add and use a simple structure to support small stacks by allocating it on the heap or pushing a few kB of data onto the stack when there is a large stack. 2008-01-22 12:09:12 +00:00
peter1138 30bac58bde (svn r11942) -Codechange: Merge chars.grf into openttd[d|w].grf using action 12. Remove obsolete tables used for index mapping. 2008-01-22 08:47:30 +00:00
peter1138 ffec79bbcf (svn r11940) -Codechange: Store short filename once per open file instead of once per sprite cache entry. Not all file types need this, but most of the time no sprite cache entry needed it either. 2008-01-22 07:27:06 +00:00
rubidium 9444eb4484 (svn r11939) -Codechange: some type fixes and very initial steps into supporting NDS by default. Based on work by Dominik. 2008-01-21 23:55:57 +00:00
peter1138 ca1b3e7b4e (svn r11938) -Codechange: support loading of canal/river properties (though still ignored) 2008-01-21 20:41:04 +00:00
frosch 0a6425926b (svn r11937) -Feature: Allow building bridge heads on more slopes.
These are SLOPE_NW, SLOPE_SW, SLOPE_SE, SLOPE_NE (with bridge perpendicular to the slope) and SLOPE_NS, SLOPE_EW.
2008-01-21 15:48:00 +00:00
frosch f23e71f22f (svn r11936) -Fix: 'BRIDGE_TOO_LOW_FOR_TERRAIN'-check was wrong for steep slopes. 2008-01-21 15:20:58 +00:00
bjarni 000117aa19 (svn r11935) -Fix (r11875)[FS#1672]: autosend aircraft to hangar for replacement check inverted the check for autorenew
Now it triggers when renew setting is on and only if it's on
  Note: aircraft already enroute to hangars due to this bug will still go there. They will only head there once though
2008-01-21 10:31:27 +00:00
peter1138 9ca929c812 (svn r11934) -Codechange: add persistent random data for river and canal tiles. 2008-01-20 18:30:53 +00:00
miham ffb9ca164e (svn r11933) -Update: WebTranslator2 update to 2008-01-20 18:42:56
brazilian_portuguese - 2 fixed by fukumori (2)
catalan    - 6 fixed by arnaullv (6)
croatian   - 4 changed by blozo (4)
czech      - 6 fixed by Hadez (6)
dutch      - 2 fixed by habell (2)
french     - 6 fixed by glx (6)
hungarian  - 15 fixed by miham (15)
italian    - 6 fixed by lorenzodv (6)
portuguese - 5 fixed, 2 changed by nars (7)
russian    - 1 changed by HMage (1)
spanish    - 3 fixed by eusebio (3)
2008-01-20 17:43:38 +00:00
belugas 2c5c97346b (svn r11932) -Codechange: Forgot two occurences of widget enumification 2008-01-20 04:01:28 +00:00
belugas 3423032dbb (svn r11931) -Codechange: enumify the widgets numbers. Give breathing room on the case switches too... 2008-01-20 03:56:15 +00:00
belugas 90a770250f (svn r11930) -Codechange: a bit of code style application 2008-01-20 03:11:14 +00:00
bjarni e91230415d (svn r11929) -Fix (r9981)[FS#1624]: [autoreplace] fixed a case where a single headed locomotive caused an assert when being replaced to a dualheaded one
This triggered if the player had enough money to replace and refit one of them but not enough to refit the last one as well
2008-01-19 23:34:52 +00:00
bjarni 2f6ee3a4a1 (svn r11928) -Fix (r6393): [autoreplace] autoreplace could refit train engines to the wrong cargo type if the old engine had no cargo capacity and the new one had
Now autoreplace will always look at the wagons to figure out what to replace to (as originally intended)
2008-01-19 22:47:07 +00:00
peter1138 a580c8d059 (svn r11927) -Fix (r11926): unable to place canals in game 2008-01-19 18:24:20 +00:00
peter1138 4a2f7db99b (svn r11926) -Feature: Rivers. Graphics must be provided by NewGRF else rivers are drawn as canals. Rivers can currently only be placed with-in the scenario editor. 2008-01-19 17:00:54 +00:00
rubidium aa0412e0bc (svn r11925) -Fix (r122, r9867): loading old, pre savegame version 2, savegames. 2008-01-19 14:00:04 +00:00
peter1138 02c9484ebb (svn r11924) -Codechange: All dropdowns now use the dropdown widget, so compatibility code can be removed 2008-01-19 11:08:06 +00:00
glx 1712a8a0e1 (svn r11923) -Cleanup: Remove strings removed from english.txt in r11919 2008-01-18 22:55:02 +00:00
smatz 730dda867b (svn r11922) -Codechange: use MaybeBarCrossingWithSound() to bar crossing with sound 2008-01-18 21:44:20 +00:00
peter1138 14416791af (svn r11921) -Cleanup: correct indenting and switch case line spacing. 2008-01-18 21:33:19 +00:00
glx 600046f3d7 (svn r11920) -Fix (r11844): train count was incorrect in network lobby window (and 'players' command) 2008-01-18 21:25:18 +00:00
peter1138 b6d0684826 (svn r11919) -Codechange: Assign numbered parameters to world generator widgets to avoid separate DrawString()s, and do the same for the scenario flat-land window. 2008-01-18 21:08:40 +00:00
peter1138 70025a149d (svn r11918) -Codechange: Draw engine lists at widget positions instead of fixed pixel positions 2008-01-18 18:18:39 +00:00
smatz 22a7b95c10 (svn r11917) -Fix (r3677): AI was reading wrong tile slope while building road bridge 2008-01-18 14:48:57 +00:00
smatz 1d59439166 (svn r11916) -Codechange: use enums from VehicleViewWindowWidgets instead of constants
-Fix: refit button widget was not correctly updated
2008-01-18 13:02:47 +00:00
peter1138 68707808c0 (svn r11915) -Codechange: Add a function to draw a sort button's up/down arrow. Arrows are now drawn in a consistent position based on the widget, instead of randomly positioned by pixel. 2008-01-18 10:36:55 +00:00
glx b7f50533c2 (svn r11914) -Documentation: fix some @file statement 2008-01-18 03:48:29 +00:00
smatz 0b3db1a92d (svn r11913) -Fix (r11871): update signals after company bankrupt and disaster too 2008-01-18 02:16:39 +00:00
peter1138 307b0e8e7a (svn r11912) -Codechange: use dropdown widget for autoreplace, station builder and (second?) vehicle list windows 2008-01-17 21:57:20 +00:00
peter1138 ada41b7b3f (svn r11911) -Codechange: use enum for autoreplace window widgets 2008-01-17 21:44:52 +00:00
smatz 8d077b16d8 (svn r11910) -Fix: play 'ding-ding' crossing sound in more cases (except gameload and crossing construction)
-Fix: crossing sound is bound to tile, not to vehicle
2008-01-17 20:41:33 +00:00
peter1138 ac0fa7f69f (svn r11909) -Codechange: use dropdown widget for player livery, network lobby/setup and news settings windows 2008-01-17 20:00:13 +00:00
smatz 822242f411 (svn r11908) -Fix: update crossing when merging a company, when building a crossing and after loading older savegame 2008-01-17 19:49:06 +00:00
peter1138 35135222b5 (svn r11907) -Codechange: clean up of worldgen/heightmap ui: replace many separate DrawString() calls with widgets, use dropdown widgets, and use consistent positioning/sizing. 2008-01-17 19:41:05 +00:00
miham 17c9ea9ca3 (svn r11906) -Fix: fixed a typo in german language (reported by Botcher0) 2008-01-17 19:35:37 +00:00
peter1138 6d3aa07a24 (svn r11905) -Codechange: add widget enums for player finances and player livery windows 2008-01-17 19:12:53 +00:00
peter1138 d80e04d6f6 (svn r11904) -Codechange: use dropdown widget in 3 more windows, build vehicle, group vehicle list and station list. 2008-01-17 18:49:39 +00:00
smatz 44a4ff835d (svn r11903) -Fix: try to fix MorphOS compilation 2008-01-17 18:21:31 +00:00
peter1138 ad54075acc (svn r11902) -Codechange: use new dropdown widget for game options window 2008-01-17 18:10:27 +00:00
peter1138 c313676c66 (svn r11901) -Add: add two widgets for dropdowns, one raised and one inset, to eventually replace use of two widgets for each dropdown control. 2008-01-17 18:09:15 +00:00
smatz c74cf439fa (svn r11900) -Fix: set correctly crossing state after train reversal, train leaving crossing, train crash
Fixes several ways to leave crossing red forever or to leave it unbarred when there is a train on crossing
2008-01-17 17:57:39 +00:00
frosch 35f3421842 (svn r11899) -Cleanup: Remove ShowReplaceVehicleWindow() as it is basically a duplicate of ShowReplaceGroupVehicleWindow(). 2008-01-17 17:35:59 +00:00
frosch c579bffed2 (svn r11898) -Fix: Update neighboured canals + signals when flooding non-flat tiles, too. 2008-01-17 17:13:47 +00:00
frosch 978a7ca56a (svn r11897) -Fix: Replace an uint with TileIndex and a small coding style fix. 2008-01-17 16:55:13 +00:00
glx 4f31704e2e (svn r11896) -Fix (r11886): a missing const broke compilation with MSVC 2008-01-17 16:46:41 +00:00
glx f37174f0e2 (svn r11895) -Fix (r11875): for once MSVC warns for a good reason 2008-01-17 16:41:02 +00:00
peter1138 a9c71ce375 (svn r11894) -Cleanup: Remove strings removed from english.txt in r11893 2008-01-17 14:06:49 +00:00
peter1138 68fc3b35da (svn r11893) -Codechange: build map size drop downs dynamically and remove unneeded strings 2008-01-17 14:00:17 +00:00
peter1138 f788298209 (svn r11892) -Fix (r11879): View switched from ungrouped to all vehicles as ungrouped is not technically a valid group, and ensure dropdown is removed
on any click in the window.
2008-01-17 13:37:28 +00:00
rubidium f5d72cc84c (svn r11890) -Change: ignore some files for git too. Patch by bruce89. 2008-01-17 02:13:01 +00:00
rubidium 08c01e64b8 (svn r11889) -Change: small inconsistency between documentation and code. Patch by Yexo. 2008-01-17 02:10:55 +00:00
glx 3d61a1adc5 (svn r11888) -Codechange: simplify sorting of the strings in town names dropdown 2008-01-17 02:10:26 +00:00
rubidium f658b79e15 (svn r11887) -Fix [FS#1658]: segmentation faults/wrong frees due uninitialized memory in the AI. 2008-01-17 02:09:34 +00:00
glx 69c18efdca (svn r11886) -Add: sort the strings in languages dropdown 2008-01-17 00:21:43 +00:00
peter1138 4d9a9bf6ff (svn r11885) -Cleanup: Remove gotos from widget drawing code. A side affect is that it is now possible for any widget type to be shown disabled. 2008-01-17 00:06:36 +00:00
peter1138 bc438a3033 (svn r11884) -Cleanup: leftover use of widget numbers instead of enum 2008-01-16 23:46:46 +00:00
smatz c8178d43c1 (svn r11883) -Fix (r11864): assert when trying to remove rail from a house or industry tile 2008-01-16 22:26:45 +00:00
smatz ac7bc24b0e (svn r11882) -Codechange: introduce MarkSingleVehicleDirty() and simplify the code at some places 2008-01-16 21:17:31 +00:00
peter1138 69cb009075 (svn r11881) -Cleanup: Code style for global variables. 2008-01-16 18:34:53 +00:00
peter1138 330ec8bdd6 (svn r11880) -Codechange: Generate vehicle group action dropdown dynamically, and assign an enum for the function return codes. 2008-01-16 18:25:23 +00:00
peter1138 abac83795d (svn r11879) -Fix: Only update group action drop down list when clicking on the dropdown text/button. Other times is not needed and caused a double free. 2008-01-16 17:43:46 +00:00
peter1138 019ffe29b8 (svn r11878) -Fix: Crash in MP in vehicle group window if the currently selected group is deleted by another player. 2008-01-16 16:52:50 +00:00
smatz 692fbb3c05 (svn r11877) -Fix: another way to crash competitors' train in a station
-Codechange: increase the speed train is approaching line end/semaphore in non-diagonal direction a bit
2008-01-16 15:48:36 +00:00
frosch 5659cbe6fe (svn r11876) -Fix: Start industry tile animation also for overridden industry tiles. (Will only apply to new games or newly build industries.) 2008-01-16 15:06:48 +00:00
bjarni beb1b07f5f (svn r11875) -Fix: automatically sending aircraft to depot for autoreplace/renew is now triggered by the correct conditions
Now it triggers by the following conditions:
  - aircraft is old enough for renew or needs to be autoreplaced
  - player has 2*cost of new aircraft+autorenew money (we don't want to send many aircraft to hangars when there is only money for replacing one)
  - aircraft has no hangars in it's order list
  - new aircraft is buildable (imagine autorenewing a retired design)
  This triggers right after a helicopter takes off or when a plane touches the ground while landing

  Another effect of this change is that this functionality no longer generates network traffic
2008-01-16 13:59:08 +00:00
rubidium 2817e5425b (svn r11874) -Fix [FS#1655]: all wagons of maglev/monorail trains would get the livery colour of the engine instead of their wagon type. 2008-01-16 11:25:15 +00:00
belugas 7a66d5e21d (svn r11873) -Codechange: less a few magical numbers and a tiny bit more comments on town zones 2008-01-16 02:53:55 +00:00
bjarni 77a20eae43 (svn r11872) -Fix (r9874): EngineHasReplacementForPlayer() didn't look in ALL_GROUP 2008-01-16 01:27:24 +00:00
smatz 9556623281 (svn r11871) -Fix [FS#1074]: do not update signals after each tile when building/removing a large block of track/signals/station 2008-01-16 01:18:15 +00:00
smatz 40a7ace4fa (svn r11870) -Fix: slow down train when approaching tile we can't enter in more cases
(tunnel/bridge/depot from wrong direction, competitor's track, wrong railtype)
-Fix: do not make crossing red when we can't enter it in any case
2008-01-16 00:33:28 +00:00
278 changed files with 15358 additions and 17397 deletions
+11
View File
@@ -0,0 +1,11 @@
Makefile*
bin/*
!bin/data/chars.grf
!bin/data/openttdd.grf
!bin/data/openttdw.grf
!bin/data/opntitle.grf
!bin/scenario/README
!bin/scripts*
config.*
objs/*
src/rev.cpp
+7 -3
View File
@@ -36,7 +36,7 @@ RES := $(shell mkdir -p $(BIN_DIR)/lang )
all: table/strings.h $(LANGS)
strgen.o: $(SRC_DIR)/strgen/strgen.cpp endian_host.h
strgen.o: $(SRC_DIR)/strgen/strgen.cpp endian_host.h $(SRC_DIR)/table/control_codes.h
$(E) '$(STAGE) Compiling $(<:$(SRC_DIR)/%.cpp=%.cpp)'
$(Q)$(CXX_BUILD) $(CFLAGS_BUILD) -DSTRGEN -c -o $@ $<
@@ -44,13 +44,17 @@ string.o: $(SRC_DIR)/string.cpp endian_host.h
$(E) '$(STAGE) Compiling $(<:$(SRC_DIR)/%.cpp=%.cpp)'
$(Q)$(CXX_BUILD) $(CFLAGS_BUILD) -DSTRGEN -c -o $@ $<
alloc_func.o: $(SRC_DIR)/core/alloc_func.cpp endian_host.h
$(E) '$(STAGE) Compiling $(<:$(SRC_DIR)/%.cpp=%.cpp)'
$(Q)$(CXX_BUILD) $(CFLAGS_BUILD) -DSTRGEN -c -o $@ $<
lang/english.txt: $(LANG_DIR)/english.txt
$(Q)mkdir -p lang
$(Q)cp $(LANG_DIR)/english.txt lang/english.txt
$(STRGEN): string.o strgen.o
$(STRGEN): alloc_func.o string.o strgen.o
$(E) '$(STAGE) Compiling and Linking $@'
$(Q)$(CXX_BUILD) string.o strgen.o -o $@
$(Q)$(CXX_BUILD) $^ -o $@
table/strings.h: lang/english.txt $(STRGEN)
$(E) '$(STAGE) Generating $@'
Binary file not shown.
Binary file not shown.
Binary file not shown.
+125
View File
@@ -1,3 +1,128 @@
0.6.0-beta4 (2008-02-18)
------------------------------------------------------------------------
-Feature: Allow buttons to resize in NewGRF settings window (r12172)
-Feature: Change colour of autorail and autoroad selection when Ctrl is pressed (r12167)
-Feature: Separate catenary transparency settings from building transparency settings (r12103)
-Feature: Allow locking individual transparency settings so they will not be changed by pressing 'x' (r12102)
-Feature: Add some missing VarAction2 variables (r12124)
-Feature: Make snow appear on rail tiles dependant on track height, not on height of the lowest part of the tile (r12098)
-Feature[newGRF]: Specify the purchase, rail and road description of a bridge (r12069)
-Feature[newGRF]: Add support for var 12, Variational Action 2 (r12045)
-Feature: Allow trees on shore (r12029)
-Feature: Invisible trees are now separate from the building concept (r12022)
-Feature: Add support for passenger engine designation for AI-use, NewGRF property 0x08 for trains (r12019)
-Feature: Show all cargo sources (en-route from) in the station view cargo waiting list instead of just one (r11990)
-Feature[newGRF]: Resizable industry view window on callback 3A (r11987)
-Feature[newGRF]: Implement var 8F(random bits) during callback 28 [FS#1697] (r11985)
-Feature[newGRF]: Add support for Action 0D, var 13: informations about current map size (r11961)
-Feature: Make use of new sprites added by Action5 type 0D (r11947)
-Feature: Allow building bridge heads on more slopes (r11937)
-Feature[newGRF]: Add support for Rivers. Rivers can currently only be placed with-in the scenario editor (r11926,r11938,r11949,r12071)
-Feature: Generate.vbs script to allow project files generation for users unable to run generate bash script (r12123)
-Feature: Sort the strings in languages dropdown (r11886)
-Codechange: Drop MSVC 2003 support (r11979)
-Fix: Test purchase list loading/loaded sprites instead of unconditionally returning a possibly non-existant sprite (r12180)
-Fix: Return correct bridge price for AI when DC_QUERY_COST is set [FS#609] (r12171)
-Fix: When drag&drop mode was cancelled by keyboard input, depot/group window wasn't updated [FS#337] (r12166)
-Fix: Buffer overflow when drawing scrolling news [FS#1652, FS#1773] (r12165)
-Fix: If a train is 'stopping' when entering a depot, do not let it leave again [FS#1705] (r12163)
-Fix: Towns shouldn't build over houses owned by another town [FS#1757] (r12162)
-Fix: Towns will no longer build houses > 1x1 there where should be road (with 2x2, 3x3 grid town layouts) (r12161)
-Fix: Remove the arbitrary limit of 64 waypoints per town [FS#1744] (r12160)
-Fix: Chance16I was now biased towards zero - round to nearest now (r12156)
-Fix: Adjust aircraft slowing algorithm (r12144)
-Fix: Callback 0x3D always gets a cargobit in var 0x18, independent of grf version [FS#1766] (r12142)
-Fix: Do not allow adding tram to rail-road crossing when there is a vehicle on it (r12138)
-Fix: Show cargo capacity for articulated vehicles correctly in the purchase list. Multiple cargo types can also now been shown [FS#1769] (r12137)
-Fix: With mammoth trains disabled, maximum train length was limited to 9 (r12131)
-Fix: Use tile index 0 for planes in the air, so it cannot have an invalid tile index [FS#1745] (r12109)
-Fix: X/Y axis swap for station tiles in GetNearbyTile() was wrong way around [FS#1753]( r12108)
-Fix: Loading older savegames fixes (r12096,r12097)
-Fix: When a company bankrupts, remove drive-through road stops, ship depots and buoys too. Update owners of water and road [FS#1703] (r12095)
-Fix: Do not set station owner for buoys when merging company (r12093)
-Fix: Keep production level within delimited boundaries, while using var result 0D/0E and than multiplying/dividing it [FS#1755] (r12092)
-Fix: Assert when loading savegame with wrong tiletype at south map borders (r12088)
-Fix: Check overrides only for industries when mapping newgrf entities to 'real' entities [FS#1747] (r12086)
-Fix: Update waypoint signs when changing language (r12080)
-Fix: Use search paths when opening console scripts (r12079)
-Fix: When reusing a renamed deleted waypoint, keep the new name (r12076)
-Fix: Make docks at sea flood neighboured tiles (r12072)
-Fix: Possible deadlock when there are no houses available to build at given tile (r12062)
-Fix: Houses with zero probability could be built (r12062)
-Fix: Do not clear tiles when the town won't be able to build any buildings anyway (r12060)
-Fix: Allow building 2x2 building on slopes if not explicitly forbidden (r12060)
-Fix: It was possible to build 2x1 and 1x2 buildings on slopes even if it was not allowed (r12060)
-Fix: Teach NPF where road vehicles and trams can reverse (r12058)
-Fix: Ships can drive through opponents' ship depots (r12058)
-Fix: Slowdown train when approaching 90deg turn when 90deg turns are forbidden (r12057)
-Fix: Enable YAPF to start searching inside a wormhole [FS#1704] (r12056)
-Fix: Another way to fix AI trying to build road through depots (r12055)
-Fix: The cargo translation table was loaded at the right time, but all the other global variables were now loaded too early [FS#1737] (r12052)
-Fix: Random_func broke for desync debug (r12050)
-Fix: Memset on multibyte array with wrong byte count (r12049)
-Fix: Crash when centering on a vehicle (aircraft) that is outside of the map [FS#1741] (r12044)
-Fix: Allow building transmitters and lighthouses on tree tiles [FS#1736] (r12043)
-Fix: Reimplement how rivers and canals are stored in the map, allowing the sea/river/canal status to also be
stored for buoys, docks, locks and depots. All these are now allowed on rivers and removal of them will revert to the
original water type [FS#1676] (r12042)
-Fix: Change ownership of or remove statues when merging/bankrupting companies (r12038)
-Fix: For station tiles, only get road types for road stops (r12036)
-Fix: Teach YAPF where trams can reverse, and where not [FS#1702] (r12035)
-Fix: Do not show train speed as zero after loading paused game (r12033)
-Fix: When removing a statue, remove town statue flag for the statue owner, not current player (r12032)
-Fix: Prevent towns from removing or claiming ownership of player owned tiles when growing [FS#1689,FS#1719] (r12031)
-Fix: In one case trees could spread under bridges (r12024)
-Fix: Put a better suited text in the quit-dialog [FS#1690] (r12023)
-Fix: Restore initial intent on the invisible tree while transparent building patch setting [FS#1721] (r12018)
-Fix: When you have more than 9 network interfaces you'll enter the wonderfull world of overflows (r12017)
-Fix: Better work on strings in regard to gender [FS#1716] (r12015)
-Fix: Lighthouses and transmitters were never supposed to be build on a slope (r12014)
-Fix: When modifying watered tiles, mark neighboured canals and rivers dirty in more cases (r12013)
-Fix: Enable TownRatingTestMode during cost estimation with 'shift'-key (r12012)
-Fix: Do not consider one-corner-raised-shores to be watered tiles from all sides [FS#1701] (r12011)
-Fix: Avoid loading sample.cat if it 'looks' incorrect, and avoid later null pointer dereferences by moving volume lookup deeper [FS#1707] (r12009)
-Fix: Possible reading from an invalid pointer [FS#1717] (r12005)
-Fix: When skipping Action 11 or 12, also skip belonging sprites (r12001)
-Fix: Do entrance-slope-check for every tile of railstations (r11999)
-Fix: Possible remote assert by setting bit 6 of p1 for CMD_REMOVE_ROAD [FS#1692] (r11998)
-Fix: Update train statusbar when stopping from zero speed [FS#1706] (r11996)
-Fix: Resize station/roadstop/dock/airport construction windows if cargo acceptance list is too long (r11993)
-Fix: When building two rail stations close to each other (with control) so they looked like one long track trains would see them as one (r11992)
-Fix: Resize autoreplace window to fit purchase information text if it is too large (r11989)
-Fix: Build system ignored changes to table/control_codes.h which require strgen to be rebuilt (r11986)
-Fix: Also draw corner shores under rail tracks (r11984)
-Revert(r8738): Now we have shores in corners. No need to remove them from TTDP games (r11982)
-Fix: Use unicode glyph mapping to fix up missing/shuffled sprites in original data files instead of shuffling or skipping sprites directly [FS#1698] (r11981)
-Fix: Industries using results 0D/0E on callback cb29/35 were a bit too eager to close down (r11976)
-Fix: Shore and sea tiles under bridges were converted to canals in old savegames [FS#1684] (r11974)
-Fix: Use grass tiles for corner shores, if shores got replaced by ActionA [FS#1683] (r11973)
-Fix: Old AI shouldn't build fast planes with a small airport in orders(r11972)
-Fix: MP_ROAD can have railbits too - OPF searching over rail of diffen t owner behind crossing (r11967)
-Fix: OPF was searching through depots and normal road stops [FS#1403, FS#1506] (r11966)
-Fix: Tropic zone data was returned incorrectly [FS#1685] (r11964)
-Fix: NewAI couldn't build any road vehicles when there were any tram grfs loaded (r11958)
-Fix: Disallow building locks and docks on rapids [FS#1675] (r11956)
-Fix: Do not allow modifying roadbits when other roadtypes would need different foundation (r11953)
-Fix: Loading of very old savegames was broken (r11951)
-Fix: Slope detection of bridge ramps.Helps YAPF and Trolly (r11946)
-Fix: FileExists() failed for non latin paths (win32) (r11945)
-Fix: Allow building drive-through road/tram stops at road/tram track that has no owner (r11944)
-Fix: 'BRIDGE_TOO_LOW_FOR_TERRAIN'-check was wrong for steep slopes (r11936)
-Fix[autoreplace]: Single to dualhead locomotive replacefailed when player had enough money to replace and refit one but not enough to refit the last one as well [FS#1624] (r11929)
-Fix[autoreplace]: Autoreplace could refit train engines to the wrong cargo type if the old engine had no cargo capacity and the new one had (r11928)
-Fix: Loading old, pre savegame version 2, savegames (r11925)
-Fix: AI was reading wrong tile slope while building road bridge (r11917)
-Fix: set correctly crossing state after train reversal, train leaving crossing, train crash (r11900)
-Fix: Segmentation faults/wrong frees due uninitialized memory in the AI [FS#1658] (r11887)
-Fix: Assert when trying to remove rail from a house or industry tile [FS#1663,FS#1665-6-7-8,FS#1680,FS#1686-7-8 FS#1715 FS#1742 FS#1771 FS#1776](r11883)
-Fix: Crash in MP in vehicle group window if the currently selected group is deleted by another player (r11878)
-Fix: Another way to crash competitors' train in a station (r11877)
-Fix: Automatically sending aircraft to depot for autoreplace/renew is now triggered by the correct conditions (r11875)
-Fix: EngineHasReplacementForPlayer() didn't look in ALL_GROUP (r11872)
-Fix: Do not update signals after each tile when building/removing a large block of track/signals/station [FS#1074] (r11871)
-Fix: Slow down train when approaching tile we can't enter in more cases (r11870)
-Fix: Do not make crossing red when we can't enter it in any case (r11870)
0.6.0-beta3 (2008-01-16)
------------------------------------------------------------------------
-Feature: Replaced fixed size custom name array. Names are now attached to their object directly and there is no limit to the amount of names (r11822)
+3 -3
View File
@@ -5,7 +5,7 @@ log() {
}
set_default() {
released_version=""
released_version="0.6.0-beta4"
ignore_extra_parameters="0"
# We set all kinds of defaults for params. Later on the user can override
@@ -635,7 +635,7 @@ check_params() {
distcc="$with_distcc"
fi
if [ "$with_distcc" != "0" ]; then
res="`$distcc --version 2>/dev/null | head -n 1 | cut -b 0-6`"
res="`$distcc --version 2>/dev/null | head -n 1 | cut -b 1-6`"
if [ "$res" != "distcc" ]; then
distcc=""
log 1 "checking distcc... no"
@@ -664,7 +664,7 @@ check_params() {
ccache="$with_ccache"
fi
if [ "$with_ccache" != "0" ]; then
res="`$ccache --version 2>/dev/null | head -n 1 | cut -b 0-6`"
res="`$ccache --version 2>/dev/null | head -n 1 | cut -b 1-6`"
if [ "$res" != "ccache" ]; then
ccache=""
log 1 "checking ccache... no"
+7 -21
View File
@@ -6,11 +6,11 @@ PLEASE READ THE ENTIRE DOCUMENT BEFORE DOING ANY ACTUAL CHANGES!!
SUPPORTED MSVC COMPILERS
------------------------
OpenTTD includes projects for MSVC 2003.NET and MSVC 2005.NET. Both will
OpenTTD includes projects for MSVC 2005.NET and MSVC 2008.NET. Both will
compile out of the box, providing you have the required libraries/headers;
which ones, see below. There is no support for VS6, you are therefore
strongly encouraged to either upgrade to MSVC 2005 Express (free) or use GCC.
MSVC 2002 probably works as well, but it has not been tested.
which ones, see below. There is no support for VS6 or MSVC 2002, or
MSVC 2003.NET. You are therefore strongly encouraged to either upgrade to
MSVC 2005 Express (free) or use GCC.
1) REQUIRED FILES
@@ -74,20 +74,6 @@ NOTE: make sure that the directory for the DirectX SDK is the first one in the
list, above all others, otherwise compilation will most likely fail!!
2.3) DEBUGGING - WORKING DIRECTORY (MSVC 2003 ONLY!)
----------------------------------------------------
The very first time you check out and compile OpenTTD with Visual Studio 2003, running
the binary will complain about missing files. You need to go into and change a setting
OpenTTD > Project > Properties > Configuration (All Configurations) > ...
Configuration Properties > Debugging >
* Working Directory: ..\bin
VS 2005 works out of the box because Microsoft allowed a user to supply a humanly-
readable defaults file (openttd_vs80.vcproj.user), whereas 2003 is braindead.
3) TTD GRAPHICS FILES
---------------------
Copy the following files from Transport Tycoon Deluxe to the bin/data folder
@@ -102,12 +88,12 @@ Copy the following files from Transport Tycoon Deluxe to the bin/data folder
4) COMPILING
------------
Open trunk/openttd[_vs80].sln
Open trunk/openttd_vs[89]0.sln
Set the build mode to 'Release' in
Build > Configuration manager > Active solution configuration > select "Release"
Compile...
If everything works well the binary should be in trunk/objs/[Win32]/Release/openttd.exe
If everything works well the binary should be in trunk/objs/Win[32|64]/Release/openttd.exe
5) EDITING, CHANGING SOURCE CODE
@@ -126,4 +112,4 @@ to ask about reasons; or just wait. The problem will most likely solve itself
within a few days as the problem is noticed and fixed.
An up-to-date version of this README can be found on the wiki:
http://wiki.openttd.org/index.php/MicrosoftVisualCExpress
http://wiki.openttd.org/index.php/MicrosoftVisualCExpress
+458 -357
View File
File diff suppressed because it is too large Load Diff
+143 -43
View File
@@ -6,6 +6,7 @@
<title>OpenTTD Landscape Internals - #2</title>
<style type="text/css">
span.abuse { font-family: "Courier New", Courier, mono; background-color: rgb(255, 58, 31); }
span.option{ font-family: "Courier New", Courier, mono; background-color: rgb(255,255, 30); }
span.free { font-family: "Courier New", Courier, mono; background-color: rgb(30, 178, 54); }
span.used { font-family: "Courier New", Courier, mono; }
td.bits { white-space: nowrap; text-align: center; font-family: "Courier New", Courier, mono; }
@@ -22,7 +23,8 @@ the array so you can quickly see what is used and what is not.
<ul>
<li><span style="font-weight: bold;"><span class="free">O</span></span> - bit is free</li>
<li><span style="font-weight: bold;"><span class="used">X</span></span> - bit is used</li>
<li><span style="font-weight: bold;"><span class="abuse">&nbsp;</span></span> - bit of attribute is abused for different purposes</li>
<li><span style="font-weight: bold;"><span class="abuse">&nbsp;</span></span> - bit of attribute is abused for different purposes, i.e. other bits define the actual meaning.</li>
<li><span style="font-weight: bold;"><span class="option">~</span></span> - bit is accessed, but does not really have a meaning (e.g. owner of clear land is always OWNER_NONE)</li>
</ul>
<p>
<ul>
@@ -64,7 +66,7 @@ the array so you can quickly see what is used and what is not.
<td rowspan="2">0</td>
<td class="caption">ground</td>
<td class="bits">XXXX XXXX</td>
<td class="bits">XXXX XXXX</td>
<td class="bits"><span class="option">~~~~ ~~~~</span></td>
<td class="bits"><span class="free">OOOO OOOO OOOO OOOO</span></td>
<td class="bits"><span class="free">OOOO OOOO</span></td>
<td class="bits">XXXX XX<span class="free">OO</span></td>
@@ -75,23 +77,34 @@ the array so you can quickly see what is used and what is not.
<tr>
<td class="caption">farmland</td>
<td class="bits">-inherit-</td>
<td class="bits">-inherit-</td>
<td class="bits"><span class="option">~~~~ ~~~~</span></td>
<td class="bits">XXXX XXXX XXXX XXXX</td>
<td class="bits"><span class="free">OOOO</span> XXXX</td>
<td class="bits">-inherit-</td>
<td class="bits"><span class="free">OOO</span>X XXXX</td>
<td class="bits">-inherit-</td>
<td class="bits">XX<span class="free">OO OO</span>XX</td>
<td class="bits"><span class="free">OOOO OOOO</span></td>
</tr>
<tr>
<td rowspan=3>1</td>
<td rowspan=4>1</td>
<td class="caption">rail</td>
<td class="bits">XXXX XXXX</td>
<td class="bits"><span class="option">~~~</span>X XXXX</td>
<td class="bits"><span class="free">OOOO OOOO OOOO OOOO</span></td>
<td class="bits"><span class="free">OOOO</span> <span class="option">~~</span>XX</td>
<td class="bits"><span class="free">OOOO</span> XXXX</td>
<td class="bits">XXXX XXXX</td>
<td class="bits">XX<span class="free">OO OO</span>XX</td>
<td class="bits"><span class="free">OOOO OOOO</span></td>
</tr>
<tr>
<td class="caption">rail with signals</td>
<td class="bits">-inherit-</td>
<td class="bits">-inherit-</td>
<td class="bits"><span class="free">OOOO OOOO O</span>XXX <span class="free">O</span>XXX</td>
<td class="bits">XXXX <span class="option">~~</span>XX</td>
<td class="bits">XXXX XXXX</td>
<td class="bits">XXXX XXXX</td>
<td class="bits">XXXX XXXX</td>
<td class="bits">-inherit-</td>
<td class="bits">XX<span class="free">OO OO</span>XX</td>
<td class="bits"><span class="free">OOOO OOOO</span></td>
</tr>
@@ -100,9 +113,9 @@ the array so you can quickly see what is used and what is not.
<td class="bits">-inherit-</td>
<td class="bits">-inherit-</td>
<td class="bits"><span class="free">OOOO OOOO OOOO OOOO</span></td>
<td class="bits"><span class="free">OOOO</span> <span class="option">~~</span>XX</td>
<td class="bits"><span class="free">OOOO</span> XXXX</td>
<td class="bits"><span class="free">OOOO</span> XXXX</td>
<td class="bits">XX<span class="free">OO O</span>XXX</td>
<td class="bits">XX<span class="free">OO OO</span>XX</td>
<td class="bits">XX<span class="free">OO OO</span>XX</td>
<td class="bits"><span class="free">OOOO OOOO</span></td>
</tr>
@@ -111,9 +124,9 @@ the array so you can quickly see what is used and what is not.
<td class="bits">-inherit-</td>
<td class="bits">-inherit-</td>
<td class="bits">XXXX XXXX XXXX XXXX</td>
<td class="bits"><span class="free">OOOO</span> <span class="option">~~</span>XX</td>
<td class="bits"><span class="free">OOOO</span> XXXX</td>
<td class="bits"><span class="free">OOOO</span> XXXX</td>
<td class="bits">XX<span class="free">OO O</span>XXX</td>
<td class="bits">XX<span class="free">OO OOO</span>X</td>
<td class="bits">XX<span class="free">OO OO</span>XX</td>
<td class="bits"><span class="free">OOOO OOOO</span></td>
</tr>
@@ -121,7 +134,7 @@ the array so you can quickly see what is used and what is not.
<td rowspan=3>2</td>
<td class="caption">road</td>
<td class="bits">XXXX XXXX</td>
<td class="bits">XXXX XXXX</td>
<td class="bits"><span class="option">~~~</span>X XXXX</td>
<td class="bits">XXXX XXXX XXXX XXXX</td>
<td class="bits">XXXX XXXX</td>
<td class="bits">XXXX XXXX</td>
@@ -134,11 +147,11 @@ the array so you can quickly see what is used and what is not.
<td class="bits">-inherit-</td>
<td class="bits">-inherit-</td>
<td class="bits">-inherit-</td>
<td class="bits">XXXX XXXX</td>
<td class="bits">XXXX <span class="option">~~</span>XX</td>
<td class="bits"><span class="free">O</span>XXX XXXX</td>
<td class="bits">XX<span class="free">OO</span> XXXX</td>
<td class="bits">XX<span class="free">OO OO</span>XX</td>
<td class="bits">XXXX XXXX</td>
<td class="bits">-inherit-</td>
</tr>
<tr>
<td class="caption">road depot</td>
@@ -147,7 +160,7 @@ the array so you can quickly see what is used and what is not.
<td class="bits"><span class="free">OOOO OOOO OOOO OOOO</span></td>
<td class="bits">X<span class="free">OOO OOOO</span></td>
<td class="bits"><span class="free">OOOO OOOO</span></td>
<td class="bits">XX<span class="free">OO</span> XXXX</td>
<td class="bits">XX<span class="free">OO OO</span>XX</td>
<td class="bits">XX<span class="free">OO OO</span>XX</td>
<td class="bits">XXX<span class="free">O OOOO</span></td>
</tr>
@@ -157,45 +170,122 @@ the array so you can quickly see what is used and what is not.
<td class="bits">XXXX XXXX</td>
<td class="bits">XXXX XXXX</td>
<td class="bits">XXXX XXXX XXXX XXXX</td>
<td class="bits">XX<span class="free">O</span>X XXXX</td>
<td class="bits">XX<span class="free">O</span><span class="option">~ ~~</span>XX</td>
<td class="bits">XXXX XXXX</td>
<td class="bits">XX<span class="abuse">XX XXXX</span></td>
<td class="bits"><span class="abuse">XXXX XX</span>XX</td>
<td class="bits"><span class="abuse">X</span>XX<span class="abuse">X XXX</span>X</td>
<td class="bits">XXX<span class="abuse">X XXXX</span></td>
<td class="bits"><span class="abuse">XXXX X</span>XXX</td>
<td class="bits">XXXX <span class="abuse">XXXX</span></td>
</tr>
<tr>
<td>4</td>
<td class="caption">trees</td>
<td class="bits">XXXX XXXX</td>
<td class="bits">XXXX XXXX</td>
<td class="bits"><span class="option">~~~~ ~~~~</span></td>
<td class="bits"><span class="free">OOOO OOOO</span> XXXX XXXX</td>
<td class="bits">XXXX XXXX</td>
<td class="bits"><span class="option">~~</span>XX XXXX</td>
<td class="bits">XXXX XX<span class="free">OO</span></td>
<td class="bits">XX<span class="free">OO O</span>XXX</td>
<td class="bits"><span class="free">OOOO OO</span>XX</td>
<td class="bits"><span class="free">OOOO OOOO</span></td>
</tr>
<tr>
<td>5</td>
<td class="caption">station</td>
<td class="bits">XXXX XXXX</td>
<td rowspan=6>5</td>
<td class="caption">rail station</td>
<td class="bits">XXXX XXXX</td>
<td class="bits"><span class="option">~~~</span>X XXXX</td>
<td class="bits">XXXX XXXX XXXX XXXX</td>
<td class="bits">XXXX <span class="option">~~</span>XX</td>
<td class="bits">XXXX XXXX</td>
<td class="bits">XXXX XXXX</td>
<td class="bits">XXXX XXXX</td>
<td class="bits"><span class="free">OO</span>XX X<span class="free">O</span>XX</td>
<td class="bits"><span class="free">OOOO OOOO</span></td>
</tr>
<tr>
<td class="caption">road stop</td>
<td class="bits">-inherit-</td>
<td class="bits">-inherit-</td>
<td class="bits">-inherit-</td>
<td class="bits"><span class="free">OOOO O</span>XXX</td>
<td class="bits"><span class="option">~~~~ ~~~~</span></td>
<td class="bits"><span class="option">~~~~ ~</span>XXX</td>
<td class="bits"><span class="free">OO</span>XX XXXX</td>
<td class="bits"><span class="free">OOOO OOOO</span></td>
</tr>
<tr>
<td>6</td>
<td class="caption">water</td>
<td class="bits">XXXX XXXX</td>
<td class="bits">XXXX XXXX</td>
<td class="bits"><span class="free">OOOO OOOO OOOO OOOO</span></td>
<td class="caption">dock</td>
<td class="bits">-inherit-</td>
<td class="bits">-inherit-</td>
<td class="bits">-inherit-</td>
<td class="bits"><span class="free">OOOO OO</span>XX</td>
<td class="bits"><span class="option">~~~~ ~~~~</span></td>
<td class="bits"><span class="option">~~~~ ~</span>XXX</td>
<td class="bits"><span class="free">OO</span>XX X<span class="free">O</span>XX</td>
<td class="bits"><span class="free">OOOO OOOO</span></td>
</tr>
<tr>
<td class="caption">airport</td>
<td class="bits">-inherit-</td>
<td class="bits">-inherit-</td>
<td class="bits">-inherit-</td>
<td class="bits"><span class="free">OOOO OOOO</span></td>
<td class="bits"><span class="option">~~~~ ~~~~</span></td>
<td class="bits">XXXX XXXX</td>
<td class="bits"><span class="free">OO</span>XX X<span class="free">O</span>XX</td>
<td class="bits"><span class="free">OOOO OOOO</span></td>
</tr>
<tr>
<td class="caption">buoy</td>
<td class="bits">-inherit-</td>
<td class="bits">-inherit-</td>
<td class="bits">-inherit-</td>
<td class="bits"><span class="free">OOOO OO</span>XX</td>
<td class="bits"><span class="option">~~~~ ~~~~</span></td>
<td class="bits"><span class="option">~~~~ ~~~~</span></td>
<td class="bits"><span class="free">OO</span>XX X<span class="free">O</span>XX</td>
<td class="bits"><span class="free">OOOO OOOO</span></td>
</tr>
<tr>
<td class="caption">oilrig</td>
<td class="bits">-inherit-</td>
<td class="bits">-inherit-</td>
<td class="bits">-inherit-</td>
<td class="bits"><span class="free">OOOO OOOO</span></td>
<td class="bits"><span class="option">~~~~ ~~~~</span></td>
<td class="bits"><span class="option">~~~~ ~~~~</span></td>
<td class="bits"><span class="free">OO</span>XX X<span class="free">O</span>XX</td>
<td class="bits"><span class="free">OOOO OOOO</span></td>
</tr>
<tr>
<td rowspan=3>6</td>
<td class="caption">sea, shore</td>
<td class="bits">XXXX XXXX</td>
<td class="bits"><span class="option">~~~</span>X XXXX</td>
<td class="bits"><span class="free">OOOO OOOO OOOO OOOO</span></td>
<td class="bits"><span class="free">OOOO OO</span>XX</td>
<td class="bits"><span class="free">OOOO OOOO</span></td>
<td class="bits">X<span class="option">~~</span>X XXXX</td>
<td class="bits">XX<span class="free">OO OO</span>XX</td>
<td class="bits"><span class="free">OOOO OOOO</span></td>
</tr>
<tr>
<td class="caption">canal, river</td>
<td class="bits">-inherit-</td>
<td class="bits">-inherit-</td>
<td class="bits"><span class="free">OOOO OOOO OOOO OOOO</span></td>
<td class="bits"><span class="free">OOOO OO</span>XX</td>
<td class="bits">XXXX XXXX</td>
<td class="bits">-inherit-</td>
<td class="bits">XX<span class="free">OO OO</span>XX</td>
<td class="bits"><span class="free">OOOO OOOO</span></td>
</tr>
<tr>
<td class="caption">shipdepot</td>
<td class="bits">-inherit-</td>
<td class="bits">-inherit-</td>
<td class="bits"><span class="free">OOOO OOOO OOOO OOOO</span></td>
<td class="bits"><span class="free">OOOO OO</span>XX</td>
<td class="bits"><span class="free">OOOO OOOO</span></td>
<td class="bits">-inherit-</td>
<td class="bits">XX<span class="free">OO OO</span>XX</td>
<td class="bits"><span class="free">OOOO OOOO</span></td>
</tr>
@@ -203,7 +293,7 @@ the array so you can quickly see what is used and what is not.
<td>8</td>
<td class="caption">industry</td>
<td class="bits">XXXX XXXX</td>
<td class="bits"><span class="abuse">X</span><span class="free">OO</span><span class="abuse">X
<td class="bits">X<span class="free">OOO</span> <span class="abuse">
XXXX</span></td>
<td class="bits">XXXX XXXX XXXX XXXX</td>
<td class="bits">XXXX XXXX</td>
@@ -216,35 +306,45 @@ the array so you can quickly see what is used and what is not.
<td rowspan=2>9</td>
<td class="caption">tunnel entrance</td>
<td class="bits">XXXX XXXX</td>
<td class="bits">XXXX XXXX</td>
<td class="bits"><span class="option">~~~</span>X XXXX</td>
<td class="bits"><span class="free">OOOO OOOO OOOO OOOO</span></td>
<td class="bits"><span class="free">OOOO</span> XXXX</td>
<td class="bits"><span class="free">OOOO</span> <span class="option">~</span><span class="abuse">XXX</span></td>
<td class="bits">X<span class="free">OOO OOOO</span></td>
<td class="bits">X<span class="free">OOO</span> XXXX</td>
<td class="bits">X<span class="free">OOO</span> <span class="option">~</span>XXX</td>
<td class="bits">XX<span class="free">OO OO</span>XX</td>
<td class="bits"><span class="free">OOOO OOOO</span></td>
</tr>
<tr>
<td>bridge ramp</td>
<td class="bits">XXXX XXXX</td>
<td class="bits">XXXX XXXX</td>
<td class="bits"><span class="free">OOOO OOOO</span> <span class="abuse">XXXX</span>
<span class="free">OOOO</span></td>
<td class="bits"><span class="free">OOOO</span> XXXX</td>
<td class="bits">-inherit-</td>
<td class="bits">-inherit-</td>
<td class="bits"><span class="free">OOOO OOOO</span> XXXX <span class="free">OOOO</span></td>
<td class="bits"><span class="free">OOOO</span> <span class="option">~</span><span class="abuse">XXX</span></td>
<td class="bits">X<span class="free">OOO OOOO</span></td>
<td class="bits">X<span class="free">OOO</span> XXXX</td>
<td class="bits">X<span class="free">OOO</span> <span class="option">~</span>XXX</td>
<td class="bits">XX<span class="free">OO OO</span>XX</td>
<td class="bits"><span class="free">OOOO OOOO</span></td>
</tr>
<tr>
<td>A</td>
<td rowspan=2>A</td>
<td class="caption">unmovables</td>
<td class="bits">XXXX XXXX</td>
<td class="bits">XXXX XXXX</td>
<td class="bits"><span class="option">~~~</span>X XXXX</td>
<td class="bits"><span class="free">OOOO OOOO OOOO OOOO</span></td>
<td class="bits"><span class="free">OOOO OOOO</span></td>
<td class="bits"><span class="free">OOOO OOOO</span></td>
<td class="bits">XXXX XXXX</td>
<td class="bits">X<span class="option">~~</span>X XXXX</td>
<td class="bits">XX<span class="free">OO OO</span>XX</td>
<td class="bits"><span class="free">OOOO OOOO</span></td>
</tr>
<tr>
<td class="caption">company statue</td>
<td class="bits">-inherit-</td>
<td class="bits">-inherit-</td>
<td class="bits">XXXX XXXX XXXX XXXX</td>
<td class="bits"><span class="free">OOOO OOOO</span></td>
<td class="bits"><span class="free">OOOO OOOO</span></td>
<td class="bits">-inherit-</td>
<td class="bits">XX<span class="free">OO OO</span>XX</td>
<td class="bits"><span class="free">OOOO OOOO</span></td>
</tr>
+3 -2
View File
@@ -15,7 +15,9 @@ Bugs for 0.6.0-beta3
------------------------------------------------------------------------
URL: http://bugs.openttd.org
- 1624 Autoreplace refit fails -> crash
- 1762 Strange Autoreplace behaviour
- 1711 Gravel and Clay have no worth
- 1693 Removing road does not reset owner
- 1549 Timetable + group ID are not backed up with orders
- 1495 Long vehicles block multistop station
- 1487 Ending_year is never written to
@@ -23,6 +25,5 @@ URL: http://bugs.openttd.org
- 1404 Spinner widget interprets one click as many
- 1264 Autoreplace for multiple NewGRF DMU sets fails
- 1140 [OSX] Not smooth moving map with touchpad
- 1074 Large slowdown when building tracks
- 1072 Text overflows in several windows
- 119 Clipping problems with vehicles on slopes
+3 -3
View File
@@ -1,8 +1,8 @@
openttd (0.6~svn) unstable; urgency=low
openttd (0.6.0~beta4) unstable; urgency=low
* Unreleased SVN version. Versioned to allow normal upgrades to released versions.
* New upstream release.
-- Matthijs Kooijman <m.kooijman@student.utwente.nl> Mon, 26 Feb 2007 21:07:05 +0100
-- Matthijs Kooijman <m.kooijman@student.utwente.nl> Mon, 18 Feb 2008 20:09:29 +0100
openttd (0.6.0~beta3-1) unstable; urgency=low
+2 -2
View File
@@ -1,9 +1,9 @@
!define APPNAME "OpenTTD" ; Define application name
!define APPVERSION "0.6.0" ; Define application version
!define INSTALLERVERSION 41 ; NEED TO UPDATE THIS FOR EVERY RELEASE!!!
!define INSTALLERVERSION 42 ; NEED TO UPDATE THIS FOR EVERY RELEASE!!!
!define APPURLLINK "http://www.openttd.org"
!define APPNAMEANDVERSION "${APPNAME} ${APPVERSION}-beta3"
!define APPNAMEANDVERSION "${APPNAME} ${APPVERSION}-beta4"
!define APPVERSIONINTERNAL "${APPVERSION}.0" ; Needs to be of the format X.X.X.X
!define MUI_ICON "..\..\..\media\openttd.ico"
+1 -1
View File
@@ -194,7 +194,7 @@ Function IsCachedVersion(version)
End Function
Dim version
version = DetermineSVNVersion
version = "0.6.0-beta4"
If Not (IsCachedVersion(version) And FSO.FileExists("../src/rev.cpp") And FSO.FileExists("../src/ottdres.rc")) Then
UpdateFiles version
End If
+14 -34
View File
@@ -25,13 +25,6 @@ fi
# langs_vs80.vcproj is for MSVC 2005
# strgen_vs80.vcproj is for MSVC 2005
# openttd.sln is for MSVC 2003
# openttd.vcproj is for MSVC 2003
# langs.vcproj is for MSVC 2003
# strgen.vcproj is for MSVC 2003
# openttd.tgt is for WatCom
# First, collect the list of Windows files
@@ -110,7 +103,7 @@ load_main_data() {
print " <Filter";
print " Name=\\""$0"\\"";
print " Filter=\\"\\">";
print " >";
}
next;
@@ -121,7 +114,8 @@ load_main_data() {
gsub(" ", "", $0);
gsub("/", "\\\\", $0);
print " <File";
print " RelativePath=\\".\\\\'$file_prefix'"$0"\\">";
print " RelativePath=\\".\\\\'$file_prefix'"$0"\\"";
print " >";
print " </File>";
}
}
@@ -138,15 +132,18 @@ load_lang_data() {
i=`basename $i | sed s/.txt$//g`
RES="$RES
<File
RelativePath=\"..\\src\\lang\\"$i".txt\">
RelativePath=\"..\\src\\lang\\"$i".txt\"
>
<FileConfiguration
Name=\"Debug|Win32\">
Name=\"Debug|Win32\"
>
<Tool
Name=\"VCCustomBuildTool\"
Description=\"Generating "$i" language file\"
CommandLine=\"..\\objs\\strgen\\strgen.exe -s ..\\src\\lang -d ..\\bin\\lang &quot;\$(InputPath)&quot;&#x0D;&#x0A;\"
AdditionalDependencies=\"\"
Outputs=\"..\\bin\\lang\\"$i".lng\"/>
Outputs=\"..\\bin\\lang\\"$i".lng\"
/>
</FileConfiguration>
</File>"
done
@@ -165,22 +162,7 @@ generate() {
}
' > "$ROOT_DIR/projects/$2"
# The files-list
echo "$1" | awk -v type="$3" '
/&#x0D;&#x0A;/ {
if (type == "msvc2003") gsub("&#x0D;&#x0A;", "\n", $0);
}
/Filter="">/ {
if (type == "msvc2005") gsub("Filter=\"\">", ">", $0);
}
/"\/>/ {
if (type == "msvc2005") gsub("/>", "\n" substr($0, 1, index($0, $1) - 2) "/>", $0);
}
/">/ {
if (type == "msvc2005") gsub(">", "\n" substr($0, 1, index($0, $1) - 1) ">", $0);
}
{ print $0 }
' >> "$ROOT_DIR/projects/$2"
echo "$1" >> "$ROOT_DIR/projects/$2"
# Everything below the !!FILES!! marker
cat "$ROOT_DIR/projects/$2".in | tr '\r' '\n' | awk '
@@ -199,9 +181,7 @@ safety_check "$ROOT_DIR/source.list"
load_main_data "$ROOT_DIR/source.list" openttd
load_lang_data "$ROOT_DIR/src/lang/*.txt" lang
generate "$openttd" "openttd.vcproj" "msvc2003"
generate "$openttd" "openttd_vs80.vcproj" "msvc2005"
generate "$openttd" "openttd_vs90.vcproj" "msvc2005"
generate "$lang" "langs.vcproj" "msvc2003"
generate "$lang" "langs_vs80.vcproj" "msvc2005"
generate "$lang" "langs_vs90.vcproj" "msvc2005"
generate "$openttd" "openttd_vs80.vcproj"
generate "$openttd" "openttd_vs90.vcproj"
generate "$lang" "langs_vs80.vcproj"
generate "$lang" "langs_vs90.vcproj"
+182
View File
@@ -0,0 +1,182 @@
Option Explicit
Dim FSO
Set FSO = CreateObject("Scripting.FileSystemObject")
' openttd_vs90.sln is for MSVC 2008
' openttd_vs90.vcproj is for MSVC 2008
' langs_vs90.vcproj is for MSVC 2008
' strgen_vs90.vcproj is for MSVC 2008
' openttd_vs80.sln is for MSVC 2005
' openttd_vs80.vcproj is for MSVC 2005
' langs_vs80.vcproj is for MSVC 2005
' strgen_vs80.vcproj is for MSVC 2005
Sub safety_check(filename)
Dim file, line, regexp, list
' Define regexp
Set regexp = New RegExp
regexp.Pattern = "#|ottdres.rc|win32.cpp|win32_v.cpp"
regexp.Global = True
' We use a dictionary to check duplicates
Set list = CreateObject("Scripting.Dictionary")
Set file = FSO.OpenTextFile(filename, 1, 0, 0)
While Not file.AtEndOfStream
line = Replace(file.ReadLine, Chr(9), "") ' Remove tabs
If Len(line) > 0 And Not regexp.Test(line) Then
line = FSO.GetFileName(line)
if list.Exists(line) Then
WScript.Echo " !! ERROR !!" _
& vbCrLf & "" _
& vbCrLf & "The filename '" & line & "' is already used in this project." _
& vbCrLf & "Because MSVC uses one single directory for all object files, it" _
& vbCrLf & "cannot handle filenames with the same name inside the same project." _
& vbCrLf & "Please rename either one of the file and try generating again." _
& vbCrLf & "" _
& vbCrLf & " !! ERROR !!"
WScript.Quit(1)
End If
list.Add line, line
End If
Wend
file.Close
End Sub
Function load_main_data(filename)
Dim res, file, line, deep, skip, first_time
res = ""
' Read the source.list and process it
Set file = FSO.OpenTextFile(filename, 1, 0, 0)
While Not file.AtEndOfStream
line = Replace(file.ReadLine, Chr(9), "") ' Remove tabs
If Len(line) > 0 Then
Select Case Split(line, " ")(0)
Case "#end"
If deep = skip Then skip = skip - 1
deep = deep - 1
Case "#else"
If deep = skip Then
skip = skip - 1
ElseIf deep - 1 = skip Then
skip = skip + 1
End If
Case "#if"
line = Replace(line, "#if ", "")
If deep = skip And ( _
line = "SDL" Or _
line = "PNG" Or _
line = "WIN32" Or _
line = "MSVC" Or _
line = "DIRECTMUSIC" _
) Then skip = skip + 1
deep = deep + 1
Case "#"
if deep = skip Then
line = Replace(line, "# ", "")
if first_time <> 0 Then
res = res & " </Filter>" & vbCrLf
Else
first_time = 1
End If
res = res & _
" <Filter" & vbCrLf & _
" Name=" & Chr(34) & line & Chr(34) & vbCrLf & _
" >" & vbCrLf
End If
Case Else
If deep = skip Then
line = Replace(line, "/" ,"\")
res = res & _
" <File" & vbCrLf & _
" RelativePath=" & Chr(34) & ".\..\src\" & line & Chr(34) & vbCrLf & _
" >" & vbCrLf & _
" </File>" & vbCrLf
End If
End Select
End If
Wend
res = res & " </Filter>"
file.Close()
load_main_data = res
End Function
Function load_lang_data(dir)
Dim res, folder, file
res = ""
Set folder = FSO.GetFolder(dir)
For Each file In folder.Files
file = FSO.GetFileName(file)
If FSO.GetExtensionName(file) = "txt" Then
file = Left(file, Len(file) - 4)
res = res _
& vbCrLf & " <File" _
& vbCrLf & " RelativePath=" & Chr(34) & "..\src\lang\" & file & ".txt" & Chr(34) _
& vbCrLf & " >" _
& vbCrLf & " <FileConfiguration" _
& vbCrLf & " Name=" & Chr(34) & "Debug|Win32" & Chr(34) _
& vbCrLf & " >" _
& vbCrLf & " <Tool" _
& vbCrLf & " Name=" & Chr(34) & "VCCustomBuildTool" & Chr(34) _
& vbCrLf & " Description=" & Chr(34) & "Generating " & file & " language file" & Chr(34) _
& vbCrLf & " CommandLine=" & Chr(34) & "..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang &quot;$(InputPath)&quot;&#x0D;&#x0A;" & Chr(34) _
& vbCrLf & " AdditionalDependencies=" & Chr(34) & Chr(34) _
& vbCrLf & " Outputs=" & Chr(34) & "..\bin\lang\" & file & ".lng" & Chr(34) _
& vbCrLf & " />" _
& vbCrLf & " </FileConfiguration>" _
& vbCrLf & " </File>"
End If
Next
load_lang_data = res
End Function
Sub generate(data, dest)
Dim srcfile, destfile, line
WScript.Echo "Generating " & FSO.GetFileName(dest) & "..."
Set srcfile = FSO.OpenTextFile(dest & ".in", 1, 0, 0)
Set destfile = FSO.CreateTextFile(dest, -1, 0)
' Everything above the !!FILES!! marker
line = srcfile.ReadLine()
While line <> "!!FILES!!"
If len(line) > 0 Then destfile.WriteLine(line)
line = srcfile.ReadLine()
Wend
' Our generated content
destfile.WriteLine(data)
' Everything below the !!FILES!! marker
While Not srcfile.AtEndOfStream
line = srcfile.ReadLine()
If len(line) > 0 Then destfile.WriteLine(line)
Wend
srcfile.Close()
destfile.Close()
End Sub
Dim ROOT_DIR
ROOT_DIR = FSO.GetFolder("..").Path
If Not FSO.FileExists(ROOT_DIR & "/source.list") Then
ROOT_DIR = FSO.GetFolder(".").Path
End If
If Not FSO.FileExists(ROOT_DIR & "/source.list") Then
WScript.Echo "Can't find source.list, needed in order to make this run." _
& vbCrLf & "Please go to either the project dir, or the root dir of a clean SVN checkout."
WScript.Quit(1)
End If
safety_check ROOT_DIR & "/source.list"
Dim openttd
openttd = load_main_data(ROOT_DIR &"/source.list")
generate openttd, ROOT_DIR & "/projects/openttd_vs80.vcproj"
generate openttd, ROOT_DIR & "/projects/openttd_vs90.vcproj"
Dim lang
lang = load_lang_data(ROOT_DIR & "/src/lang")
generate lang, ROOT_DIR & "/projects/langs_vs80.vcproj"
generate lang, ROOT_DIR & "/projects/langs_vs90.vcproj"
-538
View File
@@ -1,538 +0,0 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="7.10"
Name="langs"
ProjectGUID="{0F066B23-18DF-4284-8265-F4A5E7E3B966}"
RootNamespace="langs"
SccProjectName=""
SccLocalPath=""
Keyword="MakeFileProj">
<Platforms>
<Platform
Name="Win32"/>
</Platforms>
<Configurations>
<Configuration
Name="Debug|Win32"
OutputDirectory="..\bin\lang\"
IntermediateDirectory="..\objs\langs\"
ConfigurationType="10"
UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="FALSE">
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCMIDLTool"
TypeLibraryName="./langs.tlb"
HeaderFileName=""/>
<Tool
Name="VCPostBuildEventTool"/>
<Tool
Name="VCPreBuildEventTool"
Description="Generating strings.h"
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\objs\langs\table"/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<File
RelativePath="..\src\lang\afrikaans.txt">
<FileConfiguration
Name="Debug|Win32">
<Tool
Name="VCCustomBuildTool"
Description="Generating afrikaans language file"
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang &quot;$(InputPath)&quot;
"
AdditionalDependencies=""
Outputs="..\bin\lang\afrikaans.lng"/>
</FileConfiguration>
</File>
<File
RelativePath="..\src\lang\brazilian_portuguese.txt">
<FileConfiguration
Name="Debug|Win32">
<Tool
Name="VCCustomBuildTool"
Description="Generating brazilian_portuguese language file"
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang &quot;$(InputPath)&quot;
"
AdditionalDependencies=""
Outputs="..\bin\lang\brazilian_portuguese.lng"/>
</FileConfiguration>
</File>
<File
RelativePath="..\src\lang\bulgarian.txt">
<FileConfiguration
Name="Debug|Win32">
<Tool
Name="VCCustomBuildTool"
Description="Generating bulgarian language file"
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang &quot;$(InputPath)&quot;
"
AdditionalDependencies=""
Outputs="..\bin\lang\bulgarian.lng"/>
</FileConfiguration>
</File>
<File
RelativePath="..\src\lang\catalan.txt">
<FileConfiguration
Name="Debug|Win32">
<Tool
Name="VCCustomBuildTool"
Description="Generating catalan language file"
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang &quot;$(InputPath)&quot;
"
AdditionalDependencies=""
Outputs="..\bin\lang\catalan.lng"/>
</FileConfiguration>
</File>
<File
RelativePath="..\src\lang\croatian.txt">
<FileConfiguration
Name="Debug|Win32">
<Tool
Name="VCCustomBuildTool"
Description="Generating croatian language file"
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang &quot;$(InputPath)&quot;
"
AdditionalDependencies=""
Outputs="..\bin\lang\croatian.lng"/>
</FileConfiguration>
</File>
<File
RelativePath="..\src\lang\czech.txt">
<FileConfiguration
Name="Debug|Win32">
<Tool
Name="VCCustomBuildTool"
Description="Generating czech language file"
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang &quot;$(InputPath)&quot;
"
AdditionalDependencies=""
Outputs="..\bin\lang\czech.lng"/>
</FileConfiguration>
</File>
<File
RelativePath="..\src\lang\danish.txt">
<FileConfiguration
Name="Debug|Win32">
<Tool
Name="VCCustomBuildTool"
Description="Generating danish language file"
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang &quot;$(InputPath)&quot;
"
AdditionalDependencies=""
Outputs="..\bin\lang\danish.lng"/>
</FileConfiguration>
</File>
<File
RelativePath="..\src\lang\dutch.txt">
<FileConfiguration
Name="Debug|Win32">
<Tool
Name="VCCustomBuildTool"
Description="Generating dutch language file"
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang &quot;$(InputPath)&quot;
"
AdditionalDependencies=""
Outputs="..\bin\lang\dutch.lng"/>
</FileConfiguration>
</File>
<File
RelativePath="..\src\lang\english.txt">
<FileConfiguration
Name="Debug|Win32">
<Tool
Name="VCCustomBuildTool"
Description="Generating english language file"
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang &quot;$(InputPath)&quot;
"
AdditionalDependencies=""
Outputs="..\bin\lang\english.lng"/>
</FileConfiguration>
</File>
<File
RelativePath="..\src\lang\english_US.txt">
<FileConfiguration
Name="Debug|Win32">
<Tool
Name="VCCustomBuildTool"
Description="Generating english_US language file"
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang &quot;$(InputPath)&quot;
"
AdditionalDependencies=""
Outputs="..\bin\lang\english_US.lng"/>
</FileConfiguration>
</File>
<File
RelativePath="..\src\lang\esperanto.txt">
<FileConfiguration
Name="Debug|Win32">
<Tool
Name="VCCustomBuildTool"
Description="Generating esperanto language file"
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang &quot;$(InputPath)&quot;
"
AdditionalDependencies=""
Outputs="..\bin\lang\esperanto.lng"/>
</FileConfiguration>
</File>
<File
RelativePath="..\src\lang\estonian.txt">
<FileConfiguration
Name="Debug|Win32">
<Tool
Name="VCCustomBuildTool"
Description="Generating estonian language file"
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang &quot;$(InputPath)&quot;
"
AdditionalDependencies=""
Outputs="..\bin\lang\estonian.lng"/>
</FileConfiguration>
</File>
<File
RelativePath="..\src\lang\finnish.txt">
<FileConfiguration
Name="Debug|Win32">
<Tool
Name="VCCustomBuildTool"
Description="Generating finnish language file"
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang &quot;$(InputPath)&quot;
"
AdditionalDependencies=""
Outputs="..\bin\lang\finnish.lng"/>
</FileConfiguration>
</File>
<File
RelativePath="..\src\lang\french.txt">
<FileConfiguration
Name="Debug|Win32">
<Tool
Name="VCCustomBuildTool"
Description="Generating french language file"
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang &quot;$(InputPath)&quot;
"
AdditionalDependencies=""
Outputs="..\bin\lang\french.lng"/>
</FileConfiguration>
</File>
<File
RelativePath="..\src\lang\galician.txt">
<FileConfiguration
Name="Debug|Win32">
<Tool
Name="VCCustomBuildTool"
Description="Generating galician language file"
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang &quot;$(InputPath)&quot;
"
AdditionalDependencies=""
Outputs="..\bin\lang\galician.lng"/>
</FileConfiguration>
</File>
<File
RelativePath="..\src\lang\german.txt">
<FileConfiguration
Name="Debug|Win32">
<Tool
Name="VCCustomBuildTool"
Description="Generating german language file"
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang &quot;$(InputPath)&quot;
"
AdditionalDependencies=""
Outputs="..\bin\lang\german.lng"/>
</FileConfiguration>
</File>
<File
RelativePath="..\src\lang\hungarian.txt">
<FileConfiguration
Name="Debug|Win32">
<Tool
Name="VCCustomBuildTool"
Description="Generating hungarian language file"
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang &quot;$(InputPath)&quot;
"
AdditionalDependencies=""
Outputs="..\bin\lang\hungarian.lng"/>
</FileConfiguration>
</File>
<File
RelativePath="..\src\lang\icelandic.txt">
<FileConfiguration
Name="Debug|Win32">
<Tool
Name="VCCustomBuildTool"
Description="Generating icelandic language file"
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang &quot;$(InputPath)&quot;
"
AdditionalDependencies=""
Outputs="..\bin\lang\icelandic.lng"/>
</FileConfiguration>
</File>
<File
RelativePath="..\src\lang\italian.txt">
<FileConfiguration
Name="Debug|Win32">
<Tool
Name="VCCustomBuildTool"
Description="Generating italian language file"
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang &quot;$(InputPath)&quot;
"
AdditionalDependencies=""
Outputs="..\bin\lang\italian.lng"/>
</FileConfiguration>
</File>
<File
RelativePath="..\src\lang\japanese.txt">
<FileConfiguration
Name="Debug|Win32">
<Tool
Name="VCCustomBuildTool"
Description="Generating japanese language file"
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang &quot;$(InputPath)&quot;
"
AdditionalDependencies=""
Outputs="..\bin\lang\japanese.lng"/>
</FileConfiguration>
</File>
<File
RelativePath="..\src\lang\korean.txt">
<FileConfiguration
Name="Debug|Win32">
<Tool
Name="VCCustomBuildTool"
Description="Generating korean language file"
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang &quot;$(InputPath)&quot;
"
AdditionalDependencies=""
Outputs="..\bin\lang\korean.lng"/>
</FileConfiguration>
</File>
<File
RelativePath="..\src\lang\lithuanian.txt">
<FileConfiguration
Name="Debug|Win32">
<Tool
Name="VCCustomBuildTool"
Description="Generating lithuanian language file"
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang &quot;$(InputPath)&quot;
"
AdditionalDependencies=""
Outputs="..\bin\lang\lithuanian.lng"/>
</FileConfiguration>
</File>
<File
RelativePath="..\src\lang\norwegian_bokmal.txt">
<FileConfiguration
Name="Debug|Win32">
<Tool
Name="VCCustomBuildTool"
Description="Generating norwegian_bokmal language file"
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang &quot;$(InputPath)&quot;
"
AdditionalDependencies=""
Outputs="..\bin\lang\norwegian_bokmal.lng"/>
</FileConfiguration>
</File>
<File
RelativePath="..\src\lang\norwegian_nynorsk.txt">
<FileConfiguration
Name="Debug|Win32">
<Tool
Name="VCCustomBuildTool"
Description="Generating norwegian_nynorsk language file"
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang &quot;$(InputPath)&quot;
"
AdditionalDependencies=""
Outputs="..\bin\lang\norwegian_nynorsk.lng"/>
</FileConfiguration>
</File>
<File
RelativePath="..\src\lang\origveh.txt">
<FileConfiguration
Name="Debug|Win32">
<Tool
Name="VCCustomBuildTool"
Description="Generating origveh language file"
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang &quot;$(InputPath)&quot;
"
AdditionalDependencies=""
Outputs="..\bin\lang\origveh.lng"/>
</FileConfiguration>
</File>
<File
RelativePath="..\src\lang\piglatin.txt">
<FileConfiguration
Name="Debug|Win32">
<Tool
Name="VCCustomBuildTool"
Description="Generating piglatin language file"
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang &quot;$(InputPath)&quot;
"
AdditionalDependencies=""
Outputs="..\bin\lang\piglatin.lng"/>
</FileConfiguration>
</File>
<File
RelativePath="..\src\lang\polish.txt">
<FileConfiguration
Name="Debug|Win32">
<Tool
Name="VCCustomBuildTool"
Description="Generating polish language file"
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang &quot;$(InputPath)&quot;
"
AdditionalDependencies=""
Outputs="..\bin\lang\polish.lng"/>
</FileConfiguration>
</File>
<File
RelativePath="..\src\lang\portuguese.txt">
<FileConfiguration
Name="Debug|Win32">
<Tool
Name="VCCustomBuildTool"
Description="Generating portuguese language file"
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang &quot;$(InputPath)&quot;
"
AdditionalDependencies=""
Outputs="..\bin\lang\portuguese.lng"/>
</FileConfiguration>
</File>
<File
RelativePath="..\src\lang\romanian.txt">
<FileConfiguration
Name="Debug|Win32">
<Tool
Name="VCCustomBuildTool"
Description="Generating romanian language file"
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang &quot;$(InputPath)&quot;
"
AdditionalDependencies=""
Outputs="..\bin\lang\romanian.lng"/>
</FileConfiguration>
</File>
<File
RelativePath="..\src\lang\russian.txt">
<FileConfiguration
Name="Debug|Win32">
<Tool
Name="VCCustomBuildTool"
Description="Generating russian language file"
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang &quot;$(InputPath)&quot;
"
AdditionalDependencies=""
Outputs="..\bin\lang\russian.lng"/>
</FileConfiguration>
</File>
<File
RelativePath="..\src\lang\simplified_chinese.txt">
<FileConfiguration
Name="Debug|Win32">
<Tool
Name="VCCustomBuildTool"
Description="Generating simplified_chinese language file"
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang &quot;$(InputPath)&quot;
"
AdditionalDependencies=""
Outputs="..\bin\lang\simplified_chinese.lng"/>
</FileConfiguration>
</File>
<File
RelativePath="..\src\lang\slovak.txt">
<FileConfiguration
Name="Debug|Win32">
<Tool
Name="VCCustomBuildTool"
Description="Generating slovak language file"
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang &quot;$(InputPath)&quot;
"
AdditionalDependencies=""
Outputs="..\bin\lang\slovak.lng"/>
</FileConfiguration>
</File>
<File
RelativePath="..\src\lang\slovenian.txt">
<FileConfiguration
Name="Debug|Win32">
<Tool
Name="VCCustomBuildTool"
Description="Generating slovenian language file"
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang &quot;$(InputPath)&quot;
"
AdditionalDependencies=""
Outputs="..\bin\lang\slovenian.lng"/>
</FileConfiguration>
</File>
<File
RelativePath="..\src\lang\spanish.txt">
<FileConfiguration
Name="Debug|Win32">
<Tool
Name="VCCustomBuildTool"
Description="Generating spanish language file"
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang &quot;$(InputPath)&quot;
"
AdditionalDependencies=""
Outputs="..\bin\lang\spanish.lng"/>
</FileConfiguration>
</File>
<File
RelativePath="..\src\lang\swedish.txt">
<FileConfiguration
Name="Debug|Win32">
<Tool
Name="VCCustomBuildTool"
Description="Generating swedish language file"
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang &quot;$(InputPath)&quot;
"
AdditionalDependencies=""
Outputs="..\bin\lang\swedish.lng"/>
</FileConfiguration>
</File>
<File
RelativePath="..\src\lang\traditional_chinese.txt">
<FileConfiguration
Name="Debug|Win32">
<Tool
Name="VCCustomBuildTool"
Description="Generating traditional_chinese language file"
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang &quot;$(InputPath)&quot;
"
AdditionalDependencies=""
Outputs="..\bin\lang\traditional_chinese.lng"/>
</FileConfiguration>
</File>
<File
RelativePath="..\src\lang\turkish.txt">
<FileConfiguration
Name="Debug|Win32">
<Tool
Name="VCCustomBuildTool"
Description="Generating turkish language file"
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang &quot;$(InputPath)&quot;
"
AdditionalDependencies=""
Outputs="..\bin\lang\turkish.lng"/>
</FileConfiguration>
</File>
<File
RelativePath="..\src\lang\ukrainian.txt">
<FileConfiguration
Name="Debug|Win32">
<Tool
Name="VCCustomBuildTool"
Description="Generating ukrainian language file"
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang &quot;$(InputPath)&quot;
"
AdditionalDependencies=""
Outputs="..\bin\lang\ukrainian.lng"/>
</FileConfiguration>
</File>
</Files>
<Globals>
</Globals>
</VisualStudioProject>
-44
View File
@@ -1,44 +0,0 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="7.10"
Name="langs"
ProjectGUID="{0F066B23-18DF-4284-8265-F4A5E7E3B966}"
RootNamespace="langs"
SccProjectName=""
SccLocalPath=""
Keyword="MakeFileProj">
<Platforms>
<Platform
Name="Win32"/>
</Platforms>
<Configurations>
<Configuration
Name="Debug|Win32"
OutputDirectory="..\bin\lang\"
IntermediateDirectory="..\objs\langs\"
ConfigurationType="10"
UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="FALSE">
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCMIDLTool"
TypeLibraryName="./langs.tlb"
HeaderFileName=""/>
<Tool
Name="VCPostBuildEventTool"/>
<Tool
Name="VCPreBuildEventTool"
Description="Generating strings.h"
CommandLine="..\objs\strgen\strgen.exe -s ..\src\lang -d ..\objs\langs\table"/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
!!FILES!!
</Files>
<Globals>
</Globals>
</VisualStudioProject>
-43
View File
@@ -1,43 +0,0 @@
Microsoft Visual Studio Solution File, Format Version 8.00
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "openttd", "openttd.vcproj", "{668328A0-B40E-4CDB-BD72-D0064424414A}"
ProjectSection(ProjectDependencies) = postProject
{0F066B23-18DF-4284-8265-F4A5E7E3B966} = {0F066B23-18DF-4284-8265-F4A5E7E3B966}
{A133A442-BD0A-4ADE-B117-AD7545E4BDD1} = {A133A442-BD0A-4ADE-B117-AD7545E4BDD1}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "strgen", "strgen.vcproj", "{A133A442-BD0A-4ADE-B117-AD7545E4BDD1}"
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "langs", "langs.vcproj", "{0F066B23-18DF-4284-8265-F4A5E7E3B966}"
ProjectSection(ProjectDependencies) = postProject
{A133A442-BD0A-4ADE-B117-AD7545E4BDD1} = {A133A442-BD0A-4ADE-B117-AD7545E4BDD1}
EndProjectSection
EndProject
Global
GlobalSection(SolutionConfiguration) = preSolution
Debug = Debug
Release = Release
EndGlobalSection
GlobalSection(ProjectConfiguration) = postSolution
{668328A0-B40E-4CDB-BD72-D0064424414A}.Debug.ActiveCfg = Debug|Win32
{668328A0-B40E-4CDB-BD72-D0064424414A}.Debug.Build.0 = Debug|Win32
{668328A0-B40E-4CDB-BD72-D0064424414A}.Release.ActiveCfg = Release|Win32
{668328A0-B40E-4CDB-BD72-D0064424414A}.Release.Build.0 = Release|Win32
{A133A442-BD0A-4ADE-B117-AD7545E4BDD1}.Debug.ActiveCfg = Release|Win32
{A133A442-BD0A-4ADE-B117-AD7545E4BDD1}.Debug.Build.0 = Release|Win32
{A133A442-BD0A-4ADE-B117-AD7545E4BDD1}.Release.ActiveCfg = Release|Win32
{A133A442-BD0A-4ADE-B117-AD7545E4BDD1}.Release.Build.0 = Release|Win32
{0F066B23-18DF-4284-8265-F4A5E7E3B966}.Debug.ActiveCfg = Debug|Win32
{0F066B23-18DF-4284-8265-F4A5E7E3B966}.Debug.Build.0 = Debug|Win32
{0F066B23-18DF-4284-8265-F4A5E7E3B966}.Release.ActiveCfg = Debug|Win32
{0F066B23-18DF-4284-8265-F4A5E7E3B966}.Release.Build.0 = Debug|Win32
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
EndGlobalSection
GlobalSection(ExtensibilityAddIns) = postSolution
EndGlobalSection
GlobalSection(DPCodeReviewSolutionGUID) = preSolution
DPCodeReviewSolutionGUID = {00000000-0000-0000-0000-000000000000}
EndGlobalSection
EndGlobal
-2667
View File
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
-177
View File
@@ -1,177 +0,0 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="7.10"
Name="openttd"
RootNamespace="openttd"
SccProjectName=""
SccLocalPath="">
<Platforms>
<Platform
Name="Win32"/>
</Platforms>
<Configurations>
<Configuration
Name="Release|Win32"
OutputDirectory="..\objs\$(PlatformName)\$(ConfigurationName)"
IntermediateDirectory="..\objs\$(PlatformName)\$(ConfigurationName)"
ConfigurationType="1"
UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="FALSE"
CharacterSet="1"
WholeProgramOptimization="TRUE">
<Tool
Name="VCCLCompilerTool"
Optimization="3"
GlobalOptimizations="TRUE"
InlineFunctionExpansion="2"
EnableIntrinsicFunctions="TRUE"
FavorSizeOrSpeed="2"
OmitFramePointers="TRUE"
OptimizeForProcessor="1"
AdditionalIncludeDirectories="..\objs\langs"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WIN32_EXCEPTION_TRACKER;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_ZLIB;WITH_PNG;WITH_FREETYPE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\&quot;OpenTTD\&quot;"
StringPooling="TRUE"
ExceptionHandling="TRUE"
RuntimeLibrary="0"
StructMemberAlignment="3"
BufferSecurityCheck="FALSE"
EnableFunctionLevelLinking="TRUE"
DefaultCharIsUnsigned="TRUE"
UsePrecompiledHeader="0"
PrecompiledHeaderThrough=""
PrecompiledHeaderFile=""
AssemblerOutput="2"
AssemblerListingLocation="$(IntDir)/"
ObjectFile="$(IntDir)/"
ProgramDataBaseFileName="$(IntDir)/$(TargetName).pdb"
BrowseInformation="1"
BrowseInformationFile="$(IntDir)/"
WarningLevel="3"
WarnAsError="TRUE"
SuppressStartupBanner="TRUE"
DebugInformationFormat="3"
CallingConvention="1"
CompileAs="0"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="winmm.lib ws2_32.lib libpng.lib zlibstat.lib dxguid.lib libfreetype2.lib"
LinkIncremental="1"
SuppressStartupBanner="TRUE"
IgnoreDefaultLibraryNames=""
GenerateDebugInformation="TRUE"
SubSystem="2"
OptimizeReferences="2"
OptimizeForWindows98="1"
TargetMachine="1"/>
<Tool
Name="VCMIDLTool"
TypeLibraryName=".\Release/openttd.tlb"
HeaderFileName=""/>
<Tool
Name="VCPostBuildEventTool"/>
<Tool
Name="VCPreBuildEventTool"
Description="Determining version number"
CommandLine="&quot;$(InputDir)/determineversion.vbs&quot;"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions="NDEBUG"
Culture="1053"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebDeploymentTool"/>
<Tool
Name="VCManagedWrapperGeneratorTool"/>
<Tool
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
</Configuration>
<Configuration
Name="Debug|Win32"
OutputDirectory="..\objs\$(PlatformName)\$(ConfigurationName)\"
IntermediateDirectory="..\objs\$(PlatformName)\$(ConfigurationName)\"
ConfigurationType="1"
UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="FALSE"
CharacterSet="1">
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\objs\langs"
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_ZLIB;WITH_PNG;WITH_FREETYPE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\&quot;OpenTTD\&quot;"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
UsePrecompiledHeader="0"
AssemblerListingLocation="$(IntDir)/"
ObjectFile="$(IntDir)/"
ProgramDataBaseFileName="$(IntDir)/$(TargetName).pdb"
WarningLevel="3"
WarnAsError="TRUE"
SuppressStartupBanner="TRUE"
Detect64BitPortabilityProblems="FALSE"
DebugInformationFormat="4"
CallingConvention="1"
CompileAs="0"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="unicows.lib winmm.lib ws2_32.lib libpng.lib zlibstat.lib dxguid.lib libfreetype2.lib"
LinkIncremental="0"
SuppressStartupBanner="TRUE"
IgnoreDefaultLibraryNames="LIBCMT.lib"
GenerateDebugInformation="TRUE"
SubSystem="2"
TargetMachine="1"/>
<Tool
Name="VCMIDLTool"
TypeLibraryName=".\Debug/openttd.tlb"
HeaderFileName=""/>
<Tool
Name="VCPostBuildEventTool"/>
<Tool
Name="VCPreBuildEventTool"
Description="Determining version number"
CommandLine="&quot;$(InputDir)/determineversion.vbs&quot;"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions="_DEBUG"
Culture="1053"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebDeploymentTool"/>
<Tool
Name="VCManagedWrapperGeneratorTool"/>
<Tool
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
!!FILES!!
<File
RelativePath=".\..\media\mainicon.ico">
</File>
<File
RelativePath=".\..\media\openttd.ico">
</File>
<File
RelativePath=".\..\readme.txt">
</File>
</Files>
<Globals>
</Globals>
</VisualStudioProject>
+263 -47
View File
@@ -61,7 +61,7 @@
FavorSizeOrSpeed="2"
OmitFramePointers="true"
AdditionalIncludeDirectories="..\objs\langs"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WIN32_EXCEPTION_TRACKER;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_ZLIB;WITH_PNG;WITH_FREETYPE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\&quot;OpenTTD\&quot;"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WIN32_EXCEPTION_TRACKER;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_ZLIB;WITH_PNG;WITH_FREETYPE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\&quot;OpenTTD\&quot;;WITH_ASSERT"
StringPooling="true"
ExceptionHandling="1"
RuntimeLibrary="0"
@@ -272,7 +272,7 @@
FavorSizeOrSpeed="2"
OmitFramePointers="true"
AdditionalIncludeDirectories="..\objs\langs"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WIN32_EXCEPTION_TRACKER;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_ZLIB;WITH_PNG;WITH_FREETYPE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\&quot;OpenTTD\&quot;"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WIN32_EXCEPTION_TRACKER;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_ZLIB;WITH_PNG;WITH_FREETYPE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\&quot;OpenTTD\&quot;;WITH_ASSERT"
StringPooling="true"
ExceptionHandling="1"
RuntimeLibrary="0"
@@ -455,6 +455,10 @@
RelativePath=".\..\src\airport.cpp"
>
</File>
<File
RelativePath=".\..\src\core\alloc_func.cpp"
>
</File>
<File
RelativePath=".\..\src\articulated_vehicles.cpp"
>
@@ -467,6 +471,10 @@
RelativePath=".\..\src\aystar.cpp"
>
</File>
<File
RelativePath=".\..\src\core\bitmath_func.cpp"
>
</File>
<File
RelativePath=".\..\src\bmp.cpp"
>
@@ -495,14 +503,6 @@
RelativePath=".\..\src\console_cmds.cpp"
>
</File>
<File
RelativePath=".\..\src\core\bitmath_func.cpp"
>
</File>
<File
RelativePath=".\..\src\core\random_func.cpp"
>
</File>
<File
RelativePath=".\..\src\currency.cpp"
>
@@ -527,6 +527,10 @@
RelativePath=".\..\src\driver.cpp"
>
</File>
<File
RelativePath=".\..\src\widgets\dropdown.cpp"
>
</File>
<File
RelativePath=".\..\src\economy.cpp"
>
@@ -667,6 +671,10 @@
RelativePath=".\..\src\rail.cpp"
>
</File>
<File
RelativePath=".\..\src\core\random_func.cpp"
>
</File>
<File
RelativePath=".\..\src\rev.cpp"
>
@@ -751,10 +759,6 @@
RelativePath=".\..\src\widget.cpp"
>
</File>
<File
RelativePath=".\..\src\widgets\dropdown.cpp"
>
</File>
<File
RelativePath=".\..\src\win32.cpp"
>
@@ -779,10 +783,30 @@
RelativePath=".\..\src\airport_movement.h"
>
</File>
<File
RelativePath=".\..\src\core\alloc_func.hpp"
>
</File>
<File
RelativePath=".\..\src\articulated_vehicles.h"
>
</File>
<File
RelativePath=".\..\src\autoreplace_base.h"
>
</File>
<File
RelativePath=".\..\src\autoreplace_func.h"
>
</File>
<File
RelativePath=".\..\src\autoreplace_gui.h"
>
</File>
<File
RelativePath=".\..\src\autoreplace_type.h"
>
</File>
<File
RelativePath=".\..\src\autoslope.h"
>
@@ -791,10 +815,26 @@
RelativePath=".\..\src\aystar.h"
>
</File>
<File
RelativePath=".\..\src\core\bitmath_func.hpp"
>
</File>
<File
RelativePath=".\..\src\bmp.h"
>
</File>
<File
RelativePath=".\..\src\bridge.h"
>
</File>
<File
RelativePath=".\..\src\callback_table.h"
>
</File>
<File
RelativePath=".\..\src\cargo_type.h"
>
</File>
<File
RelativePath=".\..\src\cargopacket.h"
>
@@ -804,31 +844,31 @@
>
</File>
<File
RelativePath=".\..\src\command.h"
RelativePath=".\..\src\cmd_helper.h"
>
</File>
<File
RelativePath=".\..\src\command_func.h"
>
</File>
<File
RelativePath=".\..\src\command_type.h"
>
</File>
<File
RelativePath=".\..\src\console.h"
>
</File>
<File
RelativePath=".\..\src\core\bitmath_func.hpp"
>
</File>
<File
RelativePath=".\..\src\core\math_func.hpp"
>
</File>
<File
RelativePath=".\..\src\core\random_func.hpp"
>
</File>
<File
RelativePath=".\..\src\currency.h"
>
</File>
<File
RelativePath=".\..\src\date.h"
RelativePath=".\..\src\date_func.h"
>
</File>
<File
RelativePath=".\..\src\date_type.h"
>
</File>
<File
@@ -844,7 +884,11 @@
>
</File>
<File
RelativePath=".\..\src\direction.h"
RelativePath=".\..\src\direction_func.h"
>
</File>
<File
RelativePath=".\..\src\direction_type.h"
>
</File>
<File
@@ -856,13 +900,33 @@
>
</File>
<File
RelativePath=".\..\src\economy.h"
RelativePath=".\..\src\widgets\dropdown_func.h"
>
</File>
<File
RelativePath=".\..\src\widgets\dropdown_type.h"
>
</File>
<File
RelativePath=".\..\src\economy_func.h"
>
</File>
<File
RelativePath=".\..\src\economy_type.h"
>
</File>
<File
RelativePath=".\..\src\core\endian_func.hpp"
>
</File>
<File
RelativePath=".\..\src\engine.h"
>
</File>
<File
RelativePath=".\..\src\core\enum_type.hpp"
>
</File>
<File
RelativePath=".\..\src\fileio.h"
>
@@ -884,7 +948,15 @@
>
</File>
<File
RelativePath=".\..\src\gfx.h"
RelativePath=".\..\src\core\geometry_type.hpp"
>
</File>
<File
RelativePath=".\..\src\gfx_func.h"
>
</File>
<File
RelativePath=".\..\src\gfx_type.h"
>
</File>
<File
@@ -895,6 +967,10 @@
RelativePath=".\..\src\group.h"
>
</File>
<File
RelativePath=".\..\src\group_gui.h"
>
</File>
<File
RelativePath=".\..\src\gui.h"
>
@@ -907,6 +983,10 @@
RelativePath=".\..\src\industry.h"
>
</File>
<File
RelativePath=".\..\src\industry_type.h"
>
</File>
<File
RelativePath=".\..\src\landscape.h"
>
@@ -916,7 +996,7 @@
>
</File>
<File
RelativePath=".\..\src\map.h"
RelativePath=".\..\src\core\math_func.hpp"
>
</File>
<File
@@ -951,6 +1031,10 @@
RelativePath=".\..\src\network\network_gui.h"
>
</File>
<File
RelativePath=".\..\src\network\network_internal.h"
>
</File>
<File
RelativePath=".\..\src\network\network_server.h"
>
@@ -987,6 +1071,10 @@
RelativePath=".\..\src\newgrf_engine.h"
>
</File>
<File
RelativePath=".\..\src\newgrf_generic.h"
>
</File>
<File
RelativePath=".\..\src\newgrf_house.h"
>
@@ -1055,18 +1143,38 @@
RelativePath=".\..\src\openttd.h"
>
</File>
<File
RelativePath=".\..\src\order.h"
>
</File>
<File
RelativePath=".\..\src\core\overflowsafe_type.hpp"
>
</File>
<File
RelativePath=".\..\src\pathfind.h"
>
</File>
<File
RelativePath=".\..\src\player.h"
RelativePath=".\..\src\player_base.h"
>
</File>
<File
RelativePath=".\..\src\player_face.h"
>
</File>
<File
RelativePath=".\..\src\player_func.h"
>
</File>
<File
RelativePath=".\..\src\player_gui.h"
>
</File>
<File
RelativePath=".\..\src\player_type.h"
>
</File>
<File
RelativePath=".\..\src\queue.h"
>
@@ -1075,10 +1183,42 @@
RelativePath=".\..\src\rail.h"
>
</File>
<File
RelativePath=".\..\src\rail_gui.h"
>
</File>
<File
RelativePath=".\..\src\rail_type.h"
>
</File>
<File
RelativePath=".\..\src\core\random_func.hpp"
>
</File>
<File
RelativePath=".\..\src\road_cmd.h"
>
</File>
<File
RelativePath=".\..\src\road_func.h"
>
</File>
<File
RelativePath=".\..\src\road_gui.h"
>
</File>
<File
RelativePath=".\..\src\road_internal.h"
>
</File>
<File
RelativePath=".\..\src\road_type.h"
>
</File>
<File
RelativePath=".\..\src\roadveh.h"
>
</File>
<File
RelativePath=".\..\src\saveload.h"
>
@@ -1096,11 +1236,19 @@
>
</File>
<File
RelativePath=".\..\src\settings.h"
RelativePath=".\..\src\settings_func.h"
>
</File>
<File
RelativePath=".\..\src\signs.h"
RelativePath=".\..\src\settings_internal.h"
>
</File>
<File
RelativePath=".\..\src\settings_type.h"
>
</File>
<File
RelativePath=".\..\src\ship.h"
>
</File>
<File
@@ -1108,11 +1256,23 @@
>
</File>
<File
RelativePath=".\..\src\slope.h"
RelativePath=".\..\src\signs.h"
>
</File>
<File
RelativePath=".\..\src\sound.h"
RelativePath=".\..\src\slope_func.h"
>
</File>
<File
RelativePath=".\..\src\slope_type.h"
>
</File>
<File
RelativePath=".\..\src\sound_func.h"
>
</File>
<File
RelativePath=".\..\src\sound_type.h"
>
</File>
<File
@@ -1136,7 +1296,27 @@
>
</File>
<File
RelativePath=".\..\src\string.h"
RelativePath=".\..\src\string_func.h"
>
</File>
<File
RelativePath=".\..\src\string_type.h"
>
</File>
<File
RelativePath=".\..\src\strings_func.h"
>
</File>
<File
RelativePath=".\..\src\strings_type.h"
>
</File>
<File
RelativePath=".\..\src\terraform_gui.h"
>
</File>
<File
RelativePath=".\..\src\textbuf_gui.h"
>
</File>
<File
@@ -1152,7 +1332,11 @@
>
</File>
<File
RelativePath=".\..\src\tile.h"
RelativePath=".\..\src\tile_cmd.h"
>
</File>
<File
RelativePath=".\..\src\tile_type.h"
>
</File>
<File
@@ -1163,6 +1347,18 @@
RelativePath=".\..\src\town.h"
>
</File>
<File
RelativePath=".\..\src\town_type.h"
>
</File>
<File
RelativePath=".\..\src\track_func.h"
>
</File>
<File
RelativePath=".\..\src\track_type.h"
>
</File>
<File
RelativePath=".\..\src\train.h"
>
@@ -1175,12 +1371,24 @@
RelativePath=".\..\src\transparency_gui.h"
>
</File>
<File
RelativePath=".\..\src\tunnelbridge.h"
>
</File>
<File
RelativePath=".\..\src\unmovable.h"
>
</File>
<File
RelativePath=".\..\src\variables.h"
>
</File>
<File
RelativePath=".\..\src\vehicle.h"
RelativePath=".\..\src\vehicle_base.h"
>
</File>
<File
RelativePath=".\..\src\vehicle_func.h"
>
</File>
<File
@@ -1188,7 +1396,7 @@
>
</File>
<File
RelativePath=".\..\src\viewport.h"
RelativePath=".\..\src\vehicle_type.h"
>
</File>
<File
@@ -1208,23 +1416,23 @@
>
</File>
<File
RelativePath=".\..\src\window.h"
RelativePath=".\..\src\window_func.h"
>
</File>
<File
RelativePath=".\..\src\widgets\dropdown.h"
RelativePath=".\..\src\window_gui.h"
>
</File>
<File
RelativePath=".\..\src\widgets\dropdown_type.h"
RelativePath=".\..\src\window_type.h"
>
</File>
<File
RelativePath=".\..\src\widgets\dropdown_func.h"
RelativePath=".\..\src\zoom_func.h"
>
</File>
<File
RelativePath=".\..\src\zoom.hpp"
RelativePath=".\..\src\zoom_type.h"
>
</File>
</Filter>
@@ -1524,7 +1732,7 @@
>
</File>
<File
RelativePath=".\..\src\table\roadveh.h"
RelativePath=".\..\src\table\roadveh_movement.h"
>
</File>
<File
@@ -1743,6 +1951,10 @@
RelativePath=".\..\src\newgrf_engine.cpp"
>
</File>
<File
RelativePath=".\..\src\newgrf_generic.cpp"
>
</File>
<File
RelativePath=".\..\src\newgrf_house.cpp"
>
@@ -1819,6 +2031,10 @@
RelativePath=".\..\src\station_map.h"
>
</File>
<File
RelativePath=".\..\src\tile_map.h"
>
</File>
<File
RelativePath=".\..\src\town_map.h"
>
+2 -2
View File
@@ -61,7 +61,7 @@
FavorSizeOrSpeed="2"
OmitFramePointers="true"
AdditionalIncludeDirectories="..\objs\langs"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WIN32_EXCEPTION_TRACKER;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_ZLIB;WITH_PNG;WITH_FREETYPE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\&quot;OpenTTD\&quot;"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WIN32_EXCEPTION_TRACKER;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_ZLIB;WITH_PNG;WITH_FREETYPE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\&quot;OpenTTD\&quot;;WITH_ASSERT"
StringPooling="true"
ExceptionHandling="1"
RuntimeLibrary="0"
@@ -272,7 +272,7 @@
FavorSizeOrSpeed="2"
OmitFramePointers="true"
AdditionalIncludeDirectories="..\objs\langs"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WIN32_EXCEPTION_TRACKER;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_ZLIB;WITH_PNG;WITH_FREETYPE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\&quot;OpenTTD\&quot;"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WIN32_EXCEPTION_TRACKER;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_ZLIB;WITH_PNG;WITH_FREETYPE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\&quot;OpenTTD\&quot;;WITH_ASSERT"
StringPooling="true"
ExceptionHandling="1"
RuntimeLibrary="0"
+263 -47
View File
@@ -62,7 +62,7 @@
FavorSizeOrSpeed="2"
OmitFramePointers="true"
AdditionalIncludeDirectories="..\objs\langs"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WIN32_EXCEPTION_TRACKER;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_ZLIB;WITH_PNG;WITH_FREETYPE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\&quot;OpenTTD\&quot;"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WIN32_EXCEPTION_TRACKER;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_ZLIB;WITH_PNG;WITH_FREETYPE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\&quot;OpenTTD\&quot;;WITH_ASSERT"
StringPooling="true"
ExceptionHandling="1"
RuntimeLibrary="0"
@@ -270,7 +270,7 @@
FavorSizeOrSpeed="2"
OmitFramePointers="true"
AdditionalIncludeDirectories="..\objs\langs"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WIN32_EXCEPTION_TRACKER;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_ZLIB;WITH_PNG;WITH_FREETYPE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\&quot;OpenTTD\&quot;"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WIN32_EXCEPTION_TRACKER;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_ZLIB;WITH_PNG;WITH_FREETYPE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\&quot;OpenTTD\&quot;;WITH_ASSERT"
StringPooling="true"
ExceptionHandling="1"
RuntimeLibrary="0"
@@ -452,6 +452,10 @@
RelativePath=".\..\src\airport.cpp"
>
</File>
<File
RelativePath=".\..\src\core\alloc_func.cpp"
>
</File>
<File
RelativePath=".\..\src\articulated_vehicles.cpp"
>
@@ -464,6 +468,10 @@
RelativePath=".\..\src\aystar.cpp"
>
</File>
<File
RelativePath=".\..\src\core\bitmath_func.cpp"
>
</File>
<File
RelativePath=".\..\src\bmp.cpp"
>
@@ -492,14 +500,6 @@
RelativePath=".\..\src\console_cmds.cpp"
>
</File>
<File
RelativePath=".\..\src\core\bitmath_func.cpp"
>
</File>
<File
RelativePath=".\..\src\core\random_func.cpp"
>
</File>
<File
RelativePath=".\..\src\currency.cpp"
>
@@ -524,6 +524,10 @@
RelativePath=".\..\src\driver.cpp"
>
</File>
<File
RelativePath=".\..\src\widgets\dropdown.cpp"
>
</File>
<File
RelativePath=".\..\src\economy.cpp"
>
@@ -664,6 +668,10 @@
RelativePath=".\..\src\rail.cpp"
>
</File>
<File
RelativePath=".\..\src\core\random_func.cpp"
>
</File>
<File
RelativePath=".\..\src\rev.cpp"
>
@@ -748,10 +756,6 @@
RelativePath=".\..\src\widget.cpp"
>
</File>
<File
RelativePath=".\..\src\widgets\dropdown.cpp"
>
</File>
<File
RelativePath=".\..\src\win32.cpp"
>
@@ -776,10 +780,30 @@
RelativePath=".\..\src\airport_movement.h"
>
</File>
<File
RelativePath=".\..\src\core\alloc_func.hpp"
>
</File>
<File
RelativePath=".\..\src\articulated_vehicles.h"
>
</File>
<File
RelativePath=".\..\src\autoreplace_base.h"
>
</File>
<File
RelativePath=".\..\src\autoreplace_func.h"
>
</File>
<File
RelativePath=".\..\src\autoreplace_gui.h"
>
</File>
<File
RelativePath=".\..\src\autoreplace_type.h"
>
</File>
<File
RelativePath=".\..\src\autoslope.h"
>
@@ -788,10 +812,26 @@
RelativePath=".\..\src\aystar.h"
>
</File>
<File
RelativePath=".\..\src\core\bitmath_func.hpp"
>
</File>
<File
RelativePath=".\..\src\bmp.h"
>
</File>
<File
RelativePath=".\..\src\bridge.h"
>
</File>
<File
RelativePath=".\..\src\callback_table.h"
>
</File>
<File
RelativePath=".\..\src\cargo_type.h"
>
</File>
<File
RelativePath=".\..\src\cargopacket.h"
>
@@ -801,31 +841,31 @@
>
</File>
<File
RelativePath=".\..\src\command.h"
RelativePath=".\..\src\cmd_helper.h"
>
</File>
<File
RelativePath=".\..\src\command_func.h"
>
</File>
<File
RelativePath=".\..\src\command_type.h"
>
</File>
<File
RelativePath=".\..\src\console.h"
>
</File>
<File
RelativePath=".\..\src\core\bitmath_func.hpp"
>
</File>
<File
RelativePath=".\..\src\core\math_func.hpp"
>
</File>
<File
RelativePath=".\..\src\core\random_func.hpp"
>
</File>
<File
RelativePath=".\..\src\currency.h"
>
</File>
<File
RelativePath=".\..\src\date.h"
RelativePath=".\..\src\date_func.h"
>
</File>
<File
RelativePath=".\..\src\date_type.h"
>
</File>
<File
@@ -841,7 +881,11 @@
>
</File>
<File
RelativePath=".\..\src\direction.h"
RelativePath=".\..\src\direction_func.h"
>
</File>
<File
RelativePath=".\..\src\direction_type.h"
>
</File>
<File
@@ -853,13 +897,33 @@
>
</File>
<File
RelativePath=".\..\src\economy.h"
RelativePath=".\..\src\widgets\dropdown_func.h"
>
</File>
<File
RelativePath=".\..\src\widgets\dropdown_type.h"
>
</File>
<File
RelativePath=".\..\src\economy_func.h"
>
</File>
<File
RelativePath=".\..\src\economy_type.h"
>
</File>
<File
RelativePath=".\..\src\core\endian_func.hpp"
>
</File>
<File
RelativePath=".\..\src\engine.h"
>
</File>
<File
RelativePath=".\..\src\core\enum_type.hpp"
>
</File>
<File
RelativePath=".\..\src\fileio.h"
>
@@ -881,7 +945,15 @@
>
</File>
<File
RelativePath=".\..\src\gfx.h"
RelativePath=".\..\src\core\geometry_type.hpp"
>
</File>
<File
RelativePath=".\..\src\gfx_func.h"
>
</File>
<File
RelativePath=".\..\src\gfx_type.h"
>
</File>
<File
@@ -892,6 +964,10 @@
RelativePath=".\..\src\group.h"
>
</File>
<File
RelativePath=".\..\src\group_gui.h"
>
</File>
<File
RelativePath=".\..\src\gui.h"
>
@@ -904,6 +980,10 @@
RelativePath=".\..\src\industry.h"
>
</File>
<File
RelativePath=".\..\src\industry_type.h"
>
</File>
<File
RelativePath=".\..\src\landscape.h"
>
@@ -913,7 +993,7 @@
>
</File>
<File
RelativePath=".\..\src\map.h"
RelativePath=".\..\src\core\math_func.hpp"
>
</File>
<File
@@ -948,6 +1028,10 @@
RelativePath=".\..\src\network\network_gui.h"
>
</File>
<File
RelativePath=".\..\src\network\network_internal.h"
>
</File>
<File
RelativePath=".\..\src\network\network_server.h"
>
@@ -984,6 +1068,10 @@
RelativePath=".\..\src\newgrf_engine.h"
>
</File>
<File
RelativePath=".\..\src\newgrf_generic.h"
>
</File>
<File
RelativePath=".\..\src\newgrf_house.h"
>
@@ -1052,18 +1140,38 @@
RelativePath=".\..\src\openttd.h"
>
</File>
<File
RelativePath=".\..\src\order.h"
>
</File>
<File
RelativePath=".\..\src\core\overflowsafe_type.hpp"
>
</File>
<File
RelativePath=".\..\src\pathfind.h"
>
</File>
<File
RelativePath=".\..\src\player.h"
RelativePath=".\..\src\player_base.h"
>
</File>
<File
RelativePath=".\..\src\player_face.h"
>
</File>
<File
RelativePath=".\..\src\player_func.h"
>
</File>
<File
RelativePath=".\..\src\player_gui.h"
>
</File>
<File
RelativePath=".\..\src\player_type.h"
>
</File>
<File
RelativePath=".\..\src\queue.h"
>
@@ -1072,10 +1180,42 @@
RelativePath=".\..\src\rail.h"
>
</File>
<File
RelativePath=".\..\src\rail_gui.h"
>
</File>
<File
RelativePath=".\..\src\rail_type.h"
>
</File>
<File
RelativePath=".\..\src\core\random_func.hpp"
>
</File>
<File
RelativePath=".\..\src\road_cmd.h"
>
</File>
<File
RelativePath=".\..\src\road_func.h"
>
</File>
<File
RelativePath=".\..\src\road_gui.h"
>
</File>
<File
RelativePath=".\..\src\road_internal.h"
>
</File>
<File
RelativePath=".\..\src\road_type.h"
>
</File>
<File
RelativePath=".\..\src\roadveh.h"
>
</File>
<File
RelativePath=".\..\src\saveload.h"
>
@@ -1093,11 +1233,19 @@
>
</File>
<File
RelativePath=".\..\src\settings.h"
RelativePath=".\..\src\settings_func.h"
>
</File>
<File
RelativePath=".\..\src\signs.h"
RelativePath=".\..\src\settings_internal.h"
>
</File>
<File
RelativePath=".\..\src\settings_type.h"
>
</File>
<File
RelativePath=".\..\src\ship.h"
>
</File>
<File
@@ -1105,11 +1253,23 @@
>
</File>
<File
RelativePath=".\..\src\slope.h"
RelativePath=".\..\src\signs.h"
>
</File>
<File
RelativePath=".\..\src\sound.h"
RelativePath=".\..\src\slope_func.h"
>
</File>
<File
RelativePath=".\..\src\slope_type.h"
>
</File>
<File
RelativePath=".\..\src\sound_func.h"
>
</File>
<File
RelativePath=".\..\src\sound_type.h"
>
</File>
<File
@@ -1133,7 +1293,27 @@
>
</File>
<File
RelativePath=".\..\src\string.h"
RelativePath=".\..\src\string_func.h"
>
</File>
<File
RelativePath=".\..\src\string_type.h"
>
</File>
<File
RelativePath=".\..\src\strings_func.h"
>
</File>
<File
RelativePath=".\..\src\strings_type.h"
>
</File>
<File
RelativePath=".\..\src\terraform_gui.h"
>
</File>
<File
RelativePath=".\..\src\textbuf_gui.h"
>
</File>
<File
@@ -1149,7 +1329,11 @@
>
</File>
<File
RelativePath=".\..\src\tile.h"
RelativePath=".\..\src\tile_cmd.h"
>
</File>
<File
RelativePath=".\..\src\tile_type.h"
>
</File>
<File
@@ -1160,6 +1344,18 @@
RelativePath=".\..\src\town.h"
>
</File>
<File
RelativePath=".\..\src\town_type.h"
>
</File>
<File
RelativePath=".\..\src\track_func.h"
>
</File>
<File
RelativePath=".\..\src\track_type.h"
>
</File>
<File
RelativePath=".\..\src\train.h"
>
@@ -1172,12 +1368,24 @@
RelativePath=".\..\src\transparency_gui.h"
>
</File>
<File
RelativePath=".\..\src\tunnelbridge.h"
>
</File>
<File
RelativePath=".\..\src\unmovable.h"
>
</File>
<File
RelativePath=".\..\src\variables.h"
>
</File>
<File
RelativePath=".\..\src\vehicle.h"
RelativePath=".\..\src\vehicle_base.h"
>
</File>
<File
RelativePath=".\..\src\vehicle_func.h"
>
</File>
<File
@@ -1185,7 +1393,7 @@
>
</File>
<File
RelativePath=".\..\src\viewport.h"
RelativePath=".\..\src\vehicle_type.h"
>
</File>
<File
@@ -1205,23 +1413,23 @@
>
</File>
<File
RelativePath=".\..\src\window.h"
RelativePath=".\..\src\window_func.h"
>
</File>
<File
RelativePath=".\..\src\widgets\dropdown.h"
RelativePath=".\..\src\window_gui.h"
>
</File>
<File
RelativePath=".\..\src\widgets\dropdown_type.h"
RelativePath=".\..\src\window_type.h"
>
</File>
<File
RelativePath=".\..\src\widgets\dropdown_func.h"
RelativePath=".\..\src\zoom_func.h"
>
</File>
<File
RelativePath=".\..\src\zoom.hpp"
RelativePath=".\..\src\zoom_type.h"
>
</File>
</Filter>
@@ -1521,7 +1729,7 @@
>
</File>
<File
RelativePath=".\..\src\table\roadveh.h"
RelativePath=".\..\src\table\roadveh_movement.h"
>
</File>
<File
@@ -1740,6 +1948,10 @@
RelativePath=".\..\src\newgrf_engine.cpp"
>
</File>
<File
RelativePath=".\..\src\newgrf_generic.cpp"
>
</File>
<File
RelativePath=".\..\src\newgrf_house.cpp"
>
@@ -1816,6 +2028,10 @@
RelativePath=".\..\src\station_map.h"
>
</File>
<File
RelativePath=".\..\src\tile_map.h"
>
</File>
<File
RelativePath=".\..\src\town_map.h"
>
+2 -2
View File
@@ -62,7 +62,7 @@
FavorSizeOrSpeed="2"
OmitFramePointers="true"
AdditionalIncludeDirectories="..\objs\langs"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WIN32_EXCEPTION_TRACKER;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_ZLIB;WITH_PNG;WITH_FREETYPE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\&quot;OpenTTD\&quot;"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WIN32_EXCEPTION_TRACKER;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_ZLIB;WITH_PNG;WITH_FREETYPE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\&quot;OpenTTD\&quot;;WITH_ASSERT"
StringPooling="true"
ExceptionHandling="1"
RuntimeLibrary="0"
@@ -270,7 +270,7 @@
FavorSizeOrSpeed="2"
OmitFramePointers="true"
AdditionalIncludeDirectories="..\objs\langs"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WIN32_EXCEPTION_TRACKER;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_ZLIB;WITH_PNG;WITH_FREETYPE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\&quot;OpenTTD\&quot;"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WIN32_EXCEPTION_TRACKER;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_ZLIB;WITH_PNG;WITH_FREETYPE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\&quot;OpenTTD\&quot;;WITH_ASSERT"
StringPooling="true"
ExceptionHandling="1"
RuntimeLibrary="0"
-101
View File
@@ -1,101 +0,0 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="7.10"
Name="strgen"
RootNamespace="strgen"
SccProjectName=""
SccLocalPath="">
<Platforms>
<Platform
Name="Win32"/>
</Platforms>
<Configurations>
<Configuration
Name="Release|Win32"
OutputDirectory="..\objs\strgen\"
IntermediateDirectory="..\objs\strgen\"
ConfigurationType="1"
UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="FALSE"
CharacterSet="2">
<Tool
Name="VCCLCompilerTool"
Optimization="1"
GlobalOptimizations="TRUE"
FavorSizeOrSpeed="2"
PreprocessorDefinitions="STRGEN;WIN32;NDEBUG;_CONSOLE"
BasicRuntimeChecks="0"
RuntimeLibrary="5"
PrecompiledHeaderFile=""
AssemblerOutput="2"
AssemblerListingLocation="$(IntDir)"
ObjectFile="$(IntDir)"
ProgramDataBaseFileName="$(IntDir)\$(TargetName).pdb"
WarningLevel="3"
WarnAsError="TRUE"
SuppressStartupBanner="TRUE"
DebugInformationFormat="3"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCLinkerTool"
OutputFile="$(IntDir)\strgen.exe"
LinkIncremental="1"
SuppressStartupBanner="TRUE"
GenerateDebugInformation="TRUE"
ProgramDatabaseFile="$(IntDir)\strgen.pdb"
SubSystem="1"
TargetMachine="1"/>
<Tool
Name="VCMIDLTool"
TypeLibraryName=".\Debug/strgen.tlb"
HeaderFileName=""/>
<Tool
Name="VCPostBuildEventTool"/>
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions="_DEBUG"
Culture="1053"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebDeploymentTool"/>
<Tool
Name="VCManagedWrapperGeneratorTool"/>
<Tool
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<Filter
Name="Source Files"
Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat">
<File
RelativePath="..\src\strgen\strgen.cpp">
</File>
<File
RelativePath="..\src\string.cpp">
</File>
</Filter>
<File
RelativePath="..\src\macros.h">
</File>
<File
RelativePath="..\src\stdafx.h">
</File>
<File
RelativePath="..\src\string.h">
</File>
</Files>
<Globals>
</Globals>
</VisualStudioProject>
+17 -1
View File
@@ -112,6 +112,10 @@
Name="Source Files"
Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
>
<File
RelativePath="..\src\core\alloc_func.cpp"
>
</File>
<File
RelativePath="..\src\strgen\strgen.cpp"
>
@@ -122,7 +126,19 @@
</File>
</Filter>
<File
RelativePath="..\src\macros.h"
RelativePath="..\src\core\alloc_func.hpp"
>
</File>
<File
RelativePath="..\src\table\control_codes.h"
>
</File>
<File
RelativePath="..\src\debug.h"
>
</File>
<File
RelativePath="..\src\core\endian_func.hpp"
>
</File>
<File
+17 -1
View File
@@ -112,6 +112,10 @@
Name="Source Files"
Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
>
<File
RelativePath="..\src\core\alloc_func.cpp"
>
</File>
<File
RelativePath="..\src\strgen\strgen.cpp"
>
@@ -122,7 +126,19 @@
</File>
</Filter>
<File
RelativePath="..\src\macros.h"
RelativePath="..\src\core\alloc_func.hpp"
>
</File>
<File
RelativePath="..\src\table\control_codes.h"
>
</File>
<File
RelativePath="..\src\debug.h"
>
</File>
<File
RelativePath="..\src\core\endian_func.hpp"
>
</File>
<File
+2 -2
View File
@@ -1,6 +1,6 @@
OpenTTD README
Last updated: 2008-01-16
Release version: 0.6.0-beta3
Last updated: 2008-02-18
Release version: 0.6.0-beta4
------------------------------------------------------------------------
+81 -27
View File
@@ -1,8 +1,10 @@
# Source Files
airport.cpp
core/alloc_func.cpp
articulated_vehicles.cpp
autoreplace_cmd.cpp
aystar.cpp
core/bitmath_func.cpp
bmp.cpp
callback_table.cpp
cargopacket.cpp
@@ -10,14 +12,13 @@ cargotype.cpp
command.cpp
console.cpp
console_cmds.cpp
core/bitmath_func.cpp
core/random_func.cpp
currency.cpp
date.cpp
debug.cpp
dedicated.cpp
depot.cpp
driver.cpp
widgets/dropdown.cpp
economy.cpp
elrail.cpp
engine.cpp
@@ -58,6 +59,7 @@ pathfind.cpp
players.cpp
queue.cpp
rail.cpp
core/random_func.cpp
rev.cpp
road.cpp
saveload.cpp
@@ -93,7 +95,6 @@ vehicle.cpp
viewport.cpp
waypoint.cpp
widget.cpp
widgets/dropdown.cpp
#if WIN32
win32.cpp
#end
@@ -103,41 +104,60 @@ window.cpp
aircraft.h
airport.h
airport_movement.h
core/alloc_func.hpp
articulated_vehicles.h
autoreplace_base.h
autoreplace_func.h
autoreplace_gui.h
autoreplace_type.h
autoslope.h
aystar.h
core/bitmath_func.hpp
bmp.h
bridge.h
callback_table.h
cargo_type.h
cargopacket.h
cargotype.h
command.h
cmd_helper.h
command_func.h
command_type.h
console.h
core/bitmath_func.hpp
core/math_func.hpp
core/random_func.hpp
currency.h
date.h
date_func.h
date_type.h
debug.h
video/dedicated_v.h
depot.h
direction.h
direction_func.h
direction_type.h
music/dmusic.h
driver.h
economy.h
widgets/dropdown_func.h
widgets/dropdown_type.h
economy_func.h
economy_type.h
core/endian_func.hpp
engine.h
core/enum_type.hpp
fileio.h
fios.h
fontcache.h
functions.h
genworld.h
gfx.h
core/geometry_type.hpp
gfx_func.h
gfx_type.h
gfxinit.h
group.h
group_gui.h
gui.h
heightmap.h
industry.h
industry_type.h
landscape.h
livery.h
map.h
core/math_func.hpp
md5.h
mixer.h
music.h
@@ -146,6 +166,7 @@ network/network_client.h
network/network_data.h
network/network_gamelist.h
network/network_gui.h
network/network_internal.h
network/network_server.h
network/network_udp.h
newgrf.h
@@ -155,6 +176,7 @@ newgrf_cargo.h
newgrf_commons.h
newgrf_config.h
newgrf_engine.h
newgrf_generic.h
newgrf_house.h
newgrf_industries.h
newgrf_industrytiles.h
@@ -172,49 +194,79 @@ sound/null_s.h
video/null_v.h
oldpool.h
openttd.h
order.h
core/overflowsafe_type.hpp
pathfind.h
player.h
player_base.h
player_face.h
player_func.h
player_gui.h
player_type.h
queue.h
rail.h
rail_gui.h
rail_type.h
core/random_func.hpp
road_cmd.h
road_func.h
road_gui.h
road_internal.h
road_type.h
roadveh.h
saveload.h
screenshot.h
sound/sdl_s.h
video/sdl_v.h
settings.h
signs.h
settings_func.h
settings_internal.h
settings_type.h
ship.h
signal_func.h
slope.h
sound.h
signs.h
slope_func.h
slope_type.h
sound_func.h
sound_type.h
sprite.h
spritecache.h
station.h
station_gui.h
stdafx.h
string.h
string_func.h
string_type.h
strings_func.h
strings_type.h
terraform_gui.h
textbuf_gui.h
texteff.hpp
tgp.h
thread.h
tile.h
tile_cmd.h
tile_type.h
timetable.h
town.h
town_type.h
track_func.h
track_type.h
train.h
transparency.h
transparency_gui.h
tunnelbridge.h
unmovable.h
variables.h
vehicle.h
vehicle_base.h
vehicle_func.h
vehicle_gui.h
viewport.h
vehicle_type.h
waypoint.h
music/win32_m.h
sound/win32_s.h
video/win32_v.h
window.h
widgets/dropdown.h
widgets/dropdown_type.h
widgets/dropdown_func.h
zoom.hpp
window_func.h
window_gui.h
window_type.h
zoom_func.h
zoom_type.h
# GUI Source Code
aircraft_gui.cpp
@@ -292,7 +344,7 @@ table/landscape_sprite.h
table/namegen.h
table/palettes.h
table/road_land.h
table/roadveh.h
table/roadveh_movement.h
table/sprites.h
table/station_land.h
../objs/langs/table/strings.h
@@ -354,6 +406,7 @@ newgrf_cargo.cpp
newgrf_commons.cpp
newgrf_config.cpp
newgrf_engine.cpp
newgrf_generic.cpp
newgrf_house.cpp
newgrf_industries.cpp
newgrf_industrytiles.cpp
@@ -374,6 +427,7 @@ rail_map.h
road_map.cpp
road_map.h
station_map.h
tile_map.h
town_map.h
tree_map.h
tunnel_map.cpp
+4
View File
@@ -10,6 +10,7 @@
#include "../player_base.h"
#include "ai.h"
#include "default/default.h"
#include "../signal_func.h"
AIStruct _ai;
AIPlayer _ai_player[MAX_PLAYERS];
@@ -159,6 +160,9 @@ static void AI_RunTick(PlayerID player)
AiDoGameLoop(p);
_is_old_ai_player = false;
}
/* AI could change some track, so update signals */
UpdateSignalsInBuffer();
}
+74 -41
View File
@@ -31,6 +31,7 @@
#include "../../player_base.h"
#include "../../settings_type.h"
#include "default.h"
#include "../../tunnelbridge.h"
#include "../../table/ai_rail.h"
@@ -111,8 +112,8 @@ static void AiStateVehLoop(Player *p)
/* not profitable? */
if (v->age >= 730 &&
v->profit_last_year < _price.station_value * 5 &&
v->profit_this_year < _price.station_value * 5) {
v->profit_last_year >> 8 < _price.station_value * 5 &&
v->profit_this_year >> 8 < _price.station_value * 5) {
_players_ai[p->index].state_counter = 0;
_players_ai[p->index].state = AIS_SELL_VEHICLE;
_players_ai[p->index].cur_veh = v;
@@ -139,10 +140,9 @@ static EngineID AiChooseTrainToBuild(RailType railtype, Money money, byte flag,
{
EngineID best_veh_index = INVALID_ENGINE;
byte best_veh_score = 0;
CommandCost ret;
EngineID i;
for (i = 0; i < NUM_TRAIN_ENGINES; i++) {
FOR_ALL_ENGINEIDS_OF_TYPE(i, VEH_TRAIN) {
const RailVehicleInfo *rvi = RailVehInfo(i);
const Engine* e = GetEngine(i);
@@ -154,7 +154,10 @@ static EngineID AiChooseTrainToBuild(RailType railtype, Money money, byte flag,
continue;
}
ret = DoCommand(tile, i, 0, 0, CMD_BUILD_RAIL_VEHICLE);
/* Don't choose an engine designated for passenger use for freight. */
if (rvi->ai_passenger_only != 0 && flag == 1) continue;
CommandCost ret = DoCommand(tile, i, 0, 0, CMD_BUILD_RAIL_VEHICLE);
if (CmdSucceeded(ret) && ret.GetCost() <= money && rvi->ai_rank >= best_veh_score) {
best_veh_score = rvi->ai_rank;
best_veh_index = i;
@@ -168,14 +171,11 @@ static EngineID AiChooseRoadVehToBuild(CargoID cargo, Money money, TileIndex til
{
EngineID best_veh_index = INVALID_ENGINE;
int32 best_veh_rating = 0;
EngineID i = ROAD_ENGINES_INDEX;
EngineID end = i + NUM_ROAD_ENGINES;
EngineID i;
for (; i != end; i++) {
FOR_ALL_ENGINEIDS_OF_TYPE(i, VEH_ROAD) {
const RoadVehicleInfo *rvi = RoadVehInfo(i);
const Engine* e = GetEngine(i);
int32 rating;
CommandCost ret;
if (!HasBit(e->player_avail, _current_player) || e->reliability < 0x8A3D) {
continue;
@@ -185,10 +185,10 @@ static EngineID AiChooseRoadVehToBuild(CargoID cargo, Money money, TileIndex til
if (rvi->cargo_type != cargo && !CanRefitTo(i, cargo)) continue;
/* Rate and compare the engine by speed & capacity */
rating = rvi->max_speed * rvi->capacity;
int rating = rvi->max_speed * rvi->capacity;
if (rating <= best_veh_rating) continue;
ret = DoCommand(tile, i, 0, 0, CMD_BUILD_ROAD_VEH);
CommandCost ret = DoCommand(tile, i, 0, 0, CMD_BUILD_ROAD_VEH);
if (CmdFailed(ret)) continue;
/* Add the cost of refitting */
@@ -202,23 +202,28 @@ static EngineID AiChooseRoadVehToBuild(CargoID cargo, Money money, TileIndex til
return best_veh_index;
}
static EngineID AiChooseAircraftToBuild(Money money, byte flag)
/**
* Choose aircraft to build.
* @param money current AI money
* @param forbidden forbidden flags - AIR_HELI = 0 (always allowed), AIR_CTOL = 1 (bit 0), AIR_FAST = 2 (bit 1)
* @return EngineID of aircraft to build
*/
static EngineID AiChooseAircraftToBuild(Money money, byte forbidden)
{
EngineID best_veh_index = INVALID_ENGINE;
Money best_veh_cost = 0;
EngineID i;
for (i = AIRCRAFT_ENGINES_INDEX; i != AIRCRAFT_ENGINES_INDEX + NUM_AIRCRAFT_ENGINES; i++) {
FOR_ALL_ENGINEIDS_OF_TYPE(i, VEH_AIRCRAFT) {
const Engine* e = GetEngine(i);
CommandCost ret;
if (!HasBit(e->player_avail, _current_player) || e->reliability < 0x8A3D) {
continue;
}
if ((AircraftVehInfo(i)->subtype & AIR_CTOL) != flag) continue;
if ((AircraftVehInfo(i)->subtype & forbidden) != 0) continue;
ret = DoCommand(0, i, 0, DC_QUERY_COST, CMD_BUILD_AIRCRAFT);
CommandCost ret = DoCommand(0, i, 0, DC_QUERY_COST, CMD_BUILD_AIRCRAFT);
if (CmdSucceeded(ret) && ret.GetCost() <= money && ret.GetCost() >= best_veh_cost) {
best_veh_cost = ret.GetCost();
best_veh_index = i;
@@ -253,8 +258,24 @@ static EngineID AiChooseRoadVehToReplaceWith(const Player* p, const Vehicle* v)
static EngineID AiChooseAircraftToReplaceWith(const Player* p, const Vehicle* v)
{
Money avail_money = p->player_money + v->value;
/* determine forbidden aircraft bits */
byte forbidden = 0;
const Order *o;
FOR_VEHICLE_ORDERS(v, o) {
if (!o->IsValid()) continue;
if (!IsValidStationID(o->dest)) continue;
const Station *st = GetStation(o->dest);
if (!(st->facilities & FACIL_AIRPORT)) continue;
AirportFTAClass::Flags flags = st->Airport()->flags;
if (!(flags & AirportFTAClass::AIRPLANES)) forbidden |= AIR_CTOL | AIR_FAST; // no planes for heliports / oil rigs
if (flags & AirportFTAClass::SHORT_STRIP) forbidden |= AIR_FAST; // no fast planes for small airports
}
return AiChooseAircraftToBuild(
avail_money, AircraftVehInfo(v->engine_type)->subtype & AIR_CTOL
avail_money, forbidden
);
}
@@ -297,9 +318,9 @@ static void AiHandleGotoDepot(Player *p, int cmd)
static void AiRestoreVehicleOrders(Vehicle *v, BackuppedOrders *bak)
{
uint i;
if (bak->order == NULL) return;
for (i = 0; bak->order[i].type != OT_NOTHING; i++) {
for (uint i = 0; bak->order[i].type != OT_NOTHING; i++) {
if (!DoCommandP(0, v->index + (i << 16), PackOrder(&bak->order[i]), NULL, CMD_INSERT_ORDER | CMD_NO_TEST_IF_IN_NETWORK))
break;
}
@@ -338,7 +359,7 @@ static void AiHandleReplaceTrain(Player *p)
static void AiHandleReplaceRoadVeh(Player *p)
{
const Vehicle* v = _players_ai[p->index].cur_veh;
BackuppedOrders orderbak[1];
BackuppedOrders orderbak;
EngineID veh;
if (!v->IsStoppedInDepot()) {
@@ -350,14 +371,14 @@ static void AiHandleReplaceRoadVeh(Player *p)
if (veh != INVALID_ENGINE) {
TileIndex tile;
BackupVehicleOrders(v, orderbak);
BackupVehicleOrders(v, &orderbak);
tile = v->tile;
if (CmdSucceeded(DoCommand(0, v->index, 0, DC_EXEC, CMD_SELL_ROAD_VEH)) &&
CmdSucceeded(DoCommand(tile, veh, 0, DC_EXEC, CMD_BUILD_ROAD_VEH))) {
VehicleID veh = _new_vehicle_id;
AiRestoreVehicleOrders(GetVehicle(veh), orderbak);
AiRestoreVehicleOrders(GetVehicle(veh), &orderbak);
DoCommand(0, veh, 0, DC_EXEC, CMD_START_STOP_ROADVEH);
DoCommand(0, veh, _ai_service_interval, DC_EXEC, CMD_CHANGE_SERVICE_INT);
}
@@ -367,7 +388,7 @@ static void AiHandleReplaceRoadVeh(Player *p)
static void AiHandleReplaceAircraft(Player *p)
{
const Vehicle* v = _players_ai[p->index].cur_veh;
BackuppedOrders orderbak[1];
BackuppedOrders orderbak;
EngineID veh;
if (!v->IsStoppedInDepot()) {
@@ -379,13 +400,13 @@ static void AiHandleReplaceAircraft(Player *p)
if (veh != INVALID_ENGINE) {
TileIndex tile;
BackupVehicleOrders(v, orderbak);
BackupVehicleOrders(v, &orderbak);
tile = v->tile;
if (CmdSucceeded(DoCommand(0, v->index, 0, DC_EXEC, CMD_SELL_AIRCRAFT)) &&
CmdSucceeded(DoCommand(tile, veh, 0, DC_EXEC, CMD_BUILD_AIRCRAFT))) {
VehicleID veh = _new_vehicle_id;
AiRestoreVehicleOrders(GetVehicle(veh), orderbak);
AiRestoreVehicleOrders(GetVehicle(veh), &orderbak);
DoCommand(0, veh, 0, DC_EXEC, CMD_START_STOP_AIRCRAFT);
DoCommand(0, veh, _ai_service_interval, DC_EXEC, CMD_CHANGE_SERVICE_INT);
@@ -1369,7 +1390,7 @@ static void AiWantPassengerAircraftRoute(Player *p)
/* Get aircraft that would be bought for this route
* (probably, as conditions may change before the route is fully built,
* like running out of money and having to select different aircraft, etc ...) */
EngineID veh = AiChooseAircraftToBuild(p->player_money, _players_ai[p->index].build_kind != 0 ? 0 : AIR_CTOL);
EngineID veh = AiChooseAircraftToBuild(p->player_money, _players_ai[p->index].build_kind != 0 ? AIR_CTOL : 0);
/* No aircraft buildable mean no aircraft route */
if (veh == INVALID_ENGINE) return;
@@ -1583,7 +1604,7 @@ static void AiStateWantNewRoute(Player *p)
static bool AiCheckTrackResources(TileIndex tile, const AiDefaultBlockData *p, byte cargo)
{
uint rad = (_patches.modified_catchment) ? CA_TRAIN : 4;
uint rad = (_patches.modified_catchment) ? CA_TRAIN : CA_UNMODIFIED;
for (; p->mode != 4; p++) {
AcceptedCargo values;
@@ -1903,7 +1924,7 @@ static bool AiDoFollowTrack(const Player* p)
arpfd.tile2 = _players_ai[p->index].cur_tile_a;
arpfd.flag = false;
arpfd.count = 0;
FollowTrack(_players_ai[p->index].cur_tile_a + TileOffsByDiagDir(_players_ai[p->index].cur_dir_a), 0x2000 | TRANSPORT_RAIL, 0, ReverseDiagDir(_players_ai[p->index].cur_dir_a),
FollowTrack(_players_ai[p->index].cur_tile_a + TileOffsByDiagDir(_players_ai[p->index].cur_dir_a), TRANSPORT_RAIL, 0, ReverseDiagDir(_players_ai[p->index].cur_dir_a),
(TPFEnumProc*)AiEnumFollowTrack, NULL, &arpfd);
return arpfd.count > 8;
}
@@ -2178,7 +2199,7 @@ static void AiBuildRailConstruct(Player *p)
if (arf.best_ptr[0] & 0x80) {
int i;
int32 bridge_len = GetBridgeLength(arf.bridge_end_tile, _players_ai[p->index].cur_tile_a);
int32 bridge_len = GetTunnelBridgeLength(arf.bridge_end_tile, _players_ai[p->index].cur_tile_a);
/* Figure out which (rail)bridge type to build
* start with best bridge, then go down to worse and worse bridges
@@ -2233,7 +2254,7 @@ static bool AiRemoveTileAndGoForward(Player *p)
return false;
_players_ai[p->index].cur_tile_a = TILE_MASK(_build_tunnel_endtile - TileOffsByDiagDir(_players_ai[p->index].cur_dir_a));
return true;
} else {
} else { // IsBridge(tile)
// Check if the bridge points in the right direction.
// This is not really needed the first place AiRemoveTileAndGoForward is called.
if (DiagDirToAxis(GetTunnelBridgeDirection(tile)) != (_players_ai[p->index].cur_dir_a & 1)) return false;
@@ -2618,8 +2639,7 @@ static CommandCost AiDoBuildDefaultRoadBlock(TileIndex tile, const AiDefaultBloc
_cleared_town = NULL;
if (p->mode == 2) {
if (IsTileType(c, MP_ROAD) &&
GetRoadTileType(c) == ROAD_TILE_NORMAL &&
if (IsNormalRoadTile(c) &&
(GetRoadBits(c, ROADTYPE_ROAD) & p->attr) != 0) {
roadflag |= 2;
@@ -2661,7 +2681,7 @@ clear_town_stuff:;
if (GetTileSlope(c, NULL) != SLOPE_FLAT) return CMD_ERROR;
if (!IsTileType(c, MP_ROAD) || GetRoadTileType(c) != ROAD_TILE_NORMAL) {
if (!IsNormalRoadTile(c)) {
ret = DoCommand(c, 0, 0, flag | DC_AUTO | DC_NO_WATER | DC_AI_BUILDING, CMD_LANDSCAPE_CLEAR);
if (CmdFailed(ret)) return CMD_ERROR;
}
@@ -2836,7 +2856,7 @@ static bool AiEnumFollowRoad(TileIndex tile, AiRoadEnum *a, int track, uint leng
if (dist <= a->best_dist) {
TileIndex tile2 = TILE_MASK(tile + TileOffsByDiagDir(_dir_by_track[track]));
if (IsTileType(tile2, MP_ROAD) && GetRoadTileType(tile2) == ROAD_TILE_NORMAL) {
if (IsNormalRoadTile(tile2)) {
a->best_dist = dist;
a->best_tile = tile;
a->best_track = track;
@@ -2871,7 +2891,7 @@ static bool AiCheckRoadFinished(Player *p)
uint i;
FOR_EACH_SET_BIT(i, bits) {
FollowTrack(tile, 0x3000 | TRANSPORT_ROAD, ROADTYPES_ROAD, (DiagDirection)_dir_by_track[i], (TPFEnumProc*)AiEnumFollowRoad, NULL, &are);
FollowTrack(tile, 0x1000 | TRANSPORT_ROAD, ROADTYPES_ROAD, (DiagDirection)_dir_by_track[i], (TPFEnumProc*)AiEnumFollowRoad, NULL, &are);
}
if (DistanceManhattan(tile, are.dest) <= are.best_dist) return false;
@@ -2918,7 +2938,7 @@ static inline void AiCheckBuildRoadBridgeHere(AiRoadFinder *arf, TileIndex tile,
tile_new = TILE_MASK(tile_new + TileOffsByDiagDir(dir2));
type = GetTileType(tile_new);
if (type == MP_CLEAR || type == MP_TREES || GetTileSlope(tile, NULL) != SLOPE_FLAT) {
if (type == MP_CLEAR || type == MP_TREES || GetTileSlope(tile_new, NULL) != SLOPE_FLAT) {
// Allow a bridge if either we have a tile that's water, rail or street,
// or if we found an up tile.
if (!flag) return;
@@ -3070,7 +3090,7 @@ do_some_terraform:
int i;
int32 bridge_len;
_players_ai[p->index].cur_tile_a = arf.bridge_end_tile;
bridge_len = GetBridgeLength(tile, _players_ai[p->index].cur_tile_a); // tile
bridge_len = GetTunnelBridgeLength(tile, _players_ai[p->index].cur_tile_a); // tile
/* Figure out what (road)bridge type to build
* start with best bridge, then go down to worse and worse bridges
@@ -3389,7 +3409,7 @@ static bool AiCheckAirportResources(TileIndex tile, const AiDefaultBlockData *p,
const AirportFTAClass* airport = GetAirport(p->attr);
uint w = airport->size_x;
uint h = airport->size_y;
uint rad = _patches.modified_catchment ? airport->catchment : 4;
uint rad = _patches.modified_catchment ? airport->catchment : (uint)CA_UNMODIFIED;
if (cargo & 0x80) {
GetProductionAroundTiles(values, tile2, w, h, rad);
@@ -3508,7 +3528,20 @@ static void AiStateBuildAircraftVehicles(Player *p)
tile = TILE_ADD(_players_ai[p->index].src.use_tile, ToTileIndexDiff(ptr->tileoffs));
veh = AiChooseAircraftToBuild(p->player_money, _players_ai[p->index].build_kind != 0 ? 0 : AIR_CTOL);
/* determine forbidden aircraft bits */
byte forbidden = 0;
for (i = 0; _players_ai[p->index].order_list_blocks[i] != 0xFF; i++) {
const AiBuildRec *aib = (&_players_ai[p->index].src) + _players_ai[p->index].order_list_blocks[i];
const Station *st = GetStationByTile(aib->use_tile);
if (st == NULL || !(st->facilities & FACIL_AIRPORT)) continue;
AirportFTAClass::Flags flags = st->Airport()->flags;
if (!(flags & AirportFTAClass::AIRPLANES)) forbidden |= AIR_CTOL | AIR_FAST; // no planes for heliports / oil rigs
if (flags & AirportFTAClass::SHORT_STRIP) forbidden |= AIR_FAST; // no fast planes for small airports
}
veh = AiChooseAircraftToBuild(p->player_money, forbidden);
if (veh == INVALID_ENGINE) return;
/* XXX - Have the AI pick the hangar terminal in an airport. Eg get airport-type
@@ -3706,7 +3739,7 @@ pos_3:
if (IsLevelCrossing(tile)) goto is_rail_crossing;
if (GetRoadTileType(tile) == ROAD_TILE_DEPOT) {
if (IsRoadDepot(tile)) {
DiagDirection dir;
TileIndex t;
+9 -8
View File
@@ -15,6 +15,8 @@
#include "../../player_base.h"
#include "../../player_func.h"
#include "../ai.h"
#include "../../tunnelbridge.h"
// Build HQ
// Params:
@@ -58,7 +60,7 @@ CommandCost AiNew_Build_Bridge(Player *p, TileIndex tile_a, TileIndex tile_b, by
int bridge_type, bridge_len, type, type2;
// Find a good bridgetype (the best money can buy)
bridge_len = GetBridgeLength(tile_a, tile_b);
bridge_len = GetTunnelBridgeLength(tile_a, tile_b);
type = type2 = 0;
for (bridge_type = MAX_BRIDGES-1; bridge_type >= 0; bridge_type--) {
if (CheckBridge_Stuff(bridge_type, bridge_len)) {
@@ -234,30 +236,29 @@ EngineID AiNew_PickVehicle(Player *p)
} else {
EngineID best_veh_index = INVALID_ENGINE;
int32 best_veh_rating = 0;
EngineID start = ROAD_ENGINES_INDEX;
EngineID end = ROAD_ENGINES_INDEX + NUM_ROAD_ENGINES;
EngineID i;
/* Loop through all road vehicles */
for (i = start; i != end; i++) {
FOR_ALL_ENGINEIDS_OF_TYPE(i, VEH_ROAD) {
const RoadVehicleInfo *rvi = RoadVehInfo(i);
const Engine* e = GetEngine(i);
int32 rating;
CommandCost ret;
/* Skip vehicles which can't take our cargo type */
if (rvi->cargo_type != _players_ainew[p->index].cargo && !CanRefitTo(i, _players_ainew[p->index].cargo)) continue;
/* Skip trams */
if (HasBit(EngInfo(i)->misc_flags, EF_ROAD_TRAM)) continue;
// Is it availiable?
// Also, check if the reliability of the vehicle is above the AI_VEHICLE_MIN_RELIABILTY
if (!HasBit(e->player_avail, _current_player) || e->reliability * 100 < AI_VEHICLE_MIN_RELIABILTY << 16) continue;
/* Rate and compare the engine by speed & capacity */
rating = rvi->max_speed * rvi->capacity;
int rating = rvi->max_speed * rvi->capacity;
if (rating <= best_veh_rating) continue;
// Can we build it?
ret = AI_DoCommand(0, i, 0, DC_QUERY_COST, CMD_BUILD_ROAD_VEH);
CommandCost ret = AI_DoCommand(0, i, 0, DC_QUERY_COST, CMD_BUILD_ROAD_VEH);
if (CmdFailed(ret)) continue;
best_veh_rating = rating;
+10 -27
View File
@@ -14,6 +14,7 @@
#include "../../variables.h"
#include "../../player_base.h"
#include "../../player_func.h"
#include "../../tunnelbridge.h"
#define TEST_STATION_NO_DIR 0xFF
@@ -320,7 +321,7 @@ static void AyStar_AiPathFinder_GetNeighbours(AyStar *aystar, OpenListNode *curr
new_tile += TileOffsByDiagDir(dir);
// Precheck, is the length allowed?
if (!CheckBridge_Stuff(0, GetBridgeLength(tile, new_tile))) break;
if (!CheckBridge_Stuff(0, GetTunnelBridgeLength(tile, new_tile))) break;
// Check if we hit the station-tile.. we don't like that!
if (TILES_BETWEEN(new_tile, PathFinderInfo->end_tile_tl, PathFinderInfo->end_tile_br)) break;
@@ -340,14 +341,11 @@ static void AyStar_AiPathFinder_GetNeighbours(AyStar *aystar, OpenListNode *curr
// Next, check for tunnels!
// Tunnels can only be built on slopes corresponding to the direction
// For now, we check both sides for this tile.. terraforming gives fuzzy result
if ((dir == DIAGDIR_NE && tileh == SLOPE_NE) ||
(dir == DIAGDIR_SE && tileh == SLOPE_SE) ||
(dir == DIAGDIR_SW && tileh == SLOPE_SW) ||
(dir == DIAGDIR_NW && tileh == SLOPE_NW)) {
if (tileh == InclinedSlope(dir)) {
// Now simply check if a tunnel can be build
ret = AI_DoCommand(tile, (PathFinderInfo->rail_or_road?0:0x200), 0, DC_AUTO, CMD_BUILD_TUNNEL);
tileh = GetTileSlope(_build_tunnel_endtile, NULL);
if (CmdSucceeded(ret) && (tileh == SLOPE_SW || tileh == SLOPE_SE || tileh == SLOPE_NW || tileh == SLOPE_NE)) {
if (CmdSucceeded(ret) && IsInclinedSlope(tileh)) {
aystar->neighbours[aystar->num_neighbours].tile = _build_tunnel_endtile;
aystar->neighbours[aystar->num_neighbours].user_data[0] = AI_PATHFINDER_FLAG_TUNNEL + (dir << 8);
aystar->neighbours[aystar->num_neighbours++].direction = 0;
@@ -359,10 +357,6 @@ static void AyStar_AiPathFinder_GetNeighbours(AyStar *aystar, OpenListNode *curr
extern Foundation GetRailFoundation(Slope tileh, TrackBits bits); // XXX function declaration in .c
extern Foundation GetRoadFoundation(Slope tileh, RoadBits bits); // XXX function declaration in .c
extern Foundation GetBridgeFoundation(Slope tileh, Axis); // XXX function declaration in .c
enum BridgeFoundation {
BRIDGE_NO_FOUNDATION = 1 << 0 | 1 << 3 | 1 << 6 | 1 << 9 | 1 << 12,
};
// The most important function: it calculates the g-value
static int32 AyStar_AiPathFinder_CalculateG(AyStar *aystar, AyStarNode *current, OpenListNode *parent)
@@ -405,8 +399,7 @@ static int32 AyStar_AiPathFinder_CalculateG(AyStar *aystar, AyStarNode *current,
if (parent->path.node.user_data[0] == 0 && current->user_data[0] == 0) {
if (PathFinderInfo->rail_or_road) {
Foundation f = GetRailFoundation(parent_tileh, (TrackBits)(1 << AiNew_GetRailDirection(parent->path.parent->node.tile, parent->path.node.tile, current->tile)));
// Maybe is BRIDGE_NO_FOUNDATION a bit strange here, but it contains just the right information..
if (IsInclinedFoundation(f) || (!IsFoundation(f) && HasBit(BRIDGE_NO_FOUNDATION, parent_tileh))) {
if (IsInclinedFoundation(f) || (!IsFoundation(f) && IsInclinedSlope(parent_tileh))) {
res += AI_PATHFINDER_TILE_GOES_UP_PENALTY;
} else {
res += AI_PATHFINDER_FOUNDATION_PENALTY;
@@ -414,7 +407,7 @@ static int32 AyStar_AiPathFinder_CalculateG(AyStar *aystar, AyStarNode *current,
} else {
if (!IsRoad(parent->path.node.tile) || !IsTileType(parent->path.node.tile, MP_TUNNELBRIDGE)) {
Foundation f = GetRoadFoundation(parent_tileh, (RoadBits)AiNew_GetRoadDirection(parent->path.parent->node.tile, parent->path.node.tile, current->tile));
if (IsInclinedFoundation(f) || (!IsFoundation(f) && HasBit(BRIDGE_NO_FOUNDATION, parent_tileh))) {
if (IsInclinedFoundation(f) || (!IsFoundation(f) && IsInclinedSlope(parent_tileh))) {
res += AI_PATHFINDER_TILE_GOES_UP_PENALTY;
} else {
res += AI_PATHFINDER_FOUNDATION_PENALTY;
@@ -429,29 +422,19 @@ static int32 AyStar_AiPathFinder_CalculateG(AyStar *aystar, AyStarNode *current,
int r;
// Tunnels are very expensive when build on long routes..
// Ironicly, we are using BridgeCode here ;)
r = AI_PATHFINDER_TUNNEL_PENALTY * GetBridgeLength(current->tile, parent->path.node.tile);
r = AI_PATHFINDER_TUNNEL_PENALTY * GetTunnelBridgeLength(current->tile, parent->path.node.tile);
res += r + (r >> 8);
}
// Are we part of a bridge?
if ((AI_PATHFINDER_FLAG_BRIDGE & current->user_data[0]) != 0) {
// That means for every length a penalty
res += AI_PATHFINDER_BRIDGE_PENALTY * GetBridgeLength(current->tile, parent->path.node.tile);
res += AI_PATHFINDER_BRIDGE_PENALTY * GetTunnelBridgeLength(current->tile, parent->path.node.tile);
// Check if we are going up or down, first for the starting point
// In user_data[0] is at the 8th bit the direction
if (!HasBit(BRIDGE_NO_FOUNDATION, parent_tileh)) {
if (IsLeveledFoundation(GetBridgeFoundation(parent_tileh, (Axis)((current->user_data[0] >> 8) & 1)))) {
res += AI_PATHFINDER_BRIDGE_GOES_UP_PENALTY;
}
}
if (!HasBridgeFlatRamp(parent_tileh, (Axis)((current->user_data[0] >> 8) & 1))) res += AI_PATHFINDER_BRIDGE_GOES_UP_PENALTY;
// Second for the end point
if (!HasBit(BRIDGE_NO_FOUNDATION, tileh)) {
if (IsLeveledFoundation(GetBridgeFoundation(tileh, (Axis)((current->user_data[0] >> 8) & 1)))) {
res += AI_PATHFINDER_BRIDGE_GOES_UP_PENALTY;
}
}
if (parent_tileh == SLOPE_FLAT) res += AI_PATHFINDER_BRIDGE_GOES_UP_PENALTY;
if (tileh == SLOPE_FLAT) res += AI_PATHFINDER_BRIDGE_GOES_UP_PENALTY;
if (!HasBridgeFlatRamp(tileh, (Axis)((current->user_data[0] >> 8) & 1))) res += AI_PATHFINDER_BRIDGE_GOES_UP_PENALTY;
}
// To prevent the AI from taking the fastest way in tiles, but not the fastest way
+3 -4
View File
@@ -801,8 +801,7 @@ static void AiNew_State_FindDepot(Player *p)
for (j = DIAGDIR_BEGIN; j < DIAGDIR_END; j++) {
TileIndex t = tile + TileOffsByDiagDir(j);
if (IsTileType(t, MP_ROAD) &&
GetRoadTileType(t) == ROAD_TILE_DEPOT &&
if (IsRoadDepotTile(t) &&
IsTileOwner(t, _current_player) &&
GetRoadDepotDirection(t) == ReverseDiagDir(j)) {
_players_ainew[p->index].depot_tile = t;
@@ -1102,7 +1101,7 @@ static void AiNew_State_BuildDepot(Player *p)
CommandCost res;
assert(_players_ainew[p->index].state == AI_STATE_BUILD_DEPOT);
if (IsTileType(_players_ainew[p->index].depot_tile, MP_ROAD) && GetRoadTileType(_players_ainew[p->index].depot_tile) == ROAD_TILE_DEPOT) {
if (IsRoadDepotTile(_players_ainew[p->index].depot_tile)) {
if (IsTileOwner(_players_ainew[p->index].depot_tile, _current_player)) {
// The depot is already built
_players_ainew[p->index].state = AI_STATE_BUILD_VEHICLE;
@@ -1252,7 +1251,7 @@ static void AiNew_CheckVehicle(Player *p, Vehicle *v)
if (v->age > 360) {
// If both years together are not more than AI_MINIMUM_ROUTE_PROFIT,
// it is not worth the line I guess...
if (v->profit_last_year + v->profit_this_year < AI_MINIMUM_ROUTE_PROFIT ||
if ((v->profit_last_year + v->profit_this_year) >> 8 < AI_MINIMUM_ROUTE_PROFIT ||
(v->reliability * 100 >> 16) < 40) {
// There is a possibility that the route is fucked up...
if (v->cargo.DaysInTransit() > AI_VEHICLE_LOST_DAYS) {
+1
View File
@@ -124,6 +124,7 @@ struct Aircraft : public Vehicle {
Money GetRunningCost() const { return AircraftVehInfo(this->engine_type)->running_cost * _price.aircraft_running; }
bool IsInDepot() const { return (this->vehstatus & VS_HIDDEN) != 0 && IsHangarTile(this->tile); }
void Tick();
void OnNewDay();
};
#endif /* AIRCRAFT_H */
+81 -44
View File
@@ -321,6 +321,8 @@ CommandCost CmdBuildAircraft(TileIndex tile, uint32 flags, uint32 p1, uint32 p2)
u->z_pos = GetSlopeZ(x, y);
v->z_pos = u->z_pos + 1;
v->running_ticks = 0;
// u->delta_x = u->delta_y = 0;
v->vehstatus = VS_HIDDEN | VS_STOPPED | VS_DEFPAL;
@@ -537,7 +539,7 @@ CommandCost CmdStartStopAircraft(TileIndex tile, uint32 flags, uint32 p1, uint32
v->vehstatus ^= VS_STOPPED;
v->cur_speed = 0;
InvalidateWindowWidget(WC_VEHICLE_VIEW, v->index, STATUS_BAR);
InvalidateWindowWidget(WC_VEHICLE_VIEW, v->index, VVW_WIDGET_START_STOP_VEH);
InvalidateWindow(WC_VEHICLE_DEPOT, v->tile);
InvalidateWindowClasses(WC_AIRCRAFT_LIST);
}
@@ -576,7 +578,7 @@ CommandCost CmdSendAircraftToHangar(TileIndex tile, uint32 flags, uint32 p1, uin
if (flags & DC_EXEC) {
ClrBit(v->current_order.flags, OF_PART_OF_ORDERS);
ToggleBit(v->current_order.flags, OF_HALT_IN_DEPOT);
InvalidateWindowWidget(WC_VEHICLE_VIEW, v->index, STATUS_BAR);
InvalidateWindowWidget(WC_VEHICLE_VIEW, v->index, VVW_WIDGET_START_STOP_VEH);
}
return CommandCost();
}
@@ -586,7 +588,7 @@ CommandCost CmdSendAircraftToHangar(TileIndex tile, uint32 flags, uint32 p1, uin
if (v->current_order.flags & OFB_UNLOAD) v->cur_order_index++;
v->current_order.type = OT_DUMMY;
v->current_order.flags = 0;
InvalidateWindowWidget(WC_VEHICLE_VIEW, v->index, STATUS_BAR);
InvalidateWindowWidget(WC_VEHICLE_VIEW, v->index, VVW_WIDGET_START_STOP_VEH);
}
} else {
bool next_airport_has_hangar = true;
@@ -610,7 +612,7 @@ CommandCost CmdSendAircraftToHangar(TileIndex tile, uint32 flags, uint32 p1, uin
if (!(p2 & DEPOT_SERVICE)) SetBit(v->current_order.flags, OF_HALT_IN_DEPOT);
v->current_order.refit_cargo = CT_INVALID;
v->current_order.dest = next_airport_index;
InvalidateWindowWidget(WC_VEHICLE_VIEW, v->index, STATUS_BAR);
InvalidateWindowWidget(WC_VEHICLE_VIEW, v->index, VVW_WIDGET_START_STOP_VEH);
if (v->u.air.state == FLYING && !next_airport_has_hangar) {
/* The aircraft is now heading for a different hangar than the next in the orders */
AircraftNextAirportPos_and_Order(v);
@@ -715,35 +717,36 @@ static void CheckIfAircraftNeedsService(Vehicle *v)
// v->u.air.targetairport = st->index;
v->current_order.type = OT_GOTO_DEPOT;
v->current_order.flags = OFB_NON_STOP;
InvalidateWindowWidget(WC_VEHICLE_VIEW, v->index, STATUS_BAR);
InvalidateWindowWidget(WC_VEHICLE_VIEW, v->index, VVW_WIDGET_START_STOP_VEH);
} else if (v->current_order.type == OT_GOTO_DEPOT) {
v->current_order.type = OT_DUMMY;
v->current_order.flags = 0;
InvalidateWindowWidget(WC_VEHICLE_VIEW, v->index, STATUS_BAR);
InvalidateWindowWidget(WC_VEHICLE_VIEW, v->index, VVW_WIDGET_START_STOP_VEH);
}
}
void OnNewDay_Aircraft(Vehicle *v)
void Aircraft::OnNewDay()
{
if (!IsNormalAircraft(v)) return;
if (!IsNormalAircraft(this)) return;
if ((++v->day_counter & 7) == 0) DecreaseVehicleValue(v);
if ((++this->day_counter & 7) == 0) DecreaseVehicleValue(this);
CheckOrders(v);
CheckOrders(this);
CheckVehicleBreakdown(v);
AgeVehicle(v);
CheckIfAircraftNeedsService(v);
CheckVehicleBreakdown(this);
AgeVehicle(this);
CheckIfAircraftNeedsService(this);
if (v->vehstatus & VS_STOPPED) return;
if (this->running_ticks == 0) return;
CommandCost cost = CommandCost(EXPENSES_AIRCRAFT_RUN, GetVehicleProperty(v, 0x0E, AircraftVehInfo(v->engine_type)->running_cost) * _price.aircraft_running / 364);
CommandCost cost(EXPENSES_AIRCRAFT_RUN, GetVehicleProperty(this, 0x0E, AircraftVehInfo(this->engine_type)->running_cost) * _price.aircraft_running * this->running_ticks / (364 * DAY_TICKS));
v->profit_this_year -= cost.GetCost() >> 8;
this->profit_this_year -= cost.GetCost();
this->running_ticks = 0;
SubtractMoneyFromPlayerFract(v->owner, cost);
SubtractMoneyFromPlayerFract(this->owner, cost);
InvalidateWindow(WC_VEHICLE_DETAILS, v->index);
InvalidateWindow(WC_VEHICLE_DETAILS, this->index);
InvalidateWindowClasses(WC_AIRCRAFT_LIST);
}
@@ -930,7 +933,13 @@ static int UpdateAircraftSpeed(Vehicle *v, uint speed_limit = SPEED_LIMIT_NONE,
v->subspeed = (t=v->subspeed) + (byte)spd;
if (!hard_limit && v->cur_speed > speed_limit) speed_limit = v->cur_speed - (v->cur_speed / 48);
/* Aircraft's current speed is used twice so that very fast planes are
* forced to slow down rapidly in the short distance needed. The magic
* value 16384 was determined to give similar results to the old speed/48
* method at slower speeds. This also results in less reduction at slow
* speeds to that aircraft do not get to taxi speed straight after
* touchdown. */
if (!hard_limit && v->cur_speed > speed_limit) speed_limit = v->cur_speed - max(1, (v->cur_speed * v->cur_speed) / 16384);
spd = min(v->cur_speed + (spd >> 8) + (v->subspeed < t), speed_limit);
@@ -941,7 +950,7 @@ static int UpdateAircraftSpeed(Vehicle *v, uint speed_limit = SPEED_LIMIT_NONE,
if (spd != v->cur_speed) {
v->cur_speed = spd;
if (_patches.vehicle_speed)
InvalidateWindowWidget(WC_VEHICLE_VIEW, v->index, STATUS_BAR);
InvalidateWindowWidget(WC_VEHICLE_VIEW, v->index, VVW_WIDGET_START_STOP_VEH);
}
if (!(v->direction & 1)) spd = spd * 3 / 4;
@@ -1194,7 +1203,7 @@ static bool AircraftController(Vehicle *v)
v->tile = gp.new_tile;
/* If vehicle is in the air, use tile coordinate 0. */
// if (amd->flag & (AMED_TAKEOFF | AMED_SLOWTURN | AMED_LAND)) v->tile = 0;
if (amd->flag & (AMED_TAKEOFF | AMED_SLOWTURN | AMED_LAND)) v->tile = 0;
/* Adjust Z for land or takeoff? */
uint z = v->z_pos;
@@ -1288,8 +1297,7 @@ static void HandleCrashedAircraft(Vehicle *v)
CLRBITS(st->airport_flags, RUNWAY_IN_OUT_block); // commuter airport
CLRBITS(st->airport_flags, RUNWAY_IN2_block); // intercontinental
BeginVehicleMove(v);
EndVehicleMove(v);
MarkSingleVehicleDirty(v);
DoDeleteAircraft(v);
}
@@ -1417,7 +1425,7 @@ void Aircraft::MarkDirty()
{
this->cur_image = this->GetImage(this->direction);
if (this->subtype == AIR_HELICOPTER) this->Next()->Next()->cur_image = GetRotorImage(this);
MarkAllViewportsDirty(this->left_coord, this->top_coord, this->right_coord + 1, this->bottom_coord + 1);
MarkSingleVehicleDirty(this);
}
static void CrashAirplane(Vehicle *v)
@@ -1549,6 +1557,45 @@ static void AircraftLeaveHangar(Vehicle *v)
InvalidateWindowClasses(WC_AIRCRAFT_LIST);
}
/** Checks if an aircraft should head towards a hangar because it needs replacement
* @param *v the vehicle to test
* @return true if the aircraft should head towards a hangar
*/
static inline bool CheckSendAircraftToHangarForReplacement(const Vehicle *v)
{
EngineID new_engine;
Player *p = GetPlayer(v->owner);
if (VehicleHasDepotOrders(v)) return false; // The aircraft will end up in the hangar eventually on it's own
new_engine = EngineReplacementForPlayer(p, v->engine_type, v->group_id);
if (new_engine == INVALID_ENGINE) {
/* There is no autoreplace assigned to this EngineID so we will set it to renew to the same type if needed */
new_engine = v->engine_type;
if(!p->engine_renew || (v->age - v->max_age) < p->engine_renew_months * 30) {
/* No need to replace the aircraft */
return false;
}
}
if (!HasBit(GetEngine(new_engine)->player_avail, v->owner)) {
/* Engine is not buildable anymore */
return false;
}
if (p->player_money < (p->engine_renew_money + (2 * DoCommand(0, new_engine, 0, DC_QUERY_COST, CMD_BUILD_AIRCRAFT).GetCost()))) {
/* We lack enough money to request the replacement right away.
* We want 2*(the price of the new vehicle) and not looking at the value of the vehicle we are going to sell.
* The reason is that we don't want to send a whole lot of vehicles to the hangars when we only have enough money to replace a single one.
* Remember this happens in the background so the user can't stop this. */
return false;
}
/* We found no reason NOT to send the aircraft to a hangar so we will send it there at once */
return true;
}
////////////////////////////////////////////////////////////////////////////////
/////////////////// AIRCRAFT MOVEMENT SCHEME ////////////////////////////////
@@ -1677,22 +1724,16 @@ static void AircraftEventHandler_EndTakeOff(Vehicle *v, const AirportFTAClass *a
static void AircraftEventHandler_HeliTakeOff(Vehicle *v, const AirportFTAClass *apc)
{
const Player* p = GetPlayer(v->owner);
v->u.air.state = FLYING;
v->UpdateDeltaXY(INVALID_DIR);
/* get the next position to go to, differs per airport */
AircraftNextAirportPos_and_Order(v);
/* check if the aircraft needs to be replaced or renewed and send it to a hangar if needed
* unless it is due for renewal but the engine is no longer available */
if (v->owner == _local_player && (
EngineHasReplacementForPlayer(p, v->engine_type, v->group_id) ||
((p->engine_renew && v->age - v->max_age > p->engine_renew_months * 30) &&
HasBit(GetEngine(v->engine_type)->player_avail, _local_player))
)) {
_current_player = _local_player;
DoCommandP(v->tile, v->index, DEPOT_SERVICE | DEPOT_LOCATE_HANGAR, NULL, CMD_SEND_AIRCRAFT_TO_HANGAR | CMD_SHOW_NO_ERROR);
/* Send the helicopter to a hangar if needed for replacement */
if (CheckSendAircraftToHangarForReplacement(v)) {
_current_player = v->owner;
DoCommand(v->tile, v->index, DEPOT_SERVICE | DEPOT_LOCATE_HANGAR, DC_EXEC, CMD_SEND_AIRCRAFT_TO_HANGAR);
_current_player = OWNER_NONE;
}
}
@@ -1742,16 +1783,10 @@ static void AircraftEventHandler_Landing(Vehicle *v, const AirportFTAClass *apc)
AircraftLandAirplane(v); // maybe crash airplane
/* check if the aircraft needs to be replaced or renewed and send it to a hangar if needed */
if (v->current_order.type != OT_GOTO_DEPOT && v->owner == _local_player) {
/* only the vehicle owner needs to calculate the rest (locally) */
const Player* p = GetPlayer(v->owner);
if (EngineHasReplacementForPlayer(p, v->engine_type, v->group_id) ||
(p->engine_renew && v->age - v->max_age > (p->engine_renew_months * 30))) {
/* send the aircraft to the hangar at next airport */
_current_player = _local_player;
DoCommandP(v->tile, v->index, DEPOT_SERVICE, NULL, CMD_SEND_AIRCRAFT_TO_HANGAR | CMD_SHOW_NO_ERROR);
_current_player = OWNER_NONE;
}
if (CheckSendAircraftToHangarForReplacement(v)) {
_current_player = v->owner;
DoCommand(v->tile, v->index, DEPOT_SERVICE, DC_EXEC, CMD_SEND_AIRCRAFT_TO_HANGAR);
_current_player = OWNER_NONE;
}
}
@@ -2120,6 +2155,8 @@ void Aircraft::Tick()
{
if (!IsNormalAircraft(this)) return;
if (!(this->vehstatus & VS_STOPPED)) this->running_ticks++;
if (this->subtype == AIR_HELICOPTER) HelicopterTickHandler(this);
AgeAircraftCargo(this);
+7 -2
View File
@@ -179,14 +179,19 @@ static void BuildAirportPickerWndProc(Window *w, WindowEvent *e)
airport = GetAirport(_selected_airport_type);
SetTileSelectSize(airport->size_x, airport->size_y);
int rad = _patches.modified_catchment ? airport->catchment : 4;
int rad = _patches.modified_catchment ? airport->catchment : (uint)CA_UNMODIFIED;
if (_station_show_coverage) SetTileSelectBigSize(-rad, -rad, 2 * rad, 2 * rad);
DrawWindowWidgets(w);
// strings such as 'Size' and 'Coverage Area'
// 'Coverage Area'
DrawStationCoverageAreaText(2, 206, SCT_ALL, rad);
int text_end = DrawStationCoverageAreaText(2, 206, SCT_ALL, rad) + 4;
if (text_end > w->widget[6].bottom) {
SetWindowDirty(w);
ResizeWindowForWidget(w, 6, 0, text_end - w->widget[6].bottom);
SetWindowDirty(w);
}
break;
}
+36
View File
@@ -34,6 +34,42 @@ uint CountArticulatedParts(EngineID engine_type, bool purchase_window)
return i - 1;
}
uint16 *GetCapacityOfArticulatedParts(EngineID engine, VehicleType type)
{
static uint16 capacity[NUM_CARGO];
memset(capacity, 0, sizeof(capacity));
if (type == VEH_TRAIN) {
const RailVehicleInfo *rvi = RailVehInfo(engine);
capacity[rvi->cargo_type] = rvi->capacity;
if (rvi->railveh_type == RAILVEH_MULTIHEAD) capacity[rvi->cargo_type] += rvi->capacity;
} else if (type == VEH_ROAD) {
const RoadVehicleInfo *rvi = RoadVehInfo(engine);
capacity[rvi->cargo_type] = rvi->capacity;
}
if (!HasBit(EngInfo(engine)->callbackmask, CBM_VEHICLE_ARTIC_ENGINE)) return capacity;
for (uint i = 1; i < MAX_UVALUE(EngineID); i++) {
uint16 callback = GetVehicleCallback(CBID_VEHICLE_ARTIC_ENGINE, i, 0, engine, NULL);
if (callback == CALLBACK_FAILED || callback == 0xFF) break;
EngineID artic_engine = GetFirstEngineOfType(type) + GB(callback, 0, 7);
if (type == VEH_TRAIN) {
const RailVehicleInfo *rvi = RailVehInfo(artic_engine);
capacity[rvi->cargo_type] += GetEngineProperty(artic_engine, 0x14, rvi->capacity);
} else if (type == VEH_ROAD) {
const RoadVehicleInfo *rvi = RoadVehInfo(artic_engine);
capacity[rvi->cargo_type] += GetEngineProperty(artic_engine, 0x0F, rvi->capacity);
}
}
return capacity;
}
void AddArticulatedParts(Vehicle **vl, VehicleType type)
{
const Vehicle *v = vl[0];
+1
View File
@@ -8,6 +8,7 @@
#include "vehicle_type.h"
uint CountArticulatedParts(EngineID engine_type, bool purchase_window);
uint16 *GetCapacityOfArticulatedParts(EngineID engine, VehicleType type);
void AddArticulatedParts(Vehicle **vl, VehicleType type);
#endif /* ARTICULATED_VEHICLES_H */
+7 -3
View File
@@ -21,6 +21,7 @@
#include "functions.h"
#include "variables.h"
#include "autoreplace_func.h"
#include "articulated_vehicles.h"
#include "table/strings.h"
@@ -93,7 +94,7 @@ static CargoID GetNewCargoTypeForReplace(Vehicle *v, EngineID engine_type)
if (new_cargo_type == CT_INVALID) return CT_NO_REFIT; // Don't try to refit an engine with no cargo capacity
if (v->cargo_type == new_cargo_type || CanRefitTo(engine_type, v->cargo_type)) {
if (v->cargo_cap != 0 && (v->cargo_type == new_cargo_type || CanRefitTo(engine_type, v->cargo_type))) {
if (VerifyAutoreplaceRefitForOrders(v, engine_type)) {
return v->cargo_type == new_cargo_type ? (CargoID)CT_NO_REFIT : v->cargo_type;
} else {
@@ -175,7 +176,10 @@ static CommandCost ReplaceVehicle(Vehicle **w, byte flags, Money total_cost)
if (replacement_cargo_type != CT_NO_REFIT) {
/* add refit cost */
CommandCost refit_cost = GetRefitCost(new_engine_type);
if (old_v->type == VEH_TRAIN && IsMultiheaded(old_v)) refit_cost.AddCost(refit_cost); // pay for both ends
if (old_v->type == VEH_TRAIN && RailVehInfo(new_engine_type)->railveh_type == RAILVEH_MULTIHEAD) {
/* Since it's a dualheaded engine we have to pay once more because the rear end is being refitted too. */
refit_cost.AddCost(refit_cost);
}
cost.AddCost(refit_cost);
}
@@ -211,7 +215,7 @@ static CommandCost ReplaceVehicle(Vehicle **w, byte flags, Money total_cost)
DoCommand(0, (front->index << 16) | new_v->index, 1, DC_EXEC, CMD_MOVE_RAIL_VEHICLE);
} else {
// copy/clone the orders
DoCommand(0, (old_v->index << 16) | new_v->index, IsOrderListShared(old_v) ? CO_SHARE : CO_COPY, DC_EXEC, CMD_CLONE_ORDER);
DoCommand(0, (old_v->index << 16) | new_v->index, old_v->IsOrderListShared() ? CO_SHARE : CO_COPY, DC_EXEC, CMD_CLONE_ORDER);
new_v->cur_order_index = old_v->cur_order_index;
ChangeVehicleViewWindow(old_v, new_v);
new_v->profit_this_year = old_v->profit_this_year;
+55 -65
View File
@@ -36,6 +36,24 @@ static const StringID _rail_types_list[] = {
INVALID_STRING_ID
};
enum ReplaceVehicleWindowWidgets {
RVW_WIDGET_LEFT_DETAILS = 3,
RVW_WIDGET_START_REPLACE,
RVW_WIDGET_INFO_TAB,
RVW_WIDGET_STOP_REPLACE,
RVW_WIDGET_LEFT_MATRIX,
RVW_WIDGET_LEFT_SCROLLBAR,
RVW_WIDGET_RIGHT_MATRIX,
RVW_WIDGET_RIGHT_SCROLLBAR,
RVW_WIDGET_RIGHT_DETAILS,
RVW_WIDGET_TRAIN_ENGINEWAGON_TOGGLE,
RVW_WIDGET_TRAIN_FLUFF_LEFT,
RVW_WIDGET_TRAIN_RAILTYPE_DROPDOWN,
RVW_WIDGET_TRAIN_FLUFF_RIGHT,
RVW_WIDGET_TRAIN_WAGONREMOVE_TOGGLE,
};
static int CDECL TrainEngineNumberSorter(const void *a, const void *b)
{
const EngineID va = *(const EngineID*)a;
@@ -62,7 +80,7 @@ void InitializeVehiclesGuiList()
void InvalidateAutoreplaceWindow(EngineID e, GroupID id_g)
{
Player *p = GetPlayer(_local_player);
byte type = GetEngine(e)->type;
VehicleType type = GetEngine(e)->type;
uint num_engines = GetGroupNumEngines(_local_player, id_g, e);
if (num_engines == 0 || p->num_engines[e] == 0) {
@@ -157,7 +175,7 @@ static void GenerateReplaceVehList(Window *w, bool draw_left)
{
EngineID e;
EngineID selected_engine = INVALID_ENGINE;
byte type = w->window_number;
VehicleType type = (VehicleType)w->window_number;
byte i = draw_left ? 0 : 1;
EngineList *list = &WP(w, replaceveh_d).list[i];
@@ -264,7 +282,7 @@ static void ReplaceVehicleWndProc(Window *w, WindowEvent *e)
* Either list is empty
* or The selected replacement engine has a replacement (to prevent loops)
* or The right list (new replacement) has the existing replacement vehicle selected */
w->SetWidgetDisabledState(4,
w->SetWidgetDisabledState(RVW_WIDGET_START_REPLACE,
selected_id[0] == INVALID_ENGINE ||
selected_id[1] == INVALID_ENGINE ||
EngineReplacementForPlayer(p, selected_id[1], selected_group) != INVALID_ENGINE ||
@@ -273,7 +291,7 @@ static void ReplaceVehicleWndProc(Window *w, WindowEvent *e)
/* Disable the "Stop Replacing" button if:
* The left list (existing vehicle) is empty
* or The selected vehicle has no replacement set up */
w->SetWidgetDisabledState(6,
w->SetWidgetDisabledState(RVW_WIDGET_STOP_REPLACE,
selected_id[0] == INVALID_ENGINE ||
!EngineHasReplacementForPlayer(p, selected_id[0], selected_group));
@@ -288,18 +306,18 @@ static void ReplaceVehicleWndProc(Window *w, WindowEvent *e)
SetDParam(2, WP(w, replaceveh_d).wagon_btnstate ? STR_ENGINES : STR_WAGONS);
/* sets the colour of that art thing */
w->widget[13].color = _player_colors[_local_player];
w->widget[16].color = _player_colors[_local_player];
w->widget[RVW_WIDGET_TRAIN_FLUFF_LEFT].color = _player_colors[_local_player];
w->widget[RVW_WIDGET_TRAIN_FLUFF_RIGHT].color = _player_colors[_local_player];
}
if (w->window_number == VEH_TRAIN) {
/* Show the selected railtype in the pulldown menu */
RailType railtype = _railtype_selected_in_replace_gui;
w->widget[RVW_WIDGET_TRAIN_RAILTYPE_DROPDOWN].data = _rail_types_list[railtype];
}
DrawWindowWidgets(w);
if (w->window_number == VEH_TRAIN) {
/* Draw the selected railtype in the pulldown menu */
RailType railtype = _railtype_selected_in_replace_gui;
DrawString(157, w->widget[14].top + 1, _rail_types_list[railtype], TC_BLACK);
}
/* sets up the string for the vehicle that is being replaced to */
if (selected_id[0] != INVALID_ENGINE) {
if (!EngineHasReplacementForPlayer(p, selected_id[0], selected_group)) {
@@ -312,22 +330,28 @@ static void ReplaceVehicleWndProc(Window *w, WindowEvent *e)
SetDParam(0, STR_NOT_REPLACING_VEHICLE_SELECTED);
}
DrawString(145, w->widget[5].top + 1, STR_02BD, TC_BLACK);
DrawString(145, w->widget[RVW_WIDGET_INFO_TAB].top + 1, STR_02BD, TC_BLACK);
/* Draw the lists */
for(byte i = 0; i < 2; i++) {
uint16 x = i == 0 ? 2 : 230; // at what X offset
uint widget = (i == 0) ? RVW_WIDGET_LEFT_MATRIX : RVW_WIDGET_RIGHT_MATRIX;
EngineList list = WP(w, replaceveh_d).list[i]; // which list to draw
EngineID start = i == 0 ? w->vscroll.pos : w->vscroll2.pos; // what is the offset for the start (scrolling)
EngineID end = min((i == 0 ? w->vscroll.cap : w->vscroll2.cap) + start, EngList_Count(&list));
/* Do the actual drawing */
DrawEngineList((VehicleType)w->window_number, x, 15, list, start, end, WP(w, replaceveh_d).sel_engine[i], i == 0, selected_group);
DrawEngineList((VehicleType)w->window_number, w->widget[widget].left + 2, w->widget[widget].top + 1, list, start, end, WP(w, replaceveh_d).sel_engine[i], i == 0, selected_group);
/* Also draw the details if an engine is selected */
if (WP(w, replaceveh_d).sel_engine[i] != INVALID_ENGINE) {
const Widget *wi = &w->widget[i == 0 ? 3 : 11];
DrawVehiclePurchaseInfo(wi->left + 2, wi->top + 1, wi->right - wi->left - 2, WP(w, replaceveh_d).sel_engine[i]);
const Widget *wi = &w->widget[i == 0 ? RVW_WIDGET_LEFT_DETAILS : RVW_WIDGET_RIGHT_DETAILS];
int text_end = DrawVehiclePurchaseInfo(wi->left + 2, wi->top + 1, wi->right - wi->left - 2, WP(w, replaceveh_d).sel_engine[i]);
if (text_end > wi->bottom) {
SetWindowDirty(w);
ResizeWindowForWidget(w, i == 0 ? RVW_WIDGET_LEFT_DETAILS : RVW_WIDGET_RIGHT_DETAILS, 0, text_end - wi->bottom);
SetWindowDirty(w);
}
}
}
@@ -335,39 +359,38 @@ static void ReplaceVehicleWndProc(Window *w, WindowEvent *e)
case WE_CLICK: {
switch (e->we.click.widget) {
case 12:
case RVW_WIDGET_TRAIN_ENGINEWAGON_TOGGLE:
WP(w, replaceveh_d).wagon_btnstate = !(WP(w, replaceveh_d).wagon_btnstate);
WP(w, replaceveh_d).update_left = true;
WP(w, replaceveh_d).init_lists = true;
SetWindowDirty(w);
break;
case 14:
case 15: /* Railtype selection dropdown menu */
ShowDropDownMenu(w, _rail_types_list, _railtype_selected_in_replace_gui, 15, 0, ~GetPlayer(_local_player)->avail_railtypes);
case RVW_WIDGET_TRAIN_RAILTYPE_DROPDOWN: /* Railtype selection dropdown menu */
ShowDropDownMenu(w, _rail_types_list, _railtype_selected_in_replace_gui, RVW_WIDGET_TRAIN_RAILTYPE_DROPDOWN, 0, ~GetPlayer(_local_player)->avail_railtypes);
break;
case 17: /* toggle renew_keep_length */
case RVW_WIDGET_TRAIN_WAGONREMOVE_TOGGLE: /* toggle renew_keep_length */
DoCommandP(0, 5, GetPlayer(_local_player)->renew_keep_length ? 0 : 1, NULL, CMD_SET_AUTOREPLACE);
break;
case 4: { /* Start replacing */
case RVW_WIDGET_START_REPLACE: { /* Start replacing */
EngineID veh_from = WP(w, replaceveh_d).sel_engine[0];
EngineID veh_to = WP(w, replaceveh_d).sel_engine[1];
DoCommandP(0, 3 + (WP(w, replaceveh_d).sel_group << 16) , veh_from + (veh_to << 16), NULL, CMD_SET_AUTOREPLACE);
} break;
case 6: { /* Stop replacing */
case RVW_WIDGET_STOP_REPLACE: { /* Stop replacing */
EngineID veh_from = WP(w, replaceveh_d).sel_engine[0];
DoCommandP(0, 3 + (WP(w, replaceveh_d).sel_group << 16), veh_from + (INVALID_ENGINE << 16), NULL, CMD_SET_AUTOREPLACE);
} break;
case 7:
case 9: {
case RVW_WIDGET_LEFT_MATRIX:
case RVW_WIDGET_RIGHT_MATRIX: {
uint i = (e->we.click.pt.y - 14) / w->resize.step_height;
uint16 click_scroll_pos = e->we.click.widget == 7 ? w->vscroll.pos : w->vscroll2.pos;
uint16 click_scroll_cap = e->we.click.widget == 7 ? w->vscroll.cap : w->vscroll2.cap;
byte click_side = e->we.click.widget == 7 ? 0 : 1;
uint16 click_scroll_pos = e->we.click.widget == RVW_WIDGET_LEFT_MATRIX ? w->vscroll.pos : w->vscroll2.pos;
uint16 click_scroll_cap = e->we.click.widget == RVW_WIDGET_LEFT_MATRIX ? w->vscroll.cap : w->vscroll2.cap;
byte click_side = e->we.click.widget == RVW_WIDGET_LEFT_MATRIX ? 0 : 1;
uint16 engine_count = EngList_Count(&WP(w, replaceveh_d).list[click_side]);
if (i < click_scroll_cap) {
@@ -405,8 +428,8 @@ static void ReplaceVehicleWndProc(Window *w, WindowEvent *e)
w->vscroll.cap += e->we.sizing.diff.y / (int)w->resize.step_height;
w->vscroll2.cap += e->we.sizing.diff.y / (int)w->resize.step_height;
w->widget[7].data = (w->vscroll.cap << 8) + 1;
w->widget[9].data = (w->vscroll2.cap << 8) + 1;
w->widget[RVW_WIDGET_LEFT_MATRIX].data = (w->vscroll.cap << 8) + 1;
w->widget[RVW_WIDGET_RIGHT_MATRIX].data = (w->vscroll2.cap << 8) + 1;
break;
case WE_INVALIDATE_DATA:
@@ -438,8 +461,7 @@ static const Widget _replace_rail_vehicle_widgets[] = {
// train specific stuff
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 0, 138, 228, 239, STR_REPLACE_ENGINE_WAGON_SELECT, STR_REPLACE_ENGINE_WAGON_SELECT_HELP}, // widget 12
{ WWT_PANEL, RESIZE_TB, 14, 139, 153, 240, 251, 0x0, STR_NULL},
{ WWT_PANEL, RESIZE_TB, 14, 154, 277, 240, 251, 0x0, STR_REPLACE_HELP_RAILTYPE},
{ WWT_TEXTBTN, RESIZE_TB, 14, 278, 289, 240, 251, STR_0225, STR_REPLACE_HELP_RAILTYPE},
{ WWT_DROPDOWN, RESIZE_TB, 14, 154, 289, 240, 251, 0x0, STR_REPLACE_HELP_RAILTYPE},
{ WWT_PANEL, RESIZE_TB, 14, 290, 305, 240, 251, 0x0, STR_NULL},
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 317, 455, 228, 239, STR_REPLACE_REMOVE_WAGON, STR_REPLACE_REMOVE_WAGON_HELP},
// end of train specific stuff
@@ -506,38 +528,6 @@ static const WindowDesc _replace_ship_aircraft_vehicle_desc = {
};
void ShowReplaceVehicleWindow(VehicleType vehicletype)
{
Window *w;
DeleteWindowById(WC_REPLACE_VEHICLE, vehicletype);
switch (vehicletype) {
case VEH_TRAIN:
w = AllocateWindowDescFront(&_replace_rail_vehicle_desc, vehicletype);
w->vscroll.cap = 8;
w->resize.step_height = 14;
WP(w, replaceveh_d).wagon_btnstate = true;
break;
case VEH_ROAD:
w = AllocateWindowDescFront(&_replace_road_vehicle_desc, vehicletype);
w->vscroll.cap = 8;
w->resize.step_height = 14;
break;
case VEH_SHIP:
case VEH_AIRCRAFT:
w = AllocateWindowDescFront(&_replace_ship_aircraft_vehicle_desc, vehicletype);
w->vscroll.cap = 4;
w->resize.step_height = 24;
break;
default: return;
}
w->caption_color = _local_player;
w->vscroll2.cap = w->vscroll.cap; // these two are always the same
WP(w, replaceveh_d).sel_group = DEFAULT_GROUP;
}
void ShowReplaceGroupVehicleWindow(GroupID id_g, VehicleType vehicletype)
{
Window *w;
-1
View File
@@ -13,7 +13,6 @@
*/
void AddRemoveEngineFromAutoreplaceAndBuildWindows(VehicleType type);
void InvalidateAutoreplaceWindow(EngineID e, GroupID id_g);
void ShowReplaceVehicleWindow(VehicleType vehicletype);
void ShowReplaceGroupVehicleWindow(GroupID group, VehicleType veh);
#endif /* AUTOREPLACE_GUI_H */
+20 -16
View File
@@ -13,27 +13,30 @@ enum {
MAX_BRIDGES = 13
};
typedef uint BridgeType;
/** Struct containing information about a single bridge type
*/
struct Bridge {
Year avail_year; ///< the year in which the bridge becomes available
byte min_length; ///< the minimum length of the bridge (not counting start and end tile)
byte max_length; ///< the maximum length of the bridge (not counting start and end tile)
uint16 price; ///< the relative price of the bridge
uint16 speed; ///< maximum travel speed
SpriteID sprite; ///< the sprite which is used in the GUI
SpriteID pal; ///< the palette which is used in the GUI
StringID material; ///< the string that contains the bridge description
PalSpriteID **sprite_table; ///< table of sprites for drawing the bridge
byte flags; ///< bit 0 set: disable drawing of far pillars.
struct BridgeSpec {
Year avail_year; ///< the year where it becomes available
byte min_length; ///< the minimum length (not counting start and end tile)
byte max_length; ///< the maximum length (not counting start and end tile)
uint16 price; ///< the price multiplier
uint16 speed; ///< maximum travel speed
SpriteID sprite; ///< the sprite which is used in the GUI
SpriteID pal; ///< the palette which is used in the GUI
StringID material; ///< the string that contains the bridge description
StringID transport_name[2]; ///< description of the bridge, when built for road or rail
PalSpriteID **sprite_table; ///< table of sprites for drawing the bridge
byte flags; ///< bit 0 set: disable drawing of far pillars.
};
extern const Bridge orig_bridge[MAX_BRIDGES];
extern Bridge _bridge[MAX_BRIDGES];
extern BridgeSpec _bridge[MAX_BRIDGES];
Foundation GetBridgeFoundation(Slope tileh, Axis axis);
bool HasBridgeFlatRamp(Slope tileh, Axis axis);
static inline const Bridge *GetBridge(uint i)
static inline const BridgeSpec *GetBridgeSpec(BridgeType i)
{
assert(i < lengthof(_bridge));
return &_bridge[i];
@@ -41,8 +44,9 @@ static inline const Bridge *GetBridge(uint i)
void DrawBridgeMiddle(const TileInfo *ti);
bool CheckBridge_Stuff(byte bridge_type, uint bridge_len);
uint32 GetBridgeLength(TileIndex begin, TileIndex end);
bool CheckBridge_Stuff(BridgeType bridge_type, uint bridge_len);
int CalcBridgeLenCostFactor(int x);
void ResetBridges();
#endif /* BRIDGE_H */
+16 -33
View File
@@ -16,6 +16,7 @@
#include "map_func.h"
#include "viewport_func.h"
#include "gfx_func.h"
#include "tunnelbridge.h"
#include "table/strings.h"
@@ -24,8 +25,8 @@ static struct BridgeData {
uint count;
TileIndex start_tile;
TileIndex end_tile;
uint8 type;
uint8 indexes[MAX_BRIDGES];
uint32 type; ///< Data type for the bridge. Bit 16,15 = transport type, 14..8 = road/rail pieces, 7..0 = type of bridge
BridgeType indexes[MAX_BRIDGES];
Money costs[MAX_BRIDGES];
BridgeData()
@@ -43,7 +44,7 @@ static void BuildBridge(Window *w, int i)
{
DeleteWindow(w);
DoCommandP(_bridgedata.end_tile, _bridgedata.start_tile,
_bridgedata.indexes[i] | (_bridgedata.type << 8), CcBuildBridge,
_bridgedata.type | _bridgedata.indexes[i], CcBuildBridge,
CMD_BUILD_BRIDGE | CMD_MSG(STR_5015_CAN_T_BUILD_BRIDGE_HERE));
}
@@ -78,7 +79,7 @@ static void BuildBridgeWndProc(Window *w, WindowEvent *e)
uint y = 15;
for (uint i = 0; (i < w->vscroll.cap) && ((i + w->vscroll.pos) < _bridgedata.count); i++) {
const Bridge *b = &_bridge[_bridgedata.indexes[i + w->vscroll.pos]];
const BridgeSpec *b = GetBridgeSpec(_bridgedata.indexes[i + w->vscroll.pos]);
SetDParam(2, _bridgedata.costs[i + w->vscroll.pos]);
SetDParam(1, b->speed * 10 / 16);
@@ -142,38 +143,18 @@ static const WindowDesc _build_bridge_desc = {
BuildBridgeWndProc
};
/* Widget definition for the road bridge selection window */
static const Widget _build_road_bridge_widgets[] = {
{ WWT_CLOSEBOX, RESIZE_NONE, 7, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW}, // BBSW_CLOSEBOX
{ WWT_CAPTION, RESIZE_NONE, 7, 11, 199, 0, 13, STR_1803_SELECT_ROAD_BRIDGE, STR_018C_WINDOW_TITLE_DRAG_THIS}, // BBSW_CAPTION
{ WWT_MATRIX, RESIZE_BOTTOM, 7, 0, 187, 14, 101, 0x401, STR_101F_BRIDGE_SELECTION_CLICK}, // BBSW_BRIDGE_LIST
{ WWT_SCROLLBAR, RESIZE_BOTTOM, 7, 188, 199, 14, 89, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST}, // BBSW_SCROLLBAR
{ WWT_RESIZEBOX, RESIZE_TB, 7, 188, 199, 90, 101, 0x0, STR_RESIZE_BUTTON}, // BBSW_RESIZEBOX
{ WIDGETS_END},
};
/* Window definition for the road bridge selection window */
static const WindowDesc _build_road_bridge_desc = {
WDP_AUTO, WDP_AUTO, 200, 102, 200, 102,
WC_BUILD_BRIDGE, WC_BUILD_TOOLBAR,
WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_RESIZABLE,
_build_road_bridge_widgets,
BuildBridgeWndProc
};
void ShowBuildBridgeWindow(TileIndex start, TileIndex end, byte bridge_type)
void ShowBuildBridgeWindow(TileIndex start, TileIndex end, TransportType transport_type, byte bridge_type)
{
DeleteWindowById(WC_BUILD_BRIDGE, 0);
_bridgedata.type = bridge_type;
_bridgedata.type = (transport_type << 15) | (bridge_type << 8); //prepare the parameter for use only once
_bridgedata.start_tile = start;
_bridgedata.end_tile = end;
/* only query bridge building possibility once, result is the same for all bridges!
* returns CMD_ERROR on failure, and price on success */
StringID errmsg = INVALID_STRING_ID;
CommandCost ret = DoCommand(end, start, (bridge_type << 8), DC_AUTO | DC_QUERY_COST, CMD_BUILD_BRIDGE);
CommandCost ret = DoCommand(end, start, _bridgedata.type, DC_AUTO | DC_QUERY_COST, CMD_BUILD_BRIDGE);
uint8 j = 0;
if (CmdFailed(ret)) {
@@ -182,19 +163,19 @@ void ShowBuildBridgeWindow(TileIndex start, TileIndex end, byte bridge_type)
/* check which bridges can be built
* get absolute bridge length
* length of the middle parts of the bridge */
const uint bridge_len = GetBridgeLength(start, end);
const uint bridge_len = GetTunnelBridgeLength(start, end);
/* total length of bridge */
const uint tot_bridgedata_len = CalcBridgeLenCostFactor(bridge_len + 2);
/* loop for all bridgetypes */
for (bridge_type = 0; bridge_type != MAX_BRIDGES; bridge_type++) {
if (CheckBridge_Stuff(bridge_type, bridge_len)) {
for (BridgeType brd_type = 0; brd_type != MAX_BRIDGES; brd_type++) {
if (CheckBridge_Stuff(brd_type, bridge_len)) {
/* bridge is accepted, add to list */
const Bridge *b = &_bridge[bridge_type];
const BridgeSpec *b = GetBridgeSpec(brd_type);
/* Add to terraforming & bulldozing costs the cost of the
* bridge itself (not computed with DC_QUERY_COST) */
_bridgedata.costs[j] = ret.GetCost() + (((int64)tot_bridgedata_len * _price.build_bridge * b->price) >> 8);
_bridgedata.indexes[j] = bridge_type;
_bridgedata.indexes[j] = brd_type;
j++;
}
}
@@ -203,7 +184,9 @@ void ShowBuildBridgeWindow(TileIndex start, TileIndex end, byte bridge_type)
}
if (j != 0) {
AllocateWindowDesc((_bridgedata.type & 0x80) ? &_build_road_bridge_desc : &_build_bridge_desc);
Window *w = AllocateWindowDesc(&_build_bridge_desc);
/* Change the data, or the caption of the gui. Set it to road or rail, accordingly */
w->widget[BBSW_CAPTION].data = (transport_type == TRANSPORT_ROAD) ? STR_1803_SELECT_ROAD_BRIDGE : STR_100D_SELECT_RAIL_BRIDGE;
} else {
ShowErrorMessage(errmsg, STR_5015_CAN_T_BUILD_BRIDGE_HERE, TileX(end) * TILE_SIZE, TileY(end) * TILE_SIZE);
}
+5 -4
View File
@@ -8,6 +8,7 @@
#include "direction_func.h"
#include "rail_type.h"
#include "road_map.h"
#include "bridge.h"
/**
@@ -67,7 +68,7 @@ static inline bool IsBridgeAbove(TileIndex t)
* @pre IsBridgeTile(t)
* @return The bridge type
*/
static inline uint GetBridgeType(TileIndex t)
static inline BridgeType GetBridgeType(TileIndex t)
{
assert(IsBridgeTile(t));
return GB(_m[t].m2, 4, 4);
@@ -163,7 +164,7 @@ static inline void SetBridgeMiddle(TileIndex t, Axis a)
* @param rt the road or rail type
* @note this function should not be called directly.
*/
static inline void MakeBridgeRamp(TileIndex t, Owner o, uint bridgetype, DiagDirection d, TransportType tt, uint rt)
static inline void MakeBridgeRamp(TileIndex t, Owner o, BridgeType bridgetype, DiagDirection d, TransportType tt, uint rt)
{
SetTileType(t, MP_TUNNELBRIDGE);
SetTileOwner(t, o);
@@ -181,7 +182,7 @@ static inline void MakeBridgeRamp(TileIndex t, Owner o, uint bridgetype, DiagDir
* @param d the direction this ramp must be facing
* @param r the road type of the bridge
*/
static inline void MakeRoadBridgeRamp(TileIndex t, Owner o, uint bridgetype, DiagDirection d, RoadTypes r)
static inline void MakeRoadBridgeRamp(TileIndex t, Owner o, BridgeType bridgetype, DiagDirection d, RoadTypes r)
{
MakeBridgeRamp(t, o, bridgetype, d, TRANSPORT_ROAD, r);
}
@@ -194,7 +195,7 @@ static inline void MakeRoadBridgeRamp(TileIndex t, Owner o, uint bridgetype, Dia
* @param d the direction this ramp must be facing
* @param r the rail type of the bridge
*/
static inline void MakeRailBridgeRamp(TileIndex t, Owner o, uint bridgetype, DiagDirection d, RailType r)
static inline void MakeRailBridgeRamp(TileIndex t, Owner o, BridgeType bridgetype, DiagDirection d, RailType r)
{
MakeBridgeRamp(t, o, bridgetype, d, TRANSPORT_RAIL, r);
}
+57 -48
View File
@@ -55,7 +55,6 @@ enum BuildVehicleWidgets {
BUILD_VEHICLE_WIDGET_CLOSEBOX = 0,
BUILD_VEHICLE_WIDGET_CAPTION,
BUILD_VEHICLE_WIDGET_SORT_ASSENDING_DESCENDING,
BUILD_VEHICLE_WIDGET_SORT_TEXT,
BUILD_VEHICLE_WIDGET_SORT_DROPDOWN,
BUILD_VEHICLE_WIDGET_LIST,
BUILD_VEHICLE_WIDGET_SCROLLBAR,
@@ -70,8 +69,7 @@ static const Widget _build_vehicle_widgets[] = {
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW },
{ WWT_CAPTION, RESIZE_RIGHT, 14, 11, 239, 0, 13, 0x0, STR_018C_WINDOW_TITLE_DRAG_THIS },
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 0, 80, 14, 25, STR_SORT_BY, STR_SORT_ORDER_TIP},
{ WWT_PANEL, RESIZE_RIGHT, 14, 81, 227, 14, 25, 0x0, STR_SORT_CRITERIA_TIP},
{ WWT_TEXTBTN, RESIZE_LR, 14, 228, 239, 14, 25, STR_0225, STR_SORT_CRITERIA_TIP},
{ WWT_DROPDOWN, RESIZE_RIGHT, 14, 81, 239, 14, 25, 0x0, STR_SORT_CRITERIA_TIP},
{ WWT_MATRIX, RESIZE_RB, 14, 0, 227, 26, 39, 0x101, STR_NULL },
{ WWT_SCROLLBAR, RESIZE_LRB, 14, 228, 239, 26, 39, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST },
{ WWT_PANEL, RESIZE_RTB, 14, 0, 239, 40, 161, 0x0, STR_NULL },
@@ -83,9 +81,11 @@ static const Widget _build_vehicle_widgets[] = {
};
/* Setup widget strings to fit the different types of vehicles */
static void SetupWindowStrings(Window *w, byte type)
static void SetupWindowStrings(Window *w, VehicleType type)
{
switch (type) {
default: NOT_REACHED();
case VEH_TRAIN:
w->widget[BUILD_VEHICLE_WIDGET_CAPTION].data = STR_JUST_STRING;
w->widget[BUILD_VEHICLE_WIDGET_LIST].tooltips = STR_8843_TRAIN_VEHICLE_SELECTION;
@@ -94,6 +94,7 @@ static void SetupWindowStrings(Window *w, byte type)
w->widget[BUILD_VEHICLE_WIDGET_RENAME].data = STR_8820_RENAME;
w->widget[BUILD_VEHICLE_WIDGET_RENAME].tooltips = STR_8845_RENAME_TRAIN_VEHICLE_TYPE;
break;
case VEH_ROAD:
w->widget[BUILD_VEHICLE_WIDGET_CAPTION].data = STR_9006_NEW_ROAD_VEHICLES;
w->widget[BUILD_VEHICLE_WIDGET_LIST].tooltips = STR_9026_ROAD_VEHICLE_SELECTION;
@@ -102,6 +103,7 @@ static void SetupWindowStrings(Window *w, byte type)
w->widget[BUILD_VEHICLE_WIDGET_RENAME].data = STR_9034_RENAME;
w->widget[BUILD_VEHICLE_WIDGET_RENAME].tooltips = STR_9035_RENAME_ROAD_VEHICLE_TYPE;
break;
case VEH_SHIP:
w->widget[BUILD_VEHICLE_WIDGET_CAPTION].data = STR_9808_NEW_SHIPS;
w->widget[BUILD_VEHICLE_WIDGET_LIST].tooltips = STR_9825_SHIP_SELECTION_LIST_CLICK;
@@ -110,6 +112,7 @@ static void SetupWindowStrings(Window *w, byte type)
w->widget[BUILD_VEHICLE_WIDGET_RENAME].data = STR_9836_RENAME;
w->widget[BUILD_VEHICLE_WIDGET_RENAME].tooltips = STR_9837_RENAME_SHIP_TYPE;
break;
case VEH_AIRCRAFT:
w->widget[BUILD_VEHICLE_WIDGET_CAPTION].data = STR_A005_NEW_AIRCRAFT;
w->widget[BUILD_VEHICLE_WIDGET_LIST].tooltips = STR_A025_AIRCRAFT_SELECTION_LIST;
@@ -527,6 +530,26 @@ static const StringID _sort_listing[][11] = {{
INVALID_STRING_ID
}};
static int DrawCargoCapacityInfo(int x, int y, EngineID engine, VehicleType type, bool refittable)
{
uint16 *cap = GetCapacityOfArticulatedParts(engine, type);
for (uint c = 0; c < NUM_CARGO; c++) {
if (cap[c] == 0) continue;
SetDParam(0, c);
SetDParam(1, cap[c]);
SetDParam(2, refittable ? STR_9842_REFITTABLE : STR_EMPTY);
DrawString(x, y, STR_PURCHASE_INFO_CAPACITY, TC_FROMSTRING);
y += 10;
/* Only show as refittable once */
refittable = false;
}
return y;
}
/* Draw rail wagon specific details */
static int DrawRailWagonPurchaseInfo(int x, int y, EngineID engine_number, const RailVehicleInfo *rvi)
{
@@ -612,13 +635,7 @@ static int DrawRoadVehPurchaseInfo(int x, int y, EngineID engine_number, const R
y += 10;
/* Cargo type + capacity */
SetDParam(0, rvi->cargo_type);
SetDParam(1, GetEngineProperty(engine_number, 0x0F, rvi->capacity));
SetDParam(2, refittable ? STR_9842_REFITTABLE : STR_EMPTY);
DrawString(x, y, STR_PURCHASE_INFO_CAPACITY, TC_FROMSTRING);
y += 10;
return y;
return DrawCargoCapacityInfo(x, y, engine_number, VEH_ROAD, refittable);
}
/* Draw ship specific details */
@@ -709,20 +726,18 @@ int DrawVehiclePurchaseInfo(int x, int y, uint w, EngineID engine_number)
}
/* Cargo type + capacity, or N/A */
if (rvi->capacity == 0) {
int new_y = DrawCargoCapacityInfo(x, y, engine_number, VEH_TRAIN, refitable);
if (new_y == y) {
SetDParam(0, CT_INVALID);
SetDParam(2, STR_EMPTY);
DrawString(x, y, STR_PURCHASE_INFO_CAPACITY, TC_FROMSTRING);
y += 10;
} else {
int multihead = (rvi->railveh_type == RAILVEH_MULTIHEAD ? 1 : 0);
SetDParam(0, rvi->cargo_type);
SetDParam(1, (capacity * (CountArticulatedParts(engine_number, true) + 1)) << multihead);
SetDParam(2, refitable ? STR_9842_REFITTABLE : STR_EMPTY);
y = new_y;
}
DrawString(x, y, STR_PURCHASE_INFO_CAPACITY, TC_FROMSTRING);
y += 10;
}
break;
}
case VEH_ROAD:
y = DrawRoadVehPurchaseInfo(x, y, engine_number, RoadVehInfo(engine_number));
refitable = true;
@@ -775,7 +790,8 @@ static void GenerateBuildTrainList(Window *w)
* Also check to see if the previously selected engine is still available,
* and if not, reset selection to INVALID_ENGINE. This could be the case
* when engines become obsolete and are removed */
for (EngineID eid = 0; eid < NUM_TRAIN_ENGINES; eid++) {
EngineID eid;
FOR_ALL_ENGINEIDS_OF_TYPE(eid, VEH_TRAIN) {
const RailVehicleInfo *rvi = RailVehInfo(eid);
if (bv->filter.railtype != RAILTYPE_END && !HasPowerOnRail(rvi->railtype, bv->filter.railtype)) continue;
@@ -813,7 +829,8 @@ static void GenerateBuildRoadVehList(Window *w)
EngList_RemoveAll(&bv->eng_list);
for (EngineID eid = ROAD_ENGINES_INDEX; eid < ROAD_ENGINES_INDEX + NUM_ROAD_ENGINES; eid++) {
EngineID eid;
FOR_ALL_ENGINEIDS_OF_TYPE(eid, VEH_ROAD) {
if (!IsEngineBuildable(eid, VEH_ROAD, _local_player)) continue;
if (!HasBit(bv->filter.roadtypes, HasBit(EngInfo(eid)->misc_flags, EF_ROAD_TRAM) ? ROADTYPE_TRAM : ROADTYPE_ROAD)) continue;
EngList_Add(&bv->eng_list, eid);
@@ -831,7 +848,8 @@ static void GenerateBuildShipList(Window *w)
EngList_RemoveAll(&bv->eng_list);
for (EngineID eid = SHIP_ENGINES_INDEX; eid < SHIP_ENGINES_INDEX + NUM_SHIP_ENGINES; eid++) {
EngineID eid;
FOR_ALL_ENGINEIDS_OF_TYPE(eid, VEH_SHIP) {
if (!IsEngineBuildable(eid, VEH_SHIP, _local_player)) continue;
EngList_Add(&bv->eng_list, eid);
@@ -852,7 +870,8 @@ static void GenerateBuildAircraftList(Window *w)
* Also check to see if the previously selected plane is still available,
* and if not, reset selection to INVALID_ENGINE. This could be the case
* when planes become obsolete and are removed */
for (EngineID eid = AIRCRAFT_ENGINES_INDEX; eid < AIRCRAFT_ENGINES_INDEX + NUM_AIRCRAFT_ENGINES; eid++) {
EngineID eid;
FOR_ALL_ENGINEIDS_OF_TYPE(eid, VEH_AIRCRAFT) {
if (!IsEngineBuildable(eid, VEH_AIRCRAFT, _local_player)) continue;
/* First VEH_END window_numbers are fake to allow a window open for all different types at once */
if (w->window_number > VEH_END && !CanAircraftUseStation(eid, w->window_number)) continue;
@@ -888,7 +907,7 @@ static void GenerateBuildList(Window *w)
EngList_Sort(&bv->eng_list, _sorter[bv->vehicle_type][bv->sort_criteria]);
}
static void DrawVehicleEngine(byte type, int x, int y, EngineID engine, SpriteID pal)
static void DrawVehicleEngine(VehicleType type, int x, int y, EngineID engine, SpriteID pal)
{
switch (type) {
case VEH_TRAIN: DrawTrainEngine( x, y, engine, pal); break;
@@ -956,23 +975,6 @@ void DrawEngineList(VehicleType type, int x, int y, const EngineList eng_list, u
}
}
static void ExpandPurchaseInfoWidget(Window *w, int expand_by)
{
Widget *wi = &w->widget[BUILD_VEHICLE_WIDGET_PANEL];
SetWindowDirty(w);
wi->bottom += expand_by;
for (uint i = BUILD_VEHICLE_WIDGET_BUILD; i < BUILD_VEHICLE_WIDGET_END; i++) {
wi = &w->widget[i];
wi->top += expand_by;
wi->bottom += expand_by;
}
w->height += expand_by;
SetWindowDirty(w);
}
static void DrawBuildVehicleWindow(Window *w)
{
const buildvehicle_d *bv = &WP(w, buildvehicle_d);
@@ -982,19 +984,26 @@ static void DrawBuildVehicleWindow(Window *w)
SetVScrollCount(w, EngList_Count(&bv->eng_list));
SetDParam(0, bv->filter.railtype + STR_881C_NEW_RAIL_VEHICLES); // This should only affect rail vehicles
/* Set text of sort by dropdown */
w->widget[BUILD_VEHICLE_WIDGET_SORT_DROPDOWN].data = _sort_listing[bv->vehicle_type][bv->sort_criteria];
DrawWindowWidgets(w);
DrawEngineList(bv->vehicle_type, 2, 27, bv->eng_list, w->vscroll.pos, max, bv->sel_engine, false, DEFAULT_GROUP);
DrawEngineList(bv->vehicle_type, w->widget[BUILD_VEHICLE_WIDGET_LIST].left + 2, w->widget[BUILD_VEHICLE_WIDGET_LIST].top + 1, bv->eng_list, w->vscroll.pos, max, bv->sel_engine, false, DEFAULT_GROUP);
if (bv->sel_engine != INVALID_ENGINE) {
const Widget *wi = &w->widget[BUILD_VEHICLE_WIDGET_PANEL];
int text_end = DrawVehiclePurchaseInfo(2, wi->top + 1, wi->right - wi->left - 2, bv->sel_engine);
if (text_end > wi->bottom) ExpandPurchaseInfoWidget(w, text_end - wi->bottom);
if (text_end > wi->bottom) {
SetWindowDirty(w);
ResizeWindowForWidget(w, BUILD_VEHICLE_WIDGET_PANEL, 0, text_end - wi->bottom);
SetWindowDirty(w);
}
}
DrawString(85, 15, _sort_listing[bv->vehicle_type][bv->sort_criteria], TC_BLACK);
DoDrawString(bv->descending_sort_order ? DOWNARROW : UPARROW, 69, 15, TC_BLACK);
DrawSortButtonState(w, BUILD_VEHICLE_WIDGET_SORT_ASSENDING_DESCENDING, bv->descending_sort_order ? SBS_DOWN : SBS_UP);
}
static void BuildVehicleClickEvent(Window *w, WindowEvent *e)
@@ -1010,14 +1019,14 @@ static void BuildVehicleClickEvent(Window *w, WindowEvent *e)
break;
case BUILD_VEHICLE_WIDGET_LIST: {
uint i = (e->we.click.pt.y - 26) / GetVehicleListHeight(bv->vehicle_type) + w->vscroll.pos;
uint i = (e->we.click.pt.y - w->widget[BUILD_VEHICLE_WIDGET_LIST].top) / GetVehicleListHeight(bv->vehicle_type) + w->vscroll.pos;
uint num_items = EngList_Count(&bv->eng_list);
bv->sel_engine = (i < num_items) ? bv->eng_list[i] : INVALID_ENGINE;
SetWindowDirty(w);
break;
}
case BUILD_VEHICLE_WIDGET_SORT_TEXT: case BUILD_VEHICLE_WIDGET_SORT_DROPDOWN: // Select sorting criteria dropdown menu
case BUILD_VEHICLE_WIDGET_SORT_DROPDOWN: // Select sorting criteria dropdown menu
ShowDropDownMenu(w, _sort_listing[bv->vehicle_type], bv->sort_criteria, BUILD_VEHICLE_WIDGET_SORT_DROPDOWN, 0, 0);
break;
+1 -1
View File
@@ -37,7 +37,7 @@ CargoPacket::~CargoPacket()
this->count = 0;
}
bool CargoPacket::SameSource(CargoPacket *cp)
bool CargoPacket::SameSource(const CargoPacket *cp) const
{
return this->source_xy == cp->source_xy && this->days_in_transit == cp->days_in_transit && this->paid_for == cp->paid_for;
}
+2 -2
View File
@@ -1,6 +1,6 @@
/* $Id$ */
/** @file cargotype.h */
/** @file cargopacket.h */
#ifndef CARGOPACKET_H
#define CARGOPACKET_H
@@ -53,7 +53,7 @@ struct CargoPacket : PoolItem<CargoPacket, CargoPacketID, &_CargoPacket_pool> {
* @param cp the cargo packet to compare to
* @return true if and only if days_in_transit and source_xy are equal
*/
bool SameSource(CargoPacket *cp);
bool SameSource(const CargoPacket *cp) const;
};
/**
+1 -1
View File
@@ -315,7 +315,7 @@ static void ClickTile_Clear(TileIndex tile)
/* not used */
}
static uint32 GetTileTrackStatus_Clear(TileIndex tile, TransportType mode, uint sub_mode)
static uint32 GetTileTrackStatus_Clear(TileIndex tile, TransportType mode, uint sub_mode, DiagDirection side)
{
return 0;
}
+125 -133
View File
@@ -20,6 +20,7 @@
#include "debug.h"
#include "player_func.h"
#include "player_base.h"
#include "signal_func.h"
#include "table/strings.h"
@@ -208,160 +209,145 @@ DEF_COMMAND(CmdAutofillTimetable);
* as the value from the CMD_* enums.
*/
static const Command _command_proc_table[] = {
{CmdBuildRailroadTrack, CMD_AUTO}, /* 0, CMD_BUILD_RAILROAD_TRACK */
{CmdRemoveRailroadTrack, CMD_AUTO}, /* 1, CMD_REMOVE_RAILROAD_TRACK */
{CmdBuildSingleRail, CMD_AUTO}, /* 2, CMD_BUILD_SINGLE_RAIL */
{CmdRemoveSingleRail, CMD_AUTO}, /* 3, CMD_REMOVE_SINGLE_RAIL */
{CmdLandscapeClear, 0}, /* 4, CMD_LANDSCAPE_CLEAR */
{CmdBuildBridge, CMD_AUTO}, /* 5, CMD_BUILD_BRIDGE */
{CmdBuildRailroadStation, CMD_AUTO}, /* 6, CMD_BUILD_RAILROAD_STATION */
{CmdBuildTrainDepot, CMD_AUTO}, /* 7, CMD_BUILD_TRAIN_DEPOT */
{CmdBuildSingleSignal, CMD_AUTO}, /* 8, CMD_BUILD_SIGNALS */
{CmdRemoveSingleSignal, CMD_AUTO}, /* 9, CMD_REMOVE_SIGNALS */
{CmdTerraformLand, CMD_AUTO}, /* 10, CMD_TERRAFORM_LAND */
{CmdPurchaseLandArea, CMD_AUTO}, /* 11, CMD_PURCHASE_LAND_AREA */
{CmdSellLandArea, 0}, /* 12, CMD_SELL_LAND_AREA */
{CmdBuildTunnel, CMD_AUTO}, /* 13, CMD_BUILD_TUNNEL */
{CmdRemoveFromRailroadStation, 0}, /* 14, CMD_REMOVE_FROM_RAILROAD_STATION */
{CmdConvertRail, 0}, /* 15, CMD_CONVERT_RAILD */
{CmdBuildTrainWaypoint, 0}, /* 16, CMD_BUILD_TRAIN_WAYPOINT */
{CmdRenameWaypoint, 0}, /* 17, CMD_RENAME_WAYPOINT */
{CmdRemoveTrainWaypoint, 0}, /* 18, CMD_REMOVE_TRAIN_WAYPOINT */
{NULL, 0}, /* 19, unused */
{NULL, 0}, /* 20, unused */
{CmdBuildRoadStop, CMD_AUTO}, /* 21, CMD_BUILD_ROAD_STOP */
{CmdRemoveRoadStop, 0}, /* 22, CMD_REMOVE_ROAD_STOP */
{CmdBuildLongRoad, CMD_AUTO}, /* 23, CMD_BUILD_LONG_ROAD */
{CmdRemoveLongRoad, CMD_AUTO}, /* 24, CMD_REMOVE_LONG_ROAD */
{CmdBuildRoad, 0}, /* 25, CMD_BUILD_ROAD */
{CmdRemoveRoad, 0}, /* 26, CMD_REMOVE_ROAD */
{CmdBuildRoadDepot, CMD_AUTO}, /* 27, CMD_BUILD_ROAD_DEPOT */
{NULL, 0}, /* 28, unused */
{CmdBuildAirport, CMD_AUTO}, /* 29, CMD_BUILD_AIRPORT */
{CmdBuildDock, CMD_AUTO}, /* 30, CMD_BUILD_DOCK */
{CmdBuildShipDepot, CMD_AUTO}, /* 31, CMD_BUILD_SHIP_DEPOT */
{CmdBuildBuoy, CMD_AUTO}, /* 32, CMD_BUILD_BUOY */
{CmdPlantTree, CMD_AUTO}, /* 33, CMD_PLANT_TREE */
{CmdBuildRailVehicle, 0}, /* 34, CMD_BUILD_RAIL_VEHICLE */
{CmdMoveRailVehicle, 0}, /* 35, CMD_MOVE_RAIL_VEHICLE */
{CmdStartStopTrain, 0}, /* 36, CMD_START_STOP_TRAIN */
{NULL, 0}, /* 37, unused */
{CmdSellRailWagon, 0}, /* 38, CMD_SELL_RAIL_WAGON */
{CmdSendTrainToDepot, 0}, /* 39, CMD_SEND_TRAIN_TO_DEPOT */
{CmdForceTrainProceed, 0}, /* 40, CMD_FORCE_TRAIN_PROCEED */
{CmdReverseTrainDirection, 0}, /* 41, CMD_REVERSE_TRAIN_DIRECTION */
{CmdBuildRailroadTrack, CMD_AUTO}, /* CMD_BUILD_RAILROAD_TRACK */
{CmdRemoveRailroadTrack, CMD_AUTO}, /* CMD_REMOVE_RAILROAD_TRACK */
{CmdBuildSingleRail, CMD_AUTO}, /* CMD_BUILD_SINGLE_RAIL */
{CmdRemoveSingleRail, CMD_AUTO}, /* CMD_REMOVE_SINGLE_RAIL */
{CmdLandscapeClear, 0}, /* CMD_LANDSCAPE_CLEAR */
{CmdBuildBridge, CMD_AUTO}, /* CMD_BUILD_BRIDGE */
{CmdBuildRailroadStation, CMD_AUTO}, /* CMD_BUILD_RAILROAD_STATION */
{CmdBuildTrainDepot, CMD_AUTO}, /* CMD_BUILD_TRAIN_DEPOT */
{CmdBuildSingleSignal, CMD_AUTO}, /* CMD_BUILD_SIGNALS */
{CmdRemoveSingleSignal, CMD_AUTO}, /* CMD_REMOVE_SIGNALS */
{CmdTerraformLand, CMD_AUTO}, /* CMD_TERRAFORM_LAND */
{CmdPurchaseLandArea, CMD_AUTO}, /* CMD_PURCHASE_LAND_AREA */
{CmdSellLandArea, 0}, /* CMD_SELL_LAND_AREA */
{CmdBuildTunnel, CMD_AUTO}, /* CMD_BUILD_TUNNEL */
{CmdRemoveFromRailroadStation, 0}, /* CMD_REMOVE_FROM_RAILROAD_STATION */
{CmdConvertRail, 0}, /* CMD_CONVERT_RAILD */
{CmdBuildTrainWaypoint, 0}, /* CMD_BUILD_TRAIN_WAYPOINT */
{CmdRenameWaypoint, 0}, /* CMD_RENAME_WAYPOINT */
{CmdRemoveTrainWaypoint, 0}, /* CMD_REMOVE_TRAIN_WAYPOINT */
{CmdModifyOrder, 0}, /* 42, CMD_MODIFY_ORDER */
{CmdSkipToOrder, 0}, /* 43, CMD_SKIP_TO_ORDER */
{CmdDeleteOrder, 0}, /* 44, CMD_DELETE_ORDER */
{CmdInsertOrder, 0}, /* 45, CMD_INSERT_ORDER */
{CmdBuildRoadStop, CMD_AUTO}, /* CMD_BUILD_ROAD_STOP */
{CmdRemoveRoadStop, 0}, /* CMD_REMOVE_ROAD_STOP */
{CmdBuildLongRoad, CMD_AUTO}, /* CMD_BUILD_LONG_ROAD */
{CmdRemoveLongRoad, CMD_AUTO}, /* CMD_REMOVE_LONG_ROAD */
{CmdBuildRoad, 0}, /* CMD_BUILD_ROAD */
{CmdRemoveRoad, 0}, /* CMD_REMOVE_ROAD */
{CmdBuildRoadDepot, CMD_AUTO}, /* CMD_BUILD_ROAD_DEPOT */
{CmdChangeServiceInt, 0}, /* 46, CMD_CHANGE_SERVICE_INT */
{CmdBuildAirport, CMD_AUTO}, /* CMD_BUILD_AIRPORT */
{CmdBuildDock, CMD_AUTO}, /* CMD_BUILD_DOCK */
{CmdBuildShipDepot, CMD_AUTO}, /* CMD_BUILD_SHIP_DEPOT */
{CmdBuildBuoy, CMD_AUTO}, /* CMD_BUILD_BUOY */
{CmdPlantTree, CMD_AUTO}, /* CMD_PLANT_TREE */
{CmdBuildRailVehicle, 0}, /* CMD_BUILD_RAIL_VEHICLE */
{CmdMoveRailVehicle, 0}, /* CMD_MOVE_RAIL_VEHICLE */
{CmdStartStopTrain, 0}, /* CMD_START_STOP_TRAIN */
{CmdBuildIndustry, 0}, /* 47, CMD_BUILD_INDUSTRY */
{CmdBuildCompanyHQ, CMD_AUTO}, /* 48, CMD_BUILD_COMPANY_HQ */
{CmdSetPlayerFace, 0}, /* 49, CMD_SET_PLAYER_FACE */
{CmdSetPlayerColor, 0}, /* 50, CMD_SET_PLAYER_COLOR */
{CmdSellRailWagon, 0}, /* CMD_SELL_RAIL_WAGON */
{CmdSendTrainToDepot, 0}, /* CMD_SEND_TRAIN_TO_DEPOT */
{CmdForceTrainProceed, 0}, /* CMD_FORCE_TRAIN_PROCEED */
{CmdReverseTrainDirection, 0}, /* CMD_REVERSE_TRAIN_DIRECTION */
{CmdIncreaseLoan, 0}, /* 51, CMD_INCREASE_LOAN */
{CmdDecreaseLoan, 0}, /* 52, CMD_DECREASE_LOAN */
{CmdModifyOrder, 0}, /* CMD_MODIFY_ORDER */
{CmdSkipToOrder, 0}, /* CMD_SKIP_TO_ORDER */
{CmdDeleteOrder, 0}, /* CMD_DELETE_ORDER */
{CmdInsertOrder, 0}, /* CMD_INSERT_ORDER */
{CmdWantEnginePreview, 0}, /* 53, CMD_WANT_ENGINE_PREVIEW */
{CmdChangeServiceInt, 0}, /* CMD_CHANGE_SERVICE_INT */
{CmdNameVehicle, 0}, /* 54, CMD_NAME_VEHICLE */
{CmdRenameEngine, 0}, /* 55, CMD_RENAME_ENGINE */
{CmdBuildIndustry, 0}, /* CMD_BUILD_INDUSTRY */
{CmdBuildCompanyHQ, CMD_AUTO}, /* CMD_BUILD_COMPANY_HQ */
{CmdSetPlayerFace, 0}, /* CMD_SET_PLAYER_FACE */
{CmdSetPlayerColor, 0}, /* CMD_SET_PLAYER_COLOR */
{CmdChangeCompanyName, 0}, /* 56, CMD_CHANGE_COMPANY_NAME */
{CmdChangePresidentName, 0}, /* 57, CMD_CHANGE_PRESIDENT_NAME */
{CmdIncreaseLoan, 0}, /* CMD_INCREASE_LOAN */
{CmdDecreaseLoan, 0}, /* CMD_DECREASE_LOAN */
{CmdRenameStation, 0}, /* 58, CMD_RENAME_STATION */
{CmdWantEnginePreview, 0}, /* CMD_WANT_ENGINE_PREVIEW */
{CmdSellAircraft, 0}, /* 59, CMD_SELL_AIRCRAFT */
{CmdStartStopAircraft, 0}, /* 60, CMD_START_STOP_AIRCRAFT */
{CmdNameVehicle, 0}, /* CMD_NAME_VEHICLE */
{CmdRenameEngine, 0}, /* CMD_RENAME_ENGINE */
{CmdBuildAircraft, 0}, /* 61, CMD_BUILD_AIRCRAFT */
{CmdSendAircraftToHangar, 0}, /* 62, CMD_SEND_AIRCRAFT_TO_HANGAR */
{NULL, 0}, /* 63, unused */
{CmdRefitAircraft, 0}, /* 64, CMD_REFIT_AIRCRAFT */
{CmdChangeCompanyName, 0}, /* CMD_CHANGE_COMPANY_NAME */
{CmdChangePresidentName, 0}, /* CMD_CHANGE_PRESIDENT_NAME */
{CmdPlaceSign, 0}, /* 65, CMD_PLACE_SIGN */
{CmdRenameSign, 0}, /* 66, CMD_RENAME_SIGN */
{CmdRenameStation, 0}, /* CMD_RENAME_STATION */
{CmdBuildRoadVeh, 0}, /* 67, CMD_BUILD_ROAD_VEH */
{CmdStartStopRoadVeh, 0}, /* 68, CMD_START_STOP_ROADVEH */
{CmdSellRoadVeh, 0}, /* 69, CMD_SELL_ROAD_VEH */
{CmdSendRoadVehToDepot, 0}, /* 70, CMD_SEND_ROADVEH_TO_DEPOT */
{CmdTurnRoadVeh, 0}, /* 71, CMD_TURN_ROADVEH */
{CmdRefitRoadVeh, 0}, /* 72, CMD_REFIT_ROAD_VEH */
{CmdSellAircraft, 0}, /* CMD_SELL_AIRCRAFT */
{CmdStartStopAircraft, 0}, /* CMD_START_STOP_AIRCRAFT */
{CmdPause, CMD_SERVER}, /* 73, CMD_PAUSE */
{CmdBuildAircraft, 0}, /* CMD_BUILD_AIRCRAFT */
{CmdSendAircraftToHangar, 0}, /* CMD_SEND_AIRCRAFT_TO_HANGAR */
{CmdRefitAircraft, 0}, /* CMD_REFIT_AIRCRAFT */
{CmdBuyShareInCompany, 0}, /* 74, CMD_BUY_SHARE_IN_COMPANY */
{CmdSellShareInCompany, 0}, /* 75, CMD_SELL_SHARE_IN_COMPANY */
{CmdBuyCompany, 0}, /* 76, CMD_BUY_COMANY */
{CmdPlaceSign, 0}, /* CMD_PLACE_SIGN */
{CmdRenameSign, 0}, /* CMD_RENAME_SIGN */
{CmdBuildTown, CMD_OFFLINE}, /* 77, CMD_BUILD_TOWN */
{NULL, 0}, /* 78, unused */
{NULL, 0}, /* 79, unused */
{CmdRenameTown, CMD_SERVER}, /* 80, CMD_RENAME_TOWN */
{CmdDoTownAction, 0}, /* 81, CMD_DO_TOWN_ACTION */
{CmdBuildRoadVeh, 0}, /* CMD_BUILD_ROAD_VEH */
{CmdStartStopRoadVeh, 0}, /* CMD_START_STOP_ROADVEH */
{CmdSellRoadVeh, 0}, /* CMD_SELL_ROAD_VEH */
{CmdSendRoadVehToDepot, 0}, /* CMD_SEND_ROADVEH_TO_DEPOT */
{CmdTurnRoadVeh, 0}, /* CMD_TURN_ROADVEH */
{CmdRefitRoadVeh, 0}, /* CMD_REFIT_ROAD_VEH */
{CmdSetRoadDriveSide, CMD_SERVER}, /* 82, CMD_SET_ROAD_DRIVE_SIDE */
{NULL, 0}, /* 83, unused */
{NULL, 0}, /* 84, unused */
{CmdChangeDifficultyLevel, CMD_SERVER}, /* 85, CMD_CHANGE_DIFFICULTY_LEVEL */
{CmdPause, CMD_SERVER}, /* CMD_PAUSE */
{CmdStartStopShip, 0}, /* 86, CMD_START_STOP_SHIP */
{CmdSellShip, 0}, /* 87, CMD_SELL_SHIP */
{CmdBuildShip, 0}, /* 88, CMD_BUILD_SHIP */
{CmdSendShipToDepot, 0}, /* 89, CMD_SEND_SHIP_TO_DEPOT */
{NULL, 0}, /* 90, unused */
{CmdRefitShip, 0}, /* 91, CMD_REFIT_SHIP */
{CmdBuyShareInCompany, 0}, /* CMD_BUY_SHARE_IN_COMPANY */
{CmdSellShareInCompany, 0}, /* CMD_SELL_SHARE_IN_COMPANY */
{CmdBuyCompany, 0}, /* CMD_BUY_COMANY */
{NULL, 0}, /* 92, unused */
{NULL, 0}, /* 93, unused */
{NULL, 0}, /* 94, unused */
{NULL, 0}, /* 95, unused */
{NULL, 0}, /* 96, unused */
{NULL, 0}, /* 97, unused */
{CmdBuildTown, CMD_OFFLINE}, /* CMD_BUILD_TOWN */
{CmdRenameTown, CMD_SERVER}, /* CMD_RENAME_TOWN */
{CmdDoTownAction, 0}, /* CMD_DO_TOWN_ACTION */
{CmdOrderRefit, 0}, /* 98, CMD_ORDER_REFIT */
{CmdCloneOrder, 0}, /* 99, CMD_CLONE_ORDER */
{CmdSetRoadDriveSide, CMD_SERVER}, /* CMD_SET_ROAD_DRIVE_SIDE */
{CmdChangeDifficultyLevel, CMD_SERVER}, /* CMD_CHANGE_DIFFICULTY_LEVEL */
{CmdClearArea, 0}, /* 100, CMD_CLEAR_AREA */
{NULL, 0}, /* 101, unused */
{CmdStartStopShip, 0}, /* CMD_START_STOP_SHIP */
{CmdSellShip, 0}, /* CMD_SELL_SHIP */
{CmdBuildShip, 0}, /* CMD_BUILD_SHIP */
{CmdSendShipToDepot, 0}, /* CMD_SEND_SHIP_TO_DEPOT */
{CmdRefitShip, 0}, /* CMD_REFIT_SHIP */
{CmdMoneyCheat, CMD_OFFLINE}, /* 102, CMD_MONEY_CHEAT */
{CmdBuildCanal, CMD_AUTO}, /* 103, CMD_BUILD_CANAL */
{CmdPlayerCtrl, 0}, /* 104, CMD_PLAYER_CTRL */
{CmdOrderRefit, 0}, /* CMD_ORDER_REFIT */
{CmdCloneOrder, 0}, /* CMD_CLONE_ORDER */
{CmdLevelLand, CMD_AUTO}, /* 105, CMD_LEVEL_LAND */
{CmdClearArea, 0}, /* CMD_CLEAR_AREA */
{CmdRefitRailVehicle, 0}, /* 106, CMD_REFIT_RAIL_VEHICLE */
{CmdRestoreOrderIndex, 0}, /* 107, CMD_RESTORE_ORDER_INDEX */
{CmdBuildLock, CMD_AUTO}, /* 108, CMD_BUILD_LOCK */
{NULL, 0}, /* 109, unused */
{CmdBuildSignalTrack, CMD_AUTO}, /* 110, CMD_BUILD_SIGNAL_TRACK */
{CmdRemoveSignalTrack, CMD_AUTO}, /* 111, CMD_REMOVE_SIGNAL_TRACK */
{NULL, 0}, /* 112, unused */
{CmdGiveMoney, 0}, /* 113, CMD_GIVE_MONEY */
{CmdChangePatchSetting, CMD_SERVER}, /* 114, CMD_CHANGE_PATCH_SETTING */
{CmdSetAutoReplace, 0}, /* 115, CMD_SET_AUTOREPLACE */
{CmdCloneVehicle, 0}, /* 116, CMD_CLONE_VEHICLE */
{CmdMassStartStopVehicle, 0}, /* 117, CMD_MASS_START_STOP */
{CmdDepotSellAllVehicles, 0}, /* 118, CMD_DEPOT_SELL_ALL_VEHICLES */
{CmdDepotMassAutoReplace, 0}, /* 119, CMD_DEPOT_MASS_AUTOREPLACE */
{CmdCreateGroup, 0}, /* 120, CMD_CREATE_GROUP */
{CmdDeleteGroup, 0}, /* 121, CMD_DELETE_GROUP */
{CmdRenameGroup, 0}, /* 122, CMD_RENAME_GROUP */
{CmdAddVehicleGroup, 0}, /* 123, CMD_ADD_VEHICLE_GROUP */
{CmdAddSharedVehicleGroup, 0}, /* 124, CMD_ADD_SHARE_VEHICLE_GROUP */
{CmdRemoveAllVehiclesGroup, 0}, /* 125, CMD_REMOVE_ALL_VEHICLES_GROUP */
{CmdSetGroupReplaceProtection, 0}, /* 126, CMD_SET_GROUP_REPLACE_PROTECTION */
{CmdMoveOrder, 0}, /* 127, CMD_MOVE_ORDER */
{CmdChangeTimetable, 0}, /* 128, CMD_CHANGE_TIMETABLE */
{CmdSetVehicleOnTime, 0}, /* 129, CMD_SET_VEHICLE_ON_TIME */
{CmdAutofillTimetable, 0}, /* 130, CMD_AUTOFILL_TIMETABLE */
{CmdMoneyCheat, CMD_OFFLINE}, /* CMD_MONEY_CHEAT */
{CmdBuildCanal, CMD_AUTO}, /* CMD_BUILD_CANAL */
{CmdPlayerCtrl, 0}, /* CMD_PLAYER_CTRL */
{CmdLevelLand, CMD_AUTO}, /* CMD_LEVEL_LAND */
{CmdRefitRailVehicle, 0}, /* CMD_REFIT_RAIL_VEHICLE */
{CmdRestoreOrderIndex, 0}, /* CMD_RESTORE_ORDER_INDEX */
{CmdBuildLock, CMD_AUTO}, /* CMD_BUILD_LOCK */
{CmdBuildSignalTrack, CMD_AUTO}, /* CMD_BUILD_SIGNAL_TRACK */
{CmdRemoveSignalTrack, CMD_AUTO}, /* CMD_REMOVE_SIGNAL_TRACK */
{CmdGiveMoney, 0}, /* CMD_GIVE_MONEY */
{CmdChangePatchSetting, CMD_SERVER}, /* CMD_CHANGE_PATCH_SETTING */
{CmdSetAutoReplace, 0}, /* CMD_SET_AUTOREPLACE */
{CmdCloneVehicle, 0}, /* CMD_CLONE_VEHICLE */
{CmdMassStartStopVehicle, 0}, /* CMD_MASS_START_STOP */
{CmdDepotSellAllVehicles, 0}, /* CMD_DEPOT_SELL_ALL_VEHICLES */
{CmdDepotMassAutoReplace, 0}, /* CMD_DEPOT_MASS_AUTOREPLACE */
{CmdCreateGroup, 0}, /* CMD_CREATE_GROUP */
{CmdDeleteGroup, 0}, /* CMD_DELETE_GROUP */
{CmdRenameGroup, 0}, /* CMD_RENAME_GROUP */
{CmdAddVehicleGroup, 0}, /* CMD_ADD_VEHICLE_GROUP */
{CmdAddSharedVehicleGroup, 0}, /* CMD_ADD_SHARE_VEHICLE_GROUP */
{CmdRemoveAllVehiclesGroup, 0}, /* CMD_REMOVE_ALL_VEHICLES_GROUP */
{CmdSetGroupReplaceProtection, 0}, /* CMD_SET_GROUP_REPLACE_PROTECTION */
{CmdMoveOrder, 0}, /* CMD_MOVE_ORDER */
{CmdChangeTimetable, 0}, /* CMD_CHANGE_TIMETABLE */
{CmdSetVehicleOnTime, 0}, /* CMD_SET_VEHICLE_ON_TIME */
{CmdAutofillTimetable, 0}, /* CMD_AUTOFILL_TIMETABLE */
};
/*!
@@ -425,7 +411,7 @@ CommandCost DoCommand(TileIndex tile, uint32 p1, uint32 p2, uint32 flags, uint32
_docommand_recursive++;
/* only execute the test call if it's toplevel, or we're not execing. */
if (_docommand_recursive == 1 || !(flags & DC_EXEC) || (flags & DC_FORCETEST) ) {
if (_docommand_recursive == 1 || !(flags & DC_EXEC) ) {
SetTownRatingTestMode(true);
res = proc(tile, flags & ~DC_EXEC, p1, p2);
SetTownRatingTestMode(false);
@@ -436,6 +422,7 @@ CommandCost DoCommand(TileIndex tile, uint32 p1, uint32 p2, uint32 flags, uint32
if (_docommand_recursive == 1 &&
!(flags & DC_QUERY_COST) &&
!(flags & DC_BANKRUPT) &&
res.GetCost() != 0 &&
!CheckPlayerHasMoney(res)) {
goto error;
@@ -460,7 +447,7 @@ error:
}
/* if toplevel, subtract the money. */
if (--_docommand_recursive == 0) {
if (--_docommand_recursive == 0 && !(flags & DC_BANKRUPT)) {
SubtractMoneyFromPlayer(res);
/* XXX - Old AI hack which doesn't use DoCommandDP; update last build coord of player */
if (tile != 0 && IsValidPlayer(_current_player)) {
@@ -571,7 +558,9 @@ bool DoCommandP(TileIndex tile, uint32 p1, uint32 p2, CommandCallback *callback,
!(cmd & (CMD_NETWORK_COMMAND | CMD_SHOW_NO_ERROR)) &&
(cmd & 0xFF) != CMD_PAUSE) {
/* estimate the cost. */
SetTownRatingTestMode(true);
res = proc(tile, flags, p1, p2);
SetTownRatingTestMode(false);
if (CmdFailed(res)) {
res.SetGlobalErrorMessage();
ShowErrorMessage(_error_message, error_part1, x, y);
@@ -642,6 +631,9 @@ bool DoCommandP(TileIndex tile, uint32 p1, uint32 p2, CommandCallback *callback,
SubtractMoneyFromPlayer(res2);
/* update signals if needed */
UpdateSignalsInBuffer();
if (IsLocalPlayer() && _game_mode != GM_EDITOR) {
if (res2.GetCost() != 0 && tile != 0) ShowCostOrIncomeAnimation(x, y, GetSlopeZ(x, y), res2.GetCost());
if (_additional_cash_required != 0) {
+113 -113
View File
@@ -106,156 +106,156 @@ public:
* @see _command_proc_table
*/
enum {
CMD_BUILD_RAILROAD_TRACK = 0, ///< build a rail track
CMD_REMOVE_RAILROAD_TRACK = 1, ///< remove a rail track
CMD_BUILD_SINGLE_RAIL = 2, ///< build a single rail track
CMD_REMOVE_SINGLE_RAIL = 3, ///< remove a single rail track
CMD_LANDSCAPE_CLEAR = 4, ///< demolish a tile
CMD_BUILD_BRIDGE = 5, ///< build a bridge
CMD_BUILD_RAILROAD_STATION = 6, ///< build a railroad station
CMD_BUILD_TRAIN_DEPOT = 7, ///< build a train depot
CMD_BUILD_SIGNALS = 8, ///< build a signal
CMD_REMOVE_SIGNALS = 9, ///< remove a signal
CMD_TERRAFORM_LAND = 10, ///< terraform a tile
CMD_PURCHASE_LAND_AREA = 11, ///< purchase a tile
CMD_SELL_LAND_AREA = 12, ///< sell a bought tile before
CMD_BUILD_TUNNEL = 13, ///< build a tunnel
CMD_BUILD_RAILROAD_TRACK, ///< build a rail track
CMD_REMOVE_RAILROAD_TRACK, ///< remove a rail track
CMD_BUILD_SINGLE_RAIL, ///< build a single rail track
CMD_REMOVE_SINGLE_RAIL, ///< remove a single rail track
CMD_LANDSCAPE_CLEAR, ///< demolish a tile
CMD_BUILD_BRIDGE, ///< build a bridge
CMD_BUILD_RAILROAD_STATION, ///< build a railroad station
CMD_BUILD_TRAIN_DEPOT, ///< build a train depot
CMD_BUILD_SIGNALS, ///< build a signal
CMD_REMOVE_SIGNALS, ///< remove a signal
CMD_TERRAFORM_LAND, ///< terraform a tile
CMD_PURCHASE_LAND_AREA, ///< purchase a tile
CMD_SELL_LAND_AREA, ///< sell a bought tile before
CMD_BUILD_TUNNEL, ///< build a tunnel
CMD_REMOVE_FROM_RAILROAD_STATION = 14, ///< remove a tile station
CMD_CONVERT_RAIL = 15, ///< convert a rail type
CMD_REMOVE_FROM_RAILROAD_STATION, ///< remove a tile station
CMD_CONVERT_RAIL, ///< convert a rail type
CMD_BUILD_TRAIN_WAYPOINT = 16, ///< build a waypoint
CMD_RENAME_WAYPOINT = 17, ///< rename a waypoint
CMD_REMOVE_TRAIN_WAYPOINT = 18, ///< remove a waypoint
CMD_BUILD_TRAIN_WAYPOINT, ///< build a waypoint
CMD_RENAME_WAYPOINT, ///< rename a waypoint
CMD_REMOVE_TRAIN_WAYPOINT, ///< remove a waypoint
CMD_BUILD_ROAD_STOP = 21, ///< build a road stop
CMD_REMOVE_ROAD_STOP = 22, ///< remove a road stop
CMD_BUILD_LONG_ROAD = 23, ///< build a complete road (not a "half" one)
CMD_REMOVE_LONG_ROAD = 24, ///< remove a complete road (not a "half" one)
CMD_BUILD_ROAD = 25, ///< build a "half" road
CMD_REMOVE_ROAD = 26, ///< remove a "half" road
CMD_BUILD_ROAD_DEPOT = 27, ///< build a road depot
CMD_BUILD_ROAD_STOP, ///< build a road stop
CMD_REMOVE_ROAD_STOP, ///< remove a road stop
CMD_BUILD_LONG_ROAD, ///< build a complete road (not a "half" one)
CMD_REMOVE_LONG_ROAD, ///< remove a complete road (not a "half" one)
CMD_BUILD_ROAD, ///< build a "half" road
CMD_REMOVE_ROAD, ///< remove a "half" road
CMD_BUILD_ROAD_DEPOT, ///< build a road depot
CMD_BUILD_AIRPORT = 29, ///< build an airport
CMD_BUILD_AIRPORT, ///< build an airport
CMD_BUILD_DOCK = 30, ///< build a dock
CMD_BUILD_DOCK, ///< build a dock
CMD_BUILD_SHIP_DEPOT = 31, ///< build a ship depot
CMD_BUILD_BUOY = 32, ///< build a buoy
CMD_BUILD_SHIP_DEPOT, ///< build a ship depot
CMD_BUILD_BUOY, ///< build a buoy
CMD_PLANT_TREE = 33, ///< plant a tree
CMD_PLANT_TREE, ///< plant a tree
CMD_BUILD_RAIL_VEHICLE = 34, ///< build a rail vehicle
CMD_MOVE_RAIL_VEHICLE = 35, ///< move a rail vehicle (in the depot)
CMD_BUILD_RAIL_VEHICLE, ///< build a rail vehicle
CMD_MOVE_RAIL_VEHICLE, ///< move a rail vehicle (in the depot)
CMD_START_STOP_TRAIN = 36, ///< start or stop a train
CMD_START_STOP_TRAIN, ///< start or stop a train
CMD_SELL_RAIL_WAGON = 38, ///< sell a rail wagon
CMD_SELL_RAIL_WAGON, ///< sell a rail wagon
CMD_SEND_TRAIN_TO_DEPOT = 39, ///< send a train to a depot
CMD_FORCE_TRAIN_PROCEED = 40, ///< proceed a train to pass a red signal
CMD_REVERSE_TRAIN_DIRECTION = 41, ///< turn a train around
CMD_SEND_TRAIN_TO_DEPOT, ///< send a train to a depot
CMD_FORCE_TRAIN_PROCEED, ///< proceed a train to pass a red signal
CMD_REVERSE_TRAIN_DIRECTION, ///< turn a train around
CMD_MODIFY_ORDER = 42, ///< modify an order (like set full-load)
CMD_SKIP_TO_ORDER = 43, ///< skip an order to the next of specific one
CMD_DELETE_ORDER = 44, ///< delete an order
CMD_INSERT_ORDER = 45, ///< insert a new order
CMD_MODIFY_ORDER, ///< modify an order (like set full-load)
CMD_SKIP_TO_ORDER, ///< skip an order to the next of specific one
CMD_DELETE_ORDER, ///< delete an order
CMD_INSERT_ORDER, ///< insert a new order
CMD_CHANGE_SERVICE_INT = 46, ///< change the server interval of a vehicle
CMD_CHANGE_SERVICE_INT, ///< change the server interval of a vehicle
CMD_BUILD_INDUSTRY = 47, ///< build a new industry
CMD_BUILD_INDUSTRY, ///< build a new industry
CMD_BUILD_COMPANY_HQ = 48, ///< build the company headquarter
CMD_SET_PLAYER_FACE = 49, ///< set the face of the player/company
CMD_SET_PLAYER_COLOR = 50, ///< set the color of the player/company
CMD_BUILD_COMPANY_HQ, ///< build the company headquarter
CMD_SET_PLAYER_FACE, ///< set the face of the player/company
CMD_SET_PLAYER_COLOR, ///< set the color of the player/company
CMD_INCREASE_LOAN = 51, ///< increase the loan from the bank
CMD_DECREASE_LOAN = 52, ///< decrease the loan from the bank
CMD_INCREASE_LOAN, ///< increase the loan from the bank
CMD_DECREASE_LOAN, ///< decrease the loan from the bank
CMD_WANT_ENGINE_PREVIEW = 53, ///< confirm the preview of an engine
CMD_WANT_ENGINE_PREVIEW, ///< confirm the preview of an engine
CMD_NAME_VEHICLE = 54, ///< rename a whole vehicle
CMD_RENAME_ENGINE = 55, ///< rename a engine (in the engine list)
CMD_CHANGE_COMPANY_NAME = 56, ///< change the company name
CMD_CHANGE_PRESIDENT_NAME = 57, ///< change the president name
CMD_RENAME_STATION = 58, ///< rename a station
CMD_NAME_VEHICLE, ///< rename a whole vehicle
CMD_RENAME_ENGINE, ///< rename a engine (in the engine list)
CMD_CHANGE_COMPANY_NAME, ///< change the company name
CMD_CHANGE_PRESIDENT_NAME, ///< change the president name
CMD_RENAME_STATION, ///< rename a station
CMD_SELL_AIRCRAFT = 59, ///< sell an aircraft
CMD_START_STOP_AIRCRAFT = 60, ///< start/stop an aircraft
CMD_BUILD_AIRCRAFT = 61, ///< build an aircraft
CMD_SEND_AIRCRAFT_TO_HANGAR = 62, ///< send an aircraft to a hanger
CMD_REFIT_AIRCRAFT = 64, ///< refit the cargo space of an aircraft
CMD_SELL_AIRCRAFT, ///< sell an aircraft
CMD_START_STOP_AIRCRAFT, ///< start/stop an aircraft
CMD_BUILD_AIRCRAFT, ///< build an aircraft
CMD_SEND_AIRCRAFT_TO_HANGAR, ///< send an aircraft to a hanger
CMD_REFIT_AIRCRAFT, ///< refit the cargo space of an aircraft
CMD_PLACE_SIGN = 65, ///< place a sign
CMD_RENAME_SIGN = 66, ///< rename a sign
CMD_PLACE_SIGN, ///< place a sign
CMD_RENAME_SIGN, ///< rename a sign
CMD_BUILD_ROAD_VEH = 67, ///< build a road vehicle
CMD_START_STOP_ROADVEH = 68, ///< start/stop a road vehicle
CMD_SELL_ROAD_VEH = 69, ///< sell a road vehicle
CMD_SEND_ROADVEH_TO_DEPOT = 70, ///< send a road vehicle to the depot
CMD_TURN_ROADVEH = 71, ///< turn a road vehicle around
CMD_REFIT_ROAD_VEH = 72, ///< refit the cargo space of a road vehicle
CMD_BUILD_ROAD_VEH, ///< build a road vehicle
CMD_START_STOP_ROADVEH, ///< start/stop a road vehicle
CMD_SELL_ROAD_VEH, ///< sell a road vehicle
CMD_SEND_ROADVEH_TO_DEPOT, ///< send a road vehicle to the depot
CMD_TURN_ROADVEH, ///< turn a road vehicle around
CMD_REFIT_ROAD_VEH, ///< refit the cargo space of a road vehicle
CMD_PAUSE = 73, ///< pause the game
CMD_PAUSE, ///< pause the game
CMD_BUY_SHARE_IN_COMPANY = 74, ///< buy a share from a company
CMD_SELL_SHARE_IN_COMPANY = 75, ///< sell a share from a company
CMD_BUY_COMPANY = 76, ///< buy a company which is bankrupt
CMD_BUY_SHARE_IN_COMPANY, ///< buy a share from a company
CMD_SELL_SHARE_IN_COMPANY, ///< sell a share from a company
CMD_BUY_COMPANY, ///< buy a company which is bankrupt
CMD_BUILD_TOWN = 77, ///< build a town
CMD_BUILD_TOWN, ///< build a town
CMD_RENAME_TOWN = 80, ///< rename a town
CMD_DO_TOWN_ACTION = 81, ///< do a action from the town detail window (like advertises or bribe)
CMD_RENAME_TOWN, ///< rename a town
CMD_DO_TOWN_ACTION, ///< do a action from the town detail window (like advertises or bribe)
CMD_SET_ROAD_DRIVE_SIDE = 82, ///< set the side where the road vehicles drive
CMD_SET_ROAD_DRIVE_SIDE, ///< set the side where the road vehicles drive
CMD_CHANGE_DIFFICULTY_LEVEL = 85, ///< change the difficult of a game (each setting for it own)
CMD_CHANGE_DIFFICULTY_LEVEL, ///< change the difficult of a game (each setting for it own)
CMD_START_STOP_SHIP = 86, ///< start/stop a ship
CMD_SELL_SHIP = 87, ///< sell a ship
CMD_BUILD_SHIP = 88, ///< build a new ship
CMD_SEND_SHIP_TO_DEPOT = 89, ///< send a ship to a depot
CMD_REFIT_SHIP = 91, ///< refit the cargo space of a ship
CMD_START_STOP_SHIP, ///< start/stop a ship
CMD_SELL_SHIP, ///< sell a ship
CMD_BUILD_SHIP, ///< build a new ship
CMD_SEND_SHIP_TO_DEPOT, ///< send a ship to a depot
CMD_REFIT_SHIP, ///< refit the cargo space of a ship
CMD_ORDER_REFIT = 98, ///< change the refit informaction of an order (for "goto depot" )
CMD_CLONE_ORDER = 99, ///< clone (and share) an order
CMD_CLEAR_AREA = 100, ///< clear an area
CMD_ORDER_REFIT, ///< change the refit informaction of an order (for "goto depot" )
CMD_CLONE_ORDER, ///< clone (and share) an order
CMD_CLEAR_AREA, ///< clear an area
CMD_MONEY_CHEAT = 102, ///< do the money cheat
CMD_BUILD_CANAL = 103, ///< build a canal
CMD_MONEY_CHEAT, ///< do the money cheat
CMD_BUILD_CANAL, ///< build a canal
CMD_PLAYER_CTRL = 104, ///< used in multiplayer to create a new player etc.
CMD_LEVEL_LAND = 105, ///< level land
CMD_PLAYER_CTRL, ///< used in multiplayer to create a new player etc.
CMD_LEVEL_LAND, ///< level land
CMD_REFIT_RAIL_VEHICLE = 106, ///< refit the cargo space of a train
CMD_RESTORE_ORDER_INDEX = 107, ///< restore vehicle order-index and service interval
CMD_BUILD_LOCK = 108, ///< build a lock
CMD_REFIT_RAIL_VEHICLE, ///< refit the cargo space of a train
CMD_RESTORE_ORDER_INDEX, ///< restore vehicle order-index and service interval
CMD_BUILD_LOCK, ///< build a lock
CMD_BUILD_SIGNAL_TRACK = 110, ///< add signals along a track (by dragging)
CMD_REMOVE_SIGNAL_TRACK = 111, ///< remove signals along a track (by dragging)
CMD_BUILD_SIGNAL_TRACK, ///< add signals along a track (by dragging)
CMD_REMOVE_SIGNAL_TRACK, ///< remove signals along a track (by dragging)
CMD_GIVE_MONEY = 113, ///< give money to an other player
CMD_CHANGE_PATCH_SETTING = 114, ///< change a patch setting
CMD_GIVE_MONEY, ///< give money to an other player
CMD_CHANGE_PATCH_SETTING, ///< change a patch setting
CMD_SET_AUTOREPLACE = 115, ///< set an autoreplace entry
CMD_SET_AUTOREPLACE, ///< set an autoreplace entry
CMD_CLONE_VEHICLE = 116, ///< clone a vehicle
CMD_MASS_START_STOP = 117, ///< start/stop all vehicles (in a depot)
CMD_DEPOT_SELL_ALL_VEHICLES = 118, ///< sell all vehicles which are in a given depot
CMD_DEPOT_MASS_AUTOREPLACE = 119, ///< force the autoreplace to take action in a given depot
CMD_CLONE_VEHICLE, ///< clone a vehicle
CMD_MASS_START_STOP, ///< start/stop all vehicles (in a depot)
CMD_DEPOT_SELL_ALL_VEHICLES, ///< sell all vehicles which are in a given depot
CMD_DEPOT_MASS_AUTOREPLACE, ///< force the autoreplace to take action in a given depot
CMD_CREATE_GROUP = 120, ///< create a new group
CMD_DELETE_GROUP = 121, ///< delete a group
CMD_RENAME_GROUP = 122, ///< rename a group
CMD_ADD_VEHICLE_GROUP = 123, ///< add a vehicle to a group
CMD_ADD_SHARED_VEHICLE_GROUP = 124, ///< add all other shared vehicles to a group which are missing
CMD_REMOVE_ALL_VEHICLES_GROUP = 125, ///< remove all vehicles from a group
CMD_SET_GROUP_REPLACE_PROTECTION = 126, ///< set the autoreplace-protection for a group
CMD_CREATE_GROUP, ///< create a new group
CMD_DELETE_GROUP, ///< delete a group
CMD_RENAME_GROUP, ///< rename a group
CMD_ADD_VEHICLE_GROUP, ///< add a vehicle to a group
CMD_ADD_SHARED_VEHICLE_GROUP, ///< add all other shared vehicles to a group which are missing
CMD_REMOVE_ALL_VEHICLES_GROUP, ///< remove all vehicles from a group
CMD_SET_GROUP_REPLACE_PROTECTION, ///< set the autoreplace-protection for a group
CMD_MOVE_ORDER = 127, ///< move an order
CMD_CHANGE_TIMETABLE = 128, ///< change the timetable for a vehicle
CMD_SET_VEHICLE_ON_TIME = 129, ///< set the vehicle on time feature (timetable)
CMD_AUTOFILL_TIMETABLE = 130, ///< autofill the timetable
CMD_MOVE_ORDER, ///< move an order
CMD_CHANGE_TIMETABLE, ///< change the timetable for a vehicle
CMD_SET_VEHICLE_ON_TIME, ///< set the vehicle on time feature (timetable)
CMD_AUTOFILL_TIMETABLE, ///< autofill the timetable
};
/**
@@ -271,7 +271,7 @@ enum {
DC_NO_RAIL_OVERLAP = 0x10, ///< don't allow overlap of rails (used in buildrail)
DC_AI_BUILDING = 0x20, ///< special building rules for AI
DC_NO_TOWN_RATING = 0x40, ///< town rating does not disallow you from building
DC_FORCETEST = 0x80, ///< force test too.
DC_BANKRUPT = 0x80, ///< company bankrupts, skip money check, skip vehicle on tile check in some cases
};
/**
+2 -2
View File
@@ -810,7 +810,7 @@ DEF_CONSOLE_CMD(ConExec)
if (argc < 2) return false;
_script_file = fopen(argv[1], "r");
_script_file = FioFOpenFile(argv[1], "r", BASE_DIR);
if (_script_file == NULL) {
if (argc == 2 || atoi(argv[2]) != 0) IConsoleError("script file not found");
@@ -834,7 +834,7 @@ DEF_CONSOLE_CMD(ConExec)
IConsoleError("Encountered errror while trying to read from script file");
_script_running = false;
fclose(_script_file);
FioFCloseFile(_script_file);
return true;
}
+24
View File
@@ -0,0 +1,24 @@
/* $Id$ */
/** @file alloc_func.cpp functions to 'handle' memory allocation errors */
#include "../stdafx.h"
#include "alloc_func.hpp"
/**
* Function to exit with an error message after malloc() or calloc() have failed
* @param size number of bytes we tried to allocate
*/
void MallocError(size_t size)
{
error("Out of memory. Cannot allocate %i bytes", size);
}
/**
* Function to exit with an error message after realloc() have failed
* @param size number of bytes we tried to allocate
*/
void ReallocError(size_t size)
{
error("Out of memory. Cannot reallocate %i bytes", size);
}
+43 -3
View File
@@ -5,6 +5,15 @@
#ifndef ALLOC_FUNC_HPP
#define ALLOC_FUNC_HPP
/**
* Functions to exit badly with an error message.
* It has to be linked so the error messages are not
* duplicated in each object file making the final
* binary needlessly large.
*/
void MallocError(size_t size);
void ReallocError(size_t size);
/**
* Simplified allocation function that allocates the specified number of
* elements of the given type. It also explicitly casts it to the requested
@@ -25,7 +34,7 @@ template <typename T> FORCEINLINE T* MallocT(size_t num_elements)
if (num_elements == 0) return NULL;
T *t_ptr = (T*)malloc(num_elements * sizeof(T));
if (t_ptr == NULL) error("Out of memory. Cannot allocate %i bytes", num_elements * sizeof(T));
if (t_ptr == NULL) MallocError(num_elements * sizeof(T));
return t_ptr;
}
@@ -49,7 +58,7 @@ template <typename T> FORCEINLINE T* CallocT(size_t num_elements)
if (num_elements == 0) return NULL;
T *t_ptr = (T*)calloc(num_elements, sizeof(T));
if (t_ptr == NULL) error("Out of memory. Cannot allocate %i bytes", num_elements * sizeof(T));
if (t_ptr == NULL) MallocError(num_elements * sizeof(T));
return t_ptr;
}
@@ -77,8 +86,39 @@ template <typename T> FORCEINLINE T* ReallocT(T *t_ptr, size_t num_elements)
}
t_ptr = (T*)realloc(t_ptr, num_elements * sizeof(T));
if (t_ptr == NULL) error("Out of memory. Cannot reallocate %i bytes", num_elements * sizeof(T));
if (t_ptr == NULL) ReallocError(num_elements * sizeof(T));
return t_ptr;
}
/**
* A small 'wrapper' for allocations that can be done on most OSes on the
* stack, but are just too large to fit in the stack on devices with a small
* stack such as the NDS.
* So when it is possible a stack allocation is made, otherwise a heap
* allocation is made and this is freed once the struct goes out of scope.
* @param T the type to make the allocation for
* @param length the amount of items to allocate
*/
template <typename T, size_t length>
struct SmallStackSafeStackAlloc {
#if !defined(__NDS__)
/** Storing the data on the stack */
T data[length];
#else
/** Storing it on the heap */
T *data;
/** Allocating the memory */
SmallStackSafeStackAlloc() : data(MallocT<T>(length)) {}
/** And freeing when it goes out of scope */
~SmallStackSafeStackAlloc() { free(data); }
#endif
/**
* Gets a pointer to the data stored in this wrapper.
* @return the pointer.
*/
operator T* () { return data; }
};
#endif /* ALLOC_FUNC_HPP */
+23 -26
View File
@@ -6,20 +6,26 @@
#include "random_func.hpp"
#include "bitmath_func.hpp"
uint32 _random_seeds[2][2];
Randomizer _random, _interactive_random;
uint32 InteractiveRandom()
uint32 Randomizer::Next()
{
const uint32 s = _random_seeds[1][0];
const uint32 t = _random_seeds[1][1];
const uint32 s = this->state[0];
const uint32 t = this->state[1];
_random_seeds[1][0] = s + ROR(t ^ 0x1234567F, 7) + 1;
return _random_seeds[1][1] = ROR(s, 3) - 1;
this->state[0] = s + ROR(t ^ 0x1234567F, 7) + 1;
return this->state[1] = ROR(s, 3) - 1;
}
uint InteractiveRandomRange(uint max)
uint32 Randomizer::Next(uint16 max)
{
return GB(InteractiveRandom(), 0, 16) * max >> 16;
return GB(this->Next(), 0, 16) * max >> 16;
}
void Randomizer::SetSeed(uint32 seed)
{
this->state[0] = seed;
this->state[1] = seed;
}
#ifdef MERSENNE_TWISTER
@@ -119,28 +125,24 @@ uint32 Random()
#else /* MERSENNE_TWISTER */
void SetRandomSeed(uint32 seed)
{
_random_seeds[0][0] = seed;
_random_seeds[0][1] = seed;
_random_seeds[1][0] = seed * 0x1234567;
_random_seeds[1][1] = _random_seeds[1][0];
_random.SetSeed(seed);
_interactive_random.SetSeed(seed * 0x1234567);
}
#ifdef RANDOM_DEBUG
#include "../network/network_data.h"
#include "../variables.h" /* _frame_counter */
#include "../player_func.h"
uint32 DoRandom(int line, const char *file)
{
if (_networking && (DEREF_CLIENT(0)->status != STATUS_INACTIVE || !_network_server))
if (_networking && (DEREF_CLIENT(0)->status != STATUS_INACTIVE || !_network_server)) {
printf("Random [%d/%d] %s:%d\n",_frame_counter, (byte)_current_player, file, line);
#else /* RANDOM_DEBUG */
uint32 Random()
{
#endif /* RANDOM_DEBUG */
const uint32 s = _random_seeds[0][0];
const uint32 t = _random_seeds[0][1];
}
_random_seeds[0][0] = s + ROR(t ^ 0x1234567F, 7) + 1;
return _random_seeds[0][1] = ROR(s, 3) - 1;
return _random.Next();
}
#endif /* RANDOM_DEBUG */
#endif /* MERSENNE_TWISTER */
#if defined(RANDOM_DEBUG) && !defined(MERSENNE_TWISTER)
@@ -148,9 +150,4 @@ uint DoRandomRange(uint max, int line, const char *file)
{
return GB(DoRandom(line, file), 0, 16) * max >> 16;
}
#else /* RANDOM_DEBUG & !MERSENNE_TWISTER */
uint RandomRange(uint max)
{
return GB(Random(), 0, 16) * max >> 16;
}
#endif /* RANDOM_DEBUG & !MERSENNE_TWISTER */
+35 -8
View File
@@ -1,6 +1,6 @@
/* $Id$ */
/** @file random_func.h */
/** @file random_func.hpp */
#ifndef RANDOM_FUNC_HPP
#define RANDOM_FUNC_HPP
@@ -27,6 +27,35 @@
// Doesn't work with network yet.
// #define MERSENNE_TWISTER
/**
* Structure to encapsulate the pseudo random number generators.
*/
struct Randomizer {
/** The state of the randomizer */
uint32 state[2];
/**
* Generate the next pseudo random number
* @return the random number
*/
uint32 Next();
/**
* Generate the next pseudo random number scaled to max
* @param max the maximum value of the returned random number
* @return the random number
*/
uint32 Next(uint16 max);
/**
* (Re)set the state of the random number generator.
* @param seed the new state
*/
void SetSeed(uint32 seed);
};
extern Randomizer _random; ///< Random used in the game state calculations
extern Randomizer _interactive_random; ///< Random used every else where is does not (directly) influence the game state
void SetRandomSeed(uint32 seed);
#ifdef RANDOM_DEBUG
#define Random() DoRandom(__LINE__, __FILE__)
@@ -34,12 +63,12 @@ void SetRandomSeed(uint32 seed);
#define RandomRange(max) DoRandomRange(max, __LINE__, __FILE__)
uint DoRandomRange(uint max, int line, const char *file);
#else
uint32 Random();
uint RandomRange(uint max);
static inline uint32 Random() { return _random.Next(); }
static inline uint32 RandomRange(uint16 max) { return _random.Next(max); }
#endif
uint32 InteractiveRandom(); // Used for random sequences that are not the same on the other end of the multiplayer link
uint InteractiveRandomRange(uint max);
static inline uint32 InteractiveRandom() { return _interactive_random.Next(); }
static inline uint32 InteractiveRandomRange(uint16 max) { return _interactive_random.Next(max); }
/**
* Checks if a given randomize-number is below a given probability.
@@ -59,7 +88,7 @@ uint InteractiveRandomRange(uint max);
static inline bool Chance16I(const uint a, const uint b, const uint32 r)
{
assert(b != 0);
return (uint16)r < (uint16)((a << 16) / b);
return (uint16)r < (uint16)(((a << 16) + b / 2) / b);
}
/**
@@ -100,6 +129,4 @@ static inline bool Chance16R(const uint a, const uint b, uint32 &r)
return Chance16I(a, b, r);
}
extern uint32 _random_seeds[2][2];
#endif /* RANDOM_FUNC_HPP */
+1 -19
View File
@@ -165,24 +165,6 @@ Date ConvertYMDToDate(Year year, Month month, Day day)
/** Functions used by the IncreaseDate function */
extern void OnNewDay_Train(Vehicle *v);
extern void OnNewDay_RoadVeh(Vehicle *v);
extern void OnNewDay_Aircraft(Vehicle *v);
extern void OnNewDay_Ship(Vehicle *v);
static void OnNewDay_EffectVehicle(Vehicle *v) { /* empty */ }
extern void OnNewDay_DisasterVehicle(Vehicle *v);
typedef void OnNewVehicleDayProc(Vehicle *v);
static OnNewVehicleDayProc * _on_new_vehicle_day_proc[] = {
OnNewDay_Train,
OnNewDay_RoadVeh,
OnNewDay_Ship,
OnNewDay_Aircraft,
OnNewDay_EffectVehicle,
OnNewDay_DisasterVehicle,
};
extern void WaypointsDailyLoop();
extern void ChatMessageDailyLoop();
extern void EnginesDailyLoop();
@@ -225,7 +207,7 @@ static void RunVehicleDayProc(uint daytick)
if (v->IsValid()) {
/* Call the 32-day callback if needed */
CheckVehicle32Day(v);
_on_new_vehicle_day_proc[v->type](v);
v->OnNewDay();
}
}
}
+17 -33
View File
@@ -59,50 +59,34 @@ struct DebugLevel {
#if !defined(NO_DEBUG_MESSAGES)
/** Functionized DEBUG macro for compilers that don't support
* variadic macros (__VA_ARGS__) such as...yes MSVC2003 and lower */
#if defined(NO_VARARG_MACRO)
void CDECL DEBUG(int name, int level, ...)
{
va_list va;
const char *dbg;
const DebugLevel *dl = &debug_level[name];
if (level != 0 && *dl->level < level) return;
dbg = dl->name;
va_start(va, level);
#else
void CDECL debug(const char *dbg, ...)
{
va_list va;
va_start(va, dbg);
#endif /* NO_VARARG_MACRO */
{
const char *s;
char buf[1024];
const char *s;
char buf[1024];
s = va_arg(va, const char*);
vsnprintf(buf, lengthof(buf), s, va);
va_end(va);
s = va_arg(va, const char*);
vsnprintf(buf, lengthof(buf), s, va);
va_end(va);
#if defined(ENABLE_NETWORK)
if (_debug_socket != INVALID_SOCKET) {
char buf2[lengthof(buf) + 32];
if (_debug_socket != INVALID_SOCKET) {
char buf2[lengthof(buf) + 32];
snprintf(buf2, lengthof(buf2), "dbg: [%s] %s\n", dbg, buf);
send(_debug_socket, buf2, strlen(buf2), 0);
} else
snprintf(buf2, lengthof(buf2), "dbg: [%s] %s\n", dbg, buf);
send(_debug_socket, buf2, strlen(buf2), 0);
} else
#endif /* ENABLE_NETWORK */
{
{
#if defined(WINCE)
/* We need to do OTTD2FS twice, but as it uses a static buffer, we need to store one temporary */
TCHAR tbuf[512];
_sntprintf(tbuf, sizeof(tbuf), _T("%s"), OTTD2FS(dbg));
NKDbgPrintfW(_T("dbg: [%s] %s\n"), tbuf, OTTD2FS(buf));
/* We need to do OTTD2FS twice, but as it uses a static buffer, we need to store one temporary */
TCHAR tbuf[512];
_sntprintf(tbuf, sizeof(tbuf), _T("%s"), OTTD2FS(dbg));
NKDbgPrintfW(_T("dbg: [%s] %s\n"), tbuf, OTTD2FS(buf));
#else
fprintf(stderr, "dbg: [%s] %s\n", dbg, buf);
fprintf(stderr, "dbg: [%s] %s\n", dbg, buf);
#endif
IConsoleDebug(dbg, buf);
}
IConsoleDebug(dbg, buf);
}
}
#endif /* NO_DEBUG_MESSAGES */
+3 -35
View File
@@ -19,44 +19,14 @@
* 6.. - extremely detailed spamming
*/
/* Of course MSVC 2003 and lower has no support for variadic macros
* so we need to work around this... *sigh* */
#if defined(_MSC_VER) && (_MSC_VER < 1400)
#define NO_VARARG_MACRO
#endif
#if defined(NO_VARARG_MACRO)
enum DebugLevelType {
ai,
driver,
grf,
map,
misc,
ms,
net,
sprite,
oldloader,
ntp,
npf,
yapf,
freetype,
sl,
station,
};
#endif /* NO_VARARG_MACRO */
#ifdef NO_DEBUG_MESSAGES
#if defined(NO_VARARG_MACRO)
static inline void DEBUG(int name, int level, ...) {}
#elif defined(__GNUC__) && (__GNUC__ < 3)
#if defined(__GNUC__) && (__GNUC__ < 3)
#define DEBUG(name, level, args...)
#else
#define DEBUG(name, level, ...)
#endif
#else /* NO_DEBUG_MESSAGES */
#if defined(NO_VARARG_MACRO)
void CDECL DEBUG(int name, int level, ...);
#elif defined(__GNUC__) && (__GNUC__ < 3)
#if defined(__GNUC__) && (__GNUC__ < 3)
#define DEBUG(name, level, args...) if ((level == 0) || ( _debug_ ## name ## _level >= level)) debug(#name, args)
#else
#define DEBUG(name, level, ...) if (level == 0 || _debug_ ## name ## _level >= level) debug(#name, __VA_ARGS__)
@@ -78,9 +48,7 @@
extern int _debug_sl_level;
extern int _debug_station_level;
#if !defined(NO_VARARG_MACRO)
void CDECL debug(const char *dbg, ...);
#endif /* NO_VARARG_MACRO */
void CDECL debug(const char *dbg, ...);
#endif /* NO_DEBUG_MESSAGES */
void SetDebugString(const char *s);
+2 -2
View File
@@ -45,7 +45,7 @@ static inline bool IsTileDepotType(TileIndex tile, TransportType type)
return IsTileType(tile, MP_RAILWAY) && GetRailTileType(tile) == RAIL_TILE_DEPOT;
case TRANSPORT_ROAD:
return IsTileType(tile, MP_ROAD) && GetRoadTileType(tile) == ROAD_TILE_DEPOT;
return IsRoadDepotTile(tile);
case TRANSPORT_WATER:
return IsTileType(tile, MP_WATER) && GetWaterTileType(tile) == WATER_TILE_DEPOT;
@@ -64,7 +64,7 @@ static inline bool IsTileDepotType(TileIndex tile, TransportType type)
static inline bool IsDepotTile(TileIndex tile)
{
switch (GetTileType(tile)) {
case MP_ROAD: return GetRoadTileType(tile) == ROAD_TILE_DEPOT;
case MP_ROAD: return IsRoadDepot(tile);
case MP_WATER: return GetWaterTileType(tile) == WATER_TILE_DEPOT;
case MP_RAILWAY: return GetRailTileType(tile) == RAIL_TILE_DEPOT;
case MP_STATION: return IsHangar(tile);
+8 -1
View File
@@ -519,9 +519,11 @@ static void ResizeDepotButtons(Window *w)
* Only use this if it's the same widget, that's used for more than one vehicle type and it needs different text/sprites
* Vehicle specific text/sprites, that's in a widget, that's only shown for one vehicle type (like sell whole train) is set in the widget array
*/
static void SetupStringsForDepotWindow(Window *w, byte type)
static void SetupStringsForDepotWindow(Window *w, VehicleType type)
{
switch (type) {
default: NOT_REACHED();
case VEH_TRAIN:
w->widget[DEPOT_WIDGET_CAPTION].data = STR_8800_TRAIN_DEPOT;
w->widget[DEPOT_WIDGET_STOP_ALL].tooltips = STR_MASS_STOP_DEPOT_TRAIN_TIP;
@@ -858,8 +860,13 @@ static void DepotWndProc(Window *w, WindowEvent *e)
} break;
case WE_ABORT_PLACE_OBJ: {
/* abort clone */
w->RaiseWidget(DEPOT_WIDGET_CLONE);
w->InvalidateWidget(DEPOT_WIDGET_CLONE);
/* abort drag & drop */
WP(w, depot_d).sel = INVALID_VEHICLE;
w->InvalidateWidget(DEPOT_WIDGET_MATRIX);
} break;
/* check if a vehicle in a depot was clicked.. */
+6 -12
View File
@@ -72,6 +72,9 @@ static void DisasterClearSquare(TileIndex tile)
_current_player = OWNER_WATER;
DoCommand(tile, 0, 0, DC_EXEC, CMD_LANDSCAPE_CLEAR);
_current_player = p;
/* update signals in buffer */
UpdateSignalsInBuffer();
}
break;
@@ -138,8 +141,7 @@ static void InitializeDisasterVehicle(Vehicle *v, int x, int y, byte z, Directio
DisasterVehicleUpdateImage(v);
VehiclePositionChanged(v);
BeginVehicleMove(v);
EndVehicleMove(v);
MarkSingleVehicleDirty(v);
}
static void DeleteDisasterVeh(Vehicle *v)
@@ -547,8 +549,7 @@ static void DisasterTick_Helicopter_Rotors(Vehicle *v)
if (++v->cur_image > SPR_ROTOR_MOVING_3) v->cur_image = SPR_ROTOR_MOVING_1;
VehiclePositionChanged(v);
BeginVehicleMove(v);
EndVehicleMove(v);
MarkSingleVehicleDirty(v);
}
/**
@@ -706,8 +707,7 @@ static void DisasterTick_Submarine(Vehicle *v)
if (++v->age > 8880) {
VehiclePositionChanged(v);
BeginVehicleMove(v);
EndVehicleMove(v);
MarkSingleVehicleDirty(v);
delete v;
return;
}
@@ -749,12 +749,6 @@ void DisasterVehicle::Tick()
_disastervehicle_tick_procs[this->subtype](this);
}
void OnNewDay_DisasterVehicle(Vehicle *v)
{
// not used
}
typedef void DisasterInitProc();
+14 -10
View File
@@ -19,6 +19,7 @@
#include "viewport_func.h"
#include "gfx_func.h"
#include "player_func.h"
#include "slope_func.h"
#include "table/sprites.h"
#include "table/strings.h"
@@ -189,14 +190,11 @@ static void BuildDocksToolbWndProc(Window *w, WindowEvent *e)
TileIndex tile_from;
TileIndex tile_to;
tile_from = tile_to = e->we.place.tile;
switch (GetTileSlope(tile_from, NULL)) {
case SLOPE_SW: tile_to += TileDiffXY(-1, 0); break;
case SLOPE_SE: tile_to += TileDiffXY( 0, -1); break;
case SLOPE_NW: tile_to += TileDiffXY( 0, 1); break;
case SLOPE_NE: tile_to += TileDiffXY( 1, 0); break;
default: break;
}
tile_from = e->we.place.tile;
DiagDirection dir = GetInclinedSlopeDirection(GetTileSlope(tile_from, NULL));
tile_to = (dir != INVALID_DIAGDIR ? TileAddByDiagDir(tile_from, ReverseDiagDir(dir)) : tile_from);
VpSetPresizeRange(tile_from, tile_to);
} break;
@@ -245,7 +243,7 @@ static void BuildDockStationWndProc(Window *w, WindowEvent *e)
case WE_CREATE: w->LowerWidget(_station_show_coverage + 3); break;
case WE_PAINT: {
int rad = (_patches.modified_catchment) ? CA_DOCK : 4;
int rad = (_patches.modified_catchment) ? CA_DOCK : CA_UNMODIFIED;
if (WP(w, def_d).close) return;
DrawWindowWidgets(w);
@@ -256,7 +254,13 @@ static void BuildDockStationWndProc(Window *w, WindowEvent *e)
SetTileSelectSize(1, 1);
}
DrawStationCoverageAreaText(4, 50, SCT_ALL, rad);
int text_end = DrawStationCoverageAreaText(4, 50, SCT_ALL, rad) + 4;
if (text_end > w->widget[2].bottom) {
SetWindowDirty(w);
ResizeWindowForWidget(w, 2, 0, text_end - w->widget[2].bottom);
SetWindowDirty(w);
}
break;
}
+1 -1
View File
@@ -64,7 +64,7 @@ static void ChangeTileOwner_Dummy(TileIndex tile, PlayerID old_player, PlayerID
/* not used */
}
static uint32 GetTileTrackStatus_Dummy(TileIndex tile, TransportType mode, uint sub_mode)
static uint32 GetTileTrackStatus_Dummy(TileIndex tile, TransportType mode, uint sub_mode, DiagDirection side)
{
return 0;
}
+15 -9
View File
@@ -41,6 +41,7 @@
#include "sound_func.h"
#include "track_type.h"
#include "track_func.h"
#include "road_func.h"
#include "rail_map.h"
#include "signal_func.h"
#include "gfx_func.h"
@@ -162,11 +163,9 @@ int UpdateCompanyRatingAndValue(Player *p, bool update)
num++;
if (v->age > 730) {
/* Find the vehicle with the lowest amount of profit */
if (min_profit_first == true) {
min_profit = v->profit_last_year;
if (min_profit_first || min_profit > v->profit_last_year >> 8) {
min_profit = v->profit_last_year >> 8;
min_profit_first = false;
} else if (min_profit > v->profit_last_year) {
min_profit = v->profit_last_year;
}
}
}
@@ -432,7 +431,9 @@ void ChangeOwnershipOfPlayerItems(PlayerID old_player, PlayerID new_player)
if (new_player != PLAYER_SPECTATOR) {
/* Update all signals because there can be new segment that was owned by two players
* and signals were not propagated */
* and signals were not propagated
* Similiar with crossings - it is needed to bar crossings that weren't before
* because of different owner of crossing and approaching train */
tile = 0;
do {
@@ -440,11 +441,16 @@ void ChangeOwnershipOfPlayerItems(PlayerID old_player, PlayerID new_player)
TrackBits tracks = GetTrackBits(tile);
do { // there may be two tracks with signals for TRACK_BIT_HORZ and TRACK_BIT_VERT
Track track = RemoveFirstTrack(&tracks);
if (HasSignalOnTrack(tile, track)) SetSignalsOnBothDir(tile, track, new_player);
if (HasSignalOnTrack(tile, track)) AddTrackToSignalBuffer(tile, track, new_player);
} while (tracks != TRACK_BIT_NONE);
} else if (IsLevelCrossingTile(tile) && IsTileOwner(tile, new_player)) {
UpdateLevelCrossing(tile);
}
} while (++tile != MapSize());
}
/* update signals in buffer */
UpdateSignalsInBuffer();
}
/* Change color of existing windows */
@@ -1497,7 +1503,7 @@ void VehiclePayment(Vehicle *front_v)
cp->days_in_transit,
v->cargo_type);
front_v->profit_this_year += profit;
front_v->profit_this_year += profit << 8;
virtual_profit += profit; // accumulate transfer profits for whole vehicle
cp->feeder_share += profit; // account for the (virtual) profit already made for the cargo packet
cp->paid_for = true; // record that the cargo has been paid for to eliminate double counting
@@ -1515,7 +1521,7 @@ void VehiclePayment(Vehicle *front_v)
}
if (route_profit != 0) {
front_v->profit_this_year += vehicle_profit;
front_v->profit_this_year += vehicle_profit << 8;
SubtractMoneyFromPlayer(CommandCost(front_v->GetExpenseType(true), -route_profit));
if (IsLocalPlayer() && !PlayVehicleSound(front_v, VSE_LOAD_UNLOAD)) {
@@ -1863,7 +1869,7 @@ CommandCost CmdBuyShareInCompany(TileIndex tile, uint32 flags, uint32 p1, uint32
if (!p->is_active) return CMD_ERROR;
/* Protect new companies from hostile takeovers */
if (_cur_year - p->inaugurated_year < 6) return_cmd_error(STR_7080_PROTECTED);
if (_cur_year - p->inaugurated_year < 6) return_cmd_error(STR_PROTECTED);
/* Those lines are here for network-protection (clients can be slow) */
if (GetAmountOwnedBy(p, PLAYER_SPECTATOR) == 0) return cost;
+13 -12
View File
@@ -112,18 +112,19 @@ assert_compile(NUM_PRICES * sizeof(Money) == sizeof(Prices));
enum ExpensesType {
EXPENSES_CONSTRUCTION = 0,
EXPENSES_NEW_VEHICLES = 1,
EXPENSES_TRAIN_RUN = 2,
EXPENSES_ROADVEH_RUN = 3,
EXPENSES_AIRCRAFT_RUN = 4,
EXPENSES_SHIP_RUN = 5,
EXPENSES_PROPERTY = 6,
EXPENSES_TRAIN_INC = 7,
EXPENSES_ROADVEH_INC = 8,
EXPENSES_AIRCRAFT_INC = 9,
EXPENSES_SHIP_INC = 10,
EXPENSES_LOAN_INT = 11,
EXPENSES_OTHER = 12,
EXPENSES_NEW_VEHICLES,
EXPENSES_TRAIN_RUN,
EXPENSES_ROADVEH_RUN,
EXPENSES_AIRCRAFT_RUN,
EXPENSES_SHIP_RUN,
EXPENSES_PROPERTY,
EXPENSES_TRAIN_INC,
EXPENSES_ROADVEH_INC,
EXPENSES_AIRCRAFT_INC,
EXPENSES_SHIP_INC,
EXPENSES_LOAN_INT,
EXPENSES_OTHER,
EXPENSES_END,
INVALID_EXPENSES = 0xFF,
};
+23 -25
View File
@@ -64,6 +64,7 @@
#include "tunnelbridge_map.h"
#include "vehicle_func.h"
#include "player_base.h"
#include "tunnelbridge.h"
#include "table/sprites.h"
#include "table/elrail_data.h"
@@ -73,8 +74,11 @@ static inline TLG GetTLG(TileIndex t)
return (TLG)((HasBit(TileX(t), 0) << 1) + HasBit(TileY(t), 0));
}
/** Finds which Rail Bits are present on a given tile. For bridge tiles,
* returns track bits under the bridge
/**
* Finds which Electrified Rail Bits are present on a given tile.
* @param t tile to check
* @param override pointer to PCP override, can be NULL
* @return trackbits of tile if it is electrified
*/
static TrackBits GetRailTrackBitsUniversal(TileIndex t, byte *override)
{
@@ -93,13 +97,13 @@ static TrackBits GetRailTrackBitsUniversal(TileIndex t, byte *override)
case MP_TUNNELBRIDGE:
if (GetRailType(t) != RAILTYPE_ELECTRIC) return TRACK_BIT_NONE;
if (override != NULL && (IsTunnel(t) || DistanceMax(t, GetOtherBridgeEnd(t)) > 1)) {
if (override != NULL && (IsTunnel(t) || GetTunnelBridgeLength(t, GetOtherBridgeEnd(t)) > 0)) {
*override = 1 << GetTunnelBridgeDirection(t);
}
return AxisToTrackBits(DiagDirToAxis(GetTunnelBridgeDirection(t)));
case MP_ROAD:
if (GetRoadTileType(t) != ROAD_TILE_CROSSING) return TRACK_BIT_NONE;
if (!IsLevelCrossing(t)) return TRACK_BIT_NONE;
if (GetRailType(t) != RAILTYPE_ELECTRIC) return TRACK_BIT_NONE;
return GetCrossingRailBits(t);
@@ -126,13 +130,7 @@ static void AdjustTileh(TileIndex tile, Slope *tileh)
} else if (*tileh != SLOPE_FLAT) {
*tileh = SLOPE_FLAT;
} else {
switch (GetTunnelBridgeDirection(tile)) {
case DIAGDIR_NE: *tileh = SLOPE_NE; break;
case DIAGDIR_SE: *tileh = SLOPE_SE; break;
case DIAGDIR_SW: *tileh = SLOPE_SW; break;
case DIAGDIR_NW: *tileh = SLOPE_NW; break;
default: NOT_REACHED();
}
*tileh = InclinedSlope(GetTunnelBridgeDirection(tile));
}
}
}
@@ -191,7 +189,7 @@ void DrawCatenaryOnTunnel(const TileInfo *ti)
sss->image, PAL_NONE, ti->x + sss->x_offset, ti->y + sss->y_offset,
BB_data[2] - sss->x_offset, BB_data[3] - sss->y_offset, BB_Z_SEPARATOR - sss->z_offset + 1,
GetTileZ(ti->tile) + sss->z_offset,
IsTransparencySet(TO_BUILDINGS),
IsTransparencySet(TO_CATENARY),
BB_data[0] - sss->x_offset, BB_data[1] - sss->y_offset, BB_Z_SEPARATOR - sss->z_offset
);
}
@@ -338,7 +336,7 @@ static void DrawCatenaryRailway(const TileInfo *ti)
AddSortableSpriteToDraw(pylon_sprites[temp], PAL_NONE, x, y, 1, 1, BB_HEIGHT_UNDER_BRIDGE,
GetPCPElevation(ti->tile, i),
IsTransparencySet(TO_BUILDINGS), -1, -1);
IsTransparencySet(TO_CATENARY), -1, -1);
break; /* We already have drawn a pylon, bail out */
}
}
@@ -346,7 +344,7 @@ static void DrawCatenaryRailway(const TileInfo *ti)
}
/* Don't draw a wire under a low bridge */
if (MayHaveBridgeAbove(ti->tile) && IsBridgeAbove(ti->tile) && !IsTransparencySet(TO_BUILDINGS)) {
if (MayHaveBridgeAbove(ti->tile) && IsBridgeAbove(ti->tile) && !IsTransparencySet(TO_CATENARY)) {
uint height = GetBridgeHeight(GetNorthernBridgeEnd(ti->tile));
if (height <= GetTileMaxZ(ti->tile) + TILE_HEIGHT) return;
@@ -373,7 +371,7 @@ static void DrawCatenaryRailway(const TileInfo *ti)
*/
AddSortableSpriteToDraw(sss->image, PAL_NONE, ti->x + sss->x_offset, ti->y + sss->y_offset,
sss->x_size, sss->y_size, sss->z_size, GetSlopeZ(ti->x + sss->x_offset, ti->y + sss->y_offset) + sss->z_offset,
IsTransparencySet(TO_BUILDINGS));
IsTransparencySet(TO_CATENARY));
}
}
}
@@ -383,8 +381,8 @@ static void DrawCatenaryOnBridge(const TileInfo *ti)
TileIndex end = GetSouthernBridgeEnd(ti->tile);
TileIndex start = GetOtherBridgeEnd(end);
uint length = GetBridgeLength(start, end);
uint num = DistanceMax(ti->tile, start);
uint length = GetTunnelBridgeLength(start, end);
uint num = GetTunnelBridgeLength(ti->tile, start) + 1;
uint height;
const SortableSpriteStruct *sss;
@@ -406,7 +404,7 @@ static void DrawCatenaryOnBridge(const TileInfo *ti)
AddSortableSpriteToDraw(sss->image, PAL_NONE, ti->x + sss->x_offset, ti->y + sss->y_offset,
sss->x_size, sss->y_size, sss->z_size, height + sss->z_offset,
IsTransparencySet(TO_BUILDINGS)
IsTransparencySet(TO_CATENARY)
);
/* Finished with wires, draw pylons */
@@ -417,17 +415,17 @@ static void DrawCatenaryOnBridge(const TileInfo *ti)
if (HasBit(tlg, (axis == AXIS_X ? 0 : 1))) PPPpos = ReverseDir(PPPpos);
uint x = ti->x + x_pcp_offsets[PCPpos] + x_ppp_offsets[PPPpos];
uint y = ti->y + y_pcp_offsets[PCPpos] + y_ppp_offsets[PPPpos];
AddSortableSpriteToDraw(pylon_sprites[PPPpos], PAL_NONE, x, y, 1, 1, BB_HEIGHT_UNDER_BRIDGE, height, IsTransparencySet(TO_BUILDINGS), -1, -1);
AddSortableSpriteToDraw(pylon_sprites[PPPpos], PAL_NONE, x, y, 1, 1, BB_HEIGHT_UNDER_BRIDGE, height, IsTransparencySet(TO_CATENARY), -1, -1);
}
/* need a pylon on the southern end of the bridge */
if (DistanceMax(ti->tile, start) == length) {
if (GetTunnelBridgeLength(ti->tile, start) + 1 == length) {
DiagDirection PCPpos = (axis == AXIS_X ? DIAGDIR_SW : DIAGDIR_SE);
Direction PPPpos = (axis == AXIS_X ? DIR_NW : DIR_NE);
if (HasBit(tlg, (axis == AXIS_X ? 0 : 1))) PPPpos = ReverseDir(PPPpos);
uint x = ti->x + x_pcp_offsets[PCPpos] + x_ppp_offsets[PPPpos];
uint y = ti->y + y_pcp_offsets[PCPpos] + y_ppp_offsets[PPPpos];
AddSortableSpriteToDraw(pylon_sprites[PPPpos], PAL_NONE, x, y, 1, 1, BB_HEIGHT_UNDER_BRIDGE, height, IsTransparencySet(TO_BUILDINGS), -1, -1);
AddSortableSpriteToDraw(pylon_sprites[PPPpos], PAL_NONE, x, y, 1, 1, BB_HEIGHT_UNDER_BRIDGE, height, IsTransparencySet(TO_CATENARY), -1, -1);
}
}
@@ -453,7 +451,7 @@ void DrawCatenary(const TileInfo *ti)
sss->image, PAL_NONE, ti->x + sss->x_offset, ti->y + sss->y_offset,
sss->x_size, sss->y_size, sss->z_size,
GetTileMaxZ(ti->tile) + sss->z_offset,
IsTransparencySet(TO_BUILDINGS)
IsTransparencySet(TO_CATENARY)
);
return;
}
@@ -471,7 +469,6 @@ void DrawCatenary(const TileInfo *ti)
int32 SettingsDisableElrail(int32 p1)
{
EngineID e_id;
Vehicle *v;
Player *p;
bool disable = (p1 != 0);
@@ -481,8 +478,9 @@ int32 SettingsDisableElrail(int32 p1)
const RailType new_railtype = disable ? RAILTYPE_RAIL : RAILTYPE_ELECTRIC;
/* walk through all train engines */
for (e_id = 0; e_id < NUM_TRAIN_ENGINES; e_id++) {
RailVehicleInfo *rv_info = &_rail_vehicle_info[e_id];
EngineID eid;
FOR_ALL_ENGINEIDS_OF_TYPE(eid, VEH_TRAIN) {
RailVehicleInfo *rv_info = &_rail_vehicle_info[eid];
/* if it is an electric rail engine and its railtype is the wrong one */
if (rv_info->engclass == 2 && rv_info->railtype == old_railtype) {
/* change it to the proper one */
+28 -33
View File
@@ -91,8 +91,9 @@ static void CalcEngineReliability(Engine *e)
/* Check for early retirement */
if (e->player_avail != 0 && !_patches.never_expire_vehicles) {
uint retire_early = EngInfo(e - _engines)->retire_early;
if (retire_early > 0 && age >= e->duration_phase_1 + e->duration_phase_2 - retire_early * 12) {
int retire_early = EngInfo(e - _engines)->retire_early;
uint retire_early_max_age = max(0, e->duration_phase_1 + e->duration_phase_2 - retire_early * 12);
if (retire_early != 0 && age >= retire_early_max_age) {
/* Early retirement is enabled and we're past the date... */
e->player_avail = 0;
AddRemoveEngineFromAutoreplaceAndBuildWindows(e->type);
@@ -172,12 +173,6 @@ void StartupEngines()
e->flags |= ENGINE_AVAILABLE;
e->player_avail = 0;
}
/* This sets up type for the engine
* It is needed if you want to ask the engine what type it is
* It should hopefully be the same as when you ask a vehicle what it is
* but using this, you can ask what type an engine number is
* even if it is not a vehicle (yet)*/
}
}
@@ -196,13 +191,13 @@ static void AcceptEnginePreview(EngineID eid, PlayerID player)
SetBit(p->avail_roadtypes, HasBit(EngInfo(eid)->misc_flags, EF_ROAD_TRAM) ? ROADTYPE_TRAM : ROADTYPE_ROAD);
}
e->preview_player = INVALID_PLAYER;
e->preview_player_rank = 0xFF;
if (player == _local_player) {
AddRemoveEngineFromAutoreplaceAndBuildWindows(e->type);
}
}
static PlayerID GetBestPlayer(PlayerID pp)
static PlayerID GetBestPlayer(uint8 pp)
{
const Player *p;
int32 best_hist;
@@ -223,7 +218,7 @@ static PlayerID GetBestPlayer(PlayerID pp)
if (best_player == PLAYER_SPECTATOR) return PLAYER_SPECTATOR;
SetBit(mask, best_player);
} while (pp--, pp != 0);
} while (--p != 0);
return best_player;
}
@@ -239,16 +234,16 @@ void EnginesDailyLoop()
if (e->flags & ENGINE_EXCLUSIVE_PREVIEW) {
if (e->flags & ENGINE_OFFER_WINDOW_OPEN) {
if (e->preview_player != 0xFF && !--e->preview_wait) {
if (e->preview_player_rank != 0xFF && !--e->preview_wait) {
e->flags &= ~ENGINE_OFFER_WINDOW_OPEN;
DeleteWindowById(WC_ENGINE_PREVIEW, i);
e->preview_player++;
e->preview_player_rank++;
}
} else if (e->preview_player != 0xFF) {
PlayerID best_player = GetBestPlayer(e->preview_player);
} else if (e->preview_player_rank != 0xFF) {
PlayerID best_player = GetBestPlayer(e->preview_player_rank);
if (best_player == PLAYER_SPECTATOR) {
e->preview_player = INVALID_PLAYER;
e->preview_player_rank = 0xFF;
continue;
}
@@ -278,7 +273,7 @@ CommandCost CmdWantEnginePreview(TileIndex tile, uint32 flags, uint32 p1, uint32
if (!IsEngineIndex(p1)) return CMD_ERROR;
e = GetEngine(p1);
if (GetBestPlayer(e->preview_player) != _current_player) return CMD_ERROR;
if (GetBestPlayer(e->preview_player_rank) != _current_player) return CMD_ERROR;
if (flags & DC_EXEC) AcceptEnginePreview(p1, _current_player);
@@ -348,10 +343,9 @@ static void NewVehicleAvailable(Engine *e)
void EnginesMonthlyLoop()
{
Engine *e;
if (_cur_year < YEAR_ENGINE_AGING_STOPS) {
for (e = _engines; e != endof(_engines); e++) {
Engine *e;
FOR_ALL_ENGINES(e) {
/* Age the vehicle */
if (e->flags & ENGINE_AVAILABLE && e->age != 0xFFFF) {
e->age++;
@@ -367,7 +361,7 @@ void EnginesMonthlyLoop()
/* Do not introduce new rail wagons */
if (!IsWagon(e - _engines))
e->preview_player = (PlayerID)1; // Give to the player with the highest rating.
e->preview_player_rank = 1; // Give to the player with the highest rating.
}
}
}
@@ -410,22 +404,19 @@ CommandCost CmdRenameEngine(TileIndex tile, uint32 flags, uint32 p1, uint32 p2)
}
/*
* returns true if an engine is valid, of the specified type, and buildable by
* the given player, false otherwise
*
* engine = index of the engine to check
* type = the type the engine should be of (VEH_xxx)
* player = index of the player
/** Check if an engine is buildable.
* @param engine index of the engine to check.
* @param type the type the engine should be.
* @param player index of the player.
* @return True if an engine is valid, of the specified type, and buildable by
* the given player.
*/
bool IsEngineBuildable(EngineID engine, byte type, PlayerID player)
bool IsEngineBuildable(EngineID engine, VehicleType type, PlayerID player)
{
const Engine *e;
/* check if it's an engine that is in the engine array */
if (!IsEngineIndex(engine)) return false;
e = GetEngine(engine);
const Engine *e = GetEngine(engine);
/* check if it's an engine of specified type */
if (e->type != type) return false;
@@ -507,6 +498,10 @@ void RemoveAllEngineReplacement(EngineRenewList *erl)
EngineID EngineReplacement(EngineRenewList erl, EngineID engine, GroupID group)
{
const EngineRenew *er = GetEngineReplacement(erl, engine, group);
if (er == NULL && (group == DEFAULT_GROUP || (IsValidGroupID(group) && !GetGroup(group)->replace_protection))) {
/* We didn't find anything useful in the vehicle's own group so we will try ALL_GROUP */
er = GetEngineReplacement(erl, engine, ALL_GROUP);
}
return er == NULL ? INVALID_ENGINE : er->to;
}
@@ -618,7 +613,7 @@ static const SaveLoad _engine_desc[] = {
SLE_VAR(Engine, lifelength, SLE_UINT8),
SLE_VAR(Engine, flags, SLE_UINT8),
SLE_VAR(Engine, preview_player, SLE_UINT8),
SLE_VAR(Engine, preview_player_rank, SLE_UINT8),
SLE_VAR(Engine, preview_wait, SLE_UINT8),
SLE_CONDNULL(1, 0, 44),
SLE_VAR(Engine, player_avail, SLE_UINT8),
+6 -5
View File
@@ -42,6 +42,7 @@ struct RailVehicleInfo {
byte capacity;
CargoID cargo_type;
byte ai_rank;
byte ai_passenger_only; ///< Bit value to tell AI that this engine is for passenger use only
uint16 pow_wag_power;
byte pow_wag_weight;
byte visual_effect; // NOTE: this is not 100% implemented yet, at the moment it is only used as a 'fallback' value
@@ -109,7 +110,7 @@ struct EngineInfo {
byte refit_cost;
byte misc_flags;
byte callbackmask;
byte retire_early; ///< Number of years early to retire vehicle
int8 retire_early; ///< Number of years early to retire vehicle
StringID string_id; ///< Default name of engine
};
@@ -123,7 +124,7 @@ struct Engine {
uint16 duration_phase_1, duration_phase_2, duration_phase_3;
byte lifelength;
byte flags;
PlayerByte preview_player;
uint8 preview_player_rank;
byte preview_wait;
byte player_avail;
VehicleType type; ///< type, ie VEH_ROAD, VEH_TRAIN, etc.
@@ -167,7 +168,7 @@ void DrawAircraftEngine(int x, int y, EngineID engine, SpriteID pal);
void LoadCustomEngineNames();
void DeleteCustomEngineNames();
bool IsEngineBuildable(EngineID engine, byte type, PlayerID player);
bool IsEngineBuildable(EngineID engine, VehicleType type, PlayerID player);
CargoID GetEngineCargoType(EngineID engine);
enum {
@@ -184,14 +185,14 @@ enum {
ROAD_ENGINES_INDEX = NUM_TRAIN_ENGINES,
};
static inline EngineID GetFirstEngineOfType(byte type)
static inline EngineID GetFirstEngineOfType(VehicleType type)
{
const EngineID start[] = {0, ROAD_ENGINES_INDEX, SHIP_ENGINES_INDEX, AIRCRAFT_ENGINES_INDEX};
return start[type];
}
static inline EngineID GetLastEngineOfType(byte type)
static inline EngineID GetLastEngineOfType(VehicleType type)
{
const EngineID end[] = {
NUM_TRAIN_ENGINES,
+15 -2
View File
@@ -33,6 +33,7 @@ struct Fio {
FILE *handles[MAX_FILE_SLOTS]; ///< array of file handles we can have open
byte buffer_start[FIO_BUFFER_SIZE]; ///< local buffer when read from file
const char *filenames[MAX_FILE_SLOTS]; ///< array of filenames we (should) have open
char *shortnames[MAX_FILE_SLOTS];///< array of short names for spriteloader's use
#if defined(LIMITED_FDS)
uint open_handles; ///< current amount of open handles
uint usage_count[MAX_FILE_SLOTS]; ///< count how many times this file has been opened
@@ -47,9 +48,9 @@ uint32 FioGetPos()
return _fio.pos + (_fio.buffer - _fio.buffer_start) - FIO_BUFFER_SIZE;
}
const char *FioGetFilename()
const char *FioGetFilename(uint8 slot)
{
return _fio.filename;
return _fio.shortnames[slot];
}
void FioSeekTo(uint32 pos, int mode)
@@ -131,6 +132,10 @@ static inline void FioCloseFile(int slot)
{
if (_fio.handles[slot] != NULL) {
fclose(_fio.handles[slot]);
free(_fio.shortnames[slot]);
_fio.shortnames[slot] = NULL;
_fio.handles[slot] = NULL;
#if defined(LIMITED_FDS)
_fio.open_handles--;
@@ -184,6 +189,14 @@ void FioOpenFile(int slot, const char *filename)
FioCloseFile(slot); // if file was opened before, close it
_fio.handles[slot] = f;
_fio.filenames[slot] = filename;
/* Store the filename without path and extension */
const char *t = strrchr(filename, PATHSEPCHAR);
_fio.shortnames[slot] = strdup(t == NULL ? filename : t);
char *t2 = strrchr(_fio.shortnames[slot], '.');
if (t2 != NULL) *t2 = '\0';
strtolower(_fio.shortnames[slot]);
#if defined(LIMITED_FDS)
_fio.usage_count[slot] = 0;
_fio.open_handles++;
+1 -1
View File
@@ -12,7 +12,7 @@
void FioSeekTo(uint32 pos, int mode);
void FioSeekToFile(uint8 slot, uint32 pos);
uint32 FioGetPos();
const char *FioGetFilename();
const char *FioGetFilename(uint8 slot);
byte FioReadByte();
uint16 FioReadWord();
uint32 FioReadDword();
+3 -1
View File
@@ -19,6 +19,8 @@
#ifdef WIN32
# include <tchar.h>
# include <io.h>
# define access _taccess
# define unlink _tunlink
#else
# include <unistd.h>
#endif /* WIN32 */
@@ -202,7 +204,7 @@ bool FileExists(const char *filename)
CloseHandle(hand);
return 0;
#else
return access(filename, 0) == 0;
return access(OTTD2FS(filename), 0) == 0;
#endif
}
+20 -16
View File
@@ -518,34 +518,38 @@ void SetUnicodeGlyph(FontSize size, uint32 key, SpriteID sprite)
void InitializeUnicodeGlyphMap()
{
FontSize size;
SpriteID base;
SpriteID sprite;
uint i;
for (size = FS_NORMAL; size != FS_END; size++) {
for (FontSize size = FS_NORMAL; size != FS_END; size++) {
/* Clear out existing glyph map if it exists */
if (_unicode_glyph_map[size] != NULL) {
for (i = 0; i < 256; i++) {
for (uint i = 0; i < 256; i++) {
if (_unicode_glyph_map[size][i] != NULL) free(_unicode_glyph_map[size][i]);
}
free(_unicode_glyph_map[size]);
_unicode_glyph_map[size] = NULL;
}
base = GetFontBase(size);
for (i = ASCII_LETTERSTART; i < 256; i++) {
sprite = base + i - ASCII_LETTERSTART;
SpriteID base = GetFontBase(size);
for (uint i = ASCII_LETTERSTART; i < 256; i++) {
SpriteID sprite = base + i - ASCII_LETTERSTART;
if (!SpriteExists(sprite)) continue;
SetUnicodeGlyph(size, i, sprite);
SetUnicodeGlyph(size, i + SCC_SPRITE_START, sprite);
}
for (i = 0; i < lengthof(_default_unicode_map); i++) {
sprite = base + _default_unicode_map[i].key - ASCII_LETTERSTART;
SetUnicodeGlyph(size, _default_unicode_map[i].code, sprite);
for (uint i = 0; i < lengthof(_default_unicode_map); i++) {
byte key = _default_unicode_map[i].key;
if (key == CLRA || key == CLRL) {
/* Clear the glyph. This happens if the glyph at this code point
* is non-standard and should be accessed by an SCC_xxx enum
* entry only. */
if (key == CLRA || size == FS_LARGE) {
SetUnicodeGlyph(size, _default_unicode_map[i].code, 0);
}
} else {
SpriteID sprite = base + key - ASCII_LETTERSTART;
SetUnicodeGlyph(size, _default_unicode_map[i].code, sprite);
}
}
}
}
+2 -1
View File
@@ -24,6 +24,7 @@
#include "engine.h"
#include "settings_type.h"
#include "newgrf_storage.h"
#include "water.h"
#include "table/sprites.h"
@@ -89,7 +90,7 @@ static void *_GenerateWorld(void *arg)
if (_network_dedicated) DEBUG(net, 0, "Generating map, please wait...");
/* Set the Random() seed to generation_seed so we produce the same map with the same seed */
if (_patches.generation_seed == GENERATE_NEW_SEED) _patches.generation_seed = _patches_newgame.generation_seed = InteractiveRandom();
_random_seeds[0][0] = _random_seeds[0][1] = _patches.generation_seed;
_random.SetSeed(_patches.generation_seed);
SetGeneratingWorldProgress(GWP_MAP_INIT, 2);
SetObjectToPlace(SPR_CURSOR_ZZZ, PAL_NONE, VHM_NONE, WC_MAIN_WINDOW, 0);
+471 -431
View File
File diff suppressed because it is too large Load Diff
+1 -8
View File
@@ -65,12 +65,11 @@ extern uint16 _cur_resolution[2];
extern Colour _cur_palette[256];
void HandleKeypress(uint32 key);
void HandleCtrlChanged();
void HandleMouseEvents();
void CSleep(int milliseconds);
void UpdateWindows();
uint32 InteractiveRandom(); //< Used for random sequences that are not the same on the other end of the multiplayer link
uint InteractiveRandomRange(uint max);
void DrawChatMessage();
void DrawMouseCursor();
void ScreenSizeChanged();
@@ -83,12 +82,6 @@ void GfxScroll(int left, int top, int width, int height, int xo, int yo);
void DrawSprite(SpriteID img, SpriteID pal, int x, int y, const SubSprite *sub = NULL);
/* XXX doesn't really belong here, but the only
* consumers always use it in conjunction with DoDrawString() */
#define UPARROW "\xEE\x8A\x80"
#define DOWNARROW "\xEE\x8A\xAA"
int DrawStringCentered(int x, int y, StringID str, uint16 color);
int DrawStringCenteredTruncated(int xl, int xr, int y, StringID str, uint16 color);
int DoDrawStringCentered(int x, int y, const char *str, uint16 color);
+10 -152
View File
@@ -30,7 +30,6 @@ struct FileList {
MD5File basic[2]; ///< GRF files that always have to be loaded
MD5File landscape[3]; ///< Landscape specific grf files
MD5File sound; ///< Sound samples
MD5File chars; ///< GRF File with character replacements
MD5File openttd; ///< GRF File with OTTD specific graphics
};
@@ -71,20 +70,15 @@ void LoadSpritesIndexed(int file_index, uint *sprite_id, const SpriteID *index_t
while ((start = *index_tbl++) != END) {
uint end = *index_tbl++;
if (start == SKIP) { // skip sprites (amount in second var)
SkipSprites(end);
(*sprite_id) += end;
} else { // load sprites and use indexes from start to end
do {
#ifdef NDEBUG
LoadNextSprite(start, file_index, *sprite_id);
#else
bool b = LoadNextSprite(start, file_index, *sprite_id);
assert(b);
#endif
(*sprite_id)++;
} while (++start <= end);
}
do {
#ifdef NDEBUG
LoadNextSprite(start, file_index, *sprite_id);
#else
bool b = LoadNextSprite(start, file_index, *sprite_id);
assert(b);
#endif
(*sprite_id)++;
} while (++start <= end);
}
}
@@ -192,10 +186,6 @@ void CheckExternalFiles()
add_pos += snprintf(add_pos, ERROR_MESSAGE_LENGTH, "Your 'sample.cat' file is corrupted or missing! You can find 'sample.cat' on your Transport Tycoon Deluxe CD-ROM.\n");
}
if (!FileMD5(files->chars)) {
add_pos += snprintf(add_pos, ERROR_MESSAGE_LENGTH, "Your '%s' file is corrupted or missing! The file was part of your installation.\n", files->chars.filename);
}
if (!FileMD5(files->openttd)) {
add_pos += snprintf(add_pos, ERROR_MESSAGE_LENGTH, "Your '%s' file is corrupted or missing! The file was part of your installation.\n", files->openttd.filename);
}
@@ -204,142 +194,12 @@ void CheckExternalFiles()
}
static const SpriteID trg1idx[] = {
0, 1, ///< Mouse cursor, ZZZ
/* Medium font */
2, 92, ///< ' ' till 'z'
SKIP, 36,
160, 160, ///< Move Ÿ to the correct position
98, 98, ///< Up arrow
131, 133,
SKIP, 1, ///< skip currency sign
135, 135,
SKIP, 1,
137, 137,
SKIP, 1,
139, 139,
140, 140, ///< @todo Down arrow
141, 141,
142, 142, ///< @todo Check mark
143, 143, ///< @todo Cross
144, 144,
145, 145, ///< @todo Right arrow
146, 149,
118, 122, ///< Transport markers
SKIP, 2,
157, 157,
114, 115, ///< Small up/down arrows
SKIP, 1,
161, 225,
/* Small font */
226, 316, ///< ' ' till 'z'
SKIP, 36,
384, 384, ///< Move Ÿ to the correct position
322, 322, ///< Up arrow
355, 357,
SKIP, 1, ///< skip currency sign
359, 359,
SKIP, 1,
361, 361,
SKIP, 1,
363, 363,
364, 364, ////< @todo Down arrow
365, 366,
SKIP, 1,
368, 368,
369, 369, ///< @todo Right arrow
370, 373,
SKIP, 7,
381, 381,
SKIP, 3,
385, 449,
/* Big font */
450, 540, ///< ' ' till 'z'
SKIP, 36,
608, 608, ///< Move Ÿ to the correct position
SKIP, 1,
579, 581,
SKIP, 1,
583, 583,
SKIP, 5,
589, 589,
SKIP, 15,
605, 605,
SKIP, 3,
609, 625,
SKIP, 1,
627, 632,
SKIP, 1,
634, 639,
SKIP, 1,
641, 657,
SKIP, 1,
659, 664,
SKIP, 2,
667, 671,
SKIP, 1,
673, 673,
/* Graphics */
674, 4792,
END
};
/** Replace some letter sprites with some other letters */
static const SpriteID _chars_grf_indexes[] = {
134, 134, ///< euro symbol medium size
582, 582, ///< euro symbol large size
358, 358, ///< euro symbol tiny
648, 648, ///< nordic char: æ
616, 616, ///< nordic char: Æ
666, 666, ///< nordic char: ø
634, 634, ///< nordic char: Ø
382, 383, ///< Œ œ tiny
158, 159, ///< Œ œ medium
606, 607, ///< Œ œ large
360, 360, ///< Š tiny
362, 362, ///< š tiny
136, 136, ///< Š medium
138, 138, ///< š medium
584, 584, ///< Š large
586, 586, ///< š large
626, 626, ///< Ð large
658, 658, ///< ð large
374, 374, ///< Ž tiny
378, 378, ///< ž tiny
150, 150, ///< Ž medium
154, 154, ///< ž medium
598, 598, ///< Ž large
602, 602, ///< ž large
640, 640, ///< Þ large
672, 672, ///< þ large
380, 380, ///< º tiny
156, 156, ///< º medium
604, 604, ///< º large
317, 320, ///< { | } ~ tiny
93, 96, ///< { | } ~ medium
541, 544, ///< { | } ~ large
585, 585, ///< § large
587, 587, ///< © large
592, 592, ///< ® large
594, 597, ///< ° ± ² ³ large
633, 633, ///< × large
665, 665, ///< ÷ large
377, 377, ///< · small
153, 153, ///< · medium
601, 601, ///< · large
END
};
static void LoadSpriteTables()
{
const FileList *files = _use_dos_palette ? &files_dos : &files_win;
uint i = FIRST_GRF_SLOT;
LoadGrfIndexed(files->basic[0].filename, trg1idx, i++);
DupSprite( 2, 130); // non-breaking space medium
DupSprite(226, 354); // non-breaking space tiny
DupSprite(450, 578); // non-breaking space large
LoadGrfFile(files->basic[0].filename, 0, i++);
/*
* The second basic file always starts at the given location and does
@@ -362,8 +222,6 @@ static void LoadSpriteTables()
);
}
LoadGrfIndexed(files->chars.filename, _chars_grf_indexes, i++);
/* Initialize the unicode to sprite mapping table */
InitializeUnicodeGlyphMap();
+1 -1
View File
@@ -43,7 +43,7 @@ enum {
};
/* Apparently these don't play well with enums. */
static const OverflowSafeInt64 INVALID_DATAPOINT = INT64_MAX; // Value used for a datapoint that shouldn't be drawn.
static const OverflowSafeInt64 INVALID_DATAPOINT(INT64_MAX); // Value used for a datapoint that shouldn't be drawn.
static const uint INVALID_DATAPOINT_POS = UINT_MAX; // Used to determine if the previous point was drawn.
struct GraphDrawer {
+47 -40
View File
@@ -23,6 +23,7 @@
#include "viewport_func.h"
#include "gfx_func.h"
#include "player_func.h"
#include "widgets/dropdown_type.h"
#include "widgets/dropdown_func.h"
#include "table/strings.h"
@@ -114,7 +115,6 @@ enum GroupListWidgets {
GRP_WIDGET_LIST_GROUP,
GRP_WIDGET_LIST_GROUP_SCROLLBAR,
GRP_WIDGET_SORT_BY_ORDER,
GRP_WIDGET_SORT_BY_TEXT,
GRP_WIDGET_SORT_BY_DROPDOWN,
GRP_WIDGET_EMPTY_TOP_RIGHT,
GRP_WIDGET_LIST_VEHICLE,
@@ -126,7 +126,6 @@ enum GroupListWidgets {
GRP_WIDGET_REPLACE_PROTECTION,
GRP_WIDGET_EMPTY2,
GRP_WIDGET_AVAILABLE_VEHICLES,
GRP_WIDGET_MANAGE_VEHICLES,
GRP_WIDGET_MANAGE_VEHICLES_DROPDOWN,
GRP_WIDGET_STOP_ALL,
GRP_WIDGET_START_ALL,
@@ -145,8 +144,7 @@ static const Widget _group_widgets[] = {
{ WWT_MATRIX, RESIZE_BOTTOM, 14, 0, 188, 52, 168, 0x701, STR_GROUPS_CLICK_ON_GROUP_FOR_TIP},
{ WWT_SCROLLBAR, RESIZE_BOTTOM, 14, 189, 200, 52, 168, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST},
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 201, 281, 14, 25, STR_SORT_BY, STR_SORT_ORDER_TIP},
{ WWT_PANEL, RESIZE_NONE, 14, 282, 435, 14, 25, 0x0, STR_SORT_CRITERIA_TIP},
{ WWT_TEXTBTN, RESIZE_NONE, 14, 436, 447, 14, 25, STR_0225, STR_SORT_CRITERIA_TIP},
{ WWT_DROPDOWN, RESIZE_NONE, 14, 282, 447, 14, 25, 0x0, STR_SORT_CRITERIA_TIP},
{ WWT_PANEL, RESIZE_RIGHT, 14, 448, 459, 14, 25, 0x0, STR_NULL},
{ WWT_MATRIX, RESIZE_RB, 14, 201, 447, 26, 181, 0x701, STR_NULL},
{ WWT_SCROLL2BAR, RESIZE_LRB, 14, 448, 459, 26, 181, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST},
@@ -157,8 +155,7 @@ static const Widget _group_widgets[] = {
{ WWT_PUSHIMGBTN, RESIZE_TB, 14, 165, 188, 169, 193, 0x0, STR_GROUP_REPLACE_PROTECTION_TIP},
{ WWT_PANEL, RESIZE_TB, 14, 189, 200, 169, 193, 0x0, STR_NULL},
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 201, 306, 182, 193, 0x0, STR_AVAILABLE_ENGINES_TIP},
{ WWT_TEXTBTN, RESIZE_TB, 14, 307, 411, 182, 193, STR_MANAGE_LIST, STR_MANAGE_LIST_TIP},
{ WWT_TEXTBTN, RESIZE_TB, 14, 412, 423, 182, 193, STR_0225, STR_MANAGE_LIST_TIP},
{ WWT_DROPDOWN, RESIZE_TB, 14, 307, 423, 182, 193, STR_MANAGE_LIST, STR_MANAGE_LIST_TIP},
{ WWT_PUSHIMGBTN, RESIZE_TB, 14, 424, 435, 182, 193, SPR_FLAG_VEH_STOPPED, STR_MASS_STOP_LIST_TIP},
{ WWT_PUSHIMGBTN, RESIZE_TB, 14, 436, 447, 182, 193, SPR_FLAG_VEH_RUNNING, STR_MASS_START_LIST_TIP},
{ WWT_PANEL, RESIZE_RTB, 14, 448, 447, 182, 193, 0x0, STR_NULL},
@@ -258,28 +255,33 @@ static void CreateVehicleGroupWindow(Window *w)
}
}
enum GroupActionListFunction {
GALF_REPLACE,
GALF_SERVICE,
GALF_DEPOT,
GALF_ADD_SHARED,
GALF_REMOVE_ALL,
};
/**
* Update/redraw the group action dropdown
* @param w the window the dropdown belongs to
* @param gid the currently selected group in the window
*/
static void UpdateGroupActionDropdown(Window *w, GroupID gid, bool refresh = true)
static void ShowGroupActionDropdown(Window *w, GroupID gid)
{
if (refresh && !w->IsWidgetLowered(GRP_WIDGET_MANAGE_VEHICLES_DROPDOWN)) return;
DropDownList *list = new DropDownList();
static StringID action_str[] = {
STR_REPLACE_VEHICLES,
STR_SEND_FOR_SERVICING,
STR_SEND_TRAIN_TO_DEPOT,
STR_NULL,
STR_NULL,
INVALID_STRING_ID
};
list->push_back(new DropDownListStringItem(STR_REPLACE_VEHICLES, GALF_REPLACE, false));
list->push_back(new DropDownListStringItem(STR_SEND_FOR_SERVICING, GALF_SERVICE, false));
list->push_back(new DropDownListStringItem(STR_SEND_TRAIN_TO_DEPOT, GALF_DEPOT, false));
action_str[3] = IsValidGroupID(gid) ? STR_GROUP_ADD_SHARED_VEHICLE : INVALID_STRING_ID;
action_str[4] = IsValidGroupID(gid) ? STR_GROUP_REMOVE_ALL_VEHICLES : INVALID_STRING_ID;
if (IsValidGroupID(gid)) {
list->push_back(new DropDownListStringItem(STR_GROUP_ADD_SHARED_VEHICLE, GALF_ADD_SHARED, false));
list->push_back(new DropDownListStringItem(STR_GROUP_REMOVE_ALL_VEHICLES, GALF_REMOVE_ALL, false));
}
ShowDropDownMenu(w, action_str, 0, GRP_WIDGET_MANAGE_VEHICLES_DROPDOWN, 0, 0);
ShowDropDownList(w, list, 0, GRP_WIDGET_MANAGE_VEHICLES_DROPDOWN);
}
/**
@@ -299,7 +301,10 @@ static void GroupWndProc(Window *w, WindowEvent *e)
case WE_INVALIDATE_DATA:
gv->l.flags |= VL_REBUILD;
gl->l.flags |= VL_REBUILD;
UpdateGroupActionDropdown(w, gv->group_sel);
if (!(IsAllGroupID(gv->group_sel) || IsDefaultGroupID(gv->group_sel) || IsValidGroupID(gv->group_sel))) {
gv->group_sel = ALL_GROUP;
HideDropDownMenu(w);
}
SetWindowDirty(w);
break;
@@ -336,7 +341,6 @@ static void GroupWndProc(Window *w, WindowEvent *e)
w->SetWidgetsDisabledState(gv->l.list_length == 0 || _local_player != owner,
GRP_WIDGET_STOP_ALL,
GRP_WIDGET_START_ALL,
GRP_WIDGET_MANAGE_VEHICLES,
GRP_WIDGET_MANAGE_VEHICLES_DROPDOWN,
WIDGET_LIST_END);
@@ -411,6 +415,8 @@ static void GroupWndProc(Window *w, WindowEvent *e)
}
}
/* Set text of sort by dropdown */
w->widget[GRP_WIDGET_SORT_BY_DROPDOWN].data = _vehicle_sort_listing[gv->l.sort_type];
DrawWindowWidgets(w);
@@ -460,10 +466,9 @@ static void GroupWndProc(Window *w, WindowEvent *e)
DrawStringRightAligned(187, y1 + 1, STR_GROUP_TINY_NUM, (gv->group_sel == g->index) ? TC_WHITE : TC_BLACK);
}
/* Draw Matrix Vehicle according to the vehicle list built before */
DrawString(285, 15, _vehicle_sort_listing[gv->l.sort_type], TC_BLACK);
DoDrawString(gv->l.flags & VL_DESC ? DOWNARROW : UPARROW, 269, 15, TC_BLACK);
DrawSortButtonState(w, GRP_WIDGET_SORT_BY_ORDER, gv->l.flags & VL_DESC ? SBS_DOWN : SBS_UP);
/* Draw Matrix Vehicle according to the vehicle list built before */
max = min(w->vscroll2.pos + w->vscroll2.cap, gv->l.list_length);
for (i = w->vscroll2.pos ; i < max ; ++i) {
const Vehicle* v = gv->sort_list[i];
@@ -478,8 +483,8 @@ static void GroupWndProc(Window *w, WindowEvent *e)
if (w->resize.step_height == PLY_WND_PRC__SIZE_OF_ROW_BIG2) DrawSmallOrderList(v, x + 138, y2);
SetDParam(0, v->profit_this_year);
SetDParam(1, v->profit_last_year);
SetDParam(0, v->profit_this_year >> 8);
SetDParam(1, v->profit_last_year >> 8);
DrawString(x + 19, y2 + w->resize.step_height - 8, STR_0198_PROFIT_THIS_YEAR_LAST_YEAR, TC_FROMSTRING);
if (IsValidGroupID(v->group_id)) {
@@ -494,6 +499,8 @@ static void GroupWndProc(Window *w, WindowEvent *e)
}
case WE_CLICK:
HideDropDownMenu(w);
switch(e->we.click.widget) {
case GRP_WIDGET_SORT_BY_ORDER: // Flip sorting method ascending/descending
gv->l.flags ^= VL_DESC;
@@ -503,7 +510,6 @@ static void GroupWndProc(Window *w, WindowEvent *e)
SetWindowDirty(w);
break;
case GRP_WIDGET_SORT_BY_TEXT:
case GRP_WIDGET_SORT_BY_DROPDOWN: // Select sorting criteria dropdown menu
ShowDropDownMenu(w, _vehicle_sort_listing, gv->l.sort_type, GRP_WIDGET_SORT_BY_DROPDOWN, 0, 0);
return;
@@ -512,7 +518,6 @@ static void GroupWndProc(Window *w, WindowEvent *e)
if (!IsAllGroupID(gv->group_sel)) {
gv->group_sel = ALL_GROUP;
gv->l.flags |= VL_REBUILD;
UpdateGroupActionDropdown(w, gv->group_sel);
SetWindowDirty(w);
}
break;
@@ -521,7 +526,6 @@ static void GroupWndProc(Window *w, WindowEvent *e)
if (!IsDefaultGroupID(gv->group_sel)) {
gv->group_sel = DEFAULT_GROUP;
gv->l.flags |= VL_REBUILD;
UpdateGroupActionDropdown(w, gv->group_sel);
SetWindowDirty(w);
}
break;
@@ -538,7 +542,6 @@ static void GroupWndProc(Window *w, WindowEvent *e)
gv->group_sel = gl->sort_list[id_g]->index;;
gv->l.flags |= VL_REBUILD;
UpdateGroupActionDropdown(w, gv->group_sel);
SetWindowDirty(w);
break;
}
@@ -591,12 +594,9 @@ static void GroupWndProc(Window *w, WindowEvent *e)
ShowBuildVehicleWindow(0, gv->vehicle_type);
break;
case GRP_WIDGET_MANAGE_VEHICLES:
case GRP_WIDGET_MANAGE_VEHICLES_DROPDOWN: {
UpdateGroupActionDropdown(w, gv->group_sel, false);
case GRP_WIDGET_MANAGE_VEHICLES_DROPDOWN:
ShowGroupActionDropdown(w, gv->group_sel);
break;
}
case GRP_WIDGET_START_ALL:
case GRP_WIDGET_STOP_ALL: { // Start/stop all vehicles of the list
@@ -709,24 +709,24 @@ static void GroupWndProc(Window *w, WindowEvent *e)
assert(gv->l.list_length != 0);
switch (e->we.dropdown.index) {
case 0: // Replace window
case GALF_REPLACE: // Replace window
ShowReplaceGroupVehicleWindow(gv->group_sel, gv->vehicle_type);
break;
case 1: // Send for servicing
case GALF_SERVICE: // Send for servicing
DoCommandP(0, gv->group_sel, ((IsAllGroupID(gv->group_sel) ? VLW_STANDARD : VLW_GROUP_LIST) & VLW_MASK)
| DEPOT_MASS_SEND
| DEPOT_SERVICE, NULL, GetCmdSendToDepot(gv->vehicle_type));
break;
case 2: // Send to Depots
case GALF_DEPOT: // Send to Depots
DoCommandP(0, gv->group_sel, ((IsAllGroupID(gv->group_sel) ? VLW_STANDARD : VLW_GROUP_LIST) & VLW_MASK)
| DEPOT_MASS_SEND, NULL, GetCmdSendToDepot(gv->vehicle_type));
break;
case 3: // Add shared Vehicles
case GALF_ADD_SHARED: // Add shared Vehicles
assert(IsValidGroupID(gv->group_sel));
DoCommandP(0, gv->group_sel, gv->vehicle_type, NULL, CMD_ADD_SHARED_VEHICLE_GROUP | CMD_MSG(STR_GROUP_CAN_T_ADD_SHARED_VEHICLE));
break;
case 4: // Remove all Vehicles from the selected group
case GALF_REMOVE_ALL: // Remove all Vehicles from the selected group
assert(IsValidGroupID(gv->group_sel));
DoCommandP(0, gv->group_sel, gv->vehicle_type, NULL, CMD_REMOVE_ALL_VEHICLES_GROUP | CMD_MSG(STR_GROUP_CAN_T_REMOVE_ALL_VEHICLES));
@@ -761,6 +761,13 @@ static void GroupWndProc(Window *w, WindowEvent *e)
SetWindowDirty(w);
}
break;
case WE_ABORT_PLACE_OBJ: // called when new object to place is selected from keyboard
/* abort drag & drop */
gv->vehicle_sel = INVALID_VEHICLE;
w->InvalidateWidget(GRP_WIDGET_LIST_VEHICLE);
break;
}
}
+2 -1
View File
@@ -60,6 +60,7 @@ enum {
DDSP_CREATE_DESERT,
DDSP_CREATE_ROCKS,
DDSP_CREATE_WATER,
DDSP_CREATE_RIVER,
DDSP_PLANT_TREES,
DDSP_BUILD_BRIDGE,
@@ -105,7 +106,7 @@ void SetFiosType(const byte fiostype);
extern const TextColour _fios_colors[];
/* bridge_gui.cpp */
void ShowBuildBridgeWindow(uint start, uint end, byte type);
void ShowBuildBridgeWindow(TileIndex start, TileIndex end, TransportType transport_type, byte bridge_type);
void ShowBuildIndustryWindow();
void ShowMusicWindow();
+1
View File
@@ -179,6 +179,7 @@ struct IndustrySpec {
GRFMappedStringID closure_text; ///< Message appearing when the industry closes
GRFMappedStringID production_up_text; ///< Message appearing when the industry's production is increasing
GRFMappedStringID production_down_text; ///< Message appearing when the industry's production is decreasing
GRFMappedStringID station_name; ///< Default name for nearby station
byte appear_ingame[NUM_LANDSCAPE]; ///< Probability of appearance in game
byte appear_creation[NUM_LANDSCAPE]; ///< Probability of appearance during map creation
uint8 number_of_sounds; ///< Number of sounds available in the sounds array
+48 -32
View File
@@ -815,7 +815,7 @@ static void ClickTile_Industry(TileIndex tile)
ShowIndustryViewWindow(GetIndustryIndex(tile));
}
static uint32 GetTileTrackStatus_Industry(TileIndex tile, TransportType mode, uint sub_mode)
static uint32 GetTileTrackStatus_Industry(TileIndex tile, TransportType mode, uint sub_mode, DiagDirection side)
{
return 0;
}
@@ -841,7 +841,7 @@ static bool IsBadFarmFieldTile(TileIndex tile)
{
switch (GetTileType(tile)) {
case MP_CLEAR: return IsClearGround(tile, CLEAR_FIELDS) || IsClearGround(tile, CLEAR_SNOW) || IsClearGround(tile, CLEAR_DESERT);
case MP_TREES: return false;
case MP_TREES: return (GetTreeGround(tile) == TREE_GROUND_SHORE);
default: return true;
}
}
@@ -850,7 +850,7 @@ static bool IsBadFarmFieldTile2(TileIndex tile)
{
switch (GetTileType(tile)) {
case MP_CLEAR: return IsClearGround(tile, CLEAR_SNOW) || IsClearGround(tile, CLEAR_DESERT);
case MP_TREES: return false;
case MP_TREES: return (GetTreeGround(tile) == TREE_GROUND_SHORE);
default: return true;
}
}
@@ -1415,6 +1415,16 @@ static bool CheckIfFarEnoughFromIndustry(TileIndex tile, int type)
return true;
}
/** Production level maximum, minimum and default values.
* It is not a value been really used in order to change, but rather an indicator
* of how the industry is behaving. */
enum ProductionLevels {
PRODLEVEL_CLOSURE = 0x00, ///< signal set to actually close the industry
PRODLEVEL_MINIMUM = 0x04, ///< below this level, the industry is set to be closing
PRODLEVEL_DEFAULT = 0x10, ///< default level set when the industry is created
PRODLEVEL_MAXIMUM = 0x80, ///< the industry is running at full speed
};
static void DoCreateNewIndustry(Industry *i, TileIndex tile, int type, const IndustryTileTable *it, byte layout, const Town *t, Owner owner)
{
const IndustrySpec *indspec = GetIndustrySpec(type);
@@ -1503,7 +1513,7 @@ static void DoCreateNewIndustry(Industry *i, TileIndex tile, int type, const Ind
if (!_generating_world) i->last_month_production[0] = i->last_month_production[1] = 0;
i->prod_level = 0x10;
i->prod_level = PRODLEVEL_DEFAULT;
do {
TileIndex cur_tile = tile + ToTileIndexDiff(it->ti);
@@ -1524,11 +1534,11 @@ static void DoCreateNewIndustry(Industry *i, TileIndex tile, int type, const Ind
SetIndustryConstructionCounter(cur_tile, 3);
SetIndustryConstructionStage(cur_tile, 2);
}
if (it->gfx >= NEW_INDUSTRYTILEOFFSET) {
/* New industry */
const IndustryTileSpec *its = GetIndustryTileSpec(it->gfx);
if (its->animation_info != 0xFFFF) AddAnimatedTile(cur_tile);
}
/* it->gfx is stored in the map. But the translated ID cur_gfx is the interesting one */
IndustryGfx cur_gfx = GetTranslatedIndustryTileID(it->gfx);
const IndustryTileSpec *its = GetIndustryTileSpec(cur_gfx);
if (its->animation_info != 0xFFFF) AddAnimatedTile(cur_tile);
}
} while ((++it)->ti.x != -0x80);
@@ -1548,9 +1558,10 @@ static void DoCreateNewIndustry(Industry *i, TileIndex tile, int type, const Ind
* @param flags of operations to conduct
* @param indspec pointer to industry specifications
* @param itspec_index the index of the itsepc to build/fund
* @param seed random seed (possibly) used by industries
* @return the pointer of the newly created industry, or NULL if it failed
*/
static Industry *CreateNewIndustryHelper(TileIndex tile, IndustryType type, uint32 flags, const IndustrySpec *indspec, uint itspec_index)
static Industry *CreateNewIndustryHelper(TileIndex tile, IndustryType type, uint32 flags, const IndustrySpec *indspec, uint itspec_index, uint32 seed)
{
const IndustryTileTable *it = indspec->table[itspec_index];
bool custom_shape_check = false;
@@ -1558,7 +1569,7 @@ static Industry *CreateNewIndustryHelper(TileIndex tile, IndustryType type, uint
if (!CheckIfIndustryTilesAreFree(tile, it, itspec_index, type, &custom_shape_check)) return NULL;
if (HasBit(GetIndustrySpec(type)->callback_flags, CBM_IND_LOCATION)) {
if (!CheckIfCallBackAllowsCreation(tile, type, itspec_index)) return NULL;
if (!CheckIfCallBackAllowsCreation(tile, type, itspec_index, seed)) return NULL;
} else {
if (!_check_new_industry_procs[indspec->check_proc](tile)) return NULL;
}
@@ -1588,15 +1599,15 @@ static Industry *CreateNewIndustryHelper(TileIndex tile, IndustryType type, uint
/** Build/Fund an industry
* @param tile tile where industry is built
* @param flags of operations to conduct
* @param p1 industry type see build_industry.h and see industry.h
* @param p2 first layout to try
* @param p1 various bitstuffed elements
* - p1 = (bit 0 - 15) - industry type see build_industry.h and see industry.h
* - p1 = (bit 16 - 31) - first layout to try
* @param p2 seed to use for variable 8F
* @return index of the newly create industry, or CMD_ERROR if it failed
*/
CommandCost CmdBuildIndustry(TileIndex tile, uint32 flags, uint32 p1, uint32 p2)
{
const IndustrySpec *indspec;
indspec = GetIndustrySpec(p1);
const IndustrySpec *indspec = GetIndustrySpec(GB(p1, 0, 16));
/* Check if the to-be built/founded industry is available for this climate. */
if (!indspec->enabled) {
@@ -1620,7 +1631,7 @@ CommandCost CmdBuildIndustry(TileIndex tile, uint32 flags, uint32 p1, uint32 p2)
* because parameter evaluation order is not guaranteed in the c++ standard
*/
tile = RandomTile();
const Industry *ind = CreateNewIndustryHelper(tile, p1, flags, indspec, RandomRange(indspec->num_table));
const Industry *ind = CreateNewIndustryHelper(tile, p1, flags, indspec, RandomRange(indspec->num_table), p2);
if (ind != NULL) {
SetDParam(0, indspec->name);
if (indspec->new_industry_text > STR_LAST_STRINGID) {
@@ -1639,7 +1650,7 @@ CommandCost CmdBuildIndustry(TileIndex tile, uint32 flags, uint32 p1, uint32 p2)
} else {
int count = indspec->num_table;
const IndustryTileTable * const *itt = indspec->table;
int num = Clamp(p2, 0, count - 1);
int num = Clamp(GB(p1, 16, 16), 0, count - 1);
_error_message = STR_0239_SITE_UNSUITABLE;
do {
@@ -1647,7 +1658,7 @@ CommandCost CmdBuildIndustry(TileIndex tile, uint32 flags, uint32 p1, uint32 p2)
if (--num < 0) num = indspec->num_table - 1;
} while (!CheckIfIndustryTilesAreFree(tile, itt[num], num, p1));
if (CreateNewIndustryHelper(tile, p1, flags, indspec, num) == NULL) return CMD_ERROR;
if (CreateNewIndustryHelper(tile, p1, flags, indspec, num, p2) == NULL) return CMD_ERROR;
}
return CommandCost(EXPENSES_OTHER, indspec->GetConstructionCost());
@@ -1658,7 +1669,8 @@ Industry *CreateNewIndustry(TileIndex tile, IndustryType type)
{
const IndustrySpec *indspec = GetIndustrySpec(type);
return CreateNewIndustryHelper(tile, type, DC_EXEC, indspec, RandomRange(indspec->num_table));
uint32 seed = Random();
return CreateNewIndustryHelper(tile, type, DC_EXEC, indspec, RandomRange(indspec->num_table), seed);
}
enum {
@@ -2124,8 +2136,8 @@ static void ChangeIndustryProduction(Industry *i, bool monthly)
}
/* Increase if needed */
while (mul-- != 0 && i->prod_level < 0x80) {
i->prod_level <<= 1;
while (mul-- != 0 && i->prod_level < PRODLEVEL_MAXIMUM) {
i->prod_level = min(i->prod_level * 2, PRODLEVEL_MAXIMUM);
i->production_rate[0] = min(i->production_rate[0] * 2, 0xFF);
i->production_rate[1] = min(i->production_rate[1] * 2, 0xFF);
if (str == STR_NULL) str = indspec->production_up_text;
@@ -2133,24 +2145,28 @@ static void ChangeIndustryProduction(Industry *i, bool monthly)
/* Decrease if needed */
while (div-- != 0 && !closeit) {
if (i->prod_level == 4) {
if (i->prod_level == PRODLEVEL_MINIMUM) {
closeit = true;
} else {
i->prod_level >>= 1;
i->production_rate[0] = (i->production_rate[0] + 1) >> 1;
i->production_rate[1] = (i->production_rate[1] + 1) >> 1;
i->prod_level = max(i->prod_level / 2, (int)PRODLEVEL_MINIMUM); // typecast to int required to please MSVC
i->production_rate[0] = (i->production_rate[0] + 1) / 2;
i->production_rate[1] = (i->production_rate[1] + 1) / 2;
if (str == STR_NULL) str = indspec->production_down_text;
}
}
/* Increase or Decreasing the production level if needed */
if (increment != 0) {
i->prod_level = ClampU(i->prod_level + increment, 4, 0x80);
if (i->prod_level == 4) closeit = true;
if (increment < 0 && i->prod_level == PRODLEVEL_MINIMUM) {
closeit = true;
} else {
i->prod_level = ClampU(i->prod_level + increment, PRODLEVEL_MINIMUM, PRODLEVEL_MAXIMUM);
}
}
/* Close if needed and allowed */
if (closeit && !CheckIndustryCloseDownProtection(i->type)) {
i->prod_level = 0;
i->prod_level = PRODLEVEL_CLOSURE;
str = indspec->closure_text;
}
@@ -2194,7 +2210,7 @@ void IndustryMonthlyLoop()
FOR_ALL_INDUSTRIES(i) {
UpdateIndustryStatistics(i);
if (i->prod_level == 0) {
if (i->prod_level == PRODLEVEL_CLOSURE) {
delete i;
} else {
ChangeIndustryProduction(i, true);
@@ -2300,12 +2316,12 @@ static const SaveLoad _industry_desc[] = {
SLE_VAR(Industry, width, SLE_UINT8),
SLE_VAR(Industry, height, SLE_UINT8),
SLE_REF(Industry, town, REF_TOWN),
SLE_CONDNULL( 2, 2, 60), ///< used to be industry's produced_cargo
SLE_CONDNULL( 2, 0, 60), ///< used to be industry's produced_cargo
SLE_CONDARR(Industry, produced_cargo, SLE_UINT8, 2, 78, SL_MAX_VERSION),
SLE_CONDARR(Industry, incoming_cargo_waiting, SLE_UINT16, 3, 70, SL_MAX_VERSION),
SLE_ARR(Industry, produced_cargo_waiting, SLE_UINT16, 2),
SLE_ARR(Industry, production_rate, SLE_UINT8, 2),
SLE_CONDNULL( 3, 2, 60), ///< used to be industry's accepts_cargo
SLE_CONDNULL( 3, 0, 60), ///< used to be industry's accepts_cargo
SLE_CONDARR(Industry, accepts_cargo, SLE_UINT8, 3, 78, SL_MAX_VERSION),
SLE_VAR(Industry, prod_level, SLE_UINT8),
SLE_ARR(Industry, this_month_production, SLE_UINT16, 2),
+45 -24
View File
@@ -57,6 +57,9 @@ static struct IndustryData {
bool enabled[NUM_INDUSTRYTYPES + 1]; ///< availability state, coming from CBID_INDUSTRY_AVAILABLE (if ever)
} _fund_gui;
assert_compile(lengthof(_fund_gui.index) == lengthof(_fund_gui.text));
assert_compile(lengthof(_fund_gui.index) == lengthof(_fund_gui.enabled));
static void BuildDynamicIndustryWndProc(Window *w, WindowEvent *e)
{
switch (e->event) {
@@ -79,11 +82,14 @@ static void BuildDynamicIndustryWndProc(Window *w, WindowEvent *e)
WP(w, fnd_d).timer_enabled = _loaded_newgrf_features.has_newindustries;
/* Initilialize structures */
memset(&_fund_gui.index, 0xFF, NUM_INDUSTRYTYPES);
memset(&_fund_gui.text, STR_NULL, NUM_INDUSTRYTYPES);
memset(&_fund_gui.enabled, false, NUM_INDUSTRYTYPES);
_fund_gui.count = 0;
for (uint i = 0; i < lengthof(_fund_gui.index); i++) {
_fund_gui.index[i] = 0xFF;
_fund_gui.text[i] = STR_NULL;
_fund_gui.enabled[i] = false;
}
w->vscroll.cap = 8; // rows in grid, same in scroller
w->resize.step_height = 13;
@@ -253,7 +259,7 @@ static void BuildDynamicIndustryWndProc(Window *w, WindowEvent *e)
_generating_world = false;
}
} else if (_game_mode != GM_EDITOR && _patches.raw_industry_construction == 2 && GetIndustrySpec(WP(w, fnd_d).select)->IsRawIndustry()) {
DoCommandP(0, WP(w, fnd_d).select, 0, NULL, CMD_BUILD_INDUSTRY | CMD_MSG(STR_4830_CAN_T_CONSTRUCT_THIS_INDUSTRY));
DoCommandP(0, WP(w, fnd_d).select, InteractiveRandom(), NULL, CMD_BUILD_INDUSTRY | CMD_MSG(STR_4830_CAN_T_CONSTRUCT_THIS_INDUSTRY));
w->HandleButtonClick(DPIW_FUND_WIDGET);
} else {
HandlePlacePushButton(w, DPIW_FUND_WIDGET, SPR_CURSOR_INDUSTRY, VHM_RECT, NULL);
@@ -272,6 +278,7 @@ static void BuildDynamicIndustryWndProc(Window *w, WindowEvent *e)
bool success = true;
/* We do not need to protect ourselves against "Random Many Industries" in this mode */
const IndustrySpec *indsp = GetIndustrySpec(WP(w, fnd_d).select);
uint32 seed = InteractiveRandom();
if (_game_mode == GM_EDITOR) {
/* Show error if no town exists at all */
@@ -284,7 +291,7 @@ static void BuildDynamicIndustryWndProc(Window *w, WindowEvent *e)
_current_player = OWNER_NONE;
_generating_world = true;
_ignore_restrictions = true;
success = DoCommandP(e->we.place.tile, WP(w, fnd_d).select, InteractiveRandomRange(indsp->num_table), NULL, CMD_BUILD_INDUSTRY | CMD_MSG(STR_4830_CAN_T_CONSTRUCT_THIS_INDUSTRY));
success = DoCommandP(e->we.place.tile, (InteractiveRandomRange(indsp->num_table) << 16) | WP(w, fnd_d).select, seed, NULL, CMD_BUILD_INDUSTRY | CMD_MSG(STR_4830_CAN_T_CONSTRUCT_THIS_INDUSTRY));
if (!success) {
SetDParam(0, indsp->name);
ShowErrorMessage(_error_message, STR_0285_CAN_T_BUILD_HERE, e->we.place.pt.x, e->we.place.pt.y);
@@ -293,7 +300,7 @@ static void BuildDynamicIndustryWndProc(Window *w, WindowEvent *e)
_ignore_restrictions = false;
_generating_world = false;
} else {
success = DoCommandP(e->we.place.tile, WP(w, fnd_d).select, InteractiveRandomRange(indsp->num_table), NULL, CMD_BUILD_INDUSTRY | CMD_MSG(STR_4830_CAN_T_CONSTRUCT_THIS_INDUSTRY));
success = DoCommandP(e->we.place.tile, (InteractiveRandomRange(indsp->num_table) << 16) | WP(w, fnd_d).select, seed, NULL, CMD_BUILD_INDUSTRY | CMD_MSG(STR_4830_CAN_T_CONSTRUCT_THIS_INDUSTRY));
}
/* If an industry has been built, just reset the cursor and the system */
@@ -384,6 +391,7 @@ enum IndustryViewWidgets {
IVW_INFO,
IVW_GOTO,
IVW_SPACER,
IVW_RESIZE_WIDGET,
};
/** Information to store about the industry window */
@@ -437,13 +445,27 @@ static void IndustryViewWndProc(Window *w, WindowEvent *e)
lines++;
}
if (HasBit(ind->callback_flags, CBM_IND_WINDOW_MORE_TEXT)) lines += 2;
for (byte j = 5; j <= 7; j++) {
if (j != 5) w->widget[j].top += lines * 10;
w->widget[j].bottom += lines * 10;
if (HasBit(ind->callback_flags, CBM_IND_WINDOW_MORE_TEXT)) {
lines += 2;
} else {
/* Remove the resizing option from the widgets. Do it before the Hiding since it will be overwritten */
for (byte j = IVW_INFO; j <= IVW_RESIZE_WIDGET; j++) {
w->widget[j].display_flags = RESIZE_NONE;
}
/* Hide the resize button and enlarge the spacer so it will take its place */
w->HideWidget(IVW_RESIZE_WIDGET);
w->widget[IVW_SPACER].right = w->widget[IVW_RESIZE_WIDGET].right;
}
w->height += lines * 10;
lines *= 10;
/* Resize the widgets for the new size, given by the addition of cargos */
for (byte j = IVW_INFO; j <= IVW_RESIZE_WIDGET; j++) {
if (j != IVW_INFO) w->widget[j].top += lines;
w->widget[j].bottom += lines;
}
w->height += lines;
w->resize.height += lines;
} break;
case WE_PAINT: {
@@ -515,10 +537,12 @@ static void IndustryViewWndProc(Window *w, WindowEvent *e)
if (callback_res != CALLBACK_FAILED) {
StringID message = GetGRFStringID(ind->grf_prop.grffile->grfid, 0xD000 + callback_res);
if (message != STR_NULL && message != STR_UNDEFINED) {
const Widget *wi = &w->widget[IVW_INFO];
y += 10;
PrepareTextRefStackUsage(6);
DrawString(2, y, message, TC_FROMSTRING);
/* Use all the available space left from where we stand up to the end of the window */
DrawStringMultiLine(2, y, message, wi->right - wi->left - 4, wi->bottom - y);
StopTextRefStackUsage();
}
}
@@ -607,9 +631,10 @@ static const Widget _industry_view_widgets[] = {
{ WWT_STICKYBOX, RESIZE_NONE, 9, 248, 259, 0, 13, 0x0, STR_STICKY_BUTTON}, // IVW_STICKY
{ WWT_PANEL, RESIZE_NONE, 9, 0, 259, 14, 105, 0x0, STR_NULL}, // IVW_BACKGROUND
{ WWT_INSET, RESIZE_NONE, 9, 2, 257, 16, 103, 0x0, STR_NULL}, // IVW_VIEWPORT
{ WWT_PANEL, RESIZE_NONE, 9, 0, 259, 106, 147, 0x0, STR_NULL}, // IVW_INFO
{ WWT_PUSHTXTBTN, RESIZE_NONE, 9, 0, 129, 148, 159, STR_00E4_LOCATION, STR_482C_CENTER_THE_MAIN_VIEW_ON}, // IVW_GOTO
{ WWT_PANEL, RESIZE_NONE, 9, 130, 259, 148, 159, 0x0, STR_NULL}, // IVW_SPACER
{ WWT_PANEL, RESIZE_BOTTOM, 9, 0, 259, 106, 147, 0x0, STR_NULL}, // IVW_INFO
{ WWT_PUSHTXTBTN, RESIZE_TB, 9, 0, 129, 148, 159, STR_00E4_LOCATION, STR_482C_CENTER_THE_MAIN_VIEW_ON}, // IVW_GOTO
{ WWT_PANEL, RESIZE_TB, 9, 130, 247, 148, 159, 0x0, STR_NULL}, // IVW_SPACER
{ WWT_RESIZEBOX, RESIZE_TB, 9, 248, 259, 148, 159, 0x0, STR_RESIZE_BUTTON}, // IVW_RESIZE_WIDGET
{ WIDGETS_END},
};
@@ -617,7 +642,7 @@ static const Widget _industry_view_widgets[] = {
static const WindowDesc _industry_view_desc = {
WDP_AUTO, WDP_AUTO, 260, 160, 260, 160,
WC_INDUSTRY_VIEW, WC_NONE,
WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS | WDF_STICKY_BUTTON,
WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS | WDF_STICKY_BUTTON | WDF_RESIZABLE,
_industry_view_widgets,
IndustryViewWndProc
};
@@ -781,10 +806,6 @@ static void IndustryDirectoryWndProc(Window *w, WindowEvent *e)
{
switch (e->event) {
case WE_PAINT: {
int n;
uint p;
static const uint16 _indicator_positions[4] = {88, 187, 284, 387};
if (_industry_sort_dirty) {
_industry_sort_dirty = false;
MakeSortedIndustryList();
@@ -793,10 +814,10 @@ static void IndustryDirectoryWndProc(Window *w, WindowEvent *e)
SetVScrollCount(w, _num_industry_sort);
DrawWindowWidgets(w);
DoDrawString(_industry_sort_order & 1 ? DOWNARROW : UPARROW, _indicator_positions[_industry_sort_order >> 1], 15, TC_BLACK);
DrawSortButtonState(w, IDW_SORTBYNAME + (_industry_sort_order >> 1), _industry_sort_order & 1 ? SBS_DOWN : SBS_UP);
p = w->vscroll.pos;
n = 0;
uint p = w->vscroll.pos;
int n = 0;
while (p < _num_industry_sort) {
const Industry* i = _industry_sort[p];
+60 -38
View File
@@ -52,51 +52,73 @@ static inline void SetNewLandscapeType(byte landscape)
InvalidateWindowClasses(WC_SELECT_GAME);
}
enum SelectGameIntroWidgets {
SGI_GENERATE_GAME = 2,
SGI_LOAD_GAME,
SGI_PLAY_SCENARIO,
SGI_PLAY_HEIGHTMAP,
SGI_EDIT_SCENARIO,
SGI_PLAY_NETWORK,
SGI_TEMPERATE_LANDSCAPE,
SGI_ARCTIC_LANDSCAPE,
SGI_TROPIC_LANDSCAPE,
SGI_TOYLAND_LANDSCAPE,
SGI_OPTIONS,
SGI_DIFFICULTIES,
SGI_PATCHES_OPTIONS,
SGI_GRF_SETTINGS,
SGI_EXIT,
};
static void SelectGameWndProc(Window *w, WindowEvent *e)
{
switch (e->event) {
case WE_CREATE: w->LowerWidget(_opt_newgame.landscape + 8); break;
case WE_CREATE: w->LowerWidget(_opt_newgame.landscape + 8); break;
case WE_PAINT:
w->SetWidgetLoweredState(8, _opt_newgame.landscape == LT_TEMPERATE);
w->SetWidgetLoweredState(9, _opt_newgame.landscape == LT_ARCTIC);
w->SetWidgetLoweredState(10, _opt_newgame.landscape == LT_TROPIC);
w->SetWidgetLoweredState(11, _opt_newgame.landscape == LT_TOYLAND);
SetDParam(0, STR_6801_EASY + _opt_newgame.diff_level);
DrawWindowWidgets(w);
break;
case WE_PAINT:
w->SetWidgetLoweredState(SGI_TEMPERATE_LANDSCAPE, _opt_newgame.landscape == LT_TEMPERATE);
w->SetWidgetLoweredState(SGI_ARCTIC_LANDSCAPE, _opt_newgame.landscape == LT_ARCTIC);
w->SetWidgetLoweredState(SGI_TROPIC_LANDSCAPE, _opt_newgame.landscape == LT_TROPIC);
w->SetWidgetLoweredState(SGI_TOYLAND_LANDSCAPE, _opt_newgame.landscape == LT_TOYLAND);
SetDParam(0, STR_6801_EASY + _opt_newgame.diff_level);
DrawWindowWidgets(w);
break;
case WE_CLICK:
case WE_CLICK:
#ifdef ENABLE_NETWORK
/* Do not create a network server when you (just) have closed one of the game
* creation/load windows for the network server. */
if (2 <= e->we.click.widget && e->we.click.widget <= 6) _is_network_server = false;
/* Do not create a network server when you (just) have closed one of the game
* creation/load windows for the network server. */
if (SGI_GENERATE_GAME <= e->we.click.widget && e->we.click.widget <= SGI_EDIT_SCENARIO) _is_network_server = false;
#endif /* ENABLE_NETWORK */
switch (e->we.click.widget) {
case 2: ShowGenerateLandscape(); break;
case 3: ShowSaveLoadDialog(SLD_LOAD_GAME); break;
case 4: ShowSaveLoadDialog(SLD_LOAD_SCENARIO); break;
case 5: ShowSaveLoadDialog(SLD_LOAD_HEIGHTMAP); break;
case 6: StartScenarioEditor(); break;
case 7:
if (!_network_available) {
ShowErrorMessage(INVALID_STRING_ID, STR_NETWORK_ERR_NOTAVAILABLE, 0, 0);
} else {
ShowNetworkGameWindow();
switch (e->we.click.widget) {
case SGI_GENERATE_GAME: ShowGenerateLandscape(); break;
case SGI_LOAD_GAME: ShowSaveLoadDialog(SLD_LOAD_GAME); break;
case SGI_PLAY_SCENARIO: ShowSaveLoadDialog(SLD_LOAD_SCENARIO); break;
case SGI_PLAY_HEIGHTMAP: ShowSaveLoadDialog(SLD_LOAD_HEIGHTMAP); break;
case SGI_EDIT_SCENARIO: StartScenarioEditor(); break;
case SGI_PLAY_NETWORK:
if (!_network_available) {
ShowErrorMessage(INVALID_STRING_ID, STR_NETWORK_ERR_NOTAVAILABLE, 0, 0);
} else {
ShowNetworkGameWindow();
}
break;
case SGI_TEMPERATE_LANDSCAPE: case SGI_ARCTIC_LANDSCAPE:
case SGI_TROPIC_LANDSCAPE: case SGI_TOYLAND_LANDSCAPE:
w->RaiseWidget(_opt_newgame.landscape + SGI_TEMPERATE_LANDSCAPE);
SetNewLandscapeType(e->we.click.widget - SGI_TEMPERATE_LANDSCAPE);
break;
case SGI_OPTIONS: ShowGameOptions(); break;
case SGI_DIFFICULTIES: ShowGameDifficulty(); break;
case SGI_PATCHES_OPTIONS: ShowPatchesSelection(); break;
case SGI_GRF_SETTINGS: ShowNewGRFSettings(true, true, false, &_grfconfig_newgame); break;
case SGI_EXIT: HandleExitGameRequest(); break;
}
break;
case 8: case 9: case 10: case 11:
w->RaiseWidget(_opt_newgame.landscape + 8);
SetNewLandscapeType(e->we.click.widget - 8);
break;
case 12: ShowGameOptions(); break;
case 13: ShowGameDifficulty(); break;
case 14: ShowPatchesSelection(); break;
case 15: ShowNewGRFSettings(true, true, false, &_grfconfig_newgame); break;
case 16: HandleExitGameRequest(); break;
}
break;
}
}
@@ -121,9 +143,9 @@ static void AskExitGameCallback(Window *w, bool confirmed)
void AskExitGame()
{
#if defined(_WIN32)
SetDParam(0, STR_0133_WINDOWS);
SetDParam(0, STR_OSNAME_WINDOWS);
#elif defined(__APPLE__)
SetDParam(0, STR_0135_OSX);
SetDParam(0, STR_OSNAME_OSX);
#elif defined(__BEOS__)
SetDParam(0, STR_OSNAME_BEOS);
#elif defined(__MORPHOS__)
@@ -135,7 +157,7 @@ void AskExitGame()
#elif defined(SUNOS)
SetDParam(0, STR_OSNAME_SUNOS);
#else
SetDParam(0, STR_0134_UNIX);
SetDParam(0, STR_OSNAME_UNIX);
#endif
ShowQuery(
STR_00C7_QUIT,
+28 -59
View File
@@ -23,6 +23,7 @@
#include "date_func.h"
#include "vehicle_func.h"
#include "settings_type.h"
#include "water.h"
#include "table/sprites.h"
@@ -141,7 +142,7 @@ uint GetPartialZ(int x, int y, Slope corners)
int z = 0;
switch (corners & ~SLOPE_HALFTILE_MASK) {
switch (RemoveHalftileSlope(corners)) {
case SLOPE_W:
if (x - y >= 0)
z = (x - y) >> 1;
@@ -253,10 +254,7 @@ uint GetSlopeZ(int x, int y)
int GetSlopeZInCorner(Slope tileh, Corner corner)
{
assert(!IsHalftileSlope(tileh));
static const int _corner_slopes[4][2] = {
{ SLOPE_W, SLOPE_STEEP_W }, { SLOPE_S, SLOPE_STEEP_S }, { SLOPE_E, SLOPE_STEEP_E }, { SLOPE_N, SLOPE_STEEP_N }
};
return ((tileh & _corner_slopes[corner][0]) != 0 ? TILE_HEIGHT : 0) + (tileh == _corner_slopes[corner][1] ? TILE_HEIGHT : 0);
return ((tileh & SlopeWithOneCornerRaised(corner)) != 0 ? TILE_HEIGHT : 0) + (tileh == SteepSlope(corner) ? TILE_HEIGHT : 0);
}
/**
@@ -288,15 +286,24 @@ void GetSlopeZOnEdge(Slope tileh, DiagDirection edge, int *z1, int *z2)
if ((tileh & corners[edge][0]) != 0) *z1 += TILE_HEIGHT; // z1 is raised
if ((tileh & corners[edge][1]) != 0) *z2 += TILE_HEIGHT; // z2 is raised
if ((tileh & ~SLOPE_HALFTILE_MASK) == corners[edge][2]) *z1 += TILE_HEIGHT; // z1 is highest corner of a steep slope
if ((tileh & ~SLOPE_HALFTILE_MASK) == corners[edge][3]) *z2 += TILE_HEIGHT; // z2 is highest corner of a steep slope
if (RemoveHalftileSlope(tileh) == corners[edge][2]) *z1 += TILE_HEIGHT; // z1 is highest corner of a steep slope
if (RemoveHalftileSlope(tileh) == corners[edge][3]) *z2 += TILE_HEIGHT; // z2 is highest corner of a steep slope
}
static Slope GetFoundationSlope(TileIndex tile, uint* z)
/**
* Get slope of a tile on top of a (possible) foundation
* If a tile does not have a foundation, the function returns the same as GetTileSlope.
*
* @param tile The tile of interest.
* @param z returns the z of the foundation slope. (Can be NULL, if not needed)
* @return The slope on top of the foundation.
*/
Slope GetFoundationSlope(TileIndex tile, uint* z)
{
Slope tileh = GetTileSlope(tile, z);
Foundation f = _tile_type_procs[GetTileType(tile)]->get_foundation_proc(tile, tileh);
*z += ApplyFoundationToSlope(f, &tileh);
uint z_inc = ApplyFoundationToSlope(f, &tileh);
if (z != NULL) *z += z_inc;
return tileh;
}
@@ -430,9 +437,18 @@ void DoClearSquare(TileIndex tile)
MarkTileDirtyByTile(tile);
}
uint32 GetTileTrackStatus(TileIndex tile, TransportType mode, uint sub_mode)
/** Returns trackdirbits in lower two bytes and additional info about track status in upper two bytes
* If there is any trackbit at 'side', return all trackdirbits.
* For TRANSPORT_ROAD, return 0 if there is no roadbit (of given subtype) at given side.
* @param tile tile to get info about
* @param mode transport type
* @param sub_mode for TRANSPORT_ROAD, roadtypes to check
* @param side side we are entering from, INVALID_DIAGDIR to return all trackbits
* @return trackdirbits and other info depending on 'mode'
*/
uint32 GetTileTrackStatus(TileIndex tile, TransportType mode, uint sub_mode, DiagDirection side)
{
return _tile_type_procs[GetTileType(tile)]->get_tile_track_status_proc(tile, mode, sub_mode);
return _tile_type_procs[GetTileType(tile)]->get_tile_track_status_proc(tile, mode, sub_mode, side);
}
void ChangeTileOwner(TileIndex tile, PlayerID old_player, PlayerID new_player)
@@ -629,7 +645,7 @@ void InitializeLandscape()
for (x = 0; x < maxx; x++) {
MakeClear(sizex * y + x, CLEAR_GRASS, 3);
SetTileHeight(sizex * y + x, 0);
SetTropicZone(sizex * y + x, TROPICZONE_INVALID);
SetTropicZone(sizex * y + x, TROPICZONE_NORMAL);
ClearBridgeMiddle(sizex * y + x);
}
MakeVoid(sizex * y + x);
@@ -637,53 +653,6 @@ void InitializeLandscape()
for (x = 0; x < sizex; x++) MakeVoid(sizex * y + x);
}
void ConvertGroundTilesIntoWaterTiles()
{
TileIndex tile;
uint z;
Slope slope;
for (tile = 0; tile < MapSize(); ++tile) {
slope = GetTileSlope(tile, &z);
if (IsTileType(tile, MP_CLEAR) && z == 0) {
/* Make both water for tiles at level 0
* and make shore, as that looks much better
* during the generation. */
switch (slope) {
case SLOPE_FLAT:
MakeWater(tile);
break;
case SLOPE_N:
case SLOPE_E:
case SLOPE_S:
case SLOPE_W:
MakeShore(tile);
break;
case SLOPE_NW:
if (GetTileSlope(TileAddByDiagDir(tile, DIAGDIR_SE), NULL) != SLOPE_SE) MakeShore(tile);
break;
case SLOPE_SW:
if (GetTileSlope(TileAddByDiagDir(tile, DIAGDIR_NE), NULL) != SLOPE_NE) MakeShore(tile);
break;
case SLOPE_SE:
if (GetTileSlope(TileAddByDiagDir(tile, DIAGDIR_NW), NULL) != SLOPE_NW) MakeShore(tile);
break;
case SLOPE_NE:
if (GetTileSlope(TileAddByDiagDir(tile, DIAGDIR_SW), NULL) != SLOPE_SW) MakeShore(tile);
break;
default:
break;
}
}
}
}
static const byte _genterrain_tbl_1[5] = { 10, 22, 33, 37, 4 };
static const byte _genterrain_tbl_2[5] = { 0, 0, 0, 0, 33 };
+1 -2
View File
@@ -32,6 +32,7 @@ uint GetPartialZ(int x, int y, Slope corners);
uint GetSlopeZ(int x, int y);
void GetSlopeZOnEdge(Slope tileh, DiagDirection edge, int *z1, int *z2);
int GetSlopeZInCorner(Slope tileh, Corner corner);
Slope GetFoundationSlope(TileIndex tile, uint* z);
static inline Point RemapCoords(int x, int y, int z)
{
@@ -55,8 +56,6 @@ void RunTileLoop();
void InitializeLandscape();
void GenerateLandscape(byte mode);
void ConvertGroundTilesIntoWaterTiles();
TileIndex AdjustTileCoordRandomly(TileIndex a, byte rng);
#endif /* LANDSCAPE_H */
+61 -75
View File
@@ -15,8 +15,6 @@ STR_EMPTY :
STR_0007_FLAT_LAND_REQUIRED :{WHITE}Plat daal vereis
STR_0008_WAITING :{BLACK}Wag: {WHITE}{STRING}
STR_0009 :{WHITE}{CARGO}
STR_000A_EN_ROUTE_FROM :{WHITE}{CARGO}{YELLOW} (en-roete van
STR_000B :{YELLOW}{STATION})
STR_000C_ACCEPTS :{BLACK}Aanvaar: {WHITE}
STR_000D_ACCEPTS :{BLACK}Aanvaar: {GOLD}
STR_000E :
@@ -274,9 +272,9 @@ STR_0130_RENAME :{BLACK}Hernoem
STR_0131_TOO_MANY_NAMES_DEFINED :{WHITE}Te veel name bepaal
STR_0132_CHOSEN_NAME_IN_USE_ALREADY :{WHITE}Gekies naam alreeds in gebruik
STR_0133_WINDOWS :Windows
STR_0134_UNIX :Unix
STR_0135_OSX :OS X
STR_OSNAME_WINDOWS :Windows
STR_OSNAME_UNIX :Unix
STR_OSNAME_OSX :OS X
STR_OSNAME_BEOS :BeOS
STR_OSNAME_MORPHOS :MorphOS
STR_OSNAME_AMIGAOS :AmigaOS
@@ -287,11 +285,11 @@ STR_013B_OWNED_BY :{WHITE}...besit
STR_013C_CARGO :{BLACK}Vrag
STR_013D_INFORMATION :{BLACK}Inligting
STR_013E_CAPACITIES :{BLACK}Kapasiteite
STR_013E_TOTAL_CARGO :{BLACK}Totaale Vrag
STR_TOTAL_CARGO :{BLACK}Totaale Vrag
STR_013F_CAPACITY :{BLACK}Kapasiteit: {LTBLUE}{CARGO}
STR_CAPACITY_MULT :{BLACK}Kapasiteit: {LTBLUE}{CARGO} (x{NUM})
STR_013F_TOTAL_CAPACITY_TEXT :{BLACK}Totaale vrag kapasitiet van die trein:
STR_013F_TOTAL_CAPACITY :{LTBLUE}- {CARGO} ({SHORTCARGO})
STR_TOTAL_CAPACITY_TEXT :{BLACK}Totaale vrag kapasitiet van die trein:
STR_TOTAL_CAPACITY :{LTBLUE}- {CARGO} ({SHORTCARGO})
STR_TOTAL_CAPACITY_MULT :{LTBLUE}- {CARGO} ({SHORTCARGO}) (x{NUM})
STR_0140_NEW_GAME :{BLACK}Nuwe Speletjie
STR_0141_LOAD_GAME :{BLACK}Laai Speletjie
@@ -299,12 +297,6 @@ STR_SINGLE_PLAYER :{BLACK}Enkel sp
STR_MULTIPLAYER :{BLACK}Veelspeler
STR_SCENARIO_EDITOR :{BLACK}Draaiboek Redakteur
STR_64 :64
STR_128 :128
STR_256 :256
STR_512 :512
STR_1024 :1024
STR_2048 :2048
STR_MAPSIZE :{BLACK}Werfkaart groote:
STR_BY :{BLACK}*
STR_0148_GAME_OPTIONS :{BLACK}Speletjie Opsies
@@ -733,7 +725,7 @@ STR_0290_DELETE :{BLACK}Uitvee
STR_0291_DELETE_THIS_TOWN_COMPLETELY :{BLACK}Uitvee hierdie dorp heeltemal
STR_0292_SAVE_SCENARIO :Spaar draaiboek
STR_0293_LOAD_SCENARIO :Laai draaiboek
STR_LOAD_HEIGHTMAP :Laai Hoogtekaart
STR_MENU_LOAD_HEIGHTMAP :Laai Hoogtekaart
STR_0294_QUIT_EDITOR :Laat vaar redigeerder
STR_0295 :
STR_0296_QUIT :Laat vaar
@@ -773,9 +765,9 @@ STR_02C2_SAVE_CUSTOMIZED_VEHICLE :{BLACK}Spaar pa
STR_CHECKMARK :{CHECKMARK}
############ range for menu starts
STR_02C3_GAME_OPTIONS :Speletjie opsies
STR_02C5_DIFFICULTY_SETTINGS :Moeite stellings
STR_02C7_CONFIG_PATCHES :Konfigureer laslappe
STR_02C4_GAME_OPTIONS :Speletjie opsies
STR_02C6_DIFFICULTY_SETTINGS :Moeite stellings
STR_MENU_CONFIG_PATCHES :Konfigureer laslappe
STR_NEWGRF_SETTINGS :NewGRF stellings
STR_TRANSPARENCY_OPTIONS :Deursigtigheid opsies
STR_GAMEOPTMENU_0A :
@@ -875,8 +867,8 @@ STR_SAVING_GAME :{RED}* * BESP
STR_SAVE_STILL_IN_PROGRESS :{WHITE}Spaar nog in vorder, {}wag asb tot dit klaar is!
STR_0330_SELECT_EZY_STREET_STYLE :{BLACK}Kies 'Ezy Straat styl musiek' musiek lys
STR_0335_6 :{BLACK}6
STR_0336_7 :{BLACK}7
STR_6 :{BLACK}6
STR_7 :{BLACK}7
############ start of townname region
STR_TOWNNAME_ORIGINAL_ENGLISH :Engels (Oorspronkilik)
@@ -1051,7 +1043,6 @@ STR_CONFIG_PATCHES_BRIBE :{LTBLUE}Laattoe
STR_CONFIG_PATCHES_ALLOW_EXCLUSIVE :{LTBLUE}Laattoe die koop van eksklusief vervoer regte: {ORANGE}{STRING}
STR_CONFIG_PATCHES_ALLOW_GIVE_MONEY :{LTBLUE}Laattoe die stuur van geld na ander maatskappye: {ORANGE}{STRING}
STR_CONFIG_PATCHES_NONUNIFORM_STATIONS :{LTBLUE}Ongelyk stasies: {ORANGE}{STRING}
STR_CONFIG_PATCHES_NEW_PATHFINDING_ALL :{LTBLUE}Nuwe wêreldwyd padvind (NPF, oorbrug NTP): {ORANGE}{STRING}
STR_CONFIG_PATCHES_FREIGHT_TRAINS :{LTBLUE}Gewig vermenivoud vir vrag om swaar treine te simuleer: {ORANGE}{STRING}
STR_CONFIG_PATCHES_STOP_ON_TOWN_ROAD :{LTBLUE}Laattoe skyf-deur pad stop op dorp besit paaie: {ORANGE}{STRING}
STR_CONFIG_PATCHES_ADJACENT_STATIONS :{LTBLUE}Laattoe gebou van aangrensend stasies: {ORANGE}{STRING}
@@ -1205,9 +1196,6 @@ STR_CONFIG_PATCHES_CURRENCY :{CURRENCY}
STR_CONFIG_PATCHES_QUERY_CAPT :{WHITE}Verander stel waarde
STR_CONFIG_PATCHES_SERVICE_INTERVAL_INCOMPATIBLE :{WHITE}Sommige of almal van die verstek diens pouse(s) onder is onversoenbaar met die gekies stel! 5-90% en 30-800 dae is geldig
STR_CONFIG_PATCHES_YAPF_SHIPS :{LTBLUE}Gebruik YAPF vir skepe: {ORANGE}{STRING}
STR_CONFIG_PATCHES_YAPF_ROAD :{LTBLUE}Gebruik YAPF vir pad voertuie: {ORANGE}{STRING}
STR_CONFIG_PATCHES_YAPF_RAIL :{LTBLUE}Gebruik YAPF vir treine: {ORANGE}{STRING}
STR_TEMPERATE_LANDSCAPE :Magtig landskap
STR_SUB_ARCTIC_LANDSCAPE :Onder-noordpool landskap
@@ -1649,41 +1637,41 @@ STR_MUST_REMOVE_RAILWAY_STATION_FIRST :{WHITE}Moet eer
STR_1801_MUST_REMOVE_ROAD_FIRST :{WHITE}Moet pad eers verwyder
STR_ROAD_WORKS_IN_PROGRESS :{WHITE}Pad werke in vorder
STR_1802_ROAD_CONSTRUCTION :{WHITE}Pad Konstruksie
STR_1802_TRAMWAY_CONSTRUCTION :{WHITE}Tremweg Konstruksie
STR_WHITE_TRAMWAY_CONSTRUCTION :{WHITE}Tremweg Konstruksie
STR_1803_SELECT_ROAD_BRIDGE :{WHITE}Kies Pad Brug
STR_ERR_ONEWAY_ROADS_CAN_T_HAVE_JUNCTION :{WHITE}... een rigting paaie kan nie aansluitings hê nie
STR_1804_CAN_T_BUILD_ROAD_HERE :{WHITE}Kan nie pad hier bou nie...
STR_1804_CAN_T_BUILD_TRAMWAY_HERE :{WHITE}Kan nie tremweg hier bou nie...
STR_CAN_T_BUILD_TRAMWAY_HERE :{WHITE}Kan nie tremweg hier bou nie...
STR_1805_CAN_T_REMOVE_ROAD_FROM :{WHITE}Kan nie pad van hier verwyder nie...
STR_1805_CAN_T_REMOVE_TRAMWAY_FROM :{WHITE}Kan nie tremweg van hier af verwyder nie...
STR_CAN_T_REMOVE_TRAMWAY_FROM :{WHITE}Kan nie tremweg van hier af verwyder nie...
STR_1806_ROAD_DEPOT_ORIENTATION :{WHITE}Pad Depot Oritering
STR_1806_TRAM_DEPOT_ORIENTATION :{WHITE}Trem Depot Orientasie
STR_TRAM_DEPOT_ORIENTATION :{WHITE}Trem Depot Orientasie
STR_1807_CAN_T_BUILD_ROAD_VEHICLE :{WHITE}Kan nie pad voertuig depot hier bou nie...
STR_1807_CAN_T_BUILD_TRAM_VEHICLE :{WHITE}Kan nie trem voertuig depot hier bou nie...
STR_CAN_T_BUILD_TRAM_VEHICLE :{WHITE}Kan nie trem voertuig depot hier bou nie...
STR_1808_CAN_T_BUILD_BUS_STATION :{WHITE}Kan nie bus stasie hier bou nie...
STR_1809_CAN_T_BUILD_TRUCK_STATION :{WHITE}Kan nie vragmotor stasie bou nie...
STR_1808_CAN_T_BUILD_PASSENGER_TRAM_STATION :{WHITE}Kan nie passasier trem stasie bou nie...
STR_1809_CAN_T_BUILD_CARGO_TRAM_STATION :{WHITE}Kan nie vrag trem stasie bou nie...
STR_CAN_T_BUILD_PASSENGER_TRAM_STATION :{WHITE}Kan nie passasier trem stasie bou nie...
STR_CAN_T_BUILD_CARGO_TRAM_STATION :{WHITE}Kan nie vrag trem stasie bou nie...
STR_180A_ROAD_CONSTRUCTION :Pad konstruksie
STR_180A_TRAMWAY_CONSTRUCTION :Tremweg konstruksie
STR_TRAMWAY_CONSTRUCTION :Tremweg konstruksie
STR_180B_BUILD_ROAD_SECTION :{BLACK}Bou pad afdeling
STR_BUILD_AUTOROAD_TIP :{BLACK}Bou pad seksie gebruikend Outopad metode
STR_180B_BUILD_TRAMWAY_SECTION :{BLACK}Bou tremweg afdeling
STR_BUILD_TRAMWAY_SECTION :{BLACK}Bou tremweg afdeling
STR_BUILD_AUTOTRAM_TIP :{BLACK}Bou tremweg gebruikend die Outotrem metode
STR_180C_BUILD_ROAD_VEHICLE_DEPOT :{BLACK}Bou pad voertuig depot (vir bou en diens van voertuie)
STR_180C_BUILD_TRAM_VEHICLE_DEPOT :{BLACK}Bou trem voertuig depot (vir bou en diens van voertuie)
STR_BUILD_TRAM_VEHICLE_DEPOT :{BLACK}Bou trem voertuig depot (vir bou en diens van voertuie)
STR_180D_BUILD_BUS_STATION :{BLACK}Bou bus stasie
STR_180E_BUILD_TRUCK_LOADING_BAY :{BLACK}Bou vraagmotor laai area
STR_180D_BUILD_PASSENGER_TRAM_STATION :{BLACK}Bou passasier trem stasie
STR_180E_BUILD_CARGO_TRAM_STATION :{BLACK}Bou vrag trem stasie
STR_BUILD_PASSENGER_TRAM_STATION :{BLACK}Bou passasier trem stasie
STR_BUILD_CARGO_TRAM_STATION :{BLACK}Bou vrag trem stasie
STR_180F_BUILD_ROAD_BRIDGE :{BLACK}Bou pad brug
STR_180F_BUILD_TRAMWAY_BRIDGE :{BLACK}Bou tremweg brug
STR_BUILD_TRAMWAY_BRIDGE :{BLACK}Bou tremweg brug
STR_1810_BUILD_ROAD_TUNNEL :{BLACK}Bou pad tonnel
STR_1810_BUILD_TRAMWAY_TUNNEL :{BLACK}Bou tremweg tonnel
STR_BUILD_TRAMWAY_TUNNEL :{BLACK}Bou tremweg tonnel
STR_1811_TOGGLE_BUILD_REMOVE_FOR :{BLACK}Tokkel bou/verwyder vir pad bou
STR_1811_TOGGLE_BUILD_REMOVE_FOR_TRAMWAYS :{BLACK}Tokkel bou/verwyder vir tremweg konstruksie
STR_TOGGLE_BUILD_REMOVE_FOR_TRAMWAYS :{BLACK}Tokkel bou/verwyder vir tremweg konstruksie
STR_1813_SELECT_ROAD_VEHICLE_DEPOT :{BLACK}Kies pad voertuig depot orientasie
STR_1813_SELECT_TRAM_VEHICLE_DEPOT :{BLACK}Kies trem voertuig depot orientasie
STR_SELECT_TRAM_VEHICLE_DEPOT :{BLACK}Kies trem voertuig depot orientasie
STR_1814_ROAD :Pad
STR_1815_ROAD_WITH_STREETLIGHTS :Pad met straatligte
STR_1816_TREE_LINED_ROAD :Boom-belynde pad
@@ -1825,8 +1813,8 @@ STR_3005_TOO_CLOSE_TO_ANOTHER_RAILROAD :{WHITE}Te naby
STR_3006_ADJOINS_MORE_THAN_ONE_EXISTING :{WHITE}Grens aan meer as een bestaande stasie/laai area
STR_3007_TOO_MANY_STATIONS_LOADING :{WHITE}Te veel stasies/laai areas in die stad
STR_3008_TOO_MANY_STATIONS_LOADING :{WHITE}Te veel stasies/laai areas
STR_3008A_TOO_MANY_BUS_STOPS :{WHITE}Te veel bushalte
STR_3008B_TOO_MANY_TRUCK_STOPS :{WHITE}Te veel vragmotor stasies
STR_TOO_MANY_BUS_STOPS :{WHITE}Te veel bushalte
STR_TOO_MANY_TRUCK_STOPS :{WHITE}Te veel vragmotor stasies
STR_3009_TOO_CLOSE_TO_ANOTHER_STATION :{WHITE}Te naby aan 'n ander stasie/laai area
STR_300A_0 :{WHITE}{STATION} {STATIONFEATURES}
STR_300B_MUST_DEMOLISH_RAILROAD :{WHITE}Moet eers spoorweg stasie afbreek
@@ -1857,12 +1845,12 @@ STR_3040_NOW_ACCEPTS :{WHITE}{STATION
STR_3041_NOW_ACCEPTS_AND :{WHITE}{STATION} aanvaar nou {STRING} en {STRING}
STR_3042_BUS_STATION_ORIENTATION :{WHITE}Bus Stasie Orientasie
STR_3043_TRUCK_STATION_ORIENT :{WHITE}Vragmotor Stasie Orientasie
STR_3042_PASSENGER_TRAM_STATION_ORIENTATION :{WHITE}Passasier Trem Orientasie
STR_3043_CARGO_TRAM_STATION_ORIENT :{WHITE}Vrag Trem Orientasie
STR_PASSENGER_TRAM_STATION_ORIENTATION :{WHITE}Passasier Trem Orientasie
STR_CARGO_TRAM_STATION_ORIENT :{WHITE}Vrag Trem Orientasie
STR_3046_MUST_DEMOLISH_BUS_STATION :{WHITE}Moet eers bus stasie afbreek
STR_3047_MUST_DEMOLISH_TRUCK_STATION :{WHITE}Moet eers vragmotor stasie afbreek
STR_3046_MUST_DEMOLISH_PASSENGER_TRAM_STATION :{WHITE}Moet eers passasier trem stasie afbreek
STR_3047_MUST_DEMOLISH_CARGO_TRAM_STATION :{WHITE}Moet eers vrag trem stasie afbreek
STR_MUST_DEMOLISH_PASSENGER_TRAM_STATION :{WHITE}Moet eers passasier trem stasie afbreek
STR_MUST_DEMOLISH_CARGO_TRAM_STATION :{WHITE}Moet eers vrag trem stasie afbreek
STR_3048_STATIONS :{WHITE}{COMPANY} - {COMMA} Stasie{P "" s}
STR_3049_0 :{YELLOW}{STATION} {STATIONFEATURES}
STR_304A_NONE :{YELLOW}- Geen -
@@ -1874,8 +1862,8 @@ STR_304F_SELECT_NUMBER_OF_PLATFORMS :{BLACK}Kies nom
STR_3050_SELECT_LENGTH_OF_RAILROAD :{BLACK}Kies lengte van spoorweg stasie
STR_3051_SELECT_BUS_STATION_ORIENTATION :{BLACK}Kies bus stasie orientasie
STR_3052_SELECT_TRUCK_LOADING_BAY :{BLACK}Kies vragmotor laai area orientasie
STR_3051_SELECT_PASSENGER_TRAM_STATION_ORIENTATION :{BLACK}Kies passasier trem stasie orientasie
STR_3052_SELECT_CARGO_TRAM_STATION_ORIENTATION :{BLACK}Kies vrag trem stasie orientasie
STR_SELECT_PASSENGER_TRAM_STATION_ORIENTATION :{BLACK}Kies passasier trem stasie orientasie
STR_SELECT_CARGO_TRAM_STATION_ORIENTATION :{BLACK}Kies vrag trem stasie orientasie
STR_3053_CENTER_MAIN_VIEW_ON_STATION :{BLACK}Senter skerm op stasie
STR_3054_SHOW_STATION_RATINGS :{BLACK}Toon stasie graderings
STR_3055_CHANGE_NAME_OF_STATION :{BLACK}Verander naam van stasie
@@ -1897,7 +1885,7 @@ STR_3068_DOCK :{WHITE}Werf
STR_3069_BUOY :Baken
STR_306A_BUOY_IN_THE_WAY :{WHITE}...baken in die pad
STR_306C_STATION_TOO_SPREAD_OUT :{WHITE}...Stasie te ver van mekaar af
STR_306D_NONUNIFORM_STATIONS_DISALLOWED :{WHITE}...ongelyk stasies is versper
STR_NONUNIFORM_STATIONS_DISALLOWED :{WHITE}...ongelyk stasies is versper
STR_USE_CTRL_TO_SELECT_MORE :{BLACK}Hou in CTRL om meer as een item te selekteer
STR_UNDEFINED :(undefined string)
@@ -1938,7 +1926,7 @@ STR_400D_SAVE_THE_CURRENT_GAME_USING :{BLACK}Spaar di
STR_400E_SELECT_NEW_GAME_TYPE :{WHITE}Kies Nuwe Speletjie Tipe
STR_400F_SELECT_SCENARIO_GREEN_PRE :{BLACK}Kies draaiboek (groen), vooraf-stel speletjie (blou), of lukraak nuwe speletjie
STR_4010_GENERATE_RANDOM_NEW_GAME :Opwek lukraak nuwe speletjie
STR_4011_LOAD_HEIGHTMAP :{WHITE}Laai Hoogtekaart
STR_LOAD_HEIGHTMAP :{WHITE}Laai Hoogtekaart
##id 0x4800
STR_4800_IN_THE_WAY :{WHITE}{STRING} in die pad
@@ -2142,10 +2130,10 @@ STR_6812_QUANTITY_OF_SEA_LAKES :{LTBLUE}Hoeveel
STR_6813_ECONOMY :{LTBLUE}Ekonomie: {ORANGE}{STRING}
STR_6814_TRAIN_REVERSING :{LTBLUE}Trein omkeer: {ORANGE}{STRING}
STR_6815_DISASTERS :{LTBLUE}Rampe: {ORANGE}{STRING}
STR_16816_CITY_APPROVAL :{LTBLUE}Stad raad se houding na area herstruktuuring: {ORANGE}{STRING}
STR_CITY_APPROVAL :{LTBLUE}Stad raad se houding na area herstruktuuring: {ORANGE}{STRING}
############ range for difficulty settings ends
STR_26816_NONE :Geen
STR_NONE :Geen
STR_NUM_VERY_LOW :Baie laag
STR_6816_LOW :Laag
STR_6817_NORMAL :Normaal
@@ -2183,9 +2171,9 @@ STR_6835_AT_END_OF_LINE_ONLY :Slegs op die en
STR_6836_OFF :Af
STR_6837_ON :Aan
STR_6838_SHOW_HI_SCORE_CHART :{BLACK}Wys hotelling tabel
STR_6839_PERMISSIVE :Permissief
STR_683A_TOLERANT :Toelaatbaar
STR_683B_HOSTILE :Vyandelik
STR_PERMISSIVE :Permissief
STR_TOLERANT :Toelaatbaar
STR_HOSTILE :Vyandelik
##id 0x7000
STR_7000 :
@@ -2317,7 +2305,7 @@ STR_707B_CAN_T_BUY_25_SHARE_IN_THIS :{WHITE}Kan nie
STR_707C_CAN_T_SELL_25_SHARE_IN :{WHITE}Kan nie 25% aandeel in die maatskappy verkoop nie...
STR_707D_OWNED_BY :{WHITE}({COMMA}% besit by {COMPANY})
STR_707F_HAS_BEEN_TAKEN_OVER_BY :{BLACK}{BIGFONT}{COMPANY} is deur {COMPANY} oorgevat!
STR_7080_PROTECTED :{WHITE}Die maatskappy is nie oud genoeg om aandeele te handel nie...
STR_PROTECTED :{WHITE}Die maatskappy is nie oud genoeg om aandeele te handel nie...
STR_LIVERY_DEFAULT :Standaard Lewery
STR_LIVERY_STEAM :Stoom Enjin
@@ -2624,17 +2612,17 @@ STR_8803_TRAIN_IN_THE_WAY :{WHITE}Trein in
STR_8804 :{SETX 10}{COMMA}: {STRING} {STRING}
STR_8805 :{RIGHTARROW}{SETX 10}{COMMA}: {STRING} {STRING}
STR_8806_GO_TO :Gaan na {STATION}
STR_8807_GO_TO_TRANSFER :Gaan na {STATION} (Oordrag en vat vrag)
STR_8808_GO_TO_UNLOAD :Gaan na {STATION} (Aflaai)
STR_8809_GO_TO_TRANSFER_UNLOAD :Gaan na {STATION} (Oordrag en verlaat leeg)
STR_880A_GO_TO_LOAD :Gaan na {STATION} (Laai)
STR_880B_GO_TO_TRANSFER_LOAD :Gaan na {STATION} (Oordrag en wag vir volle lading)
STR_880C_GO_NON_STOP_TO :Gaan deurgaande na {STATION}
STR_880D_GO_TO_NON_STOP_TRANSFER :Gaan deurgaande na {STATION} (Oordra en neem vrag)
STR_880E_GO_NON_STOP_TO_UNLOAD :Gaan deurgaande na {STATION} (Aflaai)
STR_880F_GO_TO_NON_STOP_TRANSFER_UNLOAD :Gaan deurgaande na {STATION} (Oordra en verlaat leë)
STR_8810_GO_NON_STOP_TO_LOAD :Gaan deurgaande na {STATION} (Laai)
STR_8811_GO_TO_NON_STOP_TRANSFER_LOAD :Gaan deurgaande na {STATION} (Oordra en wag vir volle lading)
STR_GO_TO_TRANSFER :Gaan na {STATION} (Oordrag en vat vrag)
STR_8807_GO_TO_UNLOAD :Gaan na {STATION} (Aflaai)
STR_GO_TO_TRANSFER_UNLOAD :Gaan na {STATION} (Oordrag en verlaat leeg)
STR_8808_GO_TO_LOAD :Gaan na {STATION} (Laai)
STR_GO_TO_TRANSFER_LOAD :Gaan na {STATION} (Oordrag en wag vir volle lading)
STR_880A_GO_NON_STOP_TO :Gaan deurgaande na {STATION}
STR_GO_TO_NON_STOP_TRANSFER :Gaan deurgaande na {STATION} (Oordra en neem vrag)
STR_880B_GO_NON_STOP_TO_UNLOAD :Gaan deurgaande na {STATION} (Aflaai)
STR_GO_TO_NON_STOP_TRANSFER_UNLOAD :Gaan deurgaande na {STATION} (Oordra en verlaat leë)
STR_880C_GO_NON_STOP_TO_LOAD :Gaan deurgaande na {STATION} (Laai)
STR_GO_TO_NON_STOP_TRANSFER_LOAD :Gaan deurgaande na {STATION} (Oordra en wag vir volle lading)
STR_GO_TO_TRAIN_DEPOT :Gaan na {TOWN} Trein Depot
STR_SERVICE_AT_TRAIN_DEPOT :Diens by {TOWN} Trein Depot
STR_880F_GO_NON_STOP_TO_TRAIN_DEPOT :Gaan deurgaande na {TOWN} Trein Depot
@@ -2738,7 +2726,7 @@ STR_884E_DECREASE_SERVICING_INTERVAL :{BLACK}Verminde
STR_884F_SHOW_DETAILS_OF_CARGO_CARRIED :{BLACK}Toon besonderhede van vrag gedra
STR_8850_SHOW_DETAILS_OF_TRAIN_VEHICLES :{BLACK}Toon besonderhede van trein voertuie
STR_8851_SHOW_CAPACITIES_OF_EACH :{BLACK}Toon kapasiteite van elke voertuig
STR_8852_SHOW_TOTAL_CARGO :{BLACK}Toon totaale kapasitiet van trein, verdeel by vrag tipe
STR_SHOW_TOTAL_CARGO :{BLACK}Toon totaale kapasitiet van trein, verdeel by vrag tipe
STR_8852_ORDERS_LIST_CLICK_ON_ORDER :{BLACK}Opdraglys - kliek op 'n opdrag om dit te verlig. CTRL + kliek senter op stasie
STR_8853_SKIP_THE_CURRENT_ORDER :{BLACK}Sprong die huidige opdraag, en begin die volgende. CTRL + kliek sprong na verkieste opdrag
STR_8854_DELETE_THE_HIGHLIGHTED :{BLACK}Vee uit die verlig opdrag
@@ -2769,8 +2757,8 @@ STR_8868_TRAIN_CRASH_DIE_IN_FIREBALL :{BLACK}{BIGFONT
STR_8869_CAN_T_REVERSE_DIRECTION :{WHITE}Kan nie rigting van trein omkeer nie...
STR_886A_RENAME_TRAIN_VEHICLE_TYPE :{WHITE}Hernoem trein voertuig tipe
STR_886B_CAN_T_RENAME_TRAIN_VEHICLE :{WHITE}Trein voertuig tipe kan nie hernoem word nie...
STR_886D_MAKE_THE_HIGHLIGHTED_ORDER :{BLACK}Maak die verlig opdrag forseer die voertuig om sy vrag te stort
STR_886F_TRANSFER :{BLACK}Oordra
STR_MAKE_THE_HIGHLIGHTED_ORDER :{BLACK}Maak die verlig opdrag forseer die voertuig om sy vrag te stort
STR_TRANSFER :{BLACK}Oordra
STR_CLEAR_TIME :{BLACK}Reinig Tyd
STR_RESET_LATENESS :{BLACK}Herstel Laat Teller
@@ -2847,8 +2835,8 @@ STR_902D_CAN_T_NAME_ROAD_VEHICLE :{WHITE}Pad voer
STR_902E_NAME_ROAD_VEHICLE :{BLACK}Benaam pad voertuig
STR_902F_CITIZENS_CELEBRATE_FIRST :{BLACK}{BIGFONT}Burgers herdenk . . .{}Eerste bus arriveer by {STATION}!
STR_9030_CITIZENS_CELEBRATE_FIRST :{BLACK}{BIGFONT}Burgers herdenk . . .{}Eerste trok arriveer by {STATION}!
STR_902F_CITIZENS_CELEBRATE_FIRST_TRAM :{BLACK}{BIGFONT}Burgers herdenk . . .{}Eerste passasier trein arriveer by {STATION}!
STR_9030_CITIZENS_CELEBRATE_FIRST_TRAM :{BLACK}{BIGFONT}Burgers herdenk . . .{}Eerste vrag trein arriveer by {STATION}!
STR_CITIZENS_CELEBRATE_FIRST_PASSENGER_TRAM :{BLACK}{BIGFONT}Burgers herdenk . . .{}Eerste passasier trein arriveer by {STATION}!
STR_CITIZENS_CELEBRATE_FIRST_CARGO_TRAM :{BLACK}{BIGFONT}Burgers herdenk . . .{}Eerste vrag trein arriveer by {STATION}!
STR_9031_ROAD_VEHICLE_CRASH_DRIVER :{BLACK}{BIGFONT}Pad Voertuig Botsing!{}Bestuurder sterf in vuurbol na botsing met trein
STR_9032_ROAD_VEHICLE_CRASH_DIE :{BLACK}{BIGFONT}Pad voertuig Botsing!{}{COMMA} sterf in vuurbol na botsing met trein
STR_9033_CAN_T_MAKE_VEHICLE_TURN :{WHITE}Kan nie voertuig forseer om te omdraai nie...
@@ -2857,7 +2845,7 @@ STR_9034_RENAME :{BLACK}Hernoem
STR_9035_RENAME_ROAD_VEHICLE_TYPE :{BLACK}Hernoem pad voertuig tipe
STR_9036_RENAME_ROAD_VEHICLE_TYPE :{WHITE}Hernoem pad voertuig tipe
STR_9037_CAN_T_RENAME_ROAD_VEHICLE :{WHITE}Pad voertuig tipe kan nie hernoem word nie...
STR_9038_GO_TO_ROADVEH_DEPOT :Gaan na {TOWN} Pad Voertuig Depot
STR_GO_TO_ROADVEH_DEPOT :Gaan na {TOWN} Pad Voertuig Depot
STR_SERVICE_AT_ROADVEH_DEPOT :Diens by {TOWN} Pad Voertuig Depot
STR_REFIT_ROAD_VEHICLE_TO_CARRY :{BLACK}Herpas pad voertuig om 'n ander vrag tipe te ontvoer
@@ -3256,7 +3244,6 @@ STR_HEIGHTMAP_SCALE_WARNING_CAPTION :{WHITE}Skaal wa
STR_HEIGHTMAP_SCALE_WARNING_MESSAGE :{YELLOW}Om te verstel oorsprong werfkaart te is nie aanbeveel. Voortgaan met die generasie?
STR_TOWN_LAYOUT_WARNING_CAPTION :{WHITE}Dorp uitleg waarskuwing
STR_TOWN_LAYOUT_WARNING_MESSAGE :{YELLOW}Die dorp uitleg "geen meer paaie" is nie aanbeveel nie. Gaan aan met generasie?
STR_SNOW_LINE_HEIGHT_NUM :{NUM}
STR_HEIGHTMAP_NAME :{BLACK}Hoogtekaart name:
STR_HEIGHTMAP_SIZE :{BLACK}Groote: {ORANGE}{NUM} x {NUM}
STR_GENERATION_WORLD :{WHITE}Genereer wêreld...
@@ -3282,7 +3269,6 @@ STR_FLAT_WORLD_HEIGHT_DOWN :{BLACK}Beweeg d
STR_FLAT_WORLD_HEIGHT_UP :{BLACK}Beweeg die hoogte van platte daal bo een
STR_FLAT_WORLD_HEIGHT_QUERY_CAPT :{WHITE}Verander die hoogte van platte daal
STR_FLAT_WORLD_HEIGHT :{BLACK}Hoogte van platte daal:
STR_FLAT_WORLD_HEIGHT_NUM :{NUM}
STR_SMALLMAP_CENTER :{BLACK}Senter die kleinwerfkaart op die huidige posisie
+76 -80
View File
@@ -17,8 +17,7 @@ STR_EMPTY :
STR_0007_FLAT_LAND_REQUIRED :{WHITE}Requer terreno plano
STR_0008_WAITING :{BLACK}Aguardando: {WHITE}{STRING}
STR_0009 :{WHITE}{CARGO}
STR_000A_EN_ROUTE_FROM :{WHITE}{CARGO}{YELLOW} (em rota de
STR_000B :{YELLOW}{STATION})
STR_EN_ROUTE_FROM :{YELLOW}({SHORTCARGO} vindo de {STATION})
STR_000C_ACCEPTS :{BLACK}Aceita: {WHITE}
STR_000D_ACCEPTS :{BLACK}Aceita: {GOLD}
STR_000E :
@@ -276,9 +275,9 @@ STR_0130_RENAME :{BLACK}Renomear
STR_0131_TOO_MANY_NAMES_DEFINED :{WHITE}Muitos nomes definidos
STR_0132_CHOSEN_NAME_IN_USE_ALREADY :{WHITE}O nome escolhido já está em uso
STR_0133_WINDOWS :Windows
STR_0134_UNIX :Unix
STR_0135_OSX :OS X
STR_OSNAME_WINDOWS :Windows
STR_OSNAME_UNIX :Unix
STR_OSNAME_OSX :OS X
STR_OSNAME_BEOS :BeOS
STR_OSNAME_MORPHOS :MorphOS
STR_OSNAME_AMIGAOS :AmigaOS
@@ -289,11 +288,11 @@ STR_013B_OWNED_BY :{WHITE}...propr
STR_013C_CARGO :{BLACK}Carga
STR_013D_INFORMATION :{BLACK}Informação
STR_013E_CAPACITIES :{BLACK}Capacidades
STR_013E_TOTAL_CARGO :{BLACK}Carga Total
STR_TOTAL_CARGO :{BLACK}Carga Total
STR_013F_CAPACITY :{BLACK}Capacidade: {LTBLUE}{CARGO}
STR_CAPACITY_MULT :{BLACK}Capacidade: {LTBLUE}{CARGO} (x{NUM})
STR_013F_TOTAL_CAPACITY_TEXT :{BLACK}Capacidade total deste trem:
STR_013F_TOTAL_CAPACITY :{LTBLUE}- {CARGO} ({SHORTCARGO})
STR_TOTAL_CAPACITY_TEXT :{BLACK}Capacidade total deste trem:
STR_TOTAL_CAPACITY :{LTBLUE}- {CARGO} ({SHORTCARGO})
STR_TOTAL_CAPACITY_MULT :{LTBLUE}- {CARGO} ({SHORTCARGO}) (x{NUM})
STR_0140_NEW_GAME :{BLACK}Novo Jogo
STR_0141_LOAD_GAME :{BLACK}Abrir Jogo
@@ -301,12 +300,6 @@ STR_SINGLE_PLAYER :{BLACK}1 jogado
STR_MULTIPLAYER :{BLACK}Multi-jogador
STR_SCENARIO_EDITOR :{BLACK}Editor de Cenário
STR_64 :64
STR_128 :128
STR_256 :256
STR_512 :512
STR_1024 :1024
STR_2048 :2048
STR_MAPSIZE :{BLACK}Dimensões do mapa:
STR_BY :{BLACK}*
STR_0148_GAME_OPTIONS :{BLACK}Opções do Jogo
@@ -487,7 +480,7 @@ STR_019E_SHIP :{G=m}Embarcaç
STR_019F_TRAIN :{G=m}Trem
STR_01A0_IS_GETTING_OLD :{WHITE}{STRING} {COMMA} está ficando velho
STR_01A1_IS_GETTING_VERY_OLD :{WHITE}{STRING} {COMMA} está ficando muito velho
STR_01A2_IS_GETTING_VERY_OLD_AND :{WHITE}{STRING} {COMMA} está ficando muito velho e precisa substituição urgente
STR_01A2_IS_GETTING_VERY_OLD_AND :{WHITE}{STRING} {COMMA} está ficando muito velho e precisa ser substituído urgentemente
STR_01A3_LAND_AREA_INFORMATION :{WHITE}Informações do Terreno
STR_01A4_COST_TO_CLEAR_N_A :{BLACK}Custo para limpar: {LTBLUE}N/D
STR_01A5_COST_TO_CLEAR :{BLACK}Custo para limpar: {LTBLUE}{CURRENCY}
@@ -734,11 +727,12 @@ STR_028D_PLACE_LIGHTHOUSE :{BLACK}Colocar
STR_028E_PLACE_TRANSMITTER :{BLACK}Colocar transmissor
STR_028F_DEFINE_DESERT_AREA :{BLACK}Define área desértica.{} Pressione e segure CTRL para removê-la
STR_CREATE_LAKE :{BLACK}Define área com água.{} Faz um canal, a menos se CTRL for pressionado ao nível do mar, neste caso inundará ao redor
STR_CREATE_RIVER :{BLACK}Criar Rios
STR_0290_DELETE :{BLACK}Remover
STR_0291_DELETE_THIS_TOWN_COMPLETELY :{BLACK}Remover esta cidade completamente
STR_0292_SAVE_SCENARIO :Salvar cenário
STR_0293_LOAD_SCENARIO :Abrir cenário
STR_LOAD_HEIGHTMAP :Carregar relevo
STR_MENU_LOAD_HEIGHTMAP :Carregar relevo
STR_0294_QUIT_EDITOR :Sair do editor
STR_0295 :
STR_0296_QUIT :Sair
@@ -778,9 +772,9 @@ STR_02C2_SAVE_CUSTOMIZED_VEHICLE :{BLACK}Salvar n
STR_CHECKMARK :{CHECKMARK}
############ range for menu starts
STR_02C3_GAME_OPTIONS :Opções do Jogo
STR_02C5_DIFFICULTY_SETTINGS :Configurações de dificuldade
STR_02C7_CONFIG_PATCHES :Configurar correções
STR_02C4_GAME_OPTIONS :Opções do Jogo
STR_02C6_DIFFICULTY_SETTINGS :Configurações de dificuldade
STR_MENU_CONFIG_PATCHES :Configurar correções
STR_NEWGRF_SETTINGS :Configurar NewGRF
STR_TRANSPARENCY_OPTIONS :Opções de Transparência
STR_GAMEOPTMENU_0A :
@@ -880,8 +874,8 @@ STR_SAVING_GAME :{RED}* * SALV
STR_SAVE_STILL_IN_PROGRESS :{WHITE}Gravação em progresso,{}por favor aguarde até que termine!
STR_0330_SELECT_EZY_STREET_STYLE :{BLACK}Selecionar programa 'Ezy Street'
STR_0335_6 :{BLACK}6
STR_0336_7 :{BLACK}7
STR_6 :{BLACK}6
STR_7 :{BLACK}7
############ start of townname region
STR_TOWNNAME_ORIGINAL_ENGLISH :Inglês (Original)
@@ -1057,7 +1051,6 @@ STR_CONFIG_PATCHES_BRIBE :{LTBLUE}Permiti
STR_CONFIG_PATCHES_ALLOW_EXCLUSIVE :{LTBLUE}Permtir compra de direitos exclusivos de transporte: {ORANGE}{STRING}
STR_CONFIG_PATCHES_ALLOW_GIVE_MONEY :{LTBLUE}Permitir o envio de dinheiro a outras companhias: {ORANGE}{STRING}
STR_CONFIG_PATCHES_NONUNIFORM_STATIONS :{LTBLUE}Estações não uniformes: {ORANGE}{STRING}
STR_CONFIG_PATCHES_NEW_PATHFINDING_ALL :{LTBLUE}Novo busca de caminho global (NPF, sobrepõe NTP): {ORANGE}{STRING}
STR_CONFIG_PATCHES_FREIGHT_TRAINS :{LTBLUE}Multiplicador de peso para trens simulando trens pesados: {ORANGE}{STRING}
STR_CONFIG_PATCHES_STOP_ON_TOWN_ROAD :{LTBLUE}Permitir estações drive-through em ruas locais: {ORANGE}{STRING}
STR_CONFIG_PATCHES_ADJACENT_STATIONS :{LTBLUE}Permitir construção de estações adjacentes: {ORANGE}{STRING}
@@ -1212,9 +1205,6 @@ STR_CONFIG_PATCHES_CURRENCY :{CURRENCY}
STR_CONFIG_PATCHES_QUERY_CAPT :{WHITE}Alterar valor
STR_CONFIG_PATCHES_SERVICE_INTERVAL_INCOMPATIBLE :{WHITE}Alguns ou todos os intervalo(s) de serviço predefinidos abaixo são incompatíveis com o valor escolhido! São válidos 5-90% e 30-800 dias
STR_CONFIG_PATCHES_YAPF_SHIPS :{LTBLUE}Usar YAPF para embarcações: {ORANGE}{STRING}
STR_CONFIG_PATCHES_YAPF_ROAD :{LTBLUE}Usar YAPF para automóveis: {ORANGE}{STRING}
STR_CONFIG_PATCHES_YAPF_RAIL :{LTBLUE}Usar YAPF para trens: {ORANGE}{STRING}
STR_TEMPERATE_LANDSCAPE :terreno temperado
STR_SUB_ARCTIC_LANDSCAPE :terreno subártico
@@ -1404,7 +1394,7 @@ STR_NETWORK_LAN_INTERNET :Rede Local / In
STR_NETWORK_INTERNET_ADVERTISE :Internet (divulgar)
STR_NETWORK_CLIENTS_SELECT :{BLACK}{SKIP}{SKIP}{NUM} cliente{P "" s}
STR_NETWORK_NUMBER_OF_CLIENTS :{BLACK}Máximo de clientes:
STR_NETWORK_NUMBER_OF_CLIENTS_TIP :{BLACK}Escolha o número máximo de clientes. Não precisa estarem todos preenchidos
STR_NETWORK_NUMBER_OF_CLIENTS_TIP :{BLACK}Escolha o número máximo de clientes. Não é necessário estarem todos preenchidos
STR_NETWORK_COMPANIES_SELECT :{BLACK}{SKIP}{SKIP}{SKIP}{NUM} compan{P ia ias}
STR_NETWORK_NUMBER_OF_COMPANIES :{BLACK}Máximo de empresas:
STR_NETWORK_NUMBER_OF_COMPANIES_TIP :{BLACK}Limita o servidor para uma certa quantia de empresas
@@ -1656,42 +1646,42 @@ STR_MUST_REMOVE_RAILWAY_STATION_FIRST :{WHITE}Deve rem
STR_1801_MUST_REMOVE_ROAD_FIRST :{WHITE}Deve remover a rodovia primeiro
STR_ROAD_WORKS_IN_PROGRESS :{WHITE}Recapeamento rodoviário em progresso
STR_1802_ROAD_CONSTRUCTION :{WHITE}Construir rodovias
STR_1802_TRAMWAY_CONSTRUCTION :{WHITE}Construção de Bonde
STR_WHITE_TRAMWAY_CONSTRUCTION :{WHITE}Construção de Bonde
STR_1803_SELECT_ROAD_BRIDGE :{WHITE}Selecionar Ponte Rodoviária
STR_ERR_ONEWAY_ROADS_CAN_T_HAVE_JUNCTION :{WHITE}... vias de mão única não podem ter junções
STR_1804_CAN_T_BUILD_ROAD_HERE :{WHITE}Impossível construir rodovia aqui...
STR_1804_CAN_T_BUILD_TRAMWAY_HERE :{WHITE}Impossível construir bonde aqui...
STR_CAN_T_BUILD_TRAMWAY_HERE :{WHITE}Impossível construir bonde aqui...
STR_1805_CAN_T_REMOVE_ROAD_FROM :{WHITE}Impossível remover rodovia daqui...
STR_1805_CAN_T_REMOVE_TRAMWAY_FROM :{WHITE}Impossível remover bonde daqui...
STR_CAN_T_REMOVE_TRAMWAY_FROM :{WHITE}Impossível remover bonde daqui...
STR_1806_ROAD_DEPOT_ORIENTATION :{WHITE}Orientação da Garagem
STR_1806_TRAM_DEPOT_ORIENTATION :{WHITE}Orientação do Depósito
STR_TRAM_DEPOT_ORIENTATION :{WHITE}Orientação do Depósito
STR_1807_CAN_T_BUILD_ROAD_VEHICLE :{WHITE}Impossível construir garagem aqui...
STR_1807_CAN_T_BUILD_TRAM_VEHICLE :{WHITE}Impossível construir depósito aqui...
STR_CAN_T_BUILD_TRAM_VEHICLE :{WHITE}Impossível construir depósito aqui...
STR_1808_CAN_T_BUILD_BUS_STATION :{WHITE}Impossível construir estação de ônibus...
STR_1809_CAN_T_BUILD_TRUCK_STATION :{WHITE}Impossível construir estação de caminhão
STR_1808_CAN_T_BUILD_PASSENGER_TRAM_STATION :{WHITE}Impossível construir estação de bonde...
STR_1809_CAN_T_BUILD_CARGO_TRAM_STATION :{WHITE}Impossível construir estação de bonde
STR_CAN_T_BUILD_PASSENGER_TRAM_STATION :{WHITE}Impossível construir estação de bonde...
STR_CAN_T_BUILD_CARGO_TRAM_STATION :{WHITE}Impossível construir estação de bonde
STR_180A_ROAD_CONSTRUCTION :Construir rodovias
STR_180A_TRAMWAY_CONSTRUCTION :Construção de Bonde
STR_TRAMWAY_CONSTRUCTION :Construção de Bonde
STR_180B_BUILD_ROAD_SECTION :{BLACK}Construir trecho rodoviário
STR_BUILD_AUTOROAD_TIP :{BLACK}Construir estradas usando o modo Autoestrada
STR_180B_BUILD_TRAMWAY_SECTION :{BLACK}Construir linha de bonde
STR_BUILD_TRAMWAY_SECTION :{BLACK}Construir linha de bonde
STR_BUILD_AUTOTRAM_TIP :{BLACK}Construir linha de bonde usando o modo Automático
STR_180C_BUILD_ROAD_VEHICLE_DEPOT :{BLACK}Construir garagem (para construção e manutenção de automóveis)
STR_180C_BUILD_TRAM_VEHICLE_DEPOT :{BLACK}Construir depósito de bonde (para construção e manutenção de bondes)
STR_BUILD_TRAM_VEHICLE_DEPOT :{BLACK}Construir depósito de bonde (para construção e manutenção de bondes)
STR_180D_BUILD_BUS_STATION :{BLACK}Construir estação de ônibus
STR_180E_BUILD_TRUCK_LOADING_BAY :{BLACK}Construir carga de caminhões
STR_180D_BUILD_PASSENGER_TRAM_STATION :{BLACK}Constuir estação de bonde para passageiros
STR_180E_BUILD_CARGO_TRAM_STATION :{BLACK}Constuir estação de bonde para carga
STR_BUILD_PASSENGER_TRAM_STATION :{BLACK}Constuir estação de bonde para passageiros
STR_BUILD_CARGO_TRAM_STATION :{BLACK}Constuir estação de bonde para carga
STR_180F_BUILD_ROAD_BRIDGE :{BLACK}Construir ponte rodoviária
STR_180F_BUILD_TRAMWAY_BRIDGE :{BLACK}Construir ponte de bonde
STR_BUILD_TRAMWAY_BRIDGE :{BLACK}Construir ponte de bonde
STR_1810_BUILD_ROAD_TUNNEL :{BLACK}Construir túnel rodoviário
STR_1810_BUILD_TRAMWAY_TUNNEL :{BLACK}Construir túnel de bonde
STR_BUILD_TRAMWAY_TUNNEL :{BLACK}Construir túnel de bonde
STR_TOGGLE_ONE_WAY_ROAD :{BLACK}Ativar/Desativar vias de mão única
STR_1811_TOGGLE_BUILD_REMOVE_FOR :{BLACK}Alternar construir/remover para contrução rodoviária
STR_1811_TOGGLE_BUILD_REMOVE_FOR_TRAMWAYS :{BLACK}Alternar construir/remover linhas de bonde e sinais
STR_TOGGLE_BUILD_REMOVE_FOR_TRAMWAYS :{BLACK}Alternar construir/remover linhas de bonde e sinais
STR_1813_SELECT_ROAD_VEHICLE_DEPOT :{BLACK}Selecionar a orientação da garagem
STR_1813_SELECT_TRAM_VEHICLE_DEPOT :{BLACK}Selecionar a orientação do depósito de bonde
STR_SELECT_TRAM_VEHICLE_DEPOT :{BLACK}Selecionar a orientação do depósito de bonde
STR_1814_ROAD :Rodovia
STR_1815_ROAD_WITH_STREETLIGHTS :Rodovia iluminada
STR_1816_TREE_LINED_ROAD :Rodovia arborizada
@@ -1836,8 +1826,8 @@ STR_3005_TOO_CLOSE_TO_ANOTHER_RAILROAD :{WHITE}Muito pe
STR_3006_ADJOINS_MORE_THAN_ONE_EXISTING :{WHITE}Muito perto de uma estação/local de carga já existente
STR_3007_TOO_MANY_STATIONS_LOADING :{WHITE}Muitas estações/áreas de carga nesta cidade
STR_3008_TOO_MANY_STATIONS_LOADING :{WHITE}Muitas estações/áreas de carga
STR_3008A_TOO_MANY_BUS_STOPS :{WHITE}Muitas estações de ônibus
STR_3008B_TOO_MANY_TRUCK_STOPS :{WHITE}Muitos locais de carga
STR_TOO_MANY_BUS_STOPS :{WHITE}Muitas estações de ônibus
STR_TOO_MANY_TRUCK_STOPS :{WHITE}Muitos locais de carga
STR_3009_TOO_CLOSE_TO_ANOTHER_STATION :{WHITE}Muito perto de outra estação/local de carga
STR_300A_0 :{WHITE}{STATION} {STATIONFEATURES}
STR_300B_MUST_DEMOLISH_RAILROAD :{WHITE}Deve demolir a estação primeiro
@@ -1868,12 +1858,12 @@ STR_3040_NOW_ACCEPTS :{WHITE}{STATION
STR_3041_NOW_ACCEPTS_AND :{WHITE}{STATION} agora aceita {STRING} e {STRING}
STR_3042_BUS_STATION_ORIENTATION :{WHITE}Orientação do estação de ônibus
STR_3043_TRUCK_STATION_ORIENT :{WHITE}Orientação da estação de caminhão
STR_3042_PASSENGER_TRAM_STATION_ORIENTATION :{WHITE}Orientação da Estação de Bonde
STR_3043_CARGO_TRAM_STATION_ORIENT :{WHITE}Orientação da Estação de Bonde
STR_PASSENGER_TRAM_STATION_ORIENTATION :{WHITE}Orientação da Estação de Bonde
STR_CARGO_TRAM_STATION_ORIENT :{WHITE}Orientação da Estação de Bonde
STR_3046_MUST_DEMOLISH_BUS_STATION :{WHITE}Deve demolir a estação de ônibus primeiro
STR_3047_MUST_DEMOLISH_TRUCK_STATION :{WHITE}Deve demolir a estação de caminhão
STR_3046_MUST_DEMOLISH_PASSENGER_TRAM_STATION :{WHITE}Deve demolir a estação de bonde primeiro
STR_3047_MUST_DEMOLISH_CARGO_TRAM_STATION :{WHITE}Deve demolir a estação de bonde primeiro
STR_MUST_DEMOLISH_PASSENGER_TRAM_STATION :{WHITE}Deve demolir a estação de bonde primeiro
STR_MUST_DEMOLISH_CARGO_TRAM_STATION :{WHITE}Deve demolir a estação de bonde primeiro
STR_3048_STATIONS :{WHITE}{COMPANY} - {COMMA} Estações
STR_3049_0 :{YELLOW}{STATION} {STATIONFEATURES}
STR_304A_NONE :{YELLOW}- Nenhuma -
@@ -1885,8 +1875,8 @@ STR_304F_SELECT_NUMBER_OF_PLATFORMS :{BLACK}Selecion
STR_3050_SELECT_LENGTH_OF_RAILROAD :{BLACK}Selecionar o tamanho da estação ferroviária
STR_3051_SELECT_BUS_STATION_ORIENTATION :{BLACK}Selecionar orientação do estação de ônibus
STR_3052_SELECT_TRUCK_LOADING_BAY :{BLACK}Selecionar orientação da área de carga
STR_3051_SELECT_PASSENGER_TRAM_STATION_ORIENTATION :{BLACK}Selecionar orientação da estação de bonde
STR_3052_SELECT_CARGO_TRAM_STATION_ORIENTATION :{BLACK}Selecionar orientação da estação de bonde
STR_SELECT_PASSENGER_TRAM_STATION_ORIENTATION :{BLACK}Selecionar orientação da estação de bonde
STR_SELECT_CARGO_TRAM_STATION_ORIENTATION :{BLACK}Selecionar orientação da estação de bonde
STR_3053_CENTER_MAIN_VIEW_ON_STATION :{BLACK}Centralizar visualização no local estação
STR_3054_SHOW_STATION_RATINGS :{BLACK}Exibir avaliações da estação
STR_3055_CHANGE_NAME_OF_STATION :{BLACK}Alterar o nome da estação
@@ -1908,7 +1898,7 @@ STR_3068_DOCK :{WHITE}Doca
STR_3069_BUOY :Bóia
STR_306A_BUOY_IN_THE_WAY :{WHITE}...bóia no caminho
STR_306C_STATION_TOO_SPREAD_OUT :{WHITE}...estação muito extensa
STR_306D_NONUNIFORM_STATIONS_DISALLOWED :{WHITE}...Estações não-uniformes desativadas
STR_NONUNIFORM_STATIONS_DISALLOWED :{WHITE}...Estações não-uniformes desativadas
STR_USE_CTRL_TO_SELECT_MORE :{BLACK}Segure CTRL para selecionar mais de um item
STR_UNDEFINED :(undefined string)
@@ -1949,7 +1939,7 @@ STR_400D_SAVE_THE_CURRENT_GAME_USING :{BLACK}Salvar o
STR_400E_SELECT_NEW_GAME_TYPE :{WHITE}Selecionar Novo Tipo de Jogo
STR_400F_SELECT_SCENARIO_GREEN_PRE :{BLACK}Selecionar cenário (verde), jogo pré-programado (azul), ou novo jogo aleatório
STR_4010_GENERATE_RANDOM_NEW_GAME :Gerar novo jogo aleatório
STR_4011_LOAD_HEIGHTMAP :{WHITE}Carregar Relevo
STR_LOAD_HEIGHTMAP :{WHITE}Carregar Relevo
##id 0x4800
STR_4800_IN_THE_WAY :{WHITE}{STRING} no caminho
@@ -2153,10 +2143,10 @@ STR_6812_QUANTITY_OF_SEA_LAKES :{LTBLUE}Quantid
STR_6813_ECONOMY :{LTBLUE}Economia: {ORANGE}{STRING}
STR_6814_TRAIN_REVERSING :{LTBLUE}Inverter trem: {ORANGE}{STRING}
STR_6815_DISASTERS :{LTBLUE}Desastres: {ORANGE}{STRING}
STR_16816_CITY_APPROVAL :{LTBLUE}Atitude das autoridades sobre reestruturamentos: {ORANGE}{STRING}
STR_CITY_APPROVAL :{LTBLUE}Atitude das autoridades sobre reestruturamentos: {ORANGE}{STRING}
############ range for difficulty settings ends
STR_26816_NONE :Nenhum
STR_NONE :Nenhum
STR_NUM_VERY_LOW :Muito baixo
STR_6816_LOW :Baixo
STR_6817_NORMAL :Normal
@@ -2194,9 +2184,9 @@ STR_6835_AT_END_OF_LINE_ONLY :Só no fim da l
STR_6836_OFF :Off
STR_6837_ON :On
STR_6838_SHOW_HI_SCORE_CHART :{BLACK}Exibir melhores pontuações
STR_6839_PERMISSIVE :Permissivo
STR_683A_TOLERANT :Tolerante
STR_683B_HOSTILE :Hostil
STR_PERMISSIVE :Permissivo
STR_TOLERANT :Tolerante
STR_HOSTILE :Hostil
##id 0x7000
STR_7000 :
@@ -2245,7 +2235,7 @@ STR_702A_REPAY :{BLACK}Pagar {S
STR_702B_MAXIMUM_PERMITTED_LOAN :{WHITE}...o empréstimo máximo permitido é de {CURRENCY}
STR_702C_CAN_T_BORROW_ANY_MORE_MONEY :{WHITE}Impossível pedir mais dinheiro emprestado...
STR_702D_LOAN_ALREADY_REPAYED :{WHITE}...não há empréstimo para pagar
STR_702E_REQUIRED :{WHITE}...{CURRENCY} requerido
STR_702E_REQUIRED :{WHITE}...precisa de {CURRENCY}
STR_702F_CAN_T_REPAY_LOAN :{WHITE}Impossível pagar empréstimo...
STR_INSUFFICIENT_FUNDS :{WHITE}Impossível dar o dinheiro emprestado do banco
STR_7030_SELECT_NEW_FACE_FOR_PRESIDENT :{BLACK}Selecionar novo rosto para o presidente
@@ -2322,7 +2312,7 @@ STR_COMPANY_PASSWORD_CAPTION :{WHITE}Senha da
STR_MAKE_DEFAULT_COMPANY_PASSWORD :{BLACK}Senha padrão da empresa
STR_MAKE_DEFAULT_COMPANY_PASSWORD_TIP :{BLACK}Usar esta senha de empresa como padrão para novas empresas
STR_7073_WORLD_RECESSION_FINANCIAL :{BIGFONT}{BLACK}Recessão Mundial!{}{}Economistas temem crise!
STR_7074_RECESSION_OVER_UPTURN_IN :{BIGFONT}{BLACK}Fim do recessão!{}{}Melhoras no comércio inspiram confiança nas indústrias à medida que a economia se fortalece!
STR_7074_RECESSION_OVER_UPTURN_IN :{BIGFONT}{BLACK}Fim da recessão!{}{}Melhoras no comércio inspiram confiança nas indústrias à medida que a economia se fortalece!
STR_7075_TOGGLE_LARGE_SMALL_WINDOW :{BLACK}Alternar entre janela grande/pequena
STR_7076_COMPANY_VALUE :{GOLD}Valor da empresa: {WHITE}{CURRENCY}
STR_7077_BUY_25_SHARE_IN_COMPANY :{BLACK}Comprar 25% de ações
@@ -2333,7 +2323,7 @@ STR_707B_CAN_T_BUY_25_SHARE_IN_THIS :{WHITE}Impossí
STR_707C_CAN_T_SELL_25_SHARE_IN :{WHITE}Impossível vender 25% das ações desta empresa...
STR_707D_OWNED_BY :{WHITE}({COMMA}% propriedade de {COMPANY})
STR_707F_HAS_BEEN_TAKEN_OVER_BY :{BLACK}{BIGFONT}{COMPANY} foi comprada por {COMPANY}!
STR_7080_PROTECTED :{WHITE}Esta empresa ainda não troca ações...
STR_PROTECTED :{WHITE}Esta empresa ainda não troca ações...
STR_LIVERY_DEFAULT :Cores padrão
STR_LIVERY_STEAM :Máquina a Vapor
@@ -2346,6 +2336,8 @@ STR_LIVERY_EMU :EMU
STR_LIVERY_PASSENGER_WAGON_STEAM :Vagão de Passageiro (Vapor)
STR_LIVERY_PASSENGER_WAGON_DIESEL :Vagão de Passageiro (Diesel)
STR_LIVERY_PASSENGER_WAGON_ELECTRIC :Vagão de Passageiro (Elétrico)
STR_LIVERY_PASSENGER_WAGON_MONORAIL :Vagão de Passageiro (Monorail)
STR_LIVERY_PASSENGER_WAGON_MAGLEV :Vagão de Passageiro (Maglev)
STR_LIVERY_FREIGHT_WAGON :Vagão de carga
STR_LIVERY_BUS :Ônibus
STR_LIVERY_TRUCK :Caminhão
@@ -2640,17 +2632,17 @@ STR_8803_TRAIN_IN_THE_WAY :{WHITE}Trem no
STR_8804 :{SETX 10}{COMMA}: {STRING} {STRING}
STR_8805 :{RIGHTARROW}{SETX 10}{COMMA}: {STRING} {STRING}
STR_8806_GO_TO :Ir para {STATION}
STR_8807_GO_TO_TRANSFER :Ir para {STATION} (Transferir e carregar)
STR_8808_GO_TO_UNLOAD :Ir para {STATION} (Descarregar)
STR_8809_GO_TO_TRANSFER_UNLOAD :Ir para {STATION} (Transferir e deixar vazio)
STR_880A_GO_TO_LOAD :Ir para {STATION} (Carregar)
STR_880B_GO_TO_TRANSFER_LOAD :Ir para {STATION} (Trasferir e aguardar carga total)
STR_880C_GO_NON_STOP_TO :Ir sem parar para {STATION}
STR_880D_GO_TO_NON_STOP_TRANSFER :Ir sem parar para {STATION} (Transferir e carregar)
STR_880E_GO_NON_STOP_TO_UNLOAD :Ir sem parar para {STATION} (Descarregar)
STR_880F_GO_TO_NON_STOP_TRANSFER_UNLOAD :Ir sem parar para {STATION} (Transferir e deixar vazio)
STR_8810_GO_NON_STOP_TO_LOAD :Ir sem parar para {STATION} (Carregar)
STR_8811_GO_TO_NON_STOP_TRANSFER_LOAD :Ir sem parar para {STATION} (Trasferir e aguardar carga total)
STR_GO_TO_TRANSFER :Ir para {STATION} (Transferir e carregar)
STR_8807_GO_TO_UNLOAD :Ir para {STATION} (Descarregar)
STR_GO_TO_TRANSFER_UNLOAD :Ir para {STATION} (Transferir e deixar vazio)
STR_8808_GO_TO_LOAD :Ir para {STATION} (Carregar)
STR_GO_TO_TRANSFER_LOAD :Ir para {STATION} (Trasferir e aguardar carga total)
STR_880A_GO_NON_STOP_TO :Ir sem parar para {STATION}
STR_GO_TO_NON_STOP_TRANSFER :Ir sem parar para {STATION} (Transferir e carregar)
STR_880B_GO_NON_STOP_TO_UNLOAD :Ir sem parar para {STATION} (Descarregar)
STR_GO_TO_NON_STOP_TRANSFER_UNLOAD :Ir sem parar para {STATION} (Transferir e deixar vazio)
STR_880C_GO_NON_STOP_TO_LOAD :Ir sem parar para {STATION} (Carregar)
STR_GO_TO_NON_STOP_TRANSFER_LOAD :Ir sem parar para {STATION} (Trasferir e aguardar carga total)
STR_GO_TO_TRAIN_DEPOT :Ir para o depósito de {TOWN}
STR_SERVICE_AT_TRAIN_DEPOT :Manutenção no depósito de {TOWN}
STR_880F_GO_NON_STOP_TO_TRAIN_DEPOT :Ir sem parar para o depósito de {TOWN}
@@ -2754,7 +2746,7 @@ STR_884E_DECREASE_SERVICING_INTERVAL :{BLACK}Diminuir
STR_884F_SHOW_DETAILS_OF_CARGO_CARRIED :{BLACK}Exibir detalhes da carga transportada
STR_8850_SHOW_DETAILS_OF_TRAIN_VEHICLES :{BLACK}Exibir detalhes dos veículos
STR_8851_SHOW_CAPACITIES_OF_EACH :{BLACK}Exibir capacidades de cada veículo
STR_8852_SHOW_TOTAL_CARGO :{BLACK}Exibir capacidade total do trem, dividir por tipo de carga
STR_SHOW_TOTAL_CARGO :{BLACK}Exibir capacidade total do trem, dividir por tipo de carga
STR_8852_ORDERS_LIST_CLICK_ON_ORDER :{BLACK}Lista de ordens - clique numa ordem para a selecionar
STR_8853_SKIP_THE_CURRENT_ORDER :{BLACK}Pula a ordem atual e executa a próxima. CTRL + clique pula a ordem selecionada
STR_8854_DELETE_THE_HIGHLIGHTED :{BLACK}Remover a ordem selecionada
@@ -2766,7 +2758,7 @@ STR_TIMETABLE_TOOLTIP :{BLACK}Plano de
STR_TIMETABLE_WAIT_TIME_TOOLTIP :{BLACK}Mude a quantidade de tempo que a ordem deverá levar
STR_TIMETABLE_CLEAR_TIME_TOOLTIP :{BLACK}Reseta a quantidade de tempo para a ordem selecionada
STR_TIMETABLE_RESET_LATENESS_TOOLTIP :{BLACK}Reseta o contador de atraso, fazendo o veículo estar na hora
STR_SERVICE_HINT :{BLACK}Saltar esta ordem a menos que seja preciso manutenção
STR_SERVICE_HINT :{BLACK}Pular esta ordem a menos que necessite de manutenção
STR_VEHICLE_INFO_COST_WEIGHT_SPEED_POWER :{BLACK}Custo: {CURRENCY} Peso: {WEIGHT_S}{}Velocidade: {VELOCITY} Potência: {POWER}{}Custo de circulação: {CURRENCY}/ano{}Capacidade: {CARGO}
STR_885C_BROKEN_DOWN :{RED}Quebrado
STR_885D_AGE_RUNNING_COST_YR :{BLACK}Idade: {LTBLUE}{STRING}{BLACK} Custo de circulação: {LTBLUE}{CURRENCY}/ano
@@ -2785,8 +2777,8 @@ STR_8868_TRAIN_CRASH_DIE_IN_FIREBALL :{BLACK}{BIGFONT
STR_8869_CAN_T_REVERSE_DIRECTION :{WHITE}Impossível inverter a direção do trem...
STR_886A_RENAME_TRAIN_VEHICLE_TYPE :{WHITE}Renomear tipo de veículo ferroviário
STR_886B_CAN_T_RENAME_TRAIN_VEHICLE :{WHITE}Impossível renomear tipo de veículo ferroviário...
STR_886D_MAKE_THE_HIGHLIGHTED_ORDER :{BLACK}Força o veículo a deixar a carga na ordem selecionada
STR_886F_TRANSFER :{BLACK}Transferir
STR_MAKE_THE_HIGHLIGHTED_ORDER :{BLACK}Força o veículo a deixar a carga na ordem selecionada
STR_TRANSFER :{BLACK}Transferir
STR_CLEAR_TIME :{BLACK}Resetar horário
STR_RESET_LATENESS :{BLACK}Resetar contador de atraso
@@ -2864,8 +2856,8 @@ STR_902D_CAN_T_NAME_ROAD_VEHICLE :{WHITE}Impossí
STR_902E_NAME_ROAD_VEHICLE :{BLACK}Renomear automóvel
STR_902F_CITIZENS_CELEBRATE_FIRST :{BLACK}{BIGFONT}Cidadãos celebram . . .{}Primeiro ônibus chega a {STATION}!
STR_9030_CITIZENS_CELEBRATE_FIRST :{BLACK}{BIGFONT}Cidadãos celebram . . .{}Primeiro caminhão chega a {STATION}!
STR_902F_CITIZENS_CELEBRATE_FIRST_TRAM :{BLACK}{BIGFONT}Cidadãos celebram . . .{}Primeiro bonde de passageiros chega a {STATION}!
STR_9030_CITIZENS_CELEBRATE_FIRST_TRAM :{BLACK}{BIGFONT}Cidadãos celebram . . .{}Primeiro bonde de carga chega a {STATION}!
STR_CITIZENS_CELEBRATE_FIRST_PASSENGER_TRAM :{BLACK}{BIGFONT}Cidadãos celebram . . .{}Primeiro bonde de passageiros chega a {STATION}!
STR_CITIZENS_CELEBRATE_FIRST_CARGO_TRAM :{BLACK}{BIGFONT}Cidadãos celebram . . .{}Primeiro bonde de carga chega a {STATION}!
STR_9031_ROAD_VEHICLE_CRASH_DRIVER :{BLACK}{BIGFONT}Acidente Rodoviário!{} Condutor morre numa explosão após a colisão com um trem
STR_9032_ROAD_VEHICLE_CRASH_DIE :{BLACK}{BIGFONT}Acidente Rodoviário!{} {COMMA} mortos numa explosão após a colisão com um trem
STR_9033_CAN_T_MAKE_VEHICLE_TURN :{WHITE}Impossível fazer o veículo dar a volta...
@@ -2874,7 +2866,7 @@ STR_9034_RENAME :{BLACK}Renomear
STR_9035_RENAME_ROAD_VEHICLE_TYPE :{BLACK}Renomear tipo do automóvel
STR_9036_RENAME_ROAD_VEHICLE_TYPE :{WHITE}Renomear tipo do automóvel
STR_9037_CAN_T_RENAME_ROAD_VEHICLE :{WHITE}Impossível renomear tipo do automóvel...
STR_9038_GO_TO_ROADVEH_DEPOT :Ir para a garagem de {TOWN}
STR_GO_TO_ROADVEH_DEPOT :Ir para a garagem de {TOWN}
STR_SERVICE_AT_ROADVEH_DEPOT :Manutenção na garagem de {TOWN}
STR_REFIT_ROAD_VEHICLE_TO_CARRY :{BLACK}Adaptar automóvel para carregar tipo de carga diferente
@@ -3248,6 +3240,12 @@ STR_PURCHASE_INFO_ALL_TYPES :Todos as cargas
STR_PURCHASE_INFO_ALL_BUT :Todas menos {GOLD}
STR_PURCHASE_INFO_MAX_TE :{BLACK}Max. Tração : {GOLD}{FORCE}
########### For showing numbers in widgets
STR_NUM_1 :{BLACK}{SKIP}{NUM}
STR_NUM_2 :{BLACK}{SKIP}{SKIP}{NUM}
STR_NUM_3 :{BLACK}{SKIP}{SKIP}{SKIP}{NUM}
########### String for New Landscape Generator
STR_GENERATE :{WHITE}Gerar
@@ -3275,7 +3273,6 @@ STR_HEIGHTMAP_SCALE_WARNING_CAPTION :{WHITE}Aviso de
STR_HEIGHTMAP_SCALE_WARNING_MESSAGE :{YELLOW}Alterar muito o tamanho do mapa original não é recomendado. Continuar com a geração?
STR_TOWN_LAYOUT_WARNING_CAPTION :{WHITE}Aviso do layout da cidade
STR_TOWN_LAYOUT_WARNING_MESSAGE :{YELLOW}O Layout "sem mais estradas" não é recomendado. Continuar com a geração?
STR_SNOW_LINE_HEIGHT_NUM :{NUM}
STR_HEIGHTMAP_NAME :{BLACK}Nome do mapa em relevo:
STR_HEIGHTMAP_SIZE :{BLACK}Tamanho: {ORANGE}{NUM} x {NUM}
STR_GENERATION_WORLD :{WHITE}Gerando mundo...
@@ -3301,7 +3298,6 @@ STR_FLAT_WORLD_HEIGHT_DOWN :{BLACK}Mover a
STR_FLAT_WORLD_HEIGHT_UP :{BLACK}Mover a altitude da terra plana em uma unidade a mais
STR_FLAT_WORLD_HEIGHT_QUERY_CAPT :{WHITE}Mudar a altitude da terra plana
STR_FLAT_WORLD_HEIGHT :{BLACK}Altitude da terra plana
STR_FLAT_WORLD_HEIGHT_NUM :{NUM}
STR_SMALLMAP_CENTER :{BLACK}Centralizar o minimapa na posição atual
STR_SMALLMAP_INDUSTRY :{TINYFONT}{STRING} ({NUM})
+71 -75
View File
@@ -17,8 +17,7 @@ STR_EMPTY :
STR_0007_FLAT_LAND_REQUIRED :{WHITE}Трябва равна земя
STR_0008_WAITING :{BLACK}Чакане: {WHITE}{STRING}
STR_0009 :{WHITE}{CARGO}
STR_000A_EN_ROUTE_FROM :{WHITE}{CARGO}{YELLOW} (на път от
STR_000B :{YELLOW}{STATION})
STR_EN_ROUTE_FROM :{YELLOW}({SHORTCARGO} на път от {STATION})
STR_000C_ACCEPTS :{BLACK}Приема: {WHITE}
STR_000D_ACCEPTS :{BLACK}Приема: {GOLD}
STR_000E :
@@ -276,9 +275,9 @@ STR_0130_RENAME :{BLACK}Преи
STR_0131_TOO_MANY_NAMES_DEFINED :{WHITE}Прекалено много имена
STR_0132_CHOSEN_NAME_IN_USE_ALREADY :{WHITE}Избраното име вече е в употреба
STR_0133_WINDOWS :Windows
STR_0134_UNIX :Unix
STR_0135_OSX :ОС Х
STR_OSNAME_WINDOWS :Windows
STR_OSNAME_UNIX :Unix
STR_OSNAME_OSX :ОС Х
STR_OSNAME_BEOS :BeOS
STR_OSNAME_MORPHOS :MorphOS
STR_OSNAME_AMIGAOS :AmigaOS
@@ -289,11 +288,11 @@ STR_013B_OWNED_BY :{WHITE}...со
STR_013C_CARGO :{BLACK}Товар
STR_013D_INFORMATION :{BLACK}Информация
STR_013E_CAPACITIES :{BLACK}Вместимости
STR_013E_TOTAL_CARGO :{BLACK}Общо товар
STR_TOTAL_CARGO :{BLACK}Общо товар
STR_013F_CAPACITY :{BLACK}Вместимост: {LTBLUE}{CARGO}
STR_CAPACITY_MULT :{BLACK}Капацитет: {LTBLUE}{CARGO} (x{NUM})
STR_013F_TOTAL_CAPACITY_TEXT :{BLACK}Обща товарна вместимост на влака:
STR_013F_TOTAL_CAPACITY :{LTBLUE}- {CARGO} ({SHORTCARGO})
STR_TOTAL_CAPACITY_TEXT :{BLACK}Обща товарна вместимост на влака:
STR_TOTAL_CAPACITY :{LTBLUE}- {CARGO} ({SHORTCARGO})
STR_TOTAL_CAPACITY_MULT :{LTBLUE}- {CARGO} ({SHORTCARGO}) (x{NUM})
STR_0140_NEW_GAME :{BLACK}Нова игра
STR_0141_LOAD_GAME :{BLACK}Отвори игра
@@ -301,12 +300,6 @@ STR_SINGLE_PLAYER :{BLACK}Сам
STR_MULTIPLAYER :{BLACK}Много играчи
STR_SCENARIO_EDITOR :{BLACK}Редактор сценарии
STR_64 :64
STR_128 :128
STR_256 :256
STR_512 :512
STR_1024 :1024
STR_2048 :2048
STR_MAPSIZE :{BLACK}Размер на картата:
STR_BY :{BLACK}*
STR_0148_GAME_OPTIONS :{BLACK}Настройки
@@ -734,11 +727,12 @@ STR_028D_PLACE_LIGHTHOUSE :{BLACK}Пост
STR_028E_PLACE_TRANSMITTER :{BLACK}Постави предавател
STR_028F_DEFINE_DESERT_AREA :{BLACK}Избери пустинен терен.{}Задръж CTRL за да го премахнеш.
STR_CREATE_LAKE :{BLACK}Определи водна площ.{}Построи канал, освем когато CTRL е натиснат на морско ниво, когато ще наводни околната среда в замяна
STR_CREATE_RIVER :{BLACK}Направи реки.
STR_0290_DELETE :{BLACK}Изтрий
STR_0291_DELETE_THIS_TOWN_COMPLETELY :{BLACK}Премахни напълно града
STR_0292_SAVE_SCENARIO :Запис на сценарий
STR_0293_LOAD_SCENARIO :Зареждане на сценарий
STR_LOAD_HEIGHTMAP :Отвори височинна карта
STR_MENU_LOAD_HEIGHTMAP :Отвори височинна карта
STR_0294_QUIT_EDITOR :Изход от редактора
STR_0295 :
STR_0296_QUIT :Изход
@@ -778,9 +772,9 @@ STR_02C2_SAVE_CUSTOMIZED_VEHICLE :{BLACK}Запи
STR_CHECKMARK :{CHECKMARK}
############ range for menu starts
STR_02C3_GAME_OPTIONS :Игрови опции
STR_02C5_DIFFICULTY_SETTINGS :Опции за трудност
STR_02C7_CONFIG_PATCHES :Конфигурирай патчове
STR_02C4_GAME_OPTIONS :Игрови опции
STR_02C6_DIFFICULTY_SETTINGS :Опции за трудност
STR_MENU_CONFIG_PATCHES :Конфигурирай патчове
STR_NEWGRF_SETTINGS :Newgrf настройки
STR_TRANSPARENCY_OPTIONS :Опций на прозрачност
STR_GAMEOPTMENU_0A :
@@ -880,8 +874,8 @@ STR_SAVING_GAME :{RED}* * ЗА
STR_SAVE_STILL_IN_PROGRESS :{WHITE}Записването продължава,{}моля изчакайте да сръши!
STR_0330_SELECT_EZY_STREET_STYLE :{BLACK}Избери програмата 'Ezy Street style music'
STR_0335_6 :{BLACK}6
STR_0336_7 :{BLACK}7
STR_6 :{BLACK}6
STR_7 :{BLACK}7
############ start of townname region
STR_TOWNNAME_ORIGINAL_ENGLISH :английски (оригинални)
@@ -1057,7 +1051,6 @@ STR_CONFIG_PATCHES_BRIBE :{LTBLUE}Под
STR_CONFIG_PATCHES_ALLOW_EXCLUSIVE :{LTBLUE}Позволи купуване на изклучителни транспортни права: {ORANGE}{STRING}
STR_CONFIG_PATCHES_ALLOW_GIVE_MONEY :{LTBLUE}Позволи изпращане на пари до други компаний: {ORANGE}{STRING}
STR_CONFIG_PATCHES_NONUNIFORM_STATIONS :{LTBLUE}Нестандартни станции: {ORANGE}{STRING}
STR_CONFIG_PATCHES_NEW_PATHFINDING_ALL :{LTBLUE}Нов глобален навигатор (NPF, отменя NTP): {ORANGE}{STRING}
STR_CONFIG_PATCHES_FREIGHT_TRAINS :{LTBLUE}Теглови множител към товарите за симулация на тежки влакове: {ORANGE}{STRING}
STR_CONFIG_PATCHES_STOP_ON_TOWN_ROAD :{LTBLUE}Преминаване през спирки на градски пътища: {ORANGE}{STRING}
STR_CONFIG_PATCHES_ADJACENT_STATIONS :{LTBLUE}Позвалявай допрени гари: {ORANGE}{STRING}
@@ -1212,9 +1205,6 @@ STR_CONFIG_PATCHES_CURRENCY :{CURRENCY}
STR_CONFIG_PATCHES_QUERY_CAPT :{WHITE}Промяна стойноста на настройка
STR_CONFIG_PATCHES_SERVICE_INTERVAL_INCOMPATIBLE :{WHITE}Някои от стойностите за интервал(и) на сервиз са несъвместими с избраните настройки! 5-90% и 30-800 са валидни стойности
STR_CONFIG_PATCHES_YAPF_SHIPS :{LTBLUE}YAPF за кораби: {ORANGE}{STRING}
STR_CONFIG_PATCHES_YAPF_ROAD :{LTBLUE}YAPF за автомобили: {ORANGE}{STRING}
STR_CONFIG_PATCHES_YAPF_RAIL :{LTBLUE}YAPF за влакове: {ORANGE}{STRING}
STR_TEMPERATE_LANDSCAPE :умерен климат
STR_SUB_ARCTIC_LANDSCAPE :Арктичен климат
@@ -1656,42 +1646,42 @@ STR_MUST_REMOVE_RAILWAY_STATION_FIRST :{WHITE}Желе
STR_1801_MUST_REMOVE_ROAD_FIRST :{WHITE}Първо махнете пътя
STR_ROAD_WORKS_IN_PROGRESS :{WHITE}Пътни ремонти в процес
STR_1802_ROAD_CONSTRUCTION :{WHITE}Пътно строителство
STR_1802_TRAMWAY_CONSTRUCTION :{WHITE}Конструкциа на трамвайна линиа
STR_WHITE_TRAMWAY_CONSTRUCTION :{WHITE}Конструкциа на трамвайна линиа
STR_1803_SELECT_ROAD_BRIDGE :{WHITE}Избор на асфалтов мост
STR_ERR_ONEWAY_ROADS_CAN_T_HAVE_JUNCTION :{WHITE}... еднопосочни пътища немогат да имат съединениа
STR_1804_CAN_T_BUILD_ROAD_HERE :{WHITE}Пътя не може да се построи...
STR_1804_CAN_T_BUILD_TRAMWAY_HERE :{WHITE}Трамвайна линиа неможе да бъде посроена тук...
STR_CAN_T_BUILD_TRAMWAY_HERE :{WHITE}Трамвайна линиа неможе да бъде посроена тук...
STR_1805_CAN_T_REMOVE_ROAD_FROM :{WHITE}Пътя не може да се махне...
STR_1805_CAN_T_REMOVE_TRAMWAY_FROM :{WHITE}Трамвайната линиа неможе да бъде премахната от тук...
STR_CAN_T_REMOVE_TRAMWAY_FROM :{WHITE}Трамвайната линиа неможе да бъде премахната от тук...
STR_1806_ROAD_DEPOT_ORIENTATION :{WHITE}Ориентация на гараж
STR_1806_TRAM_DEPOT_ORIENTATION :{WHITE}Посока на Трамвайно Депо
STR_TRAM_DEPOT_ORIENTATION :{WHITE}Посока на Трамвайно Депо
STR_1807_CAN_T_BUILD_ROAD_VEHICLE :{WHITE}Гаража не може да се построи...
STR_1807_CAN_T_BUILD_TRAM_VEHICLE :{WHITE}Трамвайно депо неможе да бъде построено тук...
STR_CAN_T_BUILD_TRAM_VEHICLE :{WHITE}Трамвайно депо неможе да бъде построено тук...
STR_1808_CAN_T_BUILD_BUS_STATION :{WHITE}Автогарата не може да се построи...
STR_1809_CAN_T_BUILD_TRUCK_STATION :{WHITE}Товарната гара не може да се построи...
STR_1808_CAN_T_BUILD_PASSENGER_TRAM_STATION :{WHITE}Пътническа трамвайна гара неможе да бъде построена...
STR_1809_CAN_T_BUILD_CARGO_TRAM_STATION :{WHITE}Товарна трамвайна гара неможе да бъде построена...
STR_CAN_T_BUILD_PASSENGER_TRAM_STATION :{WHITE}Пътническа трамвайна гара неможе да бъде построена...
STR_CAN_T_BUILD_CARGO_TRAM_STATION :{WHITE}Товарна трамвайна гара неможе да бъде построена...
STR_180A_ROAD_CONSTRUCTION :Пътно строителство
STR_180A_TRAMWAY_CONSTRUCTION :Конструкциа на трамвайна линиа
STR_TRAMWAY_CONSTRUCTION :Конструкциа на трамвайна линиа
STR_180B_BUILD_ROAD_SECTION :{BLACK}Строене на път
STR_BUILD_AUTOROAD_TIP :{BLACK}Построи отсечка от шосе използвайки Афто-шосе методът
STR_180B_BUILD_TRAMWAY_SECTION :{BLACK}Построи секциа от трамвайна линиа
STR_BUILD_TRAMWAY_SECTION :{BLACK}Построи секциа от трамвайна линиа
STR_BUILD_AUTOTRAM_TIP :{BLACK}Построи отсечка от железопътна линиа използвайки Афто-линиа методът
STR_180C_BUILD_ROAD_VEHICLE_DEPOT :{BLACK}Строене на гараж (за строене и сервиз на МПС-та)
STR_180C_BUILD_TRAM_VEHICLE_DEPOT :{BLACK}Построи трамвайно депо (за стройтелни и сервизни коли)
STR_BUILD_TRAM_VEHICLE_DEPOT :{BLACK}Построи трамвайно депо (за стройтелни и сервизни коли)
STR_180D_BUILD_BUS_STATION :{BLACK}Строене на автогара
STR_180E_BUILD_TRUCK_LOADING_BAY :{BLACK}Строене на товарна гара
STR_180D_BUILD_PASSENGER_TRAM_STATION :{BLACK}Построи пъгническа трамвайна гара
STR_180E_BUILD_CARGO_TRAM_STATION :{BLACK}Построи товарна трамвайна гара
STR_BUILD_PASSENGER_TRAM_STATION :{BLACK}Построи пъгническа трамвайна гара
STR_BUILD_CARGO_TRAM_STATION :{BLACK}Построи товарна трамвайна гара
STR_180F_BUILD_ROAD_BRIDGE :{BLACK}Построй мост
STR_180F_BUILD_TRAMWAY_BRIDGE :{BLACK}Построи трамвайен мост
STR_BUILD_TRAMWAY_BRIDGE :{BLACK}Построи трамвайен мост
STR_1810_BUILD_ROAD_TUNNEL :{BLACK}Построй тунел
STR_1810_BUILD_TRAMWAY_TUNNEL :{BLACK}Построи трамвайен тунел
STR_BUILD_TRAMWAY_TUNNEL :{BLACK}Построи трамвайен тунел
STR_TOGGLE_ONE_WAY_ROAD :{BLACK}Активирай/Деактивирай еднопосочни пътища
STR_1811_TOGGLE_BUILD_REMOVE_FOR :{BLACK}Премахване на асфалтов път
STR_1811_TOGGLE_BUILD_REMOVE_FOR_TRAMWAYS :{BLACK}Превключване строене/разрушаване на трамвайни консктрукции
STR_TOGGLE_BUILD_REMOVE_FOR_TRAMWAYS :{BLACK}Превключване строене/разрушаване на трамвайни консктрукции
STR_1813_SELECT_ROAD_VEHICLE_DEPOT :{BLACK}Ориентация на гараж
STR_1813_SELECT_TRAM_VEHICLE_DEPOT :{BLACK}Избери посоката на трамвайното депо
STR_SELECT_TRAM_VEHICLE_DEPOT :{BLACK}Избери посоката на трамвайното депо
STR_1814_ROAD :път
STR_1815_ROAD_WITH_STREETLIGHTS :Асфалтов път с улични лампи
STR_1816_TREE_LINED_ROAD :Асфалтов път с дървета
@@ -1834,8 +1824,8 @@ STR_3005_TOO_CLOSE_TO_ANOTHER_RAILROAD :{WHITE}Твър
STR_3006_ADJOINS_MORE_THAN_ONE_EXISTING :{WHITE}Граничи с повече от една гара/товарна платформа
STR_3007_TOO_MANY_STATIONS_LOADING :{WHITE}Твърде много гари/товарни платформи в града
STR_3008_TOO_MANY_STATIONS_LOADING :{WHITE}Твърде много гари/товарни платформи
STR_3008A_TOO_MANY_BUS_STOPS :{WHITE}Твърде много автобусни спирки
STR_3008B_TOO_MANY_TRUCK_STOPS :{WHITE}Твърде много гари за камиони
STR_TOO_MANY_BUS_STOPS :{WHITE}Твърде много автобусни спирки
STR_TOO_MANY_TRUCK_STOPS :{WHITE}Твърде много гари за камиони
STR_3009_TOO_CLOSE_TO_ANOTHER_STATION :{WHITE}Твърде близо до друга гара/товарна платформа
STR_300A_0 :{WHITE}{STATION} {STATIONFEATURES}
STR_300B_MUST_DEMOLISH_RAILROAD :{WHITE}Първо разрушете ЖП гарата
@@ -1866,12 +1856,12 @@ STR_3040_NOW_ACCEPTS :{WHITE}{STATION
STR_3041_NOW_ACCEPTS_AND :{WHITE}{STATION} вече приема {STRING} и {STRING}
STR_3042_BUS_STATION_ORIENTATION :{WHITE}Ориентация на автогара
STR_3043_TRUCK_STATION_ORIENT :{WHITE}Ориент. товарна гара
STR_3042_PASSENGER_TRAM_STATION_ORIENTATION :{WHITE}Посока на пътнически трамвай
STR_3043_CARGO_TRAM_STATION_ORIENT :{WHITE}Посока на товарен трамвай
STR_PASSENGER_TRAM_STATION_ORIENTATION :{WHITE}Посока на пътнически трамвай
STR_CARGO_TRAM_STATION_ORIENT :{WHITE}Посока на товарен трамвай
STR_3046_MUST_DEMOLISH_BUS_STATION :{WHITE}Първо разрушете автогарата
STR_3047_MUST_DEMOLISH_TRUCK_STATION :{WHITE}Първо разрушете товарната гара
STR_3046_MUST_DEMOLISH_PASSENGER_TRAM_STATION :{WHITE}Пътническата трамвайна гара трябва да бъде унищожена първо
STR_3047_MUST_DEMOLISH_CARGO_TRAM_STATION :{WHITE}Товарната трамвайна гара трябва да бъде унищожена първо
STR_MUST_DEMOLISH_PASSENGER_TRAM_STATION :{WHITE}Пътническата трамвайна гара трябва да бъде унищожена първо
STR_MUST_DEMOLISH_CARGO_TRAM_STATION :{WHITE}Товарната трамвайна гара трябва да бъде унищожена първо
STR_3048_STATIONS :{WHITE}{COMPANY} - {COMMA} Станци{P я и}
STR_3049_0 :{YELLOW}{STATION} {STATIONFEATURES}
STR_304A_NONE :{YELLOW}- Николко -
@@ -1883,8 +1873,8 @@ STR_304F_SELECT_NUMBER_OF_PLATFORMS :{BLACK}Брой
STR_3050_SELECT_LENGTH_OF_RAILROAD :{BLACK}Дължина на ЖП гарата
STR_3051_SELECT_BUS_STATION_ORIENTATION :{BLACK}Ориентация на автогарата
STR_3052_SELECT_TRUCK_LOADING_BAY :{BLACK}Ориентация на товарната гара
STR_3051_SELECT_PASSENGER_TRAM_STATION_ORIENTATION :{BLACK}Избери посоката на пътническата трамвайна гара
STR_3052_SELECT_CARGO_TRAM_STATION_ORIENTATION :{BLACK}Избери посоката на товарната трамвайна гара
STR_SELECT_PASSENGER_TRAM_STATION_ORIENTATION :{BLACK}Избери посоката на пътническата трамвайна гара
STR_SELECT_CARGO_TRAM_STATION_ORIENTATION :{BLACK}Избери посоката на товарната трамвайна гара
STR_3053_CENTER_MAIN_VIEW_ON_STATION :{BLACK}Центриране на главния прозорец върху станцията
STR_3054_SHOW_STATION_RATINGS :{BLACK}Покажи нивото на обслужване
STR_3055_CHANGE_NAME_OF_STATION :{BLACK}Промяна името на станцията
@@ -1906,7 +1896,7 @@ STR_3068_DOCK :{WHITE}Док
STR_3069_BUOY :Шамандура
STR_306A_BUOY_IN_THE_WAY :{WHITE}...шамандура на пътя
STR_306C_STATION_TOO_SPREAD_OUT :{WHITE}...станцията е прекалено разпръсната
STR_306D_NONUNIFORM_STATIONS_DISALLOWED :{WHITE}...неправилните станции са изключени
STR_NONUNIFORM_STATIONS_DISALLOWED :{WHITE}...неправилните станции са изключени
STR_USE_CTRL_TO_SELECT_MORE :{BLACK}Задържете CTRL за да изберете повече от един обект
STR_UNDEFINED :(неопределен текст)
@@ -1947,7 +1937,7 @@ STR_400D_SAVE_THE_CURRENT_GAME_USING :{BLACK}Запа
STR_400E_SELECT_NEW_GAME_TYPE :{WHITE}Избери нов тип игра
STR_400F_SELECT_SCENARIO_GREEN_PRE :{BLACK}Избери на сценарии (зелено), предварително настроена игра (синьо), или произволна нова игра
STR_4010_GENERATE_RANDOM_NEW_GAME :Генерирай произволна нова игра
STR_4011_LOAD_HEIGHTMAP :{WHITE}Зареди височинна карта
STR_LOAD_HEIGHTMAP :{WHITE}Зареди височинна карта
##id 0x4800
STR_4800_IN_THE_WAY :{WHITE}{STRING} пречи
@@ -2151,10 +2141,10 @@ STR_6812_QUANTITY_OF_SEA_LAKES :{LTBLUE}Кол
STR_6813_ECONOMY :{LTBLUE}Икономика: {ORANGE}{STRING}
STR_6814_TRAIN_REVERSING :{LTBLUE}Обръщане на влаковете: {ORANGE}{STRING}
STR_6815_DISASTERS :{LTBLUE}Бедствия: {ORANGE}{STRING}
STR_16816_CITY_APPROVAL :{LTBLUE}Отношение на градските власти към промяна на земята: {ORANGE}{STRING}
STR_CITY_APPROVAL :{LTBLUE}Отношение на градските власти към промяна на земята: {ORANGE}{STRING}
############ range for difficulty settings ends
STR_26816_NONE :Николко
STR_NONE :Николко
STR_NUM_VERY_LOW :Много ниско
STR_6816_LOW :малко
STR_6817_NORMAL :нормално
@@ -2192,9 +2182,9 @@ STR_6835_AT_END_OF_LINE_ONLY :само в к
STR_6836_OFF :изключено
STR_6837_ON :включено
STR_6838_SHOW_HI_SCORE_CHART :{BLACK}Покажи класирането
STR_6839_PERMISSIVE :разрешаващи
STR_683A_TOLERANT :толерантни
STR_683B_HOSTILE :враждебни
STR_PERMISSIVE :разрешаващи
STR_TOLERANT :толерантни
STR_HOSTILE :враждебни
##id 0x7000
STR_7000 :
@@ -2331,7 +2321,7 @@ STR_707B_CAN_T_BUY_25_SHARE_IN_THIS :{WHITE}Не м
STR_707C_CAN_T_SELL_25_SHARE_IN :{WHITE}Не може да продадеш 25% от акциите на тази компания...
STR_707D_OWNED_BY :{WHITE}({COMMA}% е притежание на {COMPANY})
STR_707F_HAS_BEEN_TAKEN_OVER_BY :{BLACK}{BIGFONT}{COMPANY} бе закупена от {COMPANY}!
STR_7080_PROTECTED :{WHITE}Тази компания все още не е достатъчно стара да предлага акции...
STR_PROTECTED :{WHITE}Тази компания все още не е достатъчно стара да предлага акции...
STR_LIVERY_DEFAULT :Стандартен Ливъри
STR_LIVERY_STEAM :Парен локомотив
@@ -2344,6 +2334,8 @@ STR_LIVERY_EMU :EMU
STR_LIVERY_PASSENGER_WAGON_STEAM :Пътнически вагон (Парен)
STR_LIVERY_PASSENGER_WAGON_DIESEL :Пътнически вагон (Дизел)
STR_LIVERY_PASSENGER_WAGON_ELECTRIC :Пътнически вагон (Електрически)
STR_LIVERY_PASSENGER_WAGON_MONORAIL :Пътнически вагон (Monorail - еднорелсова железопътна линия)
STR_LIVERY_PASSENGER_WAGON_MAGLEV :Пътнически вагон (Maglev - магнетично издигнат влак)
STR_LIVERY_FREIGHT_WAGON :Товарен вагон
STR_LIVERY_BUS :Автобус
STR_LIVERY_TRUCK :Камион
@@ -2638,17 +2630,17 @@ STR_8803_TRAIN_IN_THE_WAY :{WHITE}Влак
STR_8804 :{SETX 10}{COMMA}: {STRING} {STRING}
STR_8805 :{RIGHTARROW}{SETX 10}{COMMA}: {STRING} {STRING}
STR_8806_GO_TO :Отиди на {STATION}
STR_8807_GO_TO_TRANSFER :Отиди на {STATION} (Обмени и вземи товар)
STR_8808_GO_TO_UNLOAD :Отиди на {STATION} (Разтовари)
STR_8809_GO_TO_TRANSFER_UNLOAD :Отиди на {STATION} (Обмени и не взимай нов товар)
STR_880A_GO_TO_LOAD :Отиди на {STATION} (Товари)
STR_880B_GO_TO_TRANSFER_LOAD :Отиди на {STATION} (Обмени и изчакай до пълен товар)
STR_880C_GO_NON_STOP_TO :Отиди без да спираш на {STATION}
STR_880D_GO_TO_NON_STOP_TRANSFER :Отиди без да спираш на {STATION} (Обмени и вземи товар)
STR_880E_GO_NON_STOP_TO_UNLOAD :отиди без да спираш на {STATION} (Разтовари)
STR_880F_GO_TO_NON_STOP_TRANSFER_UNLOAD :Отиди без да спираш на {STATION} (Обмени и не товари)
STR_8810_GO_NON_STOP_TO_LOAD :Отиди без да спираш на {STATION} (Товари)
STR_8811_GO_TO_NON_STOP_TRANSFER_LOAD :Отиди без да спираш на {STATION} (Обмени и изчакай до пълен товар)
STR_GO_TO_TRANSFER :Отиди на {STATION} (Обмени и вземи товар)
STR_8807_GO_TO_UNLOAD :Отиди на {STATION} (Разтовари)
STR_GO_TO_TRANSFER_UNLOAD :Отиди на {STATION} (Обмени и не взимай нов товар)
STR_8808_GO_TO_LOAD :Отиди на {STATION} (Товари)
STR_GO_TO_TRANSFER_LOAD :Отиди на {STATION} (Обмени и изчакай до пълен товар)
STR_880A_GO_NON_STOP_TO :Отиди без да спираш на {STATION}
STR_GO_TO_NON_STOP_TRANSFER :Отиди без да спираш на {STATION} (Обмени и вземи товар)
STR_880B_GO_NON_STOP_TO_UNLOAD :отиди без да спираш на {STATION} (Разтовари)
STR_GO_TO_NON_STOP_TRANSFER_UNLOAD :Отиди без да спираш на {STATION} (Обмени и не товари)
STR_880C_GO_NON_STOP_TO_LOAD :Отиди без да спираш на {STATION} (Товари)
STR_GO_TO_NON_STOP_TRANSFER_LOAD :Отиди без да спираш на {STATION} (Обмени и изчакай до пълен товар)
STR_GO_TO_TRAIN_DEPOT :Отиди до Влаковото депо на {TOWN}
STR_SERVICE_AT_TRAIN_DEPOT :Ремонт в {TOWN} влаково депо
STR_880F_GO_NON_STOP_TO_TRAIN_DEPOT :Отиди без да спираш на {TOWN} Влаково депо
@@ -2752,7 +2744,7 @@ STR_884E_DECREASE_SERVICING_INTERVAL :{BLACK}Нама
STR_884F_SHOW_DETAILS_OF_CARGO_CARRIED :{BLACK}Информация за превозвания товар
STR_8850_SHOW_DETAILS_OF_TRAIN_VEHICLES :{BLACK}Информация за влаковата композиция
STR_8851_SHOW_CAPACITIES_OF_EACH :{BLACK}Капацитет на влаковата композиция
STR_8852_SHOW_TOTAL_CARGO :{BLACK}Общ капацитет на влака, разбит по типове товар
STR_SHOW_TOTAL_CARGO :{BLACK}Общ капацитет на влака, разбит по типове товар
STR_8852_ORDERS_LIST_CLICK_ON_ORDER :{BLACK}Пътен лист - натиснете върху назначение за маркиране. CTRL + натискане - центрира върху станцията
STR_8853_SKIP_THE_CURRENT_ORDER :{BLACK}Прескачане на настоящата заповед и започване на цледващата. CTRL + клик прескача до избраната заповед
STR_8854_DELETE_THE_HIGHLIGHTED :{BLACK}Изтриване на избраното назначение
@@ -2783,8 +2775,8 @@ STR_8868_TRAIN_CRASH_DIE_IN_FIREBALL :{BLACK}{BIGFONT
STR_8869_CAN_T_REVERSE_DIRECTION :{WHITE}Не може да обърне посоката на влак...
STR_886A_RENAME_TRAIN_VEHICLE_TYPE :{WHITE}Преименуване на влак
STR_886B_CAN_T_RENAME_TRAIN_VEHICLE :{WHITE}Не може да се преименува влак...
STR_886D_MAKE_THE_HIGHLIGHTED_ORDER :{BLACK}Изхвърляне на товара при достигане на избраното назначение
STR_886F_TRANSFER :{BLACK}Транфер
STR_MAKE_THE_HIGHLIGHTED_ORDER :{BLACK}Изхвърляне на товара при достигане на избраното назначение
STR_TRANSFER :{BLACK}Транфер
STR_CLEAR_TIME :{BLACK}Изчисти времето
STR_RESET_LATENESS :{BLACK}Преправи закъснялата бройка
@@ -2862,8 +2854,8 @@ STR_902D_CAN_T_NAME_ROAD_VEHICLE :{WHITE}Не м
STR_902E_NAME_ROAD_VEHICLE :{BLACK}Преименувай МПС-то
STR_902F_CITIZENS_CELEBRATE_FIRST :{BLACK}{BIGFONT}Гражданите празнуват . . .{}Първият автобус пристигнал в {STATION}!
STR_9030_CITIZENS_CELEBRATE_FIRST :{BLACK}{BIGFONT}Хората празнуват . . .{}Първи камион пристигна на {STATION}!
STR_902F_CITIZENS_CELEBRATE_FIRST_TRAM :{BLACK}{BIGFONT}Гражданите празнуват . . .{}Първиат пътнически трамвай пристига на {STATION}!
STR_9030_CITIZENS_CELEBRATE_FIRST_TRAM :{BLACK}{BIGFONT}Гражданите празнуват . . .{}Първиат товарен трамвай пристига на {STATION}!
STR_CITIZENS_CELEBRATE_FIRST_PASSENGER_TRAM :{BLACK}{BIGFONT}Гражданите празнуват . . .{}Първиат пътнически трамвай пристига на {STATION}!
STR_CITIZENS_CELEBRATE_FIRST_CARGO_TRAM :{BLACK}{BIGFONT}Гражданите празнуват . . .{}Първиат товарен трамвай пристига на {STATION}!
STR_9031_ROAD_VEHICLE_CRASH_DRIVER :{BLACK}{BIGFONT}Пътно-транспортно Произшествие!{}Шофьор загина на място при екплозия на МПС след сблъсък с влак
STR_9032_ROAD_VEHICLE_CRASH_DIE :{BLACK}{BIGFONT}Пътно-транспортно Произшествие!{}{COMMA} загинаха на място при екплозия на МПС след сблъсък с влак
STR_9033_CAN_T_MAKE_VEHICLE_TURN :{WHITE}Не може да обърнеш МПС-то...
@@ -2872,7 +2864,7 @@ STR_9034_RENAME :{BLACK}Преи
STR_9035_RENAME_ROAD_VEHICLE_TYPE :{BLACK}Преименувай МПС-то
STR_9036_RENAME_ROAD_VEHICLE_TYPE :{WHITE}Преименувай МПС-то
STR_9037_CAN_T_RENAME_ROAD_VEHICLE :{WHITE}Не може да преименуваш МПС-то...
STR_9038_GO_TO_ROADVEH_DEPOT :Отиди в {TOWN} МПС-депото
STR_GO_TO_ROADVEH_DEPOT :Отиди в {TOWN} МПС-депото
STR_SERVICE_AT_ROADVEH_DEPOT :Ремонт в {TOWN} гараж
STR_REFIT_ROAD_VEHICLE_TO_CARRY :{BLACK}Преоборудване автомобила за друг товар
@@ -3246,6 +3238,12 @@ STR_PURCHASE_INFO_ALL_TYPES :Всички в
STR_PURCHASE_INFO_ALL_BUT :Всички освен {GOLD}
STR_PURCHASE_INFO_MAX_TE :{BLACK}Макс. теглеща сила: {GOLD}{FORCE}
########### For showing numbers in widgets
STR_NUM_1 :{BLACK}{SKIP}{NUM}
STR_NUM_2 :{BLACK}{SKIP}{SKIP}{NUM}
STR_NUM_3 :{BLACK}{SKIP}{SKIP}{SKIP}{NUM}
########### String for New Landscape Generator
STR_GENERATE :{WHITE}Генериране
@@ -3273,7 +3271,6 @@ STR_HEIGHTMAP_SCALE_WARNING_CAPTION :{WHITE}Маща
STR_HEIGHTMAP_SCALE_WARNING_MESSAGE :{YELLOW}Прекаленото оразмеряване не е препорачително. Продължаване с генерацията?
STR_TOWN_LAYOUT_WARNING_CAPTION :{WHITE}Грацки план предупреждение
STR_TOWN_LAYOUT_WARNING_MESSAGE :{YELLOW}Грацкиа план "няма повече пътища" не е препоръчан. Продължи със създаването?
STR_SNOW_LINE_HEIGHT_NUM :{NUM}
STR_HEIGHTMAP_NAME :{BLACK}Име на височинна карта:
STR_HEIGHTMAP_SIZE :{BLACK}Размер: {ORANGE}{NUM} x {NUM}
STR_GENERATION_WORLD :{WHITE}Създаване на свят...
@@ -3299,7 +3296,6 @@ STR_FLAT_WORLD_HEIGHT_DOWN :{BLACK}Свал
STR_FLAT_WORLD_HEIGHT_UP :{BLACK}Повишаване височината на плоска земя
STR_FLAT_WORLD_HEIGHT_QUERY_CAPT :{WHITE}Промяна височината на плоска земя
STR_FLAT_WORLD_HEIGHT :{BLACK}Височина на плоска земя:
STR_FLAT_WORLD_HEIGHT_NUM :{NUM}
STR_SMALLMAP_CENTER :{BLACK}Центриране на малката карта на текущата позиция
STR_SMALLMAP_INDUSTRY :{TINYFONT}{STRING} ({NUM})
+71 -75
View File
@@ -15,8 +15,7 @@ STR_EMPTY :
STR_0007_FLAT_LAND_REQUIRED :{WHITE}Es necessita un terreny pla
STR_0008_WAITING :{BLACK}Esperant: {WHITE}{STRING}
STR_0009 :{WHITE}{CARGO}
STR_000A_EN_ROUTE_FROM :{WHITE}{CARGO}{YELLOW} (en ruta des de
STR_000B :{YELLOW}{STATION})
STR_EN_ROUTE_FROM :{YELLOW}({SHORTCARGO} en ruta des de {STATION})
STR_000C_ACCEPTS :{BLACK}Accepta: {WHITE}
STR_000D_ACCEPTS :{BLACK}Accepta: {GOLD}
STR_000E :
@@ -274,9 +273,9 @@ STR_0130_RENAME :{BLACK}Reanomen
STR_0131_TOO_MANY_NAMES_DEFINED :{WHITE}Massa noms definits
STR_0132_CHOSEN_NAME_IN_USE_ALREADY :{WHITE}Aquest nom ja es fa servir
STR_0133_WINDOWS :Windows
STR_0134_UNIX :Unix
STR_0135_OSX :OS X
STR_OSNAME_WINDOWS :Windows
STR_OSNAME_UNIX :Unix
STR_OSNAME_OSX :OS X
STR_OSNAME_BEOS :BeOS
STR_OSNAME_MORPHOS :MorphOS
STR_OSNAME_AMIGAOS :AmigaOS
@@ -287,11 +286,11 @@ STR_013B_OWNED_BY :{WHITE}...propi
STR_013C_CARGO :{BLACK}Càrrega
STR_013D_INFORMATION :{BLACK}Informació
STR_013E_CAPACITIES :{BLACK}Capacitats
STR_013E_TOTAL_CARGO :{BLACK}Càrrega Total
STR_TOTAL_CARGO :{BLACK}Càrrega Total
STR_013F_CAPACITY :{BLACK}Capacitats: {LTBLUE}{CARGO}
STR_CAPACITY_MULT :{BLACK}Capacitat: {LTBLUE}{CARGO} (x{NUM})
STR_013F_TOTAL_CAPACITY_TEXT :{BLACK}Càrrega total (capacitat) d'aquest tren:
STR_013F_TOTAL_CAPACITY :{LTBLUE}- {CARGO} ({SHORTCARGO})
STR_TOTAL_CAPACITY_TEXT :{BLACK}Càrrega total (capacitat) d'aquest tren:
STR_TOTAL_CAPACITY :{LTBLUE}- {CARGO} ({SHORTCARGO})
STR_TOTAL_CAPACITY_MULT :{LTBLUE}- {CARGO} ({SHORTCARGO}) (x{NUM})
STR_0140_NEW_GAME :{BLACK}Joc Nou
STR_0141_LOAD_GAME :{BLACK}Carrega un Joc
@@ -299,12 +298,6 @@ STR_SINGLE_PLAYER :{BLACK}Jugador
STR_MULTIPLAYER :{BLACK}Multijugador
STR_SCENARIO_EDITOR :{BLACK}Editor d'Escenaris
STR_64 :64
STR_128 :128
STR_256 :256
STR_512 :512
STR_1024 :1024
STR_2048 :2048
STR_MAPSIZE :{BLACK}Tamany del mapa:
STR_BY :{BLACK}*
STR_0148_GAME_OPTIONS :{BLACK}Opcions del Joc
@@ -732,11 +725,12 @@ STR_028D_PLACE_LIGHTHOUSE :{BLACK}Situa un
STR_028E_PLACE_TRANSMITTER :{BLACK}Situa un repetidor
STR_028F_DEFINE_DESERT_AREA :{BLACK}Defineix àrea de desert.{}Prem i mantingues la tecla CTRL per treure'l
STR_CREATE_LAKE :{BLACK}Defineix l'area d'aigua.{}Fa un canal, excepte si CTRL està apretat al nivell del mar, llavors s'inundaran els voltants
STR_CREATE_RIVER :{BLACK}Posa rius.
STR_0290_DELETE :{BLACK}Esborra
STR_0291_DELETE_THIS_TOWN_COMPLETELY :{BLACK}Esborra totalment aquesta població
STR_0292_SAVE_SCENARIO :Desa l'escenari
STR_0293_LOAD_SCENARIO :Carrega un escenari
STR_LOAD_HEIGHTMAP :Carrega Mapa d'alçades
STR_MENU_LOAD_HEIGHTMAP :Carrega Mapa d'alçades
STR_0294_QUIT_EDITOR :Surt de l'editor
STR_0295 :
STR_0296_QUIT :Surt
@@ -776,9 +770,9 @@ STR_02C2_SAVE_CUSTOMIZED_VEHICLE :{BLACK}Desa els
STR_CHECKMARK :{CHECKMARK}
############ range for menu starts
STR_02C3_GAME_OPTIONS :Opcions del Joc
STR_02C5_DIFFICULTY_SETTINGS :Paràmetres de dificultat
STR_02C7_CONFIG_PATCHES :Configura pedaços
STR_02C4_GAME_OPTIONS :Opcions del Joc
STR_02C6_DIFFICULTY_SETTINGS :Paràmetres de dificultat
STR_MENU_CONFIG_PATCHES :Configura pedaços
STR_NEWGRF_SETTINGS :Extensions NewGRF
STR_TRANSPARENCY_OPTIONS :Opcions de transparència
STR_GAMEOPTMENU_0A :
@@ -878,8 +872,8 @@ STR_SAVING_GAME :{RED}* * DESA
STR_SAVE_STILL_IN_PROGRESS :{WHITE}S'està desant el joc,{}espera a que acabi l'operació!
STR_0330_SELECT_EZY_STREET_STYLE :{BLACK}Selecciona el programa 'Ezy Street style music'
STR_0335_6 :{BLACK}6
STR_0336_7 :{BLACK}7
STR_6 :{BLACK}6
STR_7 :{BLACK}7
############ start of townname region
STR_TOWNNAME_ORIGINAL_ENGLISH :Anglès
@@ -1055,7 +1049,6 @@ STR_CONFIG_PATCHES_BRIBE :{LTBLUE}Permet
STR_CONFIG_PATCHES_ALLOW_EXCLUSIVE :{LTBLUE}Permet comprar els drets del transport en exclusiva: {ORANGE}{STRING}
STR_CONFIG_PATCHES_ALLOW_GIVE_MONEY :{LTBLUE}Permet enviar diners a altres companyies: {ORANGE}{STRING}
STR_CONFIG_PATCHES_NONUNIFORM_STATIONS :{LTBLUE}Estacions no uniformes: {ORANGE}{STRING}
STR_CONFIG_PATCHES_NEW_PATHFINDING_ALL :{LTBLUE}Nova cerca de rutes global (NPF, anul·la NTP): {ORANGE}{STRING}
STR_CONFIG_PATCHES_FREIGHT_TRAINS :{LTBLUE}Multiplicador de pes per contenidor per simular trens pesats: {ORANGE}{STRING}
STR_CONFIG_PATCHES_STOP_ON_TOWN_ROAD :{LTBLUE}Permet situar parades en carreteres que són propietat del poble: {ORANGE}{STRING}
STR_CONFIG_PATCHES_ADJACENT_STATIONS :{LTBLUE}Permet construir estacions annexes: {ORANGE}{STRING}
@@ -1210,9 +1203,6 @@ STR_CONFIG_PATCHES_CURRENCY :{CURRENCY}
STR_CONFIG_PATCHES_QUERY_CAPT :{WHITE}Canvia el valor de l'adjustament
STR_CONFIG_PATCHES_SERVICE_INTERVAL_INCOMPATIBLE :{WHITE}Alguns o tots els intervals de manteniment següents són incompatibles amb el valor triat! 5-90% i 30-800 dies són els vàlids
STR_CONFIG_PATCHES_YAPF_SHIPS :{LTBLUE}Utilitza YAPF pels vaixells: {ORANGE}{STRING}
STR_CONFIG_PATCHES_YAPF_ROAD :{LTBLUE}Utilitza YAPF pels automòvils: {ORANGE}{STRING}
STR_CONFIG_PATCHES_YAPF_RAIL :{LTBLUE}Utilitza YAPF pels trens: {ORANGE}{STRING}
STR_TEMPERATE_LANDSCAPE :paisatge temperat
STR_SUB_ARCTIC_LANDSCAPE :paisatge subàrtic
@@ -1654,42 +1644,42 @@ STR_MUST_REMOVE_RAILWAY_STATION_FIRST :{WHITE}Primer h
STR_1801_MUST_REMOVE_ROAD_FIRST :{WHITE}S'ha de treure la carretera primer
STR_ROAD_WORKS_IN_PROGRESS :{WHITE}Obres en progrés
STR_1802_ROAD_CONSTRUCTION :{WHITE}Construcció de Carreteres
STR_1802_TRAMWAY_CONSTRUCTION :{WHITE}Construcció de Tramvies
STR_WHITE_TRAMWAY_CONSTRUCTION :{WHITE}Construcció de Tramvies
STR_1803_SELECT_ROAD_BRIDGE :{WHITE}Selecciona un Pont per Carretera
STR_ERR_ONEWAY_ROADS_CAN_T_HAVE_JUNCTION :{WHITE}... les carreteres de sentit únic no poden tenir encreuaments
STR_1804_CAN_T_BUILD_ROAD_HERE :{WHITE}Aquí no es pot construir una carretera...
STR_1804_CAN_T_BUILD_TRAMWAY_HERE :{WHITE}No puc construir la via de tramvia aquí...
STR_CAN_T_BUILD_TRAMWAY_HERE :{WHITE}No puc construir la via de tramvia aquí...
STR_1805_CAN_T_REMOVE_ROAD_FROM :{WHITE}Aquí no es pot treure una carretera...
STR_1805_CAN_T_REMOVE_TRAMWAY_FROM :{WHITE}No puc treure la via de tramvia d'aquí...
STR_CAN_T_REMOVE_TRAMWAY_FROM :{WHITE}No puc treure la via de tramvia d'aquí...
STR_1806_ROAD_DEPOT_ORIENTATION :{WHITE}Cotxeres
STR_1806_TRAM_DEPOT_ORIENTATION :{WHITE}Orientació de les cotxeres de tramvies
STR_TRAM_DEPOT_ORIENTATION :{WHITE}Orientació de les cotxeres de tramvies
STR_1807_CAN_T_BUILD_ROAD_VEHICLE :{WHITE}Aquí no es pot construir una cotxera...
STR_1807_CAN_T_BUILD_TRAM_VEHICLE :{WHITE}Aquí no puc construir les cotxeres de tramvies...
STR_CAN_T_BUILD_TRAM_VEHICLE :{WHITE}Aquí no puc construir les cotxeres de tramvies...
STR_1808_CAN_T_BUILD_BUS_STATION :{WHITE}No es pot construir una parada d'autobús...
STR_1809_CAN_T_BUILD_TRUCK_STATION :{WHITE}No es pot construir estació de mercaderies...
STR_1808_CAN_T_BUILD_PASSENGER_TRAM_STATION :{WHITE}No puc construir l'estació de tramvies de passatgers
STR_1809_CAN_T_BUILD_CARGO_TRAM_STATION :{WHITE}No puc construir l'estació de tramvies de càrrega
STR_CAN_T_BUILD_PASSENGER_TRAM_STATION :{WHITE}No puc construir l'estació de tramvies de passatgers
STR_CAN_T_BUILD_CARGO_TRAM_STATION :{WHITE}No puc construir l'estació de tramvies de càrrega
STR_180A_ROAD_CONSTRUCTION :Construcció de Carreteres
STR_180A_TRAMWAY_CONSTRUCTION :Construcció de Tramvies
STR_TRAMWAY_CONSTRUCTION :Construcció de Tramvies
STR_180B_BUILD_ROAD_SECTION :{BLACK}Construeix una secció de carretera
STR_BUILD_AUTOROAD_TIP :{BLACK}Construeix secció de carretera utilitzant el mode Autocarretera
STR_180B_BUILD_TRAMWAY_SECTION :{BLACK}Construeix una secció de via de tramvia
STR_BUILD_TRAMWAY_SECTION :{BLACK}Construeix una secció de via de tramvia
STR_BUILD_AUTOTRAM_TIP :{BLACK}Construeix secció de tramvia utilitzant el mode Autotramvia
STR_180C_BUILD_ROAD_VEHICLE_DEPOT :{BLACK}Construeix una cotxera (per construir i mantenir vehicles)
STR_180C_BUILD_TRAM_VEHICLE_DEPOT :{BLACK}Construeix cotxeres de tramvies (per construir i revisar tramvies)
STR_BUILD_TRAM_VEHICLE_DEPOT :{BLACK}Construeix cotxeres de tramvies (per construir i revisar tramvies)
STR_180D_BUILD_BUS_STATION :{BLACK}Constueix una parada d'autobús
STR_180E_BUILD_TRUCK_LOADING_BAY :{BLACK}Construeix un moll de càrrega
STR_180D_BUILD_PASSENGER_TRAM_STATION :{BLACK}Construeix una estació de tramvies de passatgers
STR_180E_BUILD_CARGO_TRAM_STATION :{BLACK}Construeix una estació de tramvies de mercaderies
STR_BUILD_PASSENGER_TRAM_STATION :{BLACK}Construeix una estació de tramvies de passatgers
STR_BUILD_CARGO_TRAM_STATION :{BLACK}Construeix una estació de tramvies de mercaderies
STR_180F_BUILD_ROAD_BRIDGE :{BLACK}Construeix un pont per carretera
STR_180F_BUILD_TRAMWAY_BRIDGE :{BLACK}Construeix pont per tramvies
STR_BUILD_TRAMWAY_BRIDGE :{BLACK}Construeix pont per tramvies
STR_1810_BUILD_ROAD_TUNNEL :{BLACK}Construeix un túnel per carretera
STR_1810_BUILD_TRAMWAY_TUNNEL :{BLACK}Construeix túnel per tramvies
STR_BUILD_TRAMWAY_TUNNEL :{BLACK}Construeix túnel per tramvies
STR_TOGGLE_ONE_WAY_ROAD :{BLACK}Activa/Desactiva les carreteres d'un sentit
STR_1811_TOGGLE_BUILD_REMOVE_FOR :{BLACK}Intercanvia funció construeix/treu per la construcció de carreteres
STR_1811_TOGGLE_BUILD_REMOVE_FOR_TRAMWAYS :{BLACK}Canvia construeix/treu de la construcció de vies de tramvia
STR_TOGGLE_BUILD_REMOVE_FOR_TRAMWAYS :{BLACK}Canvia construeix/treu de la construcció de vies de tramvia
STR_1813_SELECT_ROAD_VEHICLE_DEPOT :{BLACK}Selecciona la orientació de les Cotxeres
STR_1813_SELECT_TRAM_VEHICLE_DEPOT :{BLACK}Selecciona l'orientació de les cotxeres de tramvies
STR_SELECT_TRAM_VEHICLE_DEPOT :{BLACK}Selecciona l'orientació de les cotxeres de tramvies
STR_1814_ROAD :Carretera
STR_1815_ROAD_WITH_STREETLIGHTS :Carretera amb fanals
STR_1816_TREE_LINED_ROAD :Carretera de tres carrils
@@ -1832,8 +1822,8 @@ STR_3005_TOO_CLOSE_TO_ANOTHER_RAILROAD :{WHITE}Massa a
STR_3006_ADJOINS_MORE_THAN_ONE_EXISTING :{WHITE}Fusiona més d'una estació/àrea de càrrega existent
STR_3007_TOO_MANY_STATIONS_LOADING :{WHITE}Hi ha massa estacions/àrees de càrrega en aquesta població
STR_3008_TOO_MANY_STATIONS_LOADING :{WHITE}Massa estacions/àrees de càrrega
STR_3008A_TOO_MANY_BUS_STOPS :{WHITE}Massa parades d'autobús
STR_3008B_TOO_MANY_TRUCK_STOPS :{WHITE}Masses estacions de càrrega
STR_TOO_MANY_BUS_STOPS :{WHITE}Massa parades d'autobús
STR_TOO_MANY_TRUCK_STOPS :{WHITE}Masses estacions de càrrega
STR_3009_TOO_CLOSE_TO_ANOTHER_STATION :{WHITE}Massa a prop d'una altra estació/àrea de càrrega
STR_300A_0 :{WHITE}{STATION} {STATIONFEATURES}
STR_300B_MUST_DEMOLISH_RAILROAD :{WHITE}Primer has d'enderrocar l'estació de tren
@@ -1864,12 +1854,12 @@ STR_3040_NOW_ACCEPTS :{WHITE}{STATION
STR_3041_NOW_ACCEPTS_AND :{WHITE}{STATION} ara accepta {STRING} i {STRING}
STR_3042_BUS_STATION_ORIENTATION :{WHITE}Parada d'autobús
STR_3043_TRUCK_STATION_ORIENT :{WHITE}Estació de Mercaderies
STR_3042_PASSENGER_TRAM_STATION_ORIENTATION :{WHITE}Orientació estació passatgers
STR_3043_CARGO_TRAM_STATION_ORIENT :{WHITE}Orientació estació mercaderies
STR_PASSENGER_TRAM_STATION_ORIENTATION :{WHITE}Orientació estació passatgers
STR_CARGO_TRAM_STATION_ORIENT :{WHITE}Orientació estació mercaderies
STR_3046_MUST_DEMOLISH_BUS_STATION :{WHITE}Primer has d'enderrocar la parada d'autobús
STR_3047_MUST_DEMOLISH_TRUCK_STATION :{WHITE}Primer has d'enderrocar l'estació de mercaderies
STR_3046_MUST_DEMOLISH_PASSENGER_TRAM_STATION :{WHITE}Primer has de demolir l'estació de tramvies de passatgers
STR_3047_MUST_DEMOLISH_CARGO_TRAM_STATION :{WHITE}Primer has de demolir l'estació de tramvies de mercaderies
STR_MUST_DEMOLISH_PASSENGER_TRAM_STATION :{WHITE}Primer has de demolir l'estació de tramvies de passatgers
STR_MUST_DEMOLISH_CARGO_TRAM_STATION :{WHITE}Primer has de demolir l'estació de tramvies de mercaderies
STR_3048_STATIONS :{WHITE}{COMPANY} - {COMMA} Estacions/Parades
STR_3049_0 :{YELLOW}{STATION} {STATIONFEATURES}
STR_304A_NONE :{YELLOW}- Cap -
@@ -1881,8 +1871,8 @@ STR_304F_SELECT_NUMBER_OF_PLATFORMS :{BLACK}Seleccio
STR_3050_SELECT_LENGTH_OF_RAILROAD :{BLACK}Selecciona la mida de les andanes de l'estació de tren
STR_3051_SELECT_BUS_STATION_ORIENTATION :{BLACK}Selecciona l'orientació de la parada d'autobús
STR_3052_SELECT_TRUCK_LOADING_BAY :{BLACK}Selecciona l'orientació del moll de càrrega de camions
STR_3051_SELECT_PASSENGER_TRAM_STATION_ORIENTATION :{BLACK}Selecciona l'orientació de l'estació de tramvies de passatgers
STR_3052_SELECT_CARGO_TRAM_STATION_ORIENTATION :{BLACK}Selecciona l'orientació de l'estació de tramvies de mercaderies
STR_SELECT_PASSENGER_TRAM_STATION_ORIENTATION :{BLACK}Selecciona l'orientació de l'estació de tramvies de passatgers
STR_SELECT_CARGO_TRAM_STATION_ORIENTATION :{BLACK}Selecciona l'orientació de l'estació de tramvies de mercaderies
STR_3053_CENTER_MAIN_VIEW_ON_STATION :{BLACK}Centra la pantalla principal al lloc de l'estació
STR_3054_SHOW_STATION_RATINGS :{BLACK}Mostra els ratis de l'estació
STR_3055_CHANGE_NAME_OF_STATION :{BLACK}Canvia el nom de l'estació
@@ -1904,7 +1894,7 @@ STR_3068_DOCK :{WHITE}Moll
STR_3069_BUOY :Boia
STR_306A_BUOY_IN_THE_WAY :{WHITE}...boia en el camí
STR_306C_STATION_TOO_SPREAD_OUT :{WHITE}...estació massa extesa
STR_306D_NONUNIFORM_STATIONS_DISALLOWED :{WHITE}...estacions no uniformes desactivades
STR_NONUNIFORM_STATIONS_DISALLOWED :{WHITE}...estacions no uniformes desactivades
STR_USE_CTRL_TO_SELECT_MORE :{BLACK}Mantin apretat CTRL per a seleccionar més de un item
STR_UNDEFINED :(cadena sense definir)
@@ -1945,7 +1935,7 @@ STR_400D_SAVE_THE_CURRENT_GAME_USING :{BLACK}Desa el
STR_400E_SELECT_NEW_GAME_TYPE :{WHITE}Selecciona el Nou Tipus de Joc
STR_400F_SELECT_SCENARIO_GREEN_PRE :{BLACK}Selecciona l'escenari (verd), joc pre-programat (blau), o el nou joc aleatori
STR_4010_GENERATE_RANDOM_NEW_GAME :Genera un nou joc aleatori
STR_4011_LOAD_HEIGHTMAP :{WHITE}Carrega un Mapa d'alçades
STR_LOAD_HEIGHTMAP :{WHITE}Carrega un Mapa d'alçades
##id 0x4800
STR_4800_IN_THE_WAY :{WHITE}{STRING} en el camí
@@ -2149,10 +2139,10 @@ STR_6812_QUANTITY_OF_SEA_LAKES :{LTBLUE}Quantit
STR_6813_ECONOMY :{LTBLUE}Economia: {ORANGE}{STRING}
STR_6814_TRAIN_REVERSING :{LTBLUE}Canvi de sentit dels trens: {ORANGE}{STRING}
STR_6815_DISASTERS :{LTBLUE}Desastres: {ORANGE}{STRING}
STR_16816_CITY_APPROVAL :{LTBLUE}Actitud de l'Ajuntament sobre reestructuracions d'àrees: {ORANGE}{STRING}
STR_CITY_APPROVAL :{LTBLUE}Actitud de l'Ajuntament sobre reestructuracions d'àrees: {ORANGE}{STRING}
############ range for difficulty settings ends
STR_26816_NONE :Cap
STR_NONE :Cap
STR_NUM_VERY_LOW :Molt baix
STR_6816_LOW :Baix
STR_6817_NORMAL :Normal
@@ -2190,9 +2180,9 @@ STR_6835_AT_END_OF_LINE_ONLY :Només al final
STR_6836_OFF :Desactivat
STR_6837_ON :Activat
STR_6838_SHOW_HI_SCORE_CHART :{BLACK}Veure la taula de les majors puntuacions
STR_6839_PERMISSIVE :Permisiu
STR_683A_TOLERANT :Tolerant
STR_683B_HOSTILE :Hostil
STR_PERMISSIVE :Permisiu
STR_TOLERANT :Tolerant
STR_HOSTILE :Hostil
##id 0x7000
STR_7000 :
@@ -2329,7 +2319,7 @@ STR_707B_CAN_T_BUY_25_SHARE_IN_THIS :{WHITE}No pots
STR_707C_CAN_T_SELL_25_SHARE_IN :{WHITE}No pots vendre el 25% de participació en aquesta empresa...
STR_707D_OWNED_BY :{WHITE}({COMMA}% propietat de {COMPANY})
STR_707F_HAS_BEEN_TAKEN_OVER_BY :{BLACK}{BIGFONT}{COMPANY} ha estat absorbida per {COMPANY}!
STR_7080_PROTECTED :{WHITE}Aquesta empresa ja no negocia participacions...
STR_PROTECTED :{WHITE}Aquesta empresa ja no negocia participacions...
STR_LIVERY_DEFAULT :Decoració estandard
STR_LIVERY_STEAM :Motor de vapor
@@ -2342,6 +2332,8 @@ STR_LIVERY_EMU :EMU
STR_LIVERY_PASSENGER_WAGON_STEAM :Vagó de passatgers (Vapor)
STR_LIVERY_PASSENGER_WAGON_DIESEL :Vagó de passatgers (Diesel)
STR_LIVERY_PASSENGER_WAGON_ELECTRIC :Vagó de passatgers (Elèctric)
STR_LIVERY_PASSENGER_WAGON_MONORAIL :Vagó de Passatgers (Monorail)
STR_LIVERY_PASSENGER_WAGON_MAGLEV :Vagó de Passatgers (Maglev)
STR_LIVERY_FREIGHT_WAGON :Vagó de càrrega
STR_LIVERY_BUS :Autobús
STR_LIVERY_TRUCK :Camió
@@ -2636,17 +2628,17 @@ STR_8803_TRAIN_IN_THE_WAY :{WHITE}Tren en
STR_8804 :{SETX 10}{COMMA}: {STRING} {STRING}
STR_8805 :{RIGHTARROW}{SETX 10}{COMMA}: {STRING} {STRING}
STR_8806_GO_TO :Ves a {STATION}
STR_8807_GO_TO_TRANSFER :Ves a {STATION} (Transfereix i agafa càrrega)
STR_8808_GO_TO_UNLOAD :Ves a {STATION} (Descarrega)
STR_8809_GO_TO_TRANSFER_UNLOAD :Ves a {STATION} (Transfereix i deixa buit)
STR_880A_GO_TO_LOAD :Ves a {STATION} (Carrega)
STR_880B_GO_TO_TRANSFER_LOAD :Ves a {STATION} (Transfereix i espera càrrega completa)
STR_880C_GO_NON_STOP_TO :Ves sense parar a {STATION}
STR_880D_GO_TO_NON_STOP_TRANSFER :Ves sense parar a {STATION} (Transfereix i agafa càrrega)
STR_880E_GO_NON_STOP_TO_UNLOAD :Ves sense parar a {STATION} (Descarrega)
STR_880F_GO_TO_NON_STOP_TRANSFER_UNLOAD :Ves sense parar a {STATION} (Transfereix i deixa buit)
STR_8810_GO_NON_STOP_TO_LOAD :Ves sense parar a {STATION} (Carrega)
STR_8811_GO_TO_NON_STOP_TRANSFER_LOAD :Ves sense parar a {STATION} (Transfereix i espera càrrega completa)
STR_GO_TO_TRANSFER :Ves a {STATION} (Transfereix i agafa càrrega)
STR_8807_GO_TO_UNLOAD :Ves a {STATION} (Descarrega)
STR_GO_TO_TRANSFER_UNLOAD :Ves a {STATION} (Transfereix i deixa buit)
STR_8808_GO_TO_LOAD :Ves a {STATION} (Carrega)
STR_GO_TO_TRANSFER_LOAD :Ves a {STATION} (Transfereix i espera càrrega completa)
STR_880A_GO_NON_STOP_TO :Ves sense parar a {STATION}
STR_GO_TO_NON_STOP_TRANSFER :Ves sense parar a {STATION} (Transfereix i agafa càrrega)
STR_880B_GO_NON_STOP_TO_UNLOAD :Ves sense parar a {STATION} (Descarrega)
STR_GO_TO_NON_STOP_TRANSFER_UNLOAD :Ves sense parar a {STATION} (Transfereix i deixa buit)
STR_880C_GO_NON_STOP_TO_LOAD :Ves sense parar a {STATION} (Carrega)
STR_GO_TO_NON_STOP_TRANSFER_LOAD :Ves sense parar a {STATION} (Transfereix i espera càrrega completa)
STR_GO_TO_TRAIN_DEPOT :Ves al Diposit {TOWN} de Tren
STR_SERVICE_AT_TRAIN_DEPOT :Manteniment a cotxeres de {TOWN}.
STR_880F_GO_NON_STOP_TO_TRAIN_DEPOT :Ves sense parar a les cotxeres de {TOWN}.
@@ -2750,7 +2742,7 @@ STR_884E_DECREASE_SERVICING_INTERVAL :{BLACK}Disminue
STR_884F_SHOW_DETAILS_OF_CARGO_CARRIED :{BLACK}Mostra els detalls de càrrega transportada
STR_8850_SHOW_DETAILS_OF_TRAIN_VEHICLES :{BLACK}Mostra els detalls d'elements del tren
STR_8851_SHOW_CAPACITIES_OF_EACH :{BLACK}Mostra les capacitats de cada element
STR_8852_SHOW_TOTAL_CARGO :{BLACK}Mostra la capacitat total del tren, separat per tipus de càrrega
STR_SHOW_TOTAL_CARGO :{BLACK}Mostra la capacitat total del tren, separat per tipus de càrrega
STR_8852_ORDERS_LIST_CLICK_ON_ORDER :{BLACK}Llista d'ordres - clica en una per seleccionar-la
STR_8853_SKIP_THE_CURRENT_ORDER :{BLACK}Salta l'ordre actual, i comença la següent. CTRL + clic salta l'ordre seleccionada
STR_8854_DELETE_THE_HIGHLIGHTED :{BLACK}Esborra l'ordre seleccionada
@@ -2781,8 +2773,8 @@ STR_8868_TRAIN_CRASH_DIE_IN_FIREBALL :{BLACK}{BIGFONT
STR_8869_CAN_T_REVERSE_DIRECTION :{WHITE}No es pot invertir la direcció del tren...
STR_886A_RENAME_TRAIN_VEHICLE_TYPE :{WHITE}Reanomena el tipus d'element del tren
STR_886B_CAN_T_RENAME_TRAIN_VEHICLE :{WHITE}No es pot reanomenar el tipus d'element del tren...
STR_886D_MAKE_THE_HIGHLIGHTED_ORDER :{BLACK}Fer que l'ordre marcada forci al vehicle a volcar la càrrega
STR_886F_TRANSFER :{BLACK}Transf.
STR_MAKE_THE_HIGHLIGHTED_ORDER :{BLACK}Fer que l'ordre marcada forci al vehicle a volcar la càrrega
STR_TRANSFER :{BLACK}Transf.
STR_CLEAR_TIME :{BLACK}Esborra Temps
STR_RESET_LATENESS :{BLACK}Reset. control de retràs
@@ -2860,8 +2852,8 @@ STR_902D_CAN_T_NAME_ROAD_VEHICLE :{WHITE}No es po
STR_902E_NAME_ROAD_VEHICLE :{BLACK}Anomena automòbil
STR_902F_CITIZENS_CELEBRATE_FIRST :{BLACK}{BIGFONT}Celebració popular . . .{}Primer autobús arriba a {STATION}!
STR_9030_CITIZENS_CELEBRATE_FIRST :{BLACK}{BIGFONT}Celebració popular . . .{}Primer camió arriba a {STATION}!
STR_902F_CITIZENS_CELEBRATE_FIRST_TRAM :{BLACK}{BIGFONT}Els ciutadans celebren . . .{}El primer tramvia de passatgers arriba a {STATION}!
STR_9030_CITIZENS_CELEBRATE_FIRST_TRAM :{BLACK}{BIGFONT}Els ciutadans celebren . . .{}El primer tramvia de mercaderies arriba a {STATION}!
STR_CITIZENS_CELEBRATE_FIRST_PASSENGER_TRAM :{BLACK}{BIGFONT}Els ciutadans celebren . . .{}El primer tramvia de passatgers arriba a {STATION}!
STR_CITIZENS_CELEBRATE_FIRST_CARGO_TRAM :{BLACK}{BIGFONT}Els ciutadans celebren . . .{}El primer tramvia de mercaderies arriba a {STATION}!
STR_9031_ROAD_VEHICLE_CRASH_DRIVER :{BLACK}{BIGFONT}Accident de Vehicle!{}El conductor mor en una bola de foc després de la colisió amb un tren
STR_9032_ROAD_VEHICLE_CRASH_DIE :{BLACK}{BIGFONT}Accident de Vehicle!{}{COMMA} moren en una bola de foc després d'una colisió amb un tren
STR_9033_CAN_T_MAKE_VEHICLE_TURN :{WHITE}No es pot fer que el vehicle torni...
@@ -2870,7 +2862,7 @@ STR_9034_RENAME :{BLACK}Reanomen
STR_9035_RENAME_ROAD_VEHICLE_TYPE :{BLACK}Reanomena tipus d'automòbil
STR_9036_RENAME_ROAD_VEHICLE_TYPE :{WHITE}Reanomena tipus d'automòbil
STR_9037_CAN_T_RENAME_ROAD_VEHICLE :{WHITE}No es pot reanomenar tipus d'automòbil
STR_9038_GO_TO_ROADVEH_DEPOT :Ves a la cotxera de {TOWN}.
STR_GO_TO_ROADVEH_DEPOT :Ves a la cotxera de {TOWN}.
STR_SERVICE_AT_ROADVEH_DEPOT :Manteniment a la cotxera de {TOWN}.
STR_REFIT_ROAD_VEHICLE_TO_CARRY :{BLACK}Remodela vehicle de carretera per dur un tipus diferent de càrrega
@@ -3244,6 +3236,12 @@ STR_PURCHASE_INFO_ALL_TYPES :Totes les càrr
STR_PURCHASE_INFO_ALL_BUT :Tots menys {GOLD}
STR_PURCHASE_INFO_MAX_TE :{BLACK}Max. Esforç de Tracció: {GOLD}{FORCE}
########### For showing numbers in widgets
STR_NUM_1 :{BLACK}{SKIP}{NUM}
STR_NUM_2 :{BLACK}{SKIP}{SKIP}{NUM}
STR_NUM_3 :{BLACK}{SKIP}{SKIP}{SKIP}{NUM}
########### String for New Landscape Generator
STR_GENERATE :{WHITE}Genera
@@ -3271,7 +3269,6 @@ STR_HEIGHTMAP_SCALE_WARNING_CAPTION :{WHITE}Alerta d
STR_HEIGHTMAP_SCALE_WARNING_MESSAGE :{YELLOW}No es recomana redimensionar massa el mapa d'origen. Vols continuar amb la generació?
STR_TOWN_LAYOUT_WARNING_CAPTION :{WHITE}Alerta de format de poble
STR_TOWN_LAYOUT_WARNING_MESSAGE :{YELLOW}El format de poble "no més carreteres" no està recomanat. Continuar amb la generació?
STR_SNOW_LINE_HEIGHT_NUM :{NUM}
STR_HEIGHTMAP_NAME :{BLACK}Nom del mapa d'alçades:
STR_HEIGHTMAP_SIZE :{BLACK}Mida: {ORANGE}{NUM} x {NUM}
STR_GENERATION_WORLD :{WHITE}Generant món...
@@ -3297,7 +3294,6 @@ STR_FLAT_WORLD_HEIGHT_DOWN :{BLACK}Mou l'al
STR_FLAT_WORLD_HEIGHT_UP :{BLACK}Mou l'alçada del terreny pla un pas amunt
STR_FLAT_WORLD_HEIGHT_QUERY_CAPT :{WHITE}Canvia alçada del terreny pla
STR_FLAT_WORLD_HEIGHT :{BLACK}Alçada del terreny pla:
STR_FLAT_WORLD_HEIGHT_NUM :{NUM}
STR_SMALLMAP_CENTER :{BLACK}Centrar el mapa petit a la posició actual
STR_SMALLMAP_INDUSTRY :{TINYFONT}{STRING} ({NUM})
+68 -79
View File
@@ -17,14 +17,12 @@ STR_EMPTY :
STR_0007_FLAT_LAND_REQUIRED :{WHITE}Potrebna ravna površina
STR_0008_WAITING :{BLACK}Čekanje: {WHITE}{STRING}
STR_0009 :{WHITE}{CARGO}
STR_000A_EN_ROUTE_FROM :{WHITE}{CARGO}{YELLOW} (na putu od
STR_000B :{YELLOW}{STATION})
STR_000C_ACCEPTS :{BLACK}Prihvaća: {WHITE}
STR_000D_ACCEPTS :{BLACK}Prihvaća: {GOLD}
STR_000E :
STR_000F_PASSENGERS :putnici
STR_0010_COAL :ugljen
STR_0011_MAIL :pošta
STR_000F_PASSENGERS :Putnici
STR_0010_COAL :Ugljen
STR_0011_MAIL :Pošta
STR_0012_OIL :nafta
STR_0013_LIVESTOCK :domaće životinje
STR_0014_GOODS :robe
@@ -276,9 +274,9 @@ STR_0130_RENAME :{BLACK}Preimenu
STR_0131_TOO_MANY_NAMES_DEFINED :{WHITE}Previše definiranih imena
STR_0132_CHOSEN_NAME_IN_USE_ALREADY :{WHITE}Odabrano ime već se koristi
STR_0133_WINDOWS :Windows
STR_0134_UNIX :Unix
STR_0135_OSX :OS X
STR_OSNAME_WINDOWS :Windows
STR_OSNAME_UNIX :Unix
STR_OSNAME_OSX :OS X
STR_OSNAME_BEOS :BeOS
STR_OSNAME_MORPHOS :MorphOS
STR_OSNAME_AMIGAOS :AmigaOS
@@ -289,11 +287,11 @@ STR_013B_OWNED_BY :{WHITE}...u vla
STR_013C_CARGO :{BLACK}Teret
STR_013D_INFORMATION :{BLACK}Informacije
STR_013E_CAPACITIES :{BLACK}Nosivosti
STR_013E_TOTAL_CARGO :{BLACK}Ukupni teret
STR_TOTAL_CARGO :{BLACK}Ukupni teret
STR_013F_CAPACITY :{BLACK}Nosivost: {LTBLUE}{CARGO}
STR_CAPACITY_MULT :{BLACK}Nosivost: {LTBLUE}{CARGO} (x{NUM})
STR_013F_TOTAL_CAPACITY_TEXT :{BLACK}Ukupna nosivost tereta ovog vlaka:
STR_013F_TOTAL_CAPACITY :{LTBLUE}- {CARGO} ({SHORTCARGO})
STR_TOTAL_CAPACITY_TEXT :{BLACK}Ukupna nosivost tereta ovog vlaka:
STR_TOTAL_CAPACITY :{LTBLUE}- {CARGO} ({SHORTCARGO})
STR_TOTAL_CAPACITY_MULT :{LTBLUE}- {CARGO} ({SHORTCARGO}) (x{NUM})
STR_0140_NEW_GAME :{BLACK}Nova igra
STR_0141_LOAD_GAME :{BLACK}Učitaj igru
@@ -301,12 +299,6 @@ STR_SINGLE_PLAYER :{BLACK}Jedan ig
STR_MULTIPLAYER :{BLACK}Više igrača
STR_SCENARIO_EDITOR :{BLACK}Editor scenarija
STR_64 :64
STR_128 :128
STR_256 :256
STR_512 :512
STR_1024 :1024
STR_2048 :2048
STR_MAPSIZE :{BLACK}Veličina karte:
STR_BY :{BLACK}*
STR_0148_GAME_OPTIONS :{BLACK}Postavke igre
@@ -738,7 +730,7 @@ STR_0290_DELETE :{BLACK}Obriši
STR_0291_DELETE_THIS_TOWN_COMPLETELY :{BLACK}Obriši ovaj grad u cjelosti
STR_0292_SAVE_SCENARIO :Spremi scenarij
STR_0293_LOAD_SCENARIO :Učitaj secenarij
STR_LOAD_HEIGHTMAP :Učitaj visinsku kartu
STR_MENU_LOAD_HEIGHTMAP :Učitaj visinsku kartu
STR_0294_QUIT_EDITOR :Završi s uređivanjem
STR_0295 :
STR_0296_QUIT :Završi
@@ -778,9 +770,9 @@ STR_02C2_SAVE_CUSTOMIZED_VEHICLE :{BLACK}Spremi p
STR_CHECKMARK :{CHECKMARK}
############ range for menu starts
STR_02C3_GAME_OPTIONS :Postavke igre
STR_02C5_DIFFICULTY_SETTINGS :Postavke težine
STR_02C7_CONFIG_PATCHES :Konfiguriraj zakrpe
STR_02C4_GAME_OPTIONS :Postavke igre
STR_02C6_DIFFICULTY_SETTINGS :Postavke težine
STR_MENU_CONFIG_PATCHES :Konfiguriraj zakrpe
STR_NEWGRF_SETTINGS :Postavke NewGRF-a
STR_TRANSPARENCY_OPTIONS :Postavke prozirnosti
STR_GAMEOPTMENU_0A :
@@ -880,8 +872,8 @@ STR_SAVING_GAME :{RED}* * SPRE
STR_SAVE_STILL_IN_PROGRESS :{WHITE}Spremanje još u tijeku,{}molimo pričekajte dok se ne završi!
STR_0330_SELECT_EZY_STREET_STYLE :{BLACK}Odaberi glazbeni program 'Ezy Street style'
STR_0335_6 :{BLACK}6
STR_0336_7 :{BLACK}7
STR_6 :{BLACK}6
STR_7 :{BLACK}7
############ start of townname region
STR_TOWNNAME_ORIGINAL_ENGLISH :Engleski (original)
@@ -1057,7 +1049,6 @@ STR_CONFIG_PATCHES_BRIBE :{LTBLUE}Dopusti
STR_CONFIG_PATCHES_ALLOW_EXCLUSIVE :{LTBLUE}Dopusti kupovinu ekskluzivnih prijevoznih prava: {ORANGE}{STRING}
STR_CONFIG_PATCHES_ALLOW_GIVE_MONEY :{LTBLUE}Dopusti slanje novca drugim tvrtkama: {ORANGE}{STRING}
STR_CONFIG_PATCHES_NONUNIFORM_STATIONS :{LTBLUE}Neujednačene stanice: {ORANGE}{STRING}
STR_CONFIG_PATCHES_NEW_PATHFINDING_ALL :{LTBLUE}Novo globalno pronalaženje puteva (NPF, isključuje NTP): {ORANGE}{STRING}
STR_CONFIG_PATCHES_FREIGHT_TRAINS :{LTBLUE}Težinski množitelj za teret za simulaciju teških vlakova: {ORANGE}{STRING}
STR_CONFIG_PATCHES_STOP_ON_TOWN_ROAD :{LTBLUE}Dopusti prolazne stanice na cestama u vlasti grada: {ORANGE}{STRING}
STR_CONFIG_PATCHES_ADJACENT_STATIONS :{LTBLUE}Dopusti izgradnju pridruženih stanica: {ORANGE}{STRING}
@@ -1212,9 +1203,6 @@ STR_CONFIG_PATCHES_CURRENCY :{CURRENCY}
STR_CONFIG_PATCHES_QUERY_CAPT :{WHITE}Promijeni vrijednost postavke
STR_CONFIG_PATCHES_SERVICE_INTERVAL_INCOMPATIBLE :{WHITE}Neki ili svi od zadanih servisnih intervala ispod nisu kompatibilni s odabranim postavkama! Valjane vrijednosti su 5-90% ili 30-800 dana.
STR_CONFIG_PATCHES_YAPF_SHIPS :{LTBLUE}Koristi YAPF za brodove: {ORANGE}{STRING}
STR_CONFIG_PATCHES_YAPF_ROAD :{LTBLUE}Koristi YAPF za cestovna vozila: {ORANGE}{STRING}
STR_CONFIG_PATCHES_YAPF_RAIL :{LTBLUE}Koristi YAPF za vlakove: {ORANGE}{STRING}
STR_TEMPERATE_LANDSCAPE :Blagi krajolik
STR_SUB_ARCTIC_LANDSCAPE :Pod-arktički krajolik
@@ -1656,42 +1644,42 @@ STR_MUST_REMOVE_RAILWAY_STATION_FIRST :{WHITE}Najprije
STR_1801_MUST_REMOVE_ROAD_FIRST :{WHITE}Najprije moraš ukloniti cestu
STR_ROAD_WORKS_IN_PROGRESS :{WHITE}Cestovni radovi u tijeku
STR_1802_ROAD_CONSTRUCTION :{WHITE}Izgradnja ceste
STR_1802_TRAMWAY_CONSTRUCTION :{WHITE}Izgradnja tramvaja
STR_WHITE_TRAMWAY_CONSTRUCTION :{WHITE}Izgradnja tramvaja
STR_1803_SELECT_ROAD_BRIDGE :{WHITE}Odaberi cestovni most
STR_ERR_ONEWAY_ROADS_CAN_T_HAVE_JUNCTION :{WHITE}...jednosmjerne ceste ne mogu imati raskrižja
STR_1804_CAN_T_BUILD_ROAD_HERE :{WHITE}Ovdje nije moguće izgraditi cestu...
STR_1804_CAN_T_BUILD_TRAMWAY_HERE :{WHITE}Ovdje nije moguće izgraditi tramvaj...
STR_CAN_T_BUILD_TRAMWAY_HERE :{WHITE}Ovdje nije moguće izgraditi tramvaj...
STR_1805_CAN_T_REMOVE_ROAD_FROM :{WHITE}Nije moguće ukloniti cestu odavdje...
STR_1805_CAN_T_REMOVE_TRAMWAY_FROM :{WHITE}Nije moguće ukloniti tramvaj odavdje...
STR_CAN_T_REMOVE_TRAMWAY_FROM :{WHITE}Nije moguće ukloniti tramvaj odavdje...
STR_1806_ROAD_DEPOT_ORIENTATION :{WHITE}Smjer cestovnog spremišta
STR_1806_TRAM_DEPOT_ORIENTATION :{WHITE}Smjer tramvajskog spremišta
STR_TRAM_DEPOT_ORIENTATION :{WHITE}Smjer tramvajskog spremišta
STR_1807_CAN_T_BUILD_ROAD_VEHICLE :{WHITE}Ovdje nije moguće izgraditi spremište cestovnih vozila...
STR_1807_CAN_T_BUILD_TRAM_VEHICLE :{WHITE}Ovdje nije moguće izgraditi tramvajsko spremište...
STR_CAN_T_BUILD_TRAM_VEHICLE :{WHITE}Ovdje nije moguće izgraditi tramvajsko spremište...
STR_1808_CAN_T_BUILD_BUS_STATION :{WHITE}Nije moguće izgraditi autobusnu stanicu...
STR_1809_CAN_T_BUILD_TRUCK_STATION :{WHITE}Nije moguće izgraditi kamionski terminal...
STR_1808_CAN_T_BUILD_PASSENGER_TRAM_STATION :{WHITE}Nije moguće izgraditi tramvajsku stanicu za putnike...
STR_1809_CAN_T_BUILD_CARGO_TRAM_STATION :{WHITE}Nije moguće izgraditi teretnu tramvajsku stanicu...
STR_CAN_T_BUILD_PASSENGER_TRAM_STATION :{WHITE}Nije moguće izgraditi tramvajsku stanicu za putnike...
STR_CAN_T_BUILD_CARGO_TRAM_STATION :{WHITE}Nije moguće izgraditi teretnu tramvajsku stanicu...
STR_180A_ROAD_CONSTRUCTION :Izgradnja ceste
STR_180A_TRAMWAY_CONSTRUCTION :Izgradnja tramvaja
STR_TRAMWAY_CONSTRUCTION :Izgradnja tramvaja
STR_180B_BUILD_ROAD_SECTION :{BLACK}Izgradi dio ceste
STR_BUILD_AUTOROAD_TIP :{BLACK}Izgradi cestu koristeći Autoroad način gradnje
STR_180B_BUILD_TRAMWAY_SECTION :{BLACK}Izgradi tramvajski dio
STR_BUILD_TRAMWAY_SECTION :{BLACK}Izgradi tramvajski dio
STR_BUILD_AUTOTRAM_TIP :{BLACK}Izgradi tramvajsku prugu koristeći Autotram način gradnje
STR_180C_BUILD_ROAD_VEHICLE_DEPOT :{BLACK}Izgradi spremište cestovnih vozila (za izgradnju i servisiranje vozila)
STR_180C_BUILD_TRAM_VEHICLE_DEPOT :{BLACK}Izgradi spremište tramvajskih vozila (za izgradnju i servisiranje vozila)
STR_BUILD_TRAM_VEHICLE_DEPOT :{BLACK}Izgradi spremište tramvajskih vozila (za izgradnju i servisiranje vozila)
STR_180D_BUILD_BUS_STATION :{BLACK}Izgradi autobusnu stanicu
STR_180E_BUILD_TRUCK_LOADING_BAY :{BLACK}Izgradi pretovarni kamionski terminal
STR_180D_BUILD_PASSENGER_TRAM_STATION :{BLACK}Izgradi putničku tramvajsku stanicu
STR_180E_BUILD_CARGO_TRAM_STATION :{BLACK}Izgradi teretnu tramvajsku stanicu
STR_BUILD_PASSENGER_TRAM_STATION :{BLACK}Izgradi putničku tramvajsku stanicu
STR_BUILD_CARGO_TRAM_STATION :{BLACK}Izgradi teretnu tramvajsku stanicu
STR_180F_BUILD_ROAD_BRIDGE :{BLACK}Izgradi cestovni most
STR_180F_BUILD_TRAMWAY_BRIDGE :{BLACK}Izgradi tramvajski most
STR_BUILD_TRAMWAY_BRIDGE :{BLACK}Izgradi tramvajski most
STR_1810_BUILD_ROAD_TUNNEL :{BLACK}Izgradi cestovni tunel
STR_1810_BUILD_TRAMWAY_TUNNEL :{BLACK}Izgradi tramvajski tunel
STR_BUILD_TRAMWAY_TUNNEL :{BLACK}Izgradi tramvajski tunel
STR_TOGGLE_ONE_WAY_ROAD :{BLACK}Aktiviraj/deaktiviraj jednosmjerne ceste
STR_1811_TOGGLE_BUILD_REMOVE_FOR :{BLACK}Aktiviraj izgradnju/uklanjanje ceste
STR_1811_TOGGLE_BUILD_REMOVE_FOR_TRAMWAYS :{BLACK}Aktiviraj izgradnju/brisanje za izgradnju tramvaja
STR_TOGGLE_BUILD_REMOVE_FOR_TRAMWAYS :{BLACK}Aktiviraj izgradnju/brisanje za izgradnju tramvaja
STR_1813_SELECT_ROAD_VEHICLE_DEPOT :{BLACK}Odaberi smjer spremišta cestovnih vozila
STR_1813_SELECT_TRAM_VEHICLE_DEPOT :{BLACK}Odaberi smjer tramvajskog spremišta
STR_SELECT_TRAM_VEHICLE_DEPOT :{BLACK}Odaberi smjer tramvajskog spremišta
STR_1814_ROAD :Cesta
STR_1815_ROAD_WITH_STREETLIGHTS :Cesta sa semaforima
STR_1816_TREE_LINED_ROAD :Cesta s tri trake
@@ -1834,8 +1822,8 @@ STR_3005_TOO_CLOSE_TO_ANOTHER_RAILROAD :{WHITE}Preblizu
STR_3006_ADJOINS_MORE_THAN_ONE_EXISTING :{WHITE}Spaja više od jedne postojeće stanice/terminala
STR_3007_TOO_MANY_STATIONS_LOADING :{WHITE}U ovom gradu ima previše stanica/terminala
STR_3008_TOO_MANY_STATIONS_LOADING :{WHITE}Previše stanica/terminala
STR_3008A_TOO_MANY_BUS_STOPS :{WHITE}Previše autobusnih stanica
STR_3008B_TOO_MANY_TRUCK_STOPS :{WHITE}Previše kamionskih stanica
STR_TOO_MANY_BUS_STOPS :{WHITE}Previše autobusnih stanica
STR_TOO_MANY_TRUCK_STOPS :{WHITE}Previše kamionskih stanica
STR_3009_TOO_CLOSE_TO_ANOTHER_STATION :{WHITE}Preblizu drugoj stanici/terminalu
STR_300A_0 :{WHITE}{STATION} {STATIONFEATURES}
STR_300B_MUST_DEMOLISH_RAILROAD :{WHITE}Najprije moraš srušiti željezničku stanicu
@@ -1866,12 +1854,12 @@ STR_3040_NOW_ACCEPTS :{WHITE}{STATION
STR_3041_NOW_ACCEPTS_AND :{WHITE}{STATION} od sada prihvaća {STRING} i {STRING}
STR_3042_BUS_STATION_ORIENTATION :{WHITE}Smjer autobusne stanice
STR_3043_TRUCK_STATION_ORIENT :{WHITE}Smjer kamionskog terminala
STR_3042_PASSENGER_TRAM_STATION_ORIENTATION :{WHITE}Orijentacija putničkog tramvaja
STR_3043_CARGO_TRAM_STATION_ORIENT :{WHITE}Orijentacija teretnog tramvaja
STR_PASSENGER_TRAM_STATION_ORIENTATION :{WHITE}Orijentacija putničkog tramvaja
STR_CARGO_TRAM_STATION_ORIENT :{WHITE}Orijentacija teretnog tramvaja
STR_3046_MUST_DEMOLISH_BUS_STATION :{WHITE}Najprije moraš srušiti autobusnu stanicu
STR_3047_MUST_DEMOLISH_TRUCK_STATION :{WHITE}Najprije moraš srušiti kamionski terminal
STR_3046_MUST_DEMOLISH_PASSENGER_TRAM_STATION :{WHITE}Najprije moraš srušiti putničku tramvajsku stanicu
STR_3047_MUST_DEMOLISH_CARGO_TRAM_STATION :{WHITE}Najprije moraš srušiti teretnu tramvajsku stanicu
STR_MUST_DEMOLISH_PASSENGER_TRAM_STATION :{WHITE}Najprije moraš srušiti putničku tramvajsku stanicu
STR_MUST_DEMOLISH_CARGO_TRAM_STATION :{WHITE}Najprije moraš srušiti teretnu tramvajsku stanicu
STR_3048_STATIONS :{WHITE}{COMPANY} - {COMMA} stanic{P a e a}
STR_3049_0 :{YELLOW}{STATION} {STATIONFEATURES}
STR_304A_NONE :{YELLOW}- Ništa -
@@ -1883,8 +1871,8 @@ STR_304F_SELECT_NUMBER_OF_PLATFORMS :{BLACK}Odaberi
STR_3050_SELECT_LENGTH_OF_RAILROAD :{BLACK}Odaberi dužinu željezničke stanice
STR_3051_SELECT_BUS_STATION_ORIENTATION :{BLACK}Odaberi smjer autobusne stanice
STR_3052_SELECT_TRUCK_LOADING_BAY :{BLACK}Odaberi smjer kamionskog terminala
STR_3051_SELECT_PASSENGER_TRAM_STATION_ORIENTATION :{BLACK}Odaberi smjer putničke tramvajske stanice
STR_3052_SELECT_CARGO_TRAM_STATION_ORIENTATION :{BLACK}Odaberi smjer teretne tramvajske stanice
STR_SELECT_PASSENGER_TRAM_STATION_ORIENTATION :{BLACK}Odaberi smjer putničke tramvajske stanice
STR_SELECT_CARGO_TRAM_STATION_ORIENTATION :{BLACK}Odaberi smjer teretne tramvajske stanice
STR_3053_CENTER_MAIN_VIEW_ON_STATION :{BLACK}Centriraj glavni pogled na lokaciju stanice
STR_3054_SHOW_STATION_RATINGS :{BLACK}Pokaži ocjene stanice
STR_3055_CHANGE_NAME_OF_STATION :{BLACK}Promijeni ime stanice
@@ -1906,7 +1894,7 @@ STR_3068_DOCK :{WHITE}Pristani
STR_3069_BUOY :Plutača
STR_306A_BUOY_IN_THE_WAY :{WHITE}...plutača na putu
STR_306C_STATION_TOO_SPREAD_OUT :{WHITE}...stanica previše proširena
STR_306D_NONUNIFORM_STATIONS_DISALLOWED :{WHITE}...neujednačene stanice onemogućene
STR_NONUNIFORM_STATIONS_DISALLOWED :{WHITE}...neujednačene stanice onemogućene
STR_USE_CTRL_TO_SELECT_MORE :{BLACK}Drži CTRL kako bi odabrao više od jedne stavke
STR_UNDEFINED :(neodređen znakovni niz)
@@ -1947,7 +1935,7 @@ STR_400D_SAVE_THE_CURRENT_GAME_USING :{BLACK}Spremi t
STR_400E_SELECT_NEW_GAME_TYPE :{WHITE}Odaberi vrstu nove igre
STR_400F_SELECT_SCENARIO_GREEN_PRE :{BLACK}Odaberi scenarij (zeleno), namještenu igru (plavo), ili nasumičnu novu igru
STR_4010_GENERATE_RANDOM_NEW_GAME :Stvori nasumičnu novu igru
STR_4011_LOAD_HEIGHTMAP :{WHITE}Učitaj visinsku kartu
STR_LOAD_HEIGHTMAP :{WHITE}Učitaj visinsku kartu
##id 0x4800
STR_4800_IN_THE_WAY :{WHITE}{STRING} na putu
@@ -2151,10 +2139,10 @@ STR_6812_QUANTITY_OF_SEA_LAKES :{LTBLUE}Količi
STR_6813_ECONOMY :{LTBLUE}Ekonomija: {ORANGE}{STRING}
STR_6814_TRAIN_REVERSING :{LTBLUE}Promjena smjera vlaka: {ORANGE}{STRING}
STR_6815_DISASTERS :{LTBLUE}Prirodne katastrofe: {ORANGE}{STRING}
STR_16816_CITY_APPROVAL :{LTBLUE}Stav gradsko vijeća prema restrukturiranju područja: {ORANGE}{STRING}
STR_CITY_APPROVAL :{LTBLUE}Stav gradsko vijeća prema restrukturiranju područja: {ORANGE}{STRING}
############ range for difficulty settings ends
STR_26816_NONE :Ništa
STR_NONE :Ništa
STR_NUM_VERY_LOW :Vrlo nisko
STR_6816_LOW :Nisko
STR_6817_NORMAL :Normalno
@@ -2192,9 +2180,9 @@ STR_6835_AT_END_OF_LINE_ONLY :Isključivo na
STR_6836_OFF :Isključeno
STR_6837_ON :Uključeno
STR_6838_SHOW_HI_SCORE_CHART :{BLACK}Pokaži tablice najboljih rezultata
STR_6839_PERMISSIVE :Dopustiv
STR_683A_TOLERANT :Tolerantan
STR_683B_HOSTILE :Agresivan
STR_PERMISSIVE :Dopustiv
STR_TOLERANT :Tolerantan
STR_HOSTILE :Agresivan
##id 0x7000
STR_7000 :
@@ -2331,7 +2319,7 @@ STR_707B_CAN_T_BUY_25_SHARE_IN_THIS :{WHITE}Nije mog
STR_707C_CAN_T_SELL_25_SHARE_IN :{WHITE}Nije moguće prodati 25% udjela u ovoj tvrtci...
STR_707D_OWNED_BY :{WHITE}({COMMA}% u vlasništvu {COMPANY})
STR_707F_HAS_BEEN_TAKEN_OVER_BY :{BLACK}{BIGFONT}{COMPANY} je preuzeta od strane tvrtke {COMPANY}!
STR_7080_PROTECTED :{WHITE}Ova tvrka još nije dovoljno stara da bi trgovala udjelima...
STR_PROTECTED :{WHITE}Ova tvrka još nije dovoljno stara da bi trgovala udjelima...
STR_LIVERY_DEFAULT :Standardna boja
STR_LIVERY_STEAM :Parna lokomotiva
@@ -2638,17 +2626,17 @@ STR_8803_TRAIN_IN_THE_WAY :{WHITE}Vlak na
STR_8804 :{SETX 10}{COMMA}: {STRING} {STRING}
STR_8805 :{RIGHTARROW}{SETX 10}{COMMA}: {STRING} {STRING}
STR_8806_GO_TO :Idi do {STATION}
STR_8807_GO_TO_TRANSFER :Idi do {STATION} (Transferiraj i preuzmi teret)
STR_8808_GO_TO_UNLOAD :Idi do {STATION} (Istovar)
STR_8809_GO_TO_TRANSFER_UNLOAD :Go to {STATION} (Transferiraj i otiđi prazan)
STR_880A_GO_TO_LOAD :Idi do{STATION} (Utovar)
STR_880B_GO_TO_TRANSFER_LOAD :Idi do {STATION} (Transferiraj i pričekaj puni utovar)
STR_880C_GO_NON_STOP_TO :Idi neprekidno do {STATION}
STR_880D_GO_TO_NON_STOP_TRANSFER :Idi neprekidno do {STATION} (Transferiraj i preuzmi teret)
STR_880E_GO_NON_STOP_TO_UNLOAD :Idi neprekidno do {STATION} (Istovar)
STR_880F_GO_TO_NON_STOP_TRANSFER_UNLOAD :Idi neprekidno do {STATION} (Transferiraj i otiđi prazan)
STR_8810_GO_NON_STOP_TO_LOAD :Idi neprekidno do {STATION} (Utovar)
STR_8811_GO_TO_NON_STOP_TRANSFER_LOAD :Idi neprekidno do {STATION} (Transferiraj i pričekaj puni utovar)
STR_GO_TO_TRANSFER :Idi do {STATION} (Transferiraj i preuzmi teret)
STR_8807_GO_TO_UNLOAD :Idi do {STATION} (Istovar)
STR_GO_TO_TRANSFER_UNLOAD :Go to {STATION} (Transferiraj i otiđi prazan)
STR_8808_GO_TO_LOAD :Idi do{STATION} (Utovar)
STR_GO_TO_TRANSFER_LOAD :Idi do {STATION} (Transferiraj i pričekaj puni utovar)
STR_880A_GO_NON_STOP_TO :Idi neprekidno do {STATION}
STR_GO_TO_NON_STOP_TRANSFER :Idi neprekidno do {STATION} (Transferiraj i preuzmi teret)
STR_880B_GO_NON_STOP_TO_UNLOAD :Idi neprekidno do {STATION} (Istovar)
STR_GO_TO_NON_STOP_TRANSFER_UNLOAD :Idi neprekidno do {STATION} (Transferiraj i otiđi prazan)
STR_880C_GO_NON_STOP_TO_LOAD :Idi neprekidno do {STATION} (Utovar)
STR_GO_TO_NON_STOP_TRANSFER_LOAD :Idi neprekidno do {STATION} (Transferiraj i pričekaj puni utovar)
STR_GO_TO_TRAIN_DEPOT :Idi u spremište vlakova grada {TOWN}
STR_SERVICE_AT_TRAIN_DEPOT :Servisiranje u spremištu vlakova grada {TOWN}
STR_880F_GO_NON_STOP_TO_TRAIN_DEPOT :Idi neprekidno do spremišta vlakova grada {TOWN}
@@ -2734,7 +2722,7 @@ STR_SERVICING_INTERVAL_PERCENT :{BLACK}Servisni
STR_883D_TRAINS_CLICK_ON_TRAIN_FOR :{BLACK}Vlakovi - klikni na vlak za informacije
STR_883E_BUILD_NEW_TRAINS_REQUIRES :{BLACK}Izgradi/kupi nove vlakove (zahtijeva spremište vlakova)
STR_883F_TRAINS_CLICK_ON_TRAIN_FOR :{BLACK}Vlakovi - klikni na vlak za informacije., vuci vozilo kako bi dodao/oduzeo od vlaka
STR_8840_BUILD_NEW_TRAIN_VEHICLE :{BLACK}Izgradi novi vlak
STR_8840_BUILD_NEW_TRAIN_VEHICLE :{BLACK}Kupi novo željezničko vozilo
STR_8841_DRAG_TRAIN_VEHICLE_TO_HERE :{BLACK}Ovdje povuci vlak kako bi ga prodao
STR_8842_CENTER_MAIN_VIEW_ON_TRAIN :{BLACK}Centriraj glavni pogled na lokaciju željezničkog spremišta
STR_8843_TRAIN_VEHICLE_SELECTION :{BLACK}Popis izabranih vlakova - klikni na vlak za informacije
@@ -2752,7 +2740,7 @@ STR_884E_DECREASE_SERVICING_INTERVAL :{BLACK}Smanji s
STR_884F_SHOW_DETAILS_OF_CARGO_CARRIED :{BLACK}Pokaži detalje tereta koji se prevozi
STR_8850_SHOW_DETAILS_OF_TRAIN_VEHICLES :{BLACK}Pokaži detalje vagona
STR_8851_SHOW_CAPACITIES_OF_EACH :{BLACK}Pokaži nosivosti svakog vagona
STR_8852_SHOW_TOTAL_CARGO :{BLACK}Pokaži ukupnu nosivost vlaka podijeljenu prema vrsti tereta
STR_SHOW_TOTAL_CARGO :{BLACK}Pokaži ukupnu nosivost vlaka podijeljenu prema vrsti tereta
STR_8852_ORDERS_LIST_CLICK_ON_ORDER :{BLACK}Popis naredbi - klikni na naredbu kako bi ju označio. CTRL + klik klizi na stanicu
STR_8853_SKIP_THE_CURRENT_ORDER :{BLACK}Preskoči trenutnu naredbu i pokreni slijedeću. CTRL + klik preskače na odabranu naredbu
STR_8854_DELETE_THE_HIGHLIGHTED :{BLACK}Obriši označenu naredbu
@@ -2783,8 +2771,8 @@ STR_8868_TRAIN_CRASH_DIE_IN_FIREBALL :{BLACK}{BIGFONT
STR_8869_CAN_T_REVERSE_DIRECTION :{WHITE}Nije moguće promijeniti smjer vlaka...
STR_886A_RENAME_TRAIN_VEHICLE_TYPE :{WHITE}Preimenuj vrstu vagona
STR_886B_CAN_T_RENAME_TRAIN_VEHICLE :{WHITE}Nije moguće preimenovati vrstu vagona...
STR_886D_MAKE_THE_HIGHLIGHTED_ORDER :{BLACK}Napravi da označena naredba prisili vozilo da izbaci teret
STR_886F_TRANSFER :{BLACK}Transfer
STR_MAKE_THE_HIGHLIGHTED_ORDER :{BLACK}Napravi da označena naredba prisili vozilo da izbaci teret
STR_TRANSFER :{BLACK}Transfer
STR_CLEAR_TIME :{BLACK}Obriši vrijeme
STR_RESET_LATENESS :{BLACK}Poništi Brojač Kašnjenja
@@ -2862,8 +2850,8 @@ STR_902D_CAN_T_NAME_ROAD_VEHICLE :{WHITE}Nije mog
STR_902E_NAME_ROAD_VEHICLE :{BLACK}Imenuj cestovno vozilo
STR_902F_CITIZENS_CELEBRATE_FIRST :{BLACK}{BIGFONT}Građani slave . . .{}Prvi bus je stigao na {STATION}!
STR_9030_CITIZENS_CELEBRATE_FIRST :{BLACK}{BIGFONT}Građani slave . . .{}Prvi kamion je stigao na {STATION}!
STR_902F_CITIZENS_CELEBRATE_FIRST_TRAM :{BLACK}{BIGFONT}Građani slave . . .{}Prvi putnički tramvaj je stigao na {STATION}!
STR_9030_CITIZENS_CELEBRATE_FIRST_TRAM :{BLACK}{BIGFONT}Građani slave . . .{}Prvi teretni tramvaj je stigao na {STATION}!
STR_CITIZENS_CELEBRATE_FIRST_PASSENGER_TRAM :{BLACK}{BIGFONT}Građani slave . . .{}Prvi putnički tramvaj je stigao na {STATION}!
STR_CITIZENS_CELEBRATE_FIRST_CARGO_TRAM :{BLACK}{BIGFONT}Građani slave . . .{}Prvi teretni tramvaj je stigao na {STATION}!
STR_9031_ROAD_VEHICLE_CRASH_DRIVER :{BLACK}{BIGFONT}Sudar cestovnog vozila!{}Vozač poginuo u eksploziji nakon sudara s vlakom
STR_9032_ROAD_VEHICLE_CRASH_DIE :{BLACK}{BIGFONT}Sudar cestovnog vozila!{}{COMMA} poginulih u eksploziji nakon sudara s vlakom
STR_9033_CAN_T_MAKE_VEHICLE_TURN :{WHITE}Nije moguće natjerati vozilo da se okrene...
@@ -2872,7 +2860,7 @@ STR_9034_RENAME :{BLACK}Preimenu
STR_9035_RENAME_ROAD_VEHICLE_TYPE :{BLACK}Preimenuj vrstu cestovnog vozila
STR_9036_RENAME_ROAD_VEHICLE_TYPE :{WHITE}Preimenuj vrstu cestovnog vozila
STR_9037_CAN_T_RENAME_ROAD_VEHICLE :{WHITE}Nije moguće preimenovati vrstu cestovnog vozila...
STR_9038_GO_TO_ROADVEH_DEPOT :Idi prema spremištu cestovnih vozila grada {TOWN}
STR_GO_TO_ROADVEH_DEPOT :Idi prema spremištu cestovnih vozila grada {TOWN}
STR_SERVICE_AT_ROADVEH_DEPOT :Servisiranje u spremištu cestovnih vozila grada {TOWN}
STR_REFIT_ROAD_VEHICLE_TO_CARRY :{BLACK}Prenamijeni cestovno vozilo za prijevoz neke druge vrste tereta
@@ -3246,6 +3234,9 @@ STR_PURCHASE_INFO_ALL_TYPES :Sve vrste teret
STR_PURCHASE_INFO_ALL_BUT :Sve osim {GOLD}
STR_PURCHASE_INFO_MAX_TE :{BLACK} Maks. vučni napor: {GOLD}{FORCE}
########### For showing numbers in widgets
########### String for New Landscape Generator
STR_GENERATE :{WHITE}Izradi
@@ -3273,7 +3264,6 @@ STR_HEIGHTMAP_SCALE_WARNING_CAPTION :{WHITE}Upozoren
STR_HEIGHTMAP_SCALE_WARNING_MESSAGE :{YELLOW}Prekomjerna promjena veličine mape nije preporučena. Nastaviti sa kreiranjem?
STR_TOWN_LAYOUT_WARNING_CAPTION :{WHITE}Upozorenje na raspored grada
STR_TOWN_LAYOUT_WARNING_MESSAGE :{YELLOW}Raspored grada s opcijom "nema više cesti" nije preporučen. Nastaviti s generiranjem?
STR_SNOW_LINE_HEIGHT_NUM :{NUM}
STR_HEIGHTMAP_NAME :{BLACK}Ime heightmape:
STR_HEIGHTMAP_SIZE :{BLACK}Veličina: {ORANGE}{NUM} x {NUM}
STR_GENERATION_WORLD :{WHITE}Izrada svijeta u toku...
@@ -3299,7 +3289,6 @@ STR_FLAT_WORLD_HEIGHT_DOWN :{BLACK}Snizi ra
STR_FLAT_WORLD_HEIGHT_UP :{BLACK}Povisi ravnu površinu za jedan korak
STR_FLAT_WORLD_HEIGHT_QUERY_CAPT :{WHITE}Promijeni visinu ravne površine
STR_FLAT_WORLD_HEIGHT :{BLACK}Visina ravne površine:
STR_FLAT_WORLD_HEIGHT_NUM :{NUM}
STR_SMALLMAP_CENTER :{BLACK}Centriraj malu mapu na trenutni položaj
STR_SMALLMAP_INDUSTRY :{TINYFONT}{STRING} ({NUM})
+71 -75
View File
@@ -17,8 +17,7 @@ STR_EMPTY :
STR_0007_FLAT_LAND_REQUIRED :{WHITE}Je potřeba plochá země
STR_0008_WAITING :{BLACK}Čeká tu: {WHITE}{STRING}
STR_0009 :{WHITE}{CARGO}
STR_000A_EN_ROUTE_FROM :{WHITE}{CARGO}{YELLOW} (na cestě z
STR_000B :{YELLOW}{STATION})
STR_EN_ROUTE_FROM :{YELLOW}({SHORTCARGO} na cestě z{NBSP}{STATION})
STR_000C_ACCEPTS :{BLACK}Přijímá: {WHITE}
STR_000D_ACCEPTS :{BLACK}Přijímá: {GOLD}
STR_000E :
@@ -332,9 +331,9 @@ STR_0130_RENAME :{BLACK}Přejmen
STR_0131_TOO_MANY_NAMES_DEFINED :{WHITE}Definováno příliš mnoho jmen
STR_0132_CHOSEN_NAME_IN_USE_ALREADY :{WHITE}Zvolené jméno se už používá
STR_0133_WINDOWS :Windows
STR_0134_UNIX :Unixu
STR_0135_OSX :OS X
STR_OSNAME_WINDOWS :Windows
STR_OSNAME_UNIX :Unixu
STR_OSNAME_OSX :OS X
STR_OSNAME_BEOS :BeOS
STR_OSNAME_MORPHOS :MorphOS
STR_OSNAME_AMIGAOS :AmigaOS
@@ -345,11 +344,11 @@ STR_013B_OWNED_BY :{WHITE}... vlas
STR_013C_CARGO :{BLACK}Náklad
STR_013D_INFORMATION :{BLACK}Informace
STR_013E_CAPACITIES :{BLACK}Kapacity
STR_013E_TOTAL_CARGO :{BLACK}Celkový náklad
STR_TOTAL_CARGO :{BLACK}Celkový náklad
STR_013F_CAPACITY :{BLACK}Kapacita: {LTBLUE}{CARGO}
STR_CAPACITY_MULT :{BLACK}Kapacita: {LTBLUE}{CARGO} (x{NUM})
STR_013F_TOTAL_CAPACITY_TEXT :{BLACK}Celková kapacita tohoto vlaku:
STR_013F_TOTAL_CAPACITY :{LTBLUE}- {CARGO} ({SHORTCARGO})
STR_TOTAL_CAPACITY_TEXT :{BLACK}Celková kapacita tohoto vlaku:
STR_TOTAL_CAPACITY :{LTBLUE}- {CARGO} ({SHORTCARGO})
STR_TOTAL_CAPACITY_MULT :{LTBLUE}- {CARGO} ({SHORTCARGO}) (x{NUM})
STR_0140_NEW_GAME :{BLACK}Nová hra
STR_0141_LOAD_GAME :{BLACK}Nahrát hru
@@ -357,12 +356,6 @@ STR_SINGLE_PLAYER :{BLACK}1 hráč
STR_MULTIPLAYER :{BLACK}Více hráčů
STR_SCENARIO_EDITOR :{BLACK}Editor scénáře
STR_64 :64
STR_128 :128
STR_256 :256
STR_512 :512
STR_1024 :1024
STR_2048 :2048
STR_MAPSIZE :{BLACK}Velikost mapy:
STR_BY :{BLACK}*
STR_0148_GAME_OPTIONS :{BLACK}Možnosti hry
@@ -790,11 +783,12 @@ STR_028D_PLACE_LIGHTHOUSE :{BLACK}Umístit
STR_028E_PLACE_TRANSMITTER :{BLACK}Umístit vysílač
STR_028F_DEFINE_DESERT_AREA :{BLACK}Vytvořit pouštní oblast{}Stiskem CTRL ji odstraníš
STR_CREATE_LAKE :{BLACK}Vytvořit vodní plochu.{}Pokud není držen CTRL, vytvoří se na úrovni moře průplav; v opačném případě se zaplaví ostatní dílky
STR_CREATE_RIVER :{BLACK}Vytvořit řeky.
STR_0290_DELETE :{BLACK}Smaž
STR_0291_DELETE_THIS_TOWN_COMPLETELY :{BLACK}Smazat celé toto město
STR_0292_SAVE_SCENARIO :Uložit mapu
STR_0293_LOAD_SCENARIO :Otevřit mapu
STR_LOAD_HEIGHTMAP :Použít výškovou mapu
STR_MENU_LOAD_HEIGHTMAP :Použít výškovou mapu
STR_0294_QUIT_EDITOR :Ukončit editor
STR_0295 :
STR_0296_QUIT :Ukončit
@@ -834,9 +828,9 @@ STR_02C2_SAVE_CUSTOMIZED_VEHICLE :{BLACK}Uložit
STR_CHECKMARK :{CHECKMARK}
############ range for menu starts
STR_02C3_GAME_OPTIONS :Možnosti hry
STR_02C5_DIFFICULTY_SETTINGS :Nastavení obtížnosti
STR_02C7_CONFIG_PATCHES :Nastavení patchů
STR_02C4_GAME_OPTIONS :Možnosti hry
STR_02C6_DIFFICULTY_SETTINGS :Nastavení obtížnosti
STR_MENU_CONFIG_PATCHES :Nastavení patchů
STR_NEWGRF_SETTINGS :Nastavení newgrf
STR_TRANSPARENCY_OPTIONS :Nastavení průhlednosti
STR_GAMEOPTMENU_0A :
@@ -936,8 +930,8 @@ STR_SAVING_GAME :{RED}* * UKL
STR_SAVE_STILL_IN_PROGRESS :{WHITE}Ukládání ještě běží,{}počkej prosím, než doběhne!
STR_0330_SELECT_EZY_STREET_STYLE :{BLACK}Zvolit 'Ezy Street style music' program
STR_0335_6 :{BLACK}6
STR_0336_7 :{BLACK}7
STR_6 :{BLACK}6
STR_7 :{BLACK}7
############ start of townname region
STR_TOWNNAME_ORIGINAL_ENGLISH :Anglická (původní)
@@ -1113,7 +1107,6 @@ STR_CONFIG_PATCHES_BRIBE :{LTBLUE}Povolit
STR_CONFIG_PATCHES_ALLOW_EXCLUSIVE :{LTBLUE}Umožnit kupování výhradních přepravních práv: {ORANGE}{STRING}
STR_CONFIG_PATCHES_ALLOW_GIVE_MONEY :{LTBLUE}Umožnit zasílání peněz ostatním společnostem: {ORANGE}{STRING}
STR_CONFIG_PATCHES_NONUNIFORM_STATIONS :{LTBLUE}Nejednolité stanice: {ORANGE}{STRING}
STR_CONFIG_PATCHES_NEW_PATHFINDING_ALL :{LTBLUE}Nový globální algoritmus hledání cesty (NPF, nahradí NTP): {ORANGE}{STRING}
STR_CONFIG_PATCHES_FREIGHT_TRAINS :{LTBLUE}Pro simulaci těžkých vlaků vynásobit hmotnost nákladu: {ORANGE}{STRING}x
STR_CONFIG_PATCHES_STOP_ON_TOWN_ROAD :{LTBLUE}Povolit průjezdné zastávky na silnicích vlastněných obcemi: {ORANGE}{STRING}
STR_CONFIG_PATCHES_ADJACENT_STATIONS :{LTBLUE}Povolit stavění přilehlých stanic: {ORANGE}{STRING}
@@ -1268,9 +1261,6 @@ STR_CONFIG_PATCHES_CURRENCY :{CURRENCY}
STR_CONFIG_PATCHES_QUERY_CAPT :{WHITE}Změnit hodnotu nastavení
STR_CONFIG_PATCHES_SERVICE_INTERVAL_INCOMPATIBLE :{WHITE}Některé nebo všechny základní intervaly servisů níže nesouhlasí s vybraným nastavením! 5-90 % nebo 30-800 dní jsou platné hodnoty
STR_CONFIG_PATCHES_YAPF_SHIPS :{LTBLUE}Používat YAPF ("opět další pathfinder") pro lodě: {ORANGE}{STRING}
STR_CONFIG_PATCHES_YAPF_ROAD :{LTBLUE}Používat YAPF pro silniční vozidla: {ORANGE}{STRING}
STR_CONFIG_PATCHES_YAPF_RAIL :{LTBLUE}Používat YAPF pro vlaky: {ORANGE}{STRING}
STR_TEMPERATE_LANDSCAPE :krajina mírného pásma
STR_SUB_ARCTIC_LANDSCAPE :subarktická krajina
@@ -1712,42 +1702,42 @@ STR_MUST_REMOVE_RAILWAY_STATION_FIRST :{WHITE}Je nejpr
STR_1801_MUST_REMOVE_ROAD_FIRST :{WHITE}Musíš nejprve odstranit silnici
STR_ROAD_WORKS_IN_PROGRESS :{WHITE}Silnice je v rekonstrukci
STR_1802_ROAD_CONSTRUCTION :{WHITE}Výstavba silnic
STR_1802_TRAMWAY_CONSTRUCTION :{WHITE}Výstavba tramvajové tratě
STR_WHITE_TRAMWAY_CONSTRUCTION :{WHITE}Výstavba tramvajové tratě
STR_1803_SELECT_ROAD_BRIDGE :{WHITE}Zvolit silniční most
STR_ERR_ONEWAY_ROADS_CAN_T_HAVE_JUNCTION :{WHITE}... na jednosměrných silnicích nemůžou být křižovatky
STR_1804_CAN_T_BUILD_ROAD_HERE :{WHITE}Zde nemohu postavit silnici...
STR_1804_CAN_T_BUILD_TRAMWAY_HERE :{WHITE}Zde není možné postavit tramvajovou trať...
STR_CAN_T_BUILD_TRAMWAY_HERE :{WHITE}Zde není možné postavit tramvajovou trať...
STR_1805_CAN_T_REMOVE_ROAD_FROM :{WHITE}Nemohu odsud odstranit silnici
STR_1805_CAN_T_REMOVE_TRAMWAY_FROM :{WHITE}Není možné odsud odstranit tramvajovou trať...
STR_CAN_T_REMOVE_TRAMWAY_FROM :{WHITE}Není možné odsud odstranit tramvajovou trať...
STR_1806_ROAD_DEPOT_ORIENTATION :{WHITE}Orientace garáže
STR_1806_TRAM_DEPOT_ORIENTATION :{WHITE}Orientace tramvajového depa
STR_TRAM_DEPOT_ORIENTATION :{WHITE}Orientace tramvajového depa
STR_1807_CAN_T_BUILD_ROAD_VEHICLE :{WHITE}Tady nejde postavit garáž
STR_1807_CAN_T_BUILD_TRAM_VEHICLE :{WHITE}Zde není možné postavit depo pro tramvaje...
STR_CAN_T_BUILD_TRAM_VEHICLE :{WHITE}Zde není možné postavit depo pro tramvaje...
STR_1808_CAN_T_BUILD_BUS_STATION :{WHITE}Nemohu postavit autobusovou stanici...
STR_1809_CAN_T_BUILD_TRUCK_STATION :{WHITE}Nemohu postavit nákladovou rampu...
STR_1808_CAN_T_BUILD_PASSENGER_TRAM_STATION :{WHITE}Není možné postavit tramvajovou stanici pro cestující...
STR_1809_CAN_T_BUILD_CARGO_TRAM_STATION :{WHITE}Není možné postavit tramvajovou stanici pro cestující...
STR_CAN_T_BUILD_PASSENGER_TRAM_STATION :{WHITE}Není možné postavit tramvajovou stanici pro cestující...
STR_CAN_T_BUILD_CARGO_TRAM_STATION :{WHITE}Není možné postavit tramvajovou stanici pro cestující...
STR_180A_ROAD_CONSTRUCTION :Výstavba silnic
STR_180A_TRAMWAY_CONSTRUCTION :Výstavba tramvajové tratě
STR_TRAMWAY_CONSTRUCTION :Výstavba tramvajové tratě
STR_180B_BUILD_ROAD_SECTION :{BLACK}Postavit silnici
STR_BUILD_AUTOROAD_TIP :{BLACK}Postavit úsek silnice pomocí módu Autoroad
STR_180B_BUILD_TRAMWAY_SECTION :{BLACK}Položit kus kolejí pro tramvaje
STR_BUILD_TRAMWAY_SECTION :{BLACK}Položit kus kolejí pro tramvaje
STR_BUILD_AUTOTRAM_TIP :{BLACK}Postavit úsek tramvajové tratě pomocí módu Autoroad
STR_180C_BUILD_ROAD_VEHICLE_DEPOT :{BLACK}Postavit garáž (pro nákup a servis vozidel)
STR_180C_BUILD_TRAM_VEHICLE_DEPOT :{BLACK}Vystavět tramvajové depo (na kupování a servis tramvají)
STR_BUILD_TRAM_VEHICLE_DEPOT :{BLACK}Vystavět tramvajové depo (na kupování a servis tramvají)
STR_180D_BUILD_BUS_STATION :{BLACK}Postavit autobusovou stanici
STR_180E_BUILD_TRUCK_LOADING_BAY :{BLACK}Postavit nákladovou rampu
STR_180D_BUILD_PASSENGER_TRAM_STATION :{BLACK}Postavit tramvajovou stanici pro cestující
STR_180E_BUILD_CARGO_TRAM_STATION :{BLACK}Postavit nákladní tramvajovou stanici
STR_BUILD_PASSENGER_TRAM_STATION :{BLACK}Postavit tramvajovou stanici pro cestující
STR_BUILD_CARGO_TRAM_STATION :{BLACK}Postavit nákladní tramvajovou stanici
STR_180F_BUILD_ROAD_BRIDGE :{BLACK}Postavit silniční most
STR_180F_BUILD_TRAMWAY_BRIDGE :{BLACK}Postavit tramvajový most
STR_BUILD_TRAMWAY_BRIDGE :{BLACK}Postavit tramvajový most
STR_1810_BUILD_ROAD_TUNNEL :{BLACK}Postavit silniční tunel
STR_1810_BUILD_TRAMWAY_TUNNEL :{BLACK}Postavit tramvajový tunel
STR_BUILD_TRAMWAY_TUNNEL :{BLACK}Postavit tramvajový tunel
STR_TOGGLE_ONE_WAY_ROAD :{BLACK}Povolit / zakázat jednosměrné silnice
STR_1811_TOGGLE_BUILD_REMOVE_FOR :{BLACK}Přepnout stavba / odstranění silnice
STR_1811_TOGGLE_BUILD_REMOVE_FOR_TRAMWAYS :{BLACK}Přepínání mezi výstavbou a bouráním tramvajové tratě
STR_TOGGLE_BUILD_REMOVE_FOR_TRAMWAYS :{BLACK}Přepínání mezi výstavbou a bouráním tramvajové tratě
STR_1813_SELECT_ROAD_VEHICLE_DEPOT :{BLACK}Výběr orientace garáže
STR_1813_SELECT_TRAM_VEHICLE_DEPOT :{BLACK}Zvol směr tramvajového depa
STR_SELECT_TRAM_VEHICLE_DEPOT :{BLACK}Zvol směr tramvajového depa
STR_1814_ROAD :Silnice
STR_1815_ROAD_WITH_STREETLIGHTS :Silnice s pouličním osvětlením
STR_1816_TREE_LINED_ROAD :Silnice s alejí
@@ -1890,8 +1880,8 @@ STR_3005_TOO_CLOSE_TO_ANOTHER_RAILROAD :{WHITE}Příli
STR_3006_ADJOINS_MORE_THAN_ONE_EXISTING :{WHITE}Spojuje více jak jedno existující nádraží nebo nákladovou rampu...
STR_3007_TOO_MANY_STATIONS_LOADING :{WHITE}Příliš mnoho nádraží nebo nákladových ramp v tomto městě
STR_3008_TOO_MANY_STATIONS_LOADING :{WHITE}Příliš mnoho nádraží nebo nákladových ramp
STR_3008A_TOO_MANY_BUS_STOPS :{WHITE}Příliš mnoho autobusových zastávek
STR_3008B_TOO_MANY_TRUCK_STOPS :{WHITE}Příliš mnoho zastávek nákladních automobilů
STR_TOO_MANY_BUS_STOPS :{WHITE}Příliš mnoho autobusových zastávek
STR_TOO_MANY_TRUCK_STOPS :{WHITE}Příliš mnoho zastávek nákladních automobilů
STR_3009_TOO_CLOSE_TO_ANOTHER_STATION :{WHITE}Příliš blízko k jinému nádraží nebo nákladové rampě
STR_300A_0 :{WHITE}{STATION} {STATIONFEATURES}
STR_300B_MUST_DEMOLISH_RAILROAD :{WHITE}Musíš nejprve zničit stanici
@@ -1922,12 +1912,12 @@ STR_3040_NOW_ACCEPTS :{WHITE}{STATION
STR_3041_NOW_ACCEPTS_AND :{WHITE}{STATION} nyní přijímá {STRING} a {STRING}
STR_3042_BUS_STATION_ORIENTATION :{WHITE}Orientace autobusové zastávky.
STR_3043_TRUCK_STATION_ORIENT :{WHITE}Orientace nákladové rampy
STR_3042_PASSENGER_TRAM_STATION_ORIENTATION :{WHITE}Orientace tramvajové stanice pro cestující
STR_3043_CARGO_TRAM_STATION_ORIENT :{WHITE}Orientace nákladní tramvajové stanice
STR_PASSENGER_TRAM_STATION_ORIENTATION :{WHITE}Orientace tramvajové stanice pro cestující
STR_CARGO_TRAM_STATION_ORIENT :{WHITE}Orientace nákladní tramvajové stanice
STR_3046_MUST_DEMOLISH_BUS_STATION :{WHITE}Musíš nejprve zničit autobusovou zastávku
STR_3047_MUST_DEMOLISH_TRUCK_STATION :{WHITE}Musíš nejprve zničit nákladovou rampu
STR_3046_MUST_DEMOLISH_PASSENGER_TRAM_STATION :{WHITE}Je nutné nejdříve zbourat tramvajovou stanici pro cestující
STR_3047_MUST_DEMOLISH_CARGO_TRAM_STATION :{WHITE}Je nutné nejdříve zbourat nákladní tramvajovou stanici
STR_MUST_DEMOLISH_PASSENGER_TRAM_STATION :{WHITE}Je nutné nejdříve zbourat tramvajovou stanici pro cestující
STR_MUST_DEMOLISH_CARGO_TRAM_STATION :{WHITE}Je nutné nejdříve zbourat nákladní tramvajovou stanici
STR_3048_STATIONS :{WHITE}{COMPANY} - {COMMA} stanic{P e e ""}
STR_3049_0 :{YELLOW}{STATION} {STATIONFEATURES}
STR_304A_NONE :{YELLOW}- Nic -
@@ -1939,8 +1929,8 @@ STR_304F_SELECT_NUMBER_OF_PLATFORMS :{BLACK}Zvolit p
STR_3050_SELECT_LENGTH_OF_RAILROAD :{BLACK}Zvolit délku nádraží
STR_3051_SELECT_BUS_STATION_ORIENTATION :{BLACK}Zvolit orientaci autobusové zastávky
STR_3052_SELECT_TRUCK_LOADING_BAY :{BLACK}Zvolit orientaci nákladové rampy
STR_3051_SELECT_PASSENGER_TRAM_STATION_ORIENTATION :{BLACK}Vyber směr tramvajové stanice pro cestující
STR_3052_SELECT_CARGO_TRAM_STATION_ORIENTATION :{BLACK}Vyber směr nákladní tramvajové stanice
STR_SELECT_PASSENGER_TRAM_STATION_ORIENTATION :{BLACK}Vyber směr tramvajové stanice pro cestující
STR_SELECT_CARGO_TRAM_STATION_ORIENTATION :{BLACK}Vyber směr nákladní tramvajové stanice
STR_3053_CENTER_MAIN_VIEW_ON_STATION :{BLACK}Vycentrovat pohled na stanici
STR_3054_SHOW_STATION_RATINGS :{BLACK}Ukázat hodnocení společností
STR_3055_CHANGE_NAME_OF_STATION :{BLACK}Změnit jméno stanice
@@ -1962,7 +1952,7 @@ STR_3068_DOCK :{WHITE}Přísta
STR_3069_BUOY :Bójka
STR_306A_BUOY_IN_THE_WAY :{WHITE}... bójka v cestě
STR_306C_STATION_TOO_SPREAD_OUT :{WHITE}... stanice je příliš rozložitá
STR_306D_NONUNIFORM_STATIONS_DISALLOWED :{WHITE}... nejednolité stanice nejsou povoleny
STR_NONUNIFORM_STATIONS_DISALLOWED :{WHITE}... nejednolité stanice nejsou povoleny
STR_USE_CTRL_TO_SELECT_MORE :{BLACK}Podržením CTRL můžeš označit více položek
STR_UNDEFINED :(nedefinovaný řetězec)
@@ -2003,7 +1993,7 @@ STR_400D_SAVE_THE_CURRENT_GAME_USING :{BLACK}Uložit
STR_400E_SELECT_NEW_GAME_TYPE :{WHITE}Zvolit nový typ hry
STR_400F_SELECT_SCENARIO_GREEN_PRE :{BLACK}Zvolit scénář (zelená), přednastavenou hru (modrá), nebo novou náhodnou hru
STR_4010_GENERATE_RANDOM_NEW_GAME :Vytvořit novou náhodnou hru
STR_4011_LOAD_HEIGHTMAP :{WHITE}Nahrát výškovou mapu
STR_LOAD_HEIGHTMAP :{WHITE}Nahrát výškovou mapu
##id 0x4800
STR_4800_IN_THE_WAY :{WHITE}{STRING} v cestě
@@ -2207,10 +2197,10 @@ STR_6812_QUANTITY_OF_SEA_LAKES :{LTBLUE}Kvantit
STR_6813_ECONOMY :{LTBLUE}Ekonomika: {ORANGE}{STRING}
STR_6814_TRAIN_REVERSING :{LTBLUE}Otáčení vlaků: {ORANGE}{STRING}
STR_6815_DISASTERS :{LTBLUE}Katastrofy: {ORANGE}{STRING}
STR_16816_CITY_APPROVAL :{LTBLUE}Postoj místní rady k (terénním) úpravám kolem města: {ORANGE}{STRING}
STR_CITY_APPROVAL :{LTBLUE}Postoj místní rady k (terénním) úpravám kolem města: {ORANGE}{STRING}
############ range for difficulty settings ends
STR_26816_NONE :žádný
STR_NONE :žádný
STR_NUM_VERY_LOW :velmi nízké
STR_6816_LOW :nízké
STR_6817_NORMAL :střední
@@ -2248,9 +2238,9 @@ STR_6835_AT_END_OF_LINE_ONLY :pouze na konci
STR_6836_OFF :vypnuty
STR_6837_ON :zapnuty
STR_6838_SHOW_HI_SCORE_CHART :{BLACK}Zobraz tabulku nejlepších výsledků
STR_6839_PERMISSIVE :nezaujatý
STR_683A_TOLERANT :tolerantní
STR_683B_HOSTILE :zaujatý
STR_PERMISSIVE :nezaujatý
STR_TOLERANT :tolerantní
STR_HOSTILE :zaujatý
##id 0x7000
STR_7000 :
@@ -2387,7 +2377,7 @@ STR_707B_CAN_T_BUY_25_SHARE_IN_THIS :{WHITE}Nemohu k
STR_707C_CAN_T_SELL_25_SHARE_IN :{WHITE}Nemohu prodat podíl v této společnosti...
STR_707D_OWNED_BY :{WHITE}({COMMA}% vlastněno {COMPANY})
STR_707F_HAS_BEEN_TAKEN_OVER_BY :{BLACK}{BIGFONT}{COMPANY} byla převzata {COMPANY}!
STR_7080_PROTECTED :{WHITE}Tato společnost zatím neobchoduje s akciemi...
STR_PROTECTED :{WHITE}Tato společnost zatím neobchoduje s akciemi...
STR_LIVERY_DEFAULT :Výchozí barva
STR_LIVERY_STEAM :Parní lokomotiva
@@ -2400,6 +2390,8 @@ STR_LIVERY_EMU :EMU
STR_LIVERY_PASSENGER_WAGON_STEAM :Osobní vagon (parní)
STR_LIVERY_PASSENGER_WAGON_DIESEL :Osobní vagon (dieselový)
STR_LIVERY_PASSENGER_WAGON_ELECTRIC :Osobní vagon (elektrický)
STR_LIVERY_PASSENGER_WAGON_MONORAIL :Osobní vagon (monorail)
STR_LIVERY_PASSENGER_WAGON_MAGLEV :Osobní vagon (Maglev)
STR_LIVERY_FREIGHT_WAGON :Nákladní vagon
STR_LIVERY_BUS :Autobus
STR_LIVERY_TRUCK :Nákladní vůz
@@ -2700,17 +2692,17 @@ STR_8803_TRAIN_IN_THE_WAY :{WHITE}V cestě
STR_8804 :{SETX 10}{COMMA}: {STRING} {STRING}
STR_8805 :{RIGHTARROW}{SETX 10}{COMMA}: {STRING} {STRING}
STR_8806_GO_TO :Jet do {STATION}
STR_8807_GO_TO_TRANSFER :Jet do {STATION} (přeložit a naložit jiný náklad)
STR_8808_GO_TO_UNLOAD :Jet do {STATION} (vyložit)
STR_8809_GO_TO_TRANSFER_UNLOAD :Jet do {STATION} (přeložit a nenakládat)
STR_880A_GO_TO_LOAD :Jet do {STATION} (naložit)
STR_880B_GO_TO_TRANSFER_LOAD :Jet do {STATION} (přeložit a plně naložit jiný náklad)
STR_880C_GO_NON_STOP_TO :Jet bez zastavení do {STATION}
STR_880D_GO_TO_NON_STOP_TRANSFER :Jet bez zastavení do {STATION} (přeložit a naložit jiný náklad)
STR_880E_GO_NON_STOP_TO_UNLOAD :Jet bez zastavení do {STATION} (vyložit)
STR_880F_GO_TO_NON_STOP_TRANSFER_UNLOAD :Jet bez zastavení do {STATION} (přeložit a nenakládat)
STR_8810_GO_NON_STOP_TO_LOAD :Jet bez zastavení do {STATION} (naložit)
STR_8811_GO_TO_NON_STOP_TRANSFER_LOAD :Jet bez zastavení do {STATION} (přeložit a plně naložit jiný náklad)
STR_GO_TO_TRANSFER :Jet do {STATION} (přeložit a naložit jiný náklad)
STR_8807_GO_TO_UNLOAD :Jet do {STATION} (vyložit)
STR_GO_TO_TRANSFER_UNLOAD :Jet do {STATION} (přeložit a nenakládat)
STR_8808_GO_TO_LOAD :Jet do {STATION} (naložit)
STR_GO_TO_TRANSFER_LOAD :Jet do {STATION} (přeložit a plně naložit jiný náklad)
STR_880A_GO_NON_STOP_TO :Jet bez zastavení do {STATION}
STR_GO_TO_NON_STOP_TRANSFER :Jet bez zastavení do {STATION} (přeložit a naložit jiný náklad)
STR_880B_GO_NON_STOP_TO_UNLOAD :Jet bez zastavení do {STATION} (vyložit)
STR_GO_TO_NON_STOP_TRANSFER_UNLOAD :Jet bez zastavení do {STATION} (přeložit a nenakládat)
STR_880C_GO_NON_STOP_TO_LOAD :Jet bez zastavení do {STATION} (naložit)
STR_GO_TO_NON_STOP_TRANSFER_LOAD :Jet bez zastavení do {STATION} (přeložit a plně naložit jiný náklad)
STR_GO_TO_TRAIN_DEPOT :Jet do železničního depa v {TOWN}
STR_SERVICE_AT_TRAIN_DEPOT :Údržba v železničním depu {TOWN}
STR_880F_GO_NON_STOP_TO_TRAIN_DEPOT :Jet bez zastavení do železničního depa {TOWN}
@@ -2814,7 +2806,7 @@ STR_884E_DECREASE_SERVICING_INTERVAL :{BLACK}Zkrátit
STR_884F_SHOW_DETAILS_OF_CARGO_CARRIED :{BLACK}Ukázat detaily přepravovaného zboží
STR_8850_SHOW_DETAILS_OF_TRAIN_VEHICLES :{BLACK}Ukázat detaily jednotlivých vagonů
STR_8851_SHOW_CAPACITIES_OF_EACH :{BLACK}Ukázat kapacity jednotlivých vagonů
STR_8852_SHOW_TOTAL_CARGO :{BLACK}Ukázat celkovou kapacitu vlaku, rozdělenou dle nákladu
STR_SHOW_TOTAL_CARGO :{BLACK}Ukázat celkovou kapacitu vlaku, rozdělenou dle nákladu
STR_8852_ORDERS_LIST_CLICK_ON_ORDER :{BLACK}Seznam příkazů - stiskni příkaz pro označení. Kliknutím na příkaz se stisknutým CTRL se nastaví pohled na stanici
STR_8853_SKIP_THE_CURRENT_ORDER :{BLACK}Přeskočit příkaz a jít na další. Pomocí CTRL + kliknutí se přeskočí na vybraný příkaz
STR_8854_DELETE_THE_HIGHLIGHTED :{BLACK}Smazat označený příkaz
@@ -2845,8 +2837,8 @@ STR_8868_TRAIN_CRASH_DIE_IN_FIREBALL :{BLACK}{BIGFONT
STR_8869_CAN_T_REVERSE_DIRECTION :{WHITE}Nelze obrátit vlak...
STR_886A_RENAME_TRAIN_VEHICLE_TYPE :{WHITE}Přejmenovat typ železničního vozidla
STR_886B_CAN_T_RENAME_TRAIN_VEHICLE :{WHITE}Nemohu přejmenovat typ železničního vozidla...
STR_886D_MAKE_THE_HIGHLIGHTED_ORDER :{BLACK}U označeného příkazu vozidlo musí vyložit náklad
STR_886F_TRANSFER :{BLACK}Překládka
STR_MAKE_THE_HIGHLIGHTED_ORDER :{BLACK}U označeného příkazu vozidlo musí vyložit náklad
STR_TRANSFER :{BLACK}Překládka
STR_CLEAR_TIME :{BLACK}Smazat čas
STR_RESET_LATENESS :{BLACK}Smazat ukazatel zpoždění
@@ -2924,8 +2916,8 @@ STR_902D_CAN_T_NAME_ROAD_VEHICLE :{WHITE}Nelze p
STR_902E_NAME_ROAD_VEHICLE :{BLACK}Přejmenovat silniční vozidlo
STR_902F_CITIZENS_CELEBRATE_FIRST :{BLACK}{BIGFONT}Obyvatelé oslavují...{}První autobus přijel do {STATION}!
STR_9030_CITIZENS_CELEBRATE_FIRST :{BLACK}{BIGFONT}Obyvatelé oslavují...{}První nákladní vozidlo přijelo do {STATION}!
STR_902F_CITIZENS_CELEBRATE_FIRST_TRAM :{BLACK}{BIGFONT}Obyvatelé oslavují...{}První tramvaj pro cestující přijela do {STATION}
STR_9030_CITIZENS_CELEBRATE_FIRST_TRAM :{BLACK}{BIGFONT}Obyvatelé oslavují...{}První nákladní tramvaj přijíždí do {STATION}!
STR_CITIZENS_CELEBRATE_FIRST_PASSENGER_TRAM :{BLACK}{BIGFONT}Obyvatelé oslavují...{}První tramvaj pro cestující přijela do {STATION}
STR_CITIZENS_CELEBRATE_FIRST_CARGO_TRAM :{BLACK}{BIGFONT}Obyvatelé oslavují...{}První nákladní tramvaj přijíždí do {STATION}!
STR_9031_ROAD_VEHICLE_CRASH_DRIVER :{BLACK}{BIGFONT}Dopravní nehoda!{}Řidič zahynul v plamenech při srážce s vlakem
STR_9032_ROAD_VEHICLE_CRASH_DIE :{BLACK}{BIGFONT}Dopravní nehoda!{}{COMMA} {P člověk lidé lidí} zahynul{P "" i o} v plamenech při srážce s vlakem
STR_9033_CAN_T_MAKE_VEHICLE_TURN :{WHITE}Nelze otočit vozidlo...
@@ -2934,7 +2926,7 @@ STR_9034_RENAME :{BLACK}Přejmen
STR_9035_RENAME_ROAD_VEHICLE_TYPE :{BLACK}Přejmenovat typ silničního vozidla
STR_9036_RENAME_ROAD_VEHICLE_TYPE :{WHITE}Přejmenovat typ silničního vozidla
STR_9037_CAN_T_RENAME_ROAD_VEHICLE :{WHITE}Nelze přejmenovat typ silničního vozidla...
STR_9038_GO_TO_ROADVEH_DEPOT :Jet do garáže {TOWN}
STR_GO_TO_ROADVEH_DEPOT :Jet do garáže {TOWN}
STR_SERVICE_AT_ROADVEH_DEPOT :Údržba v garáži {TOWN}
STR_REFIT_ROAD_VEHICLE_TO_CARRY :{BLACK}Přestavět silniční vozidlo, aby mohlo vozit jiný druh nákladu
@@ -3308,6 +3300,12 @@ STR_PURCHASE_INFO_ALL_TYPES :Všechny druhy
STR_PURCHASE_INFO_ALL_BUT :Všechny kromě {GOLD}
STR_PURCHASE_INFO_MAX_TE :{BLACK}Max. tažná síla: {GOLD}{FORCE}
########### For showing numbers in widgets
STR_NUM_1 :{BLACK}{SKIP}{NUM}
STR_NUM_2 :{BLACK}{SKIP}{SKIP}{NUM}
STR_NUM_3 :{BLACK}{SKIP}{SKIP}{SKIP}{NUM}
########### String for New Landscape Generator
STR_GENERATE :{WHITE}Vytvořit
@@ -3335,7 +3333,6 @@ STR_HEIGHTMAP_SCALE_WARNING_CAPTION :{WHITE}Varován
STR_HEIGHTMAP_SCALE_WARNING_MESSAGE :{YELLOW}Tak velká zmena velikosti zdrojové mapy není doporučena. Pokračovat s generováním?
STR_TOWN_LAYOUT_WARNING_CAPTION :{WHITE}Varování kvůli vzoru silnic
STR_TOWN_LAYOUT_WARNING_MESSAGE :{YELLOW}Vzor "žádné silnice" není doporučen (nepostaví se ani domy). Pokračovat ve vytváření mapy?
STR_SNOW_LINE_HEIGHT_NUM :{NUM}
STR_HEIGHTMAP_NAME :{BLACK}Jméno výškové mapy:
STR_HEIGHTMAP_SIZE :{BLACK}Velikost: {ORANGE}{NUM} x {NUM}
STR_GENERATION_WORLD :{WHITE}Vytvářím krajinu...
@@ -3361,7 +3358,6 @@ STR_FLAT_WORLD_HEIGHT_DOWN :{BLACK}Snížit
STR_FLAT_WORLD_HEIGHT_UP :{BLACK}Zvednout výšku ploché země o jednu úroveň
STR_FLAT_WORLD_HEIGHT_QUERY_CAPT :{WHITE}Změnit výšku ploché země
STR_FLAT_WORLD_HEIGHT :{BLACK}Výška ploché země:
STR_FLAT_WORLD_HEIGHT_NUM :{NUM}
STR_SMALLMAP_CENTER :{BLACK}Vycentrovat malou mapu na tomto místě
STR_SMALLMAP_INDUSTRY :{TINYFONT}{STRING} ({NUM})
+73 -75
View File
@@ -15,8 +15,7 @@ STR_EMPTY :
STR_0007_FLAT_LAND_REQUIRED :{WHITE}Landskabet skal være fladt
STR_0008_WAITING :{BLACK}Venter: {WHITE}{STRING}
STR_0009 :{WHITE}{CARGO}
STR_000A_EN_ROUTE_FROM :{WHITE}{CARGO}{YELLOW} (på vej fra
STR_000B :{YELLOW}{STATION})
STR_EN_ROUTE_FROM :{YELLOW}({SHORTCARGO} undervejs fra {STATION})
STR_000C_ACCEPTS :{BLACK}Accepterer: {WHITE}
STR_000D_ACCEPTS :{BLACK}Accepterer: {GOLD}
STR_000E :
@@ -274,9 +273,9 @@ STR_0130_RENAME :{BLACK}Omdøb
STR_0131_TOO_MANY_NAMES_DEFINED :{WHITE}For mange navne defineret
STR_0132_CHOSEN_NAME_IN_USE_ALREADY :{WHITE}Valgte navn bruges allerede
STR_0133_WINDOWS :Windows
STR_0134_UNIX :Unix
STR_0135_OSX :OS X
STR_OSNAME_WINDOWS :Windows
STR_OSNAME_UNIX :Unix
STR_OSNAME_OSX :OS X
STR_OSNAME_BEOS :BeOS
STR_OSNAME_MORPHOS :MorphOS
STR_OSNAME_AMIGAOS :AmigaOS
@@ -287,11 +286,11 @@ STR_013B_OWNED_BY :{WHITE}...ejes
STR_013C_CARGO :{BLACK}Last
STR_013D_INFORMATION :{BLACK}Information
STR_013E_CAPACITIES :{BLACK}Lasteevner
STR_013E_TOTAL_CARGO :{BLACK}Samlet last
STR_TOTAL_CARGO :{BLACK}Samlet last
STR_013F_CAPACITY :{BLACK}Lasteevne: {LTBLUE}{CARGO}
STR_CAPACITY_MULT :{BLACK}Kapacitet: {LTBLUE}{CARGO} (x{NUM})
STR_013F_TOTAL_CAPACITY_TEXT :{BLACK}Samlet last (lasteevne) på dette tog:
STR_013F_TOTAL_CAPACITY :{LTBLUE}- {CARGO} ({SHORTCARGO})
STR_TOTAL_CAPACITY_TEXT :{BLACK}Samlet last (lasteevne) på dette tog:
STR_TOTAL_CAPACITY :{LTBLUE}- {CARGO} ({SHORTCARGO})
STR_TOTAL_CAPACITY_MULT :{LTBLUE}- {CARGO} ({SHORTCARGO}) (x{NUM})
STR_0140_NEW_GAME :{BLACK}Nyt spil
STR_0141_LOAD_GAME :{BLACK}Hent spil
@@ -299,12 +298,6 @@ STR_SINGLE_PLAYER :{BLACK}En spill
STR_MULTIPLAYER :{BLACK}Netværksspil
STR_SCENARIO_EDITOR :{BLACK}Scenarieeditor
STR_64 :64
STR_128 :128
STR_256 :256
STR_512 :512
STR_1024 :1024
STR_2048 :2048
STR_MAPSIZE :{BLACK}Kortstørrelse:
STR_BY :{BLACK}*
STR_0148_GAME_OPTIONS :{BLACK}Spilvalg
@@ -732,11 +725,12 @@ STR_028D_PLACE_LIGHTHOUSE :{BLACK}Placér
STR_028E_PLACE_TRANSMITTER :{BLACK}Placér sender
STR_028F_DEFINE_DESERT_AREA :{BLACK}Definer ørkenområde.{}Hold CTRL nede for at fjerne det
STR_CREATE_LAKE :{BLACK}Definer vandområde.{}Lav en kanal, med mindre CTRL-tasten holdes ved havniveau, hvorved omgivelserne oversvømmes i stedet
STR_CREATE_RIVER :{BLACK}Placér floder.
STR_0290_DELETE :{BLACK}Slet
STR_0291_DELETE_THIS_TOWN_COMPLETELY :{BLACK}Slet denne by fuldstændigt
STR_0292_SAVE_SCENARIO :Gem scenarie
STR_0293_LOAD_SCENARIO :Hent scenarie
STR_LOAD_HEIGHTMAP :Hent højdekort
STR_MENU_LOAD_HEIGHTMAP :Hent højdekort
STR_0294_QUIT_EDITOR :Afslut editoren
STR_0295 :
STR_0296_QUIT :Afslut
@@ -776,9 +770,9 @@ STR_02C2_SAVE_CUSTOMIZED_VEHICLE :{BLACK}Gem brug
STR_CHECKMARK :{CHECKMARK}
############ range for menu starts
STR_02C3_GAME_OPTIONS :Spilvalg
STR_02C5_DIFFICULTY_SETTINGS :Sværhedsgrad
STR_02C7_CONFIG_PATCHES :Indstil programrettelser
STR_02C4_GAME_OPTIONS :Spilvalg
STR_02C6_DIFFICULTY_SETTINGS :Sværhedsgrad
STR_MENU_CONFIG_PATCHES :Indstil programrettelser
STR_NEWGRF_SETTINGS :NewGRF indstillinger
STR_TRANSPARENCY_OPTIONS :Gennemsigtighedsvalg
STR_GAMEOPTMENU_0A :
@@ -878,8 +872,8 @@ STR_SAVING_GAME :{RED}* * GEMM
STR_SAVE_STILL_IN_PROGRESS :{WHITE}Gemmer stadig,{}vent venligst!
STR_0330_SELECT_EZY_STREET_STYLE :{BLACK}Vælg 'Ezy Street musik' program
STR_0335_6 :{BLACK}6
STR_0336_7 :{BLACK}7
STR_6 :{BLACK}6
STR_7 :{BLACK}7
############ start of townname region
STR_TOWNNAME_ORIGINAL_ENGLISH :Engelske
@@ -941,6 +935,7 @@ STR_OPTIONS_LANG_TIP :{BLACK}Vælg sp
STR_OPTIONS_FULLSCREEN :{BLACK}Fuld skærm
STR_OPTIONS_FULLSCREEN_TIP :{BLACK}Afkryds for at spille OpenTTD i fuld skærm
STR_FULLSCREEN_FAILED :{WHITE}Fuldskærmstilstand fejlede
STR_OPTIONS_RES :{BLACK}Skærmopløsning
STR_OPTIONS_RES_CBO :{BLACK}{SKIP}{SKIP}{SKIP}{SKIP}{SKIP}{SKIP}{SKIP}{STRING}
@@ -1054,7 +1049,6 @@ STR_CONFIG_PATCHES_BRIBE :{LTBLUE}Tillad
STR_CONFIG_PATCHES_ALLOW_EXCLUSIVE :{LTBLUE}Tillad køb af eksklusive transportrettigheder: {ORANGE}{STRING}
STR_CONFIG_PATCHES_ALLOW_GIVE_MONEY :{LTBLUE}Tillad at sende penge til andre firmaer: {ORANGE}{STRING}
STR_CONFIG_PATCHES_NONUNIFORM_STATIONS :{LTBLUE}Ikke uniforme stationer: {ORANGE}{STRING}
STR_CONFIG_PATCHES_NEW_PATHFINDING_ALL :{LTBLUE}Ny global ruteplanlægger (NPF, tilsidesætter NTP): {ORANGE}{STRING}
STR_CONFIG_PATCHES_FREIGHT_TRAINS :{LTBLUE}Vægtfaktor for fragt for at simulere tunge tog: {ORANGE}{STRING}
STR_CONFIG_PATCHES_STOP_ON_TOWN_ROAD :{LTBLUE}Tillad gennemkørsels-stop på veje ejet af en by: {ORANGE}{STRING}
STR_CONFIG_PATCHES_ADJACENT_STATIONS :{LTBLUE}Tillad bygning af tilstødende stationer: {ORANGE}{STRING}
@@ -1209,9 +1203,6 @@ STR_CONFIG_PATCHES_CURRENCY :{CURRENCY}
STR_CONFIG_PATCHES_QUERY_CAPT :{WHITE}Skift indstillingsværdi
STR_CONFIG_PATCHES_SERVICE_INTERVAL_INCOMPATIBLE :{WHITE}Nogle eller alle standard service intervaller nedenunder er uforenelige med den valgte opsætning! 5-90% og 30-800 dage er gyldige
STR_CONFIG_PATCHES_YAPF_SHIPS :{LTBLUE}Brug YAPF for skibe: {ORANGE}{STRING}
STR_CONFIG_PATCHES_YAPF_ROAD :{LTBLUE}Brug YAPF for busser: {ORANGE}{STRING}
STR_CONFIG_PATCHES_YAPF_RAIL :{LTBLUE}Brug YAPF for tog: {ORANGE}{STRING}
STR_TEMPERATE_LANDSCAPE :Tempereret klima
STR_SUB_ARCTIC_LANDSCAPE :Arktisk klima
@@ -1653,42 +1644,42 @@ STR_MUST_REMOVE_RAILWAY_STATION_FIRST :{WHITE}Jernbane
STR_1801_MUST_REMOVE_ROAD_FIRST :{WHITE}Det er nødvendigt at fjerne vejen først
STR_ROAD_WORKS_IN_PROGRESS :{WHITE}Vejarbejde i gang
STR_1802_ROAD_CONSTRUCTION :{WHITE}Vejkonstruktion
STR_1802_TRAMWAY_CONSTRUCTION :{WHITE}Sporvejskonstruktion
STR_WHITE_TRAMWAY_CONSTRUCTION :{WHITE}Sporvejskonstruktion
STR_1803_SELECT_ROAD_BRIDGE :{WHITE}Vælg vejbro
STR_ERR_ONEWAY_ROADS_CAN_T_HAVE_JUNCTION :{WHITE}... ensrettede veje kan ikke have kryds
STR_1804_CAN_T_BUILD_ROAD_HERE :{WHITE}Kan ikke bygge vej her...
STR_1804_CAN_T_BUILD_TRAMWAY_HERE :{WHITE}Kan ikke bygge sporvej her...
STR_CAN_T_BUILD_TRAMWAY_HERE :{WHITE}Kan ikke bygge sporvej her...
STR_1805_CAN_T_REMOVE_ROAD_FROM :{WHITE}Kan ikke fjerne vej herfra...
STR_1805_CAN_T_REMOVE_TRAMWAY_FROM :{WHITE}Kan ikke fjerne sporvej her...
STR_CAN_T_REMOVE_TRAMWAY_FROM :{WHITE}Kan ikke fjerne sporvej her...
STR_1806_ROAD_DEPOT_ORIENTATION :{WHITE}Retning af værksted
STR_1806_TRAM_DEPOT_ORIENTATION :{WHITE}Retning af sporvognsremise
STR_TRAM_DEPOT_ORIENTATION :{WHITE}Retning af sporvognsremise
STR_1807_CAN_T_BUILD_ROAD_VEHICLE :{WHITE}Kan ikke bygge værksted her...
STR_1807_CAN_T_BUILD_TRAM_VEHICLE :{WHITE}Kan ikke bygge sporvognsremise her...
STR_CAN_T_BUILD_TRAM_VEHICLE :{WHITE}Kan ikke bygge sporvognsremise her...
STR_1808_CAN_T_BUILD_BUS_STATION :{WHITE}Kan ikke bygge rutebilstation...
STR_1809_CAN_T_BUILD_TRUCK_STATION :{WHITE}Kan ikke bygge fragtcentral...
STR_1808_CAN_T_BUILD_PASSENGER_TRAM_STATION :{WHITE}Kan ikke bygge passager-sporvognsstation...
STR_1809_CAN_T_BUILD_CARGO_TRAM_STATION :{WHITE}Kan ikke bygge fragt-sporvognsstation...
STR_CAN_T_BUILD_PASSENGER_TRAM_STATION :{WHITE}Kan ikke bygge passager-sporvognsstation...
STR_CAN_T_BUILD_CARGO_TRAM_STATION :{WHITE}Kan ikke bygge fragt-sporvognsstation...
STR_180A_ROAD_CONSTRUCTION :Vejkonstruktion
STR_180A_TRAMWAY_CONSTRUCTION :Sporvejskonstruktion
STR_TRAMWAY_CONSTRUCTION :Sporvejskonstruktion
STR_180B_BUILD_ROAD_SECTION :{BLACK}Byg en sektion vej
STR_BUILD_AUTOROAD_TIP :{BLACK}Byg vejsektion ved hjælp af 'Auto-vej'
STR_180B_BUILD_TRAMWAY_SECTION :{BLACK}Byg sporvejssektion
STR_BUILD_TRAMWAY_SECTION :{BLACK}Byg sporvejssektion
STR_BUILD_AUTOTRAM_TIP :{BLACK}Byg sporvejssektion ved hjælp af 'Auto-sporvej'
STR_180C_BUILD_ROAD_VEHICLE_DEPOT :{BLACK}Byg værksted (til bygning og servicering af vejkøretøjer)
STR_180C_BUILD_TRAM_VEHICLE_DEPOT :{BLACK}Byg sporvognsremise (til konstruktion og service af vogne)
STR_BUILD_TRAM_VEHICLE_DEPOT :{BLACK}Byg sporvognsremise (til konstruktion og service af vogne)
STR_180D_BUILD_BUS_STATION :{BLACK}Byg rutebilstation
STR_180E_BUILD_TRUCK_LOADING_BAY :{BLACK}Byg fragtcentral
STR_180D_BUILD_PASSENGER_TRAM_STATION :{BLACK}Byg passager-sporvognsstation
STR_180E_BUILD_CARGO_TRAM_STATION :{BLACK}Byg fragt-sporvognsstation
STR_BUILD_PASSENGER_TRAM_STATION :{BLACK}Byg passager-sporvognsstation
STR_BUILD_CARGO_TRAM_STATION :{BLACK}Byg fragt-sporvognsstation
STR_180F_BUILD_ROAD_BRIDGE :{BLACK}Byg bro
STR_180F_BUILD_TRAMWAY_BRIDGE :{BLACK}Byg sporvejsbro
STR_BUILD_TRAMWAY_BRIDGE :{BLACK}Byg sporvejsbro
STR_1810_BUILD_ROAD_TUNNEL :{BLACK}Byg tunnel
STR_1810_BUILD_TRAMWAY_TUNNEL :{BLACK}Byg sporvejstunnel
STR_BUILD_TRAMWAY_TUNNEL :{BLACK}Byg sporvejstunnel
STR_TOGGLE_ONE_WAY_ROAD :{BLACK}Aktiver/Deaktiver ensrettede veje
STR_1811_TOGGLE_BUILD_REMOVE_FOR :{BLACK}Skift mellem bygning/fjernelse af veje
STR_1811_TOGGLE_BUILD_REMOVE_FOR_TRAMWAYS :{BLACK}Skift mellem bygning/fjernelse af sporveje
STR_TOGGLE_BUILD_REMOVE_FOR_TRAMWAYS :{BLACK}Skift mellem bygning/fjernelse af sporveje
STR_1813_SELECT_ROAD_VEHICLE_DEPOT :{BLACK}Vælg retning for værksted
STR_1813_SELECT_TRAM_VEHICLE_DEPOT :{BLACK}Vælg retning af sporvognsremise
STR_SELECT_TRAM_VEHICLE_DEPOT :{BLACK}Vælg retning af sporvognsremise
STR_1814_ROAD :Vej
STR_1815_ROAD_WITH_STREETLIGHTS :Vej med gadelygter
STR_1816_TREE_LINED_ROAD :Vej med vejtræer
@@ -1831,8 +1822,8 @@ STR_3005_TOO_CLOSE_TO_ANOTHER_RAILROAD :{WHITE}For tæt
STR_3006_ADJOINS_MORE_THAN_ONE_EXISTING :{WHITE}Grænser op til mere end en eksisterende station/fragtcentral
STR_3007_TOO_MANY_STATIONS_LOADING :{WHITE}For mange stationer/fragtcentraler i denne by
STR_3008_TOO_MANY_STATIONS_LOADING :{WHITE}For mange stationer/fragtcentraler
STR_3008A_TOO_MANY_BUS_STOPS :{WHITE}For mange busterminaler
STR_3008B_TOO_MANY_TRUCK_STOPS :{WHITE}For mange fragtcentraler
STR_TOO_MANY_BUS_STOPS :{WHITE}For mange busterminaler
STR_TOO_MANY_TRUCK_STOPS :{WHITE}For mange fragtcentraler
STR_3009_TOO_CLOSE_TO_ANOTHER_STATION :{WHITE}For tæt på en anden station/fragtcentral
STR_300A_0 :{WHITE}{STATION} {STATIONFEATURES}
STR_300B_MUST_DEMOLISH_RAILROAD :{WHITE}Det er nødvendigt at rive stationen ned først
@@ -1863,12 +1854,12 @@ STR_3040_NOW_ACCEPTS :{WHITE}{STATION
STR_3041_NOW_ACCEPTS_AND :{WHITE}{STATION} accepterer nu {STRING} og {STRING}
STR_3042_BUS_STATION_ORIENTATION :{WHITE}Retning af rutebilstation
STR_3043_TRUCK_STATION_ORIENT :{WHITE}Retning af fragtcentral
STR_3042_PASSENGER_TRAM_STATION_ORIENTATION :{WHITE}Retning af sporvognsstation
STR_3043_CARGO_TRAM_STATION_ORIENT :{WHITE}Retning af sporvognsstation
STR_PASSENGER_TRAM_STATION_ORIENTATION :{WHITE}Retning af sporvognsstation
STR_CARGO_TRAM_STATION_ORIENT :{WHITE}Retning af sporvognsstation
STR_3046_MUST_DEMOLISH_BUS_STATION :{WHITE}Det er nødvendigt at nedrive rutebilstationen først
STR_3047_MUST_DEMOLISH_TRUCK_STATION :{WHITE}Det er nødvendigt at rive fragtcentralen ned først
STR_3046_MUST_DEMOLISH_PASSENGER_TRAM_STATION :{WHITE}Passager-sporvognsstation skal fjernes først
STR_3047_MUST_DEMOLISH_CARGO_TRAM_STATION :{WHITE}Fragt-sporvognsstation skal fjernes først
STR_MUST_DEMOLISH_PASSENGER_TRAM_STATION :{WHITE}Passager-sporvognsstation skal fjernes først
STR_MUST_DEMOLISH_CARGO_TRAM_STATION :{WHITE}Fragt-sporvognsstation skal fjernes først
STR_3048_STATIONS :{WHITE}{COMPANY} - {COMMA} Stationer
STR_3049_0 :{YELLOW}{STATION} {STATIONFEATURES}
STR_304A_NONE :{YELLOW}- Ingen -
@@ -1880,8 +1871,8 @@ STR_304F_SELECT_NUMBER_OF_PLATFORMS :{BLACK}Vælg an
STR_3050_SELECT_LENGTH_OF_RAILROAD :{BLACK}Vælg længde af banegård
STR_3051_SELECT_BUS_STATION_ORIENTATION :{BLACK}Vælg retning af rutebilstation
STR_3052_SELECT_TRUCK_LOADING_BAY :{BLACK}Vælg retning af fragtcentral
STR_3051_SELECT_PASSENGER_TRAM_STATION_ORIENTATION :{BLACK}Vælg retning af sporvognsstation
STR_3052_SELECT_CARGO_TRAM_STATION_ORIENTATION :{BLACK}Vælg retning af sporvognsstation
STR_SELECT_PASSENGER_TRAM_STATION_ORIENTATION :{BLACK}Vælg retning af sporvognsstation
STR_SELECT_CARGO_TRAM_STATION_ORIENTATION :{BLACK}Vælg retning af sporvognsstation
STR_3053_CENTER_MAIN_VIEW_ON_STATION :{BLACK}Centrer skærmen over stationens lokalitet
STR_3054_SHOW_STATION_RATINGS :{BLACK}Vis stationens bedømmelse
STR_3055_CHANGE_NAME_OF_STATION :{BLACK}Ændre stationens navn
@@ -1903,7 +1894,7 @@ STR_3068_DOCK :{WHITE}Havn
STR_3069_BUOY :Bøje
STR_306A_BUOY_IN_THE_WAY :{WHITE}...der er en bøje i vejen
STR_306C_STATION_TOO_SPREAD_OUT :{WHITE}...stationen er for spredt
STR_306D_NONUNIFORM_STATIONS_DISALLOWED :{WHITE}...ikke uniforme stationer er slået fra
STR_NONUNIFORM_STATIONS_DISALLOWED :{WHITE}...ikke uniforme stationer er slået fra
STR_USE_CTRL_TO_SELECT_MORE :{BLACK}Hold CTRL nede for at vælge mere end en ting
STR_UNDEFINED :(udefineret tekststring)
@@ -1944,7 +1935,7 @@ STR_400D_SAVE_THE_CURRENT_GAME_USING :{BLACK}Gem det
STR_400E_SELECT_NEW_GAME_TYPE :{WHITE}Vælg Spiltype til Nyt Spil
STR_400F_SELECT_SCENARIO_GREEN_PRE :{BLACK}Vælg scenarie (grøn), predefineret spil (blå), eller nyt tilfældigt spil
STR_4010_GENERATE_RANDOM_NEW_GAME :Generer nyt tilfældigt spil
STR_4011_LOAD_HEIGHTMAP :{WHITE}Hent højdekort
STR_LOAD_HEIGHTMAP :{WHITE}Hent højdekort
##id 0x4800
STR_4800_IN_THE_WAY :{WHITE}{STRING} i vejen
@@ -2148,10 +2139,10 @@ STR_6812_QUANTITY_OF_SEA_LAKES :{LTBLUE}Antal s
STR_6813_ECONOMY :{LTBLUE}Økonomi: {ORANGE}{STRING}
STR_6814_TRAIN_REVERSING :{LTBLUE}Tog vender: {ORANGE}{STRING}
STR_6815_DISASTERS :{LTBLUE}Katastrofer: {ORANGE}{STRING}
STR_16816_CITY_APPROVAL :{LTBLUE}Byrådets holdning til ændring i landskabet: {ORANGE}{STRING}
STR_CITY_APPROVAL :{LTBLUE}Byrådets holdning til ændring i landskabet: {ORANGE}{STRING}
############ range for difficulty settings ends
STR_26816_NONE :Ingen
STR_NONE :Ingen
STR_NUM_VERY_LOW :Meget lav
STR_6816_LOW :Lav
STR_6817_NORMAL :Normal
@@ -2189,9 +2180,9 @@ STR_6835_AT_END_OF_LINE_ONLY :Kun ved slutnin
STR_6836_OFF :Fra
STR_6837_ON :Til
STR_6838_SHOW_HI_SCORE_CHART :{BLACK}Vis higscoreliste
STR_6839_PERMISSIVE :Passiv
STR_683A_TOLERANT :Tolerant
STR_683B_HOSTILE :Fjendtlig
STR_PERMISSIVE :Passiv
STR_TOLERANT :Tolerant
STR_HOSTILE :Fjendtlig
##id 0x7000
STR_7000 :
@@ -2328,7 +2319,7 @@ STR_707B_CAN_T_BUY_25_SHARE_IN_THIS :{WHITE}Kan ikke
STR_707C_CAN_T_SELL_25_SHARE_IN :{WHITE}Kan ikke sælge 25% aktier i dette selskab...
STR_707D_OWNED_BY :{WHITE}({COMMA}% ejes af {COMPANY})
STR_707F_HAS_BEEN_TAKEN_OVER_BY :{BLACK}{BIGFONT}{COMPANY} er blevet overtaget af {COMPANY}!
STR_7080_PROTECTED :{WHITE}Dette selskab sælger ikke aktier endnu...
STR_PROTECTED :{WHITE}Dette selskab sælger ikke aktier endnu...
STR_LIVERY_DEFAULT :Standardfarver
STR_LIVERY_STEAM :Damplokomotiv
@@ -2341,6 +2332,8 @@ STR_LIVERY_EMU :Eltogsæt
STR_LIVERY_PASSENGER_WAGON_STEAM :Passagervogn (damp)
STR_LIVERY_PASSENGER_WAGON_DIESEL :Passagervogn (diesel)
STR_LIVERY_PASSENGER_WAGON_ELECTRIC :Passagervogn (elektrisk)
STR_LIVERY_PASSENGER_WAGON_MONORAIL :Passagervogn (monorail)
STR_LIVERY_PASSENGER_WAGON_MAGLEV :Passagervogn (magnetskinne)
STR_LIVERY_FREIGHT_WAGON :Godsvogn
STR_LIVERY_BUS :Bus
STR_LIVERY_TRUCK :Lastbil
@@ -2635,17 +2628,17 @@ STR_8803_TRAIN_IN_THE_WAY :{WHITE}Tog i ve
STR_8804 :{SETX 10}{COMMA}: {STRING} {STRING}
STR_8805 :{RIGHTARROW}{SETX 10}{COMMA}: {STRING} {STRING}
STR_8806_GO_TO :Gå til {STATION}
STR_8807_GO_TO_TRANSFER :Gå til {STATION} (Overfør og tag gods)
STR_8808_GO_TO_UNLOAD :Gå til {STATION} (Aflæs)
STR_8809_GO_TO_TRANSFER_UNLOAD :Gå til {STATION} (Overfør og efterlad tom)
STR_880A_GO_TO_LOAD :Gå til {STATION} (Fuld last)
STR_880B_GO_TO_TRANSFER_LOAD :Gå til {STATION} (Overfør og vent på fuld last)
STR_880C_GO_NON_STOP_TO :Gå uden stop til {STATION}
STR_880D_GO_TO_NON_STOP_TRANSFER :Gå uden stop til {STATION} (Overfør og tag gods)
STR_880E_GO_NON_STOP_TO_UNLOAD :Gå uden stop til {STATION} (Aflæs)
STR_880F_GO_TO_NON_STOP_TRANSFER_UNLOAD :Gå uden stop til {STATION} (Overfør og efterlad tom)
STR_8810_GO_NON_STOP_TO_LOAD :Gå uden stop til {STATION} (Fuld last)
STR_8811_GO_TO_NON_STOP_TRANSFER_LOAD :Gå uden stop til {STATION} (Overfør og vent på fuld last)
STR_GO_TO_TRANSFER :Gå til {STATION} (Overfør og tag gods)
STR_8807_GO_TO_UNLOAD :Gå til {STATION} (Aflæs)
STR_GO_TO_TRANSFER_UNLOAD :Gå til {STATION} (Overfør og efterlad tom)
STR_8808_GO_TO_LOAD :Gå til {STATION} (Fuld last)
STR_GO_TO_TRANSFER_LOAD :Gå til {STATION} (Overfør og vent på fuld last)
STR_880A_GO_NON_STOP_TO :Gå uden stop til {STATION}
STR_GO_TO_NON_STOP_TRANSFER :Gå uden stop til {STATION} (Overfør og tag gods)
STR_880B_GO_NON_STOP_TO_UNLOAD :Gå uden stop til {STATION} (Aflæs)
STR_GO_TO_NON_STOP_TRANSFER_UNLOAD :Gå uden stop til {STATION} (Overfør og efterlad tom)
STR_880C_GO_NON_STOP_TO_LOAD :Gå uden stop til {STATION} (Fuld last)
STR_GO_TO_NON_STOP_TRANSFER_LOAD :Gå uden stop til {STATION} (Overfør og vent på fuld last)
STR_GO_TO_TRAIN_DEPOT :Gå til {TOWN} remise
STR_SERVICE_AT_TRAIN_DEPOT :Service i {TOWN} remise
STR_880F_GO_NON_STOP_TO_TRAIN_DEPOT :Gå uden stop til {TOWN} remise
@@ -2749,7 +2742,7 @@ STR_884E_DECREASE_SERVICING_INTERVAL :{BLACK}Sænk se
STR_884F_SHOW_DETAILS_OF_CARGO_CARRIED :{BLACK}Vis detaljer omkring den last der medbringes
STR_8850_SHOW_DETAILS_OF_TRAIN_VEHICLES :{BLACK}Vis detaljer omkring toget/vognene
STR_8851_SHOW_CAPACITIES_OF_EACH :{BLACK}Vis kapaciteten af hver togvogn
STR_8852_SHOW_TOTAL_CARGO :{BLACK}Vis total lasteevne på toget, fordelt på lasttyper
STR_SHOW_TOTAL_CARGO :{BLACK}Vis total lasteevne på toget, fordelt på lasttyper
STR_8852_ORDERS_LIST_CLICK_ON_ORDER :{BLACK}Ordreliste - klik på en ordre for at markere den. CTRL-klik for at centrere skærmen over stationen
STR_8853_SKIP_THE_CURRENT_ORDER :{BLACK}Spring over nuværende ordre og start næste. CTRL + klik springer til den valgte ordre
STR_8854_DELETE_THE_HIGHLIGHTED :{BLACK}Slet den markerede ordre
@@ -2780,8 +2773,8 @@ STR_8868_TRAIN_CRASH_DIE_IN_FIREBALL :{BLACK}{BIGFONT
STR_8869_CAN_T_REVERSE_DIRECTION :{WHITE}Kan ikke vende retningen af toget...
STR_886A_RENAME_TRAIN_VEHICLE_TYPE :{WHITE}Omdøb tog-/togvognstypen
STR_886B_CAN_T_RENAME_TRAIN_VEHICLE :{WHITE}Kan ikke omdøbe tog-/togvognstypen...
STR_886D_MAKE_THE_HIGHLIGHTED_ORDER :{BLACK}Få den valgte ordre til at tvinge køretøjet til at smide lasten
STR_886F_TRANSFER :{BLACK}Overfør
STR_MAKE_THE_HIGHLIGHTED_ORDER :{BLACK}Få den valgte ordre til at tvinge køretøjet til at smide lasten
STR_TRANSFER :{BLACK}Overfør
STR_CLEAR_TIME :{BLACK}Nulstil tid
STR_RESET_LATENESS :{BLACK}Nulstil forsinkelse
@@ -2796,6 +2789,7 @@ STR_NEW_VEHICLE_TYPE :{BLACK}{BIGFONT
STR_NEW_VEHICLE_NOW_AVAILABLE_WITH_TYPE :{BLACK}Ny {STRING} er nu tilgængelig! - {ENGINE}
STR_CAN_T_SELL_DESTROYED_VEHICLE :{WHITE}Kan ikke sælge ødelagt køretøj...
STR_CAN_T_REFIT_DESTROYED_VEHICLE :{WHITE}Kan ikke ændre ødelagt køretøj...
STR_CAN_T_TIMETABLE_VEHICLE :{WHITE}Kan ikke lave køreplan for transportmiddel...
STR_TIMETABLE_ONLY_WAIT_AT_STATIONS :{WHITE}Transportmidler kan kun vente ved stationer.
@@ -2858,8 +2852,8 @@ STR_902D_CAN_T_NAME_ROAD_VEHICLE :{WHITE}Kan ikke
STR_902E_NAME_ROAD_VEHICLE :{BLACK}Giv køretøjet et navn
STR_902F_CITIZENS_CELEBRATE_FIRST :{BLACK}{BIGFONT}Indbyggerne fester . . .{}Første bus ankommer til {STATION}!
STR_9030_CITIZENS_CELEBRATE_FIRST :{BLACK}{BIGFONT}Indbyggerne fester . . .{}Første lastbil ankommer til {STATION}!
STR_902F_CITIZENS_CELEBRATE_FIRST_TRAM :{BLACK}{BIGFONT}Indbyggerne fester . . .{}Første passager-sporvogn ankommer til {STATION}!
STR_9030_CITIZENS_CELEBRATE_FIRST_TRAM :{BLACK}{BIGFONT}Indbyggerne fester . . .{}Første fragt-sporvogn ankommer til {STATION}!
STR_CITIZENS_CELEBRATE_FIRST_PASSENGER_TRAM :{BLACK}{BIGFONT}Indbyggerne fester . . .{}Første passager-sporvogn ankommer til {STATION}!
STR_CITIZENS_CELEBRATE_FIRST_CARGO_TRAM :{BLACK}{BIGFONT}Indbyggerne fester . . .{}Første fragt-sporvogn ankommer til {STATION}!
STR_9031_ROAD_VEHICLE_CRASH_DRIVER :{BLACK}{BIGFONT}Lastbil forulykket!{}Chauffør dør i flammerne efter sammenstød med tog
STR_9032_ROAD_VEHICLE_CRASH_DIE :{BLACK}{BIGFONT}Bus forulykket!{}{COMMA} dør i flammerne efter kollision med et tog
STR_9033_CAN_T_MAKE_VEHICLE_TURN :{WHITE}Kan ikke få køretøjet til at vende...
@@ -2868,7 +2862,7 @@ STR_9034_RENAME :{BLACK}Omdøb
STR_9035_RENAME_ROAD_VEHICLE_TYPE :{BLACK}Omdøb køretøjstypen
STR_9036_RENAME_ROAD_VEHICLE_TYPE :{WHITE}Omdøb køretøjstypen
STR_9037_CAN_T_RENAME_ROAD_VEHICLE :{WHITE}Kan ikke omdøbe køretøjstypen...
STR_9038_GO_TO_ROADVEH_DEPOT :Gå til {TOWN} værksted
STR_GO_TO_ROADVEH_DEPOT :Gå til {TOWN} værksted
STR_SERVICE_AT_ROADVEH_DEPOT :Service i {TOWN} værksted
STR_REFIT_ROAD_VEHICLE_TO_CARRY :{BLACK}Ombyg vejkøretøj til at laste en anden type last
@@ -3242,6 +3236,12 @@ STR_PURCHASE_INFO_ALL_TYPES :Alle lasttyper
STR_PURCHASE_INFO_ALL_BUT :Alle undtagen {GOLD}
STR_PURCHASE_INFO_MAX_TE :{BLACK}Maks. trækkraft: {GOLD}{FORCE}
########### For showing numbers in widgets
STR_NUM_1 :{BLACK}{SKIP}{NUM}
STR_NUM_2 :{BLACK}{SKIP}{SKIP}{NUM}
STR_NUM_3 :{BLACK}{SKIP}{SKIP}{SKIP}{NUM}
########### String for New Landscape Generator
STR_GENERATE :{WHITE}Generer
@@ -3269,7 +3269,6 @@ STR_HEIGHTMAP_SCALE_WARNING_CAPTION :{WHITE}Skalerin
STR_HEIGHTMAP_SCALE_WARNING_MESSAGE :{YELLOW}At ændre størrelsen på kildebilledet anbefales ikke. Fortsæt genereringen?
STR_TOWN_LAYOUT_WARNING_CAPTION :{WHITE}Vejlayout-advarsel
STR_TOWN_LAYOUT_WARNING_MESSAGE :{YELLOW}Vejlayoutet "ikke flere veje" anbefales ikke. Fortsæt med at generere?
STR_SNOW_LINE_HEIGHT_NUM :{NUM}
STR_HEIGHTMAP_NAME :{BLACK}Højdekortets navn:
STR_HEIGHTMAP_SIZE :{BLACK}Størrelse: {ORANGE}{NUM} x {NUM}
STR_GENERATION_WORLD :{WHITE}Genererer verden...
@@ -3295,7 +3294,6 @@ STR_FLAT_WORLD_HEIGHT_DOWN :{BLACK}Flyt hø
STR_FLAT_WORLD_HEIGHT_UP :{BLACK}Flyt højden af fladt land en op
STR_FLAT_WORLD_HEIGHT_QUERY_CAPT :{WHITE}Ændre højden af fladt land
STR_FLAT_WORLD_HEIGHT :{BLACK}Højde af fladt land:
STR_FLAT_WORLD_HEIGHT_NUM :{NUM}
STR_SMALLMAP_CENTER :{BLACK}Centrer det lille kort ved den nuværende position
STR_SMALLMAP_INDUSTRY :{TINYFONT}{STRING} ({NUM})
+71 -75
View File
@@ -15,8 +15,7 @@ STR_EMPTY :
STR_0007_FLAT_LAND_REQUIRED :{WHITE}Vlak land nodig
STR_0008_WAITING :{BLACK}Wachtend: {WHITE}{STRING}
STR_0009 :{WHITE}{CARGO}
STR_000A_EN_ROUTE_FROM :{WHITE}{CARGO}{YELLOW} (onderweg uit
STR_000B :{YELLOW}{STATION})
STR_EN_ROUTE_FROM :{YELLOW}({SHORTCARGO} opweg van {STATION})
STR_000C_ACCEPTS :{BLACK}Accepteert: {WHITE}
STR_000D_ACCEPTS :{BLACK}Accepteert: {GOLD}
STR_000E :
@@ -274,9 +273,9 @@ STR_0130_RENAME :{BLACK}Hernoem
STR_0131_TOO_MANY_NAMES_DEFINED :{WHITE}Te veel namen in gebruik
STR_0132_CHOSEN_NAME_IN_USE_ALREADY :{WHITE}Deze naam is al in gebruik
STR_0133_WINDOWS :Windows
STR_0134_UNIX :Unix
STR_0135_OSX :OS X
STR_OSNAME_WINDOWS :Windows
STR_OSNAME_UNIX :Unix
STR_OSNAME_OSX :OS X
STR_OSNAME_BEOS :BeOS
STR_OSNAME_MORPHOS :MorphOS
STR_OSNAME_AMIGAOS :AmigaOS
@@ -287,11 +286,11 @@ STR_013B_OWNED_BY :{WHITE}...is va
STR_013C_CARGO :{BLACK}Lading
STR_013D_INFORMATION :{BLACK}Informatie
STR_013E_CAPACITIES :{BLACK}Capaciteiten
STR_013E_TOTAL_CARGO :{BLACK}Totale lading
STR_TOTAL_CARGO :{BLACK}Totale lading
STR_013F_CAPACITY :{BLACK}Capaciteit: {LTBLUE}{CARGO}
STR_CAPACITY_MULT :{BLACK}Capaciteit: {LTBLUE}{CARGO} (x{NUM})
STR_013F_TOTAL_CAPACITY_TEXT :{BLACK}Totale lading (capaciteit) van deze trein:
STR_013F_TOTAL_CAPACITY :{LTBLUE}- {CARGO} ({SHORTCARGO})
STR_TOTAL_CAPACITY_TEXT :{BLACK}Totale lading (capaciteit) van deze trein:
STR_TOTAL_CAPACITY :{LTBLUE}- {CARGO} ({SHORTCARGO})
STR_TOTAL_CAPACITY_MULT :{LTBLUE}- {CARGO} ({SHORTCARGO}) (x{NUM})
STR_0140_NEW_GAME :{BLACK}Nieuw spel
STR_0141_LOAD_GAME :{BLACK}Laad spel
@@ -299,12 +298,6 @@ STR_SINGLE_PLAYER :{BLACK}Een spel
STR_MULTIPLAYER :{BLACK}Multiplayer
STR_SCENARIO_EDITOR :{BLACK}Scenario Bewerken
STR_64 :64
STR_128 :128
STR_256 :256
STR_512 :512
STR_1024 :1024
STR_2048 :2048
STR_MAPSIZE :{BLACK}Mapgrootte:
STR_BY :{BLACK}*
STR_0148_GAME_OPTIONS :{BLACK}Spelopties
@@ -732,11 +725,12 @@ STR_028D_PLACE_LIGHTHOUSE :{BLACK}Plaats v
STR_028E_PLACE_TRANSMITTER :{BLACK}Plaats radiomast
STR_028F_DEFINE_DESERT_AREA :{BLACK}Definieer woestijn gebied.{}Gebruik CTRL om het te verwijderen
STR_CREATE_LAKE :{BLACK}Definiëer water gebied.{}Maak een kanaal, tenzij CTRL wordt vastgehouden op zee niveau, dan zal de omgeving overstromen
STR_CREATE_RIVER :{BLACK}Maak rivier.
STR_0290_DELETE :{BLACK}Verwijder
STR_0291_DELETE_THIS_TOWN_COMPLETELY :{BLACK}Verwijder deze hele stad
STR_0292_SAVE_SCENARIO :Scenario opslaan
STR_0293_LOAD_SCENARIO :Scenario openen
STR_LOAD_HEIGHTMAP :Laad hoogtekaart
STR_MENU_LOAD_HEIGHTMAP :Laad hoogtekaart
STR_0294_QUIT_EDITOR :Sluit editor
STR_0295 :
STR_0296_QUIT :Afsluiten
@@ -776,9 +770,9 @@ STR_02C2_SAVE_CUSTOMIZED_VEHICLE :{BLACK}Sla aang
STR_CHECKMARK :{CHECKMARK}
############ range for menu starts
STR_02C3_GAME_OPTIONS :Spelopties
STR_02C5_DIFFICULTY_SETTINGS :Moeilijkheidsgraad
STR_02C7_CONFIG_PATCHES :Kies patches
STR_02C4_GAME_OPTIONS :Spelopties
STR_02C6_DIFFICULTY_SETTINGS :Moeilijkheidsgraad
STR_MENU_CONFIG_PATCHES :Kies patches
STR_NEWGRF_SETTINGS :Newgrf instellingen
STR_TRANSPARENCY_OPTIONS :Doorzichtigheidsopties
STR_GAMEOPTMENU_0A :
@@ -878,8 +872,8 @@ STR_SAVING_GAME :{RED}* * SPEL
STR_SAVE_STILL_IN_PROGRESS :{WHITE}Opslaan van spel is nog bezig,{}Wacht tot dit voltooid is!
STR_0330_SELECT_EZY_STREET_STYLE :{BLACK}Kies 'Ezy Street style music' programma
STR_0335_6 :{BLACK}6
STR_0336_7 :{BLACK}7
STR_6 :{BLACK}6
STR_7 :{BLACK}7
############ start of townname region
STR_TOWNNAME_ORIGINAL_ENGLISH :Engels (Origineel)
@@ -1055,7 +1049,6 @@ STR_CONFIG_PATCHES_BRIBE :{LTBLUE}Omkopen
STR_CONFIG_PATCHES_ALLOW_EXCLUSIVE :{LTBLUE}Kopen van exclusieve transportrechten toestaan: {ORANGE}{STRING}
STR_CONFIG_PATCHES_ALLOW_GIVE_MONEY :{LTBLUE}Geld geven aan andere bedrijven toestaan: {ORANGE}{STRING}
STR_CONFIG_PATCHES_NONUNIFORM_STATIONS :{LTBLUE}Vrij gevormde stations: {ORANGE}{STRING}
STR_CONFIG_PATCHES_NEW_PATHFINDING_ALL :{LTBLUE}Nieuwe globale routeplanner (NPF, voorkeur over NTP): {ORANGE}{STRING}
STR_CONFIG_PATCHES_FREIGHT_TRAINS :{LTBLUE}Gewichtsverhouding voor vracht om zware treinen te simuleren: {ORANGE}{STRING}
STR_CONFIG_PATCHES_STOP_ON_TOWN_ROAD :{LTBLUE}Laat toe dat doorrij wegstops worden geplaatst op door stad beheerde wegen: {ORANGE}{STRING}
STR_CONFIG_PATCHES_ADJACENT_STATIONS :{LTBLUE}Bouwen van aangrenzende stations toestaan: {ORANGE}{STRING}
@@ -1210,9 +1203,6 @@ STR_CONFIG_PATCHES_CURRENCY :{CURRENCY}
STR_CONFIG_PATCHES_QUERY_CAPT :{WHITE}Verander waarde
STR_CONFIG_PATCHES_SERVICE_INTERVAL_INCOMPATIBLE :{WHITE}Sommige of alle van de standaard reparatie interval(len) hier onder zijn ongeldig met gekozen instelling! 5-90% en 30-800 dagen zijn geldig
STR_CONFIG_PATCHES_YAPF_SHIPS :{LTBLUE}Gebruik YAPF voor schepen: {ORANGE}{STRING}
STR_CONFIG_PATCHES_YAPF_ROAD :{LTBLUE}Gebruik YAPF voor wegvoertuigen: {ORANGE}{STRING}
STR_CONFIG_PATCHES_YAPF_RAIL :{LTBLUE}Gebruik YAPF voor treinen: {ORANGE}{STRING}
STR_TEMPERATE_LANDSCAPE :gematigd landschap
STR_SUB_ARCTIC_LANDSCAPE :subarctisch landschap
@@ -1654,42 +1644,42 @@ STR_MUST_REMOVE_RAILWAY_STATION_FIRST :{WHITE}Treinsta
STR_1801_MUST_REMOVE_ROAD_FIRST :{WHITE}Moet weg eerst weghalen
STR_ROAD_WORKS_IN_PROGRESS :{WHITE}Er wordt aan de weg gewerkt
STR_1802_ROAD_CONSTRUCTION :{WHITE}Wegenbouw
STR_1802_TRAMWAY_CONSTRUCTION :{WHITE}Bouw tramrails
STR_WHITE_TRAMWAY_CONSTRUCTION :{WHITE}Bouw tramrails
STR_1803_SELECT_ROAD_BRIDGE :{WHITE}Kies brug
STR_ERR_ONEWAY_ROADS_CAN_T_HAVE_JUNCTION :{WHITE}... eenrichtingswegen kunnen geen kruisingen hebben
STR_1804_CAN_T_BUILD_ROAD_HERE :{WHITE}Kan hier geen weg bouwen...
STR_1804_CAN_T_BUILD_TRAMWAY_HERE :{WHITE}Kan geen tramrails bouwen hier...
STR_CAN_T_BUILD_TRAMWAY_HERE :{WHITE}Kan geen tramrails bouwen hier...
STR_1805_CAN_T_REMOVE_ROAD_FROM :{WHITE}Kan hier geen weg weghalen...
STR_1805_CAN_T_REMOVE_TRAMWAY_FROM :{WHITE}Kan de tramrails hier niet verwijderen...
STR_CAN_T_REMOVE_TRAMWAY_FROM :{WHITE}Kan de tramrails hier niet verwijderen...
STR_1806_ROAD_DEPOT_ORIENTATION :{WHITE}Bouw wegvoertuigdepot
STR_1806_TRAM_DEPOT_ORIENTATION :{WHITE}Tram depot richting
STR_TRAM_DEPOT_ORIENTATION :{WHITE}Tram depot richting
STR_1807_CAN_T_BUILD_ROAD_VEHICLE :{WHITE}Kan hier geen vrachtwagendepot bouwen...
STR_1807_CAN_T_BUILD_TRAM_VEHICLE :{WHITE}Kan geen tram voertuig depot bouwen hier...
STR_CAN_T_BUILD_TRAM_VEHICLE :{WHITE}Kan geen tram voertuig depot bouwen hier...
STR_1808_CAN_T_BUILD_BUS_STATION :{WHITE}Kan hier geen bushalte bouwen...
STR_1809_CAN_T_BUILD_TRUCK_STATION :{WHITE}Kan hier geen laadstation bouwen...
STR_1808_CAN_T_BUILD_PASSENGER_TRAM_STATION :{WHITE}Kan geen passagiers tram station bouwen...
STR_1809_CAN_T_BUILD_CARGO_TRAM_STATION :{WHITE}Kan geen vracht tram station bouwen...
STR_CAN_T_BUILD_PASSENGER_TRAM_STATION :{WHITE}Kan geen passagiers tram station bouwen...
STR_CAN_T_BUILD_CARGO_TRAM_STATION :{WHITE}Kan geen vracht tram station bouwen...
STR_180A_ROAD_CONSTRUCTION :Wegenbouw
STR_180A_TRAMWAY_CONSTRUCTION :Tramrails constructie
STR_TRAMWAY_CONSTRUCTION :Tramrails constructie
STR_180B_BUILD_ROAD_SECTION :{BLACK}Bouw weg
STR_BUILD_AUTOROAD_TIP :{BLACK}Bouw weg met de Autoweg-methode
STR_180B_BUILD_TRAMWAY_SECTION :{BLACK}Bouw tramrails onderdeel
STR_BUILD_TRAMWAY_SECTION :{BLACK}Bouw tramrails onderdeel
STR_BUILD_AUTOTRAM_TIP :{BLACK}Bouw tramrails met de Autotram-methode
STR_180C_BUILD_ROAD_VEHICLE_DEPOT :{BLACK}Bouw wegvoertuigdepot (om voertuigen te bouwen en te repareren)
STR_180C_BUILD_TRAM_VEHICLE_DEPOT :{BLACK}Bouw tram voertuig depot (voor de bouw en onderhoud)
STR_BUILD_TRAM_VEHICLE_DEPOT :{BLACK}Bouw tram voertuig depot (voor de bouw en onderhoud)
STR_180D_BUILD_BUS_STATION :{BLACK}Bouw bushalte
STR_180E_BUILD_TRUCK_LOADING_BAY :{BLACK}Bouw vrachtwagen laadhal
STR_180D_BUILD_PASSENGER_TRAM_STATION :{BLACK}Bouw passagiers tram station
STR_180E_BUILD_CARGO_TRAM_STATION :{BLACK}Bouw vracht tram station
STR_BUILD_PASSENGER_TRAM_STATION :{BLACK}Bouw passagiers tram station
STR_BUILD_CARGO_TRAM_STATION :{BLACK}Bouw vracht tram station
STR_180F_BUILD_ROAD_BRIDGE :{BLACK}Bouw brug voor wegvoertuigen
STR_180F_BUILD_TRAMWAY_BRIDGE :{BLACK}Bouw tramrails brug
STR_BUILD_TRAMWAY_BRIDGE :{BLACK}Bouw tramrails brug
STR_1810_BUILD_ROAD_TUNNEL :{BLACK}Bouw wegtunnel
STR_1810_BUILD_TRAMWAY_TUNNEL :{BLACK}Bouw tramrails tunnel
STR_BUILD_TRAMWAY_TUNNEL :{BLACK}Bouw tramrails tunnel
STR_TOGGLE_ONE_WAY_ROAD :{BLACK}Activeer/Deactiveer eenrichtingsverkeer
STR_1811_TOGGLE_BUILD_REMOVE_FOR :{BLACK}Schakel tussen bouwen en verwijderen voor wegbouw
STR_1811_TOGGLE_BUILD_REMOVE_FOR_TRAMWAYS :{BLACK}Schakelaar tussen bouwen/verwijderen van tramrails
STR_TOGGLE_BUILD_REMOVE_FOR_TRAMWAYS :{BLACK}Schakelaar tussen bouwen/verwijderen van tramrails
STR_1813_SELECT_ROAD_VEHICLE_DEPOT :{BLACK}Selecteer richting van wegvoertuigdepot
STR_1813_SELECT_TRAM_VEHICLE_DEPOT :{BLACK}Selecteer tram voertuig depot richting
STR_SELECT_TRAM_VEHICLE_DEPOT :{BLACK}Selecteer tram voertuig depot richting
STR_1814_ROAD :Weg
STR_1815_ROAD_WITH_STREETLIGHTS :Weg met straatlantaarns
STR_1816_TREE_LINED_ROAD :Weg met bomenrij
@@ -1832,8 +1822,8 @@ STR_3005_TOO_CLOSE_TO_ANOTHER_RAILROAD :{WHITE}Te dicht
STR_3006_ADJOINS_MORE_THAN_ONE_EXISTING :{WHITE}Voegt meer dan één bestaand (laad)station samen
STR_3007_TOO_MANY_STATIONS_LOADING :{WHITE}Teveel (laad)stations in de buurt van deze stad
STR_3008_TOO_MANY_STATIONS_LOADING :{WHITE}Teveel (laad)stations
STR_3008A_TOO_MANY_BUS_STOPS :{WHITE}Te veel bushaltes
STR_3008B_TOO_MANY_TRUCK_STOPS :{WHITE}Te veel vrachtwagenstations
STR_TOO_MANY_BUS_STOPS :{WHITE}Te veel bushaltes
STR_TOO_MANY_TRUCK_STOPS :{WHITE}Te veel vrachtwagenstations
STR_3009_TOO_CLOSE_TO_ANOTHER_STATION :{WHITE}Te dicht bij een andere (laad)station
STR_300A_0 :{WHITE}{STATION} {STATIONFEATURES}
STR_300B_MUST_DEMOLISH_RAILROAD :{WHITE}Verwijder eerst treinstation
@@ -1864,12 +1854,12 @@ STR_3040_NOW_ACCEPTS :{WHITE}{STATION
STR_3041_NOW_ACCEPTS_AND :{WHITE}{STATION} accepteert voortaan {STRING} en {STRING}
STR_3042_BUS_STATION_ORIENTATION :{WHITE}Bouw bushalte
STR_3043_TRUCK_STATION_ORIENT :{WHITE}Bouw Vrachtwagenstation
STR_3042_PASSENGER_TRAM_STATION_ORIENTATION :{WHITE}Passagiers tram richting
STR_3043_CARGO_TRAM_STATION_ORIENT :{WHITE}Vracht tram richting
STR_PASSENGER_TRAM_STATION_ORIENTATION :{WHITE}Passagiers tram richting
STR_CARGO_TRAM_STATION_ORIENT :{WHITE}Vracht tram richting
STR_3046_MUST_DEMOLISH_BUS_STATION :{WHITE}Verwijder eerst bushalte
STR_3047_MUST_DEMOLISH_TRUCK_STATION :{WHITE}Verwijder eerst vrachtwagenstation
STR_3046_MUST_DEMOLISH_PASSENGER_TRAM_STATION :{WHITE}Verwijder eerst passagiers tram station
STR_3047_MUST_DEMOLISH_CARGO_TRAM_STATION :{WHITE}Verwijder eerst vracht tram station
STR_MUST_DEMOLISH_PASSENGER_TRAM_STATION :{WHITE}Verwijder eerst passagiers tram station
STR_MUST_DEMOLISH_CARGO_TRAM_STATION :{WHITE}Verwijder eerst vracht tram station
STR_3048_STATIONS :{WHITE}{COMPANY} - {COMMA} Stations
STR_3049_0 :{YELLOW}{STATION} {STATIONFEATURES}
STR_304A_NONE :{YELLOW}- Geen -
@@ -1881,8 +1871,8 @@ STR_304F_SELECT_NUMBER_OF_PLATFORMS :{BLACK}Selectee
STR_3050_SELECT_LENGTH_OF_RAILROAD :{BLACK}Selecteer lengte van station
STR_3051_SELECT_BUS_STATION_ORIENTATION :{BLACK}Selecteer richting van bushalte
STR_3052_SELECT_TRUCK_LOADING_BAY :{BLACK}Selecteer richting van vrachtwagenstation
STR_3051_SELECT_PASSENGER_TRAM_STATION_ORIENTATION :{BLACK}Selecteer passagiers tram station richting
STR_3052_SELECT_CARGO_TRAM_STATION_ORIENTATION :{BLACK}Selecteer vracht tram station richting
STR_SELECT_PASSENGER_TRAM_STATION_ORIENTATION :{BLACK}Selecteer passagiers tram station richting
STR_SELECT_CARGO_TRAM_STATION_ORIENTATION :{BLACK}Selecteer vracht tram station richting
STR_3053_CENTER_MAIN_VIEW_ON_STATION :{BLACK}Centreer hoofdbeeld op locatie van station
STR_3054_SHOW_STATION_RATINGS :{BLACK}Bekijk stationsreputaties
STR_3055_CHANGE_NAME_OF_STATION :{BLACK}Hernoem station
@@ -1904,7 +1894,7 @@ STR_3068_DOCK :{WHITE}Haven
STR_3069_BUOY :Boei
STR_306A_BUOY_IN_THE_WAY :{WHITE}...boei in de weg
STR_306C_STATION_TOO_SPREAD_OUT :{WHITE}...station te verspreid
STR_306D_NONUNIFORM_STATIONS_DISALLOWED :{WHITE}...niet uniforme stations uit
STR_NONUNIFORM_STATIONS_DISALLOWED :{WHITE}...niet uniforme stations uit
STR_USE_CTRL_TO_SELECT_MORE :{BLACK}Houd CTRL ingedrukt om meer items te kiezen
STR_UNDEFINED :(ongedefinieerde string)
@@ -1945,7 +1935,7 @@ STR_400D_SAVE_THE_CURRENT_GAME_USING :{BLACK}Sla het
STR_400E_SELECT_NEW_GAME_TYPE :{WHITE}Selecteer nieuw speltype
STR_400F_SELECT_SCENARIO_GREEN_PRE :{BLACK}Selecteer scenario (groen), vooraf ingesteld spel (blauw), or willekeurig nieuw spel
STR_4010_GENERATE_RANDOM_NEW_GAME :Genereer willekeurig nieuw spel
STR_4011_LOAD_HEIGHTMAP :{WHITE}Laad Hoogtekaart
STR_LOAD_HEIGHTMAP :{WHITE}Laad Hoogtekaart
##id 0x4800
STR_4800_IN_THE_WAY :{WHITE}{STRING} in de weg
@@ -2149,10 +2139,10 @@ STR_6812_QUANTITY_OF_SEA_LAKES :{LTBLUE}Hoeveel
STR_6813_ECONOMY :{LTBLUE}Economie: {ORANGE}{STRING}
STR_6814_TRAIN_REVERSING :{LTBLUE}Treinen draaien om: {ORANGE}{STRING}
STR_6815_DISASTERS :{LTBLUE}Rampen: {ORANGE}{STRING}
STR_16816_CITY_APPROVAL :{LTBLUE}Houding van gemeente mbt landschapsaanpassingen: {ORANGE}{STRING}
STR_CITY_APPROVAL :{LTBLUE}Houding van gemeente mbt landschapsaanpassingen: {ORANGE}{STRING}
############ range for difficulty settings ends
STR_26816_NONE :Geen
STR_NONE :Geen
STR_NUM_VERY_LOW :Erg laag
STR_6816_LOW :Laag
STR_6817_NORMAL :Normaal
@@ -2190,9 +2180,9 @@ STR_6835_AT_END_OF_LINE_ONLY :Aan het eind va
STR_6836_OFF :Uit
STR_6837_ON :Aan
STR_6838_SHOW_HI_SCORE_CHART :{BLACK}Bekijk topscore lijst
STR_6839_PERMISSIVE :Tolerant
STR_683A_TOLERANT :Neutraal
STR_683B_HOSTILE :Negatief
STR_PERMISSIVE :Tolerant
STR_TOLERANT :Neutraal
STR_HOSTILE :Negatief
##id 0x7000
STR_7000 :
@@ -2329,7 +2319,7 @@ STR_707B_CAN_T_BUY_25_SHARE_IN_THIS :{WHITE}Kan geen
STR_707C_CAN_T_SELL_25_SHARE_IN :{WHITE}Kan geen 25% aandeel in dit bedrijf verkopen...
STR_707D_OWNED_BY :{WHITE}({COMMA}% eigendom van {COMPANY})
STR_707F_HAS_BEEN_TAKEN_OVER_BY :{BLACK}{BIGFONT}{COMPANY} is overgenomen door {COMPANY}!
STR_7080_PROTECTED :{WHITE}Dit bedrijf verhandelt nog geen aandelen...
STR_PROTECTED :{WHITE}Dit bedrijf verhandelt nog geen aandelen...
STR_LIVERY_DEFAULT :Standaard Logo
STR_LIVERY_STEAM :Stoom Locomotief
@@ -2342,6 +2332,8 @@ STR_LIVERY_EMU :EMU
STR_LIVERY_PASSENGER_WAGON_STEAM :Passagierswagon (Stoom)
STR_LIVERY_PASSENGER_WAGON_DIESEL :Passagierswagon (Diesel)
STR_LIVERY_PASSENGER_WAGON_ELECTRIC :Passagierswagon (Elektrisch)
STR_LIVERY_PASSENGER_WAGON_MONORAIL :Passagierswagon (Monorail)
STR_LIVERY_PASSENGER_WAGON_MAGLEV :Passagierswagon (Maglev)
STR_LIVERY_FREIGHT_WAGON :Vracht Wagon
STR_LIVERY_BUS :Bus
STR_LIVERY_TRUCK :Vrachtwagen
@@ -2636,17 +2628,17 @@ STR_8803_TRAIN_IN_THE_WAY :{WHITE}Trein in
STR_8804 :{SETX 10}{COMMA}: {STRING} {STRING}
STR_8805 :{RIGHTARROW}{SETX 10}{COMMA}: {STRING} {STRING}
STR_8806_GO_TO :Ga naar {STATION}
STR_8807_GO_TO_TRANSFER :Ga naar {STATION} (Overladen en neem goederen)
STR_8808_GO_TO_UNLOAD :Ga naar {STATION} (Uit laden)
STR_8809_GO_TO_TRANSFER_UNLOAD :Ga naar {STATION} (Overladen en leeg laten)
STR_880A_GO_TO_LOAD :Ga naar {STATION} (Laden)
STR_880B_GO_TO_TRANSFER_LOAD :Ga naar {STATION} (Overladen en wacht tot vol geladen)
STR_880C_GO_NON_STOP_TO :Ga non-stop naar {STATION}
STR_880D_GO_TO_NON_STOP_TRANSFER :Ga non-stop naar {STATION} (Overladen en neem goederen)
STR_880E_GO_NON_STOP_TO_UNLOAD :Ga non-stop naar {STATION} (Uitladen)
STR_880F_GO_TO_NON_STOP_TRANSFER_UNLOAD :Ga non-stop naar {STATION} (Overladen en leeg laten)
STR_8810_GO_NON_STOP_TO_LOAD :Ga non-stop naar {STATION} (Laden)
STR_8811_GO_TO_NON_STOP_TRANSFER_LOAD :Ga non-stop naar {STATION} (Overladen en wacht tot vol geladen)
STR_GO_TO_TRANSFER :Ga naar {STATION} (Overladen en neem goederen)
STR_8807_GO_TO_UNLOAD :Ga naar {STATION} (Uit laden)
STR_GO_TO_TRANSFER_UNLOAD :Ga naar {STATION} (Overladen en leeg laten)
STR_8808_GO_TO_LOAD :Ga naar {STATION} (Laden)
STR_GO_TO_TRANSFER_LOAD :Ga naar {STATION} (Overladen en wacht tot vol geladen)
STR_880A_GO_NON_STOP_TO :Ga non-stop naar {STATION}
STR_GO_TO_NON_STOP_TRANSFER :Ga non-stop naar {STATION} (Overladen en neem goederen)
STR_880B_GO_NON_STOP_TO_UNLOAD :Ga non-stop naar {STATION} (Uitladen)
STR_GO_TO_NON_STOP_TRANSFER_UNLOAD :Ga non-stop naar {STATION} (Overladen en leeg laten)
STR_880C_GO_NON_STOP_TO_LOAD :Ga non-stop naar {STATION} (Laden)
STR_GO_TO_NON_STOP_TRANSFER_LOAD :Ga non-stop naar {STATION} (Overladen en wacht tot vol geladen)
STR_GO_TO_TRAIN_DEPOT :Ga naar {TOWN} Trein Depot
STR_SERVICE_AT_TRAIN_DEPOT :Reparatie in {TOWN} treindepot
STR_880F_GO_NON_STOP_TO_TRAIN_DEPOT :Ga zonder tussenstop naar {TOWN} Treindepot
@@ -2750,7 +2742,7 @@ STR_884E_DECREASE_SERVICING_INTERVAL :{BLACK}Verklein
STR_884F_SHOW_DETAILS_OF_CARGO_CARRIED :{BLACK}Laat details zien van vervoerde goederen
STR_8850_SHOW_DETAILS_OF_TRAIN_VEHICLES :{BLACK}Laat details zien van treinvoertuigen
STR_8851_SHOW_CAPACITIES_OF_EACH :{BLACK}Laat de mogelijkheden van elk voertuig zien
STR_8852_SHOW_TOTAL_CARGO :{BLACK}Laat totale capaciteit van trein zien, gescheiden door goederentype
STR_SHOW_TOTAL_CARGO :{BLACK}Laat totale capaciteit van trein zien, gescheiden door goederentype
STR_8852_ORDERS_LIST_CLICK_ON_ORDER :{BLACK}Orderlijst - klik op een order om deze te selecteren. CTRL + klikken gaat naar het station
STR_8853_SKIP_THE_CURRENT_ORDER :{BLACK}Sla huidige order over, en begin met de volgende. CTRL + klik, begin direct met geselecteerde order
STR_8854_DELETE_THE_HIGHLIGHTED :{BLACK}Verwijder de geselecteerde order
@@ -2781,8 +2773,8 @@ STR_8868_TRAIN_CRASH_DIE_IN_FIREBALL :{BLACK}{BIGFONT
STR_8869_CAN_T_REVERSE_DIRECTION :{WHITE}Kan de richting van de trein niet omdraaien...
STR_886A_RENAME_TRAIN_VEHICLE_TYPE :{WHITE}Hernoem trein voertuig type
STR_886B_CAN_T_RENAME_TRAIN_VEHICLE :{WHITE}Kan het trein voertuig type niet hernoemen...
STR_886D_MAKE_THE_HIGHLIGHTED_ORDER :{BLACK}Forceer het voertuig goederen te dumpen bij geselecteerde order
STR_886F_TRANSFER :{BLACK}Overladen
STR_MAKE_THE_HIGHLIGHTED_ORDER :{BLACK}Forceer het voertuig goederen te dumpen bij geselecteerde order
STR_TRANSFER :{BLACK}Overladen
STR_CLEAR_TIME :{BLACK}Reset de tijd
STR_RESET_LATENESS :{BLACK}Reset teller
@@ -2860,8 +2852,8 @@ STR_902D_CAN_T_NAME_ROAD_VEHICLE :{WHITE}Kan wegv
STR_902E_NAME_ROAD_VEHICLE :{BLACK}Benoem wegvoertuig
STR_902F_CITIZENS_CELEBRATE_FIRST :{BLACK}{BIGFONT}Inwoners feesten...{}Eerste bus arriveert in {STATION}!
STR_9030_CITIZENS_CELEBRATE_FIRST :{BLACK}{BIGFONT}Inwoners feesten...{}Eerste vrachtwagen arriveert in {STATION}!
STR_902F_CITIZENS_CELEBRATE_FIRST_TRAM :{BLACK}{BIGFONT}Inwoners feesten . . .{}Eerste passagiers tram arriveert in {STATION}!
STR_9030_CITIZENS_CELEBRATE_FIRST_TRAM :{BLACK}{BIGFONT}Inwoners feesten . . .{}Eerste vracht tram arriveert in {STATION}!
STR_CITIZENS_CELEBRATE_FIRST_PASSENGER_TRAM :{BLACK}{BIGFONT}Inwoners feesten . . .{}Eerste passagiers tram arriveert in {STATION}!
STR_CITIZENS_CELEBRATE_FIRST_CARGO_TRAM :{BLACK}{BIGFONT}Inwoners feesten . . .{}Eerste vracht tram arriveert in {STATION}!
STR_9031_ROAD_VEHICLE_CRASH_DRIVER :{BLACK}{BIGFONT}Wegvoertuig gebotst!{}Bestuurder verongelukt door treinbotsing
STR_9032_ROAD_VEHICLE_CRASH_DIE :{BLACK}{BIGFONT}Wegvoertuig gebotst!{}{COMMA} verongelukt door treinbotsing
STR_9033_CAN_T_MAKE_VEHICLE_TURN :{WHITE}Kan voertuig niet omdraaien...
@@ -2870,7 +2862,7 @@ STR_9034_RENAME :{BLACK}Hernoem
STR_9035_RENAME_ROAD_VEHICLE_TYPE :{BLACK}Hernoem wegvoertuigtype
STR_9036_RENAME_ROAD_VEHICLE_TYPE :{WHITE}Hernoem wegvoertuigtype
STR_9037_CAN_T_RENAME_ROAD_VEHICLE :{WHITE}Kan wegvoertuigtype niet hernoemen...
STR_9038_GO_TO_ROADVEH_DEPOT :Ga naar {TOWN} Wegvoertuig Depot
STR_GO_TO_ROADVEH_DEPOT :Ga naar {TOWN} Wegvoertuig Depot
STR_SERVICE_AT_ROADVEH_DEPOT :Repareren in {TOWN} wagendepot
STR_REFIT_ROAD_VEHICLE_TO_CARRY :{BLACK}Verbouw het wegvoertuig om een andere lading the vervoeren
@@ -3244,6 +3236,12 @@ STR_PURCHASE_INFO_ALL_TYPES :Alle vracht typ
STR_PURCHASE_INFO_ALL_BUT :Alles behalve {GOLD}
STR_PURCHASE_INFO_MAX_TE :{BLACK}Max. Trekkracht: {GOLD}{FORCE}
########### For showing numbers in widgets
STR_NUM_1 :{BLACK}{SKIP}{NUM}
STR_NUM_2 :{BLACK}{SKIP}{SKIP}{NUM}
STR_NUM_3 :{BLACK}{SKIP}{SKIP}{SKIP}{NUM}
########### String for New Landscape Generator
STR_GENERATE :{WHITE}Maak aan
@@ -3271,7 +3269,6 @@ STR_HEIGHTMAP_SCALE_WARNING_CAPTION :{WHITE}Schaal w
STR_HEIGHTMAP_SCALE_WARNING_MESSAGE :{YELLOW}Het aanpassen van de grootte van een bronkaar is niet aan te bevelen. Toch doorgaan?
STR_TOWN_LAYOUT_WARNING_CAPTION :{WHITE}Stadsindelingswaarschuwing
STR_TOWN_LAYOUT_WARNING_MESSAGE :{YELLOW}De stadsindeling "geen wegen" is niet aanbevolen. Doorgaan met aanmaken?
STR_SNOW_LINE_HEIGHT_NUM :{NUM}
STR_HEIGHTMAP_NAME :{BLACK}Hoogtekaart naam:
STR_HEIGHTMAP_SIZE :{BLACK}Grootte: {ORANGE}{NUM} x {NUM}
STR_GENERATION_WORLD :{WHITE}Wereld creëren
@@ -3297,7 +3294,6 @@ STR_FLAT_WORLD_HEIGHT_DOWN :{BLACK}Maak de
STR_FLAT_WORLD_HEIGHT_UP :{BLACK}Maak de hoogte van plat land een hoger
STR_FLAT_WORLD_HEIGHT_QUERY_CAPT :{WHITE}Verander hoogte van vlak land
STR_FLAT_WORLD_HEIGHT :{BLACK}Hoogte van platte grond:
STR_FLAT_WORLD_HEIGHT_NUM :{NUM}
STR_SMALLMAP_CENTER :{BLACK}Centreer de kleine kaart op huidige positie
STR_SMALLMAP_INDUSTRY :{TINYFONT}{STRING} ({NUM})
+97 -87
View File
@@ -15,8 +15,7 @@ STR_EMPTY :
STR_0007_FLAT_LAND_REQUIRED :{WHITE}Flat land required
STR_0008_WAITING :{BLACK}Waiting: {WHITE}{STRING}
STR_0009 :{WHITE}{CARGO}
STR_000A_EN_ROUTE_FROM :{WHITE}{CARGO}{YELLOW} (en-route from
STR_000B :{YELLOW}{STATION})
STR_EN_ROUTE_FROM :{YELLOW}({SHORTCARGO} en-route from {STATION})
STR_000C_ACCEPTS :{BLACK}Accepts: {WHITE}
STR_000D_ACCEPTS :{BLACK}Accepts: {GOLD}
STR_000E :
@@ -168,7 +167,7 @@ STR_00C6 :{SILVER}{CROSS}
STR_00C7_QUIT :{WHITE}Quit
STR_00C8_YES :{BLACK}Yes
STR_00C9_NO :{BLACK}No
STR_00CA_ARE_YOU_SURE_YOU_WANT_TO :{YELLOW}Are you sure you want to abandon this game and return to {STRING}?
STR_00CA_ARE_YOU_SURE_YOU_WANT_TO :{YELLOW}Are you sure you want to exit OpenTTD and return to {STRING}?
STR_00CB_1 :{BLACK}1
STR_00CC_2 :{BLACK}2
STR_00CD_3 :{BLACK}3
@@ -274,9 +273,9 @@ STR_0130_RENAME :{BLACK}Rename
STR_0131_TOO_MANY_NAMES_DEFINED :{WHITE}Too many names defined
STR_0132_CHOSEN_NAME_IN_USE_ALREADY :{WHITE}Chosen name already in use
STR_0133_WINDOWS :Windows
STR_0134_UNIX :Unix
STR_0135_OSX :OS X
STR_OSNAME_WINDOWS :Windows
STR_OSNAME_UNIX :Unix
STR_OSNAME_OSX :OS X
STR_OSNAME_BEOS :BeOS
STR_OSNAME_MORPHOS :MorphOS
STR_OSNAME_AMIGAOS :AmigaOS
@@ -287,11 +286,11 @@ STR_013B_OWNED_BY :{WHITE}...owned
STR_013C_CARGO :{BLACK}Cargo
STR_013D_INFORMATION :{BLACK}Information
STR_013E_CAPACITIES :{BLACK}Capacities
STR_013E_TOTAL_CARGO :{BLACK}Total Cargo
STR_TOTAL_CARGO :{BLACK}Total Cargo
STR_013F_CAPACITY :{BLACK}Capacity: {LTBLUE}{CARGO}
STR_CAPACITY_MULT :{BLACK}Capacity: {LTBLUE}{CARGO} (x{NUM})
STR_013F_TOTAL_CAPACITY_TEXT :{BLACK}Total cargo capacity of this train:
STR_013F_TOTAL_CAPACITY :{LTBLUE}- {CARGO} ({SHORTCARGO})
STR_TOTAL_CAPACITY_TEXT :{BLACK}Total cargo capacity of this train:
STR_TOTAL_CAPACITY :{LTBLUE}- {CARGO} ({SHORTCARGO})
STR_TOTAL_CAPACITY_MULT :{LTBLUE}- {CARGO} ({SHORTCARGO}) (x{NUM})
STR_0140_NEW_GAME :{BLACK}New Game
STR_0141_LOAD_GAME :{BLACK}Load Game
@@ -299,12 +298,6 @@ STR_SINGLE_PLAYER :{BLACK}Single p
STR_MULTIPLAYER :{BLACK}Multiplayer
STR_SCENARIO_EDITOR :{BLACK}Scenario Editor
STR_64 :64
STR_128 :128
STR_256 :256
STR_512 :512
STR_1024 :1024
STR_2048 :2048
STR_MAPSIZE :{BLACK}Map size:
STR_BY :{BLACK}*
STR_0148_GAME_OPTIONS :{BLACK}Game Options
@@ -732,11 +725,12 @@ STR_028D_PLACE_LIGHTHOUSE :{BLACK}Place li
STR_028E_PLACE_TRANSMITTER :{BLACK}Place transmitter
STR_028F_DEFINE_DESERT_AREA :{BLACK}Define desert area.{}Press and hold CTRL to remove it
STR_CREATE_LAKE :{BLACK}Define water area.{}Make a canal, unless CTRL is held down at sea level, when it will flood the surroundings instead
STR_CREATE_RIVER :{BLACK}Place rivers.
STR_0290_DELETE :{BLACK}Delete
STR_0291_DELETE_THIS_TOWN_COMPLETELY :{BLACK}Delete this town completely
STR_0292_SAVE_SCENARIO :Save scenario
STR_0293_LOAD_SCENARIO :Load scenario
STR_LOAD_HEIGHTMAP :Load heightmap
STR_MENU_LOAD_HEIGHTMAP :Load heightmap
STR_0294_QUIT_EDITOR :Quit editor
STR_0295 :
STR_0296_QUIT :Quit
@@ -776,9 +770,9 @@ STR_02C2_SAVE_CUSTOMIZED_VEHICLE :{BLACK}Save cus
STR_CHECKMARK :{CHECKMARK}
############ range for menu starts
STR_02C3_GAME_OPTIONS :Game options
STR_02C5_DIFFICULTY_SETTINGS :Difficulty settings
STR_02C7_CONFIG_PATCHES :Configure patches
STR_02C4_GAME_OPTIONS :Game options
STR_02C6_DIFFICULTY_SETTINGS :Difficulty settings
STR_MENU_CONFIG_PATCHES :Configure patches
STR_NEWGRF_SETTINGS :NewGRF settings
STR_TRANSPARENCY_OPTIONS :Transparency options
STR_GAMEOPTMENU_0A :
@@ -878,8 +872,8 @@ STR_SAVING_GAME :{RED}* * SAVI
STR_SAVE_STILL_IN_PROGRESS :{WHITE}Saving still in progress,{}please wait until it is finished!
STR_0330_SELECT_EZY_STREET_STYLE :{BLACK}Select 'Ezy Street style music' programme
STR_0335_6 :{BLACK}6
STR_0336_7 :{BLACK}7
STR_6 :{BLACK}6
STR_7 :{BLACK}7
############ start of townname region
STR_TOWNNAME_ORIGINAL_ENGLISH :English (Original)
@@ -1055,7 +1049,6 @@ STR_CONFIG_PATCHES_BRIBE :{LTBLUE}Allow b
STR_CONFIG_PATCHES_ALLOW_EXCLUSIVE :{LTBLUE}Allow buying exclusive transport rights: {ORANGE}{STRING1}
STR_CONFIG_PATCHES_ALLOW_GIVE_MONEY :{LTBLUE}Allow sending money to other companies: {ORANGE}{STRING1}
STR_CONFIG_PATCHES_NONUNIFORM_STATIONS :{LTBLUE}Nonuniform stations: {ORANGE}{STRING1}
STR_CONFIG_PATCHES_NEW_PATHFINDING_ALL :{LTBLUE}New global pathfinding (NPF, overrides NTP): {ORANGE}{STRING1}
STR_CONFIG_PATCHES_FREIGHT_TRAINS :{LTBLUE}Weight multiplier for freight to simulate heavy trains: {ORANGE}{STRING}
STR_CONFIG_PATCHES_STOP_ON_TOWN_ROAD :{LTBLUE}Allow drive-through road stops on town owned roads: {ORANGE}{STRING}
STR_CONFIG_PATCHES_ADJACENT_STATIONS :{LTBLUE}Allow building adjacent stations: {ORANGE}{STRING}
@@ -1074,7 +1067,7 @@ STR_CONFIG_PATCHES_AUTORENEW_MONTHS :{LTBLUE}Autoren
STR_CONFIG_PATCHES_AUTORENEW_MONEY :{LTBLUE}Autorenew minimum needed money for renew: {ORANGE}{STRING1}
STR_CONFIG_PATCHES_ERRMSG_DURATION :{LTBLUE}Duration of error message: {ORANGE}{STRING1}
STR_CONFIG_PATCHES_POPULATION_IN_LABEL :{LTBLUE}Show town population in the town name label: {ORANGE}{STRING1}
STR_CONFIG_PATCHES_INVISIBLE_TREES :{LTBLUE}Invisible trees (with transparent buildings): {ORANGE}{STRING1}
STR_CONFIG_PATCHES_INVISIBLE_TREES :{LTBLUE}Invisible trees: {ORANGE}{STRING1}
STR_CONFIG_PATCHES_LAND_GENERATOR :{LTBLUE}Land generator: {ORANGE}{STRING1}
STR_CONFIG_PATCHES_LAND_GENERATOR_ORIGINAL :Original
@@ -1210,9 +1203,19 @@ STR_CONFIG_PATCHES_CURRENCY :{CURRENCY}
STR_CONFIG_PATCHES_QUERY_CAPT :{WHITE}Change setting value
STR_CONFIG_PATCHES_SERVICE_INTERVAL_INCOMPATIBLE :{WHITE}Some or all of the default service interval(s) below are incompatible with the chosen setting! 5-90% and 30-800 days are valid
STR_CONFIG_PATCHES_YAPF_SHIPS :{LTBLUE}Use YAPF for ships: {ORANGE}{STRING1}
STR_CONFIG_PATCHES_YAPF_ROAD :{LTBLUE}Use YAPF for roadvehs: {ORANGE}{STRING1}
STR_CONFIG_PATCHES_YAPF_RAIL :{LTBLUE}Use YAPF for trains: {ORANGE}{STRING1}
STR_CONFIG_PATCHES_PATHFINDER_FOR_TRAINS :{LTBLUE}Pathfinder for trains: {ORANGE}{STRING1}
STR_CONFIG_PATCHES_PATHFINDER_FOR_TRAINS_NTP :NTP {RED}(Not recommended)
STR_CONFIG_PATCHES_PATHFINDER_FOR_TRAINS_NPF :NPF
STR_CONFIG_PATCHES_PATHFINDER_FOR_TRAINS_YAPF :YAPF {BLUE}(Recommended)
STR_CONFIG_PATCHES_PATHFINDER_FOR_ROADVEH :{LTBLUE}Pathfinder for road vehicles: {ORANGE}{STRING1}
STR_CONFIG_PATCHES_PATHFINDER_FOR_ROADVEH_OPF :Original {RED}(Not recommended)
STR_CONFIG_PATCHES_PATHFINDER_FOR_ROADVEH_NPF :NPF
STR_CONFIG_PATCHES_PATHFINDER_FOR_ROADVEH_YAPF :YAPF {BLUE}(Recommended)
STR_CONFIG_PATCHES_PATHFINDER_FOR_SHIPS :{LTBLUE}Pathfinder for ships: {ORANGE}{STRING1}
STR_CONFIG_PATCHES_PATHFINDER_FOR_SHIPS_OPF :Original {BLUE}(Recommended)
STR_CONFIG_PATCHES_PATHFINDER_FOR_SHIPS_NPF :NPF
STR_CONFIG_PATCHES_PATHFINDER_FOR_SHIPS_YAPF :YAPF {RED}(Not recommended)
STR_TEMPERATE_LANDSCAPE :Temperate landscape
STR_SUB_ARCTIC_LANDSCAPE :Sub-arctic landscape
@@ -1611,7 +1614,7 @@ STR_1008_MUST_REMOVE_RAILROAD_TRACK :{WHITE}Must rem
STR_100A_RAILROAD_CONSTRUCTION :{WHITE}Railway Construction
STR_TITLE_ELRAIL_CONSTRUCTION :{WHITE}Electrified Railway Construction
STR_100B_MONORAIL_CONSTRUCTION :{WHITE}Monorail Construction
STR_100C_MAGLEV_CONSTRUCTION :{WHITE}MagLev Construction
STR_100C_MAGLEV_CONSTRUCTION :{WHITE}Maglev Construction
STR_100D_SELECT_RAIL_BRIDGE :{WHITE}Select Rail Bridge
STR_100E_CAN_T_BUILD_TRAIN_DEPOT :{WHITE}Can't build train depot here...
STR_100F_CAN_T_BUILD_RAILROAD_STATION :{WHITE}Can't build railway station here...
@@ -1623,7 +1626,7 @@ STR_1014_TRAIN_DEPOT_ORIENTATION :{WHITE}Train De
STR_1015_RAILROAD_CONSTRUCTION :Railway construction
STR_TOOLB_ELRAIL_CONSTRUCTION :Electrified Railway construction
STR_1016_MONORAIL_CONSTRUCTION :Monorail construction
STR_1017_MAGLEV_CONSTRUCTION :MagLev construction
STR_1017_MAGLEV_CONSTRUCTION :Maglev construction
STR_1018_BUILD_RAILROAD_TRACK :{BLACK}Build railway track
STR_1019_BUILD_TRAIN_DEPOT_FOR_BUILDING :{BLACK}Build train depot (for building and servicing trains)
STR_101A_BUILD_RAILROAD_STATION :{BLACK}Build railway station
@@ -1654,42 +1657,42 @@ STR_MUST_REMOVE_RAILWAY_STATION_FIRST :{WHITE}Must rem
STR_1801_MUST_REMOVE_ROAD_FIRST :{WHITE}Must remove road first
STR_ROAD_WORKS_IN_PROGRESS :{WHITE}Road works in progress
STR_1802_ROAD_CONSTRUCTION :{WHITE}Road Construction
STR_1802_TRAMWAY_CONSTRUCTION :{WHITE}Tramway Construction
STR_WHITE_TRAMWAY_CONSTRUCTION :{WHITE}Tramway Construction
STR_1803_SELECT_ROAD_BRIDGE :{WHITE}Select Road Bridge
STR_ERR_ONEWAY_ROADS_CAN_T_HAVE_JUNCTION :{WHITE}... one way roads can't have junctions
STR_1804_CAN_T_BUILD_ROAD_HERE :{WHITE}Can't build road here...
STR_1804_CAN_T_BUILD_TRAMWAY_HERE :{WHITE}Can't build tramway here...
STR_CAN_T_BUILD_TRAMWAY_HERE :{WHITE}Can't build tramway here...
STR_1805_CAN_T_REMOVE_ROAD_FROM :{WHITE}Can't remove road from here...
STR_1805_CAN_T_REMOVE_TRAMWAY_FROM :{WHITE}Can't remove tramway from here...
STR_CAN_T_REMOVE_TRAMWAY_FROM :{WHITE}Can't remove tramway from here...
STR_1806_ROAD_DEPOT_ORIENTATION :{WHITE}Road Depot Orientation
STR_1806_TRAM_DEPOT_ORIENTATION :{WHITE}Tram Depot Orientation
STR_TRAM_DEPOT_ORIENTATION :{WHITE}Tram Depot Orientation
STR_1807_CAN_T_BUILD_ROAD_VEHICLE :{WHITE}Can't build road vehicle depot here...
STR_1807_CAN_T_BUILD_TRAM_VEHICLE :{WHITE}Can't build tram vehicle depot here...
STR_CAN_T_BUILD_TRAM_VEHICLE :{WHITE}Can't build tram vehicle depot here...
STR_1808_CAN_T_BUILD_BUS_STATION :{WHITE}Can't build bus station...
STR_1809_CAN_T_BUILD_TRUCK_STATION :{WHITE}Can't build lorry station...
STR_1808_CAN_T_BUILD_PASSENGER_TRAM_STATION :{WHITE}Can't build passenger tram station...
STR_1809_CAN_T_BUILD_CARGO_TRAM_STATION :{WHITE}Can't build freight tram station...
STR_CAN_T_BUILD_PASSENGER_TRAM_STATION :{WHITE}Can't build passenger tram station...
STR_CAN_T_BUILD_CARGO_TRAM_STATION :{WHITE}Can't build freight tram station...
STR_180A_ROAD_CONSTRUCTION :Road construction
STR_180A_TRAMWAY_CONSTRUCTION :Tramway construction
STR_TRAMWAY_CONSTRUCTION :Tramway construction
STR_180B_BUILD_ROAD_SECTION :{BLACK}Build road section
STR_BUILD_AUTOROAD_TIP :{BLACK}Build road section using the Autoroad mode
STR_180B_BUILD_TRAMWAY_SECTION :{BLACK}Build tramway section
STR_BUILD_TRAMWAY_SECTION :{BLACK}Build tramway section
STR_BUILD_AUTOTRAM_TIP :{BLACK}Build tramway section using the Autotram mode
STR_180C_BUILD_ROAD_VEHICLE_DEPOT :{BLACK}Build road vehicle depot (for building and servicing vehicles)
STR_180C_BUILD_TRAM_VEHICLE_DEPOT :{BLACK}Build tram vehicle depot (for building and servicing vehicles)
STR_BUILD_TRAM_VEHICLE_DEPOT :{BLACK}Build tram vehicle depot (for building and servicing vehicles)
STR_180D_BUILD_BUS_STATION :{BLACK}Build bus station
STR_180E_BUILD_TRUCK_LOADING_BAY :{BLACK}Build lorry loading bay
STR_180D_BUILD_PASSENGER_TRAM_STATION :{BLACK}Build passenger tram station
STR_180E_BUILD_CARGO_TRAM_STATION :{BLACK}Build freight tram station
STR_BUILD_PASSENGER_TRAM_STATION :{BLACK}Build passenger tram station
STR_BUILD_CARGO_TRAM_STATION :{BLACK}Build freight tram station
STR_180F_BUILD_ROAD_BRIDGE :{BLACK}Build road bridge
STR_180F_BUILD_TRAMWAY_BRIDGE :{BLACK}Build tramway bridge
STR_BUILD_TRAMWAY_BRIDGE :{BLACK}Build tramway bridge
STR_1810_BUILD_ROAD_TUNNEL :{BLACK}Build road tunnel
STR_1810_BUILD_TRAMWAY_TUNNEL :{BLACK}Build tramway tunnel
STR_BUILD_TRAMWAY_TUNNEL :{BLACK}Build tramway tunnel
STR_TOGGLE_ONE_WAY_ROAD :{BLACK}Activate/Deactivate one way roads
STR_1811_TOGGLE_BUILD_REMOVE_FOR :{BLACK}Toggle build/remove for road construction
STR_1811_TOGGLE_BUILD_REMOVE_FOR_TRAMWAYS :{BLACK}Toggle build/remove for tramway construction
STR_TOGGLE_BUILD_REMOVE_FOR_TRAMWAYS :{BLACK}Toggle build/remove for tramway construction
STR_1813_SELECT_ROAD_VEHICLE_DEPOT :{BLACK}Select road vehicle depot orientation
STR_1813_SELECT_TRAM_VEHICLE_DEPOT :{BLACK}Select tram vehicle depot orientation
STR_SELECT_TRAM_VEHICLE_DEPOT :{BLACK}Select tram vehicle depot orientation
STR_1814_ROAD :Road
STR_1815_ROAD_WITH_STREETLIGHTS :Road with streetlights
STR_1816_TREE_LINED_ROAD :Tree-lined road
@@ -1832,8 +1835,8 @@ STR_3005_TOO_CLOSE_TO_ANOTHER_RAILROAD :{WHITE}Too clos
STR_3006_ADJOINS_MORE_THAN_ONE_EXISTING :{WHITE}Adjoins more than one existing station/loading area
STR_3007_TOO_MANY_STATIONS_LOADING :{WHITE}Too many stations/loading areas in this town
STR_3008_TOO_MANY_STATIONS_LOADING :{WHITE}Too many stations/loading areas
STR_3008A_TOO_MANY_BUS_STOPS :{WHITE}Too many bus stops
STR_3008B_TOO_MANY_TRUCK_STOPS :{WHITE}Too many lorry stations
STR_TOO_MANY_BUS_STOPS :{WHITE}Too many bus stops
STR_TOO_MANY_TRUCK_STOPS :{WHITE}Too many lorry stations
STR_3009_TOO_CLOSE_TO_ANOTHER_STATION :{WHITE}Too close to another station/loading area
STR_300A_0 :{WHITE}{STATION} {STATIONFEATURES}
STR_300B_MUST_DEMOLISH_RAILROAD :{WHITE}Must demolish railway station first
@@ -1864,12 +1867,12 @@ STR_3040_NOW_ACCEPTS :{WHITE}{STATION
STR_3041_NOW_ACCEPTS_AND :{WHITE}{STATION} now accepts {STRING} and {STRING}
STR_3042_BUS_STATION_ORIENTATION :{WHITE}Bus Station Orientation
STR_3043_TRUCK_STATION_ORIENT :{WHITE}Lorry Station Orientation
STR_3042_PASSENGER_TRAM_STATION_ORIENTATION :{WHITE}Passenger Tram Orientation
STR_3043_CARGO_TRAM_STATION_ORIENT :{WHITE}Freight Tram Orientation
STR_PASSENGER_TRAM_STATION_ORIENTATION :{WHITE}Passenger Tram Orientation
STR_CARGO_TRAM_STATION_ORIENT :{WHITE}Freight Tram Orientation
STR_3046_MUST_DEMOLISH_BUS_STATION :{WHITE}Must demolish bus station first
STR_3047_MUST_DEMOLISH_TRUCK_STATION :{WHITE}Must demolish lorry station first
STR_3046_MUST_DEMOLISH_PASSENGER_TRAM_STATION :{WHITE}Must demolish passenger tram station first
STR_3047_MUST_DEMOLISH_CARGO_TRAM_STATION :{WHITE}Must demolish freight tram station first
STR_MUST_DEMOLISH_PASSENGER_TRAM_STATION :{WHITE}Must demolish passenger tram station first
STR_MUST_DEMOLISH_CARGO_TRAM_STATION :{WHITE}Must demolish freight tram station first
STR_3048_STATIONS :{WHITE}{COMPANY} - {COMMA} Station{P "" s}
STR_3049_0 :{YELLOW}{STATION} {STATIONFEATURES}
STR_304A_NONE :{YELLOW}- None -
@@ -1881,8 +1884,8 @@ STR_304F_SELECT_NUMBER_OF_PLATFORMS :{BLACK}Select n
STR_3050_SELECT_LENGTH_OF_RAILROAD :{BLACK}Select length of railway station
STR_3051_SELECT_BUS_STATION_ORIENTATION :{BLACK}Select bus station orientation
STR_3052_SELECT_TRUCK_LOADING_BAY :{BLACK}Select lorry loading bay orientation
STR_3051_SELECT_PASSENGER_TRAM_STATION_ORIENTATION :{BLACK}Select passenger tram station orientation
STR_3052_SELECT_CARGO_TRAM_STATION_ORIENTATION :{BLACK}Select freight tram station orientation
STR_SELECT_PASSENGER_TRAM_STATION_ORIENTATION :{BLACK}Select passenger tram station orientation
STR_SELECT_CARGO_TRAM_STATION_ORIENTATION :{BLACK}Select freight tram station orientation
STR_3053_CENTER_MAIN_VIEW_ON_STATION :{BLACK}Centre main view on station location
STR_3054_SHOW_STATION_RATINGS :{BLACK}Show station ratings
STR_3055_CHANGE_NAME_OF_STATION :{BLACK}Change name of station
@@ -1904,7 +1907,7 @@ STR_3068_DOCK :{WHITE}Dock
STR_3069_BUOY :Buoy
STR_306A_BUOY_IN_THE_WAY :{WHITE}...buoy in the way
STR_306C_STATION_TOO_SPREAD_OUT :{WHITE}...station too spread out
STR_306D_NONUNIFORM_STATIONS_DISALLOWED :{WHITE}...nonuniform stations disabled
STR_NONUNIFORM_STATIONS_DISALLOWED :{WHITE}...nonuniform stations disabled
STR_USE_CTRL_TO_SELECT_MORE :{BLACK}Hold down CTRL to select more than one item
STR_UNDEFINED :(undefined string)
@@ -1945,7 +1948,7 @@ STR_400D_SAVE_THE_CURRENT_GAME_USING :{BLACK}Save the
STR_400E_SELECT_NEW_GAME_TYPE :{WHITE}Select New Game Type
STR_400F_SELECT_SCENARIO_GREEN_PRE :{BLACK}Select scenario (green), pre-set game (blue), or random new game
STR_4010_GENERATE_RANDOM_NEW_GAME :Generate random new game
STR_4011_LOAD_HEIGHTMAP :{WHITE}Load Heightmap
STR_LOAD_HEIGHTMAP :{WHITE}Load Heightmap
##id 0x4800
STR_4800_IN_THE_WAY :{WHITE}{STRING} in the way
@@ -2149,10 +2152,10 @@ STR_6812_QUANTITY_OF_SEA_LAKES :{LTBLUE}Quantit
STR_6813_ECONOMY :{LTBLUE}Economy: {ORANGE}{STRING}
STR_6814_TRAIN_REVERSING :{LTBLUE}Train reversing: {ORANGE}{STRING}
STR_6815_DISASTERS :{LTBLUE}Disasters: {ORANGE}{STRING}
STR_16816_CITY_APPROVAL :{LTBLUE}City council's attitude towards area restructuring: {ORANGE}{STRING}
STR_CITY_APPROVAL :{LTBLUE}City council's attitude towards area restructuring: {ORANGE}{STRING}
############ range for difficulty settings ends
STR_26816_NONE :None
STR_NONE :None
STR_NUM_VERY_LOW :Very low
STR_6816_LOW :Low
STR_6817_NORMAL :Normal
@@ -2190,9 +2193,9 @@ STR_6835_AT_END_OF_LINE_ONLY :At end of line
STR_6836_OFF :Off
STR_6837_ON :On
STR_6838_SHOW_HI_SCORE_CHART :{BLACK}Show hi-score chart
STR_6839_PERMISSIVE :Permissive
STR_683A_TOLERANT :Tolerant
STR_683B_HOSTILE :Hostile
STR_PERMISSIVE :Permissive
STR_TOLERANT :Tolerant
STR_HOSTILE :Hostile
##id 0x7000
STR_7000 :
@@ -2329,7 +2332,7 @@ STR_707B_CAN_T_BUY_25_SHARE_IN_THIS :{WHITE}Can't bu
STR_707C_CAN_T_SELL_25_SHARE_IN :{WHITE}Can't sell 25% share in this company...
STR_707D_OWNED_BY :{WHITE}({COMMA}% owned by {COMPANY})
STR_707F_HAS_BEEN_TAKEN_OVER_BY :{BLACK}{BIGFONT}{COMPANY} has been taken over by {COMPANY}!
STR_7080_PROTECTED :{WHITE}This company is not old enough to trade shares yet...
STR_PROTECTED :{WHITE}This company is not old enough to trade shares yet...
STR_LIVERY_DEFAULT :Standard Livery
STR_LIVERY_STEAM :Steam Engine
@@ -2342,6 +2345,8 @@ STR_LIVERY_EMU :EMU
STR_LIVERY_PASSENGER_WAGON_STEAM :Passenger Coach (Steam)
STR_LIVERY_PASSENGER_WAGON_DIESEL :Passenger Coach (Diesel)
STR_LIVERY_PASSENGER_WAGON_ELECTRIC :Passenger Coach (Electric)
STR_LIVERY_PASSENGER_WAGON_MONORAIL :Passenger Coach (Monorail)
STR_LIVERY_PASSENGER_WAGON_MAGLEV :Passenger Coach (Maglev)
STR_LIVERY_FREIGHT_WAGON :Freight Wagon
STR_LIVERY_BUS :Bus
STR_LIVERY_TRUCK :Lorry
@@ -2636,17 +2641,17 @@ STR_8803_TRAIN_IN_THE_WAY :{WHITE}Train in
STR_8804 :{SETX 10}{COMMA}: {STRING1} {STRING1}
STR_8805 :{RIGHTARROW}{SETX 10}{COMMA}: {STRING1} {STRING1}
STR_8806_GO_TO :Go to {STATION}
STR_8807_GO_TO_TRANSFER :Go to {STATION} (Transfer and take cargo)
STR_8808_GO_TO_UNLOAD :Go to {STATION} (Unload)
STR_8809_GO_TO_TRANSFER_UNLOAD :Go to {STATION} (Transfer and leave empty)
STR_880A_GO_TO_LOAD :Go to {STATION} (Load)
STR_880B_GO_TO_TRANSFER_LOAD :Go to {STATION} (Transfer and wait for full load)
STR_880C_GO_NON_STOP_TO :Go non-stop to {STATION}
STR_880D_GO_TO_NON_STOP_TRANSFER :Go non-stop to {STATION} (Transfer and take cargo)
STR_880E_GO_NON_STOP_TO_UNLOAD :Go non-stop to {STATION} (Unload)
STR_880F_GO_TO_NON_STOP_TRANSFER_UNLOAD :Go non-stop to {STATION} (Transfer and leave empty)
STR_8810_GO_NON_STOP_TO_LOAD :Go non-stop to {STATION} (Load)
STR_8811_GO_TO_NON_STOP_TRANSFER_LOAD :Go non-stop to {STATION} (Transfer and wait for full load)
STR_GO_TO_TRANSFER :Go to {STATION} (Transfer and take cargo)
STR_8807_GO_TO_UNLOAD :Go to {STATION} (Unload)
STR_GO_TO_TRANSFER_UNLOAD :Go to {STATION} (Transfer and leave empty)
STR_8808_GO_TO_LOAD :Go to {STATION} (Load)
STR_GO_TO_TRANSFER_LOAD :Go to {STATION} (Transfer and wait for full load)
STR_880A_GO_NON_STOP_TO :Go non-stop to {STATION}
STR_GO_TO_NON_STOP_TRANSFER :Go non-stop to {STATION} (Transfer and take cargo)
STR_880B_GO_NON_STOP_TO_UNLOAD :Go non-stop to {STATION} (Unload)
STR_GO_TO_NON_STOP_TRANSFER_UNLOAD :Go non-stop to {STATION} (Transfer and leave empty)
STR_880C_GO_NON_STOP_TO_LOAD :Go non-stop to {STATION} (Load)
STR_GO_TO_NON_STOP_TRANSFER_LOAD :Go non-stop to {STATION} (Transfer and wait for full load)
STR_GO_TO_TRAIN_DEPOT :Go to {TOWN} Train Depot
STR_SERVICE_AT_TRAIN_DEPOT :Service at {TOWN} Train Depot
STR_880F_GO_NON_STOP_TO_TRAIN_DEPOT :Go non-stop to {TOWN} Train Depot
@@ -2750,7 +2755,7 @@ STR_884E_DECREASE_SERVICING_INTERVAL :{BLACK}Decrease
STR_884F_SHOW_DETAILS_OF_CARGO_CARRIED :{BLACK}Show details of cargo carried
STR_8850_SHOW_DETAILS_OF_TRAIN_VEHICLES :{BLACK}Show details of train vehicles
STR_8851_SHOW_CAPACITIES_OF_EACH :{BLACK}Show capacities of each vehicle
STR_8852_SHOW_TOTAL_CARGO :{BLACK}Show total capacity of train, split by cargo type
STR_SHOW_TOTAL_CARGO :{BLACK}Show total capacity of train, split by cargo type
STR_8852_ORDERS_LIST_CLICK_ON_ORDER :{BLACK}Orders list - click on an order to highlight it. CTRL + click scrolls to the station
STR_8853_SKIP_THE_CURRENT_ORDER :{BLACK}Skip the current order, and start the next. CTRL + click skips to the selected order
STR_8854_DELETE_THE_HIGHLIGHTED :{BLACK}Delete the highlighted order
@@ -2781,8 +2786,8 @@ STR_8868_TRAIN_CRASH_DIE_IN_FIREBALL :{BLACK}{BIGFONT
STR_8869_CAN_T_REVERSE_DIRECTION :{WHITE}Can't reverse direction of train...
STR_886A_RENAME_TRAIN_VEHICLE_TYPE :{WHITE}Rename train vehicle type
STR_886B_CAN_T_RENAME_TRAIN_VEHICLE :{WHITE}Can't rename train vehicle type...
STR_886D_MAKE_THE_HIGHLIGHTED_ORDER :{BLACK}Make the highlighted order force the vehicle to dump cargo
STR_886F_TRANSFER :{BLACK}Transfer
STR_MAKE_THE_HIGHLIGHTED_ORDER :{BLACK}Make the highlighted order force the vehicle to dump cargo
STR_TRANSFER :{BLACK}Transfer
STR_CLEAR_TIME :{BLACK}Clear Time
STR_RESET_LATENESS :{BLACK}Reset Late Counter
@@ -2860,8 +2865,8 @@ STR_902D_CAN_T_NAME_ROAD_VEHICLE :{WHITE}Can't na
STR_902E_NAME_ROAD_VEHICLE :{BLACK}Name road vehicle
STR_902F_CITIZENS_CELEBRATE_FIRST :{BLACK}{BIGFONT}Citizens celebrate . . .{}First bus arrives at {STATION}!
STR_9030_CITIZENS_CELEBRATE_FIRST :{BLACK}{BIGFONT}Citizens celebrate . . .{}First truck arrives at {STATION}!
STR_902F_CITIZENS_CELEBRATE_FIRST_TRAM :{BLACK}{BIGFONT}Citizens celebrate . . .{}First passenger tram arrives at {STATION}!
STR_9030_CITIZENS_CELEBRATE_FIRST_TRAM :{BLACK}{BIGFONT}Citizens celebrate . . .{}First freight tram arrives at {STATION}!
STR_CITIZENS_CELEBRATE_FIRST_PASSENGER_TRAM :{BLACK}{BIGFONT}Citizens celebrate . . .{}First passenger tram arrives at {STATION}!
STR_CITIZENS_CELEBRATE_FIRST_CARGO_TRAM :{BLACK}{BIGFONT}Citizens celebrate . . .{}First freight tram arrives at {STATION}!
STR_9031_ROAD_VEHICLE_CRASH_DRIVER :{BLACK}{BIGFONT}Road Vehicle Crash!{}Driver dies in fireball after collision with train
STR_9032_ROAD_VEHICLE_CRASH_DIE :{BLACK}{BIGFONT}Road Vehicle Crash!{}{COMMA} die in fireball after collision with train
STR_9033_CAN_T_MAKE_VEHICLE_TURN :{WHITE}Can't make vehicle turn around...
@@ -2870,7 +2875,7 @@ STR_9034_RENAME :{BLACK}Rename
STR_9035_RENAME_ROAD_VEHICLE_TYPE :{BLACK}Rename road vehicle type
STR_9036_RENAME_ROAD_VEHICLE_TYPE :{WHITE}Rename road vehicle type
STR_9037_CAN_T_RENAME_ROAD_VEHICLE :{WHITE}Can't rename road vehicle type...
STR_9038_GO_TO_ROADVEH_DEPOT :Go to {TOWN} Road Vehicle Depot
STR_GO_TO_ROADVEH_DEPOT :Go to {TOWN} Road Vehicle Depot
STR_SERVICE_AT_ROADVEH_DEPOT :Service at {TOWN} Road Vehicle Depot
STR_REFIT_ROAD_VEHICLE_TO_CARRY :{BLACK}Refit road vehicle to carry a different cargo type
@@ -3244,6 +3249,12 @@ STR_PURCHASE_INFO_ALL_TYPES :All cargo types
STR_PURCHASE_INFO_ALL_BUT :All but {GOLD}
STR_PURCHASE_INFO_MAX_TE :{BLACK}Max. Tractive Effort: {GOLD}{FORCE}
########### For showing numbers in widgets
STR_NUM_1 :{BLACK}{SKIP}{NUM}
STR_NUM_2 :{BLACK}{SKIP}{SKIP}{NUM}
STR_NUM_3 :{BLACK}{SKIP}{SKIP}{SKIP}{NUM}
########### String for New Landscape Generator
STR_GENERATE :{WHITE}Generate
@@ -3271,7 +3282,6 @@ STR_HEIGHTMAP_SCALE_WARNING_CAPTION :{WHITE}Scale wa
STR_HEIGHTMAP_SCALE_WARNING_MESSAGE :{YELLOW}Resizing source map too much is not recommended. Continue with the generation?
STR_TOWN_LAYOUT_WARNING_CAPTION :{WHITE}Town layout warning
STR_TOWN_LAYOUT_WARNING_MESSAGE :{YELLOW}The town layout "no more roads" is not recommended. Continue with the generation?
STR_SNOW_LINE_HEIGHT_NUM :{NUM}
STR_HEIGHTMAP_NAME :{BLACK}Heightmap name:
STR_HEIGHTMAP_SIZE :{BLACK}Size: {ORANGE}{NUM} x {NUM}
STR_GENERATION_WORLD :{WHITE}Generating world...
@@ -3297,7 +3307,6 @@ STR_FLAT_WORLD_HEIGHT_DOWN :{BLACK}Move the
STR_FLAT_WORLD_HEIGHT_UP :{BLACK}Move the height of flat land one up
STR_FLAT_WORLD_HEIGHT_QUERY_CAPT :{WHITE}Change height of flat land
STR_FLAT_WORLD_HEIGHT :{BLACK}Height of flat land:
STR_FLAT_WORLD_HEIGHT_NUM :{NUM}
STR_SMALLMAP_CENTER :{BLACK}Center the smallmap on the current position
STR_SMALLMAP_INDUSTRY :{TINYFONT}{STRING} ({NUM})
@@ -3337,14 +3346,15 @@ STR_DRIVE_THROUGH_ERROR_ON_TOWN_ROAD :{WHITE}...this
STR_DRIVE_THROUGH_ERROR_DIRECTION :{WHITE}...road facing in the wrong direction
STR_TRANSPARENCY_TOOLB :{WHITE}Transparency Options
STR_TRANSPARENT_SIGNS_DESC :{BLACK}Toggle transparency for station signs
STR_TRANSPARENT_TREES_DESC :{BLACK}Toggle transparency for trees
STR_TRANSPARENT_HOUSES_DESC :{BLACK}Toggle transparency for houses
STR_TRANSPARENT_INDUSTRIES_DESC :{BLACK}Toggle transparency for industries
STR_TRANSPARENT_BUILDINGS_DESC :{BLACK}Toggle transparency for buildables like stations, depots, waypoints and catenary
STR_TRANSPARENT_BRIDGES_DESC :{BLACK}Toggle transparency for bridges
STR_TRANSPARENT_STRUCTURES_DESC :{BLACK}Toggle transparency for structures like lighthouses and antennas, maybe in future for eyecandy
STR_TRANSPARENT_LOADING_DESC :{BLACK}Toggle transparency for loading indicators
STR_TRANSPARENT_SIGNS_DESC :{BLACK}Toggle transparency for station signs. CTRL+click to lock.
STR_TRANSPARENT_TREES_DESC :{BLACK}Toggle transparency for trees. CTRL+click to lock.
STR_TRANSPARENT_HOUSES_DESC :{BLACK}Toggle transparency for houses. CTRL+click to lock.
STR_TRANSPARENT_INDUSTRIES_DESC :{BLACK}Toggle transparency for industries. CTRL+click to lock.
STR_TRANSPARENT_BUILDINGS_DESC :{BLACK}Toggle transparency for buildables like stations, depots and waypoints. CTRL+click to lock.
STR_TRANSPARENT_BRIDGES_DESC :{BLACK}Toggle transparency for bridges. CTRL+click to lock.
STR_TRANSPARENT_STRUCTURES_DESC :{BLACK}Toggle transparency for structures like lighthouses and antennas. CTRL+click to lock.
STR_TRANSPARENT_CATENARY_DESC :{BLACK}Toggle transparency for catenary. CTRL+click to lock.
STR_TRANSPARENT_LOADING_DESC :{BLACK}Toggle transparency for loading indicators. CTRL+click to lock.
STR_PERCENT_UP_SMALL :{TINYFONT}{WHITE}{NUM}%{UPARROW}
STR_PERCENT_UP :{WHITE}{NUM}%{UPARROW}
+62 -76
View File
@@ -15,8 +15,6 @@ STR_EMPTY :
STR_0007_FLAT_LAND_REQUIRED :{WHITE}Flat land required
STR_0008_WAITING :{BLACK}Waiting: {WHITE}{STRING}
STR_0009 :{WHITE}{CARGO}
STR_000A_EN_ROUTE_FROM :{WHITE}{CARGO}{YELLOW} (en-route from
STR_000B :{YELLOW}{STATION})
STR_000C_ACCEPTS :{BLACK}Accepts: {WHITE}
STR_000D_ACCEPTS :{BLACK}Accepts: {GOLD}
STR_000E :
@@ -168,7 +166,7 @@ STR_00C6 :{SILVER}{CROSS}
STR_00C7_QUIT :{WHITE}Quit
STR_00C8_YES :{BLACK}Yes
STR_00C9_NO :{BLACK}No
STR_00CA_ARE_YOU_SURE_YOU_WANT_TO :{YELLOW}Are you sure you want to abandon this game and return to {STRING}?
STR_00CA_ARE_YOU_SURE_YOU_WANT_TO :{YELLOW}Are you sure you want to quit OpenTTD and return to {STRING}?
STR_00CB_1 :{BLACK}1
STR_00CC_2 :{BLACK}2
STR_00CD_3 :{BLACK}3
@@ -274,9 +272,9 @@ STR_0130_RENAME :{BLACK}Rename
STR_0131_TOO_MANY_NAMES_DEFINED :{WHITE}Too many names defined
STR_0132_CHOSEN_NAME_IN_USE_ALREADY :{WHITE}Chosen name already in use
STR_0133_WINDOWS :Windows
STR_0134_UNIX :Unix
STR_0135_OSX :OS X
STR_OSNAME_WINDOWS :Windows
STR_OSNAME_UNIX :Unix
STR_OSNAME_OSX :OS X
STR_OSNAME_BEOS :BeOS
STR_OSNAME_MORPHOS :MorphOS
STR_OSNAME_AMIGAOS :AmigaOS
@@ -287,11 +285,11 @@ STR_013B_OWNED_BY :{WHITE}...owned
STR_013C_CARGO :{BLACK}Cargo
STR_013D_INFORMATION :{BLACK}Information
STR_013E_CAPACITIES :{BLACK}Capacities
STR_013E_TOTAL_CARGO :{BLACK}Total Cargo
STR_TOTAL_CARGO :{BLACK}Total Cargo
STR_013F_CAPACITY :{BLACK}Capacity: {LTBLUE}{CARGO}
STR_CAPACITY_MULT :{BLACK}Capacity: {LTBLUE}{CARGO} (x{NUM})
STR_013F_TOTAL_CAPACITY_TEXT :{BLACK}Total cargo (capacity) of this train:
STR_013F_TOTAL_CAPACITY :{LTBLUE}- {CARGO} ({SHORTCARGO})
STR_TOTAL_CAPACITY_TEXT :{BLACK}Total cargo (capacity) of this train:
STR_TOTAL_CAPACITY :{LTBLUE}- {CARGO} ({SHORTCARGO})
STR_TOTAL_CAPACITY_MULT :{LTBLUE}- {CARGO} ({SHORTCARGO}) (x{NUM})
STR_0140_NEW_GAME :{BLACK}New Game
STR_0141_LOAD_GAME :{BLACK}Load Game
@@ -299,12 +297,6 @@ STR_SINGLE_PLAYER :{BLACK}Single p
STR_MULTIPLAYER :{BLACK}Multiplayer
STR_SCENARIO_EDITOR :{BLACK}Scenario Editor
STR_64 :64
STR_128 :128
STR_256 :256
STR_512 :512
STR_1024 :1024
STR_2048 :2048
STR_MAPSIZE :{BLACK}Map size:
STR_BY :{BLACK}*
STR_0148_GAME_OPTIONS :{BLACK}Game Options
@@ -736,7 +728,7 @@ STR_0290_DELETE :{BLACK}Delete
STR_0291_DELETE_THIS_TOWN_COMPLETELY :{BLACK}Delete this town completely
STR_0292_SAVE_SCENARIO :Save scenario
STR_0293_LOAD_SCENARIO :Load scenario
STR_LOAD_HEIGHTMAP :Load heightmap
STR_MENU_LOAD_HEIGHTMAP :Load heightmap
STR_0294_QUIT_EDITOR :Quit editor
STR_0295 :
STR_0296_QUIT :Quit
@@ -776,9 +768,9 @@ STR_02C2_SAVE_CUSTOMIZED_VEHICLE :{BLACK}Save cus
STR_CHECKMARK :{CHECKMARK}
############ range for menu starts
STR_02C3_GAME_OPTIONS :Game options
STR_02C5_DIFFICULTY_SETTINGS :Difficulty settings
STR_02C7_CONFIG_PATCHES :Configure patches
STR_02C4_GAME_OPTIONS :Game options
STR_02C6_DIFFICULTY_SETTINGS :Difficulty settings
STR_MENU_CONFIG_PATCHES :Configure patches
STR_NEWGRF_SETTINGS :Newgrf settings
STR_TRANSPARENCY_OPTIONS :Transparency options
STR_GAMEOPTMENU_0A :
@@ -878,8 +870,8 @@ STR_SAVING_GAME :{RED}* * SAVI
STR_SAVE_STILL_IN_PROGRESS :{WHITE}Saving still in progress,{}please wait until it is finished!
STR_0330_SELECT_EZY_STREET_STYLE :{BLACK}Select 'Ezy Street style music' program
STR_0335_6 :{BLACK}6
STR_0336_7 :{BLACK}7
STR_6 :{BLACK}6
STR_7 :{BLACK}7
############ start of townname region
STR_TOWNNAME_ORIGINAL_ENGLISH :English (Original)
@@ -1054,7 +1046,6 @@ STR_CONFIG_PATCHES_BRIBE :{LTBLUE}Allow b
STR_CONFIG_PATCHES_ALLOW_EXCLUSIVE :{LTBLUE}Allow buying exclusive transport rights: {ORANGE}{STRING}
STR_CONFIG_PATCHES_ALLOW_GIVE_MONEY :{LTBLUE}Allow sending money to other companies: {ORANGE}{STRING}
STR_CONFIG_PATCHES_NONUNIFORM_STATIONS :{LTBLUE}Nonuniform stations: {ORANGE}{STRING}
STR_CONFIG_PATCHES_NEW_PATHFINDING_ALL :{LTBLUE}New global pathfinding (NPF, overrides NTP): {ORANGE}{STRING}
STR_CONFIG_PATCHES_FREIGHT_TRAINS :{LTBLUE}Weight multiplier for freight to simulate heavy trains: {ORANGE}{STRING}
STR_CONFIG_PATCHES_STOP_ON_TOWN_ROAD :{LTBLUE}Allow drive-through road stops on town owned roads: {ORANGE}{STRING}
STR_CONFIG_PATCHES_ADJACENT_STATIONS :{LTBLUE}Allow building adjacent stations: {ORANGE}{STRING}
@@ -1209,9 +1200,6 @@ STR_CONFIG_PATCHES_CURRENCY :{CURRENCY}
STR_CONFIG_PATCHES_QUERY_CAPT :{WHITE}Change setting value
STR_CONFIG_PATCHES_SERVICE_INTERVAL_INCOMPATIBLE :{WHITE}Some or all of the default service interval(s) below are incompatible with chosen setting! 5-90% and 30-800 days are valid
STR_CONFIG_PATCHES_YAPF_SHIPS :{LTBLUE}Use YAPF for ships: {ORANGE}{STRING}
STR_CONFIG_PATCHES_YAPF_ROAD :{LTBLUE}Use YAPF for roadvehs: {ORANGE}{STRING}
STR_CONFIG_PATCHES_YAPF_RAIL :{LTBLUE}Use YAPF for trains: {ORANGE}{STRING}
STR_TEMPERATE_LANDSCAPE :Temperate landscape
STR_SUB_ARCTIC_LANDSCAPE :Sub-arctic landscape
@@ -1653,42 +1641,42 @@ STR_MUST_REMOVE_RAILWAY_STATION_FIRST :{WHITE}Must rem
STR_1801_MUST_REMOVE_ROAD_FIRST :{WHITE}Must remove road first
STR_ROAD_WORKS_IN_PROGRESS :{WHITE}Road works in progress
STR_1802_ROAD_CONSTRUCTION :{WHITE}Road Construction
STR_1802_TRAMWAY_CONSTRUCTION :{WHITE}Tramway Construction
STR_WHITE_TRAMWAY_CONSTRUCTION :{WHITE}Tramway Construction
STR_1803_SELECT_ROAD_BRIDGE :{WHITE}Select Road Bridge
STR_ERR_ONEWAY_ROADS_CAN_T_HAVE_JUNCTION :{WHITE}... one way roads can't have junctions
STR_1804_CAN_T_BUILD_ROAD_HERE :{WHITE}Can't build road here...
STR_1804_CAN_T_BUILD_TRAMWAY_HERE :{WHITE}Can't build tramway here...
STR_CAN_T_BUILD_TRAMWAY_HERE :{WHITE}Can't build tramway here...
STR_1805_CAN_T_REMOVE_ROAD_FROM :{WHITE}Can't remove road from here...
STR_1805_CAN_T_REMOVE_TRAMWAY_FROM :{WHITE}Can't remove tramway from here...
STR_CAN_T_REMOVE_TRAMWAY_FROM :{WHITE}Can't remove tramway from here...
STR_1806_ROAD_DEPOT_ORIENTATION :{WHITE}Road Depot Orientation
STR_1806_TRAM_DEPOT_ORIENTATION :{WHITE}Tram Depot Orientation
STR_TRAM_DEPOT_ORIENTATION :{WHITE}Tram Depot Orientation
STR_1807_CAN_T_BUILD_ROAD_VEHICLE :{WHITE}Can't build road vehicle depot here...
STR_1807_CAN_T_BUILD_TRAM_VEHICLE :{WHITE}Can't build tram vehicle depot here...
STR_CAN_T_BUILD_TRAM_VEHICLE :{WHITE}Can't build tram vehicle depot here...
STR_1808_CAN_T_BUILD_BUS_STATION :{WHITE}Can't build bus station...
STR_1809_CAN_T_BUILD_TRUCK_STATION :{WHITE}Can't build truck station...
STR_1808_CAN_T_BUILD_PASSENGER_TRAM_STATION :{WHITE}Can't build passenger tram station...
STR_1809_CAN_T_BUILD_CARGO_TRAM_STATION :{WHITE}Can't build freight tram station...
STR_CAN_T_BUILD_PASSENGER_TRAM_STATION :{WHITE}Can't build passenger tram station...
STR_CAN_T_BUILD_CARGO_TRAM_STATION :{WHITE}Can't build freight tram station...
STR_180A_ROAD_CONSTRUCTION :Road construction
STR_180A_TRAMWAY_CONSTRUCTION :Tramway construction
STR_TRAMWAY_CONSTRUCTION :Tramway construction
STR_180B_BUILD_ROAD_SECTION :{BLACK}Build road section
STR_BUILD_AUTOROAD_TIP :{BLACK}Build road section using the Autoroad mode
STR_180B_BUILD_TRAMWAY_SECTION :{BLACK}Build tramway section
STR_BUILD_TRAMWAY_SECTION :{BLACK}Build tramway section
STR_BUILD_AUTOTRAM_TIP :{BLACK}Build tramway section using the Autotram mode
STR_180C_BUILD_ROAD_VEHICLE_DEPOT :{BLACK}Build road vehicle depot (for building and servicing vehicles)
STR_180C_BUILD_TRAM_VEHICLE_DEPOT :{BLACK}Build tram vehicle depot (for building and servicing trams)
STR_BUILD_TRAM_VEHICLE_DEPOT :{BLACK}Build tram vehicle depot (for building and servicing trams)
STR_180D_BUILD_BUS_STATION :{BLACK}Build bus station
STR_180E_BUILD_TRUCK_LOADING_BAY :{BLACK}Build truck loading bay
STR_180D_BUILD_PASSENGER_TRAM_STATION :{BLACK}Build passenger tram station
STR_180E_BUILD_CARGO_TRAM_STATION :{BLACK}Build freight tram station
STR_BUILD_PASSENGER_TRAM_STATION :{BLACK}Build passenger tram station
STR_BUILD_CARGO_TRAM_STATION :{BLACK}Build freight tram station
STR_180F_BUILD_ROAD_BRIDGE :{BLACK}Build road bridge
STR_180F_BUILD_TRAMWAY_BRIDGE :{BLACK}Build tramway bridge
STR_BUILD_TRAMWAY_BRIDGE :{BLACK}Build tramway bridge
STR_1810_BUILD_ROAD_TUNNEL :{BLACK}Build road tunnel
STR_1810_BUILD_TRAMWAY_TUNNEL :{BLACK}Build tramway tunnel
STR_BUILD_TRAMWAY_TUNNEL :{BLACK}Build tramway tunnel
STR_TOGGLE_ONE_WAY_ROAD :{BLACK}Activate/Deactivate one way roads
STR_1811_TOGGLE_BUILD_REMOVE_FOR :{BLACK}Toggle build/remove for road construction
STR_1811_TOGGLE_BUILD_REMOVE_FOR_TRAMWAYS :{BLACK}Toggle build/remove for tramway construction
STR_TOGGLE_BUILD_REMOVE_FOR_TRAMWAYS :{BLACK}Toggle build/remove for tramway construction
STR_1813_SELECT_ROAD_VEHICLE_DEPOT :{BLACK}Select road vehicle depot orientation
STR_1813_SELECT_TRAM_VEHICLE_DEPOT :{BLACK}Select tram vehicle depot orientation
STR_SELECT_TRAM_VEHICLE_DEPOT :{BLACK}Select tram vehicle depot orientation
STR_1814_ROAD :Road
STR_1815_ROAD_WITH_STREETLIGHTS :Road with streetlights
STR_1816_TREE_LINED_ROAD :Tree-lined road
@@ -1831,8 +1819,8 @@ STR_3005_TOO_CLOSE_TO_ANOTHER_RAILROAD :{WHITE}Too clos
STR_3006_ADJOINS_MORE_THAN_ONE_EXISTING :{WHITE}Adjoins more than one existing station/loading area
STR_3007_TOO_MANY_STATIONS_LOADING :{WHITE}Too many stations/loading areas in this town
STR_3008_TOO_MANY_STATIONS_LOADING :{WHITE}Too many stations/loading areas
STR_3008A_TOO_MANY_BUS_STOPS :{WHITE}Too many bus stops
STR_3008B_TOO_MANY_TRUCK_STOPS :{WHITE}Too many truck stations
STR_TOO_MANY_BUS_STOPS :{WHITE}Too many bus stops
STR_TOO_MANY_TRUCK_STOPS :{WHITE}Too many truck stations
STR_3009_TOO_CLOSE_TO_ANOTHER_STATION :{WHITE}Too close to another station/loading area
STR_300A_0 :{WHITE}{STATION} {STATIONFEATURES}
STR_300B_MUST_DEMOLISH_RAILROAD :{WHITE}Must demolish railroad station first
@@ -1863,12 +1851,12 @@ STR_3040_NOW_ACCEPTS :{WHITE}{STATION
STR_3041_NOW_ACCEPTS_AND :{WHITE}{STATION} now accepts {STRING} and {STRING}
STR_3042_BUS_STATION_ORIENTATION :{WHITE}Bus Station Orientation
STR_3043_TRUCK_STATION_ORIENT :{WHITE}Truck Station Orient.
STR_3042_PASSENGER_TRAM_STATION_ORIENTATION :{WHITE}Passenger Tram Orientation
STR_3043_CARGO_TRAM_STATION_ORIENT :{WHITE}Freight Tram Orientation
STR_PASSENGER_TRAM_STATION_ORIENTATION :{WHITE}Passenger Tram Orientation
STR_CARGO_TRAM_STATION_ORIENT :{WHITE}Freight Tram Orientation
STR_3046_MUST_DEMOLISH_BUS_STATION :{WHITE}Must demolish bus station first
STR_3047_MUST_DEMOLISH_TRUCK_STATION :{WHITE}Must demolish truck station first
STR_3046_MUST_DEMOLISH_PASSENGER_TRAM_STATION :{WHITE}Must demolish passenger tram station first
STR_3047_MUST_DEMOLISH_CARGO_TRAM_STATION :{WHITE}Must demolish freight tram station first
STR_MUST_DEMOLISH_PASSENGER_TRAM_STATION :{WHITE}Must demolish passenger tram station first
STR_MUST_DEMOLISH_CARGO_TRAM_STATION :{WHITE}Must demolish freight tram station first
STR_3048_STATIONS :{WHITE}{COMPANY} - {COMMA} Station{P "" s}
STR_3049_0 :{YELLOW}{STATION} {STATIONFEATURES}
STR_304A_NONE :{YELLOW}- None -
@@ -1880,8 +1868,8 @@ STR_304F_SELECT_NUMBER_OF_PLATFORMS :{BLACK}Select n
STR_3050_SELECT_LENGTH_OF_RAILROAD :{BLACK}Select length of railroad station
STR_3051_SELECT_BUS_STATION_ORIENTATION :{BLACK}Select bus station orientation
STR_3052_SELECT_TRUCK_LOADING_BAY :{BLACK}Select truck loading bay orientation
STR_3051_SELECT_PASSENGER_TRAM_STATION_ORIENTATION :{BLACK}Select passenger tram station orientation
STR_3052_SELECT_CARGO_TRAM_STATION_ORIENTATION :{BLACK}Select freight tram station orientation
STR_SELECT_PASSENGER_TRAM_STATION_ORIENTATION :{BLACK}Select passenger tram station orientation
STR_SELECT_CARGO_TRAM_STATION_ORIENTATION :{BLACK}Select freight tram station orientation
STR_3053_CENTER_MAIN_VIEW_ON_STATION :{BLACK}Center main view on station location
STR_3054_SHOW_STATION_RATINGS :{BLACK}Show station ratings
STR_3055_CHANGE_NAME_OF_STATION :{BLACK}Change name of station
@@ -1903,7 +1891,7 @@ STR_3068_DOCK :{WHITE}Dock
STR_3069_BUOY :Buoy
STR_306A_BUOY_IN_THE_WAY :{WHITE}...buoy in the way
STR_306C_STATION_TOO_SPREAD_OUT :{WHITE}...station too spread out
STR_306D_NONUNIFORM_STATIONS_DISALLOWED :{WHITE}...nonuniform stations disabled
STR_NONUNIFORM_STATIONS_DISALLOWED :{WHITE}...nonuniform stations disabled
STR_USE_CTRL_TO_SELECT_MORE :{BLACK}Hold down CTRL to select more than one item
STR_UNDEFINED :(undefined string)
@@ -1944,7 +1932,7 @@ STR_400D_SAVE_THE_CURRENT_GAME_USING :{BLACK}Save the
STR_400E_SELECT_NEW_GAME_TYPE :{WHITE}Select New Game Type
STR_400F_SELECT_SCENARIO_GREEN_PRE :{BLACK}Select scenario (green), pre-set game (blue), or random new game
STR_4010_GENERATE_RANDOM_NEW_GAME :Generate random new game
STR_4011_LOAD_HEIGHTMAP :{WHITE}Load Heightmap
STR_LOAD_HEIGHTMAP :{WHITE}Load Heightmap
##id 0x4800
STR_4800_IN_THE_WAY :{WHITE}{STRING} in the way
@@ -2148,10 +2136,10 @@ STR_6812_QUANTITY_OF_SEA_LAKES :{LTBLUE}Quantit
STR_6813_ECONOMY :{LTBLUE}Economy: {ORANGE}{STRING}
STR_6814_TRAIN_REVERSING :{LTBLUE}Train reversing: {ORANGE}{STRING}
STR_6815_DISASTERS :{LTBLUE}Disasters: {ORANGE}{STRING}
STR_16816_CITY_APPROVAL :{LTBLUE}City council's attitude towards area restructuring: {ORANGE}{STRING}
STR_CITY_APPROVAL :{LTBLUE}City council's attitude towards area restructuring: {ORANGE}{STRING}
############ range for difficulty settings ends
STR_26816_NONE :None
STR_NONE :None
STR_NUM_VERY_LOW :Very low
STR_6816_LOW :Low
STR_6817_NORMAL :Normal
@@ -2189,9 +2177,9 @@ STR_6835_AT_END_OF_LINE_ONLY :At end of line
STR_6836_OFF :Off
STR_6837_ON :On
STR_6838_SHOW_HI_SCORE_CHART :{BLACK}Show hi-score chart
STR_6839_PERMISSIVE :Permissive
STR_683A_TOLERANT :Tolerant
STR_683B_HOSTILE :Hostile
STR_PERMISSIVE :Permissive
STR_TOLERANT :Tolerant
STR_HOSTILE :Hostile
##id 0x7000
STR_7000 :
@@ -2328,7 +2316,7 @@ STR_707B_CAN_T_BUY_25_SHARE_IN_THIS :{WHITE}Can't bu
STR_707C_CAN_T_SELL_25_SHARE_IN :{WHITE}Can't sell 25% share in this company...
STR_707D_OWNED_BY :{WHITE}({COMMA}% owned by {COMPANY})
STR_707F_HAS_BEEN_TAKEN_OVER_BY :{BLACK}{BIGFONT}{COMPANY} has been taken over by {COMPANY}!
STR_7080_PROTECTED :{WHITE}This company is not old enough to trade shares yet...
STR_PROTECTED :{WHITE}This company is not old enough to trade shares yet...
STR_LIVERY_DEFAULT :Standard Livery
STR_LIVERY_STEAM :Steam Engine
@@ -2635,17 +2623,17 @@ STR_8803_TRAIN_IN_THE_WAY :{WHITE}Train in
STR_8804 :{SETX 10}{COMMA}: {STRING} {STRING}
STR_8805 :{RIGHTARROW}{SETX 10}{COMMA}: {STRING} {STRING}
STR_8806_GO_TO :Go to {STATION}
STR_8807_GO_TO_TRANSFER :Go to {STATION} (Transfer and take cargo)
STR_8808_GO_TO_UNLOAD :Go to {STATION} (Unload)
STR_8809_GO_TO_TRANSFER_UNLOAD :Go to {STATION} (Transfer and leave empty)
STR_880A_GO_TO_LOAD :Go to {STATION} (Load)
STR_880B_GO_TO_TRANSFER_LOAD :Go to {STATION} (Transfer and wait for full load)
STR_880C_GO_NON_STOP_TO :Go non-stop to {STATION}
STR_880D_GO_TO_NON_STOP_TRANSFER :Go non-stop to {STATION} (Transfer and take cargo)
STR_880E_GO_NON_STOP_TO_UNLOAD :Go non-stop to {STATION} (Unload)
STR_880F_GO_TO_NON_STOP_TRANSFER_UNLOAD :Go non-stop to {STATION} (Transfer and leave empty)
STR_8810_GO_NON_STOP_TO_LOAD :Go non-stop to {STATION} (Load)
STR_8811_GO_TO_NON_STOP_TRANSFER_LOAD :Go non-stop to {STATION} (Transfer and wait for full load)
STR_GO_TO_TRANSFER :Go to {STATION} (Transfer and take cargo)
STR_8807_GO_TO_UNLOAD :Go to {STATION} (Unload)
STR_GO_TO_TRANSFER_UNLOAD :Go to {STATION} (Transfer and leave empty)
STR_8808_GO_TO_LOAD :Go to {STATION} (Load)
STR_GO_TO_TRANSFER_LOAD :Go to {STATION} (Transfer and wait for full load)
STR_880A_GO_NON_STOP_TO :Go non-stop to {STATION}
STR_GO_TO_NON_STOP_TRANSFER :Go non-stop to {STATION} (Transfer and take cargo)
STR_880B_GO_NON_STOP_TO_UNLOAD :Go non-stop to {STATION} (Unload)
STR_GO_TO_NON_STOP_TRANSFER_UNLOAD :Go non-stop to {STATION} (Transfer and leave empty)
STR_880C_GO_NON_STOP_TO_LOAD :Go non-stop to {STATION} (Load)
STR_GO_TO_NON_STOP_TRANSFER_LOAD :Go non-stop to {STATION} (Transfer and wait for full load)
STR_GO_TO_TRAIN_DEPOT :Go to {TOWN} Train Depot
STR_SERVICE_AT_TRAIN_DEPOT :Service at {TOWN} Train Depot
STR_880F_GO_NON_STOP_TO_TRAIN_DEPOT :Go non-stop to {TOWN} Train Depot
@@ -2749,7 +2737,7 @@ STR_884E_DECREASE_SERVICING_INTERVAL :{BLACK}Decrease
STR_884F_SHOW_DETAILS_OF_CARGO_CARRIED :{BLACK}Show details of cargo carried
STR_8850_SHOW_DETAILS_OF_TRAIN_VEHICLES :{BLACK}Show details of train vehicles
STR_8851_SHOW_CAPACITIES_OF_EACH :{BLACK}Show capacities of each vehicle
STR_8852_SHOW_TOTAL_CARGO :{BLACK}Show total capacity of train, split by cargo type
STR_SHOW_TOTAL_CARGO :{BLACK}Show total capacity of train, split by cargo type
STR_8852_ORDERS_LIST_CLICK_ON_ORDER :{BLACK}Orders list - click on order to highlight it
STR_8853_SKIP_THE_CURRENT_ORDER :{BLACK}Skip the current order, and start the next. CTRL + click skips to the selected order)
STR_8854_DELETE_THE_HIGHLIGHTED :{BLACK}Delete the highlighted order
@@ -2780,8 +2768,8 @@ STR_8868_TRAIN_CRASH_DIE_IN_FIREBALL :{BLACK}{BIGFONT
STR_8869_CAN_T_REVERSE_DIRECTION :{WHITE}Can't reverse direction of train...
STR_886A_RENAME_TRAIN_VEHICLE_TYPE :{WHITE}Rename train vehicle type
STR_886B_CAN_T_RENAME_TRAIN_VEHICLE :{WHITE}Can't rename train vehicle type...
STR_886D_MAKE_THE_HIGHLIGHTED_ORDER :{BLACK}Make the highlighted order force the vehicle to dump cargo
STR_886F_TRANSFER :{BLACK}Transfer
STR_MAKE_THE_HIGHLIGHTED_ORDER :{BLACK}Make the highlighted order force the vehicle to dump cargo
STR_TRANSFER :{BLACK}Transfer
STR_CLEAR_TIME :{BLACK}Clear Time
STR_RESET_LATENESS :{BLACK}Reset Late Counter
@@ -2858,8 +2846,8 @@ STR_902D_CAN_T_NAME_ROAD_VEHICLE :{WHITE}Can't na
STR_902E_NAME_ROAD_VEHICLE :{BLACK}Name road vehicle
STR_902F_CITIZENS_CELEBRATE_FIRST :{BLACK}{BIGFONT}Citizens celebrate . . .{}First bus arrives at {STATION}!
STR_9030_CITIZENS_CELEBRATE_FIRST :{BLACK}{BIGFONT}Citizens celebrate . . .{}First truck arrives at {STATION}!
STR_902F_CITIZENS_CELEBRATE_FIRST_TRAM :{BLACK}{BIGFONT}Citizens celebrate . . .{}First passenger tram arrives at {STATION}!
STR_9030_CITIZENS_CELEBRATE_FIRST_TRAM :{BLACK}{BIGFONT}Citizens celebrate . . .{}First freight tram arrives at {STATION}!
STR_CITIZENS_CELEBRATE_FIRST_PASSENGER_TRAM :{BLACK}{BIGFONT}Citizens celebrate . . .{}First passenger tram arrives at {STATION}!
STR_CITIZENS_CELEBRATE_FIRST_CARGO_TRAM :{BLACK}{BIGFONT}Citizens celebrate . . .{}First freight tram arrives at {STATION}!
STR_9031_ROAD_VEHICLE_CRASH_DRIVER :{BLACK}{BIGFONT}Road Vehicle Crash!{}Driver dies in fireball after collision with train
STR_9032_ROAD_VEHICLE_CRASH_DIE :{BLACK}{BIGFONT}Road Vehicle Crash!{}{COMMA} die in fireball after collision with train
STR_9033_CAN_T_MAKE_VEHICLE_TURN :{WHITE}Can't make vehicle turn around...
@@ -2868,7 +2856,7 @@ STR_9034_RENAME :{BLACK}Rename
STR_9035_RENAME_ROAD_VEHICLE_TYPE :{BLACK}Rename road vehicle type
STR_9036_RENAME_ROAD_VEHICLE_TYPE :{WHITE}Rename road vehicle type
STR_9037_CAN_T_RENAME_ROAD_VEHICLE :{WHITE}Can't rename road vehicle type...
STR_9038_GO_TO_ROADVEH_DEPOT :Go to {TOWN} Road Vehicle Depot
STR_GO_TO_ROADVEH_DEPOT :Go to {TOWN} Road Vehicle Depot
STR_SERVICE_AT_ROADVEH_DEPOT :Service at {TOWN} Road Vehicle Depot
STR_REFIT_ROAD_VEHICLE_TO_CARRY :{BLACK}Refit road vehicle to carry a different cargo type
@@ -3267,7 +3255,6 @@ STR_HEIGHTMAP_SCALE_WARNING_CAPTION :{WHITE}Scale wa
STR_HEIGHTMAP_SCALE_WARNING_MESSAGE :{YELLOW}Resizing source map too much is not recommended. Continue with the generation?
STR_TOWN_LAYOUT_WARNING_CAPTION :{WHITE}Town layout warning
STR_TOWN_LAYOUT_WARNING_MESSAGE :{YELLOW}The town layout "no more roads" is not recommended. Continue with the generation?
STR_SNOW_LINE_HEIGHT_NUM :{NUM}
STR_HEIGHTMAP_NAME :{BLACK}Heightmap name:
STR_HEIGHTMAP_SIZE :{BLACK}Size: {ORANGE}{NUM} x {NUM}
STR_GENERATION_WORLD :{WHITE}Generating world...
@@ -3293,7 +3280,6 @@ STR_FLAT_WORLD_HEIGHT_DOWN :{BLACK}Move the
STR_FLAT_WORLD_HEIGHT_UP :{BLACK}Move the height of flat land up one
STR_FLAT_WORLD_HEIGHT_QUERY_CAPT :{WHITE}Change height of flat land
STR_FLAT_WORLD_HEIGHT :{BLACK}Height of flat land:
STR_FLAT_WORLD_HEIGHT_NUM :{NUM}
STR_SMALLMAP_CENTER :{BLACK}Center the smallmap on the current position
STR_SMALLMAP_INDUSTRY :{TINYFONT}{STRING} ({NUM})
+37 -51
View File
@@ -16,8 +16,6 @@ STR_EMPTY :
STR_0007_FLAT_LAND_REQUIRED :{WHITE}Necesas ebena lando
STR_0008_WAITING :{BLACK}Atendas: {WHITE}{STRING}
STR_0009 :{WHITE}{CARGO}
STR_000A_EN_ROUTE_FROM :{WHITE}{CARGO}{YELLOW} (survoje de
STR_000B :{YELLOW}{STATION})
STR_000C_ACCEPTS :{BLACK}Akceptiĝas: {WHITE}
STR_000D_ACCEPTS :{BLACK}Akceptiĝas: {GOLD}
STR_000E :
@@ -275,9 +273,9 @@ STR_0130_RENAME :{BLACK}Renomu
STR_0131_TOO_MANY_NAMES_DEFINED :{WHITE}Tro da nomoj difinitaj
STR_0132_CHOSEN_NAME_IN_USE_ALREADY :{WHITE}La elektita nomo jam uziĝas
STR_0133_WINDOWS :Vindozo
STR_0134_UNIX :Unikso
STR_0135_OSX :OS X
STR_OSNAME_WINDOWS :Vindozo
STR_OSNAME_UNIX :Unikso
STR_OSNAME_OSX :OS X
STR_OSNAME_BEOS :BeOS
STR_OSNAME_MORPHOS :MorphOS
STR_OSNAME_AMIGAOS :AmigaOS
@@ -288,11 +286,11 @@ STR_013B_OWNED_BY :{WHITE}...posed
STR_013C_CARGO :{BLACK}Ŝarĝo
STR_013D_INFORMATION :{BLACK}Informoj
STR_013E_CAPACITIES :{BLACK}Kapabloj
STR_013E_TOTAL_CARGO :{BLACK}Tuta Ŝarĝo
STR_TOTAL_CARGO :{BLACK}Tuta Ŝarĝo
STR_013F_CAPACITY :{BLACK}Enhavkapablo: {LTBLUE}{CARGO}
STR_CAPACITY_MULT :{BLACK}Kapablo: {LTBLUE}{CARGO} (x{NUM})
STR_013F_TOTAL_CAPACITY_TEXT :{BLACK}Tuta ŝarĝkapablo de ĉi tiu trajno:
STR_013F_TOTAL_CAPACITY :{LTBLUE}- {CARGO} ({SHORTCARGO})
STR_TOTAL_CAPACITY_TEXT :{BLACK}Tuta ŝarĝkapablo de ĉi tiu trajno:
STR_TOTAL_CAPACITY :{LTBLUE}- {CARGO} ({SHORTCARGO})
STR_TOTAL_CAPACITY_MULT :{LTBLUE}- {CARGO} ({SHORTCARGO}) (x{NUM})
STR_0140_NEW_GAME :{BLACK}Nova Ludo
STR_0141_LOAD_GAME :{BLACK}Ŝarĝu ludon
@@ -300,12 +298,6 @@ STR_SINGLE_PLAYER :{BLACK}Unu Luda
STR_MULTIPLAYER :{BLACK}Pluraj Ludantoj
STR_SCENARIO_EDITOR :{BLACK}Scenarkreilo
STR_64 :64
STR_128 :128
STR_256 :256
STR_512 :512
STR_1024 :1024
STR_2048 :2048
STR_MAPSIZE :{BLACK}Mapgrandeco:
STR_BY :{BLACK}*
STR_0148_GAME_OPTIONS :{BLACK}Ludaj Opcioj
@@ -734,7 +726,7 @@ STR_0290_DELETE :{BLACK}Forigu
STR_0291_DELETE_THIS_TOWN_COMPLETELY :{BLACK}Plene forigu ĉi tiun urbon
STR_0292_SAVE_SCENARIO :Konservu scenaron
STR_0293_LOAD_SCENARIO :Ŝarĝu scenaron
STR_LOAD_HEIGHTMAP :Ŝarĝu altecmapon
STR_MENU_LOAD_HEIGHTMAP :Ŝarĝu altecmapon
STR_0294_QUIT_EDITOR :Fermu kreilon
STR_0295 :
STR_0296_QUIT :Fermu
@@ -774,9 +766,9 @@ STR_02C2_SAVE_CUSTOMIZED_VEHICLE :{BLACK}Konservu
STR_CHECKMARK :{CHECKMARK}
############ range for menu starts
STR_02C3_GAME_OPTIONS :Ludaj opcioj
STR_02C5_DIFFICULTY_SETTINGS :Malfacilec-agordoj
STR_02C7_CONFIG_PATCHES :Agordu flikojn
STR_02C4_GAME_OPTIONS :Ludaj opcioj
STR_02C6_DIFFICULTY_SETTINGS :Malfacilec-agordoj
STR_MENU_CONFIG_PATCHES :Agordu flikojn
STR_NEWGRF_SETTINGS :Agordoj de NewGRF
STR_GAMEOPTMENU_0A :
STR_02CA_TOWN_NAMES_DISPLAYED :{SETX 12}Urbonomoj montriĝas
@@ -875,8 +867,8 @@ STR_SAVING_GAME :{RED}* * KONS
STR_SAVE_STILL_IN_PROGRESS :{WHITE}Ankoraŭ konservas,{}bv atendi ĝis finiĝo!
STR_0330_SELECT_EZY_STREET_STYLE :{BLACK}Elektu programon de 'Facilvoja muziko'
STR_0335_6 :{BLACK}6
STR_0336_7 :{BLACK}7
STR_6 :{BLACK}6
STR_7 :{BLACK}7
############ start of townname region
STR_TOWNNAME_ORIGINAL_ENGLISH :Angle (Origine)
@@ -1044,7 +1036,6 @@ STR_CONFIG_PATCHES_ROADVEH_QUEUE :{LTBLUE}Vojvetu
STR_CONFIG_PATCHES_AUTOSCROLL :{LTBLUE}Ŝovu fenestron se la muso estas ĉe la rando: {ORANGE}{STRING}
STR_CONFIG_PATCHES_BRIBE :{LTBLUE}Permesu subaĉeti la lokajn estrojn: {ORANGE}{STRING}
STR_CONFIG_PATCHES_NONUNIFORM_STATIONS :{LTBLUE}Nekonformaj stacioj: {ORANGE}{STRING}
STR_CONFIG_PATCHES_NEW_PATHFINDING_ALL :{LTBLUE}Nova ĝenerala vojtrovado (NPF, superas NTP): {ORANGE}{STRING}
STR_CONFIG_PATCHES_FREIGHT_TRAINS :{LTBLUE}Pezpliigo pro ŝarĝo por imiti pezajn trajnojn: {ORANGE}{STRING}
STR_CONFIG_PATCHES_STOP_ON_TOWN_ROAD :{LTBLUE}Permesu trairaj bushaltejoj sur vojoj urboposedataj: {ORANGE}{STRING}
STR_CONFIG_PATCHES_ADJACENT_STATIONS :{LTBLUE}Permesu konstrui staciojn apude: {ORANGE}{STRING}
@@ -1171,9 +1162,6 @@ STR_CONFIG_PATCHES_CURRENCY :{CURRENCY}
STR_CONFIG_PATCHES_QUERY_CAPT :{WHITE}Ŝanĝu agord-valoron
STR_CONFIG_PATCHES_SERVICE_INTERVAL_INCOMPATIBLE :{WHITE}Iuj aŭ ĉiuj defaŭltaj prizorgintervaloj ne validas laŭ la agordoj! 5-90% kaj 30-800 tagoj validas
STR_CONFIG_PATCHES_YAPF_SHIPS :{LTBLUE}Uzu YAPF por ŝipoj: {ORANGE}{STRING}
STR_CONFIG_PATCHES_YAPF_ROAD :{LTBLUE}Uzu YAPF por vojveturiloj: {ORANGE}{STRING}
STR_CONFIG_PATCHES_YAPF_RAIL :{LTBLUE}Uzu YAPF por trajnoj: {ORANGE}{STRING}
STR_TEMPERATE_LANDSCAPE :Modera landaspekto
STR_SUB_ARCTIC_LANDSCAPE :Arktikeca landaspekto
@@ -1731,8 +1719,8 @@ STR_3005_TOO_CLOSE_TO_ANOTHER_RAILROAD :{WHITE}Tro prok
STR_3006_ADJOINS_MORE_THAN_ONE_EXISTING :{WHITE}Alligas pli ol unu ekzistantan stacion/ŝarĝejon
STR_3007_TOO_MANY_STATIONS_LOADING :{WHITE}Tro da stacioj/ŝarĝejoj en la urbo
STR_3008_TOO_MANY_STATIONS_LOADING :{WHITE}Tro da stacioj/ŝarĝejoj
STR_3008A_TOO_MANY_BUS_STOPS :{WHITE}Tro da bushaltejoj
STR_3008B_TOO_MANY_TRUCK_STOPS :{WHITE}Tro da ŝarĝaŭtaj stacioj
STR_TOO_MANY_BUS_STOPS :{WHITE}Tro da bushaltejoj
STR_TOO_MANY_TRUCK_STOPS :{WHITE}Tro da ŝarĝaŭtaj stacioj
STR_3009_TOO_CLOSE_TO_ANOTHER_STATION :{WHITE}Tro proksime al alia stacioj/ŝarĝejoj
STR_300A_0 :{WHITE}{STATION} {STATIONFEATURES}
STR_300B_MUST_DEMOLISH_RAILROAD :{WHITE}Antaŭe forigu stacidomon
@@ -1797,7 +1785,7 @@ STR_3068_DOCK :{WHITE}Haveno
STR_3069_BUOY :Buo
STR_306A_BUOY_IN_THE_WAY :{WHITE}...buo okupas la lokon
STR_306C_STATION_TOO_SPREAD_OUT :{WHITE}...stacio tro vastas
STR_306D_NONUNIFORM_STATIONS_DISALLOWED :{WHITE}...nekonformaj stacioj neebligitaj
STR_NONUNIFORM_STATIONS_DISALLOWED :{WHITE}...nekonformaj stacioj neebligitaj
STR_USE_CTRL_TO_SELECT_MORE :{BLACK}Tenu la CTRL-klavon por elekti pliajn erojn
STR_UNDEFINED :(nedifinita tekstero)
@@ -1832,7 +1820,7 @@ STR_400D_SAVE_THE_CURRENT_GAME_USING :{BLACK}Konservu
STR_400E_SELECT_NEW_GAME_TYPE :{WHITE}Elektu Novan Ludtipon
STR_400F_SELECT_SCENARIO_GREEN_PRE :{BLACK}Elektu scenaron (green), antaŭ-agorditan ludon (blue), aŭ hazardan novan ludon
STR_4010_GENERATE_RANDOM_NEW_GAME :Generu hazardan novan ludon
STR_4011_LOAD_HEIGHTMAP :{WHITE}Ŝarĝu Altecmapon
STR_LOAD_HEIGHTMAP :{WHITE}Ŝarĝu Altecmapon
##id 0x4800
STR_4800_IN_THE_WAY :{WHITE}{STRING} okupas la lokon
@@ -2027,10 +2015,10 @@ STR_6812_QUANTITY_OF_SEA_LAKES :{LTBLUE}Kiom da
STR_6813_ECONOMY :{LTBLUE}Ekonomio: {ORANGE}{STRING}
STR_6814_TRAIN_REVERSING :{LTBLUE}Trajna inversigo: {ORANGE}{STRING}
STR_6815_DISASTERS :{LTBLUE}Katastrofoj: {ORANGE}{STRING}
STR_16816_CITY_APPROVAL :{LTBLUE}Urbestrara teniĝo al regiona strukturŝanĝiĝo: {ORANGE}{STRING}
STR_CITY_APPROVAL :{LTBLUE}Urbestrara teniĝo al regiona strukturŝanĝiĝo: {ORANGE}{STRING}
############ range for difficulty settings ends
STR_26816_NONE :Neniu
STR_NONE :Neniu
STR_NUM_VERY_LOW :Tre malalte
STR_6816_LOW :Malalte
STR_6817_NORMAL :Normale
@@ -2068,9 +2056,9 @@ STR_6835_AT_END_OF_LINE_ONLY :Nur finlinie
STR_6836_OFF :Malaktiva
STR_6837_ON :Aktiva
STR_6838_SHOW_HI_SCORE_CHART :{BLACK}Montru plej bonajn ludantojn
STR_6839_PERMISSIVE :Permeseme
STR_683A_TOLERANT :Tolerante
STR_683B_HOSTILE :Gastige
STR_PERMISSIVE :Permeseme
STR_TOLERANT :Tolerante
STR_HOSTILE :Gastige
##id 0x7000
STR_7000 :
@@ -2202,7 +2190,7 @@ STR_707B_CAN_T_BUY_25_SHARE_IN_THIS :{WHITE}Ne povas
STR_707C_CAN_T_SELL_25_SHARE_IN :{WHITE}Ne povas vendi 25%-an dividaĵon...
STR_707D_OWNED_BY :{WHITE}({COMMA}% posedataj de {COMPANY})
STR_707F_HAS_BEEN_TAKEN_OVER_BY :{BLACK}{BIGFONT}{COMPANY} estas transprenita de {COMPANY}!
STR_7080_PROTECTED :{WHITE}Ĉi tiu kompanio ne sufiĉe aĝas por jam komerci dividaĵojn...
STR_PROTECTED :{WHITE}Ĉi tiu kompanio ne sufiĉe aĝas por jam komerci dividaĵojn...
STR_LIVERY_DEFAULT :Normala Koloro
STR_LIVERY_STEAM :Vapormaŝino
@@ -2507,17 +2495,17 @@ STR_8803_TRAIN_IN_THE_WAY :{WHITE}Trajno o
STR_8804 :{SETX 10}{COMMA}: {STRING} {STRING}
STR_8805 :{RIGHTARROW}{SETX 10}{COMMA}: {STRING} {STRING}
STR_8806_GO_TO :Iru al {STATION}
STR_8807_GO_TO_TRANSFER :Iru al {STATION} (Transigu kaj prenu ŝarĝon)
STR_8808_GO_TO_UNLOAD :Iru al {STATION} (Deŝarĝu)
STR_8809_GO_TO_TRANSFER_UNLOAD :Iru al {STATION} (Transigu kaj lasu malplena)
STR_880A_GO_TO_LOAD :Iru al {STATION} (Ŝarĝu)
STR_880B_GO_TO_TRANSFER_LOAD :Iru al {STATION} (Transigu kaj atendu ĝis plena ŝarĝo)
STR_880C_GO_NON_STOP_TO :Iru senhalte al {STATION}
STR_880D_GO_TO_NON_STOP_TRANSFER :Iru senhalte al {STATION} (Transigu kaj prenu ŝarĝon)
STR_880E_GO_NON_STOP_TO_UNLOAD :Iru senhalte al {STATION} (Deŝarĝu)
STR_880F_GO_TO_NON_STOP_TRANSFER_UNLOAD :Iru senhalte al {STATION} (Transigu kaj lasu malplena)
STR_8810_GO_NON_STOP_TO_LOAD :Iru senhalte al {STATION} (Ŝarĝu)
STR_8811_GO_TO_NON_STOP_TRANSFER_LOAD :Iru senhalte al {STATION} (Transigu kaj atendu ĝis plena ŝarĝo)
STR_GO_TO_TRANSFER :Iru al {STATION} (Transigu kaj prenu ŝarĝon)
STR_8807_GO_TO_UNLOAD :Iru al {STATION} (Deŝarĝu)
STR_GO_TO_TRANSFER_UNLOAD :Iru al {STATION} (Transigu kaj lasu malplena)
STR_8808_GO_TO_LOAD :Iru al {STATION} (Ŝarĝu)
STR_GO_TO_TRANSFER_LOAD :Iru al {STATION} (Transigu kaj atendu ĝis plena ŝarĝo)
STR_880A_GO_NON_STOP_TO :Iru senhalte al {STATION}
STR_GO_TO_NON_STOP_TRANSFER :Iru senhalte al {STATION} (Transigu kaj prenu ŝarĝon)
STR_880B_GO_NON_STOP_TO_UNLOAD :Iru senhalte al {STATION} (Deŝarĝu)
STR_GO_TO_NON_STOP_TRANSFER_UNLOAD :Iru senhalte al {STATION} (Transigu kaj lasu malplena)
STR_880C_GO_NON_STOP_TO_LOAD :Iru senhalte al {STATION} (Ŝarĝu)
STR_GO_TO_NON_STOP_TRANSFER_LOAD :Iru senhalte al {STATION} (Transigu kaj atendu ĝis plena ŝarĝo)
STR_GO_TO_TRAIN_DEPOT :Iru al {TOWN} Trajndeponejo
STR_SERVICE_AT_TRAIN_DEPOT :Prizorgo ĉe {TOWN} Trajndeponejo
STR_880F_GO_NON_STOP_TO_TRAIN_DEPOT :Iru senhalte al {TOWN} Trajndeponejo
@@ -2609,7 +2597,7 @@ STR_884E_DECREASE_SERVICING_INTERVAL :{BLACK}Malpliig
STR_884F_SHOW_DETAILS_OF_CARGO_CARRIED :{BLACK}Montru detalojn de portata ŝarĝo
STR_8850_SHOW_DETAILS_OF_TRAIN_VEHICLES :{BLACK}Montru detalojn de trajnaj veturiloj
STR_8851_SHOW_CAPACITIES_OF_EACH :{BLACK}Montru kapablojn de ĉiu veturilo
STR_8852_SHOW_TOTAL_CARGO :{BLACK}Montru tutan kapablon de trajno, dividite laŭ ŝarĝtipo
STR_SHOW_TOTAL_CARGO :{BLACK}Montru tutan kapablon de trajno, dividite laŭ ŝarĝtipo
STR_8852_ORDERS_LIST_CLICK_ON_ORDER :{BLACK}Ordena listo - alklaku ordenon por elekti. CTRL + klako skrolas al la stacio
STR_8854_DELETE_THE_HIGHLIGHTED :{BLACK}Forviŝu la elektitan ordenon
STR_8855_MAKE_THE_HIGHLIGHTED_ORDER :{BLACK}Senhaltigu elektitan ordenon
@@ -2635,8 +2623,8 @@ STR_8868_TRAIN_CRASH_DIE_IN_FIREBALL :{BLACK}{BIGFONT
STR_8869_CAN_T_REVERSE_DIRECTION :{WHITE}Ne povas inversigi direkton de trajno...
STR_886A_RENAME_TRAIN_VEHICLE_TYPE :{WHITE}Renomu trajnan veturiltipon
STR_886B_CAN_T_RENAME_TRAIN_VEHICLE :{WHITE}Ne povas renomi trajnan veturiltipon...
STR_886D_MAKE_THE_HIGHLIGHTED_ORDER :{BLACK}La elektita ordeno igu la veturilon demeti la ŝarĝon
STR_886F_TRANSFER :{BLACK}Transigu
STR_MAKE_THE_HIGHLIGHTED_ORDER :{BLACK}La elektita ordeno igu la veturilon demeti la ŝarĝon
STR_TRANSFER :{BLACK}Transigu
STR_TRAIN_STOPPING :{RED}Haltiĝas
STR_TRAIN_STOPPING_VEL :{RED}Haltiĝas, {VELOCITY}
@@ -2703,7 +2691,7 @@ STR_9034_RENAME :{BLACK}Renomu
STR_9035_RENAME_ROAD_VEHICLE_TYPE :{BLACK}Renomu vojveturilan tipon
STR_9036_RENAME_ROAD_VEHICLE_TYPE :{WHITE}Renomu vojveturilan tipon
STR_9037_CAN_T_RENAME_ROAD_VEHICLE :{WHITE}Ne povas renomi vojveturilan tipon...
STR_9038_GO_TO_ROADVEH_DEPOT :Iru al {TOWN} Vojveturila Deponejo
STR_GO_TO_ROADVEH_DEPOT :Iru al {TOWN} Vojveturila Deponejo
STR_SERVICE_AT_ROADVEH_DEPOT :Prizorgo ĉe {TOWN} Vojveturila Deponejo
STR_REFIT_ROAD_VEHICLE_TO_CARRY :{BLACK}Transformu vojveturilon por porti alian ŝarĝon
@@ -3097,7 +3085,6 @@ STR_HEIGHTMAP_SCALE_WARNING_CAPTION :{WHITE}Skala av
STR_HEIGHTMAP_SCALE_WARNING_MESSAGE :{YELLOW}Ne rekomendindas tro ŝanĝi la grandecon de la mapo. Ĉu daŭrigi la generadon?
STR_TOWN_LAYOUT_WARNING_CAPTION :{WHITE}Urbaspekta averto
STR_TOWN_LAYOUT_WARNING_MESSAGE :{YELLOW}La urbaspekto "sen pliaj vojoj" ne estas rekomendata. Ĉu plugeneri?
STR_SNOW_LINE_HEIGHT_NUM :{NUM}
STR_HEIGHTMAP_NAME :{BLACK}Mapa nomo:
STR_HEIGHTMAP_SIZE :{BLACK}Grandeco: {ORANGE}{NUM} x {NUM}
STR_GENERATION_WORLD :{WHITE}Generante mondon...
@@ -3123,7 +3110,6 @@ STR_FLAT_WORLD_HEIGHT_DOWN :{BLACK}Malaltig
STR_FLAT_WORLD_HEIGHT_UP :{BLACK}Altigu la altecon de ebena lando per unu
STR_FLAT_WORLD_HEIGHT_QUERY_CAPT :{WHITE}Ŝanĝu altecon de ebena lando
STR_FLAT_WORLD_HEIGHT :{BLACK}Alteco de ebena lando:
STR_FLAT_WORLD_HEIGHT_NUM :{NUM}
STR_SMALLMAP_CENTER :{BLACK}Centrigu la mapeton al la nuna loko
+92 -96
View File
@@ -16,8 +16,7 @@ STR_EMPTY :
STR_0007_FLAT_LAND_REQUIRED :{WHITE}Maapind peab olema tasane
STR_0008_WAITING :{BLACK}Ootel: {WHITE}{STRING}
STR_0009 :{WHITE}{CARGO}
STR_000A_EN_ROUTE_FROM :{WHITE}{CARGO}{YELLOW} (tulnud jaamast
STR_000B :{YELLOW}{STATION})
STR_EN_ROUTE_FROM :{YELLOW}({SHORTCARGO} teel jaamast {STATION})
STR_000C_ACCEPTS :{BLACK}Võtab vastu: {WHITE}
STR_000D_ACCEPTS :{BLACK}Võtab vastu: {GOLD}
STR_000E :
@@ -374,9 +373,9 @@ STR_0130_RENAME :{BLACK}Nime muu
STR_0131_TOO_MANY_NAMES_DEFINED :{WHITE}Liiga palju määratletud nimesid
STR_0132_CHOSEN_NAME_IN_USE_ALREADY :{WHITE}Valitud nimi on juba kasutusel
STR_0133_WINDOWS :Windows
STR_0134_UNIX :Unix
STR_0135_OSX :OS X
STR_OSNAME_WINDOWS :Windows
STR_OSNAME_UNIX :Unix
STR_OSNAME_OSX :OS X
STR_OSNAME_BEOS :BeOS
STR_OSNAME_MORPHOS :MorphOS
STR_OSNAME_AMIGAOS :AmigaOS
@@ -387,11 +386,11 @@ STR_013B_OWNED_BY :{WHITE}...omani
STR_013C_CARGO :{BLACK}Laadung
STR_013D_INFORMATION :{BLACK}Andmed
STR_013E_CAPACITIES :{BLACK}Kandevõimed
STR_013E_TOTAL_CARGO :{BLACK}Laadungit kokku
STR_TOTAL_CARGO :{BLACK}Laadungit kokku
STR_013F_CAPACITY :{BLACK}Kandevõime: {LTBLUE}{CARGO}
STR_CAPACITY_MULT :{BLACK}Kandevõime: {LTBLUE}{CARGO} (x{NUM})
STR_013F_TOTAL_CAPACITY_TEXT :{BLACK}Selle rongi kandevõime:
STR_013F_TOTAL_CAPACITY :{LTBLUE}- {CARGO} ({SHORTCARGO})
STR_TOTAL_CAPACITY_TEXT :{BLACK}Selle rongi kandevõime:
STR_TOTAL_CAPACITY :{LTBLUE}- {CARGO} ({SHORTCARGO})
STR_TOTAL_CAPACITY_MULT :{LTBLUE}- {CARGO} ({SHORTCARGO}) (x{NUM})
STR_0140_NEW_GAME :{BLACK}Uus mäng
STR_0141_LOAD_GAME :{BLACK}Mängu laadimine
@@ -399,12 +398,6 @@ STR_SINGLE_PLAYER :{BLACK}Üksikm
STR_MULTIPLAYER :{BLACK}Võrgumäng
STR_SCENARIO_EDITOR :{BLACK}Stsenaariumiredaktor
STR_64 :64
STR_128 :128
STR_256 :256
STR_512 :512
STR_1024 :1024
STR_2048 :2048
STR_MAPSIZE :{BLACK}Kaardi suurus:
STR_BY :{BLACK}*
STR_0148_GAME_OPTIONS :{BLACK}Mängu valikud
@@ -735,7 +728,7 @@ STR_RESET_LANDSCAPE_CONFIRMATION_TEXT :{WHITE}Kas oled
STR_022E_LANDSCAPE_GENERATION :{BLACK}Maastiku loomine
STR_022F_TOWN_GENERATION :{BLACK}Linnade loomine
STR_0230_INDUSTRY_GENERATION :{BLACK}Tööstuste loomine
STR_0231_ROAD_CONSTRUCTION :{BLACK}Tee-ehitus
STR_0231_ROAD_CONSTRUCTION :{BLACK}Maanteede ehitamine
STR_0233_TOWN_GENERATION :{WHITE}Linnade loomine
STR_0234_NEW_TOWN :{BLACK}Uus linn
STR_0235_CONSTRUCT_NEW_TOWN :{BLACK}Ehita uus linn
@@ -832,11 +825,12 @@ STR_028D_PLACE_LIGHTHOUSE :{BLACK}Ehita tu
STR_028E_PLACE_TRANSMITTER :{BLACK}Paigalda saatjamast
STR_028F_DEFINE_DESERT_AREA :{BLACK}Loo kõrbealad.{}Eemaldamiseks klõpsa hoides all CTRL nuppu
STR_CREATE_LAKE :{BLACK}Määratle veealad.{}Ehita kanal. CTRL-klahvi all hoides ujutab ümbruskonna üle.
STR_CREATE_RIVER :{BLACK}Jõgede paigutamine.
STR_0290_DELETE :{BLACK}Kustuta
STR_0291_DELETE_THIS_TOWN_COMPLETELY :{BLACK}Hävita see linn täielikult
STR_0292_SAVE_SCENARIO :Salvesta kaart
STR_0293_LOAD_SCENARIO :Laadi kaart
STR_LOAD_HEIGHTMAP :Lae kõrguskaart
STR_MENU_LOAD_HEIGHTMAP :Lae kõrguskaart
STR_0294_QUIT_EDITOR :Lahku redaktorist
STR_0295 :
STR_0296_QUIT :Välju
@@ -876,9 +870,9 @@ STR_02C2_SAVE_CUSTOMIZED_VEHICLE :{BLACK}Salvesta
STR_CHECKMARK :{CHECKMARK}
############ range for menu starts
STR_02C3_GAME_OPTIONS :Mängu valikud
STR_02C5_DIFFICULTY_SETTINGS :Raskusastme seadistused
STR_02C7_CONFIG_PATCHES :Paikade seadistamine
STR_02C4_GAME_OPTIONS :Mängu valikud
STR_02C6_DIFFICULTY_SETTINGS :Raskusastme seadistused
STR_MENU_CONFIG_PATCHES :Paikade seadistamine
STR_NEWGRF_SETTINGS :NewGRF seadistused
STR_TRANSPARENCY_OPTIONS :Läbipaistvuse valikud
STR_GAMEOPTMENU_0A :
@@ -978,8 +972,8 @@ STR_SAVING_GAME :{RED}* * MÄN
STR_SAVE_STILL_IN_PROGRESS :{WHITE}Ikka salvestamisel,{}palun oota salvestuse lõpuni!
STR_0330_SELECT_EZY_STREET_STYLE :{BLACK}'Ezy Street' stiilis muusikaprogrammi valimine
STR_0335_6 :{BLACK}6
STR_0336_7 :{BLACK}7
STR_6 :{BLACK}6
STR_7 :{BLACK}7
############ start of townname region
STR_TOWNNAME_ORIGINAL_ENGLISH :Inglise (originaalne)
@@ -1155,7 +1149,6 @@ STR_CONFIG_PATCHES_BRIBE :{LTBLUE}Luba ko
STR_CONFIG_PATCHES_ALLOW_EXCLUSIVE :{LTBLUE}Luba eksklusiivseid veoõiguseid osta: {ORANGE}{STRING}
STR_CONFIG_PATCHES_ALLOW_GIVE_MONEY :{LTBLUE}Luba teistele ettevõtetele raha saata: {ORANGE}{STRING}
STR_CONFIG_PATCHES_NONUNIFORM_STATIONS :{LTBLUE}Luba suvalise kujuga jaamad: {ORANGE}{STRING}
STR_CONFIG_PATCHES_NEW_PATHFINDING_ALL :{LTBLUE}Uus trassi otsimise algoritm(NPF asendab NTP): {ORANGE}{STRING}
STR_CONFIG_PATCHES_FREIGHT_TRAINS :{LTBLUE}Raskete rongide simuleerimiseks kasutatav raskuse korrutaja: {ORANGE}{STRING}
STR_CONFIG_PATCHES_STOP_ON_TOWN_ROAD :{LTBLUE}Luba läbisõidupeatused linnateedel: {ORANGE}{STRING}
STR_CONFIG_PATCHES_ADJACENT_STATIONS :{LTBLUE}Luba jaamu lähestikku ehitada: {ORANGE}{STRING}
@@ -1232,7 +1225,7 @@ STR_CONFIG_PATCHES_DEFAULT_RAIL_TYPE :{LTBLUE}Algne r
STR_CONFIG_PATCHES_DEFAULT_RAIL_TYPE_RAIL :Tavaline rööbastee
STR_CONFIG_PATCHES_DEFAULT_RAIL_TYPE_ELRAIL :Elektrifitseeritud rööbastee
STR_CONFIG_PATCHES_DEFAULT_RAIL_TYPE_MONORAIL :Monorelss
STR_CONFIG_PATCHES_DEFAULT_RAIL_TYPE_MAGLEV :Maglev
STR_CONFIG_PATCHES_DEFAULT_RAIL_TYPE_MAGLEV :Magnethõljukrong
STR_CONFIG_PATCHES_DEFAULT_RAIL_TYPE_FIRST :Esimene saadaval
STR_CONFIG_PATCHES_DEFAULT_RAIL_TYPE_LAST :Viimane saadaval
STR_CONFIG_PATCHES_DEFAULT_RAIL_TYPE_MOST_USED :Enim kasutatud
@@ -1310,9 +1303,6 @@ STR_CONFIG_PATCHES_CURRENCY :{CURRENCY}
STR_CONFIG_PATCHES_QUERY_CAPT :{WHITE}Muuda seadete väärtusi
STR_CONFIG_PATCHES_SERVICE_INTERVAL_INCOMPATIBLE :{WHITE}Mõni või kõik vaikimisi hooldusperioodid on kõlbmatud! Lubatud on 5-90% või 30-800 päeva
STR_CONFIG_PATCHES_YAPF_SHIPS :{LTBLUE}Kasuta YAPF'i laevadel: {ORANGE}{STRING}
STR_CONFIG_PATCHES_YAPF_ROAD :{LTBLUE}Kasuta YAPF'i autodel: {ORANGE}{STRING}
STR_CONFIG_PATCHES_YAPF_RAIL :{LTBLUE}Kasuta YAPF'i rongidel: {ORANGE}{STRING}
STR_TEMPERATE_LANDSCAPE :Parasvöötme maastik
STR_SUB_ARCTIC_LANDSCAPE :Arktiline maastik
@@ -1708,10 +1698,10 @@ STR_1004_TOO_HIGH :{WHITE}Liiga k
STR_1005_NO_SUITABLE_RAILROAD_TRACK :{WHITE}Sobiv rongitee puudub
STR_1007_ALREADY_BUILT :{WHITE}...juba ehitatud
STR_1008_MUST_REMOVE_RAILROAD_TRACK :{WHITE}Rööbastee tuleb eelnevalt lammutada
STR_100A_RAILROAD_CONSTRUCTION :{WHITE}Rööbasteede ehitus
STR_TITLE_ELRAIL_CONSTRUCTION :{WHITE}Elektrifitseeritud rööbastee ehitus
STR_100A_RAILROAD_CONSTRUCTION :{WHITE}Rööbasteede ehitamine
STR_TITLE_ELRAIL_CONSTRUCTION :{WHITE}Elektrifitseeritud rööbasteede ehitamine
STR_100B_MONORAIL_CONSTRUCTION :{WHITE}Monorelsi ehitamine
STR_100C_MAGLEV_CONSTRUCTION :{WHITE}Elektromageetilise rööbastee ehitamine
STR_100C_MAGLEV_CONSTRUCTION :{WHITE}Magnethõljuktee ehitamine
STR_100D_SELECT_RAIL_BRIDGE :{WHITE}Vali raudteesild
STR_100E_CAN_T_BUILD_TRAIN_DEPOT :{WHITE}Siia ei saa depood ehitada...
STR_100F_CAN_T_BUILD_RAILROAD_STATION :{WHITE}Siia ei saa raudteejaama ehitada...
@@ -1721,9 +1711,9 @@ STR_1012_CAN_T_REMOVE_RAILROAD_TRACK :{WHITE}Siit ei
STR_1013_CAN_T_REMOVE_SIGNALS_FROM :{WHITE}Siit ei saa signaale lammutada...
STR_1014_TRAIN_DEPOT_ORIENTATION :{WHITE}Depoo suund
STR_1015_RAILROAD_CONSTRUCTION :Rööbastee ehitamine
STR_TOOLB_ELRAIL_CONSTRUCTION :Elektrifitseeritud rööbastee ehitus
STR_TOOLB_ELRAIL_CONSTRUCTION :Elektrifitseeritud rööbasteede ehitamine
STR_1016_MONORAIL_CONSTRUCTION :Monorelsi ehitamine
STR_1017_MAGLEV_CONSTRUCTION :Elektromagneetilise rööbastee ehitamine
STR_1017_MAGLEV_CONSTRUCTION :Magnethõljuktee ehitamine
STR_1018_BUILD_RAILROAD_TRACK :{BLACK}Ehita rööbasteed
STR_1019_BUILD_TRAIN_DEPOT_FOR_BUILDING :{BLACK}Ehita rongidepoo (rongide ehitamiseks ja hoolduseks)
STR_101A_BUILD_RAILROAD_STATION :{BLACK}Ehita raudteejaam
@@ -1753,43 +1743,43 @@ STR_MUST_REMOVE_RAILWAY_STATION_FIRST :{WHITE}Raudteej
##id 0x1800
STR_1801_MUST_REMOVE_ROAD_FIRST :{WHITE}Enne on vaja sõidutee lammutada
STR_ROAD_WORKS_IN_PROGRESS :{WHITE}Teede ehitamine
STR_1802_ROAD_CONSTRUCTION :{WHITE}Sõiduteede ehitus
STR_1802_TRAMWAY_CONSTRUCTION :{WHITE}Trammitee ehitamine
STR_1802_ROAD_CONSTRUCTION :{WHITE}Sõiduteede ehitamine
STR_WHITE_TRAMWAY_CONSTRUCTION :{WHITE}Trammiteede ehitamine
STR_1803_SELECT_ROAD_BRIDGE :{WHITE}Vali sillatüüp
STR_ERR_ONEWAY_ROADS_CAN_T_HAVE_JUNCTION :{WHITE}... ühesuunalised teed ei saa teedesõlmi omada
STR_1804_CAN_T_BUILD_ROAD_HERE :{WHITE}Siia ei saa sõiduteed ehitada...
STR_1804_CAN_T_BUILD_TRAMWAY_HERE :{WHITE}Trammiteed ei ole võimalik siia rajada...
STR_CAN_T_BUILD_TRAMWAY_HERE :{WHITE}Trammiteed ei ole võimalik siia rajada...
STR_1805_CAN_T_REMOVE_ROAD_FROM :{WHITE}Siinset sõiduteed ei saa lammutada...
STR_1805_CAN_T_REMOVE_TRAMWAY_FROM :{WHITE}Siinset trammiteed ei saa lammutada...
STR_CAN_T_REMOVE_TRAMWAY_FROM :{WHITE}Siinset trammiteed ei saa lammutada...
STR_1806_ROAD_DEPOT_ORIENTATION :{WHITE}Depoo suund
STR_1806_TRAM_DEPOT_ORIENTATION :{WHITE}Trammidepoo suund
STR_TRAM_DEPOT_ORIENTATION :{WHITE}Trammidepoo suund
STR_1807_CAN_T_BUILD_ROAD_VEHICLE :{WHITE}Siia ei saa depood ehitada...
STR_1807_CAN_T_BUILD_TRAM_VEHICLE :{WHITE}Trammidepood ei saa siia rajada
STR_CAN_T_BUILD_TRAM_VEHICLE :{WHITE}Trammidepood ei saa siia rajada
STR_1808_CAN_T_BUILD_BUS_STATION :{WHITE}Siia ei saa bussijaama ehitada...
STR_1809_CAN_T_BUILD_TRUCK_STATION :{WHITE}Siia ei saa laadimisplatsi ehitada...
STR_1808_CAN_T_BUILD_PASSENGER_TRAM_STATION :{WHITE}Siia ei saa reisitrammijaama rajada...
STR_1809_CAN_T_BUILD_CARGO_TRAM_STATION :{WHITE}Siia ei saa kaubatrammijaama rajada...
STR_180A_ROAD_CONSTRUCTION :Tee-ehitus
STR_180A_TRAMWAY_CONSTRUCTION :Trammitee ehitamine
STR_CAN_T_BUILD_PASSENGER_TRAM_STATION :{WHITE}Siia ei saa reisitrammijaama rajada...
STR_CAN_T_BUILD_CARGO_TRAM_STATION :{WHITE}Siia ei saa kaubatrammijaama rajada...
STR_180A_ROAD_CONSTRUCTION :Maanteede ehitamine
STR_TRAMWAY_CONSTRUCTION :Trammiteede ehitamine
STR_180B_BUILD_ROAD_SECTION :{BLACK}Ehita sõidutee blokk
STR_BUILD_AUTOROAD_TIP :{BLACK}Ehita autotee osa kasutades Autoroad režiimi
STR_180B_BUILD_TRAMWAY_SECTION :{BLACK}Ehita trammitee blokk
STR_BUILD_TRAMWAY_SECTION :{BLACK}Ehita trammitee blokk
STR_BUILD_AUTOTRAM_TIP :{BLACK}Ehita trammitee osa kasutades Autotram režiimi
STR_180C_BUILD_ROAD_VEHICLE_DEPOT :{BLACK}Depoo ehitamine (veovahendite ehitamiseks ja hooldamiseks)
STR_180C_BUILD_TRAM_VEHICLE_DEPOT :{BLACK}Ehita trammidepoo (veeremi ehitamiseks ja hoolduseks)
STR_BUILD_TRAM_VEHICLE_DEPOT :{BLACK}Ehita trammidepoo (veeremi ehitamiseks ja hoolduseks)
STR_180D_BUILD_BUS_STATION :{BLACK}Ehita bussijaam
STR_180E_BUILD_TRUCK_LOADING_BAY :{BLACK}Ehita veokite laadimisplats
STR_180D_BUILD_PASSENGER_TRAM_STATION :{BLACK}Ehita reisitrammijaam
STR_180E_BUILD_CARGO_TRAM_STATION :{BLACK}Ehita kaubatrammijaam
STR_BUILD_PASSENGER_TRAM_STATION :{BLACK}Ehita reisitrammijaam
STR_BUILD_CARGO_TRAM_STATION :{BLACK}Ehita kaubatrammijaam
STR_180F_BUILD_ROAD_BRIDGE :{BLACK}Ehita sild
STR_180F_BUILD_TRAMWAY_BRIDGE :{BLACK}Ehita trammisild
STR_BUILD_TRAMWAY_BRIDGE :{BLACK}Ehita trammisild
STR_1810_BUILD_ROAD_TUNNEL :{BLACK}Ehita tunnel
STR_1810_BUILD_TRAMWAY_TUNNEL :{BLACK}Ehita trammitunnel
STR_BUILD_TRAMWAY_TUNNEL :{BLACK}Ehita trammitunnel
STR_TOGGLE_ONE_WAY_ROAD :{BLACK}Lülita ühesuunalised teed sisse/välja
STR_1811_TOGGLE_BUILD_REMOVE_FOR :{BLACK}Tee-ehituse ja -lammutamise vahetamine
STR_1811_TOGGLE_BUILD_REMOVE_FOR_TRAMWAYS :{BLACK}Lülitu trammitee ehitamise ja lammutamise vahel
STR_1811_TOGGLE_BUILD_REMOVE_FOR :{BLACK}Lülitu maanteede ehitamise ja lammutamise vahel
STR_TOGGLE_BUILD_REMOVE_FOR_TRAMWAYS :{BLACK}Lülitu trammitee ehitamise ja lammutamise vahel
STR_1813_SELECT_ROAD_VEHICLE_DEPOT :{BLACK}Vali depoole suund
STR_1813_SELECT_TRAM_VEHICLE_DEPOT :{BLACK}Vali trammidepoo suund
STR_SELECT_TRAM_VEHICLE_DEPOT :{BLACK}Vali trammidepoo suund
STR_1814_ROAD :Sõidutee
STR_1815_ROAD_WITH_STREETLIGHTS :Valgustatud sõidutee
STR_1816_TREE_LINED_ROAD :Puiestee
@@ -1932,8 +1922,8 @@ STR_3005_TOO_CLOSE_TO_ANOTHER_RAILROAD :{WHITE}Teisele
STR_3006_ADJOINS_MORE_THAN_ONE_EXISTING :{WHITE}Mitme olemasoleva jaama ühendamine
STR_3007_TOO_MANY_STATIONS_LOADING :{WHITE}Selles linnas on juba liiga palju jaamasid
STR_3008_TOO_MANY_STATIONS_LOADING :{WHITE}Liiga palju jaamu
STR_3008A_TOO_MANY_BUS_STOPS :{WHITE}Liiga palju bussipeatusi
STR_3008B_TOO_MANY_TRUCK_STOPS :{WHITE}Liiga palju laadimisplatvorme
STR_TOO_MANY_BUS_STOPS :{WHITE}Liiga palju bussipeatusi
STR_TOO_MANY_TRUCK_STOPS :{WHITE}Liiga palju laadimisplatvorme
STR_3009_TOO_CLOSE_TO_ANOTHER_STATION :{WHITE}Mõnele teisele jaamale liiga lähedal
STR_300A_0 :{WHITE}{STATION} {STATIONFEATURES}
STR_300B_MUST_DEMOLISH_RAILROAD :{WHITE}Raudteejaam tuleb eelnevalt lammutada
@@ -1964,12 +1954,12 @@ STR_3040_NOW_ACCEPTS :{WHITE}Jaam {ST
STR_3041_NOW_ACCEPTS_AND :{WHITE}Jaam {STATION} võtab nüüd vastu veoseid {STRING} ja {STRING}
STR_3042_BUS_STATION_ORIENTATION :{WHITE}Bussijaama suund
STR_3043_TRUCK_STATION_ORIENT :{WHITE}Laadimisplatsi suund
STR_3042_PASSENGER_TRAM_STATION_ORIENTATION :{WHITE}Reisitrammi suund
STR_3043_CARGO_TRAM_STATION_ORIENT :{WHITE}Kaubatrammi suund
STR_PASSENGER_TRAM_STATION_ORIENTATION :{WHITE}Reisitrammi suund
STR_CARGO_TRAM_STATION_ORIENT :{WHITE}Kaubatrammi suund
STR_3046_MUST_DEMOLISH_BUS_STATION :{WHITE}Bussijaam tuleb enne hävitada
STR_3047_MUST_DEMOLISH_TRUCK_STATION :{WHITE}Enne pead laadimisplatsi hävitama
STR_3046_MUST_DEMOLISH_PASSENGER_TRAM_STATION :{WHITE}Reisitrammijaam tuleb eelnevalt lammutada
STR_3047_MUST_DEMOLISH_CARGO_TRAM_STATION :{WHITE}Kaubatrammijaam tuleb eelnevalt lammutada
STR_MUST_DEMOLISH_PASSENGER_TRAM_STATION :{WHITE}Reisitrammijaam tuleb eelnevalt lammutada
STR_MUST_DEMOLISH_CARGO_TRAM_STATION :{WHITE}Kaubatrammijaam tuleb eelnevalt lammutada
STR_3048_STATIONS :{WHITE}{COMPANY} - {COMMA} jaam{P "" a}
STR_3049_0 :{YELLOW}{STATION} {STATIONFEATURES}
STR_304A_NONE :{YELLOW}- Puudub -
@@ -1981,8 +1971,8 @@ STR_304F_SELECT_NUMBER_OF_PLATFORMS :{BLACK}Vali rau
STR_3050_SELECT_LENGTH_OF_RAILROAD :{BLACK}Vali raudteejaama pikkus
STR_3051_SELECT_BUS_STATION_ORIENTATION :{BLACK}Vali bussijaamale suund
STR_3052_SELECT_TRUCK_LOADING_BAY :{BLACK}Vali laadimisplatsile suund
STR_3051_SELECT_PASSENGER_TRAM_STATION_ORIENTATION :{BLACK}Vali reisitrammijaama suund
STR_3052_SELECT_CARGO_TRAM_STATION_ORIENTATION :{BLACK}Vali kaubatrammijaama suund
STR_SELECT_PASSENGER_TRAM_STATION_ORIENTATION :{BLACK}Vali reisitrammijaama suund
STR_SELECT_CARGO_TRAM_STATION_ORIENTATION :{BLACK}Vali kaubatrammijaama suund
STR_3053_CENTER_MAIN_VIEW_ON_STATION :{BLACK}Vaate viimine jaama juurde
STR_3054_SHOW_STATION_RATINGS :{BLACK}Näita jaamahinnangut
STR_3055_CHANGE_NAME_OF_STATION :{BLACK}Muuda jaama nime
@@ -2004,7 +1994,7 @@ STR_3068_DOCK :{WHITE}Sadam
STR_3069_BUOY :Poi
STR_306A_BUOY_IN_THE_WAY :{WHITE}...poi on ees
STR_306C_STATION_TOO_SPREAD_OUT :{WHITE}...jaam on liiga laiaks venitatud
STR_306D_NONUNIFORM_STATIONS_DISALLOWED :{WHITE}...korrapäratud jaamad keelatud
STR_NONUNIFORM_STATIONS_DISALLOWED :{WHITE}...korrapäratud jaamad keelatud
STR_USE_CTRL_TO_SELECT_MORE :{BLACK}Enam kui ühe eseme valimiseks hoia all CTRL klahvi
STR_UNDEFINED :(määratlemata väljend)
@@ -2045,7 +2035,7 @@ STR_400D_SAVE_THE_CURRENT_GAME_USING :{BLACK}Salvesta
STR_400E_SELECT_NEW_GAME_TYPE :{WHITE}Vali uue mängu tüüp
STR_400F_SELECT_SCENARIO_GREEN_PRE :{BLACK}Vali valmis kaart (roheline), eelseadistatud mäng (sinine), või juhusliku kaardiga uus mäng
STR_4010_GENERATE_RANDOM_NEW_GAME :Tekita suvaline kaart
STR_4011_LOAD_HEIGHTMAP :{WHITE}Laadi kõrguskaart
STR_LOAD_HEIGHTMAP :{WHITE}Laadi kõrguskaart
##id 0x4800
STR_4800_IN_THE_WAY :{WHITE}{STRING} on ees
@@ -2249,10 +2239,10 @@ STR_6812_QUANTITY_OF_SEA_LAKES :{LTBLUE}Merede/
STR_6813_ECONOMY :{LTBLUE}Majandus: {ORANGE}{STRING}
STR_6814_TRAIN_REVERSING :{LTBLUE}Rongide ümberpööramine: {ORANGE}{STRING}
STR_6815_DISASTERS :{LTBLUE}Katastroofid: {ORANGE}{STRING}
STR_16816_CITY_APPROVAL :{LTBLUE}Linnanõukogu suhtumine maastikukujundusse: {ORANGE}{STRING}
STR_CITY_APPROVAL :{LTBLUE}Linnanõukogu suhtumine maastikukujundusse: {ORANGE}{STRING}
############ range for difficulty settings ends
STR_26816_NONE :Pole
STR_NONE :Pole
STR_NUM_VERY_LOW :Väga madal
STR_6816_LOW :Madal
STR_6817_NORMAL :Harilik
@@ -2290,9 +2280,9 @@ STR_6835_AT_END_OF_LINE_ONLY :Ainult raudtee
STR_6836_OFF :Väljas
STR_6837_ON :Sees
STR_6838_SHOW_HI_SCORE_CHART :{BLACK}Näita mängijate edetabelit
STR_6839_PERMISSIVE :Soodustav
STR_683A_TOLERANT :Tolerantne
STR_683B_HOSTILE :Vaenulik
STR_PERMISSIVE :Soodustav
STR_TOLERANT :Tolerantne
STR_HOSTILE :Vaenulik
##id 0x7000
STR_7000 :
@@ -2429,19 +2419,21 @@ STR_707B_CAN_T_BUY_25_SHARE_IN_THIS :{WHITE}Selle et
STR_707C_CAN_T_SELL_25_SHARE_IN :{WHITE}Selle ettevõtte aktsiatest ei saa 25% müüa...
STR_707D_OWNED_BY :{WHITE}({COMMA}% on ettevõtte {COMPANY} käes)
STR_707F_HAS_BEEN_TAKEN_OVER_BY :{BLACK}{BIGFONT}{COMPANY} võeti üle ettevõtte {COMPANY} poolt!
STR_7080_PROTECTED :{WHITE}See ettevõtte pole veel piisavalt vana, et aktsiaid vahetada...
STR_PROTECTED :{WHITE}See ettevõtte pole veel piisavalt vana, et aktsiaid vahetada...
STR_LIVERY_DEFAULT :Firmavärv
STR_LIVERY_STEAM :Aurumootorvedur
STR_LIVERY_DIESEL :Diiselmootorvedur
STR_LIVERY_ELECTRIC :Elektrimootorvedur
STR_LIVERY_MONORAIL :Monorelssvedur
STR_LIVERY_MAGLEV :Elektromagneetiline mootorvedur
STR_LIVERY_MAGLEV :Magnethõljukvedur
STR_LIVERY_DMU :DMU
STR_LIVERY_EMU :EMU
STR_LIVERY_PASSENGER_WAGON_STEAM :Reisivagun (auru)
STR_LIVERY_PASSENGER_WAGON_DIESEL :Reisivagun (diisel)
STR_LIVERY_PASSENGER_WAGON_ELECTRIC :Reisivagun (elektri)
STR_LIVERY_PASSENGER_WAGON_MONORAIL :Reisivagun (monorelss)
STR_LIVERY_PASSENGER_WAGON_MAGLEV :Reisivagun (magnethõljukrong)
STR_LIVERY_FREIGHT_WAGON :Kaubavagun
STR_LIVERY_BUS :Buss
STR_LIVERY_TRUCK :Veoauto
@@ -2726,7 +2718,7 @@ STR_8103_ROAD_VEHICLE :mootorsõiduk
STR_8104_AIRCRAFT :lennuk
STR_8105_SHIP :laev
STR_8106_MONORAIL_LOCOMOTIVE :monorelssvedur
STR_8107_MAGLEV_LOCOMOTIVE :maglevivedur
STR_8107_MAGLEV_LOCOMOTIVE :magnethõljukvedur
##id 0x8800
STR_8800_TRAIN_DEPOT :{WHITE}Linna {TOWN} rongidepoo
@@ -2736,17 +2728,17 @@ STR_8803_TRAIN_IN_THE_WAY :{WHITE}Rong on
STR_8804 :{SETX 10}{COMMA}: {STRING} {STRING}
STR_8805 :{RIGHTARROW}{SETX 10}{COMMA}: {STRING} {STRING}
STR_8806_GO_TO :Mine {STATION}
STR_8807_GO_TO_TRANSFER :Mine {STATION} (laadi ümber ja võta laadung peale)
STR_8808_GO_TO_UNLOAD :Mine {STATION} (laadi maha)
STR_8809_GO_TO_TRANSFER_UNLOAD :Mine {STATION} (laadi ümber ja jäta tühjaks)
STR_880A_GO_TO_LOAD :Mine {STATION} (laadi)
STR_880B_GO_TO_TRANSFER_LOAD :Mine {STATION} (laadi ümber ja oota täislaadungit)
STR_880C_GO_NON_STOP_TO :Sõida läbi {STATION}
STR_880D_GO_TO_NON_STOP_TRANSFER :Sõida läbi {STATION} (laadi ümber ja oota täislaadungit)
STR_880E_GO_NON_STOP_TO_UNLOAD :Sõida läbi {STATION} (laadi maha)
STR_880F_GO_TO_NON_STOP_TRANSFER_UNLOAD :Sõida läbi {STATION} (laadi ümber ja jäta tühjaks)
STR_8810_GO_NON_STOP_TO_LOAD :Sõida läbi {STATION} (laadi)
STR_8811_GO_TO_NON_STOP_TRANSFER_LOAD :Sõida läbi {STATION} (laadi ümber ja oota täislaadungit)
STR_GO_TO_TRANSFER :Mine {STATION} (laadi ümber ja võta laadung peale)
STR_8807_GO_TO_UNLOAD :Mine {STATION} (laadi maha)
STR_GO_TO_TRANSFER_UNLOAD :Mine {STATION} (laadi ümber ja jäta tühjaks)
STR_8808_GO_TO_LOAD :Mine {STATION} (laadi)
STR_GO_TO_TRANSFER_LOAD :Mine {STATION} (laadi ümber ja oota täislaadungit)
STR_880A_GO_NON_STOP_TO :Sõida läbi {STATION}
STR_GO_TO_NON_STOP_TRANSFER :Sõida läbi {STATION} (laadi ümber ja oota täislaadungit)
STR_880B_GO_NON_STOP_TO_UNLOAD :Sõida läbi {STATION} (laadi maha)
STR_GO_TO_NON_STOP_TRANSFER_UNLOAD :Sõida läbi {STATION} (laadi ümber ja jäta tühjaks)
STR_880C_GO_NON_STOP_TO_LOAD :Sõida läbi {STATION} (laadi)
STR_GO_TO_NON_STOP_TRANSFER_LOAD :Sõida läbi {STATION} (laadi ümber ja oota täislaadungit)
STR_GO_TO_TRAIN_DEPOT :Mine linna {TOWN} rongidepoosse
STR_SERVICE_AT_TRAIN_DEPOT :Hoolda linna {TOWN} rongidepoos
STR_880F_GO_NON_STOP_TO_TRAIN_DEPOT :Sõida läbi linna {TOWN} rongidepoo
@@ -2770,17 +2762,17 @@ STR_UNKNOWN_DESTINATION :tundmatu sihtpu
STR_8812_EMPTY :{LTBLUE}Tühi
STR_8813_FROM :{LTBLUE}{CARGO} jaamast {STATION}
STR_FROM_MULT :{LTBLUE}{CARGO} jaamast {STATION} (x{NUM})
STR_8814_TRAIN_IS_WAITING_IN_DEPOT :{WHITE}Rong {COMMA} ootab depoos
STR_8814_TRAIN_IS_WAITING_IN_DEPOT :{WHITE}Rong {COMMA} on depoos ootel
STR_8815_NEW_VEHICLES :{BLACK}Uus rong
STR_8816 :{BLACK}-
STR_8819_TRAIN_TOO_LONG :{WHITE}Rong on liiga pikk
STR_881A_TRAINS_CAN_ONLY_BE_ALTERED :{WHITE}Ronge saab ainult siis muuta kui nad on peatatud depoo sees
STR_881A_TRAINS_CAN_ONLY_BE_ALTERED :{WHITE}Ainult depoos peatunud ronge saab muuta
STR_881B_TRAINS :{WHITE}{COMPANY} - {COMMA} rong{P "" i}
STR_881C_NEW_RAIL_VEHICLES :{WHITE}Uued rööbassõidukid
STR_NEW_ELRAIL_VEHICLES :{WHITE}Uus elektriraudteeveerem
STR_881D_NEW_MONORAIL_VEHICLES :{WHITE}Uued monorelsi sõidukid
STR_881E_NEW_MAGLEV_VEHICLES :{WHITE}Uus maglevi sõiduk
STR_881D_NEW_MONORAIL_VEHICLES :{WHITE}Uus monorelssveerem
STR_881E_NEW_MAGLEV_VEHICLES :{WHITE}Uus magnethõljukveerem
STR_ALL_AVAIL_RAIL_VEHICLES :{WHITE}Rööbassõidukid
STR_881F_BUILD_VEHICLE :{BLACK}Ehita veovahend
@@ -2803,7 +2795,7 @@ STR_REFIT_ORDER :(Taasseadista {
STR_TIMETABLE_VIEW :{BLACK}Sõiduplaan
STR_TIMETABLE_VIEW_TOOLTIP :{BLACK}Näita sõiduplaani
STR_8829_ORDERS :{WHITE}{VEHICLE} (käsud)
STR_882A_END_OF_ORDERS :{SETX 10}- - Käskude Lõpp - -
STR_882A_END_OF_ORDERS :{SETX 10}- - Sihtpunktide lõpp - -
STR_FULLLOAD_OR_SERVICE :{SKIP}{SKIP}{STRING}
STR_SERVICE :{BLACK}Hooldus
STR_882B_CAN_T_BUILD_RAILROAD_VEHICLE :{WHITE}Rööbassõidukit ei saa ehitada...
@@ -2850,7 +2842,7 @@ STR_884E_DECREASE_SERVICING_INTERVAL :{BLACK}Vähenda
STR_884F_SHOW_DETAILS_OF_CARGO_CARRIED :{BLACK}Näita detaile viidud kauba kohta
STR_8850_SHOW_DETAILS_OF_TRAIN_VEHICLES :{BLACK}Näita täpsemat infot rongivagunite kohta
STR_8851_SHOW_CAPACITIES_OF_EACH :{BLACK}Näita iga rongivaguni kandevõimet
STR_8852_SHOW_TOTAL_CARGO :{BLACK}Näita kogu rongi mahtu, jagatud kauba tüübi järgi
STR_SHOW_TOTAL_CARGO :{BLACK}Näita kogu rongi mahtu, jagatud kauba tüübi järgi
STR_8852_ORDERS_LIST_CLICK_ON_ORDER :{BLACK}Sihtpunktide nimekiri - vajuta käsul et see valida. CTRL + klik kerib jaama juurde
STR_8853_SKIP_THE_CURRENT_ORDER :{BLACK}Jäta praegune järjestus vahele ja alusta järgmisega. CTRL + klõps jätab vahele kuni valitud järjestuseni
STR_8854_DELETE_THE_HIGHLIGHTED :{BLACK}Kustuta valitud käsk
@@ -2881,8 +2873,8 @@ STR_8868_TRAIN_CRASH_DIE_IN_FIREBALL :{BLACK}{BIGFONT
STR_8869_CAN_T_REVERSE_DIRECTION :{WHITE}Ei saa rongi ümber pöörata.
STR_886A_RENAME_TRAIN_VEHICLE_TYPE :{WHITE}Muuda rongivaguni tüübinime
STR_886B_CAN_T_RENAME_TRAIN_VEHICLE :{WHITE}Raudteesõiduki tüübinime ei saa muuta...
STR_886D_MAKE_THE_HIGHLIGHTED_ORDER :{BLACK}Käsi valitud sihtpunktis sõiduki laadung kõrvaldada
STR_886F_TRANSFER :{BLACK}Laadi ümber
STR_MAKE_THE_HIGHLIGHTED_ORDER :{BLACK}Käsi valitud sihtpunktis sõiduki laadung kõrvaldada
STR_TRANSFER :{BLACK}Laadi ümber
STR_CLEAR_TIME :{BLACK}Tühista aeg
STR_RESET_LATENESS :{BLACK}Tühista hilinemisloendur
@@ -2960,8 +2952,8 @@ STR_902D_CAN_T_NAME_ROAD_VEHICLE :{WHITE}Ei saa m
STR_902E_NAME_ROAD_VEHICLE :{BLACK}Nimeta mootorsõidukit
STR_902F_CITIZENS_CELEBRATE_FIRST :{BLACK}{BIGFONT}Rahvas rõõmustab . . .{}{STATION} jaama saabus esimene buss!
STR_9030_CITIZENS_CELEBRATE_FIRST :{BLACK}{BIGFONT}Rahvas rõõmustab . . .{} esimene veok saabus {STATION} jaama!
STR_902F_CITIZENS_CELEBRATE_FIRST_TRAM :{BLACK}{BIGFONT}Kodanikud tähistavad . . .{}Esimene reisitramm saabus trammijaama {STATION}!
STR_9030_CITIZENS_CELEBRATE_FIRST_TRAM :{BLACK}{BIGFONT}Kodanikud tähistavad . . .{}Esimene kaubatramm saabus trammijaama {STATION}!
STR_CITIZENS_CELEBRATE_FIRST_PASSENGER_TRAM :{BLACK}{BIGFONT}Kodanikud tähistavad . . .{}Esimene reisitramm saabus trammijaama {STATION}!
STR_CITIZENS_CELEBRATE_FIRST_CARGO_TRAM :{BLACK}{BIGFONT}Kodanikud tähistavad . . .{}Esimene kaubatramm saabus trammijaama {STATION}!
STR_9031_ROAD_VEHICLE_CRASH_DRIVER :{BLACK}{BIGFONT}Rongikokkupõrge!{}Juht suri peale õnnetust tules
STR_9032_ROAD_VEHICLE_CRASH_DIE :{BLACK}{BIGFONT}Mootorsõiduki kokkupõrge rongiga!{}{COMMA} inimest suri õnnetuses
STR_9033_CAN_T_MAKE_VEHICLE_TURN :{WHITE}Transpordivahendit ei saa ümber pöörata...
@@ -2970,7 +2962,7 @@ STR_9034_RENAME :{BLACK}Nime muu
STR_9035_RENAME_ROAD_VEHICLE_TYPE :{BLACK}Muuda mootorsõiduki tüübinime
STR_9036_RENAME_ROAD_VEHICLE_TYPE :{WHITE}Muuda mootorsõiduki tüübinime
STR_9037_CAN_T_RENAME_ROAD_VEHICLE :{WHITE}Mootorsõiduki tüübinime ei saa muuta...
STR_9038_GO_TO_ROADVEH_DEPOT :Mine linna {TOWN} garaaži
STR_GO_TO_ROADVEH_DEPOT :Mine linna {TOWN} garaaži
STR_SERVICE_AT_ROADVEH_DEPOT :Hoolda linna {TOWN} mootorsõidukidepoos
STR_REFIT_ROAD_VEHICLE_TO_CARRY :{BLACK}Seadista mootorsõidukit kandmaks teist tüüpi veost
@@ -2980,7 +2972,7 @@ STR_REFIT_ROAD_VEHICLE_CAN_T :{WHITE}Mootors
STR_ROAD_SELECT_TYPE_OF_CARGO_FOR :{BLACK}Vali, millist tüüpi laadungit veovahend veab
##id 0x9800
STR_9800_DOCK_CONSTRUCTION :Sadamaehitus
STR_9800_DOCK_CONSTRUCTION :Sadamate ehitamine
STR_9801_DOCK_CONSTRUCTION :{WHITE}Sadama ehitus
STR_9802_CAN_T_BUILD_DOCK_HERE :{WHITE}Siia ei saa sadamat ehitada
STR_9803_SHIP_DEPOT :{WHITE}{TOWN} Laevaangaar
@@ -3083,7 +3075,7 @@ STR_A019_CAPACITY :{BLACK}Kandevõ
STR_A01A_CAPACITY :{BLACK}Kandevõime: {LTBLUE}{CARGO}
STR_A01B_AIRCRAFT_MUST_BE_STOPPED :{WHITE}Lennuk peab olema peatatud angaari sees
STR_A01C_CAN_T_SELL_AIRCRAFT :{WHITE}Ei saa lennukit müüa...
STR_A01D_AIRPORT_CONSTRUCTION :Lennuvälja ehitamine
STR_A01D_AIRPORT_CONSTRUCTION :Lennuväljade ehitamine
STR_A01E_BUILD_AIRPORT :{BLACK}Ehita lennuväli
STR_A01F_AIRCRAFT_CLICK_ON_AIRCRAFT :{BLACK}Lennuk - info saamiseks vajuta lennukile
STR_A020_BUILD_NEW_AIRCRAFT_REQUIRES :{BLACK}Ehita uus lennuk (vajab angaariga lennujaama)
@@ -3320,8 +3312,8 @@ STR_ORDER_REFIT_FAILED :{WHITE}Tellimus
STR_RAIL_VEHICLES :Raudteesõidukid
STR_ELRAIL_VEHICLES :Elektrirongid
STR_MONORAIL_VEHICLES :Monorelss-sõidukid
STR_MAGLEV_VEHICLES :Maglevi Sõidukid
STR_MONORAIL_VEHICLES :Monorelssveerem
STR_MAGLEV_VEHICLES :Magnethõljukveerem
############ End of list of rail types
@@ -3344,6 +3336,12 @@ STR_PURCHASE_INFO_ALL_TYPES :Kõik kaubatü
STR_PURCHASE_INFO_ALL_BUT :Kõik, välja arvatud {GOLD}
STR_PURCHASE_INFO_MAX_TE :{BLACK}Suurim veojõud: {GOLD}{FORCE}
########### For showing numbers in widgets
STR_NUM_1 :{BLACK}{SKIP}{NUM}
STR_NUM_2 :{BLACK}{SKIP}{SKIP}{NUM}
STR_NUM_3 :{BLACK}{SKIP}{SKIP}{SKIP}{NUM}
########### String for New Landscape Generator
STR_GENERATE :{WHITE}Tekita
@@ -3371,7 +3369,6 @@ STR_HEIGHTMAP_SCALE_WARNING_CAPTION :{WHITE}Skaala h
STR_HEIGHTMAP_SCALE_WARNING_MESSAGE :{YELLOW}Kaardi suuruse muutmine pole soovitatav. Jätka?
STR_TOWN_LAYOUT_WARNING_CAPTION :{WHITE}Linnaplaneerimise hoiatus
STR_TOWN_LAYOUT_WARNING_MESSAGE :{YELLOW}Linnaplaneeringut "ilma teedeta" ei ole soovitatav kasutada. Jätkata selle tekitamisega?
STR_SNOW_LINE_HEIGHT_NUM :{NUM}
STR_HEIGHTMAP_NAME :{BLACK}Kõrgusekaardi nimi:
STR_HEIGHTMAP_SIZE :{BLACK}Suurus: {ORANGE}{NUM} x {NUM}
STR_GENERATION_WORLD :{WHITE}Maailma genereerimine...
@@ -3397,7 +3394,6 @@ STR_FLAT_WORLD_HEIGHT_DOWN :{BLACK}Liiguta
STR_FLAT_WORLD_HEIGHT_UP :{BLACK}Liiguta lameda maa kõrgus ühe võrra üles
STR_FLAT_WORLD_HEIGHT_QUERY_CAPT :{WHITE}Muuda maa kõrgust lamedal maal
STR_FLAT_WORLD_HEIGHT :{BLACK}Lameda maa kõrgus:
STR_FLAT_WORLD_HEIGHT_NUM :{NUM}
STR_SMALLMAP_CENTER :{BLACK}Vii väikekaart praegusele asukohale
STR_SMALLMAP_INDUSTRY :{TINYFONT}{STRING} ({NUM})

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