mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2025-08-13 17:49:10 +00:00
Compare commits
24 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
1003eb6eba | ||
|
139a213d4d | ||
|
06c45d6fe5 | ||
|
8446d6b8c2 | ||
|
9676072298 | ||
|
2db7e3a0a8 | ||
|
1e9fd18e6a | ||
|
909af50aaa | ||
|
07a16f9282 | ||
|
28e7981a5b | ||
|
f7cc97fe5c | ||
|
d9ed2d380f | ||
|
60901368cc | ||
|
9f5e690118 | ||
|
2fbd7ff6cc | ||
|
1595413545 | ||
|
76b2e1c5ab | ||
|
7e1385b6eb | ||
|
4ec28e1ba7 | ||
|
30afba1d10 | ||
|
61e97110c9 | ||
|
9e592b9986 | ||
|
de7a4a4006 | ||
|
53dc1a89da |
2
Doxyfile
2
Doxyfile
@@ -1,7 +1,7 @@
|
||||
#---------------------------------------------------------------------------
|
||||
# Project related configuration options
|
||||
#---------------------------------------------------------------------------
|
||||
PROJECT_NAME = openttd
|
||||
PROJECT_NAME = OpenTTD
|
||||
OUTPUT_DIRECTORY = docs/source/
|
||||
CREATE_SUBDIRS = NO
|
||||
OUTPUT_LANGUAGE = English
|
||||
|
@@ -220,6 +220,7 @@ function Regression::Airport()
|
||||
}
|
||||
|
||||
print(" GetBankBalance(): " + AICompany.GetBankBalance(AICompany.COMPANY_SELF));
|
||||
print(" GetPrice(): " + AIAirport.GetPrice(0));
|
||||
print(" BuildAirport(): " + AIAirport.BuildAirport(32116, 0, AIStation.STATION_JOIN_ADJACENT));
|
||||
print(" IsHangarTile(): " + AIAirport.IsHangarTile(32116));
|
||||
print(" IsAirportTile(): " + AIAirport.IsAirportTile(32116));
|
||||
@@ -256,12 +257,15 @@ function Regression::Bridge()
|
||||
print(" Valid Bridges: " + j);
|
||||
|
||||
print(" IsBridgeTile(): " + AIBridge.IsBridgeTile(33160));
|
||||
print(" GetBridgeID(): " + AIBridge.GetBridgeID(33160));
|
||||
print(" RemoveBridge(): " + AIBridge.RemoveBridge(33155));
|
||||
print(" GetLastErrorString(): " + AIError.GetLastErrorString());
|
||||
print(" GetOtherBridgeEnd(): " + AIBridge.GetOtherBridgeEnd(33160));
|
||||
print(" BuildBridge(): " + AIBridge.BuildBridge(AIVehicle.VT_ROAD, 5, 33160, 33155));
|
||||
print(" IsBridgeTile(): " + AIBridge.IsBridgeTile(33160));
|
||||
print(" GetBridgeID(): " + AIBridge.GetBridgeID(33160));
|
||||
print(" IsBridgeTile(): " + AIBridge.IsBridgeTile(33155));
|
||||
print(" GetBridgeID(): " + AIBridge.GetBridgeID(33155));
|
||||
print(" GetOtherBridgeEnd(): " + AIBridge.GetOtherBridgeEnd(33160));
|
||||
print(" BuildBridge(): " + AIBridge.BuildBridge(AIVehicle.VT_ROAD, 5, 33160, 33155));
|
||||
print(" GetLastErrorString(): " + AIError.GetLastErrorString());
|
||||
@@ -329,6 +333,7 @@ function Regression::Cargo()
|
||||
print(" GetCargoIncome(10, 10): " + AICargo.GetCargoIncome(i, 10, 10));
|
||||
print(" GetCargoIncome(100, 10): " + AICargo.GetCargoIncome(i, 100, 10));
|
||||
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(" CanBuildIndustry(): " + AIIndustryType.CanBuildIndustry(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("--TileList--");
|
||||
print(" Count(): " + list.Count());
|
||||
list.AddRectangle(41895 - 256 * 2, 256 * 2 + 41895 + 8);
|
||||
list.AddRectangle(34436, 256 * 2 + 34436 + 8);
|
||||
print(" Count(): " + list.Count());
|
||||
|
||||
list.Valuate(AITile.GetHeight);
|
||||
@@ -1193,6 +1201,30 @@ function Regression::TileList()
|
||||
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.KeepValue(0);
|
||||
print(" Slope(): done");
|
||||
@@ -1203,6 +1235,8 @@ function Regression::TileList()
|
||||
print(" " + i + " => " + list.GetValue(i));
|
||||
}
|
||||
|
||||
list.Clear();
|
||||
list.AddRectangle(41895 - 256 * 2, 256 * 2 + 41895 + 8);
|
||||
list.Valuate(AITile.IsBuildable);
|
||||
list.KeepValue(1);
|
||||
print(" Buildable(): done");
|
||||
|
@@ -620,6 +620,7 @@
|
||||
GetAirportHeight(9): -1
|
||||
GetAirportCoverageRadius(9): -1
|
||||
GetBankBalance(): 100000
|
||||
GetPrice(): 84
|
||||
BuildAirport(): true
|
||||
IsHangarTile(): false
|
||||
IsAirportTile(): true
|
||||
@@ -743,12 +744,15 @@
|
||||
GetMinLength(): -1
|
||||
Valid Bridges: 10
|
||||
IsBridgeTile(): false
|
||||
GetBridgeID(): -1
|
||||
RemoveBridge(): false
|
||||
GetLastErrorString(): ERR_PRECONDITION_FAILED
|
||||
GetOtherBridgeEnd(): -1
|
||||
BuildBridge(): true
|
||||
IsBridgeTile(): true
|
||||
GetBridgeID(): 5
|
||||
IsBridgeTile(): true
|
||||
GetBridgeID(): 5
|
||||
GetOtherBridgeEnd(): 33155
|
||||
BuildBridge(): false
|
||||
GetLastErrorString(): ERR_ALREADY_BUILT
|
||||
@@ -824,6 +828,7 @@
|
||||
GetCargoIncome(10, 10): -1
|
||||
GetCargoIncome(100, 10): -1
|
||||
GetCargoIncome(10, 100): -1
|
||||
GetRoadVehicleTypeForCargo(): 1
|
||||
Cargo 0
|
||||
IsValidCargo(): true
|
||||
GetCargoLabel(): 'PASS'
|
||||
@@ -834,6 +839,7 @@
|
||||
GetCargoIncome(10, 10): 3
|
||||
GetCargoIncome(100, 10): 39
|
||||
GetCargoIncome(10, 100): 3
|
||||
GetRoadVehicleTypeForCargo(): 0
|
||||
Cargo 1
|
||||
IsValidCargo(): true
|
||||
GetCargoLabel(): 'COAL'
|
||||
@@ -844,6 +850,7 @@
|
||||
GetCargoIncome(10, 10): 7
|
||||
GetCargoIncome(100, 10): 75
|
||||
GetCargoIncome(10, 100): 6
|
||||
GetRoadVehicleTypeForCargo(): 1
|
||||
Cargo 2
|
||||
IsValidCargo(): true
|
||||
GetCargoLabel(): 'MAIL'
|
||||
@@ -854,6 +861,7 @@
|
||||
GetCargoIncome(10, 10): 5
|
||||
GetCargoIncome(100, 10): 58
|
||||
GetCargoIncome(10, 100): 5
|
||||
GetRoadVehicleTypeForCargo(): 1
|
||||
Cargo 3
|
||||
IsValidCargo(): true
|
||||
GetCargoLabel(): 'OIL_'
|
||||
@@ -864,6 +872,7 @@
|
||||
GetCargoIncome(10, 10): 5
|
||||
GetCargoIncome(100, 10): 56
|
||||
GetCargoIncome(10, 100): 5
|
||||
GetRoadVehicleTypeForCargo(): 1
|
||||
Cargo 4
|
||||
IsValidCargo(): true
|
||||
GetCargoLabel(): 'LVST'
|
||||
@@ -874,6 +883,7 @@
|
||||
GetCargoIncome(10, 10): 5
|
||||
GetCargoIncome(100, 10): 55
|
||||
GetCargoIncome(10, 100): 4
|
||||
GetRoadVehicleTypeForCargo(): 1
|
||||
Cargo 5
|
||||
IsValidCargo(): true
|
||||
GetCargoLabel(): 'GOOD'
|
||||
@@ -884,6 +894,7 @@
|
||||
GetCargoIncome(10, 10): 7
|
||||
GetCargoIncome(100, 10): 78
|
||||
GetCargoIncome(10, 100): 6
|
||||
GetRoadVehicleTypeForCargo(): 1
|
||||
Cargo 6
|
||||
IsValidCargo(): true
|
||||
GetCargoLabel(): 'GRAI'
|
||||
@@ -894,6 +905,7 @@
|
||||
GetCargoIncome(10, 10): 6
|
||||
GetCargoIncome(100, 10): 60
|
||||
GetCargoIncome(10, 100): 5
|
||||
GetRoadVehicleTypeForCargo(): 1
|
||||
Cargo 7
|
||||
IsValidCargo(): true
|
||||
GetCargoLabel(): 'WOOD'
|
||||
@@ -904,6 +916,7 @@
|
||||
GetCargoIncome(10, 10): 6
|
||||
GetCargoIncome(100, 10): 63
|
||||
GetCargoIncome(10, 100): 5
|
||||
GetRoadVehicleTypeForCargo(): 1
|
||||
Cargo 8
|
||||
IsValidCargo(): true
|
||||
GetCargoLabel(): 'IORE'
|
||||
@@ -914,6 +927,7 @@
|
||||
GetCargoIncome(10, 10): 6
|
||||
GetCargoIncome(100, 10): 65
|
||||
GetCargoIncome(10, 100): 5
|
||||
GetRoadVehicleTypeForCargo(): 1
|
||||
Cargo 9
|
||||
IsValidCargo(): true
|
||||
GetCargoLabel(): 'STEL'
|
||||
@@ -924,6 +938,7 @@
|
||||
GetCargoIncome(10, 10): 7
|
||||
GetCargoIncome(100, 10): 72
|
||||
GetCargoIncome(10, 100): 6
|
||||
GetRoadVehicleTypeForCargo(): 1
|
||||
Cargo 10
|
||||
IsValidCargo(): true
|
||||
GetCargoLabel(): 'VALU'
|
||||
@@ -934,6 +949,7 @@
|
||||
GetCargoIncome(10, 10): 9
|
||||
GetCargoIncome(100, 10): 94
|
||||
GetCargoIncome(10, 100): 7
|
||||
GetRoadVehicleTypeForCargo(): 1
|
||||
Cargo 11
|
||||
IsValidCargo(): false
|
||||
GetCargoLabel(): '(null : 0x00000000)'
|
||||
@@ -944,6 +960,7 @@
|
||||
GetCargoIncome(10, 10): -1
|
||||
GetCargoIncome(100, 10): -1
|
||||
GetCargoIncome(10, 100): -1
|
||||
GetRoadVehicleTypeForCargo(): 1
|
||||
Cargo 12
|
||||
IsValidCargo(): false
|
||||
GetCargoLabel(): '(null : 0x00000000)'
|
||||
@@ -954,6 +971,7 @@
|
||||
GetCargoIncome(10, 10): -1
|
||||
GetCargoIncome(100, 10): -1
|
||||
GetCargoIncome(10, 100): -1
|
||||
GetRoadVehicleTypeForCargo(): 1
|
||||
Cargo 13
|
||||
IsValidCargo(): false
|
||||
GetCargoLabel(): '(null : 0x00000000)'
|
||||
@@ -964,6 +982,7 @@
|
||||
GetCargoIncome(10, 10): -1
|
||||
GetCargoIncome(100, 10): -1
|
||||
GetCargoIncome(10, 100): -1
|
||||
GetRoadVehicleTypeForCargo(): 1
|
||||
Cargo 14
|
||||
IsValidCargo(): false
|
||||
GetCargoLabel(): '(null : 0x00000000)'
|
||||
@@ -974,6 +993,7 @@
|
||||
GetCargoIncome(10, 10): -1
|
||||
GetCargoIncome(100, 10): -1
|
||||
GetCargoIncome(10, 100): -1
|
||||
GetRoadVehicleTypeForCargo(): 1
|
||||
|
||||
--CargoList--
|
||||
Count(): 11
|
||||
@@ -6907,6 +6927,9 @@
|
||||
GetName(): Farm
|
||||
CanBuildIndustry(): false
|
||||
CanProspectIndustry(): false
|
||||
IsBuiltOnWater(): false
|
||||
HasHeliport(): false
|
||||
HasDock(): false
|
||||
Id: 5
|
||||
IsRawIndustry(): true
|
||||
ProductionCanIncrease(): true
|
||||
@@ -6914,6 +6937,9 @@
|
||||
GetName(): Oil Rig
|
||||
CanBuildIndustry(): false
|
||||
CanProspectIndustry(): false
|
||||
IsBuiltOnWater(): true
|
||||
HasHeliport(): true
|
||||
HasDock(): true
|
||||
Id: 12
|
||||
IsRawIndustry(): false
|
||||
ProductionCanIncrease(): true
|
||||
@@ -6921,6 +6947,9 @@
|
||||
GetName(): Bank
|
||||
CanBuildIndustry(): true
|
||||
CanProspectIndustry(): false
|
||||
IsBuiltOnWater(): false
|
||||
HasHeliport(): false
|
||||
HasDock(): false
|
||||
Id: 11
|
||||
IsRawIndustry(): true
|
||||
ProductionCanIncrease(): false
|
||||
@@ -6928,6 +6957,9 @@
|
||||
GetName(): Oil Wells
|
||||
CanBuildIndustry(): false
|
||||
CanProspectIndustry(): false
|
||||
IsBuiltOnWater(): false
|
||||
HasHeliport(): false
|
||||
HasDock(): false
|
||||
Id: 1
|
||||
IsRawIndustry(): false
|
||||
ProductionCanIncrease(): true
|
||||
@@ -6935,6 +6967,9 @@
|
||||
GetName(): Power Station
|
||||
CanBuildIndustry(): true
|
||||
CanProspectIndustry(): false
|
||||
IsBuiltOnWater(): false
|
||||
HasHeliport(): false
|
||||
HasDock(): false
|
||||
Id: 3
|
||||
IsRawIndustry(): true
|
||||
ProductionCanIncrease(): true
|
||||
@@ -6942,6 +6977,9 @@
|
||||
GetName(): Forest
|
||||
CanBuildIndustry(): false
|
||||
CanProspectIndustry(): false
|
||||
IsBuiltOnWater(): false
|
||||
HasHeliport(): false
|
||||
HasDock(): false
|
||||
Id: 2
|
||||
IsRawIndustry(): false
|
||||
ProductionCanIncrease(): true
|
||||
@@ -6949,6 +6987,9 @@
|
||||
GetName(): Sawmill
|
||||
CanBuildIndustry(): true
|
||||
CanProspectIndustry(): false
|
||||
IsBuiltOnWater(): false
|
||||
HasHeliport(): false
|
||||
HasDock(): false
|
||||
Id: 18
|
||||
IsRawIndustry(): true
|
||||
ProductionCanIncrease(): true
|
||||
@@ -6956,6 +6997,9 @@
|
||||
GetName(): Iron Ore Mine
|
||||
CanBuildIndustry(): false
|
||||
CanProspectIndustry(): false
|
||||
IsBuiltOnWater(): false
|
||||
HasHeliport(): false
|
||||
HasDock(): false
|
||||
Id: 0
|
||||
IsRawIndustry(): true
|
||||
ProductionCanIncrease(): true
|
||||
@@ -6963,6 +7007,9 @@
|
||||
GetName(): Coal Mine
|
||||
CanBuildIndustry(): false
|
||||
CanProspectIndustry(): false
|
||||
IsBuiltOnWater(): false
|
||||
HasHeliport(): false
|
||||
HasDock(): false
|
||||
Id: 8
|
||||
IsRawIndustry(): false
|
||||
ProductionCanIncrease(): true
|
||||
@@ -6970,6 +7017,9 @@
|
||||
GetName(): Steel Mill
|
||||
CanBuildIndustry(): true
|
||||
CanProspectIndustry(): false
|
||||
IsBuiltOnWater(): false
|
||||
HasHeliport(): false
|
||||
HasDock(): false
|
||||
Id: 4
|
||||
IsRawIndustry(): false
|
||||
ProductionCanIncrease(): true
|
||||
@@ -6977,6 +7027,9 @@
|
||||
GetName(): Oil Refinery
|
||||
CanBuildIndustry(): true
|
||||
CanProspectIndustry(): false
|
||||
IsBuiltOnWater(): false
|
||||
HasHeliport(): false
|
||||
HasDock(): false
|
||||
Id: 6
|
||||
IsRawIndustry(): false
|
||||
ProductionCanIncrease(): true
|
||||
@@ -6984,6 +7037,9 @@
|
||||
GetName(): Factory
|
||||
CanBuildIndustry(): true
|
||||
CanProspectIndustry(): false
|
||||
IsBuiltOnWater(): false
|
||||
HasHeliport(): false
|
||||
HasDock(): false
|
||||
|
||||
--Map--
|
||||
GetMapSize(): 65536
|
||||
@@ -7273,7 +7329,7 @@
|
||||
Count(): 9
|
||||
ListDump:
|
||||
27631 => 29
|
||||
27631 => 255
|
||||
27631 => 65535
|
||||
27631 => true
|
||||
27631 => false
|
||||
27888 => 13
|
||||
@@ -7311,125 +7367,178 @@
|
||||
|
||||
--TileList--
|
||||
Count(): 0
|
||||
Count(): 45
|
||||
Count(): 27
|
||||
Height(): done
|
||||
Count(): 45
|
||||
Count(): 27
|
||||
ListDump:
|
||||
42411 => 2
|
||||
42410 => 2
|
||||
42409 => 2
|
||||
42408 => 2
|
||||
42407 => 2
|
||||
42154 => 2
|
||||
42153 => 2
|
||||
42152 => 2
|
||||
42151 => 2
|
||||
41898 => 2
|
||||
41897 => 2
|
||||
41896 => 2
|
||||
41895 => 2
|
||||
41642 => 2
|
||||
41641 => 2
|
||||
41640 => 2
|
||||
41639 => 2
|
||||
41386 => 2
|
||||
41385 => 2
|
||||
41384 => 2
|
||||
41383 => 2
|
||||
42415 => 1
|
||||
42414 => 1
|
||||
42413 => 1
|
||||
42412 => 1
|
||||
42159 => 1
|
||||
42158 => 1
|
||||
42157 => 1
|
||||
42156 => 1
|
||||
42155 => 1
|
||||
41903 => 1
|
||||
41902 => 1
|
||||
41901 => 1
|
||||
41900 => 1
|
||||
41899 => 1
|
||||
41647 => 1
|
||||
41646 => 1
|
||||
41645 => 1
|
||||
41644 => 1
|
||||
41643 => 1
|
||||
41391 => 1
|
||||
41390 => 1
|
||||
41389 => 1
|
||||
41388 => 1
|
||||
41387 => 1
|
||||
34956 => 4
|
||||
34700 => 4
|
||||
34444 => 4
|
||||
34955 => 3
|
||||
34954 => 3
|
||||
34953 => 3
|
||||
34699 => 3
|
||||
34698 => 3
|
||||
34697 => 3
|
||||
34693 => 3
|
||||
34692 => 3
|
||||
34443 => 3
|
||||
34442 => 3
|
||||
34441 => 3
|
||||
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
|
||||
CornerHeight(North): done
|
||||
Count(): 27
|
||||
ListDump:
|
||||
34956 => 4
|
||||
34700 => 4
|
||||
34444 => 4
|
||||
34955 => 3
|
||||
34954 => 3
|
||||
34953 => 3
|
||||
34699 => 3
|
||||
34698 => 3
|
||||
34697 => 3
|
||||
34693 => 3
|
||||
34692 => 3
|
||||
34443 => 3
|
||||
34442 => 3
|
||||
34441 => 3
|
||||
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
|
||||
KeepValue(0): done
|
||||
Count(): 38
|
||||
Count(): 12
|
||||
ListDump:
|
||||
42415 => 0
|
||||
42414 => 0
|
||||
42413 => 0
|
||||
42410 => 0
|
||||
42409 => 0
|
||||
42408 => 0
|
||||
42407 => 0
|
||||
42159 => 0
|
||||
42158 => 0
|
||||
42157 => 0
|
||||
42156 => 0
|
||||
42153 => 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
|
||||
34956 => 0
|
||||
34954 => 0
|
||||
34953 => 0
|
||||
34700 => 0
|
||||
34698 => 0
|
||||
34697 => 0
|
||||
34695 => 0
|
||||
34694 => 0
|
||||
34444 => 0
|
||||
34442 => 0
|
||||
34441 => 0
|
||||
34436 => 0
|
||||
Buildable(): done
|
||||
KeepValue(1): done
|
||||
Count(): 28
|
||||
Count(): 35
|
||||
BuildableRectangle(3, 3) ListDump:
|
||||
42415 => 1
|
||||
42414 => 1
|
||||
42413 => 1
|
||||
42412 => 1
|
||||
42411 => 1
|
||||
42410 => 1
|
||||
42159 => 1
|
||||
42158 => 1
|
||||
42157 => 1
|
||||
42156 => 1
|
||||
42155 => 1
|
||||
42154 => 1
|
||||
41903 => 1
|
||||
41902 => 1
|
||||
41901 => 1
|
||||
41900 => 1
|
||||
41899 => 1
|
||||
41898 => 1
|
||||
41647 => 1
|
||||
41646 => 1
|
||||
41645 => 1
|
||||
41644 => 1
|
||||
41643 => 1
|
||||
41642 => 1
|
||||
41641 => 1
|
||||
41391 => 1
|
||||
41390 => 1
|
||||
41389 => 1
|
||||
41388 => 1
|
||||
41387 => 1
|
||||
41386 => 1
|
||||
41385 => 1
|
||||
42153 => 0
|
||||
41897 => 0
|
||||
@@ -7441,26 +7550,33 @@
|
||||
42413 => 173
|
||||
42158 => 173
|
||||
41903 => 173
|
||||
42412 => 172
|
||||
42157 => 172
|
||||
41902 => 172
|
||||
41647 => 172
|
||||
42411 => 171
|
||||
42156 => 171
|
||||
41901 => 171
|
||||
41646 => 171
|
||||
41391 => 171
|
||||
42410 => 170
|
||||
42155 => 170
|
||||
41900 => 170
|
||||
41645 => 170
|
||||
41390 => 170
|
||||
42154 => 169
|
||||
41899 => 169
|
||||
41644 => 169
|
||||
41389 => 169
|
||||
42153 => 168
|
||||
41898 => 168
|
||||
41643 => 168
|
||||
41388 => 168
|
||||
41897 => 167
|
||||
41642 => 167
|
||||
41387 => 167
|
||||
41641 => 166
|
||||
41386 => 166
|
||||
41385 => 165
|
||||
41384 => 164
|
||||
DistanceSquareToTile(30000) ListDump:
|
||||
@@ -7477,17 +7593,24 @@
|
||||
42157 => 17834
|
||||
41390 => 17812
|
||||
41901 => 17741
|
||||
42412 => 17680
|
||||
41645 => 17650
|
||||
42156 => 17585
|
||||
41389 => 17561
|
||||
41900 => 17492
|
||||
42411 => 17433
|
||||
41644 => 17401
|
||||
42155 => 17338
|
||||
41388 => 17312
|
||||
41899 => 17245
|
||||
42410 => 17188
|
||||
41643 => 17154
|
||||
42154 => 17093
|
||||
41387 => 17065
|
||||
41898 => 17000
|
||||
41642 => 16909
|
||||
42153 => 16850
|
||||
41386 => 16820
|
||||
41897 => 16757
|
||||
41641 => 16666
|
||||
41385 => 16577
|
||||
@@ -7496,63 +7619,77 @@
|
||||
42415 => -1
|
||||
42414 => -1
|
||||
42413 => -1
|
||||
42412 => -1
|
||||
42411 => -1
|
||||
42410 => -1
|
||||
42159 => -1
|
||||
42158 => -1
|
||||
42157 => -1
|
||||
42156 => -1
|
||||
42155 => -1
|
||||
42154 => -1
|
||||
42153 => -1
|
||||
41903 => -1
|
||||
41902 => -1
|
||||
41901 => -1
|
||||
41900 => -1
|
||||
41899 => -1
|
||||
41898 => -1
|
||||
41897 => -1
|
||||
41647 => -1
|
||||
41646 => -1
|
||||
41645 => -1
|
||||
41644 => -1
|
||||
41643 => -1
|
||||
41642 => -1
|
||||
41641 => -1
|
||||
41391 => -1
|
||||
41390 => -1
|
||||
41389 => -1
|
||||
41388 => -1
|
||||
41387 => -1
|
||||
41386 => -1
|
||||
41385 => -1
|
||||
41384 => -1
|
||||
GetClosestTown() ListDump:
|
||||
42415 => 3
|
||||
42414 => 3
|
||||
42413 => 3
|
||||
42412 => 3
|
||||
42411 => 3
|
||||
42410 => 3
|
||||
42159 => 3
|
||||
42158 => 3
|
||||
42157 => 3
|
||||
42156 => 3
|
||||
42155 => 3
|
||||
42154 => 3
|
||||
42153 => 3
|
||||
41903 => 3
|
||||
41902 => 3
|
||||
41901 => 3
|
||||
41900 => 3
|
||||
41899 => 3
|
||||
41898 => 3
|
||||
41897 => 3
|
||||
41647 => 3
|
||||
41646 => 3
|
||||
41645 => 3
|
||||
41644 => 3
|
||||
41643 => 3
|
||||
41642 => 3
|
||||
41641 => 3
|
||||
41391 => 3
|
||||
41390 => 3
|
||||
41389 => 3
|
||||
41388 => 3
|
||||
41387 => 3
|
||||
41386 => 3
|
||||
41385 => 3
|
||||
41384 => 3
|
||||
CargoAcceptance(): done
|
||||
KeepAboveValue(10): done
|
||||
Count(): 9
|
||||
Count(): 15
|
||||
ListDump:
|
||||
41897 => 29
|
||||
41385 => 26
|
||||
@@ -7560,9 +7697,15 @@
|
||||
42153 => 25
|
||||
41641 => 23
|
||||
41899 => 17
|
||||
41898 => 17
|
||||
41387 => 17
|
||||
41386 => 17
|
||||
41643 => 14
|
||||
41642 => 14
|
||||
42411 => 13
|
||||
42410 => 13
|
||||
42155 => 13
|
||||
42154 => 13
|
||||
RoadTile(): done
|
||||
KeepValue(1): done
|
||||
Count(): 0
|
||||
|
218
changelog.txt
218
changelog.txt
@@ -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)
|
||||
------------------------------------------------------------------------
|
||||
- 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: 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: 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 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)
|
||||
@@ -205,7 +324,7 @@
|
||||
- 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: 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: 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)
|
||||
@@ -214,9 +333,9 @@
|
||||
- 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 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: 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: 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)
|
||||
@@ -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: 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: 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: 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)
|
||||
@@ -248,10 +367,10 @@
|
||||
- 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: 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: [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: 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)
|
||||
@@ -311,7 +430,7 @@
|
||||
- Fix: Signal states could be propagated through waypoints built in orthogonal axis (r13589)
|
||||
- Fix: [OSX] 10.5 failed to switch to fullscreen (r13584)
|
||||
- Fix: RVs continueing onto next DT station when they are build adjacent to them [FS#2040] (r13581)
|
||||
- Fix: Disable static NewGRFs when non-static NewGRFs query them in the context of network games. This makes it impossible for static NewGRFs to disable non-static NewGRFs and 'bad' things happening because the non-static NewGRF doesn't know about the static NewGRF (r13576)
|
||||
- Fix: 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: 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)
|
||||
@@ -410,11 +529,11 @@
|
||||
- Fix: Non-breaking spaces should not be broken (r12385)
|
||||
- Fix: Check return of AfterLoadGame for success or failure when loading TTD games [FS#1860] (r12383)
|
||||
- Fix: Use 'items' unit for batteries, fizzy drinks, toys and bubbles in total cargo tab [FS#1864] (r12382)
|
||||
- Fix: The number of houses wasn't computed right [FS#1835, FS#1535] (r12381)
|
||||
- Fix: 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: Refresh vehicle details window when cached values are updated (r12378)
|
||||
- Fix: Set cached value for vehicle property 25 before other cached values [FS#1854] (r12377)
|
||||
- Fix: Don't close a dropmenu when clicking on a dropdown widget (r12374)
|
||||
- Fix: 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: 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)
|
||||
@@ -427,7 +546,7 @@
|
||||
- Fix: Do not try to flood water tile [FS#1836] (r12350)
|
||||
- Fix: NTP skipped junction just after bridge end (r12348)
|
||||
- Fix: Remove duplicated and inconsistent code wrt. autoreplace with rules in both vehicles' group and ALL_GROUP [FS#1748, FS#1825] (r12346)
|
||||
- Fix: Don't try to restore backupped timetable when timetabling is disabled [FS#1828] (r12345)
|
||||
- Fix: 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: GRM buffer for cargos was incorrect size [FS#1827] (r12341)
|
||||
- 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: 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)
|
||||
- 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: 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)
|
||||
@@ -459,13 +578,13 @@
|
||||
- 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: 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: Show correct last year profit when the train had negative income [FS#1788] (r12197)
|
||||
- Fix: There can be oil rigs at map borders, do not set water class for them [FS#1787] (r12195)
|
||||
- Fix: Do not start overtaking if the RV reaches wrong-way one-way-road in the next tiles (r12191)
|
||||
- Fix: Assert when trying to play tile sound at NW border of map (placing buyos, leveling land) [FS#1784] (r12186)
|
||||
- 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)
|
||||
@@ -487,16 +606,16 @@
|
||||
- Feature: [NewGRF] Add support for Action 0D, var 13: informations about current map size (r11961)
|
||||
- Feature: Support Action5 type 0D (newwater) (r11947)
|
||||
- Feature: Allow building bridge heads on more slopes (r11937)
|
||||
- Feature: [NewGRF] Add support for Rivers. Rivers can currently only be placed with-in the scenario editor (r11926,r11938,r11949,r12071)
|
||||
- Feature: [NewGRF] Add support for Rivers. Rivers can currently only be placed with-in the scenario editor (r11926, r11938, r11949, r12071)
|
||||
- Feature: Generate.vbs script to allow project files generation for users unable to run generate bash script (r12123)
|
||||
- Feature: Sort the strings in languages dropdown (r11886)
|
||||
- Codechange: Drop MSVC 2003 support (r11979)
|
||||
- Fix: Test purchase list loading/loaded sprites instead of unconditionally returning a possibly non-existant sprite (r12180)
|
||||
- Fix: Return correct bridge price for AI when DC_QUERY_COST is set [FS#609] (r12171)
|
||||
- Fix: When drag&drop mode was cancelled by keyboard input, depot/group window wasn't updated [FS#337] (r12166)
|
||||
- Fix: 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: 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: Remove the arbitrary limit of 64 waypoints per town [FS#1744] (r12160)
|
||||
- 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: Use tile index 0 for planes in the air, so it cannot have an invalid tile index [FS#1745] (r12109)
|
||||
- Fix: X/Y axis swap for station tiles in GetNearbyTile() was wrong way around [FS#1753]( r12108)
|
||||
- Fix: Loading older savegames fixes (r12096,r12097)
|
||||
- Fix: Loading older savegames fixes (r12096, r12097)
|
||||
- Fix: When a company bankrupts, remove drive-through road stops, ship depots and buoys too. Update owners of water and road [FS#1703] (r12095)
|
||||
- Fix: Do not set station owner for buoys when merging company (r12093)
|
||||
- Fix: Keep production level within delimited boundaries, while using var result 0D/0E and than multiplying/dividing it [FS#1755] (r12092)
|
||||
@@ -519,7 +638,7 @@
|
||||
- Fix: Make docks at sea flood neighboured tiles (r12072)
|
||||
- Fix: Possible deadlock when there are no houses available to build at given tile (r12062)
|
||||
- Fix: Houses with zero probability could be built (r12062)
|
||||
- Fix: Do not clear tiles when the town won't be able to build any buildings anyway (r12060)
|
||||
- Fix: 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: 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)
|
||||
@@ -563,11 +682,11 @@
|
||||
- Fix: Industries using results 0D/0E on callback cb29/35 were a bit too eager to close down (r11976)
|
||||
- Fix: Shore and sea tiles under bridges were converted to canals in old savegames [FS#1684] (r11974)
|
||||
- Fix: Use grass tiles for corner shores, if shores got replaced by ActionA [FS#1683] (r11973)
|
||||
- Fix: Old AI shouldn't build fast planes with a small airport in orders(r11972)
|
||||
- Fix: 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: OPF was searching through depots and normal road stops [FS#1403, FS#1506] (r11966)
|
||||
- Fix: Tropic zone data was returned incorrectly [FS#1685] (r11964)
|
||||
- Fix: NewAI couldn't build any road vehicles when there were any tram grfs loaded (r11958)
|
||||
- Fix: 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: Do not allow modifying roadbits when other roadtypes would need different foundation (r11953)
|
||||
- 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: Another way to crash competitors' train in a station (r11877)
|
||||
- Fix: Automatically sending aircraft to depot for autoreplace/renew is now triggered by the correct conditions (r11875)
|
||||
- Fix: EngineHasReplacementForPlayer() didn't look in ALL_GROUP (r11872)
|
||||
- Fix: 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: Slow down train when approaching tile we can't enter in more cases (r11870)
|
||||
- Fix: Do not make crossing red when we can't enter it in any case (r11870)
|
||||
- Fix: Slow down train when approaching tile we cannot enter in more cases (r11870)
|
||||
- Fix: Do not make crossing red when we cannot enter it in any case (r11870)
|
||||
|
||||
|
||||
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: 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: 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: 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: 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: 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: 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)
|
||||
@@ -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: 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: 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 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)
|
||||
@@ -928,7 +1047,7 @@
|
||||
- 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: 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: 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)
|
||||
@@ -969,7 +1088,7 @@
|
||||
- Fix: Remove arbitrary limit on length of NewGRF strings (r9775)
|
||||
- Fix: [NewGRF] Ignore axis-bit of station tile layouts [FS#756] (r9758)
|
||||
- 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: Stop flooded towns from building roads on water [FS#598] (r9743)
|
||||
- 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: 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: [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: 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: Don't keep on scrolling for non-numeric values in settings, but require reclick [FS#663] (r9064)
|
||||
- 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: 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: 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)
|
||||
@@ -1089,7 +1208,7 @@
|
||||
- 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: 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: 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)
|
||||
@@ -1114,7 +1233,7 @@
|
||||
- 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: 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: 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)
|
||||
@@ -1125,7 +1244,6 @@
|
||||
|
||||
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
|
||||
- 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)
|
||||
@@ -1139,14 +1257,14 @@
|
||||
- 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 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: 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 spectators to team-speak to eachother (r6933)
|
||||
- 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: (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: 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)
|
||||
@@ -1203,7 +1321,7 @@
|
||||
- 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: 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: 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)
|
||||
@@ -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: 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: 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: 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)
|
||||
@@ -1234,11 +1352,11 @@
|
||||
- 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: 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: 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: "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: 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)
|
||||
@@ -1253,8 +1371,8 @@
|
||||
- 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: 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: If a rail is not available, don't show toolbar even with hotkey 'A' (r6740)
|
||||
- Fix: Do not add up running cost of articulated engine parts (r6765)
|
||||
- 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: 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)
|
||||
@@ -1265,34 +1383,32 @@
|
||||
- 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: 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: Never allow scrolling the map in the main menu (scroll-settings weren't reset if switched to mainmenu) (r6037)
|
||||
- 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 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: 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: 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: 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: Goto sepot not always working for road vehicles [FS#249] (r5898)
|
||||
- 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: 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: Remove the restriction that the 'patch' console command can only be run from network games [SF1366446] (r3723)
|
||||
|
||||
|
||||
0.4.8 (2006-08-12)
|
||||
------------------------------------------------------------------------
|
||||
|
||||
- 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'
|
||||
|
||||
|
||||
0.4.8-RC2 (2006-07-31)
|
||||
------------------------------------------------------------------------
|
||||
|
||||
- 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.
|
||||
- Fix: Certain combinations of trains crash when moved around inside the depot.
|
||||
@@ -1306,7 +1422,6 @@
|
||||
|
||||
0.4.8-RC1 (2006-06-28)
|
||||
------------------------------------------------------------------------
|
||||
|
||||
- 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
|
||||
- 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)
|
||||
------------------------------------------------------------------------
|
||||
|
||||
- Feature: [OSX] Add support for triple-binaries (PPC, PPC970, i386) (r4102)
|
||||
- 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)
|
||||
@@ -1412,7 +1526,6 @@
|
||||
|
||||
0.4.5 (2006-01-31)
|
||||
------------------------------------------------------------------------
|
||||
|
||||
- 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: shortcut CTRL + U that clears the current input-box (2385)
|
||||
@@ -2043,7 +2156,6 @@
|
||||
|
||||
0.3.3 (2004-07-13)
|
||||
------------------------------------------------------------------------
|
||||
|
||||
- Feature: (MorphOS/AmigaOS) network support
|
||||
- Feature: improved german town name generator
|
||||
- Change: scenarios now have the file extension .scn
|
||||
|
@@ -5,7 +5,7 @@ log() {
|
||||
}
|
||||
|
||||
set_default() {
|
||||
released_version=""
|
||||
released_version="0.7.1-RC1"
|
||||
|
||||
ignore_extra_parameters="0"
|
||||
# We set all kinds of defaults for params. Later on the user can override
|
||||
@@ -2405,7 +2405,7 @@ int main() {
|
||||
}
|
||||
EOF
|
||||
execute="$cxx_host $CFLAGS -c tmp.iconv.cpp -o tmp.iconv -DTESTING 2>&1"
|
||||
eval $execute >&/dev/null
|
||||
eval $execute > /dev/null
|
||||
ret=$?
|
||||
log 2 "executing $execute"
|
||||
log 2 " exit code $ret"
|
||||
@@ -2426,7 +2426,7 @@ int main() {
|
||||
}
|
||||
EOF
|
||||
execute="$cxx_host $CFLAGS tmp.iconv.cpp -o tmp.iconv -DTESTING 2>&1"
|
||||
eval $execute >&/dev/null
|
||||
eval $execute > /dev/null
|
||||
ret=$?
|
||||
log 2 "executing $execute"
|
||||
log 2 " exit code $ret"
|
||||
|
@@ -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
|
||||
in the latest SVN version of /trunk.
|
||||
|
||||
Bugs for 0.7.0-beta2
|
||||
Bugs for 0.7.1-RC1
|
||||
------------------------------------------------------------------------
|
||||
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
|
||||
- 2585 [OSX] OS' mouse pointer showing
|
||||
- 2484 [OSX] Cannot enter CJK characters
|
||||
- 2427 Vehicle owner gets paid for whole cargo feeder share
|
||||
- 1944 Road vehicles not picking empty drivethrough platform
|
||||
- 1762 Strange Autoreplace behaviour
|
||||
|
@@ -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
|
||||
versions.
|
||||
* New upstream release.
|
||||
|
||||
-- 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.
|
||||
|
||||
-- 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.
|
||||
|
||||
|
@@ -1,11 +1,11 @@
|
||||
!define APPNAME "OpenTTD" ; Define application name
|
||||
!define APPVERSION "0.7.0" ; Define application version
|
||||
!define INSTALLERVERSION 55 ; NEED TO UPDATE THIS FOR EVERY RELEASE!!!
|
||||
!define APPVERSION "0.7.1-RC1" ; Define application version
|
||||
!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}
|
||||
|
||||
!define APPURLLINK "http://www.openttd.org"
|
||||
!define APPNAMEANDVERSION "${APPNAME} ${APPVERSION}"
|
||||
!define APPVERSIONINTERNAL "${APPVERSION}.0" ; Needs to be of the format X.X.X.X
|
||||
!define APPNAMEANDVERSION "${APPNAME} ${APPVERSION_FULL}"
|
||||
|
||||
!define MUI_ICON "..\..\..\media\openttd.ico"
|
||||
!define MUI_UNICON "..\..\..\media\openttd.ico"
|
||||
|
@@ -32,6 +32,7 @@ Sub UpdateFiles(version)
|
||||
modified = Mid(version, InStrRev(version, Chr(9)) + 1)
|
||||
version = Mid(version, 1, InStr(version, Chr(9)) - 1)
|
||||
Else
|
||||
version = "0.7.1-RC1"
|
||||
revision = 0
|
||||
modified = 1
|
||||
End If
|
||||
|
@@ -1,6 +1,6 @@
|
||||
OpenTTD README
|
||||
Last updated: 2009-03-10
|
||||
Release version: 0.7.0-beta2
|
||||
Last updated: 2009-04-01
|
||||
Release version: 0.7.0
|
||||
------------------------------------------------------------------------
|
||||
|
||||
|
||||
@@ -253,8 +253,8 @@ features known from TTDPatch (http://www.ttdpatch.net/).
|
||||
|
||||
Several important non-standard controls:
|
||||
|
||||
* Ctrl makes much commands more powerful. For example Ctrl clicking on signals
|
||||
with the build signal tool on signals changes their behaviour.
|
||||
* Ctrl makes many commands more powerful. For example Ctrl clicking on signals
|
||||
with the build signal tool changes their behaviour.
|
||||
* Ingame console. More information at
|
||||
http://wiki.openttd.org/index.php/Console
|
||||
* Right clicking shows tooltips
|
||||
|
5
src/3rdparty/squirrel/squirrel/sqvm.cpp
vendored
5
src/3rdparty/squirrel/squirrel/sqvm.cpp
vendored
@@ -83,7 +83,7 @@ SQVM::SQVM(SQSharedState *ss)
|
||||
_suspended = SQFalse;
|
||||
_suspended_target=-1;
|
||||
_suspended_root = SQFalse;
|
||||
_suspended_traps=-1;
|
||||
_suspended_traps=0;
|
||||
_foreignptr=NULL;
|
||||
_nnativecalls=0;
|
||||
_lasterror = _null_;
|
||||
@@ -688,6 +688,7 @@ bool SQVM::Execute(SQObjectPtr &closure, SQInteger target, SQInteger nargs, SQIn
|
||||
_suspended = SQFalse;
|
||||
break;
|
||||
case ET_RESUME_OPENTTD:
|
||||
traps = _suspended_traps;
|
||||
_suspended = SQFalse;
|
||||
break;
|
||||
}
|
||||
@@ -698,7 +699,7 @@ exception_restore:
|
||||
for(;;)
|
||||
{
|
||||
DecreaseOps(1);
|
||||
if (ShouldSuspend()) { _suspended = SQTrue; return true; }
|
||||
if (ShouldSuspend()) { _suspended = SQTrue; _suspended_traps = traps; return true; }
|
||||
|
||||
const SQInstruction &_i_ = *ci->_ip++;
|
||||
//dumpstack(_stackbase);
|
||||
|
@@ -103,6 +103,11 @@ struct AIListWindow : public Window {
|
||||
sprintf(buf, "%d", selected_info->GetVersion());
|
||||
DoDrawStringTruncated(buf, x + 5, y, TC_BLACK, this->width - x - 8);
|
||||
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());
|
||||
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;
|
||||
int redraw_timer;
|
||||
int last_vscroll_pos;
|
||||
bool autoscroll;
|
||||
|
||||
AIDebugWindow(const WindowDesc *desc, WindowNumber number) : Window(desc, number)
|
||||
{
|
||||
@@ -587,6 +594,8 @@ struct AIDebugWindow : public Window {
|
||||
this->vscroll.cap = 14;
|
||||
this->vscroll.pos = 0;
|
||||
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);
|
||||
|
||||
@@ -664,13 +673,35 @@ struct AIDebugWindow : public Window {
|
||||
AILog::LogData *log = (AILog::LogData *)AIObject::GetLogPointer();
|
||||
_current_company = old_company;
|
||||
|
||||
SetVScrollCount(this, (log == NULL) ? 0 : log->used);
|
||||
this->InvalidateWidget(AID_WIDGET_SCROLLBAR);
|
||||
int scroll_count = (log == NULL) ? 0 : log->used;
|
||||
if (this->vscroll.count != scroll_count) {
|
||||
SetVScrollCount(this, scroll_count);
|
||||
|
||||
/* We need a repaint */
|
||||
this->InvalidateWidget(AID_WIDGET_SCROLLBAR);
|
||||
}
|
||||
|
||||
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;
|
||||
for (int i = this->vscroll.pos; i < (this->vscroll.cap + this->vscroll.pos); i++) {
|
||||
uint pos = (log->count + log->pos - i) % log->count;
|
||||
for (int i = this->vscroll.pos; i < (this->vscroll.cap + this->vscroll.pos) && i < log->used; i++) {
|
||||
uint pos = (i + log->pos + 1 - log->used + log->count) % log->count;
|
||||
if (log->lines[pos] == NULL) break;
|
||||
|
||||
TextColour colour;
|
||||
@@ -693,6 +724,8 @@ struct AIDebugWindow : public Window {
|
||||
this->RaiseWidget(ai_debug_company + AID_WIDGET_COMPANY_BUTTON_START);
|
||||
ai_debug_company = show_ai;
|
||||
this->LowerWidget(ai_debug_company + AID_WIDGET_COMPANY_BUTTON_START);
|
||||
this->autoscroll = true;
|
||||
this->last_vscroll_pos = this->vscroll.pos;
|
||||
this->SetDirty();
|
||||
}
|
||||
|
||||
@@ -726,6 +759,7 @@ struct AIDebugWindow : public Window {
|
||||
virtual void OnResize(Point new_size, Point delta)
|
||||
{
|
||||
this->vscroll.cap += delta.y / (int)this->resize.step_height;
|
||||
SetVScrollCount(this, this->vscroll.count); // vscroll.pos should be in a valid range
|
||||
}
|
||||
};
|
||||
|
||||
|
@@ -36,6 +36,7 @@ AIFileInfo::~AIFileInfo()
|
||||
free((void *)this->description);
|
||||
free((void *)this->date);
|
||||
free((void *)this->instance_name);
|
||||
free((void *)this->url);
|
||||
free(this->main_script);
|
||||
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->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;
|
||||
}
|
||||
|
||||
@@ -125,6 +131,12 @@ bool AIFileInfo::CheckMethod(const char *name) const
|
||||
} else {
|
||||
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() */
|
||||
sq_setinstanceup(vm, 2, NULL);
|
||||
|
@@ -41,7 +41,7 @@ public:
|
||||
friend class AIInfo;
|
||||
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();
|
||||
|
||||
/**
|
||||
@@ -84,6 +84,11 @@ public:
|
||||
*/
|
||||
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.
|
||||
*/
|
||||
@@ -111,6 +116,7 @@ private:
|
||||
const char *date;
|
||||
const char *instance_name;
|
||||
int version;
|
||||
const char *url;
|
||||
};
|
||||
|
||||
class AIInfo : public AIFileInfo {
|
||||
@@ -155,9 +161,15 @@ public:
|
||||
*/
|
||||
int GetSettingDefaultValue(const char *name) const;
|
||||
|
||||
/**
|
||||
* Use this AI as a random AI.
|
||||
*/
|
||||
bool UseAsRandomAI() const { return this->use_as_random; }
|
||||
|
||||
private:
|
||||
AIConfigItemList config_list;
|
||||
int min_loadable_version;
|
||||
bool use_as_random;
|
||||
};
|
||||
|
||||
class AILibrary : public AIFileInfo {
|
||||
|
@@ -31,7 +31,7 @@ class DummyAI extends AIController {
|
||||
function Start() { \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(\"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\
|
||||
");
|
||||
|
@@ -19,6 +19,7 @@
|
||||
#define DEFINE_SCRIPT_FILES
|
||||
|
||||
#include "ai_info.hpp"
|
||||
#include "ai_config.hpp"
|
||||
#include "ai_storage.hpp"
|
||||
#include "ai_instance.hpp"
|
||||
#include "ai_gui.hpp"
|
||||
@@ -255,7 +256,16 @@ void AIInstance::Died()
|
||||
this->engine = NULL;
|
||||
|
||||
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()
|
||||
|
@@ -153,7 +153,7 @@ AIScanner::AIScanner() :
|
||||
|
||||
/* Create the dummy AI */
|
||||
this->engine->ResetCrashed();
|
||||
strcpy(this->main_script, "%_dummy");
|
||||
strecpy(this->main_script, "%_dummy", lastof(this->main_script));
|
||||
extern void AI_CreateAIInfoDummy(HSQUIRRELVM vm);
|
||||
AI_CreateAIInfoDummy(this->engine->GetVM());
|
||||
}
|
||||
@@ -345,20 +345,31 @@ void AIScanner::RegisterAI(AIInfo *info)
|
||||
|
||||
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.");
|
||||
return this->info_dummy;
|
||||
}
|
||||
|
||||
/* Find a random AI */
|
||||
uint pos;
|
||||
if (_networking) pos = InteractiveRandomRange((uint16)this->info_single_list.size());
|
||||
else pos = RandomRange((uint16)this->info_single_list.size());
|
||||
if (_networking) {
|
||||
pos = InteractiveRandomRange(num_random_ais);
|
||||
} else {
|
||||
pos = RandomRange(num_random_ais);
|
||||
}
|
||||
|
||||
/* Find the Nth item from the array */
|
||||
AIInfoList::iterator it = this->info_single_list.begin();
|
||||
for (; pos > 0; pos--) it++;
|
||||
AIInfoList::iterator first_it = it;
|
||||
while (!it->second->UseAsRandomAI()) it++;
|
||||
for (; pos > 0; pos--) {
|
||||
it++;
|
||||
while (!it->second->UseAsRandomAI()) it++;
|
||||
}
|
||||
return (*it).second;
|
||||
}
|
||||
|
||||
|
@@ -8,12 +8,21 @@
|
||||
#include "../../company_func.h"
|
||||
#include "../../command_type.h"
|
||||
#include "../../town.h"
|
||||
#include "../../economy_func.h"
|
||||
|
||||
/* static */ bool AIAirport::IsValidAirportType(AirportType 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)
|
||||
{
|
||||
if (!::IsValidTile(tile)) return false;
|
||||
|
@@ -53,6 +53,13 @@ public:
|
||||
*/
|
||||
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.
|
||||
* @param tile The tile to check.
|
||||
|
@@ -39,6 +39,7 @@ void SQAIAirport_Register(Squirrel *engine) {
|
||||
SQAIAirport.DefSQConst(engine, AIAirport::PT_INVALID, "PT_INVALID");
|
||||
|
||||
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::IsAirportTile, "IsAirportTile", 2, ".i");
|
||||
SQAIAirport.DefSQStaticMethod(engine, &AIAirport::GetAirportWidth, "GetAirportWidth", 2, ".i");
|
||||
|
@@ -23,6 +23,12 @@
|
||||
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)
|
||||
{
|
||||
if (!AIBridge::_BuildBridgeRoad2()) {
|
||||
|
@@ -51,6 +51,14 @@ public:
|
||||
*/
|
||||
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.
|
||||
* @param bridge_id The bridge to get the name of.
|
||||
|
@@ -36,6 +36,7 @@ void SQAIBridge_Register(Squirrel *engine) {
|
||||
|
||||
SQAIBridge.DefSQStaticMethod(engine, &AIBridge::IsValidBridge, "IsValidBridge", 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::GetMaxSpeed, "GetMaxSpeed", 2, ".i");
|
||||
SQAIBridge.DefSQStaticMethod(engine, &AIBridge::GetPrice, "GetPrice", 3, ".ii");
|
||||
|
@@ -18,7 +18,7 @@ public:
|
||||
* The classes of cargo (from newgrf_cargo.h).
|
||||
*/
|
||||
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_EXPRESS = 1 << 2, //!< Express cargo (Goods, Food, Candy, but also possible for passengers)
|
||||
CC_ARMOURED = 1 << 3, //!< Armoured cargo (Valuables, Gold, Diamonds)
|
||||
@@ -52,6 +52,7 @@ public:
|
||||
/**
|
||||
* Gets the string representation of the cargo label.
|
||||
* @param cargo_type The cargo to get the string representation of.
|
||||
* @pre AICargo::IsValidCargo(cargo_type).
|
||||
* @return The cargo label.
|
||||
* @note Never use this to check if it is a certain cargo. NewGRF can
|
||||
* redefine all of the names.
|
||||
@@ -60,7 +61,10 @@ public:
|
||||
|
||||
/**
|
||||
* 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.
|
||||
* @pre AICargo::IsValidCargo(cargo_type).
|
||||
* @return True if and only if the cargo is freight.
|
||||
*/
|
||||
static bool IsFreight(CargoID cargo_type);
|
||||
@@ -68,6 +72,7 @@ public:
|
||||
/**
|
||||
* Check if this cargo is in the requested cargo class.
|
||||
* @param cargo_type The cargo to check on.
|
||||
* @pre AICargo::IsValidCargo(cargo_type).
|
||||
* @param cargo_class The class to check for.
|
||||
* @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.
|
||||
* @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.
|
||||
*/
|
||||
static TownEffect GetTownEffect(CargoID cargo_type);
|
||||
@@ -84,6 +90,7 @@ public:
|
||||
* Get the income for transporting a piece of cargo over the
|
||||
* given distance within the specified time.
|
||||
* @param cargo_type The cargo to transport.
|
||||
* @pre AICargo::IsValidCargo(cargo_type).
|
||||
* @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.
|
||||
* @return The amount of money that would be earned by this trip.
|
||||
|
@@ -153,7 +153,8 @@ public:
|
||||
* Return the location of a company's HQ.
|
||||
* @param company The company the get the HQ of.
|
||||
* @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);
|
||||
|
||||
|
@@ -5,6 +5,7 @@
|
||||
#include "../../stdafx.h"
|
||||
#include "../../string_func.h"
|
||||
#include "../../company_base.h"
|
||||
#include "../../rev.h"
|
||||
#include "table/strings.h"
|
||||
|
||||
#include "../ai.hpp"
|
||||
@@ -66,6 +67,11 @@ AIController::~AIController()
|
||||
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)
|
||||
{
|
||||
LoadedLibraryList::iterator iter = this->loaded_library.find(library_name);
|
||||
|
@@ -50,6 +50,18 @@ public:
|
||||
*/
|
||||
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
|
||||
* when you execute a command. Normally in SP this is 1, and in MP it is
|
||||
|
@@ -5,10 +5,11 @@
|
||||
void SQAIController_Register(Squirrel *engine) {
|
||||
DefSQClass <AIController> SQAIController("AIController");
|
||||
SQAIController.PreRegister(engine);
|
||||
SQAIController.DefSQStaticMethod(engine, &AIController::GetTick, "GetTick", 1, "?");
|
||||
SQAIController.DefSQStaticMethod(engine, &AIController::SetCommandDelay, "SetCommandDelay", 2, "?i");
|
||||
SQAIController.DefSQStaticMethod(engine, &AIController::Sleep, "Sleep", 2, "?i");
|
||||
SQAIController.DefSQStaticMethod(engine, &AIController::GetSetting, "GetSetting", 2, "?s");
|
||||
SQAIController.DefSQStaticMethod(engine, &AIController::Print, "Print", 3, "?bs");
|
||||
SQAIController.DefSQStaticMethod(engine, &AIController::GetTick, "GetTick", 1, ".");
|
||||
SQAIController.DefSQStaticMethod(engine, &AIController::SetCommandDelay, "SetCommandDelay", 2, ".i");
|
||||
SQAIController.DefSQStaticMethod(engine, &AIController::Sleep, "Sleep", 2, ".i");
|
||||
SQAIController.DefSQStaticMethod(engine, &AIController::GetSetting, "GetSetting", 2, ".s");
|
||||
SQAIController.DefSQStaticMethod(engine, &AIController::GetVersion, "GetVersion", 1, ".");
|
||||
SQAIController.DefSQStaticMethod(engine, &AIController::Print, "Print", 3, ".bs");
|
||||
SQAIController.PostRegister(engine);
|
||||
}
|
||||
|
@@ -6,9 +6,10 @@
|
||||
#include "ai_cargo.hpp"
|
||||
#include "../../company_func.h"
|
||||
#include "../../strings_func.h"
|
||||
#include "../../aircraft.h"
|
||||
#include "../../vehicle_func.h"
|
||||
#include "../../settings_type.h"
|
||||
#include "../../rail.h"
|
||||
#include "../../engine_base.h"
|
||||
#include "../../articulated_vehicles.h"
|
||||
#include "table/strings.h"
|
||||
|
||||
@@ -77,11 +78,8 @@
|
||||
} break;
|
||||
|
||||
case VEH_SHIP:
|
||||
return e->u.ship.capacity;
|
||||
break;
|
||||
|
||||
case VEH_AIRCRAFT:
|
||||
return AircraftDefaultCargoCapacity(e->GetDefaultCargoType(), &e->u.air);
|
||||
return e->GetDisplayDefaultCapacity();
|
||||
break;
|
||||
|
||||
default: NOT_REACHED();
|
||||
|
@@ -3,9 +3,11 @@
|
||||
/** @file ai_event_types.cpp Implementation of all EventTypes. */
|
||||
|
||||
#include "ai_event_types.hpp"
|
||||
#include "../../command_type.h"
|
||||
#include "../../strings_func.h"
|
||||
#include "../../settings_type.h"
|
||||
#include "../../aircraft.h"
|
||||
#include "../../rail.h"
|
||||
#include "../../engine_base.h"
|
||||
#include "../../articulated_vehicles.h"
|
||||
#include "table/strings.h"
|
||||
|
||||
@@ -41,11 +43,8 @@ int32 AIEventEnginePreview::GetCapacity()
|
||||
} break;
|
||||
|
||||
case VEH_SHIP:
|
||||
return e->u.ship.capacity;
|
||||
break;
|
||||
|
||||
case VEH_AIRCRAFT:
|
||||
return AircraftDefaultCargoCapacity(e->GetDefaultCargoType(), &e->u.air);
|
||||
return e->GetDisplayDefaultCapacity();
|
||||
break;
|
||||
|
||||
default: NOT_REACHED();
|
||||
|
@@ -86,7 +86,9 @@ public:
|
||||
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.
|
||||
* @pre IsValidIndustry(industry_id).
|
||||
* @return The number of stations around an industry.
|
||||
|
@@ -111,3 +111,24 @@
|
||||
uint32 seed = ::InteractiveRandom();
|
||||
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;
|
||||
}
|
||||
|
@@ -113,6 +113,30 @@ public:
|
||||
* @note If true is returned the money is paid, whether a new industry was build or not.
|
||||
*/
|
||||
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 */
|
||||
|
@@ -28,6 +28,9 @@ void SQAIIndustryType_Register(Squirrel *engine) {
|
||||
SQAIIndustryType.DefSQStaticMethod(engine, &AIIndustryType::CanProspectIndustry, "CanProspectIndustry", 2, ".i");
|
||||
SQAIIndustryType.DefSQStaticMethod(engine, &AIIndustryType::BuildIndustry, "BuildIndustry", 3, ".ii");
|
||||
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);
|
||||
}
|
||||
|
@@ -32,7 +32,7 @@
|
||||
log->lines = CallocT<char *>(80);
|
||||
log->type = CallocT<AILog::AILogType>(80);
|
||||
log->count = 80;
|
||||
log->pos = log->count;
|
||||
log->pos = log->count - 1;
|
||||
log->used = 0;
|
||||
}
|
||||
LogData *log = (LogData *)AIObject::GetLogPointer();
|
||||
|
@@ -17,6 +17,9 @@ public:
|
||||
TILE_INVALID = INVALID_TILE, //!< Invalid TileIndex.
|
||||
};
|
||||
#endif /* DEFINE_SCRIPT_FILES */
|
||||
#ifdef DOXYGEN_SKIP
|
||||
const static TileIndex TILE_INVALID; //!< Invalid TileIndex.
|
||||
#endif /* DOXYGEN_SKIP */
|
||||
|
||||
static const char *GetClassName() { return "AIMap"; }
|
||||
|
||||
|
@@ -23,7 +23,10 @@ static OrderType GetOrderTypeByTile(TileIndex t)
|
||||
|
||||
switch (::GetTileType(t)) {
|
||||
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_ROAD: if (::GetRoadTileType(t) == ROAD_TILE_DEPOT) return OT_GOTO_DEPOT; break;
|
||||
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);
|
||||
}
|
||||
|
||||
/**
|
||||
* 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)
|
||||
{
|
||||
if (order_position == ORDER_CURRENT) return false;
|
||||
@@ -52,6 +96,16 @@ static OrderType GetOrderTypeByTile(TileIndex t)
|
||||
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)
|
||||
{
|
||||
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_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;
|
||||
default: return false;
|
||||
}
|
||||
@@ -108,21 +165,41 @@ static OrderType GetOrderTypeByTile(TileIndex t)
|
||||
{
|
||||
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);
|
||||
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()) {
|
||||
case OT_GOTO_DEPOT:
|
||||
case OT_GOTO_DEPOT: {
|
||||
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;
|
||||
default: return INVALID_TILE;
|
||||
}
|
||||
@@ -132,19 +209,15 @@ static OrderType GetOrderTypeByTile(TileIndex t)
|
||||
{
|
||||
if (!IsValidVehicleOrder(vehicle_id, order_position)) return AIOF_INVALID;
|
||||
|
||||
const Order *order;
|
||||
if (order_position == ORDER_CURRENT) {
|
||||
order = &::GetVehicle(vehicle_id)->current_order;
|
||||
} else {
|
||||
order = ::GetVehicleOrder(GetVehicle(vehicle_id), order_position);
|
||||
if (order->GetType() == OT_CONDITIONAL) return AIOF_INVALID;
|
||||
}
|
||||
const Order *order = ::ResolveOrder(vehicle_id, order_position);
|
||||
if (order == NULL || order->GetType() == OT_CONDITIONAL) return AIOF_INVALID;
|
||||
|
||||
AIOrderFlags order_flags = AIOF_NONE;
|
||||
order_flags |= (AIOrderFlags)order->GetNonStopType();
|
||||
switch (order->GetType()) {
|
||||
case OT_GOTO_DEPOT:
|
||||
if (order->GetDepotOrderType() & ODTFB_SERVICE) order_flags |= AIOF_SERVICE_IF_NEEDED;
|
||||
if (order->GetDepotActionType() & ODATFB_HALT) order_flags |= AIOF_STOP_IN_DEPOT;
|
||||
break;
|
||||
|
||||
case OT_GOTO_STATION:
|
||||
@@ -260,9 +333,21 @@ static OrderType GetOrderTypeByTile(TileIndex t)
|
||||
|
||||
Order order;
|
||||
switch (::GetOrderTypeByTile(destination)) {
|
||||
case OT_GOTO_DEPOT:
|
||||
order.MakeGoToDepot(::GetDepotByTile(destination)->index, (OrderDepotTypeFlags)(ODTFB_PART_OF_ORDERS | ((order_flags & AIOF_SERVICE_IF_NEEDED) ? ODTFB_SERVICE : 0)));
|
||||
case OT_GOTO_DEPOT: {
|
||||
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;
|
||||
}
|
||||
|
||||
case OT_GOTO_STATION:
|
||||
order.MakeGoToStation(::GetStationIndex(destination));
|
||||
@@ -356,8 +441,11 @@ static void _DoCommandReturnSetOrderFlags(class AIInstance *instance)
|
||||
|
||||
switch (order->GetType()) {
|
||||
case OT_GOTO_DEPOT:
|
||||
if ((current & AIOF_SERVICE_IF_NEEDED) != (order_flags & AIOF_SERVICE_IF_NEEDED)) {
|
||||
return AIObject::DoCommand(0, vehicle_id | (order_position << 16), MOF_DEPOT_ACTION, CMD_MODIFY_ORDER, NULL, &_DoCommandReturnSetOrderFlags);
|
||||
if ((current & AIOF_DEPOT_FLAGS) != (order_flags & AIOF_DEPOT_FLAGS)) {
|
||||
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;
|
||||
|
||||
|
@@ -57,6 +57,8 @@ public:
|
||||
|
||||
/** Service the vehicle when needed, otherwise skip this order; only for depots. */
|
||||
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. */
|
||||
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,
|
||||
/** All flags related to loading. */
|
||||
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 */
|
||||
AIOF_INVALID = 0xFFFF,
|
||||
@@ -114,6 +118,33 @@ public:
|
||||
*/
|
||||
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.
|
||||
* @param vehicle_id The vehicle to check.
|
||||
@@ -123,6 +154,17 @@ public:
|
||||
*/
|
||||
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.
|
||||
* If the order index was ORDER_CURRENT it will be resolved to the index of
|
||||
|
@@ -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_NO_LOAD, "AIOF_NO_LOAD");
|
||||
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_UNLOAD_FLAGS, "AIOF_UNLOAD_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::OC_LOAD_PERCENTAGE, "OC_LOAD_PERCENTAGE");
|
||||
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_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::IsConditionalOrder, "IsConditionalOrder", 3, ".ii");
|
||||
SQAIOrder.DefSQStaticMethod(engine, &AIOrder::ResolveOrderPosition, "ResolveOrderPosition", 3, ".ii");
|
||||
SQAIOrder.DefSQStaticMethod(engine, &AIOrder::AreOrderFlagsValid, "AreOrderFlagsValid", 3, ".ii");
|
||||
SQAIOrder.DefSQStaticMethod(engine, &AIOrder::IsValidConditionalOrder, "IsValidConditionalOrder", 3, ".ii");
|
||||
SQAIOrder.DefSQStaticMethod(engine, &AIOrder::GetOrderCount, "GetOrderCount", 2, ".i");
|
||||
SQAIOrder.DefSQStaticMethod(engine, &AIOrder::GetOrderDestination, "GetOrderDestination", 3, ".ii");
|
||||
SQAIOrder.DefSQStaticMethod(engine, &AIOrder::GetOrderFlags, "GetOrderFlags", 3, ".ii");
|
||||
SQAIOrder.DefSQStaticMethod(engine, &AIOrder::GetOrderJumpTo, "GetOrderJumpTo", 3, ".ii");
|
||||
SQAIOrder.DefSQStaticMethod(engine, &AIOrder::GetOrderCondition, "GetOrderCondition", 3, ".ii");
|
||||
SQAIOrder.DefSQStaticMethod(engine, &AIOrder::GetOrderCompareFunction, "GetOrderCompareFunction", 3, ".ii");
|
||||
SQAIOrder.DefSQStaticMethod(engine, &AIOrder::GetOrderCompareValue, "GetOrderCompareValue", 3, ".ii");
|
||||
SQAIOrder.DefSQStaticMethod(engine, &AIOrder::SetOrderJumpTo, "SetOrderJumpTo", 4, ".iii");
|
||||
SQAIOrder.DefSQStaticMethod(engine, &AIOrder::SetOrderCondition, "SetOrderCondition", 4, ".iii");
|
||||
SQAIOrder.DefSQStaticMethod(engine, &AIOrder::SetOrderCompareFunction, "SetOrderCompareFunction", 4, ".iii");
|
||||
SQAIOrder.DefSQStaticMethod(engine, &AIOrder::SetOrderCompareValue, "SetOrderCompareValue", 4, ".iii");
|
||||
SQAIOrder.DefSQStaticMethod(engine, &AIOrder::AppendOrder, "AppendOrder", 4, ".iii");
|
||||
SQAIOrder.DefSQStaticMethod(engine, &AIOrder::AppendConditionalOrder, "AppendConditionalOrder", 3, ".ii");
|
||||
SQAIOrder.DefSQStaticMethod(engine, &AIOrder::InsertOrder, "InsertOrder", 5, ".iiii");
|
||||
SQAIOrder.DefSQStaticMethod(engine, &AIOrder::InsertConditionalOrder, "InsertConditionalOrder", 4, ".iii");
|
||||
SQAIOrder.DefSQStaticMethod(engine, &AIOrder::RemoveOrder, "RemoveOrder", 3, ".ii");
|
||||
SQAIOrder.DefSQStaticMethod(engine, &AIOrder::SetOrderFlags, "SetOrderFlags", 4, ".iii");
|
||||
SQAIOrder.DefSQStaticMethod(engine, &AIOrder::ChangeOrder, "ChangeOrder", 4, ".iii");
|
||||
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.DefSQStaticMethod(engine, &AIOrder::IsValidVehicleOrder, "IsValidVehicleOrder", 3, ".ii");
|
||||
SQAIOrder.DefSQStaticMethod(engine, &AIOrder::IsGotoStationOrder, "IsGotoStationOrder", 3, ".ii");
|
||||
SQAIOrder.DefSQStaticMethod(engine, &AIOrder::IsGotoDepotOrder, "IsGotoDepotOrder", 3, ".ii");
|
||||
SQAIOrder.DefSQStaticMethod(engine, &AIOrder::IsGotoWaypointOrder, "IsGotoWaypointOrder", 3, ".ii");
|
||||
SQAIOrder.DefSQStaticMethod(engine, &AIOrder::IsConditionalOrder, "IsConditionalOrder", 3, ".ii");
|
||||
SQAIOrder.DefSQStaticMethod(engine, &AIOrder::IsCurrentOrderPartOfOrderList, "IsCurrentOrderPartOfOrderList", 2, ".i");
|
||||
SQAIOrder.DefSQStaticMethod(engine, &AIOrder::ResolveOrderPosition, "ResolveOrderPosition", 3, ".ii");
|
||||
SQAIOrder.DefSQStaticMethod(engine, &AIOrder::AreOrderFlagsValid, "AreOrderFlagsValid", 3, ".ii");
|
||||
SQAIOrder.DefSQStaticMethod(engine, &AIOrder::IsValidConditionalOrder, "IsValidConditionalOrder", 3, ".ii");
|
||||
SQAIOrder.DefSQStaticMethod(engine, &AIOrder::GetOrderCount, "GetOrderCount", 2, ".i");
|
||||
SQAIOrder.DefSQStaticMethod(engine, &AIOrder::GetOrderDestination, "GetOrderDestination", 3, ".ii");
|
||||
SQAIOrder.DefSQStaticMethod(engine, &AIOrder::GetOrderFlags, "GetOrderFlags", 3, ".ii");
|
||||
SQAIOrder.DefSQStaticMethod(engine, &AIOrder::GetOrderJumpTo, "GetOrderJumpTo", 3, ".ii");
|
||||
SQAIOrder.DefSQStaticMethod(engine, &AIOrder::GetOrderCondition, "GetOrderCondition", 3, ".ii");
|
||||
SQAIOrder.DefSQStaticMethod(engine, &AIOrder::GetOrderCompareFunction, "GetOrderCompareFunction", 3, ".ii");
|
||||
SQAIOrder.DefSQStaticMethod(engine, &AIOrder::GetOrderCompareValue, "GetOrderCompareValue", 3, ".ii");
|
||||
SQAIOrder.DefSQStaticMethod(engine, &AIOrder::SetOrderJumpTo, "SetOrderJumpTo", 4, ".iii");
|
||||
SQAIOrder.DefSQStaticMethod(engine, &AIOrder::SetOrderCondition, "SetOrderCondition", 4, ".iii");
|
||||
SQAIOrder.DefSQStaticMethod(engine, &AIOrder::SetOrderCompareFunction, "SetOrderCompareFunction", 4, ".iii");
|
||||
SQAIOrder.DefSQStaticMethod(engine, &AIOrder::SetOrderCompareValue, "SetOrderCompareValue", 4, ".iii");
|
||||
SQAIOrder.DefSQStaticMethod(engine, &AIOrder::AppendOrder, "AppendOrder", 4, ".iii");
|
||||
SQAIOrder.DefSQStaticMethod(engine, &AIOrder::AppendConditionalOrder, "AppendConditionalOrder", 3, ".ii");
|
||||
SQAIOrder.DefSQStaticMethod(engine, &AIOrder::InsertOrder, "InsertOrder", 5, ".iiii");
|
||||
SQAIOrder.DefSQStaticMethod(engine, &AIOrder::InsertConditionalOrder, "InsertConditionalOrder", 4, ".iii");
|
||||
SQAIOrder.DefSQStaticMethod(engine, &AIOrder::RemoveOrder, "RemoveOrder", 3, ".ii");
|
||||
SQAIOrder.DefSQStaticMethod(engine, &AIOrder::SetOrderFlags, "SetOrderFlags", 4, ".iii");
|
||||
SQAIOrder.DefSQStaticMethod(engine, &AIOrder::ChangeOrder, "ChangeOrder", 4, ".iii");
|
||||
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);
|
||||
}
|
||||
|
@@ -5,12 +5,18 @@
|
||||
#include "ai_road.hpp"
|
||||
#include "ai_map.hpp"
|
||||
#include "ai_station.hpp"
|
||||
#include "ai_cargo.hpp"
|
||||
#include "../../station_map.h"
|
||||
#include "../../command_type.h"
|
||||
#include "../../settings_type.h"
|
||||
#include "../../company_func.h"
|
||||
#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)
|
||||
{
|
||||
if (!::IsValidTile(tile)) return false;
|
||||
|
@@ -56,6 +56,14 @@ public:
|
||||
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
|
||||
* used to traverse a tile. This excludes road depots and 'normal' road
|
||||
|
@@ -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_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::IsRoadDepotTile, "IsRoadDepotTile", 2, ".i");
|
||||
SQAIRoad.DefSQStaticMethod(engine, &AIRoad::IsRoadStationTile, "IsRoadStationTile", 2, ".i");
|
||||
|
@@ -11,6 +11,7 @@
|
||||
#include "../../water_map.h"
|
||||
#include "../../clear_map.h"
|
||||
#include "../../town.h"
|
||||
#include "../../landscape.h"
|
||||
|
||||
/* static */ bool AITile::IsBuildable(TileIndex tile)
|
||||
{
|
||||
@@ -72,14 +73,14 @@
|
||||
|
||||
/* 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);
|
||||
}
|
||||
|
||||
/* 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);
|
||||
}
|
||||
@@ -123,20 +124,41 @@
|
||||
|
||||
/* static */ AITile::Slope AITile::GetComplementSlope(Slope slope)
|
||||
{
|
||||
if (slope == SLOPE_INVALID) return SLOPE_INVALID;
|
||||
if (IsSteepSlope(slope)) return SLOPE_INVALID;
|
||||
if (IsHalftileSlope(slope)) return SLOPE_INVALID;
|
||||
if ((slope & ~SLOPE_ELEVATED) != 0) return SLOPE_INVALID;
|
||||
|
||||
return (Slope)::ComplementSlope((::Slope)slope);
|
||||
}
|
||||
|
||||
/* static */ int32 AITile::GetHeight(TileIndex tile)
|
||||
{
|
||||
if (!::IsValidTile(tile)) return false;
|
||||
if (!::IsValidTile(tile)) return -1;
|
||||
|
||||
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)
|
||||
{
|
||||
if (!::IsValidTile(tile)) return AICompany::COMPANY_INVALID;
|
||||
|
@@ -29,10 +29,28 @@ public:
|
||||
|
||||
/** Tile can't be lowered any lower */
|
||||
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
|
||||
* direction North, East, South and West. The top corner of a tile
|
||||
@@ -41,18 +59,18 @@ public:
|
||||
enum Slope {
|
||||
/* Values are important, as they represent the internal state of the game. */
|
||||
SLOPE_FLAT = 0x00, //!< A flat tile
|
||||
SLOPE_W = 0x01, //!< The west corner of the tile is raised
|
||||
SLOPE_S = 0x02, //!< The south corner of the tile is raised
|
||||
SLOPE_E = 0x04, //!< The east corner of the tile is raised
|
||||
SLOPE_N = 0x08, //!< The north corner of the tile is raised
|
||||
SLOPE_STEEP = 0x10, //!< Indicates the slope is steep
|
||||
SLOPE_W = 1 << CORNER_W, //!< The west corner of the tile is raised
|
||||
SLOPE_S = 1 << CORNER_S, //!< The south corner of the tile is raised
|
||||
SLOPE_E = 1 << CORNER_E, //!< The east 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 (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_SW = SLOPE_S | SLOPE_W, //!< South and west 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_EW = SLOPE_E | SLOPE_W, //!< East and west 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_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
|
||||
@@ -62,7 +80,7 @@ public:
|
||||
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_INVALID = 0xFF, //!< An invalid slope
|
||||
SLOPE_INVALID = 0xFFFF, //!< An invalid slope
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -129,6 +147,7 @@ public:
|
||||
|
||||
/**
|
||||
* 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.
|
||||
* @pre slope != SLOPE_INVALID.
|
||||
* @return True if the slope is a steep slope.
|
||||
@@ -137,9 +156,11 @@ public:
|
||||
|
||||
/**
|
||||
* 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.
|
||||
* @pre slope != SLOPE_INVALID.
|
||||
* @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);
|
||||
|
||||
@@ -193,9 +214,10 @@ public:
|
||||
|
||||
/**
|
||||
* 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.
|
||||
* @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);
|
||||
|
||||
@@ -211,13 +233,43 @@ public:
|
||||
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.
|
||||
* @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);
|
||||
|
||||
/**
|
||||
* 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.
|
||||
* @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,
|
||||
* 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 slope Corners to raise (SLOPE_xxx).
|
||||
* @pre tile < AIMap::GetMapSize().
|
||||
@@ -301,7 +356,10 @@ public:
|
||||
|
||||
/**
|
||||
* 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 slope Corners to lower (SLOPE_xxx).
|
||||
* @pre tile < AIMap::GetMapSize().
|
||||
|
@@ -7,6 +7,8 @@ namespace SQConvert {
|
||||
/* 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 <> 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 <> 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; }
|
||||
@@ -25,42 +27,53 @@ void SQAITile_Register(Squirrel *engine) {
|
||||
SQAITile.PreRegister(engine);
|
||||
SQAITile.AddConstructor<void (AITile::*)(), 1>(engine, "x");
|
||||
|
||||
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_LOW, "ERR_TILE_TOO_LOW");
|
||||
SQAITile.DefSQConst(engine, AITile::SLOPE_FLAT, "SLOPE_FLAT");
|
||||
SQAITile.DefSQConst(engine, AITile::SLOPE_W, "SLOPE_W");
|
||||
SQAITile.DefSQConst(engine, AITile::SLOPE_S, "SLOPE_S");
|
||||
SQAITile.DefSQConst(engine, AITile::SLOPE_E, "SLOPE_E");
|
||||
SQAITile.DefSQConst(engine, AITile::SLOPE_N, "SLOPE_N");
|
||||
SQAITile.DefSQConst(engine, AITile::SLOPE_STEEP, "SLOPE_STEEP");
|
||||
SQAITile.DefSQConst(engine, AITile::SLOPE_NW, "SLOPE_NW");
|
||||
SQAITile.DefSQConst(engine, AITile::SLOPE_SW, "SLOPE_SW");
|
||||
SQAITile.DefSQConst(engine, AITile::SLOPE_SE, "SLOPE_SE");
|
||||
SQAITile.DefSQConst(engine, AITile::SLOPE_NE, "SLOPE_NE");
|
||||
SQAITile.DefSQConst(engine, AITile::SLOPE_EW, "SLOPE_EW");
|
||||
SQAITile.DefSQConst(engine, AITile::SLOPE_NS, "SLOPE_NS");
|
||||
SQAITile.DefSQConst(engine, AITile::SLOPE_ELEVATED, "SLOPE_ELEVATED");
|
||||
SQAITile.DefSQConst(engine, AITile::SLOPE_NWS, "SLOPE_NWS");
|
||||
SQAITile.DefSQConst(engine, AITile::SLOPE_WSE, "SLOPE_WSE");
|
||||
SQAITile.DefSQConst(engine, AITile::SLOPE_SEN, "SLOPE_SEN");
|
||||
SQAITile.DefSQConst(engine, AITile::SLOPE_ENW, "SLOPE_ENW");
|
||||
SQAITile.DefSQConst(engine, AITile::SLOPE_STEEP_W, "SLOPE_STEEP_W");
|
||||
SQAITile.DefSQConst(engine, AITile::SLOPE_STEEP_S, "SLOPE_STEEP_S");
|
||||
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");
|
||||
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_LOW, "ERR_TILE_TOO_LOW");
|
||||
SQAITile.DefSQConst(engine, AITile::ERR_AREA_ALREADY_FLAT, "ERR_AREA_ALREADY_FLAT");
|
||||
SQAITile.DefSQConst(engine, AITile::ERR_EXCAVATION_WOULD_DAMAGE, "ERR_EXCAVATION_WOULD_DAMAGE");
|
||||
SQAITile.DefSQConst(engine, AITile::CORNER_W, "CORNER_W");
|
||||
SQAITile.DefSQConst(engine, AITile::CORNER_S, "CORNER_S");
|
||||
SQAITile.DefSQConst(engine, AITile::CORNER_E, "CORNER_E");
|
||||
SQAITile.DefSQConst(engine, AITile::CORNER_N, "CORNER_N");
|
||||
SQAITile.DefSQConst(engine, AITile::CORNER_INVALID, "CORNER_INVALID");
|
||||
SQAITile.DefSQConst(engine, AITile::SLOPE_FLAT, "SLOPE_FLAT");
|
||||
SQAITile.DefSQConst(engine, AITile::SLOPE_W, "SLOPE_W");
|
||||
SQAITile.DefSQConst(engine, AITile::SLOPE_S, "SLOPE_S");
|
||||
SQAITile.DefSQConst(engine, AITile::SLOPE_E, "SLOPE_E");
|
||||
SQAITile.DefSQConst(engine, AITile::SLOPE_N, "SLOPE_N");
|
||||
SQAITile.DefSQConst(engine, AITile::SLOPE_STEEP, "SLOPE_STEEP");
|
||||
SQAITile.DefSQConst(engine, AITile::SLOPE_NW, "SLOPE_NW");
|
||||
SQAITile.DefSQConst(engine, AITile::SLOPE_SW, "SLOPE_SW");
|
||||
SQAITile.DefSQConst(engine, AITile::SLOPE_SE, "SLOPE_SE");
|
||||
SQAITile.DefSQConst(engine, AITile::SLOPE_NE, "SLOPE_NE");
|
||||
SQAITile.DefSQConst(engine, AITile::SLOPE_EW, "SLOPE_EW");
|
||||
SQAITile.DefSQConst(engine, AITile::SLOPE_NS, "SLOPE_NS");
|
||||
SQAITile.DefSQConst(engine, AITile::SLOPE_ELEVATED, "SLOPE_ELEVATED");
|
||||
SQAITile.DefSQConst(engine, AITile::SLOPE_NWS, "SLOPE_NWS");
|
||||
SQAITile.DefSQConst(engine, AITile::SLOPE_WSE, "SLOPE_WSE");
|
||||
SQAITile.DefSQConst(engine, AITile::SLOPE_SEN, "SLOPE_SEN");
|
||||
SQAITile.DefSQConst(engine, AITile::SLOPE_ENW, "SLOPE_ENW");
|
||||
SQAITile.DefSQConst(engine, AITile::SLOPE_STEEP_W, "SLOPE_STEEP_W");
|
||||
SQAITile.DefSQConst(engine, AITile::SLOPE_STEEP_S, "SLOPE_STEEP_S");
|
||||
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_LOW);
|
||||
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_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_LOW, "ERR_TILE_TOO_LOW");
|
||||
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_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::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::GetComplementSlope, "GetComplementSlope", 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::HasTransportType, "HasTransportType", 3, ".ii");
|
||||
SQAITile.DefSQStaticMethod(engine, &AITile::GetCargoAcceptance, "GetCargoAcceptance", 6, ".iiiii");
|
||||
|
@@ -23,14 +23,26 @@
|
||||
/* If it's a tunnel alread, take the easy way out! */
|
||||
if (IsTunnelTile(tile)) return ::GetOtherTunnelEnd(tile);
|
||||
|
||||
::DoCommand(tile, 0, 0, DC_AUTO, CMD_BUILD_TUNNEL);
|
||||
return _build_tunnel_endtile == 0 ? INVALID_TILE : _build_tunnel_endtile;
|
||||
uint start_z;
|
||||
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)
|
||||
{
|
||||
if (!AITunnel::_BuildTunnelRoad2()) {
|
||||
AIObject::SetLastCommandRes(false);
|
||||
AIInstance::DoCommandReturn(instance);
|
||||
return;
|
||||
}
|
||||
@@ -43,7 +55,6 @@ static void _DoCommandReturnBuildTunnel2(class AIInstance *instance)
|
||||
static void _DoCommandReturnBuildTunnel1(class AIInstance *instance)
|
||||
{
|
||||
if (!AITunnel::_BuildTunnelRoad1()) {
|
||||
AIObject::SetLastCommandRes(false);
|
||||
AIInstance::DoCommandReturn(instance);
|
||||
return;
|
||||
}
|
||||
@@ -62,7 +73,7 @@ static void _DoCommandReturnBuildTunnel1(class AIInstance *instance)
|
||||
uint type = 0;
|
||||
if (vehicle_type == AIVehicle::VT_ROAD) {
|
||||
type |= (TRANSPORT_ROAD << 9);
|
||||
type |= RoadTypeToRoadTypes((::RoadType)AIObject::GetRoadType());
|
||||
type |= ::RoadTypeToRoadTypes((::RoadType)AIObject::GetRoadType());
|
||||
} else {
|
||||
type |= (TRANSPORT_RAIL << 9);
|
||||
type |= AIRail::GetCurrentRailType();
|
||||
@@ -74,10 +85,7 @@ static void _DoCommandReturnBuildTunnel1(class AIInstance *instance)
|
||||
}
|
||||
|
||||
AIObject::SetCallbackVariable(0, start);
|
||||
if (!AIObject::DoCommand(start, type, 0, CMD_BUILD_TUNNEL, NULL, &_DoCommandReturnBuildTunnel1)) return false;
|
||||
|
||||
/* In case of test-mode, test if we can build both road pieces */
|
||||
return _BuildTunnelRoad1();
|
||||
return AIObject::DoCommand(start, type, 0, CMD_BUILD_TUNNEL, NULL, &_DoCommandReturnBuildTunnel1);
|
||||
}
|
||||
|
||||
/* 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_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;
|
||||
|
||||
/* In case of test-mode, test the other road piece too */
|
||||
return _BuildTunnelRoad2();
|
||||
return AIObject::DoCommand(start + ::TileOffsByDiagDir(dir_1), ::DiagDirToRoadBits(dir_2) | (AIObject::GetRoadType() << 4), 0, CMD_BUILD_ROAD, NULL, &_DoCommandReturnBuildTunnel2);
|
||||
}
|
||||
|
||||
/* static */ bool AITunnel::_BuildTunnelRoad2()
|
||||
|
@@ -46,11 +46,15 @@ public:
|
||||
|
||||
/**
|
||||
* 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.
|
||||
* @pre AIMap::IsValidTile(tile).
|
||||
* @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);
|
||||
|
||||
|
@@ -1,6 +1,75 @@
|
||||
/* $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
|
||||
#define AI_TYPES_HPP
|
||||
|
@@ -160,6 +160,13 @@
|
||||
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)
|
||||
{
|
||||
if (!IsValidVehicle(vehicle_id)) return false;
|
||||
|
@@ -422,14 +422,25 @@ public:
|
||||
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.
|
||||
* @pre IsValidVehicle(vehicle_id).
|
||||
* @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);
|
||||
|
||||
/**
|
||||
* 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.
|
||||
* @param vehicle_id The vehicle to start/stop.
|
||||
|
@@ -98,47 +98,48 @@ void SQAIVehicle_Register(Squirrel *engine) {
|
||||
AIError::RegisterErrorMapString(AIVehicle::ERR_VEHICLE_IN_FLIGHT, "ERR_VEHICLE_IN_FLIGHT");
|
||||
AIError::RegisterErrorMapString(AIVehicle::ERR_VEHCILE_NO_POWER, "ERR_VEHCILE_NO_POWER");
|
||||
|
||||
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::IsValidVehicle, "IsValidVehicle", 2, ".i");
|
||||
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetNumWagons, "GetNumWagons", 2, ".i");
|
||||
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::SetName, "SetName", 3, ".is");
|
||||
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetName, "GetName", 2, ".i");
|
||||
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetLocation, "GetLocation", 2, ".i");
|
||||
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetEngineType, "GetEngineType", 2, ".i");
|
||||
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetWagonEngineType, "GetWagonEngineType", 3, ".ii");
|
||||
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetUnitNumber, "GetUnitNumber", 2, ".i");
|
||||
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetAge, "GetAge", 2, ".i");
|
||||
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetWagonAge, "GetWagonAge", 3, ".ii");
|
||||
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetMaxAge, "GetMaxAge", 2, ".i");
|
||||
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetAgeLeft, "GetAgeLeft", 2, ".i");
|
||||
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetCurrentSpeed, "GetCurrentSpeed", 2, ".i");
|
||||
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetState, "GetState", 2, ".i");
|
||||
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetRunningCost, "GetRunningCost", 2, ".i");
|
||||
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetProfitThisYear, "GetProfitThisYear", 2, ".i");
|
||||
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetProfitLastYear, "GetProfitLastYear", 2, ".i");
|
||||
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetCurrentValue, "GetCurrentValue", 2, ".i");
|
||||
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetVehicleType, "GetVehicleType", 2, ".i");
|
||||
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetRoadType, "GetRoadType", 2, ".i");
|
||||
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::IsInDepot, "IsInDepot", 2, ".i");
|
||||
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::IsStoppedInDepot, "IsStoppedInDepot", 2, ".i");
|
||||
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::BuildVehicle, "BuildVehicle", 3, ".ii");
|
||||
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::CloneVehicle, "CloneVehicle", 4, ".iib");
|
||||
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::MoveWagon, "MoveWagon", 5, ".iiii");
|
||||
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::MoveWagonChain, "MoveWagonChain", 5, ".iiii");
|
||||
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetRefitCapacity, "GetRefitCapacity", 3, ".ii");
|
||||
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::RefitVehicle, "RefitVehicle", 3, ".ii");
|
||||
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::SellVehicle, "SellVehicle", 2, ".i");
|
||||
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::SellWagon, "SellWagon", 3, ".ii");
|
||||
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::SellWagonChain, "SellWagonChain", 3, ".ii");
|
||||
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::SendVehicleToDepot, "SendVehicleToDepot", 2, ".i");
|
||||
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::StartStopVehicle, "StartStopVehicle", 2, ".i");
|
||||
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::SkipToVehicleOrder, "SkipToVehicleOrder", 3, ".ii");
|
||||
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::ReverseVehicle, "ReverseVehicle", 2, ".i");
|
||||
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetCapacity, "GetCapacity", 3, ".ii");
|
||||
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetLength, "GetLength", 2, ".i");
|
||||
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetCargoLoad, "GetCargoLoad", 3, ".ii");
|
||||
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetGroupID, "GetGroupID", 2, ".i");
|
||||
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::IsArticulated, "IsArticulated", 2, ".i");
|
||||
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::HasSharedOrders, "HasSharedOrders", 2, ".i");
|
||||
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::IsValidVehicle, "IsValidVehicle", 2, ".i");
|
||||
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetNumWagons, "GetNumWagons", 2, ".i");
|
||||
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::SetName, "SetName", 3, ".is");
|
||||
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetName, "GetName", 2, ".i");
|
||||
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetLocation, "GetLocation", 2, ".i");
|
||||
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetEngineType, "GetEngineType", 2, ".i");
|
||||
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetWagonEngineType, "GetWagonEngineType", 3, ".ii");
|
||||
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetUnitNumber, "GetUnitNumber", 2, ".i");
|
||||
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetAge, "GetAge", 2, ".i");
|
||||
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetWagonAge, "GetWagonAge", 3, ".ii");
|
||||
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetMaxAge, "GetMaxAge", 2, ".i");
|
||||
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetAgeLeft, "GetAgeLeft", 2, ".i");
|
||||
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetCurrentSpeed, "GetCurrentSpeed", 2, ".i");
|
||||
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetState, "GetState", 2, ".i");
|
||||
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetRunningCost, "GetRunningCost", 2, ".i");
|
||||
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetProfitThisYear, "GetProfitThisYear", 2, ".i");
|
||||
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetProfitLastYear, "GetProfitLastYear", 2, ".i");
|
||||
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetCurrentValue, "GetCurrentValue", 2, ".i");
|
||||
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetVehicleType, "GetVehicleType", 2, ".i");
|
||||
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetRoadType, "GetRoadType", 2, ".i");
|
||||
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::IsInDepot, "IsInDepot", 2, ".i");
|
||||
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::IsStoppedInDepot, "IsStoppedInDepot", 2, ".i");
|
||||
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::BuildVehicle, "BuildVehicle", 3, ".ii");
|
||||
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::CloneVehicle, "CloneVehicle", 4, ".iib");
|
||||
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::MoveWagon, "MoveWagon", 5, ".iiii");
|
||||
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::MoveWagonChain, "MoveWagonChain", 5, ".iiii");
|
||||
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetRefitCapacity, "GetRefitCapacity", 3, ".ii");
|
||||
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::RefitVehicle, "RefitVehicle", 3, ".ii");
|
||||
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::SellVehicle, "SellVehicle", 2, ".i");
|
||||
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::SellWagon, "SellWagon", 3, ".ii");
|
||||
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::SellWagonChain, "SellWagonChain", 3, ".ii");
|
||||
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::SendVehicleToDepot, "SendVehicleToDepot", 2, ".i");
|
||||
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::SendVehicleToDepotForServicing, "SendVehicleToDepotForServicing", 2, ".i");
|
||||
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::StartStopVehicle, "StartStopVehicle", 2, ".i");
|
||||
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::SkipToVehicleOrder, "SkipToVehicleOrder", 3, ".ii");
|
||||
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::ReverseVehicle, "ReverseVehicle", 2, ".i");
|
||||
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetCapacity, "GetCapacity", 3, ".ii");
|
||||
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetLength, "GetLength", 2, ".i");
|
||||
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetCargoLoad, "GetCargoLoad", 3, ".ii");
|
||||
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetGroupID, "GetGroupID", 2, ".i");
|
||||
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::IsArticulated, "IsArticulated", 2, ".i");
|
||||
SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::HasSharedOrders, "HasSharedOrders", 2, ".i");
|
||||
|
||||
SQAIVehicle.PostRegister(engine);
|
||||
}
|
||||
|
@@ -16,7 +16,7 @@ public:
|
||||
static const char *GetClassName() { return "AIWaypoint"; }
|
||||
|
||||
enum SpecialWaypointIDs {
|
||||
WAYPOINT_INVALID = -1, //!< An invalid WaypointID.
|
||||
WAYPOINT_INVALID = 0xFFFF, //!< An invalid WaypointID.
|
||||
};
|
||||
|
||||
/**
|
||||
|
@@ -5,7 +5,6 @@
|
||||
#include "stdafx.h"
|
||||
#include "train.h"
|
||||
#include "roadveh.h"
|
||||
#include "aircraft.h"
|
||||
#include "newgrf_engine.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);
|
||||
if (cargo_type != NULL) *cargo_type = cargo;
|
||||
if (cargo == CT_INVALID) return 0;
|
||||
switch (type) {
|
||||
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();
|
||||
}
|
||||
|
||||
return e->GetDisplayDefaultCapacity();
|
||||
}
|
||||
|
||||
/**
|
||||
|
@@ -120,8 +120,8 @@ static int CDECL EngineReliabilitySorter(const void *a, const void *b)
|
||||
|
||||
static int CDECL EngineCostSorter(const void *a, const void *b)
|
||||
{
|
||||
int va = GetEngine(*(const EngineID*)a)->GetRunningCost();
|
||||
int vb = GetEngine(*(const EngineID*)b)->GetRunningCost();
|
||||
Money va = GetEngine(*(const EngineID*)a)->GetCost();
|
||||
Money vb = GetEngine(*(const EngineID*)b)->GetCost();
|
||||
int r = ClampToI32(va - vb);
|
||||
|
||||
/* 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 */
|
||||
static int CDECL ShipEngineCapacitySorter(const void *a, const void *b)
|
||||
{
|
||||
int va = ShipVehInfo(*(const EngineID*)a)->capacity;
|
||||
int vb = ShipVehInfo(*(const EngineID*)b)->capacity;
|
||||
const Engine *e_a = GetEngine(*(const EngineID*)a);
|
||||
const Engine *e_b = GetEngine(*(const EngineID*)b);
|
||||
|
||||
int va = e_a->GetDisplayDefaultCapacity();
|
||||
int vb = e_b->GetDisplayDefaultCapacity();
|
||||
int r = va - vb;
|
||||
|
||||
/* 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_b = GetEngine(*(const EngineID*)b);
|
||||
|
||||
int va = AircraftDefaultCargoCapacity(e_a->GetDefaultCargoType(), &e_a->u.air);
|
||||
int vb = AircraftDefaultCargoCapacity(e_b->GetDefaultCargoType(), &e_b->u.air);
|
||||
int va = e_a->GetDisplayDefaultCapacity();
|
||||
int vb = e_b->GetDisplayDefaultCapacity();
|
||||
int r = va - vb;
|
||||
|
||||
if (r == 0) {
|
||||
@@ -383,7 +386,7 @@ static int DrawRailWagonPurchaseInfo(int x, int y, EngineID engine_number, const
|
||||
/* Wagon weight - (including cargo) */
|
||||
uint weight = e->GetDisplayWeight();
|
||||
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);
|
||||
DrawString(x, y, STR_PURCHASE_INFO_WEIGHT_CWEIGHT, TC_FROMSTRING);
|
||||
y += 10;
|
||||
@@ -482,7 +485,7 @@ static int DrawShipPurchaseInfo(int x, int y, EngineID engine_number, const Ship
|
||||
|
||||
/* Cargo type + capacity */
|
||||
SetDParam(0, e->GetDefaultCargoType());
|
||||
SetDParam(1, GetEngineProperty(engine_number, 0x0D, svi->capacity));
|
||||
SetDParam(1, e->GetDisplayDefaultCapacity());
|
||||
SetDParam(2, refittable ? STR_9842_REFITTABLE : STR_EMPTY);
|
||||
DrawString(x, y, STR_PURCHASE_INFO_CAPACITY, TC_FROMSTRING);
|
||||
y += 10;
|
||||
@@ -509,14 +512,14 @@ static int DrawAircraftPurchaseInfo(int x, int y, EngineID engine_number, const
|
||||
|
||||
/* Cargo capacity */
|
||||
if (cargo == CT_INVALID || cargo == CT_PASSENGERS) {
|
||||
SetDParam(0, avi->passenger_capacity);
|
||||
SetDParam(0, e->GetDisplayDefaultCapacity());
|
||||
SetDParam(1, avi->mail_capacity);
|
||||
DrawString(x, y, STR_PURCHASE_INFO_AIRCRAFT_CAPACITY, TC_FROMSTRING);
|
||||
} else {
|
||||
/* Note, if the default capacity is selected by the refit capacity
|
||||
* callback, then the capacity shown is likely to be incorrect. */
|
||||
SetDParam(0, cargo);
|
||||
SetDParam(1, AircraftDefaultCargoCapacity(cargo, avi));
|
||||
SetDParam(1, e->GetDisplayDefaultCapacity());
|
||||
SetDParam(2, refittable ? STR_9842_REFITTABLE : STR_EMPTY);
|
||||
DrawString(x, y, STR_PURCHASE_INFO_CAPACITY, TC_FROMSTRING);
|
||||
}
|
||||
|
@@ -116,13 +116,13 @@ void IConsolePrint(ConsoleColour colour_code, const char *string)
|
||||
* by any other means. Uses printf() style format, for more information look
|
||||
* at IConsolePrint()
|
||||
*/
|
||||
void CDECL IConsolePrintF(ConsoleColour colour_code, const char *s, ...)
|
||||
void CDECL IConsolePrintF(ConsoleColour colour_code, const char *format, ...)
|
||||
{
|
||||
va_list va;
|
||||
char buf[ICON_MAX_STREAMSIZE];
|
||||
|
||||
va_start(va, s);
|
||||
vsnprintf(buf, sizeof(buf), s, va);
|
||||
va_start(va, format);
|
||||
vsnprintf(buf, sizeof(buf), format, va);
|
||||
va_end(va);
|
||||
|
||||
IConsolePrint(colour_code, buf);
|
||||
|
@@ -640,6 +640,11 @@ DEF_CONSOLE_CMD(ConJoinCompany)
|
||||
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 */
|
||||
if (NetworkCompanyIsPassworded(company_id) && argc < 3) {
|
||||
IConsolePrintF(CC_ERROR, "Company %d requires a password to join.", company_id + 1);
|
||||
@@ -678,6 +683,11 @@ DEF_CONSOLE_CMD(ConMoveClient)
|
||||
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) {
|
||||
IConsoleError("Silly boy, you cannot move the server!");
|
||||
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
|
||||
* 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 > MAX_COMPANIES) return false;
|
||||
_network_playas--;
|
||||
if (!IsValidCompanyID(_network_playas)) return false;
|
||||
}
|
||||
}
|
||||
if (port != NULL) {
|
||||
@@ -1189,7 +1199,7 @@ DEF_CONSOLE_CMD(ConInfoVar)
|
||||
|
||||
IConsolePrintF(CC_DEFAULT, "variable name: %s", var->name);
|
||||
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.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 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.pre) IConsoleWarning("command is pre hooked");
|
||||
@@ -1421,7 +1431,7 @@ DEF_CONSOLE_CMD(ConCompanies)
|
||||
const NetworkCompanyStats *stats = &company_stats[c->index];
|
||||
|
||||
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),
|
||||
/* trains */ stats->num_vehicle[0],
|
||||
/* lorry + bus */ stats->num_vehicle[1] + stats->num_vehicle[2],
|
||||
|
@@ -17,7 +17,7 @@ void IConsoleClose();
|
||||
|
||||
/* console output */
|
||||
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 IConsoleWarning(const char *string);
|
||||
void IConsoleError(const char *string);
|
||||
|
@@ -11,7 +11,7 @@
|
||||
*/
|
||||
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)
|
||||
{
|
||||
error("Out of memory. Cannot reallocate %i bytes", size);
|
||||
error("Out of memory. Cannot reallocate " PRINTF_SIZE " bytes", size);
|
||||
}
|
||||
|
@@ -86,7 +86,7 @@ public:
|
||||
FORCEINLINE OverflowSafeInt operator * (const byte factor) const { OverflowSafeInt result = *this; result *= (int64)factor; return result; }
|
||||
|
||||
/* 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 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; }
|
||||
|
@@ -108,7 +108,7 @@ static FORCEINLINE uint32 InteractiveRandomRange(uint16 max)
|
||||
* 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)
|
||||
* 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
|
||||
* 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 b The denominator of the fraction, must of course not be null
|
||||
* @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)
|
||||
{
|
||||
assert(b != 0);
|
||||
return (uint16)r < (uint16)(((a << 16) + b / 2) / b);
|
||||
return (((uint16)r * b + b / 2) >> 16) < a;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@@ -10,40 +10,40 @@
|
||||
|
||||
#include "table/strings.h"
|
||||
|
||||
/* exchange rate prefix symbol_pos
|
||||
* | separator | postfix |
|
||||
* | | Euro year | | | name
|
||||
* | | | | | | | */
|
||||
/* exchange rate prefix symbol_pos
|
||||
* | separator | postfix |
|
||||
* | | Euro year | | | name
|
||||
* | | | | | | | */
|
||||
static const CurrencySpec origin_currency_specs[NUM_CURRENCY] = {
|
||||
{ 1, ',', CF_NOEURO, "£", "", 0, STR_CURR_GBP }, ///< british pounds
|
||||
{ 2, ',', CF_NOEURO, "$", "", 0, STR_CURR_USD }, ///< us dollars
|
||||
{ 2, ',', CF_ISEURO, "€", "", 0, STR_CURR_EUR }, ///< Euro
|
||||
{ 220, ',', CF_NOEURO, "¥", "", 0, STR_CURR_YEN }, ///< yen
|
||||
{ 20, ',', 2002, "", " S.", 1, STR_CURR_ATS }, ///< austrian schilling
|
||||
{ 59, ',', 2002, "BEF ", "", 0, STR_CURR_BEF }, ///< belgian franc
|
||||
{ 2, ',', CF_NOEURO, "CHF ", "", 0, STR_CURR_CHF }, ///< swiss franc
|
||||
{ 41, ',', CF_NOEURO, "", " Kč", 1, STR_CURR_CZK }, ///< czech koruna
|
||||
{ 3, '.', 2002, "DM ", "", 0, STR_CURR_DEM }, ///< deutsche mark
|
||||
{ 11, '.', CF_NOEURO, "", " kr", 1, STR_CURR_DKK }, ///< danish krone
|
||||
{ 245, '.', 2002, "Pts ", "", 0, STR_CURR_ESP }, ///< spanish pesetas
|
||||
{ 9, ',', 2002, "", " mk", 1, STR_CURR_FIM }, ///< finnish markka
|
||||
{ 10, '.', 2002, "FF ", "", 0, STR_CURR_FRF }, ///< french francs
|
||||
{ 500, ',', 2002, "", "Dr.", 1, STR_CURR_GRD }, ///< greek drachma
|
||||
{ 378, ',', CF_NOEURO, "", " Ft", 1, STR_CURR_HUF }, ///< hungarian forint
|
||||
{ 130, '.', CF_NOEURO, "", " Kr", 1, STR_CURR_ISK }, ///< icelandic krona
|
||||
{ 2850, ',', 2002, "", " L.", 1, STR_CURR_ITL }, ///< italian lira
|
||||
{ 3, ',', 2002, "NLG ", "", 0, STR_CURR_NLG }, ///< dutch gulden
|
||||
{ 12, '.', CF_NOEURO, "", " Kr", 1, STR_CURR_NOK }, ///< norwegian krone
|
||||
{ 6, ' ', CF_NOEURO, "", " zl", 1, STR_CURR_PLN }, ///< polish zloty
|
||||
{ 5, '.', CF_NOEURO, "", " Lei", 1, STR_CURR_ROL }, ///< romanian Lei
|
||||
{ 50, ' ', CF_NOEURO, "", " p", 1, STR_CURR_RUR }, ///< russian rouble
|
||||
{ 352, '.', 2007, "", " SIT", 1, STR_CURR_SIT }, ///< slovenian tolar
|
||||
{ 13, '.', CF_NOEURO, "", " Kr", 1, STR_CURR_SEK }, ///< swedish krona
|
||||
{ 3, '.', CF_NOEURO, "", " TL", 1, STR_CURR_TRY }, ///< turkish lira
|
||||
{ 52, ',', 2009, "", " Sk", 1, STR_CURR_SKK }, ///< slovak koruna
|
||||
{ 4, ',', CF_NOEURO, "R$ ", "", 0, STR_CURR_BRL }, ///< brazil real
|
||||
{ 20, '.', CF_NOEURO, "", " EEK", 1, STR_CURR_EEK }, ///< estonian krooni
|
||||
{ 1, ' ', CF_NOEURO, "", "", 2, STR_CURR_CUSTOM }, ///< custom currency
|
||||
{ 1, ',', CF_NOEURO, "\xC2\xA3", "", 0, STR_CURR_GBP }, ///< british pounds
|
||||
{ 2, ',', CF_NOEURO, "$", "", 0, STR_CURR_USD }, ///< us dollars
|
||||
{ 2, ',', CF_ISEURO, "\xE2\x82\xAC", "", 0, STR_CURR_EUR }, ///< Euro
|
||||
{ 220, ',', CF_NOEURO, "\xC2\xA5", "", 0, STR_CURR_YEN }, ///< yen
|
||||
{ 20, ',', 2002, "", " S.", 1, STR_CURR_ATS }, ///< austrian schilling
|
||||
{ 59, ',', 2002, "BEF ", "", 0, STR_CURR_BEF }, ///< belgian franc
|
||||
{ 2, ',', CF_NOEURO, "CHF ", "", 0, STR_CURR_CHF }, ///< swiss franc
|
||||
{ 41, ',', CF_NOEURO, "", " K\xC4\x8D", 1, STR_CURR_CZK }, ///< czech koruna
|
||||
{ 3, '.', 2002, "DM ", "", 0, STR_CURR_DEM }, ///< deutsche mark
|
||||
{ 11, '.', CF_NOEURO, "", " kr", 1, STR_CURR_DKK }, ///< danish krone
|
||||
{ 245, '.', 2002, "Pts ", "", 0, STR_CURR_ESP }, ///< spanish pesetas
|
||||
{ 9, ',', 2002, "", " mk", 1, STR_CURR_FIM }, ///< finnish markka
|
||||
{ 10, '.', 2002, "FF ", "", 0, STR_CURR_FRF }, ///< french francs
|
||||
{ 500, ',', 2002, "", "Dr.", 1, STR_CURR_GRD }, ///< greek drachma
|
||||
{ 378, ',', CF_NOEURO, "", " Ft", 1, STR_CURR_HUF }, ///< hungarian forint
|
||||
{ 130, '.', CF_NOEURO, "", " Kr", 1, STR_CURR_ISK }, ///< icelandic krona
|
||||
{ 2850, ',', 2002, "", " L.", 1, STR_CURR_ITL }, ///< italian lira
|
||||
{ 3, ',', 2002, "NLG ", "", 0, STR_CURR_NLG }, ///< dutch gulden
|
||||
{ 12, '.', CF_NOEURO, "", " Kr", 1, STR_CURR_NOK }, ///< norwegian krone
|
||||
{ 6, ' ', CF_NOEURO, "", " zl", 1, STR_CURR_PLN }, ///< polish zloty
|
||||
{ 5, '.', CF_NOEURO, "", " Lei", 1, STR_CURR_RON }, ///< romanian Lei
|
||||
{ 50, ' ', CF_NOEURO, "", " p", 1, STR_CURR_RUR }, ///< russian rouble
|
||||
{ 352, '.', 2007, "", " SIT", 1, STR_CURR_SIT }, ///< slovenian tolar
|
||||
{ 13, '.', CF_NOEURO, "", " Kr", 1, STR_CURR_SEK }, ///< swedish krona
|
||||
{ 3, '.', CF_NOEURO, "", " TL", 1, STR_CURR_TRY }, ///< turkish lira
|
||||
{ 52, ',', 2009, "", " Sk", 1, STR_CURR_SKK }, ///< slovak koruna
|
||||
{ 4, ',', CF_NOEURO, "R$ ", "", 0, STR_CURR_BRL }, ///< brazil real
|
||||
{ 20, '.', CF_NOEURO, "", " EEK", 1, STR_CURR_EEK }, ///< estonian krooni
|
||||
{ 1, ' ', CF_NOEURO, "", "", 2, STR_CURR_CUSTOM }, ///< custom currency
|
||||
};
|
||||
|
||||
/* Array of currencies used by the system */
|
||||
@@ -76,7 +76,7 @@ enum {
|
||||
CURR_NLG,
|
||||
CURR_NOK,
|
||||
CURR_PLN,
|
||||
CURR_ROL,
|
||||
CURR_RON,
|
||||
CURR_RUR,
|
||||
CURR_SIT,
|
||||
CURR_SEK,
|
||||
|
@@ -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];
|
||||
|
||||
s = va_arg(va, const char*);
|
||||
vsnprintf(buf, lengthof(buf), s, va);
|
||||
va_list va;
|
||||
va_start(va, format);
|
||||
vsnprintf(buf, lengthof(buf), format, va);
|
||||
va_end(va);
|
||||
|
||||
debug_print(dbg, buf);
|
||||
@@ -149,7 +147,7 @@ void SetDebugString(const char *s)
|
||||
if (p != NULL) {
|
||||
*p = v;
|
||||
} else {
|
||||
ShowInfoF("Unknown debug level '%.*s'", s - t, t);
|
||||
ShowInfoF("Unknown debug level '%.*s'", (int)(s - t), t);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
11
src/debug.h
11
src/debug.h
@@ -50,19 +50,12 @@
|
||||
extern int _debug_gamelog_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 */
|
||||
|
||||
void SetDebugString(const char *s);
|
||||
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
|
||||
*
|
||||
* Usage:
|
||||
@@ -100,6 +93,6 @@ const char *GetDebugString();
|
||||
}
|
||||
|
||||
void ShowInfo(const char *str);
|
||||
void CDECL ShowInfoF(const char *str, ...);
|
||||
void CDECL ShowInfoF(const char *str, ...) WARN_FORMAT(1, 2);
|
||||
|
||||
#endif /* DEBUG_H */
|
||||
|
@@ -566,6 +566,12 @@ static void DisasterTick_Big_Ufo(Vehicle *v)
|
||||
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);
|
||||
if (z < v->z_pos) {
|
||||
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;
|
||||
|
||||
if (HasBit(r, 31)) {
|
||||
y = MapMaxX() * TILE_SIZE - TILE_SIZE / 2 - 1;
|
||||
y = MapMaxY() * TILE_SIZE - TILE_SIZE / 2 - 1;
|
||||
dir = DIR_NW;
|
||||
} else {
|
||||
y = TILE_SIZE / 2;
|
||||
|
@@ -177,6 +177,36 @@ bool Engine::CanCarryCargo() const
|
||||
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
|
||||
{
|
||||
switch (this->type) {
|
||||
|
@@ -53,6 +53,7 @@ struct Engine : PoolItem<Engine, EngineID, &_Engine_pool> {
|
||||
|
||||
CargoID GetDefaultCargoType() const;
|
||||
bool CanCarryCargo() const;
|
||||
uint GetDisplayDefaultCapacity() const;
|
||||
Money GetRunningCost() const;
|
||||
Money GetCost() const;
|
||||
uint GetDisplayMaxSpeed() const;
|
||||
|
@@ -14,7 +14,6 @@
|
||||
#include "engine_gui.h"
|
||||
#include "articulated_vehicles.h"
|
||||
#include "rail.h"
|
||||
#include "aircraft.h"
|
||||
|
||||
#include "table/strings.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) {
|
||||
SetDParam(0, e->GetCost());
|
||||
SetDParam(1, e->GetDisplayMaxSpeed());
|
||||
SetDParam(2, e->u.air.passenger_capacity);
|
||||
SetDParam(2, e->GetDisplayDefaultCapacity());
|
||||
SetDParam(3, e->u.air.mail_capacity);
|
||||
SetDParam(4, e->GetRunningCost());
|
||||
|
||||
@@ -160,7 +159,7 @@ static void DrawAircraftEngineInfo(EngineID engine, int x, int y, int maxw)
|
||||
SetDParam(0, e->GetCost());
|
||||
SetDParam(1, e->GetDisplayMaxSpeed());
|
||||
SetDParam(2, cargo);
|
||||
SetDParam(3, AircraftDefaultCargoCapacity(cargo, &e->u.air));
|
||||
SetDParam(3, e->GetDisplayDefaultCapacity());
|
||||
SetDParam(4, e->GetRunningCost());
|
||||
|
||||
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)
|
||||
{
|
||||
const ShipVehicleInfo *svi = ShipVehInfo(engine);
|
||||
const Engine *e = GetEngine(engine);
|
||||
|
||||
SetDParam(0, e->GetCost());
|
||||
SetDParam(1, e->GetDisplayMaxSpeed());
|
||||
SetDParam(2, e->GetDefaultCargoType());
|
||||
SetDParam(3, GetEngineProperty(engine, 0x0D, svi->capacity));
|
||||
SetDParam(3, e->GetDisplayDefaultCapacity());
|
||||
SetDParam(4, e->GetRunningCost());
|
||||
DrawStringMultiCenter(x, y, STR_982E_COST_MAX_SPEED_CAPACITY, maxw);
|
||||
}
|
||||
|
@@ -363,7 +363,7 @@ FILE *FioFOpenFile(const char *filename, const char *mode, Subdirectory subdir,
|
||||
char resolved_name[MAX_RESOLVED_LENGTH];
|
||||
|
||||
/* Filenames in tars are always forced to be lowercase */
|
||||
strcpy(resolved_name, filename);
|
||||
strecpy(resolved_name, filename, lastof(resolved_name));
|
||||
strtolower(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 */
|
||||
char resolved_name2[MAX_RESOLVED_LENGTH];
|
||||
const std::string &dest = link->second;
|
||||
strcpy(resolved_name2, &(resolved_name[len]));
|
||||
strcpy(resolved_name, dest.c_str());
|
||||
strcpy(&(resolved_name[dest.length()]), resolved_name2);
|
||||
strecpy(resolved_name2, &(resolved_name[len]), lastof(resolved_name2));
|
||||
strecpy(resolved_name, dest.c_str(), lastof(resolved_name));
|
||||
strecpy(&(resolved_name[dest.length()]), resolved_name2, lastof(resolved_name));
|
||||
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 */
|
||||
memcpy(buf, th.size, sizeof(th.size));
|
||||
buf[sizeof(th.size)] = '\0';
|
||||
int skip = strtol(buf, &end, 8);
|
||||
size_t skip = strtoul(buf, &end, 8);
|
||||
|
||||
switch (th.typeflag) {
|
||||
case '\0':
|
||||
@@ -614,7 +614,7 @@ bool TarListAddFile(const char *filename)
|
||||
/* Convert to lowercase and our PATHSEPCHAR */
|
||||
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++;
|
||||
|
||||
break;
|
||||
@@ -640,7 +640,7 @@ bool TarListAddFile(const char *filename)
|
||||
|
||||
/* Process relative path.
|
||||
* Note: The destination of links must not contain any directory-links. */
|
||||
strcpy(dest, name);
|
||||
strecpy(dest, name, lastof(dest));
|
||||
char *destpos = strrchr(dest, PATHSEPCHAR);
|
||||
if (destpos == NULL) destpos = dest;
|
||||
*destpos = '\0';
|
||||
@@ -702,7 +702,7 @@ bool TarListAddFile(const char *filename)
|
||||
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);
|
||||
|
||||
/* Resolve file links and store directory links.
|
||||
@@ -829,7 +829,7 @@ void ChangeWorkingDirectory(const char *exe)
|
||||
void DetermineBasePaths(const char *exe)
|
||||
{
|
||||
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;
|
||||
#else
|
||||
const char *homedir = getenv("HOME");
|
||||
@@ -867,7 +867,7 @@ void DetermineBasePaths(const char *exe)
|
||||
AppendPathSeparator(tmp, MAX_PATH);
|
||||
_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;
|
||||
#else
|
||||
snprintf(tmp, MAX_PATH, "%s", GLOBAL_DATA_DIR);
|
||||
|
27
src/fios.cpp
27
src/fios.cpp
@@ -8,6 +8,7 @@
|
||||
#include "openttd.h"
|
||||
#include "fios.h"
|
||||
#include "fileio_func.h"
|
||||
#include "tar_type.h"
|
||||
#include "string_func.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 (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;
|
||||
}
|
||||
|
@@ -172,6 +172,8 @@ static FT_Error GetFontByFaceName(const char *font_name, FT_Face *face)
|
||||
if (err != FT_Err_Ok) 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;
|
||||
|
||||
} while ((FT_Long)++index != (*face)->num_faces);
|
||||
@@ -204,42 +206,47 @@ static const char *GetEnglishFontName(const ENUMLOGFONTEX *logfont)
|
||||
static char font_name[MAX_PATH];
|
||||
const char *ret_font_name = NULL;
|
||||
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);
|
||||
if (font == NULL) goto err1;
|
||||
|
||||
HDC dc = GetDC(NULL);
|
||||
HGDIOBJ oldfont = SelectObject(dc, font);
|
||||
DWORD dw = GetFontData(dc, 'eman', 0, NULL, 0);
|
||||
dc = GetDC(NULL);
|
||||
oldfont = SelectObject(dc, font);
|
||||
dw = GetFontData(dc, 'eman', 0, NULL, 0);
|
||||
if (dw == GDI_ERROR) goto err2;
|
||||
|
||||
byte *buf = MallocT<byte>(dw);
|
||||
buf = MallocT<byte>(dw);
|
||||
dw = GetFontData(dc, 'eman', 0, buf, dw);
|
||||
if (dw == GDI_ERROR) goto err3;
|
||||
|
||||
uint16 format = buf[pos++] << 8;
|
||||
format = buf[pos++] << 8;
|
||||
format += buf[pos++];
|
||||
assert(format == 0);
|
||||
uint16 count = buf[pos++] << 8;
|
||||
count = buf[pos++] << 8;
|
||||
count += buf[pos++];
|
||||
uint16 stringOffset = buf[pos++] << 8;
|
||||
stringOffset = buf[pos++] << 8;
|
||||
stringOffset += buf[pos++];
|
||||
for (uint i = 0; i < count; i++) {
|
||||
uint16 platformId = buf[pos++] << 8;
|
||||
platformId = buf[pos++] << 8;
|
||||
platformId += buf[pos++];
|
||||
uint16 encodingId = buf[pos++] << 8;
|
||||
encodingId = buf[pos++] << 8;
|
||||
encodingId += buf[pos++];
|
||||
uint16 languageId = buf[pos++] << 8;
|
||||
languageId = buf[pos++] << 8;
|
||||
languageId += buf[pos++];
|
||||
uint16 nameId = buf[pos++] << 8;
|
||||
nameId = buf[pos++] << 8;
|
||||
nameId += buf[pos++];
|
||||
if (nameId != 1) {
|
||||
pos += 4; // skip length and offset
|
||||
continue;
|
||||
}
|
||||
uint16 length = buf[pos++] << 8;
|
||||
length = buf[pos++] << 8;
|
||||
length += buf[pos++];
|
||||
uint16 offset = buf[pos++] << 8;
|
||||
offset = buf[pos++] << 8;
|
||||
offset += buf[pos++];
|
||||
|
||||
/* 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;
|
||||
}
|
||||
|
||||
const char *font_name = GetEnglishFontName(logfont);
|
||||
DEBUG(freetype, 1, "Fallback font: %s", font_name);
|
||||
const char *english_name = GetEnglishFontName(logfont);
|
||||
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->medium_font, font_name, lastof(info->settings->medium_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
|
||||
}
|
||||
|
||||
|
@@ -85,6 +85,8 @@ enum {
|
||||
|
||||
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, ...)
|
||||
{
|
||||
if (GAMELOG_BUF_LEN <= _dbgofs) return;
|
||||
@@ -135,6 +137,7 @@ static const char *la_text[] = {
|
||||
"cheat was used",
|
||||
"settings changed",
|
||||
"GRF bug triggered",
|
||||
"emergency savegame",
|
||||
};
|
||||
|
||||
assert_compile(lengthof(la_text) == GLAT_END);
|
||||
@@ -249,6 +252,9 @@ void GamelogPrint(GamelogPrintProc *proc)
|
||||
PrintGrfFilename(buf, lc->grfbug.grfid);
|
||||
break;
|
||||
}
|
||||
|
||||
case GLCT_EMERGENCY:
|
||||
break;
|
||||
}
|
||||
|
||||
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)
|
||||
{
|
||||
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
|
||||
* @param revision new revision string
|
||||
*/
|
||||
|
@@ -14,6 +14,7 @@ enum GamelogActionType {
|
||||
GLAT_CHEAT, ///< Cheat was used
|
||||
GLAT_SETTING, ///< Setting changed
|
||||
GLAT_GRFBUG, ///< GRF bug was triggered
|
||||
GLAT_EMERGENCY, ///< Emergency savegame
|
||||
GLAT_END, ///< So we know how many GLATs are there
|
||||
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 GamelogPrintConsole();
|
||||
|
||||
void GamelogEmergency();
|
||||
bool GamelogTestEmergency();
|
||||
|
||||
void GamelogRevision();
|
||||
void GamelogMode();
|
||||
void GamelogOldver();
|
||||
|
@@ -19,6 +19,7 @@ enum GamelogChangeType {
|
||||
GLCT_GRFPARAM, ///< GRF parameter changed
|
||||
GLCT_GRFMOVE, ///< GRF order changed
|
||||
GLCT_GRFBUG, ///< GRF bug triggered
|
||||
GLCT_EMERGENCY, ///< Emergency savegame
|
||||
GLCT_END, ///< So we know how many GLCTs are there
|
||||
GLCT_NONE = 0xFF, ///< In savegames, end of list
|
||||
};
|
||||
|
@@ -47,32 +47,10 @@ void InitializeGame(uint size_x, uint size_y, bool reset_date);
|
||||
* in the genworld.h and genworld.c! -- TrueLight */
|
||||
gw_info _gw;
|
||||
|
||||
/**
|
||||
* Set the status of the Paint flag.
|
||||
* If it is true, the thread will hold with any futher generating till
|
||||
* the drawing of the screen is done. This is handled by
|
||||
* 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;
|
||||
}
|
||||
/** Rights for the map generation */
|
||||
ThreadMutex *_genworld_mapgen_mutex = ThreadMutex::New();
|
||||
/** Rights for the painting */
|
||||
ThreadMutex *_genworld_paint_mutex = ThreadMutex::New();
|
||||
|
||||
/**
|
||||
* 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);
|
||||
MarkWholeScreenDirty();
|
||||
_genworld_mapgen_mutex->EndCritical();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -109,6 +88,7 @@ static void _GenerateWorld(void *arg)
|
||||
{
|
||||
try {
|
||||
_generating_world = true;
|
||||
_genworld_mapgen_mutex->BeginCritical();
|
||||
if (_network_dedicated) DEBUG(net, 0, "Generating map, please wait...");
|
||||
/* Set the Random() seed to generation_seed so we produce the same map with the same seed */
|
||||
if (_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 (...) {
|
||||
_generating_world = false;
|
||||
_genworld_mapgen_mutex->EndCritical();
|
||||
throw;
|
||||
}
|
||||
}
|
||||
@@ -223,11 +204,16 @@ void GenerateWorldSetAbortCallback(gw_abort_proc *proc)
|
||||
void WaitTillGeneratedWorld()
|
||||
{
|
||||
if (_gw.thread == NULL) return;
|
||||
|
||||
_genworld_mapgen_mutex->EndCritical();
|
||||
_genworld_paint_mutex->EndCritical();
|
||||
_gw.quit_thread = true;
|
||||
_gw.thread->Join();
|
||||
delete _gw.thread;
|
||||
_gw.thread = NULL;
|
||||
_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.abortp = NULL;
|
||||
_gw.lc = _local_company;
|
||||
_gw.wait_for_draw = false;
|
||||
_gw.quit_thread = false;
|
||||
_gw.threaded = true;
|
||||
|
||||
@@ -315,7 +300,9 @@ void GenerateWorld(GenerateWorldMode mode, uint size_x, uint size_y)
|
||||
!ThreadObject::New(&_GenerateWorld, NULL, &_gw.thread)) {
|
||||
DEBUG(misc, 1, "Cannot create genworld thread, reverting to single-threaded mode");
|
||||
_gw.threaded = false;
|
||||
_genworld_mapgen_mutex->EndCritical();
|
||||
_GenerateWorld(NULL);
|
||||
_genworld_mapgen_mutex->BeginCritical();
|
||||
return;
|
||||
}
|
||||
|
||||
|
@@ -16,6 +16,8 @@ enum {
|
||||
LG_TERRAGENESIS = 1, ///< TerraGenesis Perlin landscape generator
|
||||
|
||||
GENERATE_NEW_SEED = UINT_MAX, ///< Create a new random seed
|
||||
|
||||
GENWORLD_REDRAW_TIMEOUT = 200, ///< Timeout between redraws
|
||||
};
|
||||
|
||||
/* Modes for GenerateWorld */
|
||||
@@ -32,7 +34,6 @@ typedef void gw_abort_proc();
|
||||
struct gw_info {
|
||||
bool active; ///< Is generating world active
|
||||
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 threaded; ///< Whether we run _GenerateWorld threaded
|
||||
GenerateWorldMode mode;///< What mode are we making a world in
|
||||
@@ -69,8 +70,6 @@ static inline bool IsGeneratingWorld()
|
||||
}
|
||||
|
||||
/* genworld.cpp */
|
||||
void SetGeneratingWorldPaintStatus(bool status);
|
||||
bool IsGeneratingWorldReadyForPaint();
|
||||
bool IsGenerateWorldThreaded();
|
||||
void GenerateWorldSetCallback(gw_done_proc *proc);
|
||||
void GenerateWorldSetAbortCallback(gw_abort_proc *proc);
|
||||
@@ -89,4 +88,7 @@ void StartNewGameWithoutGUI(uint seed);
|
||||
void ShowCreateScenario();
|
||||
void StartScenarioEditor();
|
||||
|
||||
extern class ThreadMutex *_genworld_mapgen_mutex;
|
||||
extern class ThreadMutex *_genworld_paint_mutex;
|
||||
|
||||
#endif /* GENWORLD_H */
|
||||
|
@@ -26,6 +26,7 @@
|
||||
#include "landscape_type.h"
|
||||
#include "querystring_gui.h"
|
||||
#include "town.h"
|
||||
#include "thread.h"
|
||||
|
||||
#include "table/strings.h"
|
||||
#include "table/sprites.h"
|
||||
@@ -1037,8 +1038,8 @@ static void _SetGeneratingWorldProgress(gwp_class cls, uint progress, uint total
|
||||
_tp.percent = percent_table[cls];
|
||||
}
|
||||
|
||||
/* Don't update the screen too often. So update it once in every 200ms */
|
||||
if (!_network_dedicated && _tp.timer != 0 && _realtime_tick - _tp.timer < 200) return;
|
||||
/* 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 < GENWORLD_REDRAW_TIMEOUT) return;
|
||||
|
||||
/* 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;
|
||||
@@ -1064,12 +1065,15 @@ static void _SetGeneratingWorldProgress(gwp_class cls, uint progress, uint total
|
||||
|
||||
InvalidateWindow(WC_GENERATE_PROGRESS_WINDOW, 0);
|
||||
MarkWholeScreenDirty();
|
||||
SetGeneratingWorldPaintStatus(true);
|
||||
|
||||
/* We wait here till the paint is done, so we don't read and write
|
||||
* on the same tile at the same moment. Nasty hack, but that happens
|
||||
* if you implement threading afterwards */
|
||||
while (IsGeneratingWorldReadyForPaint()) { CSleep(10); }
|
||||
/* Release the rights to the map generator, and acquire the rights to the
|
||||
* paint thread. The 'other' thread already has the paint thread rights so
|
||||
* this ensures us that we are waiting until the paint thread is done
|
||||
* 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;
|
||||
}
|
||||
|
26
src/gfx.cpp
26
src/gfx.cpp
@@ -18,6 +18,7 @@
|
||||
#include "core/sort_func.hpp"
|
||||
#include "landscape_type.h"
|
||||
#include "network/network_func.h"
|
||||
#include "thread.h"
|
||||
|
||||
#include "table/palettes.h"
|
||||
#include "table/sprites.h"
|
||||
@@ -1285,6 +1286,9 @@ void ScreenSizeChanged()
|
||||
|
||||
void UndrawMouseCursor()
|
||||
{
|
||||
/* Don't undraw the mouse cursor if the screen is not ready */
|
||||
if (_screen.dst_ptr == NULL) return;
|
||||
|
||||
if (_cursor.visible) {
|
||||
Blitter *blitter = BlitterFactoryBase::GetCurrentBlitter();
|
||||
_cursor.visible = false;
|
||||
@@ -1300,6 +1304,9 @@ void DrawMouseCursor()
|
||||
return;
|
||||
#endif
|
||||
|
||||
/* Don't draw the mouse cursor if the screen is not ready */
|
||||
if (_screen.dst_ptr == NULL) return;
|
||||
|
||||
Blitter *blitter = BlitterFactoryBase::GetCurrentBlitter();
|
||||
int x;
|
||||
int y;
|
||||
@@ -1386,7 +1393,18 @@ void DrawDirtyBlocks()
|
||||
int x;
|
||||
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;
|
||||
do {
|
||||
@@ -1454,12 +1472,6 @@ void DrawDirtyBlocks()
|
||||
_invalid_rect.top = h;
|
||||
_invalid_rect.right = 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);
|
||||
}
|
||||
}
|
||||
|
||||
/*!
|
||||
|
@@ -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");
|
||||
}
|
||||
|
||||
if (add_pos != error_msg) ShowInfoF(error_msg);
|
||||
if (add_pos != error_msg) ShowInfoF("%s", error_msg);
|
||||
}
|
||||
|
||||
|
||||
|
@@ -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_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, 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},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
@@ -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*/
|
||||
rndtype = RandomRange(probability_max);
|
||||
for (j = 0; j < NUM_INDUSTRYTYPES; j++) {
|
||||
@@ -2211,8 +2214,9 @@ static void ChangeIndustryProduction(Industry *i, bool monthly)
|
||||
/* Recalculate production_rate
|
||||
* For non-smooth economy these should always be synchronized with prod_level */
|
||||
if (recalculate_multipliers) {
|
||||
i->production_rate[0] = min(indspec->production_rate[0] * i->prod_level / PRODLEVEL_DEFAULT, 0xFF);
|
||||
i->production_rate[1] = min(indspec->production_rate[1] * i->prod_level / PRODLEVEL_DEFAULT, 0xFF);
|
||||
/* Rates are rounded up, so e.g. oilrig always produces some passengers */
|
||||
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 */
|
||||
|
@@ -815,8 +815,6 @@ static void GenerateTerrain(int type, uint flag)
|
||||
} while (--w != 0);
|
||||
break;
|
||||
}
|
||||
|
||||
FixSlopes();
|
||||
}
|
||||
|
||||
|
||||
@@ -930,6 +928,7 @@ void GenerateLandscape(byte mode)
|
||||
}
|
||||
}
|
||||
|
||||
FixSlopes();
|
||||
ConvertGroundTilesIntoWaterTiles();
|
||||
|
||||
if (_settings_game.game_creation.landscape == LT_TROPIC) CreateDesertOrRainForest();
|
||||
|
@@ -657,7 +657,6 @@ STR_FULL :Vol
|
||||
STR_02BA :{SILVER}- - {COMPANY} - -
|
||||
STR_02BB_TOWN_DIRECTORY :Dorp gids
|
||||
STR_02BD :{BLACK}{STRING}
|
||||
STR_02BF_CUSTOM :Bestelling
|
||||
|
||||
STR_CHECKMARK :{CHECKMARK}
|
||||
############ range for menu starts
|
||||
@@ -774,7 +773,7 @@ STR_TOWNNAME_SWEDISH :Sweeds
|
||||
STR_TOWNNAME_DUTCH :Hollands
|
||||
STR_TOWNNAME_FINNISH :Finnish
|
||||
STR_TOWNNAME_POLISH :Polish
|
||||
STR_TOWNNAME_SLOVAKISH :Slovakish
|
||||
STR_TOWNNAME_SLOVAK :Slovak
|
||||
STR_TOWNNAME_NORWEGIAN :Norwegian
|
||||
STR_TOWNNAME_HUNGARIAN :Hungarian
|
||||
STR_TOWNNAME_AUSTRIAN :Austrian
|
||||
@@ -807,7 +806,7 @@ STR_CURR_ITL :Italian Lira (I
|
||||
STR_CURR_NLG :Dutch Guilder (NLG)
|
||||
STR_CURR_NOK :Norwegian Krone (NOK)
|
||||
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_SIT :Slovenian Tolar (SIT)
|
||||
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_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_CARGO_FOR_TOWNGROWTH_LAST_MONTH :{SETX 20}{ORANGE}{CARGO}{BLACK} gelewer laas maand
|
||||
STR_200F_TALL_OFFICE_BLOCK :Hoog kantoor blok
|
||||
STR_2010_OFFICE_BLOCK :Kantoor blok
|
||||
STR_2011_SMALL_BLOCK_OF_FLATS :Klein blok van woonstelle
|
||||
@@ -1947,6 +1947,7 @@ STR_INDUSTRY_PROD_GODOWN :{BLACK}{BIGFONT
|
||||
|
||||
##id 0x5000
|
||||
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_5006_MUST_DEMOLISH_TUNNEL_FIRST :{WHITE}Moet eers tonnel 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_6817_NORMAL :Normaal
|
||||
STR_6818_HIGH :Hoog
|
||||
STR_02BF_CUSTOM :Bestelling
|
||||
STR_6819 :{BLACK}{SMALLLEFTARROW}
|
||||
STR_681A :{BLACK}{SMALLRIGHTARROW}
|
||||
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_7072_VIEW_HQ :{BLACK}Wys HK
|
||||
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_TOOLTIP :{BLACK}Wagwoord-beskerm jou maatskappy om onmagtig gebruikers te belet van verbinding
|
||||
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_NEWGRF_SETTINGS_BUTTON :{BLACK}NewGRF Stellings
|
||||
STR_NEWGRF_SETTINGS_BUTTON_TIP :{BLACK}Wys NewGRF stellings
|
||||
STR_NEWGRF_SETTINGS_CAPTION :{WHITE}NewGRF stellings
|
||||
STR_NEWGRF_APPLY_CHANGES :{BLACK}Wend aan veranderings
|
||||
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_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_TIP :{BLACK}Voeg 'n NewGRF na die lys
|
||||
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_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_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_ROAD_VEHICLE_NOT_AVAILABLE :{WHITE}Voertuig is nie beskikbaar nie
|
||||
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_RANDOM_SEED :{BLACK}Lukraak Saad:
|
||||
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_TREE_PLACER :{BLACK}Boom algoritme:
|
||||
STR_HEIGHTMAP_ROTATION :{BLACK}Hoogtekaart rotasie:
|
||||
@@ -3280,12 +3291,15 @@ STR_SMALLMAP_CENTER :{BLACK}Senter d
|
||||
STR_SMALLMAP_INDUSTRY :{TINYFONT}{STRING} ({NUM})
|
||||
|
||||
# Strings for map borders at game generation
|
||||
STR_BORDER_TYPE :{BLACK}Kaart kante:
|
||||
STR_NORTHWEST :{BLACK}Noordwes
|
||||
STR_NORTHEAST :{BLACK}Noordoos
|
||||
STR_SOUTHEAST :{BLACK}Suidoos
|
||||
STR_SOUTHWEST :{BLACK}Suidwes
|
||||
STR_BORDER_FREEFORM :{BLACK}Vryeform
|
||||
STR_BORDER_WATER :{BLACK}Water
|
||||
STR_BORDER_RANDOM :{BLACK}Lukraak
|
||||
STR_BORDER_RANDOMIZE :{BLACK}Lukraak
|
||||
|
||||
########### String for new airports
|
||||
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_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}
|
||||
|
||||
|
||||
########
|
||||
|
@@ -668,7 +668,6 @@ STR_FULL :ممتلئ
|
||||
STR_02BA :{SILVER}- - {COMPANY} - -
|
||||
STR_02BB_TOWN_DIRECTORY :دليل المدن
|
||||
STR_02BD :{BLACK}{STRING}
|
||||
STR_02BF_CUSTOM :اختياري
|
||||
|
||||
STR_CHECKMARK :{CHECKMARK}
|
||||
############ range for menu starts
|
||||
@@ -787,7 +786,7 @@ STR_TOWNNAME_SWEDISH :سويدي
|
||||
STR_TOWNNAME_DUTCH :هولندي
|
||||
STR_TOWNNAME_FINNISH :فنلندي
|
||||
STR_TOWNNAME_POLISH :بلغاري
|
||||
STR_TOWNNAME_SLOVAKISH :سلوفاكي
|
||||
STR_TOWNNAME_SLOVAK :سلوفاكي
|
||||
STR_TOWNNAME_NORWEGIAN :نرويجي
|
||||
STR_TOWNNAME_HUNGARIAN :هنغاري
|
||||
STR_TOWNNAME_AUSTRIAN :نمساوي
|
||||
@@ -820,7 +819,7 @@ STR_CURR_ITL :ليرة ايط
|
||||
STR_CURR_NLG :غلدر هولندي (NLG)
|
||||
STR_CURR_NOK :كرونا نرويجية (NOK)
|
||||
STR_CURR_PLN :زلوتي بولندي (PLN)
|
||||
STR_CURR_ROL :لور يوناني (ROL)
|
||||
STR_CURR_RON :لور يوناني (RON)
|
||||
STR_CURR_RUR :روبل روسي (RUR)
|
||||
STR_CURR_SIT :تولار سوفاني (SIT)
|
||||
STR_CURR_SEK :كرونا سويدية (SEK)
|
||||
@@ -1199,6 +1198,7 @@ STR_CANT_REMOVE_TRAIN_WAYPOINT :{WHITE}لا ي
|
||||
STR_BUILD_AUTORAIL_TIP :{BLACK}بناء سكة القطار باستخدام البناء التلقائي
|
||||
|
||||
STR_NO_TOWN_IN_SCENARIO :{WHITE}... لا يوجد مدن في هذه الخريطة
|
||||
STR_COULD_NOT_CREATE_TOWN :{WHITE}مولد الخريطة توقف ... {} ... لا يوجد مواقع مناسبة للمدن
|
||||
|
||||
STR_MANY_RANDOM_TOWNS :{BLACK}العديد من المدن العشوائية
|
||||
STR_RANDOM_TOWNS_TIP :{BLACK}غطي الخريطة عشوائيا بمدن
|
||||
@@ -2130,6 +2130,7 @@ STR_NUM_VERY_LOW :منخفض جد
|
||||
STR_6816_LOW :قليل
|
||||
STR_6817_NORMAL :طبيعي
|
||||
STR_6818_HIGH :عالي
|
||||
STR_02BF_CUSTOM :اختياري
|
||||
STR_6819 :{BLACK}{SMALLLEFTARROW}
|
||||
STR_681A :{BLACK}{SMALLRIGHTARROW}
|
||||
STR_681B_VERY_SLOW :بطيء جدا
|
||||
@@ -2241,6 +2242,7 @@ STR_704A_SELECT_FEMALE_FACES :{BLACK}اختر
|
||||
STR_704B_GENERATE_RANDOM_NEW_FACE :{BLACK}اختر وجة عشوائي
|
||||
STR_704C_KEY :{BLACK}مفتاح
|
||||
STR_704D_SHOW_KEY_TO_GRAPHS :{BLACK}اظهار مفتاح الرسم البياني
|
||||
STR_SHOW_DETAILED_PERFORMANCE_RATINGS :{BLACK}عرض كامل تفاصيل الأداء
|
||||
STR_704E_KEY_TO_COMPANY_GRAPHS :{WHITE}مفتاح الشركات في الرسم البياني
|
||||
STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY :{BLACK}اضغط لعرض/اخفاء الشركة في الرسم
|
||||
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_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_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_8860_RELIABILITY_BREAKDOWNS :{BLACK}الصلاحية: {LTBLUE}{COMMA}% {BLACK} مرات التعطيل منذ الصيانة السابقة: {LTBLUE}{COMMA}
|
||||
STR_8861_STOPPED :{RED} متوقف
|
||||
@@ -2855,7 +2857,7 @@ STR_9004_NEW_VEHICLES :{BLACK}عربا
|
||||
STR_9006_NEW_ROAD_VEHICLES :{WHITE}عربات جديدة
|
||||
STR_9007_BUILD_VEHICLE :{BLACK}شراء عربة
|
||||
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_900E_MAX_SPEED :{BLACK}السرعة القصوى: {LTBLUE}{VELOCITY}
|
||||
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_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_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_HELP :{BLACK} المحافظة على طول القطار بازالة عربات ابتداء من المقدمة عند التبديل - عندما يكون التبدل ينتج قطارا اطول.
|
||||
STR_REPLACE_ENGINE_WAGON_SELECT :{BLACK} تبديل: {ORANGE}{SKIP}{SKIP}{STRING}
|
||||
STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK} المميزات التجريبية {} بدل بين اطار المحركات و اطار العربات {} تبديل العربات سوف يكون ممكنا اذا كان يحمل نفس نوع الشحنة السابقة. هذا سيكون لكل العربات عند بدأ التبديل.
|
||||
STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK} بدل بين نافذة استبدال المحركات و العربات
|
||||
STR_RAIL_VEHICLE_NOT_AVAILABLE :{WHITE}العربة غير متاحة
|
||||
STR_ROAD_VEHICLE_NOT_AVAILABLE :{WHITE} العربات غير متاحة
|
||||
STR_SHIP_NOT_AVAILABLE :{WHITE} السفن غير متاحة
|
||||
@@ -3580,6 +3586,7 @@ STR_AI_RANDOM_AI :ذكاء صنا
|
||||
STR_AI_SETTINGS_CAPTION :{WHITE} خصائص الذكاء الصناعي
|
||||
STR_AI_AUTHOR :المحرر:
|
||||
STR_AI_VERSION :النسخة:
|
||||
STR_AI_PLEASE_REPORT_CRASH :{WHITE} واحد من الذكاء الصناعي فشل. الرجاء ابلاغ المبرمج عنه مصحوبا بصورة من شاشة مصحح الاخطاء.
|
||||
########
|
||||
|
||||
############ town controlled noise level
|
||||
|
@@ -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_023B_INCREASE_SIZE_OF_TOWN :{BLACK}Aumentar o tamanho da cidade
|
||||
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_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...
|
||||
@@ -667,7 +668,6 @@ STR_FULL :Completo
|
||||
STR_02BA :{SILVER}- - {COMPANY} - -
|
||||
STR_02BB_TOWN_DIRECTORY :Lista de cidades
|
||||
STR_02BD :{BLACK}{STRING}
|
||||
STR_02BF_CUSTOM :Personalizado
|
||||
|
||||
STR_CHECKMARK :{CHECKMARK}
|
||||
############ range for menu starts
|
||||
@@ -786,7 +786,7 @@ STR_TOWNNAME_SWEDISH :Sueco
|
||||
STR_TOWNNAME_DUTCH :Holandês
|
||||
STR_TOWNNAME_FINNISH :Finlandês
|
||||
STR_TOWNNAME_POLISH :Polaco
|
||||
STR_TOWNNAME_SLOVAKISH :Eslovaco
|
||||
STR_TOWNNAME_SLOVAK :Eslovaco
|
||||
STR_TOWNNAME_NORWEGIAN :Noreguês
|
||||
STR_TOWNNAME_HUNGARIAN :Húngaro
|
||||
STR_TOWNNAME_AUSTRIAN :Austríaco
|
||||
@@ -819,7 +819,7 @@ STR_CURR_ITL :Lira Italiana (
|
||||
STR_CURR_NLG :Guilda Holandesa (NLG)
|
||||
STR_CURR_NOK :Coroa Norueguesa (NOK)
|
||||
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_SIT :Tolar Eslovênio (SIT)
|
||||
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_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_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_6817_NORMAL :Normal
|
||||
STR_6818_HIGH :Alto
|
||||
STR_02BF_CUSTOM :Personalizado
|
||||
STR_6819 :{BLACK}{SMALLLEFTARROW}
|
||||
STR_681A :{BLACK}{SMALLRIGHTARROW}
|
||||
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_704C_KEY :{BLACK}Legenda
|
||||
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_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
|
||||
@@ -2801,7 +2804,7 @@ STR_VEHICLE_INFO_COST_WEIGHT_SPEED_POWER :{BLACK}Custo: {
|
||||
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_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_8860_RELIABILITY_BREAKDOWNS :{BLACK}Confiabilidade: {LTBLUE}{COMMA}% {BLACK}Quebras desde a última manutenção: {LTBLUE}{COMMA}
|
||||
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_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_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_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_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_ROAD_VEHICLE_NOT_AVAILABLE :{WHITE}Automóvel 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_AUTHOR :Progamador:
|
||||
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
|
||||
|
@@ -668,7 +668,6 @@ STR_FULL :Пълно
|
||||
STR_02BA :{SILVER}- - {COMPANY} - -
|
||||
STR_02BB_TOWN_DIRECTORY :Списък от градовете
|
||||
STR_02BD :{BLACK}{STRING}
|
||||
STR_02BF_CUSTOM :Изборен
|
||||
|
||||
STR_CHECKMARK :{CHECKMARK}
|
||||
############ range for menu starts
|
||||
@@ -786,7 +785,7 @@ STR_TOWNNAME_SWEDISH :шведски
|
||||
STR_TOWNNAME_DUTCH :холандски
|
||||
STR_TOWNNAME_FINNISH :финландски
|
||||
STR_TOWNNAME_POLISH :полски
|
||||
STR_TOWNNAME_SLOVAKISH :словашки
|
||||
STR_TOWNNAME_SLOVAK :словашки
|
||||
STR_TOWNNAME_NORWEGIAN :норвежки
|
||||
STR_TOWNNAME_HUNGARIAN :унгарски
|
||||
STR_TOWNNAME_AUSTRIAN :австрийски
|
||||
@@ -819,7 +818,7 @@ STR_CURR_ITL :италиан
|
||||
STR_CURR_NLG :холандски гулден (NLG)
|
||||
STR_CURR_NOK :норвежка крона (NOK)
|
||||
STR_CURR_PLN :полска злота (PLN)
|
||||
STR_CURR_ROL :румънска лея (ROL)
|
||||
STR_CURR_RON :румънска лея (RON)
|
||||
STR_CURR_RUR :руска рубла (RUR)
|
||||
STR_CURR_SIT :словенски толар (SIT)
|
||||
STR_CURR_SEK :шведска крона (SEK)
|
||||
@@ -916,6 +915,8 @@ STR_CONFIG_SETTING_AUTOSLOPE :{LTBLUE}Тер
|
||||
STR_CONFIG_SETTING_CATCHMENT :{LTBLUE}По-реалистична зона за обслужване: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_EXTRADYNAMITE :{LTBLUE}Разрушаване на повече градска собственост: {ORANGE}{STRING.n}
|
||||
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_JOINSTATIONS :{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_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_SEMAPHORE_BUILD_BEFORE_DATE :{LTBLUE}Поставяне на семафори преди: {ORANGE}{STRING} година
|
||||
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_ALL :Всички
|
||||
|
||||
STR_CONFIG_SETTING_TOWN_LAYOUT :{LTBLUE}Пътно оформление за нови градове: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_TOWN_LAYOUT_DEFAULT :default
|
||||
STR_CONFIG_SETTING_TOWN_LAYOUT_BETTER_ROADS :по-добри пътища
|
||||
STR_CONFIG_SETTING_TOWN_LAYOUT_2X2_GRID :2х2 мрежа
|
||||
STR_CONFIG_SETTING_TOWN_LAYOUT_3X3_GRID :3х3 мрежа
|
||||
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_TOOLBAR_POS :{LTBLUE}Позиция на лентата за инструменти: {ORANGE}{STRING}
|
||||
@@ -1102,6 +1106,15 @@ STR_CONFIG_SETTING_VEHICLES :{ORANGE}Авт
|
||||
STR_CONFIG_SETTING_STATIONS :{ORANGE}Станции
|
||||
STR_CONFIG_SETTING_ECONOMY :{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_NTP :NTP {RED}(не се препоръчва)
|
||||
@@ -1407,6 +1420,7 @@ STR_NETWORK_GIVE_MONEY_CAPTION :{WHITE}Въве
|
||||
STR_NETWORK_NEED_GAME_PASSWORD_CAPTION :{WHITE}Сървъра е защитен. Въведете парола
|
||||
STR_NETWORK_NEED_COMPANY_PASSWORD_CAPTION :{WHITE}Компанията е защитена. Въведете парола
|
||||
STR_NETWORK_CLIENT_LIST :{WHITE}Списък с играчите
|
||||
STR_NETWORK_COMPANY_LIST_NEW_COMPANY :{WHITE}Нова Фирма
|
||||
|
||||
STR_NETWORK_ERR_NOTAVAILABLE :{WHITE} Не са открити мрежови устройства или е компилирано без ENABLE_NETWORK
|
||||
STR_NETWORK_ERR_NOSERVER :{WHITE} Не може да открия мрежови игри
|
||||
@@ -1655,6 +1669,7 @@ STR_200B_CENTER_THE_MAIN_VIEW_ON :{BLACK}Цент
|
||||
STR_200C_CHANGE_TOWN_NAME :{BLACK}Промяна на име на град
|
||||
STR_200D_PASSENGERS_LAST_MONTH_MAX :{BLACK}Пасажери през последния месец: {ORANGE}{COMMA}{BLACK} максимум: {ORANGE}{COMMA}
|
||||
STR_200E_MAIL_LAST_MONTH_MAX :{BLACK}Поща през последния месец: {ORANGE}{COMMA}{BLACK} максимум: {ORANGE}{COMMA}
|
||||
STR_CARGO_FOR_TOWNGROWTH_REQUIRED :{SETX 20}{ORANGE}{STRING}{BLACK} необходим
|
||||
STR_200F_TALL_OFFICE_BLOCK :Висока офис сграда
|
||||
STR_2010_OFFICE_BLOCK :Офис сграда
|
||||
STR_2011_SMALL_BLOCK_OF_FLATS :Малък жилищен блок
|
||||
@@ -2095,6 +2110,7 @@ STR_NUM_VERY_LOW :мн. малк
|
||||
STR_6816_LOW :малко
|
||||
STR_6817_NORMAL :нормално
|
||||
STR_6818_HIGH :голямо
|
||||
STR_02BF_CUSTOM :Изборен
|
||||
STR_6819 :{BLACK}{SMALLLEFTARROW}
|
||||
STR_681A :{BLACK}{SMALLRIGHTARROW}
|
||||
STR_681B_VERY_SLOW :много бавно
|
||||
@@ -3063,6 +3079,7 @@ STR_PERFORMANCE_DETAIL_LOAN_TIP :{BLACK}Сума
|
||||
STR_PERFORMANCE_DETAIL_TOTAL_TIP :{BLACK}Натрупани точки от общия възможен брой
|
||||
|
||||
STR_NEWGRF_SETTINGS_BUTTON :{BLACK}NewGRF настройки
|
||||
STR_NEWGRF_SETTINGS_BUTTON_TIP :{BLACK}Покажи NewGRF настройки
|
||||
STR_NEWGRF_SETTINGS_CAPTION :{WHITE}Newgrf настройки
|
||||
STR_NEWGRF_APPLY_CHANGES :{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_INVALID_ID :Attempt to use invalid ID.
|
||||
STR_NEWGRF_ERROR_CORRUPT_SPRITE :{YELLOW}{STRING} съдържа повреден обект. Вскички повредени обекти ще бъдат показани като червена въпросителна (?).
|
||||
STR_NEWGRF_ERROR_MULTIPLE_ACTION_8 :Съдържа множество Действие 8 вписвания.
|
||||
|
||||
STR_NEWGRF_PRESET_LIST_TIP :{BLACK}Зареди избрания шаблон
|
||||
STR_NEWGRF_PRESET_SAVE :{BLACK}Запиши шаблон
|
||||
@@ -3132,6 +3150,8 @@ STR_NEWGRF_BROKEN :{WHITE}Пове
|
||||
STR_NEWGRF_BROKEN_VEHICLE_LENGTH :{WHITE}Смяна на дължината на превозното средство '{1:ENGINE}', когато не е в депо.
|
||||
STR_BROKEN_VEHICLE_LENGTH :{WHITE}Влак '{VEHICLE}' на '{COMPANY}' има невалидна дължина. Това вероятно е породено от проблеми с NewGRFs. Играта може да загуби синхронизация или да забие.
|
||||
|
||||
STR_NEWGRF_BUGGY :{WHITE}NewGRF '{STRING}' дава невярна информация.
|
||||
|
||||
STR_LOADGAME_REMOVED_TRAMS :{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_HELP :{BLACK}Автоматичната замяна ще запази дължината на влака като премахне вагони (започвайки от предните), ако замяната довежда до по-дълъг влак.
|
||||
STR_REPLACE_ENGINE_WAGON_SELECT :{BLACK}Замяна: {ORANGE}{SKIP}{SKIP}{STRING}
|
||||
STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK} ЕКСПЕРИМЕНТАЛНА ВЪЗМОЖНОСТ {}Превключване между замяна на локомотиви и вагони.{}Замяната на вагони ще бъде направена само ако новия тип вагони може да се преустрои да превозва същия тип товар като старите. Това се проверява за всеки вагон когато замяната се случва.
|
||||
STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK}Превключване между замяна на локомотиви и вагони
|
||||
STR_RAIL_VEHICLE_NOT_AVAILABLE :{WHITE}Превозното средство не е на разположение
|
||||
STR_ROAD_VEHICLE_NOT_AVAILABLE :{WHITE}Превозното средство не е на разположение
|
||||
STR_SHIP_NOT_AVAILABLE :{WHITE}Корабът не е на разположение
|
||||
@@ -3318,6 +3338,13 @@ STR_SMALLMAP_CENTER :{BLACK}Цент
|
||||
STR_SMALLMAP_INDUSTRY :{TINYFONT}{STRING} ({NUM})
|
||||
|
||||
# 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
|
||||
STR_SMALL_AIRPORT :{BLACK}Малко
|
||||
@@ -3506,6 +3533,25 @@ STR_OSK_KEYBOARD_LAYOUT_CAPS :~!?+"%=:/_№І
|
||||
########
|
||||
|
||||
############ 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
|
||||
@@ -3514,6 +3560,38 @@ STR_STATION_NOISE :{BLACK}Прои
|
||||
########
|
||||
|
||||
############ 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}
|
||||
|
||||
|
||||
|
||||
|
@@ -785,7 +785,7 @@ STR_TOWNNAME_SWEDISH :Suec
|
||||
STR_TOWNNAME_DUTCH :Holandès
|
||||
STR_TOWNNAME_FINNISH :Finès
|
||||
STR_TOWNNAME_POLISH :Polonès
|
||||
STR_TOWNNAME_SLOVAKISH :Eslovac
|
||||
STR_TOWNNAME_SLOVAK :Eslovac
|
||||
STR_TOWNNAME_NORWEGIAN :Noruec
|
||||
STR_TOWNNAME_HUNGARIAN :Hongarès
|
||||
STR_TOWNNAME_AUSTRIAN :Austríac
|
||||
@@ -818,7 +818,7 @@ STR_CURR_ITL :Lires Italianes
|
||||
STR_CURR_NLG :Florins Holandesos (NLG)
|
||||
STR_CURR_NOK :Corones Noruegues (NOK)
|
||||
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_SIT :Tòlar Eslovè (SIT)
|
||||
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_704C_KEY :{BLACK}Llegenda
|
||||
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_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
|
||||
@@ -2615,18 +2616,18 @@ STR_ORDER_GO_TO :Ves a
|
||||
STR_ORDER_GO_NON_STOP_TO :Ves sense parar a
|
||||
STR_ORDER_GO_VIA :Ves 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_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_TOGGLE_UNLOAD :{BLACK}Descarrega tot
|
||||
STR_ORDER_DROP_UNLOAD_IF_ACCEPTED :Descarrega si s'accepta
|
||||
STR_ORDER_DROP_UNLOAD :Descarrega tot
|
||||
STR_ORDER_DROP_TRANSFER :Transfereix
|
||||
STR_ORDER_DROP_NO_UNLOADING :No descarreguis
|
||||
STR_ORDER_FULL_LOAD :(Càrrega completa)
|
||||
STR_ORDER_FULL_LOAD_ANY :(Càrrega completa de qualsevol càrrega)
|
||||
STR_ORDER_FULL_LOAD :(Carrega del tot)
|
||||
STR_ORDER_FULL_LOAD_ANY :(Carrega del tot qualsevol càrrega)
|
||||
STR_ORDER_NO_LOAD :(No carregar)
|
||||
STR_ORDER_UNLOAD :(Descarrega i agafa la càrrega)
|
||||
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_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_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_8860_RELIABILITY_BREAKDOWNS :{BLACK}Rendibilitat: {LTBLUE}{COMMA}% {BLACK}Avaries des de l'últim manteniment: {LTBLUE}{COMMA}
|
||||
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_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.
|
||||
|
||||
@@ -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_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_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_ROAD_VEHICLE_NOT_AVAILABLE :{WHITE}El vehicle no està disponible
|
||||
STR_SHIP_NOT_AVAILABLE :{WHITE}El vaixell no està disponible
|
||||
|
@@ -672,6 +672,7 @@ STR_CANNOT_GENERATE_TOWN :{WHITE}Nije mog
|
||||
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_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_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}...
|
||||
@@ -731,7 +732,6 @@ STR_FULL :Puno
|
||||
STR_02BA :{SILVER}- - {COMPANY} - -
|
||||
STR_02BB_TOWN_DIRECTORY :Popis gradova
|
||||
STR_02BD :{BLACK}{STRING}
|
||||
STR_02BF_CUSTOM :Proizvoljno
|
||||
|
||||
STR_CHECKMARK :{CHECKMARK}
|
||||
############ range for menu starts
|
||||
@@ -850,7 +850,7 @@ STR_TOWNNAME_SWEDISH :Švedski
|
||||
STR_TOWNNAME_DUTCH :Nizozemski
|
||||
STR_TOWNNAME_FINNISH :Finski
|
||||
STR_TOWNNAME_POLISH :Poljski
|
||||
STR_TOWNNAME_SLOVAKISH :Slovački
|
||||
STR_TOWNNAME_SLOVAK :Slovački
|
||||
STR_TOWNNAME_NORWEGIAN :Norveški
|
||||
STR_TOWNNAME_HUNGARIAN :Mađarski
|
||||
STR_TOWNNAME_AUSTRIAN :Austrijski
|
||||
@@ -883,7 +883,7 @@ STR_CURR_ITL :Talijanska lira
|
||||
STR_CURR_NLG :Nizozemski gulden (NLG)
|
||||
STR_CURR_NOK :Norveška kruna (NOK)
|
||||
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_SIT :Slovenski tolar (SIT)
|
||||
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_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_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_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}
|
||||
|
||||
@@ -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_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_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_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_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_2010_OFFICE_BLOCK :Uredski 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_6817_NORMAL :Normalno
|
||||
STR_6818_HIGH :Visoko
|
||||
STR_02BF_CUSTOM :Proizvoljno
|
||||
STR_6819 :{BLACK}{SMALLLEFTARROW}
|
||||
STR_681A :{BLACK}{SMALLRIGHTARROW}
|
||||
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_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_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_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_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_ROAD_VEHICLE_NOT_AVAILABLE :{WHITE}Vozilo nije dostupno
|
||||
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_AUTHOR :Autor:
|
||||
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
|
||||
|
@@ -3,7 +3,7 @@
|
||||
##isocode cs_CZ
|
||||
##winlangid 0x0405
|
||||
##grflangid 0x15
|
||||
##plural 6
|
||||
##plural 10
|
||||
##case nom gen dat acc voc loc ins big small
|
||||
##gender m f n
|
||||
|
||||
@@ -853,7 +853,7 @@ STR_TOWNNAME_SWEDISH :Švédská
|
||||
STR_TOWNNAME_DUTCH :Holandská
|
||||
STR_TOWNNAME_FINNISH :Finská
|
||||
STR_TOWNNAME_POLISH :Polská
|
||||
STR_TOWNNAME_SLOVAKISH :Slovenská
|
||||
STR_TOWNNAME_SLOVAK :Slovenská
|
||||
STR_TOWNNAME_NORWEGIAN :Norská
|
||||
STR_TOWNNAME_HUNGARIAN :Maďarská
|
||||
STR_TOWNNAME_AUSTRIAN :Rakouská
|
||||
@@ -886,7 +886,7 @@ STR_CURR_ITL :Italská lira (
|
||||
STR_CURR_NLG :Holandský gulden (NLG)
|
||||
STR_CURR_NOK :Norská koruna (NOK)
|
||||
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_SIT :Slovinský tolar (SIT)
|
||||
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_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_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_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}
|
||||
@@ -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_YAPF :YAPF {RED}(nedoporučuje se)
|
||||
|
||||
STR_CONFIG_SETTING_MAP_X :{LTBLUE}Rozmer X mapy: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_MAP_Y :{LTBLUE}Rozmer Y mapy: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_MAP_X :{LTBLUE}Šířka mapy: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_MAP_Y :{LTBLUE}Výška mapy: {ORANGE}{STRING}
|
||||
|
||||
############ generic strings for settings
|
||||
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_JOINED :*** {STRING} jde hrát
|
||||
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_LEFT :*** {STRING} opouští hru ({2: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_704C_KEY :{BLACK}Legenda
|
||||
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_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ží
|
||||
@@ -3183,7 +3184,7 @@ STR_NEWGRF_FILENAME :{BLACK}Jméno s
|
||||
STR_NEWGRF_PALETTE :{BLACK}Paleta: {SILVER}{STRING}
|
||||
STR_NEWGRF_GRF_ID :{BLACK}ID GRF: {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_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_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í.
|
||||
|
||||
@@ -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_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_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_ROAD_VEHICLE_NOT_AVAILABLE :{WHITE}Vůz není dostupné
|
||||
STR_SHIP_NOT_AVAILABLE :{WHITE}Loď není dostupná
|
||||
|
@@ -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_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_018E_LOWER_A_CORNER_OF_LAND :{BLACK}Sænk et hjørne af landet
|
||||
STR_018F_RAISE_A_CORNER_OF_LAND :{BLACK}Hæv 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 punkter i landskabet
|
||||
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_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_023B_INCREASE_SIZE_OF_TOWN :{BLACK}Forøg størrelsen af byen
|
||||
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_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...
|
||||
@@ -688,6 +689,7 @@ STR_TRANSPARENT_SIGNS :{SETX 12}Gennem
|
||||
STR_02D5_LAND_BLOCK_INFO :Landområde information
|
||||
STR_02D6 :
|
||||
STR_CONSOLE_SETTING :Tænd/Sluk konsol
|
||||
STR_AI_DEBUG_MENU :Computerspiller-debug
|
||||
STR_02D7_SCREENSHOT_CTRL_S :Skærmbillede (Ctrl-S)
|
||||
STR_02D8_GIANT_SCREENSHOT_CTRL_G :Kæmpe skærmbillede (Ctrl-G)
|
||||
STR_02D9_ABOUT_OPENTTD :Om 'OpenTTD'
|
||||
@@ -698,14 +700,14 @@ STR_02DA_ON :{BLACK}Til
|
||||
STR_02DC_DISPLAY_SUBSIDIES :{BLACK}Vis tilskudsordninger
|
||||
STR_02DD_SUBSIDIES :Tilskudsordninger
|
||||
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_02DF_TOWN_DIRECTORY :Byoversigt
|
||||
STR_TOWN_POPULATION :{BLACK}Verdens befolkning: {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_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_02E0_CURRENCY_UNITS :{BLACK}Valutaenhed
|
||||
@@ -783,7 +785,7 @@ STR_TOWNNAME_SWEDISH :Svenske
|
||||
STR_TOWNNAME_DUTCH :Hollandske
|
||||
STR_TOWNNAME_FINNISH :Finske
|
||||
STR_TOWNNAME_POLISH :Polske
|
||||
STR_TOWNNAME_SLOVAKISH :Slovakiske
|
||||
STR_TOWNNAME_SLOVAK :Slovakiske
|
||||
STR_TOWNNAME_NORWEGIAN :Norske
|
||||
STR_TOWNNAME_HUNGARIAN :Ungarske
|
||||
STR_TOWNNAME_AUSTRIAN :Østrigske
|
||||
@@ -816,7 +818,7 @@ STR_CURR_ITL :Italienske Lire
|
||||
STR_CURR_NLG :Hollandske Guilder (NLG)
|
||||
STR_CURR_NOK :Norske Kroner (NOK)
|
||||
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_SIT :Slovenske Tolare (SIT)
|
||||
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_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_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_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}
|
||||
@@ -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_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_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_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.
|
||||
@@ -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_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_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_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_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_704C_KEY :{BLACK}Nøgle
|
||||
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_704F_CLICK_HERE_TO_TOGGLE_COMPANY :{BLACK}Klik her for at vise/skjule selskabets graf
|
||||
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_VIA :Gå 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_DROP_LOAD_IF_POSSIBLE :Åbn hvis tilgængelig
|
||||
STR_ORDER_TOGGLE_FULL_LOAD :{BLACK}Vilkårlig fuld last
|
||||
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_ANY :Fuld last af hvilket som helst gods
|
||||
STR_ORDER_DROP_NO_LOADING :Ingen lastning
|
||||
STR_ORDER_DROP_FULL_LOAD_ANY :Fuld last vilkårligt gods
|
||||
STR_ORDER_DROP_NO_LOADING :Ingen last
|
||||
STR_ORDER_TOGGLE_UNLOAD :{BLACK}Los alt
|
||||
STR_ORDER_DROP_UNLOAD_IF_ACCEPTED :Los hvis gods accepteres
|
||||
STR_ORDER_DROP_UNLOAD :Aflæs alt
|
||||
STR_ORDER_DROP_TRANSFER :Overfør
|
||||
STR_ORDER_DROP_NO_UNLOADING :Ingen losning
|
||||
STR_ORDER_FULL_LOAD :(Fuld last)
|
||||
STR_ORDER_FULL_LOAD_ANY :(Fuld last af hvilket som helst gods)
|
||||
STR_ORDER_NO_LOAD :(Ingen lastning)
|
||||
STR_ORDER_FULL_LOAD_ANY :(Fuld last vilkårligt gods)
|
||||
STR_ORDER_NO_LOAD :(Ingen last)
|
||||
STR_ORDER_UNLOAD :(Los og medtag gods)
|
||||
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)
|
||||
@@ -2796,7 +2803,7 @@ STR_VEHICLE_INFO_COST_WEIGHT_SPEED_POWER :{BLACK}Pris: {C
|
||||
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_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_8860_RELIABILITY_BREAKDOWNS :{BLACK}Pålidelighed {LTBLUE}{COMMA}% {BLACK}nedbrud siden sidste service: {LTBLUE}{COMMA}
|
||||
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_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.
|
||||
|
||||
@@ -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_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_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_ROAD_VEHICLE_NOT_AVAILABLE :{WHITE}Vejkøretøj 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
|
||||
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_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_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
|
||||
@@ -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_TYPE_BASE_GRAPHICS :Basisgrafik
|
||||
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_HEIGHTMAP :Højdekort
|
||||
STR_CONTENT_TITLE :{WHITE}Download af indhold
|
||||
|
@@ -785,7 +785,7 @@ STR_TOWNNAME_SWEDISH :Zweeds
|
||||
STR_TOWNNAME_DUTCH :Nederlands
|
||||
STR_TOWNNAME_FINNISH :Fins
|
||||
STR_TOWNNAME_POLISH :Pools
|
||||
STR_TOWNNAME_SLOVAKISH :Slowaaks
|
||||
STR_TOWNNAME_SLOVAK :Slowaaks
|
||||
STR_TOWNNAME_NORWEGIAN :Noors
|
||||
STR_TOWNNAME_HUNGARIAN :Hongaars
|
||||
STR_TOWNNAME_AUSTRIAN :Oostenrijks
|
||||
@@ -818,7 +818,7 @@ STR_CURR_ITL :Italiaanse Lier
|
||||
STR_CURR_NLG :Nederlandse Gulden (NLG)
|
||||
STR_CURR_NOK :Noorse Kronen (NOK)
|
||||
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_SIT :Sloveense Tolar (SIT)
|
||||
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_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_SMOOTH :vlak
|
||||
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :Vlak
|
||||
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :Ruig
|
||||
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :Erg ruig
|
||||
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_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_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_704C_KEY :{BLACK}Legenda
|
||||
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_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
|
||||
@@ -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_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_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_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_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_ROAD_VEHICLE_NOT_AVAILABLE :{WHITE}Voertuig 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_AUTHOR :Maker:
|
||||
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
|
||||
|
@@ -785,7 +785,7 @@ STR_TOWNNAME_SWEDISH :Swedish
|
||||
STR_TOWNNAME_DUTCH :Dutch
|
||||
STR_TOWNNAME_FINNISH :Finnish
|
||||
STR_TOWNNAME_POLISH :Polish
|
||||
STR_TOWNNAME_SLOVAKISH :Slovakish
|
||||
STR_TOWNNAME_SLOVAK :Slovak
|
||||
STR_TOWNNAME_NORWEGIAN :Norwegian
|
||||
STR_TOWNNAME_HUNGARIAN :Hungarian
|
||||
STR_TOWNNAME_AUSTRIAN :Austrian
|
||||
@@ -818,7 +818,7 @@ STR_CURR_ITL :Italian Lira (I
|
||||
STR_CURR_NLG :Dutch Guilder (NLG)
|
||||
STR_CURR_NOK :Norwegian Krone (NOK)
|
||||
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_SIT :Slovenian Tolar (SIT)
|
||||
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_704C_KEY :{BLACK}Key
|
||||
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_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
|
||||
@@ -3172,6 +3173,7 @@ STR_BROKEN_VEHICLE_LENGTH :{WHITE}Train '{
|
||||
|
||||
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_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.
|
||||
|
||||
@@ -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_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_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_ROAD_VEHICLE_NOT_AVAILABLE :{WHITE}Vehicle 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_AUTHOR :Author:
|
||||
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.
|
||||
########
|
||||
|
||||
|
@@ -785,7 +785,7 @@ STR_TOWNNAME_SWEDISH :Swedish
|
||||
STR_TOWNNAME_DUTCH :Dutch
|
||||
STR_TOWNNAME_FINNISH :Finnish
|
||||
STR_TOWNNAME_POLISH :Polish
|
||||
STR_TOWNNAME_SLOVAKISH :Slovakish
|
||||
STR_TOWNNAME_SLOVAK :Slovak
|
||||
STR_TOWNNAME_NORWEGIAN :Norwegian
|
||||
STR_TOWNNAME_HUNGARIAN :Hungarian
|
||||
STR_TOWNNAME_AUSTRIAN :Austrian
|
||||
@@ -818,7 +818,7 @@ STR_CURR_ITL :Italian Lira (I
|
||||
STR_CURR_NLG :Dutch Guilder (NLG)
|
||||
STR_CURR_NOK :Norwegian Krone (NOK)
|
||||
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_SIT :Slovenian Tolar (SIT)
|
||||
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_704C_KEY :{BLACK}Key
|
||||
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_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
|
||||
@@ -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_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_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_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_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_ROAD_VEHICLE_NOT_AVAILABLE :{WHITE}Vehicle 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_AUTHOR :Author:
|
||||
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
|
||||
|
@@ -432,10 +432,13 @@ STR_AGE :{COMMA} jaro{P
|
||||
STR_AGE_RED :{RED}{COMMA} jaro{P "" j} ({COMMA})
|
||||
############ range for service numbers ends
|
||||
|
||||
STR_019C_ROAD_VEHICLE :Vojveturilo
|
||||
STR_019D_AIRCRAFT :Aviadilo
|
||||
STR_019E_SHIP :Ŝipo
|
||||
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_01A4_COST_TO_CLEAR_N_A :{BLACK}Forviŝkosto: {LTBLUE}ne eblas
|
||||
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_0208_ACCIDENTS_DISASTERS :{YELLOW}Akcidentoj / katastrofoj
|
||||
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_020C_NEW_VEHICLES :{YELLOW}Novaj veturiloj
|
||||
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_02A2_MEDIUM :{BLACK}Mezgranda
|
||||
STR_02A3_LARGE :{BLACK}Granda
|
||||
STR_SELECT_TOWN_SIZE_RANDOM :{BLACK}Arbitre
|
||||
STR_FOUND_TOWN_CITY :{BLACK}Urbo
|
||||
STR_02A4_SELECT_TOWN_SIZE :{BLACK}Elektu urban grandecon
|
||||
STR_02A5_TOWN_SIZE :{YELLOW}Urba grandeco:
|
||||
|
||||
|
||||
STR_02B6 :{STRING} - {STRING}
|
||||
STR_02B7_SHOW_LAST_MESSAGE_OR_NEWS :{BLACK}Montru lastan mesaĝon aŭ novaĵon
|
||||
STR_OFF :Ne
|
||||
@@ -640,7 +647,6 @@ STR_FULL :Plene
|
||||
STR_02BA :{SILVER}- - {COMPANY} - -
|
||||
STR_02BB_TOWN_DIRECTORY :Urbaro
|
||||
STR_02BD :{BLACK}{STRING}
|
||||
STR_02BF_CUSTOM :Ŝanĝitaj
|
||||
|
||||
STR_CHECKMARK :{CHECKMARK}
|
||||
############ range for menu starts
|
||||
@@ -754,7 +760,7 @@ STR_TOWNNAME_SWEDISH :Svede
|
||||
STR_TOWNNAME_DUTCH :Nederlande
|
||||
STR_TOWNNAME_FINNISH :Finne
|
||||
STR_TOWNNAME_POLISH :Pole
|
||||
STR_TOWNNAME_SLOVAKISH :Slovake
|
||||
STR_TOWNNAME_SLOVAK :Slovake
|
||||
STR_TOWNNAME_NORWEGIAN :Norvege
|
||||
STR_TOWNNAME_HUNGARIAN :Hungare
|
||||
STR_TOWNNAME_AUSTRIAN :Aŭstrie
|
||||
@@ -787,7 +793,7 @@ STR_CURR_ITL :Italaj Liroj (I
|
||||
STR_CURR_NLG :Nederlandaj Guldenoj (NLG)
|
||||
STR_CURR_NOK :Norvegaj Kronoj (NOK)
|
||||
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_SIT :Slovenaj Tolaroj (SIT)
|
||||
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_TIP :{BLACK}Elektu uzotan ekranfotan formaton
|
||||
|
||||
|
||||
STR_AUTOSAVE_1_MONTH :Je ĉiu monato
|
||||
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_CLOCKWISE :Dekstrume
|
||||
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_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_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_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_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_DISABLED :{LTBLUE}Defaŭlta prizorgintervalo por trajnoj: {ORANGE}malaktiva
|
||||
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_ECONOMY :{ORANGE}Ekonomio
|
||||
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_INT32 :{NUM}
|
||||
STR_CONFIG_SETTING_CURRENCY :{CURRENCY}
|
||||
|
||||
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_SUB_ARCTIC_LANDSCAPE :Arktikeca 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_ENABLE_ALL :{BLACK}Aktivigu ĉiujn
|
||||
|
||||
|
||||
STR_INDUSTRYDIR_CAPTION :{WHITE}Industrioj
|
||||
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)
|
||||
@@ -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_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_CONFIG_SETTING_SERVINT_ISPERCENT :{LTBLUE}Prizorgintervala procentaĵo: {ORANGE}{STRING}
|
||||
STR_CONFIG_GAME_PRODUCTION :{WHITE}Ŝanĝu produktadon
|
||||
|
||||
|
||||
############ network gui strings
|
||||
|
||||
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_SERVER_FULL :servilo plenas
|
||||
############ 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 :[Teamo] {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
|
||||
|
||||
|
||||
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
|
||||
|
||||
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_6817_NORMAL :Normale
|
||||
STR_6818_HIGH :Alte
|
||||
STR_02BF_CUSTOM :Ŝanĝitaj
|
||||
STR_6819 :{BLACK}{SMALLLEFTARROW}
|
||||
STR_681A :{BLACK}{SMALLRIGHTARROW}
|
||||
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_EXCHANGE_RATE :{LTBLUE}Interŝanĝa valoro: {ORANGE}{CURRENCY} = £ {COMMA}
|
||||
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_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_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_ROAD_VEHICLE_NOT_AVAILABLE :{WHITE}Veturilo 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_INDUSTRY :{TINYFONT}{STRING} ({NUM})
|
||||
|
||||
# Strings for map borders at game generation
|
||||
|
||||
########### String for new airports
|
||||
STR_SMALL_AIRPORT :{BLACK}Malgranda flughaveno
|
||||
STR_CITY_AIRPORT :{BLACK}Urba flughaveno
|
||||
@@ -3053,5 +3067,14 @@ STR_FACE_MOUSTACHE :Liphararo:
|
||||
############ on screen keyboard
|
||||
########
|
||||
|
||||
############ AI GUI
|
||||
########
|
||||
|
||||
############ town controlled noise level
|
||||
########
|
||||
|
||||
############ Downloading of content from the central server
|
||||
|
||||
|
||||
|
||||
########
|
||||
|
@@ -369,7 +369,7 @@ STR_015C_SAVE_GAME :Salvesta mäng
|
||||
STR_015D_LOAD_GAME :Laadi mäng
|
||||
STR_015E_QUIT_GAME :Lahku mängust
|
||||
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_SORT_ORDER_TIP :{BLACK}Sorteerimise järjekorra valimine (kahanev/kasvav)
|
||||
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_AGE :Vanus
|
||||
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_MODEL :Mudel
|
||||
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_RUNNING_COST :Käituskulud
|
||||
STR_ENGINE_SORT_POWER_VS_RUNNING_COST :Võimsus- ja käituskulud
|
||||
STR_ENGINE_SORT_CARGO_CAPACITY :Kauba kandevõime
|
||||
STR_NO_WAITING_CARGO :{BLACK}Kaupa pole ootamas
|
||||
STR_ENGINE_SORT_CARGO_CAPACITY :Kandevõime
|
||||
STR_NO_WAITING_CARGO :{BLACK}Veoseid pole ootamas
|
||||
STR_SELECT_ALL_FACILITIES :{BLACK}Vali kõik tööstused
|
||||
STR_SELECT_ALL_TYPES :{BLACK}Vali kõik kaubatüüpid (ka mitteoodatav kaup)
|
||||
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_01A4_COST_TO_CLEAR_N_A :{BLACK}Puhastustasu: {LTBLUE}N/A
|
||||
STR_01A5_COST_TO_CLEAR :{BLACK}Puhastustasu: {RED}{CURRENCY}
|
||||
STR_REVENUE_WHEN_CLEARED :{BLACK}Sissetulek puhastamisel: {LTBLUE}{CURRENCY}
|
||||
STR_01A6_N_A :puudub
|
||||
STR_01A7_OWNER :{BLACK}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_023B_INCREASE_SIZE_OF_TOWN :{BLACK}Linna suuruse suurendamine
|
||||
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_023E_BUILD_TOWN_IN_RANDOM_LOCATION :{BLACK}Ehita linn suvalisse kohta
|
||||
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_SELECT_TOWN_SIZE_RANDOM :{BLACK}Suvaline
|
||||
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_02A5_TOWN_SIZE :{YELLOW}Linna suurus:
|
||||
|
||||
STR_TOWN_ROAD_LAYOUT :{YELLOW}Linna teedevõrgu kujundus
|
||||
STR_SELECT_LAYOUT_ORIGINAL :{BLACK}Originaalne
|
||||
STR_TOWN_ROAD_LAYOUT :{YELLOW}Aleviku teeplaneering
|
||||
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_2X2_GRID :{BLACK}2x2 võrgustik
|
||||
STR_SELECT_LAYOUT_3X3_GRID :{BLACK}3x3 võrgustik
|
||||
STR_SELECT_LAYOUT_2X2_GRID :{BLACK}2x2 ruudustik
|
||||
STR_SELECT_LAYOUT_3X3_GRID :{BLACK}3x3 ruudustik
|
||||
STR_SELECT_LAYOUT_RANDOM :{BLACK}Suvaline
|
||||
|
||||
STR_02B6 :{STRING} - {STRING}
|
||||
STR_02B7_SHOW_LAST_MESSAGE_OR_NEWS :{BLACK}Näita viimast teadet
|
||||
STR_OFF :Off
|
||||
STR_OFF :Väljas
|
||||
STR_SUMMARY :Lühike
|
||||
STR_FULL :Täielik
|
||||
STR_02BA :{SILVER}- - {COMPANY} - -
|
||||
STR_02BB_TOWN_DIRECTORY :Linnanimistu
|
||||
STR_02BD :{BLACK}{STRING}
|
||||
STR_02BF_CUSTOM :Omatehtud
|
||||
|
||||
STR_CHECKMARK :{CHECKMARK}
|
||||
############ range for menu starts
|
||||
@@ -832,7 +835,7 @@ STR_TOWNNAME_SWEDISH :Rootsi
|
||||
STR_TOWNNAME_DUTCH :Hollandi
|
||||
STR_TOWNNAME_FINNISH :Soome
|
||||
STR_TOWNNAME_POLISH :Poola
|
||||
STR_TOWNNAME_SLOVAKISH :Slovakkia
|
||||
STR_TOWNNAME_SLOVAK :Slovakkia
|
||||
STR_TOWNNAME_NORWEGIAN :Norra
|
||||
STR_TOWNNAME_HUNGARIAN :Ungari
|
||||
STR_TOWNNAME_AUSTRIAN :Austria
|
||||
@@ -865,7 +868,7 @@ STR_CURR_ITL :Itaalia liir (I
|
||||
STR_CURR_NLG :Hollandi kulden (NLG)
|
||||
STR_CURR_NOK :Norra kroon (NOK)
|
||||
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_SIT :Sloveenia Talaar (SIT)
|
||||
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_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_TIP :{BLACK}Valige kasutatav põhigraafikakomplekt
|
||||
STR_AUTOSAVE_1_MONTH :Iga kuu
|
||||
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_VEL :{LTBLUE}Siht: {STATION}, {VELOCITY}
|
||||
STR_NO_ORDERS :{LTBLUE}Sihtpunkt puudub
|
||||
STR_NO_ORDERS_VEL :{LTBLUE}Sihtpunkt puudub, {VELOCITY}
|
||||
STR_NO_ORDERS :{LTBLUE}Sihita
|
||||
STR_NO_ORDERS_VEL :{LTBLUE}Sihita, {VELOCITY}
|
||||
|
||||
STR_PASSENGERS :reisijad
|
||||
STR_BAGS :kotti
|
||||
@@ -946,63 +951,67 @@ STR_CONFIG_SETTING_CAPTION :{WHITE}Täpsema
|
||||
|
||||
STR_CONFIG_SETTING_OFF :Väljas
|
||||
STR_CONFIG_SETTING_ON :Sees
|
||||
STR_CONFIG_SETTING_VEHICLESPEED :{LTBLUE}Olekuribal näidatakse veovahendi kiirust: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_BUILDONSLOPES :{LTBLUE}Luba ehitised nõlvadele ja kallastele: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_AUTOSLOPE :{LTBLUE}Võimalda maastikujunduse teostust majade, rööbaste jms. all (autoslope): {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_CATCHMENT :{LTBLUE}Võimalda reaalsemaid veekogu alasid: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_EXTRADYNAMITE :{LTBLUE}Luba linnateede, -sildade, -tunnelite jne lammutamine: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_MAMMOTHTRAINS :{LTBLUE}Lubatakse väga pikkasid ronge ehitatada: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_TRAIN_ACCELERATION_MODEL_ORIGINAL :Originaalne
|
||||
STR_CONFIG_SETTING_VEHICLESPEED :{LTBLUE}Sõidukiirus olekuribal: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_BUILDONSLOPES :{LTBLUE}Nõlvadele ja kallastele ehitamine: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_AUTOSLOPE :{LTBLUE}Maastikukujundus majade, rööbaste jms. all (autoslope): {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_CATCHMENT :{LTBLUE}Reaalsemad veekogud: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_EXTRADYNAMITE :{LTBLUE}Linnateede, -sildade, -tunnelite jne lammutamine: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_MAMMOTHTRAINS :{LTBLUE}Väga pikkade rongide ehitamine: {ORANGE}{STRING}
|
||||
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_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_IMPROVEDLOAD :{LTBLUE}Kasuta parandatud laadimisalgoritmi: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_GRADUAL_LOADING :{LTBLUE}Laadi veovahendeid järkjärguliselt: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_JOINSTATIONS :{LTBLUE}Kõrvuti ehitatud jaamade ühendamine: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS :{LTBLUE}Eemalasetsevate jaamade liitmine: {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_SELECTGOODS :{LTBLUE}Vii kaup jaama ainult siis, kui seal on nõudlus: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_LONGBRIDGES :{LTBLUE}Lubatakse väga pikkasid sildu ehitada: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_GOTODEPOT :{LTBLUE}Lubatakse 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_SELECTGOODS :{LTBLUE}Kauba toimetamine jaama ainult nõudluse korral: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_LONGBRIDGES :{LTBLUE}Väga pikkade sildade ehitamine: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_GOTODEPOT :{LTBLUE}Depoosse minemise käsud: {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_NORMAL :nagu muud tööstused
|
||||
STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_PROSPECTING :uurides
|
||||
STR_CONFIG_SETTING_MULTIPINDTOWN :{LTBLUE}Luba mitu sama liiki tööstust linna kohta: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_SAMEINDCLOSE :{LTBLUE}Sama liiki tööstusi saab ehitada üksteise lähedale: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_LONGDATE :{LTBLUE}Olekuribal näidatakse alati täispikka kuupäeva: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_SIGNALSIDE :{LTBLUE}Paiguta signaalid rööbasteele sõidusuunda arvestades: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_SHOWFINANCES :{LTBLUE}Aasta lõpus näidatakse rahavoogude aruannet: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_PROSPECTING :eeluuringutega
|
||||
STR_CONFIG_SETTING_MULTIPINDTOWN :{LTBLUE}Samalaadsed tööstused ühes linnas: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_SAMEINDCLOSE :{LTBLUE}Samalaadsed tööstused lähestiku: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_LONGDATE :{LTBLUE}Täispikk kuupäev olekuribal: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_SIGNALSIDE :{LTBLUE}Signaalide paigutamine sõidusuunda: {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_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_BRIBE :{LTBLUE}Luba kohalikule omavalitsusele altkäemaksu maksmine: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_ALLOW_EXCLUSIVE :{LTBLUE}Luba eksklusiivseid veoõiguseid osta: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_ALLOW_GIVE_MONEY :{LTBLUE}Luba teistele ettevõtetele raha saata: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_NONUNIFORM_STATIONS :{LTBLUE}Luba suvalise kujuga jaamad: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_FREIGHT_TRAINS :{LTBLUE}Raskete rongide simuleerimiseks kasutatav raskuse korrutaja: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_PLANE_SPEED :{LTBLUE}Lennuki kiiruse tegur: {ORANGE}1 / {STRING}
|
||||
STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :{LTBLUE}Luba läbisõidupeatused linnateedel: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_ADJACENT_STATIONS :{LTBLUE}Luba jaamu lähestikku ehitada: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_DYNAMIC_ENGINES :{LTBLUE}Lubatakse mitu NewGRF sõidukikomplekti: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_AUTOSCROLL :{LTBLUE}Vaate kerimine osutiga ekraaniserva puudutamisel: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_BRIBE :{LTBLUE}Altkäemaksud kohalikele omavalitsustele: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_ALLOW_EXCLUSIVE :{LTBLUE}Ainuveoõiguste ostmine: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_ALLOW_GIVE_MONEY :{LTBLUE}Raha saatmine teistele ettevõtetele: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_NONUNIFORM_STATIONS :{LTBLUE}Suvalise kujuga jaamad: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_FREIGHT_TRAINS :{LTBLUE}Raskete rongide simuleerimiseks kasutatav raskustegur: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_PLANE_SPEED :{LTBLUE}Lennukite kiirustegur: {ORANGE}1 / {STRING}
|
||||
STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD :{LTBLUE}Läbisõidupeatused linnateedel: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD :{LTBLUE}Läbisõidupeatused konkurentide teedel: {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_OFF :ei
|
||||
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_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_AUTORENEW_VEHICLE :{LTBLUE}Vananenud sõidukite automaatne uuendamine: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_AUTORENEW_MONTHS :{LTBLUE}Uuenda {ORANGE}{STRING}{LTBLUE} kuud enne/pärast veovahendi suurimat vanust
|
||||
STR_CONFIG_SETTING_AUTORENEW_MONEY :{LTBLUE}Iseuuendusele kuluv väikseim summa: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_ERRMSG_DURATION :{LTBLUE}Veateate kuvamise kestus: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_POPULATION_IN_LABEL :{LTBLUE}Linna nimesildil näidatakse rahvaarvu: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_AUTORENEW_VEHICLE :{LTBLUE}Vananenud sõidukite moderniseerimine: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_AUTORENEW_MONTHS :{LTBLUE}Piirvanuse saavutanud veovahendit uuendatakse {ORANGE}{STRING}{LTBLUE} kuu piires
|
||||
STR_CONFIG_SETTING_AUTORENEW_MONEY :{LTBLUE}Nõutud rahasumma moderniseerimiseks: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_ERRMSG_DURATION :{LTBLUE}Veateadete kestus: {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_ORIGINAL :Algupärane
|
||||
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_ROUGHNESS_OF_TERRAIN :{LTBLUE}Maa mägisus (TerraGenesis ainult) : {ORANGE}{STRING}
|
||||
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_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_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_SERVICEATHELIPAD :{LTBLUE}Maandumisplatsidel hooldatakse automaatselt helikoptereid: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_LINK_TERRAFORM_TOOLBAR :{LTBLUE}Liida maastikuriba raudtee/tee/vee/lennujaamade tööriistaribaga: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_REVERSE_SCROLLING :{LTBLUE}Vaadet keritakse vastassuunas: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_STATION_SPREAD :{LTBLUE}Suurim jaamaala: {ORANGE}{STRING} {RED}Hoiatus: kõrge määr aeglustab mängu
|
||||
STR_CONFIG_SETTING_SERVICEATHELIPAD :{LTBLUE}Automaatne helikopterihooldus maandumisplatsidel: {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}Vaate kerimine vastassuunas: {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_NONE :Mitte ühelgi
|
||||
STR_CONFIG_SETTING_LIVERIES_OWN :Enda ettevõtel
|
||||
STR_CONFIG_SETTING_LIVERIES_ALL :Kõikidel ettevõttetel
|
||||
STR_CONFIG_SETTING_PREFER_TEAMCHAT :{LTBLUE}Vajutades <ENTER> eelistatakse meeskonna jututuba: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_LIVERIES_OWN :Oma ettevõtel
|
||||
STR_CONFIG_SETTING_LIVERIES_ALL :Igal ettevõttel
|
||||
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_ZOOM :Suurenda kaarti
|
||||
STR_CONFIG_SETTING_SCROLLWHEEL_SCROLL :Keri kaarti
|
||||
STR_CONFIG_SETTING_SCROLLWHEEL_ZOOM :Kaardi suurendamine
|
||||
STR_CONFIG_SETTING_SCROLLWHEEL_SCROLL :Kaardi kerimine
|
||||
STR_CONFIG_SETTING_SCROLLWHEEL_OFF :Väljas
|
||||
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_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_SHORT :lühike (31-12-2008)
|
||||
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_ADVANCED_VEHICLE_LISTS :{LTBLUE}Kasuta laiendatud sõidukinimekirja: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME :{LTBLUE}Mängu seiskamine alguses: {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_OWN :Oma ettevõte
|
||||
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_OWN :Oma ettevõte
|
||||
STR_CONFIG_SETTING_LOADING_INDICATORS_ALL :Kõik ettevõtted
|
||||
STR_CONFIG_SETTING_TIMETABLE_ALLOW :{LTBLUE}Luba sõiduplaanide määramine: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_LOADING_INDICATORS_OWN :Oma ettevõtel
|
||||
STR_CONFIG_SETTING_LOADING_INDICATORS_ALL :Igal ettevõttel
|
||||
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_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_RAIL :Tavaline 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_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_BETTER_ROADS :paremad teed
|
||||
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_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_LEFT :Vasakul
|
||||
STR_CONFIG_SETTING_TOOLBAR_POS_CENTER :Keskel
|
||||
STR_CONFIG_SETTING_TOOLBAR_POS_RIGHT :Paremal
|
||||
STR_CONFIG_SETTING_SNAP_RADIUS :{LTBLUE}Akna haaramise raadius: {ORANGE}{STRING} px
|
||||
STR_CONFIG_SETTING_SNAP_RADIUS_DISABLED :{LTBLUE}Akna haaramise raadius: {ORANGE}välja lülitatud
|
||||
STR_CONFIG_SETTING_SNAP_RADIUS :{LTBLUE}Akna haaramisraadius: {ORANGE}{STRING} px
|
||||
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_NONE :Pole
|
||||
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_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_CITY_SIZE_MULTIPLIER :{LTBLUE}Algne linna suuruse kordaja: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD :{LTBLUE}Eemalda teedeehituse ajal esinevad tarbetud elemendid: {ORANGE}{STRING}
|
||||
STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :{LTBLUE}Algne linnade suurustegur: {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_VEHICLES :{ORANGE}Sõidukid
|
||||
STR_CONFIG_SETTING_STATIONS :{ORANGE}Jaamad
|
||||
STR_CONFIG_SETTING_ECONOMY :{ORANGE}Majandus
|
||||
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_NPF :NPF
|
||||
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_NPF :NPF
|
||||
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_NPF :NPF
|
||||
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_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_CHANGE_COMPANY :{LTBLUE}Mängimine ettevõttena: {ORANGE}{COMMA}
|
||||
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_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_SWITCH_CLIMATE :{LTBLUE}Vaheta kliimat: {ORANGE} {STRING}
|
||||
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_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_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_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_TIP :{BLACK}Võrgust serveri otsimine
|
||||
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_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_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_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_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_SERVER_OFFLINE :{SILVER}SERVER ON MAAS
|
||||
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_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_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_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_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_TIP :{BLACK}Teistele mängijatele teadmiseks, et mis keelt serveris räägitakse
|
||||
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_GIVE_MONEY_CAPTION :{WHITE}Sisesta summa mida anda
|
||||
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_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_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_CARGO_FOR_TOWNGROWTH :{BLACK}Veoseid linna kasvamiseks:
|
||||
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_2010_OFFICE_BLOCK :Büroohoone
|
||||
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_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_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_2037_HOUSES :Majad
|
||||
STR_2038_FLATS :Korterid
|
||||
@@ -1898,6 +1934,7 @@ STR_4001_LOAD_GAME :{WHITE}Laadi m
|
||||
STR_4002_SAVE :{BLACK}Salvesta
|
||||
STR_4003_DELETE :{BLACK}Kustuta
|
||||
STR_4004 :{COMPANY}, {STRING}
|
||||
STR_GAME_SAVELOAD_SPECTATOR_SAVEGAME :Vaatleja, {SKIP}{STRING}
|
||||
STR_4005_BYTES_FREE :{BLACK}{BYTES} vaba
|
||||
STR_4006_UNABLE_TO_READ_DRIVE :{BLACK}Ei suuda kettalt lugeda
|
||||
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_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR :Süsteemi viga: {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_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_400B_CURRENTLY_SELECTED_NAME :{BLACK}Mängu salvestuse nimi
|
||||
STR_400C_DELETE_THE_CURRENTLY_SELECTED :{BLACK}Kustuta valitud salvestus
|
||||
@@ -1993,6 +2031,7 @@ STR_INDUSTRY_PROD_GODOWN :{BLACK}{BIGFONT
|
||||
|
||||
##id 0x5000
|
||||
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_5006_MUST_DEMOLISH_TUNNEL_FIRST :{WHITE}Tunnel 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_MINES :{STRING} kaevandused
|
||||
STR_SV_STNAME_DOCKS :{STRING} dokid
|
||||
STR_SV_STNAME_BUOY_1 :{STRING} poi #1
|
||||
STR_SV_STNAME_BUOY_2 :{STRING} poi #2
|
||||
STR_SV_STNAME_BUOY_3 :{STRING} poi #3
|
||||
STR_SV_STNAME_BUOY_4 :{STRING} poi #4
|
||||
STR_SV_STNAME_BUOY_5 :{STRING} poi #5
|
||||
STR_SV_STNAME_BUOY_6 :{STRING} poi #6
|
||||
STR_SV_STNAME_BUOY_7 :{STRING} poi #7
|
||||
STR_SV_STNAME_BUOY_8 :{STRING} poi #8
|
||||
STR_SV_STNAME_BUOY_9 :{STRING} poi #9
|
||||
STR_SV_STNAME_BUOY_1 :{STRING} 1. poi
|
||||
STR_SV_STNAME_BUOY_2 :{STRING} 2. poi
|
||||
STR_SV_STNAME_BUOY_3 :{STRING} 3. poi
|
||||
STR_SV_STNAME_BUOY_4 :{STRING} 4. poi
|
||||
STR_SV_STNAME_BUOY_5 :{STRING} 5. poi
|
||||
STR_SV_STNAME_BUOY_6 :{STRING} 6. poi
|
||||
STR_SV_STNAME_BUOY_7 :{STRING} 7. poi
|
||||
STR_SV_STNAME_BUOY_8 :{STRING} 8. poi
|
||||
STR_SV_STNAME_BUOY_9 :{STRING} 9. poi
|
||||
STR_SV_STNAME_ANNEXE :{STRING} juurdeehitis
|
||||
STR_SV_STNAME_SIDINGS :{STRING} hargnemine
|
||||
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_HELIPORT :{STRING} Kopteriväljak
|
||||
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!
|
||||
|
||||
@@ -2122,6 +2161,7 @@ STR_NUM_VERY_LOW :Väga madal
|
||||
STR_6816_LOW :Madal
|
||||
STR_6817_NORMAL :Harilik
|
||||
STR_6818_HIGH :Kõrge
|
||||
STR_02BF_CUSTOM :Omatehtud
|
||||
STR_6819 :{BLACK}{SMALLLEFTARROW}
|
||||
STR_681A :{BLACK}{SMALLRIGHTARROW}
|
||||
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_704C_KEY :{BLACK}Selgitus
|
||||
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_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
|
||||
@@ -2607,10 +2648,10 @@ STR_ORDER_GO_TO :Mine
|
||||
STR_ORDER_GO_NON_STOP_TO :Mine peatumata
|
||||
STR_ORDER_GO_VIA :Mine 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_DROP_LOAD_IF_POSSIBLE :Laadi, kui saadaval
|
||||
STR_ORDER_DROP_FULL_LOAD_ALL :Laadi kõiki kaupu täis
|
||||
STR_ORDER_DROP_FULL_LOAD_ANY :Laadi ühte kaupa täis
|
||||
STR_ORDER_TOGGLE_FULL_LOAD :{BLACK}Laadi üks täis
|
||||
STR_ORDER_DROP_LOAD_IF_POSSIBLE :Võimalusel laadi
|
||||
STR_ORDER_DROP_FULL_LOAD_ALL :Laadi kõik täis
|
||||
STR_ORDER_DROP_FULL_LOAD_ANY :Laadi üks täis
|
||||
STR_ORDER_DROP_NO_LOADING :Mitte laadida
|
||||
STR_ORDER_TOGGLE_UNLOAD :{BLACK}Laadi kõik 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_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_CONDITIONAL :Tinglik sihtpunkti vahetamine
|
||||
@@ -2723,6 +2764,7 @@ STR_8826_GO_TO :{BLACK}Mine
|
||||
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_ORDER :(Taasseadista {STRING})
|
||||
STR_REFIT_STOP_ORDER :(Seadista ümber {STRING} jaoks ja peatu)
|
||||
STR_STOP_ORDER :(Peatu)
|
||||
STR_TIMETABLE_VIEW :{BLACK}Sõiduplaan
|
||||
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_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_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_8860_RELIABILITY_BREAKDOWNS :{BLACK}Tehnoseisund: {LTBLUE}{COMMA}% {BLACK}Rikkeid eelmisest hooldusest: {LTBLUE}{COMMA}
|
||||
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_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
|
||||
STR_9000_ROAD_VEHICLE_IN_THE_WAY :{WHITE}Mootorsõiduk takistab teed
|
||||
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_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_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
|
||||
STR_9800_WATERWAYS_CONSTRUCTION :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_ERROR :{RED}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_DOS_OR_WINDOWS :{SKIP}{STRING} on {STRING} TTD versiooni jaoks.
|
||||
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 osa jaoks.
|
||||
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_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_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_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_UNEXPECTED_SPRITE :Ootamatu sprait.
|
||||
STR_NEWGRF_ERROR_UNKNOWN_PROPERTY :Tundmatu Action 0 omadus.
|
||||
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_SAVE :{BLACK}Salvesta eelseadistus
|
||||
STR_NEWGRF_PRESET_SAVE_TIP :{BLACK}Salvesta praegune loend eelseadistusena
|
||||
STR_NEWGRF_PRESET_SAVE_QUERY :{BLACK}Sisesta eelseadistuse nimi
|
||||
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_TIP :{BLACK}Lisa nimekirja NewGRF fail
|
||||
STR_NEWGRF_REMOVE :{BLACK}Eemalda
|
||||
STR_NEWGRF_REMOVE_TIP :{BLACK}Eemalda nimekirjast valitud NewGRF fail
|
||||
STR_NEWGRF_MOVEUP :{BLACK}Liiguta Üles
|
||||
STR_NEWGRF_MOVEUP_TIP :{BLACK}Liiguta valitud NewGRF fail nimekirjas üles
|
||||
STR_NEWGRF_MOVEDOWN :{BLACK}Liiguta Alla
|
||||
STR_NEWGRF_MOVEDOWN_TIP :{BLACK}Liiguta valitud NewGRF fail nimekirjas alla
|
||||
STR_NEWGRF_MOVEUP :{BLACK}Liiguta üles
|
||||
STR_NEWGRF_MOVEUP_TIP :{BLACK}NewGRF-faili liigutamine loendis üles.
|
||||
STR_NEWGRF_MOVEDOWN :{BLACK}Liiguta 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_PARAMETER :{BLACK}Parameetrid: {SILVER}{STRING}
|
||||
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_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_SEPARATOR :{LTBLUE}Vahemärk:
|
||||
STR_CURRENCY_PREFIX :{LTBLUE}Eesliide:
|
||||
STR_CURRENCY_SUFFIX :{LTBLUE}Lõpuliide:
|
||||
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_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_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_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_ROAD_VEHICLE_NOT_AVAILABLE :{WHITE}Sõiduk 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_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
|
||||
|
||||
@@ -3300,8 +3349,8 @@ STR_DATE :{BLACK}Algus:
|
||||
STR_NUMBER_OF_TOWNS :{BLACK}Linnade sagedus:
|
||||
STR_NUMBER_OF_INDUSTRIES :{BLACK}Tehaste sagedus:
|
||||
STR_GENERATE_DATE :{BLACK}{DATE_LONG}
|
||||
STR_SNOW_LINE_UP :{BLACK}Liiguta lumepiiri ühe ühiku võrra üles
|
||||
STR_SNOW_LINE_DOWN :{BLACK}Liiguta lumepiiri ühe ühiku võrra alla
|
||||
STR_SNOW_LINE_UP :{BLACK}Lumepiiri liigutamine ühe võrra üles
|
||||
STR_SNOW_LINE_DOWN :{BLACK}Lumepiiri liigutamine ühe võrra alla
|
||||
STR_SNOW_LINE_QUERY_CAPT :{WHITE}Muuda lumepiiri kõrgust
|
||||
STR_START_DATE_QUERY_CAPT :{WHITE}Muuda algusaastat
|
||||
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_NEW_WORLD :{BLACK}Alusta uut stsenaariumit
|
||||
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_UP :{BLACK}Liiguta lameda maa kõrgus ühe võrra üles
|
||||
STR_FLAT_WORLD_HEIGHT_DOWN :{BLACK}Lameda maa kõrguse langetamine ühe võrra
|
||||
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 :{BLACK}Lameda maa kõrgus:
|
||||
|
||||
@@ -3367,7 +3416,7 @@ STR_HELIPORTS :{BLACK}Helikopt
|
||||
|
||||
STR_MEASURE_LENGTH :{BLACK}Pikkus: {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
|
||||
|
||||
############ Date formatting
|
||||
|
@@ -785,7 +785,7 @@ STR_TOWNNAME_SWEDISH :Ruotsalainen
|
||||
STR_TOWNNAME_DUTCH :Hollantilainen
|
||||
STR_TOWNNAME_FINNISH :Suomalainen
|
||||
STR_TOWNNAME_POLISH :Puolalainen
|
||||
STR_TOWNNAME_SLOVAKISH :Slovakialainen
|
||||
STR_TOWNNAME_SLOVAK :Slovakialainen
|
||||
STR_TOWNNAME_NORWEGIAN :Norjalainen
|
||||
STR_TOWNNAME_HUNGARIAN :Unkarilainen
|
||||
STR_TOWNNAME_AUSTRIAN :Itävaltalainen
|
||||
@@ -818,7 +818,7 @@ STR_CURR_ITL :Italian liira (
|
||||
STR_CURR_NLG :Hollannin guildeni (NLG)
|
||||
STR_CURR_NOK :Norjan kruunu (NOK)
|
||||
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_SIT :Slovenian tolari (SIT)
|
||||
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_704C_KEY :{BLACK}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_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öä)
|
||||
@@ -2802,7 +2803,7 @@ STR_VEHICLE_INFO_COST_WEIGHT_SPEED_POWER :{BLACK}Kulu: {C
|
||||
STR_885C_BROKEN_DOWN :{RED}Rikki
|
||||
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_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_8860_RELIABILITY_BREAKDOWNS :{BLACK}Luotettavuus: {LTBLUE}{COMMA}% {BLACK}Hajoamisia viime huollon jälkeen: {LTBLUE}{COMMA}
|
||||
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_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.
|
||||
|
||||
@@ -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_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_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_ROAD_VEHICLE_NOT_AVAILABLE :{WHITE}Ajoneuvo ei ole saatavilla
|
||||
STR_SHIP_NOT_AVAILABLE :{WHITE}Laiva ei ole saatavilla
|
||||
|
@@ -786,7 +786,7 @@ STR_TOWNNAME_SWEDISH :Suédois
|
||||
STR_TOWNNAME_DUTCH :Hollandais
|
||||
STR_TOWNNAME_FINNISH :Finlandais
|
||||
STR_TOWNNAME_POLISH :Polonais
|
||||
STR_TOWNNAME_SLOVAKISH :Slovaques
|
||||
STR_TOWNNAME_SLOVAK :Slovaques
|
||||
STR_TOWNNAME_NORWEGIAN :Norvégiens
|
||||
STR_TOWNNAME_HUNGARIAN :Hongrois
|
||||
STR_TOWNNAME_AUSTRIAN :Autrichiens
|
||||
@@ -819,7 +819,7 @@ STR_CURR_ITL :Lire Italienne
|
||||
STR_CURR_NLG :Florint Hollandais (NLG)
|
||||
STR_CURR_NOK :Courronne Norvégienne (NOK)
|
||||
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_SIT :Tolar Slovénien (SIT)
|
||||
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_704C_KEY :{BLACK}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_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
|
||||
@@ -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_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.
|
||||
|
||||
@@ -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_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_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_ROAD_VEHICLE_NOT_AVAILABLE :{WHITE}Véhicule non disponible
|
||||
STR_SHIP_NOT_AVAILABLE :{WHITE}Navire non disponible
|
||||
|
@@ -656,7 +656,6 @@ STR_FULL :Completo
|
||||
STR_02BA :{SILVER}- - {COMPANY} - -
|
||||
STR_02BB_TOWN_DIRECTORY :Directorio de cidades
|
||||
STR_02BD :{BLACK}{STRING}
|
||||
STR_02BF_CUSTOM :Persoalizado
|
||||
|
||||
STR_CHECKMARK :{CHECKMARK}
|
||||
############ range for menu starts
|
||||
@@ -773,7 +772,7 @@ STR_TOWNNAME_SWEDISH :Sueco
|
||||
STR_TOWNNAME_DUTCH :Holandés
|
||||
STR_TOWNNAME_FINNISH :Finés
|
||||
STR_TOWNNAME_POLISH :Polaco
|
||||
STR_TOWNNAME_SLOVAKISH :Eslovaco
|
||||
STR_TOWNNAME_SLOVAK :Eslovaco
|
||||
STR_TOWNNAME_NORWEGIAN :Noruegués
|
||||
STR_TOWNNAME_HUNGARIAN :Húngaro
|
||||
STR_TOWNNAME_AUSTRIAN :Austríaco
|
||||
@@ -806,7 +805,7 @@ STR_CURR_ITL :Lira Italiana (
|
||||
STR_CURR_NLG :Florín Holandés (NLG)
|
||||
STR_CURR_NOK :Corona Norueguesa (NOK)
|
||||
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_SIT :Tolar Esloveno (SIT)
|
||||
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_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_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_JOINSTATIONS :{LTBLUE}Xunta-las estacións construídas xuntas: {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_EXDEPOT :si, pero exclúe os vehículos parados
|
||||
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_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
|
||||
@@ -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_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_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/%
|
||||
@@ -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_3X3_GRID :Reixa 3x3
|
||||
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_LEFT :Esquerda
|
||||
@@ -1073,12 +1077,12 @@ STR_CONFIG_SETTING_VEHICLES :{ORANGE}Vehícu
|
||||
STR_CONFIG_SETTING_STATIONS :{ORANGE}Estacións
|
||||
STR_CONFIG_SETTING_ECONOMY :{ORANGE}Economía
|
||||
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_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_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_SUB_ARCTIC_LANDSCAPE :Escenario sub-ártico
|
||||
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_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_CONFIG_SETTING_SERVINT_ISPERCENT :{LTBLUE}Intervalos de servicio en porcentaxes: {ORANGE}{STRING}
|
||||
STR_CONFIG_GAME_PRODUCTION :{WHITE}Cambiar producción
|
||||
|
||||
############ network gui strings
|
||||
@@ -1444,8 +1453,6 @@ STR_NETWORK_SEND :{BLACK}Enviar
|
||||
############ 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
|
||||
@@ -2048,6 +2055,7 @@ STR_NUM_VERY_LOW :Moi baixo
|
||||
STR_6816_LOW :Baixo
|
||||
STR_6817_NORMAL :Normal
|
||||
STR_6818_HIGH :Alto
|
||||
STR_02BF_CUSTOM :Persoalizado
|
||||
STR_6819 :{BLACK}{SMALLLEFTARROW}
|
||||
STR_681A :{BLACK}{SMALLRIGHTARROW}
|
||||
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_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_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_ROAD_VEHICLE_NOT_AVAILABLE :{WHITE}O vehículo 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
|
||||
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_STATION_NOISE :{BLACK}Ruído xerado: {GOLD}{COMMA}
|
||||
########
|
||||
|
@@ -170,7 +170,7 @@ STR_00C6 :{SILVER}{CROSS}
|
||||
STR_00C7_QUIT :{WHITE}Verlassen
|
||||
STR_00C8_YES :{BLACK}Ja
|
||||
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_00CC_2 :{BLACK}2
|
||||
STR_00CD_3 :{BLACK}3
|
||||
@@ -315,7 +315,7 @@ STR_015B_OPENTTD :{WHITE}OpenTTD
|
||||
STR_015C_SAVE_GAME :Spiel speichern
|
||||
STR_015D_LOAD_GAME :Spiel laden
|
||||
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_0161_QUIT_GAME :{WHITE}Spiel beenden
|
||||
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_022B_RESET_LANDSCAPE :{BLACK}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_022E_LANDSCAPE_GENERATION :{BLACK}Landfläche erzeugen
|
||||
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_028E_PLACE_TRANSMITTER :{BLACK}Sendemast errichten
|
||||
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_0290_DELETE :{BLACK}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_FINNISH :Finnisch
|
||||
STR_TOWNNAME_POLISH :Polnisch
|
||||
STR_TOWNNAME_SLOVAKISH :Slovakisch
|
||||
STR_TOWNNAME_SLOVAK :Slovakisch
|
||||
STR_TOWNNAME_NORWEGIAN :Norwegisch
|
||||
STR_TOWNNAME_HUNGARIAN :Ungarisch
|
||||
STR_TOWNNAME_AUSTRIAN :Österreichisch
|
||||
@@ -819,7 +819,7 @@ STR_CURR_ITL :Italienische Li
|
||||
STR_CURR_NLG :Niederländ. Gulden (NLG)
|
||||
STR_CURR_NOK :Norwegische Kronen (NOK)
|
||||
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_SIT :Slovenische Taler (SIT)
|
||||
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_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_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_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_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_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_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}
|
||||
@@ -1198,7 +1198,7 @@ STR_CANT_REMOVE_TRAIN_WAYPOINT :{WHITE}Wegpunkt
|
||||
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_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_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_1023_RAILROAD_TRAIN_DEPOT :Zugdepot
|
||||
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_PRESIGNALS :Gleis mit Vorsignalen
|
||||
STR_RAILROAD_TRACK_WITH_NORMAL_SIGNALS :Gleis mit Blocksignalen
|
||||
STR_RAILROAD_TRACK_WITH_PRESIGNALS :Gleis mit Einfahrsignalen
|
||||
STR_RAILROAD_TRACK_WITH_EXITSIGNALS :Gleis mit Ausfahrsignalen
|
||||
STR_RAILROAD_TRACK_WITH_COMBOSIGNALS :Gleis mit Kombinationssignalen
|
||||
STR_RAILROAD_TRACK_WITH_PBSSIGNALS :Gleis mit 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_EXITSIGNALS :Gleis mit Haupt- und Ausfahrsignalen
|
||||
STR_RAILROAD_TRACK_WITH_NORMAL_COMBOSIGNALS :Gleis mit normalen und Kombinationssignalen
|
||||
STR_RAILROAD_TRACK_WITH_NORMAL_PBSSIGNALS :Gleis mit normalem Signal und Pfadsignal
|
||||
STR_RAILROAD_TRACK_WITH_NORMAL_NOENTRYSIGNALS :Gleis mit normalem Signal und einseitigem Pfadsignal
|
||||
STR_RAILROAD_TRACK_WITH_PRE_EXITSIGNALS :Gleis mit Vor- und Ausfahrsignalen
|
||||
STR_RAILROAD_TRACK_WITH_PRE_COMBOSIGNALS :Gleis mit Vor- und Kombinationssignalen
|
||||
STR_RAILROAD_TRACK_WITH_PRE_PBSSIGNALS :Gleis mit Vor- und Pfadsignal
|
||||
STR_RAILROAD_TRACK_WITH_PRE_NOENTRYSIGNALS :Gleis mit Vor- und einseitigem Pfadsignal
|
||||
STR_RAILROAD_TRACK_WITH_NORMAL_PRESIGNALS :Gleis mit Block- und Einfahrsignalen
|
||||
STR_RAILROAD_TRACK_WITH_NORMAL_EXITSIGNALS :Gleis mit Block- und Ausfahrsignalen
|
||||
STR_RAILROAD_TRACK_WITH_NORMAL_COMBOSIGNALS :Gleis mit Block- und Kombinationssignalen
|
||||
STR_RAILROAD_TRACK_WITH_NORMAL_PBSSIGNALS :Gleis mit Blocksignal und Pfadsignal
|
||||
STR_RAILROAD_TRACK_WITH_NORMAL_NOENTRYSIGNALS :Gleis mit Blocksignal und einseitigem Pfadsignal
|
||||
STR_RAILROAD_TRACK_WITH_PRE_EXITSIGNALS :Gleis mit Ein- und Ausfahrsignalen
|
||||
STR_RAILROAD_TRACK_WITH_PRE_COMBOSIGNALS :Gleis mit Einfahr- und Kombinationssignalen
|
||||
STR_RAILROAD_TRACK_WITH_PRE_PBSSIGNALS :Gleis mit Einfahr- und 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_PBSSIGNALS :Gleis mit Ausfahr- und 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_FILE_NOT_READABLE :Datei kann nicht gelesen 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_400B_CURRENTLY_SELECTED_NAME :{BLACK}Ausgewählter Spielname
|
||||
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_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_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_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
|
||||
@@ -2000,7 +2000,7 @@ STR_INDUSTRY_PROD_GODOWN :{BLACK}{BIGFONT
|
||||
|
||||
##id 0x5000
|
||||
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_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
|
||||
@@ -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_704C_KEY :{BLACK}Legende
|
||||
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_704F_CLICK_HERE_TO_TOGGLE_COMPANY :{BLACK}Graph der Firma ein-/ausblenden
|
||||
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_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_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
|
||||
STR_8000_KIRBY_PAUL_TANK_STEAM :Kirby Paul Tank (Dampf)
|
||||
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_ORDER_NON_STOP :{BLACK}ohne Halt
|
||||
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_NON_STOP_VIA :Fahre ohne Halt über
|
||||
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_NEAREST_DEPOT :dem nächsten
|
||||
STR_ORDER_NEAREST_HANGAR :dem nächsten Hangar
|
||||
STR_ORDER_SERVICE_AT :Wartung in
|
||||
STR_ORDER_SERVICE_NON_STOP_AT :Fahre ohne Halt zur Wartung in
|
||||
STR_ORDER_TRAIN_DEPOT :Zugdepot
|
||||
STR_ORDER_ROAD_DEPOT :Straßenfahrzeugdepot
|
||||
STR_ORDER_SHIP_DEPOT :Werft
|
||||
STR_GO_TO_DEPOT :{STRING} {TOWN} {STRING}
|
||||
STR_GO_TO_NEAREST_DEPOT :{STRING} {STRING} {STRING}
|
||||
STR_ORDER_SERVICE_AT :Falls nötig, Wartung in
|
||||
STR_ORDER_SERVICE_NON_STOP_AT :Fahre ohne Halt Zwecks Wartung zu
|
||||
STR_ORDER_TRAIN_DEPOT :{G=n}Zugdepot
|
||||
STR_ORDER_ROAD_DEPOT :{G=n}Straßenfahrzeugdepot
|
||||
STR_ORDER_SHIP_DEPOT :{G=w}Werft
|
||||
STR_GO_TO_DEPOT :{STRING}{G 2 "m" "r" "m" "den"} {2:STRING} {1:TOWN}
|
||||
STR_GO_TO_NEAREST_DEPOT :{STRING}{G 2 m r m "den"} {STRING} {STRING}
|
||||
STR_GO_TO_HANGAR :{STRING} {STATION} Hangar
|
||||
|
||||
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_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_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_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_8860_RELIABILITY_BREAKDOWNS :{BLACK}Zuverlässigkeit: {LTBLUE}{COMMA}% {BLACK}Ausfälle seit letzter Wartung: {LTBLUE}{COMMA}
|
||||
STR_8861_STOPPED :{RED}Angehalten
|
||||
@@ -3039,7 +3040,7 @@ STR_A031_CAN_T_NAME_AIRCRAFT :{WHITE}Flugzeug
|
||||
STR_A032_NAME_AIRCRAFT :{BLACK}Flugzeugname
|
||||
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_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_A037_RENAME :{BLACK}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_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_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_STATIC_GRF_CAUSES_DESYNC :Das Laden von {STRING} als statisches NewGRF mit {STRING} könnte Synchronisationsfehler hervorrufen.
|
||||
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_RESCAN_FILES :{BLACK}Dateiliste 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_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_DISABLED_WARNING :{WHITE}Fehlende GRF-Dateien wurden deaktiviert.
|
||||
STR_NEWGRF_COMPATIBLE_LOAD_WARNING :{WHITE}Kompatible NewGRF(s) für fehlende Dateien geladen
|
||||
STR_NEWGRF_DISABLED_WARNING :{WHITE}Fehlende NewGRF-Dateien wurden deaktiviert.
|
||||
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?
|
||||
|
||||
@@ -3173,6 +3174,7 @@ STR_BROKEN_VEHICLE_LENGTH :{WHITE}Zug '{VE
|
||||
|
||||
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_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.
|
||||
|
||||
@@ -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_ROADVEH_DEPOT :{BLACK}{STRING} - {COMMA} Fahrzeug{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_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_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_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_ROAD_VEHICLE_NOT_AVAILABLE :{WHITE}Fahrzeug 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_RUNNINGCOST :{BLACK}Betriebskosten: {GOLD}{CURRENCY} pro Jahr
|
||||
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_COST :{BLACK}Kosten: {GOLD}{CURRENCY}
|
||||
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_TREE_GENERATION :{BLACK}Baumerzeugung
|
||||
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_PREPARING_TILELOOP :{BLACK}Spielfeld wird belebt
|
||||
STR_PREPARING_GAME :{BLACK}Spiel wird vorbereitet
|
||||
@@ -3360,7 +3362,7 @@ STR_SMALLMAP_CENTER :{BLACK}Zusatzan
|
||||
STR_SMALLMAP_INDUSTRY :{TINYFONT}{STRING} ({NUM})
|
||||
|
||||
# Strings for map borders at game generation
|
||||
STR_BORDER_TYPE :{BLACK}Kartenränder:
|
||||
STR_BORDER_TYPE :{BLACK}Spielfeldränder:
|
||||
STR_NORTHWEST :{BLACK}Nordwesten
|
||||
STR_NORTHEAST :{BLACK}Nordosten
|
||||
STR_SOUTHEAST :{BLACK}Südosten
|
||||
@@ -3405,21 +3407,21 @@ STR_JUST_DATE_LONG :{DATE_LONG}
|
||||
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_DIRECTION :{WHITE}...Straße verläuft in die falsche Richtung
|
||||
|
||||
STR_TRANSPARENCY_TOOLB :{WHITE}Transparenzoptionen
|
||||
STR_TRANSPARENT_SIGNS_DESC :{BLACK}Transparenz für Stationsschilder einstellen
|
||||
STR_TRANSPARENT_TREES_DESC :{BLACK}Transparenz für Bäume einstellen
|
||||
STR_TRANSPARENT_HOUSES_DESC :{BLACK}Transparenz für Häuser einstellen
|
||||
STR_TRANSPARENT_INDUSTRIES_DESC :{BLACK}Transparenz für Industrien einstellen
|
||||
STR_TRANSPARENT_BUILDINGS_DESC :{BLACK}Transparenz für Gebäude wie Bahnhöfe, Depots, Wegpunkte und Oberleitung einstellen
|
||||
STR_TRANSPARENT_BRIDGES_DESC :{BLACK}Transparenz für Brücken einstellen
|
||||
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_CATENARY_DESC :{BLACK}Transparente Oberleitungen. Strg+Klick zum feststellen.
|
||||
STR_TRANSPARENT_LOADING_DESC :{BLACK}Transparenz für Ladestandsanzeige einstellen
|
||||
STR_TRANSPARENT_INVISIBLE_DESC :{BLACK}Objekte unsichtbar machen anstelle von transparent
|
||||
STR_TRANSPARENCY_TOOLB :{WHITE}Transparenzeinstellungen
|
||||
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. Strg+Klick, um Umschalten zu verhindern.
|
||||
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. Strg+Klick, um Umschalten zu verhindern.
|
||||
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. Strg+Klick, um Umschalten zu verhindern.
|
||||
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}Transparenz für Oberleitungen. Strg+Klick, um Umschalten zu verhindern.
|
||||
STR_TRANSPARENT_LOADING_DESC :{BLACK}Transparenz für Ladestandsanzeige einstellen. Strg+Klick, um Umschalten zu verhindern.
|
||||
STR_TRANSPARENT_INVISIBLE_DESC :{BLACK}Objekte unsichtbar statt transparent machen
|
||||
|
||||
STR_PERCENT_UP_SMALL :{TINYFONT}{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_LOAD :{BLACK}Laden
|
||||
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_TIP :{BLACK}Betrachte / Setze Nummer des Gesichts
|
||||
STR_FACE_FACECODE_CAPTION :{WHITE}Betrachte / Setze Nummer des Gesichts
|
||||
STR_FACE_FACECODE_TIP :{BLACK}Nummer des Gesichts anschauen / setzen
|
||||
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_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_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_SELECT_EUROPEAN :{BLACK}Auswahl europäischer Gesichter
|
||||
STR_FACE_AFRICAN :{BLACK}Afrikanisch
|
||||
|
@@ -3,9 +3,9 @@
|
||||
##isocode he_IL
|
||||
##winlangid 0x040d
|
||||
##grflangid 0x61
|
||||
##plural 0
|
||||
##gender m f
|
||||
##plural 2
|
||||
##textdir rtl
|
||||
##gender m f
|
||||
|
||||
#
|
||||
|
||||
@@ -259,6 +259,7 @@ STR_013C_CARGO :{BLACK}משא
|
||||
STR_013D_INFORMATION :{BLACK}מידע
|
||||
STR_013E_CAPACITIES :{BLACK}קיבולות
|
||||
STR_TOTAL_CARGO :{BLACK}סה"כ סחורה
|
||||
STR_013F_CAPACITY :{BLACK}קיבולת: {LTBLUE}{CARGO}{STRING}
|
||||
STR_TOTAL_CAPACITY_TEXT :{BLACK}:סה"כ קיבולת הסחורה ברכבת זאת
|
||||
STR_TOTAL_CAPACITY :{LTBLUE}- {CARGO} ({SHORTCARGO})
|
||||
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_02A2_MEDIUM :{BLACK}בינוני
|
||||
STR_02A3_LARGE :{BLACK}גדול
|
||||
STR_SELECT_TOWN_SIZE_RANDOM :{BLACK}אקראי
|
||||
STR_FOUND_TOWN_CITY :{BLACK}עיר
|
||||
STR_02A4_SELECT_TOWN_SIZE :{BLACK}בחר את גודל העיר
|
||||
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_02B7_SHOW_LAST_MESSAGE_OR_NEWS :{BLACK}הצג הודעה או חדשות אחרונים
|
||||
@@ -657,7 +662,6 @@ STR_FULL :מלא
|
||||
STR_02BA :{SILVER}- - {COMPANY} - -
|
||||
STR_02BB_TOWN_DIRECTORY :מדריך הערים
|
||||
STR_02BD :{BLACK}{STRING}
|
||||
STR_02BF_CUSTOM :אחר
|
||||
|
||||
STR_CHECKMARK :{CHECKMARK}
|
||||
############ range for menu starts
|
||||
@@ -726,6 +730,7 @@ STR_02FA_EVERY_12_MONTHS :כל 12 חוד
|
||||
STR_02FB_START_A_NEW_GAME :{BLACK}התחל משחק חדש
|
||||
STR_02FC_LOAD_A_SAVED_GAME :{BLACK}טען משחק שמור
|
||||
STR_02FE_CREATE_A_CUSTOMIZED_GAME :{BLACK}צור מפה/סצנריו מותאמים אישית
|
||||
STR_0300_SELECT_MULTIPLAYER_GAME :{BLACK}התחל משחק מרובה משתתפים
|
||||
STR_0301_DISPLAY_GAME_OPTIONS :{BLACK}הצג הגדרות משחק
|
||||
STR_0302_DISPLAY_DIFFICULTY_OPTIONS :{BLACK}הצג הגדרות קושי
|
||||
STR_0303_START_A_NEW_GAME_USING :{BLACK}התחל משחק חדש עם סצנריו מותאם אישית
|
||||
@@ -775,7 +780,7 @@ STR_TOWNNAME_SWEDISH :שוודית
|
||||
STR_TOWNNAME_DUTCH :הולנדית
|
||||
STR_TOWNNAME_FINNISH :פינית
|
||||
STR_TOWNNAME_POLISH :פולנית
|
||||
STR_TOWNNAME_SLOVAKISH :סלובקית
|
||||
STR_TOWNNAME_SLOVAK :סלובקית
|
||||
STR_TOWNNAME_NORWEGIAN :נורבגית
|
||||
STR_TOWNNAME_HUNGARIAN :הונגרית
|
||||
STR_TOWNNAME_AUSTRIAN :אוסטרית
|
||||
@@ -808,7 +813,7 @@ STR_CURR_ITL :(ITL) לירה
|
||||
STR_CURR_NLG :(NLG) גילדן הולנדי
|
||||
STR_CURR_NOK :(NOK) קרונה נורווגית
|
||||
STR_CURR_PLN :(PLN) זלוטי פולני
|
||||
STR_CURR_ROL :(ROL) ליו רומני
|
||||
STR_CURR_RON :(RON) ליו רומני
|
||||
STR_CURR_RUR :(RUR) רובל רוסי
|
||||
STR_CURR_SIT :(SIT) טולר סלובני
|
||||
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_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_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_ADJACENT_STATIONS :{ORANGE}{STRING}{LTBLUE} :אפשר בניית תחנות בשכנות
|
||||
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} :אפשר בניית שדות תעופה קטנים בכל עת
|
||||
|
||||
@@ -944,6 +954,7 @@ STR_CONFIG_SETTING_ORDER_REVIEW_EXDEPOT :כן,למעט
|
||||
STR_CONFIG_SETTING_ORDER_REVIEW_ON :עבור כל הרכבים
|
||||
STR_CONFIG_SETTING_WARN_INCOME_LESS :{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_MONEY :{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_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_DISABLED :{ORANGE}מבוטל {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_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_SEMAPHORE_BUILD_BEFORE_DATE :{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_3X3_GRID :3x3 רשת
|
||||
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_LEFT :שמאל
|
||||
@@ -1106,12 +1120,6 @@ STR_CONFIG_SETTING_VEHICLES_TRAINS :{ORANGE}רכב
|
||||
STR_CONFIG_SETTING_ECONOMY_TOWNS :{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_NTP :NTP {RED}(לא מומלץ)
|
||||
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_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_SUB_ARCTIC_LANDSCAPE :אקלים קר
|
||||
STR_SUB_TROPICAL_LANDSCAPE :אקלים טרופי
|
||||
@@ -1217,7 +1234,6 @@ STR_MESSAGE_HISTORY_TIP :{BLACK}רשימ
|
||||
STR_MESSAGES_DISABLE_ALL :{BLACK}השתק את כולן
|
||||
STR_MESSAGES_ENABLE_ALL :{BLACK}הצג את כולן
|
||||
|
||||
|
||||
STR_INDUSTRYDIR_CAPTION :{WHITE}תעשיות
|
||||
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}
|
||||
@@ -1231,7 +1247,6 @@ STR_RAIL_REFIT_VEHICLE :{BLACK}התאם
|
||||
STR_RAIL_SELECT_TYPE_OF_CARGO_FOR :{BLACK}בחר את סוג המשא עבור הרכבת
|
||||
STR_RAIL_REFIT_TO_CARRY_HIGHLIGHTED :{BLACK}התאם את הרכבת לנשיאת המשא שנבחר
|
||||
STR_RAIL_CAN_T_REFIT_VEHICLE :{WHITE}...לא ניתן להתאים את הרכבת
|
||||
STR_CONFIG_SETTING_SERVINT_ISPERCENT :{ORANGE}{STRING}{LTBLUE} :הצג מרווחי טיפול באחוזים
|
||||
STR_CONFIG_GAME_PRODUCTION :{WHITE}שנה תפוקה
|
||||
|
||||
############ network gui strings
|
||||
@@ -1493,11 +1508,6 @@ STR_NETWORK_SEND :{BLACK}שלח
|
||||
|
||||
############ 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
|
||||
|
||||
STR_PNGMAP_ERROR :{WHITE}לא יכול לטעון שטח אדמה מקובץ...
|
||||
@@ -1665,6 +1675,7 @@ STR_200B_CENTER_THE_MAIN_VIEW_ON :{BLACK}מקד
|
||||
STR_200C_CHANGE_TOWN_NAME :{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_CARGO_FOR_TOWNGROWTH :{BLACK}המטען שצריך בשביל גידול עיר
|
||||
STR_200F_TALL_OFFICE_BLOCK :בניין משרדים גבוה
|
||||
STR_2010_OFFICE_BLOCK :בניין משרדים
|
||||
STR_2011_SMALL_BLOCK_OF_FLATS :בניין דירות
|
||||
@@ -2105,6 +2116,7 @@ STR_NUM_VERY_LOW :נמוך מאו
|
||||
STR_6816_LOW :נמוך
|
||||
STR_6817_NORMAL :רגיל
|
||||
STR_6818_HIGH :גבוה
|
||||
STR_02BF_CUSTOM :אחר
|
||||
STR_6819 :{BLACK}{SMALLLEFTARROW}
|
||||
STR_681A :{BLACK}{SMALLRIGHTARROW}
|
||||
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_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_9012_CAPACITY :{BLACK}קיבולת: {LTBLUE}{CARGO}{STRING}
|
||||
STR_9013_MUST_BE_STOPPED_INSIDE :{WHITE}...חייב לעצור בתוך מוסך לכלי רכב
|
||||
STR_9014_CAN_T_SELL_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_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_9817_CAPACITY :{BLACK}קיבולת: {LTBLUE}{CARGO}{STRING}
|
||||
STR_9818_CAN_T_STOP_START_SHIP :{WHITE}לא ניתן לעצור/להפעיל את כלי השייט
|
||||
STR_9819_CAN_T_SEND_SHIP_TO_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_A016_CAN_T_STOP_START_AIRCRAFT :{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_A01C_CAN_T_SELL_AIRCRAFT :{WHITE}לא ניתן למכור את כלי הטייס
|
||||
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_BROKEN_VEHICLE_LENGTH :{WHITE}Train '{VEHICLE}' belonging to '{COMPANY}' has invalid length. It is probably caused by problems with NewGRFs. Game may desync or crash.
|
||||
|
||||
|
||||
STR_LOADGAME_REMOVED_TRAMS :{WHITE}Game was saved in version without tram support. All trams have been removed.
|
||||
|
||||
STR_CURRENCY_WINDOW :{WHITE}מטבע מותאם אישית
|
||||
@@ -3209,7 +3226,6 @@ STR_REPLACE_HELP_REPLACE_INFO_TAB :{BLACK} מצי
|
||||
STR_REPLACE_REMOVE_WAGON :{ORANGE}{SKIP}{STRING}{BLACK} : הסרת קרונות
|
||||
STR_REPLACE_REMOVE_WAGON_HELP :{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_ROAD_VEHICLE_NOT_AVAILABLE :{WHITE}רכב לא זמין
|
||||
STR_SHIP_NOT_AVAILABLE :{WHITE}כלי שייט לא זמין
|
||||
@@ -3552,7 +3568,6 @@ STR_AI_VERSION :: גירסה
|
||||
########
|
||||
|
||||
############ 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_STATION_NOISE :{GOLD}{COMMA}{BLACK} :רמת הרעש
|
||||
########
|
||||
@@ -3578,6 +3593,7 @@ 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_TITLE :{BLACK}סינון תוית\שם:
|
||||
STR_CONTENT_DOWNLOAD_CAPTION :{BLACK} הורד
|
||||
STR_CONTENT_DOWNLOAD_CAPTION_TIP :{BLACK} החל בהורדת התכנים שנבחרו
|
||||
STR_CONTENT_TOTAL_DOWNLOAD_SIZE :{WHITE}{BYTES}{SILVER} :גודל ההורדה
|
||||
|
@@ -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_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_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_POPULATION :{BLACK}Lakosság
|
||||
@@ -819,7 +819,7 @@ STR_TOWNNAME_SWEDISH :Svéd
|
||||
STR_TOWNNAME_DUTCH :Holland
|
||||
STR_TOWNNAME_FINNISH :Finn
|
||||
STR_TOWNNAME_POLISH :Lengyel
|
||||
STR_TOWNNAME_SLOVAKISH :Szlovák
|
||||
STR_TOWNNAME_SLOVAK :Szlovák
|
||||
STR_TOWNNAME_NORWEGIAN :Norvég
|
||||
STR_TOWNNAME_HUNGARIAN :Magyar
|
||||
STR_TOWNNAME_AUSTRIAN :Osztrák
|
||||
@@ -852,7 +852,7 @@ STR_CURR_ITL :Olasz Líra (IT
|
||||
STR_CURR_NLG :Holland Guilder (NLG)
|
||||
STR_CURR_NOK :Norvég Korona (NOK)
|
||||
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_SIT :Szlovén Tolár (SIT)
|
||||
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_704C_KEY :{BLACK}Jelkulcs
|
||||
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_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
|
||||
@@ -2873,7 +2874,7 @@ STR_VEHICLE_INFO_COST_WEIGHT_SPEED_POWER :{BLACK}Ár: {CU
|
||||
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_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_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
|
||||
@@ -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_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_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_LOAN_TIP :{BLACK}Magas kölcsönöd van?
|
||||
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_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.
|
||||
|
||||
@@ -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_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_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_ROAD_VEHICLE_NOT_AVAILABLE :{WHITE}A jármű 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
Reference in New Issue
Block a user