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

Compare commits

...

24 Commits

Author SHA1 Message Date
rubidium
1003eb6eba (svn r16279) -Release: 0.7.1-RC1 2009-05-11 15:45:50 +00:00
rubidium
139a213d4d (svn r16278) [0.7] -Backport from trunk:
- Fix: The language is called Slovak, not Slovakish (r16090)
2009-05-11 15:35:26 +00:00
rubidium
06c45d6fe5 (svn r16275) [0.7] -Backport a lot of language updates from trunk. 2009-05-10 22:35:36 +00:00
rubidium
8446d6b8c2 (svn r16273) [0.7] -Backport from trunk:
- Fix: Wrong number of parameters or wrong parameter types sent to printf-like functions at several places (r16269)
- Fix: [NewGRF] When callback 2E returns an amount of 0, do not transport 1 unit to the station (r16268)
- Fix: [NoAI] Various documentation omissions with respect to IDs of various objects and corners for AITile::(Raise|Lower)Tile (r16267,r16266)
2009-05-10 21:33:55 +00:00
rubidium
9676072298 (svn r16272) [0.7] -Backport from trunk:
- Fix: [NoAI] Check slopes passed to the API better for validity (r16264, r16262)
- Fix: [NewGRF] Interpret setting bridge property 08 to 0 as always available (r16263)
- Add: [NoAI] AIController::GetVersion, this returns the version of OpenTTD in the same way as for NewGRFs (r16253)
- Add: [NoAI] AIAirport::GetPrice, returning the building cost of an airport (r16252)
- Fix: [NoAI] Enable parameter checking for AIController::* functions again (r16249)
2009-05-10 21:26:46 +00:00
rubidium
2db7e3a0a8 (svn r16248) [0.7] -Backport from trunk:
- Fix: Improve corner case order handling: mark order as done only when actually done, obey non-stop orders, do only stop/refit at the depot in the order (r16240,r16228,r16199,r16198,r16187)
- Fix: Use the stop/non-stop intermediate orderflags AIs can give for goto-depot orders (r16239)
2009-05-06 23:21:43 +00:00
rubidium
1e9fd18e6a (svn r16247) [0.7] -Backport from trunk:
- Fix: [NoAI] Make sure AITunnel::BuildTunnel returns what the documentation says it does (r16244)
- Fix: [NoAI] CmdBuildTunnel could be called with invalid parameters from the API code, causing crashes later [FS#2875] (r16243)
- Fix: [NewGRF] ActionB should use the online parameters from GRFFile instead of the initial user-specified values from GRFConfig. Also use the values as they were set when the ActionB was executed, not as they are set when the message is shown (r16223)
- Fix: Possible crashes when quiting OpenTTD or forcing resizes/redraws of the screen during map generation [FS#2862] (r16220)
- Fix: Shared orders without orders were not properly converted causing corrupt/invalid orders when loading pre 0.7 savegames [FS#2878] (r16214)
2009-05-06 22:37:19 +00:00
rubidium
909af50aaa (svn r16246) [0.7] -Backport from trunk:
- Fix: [Squirrel] the traps variable wasn't restored, causing try/catch blocks to be 'forgotten' during a suspend (r16181)
- Add: [NoAI] Two new error codes to AITile: ERR_AREA_ALREADY_FLAT and ERR_EXCAVATION_WOULD_DAMAGE (r16171)
- Add: [NoAI] AITile::Get(Min|Max|Corner)Height (r16166)
- Add: [NoAI] Several functions to AIOrder to check the what kind of order an order is [FS#2801] (r16165)
- Fix: [NoAI] AIOrder::GetOrderDestination and AIOrder::GetOrderFlags didn't work on ORDER_CURRENT when the vehicle was loading/leaving in a station (r16165)
- Fix: [NoAI] Change WAYPOINT_INVALID to 0xFFFF from -1 as that is the value the AIs got (due to casting) (r16150)
2009-05-06 22:31:52 +00:00
rubidium
07a16f9282 (svn r16245) [0.7] -Backport from trunk:
- Fix: Hardcoded (old sized) MAX_COMPANIES constant (r16182)
- Fix: Do not try to reserve path for trains crashed in station [FS#2866] (r16178)
- Fix: Forbid joining AI companies via the 'move' and 'join' console commands/multiplayer lobby (r16176, r16175)
- Fix: The overflowsafe type did not like dividing by int64 larger than MAX_INT32 causing division by negative numbers and small anomolies when drawing graphs [FS#2855] (r16130)
2009-05-06 22:21:32 +00:00
rubidium
28e7981a5b (svn r16121) [0.7] -Backport from trunk:
- Add: [NoAI] UseAsRandomAI as function in info.nut. When an AI returns false, it will never be chosen as random AI (r16113)
- Fix: [NoAI] Make sure AIOrder::GetDestination always returns a tile belonging to the station (16109)
- Fix: [NoAI] When giving an aircraft a goto-hangar order do not let it be a normal goto-station order (r16108)
- Add: [NoAI] AIOF_STOP_IN_DEPOT to the orderflags in AIOrder to allow stop-in-depot orders (r16107)
- Fix: [NoAI] AIOrder::SetOrderFlags always removed "Service if needed" from goto-depot orders (r16106)
- Add: [NoAI] GetURL() as possible function to info.nut. If AIs implement it, that url is shown when the AI crashes and also in the AI selection window [FS#2808] (r16093)
- Change: [NoAI] Reverse the order of the lines in the AI debug window [FS#2778] (r16091)
- Fix: [NoAI] AIDebug window profiled the blitters by invalidating itself unconditionally on repaint. OTOH it was not invalidated in other cases when needed (r16094)
- Fix: [NoAI] MOF_COND_DESTINATION was not accepted by CmdModifyOrder() (r16063)
2009-04-22 09:00:19 +00:00
rubidium
f7cc97fe5c (svn r16120) [0.7] -Backport from trunk:
- Fix: Road was removed when both the Remove button was active and Ctrl was pressed [FS#2582] (r16119)
- Fix: Connect tried to validate too much of the company ID with too little information on hand [FS#2849] (r16096)
- Fix: Insanely fast trains would not stop in time for stations/'jump' over waypoints/via stations within a tick, which would cause the order not to be processed causing the train to go in loops until (with luck) it 'hit' the tile [FS#2824] (r16079)
- Fix: Content download progress bar 'resetting' due to mathematical overflow [FS#2845] (r16071)
- Fix: Memory leak when querying a server multiple times (r16064)
2009-04-22 08:48:08 +00:00
rubidium
d9ed2d380f (svn r16061) [0.7] -Backport from trunk:
- Fix: Non advanced vehicle list did not handle company switching correctly (r16054)
- Fix: Do not warn that crashed vehicles are getting old; upgrading them is impossible [FS#2740] (r16048)
- Fix: The currency abbreviation for the Romanian Leu is now RON [FS#774] (r16041)
- Fix: Dash was not able to run iconv detection (r16035)
- Fix: [NewGRF] Do not give "... Mines" as name to the station of oil rigs, or more general: do not add "... Mines" when the all of the cargoes are part of the liquid, passenger or mail classes [FS#2785] (r16029)
2009-04-14 21:20:03 +00:00
rubidium
60901368cc (svn r16060) [0.7] -Backport from trunk:
- Fix: Storing/loading some currencies failed due to inconsistent settings "tables" [FS#2826] (r16028)
- Fix: Usage of uninitialised memory when trying to build a random new industry, but there are no industrytypes to choose from (i.e. all appearance probabilities are zero) (r16027)
- Fix: "Build separate station" in the station picker would reuse deleted stations [FS#2818] (r16025)
- Fix: 32 bpp sprites in tars would also be shown in the list of heightmaps [FS#2817] (r16023)
- Fix: Sometimes the unregister "query" thread could be delayed so much that the network stuff was already closed and the packet would never reach the master server causing the server to appear online longer than necessary (r16022)
- Fix: Chance16() did not work for b = 1. Also transform the formula to not use divisions (r16006)
2009-04-14 21:13:07 +00:00
rubidium
9f5e690118 (svn r16059) [0.7] -Backport from trunk:
- Fix: Inconsistency between using NETWORK_NAME_LENGTH and NETWORK_CLIENT_NAME_LENGTH for the length of client names (r15988)
- Fix: [NewGRF] Abort production callback after 0x10000 iterations and show a messagebox blaming the NewGRF [FS#2787] (r15958)
- Fix: [NewGRF] Set callback_param1 (var 10) to 1 only when requested (r15957)
- Fix: Tooltip of detailed ratings window button showed wrong tip (r15943)
- Change: Harden string copying on places where it is possible (r16024)
- Change: Use recent Czech language for plural form (r15965)
2009-04-14 21:07:33 +00:00
rubidium
2fbd7ff6cc (svn r15912) [0.7] -Backport from trunk:
- Update: lots and lots of translations
- Fix: Chat completion got called twice causing tab completion to seemingly fail (r15905)
2009-04-01 14:24:54 +00:00
rubidium
1595413545 (svn r15904) [0.7] -Backport from trunk:
- Feature: Watermark crash.sav and do not generate crash information if a loaded crash.sav causes a crash so the real crash report does not get overwritten (r15893)
- Feature: Add autoclean_novehicles setting which will, when autoclean_companies is true, remove any company with no vehicles and no active client after autoclean_novehicles-months (r15848)
- Add: [NoAI] AIIndustryType::IsBuiltOnWater(), HasHeliport() and HasDock(). Just like AIIndustry (r15901)
- Add: [NoAI] AIBridge::GetBridgeID() so AIs can get the type of bridge that are already build (r15875)
- Add: [NoAI] AIRoad::GetRoadVehicleTypeForCargo() to tell whether a certain cargo needs a bus- or a truckstop (r15860)
2009-03-30 23:22:13 +00:00
rubidium
76b2e1c5ab (svn r15903) [0.7] -Backport from trunk:
- Fix: YAPF did not apply the platform length (too long/too short) penalties (r15900)
- Fix: Fixing the slopes was done a bit more often than intended making map generation with the original generator horribly slow (r15895)
- Fix: YAPF used different penalties for aqueducts than for other water tiles (r15891)
- Fix: Round the production rate up, so e.g. oilrigs always produce some passengers on lowest production level [FS#2772] (r15888)
- Fix: Libtimidity cannot handle frees of NULL (in contrast of most other frees) [FS#2770] (r15886)
- Fix: Make sure house class/ID counters do not overflow (r15831)
2009-03-30 23:15:05 +00:00
rubidium
7e1385b6eb (svn r15828) [0.7] -Prepare: for 0.7.0-RC2. 2009-03-23 00:19:22 +00:00
rubidium
4ec28e1ba7 (svn r15826) [0.7] -Backport from trunk:
- Update: language files
- Fix: Some (newer) GCCs have trouble compiling the Win32 specific part of fontcache.cpp; jumps across variable declarations [FS#2752] (r15818)
- Fix: When sorting on cost do not sort on the running cost [FS#2749] (r15778)
2009-03-23 00:12:52 +00:00
rubidium
30afba1d10 (svn r15775) [0.7] -Backport from trunk:
- Fix: Do not show the message about reporting an AI crash for the dummy AI (r15774)
- Fix: Number of active clients was not always properly updated [FS#2475] (r15773)
- Fix: Settings from the [gameopt] section (from old 0.6 config files) were overwritten with default values (r15771)
- Fix: Infinite loop when skipping sprites when a GRF is invalid (or truncated) (r15767)
- Fix: Crash when opening the content list window twice; inconsistencies when clicking download twice [FS#2744] (r15766)
2009-03-19 23:50:54 +00:00
rubidium
61e97110c9 (svn r15765) [0.7] -Backport from trunk:
- Change: [NewGRF] Expose GRF ID of engines in var action property 0x25 (r15739)
- Fix: Add Engine::GetDisplayDefaultCapacity() and use it everywhere, so CB 36 is also used everywhere (r15763)
- Fix: [Windows] Inlined UTF-8 characters (in the source code) are not handled properly on Eastern versions of Windows so escape them (r15762)
- Fix: [Windows] On some system searching a font using its English name fails. So now we search the font using the localised name and use the English name for the final 'validation' only (r15757)
2009-03-18 19:50:34 +00:00
rubidium
9e592b9986 (svn r15764) [0.7] -Backport from trunk:
- Fix: Number of houses in house variables 0x44, 0x60 and 0x61 were incorrect after 0xFF had been reached and could desync clients joining afterwards (r15755)
- Fix: Crash when clicking the small area between the savegame list and the save button in the save game window [FS#2742] (r15753)
- Fix: Do not try to (un)draw the cursor when the screen is not ready (r15752)
- Fix: The big UFO sometimes landed just outside the map. Instead of landing, just disappear (fly away) in those cases (r15750)
- Fix: Crash because submarines would sometimes start far outside of the map [FS#2739] (r15748)
- Fix: Road ownership getting lost when removing a road stop [FS#2736] (r15747)
- Fix: Update threading code for OS/2, add mutex support, fix compilation (r15746, r15745)
- Fix: When town generator failed to create requested number of towns, there were too many cities (r15744)
2009-03-18 19:47:05 +00:00
rubidium
de7a4a4006 (svn r15737) [0.7] -Prepare: for 0.7.0-RC1. 2009-03-15 22:42:48 +00:00
rubidium
53dc1a89da (svn r15734) [0.7] -Branch: the long awaited branch so we can introduce new features in trunk before 0.7.0, but not let them destabalize the pending release :) 2009-03-15 22:14:10 +00:00
190 changed files with 4177 additions and 2153 deletions

View File

@@ -1,7 +1,7 @@
#--------------------------------------------------------------------------- #---------------------------------------------------------------------------
# Project related configuration options # Project related configuration options
#--------------------------------------------------------------------------- #---------------------------------------------------------------------------
PROJECT_NAME = openttd PROJECT_NAME = OpenTTD
OUTPUT_DIRECTORY = docs/source/ OUTPUT_DIRECTORY = docs/source/
CREATE_SUBDIRS = NO CREATE_SUBDIRS = NO
OUTPUT_LANGUAGE = English OUTPUT_LANGUAGE = English

View File

@@ -220,6 +220,7 @@ function Regression::Airport()
} }
print(" GetBankBalance(): " + AICompany.GetBankBalance(AICompany.COMPANY_SELF)); print(" GetBankBalance(): " + AICompany.GetBankBalance(AICompany.COMPANY_SELF));
print(" GetPrice(): " + AIAirport.GetPrice(0));
print(" BuildAirport(): " + AIAirport.BuildAirport(32116, 0, AIStation.STATION_JOIN_ADJACENT)); print(" BuildAirport(): " + AIAirport.BuildAirport(32116, 0, AIStation.STATION_JOIN_ADJACENT));
print(" IsHangarTile(): " + AIAirport.IsHangarTile(32116)); print(" IsHangarTile(): " + AIAirport.IsHangarTile(32116));
print(" IsAirportTile(): " + AIAirport.IsAirportTile(32116)); print(" IsAirportTile(): " + AIAirport.IsAirportTile(32116));
@@ -256,12 +257,15 @@ function Regression::Bridge()
print(" Valid Bridges: " + j); print(" Valid Bridges: " + j);
print(" IsBridgeTile(): " + AIBridge.IsBridgeTile(33160)); print(" IsBridgeTile(): " + AIBridge.IsBridgeTile(33160));
print(" GetBridgeID(): " + AIBridge.GetBridgeID(33160));
print(" RemoveBridge(): " + AIBridge.RemoveBridge(33155)); print(" RemoveBridge(): " + AIBridge.RemoveBridge(33155));
print(" GetLastErrorString(): " + AIError.GetLastErrorString()); print(" GetLastErrorString(): " + AIError.GetLastErrorString());
print(" GetOtherBridgeEnd(): " + AIBridge.GetOtherBridgeEnd(33160)); print(" GetOtherBridgeEnd(): " + AIBridge.GetOtherBridgeEnd(33160));
print(" BuildBridge(): " + AIBridge.BuildBridge(AIVehicle.VT_ROAD, 5, 33160, 33155)); print(" BuildBridge(): " + AIBridge.BuildBridge(AIVehicle.VT_ROAD, 5, 33160, 33155));
print(" IsBridgeTile(): " + AIBridge.IsBridgeTile(33160)); print(" IsBridgeTile(): " + AIBridge.IsBridgeTile(33160));
print(" GetBridgeID(): " + AIBridge.GetBridgeID(33160));
print(" IsBridgeTile(): " + AIBridge.IsBridgeTile(33155)); print(" IsBridgeTile(): " + AIBridge.IsBridgeTile(33155));
print(" GetBridgeID(): " + AIBridge.GetBridgeID(33155));
print(" GetOtherBridgeEnd(): " + AIBridge.GetOtherBridgeEnd(33160)); print(" GetOtherBridgeEnd(): " + AIBridge.GetOtherBridgeEnd(33160));
print(" BuildBridge(): " + AIBridge.BuildBridge(AIVehicle.VT_ROAD, 5, 33160, 33155)); print(" BuildBridge(): " + AIBridge.BuildBridge(AIVehicle.VT_ROAD, 5, 33160, 33155));
print(" GetLastErrorString(): " + AIError.GetLastErrorString()); print(" GetLastErrorString(): " + AIError.GetLastErrorString());
@@ -329,6 +333,7 @@ function Regression::Cargo()
print(" GetCargoIncome(10, 10): " + AICargo.GetCargoIncome(i, 10, 10)); print(" GetCargoIncome(10, 10): " + AICargo.GetCargoIncome(i, 10, 10));
print(" GetCargoIncome(100, 10): " + AICargo.GetCargoIncome(i, 100, 10)); print(" GetCargoIncome(100, 10): " + AICargo.GetCargoIncome(i, 100, 10));
print(" GetCargoIncome(10, 100): " + AICargo.GetCargoIncome(i, 10, 100)); print(" GetCargoIncome(10, 100): " + AICargo.GetCargoIncome(i, 10, 100));
print(" GetRoadVehicleTypeForCargo(): " + AIRoad.GetRoadVehicleTypeForCargo(i));
} }
} }
@@ -631,6 +636,9 @@ function Regression::IndustryTypeList()
print(" GetName(): " + AIIndustryType.GetName(i)); print(" GetName(): " + AIIndustryType.GetName(i));
print(" CanBuildIndustry(): " + AIIndustryType.CanBuildIndustry(i)); print(" CanBuildIndustry(): " + AIIndustryType.CanBuildIndustry(i));
print(" CanProspectIndustry(): " + AIIndustryType.CanProspectIndustry(i)); print(" CanProspectIndustry(): " + AIIndustryType.CanProspectIndustry(i));
print(" IsBuiltOnWater(): " + AIIndustryType.IsBuiltOnWater(i));
print(" HasHeliport(): " + AIIndustryType.HasHeliport(i));
print(" HasDock(): " + AIIndustryType.HasDock(i));
} }
} }
@@ -1182,7 +1190,7 @@ function Regression::TileList()
print(""); print("");
print("--TileList--"); print("--TileList--");
print(" Count(): " + list.Count()); print(" Count(): " + list.Count());
list.AddRectangle(41895 - 256 * 2, 256 * 2 + 41895 + 8); list.AddRectangle(34436, 256 * 2 + 34436 + 8);
print(" Count(): " + list.Count()); print(" Count(): " + list.Count());
list.Valuate(AITile.GetHeight); list.Valuate(AITile.GetHeight);
@@ -1193,6 +1201,30 @@ function Regression::TileList()
print(" " + i + " => " + list.GetValue(i)); print(" " + i + " => " + list.GetValue(i));
} }
list.Valuate(AITile.GetCornerHeight, AITile.CORNER_N);
print(" CornerHeight(North): done");
print(" Count(): " + list.Count());
print(" ListDump:");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i));
}
list.Valuate(AITile.GetMinHeight);
print(" MinHeight(): done");
print(" Count(): " + list.Count());
print(" ListDump:");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i));
}
list.Valuate(AITile.GetMaxHeight);
print(" MaxHeight(): done");
print(" Count(): " + list.Count());
print(" ListDump:");
for (local i = list.Begin(); list.HasNext(); i = list.Next()) {
print(" " + i + " => " + list.GetValue(i));
}
list.Valuate(AITile.GetSlope); list.Valuate(AITile.GetSlope);
list.KeepValue(0); list.KeepValue(0);
print(" Slope(): done"); print(" Slope(): done");
@@ -1203,6 +1235,8 @@ function Regression::TileList()
print(" " + i + " => " + list.GetValue(i)); print(" " + i + " => " + list.GetValue(i));
} }
list.Clear();
list.AddRectangle(41895 - 256 * 2, 256 * 2 + 41895 + 8);
list.Valuate(AITile.IsBuildable); list.Valuate(AITile.IsBuildable);
list.KeepValue(1); list.KeepValue(1);
print(" Buildable(): done"); print(" Buildable(): done");

View File

@@ -620,6 +620,7 @@
GetAirportHeight(9): -1 GetAirportHeight(9): -1
GetAirportCoverageRadius(9): -1 GetAirportCoverageRadius(9): -1
GetBankBalance(): 100000 GetBankBalance(): 100000
GetPrice(): 84
BuildAirport(): true BuildAirport(): true
IsHangarTile(): false IsHangarTile(): false
IsAirportTile(): true IsAirportTile(): true
@@ -743,12 +744,15 @@
GetMinLength(): -1 GetMinLength(): -1
Valid Bridges: 10 Valid Bridges: 10
IsBridgeTile(): false IsBridgeTile(): false
GetBridgeID(): -1
RemoveBridge(): false RemoveBridge(): false
GetLastErrorString(): ERR_PRECONDITION_FAILED GetLastErrorString(): ERR_PRECONDITION_FAILED
GetOtherBridgeEnd(): -1 GetOtherBridgeEnd(): -1
BuildBridge(): true BuildBridge(): true
IsBridgeTile(): true IsBridgeTile(): true
GetBridgeID(): 5
IsBridgeTile(): true IsBridgeTile(): true
GetBridgeID(): 5
GetOtherBridgeEnd(): 33155 GetOtherBridgeEnd(): 33155
BuildBridge(): false BuildBridge(): false
GetLastErrorString(): ERR_ALREADY_BUILT GetLastErrorString(): ERR_ALREADY_BUILT
@@ -824,6 +828,7 @@
GetCargoIncome(10, 10): -1 GetCargoIncome(10, 10): -1
GetCargoIncome(100, 10): -1 GetCargoIncome(100, 10): -1
GetCargoIncome(10, 100): -1 GetCargoIncome(10, 100): -1
GetRoadVehicleTypeForCargo(): 1
Cargo 0 Cargo 0
IsValidCargo(): true IsValidCargo(): true
GetCargoLabel(): 'PASS' GetCargoLabel(): 'PASS'
@@ -834,6 +839,7 @@
GetCargoIncome(10, 10): 3 GetCargoIncome(10, 10): 3
GetCargoIncome(100, 10): 39 GetCargoIncome(100, 10): 39
GetCargoIncome(10, 100): 3 GetCargoIncome(10, 100): 3
GetRoadVehicleTypeForCargo(): 0
Cargo 1 Cargo 1
IsValidCargo(): true IsValidCargo(): true
GetCargoLabel(): 'COAL' GetCargoLabel(): 'COAL'
@@ -844,6 +850,7 @@
GetCargoIncome(10, 10): 7 GetCargoIncome(10, 10): 7
GetCargoIncome(100, 10): 75 GetCargoIncome(100, 10): 75
GetCargoIncome(10, 100): 6 GetCargoIncome(10, 100): 6
GetRoadVehicleTypeForCargo(): 1
Cargo 2 Cargo 2
IsValidCargo(): true IsValidCargo(): true
GetCargoLabel(): 'MAIL' GetCargoLabel(): 'MAIL'
@@ -854,6 +861,7 @@
GetCargoIncome(10, 10): 5 GetCargoIncome(10, 10): 5
GetCargoIncome(100, 10): 58 GetCargoIncome(100, 10): 58
GetCargoIncome(10, 100): 5 GetCargoIncome(10, 100): 5
GetRoadVehicleTypeForCargo(): 1
Cargo 3 Cargo 3
IsValidCargo(): true IsValidCargo(): true
GetCargoLabel(): 'OIL_' GetCargoLabel(): 'OIL_'
@@ -864,6 +872,7 @@
GetCargoIncome(10, 10): 5 GetCargoIncome(10, 10): 5
GetCargoIncome(100, 10): 56 GetCargoIncome(100, 10): 56
GetCargoIncome(10, 100): 5 GetCargoIncome(10, 100): 5
GetRoadVehicleTypeForCargo(): 1
Cargo 4 Cargo 4
IsValidCargo(): true IsValidCargo(): true
GetCargoLabel(): 'LVST' GetCargoLabel(): 'LVST'
@@ -874,6 +883,7 @@
GetCargoIncome(10, 10): 5 GetCargoIncome(10, 10): 5
GetCargoIncome(100, 10): 55 GetCargoIncome(100, 10): 55
GetCargoIncome(10, 100): 4 GetCargoIncome(10, 100): 4
GetRoadVehicleTypeForCargo(): 1
Cargo 5 Cargo 5
IsValidCargo(): true IsValidCargo(): true
GetCargoLabel(): 'GOOD' GetCargoLabel(): 'GOOD'
@@ -884,6 +894,7 @@
GetCargoIncome(10, 10): 7 GetCargoIncome(10, 10): 7
GetCargoIncome(100, 10): 78 GetCargoIncome(100, 10): 78
GetCargoIncome(10, 100): 6 GetCargoIncome(10, 100): 6
GetRoadVehicleTypeForCargo(): 1
Cargo 6 Cargo 6
IsValidCargo(): true IsValidCargo(): true
GetCargoLabel(): 'GRAI' GetCargoLabel(): 'GRAI'
@@ -894,6 +905,7 @@
GetCargoIncome(10, 10): 6 GetCargoIncome(10, 10): 6
GetCargoIncome(100, 10): 60 GetCargoIncome(100, 10): 60
GetCargoIncome(10, 100): 5 GetCargoIncome(10, 100): 5
GetRoadVehicleTypeForCargo(): 1
Cargo 7 Cargo 7
IsValidCargo(): true IsValidCargo(): true
GetCargoLabel(): 'WOOD' GetCargoLabel(): 'WOOD'
@@ -904,6 +916,7 @@
GetCargoIncome(10, 10): 6 GetCargoIncome(10, 10): 6
GetCargoIncome(100, 10): 63 GetCargoIncome(100, 10): 63
GetCargoIncome(10, 100): 5 GetCargoIncome(10, 100): 5
GetRoadVehicleTypeForCargo(): 1
Cargo 8 Cargo 8
IsValidCargo(): true IsValidCargo(): true
GetCargoLabel(): 'IORE' GetCargoLabel(): 'IORE'
@@ -914,6 +927,7 @@
GetCargoIncome(10, 10): 6 GetCargoIncome(10, 10): 6
GetCargoIncome(100, 10): 65 GetCargoIncome(100, 10): 65
GetCargoIncome(10, 100): 5 GetCargoIncome(10, 100): 5
GetRoadVehicleTypeForCargo(): 1
Cargo 9 Cargo 9
IsValidCargo(): true IsValidCargo(): true
GetCargoLabel(): 'STEL' GetCargoLabel(): 'STEL'
@@ -924,6 +938,7 @@
GetCargoIncome(10, 10): 7 GetCargoIncome(10, 10): 7
GetCargoIncome(100, 10): 72 GetCargoIncome(100, 10): 72
GetCargoIncome(10, 100): 6 GetCargoIncome(10, 100): 6
GetRoadVehicleTypeForCargo(): 1
Cargo 10 Cargo 10
IsValidCargo(): true IsValidCargo(): true
GetCargoLabel(): 'VALU' GetCargoLabel(): 'VALU'
@@ -934,6 +949,7 @@
GetCargoIncome(10, 10): 9 GetCargoIncome(10, 10): 9
GetCargoIncome(100, 10): 94 GetCargoIncome(100, 10): 94
GetCargoIncome(10, 100): 7 GetCargoIncome(10, 100): 7
GetRoadVehicleTypeForCargo(): 1
Cargo 11 Cargo 11
IsValidCargo(): false IsValidCargo(): false
GetCargoLabel(): '(null : 0x00000000)' GetCargoLabel(): '(null : 0x00000000)'
@@ -944,6 +960,7 @@
GetCargoIncome(10, 10): -1 GetCargoIncome(10, 10): -1
GetCargoIncome(100, 10): -1 GetCargoIncome(100, 10): -1
GetCargoIncome(10, 100): -1 GetCargoIncome(10, 100): -1
GetRoadVehicleTypeForCargo(): 1
Cargo 12 Cargo 12
IsValidCargo(): false IsValidCargo(): false
GetCargoLabel(): '(null : 0x00000000)' GetCargoLabel(): '(null : 0x00000000)'
@@ -954,6 +971,7 @@
GetCargoIncome(10, 10): -1 GetCargoIncome(10, 10): -1
GetCargoIncome(100, 10): -1 GetCargoIncome(100, 10): -1
GetCargoIncome(10, 100): -1 GetCargoIncome(10, 100): -1
GetRoadVehicleTypeForCargo(): 1
Cargo 13 Cargo 13
IsValidCargo(): false IsValidCargo(): false
GetCargoLabel(): '(null : 0x00000000)' GetCargoLabel(): '(null : 0x00000000)'
@@ -964,6 +982,7 @@
GetCargoIncome(10, 10): -1 GetCargoIncome(10, 10): -1
GetCargoIncome(100, 10): -1 GetCargoIncome(100, 10): -1
GetCargoIncome(10, 100): -1 GetCargoIncome(10, 100): -1
GetRoadVehicleTypeForCargo(): 1
Cargo 14 Cargo 14
IsValidCargo(): false IsValidCargo(): false
GetCargoLabel(): '(null : 0x00000000)' GetCargoLabel(): '(null : 0x00000000)'
@@ -974,6 +993,7 @@
GetCargoIncome(10, 10): -1 GetCargoIncome(10, 10): -1
GetCargoIncome(100, 10): -1 GetCargoIncome(100, 10): -1
GetCargoIncome(10, 100): -1 GetCargoIncome(10, 100): -1
GetRoadVehicleTypeForCargo(): 1
--CargoList-- --CargoList--
Count(): 11 Count(): 11
@@ -6907,6 +6927,9 @@
GetName(): Farm GetName(): Farm
CanBuildIndustry(): false CanBuildIndustry(): false
CanProspectIndustry(): false CanProspectIndustry(): false
IsBuiltOnWater(): false
HasHeliport(): false
HasDock(): false
Id: 5 Id: 5
IsRawIndustry(): true IsRawIndustry(): true
ProductionCanIncrease(): true ProductionCanIncrease(): true
@@ -6914,6 +6937,9 @@
GetName(): Oil Rig GetName(): Oil Rig
CanBuildIndustry(): false CanBuildIndustry(): false
CanProspectIndustry(): false CanProspectIndustry(): false
IsBuiltOnWater(): true
HasHeliport(): true
HasDock(): true
Id: 12 Id: 12
IsRawIndustry(): false IsRawIndustry(): false
ProductionCanIncrease(): true ProductionCanIncrease(): true
@@ -6921,6 +6947,9 @@
GetName(): Bank GetName(): Bank
CanBuildIndustry(): true CanBuildIndustry(): true
CanProspectIndustry(): false CanProspectIndustry(): false
IsBuiltOnWater(): false
HasHeliport(): false
HasDock(): false
Id: 11 Id: 11
IsRawIndustry(): true IsRawIndustry(): true
ProductionCanIncrease(): false ProductionCanIncrease(): false
@@ -6928,6 +6957,9 @@
GetName(): Oil Wells GetName(): Oil Wells
CanBuildIndustry(): false CanBuildIndustry(): false
CanProspectIndustry(): false CanProspectIndustry(): false
IsBuiltOnWater(): false
HasHeliport(): false
HasDock(): false
Id: 1 Id: 1
IsRawIndustry(): false IsRawIndustry(): false
ProductionCanIncrease(): true ProductionCanIncrease(): true
@@ -6935,6 +6967,9 @@
GetName(): Power Station GetName(): Power Station
CanBuildIndustry(): true CanBuildIndustry(): true
CanProspectIndustry(): false CanProspectIndustry(): false
IsBuiltOnWater(): false
HasHeliport(): false
HasDock(): false
Id: 3 Id: 3
IsRawIndustry(): true IsRawIndustry(): true
ProductionCanIncrease(): true ProductionCanIncrease(): true
@@ -6942,6 +6977,9 @@
GetName(): Forest GetName(): Forest
CanBuildIndustry(): false CanBuildIndustry(): false
CanProspectIndustry(): false CanProspectIndustry(): false
IsBuiltOnWater(): false
HasHeliport(): false
HasDock(): false
Id: 2 Id: 2
IsRawIndustry(): false IsRawIndustry(): false
ProductionCanIncrease(): true ProductionCanIncrease(): true
@@ -6949,6 +6987,9 @@
GetName(): Sawmill GetName(): Sawmill
CanBuildIndustry(): true CanBuildIndustry(): true
CanProspectIndustry(): false CanProspectIndustry(): false
IsBuiltOnWater(): false
HasHeliport(): false
HasDock(): false
Id: 18 Id: 18
IsRawIndustry(): true IsRawIndustry(): true
ProductionCanIncrease(): true ProductionCanIncrease(): true
@@ -6956,6 +6997,9 @@
GetName(): Iron Ore Mine GetName(): Iron Ore Mine
CanBuildIndustry(): false CanBuildIndustry(): false
CanProspectIndustry(): false CanProspectIndustry(): false
IsBuiltOnWater(): false
HasHeliport(): false
HasDock(): false
Id: 0 Id: 0
IsRawIndustry(): true IsRawIndustry(): true
ProductionCanIncrease(): true ProductionCanIncrease(): true
@@ -6963,6 +7007,9 @@
GetName(): Coal Mine GetName(): Coal Mine
CanBuildIndustry(): false CanBuildIndustry(): false
CanProspectIndustry(): false CanProspectIndustry(): false
IsBuiltOnWater(): false
HasHeliport(): false
HasDock(): false
Id: 8 Id: 8
IsRawIndustry(): false IsRawIndustry(): false
ProductionCanIncrease(): true ProductionCanIncrease(): true
@@ -6970,6 +7017,9 @@
GetName(): Steel Mill GetName(): Steel Mill
CanBuildIndustry(): true CanBuildIndustry(): true
CanProspectIndustry(): false CanProspectIndustry(): false
IsBuiltOnWater(): false
HasHeliport(): false
HasDock(): false
Id: 4 Id: 4
IsRawIndustry(): false IsRawIndustry(): false
ProductionCanIncrease(): true ProductionCanIncrease(): true
@@ -6977,6 +7027,9 @@
GetName(): Oil Refinery GetName(): Oil Refinery
CanBuildIndustry(): true CanBuildIndustry(): true
CanProspectIndustry(): false CanProspectIndustry(): false
IsBuiltOnWater(): false
HasHeliport(): false
HasDock(): false
Id: 6 Id: 6
IsRawIndustry(): false IsRawIndustry(): false
ProductionCanIncrease(): true ProductionCanIncrease(): true
@@ -6984,6 +7037,9 @@
GetName(): Factory GetName(): Factory
CanBuildIndustry(): true CanBuildIndustry(): true
CanProspectIndustry(): false CanProspectIndustry(): false
IsBuiltOnWater(): false
HasHeliport(): false
HasDock(): false
--Map-- --Map--
GetMapSize(): 65536 GetMapSize(): 65536
@@ -7273,7 +7329,7 @@
Count(): 9 Count(): 9
ListDump: ListDump:
27631 => 29 27631 => 29
27631 => 255 27631 => 65535
27631 => true 27631 => true
27631 => false 27631 => false
27888 => 13 27888 => 13
@@ -7311,125 +7367,178 @@
--TileList-- --TileList--
Count(): 0 Count(): 0
Count(): 45 Count(): 27
Height(): done Height(): done
Count(): 45 Count(): 27
ListDump: ListDump:
42411 => 2 34956 => 4
42410 => 2 34700 => 4
42409 => 2 34444 => 4
42408 => 2 34955 => 3
42407 => 2 34954 => 3
42154 => 2 34953 => 3
42153 => 2 34699 => 3
42152 => 2 34698 => 3
42151 => 2 34697 => 3
41898 => 2 34693 => 3
41897 => 2 34692 => 3
41896 => 2 34443 => 3
41895 => 2 34442 => 3
41642 => 2 34441 => 3
41641 => 2 34439 => 3
41640 => 2 34438 => 3
41639 => 2 34437 => 3
41386 => 2 34436 => 3
41385 => 2 34952 => 2
41384 => 2 34951 => 2
41383 => 2 34950 => 2
42415 => 1 34949 => 2
42414 => 1 34948 => 2
42413 => 1 34696 => 2
42412 => 1 34695 => 2
42159 => 1 34694 => 2
42158 => 1 34440 => 2
42157 => 1 CornerHeight(North): done
42156 => 1 Count(): 27
42155 => 1 ListDump:
41903 => 1 34956 => 4
41902 => 1 34700 => 4
41901 => 1 34444 => 4
41900 => 1 34955 => 3
41899 => 1 34954 => 3
41647 => 1 34953 => 3
41646 => 1 34699 => 3
41645 => 1 34698 => 3
41644 => 1 34697 => 3
41643 => 1 34693 => 3
41391 => 1 34692 => 3
41390 => 1 34443 => 3
41389 => 1 34442 => 3
41388 => 1 34441 => 3
41387 => 1 34439 => 3
34438 => 3
34437 => 3
34436 => 3
34952 => 2
34951 => 2
34950 => 2
34949 => 2
34948 => 2
34696 => 2
34695 => 2
34694 => 2
34440 => 2
MinHeight(): done
Count(): 27
ListDump:
34956 => 4
34700 => 4
34444 => 4
34955 => 3
34954 => 3
34953 => 3
34699 => 3
34698 => 3
34697 => 3
34443 => 3
34442 => 3
34441 => 3
34436 => 3
34952 => 2
34951 => 2
34950 => 2
34949 => 2
34948 => 2
34696 => 2
34695 => 2
34694 => 2
34693 => 2
34692 => 2
34440 => 2
34439 => 2
34438 => 2
34437 => 2
MaxHeight(): done
Count(): 27
ListDump:
34956 => 4
34955 => 4
34700 => 4
34699 => 4
34444 => 4
34443 => 4
34954 => 3
34953 => 3
34952 => 3
34951 => 3
34950 => 3
34949 => 3
34948 => 3
34698 => 3
34697 => 3
34696 => 3
34693 => 3
34692 => 3
34442 => 3
34441 => 3
34440 => 3
34439 => 3
34438 => 3
34437 => 3
34436 => 3
34695 => 2
34694 => 2
Slope(): done Slope(): done
KeepValue(0): done KeepValue(0): done
Count(): 38 Count(): 12
ListDump: ListDump:
42415 => 0 34956 => 0
42414 => 0 34954 => 0
42413 => 0 34953 => 0
42410 => 0 34700 => 0
42409 => 0 34698 => 0
42408 => 0 34697 => 0
42407 => 0 34695 => 0
42159 => 0 34694 => 0
42158 => 0 34444 => 0
42157 => 0 34442 => 0
42156 => 0 34441 => 0
42153 => 0 34436 => 0
42152 => 0
42151 => 0
41903 => 0
41902 => 0
41901 => 0
41900 => 0
41899 => 0
41897 => 0
41896 => 0
41895 => 0
41647 => 0
41646 => 0
41645 => 0
41644 => 0
41643 => 0
41641 => 0
41640 => 0
41639 => 0
41391 => 0
41390 => 0
41389 => 0
41388 => 0
41387 => 0
41385 => 0
41384 => 0
41383 => 0
Buildable(): done Buildable(): done
KeepValue(1): done KeepValue(1): done
Count(): 28 Count(): 35
BuildableRectangle(3, 3) ListDump: BuildableRectangle(3, 3) ListDump:
42415 => 1 42415 => 1
42414 => 1 42414 => 1
42413 => 1 42413 => 1
42412 => 1
42411 => 1
42410 => 1 42410 => 1
42159 => 1 42159 => 1
42158 => 1 42158 => 1
42157 => 1 42157 => 1
42156 => 1 42156 => 1
42155 => 1
42154 => 1
41903 => 1 41903 => 1
41902 => 1 41902 => 1
41901 => 1 41901 => 1
41900 => 1 41900 => 1
41899 => 1 41899 => 1
41898 => 1
41647 => 1 41647 => 1
41646 => 1 41646 => 1
41645 => 1 41645 => 1
41644 => 1 41644 => 1
41643 => 1 41643 => 1
41642 => 1
41641 => 1 41641 => 1
41391 => 1 41391 => 1
41390 => 1 41390 => 1
41389 => 1 41389 => 1
41388 => 1 41388 => 1
41387 => 1 41387 => 1
41386 => 1
41385 => 1 41385 => 1
42153 => 0 42153 => 0
41897 => 0 41897 => 0
@@ -7441,26 +7550,33 @@
42413 => 173 42413 => 173
42158 => 173 42158 => 173
41903 => 173 41903 => 173
42412 => 172
42157 => 172 42157 => 172
41902 => 172 41902 => 172
41647 => 172 41647 => 172
42411 => 171
42156 => 171 42156 => 171
41901 => 171 41901 => 171
41646 => 171 41646 => 171
41391 => 171 41391 => 171
42410 => 170 42410 => 170
42155 => 170
41900 => 170 41900 => 170
41645 => 170 41645 => 170
41390 => 170 41390 => 170
42154 => 169
41899 => 169 41899 => 169
41644 => 169 41644 => 169
41389 => 169 41389 => 169
42153 => 168 42153 => 168
41898 => 168
41643 => 168 41643 => 168
41388 => 168 41388 => 168
41897 => 167 41897 => 167
41642 => 167
41387 => 167 41387 => 167
41641 => 166 41641 => 166
41386 => 166
41385 => 165 41385 => 165
41384 => 164 41384 => 164
DistanceSquareToTile(30000) ListDump: DistanceSquareToTile(30000) ListDump:
@@ -7477,17 +7593,24 @@
42157 => 17834 42157 => 17834
41390 => 17812 41390 => 17812
41901 => 17741 41901 => 17741
42412 => 17680
41645 => 17650 41645 => 17650
42156 => 17585 42156 => 17585
41389 => 17561 41389 => 17561
41900 => 17492 41900 => 17492
42411 => 17433
41644 => 17401 41644 => 17401
42155 => 17338
41388 => 17312 41388 => 17312
41899 => 17245 41899 => 17245
42410 => 17188 42410 => 17188
41643 => 17154 41643 => 17154
42154 => 17093
41387 => 17065 41387 => 17065
41898 => 17000
41642 => 16909
42153 => 16850 42153 => 16850
41386 => 16820
41897 => 16757 41897 => 16757
41641 => 16666 41641 => 16666
41385 => 16577 41385 => 16577
@@ -7496,63 +7619,77 @@
42415 => -1 42415 => -1
42414 => -1 42414 => -1
42413 => -1 42413 => -1
42412 => -1
42411 => -1
42410 => -1 42410 => -1
42159 => -1 42159 => -1
42158 => -1 42158 => -1
42157 => -1 42157 => -1
42156 => -1 42156 => -1
42155 => -1
42154 => -1
42153 => -1 42153 => -1
41903 => -1 41903 => -1
41902 => -1 41902 => -1
41901 => -1 41901 => -1
41900 => -1 41900 => -1
41899 => -1 41899 => -1
41898 => -1
41897 => -1 41897 => -1
41647 => -1 41647 => -1
41646 => -1 41646 => -1
41645 => -1 41645 => -1
41644 => -1 41644 => -1
41643 => -1 41643 => -1
41642 => -1
41641 => -1 41641 => -1
41391 => -1 41391 => -1
41390 => -1 41390 => -1
41389 => -1 41389 => -1
41388 => -1 41388 => -1
41387 => -1 41387 => -1
41386 => -1
41385 => -1 41385 => -1
41384 => -1 41384 => -1
GetClosestTown() ListDump: GetClosestTown() ListDump:
42415 => 3 42415 => 3
42414 => 3 42414 => 3
42413 => 3 42413 => 3
42412 => 3
42411 => 3
42410 => 3 42410 => 3
42159 => 3 42159 => 3
42158 => 3 42158 => 3
42157 => 3 42157 => 3
42156 => 3 42156 => 3
42155 => 3
42154 => 3
42153 => 3 42153 => 3
41903 => 3 41903 => 3
41902 => 3 41902 => 3
41901 => 3 41901 => 3
41900 => 3 41900 => 3
41899 => 3 41899 => 3
41898 => 3
41897 => 3 41897 => 3
41647 => 3 41647 => 3
41646 => 3 41646 => 3
41645 => 3 41645 => 3
41644 => 3 41644 => 3
41643 => 3 41643 => 3
41642 => 3
41641 => 3 41641 => 3
41391 => 3 41391 => 3
41390 => 3 41390 => 3
41389 => 3 41389 => 3
41388 => 3 41388 => 3
41387 => 3 41387 => 3
41386 => 3
41385 => 3 41385 => 3
41384 => 3 41384 => 3
CargoAcceptance(): done CargoAcceptance(): done
KeepAboveValue(10): done KeepAboveValue(10): done
Count(): 9 Count(): 15
ListDump: ListDump:
41897 => 29 41897 => 29
41385 => 26 41385 => 26
@@ -7560,9 +7697,15 @@
42153 => 25 42153 => 25
41641 => 23 41641 => 23
41899 => 17 41899 => 17
41898 => 17
41387 => 17 41387 => 17
41386 => 17
41643 => 14 41643 => 14
41642 => 14
42411 => 13
42410 => 13 42410 => 13
42155 => 13
42154 => 13
RoadTile(): done RoadTile(): done
KeepValue(1): done KeepValue(1): done
Count(): 0 Count(): 0

View File

@@ -1,3 +1,122 @@
0.7.1-RC1 (2009-05-11)
------------------------------------------------------------------------
- Add: [NoAI] AIController::GetVersion, this returns the version of OpenTTD in the same way as for NewGRFs (r16253)
- Add: [NoAI] AIAirport::GetPrice, returning the building cost of an airport (r16252)
- Add: [NoAI] Two new error codes to AITile: ERR_AREA_ALREADY_FLAT and ERR_EXCAVATION_WOULD_DAMAGE (r16171)
- Add: [NoAI] AITile::Get(Min|Max|Corner)Height (r16166)
- Add: [NoAI] Several functions to AIOrder to check the what kind of order an order is [FS#2801] (r16165)
- Add: [NoAI] UseAsRandomAI as function in info.nut. When an AI returns false, it will never be chosen as random AI (r16113)
- Add: [NoAI] AIOF_STOP_IN_DEPOT to the orderflags in AIOrder to allow stop-in-depot orders (r16107)
- Add: [NoAI] GetURL() as possible function to info.nut. If AIs implement it, that url is shown when the AI crashes and also in the AI selection window [FS#2808] (r16093)
- Change: [NoAI] Reverse the order of the lines in the AI debug window [FS#2778] (r16091)
- Change: Harden string copying on places where it is possible (r16024)
- Change: Use recent Czech language for plural form (r15965)
- Fix: Wrong number of parameters or wrong parameter types sent to printf-like functions at several places (r16269)
- Fix: [NewGRF] When callback 2E returns an amount of 0, do not transport 1 unit to the station (r16268)
- Fix: [NoAI] Various documentation omissions with respect to IDs of various objects and corners for AITile::(Raise|Lower)Tile (r16267, r16266)
- Fix: [NoAI] Check slopes passed to the API better for validity (r16264, r16262)
- Fix: [NewGRF] Interpret setting bridge property 08 to 0 as always available (r16263)
- Fix: [NoAI] Enable parameter checking for AIController::* functions again (r16249)
- Fix: [NoAI] Make sure AITunnel::BuildTunnel returns what the documentation says it does (r16244)
- Fix: [NoAI] CmdBuildTunnel could be called with invalid parameters from the API code, causing crashes later [FS#2875] (r16243)
- Fix: Improve corner case order handling: mark order as done only when actually done, obey non-stop orders, do only stop/refit at the depot in the order (r16240, r16228, r16199, r16198, r16187)
- Fix: [NoAI] Use the stop/non-stop intermediate orderflags AIs can give for goto-depot orders (r16239)
- Fix: [NewGRF] ActionB should use the online parameters from GRFFile instead of the initial user-specified values from GRFConfig. Also use the values as they were set when the ActionB was executed, not as they are set when the message is shown (r16223)
- Fix: Possible crashes when quiting OpenTTD or forcing resizes/redraws of the screen during map generation [FS#2862] (r16220)
- Fix: Shared orders without orders were not properly converted causing corrupt/invalid orders when loading pre 0.7 savegames [FS#2878] (r16214)
- Fix: Hardcoded (old sized) MAX_COMPANIES constant (r16182)
- Fix: [Squirrel] The traps variable was not restored, causing try/catch blocks to be 'forgotten' during a suspend (r16181)
- Fix: Do not try to reserve path for trains crashed in station [FS#2866] (r16178)
- Fix: Forbid joining AI companies via the 'move' and 'join' console commands/multiplayer lobby (r16176, r16175)
- Fix: [NoAI] AIOrder::GetOrderDestination and AIOrder::GetOrderFlags did not work on ORDER_CURRENT when the vehicle was loading/leaving in a station (r16165)
- Fix: [NoAI] Change WAYPOINT_INVALID to 0xFFFF from -1 as that is the value the AIs got (due to casting) (r16150)
- Fix: The overflowsafe type did not like dividing by int64 larger than MAX_INT32 causing division by negative numbers and small anomolies when drawing graphs [FS#2855] (r16130)
- Fix: Road was removed when both the Remove button was active and Ctrl was pressed [FS#2582] (r16119)
- Fix: [NoAI] Make sure AIOrder::GetDestination always returns a tile belonging to the station (16109)
- Fix: [NoAI] When giving an aircraft a goto-hangar order do not let it be a normal goto-station order (r16108)
- Fix: [NoAI] AIOrder::SetOrderFlags always removed "Service if needed" from goto-depot orders (r16106)
- Fix: Connect tried to validate too much of the company ID with too little information on hand [FS#2849] (r16096)
- Fix: [NoAI] AIDebug window profiled the blitters by invalidating itself unconditionally on repaint. On the other hand it was not invalidated in other cases when needed (r16094)
- Fix: The language is called Slovak, not Slovakish (r16090)
- Fix: Insanely fast trains would not stop in time for stations/'jump' over waypoints/via stations within a tick, which would cause the order not to be processed causing the train to go in loops until (with luck) it 'hit' the tile [FS#2824] (r16079)
- Fix: Content download progress bar 'resetting' due to mathematical overflow [FS#2845] (r16071)
- Fix: Memory leak when querying a server multiple times (r16064)
- Fix: [NoAI] MOF_COND_DESTINATION was not accepted by CmdModifyOrder() (r16063)
- Fix: Non advanced vehicle list did not handle company switching correctly (r16054)
- Fix: Do not warn that crashed vehicles are getting old; upgrading them is impossible [FS#2740] (r16048)
- Fix: The currency abbreviation for the Romanian Leu is now RON [FS#774] (r16041)
- Fix: Dash was not able to run iconv detection (r16035)
- Fix: [NewGRF] Do not give "... Mines" as name to the station of oil rigs, or more general: do not add "... Mines" when the all of the cargoes are part of the liquid, passenger or mail classes [FS#2785] (r16029)
- Fix: Storing/loading some currencies failed due to inconsistent settings "tables" [FS#2826] (r16028)
- Fix: Usage of uninitialised memory when trying to build a random new industry, but there are no industrytypes to choose from (i.e. all appearance probabilities are zero) (r16027)
- Fix: "Build separate station" in the station picker would reuse deleted stations [FS#2818] (r16025)
- Fix: 32 bpp sprites in tars would also be shown in the list of heightmaps [FS#2817] (r16023)
- Fix: Sometimes the unregister "query" thread could be delayed so much that the network stuff was already closed and the packet would never reach the master server causing the server to appear online longer than necessary (r16022)
- Fix: Chance16() did not work for b = 1. Also transform the formula to not use divisions (r16006)
- Fix: Inconsistency between using NETWORK_NAME_LENGTH and NETWORK_CLIENT_NAME_LENGTH for the length of client names (r15988)
- Fix: [NewGRF] Abort production callback after 0x10000 iterations and show a messagebox blaming the NewGRF [FS#2787] (r15958)
- Fix: [NewGRF] Set callback_param1 (var 10) to 1 only when requested (r15957)
- Fix: Tooltip of detailed ratings window button showed wrong message (r15943)
0.7.0 (2009-04-01)
------------------------------------------------------------------------
- Feature: Watermark crash.sav and do not generate crash information if a loaded crash.sav causes a crash so the real crash report does not get overwritten (r15893)
- Feature: Add autoclean_novehicles setting which will, when autoclean_companies is true, remove any company with no vehicles and no active client after autoclean_novehicles-months (r15848)
- Add: [NoAI] AIIndustryType::IsBuiltOnWater(), HasHeliport() and HasDock(). Just like AIIndustry (r15901)
- Add: [NoAI] AIBridge::GetBridgeID() so AIs can get the type of bridge that are already build (r15875)
- Add: [NoAI] AIRoad::GetRoadVehicleTypeForCargo() to tell whether a certain cargo needs a bus- or a truckstop (r15860)
- Fix: Chat completion got called twice causing tab completion to seemingly fail (r15905)
- Fix: YAPF did not apply the platform length (too long/too short) penalties (r15900)
- Fix: Fixing the slopes was done a bit more often than intended making map generation with the original generator horribly slow (r15895)
- Fix: YAPF used different penalties for aqueducts than for other water tiles (r15891)
- Fix: Round the production rate up, so e.g. oilrigs always produce some passengers on lowest production level [FS#2772] (r15888)
- Fix: Libtimidity cannot handle frees of NULL (in contrast of most other frees) [FS#2770] (r15886)
- Fix: Make sure house class/ID counters do not overflow (r15831)
0.7.0-RC2 (2009-03-23)
------------------------------------------------------------------------
- Change: [NewGRF] Expose GRF ID of engines in var action property 0x25 (r15739)
- Fix: Some (newer) GCCs have trouble compiling the Win32 specific part of fontcache.cpp; jumps across variable declarations [FS#2752] (r15818)
- Fix: When sorting on cost do not sort on the running cost [FS#2749] (r15778)
- Fix: Do not show the message about reporting an AI crash for the dummy AI (r15774)
- Fix: Number of active clients was not always properly updated [FS#2475] (r15773)
- Fix: Settings from the [gameopt] section (from old 0.6 config files) were overwritten with default values (r15771)
- Fix: Infinite loop when skipping sprites when a GRF is invalid (or truncated) (r15767)
- Fix: Crash when opening the content list window twice; inconsistencies when clicking download twice [FS#2744] (r15766)
- Fix: Add Engine::GetDisplayDefaultCapacity() and use it everywhere, so CB 36 is also used everywhere (r15763)
- Fix: [Windows] Inlined UTF-8 characters (in the source code) are not handled properly on Eastern versions of Windows so escape them (r15762)
- Fix: [Windows] On some system searching a font using its English name fails. So now we search the font using the localised name and use the English name for the final 'validation' only (r15757)
- Fix: Number of houses in house variables 0x44, 0x60 and 0x61 were incorrect after 0xFF had been reached and could desync clients joining afterwards (r15755)
- Fix: Crash when clicking the small area between the savegame list and the save button in the save game window [FS#2742] (r15753)
- Fix: Do not try to (un)draw the cursor when the screen is not ready (r15752)
- Fix: The big UFO sometimes landed just outside the map. Instead of landing, just disappear (fly away) in those cases (r15750)
- Fix: Crash because submarines would sometimes start far outside of the map [FS#2739] (r15748)
- Fix: Road ownership getting lost when removing a road stop [FS#2736] (r15747)
- Fix: Update threading code for OS/2, add mutex support, fix compilation (r15746, r15745)
- Fix: When town generator failed to create requested number of towns, there were too many cities (r15744)
0.7.0-RC1 (2009-03-16)
------------------------------------------------------------------------
- Feature: Pop up the AI Debug Window if one of the AIs crashed and show a message that the user should report the crash [FS#2728] (r15708)
- Feature: Allow the number of towns that will be generated in the generate world window to be customized [FS#2672] (r15695)
- Fix: Enabling freeform edges could cause submarines to get stuck on land tiles (r15733)
- Fix: Centering on a vehicle did not respect its z coordinate (r15725)
- Fix: Do not show passenger-/mail-capacity if the aircraft carries only cargo (r15705)
- Fix: Blame NewGRFs returning inconsistent information in purchase-list/after building before users have a chance to blame OpenTTD for incorrectly autorenewing/-replacing [FS#2595] (r15701)
- Fix: Just sell the old engines after autorenew/replace. Do not bother about trains exceeding the trainlimit, which will be sold anyway [FS#2721] (r15692)
- Fix: Do not crash when the generate map does not contain a suitable location for a town [FS#2720] (r15689)
- Fix: Do not crash when someone substitutes the "map generation" sprites with garbage [FS#2720] (r15685)
- Fix: Vehicle images would be determined during the process of moving the vehicle which means that only the (orientation) data for the vehicles in front of it is valid. Now the data for the vehicles behind the vehicle are valid too [FS#2546] (r15677)
- Fix: It was possible to remove rail tunnels/bridges and aqueducts build by rival companies [FS#2718] (r15667)
- Fix: Sorting of engines in the purchase list did not use the same numbers as the GUI showed, e.g. articulated parts were not taken into accound when ordering by capacity [FS#2689] (r15666)
- Fix: Handling of aircraft crash counter did not take account of the reduced number of calls (from 6 down to 2) to the aircraft event handler, resulting in crashed aircraft taking three times longer than they should to clear. Compensate by increasing the counter by 3 on every call instead of 1 (r15665)
- Fix: Growing of vsize as (some) threads were not properly released (r15663)
- Fix: Do not mark a company as having ratings in a town when querying the cost of a command (r15662)
0.7.0-beta2 (2009-03-10) 0.7.0-beta2 (2009-03-10)
------------------------------------------------------------------------ ------------------------------------------------------------------------
- Feature: Allow downloading scenarios and heightmaps via the in game content download (r15632) - Feature: Allow downloading scenarios and heightmaps via the in game content download (r15632)
@@ -23,7 +142,7 @@
- Fix: Kicking/banning a client from the Client list window crashed the server [FS#2705] (r15628) - Fix: Kicking/banning a client from the Client list window crashed the server [FS#2705] (r15628)
- Fix: UTF8 string handling could cause buffer overruns [FS#2698] (r15626) - Fix: UTF8 string handling could cause buffer overruns [FS#2698] (r15626)
- Fix: When trying to reserve a self-crossing path the failed reservation was sometimes not cleared completely [FS#2701] (r15619) - Fix: When trying to reserve a self-crossing path the failed reservation was sometimes not cleared completely [FS#2701] (r15619)
- Fix: Towns would only build houses where the grid would not be, even when they aren't allowed to build roads and the user 'implements' another layout [FS#2661] (r15604) - Fix: Towns would only build houses where the grid would not be, even when they are not allowed to build roads and the user 'implements' another layout [FS#2661] (r15604)
- Fix: Crash when using an extraordinarily large sprite as cursor [FS#2696] (r15601) - Fix: Crash when using an extraordinarily large sprite as cursor [FS#2696] (r15601)
- Fix: Crash when opening viewport while scrolling the map and the mouse 'lands' on the window decoration of the viewport [FS#2695] (r15598) - Fix: Crash when opening viewport while scrolling the map and the mouse 'lands' on the window decoration of the viewport [FS#2695] (r15598)
- Fix: [NewGRF] Refit-info in purchase list did only check the first articulated part (r15592) - Fix: [NewGRF] Refit-info in purchase list did only check the first articulated part (r15592)
@@ -205,7 +324,7 @@
- Fix: Invalid v->u.air.targetairport could cause crashes at several places [FS#2300] (r14383, r14344, r14343) - Fix: Invalid v->u.air.targetairport could cause crashes at several places [FS#2300] (r14383, r14344, r14343)
- Fix: Moving the first vehicle of a train elsewhere might require a new unitnumber for the remaining chain which might not be available (r14384) - Fix: Moving the first vehicle of a train elsewhere might require a new unitnumber for the remaining chain which might not be available (r14384)
- Fix: Trams jumping when reversing on a single trambit (like caused during road construction reworks) or when (manually) reversing in a corner [FS#1852] (r14371) - Fix: Trams jumping when reversing on a single trambit (like caused during road construction reworks) or when (manually) reversing in a corner [FS#1852] (r14371)
- Fix: Multiheaded parts in free wagon chains weren't connected (could cause desyncs) (r14366, r14362) - Fix: Multiheaded parts in free wagon chains were not connected (could cause desyncs) (r14366, r14362)
- Fix: [Win32] Some keypress combinations could be handled twice [FS#2206] (r14363) - Fix: [Win32] Some keypress combinations could be handled twice [FS#2206] (r14363)
- Fix: The ownership of roadtiles was not properly set for very old savegames (including TTD's) making it impossible to remove some pieces of road [FS#2311] (r14359) - Fix: The ownership of roadtiles was not properly set for very old savegames (including TTD's) making it impossible to remove some pieces of road [FS#2311] (r14359)
- Fix: Desync due to randomly ordered vehicle hash by flooding and road vehicle overtake/following (r14356, r14258) - Fix: Desync due to randomly ordered vehicle hash by flooding and road vehicle overtake/following (r14356, r14258)
@@ -214,9 +333,9 @@
- Fix: Signs from old savegames were lost (causing little memory leaks) (r14340) - Fix: Signs from old savegames were lost (causing little memory leaks) (r14340)
- Fix: When a company was renamed and then manager was renamed before building anything, company name changed (r14328) - Fix: When a company was renamed and then manager was renamed before building anything, company name changed (r14328)
- Fix: When you rename a town before building something and build something near that town your company would be called "<old townname> Transport" [FS#2251] (r14327) - Fix: When you rename a town before building something and build something near that town your company would be called "<old townname> Transport" [FS#2251] (r14327)
- Fix: Free any blocks that a helicopter may have on an oilrig when the helicopter gets forcefully removed (bankruptcy). For other airports this isn't needed as they can't be used by multiple companies [FS#2241] (r14324) - Fix: Free any blocks that a helicopter may have on an oilrig when the helicopter gets forcefully removed (bankruptcy). For other airports this is not needed as they cannot be used by multiple companies [FS#2241] (r14324)
- Fix: Possible assert when renaming removed waypoint (r14322) - Fix: Possible assert when renaming removed waypoint (r14322)
- Fix: Properly delete orders so the pool doesn't fill up (r14319) - Fix: Properly delete orders so the pool does not fill up (r14319)
- Fix: Do not allow building road over level crossings and drive-through road stops in the wrong direction; do not allow adding roadtypes to non-drive through road stops; pay for all added road bits [FS#2268] (r14316, r14315, r14314, r14308) - Fix: Do not allow building road over level crossings and drive-through road stops in the wrong direction; do not allow adding roadtypes to non-drive through road stops; pay for all added road bits [FS#2268] (r14316, r14315, r14314, r14308)
- Fix: Aircraft frozen above oil rig when the next order is invalid [FS#2244] (r14309) - Fix: Aircraft frozen above oil rig when the next order is invalid [FS#2244] (r14309)
- Fix: [YAPF] Only reserve road slots for multistop when they are really reachable [FS#2294] (r14305) - Fix: [YAPF] Only reserve road slots for multistop when they are really reachable [FS#2294] (r14305)
@@ -225,7 +344,7 @@
- Fix: Make small UFO aware of articulated RVs so they crash the complete vehicle instead of a small part of it (r14270) - Fix: Make small UFO aware of articulated RVs so they crash the complete vehicle instead of a small part of it (r14270)
- Fix: Desyncs after deleting a waypoint because of explicit destructor call instead of using operator delete (r14265) - Fix: Desyncs after deleting a waypoint because of explicit destructor call instead of using operator delete (r14265)
- Fix: Merge keycode for "normal" 0-9 keys and keypad 0-9 keys so people do not get confused that the keypad does not work as expected [FS#2277] (r14260) - Fix: Merge keycode for "normal" 0-9 keys and keypad 0-9 keys so people do not get confused that the keypad does not work as expected [FS#2277] (r14260)
- Fix: Clicking on the smallmap didn't break the "follow vehicle in main viewport" [FS#2269] (r14243) - Fix: Clicking on the smallmap did not break the "follow vehicle in main viewport" [FS#2269] (r14243)
- Fix: The engine-purchase-list-sorter doubled running-cost and halfed capacity of double-headed engines [FS#2267] (r14239) - Fix: The engine-purchase-list-sorter doubled running-cost and halfed capacity of double-headed engines [FS#2267] (r14239)
- Fix: Feeder share was computed wrong when splitting cargo packet (r14234) - Fix: Feeder share was computed wrong when splitting cargo packet (r14234)
- Fix: Signs (town name, station name, ...) could be too long for 8bit width in pixels (r14221) - Fix: Signs (town name, station name, ...) could be too long for 8bit width in pixels (r14221)
@@ -248,10 +367,10 @@
- Fix: Flawed parsing of words (as in 2 bytes) in GRF strings due to sign extension [FS#2228] (r14087) - Fix: Flawed parsing of words (as in 2 bytes) in GRF strings due to sign extension [FS#2228] (r14087)
- Fix: Division by 0 in NewAI [FS#2226] (r14062) - Fix: Division by 0 in NewAI [FS#2226] (r14062)
- Fix: NewGRF callback 23 did not use the NewGRF compatible text stack [FS#2224] (r14058) - Fix: NewGRF callback 23 did not use the NewGRF compatible text stack [FS#2224] (r14058)
- Fix: NewGRF text stack's "push word" didn't move the data around properly (r14057) - Fix: NewGRF text stack's "push word" did not move the data around properly (r14057)
- Fix: Long strings in the edit box would cause OpenTTD to stop drawing the string. This is especially noticable with low resolutions and the chat input box (r14054) - Fix: Long strings in the edit box would cause OpenTTD to stop drawing the string. This is especially noticable with low resolutions and the chat input box (r14054)
- Fix: [OSX] changed the condition for selecting 8 or 32 bpp blitter by default. Now we will pick 32 bpp if no 8 bpp fullscreen resolutions are available on the main display (the one with the dock) (r14032) - Fix: [OSX] changed the condition for selecting 8 or 32 bpp blitter by default. Now we will pick 32 bpp if no 8 bpp fullscreen resolutions are available on the main display (the one with the dock) (r14032)
- Fix: Crash when the AI tries to find the depot of an airport that doesn't have a depot [FS#2190] (r13999) - Fix: Crash when the AI tries to find the depot of an airport that does not have a depot [FS#2190] (r13999)
- Fix: MSVC cannot handle changed files in the prebuild event, so make the version determination a separate subproject [FS#2004] (r13998) - Fix: MSVC cannot handle changed files in the prebuild event, so make the version determination a separate subproject [FS#2004] (r13998)
- Fix: The dedicated console removed any character that was not a printable ASCII character instead. Now it allows UTF8 formated strings too [FS#2189] (r13992) - Fix: The dedicated console removed any character that was not a printable ASCII character instead. Now it allows UTF8 formated strings too [FS#2189] (r13992)
- Fix: Resetting construction stage counter reset more than it should (r13981) - Fix: Resetting construction stage counter reset more than it should (r13981)
@@ -311,7 +430,7 @@
- Fix: Signal states could be propagated through waypoints built in orthogonal axis (r13589) - Fix: Signal states could be propagated through waypoints built in orthogonal axis (r13589)
- Fix: [OSX] 10.5 failed to switch to fullscreen (r13584) - Fix: [OSX] 10.5 failed to switch to fullscreen (r13584)
- Fix: RVs continueing onto next DT station when they are build adjacent to them [FS#2040] (r13581) - Fix: RVs continueing onto next DT station when they are build adjacent to them [FS#2040] (r13581)
- Fix: Disable static NewGRFs when non-static NewGRFs query them in the context of network games. This makes it impossible for static NewGRFs to disable non-static NewGRFs and 'bad' things happening because the non-static NewGRF doesn't know about the static NewGRF (r13576) - Fix: Disable static NewGRFs when non-static NewGRFs query them in the context of network games. This makes it impossible for static NewGRFs to disable non-static NewGRFs and 'bad' things happening because the non-static NewGRF does not know about the static NewGRF (r13576)
- Fix: Properly count number of non-north housetiles [FS#2083] (r13518) - Fix: Properly count number of non-north housetiles [FS#2083] (r13518)
- Fix: Incorrect usage of strtoul (r13508) - Fix: Incorrect usage of strtoul (r13508)
- Fix: Clear the memory for the new AI during the loading of a savegame so it does not try to execute commands generated in a different savegame, which could be resulting in the AI trying to give orders to stations that do not exist (r13505) - Fix: Clear the memory for the new AI during the loading of a savegame so it does not try to execute commands generated in a different savegame, which could be resulting in the AI trying to give orders to stations that do not exist (r13505)
@@ -410,11 +529,11 @@
- Fix: Non-breaking spaces should not be broken (r12385) - Fix: Non-breaking spaces should not be broken (r12385)
- Fix: Check return of AfterLoadGame for success or failure when loading TTD games [FS#1860] (r12383) - Fix: Check return of AfterLoadGame for success or failure when loading TTD games [FS#1860] (r12383)
- Fix: Use 'items' unit for batteries, fizzy drinks, toys and bubbles in total cargo tab [FS#1864] (r12382) - Fix: Use 'items' unit for batteries, fizzy drinks, toys and bubbles in total cargo tab [FS#1864] (r12382)
- Fix: The number of houses wasn't computed right [FS#1835, FS#1535] (r12381) - Fix: The number of houses was not computed right [FS#1835, FS#1535] (r12381)
- Fix: Update train acceleration and max speed after setting cached value to ensure the correct max speed is used with disabled real acceleration (r12380) - Fix: Update train acceleration and max speed after setting cached value to ensure the correct max speed is used with disabled real acceleration (r12380)
- Fix: Refresh vehicle details window when cached values are updated (r12378) - Fix: Refresh vehicle details window when cached values are updated (r12378)
- Fix: Set cached value for vehicle property 25 before other cached values [FS#1854] (r12377) - Fix: Set cached value for vehicle property 25 before other cached values [FS#1854] (r12377)
- Fix: Don't close a dropmenu when clicking on a dropdown widget (r12374) - Fix: Do not close a dropmenu when clicking on a dropdown widget (r12374)
- Fix: win32 music driver fails if path is too long or if containing non-latin chars [FS#1849] (r12373, r12372) - Fix: win32 music driver fails if path is too long or if containing non-latin chars [FS#1849] (r12373, r12372)
- Fix: Do not let window hide behind the main toolbar after resizing the screen [FS#1823] (r12371) - Fix: Do not let window hide behind the main toolbar after resizing the screen [FS#1823] (r12371)
- Fix: Close language drop down when parent window is clicked/closed [FS#1853] (r12370) - Fix: Close language drop down when parent window is clicked/closed [FS#1853] (r12370)
@@ -427,7 +546,7 @@
- Fix: Do not try to flood water tile [FS#1836] (r12350) - Fix: Do not try to flood water tile [FS#1836] (r12350)
- Fix: NTP skipped junction just after bridge end (r12348) - Fix: NTP skipped junction just after bridge end (r12348)
- Fix: Remove duplicated and inconsistent code wrt. autoreplace with rules in both vehicles' group and ALL_GROUP [FS#1748, FS#1825] (r12346) - Fix: Remove duplicated and inconsistent code wrt. autoreplace with rules in both vehicles' group and ALL_GROUP [FS#1748, FS#1825] (r12346)
- Fix: Don't try to restore backupped timetable when timetabling is disabled [FS#1828] (r12345) - Fix: Do not try to restore backupped timetable when timetabling is disabled [FS#1828] (r12345)
- Fix: Slow helicopters never got the 'chance' to finish the landing routine (r12343) - Fix: Slow helicopters never got the 'chance' to finish the landing routine (r12343)
- Fix: GRM buffer for cargos was incorrect size [FS#1827] (r12341) - Fix: GRM buffer for cargos was incorrect size [FS#1827] (r12341)
- Fix: Recalculate cached train data after clearing reversing flag when entering depot (r12339) - Fix: Recalculate cached train data after clearing reversing flag when entering depot (r12339)
@@ -439,7 +558,7 @@
- Feature: Support loading full range of 0xD0xx NewGRF strings which includes 0xD000 to 0xD3FF (r12316) - Feature: Support loading full range of 0xD0xx NewGRF strings which includes 0xD000 to 0xD3FF (r12316)
- Feature: Ability to change aircraft speed factor, from so called 'realistic' (matching other vehicles) (1/1) to original TTD speed (1/4) (r12293, r12294) - Feature: Ability to change aircraft speed factor, from so called 'realistic' (matching other vehicles) (1/1) to original TTD speed (1/4) (r12293, r12294)
- Change: Update readme about where openttd looks for files (r12321) - Change: Update readme about where openttd looks for files (r12321)
- Fix: Don't pause/unpause the game when showing load/save windows when the game is paused due to missing GRFs [FS#1733] (r12336) - Fix: Do not pause/unpause the game when showing load/save windows when the game is paused due to missing GRFs [FS#1733] (r12336)
- Fix: Disallow building level crossings over one-way roads as this allowed competitors to remove the one-way state [FS#1819] (r12329) - Fix: Disallow building level crossings over one-way roads as this allowed competitors to remove the one-way state [FS#1819] (r12329)
- Fix: Wrong Y pillar specified for girder with arch bridge (r12328) - Fix: Wrong Y pillar specified for girder with arch bridge (r12328)
- Fix: Vehicles could be sorted in a wrong order when a vehicle name changed - cached name was not invalidated (r12324) - Fix: Vehicles could be sorted in a wrong order when a vehicle name changed - cached name was not invalidated (r12324)
@@ -459,13 +578,13 @@
- Fix: Mac OSX bundle display name should be 'OpenTTD' [FS#1798] (r12234) - Fix: Mac OSX bundle display name should be 'OpenTTD' [FS#1798] (r12234)
- Fix: [NewGRF] Support using any base price for rail and road vehicles' running cost, show running cost of wagons if available (r12209) - Fix: [NewGRF] Support using any base price for rail and road vehicles' running cost, show running cost of wagons if available (r12209)
- Fix: When loading a savegame fails, do not start creating a new game, just go straight back to the intro screen (r12202) - Fix: When loading a savegame fails, do not start creating a new game, just go straight back to the intro screen (r12202)
- Fix: Force AI to build rail or road instead of bridges if possible, so it doesn't build bridges everywhere (r12200) - Fix: Force AI to build rail or road instead of bridges if possible, so it does not build bridges everywhere (r12200)
- Fix: "Transparent buildings" now only toggles buildings, so show tick when buildings are transparent [FS#1789] (r12198) - Fix: "Transparent buildings" now only toggles buildings, so show tick when buildings are transparent [FS#1789] (r12198)
- Fix: Show correct last year profit when the train had negative income [FS#1788] (r12197) - Fix: Show correct last year profit when the train had negative income [FS#1788] (r12197)
- Fix: There can be oil rigs at map borders, do not set water class for them [FS#1787] (r12195) - Fix: There can be oil rigs at map borders, do not set water class for them [FS#1787] (r12195)
- Fix: Do not start overtaking if the RV reaches wrong-way one-way-road in the next tiles (r12191) - Fix: Do not start overtaking if the RV reaches wrong-way one-way-road in the next tiles (r12191)
- Fix: Assert when trying to play tile sound at NW border of map (placing buyos, leveling land) [FS#1784] (r12186) - Fix: Assert when trying to play tile sound at NW border of map (placing buyos, leveling land) [FS#1784] (r12186)
- Fix: Take into account possible loan when AI is deciding which bridge to build, so it won't build wooden bridges everytime (r12184) - Fix: Take into account possible loan when AI is deciding which bridge to build, so it will not build wooden bridges everytime (r12184)
0.6.0-beta4 (2008-02-18) 0.6.0-beta4 (2008-02-18)
@@ -487,16 +606,16 @@
- Feature: [NewGRF] Add support for Action 0D, var 13: informations about current map size (r11961) - Feature: [NewGRF] Add support for Action 0D, var 13: informations about current map size (r11961)
- Feature: Support Action5 type 0D (newwater) (r11947) - Feature: Support Action5 type 0D (newwater) (r11947)
- Feature: Allow building bridge heads on more slopes (r11937) - 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: [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: 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) - Feature: Sort the strings in languages dropdown (r11886)
- Codechange: Drop MSVC 2003 support (r11979) - Codechange: Drop MSVC 2003 support (r11979)
- Fix: Test purchase list loading/loaded sprites instead of unconditionally returning a possibly non-existant sprite (r12180) - 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: 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: When drag&drop mode was cancelled by keyboard input, depot/group window was not updated [FS#337] (r12166)
- Fix: Buffer overflow when drawing scrolling news [FS#1652, FS#1773] (r12165) - 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: 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 should not 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: 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: 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: Chance16I was now biased towards zero - round to nearest now (r12156)
@@ -507,7 +626,7 @@
- Fix: With mammoth trains disabled, maximum train length was limited to 9 (r12131) - 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: 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: X/Y axis swap for station tiles in GetNearbyTile() was wrong way around [FS#1753]( r12108)
- Fix: Loading older savegames fixes (r12096,r12097) - 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: 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: 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: Keep production level within delimited boundaries, while using var result 0D/0E and than multiplying/dividing it [FS#1755] (r12092)
@@ -519,7 +638,7 @@
- Fix: Make docks at sea flood neighboured tiles (r12072) - 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: Possible deadlock when there are no houses available to build at given tile (r12062)
- Fix: Houses with zero probability could be built (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: Do not clear tiles when the town will not be able to build any buildings anyway (r12060)
- Fix: Allow building 2x2 building on slopes if not explicitly forbidden (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: 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: Teach NPF where road vehicles and trams can reverse (r12058)
@@ -563,11 +682,11 @@
- Fix: Industries using results 0D/0E on callback cb29/35 were a bit too eager to close down (r11976) - 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: 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: 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: Old AI should not 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: 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: 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: 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: NewAI could not build any road vehicles when there were any tram grfs loaded (r11958)
- Fix: Disallow building locks and docks on rapids [FS#1675] (r11956) - 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: Do not allow modifying roadbits when other roadtypes would need different foundation (r11953)
- Fix: Loading of very old savegames was broken (r11951) - Fix: Loading of very old savegames was broken (r11951)
@@ -585,10 +704,10 @@
- Fix: Crash in MP in vehicle group window if the currently selected group is deleted by another player (r11878) - 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: 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: 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: EngineHasReplacementForPlayer() did not 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: 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: Slow down train when approaching tile we cannot enter in more cases (r11870)
- Fix: Do not make crossing red when we can't enter it in any case (r11870) - Fix: Do not make crossing red when we cannot enter it in any case (r11870)
0.6.0-beta3 (2008-01-16) 0.6.0-beta3 (2008-01-16)
@@ -633,7 +752,7 @@
- Fix: Popping from text reference stack must be done in a precise order. But some compiler (MSVC) over optimised it and inverted this order [FS#1532] (r11627) - Fix: Popping from text reference stack must be done in a precise order. But some compiler (MSVC) over optimised it and inverted this order [FS#1532] (r11627)
- Fix: There were still some cases where one could not build a tram track, but the tram could become blocked [FS#1525] (r11621) - Fix: There were still some cases where one could not build a tram track, but the tram could become blocked [FS#1525] (r11621)
- Fix: Do not make crossing red behind depot the train is entering [FS#1531] (r11619) - Fix: Do not make crossing red behind depot the train is entering [FS#1531] (r11619)
- Fix: Buoys are just waypoints, so don't allow load/unload/transfert for them (r11618) - Fix: Buoys are just waypoints, so do not allow load/unload/transfer for them (r11618)
- Fix: Sometimes large values could go off the chart [FS#1526] (r11616) - Fix: Sometimes large values could go off the chart [FS#1526] (r11616)
- Fix: Temperate banks can only be built in towns (over a house) (r11615) - Fix: Temperate banks can only be built in towns (over a house) (r11615)
@@ -654,7 +773,7 @@
- Fix: Do not allow changing network only patches settings from console when not in network game (r11594) - Fix: Do not allow changing network only patches settings from console when not in network game (r11594)
- Fix: IsSlopeRefused() result was half wrong causing banks to be built on wrong places (r11590) - Fix: IsSlopeRefused() result was half wrong causing banks to be built on wrong places (r11590)
- Fix: When ship depots got destroyed they always returned to water, even when it should have been canals [FS#1514] (r11589) - Fix: When ship depots got destroyed they always returned to water, even when it should have been canals [FS#1514] (r11589)
- Fix: The one way road button wasn't reset on abort (r11587) - Fix: The one way road button was not reset on abort (r11587)
- Fix: Windows could get completely missing when one resized the window to something very small [FS#1484] (r11583) - Fix: Windows could get completely missing when one resized the window to something very small [FS#1484] (r11583)
- Fix: Invalidate 'list trains/roadvehs/ships/planes' widgets when station part is added/removed so it does not become glitchy (r11577) - Fix: Invalidate 'list trains/roadvehs/ships/planes' widgets when station part is added/removed so it does not become glitchy (r11577)
- Fix: Flood train stations when there are no trains on border tiles too (r11574, r11570) - Fix: Flood train stations when there are no trains on border tiles too (r11574, r11570)
@@ -781,7 +900,7 @@
- Codechange: Keep track of the origin, time of travel and accumulated feeder share (transfers) of individual pieces of cargo. This means that cargo is not thrown on a big pile when it is put in a station or unloaded at a station, however the GUI does not reflect these changes yet so you will not actually see it (r10266) - Codechange: Keep track of the origin, time of travel and accumulated feeder share (transfers) of individual pieces of cargo. This means that cargo is not thrown on a big pile when it is put in a station or unloaded at a station, however the GUI does not reflect these changes yet so you will not actually see it (r10266)
- Codechange: Do not limit the cost of tunnels (r10248) - Codechange: Do not limit the cost of tunnels (r10248)
- Codechange: Add new vehicle hash table for collision detection and finding vehicles on a tile. The hash area scanned is far smaller than the old hash table, which is now used for viewport updates only. This should give a significant performance improvement for games with many vehicles (r10111) - Codechange: Add new vehicle hash table for collision detection and finding vehicles on a tile. The hash area scanned is far smaller than the old hash table, which is now used for viewport updates only. This should give a significant performance improvement for games with many vehicles (r10111)
- Codechange: Don't redraw all station tiles when cargo is added or removed if the station has no custom graphics (r10062) - Codechange: Do not redraw all station tiles when cargo is added or removed if the station has no custom graphics (r10062)
- Codechange: Add some support for NewGRF var 7D, temporary storage array (r9707) - Codechange: Add some support for NewGRF var 7D, temporary storage array (r9707)
- Codechange: Add support for returning 'ttdpatch variables' (Action D) (r9701) - Codechange: Add support for returning 'ttdpatch variables' (Action D) (r9701)
- Codechange: Implement NewGRF callback 36, which allows changing of various properties which were previously static (r9671 and several others) - Codechange: Implement NewGRF callback 36, which allows changing of various properties which were previously static (r9671 and several others)
@@ -928,7 +1047,7 @@
- Fix: Take the age of the front vehicle for station rating (r10246) - Fix: Take the age of the front vehicle for station rating (r10246)
- Fix: Terraforming wipes out canals. Now you always have to remove the canal before terraforming, instead of "just" removing the canal [FS#594] (r10240) - Fix: Terraforming wipes out canals. Now you always have to remove the canal before terraforming, instead of "just" removing the canal [FS#594] (r10240)
- Fix: Only 2 trains could crash at one time as collision checking stopped on the first hit. This could technically cause desyncs in network games as the collision hash order is not guaranteed [FS#892] (r10222) - Fix: Only 2 trains could crash at one time as collision checking stopped on the first hit. This could technically cause desyncs in network games as the collision hash order is not guaranteed [FS#892] (r10222)
- Fix: Land under foundations was terraform when it shouldn't be terraformed [FS#882, FS#890] (r10219) - Fix: Land under foundations was terraform when it should not be terraformed [FS#882, FS#890] (r10219)
- Fix: Do not make a 270 degree turn on the international airport when a 90 degree turn is enough (r10187) - Fix: Do not make a 270 degree turn on the international airport when a 90 degree turn is enough (r10187)
- Fix: Crash when trying to get the aircraft movement state of an aircraft going to a just deleted airport [FS#874] (r10165) - Fix: Crash when trying to get the aircraft movement state of an aircraft going to a just deleted airport [FS#874] (r10165)
- Fix: Airports did not flood when there are aircraft on the airport [FS#601] (r10155) - Fix: Airports did not flood when there are aircraft on the airport [FS#601] (r10155)
@@ -969,7 +1088,7 @@
- Fix: Remove arbitrary limit on length of NewGRF strings (r9775) - Fix: Remove arbitrary limit on length of NewGRF strings (r9775)
- Fix: [NewGRF] Ignore axis-bit of station tile layouts [FS#756] (r9758) - Fix: [NewGRF] Ignore axis-bit of station tile layouts [FS#756] (r9758)
- Fix: [win32] Dead key and open/close console. (r9728) - Fix: [win32] Dead key and open/close console. (r9728)
- Fix: When you have closed the "Load game"/"New game" windows which you started from the "start server" menu, you shouldn't start a server when starting a new game [SF#1244842] (r9757) - Fix: When you have closed the "Load game"/"New game" windows which you started from the "start server" menu, you should not start a server when starting a new game [SF#1244842] (r9757)
- Fix: Trains were lost after autorenewal/autoreplace [FS#732] (r9753) - Fix: Trains were lost after autorenewal/autoreplace [FS#732] (r9753)
- Fix: Stop flooded towns from building roads on water [FS#598] (r9743) - Fix: Stop flooded towns from building roads on water [FS#598] (r9743)
- Fix: Station signs were not resized when the language changed [FS#672] (r9741) - Fix: Station signs were not resized when the language changed [FS#672] (r9741)
@@ -1026,10 +1145,10 @@
- Fix: Difficulty level button was not selected when opening the difficulty window (r9117) - Fix: Difficulty level button was not selected when opening the difficulty window (r9117)
- Fix: The wrong catenary wires were drawn for tunnel entrances [FS#612] (r9077) - Fix: The wrong catenary wires were drawn for tunnel entrances [FS#612] (r9077)
- Fix: The intercontinental airport used 'T-junction' runway sprites when there is no exit in the middle of the runway as in the city airport [FS#529] (r9076) - Fix: The intercontinental airport used 'T-junction' runway sprites when there is no exit in the middle of the runway as in the city airport [FS#529] (r9076)
- Fix: [win] dedicated console now doesn't need an extra 'enter' to fully quit [FS#459] (r9074) - Fix: [win] dedicated console now does not need an extra 'enter' to fully quit [FS#459] (r9074)
- Fix: Take over companies properly in multiplayer games [FS#459] (r9071) - Fix: Take over companies properly in multiplayer games [FS#459] (r9071)
- Fix: When a bribe failed and you haven't picked up cargo yet, you would never be able to do so for a given station [FS#404] (r9070) - Fix: When a bribe failed and you have not picked up cargo yet, you would never be able to do so for a given station [FS#404] (r9070)
- Fix: Don't keep on scrolling for non-numeric values in settings, but require reclick [FS#663] (r9064) - Fix: Do not keep on scrolling for non-numeric values in settings, but require reclick [FS#663] (r9064)
- Fix: The personal (.openttd) directories were hidden in the load/save directory listings [FS#652] (r9043) - Fix: The personal (.openttd) directories were hidden in the load/save directory listings [FS#652] (r9043)
- Fix: Desync caused by buffer overflow [FS#664] (r9027) - Fix: Desync caused by buffer overflow [FS#664] (r9027)
- Fix: When cutting strings into multiple lines also take into consideration whitespace characters of more than 1 byte length. (r9012) - Fix: When cutting strings into multiple lines also take into consideration whitespace characters of more than 1 byte length. (r9012)
@@ -1089,7 +1208,7 @@
- Fix: Some disaster-events fixed: combat chopper shoots from right position, submarine once again moves around (r8140, r8158) - Fix: Some disaster-events fixed: combat chopper shoots from right position, submarine once again moves around (r8140, r8158)
- Fix: "out of sprite memory" warning messages due to incorrect assumption of requested memory for sprites (r8133) - Fix: "out of sprite memory" warning messages due to incorrect assumption of requested memory for sprites (r8133)
- Fix: Bouys are now built and numbered 1..9 not 9..1 [FS#538] (r8123) - Fix: Bouys are now built and numbered 1..9 not 9..1 [FS#538] (r8123)
- Fix: Clicking for more news properly cycles through the news history backwards, and doesn't show the first item doubly if it's already open (r8049) - Fix: Clicking for more news properly cycles through the news history backwards, and does not show the first item doubly if it's already open (r8049)
- Fix: Crash when removing a town in the scenario editor while the query window is open for one of the town's tiles (r8030) - Fix: Crash when removing a town in the scenario editor while the query window is open for one of the town's tiles (r8030)
- Fix: Overflow of system-ticks was not handled properly, resulting in a possibly unresponsive server/client (r8028) - Fix: Overflow of system-ticks was not handled properly, resulting in a possibly unresponsive server/client (r8028)
- Fix: Automatic pause interfering with 'pause_on_join setting' in MP when <shift> is pressed [FS#486] (r8027) - Fix: Automatic pause interfering with 'pause_on_join setting' in MP when <shift> is pressed [FS#486] (r8027)
@@ -1114,7 +1233,7 @@
- Fix: Signal update got propagated through incompatible railtypes and under certain circumstances tunnels and rail on top (r7620) - Fix: Signal update got propagated through incompatible railtypes and under certain circumstances tunnels and rail on top (r7620)
- Fix: Remove landscaping toolbar option from road consturction toolbar in scenario editor [FS#473] (r7586) - Fix: Remove landscaping toolbar option from road consturction toolbar in scenario editor [FS#473] (r7586)
- Fix: The server could under certain circumstances tell a client too late to start syncing if it has been waiting to join (r7566) - Fix: The server could under certain circumstances tell a client too late to start syncing if it has been waiting to join (r7566)
- Fix: Removing towns in scenario editor didn't remove their subsidies causing possible crashes [FS#468] (r7563) - Fix: Removing towns in scenario editor did not remove their subsidies causing possible crashes [FS#468] (r7563)
- Fix: Internal and (patches) GUI were disagreeing about autorenew settings [FS#431] (r7561) - Fix: Internal and (patches) GUI were disagreeing about autorenew settings [FS#431] (r7561)
- Fix: No new company could be created if more than 8 clients were connected, even if not all 8 companies were used (r7560) - Fix: No new company could be created if more than 8 clients were connected, even if not all 8 companies were used (r7560)
- Fix; Clicking 'full load' could under certain circumstances change the current depot order [FS#456] (r7559) - Fix; Clicking 'full load' could under certain circumstances change the current depot order [FS#456] (r7559)
@@ -1125,7 +1244,6 @@
0.5.0-RC1 (2006-12-21) 0.5.0-RC1 (2006-12-21)
------------------------------------------------------------------------ ------------------------------------------------------------------------
- General fixes and improvements to TTDPatch's newgrf format, most noticable are newstations, newsounds, more callbacks and I18n - General fixes and improvements to TTDPatch's newgrf format, most noticable are newstations, newsounds, more callbacks and I18n
- Added languages: Bulgarian, Esperanto, Russian, Ukrainian, Languages with proper diacretics: Czech, Hungarian, Turkish - Added languages: Bulgarian, Esperanto, Russian, Ukrainian, Languages with proper diacretics: Czech, Hungarian, Turkish
- Feature: Show NewGRF compatability of network games; green for full compatibility, yellow for missing newgrfs and red for invalid revision (r7505) - Feature: Show NewGRF compatability of network games; green for full compatibility, yellow for missing newgrfs and red for invalid revision (r7505)
@@ -1139,14 +1257,14 @@
- Feature: Add Slovak, Brazil and Slovenian currency [SF 1243657, 1171147; FS#131] (r7160, r5964) - Feature: Add Slovak, Brazil and Slovenian currency [SF 1243657, 1171147; FS#131] (r7160, r5964)
- Feature: Allow towns to be built on top of trees in the scenario editor [FS#396] (r7152) - Feature: Allow towns to be built on top of trees in the scenario editor [FS#396] (r7152)
- Feature: Allow over-building of compatible railtypes, i.e. normal and electrified rail. If building electrified rail, normal rail is upgraded for you (at a cost) (r7106) - Feature: Allow over-building of compatible railtypes, i.e. normal and electrified rail. If building electrified rail, normal rail is upgraded for you (at a cost) (r7106)
- Feature: Additional positioning for long dropdown lists with scrollbar support if dropdown list wouldn't fit (r7086) - Feature: Additional positioning for long dropdown lists with scrollbar support if dropdown list would not fit (r7086)
- Feature: [win32] Remember the window size between restarts when quit in fullscreen mode (r7061) - Feature: [win32] Remember the window size between restarts when quit in fullscreen mode (r7061)
- Feature: Increase the chatbuffer of chat messages, messages longer than the graphical box will be wrapped to a new line (r6956) - Feature: Increase the chatbuffer of chat messages, messages longer than the graphical box will be wrapped to a new line (r6956)
- Feature: Allow typing longer text than visible for an editbox; it will scroll properly now (r6954) - Feature: Allow typing longer text than visible for an editbox; it will scroll properly now (r6954)
- Feature: Allow spectators to team-speak to eachother (r6933) - Feature: Allow spectators to team-speak to eachother (r6933)
- Feature: Allow for " to be in console tokens. Escape them with \. eg \" (r6875) - Feature: Allow for " to be in console tokens. Escape them with \. eg \" (r6875)
- Feature: Change the functionality of the chat window. SHIFT+ENTER (SHIFT+T) sends a message to all players, CTRL+ENTER (CTRL+T) sends a message to all team mates and ENTER (T) is customizable (r6824) - Feature: Change the functionality of the chat window. SHIFT+ENTER (SHIFT+T) sends a message to all players, CTRL+ENTER (CTRL+T) sends a message to all team mates and ENTER (T) is customizable (r6824)
- Feature: (Train is) lost message is now generated immediately when pathfinder can't find the path (r6800) - Feature: (Train is) lost message is now generated immediately when pathfinder cannot find the path (r6800)
- Feature: Add a measurement tool that will show dimensions and height differences of various draggable tools (r6758) - Feature: Add a measurement tool that will show dimensions and height differences of various draggable tools (r6758)
- Feature: Added sort options to the build aircraft and train windows (r6708) - Feature: Added sort options to the build aircraft and train windows (r6708)
- Feature: Depot lists are now sorted, so vehicle 1 is always first and so on (r6652) - Feature: Depot lists are now sorted, so vehicle 1 is always first and so on (r6652)
@@ -1203,7 +1321,7 @@
- Codechange: Allow standard ini-file style comments (;) (r6972) - Codechange: Allow standard ini-file style comments (;) (r6972)
- Codechange: Send server messages with format NETWORK_ACTION_SERVER_MESSAGE so it is general colour like the rest of the server messages. Spectators speak in grey (r6932) - Codechange: Send server messages with format NETWORK_ACTION_SERVER_MESSAGE so it is general colour like the rest of the server messages. Spectators speak in grey (r6932)
- Codechange: Change textmessage format a bit. Only the sender's name and target are in the sender's colour, the actual message is in white. Should improve readability (r6932) - Codechange: Change textmessage format a bit. Only the sender's name and target are in the sender's colour, the actual message is in white. Should improve readability (r6932)
- Codechange: Add an MD5 sum check of our own data files, and warn if they don't match (r6921) - Codechange: Add an MD5 sum check of our own data files, and warn if they do not match (r6921)
- Codechange: Add strict bounds checking in string formatting system to check for possible buffer overflows (r6884) - Codechange: Add strict bounds checking in string formatting system to check for possible buffer overflows (r6884)
- Codechange: Have the dropdown menus fall fully inside the top toolbar (r6745) - Codechange: Have the dropdown menus fall fully inside the top toolbar (r6745)
- Codechange: Determine the length of the main toolbar dropdown list based on the length of the strings in that list (r6744) - Codechange: Determine the length of the main toolbar dropdown list based on the length of the strings in that list (r6744)
@@ -1226,7 +1344,7 @@
- Fix: Changed "kick off" acceleration resulted in only a small amount of power being applied; this resulted in a perceived delay before trains moved. (r7421) - Fix: Changed "kick off" acceleration resulted in only a small amount of power being applied; this resulted in a perceived delay before trains moved. (r7421)
- Fix: Long delay for message windows to appear. Immediately show a new message if present if no news window is open, or has just been closed instead of waiting for the timer of the current news to time out [FS#255] (r7402) - Fix: Long delay for message windows to appear. Immediately show a new message if present if no news window is open, or has just been closed instead of waiting for the timer of the current news to time out [FS#255] (r7402)
- Fix: Deleting Train in depot with autoreplace fails [FS#418] (r7385) - Fix: Deleting Train in depot with autoreplace fails [FS#418] (r7385)
- Fix: Don't update vehicle images when turning a train around. During this procedure the train is split into parts which can result in incorrect images being used (r7378) - Fix: Do not update vehicle images when turning a train around. During this procedure the train is split into parts which can result in incorrect images being used (r7378)
- Fix: OpenTTD could crash under certain circumstances when a vehicle as autoreplaced and a news window was open [FS#332] (r7368) - Fix: OpenTTD could crash under certain circumstances when a vehicle as autoreplaced and a news window was open [FS#332] (r7368)
- Fix: Segmentation fault in the SDL video driver when one goes to fullscreen and there are no suitable resolutions (r7332) - Fix: Segmentation fault in the SDL video driver when one goes to fullscreen and there are no suitable resolutions (r7332)
- Fix: When loading a game from a dedicated server the local player set to 0, theoretically enabling the dedicated server to also play (r7312) - Fix: When loading a game from a dedicated server the local player set to 0, theoretically enabling the dedicated server to also play (r7312)
@@ -1234,11 +1352,11 @@
- Fix: Always display the excavation of roadworks even when fully zoomed out or "full details" are off (r7240) - Fix: Always display the excavation of roadworks even when fully zoomed out or "full details" are off (r7240)
- Fix: Window allocation and deletion messed with the actual window pointer, possibly crashing OpenTTD [FS#350, SF#1560913] (r7205) - Fix: Window allocation and deletion messed with the actual window pointer, possibly crashing OpenTTD [FS#350, SF#1560913] (r7205)
- Fix: Callback not executed for non-player based patch changes in multiplayer for all clients; possible desync issue (r7190) - Fix: Callback not executed for non-player based patch changes in multiplayer for all clients; possible desync issue (r7190)
- Fix: Station sign (and base station coordinates) didn't move along with station when station moved by walking. [FS#388] (r7169) - Fix: Station sign (and base station coordinates) did not move along with station when station moved by walking. [FS#388] (r7169)
- Fix: MiniMap was misplacing vehicles sometimes [FS#402] (r7166) - Fix: MiniMap was misplacing vehicles sometimes [FS#402] (r7166)
- Fix: Some mouse events possibly lost under high CPU load, handle mouse input right away instead of waiting for GameLoop. [FS#221, SF1168820] (r7157) - Fix: Some mouse events possibly lost under high CPU load, handle mouse input right away instead of waiting for GameLoop. [FS#221, SF1168820] (r7157)
- Fix: Some keyboard events possibly lost under high CPU load, handle keyboard input in place instead of global variables magic. [FS#279] (r7153) - Fix: Some keyboard events possibly lost under high CPU load, handle keyboard input in place instead of global variables magic. [FS#279] (r7153)
- Fix: "Position of Main Toolbar" option isn't honored when starting new game or loading saved [FS#172] (r7130) - Fix: "Position of Main Toolbar" option is not honored when starting new game or loading saved [FS#172] (r7130)
- Fix: Synchronize the engine-renew settings of a player when joining a multiplayer game (r7126) - Fix: Synchronize the engine-renew settings of a player when joining a multiplayer game (r7126)
- Fix: Several errors/glitches related to multiplayer and bankrupcy (mainly server), and non-updated company-information (r7125) - Fix: Several errors/glitches related to multiplayer and bankrupcy (mainly server), and non-updated company-information (r7125)
- Fix: Cloning a vehicle that has been refitted would incur the expense as running costs, not new vehicles [FS#371] (r7115) - Fix: Cloning a vehicle that has been refitted would incur the expense as running costs, not new vehicles [FS#371] (r7115)
@@ -1253,8 +1371,8 @@
- Fix: Crash at game end when server company is bankrupt [FS#369] (r7008) - Fix: Crash at game end when server company is bankrupt [FS#369] (r7008)
- Fix: List of actions panel in the town authority window went underneath its scrollbar (r6885) - Fix: List of actions panel in the town authority window went underneath its scrollbar (r6885)
- Fix: Pressing ^D (EOF) at a dedicated console caused it to repeat the last command, instead of doing nothing (r6835) - Fix: Pressing ^D (EOF) at a dedicated console caused it to repeat the last command, instead of doing nothing (r6835)
- Fix: Don't add up running cost of articulated engine parts (r6765) - Fix: Do not add up running cost of articulated engine parts (r6765)
- Fix: If a rail is not available, don't show toolbar even with hotkey 'A' (r6740) - Fix: If a rail is not available, do not show toolbar even with hotkey 'A' (r6740)
- Fix: Only apply the virtual transfer profit if the order is a transfer order, rather than to any unload order (r6738) - Fix: Only apply the virtual transfer profit if the order is a transfer order, rather than to any unload order (r6738)
- Fix: Disable main toolbar buttons showing company list drop downs when there are no companies [FS#356] (r6695) - Fix: Disable main toolbar buttons showing company list drop downs when there are no companies [FS#356] (r6695)
- Fix: Autoreplace can now use the money for selling the old vehicle to build the new one (r6640) - Fix: Autoreplace can now use the money for selling the old vehicle to build the new one (r6640)
@@ -1265,34 +1383,32 @@
- Fix: Station catchment area persists after switching tools [FS#136] (r6368) - Fix: Station catchment area persists after switching tools [FS#136] (r6368)
- Fix: Do not reset the current cursor action when centering on a depot/hangar (r6360) - Fix: Do not reset the current cursor action when centering on a depot/hangar (r6360)
- Fix: Go to hangar orders for aircraft could get spuriously removed when a road or rail depot got deleted (r6355) - Fix: Go to hangar orders for aircraft could get spuriously removed when a road or rail depot got deleted (r6355)
- Fix: Due to some off-by-one errors the width or height of a clipping rectangle could become 0, which isn't sensible. This should fix a very rare and hard to trigger assertion in GfxFillRect() (r6351) - Fix: Due to some off-by-one errors the width or height of a clipping rectangle could become 0, which is not sensible. This should fix a very rare and hard to trigger assertion in GfxFillRect() (r6351)
- Fix: Never allow scrolling the map in the main menu (scroll-settings weren't reset if switched to mainmenu) (r6037) - Fix: Never allow scrolling the map in the main menu (scroll-settings were not reset if switched to mainmenu) (r6037)
- Fix: Never set I-am-a-thread bool to true IN the thread, dual-core machines could flip [FS#78] (r5977) - Fix: Never set I-am-a-thread bool to true IN the thread, dual-core machines could flip [FS#78] (r5977)
- Fix: Town-growth removed houses under construction to make way for road; unwanted behaviour [FS#49] (r5970) - Fix: Town-growth removed houses under construction to make way for road; unwanted behaviour [FS#49] (r5970)
- Fix: Cloned toad vehicles are not refitted to correct cargo [FS#275] (r5917) - Fix: Cloned toad vehicles are not refitted to correct cargo [FS#275] (r5917)
- Fix: Bugfix for errors in FindNearestHangar function in aircraft_cmd.c [FS#235] (r5914) - Fix: Bugfix for errors in FindNearestHangar function in aircraft_cmd.c [FS#235] (r5914)
- Fix: Sort order for produced amount and transported percentage was reversed in the industry list (r5912) - Fix: Sort order for produced amount and transported percentage was reversed in the industry list (r5912)
- Fix: Changing patch settings through the console didn't accept on/off or true/false [FS#170] (r5903) - Fix: Changing patch settings through the console did not accept on/off or true/false [FS#170] (r5903)
- Fix: Differing price calculation for tunnels depending on starting point [FS#253] (r5901) - Fix: Differing price calculation for tunnels depending on starting point [FS#253] (r5901)
- Fix: Goto sepot not always working for road vehicles [FS#249] (r5898) - Fix: Goto sepot not always working for road vehicles [FS#249] (r5898)
- Fix: Bus trying to service in depot of other company [SF1519167] (r5897) - Fix: Bus trying to service in depot of other company [SF1519167] (r5897)
- Fix: If vehicles break down and service is turned off, the vehicles failed to enter any depots; now they will quickly go to a depot if set to be replaced (r5888) - Fix: If vehicles break down and service is turned off, the vehicles failed to enter any depots; now they will quickly go to a depot if set to be replaced (r5888)
- Fix: Incomplete removal of player owned property due to lack of money [FS#273] (r5886) - Fix: Incomplete removal of player owned property due to lack of money [FS#273] (r5886)
- Fix: < > boxes in patch-settings didn't grey out when they hit the limit of their range (r5714) - Fix: < > boxes in patch-settings did not grey out when they hit the limit of their range (r5714)
- Fix: Check the configuration file for valid values and clamp them to their ingame minimum/maximum [SF1288024] (r3726) - Fix: Check the configuration file for valid values and clamp them to their ingame minimum/maximum [SF1288024] (r3726)
- Fix: Remove the restriction that the 'patch' console command can only be run from network games [SF1366446] (r3723) - Fix: Remove the restriction that the 'patch' console command can only be run from network games [SF1366446] (r3723)
0.4.8 (2006-08-12) 0.4.8 (2006-08-12)
------------------------------------------------------------------------ ------------------------------------------------------------------------
- Fix: A ship in a depot must be stopped before it can be cloned. - Fix: A ship in a depot must be stopped before it can be cloned.
- Fix: After changing directory in 'Play Scenario', the default scenarios didn't show up in 'New Game' - Fix: After changing directory in 'Play Scenario', the default scenarios didn't show up in 'New Game'
0.4.8-RC2 (2006-07-31) 0.4.8-RC2 (2006-07-31)
------------------------------------------------------------------------ ------------------------------------------------------------------------
- Feature: Add Italian town names as we have an official Italian translation - Feature: Add Italian town names as we have an official Italian translation
- Codechange: Verify the presence of music files in the gm/ folder. This should also solve some 100% CPU buildup for some users. - Codechange: Verify the presence of music files in the gm/ folder. This should also solve some 100% CPU buildup for some users.
- Fix: Certain combinations of trains crash when moved around inside the depot. - Fix: Certain combinations of trains crash when moved around inside the depot.
@@ -1306,7 +1422,6 @@
0.4.8-RC1 (2006-06-28) 0.4.8-RC1 (2006-06-28)
------------------------------------------------------------------------ ------------------------------------------------------------------------
- Feature: Add Turkish town names as we have an official Turkish translation - Feature: Add Turkish town names as we have an official Turkish translation
- Feature: Add a fully optional configure script that is a wrapper around the cumbersome makefile.config - Feature: Add a fully optional configure script that is a wrapper around the cumbersome makefile.config
- Codechange: [NPF] Disable NPF totally for ships as it wholly kills performance (blathijs). Only for 0.4/ branch and 0.4.8. - Codechange: [NPF] Disable NPF totally for ships as it wholly kills performance (blathijs). Only for 0.4/ branch and 0.4.8.
@@ -1367,7 +1482,6 @@
0.4.7 (2006-03-26) 0.4.7 (2006-03-26)
------------------------------------------------------------------------ ------------------------------------------------------------------------
- Feature: [OSX] Add support for triple-binaries (PPC, PPC970, i386) (r4102) - Feature: [OSX] Add support for triple-binaries (PPC, PPC970, i386) (r4102)
- Fix: [OSX] crash when going to fullscreen (r4100) - Fix: [OSX] crash when going to fullscreen (r4100)
- Fix: Allow unused wagons to have their first cache set. Fixes faulty cache-warning message and noticably speeds up depot operations (r4094) - Fix: Allow unused wagons to have their first cache set. Fixes faulty cache-warning message and noticably speeds up depot operations (r4094)
@@ -1412,7 +1526,6 @@
0.4.5 (2006-01-31) 0.4.5 (2006-01-31)
------------------------------------------------------------------------ ------------------------------------------------------------------------
- Feature: [newgrf] Implement varaction2 property 0x41 and 0xDA. (2361) - Feature: [newgrf] Implement varaction2 property 0x41 and 0xDA. (2361)
- Feature: giving server_ip a value of 'all' will make the server listen on any interface (2374) - Feature: giving server_ip a value of 'all' will make the server listen on any interface (2374)
- Feature: shortcut CTRL + U that clears the current input-box (2385) - Feature: shortcut CTRL + U that clears the current input-box (2385)
@@ -2043,7 +2156,6 @@
0.3.3 (2004-07-13) 0.3.3 (2004-07-13)
------------------------------------------------------------------------ ------------------------------------------------------------------------
- Feature: (MorphOS/AmigaOS) network support - Feature: (MorphOS/AmigaOS) network support
- Feature: improved german town name generator - Feature: improved german town name generator
- Change: scenarios now have the file extension .scn - Change: scenarios now have the file extension .scn

View File

@@ -5,7 +5,7 @@ log() {
} }
set_default() { set_default() {
released_version="" released_version="0.7.1-RC1"
ignore_extra_parameters="0" ignore_extra_parameters="0"
# We set all kinds of defaults for params. Later on the user can override # We set all kinds of defaults for params. Later on the user can override
@@ -2405,7 +2405,7 @@ int main() {
} }
EOF EOF
execute="$cxx_host $CFLAGS -c tmp.iconv.cpp -o tmp.iconv -DTESTING 2>&1" execute="$cxx_host $CFLAGS -c tmp.iconv.cpp -o tmp.iconv -DTESTING 2>&1"
eval $execute >&/dev/null eval $execute > /dev/null
ret=$? ret=$?
log 2 "executing $execute" log 2 "executing $execute"
log 2 " exit code $ret" log 2 " exit code $ret"
@@ -2426,7 +2426,7 @@ int main() {
} }
EOF EOF
execute="$cxx_host $CFLAGS tmp.iconv.cpp -o tmp.iconv -DTESTING 2>&1" execute="$cxx_host $CFLAGS tmp.iconv.cpp -o tmp.iconv -DTESTING 2>&1"
eval $execute >&/dev/null eval $execute > /dev/null
ret=$? ret=$?
log 2 "executing $execute" log 2 "executing $execute"
log 2 " exit code $ret" log 2 " exit code $ret"

View File

@@ -11,13 +11,15 @@ by the number below on http://bugs.openttd.org.
If the bug report is closed, it has been fixed, which then can be verified If the bug report is closed, it has been fixed, which then can be verified
in the latest SVN version of /trunk. in the latest SVN version of /trunk.
Bugs for 0.7.0-beta2 Bugs for 0.7.1-RC1
------------------------------------------------------------------------ ------------------------------------------------------------------------
URL: http://bugs.openttd.org URL: http://bugs.openttd.org
- 2689 Capacity ordering of articulated vehicle in build vehicle window is wrong - 2769 No offer for buying bankrupt AIs
- 2737 Self-crossing trains ignore "forbid 90 degree turn" setting
- 2616 Cloning creates vehicles with invalid subcargos - 2616 Cloning creates vehicles with invalid subcargos
- 2585 [OSX] OS' mouse pointer showing - 2585 [OSX] OS' mouse pointer showing
- 2484 [OSX] Cannot enter CJK characters
- 2427 Vehicle owner gets paid for whole cargo feeder share - 2427 Vehicle owner gets paid for whole cargo feeder share
- 1944 Road vehicles not picking empty drivethrough platform - 1944 Road vehicles not picking empty drivethrough platform
- 1762 Strange Autoreplace behaviour - 1762 Strange Autoreplace behaviour

View File

@@ -1,17 +1,34 @@
openttd (0.7~svn-1) UNRELEASED; urgency=low openttd (0.7.1~RC1) unstable; urgency=low
* Unreleased SVN version. Versioned to allow normal upgrades to released * New upstream release.
versions.
-- Matthijs Kooijman <matthijs@stdin.nl> Wed, 03 Sep 2008 18:56:04 +0200 -- Matthijs Kooijman <matthijs@stdin.nl> Mon, 11 Mar 2008 17:34:56 +0200
openttd (0.7.0-beta2) unstable; urgency=low openttd (0.7.0) unstable; urgency=low
* New upstream release.
-- Matthijs Kooijman <matthijs@stdin.nl> Wed, 01 Apr 2008 13:37:42 +0000
openttd (0.7.0~RC2) unstable; urgency=low
* New upstream release.
-- Matthijs Kooijman <matthijs@stdin.nl> Mon, 23 Mar 2008 00:42:00 +0200
openttd (0.7.0~RC1) unstable; urgency=low
* New upstream release.
-- Matthijs Kooijman <matthijs@stdin.nl> Mon, 16 Mar 2008 00:07:00 +0200
openttd (0.7.0~beta2) unstable; urgency=low
* New upstream release. * New upstream release.
-- Matthijs Kooijman <matthijs@stdin.nl> Tue, 10 Mar 2009 00:33:05 +0100 -- Matthijs Kooijman <matthijs@stdin.nl> Tue, 10 Mar 2009 00:33:05 +0100
openttd (0.7.0-beta1) unstable; urgency=low openttd (0.7.0~beta1) unstable; urgency=low
* New upstream release. * New upstream release.

View File

@@ -1,11 +1,11 @@
!define APPNAME "OpenTTD" ; Define application name !define APPNAME "OpenTTD" ; Define application name
!define APPVERSION "0.7.0" ; Define application version !define APPVERSION "0.7.1-RC1" ; Define application version
!define INSTALLERVERSION 55 ; NEED TO UPDATE THIS FOR EVERY RELEASE!!! !define APPVERSIONINTERNAL "0.7.1.0" ; Define application version in X.X.X.X
!define INSTALLERVERSION 59 ; NEED TO UPDATE THIS FOR EVERY RELEASE!!!
!include ${VERSION_INCLUDE} !include ${VERSION_INCLUDE}
!define APPURLLINK "http://www.openttd.org" !define APPURLLINK "http://www.openttd.org"
!define APPNAMEANDVERSION "${APPNAME} ${APPVERSION}" !define APPNAMEANDVERSION "${APPNAME} ${APPVERSION_FULL}"
!define APPVERSIONINTERNAL "${APPVERSION}.0" ; Needs to be of the format X.X.X.X
!define MUI_ICON "..\..\..\media\openttd.ico" !define MUI_ICON "..\..\..\media\openttd.ico"
!define MUI_UNICON "..\..\..\media\openttd.ico" !define MUI_UNICON "..\..\..\media\openttd.ico"

View File

@@ -32,6 +32,7 @@ Sub UpdateFiles(version)
modified = Mid(version, InStrRev(version, Chr(9)) + 1) modified = Mid(version, InStrRev(version, Chr(9)) + 1)
version = Mid(version, 1, InStr(version, Chr(9)) - 1) version = Mid(version, 1, InStr(version, Chr(9)) - 1)
Else Else
version = "0.7.1-RC1"
revision = 0 revision = 0
modified = 1 modified = 1
End If End If

View File

@@ -1,6 +1,6 @@
OpenTTD README OpenTTD README
Last updated: 2009-03-10 Last updated: 2009-04-01
Release version: 0.7.0-beta2 Release version: 0.7.0
------------------------------------------------------------------------ ------------------------------------------------------------------------
@@ -253,8 +253,8 @@ features known from TTDPatch (http://www.ttdpatch.net/).
Several important non-standard controls: Several important non-standard controls:
* Ctrl makes much commands more powerful. For example Ctrl clicking on signals * Ctrl makes many commands more powerful. For example Ctrl clicking on signals
with the build signal tool on signals changes their behaviour. with the build signal tool changes their behaviour.
* Ingame console. More information at * Ingame console. More information at
http://wiki.openttd.org/index.php/Console http://wiki.openttd.org/index.php/Console
* Right clicking shows tooltips * Right clicking shows tooltips

View File

@@ -83,7 +83,7 @@ SQVM::SQVM(SQSharedState *ss)
_suspended = SQFalse; _suspended = SQFalse;
_suspended_target=-1; _suspended_target=-1;
_suspended_root = SQFalse; _suspended_root = SQFalse;
_suspended_traps=-1; _suspended_traps=0;
_foreignptr=NULL; _foreignptr=NULL;
_nnativecalls=0; _nnativecalls=0;
_lasterror = _null_; _lasterror = _null_;
@@ -688,6 +688,7 @@ bool SQVM::Execute(SQObjectPtr &closure, SQInteger target, SQInteger nargs, SQIn
_suspended = SQFalse; _suspended = SQFalse;
break; break;
case ET_RESUME_OPENTTD: case ET_RESUME_OPENTTD:
traps = _suspended_traps;
_suspended = SQFalse; _suspended = SQFalse;
break; break;
} }
@@ -698,7 +699,7 @@ exception_restore:
for(;;) for(;;)
{ {
DecreaseOps(1); DecreaseOps(1);
if (ShouldSuspend()) { _suspended = SQTrue; return true; } if (ShouldSuspend()) { _suspended = SQTrue; _suspended_traps = traps; return true; }
const SQInstruction &_i_ = *ci->_ip++; const SQInstruction &_i_ = *ci->_ip++;
//dumpstack(_stackbase); //dumpstack(_stackbase);

View File

@@ -103,6 +103,11 @@ struct AIListWindow : public Window {
sprintf(buf, "%d", selected_info->GetVersion()); sprintf(buf, "%d", selected_info->GetVersion());
DoDrawStringTruncated(buf, x + 5, y, TC_BLACK, this->width - x - 8); DoDrawStringTruncated(buf, x + 5, y, TC_BLACK, this->width - x - 8);
y += 13; y += 13;
if (selected_info->GetURL() != NULL) {
SetDParamStr(0, selected_info->GetURL());
DrawString(4, y, STR_AI_URL, TC_BLACK);
y += 13;
}
SetDParamStr(0, selected_info->GetDescription()); SetDParamStr(0, selected_info->GetDescription());
DrawStringMultiLine(4, y, STR_JUST_RAW_STRING, this->width - 8, this->widget[AIL_WIDGET_INFO_BG].bottom - y); DrawStringMultiLine(4, y, STR_JUST_RAW_STRING, this->width - 8, this->widget[AIL_WIDGET_INFO_BG].bottom - y);
} }
@@ -575,6 +580,8 @@ struct AIDebugWindow : public Window {
static CompanyID ai_debug_company; static CompanyID ai_debug_company;
int redraw_timer; int redraw_timer;
int last_vscroll_pos;
bool autoscroll;
AIDebugWindow(const WindowDesc *desc, WindowNumber number) : Window(desc, number) AIDebugWindow(const WindowDesc *desc, WindowNumber number) : Window(desc, number)
{ {
@@ -587,6 +594,8 @@ struct AIDebugWindow : public Window {
this->vscroll.cap = 14; this->vscroll.cap = 14;
this->vscroll.pos = 0; this->vscroll.pos = 0;
this->resize.step_height = 12; this->resize.step_height = 12;
this->last_vscroll_pos = 0;
this->autoscroll = true;
if (ai_debug_company != INVALID_COMPANY) this->LowerWidget(ai_debug_company + AID_WIDGET_COMPANY_BUTTON_START); if (ai_debug_company != INVALID_COMPANY) this->LowerWidget(ai_debug_company + AID_WIDGET_COMPANY_BUTTON_START);
@@ -664,13 +673,35 @@ struct AIDebugWindow : public Window {
AILog::LogData *log = (AILog::LogData *)AIObject::GetLogPointer(); AILog::LogData *log = (AILog::LogData *)AIObject::GetLogPointer();
_current_company = old_company; _current_company = old_company;
SetVScrollCount(this, (log == NULL) ? 0 : log->used); int scroll_count = (log == NULL) ? 0 : log->used;
this->InvalidateWidget(AID_WIDGET_SCROLLBAR); if (this->vscroll.count != scroll_count) {
SetVScrollCount(this, scroll_count);
/* We need a repaint */
this->InvalidateWidget(AID_WIDGET_SCROLLBAR);
}
if (log == NULL) return; if (log == NULL) return;
/* Detect when the user scrolls the window. Enable autoscroll when the
* bottom-most line becomes visible. */
if (this->last_vscroll_pos != this->vscroll.pos) {
this->autoscroll = this->vscroll.pos >= log->used - this->vscroll.cap;
}
if (this->autoscroll) {
int scroll_pos = max(0, log->used - this->vscroll.cap);
if (scroll_pos != this->vscroll.pos) {
this->vscroll.pos = scroll_pos;
/* We need a repaint */
this->InvalidateWidget(AID_WIDGET_SCROLLBAR);
}
}
last_vscroll_pos = this->vscroll.pos;
int y = 6; int y = 6;
for (int i = this->vscroll.pos; i < (this->vscroll.cap + this->vscroll.pos); i++) { for (int i = this->vscroll.pos; i < (this->vscroll.cap + this->vscroll.pos) && i < log->used; i++) {
uint pos = (log->count + log->pos - i) % log->count; uint pos = (i + log->pos + 1 - log->used + log->count) % log->count;
if (log->lines[pos] == NULL) break; if (log->lines[pos] == NULL) break;
TextColour colour; TextColour colour;
@@ -693,6 +724,8 @@ struct AIDebugWindow : public Window {
this->RaiseWidget(ai_debug_company + AID_WIDGET_COMPANY_BUTTON_START); this->RaiseWidget(ai_debug_company + AID_WIDGET_COMPANY_BUTTON_START);
ai_debug_company = show_ai; ai_debug_company = show_ai;
this->LowerWidget(ai_debug_company + AID_WIDGET_COMPANY_BUTTON_START); this->LowerWidget(ai_debug_company + AID_WIDGET_COMPANY_BUTTON_START);
this->autoscroll = true;
this->last_vscroll_pos = this->vscroll.pos;
this->SetDirty(); this->SetDirty();
} }
@@ -726,6 +759,7 @@ struct AIDebugWindow : public Window {
virtual void OnResize(Point new_size, Point delta) virtual void OnResize(Point new_size, Point delta)
{ {
this->vscroll.cap += delta.y / (int)this->resize.step_height; this->vscroll.cap += delta.y / (int)this->resize.step_height;
SetVScrollCount(this, this->vscroll.count); // vscroll.pos should be in a valid range
} }
}; };

View File

@@ -36,6 +36,7 @@ AIFileInfo::~AIFileInfo()
free((void *)this->description); free((void *)this->description);
free((void *)this->date); free((void *)this->date);
free((void *)this->instance_name); free((void *)this->instance_name);
free((void *)this->url);
free(this->main_script); free(this->main_script);
free(this->SQ_instance); free(this->SQ_instance);
} }
@@ -98,6 +99,11 @@ bool AIFileInfo::CheckMethod(const char *name) const
if (!info->engine->CallIntegerMethod(*info->SQ_instance, "GetVersion", &info->version)) return SQ_ERROR; if (!info->engine->CallIntegerMethod(*info->SQ_instance, "GetVersion", &info->version)) return SQ_ERROR;
if (!info->engine->CallStringMethodStrdup(*info->SQ_instance, "CreateInstance", &info->instance_name)) return SQ_ERROR; if (!info->engine->CallStringMethodStrdup(*info->SQ_instance, "CreateInstance", &info->instance_name)) return SQ_ERROR;
/* The GetURL function is optional. */
if (info->engine->MethodExists(*info->SQ_instance, "GetURL")) {
if (!info->engine->CallStringMethodStrdup(*info->SQ_instance, "GetURL", &info->url)) return SQ_ERROR;
}
return 0; return 0;
} }
@@ -125,6 +131,12 @@ bool AIFileInfo::CheckMethod(const char *name) const
} else { } else {
info->min_loadable_version = info->GetVersion(); info->min_loadable_version = info->GetVersion();
} }
/* When there is an UseAsRandomAI function, call it. */
if (info->engine->MethodExists(*info->SQ_instance, "UseAsRandomAI")) {
if (!info->engine->CallBoolMethod(*info->SQ_instance, "UseAsRandomAI", &info->use_as_random)) return SQ_ERROR;
} else {
info->use_as_random = true;
}
/* Remove the link to the real instance, else it might get deleted by RegisterAI() */ /* Remove the link to the real instance, else it might get deleted by RegisterAI() */
sq_setinstanceup(vm, 2, NULL); sq_setinstanceup(vm, 2, NULL);

View File

@@ -41,7 +41,7 @@ public:
friend class AIInfo; friend class AIInfo;
friend class AILibrary; friend class AILibrary;
AIFileInfo() : SQ_instance(NULL), main_script(NULL), author(NULL), name(NULL), short_name(NULL), description(NULL), date(NULL), instance_name(NULL) {}; AIFileInfo() : SQ_instance(NULL), main_script(NULL), author(NULL), name(NULL), short_name(NULL), description(NULL), date(NULL), instance_name(NULL), url(NULL) {};
~AIFileInfo(); ~AIFileInfo();
/** /**
@@ -84,6 +84,11 @@ public:
*/ */
const char *GetInstanceName() const { return this->instance_name; } const char *GetInstanceName() const { return this->instance_name; }
/**
* Get the website for this script.
*/
const char *GetURL() const { return this->url; }
/** /**
* Get the filename of the main.nut script. * Get the filename of the main.nut script.
*/ */
@@ -111,6 +116,7 @@ private:
const char *date; const char *date;
const char *instance_name; const char *instance_name;
int version; int version;
const char *url;
}; };
class AIInfo : public AIFileInfo { class AIInfo : public AIFileInfo {
@@ -155,9 +161,15 @@ public:
*/ */
int GetSettingDefaultValue(const char *name) const; int GetSettingDefaultValue(const char *name) const;
/**
* Use this AI as a random AI.
*/
bool UseAsRandomAI() const { return this->use_as_random; }
private: private:
AIConfigItemList config_list; AIConfigItemList config_list;
int min_loadable_version; int min_loadable_version;
bool use_as_random;
}; };
class AILibrary : public AIFileInfo { class AILibrary : public AIFileInfo {

View File

@@ -31,7 +31,7 @@ class DummyAI extends AIController {
function Start() { \n\ function Start() { \n\
AILog.Error(\"No suitable AI found to load.\"); \n\ AILog.Error(\"No suitable AI found to load.\"); \n\
AILog.Error(\"This AI is a dummy AI and won't do anything.\"); \n\ AILog.Error(\"This AI is a dummy AI and won't do anything.\"); \n\
AILog.Error(\"You can download several via the 'Online Content' system.\"); \n\ AILog.Error(\"You can download several AIs via the 'Online Content' system.\"); \n\
} \n\ } \n\
} \n\ } \n\
"); ");

View File

@@ -19,6 +19,7 @@
#define DEFINE_SCRIPT_FILES #define DEFINE_SCRIPT_FILES
#include "ai_info.hpp" #include "ai_info.hpp"
#include "ai_config.hpp"
#include "ai_storage.hpp" #include "ai_storage.hpp"
#include "ai_instance.hpp" #include "ai_instance.hpp"
#include "ai_gui.hpp" #include "ai_gui.hpp"
@@ -255,7 +256,16 @@ void AIInstance::Died()
this->engine = NULL; this->engine = NULL;
ShowAIDebugWindow(_current_company); ShowAIDebugWindow(_current_company);
ShowErrorMessage(INVALID_STRING_ID, STR_AI_PLEASE_REPORT_CRASH, 0, 0);
const AIInfo *info = AIConfig::GetConfig(_current_company)->GetInfo();
if (info != NULL) {
ShowErrorMessage(INVALID_STRING_ID, STR_AI_PLEASE_REPORT_CRASH, 0, 0);
if (info->GetURL() != NULL) {
AILog::Info("Please report the error to the following URL:");
AILog::Info(info->GetURL());
}
}
} }
void AIInstance::GameLoop() void AIInstance::GameLoop()

View File

@@ -153,7 +153,7 @@ AIScanner::AIScanner() :
/* Create the dummy AI */ /* Create the dummy AI */
this->engine->ResetCrashed(); this->engine->ResetCrashed();
strcpy(this->main_script, "%_dummy"); strecpy(this->main_script, "%_dummy", lastof(this->main_script));
extern void AI_CreateAIInfoDummy(HSQUIRRELVM vm); extern void AI_CreateAIInfoDummy(HSQUIRRELVM vm);
AI_CreateAIInfoDummy(this->engine->GetVM()); AI_CreateAIInfoDummy(this->engine->GetVM());
} }
@@ -345,20 +345,31 @@ void AIScanner::RegisterAI(AIInfo *info)
AIInfo *AIScanner::SelectRandomAI() AIInfo *AIScanner::SelectRandomAI()
{ {
if (this->info_single_list.size() == 0) { uint num_random_ais = 0;
for (AIInfoList::iterator it = this->info_single_list.begin(); it != this->info_single_list.end(); it++) {
if (it->second->UseAsRandomAI()) num_random_ais++;
}
if (num_random_ais == 0) {
DEBUG(ai, 0, "No suitable AI found, loading 'dummy' AI."); DEBUG(ai, 0, "No suitable AI found, loading 'dummy' AI.");
return this->info_dummy; return this->info_dummy;
} }
/* Find a random AI */ /* Find a random AI */
uint pos; uint pos;
if (_networking) pos = InteractiveRandomRange((uint16)this->info_single_list.size()); if (_networking) {
else pos = RandomRange((uint16)this->info_single_list.size()); pos = InteractiveRandomRange(num_random_ais);
} else {
pos = RandomRange(num_random_ais);
}
/* Find the Nth item from the array */ /* Find the Nth item from the array */
AIInfoList::iterator it = this->info_single_list.begin(); AIInfoList::iterator it = this->info_single_list.begin();
for (; pos > 0; pos--) it++; while (!it->second->UseAsRandomAI()) it++;
AIInfoList::iterator first_it = it; for (; pos > 0; pos--) {
it++;
while (!it->second->UseAsRandomAI()) it++;
}
return (*it).second; return (*it).second;
} }

View File

@@ -8,12 +8,21 @@
#include "../../company_func.h" #include "../../company_func.h"
#include "../../command_type.h" #include "../../command_type.h"
#include "../../town.h" #include "../../town.h"
#include "../../economy_func.h"
/* static */ bool AIAirport::IsValidAirportType(AirportType type) /* static */ bool AIAirport::IsValidAirportType(AirportType type)
{ {
return type >= AT_SMALL && type <= AT_HELISTATION && HasBit(::GetValidAirports(), type); return type >= AT_SMALL && type <= AT_HELISTATION && HasBit(::GetValidAirports(), type);
} }
/* static */ Money AIAirport::GetPrice(AirportType type)
{
if (!IsValidAirportType(type)) return -1;
const AirportFTAClass *afc = ::GetAirport(type);
return _price.build_airport * afc->size_x * afc->size_y;
}
/* static */ bool AIAirport::IsHangarTile(TileIndex tile) /* static */ bool AIAirport::IsHangarTile(TileIndex tile)
{ {
if (!::IsValidTile(tile)) return false; if (!::IsValidTile(tile)) return false;

View File

@@ -53,6 +53,13 @@ public:
*/ */
static bool IsValidAirportType(AirportType type); static bool IsValidAirportType(AirportType type);
/**
* Get the cost to build this AirportType.
* @param type The AirportType to check.
* @return The cost of building this AirportType.
*/
static Money GetPrice(AirportType type);
/** /**
* Checks whether the given tile is actually a tile with a hangar. * Checks whether the given tile is actually a tile with a hangar.
* @param tile The tile to check. * @param tile The tile to check.

View File

@@ -39,6 +39,7 @@ void SQAIAirport_Register(Squirrel *engine) {
SQAIAirport.DefSQConst(engine, AIAirport::PT_INVALID, "PT_INVALID"); SQAIAirport.DefSQConst(engine, AIAirport::PT_INVALID, "PT_INVALID");
SQAIAirport.DefSQStaticMethod(engine, &AIAirport::IsValidAirportType, "IsValidAirportType", 2, ".i"); SQAIAirport.DefSQStaticMethod(engine, &AIAirport::IsValidAirportType, "IsValidAirportType", 2, ".i");
SQAIAirport.DefSQStaticMethod(engine, &AIAirport::GetPrice, "GetPrice", 2, ".i");
SQAIAirport.DefSQStaticMethod(engine, &AIAirport::IsHangarTile, "IsHangarTile", 2, ".i"); SQAIAirport.DefSQStaticMethod(engine, &AIAirport::IsHangarTile, "IsHangarTile", 2, ".i");
SQAIAirport.DefSQStaticMethod(engine, &AIAirport::IsAirportTile, "IsAirportTile", 2, ".i"); SQAIAirport.DefSQStaticMethod(engine, &AIAirport::IsAirportTile, "IsAirportTile", 2, ".i");
SQAIAirport.DefSQStaticMethod(engine, &AIAirport::GetAirportWidth, "GetAirportWidth", 2, ".i"); SQAIAirport.DefSQStaticMethod(engine, &AIAirport::GetAirportWidth, "GetAirportWidth", 2, ".i");

View File

@@ -23,6 +23,12 @@
return ::IsBridgeTile(tile); return ::IsBridgeTile(tile);
} }
/* static */ BridgeID AIBridge::GetBridgeID(TileIndex tile)
{
if (!IsBridgeTile(tile)) return (BridgeID)-1;
return (BridgeID)::GetBridgeType(tile);
}
static void _DoCommandReturnBuildBridge2(class AIInstance *instance) static void _DoCommandReturnBuildBridge2(class AIInstance *instance)
{ {
if (!AIBridge::_BuildBridgeRoad2()) { if (!AIBridge::_BuildBridgeRoad2()) {

View File

@@ -51,6 +51,14 @@ public:
*/ */
static bool IsBridgeTile(TileIndex tile); static bool IsBridgeTile(TileIndex tile);
/**
* Get the BridgeID of a bridge at a given tile.
* @param tile The tile to get the BridgeID from.
* @pre IsBridgeTile(tile).
* @return The BridgeID from the bridge at tile 'tile'.
*/
static BridgeID GetBridgeID(TileIndex tile);
/** /**
* Get the name of a bridge. * Get the name of a bridge.
* @param bridge_id The bridge to get the name of. * @param bridge_id The bridge to get the name of.

View File

@@ -36,6 +36,7 @@ void SQAIBridge_Register(Squirrel *engine) {
SQAIBridge.DefSQStaticMethod(engine, &AIBridge::IsValidBridge, "IsValidBridge", 2, ".i"); SQAIBridge.DefSQStaticMethod(engine, &AIBridge::IsValidBridge, "IsValidBridge", 2, ".i");
SQAIBridge.DefSQStaticMethod(engine, &AIBridge::IsBridgeTile, "IsBridgeTile", 2, ".i"); SQAIBridge.DefSQStaticMethod(engine, &AIBridge::IsBridgeTile, "IsBridgeTile", 2, ".i");
SQAIBridge.DefSQStaticMethod(engine, &AIBridge::GetBridgeID, "GetBridgeID", 2, ".i");
SQAIBridge.DefSQStaticMethod(engine, &AIBridge::GetName, "GetName", 2, ".i"); SQAIBridge.DefSQStaticMethod(engine, &AIBridge::GetName, "GetName", 2, ".i");
SQAIBridge.DefSQStaticMethod(engine, &AIBridge::GetMaxSpeed, "GetMaxSpeed", 2, ".i"); SQAIBridge.DefSQStaticMethod(engine, &AIBridge::GetMaxSpeed, "GetMaxSpeed", 2, ".i");
SQAIBridge.DefSQStaticMethod(engine, &AIBridge::GetPrice, "GetPrice", 3, ".ii"); SQAIBridge.DefSQStaticMethod(engine, &AIBridge::GetPrice, "GetPrice", 3, ".ii");

View File

@@ -18,7 +18,7 @@ public:
* The classes of cargo (from newgrf_cargo.h). * The classes of cargo (from newgrf_cargo.h).
*/ */
enum CargoClass { enum CargoClass {
CC_PASSENGERS = 1 << 0, //!< Passengers CC_PASSENGERS = 1 << 0, //!< Passengers. Cargos of this class appear at bus stops. Cargos not of this class appear at truck stops.
CC_MAIL = 1 << 1, //!< Mail CC_MAIL = 1 << 1, //!< Mail
CC_EXPRESS = 1 << 2, //!< Express cargo (Goods, Food, Candy, but also possible for passengers) CC_EXPRESS = 1 << 2, //!< Express cargo (Goods, Food, Candy, but also possible for passengers)
CC_ARMOURED = 1 << 3, //!< Armoured cargo (Valuables, Gold, Diamonds) CC_ARMOURED = 1 << 3, //!< Armoured cargo (Valuables, Gold, Diamonds)
@@ -52,6 +52,7 @@ public:
/** /**
* Gets the string representation of the cargo label. * Gets the string representation of the cargo label.
* @param cargo_type The cargo to get the string representation of. * @param cargo_type The cargo to get the string representation of.
* @pre AICargo::IsValidCargo(cargo_type).
* @return The cargo label. * @return The cargo label.
* @note Never use this to check if it is a certain cargo. NewGRF can * @note Never use this to check if it is a certain cargo. NewGRF can
* redefine all of the names. * redefine all of the names.
@@ -60,7 +61,10 @@ public:
/** /**
* Checks whether the give cargo is a freight or not. * Checks whether the give cargo is a freight or not.
* This defines whether the "freight train weight multiplier" will apply to
* trains transporting this cargo.
* @param cargo_type The cargo to check on. * @param cargo_type The cargo to check on.
* @pre AICargo::IsValidCargo(cargo_type).
* @return True if and only if the cargo is freight. * @return True if and only if the cargo is freight.
*/ */
static bool IsFreight(CargoID cargo_type); static bool IsFreight(CargoID cargo_type);
@@ -68,6 +72,7 @@ public:
/** /**
* Check if this cargo is in the requested cargo class. * Check if this cargo is in the requested cargo class.
* @param cargo_type The cargo to check on. * @param cargo_type The cargo to check on.
* @pre AICargo::IsValidCargo(cargo_type).
* @param cargo_class The class to check for. * @param cargo_class The class to check for.
* @return True if and only if the cargo is in the cargo class. * @return True if and only if the cargo is in the cargo class.
*/ */
@@ -76,6 +81,7 @@ public:
/** /**
* Get the effect this cargo has on a town. * Get the effect this cargo has on a town.
* @param cargo_type The cargo to check on. * @param cargo_type The cargo to check on.
* @pre AICargo::IsValidCargo(cargo_type).
* @return The effect this cargo has on a town, or TE_NONE if it has no effect. * @return The effect this cargo has on a town, or TE_NONE if it has no effect.
*/ */
static TownEffect GetTownEffect(CargoID cargo_type); static TownEffect GetTownEffect(CargoID cargo_type);
@@ -84,6 +90,7 @@ public:
* Get the income for transporting a piece of cargo over the * Get the income for transporting a piece of cargo over the
* given distance within the specified time. * given distance within the specified time.
* @param cargo_type The cargo to transport. * @param cargo_type The cargo to transport.
* @pre AICargo::IsValidCargo(cargo_type).
* @param distance The distance the cargo travels from begin to end. * @param distance The distance the cargo travels from begin to end.
* @param days_in_transit Amount of (game) days the cargo is in transit. The max value of this variable is 637. Any value higher returns the same as 637 would. * @param days_in_transit Amount of (game) days the cargo is in transit. The max value of this variable is 637. Any value higher returns the same as 637 would.
* @return The amount of money that would be earned by this trip. * @return The amount of money that would be earned by this trip.

View File

@@ -153,7 +153,8 @@ public:
* Return the location of a company's HQ. * Return the location of a company's HQ.
* @param company The company the get the HQ of. * @param company The company the get the HQ of.
* @pre ResolveCompanyID(company) != COMPANY_INVALID. * @pre ResolveCompanyID(company) != COMPANY_INVALID.
* @return The tile of the company's HQ, this tile is the most nothern tile of that HQ, or TILE_INVALID if there is no HQ yet. * @return The tile of the company's HQ, this tile is the most nothern tile
* of that HQ, or AIMap::TILE_INVALID if there is no HQ yet.
*/ */
static TileIndex GetCompanyHQ(CompanyID company); static TileIndex GetCompanyHQ(CompanyID company);

View File

@@ -5,6 +5,7 @@
#include "../../stdafx.h" #include "../../stdafx.h"
#include "../../string_func.h" #include "../../string_func.h"
#include "../../company_base.h" #include "../../company_base.h"
#include "../../rev.h"
#include "table/strings.h" #include "table/strings.h"
#include "../ai.hpp" #include "../ai.hpp"
@@ -66,6 +67,11 @@ AIController::~AIController()
return AIConfig::GetConfig(_current_company)->GetSetting(name); return AIConfig::GetConfig(_current_company)->GetSetting(name);
} }
/* static */ uint AIController::GetVersion()
{
return _openttd_newgrf_version;
}
bool AIController::LoadedLibrary(const char *library_name, int *next_number, char *fake_class_name, int fake_class_name_len) bool AIController::LoadedLibrary(const char *library_name, int *next_number, char *fake_class_name, int fake_class_name_len)
{ {
LoadedLibraryList::iterator iter = this->loaded_library.find(library_name); LoadedLibraryList::iterator iter = this->loaded_library.find(library_name);

View File

@@ -50,6 +50,18 @@ public:
*/ */
static int GetSetting(const char *name); static int GetSetting(const char *name);
/**
* Get the OpenTTD version of this executable. The version is formatted
* with the bits having the following meaning:
* 28-31 major version
* 24-27 minor version
* 20-23 build
* 19 1 if it is a release, 0 if it is not.
* 0-18 revision number; 0 when the revision is unknown.
* @return The version in newgrf format.
*/
static uint GetVersion();
/** /**
* Change the minimum amount of time the AI should be put in suspend mode * Change the minimum amount of time the AI should be put in suspend mode
* when you execute a command. Normally in SP this is 1, and in MP it is * when you execute a command. Normally in SP this is 1, and in MP it is

View File

@@ -5,10 +5,11 @@
void SQAIController_Register(Squirrel *engine) { void SQAIController_Register(Squirrel *engine) {
DefSQClass <AIController> SQAIController("AIController"); DefSQClass <AIController> SQAIController("AIController");
SQAIController.PreRegister(engine); SQAIController.PreRegister(engine);
SQAIController.DefSQStaticMethod(engine, &AIController::GetTick, "GetTick", 1, "?"); SQAIController.DefSQStaticMethod(engine, &AIController::GetTick, "GetTick", 1, ".");
SQAIController.DefSQStaticMethod(engine, &AIController::SetCommandDelay, "SetCommandDelay", 2, "?i"); SQAIController.DefSQStaticMethod(engine, &AIController::SetCommandDelay, "SetCommandDelay", 2, ".i");
SQAIController.DefSQStaticMethod(engine, &AIController::Sleep, "Sleep", 2, "?i"); SQAIController.DefSQStaticMethod(engine, &AIController::Sleep, "Sleep", 2, ".i");
SQAIController.DefSQStaticMethod(engine, &AIController::GetSetting, "GetSetting", 2, "?s"); SQAIController.DefSQStaticMethod(engine, &AIController::GetSetting, "GetSetting", 2, ".s");
SQAIController.DefSQStaticMethod(engine, &AIController::Print, "Print", 3, "?bs"); SQAIController.DefSQStaticMethod(engine, &AIController::GetVersion, "GetVersion", 1, ".");
SQAIController.DefSQStaticMethod(engine, &AIController::Print, "Print", 3, ".bs");
SQAIController.PostRegister(engine); SQAIController.PostRegister(engine);
} }

View File

@@ -6,9 +6,10 @@
#include "ai_cargo.hpp" #include "ai_cargo.hpp"
#include "../../company_func.h" #include "../../company_func.h"
#include "../../strings_func.h" #include "../../strings_func.h"
#include "../../aircraft.h"
#include "../../vehicle_func.h" #include "../../vehicle_func.h"
#include "../../settings_type.h" #include "../../settings_type.h"
#include "../../rail.h"
#include "../../engine_base.h"
#include "../../articulated_vehicles.h" #include "../../articulated_vehicles.h"
#include "table/strings.h" #include "table/strings.h"
@@ -77,11 +78,8 @@
} break; } break;
case VEH_SHIP: case VEH_SHIP:
return e->u.ship.capacity;
break;
case VEH_AIRCRAFT: case VEH_AIRCRAFT:
return AircraftDefaultCargoCapacity(e->GetDefaultCargoType(), &e->u.air); return e->GetDisplayDefaultCapacity();
break; break;
default: NOT_REACHED(); default: NOT_REACHED();

View File

@@ -3,9 +3,11 @@
/** @file ai_event_types.cpp Implementation of all EventTypes. */ /** @file ai_event_types.cpp Implementation of all EventTypes. */
#include "ai_event_types.hpp" #include "ai_event_types.hpp"
#include "../../command_type.h"
#include "../../strings_func.h" #include "../../strings_func.h"
#include "../../settings_type.h" #include "../../settings_type.h"
#include "../../aircraft.h" #include "../../rail.h"
#include "../../engine_base.h"
#include "../../articulated_vehicles.h" #include "../../articulated_vehicles.h"
#include "table/strings.h" #include "table/strings.h"
@@ -41,11 +43,8 @@ int32 AIEventEnginePreview::GetCapacity()
} break; } break;
case VEH_SHIP: case VEH_SHIP:
return e->u.ship.capacity;
break;
case VEH_AIRCRAFT: case VEH_AIRCRAFT:
return AircraftDefaultCargoCapacity(e->GetDefaultCargoType(), &e->u.air); return e->GetDisplayDefaultCapacity();
break; break;
default: NOT_REACHED(); default: NOT_REACHED();

View File

@@ -86,7 +86,9 @@ public:
static TileIndex GetLocation(IndustryID industry_id); static TileIndex GetLocation(IndustryID industry_id);
/** /**
* Get the number of stations around an industry. * Get the number of stations around an industry. All stations that can
* service the industry are counted, your own stations but also your
* opponents stations.
* @param industry_id The index of the industry. * @param industry_id The index of the industry.
* @pre IsValidIndustry(industry_id). * @pre IsValidIndustry(industry_id).
* @return The number of stations around an industry. * @return The number of stations around an industry.

View File

@@ -111,3 +111,24 @@
uint32 seed = ::InteractiveRandom(); uint32 seed = ::InteractiveRandom();
return AIObject::DoCommand(0, industry_type, seed, CMD_BUILD_INDUSTRY); return AIObject::DoCommand(0, industry_type, seed, CMD_BUILD_INDUSTRY);
} }
/* static */ bool AIIndustryType::IsBuiltOnWater(IndustryType industry_type)
{
if (!IsValidIndustryType(industry_type)) return false;
return (::GetIndustrySpec(industry_type)->behaviour & INDUSTRYBEH_BUILT_ONWATER) != 0;
}
/* static */ bool AIIndustryType::HasHeliport(IndustryType industry_type)
{
if (!IsValidIndustryType(industry_type)) return false;
return (::GetIndustrySpec(industry_type)->behaviour & INDUSTRYBEH_AI_AIRSHIP_ROUTES) != 0;
}
/* static */ bool AIIndustryType::HasDock(IndustryType industry_type)
{
if (!IsValidIndustryType(industry_type)) return false;
return (::GetIndustrySpec(industry_type)->behaviour & INDUSTRYBEH_AI_AIRSHIP_ROUTES) != 0;
}

View File

@@ -113,6 +113,30 @@ public:
* @note If true is returned the money is paid, whether a new industry was build or not. * @note If true is returned the money is paid, whether a new industry was build or not.
*/ */
static bool ProspectIndustry(IndustryType industry_type); static bool ProspectIndustry(IndustryType industry_type);
/**
* Is this type of industry built on water.
* @param industry_type The type of the industry.
* @pre IsValidIndustryType(industry_type).
* @return True when this type is built on water.
*/
static bool IsBuiltOnWater(IndustryType industry_type);
/**
* Does this type of industry have a heliport?
* @param industry_type The type of the industry.
* @pre IsValidIndustryType(industry_type).
* @return True when this type has a heliport.
*/
static bool HasHeliport(IndustryType industry_type);
/**
* Does this type of industry have a dock?
* @param industry_type The type of the industry.
* @pre IsValidIndustryType(industry_type).
* @return True when this type has a dock.
*/
static bool HasDock(IndustryType industry_type);
}; };
#endif /* AI_INDUSTRYTYPE_HPP */ #endif /* AI_INDUSTRYTYPE_HPP */

View File

@@ -28,6 +28,9 @@ void SQAIIndustryType_Register(Squirrel *engine) {
SQAIIndustryType.DefSQStaticMethod(engine, &AIIndustryType::CanProspectIndustry, "CanProspectIndustry", 2, ".i"); SQAIIndustryType.DefSQStaticMethod(engine, &AIIndustryType::CanProspectIndustry, "CanProspectIndustry", 2, ".i");
SQAIIndustryType.DefSQStaticMethod(engine, &AIIndustryType::BuildIndustry, "BuildIndustry", 3, ".ii"); SQAIIndustryType.DefSQStaticMethod(engine, &AIIndustryType::BuildIndustry, "BuildIndustry", 3, ".ii");
SQAIIndustryType.DefSQStaticMethod(engine, &AIIndustryType::ProspectIndustry, "ProspectIndustry", 2, ".i"); SQAIIndustryType.DefSQStaticMethod(engine, &AIIndustryType::ProspectIndustry, "ProspectIndustry", 2, ".i");
SQAIIndustryType.DefSQStaticMethod(engine, &AIIndustryType::IsBuiltOnWater, "IsBuiltOnWater", 2, ".i");
SQAIIndustryType.DefSQStaticMethod(engine, &AIIndustryType::HasHeliport, "HasHeliport", 2, ".i");
SQAIIndustryType.DefSQStaticMethod(engine, &AIIndustryType::HasDock, "HasDock", 2, ".i");
SQAIIndustryType.PostRegister(engine); SQAIIndustryType.PostRegister(engine);
} }

View File

@@ -32,7 +32,7 @@
log->lines = CallocT<char *>(80); log->lines = CallocT<char *>(80);
log->type = CallocT<AILog::AILogType>(80); log->type = CallocT<AILog::AILogType>(80);
log->count = 80; log->count = 80;
log->pos = log->count; log->pos = log->count - 1;
log->used = 0; log->used = 0;
} }
LogData *log = (LogData *)AIObject::GetLogPointer(); LogData *log = (LogData *)AIObject::GetLogPointer();

View File

@@ -17,6 +17,9 @@ public:
TILE_INVALID = INVALID_TILE, //!< Invalid TileIndex. TILE_INVALID = INVALID_TILE, //!< Invalid TileIndex.
}; };
#endif /* DEFINE_SCRIPT_FILES */ #endif /* DEFINE_SCRIPT_FILES */
#ifdef DOXYGEN_SKIP
const static TileIndex TILE_INVALID; //!< Invalid TileIndex.
#endif /* DOXYGEN_SKIP */
static const char *GetClassName() { return "AIMap"; } static const char *GetClassName() { return "AIMap"; }

View File

@@ -23,7 +23,10 @@ static OrderType GetOrderTypeByTile(TileIndex t)
switch (::GetTileType(t)) { switch (::GetTileType(t)) {
default: break; default: break;
case MP_STATION: return OT_GOTO_STATION; break; case MP_STATION:
if (IsHangar(t)) return OT_GOTO_DEPOT;
return OT_GOTO_STATION;
break;
case MP_WATER: if (::IsShipDepot(t)) return OT_GOTO_DEPOT; break; case MP_WATER: if (::IsShipDepot(t)) return OT_GOTO_DEPOT; break;
case MP_ROAD: if (::GetRoadTileType(t) == ROAD_TILE_DEPOT) return OT_GOTO_DEPOT; break; case MP_ROAD: if (::GetRoadTileType(t) == ROAD_TILE_DEPOT) return OT_GOTO_DEPOT; break;
case MP_RAILWAY: case MP_RAILWAY:
@@ -43,6 +46,47 @@ static OrderType GetOrderTypeByTile(TileIndex t)
return AIVehicle::IsValidVehicle(vehicle_id) && order_position >= 0 && (order_position < ::GetVehicle(vehicle_id)->GetNumOrders() || order_position == ORDER_CURRENT); return AIVehicle::IsValidVehicle(vehicle_id) && order_position >= 0 && (order_position < ::GetVehicle(vehicle_id)->GetNumOrders() || order_position == ORDER_CURRENT);
} }
/**
* Get the current order the vehicle is executing. If the current order is in
* the order list, return the order from the orderlist. If the current order
* was a manual order, return the current order.
*/
static const Order *ResolveOrder(VehicleID vehicle_id, AIOrder::OrderPosition order_position)
{
const Vehicle *v = ::GetVehicle(vehicle_id);
if (order_position == AIOrder::ORDER_CURRENT) {
const Order *order = &v->current_order;
if (order->GetType() == OT_GOTO_DEPOT && !(order->GetDepotOrderType() & ODTFB_PART_OF_ORDERS)) return order;
order_position = AIOrder::ResolveOrderPosition(vehicle_id, order_position);
if (order_position == AIOrder::ORDER_INVALID) return NULL;
}
return ::GetVehicleOrder(v, order_position);
}
/* static */ bool AIOrder::IsGotoStationOrder(VehicleID vehicle_id, OrderPosition order_position)
{
if (!IsValidVehicleOrder(vehicle_id, order_position)) return false;
const Order *order = ::ResolveOrder(vehicle_id, order_position);
return order != NULL && order->GetType() == OT_GOTO_STATION;
}
/* static */ bool AIOrder::IsGotoDepotOrder(VehicleID vehicle_id, OrderPosition order_position)
{
if (!IsValidVehicleOrder(vehicle_id, order_position)) return false;
const Order *order = ::ResolveOrder(vehicle_id, order_position);
return order != NULL && order->GetType() == OT_GOTO_DEPOT;
}
/* static */ bool AIOrder::IsGotoWaypointOrder(VehicleID vehicle_id, OrderPosition order_position)
{
if (!IsValidVehicleOrder(vehicle_id, order_position)) return false;
const Order *order = ::ResolveOrder(vehicle_id, order_position);
return order != NULL && order->GetType() == OT_GOTO_WAYPOINT;
}
/* static */ bool AIOrder::IsConditionalOrder(VehicleID vehicle_id, OrderPosition order_position) /* static */ bool AIOrder::IsConditionalOrder(VehicleID vehicle_id, OrderPosition order_position)
{ {
if (order_position == ORDER_CURRENT) return false; if (order_position == ORDER_CURRENT) return false;
@@ -52,6 +96,16 @@ static OrderType GetOrderTypeByTile(TileIndex t)
return order->GetType() == OT_CONDITIONAL; return order->GetType() == OT_CONDITIONAL;
} }
/* static */ bool AIOrder::IsCurrentOrderPartOfOrderList(VehicleID vehicle_id)
{
if (AIVehicle::IsValidVehicle(vehicle_id)) return false;
if (GetOrderCount(vehicle_id) == 0) return false;
const Order *order = &::GetVehicle(vehicle_id)->current_order;
if (order->GetType() != OT_GOTO_DEPOT) return true;
return (order->GetDepotOrderType() & ODTFB_PART_OF_ORDERS) != 0;
}
/* static */ AIOrder::OrderPosition AIOrder::ResolveOrderPosition(VehicleID vehicle_id, OrderPosition order_position) /* static */ AIOrder::OrderPosition AIOrder::ResolveOrderPosition(VehicleID vehicle_id, OrderPosition order_position)
{ {
if (!AIVehicle::IsValidVehicle(vehicle_id)) return ORDER_INVALID; if (!AIVehicle::IsValidVehicle(vehicle_id)) return ORDER_INVALID;
@@ -74,7 +128,10 @@ static OrderType GetOrderTypeByTile(TileIndex t)
(((order_flags & AIOF_NO_UNLOAD) == 0) || ((order_flags & AIOF_NO_LOAD) == 0)) && (((order_flags & AIOF_NO_UNLOAD) == 0) || ((order_flags & AIOF_NO_LOAD) == 0)) &&
(((order_flags & AIOF_FULL_LOAD_ANY) == 0) || ((order_flags & AIOF_NO_LOAD) == 0)); (((order_flags & AIOF_FULL_LOAD_ANY) == 0) || ((order_flags & AIOF_NO_LOAD) == 0));
case OT_GOTO_DEPOT: return (order_flags & ~(AIOF_NON_STOP_FLAGS | AIOF_SERVICE_IF_NEEDED)) == 0; case OT_GOTO_DEPOT:
return ((order_flags & ~(AIOF_NON_STOP_FLAGS | AIOF_DEPOT_FLAGS)) == 0) &&
(((order_flags & AIOF_SERVICE_IF_NEEDED) == 0) || ((order_flags & AIOF_STOP_IN_DEPOT) == 0));
case OT_GOTO_WAYPOINT: return (order_flags & ~(AIOF_NON_STOP_FLAGS)) == 0; case OT_GOTO_WAYPOINT: return (order_flags & ~(AIOF_NON_STOP_FLAGS)) == 0;
default: return false; default: return false;
} }
@@ -108,21 +165,41 @@ static OrderType GetOrderTypeByTile(TileIndex t)
{ {
if (!IsValidVehicleOrder(vehicle_id, order_position)) return INVALID_TILE; if (!IsValidVehicleOrder(vehicle_id, order_position)) return INVALID_TILE;
const Order *order; const Order *order = ::ResolveOrder(vehicle_id, order_position);
if (order == NULL || order->GetType() == OT_CONDITIONAL) return INVALID_TILE;
const Vehicle *v = ::GetVehicle(vehicle_id); const Vehicle *v = ::GetVehicle(vehicle_id);
if (order_position == ORDER_CURRENT) {
order = &v->current_order;
} else {
order = ::GetVehicleOrder(GetVehicle(vehicle_id), order_position);
if (order->GetType() == OT_CONDITIONAL) return INVALID_TILE;
}
switch (order->GetType()) { switch (order->GetType()) {
case OT_GOTO_DEPOT: case OT_GOTO_DEPOT: {
if (v->type != VEH_AIRCRAFT) return ::GetDepot(order->GetDestination())->xy; if (v->type != VEH_AIRCRAFT) return ::GetDepot(order->GetDestination())->xy;
/* FALL THROUGH: aircraft's hangars are referenced by StationID, not DepotID */ /* Aircraft's hangars are referenced by StationID, not DepotID */
const Station *st = ::GetStation(order->GetDestination());
const AirportFTAClass *airport = st->Airport();
if (airport == NULL || airport->nof_depots == 0) return INVALID_TILE;
return st->airport_tile + ::ToTileIndexDiff(st->Airport()->airport_depots[0]);
}
case OT_GOTO_STATION: return ::GetStation(order->GetDestination())->xy; case OT_GOTO_STATION: {
const Station *st = ::GetStation(order->GetDestination());
if (st->train_tile != INVALID_TILE) {
for (uint i = 0; i < st->trainst_w; i++) {
TileIndex t = st->train_tile + TileDiffXY(i, 0);
if (st->TileBelongsToRailStation(t)) return t;
}
} else if (st->dock_tile != INVALID_TILE) {
return st->dock_tile;
} else if (st->bus_stops != NULL) {
return st->bus_stops->xy;
} else if (st->truck_stops != NULL) {
return st->truck_stops->xy;
} else if (st->airport_tile != INVALID_TILE) {
const AirportFTAClass *fta = st->Airport();
BEGIN_TILE_LOOP(tile, fta->size_x, fta->size_y, st->airport_tile) {
if (!::IsHangar(tile)) return tile;
} END_TILE_LOOP(tile, fta->size_x, fta->size_y, st->airport_tile)
}
return INVALID_TILE;
}
case OT_GOTO_WAYPOINT: return ::GetWaypoint(order->GetDestination())->xy; case OT_GOTO_WAYPOINT: return ::GetWaypoint(order->GetDestination())->xy;
default: return INVALID_TILE; default: return INVALID_TILE;
} }
@@ -132,19 +209,15 @@ static OrderType GetOrderTypeByTile(TileIndex t)
{ {
if (!IsValidVehicleOrder(vehicle_id, order_position)) return AIOF_INVALID; if (!IsValidVehicleOrder(vehicle_id, order_position)) return AIOF_INVALID;
const Order *order; const Order *order = ::ResolveOrder(vehicle_id, order_position);
if (order_position == ORDER_CURRENT) { if (order == NULL || order->GetType() == OT_CONDITIONAL) return AIOF_INVALID;
order = &::GetVehicle(vehicle_id)->current_order;
} else {
order = ::GetVehicleOrder(GetVehicle(vehicle_id), order_position);
if (order->GetType() == OT_CONDITIONAL) return AIOF_INVALID;
}
AIOrderFlags order_flags = AIOF_NONE; AIOrderFlags order_flags = AIOF_NONE;
order_flags |= (AIOrderFlags)order->GetNonStopType(); order_flags |= (AIOrderFlags)order->GetNonStopType();
switch (order->GetType()) { switch (order->GetType()) {
case OT_GOTO_DEPOT: case OT_GOTO_DEPOT:
if (order->GetDepotOrderType() & ODTFB_SERVICE) order_flags |= AIOF_SERVICE_IF_NEEDED; if (order->GetDepotOrderType() & ODTFB_SERVICE) order_flags |= AIOF_SERVICE_IF_NEEDED;
if (order->GetDepotActionType() & ODATFB_HALT) order_flags |= AIOF_STOP_IN_DEPOT;
break; break;
case OT_GOTO_STATION: case OT_GOTO_STATION:
@@ -260,9 +333,21 @@ static OrderType GetOrderTypeByTile(TileIndex t)
Order order; Order order;
switch (::GetOrderTypeByTile(destination)) { switch (::GetOrderTypeByTile(destination)) {
case OT_GOTO_DEPOT: case OT_GOTO_DEPOT: {
order.MakeGoToDepot(::GetDepotByTile(destination)->index, (OrderDepotTypeFlags)(ODTFB_PART_OF_ORDERS | ((order_flags & AIOF_SERVICE_IF_NEEDED) ? ODTFB_SERVICE : 0))); OrderDepotTypeFlags odtf = (OrderDepotTypeFlags)(ODTFB_PART_OF_ORDERS | ((order_flags & AIOF_SERVICE_IF_NEEDED) ? ODTFB_SERVICE : 0));
OrderDepotActionFlags odaf = (OrderDepotActionFlags)(ODATF_SERVICE_ONLY | ((order_flags & AIOF_STOP_IN_DEPOT) ? ODATFB_HALT : 0));
OrderNonStopFlags onsf = (OrderNonStopFlags)((order_flags & AIOF_NON_STOP_INTERMEDIATE) ? ONSF_NO_STOP_AT_INTERMEDIATE_STATIONS : ONSF_STOP_EVERYWHERE);
/* Check explicitly if the order is to a station (for aircraft) or
* to a depot (other vehicle types). */
if (::GetVehicle(vehicle_id)->type == VEH_AIRCRAFT) {
if (!::IsTileType(destination, MP_STATION)) return false;
order.MakeGoToDepot(::GetStationIndex(destination), odtf, onsf, odaf);
} else {
if (::IsTileType(destination, MP_STATION)) return false;
order.MakeGoToDepot(::GetDepotByTile(destination)->index, odtf, onsf, odaf);
}
break; break;
}
case OT_GOTO_STATION: case OT_GOTO_STATION:
order.MakeGoToStation(::GetStationIndex(destination)); order.MakeGoToStation(::GetStationIndex(destination));
@@ -356,8 +441,11 @@ static void _DoCommandReturnSetOrderFlags(class AIInstance *instance)
switch (order->GetType()) { switch (order->GetType()) {
case OT_GOTO_DEPOT: case OT_GOTO_DEPOT:
if ((current & AIOF_SERVICE_IF_NEEDED) != (order_flags & AIOF_SERVICE_IF_NEEDED)) { if ((current & AIOF_DEPOT_FLAGS) != (order_flags & AIOF_DEPOT_FLAGS)) {
return AIObject::DoCommand(0, vehicle_id | (order_position << 16), MOF_DEPOT_ACTION, CMD_MODIFY_ORDER, NULL, &_DoCommandReturnSetOrderFlags); uint data = DA_ALWAYS_GO;
if (order_flags & AIOF_SERVICE_IF_NEEDED) data = DA_SERVICE;
if (order_flags & AIOF_STOP_IN_DEPOT) data = DA_STOP;
return AIObject::DoCommand(0, vehicle_id | (order_position << 16), (data << 4) | MOF_DEPOT_ACTION, CMD_MODIFY_ORDER, NULL, &_DoCommandReturnSetOrderFlags);
} }
break; break;

View File

@@ -57,6 +57,8 @@ public:
/** Service the vehicle when needed, otherwise skip this order; only for depots. */ /** Service the vehicle when needed, otherwise skip this order; only for depots. */
AIOF_SERVICE_IF_NEEDED = 1 << 2, AIOF_SERVICE_IF_NEEDED = 1 << 2,
/** Stop in the depot instead of only go there for servicing; only for depots. */
AIOF_STOP_IN_DEPOT = 1 << 3,
/** All flags related to non-stop settings. */ /** All flags related to non-stop settings. */
AIOF_NON_STOP_FLAGS = AIOF_NON_STOP_INTERMEDIATE | AIOF_NON_STOP_DESTINATION, AIOF_NON_STOP_FLAGS = AIOF_NON_STOP_INTERMEDIATE | AIOF_NON_STOP_DESTINATION,
@@ -64,6 +66,8 @@ public:
AIOF_UNLOAD_FLAGS = AIOF_TRANSFER | AIOF_UNLOAD | AIOF_NO_UNLOAD, AIOF_UNLOAD_FLAGS = AIOF_TRANSFER | AIOF_UNLOAD | AIOF_NO_UNLOAD,
/** All flags related to loading. */ /** All flags related to loading. */
AIOF_LOAD_FLAGS = AIOF_FULL_LOAD | AIOF_FULL_LOAD_ANY | AIOF_NO_LOAD, AIOF_LOAD_FLAGS = AIOF_FULL_LOAD | AIOF_FULL_LOAD_ANY | AIOF_NO_LOAD,
/** All flags related to depots. */
AIOF_DEPOT_FLAGS = AIOF_SERVICE_IF_NEEDED | AIOF_STOP_IN_DEPOT,
/** For marking invalid order flags */ /** For marking invalid order flags */
AIOF_INVALID = 0xFFFF, AIOF_INVALID = 0xFFFF,
@@ -114,6 +118,33 @@ public:
*/ */
static bool IsValidVehicleOrder(VehicleID vehicle_id, OrderPosition order_position); static bool IsValidVehicleOrder(VehicleID vehicle_id, OrderPosition order_position);
/**
* Checks whether the given order is a goto-station order.
* @param vehicle_id The vehicle to check.
* @param order_position The order index to check.
* @pre IsValidVehicleOrder(vehicle_id, order_position).
* @return True if and only if the order is a goto-station order.
*/
static bool IsGotoStationOrder(VehicleID vehicle_id, OrderPosition order_position);
/**
* Checks whether the given order is a goto-depot order.
* @param vehicle_id The vehicle to check.
* @param order_position The order index to check.
* @pre IsValidVehicleOrder(vehicle_id, order_position).
* @return True if and only if the order is a goto-depot order.
*/
static bool IsGotoDepotOrder(VehicleID vehicle_id, OrderPosition order_position);
/**
* Checks whether the given order is a goto-waypoint order.
* @param vehicle_id The vehicle to check.
* @param order_position The order index to check.
* @pre IsValidVehicleOrder(vehicle_id, order_position).
* @return True if and only if the order is a goto-waypoint order.
*/
static bool IsGotoWaypointOrder(VehicleID vehicle_id, OrderPosition order_position);
/** /**
* Checks whether the given order is a conditional order. * Checks whether the given order is a conditional order.
* @param vehicle_id The vehicle to check. * @param vehicle_id The vehicle to check.
@@ -123,6 +154,17 @@ public:
*/ */
static bool IsConditionalOrder(VehicleID vehicle_id, OrderPosition order_position); static bool IsConditionalOrder(VehicleID vehicle_id, OrderPosition order_position);
/**
* Checks whether the current order is part of the orderlist.
* @param vehicle_id The vehicle to check.
* @pre AIVehicle::IsValidVehicle(vehicle_id).
* @return True if and only if the current order is part of the order list.
* @note If the order is a non-'non-stop' order, and the vehicle is currently
* (un)loading at a station that is not the final destination, this function
* will still return true.
*/
static bool IsCurrentOrderPartOfOrderList(VehicleID vehicle_id);
/** /**
* Resolves the given order index to the correct index for the given vehicle. * Resolves the given order index to the correct index for the given vehicle.
* If the order index was ORDER_CURRENT it will be resolved to the index of * If the order index was ORDER_CURRENT it will be resolved to the index of

View File

@@ -42,9 +42,11 @@ void SQAIOrder_Register(Squirrel *engine) {
SQAIOrder.DefSQConst(engine, AIOrder::AIOF_FULL_LOAD_ANY, "AIOF_FULL_LOAD_ANY"); SQAIOrder.DefSQConst(engine, AIOrder::AIOF_FULL_LOAD_ANY, "AIOF_FULL_LOAD_ANY");
SQAIOrder.DefSQConst(engine, AIOrder::AIOF_NO_LOAD, "AIOF_NO_LOAD"); SQAIOrder.DefSQConst(engine, AIOrder::AIOF_NO_LOAD, "AIOF_NO_LOAD");
SQAIOrder.DefSQConst(engine, AIOrder::AIOF_SERVICE_IF_NEEDED, "AIOF_SERVICE_IF_NEEDED"); SQAIOrder.DefSQConst(engine, AIOrder::AIOF_SERVICE_IF_NEEDED, "AIOF_SERVICE_IF_NEEDED");
SQAIOrder.DefSQConst(engine, AIOrder::AIOF_STOP_IN_DEPOT, "AIOF_STOP_IN_DEPOT");
SQAIOrder.DefSQConst(engine, AIOrder::AIOF_NON_STOP_FLAGS, "AIOF_NON_STOP_FLAGS"); SQAIOrder.DefSQConst(engine, AIOrder::AIOF_NON_STOP_FLAGS, "AIOF_NON_STOP_FLAGS");
SQAIOrder.DefSQConst(engine, AIOrder::AIOF_UNLOAD_FLAGS, "AIOF_UNLOAD_FLAGS"); SQAIOrder.DefSQConst(engine, AIOrder::AIOF_UNLOAD_FLAGS, "AIOF_UNLOAD_FLAGS");
SQAIOrder.DefSQConst(engine, AIOrder::AIOF_LOAD_FLAGS, "AIOF_LOAD_FLAGS"); SQAIOrder.DefSQConst(engine, AIOrder::AIOF_LOAD_FLAGS, "AIOF_LOAD_FLAGS");
SQAIOrder.DefSQConst(engine, AIOrder::AIOF_DEPOT_FLAGS, "AIOF_DEPOT_FLAGS");
SQAIOrder.DefSQConst(engine, AIOrder::AIOF_INVALID, "AIOF_INVALID"); SQAIOrder.DefSQConst(engine, AIOrder::AIOF_INVALID, "AIOF_INVALID");
SQAIOrder.DefSQConst(engine, AIOrder::OC_LOAD_PERCENTAGE, "OC_LOAD_PERCENTAGE"); SQAIOrder.DefSQConst(engine, AIOrder::OC_LOAD_PERCENTAGE, "OC_LOAD_PERCENTAGE");
SQAIOrder.DefSQConst(engine, AIOrder::OC_RELIABILITY, "OC_RELIABILITY"); SQAIOrder.DefSQConst(engine, AIOrder::OC_RELIABILITY, "OC_RELIABILITY");
@@ -71,34 +73,38 @@ void SQAIOrder_Register(Squirrel *engine) {
AIError::RegisterErrorMapString(AIOrder::ERR_ORDER_TOO_MANY, "ERR_ORDER_TOO_MANY"); AIError::RegisterErrorMapString(AIOrder::ERR_ORDER_TOO_MANY, "ERR_ORDER_TOO_MANY");
AIError::RegisterErrorMapString(AIOrder::ERR_ORDER_TOO_FAR_AWAY_FROM_PREVIOUS_DESTINATION, "ERR_ORDER_TOO_FAR_AWAY_FROM_PREVIOUS_DESTINATION"); AIError::RegisterErrorMapString(AIOrder::ERR_ORDER_TOO_FAR_AWAY_FROM_PREVIOUS_DESTINATION, "ERR_ORDER_TOO_FAR_AWAY_FROM_PREVIOUS_DESTINATION");
SQAIOrder.DefSQStaticMethod(engine, &AIOrder::IsValidVehicleOrder, "IsValidVehicleOrder", 3, ".ii"); SQAIOrder.DefSQStaticMethod(engine, &AIOrder::IsValidVehicleOrder, "IsValidVehicleOrder", 3, ".ii");
SQAIOrder.DefSQStaticMethod(engine, &AIOrder::IsConditionalOrder, "IsConditionalOrder", 3, ".ii"); SQAIOrder.DefSQStaticMethod(engine, &AIOrder::IsGotoStationOrder, "IsGotoStationOrder", 3, ".ii");
SQAIOrder.DefSQStaticMethod(engine, &AIOrder::ResolveOrderPosition, "ResolveOrderPosition", 3, ".ii"); SQAIOrder.DefSQStaticMethod(engine, &AIOrder::IsGotoDepotOrder, "IsGotoDepotOrder", 3, ".ii");
SQAIOrder.DefSQStaticMethod(engine, &AIOrder::AreOrderFlagsValid, "AreOrderFlagsValid", 3, ".ii"); SQAIOrder.DefSQStaticMethod(engine, &AIOrder::IsGotoWaypointOrder, "IsGotoWaypointOrder", 3, ".ii");
SQAIOrder.DefSQStaticMethod(engine, &AIOrder::IsValidConditionalOrder, "IsValidConditionalOrder", 3, ".ii"); SQAIOrder.DefSQStaticMethod(engine, &AIOrder::IsConditionalOrder, "IsConditionalOrder", 3, ".ii");
SQAIOrder.DefSQStaticMethod(engine, &AIOrder::GetOrderCount, "GetOrderCount", 2, ".i"); SQAIOrder.DefSQStaticMethod(engine, &AIOrder::IsCurrentOrderPartOfOrderList, "IsCurrentOrderPartOfOrderList", 2, ".i");
SQAIOrder.DefSQStaticMethod(engine, &AIOrder::GetOrderDestination, "GetOrderDestination", 3, ".ii"); SQAIOrder.DefSQStaticMethod(engine, &AIOrder::ResolveOrderPosition, "ResolveOrderPosition", 3, ".ii");
SQAIOrder.DefSQStaticMethod(engine, &AIOrder::GetOrderFlags, "GetOrderFlags", 3, ".ii"); SQAIOrder.DefSQStaticMethod(engine, &AIOrder::AreOrderFlagsValid, "AreOrderFlagsValid", 3, ".ii");
SQAIOrder.DefSQStaticMethod(engine, &AIOrder::GetOrderJumpTo, "GetOrderJumpTo", 3, ".ii"); SQAIOrder.DefSQStaticMethod(engine, &AIOrder::IsValidConditionalOrder, "IsValidConditionalOrder", 3, ".ii");
SQAIOrder.DefSQStaticMethod(engine, &AIOrder::GetOrderCondition, "GetOrderCondition", 3, ".ii"); SQAIOrder.DefSQStaticMethod(engine, &AIOrder::GetOrderCount, "GetOrderCount", 2, ".i");
SQAIOrder.DefSQStaticMethod(engine, &AIOrder::GetOrderCompareFunction, "GetOrderCompareFunction", 3, ".ii"); SQAIOrder.DefSQStaticMethod(engine, &AIOrder::GetOrderDestination, "GetOrderDestination", 3, ".ii");
SQAIOrder.DefSQStaticMethod(engine, &AIOrder::GetOrderCompareValue, "GetOrderCompareValue", 3, ".ii"); SQAIOrder.DefSQStaticMethod(engine, &AIOrder::GetOrderFlags, "GetOrderFlags", 3, ".ii");
SQAIOrder.DefSQStaticMethod(engine, &AIOrder::SetOrderJumpTo, "SetOrderJumpTo", 4, ".iii"); SQAIOrder.DefSQStaticMethod(engine, &AIOrder::GetOrderJumpTo, "GetOrderJumpTo", 3, ".ii");
SQAIOrder.DefSQStaticMethod(engine, &AIOrder::SetOrderCondition, "SetOrderCondition", 4, ".iii"); SQAIOrder.DefSQStaticMethod(engine, &AIOrder::GetOrderCondition, "GetOrderCondition", 3, ".ii");
SQAIOrder.DefSQStaticMethod(engine, &AIOrder::SetOrderCompareFunction, "SetOrderCompareFunction", 4, ".iii"); SQAIOrder.DefSQStaticMethod(engine, &AIOrder::GetOrderCompareFunction, "GetOrderCompareFunction", 3, ".ii");
SQAIOrder.DefSQStaticMethod(engine, &AIOrder::SetOrderCompareValue, "SetOrderCompareValue", 4, ".iii"); SQAIOrder.DefSQStaticMethod(engine, &AIOrder::GetOrderCompareValue, "GetOrderCompareValue", 3, ".ii");
SQAIOrder.DefSQStaticMethod(engine, &AIOrder::AppendOrder, "AppendOrder", 4, ".iii"); SQAIOrder.DefSQStaticMethod(engine, &AIOrder::SetOrderJumpTo, "SetOrderJumpTo", 4, ".iii");
SQAIOrder.DefSQStaticMethod(engine, &AIOrder::AppendConditionalOrder, "AppendConditionalOrder", 3, ".ii"); SQAIOrder.DefSQStaticMethod(engine, &AIOrder::SetOrderCondition, "SetOrderCondition", 4, ".iii");
SQAIOrder.DefSQStaticMethod(engine, &AIOrder::InsertOrder, "InsertOrder", 5, ".iiii"); SQAIOrder.DefSQStaticMethod(engine, &AIOrder::SetOrderCompareFunction, "SetOrderCompareFunction", 4, ".iii");
SQAIOrder.DefSQStaticMethod(engine, &AIOrder::InsertConditionalOrder, "InsertConditionalOrder", 4, ".iii"); SQAIOrder.DefSQStaticMethod(engine, &AIOrder::SetOrderCompareValue, "SetOrderCompareValue", 4, ".iii");
SQAIOrder.DefSQStaticMethod(engine, &AIOrder::RemoveOrder, "RemoveOrder", 3, ".ii"); SQAIOrder.DefSQStaticMethod(engine, &AIOrder::AppendOrder, "AppendOrder", 4, ".iii");
SQAIOrder.DefSQStaticMethod(engine, &AIOrder::SetOrderFlags, "SetOrderFlags", 4, ".iii"); SQAIOrder.DefSQStaticMethod(engine, &AIOrder::AppendConditionalOrder, "AppendConditionalOrder", 3, ".ii");
SQAIOrder.DefSQStaticMethod(engine, &AIOrder::ChangeOrder, "ChangeOrder", 4, ".iii"); SQAIOrder.DefSQStaticMethod(engine, &AIOrder::InsertOrder, "InsertOrder", 5, ".iiii");
SQAIOrder.DefSQStaticMethod(engine, &AIOrder::MoveOrder, "MoveOrder", 4, ".iii"); SQAIOrder.DefSQStaticMethod(engine, &AIOrder::InsertConditionalOrder, "InsertConditionalOrder", 4, ".iii");
SQAIOrder.DefSQStaticMethod(engine, &AIOrder::SkipToOrder, "SkipToOrder", 3, ".ii"); SQAIOrder.DefSQStaticMethod(engine, &AIOrder::RemoveOrder, "RemoveOrder", 3, ".ii");
SQAIOrder.DefSQStaticMethod(engine, &AIOrder::CopyOrders, "CopyOrders", 3, ".ii"); SQAIOrder.DefSQStaticMethod(engine, &AIOrder::SetOrderFlags, "SetOrderFlags", 4, ".iii");
SQAIOrder.DefSQStaticMethod(engine, &AIOrder::ShareOrders, "ShareOrders", 3, ".ii"); SQAIOrder.DefSQStaticMethod(engine, &AIOrder::ChangeOrder, "ChangeOrder", 4, ".iii");
SQAIOrder.DefSQStaticMethod(engine, &AIOrder::UnshareOrders, "UnshareOrders", 2, ".i"); SQAIOrder.DefSQStaticMethod(engine, &AIOrder::MoveOrder, "MoveOrder", 4, ".iii");
SQAIOrder.DefSQStaticMethod(engine, &AIOrder::SkipToOrder, "SkipToOrder", 3, ".ii");
SQAIOrder.DefSQStaticMethod(engine, &AIOrder::CopyOrders, "CopyOrders", 3, ".ii");
SQAIOrder.DefSQStaticMethod(engine, &AIOrder::ShareOrders, "ShareOrders", 3, ".ii");
SQAIOrder.DefSQStaticMethod(engine, &AIOrder::UnshareOrders, "UnshareOrders", 2, ".i");
SQAIOrder.PostRegister(engine); SQAIOrder.PostRegister(engine);
} }

View File

@@ -5,12 +5,18 @@
#include "ai_road.hpp" #include "ai_road.hpp"
#include "ai_map.hpp" #include "ai_map.hpp"
#include "ai_station.hpp" #include "ai_station.hpp"
#include "ai_cargo.hpp"
#include "../../station_map.h" #include "../../station_map.h"
#include "../../command_type.h" #include "../../command_type.h"
#include "../../settings_type.h" #include "../../settings_type.h"
#include "../../company_func.h" #include "../../company_func.h"
#include "../../script/squirrel_helper_type.hpp" #include "../../script/squirrel_helper_type.hpp"
/* static */ AIRoad::RoadVehicleType AIRoad::GetRoadVehicleTypeForCargo(CargoID cargo_type)
{
return AICargo::HasCargoClass(cargo_type, AICargo::CC_PASSENGERS) ? ROADVEHTYPE_BUS : ROADVEHTYPE_TRUCK;
}
/* static */ bool AIRoad::IsRoadTile(TileIndex tile) /* static */ bool AIRoad::IsRoadTile(TileIndex tile)
{ {
if (!::IsValidTile(tile)) return false; if (!::IsValidTile(tile)) return false;

View File

@@ -56,6 +56,14 @@ public:
ROADVEHTYPE_TRUCK, //!< Build objects useable for trucks and cargo trams ROADVEHTYPE_TRUCK, //!< Build objects useable for trucks and cargo trams
}; };
/**
* Determines whether a busstop or a truckstop is needed to transport a certain cargo.
* @param cargo_type The cargo to test.
* @pre AICargo::IsValidCargo(cargo_type).
* @return The road vehicle type needed to transport the cargo.
*/
static RoadVehicleType GetRoadVehicleTypeForCargo(CargoID cargo_type);
/** /**
* Checks whether the given tile is actually a tile with road that can be * Checks whether the given tile is actually a tile with road that can be
* used to traverse a tile. This excludes road depots and 'normal' road * used to traverse a tile. This excludes road depots and 'normal' road

View File

@@ -46,6 +46,7 @@ void SQAIRoad_Register(Squirrel *engine) {
AIError::RegisterErrorMapString(AIRoad::ERR_ROAD_CANNOT_BUILD_ON_TOWN_ROAD, "ERR_ROAD_CANNOT_BUILD_ON_TOWN_ROAD"); AIError::RegisterErrorMapString(AIRoad::ERR_ROAD_CANNOT_BUILD_ON_TOWN_ROAD, "ERR_ROAD_CANNOT_BUILD_ON_TOWN_ROAD");
AIError::RegisterErrorMapString(AIRoad::ERR_ROAD_ONE_WAY_ROADS_CANNOT_HAVE_JUNCTIONS, "ERR_ROAD_ONE_WAY_ROADS_CANNOT_HAVE_JUNCTIONS"); AIError::RegisterErrorMapString(AIRoad::ERR_ROAD_ONE_WAY_ROADS_CANNOT_HAVE_JUNCTIONS, "ERR_ROAD_ONE_WAY_ROADS_CANNOT_HAVE_JUNCTIONS");
SQAIRoad.DefSQStaticMethod(engine, &AIRoad::GetRoadVehicleTypeForCargo, "GetRoadVehicleTypeForCargo", 2, ".i");
SQAIRoad.DefSQStaticMethod(engine, &AIRoad::IsRoadTile, "IsRoadTile", 2, ".i"); SQAIRoad.DefSQStaticMethod(engine, &AIRoad::IsRoadTile, "IsRoadTile", 2, ".i");
SQAIRoad.DefSQStaticMethod(engine, &AIRoad::IsRoadDepotTile, "IsRoadDepotTile", 2, ".i"); SQAIRoad.DefSQStaticMethod(engine, &AIRoad::IsRoadDepotTile, "IsRoadDepotTile", 2, ".i");
SQAIRoad.DefSQStaticMethod(engine, &AIRoad::IsRoadStationTile, "IsRoadStationTile", 2, ".i"); SQAIRoad.DefSQStaticMethod(engine, &AIRoad::IsRoadStationTile, "IsRoadStationTile", 2, ".i");

View File

@@ -11,6 +11,7 @@
#include "../../water_map.h" #include "../../water_map.h"
#include "../../clear_map.h" #include "../../clear_map.h"
#include "../../town.h" #include "../../town.h"
#include "../../landscape.h"
/* static */ bool AITile::IsBuildable(TileIndex tile) /* static */ bool AITile::IsBuildable(TileIndex tile)
{ {
@@ -72,14 +73,14 @@
/* static */ bool AITile::IsSteepSlope(Slope slope) /* static */ bool AITile::IsSteepSlope(Slope slope)
{ {
if (slope == SLOPE_INVALID) return false; if ((slope & ~(SLOPE_ELEVATED | SLOPE_STEEP | SLOPE_HALFTILE_MASK)) != 0) return false;
return ::IsSteepSlope((::Slope)slope); return ::IsSteepSlope((::Slope)slope);
} }
/* static */ bool AITile::IsHalftileSlope(Slope slope) /* static */ bool AITile::IsHalftileSlope(Slope slope)
{ {
if (slope == SLOPE_INVALID) return false; if ((slope & ~(SLOPE_ELEVATED | SLOPE_STEEP | SLOPE_HALFTILE_MASK)) != 0) return false;
return ::IsHalftileSlope((::Slope)slope); return ::IsHalftileSlope((::Slope)slope);
} }
@@ -123,20 +124,41 @@
/* static */ AITile::Slope AITile::GetComplementSlope(Slope slope) /* static */ AITile::Slope AITile::GetComplementSlope(Slope slope)
{ {
if (slope == SLOPE_INVALID) return SLOPE_INVALID; if ((slope & ~SLOPE_ELEVATED) != 0) return SLOPE_INVALID;
if (IsSteepSlope(slope)) return SLOPE_INVALID;
if (IsHalftileSlope(slope)) return SLOPE_INVALID;
return (Slope)::ComplementSlope((::Slope)slope); return (Slope)::ComplementSlope((::Slope)slope);
} }
/* static */ int32 AITile::GetHeight(TileIndex tile) /* static */ int32 AITile::GetHeight(TileIndex tile)
{ {
if (!::IsValidTile(tile)) return false; if (!::IsValidTile(tile)) return -1;
return ::TileHeight(tile); return ::TileHeight(tile);
} }
/* static */ int32 AITile::GetMinHeight(TileIndex tile)
{
if (!::IsValidTile(tile)) return -1;
return ::GetTileZ(tile) / ::TILE_HEIGHT;
}
/* static */ int32 AITile::GetMaxHeight(TileIndex tile)
{
if (!::IsValidTile(tile)) return -1;
return ::GetTileMaxZ(tile) / ::TILE_HEIGHT;
}
/* static */ int32 AITile::GetCornerHeight(TileIndex tile, Corner corner)
{
if (!::IsValidTile(tile) || !::IsValidCorner((::Corner)corner)) return -1;
uint z;
::Slope slope = ::GetTileSlope(tile, &z);
return (z + ::GetSlopeZInCorner(slope, (::Corner)corner)) / ::TILE_HEIGHT;
}
/* static */ AICompany::CompanyID AITile::GetOwner(TileIndex tile) /* static */ AICompany::CompanyID AITile::GetOwner(TileIndex tile)
{ {
if (!::IsValidTile(tile)) return AICompany::COMPANY_INVALID; if (!::IsValidTile(tile)) return AICompany::COMPANY_INVALID;

View File

@@ -29,10 +29,28 @@ public:
/** Tile can't be lowered any lower */ /** Tile can't be lowered any lower */
ERR_TILE_TOO_LOW, // [STR_1003_ALREADY_AT_SEA_LEVEL] ERR_TILE_TOO_LOW, // [STR_1003_ALREADY_AT_SEA_LEVEL]
/** The area was already flat */
ERR_AREA_ALREADY_FLAT, // [STR_ALREADY_LEVELLED]
/** There is a tunnel underneed */
ERR_EXCAVATION_WOULD_DAMAGE, // [STR_1002_EXCAVATION_WOULD_DAMAGE]
}; };
/** /**
* Enumeration for the slope-type (from slopes.h). * Enumeration for corners of tiles.
*/
enum Corner {
CORNER_W = 0, //!< West corner
CORNER_S = 1, //!< South corner
CORNER_E = 2, //!< East corner
CORNER_N = 3, //!< North corner
CORNER_INVALID = 0xFF,
};
/**
* Enumeration for the slope-type.
* *
* This enumeration use the chars N, E, S, W corresponding the * This enumeration use the chars N, E, S, W corresponding the
* direction North, East, South and West. The top corner of a tile * direction North, East, South and West. The top corner of a tile
@@ -41,18 +59,18 @@ public:
enum Slope { enum Slope {
/* Values are important, as they represent the internal state of the game. */ /* Values are important, as they represent the internal state of the game. */
SLOPE_FLAT = 0x00, //!< A flat tile SLOPE_FLAT = 0x00, //!< A flat tile
SLOPE_W = 0x01, //!< The west corner of the tile is raised SLOPE_W = 1 << CORNER_W, //!< The west corner of the tile is raised
SLOPE_S = 0x02, //!< The south corner of the tile is raised SLOPE_S = 1 << CORNER_S, //!< The south corner of the tile is raised
SLOPE_E = 0x04, //!< The east corner of the tile is raised SLOPE_E = 1 << CORNER_E, //!< The east corner of the tile is raised
SLOPE_N = 0x08, //!< The north corner of the tile is raised SLOPE_N = 1 << CORNER_N, //!< The north corner of the tile is raised
SLOPE_STEEP = 0x10, //!< Indicates the slope is steep SLOPE_STEEP = 0x10, //!< Indicates the slope is steep (The corner opposite of the not-raised corner is raised two times)
SLOPE_NW = SLOPE_N | SLOPE_W, //!< North and west corner are raised SLOPE_NW = SLOPE_N | SLOPE_W, //!< North and west corner are raised
SLOPE_SW = SLOPE_S | SLOPE_W, //!< South and west corner are raised SLOPE_SW = SLOPE_S | SLOPE_W, //!< South and west corner are raised
SLOPE_SE = SLOPE_S | SLOPE_E, //!< South and east corner are raised SLOPE_SE = SLOPE_S | SLOPE_E, //!< South and east corner are raised
SLOPE_NE = SLOPE_N | SLOPE_E, //!< North and east corner are raised SLOPE_NE = SLOPE_N | SLOPE_E, //!< North and east corner are raised
SLOPE_EW = SLOPE_E | SLOPE_W, //!< East and west corner are raised SLOPE_EW = SLOPE_E | SLOPE_W, //!< East and west corner are raised
SLOPE_NS = SLOPE_N | SLOPE_S, //!< North and south corner are raised SLOPE_NS = SLOPE_N | SLOPE_S, //!< North and south corner are raised
SLOPE_ELEVATED = SLOPE_N | SLOPE_E | SLOPE_S | SLOPE_W, //!< All corner are raised, similar to SLOPE_FLAT SLOPE_ELEVATED = SLOPE_N | SLOPE_E | SLOPE_S | SLOPE_W, //!< Bit mask containing all 'simple' slopes. Does not appear as a slope.
SLOPE_NWS = SLOPE_N | SLOPE_W | SLOPE_S, //!< North, west and south corner are raised SLOPE_NWS = SLOPE_N | SLOPE_W | SLOPE_S, //!< North, west and south corner are raised
SLOPE_WSE = SLOPE_W | SLOPE_S | SLOPE_E, //!< West, south and east corner are raised SLOPE_WSE = SLOPE_W | SLOPE_S | SLOPE_E, //!< West, south and east corner are raised
SLOPE_SEN = SLOPE_S | SLOPE_E | SLOPE_N, //!< South, east and north corner are raised SLOPE_SEN = SLOPE_S | SLOPE_E | SLOPE_N, //!< South, east and north corner are raised
@@ -62,7 +80,7 @@ public:
SLOPE_STEEP_E = SLOPE_STEEP | SLOPE_SEN, //!< A steep slope falling to west (from east) SLOPE_STEEP_E = SLOPE_STEEP | SLOPE_SEN, //!< A steep slope falling to west (from east)
SLOPE_STEEP_N = SLOPE_STEEP | SLOPE_ENW, //!< A steep slope falling to south (from north) SLOPE_STEEP_N = SLOPE_STEEP | SLOPE_ENW, //!< A steep slope falling to south (from north)
SLOPE_INVALID = 0xFF, //!< An invalid slope SLOPE_INVALID = 0xFFFF, //!< An invalid slope
}; };
/** /**
@@ -129,6 +147,7 @@ public:
/** /**
* Check if a tile has a steep slope. * Check if a tile has a steep slope.
* Steep slopes are slopes with a height difference of 2 across one diagonal of the tile.
* @param slope The slope to check on. * @param slope The slope to check on.
* @pre slope != SLOPE_INVALID. * @pre slope != SLOPE_INVALID.
* @return True if the slope is a steep slope. * @return True if the slope is a steep slope.
@@ -137,9 +156,11 @@ public:
/** /**
* Check if a tile has a halftile slope. * Check if a tile has a halftile slope.
* Halftile slopes appear on top of halftile foundations. E.g. the slope you get when building a horizontal railtrack on the top of a SLOPE_N or SLOPE_STEEP_N.
* @param slope The slope to check on. * @param slope The slope to check on.
* @pre slope != SLOPE_INVALID. * @pre slope != SLOPE_INVALID.
* @return True if the slope is a halftile slope. * @return True if the slope is a halftile slope.
* @note Currently there is no API function that would return or accept a halftile slope.
*/ */
static bool IsHalftileSlope(Slope slope); static bool IsHalftileSlope(Slope slope);
@@ -193,9 +214,10 @@ public:
/** /**
* Get the slope of a tile. * Get the slope of a tile.
* This is the slope of the bare tile. A possible foundation on the tile does not influence this slope.
* @param tile The tile to check on. * @param tile The tile to check on.
* @pre AIMap::IsValidTile(tile). * @pre AIMap::IsValidTile(tile).
* @return 0 means flat, others indicate internal state of slope. * @return Bit mask encoding the slope. See #Slope for a description of the returned values.
*/ */
static Slope GetSlope(TileIndex tile); static Slope GetSlope(TileIndex tile);
@@ -211,13 +233,43 @@ public:
static Slope GetComplementSlope(Slope slope); static Slope GetComplementSlope(Slope slope);
/** /**
* Get the height of the tile. * Get the height of the north corner of a tile.
* The returned height is the height of the bare tile. A possible foundation on the tile does not influence this height.
* @deprecated This function is deprecated and might be removed in future versions of the API. Use GetMinHeight(), GetMaxHeight() or GetCornerHeight() instead.
* @param tile The tile to check on. * @param tile The tile to check on.
* @pre AIMap::IsValidTile(tile). * @pre AIMap::IsValidTile(tile).
* @return The height of the tile, ranging from 0 to 15. * @return The height of the north corner of the tile, ranging from 0 to 15.
*/ */
static int32 GetHeight(TileIndex tile); static int32 GetHeight(TileIndex tile);
/**
* Get the minimal height on a tile.
* The returned height is the height of the bare tile. A possible foundation on the tile does not influence this height.
* @param tile The tile to check on.
* @pre AIMap::IsValidTile(tile).
* @return The height of the lowest corner of the tile, ranging from 0 to 15.
*/
static int32 GetMinHeight(TileIndex tile);
/**
* Get the maximal height on a tile.
* The returned height is the height of the bare tile. A possible foundation on the tile does not influence this height.
* @param tile The tile to check on.
* @pre AIMap::IsValidTile(tile).
* @return The height of the highest corner of the tile, ranging from 0 to 15.
*/
static int32 GetMaxHeight(TileIndex tile);
/**
* Get the height of a certain corner of a tile.
* The returned height is the height of the bare tile. A possible foundation on the tile does not influence this height.
* @param tile The tile to check on.
* @param corner The corner to query.
* @pre AIMap::IsValidTile(tile).
* @return The height of the lowest corner of the tile, ranging from 0 to 15.
*/
static int32 GetCornerHeight(TileIndex tile, Corner corner);
/** /**
* Get the owner of the tile. * Get the owner of the tile.
* @param tile The tile to get the owner from. * @param tile The tile to get the owner from.
@@ -288,7 +340,10 @@ public:
/** /**
* Raise the given corners of the tile. The corners can be combined, * Raise the given corners of the tile. The corners can be combined,
* for example: SLOPE_N | SLOPE_W (= SLOPE_NW) * for example: SLOPE_N | SLOPE_W (= SLOPE_NW) will raise the west and the north corner.
* @note The corners will be modified in the order west (first), south, east, north (last).
* Changing one corner might cause another corner to be changed too. So modifiing
* multiple corners may result in changing some corners by multiple steps.
* @param tile The tile to raise. * @param tile The tile to raise.
* @param slope Corners to raise (SLOPE_xxx). * @param slope Corners to raise (SLOPE_xxx).
* @pre tile < AIMap::GetMapSize(). * @pre tile < AIMap::GetMapSize().
@@ -301,7 +356,10 @@ public:
/** /**
* Lower the given corners of the tile. The corners can be combined, * Lower the given corners of the tile. The corners can be combined,
* for example: SLOPE_N | SLOPE_W (= SLOPE_NW) * for example: SLOPE_N | SLOPE_W (= SLOPE_NW) will lower the west and the north corner.
* @note The corners will be modified in the order west (first), south, east, north (last).
* Changing one corner might cause another corner to be changed too. So modifiing
* multiple corners may result in changing some corners by multiple steps.
* @param tile The tile to lower. * @param tile The tile to lower.
* @param slope Corners to lower (SLOPE_xxx). * @param slope Corners to lower (SLOPE_xxx).
* @pre tile < AIMap::GetMapSize(). * @pre tile < AIMap::GetMapSize().

View File

@@ -7,6 +7,8 @@ namespace SQConvert {
/* Allow enums to be used as Squirrel parameters */ /* Allow enums to be used as Squirrel parameters */
template <> AITile::ErrorMessages GetParam(ForceType<AITile::ErrorMessages>, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQInteger tmp; sq_getinteger(vm, index, &tmp); return (AITile::ErrorMessages)tmp; } template <> AITile::ErrorMessages GetParam(ForceType<AITile::ErrorMessages>, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQInteger tmp; sq_getinteger(vm, index, &tmp); return (AITile::ErrorMessages)tmp; }
template <> int Return<AITile::ErrorMessages>(HSQUIRRELVM vm, AITile::ErrorMessages res) { sq_pushinteger(vm, (int32)res); return 1; } template <> int Return<AITile::ErrorMessages>(HSQUIRRELVM vm, AITile::ErrorMessages res) { sq_pushinteger(vm, (int32)res); return 1; }
template <> AITile::Corner GetParam(ForceType<AITile::Corner>, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQInteger tmp; sq_getinteger(vm, index, &tmp); return (AITile::Corner)tmp; }
template <> int Return<AITile::Corner>(HSQUIRRELVM vm, AITile::Corner res) { sq_pushinteger(vm, (int32)res); return 1; }
template <> AITile::Slope GetParam(ForceType<AITile::Slope>, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQInteger tmp; sq_getinteger(vm, index, &tmp); return (AITile::Slope)tmp; } template <> AITile::Slope GetParam(ForceType<AITile::Slope>, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQInteger tmp; sq_getinteger(vm, index, &tmp); return (AITile::Slope)tmp; }
template <> int Return<AITile::Slope>(HSQUIRRELVM vm, AITile::Slope res) { sq_pushinteger(vm, (int32)res); return 1; } template <> int Return<AITile::Slope>(HSQUIRRELVM vm, AITile::Slope res) { sq_pushinteger(vm, (int32)res); return 1; }
template <> AITile::TransportType GetParam(ForceType<AITile::TransportType>, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQInteger tmp; sq_getinteger(vm, index, &tmp); return (AITile::TransportType)tmp; } template <> AITile::TransportType GetParam(ForceType<AITile::TransportType>, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQInteger tmp; sq_getinteger(vm, index, &tmp); return (AITile::TransportType)tmp; }
@@ -25,42 +27,53 @@ void SQAITile_Register(Squirrel *engine) {
SQAITile.PreRegister(engine); SQAITile.PreRegister(engine);
SQAITile.AddConstructor<void (AITile::*)(), 1>(engine, "x"); SQAITile.AddConstructor<void (AITile::*)(), 1>(engine, "x");
SQAITile.DefSQConst(engine, AITile::ERR_TILE_BASE, "ERR_TILE_BASE"); SQAITile.DefSQConst(engine, AITile::ERR_TILE_BASE, "ERR_TILE_BASE");
SQAITile.DefSQConst(engine, AITile::ERR_TILE_TOO_HIGH, "ERR_TILE_TOO_HIGH"); SQAITile.DefSQConst(engine, AITile::ERR_TILE_TOO_HIGH, "ERR_TILE_TOO_HIGH");
SQAITile.DefSQConst(engine, AITile::ERR_TILE_TOO_LOW, "ERR_TILE_TOO_LOW"); SQAITile.DefSQConst(engine, AITile::ERR_TILE_TOO_LOW, "ERR_TILE_TOO_LOW");
SQAITile.DefSQConst(engine, AITile::SLOPE_FLAT, "SLOPE_FLAT"); SQAITile.DefSQConst(engine, AITile::ERR_AREA_ALREADY_FLAT, "ERR_AREA_ALREADY_FLAT");
SQAITile.DefSQConst(engine, AITile::SLOPE_W, "SLOPE_W"); SQAITile.DefSQConst(engine, AITile::ERR_EXCAVATION_WOULD_DAMAGE, "ERR_EXCAVATION_WOULD_DAMAGE");
SQAITile.DefSQConst(engine, AITile::SLOPE_S, "SLOPE_S"); SQAITile.DefSQConst(engine, AITile::CORNER_W, "CORNER_W");
SQAITile.DefSQConst(engine, AITile::SLOPE_E, "SLOPE_E"); SQAITile.DefSQConst(engine, AITile::CORNER_S, "CORNER_S");
SQAITile.DefSQConst(engine, AITile::SLOPE_N, "SLOPE_N"); SQAITile.DefSQConst(engine, AITile::CORNER_E, "CORNER_E");
SQAITile.DefSQConst(engine, AITile::SLOPE_STEEP, "SLOPE_STEEP"); SQAITile.DefSQConst(engine, AITile::CORNER_N, "CORNER_N");
SQAITile.DefSQConst(engine, AITile::SLOPE_NW, "SLOPE_NW"); SQAITile.DefSQConst(engine, AITile::CORNER_INVALID, "CORNER_INVALID");
SQAITile.DefSQConst(engine, AITile::SLOPE_SW, "SLOPE_SW"); SQAITile.DefSQConst(engine, AITile::SLOPE_FLAT, "SLOPE_FLAT");
SQAITile.DefSQConst(engine, AITile::SLOPE_SE, "SLOPE_SE"); SQAITile.DefSQConst(engine, AITile::SLOPE_W, "SLOPE_W");
SQAITile.DefSQConst(engine, AITile::SLOPE_NE, "SLOPE_NE"); SQAITile.DefSQConst(engine, AITile::SLOPE_S, "SLOPE_S");
SQAITile.DefSQConst(engine, AITile::SLOPE_EW, "SLOPE_EW"); SQAITile.DefSQConst(engine, AITile::SLOPE_E, "SLOPE_E");
SQAITile.DefSQConst(engine, AITile::SLOPE_NS, "SLOPE_NS"); SQAITile.DefSQConst(engine, AITile::SLOPE_N, "SLOPE_N");
SQAITile.DefSQConst(engine, AITile::SLOPE_ELEVATED, "SLOPE_ELEVATED"); SQAITile.DefSQConst(engine, AITile::SLOPE_STEEP, "SLOPE_STEEP");
SQAITile.DefSQConst(engine, AITile::SLOPE_NWS, "SLOPE_NWS"); SQAITile.DefSQConst(engine, AITile::SLOPE_NW, "SLOPE_NW");
SQAITile.DefSQConst(engine, AITile::SLOPE_WSE, "SLOPE_WSE"); SQAITile.DefSQConst(engine, AITile::SLOPE_SW, "SLOPE_SW");
SQAITile.DefSQConst(engine, AITile::SLOPE_SEN, "SLOPE_SEN"); SQAITile.DefSQConst(engine, AITile::SLOPE_SE, "SLOPE_SE");
SQAITile.DefSQConst(engine, AITile::SLOPE_ENW, "SLOPE_ENW"); SQAITile.DefSQConst(engine, AITile::SLOPE_NE, "SLOPE_NE");
SQAITile.DefSQConst(engine, AITile::SLOPE_STEEP_W, "SLOPE_STEEP_W"); SQAITile.DefSQConst(engine, AITile::SLOPE_EW, "SLOPE_EW");
SQAITile.DefSQConst(engine, AITile::SLOPE_STEEP_S, "SLOPE_STEEP_S"); SQAITile.DefSQConst(engine, AITile::SLOPE_NS, "SLOPE_NS");
SQAITile.DefSQConst(engine, AITile::SLOPE_STEEP_E, "SLOPE_STEEP_E"); SQAITile.DefSQConst(engine, AITile::SLOPE_ELEVATED, "SLOPE_ELEVATED");
SQAITile.DefSQConst(engine, AITile::SLOPE_STEEP_N, "SLOPE_STEEP_N"); SQAITile.DefSQConst(engine, AITile::SLOPE_NWS, "SLOPE_NWS");
SQAITile.DefSQConst(engine, AITile::SLOPE_INVALID, "SLOPE_INVALID"); SQAITile.DefSQConst(engine, AITile::SLOPE_WSE, "SLOPE_WSE");
SQAITile.DefSQConst(engine, AITile::TRANSPORT_RAIL, "TRANSPORT_RAIL"); SQAITile.DefSQConst(engine, AITile::SLOPE_SEN, "SLOPE_SEN");
SQAITile.DefSQConst(engine, AITile::TRANSPORT_ROAD, "TRANSPORT_ROAD"); SQAITile.DefSQConst(engine, AITile::SLOPE_ENW, "SLOPE_ENW");
SQAITile.DefSQConst(engine, AITile::TRANSPORT_WATER, "TRANSPORT_WATER"); SQAITile.DefSQConst(engine, AITile::SLOPE_STEEP_W, "SLOPE_STEEP_W");
SQAITile.DefSQConst(engine, AITile::TRANSPORT_AIR, "TRANSPORT_AIR"); SQAITile.DefSQConst(engine, AITile::SLOPE_STEEP_S, "SLOPE_STEEP_S");
SQAITile.DefSQConst(engine, AITile::TRANSPORT_INVALID, "TRANSPORT_INVALID"); SQAITile.DefSQConst(engine, AITile::SLOPE_STEEP_E, "SLOPE_STEEP_E");
SQAITile.DefSQConst(engine, AITile::SLOPE_STEEP_N, "SLOPE_STEEP_N");
SQAITile.DefSQConst(engine, AITile::SLOPE_INVALID, "SLOPE_INVALID");
SQAITile.DefSQConst(engine, AITile::TRANSPORT_RAIL, "TRANSPORT_RAIL");
SQAITile.DefSQConst(engine, AITile::TRANSPORT_ROAD, "TRANSPORT_ROAD");
SQAITile.DefSQConst(engine, AITile::TRANSPORT_WATER, "TRANSPORT_WATER");
SQAITile.DefSQConst(engine, AITile::TRANSPORT_AIR, "TRANSPORT_AIR");
SQAITile.DefSQConst(engine, AITile::TRANSPORT_INVALID, "TRANSPORT_INVALID");
AIError::RegisterErrorMap(STR_1003_ALREADY_AT_SEA_LEVEL, AITile::ERR_TILE_TOO_HIGH); AIError::RegisterErrorMap(STR_1003_ALREADY_AT_SEA_LEVEL, AITile::ERR_TILE_TOO_HIGH);
AIError::RegisterErrorMap(STR_1003_ALREADY_AT_SEA_LEVEL, AITile::ERR_TILE_TOO_LOW); AIError::RegisterErrorMap(STR_1003_ALREADY_AT_SEA_LEVEL, AITile::ERR_TILE_TOO_LOW);
AIError::RegisterErrorMap(STR_ALREADY_LEVELLED, AITile::ERR_AREA_ALREADY_FLAT);
AIError::RegisterErrorMap(STR_1002_EXCAVATION_WOULD_DAMAGE, AITile::ERR_EXCAVATION_WOULD_DAMAGE);
AIError::RegisterErrorMapString(AITile::ERR_TILE_TOO_HIGH, "ERR_TILE_TOO_HIGH"); AIError::RegisterErrorMapString(AITile::ERR_TILE_TOO_HIGH, "ERR_TILE_TOO_HIGH");
AIError::RegisterErrorMapString(AITile::ERR_TILE_TOO_LOW, "ERR_TILE_TOO_LOW"); AIError::RegisterErrorMapString(AITile::ERR_TILE_TOO_LOW, "ERR_TILE_TOO_LOW");
AIError::RegisterErrorMapString(AITile::ERR_AREA_ALREADY_FLAT, "ERR_AREA_ALREADY_FLAT");
AIError::RegisterErrorMapString(AITile::ERR_EXCAVATION_WOULD_DAMAGE, "ERR_EXCAVATION_WOULD_DAMAGE");
SQAITile.DefSQStaticMethod(engine, &AITile::IsBuildable, "IsBuildable", 2, ".i"); SQAITile.DefSQStaticMethod(engine, &AITile::IsBuildable, "IsBuildable", 2, ".i");
SQAITile.DefSQStaticMethod(engine, &AITile::IsBuildableRectangle, "IsBuildableRectangle", 4, ".iii"); SQAITile.DefSQStaticMethod(engine, &AITile::IsBuildableRectangle, "IsBuildableRectangle", 4, ".iii");
@@ -78,6 +91,9 @@ void SQAITile_Register(Squirrel *engine) {
SQAITile.DefSQStaticMethod(engine, &AITile::GetSlope, "GetSlope", 2, ".i"); SQAITile.DefSQStaticMethod(engine, &AITile::GetSlope, "GetSlope", 2, ".i");
SQAITile.DefSQStaticMethod(engine, &AITile::GetComplementSlope, "GetComplementSlope", 2, ".i"); SQAITile.DefSQStaticMethod(engine, &AITile::GetComplementSlope, "GetComplementSlope", 2, ".i");
SQAITile.DefSQStaticMethod(engine, &AITile::GetHeight, "GetHeight", 2, ".i"); SQAITile.DefSQStaticMethod(engine, &AITile::GetHeight, "GetHeight", 2, ".i");
SQAITile.DefSQStaticMethod(engine, &AITile::GetMinHeight, "GetMinHeight", 2, ".i");
SQAITile.DefSQStaticMethod(engine, &AITile::GetMaxHeight, "GetMaxHeight", 2, ".i");
SQAITile.DefSQStaticMethod(engine, &AITile::GetCornerHeight, "GetCornerHeight", 3, ".ii");
SQAITile.DefSQStaticMethod(engine, &AITile::GetOwner, "GetOwner", 2, ".i"); SQAITile.DefSQStaticMethod(engine, &AITile::GetOwner, "GetOwner", 2, ".i");
SQAITile.DefSQStaticMethod(engine, &AITile::HasTransportType, "HasTransportType", 3, ".ii"); SQAITile.DefSQStaticMethod(engine, &AITile::HasTransportType, "HasTransportType", 3, ".ii");
SQAITile.DefSQStaticMethod(engine, &AITile::GetCargoAcceptance, "GetCargoAcceptance", 6, ".iiiii"); SQAITile.DefSQStaticMethod(engine, &AITile::GetCargoAcceptance, "GetCargoAcceptance", 6, ".iiiii");

View File

@@ -23,14 +23,26 @@
/* If it's a tunnel alread, take the easy way out! */ /* If it's a tunnel alread, take the easy way out! */
if (IsTunnelTile(tile)) return ::GetOtherTunnelEnd(tile); if (IsTunnelTile(tile)) return ::GetOtherTunnelEnd(tile);
::DoCommand(tile, 0, 0, DC_AUTO, CMD_BUILD_TUNNEL); uint start_z;
return _build_tunnel_endtile == 0 ? INVALID_TILE : _build_tunnel_endtile; Slope start_tileh = ::GetTileSlope(tile, &start_z);
DiagDirection direction = ::GetInclinedSlopeDirection(start_tileh);
if (direction == INVALID_DIAGDIR) return INVALID_TILE;
TileIndexDiff delta = ::TileOffsByDiagDir(direction);
uint end_z;
do {
tile += delta;
if (!::IsValidTile(tile)) return INVALID_TILE;
::GetTileSlope(tile, &end_z);
} while (start_z != end_z);
return tile;
} }
static void _DoCommandReturnBuildTunnel2(class AIInstance *instance) static void _DoCommandReturnBuildTunnel2(class AIInstance *instance)
{ {
if (!AITunnel::_BuildTunnelRoad2()) { if (!AITunnel::_BuildTunnelRoad2()) {
AIObject::SetLastCommandRes(false);
AIInstance::DoCommandReturn(instance); AIInstance::DoCommandReturn(instance);
return; return;
} }
@@ -43,7 +55,6 @@ static void _DoCommandReturnBuildTunnel2(class AIInstance *instance)
static void _DoCommandReturnBuildTunnel1(class AIInstance *instance) static void _DoCommandReturnBuildTunnel1(class AIInstance *instance)
{ {
if (!AITunnel::_BuildTunnelRoad1()) { if (!AITunnel::_BuildTunnelRoad1()) {
AIObject::SetLastCommandRes(false);
AIInstance::DoCommandReturn(instance); AIInstance::DoCommandReturn(instance);
return; return;
} }
@@ -62,7 +73,7 @@ static void _DoCommandReturnBuildTunnel1(class AIInstance *instance)
uint type = 0; uint type = 0;
if (vehicle_type == AIVehicle::VT_ROAD) { if (vehicle_type == AIVehicle::VT_ROAD) {
type |= (TRANSPORT_ROAD << 9); type |= (TRANSPORT_ROAD << 9);
type |= RoadTypeToRoadTypes((::RoadType)AIObject::GetRoadType()); type |= ::RoadTypeToRoadTypes((::RoadType)AIObject::GetRoadType());
} else { } else {
type |= (TRANSPORT_RAIL << 9); type |= (TRANSPORT_RAIL << 9);
type |= AIRail::GetCurrentRailType(); type |= AIRail::GetCurrentRailType();
@@ -74,10 +85,7 @@ static void _DoCommandReturnBuildTunnel1(class AIInstance *instance)
} }
AIObject::SetCallbackVariable(0, start); AIObject::SetCallbackVariable(0, start);
if (!AIObject::DoCommand(start, type, 0, CMD_BUILD_TUNNEL, NULL, &_DoCommandReturnBuildTunnel1)) return false; return AIObject::DoCommand(start, type, 0, CMD_BUILD_TUNNEL, NULL, &_DoCommandReturnBuildTunnel1);
/* In case of test-mode, test if we can build both road pieces */
return _BuildTunnelRoad1();
} }
/* static */ bool AITunnel::_BuildTunnelRoad1() /* static */ bool AITunnel::_BuildTunnelRoad1()
@@ -89,10 +97,7 @@ static void _DoCommandReturnBuildTunnel1(class AIInstance *instance)
DiagDirection dir_1 = (DiagDirection)((::TileX(start) == ::TileX(end)) ? (::TileY(start) < ::TileY(end) ? DIAGDIR_NW : DIAGDIR_SE) : (::TileX(start) < ::TileX(end) ? DIAGDIR_NE : DIAGDIR_SW)); DiagDirection dir_1 = (DiagDirection)((::TileX(start) == ::TileX(end)) ? (::TileY(start) < ::TileY(end) ? DIAGDIR_NW : DIAGDIR_SE) : (::TileX(start) < ::TileX(end) ? DIAGDIR_NE : DIAGDIR_SW));
DiagDirection dir_2 = ::ReverseDiagDir(dir_1); DiagDirection dir_2 = ::ReverseDiagDir(dir_1);
if (!AIObject::DoCommand(start + ::TileOffsByDiagDir(dir_1), ::DiagDirToRoadBits(dir_2) | (AIObject::GetRoadType() << 4), 0, CMD_BUILD_ROAD, NULL, &_DoCommandReturnBuildTunnel2)) return false; return AIObject::DoCommand(start + ::TileOffsByDiagDir(dir_1), ::DiagDirToRoadBits(dir_2) | (AIObject::GetRoadType() << 4), 0, CMD_BUILD_ROAD, NULL, &_DoCommandReturnBuildTunnel2);
/* In case of test-mode, test the other road piece too */
return _BuildTunnelRoad2();
} }
/* static */ bool AITunnel::_BuildTunnelRoad2() /* static */ bool AITunnel::_BuildTunnelRoad2()

View File

@@ -46,11 +46,15 @@ public:
/** /**
* Get the tile that exits on the other end of a (would be) tunnel starting * Get the tile that exits on the other end of a (would be) tunnel starting
* at tile. * at tile. If there is no 'simple' inclined slope at the start tile,
* this function will return AIMap::TILE_INVALID.
* @param tile The tile that is an entrance to a tunnel or the tile where you may want to build a tunnel. * @param tile The tile that is an entrance to a tunnel or the tile where you may want to build a tunnel.
* @pre AIMap::IsValidTile(tile). * @pre AIMap::IsValidTile(tile).
* @return The TileIndex that is the other end of the (would be) tunnel, or * @return The TileIndex that is the other end of the (would be) tunnel, or
* TILE_INVALID if no other end was found (can't build tunnel). * AIMap::TILE_INVALID if no other end was found (can't build tunnel).
* @note Even if this function returns a valid tile, that is no guarantee
* that building a tunnel will succeed. Use BuildTunnel in AITestMode to
* check whether a tunnel can actually be build.
*/ */
static TileIndex GetOtherTunnelEnd(TileIndex tile); static TileIndex GetOtherTunnelEnd(TileIndex tile);

View File

@@ -1,6 +1,75 @@
/* $Id$ */ /* $Id$ */
/** @file ai_types.hpp Defines all the types of the game, like VehicleID, .... */ /** @file ai_types.hpp Defines all the types of the game, like IDs of various objects.
*
* IDs are used to identify certain objects. They are only unique within the object type, so for example a vehicle may have VehicleID 2009,
* while a station has StationID 2009 at the same time. Also IDs are assigned arbitrary, you cannot assume them to be consecutive.
* Also note, that some IDs are static and never change, while others are allocated dynamically and might be
* reused for other objects once they are released. So be careful, which IDs you store for which purpose and whether they stay valid all the time.
*
* <table>
* <tr><th>type </th><th> object </th>
* <th> acquired </th>
* <th> released </th>
* <th> reused </th></tr>
* <tr><td>#BridgeID </td><td> bridge type </td>
* <td> introduction \ref newgrf_changes "(1)" </td>
* <td> never \ref newgrf_changes "(1)" </td>
* <td> no \ref newgrf_changes "(1)" </td></tr>
* <tr><td>#CargoID </td><td> cargo type </td>
* <td> game start \ref newgrf_changes "(1)" </td>
* <td> never \ref newgrf_changes "(1)" </td>
* <td> no \ref newgrf_changes "(1)" </td></tr>
* <tr><td>#EngineID </td><td> engine type </td>
* <td> introduction, preview \ref dynamic_engines "(2)" </td>
* <td> engines retires \ref dynamic_engines "(2)" </td>
* <td> no \ref dynamic_engines "(2)" </td></tr>
* <tr><td>#GroupID </td><td> vehicle group </td>
* <td> creation </td>
* <td> deletion </td>
* <td> yes </td></tr>
* <tr><td>#IndustyID </td><td> industry </td>
* <td> construction </td>
* <td> closure </td>
* <td> yes </td></tr>
* <tr><td>#IndustyType</td><td> industry type </td>
* <td> game start \ref newgrf_changes "(1)" </td>
* <td> never \ref newgrf_changes "(1)" </td>
* <td> no </td></tr>
* <tr><td>#SignID </td><td> sign </td>
* <td> construction </td>
* <td> deletion </td>
* <td> yes </td></tr>
* <tr><td>#StationID </td><td> station </td>
* <td> construction </td>
* <td> expiration of 'grey' station sign after deletion </td>
* <td> yes </td></tr>
* <tr><td>#SubsidyID </td><td> subsidy </td>
* <td> offer announcement </td>
* <td> (offer) expiration </td>
* <td> yes </td></tr>
* <tr><td>#TileIndex </td><td> tile on map </td>
* <td> game start </td>
* <td> never </td>
* <td> no </td></tr>
* <tr><td>#TownID </td><td> town </td>
* <td> game start </td>
* <td> never </td>
* <td> no </td></tr>
* <tr><td>#VehicleID </td><td> vehicle </td>
* <td> construction, autorenew, autoreplace </td>
* <td> destruction, autorenew, autoreplace </td>
* <td> yes </td></tr>
* <tr><td>#WaypointID </td><td> waypoint </td>
* <td> construction </td>
* <td> destruction </td>
* <td> yes </td></tr>
* </table>
*
* @remarks
* \li \anchor newgrf_changes (1) in-game changes of newgrfs may reassign/invalidate IDs (will also cause other trouble though).
* \li \anchor dynamic_engines (2) engine IDs are reassigned/invalidated on changing 'allow multiple newgrf engine sets' (only allowed as long as no vehicles are built).
*/
#ifndef AI_TYPES_HPP #ifndef AI_TYPES_HPP
#define AI_TYPES_HPP #define AI_TYPES_HPP

View File

@@ -160,6 +160,13 @@
return AIObject::DoCommand(0, vehicle_id, 0, GetCmdSendToDepot(::GetVehicle(vehicle_id))); return AIObject::DoCommand(0, vehicle_id, 0, GetCmdSendToDepot(::GetVehicle(vehicle_id)));
} }
/* static */ bool AIVehicle::SendVehicleToDepotForServicing(VehicleID vehicle_id)
{
EnforcePrecondition(false, IsValidVehicle(vehicle_id));
return AIObject::DoCommand(0, vehicle_id, DEPOT_SERVICE, GetCmdSendToDepot(::GetVehicle(vehicle_id)));
}
/* static */ bool AIVehicle::IsInDepot(VehicleID vehicle_id) /* static */ bool AIVehicle::IsInDepot(VehicleID vehicle_id)
{ {
if (!IsValidVehicle(vehicle_id)) return false; if (!IsValidVehicle(vehicle_id)) return false;

View File

@@ -422,14 +422,25 @@ public:
static bool SellWagonChain(VehicleID vehicle_id, int wagon); static bool SellWagonChain(VehicleID vehicle_id, int wagon);
/** /**
* Sends the given vehicle to a depot. * Sends the given vehicle to a depot. If the vehicle has already been
* sent to a depot it continues with its normal orders instead.
* @param vehicle_id The vehicle to send to a depot. * @param vehicle_id The vehicle to send to a depot.
* @pre IsValidVehicle(vehicle_id). * @pre IsValidVehicle(vehicle_id).
* @exception AIVehicle::ERR_VEHICLE_CANNOT_SEND_TO_DEPOT * @exception AIVehicle::ERR_VEHICLE_CANNOT_SEND_TO_DEPOT
* @return True if and only if the vehicle has been sent to a depot. * @return True if the current order was changed.
*/ */
static bool SendVehicleToDepot(VehicleID vehicle_id); static bool SendVehicleToDepot(VehicleID vehicle_id);
/**
* Sends the given vehicle to a depot for servicing. If the vehicle has
* already been sent to a depot it continues with its normal orders instead.
* @param vehicle_id The vehicle to send to a depot for servicing.
* @pre IsValidVehicle(vehicle_id).
* @exception AIVehicle::ERR_VEHICLE_CANNOT_SEND_TO_DEPOT
* @return True if the current order was changed.
*/
static bool SendVehicleToDepotForServicing(VehicleID vehicle_id);
/** /**
* Starts or stops the given vehicle depending on the current state. * Starts or stops the given vehicle depending on the current state.
* @param vehicle_id The vehicle to start/stop. * @param vehicle_id The vehicle to start/stop.

View File

@@ -98,47 +98,48 @@ void SQAIVehicle_Register(Squirrel *engine) {
AIError::RegisterErrorMapString(AIVehicle::ERR_VEHICLE_IN_FLIGHT, "ERR_VEHICLE_IN_FLIGHT"); AIError::RegisterErrorMapString(AIVehicle::ERR_VEHICLE_IN_FLIGHT, "ERR_VEHICLE_IN_FLIGHT");
AIError::RegisterErrorMapString(AIVehicle::ERR_VEHCILE_NO_POWER, "ERR_VEHCILE_NO_POWER"); AIError::RegisterErrorMapString(AIVehicle::ERR_VEHCILE_NO_POWER, "ERR_VEHCILE_NO_POWER");
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::IsValidVehicle, "IsValidVehicle", 2, ".i"); SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::IsValidVehicle, "IsValidVehicle", 2, ".i");
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetNumWagons, "GetNumWagons", 2, ".i"); SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetNumWagons, "GetNumWagons", 2, ".i");
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::SetName, "SetName", 3, ".is"); SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::SetName, "SetName", 3, ".is");
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetName, "GetName", 2, ".i"); SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetName, "GetName", 2, ".i");
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetLocation, "GetLocation", 2, ".i"); SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetLocation, "GetLocation", 2, ".i");
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetEngineType, "GetEngineType", 2, ".i"); SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetEngineType, "GetEngineType", 2, ".i");
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetWagonEngineType, "GetWagonEngineType", 3, ".ii"); SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetWagonEngineType, "GetWagonEngineType", 3, ".ii");
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetUnitNumber, "GetUnitNumber", 2, ".i"); SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetUnitNumber, "GetUnitNumber", 2, ".i");
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetAge, "GetAge", 2, ".i"); SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetAge, "GetAge", 2, ".i");
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetWagonAge, "GetWagonAge", 3, ".ii"); SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetWagonAge, "GetWagonAge", 3, ".ii");
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetMaxAge, "GetMaxAge", 2, ".i"); SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetMaxAge, "GetMaxAge", 2, ".i");
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetAgeLeft, "GetAgeLeft", 2, ".i"); SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetAgeLeft, "GetAgeLeft", 2, ".i");
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetCurrentSpeed, "GetCurrentSpeed", 2, ".i"); SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetCurrentSpeed, "GetCurrentSpeed", 2, ".i");
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetState, "GetState", 2, ".i"); SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetState, "GetState", 2, ".i");
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetRunningCost, "GetRunningCost", 2, ".i"); SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetRunningCost, "GetRunningCost", 2, ".i");
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetProfitThisYear, "GetProfitThisYear", 2, ".i"); SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetProfitThisYear, "GetProfitThisYear", 2, ".i");
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetProfitLastYear, "GetProfitLastYear", 2, ".i"); SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetProfitLastYear, "GetProfitLastYear", 2, ".i");
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetCurrentValue, "GetCurrentValue", 2, ".i"); SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetCurrentValue, "GetCurrentValue", 2, ".i");
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetVehicleType, "GetVehicleType", 2, ".i"); SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetVehicleType, "GetVehicleType", 2, ".i");
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetRoadType, "GetRoadType", 2, ".i"); SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetRoadType, "GetRoadType", 2, ".i");
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::IsInDepot, "IsInDepot", 2, ".i"); SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::IsInDepot, "IsInDepot", 2, ".i");
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::IsStoppedInDepot, "IsStoppedInDepot", 2, ".i"); SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::IsStoppedInDepot, "IsStoppedInDepot", 2, ".i");
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::BuildVehicle, "BuildVehicle", 3, ".ii"); SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::BuildVehicle, "BuildVehicle", 3, ".ii");
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::CloneVehicle, "CloneVehicle", 4, ".iib"); SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::CloneVehicle, "CloneVehicle", 4, ".iib");
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::MoveWagon, "MoveWagon", 5, ".iiii"); SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::MoveWagon, "MoveWagon", 5, ".iiii");
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::MoveWagonChain, "MoveWagonChain", 5, ".iiii"); SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::MoveWagonChain, "MoveWagonChain", 5, ".iiii");
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetRefitCapacity, "GetRefitCapacity", 3, ".ii"); SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetRefitCapacity, "GetRefitCapacity", 3, ".ii");
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::RefitVehicle, "RefitVehicle", 3, ".ii"); SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::RefitVehicle, "RefitVehicle", 3, ".ii");
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::SellVehicle, "SellVehicle", 2, ".i"); SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::SellVehicle, "SellVehicle", 2, ".i");
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::SellWagon, "SellWagon", 3, ".ii"); SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::SellWagon, "SellWagon", 3, ".ii");
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::SellWagonChain, "SellWagonChain", 3, ".ii"); SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::SellWagonChain, "SellWagonChain", 3, ".ii");
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::SendVehicleToDepot, "SendVehicleToDepot", 2, ".i"); SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::SendVehicleToDepot, "SendVehicleToDepot", 2, ".i");
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::StartStopVehicle, "StartStopVehicle", 2, ".i"); SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::SendVehicleToDepotForServicing, "SendVehicleToDepotForServicing", 2, ".i");
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::SkipToVehicleOrder, "SkipToVehicleOrder", 3, ".ii"); SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::StartStopVehicle, "StartStopVehicle", 2, ".i");
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::ReverseVehicle, "ReverseVehicle", 2, ".i"); SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::SkipToVehicleOrder, "SkipToVehicleOrder", 3, ".ii");
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetCapacity, "GetCapacity", 3, ".ii"); SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::ReverseVehicle, "ReverseVehicle", 2, ".i");
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetLength, "GetLength", 2, ".i"); SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetCapacity, "GetCapacity", 3, ".ii");
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetCargoLoad, "GetCargoLoad", 3, ".ii"); SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetLength, "GetLength", 2, ".i");
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetGroupID, "GetGroupID", 2, ".i"); SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetCargoLoad, "GetCargoLoad", 3, ".ii");
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::IsArticulated, "IsArticulated", 2, ".i"); SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetGroupID, "GetGroupID", 2, ".i");
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::HasSharedOrders, "HasSharedOrders", 2, ".i"); SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::IsArticulated, "IsArticulated", 2, ".i");
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::HasSharedOrders, "HasSharedOrders", 2, ".i");
SQAIVehicle.PostRegister(engine); SQAIVehicle.PostRegister(engine);
} }

View File

@@ -16,7 +16,7 @@ public:
static const char *GetClassName() { return "AIWaypoint"; } static const char *GetClassName() { return "AIWaypoint"; }
enum SpecialWaypointIDs { enum SpecialWaypointIDs {
WAYPOINT_INVALID = -1, //!< An invalid WaypointID. WAYPOINT_INVALID = 0xFFFF, //!< An invalid WaypointID.
}; };
/** /**

View File

@@ -5,7 +5,6 @@
#include "stdafx.h" #include "stdafx.h"
#include "train.h" #include "train.h"
#include "roadveh.h" #include "roadveh.h"
#include "aircraft.h"
#include "newgrf_engine.h" #include "newgrf_engine.h"
#include "vehicle_func.h" #include "vehicle_func.h"
@@ -52,22 +51,7 @@ static inline uint16 GetVehicleDefaultCapacity(EngineID engine, VehicleType type
CargoID cargo = (e->CanCarryCargo() ? e->GetDefaultCargoType() : (CargoID)CT_INVALID); CargoID cargo = (e->CanCarryCargo() ? e->GetDefaultCargoType() : (CargoID)CT_INVALID);
if (cargo_type != NULL) *cargo_type = cargo; if (cargo_type != NULL) *cargo_type = cargo;
if (cargo == CT_INVALID) return 0; if (cargo == CT_INVALID) return 0;
switch (type) { return e->GetDisplayDefaultCapacity();
case VEH_TRAIN:
return GetEngineProperty(engine, 0x14, e->u.rail.capacity) + (e->u.rail.railveh_type == RAILVEH_MULTIHEAD ? e->u.rail.capacity : 0);
case VEH_ROAD:
return GetEngineProperty(engine, 0x0F, e->u.road.capacity);
case VEH_SHIP:
return GetEngineProperty(engine, 0x0D, e->u.ship.capacity);
case VEH_AIRCRAFT:
return AircraftDefaultCargoCapacity(cargo, &e->u.air);
default: NOT_REACHED();
}
} }
/** /**

View File

@@ -120,8 +120,8 @@ static int CDECL EngineReliabilitySorter(const void *a, const void *b)
static int CDECL EngineCostSorter(const void *a, const void *b) static int CDECL EngineCostSorter(const void *a, const void *b)
{ {
int va = GetEngine(*(const EngineID*)a)->GetRunningCost(); Money va = GetEngine(*(const EngineID*)a)->GetCost();
int vb = GetEngine(*(const EngineID*)b)->GetRunningCost(); Money vb = GetEngine(*(const EngineID*)b)->GetCost();
int r = ClampToI32(va - vb); int r = ClampToI32(va - vb);
/* Use EngineID to sort instead since we want consistent sorting */ /* Use EngineID to sort instead since we want consistent sorting */
@@ -225,8 +225,11 @@ static int CDECL RoadVehEngineCapacitySorter(const void *a, const void *b)
/* Ship vehicle sorting functions */ /* Ship vehicle sorting functions */
static int CDECL ShipEngineCapacitySorter(const void *a, const void *b) static int CDECL ShipEngineCapacitySorter(const void *a, const void *b)
{ {
int va = ShipVehInfo(*(const EngineID*)a)->capacity; const Engine *e_a = GetEngine(*(const EngineID*)a);
int vb = ShipVehInfo(*(const EngineID*)b)->capacity; const Engine *e_b = GetEngine(*(const EngineID*)b);
int va = e_a->GetDisplayDefaultCapacity();
int vb = e_b->GetDisplayDefaultCapacity();
int r = va - vb; int r = va - vb;
/* Use EngineID to sort instead since we want consistent sorting */ /* Use EngineID to sort instead since we want consistent sorting */
@@ -240,8 +243,8 @@ static int CDECL AircraftEngineCargoSorter(const void *a, const void *b)
const Engine *e_a = GetEngine(*(const EngineID*)a); const Engine *e_a = GetEngine(*(const EngineID*)a);
const Engine *e_b = GetEngine(*(const EngineID*)b); const Engine *e_b = GetEngine(*(const EngineID*)b);
int va = AircraftDefaultCargoCapacity(e_a->GetDefaultCargoType(), &e_a->u.air); int va = e_a->GetDisplayDefaultCapacity();
int vb = AircraftDefaultCargoCapacity(e_b->GetDefaultCargoType(), &e_b->u.air); int vb = e_b->GetDisplayDefaultCapacity();
int r = va - vb; int r = va - vb;
if (r == 0) { if (r == 0) {
@@ -383,7 +386,7 @@ static int DrawRailWagonPurchaseInfo(int x, int y, EngineID engine_number, const
/* Wagon weight - (including cargo) */ /* Wagon weight - (including cargo) */
uint weight = e->GetDisplayWeight(); uint weight = e->GetDisplayWeight();
SetDParam(0, weight); SetDParam(0, weight);
uint cargo_weight = (e->CanCarryCargo() ? GetCargo(e->GetDefaultCargoType())->weight * GetEngineProperty(engine_number, 0x14, rvi->capacity) >> 4 : 0); uint cargo_weight = (e->CanCarryCargo() ? GetCargo(e->GetDefaultCargoType())->weight * e->GetDisplayDefaultCapacity() >> 4 : 0);
SetDParam(1, cargo_weight + weight); SetDParam(1, cargo_weight + weight);
DrawString(x, y, STR_PURCHASE_INFO_WEIGHT_CWEIGHT, TC_FROMSTRING); DrawString(x, y, STR_PURCHASE_INFO_WEIGHT_CWEIGHT, TC_FROMSTRING);
y += 10; y += 10;
@@ -482,7 +485,7 @@ static int DrawShipPurchaseInfo(int x, int y, EngineID engine_number, const Ship
/* Cargo type + capacity */ /* Cargo type + capacity */
SetDParam(0, e->GetDefaultCargoType()); SetDParam(0, e->GetDefaultCargoType());
SetDParam(1, GetEngineProperty(engine_number, 0x0D, svi->capacity)); SetDParam(1, e->GetDisplayDefaultCapacity());
SetDParam(2, refittable ? STR_9842_REFITTABLE : STR_EMPTY); SetDParam(2, refittable ? STR_9842_REFITTABLE : STR_EMPTY);
DrawString(x, y, STR_PURCHASE_INFO_CAPACITY, TC_FROMSTRING); DrawString(x, y, STR_PURCHASE_INFO_CAPACITY, TC_FROMSTRING);
y += 10; y += 10;
@@ -509,14 +512,14 @@ static int DrawAircraftPurchaseInfo(int x, int y, EngineID engine_number, const
/* Cargo capacity */ /* Cargo capacity */
if (cargo == CT_INVALID || cargo == CT_PASSENGERS) { if (cargo == CT_INVALID || cargo == CT_PASSENGERS) {
SetDParam(0, avi->passenger_capacity); SetDParam(0, e->GetDisplayDefaultCapacity());
SetDParam(1, avi->mail_capacity); SetDParam(1, avi->mail_capacity);
DrawString(x, y, STR_PURCHASE_INFO_AIRCRAFT_CAPACITY, TC_FROMSTRING); DrawString(x, y, STR_PURCHASE_INFO_AIRCRAFT_CAPACITY, TC_FROMSTRING);
} else { } else {
/* Note, if the default capacity is selected by the refit capacity /* Note, if the default capacity is selected by the refit capacity
* callback, then the capacity shown is likely to be incorrect. */ * callback, then the capacity shown is likely to be incorrect. */
SetDParam(0, cargo); SetDParam(0, cargo);
SetDParam(1, AircraftDefaultCargoCapacity(cargo, avi)); SetDParam(1, e->GetDisplayDefaultCapacity());
SetDParam(2, refittable ? STR_9842_REFITTABLE : STR_EMPTY); SetDParam(2, refittable ? STR_9842_REFITTABLE : STR_EMPTY);
DrawString(x, y, STR_PURCHASE_INFO_CAPACITY, TC_FROMSTRING); DrawString(x, y, STR_PURCHASE_INFO_CAPACITY, TC_FROMSTRING);
} }

View File

@@ -116,13 +116,13 @@ void IConsolePrint(ConsoleColour colour_code, const char *string)
* by any other means. Uses printf() style format, for more information look * by any other means. Uses printf() style format, for more information look
* at IConsolePrint() * at IConsolePrint()
*/ */
void CDECL IConsolePrintF(ConsoleColour colour_code, const char *s, ...) void CDECL IConsolePrintF(ConsoleColour colour_code, const char *format, ...)
{ {
va_list va; va_list va;
char buf[ICON_MAX_STREAMSIZE]; char buf[ICON_MAX_STREAMSIZE];
va_start(va, s); va_start(va, format);
vsnprintf(buf, sizeof(buf), s, va); vsnprintf(buf, sizeof(buf), format, va);
va_end(va); va_end(va);
IConsolePrint(colour_code, buf); IConsolePrint(colour_code, buf);

View File

@@ -640,6 +640,11 @@ DEF_CONSOLE_CMD(ConJoinCompany)
return true; return true;
} }
if (company_id != COMPANY_SPECTATOR && GetCompany(company_id)->is_ai) {
IConsoleError("Cannot join AI company.");
return true;
}
/* Check if the company requires a password */ /* Check if the company requires a password */
if (NetworkCompanyIsPassworded(company_id) && argc < 3) { if (NetworkCompanyIsPassworded(company_id) && argc < 3) {
IConsolePrintF(CC_ERROR, "Company %d requires a password to join.", company_id + 1); IConsolePrintF(CC_ERROR, "Company %d requires a password to join.", company_id + 1);
@@ -678,6 +683,11 @@ DEF_CONSOLE_CMD(ConMoveClient)
return true; return true;
} }
if (company_id != COMPANY_SPECTATOR && GetCompany(company_id)->is_ai) {
IConsoleError("You cannot move clients to AI companies.");
return true;
}
if (ci->client_id == CLIENT_ID_SERVER && _network_dedicated) { if (ci->client_id == CLIENT_ID_SERVER && _network_dedicated) {
IConsoleError("Silly boy, you cannot move the server!"); IConsoleError("Silly boy, you cannot move the server!");
return true; return true;
@@ -782,8 +792,8 @@ DEF_CONSOLE_CMD(ConNetworkConnect)
/* From a user pov 0 is a new company, internally it's different and all /* From a user pov 0 is a new company, internally it's different and all
* companies are offset by one to ease up on users (eg companies 1-8 not 0-7) */ * companies are offset by one to ease up on users (eg companies 1-8 not 0-7) */
if (_network_playas != COMPANY_SPECTATOR) { if (_network_playas != COMPANY_SPECTATOR) {
if (_network_playas > MAX_COMPANIES) return false;
_network_playas--; _network_playas--;
if (!IsValidCompanyID(_network_playas)) return false;
} }
} }
if (port != NULL) { if (port != NULL) {
@@ -1189,7 +1199,7 @@ DEF_CONSOLE_CMD(ConInfoVar)
IConsolePrintF(CC_DEFAULT, "variable name: %s", var->name); IConsolePrintF(CC_DEFAULT, "variable name: %s", var->name);
IConsolePrintF(CC_DEFAULT, "variable type: %s", _icon_vartypes[var->type]); IConsolePrintF(CC_DEFAULT, "variable type: %s", _icon_vartypes[var->type]);
IConsolePrintF(CC_DEFAULT, "variable addr: 0x%X", var->addr); IConsolePrintF(CC_DEFAULT, "variable addr: %p", var->addr);
if (var->hook.access) IConsoleWarning("variable is access hooked"); if (var->hook.access) IConsoleWarning("variable is access hooked");
if (var->hook.pre) IConsoleWarning("variable is pre hooked"); if (var->hook.pre) IConsoleWarning("variable is pre hooked");
@@ -1216,7 +1226,7 @@ DEF_CONSOLE_CMD(ConInfoCmd)
} }
IConsolePrintF(CC_DEFAULT, "command name: %s", cmd->name); IConsolePrintF(CC_DEFAULT, "command name: %s", cmd->name);
IConsolePrintF(CC_DEFAULT, "command proc: 0x%X", cmd->proc); IConsolePrintF(CC_DEFAULT, "command proc: %p", cmd->proc);
if (cmd->hook.access) IConsoleWarning("command is access hooked"); if (cmd->hook.access) IConsoleWarning("command is access hooked");
if (cmd->hook.pre) IConsoleWarning("command is pre hooked"); if (cmd->hook.pre) IConsoleWarning("command is pre hooked");
@@ -1421,7 +1431,7 @@ DEF_CONSOLE_CMD(ConCompanies)
const NetworkCompanyStats *stats = &company_stats[c->index]; const NetworkCompanyStats *stats = &company_stats[c->index];
GetString(buffer, STR_00D1_DARK_BLUE + _company_colours[c->index], lastof(buffer)); GetString(buffer, STR_00D1_DARK_BLUE + _company_colours[c->index], lastof(buffer));
IConsolePrintF(CC_INFO, "#:%d(%s) Company Name: '%s' Year Founded: %d Money: %" OTTD_PRINTF64 "d Loan: %" OTTD_PRINTF64 "d Value: %" OTTD_PRINTF64 "d (T:%d, R:%d, P:%d, S:%d) %sprotected", IConsolePrintF(CC_INFO, "#:%d(%s) Company Name: '%s' Year Founded: %d Money: " OTTD_PRINTF64 " Loan: " OTTD_PRINTF64 " Value: " OTTD_PRINTF64 " (T:%d, R:%d, P:%d, S:%d) %sprotected",
c->index + 1, buffer, company_name, c->inaugurated_year, (int64)c->money, (int64)c->current_loan, (int64)CalculateCompanyValue(c), c->index + 1, buffer, company_name, c->inaugurated_year, (int64)c->money, (int64)c->current_loan, (int64)CalculateCompanyValue(c),
/* trains */ stats->num_vehicle[0], /* trains */ stats->num_vehicle[0],
/* lorry + bus */ stats->num_vehicle[1] + stats->num_vehicle[2], /* lorry + bus */ stats->num_vehicle[1] + stats->num_vehicle[2],

View File

@@ -17,7 +17,7 @@ void IConsoleClose();
/* console output */ /* console output */
void IConsolePrint(ConsoleColour colour_code, const char *string); void IConsolePrint(ConsoleColour colour_code, const char *string);
void CDECL IConsolePrintF(ConsoleColour colour_code, const char *s, ...); void CDECL IConsolePrintF(ConsoleColour colour_code, const char *format, ...) WARN_FORMAT(2, 3);
void IConsoleDebug(const char *dbg, const char *string); void IConsoleDebug(const char *dbg, const char *string);
void IConsoleWarning(const char *string); void IConsoleWarning(const char *string);
void IConsoleError(const char *string); void IConsoleError(const char *string);

View File

@@ -11,7 +11,7 @@
*/ */
void NORETURN MallocError(size_t size) void NORETURN MallocError(size_t size)
{ {
error("Out of memory. Cannot allocate %i bytes", size); error("Out of memory. Cannot allocate " PRINTF_SIZE " bytes", size);
} }
/** /**
@@ -20,5 +20,5 @@ void NORETURN MallocError(size_t size)
*/ */
void NORETURN ReallocError(size_t size) void NORETURN ReallocError(size_t size)
{ {
error("Out of memory. Cannot reallocate %i bytes", size); error("Out of memory. Cannot reallocate " PRINTF_SIZE " bytes", size);
} }

View File

@@ -86,7 +86,7 @@ public:
FORCEINLINE OverflowSafeInt operator * (const byte factor) const { OverflowSafeInt result = *this; result *= (int64)factor; return result; } FORCEINLINE OverflowSafeInt operator * (const byte factor) const { OverflowSafeInt result = *this; result *= (int64)factor; return result; }
/* Operators for division */ /* Operators for division */
FORCEINLINE OverflowSafeInt& operator /= (const int divisor) { this->m_value /= divisor; return *this; } FORCEINLINE OverflowSafeInt& operator /= (const int64 divisor) { this->m_value /= divisor; return *this; }
FORCEINLINE OverflowSafeInt operator / (const OverflowSafeInt& divisor) const { OverflowSafeInt result = *this; result /= divisor.m_value; return result; } FORCEINLINE OverflowSafeInt operator / (const OverflowSafeInt& divisor) const { OverflowSafeInt result = *this; result /= divisor.m_value; return result; }
FORCEINLINE OverflowSafeInt operator / (const int divisor) const { OverflowSafeInt result = *this; result /= divisor; return result; } FORCEINLINE OverflowSafeInt operator / (const int divisor) const { OverflowSafeInt result = *this; result /= divisor; return result; }
FORCEINLINE OverflowSafeInt operator / (const uint divisor) const { OverflowSafeInt result = *this; result /= (int)divisor; return result; } FORCEINLINE OverflowSafeInt operator / (const uint divisor) const { OverflowSafeInt result = *this; result /= (int)divisor; return result; }

View File

@@ -108,7 +108,7 @@ static FORCEINLINE uint32 InteractiveRandomRange(uint16 max)
* Checks if a given randomize-number is below a given probability. * Checks if a given randomize-number is below a given probability.
* *
* This function is used to check if the given probability by the fraction of (a/b) * This function is used to check if the given probability by the fraction of (a/b)
* is greater than low 16 bits of the given randomize-number v. * is greater than low 16 bits of the given randomize-number r.
* *
* Do not use this function twice on the same random 16 bits as it will yield * Do not use this function twice on the same random 16 bits as it will yield
* the same result. One can use a random number for two calls to Chance16I, * the same result. One can use a random number for two calls to Chance16I,
@@ -117,12 +117,12 @@ static FORCEINLINE uint32 InteractiveRandomRange(uint16 max)
* @param a The numerator of the fraction * @param a The numerator of the fraction
* @param b The denominator of the fraction, must of course not be null * @param b The denominator of the fraction, must of course not be null
* @param r The given randomize-number * @param r The given randomize-number
* @return True if v is less or equals (a/b) * @return True if the probability given by r is less or equal to (a/b)
*/ */
static FORCEINLINE bool Chance16I(const uint a, const uint b, const uint32 r) static FORCEINLINE bool Chance16I(const uint a, const uint b, const uint32 r)
{ {
assert(b != 0); assert(b != 0);
return (uint16)r < (uint16)(((a << 16) + b / 2) / b); return (((uint16)r * b + b / 2) >> 16) < a;
} }
/** /**

View File

@@ -10,40 +10,40 @@
#include "table/strings.h" #include "table/strings.h"
/* exchange rate prefix symbol_pos /* exchange rate prefix symbol_pos
* | separator | postfix | * | separator | postfix |
* | | Euro year | | | name * | | Euro year | | | name
* | | | | | | | */ * | | | | | | | */
static const CurrencySpec origin_currency_specs[NUM_CURRENCY] = { static const CurrencySpec origin_currency_specs[NUM_CURRENCY] = {
{ 1, ',', CF_NOEURO, "£", "", 0, STR_CURR_GBP }, ///< british pounds { 1, ',', CF_NOEURO, "\xC2\xA3", "", 0, STR_CURR_GBP }, ///< british pounds
{ 2, ',', CF_NOEURO, "$", "", 0, STR_CURR_USD }, ///< us dollars { 2, ',', CF_NOEURO, "$", "", 0, STR_CURR_USD }, ///< us dollars
{ 2, ',', CF_ISEURO, "", "", 0, STR_CURR_EUR }, ///< Euro { 2, ',', CF_ISEURO, "\xE2\x82\xAC", "", 0, STR_CURR_EUR }, ///< Euro
{ 220, ',', CF_NOEURO, "¥", "", 0, STR_CURR_YEN }, ///< yen { 220, ',', CF_NOEURO, "\xC2\xA5", "", 0, STR_CURR_YEN }, ///< yen
{ 20, ',', 2002, "", " S.", 1, STR_CURR_ATS }, ///< austrian schilling { 20, ',', 2002, "", " S.", 1, STR_CURR_ATS }, ///< austrian schilling
{ 59, ',', 2002, "BEF ", "", 0, STR_CURR_BEF }, ///< belgian franc { 59, ',', 2002, "BEF ", "", 0, STR_CURR_BEF }, ///< belgian franc
{ 2, ',', CF_NOEURO, "CHF ", "", 0, STR_CURR_CHF }, ///< swiss franc { 2, ',', CF_NOEURO, "CHF ", "", 0, STR_CURR_CHF }, ///< swiss franc
{ 41, ',', CF_NOEURO, "", "", 1, STR_CURR_CZK }, ///< czech koruna { 41, ',', CF_NOEURO, "", " K\xC4\x8D", 1, STR_CURR_CZK }, ///< czech koruna
{ 3, '.', 2002, "DM ", "", 0, STR_CURR_DEM }, ///< deutsche mark { 3, '.', 2002, "DM ", "", 0, STR_CURR_DEM }, ///< deutsche mark
{ 11, '.', CF_NOEURO, "", " kr", 1, STR_CURR_DKK }, ///< danish krone { 11, '.', CF_NOEURO, "", " kr", 1, STR_CURR_DKK }, ///< danish krone
{ 245, '.', 2002, "Pts ", "", 0, STR_CURR_ESP }, ///< spanish pesetas { 245, '.', 2002, "Pts ", "", 0, STR_CURR_ESP }, ///< spanish pesetas
{ 9, ',', 2002, "", " mk", 1, STR_CURR_FIM }, ///< finnish markka { 9, ',', 2002, "", " mk", 1, STR_CURR_FIM }, ///< finnish markka
{ 10, '.', 2002, "FF ", "", 0, STR_CURR_FRF }, ///< french francs { 10, '.', 2002, "FF ", "", 0, STR_CURR_FRF }, ///< french francs
{ 500, ',', 2002, "", "Dr.", 1, STR_CURR_GRD }, ///< greek drachma { 500, ',', 2002, "", "Dr.", 1, STR_CURR_GRD }, ///< greek drachma
{ 378, ',', CF_NOEURO, "", " Ft", 1, STR_CURR_HUF }, ///< hungarian forint { 378, ',', CF_NOEURO, "", " Ft", 1, STR_CURR_HUF }, ///< hungarian forint
{ 130, '.', CF_NOEURO, "", " Kr", 1, STR_CURR_ISK }, ///< icelandic krona { 130, '.', CF_NOEURO, "", " Kr", 1, STR_CURR_ISK }, ///< icelandic krona
{ 2850, ',', 2002, "", " L.", 1, STR_CURR_ITL }, ///< italian lira { 2850, ',', 2002, "", " L.", 1, STR_CURR_ITL }, ///< italian lira
{ 3, ',', 2002, "NLG ", "", 0, STR_CURR_NLG }, ///< dutch gulden { 3, ',', 2002, "NLG ", "", 0, STR_CURR_NLG }, ///< dutch gulden
{ 12, '.', CF_NOEURO, "", " Kr", 1, STR_CURR_NOK }, ///< norwegian krone { 12, '.', CF_NOEURO, "", " Kr", 1, STR_CURR_NOK }, ///< norwegian krone
{ 6, ' ', CF_NOEURO, "", " zl", 1, STR_CURR_PLN }, ///< polish zloty { 6, ' ', CF_NOEURO, "", " zl", 1, STR_CURR_PLN }, ///< polish zloty
{ 5, '.', CF_NOEURO, "", " Lei", 1, STR_CURR_ROL }, ///< romanian Lei { 5, '.', CF_NOEURO, "", " Lei", 1, STR_CURR_RON }, ///< romanian Lei
{ 50, ' ', CF_NOEURO, "", " p", 1, STR_CURR_RUR }, ///< russian rouble { 50, ' ', CF_NOEURO, "", " p", 1, STR_CURR_RUR }, ///< russian rouble
{ 352, '.', 2007, "", " SIT", 1, STR_CURR_SIT }, ///< slovenian tolar { 352, '.', 2007, "", " SIT", 1, STR_CURR_SIT }, ///< slovenian tolar
{ 13, '.', CF_NOEURO, "", " Kr", 1, STR_CURR_SEK }, ///< swedish krona { 13, '.', CF_NOEURO, "", " Kr", 1, STR_CURR_SEK }, ///< swedish krona
{ 3, '.', CF_NOEURO, "", " TL", 1, STR_CURR_TRY }, ///< turkish lira { 3, '.', CF_NOEURO, "", " TL", 1, STR_CURR_TRY }, ///< turkish lira
{ 52, ',', 2009, "", " Sk", 1, STR_CURR_SKK }, ///< slovak koruna { 52, ',', 2009, "", " Sk", 1, STR_CURR_SKK }, ///< slovak koruna
{ 4, ',', CF_NOEURO, "R$ ", "", 0, STR_CURR_BRL }, ///< brazil real { 4, ',', CF_NOEURO, "R$ ", "", 0, STR_CURR_BRL }, ///< brazil real
{ 20, '.', CF_NOEURO, "", " EEK", 1, STR_CURR_EEK }, ///< estonian krooni { 20, '.', CF_NOEURO, "", " EEK", 1, STR_CURR_EEK }, ///< estonian krooni
{ 1, ' ', CF_NOEURO, "", "", 2, STR_CURR_CUSTOM }, ///< custom currency { 1, ' ', CF_NOEURO, "", "", 2, STR_CURR_CUSTOM }, ///< custom currency
}; };
/* Array of currencies used by the system */ /* Array of currencies used by the system */
@@ -76,7 +76,7 @@ enum {
CURR_NLG, CURR_NLG,
CURR_NOK, CURR_NOK,
CURR_PLN, CURR_PLN,
CURR_ROL, CURR_RON,
CURR_RUR, CURR_RUR,
CURR_SIT, CURR_SIT,
CURR_SEK, CURR_SEK,

View File

@@ -92,15 +92,13 @@ static void debug_print(const char *dbg, const char *buf)
} }
} }
void CDECL debug(const char *dbg, ...) void CDECL debug(const char *dbg, const char *format, ...)
{ {
va_list va;
va_start(va, dbg);
const char *s;
char buf[1024]; char buf[1024];
s = va_arg(va, const char*); va_list va;
vsnprintf(buf, lengthof(buf), s, va); va_start(va, format);
vsnprintf(buf, lengthof(buf), format, va);
va_end(va); va_end(va);
debug_print(dbg, buf); debug_print(dbg, buf);
@@ -149,7 +147,7 @@ void SetDebugString(const char *s)
if (p != NULL) { if (p != NULL) {
*p = v; *p = v;
} else { } else {
ShowInfoF("Unknown debug level '%.*s'", s - t, t); ShowInfoF("Unknown debug level '%.*s'", (int)(s - t), t);
return; return;
} }
} }

View File

@@ -50,19 +50,12 @@
extern int _debug_gamelog_level; extern int _debug_gamelog_level;
extern int _debug_desync_level; extern int _debug_desync_level;
void CDECL debug(const char *dbg, ...); void CDECL debug(const char *dbg, const char *format, ...) WARN_FORMAT(2, 3);
#endif /* NO_DEBUG_MESSAGES */ #endif /* NO_DEBUG_MESSAGES */
void SetDebugString(const char *s); void SetDebugString(const char *s);
const char *GetDebugString(); const char *GetDebugString();
/* MSVCRT of course has to have a different syntax for long long *sigh* */
#if defined(_MSC_VER) || defined(__MINGW32__)
#define OTTD_PRINTF64 "I64"
#else
#define OTTD_PRINTF64 "ll"
#endif
/* Used for profiling /* Used for profiling
* *
* Usage: * Usage:
@@ -100,6 +93,6 @@ const char *GetDebugString();
} }
void ShowInfo(const char *str); void ShowInfo(const char *str);
void CDECL ShowInfoF(const char *str, ...); void CDECL ShowInfoF(const char *str, ...) WARN_FORMAT(1, 2);
#endif /* DEBUG_H */ #endif /* DEBUG_H */

View File

@@ -566,6 +566,12 @@ static void DisasterTick_Big_Ufo(Vehicle *v)
return; return;
} }
if (!IsValidTile(v->dest_tile)) {
/* Make sure we don't land outside the map. */
delete v;
return;
}
z = GetSlopeZ(v->x_pos, v->y_pos); z = GetSlopeZ(v->x_pos, v->y_pos);
if (z < v->z_pos) { if (z < v->z_pos) {
SetDisasterVehiclePos(v, v->x_pos, v->y_pos, v->z_pos - 1); SetDisasterVehiclePos(v, v->x_pos, v->y_pos, v->z_pos - 1);
@@ -885,7 +891,7 @@ static void Disaster_Submarine_Init(DisasterSubType subtype)
int x = TileX(r) * TILE_SIZE + TILE_SIZE / 2; int x = TileX(r) * TILE_SIZE + TILE_SIZE / 2;
if (HasBit(r, 31)) { if (HasBit(r, 31)) {
y = MapMaxX() * TILE_SIZE - TILE_SIZE / 2 - 1; y = MapMaxY() * TILE_SIZE - TILE_SIZE / 2 - 1;
dir = DIR_NW; dir = DIR_NW;
} else { } else {
y = TILE_SIZE / 2; y = TILE_SIZE / 2;

View File

@@ -177,6 +177,36 @@ bool Engine::CanCarryCargo() const
return this->GetDefaultCargoType() != CT_INVALID; return this->GetDefaultCargoType() != CT_INVALID;
} }
/**
* Determines the default cargo capacity of an engine for display purposes.
*
* For planes carrying both passenger and mail this is the passenger capacity.
* For multiheaded engines this is the capacity of both heads.
* For articulated engines use GetCapacityOfArticulatedParts
*
* @return The default capacity
* @see GetDefaultCargoType
*/
uint Engine::GetDisplayDefaultCapacity() const
{
if (!this->CanCarryCargo()) return 0;
switch (type) {
case VEH_TRAIN:
return GetEngineProperty(this->index, 0x14, this->u.rail.capacity) + (this->u.rail.railveh_type == RAILVEH_MULTIHEAD ? this->u.rail.capacity : 0);
case VEH_ROAD:
return GetEngineProperty(this->index, 0x0F, this->u.road.capacity);
case VEH_SHIP:
return GetEngineProperty(this->index, 0x0D, this->u.ship.capacity);
case VEH_AIRCRAFT:
return AircraftDefaultCargoCapacity(this->GetDefaultCargoType(), &this->u.air);
default: NOT_REACHED();
}
}
Money Engine::GetRunningCost() const Money Engine::GetRunningCost() const
{ {
switch (this->type) { switch (this->type) {

View File

@@ -53,6 +53,7 @@ struct Engine : PoolItem<Engine, EngineID, &_Engine_pool> {
CargoID GetDefaultCargoType() const; CargoID GetDefaultCargoType() const;
bool CanCarryCargo() const; bool CanCarryCargo() const;
uint GetDisplayDefaultCapacity() const;
Money GetRunningCost() const; Money GetRunningCost() const;
Money GetCost() const; Money GetCost() const;
uint GetDisplayMaxSpeed() const; uint GetDisplayMaxSpeed() const;

View File

@@ -14,7 +14,6 @@
#include "engine_gui.h" #include "engine_gui.h"
#include "articulated_vehicles.h" #include "articulated_vehicles.h"
#include "rail.h" #include "rail.h"
#include "aircraft.h"
#include "table/strings.h" #include "table/strings.h"
#include "table/sprites.h" #include "table/sprites.h"
@@ -151,7 +150,7 @@ static void DrawAircraftEngineInfo(EngineID engine, int x, int y, int maxw)
if (cargo == CT_INVALID || cargo == CT_PASSENGERS) { if (cargo == CT_INVALID || cargo == CT_PASSENGERS) {
SetDParam(0, e->GetCost()); SetDParam(0, e->GetCost());
SetDParam(1, e->GetDisplayMaxSpeed()); SetDParam(1, e->GetDisplayMaxSpeed());
SetDParam(2, e->u.air.passenger_capacity); SetDParam(2, e->GetDisplayDefaultCapacity());
SetDParam(3, e->u.air.mail_capacity); SetDParam(3, e->u.air.mail_capacity);
SetDParam(4, e->GetRunningCost()); SetDParam(4, e->GetRunningCost());
@@ -160,7 +159,7 @@ static void DrawAircraftEngineInfo(EngineID engine, int x, int y, int maxw)
SetDParam(0, e->GetCost()); SetDParam(0, e->GetCost());
SetDParam(1, e->GetDisplayMaxSpeed()); SetDParam(1, e->GetDisplayMaxSpeed());
SetDParam(2, cargo); SetDParam(2, cargo);
SetDParam(3, AircraftDefaultCargoCapacity(cargo, &e->u.air)); SetDParam(3, e->GetDisplayDefaultCapacity());
SetDParam(4, e->GetRunningCost()); SetDParam(4, e->GetRunningCost());
DrawStringMultiCenter(x, y, STR_982E_COST_MAX_SPEED_CAPACITY, maxw); DrawStringMultiCenter(x, y, STR_982E_COST_MAX_SPEED_CAPACITY, maxw);
@@ -187,13 +186,12 @@ static void DrawRoadVehEngineInfo(EngineID engine, int x, int y, int maxw)
static void DrawShipEngineInfo(EngineID engine, int x, int y, int maxw) static void DrawShipEngineInfo(EngineID engine, int x, int y, int maxw)
{ {
const ShipVehicleInfo *svi = ShipVehInfo(engine);
const Engine *e = GetEngine(engine); const Engine *e = GetEngine(engine);
SetDParam(0, e->GetCost()); SetDParam(0, e->GetCost());
SetDParam(1, e->GetDisplayMaxSpeed()); SetDParam(1, e->GetDisplayMaxSpeed());
SetDParam(2, e->GetDefaultCargoType()); SetDParam(2, e->GetDefaultCargoType());
SetDParam(3, GetEngineProperty(engine, 0x0D, svi->capacity)); SetDParam(3, e->GetDisplayDefaultCapacity());
SetDParam(4, e->GetRunningCost()); SetDParam(4, e->GetRunningCost());
DrawStringMultiCenter(x, y, STR_982E_COST_MAX_SPEED_CAPACITY, maxw); DrawStringMultiCenter(x, y, STR_982E_COST_MAX_SPEED_CAPACITY, maxw);
} }

View File

@@ -363,7 +363,7 @@ FILE *FioFOpenFile(const char *filename, const char *mode, Subdirectory subdir,
char resolved_name[MAX_RESOLVED_LENGTH]; char resolved_name[MAX_RESOLVED_LENGTH];
/* Filenames in tars are always forced to be lowercase */ /* Filenames in tars are always forced to be lowercase */
strcpy(resolved_name, filename); strecpy(resolved_name, filename, lastof(resolved_name));
strtolower(resolved_name); strtolower(resolved_name);
size_t resolved_len = strlen(resolved_name); size_t resolved_len = strlen(resolved_name);
@@ -376,9 +376,9 @@ FILE *FioFOpenFile(const char *filename, const char *mode, Subdirectory subdir,
/* Apply link */ /* Apply link */
char resolved_name2[MAX_RESOLVED_LENGTH]; char resolved_name2[MAX_RESOLVED_LENGTH];
const std::string &dest = link->second; const std::string &dest = link->second;
strcpy(resolved_name2, &(resolved_name[len])); strecpy(resolved_name2, &(resolved_name[len]), lastof(resolved_name2));
strcpy(resolved_name, dest.c_str()); strecpy(resolved_name, dest.c_str(), lastof(resolved_name));
strcpy(&(resolved_name[dest.length()]), resolved_name2); strecpy(&(resolved_name[dest.length()]), resolved_name2, lastof(resolved_name));
break; // Only resolve one level break; // Only resolve one level
} }
} }
@@ -595,7 +595,7 @@ bool TarListAddFile(const char *filename)
/* Calculate the size of the file.. for some strange reason this is stored as a string */ /* Calculate the size of the file.. for some strange reason this is stored as a string */
memcpy(buf, th.size, sizeof(th.size)); memcpy(buf, th.size, sizeof(th.size));
buf[sizeof(th.size)] = '\0'; buf[sizeof(th.size)] = '\0';
int skip = strtol(buf, &end, 8); size_t skip = strtoul(buf, &end, 8);
switch (th.typeflag) { switch (th.typeflag) {
case '\0': case '\0':
@@ -614,7 +614,7 @@ bool TarListAddFile(const char *filename)
/* Convert to lowercase and our PATHSEPCHAR */ /* Convert to lowercase and our PATHSEPCHAR */
SimplifyFileName(name); SimplifyFileName(name);
DEBUG(misc, 6, "Found file in tar: %s (%d bytes, %d offset)", name, skip, pos); DEBUG(misc, 6, "Found file in tar: %s (" PRINTF_SIZE " bytes, " PRINTF_SIZE " offset)", name, skip, pos);
if (_tar_filelist.insert(TarFileList::value_type(name, entry)).second) num++; if (_tar_filelist.insert(TarFileList::value_type(name, entry)).second) num++;
break; break;
@@ -640,7 +640,7 @@ bool TarListAddFile(const char *filename)
/* Process relative path. /* Process relative path.
* Note: The destination of links must not contain any directory-links. */ * Note: The destination of links must not contain any directory-links. */
strcpy(dest, name); strecpy(dest, name, lastof(dest));
char *destpos = strrchr(dest, PATHSEPCHAR); char *destpos = strrchr(dest, PATHSEPCHAR);
if (destpos == NULL) destpos = dest; if (destpos == NULL) destpos = dest;
*destpos = '\0'; *destpos = '\0';
@@ -702,7 +702,7 @@ bool TarListAddFile(const char *filename)
pos += skip; pos += skip;
} }
DEBUG(misc, 1, "Found tar '%s' with %d new files", filename, num); DEBUG(misc, 1, "Found tar '%s' with " PRINTF_SIZE " new files", filename, num);
fclose(f); fclose(f);
/* Resolve file links and store directory links. /* Resolve file links and store directory links.
@@ -829,7 +829,7 @@ void ChangeWorkingDirectory(const char *exe)
void DetermineBasePaths(const char *exe) void DetermineBasePaths(const char *exe)
{ {
char tmp[MAX_PATH]; char tmp[MAX_PATH];
#if defined(__MORPHOS__) || defined(__AMIGA__) || defined(DOS) || !defined(WITH_PERSONAL_DIR) #if defined(__MORPHOS__) || defined(__AMIGA__) || defined(DOS) || defined(OS2) || !defined(WITH_PERSONAL_DIR)
_searchpaths[SP_PERSONAL_DIR] = NULL; _searchpaths[SP_PERSONAL_DIR] = NULL;
#else #else
const char *homedir = getenv("HOME"); const char *homedir = getenv("HOME");
@@ -867,7 +867,7 @@ void DetermineBasePaths(const char *exe)
AppendPathSeparator(tmp, MAX_PATH); AppendPathSeparator(tmp, MAX_PATH);
_searchpaths[SP_BINARY_DIR] = strdup(tmp); _searchpaths[SP_BINARY_DIR] = strdup(tmp);
#if defined(__MORPHOS__) || defined(__AMIGA__) || defined(DOS) #if defined(__MORPHOS__) || defined(__AMIGA__) || defined(DOS) || defined(OS2)
_searchpaths[SP_INSTALLATION_DIR] = NULL; _searchpaths[SP_INSTALLATION_DIR] = NULL;
#else #else
snprintf(tmp, MAX_PATH, "%s", GLOBAL_DATA_DIR); snprintf(tmp, MAX_PATH, "%s", GLOBAL_DATA_DIR);

View File

@@ -8,6 +8,7 @@
#include "openttd.h" #include "openttd.h"
#include "fios.h" #include "fios.h"
#include "fileio_func.h" #include "fileio_func.h"
#include "tar_type.h"
#include "string_func.h" #include "string_func.h"
#include <sys/stat.h> #include <sys/stat.h>
@@ -469,7 +470,31 @@ static FiosType FiosGetHeightmapListCallback(SaveLoadDialogMode mode, const char
if (strcasecmp(ext, ".bmp") == 0) type = FIOS_TYPE_BMP; if (strcasecmp(ext, ".bmp") == 0) type = FIOS_TYPE_BMP;
if (type != FIOS_TYPE_INVALID) GetFileTitle(file, title, last); if (type == FIOS_TYPE_INVALID) return FIOS_TYPE_INVALID;
TarFileList::iterator it = _tar_filelist.find(file);
if (it != _tar_filelist.end()) {
/* If the file is in a tar and that tar is not in a heightmap
* directory we are for sure not supposed to see it.
* Examples of this are pngs part of documentation within
* collections of NewGRFs or 32 bpp graphics replacement PNGs.
*/
bool match = false;
Searchpath sp;
FOR_ALL_SEARCHPATHS(sp) {
char buf[MAX_PATH];
FioAppendDirectory(buf, sizeof(buf), sp, HEIGHTMAP_DIR);
if (strncmp(buf, it->second.tar_filename, strlen(buf)) == 0) {
match = true;
break;
}
}
if (!match) return FIOS_TYPE_INVALID;
}
GetFileTitle(file, title, last);
return type; return type;
} }

View File

@@ -172,6 +172,8 @@ static FT_Error GetFontByFaceName(const char *font_name, FT_Face *face)
if (err != FT_Err_Ok) break; if (err != FT_Err_Ok) break;
if (strncasecmp(font_name, (*face)->family_name, strlen((*face)->family_name)) == 0) break; if (strncasecmp(font_name, (*face)->family_name, strlen((*face)->family_name)) == 0) break;
/* Try english name if font name failed */
if (strncasecmp(font_name + strlen(font_name) + 1, (*face)->family_name, strlen((*face)->family_name)) == 0) break;
err = FT_Err_Cannot_Open_Resource; err = FT_Err_Cannot_Open_Resource;
} while ((FT_Long)++index != (*face)->num_faces); } while ((FT_Long)++index != (*face)->num_faces);
@@ -204,42 +206,47 @@ static const char *GetEnglishFontName(const ENUMLOGFONTEX *logfont)
static char font_name[MAX_PATH]; static char font_name[MAX_PATH];
const char *ret_font_name = NULL; const char *ret_font_name = NULL;
uint pos = 0; uint pos = 0;
HDC dc;
HGDIOBJ oldfont;
byte *buf;
DWORD dw;
uint16 format, count, stringOffset, platformId, encodingId, languageId, nameId, length, offset;
HFONT font = CreateFontIndirect(&logfont->elfLogFont); HFONT font = CreateFontIndirect(&logfont->elfLogFont);
if (font == NULL) goto err1; if (font == NULL) goto err1;
HDC dc = GetDC(NULL); dc = GetDC(NULL);
HGDIOBJ oldfont = SelectObject(dc, font); oldfont = SelectObject(dc, font);
DWORD dw = GetFontData(dc, 'eman', 0, NULL, 0); dw = GetFontData(dc, 'eman', 0, NULL, 0);
if (dw == GDI_ERROR) goto err2; if (dw == GDI_ERROR) goto err2;
byte *buf = MallocT<byte>(dw); buf = MallocT<byte>(dw);
dw = GetFontData(dc, 'eman', 0, buf, dw); dw = GetFontData(dc, 'eman', 0, buf, dw);
if (dw == GDI_ERROR) goto err3; if (dw == GDI_ERROR) goto err3;
uint16 format = buf[pos++] << 8; format = buf[pos++] << 8;
format += buf[pos++]; format += buf[pos++];
assert(format == 0); assert(format == 0);
uint16 count = buf[pos++] << 8; count = buf[pos++] << 8;
count += buf[pos++]; count += buf[pos++];
uint16 stringOffset = buf[pos++] << 8; stringOffset = buf[pos++] << 8;
stringOffset += buf[pos++]; stringOffset += buf[pos++];
for (uint i = 0; i < count; i++) { for (uint i = 0; i < count; i++) {
uint16 platformId = buf[pos++] << 8; platformId = buf[pos++] << 8;
platformId += buf[pos++]; platformId += buf[pos++];
uint16 encodingId = buf[pos++] << 8; encodingId = buf[pos++] << 8;
encodingId += buf[pos++]; encodingId += buf[pos++];
uint16 languageId = buf[pos++] << 8; languageId = buf[pos++] << 8;
languageId += buf[pos++]; languageId += buf[pos++];
uint16 nameId = buf[pos++] << 8; nameId = buf[pos++] << 8;
nameId += buf[pos++]; nameId += buf[pos++];
if (nameId != 1) { if (nameId != 1) {
pos += 4; // skip length and offset pos += 4; // skip length and offset
continue; continue;
} }
uint16 length = buf[pos++] << 8; length = buf[pos++] << 8;
length += buf[pos++]; length += buf[pos++];
uint16 offset = buf[pos++] << 8; offset = buf[pos++] << 8;
offset += buf[pos++]; offset += buf[pos++];
/* Don't buffer overflow */ /* Don't buffer overflow */
@@ -296,12 +303,18 @@ static int CALLBACK EnumFontCallback(const ENUMLOGFONTEX *logfont, const NEWTEXT
if ((fs.fsCsb[0] & info->locale.lsCsbSupported[0]) == 0 && (fs.fsCsb[1] & info->locale.lsCsbSupported[1]) == 0) return 1; if ((fs.fsCsb[0] & info->locale.lsCsbSupported[0]) == 0 && (fs.fsCsb[1] & info->locale.lsCsbSupported[1]) == 0) return 1;
} }
const char *font_name = GetEnglishFontName(logfont); const char *english_name = GetEnglishFontName(logfont);
DEBUG(freetype, 1, "Fallback font: %s", font_name); const char *font_name = WIDE_TO_MB((const TCHAR*)logfont->elfFullName);
DEBUG(freetype, 1, "Fallback font: %s (%s)", font_name, english_name);
strecpy(info->settings->small_font, font_name, lastof(info->settings->small_font)); strecpy(info->settings->small_font, font_name, lastof(info->settings->small_font));
strecpy(info->settings->medium_font, font_name, lastof(info->settings->medium_font)); strecpy(info->settings->medium_font, font_name, lastof(info->settings->medium_font));
strecpy(info->settings->large_font, font_name, lastof(info->settings->large_font)); strecpy(info->settings->large_font, font_name, lastof(info->settings->large_font));
/* Add english name after font name */
strecpy(info->settings->small_font + strlen(info->settings->small_font) + 1, english_name, lastof(info->settings->small_font));
strecpy(info->settings->medium_font + strlen(info->settings->medium_font) + 1, english_name, lastof(info->settings->medium_font));
strecpy(info->settings->large_font + strlen(info->settings->large_font) + 1, english_name, lastof(info->settings->large_font));
return 0; // stop enumerating return 0; // stop enumerating
} }

View File

@@ -85,6 +85,8 @@ enum {
static int _dbgofs = 0; ///< offset in current output buffer static int _dbgofs = 0; ///< offset in current output buffer
static void AddDebugText(char *buf, const char *s, ...) WARN_FORMAT(2, 3);
static void AddDebugText(char *buf, const char *s, ...) static void AddDebugText(char *buf, const char *s, ...)
{ {
if (GAMELOG_BUF_LEN <= _dbgofs) return; if (GAMELOG_BUF_LEN <= _dbgofs) return;
@@ -135,6 +137,7 @@ static const char *la_text[] = {
"cheat was used", "cheat was used",
"settings changed", "settings changed",
"GRF bug triggered", "GRF bug triggered",
"emergency savegame",
}; };
assert_compile(lengthof(la_text) == GLAT_END); assert_compile(lengthof(la_text) == GLAT_END);
@@ -249,6 +252,9 @@ void GamelogPrint(GamelogPrintProc *proc)
PrintGrfFilename(buf, lc->grfbug.grfid); PrintGrfFilename(buf, lc->grfbug.grfid);
break; break;
} }
case GLCT_EMERGENCY:
break;
} }
proc(buf); proc(buf);
@@ -273,7 +279,7 @@ static int _gamelog_print_level = 0; ///< gamelog debug level we need to print s
static void GamelogPrintDebugProc(const char *s) static void GamelogPrintDebugProc(const char *s)
{ {
DEBUG(gamelog, _gamelog_print_level, s); DEBUG(gamelog, _gamelog_print_level, "%s", s);
} }
@@ -317,6 +323,31 @@ static LoggedChange *GamelogChange(GamelogChangeType ct)
} }
/** Logs a emergency savegame
*/
void GamelogEmergency()
{
assert(_gamelog_action_type == GLAT_EMERGENCY);
GamelogChange(GLCT_EMERGENCY);
}
/** Finds out if current game is a loaded emergency savegame.
*/
bool GamelogTestEmergency()
{
const LoggedChange *emergency = NULL;
const LoggedAction *laend = &_gamelog_action[_gamelog_actions];
for (const LoggedAction *la = _gamelog_action; la != laend; la++) {
const LoggedChange *lcend = &la->change[la->changes];
for (const LoggedChange *lc = la->change; lc != lcend; lc++) {
if (lc->ct == GLCT_EMERGENCY) emergency = lc;
}
}
return (emergency != NULL);
}
/** Logs a change in game revision /** Logs a change in game revision
* @param revision new revision string * @param revision new revision string
*/ */

View File

@@ -14,6 +14,7 @@ enum GamelogActionType {
GLAT_CHEAT, ///< Cheat was used GLAT_CHEAT, ///< Cheat was used
GLAT_SETTING, ///< Setting changed GLAT_SETTING, ///< Setting changed
GLAT_GRFBUG, ///< GRF bug was triggered GLAT_GRFBUG, ///< GRF bug was triggered
GLAT_EMERGENCY, ///< Emergency savegame
GLAT_END, ///< So we know how many GLATs are there GLAT_END, ///< So we know how many GLATs are there
GLAT_NONE = 0xFF, ///< No logging active; in savegames, end of list GLAT_NONE = 0xFF, ///< No logging active; in savegames, end of list
}; };
@@ -29,6 +30,9 @@ void GamelogPrint(GamelogPrintProc *proc); // needed for WIN32 / WINCE crash.log
void GamelogPrintDebug(int level); void GamelogPrintDebug(int level);
void GamelogPrintConsole(); void GamelogPrintConsole();
void GamelogEmergency();
bool GamelogTestEmergency();
void GamelogRevision(); void GamelogRevision();
void GamelogMode(); void GamelogMode();
void GamelogOldver(); void GamelogOldver();

View File

@@ -19,6 +19,7 @@ enum GamelogChangeType {
GLCT_GRFPARAM, ///< GRF parameter changed GLCT_GRFPARAM, ///< GRF parameter changed
GLCT_GRFMOVE, ///< GRF order changed GLCT_GRFMOVE, ///< GRF order changed
GLCT_GRFBUG, ///< GRF bug triggered GLCT_GRFBUG, ///< GRF bug triggered
GLCT_EMERGENCY, ///< Emergency savegame
GLCT_END, ///< So we know how many GLCTs are there GLCT_END, ///< So we know how many GLCTs are there
GLCT_NONE = 0xFF, ///< In savegames, end of list GLCT_NONE = 0xFF, ///< In savegames, end of list
}; };

View File

@@ -47,32 +47,10 @@ void InitializeGame(uint size_x, uint size_y, bool reset_date);
* in the genworld.h and genworld.c! -- TrueLight */ * in the genworld.h and genworld.c! -- TrueLight */
gw_info _gw; gw_info _gw;
/** /** Rights for the map generation */
* Set the status of the Paint flag. ThreadMutex *_genworld_mapgen_mutex = ThreadMutex::New();
* If it is true, the thread will hold with any futher generating till /** Rights for the painting */
* the drawing of the screen is done. This is handled by ThreadMutex *_genworld_paint_mutex = ThreadMutex::New();
* SetGeneratingWorldProgress(), so calling that function will stall
* from time to time.
*/
void SetGeneratingWorldPaintStatus(bool status)
{
_gw.wait_for_draw = status;
}
/**
* Returns true if the thread wants the main program to do a (full) paint.
* If this returns false, please do not update the screen. Because we are
* writing in a thread, it can cause damaged data (reading and writing the
* same tile at the same time).
*/
bool IsGeneratingWorldReadyForPaint()
{
/* If we are in quit_thread mode, ignore this and always return false. This
* forces the screen to not be drawn, and the GUI not to wait for a draw. */
if (!_gw.active || _gw.quit_thread || !_gw.threaded) return false;
return _gw.wait_for_draw;
}
/** /**
* Tells if the world generation is done in a thread or not. * Tells if the world generation is done in a thread or not.
@@ -100,6 +78,7 @@ static void CleanupGeneration()
DeleteWindowById(WC_GENERATE_PROGRESS_WINDOW, 0); DeleteWindowById(WC_GENERATE_PROGRESS_WINDOW, 0);
MarkWholeScreenDirty(); MarkWholeScreenDirty();
_genworld_mapgen_mutex->EndCritical();
} }
/** /**
@@ -109,6 +88,7 @@ static void _GenerateWorld(void *arg)
{ {
try { try {
_generating_world = true; _generating_world = true;
_genworld_mapgen_mutex->BeginCritical();
if (_network_dedicated) DEBUG(net, 0, "Generating map, please wait..."); 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 */ /* Set the Random() seed to generation_seed so we produce the same map with the same seed */
if (_settings_game.game_creation.generation_seed == GENERATE_NEW_SEED) _settings_game.game_creation.generation_seed = _settings_newgame.game_creation.generation_seed = InteractiveRandom(); if (_settings_game.game_creation.generation_seed == GENERATE_NEW_SEED) _settings_game.game_creation.generation_seed = _settings_newgame.game_creation.generation_seed = InteractiveRandom();
@@ -194,6 +174,7 @@ static void _GenerateWorld(void *arg)
} }
} catch (...) { } catch (...) {
_generating_world = false; _generating_world = false;
_genworld_mapgen_mutex->EndCritical();
throw; throw;
} }
} }
@@ -223,11 +204,16 @@ void GenerateWorldSetAbortCallback(gw_abort_proc *proc)
void WaitTillGeneratedWorld() void WaitTillGeneratedWorld()
{ {
if (_gw.thread == NULL) return; if (_gw.thread == NULL) return;
_genworld_mapgen_mutex->EndCritical();
_genworld_paint_mutex->EndCritical();
_gw.quit_thread = true; _gw.quit_thread = true;
_gw.thread->Join(); _gw.thread->Join();
delete _gw.thread; delete _gw.thread;
_gw.thread = NULL; _gw.thread = NULL;
_gw.threaded = false; _gw.threaded = false;
_genworld_mapgen_mutex->BeginCritical();
_genworld_paint_mutex->BeginCritical();
} }
/** /**
@@ -280,7 +266,6 @@ void GenerateWorld(GenerateWorldMode mode, uint size_x, uint size_y)
_gw.abort = false; _gw.abort = false;
_gw.abortp = NULL; _gw.abortp = NULL;
_gw.lc = _local_company; _gw.lc = _local_company;
_gw.wait_for_draw = false;
_gw.quit_thread = false; _gw.quit_thread = false;
_gw.threaded = true; _gw.threaded = true;
@@ -315,7 +300,9 @@ void GenerateWorld(GenerateWorldMode mode, uint size_x, uint size_y)
!ThreadObject::New(&_GenerateWorld, NULL, &_gw.thread)) { !ThreadObject::New(&_GenerateWorld, NULL, &_gw.thread)) {
DEBUG(misc, 1, "Cannot create genworld thread, reverting to single-threaded mode"); DEBUG(misc, 1, "Cannot create genworld thread, reverting to single-threaded mode");
_gw.threaded = false; _gw.threaded = false;
_genworld_mapgen_mutex->EndCritical();
_GenerateWorld(NULL); _GenerateWorld(NULL);
_genworld_mapgen_mutex->BeginCritical();
return; return;
} }

View File

@@ -16,6 +16,8 @@ enum {
LG_TERRAGENESIS = 1, ///< TerraGenesis Perlin landscape generator LG_TERRAGENESIS = 1, ///< TerraGenesis Perlin landscape generator
GENERATE_NEW_SEED = UINT_MAX, ///< Create a new random seed GENERATE_NEW_SEED = UINT_MAX, ///< Create a new random seed
GENWORLD_REDRAW_TIMEOUT = 200, ///< Timeout between redraws
}; };
/* Modes for GenerateWorld */ /* Modes for GenerateWorld */
@@ -32,7 +34,6 @@ typedef void gw_abort_proc();
struct gw_info { struct gw_info {
bool active; ///< Is generating world active bool active; ///< Is generating world active
bool abort; ///< Whether to abort the thread ASAP bool abort; ///< Whether to abort the thread ASAP
bool wait_for_draw; ///< Are we waiting on a draw event
bool quit_thread; ///< Do we want to quit the active thread bool quit_thread; ///< Do we want to quit the active thread
bool threaded; ///< Whether we run _GenerateWorld threaded bool threaded; ///< Whether we run _GenerateWorld threaded
GenerateWorldMode mode;///< What mode are we making a world in GenerateWorldMode mode;///< What mode are we making a world in
@@ -69,8 +70,6 @@ static inline bool IsGeneratingWorld()
} }
/* genworld.cpp */ /* genworld.cpp */
void SetGeneratingWorldPaintStatus(bool status);
bool IsGeneratingWorldReadyForPaint();
bool IsGenerateWorldThreaded(); bool IsGenerateWorldThreaded();
void GenerateWorldSetCallback(gw_done_proc *proc); void GenerateWorldSetCallback(gw_done_proc *proc);
void GenerateWorldSetAbortCallback(gw_abort_proc *proc); void GenerateWorldSetAbortCallback(gw_abort_proc *proc);
@@ -89,4 +88,7 @@ void StartNewGameWithoutGUI(uint seed);
void ShowCreateScenario(); void ShowCreateScenario();
void StartScenarioEditor(); void StartScenarioEditor();
extern class ThreadMutex *_genworld_mapgen_mutex;
extern class ThreadMutex *_genworld_paint_mutex;
#endif /* GENWORLD_H */ #endif /* GENWORLD_H */

View File

@@ -26,6 +26,7 @@
#include "landscape_type.h" #include "landscape_type.h"
#include "querystring_gui.h" #include "querystring_gui.h"
#include "town.h" #include "town.h"
#include "thread.h"
#include "table/strings.h" #include "table/strings.h"
#include "table/sprites.h" #include "table/sprites.h"
@@ -1037,8 +1038,8 @@ static void _SetGeneratingWorldProgress(gwp_class cls, uint progress, uint total
_tp.percent = percent_table[cls]; _tp.percent = percent_table[cls];
} }
/* Don't update the screen too often. So update it once in every 200ms */ /* Don't update the screen too often. So update it once in every once in a while... */
if (!_network_dedicated && _tp.timer != 0 && _realtime_tick - _tp.timer < 200) return; if (!_network_dedicated && _tp.timer != 0 && _realtime_tick - _tp.timer < GENWORLD_REDRAW_TIMEOUT) return;
/* Percentage is about the number of completed tasks, so 'current - 1' */ /* Percentage is about the number of completed tasks, so 'current - 1' */
_tp.percent = percent_table[cls] + (percent_table[cls + 1] - percent_table[cls]) * (_tp.current == 0 ? 0 : _tp.current - 1) / _tp.total; _tp.percent = percent_table[cls] + (percent_table[cls + 1] - percent_table[cls]) * (_tp.current == 0 ? 0 : _tp.current - 1) / _tp.total;
@@ -1064,12 +1065,15 @@ static void _SetGeneratingWorldProgress(gwp_class cls, uint progress, uint total
InvalidateWindow(WC_GENERATE_PROGRESS_WINDOW, 0); InvalidateWindow(WC_GENERATE_PROGRESS_WINDOW, 0);
MarkWholeScreenDirty(); MarkWholeScreenDirty();
SetGeneratingWorldPaintStatus(true);
/* We wait here till the paint is done, so we don't read and write /* Release the rights to the map generator, and acquire the rights to the
* on the same tile at the same moment. Nasty hack, but that happens * paint thread. The 'other' thread already has the paint thread rights so
* if you implement threading afterwards */ * this ensures us that we are waiting until the paint thread is done
while (IsGeneratingWorldReadyForPaint()) { CSleep(10); } * before we reacquire the mapgen rights */
_genworld_mapgen_mutex->EndCritical();
_genworld_paint_mutex->BeginCritical();
_genworld_mapgen_mutex->BeginCritical();
_genworld_paint_mutex->EndCritical();
_tp.timer = _realtime_tick; _tp.timer = _realtime_tick;
} }

View File

@@ -18,6 +18,7 @@
#include "core/sort_func.hpp" #include "core/sort_func.hpp"
#include "landscape_type.h" #include "landscape_type.h"
#include "network/network_func.h" #include "network/network_func.h"
#include "thread.h"
#include "table/palettes.h" #include "table/palettes.h"
#include "table/sprites.h" #include "table/sprites.h"
@@ -1285,6 +1286,9 @@ void ScreenSizeChanged()
void UndrawMouseCursor() void UndrawMouseCursor()
{ {
/* Don't undraw the mouse cursor if the screen is not ready */
if (_screen.dst_ptr == NULL) return;
if (_cursor.visible) { if (_cursor.visible) {
Blitter *blitter = BlitterFactoryBase::GetCurrentBlitter(); Blitter *blitter = BlitterFactoryBase::GetCurrentBlitter();
_cursor.visible = false; _cursor.visible = false;
@@ -1300,6 +1304,9 @@ void DrawMouseCursor()
return; return;
#endif #endif
/* Don't draw the mouse cursor if the screen is not ready */
if (_screen.dst_ptr == NULL) return;
Blitter *blitter = BlitterFactoryBase::GetCurrentBlitter(); Blitter *blitter = BlitterFactoryBase::GetCurrentBlitter();
int x; int x;
int y; int y;
@@ -1386,7 +1393,18 @@ void DrawDirtyBlocks()
int x; int x;
int y; int y;
if (IsGeneratingWorld() && !IsGeneratingWorldReadyForPaint()) return; if (IsGeneratingWorld()) {
/* We are generating the world, so release our rights to the map and
* painting while we are waiting a bit. */
_genworld_paint_mutex->EndCritical();
_genworld_mapgen_mutex->EndCritical();
/* Wait a while and update _realtime_tick so we are given the rights */
CSleep(GENWORLD_REDRAW_TIMEOUT);
_realtime_tick += GENWORLD_REDRAW_TIMEOUT;
_genworld_paint_mutex->BeginCritical();
_genworld_mapgen_mutex->BeginCritical();
}
y = 0; y = 0;
do { do {
@@ -1454,12 +1472,6 @@ void DrawDirtyBlocks()
_invalid_rect.top = h; _invalid_rect.top = h;
_invalid_rect.right = 0; _invalid_rect.right = 0;
_invalid_rect.bottom = 0; _invalid_rect.bottom = 0;
/* If we are generating a world, and waiting for a paint run, mark it here
* as done painting, so we can continue generating. */
if (IsGeneratingWorld() && IsGeneratingWorldReadyForPaint()) {
SetGeneratingWorldPaintStatus(false);
}
} }
/*! /*!

View File

@@ -250,7 +250,7 @@ void CheckExternalFiles()
add_pos += seprintf(add_pos, last, "Your 'sample.cat' file is corrupted or missing! You can find 'sample.cat' on your Transport Tycoon Deluxe CD-ROM.\n"); add_pos += seprintf(add_pos, last, "Your 'sample.cat' file is corrupted or missing! You can find 'sample.cat' on your Transport Tycoon Deluxe CD-ROM.\n");
} }
if (add_pos != error_msg) ShowInfoF(error_msg); if (add_pos != error_msg) ShowInfoF("%s", error_msg);
} }

View File

@@ -554,7 +554,7 @@ static const Widget _performance_history_widgets[] = {
{ WWT_CLOSEBOX, RESIZE_NONE, COLOUR_GREY, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW}, { WWT_CLOSEBOX, RESIZE_NONE, COLOUR_GREY, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
{ WWT_CAPTION, RESIZE_NONE, COLOUR_GREY, 11, 475, 0, 13, STR_7051_COMPANY_PERFORMANCE_RATINGS, STR_018C_WINDOW_TITLE_DRAG_THIS}, { WWT_CAPTION, RESIZE_NONE, COLOUR_GREY, 11, 475, 0, 13, STR_7051_COMPANY_PERFORMANCE_RATINGS, STR_018C_WINDOW_TITLE_DRAG_THIS},
{ WWT_PUSHTXTBTN, RESIZE_NONE, COLOUR_GREY, 526, 575, 0, 13, STR_704C_KEY, STR_704D_SHOW_KEY_TO_GRAPHS}, { WWT_PUSHTXTBTN, RESIZE_NONE, COLOUR_GREY, 526, 575, 0, 13, STR_704C_KEY, STR_704D_SHOW_KEY_TO_GRAPHS},
{ WWT_PUSHTXTBTN, RESIZE_NONE, COLOUR_GREY, 476, 525, 0, 13, STR_PERFORMANCE_DETAIL_KEY, STR_704D_SHOW_KEY_TO_GRAPHS}, { WWT_PUSHTXTBTN, RESIZE_NONE, COLOUR_GREY, 476, 525, 0, 13, STR_PERFORMANCE_DETAIL_KEY, STR_SHOW_DETAILED_PERFORMANCE_RATINGS},
{ WWT_PANEL, RESIZE_NONE, COLOUR_GREY, 0, 575, 14, 237, 0x0, STR_NULL}, { WWT_PANEL, RESIZE_NONE, COLOUR_GREY, 0, 575, 14, 237, 0x0, STR_NULL},
{ WIDGETS_END}, { WIDGETS_END},
}; };

View File

@@ -1872,6 +1872,9 @@ static void MaybeNewIndustry(void)
} }
} }
/* Abort if there is no industry buildable */
if (probability_max == 0) return;
/* Find a random type, with maximum being what has been evaluate above*/ /* Find a random type, with maximum being what has been evaluate above*/
rndtype = RandomRange(probability_max); rndtype = RandomRange(probability_max);
for (j = 0; j < NUM_INDUSTRYTYPES; j++) { for (j = 0; j < NUM_INDUSTRYTYPES; j++) {
@@ -2211,8 +2214,9 @@ static void ChangeIndustryProduction(Industry *i, bool monthly)
/* Recalculate production_rate /* Recalculate production_rate
* For non-smooth economy these should always be synchronized with prod_level */ * For non-smooth economy these should always be synchronized with prod_level */
if (recalculate_multipliers) { if (recalculate_multipliers) {
i->production_rate[0] = min(indspec->production_rate[0] * i->prod_level / PRODLEVEL_DEFAULT, 0xFF); /* Rates are rounded up, so e.g. oilrig always produces some passengers */
i->production_rate[1] = min(indspec->production_rate[1] * i->prod_level / PRODLEVEL_DEFAULT, 0xFF); i->production_rate[0] = min((indspec->production_rate[0] * i->prod_level + PRODLEVEL_DEFAULT - 1) / PRODLEVEL_DEFAULT, 0xFF);
i->production_rate[1] = min((indspec->production_rate[1] * i->prod_level + PRODLEVEL_DEFAULT - 1) / PRODLEVEL_DEFAULT, 0xFF);
} }
/* Close if needed and allowed */ /* Close if needed and allowed */

View File

@@ -815,8 +815,6 @@ static void GenerateTerrain(int type, uint flag)
} while (--w != 0); } while (--w != 0);
break; break;
} }
FixSlopes();
} }
@@ -930,6 +928,7 @@ void GenerateLandscape(byte mode)
} }
} }
FixSlopes();
ConvertGroundTilesIntoWaterTiles(); ConvertGroundTilesIntoWaterTiles();
if (_settings_game.game_creation.landscape == LT_TROPIC) CreateDesertOrRainForest(); if (_settings_game.game_creation.landscape == LT_TROPIC) CreateDesertOrRainForest();

View File

@@ -657,7 +657,6 @@ STR_FULL :Vol
STR_02BA :{SILVER}- - {COMPANY} - - STR_02BA :{SILVER}- - {COMPANY} - -
STR_02BB_TOWN_DIRECTORY :Dorp gids STR_02BB_TOWN_DIRECTORY :Dorp gids
STR_02BD :{BLACK}{STRING} STR_02BD :{BLACK}{STRING}
STR_02BF_CUSTOM :Bestelling
STR_CHECKMARK :{CHECKMARK} STR_CHECKMARK :{CHECKMARK}
############ range for menu starts ############ range for menu starts
@@ -774,7 +773,7 @@ STR_TOWNNAME_SWEDISH :Sweeds
STR_TOWNNAME_DUTCH :Hollands STR_TOWNNAME_DUTCH :Hollands
STR_TOWNNAME_FINNISH :Finnish STR_TOWNNAME_FINNISH :Finnish
STR_TOWNNAME_POLISH :Polish STR_TOWNNAME_POLISH :Polish
STR_TOWNNAME_SLOVAKISH :Slovakish STR_TOWNNAME_SLOVAK :Slovak
STR_TOWNNAME_NORWEGIAN :Norwegian STR_TOWNNAME_NORWEGIAN :Norwegian
STR_TOWNNAME_HUNGARIAN :Hungarian STR_TOWNNAME_HUNGARIAN :Hungarian
STR_TOWNNAME_AUSTRIAN :Austrian STR_TOWNNAME_AUSTRIAN :Austrian
@@ -807,7 +806,7 @@ STR_CURR_ITL :Italian Lira (I
STR_CURR_NLG :Dutch Guilder (NLG) STR_CURR_NLG :Dutch Guilder (NLG)
STR_CURR_NOK :Norwegian Krone (NOK) STR_CURR_NOK :Norwegian Krone (NOK)
STR_CURR_PLN :Polish Zloty (PLN) STR_CURR_PLN :Polish Zloty (PLN)
STR_CURR_ROL :Romanian Leu (ROL) STR_CURR_RON :Romanian Leu (RON)
STR_CURR_RUR :Russian Rubles (RUR) STR_CURR_RUR :Russian Rubles (RUR)
STR_CURR_SIT :Slovenian Tolar (SIT) STR_CURR_SIT :Slovenian Tolar (SIT)
STR_CURR_SEK :Swedish Krona (SEK) STR_CURR_SEK :Swedish Krona (SEK)
@@ -1640,6 +1639,7 @@ STR_200B_CENTER_THE_MAIN_VIEW_ON :{BLACK}Senter s
STR_200C_CHANGE_TOWN_NAME :{BLACK}Verander dorp naam STR_200C_CHANGE_TOWN_NAME :{BLACK}Verander dorp naam
STR_200D_PASSENGERS_LAST_MONTH_MAX :{BLACK}Passasiers verlede maand: {ORANGE}{COMMA}{BLACK} maks: {ORANGE}{COMMA} STR_200D_PASSENGERS_LAST_MONTH_MAX :{BLACK}Passasiers verlede maand: {ORANGE}{COMMA}{BLACK} maks: {ORANGE}{COMMA}
STR_200E_MAIL_LAST_MONTH_MAX :{BLACK}Pos verlede maand: {ORANGE}{COMMA}{BLACK} maks: {ORANGE}{COMMA} STR_200E_MAIL_LAST_MONTH_MAX :{BLACK}Pos verlede maand: {ORANGE}{COMMA}{BLACK} maks: {ORANGE}{COMMA}
STR_CARGO_FOR_TOWNGROWTH_LAST_MONTH :{SETX 20}{ORANGE}{CARGO}{BLACK} gelewer laas maand
STR_200F_TALL_OFFICE_BLOCK :Hoog kantoor blok STR_200F_TALL_OFFICE_BLOCK :Hoog kantoor blok
STR_2010_OFFICE_BLOCK :Kantoor blok STR_2010_OFFICE_BLOCK :Kantoor blok
STR_2011_SMALL_BLOCK_OF_FLATS :Klein blok van woonstelle STR_2011_SMALL_BLOCK_OF_FLATS :Klein blok van woonstelle
@@ -1947,6 +1947,7 @@ STR_INDUSTRY_PROD_GODOWN :{BLACK}{BIGFONT
##id 0x5000 ##id 0x5000
STR_5003_ANOTHER_TUNNEL_IN_THE_WAY :{WHITE}Ander tonnel in die pad STR_5003_ANOTHER_TUNNEL_IN_THE_WAY :{WHITE}Ander tonnel in die pad
STR_TUNNEL_THROUGH_MAP_BORDER :{WHITE}Tonnel so op die einde van die kaart eindig
STR_5005_UNABLE_TO_EXCAVATE_LAND :{WHITE}Kan nie daal vir ander einde van tonnel te uitgrawe nie STR_5005_UNABLE_TO_EXCAVATE_LAND :{WHITE}Kan nie daal vir ander einde van tonnel te uitgrawe nie
STR_5006_MUST_DEMOLISH_TUNNEL_FIRST :{WHITE}Moet eers tonnel afbreek STR_5006_MUST_DEMOLISH_TUNNEL_FIRST :{WHITE}Moet eers tonnel afbreek
STR_5007_MUST_DEMOLISH_BRIDGE_FIRST :{WHITE}Moet eers brug afbreek STR_5007_MUST_DEMOLISH_BRIDGE_FIRST :{WHITE}Moet eers brug afbreek
@@ -2076,6 +2077,7 @@ STR_NUM_VERY_LOW :Baie laag
STR_6816_LOW :Laag STR_6816_LOW :Laag
STR_6817_NORMAL :Normaal STR_6817_NORMAL :Normaal
STR_6818_HIGH :Hoog STR_6818_HIGH :Hoog
STR_02BF_CUSTOM :Bestelling
STR_6819 :{BLACK}{SMALLLEFTARROW} STR_6819 :{BLACK}{SMALLLEFTARROW}
STR_681A :{BLACK}{SMALLRIGHTARROW} STR_681A :{BLACK}{SMALLRIGHTARROW}
STR_681B_VERY_SLOW :Baie Stadig STR_681B_VERY_SLOW :Baie Stadig
@@ -2225,6 +2227,8 @@ STR_RELOCATE_COMPANY_HEADQUARTERS :{BLACK}Herbou m
STR_7071_CAN_T_BUILD_COMPANY_HEADQUARTERS :{WHITE}Maatskappy hoofkwartiers kan nie hier gebou word nie... STR_7071_CAN_T_BUILD_COMPANY_HEADQUARTERS :{WHITE}Maatskappy hoofkwartiers kan nie hier gebou word nie...
STR_7072_VIEW_HQ :{BLACK}Wys HK STR_7072_VIEW_HQ :{BLACK}Wys HK
STR_RELOCATE_HQ :{BLACK}Beweeg HQ STR_RELOCATE_HQ :{BLACK}Beweeg HQ
STR_COMPANY_JOIN :{BLACK}Bind
STR_COMPANY_JOIN_TIP :{BLACK}Bind en speel as maatskapy
STR_COMPANY_PASSWORD :{BLACK}Wagwoord STR_COMPANY_PASSWORD :{BLACK}Wagwoord
STR_COMPANY_PASSWORD_TOOLTIP :{BLACK}Wagwoord-beskerm jou maatskappy om onmagtig gebruikers te belet van verbinding STR_COMPANY_PASSWORD_TOOLTIP :{BLACK}Wagwoord-beskerm jou maatskappy om onmagtig gebruikers te belet van verbinding
STR_SET_COMPANY_PASSWORD :{BLACK}Stel maatskappy wagwoord STR_SET_COMPANY_PASSWORD :{BLACK}Stel maatskappy wagwoord
@@ -3036,6 +3040,7 @@ STR_PERFORMANCE_DETAIL_LOAN_TIP :{BLACK}Die bedr
STR_PERFORMANCE_DETAIL_TOTAL_TIP :{BLACK}Totaale punte uit van moontlike punte STR_PERFORMANCE_DETAIL_TOTAL_TIP :{BLACK}Totaale punte uit van moontlike punte
STR_NEWGRF_SETTINGS_BUTTON :{BLACK}NewGRF Stellings STR_NEWGRF_SETTINGS_BUTTON :{BLACK}NewGRF Stellings
STR_NEWGRF_SETTINGS_BUTTON_TIP :{BLACK}Wys NewGRF stellings
STR_NEWGRF_SETTINGS_CAPTION :{WHITE}NewGRF stellings STR_NEWGRF_SETTINGS_CAPTION :{WHITE}NewGRF stellings
STR_NEWGRF_APPLY_CHANGES :{BLACK}Wend aan veranderings STR_NEWGRF_APPLY_CHANGES :{BLACK}Wend aan veranderings
STR_NEWGRF_TOGGLE_PALETTE :{BLACK}Tokkel pallet STR_NEWGRF_TOGGLE_PALETTE :{BLACK}Tokkel pallet
@@ -3066,6 +3071,11 @@ STR_NEWGRF_ERROR_INVALID_ID :Pooging om onvo
STR_NEWGRF_ERROR_CORRUPT_SPRITE :{YELLOW}{STRING} het 'n korrupte "sprite". Alle korrupte "sprites" sal gewys word as 'n rooi vraag teken (?). STR_NEWGRF_ERROR_CORRUPT_SPRITE :{YELLOW}{STRING} het 'n korrupte "sprite". Alle korrupte "sprites" sal gewys word as 'n rooi vraag teken (?).
STR_NEWGRF_PRESET_LIST_TIP :{BLACK}Laai die gekose voorafstel STR_NEWGRF_PRESET_LIST_TIP :{BLACK}Laai die gekose voorafstel
STR_NEWGRF_PRESET_SAVE :{BLACK}Stoor voorafstel
STR_NEWGRF_PRESET_SAVE_TIP :{BLACK}Stoor die huidige lys as 'n voorafstel
STR_NEWGRF_PRESET_SAVE_QUERY :{BLACK}Sleutel 'n naam vir die voorafstel in
STR_NEWGRF_PRESET_DELETE :{BLACK}Vee voorafstel uit
STR_NEWGRF_PRESET_DELETE_TIP :{BLACK}Vee die huidige gekose voorafstel uit
STR_NEWGRF_ADD :{BLACK}Voeg STR_NEWGRF_ADD :{BLACK}Voeg
STR_NEWGRF_ADD_TIP :{BLACK}Voeg 'n NewGRF na die lys STR_NEWGRF_ADD_TIP :{BLACK}Voeg 'n NewGRF na die lys
STR_NEWGRF_REMOVE :{BLACK}Verwyder STR_NEWGRF_REMOVE :{BLACK}Verwyder
@@ -3165,7 +3175,7 @@ STR_REPLACE_HELP_REPLACE_INFO_TAB :{BLACK}Toon aan
STR_REPLACE_REMOVE_WAGON :{BLACK}Wa verwydering: {ORANGE}{SKIP}{STRING} STR_REPLACE_REMOVE_WAGON :{BLACK}Wa verwydering: {ORANGE}{SKIP}{STRING}
STR_REPLACE_REMOVE_WAGON_HELP :{BLACK}Maak autoreplace hou die lengte van 'n trein dieselfde deur verwyder waens (begin by die voor), indien vervang die enjin sal die trein langer maak STR_REPLACE_REMOVE_WAGON_HELP :{BLACK}Maak autoreplace hou die lengte van 'n trein dieselfde deur verwyder waens (begin by die voor), indien vervang die enjin sal die trein langer maak
STR_REPLACE_ENGINE_WAGON_SELECT :{BLACK}Vervang: {ORANGE}{SKIP}{SKIP}{STRING} STR_REPLACE_ENGINE_WAGON_SELECT :{BLACK}Vervang: {ORANGE}{SKIP}{SKIP}{STRING}
STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK} EKSPERIMENTELE KENMERK {} Skakel tussen enjin en wa vervang vensters. {} Wa vervang sal alleen gedoen word indien die nuwe wa kan wees herpas binne-in dra dieselfde tipe van cargo as die ou een. Hierdie is gemerk vir elke wa wanneer die vervang plaasvind. STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK}Skakel tussen enjin en wa vervang vensters
STR_RAIL_VEHICLE_NOT_AVAILABLE :{WHITE}Voertuig is nie beskikbaar nie STR_RAIL_VEHICLE_NOT_AVAILABLE :{WHITE}Voertuig is nie beskikbaar nie
STR_ROAD_VEHICLE_NOT_AVAILABLE :{WHITE}Voertuig is nie beskikbaar nie STR_ROAD_VEHICLE_NOT_AVAILABLE :{WHITE}Voertuig is nie beskikbaar nie
STR_SHIP_NOT_AVAILABLE :{WHITE}Skip is nie beskikbaar STR_SHIP_NOT_AVAILABLE :{WHITE}Skip is nie beskikbaar
@@ -3233,6 +3243,7 @@ STR_RANDOM_HELP :{BLACK}Verander
STR_WORLD_GENERATION_CAPTION :{WHITE}Wêreld generasie STR_WORLD_GENERATION_CAPTION :{WHITE}Wêreld generasie
STR_RANDOM_SEED :{BLACK}Lukraak Saad: STR_RANDOM_SEED :{BLACK}Lukraak Saad:
STR_RANDOM_SEED_HELP :{BLACK}Kliek om 'n lukraak saad in te voeg STR_RANDOM_SEED_HELP :{BLACK}Kliek om 'n lukraak saad in te voeg
STR_RANDOM_SEED_OSKTITLE :{BLACK}Sleutel 'n lukraak saad in
STR_LAND_GENERATOR :{BLACK}Daal genereerder: STR_LAND_GENERATOR :{BLACK}Daal genereerder:
STR_TREE_PLACER :{BLACK}Boom algoritme: STR_TREE_PLACER :{BLACK}Boom algoritme:
STR_HEIGHTMAP_ROTATION :{BLACK}Hoogtekaart rotasie: STR_HEIGHTMAP_ROTATION :{BLACK}Hoogtekaart rotasie:
@@ -3280,12 +3291,15 @@ STR_SMALLMAP_CENTER :{BLACK}Senter d
STR_SMALLMAP_INDUSTRY :{TINYFONT}{STRING} ({NUM}) STR_SMALLMAP_INDUSTRY :{TINYFONT}{STRING} ({NUM})
# Strings for map borders at game generation # Strings for map borders at game generation
STR_BORDER_TYPE :{BLACK}Kaart kante:
STR_NORTHWEST :{BLACK}Noordwes STR_NORTHWEST :{BLACK}Noordwes
STR_NORTHEAST :{BLACK}Noordoos STR_NORTHEAST :{BLACK}Noordoos
STR_SOUTHEAST :{BLACK}Suidoos STR_SOUTHEAST :{BLACK}Suidoos
STR_SOUTHWEST :{BLACK}Suidwes STR_SOUTHWEST :{BLACK}Suidwes
STR_BORDER_FREEFORM :{BLACK}Vryeform STR_BORDER_FREEFORM :{BLACK}Vryeform
STR_BORDER_WATER :{BLACK}Water STR_BORDER_WATER :{BLACK}Water
STR_BORDER_RANDOM :{BLACK}Lukraak
STR_BORDER_RANDOMIZE :{BLACK}Lukraak
########### String for new airports ########### String for new airports
STR_SMALL_AIRPORT :{BLACK}Klein STR_SMALL_AIRPORT :{BLACK}Klein
@@ -3476,6 +3490,9 @@ STR_CONTENT_DETAIL_SUBTITLE_UNSELECTED :{SILVER}Jy het
STR_CONTENT_DETAIL_SUBTITLE_SELECTED :{SILVER}Jy het dit geselekeer om af te laai STR_CONTENT_DETAIL_SUBTITLE_SELECTED :{SILVER}Jy het dit geselekeer om af te laai
STR_CONTENT_DETAIL_SUBTITLE_ALREADY_HERE :{SILVER}Jy het hierdie reeds STR_CONTENT_DETAIL_SUBTITLE_ALREADY_HERE :{SILVER}Jy het hierdie reeds
STR_JUST_DATE_TINY :{DATE_TINY}
STR_JUST_DATE_LONG :{DATE_LONG}
STR_JUST_DATE_ISO :{DATE_ISO}
######## ########

View File

@@ -668,7 +668,6 @@ STR_FULL :ممتلئ
STR_02BA :{SILVER}- - {COMPANY} - - STR_02BA :{SILVER}- - {COMPANY} - -
STR_02BB_TOWN_DIRECTORY :دليل المدن STR_02BB_TOWN_DIRECTORY :دليل المدن
STR_02BD :{BLACK}{STRING} STR_02BD :{BLACK}{STRING}
STR_02BF_CUSTOM :اختياري
STR_CHECKMARK :{CHECKMARK} STR_CHECKMARK :{CHECKMARK}
############ range for menu starts ############ range for menu starts
@@ -787,7 +786,7 @@ STR_TOWNNAME_SWEDISH :سويدي
STR_TOWNNAME_DUTCH :هولندي STR_TOWNNAME_DUTCH :هولندي
STR_TOWNNAME_FINNISH :فنلندي STR_TOWNNAME_FINNISH :فنلندي
STR_TOWNNAME_POLISH :بلغاري STR_TOWNNAME_POLISH :بلغاري
STR_TOWNNAME_SLOVAKISH :سلوفاكي STR_TOWNNAME_SLOVAK :سلوفاكي
STR_TOWNNAME_NORWEGIAN :نرويجي STR_TOWNNAME_NORWEGIAN :نرويجي
STR_TOWNNAME_HUNGARIAN :هنغاري STR_TOWNNAME_HUNGARIAN :هنغاري
STR_TOWNNAME_AUSTRIAN :نمساوي STR_TOWNNAME_AUSTRIAN :نمساوي
@@ -820,7 +819,7 @@ STR_CURR_ITL :ليرة ايط
STR_CURR_NLG :غلدر هولندي (NLG) STR_CURR_NLG :غلدر هولندي (NLG)
STR_CURR_NOK :كرونا نرويجية (NOK) STR_CURR_NOK :كرونا نرويجية (NOK)
STR_CURR_PLN :زلوتي بولندي (PLN) STR_CURR_PLN :زلوتي بولندي (PLN)
STR_CURR_ROL :لور يوناني (ROL) STR_CURR_RON :لور يوناني (RON)
STR_CURR_RUR :روبل روسي (RUR) STR_CURR_RUR :روبل روسي (RUR)
STR_CURR_SIT :تولار سوفاني (SIT) STR_CURR_SIT :تولار سوفاني (SIT)
STR_CURR_SEK :كرونا سويدية (SEK) STR_CURR_SEK :كرونا سويدية (SEK)
@@ -1199,6 +1198,7 @@ STR_CANT_REMOVE_TRAIN_WAYPOINT :{WHITE}لا ي
STR_BUILD_AUTORAIL_TIP :{BLACK}بناء سكة القطار باستخدام البناء التلقائي STR_BUILD_AUTORAIL_TIP :{BLACK}بناء سكة القطار باستخدام البناء التلقائي
STR_NO_TOWN_IN_SCENARIO :{WHITE}... لا يوجد مدن في هذه الخريطة STR_NO_TOWN_IN_SCENARIO :{WHITE}... لا يوجد مدن في هذه الخريطة
STR_COULD_NOT_CREATE_TOWN :{WHITE}مولد الخريطة توقف ... {} ... لا يوجد مواقع مناسبة للمدن
STR_MANY_RANDOM_TOWNS :{BLACK}العديد من المدن العشوائية STR_MANY_RANDOM_TOWNS :{BLACK}العديد من المدن العشوائية
STR_RANDOM_TOWNS_TIP :{BLACK}غطي الخريطة عشوائيا بمدن STR_RANDOM_TOWNS_TIP :{BLACK}غطي الخريطة عشوائيا بمدن
@@ -2130,6 +2130,7 @@ STR_NUM_VERY_LOW :منخفض جد
STR_6816_LOW :قليل STR_6816_LOW :قليل
STR_6817_NORMAL :طبيعي STR_6817_NORMAL :طبيعي
STR_6818_HIGH :عالي STR_6818_HIGH :عالي
STR_02BF_CUSTOM :اختياري
STR_6819 :{BLACK}{SMALLLEFTARROW} STR_6819 :{BLACK}{SMALLLEFTARROW}
STR_681A :{BLACK}{SMALLRIGHTARROW} STR_681A :{BLACK}{SMALLRIGHTARROW}
STR_681B_VERY_SLOW :بطيء جدا STR_681B_VERY_SLOW :بطيء جدا
@@ -2241,6 +2242,7 @@ STR_704A_SELECT_FEMALE_FACES :{BLACK}اختر
STR_704B_GENERATE_RANDOM_NEW_FACE :{BLACK}اختر وجة عشوائي STR_704B_GENERATE_RANDOM_NEW_FACE :{BLACK}اختر وجة عشوائي
STR_704C_KEY :{BLACK}مفتاح STR_704C_KEY :{BLACK}مفتاح
STR_704D_SHOW_KEY_TO_GRAPHS :{BLACK}اظهار مفتاح الرسم البياني STR_704D_SHOW_KEY_TO_GRAPHS :{BLACK}اظهار مفتاح الرسم البياني
STR_SHOW_DETAILED_PERFORMANCE_RATINGS :{BLACK}عرض كامل تفاصيل الأداء
STR_704E_KEY_TO_COMPANY_GRAPHS :{WHITE}مفتاح الشركات في الرسم البياني STR_704E_KEY_TO_COMPANY_GRAPHS :{WHITE}مفتاح الشركات في الرسم البياني
STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY :{BLACK}اضغط لعرض/اخفاء الشركة في الرسم STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY :{BLACK}اضغط لعرض/اخفاء الشركة في الرسم
STR_7050_UNITS_OF_CARGO_DELIVERED :{WHITE}عدد الوحدات المنقولة STR_7050_UNITS_OF_CARGO_DELIVERED :{WHITE}عدد الوحدات المنقولة
@@ -2802,7 +2804,7 @@ STR_VEHICLE_INFO_COST_WEIGHT_SPEED_POWER :{BLACK} الت
STR_885C_BROKEN_DOWN :{RED} متعطل STR_885C_BROKEN_DOWN :{RED} متعطل
STR_885D_AGE_RUNNING_COST_YR :{BLACK}العمر: {LTBLUE}{STRING}{BLACK} تكلفة التشغيل: {LTBLUE}{CURRENCY}/سنة STR_885D_AGE_RUNNING_COST_YR :{BLACK}العمر: {LTBLUE}{STRING}{BLACK} تكلفة التشغيل: {LTBLUE}{CURRENCY}/سنة
STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK} الوزن: {LTBLUE}{WEIGHT_S} {BLACK} الطاقة: {LTBLUE}{POWER}{BLACK} السرعة القصوى: {LTBLUE}{VELOCITY} STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK} الوزن: {LTBLUE}{WEIGHT_S} {BLACK} الطاقة: {LTBLUE}{POWER}{BLACK} السرعة القصوى: {LTBLUE}{VELOCITY}
STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK} الوزن: {LTBLUE}{WEIGHT_S} {BLACK} الطاقة: {LTBLUE}{POWER}{BLACK} السرعة القصوى: {LTBLUE}{VELOCITY} {BLACK} قدرة السحب القصوى: {LTBLUE}{FORCE} STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK} الوزن {LTBLUE}{WEIGHT_S} {BLACK} القوة {LTBLUE}{POWER}{BLACK} السرعة القصوى {LTBLUE}{VELOCITY} {BLACK} قوة السحب القصوى {LTBLUE}{FORCE}
STR_885F_PROFIT_THIS_YEAR_LAST_YEAR :{BLACK} الدخل هذه السنة: {LTBLUE}{CURRENCY} (السنة السابقة{CURRENCY}) STR_885F_PROFIT_THIS_YEAR_LAST_YEAR :{BLACK} الدخل هذه السنة: {LTBLUE}{CURRENCY} (السنة السابقة{CURRENCY})
STR_8860_RELIABILITY_BREAKDOWNS :{BLACK}الصلاحية: {LTBLUE}{COMMA}% {BLACK} مرات التعطيل منذ الصيانة السابقة: {LTBLUE}{COMMA} STR_8860_RELIABILITY_BREAKDOWNS :{BLACK}الصلاحية: {LTBLUE}{COMMA}% {BLACK} مرات التعطيل منذ الصيانة السابقة: {LTBLUE}{COMMA}
STR_8861_STOPPED :{RED} متوقف STR_8861_STOPPED :{RED} متوقف
@@ -2855,7 +2857,7 @@ STR_9004_NEW_VEHICLES :{BLACK}عربا
STR_9006_NEW_ROAD_VEHICLES :{WHITE}عربات جديدة STR_9006_NEW_ROAD_VEHICLES :{WHITE}عربات جديدة
STR_9007_BUILD_VEHICLE :{BLACK}شراء عربة STR_9007_BUILD_VEHICLE :{BLACK}شراء عربة
STR_9009_CAN_T_BUILD_ROAD_VEHICLE :{WHITE}لا يمكن شراء عربة ... STR_9009_CAN_T_BUILD_ROAD_VEHICLE :{WHITE}لا يمكن شراء عربة ...
STR_900C_DETAILS :{WHITE}{VEHICLE} )التفاصيل( STR_900C_DETAILS :{WHITE}{VEHICLE} (التفاصيل)
STR_900D_AGE_RUNNING_COST_YR :{BLACK}العمر: {LTBLUE}{STRING}{BLACK} تكلفة التشغيل: {LTBLUE}{CURRENCY}/سنة STR_900D_AGE_RUNNING_COST_YR :{BLACK}العمر: {LTBLUE}{STRING}{BLACK} تكلفة التشغيل: {LTBLUE}{CURRENCY}/سنة
STR_900E_MAX_SPEED :{BLACK}السرعة القصوى: {LTBLUE}{VELOCITY} STR_900E_MAX_SPEED :{BLACK}السرعة القصوى: {LTBLUE}{VELOCITY}
STR_900F_PROFIT_THIS_YEAR_LAST_YEAR :{BLACK}الدخل هذة السنة: {LTBLUE}{CURRENCY} (السنة الماضية{CURRENCY}) STR_900F_PROFIT_THIS_YEAR_LAST_YEAR :{BLACK}الدخل هذة السنة: {LTBLUE}{CURRENCY} (السنة الماضية{CURRENCY})
@@ -3170,6 +3172,10 @@ STR_NEWGRF_BROKEN :{WHITE}حركا
STR_NEWGRF_BROKEN_VEHICLE_LENGTH :{WHITE}يغير طول العربة من '{1:ENGINE}' عندما تكون داخل المستودع STR_NEWGRF_BROKEN_VEHICLE_LENGTH :{WHITE}يغير طول العربة من '{1:ENGINE}' عندما تكون داخل المستودع
STR_BROKEN_VEHICLE_LENGTH :{WHITE} قطار '{VEHICLE}' المملوك ل'{COMPANY}' لدية طول غير مسرح . غالبا نتج عن مشكلة في NewGRF. اللعبة قد تتوقف او تتعطل . STR_BROKEN_VEHICLE_LENGTH :{WHITE} قطار '{VEHICLE}' المملوك ل'{COMPANY}' لدية طول غير مسرح . غالبا نتج عن مشكلة في NewGRF. اللعبة قد تتوقف او تتعطل .
STR_NEWGRF_BUGGY :{WHITE} الرسوميات الجديدة '{0:STRING}' تعطي معلومات غير صحيحة.
STR_NEWGRF_BUGGY_ARTICULATED_CARGO :{WHITE} التكلفة \ السعة ل '{1:ENGINE}' تختلف ما بين قائمة الشراء و مابعد البناء. قد يتسبب هذا في فشل التبديل الذاتي.
STR_NEWGRF_BUGGY_ENDLESS_PRODUCTION_CALLBACK :{WHITE}'{1:STRING}' تسبب بدورة غير منتهية في نداء الانتاج
STR_LOADGAME_REMOVED_TRAMS :{WHITE}اللعبة حفظت بنسخة لا تدعم الترام. كل ما يتعلق بالترام حذف. STR_LOADGAME_REMOVED_TRAMS :{WHITE}اللعبة حفظت بنسخة لا تدعم الترام. كل ما يتعلق بالترام حذف.
STR_CURRENCY_WINDOW :{WHITE}عمله مخصصه STR_CURRENCY_WINDOW :{WHITE}عمله مخصصه
@@ -3239,7 +3245,7 @@ STR_REPLACE_HELP_REPLACE_INFO_TAB :{BLACK} اعر
STR_REPLACE_REMOVE_WAGON :{BLACK} ازالة العربات: {ORANGE}{SKIP}{STRING} STR_REPLACE_REMOVE_WAGON :{BLACK} ازالة العربات: {ORANGE}{SKIP}{STRING}
STR_REPLACE_REMOVE_WAGON_HELP :{BLACK} المحافظة على طول القطار بازالة عربات ابتداء من المقدمة عند التبديل - عندما يكون التبدل ينتج قطارا اطول. STR_REPLACE_REMOVE_WAGON_HELP :{BLACK} المحافظة على طول القطار بازالة عربات ابتداء من المقدمة عند التبديل - عندما يكون التبدل ينتج قطارا اطول.
STR_REPLACE_ENGINE_WAGON_SELECT :{BLACK} تبديل: {ORANGE}{SKIP}{SKIP}{STRING} STR_REPLACE_ENGINE_WAGON_SELECT :{BLACK} تبديل: {ORANGE}{SKIP}{SKIP}{STRING}
STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK} المميزات التجريبية {} بدل بين اطار المحركات و اطار العربات {} تبديل العربات سوف يكون ممكنا اذا كان يحمل نفس نوع الشحنة السابقة. هذا سيكون لكل العربات عند بدأ التبديل. STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK} بدل بين نافذة استبدال المحركات و العربات
STR_RAIL_VEHICLE_NOT_AVAILABLE :{WHITE}العربة غير متاحة STR_RAIL_VEHICLE_NOT_AVAILABLE :{WHITE}العربة غير متاحة
STR_ROAD_VEHICLE_NOT_AVAILABLE :{WHITE} العربات غير متاحة STR_ROAD_VEHICLE_NOT_AVAILABLE :{WHITE} العربات غير متاحة
STR_SHIP_NOT_AVAILABLE :{WHITE} السفن غير متاحة STR_SHIP_NOT_AVAILABLE :{WHITE} السفن غير متاحة
@@ -3580,6 +3586,7 @@ STR_AI_RANDOM_AI :ذكاء صنا
STR_AI_SETTINGS_CAPTION :{WHITE} خصائص الذكاء الصناعي STR_AI_SETTINGS_CAPTION :{WHITE} خصائص الذكاء الصناعي
STR_AI_AUTHOR :المحرر: STR_AI_AUTHOR :المحرر:
STR_AI_VERSION :النسخة: STR_AI_VERSION :النسخة:
STR_AI_PLEASE_REPORT_CRASH :{WHITE} واحد من الذكاء الصناعي فشل. الرجاء ابلاغ المبرمج عنه مصحوبا بصورة من شاشة مصحح الاخطاء.
######## ########
############ town controlled noise level ############ town controlled noise level

View File

@@ -608,6 +608,7 @@ STR_CANNOT_GENERATE_TOWN :{WHITE}Impossí
STR_NO_SPACE_FOR_TOWN :{WHITE}...não há mais espaço no mapa STR_NO_SPACE_FOR_TOWN :{WHITE}...não há mais espaço no mapa
STR_023B_INCREASE_SIZE_OF_TOWN :{BLACK}Aumentar o tamanho da cidade STR_023B_INCREASE_SIZE_OF_TOWN :{BLACK}Aumentar o tamanho da cidade
STR_023C_EXPAND :{BLACK}Expandir STR_023C_EXPAND :{BLACK}Expandir
STR_TOWN_EXPAND_WARN_NO_ROADS :{WHITE}A cidade não irá construir estradas. Você pode ativar essa opção através de Config. Avançadas>Economia>Cidades.
STR_023D_RANDOM_TOWN :{BLACK}Cidade Aleatória STR_023D_RANDOM_TOWN :{BLACK}Cidade Aleatória
STR_023E_BUILD_TOWN_IN_RANDOM_LOCATION :{BLACK}Construir cidade num local aleatório STR_023E_BUILD_TOWN_IN_RANDOM_LOCATION :{BLACK}Construir cidade num local aleatório
STR_0285_CAN_T_BUILD_HERE :{WHITE}Impossível construir {STRING} aqui... STR_0285_CAN_T_BUILD_HERE :{WHITE}Impossível construir {STRING} aqui...
@@ -667,7 +668,6 @@ STR_FULL :Completo
STR_02BA :{SILVER}- - {COMPANY} - - STR_02BA :{SILVER}- - {COMPANY} - -
STR_02BB_TOWN_DIRECTORY :Lista de cidades STR_02BB_TOWN_DIRECTORY :Lista de cidades
STR_02BD :{BLACK}{STRING} STR_02BD :{BLACK}{STRING}
STR_02BF_CUSTOM :Personalizado
STR_CHECKMARK :{CHECKMARK} STR_CHECKMARK :{CHECKMARK}
############ range for menu starts ############ range for menu starts
@@ -786,7 +786,7 @@ STR_TOWNNAME_SWEDISH :Sueco
STR_TOWNNAME_DUTCH :Holandês STR_TOWNNAME_DUTCH :Holandês
STR_TOWNNAME_FINNISH :Finlandês STR_TOWNNAME_FINNISH :Finlandês
STR_TOWNNAME_POLISH :Polaco STR_TOWNNAME_POLISH :Polaco
STR_TOWNNAME_SLOVAKISH :Eslovaco STR_TOWNNAME_SLOVAK :Eslovaco
STR_TOWNNAME_NORWEGIAN :Noreguês STR_TOWNNAME_NORWEGIAN :Noreguês
STR_TOWNNAME_HUNGARIAN :Húngaro STR_TOWNNAME_HUNGARIAN :Húngaro
STR_TOWNNAME_AUSTRIAN :Austríaco STR_TOWNNAME_AUSTRIAN :Austríaco
@@ -819,7 +819,7 @@ STR_CURR_ITL :Lira Italiana (
STR_CURR_NLG :Guilda Holandesa (NLG) STR_CURR_NLG :Guilda Holandesa (NLG)
STR_CURR_NOK :Coroa Norueguesa (NOK) STR_CURR_NOK :Coroa Norueguesa (NOK)
STR_CURR_PLN :Zloty Polaco (PLN) STR_CURR_PLN :Zloty Polaco (PLN)
STR_CURR_ROL :Lei Romeno (ROL) STR_CURR_RON :Lei Romeno (RON)
STR_CURR_RUR :Rublo Russo (RUR) STR_CURR_RUR :Rublo Russo (RUR)
STR_CURR_SIT :Tolar Eslovênio (SIT) STR_CURR_SIT :Tolar Eslovênio (SIT)
STR_CURR_SEK :Coroa Sueca (SEK) STR_CURR_SEK :Coroa Sueca (SEK)
@@ -1198,6 +1198,7 @@ STR_CANT_REMOVE_TRAIN_WAYPOINT :{WHITE}Impossí
STR_BUILD_AUTORAIL_TIP :{BLACK}Construir ferrovias usando o modo automático STR_BUILD_AUTORAIL_TIP :{BLACK}Construir ferrovias usando o modo automático
STR_NO_TOWN_IN_SCENARIO :{WHITE}...não existe cidade neste cenário STR_NO_TOWN_IN_SCENARIO :{WHITE}...não existe cidade neste cenário
STR_COULD_NOT_CREATE_TOWN :{WHITE}Geração do mapa abortada... {}... não há locais para criação de cidades
STR_MANY_RANDOM_TOWNS :{BLACK}Várias cidades aleatórias STR_MANY_RANDOM_TOWNS :{BLACK}Várias cidades aleatórias
STR_RANDOM_TOWNS_TIP :{BLACK}Cobrir o mapa com cidades colocadas aleatoriamente STR_RANDOM_TOWNS_TIP :{BLACK}Cobrir o mapa com cidades colocadas aleatoriamente
@@ -2129,6 +2130,7 @@ STR_NUM_VERY_LOW :Muito baixo
STR_6816_LOW :Baixo STR_6816_LOW :Baixo
STR_6817_NORMAL :Normal STR_6817_NORMAL :Normal
STR_6818_HIGH :Alto STR_6818_HIGH :Alto
STR_02BF_CUSTOM :Personalizado
STR_6819 :{BLACK}{SMALLLEFTARROW} STR_6819 :{BLACK}{SMALLLEFTARROW}
STR_681A :{BLACK}{SMALLRIGHTARROW} STR_681A :{BLACK}{SMALLRIGHTARROW}
STR_681B_VERY_SLOW :Muito Lento STR_681B_VERY_SLOW :Muito Lento
@@ -2240,6 +2242,7 @@ STR_704A_SELECT_FEMALE_FACES :{BLACK}Rostos f
STR_704B_GENERATE_RANDOM_NEW_FACE :{BLACK}Gerar novo rosto aleatoriamente STR_704B_GENERATE_RANDOM_NEW_FACE :{BLACK}Gerar novo rosto aleatoriamente
STR_704C_KEY :{BLACK}Legenda STR_704C_KEY :{BLACK}Legenda
STR_704D_SHOW_KEY_TO_GRAPHS :{BLACK}Exibir legenda dos gráficos STR_704D_SHOW_KEY_TO_GRAPHS :{BLACK}Exibir legenda dos gráficos
STR_SHOW_DETAILED_PERFORMANCE_RATINGS :{BLACK}Exibir avaliações de performance detalhadas
STR_704E_KEY_TO_COMPANY_GRAPHS :{WHITE}Legendas dos gráficos da empresa STR_704E_KEY_TO_COMPANY_GRAPHS :{WHITE}Legendas dos gráficos da empresa
STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY :{BLACK}Clique aqui para alternar exibir/ocultar empresas no gráfico STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY :{BLACK}Clique aqui para alternar exibir/ocultar empresas no gráfico
STR_7050_UNITS_OF_CARGO_DELIVERED :{WHITE}Unidades de carga entregues STR_7050_UNITS_OF_CARGO_DELIVERED :{WHITE}Unidades de carga entregues
@@ -2801,7 +2804,7 @@ STR_VEHICLE_INFO_COST_WEIGHT_SPEED_POWER :{BLACK}Custo: {
STR_885C_BROKEN_DOWN :{RED}Quebrado STR_885C_BROKEN_DOWN :{RED}Quebrado
STR_885D_AGE_RUNNING_COST_YR :{BLACK}Idade: {LTBLUE}{STRING}{BLACK} Custo de circulação: {LTBLUE}{CURRENCY}/ano STR_885D_AGE_RUNNING_COST_YR :{BLACK}Idade: {LTBLUE}{STRING}{BLACK} Custo de circulação: {LTBLUE}{CURRENCY}/ano
STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Peso: {LTBLUE}{WEIGHT_S} {BLACK}Potência: {LTBLUE}{POWER}{BLACK} Velocidade Máx.: {LTBLUE}{VELOCITY} STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Peso: {LTBLUE}{WEIGHT_S} {BLACK}Potência: {LTBLUE}{POWER}{BLACK} Velocidade Máx.: {LTBLUE}{VELOCITY}
STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Peso: {LTBLUE}{WEIGHT_S} {BLACK}Potência: {LTBLUE}{POWER}{BLACK} Velocidade: {LTBLUE}{VELOCITY} {BLACK}Manutenção.: {LTBLUE}{FORCE} STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Peso: {LTBLUE}{WEIGHT_S} {BLACK}Força: {LTBLUE}{POWER}{BLACK} Velocidade Max: {LTBLUE}{VELOCITY} {BLACK}Max. T.E.: {LTBLUE}{FORCE}
STR_885F_PROFIT_THIS_YEAR_LAST_YEAR :{BLACK}Lucro anual: {LTBLUE}{CURRENCY} (último ano: {CURRENCY}) STR_885F_PROFIT_THIS_YEAR_LAST_YEAR :{BLACK}Lucro anual: {LTBLUE}{CURRENCY} (último ano: {CURRENCY})
STR_8860_RELIABILITY_BREAKDOWNS :{BLACK}Confiabilidade: {LTBLUE}{COMMA}% {BLACK}Quebras desde a última manutenção: {LTBLUE}{COMMA} STR_8860_RELIABILITY_BREAKDOWNS :{BLACK}Confiabilidade: {LTBLUE}{COMMA}% {BLACK}Quebras desde a última manutenção: {LTBLUE}{COMMA}
STR_8861_STOPPED :{RED}Parado STR_8861_STOPPED :{RED}Parado
@@ -3169,6 +3172,10 @@ STR_NEWGRF_BROKEN :{WHITE} '{0:STR
STR_NEWGRF_BROKEN_VEHICLE_LENGTH :{WHITE}Muda o tamanho de um veículo para '{1:ENGINE}' apesar de não estar em um depósito. STR_NEWGRF_BROKEN_VEHICLE_LENGTH :{WHITE}Muda o tamanho de um veículo para '{1:ENGINE}' apesar de não estar em um depósito.
STR_BROKEN_VEHICLE_LENGTH :{WHITE}Trem '{VEHICLE}' de '{COMPANY}' tem um tamanho inválido. Provavelmente causado por um NewGRF. O jogo pode travar ou sair de sincronia. STR_BROKEN_VEHICLE_LENGTH :{WHITE}Trem '{VEHICLE}' de '{COMPANY}' tem um tamanho inválido. Provavelmente causado por um NewGRF. O jogo pode travar ou sair de sincronia.
STR_NEWGRF_BUGGY :{WHITE}O NewGRF '{0:STRING}' retorna informação incorreta.
STR_NEWGRF_BUGGY_ARTICULATED_CARGO :{WHITE}A informação de adaptação para '{1:ENGINE}' difere da lista de compras após a construção. Isso pode causar erros na autosubstituição/autoadaptação.
STR_NEWGRF_BUGGY_ENDLESS_PRODUCTION_CALLBACK :{WHITE}'{1:STRING}' causou um loop infinito no callback da produção.
STR_LOADGAME_REMOVED_TRAMS :{WHITE}Jogo foi salvo numa versão sem suporte a bondes. Todos os bondes foram removidos. STR_LOADGAME_REMOVED_TRAMS :{WHITE}Jogo foi salvo numa versão sem suporte a bondes. Todos os bondes foram removidos.
STR_CURRENCY_WINDOW :{WHITE}Moeda Modificada STR_CURRENCY_WINDOW :{WHITE}Moeda Modificada
@@ -3238,7 +3245,7 @@ STR_REPLACE_HELP_REPLACE_INFO_TAB :{BLACK}Exibe o
STR_REPLACE_REMOVE_WAGON :{BLACK}Remoção de vagões: {ORANGE}{SKIP}{STRING} STR_REPLACE_REMOVE_WAGON :{BLACK}Remoção de vagões: {ORANGE}{SKIP}{STRING}
STR_REPLACE_REMOVE_WAGON_HELP :{BLACK}Faz autosubstituição manter o tamanho do trem removendo vagões (começando pela frente), se ao substituir a locomotiva o trem ficar maior. STR_REPLACE_REMOVE_WAGON_HELP :{BLACK}Faz autosubstituição manter o tamanho do trem removendo vagões (começando pela frente), se ao substituir a locomotiva o trem ficar maior.
STR_REPLACE_ENGINE_WAGON_SELECT :{BLACK}Substituindo: {ORANGE}{SKIP}{SKIP}{STRING} STR_REPLACE_ENGINE_WAGON_SELECT :{BLACK}Substituindo: {ORANGE}{SKIP}{SKIP}{STRING}
STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK} EXPERIMENTAL {}Troca entre substituir máquinas e substituir vagões.{} Só haverá a substituição se puder haver o reacondicionamento para carregar o mesmo tipo de carga. Essa checagem ocorre para cada vagão enquanto a substituição ocorre. STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK}Troca entre substituir máquinas e substituir vagões
STR_RAIL_VEHICLE_NOT_AVAILABLE :{WHITE}Trem não disponível STR_RAIL_VEHICLE_NOT_AVAILABLE :{WHITE}Trem não disponível
STR_ROAD_VEHICLE_NOT_AVAILABLE :{WHITE}Automóvel não disponível STR_ROAD_VEHICLE_NOT_AVAILABLE :{WHITE}Automóvel não disponível
STR_SHIP_NOT_AVAILABLE :{WHITE}Embarcação não disponível STR_SHIP_NOT_AVAILABLE :{WHITE}Embarcação não disponível
@@ -3579,6 +3586,7 @@ STR_AI_RANDOM_AI :IA Randômica
STR_AI_SETTINGS_CAPTION :{WHITE}Parâmetros da IA STR_AI_SETTINGS_CAPTION :{WHITE}Parâmetros da IA
STR_AI_AUTHOR :Progamador: STR_AI_AUTHOR :Progamador:
STR_AI_VERSION :Versão: STR_AI_VERSION :Versão:
STR_AI_PLEASE_REPORT_CRASH :{WHITE}Uma das IA's travou. Favor relatar ao autor da IA com uma screenshot da Janela de Debug da IA.
######## ########
############ town controlled noise level ############ town controlled noise level

View File

@@ -668,7 +668,6 @@ STR_FULL :Пълно
STR_02BA :{SILVER}- - {COMPANY} - - STR_02BA :{SILVER}- - {COMPANY} - -
STR_02BB_TOWN_DIRECTORY :Списък от градовете STR_02BB_TOWN_DIRECTORY :Списък от градовете
STR_02BD :{BLACK}{STRING} STR_02BD :{BLACK}{STRING}
STR_02BF_CUSTOM :Изборен
STR_CHECKMARK :{CHECKMARK} STR_CHECKMARK :{CHECKMARK}
############ range for menu starts ############ range for menu starts
@@ -786,7 +785,7 @@ STR_TOWNNAME_SWEDISH :шведски
STR_TOWNNAME_DUTCH :холандски STR_TOWNNAME_DUTCH :холандски
STR_TOWNNAME_FINNISH :финландски STR_TOWNNAME_FINNISH :финландски
STR_TOWNNAME_POLISH :полски STR_TOWNNAME_POLISH :полски
STR_TOWNNAME_SLOVAKISH :словашки STR_TOWNNAME_SLOVAK :словашки
STR_TOWNNAME_NORWEGIAN :норвежки STR_TOWNNAME_NORWEGIAN :норвежки
STR_TOWNNAME_HUNGARIAN :унгарски STR_TOWNNAME_HUNGARIAN :унгарски
STR_TOWNNAME_AUSTRIAN :австрийски STR_TOWNNAME_AUSTRIAN :австрийски
@@ -819,7 +818,7 @@ STR_CURR_ITL :италиан
STR_CURR_NLG :холандски гулден (NLG) STR_CURR_NLG :холандски гулден (NLG)
STR_CURR_NOK :норвежка крона (NOK) STR_CURR_NOK :норвежка крона (NOK)
STR_CURR_PLN :полска злота (PLN) STR_CURR_PLN :полска злота (PLN)
STR_CURR_ROL :румънска лея (ROL) STR_CURR_RON :румънска лея (RON)
STR_CURR_RUR :руска рубла (RUR) STR_CURR_RUR :руска рубла (RUR)
STR_CURR_SIT :словенски толар (SIT) STR_CURR_SIT :словенски толар (SIT)
STR_CURR_SEK :шведска крона (SEK) STR_CURR_SEK :шведска крона (SEK)
@@ -916,6 +915,8 @@ STR_CONFIG_SETTING_AUTOSLOPE :{LTBLUE}Тер
STR_CONFIG_SETTING_CATCHMENT :{LTBLUE}По-реалистична зона за обслужване: {ORANGE}{STRING} STR_CONFIG_SETTING_CATCHMENT :{LTBLUE}По-реалистична зона за обслужване: {ORANGE}{STRING}
STR_CONFIG_SETTING_EXTRADYNAMITE :{LTBLUE}Разрушаване на повече градска собственост: {ORANGE}{STRING.n} STR_CONFIG_SETTING_EXTRADYNAMITE :{LTBLUE}Разрушаване на повече градска собственост: {ORANGE}{STRING.n}
STR_CONFIG_SETTING_MAMMOTHTRAINS :{LTBLUE}Много дълги влакове: {ORANGE}{STRING.p} STR_CONFIG_SETTING_MAMMOTHTRAINS :{LTBLUE}Много дълги влакове: {ORANGE}{STRING.p}
STR_CONFIG_SETTING_TRAIN_ACCELERATION_MODEL_ORIGINAL :Оригинален
STR_CONFIG_SETTING_TRAIN_ACCELERATION_MODEL_REALISTIC :Реалистичен
STR_CONFIG_SETTING_FORBID_90_DEG :{LTBLUE}Забрана 90 градусови завои: {ORANGE}{STRING.f}{LTBLUE} (трябва NPF) STR_CONFIG_SETTING_FORBID_90_DEG :{LTBLUE}Забрана 90 градусови завои: {ORANGE}{STRING.f}{LTBLUE} (трябва NPF)
STR_CONFIG_SETTING_JOINSTATIONS :{LTBLUE}Обединяване на гари построени една до друга: {ORANGE}{STRING} STR_CONFIG_SETTING_JOINSTATIONS :{LTBLUE}Обединяване на гари построени една до друга: {ORANGE}{STRING}
STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :{LTBLUE}Позволено е присъединяването на станции, които не се допират: {ORANGE}{STRING} STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :{LTBLUE}Позволено е присъединяването на станции, които не се допират: {ORANGE}{STRING}
@@ -1059,6 +1060,7 @@ STR_CONFIG_SETTING_DISABLE_ELRAILS :{LTBLUE}Без
STR_CONFIG_SETTING_COLOURED_NEWS_YEAR :{LTBLUE}Цветни нови се появяват през: {ORANGE}{STRING} STR_CONFIG_SETTING_COLOURED_NEWS_YEAR :{LTBLUE}Цветни нови се появяват през: {ORANGE}{STRING}
STR_CONFIG_SETTING_STARTING_YEAR :{LTBLUE}Начална година: {ORANGE}{STRING} STR_CONFIG_SETTING_STARTING_YEAR :{LTBLUE}Начална година: {ORANGE}{STRING}
STR_CONFIG_SETTING_ALLOW_SHARES :{LTBLUE}Разреши купуване на акции от други компании: {ORANGE}{STRING}
STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY :{LTBLUE}Поставяне семафори всеки: {ORANGE}{STRING} плочк{P а и} STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY :{LTBLUE}Поставяне семафори всеки: {ORANGE}{STRING} плочк{P а и}
STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE :{LTBLUE}Поставяне на семафори преди: {ORANGE}{STRING} година STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE :{LTBLUE}Поставяне на семафори преди: {ORANGE}{STRING} година
STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI :{LTBLUE}Инструменти за сигналите: {ORANGE}{STRING.p} STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI :{LTBLUE}Инструменти за сигналите: {ORANGE}{STRING.p}
@@ -1071,11 +1073,13 @@ STR_CONFIG_SETTING_CYCLE_SIGNAL_NORMAL :Само нор
STR_CONFIG_SETTING_CYCLE_SIGNAL_PBS :Само напреднат STR_CONFIG_SETTING_CYCLE_SIGNAL_PBS :Само напреднат
STR_CONFIG_SETTING_CYCLE_SIGNAL_ALL :Всички STR_CONFIG_SETTING_CYCLE_SIGNAL_ALL :Всички
STR_CONFIG_SETTING_TOWN_LAYOUT :{LTBLUE}Пътно оформление за нови градове: {ORANGE}{STRING}
STR_CONFIG_SETTING_TOWN_LAYOUT_DEFAULT :default STR_CONFIG_SETTING_TOWN_LAYOUT_DEFAULT :default
STR_CONFIG_SETTING_TOWN_LAYOUT_BETTER_ROADS :по-добри пътища STR_CONFIG_SETTING_TOWN_LAYOUT_BETTER_ROADS :по-добри пътища
STR_CONFIG_SETTING_TOWN_LAYOUT_2X2_GRID :2х2 мрежа STR_CONFIG_SETTING_TOWN_LAYOUT_2X2_GRID :2х2 мрежа
STR_CONFIG_SETTING_TOWN_LAYOUT_3X3_GRID :3х3 мрежа STR_CONFIG_SETTING_TOWN_LAYOUT_3X3_GRID :3х3 мрежа
STR_CONFIG_SETTING_TOWN_LAYOUT_RANDOM :случаен STR_CONFIG_SETTING_TOWN_LAYOUT_RANDOM :случаен
STR_CONFIG_SETTING_ALLOW_TOWN_ROADS :{LTBLUE}Градове са разрешени да изграждат пътища: {ORANGE}{STRING}
STR_CONFIG_SETTING_NOISE_LEVEL :{LTBLUE}Градовете контролират нивото на шум от летищата: {ORANGE}{STRING} STR_CONFIG_SETTING_NOISE_LEVEL :{LTBLUE}Градовете контролират нивото на шум от летищата: {ORANGE}{STRING}
STR_CONFIG_SETTING_TOOLBAR_POS :{LTBLUE}Позиция на лентата за инструменти: {ORANGE}{STRING} STR_CONFIG_SETTING_TOOLBAR_POS :{LTBLUE}Позиция на лентата за инструменти: {ORANGE}{STRING}
@@ -1102,6 +1106,15 @@ STR_CONFIG_SETTING_VEHICLES :{ORANGE}Авт
STR_CONFIG_SETTING_STATIONS :{ORANGE}Станции STR_CONFIG_SETTING_STATIONS :{ORANGE}Станции
STR_CONFIG_SETTING_ECONOMY :{ORANGE}Икономика STR_CONFIG_SETTING_ECONOMY :{ORANGE}Икономика
STR_CONFIG_SETTING_AI :{ORANGE}Съперници STR_CONFIG_SETTING_AI :{ORANGE}Съперници
STR_CONFIG_SETTING_DISPLAY_OPTIONS :{ORANGE}Покажи опциите
STR_CONFIG_SETTING_INTERACTION :{ORANGE}Взаимодействие
STR_CONFIG_SETTING_CONSTRUCTION_SIGNALS :{ORANGE}Сигнали
STR_CONFIG_SETTING_STATIONS_CARGOHANDLING :{ORANGE}Обработката на товари
STR_CONFIG_SETTING_AI_NPC :{ORANGE}Компютърни играчи
STR_CONFIG_SETTING_VEHICLES_ROUTING :{ORANGE}Маршрутизация
STR_CONFIG_SETTING_VEHICLES_TRAINS :{ORANGE}Влакове
STR_CONFIG_SETTING_ECONOMY_TOWNS :{ORANGE}Градове
STR_CONFIG_SETTING_ECONOMY_INDUSTRIES :{ORANGE}Индустрии
STR_CONFIG_SETTING_PATHFINDER_FOR_TRAINS :{LTBLUE}Пътенамирач за влакове: {ORANGE}{STRING} STR_CONFIG_SETTING_PATHFINDER_FOR_TRAINS :{LTBLUE}Пътенамирач за влакове: {ORANGE}{STRING}
STR_CONFIG_SETTING_PATHFINDER_FOR_TRAINS_NTP :NTP {RED}(не се препоръчва) STR_CONFIG_SETTING_PATHFINDER_FOR_TRAINS_NTP :NTP {RED}(не се препоръчва)
@@ -1407,6 +1420,7 @@ STR_NETWORK_GIVE_MONEY_CAPTION :{WHITE}Въве
STR_NETWORK_NEED_GAME_PASSWORD_CAPTION :{WHITE}Сървъра е защитен. Въведете парола STR_NETWORK_NEED_GAME_PASSWORD_CAPTION :{WHITE}Сървъра е защитен. Въведете парола
STR_NETWORK_NEED_COMPANY_PASSWORD_CAPTION :{WHITE}Компанията е защитена. Въведете парола STR_NETWORK_NEED_COMPANY_PASSWORD_CAPTION :{WHITE}Компанията е защитена. Въведете парола
STR_NETWORK_CLIENT_LIST :{WHITE}Списък с играчите STR_NETWORK_CLIENT_LIST :{WHITE}Списък с играчите
STR_NETWORK_COMPANY_LIST_NEW_COMPANY :{WHITE}Нова Фирма
STR_NETWORK_ERR_NOTAVAILABLE :{WHITE} Не са открити мрежови устройства или е компилирано без ENABLE_NETWORK STR_NETWORK_ERR_NOTAVAILABLE :{WHITE} Не са открити мрежови устройства или е компилирано без ENABLE_NETWORK
STR_NETWORK_ERR_NOSERVER :{WHITE} Не може да открия мрежови игри STR_NETWORK_ERR_NOSERVER :{WHITE} Не може да открия мрежови игри
@@ -1655,6 +1669,7 @@ STR_200B_CENTER_THE_MAIN_VIEW_ON :{BLACK}Цент
STR_200C_CHANGE_TOWN_NAME :{BLACK}Промяна на име на град STR_200C_CHANGE_TOWN_NAME :{BLACK}Промяна на име на град
STR_200D_PASSENGERS_LAST_MONTH_MAX :{BLACK}Пасажери през последния месец: {ORANGE}{COMMA}{BLACK} максимум: {ORANGE}{COMMA} STR_200D_PASSENGERS_LAST_MONTH_MAX :{BLACK}Пасажери през последния месец: {ORANGE}{COMMA}{BLACK} максимум: {ORANGE}{COMMA}
STR_200E_MAIL_LAST_MONTH_MAX :{BLACK}Поща през последния месец: {ORANGE}{COMMA}{BLACK} максимум: {ORANGE}{COMMA} STR_200E_MAIL_LAST_MONTH_MAX :{BLACK}Поща през последния месец: {ORANGE}{COMMA}{BLACK} максимум: {ORANGE}{COMMA}
STR_CARGO_FOR_TOWNGROWTH_REQUIRED :{SETX 20}{ORANGE}{STRING}{BLACK} необходим
STR_200F_TALL_OFFICE_BLOCK :Висока офис сграда STR_200F_TALL_OFFICE_BLOCK :Висока офис сграда
STR_2010_OFFICE_BLOCK :Офис сграда STR_2010_OFFICE_BLOCK :Офис сграда
STR_2011_SMALL_BLOCK_OF_FLATS :Малък жилищен блок STR_2011_SMALL_BLOCK_OF_FLATS :Малък жилищен блок
@@ -2095,6 +2110,7 @@ STR_NUM_VERY_LOW :мн. малк
STR_6816_LOW :малко STR_6816_LOW :малко
STR_6817_NORMAL :нормално STR_6817_NORMAL :нормално
STR_6818_HIGH :голямо STR_6818_HIGH :голямо
STR_02BF_CUSTOM :Изборен
STR_6819 :{BLACK}{SMALLLEFTARROW} STR_6819 :{BLACK}{SMALLLEFTARROW}
STR_681A :{BLACK}{SMALLRIGHTARROW} STR_681A :{BLACK}{SMALLRIGHTARROW}
STR_681B_VERY_SLOW :много бавно STR_681B_VERY_SLOW :много бавно
@@ -3063,6 +3079,7 @@ STR_PERFORMANCE_DETAIL_LOAN_TIP :{BLACK}Сума
STR_PERFORMANCE_DETAIL_TOTAL_TIP :{BLACK}Натрупани точки от общия възможен брой STR_PERFORMANCE_DETAIL_TOTAL_TIP :{BLACK}Натрупани точки от общия възможен брой
STR_NEWGRF_SETTINGS_BUTTON :{BLACK}NewGRF настройки STR_NEWGRF_SETTINGS_BUTTON :{BLACK}NewGRF настройки
STR_NEWGRF_SETTINGS_BUTTON_TIP :{BLACK}Покажи NewGRF настройки
STR_NEWGRF_SETTINGS_CAPTION :{WHITE}Newgrf настройки STR_NEWGRF_SETTINGS_CAPTION :{WHITE}Newgrf настройки
STR_NEWGRF_APPLY_CHANGES :{BLACK}Прилагане на промените STR_NEWGRF_APPLY_CHANGES :{BLACK}Прилагане на промените
STR_NEWGRF_TOGGLE_PALETTE :{BLACK}Превключване на палитрата STR_NEWGRF_TOGGLE_PALETTE :{BLACK}Превключване на палитрата
@@ -3092,6 +3109,7 @@ STR_NEWGRF_ERROR_UNEXPECTED_SPRITE :Unexpected spri
STR_NEWGRF_ERROR_UNKNOWN_PROPERTY :Unknown Action 0 property. STR_NEWGRF_ERROR_UNKNOWN_PROPERTY :Unknown Action 0 property.
STR_NEWGRF_ERROR_INVALID_ID :Attempt to use invalid ID. STR_NEWGRF_ERROR_INVALID_ID :Attempt to use invalid ID.
STR_NEWGRF_ERROR_CORRUPT_SPRITE :{YELLOW}{STRING} съдържа повреден обект. Вскички повредени обекти ще бъдат показани като червена въпросителна (?). STR_NEWGRF_ERROR_CORRUPT_SPRITE :{YELLOW}{STRING} съдържа повреден обект. Вскички повредени обекти ще бъдат показани като червена въпросителна (?).
STR_NEWGRF_ERROR_MULTIPLE_ACTION_8 :Съдържа множество Действие 8 вписвания.
STR_NEWGRF_PRESET_LIST_TIP :{BLACK}Зареди избрания шаблон STR_NEWGRF_PRESET_LIST_TIP :{BLACK}Зареди избрания шаблон
STR_NEWGRF_PRESET_SAVE :{BLACK}Запиши шаблон STR_NEWGRF_PRESET_SAVE :{BLACK}Запиши шаблон
@@ -3132,6 +3150,8 @@ STR_NEWGRF_BROKEN :{WHITE}Пове
STR_NEWGRF_BROKEN_VEHICLE_LENGTH :{WHITE}Смяна на дължината на превозното средство '{1:ENGINE}', когато не е в депо. STR_NEWGRF_BROKEN_VEHICLE_LENGTH :{WHITE}Смяна на дължината на превозното средство '{1:ENGINE}', когато не е в депо.
STR_BROKEN_VEHICLE_LENGTH :{WHITE}Влак '{VEHICLE}' на '{COMPANY}' има невалидна дължина. Това вероятно е породено от проблеми с NewGRFs. Играта може да загуби синхронизация или да забие. STR_BROKEN_VEHICLE_LENGTH :{WHITE}Влак '{VEHICLE}' на '{COMPANY}' има невалидна дължина. Това вероятно е породено от проблеми с NewGRFs. Играта може да загуби синхронизация или да забие.
STR_NEWGRF_BUGGY :{WHITE}NewGRF '{STRING}' дава невярна информация.
STR_LOADGAME_REMOVED_TRAMS :{WHITE}Играта бе записана във версия без поддръжка на трамваи. Всички трамваи са изтрити. STR_LOADGAME_REMOVED_TRAMS :{WHITE}Играта бе записана във версия без поддръжка на трамваи. Всички трамваи са изтрити.
STR_CURRENCY_WINDOW :{WHITE}Парична единица STR_CURRENCY_WINDOW :{WHITE}Парична единица
@@ -3201,7 +3221,7 @@ STR_REPLACE_HELP_REPLACE_INFO_TAB :{BLACK}Пока
STR_REPLACE_REMOVE_WAGON :{BLACK}Премахване на вагон: {ORANGE}{SKIP}{STRING} STR_REPLACE_REMOVE_WAGON :{BLACK}Премахване на вагон: {ORANGE}{SKIP}{STRING}
STR_REPLACE_REMOVE_WAGON_HELP :{BLACK}Автоматичната замяна ще запази дължината на влака като премахне вагони (започвайки от предните), ако замяната довежда до по-дълъг влак. STR_REPLACE_REMOVE_WAGON_HELP :{BLACK}Автоматичната замяна ще запази дължината на влака като премахне вагони (започвайки от предните), ако замяната довежда до по-дълъг влак.
STR_REPLACE_ENGINE_WAGON_SELECT :{BLACK}Замяна: {ORANGE}{SKIP}{SKIP}{STRING} STR_REPLACE_ENGINE_WAGON_SELECT :{BLACK}Замяна: {ORANGE}{SKIP}{SKIP}{STRING}
STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK} ЕКСПЕРИМЕНТАЛНА ВЪЗМОЖНОСТ {}Превключване между замяна на локомотиви и вагони.{}Замяната на вагони ще бъде направена само ако новия тип вагони може да се преустрои да превозва същия тип товар като старите. Това се проверява за всеки вагон когато замяната се случва. STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK}Превключване между замяна на локомотиви и вагони
STR_RAIL_VEHICLE_NOT_AVAILABLE :{WHITE}Превозното средство не е на разположение STR_RAIL_VEHICLE_NOT_AVAILABLE :{WHITE}Превозното средство не е на разположение
STR_ROAD_VEHICLE_NOT_AVAILABLE :{WHITE}Превозното средство не е на разположение STR_ROAD_VEHICLE_NOT_AVAILABLE :{WHITE}Превозното средство не е на разположение
STR_SHIP_NOT_AVAILABLE :{WHITE}Корабът не е на разположение STR_SHIP_NOT_AVAILABLE :{WHITE}Корабът не е на разположение
@@ -3318,6 +3338,13 @@ STR_SMALLMAP_CENTER :{BLACK}Цент
STR_SMALLMAP_INDUSTRY :{TINYFONT}{STRING} ({NUM}) STR_SMALLMAP_INDUSTRY :{TINYFONT}{STRING} ({NUM})
# Strings for map borders at game generation # Strings for map borders at game generation
STR_NORTHWEST :{BLACK}Северозапад
STR_NORTHEAST :{BLACK}Североизток
STR_SOUTHEAST :{BLACK}Югоизток
STR_SOUTHWEST :{BLACK}Югозапад
STR_BORDER_WATER :{BLACK}Вода
STR_BORDER_RANDOM :{BLACK}Случаен
STR_BORDER_RANDOMIZE :{BLACK}Случаен
########### String for new airports ########### String for new airports
STR_SMALL_AIRPORT :{BLACK}Малко STR_SMALL_AIRPORT :{BLACK}Малко
@@ -3506,6 +3533,25 @@ STR_OSK_KEYBOARD_LAYOUT_CAPS :~!?+"%=:/_№І
######## ########
############ AI GUI ############ AI GUI
STR_AI_SETTINGS_BUTTON :{BLACK}AI Настройки
STR_AI_SETTINGS_BUTTON_TIP :{BLACK}Покажи AI настройки
STR_AI_DEBUG_NAME_TIP :{BLACK}Име на AI
STR_AI_DEBUG_RELOAD :{BLACK}Презареждане AI
STR_AI_CONFIG_CAPTION :{WHITE}AI Конфигурация
STR_AI_CHANGE :{BLACK}Изберете AI
STR_AI_CONFIGURE :{BLACK}Конфигуриране
STR_AI_CHANGE_TIP :{BLACK}Зареди друг AI
STR_AI_CONFIGURE_TIP :{BLACK}Конфигурирайте параметрите на AI
STR_AI_AILIST_TIP :{BLACK}Кликнете за да изберете AI
STR_AI_ACCEPT :{BLACK}Приеми
STR_AI_CANCEL :{BLACK}Отмени
STR_AI_CANCEL_TIP :{BLACK}Не променяй AI
STR_AI_CLOSE :{BLACK}Затвари
STR_AI_HUMAN_PLAYER :Човешки играч
STR_AI_RANDOM_AI :Случаен AI
STR_AI_SETTINGS_CAPTION :{WHITE}AI Параметри
STR_AI_AUTHOR :Автор:
STR_AI_VERSION :Версия:
######## ########
############ town controlled noise level ############ town controlled noise level
@@ -3514,6 +3560,38 @@ STR_STATION_NOISE :{BLACK}Прои
######## ########
############ Downloading of content from the central server ############ Downloading of content from the central server
STR_CONTENT_TYPE_NEWGRF :NewGRF
STR_CONTENT_TYPE_AI :AI
STR_CONTENT_TYPE_AI_LIBRARY :AI библиотека
STR_CONTENT_TYPE_SCENARIO :Сценарий
STR_CONTENT_TYPE_CAPTION :{BLACK}Вид
STR_CONTENT_TYPE_CAPTION_TIP :{BLACK}Вид на съдържанието
STR_CONTENT_NAME_CAPTION :{BLACK}Име
STR_CONTENT_NAME_CAPTION_TIP :{BLACK}Име на съдържанието
STR_CONTENT_MATRIX_TIP :{BLACK}Кликни върху линията за да видиш детайлите{}Сложи отметка за да избереш за сваляне
STR_CONTENT_SELECT_ALL_CAPTION :{BLACK}Избери всички
STR_CONTENT_SELECT_ALL_CAPTION_TIP :{BLACK}Избери всичко за сваляне
STR_CONTENT_SELECT_UPDATES_CAPTION :{BLACK}Избери обновявания
STR_CONTENT_SELECT_UPDATES_CAPTION_TIP :{BLACK}Избери всичко, което ще обновнови вече инстралирани компоненти
STR_CONTENT_UNSELECT_ALL_CAPTION :{BLACK}Премахнете всички
STR_CONTENT_UNSELECT_ALL_CAPTION_TIP :{BLACK}Размаркирай всичко
STR_CONTENT_FILTER_OSKTITLE :{BLACK}Въведете филтър
STR_CONTENT_FILTER_TIP :{BLACK}Въведете ключова дума за филтър на списъка
STR_CONTENT_FILTER_TITLE :{BLACK}Филтър по таг/име:
STR_CONTENT_DOWNLOAD_CAPTION :{BLACK}Сваляне
STR_CONTENT_DOWNLOAD_CAPTION_TIP :{BLACK}Започни свалянето на избраните модули
STR_CONTENT_TOTAL_DOWNLOAD_SIZE :{SILVER}Общо за сваляне: {WHITE}{BYTES}
STR_CONTENT_DETAIL_TITLE :{SILVER}ИНФОРМАЦИЯ
STR_CONTENT_DETAIL_SUBTITLE_UNSELECTED :{SILVER}Не сте избрали този модул за сваляне
STR_CONTENT_DETAIL_SUBTITLE_ALREADY_HERE :{SILVER}Вие вече имате това
STR_CONTENT_DETAIL_UPDATE :{SILVER}Това е подмяна на съществуващ {STRING}
STR_CONTENT_DETAIL_NAME :{SILVER}Име: {WHITE}{STRING}
STR_CONTENT_DETAIL_VERSION :{SILVER}Версия: {WHITE}{STRING}
STR_CONTENT_DETAIL_DESCRIPTION :{SILVER}Описание: {WHITE}{STRING}
STR_CONTENT_DETAIL_URL :{SILVER}URL: {WHITE}{STRING}
STR_CONTENT_DETAIL_TYPE :{SILVER}Вид: {WHITE}{STRING}
STR_CONTENT_DETAIL_SELECTED_BECAUSE_OF :{SILVER}Избрани поради: {WHITE}{STRING}
STR_CONTENT_DETAIL_DEPENDENCIES :{SILVER}Зависимости: {WHITE}{STRING}

View File

@@ -785,7 +785,7 @@ STR_TOWNNAME_SWEDISH :Suec
STR_TOWNNAME_DUTCH :Holandès STR_TOWNNAME_DUTCH :Holandès
STR_TOWNNAME_FINNISH :Finès STR_TOWNNAME_FINNISH :Finès
STR_TOWNNAME_POLISH :Polonès STR_TOWNNAME_POLISH :Polonès
STR_TOWNNAME_SLOVAKISH :Eslovac STR_TOWNNAME_SLOVAK :Eslovac
STR_TOWNNAME_NORWEGIAN :Noruec STR_TOWNNAME_NORWEGIAN :Noruec
STR_TOWNNAME_HUNGARIAN :Hongarès STR_TOWNNAME_HUNGARIAN :Hongarès
STR_TOWNNAME_AUSTRIAN :Austríac STR_TOWNNAME_AUSTRIAN :Austríac
@@ -818,7 +818,7 @@ STR_CURR_ITL :Lires Italianes
STR_CURR_NLG :Florins Holandesos (NLG) STR_CURR_NLG :Florins Holandesos (NLG)
STR_CURR_NOK :Corones Noruegues (NOK) STR_CURR_NOK :Corones Noruegues (NOK)
STR_CURR_PLN :Zloty Polonès (PLN) STR_CURR_PLN :Zloty Polonès (PLN)
STR_CURR_ROL :Leu Romanès (ROL) STR_CURR_RON :Leu Romanès (RON)
STR_CURR_RUR :Rubles Russos (RUR) STR_CURR_RUR :Rubles Russos (RUR)
STR_CURR_SIT :Tòlar Eslovè (SIT) STR_CURR_SIT :Tòlar Eslovè (SIT)
STR_CURR_SEK :Corones Sueques (SEK) STR_CURR_SEK :Corones Sueques (SEK)
@@ -2241,6 +2241,7 @@ STR_704A_SELECT_FEMALE_FACES :{BLACK}Seleccio
STR_704B_GENERATE_RANDOM_NEW_FACE :{BLACK}Genera una nova cara aleatòria STR_704B_GENERATE_RANDOM_NEW_FACE :{BLACK}Genera una nova cara aleatòria
STR_704C_KEY :{BLACK}Llegenda STR_704C_KEY :{BLACK}Llegenda
STR_704D_SHOW_KEY_TO_GRAPHS :{BLACK}Mostra la llegenda als gràfics STR_704D_SHOW_KEY_TO_GRAPHS :{BLACK}Mostra la llegenda als gràfics
STR_SHOW_DETAILED_PERFORMANCE_RATINGS :{BLACK}Mostra ratis de rendiment detallats
STR_704E_KEY_TO_COMPANY_GRAPHS :{WHITE}Llegenda dels gràfics de la companyia STR_704E_KEY_TO_COMPANY_GRAPHS :{WHITE}Llegenda dels gràfics de la companyia
STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY :{BLACK}Clica aquí per activar/desactivar l'entrada als gràfics de la companyia STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY :{BLACK}Clica aquí per activar/desactivar l'entrada als gràfics de la companyia
STR_7050_UNITS_OF_CARGO_DELIVERED :{WHITE}Unitats de càrrega entregada STR_7050_UNITS_OF_CARGO_DELIVERED :{WHITE}Unitats de càrrega entregada
@@ -2615,18 +2616,18 @@ STR_ORDER_GO_TO :Ves a
STR_ORDER_GO_NON_STOP_TO :Ves sense parar a STR_ORDER_GO_NON_STOP_TO :Ves sense parar a
STR_ORDER_GO_VIA :Ves via STR_ORDER_GO_VIA :Ves via
STR_ORDER_GO_NON_STOP_VIA :Ves sense parar via STR_ORDER_GO_NON_STOP_VIA :Ves sense parar via
STR_ORDER_TOGGLE_FULL_LOAD :{BLACK}Càrrega completa de qualsevol càrrega STR_ORDER_TOGGLE_FULL_LOAD :{BLACK}Carrega del tot qualsevol càrrega
STR_ORDER_DROP_LOAD_IF_POSSIBLE :Carrega si està disponible STR_ORDER_DROP_LOAD_IF_POSSIBLE :Carrega si està disponible
STR_ORDER_DROP_FULL_LOAD_ALL :Carrega del tot totes les càrregues STR_ORDER_DROP_FULL_LOAD_ALL :Carrega del tot totes les càrregues
STR_ORDER_DROP_FULL_LOAD_ANY :Càrrega completa de qualsevol càrrega STR_ORDER_DROP_FULL_LOAD_ANY :Carrega del tot qualsevol càrrega
STR_ORDER_DROP_NO_LOADING :No carreguis STR_ORDER_DROP_NO_LOADING :No carreguis
STR_ORDER_TOGGLE_UNLOAD :{BLACK}Descarrega tot STR_ORDER_TOGGLE_UNLOAD :{BLACK}Descarrega tot
STR_ORDER_DROP_UNLOAD_IF_ACCEPTED :Descarrega si s'accepta STR_ORDER_DROP_UNLOAD_IF_ACCEPTED :Descarrega si s'accepta
STR_ORDER_DROP_UNLOAD :Descarrega tot STR_ORDER_DROP_UNLOAD :Descarrega tot
STR_ORDER_DROP_TRANSFER :Transfereix STR_ORDER_DROP_TRANSFER :Transfereix
STR_ORDER_DROP_NO_UNLOADING :No descarreguis STR_ORDER_DROP_NO_UNLOADING :No descarreguis
STR_ORDER_FULL_LOAD :(Càrrega completa) STR_ORDER_FULL_LOAD :(Carrega del tot)
STR_ORDER_FULL_LOAD_ANY :(Càrrega completa de qualsevol càrrega) STR_ORDER_FULL_LOAD_ANY :(Carrega del tot qualsevol càrrega)
STR_ORDER_NO_LOAD :(No carregar) STR_ORDER_NO_LOAD :(No carregar)
STR_ORDER_UNLOAD :(Descarrega i agafa la càrrega) STR_ORDER_UNLOAD :(Descarrega i agafa la càrrega)
STR_ORDER_UNLOAD_FULL_LOAD :(Descarrega i espera carregar del tot) STR_ORDER_UNLOAD_FULL_LOAD :(Descarrega i espera carregar del tot)
@@ -2802,7 +2803,7 @@ STR_VEHICLE_INFO_COST_WEIGHT_SPEED_POWER :{BLACK}Cost: {C
STR_885C_BROKEN_DOWN :{RED}Avariat STR_885C_BROKEN_DOWN :{RED}Avariat
STR_885D_AGE_RUNNING_COST_YR :{BLACK}Edat: {LTBLUE}{STRING}{BLACK} Cost de Circulació: {LTBLUE}{CURRENCY}/any STR_885D_AGE_RUNNING_COST_YR :{BLACK}Edat: {LTBLUE}{STRING}{BLACK} Cost de Circulació: {LTBLUE}{CURRENCY}/any
STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Pes: {LTBLUE}{WEIGHT_S} {BLACK}Potència: {LTBLUE}{POWER}{BLACK} Vel. Max.: {LTBLUE}{VELOCITY} STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Pes: {LTBLUE}{WEIGHT_S} {BLACK}Potència: {LTBLUE}{POWER}{BLACK} Vel. Max.: {LTBLUE}{VELOCITY}
STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Pes: {LTBLUE}{WEIGHT_S} {BLACK}Potència: {LTBLUE}{POWER}{BLACK} Velocitat Max.: {LTBLUE}{VELOCITY} {BLACK}Max. T.E.: {LTBLUE}{FORCE} STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Pes: {LTBLUE}{WEIGHT_S} {BLACK}Potència: {LTBLUE}{POWER}{BLACK} Vel. Max: {LTBLUE}{VELOCITY} {BLACK}T.E. Max.: {LTBLUE}{FORCE}
STR_885F_PROFIT_THIS_YEAR_LAST_YEAR :{BLACK}Benefici enguany: {LTBLUE}{CURRENCY} (darrer any: {CURRENCY}) STR_885F_PROFIT_THIS_YEAR_LAST_YEAR :{BLACK}Benefici enguany: {LTBLUE}{CURRENCY} (darrer any: {CURRENCY})
STR_8860_RELIABILITY_BREAKDOWNS :{BLACK}Rendibilitat: {LTBLUE}{COMMA}% {BLACK}Avaries des de l'últim manteniment: {LTBLUE}{COMMA} STR_8860_RELIABILITY_BREAKDOWNS :{BLACK}Rendibilitat: {LTBLUE}{COMMA}% {BLACK}Avaries des de l'últim manteniment: {LTBLUE}{COMMA}
STR_8861_STOPPED :{RED}Parat STR_8861_STOPPED :{RED}Parat
@@ -3172,6 +3173,7 @@ STR_BROKEN_VEHICLE_LENGTH :{WHITE}El tren
STR_NEWGRF_BUGGY :{WHITE}El NewGRF '{0:STRING}' està donant informació incorrecta. STR_NEWGRF_BUGGY :{WHITE}El NewGRF '{0:STRING}' està donant informació incorrecta.
STR_NEWGRF_BUGGY_ARTICULATED_CARGO :{WHITE}La informació de càrrega/remodelació per '{1:ENGINE}' no encaixa amb la llista de compres després de la construcció. Això podria causar un mal funcionament de autorenov/-substitueix. STR_NEWGRF_BUGGY_ARTICULATED_CARGO :{WHITE}La informació de càrrega/remodelació per '{1:ENGINE}' no encaixa amb la llista de compres després de la construcció. Això podria causar un mal funcionament de autorenov/-substitueix.
STR_NEWGRF_BUGGY_ENDLESS_PRODUCTION_CALLBACK :{WHITE}'{1:STRING}' ha provocat un bucle infinit en la crida de producció.
STR_LOADGAME_REMOVED_TRAMS :{WHITE}El joc s'ha desat en una versió sense suport de tramvies. Tots els tramvies s'han eliminat. STR_LOADGAME_REMOVED_TRAMS :{WHITE}El joc s'ha desat en una versió sense suport de tramvies. Tots els tramvies s'han eliminat.
@@ -3242,7 +3244,7 @@ STR_REPLACE_HELP_REPLACE_INFO_TAB :{BLACK}Mostra q
STR_REPLACE_REMOVE_WAGON :{BLACK}Treure vagons: {ORANGE}{SKIP}{STRING} STR_REPLACE_REMOVE_WAGON :{BLACK}Treure vagons: {ORANGE}{SKIP}{STRING}
STR_REPLACE_REMOVE_WAGON_HELP :{BLACK}Fer que la substitució automàtica mantingui la llargària del tren eliminant vagons (començant pel front), si substituint la màquina el tren es fa més llarg STR_REPLACE_REMOVE_WAGON_HELP :{BLACK}Fer que la substitució automàtica mantingui la llargària del tren eliminant vagons (començant pel front), si substituint la màquina el tren es fa més llarg
STR_REPLACE_ENGINE_WAGON_SELECT :{BLACK}Substituint: {ORANGE}{SKIP}{SKIP}{STRING} STR_REPLACE_ENGINE_WAGON_SELECT :{BLACK}Substituint: {ORANGE}{SKIP}{SKIP}{STRING}
STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK} CARACTERÍSTICA EXPERIMENTAL {}Alterna entre finestres de substitució de vagons i de motors{}La substitució del vagó només tindrà lloc si el nou vagó pot ser remodelat per admetre el mateix tipus de càrrega que el vell. Això es comprova per a cada vagó quan la substitució es produeix. STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK}Alterna entre finestres de substitució de vagons i de motors
STR_RAIL_VEHICLE_NOT_AVAILABLE :{WHITE}El tren no està disponible STR_RAIL_VEHICLE_NOT_AVAILABLE :{WHITE}El tren no està disponible
STR_ROAD_VEHICLE_NOT_AVAILABLE :{WHITE}El vehicle no està disponible STR_ROAD_VEHICLE_NOT_AVAILABLE :{WHITE}El vehicle no està disponible
STR_SHIP_NOT_AVAILABLE :{WHITE}El vaixell no està disponible STR_SHIP_NOT_AVAILABLE :{WHITE}El vaixell no està disponible

View File

@@ -672,6 +672,7 @@ STR_CANNOT_GENERATE_TOWN :{WHITE}Nije mog
STR_NO_SPACE_FOR_TOWN :{WHITE}...nema više mjesta na karti STR_NO_SPACE_FOR_TOWN :{WHITE}...nema više mjesta na karti
STR_023B_INCREASE_SIZE_OF_TOWN :{BLACK}Povećaj veličinu grada STR_023B_INCREASE_SIZE_OF_TOWN :{BLACK}Povećaj veličinu grada
STR_023C_EXPAND :{BLACK}Proširi STR_023C_EXPAND :{BLACK}Proširi
STR_TOWN_EXPAND_WARN_NO_ROADS :{WHITE}Grad neće graditi ceste. Možete uključiti gradnju cesta putem Naprednih postavki -> Ekonomija -> Gradovi
STR_023D_RANDOM_TOWN :{BLACK}Nasumičan grad STR_023D_RANDOM_TOWN :{BLACK}Nasumičan grad
STR_023E_BUILD_TOWN_IN_RANDOM_LOCATION :{BLACK}Izgradi grad na nasumično odabranom pložaju STR_023E_BUILD_TOWN_IN_RANDOM_LOCATION :{BLACK}Izgradi grad na nasumično odabranom pložaju
STR_0285_CAN_T_BUILD_HERE :{WHITE}Ovdje nije moguće izgraditi {STRING}... STR_0285_CAN_T_BUILD_HERE :{WHITE}Ovdje nije moguće izgraditi {STRING}...
@@ -731,7 +732,6 @@ STR_FULL :Puno
STR_02BA :{SILVER}- - {COMPANY} - - STR_02BA :{SILVER}- - {COMPANY} - -
STR_02BB_TOWN_DIRECTORY :Popis gradova STR_02BB_TOWN_DIRECTORY :Popis gradova
STR_02BD :{BLACK}{STRING} STR_02BD :{BLACK}{STRING}
STR_02BF_CUSTOM :Proizvoljno
STR_CHECKMARK :{CHECKMARK} STR_CHECKMARK :{CHECKMARK}
############ range for menu starts ############ range for menu starts
@@ -850,7 +850,7 @@ STR_TOWNNAME_SWEDISH :Švedski
STR_TOWNNAME_DUTCH :Nizozemski STR_TOWNNAME_DUTCH :Nizozemski
STR_TOWNNAME_FINNISH :Finski STR_TOWNNAME_FINNISH :Finski
STR_TOWNNAME_POLISH :Poljski STR_TOWNNAME_POLISH :Poljski
STR_TOWNNAME_SLOVAKISH :Slovački STR_TOWNNAME_SLOVAK :Slovački
STR_TOWNNAME_NORWEGIAN :Norveški STR_TOWNNAME_NORWEGIAN :Norveški
STR_TOWNNAME_HUNGARIAN :Mađarski STR_TOWNNAME_HUNGARIAN :Mađarski
STR_TOWNNAME_AUSTRIAN :Austrijski STR_TOWNNAME_AUSTRIAN :Austrijski
@@ -883,7 +883,7 @@ STR_CURR_ITL :Talijanska lira
STR_CURR_NLG :Nizozemski gulden (NLG) STR_CURR_NLG :Nizozemski gulden (NLG)
STR_CURR_NOK :Norveška kruna (NOK) STR_CURR_NOK :Norveška kruna (NOK)
STR_CURR_PLN :Poljski zloti (PLN) STR_CURR_PLN :Poljski zloti (PLN)
STR_CURR_ROL :Rumunjski lev (ROL) STR_CURR_RON :Rumunjski lev (RON)
STR_CURR_RUR :Ruske rublje (RUR) STR_CURR_RUR :Ruske rublje (RUR)
STR_CURR_SIT :Slovenski tolar (SIT) STR_CURR_SIT :Slovenski tolar (SIT)
STR_CURR_SEK :Švedska kruna (SEK) STR_CURR_SEK :Švedska kruna (SEK)
@@ -1012,8 +1012,10 @@ STR_CONFIG_SETTING_NONUNIFORM_STATIONS :{LTBLUE}Neujedn
STR_CONFIG_SETTING_FREIGHT_TRAINS :{LTBLUE}Težinski množitelj za teret za simulaciju teških vlakova: {ORANGE}{STRING} STR_CONFIG_SETTING_FREIGHT_TRAINS :{LTBLUE}Težinski množitelj za teret za simulaciju teških vlakova: {ORANGE}{STRING}
STR_CONFIG_SETTING_PLANE_SPEED :{LTBLUE}Faktor brzine zrakoplova: {ORANGE}1/{STRING} STR_CONFIG_SETTING_PLANE_SPEED :{LTBLUE}Faktor brzine zrakoplova: {ORANGE}1/{STRING}
STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :{LTBLUE}Dopusti prolazne postaje na cestama u vlasništvu gradova: {ORANGE}{STRING} STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :{LTBLUE}Dopusti prolazne postaje na cestama u vlasništvu gradova: {ORANGE}{STRING}
STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD :{LTBLUE}Dozboli prolazne znakove na cestama koje su vlasništvo konkurencije: {ORANGE}{STRING}
STR_CONFIG_SETTING_ADJACENT_STATIONS :{LTBLUE}Dopusti izgradnju pridruženih postaja: {ORANGE}{STRING} STR_CONFIG_SETTING_ADJACENT_STATIONS :{LTBLUE}Dopusti izgradnju pridruženih postaja: {ORANGE}{STRING}
STR_CONFIG_SETTING_DYNAMIC_ENGINES :{LTBLUE}Omogući više NewGRF setova strojeva: {ORANGE}{STRING} STR_CONFIG_SETTING_DYNAMIC_ENGINES :{LTBLUE}Omogući više NewGRF setova strojeva: {ORANGE}{STRING}
STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}Mjenjanje ovih postavki nije moguće kad postoje vozila
STR_CONFIG_SETTING_SMALL_AIRPORTS :{LTBLUE}Uvijek dopusti male zračne luke: {ORANGE}{STRING} STR_CONFIG_SETTING_SMALL_AIRPORTS :{LTBLUE}Uvijek dopusti male zračne luke: {ORANGE}{STRING}
@@ -1261,6 +1263,7 @@ STR_CANT_REMOVE_TRAIN_WAYPOINT :{WHITE}Nije mog
STR_BUILD_AUTORAIL_TIP :{BLACK}Izgradi željezničku prugu koristeći Autorail način STR_BUILD_AUTORAIL_TIP :{BLACK}Izgradi željezničku prugu koristeći Autorail način
STR_NO_TOWN_IN_SCENARIO :{WHITE}...u ovom scenariju nema gradova STR_NO_TOWN_IN_SCENARIO :{WHITE}...u ovom scenariju nema gradova
STR_COULD_NOT_CREATE_TOWN :{WHITE}Generiranje karte prekinuto...{}...ne postoje prigodne lokacije za gradove
STR_MANY_RANDOM_TOWNS :{BLACK}Mnogo nasumičnih gradova STR_MANY_RANDOM_TOWNS :{BLACK}Mnogo nasumičnih gradova
STR_RANDOM_TOWNS_TIP :{BLACK}Popuni kartu nasumično raspoređenim gradovima STR_RANDOM_TOWNS_TIP :{BLACK}Popuni kartu nasumično raspoređenim gradovima
@@ -1749,6 +1752,9 @@ STR_200B_CENTER_THE_MAIN_VIEW_ON :{BLACK}Centrira
STR_200C_CHANGE_TOWN_NAME :{BLACK}Promijeni ime grada STR_200C_CHANGE_TOWN_NAME :{BLACK}Promijeni ime grada
STR_200D_PASSENGERS_LAST_MONTH_MAX :{BLACK}Putnika prošli mjesec: {ORANGE}{COMMA}{BLACK} maks: {ORANGE}{COMMA} STR_200D_PASSENGERS_LAST_MONTH_MAX :{BLACK}Putnika prošli mjesec: {ORANGE}{COMMA}{BLACK} maks: {ORANGE}{COMMA}
STR_200E_MAIL_LAST_MONTH_MAX :{BLACK}Pošte prošli mjesec: {ORANGE}{COMMA}{BLACK} maks: {ORANGE}{COMMA} STR_200E_MAIL_LAST_MONTH_MAX :{BLACK}Pošte prošli mjesec: {ORANGE}{COMMA}{BLACK} maks: {ORANGE}{COMMA}
STR_CARGO_FOR_TOWNGROWTH :{BLACK}Potrebno tereta za rast grada:
STR_CARGO_FOR_TOWNGROWTH_REQUIRED :{SETX 20}{ORANGE}{STRING}{BLACK} potrebno
STR_CARGO_FOR_TOWNGROWTH_LAST_MONTH :{SETX 20}{ORANGE}{CARGO}{BLACK} isporučeno prošli mjesec
STR_200F_TALL_OFFICE_BLOCK :Visoki uredski blok STR_200F_TALL_OFFICE_BLOCK :Visoki uredski blok
STR_2010_OFFICE_BLOCK :Uredski blok STR_2010_OFFICE_BLOCK :Uredski blok
STR_2011_SMALL_BLOCK_OF_FLATS :Mali stambeni blok STR_2011_SMALL_BLOCK_OF_FLATS :Mali stambeni blok
@@ -2189,6 +2195,7 @@ STR_NUM_VERY_LOW :Vrlo nisko
STR_6816_LOW :Nisko STR_6816_LOW :Nisko
STR_6817_NORMAL :Normalno STR_6817_NORMAL :Normalno
STR_6818_HIGH :Visoko STR_6818_HIGH :Visoko
STR_02BF_CUSTOM :Proizvoljno
STR_6819 :{BLACK}{SMALLLEFTARROW} STR_6819 :{BLACK}{SMALLLEFTARROW}
STR_681A :{BLACK}{SMALLRIGHTARROW} STR_681A :{BLACK}{SMALLRIGHTARROW}
STR_681B_VERY_SLOW :Vrlo sporo STR_681B_VERY_SLOW :Vrlo sporo
@@ -3229,6 +3236,9 @@ STR_NEWGRF_BROKEN :{WHITE}Ponašan
STR_NEWGRF_BROKEN_VEHICLE_LENGTH :{WHITE}Ovo mijenja dužinu vozila za '{1:ENGINE}' kada vozilo nije unutar spremišta. STR_NEWGRF_BROKEN_VEHICLE_LENGTH :{WHITE}Ovo mijenja dužinu vozila za '{1:ENGINE}' kada vozilo nije unutar spremišta.
STR_BROKEN_VEHICLE_LENGTH :{WHITE}Vlak'{VEHICLE}' koji pripada tvrtci '{COMPANY}' neispravne je dužine. Uzrok problema je vjerojatno u NewGRF-ovima. Igra će se možda deharmonizirati ili srušiti. STR_BROKEN_VEHICLE_LENGTH :{WHITE}Vlak'{VEHICLE}' koji pripada tvrtci '{COMPANY}' neispravne je dužine. Uzrok problema je vjerojatno u NewGRF-ovima. Igra će se možda deharmonizirati ili srušiti.
STR_NEWGRF_BUGGY :{WHITE}NewGRF '{0:STRING}' daje netočne informacije.
STR_NEWGRF_BUGGY_ARTICULATED_CARGO :{WHITE}Informacija tereta/obnavljanja za '{1:ENGINE}' je različita od kupovne liste nakon konstrukcije. Zbog toga bi automatsko obnavljanje/zamjena mogla biti neuspješna
STR_LOADGAME_REMOVED_TRAMS :{WHITE}Igra je bila spremljena u verziji bez podrške za tramvaje. Zbog toga su svi tramvaji uklonjeni. STR_LOADGAME_REMOVED_TRAMS :{WHITE}Igra je bila spremljena u verziji bez podrške za tramvaje. Zbog toga su svi tramvaji uklonjeni.
STR_CURRENCY_WINDOW :{WHITE}Proizvoljna valuta STR_CURRENCY_WINDOW :{WHITE}Proizvoljna valuta
@@ -3298,7 +3308,7 @@ STR_REPLACE_HELP_REPLACE_INFO_TAB :{BLACK}Prikazuj
STR_REPLACE_REMOVE_WAGON :{BLACK}Uklanjanje vagona: {ORANGE}{SKIP}{STRING} STR_REPLACE_REMOVE_WAGON :{BLACK}Uklanjanje vagona: {ORANGE}{SKIP}{STRING}
STR_REPLACE_REMOVE_WAGON_HELP :{BLACK}Ukoliko bi zamjena lokomotive učinla vlak dužim, neka automatska zamjena zadrži istu dužinu vlaka tako da ukloni suvišne vagone (počevši od naprijed). STR_REPLACE_REMOVE_WAGON_HELP :{BLACK}Ukoliko bi zamjena lokomotive učinla vlak dužim, neka automatska zamjena zadrži istu dužinu vlaka tako da ukloni suvišne vagone (počevši od naprijed).
STR_REPLACE_ENGINE_WAGON_SELECT :{BLACK}Zamjenjujem:{ORANGE}{SKIP}{SKIP}{STRING} STR_REPLACE_ENGINE_WAGON_SELECT :{BLACK}Zamjenjujem:{ORANGE}{SKIP}{SKIP}{STRING}
STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK} POKUSNA FUNKCIJA {} Prebaci između prozora za izmjenu lokomotiva i vagona.{}Izmjena vagona izvršit će se samo ako novi vagon može biti prenamijenjen za prijevoz istog tipa tereta kao i stari vagon. Ovo se provjerava za svaki vagon kada se stvarna zamjena odvija. STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK}Prebaci između prozora za izmjenu lokomotiva i vagona
STR_RAIL_VEHICLE_NOT_AVAILABLE :{WHITE}Vozilo nije dostupno STR_RAIL_VEHICLE_NOT_AVAILABLE :{WHITE}Vozilo nije dostupno
STR_ROAD_VEHICLE_NOT_AVAILABLE :{WHITE}Vozilo nije dostupno STR_ROAD_VEHICLE_NOT_AVAILABLE :{WHITE}Vozilo nije dostupno
STR_SHIP_NOT_AVAILABLE :{WHITE}Brod nije dostupan STR_SHIP_NOT_AVAILABLE :{WHITE}Brod nije dostupan
@@ -3639,6 +3649,7 @@ STR_AI_RANDOM_AI :Nasumična UI
STR_AI_SETTINGS_CAPTION :{WHITE}Parametri UI STR_AI_SETTINGS_CAPTION :{WHITE}Parametri UI
STR_AI_AUTHOR :Autor: STR_AI_AUTHOR :Autor:
STR_AI_VERSION :Verzija: STR_AI_VERSION :Verzija:
STR_AI_PLEASE_REPORT_CRASH :{WHITE}Jedan od igrača sa UI se srušio. Molimo vas da prijavite ovo autoru UI sa screenshotom AI Debug prozora
######## ########
############ town controlled noise level ############ town controlled noise level

View File

@@ -3,7 +3,7 @@
##isocode cs_CZ ##isocode cs_CZ
##winlangid 0x0405 ##winlangid 0x0405
##grflangid 0x15 ##grflangid 0x15
##plural 6 ##plural 10
##case nom gen dat acc voc loc ins big small ##case nom gen dat acc voc loc ins big small
##gender m f n ##gender m f n
@@ -853,7 +853,7 @@ STR_TOWNNAME_SWEDISH :Švédská
STR_TOWNNAME_DUTCH :Holandská STR_TOWNNAME_DUTCH :Holandská
STR_TOWNNAME_FINNISH :Finská STR_TOWNNAME_FINNISH :Finská
STR_TOWNNAME_POLISH :Polská STR_TOWNNAME_POLISH :Polská
STR_TOWNNAME_SLOVAKISH :Slovenská STR_TOWNNAME_SLOVAK :Slovenská
STR_TOWNNAME_NORWEGIAN :Norská STR_TOWNNAME_NORWEGIAN :Norská
STR_TOWNNAME_HUNGARIAN :Maďarská STR_TOWNNAME_HUNGARIAN :Maďarská
STR_TOWNNAME_AUSTRIAN :Rakouská STR_TOWNNAME_AUSTRIAN :Rakouská
@@ -886,7 +886,7 @@ STR_CURR_ITL :Italská lira (
STR_CURR_NLG :Holandský gulden (NLG) STR_CURR_NLG :Holandský gulden (NLG)
STR_CURR_NOK :Norská koruna (NOK) STR_CURR_NOK :Norská koruna (NOK)
STR_CURR_PLN :Polský zlotý (PLN) STR_CURR_PLN :Polský zlotý (PLN)
STR_CURR_ROL :Rumunský lei (ROL) STR_CURR_RON :Rumunský lei (RON)
STR_CURR_RUR :Ruský rubl (RUR) STR_CURR_RUR :Ruský rubl (RUR)
STR_CURR_SIT :Slovinský tolar (SIT) STR_CURR_SIT :Slovinský tolar (SIT)
STR_CURR_SEK :Švédská koruna (SEK) STR_CURR_SEK :Švédská koruna (SEK)
@@ -1022,9 +1022,9 @@ STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}Toto nas
STR_CONFIG_SETTING_SMALL_AIRPORTS :{LTBLUE}Malá letiště se budou moci stále stavět: {ORANGE}{STRING} STR_CONFIG_SETTING_SMALL_AIRPORTS :{LTBLUE}Malá letiště se budou moci stále stavět: {ORANGE}{STRING}
STR_CONFIG_SETTING_WARN_LOST_TRAIN :{LTBLUE}Varovat, pokud vlak nenajde cestu: {ORANGE}{STRING} STR_CONFIG_SETTING_WARN_LOST_TRAIN :{LTBLUE}Varovat, pokud vlak nenajde cestu: {ORANGE}{STRING}
STR_CONFIG_SETTING_ORDER_REVIEW :{LTBLUE}Obnovení příkazů vozidla: {ORANGE}{STRING} STR_CONFIG_SETTING_ORDER_REVIEW :{LTBLUE}Kontrolovat příkazy vozidel: {ORANGE}{STRING}
STR_CONFIG_SETTING_ORDER_REVIEW_OFF :ne STR_CONFIG_SETTING_ORDER_REVIEW_OFF :ne
STR_CONFIG_SETTING_ORDER_REVIEW_EXDEPOT :ano, kromě zastavených vozidel (v depu) STR_CONFIG_SETTING_ORDER_REVIEW_EXDEPOT :ano, kromě zastavených vozidel
STR_CONFIG_SETTING_ORDER_REVIEW_ON :ano, u všech vozidel STR_CONFIG_SETTING_ORDER_REVIEW_ON :ano, u všech vozidel
STR_CONFIG_SETTING_WARN_INCOME_LESS :{LTBLUE}Varovat, pokud vozidlo prodělává: {ORANGE}{STRING} STR_CONFIG_SETTING_WARN_INCOME_LESS :{LTBLUE}Varovat, pokud vozidlo prodělává: {ORANGE}{STRING}
STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :{LTBLUE}Vozidlům se nikdy nezastaví výroba ('nezastarají'): {ORANGE}{STRING} STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :{LTBLUE}Vozidlům se nikdy nezastaví výroba ('nezastarají'): {ORANGE}{STRING}
@@ -1211,8 +1211,8 @@ STR_CONFIG_SETTING_PATHFINDER_FOR_SHIPS_OPF :původní {BLUE
STR_CONFIG_SETTING_PATHFINDER_FOR_SHIPS_NPF :NPF STR_CONFIG_SETTING_PATHFINDER_FOR_SHIPS_NPF :NPF
STR_CONFIG_SETTING_PATHFINDER_FOR_SHIPS_YAPF :YAPF {RED}(nedoporučuje se) STR_CONFIG_SETTING_PATHFINDER_FOR_SHIPS_YAPF :YAPF {RED}(nedoporučuje se)
STR_CONFIG_SETTING_MAP_X :{LTBLUE}Rozmer X mapy: {ORANGE}{STRING} STR_CONFIG_SETTING_MAP_X :{LTBLUE}Šířka mapy: {ORANGE}{STRING}
STR_CONFIG_SETTING_MAP_Y :{LTBLUE}Rozmer Y mapy: {ORANGE}{STRING} STR_CONFIG_SETTING_MAP_Y :{LTBLUE}Výška mapy: {ORANGE}{STRING}
############ generic strings for settings ############ generic strings for settings
STR_CONFIG_SETTING_DISABLED :vypnuto STR_CONFIG_SETTING_DISABLED :vypnuto
@@ -1553,7 +1553,7 @@ STR_NETWORK_SERVER_MESSAGE_GAME_UNPAUSED_CONNECT_FAIL :Hra pozastavena
STR_NETWORK_CLIENT_LEAVING :odpojování STR_NETWORK_CLIENT_LEAVING :odpojování
STR_NETWORK_CLIENT_JOINED :*** {STRING} jde hrát STR_NETWORK_CLIENT_JOINED :*** {STRING} jde hrát
STR_NETWORK_CLIENT_COMPANY_JOIN :*** {STRING} se přidává ke společnosti č. {2:NUM} STR_NETWORK_CLIENT_COMPANY_JOIN :*** {STRING} se přidává ke společnosti č. {2:NUM}
STR_NETWORK_CLIENT_COMPANY_SPECTATE :*** {STRING} má nové pozorovatele STR_NETWORK_CLIENT_COMPANY_SPECTATE :*** {STRING} se stává pozorovatelem
STR_NETWORK_CLIENT_COMPANY_NEW :*** {STRING} zakládá novou společnost (č. {2:NUM}) STR_NETWORK_CLIENT_COMPANY_NEW :*** {STRING} zakládá novou společnost (č. {2:NUM})
STR_NETWORK_CLIENT_LEFT :*** {STRING} opouští hru ({2:STRING}) STR_NETWORK_CLIENT_LEFT :*** {STRING} opouští hru ({2:STRING})
STR_NETWORK_NAME_CHANGE :*** {STRING} si mění jméno na {STRING} STR_NETWORK_NAME_CHANGE :*** {STRING} si mění jméno na {STRING}
@@ -2309,6 +2309,7 @@ STR_704A_SELECT_FEMALE_FACES :{BLACK}Zvolit
STR_704B_GENERATE_RANDOM_NEW_FACE :{BLACK}Vytvořit náhodnou novou tvář STR_704B_GENERATE_RANDOM_NEW_FACE :{BLACK}Vytvořit náhodnou novou tvář
STR_704C_KEY :{BLACK}Legenda STR_704C_KEY :{BLACK}Legenda
STR_704D_SHOW_KEY_TO_GRAPHS :{BLACK}Ukázat legendu ke grafům STR_704D_SHOW_KEY_TO_GRAPHS :{BLACK}Ukázat legendu ke grafům
STR_SHOW_DETAILED_PERFORMANCE_RATINGS :{BLACK}Zobrazit podrobné hodnocení výkonu
STR_704E_KEY_TO_COMPANY_GRAPHS :{WHITE}Legenda ke grafům společností STR_704E_KEY_TO_COMPANY_GRAPHS :{WHITE}Legenda ke grafům společností
STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY :{BLACK}Klepni zde pro přepnuti zobrazení společnosti na grafu STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY :{BLACK}Klepni zde pro přepnuti zobrazení společnosti na grafu
STR_7050_UNITS_OF_CARGO_DELIVERED :{WHITE}Doručeno jednotek zboží STR_7050_UNITS_OF_CARGO_DELIVERED :{WHITE}Doručeno jednotek zboží
@@ -3183,7 +3184,7 @@ STR_NEWGRF_FILENAME :{BLACK}Jméno s
STR_NEWGRF_PALETTE :{BLACK}Paleta: {SILVER}{STRING} STR_NEWGRF_PALETTE :{BLACK}Paleta: {SILVER}{STRING}
STR_NEWGRF_GRF_ID :{BLACK}ID GRF: {SILVER}{STRING} STR_NEWGRF_GRF_ID :{BLACK}ID GRF: {SILVER}{STRING}
STR_NEWGRF_MD5SUM :{BLACK}MD5sum: {SILVER}{STRING} STR_NEWGRF_MD5SUM :{BLACK}MD5sum: {SILVER}{STRING}
STR_NEWGRF_CONFIRMATION_TEXT :{YELLOW}Právě se chystáš změnit nastavení grafik za běžící hry; může to shodit OpenTTD.{}Jsi si s tím opravdu jist/a? STR_NEWGRF_CONFIRMATION_TEXT :{YELLOW}Právě se chystáš změnit nastavení grafik za běžící hry; může to shodit OpenTTD.{}Jsi si tím opravdu jist(a)?
STR_NEWGRF_ERROR_MSG_INFO :{SILVER}{STRING} STR_NEWGRF_ERROR_MSG_INFO :{SILVER}{STRING}
STR_NEWGRF_ERROR_MSG_WARNING :{RED}Varování: {SILVER}{STRING} STR_NEWGRF_ERROR_MSG_WARNING :{RED}Varování: {SILVER}{STRING}
@@ -3246,6 +3247,7 @@ STR_BROKEN_VEHICLE_LENGTH :{WHITE}Vlak '{V
STR_NEWGRF_BUGGY :{WHITE}Grafika '{0:STRING}' poskytuje neplatné informace. STR_NEWGRF_BUGGY :{WHITE}Grafika '{0:STRING}' poskytuje neplatné informace.
STR_NEWGRF_BUGGY_ARTICULATED_CARGO :{WHITE}Informace o nákladu/možnosti přestavby pro '{1:ENGINE}' se po nákupu změnily. To může způsobit problémy při automatické výměně vozidel. STR_NEWGRF_BUGGY_ARTICULATED_CARGO :{WHITE}Informace o nákladu/možnosti přestavby pro '{1:ENGINE}' se po nákupu změnily. To může způsobit problémy při automatické výměně vozidel.
STR_NEWGRF_BUGGY_ENDLESS_PRODUCTION_CALLBACK :{WHITE}'{1:STRING}' způsobil(a) nekonečnou smyčku v callbacku produkce průmyslu.
STR_LOADGAME_REMOVED_TRAMS :{WHITE}Hra byla uložena ve verzi bez podpory tramvají. Všechny tramvaje se odstraní. STR_LOADGAME_REMOVED_TRAMS :{WHITE}Hra byla uložena ve verzi bez podpory tramvají. Všechny tramvaje se odstraní.
@@ -3316,7 +3318,7 @@ STR_REPLACE_HELP_REPLACE_INFO_TAB :{BLACK}Tady je
STR_REPLACE_REMOVE_WAGON :{BLACK}Odebírání vagonů: {ORANGE}{SKIP}{STRING} STR_REPLACE_REMOVE_WAGON :{BLACK}Odebírání vagonů: {ORANGE}{SKIP}{STRING}
STR_REPLACE_REMOVE_WAGON_HELP :{BLACK}Funkce automatického vylepšování vlaků může udržovat stejnou délku vlaku odstraňovaním vagonů (od začátku vlaku), pokud by změna mašiny vlak prodloužila. STR_REPLACE_REMOVE_WAGON_HELP :{BLACK}Funkce automatického vylepšování vlaků může udržovat stejnou délku vlaku odstraňovaním vagonů (od začátku vlaku), pokud by změna mašiny vlak prodloužila.
STR_REPLACE_ENGINE_WAGON_SELECT :{BLACK}Vyměňování: {ORANGE}{SKIP}{SKIP}{STRING} STR_REPLACE_ENGINE_WAGON_SELECT :{BLACK}Vyměňování: {ORANGE}{SKIP}{SKIP}{STRING}
STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK} EXPERIMENTÁLNÍ VLASTNOST {}Přepne mezi okny na výměnu lokomotiv a vagonů.{}Vagon se vymění, jen když je nový vagon schopen vozit stejnou komoditu, jako ten starý. Toto se ověřuje pro každý vagon. STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK}Přepne mezi okny na výměnu lokomotiv a vagonů
STR_RAIL_VEHICLE_NOT_AVAILABLE :{WHITE}Vozidlo není dostupné STR_RAIL_VEHICLE_NOT_AVAILABLE :{WHITE}Vozidlo není dostupné
STR_ROAD_VEHICLE_NOT_AVAILABLE :{WHITE}Vůz není dostupné STR_ROAD_VEHICLE_NOT_AVAILABLE :{WHITE}Vůz není dostupné
STR_SHIP_NOT_AVAILABLE :{WHITE}Loď není dostupná STR_SHIP_NOT_AVAILABLE :{WHITE}Loď není dostupná

View File

@@ -416,8 +416,8 @@ STR_STICKY_BUTTON :{BLACK}Marker d
STR_RESIZE_BUTTON :{BLACK}Klik og træk for at ændre vinduets størrelse STR_RESIZE_BUTTON :{BLACK}Klik og træk for at ændre vinduets størrelse
STR_SAVELOAD_HOME_BUTTON :{BLACK}Klik her for at gå til det nuværende standard gemme/hente bibliotek STR_SAVELOAD_HOME_BUTTON :{BLACK}Klik her for at gå til det nuværende standard gemme/hente bibliotek
STR_018D_DEMOLISH_BUILDINGS_ETC :{BLACK}Nedriv bygninger osv. på et stykke land STR_018D_DEMOLISH_BUILDINGS_ETC :{BLACK}Nedriv bygninger osv. på et stykke land
STR_018E_LOWER_A_CORNER_OF_LAND :{BLACK}Sænk et hjørne af landet STR_018E_LOWER_A_CORNER_OF_LAND :{BLACK}Sænk punkter i landskabet
STR_018F_RAISE_A_CORNER_OF_LAND :{BLACK}Hæv et hjørne af landet STR_018F_RAISE_A_CORNER_OF_LAND :{BLACK}Hæv punkter i landskabet
STR_0190_SCROLL_BAR_SCROLLS_LIST :{BLACK}Scrollbar - scroller listen op/ned STR_0190_SCROLL_BAR_SCROLLS_LIST :{BLACK}Scrollbar - scroller listen op/ned
STR_HSCROLL_BAR_SCROLLS_LIST :{BLACK}Scroll bar - flytter listen mod venstre/højre STR_HSCROLL_BAR_SCROLLS_LIST :{BLACK}Scroll bar - flytter listen mod venstre/højre
STR_0191_SHOW_LAND_CONTOURS_ON_MAP :{BLACK}Vis landskabskonturer på kortet STR_0191_SHOW_LAND_CONTOURS_ON_MAP :{BLACK}Vis landskabskonturer på kortet
@@ -607,6 +607,7 @@ STR_CANNOT_GENERATE_TOWN :{WHITE}Kan ikke
STR_NO_SPACE_FOR_TOWN :{WHITE}...der er ikke mere plads på kortet STR_NO_SPACE_FOR_TOWN :{WHITE}...der er ikke mere plads på kortet
STR_023B_INCREASE_SIZE_OF_TOWN :{BLACK}Forøg størrelsen af byen STR_023B_INCREASE_SIZE_OF_TOWN :{BLACK}Forøg størrelsen af byen
STR_023C_EXPAND :{BLACK}Udvid STR_023C_EXPAND :{BLACK}Udvid
STR_TOWN_EXPAND_WARN_NO_ROADS :{WHITE}Byen vil ikke kunne bygge veje. Du kan tillade byer at bygge veje via Avancerede indstillinger->Økonomi->Byer.
STR_023D_RANDOM_TOWN :{BLACK}Tilfældig by STR_023D_RANDOM_TOWN :{BLACK}Tilfældig by
STR_023E_BUILD_TOWN_IN_RANDOM_LOCATION :{BLACK}Byg en by på en tilfældig placering STR_023E_BUILD_TOWN_IN_RANDOM_LOCATION :{BLACK}Byg en by på en tilfældig placering
STR_0285_CAN_T_BUILD_HERE :{WHITE}Kan ikke bygge {STRING} her... STR_0285_CAN_T_BUILD_HERE :{WHITE}Kan ikke bygge {STRING} her...
@@ -688,6 +689,7 @@ STR_TRANSPARENT_SIGNS :{SETX 12}Gennem
STR_02D5_LAND_BLOCK_INFO :Landområde information STR_02D5_LAND_BLOCK_INFO :Landområde information
STR_02D6 : STR_02D6 :
STR_CONSOLE_SETTING :Tænd/Sluk konsol STR_CONSOLE_SETTING :Tænd/Sluk konsol
STR_AI_DEBUG_MENU :Computerspiller-debug
STR_02D7_SCREENSHOT_CTRL_S :Skærmbillede (Ctrl-S) STR_02D7_SCREENSHOT_CTRL_S :Skærmbillede (Ctrl-S)
STR_02D8_GIANT_SCREENSHOT_CTRL_G :Kæmpe skærmbillede (Ctrl-G) STR_02D8_GIANT_SCREENSHOT_CTRL_G :Kæmpe skærmbillede (Ctrl-G)
STR_02D9_ABOUT_OPENTTD :Om 'OpenTTD' STR_02D9_ABOUT_OPENTTD :Om 'OpenTTD'
@@ -698,14 +700,14 @@ STR_02DA_ON :{BLACK}Til
STR_02DC_DISPLAY_SUBSIDIES :{BLACK}Vis tilskudsordninger STR_02DC_DISPLAY_SUBSIDIES :{BLACK}Vis tilskudsordninger
STR_02DD_SUBSIDIES :Tilskudsordninger STR_02DD_SUBSIDIES :Tilskudsordninger
STR_02DE_MAP_OF_WORLD :Kort over verden STR_02DE_MAP_OF_WORLD :Kort over verden
STR_EXTRA_VIEW_PORT :Flere lokalitetsvinduer STR_EXTRA_VIEW_PORT :Nyt lokalitetsvindue
STR_SIGN_LIST :Liste over skilte STR_SIGN_LIST :Liste over skilte
STR_02DF_TOWN_DIRECTORY :Byoversigt STR_02DF_TOWN_DIRECTORY :Byoversigt
STR_TOWN_POPULATION :{BLACK}Verdens befolkning: {COMMA} STR_TOWN_POPULATION :{BLACK}Verdens befolkning: {COMMA}
STR_EXTRA_VIEW_PORT_TITLE :{WHITE}Lokalitetsvindue {COMMA} STR_EXTRA_VIEW_PORT_TITLE :{WHITE}Lokalitetsvindue {COMMA}
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN :{BLACK}Gå til lokalitetsvindue STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN :{BLACK}Hent global
STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN_TT :{BLACK}Hent lokalitet fra global visning STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN_TT :{BLACK}Hent lokalitet fra global visning
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}Hent fra lokalitetsvindue STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}Sæt global
STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW_TT :{BLACK}Kopier lokaliteten af dette vindue til det globale vindue STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW_TT :{BLACK}Kopier lokaliteten af dette vindue til det globale vindue
STR_02E0_CURRENCY_UNITS :{BLACK}Valutaenhed STR_02E0_CURRENCY_UNITS :{BLACK}Valutaenhed
@@ -783,7 +785,7 @@ STR_TOWNNAME_SWEDISH :Svenske
STR_TOWNNAME_DUTCH :Hollandske STR_TOWNNAME_DUTCH :Hollandske
STR_TOWNNAME_FINNISH :Finske STR_TOWNNAME_FINNISH :Finske
STR_TOWNNAME_POLISH :Polske STR_TOWNNAME_POLISH :Polske
STR_TOWNNAME_SLOVAKISH :Slovakiske STR_TOWNNAME_SLOVAK :Slovakiske
STR_TOWNNAME_NORWEGIAN :Norske STR_TOWNNAME_NORWEGIAN :Norske
STR_TOWNNAME_HUNGARIAN :Ungarske STR_TOWNNAME_HUNGARIAN :Ungarske
STR_TOWNNAME_AUSTRIAN :Østrigske STR_TOWNNAME_AUSTRIAN :Østrigske
@@ -816,7 +818,7 @@ STR_CURR_ITL :Italienske Lire
STR_CURR_NLG :Hollandske Guilder (NLG) STR_CURR_NLG :Hollandske Guilder (NLG)
STR_CURR_NOK :Norske Kroner (NOK) STR_CURR_NOK :Norske Kroner (NOK)
STR_CURR_PLN :Polske Zloty (PLN) STR_CURR_PLN :Polske Zloty (PLN)
STR_CURR_ROL :Rumænske Lei (ROL) STR_CURR_RON :Rumænske Lei (RON)
STR_CURR_RUR :Russiske Rubel (RUR) STR_CURR_RUR :Russiske Rubel (RUR)
STR_CURR_SIT :Slovenske Tolare (SIT) STR_CURR_SIT :Slovenske Tolare (SIT)
STR_CURR_SEK :Svenske Kroner (SEK) STR_CURR_SEK :Svenske Kroner (SEK)
@@ -936,7 +938,7 @@ STR_CONFIG_SETTING_SIGNALSIDE :{LTBLUE}Vis sig
STR_CONFIG_SETTING_SHOWFINANCES :{LTBLUE}Vis finansvinduet i slutningen af året: {ORANGE}{STRING} STR_CONFIG_SETTING_SHOWFINANCES :{LTBLUE}Vis finansvinduet i slutningen af året: {ORANGE}{STRING}
STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT :{LTBLUE}Nye ordrer er 'uden stop' som standard: {ORANGE}{STRING} STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT :{LTBLUE}Nye ordrer er 'uden stop' som standard: {ORANGE}{STRING}
STR_CONFIG_SETTING_ROADVEH_QUEUE :{LTBLUE}Kødannelse af køretøjer (med kvanteeffekt): {ORANGE}{STRING} STR_CONFIG_SETTING_ROADVEH_QUEUE :{LTBLUE}Kødannelse af køretøjer (med kvanteeffekt): {ORANGE}{STRING}
STR_CONFIG_SETTING_AUTOSCROLL :{LTBLUE}Pannorer vindue når musen er ved kanten: {ORANGE}{STRING} STR_CONFIG_SETTING_AUTOSCROLL :{LTBLUE}Panorér vindue når musen er ved kanten: {ORANGE}{STRING}
STR_CONFIG_SETTING_BRIBE :{LTBLUE}Tillad bestikkelse af de lokale myndigheder: {ORANGE}{STRING} STR_CONFIG_SETTING_BRIBE :{LTBLUE}Tillad bestikkelse af de lokale myndigheder: {ORANGE}{STRING}
STR_CONFIG_SETTING_ALLOW_EXCLUSIVE :{LTBLUE}Tillad køb af eksklusive transportrettigheder: {ORANGE}{STRING} STR_CONFIG_SETTING_ALLOW_EXCLUSIVE :{LTBLUE}Tillad køb af eksklusive transportrettigheder: {ORANGE}{STRING}
STR_CONFIG_SETTING_ALLOW_GIVE_MONEY :{LTBLUE}Tillad at sende penge til andre firmaer: {ORANGE}{STRING} STR_CONFIG_SETTING_ALLOW_GIVE_MONEY :{LTBLUE}Tillad at sende penge til andre firmaer: {ORANGE}{STRING}
@@ -944,6 +946,7 @@ STR_CONFIG_SETTING_NONUNIFORM_STATIONS :{LTBLUE}Ikke un
STR_CONFIG_SETTING_FREIGHT_TRAINS :{LTBLUE}Vægtfaktor for fragt for at simulere tunge tog: {ORANGE}{STRING} STR_CONFIG_SETTING_FREIGHT_TRAINS :{LTBLUE}Vægtfaktor for fragt for at simulere tunge tog: {ORANGE}{STRING}
STR_CONFIG_SETTING_PLANE_SPEED :{LTBLUE}Fly-hastighedsfaktor: {ORANGE}1 / {STRING} STR_CONFIG_SETTING_PLANE_SPEED :{LTBLUE}Fly-hastighedsfaktor: {ORANGE}1 / {STRING}
STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :{LTBLUE}Tillad gennemkørsels-stop på veje ejet af en by: {ORANGE}{STRING} STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :{LTBLUE}Tillad gennemkørsels-stop på veje ejet af en by: {ORANGE}{STRING}
STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD :{LTBLUE}Tillad gennemkørsels-stoppesteder på veje ejet af konkurrenter: {ORANGE}{STRING}
STR_CONFIG_SETTING_ADJACENT_STATIONS :{LTBLUE}Tillad bygning af tilstødende stationer: {ORANGE}{STRING} STR_CONFIG_SETTING_ADJACENT_STATIONS :{LTBLUE}Tillad bygning af tilstødende stationer: {ORANGE}{STRING}
STR_CONFIG_SETTING_DYNAMIC_ENGINES :{LTBLUE}Muliggør flere NewGRF køretøjssæt: {ORANGE}{STRING} STR_CONFIG_SETTING_DYNAMIC_ENGINES :{LTBLUE}Muliggør flere NewGRF køretøjssæt: {ORANGE}{STRING}
STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}Denne indstilling kan ikke ændres, når der er køretøjer. STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}Denne indstilling kan ikke ændres, når der er køretøjer.
@@ -1049,6 +1052,8 @@ STR_CONFIG_SETTING_AI_BUILDS_ROADVEH :{LTBLUE}Deaktiv
STR_CONFIG_SETTING_AI_BUILDS_AIRCRAFT :{LTBLUE}Deaktiver fly for computeren: {ORANGE}{STRING} STR_CONFIG_SETTING_AI_BUILDS_AIRCRAFT :{LTBLUE}Deaktiver fly for computeren: {ORANGE}{STRING}
STR_CONFIG_SETTING_AI_BUILDS_SHIPS :{LTBLUE}Deaktiver skibe for computeren: {ORANGE}{STRING} STR_CONFIG_SETTING_AI_BUILDS_SHIPS :{LTBLUE}Deaktiver skibe for computeren: {ORANGE}{STRING}
STR_CONFIG_SETTING_AI_IN_MULTIPLAYER :{LTBLUE}Tillad computerspillere i netværksspil: {ORANGE}{STRING}
STR_CONFIG_SETTING_AI_MAX_OPCODES :{LTBLUE}Antal instruktioner før computerspilleren standses: {ORANGE}{STRING}
STR_CONFIG_SETTING_SERVINT_ISPERCENT :{LTBLUE}Service intervaller er i procent: {ORANGE}{STRING} STR_CONFIG_SETTING_SERVINT_ISPERCENT :{LTBLUE}Service intervaller er i procent: {ORANGE}{STRING}
STR_CONFIG_SETTING_SERVINT_TRAINS :{LTBLUE}Standard service interval for tog: {ORANGE}{STRING} dage/% STR_CONFIG_SETTING_SERVINT_TRAINS :{LTBLUE}Standard service interval for tog: {ORANGE}{STRING} dage/%
@@ -1192,6 +1197,7 @@ STR_CANT_REMOVE_TRAIN_WAYPOINT :{WHITE}Kan ikke
STR_BUILD_AUTORAIL_TIP :{BLACK}Byg jernbane med auto-jernbane-værktøj STR_BUILD_AUTORAIL_TIP :{BLACK}Byg jernbane med auto-jernbane-værktøj
STR_NO_TOWN_IN_SCENARIO :{WHITE}...der er ingen byer i dette scenarie STR_NO_TOWN_IN_SCENARIO :{WHITE}...der er ingen byer i dette scenarie
STR_COULD_NOT_CREATE_TOWN :{WHITE}Kortgenerering afbrudt...{}...ingen brugbare lokaliteter til byer
STR_MANY_RANDOM_TOWNS :{BLACK}Mange tilfældige byer STR_MANY_RANDOM_TOWNS :{BLACK}Mange tilfældige byer
STR_RANDOM_TOWNS_TIP :{BLACK}Dæk kortet med tilfældigt placerede byer STR_RANDOM_TOWNS_TIP :{BLACK}Dæk kortet med tilfældigt placerede byer
@@ -2235,6 +2241,7 @@ STR_704A_SELECT_FEMALE_FACES :{BLACK}Vælg kv
STR_704B_GENERATE_RANDOM_NEW_FACE :{BLACK}Generer nyt tilfældigt ansigt STR_704B_GENERATE_RANDOM_NEW_FACE :{BLACK}Generer nyt tilfældigt ansigt
STR_704C_KEY :{BLACK}Nøgle STR_704C_KEY :{BLACK}Nøgle
STR_704D_SHOW_KEY_TO_GRAPHS :{BLACK}Viser nøglen til grafen STR_704D_SHOW_KEY_TO_GRAPHS :{BLACK}Viser nøglen til grafen
STR_SHOW_DETAILED_PERFORMANCE_RATINGS :{BLACK}Vis detaljeret præstationsoversigt
STR_704E_KEY_TO_COMPANY_GRAPHS :{WHITE}Nøgle til selskabsgraf STR_704E_KEY_TO_COMPANY_GRAPHS :{WHITE}Nøgle til selskabsgraf
STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY :{BLACK}Klik her for at vise/skjule selskabets graf STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY :{BLACK}Klik her for at vise/skjule selskabets graf
STR_7050_UNITS_OF_CARGO_DELIVERED :{WHITE}Afleveret last STR_7050_UNITS_OF_CARGO_DELIVERED :{WHITE}Afleveret last
@@ -2609,19 +2616,19 @@ STR_ORDER_GO_TO :Gå til
STR_ORDER_GO_NON_STOP_TO :Gå uden stop til STR_ORDER_GO_NON_STOP_TO :Gå uden stop til
STR_ORDER_GO_VIA :Gå via STR_ORDER_GO_VIA :Gå via
STR_ORDER_GO_NON_STOP_VIA :Gå uden stop via STR_ORDER_GO_NON_STOP_VIA :Gå uden stop via
STR_ORDER_TOGGLE_FULL_LOAD :{BLACK}Fuld last af hvilken som helst type STR_ORDER_TOGGLE_FULL_LOAD :{BLACK}Vilkårlig fuld last
STR_ORDER_DROP_LOAD_IF_POSSIBLE :Åbn hvis tilgængelig STR_ORDER_DROP_LOAD_IF_POSSIBLE :Last hvis muligt
STR_ORDER_DROP_FULL_LOAD_ALL :Fuld last af alt gods STR_ORDER_DROP_FULL_LOAD_ALL :Fuld last af alt gods
STR_ORDER_DROP_FULL_LOAD_ANY :Fuld last af hvilket som helst gods STR_ORDER_DROP_FULL_LOAD_ANY :Fuld last vilkårligt gods
STR_ORDER_DROP_NO_LOADING :Ingen lastning STR_ORDER_DROP_NO_LOADING :Ingen last
STR_ORDER_TOGGLE_UNLOAD :{BLACK}Los alt STR_ORDER_TOGGLE_UNLOAD :{BLACK}Los alt
STR_ORDER_DROP_UNLOAD_IF_ACCEPTED :Los hvis gods accepteres STR_ORDER_DROP_UNLOAD_IF_ACCEPTED :Los hvis gods accepteres
STR_ORDER_DROP_UNLOAD :Aflæs alt STR_ORDER_DROP_UNLOAD :Aflæs alt
STR_ORDER_DROP_TRANSFER :Overfør STR_ORDER_DROP_TRANSFER :Overfør
STR_ORDER_DROP_NO_UNLOADING :Ingen losning STR_ORDER_DROP_NO_UNLOADING :Ingen losning
STR_ORDER_FULL_LOAD :(Fuld last) STR_ORDER_FULL_LOAD :(Fuld last)
STR_ORDER_FULL_LOAD_ANY :(Fuld last af hvilket som helst gods) STR_ORDER_FULL_LOAD_ANY :(Fuld last vilkårligt gods)
STR_ORDER_NO_LOAD :(Ingen lastning) STR_ORDER_NO_LOAD :(Ingen last)
STR_ORDER_UNLOAD :(Los og medtag gods) STR_ORDER_UNLOAD :(Los og medtag gods)
STR_ORDER_UNLOAD_FULL_LOAD :(Los og vent på fuld last) STR_ORDER_UNLOAD_FULL_LOAD :(Los og vent på fuld last)
STR_ORDER_UNLOAD_FULL_LOAD_ANY :(Los og vent på fuld last af hvilket som helst gods) STR_ORDER_UNLOAD_FULL_LOAD_ANY :(Los og vent på fuld last af hvilket som helst gods)
@@ -2796,7 +2803,7 @@ STR_VEHICLE_INFO_COST_WEIGHT_SPEED_POWER :{BLACK}Pris: {C
STR_885C_BROKEN_DOWN :{RED}Gået i stykker STR_885C_BROKEN_DOWN :{RED}Gået i stykker
STR_885D_AGE_RUNNING_COST_YR :{BLACK}Alder: {LTBLUE}{STRING}{BLACK} Driftsomkostninger: {LTBLUE}{CURRENCY}/år STR_885D_AGE_RUNNING_COST_YR :{BLACK}Alder: {LTBLUE}{STRING}{BLACK} Driftsomkostninger: {LTBLUE}{CURRENCY}/år
STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Vægt: {LTBLUE}{WEIGHT_S} {BLACK}Styrke: {LTBLUE}{POWER}{BLACK} Maks. hastighed: {LTBLUE}{VELOCITY} STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Vægt: {LTBLUE}{WEIGHT_S} {BLACK}Styrke: {LTBLUE}{POWER}{BLACK} Maks. hastighed: {LTBLUE}{VELOCITY}
STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Vægt: {LTBLUE}{WEIGHT_S} {BLACK}Kraft: {LTBLUE}{POWER}{BLACK} Maks. hast.: {LTBLUE}{VELOCITY} {BLACK}Maks. t.k.: {LTBLUE}{FORCE} STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Vægt: {LTBLUE}{WEIGHT_S} {BLACK}Effekt: {LTBLUE}{POWER}{BLACK} Maks. hast.: {LTBLUE}{VELOCITY} {BLACK}Maks. trækkraft: {LTBLUE}{FORCE}
STR_885F_PROFIT_THIS_YEAR_LAST_YEAR :{BLACK}Afkast i år: {LTBLUE}{CURRENCY} (sidste år: {CURRENCY}) STR_885F_PROFIT_THIS_YEAR_LAST_YEAR :{BLACK}Afkast i år: {LTBLUE}{CURRENCY} (sidste år: {CURRENCY})
STR_8860_RELIABILITY_BREAKDOWNS :{BLACK}Pålidelighed {LTBLUE}{COMMA}% {BLACK}nedbrud siden sidste service: {LTBLUE}{COMMA} STR_8860_RELIABILITY_BREAKDOWNS :{BLACK}Pålidelighed {LTBLUE}{COMMA}% {BLACK}nedbrud siden sidste service: {LTBLUE}{COMMA}
STR_8861_STOPPED :{RED}Stoppet STR_8861_STOPPED :{RED}Stoppet
@@ -3164,6 +3171,9 @@ STR_NEWGRF_BROKEN :{WHITE}Denne Ne
STR_NEWGRF_BROKEN_VEHICLE_LENGTH :{WHITE}Den ændrer toglængden for '{1:ENGINE}' mens den ikke er i depot. STR_NEWGRF_BROKEN_VEHICLE_LENGTH :{WHITE}Den ændrer toglængden for '{1:ENGINE}' mens den ikke er i depot.
STR_BROKEN_VEHICLE_LENGTH :{WHITE}Toget '{VEHICLE}' fra firmaet '{COMPANY}' har ugyldig længde. Det skyldes sandsynligvis at problem med en NewGRF. Spillet går muligvis ned. STR_BROKEN_VEHICLE_LENGTH :{WHITE}Toget '{VEHICLE}' fra firmaet '{COMPANY}' har ugyldig længde. Det skyldes sandsynligvis at problem med en NewGRF. Spillet går muligvis ned.
STR_NEWGRF_BUGGY :{WHITE}NewGRF '{0:STRING}' indeholder forkert information.
STR_NEWGRF_BUGGY_ARTICULATED_CARGO :{WHITE}Gods-/ombygningsinformation for '{1:ENGINE}' afviger fra indkøbslisten efter konstruktion. Dette kan medføre, at autofornyelse ikke fungerer korrekt.
STR_NEWGRF_BUGGY_ENDLESS_PRODUCTION_CALLBACK :{WHITE}'{1:STRING}' forårsagede en uendelig løkke i produktions-callback'en.
STR_LOADGAME_REMOVED_TRAMS :{WHITE}Spillet er gemt i en version uden sporveje. Alle sporveje er blevet fjernet. STR_LOADGAME_REMOVED_TRAMS :{WHITE}Spillet er gemt i en version uden sporveje. Alle sporveje er blevet fjernet.
@@ -3234,7 +3244,7 @@ STR_REPLACE_HELP_REPLACE_INFO_TAB :{BLACK}Viser hv
STR_REPLACE_REMOVE_WAGON :{BLACK}Fjern vogn: {ORANGE}{SKIP}{STRING} STR_REPLACE_REMOVE_WAGON :{BLACK}Fjern vogn: {ORANGE}{SKIP}{STRING}
STR_REPLACE_REMOVE_WAGON_HELP :{BLACK}Få autoudskift til at bevare længden af tog ved at fjerne vogne (startende fra fronten), hvis autoudskiftningen gør toget længere. STR_REPLACE_REMOVE_WAGON_HELP :{BLACK}Få autoudskift til at bevare længden af tog ved at fjerne vogne (startende fra fronten), hvis autoudskiftningen gør toget længere.
STR_REPLACE_ENGINE_WAGON_SELECT :{BLACK}Udskifter: {ORANGE}{SKIP}{SKIP}{STRING} STR_REPLACE_ENGINE_WAGON_SELECT :{BLACK}Udskifter: {ORANGE}{SKIP}{SKIP}{STRING}
STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK} EKSPERIMENTEL EGENSKAB {}Skift imellem lokomotiv- og vogn-udskiftningsvindue.{}Vognudskiftning vil kun finde sted hvis den nye vogn kan ændres til at transportere samme godstype som den gamle vogn. Dette bliver checket for hver vogn, når udskiftningen finder sted. STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK}Skift imellem lokomotiv- og vogn-udskiftningsvindue
STR_RAIL_VEHICLE_NOT_AVAILABLE :{WHITE}Tog er ikke tilgængeligt STR_RAIL_VEHICLE_NOT_AVAILABLE :{WHITE}Tog er ikke tilgængeligt
STR_ROAD_VEHICLE_NOT_AVAILABLE :{WHITE}Vejkøretøj er ikke tilgængeligt STR_ROAD_VEHICLE_NOT_AVAILABLE :{WHITE}Vejkøretøj er ikke tilgængeligt
STR_SHIP_NOT_AVAILABLE :{WHITE}Skib er ikke tilgængeligt STR_SHIP_NOT_AVAILABLE :{WHITE}Skib er ikke tilgængeligt
@@ -3549,10 +3559,33 @@ STR_OSK_KEYBOARD_LAYOUT_CAPS :~!@#$%^&*()_+|Q
######## ########
############ AI GUI ############ AI GUI
STR_AI_SETTINGS_BUTTON :{BLACK}Computerspiller-indstillinger
STR_AI_SETTINGS_BUTTON_TIP :{BLACK}Vis indstillinger for computerstyrede spillere
STR_AI_DEBUG :{WHITE}Computerspiller-debug
STR_AI_DEBUG_NAME_TIP :{BLACK}Navn på computerspilleren
STR_AI_DEBUG_RELOAD :{BLACK}Genindlæs computerspiller
STR_AI_DEBUG_RELOAD_TIP :{BLACK}Stop computerspilleren, genindlæs scriptet og genstart computerspilleren
STR_AI_DEBUG_SERVER_ONLY :{YELLOW}Computerspiller-debugvindue er kun tilgængeligt på serveren
STR_AI_CONFIG_CAPTION :{WHITE}Computerspiller-konfiguration
STR_AI_CHANGE :{BLACK}Vælg computerspiller
STR_AI_CONFIGURE :{BLACK}Konfigurer computerspiller
STR_AI_CHANGE_TIP :{BLACK}Indlæs en anden computerspiller
STR_AI_CONFIGURE_TIP :{BLACK}Konfigurer parametre for computerspiller
STR_AI_LIST_TIP :{BLACK}Alle computerstyrede spillere der vil blive indlæst i næste spil
STR_AI_LIST_CAPTION :{WHITE}Tilgængelige computerspillere
STR_AI_AILIST_TIP :{BLACK}Klik for at vælge en computerstyret spiller
STR_AI_ACCEPT :{BLACK}Accepter
STR_AI_ACCEPT_TIP :{BLACK}Vælg markeret computerstyret spiller
STR_AI_CANCEL :{BLACK}Afbryd
STR_AI_CANCEL_TIP :{BLACK}Skift ikke computerstyret spiller
STR_AI_CLOSE :{BLACK}Luk STR_AI_CLOSE :{BLACK}Luk
STR_AI_RESET :{BLACK}Nulstil STR_AI_RESET :{BLACK}Nulstil
STR_AI_HUMAN_PLAYER :Menneskelig spiller
STR_AI_RANDOM_AI :Tilfældig computerspiller
STR_AI_SETTINGS_CAPTION :{WHITE}Computerspiller-parametre
STR_AI_AUTHOR :Skaber: STR_AI_AUTHOR :Skaber:
STR_AI_VERSION :Version: STR_AI_VERSION :Version:
STR_AI_PLEASE_REPORT_CRASH :{WHITE}En computerstyret spiller gik ned. Rapporter det venligst til udvikleren af computerspilleren med et skærmbilledet af computerspiller-debugvinduet.
######## ########
############ town controlled noise level ############ town controlled noise level
@@ -3565,6 +3598,8 @@ STR_CONTENT_NO_ZLIB :{WHITE}OpenTTD
STR_CONTENT_NO_ZLIB_SUB :{WHITE}... det er ikke muligt at downloade indhold! STR_CONTENT_NO_ZLIB_SUB :{WHITE}... det er ikke muligt at downloade indhold!
STR_CONTENT_TYPE_BASE_GRAPHICS :Basisgrafik STR_CONTENT_TYPE_BASE_GRAPHICS :Basisgrafik
STR_CONTENT_TYPE_NEWGRF :NewGRF STR_CONTENT_TYPE_NEWGRF :NewGRF
STR_CONTENT_TYPE_AI :Computerspiller
STR_CONTENT_TYPE_AI_LIBRARY :Computerspiller-resourcefil
STR_CONTENT_TYPE_SCENARIO :Scenarie STR_CONTENT_TYPE_SCENARIO :Scenarie
STR_CONTENT_TYPE_HEIGHTMAP :Højdekort STR_CONTENT_TYPE_HEIGHTMAP :Højdekort
STR_CONTENT_TITLE :{WHITE}Download af indhold STR_CONTENT_TITLE :{WHITE}Download af indhold

View File

@@ -785,7 +785,7 @@ STR_TOWNNAME_SWEDISH :Zweeds
STR_TOWNNAME_DUTCH :Nederlands STR_TOWNNAME_DUTCH :Nederlands
STR_TOWNNAME_FINNISH :Fins STR_TOWNNAME_FINNISH :Fins
STR_TOWNNAME_POLISH :Pools STR_TOWNNAME_POLISH :Pools
STR_TOWNNAME_SLOVAKISH :Slowaaks STR_TOWNNAME_SLOVAK :Slowaaks
STR_TOWNNAME_NORWEGIAN :Noors STR_TOWNNAME_NORWEGIAN :Noors
STR_TOWNNAME_HUNGARIAN :Hongaars STR_TOWNNAME_HUNGARIAN :Hongaars
STR_TOWNNAME_AUSTRIAN :Oostenrijks STR_TOWNNAME_AUSTRIAN :Oostenrijks
@@ -818,7 +818,7 @@ STR_CURR_ITL :Italiaanse Lier
STR_CURR_NLG :Nederlandse Gulden (NLG) STR_CURR_NLG :Nederlandse Gulden (NLG)
STR_CURR_NOK :Noorse Kronen (NOK) STR_CURR_NOK :Noorse Kronen (NOK)
STR_CURR_PLN :Poolse Zloty (PLN) STR_CURR_PLN :Poolse Zloty (PLN)
STR_CURR_ROL :Roemeense Leu (ROL) STR_CURR_RON :Roemeense Leu (RON)
STR_CURR_RUR :Russische Rubel (RUR) STR_CURR_RUR :Russische Rubel (RUR)
STR_CURR_SIT :Sloveense Tolar (SIT) STR_CURR_SIT :Sloveense Tolar (SIT)
STR_CURR_SEK :Zweedse Kronen (SEK) STR_CURR_SEK :Zweedse Kronen (SEK)
@@ -973,7 +973,7 @@ STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :{LTBLUE}Max afs
STR_CONFIG_SETTING_SNOWLINE_HEIGHT :{LTBLUE}Sneeuwhoogte: {ORANGE}{STRING} STR_CONFIG_SETTING_SNOWLINE_HEIGHT :{LTBLUE}Sneeuwhoogte: {ORANGE}{STRING}
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :{LTBLUE}Ruwheid van het terrein (alleen Terra Genesis) : {ORANGE}{STRING} STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :{LTBLUE}Ruwheid van het terrein (alleen Terra Genesis) : {ORANGE}{STRING}
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :Erg vlak STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :Erg vlak
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :vlak STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :Vlak
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :Ruig STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :Ruig
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :Erg ruig STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :Erg ruig
STR_CONFIG_SETTING_TREE_PLACER :{LTBLUE}Boomplaatser algoritme: {ORANGE}{STRING} STR_CONFIG_SETTING_TREE_PLACER :{LTBLUE}Boomplaatser algoritme: {ORANGE}{STRING}
@@ -1197,6 +1197,7 @@ STR_CANT_REMOVE_TRAIN_WAYPOINT :{WHITE}Kan hier
STR_BUILD_AUTORAIL_TIP :{BLACK}Bouw spoor met de Autorail-methode STR_BUILD_AUTORAIL_TIP :{BLACK}Bouw spoor met de Autorail-methode
STR_NO_TOWN_IN_SCENARIO :{WHITE}...er is geen stad in dit scenario STR_NO_TOWN_IN_SCENARIO :{WHITE}...er is geen stad in dit scenario
STR_COULD_NOT_CREATE_TOWN :{WHITE}Map maken afgebroken...{}...geen geschikte dorplokaties
STR_MANY_RANDOM_TOWNS :{BLACK}Veel willekeurige steden STR_MANY_RANDOM_TOWNS :{BLACK}Veel willekeurige steden
STR_RANDOM_TOWNS_TIP :{BLACK}Bedek de kaart met willekeurig geplaatste steden STR_RANDOM_TOWNS_TIP :{BLACK}Bedek de kaart met willekeurig geplaatste steden
@@ -2240,6 +2241,7 @@ STR_704A_SELECT_FEMALE_FACES :{BLACK}Selectee
STR_704B_GENERATE_RANDOM_NEW_FACE :{BLACK}Genereer willekeurig nieuw gezicht STR_704B_GENERATE_RANDOM_NEW_FACE :{BLACK}Genereer willekeurig nieuw gezicht
STR_704C_KEY :{BLACK}Legenda STR_704C_KEY :{BLACK}Legenda
STR_704D_SHOW_KEY_TO_GRAPHS :{BLACK}Laat grafieklegenda zien STR_704D_SHOW_KEY_TO_GRAPHS :{BLACK}Laat grafieklegenda zien
STR_SHOW_DETAILED_PERFORMANCE_RATINGS :{BLACK}Toon gedetaileerde prestatiewaarderingen
STR_704E_KEY_TO_COMPANY_GRAPHS :{WHITE}Legenda voor bedrijfsgrafieken STR_704E_KEY_TO_COMPANY_GRAPHS :{WHITE}Legenda voor bedrijfsgrafieken
STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY :{BLACK}Klik hier om dit bedrijf weer te geven of te verbergen op de grafiek STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY :{BLACK}Klik hier om dit bedrijf weer te geven of te verbergen op de grafiek
STR_7050_UNITS_OF_CARGO_DELIVERED :{WHITE}Eenheden van goederen afgeleverd STR_7050_UNITS_OF_CARGO_DELIVERED :{WHITE}Eenheden van goederen afgeleverd
@@ -3169,6 +3171,10 @@ STR_NEWGRF_BROKEN :{WHITE}Gedrag v
STR_NEWGRF_BROKEN_VEHICLE_LENGTH :{WHITE}Het verandert de lengte van voertuig '{1:ENGINE}' wanneer niet in een depot. STR_NEWGRF_BROKEN_VEHICLE_LENGTH :{WHITE}Het verandert de lengte van voertuig '{1:ENGINE}' wanneer niet in een depot.
STR_BROKEN_VEHICLE_LENGTH :{WHITE}Trein '{VEHICLE}' behorend bij '{COMPANY}' heeft een ongeldige lengte. Het is waarschijnlijk veroorzaakt door problemen metNewGRFs. Het spel kan desync krijgen of crash. STR_BROKEN_VEHICLE_LENGTH :{WHITE}Trein '{VEHICLE}' behorend bij '{COMPANY}' heeft een ongeldige lengte. Het is waarschijnlijk veroorzaakt door problemen metNewGRFs. Het spel kan desync krijgen of crash.
STR_NEWGRF_BUGGY :{WHITE}NewGRF '{STRING}' geeft onjuiste informatie.
STR_NEWGRF_BUGGY_ARTICULATED_CARGO :{WHITE}vracht/ombouw informatie voor '{1:ENGINE}' wijkt af van aanschaflijst na het bouwen. Dit kan resulteren in problemen bij ombouwen door autovernieuw/-vervang
STR_NEWGRF_BUGGY_ENDLESS_PRODUCTION_CALLBACK :{WHITE}'{1:STRING}' Een eindeloze loop gevonden in de productie-callback.
STR_LOADGAME_REMOVED_TRAMS :{WHITE}Spel was opgeslagen in een versie zonder tram ondersteuning. Alle trams zijn verwijderd. STR_LOADGAME_REMOVED_TRAMS :{WHITE}Spel was opgeslagen in een versie zonder tram ondersteuning. Alle trams zijn verwijderd.
STR_CURRENCY_WINDOW :{WHITE}Aangepaste valuta STR_CURRENCY_WINDOW :{WHITE}Aangepaste valuta
@@ -3238,7 +3244,7 @@ STR_REPLACE_HELP_REPLACE_INFO_TAB :{BLACK}Dit geef
STR_REPLACE_REMOVE_WAGON :{BLACK}Wagons verwijderen: {ORANGE}{SKIP}{STRING} STR_REPLACE_REMOVE_WAGON :{BLACK}Wagons verwijderen: {ORANGE}{SKIP}{STRING}
STR_REPLACE_REMOVE_WAGON_HELP :{BLACK}De te vervangen trein behoudt zijn lengte door wagons weg te halen (startend aan de voorkant), als het vervangen de trein langer zou maken STR_REPLACE_REMOVE_WAGON_HELP :{BLACK}De te vervangen trein behoudt zijn lengte door wagons weg te halen (startend aan de voorkant), als het vervangen de trein langer zou maken
STR_REPLACE_ENGINE_WAGON_SELECT :{BLACK}Aan het vervangen: {ORANGE}{SKIP}{SKIP}{STRING} STR_REPLACE_ENGINE_WAGON_SELECT :{BLACK}Aan het vervangen: {ORANGE}{SKIP}{SKIP}{STRING}
STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK} EXPERIMENTEEL {}Wissel tussen motor- en wagonvervangvensters.{}Wagonvervanging wordt alleen uitgevoerd als de nieuwe wagon omgebouwd kan worden om hetzelfde ladingtype te dragen als de oude wagon. Dit wordt gecontroleerd voor elke wagon wanneer de daadwerkelijke vervanging plaats vindt. STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK}Wissel tussen motor- en wagonvervangvensters
STR_RAIL_VEHICLE_NOT_AVAILABLE :{WHITE}Trein is niet beschikbaar STR_RAIL_VEHICLE_NOT_AVAILABLE :{WHITE}Trein is niet beschikbaar
STR_ROAD_VEHICLE_NOT_AVAILABLE :{WHITE}Voertuig is niet beschikbaar STR_ROAD_VEHICLE_NOT_AVAILABLE :{WHITE}Voertuig is niet beschikbaar
STR_SHIP_NOT_AVAILABLE :{WHITE}Schip is niet beschikbaar STR_SHIP_NOT_AVAILABLE :{WHITE}Schip is niet beschikbaar
@@ -3579,6 +3585,7 @@ STR_AI_RANDOM_AI :Willekeurige AI
STR_AI_SETTINGS_CAPTION :{WHITE}AI Parameters STR_AI_SETTINGS_CAPTION :{WHITE}AI Parameters
STR_AI_AUTHOR :Maker: STR_AI_AUTHOR :Maker:
STR_AI_VERSION :Versie: STR_AI_VERSION :Versie:
STR_AI_PLEASE_REPORT_CRASH :{WHITE}Een van de draaiende AI's is gecrashed. Meldt dit bij de schrijver van deze AI met een schermprint van het AI Debugscherm.
######## ########
############ town controlled noise level ############ town controlled noise level

View File

@@ -785,7 +785,7 @@ STR_TOWNNAME_SWEDISH :Swedish
STR_TOWNNAME_DUTCH :Dutch STR_TOWNNAME_DUTCH :Dutch
STR_TOWNNAME_FINNISH :Finnish STR_TOWNNAME_FINNISH :Finnish
STR_TOWNNAME_POLISH :Polish STR_TOWNNAME_POLISH :Polish
STR_TOWNNAME_SLOVAKISH :Slovakish STR_TOWNNAME_SLOVAK :Slovak
STR_TOWNNAME_NORWEGIAN :Norwegian STR_TOWNNAME_NORWEGIAN :Norwegian
STR_TOWNNAME_HUNGARIAN :Hungarian STR_TOWNNAME_HUNGARIAN :Hungarian
STR_TOWNNAME_AUSTRIAN :Austrian STR_TOWNNAME_AUSTRIAN :Austrian
@@ -818,7 +818,7 @@ STR_CURR_ITL :Italian Lira (I
STR_CURR_NLG :Dutch Guilder (NLG) STR_CURR_NLG :Dutch Guilder (NLG)
STR_CURR_NOK :Norwegian Krone (NOK) STR_CURR_NOK :Norwegian Krone (NOK)
STR_CURR_PLN :Polish Zloty (PLN) STR_CURR_PLN :Polish Zloty (PLN)
STR_CURR_ROL :Romanian Leu (ROL) STR_CURR_RON :Romanian Leu (RON)
STR_CURR_RUR :Russian Rubles (RUR) STR_CURR_RUR :Russian Rubles (RUR)
STR_CURR_SIT :Slovenian Tolar (SIT) STR_CURR_SIT :Slovenian Tolar (SIT)
STR_CURR_SEK :Swedish Krona (SEK) STR_CURR_SEK :Swedish Krona (SEK)
@@ -2241,6 +2241,7 @@ STR_704A_SELECT_FEMALE_FACES :{BLACK}Select f
STR_704B_GENERATE_RANDOM_NEW_FACE :{BLACK}Generate random new face STR_704B_GENERATE_RANDOM_NEW_FACE :{BLACK}Generate random new face
STR_704C_KEY :{BLACK}Key STR_704C_KEY :{BLACK}Key
STR_704D_SHOW_KEY_TO_GRAPHS :{BLACK}Show key to graphs STR_704D_SHOW_KEY_TO_GRAPHS :{BLACK}Show key to graphs
STR_SHOW_DETAILED_PERFORMANCE_RATINGS :{BLACK}Show detailed performance ratings
STR_704E_KEY_TO_COMPANY_GRAPHS :{WHITE}Key to company graphs STR_704E_KEY_TO_COMPANY_GRAPHS :{WHITE}Key to company graphs
STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY :{BLACK}Click here to toggle company's entry on graph on/off STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY :{BLACK}Click here to toggle company's entry on graph on/off
STR_7050_UNITS_OF_CARGO_DELIVERED :{WHITE}Units of cargo delivered STR_7050_UNITS_OF_CARGO_DELIVERED :{WHITE}Units of cargo delivered
@@ -3172,6 +3173,7 @@ STR_BROKEN_VEHICLE_LENGTH :{WHITE}Train '{
STR_NEWGRF_BUGGY :{WHITE}NewGRF '{0:RAW_STRING}' provides incorrect information. STR_NEWGRF_BUGGY :{WHITE}NewGRF '{0:RAW_STRING}' provides incorrect information.
STR_NEWGRF_BUGGY_ARTICULATED_CARGO :{WHITE}Cargo/refit information for '{1:ENGINE}' differs from purchase list after construction. This might cause autorenew/-replace to fail refitting correctly. STR_NEWGRF_BUGGY_ARTICULATED_CARGO :{WHITE}Cargo/refit information for '{1:ENGINE}' differs from purchase list after construction. This might cause autorenew/-replace to fail refitting correctly.
STR_NEWGRF_BUGGY_ENDLESS_PRODUCTION_CALLBACK :{WHITE}'{1:STRING}' caused an endless loop in the production callback.
STR_LOADGAME_REMOVED_TRAMS :{WHITE}Game was saved in version without tram support. All trams have been removed. STR_LOADGAME_REMOVED_TRAMS :{WHITE}Game was saved in version without tram support. All trams have been removed.
@@ -3242,7 +3244,7 @@ STR_REPLACE_HELP_REPLACE_INFO_TAB :{BLACK}Displays
STR_REPLACE_REMOVE_WAGON :{BLACK}Wagon removal: {ORANGE}{SKIP}{STRING} STR_REPLACE_REMOVE_WAGON :{BLACK}Wagon removal: {ORANGE}{SKIP}{STRING}
STR_REPLACE_REMOVE_WAGON_HELP :{BLACK}Make autoreplace keep the length of a train the same by removing wagons (starting at the front), if replacing the engine would make the train longer. STR_REPLACE_REMOVE_WAGON_HELP :{BLACK}Make autoreplace keep the length of a train the same by removing wagons (starting at the front), if replacing the engine would make the train longer.
STR_REPLACE_ENGINE_WAGON_SELECT :{BLACK}Replacing: {ORANGE}{SKIP}{SKIP}{STRING} STR_REPLACE_ENGINE_WAGON_SELECT :{BLACK}Replacing: {ORANGE}{SKIP}{SKIP}{STRING}
STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK} EXPERIMENTAL FEATURE {}Switch between engine and wagon replacement windows.{}Wagon replacement will only be done if the new wagon can be refitted into carrying the same type of cargo as the old one. This is checked for each wagon when the actual replacement takes place. STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK}Switch between engine and wagon replacement windows
STR_RAIL_VEHICLE_NOT_AVAILABLE :{WHITE}Vehicle is not available STR_RAIL_VEHICLE_NOT_AVAILABLE :{WHITE}Vehicle is not available
STR_ROAD_VEHICLE_NOT_AVAILABLE :{WHITE}Vehicle is not available STR_ROAD_VEHICLE_NOT_AVAILABLE :{WHITE}Vehicle is not available
STR_SHIP_NOT_AVAILABLE :{WHITE}Ship is not available STR_SHIP_NOT_AVAILABLE :{WHITE}Ship is not available
@@ -3583,6 +3585,7 @@ STR_AI_RANDOM_AI :Random AI
STR_AI_SETTINGS_CAPTION :{WHITE}AI Parameters STR_AI_SETTINGS_CAPTION :{WHITE}AI Parameters
STR_AI_AUTHOR :Author: STR_AI_AUTHOR :Author:
STR_AI_VERSION :Version: STR_AI_VERSION :Version:
STR_AI_URL :URL: {RAW_STRING}
STR_AI_PLEASE_REPORT_CRASH :{WHITE}One of the running AIs crashed. Please report this to the AI author with a screenshot of the AI Debug Window. STR_AI_PLEASE_REPORT_CRASH :{WHITE}One of the running AIs crashed. Please report this to the AI author with a screenshot of the AI Debug Window.
######## ########

View File

@@ -785,7 +785,7 @@ STR_TOWNNAME_SWEDISH :Swedish
STR_TOWNNAME_DUTCH :Dutch STR_TOWNNAME_DUTCH :Dutch
STR_TOWNNAME_FINNISH :Finnish STR_TOWNNAME_FINNISH :Finnish
STR_TOWNNAME_POLISH :Polish STR_TOWNNAME_POLISH :Polish
STR_TOWNNAME_SLOVAKISH :Slovakish STR_TOWNNAME_SLOVAK :Slovak
STR_TOWNNAME_NORWEGIAN :Norwegian STR_TOWNNAME_NORWEGIAN :Norwegian
STR_TOWNNAME_HUNGARIAN :Hungarian STR_TOWNNAME_HUNGARIAN :Hungarian
STR_TOWNNAME_AUSTRIAN :Austrian STR_TOWNNAME_AUSTRIAN :Austrian
@@ -818,7 +818,7 @@ STR_CURR_ITL :Italian Lira (I
STR_CURR_NLG :Dutch Guilder (NLG) STR_CURR_NLG :Dutch Guilder (NLG)
STR_CURR_NOK :Norwegian Krone (NOK) STR_CURR_NOK :Norwegian Krone (NOK)
STR_CURR_PLN :Polish Zloty (PLN) STR_CURR_PLN :Polish Zloty (PLN)
STR_CURR_ROL :Romanian Leu (ROL) STR_CURR_RON :Romanian Leu (RON)
STR_CURR_RUR :Russian Rubel (RUR) STR_CURR_RUR :Russian Rubel (RUR)
STR_CURR_SIT :Slovenian Tolar (SIT) STR_CURR_SIT :Slovenian Tolar (SIT)
STR_CURR_SEK :Swedish Krona (SEK) STR_CURR_SEK :Swedish Krona (SEK)
@@ -2241,6 +2241,7 @@ STR_704A_SELECT_FEMALE_FACES :{BLACK}Select f
STR_704B_GENERATE_RANDOM_NEW_FACE :{BLACK}Generate random new face STR_704B_GENERATE_RANDOM_NEW_FACE :{BLACK}Generate random new face
STR_704C_KEY :{BLACK}Key STR_704C_KEY :{BLACK}Key
STR_704D_SHOW_KEY_TO_GRAPHS :{BLACK}Show key to graphs STR_704D_SHOW_KEY_TO_GRAPHS :{BLACK}Show key to graphs
STR_SHOW_DETAILED_PERFORMANCE_RATINGS :{BLACK}Show detailed performance ratings
STR_704E_KEY_TO_COMPANY_GRAPHS :{WHITE}Key to company graphs STR_704E_KEY_TO_COMPANY_GRAPHS :{WHITE}Key to company graphs
STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY :{BLACK}Click here to toggle company's entry on graph on/off STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY :{BLACK}Click here to toggle company's entry on graph on/off
STR_7050_UNITS_OF_CARGO_DELIVERED :{WHITE}Units of cargo delivered STR_7050_UNITS_OF_CARGO_DELIVERED :{WHITE}Units of cargo delivered
@@ -3170,6 +3171,10 @@ STR_NEWGRF_BROKEN :{WHITE}Behaviou
STR_NEWGRF_BROKEN_VEHICLE_LENGTH :{WHITE}It changes vehicle length for '{1:ENGINE}' when not inside a depot. STR_NEWGRF_BROKEN_VEHICLE_LENGTH :{WHITE}It changes vehicle length for '{1:ENGINE}' when not inside a depot.
STR_BROKEN_VEHICLE_LENGTH :{WHITE}Train '{VEHICLE}' belonging to '{COMPANY}' has invalid length. It is probably caused by problems with NewGRFs. Game may desync or crash. STR_BROKEN_VEHICLE_LENGTH :{WHITE}Train '{VEHICLE}' belonging to '{COMPANY}' has invalid length. It is probably caused by problems with NewGRFs. Game may desync or crash.
STR_NEWGRF_BUGGY :{WHITE}NewGRF '{0:STRING}' provides incorrect information.
STR_NEWGRF_BUGGY_ARTICULATED_CARGO :{WHITE}Cargo/refit information for '{1:ENGINE}' differs from purchase list after construction. This might cause autorenew/-replace to fail refitting correctly.
STR_NEWGRF_BUGGY_ENDLESS_PRODUCTION_CALLBACK :{WHITE}'{1:STRING}' caused an endless loop in the production callback.
STR_LOADGAME_REMOVED_TRAMS :{WHITE}Game was saved in version without streetcar support. All streetcars have been removed. STR_LOADGAME_REMOVED_TRAMS :{WHITE}Game was saved in version without streetcar support. All streetcars have been removed.
STR_CURRENCY_WINDOW :{WHITE}Custom currency STR_CURRENCY_WINDOW :{WHITE}Custom currency
@@ -3239,7 +3244,7 @@ STR_REPLACE_HELP_REPLACE_INFO_TAB :{BLACK}Displays
STR_REPLACE_REMOVE_WAGON :{BLACK}Car removal: {ORANGE}{SKIP}{STRING} STR_REPLACE_REMOVE_WAGON :{BLACK}Car removal: {ORANGE}{SKIP}{STRING}
STR_REPLACE_REMOVE_WAGON_HELP :{BLACK}Make autoreplace keep the length of a train the same by removing cars (starting at the front), if replacing the engine would make the train longer. STR_REPLACE_REMOVE_WAGON_HELP :{BLACK}Make autoreplace keep the length of a train the same by removing cars (starting at the front), if replacing the engine would make the train longer.
STR_REPLACE_ENGINE_WAGON_SELECT :{BLACK}Replacing: {ORANGE}{SKIP}{SKIP}{STRING} STR_REPLACE_ENGINE_WAGON_SELECT :{BLACK}Replacing: {ORANGE}{SKIP}{SKIP}{STRING}
STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK} EXPERIMENTAL FEATURE {}Switch between engine and car replacement windows.{}Car replacement will only be done if the new car can be refitted into carrying the same type of cargo as the old one. This is checked for each car when the actual replacement takes place. STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK}Switch between engine and car replacement windows
STR_RAIL_VEHICLE_NOT_AVAILABLE :{WHITE}Vehicle is not available STR_RAIL_VEHICLE_NOT_AVAILABLE :{WHITE}Vehicle is not available
STR_ROAD_VEHICLE_NOT_AVAILABLE :{WHITE}Vehicle is not available STR_ROAD_VEHICLE_NOT_AVAILABLE :{WHITE}Vehicle is not available
STR_SHIP_NOT_AVAILABLE :{WHITE}Ship is not available STR_SHIP_NOT_AVAILABLE :{WHITE}Ship is not available
@@ -3580,6 +3585,7 @@ STR_AI_RANDOM_AI :Random AI
STR_AI_SETTINGS_CAPTION :{WHITE}AI Parameters STR_AI_SETTINGS_CAPTION :{WHITE}AI Parameters
STR_AI_AUTHOR :Author: STR_AI_AUTHOR :Author:
STR_AI_VERSION :Version: STR_AI_VERSION :Version:
STR_AI_PLEASE_REPORT_CRASH :{WHITE}One of the running AIs crashed. Please report this to the AI author with a screenshot of the AI Debug Window.
######## ########
############ town controlled noise level ############ town controlled noise level

View File

@@ -432,10 +432,13 @@ STR_AGE :{COMMA} jaro{P
STR_AGE_RED :{RED}{COMMA} jaro{P "" j} ({COMMA}) STR_AGE_RED :{RED}{COMMA} jaro{P "" j} ({COMMA})
############ range for service numbers ends ############ range for service numbers ends
STR_019C_ROAD_VEHICLE :Vojveturilo
STR_019D_AIRCRAFT :Aviadilo
STR_019E_SHIP :Ŝipo
STR_019F_TRAIN :Trajno STR_019F_TRAIN :Trajno
STR_019C_ROAD_VEHICLE :Vojveturilo
STR_019E_SHIP :Ŝipo
STR_019D_AIRCRAFT :Aviadilo
STR_01A0_IS_GETTING_OLD :{WHITE}{VEHICLE} malnoviĝis
STR_01A1_IS_GETTING_VERY_OLD :{WHITE}{VEHICLE} tre malnoviĝis
STR_01A2_IS_GETTING_VERY_OLD_AND :{WHITE}{VEHICLE} tro malnoviĝis kaj postulas anstataŭiĝon
STR_01A3_LAND_AREA_INFORMATION :{WHITE}Landregionaj informoj STR_01A3_LAND_AREA_INFORMATION :{WHITE}Landregionaj informoj
STR_01A4_COST_TO_CLEAR_N_A :{BLACK}Forviŝkosto: {LTBLUE}ne eblas STR_01A4_COST_TO_CLEAR_N_A :{BLACK}Forviŝkosto: {LTBLUE}ne eblas
STR_01A5_COST_TO_CLEAR :{BLACK}Forviŝkosto: {RED}{CURRENCY} STR_01A5_COST_TO_CLEAR :{BLACK}Forviŝkosto: {RED}{CURRENCY}
@@ -541,6 +544,8 @@ STR_0206_ARRIVAL_OF_FIRST_VEHICLE :{YELLOW}Unua ve
STR_0207_ARRIVAL_OF_FIRST_VEHICLE :{YELLOW}Unua veturilo atingas konkurantan stacion STR_0207_ARRIVAL_OF_FIRST_VEHICLE :{YELLOW}Unua veturilo atingas konkurantan stacion
STR_0208_ACCIDENTS_DISASTERS :{YELLOW}Akcidentoj / katastrofoj STR_0208_ACCIDENTS_DISASTERS :{YELLOW}Akcidentoj / katastrofoj
STR_0209_COMPANY_INFORMATION :{YELLOW}Kompaniaj informoj STR_0209_COMPANY_INFORMATION :{YELLOW}Kompaniaj informoj
STR_NEWS_INDUSTRY_OPEN :{YELLOW}Malfermiĝo de industrioj
STR_NEWS_INDUSTRY_CLOSE :{YELLOW}Fermiĝo de industrioj
STR_020A_ECONOMY_CHANGES :{YELLOW}Ekonomiaj ŝanĝoj STR_020A_ECONOMY_CHANGES :{YELLOW}Ekonomiaj ŝanĝoj
STR_020C_NEW_VEHICLES :{YELLOW}Novaj veturiloj STR_020C_NEW_VEHICLES :{YELLOW}Novaj veturiloj
STR_020D_CHANGES_OF_CARGO_ACCEPTANCE :{YELLOW}Ŝarĝakceptado ŝanĝiĝas STR_020D_CHANGES_OF_CARGO_ACCEPTANCE :{YELLOW}Ŝarĝakceptado ŝanĝiĝas
@@ -628,10 +633,12 @@ STR_02A0_ENDS_OF_BRIDGE_MUST_BOTH :{WHITE}...amba
STR_02A1_SMALL :{BLACK}Malgranda STR_02A1_SMALL :{BLACK}Malgranda
STR_02A2_MEDIUM :{BLACK}Mezgranda STR_02A2_MEDIUM :{BLACK}Mezgranda
STR_02A3_LARGE :{BLACK}Granda STR_02A3_LARGE :{BLACK}Granda
STR_SELECT_TOWN_SIZE_RANDOM :{BLACK}Arbitre
STR_FOUND_TOWN_CITY :{BLACK}Urbo STR_FOUND_TOWN_CITY :{BLACK}Urbo
STR_02A4_SELECT_TOWN_SIZE :{BLACK}Elektu urban grandecon STR_02A4_SELECT_TOWN_SIZE :{BLACK}Elektu urban grandecon
STR_02A5_TOWN_SIZE :{YELLOW}Urba grandeco: STR_02A5_TOWN_SIZE :{YELLOW}Urba grandeco:
STR_02B6 :{STRING} - {STRING} STR_02B6 :{STRING} - {STRING}
STR_02B7_SHOW_LAST_MESSAGE_OR_NEWS :{BLACK}Montru lastan mesaĝon aŭ novaĵon STR_02B7_SHOW_LAST_MESSAGE_OR_NEWS :{BLACK}Montru lastan mesaĝon aŭ novaĵon
STR_OFF :Ne STR_OFF :Ne
@@ -640,7 +647,6 @@ STR_FULL :Plene
STR_02BA :{SILVER}- - {COMPANY} - - STR_02BA :{SILVER}- - {COMPANY} - -
STR_02BB_TOWN_DIRECTORY :Urbaro STR_02BB_TOWN_DIRECTORY :Urbaro
STR_02BD :{BLACK}{STRING} STR_02BD :{BLACK}{STRING}
STR_02BF_CUSTOM :Ŝanĝitaj
STR_CHECKMARK :{CHECKMARK} STR_CHECKMARK :{CHECKMARK}
############ range for menu starts ############ range for menu starts
@@ -754,7 +760,7 @@ STR_TOWNNAME_SWEDISH :Svede
STR_TOWNNAME_DUTCH :Nederlande STR_TOWNNAME_DUTCH :Nederlande
STR_TOWNNAME_FINNISH :Finne STR_TOWNNAME_FINNISH :Finne
STR_TOWNNAME_POLISH :Pole STR_TOWNNAME_POLISH :Pole
STR_TOWNNAME_SLOVAKISH :Slovake STR_TOWNNAME_SLOVAK :Slovake
STR_TOWNNAME_NORWEGIAN :Norvege STR_TOWNNAME_NORWEGIAN :Norvege
STR_TOWNNAME_HUNGARIAN :Hungare STR_TOWNNAME_HUNGARIAN :Hungare
STR_TOWNNAME_AUSTRIAN :Aŭstrie STR_TOWNNAME_AUSTRIAN :Aŭstrie
@@ -787,7 +793,7 @@ STR_CURR_ITL :Italaj Liroj (I
STR_CURR_NLG :Nederlandaj Guldenoj (NLG) STR_CURR_NLG :Nederlandaj Guldenoj (NLG)
STR_CURR_NOK :Norvegaj Kronoj (NOK) STR_CURR_NOK :Norvegaj Kronoj (NOK)
STR_CURR_PLN :Polaj Zlotoj (PLN) STR_CURR_PLN :Polaj Zlotoj (PLN)
STR_CURR_ROL :Rumanaj Leŭoj (ROL) STR_CURR_RON :Rumanaj Leŭoj (RON)
STR_CURR_RUR :Rusaj Rubloj (RUR) STR_CURR_RUR :Rusaj Rubloj (RUR)
STR_CURR_SIT :Slovenaj Tolaroj (SIT) STR_CURR_SIT :Slovenaj Tolaroj (SIT)
STR_CURR_SEK :Svedaj Kronoj (SEK) STR_CURR_SEK :Svedaj Kronoj (SEK)
@@ -813,6 +819,7 @@ STR_OPTIONS_SCREENSHOT_FORMAT :{BLACK}Ekranfot
STR_OPTIONS_SCREENSHOT_FORMAT_CBO :{BLACK}{SKIP}{SKIP}{SKIP}{SKIP}{SKIP}{SKIP}{SKIP}{SKIP}{STRING} STR_OPTIONS_SCREENSHOT_FORMAT_CBO :{BLACK}{SKIP}{SKIP}{SKIP}{SKIP}{SKIP}{SKIP}{SKIP}{SKIP}{STRING}
STR_OPTIONS_SCREENSHOT_FORMAT_TIP :{BLACK}Elektu uzotan ekranfotan formaton STR_OPTIONS_SCREENSHOT_FORMAT_TIP :{BLACK}Elektu uzotan ekranfotan formaton
STR_AUTOSAVE_1_MONTH :Je ĉiu monato STR_AUTOSAVE_1_MONTH :Je ĉiu monato
STR_AUTOSAVE_FAILED :{WHITE}Fiaskis aŭtomate konservi STR_AUTOSAVE_FAILED :{WHITE}Fiaskis aŭtomate konservi
@@ -920,6 +927,7 @@ STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :{LTBLUE}Altecma
STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :Maldekstrume STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :Maldekstrume
STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :Dekstrume STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :Dekstrume
STR_CONFIG_SETTING_SE_FLAT_WORLD_HEIGHT :{LTBLUE}Kiom alta fariĝos scenara mapo: {ORANGE}{STRING} STR_CONFIG_SETTING_SE_FLAT_WORLD_HEIGHT :{LTBLUE}Kiom alta fariĝos scenara mapo: {ORANGE}{STRING}
STR_CONFIG_SETTING_EDGES_NOT_EMPTY :{WHITE}Unu ay pli da xeloj en norda parto ne malplenas
STR_CONFIG_SETTING_STATION_SPREAD :{LTBLUE}Maksimuma stacivasteco: {ORANGE}{STRING} {RED}Atentu: Pli alte, malpli rapide STR_CONFIG_SETTING_STATION_SPREAD :{LTBLUE}Maksimuma stacivasteco: {ORANGE}{STRING} {RED}Atentu: Pli alte, malpli rapide
STR_CONFIG_SETTING_SERVICEATHELIPAD :{LTBLUE}Aŭtomate prizorgu helikopterojn sur helikopterejoj: {ORANGE}{STRING} STR_CONFIG_SETTING_SERVICEATHELIPAD :{LTBLUE}Aŭtomate prizorgu helikopterojn sur helikopterejoj: {ORANGE}{STRING}
@@ -938,6 +946,8 @@ STR_CONFIG_SETTING_SCROLLWHEEL_OFF :Malaktiva
STR_CONFIG_SETTING_SCROLLWHEEL_MULTIPLIER :{LTBLUE}Mapskrolrada rapido: {ORANGE}{STRING} STR_CONFIG_SETTING_SCROLLWHEEL_MULTIPLIER :{LTBLUE}Mapskrolrada rapido: {ORANGE}{STRING}
STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME :{LTBLUE}Aŭtomate paŭzu startante novan ludon: {ORANGE}{STRING} STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME :{LTBLUE}Aŭtomate paŭzu startante novan ludon: {ORANGE}{STRING}
STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS_ALL :Ĉiuj kompanioj STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS_ALL :Ĉiuj kompanioj
STR_CONFIG_SETTING_LOADING_INDICATORS_ALL :Ĉiuj kompanioj STR_CONFIG_SETTING_LOADING_INDICATORS_ALL :Ĉiuj kompanioj
@@ -955,6 +965,7 @@ STR_CONFIG_SETTING_AI_BUILDS_AIRCRAFT :{LTBLUE}Malebli
STR_CONFIG_SETTING_AI_BUILDS_SHIPS :{LTBLUE}Malebligu ŝipojn por la komputilo: {ORANGE}{STRING} STR_CONFIG_SETTING_AI_BUILDS_SHIPS :{LTBLUE}Malebligu ŝipojn por la komputilo: {ORANGE}{STRING}
STR_CONFIG_SETTING_SERVINT_ISPERCENT :{LTBLUE}Prizorgintervala procentaĵo: {ORANGE}{STRING}
STR_CONFIG_SETTING_SERVINT_TRAINS :{LTBLUE}Defaŭlta prizorgintervalo por trajnoj: {ORANGE}{STRING} tagoj/% STR_CONFIG_SETTING_SERVINT_TRAINS :{LTBLUE}Defaŭlta prizorgintervalo por trajnoj: {ORANGE}{STRING} tagoj/%
STR_CONFIG_SETTING_SERVINT_TRAINS_DISABLED :{LTBLUE}Defaŭlta prizorgintervalo por trajnoj: {ORANGE}malaktiva STR_CONFIG_SETTING_SERVINT_TRAINS_DISABLED :{LTBLUE}Defaŭlta prizorgintervalo por trajnoj: {ORANGE}malaktiva
STR_CONFIG_SETTING_SERVINT_ROADVEH :{LTBLUE}Defaŭlta prizorgintervalo por vojveturiloj: {ORANGE}{STRING} tagoj/% STR_CONFIG_SETTING_SERVINT_ROADVEH :{LTBLUE}Defaŭlta prizorgintervalo por vojveturiloj: {ORANGE}{STRING} tagoj/%
@@ -1003,15 +1014,20 @@ STR_CONFIG_SETTING_VEHICLES :{ORANGE}Veturil
STR_CONFIG_SETTING_STATIONS :{ORANGE}Stacioj STR_CONFIG_SETTING_STATIONS :{ORANGE}Stacioj
STR_CONFIG_SETTING_ECONOMY :{ORANGE}Ekonomio STR_CONFIG_SETTING_ECONOMY :{ORANGE}Ekonomio
STR_CONFIG_SETTING_AI :{ORANGE}Konkurantoj STR_CONFIG_SETTING_AI :{ORANGE}Konkurantoj
STR_CONFIG_SETTING_ECONOMY_TOWNS :{ORANGE}Urboj
STR_CONFIG_SETTING_ECONOMY_INDUSTRIES :{ORANGE}Industrioj
STR_CONFIG_SETTING_PATHFINDER_FOR_SHIPS_YAPF :YAPF {RED}(malrekomenda)
STR_CONFIG_SETTING_MAP_X :{LTBLUE}X-grandeco de la mapo: {ORANGE}{STRING}
STR_CONFIG_SETTING_MAP_Y :{LTBLUE}Y-grandeco de la mapo: {ORANGE}{STRING}
############ generic strings for settings
STR_CONFIG_SETTING_DISABLED :malaktiva STR_CONFIG_SETTING_DISABLED :malaktiva
STR_CONFIG_SETTING_INT32 :{NUM} STR_CONFIG_SETTING_INT32 :{NUM}
STR_CONFIG_SETTING_CURRENCY :{CURRENCY} STR_CONFIG_SETTING_CURRENCY :{CURRENCY}
STR_CONFIG_SETTING_QUERY_CAPT :{WHITE}Ŝanĝu agord-valoron STR_CONFIG_SETTING_QUERY_CAPT :{WHITE}Ŝanĝu agord-valoron
STR_CONFIG_SETTING_PATHFINDER_FOR_SHIPS_YAPF :YAPF {RED}(malrekomenda)
STR_TEMPERATE_LANDSCAPE :Modera landaspekto STR_TEMPERATE_LANDSCAPE :Modera landaspekto
STR_SUB_ARCTIC_LANDSCAPE :Arktikeca landaspekto STR_SUB_ARCTIC_LANDSCAPE :Arktikeca landaspekto
STR_SUB_TROPICAL_LANDSCAPE :Tropikeca landaspekto STR_SUB_TROPICAL_LANDSCAPE :Tropikeca landaspekto
@@ -1101,7 +1117,6 @@ STR_MESSAGE_HISTORY_TIP :{BLACK}Listo da
STR_MESSAGES_DISABLE_ALL :{BLACK}Malaktivigu ĉiujn STR_MESSAGES_DISABLE_ALL :{BLACK}Malaktivigu ĉiujn
STR_MESSAGES_ENABLE_ALL :{BLACK}Aktivigu ĉiujn STR_MESSAGES_ENABLE_ALL :{BLACK}Aktivigu ĉiujn
STR_INDUSTRYDIR_CAPTION :{WHITE}Industrioj STR_INDUSTRYDIR_CAPTION :{WHITE}Industrioj
STR_INDUSTRYDIR_ITEM :{ORANGE}{INDUSTRY}{BLACK} ({CARGO}{STRING}){YELLOW} ({COMMA}% transportite) STR_INDUSTRYDIR_ITEM :{ORANGE}{INDUSTRY}{BLACK} ({CARGO}{STRING}){YELLOW} ({COMMA}% transportite)
STR_INDUSTRYDIR_ITEM_TWO :{ORANGE}{INDUSTRY}{BLACK} ({CARGO}{STRING}/{CARGO}{STRING}){YELLOW} ({COMMA}%/{COMMA}% transportite) STR_INDUSTRYDIR_ITEM_TWO :{ORANGE}{INDUSTRY}{BLACK} ({CARGO}{STRING}/{CARGO}{STRING}){YELLOW} ({COMMA}%/{COMMA}% transportite)
@@ -1114,10 +1129,8 @@ STR_RAIL_REFIT_VEHICLE :{BLACK}Transfor
STR_RAIL_SELECT_TYPE_OF_CARGO_FOR :{BLACK}Elektu ŝarĝospecon portotan de la trajno STR_RAIL_SELECT_TYPE_OF_CARGO_FOR :{BLACK}Elektu ŝarĝospecon portotan de la trajno
STR_RAIL_REFIT_TO_CARRY_HIGHLIGHTED :{BLACK}Transformu trajnon por porti la elektitan ŝarĝotipon STR_RAIL_REFIT_TO_CARRY_HIGHLIGHTED :{BLACK}Transformu trajnon por porti la elektitan ŝarĝotipon
STR_RAIL_CAN_T_REFIT_VEHICLE :{WHITE}Ne povas transformi la trajnon... STR_RAIL_CAN_T_REFIT_VEHICLE :{WHITE}Ne povas transformi la trajnon...
STR_CONFIG_SETTING_SERVINT_ISPERCENT :{LTBLUE}Prizorgintervala procentaĵo: {ORANGE}{STRING}
STR_CONFIG_GAME_PRODUCTION :{WHITE}Ŝanĝu produktadon STR_CONFIG_GAME_PRODUCTION :{WHITE}Ŝanĝu produktadon
############ network gui strings ############ network gui strings
STR_NETWORK_MULTIPLAYER :{WHITE}Pluraj ludantoj STR_NETWORK_MULTIPLAYER :{WHITE}Pluraj ludantoj
@@ -1318,6 +1331,8 @@ STR_NETWORK_ERR_CLIENT_KICKED :forbatite de se
STR_NETWORK_ERR_CLIENT_CHEATER :provis uzi filudaĵon STR_NETWORK_ERR_CLIENT_CHEATER :provis uzi filudaĵon
STR_NETWORK_ERR_CLIENT_SERVER_FULL :servilo plenas STR_NETWORK_ERR_CLIENT_SERVER_FULL :servilo plenas
############ End of leave-in-this-order ############ End of leave-in-this-order
############ Leave those lines in this order!!
############ End of leave-in-this-order
STR_NETWORK_CHAT_COMPANY_CAPTION :[Teamo] : STR_NETWORK_CHAT_COMPANY_CAPTION :[Teamo] :
STR_NETWORK_CHAT_COMPANY :[Teamo] {STRING}: {WHITE}{STRING} STR_NETWORK_CHAT_COMPANY :[Teamo] {STRING}: {WHITE}{STRING}
STR_NETWORK_CHAT_TO_COMPANY :[Teamo] Al {STRING}: {WHITE}{STRING} STR_NETWORK_CHAT_TO_COMPANY :[Teamo] Al {STRING}: {WHITE}{STRING}
@@ -1345,11 +1360,6 @@ STR_NETWORK_SEND :{BLACK}Sendu
############ end network gui strings ############ end network gui strings
STR_CONFIG_SETTING_MAP_X :{LTBLUE}X-grandeco de la mapo: {ORANGE}{STRING}
STR_CONFIG_SETTING_MAP_Y :{LTBLUE}Y-grandeco de la mapo: {ORANGE}{STRING}
##### PNG-MAP-Loader ##### PNG-MAP-Loader
STR_PNGMAP_ERROR :{WHITE}Ne povas ŝarĝi landaspekton de PNG... STR_PNGMAP_ERROR :{WHITE}Ne povas ŝarĝi landaspekton de PNG...
@@ -1886,6 +1896,7 @@ STR_NUM_VERY_LOW :Tre malalte
STR_6816_LOW :Malalte STR_6816_LOW :Malalte
STR_6817_NORMAL :Normale STR_6817_NORMAL :Normale
STR_6818_HIGH :Alte STR_6818_HIGH :Alte
STR_02BF_CUSTOM :Ŝanĝitaj
STR_6819 :{BLACK}{SMALLLEFTARROW} STR_6819 :{BLACK}{SMALLLEFTARROW}
STR_681A :{BLACK}{SMALLRIGHTARROW} STR_681A :{BLACK}{SMALLRIGHTARROW}
STR_681B_VERY_SLOW :Tre Malrapide STR_681B_VERY_SLOW :Tre Malrapide
@@ -2768,6 +2779,7 @@ STR_NEWGRF_DISABLED_WARNING :{WHITE}Manka(j)
STR_CURRENCY_WINDOW :{WHITE}Alia monunuo STR_CURRENCY_WINDOW :{WHITE}Alia monunuo
STR_CURRENCY_EXCHANGE_RATE :{LTBLUE}Interŝanĝa valoro: {ORANGE}{CURRENCY} = £ {COMMA} STR_CURRENCY_EXCHANGE_RATE :{LTBLUE}Interŝanĝa valoro: {ORANGE}{CURRENCY} = £ {COMMA}
STR_CURRENCY_SEPARATOR :{LTBLUE}Dividilo: STR_CURRENCY_SEPARATOR :{LTBLUE}Dividilo:
@@ -2834,7 +2846,7 @@ STR_REPLACE_HELP_REPLACE_INFO_TAB :{BLACK}Montras
STR_REPLACE_REMOVE_WAGON :{BLACK}Vagonforigo: {ORANGE}{SKIP}{STRING} STR_REPLACE_REMOVE_WAGON :{BLACK}Vagonforigo: {ORANGE}{SKIP}{STRING}
STR_REPLACE_REMOVE_WAGON_HELP :{BLACK}Ĉe aŭtomata anstataŭigo tenu saman longecon de la trajno per forigo de vagonoj (defronte), se per nova maŝino la trajno plilongiĝas STR_REPLACE_REMOVE_WAGON_HELP :{BLACK}Ĉe aŭtomata anstataŭigo tenu saman longecon de la trajno per forigo de vagonoj (defronte), se per nova maŝino la trajno plilongiĝas
STR_REPLACE_ENGINE_WAGON_SELECT :{BLACK}Anstataŭante: {ORANGE}{SKIP}{SKIP}{STRING} STR_REPLACE_ENGINE_WAGON_SELECT :{BLACK}Anstataŭante: {ORANGE}{SKIP}{SKIP}{STRING}
STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK} EKSPERIMENTA AĴO {}Ŝaltu inter maŝina kaj vagona anstataŭigo.{}Vagona anstataŭigo nur okazos se la nova vagono povas transformiĝi por porti saman ŝarĝon kiel la malnova. Por ĉiu vagono tio kontroliĝos dum anstataŭado. STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK}Ŝaltu inter maŝina kaj vagona anstataŭigo
STR_RAIL_VEHICLE_NOT_AVAILABLE :{WHITE}Trajno ne haveblas STR_RAIL_VEHICLE_NOT_AVAILABLE :{WHITE}Trajno ne haveblas
STR_ROAD_VEHICLE_NOT_AVAILABLE :{WHITE}Veturilo ne haveblas STR_ROAD_VEHICLE_NOT_AVAILABLE :{WHITE}Veturilo ne haveblas
STR_SHIP_NOT_AVAILABLE :{WHITE}Ŝipo ne haveblas STR_SHIP_NOT_AVAILABLE :{WHITE}Ŝipo ne haveblas
@@ -2948,6 +2960,8 @@ STR_FLAT_WORLD_HEIGHT :{BLACK}Alteco d
STR_SMALLMAP_CENTER :{BLACK}Centrigu la mapeton al la nuna loko STR_SMALLMAP_CENTER :{BLACK}Centrigu la mapeton al la nuna loko
STR_SMALLMAP_INDUSTRY :{TINYFONT}{STRING} ({NUM}) STR_SMALLMAP_INDUSTRY :{TINYFONT}{STRING} ({NUM})
# Strings for map borders at game generation
########### String for new airports ########### String for new airports
STR_SMALL_AIRPORT :{BLACK}Malgranda flughaveno STR_SMALL_AIRPORT :{BLACK}Malgranda flughaveno
STR_CITY_AIRPORT :{BLACK}Urba flughaveno STR_CITY_AIRPORT :{BLACK}Urba flughaveno
@@ -3053,5 +3067,14 @@ STR_FACE_MOUSTACHE :Liphararo:
############ on screen keyboard ############ on screen keyboard
######## ########
############ AI GUI
########
############ town controlled noise level ############ town controlled noise level
########
############ Downloading of content from the central server
######## ########

View File

@@ -369,7 +369,7 @@ STR_015C_SAVE_GAME :Salvesta mäng
STR_015D_LOAD_GAME :Laadi mäng STR_015D_LOAD_GAME :Laadi mäng
STR_015E_QUIT_GAME :Lahku mängust STR_015E_QUIT_GAME :Lahku mängust
STR_015F_QUIT :Välju STR_015F_QUIT :Välju
STR_ABANDON_GAME_QUERY :{YELLOW}Oled sa kindel, et tahad sellest mängust lahkuda? STR_ABANDON_GAME_QUERY :{YELLOW}Kas te soovite lõpetada selle mängu?
STR_0161_QUIT_GAME :{WHITE}Mängust lahkumine STR_0161_QUIT_GAME :{WHITE}Mängust lahkumine
STR_SORT_ORDER_TIP :{BLACK}Sorteerimise järjekorra valimine (kahanev/kasvav) STR_SORT_ORDER_TIP :{BLACK}Sorteerimise järjekorra valimine (kahanev/kasvav)
STR_SORT_CRITERIA_TIP :{BLACK}Sorteerimistingimuse valimine STR_SORT_CRITERIA_TIP :{BLACK}Sorteerimistingimuse valimine
@@ -387,7 +387,7 @@ STR_SORT_BY_PROFIT_LAST_YEAR :Eelmise aasta k
STR_SORT_BY_PROFIT_THIS_YEAR :Selle aasta kasum STR_SORT_BY_PROFIT_THIS_YEAR :Selle aasta kasum
STR_SORT_BY_AGE :Vanus STR_SORT_BY_AGE :Vanus
STR_SORT_BY_RELIABILITY :Tehnoseisund STR_SORT_BY_RELIABILITY :Tehnoseisund
STR_SORT_BY_TOTAL_CAPACITY_PER_CARGOTYPE :Kandevõime kokku veose tüübi kohta STR_SORT_BY_TOTAL_CAPACITY_PER_CARGOTYPE :Täielik kandevõime veoseliigi kohta
STR_SORT_BY_MAX_SPEED :Tippkiirus STR_SORT_BY_MAX_SPEED :Tippkiirus
STR_SORT_BY_MODEL :Mudel STR_SORT_BY_MODEL :Mudel
STR_SORT_BY_VALUE :Väärtus STR_SORT_BY_VALUE :Väärtus
@@ -402,8 +402,8 @@ STR_ENGINE_SORT_POWER :Võimsus
STR_ENGINE_SORT_INTRO_DATE :Esitluskuupäev STR_ENGINE_SORT_INTRO_DATE :Esitluskuupäev
STR_ENGINE_SORT_RUNNING_COST :Käituskulud STR_ENGINE_SORT_RUNNING_COST :Käituskulud
STR_ENGINE_SORT_POWER_VS_RUNNING_COST :Võimsus- ja käituskulud STR_ENGINE_SORT_POWER_VS_RUNNING_COST :Võimsus- ja käituskulud
STR_ENGINE_SORT_CARGO_CAPACITY :Kauba kandevõime STR_ENGINE_SORT_CARGO_CAPACITY :Kandevõime
STR_NO_WAITING_CARGO :{BLACK}Kaupa pole ootamas STR_NO_WAITING_CARGO :{BLACK}Veoseid pole ootamas
STR_SELECT_ALL_FACILITIES :{BLACK}Vali kõik tööstused STR_SELECT_ALL_FACILITIES :{BLACK}Vali kõik tööstused
STR_SELECT_ALL_TYPES :{BLACK}Vali kõik kaubatüüpid (ka mitteoodatav kaup) STR_SELECT_ALL_TYPES :{BLACK}Vali kõik kaubatüüpid (ka mitteoodatav kaup)
STR_AVAILABLE_TRAINS :{BLACK}Saadaval rongid STR_AVAILABLE_TRAINS :{BLACK}Saadaval rongid
@@ -498,6 +498,7 @@ STR_01A2_IS_GETTING_VERY_OLD_AND :{WHITE}{VEHICLE
STR_01A3_LAND_AREA_INFORMATION :{WHITE}Maa-ala andmed STR_01A3_LAND_AREA_INFORMATION :{WHITE}Maa-ala andmed
STR_01A4_COST_TO_CLEAR_N_A :{BLACK}Puhastustasu: {LTBLUE}N/A STR_01A4_COST_TO_CLEAR_N_A :{BLACK}Puhastustasu: {LTBLUE}N/A
STR_01A5_COST_TO_CLEAR :{BLACK}Puhastustasu: {RED}{CURRENCY} STR_01A5_COST_TO_CLEAR :{BLACK}Puhastustasu: {RED}{CURRENCY}
STR_REVENUE_WHEN_CLEARED :{BLACK}Sissetulek puhastamisel: {LTBLUE}{CURRENCY}
STR_01A6_N_A :puudub STR_01A6_N_A :puudub
STR_01A7_OWNER :{BLACK}Omanik: {LTBLUE}{STRING} STR_01A7_OWNER :{BLACK}Omanik: {LTBLUE}{STRING}
STR_ROAD_OWNER :{BLACK}Maantee omanik: {LTBLUE}{STRING} STR_ROAD_OWNER :{BLACK}Maantee omanik: {LTBLUE}{STRING}
@@ -658,6 +659,7 @@ STR_CANNOT_GENERATE_TOWN :{WHITE}Ühtegi
STR_NO_SPACE_FOR_TOWN :{WHITE}...pole enam ruumi kaardil STR_NO_SPACE_FOR_TOWN :{WHITE}...pole enam ruumi kaardil
STR_023B_INCREASE_SIZE_OF_TOWN :{BLACK}Linna suuruse suurendamine STR_023B_INCREASE_SIZE_OF_TOWN :{BLACK}Linna suuruse suurendamine
STR_023C_EXPAND :{BLACK}Laienda STR_023C_EXPAND :{BLACK}Laienda
STR_TOWN_EXPAND_WARN_NO_ROADS :{WHITE}Linn ei ehita teid. Teedeehituse lubamiseks Täpsemad seaded->Majandus->Linnad.
STR_023D_RANDOM_TOWN :{BLACK}Suvaline linn STR_023D_RANDOM_TOWN :{BLACK}Suvaline linn
STR_023E_BUILD_TOWN_IN_RANDOM_LOCATION :{BLACK}Ehita linn suvalisse kohta STR_023E_BUILD_TOWN_IN_RANDOM_LOCATION :{BLACK}Ehita linn suvalisse kohta
STR_0285_CAN_T_BUILD_HERE :{WHITE}{STRING} ei saa siia ehitada... STR_0285_CAN_T_BUILD_HERE :{WHITE}{STRING} ei saa siia ehitada...
@@ -697,25 +699,26 @@ STR_02A2_MEDIUM :{BLACK}Keskmine
STR_02A3_LARGE :{BLACK}Suur STR_02A3_LARGE :{BLACK}Suur
STR_SELECT_TOWN_SIZE_RANDOM :{BLACK}Suvaline STR_SELECT_TOWN_SIZE_RANDOM :{BLACK}Suvaline
STR_FOUND_TOWN_CITY :{BLACK}Linn STR_FOUND_TOWN_CITY :{BLACK}Linn
STR_FOUND_TOWN_CITY_TOOLTIP :{BLACK}Suuremad linnad kasvavad kiiremini kui väikesed{}Sõltuvalt seadetest on need ka alguses suuremad
STR_02A4_SELECT_TOWN_SIZE :{BLACK}Vali linna suurus STR_02A4_SELECT_TOWN_SIZE :{BLACK}Vali linna suurus
STR_02A5_TOWN_SIZE :{YELLOW}Linna suurus: STR_02A5_TOWN_SIZE :{YELLOW}Linna suurus:
STR_TOWN_ROAD_LAYOUT :{YELLOW}Linna teedevõrgu kujundus STR_TOWN_ROAD_LAYOUT :{YELLOW}Aleviku teeplaneering
STR_SELECT_LAYOUT_ORIGINAL :{BLACK}Originaalne STR_SELECT_TOWN_ROAD_LAYOUT :{BLACK}Vali alevikus kasutatav teeplaneering
STR_SELECT_LAYOUT_ORIGINAL :{BLACK}Algne
STR_SELECT_LAYOUT_BETTER_ROADS :{BLACK}Paremad teed STR_SELECT_LAYOUT_BETTER_ROADS :{BLACK}Paremad teed
STR_SELECT_LAYOUT_2X2_GRID :{BLACK}2x2 võrgustik STR_SELECT_LAYOUT_2X2_GRID :{BLACK}2x2 ruudustik
STR_SELECT_LAYOUT_3X3_GRID :{BLACK}3x3 võrgustik STR_SELECT_LAYOUT_3X3_GRID :{BLACK}3x3 ruudustik
STR_SELECT_LAYOUT_RANDOM :{BLACK}Suvaline STR_SELECT_LAYOUT_RANDOM :{BLACK}Suvaline
STR_02B6 :{STRING} - {STRING} STR_02B6 :{STRING} - {STRING}
STR_02B7_SHOW_LAST_MESSAGE_OR_NEWS :{BLACK}Näita viimast teadet STR_02B7_SHOW_LAST_MESSAGE_OR_NEWS :{BLACK}Näita viimast teadet
STR_OFF :Off STR_OFF :Väljas
STR_SUMMARY :Lühike STR_SUMMARY :Lühike
STR_FULL :Täielik STR_FULL :Täielik
STR_02BA :{SILVER}- - {COMPANY} - - STR_02BA :{SILVER}- - {COMPANY} - -
STR_02BB_TOWN_DIRECTORY :Linnanimistu STR_02BB_TOWN_DIRECTORY :Linnanimistu
STR_02BD :{BLACK}{STRING} STR_02BD :{BLACK}{STRING}
STR_02BF_CUSTOM :Omatehtud
STR_CHECKMARK :{CHECKMARK} STR_CHECKMARK :{CHECKMARK}
############ range for menu starts ############ range for menu starts
@@ -832,7 +835,7 @@ STR_TOWNNAME_SWEDISH :Rootsi
STR_TOWNNAME_DUTCH :Hollandi STR_TOWNNAME_DUTCH :Hollandi
STR_TOWNNAME_FINNISH :Soome STR_TOWNNAME_FINNISH :Soome
STR_TOWNNAME_POLISH :Poola STR_TOWNNAME_POLISH :Poola
STR_TOWNNAME_SLOVAKISH :Slovakkia STR_TOWNNAME_SLOVAK :Slovakkia
STR_TOWNNAME_NORWEGIAN :Norra STR_TOWNNAME_NORWEGIAN :Norra
STR_TOWNNAME_HUNGARIAN :Ungari STR_TOWNNAME_HUNGARIAN :Ungari
STR_TOWNNAME_AUSTRIAN :Austria STR_TOWNNAME_AUSTRIAN :Austria
@@ -865,7 +868,7 @@ STR_CURR_ITL :Itaalia liir (I
STR_CURR_NLG :Hollandi kulden (NLG) STR_CURR_NLG :Hollandi kulden (NLG)
STR_CURR_NOK :Norra kroon (NOK) STR_CURR_NOK :Norra kroon (NOK)
STR_CURR_PLN :Poola Zlott (PLN) STR_CURR_PLN :Poola Zlott (PLN)
STR_CURR_ROL :Rumeenia Leu (ROL) STR_CURR_RON :Rumeenia Leu (RON)
STR_CURR_RUR :Vene rubla (RUR) STR_CURR_RUR :Vene rubla (RUR)
STR_CURR_SIT :Sloveenia Talaar (SIT) STR_CURR_SIT :Sloveenia Talaar (SIT)
STR_CURR_SEK :Rootsi kroon (SEK) STR_CURR_SEK :Rootsi kroon (SEK)
@@ -892,8 +895,10 @@ STR_OPTIONS_SCREENSHOT_FORMAT :{BLACK}Ekraanip
STR_OPTIONS_SCREENSHOT_FORMAT_CBO :{BLACK}{SKIP}{SKIP}{SKIP}{SKIP}{SKIP}{SKIP}{SKIP}{SKIP}{STRING} STR_OPTIONS_SCREENSHOT_FORMAT_CBO :{BLACK}{SKIP}{SKIP}{SKIP}{SKIP}{SKIP}{SKIP}{SKIP}{SKIP}{STRING}
STR_OPTIONS_SCREENSHOT_FORMAT_TIP :{BLACK}Vali kasutatav ekraanipildi vorming STR_OPTIONS_SCREENSHOT_FORMAT_TIP :{BLACK}Vali kasutatav ekraanipildi vorming
STR_OPTIONS_BASE_GRF :{BLACK}Põhigraafikakomplekt
STR_OPTIONS_BASE_GRF_CBO :{BLACK}{SKIP}{SKIP}{SKIP}{SKIP}{SKIP}{SKIP}{SKIP}{SKIP}{SKIP}{STRING} STR_OPTIONS_BASE_GRF_CBO :{BLACK}{SKIP}{SKIP}{SKIP}{SKIP}{SKIP}{SKIP}{SKIP}{SKIP}{SKIP}{STRING}
STR_OPTIONS_BASE_GRF_TIP :{BLACK}Valige kasutatav põhigraafikakomplekt
STR_AUTOSAVE_1_MONTH :Iga kuu STR_AUTOSAVE_1_MONTH :Iga kuu
STR_AUTOSAVE_FAILED :{WHITE}Automaatne salvestus nurjus STR_AUTOSAVE_FAILED :{WHITE}Automaatne salvestus nurjus
@@ -912,8 +917,8 @@ STR_MONTH_DEC :Detsember
STR_HEADING_FOR_STATION :{LTBLUE}Siht: {STATION} STR_HEADING_FOR_STATION :{LTBLUE}Siht: {STATION}
STR_HEADING_FOR_STATION_VEL :{LTBLUE}Siht: {STATION}, {VELOCITY} STR_HEADING_FOR_STATION_VEL :{LTBLUE}Siht: {STATION}, {VELOCITY}
STR_NO_ORDERS :{LTBLUE}Sihtpunkt puudub STR_NO_ORDERS :{LTBLUE}Sihita
STR_NO_ORDERS_VEL :{LTBLUE}Sihtpunkt puudub, {VELOCITY} STR_NO_ORDERS_VEL :{LTBLUE}Sihita, {VELOCITY}
STR_PASSENGERS :reisijad STR_PASSENGERS :reisijad
STR_BAGS :kotti STR_BAGS :kotti
@@ -946,63 +951,67 @@ STR_CONFIG_SETTING_CAPTION :{WHITE}Täpsema
STR_CONFIG_SETTING_OFF :Väljas STR_CONFIG_SETTING_OFF :Väljas
STR_CONFIG_SETTING_ON :Sees STR_CONFIG_SETTING_ON :Sees
STR_CONFIG_SETTING_VEHICLESPEED :{LTBLUE}Olekuribal näidatakse veovahendi kiirust: {ORANGE}{STRING} STR_CONFIG_SETTING_VEHICLESPEED :{LTBLUE}Sõidukiirus olekuribal: {ORANGE}{STRING}
STR_CONFIG_SETTING_BUILDONSLOPES :{LTBLUE}Luba ehitised nõlvadele ja kallastele: {ORANGE}{STRING} STR_CONFIG_SETTING_BUILDONSLOPES :{LTBLUE}Nõlvadele ja kallastele ehitamine: {ORANGE}{STRING}
STR_CONFIG_SETTING_AUTOSLOPE :{LTBLUE}Võimalda maastikujunduse teostust majade, rööbaste jms. all (autoslope): {ORANGE}{STRING} STR_CONFIG_SETTING_AUTOSLOPE :{LTBLUE}Maastikukujundus majade, rööbaste jms. all (autoslope): {ORANGE}{STRING}
STR_CONFIG_SETTING_CATCHMENT :{LTBLUE}Võimalda reaalsemaid veekogu alasid: {ORANGE}{STRING} STR_CONFIG_SETTING_CATCHMENT :{LTBLUE}Reaalsemad veekogud: {ORANGE}{STRING}
STR_CONFIG_SETTING_EXTRADYNAMITE :{LTBLUE}Luba linnateede, -sildade, -tunnelite jne lammutamine: {ORANGE}{STRING} STR_CONFIG_SETTING_EXTRADYNAMITE :{LTBLUE}Linnateede, -sildade, -tunnelite jne lammutamine: {ORANGE}{STRING}
STR_CONFIG_SETTING_MAMMOTHTRAINS :{LTBLUE}Lubatakse väga pikkasid ronge ehitatada: {ORANGE}{STRING} STR_CONFIG_SETTING_MAMMOTHTRAINS :{LTBLUE}Väga pikkade rongide ehitamine: {ORANGE}{STRING}
STR_CONFIG_SETTING_TRAIN_ACCELERATION_MODEL_ORIGINAL :Originaalne STR_CONFIG_SETTING_TRAIN_ACCELERATION_MODEL :{LTBLUE}Rongide kiirendusmudel: {ORANGE}{STRING}
STR_CONFIG_SETTING_TRAIN_ACCELERATION_MODEL_ORIGINAL :Algupärane
STR_CONFIG_SETTING_TRAIN_ACCELERATION_MODEL_REALISTIC :Realistlik STR_CONFIG_SETTING_TRAIN_ACCELERATION_MODEL_REALISTIC :Realistlik
STR_CONFIG_SETTING_FORBID_90_DEG :{LTBLUE}Rongidel ja laevadel keelatakse 90 kraadised pöörded: {ORANGE}{STRING} {LTBLUE} (vajab NPF) STR_CONFIG_SETTING_FORBID_90_DEG :{LTBLUE}Rongidel ja laevadel keelatakse 90 kraadised pöörded: {ORANGE}{STRING} {LTBLUE} (vajab NPF)
STR_CONFIG_SETTING_JOINSTATIONS :{LTBLUE}Ühenda üksteise vastu ehitatud jaamad kokku: {ORANGE}{STRING} STR_CONFIG_SETTING_JOINSTATIONS :{LTBLUE}Kõrvuti ehitatud jaamade ühendamine: {ORANGE}{STRING}
STR_CONFIG_SETTING_IMPROVEDLOAD :{LTBLUE}Kasuta parandatud laadimisalgoritmi: {ORANGE}{STRING} STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :{LTBLUE}Eemalasetsevate jaamade liitmine: {ORANGE}{STRING}
STR_CONFIG_SETTING_GRADUAL_LOADING :{LTBLUE}Laadi veovahendeid järkjärguliselt: {ORANGE}{STRING} STR_CONFIG_SETTING_IMPROVEDLOAD :{LTBLUE}Täiustatud laadimisalgoritm: {ORANGE}{STRING}
STR_CONFIG_SETTING_GRADUAL_LOADING :{LTBLUE}Veovahendite järkjärguline laadimine: {ORANGE}{STRING}
STR_CONFIG_SETTING_INFLATION :{LTBLUE}Inflatsioon: {ORANGE}{STRING} STR_CONFIG_SETTING_INFLATION :{LTBLUE}Inflatsioon: {ORANGE}{STRING}
STR_CONFIG_SETTING_SELECTGOODS :{LTBLUE}Vii kaup jaama ainult siis, kui seal on nõudlus: {ORANGE}{STRING} STR_CONFIG_SETTING_SELECTGOODS :{LTBLUE}Kauba toimetamine jaama ainult nõudluse korral: {ORANGE}{STRING}
STR_CONFIG_SETTING_LONGBRIDGES :{LTBLUE}Lubatakse väga pikkasid sildu ehitada: {ORANGE}{STRING} STR_CONFIG_SETTING_LONGBRIDGES :{LTBLUE}Väga pikkade sildade ehitamine: {ORANGE}{STRING}
STR_CONFIG_SETTING_GOTODEPOT :{LTBLUE}Lubatakse depoosse minemise käsud: {ORANGE}{STRING} STR_CONFIG_SETTING_GOTODEPOT :{LTBLUE}Depoosse minemise käsud: {ORANGE}{STRING}
STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD :{LTBLUE}Põhiline tööstuse rajamise viis: {ORANGE}{STRING} STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD :{LTBLUE}Põhitööstuse rajamismeetod: {ORANGE}{STRING}
STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_NONE :pole STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_NONE :pole
STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_NORMAL :nagu muud tööstused STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_NORMAL :nagu muud tööstused
STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_PROSPECTING :uurides STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_PROSPECTING :eeluuringutega
STR_CONFIG_SETTING_MULTIPINDTOWN :{LTBLUE}Luba mitu sama liiki tööstust linna kohta: {ORANGE}{STRING} STR_CONFIG_SETTING_MULTIPINDTOWN :{LTBLUE}Samalaadsed tööstused ühes linnas: {ORANGE}{STRING}
STR_CONFIG_SETTING_SAMEINDCLOSE :{LTBLUE}Sama liiki tööstusi saab ehitada üksteise lähedale: {ORANGE}{STRING} STR_CONFIG_SETTING_SAMEINDCLOSE :{LTBLUE}Samalaadsed tööstused lähestiku: {ORANGE}{STRING}
STR_CONFIG_SETTING_LONGDATE :{LTBLUE}Olekuribal näidatakse alati täispikka kuupäeva: {ORANGE}{STRING} STR_CONFIG_SETTING_LONGDATE :{LTBLUE}Täispikk kuupäev olekuribal: {ORANGE}{STRING}
STR_CONFIG_SETTING_SIGNALSIDE :{LTBLUE}Paiguta signaalid rööbasteele sõidusuunda arvestades: {ORANGE}{STRING} STR_CONFIG_SETTING_SIGNALSIDE :{LTBLUE}Signaalide paigutamine sõidusuunda: {ORANGE}{STRING}
STR_CONFIG_SETTING_SHOWFINANCES :{LTBLUE}Aasta lõpus näidatakse rahavoogude aruannet: {ORANGE}{STRING} STR_CONFIG_SETTING_SHOWFINANCES :{LTBLUE}Aastalõpu rahavoogude aruanne: {ORANGE}{STRING}
STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT :{LTBLUE}Uued sihtpunktid on vaikimisi 'peatusteta': {ORANGE}{STRING} STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT :{LTBLUE}Uued sihtpunktid on vaikimisi 'peatusteta': {ORANGE}{STRING}
STR_CONFIG_SETTING_ROADVEH_QUEUE :{LTBLUE}Mootorsõidukite järjekorrad (koos mahuefektidega): {ORANGE}{STRING} STR_CONFIG_SETTING_ROADVEH_QUEUE :{LTBLUE}Mootorsõidukite järjekorrad (koos mahuefektidega): {ORANGE}{STRING}
STR_CONFIG_SETTING_AUTOSCROLL :{LTBLUE}Kursoriga ekraaniserva puudutamisel keritakse vaadet: {ORANGE}{STRING} STR_CONFIG_SETTING_AUTOSCROLL :{LTBLUE}Vaate kerimine osutiga ekraaniserva puudutamisel: {ORANGE}{STRING}
STR_CONFIG_SETTING_BRIBE :{LTBLUE}Luba kohalikule omavalitsusele altkäemaksu maksmine: {ORANGE}{STRING} STR_CONFIG_SETTING_BRIBE :{LTBLUE}Altkäemaksud kohalikele omavalitsustele: {ORANGE}{STRING}
STR_CONFIG_SETTING_ALLOW_EXCLUSIVE :{LTBLUE}Luba eksklusiivseid veoõiguseid osta: {ORANGE}{STRING} STR_CONFIG_SETTING_ALLOW_EXCLUSIVE :{LTBLUE}Ainuveoõiguste ostmine: {ORANGE}{STRING}
STR_CONFIG_SETTING_ALLOW_GIVE_MONEY :{LTBLUE}Luba teistele ettevõtetele raha saata: {ORANGE}{STRING} STR_CONFIG_SETTING_ALLOW_GIVE_MONEY :{LTBLUE}Raha saatmine teistele ettevõtetele: {ORANGE}{STRING}
STR_CONFIG_SETTING_NONUNIFORM_STATIONS :{LTBLUE}Luba suvalise kujuga jaamad: {ORANGE}{STRING} STR_CONFIG_SETTING_NONUNIFORM_STATIONS :{LTBLUE}Suvalise kujuga jaamad: {ORANGE}{STRING}
STR_CONFIG_SETTING_FREIGHT_TRAINS :{LTBLUE}Raskete rongide simuleerimiseks kasutatav raskuse korrutaja: {ORANGE}{STRING} STR_CONFIG_SETTING_FREIGHT_TRAINS :{LTBLUE}Raskete rongide simuleerimiseks kasutatav raskustegur: {ORANGE}{STRING}
STR_CONFIG_SETTING_PLANE_SPEED :{LTBLUE}Lennuki kiiruse tegur: {ORANGE}1 / {STRING} STR_CONFIG_SETTING_PLANE_SPEED :{LTBLUE}Lennukite kiirustegur: {ORANGE}1 / {STRING}
STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :{LTBLUE}Luba läbisõidupeatused linnateedel: {ORANGE}{STRING} STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :{LTBLUE}Läbisõidupeatused linnateedel: {ORANGE}{STRING}
STR_CONFIG_SETTING_ADJACENT_STATIONS :{LTBLUE}Luba jaamu lähestikku ehitada: {ORANGE}{STRING} STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD :{LTBLUE}Läbisõidupeatused konkurentide teedel: {ORANGE}{STRING}
STR_CONFIG_SETTING_DYNAMIC_ENGINES :{LTBLUE}Lubatakse mitu NewGRF sõidukikomplekti: {ORANGE}{STRING} STR_CONFIG_SETTING_ADJACENT_STATIONS :{LTBLUE}Jaamade kõrvutiehitamine: {ORANGE}{STRING}
STR_CONFIG_SETTING_DYNAMIC_ENGINES :{LTBLUE}Mitme NewGRF sõidukikomplekti lubamine: {ORANGE}{STRING}
STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}Sõidukite olemasolul ei saa seda seadet muuta.
STR_CONFIG_SETTING_SMALL_AIRPORTS :{LTBLUE}Luba väikesed lennuväljad kuni mängu lõpuni: {ORANGE}{STRING} STR_CONFIG_SETTING_SMALL_AIRPORTS :{LTBLUE}Väikesed lennuväljad mängu lõpuni: {ORANGE}{STRING}
STR_CONFIG_SETTING_WARN_LOST_TRAIN :{LTBLUE}Hoiatatakse eksinud rongidest: {ORANGE}{STRING} STR_CONFIG_SETTING_WARN_LOST_TRAIN :{LTBLUE}Hoiatamine rongide eksimisel: {ORANGE}{STRING}
STR_CONFIG_SETTING_ORDER_REVIEW :{LTBLUE}Sõidukite sihtpunktide ülevaade: {ORANGE}{STRING} STR_CONFIG_SETTING_ORDER_REVIEW :{LTBLUE}Sõidukite sihtpunktide ülevaade: {ORANGE}{STRING}
STR_CONFIG_SETTING_ORDER_REVIEW_OFF :ei STR_CONFIG_SETTING_ORDER_REVIEW_OFF :ei
STR_CONFIG_SETTING_ORDER_REVIEW_EXDEPOT :jah, kuid jäta välja seisatud veovahendid STR_CONFIG_SETTING_ORDER_REVIEW_EXDEPOT :jah, kuid jäta välja seisatud veovahendid
STR_CONFIG_SETTING_ORDER_REVIEW_ON :kõikidest veovahenditest STR_CONFIG_SETTING_ORDER_REVIEW_ON :kõikidest veovahenditest
STR_CONFIG_SETTING_WARN_INCOME_LESS :{LTBLUE}Hoiata kui rongi sissetulek on negatiivne: {ORANGE}{STRING} STR_CONFIG_SETTING_WARN_INCOME_LESS :{LTBLUE}Hoiata kui rongi sissetulek on negatiivne: {ORANGE}{STRING}
STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :{LTBLUE}Sõidukid ei aegu: {ORANGE}{STRING} STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :{LTBLUE}Sõidukid ei aegu: {ORANGE}{STRING}
STR_CONFIG_SETTING_AUTORENEW_VEHICLE :{LTBLUE}Vananenud sõidukite automaatne uuendamine: {ORANGE}{STRING} STR_CONFIG_SETTING_AUTORENEW_VEHICLE :{LTBLUE}Vananenud sõidukite moderniseerimine: {ORANGE}{STRING}
STR_CONFIG_SETTING_AUTORENEW_MONTHS :{LTBLUE}Uuenda {ORANGE}{STRING}{LTBLUE} kuud enne/pärast veovahendi suurimat vanust STR_CONFIG_SETTING_AUTORENEW_MONTHS :{LTBLUE}Piirvanuse saavutanud veovahendit uuendatakse {ORANGE}{STRING}{LTBLUE} kuu piires
STR_CONFIG_SETTING_AUTORENEW_MONEY :{LTBLUE}Iseuuendusele kuluv väikseim summa: {ORANGE}{STRING} STR_CONFIG_SETTING_AUTORENEW_MONEY :{LTBLUE}Nõutud rahasumma moderniseerimiseks: {ORANGE}{STRING}
STR_CONFIG_SETTING_ERRMSG_DURATION :{LTBLUE}Veateate kuvamise kestus: {ORANGE}{STRING} STR_CONFIG_SETTING_ERRMSG_DURATION :{LTBLUE}Veateadete kestus: {ORANGE}{STRING}
STR_CONFIG_SETTING_POPULATION_IN_LABEL :{LTBLUE}Linna nimesildil näidatakse rahvaarvu: {ORANGE}{STRING} STR_CONFIG_SETTING_POPULATION_IN_LABEL :{LTBLUE}Rahvaarv alevike nimesiltidel: {ORANGE}{STRING}
STR_CONFIG_SETTING_LAND_GENERATOR :{LTBLUE}Maaala Generaator: {ORANGE}{STRING} STR_CONFIG_SETTING_LAND_GENERATOR :{LTBLUE}Maaala Generaator: {ORANGE}{STRING}
STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL :Algupärane STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL :Algupärane
STR_CONFIG_SETTING_LAND_GENERATOR_TERRA_GENESIS :TerraGenesis STR_CONFIG_SETTING_LAND_GENERATOR_TERRA_GENESIS :TerraGenesis
STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :{LTBLUE}Suurim kaugus kaardiservast naftapuuraukudeni {ORANGE}{STRING} STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE :{LTBLUE}Naftatöötlustehaste piirkaugus kaardiservast {ORANGE}{STRING}
STR_CONFIG_SETTING_SNOWLINE_HEIGHT :{LTBLUE}Lumepiiri kõrgus: {ORANGE}{STRING} STR_CONFIG_SETTING_SNOWLINE_HEIGHT :{LTBLUE}Lumepiiri kõrgus: {ORANGE}{STRING}
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :{LTBLUE}Maa mägisus (TerraGenesis ainult) : {ORANGE}{STRING} STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :{LTBLUE}Maa mägisus (TerraGenesis ainult) : {ORANGE}{STRING}
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :Väga sile STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :Väga sile
@@ -1017,21 +1026,24 @@ STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :{LTBLUE}Kõrgus
STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :Vastu-päevapidi STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :Vastu-päevapidi
STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :Päevapidi STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :Päevapidi
STR_CONFIG_SETTING_SE_FLAT_WORLD_HEIGHT :{LTBLUE}Kõrguse level kui kõrgele lapik kaart läheb: {ORANGE}{STRING} STR_CONFIG_SETTING_SE_FLAT_WORLD_HEIGHT :{LTBLUE}Kõrguse level kui kõrgele lapik kaart läheb: {ORANGE}{STRING}
STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES :{LTBLUE}Maastikukujundus kaardiäärsetel ruutudel: {ORANGE}{STRING}
STR_CONFIG_SETTING_EDGES_NOT_EMPTY :{WHITE}Üks või enam ruutu põhjaäärel pole tühjad
STR_CONFIG_SETTING_EDGES_NOT_WATER :{WHITE}Üks või enam ääreruutu pole vesi
STR_CONFIG_SETTING_STATION_SPREAD :{LTBLUE}Suurim jaama ala: {ORANGE}{STRING} {RED}Hoiatus: kõrged seadistused aeglustavad mängu STR_CONFIG_SETTING_STATION_SPREAD :{LTBLUE}Suurim jaamaala: {ORANGE}{STRING} {RED}Hoiatus: kõrge määr aeglustab mängu
STR_CONFIG_SETTING_SERVICEATHELIPAD :{LTBLUE}Maandumisplatsidel hooldatakse automaatselt helikoptereid: {ORANGE}{STRING} STR_CONFIG_SETTING_SERVICEATHELIPAD :{LTBLUE}Automaatne helikopterihooldus maandumisplatsidel: {ORANGE}{STRING}
STR_CONFIG_SETTING_LINK_TERRAFORM_TOOLBAR :{LTBLUE}Liida maastikuriba raudtee/tee/vee/lennujaamade tööriistaribaga: {ORANGE}{STRING} STR_CONFIG_SETTING_LINK_TERRAFORM_TOOLBAR :{LTBLUE}Maastiku-, ning raudtee/tee/vee/lennujaamade tööriistaribade seostamine: {ORANGE}{STRING}
STR_CONFIG_SETTING_REVERSE_SCROLLING :{LTBLUE}Vaadet keritakse vastassuunas: {ORANGE}{STRING} STR_CONFIG_SETTING_REVERSE_SCROLLING :{LTBLUE}Vaate kerimine vastassuunas: {ORANGE}{STRING}
STR_CONFIG_SETTING_SMOOTH_SCROLLING :{LTBLUE}Vaatevälja liigutatakse sujuvalt: {ORANGE}{STRING} STR_CONFIG_SETTING_SMOOTH_SCROLLING :{LTBLUE}Vaatevälja liigutatakse sujuvalt: {ORANGE}{STRING}
STR_CONFIG_SETTING_MEASURE_TOOLTIP :{LTBLUE}Mitmete ehitusvahendite kasutamisel näidatakse mõõtmise kohtspikrit: {ORANGE}{STRING} STR_CONFIG_SETTING_MEASURE_TOOLTIP :{LTBLUE}Mõõtspikker teatud ehitusvahendite kasutamisel: {ORANGE}{STRING}
STR_CONFIG_SETTING_LIVERIES :{LTBLUE}Ettevõtte värve näidatakse: {ORANGE}{STRING} STR_CONFIG_SETTING_LIVERIES :{LTBLUE}Ettevõtte värve näidatakse: {ORANGE}{STRING}
STR_CONFIG_SETTING_LIVERIES_NONE :Mitte ühelgi STR_CONFIG_SETTING_LIVERIES_NONE :Mitte ühelgi
STR_CONFIG_SETTING_LIVERIES_OWN :Enda ettevõtel STR_CONFIG_SETTING_LIVERIES_OWN :Oma ettevõtel
STR_CONFIG_SETTING_LIVERIES_ALL :Kõikidel ettevõttetel STR_CONFIG_SETTING_LIVERIES_ALL :Igal ettevõttel
STR_CONFIG_SETTING_PREFER_TEAMCHAT :{LTBLUE}Vajutades <ENTER> eelistatakse meeskonna jututuba: {ORANGE}{STRING} STR_CONFIG_SETTING_PREFER_TEAMCHAT :{LTBLUE}<ENTER> vajutades meeskonnavestluse eelistamine: {ORANGE}{STRING}
STR_CONFIG_SETTING_SCROLLWHEEL_SCROLLING :{LTBLUE}Kerimisrulliku otstarve: {ORANGE}{STRING} STR_CONFIG_SETTING_SCROLLWHEEL_SCROLLING :{LTBLUE}Kerimisrulliku otstarve: {ORANGE}{STRING}
STR_CONFIG_SETTING_SCROLLWHEEL_ZOOM :Suurenda kaarti STR_CONFIG_SETTING_SCROLLWHEEL_ZOOM :Kaardi suurendamine
STR_CONFIG_SETTING_SCROLLWHEEL_SCROLL :Keri kaarti STR_CONFIG_SETTING_SCROLLWHEEL_SCROLL :Kaardi kerimine
STR_CONFIG_SETTING_SCROLLWHEEL_OFF :Väljas STR_CONFIG_SETTING_SCROLLWHEEL_OFF :Väljas
STR_CONFIG_SETTING_SCROLLWHEEL_MULTIPLIER :{LTBLUE}Kaardi kerimisrulliku kiirus: {ORANGE}{STRING} STR_CONFIG_SETTING_SCROLLWHEEL_MULTIPLIER :{LTBLUE}Kaardi kerimisrulliku kiirus: {ORANGE}{STRING}
@@ -1040,22 +1052,25 @@ STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_COMMAND :Command+klikk
STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_CONTROL :Ctrl+klikk STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_CONTROL :Ctrl+klikk
STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_OFF :Väljas STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_OFF :Väljas
STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING :{LTBLUE}Kerimine vasakklõpsul: {ORANGE}{STRING}
STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES :{LTBLUE}Kuupäevaformaat salvestatud mängunimedes on {ORANGE}{STRING}{LTBLUE}.
STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_LONG :pikk (31. dets 2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_LONG :pikk (31. dets 2008)
STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_SHORT :lühike (31-12-2008) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_SHORT :lühike (31-12-2008)
STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_ISO :ISO (2008-12-31) STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_ISO :ISO (2008-12-31)
STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME :{LTBLUE}Uut mängu alustades seisatatakse automaatselt: {ORANGE}{STRING} STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME :{LTBLUE}Mängu seiskamine alguses: {ORANGE}{STRING}
STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS :{LTBLUE}Kasuta laiendatud sõidukinimekirja: {ORANGE}{STRING} STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS :{LTBLUE}Laiendatud sõidukinimekiri: {ORANGE}{STRING}
STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS_OFF :Väljas STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS_OFF :Väljas
STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS_OWN :Oma ettevõte STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS_OWN :Oma ettevõte
STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS_ALL :Kõik ettevõtted STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS_ALL :Kõik ettevõtted
STR_CONFIG_SETTING_LOADING_INDICATORS :{LTBLUE}Kasuta laadimisnäidikuid: {ORANGE}{STRING} STR_CONFIG_SETTING_LOADING_INDICATORS :{LTBLUE}Laadimisnäidikud: {ORANGE}{STRING}
STR_CONFIG_SETTING_LOADING_INDICATORS_OFF :Väljas STR_CONFIG_SETTING_LOADING_INDICATORS_OFF :Väljas
STR_CONFIG_SETTING_LOADING_INDICATORS_OWN :Oma ettevõte STR_CONFIG_SETTING_LOADING_INDICATORS_OWN :Oma ettevõtel
STR_CONFIG_SETTING_LOADING_INDICATORS_ALL :Kõik ettevõtted STR_CONFIG_SETTING_LOADING_INDICATORS_ALL :Igal ettevõttel
STR_CONFIG_SETTING_TIMETABLE_ALLOW :{LTBLUE}Luba sõiduplaanide määramine: {ORANGE}{STRING} STR_CONFIG_SETTING_TIMETABLE_ALLOW :{LTBLUE}Sõiduplaanide määramine: {ORANGE}{STRING}
STR_CONFIG_SETTING_TIMETABLE_IN_TICKS :{LTBLUE}Sõiduplaanis kasutatakse päevade asemel tiksumist: {ORANGE}{STRING} STR_CONFIG_SETTING_TIMETABLE_IN_TICKS :{LTBLUE}Sõiduplaanis kasutatakse päevade asemel tiksumist: {ORANGE}{STRING}
STR_CONFIG_SETTING_QUICKGOTO :{LTBLUE}Sõidukikäskude kiirloomine: {ORANGE}{STRING}
STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE :{LTBLUE}Algne rööbastee liik (mängu alustamisel/laadimisel): {ORANGE}{STRING} STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE :{LTBLUE}Algne rööbastee liik (mängu alustamisel/laadimisel): {ORANGE}{STRING}
STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_RAIL :Tavaline rööbastee STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_RAIL :Tavaline rööbastee
STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_ELRAIL :Elektrifitseeritud rööbastee STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_ELRAIL :Elektrifitseeritud rööbastee
@@ -1107,19 +1122,23 @@ STR_CONFIG_SETTING_CYCLE_SIGNAL_NORMAL :Ainult tavaline
STR_CONFIG_SETTING_CYCLE_SIGNAL_PBS :Ainult täiustatud STR_CONFIG_SETTING_CYCLE_SIGNAL_PBS :Ainult täiustatud
STR_CONFIG_SETTING_CYCLE_SIGNAL_ALL :Kõik STR_CONFIG_SETTING_CYCLE_SIGNAL_ALL :Kõik
STR_CONFIG_SETTING_TOWN_LAYOUT :{LTBLUE}Uute linnade tänavaplaneering: {ORANGE}{STRING}
STR_CONFIG_SETTING_TOWN_LAYOUT_DEFAULT :vaikimisi STR_CONFIG_SETTING_TOWN_LAYOUT_DEFAULT :vaikimisi
STR_CONFIG_SETTING_TOWN_LAYOUT_BETTER_ROADS :paremad teed STR_CONFIG_SETTING_TOWN_LAYOUT_BETTER_ROADS :paremad teed
STR_CONFIG_SETTING_TOWN_LAYOUT_2X2_GRID :2x2 võrgustik STR_CONFIG_SETTING_TOWN_LAYOUT_2X2_GRID :2x2 võrgustik
STR_CONFIG_SETTING_TOWN_LAYOUT_3X3_GRID :3x3 võrgustik STR_CONFIG_SETTING_TOWN_LAYOUT_3X3_GRID :3x3 võrgustik
STR_CONFIG_SETTING_TOWN_LAYOUT_RANDOM :suvaline STR_CONFIG_SETTING_TOWN_LAYOUT_RANDOM :suvaline
STR_CONFIG_SETTING_NOISE_LEVEL :{LTBLUE}Luba linnades lennujaaamade mürapiirangud: {ORANGE}{STRING} STR_CONFIG_SETTING_ALLOW_TOWN_ROADS :{LTBLUE}Linnapoolne teedeehitus: {ORANGE}{STRING}
STR_CONFIG_SETTING_NOISE_LEVEL :{LTBLUE}Lennujaamade mürapiirangud linnades: {ORANGE}{STRING}
STR_CONFIG_SETTING_TOOLBAR_POS :{LTBLUE}Tööriistariba asukoht: {ORANGE}{STRING} STR_CONFIG_SETTING_TOOLBAR_POS :{LTBLUE}Tööriistariba asukoht: {ORANGE}{STRING}
STR_CONFIG_SETTING_TOOLBAR_POS_LEFT :Vasakul STR_CONFIG_SETTING_TOOLBAR_POS_LEFT :Vasakul
STR_CONFIG_SETTING_TOOLBAR_POS_CENTER :Keskel STR_CONFIG_SETTING_TOOLBAR_POS_CENTER :Keskel
STR_CONFIG_SETTING_TOOLBAR_POS_RIGHT :Paremal STR_CONFIG_SETTING_TOOLBAR_POS_RIGHT :Paremal
STR_CONFIG_SETTING_SNAP_RADIUS :{LTBLUE}Akna haaramise raadius: {ORANGE}{STRING} px STR_CONFIG_SETTING_SNAP_RADIUS :{LTBLUE}Akna haaramisraadius: {ORANGE}{STRING} px
STR_CONFIG_SETTING_SNAP_RADIUS_DISABLED :{LTBLUE}Akna haaramise raadius: {ORANGE}välja lülitatud STR_CONFIG_SETTING_SNAP_RADIUS_DISABLED :{LTBLUE}Akna haaramisraadius: {ORANGE}välja lülitatud
STR_CONFIG_SETTING_SOFT_LIMIT :{LTBLUE}Aknapiirang (kinnistamata): {ORANGE}{STRING}
STR_CONFIG_SETTING_SOFT_LIMIT_DISABLED :{LTBLUE}Aknapiirang (kinnistamata): {ORANGE}väljas
STR_CONFIG_SETTING_TOWN_GROWTH :{LTBLUE}Linna kasvutempo: {ORANGE}{STRING} STR_CONFIG_SETTING_TOWN_GROWTH :{LTBLUE}Linna kasvutempo: {ORANGE}{STRING}
STR_CONFIG_SETTING_TOWN_GROWTH_NONE :Pole STR_CONFIG_SETTING_TOWN_GROWTH_NONE :Pole
STR_CONFIG_SETTING_TOWN_GROWTH_SLOW :Aeglane STR_CONFIG_SETTING_TOWN_GROWTH_SLOW :Aeglane
@@ -1128,25 +1147,36 @@ STR_CONFIG_SETTING_TOWN_GROWTH_FAST :Kiire
STR_CONFIG_SETTING_TOWN_GROWTH_VERY_FAST :Väga Kiire STR_CONFIG_SETTING_TOWN_GROWTH_VERY_FAST :Väga Kiire
STR_CONFIG_SETTING_LARGER_TOWNS :{LTBLUE}Topeltkiirusel kasvavaid linnu: {ORANGE}1 iga {STRING} linna kohta STR_CONFIG_SETTING_LARGER_TOWNS :{LTBLUE}Topeltkiirusel kasvavaid linnu: {ORANGE}1 iga {STRING} linna kohta
STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :{LTBLUE}Linnadeks kasvavate asulate suhtarv: {ORANGE}Pole STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :{LTBLUE}Linnadeks kasvavate asulate suhtarv: {ORANGE}Pole
STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :{LTBLUE}Algne linna suuruse kordaja: {ORANGE}{STRING} STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :{LTBLUE}Algne linnade suurustegur: {ORANGE}{STRING}
STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD :{LTBLUE}Eemalda teedeehituse ajal esinevad tarbetud elemendid: {ORANGE}{STRING} STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD :{LTBLUE}Mittevajaliku eemaldamine teedeehitusel: {ORANGE}{STRING}
STR_CONFIG_SETTING_GUI :{ORANGE}Välimus STR_CONFIG_SETTING_GUI :{ORANGE}Kasutajaliides
STR_CONFIG_SETTING_CONSTRUCTION :{ORANGE}Ehitamine STR_CONFIG_SETTING_CONSTRUCTION :{ORANGE}Ehitamine
STR_CONFIG_SETTING_VEHICLES :{ORANGE}Sõidukid STR_CONFIG_SETTING_VEHICLES :{ORANGE}Sõidukid
STR_CONFIG_SETTING_STATIONS :{ORANGE}Jaamad STR_CONFIG_SETTING_STATIONS :{ORANGE}Jaamad
STR_CONFIG_SETTING_ECONOMY :{ORANGE}Majandus STR_CONFIG_SETTING_ECONOMY :{ORANGE}Majandus
STR_CONFIG_SETTING_AI :{ORANGE}Konkurendid STR_CONFIG_SETTING_AI :{ORANGE}Konkurendid
STR_CONFIG_SETTING_DISPLAY_OPTIONS :{ORANGE}Kuvaseaded
STR_CONFIG_SETTING_INTERACTION :{ORANGE}Suhtlemine
STR_CONFIG_SETTING_CONSTRUCTION_SIGNALS :{ORANGE}Signaalid
STR_CONFIG_SETTING_STATIONS_CARGOHANDLING :{ORANGE}Kauba käsitlemine
STR_CONFIG_SETTING_AI_NPC :{ORANGE}Arvutimängijad
STR_CONFIG_SETTING_VEHICLES_AUTORENEW :{ORANGE}Moderniseerimine
STR_CONFIG_SETTING_VEHICLES_SERVICING :{ORANGE}Hooldamine
STR_CONFIG_SETTING_VEHICLES_ROUTING :{ORANGE}Marsruutimine
STR_CONFIG_SETTING_VEHICLES_TRAINS :{ORANGE}Rongid
STR_CONFIG_SETTING_ECONOMY_TOWNS :{ORANGE}Linnad
STR_CONFIG_SETTING_ECONOMY_INDUSTRIES :{ORANGE}Tööstused
STR_CONFIG_SETTING_PATHFINDER_FOR_TRAINS :{LTBLUE}Rongide rajaleidja: {ORANGE}{STRING} STR_CONFIG_SETTING_PATHFINDER_FOR_TRAINS :{LTBLUE}Rongide marsruuter: {ORANGE}{STRING}
STR_CONFIG_SETTING_PATHFINDER_FOR_TRAINS_NTP :NTP {RED}(ebasoovitatav) STR_CONFIG_SETTING_PATHFINDER_FOR_TRAINS_NTP :NTP {RED}(ebasoovitatav)
STR_CONFIG_SETTING_PATHFINDER_FOR_TRAINS_NPF :NPF STR_CONFIG_SETTING_PATHFINDER_FOR_TRAINS_NPF :NPF
STR_CONFIG_SETTING_PATHFINDER_FOR_TRAINS_YAPF :YAPF {BLUE}(soovitatav) STR_CONFIG_SETTING_PATHFINDER_FOR_TRAINS_YAPF :YAPF {BLUE}(soovitatav)
STR_CONFIG_SETTING_PATHFINDER_FOR_ROADVEH :{LTBLUE}Maanteesõidukite rajaleidja: {ORANGE}{STRING} STR_CONFIG_SETTING_PATHFINDER_FOR_ROADVEH :{LTBLUE}Maanteesõidukite marsruuter: {ORANGE}{STRING}
STR_CONFIG_SETTING_PATHFINDER_FOR_ROADVEH_OPF :Algne {RED}(ebasoovitatav) STR_CONFIG_SETTING_PATHFINDER_FOR_ROADVEH_OPF :Algne {RED}(ebasoovitatav)
STR_CONFIG_SETTING_PATHFINDER_FOR_ROADVEH_NPF :NPF STR_CONFIG_SETTING_PATHFINDER_FOR_ROADVEH_NPF :NPF
STR_CONFIG_SETTING_PATHFINDER_FOR_ROADVEH_YAPF :YAPF {BLUE}(soovitatav) STR_CONFIG_SETTING_PATHFINDER_FOR_ROADVEH_YAPF :YAPF {BLUE}(soovitatav)
STR_CONFIG_SETTING_PATHFINDER_FOR_SHIPS :{LTBLUE}Laevade rajaleidja: {ORANGE}{STRING} STR_CONFIG_SETTING_PATHFINDER_FOR_SHIPS :{LTBLUE}Laevade marsruuter: {ORANGE}{STRING}
STR_CONFIG_SETTING_PATHFINDER_FOR_SHIPS_OPF :Algne {BLUE}(soovitatav) STR_CONFIG_SETTING_PATHFINDER_FOR_SHIPS_OPF :Algne {BLUE}(soovitatav)
STR_CONFIG_SETTING_PATHFINDER_FOR_SHIPS_NPF :NPF STR_CONFIG_SETTING_PATHFINDER_FOR_SHIPS_NPF :NPF
STR_CONFIG_SETTING_PATHFINDER_FOR_SHIPS_YAPF :YAPF {RED}(ebasoovitatav) STR_CONFIG_SETTING_PATHFINDER_FOR_SHIPS_YAPF :YAPF {RED}(ebasoovitatav)
@@ -1169,13 +1199,14 @@ STR_CHEATS :{WHITE}Petmine
STR_CHEATS_TIP :{BLACK}Märgistatud kastid näitavad et, kas sa oled varem seda pettust kasutanud STR_CHEATS_TIP :{BLACK}Märgistatud kastid näitavad et, kas sa oled varem seda pettust kasutanud
STR_CHEATS_WARNING :{BLACK}Hoiatus! Sa kavatsed oma konkurente reeta. Pea meeles, et sellisest häbist ei saa sa enam kunagi lahti. STR_CHEATS_WARNING :{BLACK}Hoiatus! Sa kavatsed oma konkurente reeta. Pea meeles, et sellisest häbist ei saa sa enam kunagi lahti.
STR_CHEAT_MONEY :{LTBLUE}Suurenda raha hulka {CURRENCY} võrra STR_CHEAT_MONEY :{LTBLUE}Suurenda raha hulka {CURRENCY} võrra
STR_CHEAT_CHANGE_COMPANY :{LTBLUE}Mängimine ettevõttena: {ORANGE}{COMMA}
STR_CHEAT_EXTRA_DYNAMITE :{LTBLUE}Maagiline buldooser (eemaldamatute rajatiste lammutamine): {ORANGE}{STRING} STR_CHEAT_EXTRA_DYNAMITE :{LTBLUE}Maagiline buldooser (eemaldamatute rajatiste lammutamine): {ORANGE}{STRING}
STR_CHEAT_CROSSINGTUNNELS :{LTBLUE}Tunnelid võivad üksteist läbida: {ORANGE}{STRING} STR_CHEAT_CROSSINGTUNNELS :{LTBLUE}Tunnelid võivad üksteist läbida: {ORANGE}{STRING}
STR_CHEAT_BUILD_IN_PAUSE :{LTBLUE}Seisatuse ajal ehitamine: {ORANGE}{STRING} STR_CHEAT_BUILD_IN_PAUSE :{LTBLUE}Seisatuse ajal ehitamine: {ORANGE}{STRING}
STR_CHEAT_NO_JETCRASH :{LTBLUE}Reaktiivlennukid ei kuku (tihti) alla väikestel lennuväljadel: {ORANGE} {STRING} STR_CHEAT_NO_JETCRASH :{LTBLUE}Reaktiivlennukid ei kuku (tihti) alla väikestel lennuväljadel: {ORANGE} {STRING}
STR_CHEAT_SWITCH_CLIMATE :{LTBLUE}Vaheta kliimat: {ORANGE} {STRING} STR_CHEAT_SWITCH_CLIMATE :{LTBLUE}Vaheta kliimat: {ORANGE} {STRING}
STR_CHEAT_CHANGE_DATE :{LTBLUE}Muuda kuupäeva: {ORANGE} {DATE_SHORT} STR_CHEAT_CHANGE_DATE :{LTBLUE}Muuda kuupäeva: {ORANGE} {DATE_SHORT}
STR_CHEAT_SETUP_PROD :{LTBLUE}Luba muutuvad tootmisväärtused: {ORANGE}{STRING} STR_CHEAT_SETUP_PROD :{LTBLUE}Muutuvad tootmisväärtused: {ORANGE}{STRING}
STR_HEADING_FOR_WAYPOINT :{LTBLUE}Suudub meldepunkti: {WAYPOINT} STR_HEADING_FOR_WAYPOINT :{LTBLUE}Suudub meldepunkti: {WAYPOINT}
STR_HEADING_FOR_WAYPOINT_VEL :{LTBLUE}Suundub {WAYPOINT}, {VELOCITY} STR_HEADING_FOR_WAYPOINT_VEL :{LTBLUE}Suundub {WAYPOINT}, {VELOCITY}
@@ -1204,6 +1235,7 @@ STR_CANT_REMOVE_TRAIN_WAYPOINT :{WHITE}Meldepun
STR_BUILD_AUTORAIL_TIP :{BLACK}Rööbaste ehitamine kasutades "venitamist" STR_BUILD_AUTORAIL_TIP :{BLACK}Rööbaste ehitamine kasutades "venitamist"
STR_NO_TOWN_IN_SCENARIO :{WHITE}...kaardil puudub linn STR_NO_TOWN_IN_SCENARIO :{WHITE}...kaardil puudub linn
STR_COULD_NOT_CREATE_TOWN :{WHITE}Kaarditekitamine katkes...{}...linnadele pole sobilike kohti
STR_MANY_RANDOM_TOWNS :{BLACK}Palju suvalisi linnu STR_MANY_RANDOM_TOWNS :{BLACK}Palju suvalisi linnu
STR_RANDOM_TOWNS_TIP :{BLACK}Kaardi katmine suvaliselt asetatud linnadega STR_RANDOM_TOWNS_TIP :{BLACK}Kaardi katmine suvaliselt asetatud linnadega
@@ -1289,7 +1321,7 @@ STR_NETWORK_CLICK_TO_SELECT_LAST :{BLACK}Klõpsa,
STR_NETWORK_FIND_SERVER :{BLACK}Serveri otsimine STR_NETWORK_FIND_SERVER :{BLACK}Serveri otsimine
STR_NETWORK_FIND_SERVER_TIP :{BLACK}Võrgust serveri otsimine STR_NETWORK_FIND_SERVER_TIP :{BLACK}Võrgust serveri otsimine
STR_NETWORK_ADD_SERVER :{BLACK}Lisa server STR_NETWORK_ADD_SERVER :{BLACK}Lisa server
STR_NETWORK_ADD_SERVER_TIP :{BLACK}Lisab nimekirja serveri, mida kontrollitakse alati, kas see töötab või mitte. STR_NETWORK_ADD_SERVER_TIP :{BLACK}Pidevalt jälgitava serveri lisamine loendisse.
STR_NETWORK_ENTER_IP :{BLACK}Sisesta serveri aadress STR_NETWORK_ENTER_IP :{BLACK}Sisesta serveri aadress
STR_NETWORK_GENERAL_ONLINE :{BLACK}{COMMA}/{COMMA} - {COMMA}/{COMMA} STR_NETWORK_GENERAL_ONLINE :{BLACK}{COMMA}/{COMMA} - {COMMA}/{COMMA}
@@ -1298,12 +1330,12 @@ STR_NETWORK_CLIENTS_CAPTION_TIP :{BLACK}Kliente
STR_NETWORK_MAP_SIZE_SHORT :{BLACK}{COMMA}x{COMMA} STR_NETWORK_MAP_SIZE_SHORT :{BLACK}{COMMA}x{COMMA}
STR_NETWORK_MAP_SIZE_CAPTION :{BLACK}Kaardi suurus STR_NETWORK_MAP_SIZE_CAPTION :{BLACK}Kaardi suurus
STR_NETWORK_MAP_SIZE_CAPTION_TIP :{BLACK}Mängu kaardisuurus{}Klõpsa pindala alusel järjestamiseks STR_NETWORK_MAP_SIZE_CAPTION_TIP :{BLACK}Kaardisuurus mängus{}Klõpsa, et järjestada pindala järgi
STR_NETWORK_DATE_CAPTION :{BLACK}Kuupäev STR_NETWORK_DATE_CAPTION :{BLACK}Kuupäev
STR_NETWORK_DATE_CAPTION_TIP :{BLACK}Kuupäev hetkel STR_NETWORK_DATE_CAPTION_TIP :{BLACK}Kuupäev hetkel
STR_NETWORK_YEARS_CAPTION :{BLACK}Aastaid STR_NETWORK_YEARS_CAPTION :{BLACK}Kestnud
STR_NETWORK_YEARS_CAPTION_TIP :{BLACK}Mitu aastat{}on mäng kestnud STR_NETWORK_YEARS_CAPTION_TIP :{BLACK}Mitu aastat{}on mäng kestnud
STR_NETWORK_GAME_INFO :{SILVER}MÄNGU ANDMED STR_NETWORK_GAME_INFO :{SILVER}MÄNGU ANDMED
@@ -1318,7 +1350,7 @@ STR_NETWORK_CURRENT_DATE :{SILVER}Aeg het
STR_NETWORK_PASSWORD :{SILVER}Parooliga kaitstud! STR_NETWORK_PASSWORD :{SILVER}Parooliga kaitstud!
STR_NETWORK_SERVER_OFFLINE :{SILVER}SERVER ON MAAS STR_NETWORK_SERVER_OFFLINE :{SILVER}SERVER ON MAAS
STR_NETWORK_SERVER_FULL :{SILVER}SERVER ON TÄIS STR_NETWORK_SERVER_FULL :{SILVER}SERVER ON TÄIS
STR_NETWORK_VERSION_MISMATCH :{SILVER}VERSIOON EI SOBI STR_NETWORK_VERSION_MISMATCH :{SILVER}OSAD EI SOBI
STR_NETWORK_GRF_MISMATCH :{SILVER}NEWGRF SOBIMATUS STR_NETWORK_GRF_MISMATCH :{SILVER}NEWGRF SOBIMATUS
STR_NETWORK_JOIN_GAME :{BLACK}Liitu mänguga STR_NETWORK_JOIN_GAME :{BLACK}Liitu mänguga
@@ -1343,10 +1375,10 @@ STR_NETWORK_NUMBER_OF_CLIENTS :{BLACK}Suurim k
STR_NETWORK_NUMBER_OF_CLIENTS_TIP :{BLACK}Määra suurim klientide arv. Kõik vabad kohad ei pea täidetud olema STR_NETWORK_NUMBER_OF_CLIENTS_TIP :{BLACK}Määra suurim klientide arv. Kõik vabad kohad ei pea täidetud olema
STR_NETWORK_COMPANIES_SELECT :{BLACK}{SKIP}{SKIP}{SKIP}{NUM} ettevõte{P "" t} STR_NETWORK_COMPANIES_SELECT :{BLACK}{SKIP}{SKIP}{SKIP}{NUM} ettevõte{P "" t}
STR_NETWORK_NUMBER_OF_COMPANIES :{BLACK}Enim ettevõtteid: STR_NETWORK_NUMBER_OF_COMPANIES :{BLACK}Enim ettevõtteid:
STR_NETWORK_NUMBER_OF_COMPANIES_TIP :{BLACK}Luba serveris X mängijat STR_NETWORK_NUMBER_OF_COMPANIES_TIP :{BLACK}Teatud ettevõtete piirang serveris
STR_NETWORK_SPECTATORS_SELECT :{BLACK}{SKIP}{SKIP}{SKIP}{SKIP}{NUM} pealtvaataja{P "" t} STR_NETWORK_SPECTATORS_SELECT :{BLACK}{SKIP}{SKIP}{SKIP}{SKIP}{NUM} pealtvaataja{P "" t}
STR_NETWORK_NUMBER_OF_SPECTATORS :{BLACK}Enim pealtvaatajaid STR_NETWORK_NUMBER_OF_SPECTATORS :{BLACK}Enim pealtvaatajaid
STR_NETWORK_NUMBER_OF_SPECTATORS_TIP :{BLACK}Luba serveris X vaatajat STR_NETWORK_NUMBER_OF_SPECTATORS_TIP :{BLACK}Teatud vaatlejate piirang serveris
STR_NETWORK_LANGUAGE_SPOKEN :{BLACK}Räägitav keel: STR_NETWORK_LANGUAGE_SPOKEN :{BLACK}Räägitav keel:
STR_NETWORK_LANGUAGE_TIP :{BLACK}Teistele mängijatele teadmiseks, et mis keelt serveris räägitakse STR_NETWORK_LANGUAGE_TIP :{BLACK}Teistele mängijatele teadmiseks, et mis keelt serveris räägitakse
STR_NETWORK_LANGUAGE_COMBO :{BLACK}{SKIP}{SKIP}{SKIP}{SKIP}{SKIP}{STRING} STR_NETWORK_LANGUAGE_COMBO :{BLACK}{SKIP}{SKIP}{SKIP}{SKIP}{SKIP}{STRING}
@@ -1438,6 +1470,7 @@ STR_NETWORK_CONNECTING_DOWNLOADING :{BLACK}{BYTES}
STR_NETWORK_DISCONNECT :{BLACK}Katkesta STR_NETWORK_DISCONNECT :{BLACK}Katkesta
STR_NETWORK_GIVE_MONEY_CAPTION :{WHITE}Sisesta summa mida anda
STR_NETWORK_NEED_GAME_PASSWORD_CAPTION :{WHITE}Server on kaitstud. Sisesta parool STR_NETWORK_NEED_GAME_PASSWORD_CAPTION :{WHITE}Server on kaitstud. Sisesta parool
STR_NETWORK_NEED_COMPANY_PASSWORD_CAPTION :{WHITE}Ettevõte on kaitstud. Sisesta parool STR_NETWORK_NEED_COMPANY_PASSWORD_CAPTION :{WHITE}Ettevõte on kaitstud. Sisesta parool
STR_NETWORK_CLIENT_LIST :{WHITE}Klientide nimekiri STR_NETWORK_CLIENT_LIST :{WHITE}Klientide nimekiri
@@ -1686,7 +1719,9 @@ STR_200B_CENTER_THE_MAIN_VIEW_ON :{BLACK}Vaate vi
STR_200C_CHANGE_TOWN_NAME :{BLACK}Linnanime muutmine STR_200C_CHANGE_TOWN_NAME :{BLACK}Linnanime muutmine
STR_200D_PASSENGERS_LAST_MONTH_MAX :{BLACK}Reisijaid eelmisel kuul: {ORANGE}{COMMA}{BLACK} Enim: {ORANGE}{COMMA} STR_200D_PASSENGERS_LAST_MONTH_MAX :{BLACK}Reisijaid eelmisel kuul: {ORANGE}{COMMA}{BLACK} Enim: {ORANGE}{COMMA}
STR_200E_MAIL_LAST_MONTH_MAX :{BLACK}Posti eelmisel kuul: {ORANGE}{COMMA}{BLACK} Enim: {ORANGE}{COMMA} STR_200E_MAIL_LAST_MONTH_MAX :{BLACK}Posti eelmisel kuul: {ORANGE}{COMMA}{BLACK} Enim: {ORANGE}{COMMA}
STR_CARGO_FOR_TOWNGROWTH :{BLACK}Veoseid linna kasvamiseks:
STR_CARGO_FOR_TOWNGROWTH_REQUIRED :{SETX 20}{ORANGE}{STRING}{BLACK} vajalik STR_CARGO_FOR_TOWNGROWTH_REQUIRED :{SETX 20}{ORANGE}{STRING}{BLACK} vajalik
STR_CARGO_FOR_TOWNGROWTH_LAST_MONTH :{SETX 20}{ORANGE}{CARGO}{BLACK} toimetatud eelmisel kuul
STR_200F_TALL_OFFICE_BLOCK :Kõrge büroohoone STR_200F_TALL_OFFICE_BLOCK :Kõrge büroohoone
STR_2010_OFFICE_BLOCK :Büroohoone STR_2010_OFFICE_BLOCK :Büroohoone
STR_2011_SMALL_BLOCK_OF_FLATS :Väike kortermaja STR_2011_SMALL_BLOCK_OF_FLATS :Väike kortermaja
@@ -1725,6 +1760,7 @@ STR_2032_SERVICE_SUBSIDY_AWARDED :{BLACK}{BIGFONT
STR_2033_SERVICE_SUBSIDY_AWARDED :{BLACK}{BIGFONT}Teenusetoetust makstakse ettevõttele {COMPANY}!{}{}{STRING} kohast {STATION} kohta {STATION} teenuse eest makstakse järgmisel aastal kolmekordselt! STR_2033_SERVICE_SUBSIDY_AWARDED :{BLACK}{BIGFONT}Teenusetoetust makstakse ettevõttele {COMPANY}!{}{}{STRING} kohast {STATION} kohta {STATION} teenuse eest makstakse järgmisel aastal kolmekordselt!
STR_2034_SERVICE_SUBSIDY_AWARDED :{BLACK}{BIGFONT}Teenusetoetust makstakse ettevõttele {COMPANY}!{}{}{STRING} kohast {STATION} kohta {STATION} teenuse eest makstakse järgmisel aastal neljakordselt! STR_2034_SERVICE_SUBSIDY_AWARDED :{BLACK}{BIGFONT}Teenusetoetust makstakse ettevõttele {COMPANY}!{}{}{STRING} kohast {STATION} kohta {STATION} teenuse eest makstakse järgmisel aastal neljakordselt!
STR_2035_LOCAL_AUTHORITY_REFUSES :{WHITE}Linna {TOWN} kohalik omavalitsus keeldub uut lennujaama lubamast STR_2035_LOCAL_AUTHORITY_REFUSES :{WHITE}Linna {TOWN} kohalik omavalitsus keeldub uut lennujaama lubamast
STR_LOCAL_AUTHORITY_REFUSES_NOISE :{WHITE}{TOWN} kohalik omavalitsus keeldub ehitusluba lennujaamale väljastamast kuna on mures müra pärast
STR_2036_COTTAGES :Suvilad STR_2036_COTTAGES :Suvilad
STR_2037_HOUSES :Majad STR_2037_HOUSES :Majad
STR_2038_FLATS :Korterid STR_2038_FLATS :Korterid
@@ -1898,6 +1934,7 @@ STR_4001_LOAD_GAME :{WHITE}Laadi m
STR_4002_SAVE :{BLACK}Salvesta STR_4002_SAVE :{BLACK}Salvesta
STR_4003_DELETE :{BLACK}Kustuta STR_4003_DELETE :{BLACK}Kustuta
STR_4004 :{COMPANY}, {STRING} STR_4004 :{COMPANY}, {STRING}
STR_GAME_SAVELOAD_SPECTATOR_SAVEGAME :Vaatleja, {SKIP}{STRING}
STR_4005_BYTES_FREE :{BLACK}{BYTES} vaba STR_4005_BYTES_FREE :{BLACK}{BYTES} vaba
STR_4006_UNABLE_TO_READ_DRIVE :{BLACK}Ei suuda kettalt lugeda STR_4006_UNABLE_TO_READ_DRIVE :{BLACK}Ei suuda kettalt lugeda
STR_4007_GAME_SAVE_FAILED :{WHITE}Mängu salvestamine nurjus{}{STRING} STR_4007_GAME_SAVE_FAILED :{WHITE}Mängu salvestamine nurjus{}{STRING}
@@ -1905,9 +1942,10 @@ STR_4008_UNABLE_TO_DELETE_FILE :{WHITE}Faili ei
STR_4009_GAME_LOAD_FAILED :{WHITE}Mängu laadimine nurjus{}{STRING} STR_4009_GAME_LOAD_FAILED :{WHITE}Mängu laadimine nurjus{}{STRING}
STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR :Süsteemi viga: {STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR :Süsteemi viga: {STRING}
STR_GAME_SAVELOAD_ERROR_BROKEN_SAVEGAME :Katkine salvestus - {STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_SAVEGAME :Katkine salvestus - {STRING}
STR_GAME_SAVELOAD_ERROR_TOO_NEW_SAVEGAME :Salvestus on tehtud uuemas versioonis STR_GAME_SAVELOAD_ERROR_TOO_NEW_SAVEGAME :Salvestus on tehtud uuemas osas
STR_GAME_SAVELOAD_ERROR_FILE_NOT_READABLE :Fail pole loetav STR_GAME_SAVELOAD_ERROR_FILE_NOT_READABLE :Fail pole loetav
STR_GAME_SAVELOAD_ERROR_FILE_NOT_WRITEABLE :Faili ei saanud kirjutada STR_GAME_SAVELOAD_ERROR_FILE_NOT_WRITEABLE :Faili ei saanud kirjutada
STR_GAME_SAVELOAD_ERROR_DATA_INTEGRITY_CHECK_FAILED :Andmeterviklikuse kontrolli ei läbitud
STR_400A_LIST_OF_DRIVES_DIRECTORIES :{BLACK}Nimekiri ketastest, kataloogidest ja salvestatud mängudest STR_400A_LIST_OF_DRIVES_DIRECTORIES :{BLACK}Nimekiri ketastest, kataloogidest ja salvestatud mängudest
STR_400B_CURRENTLY_SELECTED_NAME :{BLACK}Mängu salvestuse nimi STR_400B_CURRENTLY_SELECTED_NAME :{BLACK}Mängu salvestuse nimi
STR_400C_DELETE_THE_CURRENTLY_SELECTED :{BLACK}Kustuta valitud salvestus STR_400C_DELETE_THE_CURRENTLY_SELECTED :{BLACK}Kustuta valitud salvestus
@@ -1993,6 +2031,7 @@ STR_INDUSTRY_PROD_GODOWN :{BLACK}{BIGFONT
##id 0x5000 ##id 0x5000
STR_5003_ANOTHER_TUNNEL_IN_THE_WAY :{WHITE}Teine tunnel on ees STR_5003_ANOTHER_TUNNEL_IN_THE_WAY :{WHITE}Teine tunnel on ees
STR_TUNNEL_THROUGH_MAP_BORDER :{WHITE}Tunnel lõpeks väljaspool kaarti
STR_5005_UNABLE_TO_EXCAVATE_LAND :{WHITE}Ei saa tunneli teise otsa jaoks maad parajaks kaevata STR_5005_UNABLE_TO_EXCAVATE_LAND :{WHITE}Ei saa tunneli teise otsa jaoks maad parajaks kaevata
STR_5006_MUST_DEMOLISH_TUNNEL_FIRST :{WHITE}Tunnel tuleb enne lammutada STR_5006_MUST_DEMOLISH_TUNNEL_FIRST :{WHITE}Tunnel tuleb enne lammutada
STR_5007_MUST_DEMOLISH_BRIDGE_FIRST :{WHITE}Sild tuleb enne lammutada STR_5007_MUST_DEMOLISH_BRIDGE_FIRST :{WHITE}Sild tuleb enne lammutada
@@ -2067,15 +2106,15 @@ STR_SV_STNAME_AIRPORT :{STRING} lennuv
STR_SV_STNAME_OILFIELD :{STRING} naftaväli STR_SV_STNAME_OILFIELD :{STRING} naftaväli
STR_SV_STNAME_MINES :{STRING} kaevandused STR_SV_STNAME_MINES :{STRING} kaevandused
STR_SV_STNAME_DOCKS :{STRING} dokid STR_SV_STNAME_DOCKS :{STRING} dokid
STR_SV_STNAME_BUOY_1 :{STRING} poi #1 STR_SV_STNAME_BUOY_1 :{STRING} 1. poi
STR_SV_STNAME_BUOY_2 :{STRING} poi #2 STR_SV_STNAME_BUOY_2 :{STRING} 2. poi
STR_SV_STNAME_BUOY_3 :{STRING} poi #3 STR_SV_STNAME_BUOY_3 :{STRING} 3. poi
STR_SV_STNAME_BUOY_4 :{STRING} poi #4 STR_SV_STNAME_BUOY_4 :{STRING} 4. poi
STR_SV_STNAME_BUOY_5 :{STRING} poi #5 STR_SV_STNAME_BUOY_5 :{STRING} 5. poi
STR_SV_STNAME_BUOY_6 :{STRING} poi #6 STR_SV_STNAME_BUOY_6 :{STRING} 6. poi
STR_SV_STNAME_BUOY_7 :{STRING} poi #7 STR_SV_STNAME_BUOY_7 :{STRING} 7. poi
STR_SV_STNAME_BUOY_8 :{STRING} poi #8 STR_SV_STNAME_BUOY_8 :{STRING} 8. poi
STR_SV_STNAME_BUOY_9 :{STRING} poi #9 STR_SV_STNAME_BUOY_9 :{STRING} 9. poi
STR_SV_STNAME_ANNEXE :{STRING} juurdeehitis STR_SV_STNAME_ANNEXE :{STRING} juurdeehitis
STR_SV_STNAME_SIDINGS :{STRING} hargnemine STR_SV_STNAME_SIDINGS :{STRING} hargnemine
STR_SV_STNAME_BRANCH :{STRING} filiaal STR_SV_STNAME_BRANCH :{STRING} filiaal
@@ -2083,7 +2122,7 @@ STR_SV_STNAME_UPPER :Ülemine {STRIN
STR_SV_STNAME_LOWER :Alumine {STRING} STR_SV_STNAME_LOWER :Alumine {STRING}
STR_SV_STNAME_HELIPORT :{STRING} Kopteriväljak STR_SV_STNAME_HELIPORT :{STRING} Kopteriväljak
STR_SV_STNAME_FOREST :{STRING} mets STR_SV_STNAME_FOREST :{STRING} mets
STR_SV_STNAME_FALLBACK :{STRING} Jaam #{NUM} STR_SV_STNAME_FALLBACK :{STRING} {NUM}. jaam
############ end of savegame specific region! ############ end of savegame specific region!
@@ -2122,6 +2161,7 @@ STR_NUM_VERY_LOW :Väga madal
STR_6816_LOW :Madal STR_6816_LOW :Madal
STR_6817_NORMAL :Harilik STR_6817_NORMAL :Harilik
STR_6818_HIGH :Kõrge STR_6818_HIGH :Kõrge
STR_02BF_CUSTOM :Omatehtud
STR_6819 :{BLACK}{SMALLLEFTARROW} STR_6819 :{BLACK}{SMALLLEFTARROW}
STR_681A :{BLACK}{SMALLRIGHTARROW} STR_681A :{BLACK}{SMALLRIGHTARROW}
STR_681B_VERY_SLOW :Väga aeglane STR_681B_VERY_SLOW :Väga aeglane
@@ -2233,6 +2273,7 @@ STR_704A_SELECT_FEMALE_FACES :{BLACK}Vali nai
STR_704B_GENERATE_RANDOM_NEW_FACE :{BLACK}Tekita uus suvaline nägu STR_704B_GENERATE_RANDOM_NEW_FACE :{BLACK}Tekita uus suvaline nägu
STR_704C_KEY :{BLACK}Selgitus STR_704C_KEY :{BLACK}Selgitus
STR_704D_SHOW_KEY_TO_GRAPHS :{BLACK}Näita selgitust graafikute juures STR_704D_SHOW_KEY_TO_GRAPHS :{BLACK}Näita selgitust graafikute juures
STR_SHOW_DETAILED_PERFORMANCE_RATINGS :{BLACK}Näita põhjalike tegevushinnanguid
STR_704E_KEY_TO_COMPANY_GRAPHS :{WHITE}Ettevõttegraafiku selgitus STR_704E_KEY_TO_COMPANY_GRAPHS :{WHITE}Ettevõttegraafiku selgitus
STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY :{BLACK}Klõpsa, et ettevõtte graafikut sisse ja välja lülitada STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY :{BLACK}Klõpsa, et ettevõtte graafikut sisse ja välja lülitada
STR_7050_UNITS_OF_CARGO_DELIVERED :{WHITE}Veetud veoste kogus STR_7050_UNITS_OF_CARGO_DELIVERED :{WHITE}Veetud veoste kogus
@@ -2607,10 +2648,10 @@ STR_ORDER_GO_TO :Mine
STR_ORDER_GO_NON_STOP_TO :Mine peatumata STR_ORDER_GO_NON_STOP_TO :Mine peatumata
STR_ORDER_GO_VIA :Mine läbi STR_ORDER_GO_VIA :Mine läbi
STR_ORDER_GO_NON_STOP_VIA :Mine peatumata läbi STR_ORDER_GO_NON_STOP_VIA :Mine peatumata läbi
STR_ORDER_TOGGLE_FULL_LOAD :{BLACK}Laadi kõik kaubad täis STR_ORDER_TOGGLE_FULL_LOAD :{BLACK}Laadi üks täis
STR_ORDER_DROP_LOAD_IF_POSSIBLE :Laadi, kui saadaval STR_ORDER_DROP_LOAD_IF_POSSIBLE :Võimalusel laadi
STR_ORDER_DROP_FULL_LOAD_ALL :Laadi kõiki kaupu täis STR_ORDER_DROP_FULL_LOAD_ALL :Laadi kõik täis
STR_ORDER_DROP_FULL_LOAD_ANY :Laadi ühte kaupa täis STR_ORDER_DROP_FULL_LOAD_ANY :Laadi üks täis
STR_ORDER_DROP_NO_LOADING :Mitte laadida STR_ORDER_DROP_NO_LOADING :Mitte laadida
STR_ORDER_TOGGLE_UNLOAD :{BLACK}Laadi kõik maha STR_ORDER_TOGGLE_UNLOAD :{BLACK}Laadi kõik maha
STR_ORDER_DROP_UNLOAD_IF_ACCEPTED :Kui võetakse vastu, laadi maha STR_ORDER_DROP_UNLOAD_IF_ACCEPTED :Kui võetakse vastu, laadi maha
@@ -2651,7 +2692,7 @@ STR_GO_TO_NEAREST_DEPOT :{STRING} {STRIN
STR_GO_TO_HANGAR :{STRING} {STATION} angaar STR_GO_TO_HANGAR :{STRING} {STATION} angaar
STR_ORDER_DROP_GO_ALWAYS_DEPOT :Alati mine STR_ORDER_DROP_GO_ALWAYS_DEPOT :Alati mine
STR_ORDER_DROP_SERVICE_DEPOT :Hoolda, kui vaja STR_ORDER_DROP_SERVICE_DEPOT :Vajadusel hoolda
STR_ORDER_DROP_HALT_DEPOT :Peatu STR_ORDER_DROP_HALT_DEPOT :Peatu
STR_ORDER_CONDITIONAL :Tinglik sihtpunkti vahetamine STR_ORDER_CONDITIONAL :Tinglik sihtpunkti vahetamine
@@ -2723,6 +2764,7 @@ STR_8826_GO_TO :{BLACK}Mine
STR_REFIT :{BLACK}Taasseadista STR_REFIT :{BLACK}Taasseadista
STR_REFIT_TIP :{BLACK}Vali, millist laadungit ümber seadistada selles järjestuses. Ümberseadistuse käsu eemaldamiseks hoia klõpsamise ajal all Control nuppu STR_REFIT_TIP :{BLACK}Vali, millist laadungit ümber seadistada selles järjestuses. Ümberseadistuse käsu eemaldamiseks hoia klõpsamise ajal all Control nuppu
STR_REFIT_ORDER :(Taasseadista {STRING}) STR_REFIT_ORDER :(Taasseadista {STRING})
STR_REFIT_STOP_ORDER :(Seadista ümber {STRING} jaoks ja peatu)
STR_STOP_ORDER :(Peatu) STR_STOP_ORDER :(Peatu)
STR_TIMETABLE_VIEW :{BLACK}Sõiduplaan STR_TIMETABLE_VIEW :{BLACK}Sõiduplaan
STR_TIMETABLE_VIEW_TOOLTIP :{BLACK}Näita sõiduplaani STR_TIMETABLE_VIEW_TOOLTIP :{BLACK}Näita sõiduplaani
@@ -2789,7 +2831,7 @@ STR_VEHICLE_INFO_COST_WEIGHT_SPEED_POWER :{BLACK}Hind: {C
STR_885C_BROKEN_DOWN :{RED}Rikkis STR_885C_BROKEN_DOWN :{RED}Rikkis
STR_885D_AGE_RUNNING_COST_YR :{BLACK}Vanus: {LTBLUE}{STRING}{BLACK} Käituskulud: {LTBLUE}{CURRENCY}/aastas STR_885D_AGE_RUNNING_COST_YR :{BLACK}Vanus: {LTBLUE}{STRING}{BLACK} Käituskulud: {LTBLUE}{CURRENCY}/aastas
STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Mass: {LTBLUE}{WEIGHT_S} {BLACK}Võimsus: {LTBLUE}{POWER}{BLACK} Tippkiirus: {LTBLUE}{VELOCITY} STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Mass: {LTBLUE}{WEIGHT_S} {BLACK}Võimsus: {LTBLUE}{POWER}{BLACK} Tippkiirus: {LTBLUE}{VELOCITY}
STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Mass: {LTBLUE}{WEIGHT_S} {BLACK}Võimsus: {LTBLUE}{POWER}{BLACK} Tippkiirus: {LTBLUE}{VELOCITY} {BLACK}Veojõud: {LTBLUE}{FORCE} STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Tühimass: {LTBLUE}{WEIGHT_S} {BLACK}Võimsus: {LTBLUE}{POWER}{BLACK} Tippkiirus: {LTBLUE}{VELOCITY} {BLACK}Veojõud: {LTBLUE}{FORCE}
STR_885F_PROFIT_THIS_YEAR_LAST_YEAR :{BLACK}Selle aasta kasum: {LTBLUE}{CURRENCY} (eelmisel aastal: {CURRENCY}) STR_885F_PROFIT_THIS_YEAR_LAST_YEAR :{BLACK}Selle aasta kasum: {LTBLUE}{CURRENCY} (eelmisel aastal: {CURRENCY})
STR_8860_RELIABILITY_BREAKDOWNS :{BLACK}Tehnoseisund: {LTBLUE}{COMMA}% {BLACK}Rikkeid eelmisest hooldusest: {LTBLUE}{COMMA} STR_8860_RELIABILITY_BREAKDOWNS :{BLACK}Tehnoseisund: {LTBLUE}{COMMA}% {BLACK}Rikkeid eelmisest hooldusest: {LTBLUE}{COMMA}
STR_8861_STOPPED :{RED}Peatatud STR_8861_STOPPED :{RED}Peatatud
@@ -2832,6 +2874,7 @@ STR_TIMETABLE_TOTAL_TIME :Selle sõidupla
STR_TIMETABLE_TOTAL_TIME_INCOMPLETE :Selle sõiduplaani täitmine võtab vähemalt {STRING} (kõik ei ole planeeritud) STR_TIMETABLE_TOTAL_TIME_INCOMPLETE :Selle sõiduplaani täitmine võtab vähemalt {STRING} (kõik ei ole planeeritud)
STR_TIMETABLE_AUTOFILL :{BLACK}Täida ise STR_TIMETABLE_AUTOFILL :{BLACK}Täida ise
STR_TIMETABLE_AUTOFILL_TOOLTIP :{BLACK}Täida liiniplaan järgmise sõidu andmetega (Ctrl+klõps säilitamaks ooteaegu)
##id 0x9000 ##id 0x9000
STR_9000_ROAD_VEHICLE_IN_THE_WAY :{WHITE}Mootorsõiduk takistab teed STR_9000_ROAD_VEHICLE_IN_THE_WAY :{WHITE}Mootorsõiduk takistab teed
STR_9001_ROAD_VEHICLES :{WHITE}{COMPANY} - {COMMA} mootorsõiduk{P "" it} STR_9001_ROAD_VEHICLES :{WHITE}{COMPANY} - {COMMA} mootorsõiduk{P "" it}
@@ -2898,8 +2941,8 @@ STR_REFIT_ROAD_VEHICLE_TO_CARRY :{BLACK}Seadista
STR_REFIT_ROAD_VEHICLE :{BLACK}Muuda mootorsõiduki seadistust STR_REFIT_ROAD_VEHICLE :{BLACK}Muuda mootorsõiduki seadistust
STR_REFIT_ROAD_VEHICLE_TO_CARRY_HIGHLIGHTED :{BLACK}Seadista mootorsõidukit kandma valitud veotüüpi STR_REFIT_ROAD_VEHICLE_TO_CARRY_HIGHLIGHTED :{BLACK}Seadista mootorsõidukit kandma valitud veotüüpi
STR_REFIT_ROAD_VEHICLE_CAN_T :{WHITE}Mootorsõiduki seadistust ei saa ümber muuta STR_REFIT_ROAD_VEHICLE_CAN_T :{WHITE}Mootorsõiduki seadistust ei saa ümber muuta
STR_ROAD_SELECT_TYPE_OF_CARGO_FOR :{BLACK}Vali maanteesõiduki veetav kaubaliik
STR_ROAD_SELECT_TYPE_OF_CARGO_FOR :{BLACK}Vali maanteesõiduki veetav veoseliik
##id 0x9800 ##id 0x9800
STR_9800_WATERWAYS_CONSTRUCTION :Veeteede ehitus STR_9800_WATERWAYS_CONSTRUCTION :Veeteede ehitus
STR_9801_WATERWAYS_CONSTRUCTION :{WHITE}Veeteede ehitus STR_9801_WATERWAYS_CONSTRUCTION :{WHITE}Veeteede ehitus
@@ -3098,34 +3141,36 @@ STR_NEWGRF_ERROR_MSG_INFO :{SILVER}{STRING
STR_NEWGRF_ERROR_MSG_WARNING :{RED}Hoiatus: {SILVER}{STRING} STR_NEWGRF_ERROR_MSG_WARNING :{RED}Hoiatus: {SILVER}{STRING}
STR_NEWGRF_ERROR_MSG_ERROR :{RED}Viga: {SILVER}{STRING} STR_NEWGRF_ERROR_MSG_ERROR :{RED}Viga: {SILVER}{STRING}
STR_NEWGRF_ERROR_MSG_FATAL :{RED}Saatuslik viga: {SILVER}{STRING} STR_NEWGRF_ERROR_MSG_FATAL :{RED}Saatuslik viga: {SILVER}{STRING}
STR_NEWGRF_ERROR_VERSION_NUMBER :{SKIP}{STRING} ei tööta TTDPatch versiooniga OpenTTD väitel. STR_NEWGRF_ERROR_VERSION_NUMBER :{SKIP}OpenTTD väitel {STRING} ei tööta selle TTDPatch osaga.
STR_NEWGRF_ERROR_DOS_OR_WINDOWS :{SKIP}{STRING} on {STRING} TTD versiooni jaoks. STR_NEWGRF_ERROR_DOS_OR_WINDOWS :{SKIP}{STRING} on {STRING} TTD osa jaoks.
STR_NEWGRF_ERROR_UNSET_SWITCH :{SKIP}{STRING} on mõeldud kasutamiseks {STRING} STR_NEWGRF_ERROR_UNSET_SWITCH :{SKIP}{STRING} on mõeldud kasutamiseks {STRING}
STR_NEWGRF_ERROR_INVALID_PARAMETER :{SKIP}vigane parameeter {STRING} jaoks: parameeter {STRING} ({NUM}) STR_NEWGRF_ERROR_INVALID_PARAMETER :{SKIP}vigane parameeter {STRING} jaoks: parameeter {STRING} ({NUM})
STR_NEWGRF_ERROR_LOAD_BEFORE :{SKIP}{STRING} peab olema laetud enne {STRING}. STR_NEWGRF_ERROR_LOAD_BEFORE :{SKIP}{STRING} peab olema laetud enne {STRING}.
STR_NEWGRF_ERROR_LOAD_AFTER :{SKIP}{STRING} peab olema laetud pärast{STRING}. STR_NEWGRF_ERROR_LOAD_AFTER :{SKIP}{STRING} peab olema laetud pärast{STRING}.
STR_NEWGRF_ERROR_OTTD_VERSION_NUMBER :{SKIP}{STRING} nõuab OpenTTD versiooni {STRING} või uuemat. STR_NEWGRF_ERROR_OTTD_VERSION_NUMBER :{SKIP}{STRING} nõuab OpenTTD osa {STRING} või uuemat.
STR_NEWGRF_ERROR_AFTER_TRANSLATED_FILE :GRF fail, mis tehti tõlkimiseks, STR_NEWGRF_ERROR_AFTER_TRANSLATED_FILE :GRF fail, mis tehti tõlkimiseks,
STR_NEWGRF_ERROR_TOO_MANY_NEWGRFS_LOADED :Liiga palju NewGRF-e on laaditud. STR_NEWGRF_ERROR_TOO_MANY_NEWGRFS_LOADED :Liiga palju NewGRF-e on laaditud.
STR_NEWGRF_ERROR_STATIC_GRF_CAUSES_DESYNC :Laadides {STRING} staatilise NewGRF-na koos {STRING} võib põhjustada sünkrooni katkemist. STR_NEWGRF_ERROR_STATIC_GRF_CAUSES_DESYNC :Laadides {STRING} staatilise NewGRF-na koos {STRING} võib põhjustada sünkrooni katkemist.
STR_NEWGRF_ERROR_UNEXPECTED_SPRITE :Ootamatu sprait. STR_NEWGRF_ERROR_UNEXPECTED_SPRITE :Ootamatu sprait.
STR_NEWGRF_ERROR_UNKNOWN_PROPERTY :Tundmatu Action 0 omadus. STR_NEWGRF_ERROR_UNKNOWN_PROPERTY :Tundmatu Action 0 omadus.
STR_NEWGRF_ERROR_INVALID_ID :Vale tunnuse kasutamise proov. STR_NEWGRF_ERROR_INVALID_ID :Vale tunnuse kasutamise proov.
STR_NEWGRF_ERROR_CORRUPT_SPRITE :{YELLOW}{STRING} sisaldab vigast pilti. Kõiki vigaseid pilte näidatakse punase küsimärgina (?).
STR_NEWGRF_ERROR_MULTIPLE_ACTION_8 :Sisaldab mitmeid Action 8 kirjeid
STR_NEWGRF_PRESET_LIST_TIP :{BLACK}Laadi valitud eelseadistused STR_NEWGRF_PRESET_LIST_TIP :{BLACK}Laadi valitud eelseadistused
STR_NEWGRF_PRESET_SAVE :{BLACK}Salvesta eelseadistus STR_NEWGRF_PRESET_SAVE :{BLACK}Salvesta eelseadistus
STR_NEWGRF_PRESET_SAVE_TIP :{BLACK}Salvesta praegune loend eelseadistusena STR_NEWGRF_PRESET_SAVE_TIP :{BLACK}Salvesta praegune loend eelseadistusena
STR_NEWGRF_PRESET_SAVE_QUERY :{BLACK}Sisesta eelseadistuse nimi STR_NEWGRF_PRESET_SAVE_QUERY :{BLACK}Sisesta eelseadistuse nimi
STR_NEWGRF_PRESET_DELETE :{BLACK}Kustuta eelseadistus STR_NEWGRF_PRESET_DELETE :{BLACK}Kustuta eelseadistus
STR_NEWGRF_PRESET_DELETE_TIP :{BLACK}Kustuta aktiivne eelseadistus STR_NEWGRF_PRESET_DELETE_TIP :{BLACK}Kustuta hetkel valitud eelseadistus
STR_NEWGRF_ADD :{BLACK}Lisa STR_NEWGRF_ADD :{BLACK}Lisa
STR_NEWGRF_ADD_TIP :{BLACK}Lisa nimekirja NewGRF fail STR_NEWGRF_ADD_TIP :{BLACK}Lisa nimekirja NewGRF fail
STR_NEWGRF_REMOVE :{BLACK}Eemalda STR_NEWGRF_REMOVE :{BLACK}Eemalda
STR_NEWGRF_REMOVE_TIP :{BLACK}Eemalda nimekirjast valitud NewGRF fail STR_NEWGRF_REMOVE_TIP :{BLACK}Eemalda nimekirjast valitud NewGRF fail
STR_NEWGRF_MOVEUP :{BLACK}Liiguta Üles STR_NEWGRF_MOVEUP :{BLACK}Liiguta üles
STR_NEWGRF_MOVEUP_TIP :{BLACK}Liiguta valitud NewGRF fail nimekirjas üles STR_NEWGRF_MOVEUP_TIP :{BLACK}NewGRF-faili liigutamine loendis üles.
STR_NEWGRF_MOVEDOWN :{BLACK}Liiguta Alla STR_NEWGRF_MOVEDOWN :{BLACK}Liiguta alla
STR_NEWGRF_MOVEDOWN_TIP :{BLACK}Liiguta valitud NewGRF fail nimekirjas alla STR_NEWGRF_MOVEDOWN_TIP :{BLACK}NewGRF-faili liigutamine loendis alla
STR_NEWGRF_FILE_TIP :{BLACK}Nimekiri installeerimata NewGRF failidest. Parameetrite muutmiseks klõpsa failil. STR_NEWGRF_FILE_TIP :{BLACK}Nimekiri installeerimata NewGRF failidest. Parameetrite muutmiseks klõpsa failil.
STR_NEWGRF_PARAMETER :{BLACK}Parameetrid: {SILVER}{STRING} STR_NEWGRF_PARAMETER :{BLACK}Parameetrid: {SILVER}{STRING}
STR_NEWGRF_PARAMETER_QUERY :{BLACK}Sisesta NewGRF parameetrid STR_NEWGRF_PARAMETER_QUERY :{BLACK}Sisesta NewGRF parameetrid
@@ -3151,15 +3196,18 @@ STR_NEWGRF_BROKEN :{WHITE}NewGRF '
STR_NEWGRF_BROKEN_VEHICLE_LENGTH :{WHITE}Depoost väljas asudes muudab sõiduki '{1:ENGINE}' pikkust. STR_NEWGRF_BROKEN_VEHICLE_LENGTH :{WHITE}Depoost väljas asudes muudab sõiduki '{1:ENGINE}' pikkust.
STR_BROKEN_VEHICLE_LENGTH :{WHITE}Ettevõtte '{1:COMPANY}' rongil '{0:VEHICLE}' on ebasobiv pikkus. See on tõenäoliselt põhjustatud problemaatilistest NewGRF-dest. Mäng võib kokku joosta või STR_BROKEN_VEHICLE_LENGTH :{WHITE}Ettevõtte '{1:COMPANY}' rongil '{0:VEHICLE}' on ebasobiv pikkus. See on tõenäoliselt põhjustatud problemaatilistest NewGRF-dest. Mäng võib kokku joosta või
STR_LOADGAME_REMOVED_TRAMS :{WHITE}Mäng salvestati trammide toetuseta versioonis. Kõik trammid eemaldati. STR_NEWGRF_BUGGY :{WHITE}NewGRF '{STRING}' sisaldab väära teavet.
STR_NEWGRF_BUGGY_ARTICULATED_CARGO :{WHITE}Veose/ümberseadistamise teave sõidukil '{1:ENGINE}' erineb ehitamisaegsest ostunimekirjast. Seetõttu võib uuendamisel või asendamisel ümberseadistamine ebaõnnestuda.
STR_NEWGRF_BUGGY_ENDLESS_PRODUCTION_CALLBACK :{WHITE}'{1:STRING}' põhjustas toodangu tagasikutsumises lõpmatu korduse.
STR_CURRENCY_WINDOW :{WHITE}Isiklik valuuta STR_LOADGAME_REMOVED_TRAMS :{WHITE}Mäng on salvestatud osas, kus trammid ei olnud toetatud. Kõik trammid on eemaldatud.
STR_CURRENCY_WINDOW :{WHITE}Oma valuuta
STR_CURRENCY_EXCHANGE_RATE :{LTBLUE}Vahetuskurss: {ORANGE}{CURRENCY} = £ {COMMA} STR_CURRENCY_EXCHANGE_RATE :{LTBLUE}Vahetuskurss: {ORANGE}{CURRENCY} = £ {COMMA}
STR_CURRENCY_SEPARATOR :{LTBLUE}Vahemärk: STR_CURRENCY_SEPARATOR :{LTBLUE}Vahemärk:
STR_CURRENCY_PREFIX :{LTBLUE}Eesliide: STR_CURRENCY_PREFIX :{LTBLUE}Eesliide:
STR_CURRENCY_SUFFIX :{LTBLUE}Lõpuliide: STR_CURRENCY_SUFFIX :{LTBLUE}Lõpuliide:
STR_CURRENCY_SWITCH_TO_EURO :{LTBLUE}Vaheta üle eurole: {ORANGE}{NUM} STR_CURRENCY_SWITCH_TO_EURO :{LTBLUE}Vaheta üle eurole: {ORANGE}{NUM}
STR_CURRENCY_SWITCH_TO_EURO_NEVER :{LTBLUE}Vaheta üle eurole: {ORANGE}Mitte kunagi STR_CURRENCY_SWITCH_TO_EURO_NEVER :{LTBLUE}Mine eurole: {ORANGE}Mitte kunagi
STR_CURRENCY_PREVIEW :{LTBLUE}Eelvaade: {ORANGE}{CURRENCY} STR_CURRENCY_PREVIEW :{LTBLUE}Eelvaade: {ORANGE}{CURRENCY}
STR_CURRENCY_CHANGE_PARAMETER :{BLACK}Muuda personaalse valuuta parameetreid STR_CURRENCY_CHANGE_PARAMETER :{BLACK}Muuda personaalse valuuta parameetreid
@@ -3220,7 +3268,7 @@ STR_REPLACE_HELP_REPLACE_INFO_TAB :{BLACK}Näitab
STR_REPLACE_REMOVE_WAGON :{BLACK}Vagunite eemaldus: {ORANGE}{SKIP}{STRING} STR_REPLACE_REMOVE_WAGON :{BLACK}Vagunite eemaldus: {ORANGE}{SKIP}{STRING}
STR_REPLACE_REMOVE_WAGON_HELP :{BLACK}Sunni automaatset asendust hoidma rongi pikkust selleks (eest alustades) veeremit eemaldades, juhul kui uus vagun muudaks rongi pikemaks. STR_REPLACE_REMOVE_WAGON_HELP :{BLACK}Sunni automaatset asendust hoidma rongi pikkust selleks (eest alustades) veeremit eemaldades, juhul kui uus vagun muudaks rongi pikemaks.
STR_REPLACE_ENGINE_WAGON_SELECT :{BLACK}Asendamisel: {ORANGE}{SKIP}{SKIP}{STRING} STR_REPLACE_ENGINE_WAGON_SELECT :{BLACK}Asendamisel: {ORANGE}{SKIP}{SKIP}{STRING}
STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK} TESTIMISEL! {}Vaheta aken mootori ja vaguni asendamise aknate vahel.{}Vaguni vahetus tehakse ainult siis kui uus vagun suudetakse muuta kandmaks sama tüüpi kaupa kui vana vagun. See valitakse igale vagunile kui tegelik vahetus käib STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK}Vaheta aken mootori ja vaguni asendamise aknate vahel
STR_RAIL_VEHICLE_NOT_AVAILABLE :{WHITE}Sõiduk pole saadaval STR_RAIL_VEHICLE_NOT_AVAILABLE :{WHITE}Sõiduk pole saadaval
STR_ROAD_VEHICLE_NOT_AVAILABLE :{WHITE}Sõiduk pole saadaval STR_ROAD_VEHICLE_NOT_AVAILABLE :{WHITE}Sõiduk pole saadaval
STR_SHIP_NOT_AVAILABLE :{WHITE}Laev pole saadaval STR_SHIP_NOT_AVAILABLE :{WHITE}Laev pole saadaval
@@ -3245,6 +3293,7 @@ STR_MASS_START_LIST_TIP :{BLACK}Vajuta,
STR_SHORT_DATE :{WHITE}{DATE_TINY} STR_SHORT_DATE :{WHITE}{DATE_TINY}
STR_SIGN_LIST_CAPTION :{WHITE}Siltide nimekiri - {COMMA} Silt{P "" i} STR_SIGN_LIST_CAPTION :{WHITE}Siltide nimekiri - {COMMA} Silt{P "" i}
STR_ORDER_REFIT_FAILED :{WHITE}Ümberseadistamise käsu ebaõnnestumine peatas sõiduki {VEHICLE}
############ Lists rail types ############ Lists rail types
@@ -3300,8 +3349,8 @@ STR_DATE :{BLACK}Algus:
STR_NUMBER_OF_TOWNS :{BLACK}Linnade sagedus: STR_NUMBER_OF_TOWNS :{BLACK}Linnade sagedus:
STR_NUMBER_OF_INDUSTRIES :{BLACK}Tehaste sagedus: STR_NUMBER_OF_INDUSTRIES :{BLACK}Tehaste sagedus:
STR_GENERATE_DATE :{BLACK}{DATE_LONG} STR_GENERATE_DATE :{BLACK}{DATE_LONG}
STR_SNOW_LINE_UP :{BLACK}Liiguta lumepiiri ühe ühiku võrra üles STR_SNOW_LINE_UP :{BLACK}Lumepiiri liigutamine ühe võrra üles
STR_SNOW_LINE_DOWN :{BLACK}Liiguta lumepiiri ühe ühiku võrra alla STR_SNOW_LINE_DOWN :{BLACK}Lumepiiri liigutamine ühe võrra alla
STR_SNOW_LINE_QUERY_CAPT :{WHITE}Muuda lumepiiri kõrgust STR_SNOW_LINE_QUERY_CAPT :{WHITE}Muuda lumepiiri kõrgust
STR_START_DATE_QUERY_CAPT :{WHITE}Muuda algusaastat STR_START_DATE_QUERY_CAPT :{WHITE}Muuda algusaastat
STR_HEIGHTMAP_SCALE_WARNING_CAPTION :{WHITE}Skaala hoiatus STR_HEIGHTMAP_SCALE_WARNING_CAPTION :{WHITE}Skaala hoiatus
@@ -3327,8 +3376,8 @@ STR_SE_FLAT_WORLD_TIP :{BLACK}Genereer
STR_SE_RANDOM_LAND :{WHITE}Suvaline maa STR_SE_RANDOM_LAND :{WHITE}Suvaline maa
STR_SE_NEW_WORLD :{BLACK}Alusta uut stsenaariumit STR_SE_NEW_WORLD :{BLACK}Alusta uut stsenaariumit
STR_SE_CAPTION :{WHITE}Stsenaariumi tüüp STR_SE_CAPTION :{WHITE}Stsenaariumi tüüp
STR_FLAT_WORLD_HEIGHT_DOWN :{BLACK}Liiguta lameda maa kõrgus ühe võrra alla STR_FLAT_WORLD_HEIGHT_DOWN :{BLACK}Lameda maa kõrguse langetamine ühe võrra
STR_FLAT_WORLD_HEIGHT_UP :{BLACK}Liiguta lameda maa kõrgus ühe võrra üles STR_FLAT_WORLD_HEIGHT_UP :{BLACK}Lameda maa kõrguse tõstmine ühe võrra
STR_FLAT_WORLD_HEIGHT_QUERY_CAPT :{WHITE}Muuda maa kõrgust lamedal maal 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 :{BLACK}Lameda maa kõrgus:
@@ -3367,7 +3416,7 @@ STR_HELIPORTS :{BLACK}Helikopt
STR_MEASURE_LENGTH :{BLACK}Pikkus: {NUM} STR_MEASURE_LENGTH :{BLACK}Pikkus: {NUM}
STR_MEASURE_AREA :{BLACK}Pindala: {NUM} x {NUM} STR_MEASURE_AREA :{BLACK}Pindala: {NUM} x {NUM}
STR_MEASURE_LENGTH_HEIGHTDIFF :{BLACK}Pikkus: {NUM}{}Kürguste erinevusj: {NUM} m STR_MEASURE_LENGTH_HEIGHTDIFF :{BLACK}Pikkus: {NUM}{}Kõrguserinevus: {NUM} m
STR_MEASURE_AREA_HEIGHTDIFF :{BLACK}Pindala: {NUM} x {NUM}{}Kõrguste erinevus: {NUM} m STR_MEASURE_AREA_HEIGHTDIFF :{BLACK}Pindala: {NUM} x {NUM}{}Kõrguste erinevus: {NUM} m
############ Date formatting ############ Date formatting

View File

@@ -785,7 +785,7 @@ STR_TOWNNAME_SWEDISH :Ruotsalainen
STR_TOWNNAME_DUTCH :Hollantilainen STR_TOWNNAME_DUTCH :Hollantilainen
STR_TOWNNAME_FINNISH :Suomalainen STR_TOWNNAME_FINNISH :Suomalainen
STR_TOWNNAME_POLISH :Puolalainen STR_TOWNNAME_POLISH :Puolalainen
STR_TOWNNAME_SLOVAKISH :Slovakialainen STR_TOWNNAME_SLOVAK :Slovakialainen
STR_TOWNNAME_NORWEGIAN :Norjalainen STR_TOWNNAME_NORWEGIAN :Norjalainen
STR_TOWNNAME_HUNGARIAN :Unkarilainen STR_TOWNNAME_HUNGARIAN :Unkarilainen
STR_TOWNNAME_AUSTRIAN :Itävaltalainen STR_TOWNNAME_AUSTRIAN :Itävaltalainen
@@ -818,7 +818,7 @@ STR_CURR_ITL :Italian liira (
STR_CURR_NLG :Hollannin guildeni (NLG) STR_CURR_NLG :Hollannin guildeni (NLG)
STR_CURR_NOK :Norjan kruunu (NOK) STR_CURR_NOK :Norjan kruunu (NOK)
STR_CURR_PLN :Puolan zloty (PLN) STR_CURR_PLN :Puolan zloty (PLN)
STR_CURR_ROL :Romanian leu (ROL) STR_CURR_RON :Romanian leu (RON)
STR_CURR_RUR :Venjän rupla (RUR) STR_CURR_RUR :Venjän rupla (RUR)
STR_CURR_SIT :Slovenian tolari (SIT) STR_CURR_SIT :Slovenian tolari (SIT)
STR_CURR_SEK :Ruotsin kruunu (SEK) STR_CURR_SEK :Ruotsin kruunu (SEK)
@@ -2241,6 +2241,7 @@ STR_704A_SELECT_FEMALE_FACES :{BLACK}Valitse
STR_704B_GENERATE_RANDOM_NEW_FACE :{BLACK}Luo satunnaiset kasvot. STR_704B_GENERATE_RANDOM_NEW_FACE :{BLACK}Luo satunnaiset kasvot.
STR_704C_KEY :{BLACK}Selite STR_704C_KEY :{BLACK}Selite
STR_704D_SHOW_KEY_TO_GRAPHS :{BLACK}Näytä kuvaajan selite STR_704D_SHOW_KEY_TO_GRAPHS :{BLACK}Näytä kuvaajan selite
STR_SHOW_DETAILED_PERFORMANCE_RATINGS :{BLACK}Näytä tarkat suorituskyky arviot
STR_704E_KEY_TO_COMPANY_GRAPHS :{WHITE}Selite yhtiön kuvaajiin STR_704E_KEY_TO_COMPANY_GRAPHS :{WHITE}Selite yhtiön kuvaajiin
STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY :{BLACK}Napsauta tässä laittaaksesi yhtiön merkinnän graafissa päälle/pois. STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY :{BLACK}Napsauta tässä laittaaksesi yhtiön merkinnän graafissa päälle/pois.
STR_7050_UNITS_OF_CARGO_DELIVERED :{WHITE}Rahtia kuljetettu (yksikköä) STR_7050_UNITS_OF_CARGO_DELIVERED :{WHITE}Rahtia kuljetettu (yksikköä)
@@ -2802,7 +2803,7 @@ STR_VEHICLE_INFO_COST_WEIGHT_SPEED_POWER :{BLACK}Kulu: {C
STR_885C_BROKEN_DOWN :{RED}Rikki STR_885C_BROKEN_DOWN :{RED}Rikki
STR_885D_AGE_RUNNING_COST_YR :{BLACK}Ikä: {LTBLUE}{STRING}{BLACK} Käyttökustannukset: {LTBLUE}{CURRENCY}/vuosi STR_885D_AGE_RUNNING_COST_YR :{BLACK}Ikä: {LTBLUE}{STRING}{BLACK} Käyttökustannukset: {LTBLUE}{CURRENCY}/vuosi
STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Paino: {LTBLUE}{WEIGHT_S} {BLACK}Teho: {LTBLUE}{POWER}{BLACK} Huippunopeus: {LTBLUE}{VELOCITY} STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Paino: {LTBLUE}{WEIGHT_S} {BLACK}Teho: {LTBLUE}{POWER}{BLACK} Huippunopeus: {LTBLUE}{VELOCITY}
STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Massa: {LTBLUE}{WEIGHT_S} {BLACK}Voima: {LTBLUE}{POWER}{BLACK} Huippunopeus: {LTBLUE}{VELOCITY} {BLACK}Huippuvääntö: {LTBLUE}{FORCE} STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Paino: {LTBLUE}{WEIGHT_S} {BLACK}Teho: {LTBLUE}{POWER}{BLACK} Maks. nopeus: {LTBLUE}{VELOCITY} {BLACK}Maks. T.E.: {LTBLUE}{FORCE}
STR_885F_PROFIT_THIS_YEAR_LAST_YEAR :{BLACK}Tuotto tänä vuonna: {LTBLUE}{CURRENCY} (viime vuonna: {CURRENCY}) STR_885F_PROFIT_THIS_YEAR_LAST_YEAR :{BLACK}Tuotto tänä vuonna: {LTBLUE}{CURRENCY} (viime vuonna: {CURRENCY})
STR_8860_RELIABILITY_BREAKDOWNS :{BLACK}Luotettavuus: {LTBLUE}{COMMA}% {BLACK}Hajoamisia viime huollon jälkeen: {LTBLUE}{COMMA} STR_8860_RELIABILITY_BREAKDOWNS :{BLACK}Luotettavuus: {LTBLUE}{COMMA}% {BLACK}Hajoamisia viime huollon jälkeen: {LTBLUE}{COMMA}
STR_8861_STOPPED :{RED}Pysäytetty STR_8861_STOPPED :{RED}Pysäytetty
@@ -3172,6 +3173,7 @@ STR_BROKEN_VEHICLE_LENGTH :{WHITE}Yhtiöll
STR_NEWGRF_BUGGY :{WHITE}NewGRF '{0:STRING}' antaa väärää tietoa. STR_NEWGRF_BUGGY :{WHITE}NewGRF '{0:STRING}' antaa väärää tietoa.
STR_NEWGRF_BUGGY_ARTICULATED_CARGO :{WHITE}Rahti/uudelleensovitus tiedot kulkuneuvolle '{1:ENGINE}' ovat eri kuin ostolistassa rakentamisen jälkeen. Tämä voi aiheuttaa, että kulkuneuvon korvaus ei uudelleensovita oikein. STR_NEWGRF_BUGGY_ARTICULATED_CARGO :{WHITE}Rahti/uudelleensovitus tiedot kulkuneuvolle '{1:ENGINE}' ovat eri kuin ostolistassa rakentamisen jälkeen. Tämä voi aiheuttaa, että kulkuneuvon korvaus ei uudelleensovita oikein.
STR_NEWGRF_BUGGY_ENDLESS_PRODUCTION_CALLBACK :{WHITE}'{1:STRING}' aiheutti ikuisen silmukan tuotannon callback-funktiossa.
STR_LOADGAME_REMOVED_TRAMS :{WHITE}Peli tallennettiin versiossa, joka ei tue raitiovaunuja. Kaikki raitiovaunut on poistettu. STR_LOADGAME_REMOVED_TRAMS :{WHITE}Peli tallennettiin versiossa, joka ei tue raitiovaunuja. Kaikki raitiovaunut on poistettu.
@@ -3242,7 +3244,7 @@ STR_REPLACE_HELP_REPLACE_INFO_TAB :{BLACK}Näyttä
STR_REPLACE_REMOVE_WAGON :{BLACK}Vaunun poisto: {ORANGE}{SKIP}{STRING} STR_REPLACE_REMOVE_WAGON :{BLACK}Vaunun poisto: {ORANGE}{SKIP}{STRING}
STR_REPLACE_REMOVE_WAGON_HELP :{BLACK}Automaattikorvaus pitäköön junan vakiopituisena poistamalla vaunuja (edestä) jos veturi pidentäisi junaa. STR_REPLACE_REMOVE_WAGON_HELP :{BLACK}Automaattikorvaus pitäköön junan vakiopituisena poistamalla vaunuja (edestä) jos veturi pidentäisi junaa.
STR_REPLACE_ENGINE_WAGON_SELECT :{BLACK}Korvataan: {ORANGE}{SKIP}{SKIP}{STRING} STR_REPLACE_ENGINE_WAGON_SELECT :{BLACK}Korvataan: {ORANGE}{SKIP}{SKIP}{STRING}
STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK} ERIKOIS OMINAISUUS {} Vaihda toiseen korvausikkunaan. {} Vaunu vaihdetaan ainoastaan jos uusi vaunu kuljettaa samaa rahtia. Tämä tarkistetaan, joka kerta kun vaunu korvataan. STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK}Vaihda toiseen korvausikkunaan
STR_RAIL_VEHICLE_NOT_AVAILABLE :{WHITE}Juna tai vaunu ei ole saatavilla STR_RAIL_VEHICLE_NOT_AVAILABLE :{WHITE}Juna tai vaunu ei ole saatavilla
STR_ROAD_VEHICLE_NOT_AVAILABLE :{WHITE}Ajoneuvo ei ole saatavilla STR_ROAD_VEHICLE_NOT_AVAILABLE :{WHITE}Ajoneuvo ei ole saatavilla
STR_SHIP_NOT_AVAILABLE :{WHITE}Laiva ei ole saatavilla STR_SHIP_NOT_AVAILABLE :{WHITE}Laiva ei ole saatavilla

View File

@@ -786,7 +786,7 @@ STR_TOWNNAME_SWEDISH :Suédois
STR_TOWNNAME_DUTCH :Hollandais STR_TOWNNAME_DUTCH :Hollandais
STR_TOWNNAME_FINNISH :Finlandais STR_TOWNNAME_FINNISH :Finlandais
STR_TOWNNAME_POLISH :Polonais STR_TOWNNAME_POLISH :Polonais
STR_TOWNNAME_SLOVAKISH :Slovaques STR_TOWNNAME_SLOVAK :Slovaques
STR_TOWNNAME_NORWEGIAN :Norvégiens STR_TOWNNAME_NORWEGIAN :Norvégiens
STR_TOWNNAME_HUNGARIAN :Hongrois STR_TOWNNAME_HUNGARIAN :Hongrois
STR_TOWNNAME_AUSTRIAN :Autrichiens STR_TOWNNAME_AUSTRIAN :Autrichiens
@@ -819,7 +819,7 @@ STR_CURR_ITL :Lire Italienne
STR_CURR_NLG :Florint Hollandais (NLG) STR_CURR_NLG :Florint Hollandais (NLG)
STR_CURR_NOK :Courronne Norvégienne (NOK) STR_CURR_NOK :Courronne Norvégienne (NOK)
STR_CURR_PLN :Nouv. Zloty Polonais (PLN) STR_CURR_PLN :Nouv. Zloty Polonais (PLN)
STR_CURR_ROL :Leu Roumain (ROL) STR_CURR_RON :Leu Roumain (RON)
STR_CURR_RUR :Rouble Russe (RUR) STR_CURR_RUR :Rouble Russe (RUR)
STR_CURR_SIT :Tolar Slovénien (SIT) STR_CURR_SIT :Tolar Slovénien (SIT)
STR_CURR_SEK :Couronne Suédoise (SEK) STR_CURR_SEK :Couronne Suédoise (SEK)
@@ -2242,6 +2242,7 @@ STR_704A_SELECT_FEMALE_FACES :{BLACK}Choisir
STR_704B_GENERATE_RANDOM_NEW_FACE :{BLACK}Génère un visage au hasard STR_704B_GENERATE_RANDOM_NEW_FACE :{BLACK}Génère un visage au hasard
STR_704C_KEY :{BLACK}Légende STR_704C_KEY :{BLACK}Légende
STR_704D_SHOW_KEY_TO_GRAPHS :{BLACK}Affiche la légende STR_704D_SHOW_KEY_TO_GRAPHS :{BLACK}Affiche la légende
STR_SHOW_DETAILED_PERFORMANCE_RATINGS :{BLACK}Afficher le détail de l'évaluation de la performance
STR_704E_KEY_TO_COMPANY_GRAPHS :{WHITE}Légende du graphique des compagnies STR_704E_KEY_TO_COMPANY_GRAPHS :{WHITE}Légende du graphique des compagnies
STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY :{BLACK}Cliquer ici pour activer/désactiver l'affichage de la compagnie STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY :{BLACK}Cliquer ici pour activer/désactiver l'affichage de la compagnie
STR_7050_UNITS_OF_CARGO_DELIVERED :{WHITE}Cargaison livrée STR_7050_UNITS_OF_CARGO_DELIVERED :{WHITE}Cargaison livrée
@@ -3173,6 +3174,7 @@ STR_BROKEN_VEHICLE_LENGTH :{WHITE}Le train
STR_NEWGRF_BUGGY :{WHITE}Le NewGRF '{0:STRING}' fournit une information incorrecte. STR_NEWGRF_BUGGY :{WHITE}Le NewGRF '{0:STRING}' fournit une information incorrecte.
STR_NEWGRF_BUGGY_ARTICULATED_CARGO :{WHITE}L'information de cargaison/réaménagement pour '{1:ENGINE}' après sa construction est différent de la liste d'achat. Cela peut causer un échec de réaménagement lors de l'auto-renouvèlement/remplacement. STR_NEWGRF_BUGGY_ARTICULATED_CARGO :{WHITE}L'information de cargaison/réaménagement pour '{1:ENGINE}' après sa construction est différent de la liste d'achat. Cela peut causer un échec de réaménagement lors de l'auto-renouvèlement/remplacement.
STR_NEWGRF_BUGGY_ENDLESS_PRODUCTION_CALLBACK :{WHITE}'{1:STRING}' a causé une boucle infinie dans la fonction de rappel de production.
STR_LOADGAME_REMOVED_TRAMS :{WHITE}Partie sauvegardée avec une version sans support des tramways. Tous les tramways ont été supprimés. STR_LOADGAME_REMOVED_TRAMS :{WHITE}Partie sauvegardée avec une version sans support des tramways. Tous les tramways ont été supprimés.
@@ -3243,7 +3245,7 @@ STR_REPLACE_HELP_REPLACE_INFO_TAB :{BLACK}Ceci aff
STR_REPLACE_REMOVE_WAGON :{BLACK}Retrait de wagon: {ORANGE}{SKIP}{STRING} STR_REPLACE_REMOVE_WAGON :{BLACK}Retrait de wagon: {ORANGE}{SKIP}{STRING}
STR_REPLACE_REMOVE_WAGON_HELP :{BLACK}L'autoremplacement conserve la même longueur du train en retirant des wagons (d'abord par la tête), si le remplacement fait en sorte que le train ne devienne plus long. STR_REPLACE_REMOVE_WAGON_HELP :{BLACK}L'autoremplacement conserve la même longueur du train en retirant des wagons (d'abord par la tête), si le remplacement fait en sorte que le train ne devienne plus long.
STR_REPLACE_ENGINE_WAGON_SELECT :{BLACK}En Remplacement: {ORANGE}{SKIP}{SKIP}{STRING} STR_REPLACE_ENGINE_WAGON_SELECT :{BLACK}En Remplacement: {ORANGE}{SKIP}{SKIP}{STRING}
STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK} FONCTION EXPERIMENTALE {}Passer à la fenêtre de remplacement de locomotives/wagons.{}Le remplacement de wagon ne se fera que si le nouveau wagon peut être réaménagé pour le même type de cargaison que l'ancien. Ceci est vérifié pour chaque wagon lors du remplacement. STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK}Passer à la fenêtre de remplacement de locomotives/wagons
STR_RAIL_VEHICLE_NOT_AVAILABLE :{WHITE}Véhicule non disponible STR_RAIL_VEHICLE_NOT_AVAILABLE :{WHITE}Véhicule non disponible
STR_ROAD_VEHICLE_NOT_AVAILABLE :{WHITE}Véhicule non disponible STR_ROAD_VEHICLE_NOT_AVAILABLE :{WHITE}Véhicule non disponible
STR_SHIP_NOT_AVAILABLE :{WHITE}Navire non disponible STR_SHIP_NOT_AVAILABLE :{WHITE}Navire non disponible

View File

@@ -656,7 +656,6 @@ STR_FULL :Completo
STR_02BA :{SILVER}- - {COMPANY} - - STR_02BA :{SILVER}- - {COMPANY} - -
STR_02BB_TOWN_DIRECTORY :Directorio de cidades STR_02BB_TOWN_DIRECTORY :Directorio de cidades
STR_02BD :{BLACK}{STRING} STR_02BD :{BLACK}{STRING}
STR_02BF_CUSTOM :Persoalizado
STR_CHECKMARK :{CHECKMARK} STR_CHECKMARK :{CHECKMARK}
############ range for menu starts ############ range for menu starts
@@ -773,7 +772,7 @@ STR_TOWNNAME_SWEDISH :Sueco
STR_TOWNNAME_DUTCH :Holandés STR_TOWNNAME_DUTCH :Holandés
STR_TOWNNAME_FINNISH :Finés STR_TOWNNAME_FINNISH :Finés
STR_TOWNNAME_POLISH :Polaco STR_TOWNNAME_POLISH :Polaco
STR_TOWNNAME_SLOVAKISH :Eslovaco STR_TOWNNAME_SLOVAK :Eslovaco
STR_TOWNNAME_NORWEGIAN :Noruegués STR_TOWNNAME_NORWEGIAN :Noruegués
STR_TOWNNAME_HUNGARIAN :Húngaro STR_TOWNNAME_HUNGARIAN :Húngaro
STR_TOWNNAME_AUSTRIAN :Austríaco STR_TOWNNAME_AUSTRIAN :Austríaco
@@ -806,7 +805,7 @@ STR_CURR_ITL :Lira Italiana (
STR_CURR_NLG :Florín Holandés (NLG) STR_CURR_NLG :Florín Holandés (NLG)
STR_CURR_NOK :Corona Norueguesa (NOK) STR_CURR_NOK :Corona Norueguesa (NOK)
STR_CURR_PLN :Zloty Polaco (PLN) STR_CURR_PLN :Zloty Polaco (PLN)
STR_CURR_ROL :Leu Rumano (ROL) STR_CURR_RON :Leu Rumano (RON)
STR_CURR_RUR :Rublo Ruso (RUR) STR_CURR_RUR :Rublo Ruso (RUR)
STR_CURR_SIT :Tolar Esloveno (SIT) STR_CURR_SIT :Tolar Esloveno (SIT)
STR_CURR_SEK :Corona Sueca (SEK) STR_CURR_SEK :Corona Sueca (SEK)
@@ -892,6 +891,8 @@ STR_CONFIG_SETTING_AUTOSLOPE :{LTBLUE}Permiti
STR_CONFIG_SETTING_CATCHMENT :{LTBLUE}Permitir áreas de captura máis realistas: {ORANGE}{STRING} STR_CONFIG_SETTING_CATCHMENT :{LTBLUE}Permitir áreas de captura máis realistas: {ORANGE}{STRING}
STR_CONFIG_SETTING_EXTRADYNAMITE :{LTBLUE}Permiti-la eliminación de máis estradas, etc... das cidades: {ORANGE}{STRING} STR_CONFIG_SETTING_EXTRADYNAMITE :{LTBLUE}Permiti-la eliminación de máis estradas, etc... das cidades: {ORANGE}{STRING}
STR_CONFIG_SETTING_MAMMOTHTRAINS :{LTBLUE}Permiti-la construcción de trens moi largos: {ORANGE}{STRING} STR_CONFIG_SETTING_MAMMOTHTRAINS :{LTBLUE}Permiti-la construcción de trens moi largos: {ORANGE}{STRING}
STR_CONFIG_SETTING_TRAIN_ACCELERATION_MODEL_ORIGINAL :Orixinal
STR_CONFIG_SETTING_TRAIN_ACCELERATION_MODEL_REALISTIC :Realista
STR_CONFIG_SETTING_FORBID_90_DEG :{LTBLUE}Prohibir os trens e os barcos xirar 90 graos: {ORANGE}{STRING} {LTBLUE} (require NPF) STR_CONFIG_SETTING_FORBID_90_DEG :{LTBLUE}Prohibir os trens e os barcos xirar 90 graos: {ORANGE}{STRING} {LTBLUE} (require NPF)
STR_CONFIG_SETTING_JOINSTATIONS :{LTBLUE}Xunta-las estacións construídas xuntas: {ORANGE}{STRING} STR_CONFIG_SETTING_JOINSTATIONS :{LTBLUE}Xunta-las estacións construídas xuntas: {ORANGE}{STRING}
STR_CONFIG_SETTING_IMPROVEDLOAD :{LTBLUE}Usa-lo algoritmo de carga mellorado: {ORANGE}{STRING} STR_CONFIG_SETTING_IMPROVEDLOAD :{LTBLUE}Usa-lo algoritmo de carga mellorado: {ORANGE}{STRING}
@@ -929,6 +930,7 @@ STR_CONFIG_SETTING_ORDER_REVIEW :{LTBLUE}Revisa-
STR_CONFIG_SETTING_ORDER_REVIEW_OFF :non STR_CONFIG_SETTING_ORDER_REVIEW_OFF :non
STR_CONFIG_SETTING_ORDER_REVIEW_EXDEPOT :si, pero exclúe os vehículos parados STR_CONFIG_SETTING_ORDER_REVIEW_EXDEPOT :si, pero exclúe os vehículos parados
STR_CONFIG_SETTING_ORDER_REVIEW_ON :de tódolos vehículos STR_CONFIG_SETTING_ORDER_REVIEW_ON :de tódolos vehículos
STR_CONFIG_SETTING_WARN_INCOME_LESS :{LTBLUE}Avisar se os ingresos dun vehículo son negativos: {ORANGE}{STRING}
STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :{LTBLUE}Os vehículos nunca caducan: {ORANGE}{STRING} STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :{LTBLUE}Os vehículos nunca caducan: {ORANGE}{STRING}
STR_CONFIG_SETTING_AUTORENEW_VEHICLE :{LTBLUE}Autorenova-los vehículos cando envellezan: {ORANGE}{STRING} STR_CONFIG_SETTING_AUTORENEW_VEHICLE :{LTBLUE}Autorenova-los vehículos cando envellezan: {ORANGE}{STRING}
STR_CONFIG_SETTING_AUTORENEW_MONTHS :{LTBLUE}Autorenovar {ORANGE}{STRING}{LTBLUE} meses antes/despois da idade máxima STR_CONFIG_SETTING_AUTORENEW_MONTHS :{LTBLUE}Autorenovar {ORANGE}{STRING}{LTBLUE} meses antes/despois da idade máxima
@@ -1016,6 +1018,7 @@ STR_CONFIG_SETTING_AI_BUILDS_AIRCRAFT :{LTBLUE}Deshabi
STR_CONFIG_SETTING_AI_BUILDS_SHIPS :{LTBLUE}Deshabilita-los barcos para o ordenador: {ORANGE}{STRING} STR_CONFIG_SETTING_AI_BUILDS_SHIPS :{LTBLUE}Deshabilita-los barcos para o ordenador: {ORANGE}{STRING}
STR_CONFIG_SETTING_SERVINT_ISPERCENT :{LTBLUE}Intervalos de servicio en porcentaxes: {ORANGE}{STRING}
STR_CONFIG_SETTING_SERVINT_TRAINS :{LTBLUE}Intervalo de servicio para os trens: {ORANGE}{STRING} días/% STR_CONFIG_SETTING_SERVINT_TRAINS :{LTBLUE}Intervalo de servicio para os trens: {ORANGE}{STRING} días/%
STR_CONFIG_SETTING_SERVINT_TRAINS_DISABLED :{LTBLUE}Intervalo de servicio para os trens: {ORANGE}deshabilitado STR_CONFIG_SETTING_SERVINT_TRAINS_DISABLED :{LTBLUE}Intervalo de servicio para os trens: {ORANGE}deshabilitado
STR_CONFIG_SETTING_SERVINT_ROADVEH :{LTBLUE}Intervalo de servicio para os vehículos de estrada: {ORANGE}{STRING} días/% STR_CONFIG_SETTING_SERVINT_ROADVEH :{LTBLUE}Intervalo de servicio para os vehículos de estrada: {ORANGE}{STRING} días/%
@@ -1049,6 +1052,7 @@ STR_CONFIG_SETTING_TOWN_LAYOUT_BETTER_ROADS :mellores estrad
STR_CONFIG_SETTING_TOWN_LAYOUT_2X2_GRID :Reixa 2x2 STR_CONFIG_SETTING_TOWN_LAYOUT_2X2_GRID :Reixa 2x2
STR_CONFIG_SETTING_TOWN_LAYOUT_3X3_GRID :Reixa 3x3 STR_CONFIG_SETTING_TOWN_LAYOUT_3X3_GRID :Reixa 3x3
STR_CONFIG_SETTING_TOWN_LAYOUT_RANDOM :aleatorio STR_CONFIG_SETTING_TOWN_LAYOUT_RANDOM :aleatorio
STR_CONFIG_SETTING_NOISE_LEVEL :{LTBLUE}Permitir á cidade controla-lo nivel de ruído dos aeroportos: {ORANGE}{STRING}
STR_CONFIG_SETTING_TOOLBAR_POS :{LTBLUE}Posición da barra de ferramentas principal: {ORANGE}{STRING} STR_CONFIG_SETTING_TOOLBAR_POS :{LTBLUE}Posición da barra de ferramentas principal: {ORANGE}{STRING}
STR_CONFIG_SETTING_TOOLBAR_POS_LEFT :Esquerda STR_CONFIG_SETTING_TOOLBAR_POS_LEFT :Esquerda
@@ -1073,12 +1077,12 @@ STR_CONFIG_SETTING_VEHICLES :{ORANGE}Vehícu
STR_CONFIG_SETTING_STATIONS :{ORANGE}Estacións STR_CONFIG_SETTING_STATIONS :{ORANGE}Estacións
STR_CONFIG_SETTING_ECONOMY :{ORANGE}Economía STR_CONFIG_SETTING_ECONOMY :{ORANGE}Economía
STR_CONFIG_SETTING_AI :{ORANGE}Competidores STR_CONFIG_SETTING_AI :{ORANGE}Competidores
STR_CONFIG_SETTING_CONSTRUCTION_SIGNALS :{ORANGE}Sinais
STR_CONFIG_SETTING_VEHICLES_TRAINS :{ORANGE}Trens
STR_CONFIG_SETTING_ECONOMY_TOWNS :{ORANGE}Cidades
STR_CONFIG_SETTING_ECONOMY_INDUSTRIES :{ORANGE}Industrias
STR_CONFIG_SETTING_DISABLED :deshabilitado
STR_CONFIG_SETTING_INT32 :{NUM}
STR_CONFIG_SETTING_CURRENCY :{CURRENCY}
STR_CONFIG_SETTING_QUERY_CAPT :{WHITE}Cambia-lo valor
STR_CONFIG_SETTING_PATHFINDER_FOR_TRAINS :{LTBLUE}Buscador de ruta para trens: {ORANGE}{STRING} STR_CONFIG_SETTING_PATHFINDER_FOR_TRAINS :{LTBLUE}Buscador de ruta para trens: {ORANGE}{STRING}
STR_CONFIG_SETTING_PATHFINDER_FOR_TRAINS_NTP :NTP {RED}(Non recomendado) STR_CONFIG_SETTING_PATHFINDER_FOR_TRAINS_NTP :NTP {RED}(Non recomendado)
@@ -1093,6 +1097,12 @@ STR_CONFIG_SETTING_PATHFINDER_FOR_SHIPS_OPF :Orixinal {BLUE}
STR_CONFIG_SETTING_PATHFINDER_FOR_SHIPS_NPF :NPF STR_CONFIG_SETTING_PATHFINDER_FOR_SHIPS_NPF :NPF
STR_CONFIG_SETTING_PATHFINDER_FOR_SHIPS_YAPF :YAPF {RED}(Non recomendado) STR_CONFIG_SETTING_PATHFINDER_FOR_SHIPS_YAPF :YAPF {RED}(Non recomendado)
STR_CONFIG_SETTING_MAP_X :{LTBLUE}Tamaño X do mapa: {ORANGE}{STRING}
STR_CONFIG_SETTING_MAP_Y :{LTBLUE}Tamaño Y do mapa: {ORANGE}{STRING}
STR_CONFIG_SETTING_DISABLED :deshabilitado
STR_CONFIG_SETTING_INT32 :{NUM}
STR_CONFIG_SETTING_CURRENCY :{CURRENCY}
STR_CONFIG_SETTING_QUERY_CAPT :{WHITE}Cambia-lo valor
STR_TEMPERATE_LANDSCAPE :Escenario temperado STR_TEMPERATE_LANDSCAPE :Escenario temperado
STR_SUB_ARCTIC_LANDSCAPE :Escenario sub-ártico STR_SUB_ARCTIC_LANDSCAPE :Escenario sub-ártico
STR_SUB_TROPICAL_LANDSCAPE :Escenario sub-tropical STR_SUB_TROPICAL_LANDSCAPE :Escenario sub-tropical
@@ -1199,7 +1209,6 @@ STR_RAIL_REFIT_VEHICLE :{BLACK}Reaxusta
STR_RAIL_SELECT_TYPE_OF_CARGO_FOR :{BLACK}Selecciona o tipo de carga que levará o tren STR_RAIL_SELECT_TYPE_OF_CARGO_FOR :{BLACK}Selecciona o tipo de carga que levará o tren
STR_RAIL_REFIT_TO_CARRY_HIGHLIGHTED :{BLACK}Reaxusta-lo tren para o tipo de carga seleccionado STR_RAIL_REFIT_TO_CARRY_HIGHLIGHTED :{BLACK}Reaxusta-lo tren para o tipo de carga seleccionado
STR_RAIL_CAN_T_REFIT_VEHICLE :{WHITE}No se pode reaxusta-lo tren... STR_RAIL_CAN_T_REFIT_VEHICLE :{WHITE}No se pode reaxusta-lo tren...
STR_CONFIG_SETTING_SERVINT_ISPERCENT :{LTBLUE}Intervalos de servicio en porcentaxes: {ORANGE}{STRING}
STR_CONFIG_GAME_PRODUCTION :{WHITE}Cambiar producción STR_CONFIG_GAME_PRODUCTION :{WHITE}Cambiar producción
############ network gui strings ############ network gui strings
@@ -1444,8 +1453,6 @@ STR_NETWORK_SEND :{BLACK}Enviar
############ end network gui strings ############ end network gui strings
STR_CONFIG_SETTING_MAP_X :{LTBLUE}Tamaño X do mapa: {ORANGE}{STRING}
STR_CONFIG_SETTING_MAP_Y :{LTBLUE}Tamaño Y do mapa: {ORANGE}{STRING}
##### PNG-MAP-Loader ##### PNG-MAP-Loader
@@ -2048,6 +2055,7 @@ STR_NUM_VERY_LOW :Moi baixo
STR_6816_LOW :Baixo STR_6816_LOW :Baixo
STR_6817_NORMAL :Normal STR_6817_NORMAL :Normal
STR_6818_HIGH :Alto STR_6818_HIGH :Alto
STR_02BF_CUSTOM :Persoalizado
STR_6819 :{BLACK}{SMALLLEFTARROW} STR_6819 :{BLACK}{SMALLLEFTARROW}
STR_681A :{BLACK}{SMALLRIGHTARROW} STR_681A :{BLACK}{SMALLRIGHTARROW}
STR_681B_VERY_SLOW :Moi Lento STR_681B_VERY_SLOW :Moi Lento
@@ -3146,7 +3154,7 @@ STR_REPLACE_HELP_REPLACE_INFO_TAB :{BLACK}Mostra q
STR_REPLACE_REMOVE_WAGON :{BLACK}Eliminar os vagóns: {ORANGE}{SKIP}{STRING} STR_REPLACE_REMOVE_WAGON :{BLACK}Eliminar os vagóns: {ORANGE}{SKIP}{STRING}
STR_REPLACE_REMOVE_WAGON_HELP :{BLACK}Facer que a autosubstitución manteña a lonxitude do tren quitando vagóns (empezando polo principio), se ó substituír a máquina o tren é máis longo. STR_REPLACE_REMOVE_WAGON_HELP :{BLACK}Facer que a autosubstitución manteña a lonxitude do tren quitando vagóns (empezando polo principio), se ó substituír a máquina o tren é máis longo.
STR_REPLACE_ENGINE_WAGON_SELECT :{BLACK}Substituíndo: {ORANGE}{SKIP}{SKIP}{STRING} STR_REPLACE_ENGINE_WAGON_SELECT :{BLACK}Substituíndo: {ORANGE}{SKIP}{SKIP}{STRING}
STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK} FUNCIÓN EXPERIMENTAL {}Cambia entre as fiestras de substitución de máquinas e vagóns.{}A substitución de vagóns só se fará se o novo vagón pode reaxustarse para levar o mismo tipo de carga que o antigo. Compróbase para cada vagón cando se fai a substitución. STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK}Cambia entre as fiestras de substitución de máquinas e vagóns
STR_RAIL_VEHICLE_NOT_AVAILABLE :{WHITE}O vehículo non está dispoñible STR_RAIL_VEHICLE_NOT_AVAILABLE :{WHITE}O vehículo non está dispoñible
STR_ROAD_VEHICLE_NOT_AVAILABLE :{WHITE}O vehículo non está dispoñible STR_ROAD_VEHICLE_NOT_AVAILABLE :{WHITE}O vehículo non está dispoñible
STR_SHIP_NOT_AVAILABLE :{WHITE}O barco non está dispoñible STR_SHIP_NOT_AVAILABLE :{WHITE}O barco non está dispoñible
@@ -3447,7 +3455,6 @@ STR_OSK_KEYBOARD_LAYOUT_CAPS :~!@#$%^&*()_+|Q
######## ########
############ town controlled noise level ############ town controlled noise level
STR_CONFIG_SETTING_NOISE_LEVEL :{LTBLUE}Permitir á cidade controla-lo nivel de ruído dos aeroportos: {ORANGE}{STRING}
STR_NOISE_IN_TOWN :{BLACK}Límite de ruído na cidade: {ORANGE}{COMMA}{BLACK} máx: {ORANGE}{COMMA} STR_NOISE_IN_TOWN :{BLACK}Límite de ruído na cidade: {ORANGE}{COMMA}{BLACK} máx: {ORANGE}{COMMA}
STR_STATION_NOISE :{BLACK}Ruído xerado: {GOLD}{COMMA} STR_STATION_NOISE :{BLACK}Ruído xerado: {GOLD}{COMMA}
######## ########

View File

@@ -170,7 +170,7 @@ STR_00C6 :{SILVER}{CROSS}
STR_00C7_QUIT :{WHITE}Verlassen STR_00C7_QUIT :{WHITE}Verlassen
STR_00C8_YES :{BLACK}Ja STR_00C8_YES :{BLACK}Ja
STR_00C9_NO :{BLACK}Nein STR_00C9_NO :{BLACK}Nein
STR_00CA_ARE_YOU_SURE_YOU_WANT_TO :{YELLOW}Das Spiel wirklich abbrechen und zu {STRING} zurückkehren? STR_00CA_ARE_YOU_SURE_YOU_WANT_TO :{YELLOW}OpenTTD wirklich beenden und zu {}{STRING} zurückkehren?
STR_00CB_1 :{BLACK}1 STR_00CB_1 :{BLACK}1
STR_00CC_2 :{BLACK}2 STR_00CC_2 :{BLACK}2
STR_00CD_3 :{BLACK}3 STR_00CD_3 :{BLACK}3
@@ -315,7 +315,7 @@ STR_015B_OPENTTD :{WHITE}OpenTTD
STR_015C_SAVE_GAME :Spiel speichern STR_015C_SAVE_GAME :Spiel speichern
STR_015D_LOAD_GAME :Spiel laden STR_015D_LOAD_GAME :Spiel laden
STR_015E_QUIT_GAME :Spiel beenden STR_015E_QUIT_GAME :Spiel beenden
STR_015F_QUIT :Beenden STR_015F_QUIT :OpenTTD beenden
STR_ABANDON_GAME_QUERY :{YELLOW}Das Spiel wirklich beenden? STR_ABANDON_GAME_QUERY :{YELLOW}Das Spiel wirklich beenden?
STR_0161_QUIT_GAME :{WHITE}Spiel beenden STR_0161_QUIT_GAME :{WHITE}Spiel beenden
STR_SORT_ORDER_TIP :{BLACK}Sortierreihenfolge auswählen (absteigend/aufsteigend) STR_SORT_ORDER_TIP :{BLACK}Sortierreihenfolge auswählen (absteigend/aufsteigend)
@@ -590,7 +590,7 @@ STR_0229_DECREASE_SIZE_OF_LAND_AREA :{BLACK}Landflä
STR_022A_GENERATE_RANDOM_LAND :{BLACK}Erzeuge Land durch Zufall STR_022A_GENERATE_RANDOM_LAND :{BLACK}Erzeuge Land durch Zufall
STR_022B_RESET_LANDSCAPE :{BLACK}Landfläche wiederherstellen STR_022B_RESET_LANDSCAPE :{BLACK}Landfläche wiederherstellen
STR_022C_RESET_LANDSCAPE :{WHITE}Landfläche wiederherstellen STR_022C_RESET_LANDSCAPE :{WHITE}Landfläche wiederherstellen
STR_RESET_LANDSCAPE_TOOLTIP :{BLACK}Das gesamte Spielereigentum von der Karte entfernen STR_RESET_LANDSCAPE_TOOLTIP :{BLACK}Das gesamte Spielereigentum vom Spielfeld entfernen
STR_RESET_LANDSCAPE_CONFIRMATION_TEXT :{WHITE}Soll wirklich das gesamte Spielereigentum entfernt werden? STR_RESET_LANDSCAPE_CONFIRMATION_TEXT :{WHITE}Soll wirklich das gesamte Spielereigentum entfernt werden?
STR_022E_LANDSCAPE_GENERATION :{BLACK}Landfläche erzeugen STR_022E_LANDSCAPE_GENERATION :{BLACK}Landfläche erzeugen
STR_022F_TOWN_GENERATION :{BLACK}Stadt gründen STR_022F_TOWN_GENERATION :{BLACK}Stadt gründen
@@ -622,7 +622,7 @@ STR_028C_PLACE_ROCKY_AREAS_ON_LANDSCAPE :{BLACK}Felsige
STR_028D_PLACE_LIGHTHOUSE :{BLACK}Leuchtturm errichten STR_028D_PLACE_LIGHTHOUSE :{BLACK}Leuchtturm errichten
STR_028E_PLACE_TRANSMITTER :{BLACK}Sendemast errichten STR_028E_PLACE_TRANSMITTER :{BLACK}Sendemast errichten
STR_028F_DEFINE_DESERT_AREA :{BLACK}Wüstengebiet anlegen{}Zum Entfernen Strg-Taste drücken STR_028F_DEFINE_DESERT_AREA :{BLACK}Wüstengebiet anlegen{}Zum Entfernen Strg-Taste drücken
STR_CREATE_LAKE :{BLACK}Wasser erzeugen.{}Baut einen Kanal. Bei gedrückter Strg-Taste wird ein Wasserfeld erzeugt, das umliegendes Land flutet. STR_CREATE_LAKE :{BLACK}Wasser erzeugen.{}Baut einen Kanal. Auf Meereshöhe wird bei gedrückter Strg-Taste ein Wasserfeld erzeugt, welches umliegendes Land flutet.
STR_CREATE_RIVER :{BLACK}Flüsse platzieren. STR_CREATE_RIVER :{BLACK}Flüsse platzieren.
STR_0290_DELETE :{BLACK}Löschen STR_0290_DELETE :{BLACK}Löschen
STR_0291_DELETE_THIS_TOWN_COMPLETELY :{BLACK}Diese Stadt vollständig löschen STR_0291_DELETE_THIS_TOWN_COMPLETELY :{BLACK}Diese Stadt vollständig löschen
@@ -786,7 +786,7 @@ STR_TOWNNAME_SWEDISH :Schwedisch
STR_TOWNNAME_DUTCH :Niederländisch STR_TOWNNAME_DUTCH :Niederländisch
STR_TOWNNAME_FINNISH :Finnisch STR_TOWNNAME_FINNISH :Finnisch
STR_TOWNNAME_POLISH :Polnisch STR_TOWNNAME_POLISH :Polnisch
STR_TOWNNAME_SLOVAKISH :Slovakisch STR_TOWNNAME_SLOVAK :Slovakisch
STR_TOWNNAME_NORWEGIAN :Norwegisch STR_TOWNNAME_NORWEGIAN :Norwegisch
STR_TOWNNAME_HUNGARIAN :Ungarisch STR_TOWNNAME_HUNGARIAN :Ungarisch
STR_TOWNNAME_AUSTRIAN :Österreichisch STR_TOWNNAME_AUSTRIAN :Österreichisch
@@ -819,7 +819,7 @@ STR_CURR_ITL :Italienische Li
STR_CURR_NLG :Niederländ. Gulden (NLG) STR_CURR_NLG :Niederländ. Gulden (NLG)
STR_CURR_NOK :Norwegische Kronen (NOK) STR_CURR_NOK :Norwegische Kronen (NOK)
STR_CURR_PLN :Polnische Zloty (PLN) STR_CURR_PLN :Polnische Zloty (PLN)
STR_CURR_ROL :Rumänische Lei (ROL) STR_CURR_RON :Rumänische Lei (RON)
STR_CURR_RUR :Russische Rubel (RUR) STR_CURR_RUR :Russische Rubel (RUR)
STR_CURR_SIT :Slovenische Taler (SIT) STR_CURR_SIT :Slovenische Taler (SIT)
STR_CURR_SEK :Schwedische Kronen (SEK) STR_CURR_SEK :Schwedische Kronen (SEK)
@@ -848,8 +848,8 @@ STR_OPTIONS_SCREENSHOT_FORMAT_TIP :{BLACK}Format a
STR_OPTIONS_BASE_GRF :{BLACK}Standard Grafik STR_OPTIONS_BASE_GRF :{BLACK}Standard Grafik
STR_OPTIONS_BASE_GRF_CBO :{BLACK}{SKIP}{SKIP}{SKIP}{SKIP}{SKIP}{SKIP}{SKIP}{SKIP}{SKIP}{STRING} STR_OPTIONS_BASE_GRF_CBO :{BLACK}{SKIP}{SKIP}{SKIP}{SKIP}{SKIP}{SKIP}{SKIP}{SKIP}{SKIP}{STRING}
STR_OPTIONS_BASE_GRF_TIP :{BLACK}Wähle die Grafik, die du nutzen möchtest
STR_OPTIONS_BASE_GRF_TIP :{BLACK}Zu benutzendes Set an Basisgrafiken auswählen
STR_AUTOSAVE_1_MONTH :Jeden Monat STR_AUTOSAVE_1_MONTH :Jeden Monat
STR_AUTOSAVE_FAILED :{WHITE}Autosicherung fehlgeschlagen STR_AUTOSAVE_FAILED :{WHITE}Autosicherung fehlgeschlagen
@@ -987,10 +987,10 @@ STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :rechts
STR_CONFIG_SETTING_SE_FLAT_WORLD_HEIGHT :{LTBLUE}Höhenstufe des Spielfeldes in einem flachen Szenario: {ORANGE}{STRING} STR_CONFIG_SETTING_SE_FLAT_WORLD_HEIGHT :{LTBLUE}Höhenstufe des Spielfeldes in einem flachen Szenario: {ORANGE}{STRING}
STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES :{LTBLUE}Landschaftsbau am Spielfeldrand erlauben: {ORANGE}{STRING} STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES :{LTBLUE}Landschaftsbau am Spielfeldrand erlauben: {ORANGE}{STRING}
STR_CONFIG_SETTING_EDGES_NOT_EMPTY :{WHITE} Eines oder mehrere Felder am nördlichen Spielfeldrand sind nicht leer STR_CONFIG_SETTING_EDGES_NOT_EMPTY :{WHITE} Eines oder mehrere Felder am nördlichen Spielfeldrand sind nicht leer
STR_CONFIG_SETTING_EDGES_NOT_WATER :{WHITE} Eines oder mehrere Felder am Spielfeldrand sind nicht Wasser STR_CONFIG_SETTING_EDGES_NOT_WATER :{WHITE}Eines oder mehrere Felder am Spielfeldrand sind nicht Wasser
STR_CONFIG_SETTING_STATION_SPREAD :{LTBLUE}Maximale Stationsgröße: {ORANGE}{STRING} {RED}(Hoher Wert verlangsamt das Spiel) STR_CONFIG_SETTING_STATION_SPREAD :{LTBLUE}Maximale Stationsgröße: {ORANGE}{STRING} {RED}(Hoher Wert verlangsamt das Spiel)
STR_CONFIG_SETTING_SERVICEATHELIPAD :{LTBLUE}Hubschrauber auf Helipads automatisch warten: {ORANGE}{STRING} STR_CONFIG_SETTING_SERVICEATHELIPAD :{LTBLUE}Hubschrauber auf Landeplatz automatisch warten: {ORANGE}{STRING}
STR_CONFIG_SETTING_LINK_TERRAFORM_TOOLBAR :{LTBLUE}Werkzeugleiste für Landschaftsbau an die Bauwerkzeuge binden: {ORANGE}{STRING} STR_CONFIG_SETTING_LINK_TERRAFORM_TOOLBAR :{LTBLUE}Werkzeugleiste für Landschaftsbau an die Bauwerkzeuge binden: {ORANGE}{STRING}
STR_CONFIG_SETTING_REVERSE_SCROLLING :{LTBLUE}Bei Rechtsklick Ansicht in die Gegenrichtung verschieben: {ORANGE}{STRING} STR_CONFIG_SETTING_REVERSE_SCROLLING :{LTBLUE}Bei Rechtsklick Ansicht in die Gegenrichtung verschieben: {ORANGE}{STRING}
STR_CONFIG_SETTING_SMOOTH_SCROLLING :{LTBLUE}Optimierten Bildlauf in den Ansichten verwenden: {ORANGE}{STRING} STR_CONFIG_SETTING_SMOOTH_SCROLLING :{LTBLUE}Optimierten Bildlauf in den Ansichten verwenden: {ORANGE}{STRING}
@@ -1198,7 +1198,7 @@ STR_CANT_REMOVE_TRAIN_WAYPOINT :{WHITE}Wegpunkt
STR_BUILD_AUTORAIL_TIP :{BLACK}Gleise legen mit automatischer Wahl der Ausrichtung STR_BUILD_AUTORAIL_TIP :{BLACK}Gleise legen mit automatischer Wahl der Ausrichtung
STR_NO_TOWN_IN_SCENARIO :{WHITE}...in diesem Szenario gibt es keine Stadt STR_NO_TOWN_IN_SCENARIO :{WHITE}...in diesem Szenario gibt es keine Stadt
STR_COULD_NOT_CREATE_TOWN :{WHITE}Kartengenerierung wurde abgebrochen... {} ...kein brauchbarer Platz für eine Stadt gefunden STR_COULD_NOT_CREATE_TOWN :{WHITE}Spielfeldgenerierung wurde abgebrochen... {} ...kein brauchbarer Platz für eine Stadt gefunden
STR_MANY_RANDOM_TOWNS :{BLACK}Viele zufällige Städte STR_MANY_RANDOM_TOWNS :{BLACK}Viele zufällige Städte
STR_RANDOM_TOWNS_TIP :{BLACK}Das Spielfeld mit zufällig platzierten Städten füllen STR_RANDOM_TOWNS_TIP :{BLACK}Das Spielfeld mit zufällig platzierten Städten füllen
@@ -1589,21 +1589,21 @@ STR_1020_SELECT_RAILROAD_DEPOT_ORIENTATIO :{BLACK}Ausricht
STR_1021_RAILROAD_TRACK :Gleis STR_1021_RAILROAD_TRACK :Gleis
STR_1023_RAILROAD_TRAIN_DEPOT :Zugdepot STR_1023_RAILROAD_TRAIN_DEPOT :Zugdepot
STR_1024_AREA_IS_OWNED_BY_ANOTHER :{WHITE}...Gelände gehört jemand anderem STR_1024_AREA_IS_OWNED_BY_ANOTHER :{WHITE}...Gelände gehört jemand anderem
STR_RAILROAD_TRACK_WITH_NORMAL_SIGNALS :Gleis mit normalen Signalen STR_RAILROAD_TRACK_WITH_NORMAL_SIGNALS :Gleis mit Blocksignalen
STR_RAILROAD_TRACK_WITH_PRESIGNALS :Gleis mit Vorsignalen STR_RAILROAD_TRACK_WITH_PRESIGNALS :Gleis mit Einfahrsignalen
STR_RAILROAD_TRACK_WITH_EXITSIGNALS :Gleis mit Ausfahrsignalen STR_RAILROAD_TRACK_WITH_EXITSIGNALS :Gleis mit Ausfahrsignalen
STR_RAILROAD_TRACK_WITH_COMBOSIGNALS :Gleis mit Kombinationssignalen STR_RAILROAD_TRACK_WITH_COMBOSIGNALS :Gleis mit Kombinationssignalen
STR_RAILROAD_TRACK_WITH_PBSSIGNALS :Gleis mit Pfadsignal STR_RAILROAD_TRACK_WITH_PBSSIGNALS :Gleis mit Pfadsignal
STR_RAILROAD_TRACK_WITH_NOENTRYSIGNALS :Gleis mit einseitigem Pfadsignal STR_RAILROAD_TRACK_WITH_NOENTRYSIGNALS :Gleis mit einseitigem Pfadsignal
STR_RAILROAD_TRACK_WITH_NORMAL_PRESIGNALS :Gleis mit Vor- und Hauptsignalen STR_RAILROAD_TRACK_WITH_NORMAL_PRESIGNALS :Gleis mit Block- und Einfahrsignalen
STR_RAILROAD_TRACK_WITH_NORMAL_EXITSIGNALS :Gleis mit Haupt- und Ausfahrsignalen STR_RAILROAD_TRACK_WITH_NORMAL_EXITSIGNALS :Gleis mit Block- und Ausfahrsignalen
STR_RAILROAD_TRACK_WITH_NORMAL_COMBOSIGNALS :Gleis mit normalen und Kombinationssignalen STR_RAILROAD_TRACK_WITH_NORMAL_COMBOSIGNALS :Gleis mit Block- und Kombinationssignalen
STR_RAILROAD_TRACK_WITH_NORMAL_PBSSIGNALS :Gleis mit normalem Signal und Pfadsignal STR_RAILROAD_TRACK_WITH_NORMAL_PBSSIGNALS :Gleis mit Blocksignal und Pfadsignal
STR_RAILROAD_TRACK_WITH_NORMAL_NOENTRYSIGNALS :Gleis mit normalem Signal und einseitigem Pfadsignal STR_RAILROAD_TRACK_WITH_NORMAL_NOENTRYSIGNALS :Gleis mit Blocksignal und einseitigem Pfadsignal
STR_RAILROAD_TRACK_WITH_PRE_EXITSIGNALS :Gleis mit Vor- und Ausfahrsignalen STR_RAILROAD_TRACK_WITH_PRE_EXITSIGNALS :Gleis mit Ein- und Ausfahrsignalen
STR_RAILROAD_TRACK_WITH_PRE_COMBOSIGNALS :Gleis mit Vor- und Kombinationssignalen STR_RAILROAD_TRACK_WITH_PRE_COMBOSIGNALS :Gleis mit Einfahr- und Kombinationssignalen
STR_RAILROAD_TRACK_WITH_PRE_PBSSIGNALS :Gleis mit Vor- und Pfadsignal STR_RAILROAD_TRACK_WITH_PRE_PBSSIGNALS :Gleis mit Einfahr- und Pfadsignal
STR_RAILROAD_TRACK_WITH_PRE_NOENTRYSIGNALS :Gleis mit Vor- und einseitigem Pfadsignal STR_RAILROAD_TRACK_WITH_PRE_NOENTRYSIGNALS :Gleis mit Einfahr- und einseitigem Pfadsignal
STR_RAILROAD_TRACK_WITH_EXIT_COMBOSIGNALS :Gleis mit Ausfahr- und Kombinationssignalen STR_RAILROAD_TRACK_WITH_EXIT_COMBOSIGNALS :Gleis mit Ausfahr- und Kombinationssignalen
STR_RAILROAD_TRACK_WITH_EXIT_PBSSIGNALS :Gleis mit Ausfahr- und Pfadsignal STR_RAILROAD_TRACK_WITH_EXIT_PBSSIGNALS :Gleis mit Ausfahr- und Pfadsignal
STR_RAILROAD_TRACK_WITH_EXIT_NOENTRYSIGNALS :Gleis mit Ausfahr- und einseitigem Pfadsignal STR_RAILROAD_TRACK_WITH_EXIT_NOENTRYSIGNALS :Gleis mit Ausfahr- und einseitigem Pfadsignal
@@ -1914,7 +1914,7 @@ STR_GAME_SAVELOAD_ERROR_BROKEN_SAVEGAME :Spielstandsdate
STR_GAME_SAVELOAD_ERROR_TOO_NEW_SAVEGAME :Spielstand wurde mit neuerer Version erstellt STR_GAME_SAVELOAD_ERROR_TOO_NEW_SAVEGAME :Spielstand wurde mit neuerer Version erstellt
STR_GAME_SAVELOAD_ERROR_FILE_NOT_READABLE :Datei kann nicht gelesen werden STR_GAME_SAVELOAD_ERROR_FILE_NOT_READABLE :Datei kann nicht gelesen werden
STR_GAME_SAVELOAD_ERROR_FILE_NOT_WRITEABLE :Datei kann nicht geschrieben werden STR_GAME_SAVELOAD_ERROR_FILE_NOT_WRITEABLE :Datei kann nicht geschrieben werden
STR_GAME_SAVELOAD_ERROR_DATA_INTEGRITY_CHECK_FAILED :Prüfung der Dateningetrität fehlgeschlagen STR_GAME_SAVELOAD_ERROR_DATA_INTEGRITY_CHECK_FAILED :Prüfung der Datenintegrität fehlgeschlagen
STR_400A_LIST_OF_DRIVES_DIRECTORIES :{BLACK}Liste der Laufwerke, Verzeichnisse und gespeicherten Spiele STR_400A_LIST_OF_DRIVES_DIRECTORIES :{BLACK}Liste der Laufwerke, Verzeichnisse und gespeicherten Spiele
STR_400B_CURRENTLY_SELECTED_NAME :{BLACK}Ausgewählter Spielname STR_400B_CURRENTLY_SELECTED_NAME :{BLACK}Ausgewählter Spielname
STR_400C_DELETE_THE_CURRENTLY_SELECTED :{BLACK}Lösche gewählten Spielstand STR_400C_DELETE_THE_CURRENTLY_SELECTED :{BLACK}Lösche gewählten Spielstand
@@ -1981,7 +1981,7 @@ STR_482A_PRODUCTION_LAST_MONTH :{BLACK}Produkti
STR_482B_TRANSPORTED :{YELLOW}{CARGO}{STRING}{BLACK} ({COMMA}% befördert) STR_482B_TRANSPORTED :{YELLOW}{CARGO}{STRING}{BLACK} ({COMMA}% befördert)
STR_482C_CENTER_THE_MAIN_VIEW_ON :{BLACK}Hauptansicht zum Industriegebiet scrollen STR_482C_CENTER_THE_MAIN_VIEW_ON :{BLACK}Hauptansicht zum Industriegebiet scrollen
STR_482D_NEW_UNDER_CONSTRUCTION :{BLACK}{BIGFONT}Neue{G r "" s ""} {STRING} {G 0 wird wird wird werden} nahe {TOWN} gebaut! STR_482D_NEW_UNDER_CONSTRUCTION :{BLACK}{BIGFONT}Neue{G r "" s ""} {STRING} {G 0 wird wird wird werden} nahe {TOWN} gebaut!
STR_482E_NEW_BEING_PLANTED_NEAR :{BLACK}{BIGFONT}Neue{G r "" s ""} {STRING} {G 0 wird wird wird werden} nahe {TOWN} aufgeforstet! STR_482E_NEW_BEING_PLANTED_NEAR :{BLACK}{BIGFONT}Neue{G r "" s ""} {STRING} {G 0 wird wird wird werden} nahe {TOWN} angepflanzt!
STR_482F_COST :{BLACK}Kosten: {YELLOW}{CURRENCY} STR_482F_COST :{BLACK}Kosten: {YELLOW}{CURRENCY}
STR_4830_CAN_T_CONSTRUCT_THIS_INDUSTRY :{WHITE}Industrie kann hier nicht gebaut werden... STR_4830_CAN_T_CONSTRUCT_THIS_INDUSTRY :{WHITE}Industrie kann hier nicht gebaut werden...
STR_4831_FOREST_CAN_ONLY_BE_PLANTED :{WHITE}...Wald kann nur oberhalb der Schneegrenze gepflanzt werden STR_4831_FOREST_CAN_ONLY_BE_PLANTED :{WHITE}...Wald kann nur oberhalb der Schneegrenze gepflanzt werden
@@ -2000,7 +2000,7 @@ STR_INDUSTRY_PROD_GODOWN :{BLACK}{BIGFONT
##id 0x5000 ##id 0x5000
STR_5003_ANOTHER_TUNNEL_IN_THE_WAY :{WHITE}Ein anderer Tunnel ist im Weg STR_5003_ANOTHER_TUNNEL_IN_THE_WAY :{WHITE}Ein anderer Tunnel ist im Weg
STR_TUNNEL_THROUGH_MAP_BORDER :{WHITE}Tunnel würde außerhalb der Karte enden STR_TUNNEL_THROUGH_MAP_BORDER :{WHITE}Tunnel würde außerhalb des Spielfelds enden
STR_5005_UNABLE_TO_EXCAVATE_LAND :{WHITE}Land kann am anderen Ende des Tunnels nicht angehoben werden STR_5005_UNABLE_TO_EXCAVATE_LAND :{WHITE}Land kann am anderen Ende des Tunnels nicht angehoben werden
STR_5006_MUST_DEMOLISH_TUNNEL_FIRST :{WHITE}Der Tunnel muss zuerst abgerissen werden STR_5006_MUST_DEMOLISH_TUNNEL_FIRST :{WHITE}Der Tunnel muss zuerst abgerissen werden
STR_5007_MUST_DEMOLISH_BRIDGE_FIRST :{WHITE}Die Brücke muss erst abgerissen werden STR_5007_MUST_DEMOLISH_BRIDGE_FIRST :{WHITE}Die Brücke muss erst abgerissen werden
@@ -2242,6 +2242,7 @@ STR_704A_SELECT_FEMALE_FACES :{BLACK}Wähle w
STR_704B_GENERATE_RANDOM_NEW_FACE :{BLACK}Wähle zufälliges neues Gesicht STR_704B_GENERATE_RANDOM_NEW_FACE :{BLACK}Wähle zufälliges neues Gesicht
STR_704C_KEY :{BLACK}Legende STR_704C_KEY :{BLACK}Legende
STR_704D_SHOW_KEY_TO_GRAPHS :{BLACK}Legende des Diagramms STR_704D_SHOW_KEY_TO_GRAPHS :{BLACK}Legende des Diagramms
STR_SHOW_DETAILED_PERFORMANCE_RATINGS :{BLACK}Zeige detailierte Leistungsaufschlüsselung
STR_704E_KEY_TO_COMPANY_GRAPHS :{WHITE}Legende des Firmendiagramms STR_704E_KEY_TO_COMPANY_GRAPHS :{WHITE}Legende des Firmendiagramms
STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY :{BLACK}Graph der Firma ein-/ausblenden STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY :{BLACK}Graph der Firma ein-/ausblenden
STR_7050_UNITS_OF_CARGO_DELIVERED :{WHITE}Beförderte Frachteinheiten STR_7050_UNITS_OF_CARGO_DELIVERED :{WHITE}Beförderte Frachteinheiten
@@ -2336,8 +2337,8 @@ STR_LIVERY_SHIP_TIP :{BLACK}Schiffsf
STR_LIVERY_AIRCRAFT_TIP :{BLACK}Flugzeugfarbschema anzeigen STR_LIVERY_AIRCRAFT_TIP :{BLACK}Flugzeugfarbschema anzeigen
STR_LIVERY_PRIMARY_TIP :{BLACK}Wähle die Hauptfarbe für das gewählte Schema aus. STR_LIVERY_PRIMARY_TIP :{BLACK}Wähle die Hauptfarbe für das gewählte Schema aus.
STR_LIVERY_SECONDARY_TIP :{BLACK}Wähle die Nebenfarbe für das ausgewählte Schema. STR_LIVERY_SECONDARY_TIP :{BLACK}Wähle die Nebenfarbe für das ausgewählte Schema.
STR_LIVERY_PANEL_TIP :{BLACK}Wähle ein Farbschema oder mehrere Farbschemen(mit Strg+Klick) aus, um diese zu ändern. Klicke in das Kästchen um ein Schema zu aktivieren.
STR_LIVERY_PANEL_TIP :{BLACK}Wähle ein Farbschema oder mehrere Farbschemata mittels Strg+Klick aus, um diese zu ändern. Klicke in das Kästchen um ein Schema zu aktivieren.
##id 0x8000 ##id 0x8000
STR_8000_KIRBY_PAUL_TANK_STEAM :Kirby Paul Tank (Dampf) STR_8000_KIRBY_PAUL_TANK_STEAM :Kirby Paul Tank (Dampf)
STR_8001_MJS_250_DIESEL :MJS 250 (Diesel) STR_8001_MJS_250_DIESEL :MJS 250 (Diesel)
@@ -2613,7 +2614,7 @@ STR_8804 :{SETX 10}{COMMA
STR_8805 :{RIGHTARROW}{SETX 10}{COMMA}: {SETX 30}{STRING} {STRING} STR_8805 :{RIGHTARROW}{SETX 10}{COMMA}: {SETX 30}{STRING} {STRING}
STR_ORDER_NON_STOP :{BLACK}ohne Halt STR_ORDER_NON_STOP :{BLACK}ohne Halt
STR_ORDER_GO_TO :Fahre zu STR_ORDER_GO_TO :Fahre zu
STR_ORDER_GO_NON_STOP_TO :Fahre ohne Halt nach STR_ORDER_GO_NON_STOP_TO :Fahre ohne Halt zu
STR_ORDER_GO_VIA :Fahre über STR_ORDER_GO_VIA :Fahre über
STR_ORDER_GO_NON_STOP_VIA :Fahre ohne Halt über STR_ORDER_GO_NON_STOP_VIA :Fahre ohne Halt über
STR_ORDER_TOGGLE_FULL_LOAD :{BLACK}Vollladen einer Fracht STR_ORDER_TOGGLE_FULL_LOAD :{BLACK}Vollladen einer Fracht
@@ -2650,17 +2651,17 @@ STR_ORDER_GO_TO_NEAREST_DEPOT :Fahre zum näch
STR_ORDER_GO_TO_NEAREST_HANGAR :Fahre zum nächsten Hangar STR_ORDER_GO_TO_NEAREST_HANGAR :Fahre zum nächsten Hangar
STR_ORDER_NEAREST_DEPOT :dem nächsten STR_ORDER_NEAREST_DEPOT :dem nächsten
STR_ORDER_NEAREST_HANGAR :dem nächsten Hangar STR_ORDER_NEAREST_HANGAR :dem nächsten Hangar
STR_ORDER_SERVICE_AT :Wartung in STR_ORDER_SERVICE_AT :Falls nötig, Wartung in
STR_ORDER_SERVICE_NON_STOP_AT :Fahre ohne Halt zur Wartung in STR_ORDER_SERVICE_NON_STOP_AT :Fahre ohne Halt Zwecks Wartung zu
STR_ORDER_TRAIN_DEPOT :Zugdepot STR_ORDER_TRAIN_DEPOT :{G=n}Zugdepot
STR_ORDER_ROAD_DEPOT :Straßenfahrzeugdepot STR_ORDER_ROAD_DEPOT :{G=n}Straßenfahrzeugdepot
STR_ORDER_SHIP_DEPOT :Werft STR_ORDER_SHIP_DEPOT :{G=w}Werft
STR_GO_TO_DEPOT :{STRING} {TOWN} {STRING} STR_GO_TO_DEPOT :{STRING}{G 2 "m" "r" "m" "den"} {2:STRING} {1:TOWN}
STR_GO_TO_NEAREST_DEPOT :{STRING} {STRING} {STRING} STR_GO_TO_NEAREST_DEPOT :{STRING}{G 2 m r m "den"} {STRING} {STRING}
STR_GO_TO_HANGAR :{STRING} {STATION} Hangar STR_GO_TO_HANGAR :{STRING} {STATION} Hangar
STR_ORDER_DROP_GO_ALWAYS_DEPOT :Gehe immer STR_ORDER_DROP_GO_ALWAYS_DEPOT :Gehe immer
STR_ORDER_DROP_SERVICE_DEPOT :Wartung wenn benötigt STR_ORDER_DROP_SERVICE_DEPOT :Wartung wenn nötig
STR_ORDER_DROP_HALT_DEPOT :Stopp STR_ORDER_DROP_HALT_DEPOT :Stopp
STR_ORDER_CONDITIONAL :Bedingter Sprung zu Auftrag STR_ORDER_CONDITIONAL :Bedingter Sprung zu Auftrag
@@ -2803,7 +2804,7 @@ STR_VEHICLE_INFO_COST_WEIGHT_SPEED_POWER :{BLACK}Kosten:
STR_885C_BROKEN_DOWN :{RED}Panne STR_885C_BROKEN_DOWN :{RED}Panne
STR_885D_AGE_RUNNING_COST_YR :{BLACK}Alter: {LTBLUE}{STRING}{BLACK} Betriebskosten: {LTBLUE}{CURRENCY} pro Jahr STR_885D_AGE_RUNNING_COST_YR :{BLACK}Alter: {LTBLUE}{STRING}{BLACK} Betriebskosten: {LTBLUE}{CURRENCY} pro Jahr
STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Gewicht: {LTBLUE}{WEIGHT_S} {BLACK}Leistung: {LTBLUE}{POWER}{BLACK} Höchstgeschwindigkeit: {LTBLUE}{VELOCITY} STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Gewicht: {LTBLUE}{WEIGHT_S} {BLACK}Leistung: {LTBLUE}{POWER}{BLACK} Höchstgeschwindigkeit: {LTBLUE}{VELOCITY}
STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Gewicht: {LTBLUE}{WEIGHT_S} {BLACK}Leistung: {LTBLUE}{POWER}{BLACK} Geschw.: {LTBLUE}{VELOCITY} {BLACK}Zugkraft: {LTBLUE}{FORCE} STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Gewicht: {LTBLUE}{WEIGHT_S} {BLACK}Leistung: {LTBLUE}{POWER}{BLACK} Max. Geschw.: {LTBLUE}{VELOCITY} {BLACK}Max. Zugkraft: {LTBLUE}{FORCE}
STR_885F_PROFIT_THIS_YEAR_LAST_YEAR :{BLACK}Gewinn lfd. Jahr: {LTBLUE}{CURRENCY} (vergangenes Jahr: {CURRENCY}) STR_885F_PROFIT_THIS_YEAR_LAST_YEAR :{BLACK}Gewinn lfd. Jahr: {LTBLUE}{CURRENCY} (vergangenes Jahr: {CURRENCY})
STR_8860_RELIABILITY_BREAKDOWNS :{BLACK}Zuverlässigkeit: {LTBLUE}{COMMA}% {BLACK}Ausfälle seit letzter Wartung: {LTBLUE}{COMMA} STR_8860_RELIABILITY_BREAKDOWNS :{BLACK}Zuverlässigkeit: {LTBLUE}{COMMA}% {BLACK}Ausfälle seit letzter Wartung: {LTBLUE}{COMMA}
STR_8861_STOPPED :{RED}Angehalten STR_8861_STOPPED :{RED}Angehalten
@@ -3039,7 +3040,7 @@ STR_A031_CAN_T_NAME_AIRCRAFT :{WHITE}Flugzeug
STR_A032_NAME_AIRCRAFT :{BLACK}Flugzeugname STR_A032_NAME_AIRCRAFT :{BLACK}Flugzeugname
STR_A033_CITIZENS_CELEBRATE_FIRST :{BLACK}{BIGFONT}Die Einwohner feiern . . .{}Das erste Flugzeug startet von {STATION}! STR_A033_CITIZENS_CELEBRATE_FIRST :{BLACK}{BIGFONT}Die Einwohner feiern . . .{}Das erste Flugzeug startet von {STATION}!
STR_A034_PLANE_CRASH_DIE_IN_FIREBALL :{BLACK}{BIGFONT}Flugzeugabsturz!{}{COMMA} sterben in einem Feuerball auf {STATION} STR_A034_PLANE_CRASH_DIE_IN_FIREBALL :{BLACK}{BIGFONT}Flugzeugabsturz!{}{COMMA} sterben in einem Feuerball auf {STATION}
STR_PLANE_CRASH_OUT_OF_FUEL :{BLACK}{BIGFONT}Flugzeugabsturz!{}Dem Flugzeug ging der Treibstoff aus, {COMMA} sterben in einem Feuerball! STR_PLANE_CRASH_OUT_OF_FUEL :{BLACK}{BIGFONT}Flugzeugabsturz!{}Dem Flugzeug ging der Treibstoff aus, {COMMA} {P stirbt sterben} in einem Feuerball!
STR_A036 :{TINYFONT}{BLACK}{STATION} STR_A036 :{TINYFONT}{BLACK}{STATION}
STR_A037_RENAME :{BLACK}Umbenennen STR_A037_RENAME :{BLACK}Umbenennen
STR_A038_RENAME_AIRCRAFT_TYPE :{BLACK}Flugzeug umbenennen STR_A038_RENAME_AIRCRAFT_TYPE :{BLACK}Flugzeug umbenennen
@@ -3123,7 +3124,7 @@ STR_NEWGRF_ERROR_INVALID_PARAMETER :{SKIP}Falscher
STR_NEWGRF_ERROR_LOAD_BEFORE :{SKIP}{STRING} muss vor {STRING} geladen werden. STR_NEWGRF_ERROR_LOAD_BEFORE :{SKIP}{STRING} muss vor {STRING} geladen werden.
STR_NEWGRF_ERROR_LOAD_AFTER :{SKIP}{STRING} muss nach {STRING} geladen werden. STR_NEWGRF_ERROR_LOAD_AFTER :{SKIP}{STRING} muss nach {STRING} geladen werden.
STR_NEWGRF_ERROR_OTTD_VERSION_NUMBER :{SKIP}{STRING} Benötigt OpenTTD-Version {STRING} oder höher. STR_NEWGRF_ERROR_OTTD_VERSION_NUMBER :{SKIP}{STRING} Benötigt OpenTTD-Version {STRING} oder höher.
STR_NEWGRF_ERROR_AFTER_TRANSLATED_FILE :der GRF-Datei, die es übersetzen soll, STR_NEWGRF_ERROR_AFTER_TRANSLATED_FILE :der NewGRF-Datei, die es übersetzen soll,
STR_NEWGRF_ERROR_TOO_MANY_NEWGRFS_LOADED :Zu viele NewGRFs geladen. STR_NEWGRF_ERROR_TOO_MANY_NEWGRFS_LOADED :Zu viele NewGRFs geladen.
STR_NEWGRF_ERROR_STATIC_GRF_CAUSES_DESYNC :Das Laden von {STRING} als statisches NewGRF mit {STRING} könnte Synchronisationsfehler hervorrufen. STR_NEWGRF_ERROR_STATIC_GRF_CAUSES_DESYNC :Das Laden von {STRING} als statisches NewGRF mit {STRING} könnte Synchronisationsfehler hervorrufen.
STR_NEWGRF_ERROR_UNEXPECTED_SPRITE :Unerwartetes Sprite. STR_NEWGRF_ERROR_UNEXPECTED_SPRITE :Unerwartetes Sprite.
@@ -3156,14 +3157,14 @@ STR_NEWGRF_ADD_FILE :{BLACK}Zur Ausw
STR_NEWGRF_ADD_FILE_TIP :{BLACK}Ausgewählte NewGRF-Datei zur Konfiguration hinzufügen STR_NEWGRF_ADD_FILE_TIP :{BLACK}Ausgewählte NewGRF-Datei zur Konfiguration hinzufügen
STR_NEWGRF_RESCAN_FILES :{BLACK}Dateiliste aktualisieren STR_NEWGRF_RESCAN_FILES :{BLACK}Dateiliste aktualisieren
STR_NEWGRF_RESCAN_FILES_TIP :{BLACK}Liste der verfügbaren NewGRF-Dateien aktualisieren STR_NEWGRF_RESCAN_FILES_TIP :{BLACK}Liste der verfügbaren NewGRF-Dateien aktualisieren
STR_NEWGRF_DUPLICATE_GRFID :{WHITE}Datei kann nicht hinzugefügt werden: GRF-ID bereits vergeben STR_NEWGRF_DUPLICATE_GRFID :{WHITE}Datei kann nicht hinzugefügt werden: NewGRF-ID bereits vergeben
STR_NEWGRF_NOT_FOUND :{RED}Zugehörige Datei nicht gefunden STR_NEWGRF_NOT_FOUND :{RED}Zugehörige Datei nicht gefunden
STR_NEWGRF_DISABLED :{RED}Deaktiviert STR_NEWGRF_DISABLED :{RED}Deaktiviert
STR_NEWGRF_COMPATIBLE_LOADED :{ORANGE}Passende Datei nicht gefunden (kompatible GRF geladen) STR_NEWGRF_COMPATIBLE_LOADED :{ORANGE}Passende Datei nicht gefunden (kompatible NewGRF geladen)
STR_NEWGRF_COMPATIBLE_LOAD_WARNING :{WHITE}Kompatible GRF(s) für fehlende Dateien geladen STR_NEWGRF_COMPATIBLE_LOAD_WARNING :{WHITE}Kompatible NewGRF(s) für fehlende Dateien geladen
STR_NEWGRF_DISABLED_WARNING :{WHITE}Fehlende GRF-Dateien wurden deaktiviert. STR_NEWGRF_DISABLED_WARNING :{WHITE}Fehlende NewGRF-Dateien wurden deaktiviert.
STR_NEWGRF_UNPAUSE_WARNING_TITLE :{YELLOW}GRF-Datei(en) fehlen STR_NEWGRF_UNPAUSE_WARNING_TITLE :{YELLOW}GRF-Datei(en) fehlen
STR_NEWGRF_UNPAUSE_WARNING :{WHITE}Das Beenden der Pause kann OpenTTD zum Absturz bringen. Bitte keine Fehlerberichte bei auftretenden Fehlern senden. {}Pause wirklich beenden? STR_NEWGRF_UNPAUSE_WARNING :{WHITE}Das Beenden der Pause kann OpenTTD zum Absturz bringen. Bitte keine Fehlerberichte bei auftretenden Fehlern senden. {}Pause wirklich beenden?
@@ -3173,6 +3174,7 @@ STR_BROKEN_VEHICLE_LENGTH :{WHITE}Zug '{VE
STR_NEWGRF_BUGGY :{WHITE}NewGRF '{0:STRING}' liefert falsche Informationen STR_NEWGRF_BUGGY :{WHITE}NewGRF '{0:STRING}' liefert falsche Informationen
STR_NEWGRF_BUGGY_ARTICULATED_CARGO :{WHITE}Fracht / Ersetzungs - Informationen für '{1:ENGINE}' weichen von der Einkaufsliste nach dem Kauf ab. Das kann dazu führen, dass das Umrüsten beim autmatisches Ersetzen oder Erneuern nicht korrekt funktioniert STR_NEWGRF_BUGGY_ARTICULATED_CARGO :{WHITE}Fracht / Ersetzungs - Informationen für '{1:ENGINE}' weichen von der Einkaufsliste nach dem Kauf ab. Das kann dazu führen, dass das Umrüsten beim autmatisches Ersetzen oder Erneuern nicht korrekt funktioniert
STR_NEWGRF_BUGGY_ENDLESS_PRODUCTION_CALLBACK :{WHITE}'{1:STRING}' verursachte eine Endlosschleife im 'Production callback'.
STR_LOADGAME_REMOVED_TRAMS :{WHITE}Spiel wurde in einer Version ohne Straßenbahnunterstützung gespeichert. Alle Straßenbahnen wurden entfernt. STR_LOADGAME_REMOVED_TRAMS :{WHITE}Spiel wurde in einer Version ohne Straßenbahnunterstützung gespeichert. Alle Straßenbahnen wurden entfernt.
@@ -3227,7 +3229,7 @@ STR_DEPOT_AUTOREPLACE_AIRCRAFT_TIP :{BLACK}Alle Flu
STR_VEHICLE_LIST_TRAIN_DEPOT :{BLACK}{STRING} - {COMMA} {P Zug Züge} STR_VEHICLE_LIST_TRAIN_DEPOT :{BLACK}{STRING} - {COMMA} {P Zug Züge}
STR_VEHICLE_LIST_ROADVEH_DEPOT :{BLACK}{STRING} - {COMMA} Fahrzeug{P "" e} STR_VEHICLE_LIST_ROADVEH_DEPOT :{BLACK}{STRING} - {COMMA} Fahrzeug{P "" e}
STR_VEHICLE_LIST_SHIP_DEPOT :{BLACK}{STRING} - {COMMA} Schiff{P "" e} STR_VEHICLE_LIST_SHIP_DEPOT :{BLACK}{STRING} - {COMMA} Schiff{P "" e}
STR_VEHICLE_LIST_AIRCRAFT_DEPOT :{BLACK}{STRING} - {COMMA} Flugzeug STR_VEHICLE_LIST_AIRCRAFT_DEPOT :{BLACK}{STRING} - {COMMA} Flugzeug{P "" e}
STR_REPLACE_VEHICLES_WHITE :{WHITE}{STRING} ersetzen STR_REPLACE_VEHICLES_WHITE :{WHITE}{STRING} ersetzen
STR_REPLACE_VEHICLES_START :{BLACK}Fahrzeugersetzung an STR_REPLACE_VEHICLES_START :{BLACK}Fahrzeugersetzung an
@@ -3243,7 +3245,7 @@ STR_REPLACE_HELP_REPLACE_INFO_TAB :{BLACK}Hier wir
STR_REPLACE_REMOVE_WAGON :{BLACK}Waggon-Entfernung: {ORANGE}{SKIP}{STRING} STR_REPLACE_REMOVE_WAGON :{BLACK}Waggon-Entfernung: {ORANGE}{SKIP}{STRING}
STR_REPLACE_REMOVE_WAGON_HELP :{BLACK}Ursprüngliche Länge des Zugs beibehalten, indem (vorne beginnend) Waggons entfernt werden, falls das Ersetzen der Lokomotive den Zug verlängern würde. STR_REPLACE_REMOVE_WAGON_HELP :{BLACK}Ursprüngliche Länge des Zugs beibehalten, indem (vorne beginnend) Waggons entfernt werden, falls das Ersetzen der Lokomotive den Zug verlängern würde.
STR_REPLACE_ENGINE_WAGON_SELECT :{BLACK}Ersetzen: {ORANGE}{SKIP}{SKIP}{STRING} STR_REPLACE_ENGINE_WAGON_SELECT :{BLACK}Ersetzen: {ORANGE}{SKIP}{SKIP}{STRING}
STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK} EXPERIMENTELLE FUNKTION {}Umschalter für Lok- oder Waggonersetzung{}Waggons werden nur ersetzt, wenn der neue Waggon den selben Warentyp transportieren kann wie der alte. Dies wird beim Ersetzen eines jeden Waggons einzeln geprüft. STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK}Umschalter für Lok- oder Waggonersetzung
STR_RAIL_VEHICLE_NOT_AVAILABLE :{WHITE}Fahrzeug nicht verfügbar STR_RAIL_VEHICLE_NOT_AVAILABLE :{WHITE}Fahrzeug nicht verfügbar
STR_ROAD_VEHICLE_NOT_AVAILABLE :{WHITE}Fahrzeug nicht verfügbar STR_ROAD_VEHICLE_NOT_AVAILABLE :{WHITE}Fahrzeug nicht verfügbar
STR_SHIP_NOT_AVAILABLE :{WHITE}Schiff nicht verfügbar STR_SHIP_NOT_AVAILABLE :{WHITE}Schiff nicht verfügbar
@@ -3286,7 +3288,7 @@ STR_PURCHASE_INFO_SPEED_POWER :{BLACK}Geschw.:
STR_PURCHASE_INFO_SPEED :{BLACK}Geschwindigkeit: {GOLD}{VELOCITY} STR_PURCHASE_INFO_SPEED :{BLACK}Geschwindigkeit: {GOLD}{VELOCITY}
STR_PURCHASE_INFO_RUNNINGCOST :{BLACK}Betriebskosten: {GOLD}{CURRENCY} pro Jahr STR_PURCHASE_INFO_RUNNINGCOST :{BLACK}Betriebskosten: {GOLD}{CURRENCY} pro Jahr
STR_PURCHASE_INFO_CAPACITY :{BLACK}Kapazität: {GOLD}{CARGO} {STRING} STR_PURCHASE_INFO_CAPACITY :{BLACK}Kapazität: {GOLD}{CARGO} {STRING}
STR_PURCHASE_INFO_DESIGNED_LIFE :{BLACK}Entwurf: {GOLD}{NUM}{BLACK} Betriebsdauer: {GOLD}{COMMA} Jahre STR_PURCHASE_INFO_DESIGNED_LIFE :{BLACK}Entwurf: {GOLD}{NUM}{BLACK} Betriebsdauer: {GOLD}{COMMA} Jahr{P "" e}
STR_PURCHASE_INFO_RELIABILITY :{BLACK}Max. Zuverlässigkeit: {GOLD}{COMMA}% STR_PURCHASE_INFO_RELIABILITY :{BLACK}Max. Zuverlässigkeit: {GOLD}{COMMA}%
STR_PURCHASE_INFO_COST :{BLACK}Kosten: {GOLD}{CURRENCY} STR_PURCHASE_INFO_COST :{BLACK}Kosten: {GOLD}{CURRENCY}
STR_PURCHASE_INFO_WEIGHT_CWEIGHT :{BLACK}Gewicht: {GOLD}{WEIGHT_S} ({WEIGHT_S}) STR_PURCHASE_INFO_WEIGHT_CWEIGHT :{BLACK}Gewicht: {GOLD}{WEIGHT_S} ({WEIGHT_S})
@@ -3341,7 +3343,7 @@ STR_GENERATION_PROGRESS :{BLACK}{NUM} /
STR_WORLD_GENERATION :{BLACK}Spielfeldgenerierung STR_WORLD_GENERATION :{BLACK}Spielfeldgenerierung
STR_TREE_GENERATION :{BLACK}Baumerzeugung STR_TREE_GENERATION :{BLACK}Baumerzeugung
STR_UNMOVABLE_GENERATION :{BLACK}Unbewegliche Objekte werden erzeugt STR_UNMOVABLE_GENERATION :{BLACK}Unbewegliche Objekte werden erzeugt
STR_CLEARING_TILES :{BLACK}Leere, felsige Landschaft wird erzeugt STR_CLEARING_TILES :{BLACK}Raue, felsige Landschaft wird erzeugt
STR_SETTINGUP_GAME :{BLACK}Spiel wird vorbereitet STR_SETTINGUP_GAME :{BLACK}Spiel wird vorbereitet
STR_PREPARING_TILELOOP :{BLACK}Spielfeld wird belebt STR_PREPARING_TILELOOP :{BLACK}Spielfeld wird belebt
STR_PREPARING_GAME :{BLACK}Spiel wird vorbereitet STR_PREPARING_GAME :{BLACK}Spiel wird vorbereitet
@@ -3360,7 +3362,7 @@ STR_SMALLMAP_CENTER :{BLACK}Zusatzan
STR_SMALLMAP_INDUSTRY :{TINYFONT}{STRING} ({NUM}) STR_SMALLMAP_INDUSTRY :{TINYFONT}{STRING} ({NUM})
# Strings for map borders at game generation # Strings for map borders at game generation
STR_BORDER_TYPE :{BLACK}Kartenränder: STR_BORDER_TYPE :{BLACK}Spielfeldränder:
STR_NORTHWEST :{BLACK}Nordwesten STR_NORTHWEST :{BLACK}Nordwesten
STR_NORTHEAST :{BLACK}Nordosten STR_NORTHEAST :{BLACK}Nordosten
STR_SOUTHEAST :{BLACK}Südosten STR_SOUTHEAST :{BLACK}Südosten
@@ -3405,21 +3407,21 @@ STR_JUST_DATE_LONG :{DATE_LONG}
STR_JUST_DATE_ISO :{DATE_ISO} STR_JUST_DATE_ISO :{DATE_ISO}
######## ########
STR_FEEDER_CARGO_VALUE :{BLACK}Transfer-Kredit: {LTBLUE}{CURRENCY} STR_FEEDER_CARGO_VALUE :{BLACK}Transfer-Einnahmen: {LTBLUE}{CURRENCY}
STR_DRIVE_THROUGH_ERROR_ON_TOWN_ROAD :{WHITE}...diese Straße ist in kommunaler Trägerschaft STR_DRIVE_THROUGH_ERROR_ON_TOWN_ROAD :{WHITE}...diese Straße ist in kommunaler Trägerschaft
STR_DRIVE_THROUGH_ERROR_DIRECTION :{WHITE}...Straße verläuft in die falsche Richtung STR_DRIVE_THROUGH_ERROR_DIRECTION :{WHITE}...Straße verläuft in die falsche Richtung
STR_TRANSPARENCY_TOOLB :{WHITE}Transparenzoptionen STR_TRANSPARENCY_TOOLB :{WHITE}Transparenzeinstellungen
STR_TRANSPARENT_SIGNS_DESC :{BLACK}Transparenz für Stationsschilder einstellen STR_TRANSPARENT_SIGNS_DESC :{BLACK}Transparenz für Stationsschilder einstellen. Strg+Klick, um Umschalten zu verhindern.
STR_TRANSPARENT_TREES_DESC :{BLACK}Transparenz für Bäume einstellen STR_TRANSPARENT_TREES_DESC :{BLACK}Transparenz für Bäume einstellen. Strg+Klick, um Umschalten zu verhindern.
STR_TRANSPARENT_HOUSES_DESC :{BLACK}Transparenz für Häuser einstellen STR_TRANSPARENT_HOUSES_DESC :{BLACK}Transparenz für Häuser einstellen. Strg+Klick, um Umschalten zu verhindern.
STR_TRANSPARENT_INDUSTRIES_DESC :{BLACK}Transparenz für Industrien einstellen STR_TRANSPARENT_INDUSTRIES_DESC :{BLACK}Transparenz für Industrien einstellen. Strg+Klick, um Umschalten zu verhindern.
STR_TRANSPARENT_BUILDINGS_DESC :{BLACK}Transparenz für Gebäude wie Bahnhöfe, Depots, Wegpunkte und Oberleitung einstellen STR_TRANSPARENT_BUILDINGS_DESC :{BLACK}Transparenz für Gebäude wie Bahnhöfe, Depots und Wegpunkte einstellen. Strg+Klick, um Umschalten zu verhindern.
STR_TRANSPARENT_BRIDGES_DESC :{BLACK}Transparenz für Brücken einstellen STR_TRANSPARENT_BRIDGES_DESC :{BLACK}Transparenz für Brücken einstellen. Strg+Klick, um Umschalten zu verhindern.
STR_TRANSPARENT_STRUCTURES_DESC :{BLACK}Transparenz für Bauten wie Leuchttürme und Antennen, evtl. in der Zukunft auch für Sehenswürdigkeiten, einstellen STR_TRANSPARENT_STRUCTURES_DESC :{BLACK}Transparenz für Bauten wie Leuchttürme und Sendemasten einstellen. Strg+Klick, um Umschalten zu verhindern.
STR_TRANSPARENT_CATENARY_DESC :{BLACK}Transparente Oberleitungen. Strg+Klick zum feststellen. STR_TRANSPARENT_CATENARY_DESC :{BLACK}Transparenz für Oberleitungen. Strg+Klick, um Umschalten zu verhindern.
STR_TRANSPARENT_LOADING_DESC :{BLACK}Transparenz für Ladestandsanzeige einstellen STR_TRANSPARENT_LOADING_DESC :{BLACK}Transparenz für Ladestandsanzeige einstellen. Strg+Klick, um Umschalten zu verhindern.
STR_TRANSPARENT_INVISIBLE_DESC :{BLACK}Objekte unsichtbar machen anstelle von transparent STR_TRANSPARENT_INVISIBLE_DESC :{BLACK}Objekte unsichtbar statt transparent machen
STR_PERCENT_UP_SMALL :{TINYFONT}{WHITE}{NUM}%{UPARROW} STR_PERCENT_UP_SMALL :{TINYFONT}{WHITE}{NUM}%{UPARROW}
STR_PERCENT_UP :{WHITE}{NUM}%{UPARROW} STR_PERCENT_UP :{WHITE}{NUM}%{UPARROW}
@@ -3490,15 +3492,15 @@ STR_FACE_SIMPLE :{BLACK}Einfach
STR_FACE_SIMPLE_TIP :{BLACK}Einfache Wahl des Gesichts STR_FACE_SIMPLE_TIP :{BLACK}Einfache Wahl des Gesichts
STR_FACE_LOAD :{BLACK}Laden STR_FACE_LOAD :{BLACK}Laden
STR_FACE_LOAD_TIP :{BLACK}Lade bevorzugtes Gesicht STR_FACE_LOAD_TIP :{BLACK}Lade bevorzugtes Gesicht
STR_FACE_LOAD_DONE :{WHITE}Dein bevorzugtes Gesicht wurde aus der OpenTTD-Konfigurationsdatei geladen. STR_FACE_LOAD_DONE :{WHITE}Das bevorzugte Gesicht wurde aus der OpenTTD-Konfigurationsdatei geladen.
STR_FACE_FACECODE :{BLACK}Gesichtsnummer STR_FACE_FACECODE :{BLACK}Gesichtsnummer
STR_FACE_FACECODE_TIP :{BLACK}Betrachte / Setze Nummer des Gesichts STR_FACE_FACECODE_TIP :{BLACK}Nummer des Gesichts anschauen / setzen
STR_FACE_FACECODE_CAPTION :{WHITE}Betrachte / Setze Nummer des Gesichts STR_FACE_FACECODE_CAPTION :{WHITE}Nummer des Gesichts anschauen / setzen
STR_FACE_FACECODE_SET :{WHITE}Neue Nummer wurde für das Gesicht registriert. STR_FACE_FACECODE_SET :{WHITE}Neue Nummer wurde für das Gesicht registriert.
STR_FACE_FACECODE_ERR :{WHITE}Konnte keine Nummer für das Gesicht registrieren, sie muss zwischen 0 und 4.294.967.295 liegen! STR_FACE_FACECODE_ERR :{WHITE}Konnte keine Nummer für das Gesicht registrieren, sie muss zwischen 0 und 4.294.967.295 liegen!
STR_FACE_SAVE :{BLACK}Speichern STR_FACE_SAVE :{BLACK}Speichern
STR_FACE_SAVE_TIP :{BLACK}Speichere bevorzugtes Gesicht STR_FACE_SAVE_TIP :{BLACK}Speichere bevorzugtes Gesicht
STR_FACE_SAVE_DONE :{WHITE}Dieses Gesicht wird als bevorzugtes Gesicht in der OpenTTD-Konfigurationsdatei gespiechert. STR_FACE_SAVE_DONE :{WHITE}Dieses Gesicht wird als bevorzugtes Gesicht in der OpenTTD-Konfigurationsdatei gespeichert.
STR_FACE_EUROPEAN :{BLACK}Europäisch STR_FACE_EUROPEAN :{BLACK}Europäisch
STR_FACE_SELECT_EUROPEAN :{BLACK}Auswahl europäischer Gesichter STR_FACE_SELECT_EUROPEAN :{BLACK}Auswahl europäischer Gesichter
STR_FACE_AFRICAN :{BLACK}Afrikanisch STR_FACE_AFRICAN :{BLACK}Afrikanisch

View File

@@ -3,9 +3,9 @@
##isocode he_IL ##isocode he_IL
##winlangid 0x040d ##winlangid 0x040d
##grflangid 0x61 ##grflangid 0x61
##plural 0 ##plural 2
##gender m f
##textdir rtl ##textdir rtl
##gender m f
# #
@@ -259,6 +259,7 @@ STR_013C_CARGO :{BLACK}משא
STR_013D_INFORMATION :{BLACK}מידע STR_013D_INFORMATION :{BLACK}מידע
STR_013E_CAPACITIES :{BLACK}קיבולות STR_013E_CAPACITIES :{BLACK}קיבולות
STR_TOTAL_CARGO :{BLACK}סה"כ סחורה STR_TOTAL_CARGO :{BLACK}סה"כ סחורה
STR_013F_CAPACITY :{BLACK}קיבולת: {LTBLUE}{CARGO}{STRING}
STR_TOTAL_CAPACITY_TEXT :{BLACK}:סה"כ קיבולת הסחורה ברכבת זאת STR_TOTAL_CAPACITY_TEXT :{BLACK}:סה"כ קיבולת הסחורה ברכבת זאת
STR_TOTAL_CAPACITY :{LTBLUE}- {CARGO} ({SHORTCARGO}) STR_TOTAL_CAPACITY :{LTBLUE}- {CARGO} ({SHORTCARGO})
STR_TOTAL_CAPACITY_MULT :{LTBLUE}- {CARGO} ({SHORTCARGO}) (x{NUM}) STR_TOTAL_CAPACITY_MULT :{LTBLUE}- {CARGO} ({SHORTCARGO}) (x{NUM})
@@ -644,10 +645,14 @@ STR_02A0_ENDS_OF_BRIDGE_MUST_BOTH :{WHITE}...קצ
STR_02A1_SMALL :{BLACK}קטן STR_02A1_SMALL :{BLACK}קטן
STR_02A2_MEDIUM :{BLACK}בינוני STR_02A2_MEDIUM :{BLACK}בינוני
STR_02A3_LARGE :{BLACK}גדול STR_02A3_LARGE :{BLACK}גדול
STR_SELECT_TOWN_SIZE_RANDOM :{BLACK}אקראי
STR_FOUND_TOWN_CITY :{BLACK}עיר STR_FOUND_TOWN_CITY :{BLACK}עיר
STR_02A4_SELECT_TOWN_SIZE :{BLACK}בחר את גודל העיר STR_02A4_SELECT_TOWN_SIZE :{BLACK}בחר את גודל העיר
STR_02A5_TOWN_SIZE :{YELLOW}:גודל העיר STR_02A5_TOWN_SIZE :{YELLOW}:גודל העיר
STR_SELECT_LAYOUT_ORIGINAL :{BLACK}מקורי
STR_SELECT_LAYOUT_BETTER_ROADS :{BLACK}כבישים טובים יותר
STR_SELECT_LAYOUT_RANDOM :{BLACK}אקראי
STR_02B6 :{1:STRING} - {0:STRING} STR_02B6 :{1:STRING} - {0:STRING}
STR_02B7_SHOW_LAST_MESSAGE_OR_NEWS :{BLACK}הצג הודעה או חדשות אחרונים STR_02B7_SHOW_LAST_MESSAGE_OR_NEWS :{BLACK}הצג הודעה או חדשות אחרונים
@@ -657,7 +662,6 @@ STR_FULL :מלא
STR_02BA :{SILVER}- - {COMPANY} - - STR_02BA :{SILVER}- - {COMPANY} - -
STR_02BB_TOWN_DIRECTORY :מדריך הערים STR_02BB_TOWN_DIRECTORY :מדריך הערים
STR_02BD :{BLACK}{STRING} STR_02BD :{BLACK}{STRING}
STR_02BF_CUSTOM :אחר
STR_CHECKMARK :{CHECKMARK} STR_CHECKMARK :{CHECKMARK}
############ range for menu starts ############ range for menu starts
@@ -726,6 +730,7 @@ STR_02FA_EVERY_12_MONTHS :כל 12 חוד
STR_02FB_START_A_NEW_GAME :{BLACK}התחל משחק חדש STR_02FB_START_A_NEW_GAME :{BLACK}התחל משחק חדש
STR_02FC_LOAD_A_SAVED_GAME :{BLACK}טען משחק שמור STR_02FC_LOAD_A_SAVED_GAME :{BLACK}טען משחק שמור
STR_02FE_CREATE_A_CUSTOMIZED_GAME :{BLACK}צור מפה/סצנריו מותאמים אישית STR_02FE_CREATE_A_CUSTOMIZED_GAME :{BLACK}צור מפה/סצנריו מותאמים אישית
STR_0300_SELECT_MULTIPLAYER_GAME :{BLACK}התחל משחק מרובה משתתפים
STR_0301_DISPLAY_GAME_OPTIONS :{BLACK}הצג הגדרות משחק STR_0301_DISPLAY_GAME_OPTIONS :{BLACK}הצג הגדרות משחק
STR_0302_DISPLAY_DIFFICULTY_OPTIONS :{BLACK}הצג הגדרות קושי STR_0302_DISPLAY_DIFFICULTY_OPTIONS :{BLACK}הצג הגדרות קושי
STR_0303_START_A_NEW_GAME_USING :{BLACK}התחל משחק חדש עם סצנריו מותאם אישית STR_0303_START_A_NEW_GAME_USING :{BLACK}התחל משחק חדש עם סצנריו מותאם אישית
@@ -775,7 +780,7 @@ STR_TOWNNAME_SWEDISH :שוודית
STR_TOWNNAME_DUTCH :הולנדית STR_TOWNNAME_DUTCH :הולנדית
STR_TOWNNAME_FINNISH :פינית STR_TOWNNAME_FINNISH :פינית
STR_TOWNNAME_POLISH :פולנית STR_TOWNNAME_POLISH :פולנית
STR_TOWNNAME_SLOVAKISH :סלובקית STR_TOWNNAME_SLOVAK :סלובקית
STR_TOWNNAME_NORWEGIAN :נורבגית STR_TOWNNAME_NORWEGIAN :נורבגית
STR_TOWNNAME_HUNGARIAN :הונגרית STR_TOWNNAME_HUNGARIAN :הונגרית
STR_TOWNNAME_AUSTRIAN :אוסטרית STR_TOWNNAME_AUSTRIAN :אוסטרית
@@ -808,7 +813,7 @@ STR_CURR_ITL :(ITL) לירה
STR_CURR_NLG :(NLG) גילדן הולנדי STR_CURR_NLG :(NLG) גילדן הולנדי
STR_CURR_NOK :(NOK) קרונה נורווגית STR_CURR_NOK :(NOK) קרונה נורווגית
STR_CURR_PLN :(PLN) זלוטי פולני STR_CURR_PLN :(PLN) זלוטי פולני
STR_CURR_ROL :(ROL) ליו רומני STR_CURR_RON :(RON) ליו רומני
STR_CURR_RUR :(RUR) רובל רוסי STR_CURR_RUR :(RUR) רובל רוסי
STR_CURR_SIT :(SIT) טולר סלובני STR_CURR_SIT :(SIT) טולר סלובני
STR_CURR_SEK :(SEK) קרונה שוודית STR_CURR_SEK :(SEK) קרונה שוודית
@@ -835,6 +840,10 @@ STR_OPTIONS_SCREENSHOT_FORMAT :{BLACK}פורמ
STR_OPTIONS_SCREENSHOT_FORMAT_CBO :{BLACK}{SKIP}{SKIP}{SKIP}{SKIP}{SKIP}{SKIP}{SKIP}{SKIP}{STRING} STR_OPTIONS_SCREENSHOT_FORMAT_CBO :{BLACK}{SKIP}{SKIP}{SKIP}{SKIP}{SKIP}{SKIP}{SKIP}{SKIP}{STRING}
STR_OPTIONS_SCREENSHOT_FORMAT_TIP :{BLACK}בחר את הפורמט של צילום המסך STR_OPTIONS_SCREENSHOT_FORMAT_TIP :{BLACK}בחר את הפורמט של צילום המסך
STR_OPTIONS_BASE_GRF :{BLACK}סט גרפיקה בסיסי
STR_OPTIONS_BASE_GRF_CBO :{BLACK}{SKIP}{SKIP}{SKIP}{SKIP}{SKIP}{SKIP}{SKIP}{SKIP}{SKIP}{STRING}
STR_OPTIONS_BASE_GRF_TIP :{BLACK}בחר בסט גרפיקה בסיסי לשימוש
STR_AUTOSAVE_1_MONTH :מידי חודש STR_AUTOSAVE_1_MONTH :מידי חודש
STR_AUTOSAVE_FAILED :{WHITE}שמירה אוטומטית נכשלה STR_AUTOSAVE_FAILED :{WHITE}שמירה אוטומטית נכשלה
@@ -934,6 +943,7 @@ STR_CONFIG_SETTING_PLANE_SPEED :{ORANGE}1 / {ST
STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :{ORANGE}{STRING}{LTBLUE} :אפשר מעבר דרך תחנות על כבישים בבעלות עירונית STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :{ORANGE}{STRING}{LTBLUE} :אפשר מעבר דרך תחנות על כבישים בבעלות עירונית
STR_CONFIG_SETTING_ADJACENT_STATIONS :{ORANGE}{STRING}{LTBLUE} :אפשר בניית תחנות בשכנות STR_CONFIG_SETTING_ADJACENT_STATIONS :{ORANGE}{STRING}{LTBLUE} :אפשר בניית תחנות בשכנות
STR_CONFIG_SETTING_DYNAMIC_ENGINES :{LTBLUE}Enable multiple NewGRF engine sets: {ORANGE}{STRING} STR_CONFIG_SETTING_DYNAMIC_ENGINES :{LTBLUE}Enable multiple NewGRF engine sets: {ORANGE}{STRING}
STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}החלפת הגדרה זו לא אפשרית כאשר יש רכבים
STR_CONFIG_SETTING_SMALL_AIRPORTS :{ORANGE}{STRING}{LTBLUE} :אפשר בניית שדות תעופה קטנים בכל עת STR_CONFIG_SETTING_SMALL_AIRPORTS :{ORANGE}{STRING}{LTBLUE} :אפשר בניית שדות תעופה קטנים בכל עת
@@ -944,6 +954,7 @@ STR_CONFIG_SETTING_ORDER_REVIEW_EXDEPOT :כן,למעט
STR_CONFIG_SETTING_ORDER_REVIEW_ON :עבור כל הרכבים STR_CONFIG_SETTING_ORDER_REVIEW_ON :עבור כל הרכבים
STR_CONFIG_SETTING_WARN_INCOME_LESS :{ORANGE}{STRING}{LTBLUE} :התרע על רכבים בעלי הכנסה שלילית STR_CONFIG_SETTING_WARN_INCOME_LESS :{ORANGE}{STRING}{LTBLUE} :התרע על רכבים בעלי הכנסה שלילית
STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :{ORANGE}{STRING}{LTBLUE} :בטל התיישנות כלי רכב STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES :{ORANGE}{STRING}{LTBLUE} :בטל התיישנות כלי רכב
STR_CONFIG_SETTING_AUTORENEW_VEHICLE :{LTBLUE}חידוש עצמי של רכב כשהוא נהיה ישן: {ORANGE}{STRING}
STR_CONFIG_SETTING_AUTORENEW_MONTHS :{LTBLUE}חידוש עצמי של כלי רכב כשהוא {ORANGE}{STRING}{LTBLUE} חודשים לפני\אחרי הגיל המקסימלי. STR_CONFIG_SETTING_AUTORENEW_MONTHS :{LTBLUE}חידוש עצמי של כלי רכב כשהוא {ORANGE}{STRING}{LTBLUE} חודשים לפני\אחרי הגיל המקסימלי.
STR_CONFIG_SETTING_AUTORENEW_MONEY :{LTBLUE}סכום הכסף המינימלי הנדרש בשביל חידוש: {ORANGE}{STRING} STR_CONFIG_SETTING_AUTORENEW_MONEY :{LTBLUE}סכום הכסף המינימלי הנדרש בשביל חידוש: {ORANGE}{STRING}
STR_CONFIG_SETTING_ERRMSG_DURATION :{LTBLUE}משך הצגת הודעת שגיאה: {ORANGE}{STRING} STR_CONFIG_SETTING_ERRMSG_DURATION :{LTBLUE}משך הצגת הודעת שגיאה: {ORANGE}{STRING}
@@ -1038,6 +1049,7 @@ STR_CONFIG_SETTING_AI_BUILDS_SHIPS :{ORANGE}{STRING
STR_CONFIG_SETTING_AI_IN_MULTIPLAYER :{ORANGE}{STRING}{LTBLUE} :אפשר שחקני מחשב במשחק רשת STR_CONFIG_SETTING_AI_IN_MULTIPLAYER :{ORANGE}{STRING}{LTBLUE} :אפשר שחקני מחשב במשחק רשת
STR_CONFIG_SETTING_AI_MAX_OPCODES :{LTBLUE}#opcodes before AI is suspended: {ORANGE}{STRING} STR_CONFIG_SETTING_AI_MAX_OPCODES :{LTBLUE}#opcodes before AI is suspended: {ORANGE}{STRING}
STR_CONFIG_SETTING_SERVINT_ISPERCENT :{ORANGE}{STRING}{LTBLUE} :הצג מרווחי טיפול באחוזים
STR_CONFIG_SETTING_SERVINT_TRAINS :{ORANGE}%/ימים {STRING}{LTBLUE} :מרווח בין טיפולים עבור רכבות STR_CONFIG_SETTING_SERVINT_TRAINS :{ORANGE}%/ימים {STRING}{LTBLUE} :מרווח בין טיפולים עבור רכבות
STR_CONFIG_SETTING_SERVINT_TRAINS_DISABLED :{ORANGE}מבוטל {LTBLUE} :מרווח בין טיפולים עבור רכבות STR_CONFIG_SETTING_SERVINT_TRAINS_DISABLED :{ORANGE}מבוטל {LTBLUE} :מרווח בין טיפולים עבור רכבות
STR_CONFIG_SETTING_SERVINT_ROADVEH :{ORANGE}%/ימים {STRING}{LTBLUE} :מרווח בין טיפולים עבור אוטובוסים/משאיות STR_CONFIG_SETTING_SERVINT_ROADVEH :{ORANGE}%/ימים {STRING}{LTBLUE} :מרווח בין טיפולים עבור אוטובוסים/משאיות
@@ -1052,6 +1064,7 @@ STR_CONFIG_SETTING_DISABLE_ELRAILS :{ORANGE}{STRING
STR_CONFIG_SETTING_COLOURED_NEWS_YEAR :{ORANGE}{STRING}{LTBLUE} :הצג חדשות צבעוניות החל משנת STR_CONFIG_SETTING_COLOURED_NEWS_YEAR :{ORANGE}{STRING}{LTBLUE} :הצג חדשות צבעוניות החל משנת
STR_CONFIG_SETTING_STARTING_YEAR :{ORANGE}{STRING}{LTBLUE} :שנת התחלה STR_CONFIG_SETTING_STARTING_YEAR :{ORANGE}{STRING}{LTBLUE} :שנת התחלה
STR_CONFIG_SETTING_ALLOW_SHARES :{LTBLUE}אפשר קניית מניות מחברות אחרות: {ORANGE}{STRING}
STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY :{ORANGE}משבצ(ו)ת {STRING}{LTBLUE} :בעת גרירה, הצג רמזורים בכל STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY :{ORANGE}משבצ(ו)ת {STRING}{LTBLUE} :בעת גרירה, הצג רמזורים בכל
STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE :{ORANGE}{STRING}{LTBLUE} :בנה רמזורים מכאניים לפני STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE :{ORANGE}{STRING}{LTBLUE} :בנה רמזורים מכאניים לפני
STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI :{ORANGE}{STRING}{LTBLUE} :אפשר ממשק ויזואלי עבור רמזורים STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI :{ORANGE}{STRING}{LTBLUE} :אפשר ממשק ויזואלי עבור רמזורים
@@ -1069,6 +1082,7 @@ STR_CONFIG_SETTING_TOWN_LAYOUT_BETTER_ROADS :כבישים מ
STR_CONFIG_SETTING_TOWN_LAYOUT_2X2_GRID :2x2 רשת STR_CONFIG_SETTING_TOWN_LAYOUT_2X2_GRID :2x2 רשת
STR_CONFIG_SETTING_TOWN_LAYOUT_3X3_GRID :3x3 רשת STR_CONFIG_SETTING_TOWN_LAYOUT_3X3_GRID :3x3 רשת
STR_CONFIG_SETTING_TOWN_LAYOUT_RANDOM :אקראית STR_CONFIG_SETTING_TOWN_LAYOUT_RANDOM :אקראית
STR_CONFIG_SETTING_NOISE_LEVEL :{ORANGE}{STRING}{LTBLUE} :אפשר שליטה של הערים ברמת הרעש בשדות תעופה
STR_CONFIG_SETTING_TOOLBAR_POS :{ORANGE}{STRING}{LTBLUE} :מיקום הסרגל העיקרי STR_CONFIG_SETTING_TOOLBAR_POS :{ORANGE}{STRING}{LTBLUE} :מיקום הסרגל העיקרי
STR_CONFIG_SETTING_TOOLBAR_POS_LEFT :שמאל STR_CONFIG_SETTING_TOOLBAR_POS_LEFT :שמאל
@@ -1106,12 +1120,6 @@ STR_CONFIG_SETTING_VEHICLES_TRAINS :{ORANGE}רכב
STR_CONFIG_SETTING_ECONOMY_TOWNS :{ORANGE}ערים STR_CONFIG_SETTING_ECONOMY_TOWNS :{ORANGE}ערים
STR_CONFIG_SETTING_ECONOMY_INDUSTRIES :{ORANGE}תעשיות STR_CONFIG_SETTING_ECONOMY_INDUSTRIES :{ORANGE}תעשיות
STR_CONFIG_SETTING_DISABLED :מבוטל
STR_CONFIG_SETTING_INT32 :{NUM}
STR_CONFIG_SETTING_CURRENCY :{CURRENCY}
STR_CONFIG_SETTING_QUERY_CAPT :{WHITE}שנה ערך
STR_CONFIG_SETTING_PATHFINDER_FOR_TRAINS :{ORANGE}{STRING}{LTBLUE} :אלגורתם איתור נתיב לרכבות STR_CONFIG_SETTING_PATHFINDER_FOR_TRAINS :{ORANGE}{STRING}{LTBLUE} :אלגורתם איתור נתיב לרכבות
STR_CONFIG_SETTING_PATHFINDER_FOR_TRAINS_NTP :NTP {RED}(לא מומלץ) STR_CONFIG_SETTING_PATHFINDER_FOR_TRAINS_NTP :NTP {RED}(לא מומלץ)
STR_CONFIG_SETTING_PATHFINDER_FOR_TRAINS_NPF :NPF STR_CONFIG_SETTING_PATHFINDER_FOR_TRAINS_NPF :NPF
@@ -1125,6 +1133,15 @@ STR_CONFIG_SETTING_PATHFINDER_FOR_SHIPS_OPF :{BLUE}(מקור
STR_CONFIG_SETTING_PATHFINDER_FOR_SHIPS_NPF :NPF STR_CONFIG_SETTING_PATHFINDER_FOR_SHIPS_NPF :NPF
STR_CONFIG_SETTING_PATHFINDER_FOR_SHIPS_YAPF :YAPF {RED}(לא מומלץ) STR_CONFIG_SETTING_PATHFINDER_FOR_SHIPS_YAPF :YAPF {RED}(לא מומלץ)
STR_CONFIG_SETTING_MAP_X :{LTBLUE}X-גודל המפה: {ORANGE}{STRING}
STR_CONFIG_SETTING_MAP_Y :{LTBLUE}Y-גודל המפה: {ORANGE}{STRING}
############ generic strings for settings
STR_CONFIG_SETTING_DISABLED :מבוטל
STR_CONFIG_SETTING_INT32 :{NUM}
STR_CONFIG_SETTING_CURRENCY :{CURRENCY}
STR_CONFIG_SETTING_QUERY_CAPT :{WHITE}שנה ערך
STR_TEMPERATE_LANDSCAPE :אקלים ממוזג STR_TEMPERATE_LANDSCAPE :אקלים ממוזג
STR_SUB_ARCTIC_LANDSCAPE :אקלים קר STR_SUB_ARCTIC_LANDSCAPE :אקלים קר
STR_SUB_TROPICAL_LANDSCAPE :אקלים טרופי STR_SUB_TROPICAL_LANDSCAPE :אקלים טרופי
@@ -1217,7 +1234,6 @@ STR_MESSAGE_HISTORY_TIP :{BLACK}רשימ
STR_MESSAGES_DISABLE_ALL :{BLACK}השתק את כולן STR_MESSAGES_DISABLE_ALL :{BLACK}השתק את כולן
STR_MESSAGES_ENABLE_ALL :{BLACK}הצג את כולן STR_MESSAGES_ENABLE_ALL :{BLACK}הצג את כולן
STR_INDUSTRYDIR_CAPTION :{WHITE}תעשיות STR_INDUSTRYDIR_CAPTION :{WHITE}תעשיות
STR_INDUSTRYDIR_ITEM :{YELLOW}(שונעו {NBSP}{3:COMMA}%){BLACK} ({1:CARGO}{2:STRING}) {ORANGE}{0:INDUSTRY} STR_INDUSTRYDIR_ITEM :{YELLOW}(שונעו {NBSP}{3:COMMA}%){BLACK} ({1:CARGO}{2:STRING}) {ORANGE}{0:INDUSTRY}
STR_INDUSTRYDIR_ITEM_TWO :{YELLOW}(שונעו {NBSP} {6:COMMA}%/{5:COMMA}%) {BLACK} ({3:CARGO}{4:STRING}/{1:CARGO}{2:STRING}) {ORANGE}{0:INDUSTRY} STR_INDUSTRYDIR_ITEM_TWO :{YELLOW}(שונעו {NBSP} {6:COMMA}%/{5:COMMA}%) {BLACK} ({3:CARGO}{4:STRING}/{1:CARGO}{2:STRING}) {ORANGE}{0:INDUSTRY}
@@ -1231,7 +1247,6 @@ STR_RAIL_REFIT_VEHICLE :{BLACK}התאם
STR_RAIL_SELECT_TYPE_OF_CARGO_FOR :{BLACK}בחר את סוג המשא עבור הרכבת STR_RAIL_SELECT_TYPE_OF_CARGO_FOR :{BLACK}בחר את סוג המשא עבור הרכבת
STR_RAIL_REFIT_TO_CARRY_HIGHLIGHTED :{BLACK}התאם את הרכבת לנשיאת המשא שנבחר STR_RAIL_REFIT_TO_CARRY_HIGHLIGHTED :{BLACK}התאם את הרכבת לנשיאת המשא שנבחר
STR_RAIL_CAN_T_REFIT_VEHICLE :{WHITE}...לא ניתן להתאים את הרכבת STR_RAIL_CAN_T_REFIT_VEHICLE :{WHITE}...לא ניתן להתאים את הרכבת
STR_CONFIG_SETTING_SERVINT_ISPERCENT :{ORANGE}{STRING}{LTBLUE} :הצג מרווחי טיפול באחוזים
STR_CONFIG_GAME_PRODUCTION :{WHITE}שנה תפוקה STR_CONFIG_GAME_PRODUCTION :{WHITE}שנה תפוקה
############ network gui strings ############ network gui strings
@@ -1493,11 +1508,6 @@ STR_NETWORK_SEND :{BLACK}שלח
############ end network gui strings ############ end network gui strings
STR_CONFIG_SETTING_MAP_X :{LTBLUE}X-גודל המפה: {ORANGE}{STRING}
STR_CONFIG_SETTING_MAP_Y :{LTBLUE}Y-גודל המפה: {ORANGE}{STRING}
##### PNG-MAP-Loader ##### PNG-MAP-Loader
STR_PNGMAP_ERROR :{WHITE}לא יכול לטעון שטח אדמה מקובץ... STR_PNGMAP_ERROR :{WHITE}לא יכול לטעון שטח אדמה מקובץ...
@@ -1665,6 +1675,7 @@ STR_200B_CENTER_THE_MAIN_VIEW_ON :{BLACK}מקד
STR_200C_CHANGE_TOWN_NAME :{BLACK}שנה את שם העיר STR_200C_CHANGE_TOWN_NAME :{BLACK}שנה את שם העיר
STR_200D_PASSENGERS_LAST_MONTH_MAX :{ORANGE}{1:COMMA}{BLACK} :מספר מירבי {ORANGE}{0:COMMA}{BLACK} :נוסעים בחודש שעבר STR_200D_PASSENGERS_LAST_MONTH_MAX :{ORANGE}{1:COMMA}{BLACK} :מספר מירבי {ORANGE}{0:COMMA}{BLACK} :נוסעים בחודש שעבר
STR_200E_MAIL_LAST_MONTH_MAX :{ORANGE}{1:COMMA}{BLACK} :מספר מירבי {ORANGE}{0:COMMA}{BLACK} :שקי דואר בחודש שעבר STR_200E_MAIL_LAST_MONTH_MAX :{ORANGE}{1:COMMA}{BLACK} :מספר מירבי {ORANGE}{0:COMMA}{BLACK} :שקי דואר בחודש שעבר
STR_CARGO_FOR_TOWNGROWTH :{BLACK}המטען שצריך בשביל גידול עיר
STR_200F_TALL_OFFICE_BLOCK :בניין משרדים גבוה STR_200F_TALL_OFFICE_BLOCK :בניין משרדים גבוה
STR_2010_OFFICE_BLOCK :בניין משרדים STR_2010_OFFICE_BLOCK :בניין משרדים
STR_2011_SMALL_BLOCK_OF_FLATS :בניין דירות STR_2011_SMALL_BLOCK_OF_FLATS :בניין דירות
@@ -2105,6 +2116,7 @@ STR_NUM_VERY_LOW :נמוך מאו
STR_6816_LOW :נמוך STR_6816_LOW :נמוך
STR_6817_NORMAL :רגיל STR_6817_NORMAL :רגיל
STR_6818_HIGH :גבוה STR_6818_HIGH :גבוה
STR_02BF_CUSTOM :אחר
STR_6819 :{BLACK}{SMALLLEFTARROW} STR_6819 :{BLACK}{SMALLLEFTARROW}
STR_681A :{BLACK}{SMALLRIGHTARROW} STR_681A :{BLACK}{SMALLRIGHTARROW}
STR_681B_VERY_SLOW :איטי ביותר STR_681B_VERY_SLOW :איטי ביותר
@@ -2836,6 +2848,7 @@ STR_900E_MAX_SPEED :{LTBLUE}{VELOCI
STR_900F_PROFIT_THIS_YEAR_LAST_YEAR :({1:CURRENCY} :בשנה שעברה) {LTBLUE}{0:CURRENCY}{BLACK} :רווח השנה STR_900F_PROFIT_THIS_YEAR_LAST_YEAR :({1:CURRENCY} :בשנה שעברה) {LTBLUE}{0:CURRENCY}{BLACK} :רווח השנה
STR_9010_RELIABILITY_BREAKDOWNS :{LTBLUE}{1:COMMA}{BLACK} :תקלות ממועד הטיפול האחרון {LTBLUE}{0:COMMA}%{BLACK} :אמינות STR_9010_RELIABILITY_BREAKDOWNS :{LTBLUE}{1:COMMA}{BLACK} :תקלות ממועד הטיפול האחרון {LTBLUE}{0:COMMA}%{BLACK} :אמינות
STR_9011_BUILT_VALUE :{LTBLUE}{2:CURRENCY}{BLACK} :שווי {LTBLUE}{1:NUM}{BLACK} :שנת בנייה{LTBLUE}{0:ENGINE} STR_9011_BUILT_VALUE :{LTBLUE}{2:CURRENCY}{BLACK} :שווי {LTBLUE}{1:NUM}{BLACK} :שנת בנייה{LTBLUE}{0:ENGINE}
STR_9012_CAPACITY :{BLACK}קיבולת: {LTBLUE}{CARGO}{STRING}
STR_9013_MUST_BE_STOPPED_INSIDE :{WHITE}...חייב לעצור בתוך מוסך לכלי רכב STR_9013_MUST_BE_STOPPED_INSIDE :{WHITE}...חייב לעצור בתוך מוסך לכלי רכב
STR_9014_CAN_T_SELL_ROAD_VEHICLE :{WHITE}...לא ניתן למכור כלי רכב STR_9014_CAN_T_SELL_ROAD_VEHICLE :{WHITE}...לא ניתן למכור כלי רכב
STR_9015_CAN_T_STOP_START_ROAD_VEHICLE :{WHITE}...לא ניתן לעצור/להמשיך בנסיעה STR_9015_CAN_T_STOP_START_ROAD_VEHICLE :{WHITE}...לא ניתן לעצור/להמשיך בנסיעה
@@ -2912,6 +2925,7 @@ STR_9813_MAX_SPEED :{LTBLUE}{VELOCI
STR_9814_PROFIT_THIS_YEAR_LAST_YEAR :({1:CURRENCY} :בשנה שעברה) {LTBLUE}{0:CURRENCY}{BLACK} :רווח השנה STR_9814_PROFIT_THIS_YEAR_LAST_YEAR :({1:CURRENCY} :בשנה שעברה) {LTBLUE}{0:CURRENCY}{BLACK} :רווח השנה
STR_9815_RELIABILITY_BREAKDOWNS :{LTBLUE}{1:COMMA}{BLACK} :תקלות ממועד הטיפול האחרון {LTBLUE}{0:COMMA}%{BLACK} :אמינות STR_9815_RELIABILITY_BREAKDOWNS :{LTBLUE}{1:COMMA}{BLACK} :תקלות ממועד הטיפול האחרון {LTBLUE}{0:COMMA}%{BLACK} :אמינות
STR_9816_BUILT_VALUE :{LTBLUE}{2:CURRENCY}{BLACK} :שווי {LTBLUE}{1:NUM}{BLACK} :שנת בנייה{LTBLUE}{0:ENGINE} STR_9816_BUILT_VALUE :{LTBLUE}{2:CURRENCY}{BLACK} :שווי {LTBLUE}{1:NUM}{BLACK} :שנת בנייה{LTBLUE}{0:ENGINE}
STR_9817_CAPACITY :{BLACK}קיבולת: {LTBLUE}{CARGO}{STRING}
STR_9818_CAN_T_STOP_START_SHIP :{WHITE}לא ניתן לעצור/להפעיל את כלי השייט STR_9818_CAN_T_STOP_START_SHIP :{WHITE}לא ניתן לעצור/להפעיל את כלי השייט
STR_9819_CAN_T_SEND_SHIP_TO_DEPOT :{WHITE} לא ניתן לשלוח את כלי השייט למבדוק STR_9819_CAN_T_SEND_SHIP_TO_DEPOT :{WHITE} לא ניתן לשלוח את כלי השייט למבדוק
STR_981A_UNABLE_TO_FIND_LOCAL_DEPOT :{WHITE}לא ניתן למצוא מבדוק קרוב STR_981A_UNABLE_TO_FIND_LOCAL_DEPOT :{WHITE}לא ניתן למצוא מבדוק קרוב
@@ -2986,6 +3000,8 @@ STR_A014_AIRCRAFT_IS_WAITING_IN :{WHITE} ממת
STR_A015_AIRCRAFT_IN_THE_WAY :{WHITE}כלי טייס חוסם את הדרך STR_A015_AIRCRAFT_IN_THE_WAY :{WHITE}כלי טייס חוסם את הדרך
STR_A016_CAN_T_STOP_START_AIRCRAFT :{WHITE}לא ניתן לעצור/להפעיל את כלי הטייס STR_A016_CAN_T_STOP_START_AIRCRAFT :{WHITE}לא ניתן לעצור/להפעיל את כלי הטייס
STR_A017_AIRCRAFT_IS_IN_FLIGHT :{WHITE}נמצא בטיסה STR_A017_AIRCRAFT_IS_IN_FLIGHT :{WHITE}נמצא בטיסה
STR_A019_CAPACITY :{BLACK}קיבולת: {LTBLUE}{CARGO}, {CARGO}{STRING}
STR_A01A_CAPACITY :{BLACK}קיבולת: {LTBLUE}{CARGO}{SKIP}{SKIP}{STRING}
STR_A01B_AIRCRAFT_MUST_BE_STOPPED :{WHITE}המטוס צריך להמצא בעצירה בסככת מטוסים STR_A01B_AIRCRAFT_MUST_BE_STOPPED :{WHITE}המטוס צריך להמצא בעצירה בסככת מטוסים
STR_A01C_CAN_T_SELL_AIRCRAFT :{WHITE}לא ניתן למכור את כלי הטייס STR_A01C_CAN_T_SELL_AIRCRAFT :{WHITE}לא ניתן למכור את כלי הטייס
STR_A01D_AIRPORT_CONSTRUCTION :בניית שדה תעופה STR_A01D_AIRPORT_CONSTRUCTION :בניית שדה תעופה
@@ -3140,6 +3156,7 @@ STR_NEWGRF_BROKEN :{WHITE}Behaviou
STR_NEWGRF_BROKEN_VEHICLE_LENGTH :{WHITE}It changes vehicle length for '{1:ENGINE}' when not inside a depot. STR_NEWGRF_BROKEN_VEHICLE_LENGTH :{WHITE}It changes vehicle length for '{1:ENGINE}' when not inside a depot.
STR_BROKEN_VEHICLE_LENGTH :{WHITE}Train '{VEHICLE}' belonging to '{COMPANY}' has invalid length. It is probably caused by problems with NewGRFs. Game may desync or crash. STR_BROKEN_VEHICLE_LENGTH :{WHITE}Train '{VEHICLE}' belonging to '{COMPANY}' has invalid length. It is probably caused by problems with NewGRFs. Game may desync or crash.
STR_LOADGAME_REMOVED_TRAMS :{WHITE}Game was saved in version without tram support. All trams have been removed. STR_LOADGAME_REMOVED_TRAMS :{WHITE}Game was saved in version without tram support. All trams have been removed.
STR_CURRENCY_WINDOW :{WHITE}מטבע מותאם אישית STR_CURRENCY_WINDOW :{WHITE}מטבע מותאם אישית
@@ -3209,7 +3226,6 @@ STR_REPLACE_HELP_REPLACE_INFO_TAB :{BLACK} מצי
STR_REPLACE_REMOVE_WAGON :{ORANGE}{SKIP}{STRING}{BLACK} : הסרת קרונות STR_REPLACE_REMOVE_WAGON :{ORANGE}{SKIP}{STRING}{BLACK} : הסרת קרונות
STR_REPLACE_REMOVE_WAGON_HELP :{BLACK}הסר קרונות מהסוף על מנת לשמור על האורך המקורי של הרכבת STR_REPLACE_REMOVE_WAGON_HELP :{BLACK}הסר קרונות מהסוף על מנת לשמור על האורך המקורי של הרכבת
STR_REPLACE_ENGINE_WAGON_SELECT :{ORANGE}{SKIP}{SKIP}{STRING}{BLACK} : מחליף STR_REPLACE_ENGINE_WAGON_SELECT :{ORANGE}{SKIP}{SKIP}{STRING}{BLACK} : מחליף
STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK} EXPERIMENTAL FEATURE {}Switch between engine and wagon replacement windows.{}Wagon replacement will only be done if the new wagon can be refitted into carrying the same type of cargo as the old one. This is checked for each wagon when the actual replacement takes place.
STR_RAIL_VEHICLE_NOT_AVAILABLE :{WHITE}קטר לא זמין STR_RAIL_VEHICLE_NOT_AVAILABLE :{WHITE}קטר לא זמין
STR_ROAD_VEHICLE_NOT_AVAILABLE :{WHITE}רכב לא זמין STR_ROAD_VEHICLE_NOT_AVAILABLE :{WHITE}רכב לא זמין
STR_SHIP_NOT_AVAILABLE :{WHITE}כלי שייט לא זמין STR_SHIP_NOT_AVAILABLE :{WHITE}כלי שייט לא זמין
@@ -3552,7 +3568,6 @@ STR_AI_VERSION :: גירסה
######## ########
############ town controlled noise level ############ town controlled noise level
STR_CONFIG_SETTING_NOISE_LEVEL :{ORANGE}{STRING}{LTBLUE} :אפשר שליטה של הערים ברמת הרעש בשדות תעופה
STR_NOISE_IN_TOWN :{ORANGE}{1:COMMA}{BLACK} :מירבית {ORANGE}{0:COMMA}{BLACK} :רמת הרעש המותרת בעיר זו STR_NOISE_IN_TOWN :{ORANGE}{1:COMMA}{BLACK} :מירבית {ORANGE}{0:COMMA}{BLACK} :רמת הרעש המותרת בעיר זו
STR_STATION_NOISE :{GOLD}{COMMA}{BLACK} :רמת הרעש STR_STATION_NOISE :{GOLD}{COMMA}{BLACK} :רמת הרעש
######## ########
@@ -3578,6 +3593,7 @@ STR_CONTENT_SELECT_UPDATES_CAPTION :{BLACK} בחר
STR_CONTENT_SELECT_UPDATES_CAPTION_TIP :{BLACK} בחר רת כל התכנים המהווים שדרוג לבחירה קיימת STR_CONTENT_SELECT_UPDATES_CAPTION_TIP :{BLACK} בחר רת כל התכנים המהווים שדרוג לבחירה קיימת
STR_CONTENT_UNSELECT_ALL_CAPTION :{BLACK} בטל בחירה STR_CONTENT_UNSELECT_ALL_CAPTION :{BLACK} בטל בחירה
STR_CONTENT_UNSELECT_ALL_CAPTION_TIP :{BLACK} בטל את כל הבחירות להורדה STR_CONTENT_UNSELECT_ALL_CAPTION_TIP :{BLACK} בטל את כל הבחירות להורדה
STR_CONTENT_FILTER_TITLE :{BLACK}סינון תוית\שם:
STR_CONTENT_DOWNLOAD_CAPTION :{BLACK} הורד STR_CONTENT_DOWNLOAD_CAPTION :{BLACK} הורד
STR_CONTENT_DOWNLOAD_CAPTION_TIP :{BLACK} החל בהורדת התכנים שנבחרו STR_CONTENT_DOWNLOAD_CAPTION_TIP :{BLACK} החל בהורדת התכנים שנבחרו
STR_CONTENT_TOTAL_DOWNLOAD_SIZE :{WHITE}{BYTES}{SILVER} :גודל ההורדה STR_CONTENT_TOTAL_DOWNLOAD_SIZE :{WHITE}{BYTES}{SILVER} :גודל ההורדה

View File

@@ -352,7 +352,7 @@ STR_015F_QUIT :Kilépés
STR_ABANDON_GAME_QUERY :{YELLOW}Biztosan kilépsz ebből a játékból ? STR_ABANDON_GAME_QUERY :{YELLOW}Biztosan kilépsz ebből a játékból ?
STR_0161_QUIT_GAME :{WHITE}Kilépés a játékból STR_0161_QUIT_GAME :{WHITE}Kilépés a játékból
STR_SORT_ORDER_TIP :{BLACK}Csökkenő/növekvő sorbarendezés STR_SORT_ORDER_TIP :{BLACK}Csökkenő/növekvő sorbarendezés
STR_SORT_CRITERIA_TIP :{BLACK}Sorbarendezési kritérium STR_SORT_CRITERIA_TIP :{BLACK}Sorbarendezési feltétel
STR_SORT_BY :{BLACK}Rendezés STR_SORT_BY :{BLACK}Rendezés
STR_SORT_BY_POPULATION :{BLACK}Lakosság STR_SORT_BY_POPULATION :{BLACK}Lakosság
@@ -819,7 +819,7 @@ STR_TOWNNAME_SWEDISH :Svéd
STR_TOWNNAME_DUTCH :Holland STR_TOWNNAME_DUTCH :Holland
STR_TOWNNAME_FINNISH :Finn STR_TOWNNAME_FINNISH :Finn
STR_TOWNNAME_POLISH :Lengyel STR_TOWNNAME_POLISH :Lengyel
STR_TOWNNAME_SLOVAKISH :Szlovák STR_TOWNNAME_SLOVAK :Szlovák
STR_TOWNNAME_NORWEGIAN :Norvég STR_TOWNNAME_NORWEGIAN :Norvég
STR_TOWNNAME_HUNGARIAN :Magyar STR_TOWNNAME_HUNGARIAN :Magyar
STR_TOWNNAME_AUSTRIAN :Osztrák STR_TOWNNAME_AUSTRIAN :Osztrák
@@ -852,7 +852,7 @@ STR_CURR_ITL :Olasz Líra (IT
STR_CURR_NLG :Holland Guilder (NLG) STR_CURR_NLG :Holland Guilder (NLG)
STR_CURR_NOK :Norvég Korona (NOK) STR_CURR_NOK :Norvég Korona (NOK)
STR_CURR_PLN :Legyel Zlotyi (PLN) STR_CURR_PLN :Legyel Zlotyi (PLN)
STR_CURR_ROL :Román Lej (ROL) STR_CURR_RON :Román Lej (RON)
STR_CURR_RUR :Orosz Rubel (RUR) STR_CURR_RUR :Orosz Rubel (RUR)
STR_CURR_SIT :Szlovén Tolár (SIT) STR_CURR_SIT :Szlovén Tolár (SIT)
STR_CURR_SEK :Svéd Korona (SEK) STR_CURR_SEK :Svéd Korona (SEK)
@@ -2312,6 +2312,7 @@ STR_704A_SELECT_FEMALE_FACES :{BLACK}Női arc
STR_704B_GENERATE_RANDOM_NEW_FACE :{BLACK}Véletlenszerű új arc létrehozása STR_704B_GENERATE_RANDOM_NEW_FACE :{BLACK}Véletlenszerű új arc létrehozása
STR_704C_KEY :{BLACK}Jelkulcs STR_704C_KEY :{BLACK}Jelkulcs
STR_704D_SHOW_KEY_TO_GRAPHS :{BLACK}A grafikonok jelmagyarázata STR_704D_SHOW_KEY_TO_GRAPHS :{BLACK}A grafikonok jelmagyarázata
STR_SHOW_DETAILED_PERFORMANCE_RATINGS :{BLACK}Részletes teljesítményértékelés mutatása
STR_704E_KEY_TO_COMPANY_GRAPHS :{WHITE}Jelmagyarázat a grafikonokhoz STR_704E_KEY_TO_COMPANY_GRAPHS :{WHITE}Jelmagyarázat a grafikonokhoz
STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY :{BLACK}A vállalat adatainak mutatása/elrejtése a grafikonon STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY :{BLACK}A vállalat adatainak mutatása/elrejtése a grafikonon
STR_7050_UNITS_OF_CARGO_DELIVERED :{WHITE}Elszállított áruk mennyisége STR_7050_UNITS_OF_CARGO_DELIVERED :{WHITE}Elszállított áruk mennyisége
@@ -2873,7 +2874,7 @@ STR_VEHICLE_INFO_COST_WEIGHT_SPEED_POWER :{BLACK}Ár: {CU
STR_885C_BROKEN_DOWN :{RED}Lerobbant STR_885C_BROKEN_DOWN :{RED}Lerobbant
STR_885D_AGE_RUNNING_COST_YR :{BLACK}Kor: {LTBLUE}{STRING}{BLACK} Működtetési költség: {LTBLUE}{CURRENCY}/év STR_885D_AGE_RUNNING_COST_YR :{BLACK}Kor: {LTBLUE}{STRING}{BLACK} Működtetési költség: {LTBLUE}{CURRENCY}/év
STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Súly: {LTBLUE}{WEIGHT_S} {BLACK}Teljesítmény: {LTBLUE}{POWER}{BLACK} Végsebesség: {LTBLUE} {VELOCITY} STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Súly: {LTBLUE}{WEIGHT_S} {BLACK}Teljesítmény: {LTBLUE}{POWER}{BLACK} Végsebesség: {LTBLUE} {VELOCITY}
STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Súly: {LTBLUE}{WEIGHT_S} {BLACK}Telj.: {LTBLUE}{POWER}{BLACK} Max. seb.: {LTBLUE}{VELOCITY} {BLACK}Vonóerő: {LTBLUE}{FORCE} STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Tömeg: {LTBLUE}{WEIGHT_S} {BLACK}Teljesítmény: {LTBLUE}{POWER}{BLACK} Végsebesség: {LTBLUE}{VELOCITY} {BLACK}Vonóerő: {LTBLUE}{FORCE}
STR_885F_PROFIT_THIS_YEAR_LAST_YEAR :{BLACK}Idei haszon: {LTBLUE}{CURRENCY} (tavalyi: {CURRENCY}) STR_885F_PROFIT_THIS_YEAR_LAST_YEAR :{BLACK}Idei haszon: {LTBLUE}{CURRENCY} (tavalyi: {CURRENCY})
STR_8860_RELIABILITY_BREAKDOWNS :{BLACK}Megbízhatóság: {LTBLUE}{COMMA}% {BLACK}Lerobbanások az utolsó javítás óta: {LTBLUE}{COMMA} STR_8860_RELIABILITY_BREAKDOWNS :{BLACK}Megbízhatóság: {LTBLUE}{COMMA}% {BLACK}Lerobbanások az utolsó javítás óta: {LTBLUE}{COMMA}
STR_8861_STOPPED :{RED}Áll STR_8861_STOPPED :{RED}Áll
@@ -3164,7 +3165,7 @@ STR_PERFORMANCE_DETAIL_MIN_PROFIT_TIP :{BLACK}A két
STR_PERFORMANCE_DETAIL_MIN_INCOME_TIP :{BLACK}Az utóbbi 12 negyedév legalacsonyabb havi profitja STR_PERFORMANCE_DETAIL_MIN_INCOME_TIP :{BLACK}Az utóbbi 12 negyedév legalacsonyabb havi profitja
STR_PERFORMANCE_DETAIL_MAX_INCOME_TIP :{BLACK}Az utóbbi 12 negyedév legjövedelmezőbb havi profitja STR_PERFORMANCE_DETAIL_MAX_INCOME_TIP :{BLACK}Az utóbbi 12 negyedév legjövedelmezőbb havi profitja
STR_PERFORMANCE_DETAIL_DELIVERED_TIP :{BLACK}Utolsó négy negyedévben elszállított rakomány. STR_PERFORMANCE_DETAIL_DELIVERED_TIP :{BLACK}Utolsó négy negyedévben elszállított rakomány.
STR_PERFORMANCE_DETAIL_CARGO_TIP :{BLACK}Az utolsó negyedévben elszállított árúk típusa. STR_PERFORMANCE_DETAIL_CARGO_TIP :{BLACK}Az utolsó negyedévben elszállított áruk típusa.
STR_PERFORMANCE_DETAIL_MONEY_TIP :{BLACK}Elérhető készpénz STR_PERFORMANCE_DETAIL_MONEY_TIP :{BLACK}Elérhető készpénz
STR_PERFORMANCE_DETAIL_LOAN_TIP :{BLACK}Magas kölcsönöd van? STR_PERFORMANCE_DETAIL_LOAN_TIP :{BLACK}Magas kölcsönöd van?
STR_PERFORMANCE_DETAIL_TOTAL_TIP :{BLACK}Megszerzett pontok az elérhető pontokból STR_PERFORMANCE_DETAIL_TOTAL_TIP :{BLACK}Megszerzett pontok az elérhető pontokból
@@ -3243,6 +3244,7 @@ STR_BROKEN_VEHICLE_LENGTH :{WHITE}A '{1:CO
STR_NEWGRF_BUGGY :{WHITE}A(z) '{0:STRING}' NewGRF helytelen információt tartalmaz. STR_NEWGRF_BUGGY :{WHITE}A(z) '{0:STRING}' NewGRF helytelen információt tartalmaz.
STR_NEWGRF_BUGGY_ARTICULATED_CARGO :{WHITE}A(z) '{1:ENGINE}' rakomány/átalakítás információja a gyártás után különbözik a vételi listán találhatótól. Ez hibát okozhat az automatikus felújítás/lecserélés során az átalakításban. STR_NEWGRF_BUGGY_ARTICULATED_CARGO :{WHITE}A(z) '{1:ENGINE}' rakomány/átalakítás információja a gyártás után különbözik a vételi listán találhatótól. Ez hibát okozhat az automatikus felújítás/lecserélés során az átalakításban.
STR_NEWGRF_BUGGY_ENDLESS_PRODUCTION_CALLBACK :{WHITE}'{1:STRING}' végtelen ciklust okozott a termelés folyamatnál.
STR_LOADGAME_REMOVED_TRAMS :{WHITE}A játék olyan verzióban lett elmentve, ami nem támogatja a villamosokat . Az összes villamos törölve lett. STR_LOADGAME_REMOVED_TRAMS :{WHITE}A játék olyan verzióban lett elmentve, ami nem támogatja a villamosokat . Az összes villamos törölve lett.
@@ -3313,7 +3315,7 @@ STR_REPLACE_HELP_REPLACE_INFO_TAB :{BLACK}Megmutat
STR_REPLACE_REMOVE_WAGON :{BLACK}Vagon törlés: {ORANGE}{SKIP}{STRING} STR_REPLACE_REMOVE_WAGON :{BLACK}Vagon törlés: {ORANGE}{SKIP}{STRING}
STR_REPLACE_REMOVE_WAGON_HELP :{BLACK}Az automatikus cserénél a szerelvény hosszának a megtartása kocsik lekapcsolásával (mozdony utántól kezdve), ha a csere után a szerelvény hosszabb lenne. STR_REPLACE_REMOVE_WAGON_HELP :{BLACK}Az automatikus cserénél a szerelvény hosszának a megtartása kocsik lekapcsolásával (mozdony utántól kezdve), ha a csere után a szerelvény hosszabb lenne.
STR_REPLACE_ENGINE_WAGON_SELECT :{BLACK}Lecserél: {ORANGE}{SKIP}{SKIP}{STRING} STR_REPLACE_ENGINE_WAGON_SELECT :{BLACK}Lecserél: {ORANGE}{SKIP}{SKIP}{STRING}
STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK} KISÉRLETI TULAJDONSÁG {}Váltás a mozdony és a vasúti-kocsi cserélő ablak között.{}A vagonok cseréje csak akkor történik meg, ha az új vagon átalakítható ugyanolyan típusú teher szállítására. Ez minden vagoncserénél ellenőrződik. STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK}Váltás a mozdony és a vasúti-kocsi cserélő ablak között
STR_RAIL_VEHICLE_NOT_AVAILABLE :{WHITE}A jármű nem elérhető. STR_RAIL_VEHICLE_NOT_AVAILABLE :{WHITE}A jármű nem elérhető.
STR_ROAD_VEHICLE_NOT_AVAILABLE :{WHITE}A jármű nem elérhető. STR_ROAD_VEHICLE_NOT_AVAILABLE :{WHITE}A jármű nem elérhető.
STR_SHIP_NOT_AVAILABLE :{WHITE}A hajó nem elérhető. STR_SHIP_NOT_AVAILABLE :{WHITE}A hajó nem elérhető.

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